Add Android.bp support
Bug: 171711491
Adds stub X11 support so we don't depend on X11.
Change-Id: I76c7502d73994600a806fa08ce57633b585e4359
Change-Id: Ic7af4201e6b5b97bd9dcd403689a0c277db95290
diff --git a/Android.bp b/Android.bp
index e69de29..2d6bc10 100644
--- a/Android.bp
+++ b/Android.bp
@@ -0,0 +1,34 @@
+cc_library_headers {
+ name: "gfxstream_headers",
+ host_supported: true,
+ export_include_dirs: [
+ ".",
+ "include",
+ "base",
+ "host-common",
+ "snapshot",
+ "stream-servers",
+ "stream-servers/vulkan",
+ "stream-servers/glestranslator/include",
+ "stream-servers/OpenGLESDispatch",
+ ]
+}
+
+cc_defaults {
+ name: "gfxstream_defaults",
+ cflags: ["-D_FILE_OFFSET_BITS=64",
+ "-U__ANDROID__",
+ "-UANDROID",
+ "-Wno-unreachable-code-loop-increment",
+ ],
+ header_libs: [
+ "gfxstream_headers",
+ ],
+ target: {
+ host: {
+ compile_multilib: "64",
+ },
+ },
+ device_supported: false,
+ host_supported: true,
+}
diff --git a/base/Android.bp b/base/Android.bp
new file mode 100644
index 0000000..6998a0b
--- /dev/null
+++ b/base/Android.bp
@@ -0,0 +1,32 @@
+cc_library_static {
+ name: "gfxstream_base",
+ defaults: ["gfxstream_defaults"],
+ srcs: [
+ "AlignedBuf.cpp",
+ "CompressingStream.cpp",
+ "CpuTime.cpp",
+ "DecompressingStream.cpp",
+ "FileUtils.cpp",
+ "FunctorThread.cpp",
+ "GLObjectCounter.cpp",
+ "LayoutResolver.cpp",
+ "MemStream.cpp",
+ "StdioStream.cpp",
+ "MemoryTracker.cpp",
+ "MessageChannel.cpp",
+ "PathUtils.cpp",
+ "ring_buffer.cpp",
+ "SharedLibrary.cpp",
+ "StringFormat.cpp",
+ "Stream.cpp",
+ "StreamSerializing.cpp",
+ "SubAllocator.cpp",
+ "System.cpp",
+ "Tracing.cpp",
+ "SharedMemory_posix.cpp",
+ "Thread_pthread.cpp",
+ ],
+ static_libs: [
+ "gfxstream_lz4",
+ ]
+}
diff --git a/base/System.cpp b/base/System.cpp
index 936e243..0e0ad7e 100644
--- a/base/System.cpp
+++ b/base/System.cpp
@@ -10,6 +10,7 @@
#include "msvc-posix.h"
#include "dirent.h"
#else
+#include <time.h>
#include <sys/time.h>
#include <sys/stat.h>
#include <sys/types.h>
diff --git a/base/Tracing.cpp b/base/Tracing.cpp
index fc9ac03..dc2c383 100644
--- a/base/Tracing.cpp
+++ b/base/Tracing.cpp
@@ -42,6 +42,7 @@
bool shouldEnableTracing() {
// return !(virtualdeviceperfetto::queryTraceConfig().tracingDisabled);
+ return false;
}
#ifdef __cplusplus
diff --git a/host-common/Android.bp b/host-common/Android.bp
new file mode 100644
index 0000000..2ddab7b
--- /dev/null
+++ b/host-common/Android.bp
@@ -0,0 +1,48 @@
+cc_library_static {
+ name: "gfxstream_host_common",
+ defaults: [ "gfxstream_defaults" ],
+ static_libs: [
+ "gfxstream_base",
+ ],
+ srcs: [
+ "crash_reporter.cpp",
+ "vm_operations.cpp",
+ "feature_control.cpp",
+ "dma_device.cpp",
+ "sync_device.cpp",
+ "misc.cpp",
+ "window_operations.cpp",
+
+ "AndroidPipe.cpp",
+ "HostmemIdMapping.cpp",
+ "RefcountPipe.cpp",
+ "AndroidAgentFactory.cpp",
+
+ "GoldfishSyncCommandQueue.cpp",
+ "goldfish_sync.cpp",
+
+ "DmaMap.cpp",
+ "GoldfishDma.cpp",
+
+ "address_space_device_control_ops.cpp",
+ "address_space_device.cpp",
+ "address_space_host_memory_allocator.cpp",
+ "address_space_shared_slots_host_memory_allocator.cpp",
+ "address_space_graphics.cpp",
+ "address_space_host_media.cpp",
+
+ "avd/info.cpp",
+ "avd/hw-config.cpp",
+
+ "opengles.cpp",
+ "opengl/EmuglBackendList.cpp",
+ "opengl/emugl_config.cpp",
+ "opengl/GLProcessPipe.cpp",
+ "opengl/GpuFrameBridge.cpp",
+ "opengl/gpuinfo.cpp",
+ "opengl/logger.cpp",
+ "opengl/OpenglEsPipe.cpp",
+
+ "opengl/NativeGpuInfo_linux.cpp",
+ ],
+}
diff --git a/host-common/address_space_host_memory_allocator.cpp b/host-common/address_space_host_memory_allocator.cpp
index 6af9d10..00c6eac 100644
--- a/host-common/address_space_host_memory_allocator.cpp
+++ b/host-common/address_space_host_memory_allocator.cpp
@@ -102,6 +102,7 @@
} else {
return -1;
}
+ return 0;
}
AddressSpaceDeviceType AddressSpaceHostMemoryAllocatorContext::getDeviceType() const {
diff --git a/snapshot/Android.bp b/snapshot/Android.bp
new file mode 100644
index 0000000..10f8a56
--- /dev/null
+++ b/snapshot/Android.bp
@@ -0,0 +1,12 @@
+cc_library_static {
+ name: "gfxstream_snapshot",
+ defaults: [ "gfxstream_defaults" ],
+ srcs: [
+ "TextureLoader.cpp",
+ "TextureSaver.cpp",
+ ],
+ static_libs: [
+ "gfxstream_base",
+ ],
+ export_include_dirs: [ "." ],
+}
diff --git a/stream-clients/vulkan/func_table.cpp b/stream-clients/vulkan/func_table.cpp
deleted file mode 100644
index d70de3a..0000000
--- a/stream-clients/vulkan/func_table.cpp
+++ /dev/null
@@ -1,10088 +0,0 @@
-// 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 func_table
-// (impl) generated by protocols/vulkan/xml/genvk.py -registry protocols/vulkan/xml/vk.xml cereal -o stream-servers/vulkan/cereal
-// Please do not modify directly;
-// re-run generate-vulkan-sources.sh,
-// or directly from Python by defining:
-// VULKAN_REGISTRY_XML_DIR : Directory containing genvk.py and vk.xml
-// CEREAL_OUTPUT_DIR: Where to put the generated sources.
-// python3 $VULKAN_REGISTRY_XML_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o $CEREAL_OUTPUT_DIR
-
-#include "func_table.h"
-
-
-#include "VkEncoder.h"
-#include "HostConnection.h"
-#include "ResourceTracker.h"
-
-#include "goldfish_vk_private_defs.h"
-
-#include <log/log.h>
-
-// Stuff we are not going to use but if included,
-// will cause compile errors. These are Android Vulkan
-// required extensions, but the approach will be to
-// implement them completely on the guest side.
-#undef VK_KHR_android_surface
-
-
-namespace goldfish_vk {
-
-static void sOnInvalidDynamicallyCheckedCall(const char* apiname, const char* neededFeature)
-{
- ALOGE("invalid call to %s: %s not supported", apiname, neededFeature);
- abort();
-}
-#ifdef VK_VERSION_1_0
-static VkResult entry_vkCreateInstance(
- const VkInstanceCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkInstance* pInstance)
-{
- AEMU_SCOPED_TRACE("vkCreateInstance");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateInstance_VkResult_return = (VkResult)0;
- vkCreateInstance_VkResult_return = vkEnc->vkCreateInstance(pCreateInfo, pAllocator, pInstance);
- return vkCreateInstance_VkResult_return;
-}
-static void entry_vkDestroyInstance(
- VkInstance instance,
- const VkAllocationCallbacks* pAllocator)
-{
- AEMU_SCOPED_TRACE("vkDestroyInstance");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkDestroyInstance(instance, pAllocator);
-}
-static VkResult entry_vkEnumeratePhysicalDevices(
- VkInstance instance,
- uint32_t* pPhysicalDeviceCount,
- VkPhysicalDevice* pPhysicalDevices)
-{
- AEMU_SCOPED_TRACE("vkEnumeratePhysicalDevices");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkEnumeratePhysicalDevices_VkResult_return = (VkResult)0;
- auto resources = ResourceTracker::get();
- vkEnumeratePhysicalDevices_VkResult_return = resources->on_vkEnumeratePhysicalDevices(vkEnc, VK_SUCCESS, instance, pPhysicalDeviceCount, pPhysicalDevices);
- return vkEnumeratePhysicalDevices_VkResult_return;
-}
-static void entry_vkGetPhysicalDeviceFeatures(
- VkPhysicalDevice physicalDevice,
- VkPhysicalDeviceFeatures* pFeatures)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceFeatures");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetPhysicalDeviceFeatures(physicalDevice, pFeatures);
-}
-static void entry_vkGetPhysicalDeviceFormatProperties(
- VkPhysicalDevice physicalDevice,
- VkFormat format,
- VkFormatProperties* pFormatProperties)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceFormatProperties");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetPhysicalDeviceFormatProperties(physicalDevice, format, pFormatProperties);
-}
-static VkResult entry_vkGetPhysicalDeviceImageFormatProperties(
- VkPhysicalDevice physicalDevice,
- VkFormat format,
- VkImageType type,
- VkImageTiling tiling,
- VkImageUsageFlags usage,
- VkImageCreateFlags flags,
- VkImageFormatProperties* pImageFormatProperties)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceImageFormatProperties");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetPhysicalDeviceImageFormatProperties_VkResult_return = (VkResult)0;
- vkGetPhysicalDeviceImageFormatProperties_VkResult_return = vkEnc->vkGetPhysicalDeviceImageFormatProperties(physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties);
- return vkGetPhysicalDeviceImageFormatProperties_VkResult_return;
-}
-static void entry_vkGetPhysicalDeviceProperties(
- VkPhysicalDevice physicalDevice,
- VkPhysicalDeviceProperties* pProperties)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceProperties");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetPhysicalDeviceProperties(physicalDevice, pProperties);
-}
-static void entry_vkGetPhysicalDeviceQueueFamilyProperties(
- VkPhysicalDevice physicalDevice,
- uint32_t* pQueueFamilyPropertyCount,
- VkQueueFamilyProperties* pQueueFamilyProperties)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceQueueFamilyProperties");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetPhysicalDeviceQueueFamilyProperties(physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties);
-}
-static void entry_vkGetPhysicalDeviceMemoryProperties(
- VkPhysicalDevice physicalDevice,
- VkPhysicalDeviceMemoryProperties* pMemoryProperties)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceMemoryProperties");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetPhysicalDeviceMemoryProperties(physicalDevice, pMemoryProperties);
-}
-static PFN_vkVoidFunction entry_vkGetInstanceProcAddr(
- VkInstance instance,
- const char* pName)
-{
- AEMU_SCOPED_TRACE("vkGetInstanceProcAddr");
- auto vkEnc = HostConnection::get()->vkEncoder();
- PFN_vkVoidFunction vkGetInstanceProcAddr_PFN_vkVoidFunction_return = (PFN_vkVoidFunction)0;
- vkGetInstanceProcAddr_PFN_vkVoidFunction_return = vkEnc->vkGetInstanceProcAddr(instance, pName);
- return vkGetInstanceProcAddr_PFN_vkVoidFunction_return;
-}
-static PFN_vkVoidFunction entry_vkGetDeviceProcAddr(
- VkDevice device,
- const char* pName)
-{
- AEMU_SCOPED_TRACE("vkGetDeviceProcAddr");
- auto vkEnc = HostConnection::get()->vkEncoder();
- PFN_vkVoidFunction vkGetDeviceProcAddr_PFN_vkVoidFunction_return = (PFN_vkVoidFunction)0;
- vkGetDeviceProcAddr_PFN_vkVoidFunction_return = vkEnc->vkGetDeviceProcAddr(device, pName);
- return vkGetDeviceProcAddr_PFN_vkVoidFunction_return;
-}
-static VkResult entry_vkCreateDevice(
- VkPhysicalDevice physicalDevice,
- const VkDeviceCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkDevice* pDevice)
-{
- AEMU_SCOPED_TRACE("vkCreateDevice");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateDevice_VkResult_return = (VkResult)0;
- vkCreateDevice_VkResult_return = vkEnc->vkCreateDevice(physicalDevice, pCreateInfo, pAllocator, pDevice);
- return vkCreateDevice_VkResult_return;
-}
-static void entry_vkDestroyDevice(
- VkDevice device,
- const VkAllocationCallbacks* pAllocator)
-{
- AEMU_SCOPED_TRACE("vkDestroyDevice");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkDestroyDevice(device, pAllocator);
-}
-static VkResult entry_vkEnumerateInstanceExtensionProperties(
- const char* pLayerName,
- uint32_t* pPropertyCount,
- VkExtensionProperties* pProperties)
-{
- AEMU_SCOPED_TRACE("vkEnumerateInstanceExtensionProperties");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkEnumerateInstanceExtensionProperties_VkResult_return = (VkResult)0;
- auto resources = ResourceTracker::get();
- vkEnumerateInstanceExtensionProperties_VkResult_return = resources->on_vkEnumerateInstanceExtensionProperties(vkEnc, VK_SUCCESS, pLayerName, pPropertyCount, pProperties);
- return vkEnumerateInstanceExtensionProperties_VkResult_return;
-}
-static VkResult entry_vkEnumerateDeviceExtensionProperties(
- VkPhysicalDevice physicalDevice,
- const char* pLayerName,
- uint32_t* pPropertyCount,
- VkExtensionProperties* pProperties)
-{
- AEMU_SCOPED_TRACE("vkEnumerateDeviceExtensionProperties");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkEnumerateDeviceExtensionProperties_VkResult_return = (VkResult)0;
- auto resources = ResourceTracker::get();
- vkEnumerateDeviceExtensionProperties_VkResult_return = resources->on_vkEnumerateDeviceExtensionProperties(vkEnc, VK_SUCCESS, physicalDevice, pLayerName, pPropertyCount, pProperties);
- return vkEnumerateDeviceExtensionProperties_VkResult_return;
-}
-static VkResult entry_vkEnumerateInstanceLayerProperties(
- uint32_t* pPropertyCount,
- VkLayerProperties* pProperties)
-{
- AEMU_SCOPED_TRACE("vkEnumerateInstanceLayerProperties");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkEnumerateInstanceLayerProperties_VkResult_return = (VkResult)0;
- vkEnumerateInstanceLayerProperties_VkResult_return = vkEnc->vkEnumerateInstanceLayerProperties(pPropertyCount, pProperties);
- return vkEnumerateInstanceLayerProperties_VkResult_return;
-}
-static VkResult entry_vkEnumerateDeviceLayerProperties(
- VkPhysicalDevice physicalDevice,
- uint32_t* pPropertyCount,
- VkLayerProperties* pProperties)
-{
- AEMU_SCOPED_TRACE("vkEnumerateDeviceLayerProperties");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkEnumerateDeviceLayerProperties_VkResult_return = (VkResult)0;
- vkEnumerateDeviceLayerProperties_VkResult_return = vkEnc->vkEnumerateDeviceLayerProperties(physicalDevice, pPropertyCount, pProperties);
- return vkEnumerateDeviceLayerProperties_VkResult_return;
-}
-static void entry_vkGetDeviceQueue(
- VkDevice device,
- uint32_t queueFamilyIndex,
- uint32_t queueIndex,
- VkQueue* pQueue)
-{
- AEMU_SCOPED_TRACE("vkGetDeviceQueue");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetDeviceQueue(device, queueFamilyIndex, queueIndex, pQueue);
-}
-static VkResult entry_vkQueueSubmit(
- VkQueue queue,
- uint32_t submitCount,
- const VkSubmitInfo* pSubmits,
- VkFence fence)
-{
- AEMU_SCOPED_TRACE("vkQueueSubmit");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForQueue(queue, vkEnc);
- VkResult vkQueueSubmit_VkResult_return = (VkResult)0;
- auto resources = ResourceTracker::get();
- vkQueueSubmit_VkResult_return = resources->on_vkQueueSubmit(vkEnc, VK_SUCCESS, queue, submitCount, pSubmits, fence);
- return vkQueueSubmit_VkResult_return;
-}
-static VkResult entry_vkQueueWaitIdle(
- VkQueue queue)
-{
- AEMU_SCOPED_TRACE("vkQueueWaitIdle");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForQueue(queue, vkEnc);
- VkResult vkQueueWaitIdle_VkResult_return = (VkResult)0;
- auto resources = ResourceTracker::get();
- vkQueueWaitIdle_VkResult_return = resources->on_vkQueueWaitIdle(vkEnc, VK_SUCCESS, queue);
- return vkQueueWaitIdle_VkResult_return;
-}
-static VkResult entry_vkDeviceWaitIdle(
- VkDevice device)
-{
- AEMU_SCOPED_TRACE("vkDeviceWaitIdle");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkDeviceWaitIdle_VkResult_return = (VkResult)0;
- vkDeviceWaitIdle_VkResult_return = vkEnc->vkDeviceWaitIdle(device);
- return vkDeviceWaitIdle_VkResult_return;
-}
-static VkResult entry_vkAllocateMemory(
- VkDevice device,
- const VkMemoryAllocateInfo* pAllocateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkDeviceMemory* pMemory)
-{
- AEMU_SCOPED_TRACE("vkAllocateMemory");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkAllocateMemory_VkResult_return = (VkResult)0;
- auto resources = ResourceTracker::get();
- vkAllocateMemory_VkResult_return = resources->on_vkAllocateMemory(vkEnc, VK_SUCCESS, device, pAllocateInfo, pAllocator, pMemory);
- return vkAllocateMemory_VkResult_return;
-}
-static void entry_vkFreeMemory(
- VkDevice device,
- VkDeviceMemory memory,
- const VkAllocationCallbacks* pAllocator)
-{
- AEMU_SCOPED_TRACE("vkFreeMemory");
- auto vkEnc = HostConnection::get()->vkEncoder();
- auto resources = ResourceTracker::get();
- resources->on_vkFreeMemory(vkEnc, device, memory, pAllocator);
-}
-static VkResult entry_vkMapMemory(
- VkDevice device,
- VkDeviceMemory memory,
- VkDeviceSize offset,
- VkDeviceSize size,
- VkMemoryMapFlags flags,
- void** ppData)
-{
- AEMU_SCOPED_TRACE("vkMapMemory");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkMapMemory_VkResult_return = (VkResult)0;
- vkMapMemory_VkResult_return = vkEnc->vkMapMemory(device, memory, offset, size, flags, ppData);
- return vkMapMemory_VkResult_return;
-}
-static void entry_vkUnmapMemory(
- VkDevice device,
- VkDeviceMemory memory)
-{
- AEMU_SCOPED_TRACE("vkUnmapMemory");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkUnmapMemory(device, memory);
-}
-static VkResult entry_vkFlushMappedMemoryRanges(
- VkDevice device,
- uint32_t memoryRangeCount,
- const VkMappedMemoryRange* pMemoryRanges)
-{
- AEMU_SCOPED_TRACE("vkFlushMappedMemoryRanges");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkFlushMappedMemoryRanges_VkResult_return = (VkResult)0;
- vkFlushMappedMemoryRanges_VkResult_return = vkEnc->vkFlushMappedMemoryRanges(device, memoryRangeCount, pMemoryRanges);
- return vkFlushMappedMemoryRanges_VkResult_return;
-}
-static VkResult entry_vkInvalidateMappedMemoryRanges(
- VkDevice device,
- uint32_t memoryRangeCount,
- const VkMappedMemoryRange* pMemoryRanges)
-{
- AEMU_SCOPED_TRACE("vkInvalidateMappedMemoryRanges");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkInvalidateMappedMemoryRanges_VkResult_return = (VkResult)0;
- vkInvalidateMappedMemoryRanges_VkResult_return = vkEnc->vkInvalidateMappedMemoryRanges(device, memoryRangeCount, pMemoryRanges);
- return vkInvalidateMappedMemoryRanges_VkResult_return;
-}
-static void entry_vkGetDeviceMemoryCommitment(
- VkDevice device,
- VkDeviceMemory memory,
- VkDeviceSize* pCommittedMemoryInBytes)
-{
- AEMU_SCOPED_TRACE("vkGetDeviceMemoryCommitment");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetDeviceMemoryCommitment(device, memory, pCommittedMemoryInBytes);
-}
-static VkResult entry_vkBindBufferMemory(
- VkDevice device,
- VkBuffer buffer,
- VkDeviceMemory memory,
- VkDeviceSize memoryOffset)
-{
- AEMU_SCOPED_TRACE("vkBindBufferMemory");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkBindBufferMemory_VkResult_return = (VkResult)0;
- auto resources = ResourceTracker::get();
- vkBindBufferMemory_VkResult_return = resources->on_vkBindBufferMemory(vkEnc, VK_SUCCESS, device, buffer, memory, memoryOffset);
- return vkBindBufferMemory_VkResult_return;
-}
-static VkResult entry_vkBindImageMemory(
- VkDevice device,
- VkImage image,
- VkDeviceMemory memory,
- VkDeviceSize memoryOffset)
-{
- AEMU_SCOPED_TRACE("vkBindImageMemory");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkBindImageMemory_VkResult_return = (VkResult)0;
- auto resources = ResourceTracker::get();
- vkBindImageMemory_VkResult_return = resources->on_vkBindImageMemory(vkEnc, VK_SUCCESS, device, image, memory, memoryOffset);
- return vkBindImageMemory_VkResult_return;
-}
-static void entry_vkGetBufferMemoryRequirements(
- VkDevice device,
- VkBuffer buffer,
- VkMemoryRequirements* pMemoryRequirements)
-{
- AEMU_SCOPED_TRACE("vkGetBufferMemoryRequirements");
- auto vkEnc = HostConnection::get()->vkEncoder();
- auto resources = ResourceTracker::get();
- resources->on_vkGetBufferMemoryRequirements(vkEnc, device, buffer, pMemoryRequirements);
-}
-static void entry_vkGetImageMemoryRequirements(
- VkDevice device,
- VkImage image,
- VkMemoryRequirements* pMemoryRequirements)
-{
- AEMU_SCOPED_TRACE("vkGetImageMemoryRequirements");
- auto vkEnc = HostConnection::get()->vkEncoder();
- auto resources = ResourceTracker::get();
- resources->on_vkGetImageMemoryRequirements(vkEnc, device, image, pMemoryRequirements);
-}
-static void entry_vkGetImageSparseMemoryRequirements(
- VkDevice device,
- VkImage image,
- uint32_t* pSparseMemoryRequirementCount,
- VkSparseImageMemoryRequirements* pSparseMemoryRequirements)
-{
- AEMU_SCOPED_TRACE("vkGetImageSparseMemoryRequirements");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetImageSparseMemoryRequirements(device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
-}
-static void entry_vkGetPhysicalDeviceSparseImageFormatProperties(
- VkPhysicalDevice physicalDevice,
- VkFormat format,
- VkImageType type,
- VkSampleCountFlagBits samples,
- VkImageUsageFlags usage,
- VkImageTiling tiling,
- uint32_t* pPropertyCount,
- VkSparseImageFormatProperties* pProperties)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceSparseImageFormatProperties");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetPhysicalDeviceSparseImageFormatProperties(physicalDevice, format, type, samples, usage, tiling, pPropertyCount, pProperties);
-}
-static VkResult entry_vkQueueBindSparse(
- VkQueue queue,
- uint32_t bindInfoCount,
- const VkBindSparseInfo* pBindInfo,
- VkFence fence)
-{
- AEMU_SCOPED_TRACE("vkQueueBindSparse");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForQueue(queue, vkEnc);
- VkResult vkQueueBindSparse_VkResult_return = (VkResult)0;
- vkQueueBindSparse_VkResult_return = vkEnc->vkQueueBindSparse(queue, bindInfoCount, pBindInfo, fence);
- return vkQueueBindSparse_VkResult_return;
-}
-static VkResult entry_vkCreateFence(
- VkDevice device,
- const VkFenceCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkFence* pFence)
-{
- AEMU_SCOPED_TRACE("vkCreateFence");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateFence_VkResult_return = (VkResult)0;
- auto resources = ResourceTracker::get();
- vkCreateFence_VkResult_return = resources->on_vkCreateFence(vkEnc, VK_SUCCESS, device, pCreateInfo, pAllocator, pFence);
- return vkCreateFence_VkResult_return;
-}
-static void entry_vkDestroyFence(
- VkDevice device,
- VkFence fence,
- const VkAllocationCallbacks* pAllocator)
-{
- AEMU_SCOPED_TRACE("vkDestroyFence");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkDestroyFence(device, fence, pAllocator);
-}
-static VkResult entry_vkResetFences(
- VkDevice device,
- uint32_t fenceCount,
- const VkFence* pFences)
-{
- AEMU_SCOPED_TRACE("vkResetFences");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkResetFences_VkResult_return = (VkResult)0;
- auto resources = ResourceTracker::get();
- vkResetFences_VkResult_return = resources->on_vkResetFences(vkEnc, VK_SUCCESS, device, fenceCount, pFences);
- return vkResetFences_VkResult_return;
-}
-static VkResult entry_vkGetFenceStatus(
- VkDevice device,
- VkFence fence)
-{
- AEMU_SCOPED_TRACE("vkGetFenceStatus");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetFenceStatus_VkResult_return = (VkResult)0;
- vkGetFenceStatus_VkResult_return = vkEnc->vkGetFenceStatus(device, fence);
- return vkGetFenceStatus_VkResult_return;
-}
-static VkResult entry_vkWaitForFences(
- VkDevice device,
- uint32_t fenceCount,
- const VkFence* pFences,
- VkBool32 waitAll,
- uint64_t timeout)
-{
- AEMU_SCOPED_TRACE("vkWaitForFences");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkWaitForFences_VkResult_return = (VkResult)0;
- auto resources = ResourceTracker::get();
- vkWaitForFences_VkResult_return = resources->on_vkWaitForFences(vkEnc, VK_SUCCESS, device, fenceCount, pFences, waitAll, timeout);
- return vkWaitForFences_VkResult_return;
-}
-static VkResult entry_vkCreateSemaphore(
- VkDevice device,
- const VkSemaphoreCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSemaphore* pSemaphore)
-{
- AEMU_SCOPED_TRACE("vkCreateSemaphore");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateSemaphore_VkResult_return = (VkResult)0;
- auto resources = ResourceTracker::get();
- vkCreateSemaphore_VkResult_return = resources->on_vkCreateSemaphore(vkEnc, VK_SUCCESS, device, pCreateInfo, pAllocator, pSemaphore);
- return vkCreateSemaphore_VkResult_return;
-}
-static void entry_vkDestroySemaphore(
- VkDevice device,
- VkSemaphore semaphore,
- const VkAllocationCallbacks* pAllocator)
-{
- AEMU_SCOPED_TRACE("vkDestroySemaphore");
- auto vkEnc = HostConnection::get()->vkEncoder();
- auto resources = ResourceTracker::get();
- resources->on_vkDestroySemaphore(vkEnc, device, semaphore, pAllocator);
-}
-static VkResult entry_vkCreateEvent(
- VkDevice device,
- const VkEventCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkEvent* pEvent)
-{
- AEMU_SCOPED_TRACE("vkCreateEvent");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateEvent_VkResult_return = (VkResult)0;
- vkCreateEvent_VkResult_return = vkEnc->vkCreateEvent(device, pCreateInfo, pAllocator, pEvent);
- return vkCreateEvent_VkResult_return;
-}
-static void entry_vkDestroyEvent(
- VkDevice device,
- VkEvent event,
- const VkAllocationCallbacks* pAllocator)
-{
- AEMU_SCOPED_TRACE("vkDestroyEvent");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkDestroyEvent(device, event, pAllocator);
-}
-static VkResult entry_vkGetEventStatus(
- VkDevice device,
- VkEvent event)
-{
- AEMU_SCOPED_TRACE("vkGetEventStatus");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetEventStatus_VkResult_return = (VkResult)0;
- vkGetEventStatus_VkResult_return = vkEnc->vkGetEventStatus(device, event);
- return vkGetEventStatus_VkResult_return;
-}
-static VkResult entry_vkSetEvent(
- VkDevice device,
- VkEvent event)
-{
- AEMU_SCOPED_TRACE("vkSetEvent");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkSetEvent_VkResult_return = (VkResult)0;
- vkSetEvent_VkResult_return = vkEnc->vkSetEvent(device, event);
- return vkSetEvent_VkResult_return;
-}
-static VkResult entry_vkResetEvent(
- VkDevice device,
- VkEvent event)
-{
- AEMU_SCOPED_TRACE("vkResetEvent");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkResetEvent_VkResult_return = (VkResult)0;
- vkResetEvent_VkResult_return = vkEnc->vkResetEvent(device, event);
- return vkResetEvent_VkResult_return;
-}
-static VkResult entry_vkCreateQueryPool(
- VkDevice device,
- const VkQueryPoolCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkQueryPool* pQueryPool)
-{
- AEMU_SCOPED_TRACE("vkCreateQueryPool");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateQueryPool_VkResult_return = (VkResult)0;
- vkCreateQueryPool_VkResult_return = vkEnc->vkCreateQueryPool(device, pCreateInfo, pAllocator, pQueryPool);
- return vkCreateQueryPool_VkResult_return;
-}
-static void entry_vkDestroyQueryPool(
- VkDevice device,
- VkQueryPool queryPool,
- const VkAllocationCallbacks* pAllocator)
-{
- AEMU_SCOPED_TRACE("vkDestroyQueryPool");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkDestroyQueryPool(device, queryPool, pAllocator);
-}
-static VkResult entry_vkGetQueryPoolResults(
- VkDevice device,
- VkQueryPool queryPool,
- uint32_t firstQuery,
- uint32_t queryCount,
- size_t dataSize,
- void* pData,
- VkDeviceSize stride,
- VkQueryResultFlags flags)
-{
- AEMU_SCOPED_TRACE("vkGetQueryPoolResults");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetQueryPoolResults_VkResult_return = (VkResult)0;
- vkGetQueryPoolResults_VkResult_return = vkEnc->vkGetQueryPoolResults(device, queryPool, firstQuery, queryCount, dataSize, pData, stride, flags);
- return vkGetQueryPoolResults_VkResult_return;
-}
-static VkResult entry_vkCreateBuffer(
- VkDevice device,
- const VkBufferCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkBuffer* pBuffer)
-{
- AEMU_SCOPED_TRACE("vkCreateBuffer");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateBuffer_VkResult_return = (VkResult)0;
- auto resources = ResourceTracker::get();
- vkCreateBuffer_VkResult_return = resources->on_vkCreateBuffer(vkEnc, VK_SUCCESS, device, pCreateInfo, pAllocator, pBuffer);
- return vkCreateBuffer_VkResult_return;
-}
-static void entry_vkDestroyBuffer(
- VkDevice device,
- VkBuffer buffer,
- const VkAllocationCallbacks* pAllocator)
-{
- AEMU_SCOPED_TRACE("vkDestroyBuffer");
- auto vkEnc = HostConnection::get()->vkEncoder();
- auto resources = ResourceTracker::get();
- resources->on_vkDestroyBuffer(vkEnc, device, buffer, pAllocator);
-}
-static VkResult entry_vkCreateBufferView(
- VkDevice device,
- const VkBufferViewCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkBufferView* pView)
-{
- AEMU_SCOPED_TRACE("vkCreateBufferView");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateBufferView_VkResult_return = (VkResult)0;
- vkCreateBufferView_VkResult_return = vkEnc->vkCreateBufferView(device, pCreateInfo, pAllocator, pView);
- return vkCreateBufferView_VkResult_return;
-}
-static void entry_vkDestroyBufferView(
- VkDevice device,
- VkBufferView bufferView,
- const VkAllocationCallbacks* pAllocator)
-{
- AEMU_SCOPED_TRACE("vkDestroyBufferView");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkDestroyBufferView(device, bufferView, pAllocator);
-}
-static VkResult entry_vkCreateImage(
- VkDevice device,
- const VkImageCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkImage* pImage)
-{
- AEMU_SCOPED_TRACE("vkCreateImage");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateImage_VkResult_return = (VkResult)0;
- auto resources = ResourceTracker::get();
- vkCreateImage_VkResult_return = resources->on_vkCreateImage(vkEnc, VK_SUCCESS, device, pCreateInfo, pAllocator, pImage);
- return vkCreateImage_VkResult_return;
-}
-static void entry_vkDestroyImage(
- VkDevice device,
- VkImage image,
- const VkAllocationCallbacks* pAllocator)
-{
- AEMU_SCOPED_TRACE("vkDestroyImage");
- auto vkEnc = HostConnection::get()->vkEncoder();
- auto resources = ResourceTracker::get();
- resources->on_vkDestroyImage(vkEnc, device, image, pAllocator);
-}
-static void entry_vkGetImageSubresourceLayout(
- VkDevice device,
- VkImage image,
- const VkImageSubresource* pSubresource,
- VkSubresourceLayout* pLayout)
-{
- AEMU_SCOPED_TRACE("vkGetImageSubresourceLayout");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetImageSubresourceLayout(device, image, pSubresource, pLayout);
-}
-static VkResult entry_vkCreateImageView(
- VkDevice device,
- const VkImageViewCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkImageView* pView)
-{
- AEMU_SCOPED_TRACE("vkCreateImageView");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateImageView_VkResult_return = (VkResult)0;
- auto resources = ResourceTracker::get();
- vkCreateImageView_VkResult_return = resources->on_vkCreateImageView(vkEnc, VK_SUCCESS, device, pCreateInfo, pAllocator, pView);
- return vkCreateImageView_VkResult_return;
-}
-static void entry_vkDestroyImageView(
- VkDevice device,
- VkImageView imageView,
- const VkAllocationCallbacks* pAllocator)
-{
- AEMU_SCOPED_TRACE("vkDestroyImageView");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkDestroyImageView(device, imageView, pAllocator);
-}
-static VkResult entry_vkCreateShaderModule(
- VkDevice device,
- const VkShaderModuleCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkShaderModule* pShaderModule)
-{
- AEMU_SCOPED_TRACE("vkCreateShaderModule");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateShaderModule_VkResult_return = (VkResult)0;
- vkCreateShaderModule_VkResult_return = vkEnc->vkCreateShaderModule(device, pCreateInfo, pAllocator, pShaderModule);
- return vkCreateShaderModule_VkResult_return;
-}
-static void entry_vkDestroyShaderModule(
- VkDevice device,
- VkShaderModule shaderModule,
- const VkAllocationCallbacks* pAllocator)
-{
- AEMU_SCOPED_TRACE("vkDestroyShaderModule");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkDestroyShaderModule(device, shaderModule, pAllocator);
-}
-static VkResult entry_vkCreatePipelineCache(
- VkDevice device,
- const VkPipelineCacheCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkPipelineCache* pPipelineCache)
-{
- AEMU_SCOPED_TRACE("vkCreatePipelineCache");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreatePipelineCache_VkResult_return = (VkResult)0;
- vkCreatePipelineCache_VkResult_return = vkEnc->vkCreatePipelineCache(device, pCreateInfo, pAllocator, pPipelineCache);
- return vkCreatePipelineCache_VkResult_return;
-}
-static void entry_vkDestroyPipelineCache(
- VkDevice device,
- VkPipelineCache pipelineCache,
- const VkAllocationCallbacks* pAllocator)
-{
- AEMU_SCOPED_TRACE("vkDestroyPipelineCache");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkDestroyPipelineCache(device, pipelineCache, pAllocator);
-}
-static VkResult entry_vkGetPipelineCacheData(
- VkDevice device,
- VkPipelineCache pipelineCache,
- size_t* pDataSize,
- void* pData)
-{
- AEMU_SCOPED_TRACE("vkGetPipelineCacheData");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetPipelineCacheData_VkResult_return = (VkResult)0;
- vkGetPipelineCacheData_VkResult_return = vkEnc->vkGetPipelineCacheData(device, pipelineCache, pDataSize, pData);
- return vkGetPipelineCacheData_VkResult_return;
-}
-static VkResult entry_vkMergePipelineCaches(
- VkDevice device,
- VkPipelineCache dstCache,
- uint32_t srcCacheCount,
- const VkPipelineCache* pSrcCaches)
-{
- AEMU_SCOPED_TRACE("vkMergePipelineCaches");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkMergePipelineCaches_VkResult_return = (VkResult)0;
- vkMergePipelineCaches_VkResult_return = vkEnc->vkMergePipelineCaches(device, dstCache, srcCacheCount, pSrcCaches);
- return vkMergePipelineCaches_VkResult_return;
-}
-static VkResult entry_vkCreateGraphicsPipelines(
- VkDevice device,
- VkPipelineCache pipelineCache,
- uint32_t createInfoCount,
- const VkGraphicsPipelineCreateInfo* pCreateInfos,
- const VkAllocationCallbacks* pAllocator,
- VkPipeline* pPipelines)
-{
- AEMU_SCOPED_TRACE("vkCreateGraphicsPipelines");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateGraphicsPipelines_VkResult_return = (VkResult)0;
- vkCreateGraphicsPipelines_VkResult_return = vkEnc->vkCreateGraphicsPipelines(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines);
- return vkCreateGraphicsPipelines_VkResult_return;
-}
-static VkResult entry_vkCreateComputePipelines(
- VkDevice device,
- VkPipelineCache pipelineCache,
- uint32_t createInfoCount,
- const VkComputePipelineCreateInfo* pCreateInfos,
- const VkAllocationCallbacks* pAllocator,
- VkPipeline* pPipelines)
-{
- AEMU_SCOPED_TRACE("vkCreateComputePipelines");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateComputePipelines_VkResult_return = (VkResult)0;
- vkCreateComputePipelines_VkResult_return = vkEnc->vkCreateComputePipelines(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines);
- return vkCreateComputePipelines_VkResult_return;
-}
-static void entry_vkDestroyPipeline(
- VkDevice device,
- VkPipeline pipeline,
- const VkAllocationCallbacks* pAllocator)
-{
- AEMU_SCOPED_TRACE("vkDestroyPipeline");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkDestroyPipeline(device, pipeline, pAllocator);
-}
-static VkResult entry_vkCreatePipelineLayout(
- VkDevice device,
- const VkPipelineLayoutCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkPipelineLayout* pPipelineLayout)
-{
- AEMU_SCOPED_TRACE("vkCreatePipelineLayout");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreatePipelineLayout_VkResult_return = (VkResult)0;
- vkCreatePipelineLayout_VkResult_return = vkEnc->vkCreatePipelineLayout(device, pCreateInfo, pAllocator, pPipelineLayout);
- return vkCreatePipelineLayout_VkResult_return;
-}
-static void entry_vkDestroyPipelineLayout(
- VkDevice device,
- VkPipelineLayout pipelineLayout,
- const VkAllocationCallbacks* pAllocator)
-{
- AEMU_SCOPED_TRACE("vkDestroyPipelineLayout");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkDestroyPipelineLayout(device, pipelineLayout, pAllocator);
-}
-static VkResult entry_vkCreateSampler(
- VkDevice device,
- const VkSamplerCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSampler* pSampler)
-{
- AEMU_SCOPED_TRACE("vkCreateSampler");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateSampler_VkResult_return = (VkResult)0;
- auto resources = ResourceTracker::get();
- vkCreateSampler_VkResult_return = resources->on_vkCreateSampler(vkEnc, VK_SUCCESS, device, pCreateInfo, pAllocator, pSampler);
- return vkCreateSampler_VkResult_return;
-}
-static void entry_vkDestroySampler(
- VkDevice device,
- VkSampler sampler,
- const VkAllocationCallbacks* pAllocator)
-{
- AEMU_SCOPED_TRACE("vkDestroySampler");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkDestroySampler(device, sampler, pAllocator);
-}
-static VkResult entry_vkCreateDescriptorSetLayout(
- VkDevice device,
- const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkDescriptorSetLayout* pSetLayout)
-{
- AEMU_SCOPED_TRACE("vkCreateDescriptorSetLayout");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateDescriptorSetLayout_VkResult_return = (VkResult)0;
- auto resources = ResourceTracker::get();
- vkCreateDescriptorSetLayout_VkResult_return = resources->on_vkCreateDescriptorSetLayout(vkEnc, VK_SUCCESS, device, pCreateInfo, pAllocator, pSetLayout);
- return vkCreateDescriptorSetLayout_VkResult_return;
-}
-static void entry_vkDestroyDescriptorSetLayout(
- VkDevice device,
- VkDescriptorSetLayout descriptorSetLayout,
- const VkAllocationCallbacks* pAllocator)
-{
- AEMU_SCOPED_TRACE("vkDestroyDescriptorSetLayout");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkDestroyDescriptorSetLayout(device, descriptorSetLayout, pAllocator);
-}
-static VkResult entry_vkCreateDescriptorPool(
- VkDevice device,
- const VkDescriptorPoolCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkDescriptorPool* pDescriptorPool)
-{
- AEMU_SCOPED_TRACE("vkCreateDescriptorPool");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateDescriptorPool_VkResult_return = (VkResult)0;
- auto resources = ResourceTracker::get();
- vkCreateDescriptorPool_VkResult_return = resources->on_vkCreateDescriptorPool(vkEnc, VK_SUCCESS, device, pCreateInfo, pAllocator, pDescriptorPool);
- return vkCreateDescriptorPool_VkResult_return;
-}
-static void entry_vkDestroyDescriptorPool(
- VkDevice device,
- VkDescriptorPool descriptorPool,
- const VkAllocationCallbacks* pAllocator)
-{
- AEMU_SCOPED_TRACE("vkDestroyDescriptorPool");
- auto vkEnc = HostConnection::get()->vkEncoder();
- auto resources = ResourceTracker::get();
- resources->on_vkDestroyDescriptorPool(vkEnc, device, descriptorPool, pAllocator);
-}
-static VkResult entry_vkResetDescriptorPool(
- VkDevice device,
- VkDescriptorPool descriptorPool,
- VkDescriptorPoolResetFlags flags)
-{
- AEMU_SCOPED_TRACE("vkResetDescriptorPool");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkResetDescriptorPool_VkResult_return = (VkResult)0;
- auto resources = ResourceTracker::get();
- vkResetDescriptorPool_VkResult_return = resources->on_vkResetDescriptorPool(vkEnc, VK_SUCCESS, device, descriptorPool, flags);
- return vkResetDescriptorPool_VkResult_return;
-}
-static VkResult entry_vkAllocateDescriptorSets(
- VkDevice device,
- const VkDescriptorSetAllocateInfo* pAllocateInfo,
- VkDescriptorSet* pDescriptorSets)
-{
- AEMU_SCOPED_TRACE("vkAllocateDescriptorSets");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkAllocateDescriptorSets_VkResult_return = (VkResult)0;
- auto resources = ResourceTracker::get();
- vkAllocateDescriptorSets_VkResult_return = resources->on_vkAllocateDescriptorSets(vkEnc, VK_SUCCESS, device, pAllocateInfo, pDescriptorSets);
- return vkAllocateDescriptorSets_VkResult_return;
-}
-static VkResult entry_vkFreeDescriptorSets(
- VkDevice device,
- VkDescriptorPool descriptorPool,
- uint32_t descriptorSetCount,
- const VkDescriptorSet* pDescriptorSets)
-{
- AEMU_SCOPED_TRACE("vkFreeDescriptorSets");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkFreeDescriptorSets_VkResult_return = (VkResult)0;
- auto resources = ResourceTracker::get();
- vkFreeDescriptorSets_VkResult_return = resources->on_vkFreeDescriptorSets(vkEnc, VK_SUCCESS, device, descriptorPool, descriptorSetCount, pDescriptorSets);
- return vkFreeDescriptorSets_VkResult_return;
-}
-static void entry_vkUpdateDescriptorSets(
- VkDevice device,
- uint32_t descriptorWriteCount,
- const VkWriteDescriptorSet* pDescriptorWrites,
- uint32_t descriptorCopyCount,
- const VkCopyDescriptorSet* pDescriptorCopies)
-{
- AEMU_SCOPED_TRACE("vkUpdateDescriptorSets");
- auto vkEnc = HostConnection::get()->vkEncoder();
- auto resources = ResourceTracker::get();
- resources->on_vkUpdateDescriptorSets(vkEnc, device, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount, pDescriptorCopies);
-}
-static VkResult entry_vkCreateFramebuffer(
- VkDevice device,
- const VkFramebufferCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkFramebuffer* pFramebuffer)
-{
- AEMU_SCOPED_TRACE("vkCreateFramebuffer");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateFramebuffer_VkResult_return = (VkResult)0;
- vkCreateFramebuffer_VkResult_return = vkEnc->vkCreateFramebuffer(device, pCreateInfo, pAllocator, pFramebuffer);
- return vkCreateFramebuffer_VkResult_return;
-}
-static void entry_vkDestroyFramebuffer(
- VkDevice device,
- VkFramebuffer framebuffer,
- const VkAllocationCallbacks* pAllocator)
-{
- AEMU_SCOPED_TRACE("vkDestroyFramebuffer");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkDestroyFramebuffer(device, framebuffer, pAllocator);
-}
-static VkResult entry_vkCreateRenderPass(
- VkDevice device,
- const VkRenderPassCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkRenderPass* pRenderPass)
-{
- AEMU_SCOPED_TRACE("vkCreateRenderPass");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateRenderPass_VkResult_return = (VkResult)0;
- vkCreateRenderPass_VkResult_return = vkEnc->vkCreateRenderPass(device, pCreateInfo, pAllocator, pRenderPass);
- return vkCreateRenderPass_VkResult_return;
-}
-static void entry_vkDestroyRenderPass(
- VkDevice device,
- VkRenderPass renderPass,
- const VkAllocationCallbacks* pAllocator)
-{
- AEMU_SCOPED_TRACE("vkDestroyRenderPass");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkDestroyRenderPass(device, renderPass, pAllocator);
-}
-static void entry_vkGetRenderAreaGranularity(
- VkDevice device,
- VkRenderPass renderPass,
- VkExtent2D* pGranularity)
-{
- AEMU_SCOPED_TRACE("vkGetRenderAreaGranularity");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetRenderAreaGranularity(device, renderPass, pGranularity);
-}
-static VkResult entry_vkCreateCommandPool(
- VkDevice device,
- const VkCommandPoolCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkCommandPool* pCommandPool)
-{
- AEMU_SCOPED_TRACE("vkCreateCommandPool");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateCommandPool_VkResult_return = (VkResult)0;
- vkCreateCommandPool_VkResult_return = vkEnc->vkCreateCommandPool(device, pCreateInfo, pAllocator, pCommandPool);
- return vkCreateCommandPool_VkResult_return;
-}
-static void entry_vkDestroyCommandPool(
- VkDevice device,
- VkCommandPool commandPool,
- const VkAllocationCallbacks* pAllocator)
-{
- AEMU_SCOPED_TRACE("vkDestroyCommandPool");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkDestroyCommandPool(device, commandPool, pAllocator);
-}
-static VkResult entry_vkResetCommandPool(
- VkDevice device,
- VkCommandPool commandPool,
- VkCommandPoolResetFlags flags)
-{
- AEMU_SCOPED_TRACE("vkResetCommandPool");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkResetCommandPool_VkResult_return = (VkResult)0;
- vkResetCommandPool_VkResult_return = vkEnc->vkResetCommandPool(device, commandPool, flags);
- return vkResetCommandPool_VkResult_return;
-}
-static VkResult entry_vkAllocateCommandBuffers(
- VkDevice device,
- const VkCommandBufferAllocateInfo* pAllocateInfo,
- VkCommandBuffer* pCommandBuffers)
-{
- AEMU_SCOPED_TRACE("vkAllocateCommandBuffers");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkAllocateCommandBuffers_VkResult_return = (VkResult)0;
- vkAllocateCommandBuffers_VkResult_return = vkEnc->vkAllocateCommandBuffers(device, pAllocateInfo, pCommandBuffers);
- return vkAllocateCommandBuffers_VkResult_return;
-}
-static void entry_vkFreeCommandBuffers(
- VkDevice device,
- VkCommandPool commandPool,
- uint32_t commandBufferCount,
- const VkCommandBuffer* pCommandBuffers)
-{
- AEMU_SCOPED_TRACE("vkFreeCommandBuffers");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkFreeCommandBuffers(device, commandPool, commandBufferCount, pCommandBuffers);
-}
-static VkResult entry_vkBeginCommandBuffer(
- VkCommandBuffer commandBuffer,
- const VkCommandBufferBeginInfo* pBeginInfo)
-{
- AEMU_SCOPED_TRACE("vkBeginCommandBuffer");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- VkResult vkBeginCommandBuffer_VkResult_return = (VkResult)0;
- auto resources = ResourceTracker::get();
- vkBeginCommandBuffer_VkResult_return = resources->on_vkBeginCommandBuffer(vkEnc, VK_SUCCESS, commandBuffer, pBeginInfo);
- return vkBeginCommandBuffer_VkResult_return;
-}
-static VkResult entry_vkEndCommandBuffer(
- VkCommandBuffer commandBuffer)
-{
- AEMU_SCOPED_TRACE("vkEndCommandBuffer");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- VkResult vkEndCommandBuffer_VkResult_return = (VkResult)0;
- auto resources = ResourceTracker::get();
- vkEndCommandBuffer_VkResult_return = resources->on_vkEndCommandBuffer(vkEnc, VK_SUCCESS, commandBuffer);
- return vkEndCommandBuffer_VkResult_return;
-}
-static VkResult entry_vkResetCommandBuffer(
- VkCommandBuffer commandBuffer,
- VkCommandBufferResetFlags flags)
-{
- AEMU_SCOPED_TRACE("vkResetCommandBuffer");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- VkResult vkResetCommandBuffer_VkResult_return = (VkResult)0;
- auto resources = ResourceTracker::get();
- vkResetCommandBuffer_VkResult_return = resources->on_vkResetCommandBuffer(vkEnc, VK_SUCCESS, commandBuffer, flags);
- return vkResetCommandBuffer_VkResult_return;
-}
-static void entry_vkCmdBindPipeline(
- VkCommandBuffer commandBuffer,
- VkPipelineBindPoint pipelineBindPoint,
- VkPipeline pipeline)
-{
- AEMU_SCOPED_TRACE("vkCmdBindPipeline");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdBindPipeline(commandBuffer, pipelineBindPoint, pipeline);
-}
-static void entry_vkCmdSetViewport(
- VkCommandBuffer commandBuffer,
- uint32_t firstViewport,
- uint32_t viewportCount,
- const VkViewport* pViewports)
-{
- AEMU_SCOPED_TRACE("vkCmdSetViewport");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdSetViewport(commandBuffer, firstViewport, viewportCount, pViewports);
-}
-static void entry_vkCmdSetScissor(
- VkCommandBuffer commandBuffer,
- uint32_t firstScissor,
- uint32_t scissorCount,
- const VkRect2D* pScissors)
-{
- AEMU_SCOPED_TRACE("vkCmdSetScissor");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdSetScissor(commandBuffer, firstScissor, scissorCount, pScissors);
-}
-static void entry_vkCmdSetLineWidth(
- VkCommandBuffer commandBuffer,
- float lineWidth)
-{
- AEMU_SCOPED_TRACE("vkCmdSetLineWidth");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdSetLineWidth(commandBuffer, lineWidth);
-}
-static void entry_vkCmdSetDepthBias(
- VkCommandBuffer commandBuffer,
- float depthBiasConstantFactor,
- float depthBiasClamp,
- float depthBiasSlopeFactor)
-{
- AEMU_SCOPED_TRACE("vkCmdSetDepthBias");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdSetDepthBias(commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor);
-}
-static void entry_vkCmdSetBlendConstants(
- VkCommandBuffer commandBuffer,
- const float blendConstants[4])
-{
- AEMU_SCOPED_TRACE("vkCmdSetBlendConstants");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdSetBlendConstants(commandBuffer, blendConstants);
-}
-static void entry_vkCmdSetDepthBounds(
- VkCommandBuffer commandBuffer,
- float minDepthBounds,
- float maxDepthBounds)
-{
- AEMU_SCOPED_TRACE("vkCmdSetDepthBounds");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdSetDepthBounds(commandBuffer, minDepthBounds, maxDepthBounds);
-}
-static void entry_vkCmdSetStencilCompareMask(
- VkCommandBuffer commandBuffer,
- VkStencilFaceFlags faceMask,
- uint32_t compareMask)
-{
- AEMU_SCOPED_TRACE("vkCmdSetStencilCompareMask");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdSetStencilCompareMask(commandBuffer, faceMask, compareMask);
-}
-static void entry_vkCmdSetStencilWriteMask(
- VkCommandBuffer commandBuffer,
- VkStencilFaceFlags faceMask,
- uint32_t writeMask)
-{
- AEMU_SCOPED_TRACE("vkCmdSetStencilWriteMask");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdSetStencilWriteMask(commandBuffer, faceMask, writeMask);
-}
-static void entry_vkCmdSetStencilReference(
- VkCommandBuffer commandBuffer,
- VkStencilFaceFlags faceMask,
- uint32_t reference)
-{
- AEMU_SCOPED_TRACE("vkCmdSetStencilReference");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdSetStencilReference(commandBuffer, faceMask, reference);
-}
-static void entry_vkCmdBindDescriptorSets(
- VkCommandBuffer commandBuffer,
- VkPipelineBindPoint pipelineBindPoint,
- VkPipelineLayout layout,
- uint32_t firstSet,
- uint32_t descriptorSetCount,
- const VkDescriptorSet* pDescriptorSets,
- uint32_t dynamicOffsetCount,
- const uint32_t* pDynamicOffsets)
-{
- AEMU_SCOPED_TRACE("vkCmdBindDescriptorSets");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdBindDescriptorSets(commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets);
-}
-static void entry_vkCmdBindIndexBuffer(
- VkCommandBuffer commandBuffer,
- VkBuffer buffer,
- VkDeviceSize offset,
- VkIndexType indexType)
-{
- AEMU_SCOPED_TRACE("vkCmdBindIndexBuffer");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdBindIndexBuffer(commandBuffer, buffer, offset, indexType);
-}
-static void entry_vkCmdBindVertexBuffers(
- VkCommandBuffer commandBuffer,
- uint32_t firstBinding,
- uint32_t bindingCount,
- const VkBuffer* pBuffers,
- const VkDeviceSize* pOffsets)
-{
- AEMU_SCOPED_TRACE("vkCmdBindVertexBuffers");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdBindVertexBuffers(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets);
-}
-static void entry_vkCmdDraw(
- VkCommandBuffer commandBuffer,
- uint32_t vertexCount,
- uint32_t instanceCount,
- uint32_t firstVertex,
- uint32_t firstInstance)
-{
- AEMU_SCOPED_TRACE("vkCmdDraw");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdDraw(commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance);
-}
-static void entry_vkCmdDrawIndexed(
- VkCommandBuffer commandBuffer,
- uint32_t indexCount,
- uint32_t instanceCount,
- uint32_t firstIndex,
- int32_t vertexOffset,
- uint32_t firstInstance)
-{
- AEMU_SCOPED_TRACE("vkCmdDrawIndexed");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdDrawIndexed(commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance);
-}
-static void entry_vkCmdDrawIndirect(
- VkCommandBuffer commandBuffer,
- VkBuffer buffer,
- VkDeviceSize offset,
- uint32_t drawCount,
- uint32_t stride)
-{
- AEMU_SCOPED_TRACE("vkCmdDrawIndirect");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdDrawIndirect(commandBuffer, buffer, offset, drawCount, stride);
-}
-static void entry_vkCmdDrawIndexedIndirect(
- VkCommandBuffer commandBuffer,
- VkBuffer buffer,
- VkDeviceSize offset,
- uint32_t drawCount,
- uint32_t stride)
-{
- AEMU_SCOPED_TRACE("vkCmdDrawIndexedIndirect");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdDrawIndexedIndirect(commandBuffer, buffer, offset, drawCount, stride);
-}
-static void entry_vkCmdDispatch(
- VkCommandBuffer commandBuffer,
- uint32_t groupCountX,
- uint32_t groupCountY,
- uint32_t groupCountZ)
-{
- AEMU_SCOPED_TRACE("vkCmdDispatch");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdDispatch(commandBuffer, groupCountX, groupCountY, groupCountZ);
-}
-static void entry_vkCmdDispatchIndirect(
- VkCommandBuffer commandBuffer,
- VkBuffer buffer,
- VkDeviceSize offset)
-{
- AEMU_SCOPED_TRACE("vkCmdDispatchIndirect");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdDispatchIndirect(commandBuffer, buffer, offset);
-}
-static void entry_vkCmdCopyBuffer(
- VkCommandBuffer commandBuffer,
- VkBuffer srcBuffer,
- VkBuffer dstBuffer,
- uint32_t regionCount,
- const VkBufferCopy* pRegions)
-{
- AEMU_SCOPED_TRACE("vkCmdCopyBuffer");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdCopyBuffer(commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions);
-}
-static void entry_vkCmdCopyImage(
- VkCommandBuffer commandBuffer,
- VkImage srcImage,
- VkImageLayout srcImageLayout,
- VkImage dstImage,
- VkImageLayout dstImageLayout,
- uint32_t regionCount,
- const VkImageCopy* pRegions)
-{
- AEMU_SCOPED_TRACE("vkCmdCopyImage");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdCopyImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions);
-}
-static void entry_vkCmdBlitImage(
- VkCommandBuffer commandBuffer,
- VkImage srcImage,
- VkImageLayout srcImageLayout,
- VkImage dstImage,
- VkImageLayout dstImageLayout,
- uint32_t regionCount,
- const VkImageBlit* pRegions,
- VkFilter filter)
-{
- AEMU_SCOPED_TRACE("vkCmdBlitImage");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdBlitImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter);
-}
-static void entry_vkCmdCopyBufferToImage(
- VkCommandBuffer commandBuffer,
- VkBuffer srcBuffer,
- VkImage dstImage,
- VkImageLayout dstImageLayout,
- uint32_t regionCount,
- const VkBufferImageCopy* pRegions)
-{
- AEMU_SCOPED_TRACE("vkCmdCopyBufferToImage");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdCopyBufferToImage(commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions);
-}
-static void entry_vkCmdCopyImageToBuffer(
- VkCommandBuffer commandBuffer,
- VkImage srcImage,
- VkImageLayout srcImageLayout,
- VkBuffer dstBuffer,
- uint32_t regionCount,
- const VkBufferImageCopy* pRegions)
-{
- AEMU_SCOPED_TRACE("vkCmdCopyImageToBuffer");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdCopyImageToBuffer(commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions);
-}
-static void entry_vkCmdUpdateBuffer(
- VkCommandBuffer commandBuffer,
- VkBuffer dstBuffer,
- VkDeviceSize dstOffset,
- VkDeviceSize dataSize,
- const void* pData)
-{
- AEMU_SCOPED_TRACE("vkCmdUpdateBuffer");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdUpdateBuffer(commandBuffer, dstBuffer, dstOffset, dataSize, pData);
-}
-static void entry_vkCmdFillBuffer(
- VkCommandBuffer commandBuffer,
- VkBuffer dstBuffer,
- VkDeviceSize dstOffset,
- VkDeviceSize size,
- uint32_t data)
-{
- AEMU_SCOPED_TRACE("vkCmdFillBuffer");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdFillBuffer(commandBuffer, dstBuffer, dstOffset, size, data);
-}
-static void entry_vkCmdClearColorImage(
- VkCommandBuffer commandBuffer,
- VkImage image,
- VkImageLayout imageLayout,
- const VkClearColorValue* pColor,
- uint32_t rangeCount,
- const VkImageSubresourceRange* pRanges)
-{
- AEMU_SCOPED_TRACE("vkCmdClearColorImage");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdClearColorImage(commandBuffer, image, imageLayout, pColor, rangeCount, pRanges);
-}
-static void entry_vkCmdClearDepthStencilImage(
- VkCommandBuffer commandBuffer,
- VkImage image,
- VkImageLayout imageLayout,
- const VkClearDepthStencilValue* pDepthStencil,
- uint32_t rangeCount,
- const VkImageSubresourceRange* pRanges)
-{
- AEMU_SCOPED_TRACE("vkCmdClearDepthStencilImage");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdClearDepthStencilImage(commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges);
-}
-static void entry_vkCmdClearAttachments(
- VkCommandBuffer commandBuffer,
- uint32_t attachmentCount,
- const VkClearAttachment* pAttachments,
- uint32_t rectCount,
- const VkClearRect* pRects)
-{
- AEMU_SCOPED_TRACE("vkCmdClearAttachments");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdClearAttachments(commandBuffer, attachmentCount, pAttachments, rectCount, pRects);
-}
-static void entry_vkCmdResolveImage(
- VkCommandBuffer commandBuffer,
- VkImage srcImage,
- VkImageLayout srcImageLayout,
- VkImage dstImage,
- VkImageLayout dstImageLayout,
- uint32_t regionCount,
- const VkImageResolve* pRegions)
-{
- AEMU_SCOPED_TRACE("vkCmdResolveImage");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdResolveImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions);
-}
-static void entry_vkCmdSetEvent(
- VkCommandBuffer commandBuffer,
- VkEvent event,
- VkPipelineStageFlags stageMask)
-{
- AEMU_SCOPED_TRACE("vkCmdSetEvent");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdSetEvent(commandBuffer, event, stageMask);
-}
-static void entry_vkCmdResetEvent(
- VkCommandBuffer commandBuffer,
- VkEvent event,
- VkPipelineStageFlags stageMask)
-{
- AEMU_SCOPED_TRACE("vkCmdResetEvent");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdResetEvent(commandBuffer, event, stageMask);
-}
-static void entry_vkCmdWaitEvents(
- 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)
-{
- AEMU_SCOPED_TRACE("vkCmdWaitEvents");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdWaitEvents(commandBuffer, eventCount, pEvents, srcStageMask, dstStageMask, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers);
-}
-static void entry_vkCmdPipelineBarrier(
- 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)
-{
- AEMU_SCOPED_TRACE("vkCmdPipelineBarrier");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdPipelineBarrier(commandBuffer, srcStageMask, dstStageMask, dependencyFlags, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers);
-}
-static void entry_vkCmdBeginQuery(
- VkCommandBuffer commandBuffer,
- VkQueryPool queryPool,
- uint32_t query,
- VkQueryControlFlags flags)
-{
- AEMU_SCOPED_TRACE("vkCmdBeginQuery");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdBeginQuery(commandBuffer, queryPool, query, flags);
-}
-static void entry_vkCmdEndQuery(
- VkCommandBuffer commandBuffer,
- VkQueryPool queryPool,
- uint32_t query)
-{
- AEMU_SCOPED_TRACE("vkCmdEndQuery");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdEndQuery(commandBuffer, queryPool, query);
-}
-static void entry_vkCmdResetQueryPool(
- VkCommandBuffer commandBuffer,
- VkQueryPool queryPool,
- uint32_t firstQuery,
- uint32_t queryCount)
-{
- AEMU_SCOPED_TRACE("vkCmdResetQueryPool");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdResetQueryPool(commandBuffer, queryPool, firstQuery, queryCount);
-}
-static void entry_vkCmdWriteTimestamp(
- VkCommandBuffer commandBuffer,
- VkPipelineStageFlagBits pipelineStage,
- VkQueryPool queryPool,
- uint32_t query)
-{
- AEMU_SCOPED_TRACE("vkCmdWriteTimestamp");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdWriteTimestamp(commandBuffer, pipelineStage, queryPool, query);
-}
-static void entry_vkCmdCopyQueryPoolResults(
- VkCommandBuffer commandBuffer,
- VkQueryPool queryPool,
- uint32_t firstQuery,
- uint32_t queryCount,
- VkBuffer dstBuffer,
- VkDeviceSize dstOffset,
- VkDeviceSize stride,
- VkQueryResultFlags flags)
-{
- AEMU_SCOPED_TRACE("vkCmdCopyQueryPoolResults");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdCopyQueryPoolResults(commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags);
-}
-static void entry_vkCmdPushConstants(
- VkCommandBuffer commandBuffer,
- VkPipelineLayout layout,
- VkShaderStageFlags stageFlags,
- uint32_t offset,
- uint32_t size,
- const void* pValues)
-{
- AEMU_SCOPED_TRACE("vkCmdPushConstants");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdPushConstants(commandBuffer, layout, stageFlags, offset, size, pValues);
-}
-static void entry_vkCmdBeginRenderPass(
- VkCommandBuffer commandBuffer,
- const VkRenderPassBeginInfo* pRenderPassBegin,
- VkSubpassContents contents)
-{
- AEMU_SCOPED_TRACE("vkCmdBeginRenderPass");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdBeginRenderPass(commandBuffer, pRenderPassBegin, contents);
-}
-static void entry_vkCmdNextSubpass(
- VkCommandBuffer commandBuffer,
- VkSubpassContents contents)
-{
- AEMU_SCOPED_TRACE("vkCmdNextSubpass");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdNextSubpass(commandBuffer, contents);
-}
-static void entry_vkCmdEndRenderPass(
- VkCommandBuffer commandBuffer)
-{
- AEMU_SCOPED_TRACE("vkCmdEndRenderPass");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdEndRenderPass(commandBuffer);
-}
-static void entry_vkCmdExecuteCommands(
- VkCommandBuffer commandBuffer,
- uint32_t commandBufferCount,
- const VkCommandBuffer* pCommandBuffers)
-{
- AEMU_SCOPED_TRACE("vkCmdExecuteCommands");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdExecuteCommands(commandBuffer, commandBufferCount, pCommandBuffers);
-}
-#endif
-#ifdef VK_VERSION_1_1
-static VkResult entry_vkEnumerateInstanceVersion(
- uint32_t* pApiVersion)
-{
- AEMU_SCOPED_TRACE("vkEnumerateInstanceVersion");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkEnumerateInstanceVersion_VkResult_return = (VkResult)0;
- vkEnumerateInstanceVersion_VkResult_return = vkEnc->vkEnumerateInstanceVersion(pApiVersion);
- return vkEnumerateInstanceVersion_VkResult_return;
-}
-static VkResult entry_vkBindBufferMemory2(
- VkDevice device,
- uint32_t bindInfoCount,
- const VkBindBufferMemoryInfo* pBindInfos)
-{
- AEMU_SCOPED_TRACE("vkBindBufferMemory2");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkBindBufferMemory2_VkResult_return = (VkResult)0;
- auto resources = ResourceTracker::get();
- vkBindBufferMemory2_VkResult_return = resources->on_vkBindBufferMemory2(vkEnc, VK_SUCCESS, device, bindInfoCount, pBindInfos);
- return vkBindBufferMemory2_VkResult_return;
-}
-static VkResult dynCheck_entry_vkBindBufferMemory2(
- VkDevice device,
- uint32_t bindInfoCount,
- const VkBindBufferMemoryInfo* pBindInfos)
-{
- auto resources = ResourceTracker::get();
- if (resources->getApiVersionFromDevice(device) < VK_API_VERSION_1_1)
- {
- sOnInvalidDynamicallyCheckedCall("vkBindBufferMemory2", "VK_VERSION_1_1");
- }
- AEMU_SCOPED_TRACE("vkBindBufferMemory2");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkBindBufferMemory2_VkResult_return = (VkResult)0;
- vkBindBufferMemory2_VkResult_return = resources->on_vkBindBufferMemory2(vkEnc, VK_SUCCESS, device, bindInfoCount, pBindInfos);
- return vkBindBufferMemory2_VkResult_return;
-}
-static VkResult entry_vkBindImageMemory2(
- VkDevice device,
- uint32_t bindInfoCount,
- const VkBindImageMemoryInfo* pBindInfos)
-{
- AEMU_SCOPED_TRACE("vkBindImageMemory2");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkBindImageMemory2_VkResult_return = (VkResult)0;
- auto resources = ResourceTracker::get();
- vkBindImageMemory2_VkResult_return = resources->on_vkBindImageMemory2(vkEnc, VK_SUCCESS, device, bindInfoCount, pBindInfos);
- return vkBindImageMemory2_VkResult_return;
-}
-static VkResult dynCheck_entry_vkBindImageMemory2(
- VkDevice device,
- uint32_t bindInfoCount,
- const VkBindImageMemoryInfo* pBindInfos)
-{
- auto resources = ResourceTracker::get();
- if (resources->getApiVersionFromDevice(device) < VK_API_VERSION_1_1)
- {
- sOnInvalidDynamicallyCheckedCall("vkBindImageMemory2", "VK_VERSION_1_1");
- }
- AEMU_SCOPED_TRACE("vkBindImageMemory2");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkBindImageMemory2_VkResult_return = (VkResult)0;
- vkBindImageMemory2_VkResult_return = resources->on_vkBindImageMemory2(vkEnc, VK_SUCCESS, device, bindInfoCount, pBindInfos);
- return vkBindImageMemory2_VkResult_return;
-}
-static void entry_vkGetDeviceGroupPeerMemoryFeatures(
- VkDevice device,
- uint32_t heapIndex,
- uint32_t localDeviceIndex,
- uint32_t remoteDeviceIndex,
- VkPeerMemoryFeatureFlags* pPeerMemoryFeatures)
-{
- AEMU_SCOPED_TRACE("vkGetDeviceGroupPeerMemoryFeatures");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetDeviceGroupPeerMemoryFeatures(device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures);
-}
-static void dynCheck_entry_vkGetDeviceGroupPeerMemoryFeatures(
- VkDevice device,
- uint32_t heapIndex,
- uint32_t localDeviceIndex,
- uint32_t remoteDeviceIndex,
- VkPeerMemoryFeatureFlags* pPeerMemoryFeatures)
-{
- auto resources = ResourceTracker::get();
- if (resources->getApiVersionFromDevice(device) < VK_API_VERSION_1_1)
- {
- sOnInvalidDynamicallyCheckedCall("vkGetDeviceGroupPeerMemoryFeatures", "VK_VERSION_1_1");
- }
- AEMU_SCOPED_TRACE("vkGetDeviceGroupPeerMemoryFeatures");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetDeviceGroupPeerMemoryFeatures(device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures);
-}
-static void entry_vkCmdSetDeviceMask(
- VkCommandBuffer commandBuffer,
- uint32_t deviceMask)
-{
- AEMU_SCOPED_TRACE("vkCmdSetDeviceMask");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdSetDeviceMask(commandBuffer, deviceMask);
-}
-static void entry_vkCmdDispatchBase(
- VkCommandBuffer commandBuffer,
- uint32_t baseGroupX,
- uint32_t baseGroupY,
- uint32_t baseGroupZ,
- uint32_t groupCountX,
- uint32_t groupCountY,
- uint32_t groupCountZ)
-{
- AEMU_SCOPED_TRACE("vkCmdDispatchBase");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdDispatchBase(commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ);
-}
-static VkResult entry_vkEnumeratePhysicalDeviceGroups(
- VkInstance instance,
- uint32_t* pPhysicalDeviceGroupCount,
- VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties)
-{
- AEMU_SCOPED_TRACE("vkEnumeratePhysicalDeviceGroups");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkEnumeratePhysicalDeviceGroups_VkResult_return = (VkResult)0;
- vkEnumeratePhysicalDeviceGroups_VkResult_return = vkEnc->vkEnumeratePhysicalDeviceGroups(instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties);
- return vkEnumeratePhysicalDeviceGroups_VkResult_return;
-}
-static void entry_vkGetImageMemoryRequirements2(
- VkDevice device,
- const VkImageMemoryRequirementsInfo2* pInfo,
- VkMemoryRequirements2* pMemoryRequirements)
-{
- AEMU_SCOPED_TRACE("vkGetImageMemoryRequirements2");
- auto vkEnc = HostConnection::get()->vkEncoder();
- auto resources = ResourceTracker::get();
- resources->on_vkGetImageMemoryRequirements2(vkEnc, device, pInfo, pMemoryRequirements);
-}
-static void dynCheck_entry_vkGetImageMemoryRequirements2(
- VkDevice device,
- const VkImageMemoryRequirementsInfo2* pInfo,
- VkMemoryRequirements2* pMemoryRequirements)
-{
- auto resources = ResourceTracker::get();
- if (resources->getApiVersionFromDevice(device) < VK_API_VERSION_1_1)
- {
- sOnInvalidDynamicallyCheckedCall("vkGetImageMemoryRequirements2", "VK_VERSION_1_1");
- }
- AEMU_SCOPED_TRACE("vkGetImageMemoryRequirements2");
- auto vkEnc = HostConnection::get()->vkEncoder();
- resources->on_vkGetImageMemoryRequirements2(vkEnc, device, pInfo, pMemoryRequirements);
-}
-static void entry_vkGetBufferMemoryRequirements2(
- VkDevice device,
- const VkBufferMemoryRequirementsInfo2* pInfo,
- VkMemoryRequirements2* pMemoryRequirements)
-{
- AEMU_SCOPED_TRACE("vkGetBufferMemoryRequirements2");
- auto vkEnc = HostConnection::get()->vkEncoder();
- auto resources = ResourceTracker::get();
- resources->on_vkGetBufferMemoryRequirements2(vkEnc, device, pInfo, pMemoryRequirements);
-}
-static void dynCheck_entry_vkGetBufferMemoryRequirements2(
- VkDevice device,
- const VkBufferMemoryRequirementsInfo2* pInfo,
- VkMemoryRequirements2* pMemoryRequirements)
-{
- auto resources = ResourceTracker::get();
- if (resources->getApiVersionFromDevice(device) < VK_API_VERSION_1_1)
- {
- sOnInvalidDynamicallyCheckedCall("vkGetBufferMemoryRequirements2", "VK_VERSION_1_1");
- }
- AEMU_SCOPED_TRACE("vkGetBufferMemoryRequirements2");
- auto vkEnc = HostConnection::get()->vkEncoder();
- resources->on_vkGetBufferMemoryRequirements2(vkEnc, device, pInfo, pMemoryRequirements);
-}
-static void entry_vkGetImageSparseMemoryRequirements2(
- VkDevice device,
- const VkImageSparseMemoryRequirementsInfo2* pInfo,
- uint32_t* pSparseMemoryRequirementCount,
- VkSparseImageMemoryRequirements2* pSparseMemoryRequirements)
-{
- AEMU_SCOPED_TRACE("vkGetImageSparseMemoryRequirements2");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetImageSparseMemoryRequirements2(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
-}
-static void dynCheck_entry_vkGetImageSparseMemoryRequirements2(
- VkDevice device,
- const VkImageSparseMemoryRequirementsInfo2* pInfo,
- uint32_t* pSparseMemoryRequirementCount,
- VkSparseImageMemoryRequirements2* pSparseMemoryRequirements)
-{
- auto resources = ResourceTracker::get();
- if (resources->getApiVersionFromDevice(device) < VK_API_VERSION_1_1)
- {
- sOnInvalidDynamicallyCheckedCall("vkGetImageSparseMemoryRequirements2", "VK_VERSION_1_1");
- }
- AEMU_SCOPED_TRACE("vkGetImageSparseMemoryRequirements2");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetImageSparseMemoryRequirements2(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
-}
-static void entry_vkGetPhysicalDeviceFeatures2(
- VkPhysicalDevice physicalDevice,
- VkPhysicalDeviceFeatures2* pFeatures)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceFeatures2");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetPhysicalDeviceFeatures2(physicalDevice, pFeatures);
-}
-static void entry_vkGetPhysicalDeviceProperties2(
- VkPhysicalDevice physicalDevice,
- VkPhysicalDeviceProperties2* pProperties)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceProperties2");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetPhysicalDeviceProperties2(physicalDevice, pProperties);
-}
-static void entry_vkGetPhysicalDeviceFormatProperties2(
- VkPhysicalDevice physicalDevice,
- VkFormat format,
- VkFormatProperties2* pFormatProperties)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceFormatProperties2");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetPhysicalDeviceFormatProperties2(physicalDevice, format, pFormatProperties);
-}
-static VkResult entry_vkGetPhysicalDeviceImageFormatProperties2(
- VkPhysicalDevice physicalDevice,
- const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
- VkImageFormatProperties2* pImageFormatProperties)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceImageFormatProperties2");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetPhysicalDeviceImageFormatProperties2_VkResult_return = (VkResult)0;
- auto resources = ResourceTracker::get();
- vkGetPhysicalDeviceImageFormatProperties2_VkResult_return = resources->on_vkGetPhysicalDeviceImageFormatProperties2(vkEnc, VK_SUCCESS, physicalDevice, pImageFormatInfo, pImageFormatProperties);
- return vkGetPhysicalDeviceImageFormatProperties2_VkResult_return;
-}
-static void entry_vkGetPhysicalDeviceQueueFamilyProperties2(
- VkPhysicalDevice physicalDevice,
- uint32_t* pQueueFamilyPropertyCount,
- VkQueueFamilyProperties2* pQueueFamilyProperties)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceQueueFamilyProperties2");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetPhysicalDeviceQueueFamilyProperties2(physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties);
-}
-static void entry_vkGetPhysicalDeviceMemoryProperties2(
- VkPhysicalDevice physicalDevice,
- VkPhysicalDeviceMemoryProperties2* pMemoryProperties)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceMemoryProperties2");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetPhysicalDeviceMemoryProperties2(physicalDevice, pMemoryProperties);
-}
-static void entry_vkGetPhysicalDeviceSparseImageFormatProperties2(
- VkPhysicalDevice physicalDevice,
- const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
- uint32_t* pPropertyCount,
- VkSparseImageFormatProperties2* pProperties)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceSparseImageFormatProperties2");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetPhysicalDeviceSparseImageFormatProperties2(physicalDevice, pFormatInfo, pPropertyCount, pProperties);
-}
-static void entry_vkTrimCommandPool(
- VkDevice device,
- VkCommandPool commandPool,
- VkCommandPoolTrimFlags flags)
-{
- AEMU_SCOPED_TRACE("vkTrimCommandPool");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkTrimCommandPool(device, commandPool, flags);
-}
-static void dynCheck_entry_vkTrimCommandPool(
- VkDevice device,
- VkCommandPool commandPool,
- VkCommandPoolTrimFlags flags)
-{
- auto resources = ResourceTracker::get();
- if (resources->getApiVersionFromDevice(device) < VK_API_VERSION_1_1)
- {
- sOnInvalidDynamicallyCheckedCall("vkTrimCommandPool", "VK_VERSION_1_1");
- }
- AEMU_SCOPED_TRACE("vkTrimCommandPool");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkTrimCommandPool(device, commandPool, flags);
-}
-static void entry_vkGetDeviceQueue2(
- VkDevice device,
- const VkDeviceQueueInfo2* pQueueInfo,
- VkQueue* pQueue)
-{
- AEMU_SCOPED_TRACE("vkGetDeviceQueue2");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetDeviceQueue2(device, pQueueInfo, pQueue);
-}
-static void dynCheck_entry_vkGetDeviceQueue2(
- VkDevice device,
- const VkDeviceQueueInfo2* pQueueInfo,
- VkQueue* pQueue)
-{
- auto resources = ResourceTracker::get();
- if (resources->getApiVersionFromDevice(device) < VK_API_VERSION_1_1)
- {
- sOnInvalidDynamicallyCheckedCall("vkGetDeviceQueue2", "VK_VERSION_1_1");
- }
- AEMU_SCOPED_TRACE("vkGetDeviceQueue2");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetDeviceQueue2(device, pQueueInfo, pQueue);
-}
-static VkResult entry_vkCreateSamplerYcbcrConversion(
- VkDevice device,
- const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSamplerYcbcrConversion* pYcbcrConversion)
-{
- AEMU_SCOPED_TRACE("vkCreateSamplerYcbcrConversion");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateSamplerYcbcrConversion_VkResult_return = (VkResult)0;
- auto resources = ResourceTracker::get();
- vkCreateSamplerYcbcrConversion_VkResult_return = resources->on_vkCreateSamplerYcbcrConversion(vkEnc, VK_SUCCESS, device, pCreateInfo, pAllocator, pYcbcrConversion);
- return vkCreateSamplerYcbcrConversion_VkResult_return;
-}
-static VkResult dynCheck_entry_vkCreateSamplerYcbcrConversion(
- VkDevice device,
- const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSamplerYcbcrConversion* pYcbcrConversion)
-{
- auto resources = ResourceTracker::get();
- if (resources->getApiVersionFromDevice(device) < VK_API_VERSION_1_1)
- {
- sOnInvalidDynamicallyCheckedCall("vkCreateSamplerYcbcrConversion", "VK_VERSION_1_1");
- }
- AEMU_SCOPED_TRACE("vkCreateSamplerYcbcrConversion");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateSamplerYcbcrConversion_VkResult_return = (VkResult)0;
- vkCreateSamplerYcbcrConversion_VkResult_return = resources->on_vkCreateSamplerYcbcrConversion(vkEnc, VK_SUCCESS, device, pCreateInfo, pAllocator, pYcbcrConversion);
- return vkCreateSamplerYcbcrConversion_VkResult_return;
-}
-static void entry_vkDestroySamplerYcbcrConversion(
- VkDevice device,
- VkSamplerYcbcrConversion ycbcrConversion,
- const VkAllocationCallbacks* pAllocator)
-{
- AEMU_SCOPED_TRACE("vkDestroySamplerYcbcrConversion");
- auto vkEnc = HostConnection::get()->vkEncoder();
- auto resources = ResourceTracker::get();
- resources->on_vkDestroySamplerYcbcrConversion(vkEnc, device, ycbcrConversion, pAllocator);
-}
-static void dynCheck_entry_vkDestroySamplerYcbcrConversion(
- VkDevice device,
- VkSamplerYcbcrConversion ycbcrConversion,
- const VkAllocationCallbacks* pAllocator)
-{
- auto resources = ResourceTracker::get();
- if (resources->getApiVersionFromDevice(device) < VK_API_VERSION_1_1)
- {
- sOnInvalidDynamicallyCheckedCall("vkDestroySamplerYcbcrConversion", "VK_VERSION_1_1");
- }
- AEMU_SCOPED_TRACE("vkDestroySamplerYcbcrConversion");
- auto vkEnc = HostConnection::get()->vkEncoder();
- resources->on_vkDestroySamplerYcbcrConversion(vkEnc, device, ycbcrConversion, pAllocator);
-}
-static VkResult entry_vkCreateDescriptorUpdateTemplate(
- VkDevice device,
- const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate)
-{
- AEMU_SCOPED_TRACE("vkCreateDescriptorUpdateTemplate");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateDescriptorUpdateTemplate_VkResult_return = (VkResult)0;
- vkCreateDescriptorUpdateTemplate_VkResult_return = vkEnc->vkCreateDescriptorUpdateTemplate(device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate);
- return vkCreateDescriptorUpdateTemplate_VkResult_return;
-}
-static VkResult dynCheck_entry_vkCreateDescriptorUpdateTemplate(
- VkDevice device,
- const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate)
-{
- auto resources = ResourceTracker::get();
- if (resources->getApiVersionFromDevice(device) < VK_API_VERSION_1_1)
- {
- sOnInvalidDynamicallyCheckedCall("vkCreateDescriptorUpdateTemplate", "VK_VERSION_1_1");
- }
- AEMU_SCOPED_TRACE("vkCreateDescriptorUpdateTemplate");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateDescriptorUpdateTemplate_VkResult_return = (VkResult)0;
- vkCreateDescriptorUpdateTemplate_VkResult_return = vkEnc->vkCreateDescriptorUpdateTemplate(device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate);
- return vkCreateDescriptorUpdateTemplate_VkResult_return;
-}
-static void entry_vkDestroyDescriptorUpdateTemplate(
- VkDevice device,
- VkDescriptorUpdateTemplate descriptorUpdateTemplate,
- const VkAllocationCallbacks* pAllocator)
-{
- AEMU_SCOPED_TRACE("vkDestroyDescriptorUpdateTemplate");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkDestroyDescriptorUpdateTemplate(device, descriptorUpdateTemplate, pAllocator);
-}
-static void dynCheck_entry_vkDestroyDescriptorUpdateTemplate(
- VkDevice device,
- VkDescriptorUpdateTemplate descriptorUpdateTemplate,
- const VkAllocationCallbacks* pAllocator)
-{
- auto resources = ResourceTracker::get();
- if (resources->getApiVersionFromDevice(device) < VK_API_VERSION_1_1)
- {
- sOnInvalidDynamicallyCheckedCall("vkDestroyDescriptorUpdateTemplate", "VK_VERSION_1_1");
- }
- AEMU_SCOPED_TRACE("vkDestroyDescriptorUpdateTemplate");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkDestroyDescriptorUpdateTemplate(device, descriptorUpdateTemplate, pAllocator);
-}
-static void entry_vkUpdateDescriptorSetWithTemplate(
- VkDevice device,
- VkDescriptorSet descriptorSet,
- VkDescriptorUpdateTemplate descriptorUpdateTemplate,
- const void* pData)
-{
- AEMU_SCOPED_TRACE("vkUpdateDescriptorSetWithTemplate");
- auto vkEnc = HostConnection::get()->vkEncoder();
- auto resources = ResourceTracker::get();
- resources->on_vkUpdateDescriptorSetWithTemplate(vkEnc, device, descriptorSet, descriptorUpdateTemplate, pData);
-}
-static void dynCheck_entry_vkUpdateDescriptorSetWithTemplate(
- VkDevice device,
- VkDescriptorSet descriptorSet,
- VkDescriptorUpdateTemplate descriptorUpdateTemplate,
- const void* pData)
-{
- auto resources = ResourceTracker::get();
- if (resources->getApiVersionFromDevice(device) < VK_API_VERSION_1_1)
- {
- sOnInvalidDynamicallyCheckedCall("vkUpdateDescriptorSetWithTemplate", "VK_VERSION_1_1");
- }
- AEMU_SCOPED_TRACE("vkUpdateDescriptorSetWithTemplate");
- auto vkEnc = HostConnection::get()->vkEncoder();
- resources->on_vkUpdateDescriptorSetWithTemplate(vkEnc, device, descriptorSet, descriptorUpdateTemplate, pData);
-}
-static void entry_vkGetPhysicalDeviceExternalBufferProperties(
- VkPhysicalDevice physicalDevice,
- const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
- VkExternalBufferProperties* pExternalBufferProperties)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceExternalBufferProperties");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetPhysicalDeviceExternalBufferProperties(physicalDevice, pExternalBufferInfo, pExternalBufferProperties);
-}
-static void entry_vkGetPhysicalDeviceExternalFenceProperties(
- VkPhysicalDevice physicalDevice,
- const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
- VkExternalFenceProperties* pExternalFenceProperties)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceExternalFenceProperties");
- auto vkEnc = HostConnection::get()->vkEncoder();
- auto resources = ResourceTracker::get();
- resources->on_vkGetPhysicalDeviceExternalFenceProperties(vkEnc, physicalDevice, pExternalFenceInfo, pExternalFenceProperties);
-}
-static void entry_vkGetPhysicalDeviceExternalSemaphoreProperties(
- VkPhysicalDevice physicalDevice,
- const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
- VkExternalSemaphoreProperties* pExternalSemaphoreProperties)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceExternalSemaphoreProperties");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetPhysicalDeviceExternalSemaphoreProperties(physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties);
-}
-static void entry_vkGetDescriptorSetLayoutSupport(
- VkDevice device,
- const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
- VkDescriptorSetLayoutSupport* pSupport)
-{
- AEMU_SCOPED_TRACE("vkGetDescriptorSetLayoutSupport");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetDescriptorSetLayoutSupport(device, pCreateInfo, pSupport);
-}
-static void dynCheck_entry_vkGetDescriptorSetLayoutSupport(
- VkDevice device,
- const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
- VkDescriptorSetLayoutSupport* pSupport)
-{
- auto resources = ResourceTracker::get();
- if (resources->getApiVersionFromDevice(device) < VK_API_VERSION_1_1)
- {
- sOnInvalidDynamicallyCheckedCall("vkGetDescriptorSetLayoutSupport", "VK_VERSION_1_1");
- }
- AEMU_SCOPED_TRACE("vkGetDescriptorSetLayoutSupport");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetDescriptorSetLayoutSupport(device, pCreateInfo, pSupport);
-}
-#endif
-#ifdef VK_KHR_surface
-static void entry_vkDestroySurfaceKHR(
- VkInstance instance,
- VkSurfaceKHR surface,
- const VkAllocationCallbacks* pAllocator)
-{
- AEMU_SCOPED_TRACE("vkDestroySurfaceKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkDestroySurfaceKHR(instance, surface, pAllocator);
-}
-static VkResult entry_vkGetPhysicalDeviceSurfaceSupportKHR(
- VkPhysicalDevice physicalDevice,
- uint32_t queueFamilyIndex,
- VkSurfaceKHR surface,
- VkBool32* pSupported)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceSurfaceSupportKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetPhysicalDeviceSurfaceSupportKHR_VkResult_return = (VkResult)0;
- vkGetPhysicalDeviceSurfaceSupportKHR_VkResult_return = vkEnc->vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported);
- return vkGetPhysicalDeviceSurfaceSupportKHR_VkResult_return;
-}
-static VkResult entry_vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
- VkPhysicalDevice physicalDevice,
- VkSurfaceKHR surface,
- VkSurfaceCapabilitiesKHR* pSurfaceCapabilities)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceSurfaceCapabilitiesKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR_VkResult_return = (VkResult)0;
- vkGetPhysicalDeviceSurfaceCapabilitiesKHR_VkResult_return = vkEnc->vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, pSurfaceCapabilities);
- return vkGetPhysicalDeviceSurfaceCapabilitiesKHR_VkResult_return;
-}
-static VkResult entry_vkGetPhysicalDeviceSurfaceFormatsKHR(
- VkPhysicalDevice physicalDevice,
- VkSurfaceKHR surface,
- uint32_t* pSurfaceFormatCount,
- VkSurfaceFormatKHR* pSurfaceFormats)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceSurfaceFormatsKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetPhysicalDeviceSurfaceFormatsKHR_VkResult_return = (VkResult)0;
- vkGetPhysicalDeviceSurfaceFormatsKHR_VkResult_return = vkEnc->vkGetPhysicalDeviceSurfaceFormatsKHR(physicalDevice, surface, pSurfaceFormatCount, pSurfaceFormats);
- return vkGetPhysicalDeviceSurfaceFormatsKHR_VkResult_return;
-}
-static VkResult entry_vkGetPhysicalDeviceSurfacePresentModesKHR(
- VkPhysicalDevice physicalDevice,
- VkSurfaceKHR surface,
- uint32_t* pPresentModeCount,
- VkPresentModeKHR* pPresentModes)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceSurfacePresentModesKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetPhysicalDeviceSurfacePresentModesKHR_VkResult_return = (VkResult)0;
- vkGetPhysicalDeviceSurfacePresentModesKHR_VkResult_return = vkEnc->vkGetPhysicalDeviceSurfacePresentModesKHR(physicalDevice, surface, pPresentModeCount, pPresentModes);
- return vkGetPhysicalDeviceSurfacePresentModesKHR_VkResult_return;
-}
-#endif
-#ifdef VK_KHR_swapchain
-static VkResult entry_vkCreateSwapchainKHR(
- VkDevice device,
- const VkSwapchainCreateInfoKHR* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSwapchainKHR* pSwapchain)
-{
- AEMU_SCOPED_TRACE("vkCreateSwapchainKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateSwapchainKHR_VkResult_return = (VkResult)0;
- vkCreateSwapchainKHR_VkResult_return = vkEnc->vkCreateSwapchainKHR(device, pCreateInfo, pAllocator, pSwapchain);
- return vkCreateSwapchainKHR_VkResult_return;
-}
-static VkResult dynCheck_entry_vkCreateSwapchainKHR(
- VkDevice device,
- const VkSwapchainCreateInfoKHR* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSwapchainKHR* pSwapchain)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_KHR_swapchain"))
- {
- sOnInvalidDynamicallyCheckedCall("vkCreateSwapchainKHR", "VK_KHR_swapchain");
- }
- AEMU_SCOPED_TRACE("vkCreateSwapchainKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateSwapchainKHR_VkResult_return = (VkResult)0;
- vkCreateSwapchainKHR_VkResult_return = vkEnc->vkCreateSwapchainKHR(device, pCreateInfo, pAllocator, pSwapchain);
- return vkCreateSwapchainKHR_VkResult_return;
-}
-static void entry_vkDestroySwapchainKHR(
- VkDevice device,
- VkSwapchainKHR swapchain,
- const VkAllocationCallbacks* pAllocator)
-{
- AEMU_SCOPED_TRACE("vkDestroySwapchainKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkDestroySwapchainKHR(device, swapchain, pAllocator);
-}
-static void dynCheck_entry_vkDestroySwapchainKHR(
- VkDevice device,
- VkSwapchainKHR swapchain,
- const VkAllocationCallbacks* pAllocator)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_KHR_swapchain"))
- {
- sOnInvalidDynamicallyCheckedCall("vkDestroySwapchainKHR", "VK_KHR_swapchain");
- }
- AEMU_SCOPED_TRACE("vkDestroySwapchainKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkDestroySwapchainKHR(device, swapchain, pAllocator);
-}
-static VkResult entry_vkGetSwapchainImagesKHR(
- VkDevice device,
- VkSwapchainKHR swapchain,
- uint32_t* pSwapchainImageCount,
- VkImage* pSwapchainImages)
-{
- AEMU_SCOPED_TRACE("vkGetSwapchainImagesKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetSwapchainImagesKHR_VkResult_return = (VkResult)0;
- vkGetSwapchainImagesKHR_VkResult_return = vkEnc->vkGetSwapchainImagesKHR(device, swapchain, pSwapchainImageCount, pSwapchainImages);
- return vkGetSwapchainImagesKHR_VkResult_return;
-}
-static VkResult dynCheck_entry_vkGetSwapchainImagesKHR(
- VkDevice device,
- VkSwapchainKHR swapchain,
- uint32_t* pSwapchainImageCount,
- VkImage* pSwapchainImages)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_KHR_swapchain"))
- {
- sOnInvalidDynamicallyCheckedCall("vkGetSwapchainImagesKHR", "VK_KHR_swapchain");
- }
- AEMU_SCOPED_TRACE("vkGetSwapchainImagesKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetSwapchainImagesKHR_VkResult_return = (VkResult)0;
- vkGetSwapchainImagesKHR_VkResult_return = vkEnc->vkGetSwapchainImagesKHR(device, swapchain, pSwapchainImageCount, pSwapchainImages);
- return vkGetSwapchainImagesKHR_VkResult_return;
-}
-static VkResult entry_vkAcquireNextImageKHR(
- VkDevice device,
- VkSwapchainKHR swapchain,
- uint64_t timeout,
- VkSemaphore semaphore,
- VkFence fence,
- uint32_t* pImageIndex)
-{
- AEMU_SCOPED_TRACE("vkAcquireNextImageKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkAcquireNextImageKHR_VkResult_return = (VkResult)0;
- vkAcquireNextImageKHR_VkResult_return = vkEnc->vkAcquireNextImageKHR(device, swapchain, timeout, semaphore, fence, pImageIndex);
- return vkAcquireNextImageKHR_VkResult_return;
-}
-static VkResult dynCheck_entry_vkAcquireNextImageKHR(
- VkDevice device,
- VkSwapchainKHR swapchain,
- uint64_t timeout,
- VkSemaphore semaphore,
- VkFence fence,
- uint32_t* pImageIndex)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_KHR_swapchain"))
- {
- sOnInvalidDynamicallyCheckedCall("vkAcquireNextImageKHR", "VK_KHR_swapchain");
- }
- AEMU_SCOPED_TRACE("vkAcquireNextImageKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkAcquireNextImageKHR_VkResult_return = (VkResult)0;
- vkAcquireNextImageKHR_VkResult_return = vkEnc->vkAcquireNextImageKHR(device, swapchain, timeout, semaphore, fence, pImageIndex);
- return vkAcquireNextImageKHR_VkResult_return;
-}
-static VkResult entry_vkQueuePresentKHR(
- VkQueue queue,
- const VkPresentInfoKHR* pPresentInfo)
-{
- AEMU_SCOPED_TRACE("vkQueuePresentKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForQueue(queue, vkEnc);
- VkResult vkQueuePresentKHR_VkResult_return = (VkResult)0;
- vkQueuePresentKHR_VkResult_return = vkEnc->vkQueuePresentKHR(queue, pPresentInfo);
- return vkQueuePresentKHR_VkResult_return;
-}
-static VkResult entry_vkGetDeviceGroupPresentCapabilitiesKHR(
- VkDevice device,
- VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities)
-{
- AEMU_SCOPED_TRACE("vkGetDeviceGroupPresentCapabilitiesKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetDeviceGroupPresentCapabilitiesKHR_VkResult_return = (VkResult)0;
- vkGetDeviceGroupPresentCapabilitiesKHR_VkResult_return = vkEnc->vkGetDeviceGroupPresentCapabilitiesKHR(device, pDeviceGroupPresentCapabilities);
- return vkGetDeviceGroupPresentCapabilitiesKHR_VkResult_return;
-}
-static VkResult dynCheck_entry_vkGetDeviceGroupPresentCapabilitiesKHR(
- VkDevice device,
- VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_KHR_swapchain"))
- {
- sOnInvalidDynamicallyCheckedCall("vkGetDeviceGroupPresentCapabilitiesKHR", "VK_KHR_swapchain");
- }
- AEMU_SCOPED_TRACE("vkGetDeviceGroupPresentCapabilitiesKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetDeviceGroupPresentCapabilitiesKHR_VkResult_return = (VkResult)0;
- vkGetDeviceGroupPresentCapabilitiesKHR_VkResult_return = vkEnc->vkGetDeviceGroupPresentCapabilitiesKHR(device, pDeviceGroupPresentCapabilities);
- return vkGetDeviceGroupPresentCapabilitiesKHR_VkResult_return;
-}
-static VkResult entry_vkGetDeviceGroupSurfacePresentModesKHR(
- VkDevice device,
- VkSurfaceKHR surface,
- VkDeviceGroupPresentModeFlagsKHR* pModes)
-{
- AEMU_SCOPED_TRACE("vkGetDeviceGroupSurfacePresentModesKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetDeviceGroupSurfacePresentModesKHR_VkResult_return = (VkResult)0;
- vkGetDeviceGroupSurfacePresentModesKHR_VkResult_return = vkEnc->vkGetDeviceGroupSurfacePresentModesKHR(device, surface, pModes);
- return vkGetDeviceGroupSurfacePresentModesKHR_VkResult_return;
-}
-static VkResult dynCheck_entry_vkGetDeviceGroupSurfacePresentModesKHR(
- VkDevice device,
- VkSurfaceKHR surface,
- VkDeviceGroupPresentModeFlagsKHR* pModes)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_KHR_swapchain"))
- {
- sOnInvalidDynamicallyCheckedCall("vkGetDeviceGroupSurfacePresentModesKHR", "VK_KHR_swapchain");
- }
- AEMU_SCOPED_TRACE("vkGetDeviceGroupSurfacePresentModesKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetDeviceGroupSurfacePresentModesKHR_VkResult_return = (VkResult)0;
- vkGetDeviceGroupSurfacePresentModesKHR_VkResult_return = vkEnc->vkGetDeviceGroupSurfacePresentModesKHR(device, surface, pModes);
- return vkGetDeviceGroupSurfacePresentModesKHR_VkResult_return;
-}
-static VkResult entry_vkGetPhysicalDevicePresentRectanglesKHR(
- VkPhysicalDevice physicalDevice,
- VkSurfaceKHR surface,
- uint32_t* pRectCount,
- VkRect2D* pRects)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDevicePresentRectanglesKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetPhysicalDevicePresentRectanglesKHR_VkResult_return = (VkResult)0;
- vkGetPhysicalDevicePresentRectanglesKHR_VkResult_return = vkEnc->vkGetPhysicalDevicePresentRectanglesKHR(physicalDevice, surface, pRectCount, pRects);
- return vkGetPhysicalDevicePresentRectanglesKHR_VkResult_return;
-}
-static VkResult entry_vkAcquireNextImage2KHR(
- VkDevice device,
- const VkAcquireNextImageInfoKHR* pAcquireInfo,
- uint32_t* pImageIndex)
-{
- AEMU_SCOPED_TRACE("vkAcquireNextImage2KHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkAcquireNextImage2KHR_VkResult_return = (VkResult)0;
- vkAcquireNextImage2KHR_VkResult_return = vkEnc->vkAcquireNextImage2KHR(device, pAcquireInfo, pImageIndex);
- return vkAcquireNextImage2KHR_VkResult_return;
-}
-static VkResult dynCheck_entry_vkAcquireNextImage2KHR(
- VkDevice device,
- const VkAcquireNextImageInfoKHR* pAcquireInfo,
- uint32_t* pImageIndex)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_KHR_swapchain"))
- {
- sOnInvalidDynamicallyCheckedCall("vkAcquireNextImage2KHR", "VK_KHR_swapchain");
- }
- AEMU_SCOPED_TRACE("vkAcquireNextImage2KHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkAcquireNextImage2KHR_VkResult_return = (VkResult)0;
- vkAcquireNextImage2KHR_VkResult_return = vkEnc->vkAcquireNextImage2KHR(device, pAcquireInfo, pImageIndex);
- return vkAcquireNextImage2KHR_VkResult_return;
-}
-#endif
-#ifdef VK_KHR_display
-static VkResult entry_vkGetPhysicalDeviceDisplayPropertiesKHR(
- VkPhysicalDevice physicalDevice,
- uint32_t* pPropertyCount,
- VkDisplayPropertiesKHR* pProperties)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceDisplayPropertiesKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetPhysicalDeviceDisplayPropertiesKHR_VkResult_return = (VkResult)0;
- vkGetPhysicalDeviceDisplayPropertiesKHR_VkResult_return = vkEnc->vkGetPhysicalDeviceDisplayPropertiesKHR(physicalDevice, pPropertyCount, pProperties);
- return vkGetPhysicalDeviceDisplayPropertiesKHR_VkResult_return;
-}
-static VkResult entry_vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
- VkPhysicalDevice physicalDevice,
- uint32_t* pPropertyCount,
- VkDisplayPlanePropertiesKHR* pProperties)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceDisplayPlanePropertiesKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetPhysicalDeviceDisplayPlanePropertiesKHR_VkResult_return = (VkResult)0;
- vkGetPhysicalDeviceDisplayPlanePropertiesKHR_VkResult_return = vkEnc->vkGetPhysicalDeviceDisplayPlanePropertiesKHR(physicalDevice, pPropertyCount, pProperties);
- return vkGetPhysicalDeviceDisplayPlanePropertiesKHR_VkResult_return;
-}
-static VkResult entry_vkGetDisplayPlaneSupportedDisplaysKHR(
- VkPhysicalDevice physicalDevice,
- uint32_t planeIndex,
- uint32_t* pDisplayCount,
- VkDisplayKHR* pDisplays)
-{
- AEMU_SCOPED_TRACE("vkGetDisplayPlaneSupportedDisplaysKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetDisplayPlaneSupportedDisplaysKHR_VkResult_return = (VkResult)0;
- vkGetDisplayPlaneSupportedDisplaysKHR_VkResult_return = vkEnc->vkGetDisplayPlaneSupportedDisplaysKHR(physicalDevice, planeIndex, pDisplayCount, pDisplays);
- return vkGetDisplayPlaneSupportedDisplaysKHR_VkResult_return;
-}
-static VkResult entry_vkGetDisplayModePropertiesKHR(
- VkPhysicalDevice physicalDevice,
- VkDisplayKHR display,
- uint32_t* pPropertyCount,
- VkDisplayModePropertiesKHR* pProperties)
-{
- AEMU_SCOPED_TRACE("vkGetDisplayModePropertiesKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetDisplayModePropertiesKHR_VkResult_return = (VkResult)0;
- vkGetDisplayModePropertiesKHR_VkResult_return = vkEnc->vkGetDisplayModePropertiesKHR(physicalDevice, display, pPropertyCount, pProperties);
- return vkGetDisplayModePropertiesKHR_VkResult_return;
-}
-static VkResult entry_vkCreateDisplayModeKHR(
- VkPhysicalDevice physicalDevice,
- VkDisplayKHR display,
- const VkDisplayModeCreateInfoKHR* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkDisplayModeKHR* pMode)
-{
- AEMU_SCOPED_TRACE("vkCreateDisplayModeKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateDisplayModeKHR_VkResult_return = (VkResult)0;
- vkCreateDisplayModeKHR_VkResult_return = vkEnc->vkCreateDisplayModeKHR(physicalDevice, display, pCreateInfo, pAllocator, pMode);
- return vkCreateDisplayModeKHR_VkResult_return;
-}
-static VkResult entry_vkGetDisplayPlaneCapabilitiesKHR(
- VkPhysicalDevice physicalDevice,
- VkDisplayModeKHR mode,
- uint32_t planeIndex,
- VkDisplayPlaneCapabilitiesKHR* pCapabilities)
-{
- AEMU_SCOPED_TRACE("vkGetDisplayPlaneCapabilitiesKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetDisplayPlaneCapabilitiesKHR_VkResult_return = (VkResult)0;
- vkGetDisplayPlaneCapabilitiesKHR_VkResult_return = vkEnc->vkGetDisplayPlaneCapabilitiesKHR(physicalDevice, mode, planeIndex, pCapabilities);
- return vkGetDisplayPlaneCapabilitiesKHR_VkResult_return;
-}
-static VkResult entry_vkCreateDisplayPlaneSurfaceKHR(
- VkInstance instance,
- const VkDisplaySurfaceCreateInfoKHR* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSurfaceKHR* pSurface)
-{
- AEMU_SCOPED_TRACE("vkCreateDisplayPlaneSurfaceKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateDisplayPlaneSurfaceKHR_VkResult_return = (VkResult)0;
- vkCreateDisplayPlaneSurfaceKHR_VkResult_return = vkEnc->vkCreateDisplayPlaneSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
- return vkCreateDisplayPlaneSurfaceKHR_VkResult_return;
-}
-#endif
-#ifdef VK_KHR_display_swapchain
-static VkResult entry_vkCreateSharedSwapchainsKHR(
- VkDevice device,
- uint32_t swapchainCount,
- const VkSwapchainCreateInfoKHR* pCreateInfos,
- const VkAllocationCallbacks* pAllocator,
- VkSwapchainKHR* pSwapchains)
-{
- AEMU_SCOPED_TRACE("vkCreateSharedSwapchainsKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateSharedSwapchainsKHR_VkResult_return = (VkResult)0;
- vkCreateSharedSwapchainsKHR_VkResult_return = vkEnc->vkCreateSharedSwapchainsKHR(device, swapchainCount, pCreateInfos, pAllocator, pSwapchains);
- return vkCreateSharedSwapchainsKHR_VkResult_return;
-}
-static VkResult dynCheck_entry_vkCreateSharedSwapchainsKHR(
- VkDevice device,
- uint32_t swapchainCount,
- const VkSwapchainCreateInfoKHR* pCreateInfos,
- const VkAllocationCallbacks* pAllocator,
- VkSwapchainKHR* pSwapchains)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_KHR_display_swapchain"))
- {
- sOnInvalidDynamicallyCheckedCall("vkCreateSharedSwapchainsKHR", "VK_KHR_display_swapchain");
- }
- AEMU_SCOPED_TRACE("vkCreateSharedSwapchainsKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateSharedSwapchainsKHR_VkResult_return = (VkResult)0;
- vkCreateSharedSwapchainsKHR_VkResult_return = vkEnc->vkCreateSharedSwapchainsKHR(device, swapchainCount, pCreateInfos, pAllocator, pSwapchains);
- return vkCreateSharedSwapchainsKHR_VkResult_return;
-}
-#endif
-#ifdef VK_KHR_xlib_surface
-static VkResult entry_vkCreateXlibSurfaceKHR(
- VkInstance instance,
- const VkXlibSurfaceCreateInfoKHR* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSurfaceKHR* pSurface)
-{
- AEMU_SCOPED_TRACE("vkCreateXlibSurfaceKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateXlibSurfaceKHR_VkResult_return = (VkResult)0;
- vkCreateXlibSurfaceKHR_VkResult_return = vkEnc->vkCreateXlibSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
- return vkCreateXlibSurfaceKHR_VkResult_return;
-}
-static VkBool32 entry_vkGetPhysicalDeviceXlibPresentationSupportKHR(
- VkPhysicalDevice physicalDevice,
- uint32_t queueFamilyIndex,
- Display* dpy,
- VisualID visualID)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceXlibPresentationSupportKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkBool32 vkGetPhysicalDeviceXlibPresentationSupportKHR_VkBool32_return = (VkBool32)0;
- vkGetPhysicalDeviceXlibPresentationSupportKHR_VkBool32_return = vkEnc->vkGetPhysicalDeviceXlibPresentationSupportKHR(physicalDevice, queueFamilyIndex, dpy, visualID);
- return vkGetPhysicalDeviceXlibPresentationSupportKHR_VkBool32_return;
-}
-#endif
-#ifdef VK_KHR_xcb_surface
-static VkResult entry_vkCreateXcbSurfaceKHR(
- VkInstance instance,
- const VkXcbSurfaceCreateInfoKHR* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSurfaceKHR* pSurface)
-{
- AEMU_SCOPED_TRACE("vkCreateXcbSurfaceKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateXcbSurfaceKHR_VkResult_return = (VkResult)0;
- vkCreateXcbSurfaceKHR_VkResult_return = vkEnc->vkCreateXcbSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
- return vkCreateXcbSurfaceKHR_VkResult_return;
-}
-static VkBool32 entry_vkGetPhysicalDeviceXcbPresentationSupportKHR(
- VkPhysicalDevice physicalDevice,
- uint32_t queueFamilyIndex,
- xcb_connection_t* connection,
- xcb_visualid_t visual_id)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceXcbPresentationSupportKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkBool32 vkGetPhysicalDeviceXcbPresentationSupportKHR_VkBool32_return = (VkBool32)0;
- vkGetPhysicalDeviceXcbPresentationSupportKHR_VkBool32_return = vkEnc->vkGetPhysicalDeviceXcbPresentationSupportKHR(physicalDevice, queueFamilyIndex, connection, visual_id);
- return vkGetPhysicalDeviceXcbPresentationSupportKHR_VkBool32_return;
-}
-#endif
-#ifdef VK_KHR_wayland_surface
-static VkResult entry_vkCreateWaylandSurfaceKHR(
- VkInstance instance,
- const VkWaylandSurfaceCreateInfoKHR* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSurfaceKHR* pSurface)
-{
- AEMU_SCOPED_TRACE("vkCreateWaylandSurfaceKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateWaylandSurfaceKHR_VkResult_return = (VkResult)0;
- vkCreateWaylandSurfaceKHR_VkResult_return = vkEnc->vkCreateWaylandSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
- return vkCreateWaylandSurfaceKHR_VkResult_return;
-}
-static VkBool32 entry_vkGetPhysicalDeviceWaylandPresentationSupportKHR(
- VkPhysicalDevice physicalDevice,
- uint32_t queueFamilyIndex,
- wl_display* display)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceWaylandPresentationSupportKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkBool32 vkGetPhysicalDeviceWaylandPresentationSupportKHR_VkBool32_return = (VkBool32)0;
- vkGetPhysicalDeviceWaylandPresentationSupportKHR_VkBool32_return = vkEnc->vkGetPhysicalDeviceWaylandPresentationSupportKHR(physicalDevice, queueFamilyIndex, display);
- return vkGetPhysicalDeviceWaylandPresentationSupportKHR_VkBool32_return;
-}
-#endif
-#ifdef VK_KHR_mir_surface
-static VkResult entry_vkCreateMirSurfaceKHR(
- VkInstance instance,
- const VkMirSurfaceCreateInfoKHR* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSurfaceKHR* pSurface)
-{
- AEMU_SCOPED_TRACE("vkCreateMirSurfaceKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateMirSurfaceKHR_VkResult_return = (VkResult)0;
- vkCreateMirSurfaceKHR_VkResult_return = vkEnc->vkCreateMirSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
- return vkCreateMirSurfaceKHR_VkResult_return;
-}
-static VkBool32 entry_vkGetPhysicalDeviceMirPresentationSupportKHR(
- VkPhysicalDevice physicalDevice,
- uint32_t queueFamilyIndex,
- MirConnection* connection)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceMirPresentationSupportKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkBool32 vkGetPhysicalDeviceMirPresentationSupportKHR_VkBool32_return = (VkBool32)0;
- vkGetPhysicalDeviceMirPresentationSupportKHR_VkBool32_return = vkEnc->vkGetPhysicalDeviceMirPresentationSupportKHR(physicalDevice, queueFamilyIndex, connection);
- return vkGetPhysicalDeviceMirPresentationSupportKHR_VkBool32_return;
-}
-#endif
-#ifdef VK_KHR_android_surface
-static VkResult entry_vkCreateAndroidSurfaceKHR(
- VkInstance instance,
- const VkAndroidSurfaceCreateInfoKHR* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSurfaceKHR* pSurface)
-{
- AEMU_SCOPED_TRACE("vkCreateAndroidSurfaceKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateAndroidSurfaceKHR_VkResult_return = (VkResult)0;
- vkCreateAndroidSurfaceKHR_VkResult_return = vkEnc->vkCreateAndroidSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
- return vkCreateAndroidSurfaceKHR_VkResult_return;
-}
-#endif
-#ifdef VK_KHR_win32_surface
-static VkResult entry_vkCreateWin32SurfaceKHR(
- VkInstance instance,
- const VkWin32SurfaceCreateInfoKHR* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSurfaceKHR* pSurface)
-{
- AEMU_SCOPED_TRACE("vkCreateWin32SurfaceKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateWin32SurfaceKHR_VkResult_return = (VkResult)0;
- vkCreateWin32SurfaceKHR_VkResult_return = vkEnc->vkCreateWin32SurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
- return vkCreateWin32SurfaceKHR_VkResult_return;
-}
-static VkBool32 entry_vkGetPhysicalDeviceWin32PresentationSupportKHR(
- VkPhysicalDevice physicalDevice,
- uint32_t queueFamilyIndex)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceWin32PresentationSupportKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkBool32 vkGetPhysicalDeviceWin32PresentationSupportKHR_VkBool32_return = (VkBool32)0;
- vkGetPhysicalDeviceWin32PresentationSupportKHR_VkBool32_return = vkEnc->vkGetPhysicalDeviceWin32PresentationSupportKHR(physicalDevice, queueFamilyIndex);
- return vkGetPhysicalDeviceWin32PresentationSupportKHR_VkBool32_return;
-}
-#endif
-#ifdef VK_KHR_sampler_mirror_clamp_to_edge
-#endif
-#ifdef VK_KHR_multiview
-#endif
-#ifdef VK_KHR_get_physical_device_properties2
-static void entry_vkGetPhysicalDeviceFeatures2KHR(
- VkPhysicalDevice physicalDevice,
- VkPhysicalDeviceFeatures2* pFeatures)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceFeatures2KHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetPhysicalDeviceFeatures2KHR(physicalDevice, pFeatures);
-}
-static void entry_vkGetPhysicalDeviceProperties2KHR(
- VkPhysicalDevice physicalDevice,
- VkPhysicalDeviceProperties2* pProperties)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceProperties2KHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetPhysicalDeviceProperties2KHR(physicalDevice, pProperties);
-}
-static void entry_vkGetPhysicalDeviceFormatProperties2KHR(
- VkPhysicalDevice physicalDevice,
- VkFormat format,
- VkFormatProperties2* pFormatProperties)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceFormatProperties2KHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetPhysicalDeviceFormatProperties2KHR(physicalDevice, format, pFormatProperties);
-}
-static VkResult entry_vkGetPhysicalDeviceImageFormatProperties2KHR(
- VkPhysicalDevice physicalDevice,
- const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
- VkImageFormatProperties2* pImageFormatProperties)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceImageFormatProperties2KHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetPhysicalDeviceImageFormatProperties2KHR_VkResult_return = (VkResult)0;
- auto resources = ResourceTracker::get();
- vkGetPhysicalDeviceImageFormatProperties2KHR_VkResult_return = resources->on_vkGetPhysicalDeviceImageFormatProperties2KHR(vkEnc, VK_SUCCESS, physicalDevice, pImageFormatInfo, pImageFormatProperties);
- return vkGetPhysicalDeviceImageFormatProperties2KHR_VkResult_return;
-}
-static void entry_vkGetPhysicalDeviceQueueFamilyProperties2KHR(
- VkPhysicalDevice physicalDevice,
- uint32_t* pQueueFamilyPropertyCount,
- VkQueueFamilyProperties2* pQueueFamilyProperties)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceQueueFamilyProperties2KHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetPhysicalDeviceQueueFamilyProperties2KHR(physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties);
-}
-static void entry_vkGetPhysicalDeviceMemoryProperties2KHR(
- VkPhysicalDevice physicalDevice,
- VkPhysicalDeviceMemoryProperties2* pMemoryProperties)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceMemoryProperties2KHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetPhysicalDeviceMemoryProperties2KHR(physicalDevice, pMemoryProperties);
-}
-static void entry_vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
- VkPhysicalDevice physicalDevice,
- const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
- uint32_t* pPropertyCount,
- VkSparseImageFormatProperties2* pProperties)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceSparseImageFormatProperties2KHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetPhysicalDeviceSparseImageFormatProperties2KHR(physicalDevice, pFormatInfo, pPropertyCount, pProperties);
-}
-#endif
-#ifdef VK_KHR_device_group
-static void entry_vkGetDeviceGroupPeerMemoryFeaturesKHR(
- VkDevice device,
- uint32_t heapIndex,
- uint32_t localDeviceIndex,
- uint32_t remoteDeviceIndex,
- VkPeerMemoryFeatureFlags* pPeerMemoryFeatures)
-{
- AEMU_SCOPED_TRACE("vkGetDeviceGroupPeerMemoryFeaturesKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetDeviceGroupPeerMemoryFeaturesKHR(device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures);
-}
-static void dynCheck_entry_vkGetDeviceGroupPeerMemoryFeaturesKHR(
- VkDevice device,
- uint32_t heapIndex,
- uint32_t localDeviceIndex,
- uint32_t remoteDeviceIndex,
- VkPeerMemoryFeatureFlags* pPeerMemoryFeatures)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_KHR_device_group"))
- {
- sOnInvalidDynamicallyCheckedCall("vkGetDeviceGroupPeerMemoryFeaturesKHR", "VK_KHR_device_group");
- }
- AEMU_SCOPED_TRACE("vkGetDeviceGroupPeerMemoryFeaturesKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetDeviceGroupPeerMemoryFeaturesKHR(device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures);
-}
-static void entry_vkCmdSetDeviceMaskKHR(
- VkCommandBuffer commandBuffer,
- uint32_t deviceMask)
-{
- AEMU_SCOPED_TRACE("vkCmdSetDeviceMaskKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdSetDeviceMaskKHR(commandBuffer, deviceMask);
-}
-static void entry_vkCmdDispatchBaseKHR(
- VkCommandBuffer commandBuffer,
- uint32_t baseGroupX,
- uint32_t baseGroupY,
- uint32_t baseGroupZ,
- uint32_t groupCountX,
- uint32_t groupCountY,
- uint32_t groupCountZ)
-{
- AEMU_SCOPED_TRACE("vkCmdDispatchBaseKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdDispatchBaseKHR(commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ);
-}
-#endif
-#ifdef VK_KHR_shader_draw_parameters
-#endif
-#ifdef VK_KHR_maintenance1
-static void entry_vkTrimCommandPoolKHR(
- VkDevice device,
- VkCommandPool commandPool,
- VkCommandPoolTrimFlags flags)
-{
- AEMU_SCOPED_TRACE("vkTrimCommandPoolKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkTrimCommandPoolKHR(device, commandPool, flags);
-}
-static void dynCheck_entry_vkTrimCommandPoolKHR(
- VkDevice device,
- VkCommandPool commandPool,
- VkCommandPoolTrimFlags flags)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_KHR_maintenance1"))
- {
- sOnInvalidDynamicallyCheckedCall("vkTrimCommandPoolKHR", "VK_KHR_maintenance1");
- }
- AEMU_SCOPED_TRACE("vkTrimCommandPoolKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkTrimCommandPoolKHR(device, commandPool, flags);
-}
-#endif
-#ifdef VK_KHR_device_group_creation
-static VkResult entry_vkEnumeratePhysicalDeviceGroupsKHR(
- VkInstance instance,
- uint32_t* pPhysicalDeviceGroupCount,
- VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties)
-{
- AEMU_SCOPED_TRACE("vkEnumeratePhysicalDeviceGroupsKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkEnumeratePhysicalDeviceGroupsKHR_VkResult_return = (VkResult)0;
- vkEnumeratePhysicalDeviceGroupsKHR_VkResult_return = vkEnc->vkEnumeratePhysicalDeviceGroupsKHR(instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties);
- return vkEnumeratePhysicalDeviceGroupsKHR_VkResult_return;
-}
-#endif
-#ifdef VK_KHR_external_memory_capabilities
-static void entry_vkGetPhysicalDeviceExternalBufferPropertiesKHR(
- VkPhysicalDevice physicalDevice,
- const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
- VkExternalBufferProperties* pExternalBufferProperties)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceExternalBufferPropertiesKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetPhysicalDeviceExternalBufferPropertiesKHR(physicalDevice, pExternalBufferInfo, pExternalBufferProperties);
-}
-#endif
-#ifdef VK_KHR_external_memory
-#endif
-#ifdef VK_KHR_external_memory_win32
-static VkResult entry_vkGetMemoryWin32HandleKHR(
- VkDevice device,
- const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo,
- HANDLE* pHandle)
-{
- AEMU_SCOPED_TRACE("vkGetMemoryWin32HandleKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetMemoryWin32HandleKHR_VkResult_return = (VkResult)0;
- vkGetMemoryWin32HandleKHR_VkResult_return = vkEnc->vkGetMemoryWin32HandleKHR(device, pGetWin32HandleInfo, pHandle);
- return vkGetMemoryWin32HandleKHR_VkResult_return;
-}
-static VkResult dynCheck_entry_vkGetMemoryWin32HandleKHR(
- VkDevice device,
- const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo,
- HANDLE* pHandle)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_KHR_external_memory_win32"))
- {
- sOnInvalidDynamicallyCheckedCall("vkGetMemoryWin32HandleKHR", "VK_KHR_external_memory_win32");
- }
- AEMU_SCOPED_TRACE("vkGetMemoryWin32HandleKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetMemoryWin32HandleKHR_VkResult_return = (VkResult)0;
- vkGetMemoryWin32HandleKHR_VkResult_return = vkEnc->vkGetMemoryWin32HandleKHR(device, pGetWin32HandleInfo, pHandle);
- return vkGetMemoryWin32HandleKHR_VkResult_return;
-}
-static VkResult entry_vkGetMemoryWin32HandlePropertiesKHR(
- VkDevice device,
- VkExternalMemoryHandleTypeFlagBits handleType,
- HANDLE handle,
- VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties)
-{
- AEMU_SCOPED_TRACE("vkGetMemoryWin32HandlePropertiesKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetMemoryWin32HandlePropertiesKHR_VkResult_return = (VkResult)0;
- vkGetMemoryWin32HandlePropertiesKHR_VkResult_return = vkEnc->vkGetMemoryWin32HandlePropertiesKHR(device, handleType, handle, pMemoryWin32HandleProperties);
- return vkGetMemoryWin32HandlePropertiesKHR_VkResult_return;
-}
-static VkResult dynCheck_entry_vkGetMemoryWin32HandlePropertiesKHR(
- VkDevice device,
- VkExternalMemoryHandleTypeFlagBits handleType,
- HANDLE handle,
- VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_KHR_external_memory_win32"))
- {
- sOnInvalidDynamicallyCheckedCall("vkGetMemoryWin32HandlePropertiesKHR", "VK_KHR_external_memory_win32");
- }
- AEMU_SCOPED_TRACE("vkGetMemoryWin32HandlePropertiesKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetMemoryWin32HandlePropertiesKHR_VkResult_return = (VkResult)0;
- vkGetMemoryWin32HandlePropertiesKHR_VkResult_return = vkEnc->vkGetMemoryWin32HandlePropertiesKHR(device, handleType, handle, pMemoryWin32HandleProperties);
- return vkGetMemoryWin32HandlePropertiesKHR_VkResult_return;
-}
-#endif
-#ifdef VK_KHR_external_memory_fd
-static VkResult entry_vkGetMemoryFdKHR(
- VkDevice device,
- const VkMemoryGetFdInfoKHR* pGetFdInfo,
- int* pFd)
-{
- AEMU_SCOPED_TRACE("vkGetMemoryFdKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetMemoryFdKHR_VkResult_return = (VkResult)0;
- vkGetMemoryFdKHR_VkResult_return = vkEnc->vkGetMemoryFdKHR(device, pGetFdInfo, pFd);
- return vkGetMemoryFdKHR_VkResult_return;
-}
-static VkResult dynCheck_entry_vkGetMemoryFdKHR(
- VkDevice device,
- const VkMemoryGetFdInfoKHR* pGetFdInfo,
- int* pFd)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_KHR_external_memory_fd"))
- {
- sOnInvalidDynamicallyCheckedCall("vkGetMemoryFdKHR", "VK_KHR_external_memory_fd");
- }
- AEMU_SCOPED_TRACE("vkGetMemoryFdKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetMemoryFdKHR_VkResult_return = (VkResult)0;
- vkGetMemoryFdKHR_VkResult_return = vkEnc->vkGetMemoryFdKHR(device, pGetFdInfo, pFd);
- return vkGetMemoryFdKHR_VkResult_return;
-}
-static VkResult entry_vkGetMemoryFdPropertiesKHR(
- VkDevice device,
- VkExternalMemoryHandleTypeFlagBits handleType,
- int fd,
- VkMemoryFdPropertiesKHR* pMemoryFdProperties)
-{
- AEMU_SCOPED_TRACE("vkGetMemoryFdPropertiesKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetMemoryFdPropertiesKHR_VkResult_return = (VkResult)0;
- vkGetMemoryFdPropertiesKHR_VkResult_return = vkEnc->vkGetMemoryFdPropertiesKHR(device, handleType, fd, pMemoryFdProperties);
- return vkGetMemoryFdPropertiesKHR_VkResult_return;
-}
-static VkResult dynCheck_entry_vkGetMemoryFdPropertiesKHR(
- VkDevice device,
- VkExternalMemoryHandleTypeFlagBits handleType,
- int fd,
- VkMemoryFdPropertiesKHR* pMemoryFdProperties)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_KHR_external_memory_fd"))
- {
- sOnInvalidDynamicallyCheckedCall("vkGetMemoryFdPropertiesKHR", "VK_KHR_external_memory_fd");
- }
- AEMU_SCOPED_TRACE("vkGetMemoryFdPropertiesKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetMemoryFdPropertiesKHR_VkResult_return = (VkResult)0;
- vkGetMemoryFdPropertiesKHR_VkResult_return = vkEnc->vkGetMemoryFdPropertiesKHR(device, handleType, fd, pMemoryFdProperties);
- return vkGetMemoryFdPropertiesKHR_VkResult_return;
-}
-#endif
-#ifdef VK_KHR_win32_keyed_mutex
-#endif
-#ifdef VK_KHR_external_semaphore_capabilities
-static void entry_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
- VkPhysicalDevice physicalDevice,
- const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
- VkExternalSemaphoreProperties* pExternalSemaphoreProperties)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceExternalSemaphorePropertiesKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties);
-}
-#endif
-#ifdef VK_KHR_external_semaphore
-#endif
-#ifdef VK_KHR_external_semaphore_win32
-static VkResult entry_vkImportSemaphoreWin32HandleKHR(
- VkDevice device,
- const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo)
-{
- AEMU_SCOPED_TRACE("vkImportSemaphoreWin32HandleKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkImportSemaphoreWin32HandleKHR_VkResult_return = (VkResult)0;
- vkImportSemaphoreWin32HandleKHR_VkResult_return = vkEnc->vkImportSemaphoreWin32HandleKHR(device, pImportSemaphoreWin32HandleInfo);
- return vkImportSemaphoreWin32HandleKHR_VkResult_return;
-}
-static VkResult dynCheck_entry_vkImportSemaphoreWin32HandleKHR(
- VkDevice device,
- const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_KHR_external_semaphore_win32"))
- {
- sOnInvalidDynamicallyCheckedCall("vkImportSemaphoreWin32HandleKHR", "VK_KHR_external_semaphore_win32");
- }
- AEMU_SCOPED_TRACE("vkImportSemaphoreWin32HandleKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkImportSemaphoreWin32HandleKHR_VkResult_return = (VkResult)0;
- vkImportSemaphoreWin32HandleKHR_VkResult_return = vkEnc->vkImportSemaphoreWin32HandleKHR(device, pImportSemaphoreWin32HandleInfo);
- return vkImportSemaphoreWin32HandleKHR_VkResult_return;
-}
-static VkResult entry_vkGetSemaphoreWin32HandleKHR(
- VkDevice device,
- const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo,
- HANDLE* pHandle)
-{
- AEMU_SCOPED_TRACE("vkGetSemaphoreWin32HandleKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetSemaphoreWin32HandleKHR_VkResult_return = (VkResult)0;
- vkGetSemaphoreWin32HandleKHR_VkResult_return = vkEnc->vkGetSemaphoreWin32HandleKHR(device, pGetWin32HandleInfo, pHandle);
- return vkGetSemaphoreWin32HandleKHR_VkResult_return;
-}
-static VkResult dynCheck_entry_vkGetSemaphoreWin32HandleKHR(
- VkDevice device,
- const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo,
- HANDLE* pHandle)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_KHR_external_semaphore_win32"))
- {
- sOnInvalidDynamicallyCheckedCall("vkGetSemaphoreWin32HandleKHR", "VK_KHR_external_semaphore_win32");
- }
- AEMU_SCOPED_TRACE("vkGetSemaphoreWin32HandleKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetSemaphoreWin32HandleKHR_VkResult_return = (VkResult)0;
- vkGetSemaphoreWin32HandleKHR_VkResult_return = vkEnc->vkGetSemaphoreWin32HandleKHR(device, pGetWin32HandleInfo, pHandle);
- return vkGetSemaphoreWin32HandleKHR_VkResult_return;
-}
-#endif
-#ifdef VK_KHR_external_semaphore_fd
-static VkResult entry_vkImportSemaphoreFdKHR(
- VkDevice device,
- const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo)
-{
- AEMU_SCOPED_TRACE("vkImportSemaphoreFdKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkImportSemaphoreFdKHR_VkResult_return = (VkResult)0;
- auto resources = ResourceTracker::get();
- vkImportSemaphoreFdKHR_VkResult_return = resources->on_vkImportSemaphoreFdKHR(vkEnc, VK_SUCCESS, device, pImportSemaphoreFdInfo);
- return vkImportSemaphoreFdKHR_VkResult_return;
-}
-static VkResult dynCheck_entry_vkImportSemaphoreFdKHR(
- VkDevice device,
- const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_KHR_external_semaphore_fd"))
- {
- sOnInvalidDynamicallyCheckedCall("vkImportSemaphoreFdKHR", "VK_KHR_external_semaphore_fd");
- }
- AEMU_SCOPED_TRACE("vkImportSemaphoreFdKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkImportSemaphoreFdKHR_VkResult_return = (VkResult)0;
- vkImportSemaphoreFdKHR_VkResult_return = resources->on_vkImportSemaphoreFdKHR(vkEnc, VK_SUCCESS, device, pImportSemaphoreFdInfo);
- return vkImportSemaphoreFdKHR_VkResult_return;
-}
-static VkResult entry_vkGetSemaphoreFdKHR(
- VkDevice device,
- const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
- int* pFd)
-{
- AEMU_SCOPED_TRACE("vkGetSemaphoreFdKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetSemaphoreFdKHR_VkResult_return = (VkResult)0;
- auto resources = ResourceTracker::get();
- vkGetSemaphoreFdKHR_VkResult_return = resources->on_vkGetSemaphoreFdKHR(vkEnc, VK_SUCCESS, device, pGetFdInfo, pFd);
- return vkGetSemaphoreFdKHR_VkResult_return;
-}
-static VkResult dynCheck_entry_vkGetSemaphoreFdKHR(
- VkDevice device,
- const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
- int* pFd)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_KHR_external_semaphore_fd"))
- {
- sOnInvalidDynamicallyCheckedCall("vkGetSemaphoreFdKHR", "VK_KHR_external_semaphore_fd");
- }
- AEMU_SCOPED_TRACE("vkGetSemaphoreFdKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetSemaphoreFdKHR_VkResult_return = (VkResult)0;
- vkGetSemaphoreFdKHR_VkResult_return = resources->on_vkGetSemaphoreFdKHR(vkEnc, VK_SUCCESS, device, pGetFdInfo, pFd);
- return vkGetSemaphoreFdKHR_VkResult_return;
-}
-#endif
-#ifdef VK_KHR_push_descriptor
-static void entry_vkCmdPushDescriptorSetKHR(
- VkCommandBuffer commandBuffer,
- VkPipelineBindPoint pipelineBindPoint,
- VkPipelineLayout layout,
- uint32_t set,
- uint32_t descriptorWriteCount,
- const VkWriteDescriptorSet* pDescriptorWrites)
-{
- AEMU_SCOPED_TRACE("vkCmdPushDescriptorSetKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdPushDescriptorSetKHR(commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites);
-}
-static void entry_vkCmdPushDescriptorSetWithTemplateKHR(
- VkCommandBuffer commandBuffer,
- VkDescriptorUpdateTemplate descriptorUpdateTemplate,
- VkPipelineLayout layout,
- uint32_t set,
- const void* pData)
-{
- AEMU_SCOPED_TRACE("vkCmdPushDescriptorSetWithTemplateKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdPushDescriptorSetWithTemplateKHR(commandBuffer, descriptorUpdateTemplate, layout, set, pData);
-}
-#endif
-#ifdef VK_KHR_16bit_storage
-#endif
-#ifdef VK_KHR_incremental_present
-#endif
-#ifdef VK_KHR_descriptor_update_template
-static VkResult entry_vkCreateDescriptorUpdateTemplateKHR(
- VkDevice device,
- const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate)
-{
- AEMU_SCOPED_TRACE("vkCreateDescriptorUpdateTemplateKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateDescriptorUpdateTemplateKHR_VkResult_return = (VkResult)0;
- vkCreateDescriptorUpdateTemplateKHR_VkResult_return = vkEnc->vkCreateDescriptorUpdateTemplateKHR(device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate);
- return vkCreateDescriptorUpdateTemplateKHR_VkResult_return;
-}
-static VkResult dynCheck_entry_vkCreateDescriptorUpdateTemplateKHR(
- VkDevice device,
- const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_KHR_descriptor_update_template"))
- {
- sOnInvalidDynamicallyCheckedCall("vkCreateDescriptorUpdateTemplateKHR", "VK_KHR_descriptor_update_template");
- }
- AEMU_SCOPED_TRACE("vkCreateDescriptorUpdateTemplateKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateDescriptorUpdateTemplateKHR_VkResult_return = (VkResult)0;
- vkCreateDescriptorUpdateTemplateKHR_VkResult_return = vkEnc->vkCreateDescriptorUpdateTemplateKHR(device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate);
- return vkCreateDescriptorUpdateTemplateKHR_VkResult_return;
-}
-static void entry_vkDestroyDescriptorUpdateTemplateKHR(
- VkDevice device,
- VkDescriptorUpdateTemplate descriptorUpdateTemplate,
- const VkAllocationCallbacks* pAllocator)
-{
- AEMU_SCOPED_TRACE("vkDestroyDescriptorUpdateTemplateKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkDestroyDescriptorUpdateTemplateKHR(device, descriptorUpdateTemplate, pAllocator);
-}
-static void dynCheck_entry_vkDestroyDescriptorUpdateTemplateKHR(
- VkDevice device,
- VkDescriptorUpdateTemplate descriptorUpdateTemplate,
- const VkAllocationCallbacks* pAllocator)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_KHR_descriptor_update_template"))
- {
- sOnInvalidDynamicallyCheckedCall("vkDestroyDescriptorUpdateTemplateKHR", "VK_KHR_descriptor_update_template");
- }
- AEMU_SCOPED_TRACE("vkDestroyDescriptorUpdateTemplateKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkDestroyDescriptorUpdateTemplateKHR(device, descriptorUpdateTemplate, pAllocator);
-}
-static void entry_vkUpdateDescriptorSetWithTemplateKHR(
- VkDevice device,
- VkDescriptorSet descriptorSet,
- VkDescriptorUpdateTemplate descriptorUpdateTemplate,
- const void* pData)
-{
- AEMU_SCOPED_TRACE("vkUpdateDescriptorSetWithTemplateKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkUpdateDescriptorSetWithTemplateKHR(device, descriptorSet, descriptorUpdateTemplate, pData);
-}
-static void dynCheck_entry_vkUpdateDescriptorSetWithTemplateKHR(
- VkDevice device,
- VkDescriptorSet descriptorSet,
- VkDescriptorUpdateTemplate descriptorUpdateTemplate,
- const void* pData)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_KHR_descriptor_update_template"))
- {
- sOnInvalidDynamicallyCheckedCall("vkUpdateDescriptorSetWithTemplateKHR", "VK_KHR_descriptor_update_template");
- }
- AEMU_SCOPED_TRACE("vkUpdateDescriptorSetWithTemplateKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkUpdateDescriptorSetWithTemplateKHR(device, descriptorSet, descriptorUpdateTemplate, pData);
-}
-#endif
-#ifdef VK_KHR_create_renderpass2
-static VkResult entry_vkCreateRenderPass2KHR(
- VkDevice device,
- const VkRenderPassCreateInfo2KHR* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkRenderPass* pRenderPass)
-{
- AEMU_SCOPED_TRACE("vkCreateRenderPass2KHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateRenderPass2KHR_VkResult_return = (VkResult)0;
- vkCreateRenderPass2KHR_VkResult_return = vkEnc->vkCreateRenderPass2KHR(device, pCreateInfo, pAllocator, pRenderPass);
- return vkCreateRenderPass2KHR_VkResult_return;
-}
-static VkResult dynCheck_entry_vkCreateRenderPass2KHR(
- VkDevice device,
- const VkRenderPassCreateInfo2KHR* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkRenderPass* pRenderPass)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_KHR_create_renderpass2"))
- {
- sOnInvalidDynamicallyCheckedCall("vkCreateRenderPass2KHR", "VK_KHR_create_renderpass2");
- }
- AEMU_SCOPED_TRACE("vkCreateRenderPass2KHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateRenderPass2KHR_VkResult_return = (VkResult)0;
- vkCreateRenderPass2KHR_VkResult_return = vkEnc->vkCreateRenderPass2KHR(device, pCreateInfo, pAllocator, pRenderPass);
- return vkCreateRenderPass2KHR_VkResult_return;
-}
-static void entry_vkCmdBeginRenderPass2KHR(
- VkCommandBuffer commandBuffer,
- const VkRenderPassBeginInfo* pRenderPassBegin,
- const VkSubpassBeginInfoKHR* pSubpassBeginInfo)
-{
- AEMU_SCOPED_TRACE("vkCmdBeginRenderPass2KHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdBeginRenderPass2KHR(commandBuffer, pRenderPassBegin, pSubpassBeginInfo);
-}
-static void entry_vkCmdNextSubpass2KHR(
- VkCommandBuffer commandBuffer,
- const VkSubpassBeginInfoKHR* pSubpassBeginInfo,
- const VkSubpassEndInfoKHR* pSubpassEndInfo)
-{
- AEMU_SCOPED_TRACE("vkCmdNextSubpass2KHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdNextSubpass2KHR(commandBuffer, pSubpassBeginInfo, pSubpassEndInfo);
-}
-static void entry_vkCmdEndRenderPass2KHR(
- VkCommandBuffer commandBuffer,
- const VkSubpassEndInfoKHR* pSubpassEndInfo)
-{
- AEMU_SCOPED_TRACE("vkCmdEndRenderPass2KHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdEndRenderPass2KHR(commandBuffer, pSubpassEndInfo);
-}
-#endif
-#ifdef VK_KHR_shared_presentable_image
-static VkResult entry_vkGetSwapchainStatusKHR(
- VkDevice device,
- VkSwapchainKHR swapchain)
-{
- AEMU_SCOPED_TRACE("vkGetSwapchainStatusKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetSwapchainStatusKHR_VkResult_return = (VkResult)0;
- vkGetSwapchainStatusKHR_VkResult_return = vkEnc->vkGetSwapchainStatusKHR(device, swapchain);
- return vkGetSwapchainStatusKHR_VkResult_return;
-}
-static VkResult dynCheck_entry_vkGetSwapchainStatusKHR(
- VkDevice device,
- VkSwapchainKHR swapchain)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_KHR_shared_presentable_image"))
- {
- sOnInvalidDynamicallyCheckedCall("vkGetSwapchainStatusKHR", "VK_KHR_shared_presentable_image");
- }
- AEMU_SCOPED_TRACE("vkGetSwapchainStatusKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetSwapchainStatusKHR_VkResult_return = (VkResult)0;
- vkGetSwapchainStatusKHR_VkResult_return = vkEnc->vkGetSwapchainStatusKHR(device, swapchain);
- return vkGetSwapchainStatusKHR_VkResult_return;
-}
-#endif
-#ifdef VK_KHR_external_fence_capabilities
-static void entry_vkGetPhysicalDeviceExternalFencePropertiesKHR(
- VkPhysicalDevice physicalDevice,
- const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
- VkExternalFenceProperties* pExternalFenceProperties)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceExternalFencePropertiesKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- auto resources = ResourceTracker::get();
- resources->on_vkGetPhysicalDeviceExternalFencePropertiesKHR(vkEnc, physicalDevice, pExternalFenceInfo, pExternalFenceProperties);
-}
-#endif
-#ifdef VK_KHR_external_fence
-#endif
-#ifdef VK_KHR_external_fence_win32
-static VkResult entry_vkImportFenceWin32HandleKHR(
- VkDevice device,
- const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo)
-{
- AEMU_SCOPED_TRACE("vkImportFenceWin32HandleKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkImportFenceWin32HandleKHR_VkResult_return = (VkResult)0;
- vkImportFenceWin32HandleKHR_VkResult_return = vkEnc->vkImportFenceWin32HandleKHR(device, pImportFenceWin32HandleInfo);
- return vkImportFenceWin32HandleKHR_VkResult_return;
-}
-static VkResult dynCheck_entry_vkImportFenceWin32HandleKHR(
- VkDevice device,
- const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_KHR_external_fence_win32"))
- {
- sOnInvalidDynamicallyCheckedCall("vkImportFenceWin32HandleKHR", "VK_KHR_external_fence_win32");
- }
- AEMU_SCOPED_TRACE("vkImportFenceWin32HandleKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkImportFenceWin32HandleKHR_VkResult_return = (VkResult)0;
- vkImportFenceWin32HandleKHR_VkResult_return = vkEnc->vkImportFenceWin32HandleKHR(device, pImportFenceWin32HandleInfo);
- return vkImportFenceWin32HandleKHR_VkResult_return;
-}
-static VkResult entry_vkGetFenceWin32HandleKHR(
- VkDevice device,
- const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo,
- HANDLE* pHandle)
-{
- AEMU_SCOPED_TRACE("vkGetFenceWin32HandleKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetFenceWin32HandleKHR_VkResult_return = (VkResult)0;
- vkGetFenceWin32HandleKHR_VkResult_return = vkEnc->vkGetFenceWin32HandleKHR(device, pGetWin32HandleInfo, pHandle);
- return vkGetFenceWin32HandleKHR_VkResult_return;
-}
-static VkResult dynCheck_entry_vkGetFenceWin32HandleKHR(
- VkDevice device,
- const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo,
- HANDLE* pHandle)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_KHR_external_fence_win32"))
- {
- sOnInvalidDynamicallyCheckedCall("vkGetFenceWin32HandleKHR", "VK_KHR_external_fence_win32");
- }
- AEMU_SCOPED_TRACE("vkGetFenceWin32HandleKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetFenceWin32HandleKHR_VkResult_return = (VkResult)0;
- vkGetFenceWin32HandleKHR_VkResult_return = vkEnc->vkGetFenceWin32HandleKHR(device, pGetWin32HandleInfo, pHandle);
- return vkGetFenceWin32HandleKHR_VkResult_return;
-}
-#endif
-#ifdef VK_KHR_external_fence_fd
-static VkResult entry_vkImportFenceFdKHR(
- VkDevice device,
- const VkImportFenceFdInfoKHR* pImportFenceFdInfo)
-{
- AEMU_SCOPED_TRACE("vkImportFenceFdKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkImportFenceFdKHR_VkResult_return = (VkResult)0;
- auto resources = ResourceTracker::get();
- vkImportFenceFdKHR_VkResult_return = resources->on_vkImportFenceFdKHR(vkEnc, VK_SUCCESS, device, pImportFenceFdInfo);
- return vkImportFenceFdKHR_VkResult_return;
-}
-static VkResult dynCheck_entry_vkImportFenceFdKHR(
- VkDevice device,
- const VkImportFenceFdInfoKHR* pImportFenceFdInfo)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_KHR_external_fence_fd"))
- {
- sOnInvalidDynamicallyCheckedCall("vkImportFenceFdKHR", "VK_KHR_external_fence_fd");
- }
- AEMU_SCOPED_TRACE("vkImportFenceFdKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkImportFenceFdKHR_VkResult_return = (VkResult)0;
- vkImportFenceFdKHR_VkResult_return = resources->on_vkImportFenceFdKHR(vkEnc, VK_SUCCESS, device, pImportFenceFdInfo);
- return vkImportFenceFdKHR_VkResult_return;
-}
-static VkResult entry_vkGetFenceFdKHR(
- VkDevice device,
- const VkFenceGetFdInfoKHR* pGetFdInfo,
- int* pFd)
-{
- AEMU_SCOPED_TRACE("vkGetFenceFdKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetFenceFdKHR_VkResult_return = (VkResult)0;
- auto resources = ResourceTracker::get();
- vkGetFenceFdKHR_VkResult_return = resources->on_vkGetFenceFdKHR(vkEnc, VK_SUCCESS, device, pGetFdInfo, pFd);
- return vkGetFenceFdKHR_VkResult_return;
-}
-static VkResult dynCheck_entry_vkGetFenceFdKHR(
- VkDevice device,
- const VkFenceGetFdInfoKHR* pGetFdInfo,
- int* pFd)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_KHR_external_fence_fd"))
- {
- sOnInvalidDynamicallyCheckedCall("vkGetFenceFdKHR", "VK_KHR_external_fence_fd");
- }
- AEMU_SCOPED_TRACE("vkGetFenceFdKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetFenceFdKHR_VkResult_return = (VkResult)0;
- vkGetFenceFdKHR_VkResult_return = resources->on_vkGetFenceFdKHR(vkEnc, VK_SUCCESS, device, pGetFdInfo, pFd);
- return vkGetFenceFdKHR_VkResult_return;
-}
-#endif
-#ifdef VK_KHR_maintenance2
-#endif
-#ifdef VK_KHR_get_surface_capabilities2
-static VkResult entry_vkGetPhysicalDeviceSurfaceCapabilities2KHR(
- VkPhysicalDevice physicalDevice,
- const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
- VkSurfaceCapabilities2KHR* pSurfaceCapabilities)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceSurfaceCapabilities2KHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetPhysicalDeviceSurfaceCapabilities2KHR_VkResult_return = (VkResult)0;
- vkGetPhysicalDeviceSurfaceCapabilities2KHR_VkResult_return = vkEnc->vkGetPhysicalDeviceSurfaceCapabilities2KHR(physicalDevice, pSurfaceInfo, pSurfaceCapabilities);
- return vkGetPhysicalDeviceSurfaceCapabilities2KHR_VkResult_return;
-}
-static VkResult entry_vkGetPhysicalDeviceSurfaceFormats2KHR(
- VkPhysicalDevice physicalDevice,
- const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
- uint32_t* pSurfaceFormatCount,
- VkSurfaceFormat2KHR* pSurfaceFormats)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceSurfaceFormats2KHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetPhysicalDeviceSurfaceFormats2KHR_VkResult_return = (VkResult)0;
- vkGetPhysicalDeviceSurfaceFormats2KHR_VkResult_return = vkEnc->vkGetPhysicalDeviceSurfaceFormats2KHR(physicalDevice, pSurfaceInfo, pSurfaceFormatCount, pSurfaceFormats);
- return vkGetPhysicalDeviceSurfaceFormats2KHR_VkResult_return;
-}
-#endif
-#ifdef VK_KHR_variable_pointers
-#endif
-#ifdef VK_KHR_get_display_properties2
-static VkResult entry_vkGetPhysicalDeviceDisplayProperties2KHR(
- VkPhysicalDevice physicalDevice,
- uint32_t* pPropertyCount,
- VkDisplayProperties2KHR* pProperties)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceDisplayProperties2KHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetPhysicalDeviceDisplayProperties2KHR_VkResult_return = (VkResult)0;
- vkGetPhysicalDeviceDisplayProperties2KHR_VkResult_return = vkEnc->vkGetPhysicalDeviceDisplayProperties2KHR(physicalDevice, pPropertyCount, pProperties);
- return vkGetPhysicalDeviceDisplayProperties2KHR_VkResult_return;
-}
-static VkResult entry_vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
- VkPhysicalDevice physicalDevice,
- uint32_t* pPropertyCount,
- VkDisplayPlaneProperties2KHR* pProperties)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceDisplayPlaneProperties2KHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetPhysicalDeviceDisplayPlaneProperties2KHR_VkResult_return = (VkResult)0;
- vkGetPhysicalDeviceDisplayPlaneProperties2KHR_VkResult_return = vkEnc->vkGetPhysicalDeviceDisplayPlaneProperties2KHR(physicalDevice, pPropertyCount, pProperties);
- return vkGetPhysicalDeviceDisplayPlaneProperties2KHR_VkResult_return;
-}
-static VkResult entry_vkGetDisplayModeProperties2KHR(
- VkPhysicalDevice physicalDevice,
- VkDisplayKHR display,
- uint32_t* pPropertyCount,
- VkDisplayModeProperties2KHR* pProperties)
-{
- AEMU_SCOPED_TRACE("vkGetDisplayModeProperties2KHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetDisplayModeProperties2KHR_VkResult_return = (VkResult)0;
- vkGetDisplayModeProperties2KHR_VkResult_return = vkEnc->vkGetDisplayModeProperties2KHR(physicalDevice, display, pPropertyCount, pProperties);
- return vkGetDisplayModeProperties2KHR_VkResult_return;
-}
-static VkResult entry_vkGetDisplayPlaneCapabilities2KHR(
- VkPhysicalDevice physicalDevice,
- const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo,
- VkDisplayPlaneCapabilities2KHR* pCapabilities)
-{
- AEMU_SCOPED_TRACE("vkGetDisplayPlaneCapabilities2KHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetDisplayPlaneCapabilities2KHR_VkResult_return = (VkResult)0;
- vkGetDisplayPlaneCapabilities2KHR_VkResult_return = vkEnc->vkGetDisplayPlaneCapabilities2KHR(physicalDevice, pDisplayPlaneInfo, pCapabilities);
- return vkGetDisplayPlaneCapabilities2KHR_VkResult_return;
-}
-#endif
-#ifdef VK_KHR_dedicated_allocation
-#endif
-#ifdef VK_KHR_storage_buffer_storage_class
-#endif
-#ifdef VK_KHR_relaxed_block_layout
-#endif
-#ifdef VK_KHR_get_memory_requirements2
-static void entry_vkGetImageMemoryRequirements2KHR(
- VkDevice device,
- const VkImageMemoryRequirementsInfo2* pInfo,
- VkMemoryRequirements2* pMemoryRequirements)
-{
- AEMU_SCOPED_TRACE("vkGetImageMemoryRequirements2KHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- auto resources = ResourceTracker::get();
- resources->on_vkGetImageMemoryRequirements2KHR(vkEnc, device, pInfo, pMemoryRequirements);
-}
-static void dynCheck_entry_vkGetImageMemoryRequirements2KHR(
- VkDevice device,
- const VkImageMemoryRequirementsInfo2* pInfo,
- VkMemoryRequirements2* pMemoryRequirements)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_KHR_get_memory_requirements2"))
- {
- sOnInvalidDynamicallyCheckedCall("vkGetImageMemoryRequirements2KHR", "VK_KHR_get_memory_requirements2");
- }
- AEMU_SCOPED_TRACE("vkGetImageMemoryRequirements2KHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- resources->on_vkGetImageMemoryRequirements2KHR(vkEnc, device, pInfo, pMemoryRequirements);
-}
-static void entry_vkGetBufferMemoryRequirements2KHR(
- VkDevice device,
- const VkBufferMemoryRequirementsInfo2* pInfo,
- VkMemoryRequirements2* pMemoryRequirements)
-{
- AEMU_SCOPED_TRACE("vkGetBufferMemoryRequirements2KHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- auto resources = ResourceTracker::get();
- resources->on_vkGetBufferMemoryRequirements2KHR(vkEnc, device, pInfo, pMemoryRequirements);
-}
-static void dynCheck_entry_vkGetBufferMemoryRequirements2KHR(
- VkDevice device,
- const VkBufferMemoryRequirementsInfo2* pInfo,
- VkMemoryRequirements2* pMemoryRequirements)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_KHR_get_memory_requirements2"))
- {
- sOnInvalidDynamicallyCheckedCall("vkGetBufferMemoryRequirements2KHR", "VK_KHR_get_memory_requirements2");
- }
- AEMU_SCOPED_TRACE("vkGetBufferMemoryRequirements2KHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- resources->on_vkGetBufferMemoryRequirements2KHR(vkEnc, device, pInfo, pMemoryRequirements);
-}
-static void entry_vkGetImageSparseMemoryRequirements2KHR(
- VkDevice device,
- const VkImageSparseMemoryRequirementsInfo2* pInfo,
- uint32_t* pSparseMemoryRequirementCount,
- VkSparseImageMemoryRequirements2* pSparseMemoryRequirements)
-{
- AEMU_SCOPED_TRACE("vkGetImageSparseMemoryRequirements2KHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetImageSparseMemoryRequirements2KHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
-}
-static void dynCheck_entry_vkGetImageSparseMemoryRequirements2KHR(
- VkDevice device,
- const VkImageSparseMemoryRequirementsInfo2* pInfo,
- uint32_t* pSparseMemoryRequirementCount,
- VkSparseImageMemoryRequirements2* pSparseMemoryRequirements)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_KHR_get_memory_requirements2"))
- {
- sOnInvalidDynamicallyCheckedCall("vkGetImageSparseMemoryRequirements2KHR", "VK_KHR_get_memory_requirements2");
- }
- AEMU_SCOPED_TRACE("vkGetImageSparseMemoryRequirements2KHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetImageSparseMemoryRequirements2KHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
-}
-#endif
-#ifdef VK_KHR_image_format_list
-#endif
-#ifdef VK_KHR_sampler_ycbcr_conversion
-static VkResult entry_vkCreateSamplerYcbcrConversionKHR(
- VkDevice device,
- const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSamplerYcbcrConversion* pYcbcrConversion)
-{
- AEMU_SCOPED_TRACE("vkCreateSamplerYcbcrConversionKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateSamplerYcbcrConversionKHR_VkResult_return = (VkResult)0;
- auto resources = ResourceTracker::get();
- vkCreateSamplerYcbcrConversionKHR_VkResult_return = resources->on_vkCreateSamplerYcbcrConversionKHR(vkEnc, VK_SUCCESS, device, pCreateInfo, pAllocator, pYcbcrConversion);
- return vkCreateSamplerYcbcrConversionKHR_VkResult_return;
-}
-static VkResult dynCheck_entry_vkCreateSamplerYcbcrConversionKHR(
- VkDevice device,
- const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSamplerYcbcrConversion* pYcbcrConversion)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_KHR_sampler_ycbcr_conversion"))
- {
- sOnInvalidDynamicallyCheckedCall("vkCreateSamplerYcbcrConversionKHR", "VK_KHR_sampler_ycbcr_conversion");
- }
- AEMU_SCOPED_TRACE("vkCreateSamplerYcbcrConversionKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateSamplerYcbcrConversionKHR_VkResult_return = (VkResult)0;
- vkCreateSamplerYcbcrConversionKHR_VkResult_return = resources->on_vkCreateSamplerYcbcrConversionKHR(vkEnc, VK_SUCCESS, device, pCreateInfo, pAllocator, pYcbcrConversion);
- return vkCreateSamplerYcbcrConversionKHR_VkResult_return;
-}
-static void entry_vkDestroySamplerYcbcrConversionKHR(
- VkDevice device,
- VkSamplerYcbcrConversion ycbcrConversion,
- const VkAllocationCallbacks* pAllocator)
-{
- AEMU_SCOPED_TRACE("vkDestroySamplerYcbcrConversionKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- auto resources = ResourceTracker::get();
- resources->on_vkDestroySamplerYcbcrConversionKHR(vkEnc, device, ycbcrConversion, pAllocator);
-}
-static void dynCheck_entry_vkDestroySamplerYcbcrConversionKHR(
- VkDevice device,
- VkSamplerYcbcrConversion ycbcrConversion,
- const VkAllocationCallbacks* pAllocator)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_KHR_sampler_ycbcr_conversion"))
- {
- sOnInvalidDynamicallyCheckedCall("vkDestroySamplerYcbcrConversionKHR", "VK_KHR_sampler_ycbcr_conversion");
- }
- AEMU_SCOPED_TRACE("vkDestroySamplerYcbcrConversionKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- resources->on_vkDestroySamplerYcbcrConversionKHR(vkEnc, device, ycbcrConversion, pAllocator);
-}
-#endif
-#ifdef VK_KHR_bind_memory2
-static VkResult entry_vkBindBufferMemory2KHR(
- VkDevice device,
- uint32_t bindInfoCount,
- const VkBindBufferMemoryInfo* pBindInfos)
-{
- AEMU_SCOPED_TRACE("vkBindBufferMemory2KHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkBindBufferMemory2KHR_VkResult_return = (VkResult)0;
- auto resources = ResourceTracker::get();
- vkBindBufferMemory2KHR_VkResult_return = resources->on_vkBindBufferMemory2KHR(vkEnc, VK_SUCCESS, device, bindInfoCount, pBindInfos);
- return vkBindBufferMemory2KHR_VkResult_return;
-}
-static VkResult dynCheck_entry_vkBindBufferMemory2KHR(
- VkDevice device,
- uint32_t bindInfoCount,
- const VkBindBufferMemoryInfo* pBindInfos)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_KHR_bind_memory2"))
- {
- sOnInvalidDynamicallyCheckedCall("vkBindBufferMemory2KHR", "VK_KHR_bind_memory2");
- }
- AEMU_SCOPED_TRACE("vkBindBufferMemory2KHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkBindBufferMemory2KHR_VkResult_return = (VkResult)0;
- vkBindBufferMemory2KHR_VkResult_return = resources->on_vkBindBufferMemory2KHR(vkEnc, VK_SUCCESS, device, bindInfoCount, pBindInfos);
- return vkBindBufferMemory2KHR_VkResult_return;
-}
-static VkResult entry_vkBindImageMemory2KHR(
- VkDevice device,
- uint32_t bindInfoCount,
- const VkBindImageMemoryInfo* pBindInfos)
-{
- AEMU_SCOPED_TRACE("vkBindImageMemory2KHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkBindImageMemory2KHR_VkResult_return = (VkResult)0;
- auto resources = ResourceTracker::get();
- vkBindImageMemory2KHR_VkResult_return = resources->on_vkBindImageMemory2KHR(vkEnc, VK_SUCCESS, device, bindInfoCount, pBindInfos);
- return vkBindImageMemory2KHR_VkResult_return;
-}
-static VkResult dynCheck_entry_vkBindImageMemory2KHR(
- VkDevice device,
- uint32_t bindInfoCount,
- const VkBindImageMemoryInfo* pBindInfos)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_KHR_bind_memory2"))
- {
- sOnInvalidDynamicallyCheckedCall("vkBindImageMemory2KHR", "VK_KHR_bind_memory2");
- }
- AEMU_SCOPED_TRACE("vkBindImageMemory2KHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkBindImageMemory2KHR_VkResult_return = (VkResult)0;
- vkBindImageMemory2KHR_VkResult_return = resources->on_vkBindImageMemory2KHR(vkEnc, VK_SUCCESS, device, bindInfoCount, pBindInfos);
- return vkBindImageMemory2KHR_VkResult_return;
-}
-#endif
-#ifdef VK_KHR_maintenance3
-static void entry_vkGetDescriptorSetLayoutSupportKHR(
- VkDevice device,
- const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
- VkDescriptorSetLayoutSupport* pSupport)
-{
- AEMU_SCOPED_TRACE("vkGetDescriptorSetLayoutSupportKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetDescriptorSetLayoutSupportKHR(device, pCreateInfo, pSupport);
-}
-static void dynCheck_entry_vkGetDescriptorSetLayoutSupportKHR(
- VkDevice device,
- const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
- VkDescriptorSetLayoutSupport* pSupport)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_KHR_maintenance3"))
- {
- sOnInvalidDynamicallyCheckedCall("vkGetDescriptorSetLayoutSupportKHR", "VK_KHR_maintenance3");
- }
- AEMU_SCOPED_TRACE("vkGetDescriptorSetLayoutSupportKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetDescriptorSetLayoutSupportKHR(device, pCreateInfo, pSupport);
-}
-#endif
-#ifdef VK_KHR_draw_indirect_count
-static void entry_vkCmdDrawIndirectCountKHR(
- VkCommandBuffer commandBuffer,
- VkBuffer buffer,
- VkDeviceSize offset,
- VkBuffer countBuffer,
- VkDeviceSize countBufferOffset,
- uint32_t maxDrawCount,
- uint32_t stride)
-{
- AEMU_SCOPED_TRACE("vkCmdDrawIndirectCountKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdDrawIndirectCountKHR(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
-}
-static void entry_vkCmdDrawIndexedIndirectCountKHR(
- VkCommandBuffer commandBuffer,
- VkBuffer buffer,
- VkDeviceSize offset,
- VkBuffer countBuffer,
- VkDeviceSize countBufferOffset,
- uint32_t maxDrawCount,
- uint32_t stride)
-{
- AEMU_SCOPED_TRACE("vkCmdDrawIndexedIndirectCountKHR");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdDrawIndexedIndirectCountKHR(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
-}
-#endif
-#ifdef VK_KHR_8bit_storage
-#endif
-#ifdef VK_KHR_shader_float16_int8
-#endif
-#ifdef VK_ANDROID_native_buffer
-static VkResult entry_vkGetSwapchainGrallocUsageANDROID(
- VkDevice device,
- VkFormat format,
- VkImageUsageFlags imageUsage,
- int* grallocUsage)
-{
- AEMU_SCOPED_TRACE("vkGetSwapchainGrallocUsageANDROID");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetSwapchainGrallocUsageANDROID_VkResult_return = (VkResult)0;
- vkGetSwapchainGrallocUsageANDROID_VkResult_return = vkEnc->vkGetSwapchainGrallocUsageANDROID(device, format, imageUsage, grallocUsage);
- return vkGetSwapchainGrallocUsageANDROID_VkResult_return;
-}
-static VkResult dynCheck_entry_vkGetSwapchainGrallocUsageANDROID(
- VkDevice device,
- VkFormat format,
- VkImageUsageFlags imageUsage,
- int* grallocUsage)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_ANDROID_native_buffer"))
- {
- sOnInvalidDynamicallyCheckedCall("vkGetSwapchainGrallocUsageANDROID", "VK_ANDROID_native_buffer");
- }
- AEMU_SCOPED_TRACE("vkGetSwapchainGrallocUsageANDROID");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetSwapchainGrallocUsageANDROID_VkResult_return = (VkResult)0;
- vkGetSwapchainGrallocUsageANDROID_VkResult_return = vkEnc->vkGetSwapchainGrallocUsageANDROID(device, format, imageUsage, grallocUsage);
- return vkGetSwapchainGrallocUsageANDROID_VkResult_return;
-}
-static VkResult entry_vkAcquireImageANDROID(
- VkDevice device,
- VkImage image,
- int nativeFenceFd,
- VkSemaphore semaphore,
- VkFence fence)
-{
- AEMU_SCOPED_TRACE("vkAcquireImageANDROID");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkAcquireImageANDROID_VkResult_return = (VkResult)0;
- vkAcquireImageANDROID_VkResult_return = vkEnc->vkAcquireImageANDROID(device, image, nativeFenceFd, semaphore, fence);
- return vkAcquireImageANDROID_VkResult_return;
-}
-static VkResult dynCheck_entry_vkAcquireImageANDROID(
- VkDevice device,
- VkImage image,
- int nativeFenceFd,
- VkSemaphore semaphore,
- VkFence fence)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_ANDROID_native_buffer"))
- {
- sOnInvalidDynamicallyCheckedCall("vkAcquireImageANDROID", "VK_ANDROID_native_buffer");
- }
- AEMU_SCOPED_TRACE("vkAcquireImageANDROID");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkAcquireImageANDROID_VkResult_return = (VkResult)0;
- vkAcquireImageANDROID_VkResult_return = vkEnc->vkAcquireImageANDROID(device, image, nativeFenceFd, semaphore, fence);
- return vkAcquireImageANDROID_VkResult_return;
-}
-static VkResult entry_vkQueueSignalReleaseImageANDROID(
- VkQueue queue,
- uint32_t waitSemaphoreCount,
- const VkSemaphore* pWaitSemaphores,
- VkImage image,
- int* pNativeFenceFd)
-{
- AEMU_SCOPED_TRACE("vkQueueSignalReleaseImageANDROID");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForQueue(queue, vkEnc);
- VkResult vkQueueSignalReleaseImageANDROID_VkResult_return = (VkResult)0;
- vkQueueSignalReleaseImageANDROID_VkResult_return = vkEnc->vkQueueSignalReleaseImageANDROID(queue, waitSemaphoreCount, pWaitSemaphores, image, pNativeFenceFd);
- return vkQueueSignalReleaseImageANDROID_VkResult_return;
-}
-#endif
-#ifdef VK_EXT_debug_report
-static VkResult entry_vkCreateDebugReportCallbackEXT(
- VkInstance instance,
- const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkDebugReportCallbackEXT* pCallback)
-{
- AEMU_SCOPED_TRACE("vkCreateDebugReportCallbackEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateDebugReportCallbackEXT_VkResult_return = (VkResult)0;
- vkCreateDebugReportCallbackEXT_VkResult_return = vkEnc->vkCreateDebugReportCallbackEXT(instance, pCreateInfo, pAllocator, pCallback);
- return vkCreateDebugReportCallbackEXT_VkResult_return;
-}
-static void entry_vkDestroyDebugReportCallbackEXT(
- VkInstance instance,
- VkDebugReportCallbackEXT callback,
- const VkAllocationCallbacks* pAllocator)
-{
- AEMU_SCOPED_TRACE("vkDestroyDebugReportCallbackEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkDestroyDebugReportCallbackEXT(instance, callback, pAllocator);
-}
-static void entry_vkDebugReportMessageEXT(
- VkInstance instance,
- VkDebugReportFlagsEXT flags,
- VkDebugReportObjectTypeEXT objectType,
- uint64_t object,
- size_t location,
- int32_t messageCode,
- const char* pLayerPrefix,
- const char* pMessage)
-{
- AEMU_SCOPED_TRACE("vkDebugReportMessageEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkDebugReportMessageEXT(instance, flags, objectType, object, location, messageCode, pLayerPrefix, pMessage);
-}
-#endif
-#ifdef VK_NV_glsl_shader
-#endif
-#ifdef VK_EXT_depth_range_unrestricted
-#endif
-#ifdef VK_IMG_filter_cubic
-#endif
-#ifdef VK_AMD_rasterization_order
-#endif
-#ifdef VK_AMD_shader_trinary_minmax
-#endif
-#ifdef VK_AMD_shader_explicit_vertex_parameter
-#endif
-#ifdef VK_EXT_debug_marker
-static VkResult entry_vkDebugMarkerSetObjectTagEXT(
- VkDevice device,
- const VkDebugMarkerObjectTagInfoEXT* pTagInfo)
-{
- AEMU_SCOPED_TRACE("vkDebugMarkerSetObjectTagEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkDebugMarkerSetObjectTagEXT_VkResult_return = (VkResult)0;
- vkDebugMarkerSetObjectTagEXT_VkResult_return = vkEnc->vkDebugMarkerSetObjectTagEXT(device, pTagInfo);
- return vkDebugMarkerSetObjectTagEXT_VkResult_return;
-}
-static VkResult dynCheck_entry_vkDebugMarkerSetObjectTagEXT(
- VkDevice device,
- const VkDebugMarkerObjectTagInfoEXT* pTagInfo)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_EXT_debug_marker"))
- {
- sOnInvalidDynamicallyCheckedCall("vkDebugMarkerSetObjectTagEXT", "VK_EXT_debug_marker");
- }
- AEMU_SCOPED_TRACE("vkDebugMarkerSetObjectTagEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkDebugMarkerSetObjectTagEXT_VkResult_return = (VkResult)0;
- vkDebugMarkerSetObjectTagEXT_VkResult_return = vkEnc->vkDebugMarkerSetObjectTagEXT(device, pTagInfo);
- return vkDebugMarkerSetObjectTagEXT_VkResult_return;
-}
-static VkResult entry_vkDebugMarkerSetObjectNameEXT(
- VkDevice device,
- const VkDebugMarkerObjectNameInfoEXT* pNameInfo)
-{
- AEMU_SCOPED_TRACE("vkDebugMarkerSetObjectNameEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkDebugMarkerSetObjectNameEXT_VkResult_return = (VkResult)0;
- vkDebugMarkerSetObjectNameEXT_VkResult_return = vkEnc->vkDebugMarkerSetObjectNameEXT(device, pNameInfo);
- return vkDebugMarkerSetObjectNameEXT_VkResult_return;
-}
-static VkResult dynCheck_entry_vkDebugMarkerSetObjectNameEXT(
- VkDevice device,
- const VkDebugMarkerObjectNameInfoEXT* pNameInfo)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_EXT_debug_marker"))
- {
- sOnInvalidDynamicallyCheckedCall("vkDebugMarkerSetObjectNameEXT", "VK_EXT_debug_marker");
- }
- AEMU_SCOPED_TRACE("vkDebugMarkerSetObjectNameEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkDebugMarkerSetObjectNameEXT_VkResult_return = (VkResult)0;
- vkDebugMarkerSetObjectNameEXT_VkResult_return = vkEnc->vkDebugMarkerSetObjectNameEXT(device, pNameInfo);
- return vkDebugMarkerSetObjectNameEXT_VkResult_return;
-}
-static void entry_vkCmdDebugMarkerBeginEXT(
- VkCommandBuffer commandBuffer,
- const VkDebugMarkerMarkerInfoEXT* pMarkerInfo)
-{
- AEMU_SCOPED_TRACE("vkCmdDebugMarkerBeginEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdDebugMarkerBeginEXT(commandBuffer, pMarkerInfo);
-}
-static void entry_vkCmdDebugMarkerEndEXT(
- VkCommandBuffer commandBuffer)
-{
- AEMU_SCOPED_TRACE("vkCmdDebugMarkerEndEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdDebugMarkerEndEXT(commandBuffer);
-}
-static void entry_vkCmdDebugMarkerInsertEXT(
- VkCommandBuffer commandBuffer,
- const VkDebugMarkerMarkerInfoEXT* pMarkerInfo)
-{
- AEMU_SCOPED_TRACE("vkCmdDebugMarkerInsertEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdDebugMarkerInsertEXT(commandBuffer, pMarkerInfo);
-}
-#endif
-#ifdef VK_AMD_gcn_shader
-#endif
-#ifdef VK_NV_dedicated_allocation
-#endif
-#ifdef VK_AMD_draw_indirect_count
-static void entry_vkCmdDrawIndirectCountAMD(
- VkCommandBuffer commandBuffer,
- VkBuffer buffer,
- VkDeviceSize offset,
- VkBuffer countBuffer,
- VkDeviceSize countBufferOffset,
- uint32_t maxDrawCount,
- uint32_t stride)
-{
- AEMU_SCOPED_TRACE("vkCmdDrawIndirectCountAMD");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdDrawIndirectCountAMD(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
-}
-static void entry_vkCmdDrawIndexedIndirectCountAMD(
- VkCommandBuffer commandBuffer,
- VkBuffer buffer,
- VkDeviceSize offset,
- VkBuffer countBuffer,
- VkDeviceSize countBufferOffset,
- uint32_t maxDrawCount,
- uint32_t stride)
-{
- AEMU_SCOPED_TRACE("vkCmdDrawIndexedIndirectCountAMD");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdDrawIndexedIndirectCountAMD(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
-}
-#endif
-#ifdef VK_AMD_negative_viewport_height
-#endif
-#ifdef VK_AMD_gpu_shader_half_float
-#endif
-#ifdef VK_AMD_shader_ballot
-#endif
-#ifdef VK_AMD_texture_gather_bias_lod
-#endif
-#ifdef VK_AMD_shader_info
-static VkResult entry_vkGetShaderInfoAMD(
- VkDevice device,
- VkPipeline pipeline,
- VkShaderStageFlagBits shaderStage,
- VkShaderInfoTypeAMD infoType,
- size_t* pInfoSize,
- void* pInfo)
-{
- AEMU_SCOPED_TRACE("vkGetShaderInfoAMD");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetShaderInfoAMD_VkResult_return = (VkResult)0;
- vkGetShaderInfoAMD_VkResult_return = vkEnc->vkGetShaderInfoAMD(device, pipeline, shaderStage, infoType, pInfoSize, pInfo);
- return vkGetShaderInfoAMD_VkResult_return;
-}
-static VkResult dynCheck_entry_vkGetShaderInfoAMD(
- VkDevice device,
- VkPipeline pipeline,
- VkShaderStageFlagBits shaderStage,
- VkShaderInfoTypeAMD infoType,
- size_t* pInfoSize,
- void* pInfo)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_AMD_shader_info"))
- {
- sOnInvalidDynamicallyCheckedCall("vkGetShaderInfoAMD", "VK_AMD_shader_info");
- }
- AEMU_SCOPED_TRACE("vkGetShaderInfoAMD");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetShaderInfoAMD_VkResult_return = (VkResult)0;
- vkGetShaderInfoAMD_VkResult_return = vkEnc->vkGetShaderInfoAMD(device, pipeline, shaderStage, infoType, pInfoSize, pInfo);
- return vkGetShaderInfoAMD_VkResult_return;
-}
-#endif
-#ifdef VK_AMD_shader_image_load_store_lod
-#endif
-#ifdef VK_IMG_format_pvrtc
-#endif
-#ifdef VK_NV_external_memory_capabilities
-static VkResult entry_vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
- VkPhysicalDevice physicalDevice,
- VkFormat format,
- VkImageType type,
- VkImageTiling tiling,
- VkImageUsageFlags usage,
- VkImageCreateFlags flags,
- VkExternalMemoryHandleTypeFlagsNV externalHandleType,
- VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceExternalImageFormatPropertiesNV");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetPhysicalDeviceExternalImageFormatPropertiesNV_VkResult_return = (VkResult)0;
- vkGetPhysicalDeviceExternalImageFormatPropertiesNV_VkResult_return = vkEnc->vkGetPhysicalDeviceExternalImageFormatPropertiesNV(physicalDevice, format, type, tiling, usage, flags, externalHandleType, pExternalImageFormatProperties);
- return vkGetPhysicalDeviceExternalImageFormatPropertiesNV_VkResult_return;
-}
-#endif
-#ifdef VK_NV_external_memory
-#endif
-#ifdef VK_NV_external_memory_win32
-static VkResult entry_vkGetMemoryWin32HandleNV(
- VkDevice device,
- VkDeviceMemory memory,
- VkExternalMemoryHandleTypeFlagsNV handleType,
- HANDLE* pHandle)
-{
- AEMU_SCOPED_TRACE("vkGetMemoryWin32HandleNV");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetMemoryWin32HandleNV_VkResult_return = (VkResult)0;
- vkGetMemoryWin32HandleNV_VkResult_return = vkEnc->vkGetMemoryWin32HandleNV(device, memory, handleType, pHandle);
- return vkGetMemoryWin32HandleNV_VkResult_return;
-}
-static VkResult dynCheck_entry_vkGetMemoryWin32HandleNV(
- VkDevice device,
- VkDeviceMemory memory,
- VkExternalMemoryHandleTypeFlagsNV handleType,
- HANDLE* pHandle)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_NV_external_memory_win32"))
- {
- sOnInvalidDynamicallyCheckedCall("vkGetMemoryWin32HandleNV", "VK_NV_external_memory_win32");
- }
- AEMU_SCOPED_TRACE("vkGetMemoryWin32HandleNV");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetMemoryWin32HandleNV_VkResult_return = (VkResult)0;
- vkGetMemoryWin32HandleNV_VkResult_return = vkEnc->vkGetMemoryWin32HandleNV(device, memory, handleType, pHandle);
- return vkGetMemoryWin32HandleNV_VkResult_return;
-}
-#endif
-#ifdef VK_NV_win32_keyed_mutex
-#endif
-#ifdef VK_EXT_validation_flags
-#endif
-#ifdef VK_NN_vi_surface
-static VkResult entry_vkCreateViSurfaceNN(
- VkInstance instance,
- const VkViSurfaceCreateInfoNN* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSurfaceKHR* pSurface)
-{
- AEMU_SCOPED_TRACE("vkCreateViSurfaceNN");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateViSurfaceNN_VkResult_return = (VkResult)0;
- vkCreateViSurfaceNN_VkResult_return = vkEnc->vkCreateViSurfaceNN(instance, pCreateInfo, pAllocator, pSurface);
- return vkCreateViSurfaceNN_VkResult_return;
-}
-#endif
-#ifdef VK_EXT_shader_subgroup_ballot
-#endif
-#ifdef VK_EXT_shader_subgroup_vote
-#endif
-#ifdef VK_EXT_conditional_rendering
-static void entry_vkCmdBeginConditionalRenderingEXT(
- VkCommandBuffer commandBuffer,
- const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin)
-{
- AEMU_SCOPED_TRACE("vkCmdBeginConditionalRenderingEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdBeginConditionalRenderingEXT(commandBuffer, pConditionalRenderingBegin);
-}
-static void entry_vkCmdEndConditionalRenderingEXT(
- VkCommandBuffer commandBuffer)
-{
- AEMU_SCOPED_TRACE("vkCmdEndConditionalRenderingEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdEndConditionalRenderingEXT(commandBuffer);
-}
-#endif
-#ifdef VK_NVX_device_generated_commands
-static void entry_vkCmdProcessCommandsNVX(
- VkCommandBuffer commandBuffer,
- const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo)
-{
- AEMU_SCOPED_TRACE("vkCmdProcessCommandsNVX");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdProcessCommandsNVX(commandBuffer, pProcessCommandsInfo);
-}
-static void entry_vkCmdReserveSpaceForCommandsNVX(
- VkCommandBuffer commandBuffer,
- const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo)
-{
- AEMU_SCOPED_TRACE("vkCmdReserveSpaceForCommandsNVX");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdReserveSpaceForCommandsNVX(commandBuffer, pReserveSpaceInfo);
-}
-static VkResult entry_vkCreateIndirectCommandsLayoutNVX(
- VkDevice device,
- const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout)
-{
- AEMU_SCOPED_TRACE("vkCreateIndirectCommandsLayoutNVX");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateIndirectCommandsLayoutNVX_VkResult_return = (VkResult)0;
- vkCreateIndirectCommandsLayoutNVX_VkResult_return = vkEnc->vkCreateIndirectCommandsLayoutNVX(device, pCreateInfo, pAllocator, pIndirectCommandsLayout);
- return vkCreateIndirectCommandsLayoutNVX_VkResult_return;
-}
-static VkResult dynCheck_entry_vkCreateIndirectCommandsLayoutNVX(
- VkDevice device,
- const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_NVX_device_generated_commands"))
- {
- sOnInvalidDynamicallyCheckedCall("vkCreateIndirectCommandsLayoutNVX", "VK_NVX_device_generated_commands");
- }
- AEMU_SCOPED_TRACE("vkCreateIndirectCommandsLayoutNVX");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateIndirectCommandsLayoutNVX_VkResult_return = (VkResult)0;
- vkCreateIndirectCommandsLayoutNVX_VkResult_return = vkEnc->vkCreateIndirectCommandsLayoutNVX(device, pCreateInfo, pAllocator, pIndirectCommandsLayout);
- return vkCreateIndirectCommandsLayoutNVX_VkResult_return;
-}
-static void entry_vkDestroyIndirectCommandsLayoutNVX(
- VkDevice device,
- VkIndirectCommandsLayoutNVX indirectCommandsLayout,
- const VkAllocationCallbacks* pAllocator)
-{
- AEMU_SCOPED_TRACE("vkDestroyIndirectCommandsLayoutNVX");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkDestroyIndirectCommandsLayoutNVX(device, indirectCommandsLayout, pAllocator);
-}
-static void dynCheck_entry_vkDestroyIndirectCommandsLayoutNVX(
- VkDevice device,
- VkIndirectCommandsLayoutNVX indirectCommandsLayout,
- const VkAllocationCallbacks* pAllocator)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_NVX_device_generated_commands"))
- {
- sOnInvalidDynamicallyCheckedCall("vkDestroyIndirectCommandsLayoutNVX", "VK_NVX_device_generated_commands");
- }
- AEMU_SCOPED_TRACE("vkDestroyIndirectCommandsLayoutNVX");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkDestroyIndirectCommandsLayoutNVX(device, indirectCommandsLayout, pAllocator);
-}
-static VkResult entry_vkCreateObjectTableNVX(
- VkDevice device,
- const VkObjectTableCreateInfoNVX* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkObjectTableNVX* pObjectTable)
-{
- AEMU_SCOPED_TRACE("vkCreateObjectTableNVX");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateObjectTableNVX_VkResult_return = (VkResult)0;
- vkCreateObjectTableNVX_VkResult_return = vkEnc->vkCreateObjectTableNVX(device, pCreateInfo, pAllocator, pObjectTable);
- return vkCreateObjectTableNVX_VkResult_return;
-}
-static VkResult dynCheck_entry_vkCreateObjectTableNVX(
- VkDevice device,
- const VkObjectTableCreateInfoNVX* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkObjectTableNVX* pObjectTable)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_NVX_device_generated_commands"))
- {
- sOnInvalidDynamicallyCheckedCall("vkCreateObjectTableNVX", "VK_NVX_device_generated_commands");
- }
- AEMU_SCOPED_TRACE("vkCreateObjectTableNVX");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateObjectTableNVX_VkResult_return = (VkResult)0;
- vkCreateObjectTableNVX_VkResult_return = vkEnc->vkCreateObjectTableNVX(device, pCreateInfo, pAllocator, pObjectTable);
- return vkCreateObjectTableNVX_VkResult_return;
-}
-static void entry_vkDestroyObjectTableNVX(
- VkDevice device,
- VkObjectTableNVX objectTable,
- const VkAllocationCallbacks* pAllocator)
-{
- AEMU_SCOPED_TRACE("vkDestroyObjectTableNVX");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkDestroyObjectTableNVX(device, objectTable, pAllocator);
-}
-static void dynCheck_entry_vkDestroyObjectTableNVX(
- VkDevice device,
- VkObjectTableNVX objectTable,
- const VkAllocationCallbacks* pAllocator)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_NVX_device_generated_commands"))
- {
- sOnInvalidDynamicallyCheckedCall("vkDestroyObjectTableNVX", "VK_NVX_device_generated_commands");
- }
- AEMU_SCOPED_TRACE("vkDestroyObjectTableNVX");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkDestroyObjectTableNVX(device, objectTable, pAllocator);
-}
-static VkResult entry_vkRegisterObjectsNVX(
- VkDevice device,
- VkObjectTableNVX objectTable,
- uint32_t objectCount,
- const VkObjectTableEntryNVX* const* ppObjectTableEntries,
- const uint32_t* pObjectIndices)
-{
- AEMU_SCOPED_TRACE("vkRegisterObjectsNVX");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkRegisterObjectsNVX_VkResult_return = (VkResult)0;
- vkRegisterObjectsNVX_VkResult_return = vkEnc->vkRegisterObjectsNVX(device, objectTable, objectCount, ppObjectTableEntries, pObjectIndices);
- return vkRegisterObjectsNVX_VkResult_return;
-}
-static VkResult dynCheck_entry_vkRegisterObjectsNVX(
- VkDevice device,
- VkObjectTableNVX objectTable,
- uint32_t objectCount,
- const VkObjectTableEntryNVX* const* ppObjectTableEntries,
- const uint32_t* pObjectIndices)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_NVX_device_generated_commands"))
- {
- sOnInvalidDynamicallyCheckedCall("vkRegisterObjectsNVX", "VK_NVX_device_generated_commands");
- }
- AEMU_SCOPED_TRACE("vkRegisterObjectsNVX");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkRegisterObjectsNVX_VkResult_return = (VkResult)0;
- vkRegisterObjectsNVX_VkResult_return = vkEnc->vkRegisterObjectsNVX(device, objectTable, objectCount, ppObjectTableEntries, pObjectIndices);
- return vkRegisterObjectsNVX_VkResult_return;
-}
-static VkResult entry_vkUnregisterObjectsNVX(
- VkDevice device,
- VkObjectTableNVX objectTable,
- uint32_t objectCount,
- const VkObjectEntryTypeNVX* pObjectEntryTypes,
- const uint32_t* pObjectIndices)
-{
- AEMU_SCOPED_TRACE("vkUnregisterObjectsNVX");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkUnregisterObjectsNVX_VkResult_return = (VkResult)0;
- vkUnregisterObjectsNVX_VkResult_return = vkEnc->vkUnregisterObjectsNVX(device, objectTable, objectCount, pObjectEntryTypes, pObjectIndices);
- return vkUnregisterObjectsNVX_VkResult_return;
-}
-static VkResult dynCheck_entry_vkUnregisterObjectsNVX(
- VkDevice device,
- VkObjectTableNVX objectTable,
- uint32_t objectCount,
- const VkObjectEntryTypeNVX* pObjectEntryTypes,
- const uint32_t* pObjectIndices)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_NVX_device_generated_commands"))
- {
- sOnInvalidDynamicallyCheckedCall("vkUnregisterObjectsNVX", "VK_NVX_device_generated_commands");
- }
- AEMU_SCOPED_TRACE("vkUnregisterObjectsNVX");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkUnregisterObjectsNVX_VkResult_return = (VkResult)0;
- vkUnregisterObjectsNVX_VkResult_return = vkEnc->vkUnregisterObjectsNVX(device, objectTable, objectCount, pObjectEntryTypes, pObjectIndices);
- return vkUnregisterObjectsNVX_VkResult_return;
-}
-static void entry_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX(
- VkPhysicalDevice physicalDevice,
- VkDeviceGeneratedCommandsFeaturesNVX* pFeatures,
- VkDeviceGeneratedCommandsLimitsNVX* pLimits)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX(physicalDevice, pFeatures, pLimits);
-}
-#endif
-#ifdef VK_NV_clip_space_w_scaling
-static void entry_vkCmdSetViewportWScalingNV(
- VkCommandBuffer commandBuffer,
- uint32_t firstViewport,
- uint32_t viewportCount,
- const VkViewportWScalingNV* pViewportWScalings)
-{
- AEMU_SCOPED_TRACE("vkCmdSetViewportWScalingNV");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdSetViewportWScalingNV(commandBuffer, firstViewport, viewportCount, pViewportWScalings);
-}
-#endif
-#ifdef VK_EXT_direct_mode_display
-static VkResult entry_vkReleaseDisplayEXT(
- VkPhysicalDevice physicalDevice,
- VkDisplayKHR display)
-{
- AEMU_SCOPED_TRACE("vkReleaseDisplayEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkReleaseDisplayEXT_VkResult_return = (VkResult)0;
- vkReleaseDisplayEXT_VkResult_return = vkEnc->vkReleaseDisplayEXT(physicalDevice, display);
- return vkReleaseDisplayEXT_VkResult_return;
-}
-#endif
-#ifdef VK_EXT_acquire_xlib_display
-static VkResult entry_vkAcquireXlibDisplayEXT(
- VkPhysicalDevice physicalDevice,
- Display* dpy,
- VkDisplayKHR display)
-{
- AEMU_SCOPED_TRACE("vkAcquireXlibDisplayEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkAcquireXlibDisplayEXT_VkResult_return = (VkResult)0;
- vkAcquireXlibDisplayEXT_VkResult_return = vkEnc->vkAcquireXlibDisplayEXT(physicalDevice, dpy, display);
- return vkAcquireXlibDisplayEXT_VkResult_return;
-}
-static VkResult entry_vkGetRandROutputDisplayEXT(
- VkPhysicalDevice physicalDevice,
- Display* dpy,
- RROutput rrOutput,
- VkDisplayKHR* pDisplay)
-{
- AEMU_SCOPED_TRACE("vkGetRandROutputDisplayEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetRandROutputDisplayEXT_VkResult_return = (VkResult)0;
- vkGetRandROutputDisplayEXT_VkResult_return = vkEnc->vkGetRandROutputDisplayEXT(physicalDevice, dpy, rrOutput, pDisplay);
- return vkGetRandROutputDisplayEXT_VkResult_return;
-}
-#endif
-#ifdef VK_EXT_display_surface_counter
-static VkResult entry_vkGetPhysicalDeviceSurfaceCapabilities2EXT(
- VkPhysicalDevice physicalDevice,
- VkSurfaceKHR surface,
- VkSurfaceCapabilities2EXT* pSurfaceCapabilities)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceSurfaceCapabilities2EXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetPhysicalDeviceSurfaceCapabilities2EXT_VkResult_return = (VkResult)0;
- vkGetPhysicalDeviceSurfaceCapabilities2EXT_VkResult_return = vkEnc->vkGetPhysicalDeviceSurfaceCapabilities2EXT(physicalDevice, surface, pSurfaceCapabilities);
- return vkGetPhysicalDeviceSurfaceCapabilities2EXT_VkResult_return;
-}
-#endif
-#ifdef VK_EXT_display_control
-static VkResult entry_vkDisplayPowerControlEXT(
- VkDevice device,
- VkDisplayKHR display,
- const VkDisplayPowerInfoEXT* pDisplayPowerInfo)
-{
- AEMU_SCOPED_TRACE("vkDisplayPowerControlEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkDisplayPowerControlEXT_VkResult_return = (VkResult)0;
- vkDisplayPowerControlEXT_VkResult_return = vkEnc->vkDisplayPowerControlEXT(device, display, pDisplayPowerInfo);
- return vkDisplayPowerControlEXT_VkResult_return;
-}
-static VkResult dynCheck_entry_vkDisplayPowerControlEXT(
- VkDevice device,
- VkDisplayKHR display,
- const VkDisplayPowerInfoEXT* pDisplayPowerInfo)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_EXT_display_control"))
- {
- sOnInvalidDynamicallyCheckedCall("vkDisplayPowerControlEXT", "VK_EXT_display_control");
- }
- AEMU_SCOPED_TRACE("vkDisplayPowerControlEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkDisplayPowerControlEXT_VkResult_return = (VkResult)0;
- vkDisplayPowerControlEXT_VkResult_return = vkEnc->vkDisplayPowerControlEXT(device, display, pDisplayPowerInfo);
- return vkDisplayPowerControlEXT_VkResult_return;
-}
-static VkResult entry_vkRegisterDeviceEventEXT(
- VkDevice device,
- const VkDeviceEventInfoEXT* pDeviceEventInfo,
- const VkAllocationCallbacks* pAllocator,
- VkFence* pFence)
-{
- AEMU_SCOPED_TRACE("vkRegisterDeviceEventEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkRegisterDeviceEventEXT_VkResult_return = (VkResult)0;
- vkRegisterDeviceEventEXT_VkResult_return = vkEnc->vkRegisterDeviceEventEXT(device, pDeviceEventInfo, pAllocator, pFence);
- return vkRegisterDeviceEventEXT_VkResult_return;
-}
-static VkResult dynCheck_entry_vkRegisterDeviceEventEXT(
- VkDevice device,
- const VkDeviceEventInfoEXT* pDeviceEventInfo,
- const VkAllocationCallbacks* pAllocator,
- VkFence* pFence)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_EXT_display_control"))
- {
- sOnInvalidDynamicallyCheckedCall("vkRegisterDeviceEventEXT", "VK_EXT_display_control");
- }
- AEMU_SCOPED_TRACE("vkRegisterDeviceEventEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkRegisterDeviceEventEXT_VkResult_return = (VkResult)0;
- vkRegisterDeviceEventEXT_VkResult_return = vkEnc->vkRegisterDeviceEventEXT(device, pDeviceEventInfo, pAllocator, pFence);
- return vkRegisterDeviceEventEXT_VkResult_return;
-}
-static VkResult entry_vkRegisterDisplayEventEXT(
- VkDevice device,
- VkDisplayKHR display,
- const VkDisplayEventInfoEXT* pDisplayEventInfo,
- const VkAllocationCallbacks* pAllocator,
- VkFence* pFence)
-{
- AEMU_SCOPED_TRACE("vkRegisterDisplayEventEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkRegisterDisplayEventEXT_VkResult_return = (VkResult)0;
- vkRegisterDisplayEventEXT_VkResult_return = vkEnc->vkRegisterDisplayEventEXT(device, display, pDisplayEventInfo, pAllocator, pFence);
- return vkRegisterDisplayEventEXT_VkResult_return;
-}
-static VkResult dynCheck_entry_vkRegisterDisplayEventEXT(
- VkDevice device,
- VkDisplayKHR display,
- const VkDisplayEventInfoEXT* pDisplayEventInfo,
- const VkAllocationCallbacks* pAllocator,
- VkFence* pFence)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_EXT_display_control"))
- {
- sOnInvalidDynamicallyCheckedCall("vkRegisterDisplayEventEXT", "VK_EXT_display_control");
- }
- AEMU_SCOPED_TRACE("vkRegisterDisplayEventEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkRegisterDisplayEventEXT_VkResult_return = (VkResult)0;
- vkRegisterDisplayEventEXT_VkResult_return = vkEnc->vkRegisterDisplayEventEXT(device, display, pDisplayEventInfo, pAllocator, pFence);
- return vkRegisterDisplayEventEXT_VkResult_return;
-}
-static VkResult entry_vkGetSwapchainCounterEXT(
- VkDevice device,
- VkSwapchainKHR swapchain,
- VkSurfaceCounterFlagBitsEXT counter,
- uint64_t* pCounterValue)
-{
- AEMU_SCOPED_TRACE("vkGetSwapchainCounterEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetSwapchainCounterEXT_VkResult_return = (VkResult)0;
- vkGetSwapchainCounterEXT_VkResult_return = vkEnc->vkGetSwapchainCounterEXT(device, swapchain, counter, pCounterValue);
- return vkGetSwapchainCounterEXT_VkResult_return;
-}
-static VkResult dynCheck_entry_vkGetSwapchainCounterEXT(
- VkDevice device,
- VkSwapchainKHR swapchain,
- VkSurfaceCounterFlagBitsEXT counter,
- uint64_t* pCounterValue)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_EXT_display_control"))
- {
- sOnInvalidDynamicallyCheckedCall("vkGetSwapchainCounterEXT", "VK_EXT_display_control");
- }
- AEMU_SCOPED_TRACE("vkGetSwapchainCounterEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetSwapchainCounterEXT_VkResult_return = (VkResult)0;
- vkGetSwapchainCounterEXT_VkResult_return = vkEnc->vkGetSwapchainCounterEXT(device, swapchain, counter, pCounterValue);
- return vkGetSwapchainCounterEXT_VkResult_return;
-}
-#endif
-#ifdef VK_GOOGLE_display_timing
-static VkResult entry_vkGetRefreshCycleDurationGOOGLE(
- VkDevice device,
- VkSwapchainKHR swapchain,
- VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties)
-{
- AEMU_SCOPED_TRACE("vkGetRefreshCycleDurationGOOGLE");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetRefreshCycleDurationGOOGLE_VkResult_return = (VkResult)0;
- vkGetRefreshCycleDurationGOOGLE_VkResult_return = vkEnc->vkGetRefreshCycleDurationGOOGLE(device, swapchain, pDisplayTimingProperties);
- return vkGetRefreshCycleDurationGOOGLE_VkResult_return;
-}
-static VkResult dynCheck_entry_vkGetRefreshCycleDurationGOOGLE(
- VkDevice device,
- VkSwapchainKHR swapchain,
- VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_GOOGLE_display_timing"))
- {
- sOnInvalidDynamicallyCheckedCall("vkGetRefreshCycleDurationGOOGLE", "VK_GOOGLE_display_timing");
- }
- AEMU_SCOPED_TRACE("vkGetRefreshCycleDurationGOOGLE");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetRefreshCycleDurationGOOGLE_VkResult_return = (VkResult)0;
- vkGetRefreshCycleDurationGOOGLE_VkResult_return = vkEnc->vkGetRefreshCycleDurationGOOGLE(device, swapchain, pDisplayTimingProperties);
- return vkGetRefreshCycleDurationGOOGLE_VkResult_return;
-}
-static VkResult entry_vkGetPastPresentationTimingGOOGLE(
- VkDevice device,
- VkSwapchainKHR swapchain,
- uint32_t* pPresentationTimingCount,
- VkPastPresentationTimingGOOGLE* pPresentationTimings)
-{
- AEMU_SCOPED_TRACE("vkGetPastPresentationTimingGOOGLE");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetPastPresentationTimingGOOGLE_VkResult_return = (VkResult)0;
- vkGetPastPresentationTimingGOOGLE_VkResult_return = vkEnc->vkGetPastPresentationTimingGOOGLE(device, swapchain, pPresentationTimingCount, pPresentationTimings);
- return vkGetPastPresentationTimingGOOGLE_VkResult_return;
-}
-static VkResult dynCheck_entry_vkGetPastPresentationTimingGOOGLE(
- VkDevice device,
- VkSwapchainKHR swapchain,
- uint32_t* pPresentationTimingCount,
- VkPastPresentationTimingGOOGLE* pPresentationTimings)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_GOOGLE_display_timing"))
- {
- sOnInvalidDynamicallyCheckedCall("vkGetPastPresentationTimingGOOGLE", "VK_GOOGLE_display_timing");
- }
- AEMU_SCOPED_TRACE("vkGetPastPresentationTimingGOOGLE");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetPastPresentationTimingGOOGLE_VkResult_return = (VkResult)0;
- vkGetPastPresentationTimingGOOGLE_VkResult_return = vkEnc->vkGetPastPresentationTimingGOOGLE(device, swapchain, pPresentationTimingCount, pPresentationTimings);
- return vkGetPastPresentationTimingGOOGLE_VkResult_return;
-}
-#endif
-#ifdef VK_NV_sample_mask_override_coverage
-#endif
-#ifdef VK_NV_geometry_shader_passthrough
-#endif
-#ifdef VK_NV_viewport_array2
-#endif
-#ifdef VK_NVX_multiview_per_view_attributes
-#endif
-#ifdef VK_NV_viewport_swizzle
-#endif
-#ifdef VK_EXT_discard_rectangles
-static void entry_vkCmdSetDiscardRectangleEXT(
- VkCommandBuffer commandBuffer,
- uint32_t firstDiscardRectangle,
- uint32_t discardRectangleCount,
- const VkRect2D* pDiscardRectangles)
-{
- AEMU_SCOPED_TRACE("vkCmdSetDiscardRectangleEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdSetDiscardRectangleEXT(commandBuffer, firstDiscardRectangle, discardRectangleCount, pDiscardRectangles);
-}
-#endif
-#ifdef VK_EXT_conservative_rasterization
-#endif
-#ifdef VK_EXT_swapchain_colorspace
-#endif
-#ifdef VK_EXT_hdr_metadata
-static void entry_vkSetHdrMetadataEXT(
- VkDevice device,
- uint32_t swapchainCount,
- const VkSwapchainKHR* pSwapchains,
- const VkHdrMetadataEXT* pMetadata)
-{
- AEMU_SCOPED_TRACE("vkSetHdrMetadataEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkSetHdrMetadataEXT(device, swapchainCount, pSwapchains, pMetadata);
-}
-static void dynCheck_entry_vkSetHdrMetadataEXT(
- VkDevice device,
- uint32_t swapchainCount,
- const VkSwapchainKHR* pSwapchains,
- const VkHdrMetadataEXT* pMetadata)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_EXT_hdr_metadata"))
- {
- sOnInvalidDynamicallyCheckedCall("vkSetHdrMetadataEXT", "VK_EXT_hdr_metadata");
- }
- AEMU_SCOPED_TRACE("vkSetHdrMetadataEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkSetHdrMetadataEXT(device, swapchainCount, pSwapchains, pMetadata);
-}
-#endif
-#ifdef VK_MVK_ios_surface
-static VkResult entry_vkCreateIOSSurfaceMVK(
- VkInstance instance,
- const VkIOSSurfaceCreateInfoMVK* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSurfaceKHR* pSurface)
-{
- AEMU_SCOPED_TRACE("vkCreateIOSSurfaceMVK");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateIOSSurfaceMVK_VkResult_return = (VkResult)0;
- vkCreateIOSSurfaceMVK_VkResult_return = vkEnc->vkCreateIOSSurfaceMVK(instance, pCreateInfo, pAllocator, pSurface);
- return vkCreateIOSSurfaceMVK_VkResult_return;
-}
-#endif
-#ifdef VK_MVK_macos_surface
-static VkResult entry_vkCreateMacOSSurfaceMVK(
- VkInstance instance,
- const VkMacOSSurfaceCreateInfoMVK* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSurfaceKHR* pSurface)
-{
- AEMU_SCOPED_TRACE("vkCreateMacOSSurfaceMVK");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateMacOSSurfaceMVK_VkResult_return = (VkResult)0;
- vkCreateMacOSSurfaceMVK_VkResult_return = vkEnc->vkCreateMacOSSurfaceMVK(instance, pCreateInfo, pAllocator, pSurface);
- return vkCreateMacOSSurfaceMVK_VkResult_return;
-}
-#endif
-#ifdef VK_EXT_external_memory_dma_buf
-#endif
-#ifdef VK_EXT_queue_family_foreign
-#endif
-#ifdef VK_EXT_debug_utils
-static VkResult entry_vkSetDebugUtilsObjectNameEXT(
- VkDevice device,
- const VkDebugUtilsObjectNameInfoEXT* pNameInfo)
-{
- AEMU_SCOPED_TRACE("vkSetDebugUtilsObjectNameEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkSetDebugUtilsObjectNameEXT_VkResult_return = (VkResult)0;
- vkSetDebugUtilsObjectNameEXT_VkResult_return = vkEnc->vkSetDebugUtilsObjectNameEXT(device, pNameInfo);
- return vkSetDebugUtilsObjectNameEXT_VkResult_return;
-}
-static VkResult dynCheck_entry_vkSetDebugUtilsObjectNameEXT(
- VkDevice device,
- const VkDebugUtilsObjectNameInfoEXT* pNameInfo)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_EXT_debug_utils"))
- {
- sOnInvalidDynamicallyCheckedCall("vkSetDebugUtilsObjectNameEXT", "VK_EXT_debug_utils");
- }
- AEMU_SCOPED_TRACE("vkSetDebugUtilsObjectNameEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkSetDebugUtilsObjectNameEXT_VkResult_return = (VkResult)0;
- vkSetDebugUtilsObjectNameEXT_VkResult_return = vkEnc->vkSetDebugUtilsObjectNameEXT(device, pNameInfo);
- return vkSetDebugUtilsObjectNameEXT_VkResult_return;
-}
-static VkResult entry_vkSetDebugUtilsObjectTagEXT(
- VkDevice device,
- const VkDebugUtilsObjectTagInfoEXT* pTagInfo)
-{
- AEMU_SCOPED_TRACE("vkSetDebugUtilsObjectTagEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkSetDebugUtilsObjectTagEXT_VkResult_return = (VkResult)0;
- vkSetDebugUtilsObjectTagEXT_VkResult_return = vkEnc->vkSetDebugUtilsObjectTagEXT(device, pTagInfo);
- return vkSetDebugUtilsObjectTagEXT_VkResult_return;
-}
-static VkResult dynCheck_entry_vkSetDebugUtilsObjectTagEXT(
- VkDevice device,
- const VkDebugUtilsObjectTagInfoEXT* pTagInfo)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_EXT_debug_utils"))
- {
- sOnInvalidDynamicallyCheckedCall("vkSetDebugUtilsObjectTagEXT", "VK_EXT_debug_utils");
- }
- AEMU_SCOPED_TRACE("vkSetDebugUtilsObjectTagEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkSetDebugUtilsObjectTagEXT_VkResult_return = (VkResult)0;
- vkSetDebugUtilsObjectTagEXT_VkResult_return = vkEnc->vkSetDebugUtilsObjectTagEXT(device, pTagInfo);
- return vkSetDebugUtilsObjectTagEXT_VkResult_return;
-}
-static void entry_vkQueueBeginDebugUtilsLabelEXT(
- VkQueue queue,
- const VkDebugUtilsLabelEXT* pLabelInfo)
-{
- AEMU_SCOPED_TRACE("vkQueueBeginDebugUtilsLabelEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForQueue(queue, vkEnc);
- vkEnc->vkQueueBeginDebugUtilsLabelEXT(queue, pLabelInfo);
-}
-static void entry_vkQueueEndDebugUtilsLabelEXT(
- VkQueue queue)
-{
- AEMU_SCOPED_TRACE("vkQueueEndDebugUtilsLabelEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForQueue(queue, vkEnc);
- vkEnc->vkQueueEndDebugUtilsLabelEXT(queue);
-}
-static void entry_vkQueueInsertDebugUtilsLabelEXT(
- VkQueue queue,
- const VkDebugUtilsLabelEXT* pLabelInfo)
-{
- AEMU_SCOPED_TRACE("vkQueueInsertDebugUtilsLabelEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForQueue(queue, vkEnc);
- vkEnc->vkQueueInsertDebugUtilsLabelEXT(queue, pLabelInfo);
-}
-static void entry_vkCmdBeginDebugUtilsLabelEXT(
- VkCommandBuffer commandBuffer,
- const VkDebugUtilsLabelEXT* pLabelInfo)
-{
- AEMU_SCOPED_TRACE("vkCmdBeginDebugUtilsLabelEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdBeginDebugUtilsLabelEXT(commandBuffer, pLabelInfo);
-}
-static void entry_vkCmdEndDebugUtilsLabelEXT(
- VkCommandBuffer commandBuffer)
-{
- AEMU_SCOPED_TRACE("vkCmdEndDebugUtilsLabelEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdEndDebugUtilsLabelEXT(commandBuffer);
-}
-static void entry_vkCmdInsertDebugUtilsLabelEXT(
- VkCommandBuffer commandBuffer,
- const VkDebugUtilsLabelEXT* pLabelInfo)
-{
- AEMU_SCOPED_TRACE("vkCmdInsertDebugUtilsLabelEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdInsertDebugUtilsLabelEXT(commandBuffer, pLabelInfo);
-}
-static VkResult entry_vkCreateDebugUtilsMessengerEXT(
- VkInstance instance,
- const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkDebugUtilsMessengerEXT* pMessenger)
-{
- AEMU_SCOPED_TRACE("vkCreateDebugUtilsMessengerEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateDebugUtilsMessengerEXT_VkResult_return = (VkResult)0;
- vkCreateDebugUtilsMessengerEXT_VkResult_return = vkEnc->vkCreateDebugUtilsMessengerEXT(instance, pCreateInfo, pAllocator, pMessenger);
- return vkCreateDebugUtilsMessengerEXT_VkResult_return;
-}
-static void entry_vkDestroyDebugUtilsMessengerEXT(
- VkInstance instance,
- VkDebugUtilsMessengerEXT messenger,
- const VkAllocationCallbacks* pAllocator)
-{
- AEMU_SCOPED_TRACE("vkDestroyDebugUtilsMessengerEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkDestroyDebugUtilsMessengerEXT(instance, messenger, pAllocator);
-}
-static void entry_vkSubmitDebugUtilsMessageEXT(
- VkInstance instance,
- VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
- VkDebugUtilsMessageTypeFlagsEXT messageTypes,
- const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData)
-{
- AEMU_SCOPED_TRACE("vkSubmitDebugUtilsMessageEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkSubmitDebugUtilsMessageEXT(instance, messageSeverity, messageTypes, pCallbackData);
-}
-#endif
-#ifdef VK_ANDROID_external_memory_android_hardware_buffer
-static VkResult entry_vkGetAndroidHardwareBufferPropertiesANDROID(
- VkDevice device,
- const AHardwareBuffer* buffer,
- VkAndroidHardwareBufferPropertiesANDROID* pProperties)
-{
- AEMU_SCOPED_TRACE("vkGetAndroidHardwareBufferPropertiesANDROID");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetAndroidHardwareBufferPropertiesANDROID_VkResult_return = (VkResult)0;
- auto resources = ResourceTracker::get();
- vkGetAndroidHardwareBufferPropertiesANDROID_VkResult_return = resources->on_vkGetAndroidHardwareBufferPropertiesANDROID(vkEnc, VK_SUCCESS, device, buffer, pProperties);
- return vkGetAndroidHardwareBufferPropertiesANDROID_VkResult_return;
-}
-static VkResult dynCheck_entry_vkGetAndroidHardwareBufferPropertiesANDROID(
- VkDevice device,
- const AHardwareBuffer* buffer,
- VkAndroidHardwareBufferPropertiesANDROID* pProperties)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_ANDROID_external_memory_android_hardware_buffer"))
- {
- sOnInvalidDynamicallyCheckedCall("vkGetAndroidHardwareBufferPropertiesANDROID", "VK_ANDROID_external_memory_android_hardware_buffer");
- }
- AEMU_SCOPED_TRACE("vkGetAndroidHardwareBufferPropertiesANDROID");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetAndroidHardwareBufferPropertiesANDROID_VkResult_return = (VkResult)0;
- vkGetAndroidHardwareBufferPropertiesANDROID_VkResult_return = resources->on_vkGetAndroidHardwareBufferPropertiesANDROID(vkEnc, VK_SUCCESS, device, buffer, pProperties);
- return vkGetAndroidHardwareBufferPropertiesANDROID_VkResult_return;
-}
-static VkResult entry_vkGetMemoryAndroidHardwareBufferANDROID(
- VkDevice device,
- const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo,
- AHardwareBuffer** pBuffer)
-{
- AEMU_SCOPED_TRACE("vkGetMemoryAndroidHardwareBufferANDROID");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetMemoryAndroidHardwareBufferANDROID_VkResult_return = (VkResult)0;
- auto resources = ResourceTracker::get();
- vkGetMemoryAndroidHardwareBufferANDROID_VkResult_return = resources->on_vkGetMemoryAndroidHardwareBufferANDROID(vkEnc, VK_SUCCESS, device, pInfo, pBuffer);
- return vkGetMemoryAndroidHardwareBufferANDROID_VkResult_return;
-}
-static VkResult dynCheck_entry_vkGetMemoryAndroidHardwareBufferANDROID(
- VkDevice device,
- const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo,
- AHardwareBuffer** pBuffer)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_ANDROID_external_memory_android_hardware_buffer"))
- {
- sOnInvalidDynamicallyCheckedCall("vkGetMemoryAndroidHardwareBufferANDROID", "VK_ANDROID_external_memory_android_hardware_buffer");
- }
- AEMU_SCOPED_TRACE("vkGetMemoryAndroidHardwareBufferANDROID");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetMemoryAndroidHardwareBufferANDROID_VkResult_return = (VkResult)0;
- vkGetMemoryAndroidHardwareBufferANDROID_VkResult_return = resources->on_vkGetMemoryAndroidHardwareBufferANDROID(vkEnc, VK_SUCCESS, device, pInfo, pBuffer);
- return vkGetMemoryAndroidHardwareBufferANDROID_VkResult_return;
-}
-#endif
-#ifdef VK_EXT_sampler_filter_minmax
-#endif
-#ifdef VK_AMD_gpu_shader_int16
-#endif
-#ifdef VK_AMD_mixed_attachment_samples
-#endif
-#ifdef VK_AMD_shader_fragment_mask
-#endif
-#ifdef VK_EXT_shader_stencil_export
-#endif
-#ifdef VK_EXT_sample_locations
-static void entry_vkCmdSetSampleLocationsEXT(
- VkCommandBuffer commandBuffer,
- const VkSampleLocationsInfoEXT* pSampleLocationsInfo)
-{
- AEMU_SCOPED_TRACE("vkCmdSetSampleLocationsEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdSetSampleLocationsEXT(commandBuffer, pSampleLocationsInfo);
-}
-static void entry_vkGetPhysicalDeviceMultisamplePropertiesEXT(
- VkPhysicalDevice physicalDevice,
- VkSampleCountFlagBits samples,
- VkMultisamplePropertiesEXT* pMultisampleProperties)
-{
- AEMU_SCOPED_TRACE("vkGetPhysicalDeviceMultisamplePropertiesEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetPhysicalDeviceMultisamplePropertiesEXT(physicalDevice, samples, pMultisampleProperties);
-}
-#endif
-#ifdef VK_EXT_blend_operation_advanced
-#endif
-#ifdef VK_NV_fragment_coverage_to_color
-#endif
-#ifdef VK_NV_framebuffer_mixed_samples
-#endif
-#ifdef VK_NV_fill_rectangle
-#endif
-#ifdef VK_EXT_post_depth_coverage
-#endif
-#ifdef VK_EXT_validation_cache
-static VkResult entry_vkCreateValidationCacheEXT(
- VkDevice device,
- const VkValidationCacheCreateInfoEXT* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkValidationCacheEXT* pValidationCache)
-{
- AEMU_SCOPED_TRACE("vkCreateValidationCacheEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateValidationCacheEXT_VkResult_return = (VkResult)0;
- vkCreateValidationCacheEXT_VkResult_return = vkEnc->vkCreateValidationCacheEXT(device, pCreateInfo, pAllocator, pValidationCache);
- return vkCreateValidationCacheEXT_VkResult_return;
-}
-static VkResult dynCheck_entry_vkCreateValidationCacheEXT(
- VkDevice device,
- const VkValidationCacheCreateInfoEXT* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkValidationCacheEXT* pValidationCache)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_EXT_validation_cache"))
- {
- sOnInvalidDynamicallyCheckedCall("vkCreateValidationCacheEXT", "VK_EXT_validation_cache");
- }
- AEMU_SCOPED_TRACE("vkCreateValidationCacheEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateValidationCacheEXT_VkResult_return = (VkResult)0;
- vkCreateValidationCacheEXT_VkResult_return = vkEnc->vkCreateValidationCacheEXT(device, pCreateInfo, pAllocator, pValidationCache);
- return vkCreateValidationCacheEXT_VkResult_return;
-}
-static void entry_vkDestroyValidationCacheEXT(
- VkDevice device,
- VkValidationCacheEXT validationCache,
- const VkAllocationCallbacks* pAllocator)
-{
- AEMU_SCOPED_TRACE("vkDestroyValidationCacheEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkDestroyValidationCacheEXT(device, validationCache, pAllocator);
-}
-static void dynCheck_entry_vkDestroyValidationCacheEXT(
- VkDevice device,
- VkValidationCacheEXT validationCache,
- const VkAllocationCallbacks* pAllocator)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_EXT_validation_cache"))
- {
- sOnInvalidDynamicallyCheckedCall("vkDestroyValidationCacheEXT", "VK_EXT_validation_cache");
- }
- AEMU_SCOPED_TRACE("vkDestroyValidationCacheEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkDestroyValidationCacheEXT(device, validationCache, pAllocator);
-}
-static VkResult entry_vkMergeValidationCachesEXT(
- VkDevice device,
- VkValidationCacheEXT dstCache,
- uint32_t srcCacheCount,
- const VkValidationCacheEXT* pSrcCaches)
-{
- AEMU_SCOPED_TRACE("vkMergeValidationCachesEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkMergeValidationCachesEXT_VkResult_return = (VkResult)0;
- vkMergeValidationCachesEXT_VkResult_return = vkEnc->vkMergeValidationCachesEXT(device, dstCache, srcCacheCount, pSrcCaches);
- return vkMergeValidationCachesEXT_VkResult_return;
-}
-static VkResult dynCheck_entry_vkMergeValidationCachesEXT(
- VkDevice device,
- VkValidationCacheEXT dstCache,
- uint32_t srcCacheCount,
- const VkValidationCacheEXT* pSrcCaches)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_EXT_validation_cache"))
- {
- sOnInvalidDynamicallyCheckedCall("vkMergeValidationCachesEXT", "VK_EXT_validation_cache");
- }
- AEMU_SCOPED_TRACE("vkMergeValidationCachesEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkMergeValidationCachesEXT_VkResult_return = (VkResult)0;
- vkMergeValidationCachesEXT_VkResult_return = vkEnc->vkMergeValidationCachesEXT(device, dstCache, srcCacheCount, pSrcCaches);
- return vkMergeValidationCachesEXT_VkResult_return;
-}
-static VkResult entry_vkGetValidationCacheDataEXT(
- VkDevice device,
- VkValidationCacheEXT validationCache,
- size_t* pDataSize,
- void* pData)
-{
- AEMU_SCOPED_TRACE("vkGetValidationCacheDataEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetValidationCacheDataEXT_VkResult_return = (VkResult)0;
- vkGetValidationCacheDataEXT_VkResult_return = vkEnc->vkGetValidationCacheDataEXT(device, validationCache, pDataSize, pData);
- return vkGetValidationCacheDataEXT_VkResult_return;
-}
-static VkResult dynCheck_entry_vkGetValidationCacheDataEXT(
- VkDevice device,
- VkValidationCacheEXT validationCache,
- size_t* pDataSize,
- void* pData)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_EXT_validation_cache"))
- {
- sOnInvalidDynamicallyCheckedCall("vkGetValidationCacheDataEXT", "VK_EXT_validation_cache");
- }
- AEMU_SCOPED_TRACE("vkGetValidationCacheDataEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetValidationCacheDataEXT_VkResult_return = (VkResult)0;
- vkGetValidationCacheDataEXT_VkResult_return = vkEnc->vkGetValidationCacheDataEXT(device, validationCache, pDataSize, pData);
- return vkGetValidationCacheDataEXT_VkResult_return;
-}
-#endif
-#ifdef VK_EXT_descriptor_indexing
-#endif
-#ifdef VK_EXT_shader_viewport_index_layer
-#endif
-#ifdef VK_EXT_global_priority
-#endif
-#ifdef VK_EXT_external_memory_host
-static VkResult entry_vkGetMemoryHostPointerPropertiesEXT(
- VkDevice device,
- VkExternalMemoryHandleTypeFlagBits handleType,
- const void* pHostPointer,
- VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties)
-{
- AEMU_SCOPED_TRACE("vkGetMemoryHostPointerPropertiesEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetMemoryHostPointerPropertiesEXT_VkResult_return = (VkResult)0;
- vkGetMemoryHostPointerPropertiesEXT_VkResult_return = vkEnc->vkGetMemoryHostPointerPropertiesEXT(device, handleType, pHostPointer, pMemoryHostPointerProperties);
- return vkGetMemoryHostPointerPropertiesEXT_VkResult_return;
-}
-static VkResult dynCheck_entry_vkGetMemoryHostPointerPropertiesEXT(
- VkDevice device,
- VkExternalMemoryHandleTypeFlagBits handleType,
- const void* pHostPointer,
- VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_EXT_external_memory_host"))
- {
- sOnInvalidDynamicallyCheckedCall("vkGetMemoryHostPointerPropertiesEXT", "VK_EXT_external_memory_host");
- }
- AEMU_SCOPED_TRACE("vkGetMemoryHostPointerPropertiesEXT");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetMemoryHostPointerPropertiesEXT_VkResult_return = (VkResult)0;
- vkGetMemoryHostPointerPropertiesEXT_VkResult_return = vkEnc->vkGetMemoryHostPointerPropertiesEXT(device, handleType, pHostPointer, pMemoryHostPointerProperties);
- return vkGetMemoryHostPointerPropertiesEXT_VkResult_return;
-}
-#endif
-#ifdef VK_AMD_buffer_marker
-static void entry_vkCmdWriteBufferMarkerAMD(
- VkCommandBuffer commandBuffer,
- VkPipelineStageFlagBits pipelineStage,
- VkBuffer dstBuffer,
- VkDeviceSize dstOffset,
- uint32_t marker)
-{
- AEMU_SCOPED_TRACE("vkCmdWriteBufferMarkerAMD");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdWriteBufferMarkerAMD(commandBuffer, pipelineStage, dstBuffer, dstOffset, marker);
-}
-#endif
-#ifdef VK_AMD_shader_core_properties
-#endif
-#ifdef VK_EXT_vertex_attribute_divisor
-#endif
-#ifdef VK_NV_shader_subgroup_partitioned
-#endif
-#ifdef VK_NV_device_diagnostic_checkpoints
-static void entry_vkCmdSetCheckpointNV(
- VkCommandBuffer commandBuffer,
- const void* pCheckpointMarker)
-{
- AEMU_SCOPED_TRACE("vkCmdSetCheckpointNV");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCmdSetCheckpointNV(commandBuffer, pCheckpointMarker);
-}
-static void entry_vkGetQueueCheckpointDataNV(
- VkQueue queue,
- uint32_t* pCheckpointDataCount,
- VkCheckpointDataNV* pCheckpointData)
-{
- AEMU_SCOPED_TRACE("vkGetQueueCheckpointDataNV");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForQueue(queue, vkEnc);
- vkEnc->vkGetQueueCheckpointDataNV(queue, pCheckpointDataCount, pCheckpointData);
-}
-#endif
-#ifdef VK_GOOGLE_address_space
-static VkResult entry_vkMapMemoryIntoAddressSpaceGOOGLE(
- VkDevice device,
- VkDeviceMemory memory,
- uint64_t* pAddress)
-{
- AEMU_SCOPED_TRACE("vkMapMemoryIntoAddressSpaceGOOGLE");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkMapMemoryIntoAddressSpaceGOOGLE_VkResult_return = (VkResult)0;
- vkMapMemoryIntoAddressSpaceGOOGLE_VkResult_return = vkEnc->vkMapMemoryIntoAddressSpaceGOOGLE(device, memory, pAddress);
- return vkMapMemoryIntoAddressSpaceGOOGLE_VkResult_return;
-}
-static VkResult dynCheck_entry_vkMapMemoryIntoAddressSpaceGOOGLE(
- VkDevice device,
- VkDeviceMemory memory,
- uint64_t* pAddress)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_GOOGLE_address_space"))
- {
- sOnInvalidDynamicallyCheckedCall("vkMapMemoryIntoAddressSpaceGOOGLE", "VK_GOOGLE_address_space");
- }
- AEMU_SCOPED_TRACE("vkMapMemoryIntoAddressSpaceGOOGLE");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkMapMemoryIntoAddressSpaceGOOGLE_VkResult_return = (VkResult)0;
- vkMapMemoryIntoAddressSpaceGOOGLE_VkResult_return = vkEnc->vkMapMemoryIntoAddressSpaceGOOGLE(device, memory, pAddress);
- return vkMapMemoryIntoAddressSpaceGOOGLE_VkResult_return;
-}
-#endif
-#ifdef VK_GOOGLE_color_buffer
-static VkResult entry_vkRegisterImageColorBufferGOOGLE(
- VkDevice device,
- VkImage image,
- uint32_t colorBuffer)
-{
- AEMU_SCOPED_TRACE("vkRegisterImageColorBufferGOOGLE");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkRegisterImageColorBufferGOOGLE_VkResult_return = (VkResult)0;
- vkRegisterImageColorBufferGOOGLE_VkResult_return = vkEnc->vkRegisterImageColorBufferGOOGLE(device, image, colorBuffer);
- return vkRegisterImageColorBufferGOOGLE_VkResult_return;
-}
-static VkResult dynCheck_entry_vkRegisterImageColorBufferGOOGLE(
- VkDevice device,
- VkImage image,
- uint32_t colorBuffer)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_GOOGLE_color_buffer"))
- {
- sOnInvalidDynamicallyCheckedCall("vkRegisterImageColorBufferGOOGLE", "VK_GOOGLE_color_buffer");
- }
- AEMU_SCOPED_TRACE("vkRegisterImageColorBufferGOOGLE");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkRegisterImageColorBufferGOOGLE_VkResult_return = (VkResult)0;
- vkRegisterImageColorBufferGOOGLE_VkResult_return = vkEnc->vkRegisterImageColorBufferGOOGLE(device, image, colorBuffer);
- return vkRegisterImageColorBufferGOOGLE_VkResult_return;
-}
-static VkResult entry_vkRegisterBufferColorBufferGOOGLE(
- VkDevice device,
- VkBuffer buffer,
- uint32_t colorBuffer)
-{
- AEMU_SCOPED_TRACE("vkRegisterBufferColorBufferGOOGLE");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkRegisterBufferColorBufferGOOGLE_VkResult_return = (VkResult)0;
- vkRegisterBufferColorBufferGOOGLE_VkResult_return = vkEnc->vkRegisterBufferColorBufferGOOGLE(device, buffer, colorBuffer);
- return vkRegisterBufferColorBufferGOOGLE_VkResult_return;
-}
-static VkResult dynCheck_entry_vkRegisterBufferColorBufferGOOGLE(
- VkDevice device,
- VkBuffer buffer,
- uint32_t colorBuffer)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_GOOGLE_color_buffer"))
- {
- sOnInvalidDynamicallyCheckedCall("vkRegisterBufferColorBufferGOOGLE", "VK_GOOGLE_color_buffer");
- }
- AEMU_SCOPED_TRACE("vkRegisterBufferColorBufferGOOGLE");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkRegisterBufferColorBufferGOOGLE_VkResult_return = (VkResult)0;
- vkRegisterBufferColorBufferGOOGLE_VkResult_return = vkEnc->vkRegisterBufferColorBufferGOOGLE(device, buffer, colorBuffer);
- return vkRegisterBufferColorBufferGOOGLE_VkResult_return;
-}
-#endif
-#ifdef VK_GOOGLE_sized_descriptor_update_template
-static void entry_vkUpdateDescriptorSetWithTemplateSizedGOOGLE(
- 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)
-{
- AEMU_SCOPED_TRACE("vkUpdateDescriptorSetWithTemplateSizedGOOGLE");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkUpdateDescriptorSetWithTemplateSizedGOOGLE(device, descriptorSet, descriptorUpdateTemplate, imageInfoCount, bufferInfoCount, bufferViewCount, pImageInfoEntryIndices, pBufferInfoEntryIndices, pBufferViewEntryIndices, pImageInfos, pBufferInfos, pBufferViews);
-}
-static void dynCheck_entry_vkUpdateDescriptorSetWithTemplateSizedGOOGLE(
- 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)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_GOOGLE_sized_descriptor_update_template"))
- {
- sOnInvalidDynamicallyCheckedCall("vkUpdateDescriptorSetWithTemplateSizedGOOGLE", "VK_GOOGLE_sized_descriptor_update_template");
- }
- AEMU_SCOPED_TRACE("vkUpdateDescriptorSetWithTemplateSizedGOOGLE");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkUpdateDescriptorSetWithTemplateSizedGOOGLE(device, descriptorSet, descriptorUpdateTemplate, imageInfoCount, bufferInfoCount, bufferViewCount, pImageInfoEntryIndices, pBufferInfoEntryIndices, pBufferViewEntryIndices, pImageInfos, pBufferInfos, pBufferViews);
-}
-#endif
-#ifdef VK_GOOGLE_async_command_buffers
-static void entry_vkBeginCommandBufferAsyncGOOGLE(
- VkCommandBuffer commandBuffer,
- const VkCommandBufferBeginInfo* pBeginInfo)
-{
- AEMU_SCOPED_TRACE("vkBeginCommandBufferAsyncGOOGLE");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkBeginCommandBufferAsyncGOOGLE(commandBuffer, pBeginInfo);
-}
-static void entry_vkEndCommandBufferAsyncGOOGLE(
- VkCommandBuffer commandBuffer)
-{
- AEMU_SCOPED_TRACE("vkEndCommandBufferAsyncGOOGLE");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkEndCommandBufferAsyncGOOGLE(commandBuffer);
-}
-static void entry_vkResetCommandBufferAsyncGOOGLE(
- VkCommandBuffer commandBuffer,
- VkCommandBufferResetFlags flags)
-{
- AEMU_SCOPED_TRACE("vkResetCommandBufferAsyncGOOGLE");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkResetCommandBufferAsyncGOOGLE(commandBuffer, flags);
-}
-static void entry_vkCommandBufferHostSyncGOOGLE(
- VkCommandBuffer commandBuffer,
- uint32_t needHostSync,
- uint32_t sequenceNumber)
-{
- AEMU_SCOPED_TRACE("vkCommandBufferHostSyncGOOGLE");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
- vkEnc->vkCommandBufferHostSyncGOOGLE(commandBuffer, needHostSync, sequenceNumber);
-}
-#endif
-#ifdef VK_GOOGLE_create_resources_with_requirements
-static VkResult entry_vkCreateImageWithRequirementsGOOGLE(
- VkDevice device,
- const VkImageCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkImage* pImage,
- VkMemoryRequirements* pMemoryRequirements)
-{
- AEMU_SCOPED_TRACE("vkCreateImageWithRequirementsGOOGLE");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateImageWithRequirementsGOOGLE_VkResult_return = (VkResult)0;
- vkCreateImageWithRequirementsGOOGLE_VkResult_return = vkEnc->vkCreateImageWithRequirementsGOOGLE(device, pCreateInfo, pAllocator, pImage, pMemoryRequirements);
- return vkCreateImageWithRequirementsGOOGLE_VkResult_return;
-}
-static VkResult dynCheck_entry_vkCreateImageWithRequirementsGOOGLE(
- VkDevice device,
- const VkImageCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkImage* pImage,
- VkMemoryRequirements* pMemoryRequirements)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_GOOGLE_create_resources_with_requirements"))
- {
- sOnInvalidDynamicallyCheckedCall("vkCreateImageWithRequirementsGOOGLE", "VK_GOOGLE_create_resources_with_requirements");
- }
- AEMU_SCOPED_TRACE("vkCreateImageWithRequirementsGOOGLE");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateImageWithRequirementsGOOGLE_VkResult_return = (VkResult)0;
- vkCreateImageWithRequirementsGOOGLE_VkResult_return = vkEnc->vkCreateImageWithRequirementsGOOGLE(device, pCreateInfo, pAllocator, pImage, pMemoryRequirements);
- return vkCreateImageWithRequirementsGOOGLE_VkResult_return;
-}
-static VkResult entry_vkCreateBufferWithRequirementsGOOGLE(
- VkDevice device,
- const VkBufferCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkBuffer* pBuffer,
- VkMemoryRequirements* pMemoryRequirements)
-{
- AEMU_SCOPED_TRACE("vkCreateBufferWithRequirementsGOOGLE");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateBufferWithRequirementsGOOGLE_VkResult_return = (VkResult)0;
- vkCreateBufferWithRequirementsGOOGLE_VkResult_return = vkEnc->vkCreateBufferWithRequirementsGOOGLE(device, pCreateInfo, pAllocator, pBuffer, pMemoryRequirements);
- return vkCreateBufferWithRequirementsGOOGLE_VkResult_return;
-}
-static VkResult dynCheck_entry_vkCreateBufferWithRequirementsGOOGLE(
- VkDevice device,
- const VkBufferCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkBuffer* pBuffer,
- VkMemoryRequirements* pMemoryRequirements)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_GOOGLE_create_resources_with_requirements"))
- {
- sOnInvalidDynamicallyCheckedCall("vkCreateBufferWithRequirementsGOOGLE", "VK_GOOGLE_create_resources_with_requirements");
- }
- AEMU_SCOPED_TRACE("vkCreateBufferWithRequirementsGOOGLE");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkCreateBufferWithRequirementsGOOGLE_VkResult_return = (VkResult)0;
- vkCreateBufferWithRequirementsGOOGLE_VkResult_return = vkEnc->vkCreateBufferWithRequirementsGOOGLE(device, pCreateInfo, pAllocator, pBuffer, pMemoryRequirements);
- return vkCreateBufferWithRequirementsGOOGLE_VkResult_return;
-}
-#endif
-#ifdef VK_GOOGLE_address_space_info
-static VkResult entry_vkGetMemoryHostAddressInfoGOOGLE(
- VkDevice device,
- VkDeviceMemory memory,
- uint64_t* pAddress,
- uint64_t* pSize,
- uint64_t* pHostmemId)
-{
- AEMU_SCOPED_TRACE("vkGetMemoryHostAddressInfoGOOGLE");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetMemoryHostAddressInfoGOOGLE_VkResult_return = (VkResult)0;
- vkGetMemoryHostAddressInfoGOOGLE_VkResult_return = vkEnc->vkGetMemoryHostAddressInfoGOOGLE(device, memory, pAddress, pSize, pHostmemId);
- return vkGetMemoryHostAddressInfoGOOGLE_VkResult_return;
-}
-static VkResult dynCheck_entry_vkGetMemoryHostAddressInfoGOOGLE(
- VkDevice device,
- VkDeviceMemory memory,
- uint64_t* pAddress,
- uint64_t* pSize,
- uint64_t* pHostmemId)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_GOOGLE_address_space_info"))
- {
- sOnInvalidDynamicallyCheckedCall("vkGetMemoryHostAddressInfoGOOGLE", "VK_GOOGLE_address_space_info");
- }
- AEMU_SCOPED_TRACE("vkGetMemoryHostAddressInfoGOOGLE");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkGetMemoryHostAddressInfoGOOGLE_VkResult_return = (VkResult)0;
- vkGetMemoryHostAddressInfoGOOGLE_VkResult_return = vkEnc->vkGetMemoryHostAddressInfoGOOGLE(device, memory, pAddress, pSize, pHostmemId);
- return vkGetMemoryHostAddressInfoGOOGLE_VkResult_return;
-}
-#endif
-#ifdef VK_GOOGLE_free_memory_sync
-static VkResult entry_vkFreeMemorySyncGOOGLE(
- VkDevice device,
- VkDeviceMemory memory,
- const VkAllocationCallbacks* pAllocator)
-{
- AEMU_SCOPED_TRACE("vkFreeMemorySyncGOOGLE");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkFreeMemorySyncGOOGLE_VkResult_return = (VkResult)0;
- vkFreeMemorySyncGOOGLE_VkResult_return = vkEnc->vkFreeMemorySyncGOOGLE(device, memory, pAllocator);
- return vkFreeMemorySyncGOOGLE_VkResult_return;
-}
-static VkResult dynCheck_entry_vkFreeMemorySyncGOOGLE(
- VkDevice device,
- VkDeviceMemory memory,
- const VkAllocationCallbacks* pAllocator)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_GOOGLE_free_memory_sync"))
- {
- sOnInvalidDynamicallyCheckedCall("vkFreeMemorySyncGOOGLE", "VK_GOOGLE_free_memory_sync");
- }
- AEMU_SCOPED_TRACE("vkFreeMemorySyncGOOGLE");
- auto vkEnc = HostConnection::get()->vkEncoder();
- VkResult vkFreeMemorySyncGOOGLE_VkResult_return = (VkResult)0;
- vkFreeMemorySyncGOOGLE_VkResult_return = vkEnc->vkFreeMemorySyncGOOGLE(device, memory, pAllocator);
- return vkFreeMemorySyncGOOGLE_VkResult_return;
-}
-#endif
-#ifdef VK_GOOGLE_async_queue_submit
-static void entry_vkQueueHostSyncGOOGLE(
- VkQueue queue,
- uint32_t needHostSync,
- uint32_t sequenceNumber)
-{
- AEMU_SCOPED_TRACE("vkQueueHostSyncGOOGLE");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForQueue(queue, vkEnc);
- vkEnc->vkQueueHostSyncGOOGLE(queue, needHostSync, sequenceNumber);
-}
-static void entry_vkQueueSubmitAsyncGOOGLE(
- VkQueue queue,
- uint32_t submitCount,
- const VkSubmitInfo* pSubmits,
- VkFence fence)
-{
- AEMU_SCOPED_TRACE("vkQueueSubmitAsyncGOOGLE");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForQueue(queue, vkEnc);
- vkEnc->vkQueueSubmitAsyncGOOGLE(queue, submitCount, pSubmits, fence);
-}
-static void entry_vkQueueWaitIdleAsyncGOOGLE(
- VkQueue queue)
-{
- AEMU_SCOPED_TRACE("vkQueueWaitIdleAsyncGOOGLE");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForQueue(queue, vkEnc);
- vkEnc->vkQueueWaitIdleAsyncGOOGLE(queue);
-}
-static void entry_vkQueueBindSparseAsyncGOOGLE(
- VkQueue queue,
- uint32_t bindInfoCount,
- const VkBindSparseInfo* pBindInfo,
- VkFence fence)
-{
- AEMU_SCOPED_TRACE("vkQueueBindSparseAsyncGOOGLE");
- auto vkEnc = HostConnection::get()->vkEncoder();
- ResourceTracker::get()->syncEncodersForQueue(queue, vkEnc);
- vkEnc->vkQueueBindSparseAsyncGOOGLE(queue, bindInfoCount, pBindInfo, fence);
-}
-#endif
-#ifdef VK_GOOGLE_linear_image_layout
-static void entry_vkGetLinearImageLayoutGOOGLE(
- VkDevice device,
- VkFormat format,
- VkDeviceSize* pOffset,
- VkDeviceSize* pRowPitchAlignment)
-{
- AEMU_SCOPED_TRACE("vkGetLinearImageLayoutGOOGLE");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetLinearImageLayoutGOOGLE(device, format, pOffset, pRowPitchAlignment);
-}
-static void dynCheck_entry_vkGetLinearImageLayoutGOOGLE(
- VkDevice device,
- VkFormat format,
- VkDeviceSize* pOffset,
- VkDeviceSize* pRowPitchAlignment)
-{
- auto resources = ResourceTracker::get();
- if (!resources->hasDeviceExtension(device, "VK_GOOGLE_linear_image_layout"))
- {
- sOnInvalidDynamicallyCheckedCall("vkGetLinearImageLayoutGOOGLE", "VK_GOOGLE_linear_image_layout");
- }
- AEMU_SCOPED_TRACE("vkGetLinearImageLayoutGOOGLE");
- auto vkEnc = HostConnection::get()->vkEncoder();
- vkEnc->vkGetLinearImageLayoutGOOGLE(device, format, pOffset, pRowPitchAlignment);
-}
-#endif
-void* goldfish_vulkan_get_proc_address(const char* name){
-#ifdef VK_VERSION_1_0
- if (!strcmp(name, "vkCreateInstance"))
- {
- return (void*)entry_vkCreateInstance;
- }
- if (!strcmp(name, "vkDestroyInstance"))
- {
- return (void*)entry_vkDestroyInstance;
- }
- if (!strcmp(name, "vkEnumeratePhysicalDevices"))
- {
- return (void*)entry_vkEnumeratePhysicalDevices;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceFeatures"))
- {
- return (void*)entry_vkGetPhysicalDeviceFeatures;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceFormatProperties"))
- {
- return (void*)entry_vkGetPhysicalDeviceFormatProperties;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceImageFormatProperties"))
- {
- return (void*)entry_vkGetPhysicalDeviceImageFormatProperties;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceProperties"))
- {
- return (void*)entry_vkGetPhysicalDeviceProperties;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceQueueFamilyProperties"))
- {
- return (void*)entry_vkGetPhysicalDeviceQueueFamilyProperties;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceMemoryProperties"))
- {
- return (void*)entry_vkGetPhysicalDeviceMemoryProperties;
- }
- if (!strcmp(name, "vkGetInstanceProcAddr"))
- {
- return (void*)entry_vkGetInstanceProcAddr;
- }
- if (!strcmp(name, "vkGetDeviceProcAddr"))
- {
- return (void*)entry_vkGetDeviceProcAddr;
- }
- if (!strcmp(name, "vkCreateDevice"))
- {
- return (void*)entry_vkCreateDevice;
- }
- if (!strcmp(name, "vkDestroyDevice"))
- {
- return (void*)entry_vkDestroyDevice;
- }
- if (!strcmp(name, "vkEnumerateInstanceExtensionProperties"))
- {
- return (void*)entry_vkEnumerateInstanceExtensionProperties;
- }
- if (!strcmp(name, "vkEnumerateDeviceExtensionProperties"))
- {
- return (void*)entry_vkEnumerateDeviceExtensionProperties;
- }
- if (!strcmp(name, "vkEnumerateInstanceLayerProperties"))
- {
- return (void*)entry_vkEnumerateInstanceLayerProperties;
- }
- if (!strcmp(name, "vkEnumerateDeviceLayerProperties"))
- {
- return (void*)entry_vkEnumerateDeviceLayerProperties;
- }
- if (!strcmp(name, "vkGetDeviceQueue"))
- {
- return (void*)entry_vkGetDeviceQueue;
- }
- if (!strcmp(name, "vkQueueSubmit"))
- {
- return (void*)entry_vkQueueSubmit;
- }
- if (!strcmp(name, "vkQueueWaitIdle"))
- {
- return (void*)entry_vkQueueWaitIdle;
- }
- if (!strcmp(name, "vkDeviceWaitIdle"))
- {
- return (void*)entry_vkDeviceWaitIdle;
- }
- if (!strcmp(name, "vkAllocateMemory"))
- {
- return (void*)entry_vkAllocateMemory;
- }
- if (!strcmp(name, "vkFreeMemory"))
- {
- return (void*)entry_vkFreeMemory;
- }
- if (!strcmp(name, "vkMapMemory"))
- {
- return (void*)entry_vkMapMemory;
- }
- if (!strcmp(name, "vkUnmapMemory"))
- {
- return (void*)entry_vkUnmapMemory;
- }
- if (!strcmp(name, "vkFlushMappedMemoryRanges"))
- {
- return (void*)entry_vkFlushMappedMemoryRanges;
- }
- if (!strcmp(name, "vkInvalidateMappedMemoryRanges"))
- {
- return (void*)entry_vkInvalidateMappedMemoryRanges;
- }
- if (!strcmp(name, "vkGetDeviceMemoryCommitment"))
- {
- return (void*)entry_vkGetDeviceMemoryCommitment;
- }
- if (!strcmp(name, "vkBindBufferMemory"))
- {
- return (void*)entry_vkBindBufferMemory;
- }
- if (!strcmp(name, "vkBindImageMemory"))
- {
- return (void*)entry_vkBindImageMemory;
- }
- if (!strcmp(name, "vkGetBufferMemoryRequirements"))
- {
- return (void*)entry_vkGetBufferMemoryRequirements;
- }
- if (!strcmp(name, "vkGetImageMemoryRequirements"))
- {
- return (void*)entry_vkGetImageMemoryRequirements;
- }
- if (!strcmp(name, "vkGetImageSparseMemoryRequirements"))
- {
- return (void*)entry_vkGetImageSparseMemoryRequirements;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceSparseImageFormatProperties"))
- {
- return (void*)entry_vkGetPhysicalDeviceSparseImageFormatProperties;
- }
- if (!strcmp(name, "vkQueueBindSparse"))
- {
- return (void*)entry_vkQueueBindSparse;
- }
- if (!strcmp(name, "vkCreateFence"))
- {
- return (void*)entry_vkCreateFence;
- }
- if (!strcmp(name, "vkDestroyFence"))
- {
- return (void*)entry_vkDestroyFence;
- }
- if (!strcmp(name, "vkResetFences"))
- {
- return (void*)entry_vkResetFences;
- }
- if (!strcmp(name, "vkGetFenceStatus"))
- {
- return (void*)entry_vkGetFenceStatus;
- }
- if (!strcmp(name, "vkWaitForFences"))
- {
- return (void*)entry_vkWaitForFences;
- }
- if (!strcmp(name, "vkCreateSemaphore"))
- {
- return (void*)entry_vkCreateSemaphore;
- }
- if (!strcmp(name, "vkDestroySemaphore"))
- {
- return (void*)entry_vkDestroySemaphore;
- }
- if (!strcmp(name, "vkCreateEvent"))
- {
- return (void*)entry_vkCreateEvent;
- }
- if (!strcmp(name, "vkDestroyEvent"))
- {
- return (void*)entry_vkDestroyEvent;
- }
- if (!strcmp(name, "vkGetEventStatus"))
- {
- return (void*)entry_vkGetEventStatus;
- }
- if (!strcmp(name, "vkSetEvent"))
- {
- return (void*)entry_vkSetEvent;
- }
- if (!strcmp(name, "vkResetEvent"))
- {
- return (void*)entry_vkResetEvent;
- }
- if (!strcmp(name, "vkCreateQueryPool"))
- {
- return (void*)entry_vkCreateQueryPool;
- }
- if (!strcmp(name, "vkDestroyQueryPool"))
- {
- return (void*)entry_vkDestroyQueryPool;
- }
- if (!strcmp(name, "vkGetQueryPoolResults"))
- {
- return (void*)entry_vkGetQueryPoolResults;
- }
- if (!strcmp(name, "vkCreateBuffer"))
- {
- return (void*)entry_vkCreateBuffer;
- }
- if (!strcmp(name, "vkDestroyBuffer"))
- {
- return (void*)entry_vkDestroyBuffer;
- }
- if (!strcmp(name, "vkCreateBufferView"))
- {
- return (void*)entry_vkCreateBufferView;
- }
- if (!strcmp(name, "vkDestroyBufferView"))
- {
- return (void*)entry_vkDestroyBufferView;
- }
- if (!strcmp(name, "vkCreateImage"))
- {
- return (void*)entry_vkCreateImage;
- }
- if (!strcmp(name, "vkDestroyImage"))
- {
- return (void*)entry_vkDestroyImage;
- }
- if (!strcmp(name, "vkGetImageSubresourceLayout"))
- {
- return (void*)entry_vkGetImageSubresourceLayout;
- }
- if (!strcmp(name, "vkCreateImageView"))
- {
- return (void*)entry_vkCreateImageView;
- }
- if (!strcmp(name, "vkDestroyImageView"))
- {
- return (void*)entry_vkDestroyImageView;
- }
- if (!strcmp(name, "vkCreateShaderModule"))
- {
- return (void*)entry_vkCreateShaderModule;
- }
- if (!strcmp(name, "vkDestroyShaderModule"))
- {
- return (void*)entry_vkDestroyShaderModule;
- }
- if (!strcmp(name, "vkCreatePipelineCache"))
- {
- return (void*)entry_vkCreatePipelineCache;
- }
- if (!strcmp(name, "vkDestroyPipelineCache"))
- {
- return (void*)entry_vkDestroyPipelineCache;
- }
- if (!strcmp(name, "vkGetPipelineCacheData"))
- {
- return (void*)entry_vkGetPipelineCacheData;
- }
- if (!strcmp(name, "vkMergePipelineCaches"))
- {
- return (void*)entry_vkMergePipelineCaches;
- }
- if (!strcmp(name, "vkCreateGraphicsPipelines"))
- {
- return (void*)entry_vkCreateGraphicsPipelines;
- }
- if (!strcmp(name, "vkCreateComputePipelines"))
- {
- return (void*)entry_vkCreateComputePipelines;
- }
- if (!strcmp(name, "vkDestroyPipeline"))
- {
- return (void*)entry_vkDestroyPipeline;
- }
- if (!strcmp(name, "vkCreatePipelineLayout"))
- {
- return (void*)entry_vkCreatePipelineLayout;
- }
- if (!strcmp(name, "vkDestroyPipelineLayout"))
- {
- return (void*)entry_vkDestroyPipelineLayout;
- }
- if (!strcmp(name, "vkCreateSampler"))
- {
- return (void*)entry_vkCreateSampler;
- }
- if (!strcmp(name, "vkDestroySampler"))
- {
- return (void*)entry_vkDestroySampler;
- }
- if (!strcmp(name, "vkCreateDescriptorSetLayout"))
- {
- return (void*)entry_vkCreateDescriptorSetLayout;
- }
- if (!strcmp(name, "vkDestroyDescriptorSetLayout"))
- {
- return (void*)entry_vkDestroyDescriptorSetLayout;
- }
- if (!strcmp(name, "vkCreateDescriptorPool"))
- {
- return (void*)entry_vkCreateDescriptorPool;
- }
- if (!strcmp(name, "vkDestroyDescriptorPool"))
- {
- return (void*)entry_vkDestroyDescriptorPool;
- }
- if (!strcmp(name, "vkResetDescriptorPool"))
- {
- return (void*)entry_vkResetDescriptorPool;
- }
- if (!strcmp(name, "vkAllocateDescriptorSets"))
- {
- return (void*)entry_vkAllocateDescriptorSets;
- }
- if (!strcmp(name, "vkFreeDescriptorSets"))
- {
- return (void*)entry_vkFreeDescriptorSets;
- }
- if (!strcmp(name, "vkUpdateDescriptorSets"))
- {
- return (void*)entry_vkUpdateDescriptorSets;
- }
- if (!strcmp(name, "vkCreateFramebuffer"))
- {
- return (void*)entry_vkCreateFramebuffer;
- }
- if (!strcmp(name, "vkDestroyFramebuffer"))
- {
- return (void*)entry_vkDestroyFramebuffer;
- }
- if (!strcmp(name, "vkCreateRenderPass"))
- {
- return (void*)entry_vkCreateRenderPass;
- }
- if (!strcmp(name, "vkDestroyRenderPass"))
- {
- return (void*)entry_vkDestroyRenderPass;
- }
- if (!strcmp(name, "vkGetRenderAreaGranularity"))
- {
- return (void*)entry_vkGetRenderAreaGranularity;
- }
- if (!strcmp(name, "vkCreateCommandPool"))
- {
- return (void*)entry_vkCreateCommandPool;
- }
- if (!strcmp(name, "vkDestroyCommandPool"))
- {
- return (void*)entry_vkDestroyCommandPool;
- }
- if (!strcmp(name, "vkResetCommandPool"))
- {
- return (void*)entry_vkResetCommandPool;
- }
- if (!strcmp(name, "vkAllocateCommandBuffers"))
- {
- return (void*)entry_vkAllocateCommandBuffers;
- }
- if (!strcmp(name, "vkFreeCommandBuffers"))
- {
- return (void*)entry_vkFreeCommandBuffers;
- }
- if (!strcmp(name, "vkBeginCommandBuffer"))
- {
- return (void*)entry_vkBeginCommandBuffer;
- }
- if (!strcmp(name, "vkEndCommandBuffer"))
- {
- return (void*)entry_vkEndCommandBuffer;
- }
- if (!strcmp(name, "vkResetCommandBuffer"))
- {
- return (void*)entry_vkResetCommandBuffer;
- }
- if (!strcmp(name, "vkCmdBindPipeline"))
- {
- return (void*)entry_vkCmdBindPipeline;
- }
- if (!strcmp(name, "vkCmdSetViewport"))
- {
- return (void*)entry_vkCmdSetViewport;
- }
- if (!strcmp(name, "vkCmdSetScissor"))
- {
- return (void*)entry_vkCmdSetScissor;
- }
- if (!strcmp(name, "vkCmdSetLineWidth"))
- {
- return (void*)entry_vkCmdSetLineWidth;
- }
- if (!strcmp(name, "vkCmdSetDepthBias"))
- {
- return (void*)entry_vkCmdSetDepthBias;
- }
- if (!strcmp(name, "vkCmdSetBlendConstants"))
- {
- return (void*)entry_vkCmdSetBlendConstants;
- }
- if (!strcmp(name, "vkCmdSetDepthBounds"))
- {
- return (void*)entry_vkCmdSetDepthBounds;
- }
- if (!strcmp(name, "vkCmdSetStencilCompareMask"))
- {
- return (void*)entry_vkCmdSetStencilCompareMask;
- }
- if (!strcmp(name, "vkCmdSetStencilWriteMask"))
- {
- return (void*)entry_vkCmdSetStencilWriteMask;
- }
- if (!strcmp(name, "vkCmdSetStencilReference"))
- {
- return (void*)entry_vkCmdSetStencilReference;
- }
- if (!strcmp(name, "vkCmdBindDescriptorSets"))
- {
- return (void*)entry_vkCmdBindDescriptorSets;
- }
- if (!strcmp(name, "vkCmdBindIndexBuffer"))
- {
- return (void*)entry_vkCmdBindIndexBuffer;
- }
- if (!strcmp(name, "vkCmdBindVertexBuffers"))
- {
- return (void*)entry_vkCmdBindVertexBuffers;
- }
- if (!strcmp(name, "vkCmdDraw"))
- {
- return (void*)entry_vkCmdDraw;
- }
- if (!strcmp(name, "vkCmdDrawIndexed"))
- {
- return (void*)entry_vkCmdDrawIndexed;
- }
- if (!strcmp(name, "vkCmdDrawIndirect"))
- {
- return (void*)entry_vkCmdDrawIndirect;
- }
- if (!strcmp(name, "vkCmdDrawIndexedIndirect"))
- {
- return (void*)entry_vkCmdDrawIndexedIndirect;
- }
- if (!strcmp(name, "vkCmdDispatch"))
- {
- return (void*)entry_vkCmdDispatch;
- }
- if (!strcmp(name, "vkCmdDispatchIndirect"))
- {
- return (void*)entry_vkCmdDispatchIndirect;
- }
- if (!strcmp(name, "vkCmdCopyBuffer"))
- {
- return (void*)entry_vkCmdCopyBuffer;
- }
- if (!strcmp(name, "vkCmdCopyImage"))
- {
- return (void*)entry_vkCmdCopyImage;
- }
- if (!strcmp(name, "vkCmdBlitImage"))
- {
- return (void*)entry_vkCmdBlitImage;
- }
- if (!strcmp(name, "vkCmdCopyBufferToImage"))
- {
- return (void*)entry_vkCmdCopyBufferToImage;
- }
- if (!strcmp(name, "vkCmdCopyImageToBuffer"))
- {
- return (void*)entry_vkCmdCopyImageToBuffer;
- }
- if (!strcmp(name, "vkCmdUpdateBuffer"))
- {
- return (void*)entry_vkCmdUpdateBuffer;
- }
- if (!strcmp(name, "vkCmdFillBuffer"))
- {
- return (void*)entry_vkCmdFillBuffer;
- }
- if (!strcmp(name, "vkCmdClearColorImage"))
- {
- return (void*)entry_vkCmdClearColorImage;
- }
- if (!strcmp(name, "vkCmdClearDepthStencilImage"))
- {
- return (void*)entry_vkCmdClearDepthStencilImage;
- }
- if (!strcmp(name, "vkCmdClearAttachments"))
- {
- return (void*)entry_vkCmdClearAttachments;
- }
- if (!strcmp(name, "vkCmdResolveImage"))
- {
- return (void*)entry_vkCmdResolveImage;
- }
- if (!strcmp(name, "vkCmdSetEvent"))
- {
- return (void*)entry_vkCmdSetEvent;
- }
- if (!strcmp(name, "vkCmdResetEvent"))
- {
- return (void*)entry_vkCmdResetEvent;
- }
- if (!strcmp(name, "vkCmdWaitEvents"))
- {
- return (void*)entry_vkCmdWaitEvents;
- }
- if (!strcmp(name, "vkCmdPipelineBarrier"))
- {
- return (void*)entry_vkCmdPipelineBarrier;
- }
- if (!strcmp(name, "vkCmdBeginQuery"))
- {
- return (void*)entry_vkCmdBeginQuery;
- }
- if (!strcmp(name, "vkCmdEndQuery"))
- {
- return (void*)entry_vkCmdEndQuery;
- }
- if (!strcmp(name, "vkCmdResetQueryPool"))
- {
- return (void*)entry_vkCmdResetQueryPool;
- }
- if (!strcmp(name, "vkCmdWriteTimestamp"))
- {
- return (void*)entry_vkCmdWriteTimestamp;
- }
- if (!strcmp(name, "vkCmdCopyQueryPoolResults"))
- {
- return (void*)entry_vkCmdCopyQueryPoolResults;
- }
- if (!strcmp(name, "vkCmdPushConstants"))
- {
- return (void*)entry_vkCmdPushConstants;
- }
- if (!strcmp(name, "vkCmdBeginRenderPass"))
- {
- return (void*)entry_vkCmdBeginRenderPass;
- }
- if (!strcmp(name, "vkCmdNextSubpass"))
- {
- return (void*)entry_vkCmdNextSubpass;
- }
- if (!strcmp(name, "vkCmdEndRenderPass"))
- {
- return (void*)entry_vkCmdEndRenderPass;
- }
- if (!strcmp(name, "vkCmdExecuteCommands"))
- {
- return (void*)entry_vkCmdExecuteCommands;
- }
-#endif
-#ifdef VK_VERSION_1_1
- if (!strcmp(name, "vkEnumerateInstanceVersion"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkBindBufferMemory2"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkBindImageMemory2"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetDeviceGroupPeerMemoryFeatures"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkCmdSetDeviceMask"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkCmdDispatchBase"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkEnumeratePhysicalDeviceGroups"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetImageMemoryRequirements2"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetBufferMemoryRequirements2"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetImageSparseMemoryRequirements2"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceFeatures2"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceProperties2"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceFormatProperties2"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceImageFormatProperties2"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceQueueFamilyProperties2"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceMemoryProperties2"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceSparseImageFormatProperties2"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkTrimCommandPool"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetDeviceQueue2"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkCreateSamplerYcbcrConversion"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkDestroySamplerYcbcrConversion"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkCreateDescriptorUpdateTemplate"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkDestroyDescriptorUpdateTemplate"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkUpdateDescriptorSetWithTemplate"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceExternalBufferProperties"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceExternalFenceProperties"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceExternalSemaphoreProperties"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetDescriptorSetLayoutSupport"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_KHR_surface
- if (!strcmp(name, "vkDestroySurfaceKHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceSurfaceSupportKHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceSurfaceFormatsKHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceSurfacePresentModesKHR"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_KHR_swapchain
- if (!strcmp(name, "vkCreateSwapchainKHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkDestroySwapchainKHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetSwapchainImagesKHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkAcquireNextImageKHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkQueuePresentKHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetDeviceGroupPresentCapabilitiesKHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetDeviceGroupSurfacePresentModesKHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDevicePresentRectanglesKHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkAcquireNextImage2KHR"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_KHR_display
- if (!strcmp(name, "vkGetPhysicalDeviceDisplayPropertiesKHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetDisplayPlaneSupportedDisplaysKHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetDisplayModePropertiesKHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkCreateDisplayModeKHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetDisplayPlaneCapabilitiesKHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkCreateDisplayPlaneSurfaceKHR"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_KHR_display_swapchain
- if (!strcmp(name, "vkCreateSharedSwapchainsKHR"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_KHR_xlib_surface
- if (!strcmp(name, "vkCreateXlibSurfaceKHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceXlibPresentationSupportKHR"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_KHR_xcb_surface
- if (!strcmp(name, "vkCreateXcbSurfaceKHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceXcbPresentationSupportKHR"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_KHR_wayland_surface
- if (!strcmp(name, "vkCreateWaylandSurfaceKHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceWaylandPresentationSupportKHR"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_KHR_mir_surface
- if (!strcmp(name, "vkCreateMirSurfaceKHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceMirPresentationSupportKHR"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_KHR_android_surface
- if (!strcmp(name, "vkCreateAndroidSurfaceKHR"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_KHR_win32_surface
- if (!strcmp(name, "vkCreateWin32SurfaceKHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceWin32PresentationSupportKHR"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_KHR_get_physical_device_properties2
- if (!strcmp(name, "vkGetPhysicalDeviceFeatures2KHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceProperties2KHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceFormatProperties2KHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceImageFormatProperties2KHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceQueueFamilyProperties2KHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceMemoryProperties2KHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceSparseImageFormatProperties2KHR"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_KHR_device_group
- if (!strcmp(name, "vkGetDeviceGroupPeerMemoryFeaturesKHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkCmdSetDeviceMaskKHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkCmdDispatchBaseKHR"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_KHR_maintenance1
- if (!strcmp(name, "vkTrimCommandPoolKHR"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_KHR_device_group_creation
- if (!strcmp(name, "vkEnumeratePhysicalDeviceGroupsKHR"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_KHR_external_memory_capabilities
- if (!strcmp(name, "vkGetPhysicalDeviceExternalBufferPropertiesKHR"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_KHR_external_memory_win32
- if (!strcmp(name, "vkGetMemoryWin32HandleKHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetMemoryWin32HandlePropertiesKHR"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_KHR_external_memory_fd
- if (!strcmp(name, "vkGetMemoryFdKHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetMemoryFdPropertiesKHR"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_KHR_external_semaphore_capabilities
- if (!strcmp(name, "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_KHR_external_semaphore_win32
- if (!strcmp(name, "vkImportSemaphoreWin32HandleKHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetSemaphoreWin32HandleKHR"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_KHR_external_semaphore_fd
- if (!strcmp(name, "vkImportSemaphoreFdKHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetSemaphoreFdKHR"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_KHR_push_descriptor
- if (!strcmp(name, "vkCmdPushDescriptorSetKHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkCmdPushDescriptorSetWithTemplateKHR"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_KHR_descriptor_update_template
- if (!strcmp(name, "vkCreateDescriptorUpdateTemplateKHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkDestroyDescriptorUpdateTemplateKHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkUpdateDescriptorSetWithTemplateKHR"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_KHR_create_renderpass2
- if (!strcmp(name, "vkCreateRenderPass2KHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkCmdBeginRenderPass2KHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkCmdNextSubpass2KHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkCmdEndRenderPass2KHR"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_KHR_shared_presentable_image
- if (!strcmp(name, "vkGetSwapchainStatusKHR"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_KHR_external_fence_capabilities
- if (!strcmp(name, "vkGetPhysicalDeviceExternalFencePropertiesKHR"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_KHR_external_fence_win32
- if (!strcmp(name, "vkImportFenceWin32HandleKHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetFenceWin32HandleKHR"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_KHR_external_fence_fd
- if (!strcmp(name, "vkImportFenceFdKHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetFenceFdKHR"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_KHR_get_surface_capabilities2
- if (!strcmp(name, "vkGetPhysicalDeviceSurfaceCapabilities2KHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceSurfaceFormats2KHR"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_KHR_get_display_properties2
- if (!strcmp(name, "vkGetPhysicalDeviceDisplayProperties2KHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceDisplayPlaneProperties2KHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetDisplayModeProperties2KHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetDisplayPlaneCapabilities2KHR"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_KHR_get_memory_requirements2
- if (!strcmp(name, "vkGetImageMemoryRequirements2KHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetBufferMemoryRequirements2KHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetImageSparseMemoryRequirements2KHR"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_KHR_sampler_ycbcr_conversion
- if (!strcmp(name, "vkCreateSamplerYcbcrConversionKHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkDestroySamplerYcbcrConversionKHR"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_KHR_bind_memory2
- if (!strcmp(name, "vkBindBufferMemory2KHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkBindImageMemory2KHR"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_KHR_maintenance3
- if (!strcmp(name, "vkGetDescriptorSetLayoutSupportKHR"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_KHR_draw_indirect_count
- if (!strcmp(name, "vkCmdDrawIndirectCountKHR"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkCmdDrawIndexedIndirectCountKHR"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_ANDROID_native_buffer
- if (!strcmp(name, "vkGetSwapchainGrallocUsageANDROID"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkAcquireImageANDROID"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkQueueSignalReleaseImageANDROID"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_EXT_debug_report
- if (!strcmp(name, "vkCreateDebugReportCallbackEXT"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkDestroyDebugReportCallbackEXT"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkDebugReportMessageEXT"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_EXT_debug_marker
- if (!strcmp(name, "vkDebugMarkerSetObjectTagEXT"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkDebugMarkerSetObjectNameEXT"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkCmdDebugMarkerBeginEXT"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkCmdDebugMarkerEndEXT"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkCmdDebugMarkerInsertEXT"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_AMD_draw_indirect_count
- if (!strcmp(name, "vkCmdDrawIndirectCountAMD"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkCmdDrawIndexedIndirectCountAMD"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_AMD_shader_info
- if (!strcmp(name, "vkGetShaderInfoAMD"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_NV_external_memory_capabilities
- if (!strcmp(name, "vkGetPhysicalDeviceExternalImageFormatPropertiesNV"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_NV_external_memory_win32
- if (!strcmp(name, "vkGetMemoryWin32HandleNV"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_NN_vi_surface
- if (!strcmp(name, "vkCreateViSurfaceNN"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_EXT_conditional_rendering
- if (!strcmp(name, "vkCmdBeginConditionalRenderingEXT"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkCmdEndConditionalRenderingEXT"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_NVX_device_generated_commands
- if (!strcmp(name, "vkCmdProcessCommandsNVX"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkCmdReserveSpaceForCommandsNVX"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkCreateIndirectCommandsLayoutNVX"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkDestroyIndirectCommandsLayoutNVX"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkCreateObjectTableNVX"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkDestroyObjectTableNVX"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkRegisterObjectsNVX"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkUnregisterObjectsNVX"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_NV_clip_space_w_scaling
- if (!strcmp(name, "vkCmdSetViewportWScalingNV"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_EXT_direct_mode_display
- if (!strcmp(name, "vkReleaseDisplayEXT"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_EXT_acquire_xlib_display
- if (!strcmp(name, "vkAcquireXlibDisplayEXT"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetRandROutputDisplayEXT"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_EXT_display_surface_counter
- if (!strcmp(name, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_EXT_display_control
- if (!strcmp(name, "vkDisplayPowerControlEXT"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkRegisterDeviceEventEXT"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkRegisterDisplayEventEXT"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetSwapchainCounterEXT"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_GOOGLE_display_timing
- if (!strcmp(name, "vkGetRefreshCycleDurationGOOGLE"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetPastPresentationTimingGOOGLE"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_EXT_discard_rectangles
- if (!strcmp(name, "vkCmdSetDiscardRectangleEXT"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_EXT_hdr_metadata
- if (!strcmp(name, "vkSetHdrMetadataEXT"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_MVK_ios_surface
- if (!strcmp(name, "vkCreateIOSSurfaceMVK"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_MVK_macos_surface
- if (!strcmp(name, "vkCreateMacOSSurfaceMVK"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_EXT_debug_utils
- if (!strcmp(name, "vkSetDebugUtilsObjectNameEXT"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkSetDebugUtilsObjectTagEXT"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkQueueBeginDebugUtilsLabelEXT"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkQueueEndDebugUtilsLabelEXT"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkQueueInsertDebugUtilsLabelEXT"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkCmdBeginDebugUtilsLabelEXT"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkCmdEndDebugUtilsLabelEXT"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkCmdInsertDebugUtilsLabelEXT"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkCreateDebugUtilsMessengerEXT"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkDestroyDebugUtilsMessengerEXT"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkSubmitDebugUtilsMessageEXT"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_ANDROID_external_memory_android_hardware_buffer
- if (!strcmp(name, "vkGetAndroidHardwareBufferPropertiesANDROID"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetMemoryAndroidHardwareBufferANDROID"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_EXT_sample_locations
- if (!strcmp(name, "vkCmdSetSampleLocationsEXT"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceMultisamplePropertiesEXT"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_EXT_validation_cache
- if (!strcmp(name, "vkCreateValidationCacheEXT"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkDestroyValidationCacheEXT"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkMergeValidationCachesEXT"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetValidationCacheDataEXT"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_EXT_external_memory_host
- if (!strcmp(name, "vkGetMemoryHostPointerPropertiesEXT"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_AMD_buffer_marker
- if (!strcmp(name, "vkCmdWriteBufferMarkerAMD"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_NV_device_diagnostic_checkpoints
- if (!strcmp(name, "vkCmdSetCheckpointNV"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetQueueCheckpointDataNV"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_GOOGLE_address_space
- if (!strcmp(name, "vkMapMemoryIntoAddressSpaceGOOGLE"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_GOOGLE_color_buffer
- if (!strcmp(name, "vkRegisterImageColorBufferGOOGLE"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkRegisterBufferColorBufferGOOGLE"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_GOOGLE_sized_descriptor_update_template
- if (!strcmp(name, "vkUpdateDescriptorSetWithTemplateSizedGOOGLE"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_GOOGLE_async_command_buffers
- if (!strcmp(name, "vkBeginCommandBufferAsyncGOOGLE"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkEndCommandBufferAsyncGOOGLE"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkResetCommandBufferAsyncGOOGLE"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkCommandBufferHostSyncGOOGLE"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_GOOGLE_create_resources_with_requirements
- if (!strcmp(name, "vkCreateImageWithRequirementsGOOGLE"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkCreateBufferWithRequirementsGOOGLE"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_GOOGLE_address_space_info
- if (!strcmp(name, "vkGetMemoryHostAddressInfoGOOGLE"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_GOOGLE_free_memory_sync
- if (!strcmp(name, "vkFreeMemorySyncGOOGLE"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_GOOGLE_async_queue_submit
- if (!strcmp(name, "vkQueueHostSyncGOOGLE"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkQueueSubmitAsyncGOOGLE"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkQueueWaitIdleAsyncGOOGLE"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkQueueBindSparseAsyncGOOGLE"))
- {
- return nullptr;
- }
-#endif
-#ifdef VK_GOOGLE_linear_image_layout
- if (!strcmp(name, "vkGetLinearImageLayoutGOOGLE"))
- {
- return nullptr;
- }
-#endif
- return nullptr;
-}
-void* goldfish_vulkan_get_instance_proc_address(VkInstance instance, const char* name){
- auto resources = ResourceTracker::get();
- bool has1_1OrHigher = resources->getApiVersionFromInstance(instance) >= VK_API_VERSION_1_1;
-#ifdef VK_VERSION_1_0
- if (!strcmp(name, "vkCreateInstance"))
- {
- return (void*)entry_vkCreateInstance;
- }
- if (!strcmp(name, "vkDestroyInstance"))
- {
- return (void*)entry_vkDestroyInstance;
- }
- if (!strcmp(name, "vkEnumeratePhysicalDevices"))
- {
- return (void*)entry_vkEnumeratePhysicalDevices;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceFeatures"))
- {
- return (void*)entry_vkGetPhysicalDeviceFeatures;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceFormatProperties"))
- {
- return (void*)entry_vkGetPhysicalDeviceFormatProperties;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceImageFormatProperties"))
- {
- return (void*)entry_vkGetPhysicalDeviceImageFormatProperties;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceProperties"))
- {
- return (void*)entry_vkGetPhysicalDeviceProperties;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceQueueFamilyProperties"))
- {
- return (void*)entry_vkGetPhysicalDeviceQueueFamilyProperties;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceMemoryProperties"))
- {
- return (void*)entry_vkGetPhysicalDeviceMemoryProperties;
- }
- if (!strcmp(name, "vkGetInstanceProcAddr"))
- {
- return (void*)entry_vkGetInstanceProcAddr;
- }
- if (!strcmp(name, "vkGetDeviceProcAddr"))
- {
- return (void*)entry_vkGetDeviceProcAddr;
- }
- if (!strcmp(name, "vkCreateDevice"))
- {
- return (void*)entry_vkCreateDevice;
- }
- if (!strcmp(name, "vkDestroyDevice"))
- {
- return (void*)entry_vkDestroyDevice;
- }
- if (!strcmp(name, "vkEnumerateInstanceExtensionProperties"))
- {
- return (void*)entry_vkEnumerateInstanceExtensionProperties;
- }
- if (!strcmp(name, "vkEnumerateDeviceExtensionProperties"))
- {
- return (void*)entry_vkEnumerateDeviceExtensionProperties;
- }
- if (!strcmp(name, "vkEnumerateInstanceLayerProperties"))
- {
- return (void*)entry_vkEnumerateInstanceLayerProperties;
- }
- if (!strcmp(name, "vkEnumerateDeviceLayerProperties"))
- {
- return (void*)entry_vkEnumerateDeviceLayerProperties;
- }
- if (!strcmp(name, "vkGetDeviceQueue"))
- {
- return (void*)entry_vkGetDeviceQueue;
- }
- if (!strcmp(name, "vkQueueSubmit"))
- {
- return (void*)entry_vkQueueSubmit;
- }
- if (!strcmp(name, "vkQueueWaitIdle"))
- {
- return (void*)entry_vkQueueWaitIdle;
- }
- if (!strcmp(name, "vkDeviceWaitIdle"))
- {
- return (void*)entry_vkDeviceWaitIdle;
- }
- if (!strcmp(name, "vkAllocateMemory"))
- {
- return (void*)entry_vkAllocateMemory;
- }
- if (!strcmp(name, "vkFreeMemory"))
- {
- return (void*)entry_vkFreeMemory;
- }
- if (!strcmp(name, "vkMapMemory"))
- {
- return (void*)entry_vkMapMemory;
- }
- if (!strcmp(name, "vkUnmapMemory"))
- {
- return (void*)entry_vkUnmapMemory;
- }
- if (!strcmp(name, "vkFlushMappedMemoryRanges"))
- {
- return (void*)entry_vkFlushMappedMemoryRanges;
- }
- if (!strcmp(name, "vkInvalidateMappedMemoryRanges"))
- {
- return (void*)entry_vkInvalidateMappedMemoryRanges;
- }
- if (!strcmp(name, "vkGetDeviceMemoryCommitment"))
- {
- return (void*)entry_vkGetDeviceMemoryCommitment;
- }
- if (!strcmp(name, "vkBindBufferMemory"))
- {
- return (void*)entry_vkBindBufferMemory;
- }
- if (!strcmp(name, "vkBindImageMemory"))
- {
- return (void*)entry_vkBindImageMemory;
- }
- if (!strcmp(name, "vkGetBufferMemoryRequirements"))
- {
- return (void*)entry_vkGetBufferMemoryRequirements;
- }
- if (!strcmp(name, "vkGetImageMemoryRequirements"))
- {
- return (void*)entry_vkGetImageMemoryRequirements;
- }
- if (!strcmp(name, "vkGetImageSparseMemoryRequirements"))
- {
- return (void*)entry_vkGetImageSparseMemoryRequirements;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceSparseImageFormatProperties"))
- {
- return (void*)entry_vkGetPhysicalDeviceSparseImageFormatProperties;
- }
- if (!strcmp(name, "vkQueueBindSparse"))
- {
- return (void*)entry_vkQueueBindSparse;
- }
- if (!strcmp(name, "vkCreateFence"))
- {
- return (void*)entry_vkCreateFence;
- }
- if (!strcmp(name, "vkDestroyFence"))
- {
- return (void*)entry_vkDestroyFence;
- }
- if (!strcmp(name, "vkResetFences"))
- {
- return (void*)entry_vkResetFences;
- }
- if (!strcmp(name, "vkGetFenceStatus"))
- {
- return (void*)entry_vkGetFenceStatus;
- }
- if (!strcmp(name, "vkWaitForFences"))
- {
- return (void*)entry_vkWaitForFences;
- }
- if (!strcmp(name, "vkCreateSemaphore"))
- {
- return (void*)entry_vkCreateSemaphore;
- }
- if (!strcmp(name, "vkDestroySemaphore"))
- {
- return (void*)entry_vkDestroySemaphore;
- }
- if (!strcmp(name, "vkCreateEvent"))
- {
- return (void*)entry_vkCreateEvent;
- }
- if (!strcmp(name, "vkDestroyEvent"))
- {
- return (void*)entry_vkDestroyEvent;
- }
- if (!strcmp(name, "vkGetEventStatus"))
- {
- return (void*)entry_vkGetEventStatus;
- }
- if (!strcmp(name, "vkSetEvent"))
- {
- return (void*)entry_vkSetEvent;
- }
- if (!strcmp(name, "vkResetEvent"))
- {
- return (void*)entry_vkResetEvent;
- }
- if (!strcmp(name, "vkCreateQueryPool"))
- {
- return (void*)entry_vkCreateQueryPool;
- }
- if (!strcmp(name, "vkDestroyQueryPool"))
- {
- return (void*)entry_vkDestroyQueryPool;
- }
- if (!strcmp(name, "vkGetQueryPoolResults"))
- {
- return (void*)entry_vkGetQueryPoolResults;
- }
- if (!strcmp(name, "vkCreateBuffer"))
- {
- return (void*)entry_vkCreateBuffer;
- }
- if (!strcmp(name, "vkDestroyBuffer"))
- {
- return (void*)entry_vkDestroyBuffer;
- }
- if (!strcmp(name, "vkCreateBufferView"))
- {
- return (void*)entry_vkCreateBufferView;
- }
- if (!strcmp(name, "vkDestroyBufferView"))
- {
- return (void*)entry_vkDestroyBufferView;
- }
- if (!strcmp(name, "vkCreateImage"))
- {
- return (void*)entry_vkCreateImage;
- }
- if (!strcmp(name, "vkDestroyImage"))
- {
- return (void*)entry_vkDestroyImage;
- }
- if (!strcmp(name, "vkGetImageSubresourceLayout"))
- {
- return (void*)entry_vkGetImageSubresourceLayout;
- }
- if (!strcmp(name, "vkCreateImageView"))
- {
- return (void*)entry_vkCreateImageView;
- }
- if (!strcmp(name, "vkDestroyImageView"))
- {
- return (void*)entry_vkDestroyImageView;
- }
- if (!strcmp(name, "vkCreateShaderModule"))
- {
- return (void*)entry_vkCreateShaderModule;
- }
- if (!strcmp(name, "vkDestroyShaderModule"))
- {
- return (void*)entry_vkDestroyShaderModule;
- }
- if (!strcmp(name, "vkCreatePipelineCache"))
- {
- return (void*)entry_vkCreatePipelineCache;
- }
- if (!strcmp(name, "vkDestroyPipelineCache"))
- {
- return (void*)entry_vkDestroyPipelineCache;
- }
- if (!strcmp(name, "vkGetPipelineCacheData"))
- {
- return (void*)entry_vkGetPipelineCacheData;
- }
- if (!strcmp(name, "vkMergePipelineCaches"))
- {
- return (void*)entry_vkMergePipelineCaches;
- }
- if (!strcmp(name, "vkCreateGraphicsPipelines"))
- {
- return (void*)entry_vkCreateGraphicsPipelines;
- }
- if (!strcmp(name, "vkCreateComputePipelines"))
- {
- return (void*)entry_vkCreateComputePipelines;
- }
- if (!strcmp(name, "vkDestroyPipeline"))
- {
- return (void*)entry_vkDestroyPipeline;
- }
- if (!strcmp(name, "vkCreatePipelineLayout"))
- {
- return (void*)entry_vkCreatePipelineLayout;
- }
- if (!strcmp(name, "vkDestroyPipelineLayout"))
- {
- return (void*)entry_vkDestroyPipelineLayout;
- }
- if (!strcmp(name, "vkCreateSampler"))
- {
- return (void*)entry_vkCreateSampler;
- }
- if (!strcmp(name, "vkDestroySampler"))
- {
- return (void*)entry_vkDestroySampler;
- }
- if (!strcmp(name, "vkCreateDescriptorSetLayout"))
- {
- return (void*)entry_vkCreateDescriptorSetLayout;
- }
- if (!strcmp(name, "vkDestroyDescriptorSetLayout"))
- {
- return (void*)entry_vkDestroyDescriptorSetLayout;
- }
- if (!strcmp(name, "vkCreateDescriptorPool"))
- {
- return (void*)entry_vkCreateDescriptorPool;
- }
- if (!strcmp(name, "vkDestroyDescriptorPool"))
- {
- return (void*)entry_vkDestroyDescriptorPool;
- }
- if (!strcmp(name, "vkResetDescriptorPool"))
- {
- return (void*)entry_vkResetDescriptorPool;
- }
- if (!strcmp(name, "vkAllocateDescriptorSets"))
- {
- return (void*)entry_vkAllocateDescriptorSets;
- }
- if (!strcmp(name, "vkFreeDescriptorSets"))
- {
- return (void*)entry_vkFreeDescriptorSets;
- }
- if (!strcmp(name, "vkUpdateDescriptorSets"))
- {
- return (void*)entry_vkUpdateDescriptorSets;
- }
- if (!strcmp(name, "vkCreateFramebuffer"))
- {
- return (void*)entry_vkCreateFramebuffer;
- }
- if (!strcmp(name, "vkDestroyFramebuffer"))
- {
- return (void*)entry_vkDestroyFramebuffer;
- }
- if (!strcmp(name, "vkCreateRenderPass"))
- {
- return (void*)entry_vkCreateRenderPass;
- }
- if (!strcmp(name, "vkDestroyRenderPass"))
- {
- return (void*)entry_vkDestroyRenderPass;
- }
- if (!strcmp(name, "vkGetRenderAreaGranularity"))
- {
- return (void*)entry_vkGetRenderAreaGranularity;
- }
- if (!strcmp(name, "vkCreateCommandPool"))
- {
- return (void*)entry_vkCreateCommandPool;
- }
- if (!strcmp(name, "vkDestroyCommandPool"))
- {
- return (void*)entry_vkDestroyCommandPool;
- }
- if (!strcmp(name, "vkResetCommandPool"))
- {
- return (void*)entry_vkResetCommandPool;
- }
- if (!strcmp(name, "vkAllocateCommandBuffers"))
- {
- return (void*)entry_vkAllocateCommandBuffers;
- }
- if (!strcmp(name, "vkFreeCommandBuffers"))
- {
- return (void*)entry_vkFreeCommandBuffers;
- }
- if (!strcmp(name, "vkBeginCommandBuffer"))
- {
- return (void*)entry_vkBeginCommandBuffer;
- }
- if (!strcmp(name, "vkEndCommandBuffer"))
- {
- return (void*)entry_vkEndCommandBuffer;
- }
- if (!strcmp(name, "vkResetCommandBuffer"))
- {
- return (void*)entry_vkResetCommandBuffer;
- }
- if (!strcmp(name, "vkCmdBindPipeline"))
- {
- return (void*)entry_vkCmdBindPipeline;
- }
- if (!strcmp(name, "vkCmdSetViewport"))
- {
- return (void*)entry_vkCmdSetViewport;
- }
- if (!strcmp(name, "vkCmdSetScissor"))
- {
- return (void*)entry_vkCmdSetScissor;
- }
- if (!strcmp(name, "vkCmdSetLineWidth"))
- {
- return (void*)entry_vkCmdSetLineWidth;
- }
- if (!strcmp(name, "vkCmdSetDepthBias"))
- {
- return (void*)entry_vkCmdSetDepthBias;
- }
- if (!strcmp(name, "vkCmdSetBlendConstants"))
- {
- return (void*)entry_vkCmdSetBlendConstants;
- }
- if (!strcmp(name, "vkCmdSetDepthBounds"))
- {
- return (void*)entry_vkCmdSetDepthBounds;
- }
- if (!strcmp(name, "vkCmdSetStencilCompareMask"))
- {
- return (void*)entry_vkCmdSetStencilCompareMask;
- }
- if (!strcmp(name, "vkCmdSetStencilWriteMask"))
- {
- return (void*)entry_vkCmdSetStencilWriteMask;
- }
- if (!strcmp(name, "vkCmdSetStencilReference"))
- {
- return (void*)entry_vkCmdSetStencilReference;
- }
- if (!strcmp(name, "vkCmdBindDescriptorSets"))
- {
- return (void*)entry_vkCmdBindDescriptorSets;
- }
- if (!strcmp(name, "vkCmdBindIndexBuffer"))
- {
- return (void*)entry_vkCmdBindIndexBuffer;
- }
- if (!strcmp(name, "vkCmdBindVertexBuffers"))
- {
- return (void*)entry_vkCmdBindVertexBuffers;
- }
- if (!strcmp(name, "vkCmdDraw"))
- {
- return (void*)entry_vkCmdDraw;
- }
- if (!strcmp(name, "vkCmdDrawIndexed"))
- {
- return (void*)entry_vkCmdDrawIndexed;
- }
- if (!strcmp(name, "vkCmdDrawIndirect"))
- {
- return (void*)entry_vkCmdDrawIndirect;
- }
- if (!strcmp(name, "vkCmdDrawIndexedIndirect"))
- {
- return (void*)entry_vkCmdDrawIndexedIndirect;
- }
- if (!strcmp(name, "vkCmdDispatch"))
- {
- return (void*)entry_vkCmdDispatch;
- }
- if (!strcmp(name, "vkCmdDispatchIndirect"))
- {
- return (void*)entry_vkCmdDispatchIndirect;
- }
- if (!strcmp(name, "vkCmdCopyBuffer"))
- {
- return (void*)entry_vkCmdCopyBuffer;
- }
- if (!strcmp(name, "vkCmdCopyImage"))
- {
- return (void*)entry_vkCmdCopyImage;
- }
- if (!strcmp(name, "vkCmdBlitImage"))
- {
- return (void*)entry_vkCmdBlitImage;
- }
- if (!strcmp(name, "vkCmdCopyBufferToImage"))
- {
- return (void*)entry_vkCmdCopyBufferToImage;
- }
- if (!strcmp(name, "vkCmdCopyImageToBuffer"))
- {
- return (void*)entry_vkCmdCopyImageToBuffer;
- }
- if (!strcmp(name, "vkCmdUpdateBuffer"))
- {
- return (void*)entry_vkCmdUpdateBuffer;
- }
- if (!strcmp(name, "vkCmdFillBuffer"))
- {
- return (void*)entry_vkCmdFillBuffer;
- }
- if (!strcmp(name, "vkCmdClearColorImage"))
- {
- return (void*)entry_vkCmdClearColorImage;
- }
- if (!strcmp(name, "vkCmdClearDepthStencilImage"))
- {
- return (void*)entry_vkCmdClearDepthStencilImage;
- }
- if (!strcmp(name, "vkCmdClearAttachments"))
- {
- return (void*)entry_vkCmdClearAttachments;
- }
- if (!strcmp(name, "vkCmdResolveImage"))
- {
- return (void*)entry_vkCmdResolveImage;
- }
- if (!strcmp(name, "vkCmdSetEvent"))
- {
- return (void*)entry_vkCmdSetEvent;
- }
- if (!strcmp(name, "vkCmdResetEvent"))
- {
- return (void*)entry_vkCmdResetEvent;
- }
- if (!strcmp(name, "vkCmdWaitEvents"))
- {
- return (void*)entry_vkCmdWaitEvents;
- }
- if (!strcmp(name, "vkCmdPipelineBarrier"))
- {
- return (void*)entry_vkCmdPipelineBarrier;
- }
- if (!strcmp(name, "vkCmdBeginQuery"))
- {
- return (void*)entry_vkCmdBeginQuery;
- }
- if (!strcmp(name, "vkCmdEndQuery"))
- {
- return (void*)entry_vkCmdEndQuery;
- }
- if (!strcmp(name, "vkCmdResetQueryPool"))
- {
- return (void*)entry_vkCmdResetQueryPool;
- }
- if (!strcmp(name, "vkCmdWriteTimestamp"))
- {
- return (void*)entry_vkCmdWriteTimestamp;
- }
- if (!strcmp(name, "vkCmdCopyQueryPoolResults"))
- {
- return (void*)entry_vkCmdCopyQueryPoolResults;
- }
- if (!strcmp(name, "vkCmdPushConstants"))
- {
- return (void*)entry_vkCmdPushConstants;
- }
- if (!strcmp(name, "vkCmdBeginRenderPass"))
- {
- return (void*)entry_vkCmdBeginRenderPass;
- }
- if (!strcmp(name, "vkCmdNextSubpass"))
- {
- return (void*)entry_vkCmdNextSubpass;
- }
- if (!strcmp(name, "vkCmdEndRenderPass"))
- {
- return (void*)entry_vkCmdEndRenderPass;
- }
- if (!strcmp(name, "vkCmdExecuteCommands"))
- {
- return (void*)entry_vkCmdExecuteCommands;
- }
-#endif
-#ifdef VK_VERSION_1_1
- if (!strcmp(name, "vkEnumerateInstanceVersion"))
- {
- return has1_1OrHigher ? (void*)entry_vkEnumerateInstanceVersion : nullptr;
- }
- if (!strcmp(name, "vkBindBufferMemory2"))
- {
- return (void*)dynCheck_entry_vkBindBufferMemory2;
- }
- if (!strcmp(name, "vkBindImageMemory2"))
- {
- return (void*)dynCheck_entry_vkBindImageMemory2;
- }
- if (!strcmp(name, "vkGetDeviceGroupPeerMemoryFeatures"))
- {
- return (void*)dynCheck_entry_vkGetDeviceGroupPeerMemoryFeatures;
- }
- if (!strcmp(name, "vkCmdSetDeviceMask"))
- {
- return has1_1OrHigher ? (void*)entry_vkCmdSetDeviceMask : nullptr;
- }
- if (!strcmp(name, "vkCmdDispatchBase"))
- {
- return has1_1OrHigher ? (void*)entry_vkCmdDispatchBase : nullptr;
- }
- if (!strcmp(name, "vkEnumeratePhysicalDeviceGroups"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetImageMemoryRequirements2"))
- {
- return (void*)dynCheck_entry_vkGetImageMemoryRequirements2;
- }
- if (!strcmp(name, "vkGetBufferMemoryRequirements2"))
- {
- return (void*)dynCheck_entry_vkGetBufferMemoryRequirements2;
- }
- if (!strcmp(name, "vkGetImageSparseMemoryRequirements2"))
- {
- return (void*)dynCheck_entry_vkGetImageSparseMemoryRequirements2;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceFeatures2"))
- {
- return has1_1OrHigher ? (void*)entry_vkGetPhysicalDeviceFeatures2 : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceProperties2"))
- {
- return has1_1OrHigher ? (void*)entry_vkGetPhysicalDeviceProperties2 : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceFormatProperties2"))
- {
- return has1_1OrHigher ? (void*)entry_vkGetPhysicalDeviceFormatProperties2 : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceImageFormatProperties2"))
- {
- return has1_1OrHigher ? (void*)entry_vkGetPhysicalDeviceImageFormatProperties2 : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceQueueFamilyProperties2"))
- {
- return has1_1OrHigher ? (void*)entry_vkGetPhysicalDeviceQueueFamilyProperties2 : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceMemoryProperties2"))
- {
- return has1_1OrHigher ? (void*)entry_vkGetPhysicalDeviceMemoryProperties2 : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceSparseImageFormatProperties2"))
- {
- return has1_1OrHigher ? (void*)entry_vkGetPhysicalDeviceSparseImageFormatProperties2 : nullptr;
- }
- if (!strcmp(name, "vkTrimCommandPool"))
- {
- return (void*)dynCheck_entry_vkTrimCommandPool;
- }
- if (!strcmp(name, "vkGetDeviceQueue2"))
- {
- return (void*)dynCheck_entry_vkGetDeviceQueue2;
- }
- if (!strcmp(name, "vkCreateSamplerYcbcrConversion"))
- {
- return (void*)dynCheck_entry_vkCreateSamplerYcbcrConversion;
- }
- if (!strcmp(name, "vkDestroySamplerYcbcrConversion"))
- {
- return (void*)dynCheck_entry_vkDestroySamplerYcbcrConversion;
- }
- if (!strcmp(name, "vkCreateDescriptorUpdateTemplate"))
- {
- return (void*)dynCheck_entry_vkCreateDescriptorUpdateTemplate;
- }
- if (!strcmp(name, "vkDestroyDescriptorUpdateTemplate"))
- {
- return (void*)dynCheck_entry_vkDestroyDescriptorUpdateTemplate;
- }
- if (!strcmp(name, "vkUpdateDescriptorSetWithTemplate"))
- {
- return (void*)dynCheck_entry_vkUpdateDescriptorSetWithTemplate;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceExternalBufferProperties"))
- {
- return has1_1OrHigher ? (void*)entry_vkGetPhysicalDeviceExternalBufferProperties : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceExternalFenceProperties"))
- {
- return has1_1OrHigher ? (void*)entry_vkGetPhysicalDeviceExternalFenceProperties : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceExternalSemaphoreProperties"))
- {
- return has1_1OrHigher ? (void*)entry_vkGetPhysicalDeviceExternalSemaphoreProperties : nullptr;
- }
- if (!strcmp(name, "vkGetDescriptorSetLayoutSupport"))
- {
- return (void*)dynCheck_entry_vkGetDescriptorSetLayoutSupport;
- }
-#endif
-#ifdef VK_KHR_surface
- if (!strcmp(name, "vkDestroySurfaceKHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_surface");
- return hasExt ? (void*)entry_vkDestroySurfaceKHR : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceSurfaceSupportKHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_surface");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceSurfaceSupportKHR : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_surface");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceSurfaceCapabilitiesKHR : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceSurfaceFormatsKHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_surface");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceSurfaceFormatsKHR : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceSurfacePresentModesKHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_surface");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceSurfacePresentModesKHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_swapchain
- if (!strcmp(name, "vkCreateSwapchainKHR"))
- {
- return (void*)dynCheck_entry_vkCreateSwapchainKHR;
- }
- if (!strcmp(name, "vkDestroySwapchainKHR"))
- {
- return (void*)dynCheck_entry_vkDestroySwapchainKHR;
- }
- if (!strcmp(name, "vkGetSwapchainImagesKHR"))
- {
- return (void*)dynCheck_entry_vkGetSwapchainImagesKHR;
- }
- if (!strcmp(name, "vkAcquireNextImageKHR"))
- {
- return (void*)dynCheck_entry_vkAcquireNextImageKHR;
- }
- if (!strcmp(name, "vkQueuePresentKHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_swapchain");
- return hasExt ? (void*)entry_vkQueuePresentKHR : nullptr;
- }
- if (!strcmp(name, "vkGetDeviceGroupPresentCapabilitiesKHR"))
- {
- return (void*)dynCheck_entry_vkGetDeviceGroupPresentCapabilitiesKHR;
- }
- if (!strcmp(name, "vkGetDeviceGroupSurfacePresentModesKHR"))
- {
- return (void*)dynCheck_entry_vkGetDeviceGroupSurfacePresentModesKHR;
- }
- if (!strcmp(name, "vkGetPhysicalDevicePresentRectanglesKHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_swapchain");
- return hasExt ? (void*)entry_vkGetPhysicalDevicePresentRectanglesKHR : nullptr;
- }
- if (!strcmp(name, "vkAcquireNextImage2KHR"))
- {
- return (void*)dynCheck_entry_vkAcquireNextImage2KHR;
- }
-#endif
-#ifdef VK_KHR_display
- if (!strcmp(name, "vkGetPhysicalDeviceDisplayPropertiesKHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_display");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceDisplayPropertiesKHR : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_display");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceDisplayPlanePropertiesKHR : nullptr;
- }
- if (!strcmp(name, "vkGetDisplayPlaneSupportedDisplaysKHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_display");
- return hasExt ? (void*)entry_vkGetDisplayPlaneSupportedDisplaysKHR : nullptr;
- }
- if (!strcmp(name, "vkGetDisplayModePropertiesKHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_display");
- return hasExt ? (void*)entry_vkGetDisplayModePropertiesKHR : nullptr;
- }
- if (!strcmp(name, "vkCreateDisplayModeKHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_display");
- return hasExt ? (void*)entry_vkCreateDisplayModeKHR : nullptr;
- }
- if (!strcmp(name, "vkGetDisplayPlaneCapabilitiesKHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_display");
- return hasExt ? (void*)entry_vkGetDisplayPlaneCapabilitiesKHR : nullptr;
- }
- if (!strcmp(name, "vkCreateDisplayPlaneSurfaceKHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_display");
- return hasExt ? (void*)entry_vkCreateDisplayPlaneSurfaceKHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_display_swapchain
- if (!strcmp(name, "vkCreateSharedSwapchainsKHR"))
- {
- return (void*)dynCheck_entry_vkCreateSharedSwapchainsKHR;
- }
-#endif
-#ifdef VK_KHR_xlib_surface
- if (!strcmp(name, "vkCreateXlibSurfaceKHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_xlib_surface");
- return hasExt ? (void*)entry_vkCreateXlibSurfaceKHR : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceXlibPresentationSupportKHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_xlib_surface");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceXlibPresentationSupportKHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_xcb_surface
- if (!strcmp(name, "vkCreateXcbSurfaceKHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_xcb_surface");
- return hasExt ? (void*)entry_vkCreateXcbSurfaceKHR : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceXcbPresentationSupportKHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_xcb_surface");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceXcbPresentationSupportKHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_wayland_surface
- if (!strcmp(name, "vkCreateWaylandSurfaceKHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_wayland_surface");
- return hasExt ? (void*)entry_vkCreateWaylandSurfaceKHR : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceWaylandPresentationSupportKHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_wayland_surface");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceWaylandPresentationSupportKHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_mir_surface
- if (!strcmp(name, "vkCreateMirSurfaceKHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_mir_surface");
- return hasExt ? (void*)entry_vkCreateMirSurfaceKHR : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceMirPresentationSupportKHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_mir_surface");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceMirPresentationSupportKHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_android_surface
- if (!strcmp(name, "vkCreateAndroidSurfaceKHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_android_surface");
- return hasExt ? (void*)entry_vkCreateAndroidSurfaceKHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_win32_surface
- if (!strcmp(name, "vkCreateWin32SurfaceKHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_win32_surface");
- return hasExt ? (void*)entry_vkCreateWin32SurfaceKHR : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceWin32PresentationSupportKHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_win32_surface");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceWin32PresentationSupportKHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_get_physical_device_properties2
- if (!strcmp(name, "vkGetPhysicalDeviceFeatures2KHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_get_physical_device_properties2");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceFeatures2KHR : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceProperties2KHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_get_physical_device_properties2");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceProperties2KHR : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceFormatProperties2KHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_get_physical_device_properties2");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceFormatProperties2KHR : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceImageFormatProperties2KHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_get_physical_device_properties2");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceImageFormatProperties2KHR : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceQueueFamilyProperties2KHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_get_physical_device_properties2");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceQueueFamilyProperties2KHR : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceMemoryProperties2KHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_get_physical_device_properties2");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceMemoryProperties2KHR : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceSparseImageFormatProperties2KHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_get_physical_device_properties2");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceSparseImageFormatProperties2KHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_device_group
- if (!strcmp(name, "vkGetDeviceGroupPeerMemoryFeaturesKHR"))
- {
- return (void*)dynCheck_entry_vkGetDeviceGroupPeerMemoryFeaturesKHR;
- }
- if (!strcmp(name, "vkCmdSetDeviceMaskKHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_device_group");
- return hasExt ? (void*)entry_vkCmdSetDeviceMaskKHR : nullptr;
- }
- if (!strcmp(name, "vkCmdDispatchBaseKHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_device_group");
- return hasExt ? (void*)entry_vkCmdDispatchBaseKHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_maintenance1
- if (!strcmp(name, "vkTrimCommandPoolKHR"))
- {
- return (void*)dynCheck_entry_vkTrimCommandPoolKHR;
- }
-#endif
-#ifdef VK_KHR_device_group_creation
- if (!strcmp(name, "vkEnumeratePhysicalDeviceGroupsKHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_device_group_creation");
- return hasExt ? (void*)entry_vkEnumeratePhysicalDeviceGroupsKHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_external_memory_capabilities
- if (!strcmp(name, "vkGetPhysicalDeviceExternalBufferPropertiesKHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_external_memory_capabilities");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceExternalBufferPropertiesKHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_external_memory_win32
- if (!strcmp(name, "vkGetMemoryWin32HandleKHR"))
- {
- return (void*)dynCheck_entry_vkGetMemoryWin32HandleKHR;
- }
- if (!strcmp(name, "vkGetMemoryWin32HandlePropertiesKHR"))
- {
- return (void*)dynCheck_entry_vkGetMemoryWin32HandlePropertiesKHR;
- }
-#endif
-#ifdef VK_KHR_external_memory_fd
- if (!strcmp(name, "vkGetMemoryFdKHR"))
- {
- return (void*)dynCheck_entry_vkGetMemoryFdKHR;
- }
- if (!strcmp(name, "vkGetMemoryFdPropertiesKHR"))
- {
- return (void*)dynCheck_entry_vkGetMemoryFdPropertiesKHR;
- }
-#endif
-#ifdef VK_KHR_external_semaphore_capabilities
- if (!strcmp(name, "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_external_semaphore_capabilities");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_external_semaphore_win32
- if (!strcmp(name, "vkImportSemaphoreWin32HandleKHR"))
- {
- return (void*)dynCheck_entry_vkImportSemaphoreWin32HandleKHR;
- }
- if (!strcmp(name, "vkGetSemaphoreWin32HandleKHR"))
- {
- return (void*)dynCheck_entry_vkGetSemaphoreWin32HandleKHR;
- }
-#endif
-#ifdef VK_KHR_external_semaphore_fd
- if (!strcmp(name, "vkImportSemaphoreFdKHR"))
- {
- return (void*)dynCheck_entry_vkImportSemaphoreFdKHR;
- }
- if (!strcmp(name, "vkGetSemaphoreFdKHR"))
- {
- return (void*)dynCheck_entry_vkGetSemaphoreFdKHR;
- }
-#endif
-#ifdef VK_KHR_push_descriptor
- if (!strcmp(name, "vkCmdPushDescriptorSetKHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_push_descriptor");
- return hasExt ? (void*)entry_vkCmdPushDescriptorSetKHR : nullptr;
- }
- if (!strcmp(name, "vkCmdPushDescriptorSetWithTemplateKHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_push_descriptor");
- return hasExt ? (void*)entry_vkCmdPushDescriptorSetWithTemplateKHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_descriptor_update_template
- if (!strcmp(name, "vkCreateDescriptorUpdateTemplateKHR"))
- {
- return (void*)dynCheck_entry_vkCreateDescriptorUpdateTemplateKHR;
- }
- if (!strcmp(name, "vkDestroyDescriptorUpdateTemplateKHR"))
- {
- return (void*)dynCheck_entry_vkDestroyDescriptorUpdateTemplateKHR;
- }
- if (!strcmp(name, "vkUpdateDescriptorSetWithTemplateKHR"))
- {
- return (void*)dynCheck_entry_vkUpdateDescriptorSetWithTemplateKHR;
- }
-#endif
-#ifdef VK_KHR_create_renderpass2
- if (!strcmp(name, "vkCreateRenderPass2KHR"))
- {
- return (void*)dynCheck_entry_vkCreateRenderPass2KHR;
- }
- if (!strcmp(name, "vkCmdBeginRenderPass2KHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_create_renderpass2");
- return hasExt ? (void*)entry_vkCmdBeginRenderPass2KHR : nullptr;
- }
- if (!strcmp(name, "vkCmdNextSubpass2KHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_create_renderpass2");
- return hasExt ? (void*)entry_vkCmdNextSubpass2KHR : nullptr;
- }
- if (!strcmp(name, "vkCmdEndRenderPass2KHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_create_renderpass2");
- return hasExt ? (void*)entry_vkCmdEndRenderPass2KHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_shared_presentable_image
- if (!strcmp(name, "vkGetSwapchainStatusKHR"))
- {
- return (void*)dynCheck_entry_vkGetSwapchainStatusKHR;
- }
-#endif
-#ifdef VK_KHR_external_fence_capabilities
- if (!strcmp(name, "vkGetPhysicalDeviceExternalFencePropertiesKHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_external_fence_capabilities");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceExternalFencePropertiesKHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_external_fence_win32
- if (!strcmp(name, "vkImportFenceWin32HandleKHR"))
- {
- return (void*)dynCheck_entry_vkImportFenceWin32HandleKHR;
- }
- if (!strcmp(name, "vkGetFenceWin32HandleKHR"))
- {
- return (void*)dynCheck_entry_vkGetFenceWin32HandleKHR;
- }
-#endif
-#ifdef VK_KHR_external_fence_fd
- if (!strcmp(name, "vkImportFenceFdKHR"))
- {
- return (void*)dynCheck_entry_vkImportFenceFdKHR;
- }
- if (!strcmp(name, "vkGetFenceFdKHR"))
- {
- return (void*)dynCheck_entry_vkGetFenceFdKHR;
- }
-#endif
-#ifdef VK_KHR_get_surface_capabilities2
- if (!strcmp(name, "vkGetPhysicalDeviceSurfaceCapabilities2KHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_get_surface_capabilities2");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceSurfaceCapabilities2KHR : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceSurfaceFormats2KHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_get_surface_capabilities2");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceSurfaceFormats2KHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_get_display_properties2
- if (!strcmp(name, "vkGetPhysicalDeviceDisplayProperties2KHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_get_display_properties2");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceDisplayProperties2KHR : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceDisplayPlaneProperties2KHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_get_display_properties2");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceDisplayPlaneProperties2KHR : nullptr;
- }
- if (!strcmp(name, "vkGetDisplayModeProperties2KHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_get_display_properties2");
- return hasExt ? (void*)entry_vkGetDisplayModeProperties2KHR : nullptr;
- }
- if (!strcmp(name, "vkGetDisplayPlaneCapabilities2KHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_get_display_properties2");
- return hasExt ? (void*)entry_vkGetDisplayPlaneCapabilities2KHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_get_memory_requirements2
- if (!strcmp(name, "vkGetImageMemoryRequirements2KHR"))
- {
- return (void*)dynCheck_entry_vkGetImageMemoryRequirements2KHR;
- }
- if (!strcmp(name, "vkGetBufferMemoryRequirements2KHR"))
- {
- return (void*)dynCheck_entry_vkGetBufferMemoryRequirements2KHR;
- }
- if (!strcmp(name, "vkGetImageSparseMemoryRequirements2KHR"))
- {
- return (void*)dynCheck_entry_vkGetImageSparseMemoryRequirements2KHR;
- }
-#endif
-#ifdef VK_KHR_sampler_ycbcr_conversion
- if (!strcmp(name, "vkCreateSamplerYcbcrConversionKHR"))
- {
- return (void*)dynCheck_entry_vkCreateSamplerYcbcrConversionKHR;
- }
- if (!strcmp(name, "vkDestroySamplerYcbcrConversionKHR"))
- {
- return (void*)dynCheck_entry_vkDestroySamplerYcbcrConversionKHR;
- }
-#endif
-#ifdef VK_KHR_bind_memory2
- if (!strcmp(name, "vkBindBufferMemory2KHR"))
- {
- return (void*)dynCheck_entry_vkBindBufferMemory2KHR;
- }
- if (!strcmp(name, "vkBindImageMemory2KHR"))
- {
- return (void*)dynCheck_entry_vkBindImageMemory2KHR;
- }
-#endif
-#ifdef VK_KHR_maintenance3
- if (!strcmp(name, "vkGetDescriptorSetLayoutSupportKHR"))
- {
- return (void*)dynCheck_entry_vkGetDescriptorSetLayoutSupportKHR;
- }
-#endif
-#ifdef VK_KHR_draw_indirect_count
- if (!strcmp(name, "vkCmdDrawIndirectCountKHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_draw_indirect_count");
- return hasExt ? (void*)entry_vkCmdDrawIndirectCountKHR : nullptr;
- }
- if (!strcmp(name, "vkCmdDrawIndexedIndirectCountKHR"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_draw_indirect_count");
- return hasExt ? (void*)entry_vkCmdDrawIndexedIndirectCountKHR : nullptr;
- }
-#endif
-#ifdef VK_ANDROID_native_buffer
- if (!strcmp(name, "vkGetSwapchainGrallocUsageANDROID"))
- {
- return (void*)dynCheck_entry_vkGetSwapchainGrallocUsageANDROID;
- }
- if (!strcmp(name, "vkAcquireImageANDROID"))
- {
- return (void*)dynCheck_entry_vkAcquireImageANDROID;
- }
- if (!strcmp(name, "vkQueueSignalReleaseImageANDROID"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_ANDROID_native_buffer");
- return hasExt ? (void*)entry_vkQueueSignalReleaseImageANDROID : nullptr;
- }
-#endif
-#ifdef VK_EXT_debug_report
- if (!strcmp(name, "vkCreateDebugReportCallbackEXT"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_debug_report");
- return hasExt ? (void*)entry_vkCreateDebugReportCallbackEXT : nullptr;
- }
- if (!strcmp(name, "vkDestroyDebugReportCallbackEXT"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_debug_report");
- return hasExt ? (void*)entry_vkDestroyDebugReportCallbackEXT : nullptr;
- }
- if (!strcmp(name, "vkDebugReportMessageEXT"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_debug_report");
- return hasExt ? (void*)entry_vkDebugReportMessageEXT : nullptr;
- }
-#endif
-#ifdef VK_EXT_debug_marker
- if (!strcmp(name, "vkDebugMarkerSetObjectTagEXT"))
- {
- return (void*)dynCheck_entry_vkDebugMarkerSetObjectTagEXT;
- }
- if (!strcmp(name, "vkDebugMarkerSetObjectNameEXT"))
- {
- return (void*)dynCheck_entry_vkDebugMarkerSetObjectNameEXT;
- }
- if (!strcmp(name, "vkCmdDebugMarkerBeginEXT"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_debug_marker");
- return hasExt ? (void*)entry_vkCmdDebugMarkerBeginEXT : nullptr;
- }
- if (!strcmp(name, "vkCmdDebugMarkerEndEXT"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_debug_marker");
- return hasExt ? (void*)entry_vkCmdDebugMarkerEndEXT : nullptr;
- }
- if (!strcmp(name, "vkCmdDebugMarkerInsertEXT"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_debug_marker");
- return hasExt ? (void*)entry_vkCmdDebugMarkerInsertEXT : nullptr;
- }
-#endif
-#ifdef VK_AMD_draw_indirect_count
- if (!strcmp(name, "vkCmdDrawIndirectCountAMD"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_AMD_draw_indirect_count");
- return hasExt ? (void*)entry_vkCmdDrawIndirectCountAMD : nullptr;
- }
- if (!strcmp(name, "vkCmdDrawIndexedIndirectCountAMD"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_AMD_draw_indirect_count");
- return hasExt ? (void*)entry_vkCmdDrawIndexedIndirectCountAMD : nullptr;
- }
-#endif
-#ifdef VK_AMD_shader_info
- if (!strcmp(name, "vkGetShaderInfoAMD"))
- {
- return (void*)dynCheck_entry_vkGetShaderInfoAMD;
- }
-#endif
-#ifdef VK_NV_external_memory_capabilities
- if (!strcmp(name, "vkGetPhysicalDeviceExternalImageFormatPropertiesNV"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_NV_external_memory_capabilities");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceExternalImageFormatPropertiesNV : nullptr;
- }
-#endif
-#ifdef VK_NV_external_memory_win32
- if (!strcmp(name, "vkGetMemoryWin32HandleNV"))
- {
- return (void*)dynCheck_entry_vkGetMemoryWin32HandleNV;
- }
-#endif
-#ifdef VK_NN_vi_surface
- if (!strcmp(name, "vkCreateViSurfaceNN"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_NN_vi_surface");
- return hasExt ? (void*)entry_vkCreateViSurfaceNN : nullptr;
- }
-#endif
-#ifdef VK_EXT_conditional_rendering
- if (!strcmp(name, "vkCmdBeginConditionalRenderingEXT"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_conditional_rendering");
- return hasExt ? (void*)entry_vkCmdBeginConditionalRenderingEXT : nullptr;
- }
- if (!strcmp(name, "vkCmdEndConditionalRenderingEXT"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_conditional_rendering");
- return hasExt ? (void*)entry_vkCmdEndConditionalRenderingEXT : nullptr;
- }
-#endif
-#ifdef VK_NVX_device_generated_commands
- if (!strcmp(name, "vkCmdProcessCommandsNVX"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_NVX_device_generated_commands");
- return hasExt ? (void*)entry_vkCmdProcessCommandsNVX : nullptr;
- }
- if (!strcmp(name, "vkCmdReserveSpaceForCommandsNVX"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_NVX_device_generated_commands");
- return hasExt ? (void*)entry_vkCmdReserveSpaceForCommandsNVX : nullptr;
- }
- if (!strcmp(name, "vkCreateIndirectCommandsLayoutNVX"))
- {
- return (void*)dynCheck_entry_vkCreateIndirectCommandsLayoutNVX;
- }
- if (!strcmp(name, "vkDestroyIndirectCommandsLayoutNVX"))
- {
- return (void*)dynCheck_entry_vkDestroyIndirectCommandsLayoutNVX;
- }
- if (!strcmp(name, "vkCreateObjectTableNVX"))
- {
- return (void*)dynCheck_entry_vkCreateObjectTableNVX;
- }
- if (!strcmp(name, "vkDestroyObjectTableNVX"))
- {
- return (void*)dynCheck_entry_vkDestroyObjectTableNVX;
- }
- if (!strcmp(name, "vkRegisterObjectsNVX"))
- {
- return (void*)dynCheck_entry_vkRegisterObjectsNVX;
- }
- if (!strcmp(name, "vkUnregisterObjectsNVX"))
- {
- return (void*)dynCheck_entry_vkUnregisterObjectsNVX;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_NVX_device_generated_commands");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX : nullptr;
- }
-#endif
-#ifdef VK_NV_clip_space_w_scaling
- if (!strcmp(name, "vkCmdSetViewportWScalingNV"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_NV_clip_space_w_scaling");
- return hasExt ? (void*)entry_vkCmdSetViewportWScalingNV : nullptr;
- }
-#endif
-#ifdef VK_EXT_direct_mode_display
- if (!strcmp(name, "vkReleaseDisplayEXT"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_direct_mode_display");
- return hasExt ? (void*)entry_vkReleaseDisplayEXT : nullptr;
- }
-#endif
-#ifdef VK_EXT_acquire_xlib_display
- if (!strcmp(name, "vkAcquireXlibDisplayEXT"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_acquire_xlib_display");
- return hasExt ? (void*)entry_vkAcquireXlibDisplayEXT : nullptr;
- }
- if (!strcmp(name, "vkGetRandROutputDisplayEXT"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_acquire_xlib_display");
- return hasExt ? (void*)entry_vkGetRandROutputDisplayEXT : nullptr;
- }
-#endif
-#ifdef VK_EXT_display_surface_counter
- if (!strcmp(name, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_display_surface_counter");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceSurfaceCapabilities2EXT : nullptr;
- }
-#endif
-#ifdef VK_EXT_display_control
- if (!strcmp(name, "vkDisplayPowerControlEXT"))
- {
- return (void*)dynCheck_entry_vkDisplayPowerControlEXT;
- }
- if (!strcmp(name, "vkRegisterDeviceEventEXT"))
- {
- return (void*)dynCheck_entry_vkRegisterDeviceEventEXT;
- }
- if (!strcmp(name, "vkRegisterDisplayEventEXT"))
- {
- return (void*)dynCheck_entry_vkRegisterDisplayEventEXT;
- }
- if (!strcmp(name, "vkGetSwapchainCounterEXT"))
- {
- return (void*)dynCheck_entry_vkGetSwapchainCounterEXT;
- }
-#endif
-#ifdef VK_GOOGLE_display_timing
- if (!strcmp(name, "vkGetRefreshCycleDurationGOOGLE"))
- {
- return (void*)dynCheck_entry_vkGetRefreshCycleDurationGOOGLE;
- }
- if (!strcmp(name, "vkGetPastPresentationTimingGOOGLE"))
- {
- return (void*)dynCheck_entry_vkGetPastPresentationTimingGOOGLE;
- }
-#endif
-#ifdef VK_EXT_discard_rectangles
- if (!strcmp(name, "vkCmdSetDiscardRectangleEXT"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_discard_rectangles");
- return hasExt ? (void*)entry_vkCmdSetDiscardRectangleEXT : nullptr;
- }
-#endif
-#ifdef VK_EXT_hdr_metadata
- if (!strcmp(name, "vkSetHdrMetadataEXT"))
- {
- return (void*)dynCheck_entry_vkSetHdrMetadataEXT;
- }
-#endif
-#ifdef VK_MVK_ios_surface
- if (!strcmp(name, "vkCreateIOSSurfaceMVK"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_MVK_ios_surface");
- return hasExt ? (void*)entry_vkCreateIOSSurfaceMVK : nullptr;
- }
-#endif
-#ifdef VK_MVK_macos_surface
- if (!strcmp(name, "vkCreateMacOSSurfaceMVK"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_MVK_macos_surface");
- return hasExt ? (void*)entry_vkCreateMacOSSurfaceMVK : nullptr;
- }
-#endif
-#ifdef VK_EXT_debug_utils
- if (!strcmp(name, "vkSetDebugUtilsObjectNameEXT"))
- {
- return (void*)dynCheck_entry_vkSetDebugUtilsObjectNameEXT;
- }
- if (!strcmp(name, "vkSetDebugUtilsObjectTagEXT"))
- {
- return (void*)dynCheck_entry_vkSetDebugUtilsObjectTagEXT;
- }
- if (!strcmp(name, "vkQueueBeginDebugUtilsLabelEXT"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_debug_utils");
- return hasExt ? (void*)entry_vkQueueBeginDebugUtilsLabelEXT : nullptr;
- }
- if (!strcmp(name, "vkQueueEndDebugUtilsLabelEXT"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_debug_utils");
- return hasExt ? (void*)entry_vkQueueEndDebugUtilsLabelEXT : nullptr;
- }
- if (!strcmp(name, "vkQueueInsertDebugUtilsLabelEXT"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_debug_utils");
- return hasExt ? (void*)entry_vkQueueInsertDebugUtilsLabelEXT : nullptr;
- }
- if (!strcmp(name, "vkCmdBeginDebugUtilsLabelEXT"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_debug_utils");
- return hasExt ? (void*)entry_vkCmdBeginDebugUtilsLabelEXT : nullptr;
- }
- if (!strcmp(name, "vkCmdEndDebugUtilsLabelEXT"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_debug_utils");
- return hasExt ? (void*)entry_vkCmdEndDebugUtilsLabelEXT : nullptr;
- }
- if (!strcmp(name, "vkCmdInsertDebugUtilsLabelEXT"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_debug_utils");
- return hasExt ? (void*)entry_vkCmdInsertDebugUtilsLabelEXT : nullptr;
- }
- if (!strcmp(name, "vkCreateDebugUtilsMessengerEXT"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_debug_utils");
- return hasExt ? (void*)entry_vkCreateDebugUtilsMessengerEXT : nullptr;
- }
- if (!strcmp(name, "vkDestroyDebugUtilsMessengerEXT"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_debug_utils");
- return hasExt ? (void*)entry_vkDestroyDebugUtilsMessengerEXT : nullptr;
- }
- if (!strcmp(name, "vkSubmitDebugUtilsMessageEXT"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_debug_utils");
- return hasExt ? (void*)entry_vkSubmitDebugUtilsMessageEXT : nullptr;
- }
-#endif
-#ifdef VK_ANDROID_external_memory_android_hardware_buffer
- if (!strcmp(name, "vkGetAndroidHardwareBufferPropertiesANDROID"))
- {
- return (void*)dynCheck_entry_vkGetAndroidHardwareBufferPropertiesANDROID;
- }
- if (!strcmp(name, "vkGetMemoryAndroidHardwareBufferANDROID"))
- {
- return (void*)dynCheck_entry_vkGetMemoryAndroidHardwareBufferANDROID;
- }
-#endif
-#ifdef VK_EXT_sample_locations
- if (!strcmp(name, "vkCmdSetSampleLocationsEXT"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_sample_locations");
- return hasExt ? (void*)entry_vkCmdSetSampleLocationsEXT : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceMultisamplePropertiesEXT"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_sample_locations");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceMultisamplePropertiesEXT : nullptr;
- }
-#endif
-#ifdef VK_EXT_validation_cache
- if (!strcmp(name, "vkCreateValidationCacheEXT"))
- {
- return (void*)dynCheck_entry_vkCreateValidationCacheEXT;
- }
- if (!strcmp(name, "vkDestroyValidationCacheEXT"))
- {
- return (void*)dynCheck_entry_vkDestroyValidationCacheEXT;
- }
- if (!strcmp(name, "vkMergeValidationCachesEXT"))
- {
- return (void*)dynCheck_entry_vkMergeValidationCachesEXT;
- }
- if (!strcmp(name, "vkGetValidationCacheDataEXT"))
- {
- return (void*)dynCheck_entry_vkGetValidationCacheDataEXT;
- }
-#endif
-#ifdef VK_EXT_external_memory_host
- if (!strcmp(name, "vkGetMemoryHostPointerPropertiesEXT"))
- {
- return (void*)dynCheck_entry_vkGetMemoryHostPointerPropertiesEXT;
- }
-#endif
-#ifdef VK_AMD_buffer_marker
- if (!strcmp(name, "vkCmdWriteBufferMarkerAMD"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_AMD_buffer_marker");
- return hasExt ? (void*)entry_vkCmdWriteBufferMarkerAMD : nullptr;
- }
-#endif
-#ifdef VK_NV_device_diagnostic_checkpoints
- if (!strcmp(name, "vkCmdSetCheckpointNV"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_NV_device_diagnostic_checkpoints");
- return hasExt ? (void*)entry_vkCmdSetCheckpointNV : nullptr;
- }
- if (!strcmp(name, "vkGetQueueCheckpointDataNV"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_NV_device_diagnostic_checkpoints");
- return hasExt ? (void*)entry_vkGetQueueCheckpointDataNV : nullptr;
- }
-#endif
-#ifdef VK_GOOGLE_address_space
- if (!strcmp(name, "vkMapMemoryIntoAddressSpaceGOOGLE"))
- {
- return (void*)dynCheck_entry_vkMapMemoryIntoAddressSpaceGOOGLE;
- }
-#endif
-#ifdef VK_GOOGLE_color_buffer
- if (!strcmp(name, "vkRegisterImageColorBufferGOOGLE"))
- {
- return (void*)dynCheck_entry_vkRegisterImageColorBufferGOOGLE;
- }
- if (!strcmp(name, "vkRegisterBufferColorBufferGOOGLE"))
- {
- return (void*)dynCheck_entry_vkRegisterBufferColorBufferGOOGLE;
- }
-#endif
-#ifdef VK_GOOGLE_sized_descriptor_update_template
- if (!strcmp(name, "vkUpdateDescriptorSetWithTemplateSizedGOOGLE"))
- {
- return (void*)dynCheck_entry_vkUpdateDescriptorSetWithTemplateSizedGOOGLE;
- }
-#endif
-#ifdef VK_GOOGLE_async_command_buffers
- if (!strcmp(name, "vkBeginCommandBufferAsyncGOOGLE"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_GOOGLE_async_command_buffers");
- return hasExt ? (void*)entry_vkBeginCommandBufferAsyncGOOGLE : nullptr;
- }
- if (!strcmp(name, "vkEndCommandBufferAsyncGOOGLE"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_GOOGLE_async_command_buffers");
- return hasExt ? (void*)entry_vkEndCommandBufferAsyncGOOGLE : nullptr;
- }
- if (!strcmp(name, "vkResetCommandBufferAsyncGOOGLE"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_GOOGLE_async_command_buffers");
- return hasExt ? (void*)entry_vkResetCommandBufferAsyncGOOGLE : nullptr;
- }
- if (!strcmp(name, "vkCommandBufferHostSyncGOOGLE"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_GOOGLE_async_command_buffers");
- return hasExt ? (void*)entry_vkCommandBufferHostSyncGOOGLE : nullptr;
- }
-#endif
-#ifdef VK_GOOGLE_create_resources_with_requirements
- if (!strcmp(name, "vkCreateImageWithRequirementsGOOGLE"))
- {
- return (void*)dynCheck_entry_vkCreateImageWithRequirementsGOOGLE;
- }
- if (!strcmp(name, "vkCreateBufferWithRequirementsGOOGLE"))
- {
- return (void*)dynCheck_entry_vkCreateBufferWithRequirementsGOOGLE;
- }
-#endif
-#ifdef VK_GOOGLE_address_space_info
- if (!strcmp(name, "vkGetMemoryHostAddressInfoGOOGLE"))
- {
- return (void*)dynCheck_entry_vkGetMemoryHostAddressInfoGOOGLE;
- }
-#endif
-#ifdef VK_GOOGLE_free_memory_sync
- if (!strcmp(name, "vkFreeMemorySyncGOOGLE"))
- {
- return (void*)dynCheck_entry_vkFreeMemorySyncGOOGLE;
- }
-#endif
-#ifdef VK_GOOGLE_async_queue_submit
- if (!strcmp(name, "vkQueueHostSyncGOOGLE"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_GOOGLE_async_queue_submit");
- return hasExt ? (void*)entry_vkQueueHostSyncGOOGLE : nullptr;
- }
- if (!strcmp(name, "vkQueueSubmitAsyncGOOGLE"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_GOOGLE_async_queue_submit");
- return hasExt ? (void*)entry_vkQueueSubmitAsyncGOOGLE : nullptr;
- }
- if (!strcmp(name, "vkQueueWaitIdleAsyncGOOGLE"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_GOOGLE_async_queue_submit");
- return hasExt ? (void*)entry_vkQueueWaitIdleAsyncGOOGLE : nullptr;
- }
- if (!strcmp(name, "vkQueueBindSparseAsyncGOOGLE"))
- {
- bool hasExt = resources->hasInstanceExtension(instance, "VK_GOOGLE_async_queue_submit");
- return hasExt ? (void*)entry_vkQueueBindSparseAsyncGOOGLE : nullptr;
- }
-#endif
-#ifdef VK_GOOGLE_linear_image_layout
- if (!strcmp(name, "vkGetLinearImageLayoutGOOGLE"))
- {
- return (void*)dynCheck_entry_vkGetLinearImageLayoutGOOGLE;
- }
-#endif
- return nullptr;
-}
-void* goldfish_vulkan_get_device_proc_address(VkDevice device, const char* name){
- auto resources = ResourceTracker::get();
- bool has1_1OrHigher = resources->getApiVersionFromDevice(device) >= VK_API_VERSION_1_1;
-#ifdef VK_VERSION_1_0
- if (!strcmp(name, "vkCreateInstance"))
- {
- return (void*)entry_vkCreateInstance;
- }
- if (!strcmp(name, "vkDestroyInstance"))
- {
- return (void*)entry_vkDestroyInstance;
- }
- if (!strcmp(name, "vkEnumeratePhysicalDevices"))
- {
- return (void*)entry_vkEnumeratePhysicalDevices;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceFeatures"))
- {
- return (void*)entry_vkGetPhysicalDeviceFeatures;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceFormatProperties"))
- {
- return (void*)entry_vkGetPhysicalDeviceFormatProperties;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceImageFormatProperties"))
- {
- return (void*)entry_vkGetPhysicalDeviceImageFormatProperties;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceProperties"))
- {
- return (void*)entry_vkGetPhysicalDeviceProperties;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceQueueFamilyProperties"))
- {
- return (void*)entry_vkGetPhysicalDeviceQueueFamilyProperties;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceMemoryProperties"))
- {
- return (void*)entry_vkGetPhysicalDeviceMemoryProperties;
- }
- if (!strcmp(name, "vkGetInstanceProcAddr"))
- {
- return (void*)entry_vkGetInstanceProcAddr;
- }
- if (!strcmp(name, "vkGetDeviceProcAddr"))
- {
- return (void*)entry_vkGetDeviceProcAddr;
- }
- if (!strcmp(name, "vkCreateDevice"))
- {
- return (void*)entry_vkCreateDevice;
- }
- if (!strcmp(name, "vkDestroyDevice"))
- {
- return (void*)entry_vkDestroyDevice;
- }
- if (!strcmp(name, "vkEnumerateInstanceExtensionProperties"))
- {
- return (void*)entry_vkEnumerateInstanceExtensionProperties;
- }
- if (!strcmp(name, "vkEnumerateDeviceExtensionProperties"))
- {
- return (void*)entry_vkEnumerateDeviceExtensionProperties;
- }
- if (!strcmp(name, "vkEnumerateInstanceLayerProperties"))
- {
- return (void*)entry_vkEnumerateInstanceLayerProperties;
- }
- if (!strcmp(name, "vkEnumerateDeviceLayerProperties"))
- {
- return (void*)entry_vkEnumerateDeviceLayerProperties;
- }
- if (!strcmp(name, "vkGetDeviceQueue"))
- {
- return (void*)entry_vkGetDeviceQueue;
- }
- if (!strcmp(name, "vkQueueSubmit"))
- {
- return (void*)entry_vkQueueSubmit;
- }
- if (!strcmp(name, "vkQueueWaitIdle"))
- {
- return (void*)entry_vkQueueWaitIdle;
- }
- if (!strcmp(name, "vkDeviceWaitIdle"))
- {
- return (void*)entry_vkDeviceWaitIdle;
- }
- if (!strcmp(name, "vkAllocateMemory"))
- {
- return (void*)entry_vkAllocateMemory;
- }
- if (!strcmp(name, "vkFreeMemory"))
- {
- return (void*)entry_vkFreeMemory;
- }
- if (!strcmp(name, "vkMapMemory"))
- {
- return (void*)entry_vkMapMemory;
- }
- if (!strcmp(name, "vkUnmapMemory"))
- {
- return (void*)entry_vkUnmapMemory;
- }
- if (!strcmp(name, "vkFlushMappedMemoryRanges"))
- {
- return (void*)entry_vkFlushMappedMemoryRanges;
- }
- if (!strcmp(name, "vkInvalidateMappedMemoryRanges"))
- {
- return (void*)entry_vkInvalidateMappedMemoryRanges;
- }
- if (!strcmp(name, "vkGetDeviceMemoryCommitment"))
- {
- return (void*)entry_vkGetDeviceMemoryCommitment;
- }
- if (!strcmp(name, "vkBindBufferMemory"))
- {
- return (void*)entry_vkBindBufferMemory;
- }
- if (!strcmp(name, "vkBindImageMemory"))
- {
- return (void*)entry_vkBindImageMemory;
- }
- if (!strcmp(name, "vkGetBufferMemoryRequirements"))
- {
- return (void*)entry_vkGetBufferMemoryRequirements;
- }
- if (!strcmp(name, "vkGetImageMemoryRequirements"))
- {
- return (void*)entry_vkGetImageMemoryRequirements;
- }
- if (!strcmp(name, "vkGetImageSparseMemoryRequirements"))
- {
- return (void*)entry_vkGetImageSparseMemoryRequirements;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceSparseImageFormatProperties"))
- {
- return (void*)entry_vkGetPhysicalDeviceSparseImageFormatProperties;
- }
- if (!strcmp(name, "vkQueueBindSparse"))
- {
- return (void*)entry_vkQueueBindSparse;
- }
- if (!strcmp(name, "vkCreateFence"))
- {
- return (void*)entry_vkCreateFence;
- }
- if (!strcmp(name, "vkDestroyFence"))
- {
- return (void*)entry_vkDestroyFence;
- }
- if (!strcmp(name, "vkResetFences"))
- {
- return (void*)entry_vkResetFences;
- }
- if (!strcmp(name, "vkGetFenceStatus"))
- {
- return (void*)entry_vkGetFenceStatus;
- }
- if (!strcmp(name, "vkWaitForFences"))
- {
- return (void*)entry_vkWaitForFences;
- }
- if (!strcmp(name, "vkCreateSemaphore"))
- {
- return (void*)entry_vkCreateSemaphore;
- }
- if (!strcmp(name, "vkDestroySemaphore"))
- {
- return (void*)entry_vkDestroySemaphore;
- }
- if (!strcmp(name, "vkCreateEvent"))
- {
- return (void*)entry_vkCreateEvent;
- }
- if (!strcmp(name, "vkDestroyEvent"))
- {
- return (void*)entry_vkDestroyEvent;
- }
- if (!strcmp(name, "vkGetEventStatus"))
- {
- return (void*)entry_vkGetEventStatus;
- }
- if (!strcmp(name, "vkSetEvent"))
- {
- return (void*)entry_vkSetEvent;
- }
- if (!strcmp(name, "vkResetEvent"))
- {
- return (void*)entry_vkResetEvent;
- }
- if (!strcmp(name, "vkCreateQueryPool"))
- {
- return (void*)entry_vkCreateQueryPool;
- }
- if (!strcmp(name, "vkDestroyQueryPool"))
- {
- return (void*)entry_vkDestroyQueryPool;
- }
- if (!strcmp(name, "vkGetQueryPoolResults"))
- {
- return (void*)entry_vkGetQueryPoolResults;
- }
- if (!strcmp(name, "vkCreateBuffer"))
- {
- return (void*)entry_vkCreateBuffer;
- }
- if (!strcmp(name, "vkDestroyBuffer"))
- {
- return (void*)entry_vkDestroyBuffer;
- }
- if (!strcmp(name, "vkCreateBufferView"))
- {
- return (void*)entry_vkCreateBufferView;
- }
- if (!strcmp(name, "vkDestroyBufferView"))
- {
- return (void*)entry_vkDestroyBufferView;
- }
- if (!strcmp(name, "vkCreateImage"))
- {
- return (void*)entry_vkCreateImage;
- }
- if (!strcmp(name, "vkDestroyImage"))
- {
- return (void*)entry_vkDestroyImage;
- }
- if (!strcmp(name, "vkGetImageSubresourceLayout"))
- {
- return (void*)entry_vkGetImageSubresourceLayout;
- }
- if (!strcmp(name, "vkCreateImageView"))
- {
- return (void*)entry_vkCreateImageView;
- }
- if (!strcmp(name, "vkDestroyImageView"))
- {
- return (void*)entry_vkDestroyImageView;
- }
- if (!strcmp(name, "vkCreateShaderModule"))
- {
- return (void*)entry_vkCreateShaderModule;
- }
- if (!strcmp(name, "vkDestroyShaderModule"))
- {
- return (void*)entry_vkDestroyShaderModule;
- }
- if (!strcmp(name, "vkCreatePipelineCache"))
- {
- return (void*)entry_vkCreatePipelineCache;
- }
- if (!strcmp(name, "vkDestroyPipelineCache"))
- {
- return (void*)entry_vkDestroyPipelineCache;
- }
- if (!strcmp(name, "vkGetPipelineCacheData"))
- {
- return (void*)entry_vkGetPipelineCacheData;
- }
- if (!strcmp(name, "vkMergePipelineCaches"))
- {
- return (void*)entry_vkMergePipelineCaches;
- }
- if (!strcmp(name, "vkCreateGraphicsPipelines"))
- {
- return (void*)entry_vkCreateGraphicsPipelines;
- }
- if (!strcmp(name, "vkCreateComputePipelines"))
- {
- return (void*)entry_vkCreateComputePipelines;
- }
- if (!strcmp(name, "vkDestroyPipeline"))
- {
- return (void*)entry_vkDestroyPipeline;
- }
- if (!strcmp(name, "vkCreatePipelineLayout"))
- {
- return (void*)entry_vkCreatePipelineLayout;
- }
- if (!strcmp(name, "vkDestroyPipelineLayout"))
- {
- return (void*)entry_vkDestroyPipelineLayout;
- }
- if (!strcmp(name, "vkCreateSampler"))
- {
- return (void*)entry_vkCreateSampler;
- }
- if (!strcmp(name, "vkDestroySampler"))
- {
- return (void*)entry_vkDestroySampler;
- }
- if (!strcmp(name, "vkCreateDescriptorSetLayout"))
- {
- return (void*)entry_vkCreateDescriptorSetLayout;
- }
- if (!strcmp(name, "vkDestroyDescriptorSetLayout"))
- {
- return (void*)entry_vkDestroyDescriptorSetLayout;
- }
- if (!strcmp(name, "vkCreateDescriptorPool"))
- {
- return (void*)entry_vkCreateDescriptorPool;
- }
- if (!strcmp(name, "vkDestroyDescriptorPool"))
- {
- return (void*)entry_vkDestroyDescriptorPool;
- }
- if (!strcmp(name, "vkResetDescriptorPool"))
- {
- return (void*)entry_vkResetDescriptorPool;
- }
- if (!strcmp(name, "vkAllocateDescriptorSets"))
- {
- return (void*)entry_vkAllocateDescriptorSets;
- }
- if (!strcmp(name, "vkFreeDescriptorSets"))
- {
- return (void*)entry_vkFreeDescriptorSets;
- }
- if (!strcmp(name, "vkUpdateDescriptorSets"))
- {
- return (void*)entry_vkUpdateDescriptorSets;
- }
- if (!strcmp(name, "vkCreateFramebuffer"))
- {
- return (void*)entry_vkCreateFramebuffer;
- }
- if (!strcmp(name, "vkDestroyFramebuffer"))
- {
- return (void*)entry_vkDestroyFramebuffer;
- }
- if (!strcmp(name, "vkCreateRenderPass"))
- {
- return (void*)entry_vkCreateRenderPass;
- }
- if (!strcmp(name, "vkDestroyRenderPass"))
- {
- return (void*)entry_vkDestroyRenderPass;
- }
- if (!strcmp(name, "vkGetRenderAreaGranularity"))
- {
- return (void*)entry_vkGetRenderAreaGranularity;
- }
- if (!strcmp(name, "vkCreateCommandPool"))
- {
- return (void*)entry_vkCreateCommandPool;
- }
- if (!strcmp(name, "vkDestroyCommandPool"))
- {
- return (void*)entry_vkDestroyCommandPool;
- }
- if (!strcmp(name, "vkResetCommandPool"))
- {
- return (void*)entry_vkResetCommandPool;
- }
- if (!strcmp(name, "vkAllocateCommandBuffers"))
- {
- return (void*)entry_vkAllocateCommandBuffers;
- }
- if (!strcmp(name, "vkFreeCommandBuffers"))
- {
- return (void*)entry_vkFreeCommandBuffers;
- }
- if (!strcmp(name, "vkBeginCommandBuffer"))
- {
- return (void*)entry_vkBeginCommandBuffer;
- }
- if (!strcmp(name, "vkEndCommandBuffer"))
- {
- return (void*)entry_vkEndCommandBuffer;
- }
- if (!strcmp(name, "vkResetCommandBuffer"))
- {
- return (void*)entry_vkResetCommandBuffer;
- }
- if (!strcmp(name, "vkCmdBindPipeline"))
- {
- return (void*)entry_vkCmdBindPipeline;
- }
- if (!strcmp(name, "vkCmdSetViewport"))
- {
- return (void*)entry_vkCmdSetViewport;
- }
- if (!strcmp(name, "vkCmdSetScissor"))
- {
- return (void*)entry_vkCmdSetScissor;
- }
- if (!strcmp(name, "vkCmdSetLineWidth"))
- {
- return (void*)entry_vkCmdSetLineWidth;
- }
- if (!strcmp(name, "vkCmdSetDepthBias"))
- {
- return (void*)entry_vkCmdSetDepthBias;
- }
- if (!strcmp(name, "vkCmdSetBlendConstants"))
- {
- return (void*)entry_vkCmdSetBlendConstants;
- }
- if (!strcmp(name, "vkCmdSetDepthBounds"))
- {
- return (void*)entry_vkCmdSetDepthBounds;
- }
- if (!strcmp(name, "vkCmdSetStencilCompareMask"))
- {
- return (void*)entry_vkCmdSetStencilCompareMask;
- }
- if (!strcmp(name, "vkCmdSetStencilWriteMask"))
- {
- return (void*)entry_vkCmdSetStencilWriteMask;
- }
- if (!strcmp(name, "vkCmdSetStencilReference"))
- {
- return (void*)entry_vkCmdSetStencilReference;
- }
- if (!strcmp(name, "vkCmdBindDescriptorSets"))
- {
- return (void*)entry_vkCmdBindDescriptorSets;
- }
- if (!strcmp(name, "vkCmdBindIndexBuffer"))
- {
- return (void*)entry_vkCmdBindIndexBuffer;
- }
- if (!strcmp(name, "vkCmdBindVertexBuffers"))
- {
- return (void*)entry_vkCmdBindVertexBuffers;
- }
- if (!strcmp(name, "vkCmdDraw"))
- {
- return (void*)entry_vkCmdDraw;
- }
- if (!strcmp(name, "vkCmdDrawIndexed"))
- {
- return (void*)entry_vkCmdDrawIndexed;
- }
- if (!strcmp(name, "vkCmdDrawIndirect"))
- {
- return (void*)entry_vkCmdDrawIndirect;
- }
- if (!strcmp(name, "vkCmdDrawIndexedIndirect"))
- {
- return (void*)entry_vkCmdDrawIndexedIndirect;
- }
- if (!strcmp(name, "vkCmdDispatch"))
- {
- return (void*)entry_vkCmdDispatch;
- }
- if (!strcmp(name, "vkCmdDispatchIndirect"))
- {
- return (void*)entry_vkCmdDispatchIndirect;
- }
- if (!strcmp(name, "vkCmdCopyBuffer"))
- {
- return (void*)entry_vkCmdCopyBuffer;
- }
- if (!strcmp(name, "vkCmdCopyImage"))
- {
- return (void*)entry_vkCmdCopyImage;
- }
- if (!strcmp(name, "vkCmdBlitImage"))
- {
- return (void*)entry_vkCmdBlitImage;
- }
- if (!strcmp(name, "vkCmdCopyBufferToImage"))
- {
- return (void*)entry_vkCmdCopyBufferToImage;
- }
- if (!strcmp(name, "vkCmdCopyImageToBuffer"))
- {
- return (void*)entry_vkCmdCopyImageToBuffer;
- }
- if (!strcmp(name, "vkCmdUpdateBuffer"))
- {
- return (void*)entry_vkCmdUpdateBuffer;
- }
- if (!strcmp(name, "vkCmdFillBuffer"))
- {
- return (void*)entry_vkCmdFillBuffer;
- }
- if (!strcmp(name, "vkCmdClearColorImage"))
- {
- return (void*)entry_vkCmdClearColorImage;
- }
- if (!strcmp(name, "vkCmdClearDepthStencilImage"))
- {
- return (void*)entry_vkCmdClearDepthStencilImage;
- }
- if (!strcmp(name, "vkCmdClearAttachments"))
- {
- return (void*)entry_vkCmdClearAttachments;
- }
- if (!strcmp(name, "vkCmdResolveImage"))
- {
- return (void*)entry_vkCmdResolveImage;
- }
- if (!strcmp(name, "vkCmdSetEvent"))
- {
- return (void*)entry_vkCmdSetEvent;
- }
- if (!strcmp(name, "vkCmdResetEvent"))
- {
- return (void*)entry_vkCmdResetEvent;
- }
- if (!strcmp(name, "vkCmdWaitEvents"))
- {
- return (void*)entry_vkCmdWaitEvents;
- }
- if (!strcmp(name, "vkCmdPipelineBarrier"))
- {
- return (void*)entry_vkCmdPipelineBarrier;
- }
- if (!strcmp(name, "vkCmdBeginQuery"))
- {
- return (void*)entry_vkCmdBeginQuery;
- }
- if (!strcmp(name, "vkCmdEndQuery"))
- {
- return (void*)entry_vkCmdEndQuery;
- }
- if (!strcmp(name, "vkCmdResetQueryPool"))
- {
- return (void*)entry_vkCmdResetQueryPool;
- }
- if (!strcmp(name, "vkCmdWriteTimestamp"))
- {
- return (void*)entry_vkCmdWriteTimestamp;
- }
- if (!strcmp(name, "vkCmdCopyQueryPoolResults"))
- {
- return (void*)entry_vkCmdCopyQueryPoolResults;
- }
- if (!strcmp(name, "vkCmdPushConstants"))
- {
- return (void*)entry_vkCmdPushConstants;
- }
- if (!strcmp(name, "vkCmdBeginRenderPass"))
- {
- return (void*)entry_vkCmdBeginRenderPass;
- }
- if (!strcmp(name, "vkCmdNextSubpass"))
- {
- return (void*)entry_vkCmdNextSubpass;
- }
- if (!strcmp(name, "vkCmdEndRenderPass"))
- {
- return (void*)entry_vkCmdEndRenderPass;
- }
- if (!strcmp(name, "vkCmdExecuteCommands"))
- {
- return (void*)entry_vkCmdExecuteCommands;
- }
-#endif
-#ifdef VK_VERSION_1_1
- if (!strcmp(name, "vkEnumerateInstanceVersion"))
- {
- return has1_1OrHigher ? (void*)entry_vkEnumerateInstanceVersion : nullptr;
- }
- if (!strcmp(name, "vkBindBufferMemory2"))
- {
- return has1_1OrHigher ? (void*)entry_vkBindBufferMemory2 : nullptr;
- }
- if (!strcmp(name, "vkBindImageMemory2"))
- {
- return has1_1OrHigher ? (void*)entry_vkBindImageMemory2 : nullptr;
- }
- if (!strcmp(name, "vkGetDeviceGroupPeerMemoryFeatures"))
- {
- return has1_1OrHigher ? (void*)entry_vkGetDeviceGroupPeerMemoryFeatures : nullptr;
- }
- if (!strcmp(name, "vkCmdSetDeviceMask"))
- {
- return has1_1OrHigher ? (void*)entry_vkCmdSetDeviceMask : nullptr;
- }
- if (!strcmp(name, "vkCmdDispatchBase"))
- {
- return has1_1OrHigher ? (void*)entry_vkCmdDispatchBase : nullptr;
- }
- if (!strcmp(name, "vkEnumeratePhysicalDeviceGroups"))
- {
- return nullptr;
- }
- if (!strcmp(name, "vkGetImageMemoryRequirements2"))
- {
- return has1_1OrHigher ? (void*)entry_vkGetImageMemoryRequirements2 : nullptr;
- }
- if (!strcmp(name, "vkGetBufferMemoryRequirements2"))
- {
- return has1_1OrHigher ? (void*)entry_vkGetBufferMemoryRequirements2 : nullptr;
- }
- if (!strcmp(name, "vkGetImageSparseMemoryRequirements2"))
- {
- return has1_1OrHigher ? (void*)entry_vkGetImageSparseMemoryRequirements2 : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceFeatures2"))
- {
- return has1_1OrHigher ? (void*)entry_vkGetPhysicalDeviceFeatures2 : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceProperties2"))
- {
- return has1_1OrHigher ? (void*)entry_vkGetPhysicalDeviceProperties2 : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceFormatProperties2"))
- {
- return has1_1OrHigher ? (void*)entry_vkGetPhysicalDeviceFormatProperties2 : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceImageFormatProperties2"))
- {
- return has1_1OrHigher ? (void*)entry_vkGetPhysicalDeviceImageFormatProperties2 : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceQueueFamilyProperties2"))
- {
- return has1_1OrHigher ? (void*)entry_vkGetPhysicalDeviceQueueFamilyProperties2 : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceMemoryProperties2"))
- {
- return has1_1OrHigher ? (void*)entry_vkGetPhysicalDeviceMemoryProperties2 : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceSparseImageFormatProperties2"))
- {
- return has1_1OrHigher ? (void*)entry_vkGetPhysicalDeviceSparseImageFormatProperties2 : nullptr;
- }
- if (!strcmp(name, "vkTrimCommandPool"))
- {
- return has1_1OrHigher ? (void*)entry_vkTrimCommandPool : nullptr;
- }
- if (!strcmp(name, "vkGetDeviceQueue2"))
- {
- return has1_1OrHigher ? (void*)entry_vkGetDeviceQueue2 : nullptr;
- }
- if (!strcmp(name, "vkCreateSamplerYcbcrConversion"))
- {
- return has1_1OrHigher ? (void*)entry_vkCreateSamplerYcbcrConversion : nullptr;
- }
- if (!strcmp(name, "vkDestroySamplerYcbcrConversion"))
- {
- return has1_1OrHigher ? (void*)entry_vkDestroySamplerYcbcrConversion : nullptr;
- }
- if (!strcmp(name, "vkCreateDescriptorUpdateTemplate"))
- {
- return has1_1OrHigher ? (void*)entry_vkCreateDescriptorUpdateTemplate : nullptr;
- }
- if (!strcmp(name, "vkDestroyDescriptorUpdateTemplate"))
- {
- return has1_1OrHigher ? (void*)entry_vkDestroyDescriptorUpdateTemplate : nullptr;
- }
- if (!strcmp(name, "vkUpdateDescriptorSetWithTemplate"))
- {
- return has1_1OrHigher ? (void*)entry_vkUpdateDescriptorSetWithTemplate : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceExternalBufferProperties"))
- {
- return has1_1OrHigher ? (void*)entry_vkGetPhysicalDeviceExternalBufferProperties : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceExternalFenceProperties"))
- {
- return has1_1OrHigher ? (void*)entry_vkGetPhysicalDeviceExternalFenceProperties : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceExternalSemaphoreProperties"))
- {
- return has1_1OrHigher ? (void*)entry_vkGetPhysicalDeviceExternalSemaphoreProperties : nullptr;
- }
- if (!strcmp(name, "vkGetDescriptorSetLayoutSupport"))
- {
- return has1_1OrHigher ? (void*)entry_vkGetDescriptorSetLayoutSupport : nullptr;
- }
-#endif
-#ifdef VK_KHR_surface
- if (!strcmp(name, "vkDestroySurfaceKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_surface");
- return hasExt ? (void*)entry_vkDestroySurfaceKHR : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceSurfaceSupportKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_surface");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceSurfaceSupportKHR : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_surface");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceSurfaceCapabilitiesKHR : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceSurfaceFormatsKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_surface");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceSurfaceFormatsKHR : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceSurfacePresentModesKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_surface");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceSurfacePresentModesKHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_swapchain
- if (!strcmp(name, "vkCreateSwapchainKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_swapchain");
- return hasExt ? (void*)entry_vkCreateSwapchainKHR : nullptr;
- }
- if (!strcmp(name, "vkDestroySwapchainKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_swapchain");
- return hasExt ? (void*)entry_vkDestroySwapchainKHR : nullptr;
- }
- if (!strcmp(name, "vkGetSwapchainImagesKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_swapchain");
- return hasExt ? (void*)entry_vkGetSwapchainImagesKHR : nullptr;
- }
- if (!strcmp(name, "vkAcquireNextImageKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_swapchain");
- return hasExt ? (void*)entry_vkAcquireNextImageKHR : nullptr;
- }
- if (!strcmp(name, "vkQueuePresentKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_swapchain");
- return hasExt ? (void*)entry_vkQueuePresentKHR : nullptr;
- }
- if (!strcmp(name, "vkGetDeviceGroupPresentCapabilitiesKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_swapchain");
- return hasExt ? (void*)entry_vkGetDeviceGroupPresentCapabilitiesKHR : nullptr;
- }
- if (!strcmp(name, "vkGetDeviceGroupSurfacePresentModesKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_swapchain");
- return hasExt ? (void*)entry_vkGetDeviceGroupSurfacePresentModesKHR : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDevicePresentRectanglesKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_swapchain");
- return hasExt ? (void*)entry_vkGetPhysicalDevicePresentRectanglesKHR : nullptr;
- }
- if (!strcmp(name, "vkAcquireNextImage2KHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_swapchain");
- return hasExt ? (void*)entry_vkAcquireNextImage2KHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_display
- if (!strcmp(name, "vkGetPhysicalDeviceDisplayPropertiesKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_display");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceDisplayPropertiesKHR : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_display");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceDisplayPlanePropertiesKHR : nullptr;
- }
- if (!strcmp(name, "vkGetDisplayPlaneSupportedDisplaysKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_display");
- return hasExt ? (void*)entry_vkGetDisplayPlaneSupportedDisplaysKHR : nullptr;
- }
- if (!strcmp(name, "vkGetDisplayModePropertiesKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_display");
- return hasExt ? (void*)entry_vkGetDisplayModePropertiesKHR : nullptr;
- }
- if (!strcmp(name, "vkCreateDisplayModeKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_display");
- return hasExt ? (void*)entry_vkCreateDisplayModeKHR : nullptr;
- }
- if (!strcmp(name, "vkGetDisplayPlaneCapabilitiesKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_display");
- return hasExt ? (void*)entry_vkGetDisplayPlaneCapabilitiesKHR : nullptr;
- }
- if (!strcmp(name, "vkCreateDisplayPlaneSurfaceKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_display");
- return hasExt ? (void*)entry_vkCreateDisplayPlaneSurfaceKHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_display_swapchain
- if (!strcmp(name, "vkCreateSharedSwapchainsKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_display_swapchain");
- return hasExt ? (void*)entry_vkCreateSharedSwapchainsKHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_xlib_surface
- if (!strcmp(name, "vkCreateXlibSurfaceKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_xlib_surface");
- return hasExt ? (void*)entry_vkCreateXlibSurfaceKHR : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceXlibPresentationSupportKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_xlib_surface");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceXlibPresentationSupportKHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_xcb_surface
- if (!strcmp(name, "vkCreateXcbSurfaceKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_xcb_surface");
- return hasExt ? (void*)entry_vkCreateXcbSurfaceKHR : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceXcbPresentationSupportKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_xcb_surface");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceXcbPresentationSupportKHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_wayland_surface
- if (!strcmp(name, "vkCreateWaylandSurfaceKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_wayland_surface");
- return hasExt ? (void*)entry_vkCreateWaylandSurfaceKHR : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceWaylandPresentationSupportKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_wayland_surface");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceWaylandPresentationSupportKHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_mir_surface
- if (!strcmp(name, "vkCreateMirSurfaceKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_mir_surface");
- return hasExt ? (void*)entry_vkCreateMirSurfaceKHR : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceMirPresentationSupportKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_mir_surface");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceMirPresentationSupportKHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_android_surface
- if (!strcmp(name, "vkCreateAndroidSurfaceKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_android_surface");
- return hasExt ? (void*)entry_vkCreateAndroidSurfaceKHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_win32_surface
- if (!strcmp(name, "vkCreateWin32SurfaceKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_win32_surface");
- return hasExt ? (void*)entry_vkCreateWin32SurfaceKHR : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceWin32PresentationSupportKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_win32_surface");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceWin32PresentationSupportKHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_get_physical_device_properties2
- if (!strcmp(name, "vkGetPhysicalDeviceFeatures2KHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_get_physical_device_properties2");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceFeatures2KHR : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceProperties2KHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_get_physical_device_properties2");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceProperties2KHR : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceFormatProperties2KHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_get_physical_device_properties2");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceFormatProperties2KHR : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceImageFormatProperties2KHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_get_physical_device_properties2");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceImageFormatProperties2KHR : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceQueueFamilyProperties2KHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_get_physical_device_properties2");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceQueueFamilyProperties2KHR : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceMemoryProperties2KHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_get_physical_device_properties2");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceMemoryProperties2KHR : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceSparseImageFormatProperties2KHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_get_physical_device_properties2");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceSparseImageFormatProperties2KHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_device_group
- if (!strcmp(name, "vkGetDeviceGroupPeerMemoryFeaturesKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_device_group");
- return hasExt ? (void*)entry_vkGetDeviceGroupPeerMemoryFeaturesKHR : nullptr;
- }
- if (!strcmp(name, "vkCmdSetDeviceMaskKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_device_group");
- return hasExt ? (void*)entry_vkCmdSetDeviceMaskKHR : nullptr;
- }
- if (!strcmp(name, "vkCmdDispatchBaseKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_device_group");
- return hasExt ? (void*)entry_vkCmdDispatchBaseKHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_maintenance1
- if (!strcmp(name, "vkTrimCommandPoolKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_maintenance1");
- return hasExt ? (void*)entry_vkTrimCommandPoolKHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_device_group_creation
- if (!strcmp(name, "vkEnumeratePhysicalDeviceGroupsKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_device_group_creation");
- return hasExt ? (void*)entry_vkEnumeratePhysicalDeviceGroupsKHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_external_memory_capabilities
- if (!strcmp(name, "vkGetPhysicalDeviceExternalBufferPropertiesKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_external_memory_capabilities");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceExternalBufferPropertiesKHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_external_memory_win32
- if (!strcmp(name, "vkGetMemoryWin32HandleKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_external_memory_win32");
- return hasExt ? (void*)entry_vkGetMemoryWin32HandleKHR : nullptr;
- }
- if (!strcmp(name, "vkGetMemoryWin32HandlePropertiesKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_external_memory_win32");
- return hasExt ? (void*)entry_vkGetMemoryWin32HandlePropertiesKHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_external_memory_fd
- if (!strcmp(name, "vkGetMemoryFdKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_external_memory_fd");
- return hasExt ? (void*)entry_vkGetMemoryFdKHR : nullptr;
- }
- if (!strcmp(name, "vkGetMemoryFdPropertiesKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_external_memory_fd");
- return hasExt ? (void*)entry_vkGetMemoryFdPropertiesKHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_external_semaphore_capabilities
- if (!strcmp(name, "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_external_semaphore_capabilities");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_external_semaphore_win32
- if (!strcmp(name, "vkImportSemaphoreWin32HandleKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_external_semaphore_win32");
- return hasExt ? (void*)entry_vkImportSemaphoreWin32HandleKHR : nullptr;
- }
- if (!strcmp(name, "vkGetSemaphoreWin32HandleKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_external_semaphore_win32");
- return hasExt ? (void*)entry_vkGetSemaphoreWin32HandleKHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_external_semaphore_fd
- if (!strcmp(name, "vkImportSemaphoreFdKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_external_semaphore_fd");
- return hasExt ? (void*)entry_vkImportSemaphoreFdKHR : nullptr;
- }
- if (!strcmp(name, "vkGetSemaphoreFdKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_external_semaphore_fd");
- return hasExt ? (void*)entry_vkGetSemaphoreFdKHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_push_descriptor
- if (!strcmp(name, "vkCmdPushDescriptorSetKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_push_descriptor");
- return hasExt ? (void*)entry_vkCmdPushDescriptorSetKHR : nullptr;
- }
- if (!strcmp(name, "vkCmdPushDescriptorSetWithTemplateKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_push_descriptor");
- return hasExt ? (void*)entry_vkCmdPushDescriptorSetWithTemplateKHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_descriptor_update_template
- if (!strcmp(name, "vkCreateDescriptorUpdateTemplateKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_descriptor_update_template");
- return hasExt ? (void*)entry_vkCreateDescriptorUpdateTemplateKHR : nullptr;
- }
- if (!strcmp(name, "vkDestroyDescriptorUpdateTemplateKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_descriptor_update_template");
- return hasExt ? (void*)entry_vkDestroyDescriptorUpdateTemplateKHR : nullptr;
- }
- if (!strcmp(name, "vkUpdateDescriptorSetWithTemplateKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_descriptor_update_template");
- return hasExt ? (void*)entry_vkUpdateDescriptorSetWithTemplateKHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_create_renderpass2
- if (!strcmp(name, "vkCreateRenderPass2KHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_create_renderpass2");
- return hasExt ? (void*)entry_vkCreateRenderPass2KHR : nullptr;
- }
- if (!strcmp(name, "vkCmdBeginRenderPass2KHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_create_renderpass2");
- return hasExt ? (void*)entry_vkCmdBeginRenderPass2KHR : nullptr;
- }
- if (!strcmp(name, "vkCmdNextSubpass2KHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_create_renderpass2");
- return hasExt ? (void*)entry_vkCmdNextSubpass2KHR : nullptr;
- }
- if (!strcmp(name, "vkCmdEndRenderPass2KHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_create_renderpass2");
- return hasExt ? (void*)entry_vkCmdEndRenderPass2KHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_shared_presentable_image
- if (!strcmp(name, "vkGetSwapchainStatusKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_shared_presentable_image");
- return hasExt ? (void*)entry_vkGetSwapchainStatusKHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_external_fence_capabilities
- if (!strcmp(name, "vkGetPhysicalDeviceExternalFencePropertiesKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_external_fence_capabilities");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceExternalFencePropertiesKHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_external_fence_win32
- if (!strcmp(name, "vkImportFenceWin32HandleKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_external_fence_win32");
- return hasExt ? (void*)entry_vkImportFenceWin32HandleKHR : nullptr;
- }
- if (!strcmp(name, "vkGetFenceWin32HandleKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_external_fence_win32");
- return hasExt ? (void*)entry_vkGetFenceWin32HandleKHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_external_fence_fd
- if (!strcmp(name, "vkImportFenceFdKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_external_fence_fd");
- return hasExt ? (void*)entry_vkImportFenceFdKHR : nullptr;
- }
- if (!strcmp(name, "vkGetFenceFdKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_external_fence_fd");
- return hasExt ? (void*)entry_vkGetFenceFdKHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_get_surface_capabilities2
- if (!strcmp(name, "vkGetPhysicalDeviceSurfaceCapabilities2KHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_get_surface_capabilities2");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceSurfaceCapabilities2KHR : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceSurfaceFormats2KHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_get_surface_capabilities2");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceSurfaceFormats2KHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_get_display_properties2
- if (!strcmp(name, "vkGetPhysicalDeviceDisplayProperties2KHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_get_display_properties2");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceDisplayProperties2KHR : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceDisplayPlaneProperties2KHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_get_display_properties2");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceDisplayPlaneProperties2KHR : nullptr;
- }
- if (!strcmp(name, "vkGetDisplayModeProperties2KHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_get_display_properties2");
- return hasExt ? (void*)entry_vkGetDisplayModeProperties2KHR : nullptr;
- }
- if (!strcmp(name, "vkGetDisplayPlaneCapabilities2KHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_get_display_properties2");
- return hasExt ? (void*)entry_vkGetDisplayPlaneCapabilities2KHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_get_memory_requirements2
- if (!strcmp(name, "vkGetImageMemoryRequirements2KHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_get_memory_requirements2");
- return hasExt ? (void*)entry_vkGetImageMemoryRequirements2KHR : nullptr;
- }
- if (!strcmp(name, "vkGetBufferMemoryRequirements2KHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_get_memory_requirements2");
- return hasExt ? (void*)entry_vkGetBufferMemoryRequirements2KHR : nullptr;
- }
- if (!strcmp(name, "vkGetImageSparseMemoryRequirements2KHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_get_memory_requirements2");
- return hasExt ? (void*)entry_vkGetImageSparseMemoryRequirements2KHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_sampler_ycbcr_conversion
- if (!strcmp(name, "vkCreateSamplerYcbcrConversionKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_sampler_ycbcr_conversion");
- return hasExt ? (void*)entry_vkCreateSamplerYcbcrConversionKHR : nullptr;
- }
- if (!strcmp(name, "vkDestroySamplerYcbcrConversionKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_sampler_ycbcr_conversion");
- return hasExt ? (void*)entry_vkDestroySamplerYcbcrConversionKHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_bind_memory2
- if (!strcmp(name, "vkBindBufferMemory2KHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_bind_memory2");
- return hasExt ? (void*)entry_vkBindBufferMemory2KHR : nullptr;
- }
- if (!strcmp(name, "vkBindImageMemory2KHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_bind_memory2");
- return hasExt ? (void*)entry_vkBindImageMemory2KHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_maintenance3
- if (!strcmp(name, "vkGetDescriptorSetLayoutSupportKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_maintenance3");
- return hasExt ? (void*)entry_vkGetDescriptorSetLayoutSupportKHR : nullptr;
- }
-#endif
-#ifdef VK_KHR_draw_indirect_count
- if (!strcmp(name, "vkCmdDrawIndirectCountKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_draw_indirect_count");
- return hasExt ? (void*)entry_vkCmdDrawIndirectCountKHR : nullptr;
- }
- if (!strcmp(name, "vkCmdDrawIndexedIndirectCountKHR"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_draw_indirect_count");
- return hasExt ? (void*)entry_vkCmdDrawIndexedIndirectCountKHR : nullptr;
- }
-#endif
-#ifdef VK_ANDROID_native_buffer
- if (!strcmp(name, "vkGetSwapchainGrallocUsageANDROID"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_ANDROID_native_buffer");
- return hasExt ? (void*)entry_vkGetSwapchainGrallocUsageANDROID : nullptr;
- }
- if (!strcmp(name, "vkAcquireImageANDROID"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_ANDROID_native_buffer");
- return hasExt ? (void*)entry_vkAcquireImageANDROID : nullptr;
- }
- if (!strcmp(name, "vkQueueSignalReleaseImageANDROID"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_ANDROID_native_buffer");
- return hasExt ? (void*)entry_vkQueueSignalReleaseImageANDROID : nullptr;
- }
-#endif
-#ifdef VK_EXT_debug_report
- if (!strcmp(name, "vkCreateDebugReportCallbackEXT"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_debug_report");
- return hasExt ? (void*)entry_vkCreateDebugReportCallbackEXT : nullptr;
- }
- if (!strcmp(name, "vkDestroyDebugReportCallbackEXT"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_debug_report");
- return hasExt ? (void*)entry_vkDestroyDebugReportCallbackEXT : nullptr;
- }
- if (!strcmp(name, "vkDebugReportMessageEXT"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_debug_report");
- return hasExt ? (void*)entry_vkDebugReportMessageEXT : nullptr;
- }
-#endif
-#ifdef VK_EXT_debug_marker
- if (!strcmp(name, "vkDebugMarkerSetObjectTagEXT"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_debug_marker");
- return hasExt ? (void*)entry_vkDebugMarkerSetObjectTagEXT : nullptr;
- }
- if (!strcmp(name, "vkDebugMarkerSetObjectNameEXT"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_debug_marker");
- return hasExt ? (void*)entry_vkDebugMarkerSetObjectNameEXT : nullptr;
- }
- if (!strcmp(name, "vkCmdDebugMarkerBeginEXT"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_debug_marker");
- return hasExt ? (void*)entry_vkCmdDebugMarkerBeginEXT : nullptr;
- }
- if (!strcmp(name, "vkCmdDebugMarkerEndEXT"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_debug_marker");
- return hasExt ? (void*)entry_vkCmdDebugMarkerEndEXT : nullptr;
- }
- if (!strcmp(name, "vkCmdDebugMarkerInsertEXT"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_debug_marker");
- return hasExt ? (void*)entry_vkCmdDebugMarkerInsertEXT : nullptr;
- }
-#endif
-#ifdef VK_AMD_draw_indirect_count
- if (!strcmp(name, "vkCmdDrawIndirectCountAMD"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_AMD_draw_indirect_count");
- return hasExt ? (void*)entry_vkCmdDrawIndirectCountAMD : nullptr;
- }
- if (!strcmp(name, "vkCmdDrawIndexedIndirectCountAMD"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_AMD_draw_indirect_count");
- return hasExt ? (void*)entry_vkCmdDrawIndexedIndirectCountAMD : nullptr;
- }
-#endif
-#ifdef VK_AMD_shader_info
- if (!strcmp(name, "vkGetShaderInfoAMD"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_AMD_shader_info");
- return hasExt ? (void*)entry_vkGetShaderInfoAMD : nullptr;
- }
-#endif
-#ifdef VK_NV_external_memory_capabilities
- if (!strcmp(name, "vkGetPhysicalDeviceExternalImageFormatPropertiesNV"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_NV_external_memory_capabilities");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceExternalImageFormatPropertiesNV : nullptr;
- }
-#endif
-#ifdef VK_NV_external_memory_win32
- if (!strcmp(name, "vkGetMemoryWin32HandleNV"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_NV_external_memory_win32");
- return hasExt ? (void*)entry_vkGetMemoryWin32HandleNV : nullptr;
- }
-#endif
-#ifdef VK_NN_vi_surface
- if (!strcmp(name, "vkCreateViSurfaceNN"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_NN_vi_surface");
- return hasExt ? (void*)entry_vkCreateViSurfaceNN : nullptr;
- }
-#endif
-#ifdef VK_EXT_conditional_rendering
- if (!strcmp(name, "vkCmdBeginConditionalRenderingEXT"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_conditional_rendering");
- return hasExt ? (void*)entry_vkCmdBeginConditionalRenderingEXT : nullptr;
- }
- if (!strcmp(name, "vkCmdEndConditionalRenderingEXT"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_conditional_rendering");
- return hasExt ? (void*)entry_vkCmdEndConditionalRenderingEXT : nullptr;
- }
-#endif
-#ifdef VK_NVX_device_generated_commands
- if (!strcmp(name, "vkCmdProcessCommandsNVX"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_NVX_device_generated_commands");
- return hasExt ? (void*)entry_vkCmdProcessCommandsNVX : nullptr;
- }
- if (!strcmp(name, "vkCmdReserveSpaceForCommandsNVX"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_NVX_device_generated_commands");
- return hasExt ? (void*)entry_vkCmdReserveSpaceForCommandsNVX : nullptr;
- }
- if (!strcmp(name, "vkCreateIndirectCommandsLayoutNVX"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_NVX_device_generated_commands");
- return hasExt ? (void*)entry_vkCreateIndirectCommandsLayoutNVX : nullptr;
- }
- if (!strcmp(name, "vkDestroyIndirectCommandsLayoutNVX"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_NVX_device_generated_commands");
- return hasExt ? (void*)entry_vkDestroyIndirectCommandsLayoutNVX : nullptr;
- }
- if (!strcmp(name, "vkCreateObjectTableNVX"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_NVX_device_generated_commands");
- return hasExt ? (void*)entry_vkCreateObjectTableNVX : nullptr;
- }
- if (!strcmp(name, "vkDestroyObjectTableNVX"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_NVX_device_generated_commands");
- return hasExt ? (void*)entry_vkDestroyObjectTableNVX : nullptr;
- }
- if (!strcmp(name, "vkRegisterObjectsNVX"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_NVX_device_generated_commands");
- return hasExt ? (void*)entry_vkRegisterObjectsNVX : nullptr;
- }
- if (!strcmp(name, "vkUnregisterObjectsNVX"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_NVX_device_generated_commands");
- return hasExt ? (void*)entry_vkUnregisterObjectsNVX : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_NVX_device_generated_commands");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX : nullptr;
- }
-#endif
-#ifdef VK_NV_clip_space_w_scaling
- if (!strcmp(name, "vkCmdSetViewportWScalingNV"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_NV_clip_space_w_scaling");
- return hasExt ? (void*)entry_vkCmdSetViewportWScalingNV : nullptr;
- }
-#endif
-#ifdef VK_EXT_direct_mode_display
- if (!strcmp(name, "vkReleaseDisplayEXT"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_direct_mode_display");
- return hasExt ? (void*)entry_vkReleaseDisplayEXT : nullptr;
- }
-#endif
-#ifdef VK_EXT_acquire_xlib_display
- if (!strcmp(name, "vkAcquireXlibDisplayEXT"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_acquire_xlib_display");
- return hasExt ? (void*)entry_vkAcquireXlibDisplayEXT : nullptr;
- }
- if (!strcmp(name, "vkGetRandROutputDisplayEXT"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_acquire_xlib_display");
- return hasExt ? (void*)entry_vkGetRandROutputDisplayEXT : nullptr;
- }
-#endif
-#ifdef VK_EXT_display_surface_counter
- if (!strcmp(name, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_display_surface_counter");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceSurfaceCapabilities2EXT : nullptr;
- }
-#endif
-#ifdef VK_EXT_display_control
- if (!strcmp(name, "vkDisplayPowerControlEXT"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_display_control");
- return hasExt ? (void*)entry_vkDisplayPowerControlEXT : nullptr;
- }
- if (!strcmp(name, "vkRegisterDeviceEventEXT"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_display_control");
- return hasExt ? (void*)entry_vkRegisterDeviceEventEXT : nullptr;
- }
- if (!strcmp(name, "vkRegisterDisplayEventEXT"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_display_control");
- return hasExt ? (void*)entry_vkRegisterDisplayEventEXT : nullptr;
- }
- if (!strcmp(name, "vkGetSwapchainCounterEXT"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_display_control");
- return hasExt ? (void*)entry_vkGetSwapchainCounterEXT : nullptr;
- }
-#endif
-#ifdef VK_GOOGLE_display_timing
- if (!strcmp(name, "vkGetRefreshCycleDurationGOOGLE"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_GOOGLE_display_timing");
- return hasExt ? (void*)entry_vkGetRefreshCycleDurationGOOGLE : nullptr;
- }
- if (!strcmp(name, "vkGetPastPresentationTimingGOOGLE"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_GOOGLE_display_timing");
- return hasExt ? (void*)entry_vkGetPastPresentationTimingGOOGLE : nullptr;
- }
-#endif
-#ifdef VK_EXT_discard_rectangles
- if (!strcmp(name, "vkCmdSetDiscardRectangleEXT"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_discard_rectangles");
- return hasExt ? (void*)entry_vkCmdSetDiscardRectangleEXT : nullptr;
- }
-#endif
-#ifdef VK_EXT_hdr_metadata
- if (!strcmp(name, "vkSetHdrMetadataEXT"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_hdr_metadata");
- return hasExt ? (void*)entry_vkSetHdrMetadataEXT : nullptr;
- }
-#endif
-#ifdef VK_MVK_ios_surface
- if (!strcmp(name, "vkCreateIOSSurfaceMVK"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_MVK_ios_surface");
- return hasExt ? (void*)entry_vkCreateIOSSurfaceMVK : nullptr;
- }
-#endif
-#ifdef VK_MVK_macos_surface
- if (!strcmp(name, "vkCreateMacOSSurfaceMVK"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_MVK_macos_surface");
- return hasExt ? (void*)entry_vkCreateMacOSSurfaceMVK : nullptr;
- }
-#endif
-#ifdef VK_EXT_debug_utils
- if (!strcmp(name, "vkSetDebugUtilsObjectNameEXT"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_debug_utils");
- return hasExt ? (void*)entry_vkSetDebugUtilsObjectNameEXT : nullptr;
- }
- if (!strcmp(name, "vkSetDebugUtilsObjectTagEXT"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_debug_utils");
- return hasExt ? (void*)entry_vkSetDebugUtilsObjectTagEXT : nullptr;
- }
- if (!strcmp(name, "vkQueueBeginDebugUtilsLabelEXT"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_debug_utils");
- return hasExt ? (void*)entry_vkQueueBeginDebugUtilsLabelEXT : nullptr;
- }
- if (!strcmp(name, "vkQueueEndDebugUtilsLabelEXT"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_debug_utils");
- return hasExt ? (void*)entry_vkQueueEndDebugUtilsLabelEXT : nullptr;
- }
- if (!strcmp(name, "vkQueueInsertDebugUtilsLabelEXT"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_debug_utils");
- return hasExt ? (void*)entry_vkQueueInsertDebugUtilsLabelEXT : nullptr;
- }
- if (!strcmp(name, "vkCmdBeginDebugUtilsLabelEXT"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_debug_utils");
- return hasExt ? (void*)entry_vkCmdBeginDebugUtilsLabelEXT : nullptr;
- }
- if (!strcmp(name, "vkCmdEndDebugUtilsLabelEXT"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_debug_utils");
- return hasExt ? (void*)entry_vkCmdEndDebugUtilsLabelEXT : nullptr;
- }
- if (!strcmp(name, "vkCmdInsertDebugUtilsLabelEXT"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_debug_utils");
- return hasExt ? (void*)entry_vkCmdInsertDebugUtilsLabelEXT : nullptr;
- }
- if (!strcmp(name, "vkCreateDebugUtilsMessengerEXT"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_debug_utils");
- return hasExt ? (void*)entry_vkCreateDebugUtilsMessengerEXT : nullptr;
- }
- if (!strcmp(name, "vkDestroyDebugUtilsMessengerEXT"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_debug_utils");
- return hasExt ? (void*)entry_vkDestroyDebugUtilsMessengerEXT : nullptr;
- }
- if (!strcmp(name, "vkSubmitDebugUtilsMessageEXT"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_debug_utils");
- return hasExt ? (void*)entry_vkSubmitDebugUtilsMessageEXT : nullptr;
- }
-#endif
-#ifdef VK_ANDROID_external_memory_android_hardware_buffer
- if (!strcmp(name, "vkGetAndroidHardwareBufferPropertiesANDROID"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_ANDROID_external_memory_android_hardware_buffer");
- return hasExt ? (void*)entry_vkGetAndroidHardwareBufferPropertiesANDROID : nullptr;
- }
- if (!strcmp(name, "vkGetMemoryAndroidHardwareBufferANDROID"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_ANDROID_external_memory_android_hardware_buffer");
- return hasExt ? (void*)entry_vkGetMemoryAndroidHardwareBufferANDROID : nullptr;
- }
-#endif
-#ifdef VK_EXT_sample_locations
- if (!strcmp(name, "vkCmdSetSampleLocationsEXT"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_sample_locations");
- return hasExt ? (void*)entry_vkCmdSetSampleLocationsEXT : nullptr;
- }
- if (!strcmp(name, "vkGetPhysicalDeviceMultisamplePropertiesEXT"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_sample_locations");
- return hasExt ? (void*)entry_vkGetPhysicalDeviceMultisamplePropertiesEXT : nullptr;
- }
-#endif
-#ifdef VK_EXT_validation_cache
- if (!strcmp(name, "vkCreateValidationCacheEXT"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_validation_cache");
- return hasExt ? (void*)entry_vkCreateValidationCacheEXT : nullptr;
- }
- if (!strcmp(name, "vkDestroyValidationCacheEXT"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_validation_cache");
- return hasExt ? (void*)entry_vkDestroyValidationCacheEXT : nullptr;
- }
- if (!strcmp(name, "vkMergeValidationCachesEXT"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_validation_cache");
- return hasExt ? (void*)entry_vkMergeValidationCachesEXT : nullptr;
- }
- if (!strcmp(name, "vkGetValidationCacheDataEXT"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_validation_cache");
- return hasExt ? (void*)entry_vkGetValidationCacheDataEXT : nullptr;
- }
-#endif
-#ifdef VK_EXT_external_memory_host
- if (!strcmp(name, "vkGetMemoryHostPointerPropertiesEXT"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_external_memory_host");
- return hasExt ? (void*)entry_vkGetMemoryHostPointerPropertiesEXT : nullptr;
- }
-#endif
-#ifdef VK_AMD_buffer_marker
- if (!strcmp(name, "vkCmdWriteBufferMarkerAMD"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_AMD_buffer_marker");
- return hasExt ? (void*)entry_vkCmdWriteBufferMarkerAMD : nullptr;
- }
-#endif
-#ifdef VK_NV_device_diagnostic_checkpoints
- if (!strcmp(name, "vkCmdSetCheckpointNV"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_NV_device_diagnostic_checkpoints");
- return hasExt ? (void*)entry_vkCmdSetCheckpointNV : nullptr;
- }
- if (!strcmp(name, "vkGetQueueCheckpointDataNV"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_NV_device_diagnostic_checkpoints");
- return hasExt ? (void*)entry_vkGetQueueCheckpointDataNV : nullptr;
- }
-#endif
-#ifdef VK_GOOGLE_address_space
- if (!strcmp(name, "vkMapMemoryIntoAddressSpaceGOOGLE"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_GOOGLE_address_space");
- return hasExt ? (void*)entry_vkMapMemoryIntoAddressSpaceGOOGLE : nullptr;
- }
-#endif
-#ifdef VK_GOOGLE_color_buffer
- if (!strcmp(name, "vkRegisterImageColorBufferGOOGLE"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_GOOGLE_color_buffer");
- return hasExt ? (void*)entry_vkRegisterImageColorBufferGOOGLE : nullptr;
- }
- if (!strcmp(name, "vkRegisterBufferColorBufferGOOGLE"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_GOOGLE_color_buffer");
- return hasExt ? (void*)entry_vkRegisterBufferColorBufferGOOGLE : nullptr;
- }
-#endif
-#ifdef VK_GOOGLE_sized_descriptor_update_template
- if (!strcmp(name, "vkUpdateDescriptorSetWithTemplateSizedGOOGLE"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_GOOGLE_sized_descriptor_update_template");
- return hasExt ? (void*)entry_vkUpdateDescriptorSetWithTemplateSizedGOOGLE : nullptr;
- }
-#endif
-#ifdef VK_GOOGLE_async_command_buffers
- if (!strcmp(name, "vkBeginCommandBufferAsyncGOOGLE"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_GOOGLE_async_command_buffers");
- return hasExt ? (void*)entry_vkBeginCommandBufferAsyncGOOGLE : nullptr;
- }
- if (!strcmp(name, "vkEndCommandBufferAsyncGOOGLE"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_GOOGLE_async_command_buffers");
- return hasExt ? (void*)entry_vkEndCommandBufferAsyncGOOGLE : nullptr;
- }
- if (!strcmp(name, "vkResetCommandBufferAsyncGOOGLE"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_GOOGLE_async_command_buffers");
- return hasExt ? (void*)entry_vkResetCommandBufferAsyncGOOGLE : nullptr;
- }
- if (!strcmp(name, "vkCommandBufferHostSyncGOOGLE"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_GOOGLE_async_command_buffers");
- return hasExt ? (void*)entry_vkCommandBufferHostSyncGOOGLE : nullptr;
- }
-#endif
-#ifdef VK_GOOGLE_create_resources_with_requirements
- if (!strcmp(name, "vkCreateImageWithRequirementsGOOGLE"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_GOOGLE_create_resources_with_requirements");
- return hasExt ? (void*)entry_vkCreateImageWithRequirementsGOOGLE : nullptr;
- }
- if (!strcmp(name, "vkCreateBufferWithRequirementsGOOGLE"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_GOOGLE_create_resources_with_requirements");
- return hasExt ? (void*)entry_vkCreateBufferWithRequirementsGOOGLE : nullptr;
- }
-#endif
-#ifdef VK_GOOGLE_address_space_info
- if (!strcmp(name, "vkGetMemoryHostAddressInfoGOOGLE"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_GOOGLE_address_space_info");
- return hasExt ? (void*)entry_vkGetMemoryHostAddressInfoGOOGLE : nullptr;
- }
-#endif
-#ifdef VK_GOOGLE_free_memory_sync
- if (!strcmp(name, "vkFreeMemorySyncGOOGLE"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_GOOGLE_free_memory_sync");
- return hasExt ? (void*)entry_vkFreeMemorySyncGOOGLE : nullptr;
- }
-#endif
-#ifdef VK_GOOGLE_async_queue_submit
- if (!strcmp(name, "vkQueueHostSyncGOOGLE"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_GOOGLE_async_queue_submit");
- return hasExt ? (void*)entry_vkQueueHostSyncGOOGLE : nullptr;
- }
- if (!strcmp(name, "vkQueueSubmitAsyncGOOGLE"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_GOOGLE_async_queue_submit");
- return hasExt ? (void*)entry_vkQueueSubmitAsyncGOOGLE : nullptr;
- }
- if (!strcmp(name, "vkQueueWaitIdleAsyncGOOGLE"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_GOOGLE_async_queue_submit");
- return hasExt ? (void*)entry_vkQueueWaitIdleAsyncGOOGLE : nullptr;
- }
- if (!strcmp(name, "vkQueueBindSparseAsyncGOOGLE"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_GOOGLE_async_queue_submit");
- return hasExt ? (void*)entry_vkQueueBindSparseAsyncGOOGLE : nullptr;
- }
-#endif
-#ifdef VK_GOOGLE_linear_image_layout
- if (!strcmp(name, "vkGetLinearImageLayoutGOOGLE"))
- {
- bool hasExt = resources->hasDeviceExtension(device, "VK_GOOGLE_linear_image_layout");
- return hasExt ? (void*)entry_vkGetLinearImageLayoutGOOGLE : nullptr;
- }
-#endif
- return nullptr;
-}
-
-} // namespace goldfish_vk
diff --git a/stream-clients/vulkan/func_table.h b/stream-clients/vulkan/func_table.h
deleted file mode 100644
index fcfb2f7..0000000
--- a/stream-clients/vulkan/func_table.h
+++ /dev/null
@@ -1,303 +0,0 @@
-// 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 func_table
-// (header) generated by protocols/vulkan/xml/genvk.py -registry protocols/vulkan/xml/vk.xml cereal -o stream-servers/vulkan/cereal
-// Please do not modify directly;
-// re-run generate-vulkan-sources.sh,
-// or directly from Python by defining:
-// VULKAN_REGISTRY_XML_DIR : Directory containing genvk.py and vk.xml
-// CEREAL_OUTPUT_DIR: Where to put the generated sources.
-// python3 $VULKAN_REGISTRY_XML_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o $CEREAL_OUTPUT_DIR
-
-#pragma once
-
-#include <vulkan/vulkan.h>
-
-
-
-namespace goldfish_vk {
-
-#ifdef VK_VERSION_1_0
-#endif
-#ifdef VK_VERSION_1_1
-#endif
-#ifdef VK_KHR_surface
-#endif
-#ifdef VK_KHR_swapchain
-#endif
-#ifdef VK_KHR_display
-#endif
-#ifdef VK_KHR_display_swapchain
-#endif
-#ifdef VK_KHR_xlib_surface
-#endif
-#ifdef VK_KHR_xcb_surface
-#endif
-#ifdef VK_KHR_wayland_surface
-#endif
-#ifdef VK_KHR_mir_surface
-#endif
-#ifdef VK_KHR_android_surface
-#endif
-#ifdef VK_KHR_win32_surface
-#endif
-#ifdef VK_KHR_sampler_mirror_clamp_to_edge
-#endif
-#ifdef VK_KHR_multiview
-#endif
-#ifdef VK_KHR_get_physical_device_properties2
-#endif
-#ifdef VK_KHR_device_group
-#endif
-#ifdef VK_KHR_shader_draw_parameters
-#endif
-#ifdef VK_KHR_maintenance1
-#endif
-#ifdef VK_KHR_device_group_creation
-#endif
-#ifdef VK_KHR_external_memory_capabilities
-#endif
-#ifdef VK_KHR_external_memory
-#endif
-#ifdef VK_KHR_external_memory_win32
-#endif
-#ifdef VK_KHR_external_memory_fd
-#endif
-#ifdef VK_KHR_win32_keyed_mutex
-#endif
-#ifdef VK_KHR_external_semaphore_capabilities
-#endif
-#ifdef VK_KHR_external_semaphore
-#endif
-#ifdef VK_KHR_external_semaphore_win32
-#endif
-#ifdef VK_KHR_external_semaphore_fd
-#endif
-#ifdef VK_KHR_push_descriptor
-#endif
-#ifdef VK_KHR_16bit_storage
-#endif
-#ifdef VK_KHR_incremental_present
-#endif
-#ifdef VK_KHR_descriptor_update_template
-#endif
-#ifdef VK_KHR_create_renderpass2
-#endif
-#ifdef VK_KHR_shared_presentable_image
-#endif
-#ifdef VK_KHR_external_fence_capabilities
-#endif
-#ifdef VK_KHR_external_fence
-#endif
-#ifdef VK_KHR_external_fence_win32
-#endif
-#ifdef VK_KHR_external_fence_fd
-#endif
-#ifdef VK_KHR_maintenance2
-#endif
-#ifdef VK_KHR_get_surface_capabilities2
-#endif
-#ifdef VK_KHR_variable_pointers
-#endif
-#ifdef VK_KHR_get_display_properties2
-#endif
-#ifdef VK_KHR_dedicated_allocation
-#endif
-#ifdef VK_KHR_storage_buffer_storage_class
-#endif
-#ifdef VK_KHR_relaxed_block_layout
-#endif
-#ifdef VK_KHR_get_memory_requirements2
-#endif
-#ifdef VK_KHR_image_format_list
-#endif
-#ifdef VK_KHR_sampler_ycbcr_conversion
-#endif
-#ifdef VK_KHR_bind_memory2
-#endif
-#ifdef VK_KHR_maintenance3
-#endif
-#ifdef VK_KHR_draw_indirect_count
-#endif
-#ifdef VK_KHR_8bit_storage
-#endif
-#ifdef VK_KHR_shader_float16_int8
-#endif
-#ifdef VK_ANDROID_native_buffer
-#endif
-#ifdef VK_EXT_debug_report
-#endif
-#ifdef VK_NV_glsl_shader
-#endif
-#ifdef VK_EXT_depth_range_unrestricted
-#endif
-#ifdef VK_IMG_filter_cubic
-#endif
-#ifdef VK_AMD_rasterization_order
-#endif
-#ifdef VK_AMD_shader_trinary_minmax
-#endif
-#ifdef VK_AMD_shader_explicit_vertex_parameter
-#endif
-#ifdef VK_EXT_debug_marker
-#endif
-#ifdef VK_AMD_gcn_shader
-#endif
-#ifdef VK_NV_dedicated_allocation
-#endif
-#ifdef VK_AMD_draw_indirect_count
-#endif
-#ifdef VK_AMD_negative_viewport_height
-#endif
-#ifdef VK_AMD_gpu_shader_half_float
-#endif
-#ifdef VK_AMD_shader_ballot
-#endif
-#ifdef VK_AMD_texture_gather_bias_lod
-#endif
-#ifdef VK_AMD_shader_info
-#endif
-#ifdef VK_AMD_shader_image_load_store_lod
-#endif
-#ifdef VK_IMG_format_pvrtc
-#endif
-#ifdef VK_NV_external_memory_capabilities
-#endif
-#ifdef VK_NV_external_memory
-#endif
-#ifdef VK_NV_external_memory_win32
-#endif
-#ifdef VK_NV_win32_keyed_mutex
-#endif
-#ifdef VK_EXT_validation_flags
-#endif
-#ifdef VK_NN_vi_surface
-#endif
-#ifdef VK_EXT_shader_subgroup_ballot
-#endif
-#ifdef VK_EXT_shader_subgroup_vote
-#endif
-#ifdef VK_EXT_conditional_rendering
-#endif
-#ifdef VK_NVX_device_generated_commands
-#endif
-#ifdef VK_NV_clip_space_w_scaling
-#endif
-#ifdef VK_EXT_direct_mode_display
-#endif
-#ifdef VK_EXT_acquire_xlib_display
-#endif
-#ifdef VK_EXT_display_surface_counter
-#endif
-#ifdef VK_EXT_display_control
-#endif
-#ifdef VK_GOOGLE_display_timing
-#endif
-#ifdef VK_NV_sample_mask_override_coverage
-#endif
-#ifdef VK_NV_geometry_shader_passthrough
-#endif
-#ifdef VK_NV_viewport_array2
-#endif
-#ifdef VK_NVX_multiview_per_view_attributes
-#endif
-#ifdef VK_NV_viewport_swizzle
-#endif
-#ifdef VK_EXT_discard_rectangles
-#endif
-#ifdef VK_EXT_conservative_rasterization
-#endif
-#ifdef VK_EXT_swapchain_colorspace
-#endif
-#ifdef VK_EXT_hdr_metadata
-#endif
-#ifdef VK_MVK_ios_surface
-#endif
-#ifdef VK_MVK_macos_surface
-#endif
-#ifdef VK_EXT_external_memory_dma_buf
-#endif
-#ifdef VK_EXT_queue_family_foreign
-#endif
-#ifdef VK_EXT_debug_utils
-#endif
-#ifdef VK_ANDROID_external_memory_android_hardware_buffer
-#endif
-#ifdef VK_EXT_sampler_filter_minmax
-#endif
-#ifdef VK_AMD_gpu_shader_int16
-#endif
-#ifdef VK_AMD_mixed_attachment_samples
-#endif
-#ifdef VK_AMD_shader_fragment_mask
-#endif
-#ifdef VK_EXT_shader_stencil_export
-#endif
-#ifdef VK_EXT_sample_locations
-#endif
-#ifdef VK_EXT_blend_operation_advanced
-#endif
-#ifdef VK_NV_fragment_coverage_to_color
-#endif
-#ifdef VK_NV_framebuffer_mixed_samples
-#endif
-#ifdef VK_NV_fill_rectangle
-#endif
-#ifdef VK_EXT_post_depth_coverage
-#endif
-#ifdef VK_EXT_validation_cache
-#endif
-#ifdef VK_EXT_descriptor_indexing
-#endif
-#ifdef VK_EXT_shader_viewport_index_layer
-#endif
-#ifdef VK_EXT_global_priority
-#endif
-#ifdef VK_EXT_external_memory_host
-#endif
-#ifdef VK_AMD_buffer_marker
-#endif
-#ifdef VK_AMD_shader_core_properties
-#endif
-#ifdef VK_EXT_vertex_attribute_divisor
-#endif
-#ifdef VK_NV_shader_subgroup_partitioned
-#endif
-#ifdef VK_NV_device_diagnostic_checkpoints
-#endif
-#ifdef VK_GOOGLE_address_space
-#endif
-#ifdef VK_GOOGLE_color_buffer
-#endif
-#ifdef VK_GOOGLE_sized_descriptor_update_template
-#endif
-#ifdef VK_GOOGLE_async_command_buffers
-#endif
-#ifdef VK_GOOGLE_create_resources_with_requirements
-#endif
-#ifdef VK_GOOGLE_address_space_info
-#endif
-#ifdef VK_GOOGLE_free_memory_sync
-#endif
-#ifdef VK_GOOGLE_async_queue_submit
-#endif
-#ifdef VK_GOOGLE_linear_image_layout
-#endif
-void* goldfish_vulkan_get_proc_address(const char* name);
-void* goldfish_vulkan_get_instance_proc_address(VkInstance instance, const char* name);
-void* goldfish_vulkan_get_device_proc_address(VkDevice device, const char* name);
-
-} // namespace goldfish_vk
diff --git a/stream-clients/vulkan_enc/Android.mk b/stream-clients/vulkan_enc/Android.mk
deleted file mode 100644
index a8266f3..0000000
--- a/stream-clients/vulkan_enc/Android.mk
+++ /dev/null
@@ -1,70 +0,0 @@
-
-# Autogenerated makefile
-# ../protocols/vk-gen/xml/genvk.py -registry ../protocols/vk-gen/xml/vk.xml cereal -o ../stream-servers/vulkan/cereal
-# Please do not modify directly;
-# re-run generate-vulkan-sources.sh,
-# or directly from Python by defining:
-# VULKAN_REGISTRY_XML_DIR : Directory containing genvk.py and vk.xml
-# CEREAL_OUTPUT_DIR: Where to put the generated sources.
-# python3 $VULKAN_REGISTRY_XML_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o $CEREAL_OUTPUT_DIR
-
-LOCAL_PATH := $(call my-dir)
-
-$(call emugl-begin-shared-library,libvulkan_enc)
-$(call emugl-export,C_INCLUDES,$(LOCAL_PATH))
-$(call emugl-import,libOpenglCodecCommon$(GOLDFISH_OPENGL_LIB_SUFFIX) libandroidemu lib_renderControl_enc)
-
-# Vulkan include dir
-ifeq (true,$(GOLDFISH_OPENGL_BUILD_FOR_HOST))
-LOCAL_C_INCLUDES += \
- $(LOCAL_PATH) \
- $(HOST_EMUGL_PATH)/host/include \
- $(HOST_EMUGL_PATH)/host/include/vulkan
-endif
-
-ifneq (true,$(GOLDFISH_OPENGL_BUILD_FOR_HOST))
-LOCAL_C_INCLUDES += \
- $(LOCAL_PATH) \
- $(LOCAL_PATH)/../vulkan_enc \
-
-LOCAL_HEADER_LIBRARIES += \
- hwvulkan_headers \
- vulkan_headers \
-
-endif
-
-LOCAL_CFLAGS += \
- -DLOG_TAG=\"goldfish_vulkan\" \
- -DVK_ANDROID_native_buffer \
- -DVK_GOOGLE_address_space \
- -Wno-missing-field-initializers \
- -Werror \
- -fstrict-aliasing \
- -DVK_USE_PLATFORM_ANDROID_KHR \
- -DVK_NO_PROTOTYPES \
-
-LOCAL_SRC_FILES := AndroidHardwareBuffer.cpp \
- HostVisibleMemoryVirtualization.cpp \
- Resources.cpp \
- Validation.cpp \
- VulkanStreamGuest.cpp \
- VulkanHandleMapping.cpp \
- ResourceTracker.cpp \
- VkEncoder.cpp \
-goldfish_vk_extension_structs_guest.cpp \
-goldfish_vk_marshaling_guest.cpp \
-goldfish_vk_deepcopy_guest.cpp \
-goldfish_vk_handlemap_guest.cpp \
-goldfish_vk_transform_guest.cpp \
-
-
-ifeq (true,$(GOLDFISH_OPENGL_BUILD_FOR_HOST))
-LOCAL_CFLAGS += -D__ANDROID_API__=28
-$(call emugl-export,SHARED_LIBRARIES,libgui)
-else
-$(call emugl-export,SHARED_LIBRARIES,libsync libnativewindow)
-LOCAL_STATIC_LIBRARIES += libarect
-endif
-
-$(call emugl-end-module)
-
diff --git a/stream-clients/vulkan_enc/VkEncoder.cpp b/stream-clients/vulkan_enc/VkEncoder.cpp
deleted file mode 100644
index e88ef26..0000000
--- a/stream-clients/vulkan_enc/VkEncoder.cpp
+++ /dev/null
@@ -1,23211 +0,0 @@
-// 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 VkEncoder
-// (impl) generated by protocols/vulkan/xml/genvk.py -registry protocols/vulkan/xml/vk.xml cereal -o stream-servers/vulkan/cereal
-// Please do not modify directly;
-// re-run generate-vulkan-sources.sh,
-// or directly from Python by defining:
-// VULKAN_REGISTRY_XML_DIR : Directory containing genvk.py and vk.xml
-// CEREAL_OUTPUT_DIR: Where to put the generated sources.
-// python3 $VULKAN_REGISTRY_XML_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o $CEREAL_OUTPUT_DIR
-
-#include "VkEncoder.h"
-
-
-#include "IOStream.h"
-#include "Resources.h"
-#include "ResourceTracker.h"
-#include "Validation.h"
-#include "VulkanStreamGuest.h"
-
-#include "base/AlignedBuf.h"
-#include "base/BumpPool.h"
-#include "base/synchronization/AndroidLock.h"
-
-#include <cutils/properties.h>
-
-#include "goldfish_vk_marshaling_guest.h"
-#include "goldfish_vk_deepcopy_guest.h"
-#include "goldfish_vk_handlemap_guest.h"
-#include "goldfish_vk_private_defs.h"
-#include "goldfish_vk_transform_guest.h"
-
-#include <unordered_map>
-
-
-
-namespace goldfish_vk {
-
-
-
-using namespace goldfish_vk;
-
-using android::aligned_buf_alloc;
-using android::aligned_buf_free;
-using android::base::guest::AutoLock;
-using android::base::guest::Lock;
-using android::base::BumpPool;
-
-#include "VkEncoder.cpp.inl"
-
-#define VALIDATE_RET(retType, success, validate) \
- retType goldfish_vk_validateResult = validate; \
- if (goldfish_vk_validateResult != success) return goldfish_vk_validateResult; \
-
-#define VALIDATE_VOID(validate) \
- VkResult goldfish_vk_validateResult = validate; \
- if (goldfish_vk_validateResult != VK_SUCCESS) return; \
-
-#ifdef VK_VERSION_1_0
-VkResult VkEncoder::vkCreateInstance(
- const VkInstanceCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkInstance* pInstance)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateInstance");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkInstanceCreateInfo* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkInstanceCreateInfo*)pool->alloc(sizeof(const VkInstanceCreateInfo));
- deepcopy_VkInstanceCreateInfo(pool, pCreateInfo, (VkInstanceCreateInfo*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkInstanceCreateInfo(mImpl->resources(), (VkInstanceCreateInfo*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- marshal_VkInstanceCreateInfo(countingStream, (VkInstanceCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_0 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_0);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_1;
- countingStream->handleMapping()->mapHandles_VkInstance_u64(pInstance, &cgen_var_1, 1);
- countingStream->write((uint64_t*)&cgen_var_1, 8);
- }
- uint32_t packetSize_vkCreateInstance = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateInstance = OP_vkCreateInstance;
- stream->write(&opcode_vkCreateInstance, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateInstance, sizeof(uint32_t));
- marshal_VkInstanceCreateInfo(stream, (VkInstanceCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_2 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_2);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_3;
- stream->handleMapping()->mapHandles_VkInstance_u64(pInstance, &cgen_var_3, 1);
- stream->write((uint64_t*)&cgen_var_3, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- stream->setHandleMapping(resources->createMapping());
- uint64_t cgen_var_4;
- stream->read((uint64_t*)&cgen_var_4, 8);
- stream->handleMapping()->mapHandles_u64_VkInstance(&cgen_var_4, (VkInstance*)pInstance, 1);
- stream->unsetHandleMapping();
- VkResult vkCreateInstance_VkResult_return = (VkResult)0;
- stream->read(&vkCreateInstance_VkResult_return, sizeof(VkResult));
- mImpl->resources()->on_vkCreateInstance(this, vkCreateInstance_VkResult_return, pCreateInfo, pAllocator, pInstance);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateInstance");;
- return vkCreateInstance_VkResult_return;
-}
-
-void VkEncoder::vkDestroyInstance(
- VkInstance instance,
- const VkAllocationCallbacks* pAllocator)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkDestroyInstance");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkInstance local_instance;
- VkAllocationCallbacks* local_pAllocator;
- local_instance = instance;
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_5;
- countingStream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_5, 1);
- countingStream->write((uint64_t*)&cgen_var_5, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_6 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_6);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- }
- uint32_t packetSize_vkDestroyInstance = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkDestroyInstance = OP_vkDestroyInstance;
- stream->write(&opcode_vkDestroyInstance, sizeof(uint32_t));
- stream->write(&packetSize_vkDestroyInstance, sizeof(uint32_t));
- uint64_t cgen_var_7;
- stream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_7, 1);
- stream->write((uint64_t*)&cgen_var_7, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_8 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_8);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- resources->destroyMapping()->mapHandles_VkInstance((VkInstance*)&instance);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkDestroyInstance");;
-}
-
-VkResult VkEncoder::vkEnumeratePhysicalDevices(
- VkInstance instance,
- uint32_t* pPhysicalDeviceCount,
- VkPhysicalDevice* pPhysicalDevices)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkEnumeratePhysicalDevices");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkInstance local_instance;
- local_instance = instance;
- countingStream->rewind();
- {
- uint64_t cgen_var_9;
- countingStream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_9, 1);
- countingStream->write((uint64_t*)&cgen_var_9, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_10 = (uint64_t)(uintptr_t)pPhysicalDeviceCount;
- countingStream->putBe64(cgen_var_10);
- if (pPhysicalDeviceCount)
- {
- countingStream->write((uint32_t*)pPhysicalDeviceCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_11 = (uint64_t)(uintptr_t)pPhysicalDevices;
- countingStream->putBe64(cgen_var_11);
- if (pPhysicalDevices)
- {
- if ((*(pPhysicalDeviceCount)))
- {
- uint64_t* cgen_var_12;
- countingStream->alloc((void**)&cgen_var_12, (*(pPhysicalDeviceCount)) * 8);
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(pPhysicalDevices, cgen_var_12, (*(pPhysicalDeviceCount)));
- countingStream->write((uint64_t*)cgen_var_12, (*(pPhysicalDeviceCount)) * 8);
- }
- }
- }
- uint32_t packetSize_vkEnumeratePhysicalDevices = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkEnumeratePhysicalDevices = OP_vkEnumeratePhysicalDevices;
- stream->write(&opcode_vkEnumeratePhysicalDevices, sizeof(uint32_t));
- stream->write(&packetSize_vkEnumeratePhysicalDevices, sizeof(uint32_t));
- uint64_t cgen_var_13;
- stream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_13, 1);
- stream->write((uint64_t*)&cgen_var_13, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_14 = (uint64_t)(uintptr_t)pPhysicalDeviceCount;
- stream->putBe64(cgen_var_14);
- if (pPhysicalDeviceCount)
- {
- stream->write((uint32_t*)pPhysicalDeviceCount, sizeof(uint32_t));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- // WARNING PTR CHECK
- uint64_t cgen_var_15 = (uint64_t)(uintptr_t)pPhysicalDevices;
- stream->putBe64(cgen_var_15);
- if (pPhysicalDevices)
- {
- if ((*(pPhysicalDeviceCount)))
- {
- uint64_t* cgen_var_16;
- stream->alloc((void**)&cgen_var_16, (*(pPhysicalDeviceCount)) * 8);
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(pPhysicalDevices, cgen_var_16, (*(pPhysicalDeviceCount)));
- stream->write((uint64_t*)cgen_var_16, (*(pPhysicalDeviceCount)) * 8);
- }
- }
- stream->setHandleMapping(resources->unwrapMapping());
- // WARNING PTR CHECK
- uint32_t* check_pPhysicalDeviceCount;
- check_pPhysicalDeviceCount = (uint32_t*)(uintptr_t)stream->getBe64();
- if (pPhysicalDeviceCount)
- {
- if (!(check_pPhysicalDeviceCount))
- {
- fprintf(stderr, "fatal: pPhysicalDeviceCount inconsistent between guest and host\n");
- }
- stream->read((uint32_t*)pPhysicalDeviceCount, sizeof(uint32_t));
- }
- stream->setHandleMapping(resources->createMapping());
- // WARNING PTR CHECK
- VkPhysicalDevice* check_pPhysicalDevices;
- check_pPhysicalDevices = (VkPhysicalDevice*)(uintptr_t)stream->getBe64();
- if (pPhysicalDevices)
- {
- if (!(check_pPhysicalDevices))
- {
- fprintf(stderr, "fatal: pPhysicalDevices inconsistent between guest and host\n");
- }
- if ((*(pPhysicalDeviceCount)))
- {
- uint64_t* cgen_var_19;
- stream->alloc((void**)&cgen_var_19, (*(pPhysicalDeviceCount)) * 8);
- stream->read((uint64_t*)cgen_var_19, (*(pPhysicalDeviceCount)) * 8);
- stream->handleMapping()->mapHandles_u64_VkPhysicalDevice(cgen_var_19, (VkPhysicalDevice*)pPhysicalDevices, (*(pPhysicalDeviceCount)));
- }
- }
- stream->unsetHandleMapping();
- VkResult vkEnumeratePhysicalDevices_VkResult_return = (VkResult)0;
- stream->read(&vkEnumeratePhysicalDevices_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkEnumeratePhysicalDevices");;
- return vkEnumeratePhysicalDevices_VkResult_return;
-}
-
-void VkEncoder::vkGetPhysicalDeviceFeatures(
- VkPhysicalDevice physicalDevice,
- VkPhysicalDeviceFeatures* pFeatures)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceFeatures");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- local_physicalDevice = physicalDevice;
- countingStream->rewind();
- {
- uint64_t cgen_var_20;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_20, 1);
- countingStream->write((uint64_t*)&cgen_var_20, 1 * 8);
- marshal_VkPhysicalDeviceFeatures(countingStream, (VkPhysicalDeviceFeatures*)(pFeatures));
- }
- uint32_t packetSize_vkGetPhysicalDeviceFeatures = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceFeatures = OP_vkGetPhysicalDeviceFeatures;
- stream->write(&opcode_vkGetPhysicalDeviceFeatures, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceFeatures, sizeof(uint32_t));
- uint64_t cgen_var_21;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_21, 1);
- stream->write((uint64_t*)&cgen_var_21, 1 * 8);
- marshal_VkPhysicalDeviceFeatures(stream, (VkPhysicalDeviceFeatures*)(pFeatures));
- unmarshal_VkPhysicalDeviceFeatures(stream, (VkPhysicalDeviceFeatures*)(pFeatures));
- if (pFeatures)
- {
- transform_fromhost_VkPhysicalDeviceFeatures(mImpl->resources(), (VkPhysicalDeviceFeatures*)(pFeatures));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceFeatures");;
-}
-
-void VkEncoder::vkGetPhysicalDeviceFormatProperties(
- VkPhysicalDevice physicalDevice,
- VkFormat format,
- VkFormatProperties* pFormatProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceFormatProperties");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- VkFormat local_format;
- local_physicalDevice = physicalDevice;
- local_format = format;
- countingStream->rewind();
- {
- uint64_t cgen_var_22;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_22, 1);
- countingStream->write((uint64_t*)&cgen_var_22, 1 * 8);
- countingStream->write((VkFormat*)&local_format, sizeof(VkFormat));
- marshal_VkFormatProperties(countingStream, (VkFormatProperties*)(pFormatProperties));
- }
- uint32_t packetSize_vkGetPhysicalDeviceFormatProperties = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceFormatProperties = OP_vkGetPhysicalDeviceFormatProperties;
- stream->write(&opcode_vkGetPhysicalDeviceFormatProperties, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceFormatProperties, sizeof(uint32_t));
- uint64_t cgen_var_23;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_23, 1);
- stream->write((uint64_t*)&cgen_var_23, 1 * 8);
- stream->write((VkFormat*)&local_format, sizeof(VkFormat));
- marshal_VkFormatProperties(stream, (VkFormatProperties*)(pFormatProperties));
- unmarshal_VkFormatProperties(stream, (VkFormatProperties*)(pFormatProperties));
- if (pFormatProperties)
- {
- transform_fromhost_VkFormatProperties(mImpl->resources(), (VkFormatProperties*)(pFormatProperties));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceFormatProperties");;
-}
-
-VkResult VkEncoder::vkGetPhysicalDeviceImageFormatProperties(
- VkPhysicalDevice physicalDevice,
- VkFormat format,
- VkImageType type,
- VkImageTiling tiling,
- VkImageUsageFlags usage,
- VkImageCreateFlags flags,
- VkImageFormatProperties* pImageFormatProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceImageFormatProperties");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- VkFormat local_format;
- VkImageType local_type;
- VkImageTiling local_tiling;
- VkImageUsageFlags local_usage;
- VkImageCreateFlags local_flags;
- local_physicalDevice = physicalDevice;
- local_format = format;
- local_type = type;
- local_tiling = tiling;
- local_usage = usage;
- local_flags = flags;
- countingStream->rewind();
- {
- uint64_t cgen_var_24;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_24, 1);
- countingStream->write((uint64_t*)&cgen_var_24, 1 * 8);
- countingStream->write((VkFormat*)&local_format, sizeof(VkFormat));
- countingStream->write((VkImageType*)&local_type, sizeof(VkImageType));
- countingStream->write((VkImageTiling*)&local_tiling, sizeof(VkImageTiling));
- countingStream->write((VkImageUsageFlags*)&local_usage, sizeof(VkImageUsageFlags));
- countingStream->write((VkImageCreateFlags*)&local_flags, sizeof(VkImageCreateFlags));
- marshal_VkImageFormatProperties(countingStream, (VkImageFormatProperties*)(pImageFormatProperties));
- }
- uint32_t packetSize_vkGetPhysicalDeviceImageFormatProperties = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceImageFormatProperties = OP_vkGetPhysicalDeviceImageFormatProperties;
- stream->write(&opcode_vkGetPhysicalDeviceImageFormatProperties, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceImageFormatProperties, sizeof(uint32_t));
- uint64_t cgen_var_25;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_25, 1);
- stream->write((uint64_t*)&cgen_var_25, 1 * 8);
- stream->write((VkFormat*)&local_format, sizeof(VkFormat));
- stream->write((VkImageType*)&local_type, sizeof(VkImageType));
- stream->write((VkImageTiling*)&local_tiling, sizeof(VkImageTiling));
- stream->write((VkImageUsageFlags*)&local_usage, sizeof(VkImageUsageFlags));
- stream->write((VkImageCreateFlags*)&local_flags, sizeof(VkImageCreateFlags));
- marshal_VkImageFormatProperties(stream, (VkImageFormatProperties*)(pImageFormatProperties));
- unmarshal_VkImageFormatProperties(stream, (VkImageFormatProperties*)(pImageFormatProperties));
- if (pImageFormatProperties)
- {
- transform_fromhost_VkImageFormatProperties(mImpl->resources(), (VkImageFormatProperties*)(pImageFormatProperties));
- }
- VkResult vkGetPhysicalDeviceImageFormatProperties_VkResult_return = (VkResult)0;
- stream->read(&vkGetPhysicalDeviceImageFormatProperties_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceImageFormatProperties");;
- return vkGetPhysicalDeviceImageFormatProperties_VkResult_return;
-}
-
-void VkEncoder::vkGetPhysicalDeviceProperties(
- VkPhysicalDevice physicalDevice,
- VkPhysicalDeviceProperties* pProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceProperties");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- local_physicalDevice = physicalDevice;
- countingStream->rewind();
- {
- uint64_t cgen_var_26;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_26, 1);
- countingStream->write((uint64_t*)&cgen_var_26, 1 * 8);
- marshal_VkPhysicalDeviceProperties(countingStream, (VkPhysicalDeviceProperties*)(pProperties));
- }
- uint32_t packetSize_vkGetPhysicalDeviceProperties = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceProperties = OP_vkGetPhysicalDeviceProperties;
- stream->write(&opcode_vkGetPhysicalDeviceProperties, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceProperties, sizeof(uint32_t));
- uint64_t cgen_var_27;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_27, 1);
- stream->write((uint64_t*)&cgen_var_27, 1 * 8);
- marshal_VkPhysicalDeviceProperties(stream, (VkPhysicalDeviceProperties*)(pProperties));
- unmarshal_VkPhysicalDeviceProperties(stream, (VkPhysicalDeviceProperties*)(pProperties));
- if (pProperties)
- {
- transform_fromhost_VkPhysicalDeviceProperties(mImpl->resources(), (VkPhysicalDeviceProperties*)(pProperties));
- }
- mImpl->resources()->on_vkGetPhysicalDeviceProperties(this, physicalDevice, pProperties);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceProperties");;
-}
-
-void VkEncoder::vkGetPhysicalDeviceQueueFamilyProperties(
- VkPhysicalDevice physicalDevice,
- uint32_t* pQueueFamilyPropertyCount,
- VkQueueFamilyProperties* pQueueFamilyProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceQueueFamilyProperties");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- local_physicalDevice = physicalDevice;
- countingStream->rewind();
- {
- uint64_t cgen_var_28;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_28, 1);
- countingStream->write((uint64_t*)&cgen_var_28, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_29 = (uint64_t)(uintptr_t)pQueueFamilyPropertyCount;
- countingStream->putBe64(cgen_var_29);
- if (pQueueFamilyPropertyCount)
- {
- countingStream->write((uint32_t*)pQueueFamilyPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_30 = (uint64_t)(uintptr_t)pQueueFamilyProperties;
- countingStream->putBe64(cgen_var_30);
- if (pQueueFamilyProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pQueueFamilyPropertyCount)); ++i)
- {
- marshal_VkQueueFamilyProperties(countingStream, (VkQueueFamilyProperties*)(pQueueFamilyProperties + i));
- }
- }
- }
- uint32_t packetSize_vkGetPhysicalDeviceQueueFamilyProperties = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceQueueFamilyProperties = OP_vkGetPhysicalDeviceQueueFamilyProperties;
- stream->write(&opcode_vkGetPhysicalDeviceQueueFamilyProperties, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceQueueFamilyProperties, sizeof(uint32_t));
- uint64_t cgen_var_31;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_31, 1);
- stream->write((uint64_t*)&cgen_var_31, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_32 = (uint64_t)(uintptr_t)pQueueFamilyPropertyCount;
- stream->putBe64(cgen_var_32);
- if (pQueueFamilyPropertyCount)
- {
- stream->write((uint32_t*)pQueueFamilyPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_33 = (uint64_t)(uintptr_t)pQueueFamilyProperties;
- stream->putBe64(cgen_var_33);
- if (pQueueFamilyProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pQueueFamilyPropertyCount)); ++i)
- {
- marshal_VkQueueFamilyProperties(stream, (VkQueueFamilyProperties*)(pQueueFamilyProperties + i));
- }
- }
- // WARNING PTR CHECK
- uint32_t* check_pQueueFamilyPropertyCount;
- check_pQueueFamilyPropertyCount = (uint32_t*)(uintptr_t)stream->getBe64();
- if (pQueueFamilyPropertyCount)
- {
- if (!(check_pQueueFamilyPropertyCount))
- {
- fprintf(stderr, "fatal: pQueueFamilyPropertyCount inconsistent between guest and host\n");
- }
- stream->read((uint32_t*)pQueueFamilyPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- VkQueueFamilyProperties* check_pQueueFamilyProperties;
- check_pQueueFamilyProperties = (VkQueueFamilyProperties*)(uintptr_t)stream->getBe64();
- if (pQueueFamilyProperties)
- {
- if (!(check_pQueueFamilyProperties))
- {
- fprintf(stderr, "fatal: pQueueFamilyProperties inconsistent between guest and host\n");
- }
- for (uint32_t i = 0; i < (uint32_t)(*(pQueueFamilyPropertyCount)); ++i)
- {
- unmarshal_VkQueueFamilyProperties(stream, (VkQueueFamilyProperties*)(pQueueFamilyProperties + i));
- }
- }
- if (pQueueFamilyProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pQueueFamilyPropertyCount)); ++i)
- {
- transform_fromhost_VkQueueFamilyProperties(mImpl->resources(), (VkQueueFamilyProperties*)(pQueueFamilyProperties + i));
- }
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceQueueFamilyProperties");;
-}
-
-void VkEncoder::vkGetPhysicalDeviceMemoryProperties(
- VkPhysicalDevice physicalDevice,
- VkPhysicalDeviceMemoryProperties* pMemoryProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceMemoryProperties");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- local_physicalDevice = physicalDevice;
- countingStream->rewind();
- {
- uint64_t cgen_var_36;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_36, 1);
- countingStream->write((uint64_t*)&cgen_var_36, 1 * 8);
- marshal_VkPhysicalDeviceMemoryProperties(countingStream, (VkPhysicalDeviceMemoryProperties*)(pMemoryProperties));
- }
- uint32_t packetSize_vkGetPhysicalDeviceMemoryProperties = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceMemoryProperties = OP_vkGetPhysicalDeviceMemoryProperties;
- stream->write(&opcode_vkGetPhysicalDeviceMemoryProperties, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceMemoryProperties, sizeof(uint32_t));
- uint64_t cgen_var_37;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_37, 1);
- stream->write((uint64_t*)&cgen_var_37, 1 * 8);
- marshal_VkPhysicalDeviceMemoryProperties(stream, (VkPhysicalDeviceMemoryProperties*)(pMemoryProperties));
- unmarshal_VkPhysicalDeviceMemoryProperties(stream, (VkPhysicalDeviceMemoryProperties*)(pMemoryProperties));
- if (pMemoryProperties)
- {
- transform_fromhost_VkPhysicalDeviceMemoryProperties(mImpl->resources(), (VkPhysicalDeviceMemoryProperties*)(pMemoryProperties));
- }
- mImpl->resources()->on_vkGetPhysicalDeviceMemoryProperties(this, physicalDevice, pMemoryProperties);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceMemoryProperties");;
-}
-
-PFN_vkVoidFunction VkEncoder::vkGetInstanceProcAddr(
- VkInstance instance,
- const char* pName)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetInstanceProcAddr");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkInstance local_instance;
- char* local_pName;
- local_instance = instance;
- local_pName = nullptr;
- if (pName)
- {
- local_pName = pool->strDup(pName);
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_38;
- countingStream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_38, 1);
- countingStream->write((uint64_t*)&cgen_var_38, 1 * 8);
- countingStream->putString(local_pName);
- }
- uint32_t packetSize_vkGetInstanceProcAddr = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetInstanceProcAddr = OP_vkGetInstanceProcAddr;
- stream->write(&opcode_vkGetInstanceProcAddr, sizeof(uint32_t));
- stream->write(&packetSize_vkGetInstanceProcAddr, sizeof(uint32_t));
- uint64_t cgen_var_39;
- stream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_39, 1);
- stream->write((uint64_t*)&cgen_var_39, 1 * 8);
- stream->putString(local_pName);
- PFN_vkVoidFunction vkGetInstanceProcAddr_PFN_vkVoidFunction_return = (PFN_vkVoidFunction)0;
- stream->read(&vkGetInstanceProcAddr_PFN_vkVoidFunction_return, sizeof(PFN_vkVoidFunction));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetInstanceProcAddr");;
- return vkGetInstanceProcAddr_PFN_vkVoidFunction_return;
-}
-
-PFN_vkVoidFunction VkEncoder::vkGetDeviceProcAddr(
- VkDevice device,
- const char* pName)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetDeviceProcAddr");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- char* local_pName;
- local_device = device;
- local_pName = nullptr;
- if (pName)
- {
- local_pName = pool->strDup(pName);
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_40;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_40, 1);
- countingStream->write((uint64_t*)&cgen_var_40, 1 * 8);
- countingStream->putString(local_pName);
- }
- uint32_t packetSize_vkGetDeviceProcAddr = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetDeviceProcAddr = OP_vkGetDeviceProcAddr;
- stream->write(&opcode_vkGetDeviceProcAddr, sizeof(uint32_t));
- stream->write(&packetSize_vkGetDeviceProcAddr, sizeof(uint32_t));
- uint64_t cgen_var_41;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_41, 1);
- stream->write((uint64_t*)&cgen_var_41, 1 * 8);
- stream->putString(local_pName);
- PFN_vkVoidFunction vkGetDeviceProcAddr_PFN_vkVoidFunction_return = (PFN_vkVoidFunction)0;
- stream->read(&vkGetDeviceProcAddr_PFN_vkVoidFunction_return, sizeof(PFN_vkVoidFunction));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetDeviceProcAddr");;
- return vkGetDeviceProcAddr_PFN_vkVoidFunction_return;
-}
-
-VkResult VkEncoder::vkCreateDevice(
- VkPhysicalDevice physicalDevice,
- const VkDeviceCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkDevice* pDevice)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateDevice");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- VkDeviceCreateInfo* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_physicalDevice = physicalDevice;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkDeviceCreateInfo*)pool->alloc(sizeof(const VkDeviceCreateInfo));
- deepcopy_VkDeviceCreateInfo(pool, pCreateInfo, (VkDeviceCreateInfo*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkDeviceCreateInfo(mImpl->resources(), (VkDeviceCreateInfo*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_42;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_42, 1);
- countingStream->write((uint64_t*)&cgen_var_42, 1 * 8);
- marshal_VkDeviceCreateInfo(countingStream, (VkDeviceCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_43 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_43);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_44;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(pDevice, &cgen_var_44, 1);
- countingStream->write((uint64_t*)&cgen_var_44, 8);
- }
- uint32_t packetSize_vkCreateDevice = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateDevice = OP_vkCreateDevice;
- stream->write(&opcode_vkCreateDevice, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateDevice, sizeof(uint32_t));
- uint64_t cgen_var_45;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_45, 1);
- stream->write((uint64_t*)&cgen_var_45, 1 * 8);
- marshal_VkDeviceCreateInfo(stream, (VkDeviceCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_46 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_46);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_47;
- stream->handleMapping()->mapHandles_VkDevice_u64(pDevice, &cgen_var_47, 1);
- stream->write((uint64_t*)&cgen_var_47, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- stream->setHandleMapping(resources->createMapping());
- uint64_t cgen_var_48;
- stream->read((uint64_t*)&cgen_var_48, 8);
- stream->handleMapping()->mapHandles_u64_VkDevice(&cgen_var_48, (VkDevice*)pDevice, 1);
- stream->unsetHandleMapping();
- VkResult vkCreateDevice_VkResult_return = (VkResult)0;
- stream->read(&vkCreateDevice_VkResult_return, sizeof(VkResult));
- mImpl->resources()->on_vkCreateDevice(this, vkCreateDevice_VkResult_return, physicalDevice, pCreateInfo, pAllocator, pDevice);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateDevice");;
- return vkCreateDevice_VkResult_return;
-}
-
-void VkEncoder::vkDestroyDevice(
- VkDevice device,
- const VkAllocationCallbacks* pAllocator)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkDestroyDevice");
- mImpl->resources()->on_vkDestroyDevice_pre(this, device, pAllocator);
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_49;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_49, 1);
- countingStream->write((uint64_t*)&cgen_var_49, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_50 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_50);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- }
- uint32_t packetSize_vkDestroyDevice = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkDestroyDevice = OP_vkDestroyDevice;
- stream->write(&opcode_vkDestroyDevice, sizeof(uint32_t));
- stream->write(&packetSize_vkDestroyDevice, sizeof(uint32_t));
- uint64_t cgen_var_51;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_51, 1);
- stream->write((uint64_t*)&cgen_var_51, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_52 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_52);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- resources->destroyMapping()->mapHandles_VkDevice((VkDevice*)&device);
- stream->flush();
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkDestroyDevice");;
-}
-
-VkResult VkEncoder::vkEnumerateInstanceExtensionProperties(
- const char* pLayerName,
- uint32_t* pPropertyCount,
- VkExtensionProperties* pProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkEnumerateInstanceExtensionProperties");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- char* local_pLayerName;
- local_pLayerName = nullptr;
- if (pLayerName)
- {
- local_pLayerName = pool->strDup(pLayerName);
- }
- countingStream->rewind();
- {
- if (countingStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT)
- {
- // WARNING PTR CHECK
- uint64_t cgen_var_53 = (uint64_t)(uintptr_t)local_pLayerName;
- countingStream->putBe64(cgen_var_53);
- if (local_pLayerName)
- {
- countingStream->putString(local_pLayerName);
- }
- }
- else
- {
- countingStream->putString(local_pLayerName);
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_54 = (uint64_t)(uintptr_t)pPropertyCount;
- countingStream->putBe64(cgen_var_54);
- if (pPropertyCount)
- {
- countingStream->write((uint32_t*)pPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_55 = (uint64_t)(uintptr_t)pProperties;
- countingStream->putBe64(cgen_var_55);
- if (pProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- marshal_VkExtensionProperties(countingStream, (VkExtensionProperties*)(pProperties + i));
- }
- }
- }
- uint32_t packetSize_vkEnumerateInstanceExtensionProperties = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkEnumerateInstanceExtensionProperties = OP_vkEnumerateInstanceExtensionProperties;
- stream->write(&opcode_vkEnumerateInstanceExtensionProperties, sizeof(uint32_t));
- stream->write(&packetSize_vkEnumerateInstanceExtensionProperties, sizeof(uint32_t));
- if (stream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT)
- {
- // WARNING PTR CHECK
- uint64_t cgen_var_56 = (uint64_t)(uintptr_t)local_pLayerName;
- stream->putBe64(cgen_var_56);
- if (local_pLayerName)
- {
- stream->putString(local_pLayerName);
- }
- }
- else
- {
- stream->putString(local_pLayerName);
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_57 = (uint64_t)(uintptr_t)pPropertyCount;
- stream->putBe64(cgen_var_57);
- if (pPropertyCount)
- {
- stream->write((uint32_t*)pPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_58 = (uint64_t)(uintptr_t)pProperties;
- stream->putBe64(cgen_var_58);
- if (pProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- marshal_VkExtensionProperties(stream, (VkExtensionProperties*)(pProperties + i));
- }
- }
- // WARNING PTR CHECK
- uint32_t* check_pPropertyCount;
- check_pPropertyCount = (uint32_t*)(uintptr_t)stream->getBe64();
- if (pPropertyCount)
- {
- if (!(check_pPropertyCount))
- {
- fprintf(stderr, "fatal: pPropertyCount inconsistent between guest and host\n");
- }
- stream->read((uint32_t*)pPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- VkExtensionProperties* check_pProperties;
- check_pProperties = (VkExtensionProperties*)(uintptr_t)stream->getBe64();
- if (pProperties)
- {
- if (!(check_pProperties))
- {
- fprintf(stderr, "fatal: pProperties inconsistent between guest and host\n");
- }
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- unmarshal_VkExtensionProperties(stream, (VkExtensionProperties*)(pProperties + i));
- }
- }
- if (pProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- transform_fromhost_VkExtensionProperties(mImpl->resources(), (VkExtensionProperties*)(pProperties + i));
- }
- }
- VkResult vkEnumerateInstanceExtensionProperties_VkResult_return = (VkResult)0;
- stream->read(&vkEnumerateInstanceExtensionProperties_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkEnumerateInstanceExtensionProperties");;
- return vkEnumerateInstanceExtensionProperties_VkResult_return;
-}
-
-VkResult VkEncoder::vkEnumerateDeviceExtensionProperties(
- VkPhysicalDevice physicalDevice,
- const char* pLayerName,
- uint32_t* pPropertyCount,
- VkExtensionProperties* pProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkEnumerateDeviceExtensionProperties");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- char* local_pLayerName;
- local_physicalDevice = physicalDevice;
- local_pLayerName = nullptr;
- if (pLayerName)
- {
- local_pLayerName = pool->strDup(pLayerName);
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_61;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_61, 1);
- countingStream->write((uint64_t*)&cgen_var_61, 1 * 8);
- if (countingStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT)
- {
- // WARNING PTR CHECK
- uint64_t cgen_var_62 = (uint64_t)(uintptr_t)local_pLayerName;
- countingStream->putBe64(cgen_var_62);
- if (local_pLayerName)
- {
- countingStream->putString(local_pLayerName);
- }
- }
- else
- {
- countingStream->putString(local_pLayerName);
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_63 = (uint64_t)(uintptr_t)pPropertyCount;
- countingStream->putBe64(cgen_var_63);
- if (pPropertyCount)
- {
- countingStream->write((uint32_t*)pPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_64 = (uint64_t)(uintptr_t)pProperties;
- countingStream->putBe64(cgen_var_64);
- if (pProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- marshal_VkExtensionProperties(countingStream, (VkExtensionProperties*)(pProperties + i));
- }
- }
- }
- uint32_t packetSize_vkEnumerateDeviceExtensionProperties = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkEnumerateDeviceExtensionProperties = OP_vkEnumerateDeviceExtensionProperties;
- stream->write(&opcode_vkEnumerateDeviceExtensionProperties, sizeof(uint32_t));
- stream->write(&packetSize_vkEnumerateDeviceExtensionProperties, sizeof(uint32_t));
- uint64_t cgen_var_65;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_65, 1);
- stream->write((uint64_t*)&cgen_var_65, 1 * 8);
- if (stream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT)
- {
- // WARNING PTR CHECK
- uint64_t cgen_var_66 = (uint64_t)(uintptr_t)local_pLayerName;
- stream->putBe64(cgen_var_66);
- if (local_pLayerName)
- {
- stream->putString(local_pLayerName);
- }
- }
- else
- {
- stream->putString(local_pLayerName);
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_67 = (uint64_t)(uintptr_t)pPropertyCount;
- stream->putBe64(cgen_var_67);
- if (pPropertyCount)
- {
- stream->write((uint32_t*)pPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_68 = (uint64_t)(uintptr_t)pProperties;
- stream->putBe64(cgen_var_68);
- if (pProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- marshal_VkExtensionProperties(stream, (VkExtensionProperties*)(pProperties + i));
- }
- }
- // WARNING PTR CHECK
- uint32_t* check_pPropertyCount;
- check_pPropertyCount = (uint32_t*)(uintptr_t)stream->getBe64();
- if (pPropertyCount)
- {
- if (!(check_pPropertyCount))
- {
- fprintf(stderr, "fatal: pPropertyCount inconsistent between guest and host\n");
- }
- stream->read((uint32_t*)pPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- VkExtensionProperties* check_pProperties;
- check_pProperties = (VkExtensionProperties*)(uintptr_t)stream->getBe64();
- if (pProperties)
- {
- if (!(check_pProperties))
- {
- fprintf(stderr, "fatal: pProperties inconsistent between guest and host\n");
- }
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- unmarshal_VkExtensionProperties(stream, (VkExtensionProperties*)(pProperties + i));
- }
- }
- if (pProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- transform_fromhost_VkExtensionProperties(mImpl->resources(), (VkExtensionProperties*)(pProperties + i));
- }
- }
- VkResult vkEnumerateDeviceExtensionProperties_VkResult_return = (VkResult)0;
- stream->read(&vkEnumerateDeviceExtensionProperties_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkEnumerateDeviceExtensionProperties");;
- return vkEnumerateDeviceExtensionProperties_VkResult_return;
-}
-
-VkResult VkEncoder::vkEnumerateInstanceLayerProperties(
- uint32_t* pPropertyCount,
- VkLayerProperties* pProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkEnumerateInstanceLayerProperties");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- countingStream->rewind();
- {
- // WARNING PTR CHECK
- uint64_t cgen_var_71 = (uint64_t)(uintptr_t)pPropertyCount;
- countingStream->putBe64(cgen_var_71);
- if (pPropertyCount)
- {
- countingStream->write((uint32_t*)pPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_72 = (uint64_t)(uintptr_t)pProperties;
- countingStream->putBe64(cgen_var_72);
- if (pProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- marshal_VkLayerProperties(countingStream, (VkLayerProperties*)(pProperties + i));
- }
- }
- }
- uint32_t packetSize_vkEnumerateInstanceLayerProperties = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkEnumerateInstanceLayerProperties = OP_vkEnumerateInstanceLayerProperties;
- stream->write(&opcode_vkEnumerateInstanceLayerProperties, sizeof(uint32_t));
- stream->write(&packetSize_vkEnumerateInstanceLayerProperties, sizeof(uint32_t));
- // WARNING PTR CHECK
- uint64_t cgen_var_73 = (uint64_t)(uintptr_t)pPropertyCount;
- stream->putBe64(cgen_var_73);
- if (pPropertyCount)
- {
- stream->write((uint32_t*)pPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_74 = (uint64_t)(uintptr_t)pProperties;
- stream->putBe64(cgen_var_74);
- if (pProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- marshal_VkLayerProperties(stream, (VkLayerProperties*)(pProperties + i));
- }
- }
- // WARNING PTR CHECK
- uint32_t* check_pPropertyCount;
- check_pPropertyCount = (uint32_t*)(uintptr_t)stream->getBe64();
- if (pPropertyCount)
- {
- if (!(check_pPropertyCount))
- {
- fprintf(stderr, "fatal: pPropertyCount inconsistent between guest and host\n");
- }
- stream->read((uint32_t*)pPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- VkLayerProperties* check_pProperties;
- check_pProperties = (VkLayerProperties*)(uintptr_t)stream->getBe64();
- if (pProperties)
- {
- if (!(check_pProperties))
- {
- fprintf(stderr, "fatal: pProperties inconsistent between guest and host\n");
- }
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- unmarshal_VkLayerProperties(stream, (VkLayerProperties*)(pProperties + i));
- }
- }
- if (pProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- transform_fromhost_VkLayerProperties(mImpl->resources(), (VkLayerProperties*)(pProperties + i));
- }
- }
- VkResult vkEnumerateInstanceLayerProperties_VkResult_return = (VkResult)0;
- stream->read(&vkEnumerateInstanceLayerProperties_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkEnumerateInstanceLayerProperties");;
- return vkEnumerateInstanceLayerProperties_VkResult_return;
-}
-
-VkResult VkEncoder::vkEnumerateDeviceLayerProperties(
- VkPhysicalDevice physicalDevice,
- uint32_t* pPropertyCount,
- VkLayerProperties* pProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkEnumerateDeviceLayerProperties");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- local_physicalDevice = physicalDevice;
- countingStream->rewind();
- {
- uint64_t cgen_var_77;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_77, 1);
- countingStream->write((uint64_t*)&cgen_var_77, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_78 = (uint64_t)(uintptr_t)pPropertyCount;
- countingStream->putBe64(cgen_var_78);
- if (pPropertyCount)
- {
- countingStream->write((uint32_t*)pPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_79 = (uint64_t)(uintptr_t)pProperties;
- countingStream->putBe64(cgen_var_79);
- if (pProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- marshal_VkLayerProperties(countingStream, (VkLayerProperties*)(pProperties + i));
- }
- }
- }
- uint32_t packetSize_vkEnumerateDeviceLayerProperties = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkEnumerateDeviceLayerProperties = OP_vkEnumerateDeviceLayerProperties;
- stream->write(&opcode_vkEnumerateDeviceLayerProperties, sizeof(uint32_t));
- stream->write(&packetSize_vkEnumerateDeviceLayerProperties, sizeof(uint32_t));
- uint64_t cgen_var_80;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_80, 1);
- stream->write((uint64_t*)&cgen_var_80, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_81 = (uint64_t)(uintptr_t)pPropertyCount;
- stream->putBe64(cgen_var_81);
- if (pPropertyCount)
- {
- stream->write((uint32_t*)pPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_82 = (uint64_t)(uintptr_t)pProperties;
- stream->putBe64(cgen_var_82);
- if (pProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- marshal_VkLayerProperties(stream, (VkLayerProperties*)(pProperties + i));
- }
- }
- // WARNING PTR CHECK
- uint32_t* check_pPropertyCount;
- check_pPropertyCount = (uint32_t*)(uintptr_t)stream->getBe64();
- if (pPropertyCount)
- {
- if (!(check_pPropertyCount))
- {
- fprintf(stderr, "fatal: pPropertyCount inconsistent between guest and host\n");
- }
- stream->read((uint32_t*)pPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- VkLayerProperties* check_pProperties;
- check_pProperties = (VkLayerProperties*)(uintptr_t)stream->getBe64();
- if (pProperties)
- {
- if (!(check_pProperties))
- {
- fprintf(stderr, "fatal: pProperties inconsistent between guest and host\n");
- }
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- unmarshal_VkLayerProperties(stream, (VkLayerProperties*)(pProperties + i));
- }
- }
- if (pProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- transform_fromhost_VkLayerProperties(mImpl->resources(), (VkLayerProperties*)(pProperties + i));
- }
- }
- VkResult vkEnumerateDeviceLayerProperties_VkResult_return = (VkResult)0;
- stream->read(&vkEnumerateDeviceLayerProperties_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkEnumerateDeviceLayerProperties");;
- return vkEnumerateDeviceLayerProperties_VkResult_return;
-}
-
-void VkEncoder::vkGetDeviceQueue(
- VkDevice device,
- uint32_t queueFamilyIndex,
- uint32_t queueIndex,
- VkQueue* pQueue)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetDeviceQueue");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- uint32_t local_queueFamilyIndex;
- uint32_t local_queueIndex;
- local_device = device;
- local_queueFamilyIndex = queueFamilyIndex;
- local_queueIndex = queueIndex;
- countingStream->rewind();
- {
- uint64_t cgen_var_85;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_85, 1);
- countingStream->write((uint64_t*)&cgen_var_85, 1 * 8);
- countingStream->write((uint32_t*)&local_queueFamilyIndex, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_queueIndex, sizeof(uint32_t));
- uint64_t cgen_var_86;
- countingStream->handleMapping()->mapHandles_VkQueue_u64(pQueue, &cgen_var_86, 1);
- countingStream->write((uint64_t*)&cgen_var_86, 8);
- }
- uint32_t packetSize_vkGetDeviceQueue = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetDeviceQueue = OP_vkGetDeviceQueue;
- stream->write(&opcode_vkGetDeviceQueue, sizeof(uint32_t));
- stream->write(&packetSize_vkGetDeviceQueue, sizeof(uint32_t));
- uint64_t cgen_var_87;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_87, 1);
- stream->write((uint64_t*)&cgen_var_87, 1 * 8);
- stream->write((uint32_t*)&local_queueFamilyIndex, sizeof(uint32_t));
- stream->write((uint32_t*)&local_queueIndex, sizeof(uint32_t));
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_88;
- stream->handleMapping()->mapHandles_VkQueue_u64(pQueue, &cgen_var_88, 1);
- stream->write((uint64_t*)&cgen_var_88, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- stream->setHandleMapping(resources->createMapping());
- uint64_t cgen_var_89;
- stream->read((uint64_t*)&cgen_var_89, 8);
- stream->handleMapping()->mapHandles_u64_VkQueue(&cgen_var_89, (VkQueue*)pQueue, 1);
- stream->unsetHandleMapping();
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetDeviceQueue");;
-}
-
-VkResult VkEncoder::vkQueueSubmit(
- VkQueue queue,
- uint32_t submitCount,
- const VkSubmitInfo* pSubmits,
- VkFence fence)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkQueueSubmit");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkQueue local_queue;
- uint32_t local_submitCount;
- VkSubmitInfo* local_pSubmits;
- VkFence local_fence;
- local_queue = queue;
- local_submitCount = submitCount;
- local_pSubmits = nullptr;
- if (pSubmits)
- {
- local_pSubmits = (VkSubmitInfo*)pool->alloc(((submitCount)) * sizeof(const VkSubmitInfo));
- for (uint32_t i = 0; i < (uint32_t)((submitCount)); ++i)
- {
- deepcopy_VkSubmitInfo(pool, pSubmits + i, (VkSubmitInfo*)(local_pSubmits + i));
- }
- }
- local_fence = fence;
- if (local_pSubmits)
- {
- for (uint32_t i = 0; i < (uint32_t)((submitCount)); ++i)
- {
- transform_tohost_VkSubmitInfo(mImpl->resources(), (VkSubmitInfo*)(local_pSubmits + i));
- }
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_90;
- countingStream->handleMapping()->mapHandles_VkQueue_u64(&local_queue, &cgen_var_90, 1);
- countingStream->write((uint64_t*)&cgen_var_90, 1 * 8);
- countingStream->write((uint32_t*)&local_submitCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((submitCount)); ++i)
- {
- marshal_VkSubmitInfo(countingStream, (VkSubmitInfo*)(local_pSubmits + i));
- }
- uint64_t cgen_var_91;
- countingStream->handleMapping()->mapHandles_VkFence_u64(&local_fence, &cgen_var_91, 1);
- countingStream->write((uint64_t*)&cgen_var_91, 1 * 8);
- }
- uint32_t packetSize_vkQueueSubmit = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkQueueSubmit = OP_vkQueueSubmit;
- stream->write(&opcode_vkQueueSubmit, sizeof(uint32_t));
- stream->write(&packetSize_vkQueueSubmit, sizeof(uint32_t));
- uint64_t cgen_var_92;
- stream->handleMapping()->mapHandles_VkQueue_u64(&local_queue, &cgen_var_92, 1);
- stream->write((uint64_t*)&cgen_var_92, 1 * 8);
- stream->write((uint32_t*)&local_submitCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((submitCount)); ++i)
- {
- marshal_VkSubmitInfo(stream, (VkSubmitInfo*)(local_pSubmits + i));
- }
- uint64_t cgen_var_93;
- stream->handleMapping()->mapHandles_VkFence_u64(&local_fence, &cgen_var_93, 1);
- stream->write((uint64_t*)&cgen_var_93, 1 * 8);
- VkResult vkQueueSubmit_VkResult_return = (VkResult)0;
- stream->read(&vkQueueSubmit_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkQueueSubmit");;
- return vkQueueSubmit_VkResult_return;
-}
-
-VkResult VkEncoder::vkQueueWaitIdle(
- VkQueue queue)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkQueueWaitIdle");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkQueue local_queue;
- local_queue = queue;
- countingStream->rewind();
- {
- uint64_t cgen_var_94;
- countingStream->handleMapping()->mapHandles_VkQueue_u64(&local_queue, &cgen_var_94, 1);
- countingStream->write((uint64_t*)&cgen_var_94, 1 * 8);
- }
- uint32_t packetSize_vkQueueWaitIdle = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkQueueWaitIdle = OP_vkQueueWaitIdle;
- stream->write(&opcode_vkQueueWaitIdle, sizeof(uint32_t));
- stream->write(&packetSize_vkQueueWaitIdle, sizeof(uint32_t));
- uint64_t cgen_var_95;
- stream->handleMapping()->mapHandles_VkQueue_u64(&local_queue, &cgen_var_95, 1);
- stream->write((uint64_t*)&cgen_var_95, 1 * 8);
- VkResult vkQueueWaitIdle_VkResult_return = (VkResult)0;
- stream->read(&vkQueueWaitIdle_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkQueueWaitIdle");;
- return vkQueueWaitIdle_VkResult_return;
-}
-
-VkResult VkEncoder::vkDeviceWaitIdle(
- VkDevice device)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkDeviceWaitIdle");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- local_device = device;
- countingStream->rewind();
- {
- uint64_t cgen_var_96;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_96, 1);
- countingStream->write((uint64_t*)&cgen_var_96, 1 * 8);
- }
- uint32_t packetSize_vkDeviceWaitIdle = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkDeviceWaitIdle = OP_vkDeviceWaitIdle;
- stream->write(&opcode_vkDeviceWaitIdle, sizeof(uint32_t));
- stream->write(&packetSize_vkDeviceWaitIdle, sizeof(uint32_t));
- uint64_t cgen_var_97;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_97, 1);
- stream->write((uint64_t*)&cgen_var_97, 1 * 8);
- VkResult vkDeviceWaitIdle_VkResult_return = (VkResult)0;
- stream->read(&vkDeviceWaitIdle_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkDeviceWaitIdle");;
- return vkDeviceWaitIdle_VkResult_return;
-}
-
-VkResult VkEncoder::vkAllocateMemory(
- VkDevice device,
- const VkMemoryAllocateInfo* pAllocateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkDeviceMemory* pMemory)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkAllocateMemory");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkMemoryAllocateInfo* local_pAllocateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_pAllocateInfo = nullptr;
- if (pAllocateInfo)
- {
- local_pAllocateInfo = (VkMemoryAllocateInfo*)pool->alloc(sizeof(const VkMemoryAllocateInfo));
- deepcopy_VkMemoryAllocateInfo(pool, pAllocateInfo, (VkMemoryAllocateInfo*)(local_pAllocateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pAllocateInfo)
- {
- transform_tohost_VkMemoryAllocateInfo(mImpl->resources(), (VkMemoryAllocateInfo*)(local_pAllocateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_98;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_98, 1);
- countingStream->write((uint64_t*)&cgen_var_98, 1 * 8);
- marshal_VkMemoryAllocateInfo(countingStream, (VkMemoryAllocateInfo*)(local_pAllocateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_99 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_99);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_100;
- countingStream->handleMapping()->mapHandles_VkDeviceMemory_u64(pMemory, &cgen_var_100, 1);
- countingStream->write((uint64_t*)&cgen_var_100, 8);
- }
- uint32_t packetSize_vkAllocateMemory = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkAllocateMemory = OP_vkAllocateMemory;
- stream->write(&opcode_vkAllocateMemory, sizeof(uint32_t));
- stream->write(&packetSize_vkAllocateMemory, sizeof(uint32_t));
- uint64_t cgen_var_101;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_101, 1);
- stream->write((uint64_t*)&cgen_var_101, 1 * 8);
- marshal_VkMemoryAllocateInfo(stream, (VkMemoryAllocateInfo*)(local_pAllocateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_102 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_102);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_103;
- stream->handleMapping()->mapHandles_VkDeviceMemory_u64(pMemory, &cgen_var_103, 1);
- stream->write((uint64_t*)&cgen_var_103, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- stream->setHandleMapping(resources->createMapping());
- uint64_t cgen_var_104;
- stream->read((uint64_t*)&cgen_var_104, 8);
- stream->handleMapping()->mapHandles_u64_VkDeviceMemory(&cgen_var_104, (VkDeviceMemory*)pMemory, 1);
- stream->unsetHandleMapping();
- VkResult vkAllocateMemory_VkResult_return = (VkResult)0;
- stream->read(&vkAllocateMemory_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkAllocateMemory");;
- return vkAllocateMemory_VkResult_return;
-}
-
-void VkEncoder::vkFreeMemory(
- VkDevice device,
- VkDeviceMemory memory,
- const VkAllocationCallbacks* pAllocator)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkFreeMemory");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkDeviceMemory local_memory;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_memory = memory;
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- mImpl->resources()->deviceMemoryTransform_tohost((VkDeviceMemory*)&local_memory, 1, (VkDeviceSize*)nullptr, 0, (VkDeviceSize*)nullptr, 0, (uint32_t*)nullptr, 0, (uint32_t*)nullptr, 0);
- countingStream->rewind();
- {
- uint64_t cgen_var_105;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_105, 1);
- countingStream->write((uint64_t*)&cgen_var_105, 1 * 8);
- uint64_t cgen_var_106;
- countingStream->handleMapping()->mapHandles_VkDeviceMemory_u64(&local_memory, &cgen_var_106, 1);
- countingStream->write((uint64_t*)&cgen_var_106, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_107 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_107);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- }
- uint32_t packetSize_vkFreeMemory = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkFreeMemory = OP_vkFreeMemory;
- stream->write(&opcode_vkFreeMemory, sizeof(uint32_t));
- stream->write(&packetSize_vkFreeMemory, sizeof(uint32_t));
- uint64_t cgen_var_108;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_108, 1);
- stream->write((uint64_t*)&cgen_var_108, 1 * 8);
- uint64_t cgen_var_109;
- stream->handleMapping()->mapHandles_VkDeviceMemory_u64(&local_memory, &cgen_var_109, 1);
- stream->write((uint64_t*)&cgen_var_109, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_110 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_110);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- resources->destroyMapping()->mapHandles_VkDeviceMemory((VkDeviceMemory*)&memory);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkFreeMemory");;
-}
-
-VkResult VkEncoder::vkMapMemory(
- VkDevice device,
- VkDeviceMemory memory,
- VkDeviceSize offset,
- VkDeviceSize size,
- VkMemoryMapFlags flags,
- void** ppData)
-{
- VkResult vkMapMemory_VkResult_return = (VkResult)0;
- vkMapMemory_VkResult_return = mImpl->resources()->on_vkMapMemory(this, VK_SUCCESS, device, memory, offset, size, flags, ppData);
- mImpl->log("finish vkMapMemory");;
- return vkMapMemory_VkResult_return;
-}
-
-void VkEncoder::vkUnmapMemory(
- VkDevice device,
- VkDeviceMemory memory)
-{
- mImpl->resources()->on_vkUnmapMemory(this, device, memory);
-}
-
-VkResult VkEncoder::vkFlushMappedMemoryRanges(
- VkDevice device,
- uint32_t memoryRangeCount,
- const VkMappedMemoryRange* pMemoryRanges)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkFlushMappedMemoryRanges");
- VALIDATE_RET(VkResult, VK_SUCCESS, mImpl->validation()->on_vkFlushMappedMemoryRanges(this, VK_SUCCESS, device, memoryRangeCount, pMemoryRanges));
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- uint32_t local_memoryRangeCount;
- VkMappedMemoryRange* local_pMemoryRanges;
- local_device = device;
- local_memoryRangeCount = memoryRangeCount;
- local_pMemoryRanges = nullptr;
- if (pMemoryRanges)
- {
- local_pMemoryRanges = (VkMappedMemoryRange*)pool->alloc(((memoryRangeCount)) * sizeof(const VkMappedMemoryRange));
- for (uint32_t i = 0; i < (uint32_t)((memoryRangeCount)); ++i)
- {
- deepcopy_VkMappedMemoryRange(pool, pMemoryRanges + i, (VkMappedMemoryRange*)(local_pMemoryRanges + i));
- }
- }
- if (local_pMemoryRanges)
- {
- for (uint32_t i = 0; i < (uint32_t)((memoryRangeCount)); ++i)
- {
- transform_tohost_VkMappedMemoryRange(mImpl->resources(), (VkMappedMemoryRange*)(local_pMemoryRanges + i));
- }
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_111;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_111, 1);
- countingStream->write((uint64_t*)&cgen_var_111, 1 * 8);
- countingStream->write((uint32_t*)&local_memoryRangeCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((memoryRangeCount)); ++i)
- {
- marshal_VkMappedMemoryRange(countingStream, (VkMappedMemoryRange*)(local_pMemoryRanges + i));
- }
- }
- if (!resources->usingDirectMapping())
- {
- for (uint32_t i = 0; i < memoryRangeCount; ++i)
- {
- auto range = pMemoryRanges[i];
- auto memory = pMemoryRanges[i].memory;
- auto size = pMemoryRanges[i].size;
- auto offset = pMemoryRanges[i].offset;
- uint64_t streamSize = 0;
- if (!memory) { countingStream->write(&streamSize, sizeof(uint64_t)); continue; };
- auto hostPtr = resources->getMappedPointer(memory);
- auto actualSize = size == VK_WHOLE_SIZE ? resources->getMappedSize(memory) : size;
- if (!hostPtr) { countingStream->write(&streamSize, sizeof(uint64_t)); continue; };
- streamSize = actualSize;
- countingStream->write(&streamSize, sizeof(uint64_t));
- uint8_t* targetRange = hostPtr + offset;
- countingStream->write(targetRange, actualSize);
- }
- }
- uint32_t packetSize_vkFlushMappedMemoryRanges = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkFlushMappedMemoryRanges = OP_vkFlushMappedMemoryRanges;
- stream->write(&opcode_vkFlushMappedMemoryRanges, sizeof(uint32_t));
- stream->write(&packetSize_vkFlushMappedMemoryRanges, sizeof(uint32_t));
- uint64_t cgen_var_112;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_112, 1);
- stream->write((uint64_t*)&cgen_var_112, 1 * 8);
- stream->write((uint32_t*)&local_memoryRangeCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((memoryRangeCount)); ++i)
- {
- marshal_VkMappedMemoryRange(stream, (VkMappedMemoryRange*)(local_pMemoryRanges + i));
- }
- if (!resources->usingDirectMapping())
- {
- for (uint32_t i = 0; i < memoryRangeCount; ++i)
- {
- auto range = pMemoryRanges[i];
- auto memory = pMemoryRanges[i].memory;
- auto size = pMemoryRanges[i].size;
- auto offset = pMemoryRanges[i].offset;
- uint64_t streamSize = 0;
- if (!memory) { stream->write(&streamSize, sizeof(uint64_t)); continue; };
- auto hostPtr = resources->getMappedPointer(memory);
- auto actualSize = size == VK_WHOLE_SIZE ? resources->getMappedSize(memory) : size;
- if (!hostPtr) { stream->write(&streamSize, sizeof(uint64_t)); continue; };
- streamSize = actualSize;
- stream->write(&streamSize, sizeof(uint64_t));
- uint8_t* targetRange = hostPtr + offset;
- stream->write(targetRange, actualSize);
- }
- }
- VkResult vkFlushMappedMemoryRanges_VkResult_return = (VkResult)0;
- stream->read(&vkFlushMappedMemoryRanges_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkFlushMappedMemoryRanges");;
- return vkFlushMappedMemoryRanges_VkResult_return;
-}
-
-VkResult VkEncoder::vkInvalidateMappedMemoryRanges(
- VkDevice device,
- uint32_t memoryRangeCount,
- const VkMappedMemoryRange* pMemoryRanges)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkInvalidateMappedMemoryRanges");
- VALIDATE_RET(VkResult, VK_SUCCESS, mImpl->validation()->on_vkInvalidateMappedMemoryRanges(this, VK_SUCCESS, device, memoryRangeCount, pMemoryRanges));
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- uint32_t local_memoryRangeCount;
- VkMappedMemoryRange* local_pMemoryRanges;
- local_device = device;
- local_memoryRangeCount = memoryRangeCount;
- local_pMemoryRanges = nullptr;
- if (pMemoryRanges)
- {
- local_pMemoryRanges = (VkMappedMemoryRange*)pool->alloc(((memoryRangeCount)) * sizeof(const VkMappedMemoryRange));
- for (uint32_t i = 0; i < (uint32_t)((memoryRangeCount)); ++i)
- {
- deepcopy_VkMappedMemoryRange(pool, pMemoryRanges + i, (VkMappedMemoryRange*)(local_pMemoryRanges + i));
- }
- }
- if (local_pMemoryRanges)
- {
- for (uint32_t i = 0; i < (uint32_t)((memoryRangeCount)); ++i)
- {
- transform_tohost_VkMappedMemoryRange(mImpl->resources(), (VkMappedMemoryRange*)(local_pMemoryRanges + i));
- }
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_113;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_113, 1);
- countingStream->write((uint64_t*)&cgen_var_113, 1 * 8);
- countingStream->write((uint32_t*)&local_memoryRangeCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((memoryRangeCount)); ++i)
- {
- marshal_VkMappedMemoryRange(countingStream, (VkMappedMemoryRange*)(local_pMemoryRanges + i));
- }
- }
- uint32_t packetSize_vkInvalidateMappedMemoryRanges = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkInvalidateMappedMemoryRanges = OP_vkInvalidateMappedMemoryRanges;
- stream->write(&opcode_vkInvalidateMappedMemoryRanges, sizeof(uint32_t));
- stream->write(&packetSize_vkInvalidateMappedMemoryRanges, sizeof(uint32_t));
- uint64_t cgen_var_114;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_114, 1);
- stream->write((uint64_t*)&cgen_var_114, 1 * 8);
- stream->write((uint32_t*)&local_memoryRangeCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((memoryRangeCount)); ++i)
- {
- marshal_VkMappedMemoryRange(stream, (VkMappedMemoryRange*)(local_pMemoryRanges + i));
- }
- VkResult vkInvalidateMappedMemoryRanges_VkResult_return = (VkResult)0;
- stream->read(&vkInvalidateMappedMemoryRanges_VkResult_return, sizeof(VkResult));
- if (!resources->usingDirectMapping())
- {
- for (uint32_t i = 0; i < memoryRangeCount; ++i)
- {
- auto range = pMemoryRanges[i];
- auto memory = pMemoryRanges[i].memory;
- auto size = pMemoryRanges[i].size;
- auto offset = pMemoryRanges[i].offset;
- uint64_t streamSize = 0;
- if (!memory) { stream->read(&streamSize, sizeof(uint64_t)); continue; };
- auto hostPtr = resources->getMappedPointer(memory);
- auto actualSize = size == VK_WHOLE_SIZE ? resources->getMappedSize(memory) : size;
- if (!hostPtr) { stream->read(&streamSize, sizeof(uint64_t)); continue; };
- streamSize = actualSize;
- stream->read(&streamSize, sizeof(uint64_t));
- uint8_t* targetRange = hostPtr + offset;
- stream->read(targetRange, actualSize);
- }
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkInvalidateMappedMemoryRanges");;
- return vkInvalidateMappedMemoryRanges_VkResult_return;
-}
-
-void VkEncoder::vkGetDeviceMemoryCommitment(
- VkDevice device,
- VkDeviceMemory memory,
- VkDeviceSize* pCommittedMemoryInBytes)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetDeviceMemoryCommitment");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkDeviceMemory local_memory;
- local_device = device;
- local_memory = memory;
- mImpl->resources()->deviceMemoryTransform_tohost((VkDeviceMemory*)&local_memory, 1, (VkDeviceSize*)nullptr, 0, (VkDeviceSize*)nullptr, 0, (uint32_t*)nullptr, 0, (uint32_t*)nullptr, 0);
- countingStream->rewind();
- {
- uint64_t cgen_var_115;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_115, 1);
- countingStream->write((uint64_t*)&cgen_var_115, 1 * 8);
- uint64_t cgen_var_116;
- countingStream->handleMapping()->mapHandles_VkDeviceMemory_u64(&local_memory, &cgen_var_116, 1);
- countingStream->write((uint64_t*)&cgen_var_116, 1 * 8);
- countingStream->write((VkDeviceSize*)pCommittedMemoryInBytes, sizeof(VkDeviceSize));
- }
- uint32_t packetSize_vkGetDeviceMemoryCommitment = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetDeviceMemoryCommitment = OP_vkGetDeviceMemoryCommitment;
- stream->write(&opcode_vkGetDeviceMemoryCommitment, sizeof(uint32_t));
- stream->write(&packetSize_vkGetDeviceMemoryCommitment, sizeof(uint32_t));
- uint64_t cgen_var_117;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_117, 1);
- stream->write((uint64_t*)&cgen_var_117, 1 * 8);
- uint64_t cgen_var_118;
- stream->handleMapping()->mapHandles_VkDeviceMemory_u64(&local_memory, &cgen_var_118, 1);
- stream->write((uint64_t*)&cgen_var_118, 1 * 8);
- stream->write((VkDeviceSize*)pCommittedMemoryInBytes, sizeof(VkDeviceSize));
- stream->read((VkDeviceSize*)pCommittedMemoryInBytes, sizeof(VkDeviceSize));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetDeviceMemoryCommitment");;
-}
-
-VkResult VkEncoder::vkBindBufferMemory(
- VkDevice device,
- VkBuffer buffer,
- VkDeviceMemory memory,
- VkDeviceSize memoryOffset)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkBindBufferMemory");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkBuffer local_buffer;
- VkDeviceMemory local_memory;
- VkDeviceSize local_memoryOffset;
- local_device = device;
- local_buffer = buffer;
- local_memory = memory;
- local_memoryOffset = memoryOffset;
- mImpl->resources()->deviceMemoryTransform_tohost((VkDeviceMemory*)&local_memory, 1, (VkDeviceSize*)&local_memoryOffset, 1, (VkDeviceSize*)nullptr, 0, (uint32_t*)nullptr, 0, (uint32_t*)nullptr, 0);
- countingStream->rewind();
- {
- uint64_t cgen_var_119;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_119, 1);
- countingStream->write((uint64_t*)&cgen_var_119, 1 * 8);
- uint64_t cgen_var_120;
- countingStream->handleMapping()->mapHandles_VkBuffer_u64(&local_buffer, &cgen_var_120, 1);
- countingStream->write((uint64_t*)&cgen_var_120, 1 * 8);
- uint64_t cgen_var_121;
- countingStream->handleMapping()->mapHandles_VkDeviceMemory_u64(&local_memory, &cgen_var_121, 1);
- countingStream->write((uint64_t*)&cgen_var_121, 1 * 8);
- countingStream->write((VkDeviceSize*)&local_memoryOffset, sizeof(VkDeviceSize));
- }
- uint32_t packetSize_vkBindBufferMemory = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkBindBufferMemory = OP_vkBindBufferMemory;
- stream->write(&opcode_vkBindBufferMemory, sizeof(uint32_t));
- stream->write(&packetSize_vkBindBufferMemory, sizeof(uint32_t));
- uint64_t cgen_var_122;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_122, 1);
- stream->write((uint64_t*)&cgen_var_122, 1 * 8);
- uint64_t cgen_var_123;
- stream->handleMapping()->mapHandles_VkBuffer_u64(&local_buffer, &cgen_var_123, 1);
- stream->write((uint64_t*)&cgen_var_123, 1 * 8);
- uint64_t cgen_var_124;
- stream->handleMapping()->mapHandles_VkDeviceMemory_u64(&local_memory, &cgen_var_124, 1);
- stream->write((uint64_t*)&cgen_var_124, 1 * 8);
- stream->write((VkDeviceSize*)&local_memoryOffset, sizeof(VkDeviceSize));
- VkResult vkBindBufferMemory_VkResult_return = (VkResult)0;
- stream->read(&vkBindBufferMemory_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkBindBufferMemory");;
- return vkBindBufferMemory_VkResult_return;
-}
-
-VkResult VkEncoder::vkBindImageMemory(
- VkDevice device,
- VkImage image,
- VkDeviceMemory memory,
- VkDeviceSize memoryOffset)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkBindImageMemory");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkImage local_image;
- VkDeviceMemory local_memory;
- VkDeviceSize local_memoryOffset;
- local_device = device;
- local_image = image;
- local_memory = memory;
- local_memoryOffset = memoryOffset;
- mImpl->resources()->deviceMemoryTransform_tohost((VkDeviceMemory*)&local_memory, 1, (VkDeviceSize*)&local_memoryOffset, 1, (VkDeviceSize*)nullptr, 0, (uint32_t*)nullptr, 0, (uint32_t*)nullptr, 0);
- countingStream->rewind();
- {
- uint64_t cgen_var_125;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_125, 1);
- countingStream->write((uint64_t*)&cgen_var_125, 1 * 8);
- uint64_t cgen_var_126;
- countingStream->handleMapping()->mapHandles_VkImage_u64(&local_image, &cgen_var_126, 1);
- countingStream->write((uint64_t*)&cgen_var_126, 1 * 8);
- uint64_t cgen_var_127;
- countingStream->handleMapping()->mapHandles_VkDeviceMemory_u64(&local_memory, &cgen_var_127, 1);
- countingStream->write((uint64_t*)&cgen_var_127, 1 * 8);
- countingStream->write((VkDeviceSize*)&local_memoryOffset, sizeof(VkDeviceSize));
- }
- uint32_t packetSize_vkBindImageMemory = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkBindImageMemory = OP_vkBindImageMemory;
- stream->write(&opcode_vkBindImageMemory, sizeof(uint32_t));
- stream->write(&packetSize_vkBindImageMemory, sizeof(uint32_t));
- uint64_t cgen_var_128;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_128, 1);
- stream->write((uint64_t*)&cgen_var_128, 1 * 8);
- uint64_t cgen_var_129;
- stream->handleMapping()->mapHandles_VkImage_u64(&local_image, &cgen_var_129, 1);
- stream->write((uint64_t*)&cgen_var_129, 1 * 8);
- uint64_t cgen_var_130;
- stream->handleMapping()->mapHandles_VkDeviceMemory_u64(&local_memory, &cgen_var_130, 1);
- stream->write((uint64_t*)&cgen_var_130, 1 * 8);
- stream->write((VkDeviceSize*)&local_memoryOffset, sizeof(VkDeviceSize));
- VkResult vkBindImageMemory_VkResult_return = (VkResult)0;
- stream->read(&vkBindImageMemory_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkBindImageMemory");;
- return vkBindImageMemory_VkResult_return;
-}
-
-void VkEncoder::vkGetBufferMemoryRequirements(
- VkDevice device,
- VkBuffer buffer,
- VkMemoryRequirements* pMemoryRequirements)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetBufferMemoryRequirements");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkBuffer local_buffer;
- local_device = device;
- local_buffer = buffer;
- countingStream->rewind();
- {
- uint64_t cgen_var_131;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_131, 1);
- countingStream->write((uint64_t*)&cgen_var_131, 1 * 8);
- uint64_t cgen_var_132;
- countingStream->handleMapping()->mapHandles_VkBuffer_u64(&local_buffer, &cgen_var_132, 1);
- countingStream->write((uint64_t*)&cgen_var_132, 1 * 8);
- marshal_VkMemoryRequirements(countingStream, (VkMemoryRequirements*)(pMemoryRequirements));
- }
- uint32_t packetSize_vkGetBufferMemoryRequirements = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetBufferMemoryRequirements = OP_vkGetBufferMemoryRequirements;
- stream->write(&opcode_vkGetBufferMemoryRequirements, sizeof(uint32_t));
- stream->write(&packetSize_vkGetBufferMemoryRequirements, sizeof(uint32_t));
- uint64_t cgen_var_133;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_133, 1);
- stream->write((uint64_t*)&cgen_var_133, 1 * 8);
- uint64_t cgen_var_134;
- stream->handleMapping()->mapHandles_VkBuffer_u64(&local_buffer, &cgen_var_134, 1);
- stream->write((uint64_t*)&cgen_var_134, 1 * 8);
- marshal_VkMemoryRequirements(stream, (VkMemoryRequirements*)(pMemoryRequirements));
- unmarshal_VkMemoryRequirements(stream, (VkMemoryRequirements*)(pMemoryRequirements));
- if (pMemoryRequirements)
- {
- transform_fromhost_VkMemoryRequirements(mImpl->resources(), (VkMemoryRequirements*)(pMemoryRequirements));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetBufferMemoryRequirements");;
-}
-
-void VkEncoder::vkGetImageMemoryRequirements(
- VkDevice device,
- VkImage image,
- VkMemoryRequirements* pMemoryRequirements)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetImageMemoryRequirements");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkImage local_image;
- local_device = device;
- local_image = image;
- countingStream->rewind();
- {
- uint64_t cgen_var_135;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_135, 1);
- countingStream->write((uint64_t*)&cgen_var_135, 1 * 8);
- uint64_t cgen_var_136;
- countingStream->handleMapping()->mapHandles_VkImage_u64(&local_image, &cgen_var_136, 1);
- countingStream->write((uint64_t*)&cgen_var_136, 1 * 8);
- marshal_VkMemoryRequirements(countingStream, (VkMemoryRequirements*)(pMemoryRequirements));
- }
- uint32_t packetSize_vkGetImageMemoryRequirements = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetImageMemoryRequirements = OP_vkGetImageMemoryRequirements;
- stream->write(&opcode_vkGetImageMemoryRequirements, sizeof(uint32_t));
- stream->write(&packetSize_vkGetImageMemoryRequirements, sizeof(uint32_t));
- uint64_t cgen_var_137;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_137, 1);
- stream->write((uint64_t*)&cgen_var_137, 1 * 8);
- uint64_t cgen_var_138;
- stream->handleMapping()->mapHandles_VkImage_u64(&local_image, &cgen_var_138, 1);
- stream->write((uint64_t*)&cgen_var_138, 1 * 8);
- marshal_VkMemoryRequirements(stream, (VkMemoryRequirements*)(pMemoryRequirements));
- unmarshal_VkMemoryRequirements(stream, (VkMemoryRequirements*)(pMemoryRequirements));
- if (pMemoryRequirements)
- {
- transform_fromhost_VkMemoryRequirements(mImpl->resources(), (VkMemoryRequirements*)(pMemoryRequirements));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetImageMemoryRequirements");;
-}
-
-void VkEncoder::vkGetImageSparseMemoryRequirements(
- VkDevice device,
- VkImage image,
- uint32_t* pSparseMemoryRequirementCount,
- VkSparseImageMemoryRequirements* pSparseMemoryRequirements)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetImageSparseMemoryRequirements");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkImage local_image;
- local_device = device;
- local_image = image;
- countingStream->rewind();
- {
- uint64_t cgen_var_139;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_139, 1);
- countingStream->write((uint64_t*)&cgen_var_139, 1 * 8);
- uint64_t cgen_var_140;
- countingStream->handleMapping()->mapHandles_VkImage_u64(&local_image, &cgen_var_140, 1);
- countingStream->write((uint64_t*)&cgen_var_140, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_141 = (uint64_t)(uintptr_t)pSparseMemoryRequirementCount;
- countingStream->putBe64(cgen_var_141);
- if (pSparseMemoryRequirementCount)
- {
- countingStream->write((uint32_t*)pSparseMemoryRequirementCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_142 = (uint64_t)(uintptr_t)pSparseMemoryRequirements;
- countingStream->putBe64(cgen_var_142);
- if (pSparseMemoryRequirements)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pSparseMemoryRequirementCount)); ++i)
- {
- marshal_VkSparseImageMemoryRequirements(countingStream, (VkSparseImageMemoryRequirements*)(pSparseMemoryRequirements + i));
- }
- }
- }
- uint32_t packetSize_vkGetImageSparseMemoryRequirements = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetImageSparseMemoryRequirements = OP_vkGetImageSparseMemoryRequirements;
- stream->write(&opcode_vkGetImageSparseMemoryRequirements, sizeof(uint32_t));
- stream->write(&packetSize_vkGetImageSparseMemoryRequirements, sizeof(uint32_t));
- uint64_t cgen_var_143;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_143, 1);
- stream->write((uint64_t*)&cgen_var_143, 1 * 8);
- uint64_t cgen_var_144;
- stream->handleMapping()->mapHandles_VkImage_u64(&local_image, &cgen_var_144, 1);
- stream->write((uint64_t*)&cgen_var_144, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_145 = (uint64_t)(uintptr_t)pSparseMemoryRequirementCount;
- stream->putBe64(cgen_var_145);
- if (pSparseMemoryRequirementCount)
- {
- stream->write((uint32_t*)pSparseMemoryRequirementCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_146 = (uint64_t)(uintptr_t)pSparseMemoryRequirements;
- stream->putBe64(cgen_var_146);
- if (pSparseMemoryRequirements)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pSparseMemoryRequirementCount)); ++i)
- {
- marshal_VkSparseImageMemoryRequirements(stream, (VkSparseImageMemoryRequirements*)(pSparseMemoryRequirements + i));
- }
- }
- // WARNING PTR CHECK
- uint32_t* check_pSparseMemoryRequirementCount;
- check_pSparseMemoryRequirementCount = (uint32_t*)(uintptr_t)stream->getBe64();
- if (pSparseMemoryRequirementCount)
- {
- if (!(check_pSparseMemoryRequirementCount))
- {
- fprintf(stderr, "fatal: pSparseMemoryRequirementCount inconsistent between guest and host\n");
- }
- stream->read((uint32_t*)pSparseMemoryRequirementCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- VkSparseImageMemoryRequirements* check_pSparseMemoryRequirements;
- check_pSparseMemoryRequirements = (VkSparseImageMemoryRequirements*)(uintptr_t)stream->getBe64();
- if (pSparseMemoryRequirements)
- {
- if (!(check_pSparseMemoryRequirements))
- {
- fprintf(stderr, "fatal: pSparseMemoryRequirements inconsistent between guest and host\n");
- }
- for (uint32_t i = 0; i < (uint32_t)(*(pSparseMemoryRequirementCount)); ++i)
- {
- unmarshal_VkSparseImageMemoryRequirements(stream, (VkSparseImageMemoryRequirements*)(pSparseMemoryRequirements + i));
- }
- }
- if (pSparseMemoryRequirements)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pSparseMemoryRequirementCount)); ++i)
- {
- transform_fromhost_VkSparseImageMemoryRequirements(mImpl->resources(), (VkSparseImageMemoryRequirements*)(pSparseMemoryRequirements + i));
- }
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetImageSparseMemoryRequirements");;
-}
-
-void VkEncoder::vkGetPhysicalDeviceSparseImageFormatProperties(
- VkPhysicalDevice physicalDevice,
- VkFormat format,
- VkImageType type,
- VkSampleCountFlagBits samples,
- VkImageUsageFlags usage,
- VkImageTiling tiling,
- uint32_t* pPropertyCount,
- VkSparseImageFormatProperties* pProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceSparseImageFormatProperties");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- VkFormat local_format;
- VkImageType local_type;
- VkSampleCountFlagBits local_samples;
- VkImageUsageFlags local_usage;
- VkImageTiling local_tiling;
- local_physicalDevice = physicalDevice;
- local_format = format;
- local_type = type;
- local_samples = samples;
- local_usage = usage;
- local_tiling = tiling;
- countingStream->rewind();
- {
- uint64_t cgen_var_149;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_149, 1);
- countingStream->write((uint64_t*)&cgen_var_149, 1 * 8);
- countingStream->write((VkFormat*)&local_format, sizeof(VkFormat));
- countingStream->write((VkImageType*)&local_type, sizeof(VkImageType));
- countingStream->write((VkSampleCountFlagBits*)&local_samples, sizeof(VkSampleCountFlagBits));
- countingStream->write((VkImageUsageFlags*)&local_usage, sizeof(VkImageUsageFlags));
- countingStream->write((VkImageTiling*)&local_tiling, sizeof(VkImageTiling));
- // WARNING PTR CHECK
- uint64_t cgen_var_150 = (uint64_t)(uintptr_t)pPropertyCount;
- countingStream->putBe64(cgen_var_150);
- if (pPropertyCount)
- {
- countingStream->write((uint32_t*)pPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_151 = (uint64_t)(uintptr_t)pProperties;
- countingStream->putBe64(cgen_var_151);
- if (pProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- marshal_VkSparseImageFormatProperties(countingStream, (VkSparseImageFormatProperties*)(pProperties + i));
- }
- }
- }
- uint32_t packetSize_vkGetPhysicalDeviceSparseImageFormatProperties = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceSparseImageFormatProperties = OP_vkGetPhysicalDeviceSparseImageFormatProperties;
- stream->write(&opcode_vkGetPhysicalDeviceSparseImageFormatProperties, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceSparseImageFormatProperties, sizeof(uint32_t));
- uint64_t cgen_var_152;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_152, 1);
- stream->write((uint64_t*)&cgen_var_152, 1 * 8);
- stream->write((VkFormat*)&local_format, sizeof(VkFormat));
- stream->write((VkImageType*)&local_type, sizeof(VkImageType));
- stream->write((VkSampleCountFlagBits*)&local_samples, sizeof(VkSampleCountFlagBits));
- stream->write((VkImageUsageFlags*)&local_usage, sizeof(VkImageUsageFlags));
- stream->write((VkImageTiling*)&local_tiling, sizeof(VkImageTiling));
- // WARNING PTR CHECK
- uint64_t cgen_var_153 = (uint64_t)(uintptr_t)pPropertyCount;
- stream->putBe64(cgen_var_153);
- if (pPropertyCount)
- {
- stream->write((uint32_t*)pPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_154 = (uint64_t)(uintptr_t)pProperties;
- stream->putBe64(cgen_var_154);
- if (pProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- marshal_VkSparseImageFormatProperties(stream, (VkSparseImageFormatProperties*)(pProperties + i));
- }
- }
- // WARNING PTR CHECK
- uint32_t* check_pPropertyCount;
- check_pPropertyCount = (uint32_t*)(uintptr_t)stream->getBe64();
- if (pPropertyCount)
- {
- if (!(check_pPropertyCount))
- {
- fprintf(stderr, "fatal: pPropertyCount inconsistent between guest and host\n");
- }
- stream->read((uint32_t*)pPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- VkSparseImageFormatProperties* check_pProperties;
- check_pProperties = (VkSparseImageFormatProperties*)(uintptr_t)stream->getBe64();
- if (pProperties)
- {
- if (!(check_pProperties))
- {
- fprintf(stderr, "fatal: pProperties inconsistent between guest and host\n");
- }
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- unmarshal_VkSparseImageFormatProperties(stream, (VkSparseImageFormatProperties*)(pProperties + i));
- }
- }
- if (pProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- transform_fromhost_VkSparseImageFormatProperties(mImpl->resources(), (VkSparseImageFormatProperties*)(pProperties + i));
- }
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceSparseImageFormatProperties");;
-}
-
-VkResult VkEncoder::vkQueueBindSparse(
- VkQueue queue,
- uint32_t bindInfoCount,
- const VkBindSparseInfo* pBindInfo,
- VkFence fence)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkQueueBindSparse");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkQueue local_queue;
- uint32_t local_bindInfoCount;
- VkBindSparseInfo* local_pBindInfo;
- VkFence local_fence;
- local_queue = queue;
- local_bindInfoCount = bindInfoCount;
- local_pBindInfo = nullptr;
- if (pBindInfo)
- {
- local_pBindInfo = (VkBindSparseInfo*)pool->alloc(((bindInfoCount)) * sizeof(const VkBindSparseInfo));
- for (uint32_t i = 0; i < (uint32_t)((bindInfoCount)); ++i)
- {
- deepcopy_VkBindSparseInfo(pool, pBindInfo + i, (VkBindSparseInfo*)(local_pBindInfo + i));
- }
- }
- local_fence = fence;
- if (local_pBindInfo)
- {
- for (uint32_t i = 0; i < (uint32_t)((bindInfoCount)); ++i)
- {
- transform_tohost_VkBindSparseInfo(mImpl->resources(), (VkBindSparseInfo*)(local_pBindInfo + i));
- }
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_157;
- countingStream->handleMapping()->mapHandles_VkQueue_u64(&local_queue, &cgen_var_157, 1);
- countingStream->write((uint64_t*)&cgen_var_157, 1 * 8);
- countingStream->write((uint32_t*)&local_bindInfoCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((bindInfoCount)); ++i)
- {
- marshal_VkBindSparseInfo(countingStream, (VkBindSparseInfo*)(local_pBindInfo + i));
- }
- uint64_t cgen_var_158;
- countingStream->handleMapping()->mapHandles_VkFence_u64(&local_fence, &cgen_var_158, 1);
- countingStream->write((uint64_t*)&cgen_var_158, 1 * 8);
- }
- uint32_t packetSize_vkQueueBindSparse = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkQueueBindSparse = OP_vkQueueBindSparse;
- stream->write(&opcode_vkQueueBindSparse, sizeof(uint32_t));
- stream->write(&packetSize_vkQueueBindSparse, sizeof(uint32_t));
- uint64_t cgen_var_159;
- stream->handleMapping()->mapHandles_VkQueue_u64(&local_queue, &cgen_var_159, 1);
- stream->write((uint64_t*)&cgen_var_159, 1 * 8);
- stream->write((uint32_t*)&local_bindInfoCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((bindInfoCount)); ++i)
- {
- marshal_VkBindSparseInfo(stream, (VkBindSparseInfo*)(local_pBindInfo + i));
- }
- uint64_t cgen_var_160;
- stream->handleMapping()->mapHandles_VkFence_u64(&local_fence, &cgen_var_160, 1);
- stream->write((uint64_t*)&cgen_var_160, 1 * 8);
- VkResult vkQueueBindSparse_VkResult_return = (VkResult)0;
- stream->read(&vkQueueBindSparse_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkQueueBindSparse");;
- return vkQueueBindSparse_VkResult_return;
-}
-
-VkResult VkEncoder::vkCreateFence(
- VkDevice device,
- const VkFenceCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkFence* pFence)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateFence");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkFenceCreateInfo* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkFenceCreateInfo*)pool->alloc(sizeof(const VkFenceCreateInfo));
- deepcopy_VkFenceCreateInfo(pool, pCreateInfo, (VkFenceCreateInfo*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkFenceCreateInfo(mImpl->resources(), (VkFenceCreateInfo*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_161;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_161, 1);
- countingStream->write((uint64_t*)&cgen_var_161, 1 * 8);
- marshal_VkFenceCreateInfo(countingStream, (VkFenceCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_162 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_162);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_163;
- countingStream->handleMapping()->mapHandles_VkFence_u64(pFence, &cgen_var_163, 1);
- countingStream->write((uint64_t*)&cgen_var_163, 8);
- }
- uint32_t packetSize_vkCreateFence = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateFence = OP_vkCreateFence;
- stream->write(&opcode_vkCreateFence, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateFence, sizeof(uint32_t));
- uint64_t cgen_var_164;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_164, 1);
- stream->write((uint64_t*)&cgen_var_164, 1 * 8);
- marshal_VkFenceCreateInfo(stream, (VkFenceCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_165 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_165);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_166;
- stream->handleMapping()->mapHandles_VkFence_u64(pFence, &cgen_var_166, 1);
- stream->write((uint64_t*)&cgen_var_166, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- stream->setHandleMapping(resources->createMapping());
- uint64_t cgen_var_167;
- stream->read((uint64_t*)&cgen_var_167, 8);
- stream->handleMapping()->mapHandles_u64_VkFence(&cgen_var_167, (VkFence*)pFence, 1);
- stream->unsetHandleMapping();
- VkResult vkCreateFence_VkResult_return = (VkResult)0;
- stream->read(&vkCreateFence_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateFence");;
- return vkCreateFence_VkResult_return;
-}
-
-void VkEncoder::vkDestroyFence(
- VkDevice device,
- VkFence fence,
- const VkAllocationCallbacks* pAllocator)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkDestroyFence");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkFence local_fence;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_fence = fence;
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_168;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_168, 1);
- countingStream->write((uint64_t*)&cgen_var_168, 1 * 8);
- uint64_t cgen_var_169;
- countingStream->handleMapping()->mapHandles_VkFence_u64(&local_fence, &cgen_var_169, 1);
- countingStream->write((uint64_t*)&cgen_var_169, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_170 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_170);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- }
- uint32_t packetSize_vkDestroyFence = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkDestroyFence = OP_vkDestroyFence;
- stream->write(&opcode_vkDestroyFence, sizeof(uint32_t));
- stream->write(&packetSize_vkDestroyFence, sizeof(uint32_t));
- uint64_t cgen_var_171;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_171, 1);
- stream->write((uint64_t*)&cgen_var_171, 1 * 8);
- uint64_t cgen_var_172;
- stream->handleMapping()->mapHandles_VkFence_u64(&local_fence, &cgen_var_172, 1);
- stream->write((uint64_t*)&cgen_var_172, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_173 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_173);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- resources->destroyMapping()->mapHandles_VkFence((VkFence*)&fence);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkDestroyFence");;
-}
-
-VkResult VkEncoder::vkResetFences(
- VkDevice device,
- uint32_t fenceCount,
- const VkFence* pFences)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkResetFences");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- uint32_t local_fenceCount;
- VkFence* local_pFences;
- local_device = device;
- local_fenceCount = fenceCount;
- local_pFences = nullptr;
- if (pFences)
- {
- local_pFences = (VkFence*)pool->dupArray(pFences, ((fenceCount)) * sizeof(const VkFence));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_174;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_174, 1);
- countingStream->write((uint64_t*)&cgen_var_174, 1 * 8);
- countingStream->write((uint32_t*)&local_fenceCount, sizeof(uint32_t));
- if (((fenceCount)))
- {
- uint64_t* cgen_var_175;
- countingStream->alloc((void**)&cgen_var_175, ((fenceCount)) * 8);
- countingStream->handleMapping()->mapHandles_VkFence_u64(local_pFences, cgen_var_175, ((fenceCount)));
- countingStream->write((uint64_t*)cgen_var_175, ((fenceCount)) * 8);
- }
- }
- uint32_t packetSize_vkResetFences = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkResetFences = OP_vkResetFences;
- stream->write(&opcode_vkResetFences, sizeof(uint32_t));
- stream->write(&packetSize_vkResetFences, sizeof(uint32_t));
- uint64_t cgen_var_176;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_176, 1);
- stream->write((uint64_t*)&cgen_var_176, 1 * 8);
- stream->write((uint32_t*)&local_fenceCount, sizeof(uint32_t));
- if (((fenceCount)))
- {
- uint64_t* cgen_var_177;
- stream->alloc((void**)&cgen_var_177, ((fenceCount)) * 8);
- stream->handleMapping()->mapHandles_VkFence_u64(local_pFences, cgen_var_177, ((fenceCount)));
- stream->write((uint64_t*)cgen_var_177, ((fenceCount)) * 8);
- }
- VkResult vkResetFences_VkResult_return = (VkResult)0;
- stream->read(&vkResetFences_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkResetFences");;
- return vkResetFences_VkResult_return;
-}
-
-VkResult VkEncoder::vkGetFenceStatus(
- VkDevice device,
- VkFence fence)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetFenceStatus");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkFence local_fence;
- local_device = device;
- local_fence = fence;
- countingStream->rewind();
- {
- uint64_t cgen_var_178;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_178, 1);
- countingStream->write((uint64_t*)&cgen_var_178, 1 * 8);
- uint64_t cgen_var_179;
- countingStream->handleMapping()->mapHandles_VkFence_u64(&local_fence, &cgen_var_179, 1);
- countingStream->write((uint64_t*)&cgen_var_179, 1 * 8);
- }
- uint32_t packetSize_vkGetFenceStatus = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetFenceStatus = OP_vkGetFenceStatus;
- stream->write(&opcode_vkGetFenceStatus, sizeof(uint32_t));
- stream->write(&packetSize_vkGetFenceStatus, sizeof(uint32_t));
- uint64_t cgen_var_180;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_180, 1);
- stream->write((uint64_t*)&cgen_var_180, 1 * 8);
- uint64_t cgen_var_181;
- stream->handleMapping()->mapHandles_VkFence_u64(&local_fence, &cgen_var_181, 1);
- stream->write((uint64_t*)&cgen_var_181, 1 * 8);
- VkResult vkGetFenceStatus_VkResult_return = (VkResult)0;
- stream->read(&vkGetFenceStatus_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetFenceStatus");;
- return vkGetFenceStatus_VkResult_return;
-}
-
-VkResult VkEncoder::vkWaitForFences(
- VkDevice device,
- uint32_t fenceCount,
- const VkFence* pFences,
- VkBool32 waitAll,
- uint64_t timeout)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkWaitForFences");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- uint32_t local_fenceCount;
- VkFence* local_pFences;
- VkBool32 local_waitAll;
- uint64_t local_timeout;
- local_device = device;
- local_fenceCount = fenceCount;
- local_pFences = nullptr;
- if (pFences)
- {
- local_pFences = (VkFence*)pool->dupArray(pFences, ((fenceCount)) * sizeof(const VkFence));
- }
- local_waitAll = waitAll;
- local_timeout = timeout;
- countingStream->rewind();
- {
- uint64_t cgen_var_182;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_182, 1);
- countingStream->write((uint64_t*)&cgen_var_182, 1 * 8);
- countingStream->write((uint32_t*)&local_fenceCount, sizeof(uint32_t));
- if (((fenceCount)))
- {
- uint64_t* cgen_var_183;
- countingStream->alloc((void**)&cgen_var_183, ((fenceCount)) * 8);
- countingStream->handleMapping()->mapHandles_VkFence_u64(local_pFences, cgen_var_183, ((fenceCount)));
- countingStream->write((uint64_t*)cgen_var_183, ((fenceCount)) * 8);
- }
- countingStream->write((VkBool32*)&local_waitAll, sizeof(VkBool32));
- countingStream->write((uint64_t*)&local_timeout, sizeof(uint64_t));
- }
- uint32_t packetSize_vkWaitForFences = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkWaitForFences = OP_vkWaitForFences;
- stream->write(&opcode_vkWaitForFences, sizeof(uint32_t));
- stream->write(&packetSize_vkWaitForFences, sizeof(uint32_t));
- uint64_t cgen_var_184;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_184, 1);
- stream->write((uint64_t*)&cgen_var_184, 1 * 8);
- stream->write((uint32_t*)&local_fenceCount, sizeof(uint32_t));
- if (((fenceCount)))
- {
- uint64_t* cgen_var_185;
- stream->alloc((void**)&cgen_var_185, ((fenceCount)) * 8);
- stream->handleMapping()->mapHandles_VkFence_u64(local_pFences, cgen_var_185, ((fenceCount)));
- stream->write((uint64_t*)cgen_var_185, ((fenceCount)) * 8);
- }
- stream->write((VkBool32*)&local_waitAll, sizeof(VkBool32));
- stream->write((uint64_t*)&local_timeout, sizeof(uint64_t));
- VkResult vkWaitForFences_VkResult_return = (VkResult)0;
- stream->read(&vkWaitForFences_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkWaitForFences");;
- return vkWaitForFences_VkResult_return;
-}
-
-VkResult VkEncoder::vkCreateSemaphore(
- VkDevice device,
- const VkSemaphoreCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSemaphore* pSemaphore)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateSemaphore");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkSemaphoreCreateInfo* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkSemaphoreCreateInfo*)pool->alloc(sizeof(const VkSemaphoreCreateInfo));
- deepcopy_VkSemaphoreCreateInfo(pool, pCreateInfo, (VkSemaphoreCreateInfo*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkSemaphoreCreateInfo(mImpl->resources(), (VkSemaphoreCreateInfo*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_186;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_186, 1);
- countingStream->write((uint64_t*)&cgen_var_186, 1 * 8);
- marshal_VkSemaphoreCreateInfo(countingStream, (VkSemaphoreCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_187 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_187);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_188;
- countingStream->handleMapping()->mapHandles_VkSemaphore_u64(pSemaphore, &cgen_var_188, 1);
- countingStream->write((uint64_t*)&cgen_var_188, 8);
- }
- uint32_t packetSize_vkCreateSemaphore = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateSemaphore = OP_vkCreateSemaphore;
- stream->write(&opcode_vkCreateSemaphore, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateSemaphore, sizeof(uint32_t));
- uint64_t cgen_var_189;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_189, 1);
- stream->write((uint64_t*)&cgen_var_189, 1 * 8);
- marshal_VkSemaphoreCreateInfo(stream, (VkSemaphoreCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_190 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_190);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_191;
- stream->handleMapping()->mapHandles_VkSemaphore_u64(pSemaphore, &cgen_var_191, 1);
- stream->write((uint64_t*)&cgen_var_191, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- stream->setHandleMapping(resources->createMapping());
- uint64_t cgen_var_192;
- stream->read((uint64_t*)&cgen_var_192, 8);
- stream->handleMapping()->mapHandles_u64_VkSemaphore(&cgen_var_192, (VkSemaphore*)pSemaphore, 1);
- stream->unsetHandleMapping();
- VkResult vkCreateSemaphore_VkResult_return = (VkResult)0;
- stream->read(&vkCreateSemaphore_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateSemaphore");;
- return vkCreateSemaphore_VkResult_return;
-}
-
-void VkEncoder::vkDestroySemaphore(
- VkDevice device,
- VkSemaphore semaphore,
- const VkAllocationCallbacks* pAllocator)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkDestroySemaphore");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkSemaphore local_semaphore;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_semaphore = semaphore;
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_193;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_193, 1);
- countingStream->write((uint64_t*)&cgen_var_193, 1 * 8);
- uint64_t cgen_var_194;
- countingStream->handleMapping()->mapHandles_VkSemaphore_u64(&local_semaphore, &cgen_var_194, 1);
- countingStream->write((uint64_t*)&cgen_var_194, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_195 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_195);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- }
- uint32_t packetSize_vkDestroySemaphore = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkDestroySemaphore = OP_vkDestroySemaphore;
- stream->write(&opcode_vkDestroySemaphore, sizeof(uint32_t));
- stream->write(&packetSize_vkDestroySemaphore, sizeof(uint32_t));
- uint64_t cgen_var_196;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_196, 1);
- stream->write((uint64_t*)&cgen_var_196, 1 * 8);
- uint64_t cgen_var_197;
- stream->handleMapping()->mapHandles_VkSemaphore_u64(&local_semaphore, &cgen_var_197, 1);
- stream->write((uint64_t*)&cgen_var_197, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_198 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_198);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- resources->destroyMapping()->mapHandles_VkSemaphore((VkSemaphore*)&semaphore);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkDestroySemaphore");;
-}
-
-VkResult VkEncoder::vkCreateEvent(
- VkDevice device,
- const VkEventCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkEvent* pEvent)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateEvent");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkEventCreateInfo* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkEventCreateInfo*)pool->alloc(sizeof(const VkEventCreateInfo));
- deepcopy_VkEventCreateInfo(pool, pCreateInfo, (VkEventCreateInfo*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkEventCreateInfo(mImpl->resources(), (VkEventCreateInfo*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_199;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_199, 1);
- countingStream->write((uint64_t*)&cgen_var_199, 1 * 8);
- marshal_VkEventCreateInfo(countingStream, (VkEventCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_200 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_200);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_201;
- countingStream->handleMapping()->mapHandles_VkEvent_u64(pEvent, &cgen_var_201, 1);
- countingStream->write((uint64_t*)&cgen_var_201, 8);
- }
- uint32_t packetSize_vkCreateEvent = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateEvent = OP_vkCreateEvent;
- stream->write(&opcode_vkCreateEvent, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateEvent, sizeof(uint32_t));
- uint64_t cgen_var_202;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_202, 1);
- stream->write((uint64_t*)&cgen_var_202, 1 * 8);
- marshal_VkEventCreateInfo(stream, (VkEventCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_203 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_203);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_204;
- stream->handleMapping()->mapHandles_VkEvent_u64(pEvent, &cgen_var_204, 1);
- stream->write((uint64_t*)&cgen_var_204, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- stream->setHandleMapping(resources->createMapping());
- uint64_t cgen_var_205;
- stream->read((uint64_t*)&cgen_var_205, 8);
- stream->handleMapping()->mapHandles_u64_VkEvent(&cgen_var_205, (VkEvent*)pEvent, 1);
- stream->unsetHandleMapping();
- VkResult vkCreateEvent_VkResult_return = (VkResult)0;
- stream->read(&vkCreateEvent_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateEvent");;
- return vkCreateEvent_VkResult_return;
-}
-
-void VkEncoder::vkDestroyEvent(
- VkDevice device,
- VkEvent event,
- const VkAllocationCallbacks* pAllocator)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkDestroyEvent");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkEvent local_event;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_event = event;
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_206;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_206, 1);
- countingStream->write((uint64_t*)&cgen_var_206, 1 * 8);
- uint64_t cgen_var_207;
- countingStream->handleMapping()->mapHandles_VkEvent_u64(&local_event, &cgen_var_207, 1);
- countingStream->write((uint64_t*)&cgen_var_207, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_208 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_208);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- }
- uint32_t packetSize_vkDestroyEvent = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkDestroyEvent = OP_vkDestroyEvent;
- stream->write(&opcode_vkDestroyEvent, sizeof(uint32_t));
- stream->write(&packetSize_vkDestroyEvent, sizeof(uint32_t));
- uint64_t cgen_var_209;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_209, 1);
- stream->write((uint64_t*)&cgen_var_209, 1 * 8);
- uint64_t cgen_var_210;
- stream->handleMapping()->mapHandles_VkEvent_u64(&local_event, &cgen_var_210, 1);
- stream->write((uint64_t*)&cgen_var_210, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_211 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_211);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- resources->destroyMapping()->mapHandles_VkEvent((VkEvent*)&event);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkDestroyEvent");;
-}
-
-VkResult VkEncoder::vkGetEventStatus(
- VkDevice device,
- VkEvent event)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetEventStatus");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkEvent local_event;
- local_device = device;
- local_event = event;
- countingStream->rewind();
- {
- uint64_t cgen_var_212;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_212, 1);
- countingStream->write((uint64_t*)&cgen_var_212, 1 * 8);
- uint64_t cgen_var_213;
- countingStream->handleMapping()->mapHandles_VkEvent_u64(&local_event, &cgen_var_213, 1);
- countingStream->write((uint64_t*)&cgen_var_213, 1 * 8);
- }
- uint32_t packetSize_vkGetEventStatus = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetEventStatus = OP_vkGetEventStatus;
- stream->write(&opcode_vkGetEventStatus, sizeof(uint32_t));
- stream->write(&packetSize_vkGetEventStatus, sizeof(uint32_t));
- uint64_t cgen_var_214;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_214, 1);
- stream->write((uint64_t*)&cgen_var_214, 1 * 8);
- uint64_t cgen_var_215;
- stream->handleMapping()->mapHandles_VkEvent_u64(&local_event, &cgen_var_215, 1);
- stream->write((uint64_t*)&cgen_var_215, 1 * 8);
- VkResult vkGetEventStatus_VkResult_return = (VkResult)0;
- stream->read(&vkGetEventStatus_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetEventStatus");;
- return vkGetEventStatus_VkResult_return;
-}
-
-VkResult VkEncoder::vkSetEvent(
- VkDevice device,
- VkEvent event)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkSetEvent");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkEvent local_event;
- local_device = device;
- local_event = event;
- countingStream->rewind();
- {
- uint64_t cgen_var_216;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_216, 1);
- countingStream->write((uint64_t*)&cgen_var_216, 1 * 8);
- uint64_t cgen_var_217;
- countingStream->handleMapping()->mapHandles_VkEvent_u64(&local_event, &cgen_var_217, 1);
- countingStream->write((uint64_t*)&cgen_var_217, 1 * 8);
- }
- uint32_t packetSize_vkSetEvent = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkSetEvent = OP_vkSetEvent;
- stream->write(&opcode_vkSetEvent, sizeof(uint32_t));
- stream->write(&packetSize_vkSetEvent, sizeof(uint32_t));
- uint64_t cgen_var_218;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_218, 1);
- stream->write((uint64_t*)&cgen_var_218, 1 * 8);
- uint64_t cgen_var_219;
- stream->handleMapping()->mapHandles_VkEvent_u64(&local_event, &cgen_var_219, 1);
- stream->write((uint64_t*)&cgen_var_219, 1 * 8);
- VkResult vkSetEvent_VkResult_return = (VkResult)0;
- stream->read(&vkSetEvent_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkSetEvent");;
- return vkSetEvent_VkResult_return;
-}
-
-VkResult VkEncoder::vkResetEvent(
- VkDevice device,
- VkEvent event)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkResetEvent");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkEvent local_event;
- local_device = device;
- local_event = event;
- countingStream->rewind();
- {
- uint64_t cgen_var_220;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_220, 1);
- countingStream->write((uint64_t*)&cgen_var_220, 1 * 8);
- uint64_t cgen_var_221;
- countingStream->handleMapping()->mapHandles_VkEvent_u64(&local_event, &cgen_var_221, 1);
- countingStream->write((uint64_t*)&cgen_var_221, 1 * 8);
- }
- uint32_t packetSize_vkResetEvent = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkResetEvent = OP_vkResetEvent;
- stream->write(&opcode_vkResetEvent, sizeof(uint32_t));
- stream->write(&packetSize_vkResetEvent, sizeof(uint32_t));
- uint64_t cgen_var_222;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_222, 1);
- stream->write((uint64_t*)&cgen_var_222, 1 * 8);
- uint64_t cgen_var_223;
- stream->handleMapping()->mapHandles_VkEvent_u64(&local_event, &cgen_var_223, 1);
- stream->write((uint64_t*)&cgen_var_223, 1 * 8);
- VkResult vkResetEvent_VkResult_return = (VkResult)0;
- stream->read(&vkResetEvent_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkResetEvent");;
- return vkResetEvent_VkResult_return;
-}
-
-VkResult VkEncoder::vkCreateQueryPool(
- VkDevice device,
- const VkQueryPoolCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkQueryPool* pQueryPool)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateQueryPool");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkQueryPoolCreateInfo* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkQueryPoolCreateInfo*)pool->alloc(sizeof(const VkQueryPoolCreateInfo));
- deepcopy_VkQueryPoolCreateInfo(pool, pCreateInfo, (VkQueryPoolCreateInfo*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkQueryPoolCreateInfo(mImpl->resources(), (VkQueryPoolCreateInfo*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_224;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_224, 1);
- countingStream->write((uint64_t*)&cgen_var_224, 1 * 8);
- marshal_VkQueryPoolCreateInfo(countingStream, (VkQueryPoolCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_225 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_225);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_226;
- countingStream->handleMapping()->mapHandles_VkQueryPool_u64(pQueryPool, &cgen_var_226, 1);
- countingStream->write((uint64_t*)&cgen_var_226, 8);
- }
- uint32_t packetSize_vkCreateQueryPool = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateQueryPool = OP_vkCreateQueryPool;
- stream->write(&opcode_vkCreateQueryPool, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateQueryPool, sizeof(uint32_t));
- uint64_t cgen_var_227;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_227, 1);
- stream->write((uint64_t*)&cgen_var_227, 1 * 8);
- marshal_VkQueryPoolCreateInfo(stream, (VkQueryPoolCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_228 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_228);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_229;
- stream->handleMapping()->mapHandles_VkQueryPool_u64(pQueryPool, &cgen_var_229, 1);
- stream->write((uint64_t*)&cgen_var_229, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- stream->setHandleMapping(resources->createMapping());
- uint64_t cgen_var_230;
- stream->read((uint64_t*)&cgen_var_230, 8);
- stream->handleMapping()->mapHandles_u64_VkQueryPool(&cgen_var_230, (VkQueryPool*)pQueryPool, 1);
- stream->unsetHandleMapping();
- VkResult vkCreateQueryPool_VkResult_return = (VkResult)0;
- stream->read(&vkCreateQueryPool_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateQueryPool");;
- return vkCreateQueryPool_VkResult_return;
-}
-
-void VkEncoder::vkDestroyQueryPool(
- VkDevice device,
- VkQueryPool queryPool,
- const VkAllocationCallbacks* pAllocator)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkDestroyQueryPool");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkQueryPool local_queryPool;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_queryPool = queryPool;
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_231;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_231, 1);
- countingStream->write((uint64_t*)&cgen_var_231, 1 * 8);
- uint64_t cgen_var_232;
- countingStream->handleMapping()->mapHandles_VkQueryPool_u64(&local_queryPool, &cgen_var_232, 1);
- countingStream->write((uint64_t*)&cgen_var_232, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_233 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_233);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- }
- uint32_t packetSize_vkDestroyQueryPool = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkDestroyQueryPool = OP_vkDestroyQueryPool;
- stream->write(&opcode_vkDestroyQueryPool, sizeof(uint32_t));
- stream->write(&packetSize_vkDestroyQueryPool, sizeof(uint32_t));
- uint64_t cgen_var_234;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_234, 1);
- stream->write((uint64_t*)&cgen_var_234, 1 * 8);
- uint64_t cgen_var_235;
- stream->handleMapping()->mapHandles_VkQueryPool_u64(&local_queryPool, &cgen_var_235, 1);
- stream->write((uint64_t*)&cgen_var_235, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_236 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_236);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- resources->destroyMapping()->mapHandles_VkQueryPool((VkQueryPool*)&queryPool);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkDestroyQueryPool");;
-}
-
-VkResult VkEncoder::vkGetQueryPoolResults(
- VkDevice device,
- VkQueryPool queryPool,
- uint32_t firstQuery,
- uint32_t queryCount,
- size_t dataSize,
- void* pData,
- VkDeviceSize stride,
- VkQueryResultFlags flags)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetQueryPoolResults");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkQueryPool local_queryPool;
- uint32_t local_firstQuery;
- uint32_t local_queryCount;
- size_t local_dataSize;
- VkDeviceSize local_stride;
- VkQueryResultFlags local_flags;
- local_device = device;
- local_queryPool = queryPool;
- local_firstQuery = firstQuery;
- local_queryCount = queryCount;
- local_dataSize = dataSize;
- local_stride = stride;
- local_flags = flags;
- countingStream->rewind();
- {
- uint64_t cgen_var_237;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_237, 1);
- countingStream->write((uint64_t*)&cgen_var_237, 1 * 8);
- uint64_t cgen_var_238;
- countingStream->handleMapping()->mapHandles_VkQueryPool_u64(&local_queryPool, &cgen_var_238, 1);
- countingStream->write((uint64_t*)&cgen_var_238, 1 * 8);
- countingStream->write((uint32_t*)&local_firstQuery, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_queryCount, sizeof(uint32_t));
- uint64_t cgen_var_239 = (uint64_t)local_dataSize;
- countingStream->putBe64(cgen_var_239);
- countingStream->write((void*)pData, ((dataSize)) * sizeof(uint8_t));
- countingStream->write((VkDeviceSize*)&local_stride, sizeof(VkDeviceSize));
- countingStream->write((VkQueryResultFlags*)&local_flags, sizeof(VkQueryResultFlags));
- }
- uint32_t packetSize_vkGetQueryPoolResults = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetQueryPoolResults = OP_vkGetQueryPoolResults;
- stream->write(&opcode_vkGetQueryPoolResults, sizeof(uint32_t));
- stream->write(&packetSize_vkGetQueryPoolResults, sizeof(uint32_t));
- uint64_t cgen_var_240;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_240, 1);
- stream->write((uint64_t*)&cgen_var_240, 1 * 8);
- uint64_t cgen_var_241;
- stream->handleMapping()->mapHandles_VkQueryPool_u64(&local_queryPool, &cgen_var_241, 1);
- stream->write((uint64_t*)&cgen_var_241, 1 * 8);
- stream->write((uint32_t*)&local_firstQuery, sizeof(uint32_t));
- stream->write((uint32_t*)&local_queryCount, sizeof(uint32_t));
- uint64_t cgen_var_242 = (uint64_t)local_dataSize;
- stream->putBe64(cgen_var_242);
- stream->write((void*)pData, ((dataSize)) * sizeof(uint8_t));
- stream->write((VkDeviceSize*)&local_stride, sizeof(VkDeviceSize));
- stream->write((VkQueryResultFlags*)&local_flags, sizeof(VkQueryResultFlags));
- stream->read((void*)pData, ((dataSize)) * sizeof(uint8_t));
- VkResult vkGetQueryPoolResults_VkResult_return = (VkResult)0;
- stream->read(&vkGetQueryPoolResults_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetQueryPoolResults");;
- return vkGetQueryPoolResults_VkResult_return;
-}
-
-VkResult VkEncoder::vkCreateBuffer(
- VkDevice device,
- const VkBufferCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkBuffer* pBuffer)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateBuffer");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkBufferCreateInfo* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkBufferCreateInfo*)pool->alloc(sizeof(const VkBufferCreateInfo));
- deepcopy_VkBufferCreateInfo(pool, pCreateInfo, (VkBufferCreateInfo*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkBufferCreateInfo(mImpl->resources(), (VkBufferCreateInfo*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_243;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_243, 1);
- countingStream->write((uint64_t*)&cgen_var_243, 1 * 8);
- marshal_VkBufferCreateInfo(countingStream, (VkBufferCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_244 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_244);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_245;
- countingStream->handleMapping()->mapHandles_VkBuffer_u64(pBuffer, &cgen_var_245, 1);
- countingStream->write((uint64_t*)&cgen_var_245, 8);
- }
- uint32_t packetSize_vkCreateBuffer = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateBuffer = OP_vkCreateBuffer;
- stream->write(&opcode_vkCreateBuffer, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateBuffer, sizeof(uint32_t));
- uint64_t cgen_var_246;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_246, 1);
- stream->write((uint64_t*)&cgen_var_246, 1 * 8);
- marshal_VkBufferCreateInfo(stream, (VkBufferCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_247 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_247);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_248;
- stream->handleMapping()->mapHandles_VkBuffer_u64(pBuffer, &cgen_var_248, 1);
- stream->write((uint64_t*)&cgen_var_248, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- stream->setHandleMapping(resources->createMapping());
- uint64_t cgen_var_249;
- stream->read((uint64_t*)&cgen_var_249, 8);
- stream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_249, (VkBuffer*)pBuffer, 1);
- stream->unsetHandleMapping();
- VkResult vkCreateBuffer_VkResult_return = (VkResult)0;
- stream->read(&vkCreateBuffer_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateBuffer");;
- return vkCreateBuffer_VkResult_return;
-}
-
-void VkEncoder::vkDestroyBuffer(
- VkDevice device,
- VkBuffer buffer,
- const VkAllocationCallbacks* pAllocator)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkDestroyBuffer");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkBuffer local_buffer;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_buffer = buffer;
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_250;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_250, 1);
- countingStream->write((uint64_t*)&cgen_var_250, 1 * 8);
- uint64_t cgen_var_251;
- countingStream->handleMapping()->mapHandles_VkBuffer_u64(&local_buffer, &cgen_var_251, 1);
- countingStream->write((uint64_t*)&cgen_var_251, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_252 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_252);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- }
- uint32_t packetSize_vkDestroyBuffer = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkDestroyBuffer = OP_vkDestroyBuffer;
- stream->write(&opcode_vkDestroyBuffer, sizeof(uint32_t));
- stream->write(&packetSize_vkDestroyBuffer, sizeof(uint32_t));
- uint64_t cgen_var_253;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_253, 1);
- stream->write((uint64_t*)&cgen_var_253, 1 * 8);
- uint64_t cgen_var_254;
- stream->handleMapping()->mapHandles_VkBuffer_u64(&local_buffer, &cgen_var_254, 1);
- stream->write((uint64_t*)&cgen_var_254, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_255 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_255);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- resources->destroyMapping()->mapHandles_VkBuffer((VkBuffer*)&buffer);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkDestroyBuffer");;
-}
-
-VkResult VkEncoder::vkCreateBufferView(
- VkDevice device,
- const VkBufferViewCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkBufferView* pView)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateBufferView");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkBufferViewCreateInfo* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkBufferViewCreateInfo*)pool->alloc(sizeof(const VkBufferViewCreateInfo));
- deepcopy_VkBufferViewCreateInfo(pool, pCreateInfo, (VkBufferViewCreateInfo*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkBufferViewCreateInfo(mImpl->resources(), (VkBufferViewCreateInfo*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_256;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_256, 1);
- countingStream->write((uint64_t*)&cgen_var_256, 1 * 8);
- marshal_VkBufferViewCreateInfo(countingStream, (VkBufferViewCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_257 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_257);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_258;
- countingStream->handleMapping()->mapHandles_VkBufferView_u64(pView, &cgen_var_258, 1);
- countingStream->write((uint64_t*)&cgen_var_258, 8);
- }
- uint32_t packetSize_vkCreateBufferView = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateBufferView = OP_vkCreateBufferView;
- stream->write(&opcode_vkCreateBufferView, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateBufferView, sizeof(uint32_t));
- uint64_t cgen_var_259;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_259, 1);
- stream->write((uint64_t*)&cgen_var_259, 1 * 8);
- marshal_VkBufferViewCreateInfo(stream, (VkBufferViewCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_260 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_260);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_261;
- stream->handleMapping()->mapHandles_VkBufferView_u64(pView, &cgen_var_261, 1);
- stream->write((uint64_t*)&cgen_var_261, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- stream->setHandleMapping(resources->createMapping());
- uint64_t cgen_var_262;
- stream->read((uint64_t*)&cgen_var_262, 8);
- stream->handleMapping()->mapHandles_u64_VkBufferView(&cgen_var_262, (VkBufferView*)pView, 1);
- stream->unsetHandleMapping();
- VkResult vkCreateBufferView_VkResult_return = (VkResult)0;
- stream->read(&vkCreateBufferView_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateBufferView");;
- return vkCreateBufferView_VkResult_return;
-}
-
-void VkEncoder::vkDestroyBufferView(
- VkDevice device,
- VkBufferView bufferView,
- const VkAllocationCallbacks* pAllocator)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkDestroyBufferView");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkBufferView local_bufferView;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_bufferView = bufferView;
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_263;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_263, 1);
- countingStream->write((uint64_t*)&cgen_var_263, 1 * 8);
- uint64_t cgen_var_264;
- countingStream->handleMapping()->mapHandles_VkBufferView_u64(&local_bufferView, &cgen_var_264, 1);
- countingStream->write((uint64_t*)&cgen_var_264, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_265 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_265);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- }
- uint32_t packetSize_vkDestroyBufferView = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkDestroyBufferView = OP_vkDestroyBufferView;
- stream->write(&opcode_vkDestroyBufferView, sizeof(uint32_t));
- stream->write(&packetSize_vkDestroyBufferView, sizeof(uint32_t));
- uint64_t cgen_var_266;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_266, 1);
- stream->write((uint64_t*)&cgen_var_266, 1 * 8);
- uint64_t cgen_var_267;
- stream->handleMapping()->mapHandles_VkBufferView_u64(&local_bufferView, &cgen_var_267, 1);
- stream->write((uint64_t*)&cgen_var_267, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_268 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_268);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- resources->destroyMapping()->mapHandles_VkBufferView((VkBufferView*)&bufferView);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkDestroyBufferView");;
-}
-
-VkResult VkEncoder::vkCreateImage(
- VkDevice device,
- const VkImageCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkImage* pImage)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateImage");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkImageCreateInfo* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkImageCreateInfo*)pool->alloc(sizeof(const VkImageCreateInfo));
- deepcopy_VkImageCreateInfo(pool, pCreateInfo, (VkImageCreateInfo*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- mImpl->resources()->unwrap_VkNativeBufferANDROID(pCreateInfo, local_pCreateInfo);
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkImageCreateInfo(mImpl->resources(), (VkImageCreateInfo*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_269;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_269, 1);
- countingStream->write((uint64_t*)&cgen_var_269, 1 * 8);
- marshal_VkImageCreateInfo(countingStream, (VkImageCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_270 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_270);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_271;
- countingStream->handleMapping()->mapHandles_VkImage_u64(pImage, &cgen_var_271, 1);
- countingStream->write((uint64_t*)&cgen_var_271, 8);
- }
- uint32_t packetSize_vkCreateImage = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateImage = OP_vkCreateImage;
- stream->write(&opcode_vkCreateImage, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateImage, sizeof(uint32_t));
- uint64_t cgen_var_272;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_272, 1);
- stream->write((uint64_t*)&cgen_var_272, 1 * 8);
- marshal_VkImageCreateInfo(stream, (VkImageCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_273 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_273);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_274;
- stream->handleMapping()->mapHandles_VkImage_u64(pImage, &cgen_var_274, 1);
- stream->write((uint64_t*)&cgen_var_274, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- stream->setHandleMapping(resources->createMapping());
- uint64_t cgen_var_275;
- stream->read((uint64_t*)&cgen_var_275, 8);
- stream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_275, (VkImage*)pImage, 1);
- stream->unsetHandleMapping();
- VkResult vkCreateImage_VkResult_return = (VkResult)0;
- stream->read(&vkCreateImage_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateImage");;
- return vkCreateImage_VkResult_return;
-}
-
-void VkEncoder::vkDestroyImage(
- VkDevice device,
- VkImage image,
- const VkAllocationCallbacks* pAllocator)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkDestroyImage");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkImage local_image;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_image = image;
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_276;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_276, 1);
- countingStream->write((uint64_t*)&cgen_var_276, 1 * 8);
- uint64_t cgen_var_277;
- countingStream->handleMapping()->mapHandles_VkImage_u64(&local_image, &cgen_var_277, 1);
- countingStream->write((uint64_t*)&cgen_var_277, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_278 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_278);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- }
- uint32_t packetSize_vkDestroyImage = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkDestroyImage = OP_vkDestroyImage;
- stream->write(&opcode_vkDestroyImage, sizeof(uint32_t));
- stream->write(&packetSize_vkDestroyImage, sizeof(uint32_t));
- uint64_t cgen_var_279;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_279, 1);
- stream->write((uint64_t*)&cgen_var_279, 1 * 8);
- uint64_t cgen_var_280;
- stream->handleMapping()->mapHandles_VkImage_u64(&local_image, &cgen_var_280, 1);
- stream->write((uint64_t*)&cgen_var_280, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_281 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_281);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- resources->destroyMapping()->mapHandles_VkImage((VkImage*)&image);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkDestroyImage");;
-}
-
-void VkEncoder::vkGetImageSubresourceLayout(
- VkDevice device,
- VkImage image,
- const VkImageSubresource* pSubresource,
- VkSubresourceLayout* pLayout)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetImageSubresourceLayout");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkImage local_image;
- VkImageSubresource* local_pSubresource;
- local_device = device;
- local_image = image;
- local_pSubresource = nullptr;
- if (pSubresource)
- {
- local_pSubresource = (VkImageSubresource*)pool->alloc(sizeof(const VkImageSubresource));
- deepcopy_VkImageSubresource(pool, pSubresource, (VkImageSubresource*)(local_pSubresource));
- }
- if (local_pSubresource)
- {
- transform_tohost_VkImageSubresource(mImpl->resources(), (VkImageSubresource*)(local_pSubresource));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_282;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_282, 1);
- countingStream->write((uint64_t*)&cgen_var_282, 1 * 8);
- uint64_t cgen_var_283;
- countingStream->handleMapping()->mapHandles_VkImage_u64(&local_image, &cgen_var_283, 1);
- countingStream->write((uint64_t*)&cgen_var_283, 1 * 8);
- marshal_VkImageSubresource(countingStream, (VkImageSubresource*)(local_pSubresource));
- marshal_VkSubresourceLayout(countingStream, (VkSubresourceLayout*)(pLayout));
- }
- uint32_t packetSize_vkGetImageSubresourceLayout = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetImageSubresourceLayout = OP_vkGetImageSubresourceLayout;
- stream->write(&opcode_vkGetImageSubresourceLayout, sizeof(uint32_t));
- stream->write(&packetSize_vkGetImageSubresourceLayout, sizeof(uint32_t));
- uint64_t cgen_var_284;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_284, 1);
- stream->write((uint64_t*)&cgen_var_284, 1 * 8);
- uint64_t cgen_var_285;
- stream->handleMapping()->mapHandles_VkImage_u64(&local_image, &cgen_var_285, 1);
- stream->write((uint64_t*)&cgen_var_285, 1 * 8);
- marshal_VkImageSubresource(stream, (VkImageSubresource*)(local_pSubresource));
- marshal_VkSubresourceLayout(stream, (VkSubresourceLayout*)(pLayout));
- unmarshal_VkSubresourceLayout(stream, (VkSubresourceLayout*)(pLayout));
- if (pLayout)
- {
- transform_fromhost_VkSubresourceLayout(mImpl->resources(), (VkSubresourceLayout*)(pLayout));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetImageSubresourceLayout");;
-}
-
-VkResult VkEncoder::vkCreateImageView(
- VkDevice device,
- const VkImageViewCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkImageView* pView)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateImageView");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkImageViewCreateInfo* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkImageViewCreateInfo*)pool->alloc(sizeof(const VkImageViewCreateInfo));
- deepcopy_VkImageViewCreateInfo(pool, pCreateInfo, (VkImageViewCreateInfo*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkImageViewCreateInfo(mImpl->resources(), (VkImageViewCreateInfo*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_286;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_286, 1);
- countingStream->write((uint64_t*)&cgen_var_286, 1 * 8);
- marshal_VkImageViewCreateInfo(countingStream, (VkImageViewCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_287 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_287);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_288;
- countingStream->handleMapping()->mapHandles_VkImageView_u64(pView, &cgen_var_288, 1);
- countingStream->write((uint64_t*)&cgen_var_288, 8);
- }
- uint32_t packetSize_vkCreateImageView = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateImageView = OP_vkCreateImageView;
- stream->write(&opcode_vkCreateImageView, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateImageView, sizeof(uint32_t));
- uint64_t cgen_var_289;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_289, 1);
- stream->write((uint64_t*)&cgen_var_289, 1 * 8);
- marshal_VkImageViewCreateInfo(stream, (VkImageViewCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_290 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_290);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_291;
- stream->handleMapping()->mapHandles_VkImageView_u64(pView, &cgen_var_291, 1);
- stream->write((uint64_t*)&cgen_var_291, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- stream->setHandleMapping(resources->createMapping());
- uint64_t cgen_var_292;
- stream->read((uint64_t*)&cgen_var_292, 8);
- stream->handleMapping()->mapHandles_u64_VkImageView(&cgen_var_292, (VkImageView*)pView, 1);
- stream->unsetHandleMapping();
- VkResult vkCreateImageView_VkResult_return = (VkResult)0;
- stream->read(&vkCreateImageView_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateImageView");;
- return vkCreateImageView_VkResult_return;
-}
-
-void VkEncoder::vkDestroyImageView(
- VkDevice device,
- VkImageView imageView,
- const VkAllocationCallbacks* pAllocator)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkDestroyImageView");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkImageView local_imageView;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_imageView = imageView;
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_293;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_293, 1);
- countingStream->write((uint64_t*)&cgen_var_293, 1 * 8);
- uint64_t cgen_var_294;
- countingStream->handleMapping()->mapHandles_VkImageView_u64(&local_imageView, &cgen_var_294, 1);
- countingStream->write((uint64_t*)&cgen_var_294, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_295 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_295);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- }
- uint32_t packetSize_vkDestroyImageView = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkDestroyImageView = OP_vkDestroyImageView;
- stream->write(&opcode_vkDestroyImageView, sizeof(uint32_t));
- stream->write(&packetSize_vkDestroyImageView, sizeof(uint32_t));
- uint64_t cgen_var_296;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_296, 1);
- stream->write((uint64_t*)&cgen_var_296, 1 * 8);
- uint64_t cgen_var_297;
- stream->handleMapping()->mapHandles_VkImageView_u64(&local_imageView, &cgen_var_297, 1);
- stream->write((uint64_t*)&cgen_var_297, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_298 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_298);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- resources->destroyMapping()->mapHandles_VkImageView((VkImageView*)&imageView);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkDestroyImageView");;
-}
-
-VkResult VkEncoder::vkCreateShaderModule(
- VkDevice device,
- const VkShaderModuleCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkShaderModule* pShaderModule)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateShaderModule");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkShaderModuleCreateInfo* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkShaderModuleCreateInfo*)pool->alloc(sizeof(const VkShaderModuleCreateInfo));
- deepcopy_VkShaderModuleCreateInfo(pool, pCreateInfo, (VkShaderModuleCreateInfo*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkShaderModuleCreateInfo(mImpl->resources(), (VkShaderModuleCreateInfo*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_299;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_299, 1);
- countingStream->write((uint64_t*)&cgen_var_299, 1 * 8);
- marshal_VkShaderModuleCreateInfo(countingStream, (VkShaderModuleCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_300 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_300);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_301;
- countingStream->handleMapping()->mapHandles_VkShaderModule_u64(pShaderModule, &cgen_var_301, 1);
- countingStream->write((uint64_t*)&cgen_var_301, 8);
- }
- uint32_t packetSize_vkCreateShaderModule = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateShaderModule = OP_vkCreateShaderModule;
- stream->write(&opcode_vkCreateShaderModule, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateShaderModule, sizeof(uint32_t));
- uint64_t cgen_var_302;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_302, 1);
- stream->write((uint64_t*)&cgen_var_302, 1 * 8);
- marshal_VkShaderModuleCreateInfo(stream, (VkShaderModuleCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_303 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_303);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_304;
- stream->handleMapping()->mapHandles_VkShaderModule_u64(pShaderModule, &cgen_var_304, 1);
- stream->write((uint64_t*)&cgen_var_304, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- stream->setHandleMapping(resources->createMapping());
- uint64_t cgen_var_305;
- stream->read((uint64_t*)&cgen_var_305, 8);
- stream->handleMapping()->mapHandles_u64_VkShaderModule(&cgen_var_305, (VkShaderModule*)pShaderModule, 1);
- stream->unsetHandleMapping();
- VkResult vkCreateShaderModule_VkResult_return = (VkResult)0;
- stream->read(&vkCreateShaderModule_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateShaderModule");;
- return vkCreateShaderModule_VkResult_return;
-}
-
-void VkEncoder::vkDestroyShaderModule(
- VkDevice device,
- VkShaderModule shaderModule,
- const VkAllocationCallbacks* pAllocator)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkDestroyShaderModule");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkShaderModule local_shaderModule;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_shaderModule = shaderModule;
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_306;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_306, 1);
- countingStream->write((uint64_t*)&cgen_var_306, 1 * 8);
- uint64_t cgen_var_307;
- countingStream->handleMapping()->mapHandles_VkShaderModule_u64(&local_shaderModule, &cgen_var_307, 1);
- countingStream->write((uint64_t*)&cgen_var_307, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_308 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_308);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- }
- uint32_t packetSize_vkDestroyShaderModule = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkDestroyShaderModule = OP_vkDestroyShaderModule;
- stream->write(&opcode_vkDestroyShaderModule, sizeof(uint32_t));
- stream->write(&packetSize_vkDestroyShaderModule, sizeof(uint32_t));
- uint64_t cgen_var_309;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_309, 1);
- stream->write((uint64_t*)&cgen_var_309, 1 * 8);
- uint64_t cgen_var_310;
- stream->handleMapping()->mapHandles_VkShaderModule_u64(&local_shaderModule, &cgen_var_310, 1);
- stream->write((uint64_t*)&cgen_var_310, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_311 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_311);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- resources->destroyMapping()->mapHandles_VkShaderModule((VkShaderModule*)&shaderModule);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkDestroyShaderModule");;
-}
-
-VkResult VkEncoder::vkCreatePipelineCache(
- VkDevice device,
- const VkPipelineCacheCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkPipelineCache* pPipelineCache)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreatePipelineCache");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkPipelineCacheCreateInfo* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkPipelineCacheCreateInfo*)pool->alloc(sizeof(const VkPipelineCacheCreateInfo));
- deepcopy_VkPipelineCacheCreateInfo(pool, pCreateInfo, (VkPipelineCacheCreateInfo*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkPipelineCacheCreateInfo(mImpl->resources(), (VkPipelineCacheCreateInfo*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_312;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_312, 1);
- countingStream->write((uint64_t*)&cgen_var_312, 1 * 8);
- marshal_VkPipelineCacheCreateInfo(countingStream, (VkPipelineCacheCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_313 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_313);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_314;
- countingStream->handleMapping()->mapHandles_VkPipelineCache_u64(pPipelineCache, &cgen_var_314, 1);
- countingStream->write((uint64_t*)&cgen_var_314, 8);
- }
- uint32_t packetSize_vkCreatePipelineCache = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreatePipelineCache = OP_vkCreatePipelineCache;
- stream->write(&opcode_vkCreatePipelineCache, sizeof(uint32_t));
- stream->write(&packetSize_vkCreatePipelineCache, sizeof(uint32_t));
- uint64_t cgen_var_315;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_315, 1);
- stream->write((uint64_t*)&cgen_var_315, 1 * 8);
- marshal_VkPipelineCacheCreateInfo(stream, (VkPipelineCacheCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_316 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_316);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_317;
- stream->handleMapping()->mapHandles_VkPipelineCache_u64(pPipelineCache, &cgen_var_317, 1);
- stream->write((uint64_t*)&cgen_var_317, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- stream->setHandleMapping(resources->createMapping());
- uint64_t cgen_var_318;
- stream->read((uint64_t*)&cgen_var_318, 8);
- stream->handleMapping()->mapHandles_u64_VkPipelineCache(&cgen_var_318, (VkPipelineCache*)pPipelineCache, 1);
- stream->unsetHandleMapping();
- VkResult vkCreatePipelineCache_VkResult_return = (VkResult)0;
- stream->read(&vkCreatePipelineCache_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreatePipelineCache");;
- return vkCreatePipelineCache_VkResult_return;
-}
-
-void VkEncoder::vkDestroyPipelineCache(
- VkDevice device,
- VkPipelineCache pipelineCache,
- const VkAllocationCallbacks* pAllocator)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkDestroyPipelineCache");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkPipelineCache local_pipelineCache;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_pipelineCache = pipelineCache;
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_319;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_319, 1);
- countingStream->write((uint64_t*)&cgen_var_319, 1 * 8);
- uint64_t cgen_var_320;
- countingStream->handleMapping()->mapHandles_VkPipelineCache_u64(&local_pipelineCache, &cgen_var_320, 1);
- countingStream->write((uint64_t*)&cgen_var_320, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_321 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_321);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- }
- uint32_t packetSize_vkDestroyPipelineCache = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkDestroyPipelineCache = OP_vkDestroyPipelineCache;
- stream->write(&opcode_vkDestroyPipelineCache, sizeof(uint32_t));
- stream->write(&packetSize_vkDestroyPipelineCache, sizeof(uint32_t));
- uint64_t cgen_var_322;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_322, 1);
- stream->write((uint64_t*)&cgen_var_322, 1 * 8);
- uint64_t cgen_var_323;
- stream->handleMapping()->mapHandles_VkPipelineCache_u64(&local_pipelineCache, &cgen_var_323, 1);
- stream->write((uint64_t*)&cgen_var_323, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_324 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_324);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- resources->destroyMapping()->mapHandles_VkPipelineCache((VkPipelineCache*)&pipelineCache);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkDestroyPipelineCache");;
-}
-
-VkResult VkEncoder::vkGetPipelineCacheData(
- VkDevice device,
- VkPipelineCache pipelineCache,
- size_t* pDataSize,
- void* pData)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPipelineCacheData");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkPipelineCache local_pipelineCache;
- local_device = device;
- local_pipelineCache = pipelineCache;
- countingStream->rewind();
- {
- uint64_t cgen_var_325;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_325, 1);
- countingStream->write((uint64_t*)&cgen_var_325, 1 * 8);
- uint64_t cgen_var_326;
- countingStream->handleMapping()->mapHandles_VkPipelineCache_u64(&local_pipelineCache, &cgen_var_326, 1);
- countingStream->write((uint64_t*)&cgen_var_326, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_327 = (uint64_t)(uintptr_t)pDataSize;
- countingStream->putBe64(cgen_var_327);
- if (pDataSize)
- {
- uint64_t cgen_var_328 = (uint64_t)(*pDataSize);
- countingStream->putBe64(cgen_var_328);
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_329 = (uint64_t)(uintptr_t)pData;
- countingStream->putBe64(cgen_var_329);
- if (pData)
- {
- countingStream->write((void*)pData, (*(pDataSize)) * sizeof(uint8_t));
- }
- }
- uint32_t packetSize_vkGetPipelineCacheData = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPipelineCacheData = OP_vkGetPipelineCacheData;
- stream->write(&opcode_vkGetPipelineCacheData, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPipelineCacheData, sizeof(uint32_t));
- uint64_t cgen_var_330;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_330, 1);
- stream->write((uint64_t*)&cgen_var_330, 1 * 8);
- uint64_t cgen_var_331;
- stream->handleMapping()->mapHandles_VkPipelineCache_u64(&local_pipelineCache, &cgen_var_331, 1);
- stream->write((uint64_t*)&cgen_var_331, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_332 = (uint64_t)(uintptr_t)pDataSize;
- stream->putBe64(cgen_var_332);
- if (pDataSize)
- {
- uint64_t cgen_var_333 = (uint64_t)(*pDataSize);
- stream->putBe64(cgen_var_333);
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_334 = (uint64_t)(uintptr_t)pData;
- stream->putBe64(cgen_var_334);
- if (pData)
- {
- stream->write((void*)pData, (*(pDataSize)) * sizeof(uint8_t));
- }
- // WARNING PTR CHECK
- size_t* check_pDataSize;
- check_pDataSize = (size_t*)(uintptr_t)stream->getBe64();
- if (pDataSize)
- {
- if (!(check_pDataSize))
- {
- fprintf(stderr, "fatal: pDataSize inconsistent between guest and host\n");
- }
- (*pDataSize) = (size_t)stream->getBe64();
- }
- // WARNING PTR CHECK
- void* check_pData;
- check_pData = (void*)(uintptr_t)stream->getBe64();
- if (pData)
- {
- if (!(check_pData))
- {
- fprintf(stderr, "fatal: pData inconsistent between guest and host\n");
- }
- stream->read((void*)pData, (*(pDataSize)) * sizeof(uint8_t));
- }
- VkResult vkGetPipelineCacheData_VkResult_return = (VkResult)0;
- stream->read(&vkGetPipelineCacheData_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPipelineCacheData");;
- return vkGetPipelineCacheData_VkResult_return;
-}
-
-VkResult VkEncoder::vkMergePipelineCaches(
- VkDevice device,
- VkPipelineCache dstCache,
- uint32_t srcCacheCount,
- const VkPipelineCache* pSrcCaches)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkMergePipelineCaches");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkPipelineCache local_dstCache;
- uint32_t local_srcCacheCount;
- VkPipelineCache* local_pSrcCaches;
- local_device = device;
- local_dstCache = dstCache;
- local_srcCacheCount = srcCacheCount;
- local_pSrcCaches = nullptr;
- if (pSrcCaches)
- {
- local_pSrcCaches = (VkPipelineCache*)pool->dupArray(pSrcCaches, ((srcCacheCount)) * sizeof(const VkPipelineCache));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_338;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_338, 1);
- countingStream->write((uint64_t*)&cgen_var_338, 1 * 8);
- uint64_t cgen_var_339;
- countingStream->handleMapping()->mapHandles_VkPipelineCache_u64(&local_dstCache, &cgen_var_339, 1);
- countingStream->write((uint64_t*)&cgen_var_339, 1 * 8);
- countingStream->write((uint32_t*)&local_srcCacheCount, sizeof(uint32_t));
- if (((srcCacheCount)))
- {
- uint64_t* cgen_var_340;
- countingStream->alloc((void**)&cgen_var_340, ((srcCacheCount)) * 8);
- countingStream->handleMapping()->mapHandles_VkPipelineCache_u64(local_pSrcCaches, cgen_var_340, ((srcCacheCount)));
- countingStream->write((uint64_t*)cgen_var_340, ((srcCacheCount)) * 8);
- }
- }
- uint32_t packetSize_vkMergePipelineCaches = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkMergePipelineCaches = OP_vkMergePipelineCaches;
- stream->write(&opcode_vkMergePipelineCaches, sizeof(uint32_t));
- stream->write(&packetSize_vkMergePipelineCaches, sizeof(uint32_t));
- uint64_t cgen_var_341;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_341, 1);
- stream->write((uint64_t*)&cgen_var_341, 1 * 8);
- uint64_t cgen_var_342;
- stream->handleMapping()->mapHandles_VkPipelineCache_u64(&local_dstCache, &cgen_var_342, 1);
- stream->write((uint64_t*)&cgen_var_342, 1 * 8);
- stream->write((uint32_t*)&local_srcCacheCount, sizeof(uint32_t));
- if (((srcCacheCount)))
- {
- uint64_t* cgen_var_343;
- stream->alloc((void**)&cgen_var_343, ((srcCacheCount)) * 8);
- stream->handleMapping()->mapHandles_VkPipelineCache_u64(local_pSrcCaches, cgen_var_343, ((srcCacheCount)));
- stream->write((uint64_t*)cgen_var_343, ((srcCacheCount)) * 8);
- }
- VkResult vkMergePipelineCaches_VkResult_return = (VkResult)0;
- stream->read(&vkMergePipelineCaches_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkMergePipelineCaches");;
- return vkMergePipelineCaches_VkResult_return;
-}
-
-VkResult VkEncoder::vkCreateGraphicsPipelines(
- VkDevice device,
- VkPipelineCache pipelineCache,
- uint32_t createInfoCount,
- const VkGraphicsPipelineCreateInfo* pCreateInfos,
- const VkAllocationCallbacks* pAllocator,
- VkPipeline* pPipelines)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateGraphicsPipelines");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkPipelineCache local_pipelineCache;
- uint32_t local_createInfoCount;
- VkGraphicsPipelineCreateInfo* local_pCreateInfos;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_pipelineCache = pipelineCache;
- local_createInfoCount = createInfoCount;
- local_pCreateInfos = nullptr;
- if (pCreateInfos)
- {
- local_pCreateInfos = (VkGraphicsPipelineCreateInfo*)pool->alloc(((createInfoCount)) * sizeof(const VkGraphicsPipelineCreateInfo));
- for (uint32_t i = 0; i < (uint32_t)((createInfoCount)); ++i)
- {
- deepcopy_VkGraphicsPipelineCreateInfo(pool, pCreateInfos + i, (VkGraphicsPipelineCreateInfo*)(local_pCreateInfos + i));
- }
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfos)
- {
- for (uint32_t i = 0; i < (uint32_t)((createInfoCount)); ++i)
- {
- transform_tohost_VkGraphicsPipelineCreateInfo(mImpl->resources(), (VkGraphicsPipelineCreateInfo*)(local_pCreateInfos + i));
- }
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_344;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_344, 1);
- countingStream->write((uint64_t*)&cgen_var_344, 1 * 8);
- uint64_t cgen_var_345;
- countingStream->handleMapping()->mapHandles_VkPipelineCache_u64(&local_pipelineCache, &cgen_var_345, 1);
- countingStream->write((uint64_t*)&cgen_var_345, 1 * 8);
- countingStream->write((uint32_t*)&local_createInfoCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((createInfoCount)); ++i)
- {
- marshal_VkGraphicsPipelineCreateInfo(countingStream, (VkGraphicsPipelineCreateInfo*)(local_pCreateInfos + i));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_346 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_346);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- if (((createInfoCount)))
- {
- uint64_t* cgen_var_347;
- countingStream->alloc((void**)&cgen_var_347, ((createInfoCount)) * 8);
- countingStream->handleMapping()->mapHandles_VkPipeline_u64(pPipelines, cgen_var_347, ((createInfoCount)));
- countingStream->write((uint64_t*)cgen_var_347, ((createInfoCount)) * 8);
- }
- }
- uint32_t packetSize_vkCreateGraphicsPipelines = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateGraphicsPipelines = OP_vkCreateGraphicsPipelines;
- stream->write(&opcode_vkCreateGraphicsPipelines, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateGraphicsPipelines, sizeof(uint32_t));
- uint64_t cgen_var_348;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_348, 1);
- stream->write((uint64_t*)&cgen_var_348, 1 * 8);
- uint64_t cgen_var_349;
- stream->handleMapping()->mapHandles_VkPipelineCache_u64(&local_pipelineCache, &cgen_var_349, 1);
- stream->write((uint64_t*)&cgen_var_349, 1 * 8);
- stream->write((uint32_t*)&local_createInfoCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((createInfoCount)); ++i)
- {
- marshal_VkGraphicsPipelineCreateInfo(stream, (VkGraphicsPipelineCreateInfo*)(local_pCreateInfos + i));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_350 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_350);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- if (((createInfoCount)))
- {
- uint64_t* cgen_var_351;
- stream->alloc((void**)&cgen_var_351, ((createInfoCount)) * 8);
- stream->handleMapping()->mapHandles_VkPipeline_u64(pPipelines, cgen_var_351, ((createInfoCount)));
- stream->write((uint64_t*)cgen_var_351, ((createInfoCount)) * 8);
- }
- stream->setHandleMapping(resources->unwrapMapping());
- stream->setHandleMapping(resources->createMapping());
- if (((createInfoCount)))
- {
- uint64_t* cgen_var_352;
- stream->alloc((void**)&cgen_var_352, ((createInfoCount)) * 8);
- stream->read((uint64_t*)cgen_var_352, ((createInfoCount)) * 8);
- stream->handleMapping()->mapHandles_u64_VkPipeline(cgen_var_352, (VkPipeline*)pPipelines, ((createInfoCount)));
- }
- stream->unsetHandleMapping();
- VkResult vkCreateGraphicsPipelines_VkResult_return = (VkResult)0;
- stream->read(&vkCreateGraphicsPipelines_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateGraphicsPipelines");;
- return vkCreateGraphicsPipelines_VkResult_return;
-}
-
-VkResult VkEncoder::vkCreateComputePipelines(
- VkDevice device,
- VkPipelineCache pipelineCache,
- uint32_t createInfoCount,
- const VkComputePipelineCreateInfo* pCreateInfos,
- const VkAllocationCallbacks* pAllocator,
- VkPipeline* pPipelines)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateComputePipelines");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkPipelineCache local_pipelineCache;
- uint32_t local_createInfoCount;
- VkComputePipelineCreateInfo* local_pCreateInfos;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_pipelineCache = pipelineCache;
- local_createInfoCount = createInfoCount;
- local_pCreateInfos = nullptr;
- if (pCreateInfos)
- {
- local_pCreateInfos = (VkComputePipelineCreateInfo*)pool->alloc(((createInfoCount)) * sizeof(const VkComputePipelineCreateInfo));
- for (uint32_t i = 0; i < (uint32_t)((createInfoCount)); ++i)
- {
- deepcopy_VkComputePipelineCreateInfo(pool, pCreateInfos + i, (VkComputePipelineCreateInfo*)(local_pCreateInfos + i));
- }
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfos)
- {
- for (uint32_t i = 0; i < (uint32_t)((createInfoCount)); ++i)
- {
- transform_tohost_VkComputePipelineCreateInfo(mImpl->resources(), (VkComputePipelineCreateInfo*)(local_pCreateInfos + i));
- }
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_353;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_353, 1);
- countingStream->write((uint64_t*)&cgen_var_353, 1 * 8);
- uint64_t cgen_var_354;
- countingStream->handleMapping()->mapHandles_VkPipelineCache_u64(&local_pipelineCache, &cgen_var_354, 1);
- countingStream->write((uint64_t*)&cgen_var_354, 1 * 8);
- countingStream->write((uint32_t*)&local_createInfoCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((createInfoCount)); ++i)
- {
- marshal_VkComputePipelineCreateInfo(countingStream, (VkComputePipelineCreateInfo*)(local_pCreateInfos + i));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_355 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_355);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- if (((createInfoCount)))
- {
- uint64_t* cgen_var_356;
- countingStream->alloc((void**)&cgen_var_356, ((createInfoCount)) * 8);
- countingStream->handleMapping()->mapHandles_VkPipeline_u64(pPipelines, cgen_var_356, ((createInfoCount)));
- countingStream->write((uint64_t*)cgen_var_356, ((createInfoCount)) * 8);
- }
- }
- uint32_t packetSize_vkCreateComputePipelines = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateComputePipelines = OP_vkCreateComputePipelines;
- stream->write(&opcode_vkCreateComputePipelines, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateComputePipelines, sizeof(uint32_t));
- uint64_t cgen_var_357;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_357, 1);
- stream->write((uint64_t*)&cgen_var_357, 1 * 8);
- uint64_t cgen_var_358;
- stream->handleMapping()->mapHandles_VkPipelineCache_u64(&local_pipelineCache, &cgen_var_358, 1);
- stream->write((uint64_t*)&cgen_var_358, 1 * 8);
- stream->write((uint32_t*)&local_createInfoCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((createInfoCount)); ++i)
- {
- marshal_VkComputePipelineCreateInfo(stream, (VkComputePipelineCreateInfo*)(local_pCreateInfos + i));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_359 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_359);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- if (((createInfoCount)))
- {
- uint64_t* cgen_var_360;
- stream->alloc((void**)&cgen_var_360, ((createInfoCount)) * 8);
- stream->handleMapping()->mapHandles_VkPipeline_u64(pPipelines, cgen_var_360, ((createInfoCount)));
- stream->write((uint64_t*)cgen_var_360, ((createInfoCount)) * 8);
- }
- stream->setHandleMapping(resources->unwrapMapping());
- stream->setHandleMapping(resources->createMapping());
- if (((createInfoCount)))
- {
- uint64_t* cgen_var_361;
- stream->alloc((void**)&cgen_var_361, ((createInfoCount)) * 8);
- stream->read((uint64_t*)cgen_var_361, ((createInfoCount)) * 8);
- stream->handleMapping()->mapHandles_u64_VkPipeline(cgen_var_361, (VkPipeline*)pPipelines, ((createInfoCount)));
- }
- stream->unsetHandleMapping();
- VkResult vkCreateComputePipelines_VkResult_return = (VkResult)0;
- stream->read(&vkCreateComputePipelines_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateComputePipelines");;
- return vkCreateComputePipelines_VkResult_return;
-}
-
-void VkEncoder::vkDestroyPipeline(
- VkDevice device,
- VkPipeline pipeline,
- const VkAllocationCallbacks* pAllocator)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkDestroyPipeline");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkPipeline local_pipeline;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_pipeline = pipeline;
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_362;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_362, 1);
- countingStream->write((uint64_t*)&cgen_var_362, 1 * 8);
- uint64_t cgen_var_363;
- countingStream->handleMapping()->mapHandles_VkPipeline_u64(&local_pipeline, &cgen_var_363, 1);
- countingStream->write((uint64_t*)&cgen_var_363, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_364 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_364);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- }
- uint32_t packetSize_vkDestroyPipeline = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkDestroyPipeline = OP_vkDestroyPipeline;
- stream->write(&opcode_vkDestroyPipeline, sizeof(uint32_t));
- stream->write(&packetSize_vkDestroyPipeline, sizeof(uint32_t));
- uint64_t cgen_var_365;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_365, 1);
- stream->write((uint64_t*)&cgen_var_365, 1 * 8);
- uint64_t cgen_var_366;
- stream->handleMapping()->mapHandles_VkPipeline_u64(&local_pipeline, &cgen_var_366, 1);
- stream->write((uint64_t*)&cgen_var_366, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_367 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_367);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- resources->destroyMapping()->mapHandles_VkPipeline((VkPipeline*)&pipeline);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkDestroyPipeline");;
-}
-
-VkResult VkEncoder::vkCreatePipelineLayout(
- VkDevice device,
- const VkPipelineLayoutCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkPipelineLayout* pPipelineLayout)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreatePipelineLayout");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkPipelineLayoutCreateInfo* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkPipelineLayoutCreateInfo*)pool->alloc(sizeof(const VkPipelineLayoutCreateInfo));
- deepcopy_VkPipelineLayoutCreateInfo(pool, pCreateInfo, (VkPipelineLayoutCreateInfo*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkPipelineLayoutCreateInfo(mImpl->resources(), (VkPipelineLayoutCreateInfo*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_368;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_368, 1);
- countingStream->write((uint64_t*)&cgen_var_368, 1 * 8);
- marshal_VkPipelineLayoutCreateInfo(countingStream, (VkPipelineLayoutCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_369 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_369);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_370;
- countingStream->handleMapping()->mapHandles_VkPipelineLayout_u64(pPipelineLayout, &cgen_var_370, 1);
- countingStream->write((uint64_t*)&cgen_var_370, 8);
- }
- uint32_t packetSize_vkCreatePipelineLayout = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreatePipelineLayout = OP_vkCreatePipelineLayout;
- stream->write(&opcode_vkCreatePipelineLayout, sizeof(uint32_t));
- stream->write(&packetSize_vkCreatePipelineLayout, sizeof(uint32_t));
- uint64_t cgen_var_371;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_371, 1);
- stream->write((uint64_t*)&cgen_var_371, 1 * 8);
- marshal_VkPipelineLayoutCreateInfo(stream, (VkPipelineLayoutCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_372 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_372);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_373;
- stream->handleMapping()->mapHandles_VkPipelineLayout_u64(pPipelineLayout, &cgen_var_373, 1);
- stream->write((uint64_t*)&cgen_var_373, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- stream->setHandleMapping(resources->createMapping());
- uint64_t cgen_var_374;
- stream->read((uint64_t*)&cgen_var_374, 8);
- stream->handleMapping()->mapHandles_u64_VkPipelineLayout(&cgen_var_374, (VkPipelineLayout*)pPipelineLayout, 1);
- stream->unsetHandleMapping();
- VkResult vkCreatePipelineLayout_VkResult_return = (VkResult)0;
- stream->read(&vkCreatePipelineLayout_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreatePipelineLayout");;
- return vkCreatePipelineLayout_VkResult_return;
-}
-
-void VkEncoder::vkDestroyPipelineLayout(
- VkDevice device,
- VkPipelineLayout pipelineLayout,
- const VkAllocationCallbacks* pAllocator)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkDestroyPipelineLayout");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkPipelineLayout local_pipelineLayout;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_pipelineLayout = pipelineLayout;
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_375;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_375, 1);
- countingStream->write((uint64_t*)&cgen_var_375, 1 * 8);
- uint64_t cgen_var_376;
- countingStream->handleMapping()->mapHandles_VkPipelineLayout_u64(&local_pipelineLayout, &cgen_var_376, 1);
- countingStream->write((uint64_t*)&cgen_var_376, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_377 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_377);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- }
- uint32_t packetSize_vkDestroyPipelineLayout = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkDestroyPipelineLayout = OP_vkDestroyPipelineLayout;
- stream->write(&opcode_vkDestroyPipelineLayout, sizeof(uint32_t));
- stream->write(&packetSize_vkDestroyPipelineLayout, sizeof(uint32_t));
- uint64_t cgen_var_378;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_378, 1);
- stream->write((uint64_t*)&cgen_var_378, 1 * 8);
- uint64_t cgen_var_379;
- stream->handleMapping()->mapHandles_VkPipelineLayout_u64(&local_pipelineLayout, &cgen_var_379, 1);
- stream->write((uint64_t*)&cgen_var_379, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_380 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_380);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- resources->destroyMapping()->mapHandles_VkPipelineLayout((VkPipelineLayout*)&pipelineLayout);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkDestroyPipelineLayout");;
-}
-
-VkResult VkEncoder::vkCreateSampler(
- VkDevice device,
- const VkSamplerCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSampler* pSampler)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateSampler");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkSamplerCreateInfo* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkSamplerCreateInfo*)pool->alloc(sizeof(const VkSamplerCreateInfo));
- deepcopy_VkSamplerCreateInfo(pool, pCreateInfo, (VkSamplerCreateInfo*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkSamplerCreateInfo(mImpl->resources(), (VkSamplerCreateInfo*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_381;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_381, 1);
- countingStream->write((uint64_t*)&cgen_var_381, 1 * 8);
- marshal_VkSamplerCreateInfo(countingStream, (VkSamplerCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_382 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_382);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_383;
- countingStream->handleMapping()->mapHandles_VkSampler_u64(pSampler, &cgen_var_383, 1);
- countingStream->write((uint64_t*)&cgen_var_383, 8);
- }
- uint32_t packetSize_vkCreateSampler = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateSampler = OP_vkCreateSampler;
- stream->write(&opcode_vkCreateSampler, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateSampler, sizeof(uint32_t));
- uint64_t cgen_var_384;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_384, 1);
- stream->write((uint64_t*)&cgen_var_384, 1 * 8);
- marshal_VkSamplerCreateInfo(stream, (VkSamplerCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_385 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_385);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_386;
- stream->handleMapping()->mapHandles_VkSampler_u64(pSampler, &cgen_var_386, 1);
- stream->write((uint64_t*)&cgen_var_386, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- stream->setHandleMapping(resources->createMapping());
- uint64_t cgen_var_387;
- stream->read((uint64_t*)&cgen_var_387, 8);
- stream->handleMapping()->mapHandles_u64_VkSampler(&cgen_var_387, (VkSampler*)pSampler, 1);
- stream->unsetHandleMapping();
- VkResult vkCreateSampler_VkResult_return = (VkResult)0;
- stream->read(&vkCreateSampler_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateSampler");;
- return vkCreateSampler_VkResult_return;
-}
-
-void VkEncoder::vkDestroySampler(
- VkDevice device,
- VkSampler sampler,
- const VkAllocationCallbacks* pAllocator)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkDestroySampler");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkSampler local_sampler;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_sampler = sampler;
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_388;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_388, 1);
- countingStream->write((uint64_t*)&cgen_var_388, 1 * 8);
- uint64_t cgen_var_389;
- countingStream->handleMapping()->mapHandles_VkSampler_u64(&local_sampler, &cgen_var_389, 1);
- countingStream->write((uint64_t*)&cgen_var_389, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_390 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_390);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- }
- uint32_t packetSize_vkDestroySampler = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkDestroySampler = OP_vkDestroySampler;
- stream->write(&opcode_vkDestroySampler, sizeof(uint32_t));
- stream->write(&packetSize_vkDestroySampler, sizeof(uint32_t));
- uint64_t cgen_var_391;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_391, 1);
- stream->write((uint64_t*)&cgen_var_391, 1 * 8);
- uint64_t cgen_var_392;
- stream->handleMapping()->mapHandles_VkSampler_u64(&local_sampler, &cgen_var_392, 1);
- stream->write((uint64_t*)&cgen_var_392, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_393 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_393);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- resources->destroyMapping()->mapHandles_VkSampler((VkSampler*)&sampler);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkDestroySampler");;
-}
-
-VkResult VkEncoder::vkCreateDescriptorSetLayout(
- VkDevice device,
- const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkDescriptorSetLayout* pSetLayout)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateDescriptorSetLayout");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkDescriptorSetLayoutCreateInfo* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkDescriptorSetLayoutCreateInfo*)pool->alloc(sizeof(const VkDescriptorSetLayoutCreateInfo));
- deepcopy_VkDescriptorSetLayoutCreateInfo(pool, pCreateInfo, (VkDescriptorSetLayoutCreateInfo*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkDescriptorSetLayoutCreateInfo(mImpl->resources(), (VkDescriptorSetLayoutCreateInfo*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_394;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_394, 1);
- countingStream->write((uint64_t*)&cgen_var_394, 1 * 8);
- marshal_VkDescriptorSetLayoutCreateInfo(countingStream, (VkDescriptorSetLayoutCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_395 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_395);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_396;
- countingStream->handleMapping()->mapHandles_VkDescriptorSetLayout_u64(pSetLayout, &cgen_var_396, 1);
- countingStream->write((uint64_t*)&cgen_var_396, 8);
- }
- uint32_t packetSize_vkCreateDescriptorSetLayout = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateDescriptorSetLayout = OP_vkCreateDescriptorSetLayout;
- stream->write(&opcode_vkCreateDescriptorSetLayout, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateDescriptorSetLayout, sizeof(uint32_t));
- uint64_t cgen_var_397;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_397, 1);
- stream->write((uint64_t*)&cgen_var_397, 1 * 8);
- marshal_VkDescriptorSetLayoutCreateInfo(stream, (VkDescriptorSetLayoutCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_398 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_398);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_399;
- stream->handleMapping()->mapHandles_VkDescriptorSetLayout_u64(pSetLayout, &cgen_var_399, 1);
- stream->write((uint64_t*)&cgen_var_399, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- stream->setHandleMapping(resources->createMapping());
- uint64_t cgen_var_400;
- stream->read((uint64_t*)&cgen_var_400, 8);
- stream->handleMapping()->mapHandles_u64_VkDescriptorSetLayout(&cgen_var_400, (VkDescriptorSetLayout*)pSetLayout, 1);
- stream->unsetHandleMapping();
- VkResult vkCreateDescriptorSetLayout_VkResult_return = (VkResult)0;
- stream->read(&vkCreateDescriptorSetLayout_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateDescriptorSetLayout");;
- return vkCreateDescriptorSetLayout_VkResult_return;
-}
-
-void VkEncoder::vkDestroyDescriptorSetLayout(
- VkDevice device,
- VkDescriptorSetLayout descriptorSetLayout,
- const VkAllocationCallbacks* pAllocator)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkDestroyDescriptorSetLayout");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkDescriptorSetLayout local_descriptorSetLayout;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_descriptorSetLayout = descriptorSetLayout;
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_401;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_401, 1);
- countingStream->write((uint64_t*)&cgen_var_401, 1 * 8);
- uint64_t cgen_var_402;
- countingStream->handleMapping()->mapHandles_VkDescriptorSetLayout_u64(&local_descriptorSetLayout, &cgen_var_402, 1);
- countingStream->write((uint64_t*)&cgen_var_402, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_403 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_403);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- }
- uint32_t packetSize_vkDestroyDescriptorSetLayout = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkDestroyDescriptorSetLayout = OP_vkDestroyDescriptorSetLayout;
- stream->write(&opcode_vkDestroyDescriptorSetLayout, sizeof(uint32_t));
- stream->write(&packetSize_vkDestroyDescriptorSetLayout, sizeof(uint32_t));
- uint64_t cgen_var_404;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_404, 1);
- stream->write((uint64_t*)&cgen_var_404, 1 * 8);
- uint64_t cgen_var_405;
- stream->handleMapping()->mapHandles_VkDescriptorSetLayout_u64(&local_descriptorSetLayout, &cgen_var_405, 1);
- stream->write((uint64_t*)&cgen_var_405, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_406 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_406);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- resources->destroyMapping()->mapHandles_VkDescriptorSetLayout((VkDescriptorSetLayout*)&descriptorSetLayout);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkDestroyDescriptorSetLayout");;
-}
-
-VkResult VkEncoder::vkCreateDescriptorPool(
- VkDevice device,
- const VkDescriptorPoolCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkDescriptorPool* pDescriptorPool)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateDescriptorPool");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkDescriptorPoolCreateInfo* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkDescriptorPoolCreateInfo*)pool->alloc(sizeof(const VkDescriptorPoolCreateInfo));
- deepcopy_VkDescriptorPoolCreateInfo(pool, pCreateInfo, (VkDescriptorPoolCreateInfo*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkDescriptorPoolCreateInfo(mImpl->resources(), (VkDescriptorPoolCreateInfo*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_407;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_407, 1);
- countingStream->write((uint64_t*)&cgen_var_407, 1 * 8);
- marshal_VkDescriptorPoolCreateInfo(countingStream, (VkDescriptorPoolCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_408 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_408);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_409;
- countingStream->handleMapping()->mapHandles_VkDescriptorPool_u64(pDescriptorPool, &cgen_var_409, 1);
- countingStream->write((uint64_t*)&cgen_var_409, 8);
- }
- uint32_t packetSize_vkCreateDescriptorPool = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateDescriptorPool = OP_vkCreateDescriptorPool;
- stream->write(&opcode_vkCreateDescriptorPool, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateDescriptorPool, sizeof(uint32_t));
- uint64_t cgen_var_410;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_410, 1);
- stream->write((uint64_t*)&cgen_var_410, 1 * 8);
- marshal_VkDescriptorPoolCreateInfo(stream, (VkDescriptorPoolCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_411 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_411);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_412;
- stream->handleMapping()->mapHandles_VkDescriptorPool_u64(pDescriptorPool, &cgen_var_412, 1);
- stream->write((uint64_t*)&cgen_var_412, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- stream->setHandleMapping(resources->createMapping());
- uint64_t cgen_var_413;
- stream->read((uint64_t*)&cgen_var_413, 8);
- stream->handleMapping()->mapHandles_u64_VkDescriptorPool(&cgen_var_413, (VkDescriptorPool*)pDescriptorPool, 1);
- stream->unsetHandleMapping();
- VkResult vkCreateDescriptorPool_VkResult_return = (VkResult)0;
- stream->read(&vkCreateDescriptorPool_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateDescriptorPool");;
- return vkCreateDescriptorPool_VkResult_return;
-}
-
-void VkEncoder::vkDestroyDescriptorPool(
- VkDevice device,
- VkDescriptorPool descriptorPool,
- const VkAllocationCallbacks* pAllocator)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkDestroyDescriptorPool");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkDescriptorPool local_descriptorPool;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_descriptorPool = descriptorPool;
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_414;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_414, 1);
- countingStream->write((uint64_t*)&cgen_var_414, 1 * 8);
- uint64_t cgen_var_415;
- countingStream->handleMapping()->mapHandles_VkDescriptorPool_u64(&local_descriptorPool, &cgen_var_415, 1);
- countingStream->write((uint64_t*)&cgen_var_415, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_416 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_416);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- }
- uint32_t packetSize_vkDestroyDescriptorPool = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkDestroyDescriptorPool = OP_vkDestroyDescriptorPool;
- stream->write(&opcode_vkDestroyDescriptorPool, sizeof(uint32_t));
- stream->write(&packetSize_vkDestroyDescriptorPool, sizeof(uint32_t));
- uint64_t cgen_var_417;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_417, 1);
- stream->write((uint64_t*)&cgen_var_417, 1 * 8);
- uint64_t cgen_var_418;
- stream->handleMapping()->mapHandles_VkDescriptorPool_u64(&local_descriptorPool, &cgen_var_418, 1);
- stream->write((uint64_t*)&cgen_var_418, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_419 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_419);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- resources->destroyMapping()->mapHandles_VkDescriptorPool((VkDescriptorPool*)&descriptorPool);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkDestroyDescriptorPool");;
-}
-
-VkResult VkEncoder::vkResetDescriptorPool(
- VkDevice device,
- VkDescriptorPool descriptorPool,
- VkDescriptorPoolResetFlags flags)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkResetDescriptorPool");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkDescriptorPool local_descriptorPool;
- VkDescriptorPoolResetFlags local_flags;
- local_device = device;
- local_descriptorPool = descriptorPool;
- local_flags = flags;
- countingStream->rewind();
- {
- uint64_t cgen_var_420;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_420, 1);
- countingStream->write((uint64_t*)&cgen_var_420, 1 * 8);
- uint64_t cgen_var_421;
- countingStream->handleMapping()->mapHandles_VkDescriptorPool_u64(&local_descriptorPool, &cgen_var_421, 1);
- countingStream->write((uint64_t*)&cgen_var_421, 1 * 8);
- countingStream->write((VkDescriptorPoolResetFlags*)&local_flags, sizeof(VkDescriptorPoolResetFlags));
- }
- uint32_t packetSize_vkResetDescriptorPool = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkResetDescriptorPool = OP_vkResetDescriptorPool;
- stream->write(&opcode_vkResetDescriptorPool, sizeof(uint32_t));
- stream->write(&packetSize_vkResetDescriptorPool, sizeof(uint32_t));
- uint64_t cgen_var_422;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_422, 1);
- stream->write((uint64_t*)&cgen_var_422, 1 * 8);
- uint64_t cgen_var_423;
- stream->handleMapping()->mapHandles_VkDescriptorPool_u64(&local_descriptorPool, &cgen_var_423, 1);
- stream->write((uint64_t*)&cgen_var_423, 1 * 8);
- stream->write((VkDescriptorPoolResetFlags*)&local_flags, sizeof(VkDescriptorPoolResetFlags));
- VkResult vkResetDescriptorPool_VkResult_return = (VkResult)0;
- stream->read(&vkResetDescriptorPool_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkResetDescriptorPool");;
- return vkResetDescriptorPool_VkResult_return;
-}
-
-VkResult VkEncoder::vkAllocateDescriptorSets(
- VkDevice device,
- const VkDescriptorSetAllocateInfo* pAllocateInfo,
- VkDescriptorSet* pDescriptorSets)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkAllocateDescriptorSets");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkDescriptorSetAllocateInfo* local_pAllocateInfo;
- local_device = device;
- local_pAllocateInfo = nullptr;
- if (pAllocateInfo)
- {
- local_pAllocateInfo = (VkDescriptorSetAllocateInfo*)pool->alloc(sizeof(const VkDescriptorSetAllocateInfo));
- deepcopy_VkDescriptorSetAllocateInfo(pool, pAllocateInfo, (VkDescriptorSetAllocateInfo*)(local_pAllocateInfo));
- }
- if (local_pAllocateInfo)
- {
- transform_tohost_VkDescriptorSetAllocateInfo(mImpl->resources(), (VkDescriptorSetAllocateInfo*)(local_pAllocateInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_424;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_424, 1);
- countingStream->write((uint64_t*)&cgen_var_424, 1 * 8);
- marshal_VkDescriptorSetAllocateInfo(countingStream, (VkDescriptorSetAllocateInfo*)(local_pAllocateInfo));
- if (pAllocateInfo->descriptorSetCount)
- {
- uint64_t* cgen_var_425;
- countingStream->alloc((void**)&cgen_var_425, pAllocateInfo->descriptorSetCount * 8);
- countingStream->handleMapping()->mapHandles_VkDescriptorSet_u64(pDescriptorSets, cgen_var_425, pAllocateInfo->descriptorSetCount);
- countingStream->write((uint64_t*)cgen_var_425, pAllocateInfo->descriptorSetCount * 8);
- }
- }
- uint32_t packetSize_vkAllocateDescriptorSets = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkAllocateDescriptorSets = OP_vkAllocateDescriptorSets;
- stream->write(&opcode_vkAllocateDescriptorSets, sizeof(uint32_t));
- stream->write(&packetSize_vkAllocateDescriptorSets, sizeof(uint32_t));
- uint64_t cgen_var_426;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_426, 1);
- stream->write((uint64_t*)&cgen_var_426, 1 * 8);
- marshal_VkDescriptorSetAllocateInfo(stream, (VkDescriptorSetAllocateInfo*)(local_pAllocateInfo));
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- if (pAllocateInfo->descriptorSetCount)
- {
- uint64_t* cgen_var_427;
- stream->alloc((void**)&cgen_var_427, pAllocateInfo->descriptorSetCount * 8);
- stream->handleMapping()->mapHandles_VkDescriptorSet_u64(pDescriptorSets, cgen_var_427, pAllocateInfo->descriptorSetCount);
- stream->write((uint64_t*)cgen_var_427, pAllocateInfo->descriptorSetCount * 8);
- }
- stream->setHandleMapping(resources->unwrapMapping());
- stream->setHandleMapping(resources->createMapping());
- if (pAllocateInfo->descriptorSetCount)
- {
- uint64_t* cgen_var_428;
- stream->alloc((void**)&cgen_var_428, pAllocateInfo->descriptorSetCount * 8);
- stream->read((uint64_t*)cgen_var_428, pAllocateInfo->descriptorSetCount * 8);
- stream->handleMapping()->mapHandles_u64_VkDescriptorSet(cgen_var_428, (VkDescriptorSet*)pDescriptorSets, pAllocateInfo->descriptorSetCount);
- }
- stream->unsetHandleMapping();
- VkResult vkAllocateDescriptorSets_VkResult_return = (VkResult)0;
- stream->read(&vkAllocateDescriptorSets_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkAllocateDescriptorSets");;
- return vkAllocateDescriptorSets_VkResult_return;
-}
-
-VkResult VkEncoder::vkFreeDescriptorSets(
- VkDevice device,
- VkDescriptorPool descriptorPool,
- uint32_t descriptorSetCount,
- const VkDescriptorSet* pDescriptorSets)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkFreeDescriptorSets");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkDescriptorPool local_descriptorPool;
- uint32_t local_descriptorSetCount;
- VkDescriptorSet* local_pDescriptorSets;
- local_device = device;
- local_descriptorPool = descriptorPool;
- local_descriptorSetCount = descriptorSetCount;
- local_pDescriptorSets = nullptr;
- if (pDescriptorSets)
- {
- local_pDescriptorSets = (VkDescriptorSet*)pool->dupArray(pDescriptorSets, ((descriptorSetCount)) * sizeof(const VkDescriptorSet));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_429;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_429, 1);
- countingStream->write((uint64_t*)&cgen_var_429, 1 * 8);
- uint64_t cgen_var_430;
- countingStream->handleMapping()->mapHandles_VkDescriptorPool_u64(&local_descriptorPool, &cgen_var_430, 1);
- countingStream->write((uint64_t*)&cgen_var_430, 1 * 8);
- countingStream->write((uint32_t*)&local_descriptorSetCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- uint64_t cgen_var_431 = (uint64_t)(uintptr_t)local_pDescriptorSets;
- countingStream->putBe64(cgen_var_431);
- if (local_pDescriptorSets)
- {
- if (((descriptorSetCount)))
- {
- uint64_t* cgen_var_432;
- countingStream->alloc((void**)&cgen_var_432, ((descriptorSetCount)) * 8);
- countingStream->handleMapping()->mapHandles_VkDescriptorSet_u64(local_pDescriptorSets, cgen_var_432, ((descriptorSetCount)));
- countingStream->write((uint64_t*)cgen_var_432, ((descriptorSetCount)) * 8);
- }
- }
- }
- uint32_t packetSize_vkFreeDescriptorSets = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkFreeDescriptorSets = OP_vkFreeDescriptorSets;
- stream->write(&opcode_vkFreeDescriptorSets, sizeof(uint32_t));
- stream->write(&packetSize_vkFreeDescriptorSets, sizeof(uint32_t));
- uint64_t cgen_var_433;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_433, 1);
- stream->write((uint64_t*)&cgen_var_433, 1 * 8);
- uint64_t cgen_var_434;
- stream->handleMapping()->mapHandles_VkDescriptorPool_u64(&local_descriptorPool, &cgen_var_434, 1);
- stream->write((uint64_t*)&cgen_var_434, 1 * 8);
- stream->write((uint32_t*)&local_descriptorSetCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- uint64_t cgen_var_435 = (uint64_t)(uintptr_t)local_pDescriptorSets;
- stream->putBe64(cgen_var_435);
- if (local_pDescriptorSets)
- {
- if (((descriptorSetCount)))
- {
- uint64_t* cgen_var_436;
- stream->alloc((void**)&cgen_var_436, ((descriptorSetCount)) * 8);
- stream->handleMapping()->mapHandles_VkDescriptorSet_u64(local_pDescriptorSets, cgen_var_436, ((descriptorSetCount)));
- stream->write((uint64_t*)cgen_var_436, ((descriptorSetCount)) * 8);
- }
- }
- VkResult vkFreeDescriptorSets_VkResult_return = (VkResult)0;
- stream->read(&vkFreeDescriptorSets_VkResult_return, sizeof(VkResult));
- if (pDescriptorSets)
- {
- resources->destroyMapping()->mapHandles_VkDescriptorSet((VkDescriptorSet*)pDescriptorSets, ((descriptorSetCount)));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkFreeDescriptorSets");;
- return vkFreeDescriptorSets_VkResult_return;
-}
-
-void VkEncoder::vkUpdateDescriptorSets(
- VkDevice device,
- uint32_t descriptorWriteCount,
- const VkWriteDescriptorSet* pDescriptorWrites,
- uint32_t descriptorCopyCount,
- const VkCopyDescriptorSet* pDescriptorCopies)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkUpdateDescriptorSets");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- uint32_t local_descriptorWriteCount;
- VkWriteDescriptorSet* local_pDescriptorWrites;
- uint32_t local_descriptorCopyCount;
- VkCopyDescriptorSet* local_pDescriptorCopies;
- local_device = device;
- local_descriptorWriteCount = descriptorWriteCount;
- local_pDescriptorWrites = nullptr;
- if (pDescriptorWrites)
- {
- local_pDescriptorWrites = (VkWriteDescriptorSet*)pool->alloc(((descriptorWriteCount)) * sizeof(const VkWriteDescriptorSet));
- for (uint32_t i = 0; i < (uint32_t)((descriptorWriteCount)); ++i)
- {
- deepcopy_VkWriteDescriptorSet(pool, pDescriptorWrites + i, (VkWriteDescriptorSet*)(local_pDescriptorWrites + i));
- }
- }
- local_descriptorCopyCount = descriptorCopyCount;
- local_pDescriptorCopies = nullptr;
- if (pDescriptorCopies)
- {
- local_pDescriptorCopies = (VkCopyDescriptorSet*)pool->alloc(((descriptorCopyCount)) * sizeof(const VkCopyDescriptorSet));
- for (uint32_t i = 0; i < (uint32_t)((descriptorCopyCount)); ++i)
- {
- deepcopy_VkCopyDescriptorSet(pool, pDescriptorCopies + i, (VkCopyDescriptorSet*)(local_pDescriptorCopies + i));
- }
- }
- if (local_pDescriptorWrites)
- {
- for (uint32_t i = 0; i < (uint32_t)((descriptorWriteCount)); ++i)
- {
- transform_tohost_VkWriteDescriptorSet(mImpl->resources(), (VkWriteDescriptorSet*)(local_pDescriptorWrites + i));
- }
- }
- if (local_pDescriptorCopies)
- {
- for (uint32_t i = 0; i < (uint32_t)((descriptorCopyCount)); ++i)
- {
- transform_tohost_VkCopyDescriptorSet(mImpl->resources(), (VkCopyDescriptorSet*)(local_pDescriptorCopies + i));
- }
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_437;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_437, 1);
- countingStream->write((uint64_t*)&cgen_var_437, 1 * 8);
- countingStream->write((uint32_t*)&local_descriptorWriteCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((descriptorWriteCount)); ++i)
- {
- marshal_VkWriteDescriptorSet(countingStream, (VkWriteDescriptorSet*)(local_pDescriptorWrites + i));
- }
- countingStream->write((uint32_t*)&local_descriptorCopyCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((descriptorCopyCount)); ++i)
- {
- marshal_VkCopyDescriptorSet(countingStream, (VkCopyDescriptorSet*)(local_pDescriptorCopies + i));
- }
- }
- uint32_t packetSize_vkUpdateDescriptorSets = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkUpdateDescriptorSets = OP_vkUpdateDescriptorSets;
- stream->write(&opcode_vkUpdateDescriptorSets, sizeof(uint32_t));
- stream->write(&packetSize_vkUpdateDescriptorSets, sizeof(uint32_t));
- uint64_t cgen_var_438;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_438, 1);
- stream->write((uint64_t*)&cgen_var_438, 1 * 8);
- stream->write((uint32_t*)&local_descriptorWriteCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((descriptorWriteCount)); ++i)
- {
- marshal_VkWriteDescriptorSet(stream, (VkWriteDescriptorSet*)(local_pDescriptorWrites + i));
- }
- stream->write((uint32_t*)&local_descriptorCopyCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((descriptorCopyCount)); ++i)
- {
- marshal_VkCopyDescriptorSet(stream, (VkCopyDescriptorSet*)(local_pDescriptorCopies + i));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkUpdateDescriptorSets");;
-}
-
-VkResult VkEncoder::vkCreateFramebuffer(
- VkDevice device,
- const VkFramebufferCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkFramebuffer* pFramebuffer)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateFramebuffer");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkFramebufferCreateInfo* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkFramebufferCreateInfo*)pool->alloc(sizeof(const VkFramebufferCreateInfo));
- deepcopy_VkFramebufferCreateInfo(pool, pCreateInfo, (VkFramebufferCreateInfo*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkFramebufferCreateInfo(mImpl->resources(), (VkFramebufferCreateInfo*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_439;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_439, 1);
- countingStream->write((uint64_t*)&cgen_var_439, 1 * 8);
- marshal_VkFramebufferCreateInfo(countingStream, (VkFramebufferCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_440 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_440);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_441;
- countingStream->handleMapping()->mapHandles_VkFramebuffer_u64(pFramebuffer, &cgen_var_441, 1);
- countingStream->write((uint64_t*)&cgen_var_441, 8);
- }
- uint32_t packetSize_vkCreateFramebuffer = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateFramebuffer = OP_vkCreateFramebuffer;
- stream->write(&opcode_vkCreateFramebuffer, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateFramebuffer, sizeof(uint32_t));
- uint64_t cgen_var_442;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_442, 1);
- stream->write((uint64_t*)&cgen_var_442, 1 * 8);
- marshal_VkFramebufferCreateInfo(stream, (VkFramebufferCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_443 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_443);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_444;
- stream->handleMapping()->mapHandles_VkFramebuffer_u64(pFramebuffer, &cgen_var_444, 1);
- stream->write((uint64_t*)&cgen_var_444, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- stream->setHandleMapping(resources->createMapping());
- uint64_t cgen_var_445;
- stream->read((uint64_t*)&cgen_var_445, 8);
- stream->handleMapping()->mapHandles_u64_VkFramebuffer(&cgen_var_445, (VkFramebuffer*)pFramebuffer, 1);
- stream->unsetHandleMapping();
- VkResult vkCreateFramebuffer_VkResult_return = (VkResult)0;
- stream->read(&vkCreateFramebuffer_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateFramebuffer");;
- return vkCreateFramebuffer_VkResult_return;
-}
-
-void VkEncoder::vkDestroyFramebuffer(
- VkDevice device,
- VkFramebuffer framebuffer,
- const VkAllocationCallbacks* pAllocator)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkDestroyFramebuffer");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkFramebuffer local_framebuffer;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_framebuffer = framebuffer;
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_446;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_446, 1);
- countingStream->write((uint64_t*)&cgen_var_446, 1 * 8);
- uint64_t cgen_var_447;
- countingStream->handleMapping()->mapHandles_VkFramebuffer_u64(&local_framebuffer, &cgen_var_447, 1);
- countingStream->write((uint64_t*)&cgen_var_447, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_448 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_448);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- }
- uint32_t packetSize_vkDestroyFramebuffer = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkDestroyFramebuffer = OP_vkDestroyFramebuffer;
- stream->write(&opcode_vkDestroyFramebuffer, sizeof(uint32_t));
- stream->write(&packetSize_vkDestroyFramebuffer, sizeof(uint32_t));
- uint64_t cgen_var_449;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_449, 1);
- stream->write((uint64_t*)&cgen_var_449, 1 * 8);
- uint64_t cgen_var_450;
- stream->handleMapping()->mapHandles_VkFramebuffer_u64(&local_framebuffer, &cgen_var_450, 1);
- stream->write((uint64_t*)&cgen_var_450, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_451 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_451);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- resources->destroyMapping()->mapHandles_VkFramebuffer((VkFramebuffer*)&framebuffer);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkDestroyFramebuffer");;
-}
-
-VkResult VkEncoder::vkCreateRenderPass(
- VkDevice device,
- const VkRenderPassCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkRenderPass* pRenderPass)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateRenderPass");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkRenderPassCreateInfo* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkRenderPassCreateInfo*)pool->alloc(sizeof(const VkRenderPassCreateInfo));
- deepcopy_VkRenderPassCreateInfo(pool, pCreateInfo, (VkRenderPassCreateInfo*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkRenderPassCreateInfo(mImpl->resources(), (VkRenderPassCreateInfo*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_452;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_452, 1);
- countingStream->write((uint64_t*)&cgen_var_452, 1 * 8);
- marshal_VkRenderPassCreateInfo(countingStream, (VkRenderPassCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_453 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_453);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_454;
- countingStream->handleMapping()->mapHandles_VkRenderPass_u64(pRenderPass, &cgen_var_454, 1);
- countingStream->write((uint64_t*)&cgen_var_454, 8);
- }
- uint32_t packetSize_vkCreateRenderPass = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateRenderPass = OP_vkCreateRenderPass;
- stream->write(&opcode_vkCreateRenderPass, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateRenderPass, sizeof(uint32_t));
- uint64_t cgen_var_455;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_455, 1);
- stream->write((uint64_t*)&cgen_var_455, 1 * 8);
- marshal_VkRenderPassCreateInfo(stream, (VkRenderPassCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_456 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_456);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_457;
- stream->handleMapping()->mapHandles_VkRenderPass_u64(pRenderPass, &cgen_var_457, 1);
- stream->write((uint64_t*)&cgen_var_457, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- stream->setHandleMapping(resources->createMapping());
- uint64_t cgen_var_458;
- stream->read((uint64_t*)&cgen_var_458, 8);
- stream->handleMapping()->mapHandles_u64_VkRenderPass(&cgen_var_458, (VkRenderPass*)pRenderPass, 1);
- stream->unsetHandleMapping();
- VkResult vkCreateRenderPass_VkResult_return = (VkResult)0;
- stream->read(&vkCreateRenderPass_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateRenderPass");;
- return vkCreateRenderPass_VkResult_return;
-}
-
-void VkEncoder::vkDestroyRenderPass(
- VkDevice device,
- VkRenderPass renderPass,
- const VkAllocationCallbacks* pAllocator)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkDestroyRenderPass");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkRenderPass local_renderPass;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_renderPass = renderPass;
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_459;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_459, 1);
- countingStream->write((uint64_t*)&cgen_var_459, 1 * 8);
- uint64_t cgen_var_460;
- countingStream->handleMapping()->mapHandles_VkRenderPass_u64(&local_renderPass, &cgen_var_460, 1);
- countingStream->write((uint64_t*)&cgen_var_460, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_461 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_461);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- }
- uint32_t packetSize_vkDestroyRenderPass = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkDestroyRenderPass = OP_vkDestroyRenderPass;
- stream->write(&opcode_vkDestroyRenderPass, sizeof(uint32_t));
- stream->write(&packetSize_vkDestroyRenderPass, sizeof(uint32_t));
- uint64_t cgen_var_462;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_462, 1);
- stream->write((uint64_t*)&cgen_var_462, 1 * 8);
- uint64_t cgen_var_463;
- stream->handleMapping()->mapHandles_VkRenderPass_u64(&local_renderPass, &cgen_var_463, 1);
- stream->write((uint64_t*)&cgen_var_463, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_464 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_464);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- resources->destroyMapping()->mapHandles_VkRenderPass((VkRenderPass*)&renderPass);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkDestroyRenderPass");;
-}
-
-void VkEncoder::vkGetRenderAreaGranularity(
- VkDevice device,
- VkRenderPass renderPass,
- VkExtent2D* pGranularity)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetRenderAreaGranularity");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkRenderPass local_renderPass;
- local_device = device;
- local_renderPass = renderPass;
- countingStream->rewind();
- {
- uint64_t cgen_var_465;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_465, 1);
- countingStream->write((uint64_t*)&cgen_var_465, 1 * 8);
- uint64_t cgen_var_466;
- countingStream->handleMapping()->mapHandles_VkRenderPass_u64(&local_renderPass, &cgen_var_466, 1);
- countingStream->write((uint64_t*)&cgen_var_466, 1 * 8);
- marshal_VkExtent2D(countingStream, (VkExtent2D*)(pGranularity));
- }
- uint32_t packetSize_vkGetRenderAreaGranularity = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetRenderAreaGranularity = OP_vkGetRenderAreaGranularity;
- stream->write(&opcode_vkGetRenderAreaGranularity, sizeof(uint32_t));
- stream->write(&packetSize_vkGetRenderAreaGranularity, sizeof(uint32_t));
- uint64_t cgen_var_467;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_467, 1);
- stream->write((uint64_t*)&cgen_var_467, 1 * 8);
- uint64_t cgen_var_468;
- stream->handleMapping()->mapHandles_VkRenderPass_u64(&local_renderPass, &cgen_var_468, 1);
- stream->write((uint64_t*)&cgen_var_468, 1 * 8);
- marshal_VkExtent2D(stream, (VkExtent2D*)(pGranularity));
- unmarshal_VkExtent2D(stream, (VkExtent2D*)(pGranularity));
- if (pGranularity)
- {
- transform_fromhost_VkExtent2D(mImpl->resources(), (VkExtent2D*)(pGranularity));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetRenderAreaGranularity");;
-}
-
-VkResult VkEncoder::vkCreateCommandPool(
- VkDevice device,
- const VkCommandPoolCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkCommandPool* pCommandPool)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateCommandPool");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkCommandPoolCreateInfo* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkCommandPoolCreateInfo*)pool->alloc(sizeof(const VkCommandPoolCreateInfo));
- deepcopy_VkCommandPoolCreateInfo(pool, pCreateInfo, (VkCommandPoolCreateInfo*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkCommandPoolCreateInfo(mImpl->resources(), (VkCommandPoolCreateInfo*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_469;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_469, 1);
- countingStream->write((uint64_t*)&cgen_var_469, 1 * 8);
- marshal_VkCommandPoolCreateInfo(countingStream, (VkCommandPoolCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_470 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_470);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_471;
- countingStream->handleMapping()->mapHandles_VkCommandPool_u64(pCommandPool, &cgen_var_471, 1);
- countingStream->write((uint64_t*)&cgen_var_471, 8);
- }
- uint32_t packetSize_vkCreateCommandPool = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateCommandPool = OP_vkCreateCommandPool;
- stream->write(&opcode_vkCreateCommandPool, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateCommandPool, sizeof(uint32_t));
- uint64_t cgen_var_472;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_472, 1);
- stream->write((uint64_t*)&cgen_var_472, 1 * 8);
- marshal_VkCommandPoolCreateInfo(stream, (VkCommandPoolCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_473 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_473);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_474;
- stream->handleMapping()->mapHandles_VkCommandPool_u64(pCommandPool, &cgen_var_474, 1);
- stream->write((uint64_t*)&cgen_var_474, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- stream->setHandleMapping(resources->createMapping());
- uint64_t cgen_var_475;
- stream->read((uint64_t*)&cgen_var_475, 8);
- stream->handleMapping()->mapHandles_u64_VkCommandPool(&cgen_var_475, (VkCommandPool*)pCommandPool, 1);
- stream->unsetHandleMapping();
- VkResult vkCreateCommandPool_VkResult_return = (VkResult)0;
- stream->read(&vkCreateCommandPool_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateCommandPool");;
- return vkCreateCommandPool_VkResult_return;
-}
-
-void VkEncoder::vkDestroyCommandPool(
- VkDevice device,
- VkCommandPool commandPool,
- const VkAllocationCallbacks* pAllocator)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkDestroyCommandPool");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkCommandPool local_commandPool;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_commandPool = commandPool;
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_476;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_476, 1);
- countingStream->write((uint64_t*)&cgen_var_476, 1 * 8);
- uint64_t cgen_var_477;
- countingStream->handleMapping()->mapHandles_VkCommandPool_u64(&local_commandPool, &cgen_var_477, 1);
- countingStream->write((uint64_t*)&cgen_var_477, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_478 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_478);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- }
- uint32_t packetSize_vkDestroyCommandPool = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkDestroyCommandPool = OP_vkDestroyCommandPool;
- stream->write(&opcode_vkDestroyCommandPool, sizeof(uint32_t));
- stream->write(&packetSize_vkDestroyCommandPool, sizeof(uint32_t));
- uint64_t cgen_var_479;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_479, 1);
- stream->write((uint64_t*)&cgen_var_479, 1 * 8);
- uint64_t cgen_var_480;
- stream->handleMapping()->mapHandles_VkCommandPool_u64(&local_commandPool, &cgen_var_480, 1);
- stream->write((uint64_t*)&cgen_var_480, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_481 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_481);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- resources->destroyMapping()->mapHandles_VkCommandPool((VkCommandPool*)&commandPool);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkDestroyCommandPool");;
-}
-
-VkResult VkEncoder::vkResetCommandPool(
- VkDevice device,
- VkCommandPool commandPool,
- VkCommandPoolResetFlags flags)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkResetCommandPool");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkCommandPool local_commandPool;
- VkCommandPoolResetFlags local_flags;
- local_device = device;
- local_commandPool = commandPool;
- local_flags = flags;
- countingStream->rewind();
- {
- uint64_t cgen_var_482;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_482, 1);
- countingStream->write((uint64_t*)&cgen_var_482, 1 * 8);
- uint64_t cgen_var_483;
- countingStream->handleMapping()->mapHandles_VkCommandPool_u64(&local_commandPool, &cgen_var_483, 1);
- countingStream->write((uint64_t*)&cgen_var_483, 1 * 8);
- countingStream->write((VkCommandPoolResetFlags*)&local_flags, sizeof(VkCommandPoolResetFlags));
- }
- uint32_t packetSize_vkResetCommandPool = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkResetCommandPool = OP_vkResetCommandPool;
- stream->write(&opcode_vkResetCommandPool, sizeof(uint32_t));
- stream->write(&packetSize_vkResetCommandPool, sizeof(uint32_t));
- uint64_t cgen_var_484;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_484, 1);
- stream->write((uint64_t*)&cgen_var_484, 1 * 8);
- uint64_t cgen_var_485;
- stream->handleMapping()->mapHandles_VkCommandPool_u64(&local_commandPool, &cgen_var_485, 1);
- stream->write((uint64_t*)&cgen_var_485, 1 * 8);
- stream->write((VkCommandPoolResetFlags*)&local_flags, sizeof(VkCommandPoolResetFlags));
- VkResult vkResetCommandPool_VkResult_return = (VkResult)0;
- stream->read(&vkResetCommandPool_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkResetCommandPool");;
- return vkResetCommandPool_VkResult_return;
-}
-
-VkResult VkEncoder::vkAllocateCommandBuffers(
- VkDevice device,
- const VkCommandBufferAllocateInfo* pAllocateInfo,
- VkCommandBuffer* pCommandBuffers)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkAllocateCommandBuffers");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkCommandBufferAllocateInfo* local_pAllocateInfo;
- local_device = device;
- local_pAllocateInfo = nullptr;
- if (pAllocateInfo)
- {
- local_pAllocateInfo = (VkCommandBufferAllocateInfo*)pool->alloc(sizeof(const VkCommandBufferAllocateInfo));
- deepcopy_VkCommandBufferAllocateInfo(pool, pAllocateInfo, (VkCommandBufferAllocateInfo*)(local_pAllocateInfo));
- }
- if (local_pAllocateInfo)
- {
- transform_tohost_VkCommandBufferAllocateInfo(mImpl->resources(), (VkCommandBufferAllocateInfo*)(local_pAllocateInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_486;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_486, 1);
- countingStream->write((uint64_t*)&cgen_var_486, 1 * 8);
- marshal_VkCommandBufferAllocateInfo(countingStream, (VkCommandBufferAllocateInfo*)(local_pAllocateInfo));
- if (pAllocateInfo->commandBufferCount)
- {
- uint64_t* cgen_var_487;
- countingStream->alloc((void**)&cgen_var_487, pAllocateInfo->commandBufferCount * 8);
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(pCommandBuffers, cgen_var_487, pAllocateInfo->commandBufferCount);
- countingStream->write((uint64_t*)cgen_var_487, pAllocateInfo->commandBufferCount * 8);
- }
- }
- uint32_t packetSize_vkAllocateCommandBuffers = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkAllocateCommandBuffers = OP_vkAllocateCommandBuffers;
- stream->write(&opcode_vkAllocateCommandBuffers, sizeof(uint32_t));
- stream->write(&packetSize_vkAllocateCommandBuffers, sizeof(uint32_t));
- uint64_t cgen_var_488;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_488, 1);
- stream->write((uint64_t*)&cgen_var_488, 1 * 8);
- marshal_VkCommandBufferAllocateInfo(stream, (VkCommandBufferAllocateInfo*)(local_pAllocateInfo));
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- if (pAllocateInfo->commandBufferCount)
- {
- uint64_t* cgen_var_489;
- stream->alloc((void**)&cgen_var_489, pAllocateInfo->commandBufferCount * 8);
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(pCommandBuffers, cgen_var_489, pAllocateInfo->commandBufferCount);
- stream->write((uint64_t*)cgen_var_489, pAllocateInfo->commandBufferCount * 8);
- }
- stream->setHandleMapping(resources->unwrapMapping());
- stream->setHandleMapping(resources->createMapping());
- if (pAllocateInfo->commandBufferCount)
- {
- uint64_t* cgen_var_490;
- stream->alloc((void**)&cgen_var_490, pAllocateInfo->commandBufferCount * 8);
- stream->read((uint64_t*)cgen_var_490, pAllocateInfo->commandBufferCount * 8);
- stream->handleMapping()->mapHandles_u64_VkCommandBuffer(cgen_var_490, (VkCommandBuffer*)pCommandBuffers, pAllocateInfo->commandBufferCount);
- }
- stream->unsetHandleMapping();
- VkResult vkAllocateCommandBuffers_VkResult_return = (VkResult)0;
- stream->read(&vkAllocateCommandBuffers_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkAllocateCommandBuffers");;
- return vkAllocateCommandBuffers_VkResult_return;
-}
-
-void VkEncoder::vkFreeCommandBuffers(
- VkDevice device,
- VkCommandPool commandPool,
- uint32_t commandBufferCount,
- const VkCommandBuffer* pCommandBuffers)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkFreeCommandBuffers");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkCommandPool local_commandPool;
- uint32_t local_commandBufferCount;
- VkCommandBuffer* local_pCommandBuffers;
- local_device = device;
- local_commandPool = commandPool;
- local_commandBufferCount = commandBufferCount;
- local_pCommandBuffers = nullptr;
- if (pCommandBuffers)
- {
- local_pCommandBuffers = (VkCommandBuffer*)pool->dupArray(pCommandBuffers, ((commandBufferCount)) * sizeof(const VkCommandBuffer));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_491;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_491, 1);
- countingStream->write((uint64_t*)&cgen_var_491, 1 * 8);
- uint64_t cgen_var_492;
- countingStream->handleMapping()->mapHandles_VkCommandPool_u64(&local_commandPool, &cgen_var_492, 1);
- countingStream->write((uint64_t*)&cgen_var_492, 1 * 8);
- countingStream->write((uint32_t*)&local_commandBufferCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- uint64_t cgen_var_493 = (uint64_t)(uintptr_t)local_pCommandBuffers;
- countingStream->putBe64(cgen_var_493);
- if (local_pCommandBuffers)
- {
- if (((commandBufferCount)))
- {
- uint64_t* cgen_var_494;
- countingStream->alloc((void**)&cgen_var_494, ((commandBufferCount)) * 8);
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(local_pCommandBuffers, cgen_var_494, ((commandBufferCount)));
- countingStream->write((uint64_t*)cgen_var_494, ((commandBufferCount)) * 8);
- }
- }
- }
- uint32_t packetSize_vkFreeCommandBuffers = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkFreeCommandBuffers = OP_vkFreeCommandBuffers;
- stream->write(&opcode_vkFreeCommandBuffers, sizeof(uint32_t));
- stream->write(&packetSize_vkFreeCommandBuffers, sizeof(uint32_t));
- uint64_t cgen_var_495;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_495, 1);
- stream->write((uint64_t*)&cgen_var_495, 1 * 8);
- uint64_t cgen_var_496;
- stream->handleMapping()->mapHandles_VkCommandPool_u64(&local_commandPool, &cgen_var_496, 1);
- stream->write((uint64_t*)&cgen_var_496, 1 * 8);
- stream->write((uint32_t*)&local_commandBufferCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- uint64_t cgen_var_497 = (uint64_t)(uintptr_t)local_pCommandBuffers;
- stream->putBe64(cgen_var_497);
- if (local_pCommandBuffers)
- {
- if (((commandBufferCount)))
- {
- uint64_t* cgen_var_498;
- stream->alloc((void**)&cgen_var_498, ((commandBufferCount)) * 8);
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(local_pCommandBuffers, cgen_var_498, ((commandBufferCount)));
- stream->write((uint64_t*)cgen_var_498, ((commandBufferCount)) * 8);
- }
- }
- if (pCommandBuffers)
- {
- resources->destroyMapping()->mapHandles_VkCommandBuffer((VkCommandBuffer*)pCommandBuffers, ((commandBufferCount)));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkFreeCommandBuffers");;
-}
-
-VkResult VkEncoder::vkBeginCommandBuffer(
- VkCommandBuffer commandBuffer,
- const VkCommandBufferBeginInfo* pBeginInfo)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkBeginCommandBuffer");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkCommandBufferBeginInfo* local_pBeginInfo;
- local_commandBuffer = commandBuffer;
- local_pBeginInfo = nullptr;
- if (pBeginInfo)
- {
- local_pBeginInfo = (VkCommandBufferBeginInfo*)pool->alloc(sizeof(const VkCommandBufferBeginInfo));
- deepcopy_VkCommandBufferBeginInfo(pool, pBeginInfo, (VkCommandBufferBeginInfo*)(local_pBeginInfo));
- }
- if (local_pBeginInfo)
- {
- transform_tohost_VkCommandBufferBeginInfo(mImpl->resources(), (VkCommandBufferBeginInfo*)(local_pBeginInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_499;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_499, 1);
- countingStream->write((uint64_t*)&cgen_var_499, 1 * 8);
- marshal_VkCommandBufferBeginInfo(countingStream, (VkCommandBufferBeginInfo*)(local_pBeginInfo));
- }
- uint32_t packetSize_vkBeginCommandBuffer = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkBeginCommandBuffer = OP_vkBeginCommandBuffer;
- stream->write(&opcode_vkBeginCommandBuffer, sizeof(uint32_t));
- stream->write(&packetSize_vkBeginCommandBuffer, sizeof(uint32_t));
- uint64_t cgen_var_500;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_500, 1);
- stream->write((uint64_t*)&cgen_var_500, 1 * 8);
- marshal_VkCommandBufferBeginInfo(stream, (VkCommandBufferBeginInfo*)(local_pBeginInfo));
- VkResult vkBeginCommandBuffer_VkResult_return = (VkResult)0;
- stream->read(&vkBeginCommandBuffer_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkBeginCommandBuffer");;
- return vkBeginCommandBuffer_VkResult_return;
-}
-
-VkResult VkEncoder::vkEndCommandBuffer(
- VkCommandBuffer commandBuffer)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkEndCommandBuffer");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- local_commandBuffer = commandBuffer;
- countingStream->rewind();
- {
- uint64_t cgen_var_501;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_501, 1);
- countingStream->write((uint64_t*)&cgen_var_501, 1 * 8);
- }
- uint32_t packetSize_vkEndCommandBuffer = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkEndCommandBuffer = OP_vkEndCommandBuffer;
- stream->write(&opcode_vkEndCommandBuffer, sizeof(uint32_t));
- stream->write(&packetSize_vkEndCommandBuffer, sizeof(uint32_t));
- uint64_t cgen_var_502;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_502, 1);
- stream->write((uint64_t*)&cgen_var_502, 1 * 8);
- VkResult vkEndCommandBuffer_VkResult_return = (VkResult)0;
- stream->read(&vkEndCommandBuffer_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkEndCommandBuffer");;
- return vkEndCommandBuffer_VkResult_return;
-}
-
-VkResult VkEncoder::vkResetCommandBuffer(
- VkCommandBuffer commandBuffer,
- VkCommandBufferResetFlags flags)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkResetCommandBuffer");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkCommandBufferResetFlags local_flags;
- local_commandBuffer = commandBuffer;
- local_flags = flags;
- countingStream->rewind();
- {
- uint64_t cgen_var_503;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_503, 1);
- countingStream->write((uint64_t*)&cgen_var_503, 1 * 8);
- countingStream->write((VkCommandBufferResetFlags*)&local_flags, sizeof(VkCommandBufferResetFlags));
- }
- uint32_t packetSize_vkResetCommandBuffer = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkResetCommandBuffer = OP_vkResetCommandBuffer;
- stream->write(&opcode_vkResetCommandBuffer, sizeof(uint32_t));
- stream->write(&packetSize_vkResetCommandBuffer, sizeof(uint32_t));
- uint64_t cgen_var_504;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_504, 1);
- stream->write((uint64_t*)&cgen_var_504, 1 * 8);
- stream->write((VkCommandBufferResetFlags*)&local_flags, sizeof(VkCommandBufferResetFlags));
- VkResult vkResetCommandBuffer_VkResult_return = (VkResult)0;
- stream->read(&vkResetCommandBuffer_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkResetCommandBuffer");;
- return vkResetCommandBuffer_VkResult_return;
-}
-
-void VkEncoder::vkCmdBindPipeline(
- VkCommandBuffer commandBuffer,
- VkPipelineBindPoint pipelineBindPoint,
- VkPipeline pipeline)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdBindPipeline");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkPipelineBindPoint local_pipelineBindPoint;
- VkPipeline local_pipeline;
- local_commandBuffer = commandBuffer;
- local_pipelineBindPoint = pipelineBindPoint;
- local_pipeline = pipeline;
- countingStream->rewind();
- {
- uint64_t cgen_var_505;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_505, 1);
- countingStream->write((uint64_t*)&cgen_var_505, 1 * 8);
- countingStream->write((VkPipelineBindPoint*)&local_pipelineBindPoint, sizeof(VkPipelineBindPoint));
- uint64_t cgen_var_506;
- countingStream->handleMapping()->mapHandles_VkPipeline_u64(&local_pipeline, &cgen_var_506, 1);
- countingStream->write((uint64_t*)&cgen_var_506, 1 * 8);
- }
- uint32_t packetSize_vkCmdBindPipeline = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdBindPipeline = OP_vkCmdBindPipeline;
- stream->write(&opcode_vkCmdBindPipeline, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdBindPipeline, sizeof(uint32_t));
- uint64_t cgen_var_507;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_507, 1);
- stream->write((uint64_t*)&cgen_var_507, 1 * 8);
- stream->write((VkPipelineBindPoint*)&local_pipelineBindPoint, sizeof(VkPipelineBindPoint));
- uint64_t cgen_var_508;
- stream->handleMapping()->mapHandles_VkPipeline_u64(&local_pipeline, &cgen_var_508, 1);
- stream->write((uint64_t*)&cgen_var_508, 1 * 8);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdBindPipeline");;
-}
-
-void VkEncoder::vkCmdSetViewport(
- VkCommandBuffer commandBuffer,
- uint32_t firstViewport,
- uint32_t viewportCount,
- const VkViewport* pViewports)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdSetViewport");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- uint32_t local_firstViewport;
- uint32_t local_viewportCount;
- VkViewport* local_pViewports;
- local_commandBuffer = commandBuffer;
- local_firstViewport = firstViewport;
- local_viewportCount = viewportCount;
- local_pViewports = nullptr;
- if (pViewports)
- {
- local_pViewports = (VkViewport*)pool->alloc(((viewportCount)) * sizeof(const VkViewport));
- for (uint32_t i = 0; i < (uint32_t)((viewportCount)); ++i)
- {
- deepcopy_VkViewport(pool, pViewports + i, (VkViewport*)(local_pViewports + i));
- }
- }
- if (local_pViewports)
- {
- for (uint32_t i = 0; i < (uint32_t)((viewportCount)); ++i)
- {
- transform_tohost_VkViewport(mImpl->resources(), (VkViewport*)(local_pViewports + i));
- }
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_509;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_509, 1);
- countingStream->write((uint64_t*)&cgen_var_509, 1 * 8);
- countingStream->write((uint32_t*)&local_firstViewport, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_viewportCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((viewportCount)); ++i)
- {
- marshal_VkViewport(countingStream, (VkViewport*)(local_pViewports + i));
- }
- }
- uint32_t packetSize_vkCmdSetViewport = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdSetViewport = OP_vkCmdSetViewport;
- stream->write(&opcode_vkCmdSetViewport, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdSetViewport, sizeof(uint32_t));
- uint64_t cgen_var_510;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_510, 1);
- stream->write((uint64_t*)&cgen_var_510, 1 * 8);
- stream->write((uint32_t*)&local_firstViewport, sizeof(uint32_t));
- stream->write((uint32_t*)&local_viewportCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((viewportCount)); ++i)
- {
- marshal_VkViewport(stream, (VkViewport*)(local_pViewports + i));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdSetViewport");;
-}
-
-void VkEncoder::vkCmdSetScissor(
- VkCommandBuffer commandBuffer,
- uint32_t firstScissor,
- uint32_t scissorCount,
- const VkRect2D* pScissors)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdSetScissor");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- uint32_t local_firstScissor;
- uint32_t local_scissorCount;
- VkRect2D* local_pScissors;
- local_commandBuffer = commandBuffer;
- local_firstScissor = firstScissor;
- local_scissorCount = scissorCount;
- local_pScissors = nullptr;
- if (pScissors)
- {
- local_pScissors = (VkRect2D*)pool->alloc(((scissorCount)) * sizeof(const VkRect2D));
- for (uint32_t i = 0; i < (uint32_t)((scissorCount)); ++i)
- {
- deepcopy_VkRect2D(pool, pScissors + i, (VkRect2D*)(local_pScissors + i));
- }
- }
- if (local_pScissors)
- {
- for (uint32_t i = 0; i < (uint32_t)((scissorCount)); ++i)
- {
- transform_tohost_VkRect2D(mImpl->resources(), (VkRect2D*)(local_pScissors + i));
- }
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_511;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_511, 1);
- countingStream->write((uint64_t*)&cgen_var_511, 1 * 8);
- countingStream->write((uint32_t*)&local_firstScissor, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_scissorCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((scissorCount)); ++i)
- {
- marshal_VkRect2D(countingStream, (VkRect2D*)(local_pScissors + i));
- }
- }
- uint32_t packetSize_vkCmdSetScissor = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdSetScissor = OP_vkCmdSetScissor;
- stream->write(&opcode_vkCmdSetScissor, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdSetScissor, sizeof(uint32_t));
- uint64_t cgen_var_512;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_512, 1);
- stream->write((uint64_t*)&cgen_var_512, 1 * 8);
- stream->write((uint32_t*)&local_firstScissor, sizeof(uint32_t));
- stream->write((uint32_t*)&local_scissorCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((scissorCount)); ++i)
- {
- marshal_VkRect2D(stream, (VkRect2D*)(local_pScissors + i));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdSetScissor");;
-}
-
-void VkEncoder::vkCmdSetLineWidth(
- VkCommandBuffer commandBuffer,
- float lineWidth)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdSetLineWidth");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- float local_lineWidth;
- local_commandBuffer = commandBuffer;
- local_lineWidth = lineWidth;
- countingStream->rewind();
- {
- uint64_t cgen_var_513;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_513, 1);
- countingStream->write((uint64_t*)&cgen_var_513, 1 * 8);
- countingStream->write((float*)&local_lineWidth, sizeof(float));
- }
- uint32_t packetSize_vkCmdSetLineWidth = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdSetLineWidth = OP_vkCmdSetLineWidth;
- stream->write(&opcode_vkCmdSetLineWidth, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdSetLineWidth, sizeof(uint32_t));
- uint64_t cgen_var_514;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_514, 1);
- stream->write((uint64_t*)&cgen_var_514, 1 * 8);
- stream->write((float*)&local_lineWidth, sizeof(float));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdSetLineWidth");;
-}
-
-void VkEncoder::vkCmdSetDepthBias(
- VkCommandBuffer commandBuffer,
- float depthBiasConstantFactor,
- float depthBiasClamp,
- float depthBiasSlopeFactor)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdSetDepthBias");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- float local_depthBiasConstantFactor;
- float local_depthBiasClamp;
- float local_depthBiasSlopeFactor;
- local_commandBuffer = commandBuffer;
- local_depthBiasConstantFactor = depthBiasConstantFactor;
- local_depthBiasClamp = depthBiasClamp;
- local_depthBiasSlopeFactor = depthBiasSlopeFactor;
- countingStream->rewind();
- {
- uint64_t cgen_var_515;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_515, 1);
- countingStream->write((uint64_t*)&cgen_var_515, 1 * 8);
- countingStream->write((float*)&local_depthBiasConstantFactor, sizeof(float));
- countingStream->write((float*)&local_depthBiasClamp, sizeof(float));
- countingStream->write((float*)&local_depthBiasSlopeFactor, sizeof(float));
- }
- uint32_t packetSize_vkCmdSetDepthBias = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdSetDepthBias = OP_vkCmdSetDepthBias;
- stream->write(&opcode_vkCmdSetDepthBias, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdSetDepthBias, sizeof(uint32_t));
- uint64_t cgen_var_516;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_516, 1);
- stream->write((uint64_t*)&cgen_var_516, 1 * 8);
- stream->write((float*)&local_depthBiasConstantFactor, sizeof(float));
- stream->write((float*)&local_depthBiasClamp, sizeof(float));
- stream->write((float*)&local_depthBiasSlopeFactor, sizeof(float));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdSetDepthBias");;
-}
-
-void VkEncoder::vkCmdSetBlendConstants(
- VkCommandBuffer commandBuffer,
- const float blendConstants[4])
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdSetBlendConstants");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- float local_blendConstants[4];
- local_commandBuffer = commandBuffer;
- memcpy(local_blendConstants, blendConstants, 4 * sizeof(const float));
- countingStream->rewind();
- {
- uint64_t cgen_var_517;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_517, 1);
- countingStream->write((uint64_t*)&cgen_var_517, 1 * 8);
- countingStream->write((float*)local_blendConstants, 4 * sizeof(float));
- }
- uint32_t packetSize_vkCmdSetBlendConstants = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdSetBlendConstants = OP_vkCmdSetBlendConstants;
- stream->write(&opcode_vkCmdSetBlendConstants, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdSetBlendConstants, sizeof(uint32_t));
- uint64_t cgen_var_518;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_518, 1);
- stream->write((uint64_t*)&cgen_var_518, 1 * 8);
- stream->write((float*)local_blendConstants, 4 * sizeof(float));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdSetBlendConstants");;
-}
-
-void VkEncoder::vkCmdSetDepthBounds(
- VkCommandBuffer commandBuffer,
- float minDepthBounds,
- float maxDepthBounds)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdSetDepthBounds");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- float local_minDepthBounds;
- float local_maxDepthBounds;
- local_commandBuffer = commandBuffer;
- local_minDepthBounds = minDepthBounds;
- local_maxDepthBounds = maxDepthBounds;
- countingStream->rewind();
- {
- uint64_t cgen_var_519;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_519, 1);
- countingStream->write((uint64_t*)&cgen_var_519, 1 * 8);
- countingStream->write((float*)&local_minDepthBounds, sizeof(float));
- countingStream->write((float*)&local_maxDepthBounds, sizeof(float));
- }
- uint32_t packetSize_vkCmdSetDepthBounds = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdSetDepthBounds = OP_vkCmdSetDepthBounds;
- stream->write(&opcode_vkCmdSetDepthBounds, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdSetDepthBounds, sizeof(uint32_t));
- uint64_t cgen_var_520;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_520, 1);
- stream->write((uint64_t*)&cgen_var_520, 1 * 8);
- stream->write((float*)&local_minDepthBounds, sizeof(float));
- stream->write((float*)&local_maxDepthBounds, sizeof(float));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdSetDepthBounds");;
-}
-
-void VkEncoder::vkCmdSetStencilCompareMask(
- VkCommandBuffer commandBuffer,
- VkStencilFaceFlags faceMask,
- uint32_t compareMask)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdSetStencilCompareMask");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkStencilFaceFlags local_faceMask;
- uint32_t local_compareMask;
- local_commandBuffer = commandBuffer;
- local_faceMask = faceMask;
- local_compareMask = compareMask;
- countingStream->rewind();
- {
- uint64_t cgen_var_521;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_521, 1);
- countingStream->write((uint64_t*)&cgen_var_521, 1 * 8);
- countingStream->write((VkStencilFaceFlags*)&local_faceMask, sizeof(VkStencilFaceFlags));
- countingStream->write((uint32_t*)&local_compareMask, sizeof(uint32_t));
- }
- uint32_t packetSize_vkCmdSetStencilCompareMask = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdSetStencilCompareMask = OP_vkCmdSetStencilCompareMask;
- stream->write(&opcode_vkCmdSetStencilCompareMask, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdSetStencilCompareMask, sizeof(uint32_t));
- uint64_t cgen_var_522;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_522, 1);
- stream->write((uint64_t*)&cgen_var_522, 1 * 8);
- stream->write((VkStencilFaceFlags*)&local_faceMask, sizeof(VkStencilFaceFlags));
- stream->write((uint32_t*)&local_compareMask, sizeof(uint32_t));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdSetStencilCompareMask");;
-}
-
-void VkEncoder::vkCmdSetStencilWriteMask(
- VkCommandBuffer commandBuffer,
- VkStencilFaceFlags faceMask,
- uint32_t writeMask)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdSetStencilWriteMask");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkStencilFaceFlags local_faceMask;
- uint32_t local_writeMask;
- local_commandBuffer = commandBuffer;
- local_faceMask = faceMask;
- local_writeMask = writeMask;
- countingStream->rewind();
- {
- uint64_t cgen_var_523;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_523, 1);
- countingStream->write((uint64_t*)&cgen_var_523, 1 * 8);
- countingStream->write((VkStencilFaceFlags*)&local_faceMask, sizeof(VkStencilFaceFlags));
- countingStream->write((uint32_t*)&local_writeMask, sizeof(uint32_t));
- }
- uint32_t packetSize_vkCmdSetStencilWriteMask = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdSetStencilWriteMask = OP_vkCmdSetStencilWriteMask;
- stream->write(&opcode_vkCmdSetStencilWriteMask, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdSetStencilWriteMask, sizeof(uint32_t));
- uint64_t cgen_var_524;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_524, 1);
- stream->write((uint64_t*)&cgen_var_524, 1 * 8);
- stream->write((VkStencilFaceFlags*)&local_faceMask, sizeof(VkStencilFaceFlags));
- stream->write((uint32_t*)&local_writeMask, sizeof(uint32_t));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdSetStencilWriteMask");;
-}
-
-void VkEncoder::vkCmdSetStencilReference(
- VkCommandBuffer commandBuffer,
- VkStencilFaceFlags faceMask,
- uint32_t reference)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdSetStencilReference");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkStencilFaceFlags local_faceMask;
- uint32_t local_reference;
- local_commandBuffer = commandBuffer;
- local_faceMask = faceMask;
- local_reference = reference;
- countingStream->rewind();
- {
- uint64_t cgen_var_525;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_525, 1);
- countingStream->write((uint64_t*)&cgen_var_525, 1 * 8);
- countingStream->write((VkStencilFaceFlags*)&local_faceMask, sizeof(VkStencilFaceFlags));
- countingStream->write((uint32_t*)&local_reference, sizeof(uint32_t));
- }
- uint32_t packetSize_vkCmdSetStencilReference = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdSetStencilReference = OP_vkCmdSetStencilReference;
- stream->write(&opcode_vkCmdSetStencilReference, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdSetStencilReference, sizeof(uint32_t));
- uint64_t cgen_var_526;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_526, 1);
- stream->write((uint64_t*)&cgen_var_526, 1 * 8);
- stream->write((VkStencilFaceFlags*)&local_faceMask, sizeof(VkStencilFaceFlags));
- stream->write((uint32_t*)&local_reference, sizeof(uint32_t));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdSetStencilReference");;
-}
-
-void VkEncoder::vkCmdBindDescriptorSets(
- VkCommandBuffer commandBuffer,
- VkPipelineBindPoint pipelineBindPoint,
- VkPipelineLayout layout,
- uint32_t firstSet,
- uint32_t descriptorSetCount,
- const VkDescriptorSet* pDescriptorSets,
- uint32_t dynamicOffsetCount,
- const uint32_t* pDynamicOffsets)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdBindDescriptorSets");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkPipelineBindPoint local_pipelineBindPoint;
- VkPipelineLayout local_layout;
- uint32_t local_firstSet;
- uint32_t local_descriptorSetCount;
- VkDescriptorSet* local_pDescriptorSets;
- uint32_t local_dynamicOffsetCount;
- uint32_t* local_pDynamicOffsets;
- local_commandBuffer = commandBuffer;
- local_pipelineBindPoint = pipelineBindPoint;
- local_layout = layout;
- local_firstSet = firstSet;
- local_descriptorSetCount = descriptorSetCount;
- local_pDescriptorSets = nullptr;
- if (pDescriptorSets)
- {
- local_pDescriptorSets = (VkDescriptorSet*)pool->dupArray(pDescriptorSets, ((descriptorSetCount)) * sizeof(const VkDescriptorSet));
- }
- local_dynamicOffsetCount = dynamicOffsetCount;
- local_pDynamicOffsets = nullptr;
- if (pDynamicOffsets)
- {
- local_pDynamicOffsets = (uint32_t*)pool->dupArray(pDynamicOffsets, ((dynamicOffsetCount)) * sizeof(const uint32_t));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_527;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_527, 1);
- countingStream->write((uint64_t*)&cgen_var_527, 1 * 8);
- countingStream->write((VkPipelineBindPoint*)&local_pipelineBindPoint, sizeof(VkPipelineBindPoint));
- uint64_t cgen_var_528;
- countingStream->handleMapping()->mapHandles_VkPipelineLayout_u64(&local_layout, &cgen_var_528, 1);
- countingStream->write((uint64_t*)&cgen_var_528, 1 * 8);
- countingStream->write((uint32_t*)&local_firstSet, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_descriptorSetCount, sizeof(uint32_t));
- if (((descriptorSetCount)))
- {
- uint64_t* cgen_var_529;
- countingStream->alloc((void**)&cgen_var_529, ((descriptorSetCount)) * 8);
- countingStream->handleMapping()->mapHandles_VkDescriptorSet_u64(local_pDescriptorSets, cgen_var_529, ((descriptorSetCount)));
- countingStream->write((uint64_t*)cgen_var_529, ((descriptorSetCount)) * 8);
- }
- countingStream->write((uint32_t*)&local_dynamicOffsetCount, sizeof(uint32_t));
- countingStream->write((uint32_t*)local_pDynamicOffsets, ((dynamicOffsetCount)) * sizeof(uint32_t));
- }
- uint32_t packetSize_vkCmdBindDescriptorSets = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdBindDescriptorSets = OP_vkCmdBindDescriptorSets;
- stream->write(&opcode_vkCmdBindDescriptorSets, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdBindDescriptorSets, sizeof(uint32_t));
- uint64_t cgen_var_530;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_530, 1);
- stream->write((uint64_t*)&cgen_var_530, 1 * 8);
- stream->write((VkPipelineBindPoint*)&local_pipelineBindPoint, sizeof(VkPipelineBindPoint));
- uint64_t cgen_var_531;
- stream->handleMapping()->mapHandles_VkPipelineLayout_u64(&local_layout, &cgen_var_531, 1);
- stream->write((uint64_t*)&cgen_var_531, 1 * 8);
- stream->write((uint32_t*)&local_firstSet, sizeof(uint32_t));
- stream->write((uint32_t*)&local_descriptorSetCount, sizeof(uint32_t));
- if (((descriptorSetCount)))
- {
- uint64_t* cgen_var_532;
- stream->alloc((void**)&cgen_var_532, ((descriptorSetCount)) * 8);
- stream->handleMapping()->mapHandles_VkDescriptorSet_u64(local_pDescriptorSets, cgen_var_532, ((descriptorSetCount)));
- stream->write((uint64_t*)cgen_var_532, ((descriptorSetCount)) * 8);
- }
- stream->write((uint32_t*)&local_dynamicOffsetCount, sizeof(uint32_t));
- stream->write((uint32_t*)local_pDynamicOffsets, ((dynamicOffsetCount)) * sizeof(uint32_t));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdBindDescriptorSets");;
-}
-
-void VkEncoder::vkCmdBindIndexBuffer(
- VkCommandBuffer commandBuffer,
- VkBuffer buffer,
- VkDeviceSize offset,
- VkIndexType indexType)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdBindIndexBuffer");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkBuffer local_buffer;
- VkDeviceSize local_offset;
- VkIndexType local_indexType;
- local_commandBuffer = commandBuffer;
- local_buffer = buffer;
- local_offset = offset;
- local_indexType = indexType;
- countingStream->rewind();
- {
- uint64_t cgen_var_533;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_533, 1);
- countingStream->write((uint64_t*)&cgen_var_533, 1 * 8);
- uint64_t cgen_var_534;
- countingStream->handleMapping()->mapHandles_VkBuffer_u64(&local_buffer, &cgen_var_534, 1);
- countingStream->write((uint64_t*)&cgen_var_534, 1 * 8);
- countingStream->write((VkDeviceSize*)&local_offset, sizeof(VkDeviceSize));
- countingStream->write((VkIndexType*)&local_indexType, sizeof(VkIndexType));
- }
- uint32_t packetSize_vkCmdBindIndexBuffer = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdBindIndexBuffer = OP_vkCmdBindIndexBuffer;
- stream->write(&opcode_vkCmdBindIndexBuffer, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdBindIndexBuffer, sizeof(uint32_t));
- uint64_t cgen_var_535;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_535, 1);
- stream->write((uint64_t*)&cgen_var_535, 1 * 8);
- uint64_t cgen_var_536;
- stream->handleMapping()->mapHandles_VkBuffer_u64(&local_buffer, &cgen_var_536, 1);
- stream->write((uint64_t*)&cgen_var_536, 1 * 8);
- stream->write((VkDeviceSize*)&local_offset, sizeof(VkDeviceSize));
- stream->write((VkIndexType*)&local_indexType, sizeof(VkIndexType));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdBindIndexBuffer");;
-}
-
-void VkEncoder::vkCmdBindVertexBuffers(
- VkCommandBuffer commandBuffer,
- uint32_t firstBinding,
- uint32_t bindingCount,
- const VkBuffer* pBuffers,
- const VkDeviceSize* pOffsets)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdBindVertexBuffers");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- uint32_t local_firstBinding;
- uint32_t local_bindingCount;
- VkBuffer* local_pBuffers;
- VkDeviceSize* local_pOffsets;
- local_commandBuffer = commandBuffer;
- local_firstBinding = firstBinding;
- local_bindingCount = bindingCount;
- local_pBuffers = nullptr;
- if (pBuffers)
- {
- local_pBuffers = (VkBuffer*)pool->dupArray(pBuffers, ((bindingCount)) * sizeof(const VkBuffer));
- }
- local_pOffsets = nullptr;
- if (pOffsets)
- {
- local_pOffsets = (VkDeviceSize*)pool->dupArray(pOffsets, ((bindingCount)) * sizeof(const VkDeviceSize));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_537;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_537, 1);
- countingStream->write((uint64_t*)&cgen_var_537, 1 * 8);
- countingStream->write((uint32_t*)&local_firstBinding, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_bindingCount, sizeof(uint32_t));
- if (((bindingCount)))
- {
- uint64_t* cgen_var_538;
- countingStream->alloc((void**)&cgen_var_538, ((bindingCount)) * 8);
- countingStream->handleMapping()->mapHandles_VkBuffer_u64(local_pBuffers, cgen_var_538, ((bindingCount)));
- countingStream->write((uint64_t*)cgen_var_538, ((bindingCount)) * 8);
- }
- countingStream->write((VkDeviceSize*)local_pOffsets, ((bindingCount)) * sizeof(VkDeviceSize));
- }
- uint32_t packetSize_vkCmdBindVertexBuffers = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdBindVertexBuffers = OP_vkCmdBindVertexBuffers;
- stream->write(&opcode_vkCmdBindVertexBuffers, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdBindVertexBuffers, sizeof(uint32_t));
- uint64_t cgen_var_539;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_539, 1);
- stream->write((uint64_t*)&cgen_var_539, 1 * 8);
- stream->write((uint32_t*)&local_firstBinding, sizeof(uint32_t));
- stream->write((uint32_t*)&local_bindingCount, sizeof(uint32_t));
- if (((bindingCount)))
- {
- uint64_t* cgen_var_540;
- stream->alloc((void**)&cgen_var_540, ((bindingCount)) * 8);
- stream->handleMapping()->mapHandles_VkBuffer_u64(local_pBuffers, cgen_var_540, ((bindingCount)));
- stream->write((uint64_t*)cgen_var_540, ((bindingCount)) * 8);
- }
- stream->write((VkDeviceSize*)local_pOffsets, ((bindingCount)) * sizeof(VkDeviceSize));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdBindVertexBuffers");;
-}
-
-void VkEncoder::vkCmdDraw(
- VkCommandBuffer commandBuffer,
- uint32_t vertexCount,
- uint32_t instanceCount,
- uint32_t firstVertex,
- uint32_t firstInstance)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdDraw");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- uint32_t local_vertexCount;
- uint32_t local_instanceCount;
- uint32_t local_firstVertex;
- uint32_t local_firstInstance;
- local_commandBuffer = commandBuffer;
- local_vertexCount = vertexCount;
- local_instanceCount = instanceCount;
- local_firstVertex = firstVertex;
- local_firstInstance = firstInstance;
- countingStream->rewind();
- {
- uint64_t cgen_var_541;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_541, 1);
- countingStream->write((uint64_t*)&cgen_var_541, 1 * 8);
- countingStream->write((uint32_t*)&local_vertexCount, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_instanceCount, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_firstVertex, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_firstInstance, sizeof(uint32_t));
- }
- uint32_t packetSize_vkCmdDraw = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdDraw = OP_vkCmdDraw;
- stream->write(&opcode_vkCmdDraw, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdDraw, sizeof(uint32_t));
- uint64_t cgen_var_542;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_542, 1);
- stream->write((uint64_t*)&cgen_var_542, 1 * 8);
- stream->write((uint32_t*)&local_vertexCount, sizeof(uint32_t));
- stream->write((uint32_t*)&local_instanceCount, sizeof(uint32_t));
- stream->write((uint32_t*)&local_firstVertex, sizeof(uint32_t));
- stream->write((uint32_t*)&local_firstInstance, sizeof(uint32_t));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdDraw");;
-}
-
-void VkEncoder::vkCmdDrawIndexed(
- VkCommandBuffer commandBuffer,
- uint32_t indexCount,
- uint32_t instanceCount,
- uint32_t firstIndex,
- int32_t vertexOffset,
- uint32_t firstInstance)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdDrawIndexed");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- uint32_t local_indexCount;
- uint32_t local_instanceCount;
- uint32_t local_firstIndex;
- int32_t local_vertexOffset;
- uint32_t local_firstInstance;
- local_commandBuffer = commandBuffer;
- local_indexCount = indexCount;
- local_instanceCount = instanceCount;
- local_firstIndex = firstIndex;
- local_vertexOffset = vertexOffset;
- local_firstInstance = firstInstance;
- countingStream->rewind();
- {
- uint64_t cgen_var_543;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_543, 1);
- countingStream->write((uint64_t*)&cgen_var_543, 1 * 8);
- countingStream->write((uint32_t*)&local_indexCount, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_instanceCount, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_firstIndex, sizeof(uint32_t));
- countingStream->write((int32_t*)&local_vertexOffset, sizeof(int32_t));
- countingStream->write((uint32_t*)&local_firstInstance, sizeof(uint32_t));
- }
- uint32_t packetSize_vkCmdDrawIndexed = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdDrawIndexed = OP_vkCmdDrawIndexed;
- stream->write(&opcode_vkCmdDrawIndexed, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdDrawIndexed, sizeof(uint32_t));
- uint64_t cgen_var_544;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_544, 1);
- stream->write((uint64_t*)&cgen_var_544, 1 * 8);
- stream->write((uint32_t*)&local_indexCount, sizeof(uint32_t));
- stream->write((uint32_t*)&local_instanceCount, sizeof(uint32_t));
- stream->write((uint32_t*)&local_firstIndex, sizeof(uint32_t));
- stream->write((int32_t*)&local_vertexOffset, sizeof(int32_t));
- stream->write((uint32_t*)&local_firstInstance, sizeof(uint32_t));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdDrawIndexed");;
-}
-
-void VkEncoder::vkCmdDrawIndirect(
- VkCommandBuffer commandBuffer,
- VkBuffer buffer,
- VkDeviceSize offset,
- uint32_t drawCount,
- uint32_t stride)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdDrawIndirect");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkBuffer local_buffer;
- VkDeviceSize local_offset;
- uint32_t local_drawCount;
- uint32_t local_stride;
- local_commandBuffer = commandBuffer;
- local_buffer = buffer;
- local_offset = offset;
- local_drawCount = drawCount;
- local_stride = stride;
- countingStream->rewind();
- {
- uint64_t cgen_var_545;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_545, 1);
- countingStream->write((uint64_t*)&cgen_var_545, 1 * 8);
- uint64_t cgen_var_546;
- countingStream->handleMapping()->mapHandles_VkBuffer_u64(&local_buffer, &cgen_var_546, 1);
- countingStream->write((uint64_t*)&cgen_var_546, 1 * 8);
- countingStream->write((VkDeviceSize*)&local_offset, sizeof(VkDeviceSize));
- countingStream->write((uint32_t*)&local_drawCount, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_stride, sizeof(uint32_t));
- }
- uint32_t packetSize_vkCmdDrawIndirect = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdDrawIndirect = OP_vkCmdDrawIndirect;
- stream->write(&opcode_vkCmdDrawIndirect, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdDrawIndirect, sizeof(uint32_t));
- uint64_t cgen_var_547;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_547, 1);
- stream->write((uint64_t*)&cgen_var_547, 1 * 8);
- uint64_t cgen_var_548;
- stream->handleMapping()->mapHandles_VkBuffer_u64(&local_buffer, &cgen_var_548, 1);
- stream->write((uint64_t*)&cgen_var_548, 1 * 8);
- stream->write((VkDeviceSize*)&local_offset, sizeof(VkDeviceSize));
- stream->write((uint32_t*)&local_drawCount, sizeof(uint32_t));
- stream->write((uint32_t*)&local_stride, sizeof(uint32_t));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdDrawIndirect");;
-}
-
-void VkEncoder::vkCmdDrawIndexedIndirect(
- VkCommandBuffer commandBuffer,
- VkBuffer buffer,
- VkDeviceSize offset,
- uint32_t drawCount,
- uint32_t stride)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdDrawIndexedIndirect");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkBuffer local_buffer;
- VkDeviceSize local_offset;
- uint32_t local_drawCount;
- uint32_t local_stride;
- local_commandBuffer = commandBuffer;
- local_buffer = buffer;
- local_offset = offset;
- local_drawCount = drawCount;
- local_stride = stride;
- countingStream->rewind();
- {
- uint64_t cgen_var_549;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_549, 1);
- countingStream->write((uint64_t*)&cgen_var_549, 1 * 8);
- uint64_t cgen_var_550;
- countingStream->handleMapping()->mapHandles_VkBuffer_u64(&local_buffer, &cgen_var_550, 1);
- countingStream->write((uint64_t*)&cgen_var_550, 1 * 8);
- countingStream->write((VkDeviceSize*)&local_offset, sizeof(VkDeviceSize));
- countingStream->write((uint32_t*)&local_drawCount, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_stride, sizeof(uint32_t));
- }
- uint32_t packetSize_vkCmdDrawIndexedIndirect = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdDrawIndexedIndirect = OP_vkCmdDrawIndexedIndirect;
- stream->write(&opcode_vkCmdDrawIndexedIndirect, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdDrawIndexedIndirect, sizeof(uint32_t));
- uint64_t cgen_var_551;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_551, 1);
- stream->write((uint64_t*)&cgen_var_551, 1 * 8);
- uint64_t cgen_var_552;
- stream->handleMapping()->mapHandles_VkBuffer_u64(&local_buffer, &cgen_var_552, 1);
- stream->write((uint64_t*)&cgen_var_552, 1 * 8);
- stream->write((VkDeviceSize*)&local_offset, sizeof(VkDeviceSize));
- stream->write((uint32_t*)&local_drawCount, sizeof(uint32_t));
- stream->write((uint32_t*)&local_stride, sizeof(uint32_t));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdDrawIndexedIndirect");;
-}
-
-void VkEncoder::vkCmdDispatch(
- VkCommandBuffer commandBuffer,
- uint32_t groupCountX,
- uint32_t groupCountY,
- uint32_t groupCountZ)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdDispatch");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- uint32_t local_groupCountX;
- uint32_t local_groupCountY;
- uint32_t local_groupCountZ;
- local_commandBuffer = commandBuffer;
- local_groupCountX = groupCountX;
- local_groupCountY = groupCountY;
- local_groupCountZ = groupCountZ;
- countingStream->rewind();
- {
- uint64_t cgen_var_553;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_553, 1);
- countingStream->write((uint64_t*)&cgen_var_553, 1 * 8);
- countingStream->write((uint32_t*)&local_groupCountX, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_groupCountY, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_groupCountZ, sizeof(uint32_t));
- }
- uint32_t packetSize_vkCmdDispatch = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdDispatch = OP_vkCmdDispatch;
- stream->write(&opcode_vkCmdDispatch, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdDispatch, sizeof(uint32_t));
- uint64_t cgen_var_554;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_554, 1);
- stream->write((uint64_t*)&cgen_var_554, 1 * 8);
- stream->write((uint32_t*)&local_groupCountX, sizeof(uint32_t));
- stream->write((uint32_t*)&local_groupCountY, sizeof(uint32_t));
- stream->write((uint32_t*)&local_groupCountZ, sizeof(uint32_t));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdDispatch");;
-}
-
-void VkEncoder::vkCmdDispatchIndirect(
- VkCommandBuffer commandBuffer,
- VkBuffer buffer,
- VkDeviceSize offset)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdDispatchIndirect");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkBuffer local_buffer;
- VkDeviceSize local_offset;
- local_commandBuffer = commandBuffer;
- local_buffer = buffer;
- local_offset = offset;
- countingStream->rewind();
- {
- uint64_t cgen_var_555;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_555, 1);
- countingStream->write((uint64_t*)&cgen_var_555, 1 * 8);
- uint64_t cgen_var_556;
- countingStream->handleMapping()->mapHandles_VkBuffer_u64(&local_buffer, &cgen_var_556, 1);
- countingStream->write((uint64_t*)&cgen_var_556, 1 * 8);
- countingStream->write((VkDeviceSize*)&local_offset, sizeof(VkDeviceSize));
- }
- uint32_t packetSize_vkCmdDispatchIndirect = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdDispatchIndirect = OP_vkCmdDispatchIndirect;
- stream->write(&opcode_vkCmdDispatchIndirect, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdDispatchIndirect, sizeof(uint32_t));
- uint64_t cgen_var_557;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_557, 1);
- stream->write((uint64_t*)&cgen_var_557, 1 * 8);
- uint64_t cgen_var_558;
- stream->handleMapping()->mapHandles_VkBuffer_u64(&local_buffer, &cgen_var_558, 1);
- stream->write((uint64_t*)&cgen_var_558, 1 * 8);
- stream->write((VkDeviceSize*)&local_offset, sizeof(VkDeviceSize));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdDispatchIndirect");;
-}
-
-void VkEncoder::vkCmdCopyBuffer(
- VkCommandBuffer commandBuffer,
- VkBuffer srcBuffer,
- VkBuffer dstBuffer,
- uint32_t regionCount,
- const VkBufferCopy* pRegions)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdCopyBuffer");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkBuffer local_srcBuffer;
- VkBuffer local_dstBuffer;
- uint32_t local_regionCount;
- VkBufferCopy* local_pRegions;
- local_commandBuffer = commandBuffer;
- local_srcBuffer = srcBuffer;
- local_dstBuffer = dstBuffer;
- local_regionCount = regionCount;
- local_pRegions = nullptr;
- if (pRegions)
- {
- local_pRegions = (VkBufferCopy*)pool->alloc(((regionCount)) * sizeof(const VkBufferCopy));
- for (uint32_t i = 0; i < (uint32_t)((regionCount)); ++i)
- {
- deepcopy_VkBufferCopy(pool, pRegions + i, (VkBufferCopy*)(local_pRegions + i));
- }
- }
- if (local_pRegions)
- {
- for (uint32_t i = 0; i < (uint32_t)((regionCount)); ++i)
- {
- transform_tohost_VkBufferCopy(mImpl->resources(), (VkBufferCopy*)(local_pRegions + i));
- }
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_559;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_559, 1);
- countingStream->write((uint64_t*)&cgen_var_559, 1 * 8);
- uint64_t cgen_var_560;
- countingStream->handleMapping()->mapHandles_VkBuffer_u64(&local_srcBuffer, &cgen_var_560, 1);
- countingStream->write((uint64_t*)&cgen_var_560, 1 * 8);
- uint64_t cgen_var_561;
- countingStream->handleMapping()->mapHandles_VkBuffer_u64(&local_dstBuffer, &cgen_var_561, 1);
- countingStream->write((uint64_t*)&cgen_var_561, 1 * 8);
- countingStream->write((uint32_t*)&local_regionCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((regionCount)); ++i)
- {
- marshal_VkBufferCopy(countingStream, (VkBufferCopy*)(local_pRegions + i));
- }
- }
- uint32_t packetSize_vkCmdCopyBuffer = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdCopyBuffer = OP_vkCmdCopyBuffer;
- stream->write(&opcode_vkCmdCopyBuffer, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdCopyBuffer, sizeof(uint32_t));
- uint64_t cgen_var_562;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_562, 1);
- stream->write((uint64_t*)&cgen_var_562, 1 * 8);
- uint64_t cgen_var_563;
- stream->handleMapping()->mapHandles_VkBuffer_u64(&local_srcBuffer, &cgen_var_563, 1);
- stream->write((uint64_t*)&cgen_var_563, 1 * 8);
- uint64_t cgen_var_564;
- stream->handleMapping()->mapHandles_VkBuffer_u64(&local_dstBuffer, &cgen_var_564, 1);
- stream->write((uint64_t*)&cgen_var_564, 1 * 8);
- stream->write((uint32_t*)&local_regionCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((regionCount)); ++i)
- {
- marshal_VkBufferCopy(stream, (VkBufferCopy*)(local_pRegions + i));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdCopyBuffer");;
-}
-
-void VkEncoder::vkCmdCopyImage(
- VkCommandBuffer commandBuffer,
- VkImage srcImage,
- VkImageLayout srcImageLayout,
- VkImage dstImage,
- VkImageLayout dstImageLayout,
- uint32_t regionCount,
- const VkImageCopy* pRegions)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdCopyImage");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkImage local_srcImage;
- VkImageLayout local_srcImageLayout;
- VkImage local_dstImage;
- VkImageLayout local_dstImageLayout;
- uint32_t local_regionCount;
- VkImageCopy* local_pRegions;
- local_commandBuffer = commandBuffer;
- local_srcImage = srcImage;
- local_srcImageLayout = srcImageLayout;
- local_dstImage = dstImage;
- local_dstImageLayout = dstImageLayout;
- local_regionCount = regionCount;
- local_pRegions = nullptr;
- if (pRegions)
- {
- local_pRegions = (VkImageCopy*)pool->alloc(((regionCount)) * sizeof(const VkImageCopy));
- for (uint32_t i = 0; i < (uint32_t)((regionCount)); ++i)
- {
- deepcopy_VkImageCopy(pool, pRegions + i, (VkImageCopy*)(local_pRegions + i));
- }
- }
- if (local_pRegions)
- {
- for (uint32_t i = 0; i < (uint32_t)((regionCount)); ++i)
- {
- transform_tohost_VkImageCopy(mImpl->resources(), (VkImageCopy*)(local_pRegions + i));
- }
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_565;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_565, 1);
- countingStream->write((uint64_t*)&cgen_var_565, 1 * 8);
- uint64_t cgen_var_566;
- countingStream->handleMapping()->mapHandles_VkImage_u64(&local_srcImage, &cgen_var_566, 1);
- countingStream->write((uint64_t*)&cgen_var_566, 1 * 8);
- countingStream->write((VkImageLayout*)&local_srcImageLayout, sizeof(VkImageLayout));
- uint64_t cgen_var_567;
- countingStream->handleMapping()->mapHandles_VkImage_u64(&local_dstImage, &cgen_var_567, 1);
- countingStream->write((uint64_t*)&cgen_var_567, 1 * 8);
- countingStream->write((VkImageLayout*)&local_dstImageLayout, sizeof(VkImageLayout));
- countingStream->write((uint32_t*)&local_regionCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((regionCount)); ++i)
- {
- marshal_VkImageCopy(countingStream, (VkImageCopy*)(local_pRegions + i));
- }
- }
- uint32_t packetSize_vkCmdCopyImage = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdCopyImage = OP_vkCmdCopyImage;
- stream->write(&opcode_vkCmdCopyImage, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdCopyImage, sizeof(uint32_t));
- uint64_t cgen_var_568;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_568, 1);
- stream->write((uint64_t*)&cgen_var_568, 1 * 8);
- uint64_t cgen_var_569;
- stream->handleMapping()->mapHandles_VkImage_u64(&local_srcImage, &cgen_var_569, 1);
- stream->write((uint64_t*)&cgen_var_569, 1 * 8);
- stream->write((VkImageLayout*)&local_srcImageLayout, sizeof(VkImageLayout));
- uint64_t cgen_var_570;
- stream->handleMapping()->mapHandles_VkImage_u64(&local_dstImage, &cgen_var_570, 1);
- stream->write((uint64_t*)&cgen_var_570, 1 * 8);
- stream->write((VkImageLayout*)&local_dstImageLayout, sizeof(VkImageLayout));
- stream->write((uint32_t*)&local_regionCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((regionCount)); ++i)
- {
- marshal_VkImageCopy(stream, (VkImageCopy*)(local_pRegions + i));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdCopyImage");;
-}
-
-void VkEncoder::vkCmdBlitImage(
- VkCommandBuffer commandBuffer,
- VkImage srcImage,
- VkImageLayout srcImageLayout,
- VkImage dstImage,
- VkImageLayout dstImageLayout,
- uint32_t regionCount,
- const VkImageBlit* pRegions,
- VkFilter filter)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdBlitImage");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkImage local_srcImage;
- VkImageLayout local_srcImageLayout;
- VkImage local_dstImage;
- VkImageLayout local_dstImageLayout;
- uint32_t local_regionCount;
- VkImageBlit* local_pRegions;
- VkFilter local_filter;
- local_commandBuffer = commandBuffer;
- local_srcImage = srcImage;
- local_srcImageLayout = srcImageLayout;
- local_dstImage = dstImage;
- local_dstImageLayout = dstImageLayout;
- local_regionCount = regionCount;
- local_pRegions = nullptr;
- if (pRegions)
- {
- local_pRegions = (VkImageBlit*)pool->alloc(((regionCount)) * sizeof(const VkImageBlit));
- for (uint32_t i = 0; i < (uint32_t)((regionCount)); ++i)
- {
- deepcopy_VkImageBlit(pool, pRegions + i, (VkImageBlit*)(local_pRegions + i));
- }
- }
- local_filter = filter;
- if (local_pRegions)
- {
- for (uint32_t i = 0; i < (uint32_t)((regionCount)); ++i)
- {
- transform_tohost_VkImageBlit(mImpl->resources(), (VkImageBlit*)(local_pRegions + i));
- }
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_571;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_571, 1);
- countingStream->write((uint64_t*)&cgen_var_571, 1 * 8);
- uint64_t cgen_var_572;
- countingStream->handleMapping()->mapHandles_VkImage_u64(&local_srcImage, &cgen_var_572, 1);
- countingStream->write((uint64_t*)&cgen_var_572, 1 * 8);
- countingStream->write((VkImageLayout*)&local_srcImageLayout, sizeof(VkImageLayout));
- uint64_t cgen_var_573;
- countingStream->handleMapping()->mapHandles_VkImage_u64(&local_dstImage, &cgen_var_573, 1);
- countingStream->write((uint64_t*)&cgen_var_573, 1 * 8);
- countingStream->write((VkImageLayout*)&local_dstImageLayout, sizeof(VkImageLayout));
- countingStream->write((uint32_t*)&local_regionCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((regionCount)); ++i)
- {
- marshal_VkImageBlit(countingStream, (VkImageBlit*)(local_pRegions + i));
- }
- countingStream->write((VkFilter*)&local_filter, sizeof(VkFilter));
- }
- uint32_t packetSize_vkCmdBlitImage = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdBlitImage = OP_vkCmdBlitImage;
- stream->write(&opcode_vkCmdBlitImage, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdBlitImage, sizeof(uint32_t));
- uint64_t cgen_var_574;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_574, 1);
- stream->write((uint64_t*)&cgen_var_574, 1 * 8);
- uint64_t cgen_var_575;
- stream->handleMapping()->mapHandles_VkImage_u64(&local_srcImage, &cgen_var_575, 1);
- stream->write((uint64_t*)&cgen_var_575, 1 * 8);
- stream->write((VkImageLayout*)&local_srcImageLayout, sizeof(VkImageLayout));
- uint64_t cgen_var_576;
- stream->handleMapping()->mapHandles_VkImage_u64(&local_dstImage, &cgen_var_576, 1);
- stream->write((uint64_t*)&cgen_var_576, 1 * 8);
- stream->write((VkImageLayout*)&local_dstImageLayout, sizeof(VkImageLayout));
- stream->write((uint32_t*)&local_regionCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((regionCount)); ++i)
- {
- marshal_VkImageBlit(stream, (VkImageBlit*)(local_pRegions + i));
- }
- stream->write((VkFilter*)&local_filter, sizeof(VkFilter));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdBlitImage");;
-}
-
-void VkEncoder::vkCmdCopyBufferToImage(
- VkCommandBuffer commandBuffer,
- VkBuffer srcBuffer,
- VkImage dstImage,
- VkImageLayout dstImageLayout,
- uint32_t regionCount,
- const VkBufferImageCopy* pRegions)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdCopyBufferToImage");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkBuffer local_srcBuffer;
- VkImage local_dstImage;
- VkImageLayout local_dstImageLayout;
- uint32_t local_regionCount;
- VkBufferImageCopy* local_pRegions;
- local_commandBuffer = commandBuffer;
- local_srcBuffer = srcBuffer;
- local_dstImage = dstImage;
- local_dstImageLayout = dstImageLayout;
- local_regionCount = regionCount;
- local_pRegions = nullptr;
- if (pRegions)
- {
- local_pRegions = (VkBufferImageCopy*)pool->alloc(((regionCount)) * sizeof(const VkBufferImageCopy));
- for (uint32_t i = 0; i < (uint32_t)((regionCount)); ++i)
- {
- deepcopy_VkBufferImageCopy(pool, pRegions + i, (VkBufferImageCopy*)(local_pRegions + i));
- }
- }
- if (local_pRegions)
- {
- for (uint32_t i = 0; i < (uint32_t)((regionCount)); ++i)
- {
- transform_tohost_VkBufferImageCopy(mImpl->resources(), (VkBufferImageCopy*)(local_pRegions + i));
- }
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_577;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_577, 1);
- countingStream->write((uint64_t*)&cgen_var_577, 1 * 8);
- uint64_t cgen_var_578;
- countingStream->handleMapping()->mapHandles_VkBuffer_u64(&local_srcBuffer, &cgen_var_578, 1);
- countingStream->write((uint64_t*)&cgen_var_578, 1 * 8);
- uint64_t cgen_var_579;
- countingStream->handleMapping()->mapHandles_VkImage_u64(&local_dstImage, &cgen_var_579, 1);
- countingStream->write((uint64_t*)&cgen_var_579, 1 * 8);
- countingStream->write((VkImageLayout*)&local_dstImageLayout, sizeof(VkImageLayout));
- countingStream->write((uint32_t*)&local_regionCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((regionCount)); ++i)
- {
- marshal_VkBufferImageCopy(countingStream, (VkBufferImageCopy*)(local_pRegions + i));
- }
- }
- uint32_t packetSize_vkCmdCopyBufferToImage = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdCopyBufferToImage = OP_vkCmdCopyBufferToImage;
- stream->write(&opcode_vkCmdCopyBufferToImage, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdCopyBufferToImage, sizeof(uint32_t));
- uint64_t cgen_var_580;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_580, 1);
- stream->write((uint64_t*)&cgen_var_580, 1 * 8);
- uint64_t cgen_var_581;
- stream->handleMapping()->mapHandles_VkBuffer_u64(&local_srcBuffer, &cgen_var_581, 1);
- stream->write((uint64_t*)&cgen_var_581, 1 * 8);
- uint64_t cgen_var_582;
- stream->handleMapping()->mapHandles_VkImage_u64(&local_dstImage, &cgen_var_582, 1);
- stream->write((uint64_t*)&cgen_var_582, 1 * 8);
- stream->write((VkImageLayout*)&local_dstImageLayout, sizeof(VkImageLayout));
- stream->write((uint32_t*)&local_regionCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((regionCount)); ++i)
- {
- marshal_VkBufferImageCopy(stream, (VkBufferImageCopy*)(local_pRegions + i));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdCopyBufferToImage");;
-}
-
-void VkEncoder::vkCmdCopyImageToBuffer(
- VkCommandBuffer commandBuffer,
- VkImage srcImage,
- VkImageLayout srcImageLayout,
- VkBuffer dstBuffer,
- uint32_t regionCount,
- const VkBufferImageCopy* pRegions)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdCopyImageToBuffer");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkImage local_srcImage;
- VkImageLayout local_srcImageLayout;
- VkBuffer local_dstBuffer;
- uint32_t local_regionCount;
- VkBufferImageCopy* local_pRegions;
- local_commandBuffer = commandBuffer;
- local_srcImage = srcImage;
- local_srcImageLayout = srcImageLayout;
- local_dstBuffer = dstBuffer;
- local_regionCount = regionCount;
- local_pRegions = nullptr;
- if (pRegions)
- {
- local_pRegions = (VkBufferImageCopy*)pool->alloc(((regionCount)) * sizeof(const VkBufferImageCopy));
- for (uint32_t i = 0; i < (uint32_t)((regionCount)); ++i)
- {
- deepcopy_VkBufferImageCopy(pool, pRegions + i, (VkBufferImageCopy*)(local_pRegions + i));
- }
- }
- if (local_pRegions)
- {
- for (uint32_t i = 0; i < (uint32_t)((regionCount)); ++i)
- {
- transform_tohost_VkBufferImageCopy(mImpl->resources(), (VkBufferImageCopy*)(local_pRegions + i));
- }
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_583;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_583, 1);
- countingStream->write((uint64_t*)&cgen_var_583, 1 * 8);
- uint64_t cgen_var_584;
- countingStream->handleMapping()->mapHandles_VkImage_u64(&local_srcImage, &cgen_var_584, 1);
- countingStream->write((uint64_t*)&cgen_var_584, 1 * 8);
- countingStream->write((VkImageLayout*)&local_srcImageLayout, sizeof(VkImageLayout));
- uint64_t cgen_var_585;
- countingStream->handleMapping()->mapHandles_VkBuffer_u64(&local_dstBuffer, &cgen_var_585, 1);
- countingStream->write((uint64_t*)&cgen_var_585, 1 * 8);
- countingStream->write((uint32_t*)&local_regionCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((regionCount)); ++i)
- {
- marshal_VkBufferImageCopy(countingStream, (VkBufferImageCopy*)(local_pRegions + i));
- }
- }
- uint32_t packetSize_vkCmdCopyImageToBuffer = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdCopyImageToBuffer = OP_vkCmdCopyImageToBuffer;
- stream->write(&opcode_vkCmdCopyImageToBuffer, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdCopyImageToBuffer, sizeof(uint32_t));
- uint64_t cgen_var_586;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_586, 1);
- stream->write((uint64_t*)&cgen_var_586, 1 * 8);
- uint64_t cgen_var_587;
- stream->handleMapping()->mapHandles_VkImage_u64(&local_srcImage, &cgen_var_587, 1);
- stream->write((uint64_t*)&cgen_var_587, 1 * 8);
- stream->write((VkImageLayout*)&local_srcImageLayout, sizeof(VkImageLayout));
- uint64_t cgen_var_588;
- stream->handleMapping()->mapHandles_VkBuffer_u64(&local_dstBuffer, &cgen_var_588, 1);
- stream->write((uint64_t*)&cgen_var_588, 1 * 8);
- stream->write((uint32_t*)&local_regionCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((regionCount)); ++i)
- {
- marshal_VkBufferImageCopy(stream, (VkBufferImageCopy*)(local_pRegions + i));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdCopyImageToBuffer");;
-}
-
-void VkEncoder::vkCmdUpdateBuffer(
- VkCommandBuffer commandBuffer,
- VkBuffer dstBuffer,
- VkDeviceSize dstOffset,
- VkDeviceSize dataSize,
- const void* pData)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdUpdateBuffer");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkBuffer local_dstBuffer;
- VkDeviceSize local_dstOffset;
- VkDeviceSize local_dataSize;
- void* local_pData;
- local_commandBuffer = commandBuffer;
- local_dstBuffer = dstBuffer;
- local_dstOffset = dstOffset;
- local_dataSize = dataSize;
- local_pData = nullptr;
- if (pData)
- {
- local_pData = (void*)pool->dupArray(pData, ((dataSize)) * sizeof(const uint8_t));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_589;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_589, 1);
- countingStream->write((uint64_t*)&cgen_var_589, 1 * 8);
- uint64_t cgen_var_590;
- countingStream->handleMapping()->mapHandles_VkBuffer_u64(&local_dstBuffer, &cgen_var_590, 1);
- countingStream->write((uint64_t*)&cgen_var_590, 1 * 8);
- countingStream->write((VkDeviceSize*)&local_dstOffset, sizeof(VkDeviceSize));
- countingStream->write((VkDeviceSize*)&local_dataSize, sizeof(VkDeviceSize));
- countingStream->write((void*)local_pData, ((dataSize)) * sizeof(uint8_t));
- }
- uint32_t packetSize_vkCmdUpdateBuffer = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdUpdateBuffer = OP_vkCmdUpdateBuffer;
- stream->write(&opcode_vkCmdUpdateBuffer, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdUpdateBuffer, sizeof(uint32_t));
- uint64_t cgen_var_591;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_591, 1);
- stream->write((uint64_t*)&cgen_var_591, 1 * 8);
- uint64_t cgen_var_592;
- stream->handleMapping()->mapHandles_VkBuffer_u64(&local_dstBuffer, &cgen_var_592, 1);
- stream->write((uint64_t*)&cgen_var_592, 1 * 8);
- stream->write((VkDeviceSize*)&local_dstOffset, sizeof(VkDeviceSize));
- stream->write((VkDeviceSize*)&local_dataSize, sizeof(VkDeviceSize));
- stream->write((void*)local_pData, ((dataSize)) * sizeof(uint8_t));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdUpdateBuffer");;
-}
-
-void VkEncoder::vkCmdFillBuffer(
- VkCommandBuffer commandBuffer,
- VkBuffer dstBuffer,
- VkDeviceSize dstOffset,
- VkDeviceSize size,
- uint32_t data)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdFillBuffer");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkBuffer local_dstBuffer;
- VkDeviceSize local_dstOffset;
- VkDeviceSize local_size;
- uint32_t local_data;
- local_commandBuffer = commandBuffer;
- local_dstBuffer = dstBuffer;
- local_dstOffset = dstOffset;
- local_size = size;
- local_data = data;
- countingStream->rewind();
- {
- uint64_t cgen_var_593;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_593, 1);
- countingStream->write((uint64_t*)&cgen_var_593, 1 * 8);
- uint64_t cgen_var_594;
- countingStream->handleMapping()->mapHandles_VkBuffer_u64(&local_dstBuffer, &cgen_var_594, 1);
- countingStream->write((uint64_t*)&cgen_var_594, 1 * 8);
- countingStream->write((VkDeviceSize*)&local_dstOffset, sizeof(VkDeviceSize));
- countingStream->write((VkDeviceSize*)&local_size, sizeof(VkDeviceSize));
- countingStream->write((uint32_t*)&local_data, sizeof(uint32_t));
- }
- uint32_t packetSize_vkCmdFillBuffer = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdFillBuffer = OP_vkCmdFillBuffer;
- stream->write(&opcode_vkCmdFillBuffer, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdFillBuffer, sizeof(uint32_t));
- uint64_t cgen_var_595;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_595, 1);
- stream->write((uint64_t*)&cgen_var_595, 1 * 8);
- uint64_t cgen_var_596;
- stream->handleMapping()->mapHandles_VkBuffer_u64(&local_dstBuffer, &cgen_var_596, 1);
- stream->write((uint64_t*)&cgen_var_596, 1 * 8);
- stream->write((VkDeviceSize*)&local_dstOffset, sizeof(VkDeviceSize));
- stream->write((VkDeviceSize*)&local_size, sizeof(VkDeviceSize));
- stream->write((uint32_t*)&local_data, sizeof(uint32_t));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdFillBuffer");;
-}
-
-void VkEncoder::vkCmdClearColorImage(
- VkCommandBuffer commandBuffer,
- VkImage image,
- VkImageLayout imageLayout,
- const VkClearColorValue* pColor,
- uint32_t rangeCount,
- const VkImageSubresourceRange* pRanges)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdClearColorImage");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkImage local_image;
- VkImageLayout local_imageLayout;
- VkClearColorValue* local_pColor;
- uint32_t local_rangeCount;
- VkImageSubresourceRange* local_pRanges;
- local_commandBuffer = commandBuffer;
- local_image = image;
- local_imageLayout = imageLayout;
- local_pColor = nullptr;
- if (pColor)
- {
- local_pColor = (VkClearColorValue*)pool->alloc(sizeof(const VkClearColorValue));
- deepcopy_VkClearColorValue(pool, pColor, (VkClearColorValue*)(local_pColor));
- }
- local_rangeCount = rangeCount;
- local_pRanges = nullptr;
- if (pRanges)
- {
- local_pRanges = (VkImageSubresourceRange*)pool->alloc(((rangeCount)) * sizeof(const VkImageSubresourceRange));
- for (uint32_t i = 0; i < (uint32_t)((rangeCount)); ++i)
- {
- deepcopy_VkImageSubresourceRange(pool, pRanges + i, (VkImageSubresourceRange*)(local_pRanges + i));
- }
- }
- if (local_pColor)
- {
- transform_tohost_VkClearColorValue(mImpl->resources(), (VkClearColorValue*)(local_pColor));
- }
- if (local_pRanges)
- {
- for (uint32_t i = 0; i < (uint32_t)((rangeCount)); ++i)
- {
- transform_tohost_VkImageSubresourceRange(mImpl->resources(), (VkImageSubresourceRange*)(local_pRanges + i));
- }
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_597;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_597, 1);
- countingStream->write((uint64_t*)&cgen_var_597, 1 * 8);
- uint64_t cgen_var_598;
- countingStream->handleMapping()->mapHandles_VkImage_u64(&local_image, &cgen_var_598, 1);
- countingStream->write((uint64_t*)&cgen_var_598, 1 * 8);
- countingStream->write((VkImageLayout*)&local_imageLayout, sizeof(VkImageLayout));
- marshal_VkClearColorValue(countingStream, (VkClearColorValue*)(local_pColor));
- countingStream->write((uint32_t*)&local_rangeCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((rangeCount)); ++i)
- {
- marshal_VkImageSubresourceRange(countingStream, (VkImageSubresourceRange*)(local_pRanges + i));
- }
- }
- uint32_t packetSize_vkCmdClearColorImage = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdClearColorImage = OP_vkCmdClearColorImage;
- stream->write(&opcode_vkCmdClearColorImage, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdClearColorImage, sizeof(uint32_t));
- uint64_t cgen_var_599;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_599, 1);
- stream->write((uint64_t*)&cgen_var_599, 1 * 8);
- uint64_t cgen_var_600;
- stream->handleMapping()->mapHandles_VkImage_u64(&local_image, &cgen_var_600, 1);
- stream->write((uint64_t*)&cgen_var_600, 1 * 8);
- stream->write((VkImageLayout*)&local_imageLayout, sizeof(VkImageLayout));
- marshal_VkClearColorValue(stream, (VkClearColorValue*)(local_pColor));
- stream->write((uint32_t*)&local_rangeCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((rangeCount)); ++i)
- {
- marshal_VkImageSubresourceRange(stream, (VkImageSubresourceRange*)(local_pRanges + i));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdClearColorImage");;
-}
-
-void VkEncoder::vkCmdClearDepthStencilImage(
- VkCommandBuffer commandBuffer,
- VkImage image,
- VkImageLayout imageLayout,
- const VkClearDepthStencilValue* pDepthStencil,
- uint32_t rangeCount,
- const VkImageSubresourceRange* pRanges)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdClearDepthStencilImage");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkImage local_image;
- VkImageLayout local_imageLayout;
- VkClearDepthStencilValue* local_pDepthStencil;
- uint32_t local_rangeCount;
- VkImageSubresourceRange* local_pRanges;
- local_commandBuffer = commandBuffer;
- local_image = image;
- local_imageLayout = imageLayout;
- local_pDepthStencil = nullptr;
- if (pDepthStencil)
- {
- local_pDepthStencil = (VkClearDepthStencilValue*)pool->alloc(sizeof(const VkClearDepthStencilValue));
- deepcopy_VkClearDepthStencilValue(pool, pDepthStencil, (VkClearDepthStencilValue*)(local_pDepthStencil));
- }
- local_rangeCount = rangeCount;
- local_pRanges = nullptr;
- if (pRanges)
- {
- local_pRanges = (VkImageSubresourceRange*)pool->alloc(((rangeCount)) * sizeof(const VkImageSubresourceRange));
- for (uint32_t i = 0; i < (uint32_t)((rangeCount)); ++i)
- {
- deepcopy_VkImageSubresourceRange(pool, pRanges + i, (VkImageSubresourceRange*)(local_pRanges + i));
- }
- }
- if (local_pDepthStencil)
- {
- transform_tohost_VkClearDepthStencilValue(mImpl->resources(), (VkClearDepthStencilValue*)(local_pDepthStencil));
- }
- if (local_pRanges)
- {
- for (uint32_t i = 0; i < (uint32_t)((rangeCount)); ++i)
- {
- transform_tohost_VkImageSubresourceRange(mImpl->resources(), (VkImageSubresourceRange*)(local_pRanges + i));
- }
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_601;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_601, 1);
- countingStream->write((uint64_t*)&cgen_var_601, 1 * 8);
- uint64_t cgen_var_602;
- countingStream->handleMapping()->mapHandles_VkImage_u64(&local_image, &cgen_var_602, 1);
- countingStream->write((uint64_t*)&cgen_var_602, 1 * 8);
- countingStream->write((VkImageLayout*)&local_imageLayout, sizeof(VkImageLayout));
- marshal_VkClearDepthStencilValue(countingStream, (VkClearDepthStencilValue*)(local_pDepthStencil));
- countingStream->write((uint32_t*)&local_rangeCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((rangeCount)); ++i)
- {
- marshal_VkImageSubresourceRange(countingStream, (VkImageSubresourceRange*)(local_pRanges + i));
- }
- }
- uint32_t packetSize_vkCmdClearDepthStencilImage = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdClearDepthStencilImage = OP_vkCmdClearDepthStencilImage;
- stream->write(&opcode_vkCmdClearDepthStencilImage, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdClearDepthStencilImage, sizeof(uint32_t));
- uint64_t cgen_var_603;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_603, 1);
- stream->write((uint64_t*)&cgen_var_603, 1 * 8);
- uint64_t cgen_var_604;
- stream->handleMapping()->mapHandles_VkImage_u64(&local_image, &cgen_var_604, 1);
- stream->write((uint64_t*)&cgen_var_604, 1 * 8);
- stream->write((VkImageLayout*)&local_imageLayout, sizeof(VkImageLayout));
- marshal_VkClearDepthStencilValue(stream, (VkClearDepthStencilValue*)(local_pDepthStencil));
- stream->write((uint32_t*)&local_rangeCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((rangeCount)); ++i)
- {
- marshal_VkImageSubresourceRange(stream, (VkImageSubresourceRange*)(local_pRanges + i));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdClearDepthStencilImage");;
-}
-
-void VkEncoder::vkCmdClearAttachments(
- VkCommandBuffer commandBuffer,
- uint32_t attachmentCount,
- const VkClearAttachment* pAttachments,
- uint32_t rectCount,
- const VkClearRect* pRects)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdClearAttachments");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- uint32_t local_attachmentCount;
- VkClearAttachment* local_pAttachments;
- uint32_t local_rectCount;
- VkClearRect* local_pRects;
- local_commandBuffer = commandBuffer;
- local_attachmentCount = attachmentCount;
- local_pAttachments = nullptr;
- if (pAttachments)
- {
- local_pAttachments = (VkClearAttachment*)pool->alloc(((attachmentCount)) * sizeof(const VkClearAttachment));
- for (uint32_t i = 0; i < (uint32_t)((attachmentCount)); ++i)
- {
- deepcopy_VkClearAttachment(pool, pAttachments + i, (VkClearAttachment*)(local_pAttachments + i));
- }
- }
- local_rectCount = rectCount;
- local_pRects = nullptr;
- if (pRects)
- {
- local_pRects = (VkClearRect*)pool->alloc(((rectCount)) * sizeof(const VkClearRect));
- for (uint32_t i = 0; i < (uint32_t)((rectCount)); ++i)
- {
- deepcopy_VkClearRect(pool, pRects + i, (VkClearRect*)(local_pRects + i));
- }
- }
- if (local_pAttachments)
- {
- for (uint32_t i = 0; i < (uint32_t)((attachmentCount)); ++i)
- {
- transform_tohost_VkClearAttachment(mImpl->resources(), (VkClearAttachment*)(local_pAttachments + i));
- }
- }
- if (local_pRects)
- {
- for (uint32_t i = 0; i < (uint32_t)((rectCount)); ++i)
- {
- transform_tohost_VkClearRect(mImpl->resources(), (VkClearRect*)(local_pRects + i));
- }
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_605;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_605, 1);
- countingStream->write((uint64_t*)&cgen_var_605, 1 * 8);
- countingStream->write((uint32_t*)&local_attachmentCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((attachmentCount)); ++i)
- {
- marshal_VkClearAttachment(countingStream, (VkClearAttachment*)(local_pAttachments + i));
- }
- countingStream->write((uint32_t*)&local_rectCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((rectCount)); ++i)
- {
- marshal_VkClearRect(countingStream, (VkClearRect*)(local_pRects + i));
- }
- }
- uint32_t packetSize_vkCmdClearAttachments = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdClearAttachments = OP_vkCmdClearAttachments;
- stream->write(&opcode_vkCmdClearAttachments, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdClearAttachments, sizeof(uint32_t));
- uint64_t cgen_var_606;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_606, 1);
- stream->write((uint64_t*)&cgen_var_606, 1 * 8);
- stream->write((uint32_t*)&local_attachmentCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((attachmentCount)); ++i)
- {
- marshal_VkClearAttachment(stream, (VkClearAttachment*)(local_pAttachments + i));
- }
- stream->write((uint32_t*)&local_rectCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((rectCount)); ++i)
- {
- marshal_VkClearRect(stream, (VkClearRect*)(local_pRects + i));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdClearAttachments");;
-}
-
-void VkEncoder::vkCmdResolveImage(
- VkCommandBuffer commandBuffer,
- VkImage srcImage,
- VkImageLayout srcImageLayout,
- VkImage dstImage,
- VkImageLayout dstImageLayout,
- uint32_t regionCount,
- const VkImageResolve* pRegions)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdResolveImage");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkImage local_srcImage;
- VkImageLayout local_srcImageLayout;
- VkImage local_dstImage;
- VkImageLayout local_dstImageLayout;
- uint32_t local_regionCount;
- VkImageResolve* local_pRegions;
- local_commandBuffer = commandBuffer;
- local_srcImage = srcImage;
- local_srcImageLayout = srcImageLayout;
- local_dstImage = dstImage;
- local_dstImageLayout = dstImageLayout;
- local_regionCount = regionCount;
- local_pRegions = nullptr;
- if (pRegions)
- {
- local_pRegions = (VkImageResolve*)pool->alloc(((regionCount)) * sizeof(const VkImageResolve));
- for (uint32_t i = 0; i < (uint32_t)((regionCount)); ++i)
- {
- deepcopy_VkImageResolve(pool, pRegions + i, (VkImageResolve*)(local_pRegions + i));
- }
- }
- if (local_pRegions)
- {
- for (uint32_t i = 0; i < (uint32_t)((regionCount)); ++i)
- {
- transform_tohost_VkImageResolve(mImpl->resources(), (VkImageResolve*)(local_pRegions + i));
- }
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_607;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_607, 1);
- countingStream->write((uint64_t*)&cgen_var_607, 1 * 8);
- uint64_t cgen_var_608;
- countingStream->handleMapping()->mapHandles_VkImage_u64(&local_srcImage, &cgen_var_608, 1);
- countingStream->write((uint64_t*)&cgen_var_608, 1 * 8);
- countingStream->write((VkImageLayout*)&local_srcImageLayout, sizeof(VkImageLayout));
- uint64_t cgen_var_609;
- countingStream->handleMapping()->mapHandles_VkImage_u64(&local_dstImage, &cgen_var_609, 1);
- countingStream->write((uint64_t*)&cgen_var_609, 1 * 8);
- countingStream->write((VkImageLayout*)&local_dstImageLayout, sizeof(VkImageLayout));
- countingStream->write((uint32_t*)&local_regionCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((regionCount)); ++i)
- {
- marshal_VkImageResolve(countingStream, (VkImageResolve*)(local_pRegions + i));
- }
- }
- uint32_t packetSize_vkCmdResolveImage = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdResolveImage = OP_vkCmdResolveImage;
- stream->write(&opcode_vkCmdResolveImage, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdResolveImage, sizeof(uint32_t));
- uint64_t cgen_var_610;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_610, 1);
- stream->write((uint64_t*)&cgen_var_610, 1 * 8);
- uint64_t cgen_var_611;
- stream->handleMapping()->mapHandles_VkImage_u64(&local_srcImage, &cgen_var_611, 1);
- stream->write((uint64_t*)&cgen_var_611, 1 * 8);
- stream->write((VkImageLayout*)&local_srcImageLayout, sizeof(VkImageLayout));
- uint64_t cgen_var_612;
- stream->handleMapping()->mapHandles_VkImage_u64(&local_dstImage, &cgen_var_612, 1);
- stream->write((uint64_t*)&cgen_var_612, 1 * 8);
- stream->write((VkImageLayout*)&local_dstImageLayout, sizeof(VkImageLayout));
- stream->write((uint32_t*)&local_regionCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((regionCount)); ++i)
- {
- marshal_VkImageResolve(stream, (VkImageResolve*)(local_pRegions + i));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdResolveImage");;
-}
-
-void VkEncoder::vkCmdSetEvent(
- VkCommandBuffer commandBuffer,
- VkEvent event,
- VkPipelineStageFlags stageMask)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdSetEvent");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkEvent local_event;
- VkPipelineStageFlags local_stageMask;
- local_commandBuffer = commandBuffer;
- local_event = event;
- local_stageMask = stageMask;
- countingStream->rewind();
- {
- uint64_t cgen_var_613;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_613, 1);
- countingStream->write((uint64_t*)&cgen_var_613, 1 * 8);
- uint64_t cgen_var_614;
- countingStream->handleMapping()->mapHandles_VkEvent_u64(&local_event, &cgen_var_614, 1);
- countingStream->write((uint64_t*)&cgen_var_614, 1 * 8);
- countingStream->write((VkPipelineStageFlags*)&local_stageMask, sizeof(VkPipelineStageFlags));
- }
- uint32_t packetSize_vkCmdSetEvent = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdSetEvent = OP_vkCmdSetEvent;
- stream->write(&opcode_vkCmdSetEvent, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdSetEvent, sizeof(uint32_t));
- uint64_t cgen_var_615;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_615, 1);
- stream->write((uint64_t*)&cgen_var_615, 1 * 8);
- uint64_t cgen_var_616;
- stream->handleMapping()->mapHandles_VkEvent_u64(&local_event, &cgen_var_616, 1);
- stream->write((uint64_t*)&cgen_var_616, 1 * 8);
- stream->write((VkPipelineStageFlags*)&local_stageMask, sizeof(VkPipelineStageFlags));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdSetEvent");;
-}
-
-void VkEncoder::vkCmdResetEvent(
- VkCommandBuffer commandBuffer,
- VkEvent event,
- VkPipelineStageFlags stageMask)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdResetEvent");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkEvent local_event;
- VkPipelineStageFlags local_stageMask;
- local_commandBuffer = commandBuffer;
- local_event = event;
- local_stageMask = stageMask;
- countingStream->rewind();
- {
- uint64_t cgen_var_617;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_617, 1);
- countingStream->write((uint64_t*)&cgen_var_617, 1 * 8);
- uint64_t cgen_var_618;
- countingStream->handleMapping()->mapHandles_VkEvent_u64(&local_event, &cgen_var_618, 1);
- countingStream->write((uint64_t*)&cgen_var_618, 1 * 8);
- countingStream->write((VkPipelineStageFlags*)&local_stageMask, sizeof(VkPipelineStageFlags));
- }
- uint32_t packetSize_vkCmdResetEvent = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdResetEvent = OP_vkCmdResetEvent;
- stream->write(&opcode_vkCmdResetEvent, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdResetEvent, sizeof(uint32_t));
- uint64_t cgen_var_619;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_619, 1);
- stream->write((uint64_t*)&cgen_var_619, 1 * 8);
- uint64_t cgen_var_620;
- stream->handleMapping()->mapHandles_VkEvent_u64(&local_event, &cgen_var_620, 1);
- stream->write((uint64_t*)&cgen_var_620, 1 * 8);
- stream->write((VkPipelineStageFlags*)&local_stageMask, sizeof(VkPipelineStageFlags));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdResetEvent");;
-}
-
-void VkEncoder::vkCmdWaitEvents(
- 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)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdWaitEvents");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- uint32_t local_eventCount;
- VkEvent* local_pEvents;
- VkPipelineStageFlags local_srcStageMask;
- VkPipelineStageFlags local_dstStageMask;
- uint32_t local_memoryBarrierCount;
- VkMemoryBarrier* local_pMemoryBarriers;
- uint32_t local_bufferMemoryBarrierCount;
- VkBufferMemoryBarrier* local_pBufferMemoryBarriers;
- uint32_t local_imageMemoryBarrierCount;
- VkImageMemoryBarrier* local_pImageMemoryBarriers;
- local_commandBuffer = commandBuffer;
- local_eventCount = eventCount;
- local_pEvents = nullptr;
- if (pEvents)
- {
- local_pEvents = (VkEvent*)pool->dupArray(pEvents, ((eventCount)) * sizeof(const VkEvent));
- }
- local_srcStageMask = srcStageMask;
- local_dstStageMask = dstStageMask;
- local_memoryBarrierCount = memoryBarrierCount;
- local_pMemoryBarriers = nullptr;
- if (pMemoryBarriers)
- {
- local_pMemoryBarriers = (VkMemoryBarrier*)pool->alloc(((memoryBarrierCount)) * sizeof(const VkMemoryBarrier));
- for (uint32_t i = 0; i < (uint32_t)((memoryBarrierCount)); ++i)
- {
- deepcopy_VkMemoryBarrier(pool, pMemoryBarriers + i, (VkMemoryBarrier*)(local_pMemoryBarriers + i));
- }
- }
- local_bufferMemoryBarrierCount = bufferMemoryBarrierCount;
- local_pBufferMemoryBarriers = nullptr;
- if (pBufferMemoryBarriers)
- {
- local_pBufferMemoryBarriers = (VkBufferMemoryBarrier*)pool->alloc(((bufferMemoryBarrierCount)) * sizeof(const VkBufferMemoryBarrier));
- for (uint32_t i = 0; i < (uint32_t)((bufferMemoryBarrierCount)); ++i)
- {
- deepcopy_VkBufferMemoryBarrier(pool, pBufferMemoryBarriers + i, (VkBufferMemoryBarrier*)(local_pBufferMemoryBarriers + i));
- }
- }
- local_imageMemoryBarrierCount = imageMemoryBarrierCount;
- local_pImageMemoryBarriers = nullptr;
- if (pImageMemoryBarriers)
- {
- local_pImageMemoryBarriers = (VkImageMemoryBarrier*)pool->alloc(((imageMemoryBarrierCount)) * sizeof(const VkImageMemoryBarrier));
- for (uint32_t i = 0; i < (uint32_t)((imageMemoryBarrierCount)); ++i)
- {
- deepcopy_VkImageMemoryBarrier(pool, pImageMemoryBarriers + i, (VkImageMemoryBarrier*)(local_pImageMemoryBarriers + i));
- }
- }
- if (local_pMemoryBarriers)
- {
- for (uint32_t i = 0; i < (uint32_t)((memoryBarrierCount)); ++i)
- {
- transform_tohost_VkMemoryBarrier(mImpl->resources(), (VkMemoryBarrier*)(local_pMemoryBarriers + i));
- }
- }
- if (local_pBufferMemoryBarriers)
- {
- for (uint32_t i = 0; i < (uint32_t)((bufferMemoryBarrierCount)); ++i)
- {
- transform_tohost_VkBufferMemoryBarrier(mImpl->resources(), (VkBufferMemoryBarrier*)(local_pBufferMemoryBarriers + i));
- }
- }
- if (local_pImageMemoryBarriers)
- {
- for (uint32_t i = 0; i < (uint32_t)((imageMemoryBarrierCount)); ++i)
- {
- transform_tohost_VkImageMemoryBarrier(mImpl->resources(), (VkImageMemoryBarrier*)(local_pImageMemoryBarriers + i));
- }
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_621;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_621, 1);
- countingStream->write((uint64_t*)&cgen_var_621, 1 * 8);
- countingStream->write((uint32_t*)&local_eventCount, sizeof(uint32_t));
- if (((eventCount)))
- {
- uint64_t* cgen_var_622;
- countingStream->alloc((void**)&cgen_var_622, ((eventCount)) * 8);
- countingStream->handleMapping()->mapHandles_VkEvent_u64(local_pEvents, cgen_var_622, ((eventCount)));
- countingStream->write((uint64_t*)cgen_var_622, ((eventCount)) * 8);
- }
- countingStream->write((VkPipelineStageFlags*)&local_srcStageMask, sizeof(VkPipelineStageFlags));
- countingStream->write((VkPipelineStageFlags*)&local_dstStageMask, sizeof(VkPipelineStageFlags));
- countingStream->write((uint32_t*)&local_memoryBarrierCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((memoryBarrierCount)); ++i)
- {
- marshal_VkMemoryBarrier(countingStream, (VkMemoryBarrier*)(local_pMemoryBarriers + i));
- }
- countingStream->write((uint32_t*)&local_bufferMemoryBarrierCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((bufferMemoryBarrierCount)); ++i)
- {
- marshal_VkBufferMemoryBarrier(countingStream, (VkBufferMemoryBarrier*)(local_pBufferMemoryBarriers + i));
- }
- countingStream->write((uint32_t*)&local_imageMemoryBarrierCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((imageMemoryBarrierCount)); ++i)
- {
- marshal_VkImageMemoryBarrier(countingStream, (VkImageMemoryBarrier*)(local_pImageMemoryBarriers + i));
- }
- }
- uint32_t packetSize_vkCmdWaitEvents = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdWaitEvents = OP_vkCmdWaitEvents;
- stream->write(&opcode_vkCmdWaitEvents, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdWaitEvents, sizeof(uint32_t));
- uint64_t cgen_var_623;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_623, 1);
- stream->write((uint64_t*)&cgen_var_623, 1 * 8);
- stream->write((uint32_t*)&local_eventCount, sizeof(uint32_t));
- if (((eventCount)))
- {
- uint64_t* cgen_var_624;
- stream->alloc((void**)&cgen_var_624, ((eventCount)) * 8);
- stream->handleMapping()->mapHandles_VkEvent_u64(local_pEvents, cgen_var_624, ((eventCount)));
- stream->write((uint64_t*)cgen_var_624, ((eventCount)) * 8);
- }
- stream->write((VkPipelineStageFlags*)&local_srcStageMask, sizeof(VkPipelineStageFlags));
- stream->write((VkPipelineStageFlags*)&local_dstStageMask, sizeof(VkPipelineStageFlags));
- stream->write((uint32_t*)&local_memoryBarrierCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((memoryBarrierCount)); ++i)
- {
- marshal_VkMemoryBarrier(stream, (VkMemoryBarrier*)(local_pMemoryBarriers + i));
- }
- stream->write((uint32_t*)&local_bufferMemoryBarrierCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((bufferMemoryBarrierCount)); ++i)
- {
- marshal_VkBufferMemoryBarrier(stream, (VkBufferMemoryBarrier*)(local_pBufferMemoryBarriers + i));
- }
- stream->write((uint32_t*)&local_imageMemoryBarrierCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((imageMemoryBarrierCount)); ++i)
- {
- marshal_VkImageMemoryBarrier(stream, (VkImageMemoryBarrier*)(local_pImageMemoryBarriers + i));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdWaitEvents");;
-}
-
-void VkEncoder::vkCmdPipelineBarrier(
- 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)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdPipelineBarrier");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkPipelineStageFlags local_srcStageMask;
- VkPipelineStageFlags local_dstStageMask;
- VkDependencyFlags local_dependencyFlags;
- uint32_t local_memoryBarrierCount;
- VkMemoryBarrier* local_pMemoryBarriers;
- uint32_t local_bufferMemoryBarrierCount;
- VkBufferMemoryBarrier* local_pBufferMemoryBarriers;
- uint32_t local_imageMemoryBarrierCount;
- VkImageMemoryBarrier* local_pImageMemoryBarriers;
- local_commandBuffer = commandBuffer;
- local_srcStageMask = srcStageMask;
- local_dstStageMask = dstStageMask;
- local_dependencyFlags = dependencyFlags;
- local_memoryBarrierCount = memoryBarrierCount;
- local_pMemoryBarriers = nullptr;
- if (pMemoryBarriers)
- {
- local_pMemoryBarriers = (VkMemoryBarrier*)pool->alloc(((memoryBarrierCount)) * sizeof(const VkMemoryBarrier));
- for (uint32_t i = 0; i < (uint32_t)((memoryBarrierCount)); ++i)
- {
- deepcopy_VkMemoryBarrier(pool, pMemoryBarriers + i, (VkMemoryBarrier*)(local_pMemoryBarriers + i));
- }
- }
- local_bufferMemoryBarrierCount = bufferMemoryBarrierCount;
- local_pBufferMemoryBarriers = nullptr;
- if (pBufferMemoryBarriers)
- {
- local_pBufferMemoryBarriers = (VkBufferMemoryBarrier*)pool->alloc(((bufferMemoryBarrierCount)) * sizeof(const VkBufferMemoryBarrier));
- for (uint32_t i = 0; i < (uint32_t)((bufferMemoryBarrierCount)); ++i)
- {
- deepcopy_VkBufferMemoryBarrier(pool, pBufferMemoryBarriers + i, (VkBufferMemoryBarrier*)(local_pBufferMemoryBarriers + i));
- }
- }
- local_imageMemoryBarrierCount = imageMemoryBarrierCount;
- local_pImageMemoryBarriers = nullptr;
- if (pImageMemoryBarriers)
- {
- local_pImageMemoryBarriers = (VkImageMemoryBarrier*)pool->alloc(((imageMemoryBarrierCount)) * sizeof(const VkImageMemoryBarrier));
- for (uint32_t i = 0; i < (uint32_t)((imageMemoryBarrierCount)); ++i)
- {
- deepcopy_VkImageMemoryBarrier(pool, pImageMemoryBarriers + i, (VkImageMemoryBarrier*)(local_pImageMemoryBarriers + i));
- }
- }
- if (local_pMemoryBarriers)
- {
- for (uint32_t i = 0; i < (uint32_t)((memoryBarrierCount)); ++i)
- {
- transform_tohost_VkMemoryBarrier(mImpl->resources(), (VkMemoryBarrier*)(local_pMemoryBarriers + i));
- }
- }
- if (local_pBufferMemoryBarriers)
- {
- for (uint32_t i = 0; i < (uint32_t)((bufferMemoryBarrierCount)); ++i)
- {
- transform_tohost_VkBufferMemoryBarrier(mImpl->resources(), (VkBufferMemoryBarrier*)(local_pBufferMemoryBarriers + i));
- }
- }
- if (local_pImageMemoryBarriers)
- {
- for (uint32_t i = 0; i < (uint32_t)((imageMemoryBarrierCount)); ++i)
- {
- transform_tohost_VkImageMemoryBarrier(mImpl->resources(), (VkImageMemoryBarrier*)(local_pImageMemoryBarriers + i));
- }
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_625;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_625, 1);
- countingStream->write((uint64_t*)&cgen_var_625, 1 * 8);
- countingStream->write((VkPipelineStageFlags*)&local_srcStageMask, sizeof(VkPipelineStageFlags));
- countingStream->write((VkPipelineStageFlags*)&local_dstStageMask, sizeof(VkPipelineStageFlags));
- countingStream->write((VkDependencyFlags*)&local_dependencyFlags, sizeof(VkDependencyFlags));
- countingStream->write((uint32_t*)&local_memoryBarrierCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((memoryBarrierCount)); ++i)
- {
- marshal_VkMemoryBarrier(countingStream, (VkMemoryBarrier*)(local_pMemoryBarriers + i));
- }
- countingStream->write((uint32_t*)&local_bufferMemoryBarrierCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((bufferMemoryBarrierCount)); ++i)
- {
- marshal_VkBufferMemoryBarrier(countingStream, (VkBufferMemoryBarrier*)(local_pBufferMemoryBarriers + i));
- }
- countingStream->write((uint32_t*)&local_imageMemoryBarrierCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((imageMemoryBarrierCount)); ++i)
- {
- marshal_VkImageMemoryBarrier(countingStream, (VkImageMemoryBarrier*)(local_pImageMemoryBarriers + i));
- }
- }
- uint32_t packetSize_vkCmdPipelineBarrier = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdPipelineBarrier = OP_vkCmdPipelineBarrier;
- stream->write(&opcode_vkCmdPipelineBarrier, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdPipelineBarrier, sizeof(uint32_t));
- uint64_t cgen_var_626;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_626, 1);
- stream->write((uint64_t*)&cgen_var_626, 1 * 8);
- stream->write((VkPipelineStageFlags*)&local_srcStageMask, sizeof(VkPipelineStageFlags));
- stream->write((VkPipelineStageFlags*)&local_dstStageMask, sizeof(VkPipelineStageFlags));
- stream->write((VkDependencyFlags*)&local_dependencyFlags, sizeof(VkDependencyFlags));
- stream->write((uint32_t*)&local_memoryBarrierCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((memoryBarrierCount)); ++i)
- {
- marshal_VkMemoryBarrier(stream, (VkMemoryBarrier*)(local_pMemoryBarriers + i));
- }
- stream->write((uint32_t*)&local_bufferMemoryBarrierCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((bufferMemoryBarrierCount)); ++i)
- {
- marshal_VkBufferMemoryBarrier(stream, (VkBufferMemoryBarrier*)(local_pBufferMemoryBarriers + i));
- }
- stream->write((uint32_t*)&local_imageMemoryBarrierCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((imageMemoryBarrierCount)); ++i)
- {
- marshal_VkImageMemoryBarrier(stream, (VkImageMemoryBarrier*)(local_pImageMemoryBarriers + i));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdPipelineBarrier");;
-}
-
-void VkEncoder::vkCmdBeginQuery(
- VkCommandBuffer commandBuffer,
- VkQueryPool queryPool,
- uint32_t query,
- VkQueryControlFlags flags)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdBeginQuery");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkQueryPool local_queryPool;
- uint32_t local_query;
- VkQueryControlFlags local_flags;
- local_commandBuffer = commandBuffer;
- local_queryPool = queryPool;
- local_query = query;
- local_flags = flags;
- countingStream->rewind();
- {
- uint64_t cgen_var_627;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_627, 1);
- countingStream->write((uint64_t*)&cgen_var_627, 1 * 8);
- uint64_t cgen_var_628;
- countingStream->handleMapping()->mapHandles_VkQueryPool_u64(&local_queryPool, &cgen_var_628, 1);
- countingStream->write((uint64_t*)&cgen_var_628, 1 * 8);
- countingStream->write((uint32_t*)&local_query, sizeof(uint32_t));
- countingStream->write((VkQueryControlFlags*)&local_flags, sizeof(VkQueryControlFlags));
- }
- uint32_t packetSize_vkCmdBeginQuery = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdBeginQuery = OP_vkCmdBeginQuery;
- stream->write(&opcode_vkCmdBeginQuery, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdBeginQuery, sizeof(uint32_t));
- uint64_t cgen_var_629;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_629, 1);
- stream->write((uint64_t*)&cgen_var_629, 1 * 8);
- uint64_t cgen_var_630;
- stream->handleMapping()->mapHandles_VkQueryPool_u64(&local_queryPool, &cgen_var_630, 1);
- stream->write((uint64_t*)&cgen_var_630, 1 * 8);
- stream->write((uint32_t*)&local_query, sizeof(uint32_t));
- stream->write((VkQueryControlFlags*)&local_flags, sizeof(VkQueryControlFlags));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdBeginQuery");;
-}
-
-void VkEncoder::vkCmdEndQuery(
- VkCommandBuffer commandBuffer,
- VkQueryPool queryPool,
- uint32_t query)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdEndQuery");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkQueryPool local_queryPool;
- uint32_t local_query;
- local_commandBuffer = commandBuffer;
- local_queryPool = queryPool;
- local_query = query;
- countingStream->rewind();
- {
- uint64_t cgen_var_631;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_631, 1);
- countingStream->write((uint64_t*)&cgen_var_631, 1 * 8);
- uint64_t cgen_var_632;
- countingStream->handleMapping()->mapHandles_VkQueryPool_u64(&local_queryPool, &cgen_var_632, 1);
- countingStream->write((uint64_t*)&cgen_var_632, 1 * 8);
- countingStream->write((uint32_t*)&local_query, sizeof(uint32_t));
- }
- uint32_t packetSize_vkCmdEndQuery = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdEndQuery = OP_vkCmdEndQuery;
- stream->write(&opcode_vkCmdEndQuery, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdEndQuery, sizeof(uint32_t));
- uint64_t cgen_var_633;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_633, 1);
- stream->write((uint64_t*)&cgen_var_633, 1 * 8);
- uint64_t cgen_var_634;
- stream->handleMapping()->mapHandles_VkQueryPool_u64(&local_queryPool, &cgen_var_634, 1);
- stream->write((uint64_t*)&cgen_var_634, 1 * 8);
- stream->write((uint32_t*)&local_query, sizeof(uint32_t));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdEndQuery");;
-}
-
-void VkEncoder::vkCmdResetQueryPool(
- VkCommandBuffer commandBuffer,
- VkQueryPool queryPool,
- uint32_t firstQuery,
- uint32_t queryCount)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdResetQueryPool");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkQueryPool local_queryPool;
- uint32_t local_firstQuery;
- uint32_t local_queryCount;
- local_commandBuffer = commandBuffer;
- local_queryPool = queryPool;
- local_firstQuery = firstQuery;
- local_queryCount = queryCount;
- countingStream->rewind();
- {
- uint64_t cgen_var_635;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_635, 1);
- countingStream->write((uint64_t*)&cgen_var_635, 1 * 8);
- uint64_t cgen_var_636;
- countingStream->handleMapping()->mapHandles_VkQueryPool_u64(&local_queryPool, &cgen_var_636, 1);
- countingStream->write((uint64_t*)&cgen_var_636, 1 * 8);
- countingStream->write((uint32_t*)&local_firstQuery, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_queryCount, sizeof(uint32_t));
- }
- uint32_t packetSize_vkCmdResetQueryPool = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdResetQueryPool = OP_vkCmdResetQueryPool;
- stream->write(&opcode_vkCmdResetQueryPool, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdResetQueryPool, sizeof(uint32_t));
- uint64_t cgen_var_637;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_637, 1);
- stream->write((uint64_t*)&cgen_var_637, 1 * 8);
- uint64_t cgen_var_638;
- stream->handleMapping()->mapHandles_VkQueryPool_u64(&local_queryPool, &cgen_var_638, 1);
- stream->write((uint64_t*)&cgen_var_638, 1 * 8);
- stream->write((uint32_t*)&local_firstQuery, sizeof(uint32_t));
- stream->write((uint32_t*)&local_queryCount, sizeof(uint32_t));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdResetQueryPool");;
-}
-
-void VkEncoder::vkCmdWriteTimestamp(
- VkCommandBuffer commandBuffer,
- VkPipelineStageFlagBits pipelineStage,
- VkQueryPool queryPool,
- uint32_t query)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdWriteTimestamp");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkPipelineStageFlagBits local_pipelineStage;
- VkQueryPool local_queryPool;
- uint32_t local_query;
- local_commandBuffer = commandBuffer;
- local_pipelineStage = pipelineStage;
- local_queryPool = queryPool;
- local_query = query;
- countingStream->rewind();
- {
- uint64_t cgen_var_639;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_639, 1);
- countingStream->write((uint64_t*)&cgen_var_639, 1 * 8);
- countingStream->write((VkPipelineStageFlagBits*)&local_pipelineStage, sizeof(VkPipelineStageFlagBits));
- uint64_t cgen_var_640;
- countingStream->handleMapping()->mapHandles_VkQueryPool_u64(&local_queryPool, &cgen_var_640, 1);
- countingStream->write((uint64_t*)&cgen_var_640, 1 * 8);
- countingStream->write((uint32_t*)&local_query, sizeof(uint32_t));
- }
- uint32_t packetSize_vkCmdWriteTimestamp = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdWriteTimestamp = OP_vkCmdWriteTimestamp;
- stream->write(&opcode_vkCmdWriteTimestamp, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdWriteTimestamp, sizeof(uint32_t));
- uint64_t cgen_var_641;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_641, 1);
- stream->write((uint64_t*)&cgen_var_641, 1 * 8);
- stream->write((VkPipelineStageFlagBits*)&local_pipelineStage, sizeof(VkPipelineStageFlagBits));
- uint64_t cgen_var_642;
- stream->handleMapping()->mapHandles_VkQueryPool_u64(&local_queryPool, &cgen_var_642, 1);
- stream->write((uint64_t*)&cgen_var_642, 1 * 8);
- stream->write((uint32_t*)&local_query, sizeof(uint32_t));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdWriteTimestamp");;
-}
-
-void VkEncoder::vkCmdCopyQueryPoolResults(
- VkCommandBuffer commandBuffer,
- VkQueryPool queryPool,
- uint32_t firstQuery,
- uint32_t queryCount,
- VkBuffer dstBuffer,
- VkDeviceSize dstOffset,
- VkDeviceSize stride,
- VkQueryResultFlags flags)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdCopyQueryPoolResults");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkQueryPool local_queryPool;
- uint32_t local_firstQuery;
- uint32_t local_queryCount;
- VkBuffer local_dstBuffer;
- VkDeviceSize local_dstOffset;
- VkDeviceSize local_stride;
- VkQueryResultFlags local_flags;
- local_commandBuffer = commandBuffer;
- local_queryPool = queryPool;
- local_firstQuery = firstQuery;
- local_queryCount = queryCount;
- local_dstBuffer = dstBuffer;
- local_dstOffset = dstOffset;
- local_stride = stride;
- local_flags = flags;
- countingStream->rewind();
- {
- uint64_t cgen_var_643;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_643, 1);
- countingStream->write((uint64_t*)&cgen_var_643, 1 * 8);
- uint64_t cgen_var_644;
- countingStream->handleMapping()->mapHandles_VkQueryPool_u64(&local_queryPool, &cgen_var_644, 1);
- countingStream->write((uint64_t*)&cgen_var_644, 1 * 8);
- countingStream->write((uint32_t*)&local_firstQuery, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_queryCount, sizeof(uint32_t));
- uint64_t cgen_var_645;
- countingStream->handleMapping()->mapHandles_VkBuffer_u64(&local_dstBuffer, &cgen_var_645, 1);
- countingStream->write((uint64_t*)&cgen_var_645, 1 * 8);
- countingStream->write((VkDeviceSize*)&local_dstOffset, sizeof(VkDeviceSize));
- countingStream->write((VkDeviceSize*)&local_stride, sizeof(VkDeviceSize));
- countingStream->write((VkQueryResultFlags*)&local_flags, sizeof(VkQueryResultFlags));
- }
- uint32_t packetSize_vkCmdCopyQueryPoolResults = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdCopyQueryPoolResults = OP_vkCmdCopyQueryPoolResults;
- stream->write(&opcode_vkCmdCopyQueryPoolResults, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdCopyQueryPoolResults, sizeof(uint32_t));
- uint64_t cgen_var_646;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_646, 1);
- stream->write((uint64_t*)&cgen_var_646, 1 * 8);
- uint64_t cgen_var_647;
- stream->handleMapping()->mapHandles_VkQueryPool_u64(&local_queryPool, &cgen_var_647, 1);
- stream->write((uint64_t*)&cgen_var_647, 1 * 8);
- stream->write((uint32_t*)&local_firstQuery, sizeof(uint32_t));
- stream->write((uint32_t*)&local_queryCount, sizeof(uint32_t));
- uint64_t cgen_var_648;
- stream->handleMapping()->mapHandles_VkBuffer_u64(&local_dstBuffer, &cgen_var_648, 1);
- stream->write((uint64_t*)&cgen_var_648, 1 * 8);
- stream->write((VkDeviceSize*)&local_dstOffset, sizeof(VkDeviceSize));
- stream->write((VkDeviceSize*)&local_stride, sizeof(VkDeviceSize));
- stream->write((VkQueryResultFlags*)&local_flags, sizeof(VkQueryResultFlags));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdCopyQueryPoolResults");;
-}
-
-void VkEncoder::vkCmdPushConstants(
- VkCommandBuffer commandBuffer,
- VkPipelineLayout layout,
- VkShaderStageFlags stageFlags,
- uint32_t offset,
- uint32_t size,
- const void* pValues)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdPushConstants");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkPipelineLayout local_layout;
- VkShaderStageFlags local_stageFlags;
- uint32_t local_offset;
- uint32_t local_size;
- void* local_pValues;
- local_commandBuffer = commandBuffer;
- local_layout = layout;
- local_stageFlags = stageFlags;
- local_offset = offset;
- local_size = size;
- local_pValues = nullptr;
- if (pValues)
- {
- local_pValues = (void*)pool->dupArray(pValues, ((size)) * sizeof(const uint8_t));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_649;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_649, 1);
- countingStream->write((uint64_t*)&cgen_var_649, 1 * 8);
- uint64_t cgen_var_650;
- countingStream->handleMapping()->mapHandles_VkPipelineLayout_u64(&local_layout, &cgen_var_650, 1);
- countingStream->write((uint64_t*)&cgen_var_650, 1 * 8);
- countingStream->write((VkShaderStageFlags*)&local_stageFlags, sizeof(VkShaderStageFlags));
- countingStream->write((uint32_t*)&local_offset, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_size, sizeof(uint32_t));
- countingStream->write((void*)local_pValues, ((size)) * sizeof(uint8_t));
- }
- uint32_t packetSize_vkCmdPushConstants = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdPushConstants = OP_vkCmdPushConstants;
- stream->write(&opcode_vkCmdPushConstants, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdPushConstants, sizeof(uint32_t));
- uint64_t cgen_var_651;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_651, 1);
- stream->write((uint64_t*)&cgen_var_651, 1 * 8);
- uint64_t cgen_var_652;
- stream->handleMapping()->mapHandles_VkPipelineLayout_u64(&local_layout, &cgen_var_652, 1);
- stream->write((uint64_t*)&cgen_var_652, 1 * 8);
- stream->write((VkShaderStageFlags*)&local_stageFlags, sizeof(VkShaderStageFlags));
- stream->write((uint32_t*)&local_offset, sizeof(uint32_t));
- stream->write((uint32_t*)&local_size, sizeof(uint32_t));
- stream->write((void*)local_pValues, ((size)) * sizeof(uint8_t));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdPushConstants");;
-}
-
-void VkEncoder::vkCmdBeginRenderPass(
- VkCommandBuffer commandBuffer,
- const VkRenderPassBeginInfo* pRenderPassBegin,
- VkSubpassContents contents)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdBeginRenderPass");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkRenderPassBeginInfo* local_pRenderPassBegin;
- VkSubpassContents local_contents;
- local_commandBuffer = commandBuffer;
- local_pRenderPassBegin = nullptr;
- if (pRenderPassBegin)
- {
- local_pRenderPassBegin = (VkRenderPassBeginInfo*)pool->alloc(sizeof(const VkRenderPassBeginInfo));
- deepcopy_VkRenderPassBeginInfo(pool, pRenderPassBegin, (VkRenderPassBeginInfo*)(local_pRenderPassBegin));
- }
- local_contents = contents;
- if (local_pRenderPassBegin)
- {
- transform_tohost_VkRenderPassBeginInfo(mImpl->resources(), (VkRenderPassBeginInfo*)(local_pRenderPassBegin));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_653;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_653, 1);
- countingStream->write((uint64_t*)&cgen_var_653, 1 * 8);
- marshal_VkRenderPassBeginInfo(countingStream, (VkRenderPassBeginInfo*)(local_pRenderPassBegin));
- countingStream->write((VkSubpassContents*)&local_contents, sizeof(VkSubpassContents));
- }
- uint32_t packetSize_vkCmdBeginRenderPass = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdBeginRenderPass = OP_vkCmdBeginRenderPass;
- stream->write(&opcode_vkCmdBeginRenderPass, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdBeginRenderPass, sizeof(uint32_t));
- uint64_t cgen_var_654;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_654, 1);
- stream->write((uint64_t*)&cgen_var_654, 1 * 8);
- marshal_VkRenderPassBeginInfo(stream, (VkRenderPassBeginInfo*)(local_pRenderPassBegin));
- stream->write((VkSubpassContents*)&local_contents, sizeof(VkSubpassContents));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdBeginRenderPass");;
-}
-
-void VkEncoder::vkCmdNextSubpass(
- VkCommandBuffer commandBuffer,
- VkSubpassContents contents)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdNextSubpass");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkSubpassContents local_contents;
- local_commandBuffer = commandBuffer;
- local_contents = contents;
- countingStream->rewind();
- {
- uint64_t cgen_var_655;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_655, 1);
- countingStream->write((uint64_t*)&cgen_var_655, 1 * 8);
- countingStream->write((VkSubpassContents*)&local_contents, sizeof(VkSubpassContents));
- }
- uint32_t packetSize_vkCmdNextSubpass = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdNextSubpass = OP_vkCmdNextSubpass;
- stream->write(&opcode_vkCmdNextSubpass, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdNextSubpass, sizeof(uint32_t));
- uint64_t cgen_var_656;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_656, 1);
- stream->write((uint64_t*)&cgen_var_656, 1 * 8);
- stream->write((VkSubpassContents*)&local_contents, sizeof(VkSubpassContents));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdNextSubpass");;
-}
-
-void VkEncoder::vkCmdEndRenderPass(
- VkCommandBuffer commandBuffer)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdEndRenderPass");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- local_commandBuffer = commandBuffer;
- countingStream->rewind();
- {
- uint64_t cgen_var_657;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_657, 1);
- countingStream->write((uint64_t*)&cgen_var_657, 1 * 8);
- }
- uint32_t packetSize_vkCmdEndRenderPass = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdEndRenderPass = OP_vkCmdEndRenderPass;
- stream->write(&opcode_vkCmdEndRenderPass, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdEndRenderPass, sizeof(uint32_t));
- uint64_t cgen_var_658;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_658, 1);
- stream->write((uint64_t*)&cgen_var_658, 1 * 8);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdEndRenderPass");;
-}
-
-void VkEncoder::vkCmdExecuteCommands(
- VkCommandBuffer commandBuffer,
- uint32_t commandBufferCount,
- const VkCommandBuffer* pCommandBuffers)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdExecuteCommands");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- uint32_t local_commandBufferCount;
- VkCommandBuffer* local_pCommandBuffers;
- local_commandBuffer = commandBuffer;
- local_commandBufferCount = commandBufferCount;
- local_pCommandBuffers = nullptr;
- if (pCommandBuffers)
- {
- local_pCommandBuffers = (VkCommandBuffer*)pool->dupArray(pCommandBuffers, ((commandBufferCount)) * sizeof(const VkCommandBuffer));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_659;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_659, 1);
- countingStream->write((uint64_t*)&cgen_var_659, 1 * 8);
- countingStream->write((uint32_t*)&local_commandBufferCount, sizeof(uint32_t));
- if (((commandBufferCount)))
- {
- uint64_t* cgen_var_660;
- countingStream->alloc((void**)&cgen_var_660, ((commandBufferCount)) * 8);
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(local_pCommandBuffers, cgen_var_660, ((commandBufferCount)));
- countingStream->write((uint64_t*)cgen_var_660, ((commandBufferCount)) * 8);
- }
- }
- uint32_t packetSize_vkCmdExecuteCommands = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdExecuteCommands = OP_vkCmdExecuteCommands;
- stream->write(&opcode_vkCmdExecuteCommands, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdExecuteCommands, sizeof(uint32_t));
- uint64_t cgen_var_661;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_661, 1);
- stream->write((uint64_t*)&cgen_var_661, 1 * 8);
- stream->write((uint32_t*)&local_commandBufferCount, sizeof(uint32_t));
- if (((commandBufferCount)))
- {
- uint64_t* cgen_var_662;
- stream->alloc((void**)&cgen_var_662, ((commandBufferCount)) * 8);
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(local_pCommandBuffers, cgen_var_662, ((commandBufferCount)));
- stream->write((uint64_t*)cgen_var_662, ((commandBufferCount)) * 8);
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdExecuteCommands");;
-}
-
-#endif
-#ifdef VK_VERSION_1_1
-VkResult VkEncoder::vkEnumerateInstanceVersion(
- uint32_t* pApiVersion)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkEnumerateInstanceVersion");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- countingStream->rewind();
- {
- countingStream->write((uint32_t*)pApiVersion, sizeof(uint32_t));
- }
- uint32_t packetSize_vkEnumerateInstanceVersion = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkEnumerateInstanceVersion = OP_vkEnumerateInstanceVersion;
- stream->write(&opcode_vkEnumerateInstanceVersion, sizeof(uint32_t));
- stream->write(&packetSize_vkEnumerateInstanceVersion, sizeof(uint32_t));
- stream->write((uint32_t*)pApiVersion, sizeof(uint32_t));
- stream->read((uint32_t*)pApiVersion, sizeof(uint32_t));
- VkResult vkEnumerateInstanceVersion_VkResult_return = (VkResult)0;
- stream->read(&vkEnumerateInstanceVersion_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkEnumerateInstanceVersion");;
- return vkEnumerateInstanceVersion_VkResult_return;
-}
-
-VkResult VkEncoder::vkBindBufferMemory2(
- VkDevice device,
- uint32_t bindInfoCount,
- const VkBindBufferMemoryInfo* pBindInfos)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkBindBufferMemory2");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- uint32_t local_bindInfoCount;
- VkBindBufferMemoryInfo* local_pBindInfos;
- local_device = device;
- local_bindInfoCount = bindInfoCount;
- local_pBindInfos = nullptr;
- if (pBindInfos)
- {
- local_pBindInfos = (VkBindBufferMemoryInfo*)pool->alloc(((bindInfoCount)) * sizeof(const VkBindBufferMemoryInfo));
- for (uint32_t i = 0; i < (uint32_t)((bindInfoCount)); ++i)
- {
- deepcopy_VkBindBufferMemoryInfo(pool, pBindInfos + i, (VkBindBufferMemoryInfo*)(local_pBindInfos + i));
- }
- }
- if (local_pBindInfos)
- {
- for (uint32_t i = 0; i < (uint32_t)((bindInfoCount)); ++i)
- {
- transform_tohost_VkBindBufferMemoryInfo(mImpl->resources(), (VkBindBufferMemoryInfo*)(local_pBindInfos + i));
- }
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_663;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_663, 1);
- countingStream->write((uint64_t*)&cgen_var_663, 1 * 8);
- countingStream->write((uint32_t*)&local_bindInfoCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((bindInfoCount)); ++i)
- {
- marshal_VkBindBufferMemoryInfo(countingStream, (VkBindBufferMemoryInfo*)(local_pBindInfos + i));
- }
- }
- uint32_t packetSize_vkBindBufferMemory2 = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkBindBufferMemory2 = OP_vkBindBufferMemory2;
- stream->write(&opcode_vkBindBufferMemory2, sizeof(uint32_t));
- stream->write(&packetSize_vkBindBufferMemory2, sizeof(uint32_t));
- uint64_t cgen_var_664;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_664, 1);
- stream->write((uint64_t*)&cgen_var_664, 1 * 8);
- stream->write((uint32_t*)&local_bindInfoCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((bindInfoCount)); ++i)
- {
- marshal_VkBindBufferMemoryInfo(stream, (VkBindBufferMemoryInfo*)(local_pBindInfos + i));
- }
- VkResult vkBindBufferMemory2_VkResult_return = (VkResult)0;
- stream->read(&vkBindBufferMemory2_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkBindBufferMemory2");;
- return vkBindBufferMemory2_VkResult_return;
-}
-
-VkResult VkEncoder::vkBindImageMemory2(
- VkDevice device,
- uint32_t bindInfoCount,
- const VkBindImageMemoryInfo* pBindInfos)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkBindImageMemory2");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- uint32_t local_bindInfoCount;
- VkBindImageMemoryInfo* local_pBindInfos;
- local_device = device;
- local_bindInfoCount = bindInfoCount;
- local_pBindInfos = nullptr;
- if (pBindInfos)
- {
- local_pBindInfos = (VkBindImageMemoryInfo*)pool->alloc(((bindInfoCount)) * sizeof(const VkBindImageMemoryInfo));
- for (uint32_t i = 0; i < (uint32_t)((bindInfoCount)); ++i)
- {
- deepcopy_VkBindImageMemoryInfo(pool, pBindInfos + i, (VkBindImageMemoryInfo*)(local_pBindInfos + i));
- }
- }
- if (local_pBindInfos)
- {
- for (uint32_t i = 0; i < (uint32_t)((bindInfoCount)); ++i)
- {
- transform_tohost_VkBindImageMemoryInfo(mImpl->resources(), (VkBindImageMemoryInfo*)(local_pBindInfos + i));
- }
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_665;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_665, 1);
- countingStream->write((uint64_t*)&cgen_var_665, 1 * 8);
- countingStream->write((uint32_t*)&local_bindInfoCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((bindInfoCount)); ++i)
- {
- marshal_VkBindImageMemoryInfo(countingStream, (VkBindImageMemoryInfo*)(local_pBindInfos + i));
- }
- }
- uint32_t packetSize_vkBindImageMemory2 = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkBindImageMemory2 = OP_vkBindImageMemory2;
- stream->write(&opcode_vkBindImageMemory2, sizeof(uint32_t));
- stream->write(&packetSize_vkBindImageMemory2, sizeof(uint32_t));
- uint64_t cgen_var_666;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_666, 1);
- stream->write((uint64_t*)&cgen_var_666, 1 * 8);
- stream->write((uint32_t*)&local_bindInfoCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((bindInfoCount)); ++i)
- {
- marshal_VkBindImageMemoryInfo(stream, (VkBindImageMemoryInfo*)(local_pBindInfos + i));
- }
- VkResult vkBindImageMemory2_VkResult_return = (VkResult)0;
- stream->read(&vkBindImageMemory2_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkBindImageMemory2");;
- return vkBindImageMemory2_VkResult_return;
-}
-
-void VkEncoder::vkGetDeviceGroupPeerMemoryFeatures(
- VkDevice device,
- uint32_t heapIndex,
- uint32_t localDeviceIndex,
- uint32_t remoteDeviceIndex,
- VkPeerMemoryFeatureFlags* pPeerMemoryFeatures)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetDeviceGroupPeerMemoryFeatures");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- uint32_t local_heapIndex;
- uint32_t local_localDeviceIndex;
- uint32_t local_remoteDeviceIndex;
- local_device = device;
- local_heapIndex = heapIndex;
- local_localDeviceIndex = localDeviceIndex;
- local_remoteDeviceIndex = remoteDeviceIndex;
- countingStream->rewind();
- {
- uint64_t cgen_var_667;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_667, 1);
- countingStream->write((uint64_t*)&cgen_var_667, 1 * 8);
- countingStream->write((uint32_t*)&local_heapIndex, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_localDeviceIndex, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_remoteDeviceIndex, sizeof(uint32_t));
- countingStream->write((VkPeerMemoryFeatureFlags*)pPeerMemoryFeatures, sizeof(VkPeerMemoryFeatureFlags));
- }
- uint32_t packetSize_vkGetDeviceGroupPeerMemoryFeatures = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetDeviceGroupPeerMemoryFeatures = OP_vkGetDeviceGroupPeerMemoryFeatures;
- stream->write(&opcode_vkGetDeviceGroupPeerMemoryFeatures, sizeof(uint32_t));
- stream->write(&packetSize_vkGetDeviceGroupPeerMemoryFeatures, sizeof(uint32_t));
- uint64_t cgen_var_668;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_668, 1);
- stream->write((uint64_t*)&cgen_var_668, 1 * 8);
- stream->write((uint32_t*)&local_heapIndex, sizeof(uint32_t));
- stream->write((uint32_t*)&local_localDeviceIndex, sizeof(uint32_t));
- stream->write((uint32_t*)&local_remoteDeviceIndex, sizeof(uint32_t));
- stream->write((VkPeerMemoryFeatureFlags*)pPeerMemoryFeatures, sizeof(VkPeerMemoryFeatureFlags));
- stream->read((VkPeerMemoryFeatureFlags*)pPeerMemoryFeatures, sizeof(VkPeerMemoryFeatureFlags));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetDeviceGroupPeerMemoryFeatures");;
-}
-
-void VkEncoder::vkCmdSetDeviceMask(
- VkCommandBuffer commandBuffer,
- uint32_t deviceMask)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdSetDeviceMask");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- uint32_t local_deviceMask;
- local_commandBuffer = commandBuffer;
- local_deviceMask = deviceMask;
- countingStream->rewind();
- {
- uint64_t cgen_var_669;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_669, 1);
- countingStream->write((uint64_t*)&cgen_var_669, 1 * 8);
- countingStream->write((uint32_t*)&local_deviceMask, sizeof(uint32_t));
- }
- uint32_t packetSize_vkCmdSetDeviceMask = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdSetDeviceMask = OP_vkCmdSetDeviceMask;
- stream->write(&opcode_vkCmdSetDeviceMask, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdSetDeviceMask, sizeof(uint32_t));
- uint64_t cgen_var_670;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_670, 1);
- stream->write((uint64_t*)&cgen_var_670, 1 * 8);
- stream->write((uint32_t*)&local_deviceMask, sizeof(uint32_t));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdSetDeviceMask");;
-}
-
-void VkEncoder::vkCmdDispatchBase(
- VkCommandBuffer commandBuffer,
- uint32_t baseGroupX,
- uint32_t baseGroupY,
- uint32_t baseGroupZ,
- uint32_t groupCountX,
- uint32_t groupCountY,
- uint32_t groupCountZ)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdDispatchBase");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- uint32_t local_baseGroupX;
- uint32_t local_baseGroupY;
- uint32_t local_baseGroupZ;
- uint32_t local_groupCountX;
- uint32_t local_groupCountY;
- uint32_t local_groupCountZ;
- local_commandBuffer = commandBuffer;
- local_baseGroupX = baseGroupX;
- local_baseGroupY = baseGroupY;
- local_baseGroupZ = baseGroupZ;
- local_groupCountX = groupCountX;
- local_groupCountY = groupCountY;
- local_groupCountZ = groupCountZ;
- countingStream->rewind();
- {
- uint64_t cgen_var_671;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_671, 1);
- countingStream->write((uint64_t*)&cgen_var_671, 1 * 8);
- countingStream->write((uint32_t*)&local_baseGroupX, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_baseGroupY, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_baseGroupZ, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_groupCountX, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_groupCountY, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_groupCountZ, sizeof(uint32_t));
- }
- uint32_t packetSize_vkCmdDispatchBase = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdDispatchBase = OP_vkCmdDispatchBase;
- stream->write(&opcode_vkCmdDispatchBase, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdDispatchBase, sizeof(uint32_t));
- uint64_t cgen_var_672;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_672, 1);
- stream->write((uint64_t*)&cgen_var_672, 1 * 8);
- stream->write((uint32_t*)&local_baseGroupX, sizeof(uint32_t));
- stream->write((uint32_t*)&local_baseGroupY, sizeof(uint32_t));
- stream->write((uint32_t*)&local_baseGroupZ, sizeof(uint32_t));
- stream->write((uint32_t*)&local_groupCountX, sizeof(uint32_t));
- stream->write((uint32_t*)&local_groupCountY, sizeof(uint32_t));
- stream->write((uint32_t*)&local_groupCountZ, sizeof(uint32_t));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdDispatchBase");;
-}
-
-VkResult VkEncoder::vkEnumeratePhysicalDeviceGroups(
- VkInstance instance,
- uint32_t* pPhysicalDeviceGroupCount,
- VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkEnumeratePhysicalDeviceGroups");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkInstance local_instance;
- local_instance = instance;
- countingStream->rewind();
- {
- uint64_t cgen_var_673;
- countingStream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_673, 1);
- countingStream->write((uint64_t*)&cgen_var_673, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_674 = (uint64_t)(uintptr_t)pPhysicalDeviceGroupCount;
- countingStream->putBe64(cgen_var_674);
- if (pPhysicalDeviceGroupCount)
- {
- countingStream->write((uint32_t*)pPhysicalDeviceGroupCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_675 = (uint64_t)(uintptr_t)pPhysicalDeviceGroupProperties;
- countingStream->putBe64(cgen_var_675);
- if (pPhysicalDeviceGroupProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPhysicalDeviceGroupCount)); ++i)
- {
- marshal_VkPhysicalDeviceGroupProperties(countingStream, (VkPhysicalDeviceGroupProperties*)(pPhysicalDeviceGroupProperties + i));
- }
- }
- }
- uint32_t packetSize_vkEnumeratePhysicalDeviceGroups = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkEnumeratePhysicalDeviceGroups = OP_vkEnumeratePhysicalDeviceGroups;
- stream->write(&opcode_vkEnumeratePhysicalDeviceGroups, sizeof(uint32_t));
- stream->write(&packetSize_vkEnumeratePhysicalDeviceGroups, sizeof(uint32_t));
- uint64_t cgen_var_676;
- stream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_676, 1);
- stream->write((uint64_t*)&cgen_var_676, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_677 = (uint64_t)(uintptr_t)pPhysicalDeviceGroupCount;
- stream->putBe64(cgen_var_677);
- if (pPhysicalDeviceGroupCount)
- {
- stream->write((uint32_t*)pPhysicalDeviceGroupCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_678 = (uint64_t)(uintptr_t)pPhysicalDeviceGroupProperties;
- stream->putBe64(cgen_var_678);
- if (pPhysicalDeviceGroupProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPhysicalDeviceGroupCount)); ++i)
- {
- marshal_VkPhysicalDeviceGroupProperties(stream, (VkPhysicalDeviceGroupProperties*)(pPhysicalDeviceGroupProperties + i));
- }
- }
- // WARNING PTR CHECK
- uint32_t* check_pPhysicalDeviceGroupCount;
- check_pPhysicalDeviceGroupCount = (uint32_t*)(uintptr_t)stream->getBe64();
- if (pPhysicalDeviceGroupCount)
- {
- if (!(check_pPhysicalDeviceGroupCount))
- {
- fprintf(stderr, "fatal: pPhysicalDeviceGroupCount inconsistent between guest and host\n");
- }
- stream->read((uint32_t*)pPhysicalDeviceGroupCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- VkPhysicalDeviceGroupProperties* check_pPhysicalDeviceGroupProperties;
- check_pPhysicalDeviceGroupProperties = (VkPhysicalDeviceGroupProperties*)(uintptr_t)stream->getBe64();
- if (pPhysicalDeviceGroupProperties)
- {
- if (!(check_pPhysicalDeviceGroupProperties))
- {
- fprintf(stderr, "fatal: pPhysicalDeviceGroupProperties inconsistent between guest and host\n");
- }
- for (uint32_t i = 0; i < (uint32_t)(*(pPhysicalDeviceGroupCount)); ++i)
- {
- unmarshal_VkPhysicalDeviceGroupProperties(stream, (VkPhysicalDeviceGroupProperties*)(pPhysicalDeviceGroupProperties + i));
- }
- }
- if (pPhysicalDeviceGroupProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPhysicalDeviceGroupCount)); ++i)
- {
- transform_fromhost_VkPhysicalDeviceGroupProperties(mImpl->resources(), (VkPhysicalDeviceGroupProperties*)(pPhysicalDeviceGroupProperties + i));
- }
- }
- VkResult vkEnumeratePhysicalDeviceGroups_VkResult_return = (VkResult)0;
- stream->read(&vkEnumeratePhysicalDeviceGroups_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkEnumeratePhysicalDeviceGroups");;
- return vkEnumeratePhysicalDeviceGroups_VkResult_return;
-}
-
-void VkEncoder::vkGetImageMemoryRequirements2(
- VkDevice device,
- const VkImageMemoryRequirementsInfo2* pInfo,
- VkMemoryRequirements2* pMemoryRequirements)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetImageMemoryRequirements2");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkImageMemoryRequirementsInfo2* local_pInfo;
- local_device = device;
- local_pInfo = nullptr;
- if (pInfo)
- {
- local_pInfo = (VkImageMemoryRequirementsInfo2*)pool->alloc(sizeof(const VkImageMemoryRequirementsInfo2));
- deepcopy_VkImageMemoryRequirementsInfo2(pool, pInfo, (VkImageMemoryRequirementsInfo2*)(local_pInfo));
- }
- if (local_pInfo)
- {
- transform_tohost_VkImageMemoryRequirementsInfo2(mImpl->resources(), (VkImageMemoryRequirementsInfo2*)(local_pInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_681;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_681, 1);
- countingStream->write((uint64_t*)&cgen_var_681, 1 * 8);
- marshal_VkImageMemoryRequirementsInfo2(countingStream, (VkImageMemoryRequirementsInfo2*)(local_pInfo));
- marshal_VkMemoryRequirements2(countingStream, (VkMemoryRequirements2*)(pMemoryRequirements));
- }
- uint32_t packetSize_vkGetImageMemoryRequirements2 = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetImageMemoryRequirements2 = OP_vkGetImageMemoryRequirements2;
- stream->write(&opcode_vkGetImageMemoryRequirements2, sizeof(uint32_t));
- stream->write(&packetSize_vkGetImageMemoryRequirements2, sizeof(uint32_t));
- uint64_t cgen_var_682;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_682, 1);
- stream->write((uint64_t*)&cgen_var_682, 1 * 8);
- marshal_VkImageMemoryRequirementsInfo2(stream, (VkImageMemoryRequirementsInfo2*)(local_pInfo));
- marshal_VkMemoryRequirements2(stream, (VkMemoryRequirements2*)(pMemoryRequirements));
- unmarshal_VkMemoryRequirements2(stream, (VkMemoryRequirements2*)(pMemoryRequirements));
- if (pMemoryRequirements)
- {
- transform_fromhost_VkMemoryRequirements2(mImpl->resources(), (VkMemoryRequirements2*)(pMemoryRequirements));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetImageMemoryRequirements2");;
-}
-
-void VkEncoder::vkGetBufferMemoryRequirements2(
- VkDevice device,
- const VkBufferMemoryRequirementsInfo2* pInfo,
- VkMemoryRequirements2* pMemoryRequirements)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetBufferMemoryRequirements2");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkBufferMemoryRequirementsInfo2* local_pInfo;
- local_device = device;
- local_pInfo = nullptr;
- if (pInfo)
- {
- local_pInfo = (VkBufferMemoryRequirementsInfo2*)pool->alloc(sizeof(const VkBufferMemoryRequirementsInfo2));
- deepcopy_VkBufferMemoryRequirementsInfo2(pool, pInfo, (VkBufferMemoryRequirementsInfo2*)(local_pInfo));
- }
- if (local_pInfo)
- {
- transform_tohost_VkBufferMemoryRequirementsInfo2(mImpl->resources(), (VkBufferMemoryRequirementsInfo2*)(local_pInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_683;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_683, 1);
- countingStream->write((uint64_t*)&cgen_var_683, 1 * 8);
- marshal_VkBufferMemoryRequirementsInfo2(countingStream, (VkBufferMemoryRequirementsInfo2*)(local_pInfo));
- marshal_VkMemoryRequirements2(countingStream, (VkMemoryRequirements2*)(pMemoryRequirements));
- }
- uint32_t packetSize_vkGetBufferMemoryRequirements2 = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetBufferMemoryRequirements2 = OP_vkGetBufferMemoryRequirements2;
- stream->write(&opcode_vkGetBufferMemoryRequirements2, sizeof(uint32_t));
- stream->write(&packetSize_vkGetBufferMemoryRequirements2, sizeof(uint32_t));
- uint64_t cgen_var_684;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_684, 1);
- stream->write((uint64_t*)&cgen_var_684, 1 * 8);
- marshal_VkBufferMemoryRequirementsInfo2(stream, (VkBufferMemoryRequirementsInfo2*)(local_pInfo));
- marshal_VkMemoryRequirements2(stream, (VkMemoryRequirements2*)(pMemoryRequirements));
- unmarshal_VkMemoryRequirements2(stream, (VkMemoryRequirements2*)(pMemoryRequirements));
- if (pMemoryRequirements)
- {
- transform_fromhost_VkMemoryRequirements2(mImpl->resources(), (VkMemoryRequirements2*)(pMemoryRequirements));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetBufferMemoryRequirements2");;
-}
-
-void VkEncoder::vkGetImageSparseMemoryRequirements2(
- VkDevice device,
- const VkImageSparseMemoryRequirementsInfo2* pInfo,
- uint32_t* pSparseMemoryRequirementCount,
- VkSparseImageMemoryRequirements2* pSparseMemoryRequirements)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetImageSparseMemoryRequirements2");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkImageSparseMemoryRequirementsInfo2* local_pInfo;
- local_device = device;
- local_pInfo = nullptr;
- if (pInfo)
- {
- local_pInfo = (VkImageSparseMemoryRequirementsInfo2*)pool->alloc(sizeof(const VkImageSparseMemoryRequirementsInfo2));
- deepcopy_VkImageSparseMemoryRequirementsInfo2(pool, pInfo, (VkImageSparseMemoryRequirementsInfo2*)(local_pInfo));
- }
- if (local_pInfo)
- {
- transform_tohost_VkImageSparseMemoryRequirementsInfo2(mImpl->resources(), (VkImageSparseMemoryRequirementsInfo2*)(local_pInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_685;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_685, 1);
- countingStream->write((uint64_t*)&cgen_var_685, 1 * 8);
- marshal_VkImageSparseMemoryRequirementsInfo2(countingStream, (VkImageSparseMemoryRequirementsInfo2*)(local_pInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_686 = (uint64_t)(uintptr_t)pSparseMemoryRequirementCount;
- countingStream->putBe64(cgen_var_686);
- if (pSparseMemoryRequirementCount)
- {
- countingStream->write((uint32_t*)pSparseMemoryRequirementCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_687 = (uint64_t)(uintptr_t)pSparseMemoryRequirements;
- countingStream->putBe64(cgen_var_687);
- if (pSparseMemoryRequirements)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pSparseMemoryRequirementCount)); ++i)
- {
- marshal_VkSparseImageMemoryRequirements2(countingStream, (VkSparseImageMemoryRequirements2*)(pSparseMemoryRequirements + i));
- }
- }
- }
- uint32_t packetSize_vkGetImageSparseMemoryRequirements2 = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetImageSparseMemoryRequirements2 = OP_vkGetImageSparseMemoryRequirements2;
- stream->write(&opcode_vkGetImageSparseMemoryRequirements2, sizeof(uint32_t));
- stream->write(&packetSize_vkGetImageSparseMemoryRequirements2, sizeof(uint32_t));
- uint64_t cgen_var_688;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_688, 1);
- stream->write((uint64_t*)&cgen_var_688, 1 * 8);
- marshal_VkImageSparseMemoryRequirementsInfo2(stream, (VkImageSparseMemoryRequirementsInfo2*)(local_pInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_689 = (uint64_t)(uintptr_t)pSparseMemoryRequirementCount;
- stream->putBe64(cgen_var_689);
- if (pSparseMemoryRequirementCount)
- {
- stream->write((uint32_t*)pSparseMemoryRequirementCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_690 = (uint64_t)(uintptr_t)pSparseMemoryRequirements;
- stream->putBe64(cgen_var_690);
- if (pSparseMemoryRequirements)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pSparseMemoryRequirementCount)); ++i)
- {
- marshal_VkSparseImageMemoryRequirements2(stream, (VkSparseImageMemoryRequirements2*)(pSparseMemoryRequirements + i));
- }
- }
- // WARNING PTR CHECK
- uint32_t* check_pSparseMemoryRequirementCount;
- check_pSparseMemoryRequirementCount = (uint32_t*)(uintptr_t)stream->getBe64();
- if (pSparseMemoryRequirementCount)
- {
- if (!(check_pSparseMemoryRequirementCount))
- {
- fprintf(stderr, "fatal: pSparseMemoryRequirementCount inconsistent between guest and host\n");
- }
- stream->read((uint32_t*)pSparseMemoryRequirementCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- VkSparseImageMemoryRequirements2* check_pSparseMemoryRequirements;
- check_pSparseMemoryRequirements = (VkSparseImageMemoryRequirements2*)(uintptr_t)stream->getBe64();
- if (pSparseMemoryRequirements)
- {
- if (!(check_pSparseMemoryRequirements))
- {
- fprintf(stderr, "fatal: pSparseMemoryRequirements inconsistent between guest and host\n");
- }
- for (uint32_t i = 0; i < (uint32_t)(*(pSparseMemoryRequirementCount)); ++i)
- {
- unmarshal_VkSparseImageMemoryRequirements2(stream, (VkSparseImageMemoryRequirements2*)(pSparseMemoryRequirements + i));
- }
- }
- if (pSparseMemoryRequirements)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pSparseMemoryRequirementCount)); ++i)
- {
- transform_fromhost_VkSparseImageMemoryRequirements2(mImpl->resources(), (VkSparseImageMemoryRequirements2*)(pSparseMemoryRequirements + i));
- }
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetImageSparseMemoryRequirements2");;
-}
-
-void VkEncoder::vkGetPhysicalDeviceFeatures2(
- VkPhysicalDevice physicalDevice,
- VkPhysicalDeviceFeatures2* pFeatures)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceFeatures2");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- local_physicalDevice = physicalDevice;
- countingStream->rewind();
- {
- uint64_t cgen_var_693;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_693, 1);
- countingStream->write((uint64_t*)&cgen_var_693, 1 * 8);
- marshal_VkPhysicalDeviceFeatures2(countingStream, (VkPhysicalDeviceFeatures2*)(pFeatures));
- }
- uint32_t packetSize_vkGetPhysicalDeviceFeatures2 = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceFeatures2 = OP_vkGetPhysicalDeviceFeatures2;
- stream->write(&opcode_vkGetPhysicalDeviceFeatures2, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceFeatures2, sizeof(uint32_t));
- uint64_t cgen_var_694;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_694, 1);
- stream->write((uint64_t*)&cgen_var_694, 1 * 8);
- marshal_VkPhysicalDeviceFeatures2(stream, (VkPhysicalDeviceFeatures2*)(pFeatures));
- unmarshal_VkPhysicalDeviceFeatures2(stream, (VkPhysicalDeviceFeatures2*)(pFeatures));
- if (pFeatures)
- {
- transform_fromhost_VkPhysicalDeviceFeatures2(mImpl->resources(), (VkPhysicalDeviceFeatures2*)(pFeatures));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceFeatures2");;
-}
-
-void VkEncoder::vkGetPhysicalDeviceProperties2(
- VkPhysicalDevice physicalDevice,
- VkPhysicalDeviceProperties2* pProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceProperties2");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- local_physicalDevice = physicalDevice;
- countingStream->rewind();
- {
- uint64_t cgen_var_695;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_695, 1);
- countingStream->write((uint64_t*)&cgen_var_695, 1 * 8);
- marshal_VkPhysicalDeviceProperties2(countingStream, (VkPhysicalDeviceProperties2*)(pProperties));
- }
- uint32_t packetSize_vkGetPhysicalDeviceProperties2 = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceProperties2 = OP_vkGetPhysicalDeviceProperties2;
- stream->write(&opcode_vkGetPhysicalDeviceProperties2, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceProperties2, sizeof(uint32_t));
- uint64_t cgen_var_696;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_696, 1);
- stream->write((uint64_t*)&cgen_var_696, 1 * 8);
- marshal_VkPhysicalDeviceProperties2(stream, (VkPhysicalDeviceProperties2*)(pProperties));
- unmarshal_VkPhysicalDeviceProperties2(stream, (VkPhysicalDeviceProperties2*)(pProperties));
- if (pProperties)
- {
- transform_fromhost_VkPhysicalDeviceProperties2(mImpl->resources(), (VkPhysicalDeviceProperties2*)(pProperties));
- }
- mImpl->resources()->on_vkGetPhysicalDeviceProperties2(this, physicalDevice, pProperties);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceProperties2");;
-}
-
-void VkEncoder::vkGetPhysicalDeviceFormatProperties2(
- VkPhysicalDevice physicalDevice,
- VkFormat format,
- VkFormatProperties2* pFormatProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceFormatProperties2");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- VkFormat local_format;
- local_physicalDevice = physicalDevice;
- local_format = format;
- countingStream->rewind();
- {
- uint64_t cgen_var_697;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_697, 1);
- countingStream->write((uint64_t*)&cgen_var_697, 1 * 8);
- countingStream->write((VkFormat*)&local_format, sizeof(VkFormat));
- marshal_VkFormatProperties2(countingStream, (VkFormatProperties2*)(pFormatProperties));
- }
- uint32_t packetSize_vkGetPhysicalDeviceFormatProperties2 = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceFormatProperties2 = OP_vkGetPhysicalDeviceFormatProperties2;
- stream->write(&opcode_vkGetPhysicalDeviceFormatProperties2, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceFormatProperties2, sizeof(uint32_t));
- uint64_t cgen_var_698;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_698, 1);
- stream->write((uint64_t*)&cgen_var_698, 1 * 8);
- stream->write((VkFormat*)&local_format, sizeof(VkFormat));
- marshal_VkFormatProperties2(stream, (VkFormatProperties2*)(pFormatProperties));
- unmarshal_VkFormatProperties2(stream, (VkFormatProperties2*)(pFormatProperties));
- if (pFormatProperties)
- {
- transform_fromhost_VkFormatProperties2(mImpl->resources(), (VkFormatProperties2*)(pFormatProperties));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceFormatProperties2");;
-}
-
-VkResult VkEncoder::vkGetPhysicalDeviceImageFormatProperties2(
- VkPhysicalDevice physicalDevice,
- const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
- VkImageFormatProperties2* pImageFormatProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceImageFormatProperties2");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- VkPhysicalDeviceImageFormatInfo2* local_pImageFormatInfo;
- local_physicalDevice = physicalDevice;
- local_pImageFormatInfo = nullptr;
- if (pImageFormatInfo)
- {
- local_pImageFormatInfo = (VkPhysicalDeviceImageFormatInfo2*)pool->alloc(sizeof(const VkPhysicalDeviceImageFormatInfo2));
- deepcopy_VkPhysicalDeviceImageFormatInfo2(pool, pImageFormatInfo, (VkPhysicalDeviceImageFormatInfo2*)(local_pImageFormatInfo));
- }
- if (local_pImageFormatInfo)
- {
- transform_tohost_VkPhysicalDeviceImageFormatInfo2(mImpl->resources(), (VkPhysicalDeviceImageFormatInfo2*)(local_pImageFormatInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_699;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_699, 1);
- countingStream->write((uint64_t*)&cgen_var_699, 1 * 8);
- marshal_VkPhysicalDeviceImageFormatInfo2(countingStream, (VkPhysicalDeviceImageFormatInfo2*)(local_pImageFormatInfo));
- marshal_VkImageFormatProperties2(countingStream, (VkImageFormatProperties2*)(pImageFormatProperties));
- }
- uint32_t packetSize_vkGetPhysicalDeviceImageFormatProperties2 = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceImageFormatProperties2 = OP_vkGetPhysicalDeviceImageFormatProperties2;
- stream->write(&opcode_vkGetPhysicalDeviceImageFormatProperties2, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceImageFormatProperties2, sizeof(uint32_t));
- uint64_t cgen_var_700;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_700, 1);
- stream->write((uint64_t*)&cgen_var_700, 1 * 8);
- marshal_VkPhysicalDeviceImageFormatInfo2(stream, (VkPhysicalDeviceImageFormatInfo2*)(local_pImageFormatInfo));
- marshal_VkImageFormatProperties2(stream, (VkImageFormatProperties2*)(pImageFormatProperties));
- unmarshal_VkImageFormatProperties2(stream, (VkImageFormatProperties2*)(pImageFormatProperties));
- if (pImageFormatProperties)
- {
- transform_fromhost_VkImageFormatProperties2(mImpl->resources(), (VkImageFormatProperties2*)(pImageFormatProperties));
- }
- VkResult vkGetPhysicalDeviceImageFormatProperties2_VkResult_return = (VkResult)0;
- stream->read(&vkGetPhysicalDeviceImageFormatProperties2_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceImageFormatProperties2");;
- return vkGetPhysicalDeviceImageFormatProperties2_VkResult_return;
-}
-
-void VkEncoder::vkGetPhysicalDeviceQueueFamilyProperties2(
- VkPhysicalDevice physicalDevice,
- uint32_t* pQueueFamilyPropertyCount,
- VkQueueFamilyProperties2* pQueueFamilyProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceQueueFamilyProperties2");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- local_physicalDevice = physicalDevice;
- countingStream->rewind();
- {
- uint64_t cgen_var_701;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_701, 1);
- countingStream->write((uint64_t*)&cgen_var_701, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_702 = (uint64_t)(uintptr_t)pQueueFamilyPropertyCount;
- countingStream->putBe64(cgen_var_702);
- if (pQueueFamilyPropertyCount)
- {
- countingStream->write((uint32_t*)pQueueFamilyPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_703 = (uint64_t)(uintptr_t)pQueueFamilyProperties;
- countingStream->putBe64(cgen_var_703);
- if (pQueueFamilyProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pQueueFamilyPropertyCount)); ++i)
- {
- marshal_VkQueueFamilyProperties2(countingStream, (VkQueueFamilyProperties2*)(pQueueFamilyProperties + i));
- }
- }
- }
- uint32_t packetSize_vkGetPhysicalDeviceQueueFamilyProperties2 = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceQueueFamilyProperties2 = OP_vkGetPhysicalDeviceQueueFamilyProperties2;
- stream->write(&opcode_vkGetPhysicalDeviceQueueFamilyProperties2, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceQueueFamilyProperties2, sizeof(uint32_t));
- uint64_t cgen_var_704;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_704, 1);
- stream->write((uint64_t*)&cgen_var_704, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_705 = (uint64_t)(uintptr_t)pQueueFamilyPropertyCount;
- stream->putBe64(cgen_var_705);
- if (pQueueFamilyPropertyCount)
- {
- stream->write((uint32_t*)pQueueFamilyPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_706 = (uint64_t)(uintptr_t)pQueueFamilyProperties;
- stream->putBe64(cgen_var_706);
- if (pQueueFamilyProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pQueueFamilyPropertyCount)); ++i)
- {
- marshal_VkQueueFamilyProperties2(stream, (VkQueueFamilyProperties2*)(pQueueFamilyProperties + i));
- }
- }
- // WARNING PTR CHECK
- uint32_t* check_pQueueFamilyPropertyCount;
- check_pQueueFamilyPropertyCount = (uint32_t*)(uintptr_t)stream->getBe64();
- if (pQueueFamilyPropertyCount)
- {
- if (!(check_pQueueFamilyPropertyCount))
- {
- fprintf(stderr, "fatal: pQueueFamilyPropertyCount inconsistent between guest and host\n");
- }
- stream->read((uint32_t*)pQueueFamilyPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- VkQueueFamilyProperties2* check_pQueueFamilyProperties;
- check_pQueueFamilyProperties = (VkQueueFamilyProperties2*)(uintptr_t)stream->getBe64();
- if (pQueueFamilyProperties)
- {
- if (!(check_pQueueFamilyProperties))
- {
- fprintf(stderr, "fatal: pQueueFamilyProperties inconsistent between guest and host\n");
- }
- for (uint32_t i = 0; i < (uint32_t)(*(pQueueFamilyPropertyCount)); ++i)
- {
- unmarshal_VkQueueFamilyProperties2(stream, (VkQueueFamilyProperties2*)(pQueueFamilyProperties + i));
- }
- }
- if (pQueueFamilyProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pQueueFamilyPropertyCount)); ++i)
- {
- transform_fromhost_VkQueueFamilyProperties2(mImpl->resources(), (VkQueueFamilyProperties2*)(pQueueFamilyProperties + i));
- }
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceQueueFamilyProperties2");;
-}
-
-void VkEncoder::vkGetPhysicalDeviceMemoryProperties2(
- VkPhysicalDevice physicalDevice,
- VkPhysicalDeviceMemoryProperties2* pMemoryProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceMemoryProperties2");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- local_physicalDevice = physicalDevice;
- countingStream->rewind();
- {
- uint64_t cgen_var_709;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_709, 1);
- countingStream->write((uint64_t*)&cgen_var_709, 1 * 8);
- marshal_VkPhysicalDeviceMemoryProperties2(countingStream, (VkPhysicalDeviceMemoryProperties2*)(pMemoryProperties));
- }
- uint32_t packetSize_vkGetPhysicalDeviceMemoryProperties2 = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceMemoryProperties2 = OP_vkGetPhysicalDeviceMemoryProperties2;
- stream->write(&opcode_vkGetPhysicalDeviceMemoryProperties2, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceMemoryProperties2, sizeof(uint32_t));
- uint64_t cgen_var_710;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_710, 1);
- stream->write((uint64_t*)&cgen_var_710, 1 * 8);
- marshal_VkPhysicalDeviceMemoryProperties2(stream, (VkPhysicalDeviceMemoryProperties2*)(pMemoryProperties));
- unmarshal_VkPhysicalDeviceMemoryProperties2(stream, (VkPhysicalDeviceMemoryProperties2*)(pMemoryProperties));
- if (pMemoryProperties)
- {
- transform_fromhost_VkPhysicalDeviceMemoryProperties2(mImpl->resources(), (VkPhysicalDeviceMemoryProperties2*)(pMemoryProperties));
- }
- mImpl->resources()->on_vkGetPhysicalDeviceMemoryProperties2(this, physicalDevice, pMemoryProperties);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceMemoryProperties2");;
-}
-
-void VkEncoder::vkGetPhysicalDeviceSparseImageFormatProperties2(
- VkPhysicalDevice physicalDevice,
- const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
- uint32_t* pPropertyCount,
- VkSparseImageFormatProperties2* pProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceSparseImageFormatProperties2");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- VkPhysicalDeviceSparseImageFormatInfo2* local_pFormatInfo;
- local_physicalDevice = physicalDevice;
- local_pFormatInfo = nullptr;
- if (pFormatInfo)
- {
- local_pFormatInfo = (VkPhysicalDeviceSparseImageFormatInfo2*)pool->alloc(sizeof(const VkPhysicalDeviceSparseImageFormatInfo2));
- deepcopy_VkPhysicalDeviceSparseImageFormatInfo2(pool, pFormatInfo, (VkPhysicalDeviceSparseImageFormatInfo2*)(local_pFormatInfo));
- }
- if (local_pFormatInfo)
- {
- transform_tohost_VkPhysicalDeviceSparseImageFormatInfo2(mImpl->resources(), (VkPhysicalDeviceSparseImageFormatInfo2*)(local_pFormatInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_711;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_711, 1);
- countingStream->write((uint64_t*)&cgen_var_711, 1 * 8);
- marshal_VkPhysicalDeviceSparseImageFormatInfo2(countingStream, (VkPhysicalDeviceSparseImageFormatInfo2*)(local_pFormatInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_712 = (uint64_t)(uintptr_t)pPropertyCount;
- countingStream->putBe64(cgen_var_712);
- if (pPropertyCount)
- {
- countingStream->write((uint32_t*)pPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_713 = (uint64_t)(uintptr_t)pProperties;
- countingStream->putBe64(cgen_var_713);
- if (pProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- marshal_VkSparseImageFormatProperties2(countingStream, (VkSparseImageFormatProperties2*)(pProperties + i));
- }
- }
- }
- uint32_t packetSize_vkGetPhysicalDeviceSparseImageFormatProperties2 = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceSparseImageFormatProperties2 = OP_vkGetPhysicalDeviceSparseImageFormatProperties2;
- stream->write(&opcode_vkGetPhysicalDeviceSparseImageFormatProperties2, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceSparseImageFormatProperties2, sizeof(uint32_t));
- uint64_t cgen_var_714;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_714, 1);
- stream->write((uint64_t*)&cgen_var_714, 1 * 8);
- marshal_VkPhysicalDeviceSparseImageFormatInfo2(stream, (VkPhysicalDeviceSparseImageFormatInfo2*)(local_pFormatInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_715 = (uint64_t)(uintptr_t)pPropertyCount;
- stream->putBe64(cgen_var_715);
- if (pPropertyCount)
- {
- stream->write((uint32_t*)pPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_716 = (uint64_t)(uintptr_t)pProperties;
- stream->putBe64(cgen_var_716);
- if (pProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- marshal_VkSparseImageFormatProperties2(stream, (VkSparseImageFormatProperties2*)(pProperties + i));
- }
- }
- // WARNING PTR CHECK
- uint32_t* check_pPropertyCount;
- check_pPropertyCount = (uint32_t*)(uintptr_t)stream->getBe64();
- if (pPropertyCount)
- {
- if (!(check_pPropertyCount))
- {
- fprintf(stderr, "fatal: pPropertyCount inconsistent between guest and host\n");
- }
- stream->read((uint32_t*)pPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- VkSparseImageFormatProperties2* check_pProperties;
- check_pProperties = (VkSparseImageFormatProperties2*)(uintptr_t)stream->getBe64();
- if (pProperties)
- {
- if (!(check_pProperties))
- {
- fprintf(stderr, "fatal: pProperties inconsistent between guest and host\n");
- }
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- unmarshal_VkSparseImageFormatProperties2(stream, (VkSparseImageFormatProperties2*)(pProperties + i));
- }
- }
- if (pProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- transform_fromhost_VkSparseImageFormatProperties2(mImpl->resources(), (VkSparseImageFormatProperties2*)(pProperties + i));
- }
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceSparseImageFormatProperties2");;
-}
-
-void VkEncoder::vkTrimCommandPool(
- VkDevice device,
- VkCommandPool commandPool,
- VkCommandPoolTrimFlags flags)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkTrimCommandPool");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkCommandPool local_commandPool;
- VkCommandPoolTrimFlags local_flags;
- local_device = device;
- local_commandPool = commandPool;
- local_flags = flags;
- countingStream->rewind();
- {
- uint64_t cgen_var_719;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_719, 1);
- countingStream->write((uint64_t*)&cgen_var_719, 1 * 8);
- uint64_t cgen_var_720;
- countingStream->handleMapping()->mapHandles_VkCommandPool_u64(&local_commandPool, &cgen_var_720, 1);
- countingStream->write((uint64_t*)&cgen_var_720, 1 * 8);
- countingStream->write((VkCommandPoolTrimFlags*)&local_flags, sizeof(VkCommandPoolTrimFlags));
- }
- uint32_t packetSize_vkTrimCommandPool = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkTrimCommandPool = OP_vkTrimCommandPool;
- stream->write(&opcode_vkTrimCommandPool, sizeof(uint32_t));
- stream->write(&packetSize_vkTrimCommandPool, sizeof(uint32_t));
- uint64_t cgen_var_721;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_721, 1);
- stream->write((uint64_t*)&cgen_var_721, 1 * 8);
- uint64_t cgen_var_722;
- stream->handleMapping()->mapHandles_VkCommandPool_u64(&local_commandPool, &cgen_var_722, 1);
- stream->write((uint64_t*)&cgen_var_722, 1 * 8);
- stream->write((VkCommandPoolTrimFlags*)&local_flags, sizeof(VkCommandPoolTrimFlags));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkTrimCommandPool");;
-}
-
-void VkEncoder::vkGetDeviceQueue2(
- VkDevice device,
- const VkDeviceQueueInfo2* pQueueInfo,
- VkQueue* pQueue)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetDeviceQueue2");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkDeviceQueueInfo2* local_pQueueInfo;
- local_device = device;
- local_pQueueInfo = nullptr;
- if (pQueueInfo)
- {
- local_pQueueInfo = (VkDeviceQueueInfo2*)pool->alloc(sizeof(const VkDeviceQueueInfo2));
- deepcopy_VkDeviceQueueInfo2(pool, pQueueInfo, (VkDeviceQueueInfo2*)(local_pQueueInfo));
- }
- if (local_pQueueInfo)
- {
- transform_tohost_VkDeviceQueueInfo2(mImpl->resources(), (VkDeviceQueueInfo2*)(local_pQueueInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_723;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_723, 1);
- countingStream->write((uint64_t*)&cgen_var_723, 1 * 8);
- marshal_VkDeviceQueueInfo2(countingStream, (VkDeviceQueueInfo2*)(local_pQueueInfo));
- uint64_t cgen_var_724;
- countingStream->handleMapping()->mapHandles_VkQueue_u64(pQueue, &cgen_var_724, 1);
- countingStream->write((uint64_t*)&cgen_var_724, 8);
- }
- uint32_t packetSize_vkGetDeviceQueue2 = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetDeviceQueue2 = OP_vkGetDeviceQueue2;
- stream->write(&opcode_vkGetDeviceQueue2, sizeof(uint32_t));
- stream->write(&packetSize_vkGetDeviceQueue2, sizeof(uint32_t));
- uint64_t cgen_var_725;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_725, 1);
- stream->write((uint64_t*)&cgen_var_725, 1 * 8);
- marshal_VkDeviceQueueInfo2(stream, (VkDeviceQueueInfo2*)(local_pQueueInfo));
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_726;
- stream->handleMapping()->mapHandles_VkQueue_u64(pQueue, &cgen_var_726, 1);
- stream->write((uint64_t*)&cgen_var_726, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- uint64_t cgen_var_727;
- stream->read((uint64_t*)&cgen_var_727, 8);
- stream->handleMapping()->mapHandles_u64_VkQueue(&cgen_var_727, (VkQueue*)pQueue, 1);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetDeviceQueue2");;
-}
-
-VkResult VkEncoder::vkCreateSamplerYcbcrConversion(
- VkDevice device,
- const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSamplerYcbcrConversion* pYcbcrConversion)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateSamplerYcbcrConversion");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkSamplerYcbcrConversionCreateInfo* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkSamplerYcbcrConversionCreateInfo*)pool->alloc(sizeof(const VkSamplerYcbcrConversionCreateInfo));
- deepcopy_VkSamplerYcbcrConversionCreateInfo(pool, pCreateInfo, (VkSamplerYcbcrConversionCreateInfo*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkSamplerYcbcrConversionCreateInfo(mImpl->resources(), (VkSamplerYcbcrConversionCreateInfo*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_728;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_728, 1);
- countingStream->write((uint64_t*)&cgen_var_728, 1 * 8);
- marshal_VkSamplerYcbcrConversionCreateInfo(countingStream, (VkSamplerYcbcrConversionCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_729 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_729);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_730;
- countingStream->handleMapping()->mapHandles_VkSamplerYcbcrConversion_u64(pYcbcrConversion, &cgen_var_730, 1);
- countingStream->write((uint64_t*)&cgen_var_730, 8);
- }
- uint32_t packetSize_vkCreateSamplerYcbcrConversion = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateSamplerYcbcrConversion = OP_vkCreateSamplerYcbcrConversion;
- stream->write(&opcode_vkCreateSamplerYcbcrConversion, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateSamplerYcbcrConversion, sizeof(uint32_t));
- uint64_t cgen_var_731;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_731, 1);
- stream->write((uint64_t*)&cgen_var_731, 1 * 8);
- marshal_VkSamplerYcbcrConversionCreateInfo(stream, (VkSamplerYcbcrConversionCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_732 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_732);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_733;
- stream->handleMapping()->mapHandles_VkSamplerYcbcrConversion_u64(pYcbcrConversion, &cgen_var_733, 1);
- stream->write((uint64_t*)&cgen_var_733, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- stream->setHandleMapping(resources->createMapping());
- uint64_t cgen_var_734;
- stream->read((uint64_t*)&cgen_var_734, 8);
- stream->handleMapping()->mapHandles_u64_VkSamplerYcbcrConversion(&cgen_var_734, (VkSamplerYcbcrConversion*)pYcbcrConversion, 1);
- stream->unsetHandleMapping();
- VkResult vkCreateSamplerYcbcrConversion_VkResult_return = (VkResult)0;
- stream->read(&vkCreateSamplerYcbcrConversion_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateSamplerYcbcrConversion");;
- return vkCreateSamplerYcbcrConversion_VkResult_return;
-}
-
-void VkEncoder::vkDestroySamplerYcbcrConversion(
- VkDevice device,
- VkSamplerYcbcrConversion ycbcrConversion,
- const VkAllocationCallbacks* pAllocator)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkDestroySamplerYcbcrConversion");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkSamplerYcbcrConversion local_ycbcrConversion;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_ycbcrConversion = ycbcrConversion;
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_735;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_735, 1);
- countingStream->write((uint64_t*)&cgen_var_735, 1 * 8);
- uint64_t cgen_var_736;
- countingStream->handleMapping()->mapHandles_VkSamplerYcbcrConversion_u64(&local_ycbcrConversion, &cgen_var_736, 1);
- countingStream->write((uint64_t*)&cgen_var_736, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_737 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_737);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- }
- uint32_t packetSize_vkDestroySamplerYcbcrConversion = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkDestroySamplerYcbcrConversion = OP_vkDestroySamplerYcbcrConversion;
- stream->write(&opcode_vkDestroySamplerYcbcrConversion, sizeof(uint32_t));
- stream->write(&packetSize_vkDestroySamplerYcbcrConversion, sizeof(uint32_t));
- uint64_t cgen_var_738;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_738, 1);
- stream->write((uint64_t*)&cgen_var_738, 1 * 8);
- uint64_t cgen_var_739;
- stream->handleMapping()->mapHandles_VkSamplerYcbcrConversion_u64(&local_ycbcrConversion, &cgen_var_739, 1);
- stream->write((uint64_t*)&cgen_var_739, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_740 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_740);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- resources->destroyMapping()->mapHandles_VkSamplerYcbcrConversion((VkSamplerYcbcrConversion*)&ycbcrConversion);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkDestroySamplerYcbcrConversion");;
-}
-
-VkResult VkEncoder::vkCreateDescriptorUpdateTemplate(
- VkDevice device,
- const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateDescriptorUpdateTemplate");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkDescriptorUpdateTemplateCreateInfo* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkDescriptorUpdateTemplateCreateInfo*)pool->alloc(sizeof(const VkDescriptorUpdateTemplateCreateInfo));
- deepcopy_VkDescriptorUpdateTemplateCreateInfo(pool, pCreateInfo, (VkDescriptorUpdateTemplateCreateInfo*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkDescriptorUpdateTemplateCreateInfo(mImpl->resources(), (VkDescriptorUpdateTemplateCreateInfo*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_741;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_741, 1);
- countingStream->write((uint64_t*)&cgen_var_741, 1 * 8);
- marshal_VkDescriptorUpdateTemplateCreateInfo(countingStream, (VkDescriptorUpdateTemplateCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_742 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_742);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_743;
- countingStream->handleMapping()->mapHandles_VkDescriptorUpdateTemplate_u64(pDescriptorUpdateTemplate, &cgen_var_743, 1);
- countingStream->write((uint64_t*)&cgen_var_743, 8);
- }
- uint32_t packetSize_vkCreateDescriptorUpdateTemplate = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateDescriptorUpdateTemplate = OP_vkCreateDescriptorUpdateTemplate;
- stream->write(&opcode_vkCreateDescriptorUpdateTemplate, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateDescriptorUpdateTemplate, sizeof(uint32_t));
- uint64_t cgen_var_744;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_744, 1);
- stream->write((uint64_t*)&cgen_var_744, 1 * 8);
- marshal_VkDescriptorUpdateTemplateCreateInfo(stream, (VkDescriptorUpdateTemplateCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_745 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_745);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_746;
- stream->handleMapping()->mapHandles_VkDescriptorUpdateTemplate_u64(pDescriptorUpdateTemplate, &cgen_var_746, 1);
- stream->write((uint64_t*)&cgen_var_746, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- stream->setHandleMapping(resources->createMapping());
- uint64_t cgen_var_747;
- stream->read((uint64_t*)&cgen_var_747, 8);
- stream->handleMapping()->mapHandles_u64_VkDescriptorUpdateTemplate(&cgen_var_747, (VkDescriptorUpdateTemplate*)pDescriptorUpdateTemplate, 1);
- stream->unsetHandleMapping();
- VkResult vkCreateDescriptorUpdateTemplate_VkResult_return = (VkResult)0;
- stream->read(&vkCreateDescriptorUpdateTemplate_VkResult_return, sizeof(VkResult));
- mImpl->resources()->on_vkCreateDescriptorUpdateTemplate(this, vkCreateDescriptorUpdateTemplate_VkResult_return, device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateDescriptorUpdateTemplate");;
- return vkCreateDescriptorUpdateTemplate_VkResult_return;
-}
-
-void VkEncoder::vkDestroyDescriptorUpdateTemplate(
- VkDevice device,
- VkDescriptorUpdateTemplate descriptorUpdateTemplate,
- const VkAllocationCallbacks* pAllocator)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkDestroyDescriptorUpdateTemplate");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkDescriptorUpdateTemplate local_descriptorUpdateTemplate;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_descriptorUpdateTemplate = descriptorUpdateTemplate;
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_748;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_748, 1);
- countingStream->write((uint64_t*)&cgen_var_748, 1 * 8);
- uint64_t cgen_var_749;
- countingStream->handleMapping()->mapHandles_VkDescriptorUpdateTemplate_u64(&local_descriptorUpdateTemplate, &cgen_var_749, 1);
- countingStream->write((uint64_t*)&cgen_var_749, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_750 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_750);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- }
- uint32_t packetSize_vkDestroyDescriptorUpdateTemplate = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkDestroyDescriptorUpdateTemplate = OP_vkDestroyDescriptorUpdateTemplate;
- stream->write(&opcode_vkDestroyDescriptorUpdateTemplate, sizeof(uint32_t));
- stream->write(&packetSize_vkDestroyDescriptorUpdateTemplate, sizeof(uint32_t));
- uint64_t cgen_var_751;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_751, 1);
- stream->write((uint64_t*)&cgen_var_751, 1 * 8);
- uint64_t cgen_var_752;
- stream->handleMapping()->mapHandles_VkDescriptorUpdateTemplate_u64(&local_descriptorUpdateTemplate, &cgen_var_752, 1);
- stream->write((uint64_t*)&cgen_var_752, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_753 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_753);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- resources->destroyMapping()->mapHandles_VkDescriptorUpdateTemplate((VkDescriptorUpdateTemplate*)&descriptorUpdateTemplate);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkDestroyDescriptorUpdateTemplate");;
-}
-
-void VkEncoder::vkUpdateDescriptorSetWithTemplate(
- VkDevice device,
- VkDescriptorSet descriptorSet,
- VkDescriptorUpdateTemplate descriptorUpdateTemplate,
- const void* pData)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkUpdateDescriptorSetWithTemplate");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkDescriptorSet local_descriptorSet;
- VkDescriptorUpdateTemplate local_descriptorUpdateTemplate;
- void* local_pData;
- local_device = device;
- local_descriptorSet = descriptorSet;
- local_descriptorUpdateTemplate = descriptorUpdateTemplate;
- local_pData = nullptr;
- if (pData)
- {
- local_pData = (void*)pool->dupArray(pData, sizeof(const uint8_t));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_754;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_754, 1);
- countingStream->write((uint64_t*)&cgen_var_754, 1 * 8);
- uint64_t cgen_var_755;
- countingStream->handleMapping()->mapHandles_VkDescriptorSet_u64(&local_descriptorSet, &cgen_var_755, 1);
- countingStream->write((uint64_t*)&cgen_var_755, 1 * 8);
- uint64_t cgen_var_756;
- countingStream->handleMapping()->mapHandles_VkDescriptorUpdateTemplate_u64(&local_descriptorUpdateTemplate, &cgen_var_756, 1);
- countingStream->write((uint64_t*)&cgen_var_756, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_757 = (uint64_t)(uintptr_t)local_pData;
- countingStream->putBe64(cgen_var_757);
- if (local_pData)
- {
- countingStream->write((void*)local_pData, sizeof(uint8_t));
- }
- }
- uint32_t packetSize_vkUpdateDescriptorSetWithTemplate = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkUpdateDescriptorSetWithTemplate = OP_vkUpdateDescriptorSetWithTemplate;
- stream->write(&opcode_vkUpdateDescriptorSetWithTemplate, sizeof(uint32_t));
- stream->write(&packetSize_vkUpdateDescriptorSetWithTemplate, sizeof(uint32_t));
- uint64_t cgen_var_758;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_758, 1);
- stream->write((uint64_t*)&cgen_var_758, 1 * 8);
- uint64_t cgen_var_759;
- stream->handleMapping()->mapHandles_VkDescriptorSet_u64(&local_descriptorSet, &cgen_var_759, 1);
- stream->write((uint64_t*)&cgen_var_759, 1 * 8);
- uint64_t cgen_var_760;
- stream->handleMapping()->mapHandles_VkDescriptorUpdateTemplate_u64(&local_descriptorUpdateTemplate, &cgen_var_760, 1);
- stream->write((uint64_t*)&cgen_var_760, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_761 = (uint64_t)(uintptr_t)local_pData;
- stream->putBe64(cgen_var_761);
- if (local_pData)
- {
- stream->write((void*)local_pData, sizeof(uint8_t));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkUpdateDescriptorSetWithTemplate");;
-}
-
-void VkEncoder::vkGetPhysicalDeviceExternalBufferProperties(
- VkPhysicalDevice physicalDevice,
- const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
- VkExternalBufferProperties* pExternalBufferProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceExternalBufferProperties");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- VkPhysicalDeviceExternalBufferInfo* local_pExternalBufferInfo;
- local_physicalDevice = physicalDevice;
- local_pExternalBufferInfo = nullptr;
- if (pExternalBufferInfo)
- {
- local_pExternalBufferInfo = (VkPhysicalDeviceExternalBufferInfo*)pool->alloc(sizeof(const VkPhysicalDeviceExternalBufferInfo));
- deepcopy_VkPhysicalDeviceExternalBufferInfo(pool, pExternalBufferInfo, (VkPhysicalDeviceExternalBufferInfo*)(local_pExternalBufferInfo));
- }
- if (local_pExternalBufferInfo)
- {
- mImpl->resources()->transformImpl_VkPhysicalDeviceExternalBufferInfo_tohost(local_pExternalBufferInfo, 1);
- transform_tohost_VkPhysicalDeviceExternalBufferInfo(mImpl->resources(), (VkPhysicalDeviceExternalBufferInfo*)(local_pExternalBufferInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_762;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_762, 1);
- countingStream->write((uint64_t*)&cgen_var_762, 1 * 8);
- marshal_VkPhysicalDeviceExternalBufferInfo(countingStream, (VkPhysicalDeviceExternalBufferInfo*)(local_pExternalBufferInfo));
- marshal_VkExternalBufferProperties(countingStream, (VkExternalBufferProperties*)(pExternalBufferProperties));
- }
- uint32_t packetSize_vkGetPhysicalDeviceExternalBufferProperties = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceExternalBufferProperties = OP_vkGetPhysicalDeviceExternalBufferProperties;
- stream->write(&opcode_vkGetPhysicalDeviceExternalBufferProperties, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceExternalBufferProperties, sizeof(uint32_t));
- uint64_t cgen_var_763;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_763, 1);
- stream->write((uint64_t*)&cgen_var_763, 1 * 8);
- marshal_VkPhysicalDeviceExternalBufferInfo(stream, (VkPhysicalDeviceExternalBufferInfo*)(local_pExternalBufferInfo));
- marshal_VkExternalBufferProperties(stream, (VkExternalBufferProperties*)(pExternalBufferProperties));
- unmarshal_VkExternalBufferProperties(stream, (VkExternalBufferProperties*)(pExternalBufferProperties));
- if (pExternalBufferProperties)
- {
- mImpl->resources()->transformImpl_VkExternalBufferProperties_fromhost(pExternalBufferProperties, 1);
- transform_fromhost_VkExternalBufferProperties(mImpl->resources(), (VkExternalBufferProperties*)(pExternalBufferProperties));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceExternalBufferProperties");;
-}
-
-void VkEncoder::vkGetPhysicalDeviceExternalFenceProperties(
- VkPhysicalDevice physicalDevice,
- const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
- VkExternalFenceProperties* pExternalFenceProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceExternalFenceProperties");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- VkPhysicalDeviceExternalFenceInfo* local_pExternalFenceInfo;
- local_physicalDevice = physicalDevice;
- local_pExternalFenceInfo = nullptr;
- if (pExternalFenceInfo)
- {
- local_pExternalFenceInfo = (VkPhysicalDeviceExternalFenceInfo*)pool->alloc(sizeof(const VkPhysicalDeviceExternalFenceInfo));
- deepcopy_VkPhysicalDeviceExternalFenceInfo(pool, pExternalFenceInfo, (VkPhysicalDeviceExternalFenceInfo*)(local_pExternalFenceInfo));
- }
- if (local_pExternalFenceInfo)
- {
- transform_tohost_VkPhysicalDeviceExternalFenceInfo(mImpl->resources(), (VkPhysicalDeviceExternalFenceInfo*)(local_pExternalFenceInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_764;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_764, 1);
- countingStream->write((uint64_t*)&cgen_var_764, 1 * 8);
- marshal_VkPhysicalDeviceExternalFenceInfo(countingStream, (VkPhysicalDeviceExternalFenceInfo*)(local_pExternalFenceInfo));
- marshal_VkExternalFenceProperties(countingStream, (VkExternalFenceProperties*)(pExternalFenceProperties));
- }
- uint32_t packetSize_vkGetPhysicalDeviceExternalFenceProperties = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceExternalFenceProperties = OP_vkGetPhysicalDeviceExternalFenceProperties;
- stream->write(&opcode_vkGetPhysicalDeviceExternalFenceProperties, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceExternalFenceProperties, sizeof(uint32_t));
- uint64_t cgen_var_765;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_765, 1);
- stream->write((uint64_t*)&cgen_var_765, 1 * 8);
- marshal_VkPhysicalDeviceExternalFenceInfo(stream, (VkPhysicalDeviceExternalFenceInfo*)(local_pExternalFenceInfo));
- marshal_VkExternalFenceProperties(stream, (VkExternalFenceProperties*)(pExternalFenceProperties));
- unmarshal_VkExternalFenceProperties(stream, (VkExternalFenceProperties*)(pExternalFenceProperties));
- if (pExternalFenceProperties)
- {
- transform_fromhost_VkExternalFenceProperties(mImpl->resources(), (VkExternalFenceProperties*)(pExternalFenceProperties));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceExternalFenceProperties");;
-}
-
-void VkEncoder::vkGetPhysicalDeviceExternalSemaphoreProperties(
- VkPhysicalDevice physicalDevice,
- const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
- VkExternalSemaphoreProperties* pExternalSemaphoreProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceExternalSemaphoreProperties");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- VkPhysicalDeviceExternalSemaphoreInfo* local_pExternalSemaphoreInfo;
- local_physicalDevice = physicalDevice;
- local_pExternalSemaphoreInfo = nullptr;
- if (pExternalSemaphoreInfo)
- {
- local_pExternalSemaphoreInfo = (VkPhysicalDeviceExternalSemaphoreInfo*)pool->alloc(sizeof(const VkPhysicalDeviceExternalSemaphoreInfo));
- deepcopy_VkPhysicalDeviceExternalSemaphoreInfo(pool, pExternalSemaphoreInfo, (VkPhysicalDeviceExternalSemaphoreInfo*)(local_pExternalSemaphoreInfo));
- }
- if (local_pExternalSemaphoreInfo)
- {
- transform_tohost_VkPhysicalDeviceExternalSemaphoreInfo(mImpl->resources(), (VkPhysicalDeviceExternalSemaphoreInfo*)(local_pExternalSemaphoreInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_766;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_766, 1);
- countingStream->write((uint64_t*)&cgen_var_766, 1 * 8);
- marshal_VkPhysicalDeviceExternalSemaphoreInfo(countingStream, (VkPhysicalDeviceExternalSemaphoreInfo*)(local_pExternalSemaphoreInfo));
- marshal_VkExternalSemaphoreProperties(countingStream, (VkExternalSemaphoreProperties*)(pExternalSemaphoreProperties));
- }
- uint32_t packetSize_vkGetPhysicalDeviceExternalSemaphoreProperties = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceExternalSemaphoreProperties = OP_vkGetPhysicalDeviceExternalSemaphoreProperties;
- stream->write(&opcode_vkGetPhysicalDeviceExternalSemaphoreProperties, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceExternalSemaphoreProperties, sizeof(uint32_t));
- uint64_t cgen_var_767;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_767, 1);
- stream->write((uint64_t*)&cgen_var_767, 1 * 8);
- marshal_VkPhysicalDeviceExternalSemaphoreInfo(stream, (VkPhysicalDeviceExternalSemaphoreInfo*)(local_pExternalSemaphoreInfo));
- marshal_VkExternalSemaphoreProperties(stream, (VkExternalSemaphoreProperties*)(pExternalSemaphoreProperties));
- unmarshal_VkExternalSemaphoreProperties(stream, (VkExternalSemaphoreProperties*)(pExternalSemaphoreProperties));
- if (pExternalSemaphoreProperties)
- {
- transform_fromhost_VkExternalSemaphoreProperties(mImpl->resources(), (VkExternalSemaphoreProperties*)(pExternalSemaphoreProperties));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceExternalSemaphoreProperties");;
-}
-
-void VkEncoder::vkGetDescriptorSetLayoutSupport(
- VkDevice device,
- const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
- VkDescriptorSetLayoutSupport* pSupport)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetDescriptorSetLayoutSupport");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkDescriptorSetLayoutCreateInfo* local_pCreateInfo;
- local_device = device;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkDescriptorSetLayoutCreateInfo*)pool->alloc(sizeof(const VkDescriptorSetLayoutCreateInfo));
- deepcopy_VkDescriptorSetLayoutCreateInfo(pool, pCreateInfo, (VkDescriptorSetLayoutCreateInfo*)(local_pCreateInfo));
- }
- if (local_pCreateInfo)
- {
- transform_tohost_VkDescriptorSetLayoutCreateInfo(mImpl->resources(), (VkDescriptorSetLayoutCreateInfo*)(local_pCreateInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_768;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_768, 1);
- countingStream->write((uint64_t*)&cgen_var_768, 1 * 8);
- marshal_VkDescriptorSetLayoutCreateInfo(countingStream, (VkDescriptorSetLayoutCreateInfo*)(local_pCreateInfo));
- marshal_VkDescriptorSetLayoutSupport(countingStream, (VkDescriptorSetLayoutSupport*)(pSupport));
- }
- uint32_t packetSize_vkGetDescriptorSetLayoutSupport = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetDescriptorSetLayoutSupport = OP_vkGetDescriptorSetLayoutSupport;
- stream->write(&opcode_vkGetDescriptorSetLayoutSupport, sizeof(uint32_t));
- stream->write(&packetSize_vkGetDescriptorSetLayoutSupport, sizeof(uint32_t));
- uint64_t cgen_var_769;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_769, 1);
- stream->write((uint64_t*)&cgen_var_769, 1 * 8);
- marshal_VkDescriptorSetLayoutCreateInfo(stream, (VkDescriptorSetLayoutCreateInfo*)(local_pCreateInfo));
- marshal_VkDescriptorSetLayoutSupport(stream, (VkDescriptorSetLayoutSupport*)(pSupport));
- unmarshal_VkDescriptorSetLayoutSupport(stream, (VkDescriptorSetLayoutSupport*)(pSupport));
- if (pSupport)
- {
- transform_fromhost_VkDescriptorSetLayoutSupport(mImpl->resources(), (VkDescriptorSetLayoutSupport*)(pSupport));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetDescriptorSetLayoutSupport");;
-}
-
-#endif
-#ifdef VK_KHR_surface
-void VkEncoder::vkDestroySurfaceKHR(
- VkInstance instance,
- VkSurfaceKHR surface,
- const VkAllocationCallbacks* pAllocator)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkDestroySurfaceKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkInstance local_instance;
- VkSurfaceKHR local_surface;
- VkAllocationCallbacks* local_pAllocator;
- local_instance = instance;
- local_surface = surface;
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_770;
- countingStream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_770, 1);
- countingStream->write((uint64_t*)&cgen_var_770, 1 * 8);
- uint64_t cgen_var_771;
- countingStream->handleMapping()->mapHandles_VkSurfaceKHR_u64(&local_surface, &cgen_var_771, 1);
- countingStream->write((uint64_t*)&cgen_var_771, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_772 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_772);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- }
- uint32_t packetSize_vkDestroySurfaceKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkDestroySurfaceKHR = OP_vkDestroySurfaceKHR;
- stream->write(&opcode_vkDestroySurfaceKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkDestroySurfaceKHR, sizeof(uint32_t));
- uint64_t cgen_var_773;
- stream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_773, 1);
- stream->write((uint64_t*)&cgen_var_773, 1 * 8);
- uint64_t cgen_var_774;
- stream->handleMapping()->mapHandles_VkSurfaceKHR_u64(&local_surface, &cgen_var_774, 1);
- stream->write((uint64_t*)&cgen_var_774, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_775 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_775);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- resources->destroyMapping()->mapHandles_VkSurfaceKHR((VkSurfaceKHR*)&surface);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkDestroySurfaceKHR");;
-}
-
-VkResult VkEncoder::vkGetPhysicalDeviceSurfaceSupportKHR(
- VkPhysicalDevice physicalDevice,
- uint32_t queueFamilyIndex,
- VkSurfaceKHR surface,
- VkBool32* pSupported)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceSurfaceSupportKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- uint32_t local_queueFamilyIndex;
- VkSurfaceKHR local_surface;
- local_physicalDevice = physicalDevice;
- local_queueFamilyIndex = queueFamilyIndex;
- local_surface = surface;
- countingStream->rewind();
- {
- uint64_t cgen_var_776;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_776, 1);
- countingStream->write((uint64_t*)&cgen_var_776, 1 * 8);
- countingStream->write((uint32_t*)&local_queueFamilyIndex, sizeof(uint32_t));
- uint64_t cgen_var_777;
- countingStream->handleMapping()->mapHandles_VkSurfaceKHR_u64(&local_surface, &cgen_var_777, 1);
- countingStream->write((uint64_t*)&cgen_var_777, 1 * 8);
- countingStream->write((VkBool32*)pSupported, sizeof(VkBool32));
- }
- uint32_t packetSize_vkGetPhysicalDeviceSurfaceSupportKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceSurfaceSupportKHR = OP_vkGetPhysicalDeviceSurfaceSupportKHR;
- stream->write(&opcode_vkGetPhysicalDeviceSurfaceSupportKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceSurfaceSupportKHR, sizeof(uint32_t));
- uint64_t cgen_var_778;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_778, 1);
- stream->write((uint64_t*)&cgen_var_778, 1 * 8);
- stream->write((uint32_t*)&local_queueFamilyIndex, sizeof(uint32_t));
- uint64_t cgen_var_779;
- stream->handleMapping()->mapHandles_VkSurfaceKHR_u64(&local_surface, &cgen_var_779, 1);
- stream->write((uint64_t*)&cgen_var_779, 1 * 8);
- stream->write((VkBool32*)pSupported, sizeof(VkBool32));
- stream->read((VkBool32*)pSupported, sizeof(VkBool32));
- VkResult vkGetPhysicalDeviceSurfaceSupportKHR_VkResult_return = (VkResult)0;
- stream->read(&vkGetPhysicalDeviceSurfaceSupportKHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceSurfaceSupportKHR");;
- return vkGetPhysicalDeviceSurfaceSupportKHR_VkResult_return;
-}
-
-VkResult VkEncoder::vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
- VkPhysicalDevice physicalDevice,
- VkSurfaceKHR surface,
- VkSurfaceCapabilitiesKHR* pSurfaceCapabilities)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceSurfaceCapabilitiesKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- VkSurfaceKHR local_surface;
- local_physicalDevice = physicalDevice;
- local_surface = surface;
- countingStream->rewind();
- {
- uint64_t cgen_var_780;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_780, 1);
- countingStream->write((uint64_t*)&cgen_var_780, 1 * 8);
- uint64_t cgen_var_781;
- countingStream->handleMapping()->mapHandles_VkSurfaceKHR_u64(&local_surface, &cgen_var_781, 1);
- countingStream->write((uint64_t*)&cgen_var_781, 1 * 8);
- marshal_VkSurfaceCapabilitiesKHR(countingStream, (VkSurfaceCapabilitiesKHR*)(pSurfaceCapabilities));
- }
- uint32_t packetSize_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = OP_vkGetPhysicalDeviceSurfaceCapabilitiesKHR;
- stream->write(&opcode_vkGetPhysicalDeviceSurfaceCapabilitiesKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceSurfaceCapabilitiesKHR, sizeof(uint32_t));
- uint64_t cgen_var_782;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_782, 1);
- stream->write((uint64_t*)&cgen_var_782, 1 * 8);
- uint64_t cgen_var_783;
- stream->handleMapping()->mapHandles_VkSurfaceKHR_u64(&local_surface, &cgen_var_783, 1);
- stream->write((uint64_t*)&cgen_var_783, 1 * 8);
- marshal_VkSurfaceCapabilitiesKHR(stream, (VkSurfaceCapabilitiesKHR*)(pSurfaceCapabilities));
- unmarshal_VkSurfaceCapabilitiesKHR(stream, (VkSurfaceCapabilitiesKHR*)(pSurfaceCapabilities));
- if (pSurfaceCapabilities)
- {
- transform_fromhost_VkSurfaceCapabilitiesKHR(mImpl->resources(), (VkSurfaceCapabilitiesKHR*)(pSurfaceCapabilities));
- }
- VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR_VkResult_return = (VkResult)0;
- stream->read(&vkGetPhysicalDeviceSurfaceCapabilitiesKHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceSurfaceCapabilitiesKHR");;
- return vkGetPhysicalDeviceSurfaceCapabilitiesKHR_VkResult_return;
-}
-
-VkResult VkEncoder::vkGetPhysicalDeviceSurfaceFormatsKHR(
- VkPhysicalDevice physicalDevice,
- VkSurfaceKHR surface,
- uint32_t* pSurfaceFormatCount,
- VkSurfaceFormatKHR* pSurfaceFormats)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceSurfaceFormatsKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- VkSurfaceKHR local_surface;
- local_physicalDevice = physicalDevice;
- local_surface = surface;
- countingStream->rewind();
- {
- uint64_t cgen_var_784;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_784, 1);
- countingStream->write((uint64_t*)&cgen_var_784, 1 * 8);
- uint64_t cgen_var_785;
- countingStream->handleMapping()->mapHandles_VkSurfaceKHR_u64(&local_surface, &cgen_var_785, 1);
- countingStream->write((uint64_t*)&cgen_var_785, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_786 = (uint64_t)(uintptr_t)pSurfaceFormatCount;
- countingStream->putBe64(cgen_var_786);
- if (pSurfaceFormatCount)
- {
- countingStream->write((uint32_t*)pSurfaceFormatCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_787 = (uint64_t)(uintptr_t)pSurfaceFormats;
- countingStream->putBe64(cgen_var_787);
- if (pSurfaceFormats)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pSurfaceFormatCount)); ++i)
- {
- marshal_VkSurfaceFormatKHR(countingStream, (VkSurfaceFormatKHR*)(pSurfaceFormats + i));
- }
- }
- }
- uint32_t packetSize_vkGetPhysicalDeviceSurfaceFormatsKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceSurfaceFormatsKHR = OP_vkGetPhysicalDeviceSurfaceFormatsKHR;
- stream->write(&opcode_vkGetPhysicalDeviceSurfaceFormatsKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceSurfaceFormatsKHR, sizeof(uint32_t));
- uint64_t cgen_var_788;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_788, 1);
- stream->write((uint64_t*)&cgen_var_788, 1 * 8);
- uint64_t cgen_var_789;
- stream->handleMapping()->mapHandles_VkSurfaceKHR_u64(&local_surface, &cgen_var_789, 1);
- stream->write((uint64_t*)&cgen_var_789, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_790 = (uint64_t)(uintptr_t)pSurfaceFormatCount;
- stream->putBe64(cgen_var_790);
- if (pSurfaceFormatCount)
- {
- stream->write((uint32_t*)pSurfaceFormatCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_791 = (uint64_t)(uintptr_t)pSurfaceFormats;
- stream->putBe64(cgen_var_791);
- if (pSurfaceFormats)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pSurfaceFormatCount)); ++i)
- {
- marshal_VkSurfaceFormatKHR(stream, (VkSurfaceFormatKHR*)(pSurfaceFormats + i));
- }
- }
- // WARNING PTR CHECK
- uint32_t* check_pSurfaceFormatCount;
- check_pSurfaceFormatCount = (uint32_t*)(uintptr_t)stream->getBe64();
- if (pSurfaceFormatCount)
- {
- if (!(check_pSurfaceFormatCount))
- {
- fprintf(stderr, "fatal: pSurfaceFormatCount inconsistent between guest and host\n");
- }
- stream->read((uint32_t*)pSurfaceFormatCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- VkSurfaceFormatKHR* check_pSurfaceFormats;
- check_pSurfaceFormats = (VkSurfaceFormatKHR*)(uintptr_t)stream->getBe64();
- if (pSurfaceFormats)
- {
- if (!(check_pSurfaceFormats))
- {
- fprintf(stderr, "fatal: pSurfaceFormats inconsistent between guest and host\n");
- }
- for (uint32_t i = 0; i < (uint32_t)(*(pSurfaceFormatCount)); ++i)
- {
- unmarshal_VkSurfaceFormatKHR(stream, (VkSurfaceFormatKHR*)(pSurfaceFormats + i));
- }
- }
- if (pSurfaceFormats)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pSurfaceFormatCount)); ++i)
- {
- transform_fromhost_VkSurfaceFormatKHR(mImpl->resources(), (VkSurfaceFormatKHR*)(pSurfaceFormats + i));
- }
- }
- VkResult vkGetPhysicalDeviceSurfaceFormatsKHR_VkResult_return = (VkResult)0;
- stream->read(&vkGetPhysicalDeviceSurfaceFormatsKHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceSurfaceFormatsKHR");;
- return vkGetPhysicalDeviceSurfaceFormatsKHR_VkResult_return;
-}
-
-VkResult VkEncoder::vkGetPhysicalDeviceSurfacePresentModesKHR(
- VkPhysicalDevice physicalDevice,
- VkSurfaceKHR surface,
- uint32_t* pPresentModeCount,
- VkPresentModeKHR* pPresentModes)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceSurfacePresentModesKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- VkSurfaceKHR local_surface;
- local_physicalDevice = physicalDevice;
- local_surface = surface;
- countingStream->rewind();
- {
- uint64_t cgen_var_794;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_794, 1);
- countingStream->write((uint64_t*)&cgen_var_794, 1 * 8);
- uint64_t cgen_var_795;
- countingStream->handleMapping()->mapHandles_VkSurfaceKHR_u64(&local_surface, &cgen_var_795, 1);
- countingStream->write((uint64_t*)&cgen_var_795, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_796 = (uint64_t)(uintptr_t)pPresentModeCount;
- countingStream->putBe64(cgen_var_796);
- if (pPresentModeCount)
- {
- countingStream->write((uint32_t*)pPresentModeCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_797 = (uint64_t)(uintptr_t)pPresentModes;
- countingStream->putBe64(cgen_var_797);
- if (pPresentModes)
- {
- countingStream->write((VkPresentModeKHR*)pPresentModes, (*(pPresentModeCount)) * sizeof(VkPresentModeKHR));
- }
- }
- uint32_t packetSize_vkGetPhysicalDeviceSurfacePresentModesKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceSurfacePresentModesKHR = OP_vkGetPhysicalDeviceSurfacePresentModesKHR;
- stream->write(&opcode_vkGetPhysicalDeviceSurfacePresentModesKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceSurfacePresentModesKHR, sizeof(uint32_t));
- uint64_t cgen_var_798;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_798, 1);
- stream->write((uint64_t*)&cgen_var_798, 1 * 8);
- uint64_t cgen_var_799;
- stream->handleMapping()->mapHandles_VkSurfaceKHR_u64(&local_surface, &cgen_var_799, 1);
- stream->write((uint64_t*)&cgen_var_799, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_800 = (uint64_t)(uintptr_t)pPresentModeCount;
- stream->putBe64(cgen_var_800);
- if (pPresentModeCount)
- {
- stream->write((uint32_t*)pPresentModeCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_801 = (uint64_t)(uintptr_t)pPresentModes;
- stream->putBe64(cgen_var_801);
- if (pPresentModes)
- {
- stream->write((VkPresentModeKHR*)pPresentModes, (*(pPresentModeCount)) * sizeof(VkPresentModeKHR));
- }
- // WARNING PTR CHECK
- uint32_t* check_pPresentModeCount;
- check_pPresentModeCount = (uint32_t*)(uintptr_t)stream->getBe64();
- if (pPresentModeCount)
- {
- if (!(check_pPresentModeCount))
- {
- fprintf(stderr, "fatal: pPresentModeCount inconsistent between guest and host\n");
- }
- stream->read((uint32_t*)pPresentModeCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- VkPresentModeKHR* check_pPresentModes;
- check_pPresentModes = (VkPresentModeKHR*)(uintptr_t)stream->getBe64();
- if (pPresentModes)
- {
- if (!(check_pPresentModes))
- {
- fprintf(stderr, "fatal: pPresentModes inconsistent between guest and host\n");
- }
- stream->read((VkPresentModeKHR*)pPresentModes, (*(pPresentModeCount)) * sizeof(VkPresentModeKHR));
- }
- VkResult vkGetPhysicalDeviceSurfacePresentModesKHR_VkResult_return = (VkResult)0;
- stream->read(&vkGetPhysicalDeviceSurfacePresentModesKHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceSurfacePresentModesKHR");;
- return vkGetPhysicalDeviceSurfacePresentModesKHR_VkResult_return;
-}
-
-#endif
-#ifdef VK_KHR_swapchain
-VkResult VkEncoder::vkCreateSwapchainKHR(
- VkDevice device,
- const VkSwapchainCreateInfoKHR* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSwapchainKHR* pSwapchain)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateSwapchainKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkSwapchainCreateInfoKHR* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkSwapchainCreateInfoKHR*)pool->alloc(sizeof(const VkSwapchainCreateInfoKHR));
- deepcopy_VkSwapchainCreateInfoKHR(pool, pCreateInfo, (VkSwapchainCreateInfoKHR*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkSwapchainCreateInfoKHR(mImpl->resources(), (VkSwapchainCreateInfoKHR*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_804;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_804, 1);
- countingStream->write((uint64_t*)&cgen_var_804, 1 * 8);
- marshal_VkSwapchainCreateInfoKHR(countingStream, (VkSwapchainCreateInfoKHR*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_805 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_805);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_806;
- countingStream->handleMapping()->mapHandles_VkSwapchainKHR_u64(pSwapchain, &cgen_var_806, 1);
- countingStream->write((uint64_t*)&cgen_var_806, 8);
- }
- uint32_t packetSize_vkCreateSwapchainKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateSwapchainKHR = OP_vkCreateSwapchainKHR;
- stream->write(&opcode_vkCreateSwapchainKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateSwapchainKHR, sizeof(uint32_t));
- uint64_t cgen_var_807;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_807, 1);
- stream->write((uint64_t*)&cgen_var_807, 1 * 8);
- marshal_VkSwapchainCreateInfoKHR(stream, (VkSwapchainCreateInfoKHR*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_808 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_808);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_809;
- stream->handleMapping()->mapHandles_VkSwapchainKHR_u64(pSwapchain, &cgen_var_809, 1);
- stream->write((uint64_t*)&cgen_var_809, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- stream->setHandleMapping(resources->createMapping());
- uint64_t cgen_var_810;
- stream->read((uint64_t*)&cgen_var_810, 8);
- stream->handleMapping()->mapHandles_u64_VkSwapchainKHR(&cgen_var_810, (VkSwapchainKHR*)pSwapchain, 1);
- stream->unsetHandleMapping();
- VkResult vkCreateSwapchainKHR_VkResult_return = (VkResult)0;
- stream->read(&vkCreateSwapchainKHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateSwapchainKHR");;
- return vkCreateSwapchainKHR_VkResult_return;
-}
-
-void VkEncoder::vkDestroySwapchainKHR(
- VkDevice device,
- VkSwapchainKHR swapchain,
- const VkAllocationCallbacks* pAllocator)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkDestroySwapchainKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkSwapchainKHR local_swapchain;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_swapchain = swapchain;
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_811;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_811, 1);
- countingStream->write((uint64_t*)&cgen_var_811, 1 * 8);
- uint64_t cgen_var_812;
- countingStream->handleMapping()->mapHandles_VkSwapchainKHR_u64(&local_swapchain, &cgen_var_812, 1);
- countingStream->write((uint64_t*)&cgen_var_812, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_813 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_813);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- }
- uint32_t packetSize_vkDestroySwapchainKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkDestroySwapchainKHR = OP_vkDestroySwapchainKHR;
- stream->write(&opcode_vkDestroySwapchainKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkDestroySwapchainKHR, sizeof(uint32_t));
- uint64_t cgen_var_814;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_814, 1);
- stream->write((uint64_t*)&cgen_var_814, 1 * 8);
- uint64_t cgen_var_815;
- stream->handleMapping()->mapHandles_VkSwapchainKHR_u64(&local_swapchain, &cgen_var_815, 1);
- stream->write((uint64_t*)&cgen_var_815, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_816 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_816);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- resources->destroyMapping()->mapHandles_VkSwapchainKHR((VkSwapchainKHR*)&swapchain);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkDestroySwapchainKHR");;
-}
-
-VkResult VkEncoder::vkGetSwapchainImagesKHR(
- VkDevice device,
- VkSwapchainKHR swapchain,
- uint32_t* pSwapchainImageCount,
- VkImage* pSwapchainImages)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetSwapchainImagesKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkSwapchainKHR local_swapchain;
- local_device = device;
- local_swapchain = swapchain;
- countingStream->rewind();
- {
- uint64_t cgen_var_817;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_817, 1);
- countingStream->write((uint64_t*)&cgen_var_817, 1 * 8);
- uint64_t cgen_var_818;
- countingStream->handleMapping()->mapHandles_VkSwapchainKHR_u64(&local_swapchain, &cgen_var_818, 1);
- countingStream->write((uint64_t*)&cgen_var_818, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_819 = (uint64_t)(uintptr_t)pSwapchainImageCount;
- countingStream->putBe64(cgen_var_819);
- if (pSwapchainImageCount)
- {
- countingStream->write((uint32_t*)pSwapchainImageCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_820 = (uint64_t)(uintptr_t)pSwapchainImages;
- countingStream->putBe64(cgen_var_820);
- if (pSwapchainImages)
- {
- if ((*(pSwapchainImageCount)))
- {
- uint64_t* cgen_var_821;
- countingStream->alloc((void**)&cgen_var_821, (*(pSwapchainImageCount)) * 8);
- countingStream->handleMapping()->mapHandles_VkImage_u64(pSwapchainImages, cgen_var_821, (*(pSwapchainImageCount)));
- countingStream->write((uint64_t*)cgen_var_821, (*(pSwapchainImageCount)) * 8);
- }
- }
- }
- uint32_t packetSize_vkGetSwapchainImagesKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetSwapchainImagesKHR = OP_vkGetSwapchainImagesKHR;
- stream->write(&opcode_vkGetSwapchainImagesKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetSwapchainImagesKHR, sizeof(uint32_t));
- uint64_t cgen_var_822;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_822, 1);
- stream->write((uint64_t*)&cgen_var_822, 1 * 8);
- uint64_t cgen_var_823;
- stream->handleMapping()->mapHandles_VkSwapchainKHR_u64(&local_swapchain, &cgen_var_823, 1);
- stream->write((uint64_t*)&cgen_var_823, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_824 = (uint64_t)(uintptr_t)pSwapchainImageCount;
- stream->putBe64(cgen_var_824);
- if (pSwapchainImageCount)
- {
- stream->write((uint32_t*)pSwapchainImageCount, sizeof(uint32_t));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- // WARNING PTR CHECK
- uint64_t cgen_var_825 = (uint64_t)(uintptr_t)pSwapchainImages;
- stream->putBe64(cgen_var_825);
- if (pSwapchainImages)
- {
- if ((*(pSwapchainImageCount)))
- {
- uint64_t* cgen_var_826;
- stream->alloc((void**)&cgen_var_826, (*(pSwapchainImageCount)) * 8);
- stream->handleMapping()->mapHandles_VkImage_u64(pSwapchainImages, cgen_var_826, (*(pSwapchainImageCount)));
- stream->write((uint64_t*)cgen_var_826, (*(pSwapchainImageCount)) * 8);
- }
- }
- stream->setHandleMapping(resources->unwrapMapping());
- // WARNING PTR CHECK
- uint32_t* check_pSwapchainImageCount;
- check_pSwapchainImageCount = (uint32_t*)(uintptr_t)stream->getBe64();
- if (pSwapchainImageCount)
- {
- if (!(check_pSwapchainImageCount))
- {
- fprintf(stderr, "fatal: pSwapchainImageCount inconsistent between guest and host\n");
- }
- stream->read((uint32_t*)pSwapchainImageCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- VkImage* check_pSwapchainImages;
- check_pSwapchainImages = (VkImage*)(uintptr_t)stream->getBe64();
- if (pSwapchainImages)
- {
- if (!(check_pSwapchainImages))
- {
- fprintf(stderr, "fatal: pSwapchainImages inconsistent between guest and host\n");
- }
- if ((*(pSwapchainImageCount)))
- {
- uint64_t* cgen_var_829;
- stream->alloc((void**)&cgen_var_829, (*(pSwapchainImageCount)) * 8);
- stream->read((uint64_t*)cgen_var_829, (*(pSwapchainImageCount)) * 8);
- stream->handleMapping()->mapHandles_u64_VkImage(cgen_var_829, (VkImage*)pSwapchainImages, (*(pSwapchainImageCount)));
- }
- }
- VkResult vkGetSwapchainImagesKHR_VkResult_return = (VkResult)0;
- stream->read(&vkGetSwapchainImagesKHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetSwapchainImagesKHR");;
- return vkGetSwapchainImagesKHR_VkResult_return;
-}
-
-VkResult VkEncoder::vkAcquireNextImageKHR(
- VkDevice device,
- VkSwapchainKHR swapchain,
- uint64_t timeout,
- VkSemaphore semaphore,
- VkFence fence,
- uint32_t* pImageIndex)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkAcquireNextImageKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkSwapchainKHR local_swapchain;
- uint64_t local_timeout;
- VkSemaphore local_semaphore;
- VkFence local_fence;
- local_device = device;
- local_swapchain = swapchain;
- local_timeout = timeout;
- local_semaphore = semaphore;
- local_fence = fence;
- countingStream->rewind();
- {
- uint64_t cgen_var_830;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_830, 1);
- countingStream->write((uint64_t*)&cgen_var_830, 1 * 8);
- uint64_t cgen_var_831;
- countingStream->handleMapping()->mapHandles_VkSwapchainKHR_u64(&local_swapchain, &cgen_var_831, 1);
- countingStream->write((uint64_t*)&cgen_var_831, 1 * 8);
- countingStream->write((uint64_t*)&local_timeout, sizeof(uint64_t));
- uint64_t cgen_var_832;
- countingStream->handleMapping()->mapHandles_VkSemaphore_u64(&local_semaphore, &cgen_var_832, 1);
- countingStream->write((uint64_t*)&cgen_var_832, 1 * 8);
- uint64_t cgen_var_833;
- countingStream->handleMapping()->mapHandles_VkFence_u64(&local_fence, &cgen_var_833, 1);
- countingStream->write((uint64_t*)&cgen_var_833, 1 * 8);
- countingStream->write((uint32_t*)pImageIndex, sizeof(uint32_t));
- }
- uint32_t packetSize_vkAcquireNextImageKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkAcquireNextImageKHR = OP_vkAcquireNextImageKHR;
- stream->write(&opcode_vkAcquireNextImageKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkAcquireNextImageKHR, sizeof(uint32_t));
- uint64_t cgen_var_834;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_834, 1);
- stream->write((uint64_t*)&cgen_var_834, 1 * 8);
- uint64_t cgen_var_835;
- stream->handleMapping()->mapHandles_VkSwapchainKHR_u64(&local_swapchain, &cgen_var_835, 1);
- stream->write((uint64_t*)&cgen_var_835, 1 * 8);
- stream->write((uint64_t*)&local_timeout, sizeof(uint64_t));
- uint64_t cgen_var_836;
- stream->handleMapping()->mapHandles_VkSemaphore_u64(&local_semaphore, &cgen_var_836, 1);
- stream->write((uint64_t*)&cgen_var_836, 1 * 8);
- uint64_t cgen_var_837;
- stream->handleMapping()->mapHandles_VkFence_u64(&local_fence, &cgen_var_837, 1);
- stream->write((uint64_t*)&cgen_var_837, 1 * 8);
- stream->write((uint32_t*)pImageIndex, sizeof(uint32_t));
- stream->read((uint32_t*)pImageIndex, sizeof(uint32_t));
- VkResult vkAcquireNextImageKHR_VkResult_return = (VkResult)0;
- stream->read(&vkAcquireNextImageKHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkAcquireNextImageKHR");;
- return vkAcquireNextImageKHR_VkResult_return;
-}
-
-VkResult VkEncoder::vkQueuePresentKHR(
- VkQueue queue,
- const VkPresentInfoKHR* pPresentInfo)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkQueuePresentKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkQueue local_queue;
- VkPresentInfoKHR* local_pPresentInfo;
- local_queue = queue;
- local_pPresentInfo = nullptr;
- if (pPresentInfo)
- {
- local_pPresentInfo = (VkPresentInfoKHR*)pool->alloc(sizeof(const VkPresentInfoKHR));
- deepcopy_VkPresentInfoKHR(pool, pPresentInfo, (VkPresentInfoKHR*)(local_pPresentInfo));
- }
- if (local_pPresentInfo)
- {
- transform_tohost_VkPresentInfoKHR(mImpl->resources(), (VkPresentInfoKHR*)(local_pPresentInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_838;
- countingStream->handleMapping()->mapHandles_VkQueue_u64(&local_queue, &cgen_var_838, 1);
- countingStream->write((uint64_t*)&cgen_var_838, 1 * 8);
- marshal_VkPresentInfoKHR(countingStream, (VkPresentInfoKHR*)(local_pPresentInfo));
- }
- uint32_t packetSize_vkQueuePresentKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkQueuePresentKHR = OP_vkQueuePresentKHR;
- stream->write(&opcode_vkQueuePresentKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkQueuePresentKHR, sizeof(uint32_t));
- uint64_t cgen_var_839;
- stream->handleMapping()->mapHandles_VkQueue_u64(&local_queue, &cgen_var_839, 1);
- stream->write((uint64_t*)&cgen_var_839, 1 * 8);
- marshal_VkPresentInfoKHR(stream, (VkPresentInfoKHR*)(local_pPresentInfo));
- VkResult vkQueuePresentKHR_VkResult_return = (VkResult)0;
- stream->read(&vkQueuePresentKHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkQueuePresentKHR");;
- return vkQueuePresentKHR_VkResult_return;
-}
-
-VkResult VkEncoder::vkGetDeviceGroupPresentCapabilitiesKHR(
- VkDevice device,
- VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetDeviceGroupPresentCapabilitiesKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- local_device = device;
- countingStream->rewind();
- {
- uint64_t cgen_var_840;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_840, 1);
- countingStream->write((uint64_t*)&cgen_var_840, 1 * 8);
- marshal_VkDeviceGroupPresentCapabilitiesKHR(countingStream, (VkDeviceGroupPresentCapabilitiesKHR*)(pDeviceGroupPresentCapabilities));
- }
- uint32_t packetSize_vkGetDeviceGroupPresentCapabilitiesKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetDeviceGroupPresentCapabilitiesKHR = OP_vkGetDeviceGroupPresentCapabilitiesKHR;
- stream->write(&opcode_vkGetDeviceGroupPresentCapabilitiesKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetDeviceGroupPresentCapabilitiesKHR, sizeof(uint32_t));
- uint64_t cgen_var_841;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_841, 1);
- stream->write((uint64_t*)&cgen_var_841, 1 * 8);
- marshal_VkDeviceGroupPresentCapabilitiesKHR(stream, (VkDeviceGroupPresentCapabilitiesKHR*)(pDeviceGroupPresentCapabilities));
- unmarshal_VkDeviceGroupPresentCapabilitiesKHR(stream, (VkDeviceGroupPresentCapabilitiesKHR*)(pDeviceGroupPresentCapabilities));
- if (pDeviceGroupPresentCapabilities)
- {
- transform_fromhost_VkDeviceGroupPresentCapabilitiesKHR(mImpl->resources(), (VkDeviceGroupPresentCapabilitiesKHR*)(pDeviceGroupPresentCapabilities));
- }
- VkResult vkGetDeviceGroupPresentCapabilitiesKHR_VkResult_return = (VkResult)0;
- stream->read(&vkGetDeviceGroupPresentCapabilitiesKHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetDeviceGroupPresentCapabilitiesKHR");;
- return vkGetDeviceGroupPresentCapabilitiesKHR_VkResult_return;
-}
-
-VkResult VkEncoder::vkGetDeviceGroupSurfacePresentModesKHR(
- VkDevice device,
- VkSurfaceKHR surface,
- VkDeviceGroupPresentModeFlagsKHR* pModes)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetDeviceGroupSurfacePresentModesKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkSurfaceKHR local_surface;
- local_device = device;
- local_surface = surface;
- countingStream->rewind();
- {
- uint64_t cgen_var_842;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_842, 1);
- countingStream->write((uint64_t*)&cgen_var_842, 1 * 8);
- uint64_t cgen_var_843;
- countingStream->handleMapping()->mapHandles_VkSurfaceKHR_u64(&local_surface, &cgen_var_843, 1);
- countingStream->write((uint64_t*)&cgen_var_843, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_844 = (uint64_t)(uintptr_t)pModes;
- countingStream->putBe64(cgen_var_844);
- if (pModes)
- {
- countingStream->write((VkDeviceGroupPresentModeFlagsKHR*)pModes, sizeof(VkDeviceGroupPresentModeFlagsKHR));
- }
- }
- uint32_t packetSize_vkGetDeviceGroupSurfacePresentModesKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetDeviceGroupSurfacePresentModesKHR = OP_vkGetDeviceGroupSurfacePresentModesKHR;
- stream->write(&opcode_vkGetDeviceGroupSurfacePresentModesKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetDeviceGroupSurfacePresentModesKHR, sizeof(uint32_t));
- uint64_t cgen_var_845;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_845, 1);
- stream->write((uint64_t*)&cgen_var_845, 1 * 8);
- uint64_t cgen_var_846;
- stream->handleMapping()->mapHandles_VkSurfaceKHR_u64(&local_surface, &cgen_var_846, 1);
- stream->write((uint64_t*)&cgen_var_846, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_847 = (uint64_t)(uintptr_t)pModes;
- stream->putBe64(cgen_var_847);
- if (pModes)
- {
- stream->write((VkDeviceGroupPresentModeFlagsKHR*)pModes, sizeof(VkDeviceGroupPresentModeFlagsKHR));
- }
- // WARNING PTR CHECK
- VkDeviceGroupPresentModeFlagsKHR* check_pModes;
- check_pModes = (VkDeviceGroupPresentModeFlagsKHR*)(uintptr_t)stream->getBe64();
- if (pModes)
- {
- if (!(check_pModes))
- {
- fprintf(stderr, "fatal: pModes inconsistent between guest and host\n");
- }
- stream->read((VkDeviceGroupPresentModeFlagsKHR*)pModes, sizeof(VkDeviceGroupPresentModeFlagsKHR));
- }
- VkResult vkGetDeviceGroupSurfacePresentModesKHR_VkResult_return = (VkResult)0;
- stream->read(&vkGetDeviceGroupSurfacePresentModesKHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetDeviceGroupSurfacePresentModesKHR");;
- return vkGetDeviceGroupSurfacePresentModesKHR_VkResult_return;
-}
-
-VkResult VkEncoder::vkGetPhysicalDevicePresentRectanglesKHR(
- VkPhysicalDevice physicalDevice,
- VkSurfaceKHR surface,
- uint32_t* pRectCount,
- VkRect2D* pRects)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDevicePresentRectanglesKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- VkSurfaceKHR local_surface;
- local_physicalDevice = physicalDevice;
- local_surface = surface;
- countingStream->rewind();
- {
- uint64_t cgen_var_849;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_849, 1);
- countingStream->write((uint64_t*)&cgen_var_849, 1 * 8);
- uint64_t cgen_var_850;
- countingStream->handleMapping()->mapHandles_VkSurfaceKHR_u64(&local_surface, &cgen_var_850, 1);
- countingStream->write((uint64_t*)&cgen_var_850, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_851 = (uint64_t)(uintptr_t)pRectCount;
- countingStream->putBe64(cgen_var_851);
- if (pRectCount)
- {
- countingStream->write((uint32_t*)pRectCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_852 = (uint64_t)(uintptr_t)pRects;
- countingStream->putBe64(cgen_var_852);
- if (pRects)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pRectCount)); ++i)
- {
- marshal_VkRect2D(countingStream, (VkRect2D*)(pRects + i));
- }
- }
- }
- uint32_t packetSize_vkGetPhysicalDevicePresentRectanglesKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDevicePresentRectanglesKHR = OP_vkGetPhysicalDevicePresentRectanglesKHR;
- stream->write(&opcode_vkGetPhysicalDevicePresentRectanglesKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDevicePresentRectanglesKHR, sizeof(uint32_t));
- uint64_t cgen_var_853;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_853, 1);
- stream->write((uint64_t*)&cgen_var_853, 1 * 8);
- uint64_t cgen_var_854;
- stream->handleMapping()->mapHandles_VkSurfaceKHR_u64(&local_surface, &cgen_var_854, 1);
- stream->write((uint64_t*)&cgen_var_854, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_855 = (uint64_t)(uintptr_t)pRectCount;
- stream->putBe64(cgen_var_855);
- if (pRectCount)
- {
- stream->write((uint32_t*)pRectCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_856 = (uint64_t)(uintptr_t)pRects;
- stream->putBe64(cgen_var_856);
- if (pRects)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pRectCount)); ++i)
- {
- marshal_VkRect2D(stream, (VkRect2D*)(pRects + i));
- }
- }
- // WARNING PTR CHECK
- uint32_t* check_pRectCount;
- check_pRectCount = (uint32_t*)(uintptr_t)stream->getBe64();
- if (pRectCount)
- {
- if (!(check_pRectCount))
- {
- fprintf(stderr, "fatal: pRectCount inconsistent between guest and host\n");
- }
- stream->read((uint32_t*)pRectCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- VkRect2D* check_pRects;
- check_pRects = (VkRect2D*)(uintptr_t)stream->getBe64();
- if (pRects)
- {
- if (!(check_pRects))
- {
- fprintf(stderr, "fatal: pRects inconsistent between guest and host\n");
- }
- for (uint32_t i = 0; i < (uint32_t)(*(pRectCount)); ++i)
- {
- unmarshal_VkRect2D(stream, (VkRect2D*)(pRects + i));
- }
- }
- if (pRects)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pRectCount)); ++i)
- {
- transform_fromhost_VkRect2D(mImpl->resources(), (VkRect2D*)(pRects + i));
- }
- }
- VkResult vkGetPhysicalDevicePresentRectanglesKHR_VkResult_return = (VkResult)0;
- stream->read(&vkGetPhysicalDevicePresentRectanglesKHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDevicePresentRectanglesKHR");;
- return vkGetPhysicalDevicePresentRectanglesKHR_VkResult_return;
-}
-
-VkResult VkEncoder::vkAcquireNextImage2KHR(
- VkDevice device,
- const VkAcquireNextImageInfoKHR* pAcquireInfo,
- uint32_t* pImageIndex)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkAcquireNextImage2KHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkAcquireNextImageInfoKHR* local_pAcquireInfo;
- local_device = device;
- local_pAcquireInfo = nullptr;
- if (pAcquireInfo)
- {
- local_pAcquireInfo = (VkAcquireNextImageInfoKHR*)pool->alloc(sizeof(const VkAcquireNextImageInfoKHR));
- deepcopy_VkAcquireNextImageInfoKHR(pool, pAcquireInfo, (VkAcquireNextImageInfoKHR*)(local_pAcquireInfo));
- }
- if (local_pAcquireInfo)
- {
- transform_tohost_VkAcquireNextImageInfoKHR(mImpl->resources(), (VkAcquireNextImageInfoKHR*)(local_pAcquireInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_859;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_859, 1);
- countingStream->write((uint64_t*)&cgen_var_859, 1 * 8);
- marshal_VkAcquireNextImageInfoKHR(countingStream, (VkAcquireNextImageInfoKHR*)(local_pAcquireInfo));
- countingStream->write((uint32_t*)pImageIndex, sizeof(uint32_t));
- }
- uint32_t packetSize_vkAcquireNextImage2KHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkAcquireNextImage2KHR = OP_vkAcquireNextImage2KHR;
- stream->write(&opcode_vkAcquireNextImage2KHR, sizeof(uint32_t));
- stream->write(&packetSize_vkAcquireNextImage2KHR, sizeof(uint32_t));
- uint64_t cgen_var_860;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_860, 1);
- stream->write((uint64_t*)&cgen_var_860, 1 * 8);
- marshal_VkAcquireNextImageInfoKHR(stream, (VkAcquireNextImageInfoKHR*)(local_pAcquireInfo));
- stream->write((uint32_t*)pImageIndex, sizeof(uint32_t));
- stream->read((uint32_t*)pImageIndex, sizeof(uint32_t));
- VkResult vkAcquireNextImage2KHR_VkResult_return = (VkResult)0;
- stream->read(&vkAcquireNextImage2KHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkAcquireNextImage2KHR");;
- return vkAcquireNextImage2KHR_VkResult_return;
-}
-
-#endif
-#ifdef VK_KHR_display
-VkResult VkEncoder::vkGetPhysicalDeviceDisplayPropertiesKHR(
- VkPhysicalDevice physicalDevice,
- uint32_t* pPropertyCount,
- VkDisplayPropertiesKHR* pProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceDisplayPropertiesKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- local_physicalDevice = physicalDevice;
- countingStream->rewind();
- {
- uint64_t cgen_var_861;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_861, 1);
- countingStream->write((uint64_t*)&cgen_var_861, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_862 = (uint64_t)(uintptr_t)pPropertyCount;
- countingStream->putBe64(cgen_var_862);
- if (pPropertyCount)
- {
- countingStream->write((uint32_t*)pPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_863 = (uint64_t)(uintptr_t)pProperties;
- countingStream->putBe64(cgen_var_863);
- if (pProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- marshal_VkDisplayPropertiesKHR(countingStream, (VkDisplayPropertiesKHR*)(pProperties + i));
- }
- }
- }
- uint32_t packetSize_vkGetPhysicalDeviceDisplayPropertiesKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceDisplayPropertiesKHR = OP_vkGetPhysicalDeviceDisplayPropertiesKHR;
- stream->write(&opcode_vkGetPhysicalDeviceDisplayPropertiesKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceDisplayPropertiesKHR, sizeof(uint32_t));
- uint64_t cgen_var_864;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_864, 1);
- stream->write((uint64_t*)&cgen_var_864, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_865 = (uint64_t)(uintptr_t)pPropertyCount;
- stream->putBe64(cgen_var_865);
- if (pPropertyCount)
- {
- stream->write((uint32_t*)pPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_866 = (uint64_t)(uintptr_t)pProperties;
- stream->putBe64(cgen_var_866);
- if (pProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- marshal_VkDisplayPropertiesKHR(stream, (VkDisplayPropertiesKHR*)(pProperties + i));
- }
- }
- // WARNING PTR CHECK
- uint32_t* check_pPropertyCount;
- check_pPropertyCount = (uint32_t*)(uintptr_t)stream->getBe64();
- if (pPropertyCount)
- {
- if (!(check_pPropertyCount))
- {
- fprintf(stderr, "fatal: pPropertyCount inconsistent between guest and host\n");
- }
- stream->read((uint32_t*)pPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- VkDisplayPropertiesKHR* check_pProperties;
- check_pProperties = (VkDisplayPropertiesKHR*)(uintptr_t)stream->getBe64();
- if (pProperties)
- {
- if (!(check_pProperties))
- {
- fprintf(stderr, "fatal: pProperties inconsistent between guest and host\n");
- }
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- unmarshal_VkDisplayPropertiesKHR(stream, (VkDisplayPropertiesKHR*)(pProperties + i));
- }
- }
- if (pProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- transform_fromhost_VkDisplayPropertiesKHR(mImpl->resources(), (VkDisplayPropertiesKHR*)(pProperties + i));
- }
- }
- VkResult vkGetPhysicalDeviceDisplayPropertiesKHR_VkResult_return = (VkResult)0;
- stream->read(&vkGetPhysicalDeviceDisplayPropertiesKHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceDisplayPropertiesKHR");;
- return vkGetPhysicalDeviceDisplayPropertiesKHR_VkResult_return;
-}
-
-VkResult VkEncoder::vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
- VkPhysicalDevice physicalDevice,
- uint32_t* pPropertyCount,
- VkDisplayPlanePropertiesKHR* pProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceDisplayPlanePropertiesKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- local_physicalDevice = physicalDevice;
- countingStream->rewind();
- {
- uint64_t cgen_var_869;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_869, 1);
- countingStream->write((uint64_t*)&cgen_var_869, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_870 = (uint64_t)(uintptr_t)pPropertyCount;
- countingStream->putBe64(cgen_var_870);
- if (pPropertyCount)
- {
- countingStream->write((uint32_t*)pPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_871 = (uint64_t)(uintptr_t)pProperties;
- countingStream->putBe64(cgen_var_871);
- if (pProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- marshal_VkDisplayPlanePropertiesKHR(countingStream, (VkDisplayPlanePropertiesKHR*)(pProperties + i));
- }
- }
- }
- uint32_t packetSize_vkGetPhysicalDeviceDisplayPlanePropertiesKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceDisplayPlanePropertiesKHR = OP_vkGetPhysicalDeviceDisplayPlanePropertiesKHR;
- stream->write(&opcode_vkGetPhysicalDeviceDisplayPlanePropertiesKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceDisplayPlanePropertiesKHR, sizeof(uint32_t));
- uint64_t cgen_var_872;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_872, 1);
- stream->write((uint64_t*)&cgen_var_872, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_873 = (uint64_t)(uintptr_t)pPropertyCount;
- stream->putBe64(cgen_var_873);
- if (pPropertyCount)
- {
- stream->write((uint32_t*)pPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_874 = (uint64_t)(uintptr_t)pProperties;
- stream->putBe64(cgen_var_874);
- if (pProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- marshal_VkDisplayPlanePropertiesKHR(stream, (VkDisplayPlanePropertiesKHR*)(pProperties + i));
- }
- }
- // WARNING PTR CHECK
- uint32_t* check_pPropertyCount;
- check_pPropertyCount = (uint32_t*)(uintptr_t)stream->getBe64();
- if (pPropertyCount)
- {
- if (!(check_pPropertyCount))
- {
- fprintf(stderr, "fatal: pPropertyCount inconsistent between guest and host\n");
- }
- stream->read((uint32_t*)pPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- VkDisplayPlanePropertiesKHR* check_pProperties;
- check_pProperties = (VkDisplayPlanePropertiesKHR*)(uintptr_t)stream->getBe64();
- if (pProperties)
- {
- if (!(check_pProperties))
- {
- fprintf(stderr, "fatal: pProperties inconsistent between guest and host\n");
- }
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- unmarshal_VkDisplayPlanePropertiesKHR(stream, (VkDisplayPlanePropertiesKHR*)(pProperties + i));
- }
- }
- if (pProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- transform_fromhost_VkDisplayPlanePropertiesKHR(mImpl->resources(), (VkDisplayPlanePropertiesKHR*)(pProperties + i));
- }
- }
- VkResult vkGetPhysicalDeviceDisplayPlanePropertiesKHR_VkResult_return = (VkResult)0;
- stream->read(&vkGetPhysicalDeviceDisplayPlanePropertiesKHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceDisplayPlanePropertiesKHR");;
- return vkGetPhysicalDeviceDisplayPlanePropertiesKHR_VkResult_return;
-}
-
-VkResult VkEncoder::vkGetDisplayPlaneSupportedDisplaysKHR(
- VkPhysicalDevice physicalDevice,
- uint32_t planeIndex,
- uint32_t* pDisplayCount,
- VkDisplayKHR* pDisplays)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetDisplayPlaneSupportedDisplaysKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- uint32_t local_planeIndex;
- local_physicalDevice = physicalDevice;
- local_planeIndex = planeIndex;
- countingStream->rewind();
- {
- uint64_t cgen_var_877;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_877, 1);
- countingStream->write((uint64_t*)&cgen_var_877, 1 * 8);
- countingStream->write((uint32_t*)&local_planeIndex, sizeof(uint32_t));
- // WARNING PTR CHECK
- uint64_t cgen_var_878 = (uint64_t)(uintptr_t)pDisplayCount;
- countingStream->putBe64(cgen_var_878);
- if (pDisplayCount)
- {
- countingStream->write((uint32_t*)pDisplayCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_879 = (uint64_t)(uintptr_t)pDisplays;
- countingStream->putBe64(cgen_var_879);
- if (pDisplays)
- {
- if ((*(pDisplayCount)))
- {
- uint64_t* cgen_var_880;
- countingStream->alloc((void**)&cgen_var_880, (*(pDisplayCount)) * 8);
- countingStream->handleMapping()->mapHandles_VkDisplayKHR_u64(pDisplays, cgen_var_880, (*(pDisplayCount)));
- countingStream->write((uint64_t*)cgen_var_880, (*(pDisplayCount)) * 8);
- }
- }
- }
- uint32_t packetSize_vkGetDisplayPlaneSupportedDisplaysKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetDisplayPlaneSupportedDisplaysKHR = OP_vkGetDisplayPlaneSupportedDisplaysKHR;
- stream->write(&opcode_vkGetDisplayPlaneSupportedDisplaysKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetDisplayPlaneSupportedDisplaysKHR, sizeof(uint32_t));
- uint64_t cgen_var_881;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_881, 1);
- stream->write((uint64_t*)&cgen_var_881, 1 * 8);
- stream->write((uint32_t*)&local_planeIndex, sizeof(uint32_t));
- // WARNING PTR CHECK
- uint64_t cgen_var_882 = (uint64_t)(uintptr_t)pDisplayCount;
- stream->putBe64(cgen_var_882);
- if (pDisplayCount)
- {
- stream->write((uint32_t*)pDisplayCount, sizeof(uint32_t));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- // WARNING PTR CHECK
- uint64_t cgen_var_883 = (uint64_t)(uintptr_t)pDisplays;
- stream->putBe64(cgen_var_883);
- if (pDisplays)
- {
- if ((*(pDisplayCount)))
- {
- uint64_t* cgen_var_884;
- stream->alloc((void**)&cgen_var_884, (*(pDisplayCount)) * 8);
- stream->handleMapping()->mapHandles_VkDisplayKHR_u64(pDisplays, cgen_var_884, (*(pDisplayCount)));
- stream->write((uint64_t*)cgen_var_884, (*(pDisplayCount)) * 8);
- }
- }
- stream->setHandleMapping(resources->unwrapMapping());
- // WARNING PTR CHECK
- uint32_t* check_pDisplayCount;
- check_pDisplayCount = (uint32_t*)(uintptr_t)stream->getBe64();
- if (pDisplayCount)
- {
- if (!(check_pDisplayCount))
- {
- fprintf(stderr, "fatal: pDisplayCount inconsistent between guest and host\n");
- }
- stream->read((uint32_t*)pDisplayCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- VkDisplayKHR* check_pDisplays;
- check_pDisplays = (VkDisplayKHR*)(uintptr_t)stream->getBe64();
- if (pDisplays)
- {
- if (!(check_pDisplays))
- {
- fprintf(stderr, "fatal: pDisplays inconsistent between guest and host\n");
- }
- if ((*(pDisplayCount)))
- {
- uint64_t* cgen_var_887;
- stream->alloc((void**)&cgen_var_887, (*(pDisplayCount)) * 8);
- stream->read((uint64_t*)cgen_var_887, (*(pDisplayCount)) * 8);
- stream->handleMapping()->mapHandles_u64_VkDisplayKHR(cgen_var_887, (VkDisplayKHR*)pDisplays, (*(pDisplayCount)));
- }
- }
- VkResult vkGetDisplayPlaneSupportedDisplaysKHR_VkResult_return = (VkResult)0;
- stream->read(&vkGetDisplayPlaneSupportedDisplaysKHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetDisplayPlaneSupportedDisplaysKHR");;
- return vkGetDisplayPlaneSupportedDisplaysKHR_VkResult_return;
-}
-
-VkResult VkEncoder::vkGetDisplayModePropertiesKHR(
- VkPhysicalDevice physicalDevice,
- VkDisplayKHR display,
- uint32_t* pPropertyCount,
- VkDisplayModePropertiesKHR* pProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetDisplayModePropertiesKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- VkDisplayKHR local_display;
- local_physicalDevice = physicalDevice;
- local_display = display;
- countingStream->rewind();
- {
- uint64_t cgen_var_888;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_888, 1);
- countingStream->write((uint64_t*)&cgen_var_888, 1 * 8);
- uint64_t cgen_var_889;
- countingStream->handleMapping()->mapHandles_VkDisplayKHR_u64(&local_display, &cgen_var_889, 1);
- countingStream->write((uint64_t*)&cgen_var_889, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_890 = (uint64_t)(uintptr_t)pPropertyCount;
- countingStream->putBe64(cgen_var_890);
- if (pPropertyCount)
- {
- countingStream->write((uint32_t*)pPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_891 = (uint64_t)(uintptr_t)pProperties;
- countingStream->putBe64(cgen_var_891);
- if (pProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- marshal_VkDisplayModePropertiesKHR(countingStream, (VkDisplayModePropertiesKHR*)(pProperties + i));
- }
- }
- }
- uint32_t packetSize_vkGetDisplayModePropertiesKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetDisplayModePropertiesKHR = OP_vkGetDisplayModePropertiesKHR;
- stream->write(&opcode_vkGetDisplayModePropertiesKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetDisplayModePropertiesKHR, sizeof(uint32_t));
- uint64_t cgen_var_892;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_892, 1);
- stream->write((uint64_t*)&cgen_var_892, 1 * 8);
- uint64_t cgen_var_893;
- stream->handleMapping()->mapHandles_VkDisplayKHR_u64(&local_display, &cgen_var_893, 1);
- stream->write((uint64_t*)&cgen_var_893, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_894 = (uint64_t)(uintptr_t)pPropertyCount;
- stream->putBe64(cgen_var_894);
- if (pPropertyCount)
- {
- stream->write((uint32_t*)pPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_895 = (uint64_t)(uintptr_t)pProperties;
- stream->putBe64(cgen_var_895);
- if (pProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- marshal_VkDisplayModePropertiesKHR(stream, (VkDisplayModePropertiesKHR*)(pProperties + i));
- }
- }
- // WARNING PTR CHECK
- uint32_t* check_pPropertyCount;
- check_pPropertyCount = (uint32_t*)(uintptr_t)stream->getBe64();
- if (pPropertyCount)
- {
- if (!(check_pPropertyCount))
- {
- fprintf(stderr, "fatal: pPropertyCount inconsistent between guest and host\n");
- }
- stream->read((uint32_t*)pPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- VkDisplayModePropertiesKHR* check_pProperties;
- check_pProperties = (VkDisplayModePropertiesKHR*)(uintptr_t)stream->getBe64();
- if (pProperties)
- {
- if (!(check_pProperties))
- {
- fprintf(stderr, "fatal: pProperties inconsistent between guest and host\n");
- }
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- unmarshal_VkDisplayModePropertiesKHR(stream, (VkDisplayModePropertiesKHR*)(pProperties + i));
- }
- }
- if (pProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- transform_fromhost_VkDisplayModePropertiesKHR(mImpl->resources(), (VkDisplayModePropertiesKHR*)(pProperties + i));
- }
- }
- VkResult vkGetDisplayModePropertiesKHR_VkResult_return = (VkResult)0;
- stream->read(&vkGetDisplayModePropertiesKHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetDisplayModePropertiesKHR");;
- return vkGetDisplayModePropertiesKHR_VkResult_return;
-}
-
-VkResult VkEncoder::vkCreateDisplayModeKHR(
- VkPhysicalDevice physicalDevice,
- VkDisplayKHR display,
- const VkDisplayModeCreateInfoKHR* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkDisplayModeKHR* pMode)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateDisplayModeKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- VkDisplayKHR local_display;
- VkDisplayModeCreateInfoKHR* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_physicalDevice = physicalDevice;
- local_display = display;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkDisplayModeCreateInfoKHR*)pool->alloc(sizeof(const VkDisplayModeCreateInfoKHR));
- deepcopy_VkDisplayModeCreateInfoKHR(pool, pCreateInfo, (VkDisplayModeCreateInfoKHR*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkDisplayModeCreateInfoKHR(mImpl->resources(), (VkDisplayModeCreateInfoKHR*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_898;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_898, 1);
- countingStream->write((uint64_t*)&cgen_var_898, 1 * 8);
- uint64_t cgen_var_899;
- countingStream->handleMapping()->mapHandles_VkDisplayKHR_u64(&local_display, &cgen_var_899, 1);
- countingStream->write((uint64_t*)&cgen_var_899, 1 * 8);
- marshal_VkDisplayModeCreateInfoKHR(countingStream, (VkDisplayModeCreateInfoKHR*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_900 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_900);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_901;
- countingStream->handleMapping()->mapHandles_VkDisplayModeKHR_u64(pMode, &cgen_var_901, 1);
- countingStream->write((uint64_t*)&cgen_var_901, 8);
- }
- uint32_t packetSize_vkCreateDisplayModeKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateDisplayModeKHR = OP_vkCreateDisplayModeKHR;
- stream->write(&opcode_vkCreateDisplayModeKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateDisplayModeKHR, sizeof(uint32_t));
- uint64_t cgen_var_902;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_902, 1);
- stream->write((uint64_t*)&cgen_var_902, 1 * 8);
- uint64_t cgen_var_903;
- stream->handleMapping()->mapHandles_VkDisplayKHR_u64(&local_display, &cgen_var_903, 1);
- stream->write((uint64_t*)&cgen_var_903, 1 * 8);
- marshal_VkDisplayModeCreateInfoKHR(stream, (VkDisplayModeCreateInfoKHR*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_904 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_904);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_905;
- stream->handleMapping()->mapHandles_VkDisplayModeKHR_u64(pMode, &cgen_var_905, 1);
- stream->write((uint64_t*)&cgen_var_905, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- stream->setHandleMapping(resources->createMapping());
- uint64_t cgen_var_906;
- stream->read((uint64_t*)&cgen_var_906, 8);
- stream->handleMapping()->mapHandles_u64_VkDisplayModeKHR(&cgen_var_906, (VkDisplayModeKHR*)pMode, 1);
- stream->unsetHandleMapping();
- VkResult vkCreateDisplayModeKHR_VkResult_return = (VkResult)0;
- stream->read(&vkCreateDisplayModeKHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateDisplayModeKHR");;
- return vkCreateDisplayModeKHR_VkResult_return;
-}
-
-VkResult VkEncoder::vkGetDisplayPlaneCapabilitiesKHR(
- VkPhysicalDevice physicalDevice,
- VkDisplayModeKHR mode,
- uint32_t planeIndex,
- VkDisplayPlaneCapabilitiesKHR* pCapabilities)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetDisplayPlaneCapabilitiesKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- VkDisplayModeKHR local_mode;
- uint32_t local_planeIndex;
- local_physicalDevice = physicalDevice;
- local_mode = mode;
- local_planeIndex = planeIndex;
- countingStream->rewind();
- {
- uint64_t cgen_var_907;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_907, 1);
- countingStream->write((uint64_t*)&cgen_var_907, 1 * 8);
- uint64_t cgen_var_908;
- countingStream->handleMapping()->mapHandles_VkDisplayModeKHR_u64(&local_mode, &cgen_var_908, 1);
- countingStream->write((uint64_t*)&cgen_var_908, 1 * 8);
- countingStream->write((uint32_t*)&local_planeIndex, sizeof(uint32_t));
- marshal_VkDisplayPlaneCapabilitiesKHR(countingStream, (VkDisplayPlaneCapabilitiesKHR*)(pCapabilities));
- }
- uint32_t packetSize_vkGetDisplayPlaneCapabilitiesKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetDisplayPlaneCapabilitiesKHR = OP_vkGetDisplayPlaneCapabilitiesKHR;
- stream->write(&opcode_vkGetDisplayPlaneCapabilitiesKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetDisplayPlaneCapabilitiesKHR, sizeof(uint32_t));
- uint64_t cgen_var_909;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_909, 1);
- stream->write((uint64_t*)&cgen_var_909, 1 * 8);
- uint64_t cgen_var_910;
- stream->handleMapping()->mapHandles_VkDisplayModeKHR_u64(&local_mode, &cgen_var_910, 1);
- stream->write((uint64_t*)&cgen_var_910, 1 * 8);
- stream->write((uint32_t*)&local_planeIndex, sizeof(uint32_t));
- marshal_VkDisplayPlaneCapabilitiesKHR(stream, (VkDisplayPlaneCapabilitiesKHR*)(pCapabilities));
- unmarshal_VkDisplayPlaneCapabilitiesKHR(stream, (VkDisplayPlaneCapabilitiesKHR*)(pCapabilities));
- if (pCapabilities)
- {
- transform_fromhost_VkDisplayPlaneCapabilitiesKHR(mImpl->resources(), (VkDisplayPlaneCapabilitiesKHR*)(pCapabilities));
- }
- VkResult vkGetDisplayPlaneCapabilitiesKHR_VkResult_return = (VkResult)0;
- stream->read(&vkGetDisplayPlaneCapabilitiesKHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetDisplayPlaneCapabilitiesKHR");;
- return vkGetDisplayPlaneCapabilitiesKHR_VkResult_return;
-}
-
-VkResult VkEncoder::vkCreateDisplayPlaneSurfaceKHR(
- VkInstance instance,
- const VkDisplaySurfaceCreateInfoKHR* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSurfaceKHR* pSurface)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateDisplayPlaneSurfaceKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkInstance local_instance;
- VkDisplaySurfaceCreateInfoKHR* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_instance = instance;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkDisplaySurfaceCreateInfoKHR*)pool->alloc(sizeof(const VkDisplaySurfaceCreateInfoKHR));
- deepcopy_VkDisplaySurfaceCreateInfoKHR(pool, pCreateInfo, (VkDisplaySurfaceCreateInfoKHR*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkDisplaySurfaceCreateInfoKHR(mImpl->resources(), (VkDisplaySurfaceCreateInfoKHR*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_911;
- countingStream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_911, 1);
- countingStream->write((uint64_t*)&cgen_var_911, 1 * 8);
- marshal_VkDisplaySurfaceCreateInfoKHR(countingStream, (VkDisplaySurfaceCreateInfoKHR*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_912 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_912);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_913;
- countingStream->handleMapping()->mapHandles_VkSurfaceKHR_u64(pSurface, &cgen_var_913, 1);
- countingStream->write((uint64_t*)&cgen_var_913, 8);
- }
- uint32_t packetSize_vkCreateDisplayPlaneSurfaceKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateDisplayPlaneSurfaceKHR = OP_vkCreateDisplayPlaneSurfaceKHR;
- stream->write(&opcode_vkCreateDisplayPlaneSurfaceKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateDisplayPlaneSurfaceKHR, sizeof(uint32_t));
- uint64_t cgen_var_914;
- stream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_914, 1);
- stream->write((uint64_t*)&cgen_var_914, 1 * 8);
- marshal_VkDisplaySurfaceCreateInfoKHR(stream, (VkDisplaySurfaceCreateInfoKHR*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_915 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_915);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_916;
- stream->handleMapping()->mapHandles_VkSurfaceKHR_u64(pSurface, &cgen_var_916, 1);
- stream->write((uint64_t*)&cgen_var_916, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- uint64_t cgen_var_917;
- stream->read((uint64_t*)&cgen_var_917, 8);
- stream->handleMapping()->mapHandles_u64_VkSurfaceKHR(&cgen_var_917, (VkSurfaceKHR*)pSurface, 1);
- VkResult vkCreateDisplayPlaneSurfaceKHR_VkResult_return = (VkResult)0;
- stream->read(&vkCreateDisplayPlaneSurfaceKHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateDisplayPlaneSurfaceKHR");;
- return vkCreateDisplayPlaneSurfaceKHR_VkResult_return;
-}
-
-#endif
-#ifdef VK_KHR_display_swapchain
-VkResult VkEncoder::vkCreateSharedSwapchainsKHR(
- VkDevice device,
- uint32_t swapchainCount,
- const VkSwapchainCreateInfoKHR* pCreateInfos,
- const VkAllocationCallbacks* pAllocator,
- VkSwapchainKHR* pSwapchains)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateSharedSwapchainsKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- uint32_t local_swapchainCount;
- VkSwapchainCreateInfoKHR* local_pCreateInfos;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_swapchainCount = swapchainCount;
- local_pCreateInfos = nullptr;
- if (pCreateInfos)
- {
- local_pCreateInfos = (VkSwapchainCreateInfoKHR*)pool->alloc(((swapchainCount)) * sizeof(const VkSwapchainCreateInfoKHR));
- for (uint32_t i = 0; i < (uint32_t)((swapchainCount)); ++i)
- {
- deepcopy_VkSwapchainCreateInfoKHR(pool, pCreateInfos + i, (VkSwapchainCreateInfoKHR*)(local_pCreateInfos + i));
- }
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfos)
- {
- for (uint32_t i = 0; i < (uint32_t)((swapchainCount)); ++i)
- {
- transform_tohost_VkSwapchainCreateInfoKHR(mImpl->resources(), (VkSwapchainCreateInfoKHR*)(local_pCreateInfos + i));
- }
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_918;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_918, 1);
- countingStream->write((uint64_t*)&cgen_var_918, 1 * 8);
- countingStream->write((uint32_t*)&local_swapchainCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((swapchainCount)); ++i)
- {
- marshal_VkSwapchainCreateInfoKHR(countingStream, (VkSwapchainCreateInfoKHR*)(local_pCreateInfos + i));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_919 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_919);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- if (((swapchainCount)))
- {
- uint64_t* cgen_var_920;
- countingStream->alloc((void**)&cgen_var_920, ((swapchainCount)) * 8);
- countingStream->handleMapping()->mapHandles_VkSwapchainKHR_u64(pSwapchains, cgen_var_920, ((swapchainCount)));
- countingStream->write((uint64_t*)cgen_var_920, ((swapchainCount)) * 8);
- }
- }
- uint32_t packetSize_vkCreateSharedSwapchainsKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateSharedSwapchainsKHR = OP_vkCreateSharedSwapchainsKHR;
- stream->write(&opcode_vkCreateSharedSwapchainsKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateSharedSwapchainsKHR, sizeof(uint32_t));
- uint64_t cgen_var_921;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_921, 1);
- stream->write((uint64_t*)&cgen_var_921, 1 * 8);
- stream->write((uint32_t*)&local_swapchainCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((swapchainCount)); ++i)
- {
- marshal_VkSwapchainCreateInfoKHR(stream, (VkSwapchainCreateInfoKHR*)(local_pCreateInfos + i));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_922 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_922);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- if (((swapchainCount)))
- {
- uint64_t* cgen_var_923;
- stream->alloc((void**)&cgen_var_923, ((swapchainCount)) * 8);
- stream->handleMapping()->mapHandles_VkSwapchainKHR_u64(pSwapchains, cgen_var_923, ((swapchainCount)));
- stream->write((uint64_t*)cgen_var_923, ((swapchainCount)) * 8);
- }
- stream->setHandleMapping(resources->unwrapMapping());
- if (((swapchainCount)))
- {
- uint64_t* cgen_var_924;
- stream->alloc((void**)&cgen_var_924, ((swapchainCount)) * 8);
- stream->read((uint64_t*)cgen_var_924, ((swapchainCount)) * 8);
- stream->handleMapping()->mapHandles_u64_VkSwapchainKHR(cgen_var_924, (VkSwapchainKHR*)pSwapchains, ((swapchainCount)));
- }
- VkResult vkCreateSharedSwapchainsKHR_VkResult_return = (VkResult)0;
- stream->read(&vkCreateSharedSwapchainsKHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateSharedSwapchainsKHR");;
- return vkCreateSharedSwapchainsKHR_VkResult_return;
-}
-
-#endif
-#ifdef VK_KHR_xlib_surface
-VkResult VkEncoder::vkCreateXlibSurfaceKHR(
- VkInstance instance,
- const VkXlibSurfaceCreateInfoKHR* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSurfaceKHR* pSurface)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateXlibSurfaceKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkInstance local_instance;
- VkXlibSurfaceCreateInfoKHR* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_instance = instance;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkXlibSurfaceCreateInfoKHR*)pool->alloc(sizeof(const VkXlibSurfaceCreateInfoKHR));
- deepcopy_VkXlibSurfaceCreateInfoKHR(pool, pCreateInfo, (VkXlibSurfaceCreateInfoKHR*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkXlibSurfaceCreateInfoKHR(mImpl->resources(), (VkXlibSurfaceCreateInfoKHR*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_925;
- countingStream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_925, 1);
- countingStream->write((uint64_t*)&cgen_var_925, 1 * 8);
- marshal_VkXlibSurfaceCreateInfoKHR(countingStream, (VkXlibSurfaceCreateInfoKHR*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_926 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_926);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_927;
- countingStream->handleMapping()->mapHandles_VkSurfaceKHR_u64(pSurface, &cgen_var_927, 1);
- countingStream->write((uint64_t*)&cgen_var_927, 8);
- }
- uint32_t packetSize_vkCreateXlibSurfaceKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateXlibSurfaceKHR = OP_vkCreateXlibSurfaceKHR;
- stream->write(&opcode_vkCreateXlibSurfaceKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateXlibSurfaceKHR, sizeof(uint32_t));
- uint64_t cgen_var_928;
- stream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_928, 1);
- stream->write((uint64_t*)&cgen_var_928, 1 * 8);
- marshal_VkXlibSurfaceCreateInfoKHR(stream, (VkXlibSurfaceCreateInfoKHR*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_929 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_929);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_930;
- stream->handleMapping()->mapHandles_VkSurfaceKHR_u64(pSurface, &cgen_var_930, 1);
- stream->write((uint64_t*)&cgen_var_930, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- uint64_t cgen_var_931;
- stream->read((uint64_t*)&cgen_var_931, 8);
- stream->handleMapping()->mapHandles_u64_VkSurfaceKHR(&cgen_var_931, (VkSurfaceKHR*)pSurface, 1);
- VkResult vkCreateXlibSurfaceKHR_VkResult_return = (VkResult)0;
- stream->read(&vkCreateXlibSurfaceKHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateXlibSurfaceKHR");;
- return vkCreateXlibSurfaceKHR_VkResult_return;
-}
-
-VkBool32 VkEncoder::vkGetPhysicalDeviceXlibPresentationSupportKHR(
- VkPhysicalDevice physicalDevice,
- uint32_t queueFamilyIndex,
- Display* dpy,
- VisualID visualID)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceXlibPresentationSupportKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- uint32_t local_queueFamilyIndex;
- VisualID local_visualID;
- local_physicalDevice = physicalDevice;
- local_queueFamilyIndex = queueFamilyIndex;
- local_visualID = visualID;
- countingStream->rewind();
- {
- uint64_t cgen_var_932;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_932, 1);
- countingStream->write((uint64_t*)&cgen_var_932, 1 * 8);
- countingStream->write((uint32_t*)&local_queueFamilyIndex, sizeof(uint32_t));
- countingStream->write((Display*)dpy, sizeof(Display));
- countingStream->write((VisualID*)&local_visualID, sizeof(VisualID));
- }
- uint32_t packetSize_vkGetPhysicalDeviceXlibPresentationSupportKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceXlibPresentationSupportKHR = OP_vkGetPhysicalDeviceXlibPresentationSupportKHR;
- stream->write(&opcode_vkGetPhysicalDeviceXlibPresentationSupportKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceXlibPresentationSupportKHR, sizeof(uint32_t));
- uint64_t cgen_var_933;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_933, 1);
- stream->write((uint64_t*)&cgen_var_933, 1 * 8);
- stream->write((uint32_t*)&local_queueFamilyIndex, sizeof(uint32_t));
- stream->write((Display*)dpy, sizeof(Display));
- stream->write((VisualID*)&local_visualID, sizeof(VisualID));
- stream->read((Display*)dpy, sizeof(Display));
- VkBool32 vkGetPhysicalDeviceXlibPresentationSupportKHR_VkBool32_return = (VkBool32)0;
- stream->read(&vkGetPhysicalDeviceXlibPresentationSupportKHR_VkBool32_return, sizeof(VkBool32));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceXlibPresentationSupportKHR");;
- return vkGetPhysicalDeviceXlibPresentationSupportKHR_VkBool32_return;
-}
-
-#endif
-#ifdef VK_KHR_xcb_surface
-VkResult VkEncoder::vkCreateXcbSurfaceKHR(
- VkInstance instance,
- const VkXcbSurfaceCreateInfoKHR* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSurfaceKHR* pSurface)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateXcbSurfaceKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkInstance local_instance;
- VkXcbSurfaceCreateInfoKHR* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_instance = instance;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkXcbSurfaceCreateInfoKHR*)pool->alloc(sizeof(const VkXcbSurfaceCreateInfoKHR));
- deepcopy_VkXcbSurfaceCreateInfoKHR(pool, pCreateInfo, (VkXcbSurfaceCreateInfoKHR*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkXcbSurfaceCreateInfoKHR(mImpl->resources(), (VkXcbSurfaceCreateInfoKHR*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_934;
- countingStream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_934, 1);
- countingStream->write((uint64_t*)&cgen_var_934, 1 * 8);
- marshal_VkXcbSurfaceCreateInfoKHR(countingStream, (VkXcbSurfaceCreateInfoKHR*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_935 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_935);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_936;
- countingStream->handleMapping()->mapHandles_VkSurfaceKHR_u64(pSurface, &cgen_var_936, 1);
- countingStream->write((uint64_t*)&cgen_var_936, 8);
- }
- uint32_t packetSize_vkCreateXcbSurfaceKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateXcbSurfaceKHR = OP_vkCreateXcbSurfaceKHR;
- stream->write(&opcode_vkCreateXcbSurfaceKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateXcbSurfaceKHR, sizeof(uint32_t));
- uint64_t cgen_var_937;
- stream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_937, 1);
- stream->write((uint64_t*)&cgen_var_937, 1 * 8);
- marshal_VkXcbSurfaceCreateInfoKHR(stream, (VkXcbSurfaceCreateInfoKHR*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_938 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_938);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_939;
- stream->handleMapping()->mapHandles_VkSurfaceKHR_u64(pSurface, &cgen_var_939, 1);
- stream->write((uint64_t*)&cgen_var_939, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- uint64_t cgen_var_940;
- stream->read((uint64_t*)&cgen_var_940, 8);
- stream->handleMapping()->mapHandles_u64_VkSurfaceKHR(&cgen_var_940, (VkSurfaceKHR*)pSurface, 1);
- VkResult vkCreateXcbSurfaceKHR_VkResult_return = (VkResult)0;
- stream->read(&vkCreateXcbSurfaceKHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateXcbSurfaceKHR");;
- return vkCreateXcbSurfaceKHR_VkResult_return;
-}
-
-VkBool32 VkEncoder::vkGetPhysicalDeviceXcbPresentationSupportKHR(
- VkPhysicalDevice physicalDevice,
- uint32_t queueFamilyIndex,
- xcb_connection_t* connection,
- xcb_visualid_t visual_id)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceXcbPresentationSupportKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- uint32_t local_queueFamilyIndex;
- xcb_visualid_t local_visual_id;
- local_physicalDevice = physicalDevice;
- local_queueFamilyIndex = queueFamilyIndex;
- local_visual_id = visual_id;
- countingStream->rewind();
- {
- uint64_t cgen_var_941;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_941, 1);
- countingStream->write((uint64_t*)&cgen_var_941, 1 * 8);
- countingStream->write((uint32_t*)&local_queueFamilyIndex, sizeof(uint32_t));
- countingStream->write((xcb_connection_t*)connection, sizeof(xcb_connection_t));
- countingStream->write((xcb_visualid_t*)&local_visual_id, sizeof(xcb_visualid_t));
- }
- uint32_t packetSize_vkGetPhysicalDeviceXcbPresentationSupportKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceXcbPresentationSupportKHR = OP_vkGetPhysicalDeviceXcbPresentationSupportKHR;
- stream->write(&opcode_vkGetPhysicalDeviceXcbPresentationSupportKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceXcbPresentationSupportKHR, sizeof(uint32_t));
- uint64_t cgen_var_942;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_942, 1);
- stream->write((uint64_t*)&cgen_var_942, 1 * 8);
- stream->write((uint32_t*)&local_queueFamilyIndex, sizeof(uint32_t));
- stream->write((xcb_connection_t*)connection, sizeof(xcb_connection_t));
- stream->write((xcb_visualid_t*)&local_visual_id, sizeof(xcb_visualid_t));
- stream->read((xcb_connection_t*)connection, sizeof(xcb_connection_t));
- VkBool32 vkGetPhysicalDeviceXcbPresentationSupportKHR_VkBool32_return = (VkBool32)0;
- stream->read(&vkGetPhysicalDeviceXcbPresentationSupportKHR_VkBool32_return, sizeof(VkBool32));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceXcbPresentationSupportKHR");;
- return vkGetPhysicalDeviceXcbPresentationSupportKHR_VkBool32_return;
-}
-
-#endif
-#ifdef VK_KHR_wayland_surface
-VkResult VkEncoder::vkCreateWaylandSurfaceKHR(
- VkInstance instance,
- const VkWaylandSurfaceCreateInfoKHR* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSurfaceKHR* pSurface)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateWaylandSurfaceKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkInstance local_instance;
- VkWaylandSurfaceCreateInfoKHR* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_instance = instance;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkWaylandSurfaceCreateInfoKHR*)pool->alloc(sizeof(const VkWaylandSurfaceCreateInfoKHR));
- deepcopy_VkWaylandSurfaceCreateInfoKHR(pool, pCreateInfo, (VkWaylandSurfaceCreateInfoKHR*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkWaylandSurfaceCreateInfoKHR(mImpl->resources(), (VkWaylandSurfaceCreateInfoKHR*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_943;
- countingStream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_943, 1);
- countingStream->write((uint64_t*)&cgen_var_943, 1 * 8);
- marshal_VkWaylandSurfaceCreateInfoKHR(countingStream, (VkWaylandSurfaceCreateInfoKHR*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_944 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_944);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_945;
- countingStream->handleMapping()->mapHandles_VkSurfaceKHR_u64(pSurface, &cgen_var_945, 1);
- countingStream->write((uint64_t*)&cgen_var_945, 8);
- }
- uint32_t packetSize_vkCreateWaylandSurfaceKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateWaylandSurfaceKHR = OP_vkCreateWaylandSurfaceKHR;
- stream->write(&opcode_vkCreateWaylandSurfaceKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateWaylandSurfaceKHR, sizeof(uint32_t));
- uint64_t cgen_var_946;
- stream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_946, 1);
- stream->write((uint64_t*)&cgen_var_946, 1 * 8);
- marshal_VkWaylandSurfaceCreateInfoKHR(stream, (VkWaylandSurfaceCreateInfoKHR*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_947 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_947);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_948;
- stream->handleMapping()->mapHandles_VkSurfaceKHR_u64(pSurface, &cgen_var_948, 1);
- stream->write((uint64_t*)&cgen_var_948, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- uint64_t cgen_var_949;
- stream->read((uint64_t*)&cgen_var_949, 8);
- stream->handleMapping()->mapHandles_u64_VkSurfaceKHR(&cgen_var_949, (VkSurfaceKHR*)pSurface, 1);
- VkResult vkCreateWaylandSurfaceKHR_VkResult_return = (VkResult)0;
- stream->read(&vkCreateWaylandSurfaceKHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateWaylandSurfaceKHR");;
- return vkCreateWaylandSurfaceKHR_VkResult_return;
-}
-
-VkBool32 VkEncoder::vkGetPhysicalDeviceWaylandPresentationSupportKHR(
- VkPhysicalDevice physicalDevice,
- uint32_t queueFamilyIndex,
- wl_display* display)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceWaylandPresentationSupportKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- uint32_t local_queueFamilyIndex;
- local_physicalDevice = physicalDevice;
- local_queueFamilyIndex = queueFamilyIndex;
- countingStream->rewind();
- {
- uint64_t cgen_var_950;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_950, 1);
- countingStream->write((uint64_t*)&cgen_var_950, 1 * 8);
- countingStream->write((uint32_t*)&local_queueFamilyIndex, sizeof(uint32_t));
- countingStream->write((wl_display*)display, sizeof(wl_display));
- }
- uint32_t packetSize_vkGetPhysicalDeviceWaylandPresentationSupportKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceWaylandPresentationSupportKHR = OP_vkGetPhysicalDeviceWaylandPresentationSupportKHR;
- stream->write(&opcode_vkGetPhysicalDeviceWaylandPresentationSupportKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceWaylandPresentationSupportKHR, sizeof(uint32_t));
- uint64_t cgen_var_951;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_951, 1);
- stream->write((uint64_t*)&cgen_var_951, 1 * 8);
- stream->write((uint32_t*)&local_queueFamilyIndex, sizeof(uint32_t));
- stream->write((wl_display*)display, sizeof(wl_display));
- stream->read((wl_display*)display, sizeof(wl_display));
- VkBool32 vkGetPhysicalDeviceWaylandPresentationSupportKHR_VkBool32_return = (VkBool32)0;
- stream->read(&vkGetPhysicalDeviceWaylandPresentationSupportKHR_VkBool32_return, sizeof(VkBool32));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceWaylandPresentationSupportKHR");;
- return vkGetPhysicalDeviceWaylandPresentationSupportKHR_VkBool32_return;
-}
-
-#endif
-#ifdef VK_KHR_mir_surface
-VkResult VkEncoder::vkCreateMirSurfaceKHR(
- VkInstance instance,
- const VkMirSurfaceCreateInfoKHR* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSurfaceKHR* pSurface)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateMirSurfaceKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkInstance local_instance;
- VkMirSurfaceCreateInfoKHR* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_instance = instance;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkMirSurfaceCreateInfoKHR*)pool->alloc(sizeof(const VkMirSurfaceCreateInfoKHR));
- deepcopy_VkMirSurfaceCreateInfoKHR(pool, pCreateInfo, (VkMirSurfaceCreateInfoKHR*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkMirSurfaceCreateInfoKHR(mImpl->resources(), (VkMirSurfaceCreateInfoKHR*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_952;
- countingStream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_952, 1);
- countingStream->write((uint64_t*)&cgen_var_952, 1 * 8);
- marshal_VkMirSurfaceCreateInfoKHR(countingStream, (VkMirSurfaceCreateInfoKHR*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_953 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_953);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_954;
- countingStream->handleMapping()->mapHandles_VkSurfaceKHR_u64(pSurface, &cgen_var_954, 1);
- countingStream->write((uint64_t*)&cgen_var_954, 8);
- }
- uint32_t packetSize_vkCreateMirSurfaceKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateMirSurfaceKHR = OP_vkCreateMirSurfaceKHR;
- stream->write(&opcode_vkCreateMirSurfaceKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateMirSurfaceKHR, sizeof(uint32_t));
- uint64_t cgen_var_955;
- stream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_955, 1);
- stream->write((uint64_t*)&cgen_var_955, 1 * 8);
- marshal_VkMirSurfaceCreateInfoKHR(stream, (VkMirSurfaceCreateInfoKHR*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_956 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_956);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_957;
- stream->handleMapping()->mapHandles_VkSurfaceKHR_u64(pSurface, &cgen_var_957, 1);
- stream->write((uint64_t*)&cgen_var_957, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- uint64_t cgen_var_958;
- stream->read((uint64_t*)&cgen_var_958, 8);
- stream->handleMapping()->mapHandles_u64_VkSurfaceKHR(&cgen_var_958, (VkSurfaceKHR*)pSurface, 1);
- VkResult vkCreateMirSurfaceKHR_VkResult_return = (VkResult)0;
- stream->read(&vkCreateMirSurfaceKHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateMirSurfaceKHR");;
- return vkCreateMirSurfaceKHR_VkResult_return;
-}
-
-VkBool32 VkEncoder::vkGetPhysicalDeviceMirPresentationSupportKHR(
- VkPhysicalDevice physicalDevice,
- uint32_t queueFamilyIndex,
- MirConnection* connection)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceMirPresentationSupportKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- uint32_t local_queueFamilyIndex;
- local_physicalDevice = physicalDevice;
- local_queueFamilyIndex = queueFamilyIndex;
- countingStream->rewind();
- {
- uint64_t cgen_var_959;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_959, 1);
- countingStream->write((uint64_t*)&cgen_var_959, 1 * 8);
- countingStream->write((uint32_t*)&local_queueFamilyIndex, sizeof(uint32_t));
- countingStream->write((MirConnection*)connection, sizeof(MirConnection));
- }
- uint32_t packetSize_vkGetPhysicalDeviceMirPresentationSupportKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceMirPresentationSupportKHR = OP_vkGetPhysicalDeviceMirPresentationSupportKHR;
- stream->write(&opcode_vkGetPhysicalDeviceMirPresentationSupportKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceMirPresentationSupportKHR, sizeof(uint32_t));
- uint64_t cgen_var_960;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_960, 1);
- stream->write((uint64_t*)&cgen_var_960, 1 * 8);
- stream->write((uint32_t*)&local_queueFamilyIndex, sizeof(uint32_t));
- stream->write((MirConnection*)connection, sizeof(MirConnection));
- stream->read((MirConnection*)connection, sizeof(MirConnection));
- VkBool32 vkGetPhysicalDeviceMirPresentationSupportKHR_VkBool32_return = (VkBool32)0;
- stream->read(&vkGetPhysicalDeviceMirPresentationSupportKHR_VkBool32_return, sizeof(VkBool32));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceMirPresentationSupportKHR");;
- return vkGetPhysicalDeviceMirPresentationSupportKHR_VkBool32_return;
-}
-
-#endif
-#ifdef VK_KHR_android_surface
-VkResult VkEncoder::vkCreateAndroidSurfaceKHR(
- VkInstance instance,
- const VkAndroidSurfaceCreateInfoKHR* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSurfaceKHR* pSurface)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateAndroidSurfaceKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkInstance local_instance;
- VkAndroidSurfaceCreateInfoKHR* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_instance = instance;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkAndroidSurfaceCreateInfoKHR*)pool->alloc(sizeof(const VkAndroidSurfaceCreateInfoKHR));
- deepcopy_VkAndroidSurfaceCreateInfoKHR(pool, pCreateInfo, (VkAndroidSurfaceCreateInfoKHR*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkAndroidSurfaceCreateInfoKHR(mImpl->resources(), (VkAndroidSurfaceCreateInfoKHR*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_961;
- countingStream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_961, 1);
- countingStream->write((uint64_t*)&cgen_var_961, 1 * 8);
- marshal_VkAndroidSurfaceCreateInfoKHR(countingStream, (VkAndroidSurfaceCreateInfoKHR*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_962 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_962);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_963;
- countingStream->handleMapping()->mapHandles_VkSurfaceKHR_u64(pSurface, &cgen_var_963, 1);
- countingStream->write((uint64_t*)&cgen_var_963, 8);
- }
- uint32_t packetSize_vkCreateAndroidSurfaceKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateAndroidSurfaceKHR = OP_vkCreateAndroidSurfaceKHR;
- stream->write(&opcode_vkCreateAndroidSurfaceKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateAndroidSurfaceKHR, sizeof(uint32_t));
- uint64_t cgen_var_964;
- stream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_964, 1);
- stream->write((uint64_t*)&cgen_var_964, 1 * 8);
- marshal_VkAndroidSurfaceCreateInfoKHR(stream, (VkAndroidSurfaceCreateInfoKHR*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_965 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_965);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_966;
- stream->handleMapping()->mapHandles_VkSurfaceKHR_u64(pSurface, &cgen_var_966, 1);
- stream->write((uint64_t*)&cgen_var_966, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- uint64_t cgen_var_967;
- stream->read((uint64_t*)&cgen_var_967, 8);
- stream->handleMapping()->mapHandles_u64_VkSurfaceKHR(&cgen_var_967, (VkSurfaceKHR*)pSurface, 1);
- VkResult vkCreateAndroidSurfaceKHR_VkResult_return = (VkResult)0;
- stream->read(&vkCreateAndroidSurfaceKHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateAndroidSurfaceKHR");;
- return vkCreateAndroidSurfaceKHR_VkResult_return;
-}
-
-#endif
-#ifdef VK_KHR_win32_surface
-VkResult VkEncoder::vkCreateWin32SurfaceKHR(
- VkInstance instance,
- const VkWin32SurfaceCreateInfoKHR* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSurfaceKHR* pSurface)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateWin32SurfaceKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkInstance local_instance;
- VkWin32SurfaceCreateInfoKHR* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_instance = instance;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkWin32SurfaceCreateInfoKHR*)pool->alloc(sizeof(const VkWin32SurfaceCreateInfoKHR));
- deepcopy_VkWin32SurfaceCreateInfoKHR(pool, pCreateInfo, (VkWin32SurfaceCreateInfoKHR*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkWin32SurfaceCreateInfoKHR(mImpl->resources(), (VkWin32SurfaceCreateInfoKHR*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_968;
- countingStream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_968, 1);
- countingStream->write((uint64_t*)&cgen_var_968, 1 * 8);
- marshal_VkWin32SurfaceCreateInfoKHR(countingStream, (VkWin32SurfaceCreateInfoKHR*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_969 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_969);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_970;
- countingStream->handleMapping()->mapHandles_VkSurfaceKHR_u64(pSurface, &cgen_var_970, 1);
- countingStream->write((uint64_t*)&cgen_var_970, 8);
- }
- uint32_t packetSize_vkCreateWin32SurfaceKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateWin32SurfaceKHR = OP_vkCreateWin32SurfaceKHR;
- stream->write(&opcode_vkCreateWin32SurfaceKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateWin32SurfaceKHR, sizeof(uint32_t));
- uint64_t cgen_var_971;
- stream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_971, 1);
- stream->write((uint64_t*)&cgen_var_971, 1 * 8);
- marshal_VkWin32SurfaceCreateInfoKHR(stream, (VkWin32SurfaceCreateInfoKHR*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_972 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_972);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_973;
- stream->handleMapping()->mapHandles_VkSurfaceKHR_u64(pSurface, &cgen_var_973, 1);
- stream->write((uint64_t*)&cgen_var_973, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- uint64_t cgen_var_974;
- stream->read((uint64_t*)&cgen_var_974, 8);
- stream->handleMapping()->mapHandles_u64_VkSurfaceKHR(&cgen_var_974, (VkSurfaceKHR*)pSurface, 1);
- VkResult vkCreateWin32SurfaceKHR_VkResult_return = (VkResult)0;
- stream->read(&vkCreateWin32SurfaceKHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateWin32SurfaceKHR");;
- return vkCreateWin32SurfaceKHR_VkResult_return;
-}
-
-VkBool32 VkEncoder::vkGetPhysicalDeviceWin32PresentationSupportKHR(
- VkPhysicalDevice physicalDevice,
- uint32_t queueFamilyIndex)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceWin32PresentationSupportKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- uint32_t local_queueFamilyIndex;
- local_physicalDevice = physicalDevice;
- local_queueFamilyIndex = queueFamilyIndex;
- countingStream->rewind();
- {
- uint64_t cgen_var_975;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_975, 1);
- countingStream->write((uint64_t*)&cgen_var_975, 1 * 8);
- countingStream->write((uint32_t*)&local_queueFamilyIndex, sizeof(uint32_t));
- }
- uint32_t packetSize_vkGetPhysicalDeviceWin32PresentationSupportKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceWin32PresentationSupportKHR = OP_vkGetPhysicalDeviceWin32PresentationSupportKHR;
- stream->write(&opcode_vkGetPhysicalDeviceWin32PresentationSupportKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceWin32PresentationSupportKHR, sizeof(uint32_t));
- uint64_t cgen_var_976;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_976, 1);
- stream->write((uint64_t*)&cgen_var_976, 1 * 8);
- stream->write((uint32_t*)&local_queueFamilyIndex, sizeof(uint32_t));
- VkBool32 vkGetPhysicalDeviceWin32PresentationSupportKHR_VkBool32_return = (VkBool32)0;
- stream->read(&vkGetPhysicalDeviceWin32PresentationSupportKHR_VkBool32_return, sizeof(VkBool32));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceWin32PresentationSupportKHR");;
- return vkGetPhysicalDeviceWin32PresentationSupportKHR_VkBool32_return;
-}
-
-#endif
-#ifdef VK_KHR_sampler_mirror_clamp_to_edge
-#endif
-#ifdef VK_KHR_multiview
-#endif
-#ifdef VK_KHR_get_physical_device_properties2
-void VkEncoder::vkGetPhysicalDeviceFeatures2KHR(
- VkPhysicalDevice physicalDevice,
- VkPhysicalDeviceFeatures2* pFeatures)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceFeatures2KHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- local_physicalDevice = physicalDevice;
- countingStream->rewind();
- {
- uint64_t cgen_var_977;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_977, 1);
- countingStream->write((uint64_t*)&cgen_var_977, 1 * 8);
- marshal_VkPhysicalDeviceFeatures2(countingStream, (VkPhysicalDeviceFeatures2*)(pFeatures));
- }
- uint32_t packetSize_vkGetPhysicalDeviceFeatures2KHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceFeatures2KHR = OP_vkGetPhysicalDeviceFeatures2KHR;
- stream->write(&opcode_vkGetPhysicalDeviceFeatures2KHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceFeatures2KHR, sizeof(uint32_t));
- uint64_t cgen_var_978;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_978, 1);
- stream->write((uint64_t*)&cgen_var_978, 1 * 8);
- marshal_VkPhysicalDeviceFeatures2(stream, (VkPhysicalDeviceFeatures2*)(pFeatures));
- unmarshal_VkPhysicalDeviceFeatures2(stream, (VkPhysicalDeviceFeatures2*)(pFeatures));
- if (pFeatures)
- {
- transform_fromhost_VkPhysicalDeviceFeatures2(mImpl->resources(), (VkPhysicalDeviceFeatures2*)(pFeatures));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceFeatures2KHR");;
-}
-
-void VkEncoder::vkGetPhysicalDeviceProperties2KHR(
- VkPhysicalDevice physicalDevice,
- VkPhysicalDeviceProperties2* pProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceProperties2KHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- local_physicalDevice = physicalDevice;
- countingStream->rewind();
- {
- uint64_t cgen_var_979;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_979, 1);
- countingStream->write((uint64_t*)&cgen_var_979, 1 * 8);
- marshal_VkPhysicalDeviceProperties2(countingStream, (VkPhysicalDeviceProperties2*)(pProperties));
- }
- uint32_t packetSize_vkGetPhysicalDeviceProperties2KHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceProperties2KHR = OP_vkGetPhysicalDeviceProperties2KHR;
- stream->write(&opcode_vkGetPhysicalDeviceProperties2KHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceProperties2KHR, sizeof(uint32_t));
- uint64_t cgen_var_980;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_980, 1);
- stream->write((uint64_t*)&cgen_var_980, 1 * 8);
- marshal_VkPhysicalDeviceProperties2(stream, (VkPhysicalDeviceProperties2*)(pProperties));
- unmarshal_VkPhysicalDeviceProperties2(stream, (VkPhysicalDeviceProperties2*)(pProperties));
- if (pProperties)
- {
- transform_fromhost_VkPhysicalDeviceProperties2(mImpl->resources(), (VkPhysicalDeviceProperties2*)(pProperties));
- }
- mImpl->resources()->on_vkGetPhysicalDeviceProperties2KHR(this, physicalDevice, pProperties);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceProperties2KHR");;
-}
-
-void VkEncoder::vkGetPhysicalDeviceFormatProperties2KHR(
- VkPhysicalDevice physicalDevice,
- VkFormat format,
- VkFormatProperties2* pFormatProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceFormatProperties2KHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- VkFormat local_format;
- local_physicalDevice = physicalDevice;
- local_format = format;
- countingStream->rewind();
- {
- uint64_t cgen_var_981;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_981, 1);
- countingStream->write((uint64_t*)&cgen_var_981, 1 * 8);
- countingStream->write((VkFormat*)&local_format, sizeof(VkFormat));
- marshal_VkFormatProperties2(countingStream, (VkFormatProperties2*)(pFormatProperties));
- }
- uint32_t packetSize_vkGetPhysicalDeviceFormatProperties2KHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceFormatProperties2KHR = OP_vkGetPhysicalDeviceFormatProperties2KHR;
- stream->write(&opcode_vkGetPhysicalDeviceFormatProperties2KHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceFormatProperties2KHR, sizeof(uint32_t));
- uint64_t cgen_var_982;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_982, 1);
- stream->write((uint64_t*)&cgen_var_982, 1 * 8);
- stream->write((VkFormat*)&local_format, sizeof(VkFormat));
- marshal_VkFormatProperties2(stream, (VkFormatProperties2*)(pFormatProperties));
- unmarshal_VkFormatProperties2(stream, (VkFormatProperties2*)(pFormatProperties));
- if (pFormatProperties)
- {
- transform_fromhost_VkFormatProperties2(mImpl->resources(), (VkFormatProperties2*)(pFormatProperties));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceFormatProperties2KHR");;
-}
-
-VkResult VkEncoder::vkGetPhysicalDeviceImageFormatProperties2KHR(
- VkPhysicalDevice physicalDevice,
- const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
- VkImageFormatProperties2* pImageFormatProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceImageFormatProperties2KHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- VkPhysicalDeviceImageFormatInfo2* local_pImageFormatInfo;
- local_physicalDevice = physicalDevice;
- local_pImageFormatInfo = nullptr;
- if (pImageFormatInfo)
- {
- local_pImageFormatInfo = (VkPhysicalDeviceImageFormatInfo2*)pool->alloc(sizeof(const VkPhysicalDeviceImageFormatInfo2));
- deepcopy_VkPhysicalDeviceImageFormatInfo2(pool, pImageFormatInfo, (VkPhysicalDeviceImageFormatInfo2*)(local_pImageFormatInfo));
- }
- if (local_pImageFormatInfo)
- {
- transform_tohost_VkPhysicalDeviceImageFormatInfo2(mImpl->resources(), (VkPhysicalDeviceImageFormatInfo2*)(local_pImageFormatInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_983;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_983, 1);
- countingStream->write((uint64_t*)&cgen_var_983, 1 * 8);
- marshal_VkPhysicalDeviceImageFormatInfo2(countingStream, (VkPhysicalDeviceImageFormatInfo2*)(local_pImageFormatInfo));
- marshal_VkImageFormatProperties2(countingStream, (VkImageFormatProperties2*)(pImageFormatProperties));
- }
- uint32_t packetSize_vkGetPhysicalDeviceImageFormatProperties2KHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceImageFormatProperties2KHR = OP_vkGetPhysicalDeviceImageFormatProperties2KHR;
- stream->write(&opcode_vkGetPhysicalDeviceImageFormatProperties2KHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceImageFormatProperties2KHR, sizeof(uint32_t));
- uint64_t cgen_var_984;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_984, 1);
- stream->write((uint64_t*)&cgen_var_984, 1 * 8);
- marshal_VkPhysicalDeviceImageFormatInfo2(stream, (VkPhysicalDeviceImageFormatInfo2*)(local_pImageFormatInfo));
- marshal_VkImageFormatProperties2(stream, (VkImageFormatProperties2*)(pImageFormatProperties));
- unmarshal_VkImageFormatProperties2(stream, (VkImageFormatProperties2*)(pImageFormatProperties));
- if (pImageFormatProperties)
- {
- transform_fromhost_VkImageFormatProperties2(mImpl->resources(), (VkImageFormatProperties2*)(pImageFormatProperties));
- }
- VkResult vkGetPhysicalDeviceImageFormatProperties2KHR_VkResult_return = (VkResult)0;
- stream->read(&vkGetPhysicalDeviceImageFormatProperties2KHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceImageFormatProperties2KHR");;
- return vkGetPhysicalDeviceImageFormatProperties2KHR_VkResult_return;
-}
-
-void VkEncoder::vkGetPhysicalDeviceQueueFamilyProperties2KHR(
- VkPhysicalDevice physicalDevice,
- uint32_t* pQueueFamilyPropertyCount,
- VkQueueFamilyProperties2* pQueueFamilyProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceQueueFamilyProperties2KHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- local_physicalDevice = physicalDevice;
- countingStream->rewind();
- {
- uint64_t cgen_var_985;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_985, 1);
- countingStream->write((uint64_t*)&cgen_var_985, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_986 = (uint64_t)(uintptr_t)pQueueFamilyPropertyCount;
- countingStream->putBe64(cgen_var_986);
- if (pQueueFamilyPropertyCount)
- {
- countingStream->write((uint32_t*)pQueueFamilyPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_987 = (uint64_t)(uintptr_t)pQueueFamilyProperties;
- countingStream->putBe64(cgen_var_987);
- if (pQueueFamilyProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pQueueFamilyPropertyCount)); ++i)
- {
- marshal_VkQueueFamilyProperties2(countingStream, (VkQueueFamilyProperties2*)(pQueueFamilyProperties + i));
- }
- }
- }
- uint32_t packetSize_vkGetPhysicalDeviceQueueFamilyProperties2KHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceQueueFamilyProperties2KHR = OP_vkGetPhysicalDeviceQueueFamilyProperties2KHR;
- stream->write(&opcode_vkGetPhysicalDeviceQueueFamilyProperties2KHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceQueueFamilyProperties2KHR, sizeof(uint32_t));
- uint64_t cgen_var_988;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_988, 1);
- stream->write((uint64_t*)&cgen_var_988, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_989 = (uint64_t)(uintptr_t)pQueueFamilyPropertyCount;
- stream->putBe64(cgen_var_989);
- if (pQueueFamilyPropertyCount)
- {
- stream->write((uint32_t*)pQueueFamilyPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_990 = (uint64_t)(uintptr_t)pQueueFamilyProperties;
- stream->putBe64(cgen_var_990);
- if (pQueueFamilyProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pQueueFamilyPropertyCount)); ++i)
- {
- marshal_VkQueueFamilyProperties2(stream, (VkQueueFamilyProperties2*)(pQueueFamilyProperties + i));
- }
- }
- // WARNING PTR CHECK
- uint32_t* check_pQueueFamilyPropertyCount;
- check_pQueueFamilyPropertyCount = (uint32_t*)(uintptr_t)stream->getBe64();
- if (pQueueFamilyPropertyCount)
- {
- if (!(check_pQueueFamilyPropertyCount))
- {
- fprintf(stderr, "fatal: pQueueFamilyPropertyCount inconsistent between guest and host\n");
- }
- stream->read((uint32_t*)pQueueFamilyPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- VkQueueFamilyProperties2* check_pQueueFamilyProperties;
- check_pQueueFamilyProperties = (VkQueueFamilyProperties2*)(uintptr_t)stream->getBe64();
- if (pQueueFamilyProperties)
- {
- if (!(check_pQueueFamilyProperties))
- {
- fprintf(stderr, "fatal: pQueueFamilyProperties inconsistent between guest and host\n");
- }
- for (uint32_t i = 0; i < (uint32_t)(*(pQueueFamilyPropertyCount)); ++i)
- {
- unmarshal_VkQueueFamilyProperties2(stream, (VkQueueFamilyProperties2*)(pQueueFamilyProperties + i));
- }
- }
- if (pQueueFamilyProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pQueueFamilyPropertyCount)); ++i)
- {
- transform_fromhost_VkQueueFamilyProperties2(mImpl->resources(), (VkQueueFamilyProperties2*)(pQueueFamilyProperties + i));
- }
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceQueueFamilyProperties2KHR");;
-}
-
-void VkEncoder::vkGetPhysicalDeviceMemoryProperties2KHR(
- VkPhysicalDevice physicalDevice,
- VkPhysicalDeviceMemoryProperties2* pMemoryProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceMemoryProperties2KHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- local_physicalDevice = physicalDevice;
- countingStream->rewind();
- {
- uint64_t cgen_var_993;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_993, 1);
- countingStream->write((uint64_t*)&cgen_var_993, 1 * 8);
- marshal_VkPhysicalDeviceMemoryProperties2(countingStream, (VkPhysicalDeviceMemoryProperties2*)(pMemoryProperties));
- }
- uint32_t packetSize_vkGetPhysicalDeviceMemoryProperties2KHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceMemoryProperties2KHR = OP_vkGetPhysicalDeviceMemoryProperties2KHR;
- stream->write(&opcode_vkGetPhysicalDeviceMemoryProperties2KHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceMemoryProperties2KHR, sizeof(uint32_t));
- uint64_t cgen_var_994;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_994, 1);
- stream->write((uint64_t*)&cgen_var_994, 1 * 8);
- marshal_VkPhysicalDeviceMemoryProperties2(stream, (VkPhysicalDeviceMemoryProperties2*)(pMemoryProperties));
- unmarshal_VkPhysicalDeviceMemoryProperties2(stream, (VkPhysicalDeviceMemoryProperties2*)(pMemoryProperties));
- if (pMemoryProperties)
- {
- transform_fromhost_VkPhysicalDeviceMemoryProperties2(mImpl->resources(), (VkPhysicalDeviceMemoryProperties2*)(pMemoryProperties));
- }
- mImpl->resources()->on_vkGetPhysicalDeviceMemoryProperties2KHR(this, physicalDevice, pMemoryProperties);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceMemoryProperties2KHR");;
-}
-
-void VkEncoder::vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
- VkPhysicalDevice physicalDevice,
- const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
- uint32_t* pPropertyCount,
- VkSparseImageFormatProperties2* pProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceSparseImageFormatProperties2KHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- VkPhysicalDeviceSparseImageFormatInfo2* local_pFormatInfo;
- local_physicalDevice = physicalDevice;
- local_pFormatInfo = nullptr;
- if (pFormatInfo)
- {
- local_pFormatInfo = (VkPhysicalDeviceSparseImageFormatInfo2*)pool->alloc(sizeof(const VkPhysicalDeviceSparseImageFormatInfo2));
- deepcopy_VkPhysicalDeviceSparseImageFormatInfo2(pool, pFormatInfo, (VkPhysicalDeviceSparseImageFormatInfo2*)(local_pFormatInfo));
- }
- if (local_pFormatInfo)
- {
- transform_tohost_VkPhysicalDeviceSparseImageFormatInfo2(mImpl->resources(), (VkPhysicalDeviceSparseImageFormatInfo2*)(local_pFormatInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_995;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_995, 1);
- countingStream->write((uint64_t*)&cgen_var_995, 1 * 8);
- marshal_VkPhysicalDeviceSparseImageFormatInfo2(countingStream, (VkPhysicalDeviceSparseImageFormatInfo2*)(local_pFormatInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_996 = (uint64_t)(uintptr_t)pPropertyCount;
- countingStream->putBe64(cgen_var_996);
- if (pPropertyCount)
- {
- countingStream->write((uint32_t*)pPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_997 = (uint64_t)(uintptr_t)pProperties;
- countingStream->putBe64(cgen_var_997);
- if (pProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- marshal_VkSparseImageFormatProperties2(countingStream, (VkSparseImageFormatProperties2*)(pProperties + i));
- }
- }
- }
- uint32_t packetSize_vkGetPhysicalDeviceSparseImageFormatProperties2KHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceSparseImageFormatProperties2KHR = OP_vkGetPhysicalDeviceSparseImageFormatProperties2KHR;
- stream->write(&opcode_vkGetPhysicalDeviceSparseImageFormatProperties2KHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceSparseImageFormatProperties2KHR, sizeof(uint32_t));
- uint64_t cgen_var_998;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_998, 1);
- stream->write((uint64_t*)&cgen_var_998, 1 * 8);
- marshal_VkPhysicalDeviceSparseImageFormatInfo2(stream, (VkPhysicalDeviceSparseImageFormatInfo2*)(local_pFormatInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_999 = (uint64_t)(uintptr_t)pPropertyCount;
- stream->putBe64(cgen_var_999);
- if (pPropertyCount)
- {
- stream->write((uint32_t*)pPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_1000 = (uint64_t)(uintptr_t)pProperties;
- stream->putBe64(cgen_var_1000);
- if (pProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- marshal_VkSparseImageFormatProperties2(stream, (VkSparseImageFormatProperties2*)(pProperties + i));
- }
- }
- // WARNING PTR CHECK
- uint32_t* check_pPropertyCount;
- check_pPropertyCount = (uint32_t*)(uintptr_t)stream->getBe64();
- if (pPropertyCount)
- {
- if (!(check_pPropertyCount))
- {
- fprintf(stderr, "fatal: pPropertyCount inconsistent between guest and host\n");
- }
- stream->read((uint32_t*)pPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- VkSparseImageFormatProperties2* check_pProperties;
- check_pProperties = (VkSparseImageFormatProperties2*)(uintptr_t)stream->getBe64();
- if (pProperties)
- {
- if (!(check_pProperties))
- {
- fprintf(stderr, "fatal: pProperties inconsistent between guest and host\n");
- }
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- unmarshal_VkSparseImageFormatProperties2(stream, (VkSparseImageFormatProperties2*)(pProperties + i));
- }
- }
- if (pProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- transform_fromhost_VkSparseImageFormatProperties2(mImpl->resources(), (VkSparseImageFormatProperties2*)(pProperties + i));
- }
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceSparseImageFormatProperties2KHR");;
-}
-
-#endif
-#ifdef VK_KHR_device_group
-void VkEncoder::vkGetDeviceGroupPeerMemoryFeaturesKHR(
- VkDevice device,
- uint32_t heapIndex,
- uint32_t localDeviceIndex,
- uint32_t remoteDeviceIndex,
- VkPeerMemoryFeatureFlags* pPeerMemoryFeatures)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetDeviceGroupPeerMemoryFeaturesKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- uint32_t local_heapIndex;
- uint32_t local_localDeviceIndex;
- uint32_t local_remoteDeviceIndex;
- local_device = device;
- local_heapIndex = heapIndex;
- local_localDeviceIndex = localDeviceIndex;
- local_remoteDeviceIndex = remoteDeviceIndex;
- countingStream->rewind();
- {
- uint64_t cgen_var_1003;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1003, 1);
- countingStream->write((uint64_t*)&cgen_var_1003, 1 * 8);
- countingStream->write((uint32_t*)&local_heapIndex, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_localDeviceIndex, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_remoteDeviceIndex, sizeof(uint32_t));
- countingStream->write((VkPeerMemoryFeatureFlags*)pPeerMemoryFeatures, sizeof(VkPeerMemoryFeatureFlags));
- }
- uint32_t packetSize_vkGetDeviceGroupPeerMemoryFeaturesKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetDeviceGroupPeerMemoryFeaturesKHR = OP_vkGetDeviceGroupPeerMemoryFeaturesKHR;
- stream->write(&opcode_vkGetDeviceGroupPeerMemoryFeaturesKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetDeviceGroupPeerMemoryFeaturesKHR, sizeof(uint32_t));
- uint64_t cgen_var_1004;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1004, 1);
- stream->write((uint64_t*)&cgen_var_1004, 1 * 8);
- stream->write((uint32_t*)&local_heapIndex, sizeof(uint32_t));
- stream->write((uint32_t*)&local_localDeviceIndex, sizeof(uint32_t));
- stream->write((uint32_t*)&local_remoteDeviceIndex, sizeof(uint32_t));
- stream->write((VkPeerMemoryFeatureFlags*)pPeerMemoryFeatures, sizeof(VkPeerMemoryFeatureFlags));
- stream->read((VkPeerMemoryFeatureFlags*)pPeerMemoryFeatures, sizeof(VkPeerMemoryFeatureFlags));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetDeviceGroupPeerMemoryFeaturesKHR");;
-}
-
-void VkEncoder::vkCmdSetDeviceMaskKHR(
- VkCommandBuffer commandBuffer,
- uint32_t deviceMask)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdSetDeviceMaskKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- uint32_t local_deviceMask;
- local_commandBuffer = commandBuffer;
- local_deviceMask = deviceMask;
- countingStream->rewind();
- {
- uint64_t cgen_var_1005;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1005, 1);
- countingStream->write((uint64_t*)&cgen_var_1005, 1 * 8);
- countingStream->write((uint32_t*)&local_deviceMask, sizeof(uint32_t));
- }
- uint32_t packetSize_vkCmdSetDeviceMaskKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdSetDeviceMaskKHR = OP_vkCmdSetDeviceMaskKHR;
- stream->write(&opcode_vkCmdSetDeviceMaskKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdSetDeviceMaskKHR, sizeof(uint32_t));
- uint64_t cgen_var_1006;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1006, 1);
- stream->write((uint64_t*)&cgen_var_1006, 1 * 8);
- stream->write((uint32_t*)&local_deviceMask, sizeof(uint32_t));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdSetDeviceMaskKHR");;
-}
-
-void VkEncoder::vkCmdDispatchBaseKHR(
- VkCommandBuffer commandBuffer,
- uint32_t baseGroupX,
- uint32_t baseGroupY,
- uint32_t baseGroupZ,
- uint32_t groupCountX,
- uint32_t groupCountY,
- uint32_t groupCountZ)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdDispatchBaseKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- uint32_t local_baseGroupX;
- uint32_t local_baseGroupY;
- uint32_t local_baseGroupZ;
- uint32_t local_groupCountX;
- uint32_t local_groupCountY;
- uint32_t local_groupCountZ;
- local_commandBuffer = commandBuffer;
- local_baseGroupX = baseGroupX;
- local_baseGroupY = baseGroupY;
- local_baseGroupZ = baseGroupZ;
- local_groupCountX = groupCountX;
- local_groupCountY = groupCountY;
- local_groupCountZ = groupCountZ;
- countingStream->rewind();
- {
- uint64_t cgen_var_1007;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1007, 1);
- countingStream->write((uint64_t*)&cgen_var_1007, 1 * 8);
- countingStream->write((uint32_t*)&local_baseGroupX, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_baseGroupY, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_baseGroupZ, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_groupCountX, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_groupCountY, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_groupCountZ, sizeof(uint32_t));
- }
- uint32_t packetSize_vkCmdDispatchBaseKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdDispatchBaseKHR = OP_vkCmdDispatchBaseKHR;
- stream->write(&opcode_vkCmdDispatchBaseKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdDispatchBaseKHR, sizeof(uint32_t));
- uint64_t cgen_var_1008;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1008, 1);
- stream->write((uint64_t*)&cgen_var_1008, 1 * 8);
- stream->write((uint32_t*)&local_baseGroupX, sizeof(uint32_t));
- stream->write((uint32_t*)&local_baseGroupY, sizeof(uint32_t));
- stream->write((uint32_t*)&local_baseGroupZ, sizeof(uint32_t));
- stream->write((uint32_t*)&local_groupCountX, sizeof(uint32_t));
- stream->write((uint32_t*)&local_groupCountY, sizeof(uint32_t));
- stream->write((uint32_t*)&local_groupCountZ, sizeof(uint32_t));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdDispatchBaseKHR");;
-}
-
-#endif
-#ifdef VK_KHR_shader_draw_parameters
-#endif
-#ifdef VK_KHR_maintenance1
-void VkEncoder::vkTrimCommandPoolKHR(
- VkDevice device,
- VkCommandPool commandPool,
- VkCommandPoolTrimFlags flags)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkTrimCommandPoolKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkCommandPool local_commandPool;
- VkCommandPoolTrimFlags local_flags;
- local_device = device;
- local_commandPool = commandPool;
- local_flags = flags;
- countingStream->rewind();
- {
- uint64_t cgen_var_1009;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1009, 1);
- countingStream->write((uint64_t*)&cgen_var_1009, 1 * 8);
- uint64_t cgen_var_1010;
- countingStream->handleMapping()->mapHandles_VkCommandPool_u64(&local_commandPool, &cgen_var_1010, 1);
- countingStream->write((uint64_t*)&cgen_var_1010, 1 * 8);
- countingStream->write((VkCommandPoolTrimFlags*)&local_flags, sizeof(VkCommandPoolTrimFlags));
- }
- uint32_t packetSize_vkTrimCommandPoolKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkTrimCommandPoolKHR = OP_vkTrimCommandPoolKHR;
- stream->write(&opcode_vkTrimCommandPoolKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkTrimCommandPoolKHR, sizeof(uint32_t));
- uint64_t cgen_var_1011;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1011, 1);
- stream->write((uint64_t*)&cgen_var_1011, 1 * 8);
- uint64_t cgen_var_1012;
- stream->handleMapping()->mapHandles_VkCommandPool_u64(&local_commandPool, &cgen_var_1012, 1);
- stream->write((uint64_t*)&cgen_var_1012, 1 * 8);
- stream->write((VkCommandPoolTrimFlags*)&local_flags, sizeof(VkCommandPoolTrimFlags));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkTrimCommandPoolKHR");;
-}
-
-#endif
-#ifdef VK_KHR_device_group_creation
-VkResult VkEncoder::vkEnumeratePhysicalDeviceGroupsKHR(
- VkInstance instance,
- uint32_t* pPhysicalDeviceGroupCount,
- VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkEnumeratePhysicalDeviceGroupsKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkInstance local_instance;
- local_instance = instance;
- countingStream->rewind();
- {
- uint64_t cgen_var_1013;
- countingStream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_1013, 1);
- countingStream->write((uint64_t*)&cgen_var_1013, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_1014 = (uint64_t)(uintptr_t)pPhysicalDeviceGroupCount;
- countingStream->putBe64(cgen_var_1014);
- if (pPhysicalDeviceGroupCount)
- {
- countingStream->write((uint32_t*)pPhysicalDeviceGroupCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_1015 = (uint64_t)(uintptr_t)pPhysicalDeviceGroupProperties;
- countingStream->putBe64(cgen_var_1015);
- if (pPhysicalDeviceGroupProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPhysicalDeviceGroupCount)); ++i)
- {
- marshal_VkPhysicalDeviceGroupProperties(countingStream, (VkPhysicalDeviceGroupProperties*)(pPhysicalDeviceGroupProperties + i));
- }
- }
- }
- uint32_t packetSize_vkEnumeratePhysicalDeviceGroupsKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkEnumeratePhysicalDeviceGroupsKHR = OP_vkEnumeratePhysicalDeviceGroupsKHR;
- stream->write(&opcode_vkEnumeratePhysicalDeviceGroupsKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkEnumeratePhysicalDeviceGroupsKHR, sizeof(uint32_t));
- uint64_t cgen_var_1016;
- stream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_1016, 1);
- stream->write((uint64_t*)&cgen_var_1016, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_1017 = (uint64_t)(uintptr_t)pPhysicalDeviceGroupCount;
- stream->putBe64(cgen_var_1017);
- if (pPhysicalDeviceGroupCount)
- {
- stream->write((uint32_t*)pPhysicalDeviceGroupCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_1018 = (uint64_t)(uintptr_t)pPhysicalDeviceGroupProperties;
- stream->putBe64(cgen_var_1018);
- if (pPhysicalDeviceGroupProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPhysicalDeviceGroupCount)); ++i)
- {
- marshal_VkPhysicalDeviceGroupProperties(stream, (VkPhysicalDeviceGroupProperties*)(pPhysicalDeviceGroupProperties + i));
- }
- }
- // WARNING PTR CHECK
- uint32_t* check_pPhysicalDeviceGroupCount;
- check_pPhysicalDeviceGroupCount = (uint32_t*)(uintptr_t)stream->getBe64();
- if (pPhysicalDeviceGroupCount)
- {
- if (!(check_pPhysicalDeviceGroupCount))
- {
- fprintf(stderr, "fatal: pPhysicalDeviceGroupCount inconsistent between guest and host\n");
- }
- stream->read((uint32_t*)pPhysicalDeviceGroupCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- VkPhysicalDeviceGroupProperties* check_pPhysicalDeviceGroupProperties;
- check_pPhysicalDeviceGroupProperties = (VkPhysicalDeviceGroupProperties*)(uintptr_t)stream->getBe64();
- if (pPhysicalDeviceGroupProperties)
- {
- if (!(check_pPhysicalDeviceGroupProperties))
- {
- fprintf(stderr, "fatal: pPhysicalDeviceGroupProperties inconsistent between guest and host\n");
- }
- for (uint32_t i = 0; i < (uint32_t)(*(pPhysicalDeviceGroupCount)); ++i)
- {
- unmarshal_VkPhysicalDeviceGroupProperties(stream, (VkPhysicalDeviceGroupProperties*)(pPhysicalDeviceGroupProperties + i));
- }
- }
- if (pPhysicalDeviceGroupProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPhysicalDeviceGroupCount)); ++i)
- {
- transform_fromhost_VkPhysicalDeviceGroupProperties(mImpl->resources(), (VkPhysicalDeviceGroupProperties*)(pPhysicalDeviceGroupProperties + i));
- }
- }
- VkResult vkEnumeratePhysicalDeviceGroupsKHR_VkResult_return = (VkResult)0;
- stream->read(&vkEnumeratePhysicalDeviceGroupsKHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkEnumeratePhysicalDeviceGroupsKHR");;
- return vkEnumeratePhysicalDeviceGroupsKHR_VkResult_return;
-}
-
-#endif
-#ifdef VK_KHR_external_memory_capabilities
-void VkEncoder::vkGetPhysicalDeviceExternalBufferPropertiesKHR(
- VkPhysicalDevice physicalDevice,
- const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
- VkExternalBufferProperties* pExternalBufferProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceExternalBufferPropertiesKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- VkPhysicalDeviceExternalBufferInfo* local_pExternalBufferInfo;
- local_physicalDevice = physicalDevice;
- local_pExternalBufferInfo = nullptr;
- if (pExternalBufferInfo)
- {
- local_pExternalBufferInfo = (VkPhysicalDeviceExternalBufferInfo*)pool->alloc(sizeof(const VkPhysicalDeviceExternalBufferInfo));
- deepcopy_VkPhysicalDeviceExternalBufferInfo(pool, pExternalBufferInfo, (VkPhysicalDeviceExternalBufferInfo*)(local_pExternalBufferInfo));
- }
- if (local_pExternalBufferInfo)
- {
- mImpl->resources()->transformImpl_VkPhysicalDeviceExternalBufferInfo_tohost(local_pExternalBufferInfo, 1);
- transform_tohost_VkPhysicalDeviceExternalBufferInfo(mImpl->resources(), (VkPhysicalDeviceExternalBufferInfo*)(local_pExternalBufferInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1021;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_1021, 1);
- countingStream->write((uint64_t*)&cgen_var_1021, 1 * 8);
- marshal_VkPhysicalDeviceExternalBufferInfo(countingStream, (VkPhysicalDeviceExternalBufferInfo*)(local_pExternalBufferInfo));
- marshal_VkExternalBufferProperties(countingStream, (VkExternalBufferProperties*)(pExternalBufferProperties));
- }
- uint32_t packetSize_vkGetPhysicalDeviceExternalBufferPropertiesKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceExternalBufferPropertiesKHR = OP_vkGetPhysicalDeviceExternalBufferPropertiesKHR;
- stream->write(&opcode_vkGetPhysicalDeviceExternalBufferPropertiesKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceExternalBufferPropertiesKHR, sizeof(uint32_t));
- uint64_t cgen_var_1022;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_1022, 1);
- stream->write((uint64_t*)&cgen_var_1022, 1 * 8);
- marshal_VkPhysicalDeviceExternalBufferInfo(stream, (VkPhysicalDeviceExternalBufferInfo*)(local_pExternalBufferInfo));
- marshal_VkExternalBufferProperties(stream, (VkExternalBufferProperties*)(pExternalBufferProperties));
- unmarshal_VkExternalBufferProperties(stream, (VkExternalBufferProperties*)(pExternalBufferProperties));
- if (pExternalBufferProperties)
- {
- mImpl->resources()->transformImpl_VkExternalBufferProperties_fromhost(pExternalBufferProperties, 1);
- transform_fromhost_VkExternalBufferProperties(mImpl->resources(), (VkExternalBufferProperties*)(pExternalBufferProperties));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceExternalBufferPropertiesKHR");;
-}
-
-#endif
-#ifdef VK_KHR_external_memory
-#endif
-#ifdef VK_KHR_external_memory_win32
-VkResult VkEncoder::vkGetMemoryWin32HandleKHR(
- VkDevice device,
- const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo,
- HANDLE* pHandle)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetMemoryWin32HandleKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkMemoryGetWin32HandleInfoKHR* local_pGetWin32HandleInfo;
- local_device = device;
- local_pGetWin32HandleInfo = nullptr;
- if (pGetWin32HandleInfo)
- {
- local_pGetWin32HandleInfo = (VkMemoryGetWin32HandleInfoKHR*)pool->alloc(sizeof(const VkMemoryGetWin32HandleInfoKHR));
- deepcopy_VkMemoryGetWin32HandleInfoKHR(pool, pGetWin32HandleInfo, (VkMemoryGetWin32HandleInfoKHR*)(local_pGetWin32HandleInfo));
- }
- if (local_pGetWin32HandleInfo)
- {
- transform_tohost_VkMemoryGetWin32HandleInfoKHR(mImpl->resources(), (VkMemoryGetWin32HandleInfoKHR*)(local_pGetWin32HandleInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1023;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1023, 1);
- countingStream->write((uint64_t*)&cgen_var_1023, 1 * 8);
- marshal_VkMemoryGetWin32HandleInfoKHR(countingStream, (VkMemoryGetWin32HandleInfoKHR*)(local_pGetWin32HandleInfo));
- countingStream->write((HANDLE*)pHandle, sizeof(HANDLE));
- }
- uint32_t packetSize_vkGetMemoryWin32HandleKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetMemoryWin32HandleKHR = OP_vkGetMemoryWin32HandleKHR;
- stream->write(&opcode_vkGetMemoryWin32HandleKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetMemoryWin32HandleKHR, sizeof(uint32_t));
- uint64_t cgen_var_1024;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1024, 1);
- stream->write((uint64_t*)&cgen_var_1024, 1 * 8);
- marshal_VkMemoryGetWin32HandleInfoKHR(stream, (VkMemoryGetWin32HandleInfoKHR*)(local_pGetWin32HandleInfo));
- stream->write((HANDLE*)pHandle, sizeof(HANDLE));
- stream->read((HANDLE*)pHandle, sizeof(HANDLE));
- VkResult vkGetMemoryWin32HandleKHR_VkResult_return = (VkResult)0;
- stream->read(&vkGetMemoryWin32HandleKHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetMemoryWin32HandleKHR");;
- return vkGetMemoryWin32HandleKHR_VkResult_return;
-}
-
-VkResult VkEncoder::vkGetMemoryWin32HandlePropertiesKHR(
- VkDevice device,
- VkExternalMemoryHandleTypeFlagBits handleType,
- HANDLE handle,
- VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetMemoryWin32HandlePropertiesKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkExternalMemoryHandleTypeFlagBits local_handleType;
- HANDLE local_handle;
- local_device = device;
- local_handleType = handleType;
- local_handle = handle;
- countingStream->rewind();
- {
- uint64_t cgen_var_1025;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1025, 1);
- countingStream->write((uint64_t*)&cgen_var_1025, 1 * 8);
- countingStream->write((VkExternalMemoryHandleTypeFlagBits*)&local_handleType, sizeof(VkExternalMemoryHandleTypeFlagBits));
- countingStream->write((HANDLE*)&local_handle, sizeof(HANDLE));
- marshal_VkMemoryWin32HandlePropertiesKHR(countingStream, (VkMemoryWin32HandlePropertiesKHR*)(pMemoryWin32HandleProperties));
- }
- uint32_t packetSize_vkGetMemoryWin32HandlePropertiesKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetMemoryWin32HandlePropertiesKHR = OP_vkGetMemoryWin32HandlePropertiesKHR;
- stream->write(&opcode_vkGetMemoryWin32HandlePropertiesKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetMemoryWin32HandlePropertiesKHR, sizeof(uint32_t));
- uint64_t cgen_var_1026;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1026, 1);
- stream->write((uint64_t*)&cgen_var_1026, 1 * 8);
- stream->write((VkExternalMemoryHandleTypeFlagBits*)&local_handleType, sizeof(VkExternalMemoryHandleTypeFlagBits));
- stream->write((HANDLE*)&local_handle, sizeof(HANDLE));
- marshal_VkMemoryWin32HandlePropertiesKHR(stream, (VkMemoryWin32HandlePropertiesKHR*)(pMemoryWin32HandleProperties));
- unmarshal_VkMemoryWin32HandlePropertiesKHR(stream, (VkMemoryWin32HandlePropertiesKHR*)(pMemoryWin32HandleProperties));
- if (pMemoryWin32HandleProperties)
- {
- transform_fromhost_VkMemoryWin32HandlePropertiesKHR(mImpl->resources(), (VkMemoryWin32HandlePropertiesKHR*)(pMemoryWin32HandleProperties));
- }
- VkResult vkGetMemoryWin32HandlePropertiesKHR_VkResult_return = (VkResult)0;
- stream->read(&vkGetMemoryWin32HandlePropertiesKHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetMemoryWin32HandlePropertiesKHR");;
- return vkGetMemoryWin32HandlePropertiesKHR_VkResult_return;
-}
-
-#endif
-#ifdef VK_KHR_external_memory_fd
-VkResult VkEncoder::vkGetMemoryFdKHR(
- VkDevice device,
- const VkMemoryGetFdInfoKHR* pGetFdInfo,
- int* pFd)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetMemoryFdKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkMemoryGetFdInfoKHR* local_pGetFdInfo;
- local_device = device;
- local_pGetFdInfo = nullptr;
- if (pGetFdInfo)
- {
- local_pGetFdInfo = (VkMemoryGetFdInfoKHR*)pool->alloc(sizeof(const VkMemoryGetFdInfoKHR));
- deepcopy_VkMemoryGetFdInfoKHR(pool, pGetFdInfo, (VkMemoryGetFdInfoKHR*)(local_pGetFdInfo));
- }
- if (local_pGetFdInfo)
- {
- transform_tohost_VkMemoryGetFdInfoKHR(mImpl->resources(), (VkMemoryGetFdInfoKHR*)(local_pGetFdInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1027;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1027, 1);
- countingStream->write((uint64_t*)&cgen_var_1027, 1 * 8);
- marshal_VkMemoryGetFdInfoKHR(countingStream, (VkMemoryGetFdInfoKHR*)(local_pGetFdInfo));
- countingStream->write((int*)pFd, sizeof(int));
- }
- uint32_t packetSize_vkGetMemoryFdKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetMemoryFdKHR = OP_vkGetMemoryFdKHR;
- stream->write(&opcode_vkGetMemoryFdKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetMemoryFdKHR, sizeof(uint32_t));
- uint64_t cgen_var_1028;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1028, 1);
- stream->write((uint64_t*)&cgen_var_1028, 1 * 8);
- marshal_VkMemoryGetFdInfoKHR(stream, (VkMemoryGetFdInfoKHR*)(local_pGetFdInfo));
- stream->write((int*)pFd, sizeof(int));
- stream->read((int*)pFd, sizeof(int));
- VkResult vkGetMemoryFdKHR_VkResult_return = (VkResult)0;
- stream->read(&vkGetMemoryFdKHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetMemoryFdKHR");;
- return vkGetMemoryFdKHR_VkResult_return;
-}
-
-VkResult VkEncoder::vkGetMemoryFdPropertiesKHR(
- VkDevice device,
- VkExternalMemoryHandleTypeFlagBits handleType,
- int fd,
- VkMemoryFdPropertiesKHR* pMemoryFdProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetMemoryFdPropertiesKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkExternalMemoryHandleTypeFlagBits local_handleType;
- int local_fd;
- local_device = device;
- local_handleType = handleType;
- local_fd = fd;
- countingStream->rewind();
- {
- uint64_t cgen_var_1029;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1029, 1);
- countingStream->write((uint64_t*)&cgen_var_1029, 1 * 8);
- countingStream->write((VkExternalMemoryHandleTypeFlagBits*)&local_handleType, sizeof(VkExternalMemoryHandleTypeFlagBits));
- countingStream->write((int*)&local_fd, sizeof(int));
- marshal_VkMemoryFdPropertiesKHR(countingStream, (VkMemoryFdPropertiesKHR*)(pMemoryFdProperties));
- }
- uint32_t packetSize_vkGetMemoryFdPropertiesKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetMemoryFdPropertiesKHR = OP_vkGetMemoryFdPropertiesKHR;
- stream->write(&opcode_vkGetMemoryFdPropertiesKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetMemoryFdPropertiesKHR, sizeof(uint32_t));
- uint64_t cgen_var_1030;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1030, 1);
- stream->write((uint64_t*)&cgen_var_1030, 1 * 8);
- stream->write((VkExternalMemoryHandleTypeFlagBits*)&local_handleType, sizeof(VkExternalMemoryHandleTypeFlagBits));
- stream->write((int*)&local_fd, sizeof(int));
- marshal_VkMemoryFdPropertiesKHR(stream, (VkMemoryFdPropertiesKHR*)(pMemoryFdProperties));
- unmarshal_VkMemoryFdPropertiesKHR(stream, (VkMemoryFdPropertiesKHR*)(pMemoryFdProperties));
- if (pMemoryFdProperties)
- {
- transform_fromhost_VkMemoryFdPropertiesKHR(mImpl->resources(), (VkMemoryFdPropertiesKHR*)(pMemoryFdProperties));
- }
- VkResult vkGetMemoryFdPropertiesKHR_VkResult_return = (VkResult)0;
- stream->read(&vkGetMemoryFdPropertiesKHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetMemoryFdPropertiesKHR");;
- return vkGetMemoryFdPropertiesKHR_VkResult_return;
-}
-
-#endif
-#ifdef VK_KHR_win32_keyed_mutex
-#endif
-#ifdef VK_KHR_external_semaphore_capabilities
-void VkEncoder::vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
- VkPhysicalDevice physicalDevice,
- const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
- VkExternalSemaphoreProperties* pExternalSemaphoreProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceExternalSemaphorePropertiesKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- VkPhysicalDeviceExternalSemaphoreInfo* local_pExternalSemaphoreInfo;
- local_physicalDevice = physicalDevice;
- local_pExternalSemaphoreInfo = nullptr;
- if (pExternalSemaphoreInfo)
- {
- local_pExternalSemaphoreInfo = (VkPhysicalDeviceExternalSemaphoreInfo*)pool->alloc(sizeof(const VkPhysicalDeviceExternalSemaphoreInfo));
- deepcopy_VkPhysicalDeviceExternalSemaphoreInfo(pool, pExternalSemaphoreInfo, (VkPhysicalDeviceExternalSemaphoreInfo*)(local_pExternalSemaphoreInfo));
- }
- if (local_pExternalSemaphoreInfo)
- {
- transform_tohost_VkPhysicalDeviceExternalSemaphoreInfo(mImpl->resources(), (VkPhysicalDeviceExternalSemaphoreInfo*)(local_pExternalSemaphoreInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1031;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_1031, 1);
- countingStream->write((uint64_t*)&cgen_var_1031, 1 * 8);
- marshal_VkPhysicalDeviceExternalSemaphoreInfo(countingStream, (VkPhysicalDeviceExternalSemaphoreInfo*)(local_pExternalSemaphoreInfo));
- marshal_VkExternalSemaphoreProperties(countingStream, (VkExternalSemaphoreProperties*)(pExternalSemaphoreProperties));
- }
- uint32_t packetSize_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = OP_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR;
- stream->write(&opcode_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR, sizeof(uint32_t));
- uint64_t cgen_var_1032;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_1032, 1);
- stream->write((uint64_t*)&cgen_var_1032, 1 * 8);
- marshal_VkPhysicalDeviceExternalSemaphoreInfo(stream, (VkPhysicalDeviceExternalSemaphoreInfo*)(local_pExternalSemaphoreInfo));
- marshal_VkExternalSemaphoreProperties(stream, (VkExternalSemaphoreProperties*)(pExternalSemaphoreProperties));
- unmarshal_VkExternalSemaphoreProperties(stream, (VkExternalSemaphoreProperties*)(pExternalSemaphoreProperties));
- if (pExternalSemaphoreProperties)
- {
- transform_fromhost_VkExternalSemaphoreProperties(mImpl->resources(), (VkExternalSemaphoreProperties*)(pExternalSemaphoreProperties));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceExternalSemaphorePropertiesKHR");;
-}
-
-#endif
-#ifdef VK_KHR_external_semaphore
-#endif
-#ifdef VK_KHR_external_semaphore_win32
-VkResult VkEncoder::vkImportSemaphoreWin32HandleKHR(
- VkDevice device,
- const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkImportSemaphoreWin32HandleKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkImportSemaphoreWin32HandleInfoKHR* local_pImportSemaphoreWin32HandleInfo;
- local_device = device;
- local_pImportSemaphoreWin32HandleInfo = nullptr;
- if (pImportSemaphoreWin32HandleInfo)
- {
- local_pImportSemaphoreWin32HandleInfo = (VkImportSemaphoreWin32HandleInfoKHR*)pool->alloc(sizeof(const VkImportSemaphoreWin32HandleInfoKHR));
- deepcopy_VkImportSemaphoreWin32HandleInfoKHR(pool, pImportSemaphoreWin32HandleInfo, (VkImportSemaphoreWin32HandleInfoKHR*)(local_pImportSemaphoreWin32HandleInfo));
- }
- if (local_pImportSemaphoreWin32HandleInfo)
- {
- transform_tohost_VkImportSemaphoreWin32HandleInfoKHR(mImpl->resources(), (VkImportSemaphoreWin32HandleInfoKHR*)(local_pImportSemaphoreWin32HandleInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1033;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1033, 1);
- countingStream->write((uint64_t*)&cgen_var_1033, 1 * 8);
- marshal_VkImportSemaphoreWin32HandleInfoKHR(countingStream, (VkImportSemaphoreWin32HandleInfoKHR*)(local_pImportSemaphoreWin32HandleInfo));
- }
- uint32_t packetSize_vkImportSemaphoreWin32HandleKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkImportSemaphoreWin32HandleKHR = OP_vkImportSemaphoreWin32HandleKHR;
- stream->write(&opcode_vkImportSemaphoreWin32HandleKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkImportSemaphoreWin32HandleKHR, sizeof(uint32_t));
- uint64_t cgen_var_1034;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1034, 1);
- stream->write((uint64_t*)&cgen_var_1034, 1 * 8);
- marshal_VkImportSemaphoreWin32HandleInfoKHR(stream, (VkImportSemaphoreWin32HandleInfoKHR*)(local_pImportSemaphoreWin32HandleInfo));
- VkResult vkImportSemaphoreWin32HandleKHR_VkResult_return = (VkResult)0;
- stream->read(&vkImportSemaphoreWin32HandleKHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkImportSemaphoreWin32HandleKHR");;
- return vkImportSemaphoreWin32HandleKHR_VkResult_return;
-}
-
-VkResult VkEncoder::vkGetSemaphoreWin32HandleKHR(
- VkDevice device,
- const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo,
- HANDLE* pHandle)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetSemaphoreWin32HandleKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkSemaphoreGetWin32HandleInfoKHR* local_pGetWin32HandleInfo;
- local_device = device;
- local_pGetWin32HandleInfo = nullptr;
- if (pGetWin32HandleInfo)
- {
- local_pGetWin32HandleInfo = (VkSemaphoreGetWin32HandleInfoKHR*)pool->alloc(sizeof(const VkSemaphoreGetWin32HandleInfoKHR));
- deepcopy_VkSemaphoreGetWin32HandleInfoKHR(pool, pGetWin32HandleInfo, (VkSemaphoreGetWin32HandleInfoKHR*)(local_pGetWin32HandleInfo));
- }
- if (local_pGetWin32HandleInfo)
- {
- transform_tohost_VkSemaphoreGetWin32HandleInfoKHR(mImpl->resources(), (VkSemaphoreGetWin32HandleInfoKHR*)(local_pGetWin32HandleInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1035;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1035, 1);
- countingStream->write((uint64_t*)&cgen_var_1035, 1 * 8);
- marshal_VkSemaphoreGetWin32HandleInfoKHR(countingStream, (VkSemaphoreGetWin32HandleInfoKHR*)(local_pGetWin32HandleInfo));
- countingStream->write((HANDLE*)pHandle, sizeof(HANDLE));
- }
- uint32_t packetSize_vkGetSemaphoreWin32HandleKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetSemaphoreWin32HandleKHR = OP_vkGetSemaphoreWin32HandleKHR;
- stream->write(&opcode_vkGetSemaphoreWin32HandleKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetSemaphoreWin32HandleKHR, sizeof(uint32_t));
- uint64_t cgen_var_1036;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1036, 1);
- stream->write((uint64_t*)&cgen_var_1036, 1 * 8);
- marshal_VkSemaphoreGetWin32HandleInfoKHR(stream, (VkSemaphoreGetWin32HandleInfoKHR*)(local_pGetWin32HandleInfo));
- stream->write((HANDLE*)pHandle, sizeof(HANDLE));
- stream->read((HANDLE*)pHandle, sizeof(HANDLE));
- VkResult vkGetSemaphoreWin32HandleKHR_VkResult_return = (VkResult)0;
- stream->read(&vkGetSemaphoreWin32HandleKHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetSemaphoreWin32HandleKHR");;
- return vkGetSemaphoreWin32HandleKHR_VkResult_return;
-}
-
-#endif
-#ifdef VK_KHR_external_semaphore_fd
-VkResult VkEncoder::vkImportSemaphoreFdKHR(
- VkDevice device,
- const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkImportSemaphoreFdKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkImportSemaphoreFdInfoKHR* local_pImportSemaphoreFdInfo;
- local_device = device;
- local_pImportSemaphoreFdInfo = nullptr;
- if (pImportSemaphoreFdInfo)
- {
- local_pImportSemaphoreFdInfo = (VkImportSemaphoreFdInfoKHR*)pool->alloc(sizeof(const VkImportSemaphoreFdInfoKHR));
- deepcopy_VkImportSemaphoreFdInfoKHR(pool, pImportSemaphoreFdInfo, (VkImportSemaphoreFdInfoKHR*)(local_pImportSemaphoreFdInfo));
- }
- if (local_pImportSemaphoreFdInfo)
- {
- transform_tohost_VkImportSemaphoreFdInfoKHR(mImpl->resources(), (VkImportSemaphoreFdInfoKHR*)(local_pImportSemaphoreFdInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1037;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1037, 1);
- countingStream->write((uint64_t*)&cgen_var_1037, 1 * 8);
- marshal_VkImportSemaphoreFdInfoKHR(countingStream, (VkImportSemaphoreFdInfoKHR*)(local_pImportSemaphoreFdInfo));
- }
- uint32_t packetSize_vkImportSemaphoreFdKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkImportSemaphoreFdKHR = OP_vkImportSemaphoreFdKHR;
- stream->write(&opcode_vkImportSemaphoreFdKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkImportSemaphoreFdKHR, sizeof(uint32_t));
- uint64_t cgen_var_1038;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1038, 1);
- stream->write((uint64_t*)&cgen_var_1038, 1 * 8);
- marshal_VkImportSemaphoreFdInfoKHR(stream, (VkImportSemaphoreFdInfoKHR*)(local_pImportSemaphoreFdInfo));
- VkResult vkImportSemaphoreFdKHR_VkResult_return = (VkResult)0;
- stream->read(&vkImportSemaphoreFdKHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkImportSemaphoreFdKHR");;
- return vkImportSemaphoreFdKHR_VkResult_return;
-}
-
-VkResult VkEncoder::vkGetSemaphoreFdKHR(
- VkDevice device,
- const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
- int* pFd)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetSemaphoreFdKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkSemaphoreGetFdInfoKHR* local_pGetFdInfo;
- local_device = device;
- local_pGetFdInfo = nullptr;
- if (pGetFdInfo)
- {
- local_pGetFdInfo = (VkSemaphoreGetFdInfoKHR*)pool->alloc(sizeof(const VkSemaphoreGetFdInfoKHR));
- deepcopy_VkSemaphoreGetFdInfoKHR(pool, pGetFdInfo, (VkSemaphoreGetFdInfoKHR*)(local_pGetFdInfo));
- }
- if (local_pGetFdInfo)
- {
- transform_tohost_VkSemaphoreGetFdInfoKHR(mImpl->resources(), (VkSemaphoreGetFdInfoKHR*)(local_pGetFdInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1039;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1039, 1);
- countingStream->write((uint64_t*)&cgen_var_1039, 1 * 8);
- marshal_VkSemaphoreGetFdInfoKHR(countingStream, (VkSemaphoreGetFdInfoKHR*)(local_pGetFdInfo));
- countingStream->write((int*)pFd, sizeof(int));
- }
- uint32_t packetSize_vkGetSemaphoreFdKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetSemaphoreFdKHR = OP_vkGetSemaphoreFdKHR;
- stream->write(&opcode_vkGetSemaphoreFdKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetSemaphoreFdKHR, sizeof(uint32_t));
- uint64_t cgen_var_1040;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1040, 1);
- stream->write((uint64_t*)&cgen_var_1040, 1 * 8);
- marshal_VkSemaphoreGetFdInfoKHR(stream, (VkSemaphoreGetFdInfoKHR*)(local_pGetFdInfo));
- stream->write((int*)pFd, sizeof(int));
- stream->read((int*)pFd, sizeof(int));
- VkResult vkGetSemaphoreFdKHR_VkResult_return = (VkResult)0;
- stream->read(&vkGetSemaphoreFdKHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetSemaphoreFdKHR");;
- return vkGetSemaphoreFdKHR_VkResult_return;
-}
-
-#endif
-#ifdef VK_KHR_push_descriptor
-void VkEncoder::vkCmdPushDescriptorSetKHR(
- VkCommandBuffer commandBuffer,
- VkPipelineBindPoint pipelineBindPoint,
- VkPipelineLayout layout,
- uint32_t set,
- uint32_t descriptorWriteCount,
- const VkWriteDescriptorSet* pDescriptorWrites)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdPushDescriptorSetKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkPipelineBindPoint local_pipelineBindPoint;
- VkPipelineLayout local_layout;
- uint32_t local_set;
- uint32_t local_descriptorWriteCount;
- VkWriteDescriptorSet* local_pDescriptorWrites;
- local_commandBuffer = commandBuffer;
- local_pipelineBindPoint = pipelineBindPoint;
- local_layout = layout;
- local_set = set;
- local_descriptorWriteCount = descriptorWriteCount;
- local_pDescriptorWrites = nullptr;
- if (pDescriptorWrites)
- {
- local_pDescriptorWrites = (VkWriteDescriptorSet*)pool->alloc(((descriptorWriteCount)) * sizeof(const VkWriteDescriptorSet));
- for (uint32_t i = 0; i < (uint32_t)((descriptorWriteCount)); ++i)
- {
- deepcopy_VkWriteDescriptorSet(pool, pDescriptorWrites + i, (VkWriteDescriptorSet*)(local_pDescriptorWrites + i));
- }
- }
- if (local_pDescriptorWrites)
- {
- for (uint32_t i = 0; i < (uint32_t)((descriptorWriteCount)); ++i)
- {
- transform_tohost_VkWriteDescriptorSet(mImpl->resources(), (VkWriteDescriptorSet*)(local_pDescriptorWrites + i));
- }
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1041;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1041, 1);
- countingStream->write((uint64_t*)&cgen_var_1041, 1 * 8);
- countingStream->write((VkPipelineBindPoint*)&local_pipelineBindPoint, sizeof(VkPipelineBindPoint));
- uint64_t cgen_var_1042;
- countingStream->handleMapping()->mapHandles_VkPipelineLayout_u64(&local_layout, &cgen_var_1042, 1);
- countingStream->write((uint64_t*)&cgen_var_1042, 1 * 8);
- countingStream->write((uint32_t*)&local_set, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_descriptorWriteCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((descriptorWriteCount)); ++i)
- {
- marshal_VkWriteDescriptorSet(countingStream, (VkWriteDescriptorSet*)(local_pDescriptorWrites + i));
- }
- }
- uint32_t packetSize_vkCmdPushDescriptorSetKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdPushDescriptorSetKHR = OP_vkCmdPushDescriptorSetKHR;
- stream->write(&opcode_vkCmdPushDescriptorSetKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdPushDescriptorSetKHR, sizeof(uint32_t));
- uint64_t cgen_var_1043;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1043, 1);
- stream->write((uint64_t*)&cgen_var_1043, 1 * 8);
- stream->write((VkPipelineBindPoint*)&local_pipelineBindPoint, sizeof(VkPipelineBindPoint));
- uint64_t cgen_var_1044;
- stream->handleMapping()->mapHandles_VkPipelineLayout_u64(&local_layout, &cgen_var_1044, 1);
- stream->write((uint64_t*)&cgen_var_1044, 1 * 8);
- stream->write((uint32_t*)&local_set, sizeof(uint32_t));
- stream->write((uint32_t*)&local_descriptorWriteCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((descriptorWriteCount)); ++i)
- {
- marshal_VkWriteDescriptorSet(stream, (VkWriteDescriptorSet*)(local_pDescriptorWrites + i));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdPushDescriptorSetKHR");;
-}
-
-void VkEncoder::vkCmdPushDescriptorSetWithTemplateKHR(
- VkCommandBuffer commandBuffer,
- VkDescriptorUpdateTemplate descriptorUpdateTemplate,
- VkPipelineLayout layout,
- uint32_t set,
- const void* pData)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdPushDescriptorSetWithTemplateKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkDescriptorUpdateTemplate local_descriptorUpdateTemplate;
- VkPipelineLayout local_layout;
- uint32_t local_set;
- void* local_pData;
- local_commandBuffer = commandBuffer;
- local_descriptorUpdateTemplate = descriptorUpdateTemplate;
- local_layout = layout;
- local_set = set;
- local_pData = nullptr;
- if (pData)
- {
- local_pData = (void*)pool->dupArray(pData, sizeof(const uint8_t));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1045;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1045, 1);
- countingStream->write((uint64_t*)&cgen_var_1045, 1 * 8);
- uint64_t cgen_var_1046;
- countingStream->handleMapping()->mapHandles_VkDescriptorUpdateTemplate_u64(&local_descriptorUpdateTemplate, &cgen_var_1046, 1);
- countingStream->write((uint64_t*)&cgen_var_1046, 1 * 8);
- uint64_t cgen_var_1047;
- countingStream->handleMapping()->mapHandles_VkPipelineLayout_u64(&local_layout, &cgen_var_1047, 1);
- countingStream->write((uint64_t*)&cgen_var_1047, 1 * 8);
- countingStream->write((uint32_t*)&local_set, sizeof(uint32_t));
- // WARNING PTR CHECK
- uint64_t cgen_var_1048 = (uint64_t)(uintptr_t)local_pData;
- countingStream->putBe64(cgen_var_1048);
- if (local_pData)
- {
- countingStream->write((void*)local_pData, sizeof(uint8_t));
- }
- }
- uint32_t packetSize_vkCmdPushDescriptorSetWithTemplateKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdPushDescriptorSetWithTemplateKHR = OP_vkCmdPushDescriptorSetWithTemplateKHR;
- stream->write(&opcode_vkCmdPushDescriptorSetWithTemplateKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdPushDescriptorSetWithTemplateKHR, sizeof(uint32_t));
- uint64_t cgen_var_1049;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1049, 1);
- stream->write((uint64_t*)&cgen_var_1049, 1 * 8);
- uint64_t cgen_var_1050;
- stream->handleMapping()->mapHandles_VkDescriptorUpdateTemplate_u64(&local_descriptorUpdateTemplate, &cgen_var_1050, 1);
- stream->write((uint64_t*)&cgen_var_1050, 1 * 8);
- uint64_t cgen_var_1051;
- stream->handleMapping()->mapHandles_VkPipelineLayout_u64(&local_layout, &cgen_var_1051, 1);
- stream->write((uint64_t*)&cgen_var_1051, 1 * 8);
- stream->write((uint32_t*)&local_set, sizeof(uint32_t));
- // WARNING PTR CHECK
- uint64_t cgen_var_1052 = (uint64_t)(uintptr_t)local_pData;
- stream->putBe64(cgen_var_1052);
- if (local_pData)
- {
- stream->write((void*)local_pData, sizeof(uint8_t));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdPushDescriptorSetWithTemplateKHR");;
-}
-
-#endif
-#ifdef VK_KHR_16bit_storage
-#endif
-#ifdef VK_KHR_incremental_present
-#endif
-#ifdef VK_KHR_descriptor_update_template
-VkResult VkEncoder::vkCreateDescriptorUpdateTemplateKHR(
- VkDevice device,
- const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateDescriptorUpdateTemplateKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkDescriptorUpdateTemplateCreateInfo* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkDescriptorUpdateTemplateCreateInfo*)pool->alloc(sizeof(const VkDescriptorUpdateTemplateCreateInfo));
- deepcopy_VkDescriptorUpdateTemplateCreateInfo(pool, pCreateInfo, (VkDescriptorUpdateTemplateCreateInfo*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkDescriptorUpdateTemplateCreateInfo(mImpl->resources(), (VkDescriptorUpdateTemplateCreateInfo*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1053;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1053, 1);
- countingStream->write((uint64_t*)&cgen_var_1053, 1 * 8);
- marshal_VkDescriptorUpdateTemplateCreateInfo(countingStream, (VkDescriptorUpdateTemplateCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_1054 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_1054);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_1055;
- countingStream->handleMapping()->mapHandles_VkDescriptorUpdateTemplate_u64(pDescriptorUpdateTemplate, &cgen_var_1055, 1);
- countingStream->write((uint64_t*)&cgen_var_1055, 8);
- }
- uint32_t packetSize_vkCreateDescriptorUpdateTemplateKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateDescriptorUpdateTemplateKHR = OP_vkCreateDescriptorUpdateTemplateKHR;
- stream->write(&opcode_vkCreateDescriptorUpdateTemplateKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateDescriptorUpdateTemplateKHR, sizeof(uint32_t));
- uint64_t cgen_var_1056;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1056, 1);
- stream->write((uint64_t*)&cgen_var_1056, 1 * 8);
- marshal_VkDescriptorUpdateTemplateCreateInfo(stream, (VkDescriptorUpdateTemplateCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_1057 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_1057);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_1058;
- stream->handleMapping()->mapHandles_VkDescriptorUpdateTemplate_u64(pDescriptorUpdateTemplate, &cgen_var_1058, 1);
- stream->write((uint64_t*)&cgen_var_1058, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- stream->setHandleMapping(resources->createMapping());
- uint64_t cgen_var_1059;
- stream->read((uint64_t*)&cgen_var_1059, 8);
- stream->handleMapping()->mapHandles_u64_VkDescriptorUpdateTemplate(&cgen_var_1059, (VkDescriptorUpdateTemplate*)pDescriptorUpdateTemplate, 1);
- stream->unsetHandleMapping();
- VkResult vkCreateDescriptorUpdateTemplateKHR_VkResult_return = (VkResult)0;
- stream->read(&vkCreateDescriptorUpdateTemplateKHR_VkResult_return, sizeof(VkResult));
- mImpl->resources()->on_vkCreateDescriptorUpdateTemplateKHR(this, vkCreateDescriptorUpdateTemplateKHR_VkResult_return, device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateDescriptorUpdateTemplateKHR");;
- return vkCreateDescriptorUpdateTemplateKHR_VkResult_return;
-}
-
-void VkEncoder::vkDestroyDescriptorUpdateTemplateKHR(
- VkDevice device,
- VkDescriptorUpdateTemplate descriptorUpdateTemplate,
- const VkAllocationCallbacks* pAllocator)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkDestroyDescriptorUpdateTemplateKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkDescriptorUpdateTemplate local_descriptorUpdateTemplate;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_descriptorUpdateTemplate = descriptorUpdateTemplate;
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1060;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1060, 1);
- countingStream->write((uint64_t*)&cgen_var_1060, 1 * 8);
- uint64_t cgen_var_1061;
- countingStream->handleMapping()->mapHandles_VkDescriptorUpdateTemplate_u64(&local_descriptorUpdateTemplate, &cgen_var_1061, 1);
- countingStream->write((uint64_t*)&cgen_var_1061, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_1062 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_1062);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- }
- uint32_t packetSize_vkDestroyDescriptorUpdateTemplateKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkDestroyDescriptorUpdateTemplateKHR = OP_vkDestroyDescriptorUpdateTemplateKHR;
- stream->write(&opcode_vkDestroyDescriptorUpdateTemplateKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkDestroyDescriptorUpdateTemplateKHR, sizeof(uint32_t));
- uint64_t cgen_var_1063;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1063, 1);
- stream->write((uint64_t*)&cgen_var_1063, 1 * 8);
- uint64_t cgen_var_1064;
- stream->handleMapping()->mapHandles_VkDescriptorUpdateTemplate_u64(&local_descriptorUpdateTemplate, &cgen_var_1064, 1);
- stream->write((uint64_t*)&cgen_var_1064, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_1065 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_1065);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- resources->destroyMapping()->mapHandles_VkDescriptorUpdateTemplate((VkDescriptorUpdateTemplate*)&descriptorUpdateTemplate);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkDestroyDescriptorUpdateTemplateKHR");;
-}
-
-void VkEncoder::vkUpdateDescriptorSetWithTemplateKHR(
- VkDevice device,
- VkDescriptorSet descriptorSet,
- VkDescriptorUpdateTemplate descriptorUpdateTemplate,
- const void* pData)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkUpdateDescriptorSetWithTemplateKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkDescriptorSet local_descriptorSet;
- VkDescriptorUpdateTemplate local_descriptorUpdateTemplate;
- void* local_pData;
- local_device = device;
- local_descriptorSet = descriptorSet;
- local_descriptorUpdateTemplate = descriptorUpdateTemplate;
- local_pData = nullptr;
- if (pData)
- {
- local_pData = (void*)pool->dupArray(pData, sizeof(const uint8_t));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1066;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1066, 1);
- countingStream->write((uint64_t*)&cgen_var_1066, 1 * 8);
- uint64_t cgen_var_1067;
- countingStream->handleMapping()->mapHandles_VkDescriptorSet_u64(&local_descriptorSet, &cgen_var_1067, 1);
- countingStream->write((uint64_t*)&cgen_var_1067, 1 * 8);
- uint64_t cgen_var_1068;
- countingStream->handleMapping()->mapHandles_VkDescriptorUpdateTemplate_u64(&local_descriptorUpdateTemplate, &cgen_var_1068, 1);
- countingStream->write((uint64_t*)&cgen_var_1068, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_1069 = (uint64_t)(uintptr_t)local_pData;
- countingStream->putBe64(cgen_var_1069);
- if (local_pData)
- {
- countingStream->write((void*)local_pData, sizeof(uint8_t));
- }
- }
- uint32_t packetSize_vkUpdateDescriptorSetWithTemplateKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkUpdateDescriptorSetWithTemplateKHR = OP_vkUpdateDescriptorSetWithTemplateKHR;
- stream->write(&opcode_vkUpdateDescriptorSetWithTemplateKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkUpdateDescriptorSetWithTemplateKHR, sizeof(uint32_t));
- uint64_t cgen_var_1070;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1070, 1);
- stream->write((uint64_t*)&cgen_var_1070, 1 * 8);
- uint64_t cgen_var_1071;
- stream->handleMapping()->mapHandles_VkDescriptorSet_u64(&local_descriptorSet, &cgen_var_1071, 1);
- stream->write((uint64_t*)&cgen_var_1071, 1 * 8);
- uint64_t cgen_var_1072;
- stream->handleMapping()->mapHandles_VkDescriptorUpdateTemplate_u64(&local_descriptorUpdateTemplate, &cgen_var_1072, 1);
- stream->write((uint64_t*)&cgen_var_1072, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_1073 = (uint64_t)(uintptr_t)local_pData;
- stream->putBe64(cgen_var_1073);
- if (local_pData)
- {
- stream->write((void*)local_pData, sizeof(uint8_t));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkUpdateDescriptorSetWithTemplateKHR");;
-}
-
-#endif
-#ifdef VK_KHR_create_renderpass2
-VkResult VkEncoder::vkCreateRenderPass2KHR(
- VkDevice device,
- const VkRenderPassCreateInfo2KHR* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkRenderPass* pRenderPass)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateRenderPass2KHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkRenderPassCreateInfo2KHR* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkRenderPassCreateInfo2KHR*)pool->alloc(sizeof(const VkRenderPassCreateInfo2KHR));
- deepcopy_VkRenderPassCreateInfo2KHR(pool, pCreateInfo, (VkRenderPassCreateInfo2KHR*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkRenderPassCreateInfo2KHR(mImpl->resources(), (VkRenderPassCreateInfo2KHR*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1074;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1074, 1);
- countingStream->write((uint64_t*)&cgen_var_1074, 1 * 8);
- marshal_VkRenderPassCreateInfo2KHR(countingStream, (VkRenderPassCreateInfo2KHR*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_1075 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_1075);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_1076;
- countingStream->handleMapping()->mapHandles_VkRenderPass_u64(pRenderPass, &cgen_var_1076, 1);
- countingStream->write((uint64_t*)&cgen_var_1076, 8);
- }
- uint32_t packetSize_vkCreateRenderPass2KHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateRenderPass2KHR = OP_vkCreateRenderPass2KHR;
- stream->write(&opcode_vkCreateRenderPass2KHR, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateRenderPass2KHR, sizeof(uint32_t));
- uint64_t cgen_var_1077;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1077, 1);
- stream->write((uint64_t*)&cgen_var_1077, 1 * 8);
- marshal_VkRenderPassCreateInfo2KHR(stream, (VkRenderPassCreateInfo2KHR*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_1078 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_1078);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_1079;
- stream->handleMapping()->mapHandles_VkRenderPass_u64(pRenderPass, &cgen_var_1079, 1);
- stream->write((uint64_t*)&cgen_var_1079, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- uint64_t cgen_var_1080;
- stream->read((uint64_t*)&cgen_var_1080, 8);
- stream->handleMapping()->mapHandles_u64_VkRenderPass(&cgen_var_1080, (VkRenderPass*)pRenderPass, 1);
- VkResult vkCreateRenderPass2KHR_VkResult_return = (VkResult)0;
- stream->read(&vkCreateRenderPass2KHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateRenderPass2KHR");;
- return vkCreateRenderPass2KHR_VkResult_return;
-}
-
-void VkEncoder::vkCmdBeginRenderPass2KHR(
- VkCommandBuffer commandBuffer,
- const VkRenderPassBeginInfo* pRenderPassBegin,
- const VkSubpassBeginInfoKHR* pSubpassBeginInfo)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdBeginRenderPass2KHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkRenderPassBeginInfo* local_pRenderPassBegin;
- VkSubpassBeginInfoKHR* local_pSubpassBeginInfo;
- local_commandBuffer = commandBuffer;
- local_pRenderPassBegin = nullptr;
- if (pRenderPassBegin)
- {
- local_pRenderPassBegin = (VkRenderPassBeginInfo*)pool->alloc(sizeof(const VkRenderPassBeginInfo));
- deepcopy_VkRenderPassBeginInfo(pool, pRenderPassBegin, (VkRenderPassBeginInfo*)(local_pRenderPassBegin));
- }
- local_pSubpassBeginInfo = nullptr;
- if (pSubpassBeginInfo)
- {
- local_pSubpassBeginInfo = (VkSubpassBeginInfoKHR*)pool->alloc(sizeof(const VkSubpassBeginInfoKHR));
- deepcopy_VkSubpassBeginInfoKHR(pool, pSubpassBeginInfo, (VkSubpassBeginInfoKHR*)(local_pSubpassBeginInfo));
- }
- if (local_pRenderPassBegin)
- {
- transform_tohost_VkRenderPassBeginInfo(mImpl->resources(), (VkRenderPassBeginInfo*)(local_pRenderPassBegin));
- }
- if (local_pSubpassBeginInfo)
- {
- transform_tohost_VkSubpassBeginInfoKHR(mImpl->resources(), (VkSubpassBeginInfoKHR*)(local_pSubpassBeginInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1081;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1081, 1);
- countingStream->write((uint64_t*)&cgen_var_1081, 1 * 8);
- marshal_VkRenderPassBeginInfo(countingStream, (VkRenderPassBeginInfo*)(local_pRenderPassBegin));
- marshal_VkSubpassBeginInfoKHR(countingStream, (VkSubpassBeginInfoKHR*)(local_pSubpassBeginInfo));
- }
- uint32_t packetSize_vkCmdBeginRenderPass2KHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdBeginRenderPass2KHR = OP_vkCmdBeginRenderPass2KHR;
- stream->write(&opcode_vkCmdBeginRenderPass2KHR, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdBeginRenderPass2KHR, sizeof(uint32_t));
- uint64_t cgen_var_1082;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1082, 1);
- stream->write((uint64_t*)&cgen_var_1082, 1 * 8);
- marshal_VkRenderPassBeginInfo(stream, (VkRenderPassBeginInfo*)(local_pRenderPassBegin));
- marshal_VkSubpassBeginInfoKHR(stream, (VkSubpassBeginInfoKHR*)(local_pSubpassBeginInfo));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdBeginRenderPass2KHR");;
-}
-
-void VkEncoder::vkCmdNextSubpass2KHR(
- VkCommandBuffer commandBuffer,
- const VkSubpassBeginInfoKHR* pSubpassBeginInfo,
- const VkSubpassEndInfoKHR* pSubpassEndInfo)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdNextSubpass2KHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkSubpassBeginInfoKHR* local_pSubpassBeginInfo;
- VkSubpassEndInfoKHR* local_pSubpassEndInfo;
- local_commandBuffer = commandBuffer;
- local_pSubpassBeginInfo = nullptr;
- if (pSubpassBeginInfo)
- {
- local_pSubpassBeginInfo = (VkSubpassBeginInfoKHR*)pool->alloc(sizeof(const VkSubpassBeginInfoKHR));
- deepcopy_VkSubpassBeginInfoKHR(pool, pSubpassBeginInfo, (VkSubpassBeginInfoKHR*)(local_pSubpassBeginInfo));
- }
- local_pSubpassEndInfo = nullptr;
- if (pSubpassEndInfo)
- {
- local_pSubpassEndInfo = (VkSubpassEndInfoKHR*)pool->alloc(sizeof(const VkSubpassEndInfoKHR));
- deepcopy_VkSubpassEndInfoKHR(pool, pSubpassEndInfo, (VkSubpassEndInfoKHR*)(local_pSubpassEndInfo));
- }
- if (local_pSubpassBeginInfo)
- {
- transform_tohost_VkSubpassBeginInfoKHR(mImpl->resources(), (VkSubpassBeginInfoKHR*)(local_pSubpassBeginInfo));
- }
- if (local_pSubpassEndInfo)
- {
- transform_tohost_VkSubpassEndInfoKHR(mImpl->resources(), (VkSubpassEndInfoKHR*)(local_pSubpassEndInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1083;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1083, 1);
- countingStream->write((uint64_t*)&cgen_var_1083, 1 * 8);
- marshal_VkSubpassBeginInfoKHR(countingStream, (VkSubpassBeginInfoKHR*)(local_pSubpassBeginInfo));
- marshal_VkSubpassEndInfoKHR(countingStream, (VkSubpassEndInfoKHR*)(local_pSubpassEndInfo));
- }
- uint32_t packetSize_vkCmdNextSubpass2KHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdNextSubpass2KHR = OP_vkCmdNextSubpass2KHR;
- stream->write(&opcode_vkCmdNextSubpass2KHR, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdNextSubpass2KHR, sizeof(uint32_t));
- uint64_t cgen_var_1084;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1084, 1);
- stream->write((uint64_t*)&cgen_var_1084, 1 * 8);
- marshal_VkSubpassBeginInfoKHR(stream, (VkSubpassBeginInfoKHR*)(local_pSubpassBeginInfo));
- marshal_VkSubpassEndInfoKHR(stream, (VkSubpassEndInfoKHR*)(local_pSubpassEndInfo));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdNextSubpass2KHR");;
-}
-
-void VkEncoder::vkCmdEndRenderPass2KHR(
- VkCommandBuffer commandBuffer,
- const VkSubpassEndInfoKHR* pSubpassEndInfo)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdEndRenderPass2KHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkSubpassEndInfoKHR* local_pSubpassEndInfo;
- local_commandBuffer = commandBuffer;
- local_pSubpassEndInfo = nullptr;
- if (pSubpassEndInfo)
- {
- local_pSubpassEndInfo = (VkSubpassEndInfoKHR*)pool->alloc(sizeof(const VkSubpassEndInfoKHR));
- deepcopy_VkSubpassEndInfoKHR(pool, pSubpassEndInfo, (VkSubpassEndInfoKHR*)(local_pSubpassEndInfo));
- }
- if (local_pSubpassEndInfo)
- {
- transform_tohost_VkSubpassEndInfoKHR(mImpl->resources(), (VkSubpassEndInfoKHR*)(local_pSubpassEndInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1085;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1085, 1);
- countingStream->write((uint64_t*)&cgen_var_1085, 1 * 8);
- marshal_VkSubpassEndInfoKHR(countingStream, (VkSubpassEndInfoKHR*)(local_pSubpassEndInfo));
- }
- uint32_t packetSize_vkCmdEndRenderPass2KHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdEndRenderPass2KHR = OP_vkCmdEndRenderPass2KHR;
- stream->write(&opcode_vkCmdEndRenderPass2KHR, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdEndRenderPass2KHR, sizeof(uint32_t));
- uint64_t cgen_var_1086;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1086, 1);
- stream->write((uint64_t*)&cgen_var_1086, 1 * 8);
- marshal_VkSubpassEndInfoKHR(stream, (VkSubpassEndInfoKHR*)(local_pSubpassEndInfo));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdEndRenderPass2KHR");;
-}
-
-#endif
-#ifdef VK_KHR_shared_presentable_image
-VkResult VkEncoder::vkGetSwapchainStatusKHR(
- VkDevice device,
- VkSwapchainKHR swapchain)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetSwapchainStatusKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkSwapchainKHR local_swapchain;
- local_device = device;
- local_swapchain = swapchain;
- countingStream->rewind();
- {
- uint64_t cgen_var_1087;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1087, 1);
- countingStream->write((uint64_t*)&cgen_var_1087, 1 * 8);
- uint64_t cgen_var_1088;
- countingStream->handleMapping()->mapHandles_VkSwapchainKHR_u64(&local_swapchain, &cgen_var_1088, 1);
- countingStream->write((uint64_t*)&cgen_var_1088, 1 * 8);
- }
- uint32_t packetSize_vkGetSwapchainStatusKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetSwapchainStatusKHR = OP_vkGetSwapchainStatusKHR;
- stream->write(&opcode_vkGetSwapchainStatusKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetSwapchainStatusKHR, sizeof(uint32_t));
- uint64_t cgen_var_1089;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1089, 1);
- stream->write((uint64_t*)&cgen_var_1089, 1 * 8);
- uint64_t cgen_var_1090;
- stream->handleMapping()->mapHandles_VkSwapchainKHR_u64(&local_swapchain, &cgen_var_1090, 1);
- stream->write((uint64_t*)&cgen_var_1090, 1 * 8);
- VkResult vkGetSwapchainStatusKHR_VkResult_return = (VkResult)0;
- stream->read(&vkGetSwapchainStatusKHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetSwapchainStatusKHR");;
- return vkGetSwapchainStatusKHR_VkResult_return;
-}
-
-#endif
-#ifdef VK_KHR_external_fence_capabilities
-void VkEncoder::vkGetPhysicalDeviceExternalFencePropertiesKHR(
- VkPhysicalDevice physicalDevice,
- const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
- VkExternalFenceProperties* pExternalFenceProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceExternalFencePropertiesKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- VkPhysicalDeviceExternalFenceInfo* local_pExternalFenceInfo;
- local_physicalDevice = physicalDevice;
- local_pExternalFenceInfo = nullptr;
- if (pExternalFenceInfo)
- {
- local_pExternalFenceInfo = (VkPhysicalDeviceExternalFenceInfo*)pool->alloc(sizeof(const VkPhysicalDeviceExternalFenceInfo));
- deepcopy_VkPhysicalDeviceExternalFenceInfo(pool, pExternalFenceInfo, (VkPhysicalDeviceExternalFenceInfo*)(local_pExternalFenceInfo));
- }
- if (local_pExternalFenceInfo)
- {
- transform_tohost_VkPhysicalDeviceExternalFenceInfo(mImpl->resources(), (VkPhysicalDeviceExternalFenceInfo*)(local_pExternalFenceInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1091;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_1091, 1);
- countingStream->write((uint64_t*)&cgen_var_1091, 1 * 8);
- marshal_VkPhysicalDeviceExternalFenceInfo(countingStream, (VkPhysicalDeviceExternalFenceInfo*)(local_pExternalFenceInfo));
- marshal_VkExternalFenceProperties(countingStream, (VkExternalFenceProperties*)(pExternalFenceProperties));
- }
- uint32_t packetSize_vkGetPhysicalDeviceExternalFencePropertiesKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceExternalFencePropertiesKHR = OP_vkGetPhysicalDeviceExternalFencePropertiesKHR;
- stream->write(&opcode_vkGetPhysicalDeviceExternalFencePropertiesKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceExternalFencePropertiesKHR, sizeof(uint32_t));
- uint64_t cgen_var_1092;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_1092, 1);
- stream->write((uint64_t*)&cgen_var_1092, 1 * 8);
- marshal_VkPhysicalDeviceExternalFenceInfo(stream, (VkPhysicalDeviceExternalFenceInfo*)(local_pExternalFenceInfo));
- marshal_VkExternalFenceProperties(stream, (VkExternalFenceProperties*)(pExternalFenceProperties));
- unmarshal_VkExternalFenceProperties(stream, (VkExternalFenceProperties*)(pExternalFenceProperties));
- if (pExternalFenceProperties)
- {
- transform_fromhost_VkExternalFenceProperties(mImpl->resources(), (VkExternalFenceProperties*)(pExternalFenceProperties));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceExternalFencePropertiesKHR");;
-}
-
-#endif
-#ifdef VK_KHR_external_fence
-#endif
-#ifdef VK_KHR_external_fence_win32
-VkResult VkEncoder::vkImportFenceWin32HandleKHR(
- VkDevice device,
- const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkImportFenceWin32HandleKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkImportFenceWin32HandleInfoKHR* local_pImportFenceWin32HandleInfo;
- local_device = device;
- local_pImportFenceWin32HandleInfo = nullptr;
- if (pImportFenceWin32HandleInfo)
- {
- local_pImportFenceWin32HandleInfo = (VkImportFenceWin32HandleInfoKHR*)pool->alloc(sizeof(const VkImportFenceWin32HandleInfoKHR));
- deepcopy_VkImportFenceWin32HandleInfoKHR(pool, pImportFenceWin32HandleInfo, (VkImportFenceWin32HandleInfoKHR*)(local_pImportFenceWin32HandleInfo));
- }
- if (local_pImportFenceWin32HandleInfo)
- {
- transform_tohost_VkImportFenceWin32HandleInfoKHR(mImpl->resources(), (VkImportFenceWin32HandleInfoKHR*)(local_pImportFenceWin32HandleInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1093;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1093, 1);
- countingStream->write((uint64_t*)&cgen_var_1093, 1 * 8);
- marshal_VkImportFenceWin32HandleInfoKHR(countingStream, (VkImportFenceWin32HandleInfoKHR*)(local_pImportFenceWin32HandleInfo));
- }
- uint32_t packetSize_vkImportFenceWin32HandleKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkImportFenceWin32HandleKHR = OP_vkImportFenceWin32HandleKHR;
- stream->write(&opcode_vkImportFenceWin32HandleKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkImportFenceWin32HandleKHR, sizeof(uint32_t));
- uint64_t cgen_var_1094;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1094, 1);
- stream->write((uint64_t*)&cgen_var_1094, 1 * 8);
- marshal_VkImportFenceWin32HandleInfoKHR(stream, (VkImportFenceWin32HandleInfoKHR*)(local_pImportFenceWin32HandleInfo));
- VkResult vkImportFenceWin32HandleKHR_VkResult_return = (VkResult)0;
- stream->read(&vkImportFenceWin32HandleKHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkImportFenceWin32HandleKHR");;
- return vkImportFenceWin32HandleKHR_VkResult_return;
-}
-
-VkResult VkEncoder::vkGetFenceWin32HandleKHR(
- VkDevice device,
- const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo,
- HANDLE* pHandle)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetFenceWin32HandleKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkFenceGetWin32HandleInfoKHR* local_pGetWin32HandleInfo;
- local_device = device;
- local_pGetWin32HandleInfo = nullptr;
- if (pGetWin32HandleInfo)
- {
- local_pGetWin32HandleInfo = (VkFenceGetWin32HandleInfoKHR*)pool->alloc(sizeof(const VkFenceGetWin32HandleInfoKHR));
- deepcopy_VkFenceGetWin32HandleInfoKHR(pool, pGetWin32HandleInfo, (VkFenceGetWin32HandleInfoKHR*)(local_pGetWin32HandleInfo));
- }
- if (local_pGetWin32HandleInfo)
- {
- transform_tohost_VkFenceGetWin32HandleInfoKHR(mImpl->resources(), (VkFenceGetWin32HandleInfoKHR*)(local_pGetWin32HandleInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1095;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1095, 1);
- countingStream->write((uint64_t*)&cgen_var_1095, 1 * 8);
- marshal_VkFenceGetWin32HandleInfoKHR(countingStream, (VkFenceGetWin32HandleInfoKHR*)(local_pGetWin32HandleInfo));
- countingStream->write((HANDLE*)pHandle, sizeof(HANDLE));
- }
- uint32_t packetSize_vkGetFenceWin32HandleKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetFenceWin32HandleKHR = OP_vkGetFenceWin32HandleKHR;
- stream->write(&opcode_vkGetFenceWin32HandleKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetFenceWin32HandleKHR, sizeof(uint32_t));
- uint64_t cgen_var_1096;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1096, 1);
- stream->write((uint64_t*)&cgen_var_1096, 1 * 8);
- marshal_VkFenceGetWin32HandleInfoKHR(stream, (VkFenceGetWin32HandleInfoKHR*)(local_pGetWin32HandleInfo));
- stream->write((HANDLE*)pHandle, sizeof(HANDLE));
- stream->read((HANDLE*)pHandle, sizeof(HANDLE));
- VkResult vkGetFenceWin32HandleKHR_VkResult_return = (VkResult)0;
- stream->read(&vkGetFenceWin32HandleKHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetFenceWin32HandleKHR");;
- return vkGetFenceWin32HandleKHR_VkResult_return;
-}
-
-#endif
-#ifdef VK_KHR_external_fence_fd
-VkResult VkEncoder::vkImportFenceFdKHR(
- VkDevice device,
- const VkImportFenceFdInfoKHR* pImportFenceFdInfo)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkImportFenceFdKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkImportFenceFdInfoKHR* local_pImportFenceFdInfo;
- local_device = device;
- local_pImportFenceFdInfo = nullptr;
- if (pImportFenceFdInfo)
- {
- local_pImportFenceFdInfo = (VkImportFenceFdInfoKHR*)pool->alloc(sizeof(const VkImportFenceFdInfoKHR));
- deepcopy_VkImportFenceFdInfoKHR(pool, pImportFenceFdInfo, (VkImportFenceFdInfoKHR*)(local_pImportFenceFdInfo));
- }
- if (local_pImportFenceFdInfo)
- {
- transform_tohost_VkImportFenceFdInfoKHR(mImpl->resources(), (VkImportFenceFdInfoKHR*)(local_pImportFenceFdInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1097;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1097, 1);
- countingStream->write((uint64_t*)&cgen_var_1097, 1 * 8);
- marshal_VkImportFenceFdInfoKHR(countingStream, (VkImportFenceFdInfoKHR*)(local_pImportFenceFdInfo));
- }
- uint32_t packetSize_vkImportFenceFdKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkImportFenceFdKHR = OP_vkImportFenceFdKHR;
- stream->write(&opcode_vkImportFenceFdKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkImportFenceFdKHR, sizeof(uint32_t));
- uint64_t cgen_var_1098;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1098, 1);
- stream->write((uint64_t*)&cgen_var_1098, 1 * 8);
- marshal_VkImportFenceFdInfoKHR(stream, (VkImportFenceFdInfoKHR*)(local_pImportFenceFdInfo));
- VkResult vkImportFenceFdKHR_VkResult_return = (VkResult)0;
- stream->read(&vkImportFenceFdKHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkImportFenceFdKHR");;
- return vkImportFenceFdKHR_VkResult_return;
-}
-
-VkResult VkEncoder::vkGetFenceFdKHR(
- VkDevice device,
- const VkFenceGetFdInfoKHR* pGetFdInfo,
- int* pFd)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetFenceFdKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkFenceGetFdInfoKHR* local_pGetFdInfo;
- local_device = device;
- local_pGetFdInfo = nullptr;
- if (pGetFdInfo)
- {
- local_pGetFdInfo = (VkFenceGetFdInfoKHR*)pool->alloc(sizeof(const VkFenceGetFdInfoKHR));
- deepcopy_VkFenceGetFdInfoKHR(pool, pGetFdInfo, (VkFenceGetFdInfoKHR*)(local_pGetFdInfo));
- }
- if (local_pGetFdInfo)
- {
- transform_tohost_VkFenceGetFdInfoKHR(mImpl->resources(), (VkFenceGetFdInfoKHR*)(local_pGetFdInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1099;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1099, 1);
- countingStream->write((uint64_t*)&cgen_var_1099, 1 * 8);
- marshal_VkFenceGetFdInfoKHR(countingStream, (VkFenceGetFdInfoKHR*)(local_pGetFdInfo));
- countingStream->write((int*)pFd, sizeof(int));
- }
- uint32_t packetSize_vkGetFenceFdKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetFenceFdKHR = OP_vkGetFenceFdKHR;
- stream->write(&opcode_vkGetFenceFdKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetFenceFdKHR, sizeof(uint32_t));
- uint64_t cgen_var_1100;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1100, 1);
- stream->write((uint64_t*)&cgen_var_1100, 1 * 8);
- marshal_VkFenceGetFdInfoKHR(stream, (VkFenceGetFdInfoKHR*)(local_pGetFdInfo));
- stream->write((int*)pFd, sizeof(int));
- stream->read((int*)pFd, sizeof(int));
- VkResult vkGetFenceFdKHR_VkResult_return = (VkResult)0;
- stream->read(&vkGetFenceFdKHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetFenceFdKHR");;
- return vkGetFenceFdKHR_VkResult_return;
-}
-
-#endif
-#ifdef VK_KHR_maintenance2
-#endif
-#ifdef VK_KHR_get_surface_capabilities2
-VkResult VkEncoder::vkGetPhysicalDeviceSurfaceCapabilities2KHR(
- VkPhysicalDevice physicalDevice,
- const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
- VkSurfaceCapabilities2KHR* pSurfaceCapabilities)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceSurfaceCapabilities2KHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- VkPhysicalDeviceSurfaceInfo2KHR* local_pSurfaceInfo;
- local_physicalDevice = physicalDevice;
- local_pSurfaceInfo = nullptr;
- if (pSurfaceInfo)
- {
- local_pSurfaceInfo = (VkPhysicalDeviceSurfaceInfo2KHR*)pool->alloc(sizeof(const VkPhysicalDeviceSurfaceInfo2KHR));
- deepcopy_VkPhysicalDeviceSurfaceInfo2KHR(pool, pSurfaceInfo, (VkPhysicalDeviceSurfaceInfo2KHR*)(local_pSurfaceInfo));
- }
- if (local_pSurfaceInfo)
- {
- transform_tohost_VkPhysicalDeviceSurfaceInfo2KHR(mImpl->resources(), (VkPhysicalDeviceSurfaceInfo2KHR*)(local_pSurfaceInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1101;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_1101, 1);
- countingStream->write((uint64_t*)&cgen_var_1101, 1 * 8);
- marshal_VkPhysicalDeviceSurfaceInfo2KHR(countingStream, (VkPhysicalDeviceSurfaceInfo2KHR*)(local_pSurfaceInfo));
- marshal_VkSurfaceCapabilities2KHR(countingStream, (VkSurfaceCapabilities2KHR*)(pSurfaceCapabilities));
- }
- uint32_t packetSize_vkGetPhysicalDeviceSurfaceCapabilities2KHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceSurfaceCapabilities2KHR = OP_vkGetPhysicalDeviceSurfaceCapabilities2KHR;
- stream->write(&opcode_vkGetPhysicalDeviceSurfaceCapabilities2KHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceSurfaceCapabilities2KHR, sizeof(uint32_t));
- uint64_t cgen_var_1102;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_1102, 1);
- stream->write((uint64_t*)&cgen_var_1102, 1 * 8);
- marshal_VkPhysicalDeviceSurfaceInfo2KHR(stream, (VkPhysicalDeviceSurfaceInfo2KHR*)(local_pSurfaceInfo));
- marshal_VkSurfaceCapabilities2KHR(stream, (VkSurfaceCapabilities2KHR*)(pSurfaceCapabilities));
- unmarshal_VkSurfaceCapabilities2KHR(stream, (VkSurfaceCapabilities2KHR*)(pSurfaceCapabilities));
- if (pSurfaceCapabilities)
- {
- transform_fromhost_VkSurfaceCapabilities2KHR(mImpl->resources(), (VkSurfaceCapabilities2KHR*)(pSurfaceCapabilities));
- }
- VkResult vkGetPhysicalDeviceSurfaceCapabilities2KHR_VkResult_return = (VkResult)0;
- stream->read(&vkGetPhysicalDeviceSurfaceCapabilities2KHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceSurfaceCapabilities2KHR");;
- return vkGetPhysicalDeviceSurfaceCapabilities2KHR_VkResult_return;
-}
-
-VkResult VkEncoder::vkGetPhysicalDeviceSurfaceFormats2KHR(
- VkPhysicalDevice physicalDevice,
- const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
- uint32_t* pSurfaceFormatCount,
- VkSurfaceFormat2KHR* pSurfaceFormats)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceSurfaceFormats2KHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- VkPhysicalDeviceSurfaceInfo2KHR* local_pSurfaceInfo;
- local_physicalDevice = physicalDevice;
- local_pSurfaceInfo = nullptr;
- if (pSurfaceInfo)
- {
- local_pSurfaceInfo = (VkPhysicalDeviceSurfaceInfo2KHR*)pool->alloc(sizeof(const VkPhysicalDeviceSurfaceInfo2KHR));
- deepcopy_VkPhysicalDeviceSurfaceInfo2KHR(pool, pSurfaceInfo, (VkPhysicalDeviceSurfaceInfo2KHR*)(local_pSurfaceInfo));
- }
- if (local_pSurfaceInfo)
- {
- transform_tohost_VkPhysicalDeviceSurfaceInfo2KHR(mImpl->resources(), (VkPhysicalDeviceSurfaceInfo2KHR*)(local_pSurfaceInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1103;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_1103, 1);
- countingStream->write((uint64_t*)&cgen_var_1103, 1 * 8);
- marshal_VkPhysicalDeviceSurfaceInfo2KHR(countingStream, (VkPhysicalDeviceSurfaceInfo2KHR*)(local_pSurfaceInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_1104 = (uint64_t)(uintptr_t)pSurfaceFormatCount;
- countingStream->putBe64(cgen_var_1104);
- if (pSurfaceFormatCount)
- {
- countingStream->write((uint32_t*)pSurfaceFormatCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_1105 = (uint64_t)(uintptr_t)pSurfaceFormats;
- countingStream->putBe64(cgen_var_1105);
- if (pSurfaceFormats)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pSurfaceFormatCount)); ++i)
- {
- marshal_VkSurfaceFormat2KHR(countingStream, (VkSurfaceFormat2KHR*)(pSurfaceFormats + i));
- }
- }
- }
- uint32_t packetSize_vkGetPhysicalDeviceSurfaceFormats2KHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceSurfaceFormats2KHR = OP_vkGetPhysicalDeviceSurfaceFormats2KHR;
- stream->write(&opcode_vkGetPhysicalDeviceSurfaceFormats2KHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceSurfaceFormats2KHR, sizeof(uint32_t));
- uint64_t cgen_var_1106;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_1106, 1);
- stream->write((uint64_t*)&cgen_var_1106, 1 * 8);
- marshal_VkPhysicalDeviceSurfaceInfo2KHR(stream, (VkPhysicalDeviceSurfaceInfo2KHR*)(local_pSurfaceInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_1107 = (uint64_t)(uintptr_t)pSurfaceFormatCount;
- stream->putBe64(cgen_var_1107);
- if (pSurfaceFormatCount)
- {
- stream->write((uint32_t*)pSurfaceFormatCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_1108 = (uint64_t)(uintptr_t)pSurfaceFormats;
- stream->putBe64(cgen_var_1108);
- if (pSurfaceFormats)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pSurfaceFormatCount)); ++i)
- {
- marshal_VkSurfaceFormat2KHR(stream, (VkSurfaceFormat2KHR*)(pSurfaceFormats + i));
- }
- }
- // WARNING PTR CHECK
- uint32_t* check_pSurfaceFormatCount;
- check_pSurfaceFormatCount = (uint32_t*)(uintptr_t)stream->getBe64();
- if (pSurfaceFormatCount)
- {
- if (!(check_pSurfaceFormatCount))
- {
- fprintf(stderr, "fatal: pSurfaceFormatCount inconsistent between guest and host\n");
- }
- stream->read((uint32_t*)pSurfaceFormatCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- VkSurfaceFormat2KHR* check_pSurfaceFormats;
- check_pSurfaceFormats = (VkSurfaceFormat2KHR*)(uintptr_t)stream->getBe64();
- if (pSurfaceFormats)
- {
- if (!(check_pSurfaceFormats))
- {
- fprintf(stderr, "fatal: pSurfaceFormats inconsistent between guest and host\n");
- }
- for (uint32_t i = 0; i < (uint32_t)(*(pSurfaceFormatCount)); ++i)
- {
- unmarshal_VkSurfaceFormat2KHR(stream, (VkSurfaceFormat2KHR*)(pSurfaceFormats + i));
- }
- }
- if (pSurfaceFormats)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pSurfaceFormatCount)); ++i)
- {
- transform_fromhost_VkSurfaceFormat2KHR(mImpl->resources(), (VkSurfaceFormat2KHR*)(pSurfaceFormats + i));
- }
- }
- VkResult vkGetPhysicalDeviceSurfaceFormats2KHR_VkResult_return = (VkResult)0;
- stream->read(&vkGetPhysicalDeviceSurfaceFormats2KHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceSurfaceFormats2KHR");;
- return vkGetPhysicalDeviceSurfaceFormats2KHR_VkResult_return;
-}
-
-#endif
-#ifdef VK_KHR_variable_pointers
-#endif
-#ifdef VK_KHR_get_display_properties2
-VkResult VkEncoder::vkGetPhysicalDeviceDisplayProperties2KHR(
- VkPhysicalDevice physicalDevice,
- uint32_t* pPropertyCount,
- VkDisplayProperties2KHR* pProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceDisplayProperties2KHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- local_physicalDevice = physicalDevice;
- countingStream->rewind();
- {
- uint64_t cgen_var_1111;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_1111, 1);
- countingStream->write((uint64_t*)&cgen_var_1111, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_1112 = (uint64_t)(uintptr_t)pPropertyCount;
- countingStream->putBe64(cgen_var_1112);
- if (pPropertyCount)
- {
- countingStream->write((uint32_t*)pPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_1113 = (uint64_t)(uintptr_t)pProperties;
- countingStream->putBe64(cgen_var_1113);
- if (pProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- marshal_VkDisplayProperties2KHR(countingStream, (VkDisplayProperties2KHR*)(pProperties + i));
- }
- }
- }
- uint32_t packetSize_vkGetPhysicalDeviceDisplayProperties2KHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceDisplayProperties2KHR = OP_vkGetPhysicalDeviceDisplayProperties2KHR;
- stream->write(&opcode_vkGetPhysicalDeviceDisplayProperties2KHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceDisplayProperties2KHR, sizeof(uint32_t));
- uint64_t cgen_var_1114;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_1114, 1);
- stream->write((uint64_t*)&cgen_var_1114, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_1115 = (uint64_t)(uintptr_t)pPropertyCount;
- stream->putBe64(cgen_var_1115);
- if (pPropertyCount)
- {
- stream->write((uint32_t*)pPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_1116 = (uint64_t)(uintptr_t)pProperties;
- stream->putBe64(cgen_var_1116);
- if (pProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- marshal_VkDisplayProperties2KHR(stream, (VkDisplayProperties2KHR*)(pProperties + i));
- }
- }
- // WARNING PTR CHECK
- uint32_t* check_pPropertyCount;
- check_pPropertyCount = (uint32_t*)(uintptr_t)stream->getBe64();
- if (pPropertyCount)
- {
- if (!(check_pPropertyCount))
- {
- fprintf(stderr, "fatal: pPropertyCount inconsistent between guest and host\n");
- }
- stream->read((uint32_t*)pPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- VkDisplayProperties2KHR* check_pProperties;
- check_pProperties = (VkDisplayProperties2KHR*)(uintptr_t)stream->getBe64();
- if (pProperties)
- {
- if (!(check_pProperties))
- {
- fprintf(stderr, "fatal: pProperties inconsistent between guest and host\n");
- }
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- unmarshal_VkDisplayProperties2KHR(stream, (VkDisplayProperties2KHR*)(pProperties + i));
- }
- }
- if (pProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- transform_fromhost_VkDisplayProperties2KHR(mImpl->resources(), (VkDisplayProperties2KHR*)(pProperties + i));
- }
- }
- VkResult vkGetPhysicalDeviceDisplayProperties2KHR_VkResult_return = (VkResult)0;
- stream->read(&vkGetPhysicalDeviceDisplayProperties2KHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceDisplayProperties2KHR");;
- return vkGetPhysicalDeviceDisplayProperties2KHR_VkResult_return;
-}
-
-VkResult VkEncoder::vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
- VkPhysicalDevice physicalDevice,
- uint32_t* pPropertyCount,
- VkDisplayPlaneProperties2KHR* pProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceDisplayPlaneProperties2KHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- local_physicalDevice = physicalDevice;
- countingStream->rewind();
- {
- uint64_t cgen_var_1119;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_1119, 1);
- countingStream->write((uint64_t*)&cgen_var_1119, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_1120 = (uint64_t)(uintptr_t)pPropertyCount;
- countingStream->putBe64(cgen_var_1120);
- if (pPropertyCount)
- {
- countingStream->write((uint32_t*)pPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_1121 = (uint64_t)(uintptr_t)pProperties;
- countingStream->putBe64(cgen_var_1121);
- if (pProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- marshal_VkDisplayPlaneProperties2KHR(countingStream, (VkDisplayPlaneProperties2KHR*)(pProperties + i));
- }
- }
- }
- uint32_t packetSize_vkGetPhysicalDeviceDisplayPlaneProperties2KHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceDisplayPlaneProperties2KHR = OP_vkGetPhysicalDeviceDisplayPlaneProperties2KHR;
- stream->write(&opcode_vkGetPhysicalDeviceDisplayPlaneProperties2KHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceDisplayPlaneProperties2KHR, sizeof(uint32_t));
- uint64_t cgen_var_1122;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_1122, 1);
- stream->write((uint64_t*)&cgen_var_1122, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_1123 = (uint64_t)(uintptr_t)pPropertyCount;
- stream->putBe64(cgen_var_1123);
- if (pPropertyCount)
- {
- stream->write((uint32_t*)pPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_1124 = (uint64_t)(uintptr_t)pProperties;
- stream->putBe64(cgen_var_1124);
- if (pProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- marshal_VkDisplayPlaneProperties2KHR(stream, (VkDisplayPlaneProperties2KHR*)(pProperties + i));
- }
- }
- // WARNING PTR CHECK
- uint32_t* check_pPropertyCount;
- check_pPropertyCount = (uint32_t*)(uintptr_t)stream->getBe64();
- if (pPropertyCount)
- {
- if (!(check_pPropertyCount))
- {
- fprintf(stderr, "fatal: pPropertyCount inconsistent between guest and host\n");
- }
- stream->read((uint32_t*)pPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- VkDisplayPlaneProperties2KHR* check_pProperties;
- check_pProperties = (VkDisplayPlaneProperties2KHR*)(uintptr_t)stream->getBe64();
- if (pProperties)
- {
- if (!(check_pProperties))
- {
- fprintf(stderr, "fatal: pProperties inconsistent between guest and host\n");
- }
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- unmarshal_VkDisplayPlaneProperties2KHR(stream, (VkDisplayPlaneProperties2KHR*)(pProperties + i));
- }
- }
- if (pProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- transform_fromhost_VkDisplayPlaneProperties2KHR(mImpl->resources(), (VkDisplayPlaneProperties2KHR*)(pProperties + i));
- }
- }
- VkResult vkGetPhysicalDeviceDisplayPlaneProperties2KHR_VkResult_return = (VkResult)0;
- stream->read(&vkGetPhysicalDeviceDisplayPlaneProperties2KHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceDisplayPlaneProperties2KHR");;
- return vkGetPhysicalDeviceDisplayPlaneProperties2KHR_VkResult_return;
-}
-
-VkResult VkEncoder::vkGetDisplayModeProperties2KHR(
- VkPhysicalDevice physicalDevice,
- VkDisplayKHR display,
- uint32_t* pPropertyCount,
- VkDisplayModeProperties2KHR* pProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetDisplayModeProperties2KHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- VkDisplayKHR local_display;
- local_physicalDevice = physicalDevice;
- local_display = display;
- countingStream->rewind();
- {
- uint64_t cgen_var_1127;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_1127, 1);
- countingStream->write((uint64_t*)&cgen_var_1127, 1 * 8);
- uint64_t cgen_var_1128;
- countingStream->handleMapping()->mapHandles_VkDisplayKHR_u64(&local_display, &cgen_var_1128, 1);
- countingStream->write((uint64_t*)&cgen_var_1128, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_1129 = (uint64_t)(uintptr_t)pPropertyCount;
- countingStream->putBe64(cgen_var_1129);
- if (pPropertyCount)
- {
- countingStream->write((uint32_t*)pPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_1130 = (uint64_t)(uintptr_t)pProperties;
- countingStream->putBe64(cgen_var_1130);
- if (pProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- marshal_VkDisplayModeProperties2KHR(countingStream, (VkDisplayModeProperties2KHR*)(pProperties + i));
- }
- }
- }
- uint32_t packetSize_vkGetDisplayModeProperties2KHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetDisplayModeProperties2KHR = OP_vkGetDisplayModeProperties2KHR;
- stream->write(&opcode_vkGetDisplayModeProperties2KHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetDisplayModeProperties2KHR, sizeof(uint32_t));
- uint64_t cgen_var_1131;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_1131, 1);
- stream->write((uint64_t*)&cgen_var_1131, 1 * 8);
- uint64_t cgen_var_1132;
- stream->handleMapping()->mapHandles_VkDisplayKHR_u64(&local_display, &cgen_var_1132, 1);
- stream->write((uint64_t*)&cgen_var_1132, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_1133 = (uint64_t)(uintptr_t)pPropertyCount;
- stream->putBe64(cgen_var_1133);
- if (pPropertyCount)
- {
- stream->write((uint32_t*)pPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_1134 = (uint64_t)(uintptr_t)pProperties;
- stream->putBe64(cgen_var_1134);
- if (pProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- marshal_VkDisplayModeProperties2KHR(stream, (VkDisplayModeProperties2KHR*)(pProperties + i));
- }
- }
- // WARNING PTR CHECK
- uint32_t* check_pPropertyCount;
- check_pPropertyCount = (uint32_t*)(uintptr_t)stream->getBe64();
- if (pPropertyCount)
- {
- if (!(check_pPropertyCount))
- {
- fprintf(stderr, "fatal: pPropertyCount inconsistent between guest and host\n");
- }
- stream->read((uint32_t*)pPropertyCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- VkDisplayModeProperties2KHR* check_pProperties;
- check_pProperties = (VkDisplayModeProperties2KHR*)(uintptr_t)stream->getBe64();
- if (pProperties)
- {
- if (!(check_pProperties))
- {
- fprintf(stderr, "fatal: pProperties inconsistent between guest and host\n");
- }
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- unmarshal_VkDisplayModeProperties2KHR(stream, (VkDisplayModeProperties2KHR*)(pProperties + i));
- }
- }
- if (pProperties)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPropertyCount)); ++i)
- {
- transform_fromhost_VkDisplayModeProperties2KHR(mImpl->resources(), (VkDisplayModeProperties2KHR*)(pProperties + i));
- }
- }
- VkResult vkGetDisplayModeProperties2KHR_VkResult_return = (VkResult)0;
- stream->read(&vkGetDisplayModeProperties2KHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetDisplayModeProperties2KHR");;
- return vkGetDisplayModeProperties2KHR_VkResult_return;
-}
-
-VkResult VkEncoder::vkGetDisplayPlaneCapabilities2KHR(
- VkPhysicalDevice physicalDevice,
- const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo,
- VkDisplayPlaneCapabilities2KHR* pCapabilities)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetDisplayPlaneCapabilities2KHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- VkDisplayPlaneInfo2KHR* local_pDisplayPlaneInfo;
- local_physicalDevice = physicalDevice;
- local_pDisplayPlaneInfo = nullptr;
- if (pDisplayPlaneInfo)
- {
- local_pDisplayPlaneInfo = (VkDisplayPlaneInfo2KHR*)pool->alloc(sizeof(const VkDisplayPlaneInfo2KHR));
- deepcopy_VkDisplayPlaneInfo2KHR(pool, pDisplayPlaneInfo, (VkDisplayPlaneInfo2KHR*)(local_pDisplayPlaneInfo));
- }
- if (local_pDisplayPlaneInfo)
- {
- transform_tohost_VkDisplayPlaneInfo2KHR(mImpl->resources(), (VkDisplayPlaneInfo2KHR*)(local_pDisplayPlaneInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1137;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_1137, 1);
- countingStream->write((uint64_t*)&cgen_var_1137, 1 * 8);
- marshal_VkDisplayPlaneInfo2KHR(countingStream, (VkDisplayPlaneInfo2KHR*)(local_pDisplayPlaneInfo));
- marshal_VkDisplayPlaneCapabilities2KHR(countingStream, (VkDisplayPlaneCapabilities2KHR*)(pCapabilities));
- }
- uint32_t packetSize_vkGetDisplayPlaneCapabilities2KHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetDisplayPlaneCapabilities2KHR = OP_vkGetDisplayPlaneCapabilities2KHR;
- stream->write(&opcode_vkGetDisplayPlaneCapabilities2KHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetDisplayPlaneCapabilities2KHR, sizeof(uint32_t));
- uint64_t cgen_var_1138;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_1138, 1);
- stream->write((uint64_t*)&cgen_var_1138, 1 * 8);
- marshal_VkDisplayPlaneInfo2KHR(stream, (VkDisplayPlaneInfo2KHR*)(local_pDisplayPlaneInfo));
- marshal_VkDisplayPlaneCapabilities2KHR(stream, (VkDisplayPlaneCapabilities2KHR*)(pCapabilities));
- unmarshal_VkDisplayPlaneCapabilities2KHR(stream, (VkDisplayPlaneCapabilities2KHR*)(pCapabilities));
- if (pCapabilities)
- {
- transform_fromhost_VkDisplayPlaneCapabilities2KHR(mImpl->resources(), (VkDisplayPlaneCapabilities2KHR*)(pCapabilities));
- }
- VkResult vkGetDisplayPlaneCapabilities2KHR_VkResult_return = (VkResult)0;
- stream->read(&vkGetDisplayPlaneCapabilities2KHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetDisplayPlaneCapabilities2KHR");;
- return vkGetDisplayPlaneCapabilities2KHR_VkResult_return;
-}
-
-#endif
-#ifdef VK_KHR_dedicated_allocation
-#endif
-#ifdef VK_KHR_storage_buffer_storage_class
-#endif
-#ifdef VK_KHR_relaxed_block_layout
-#endif
-#ifdef VK_KHR_get_memory_requirements2
-void VkEncoder::vkGetImageMemoryRequirements2KHR(
- VkDevice device,
- const VkImageMemoryRequirementsInfo2* pInfo,
- VkMemoryRequirements2* pMemoryRequirements)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetImageMemoryRequirements2KHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkImageMemoryRequirementsInfo2* local_pInfo;
- local_device = device;
- local_pInfo = nullptr;
- if (pInfo)
- {
- local_pInfo = (VkImageMemoryRequirementsInfo2*)pool->alloc(sizeof(const VkImageMemoryRequirementsInfo2));
- deepcopy_VkImageMemoryRequirementsInfo2(pool, pInfo, (VkImageMemoryRequirementsInfo2*)(local_pInfo));
- }
- if (local_pInfo)
- {
- transform_tohost_VkImageMemoryRequirementsInfo2(mImpl->resources(), (VkImageMemoryRequirementsInfo2*)(local_pInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1139;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1139, 1);
- countingStream->write((uint64_t*)&cgen_var_1139, 1 * 8);
- marshal_VkImageMemoryRequirementsInfo2(countingStream, (VkImageMemoryRequirementsInfo2*)(local_pInfo));
- marshal_VkMemoryRequirements2(countingStream, (VkMemoryRequirements2*)(pMemoryRequirements));
- }
- uint32_t packetSize_vkGetImageMemoryRequirements2KHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetImageMemoryRequirements2KHR = OP_vkGetImageMemoryRequirements2KHR;
- stream->write(&opcode_vkGetImageMemoryRequirements2KHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetImageMemoryRequirements2KHR, sizeof(uint32_t));
- uint64_t cgen_var_1140;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1140, 1);
- stream->write((uint64_t*)&cgen_var_1140, 1 * 8);
- marshal_VkImageMemoryRequirementsInfo2(stream, (VkImageMemoryRequirementsInfo2*)(local_pInfo));
- marshal_VkMemoryRequirements2(stream, (VkMemoryRequirements2*)(pMemoryRequirements));
- unmarshal_VkMemoryRequirements2(stream, (VkMemoryRequirements2*)(pMemoryRequirements));
- if (pMemoryRequirements)
- {
- transform_fromhost_VkMemoryRequirements2(mImpl->resources(), (VkMemoryRequirements2*)(pMemoryRequirements));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetImageMemoryRequirements2KHR");;
-}
-
-void VkEncoder::vkGetBufferMemoryRequirements2KHR(
- VkDevice device,
- const VkBufferMemoryRequirementsInfo2* pInfo,
- VkMemoryRequirements2* pMemoryRequirements)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetBufferMemoryRequirements2KHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkBufferMemoryRequirementsInfo2* local_pInfo;
- local_device = device;
- local_pInfo = nullptr;
- if (pInfo)
- {
- local_pInfo = (VkBufferMemoryRequirementsInfo2*)pool->alloc(sizeof(const VkBufferMemoryRequirementsInfo2));
- deepcopy_VkBufferMemoryRequirementsInfo2(pool, pInfo, (VkBufferMemoryRequirementsInfo2*)(local_pInfo));
- }
- if (local_pInfo)
- {
- transform_tohost_VkBufferMemoryRequirementsInfo2(mImpl->resources(), (VkBufferMemoryRequirementsInfo2*)(local_pInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1141;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1141, 1);
- countingStream->write((uint64_t*)&cgen_var_1141, 1 * 8);
- marshal_VkBufferMemoryRequirementsInfo2(countingStream, (VkBufferMemoryRequirementsInfo2*)(local_pInfo));
- marshal_VkMemoryRequirements2(countingStream, (VkMemoryRequirements2*)(pMemoryRequirements));
- }
- uint32_t packetSize_vkGetBufferMemoryRequirements2KHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetBufferMemoryRequirements2KHR = OP_vkGetBufferMemoryRequirements2KHR;
- stream->write(&opcode_vkGetBufferMemoryRequirements2KHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetBufferMemoryRequirements2KHR, sizeof(uint32_t));
- uint64_t cgen_var_1142;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1142, 1);
- stream->write((uint64_t*)&cgen_var_1142, 1 * 8);
- marshal_VkBufferMemoryRequirementsInfo2(stream, (VkBufferMemoryRequirementsInfo2*)(local_pInfo));
- marshal_VkMemoryRequirements2(stream, (VkMemoryRequirements2*)(pMemoryRequirements));
- unmarshal_VkMemoryRequirements2(stream, (VkMemoryRequirements2*)(pMemoryRequirements));
- if (pMemoryRequirements)
- {
- transform_fromhost_VkMemoryRequirements2(mImpl->resources(), (VkMemoryRequirements2*)(pMemoryRequirements));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetBufferMemoryRequirements2KHR");;
-}
-
-void VkEncoder::vkGetImageSparseMemoryRequirements2KHR(
- VkDevice device,
- const VkImageSparseMemoryRequirementsInfo2* pInfo,
- uint32_t* pSparseMemoryRequirementCount,
- VkSparseImageMemoryRequirements2* pSparseMemoryRequirements)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetImageSparseMemoryRequirements2KHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkImageSparseMemoryRequirementsInfo2* local_pInfo;
- local_device = device;
- local_pInfo = nullptr;
- if (pInfo)
- {
- local_pInfo = (VkImageSparseMemoryRequirementsInfo2*)pool->alloc(sizeof(const VkImageSparseMemoryRequirementsInfo2));
- deepcopy_VkImageSparseMemoryRequirementsInfo2(pool, pInfo, (VkImageSparseMemoryRequirementsInfo2*)(local_pInfo));
- }
- if (local_pInfo)
- {
- transform_tohost_VkImageSparseMemoryRequirementsInfo2(mImpl->resources(), (VkImageSparseMemoryRequirementsInfo2*)(local_pInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1143;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1143, 1);
- countingStream->write((uint64_t*)&cgen_var_1143, 1 * 8);
- marshal_VkImageSparseMemoryRequirementsInfo2(countingStream, (VkImageSparseMemoryRequirementsInfo2*)(local_pInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_1144 = (uint64_t)(uintptr_t)pSparseMemoryRequirementCount;
- countingStream->putBe64(cgen_var_1144);
- if (pSparseMemoryRequirementCount)
- {
- countingStream->write((uint32_t*)pSparseMemoryRequirementCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_1145 = (uint64_t)(uintptr_t)pSparseMemoryRequirements;
- countingStream->putBe64(cgen_var_1145);
- if (pSparseMemoryRequirements)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pSparseMemoryRequirementCount)); ++i)
- {
- marshal_VkSparseImageMemoryRequirements2(countingStream, (VkSparseImageMemoryRequirements2*)(pSparseMemoryRequirements + i));
- }
- }
- }
- uint32_t packetSize_vkGetImageSparseMemoryRequirements2KHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetImageSparseMemoryRequirements2KHR = OP_vkGetImageSparseMemoryRequirements2KHR;
- stream->write(&opcode_vkGetImageSparseMemoryRequirements2KHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetImageSparseMemoryRequirements2KHR, sizeof(uint32_t));
- uint64_t cgen_var_1146;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1146, 1);
- stream->write((uint64_t*)&cgen_var_1146, 1 * 8);
- marshal_VkImageSparseMemoryRequirementsInfo2(stream, (VkImageSparseMemoryRequirementsInfo2*)(local_pInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_1147 = (uint64_t)(uintptr_t)pSparseMemoryRequirementCount;
- stream->putBe64(cgen_var_1147);
- if (pSparseMemoryRequirementCount)
- {
- stream->write((uint32_t*)pSparseMemoryRequirementCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_1148 = (uint64_t)(uintptr_t)pSparseMemoryRequirements;
- stream->putBe64(cgen_var_1148);
- if (pSparseMemoryRequirements)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pSparseMemoryRequirementCount)); ++i)
- {
- marshal_VkSparseImageMemoryRequirements2(stream, (VkSparseImageMemoryRequirements2*)(pSparseMemoryRequirements + i));
- }
- }
- // WARNING PTR CHECK
- uint32_t* check_pSparseMemoryRequirementCount;
- check_pSparseMemoryRequirementCount = (uint32_t*)(uintptr_t)stream->getBe64();
- if (pSparseMemoryRequirementCount)
- {
- if (!(check_pSparseMemoryRequirementCount))
- {
- fprintf(stderr, "fatal: pSparseMemoryRequirementCount inconsistent between guest and host\n");
- }
- stream->read((uint32_t*)pSparseMemoryRequirementCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- VkSparseImageMemoryRequirements2* check_pSparseMemoryRequirements;
- check_pSparseMemoryRequirements = (VkSparseImageMemoryRequirements2*)(uintptr_t)stream->getBe64();
- if (pSparseMemoryRequirements)
- {
- if (!(check_pSparseMemoryRequirements))
- {
- fprintf(stderr, "fatal: pSparseMemoryRequirements inconsistent between guest and host\n");
- }
- for (uint32_t i = 0; i < (uint32_t)(*(pSparseMemoryRequirementCount)); ++i)
- {
- unmarshal_VkSparseImageMemoryRequirements2(stream, (VkSparseImageMemoryRequirements2*)(pSparseMemoryRequirements + i));
- }
- }
- if (pSparseMemoryRequirements)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pSparseMemoryRequirementCount)); ++i)
- {
- transform_fromhost_VkSparseImageMemoryRequirements2(mImpl->resources(), (VkSparseImageMemoryRequirements2*)(pSparseMemoryRequirements + i));
- }
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetImageSparseMemoryRequirements2KHR");;
-}
-
-#endif
-#ifdef VK_KHR_image_format_list
-#endif
-#ifdef VK_KHR_sampler_ycbcr_conversion
-VkResult VkEncoder::vkCreateSamplerYcbcrConversionKHR(
- VkDevice device,
- const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSamplerYcbcrConversion* pYcbcrConversion)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateSamplerYcbcrConversionKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkSamplerYcbcrConversionCreateInfo* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkSamplerYcbcrConversionCreateInfo*)pool->alloc(sizeof(const VkSamplerYcbcrConversionCreateInfo));
- deepcopy_VkSamplerYcbcrConversionCreateInfo(pool, pCreateInfo, (VkSamplerYcbcrConversionCreateInfo*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkSamplerYcbcrConversionCreateInfo(mImpl->resources(), (VkSamplerYcbcrConversionCreateInfo*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1151;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1151, 1);
- countingStream->write((uint64_t*)&cgen_var_1151, 1 * 8);
- marshal_VkSamplerYcbcrConversionCreateInfo(countingStream, (VkSamplerYcbcrConversionCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_1152 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_1152);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_1153;
- countingStream->handleMapping()->mapHandles_VkSamplerYcbcrConversion_u64(pYcbcrConversion, &cgen_var_1153, 1);
- countingStream->write((uint64_t*)&cgen_var_1153, 8);
- }
- uint32_t packetSize_vkCreateSamplerYcbcrConversionKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateSamplerYcbcrConversionKHR = OP_vkCreateSamplerYcbcrConversionKHR;
- stream->write(&opcode_vkCreateSamplerYcbcrConversionKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateSamplerYcbcrConversionKHR, sizeof(uint32_t));
- uint64_t cgen_var_1154;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1154, 1);
- stream->write((uint64_t*)&cgen_var_1154, 1 * 8);
- marshal_VkSamplerYcbcrConversionCreateInfo(stream, (VkSamplerYcbcrConversionCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_1155 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_1155);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_1156;
- stream->handleMapping()->mapHandles_VkSamplerYcbcrConversion_u64(pYcbcrConversion, &cgen_var_1156, 1);
- stream->write((uint64_t*)&cgen_var_1156, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- stream->setHandleMapping(resources->createMapping());
- uint64_t cgen_var_1157;
- stream->read((uint64_t*)&cgen_var_1157, 8);
- stream->handleMapping()->mapHandles_u64_VkSamplerYcbcrConversion(&cgen_var_1157, (VkSamplerYcbcrConversion*)pYcbcrConversion, 1);
- stream->unsetHandleMapping();
- VkResult vkCreateSamplerYcbcrConversionKHR_VkResult_return = (VkResult)0;
- stream->read(&vkCreateSamplerYcbcrConversionKHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateSamplerYcbcrConversionKHR");;
- return vkCreateSamplerYcbcrConversionKHR_VkResult_return;
-}
-
-void VkEncoder::vkDestroySamplerYcbcrConversionKHR(
- VkDevice device,
- VkSamplerYcbcrConversion ycbcrConversion,
- const VkAllocationCallbacks* pAllocator)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkDestroySamplerYcbcrConversionKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkSamplerYcbcrConversion local_ycbcrConversion;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_ycbcrConversion = ycbcrConversion;
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1158;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1158, 1);
- countingStream->write((uint64_t*)&cgen_var_1158, 1 * 8);
- uint64_t cgen_var_1159;
- countingStream->handleMapping()->mapHandles_VkSamplerYcbcrConversion_u64(&local_ycbcrConversion, &cgen_var_1159, 1);
- countingStream->write((uint64_t*)&cgen_var_1159, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_1160 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_1160);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- }
- uint32_t packetSize_vkDestroySamplerYcbcrConversionKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkDestroySamplerYcbcrConversionKHR = OP_vkDestroySamplerYcbcrConversionKHR;
- stream->write(&opcode_vkDestroySamplerYcbcrConversionKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkDestroySamplerYcbcrConversionKHR, sizeof(uint32_t));
- uint64_t cgen_var_1161;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1161, 1);
- stream->write((uint64_t*)&cgen_var_1161, 1 * 8);
- uint64_t cgen_var_1162;
- stream->handleMapping()->mapHandles_VkSamplerYcbcrConversion_u64(&local_ycbcrConversion, &cgen_var_1162, 1);
- stream->write((uint64_t*)&cgen_var_1162, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_1163 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_1163);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- resources->destroyMapping()->mapHandles_VkSamplerYcbcrConversion((VkSamplerYcbcrConversion*)&ycbcrConversion);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkDestroySamplerYcbcrConversionKHR");;
-}
-
-#endif
-#ifdef VK_KHR_bind_memory2
-VkResult VkEncoder::vkBindBufferMemory2KHR(
- VkDevice device,
- uint32_t bindInfoCount,
- const VkBindBufferMemoryInfo* pBindInfos)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkBindBufferMemory2KHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- uint32_t local_bindInfoCount;
- VkBindBufferMemoryInfo* local_pBindInfos;
- local_device = device;
- local_bindInfoCount = bindInfoCount;
- local_pBindInfos = nullptr;
- if (pBindInfos)
- {
- local_pBindInfos = (VkBindBufferMemoryInfo*)pool->alloc(((bindInfoCount)) * sizeof(const VkBindBufferMemoryInfo));
- for (uint32_t i = 0; i < (uint32_t)((bindInfoCount)); ++i)
- {
- deepcopy_VkBindBufferMemoryInfo(pool, pBindInfos + i, (VkBindBufferMemoryInfo*)(local_pBindInfos + i));
- }
- }
- if (local_pBindInfos)
- {
- for (uint32_t i = 0; i < (uint32_t)((bindInfoCount)); ++i)
- {
- transform_tohost_VkBindBufferMemoryInfo(mImpl->resources(), (VkBindBufferMemoryInfo*)(local_pBindInfos + i));
- }
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1164;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1164, 1);
- countingStream->write((uint64_t*)&cgen_var_1164, 1 * 8);
- countingStream->write((uint32_t*)&local_bindInfoCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((bindInfoCount)); ++i)
- {
- marshal_VkBindBufferMemoryInfo(countingStream, (VkBindBufferMemoryInfo*)(local_pBindInfos + i));
- }
- }
- uint32_t packetSize_vkBindBufferMemory2KHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkBindBufferMemory2KHR = OP_vkBindBufferMemory2KHR;
- stream->write(&opcode_vkBindBufferMemory2KHR, sizeof(uint32_t));
- stream->write(&packetSize_vkBindBufferMemory2KHR, sizeof(uint32_t));
- uint64_t cgen_var_1165;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1165, 1);
- stream->write((uint64_t*)&cgen_var_1165, 1 * 8);
- stream->write((uint32_t*)&local_bindInfoCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((bindInfoCount)); ++i)
- {
- marshal_VkBindBufferMemoryInfo(stream, (VkBindBufferMemoryInfo*)(local_pBindInfos + i));
- }
- VkResult vkBindBufferMemory2KHR_VkResult_return = (VkResult)0;
- stream->read(&vkBindBufferMemory2KHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkBindBufferMemory2KHR");;
- return vkBindBufferMemory2KHR_VkResult_return;
-}
-
-VkResult VkEncoder::vkBindImageMemory2KHR(
- VkDevice device,
- uint32_t bindInfoCount,
- const VkBindImageMemoryInfo* pBindInfos)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkBindImageMemory2KHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- uint32_t local_bindInfoCount;
- VkBindImageMemoryInfo* local_pBindInfos;
- local_device = device;
- local_bindInfoCount = bindInfoCount;
- local_pBindInfos = nullptr;
- if (pBindInfos)
- {
- local_pBindInfos = (VkBindImageMemoryInfo*)pool->alloc(((bindInfoCount)) * sizeof(const VkBindImageMemoryInfo));
- for (uint32_t i = 0; i < (uint32_t)((bindInfoCount)); ++i)
- {
- deepcopy_VkBindImageMemoryInfo(pool, pBindInfos + i, (VkBindImageMemoryInfo*)(local_pBindInfos + i));
- }
- }
- if (local_pBindInfos)
- {
- for (uint32_t i = 0; i < (uint32_t)((bindInfoCount)); ++i)
- {
- transform_tohost_VkBindImageMemoryInfo(mImpl->resources(), (VkBindImageMemoryInfo*)(local_pBindInfos + i));
- }
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1166;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1166, 1);
- countingStream->write((uint64_t*)&cgen_var_1166, 1 * 8);
- countingStream->write((uint32_t*)&local_bindInfoCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((bindInfoCount)); ++i)
- {
- marshal_VkBindImageMemoryInfo(countingStream, (VkBindImageMemoryInfo*)(local_pBindInfos + i));
- }
- }
- uint32_t packetSize_vkBindImageMemory2KHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkBindImageMemory2KHR = OP_vkBindImageMemory2KHR;
- stream->write(&opcode_vkBindImageMemory2KHR, sizeof(uint32_t));
- stream->write(&packetSize_vkBindImageMemory2KHR, sizeof(uint32_t));
- uint64_t cgen_var_1167;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1167, 1);
- stream->write((uint64_t*)&cgen_var_1167, 1 * 8);
- stream->write((uint32_t*)&local_bindInfoCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((bindInfoCount)); ++i)
- {
- marshal_VkBindImageMemoryInfo(stream, (VkBindImageMemoryInfo*)(local_pBindInfos + i));
- }
- VkResult vkBindImageMemory2KHR_VkResult_return = (VkResult)0;
- stream->read(&vkBindImageMemory2KHR_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkBindImageMemory2KHR");;
- return vkBindImageMemory2KHR_VkResult_return;
-}
-
-#endif
-#ifdef VK_KHR_maintenance3
-void VkEncoder::vkGetDescriptorSetLayoutSupportKHR(
- VkDevice device,
- const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
- VkDescriptorSetLayoutSupport* pSupport)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetDescriptorSetLayoutSupportKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkDescriptorSetLayoutCreateInfo* local_pCreateInfo;
- local_device = device;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkDescriptorSetLayoutCreateInfo*)pool->alloc(sizeof(const VkDescriptorSetLayoutCreateInfo));
- deepcopy_VkDescriptorSetLayoutCreateInfo(pool, pCreateInfo, (VkDescriptorSetLayoutCreateInfo*)(local_pCreateInfo));
- }
- if (local_pCreateInfo)
- {
- transform_tohost_VkDescriptorSetLayoutCreateInfo(mImpl->resources(), (VkDescriptorSetLayoutCreateInfo*)(local_pCreateInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1168;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1168, 1);
- countingStream->write((uint64_t*)&cgen_var_1168, 1 * 8);
- marshal_VkDescriptorSetLayoutCreateInfo(countingStream, (VkDescriptorSetLayoutCreateInfo*)(local_pCreateInfo));
- marshal_VkDescriptorSetLayoutSupport(countingStream, (VkDescriptorSetLayoutSupport*)(pSupport));
- }
- uint32_t packetSize_vkGetDescriptorSetLayoutSupportKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetDescriptorSetLayoutSupportKHR = OP_vkGetDescriptorSetLayoutSupportKHR;
- stream->write(&opcode_vkGetDescriptorSetLayoutSupportKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkGetDescriptorSetLayoutSupportKHR, sizeof(uint32_t));
- uint64_t cgen_var_1169;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1169, 1);
- stream->write((uint64_t*)&cgen_var_1169, 1 * 8);
- marshal_VkDescriptorSetLayoutCreateInfo(stream, (VkDescriptorSetLayoutCreateInfo*)(local_pCreateInfo));
- marshal_VkDescriptorSetLayoutSupport(stream, (VkDescriptorSetLayoutSupport*)(pSupport));
- unmarshal_VkDescriptorSetLayoutSupport(stream, (VkDescriptorSetLayoutSupport*)(pSupport));
- if (pSupport)
- {
- transform_fromhost_VkDescriptorSetLayoutSupport(mImpl->resources(), (VkDescriptorSetLayoutSupport*)(pSupport));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetDescriptorSetLayoutSupportKHR");;
-}
-
-#endif
-#ifdef VK_KHR_draw_indirect_count
-void VkEncoder::vkCmdDrawIndirectCountKHR(
- VkCommandBuffer commandBuffer,
- VkBuffer buffer,
- VkDeviceSize offset,
- VkBuffer countBuffer,
- VkDeviceSize countBufferOffset,
- uint32_t maxDrawCount,
- uint32_t stride)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdDrawIndirectCountKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkBuffer local_buffer;
- VkDeviceSize local_offset;
- VkBuffer local_countBuffer;
- VkDeviceSize local_countBufferOffset;
- uint32_t local_maxDrawCount;
- uint32_t local_stride;
- local_commandBuffer = commandBuffer;
- local_buffer = buffer;
- local_offset = offset;
- local_countBuffer = countBuffer;
- local_countBufferOffset = countBufferOffset;
- local_maxDrawCount = maxDrawCount;
- local_stride = stride;
- countingStream->rewind();
- {
- uint64_t cgen_var_1170;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1170, 1);
- countingStream->write((uint64_t*)&cgen_var_1170, 1 * 8);
- uint64_t cgen_var_1171;
- countingStream->handleMapping()->mapHandles_VkBuffer_u64(&local_buffer, &cgen_var_1171, 1);
- countingStream->write((uint64_t*)&cgen_var_1171, 1 * 8);
- countingStream->write((VkDeviceSize*)&local_offset, sizeof(VkDeviceSize));
- uint64_t cgen_var_1172;
- countingStream->handleMapping()->mapHandles_VkBuffer_u64(&local_countBuffer, &cgen_var_1172, 1);
- countingStream->write((uint64_t*)&cgen_var_1172, 1 * 8);
- countingStream->write((VkDeviceSize*)&local_countBufferOffset, sizeof(VkDeviceSize));
- countingStream->write((uint32_t*)&local_maxDrawCount, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_stride, sizeof(uint32_t));
- }
- uint32_t packetSize_vkCmdDrawIndirectCountKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdDrawIndirectCountKHR = OP_vkCmdDrawIndirectCountKHR;
- stream->write(&opcode_vkCmdDrawIndirectCountKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdDrawIndirectCountKHR, sizeof(uint32_t));
- uint64_t cgen_var_1173;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1173, 1);
- stream->write((uint64_t*)&cgen_var_1173, 1 * 8);
- uint64_t cgen_var_1174;
- stream->handleMapping()->mapHandles_VkBuffer_u64(&local_buffer, &cgen_var_1174, 1);
- stream->write((uint64_t*)&cgen_var_1174, 1 * 8);
- stream->write((VkDeviceSize*)&local_offset, sizeof(VkDeviceSize));
- uint64_t cgen_var_1175;
- stream->handleMapping()->mapHandles_VkBuffer_u64(&local_countBuffer, &cgen_var_1175, 1);
- stream->write((uint64_t*)&cgen_var_1175, 1 * 8);
- stream->write((VkDeviceSize*)&local_countBufferOffset, sizeof(VkDeviceSize));
- stream->write((uint32_t*)&local_maxDrawCount, sizeof(uint32_t));
- stream->write((uint32_t*)&local_stride, sizeof(uint32_t));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdDrawIndirectCountKHR");;
-}
-
-void VkEncoder::vkCmdDrawIndexedIndirectCountKHR(
- VkCommandBuffer commandBuffer,
- VkBuffer buffer,
- VkDeviceSize offset,
- VkBuffer countBuffer,
- VkDeviceSize countBufferOffset,
- uint32_t maxDrawCount,
- uint32_t stride)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdDrawIndexedIndirectCountKHR");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkBuffer local_buffer;
- VkDeviceSize local_offset;
- VkBuffer local_countBuffer;
- VkDeviceSize local_countBufferOffset;
- uint32_t local_maxDrawCount;
- uint32_t local_stride;
- local_commandBuffer = commandBuffer;
- local_buffer = buffer;
- local_offset = offset;
- local_countBuffer = countBuffer;
- local_countBufferOffset = countBufferOffset;
- local_maxDrawCount = maxDrawCount;
- local_stride = stride;
- countingStream->rewind();
- {
- uint64_t cgen_var_1176;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1176, 1);
- countingStream->write((uint64_t*)&cgen_var_1176, 1 * 8);
- uint64_t cgen_var_1177;
- countingStream->handleMapping()->mapHandles_VkBuffer_u64(&local_buffer, &cgen_var_1177, 1);
- countingStream->write((uint64_t*)&cgen_var_1177, 1 * 8);
- countingStream->write((VkDeviceSize*)&local_offset, sizeof(VkDeviceSize));
- uint64_t cgen_var_1178;
- countingStream->handleMapping()->mapHandles_VkBuffer_u64(&local_countBuffer, &cgen_var_1178, 1);
- countingStream->write((uint64_t*)&cgen_var_1178, 1 * 8);
- countingStream->write((VkDeviceSize*)&local_countBufferOffset, sizeof(VkDeviceSize));
- countingStream->write((uint32_t*)&local_maxDrawCount, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_stride, sizeof(uint32_t));
- }
- uint32_t packetSize_vkCmdDrawIndexedIndirectCountKHR = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdDrawIndexedIndirectCountKHR = OP_vkCmdDrawIndexedIndirectCountKHR;
- stream->write(&opcode_vkCmdDrawIndexedIndirectCountKHR, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdDrawIndexedIndirectCountKHR, sizeof(uint32_t));
- uint64_t cgen_var_1179;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1179, 1);
- stream->write((uint64_t*)&cgen_var_1179, 1 * 8);
- uint64_t cgen_var_1180;
- stream->handleMapping()->mapHandles_VkBuffer_u64(&local_buffer, &cgen_var_1180, 1);
- stream->write((uint64_t*)&cgen_var_1180, 1 * 8);
- stream->write((VkDeviceSize*)&local_offset, sizeof(VkDeviceSize));
- uint64_t cgen_var_1181;
- stream->handleMapping()->mapHandles_VkBuffer_u64(&local_countBuffer, &cgen_var_1181, 1);
- stream->write((uint64_t*)&cgen_var_1181, 1 * 8);
- stream->write((VkDeviceSize*)&local_countBufferOffset, sizeof(VkDeviceSize));
- stream->write((uint32_t*)&local_maxDrawCount, sizeof(uint32_t));
- stream->write((uint32_t*)&local_stride, sizeof(uint32_t));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdDrawIndexedIndirectCountKHR");;
-}
-
-#endif
-#ifdef VK_KHR_8bit_storage
-#endif
-#ifdef VK_KHR_shader_float16_int8
-#endif
-#ifdef VK_ANDROID_native_buffer
-VkResult VkEncoder::vkGetSwapchainGrallocUsageANDROID(
- VkDevice device,
- VkFormat format,
- VkImageUsageFlags imageUsage,
- int* grallocUsage)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetSwapchainGrallocUsageANDROID");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkFormat local_format;
- VkImageUsageFlags local_imageUsage;
- local_device = device;
- local_format = format;
- local_imageUsage = imageUsage;
- countingStream->rewind();
- {
- uint64_t cgen_var_1182;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1182, 1);
- countingStream->write((uint64_t*)&cgen_var_1182, 1 * 8);
- countingStream->write((VkFormat*)&local_format, sizeof(VkFormat));
- countingStream->write((VkImageUsageFlags*)&local_imageUsage, sizeof(VkImageUsageFlags));
- countingStream->write((int*)grallocUsage, sizeof(int));
- }
- uint32_t packetSize_vkGetSwapchainGrallocUsageANDROID = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetSwapchainGrallocUsageANDROID = OP_vkGetSwapchainGrallocUsageANDROID;
- stream->write(&opcode_vkGetSwapchainGrallocUsageANDROID, sizeof(uint32_t));
- stream->write(&packetSize_vkGetSwapchainGrallocUsageANDROID, sizeof(uint32_t));
- uint64_t cgen_var_1183;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1183, 1);
- stream->write((uint64_t*)&cgen_var_1183, 1 * 8);
- stream->write((VkFormat*)&local_format, sizeof(VkFormat));
- stream->write((VkImageUsageFlags*)&local_imageUsage, sizeof(VkImageUsageFlags));
- stream->write((int*)grallocUsage, sizeof(int));
- stream->read((int*)grallocUsage, sizeof(int));
- VkResult vkGetSwapchainGrallocUsageANDROID_VkResult_return = (VkResult)0;
- stream->read(&vkGetSwapchainGrallocUsageANDROID_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetSwapchainGrallocUsageANDROID");;
- return vkGetSwapchainGrallocUsageANDROID_VkResult_return;
-}
-
-VkResult VkEncoder::vkAcquireImageANDROID(
- VkDevice device,
- VkImage image,
- int nativeFenceFd,
- VkSemaphore semaphore,
- VkFence fence)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkAcquireImageANDROID");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkImage local_image;
- int local_nativeFenceFd;
- VkSemaphore local_semaphore;
- VkFence local_fence;
- local_device = device;
- local_image = image;
- local_nativeFenceFd = nativeFenceFd;
- local_semaphore = semaphore;
- local_fence = fence;
- mImpl->resources()->unwrap_vkAcquireImageANDROID_nativeFenceFd(nativeFenceFd, &local_nativeFenceFd);
- countingStream->rewind();
- {
- uint64_t cgen_var_1184;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1184, 1);
- countingStream->write((uint64_t*)&cgen_var_1184, 1 * 8);
- uint64_t cgen_var_1185;
- countingStream->handleMapping()->mapHandles_VkImage_u64(&local_image, &cgen_var_1185, 1);
- countingStream->write((uint64_t*)&cgen_var_1185, 1 * 8);
- countingStream->write((int*)&local_nativeFenceFd, sizeof(int));
- uint64_t cgen_var_1186;
- countingStream->handleMapping()->mapHandles_VkSemaphore_u64(&local_semaphore, &cgen_var_1186, 1);
- countingStream->write((uint64_t*)&cgen_var_1186, 1 * 8);
- uint64_t cgen_var_1187;
- countingStream->handleMapping()->mapHandles_VkFence_u64(&local_fence, &cgen_var_1187, 1);
- countingStream->write((uint64_t*)&cgen_var_1187, 1 * 8);
- }
- uint32_t packetSize_vkAcquireImageANDROID = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkAcquireImageANDROID = OP_vkAcquireImageANDROID;
- stream->write(&opcode_vkAcquireImageANDROID, sizeof(uint32_t));
- stream->write(&packetSize_vkAcquireImageANDROID, sizeof(uint32_t));
- uint64_t cgen_var_1188;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1188, 1);
- stream->write((uint64_t*)&cgen_var_1188, 1 * 8);
- uint64_t cgen_var_1189;
- stream->handleMapping()->mapHandles_VkImage_u64(&local_image, &cgen_var_1189, 1);
- stream->write((uint64_t*)&cgen_var_1189, 1 * 8);
- stream->write((int*)&local_nativeFenceFd, sizeof(int));
- uint64_t cgen_var_1190;
- stream->handleMapping()->mapHandles_VkSemaphore_u64(&local_semaphore, &cgen_var_1190, 1);
- stream->write((uint64_t*)&cgen_var_1190, 1 * 8);
- uint64_t cgen_var_1191;
- stream->handleMapping()->mapHandles_VkFence_u64(&local_fence, &cgen_var_1191, 1);
- stream->write((uint64_t*)&cgen_var_1191, 1 * 8);
- VkResult vkAcquireImageANDROID_VkResult_return = (VkResult)0;
- stream->read(&vkAcquireImageANDROID_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkAcquireImageANDROID");;
- return vkAcquireImageANDROID_VkResult_return;
-}
-
-VkResult VkEncoder::vkQueueSignalReleaseImageANDROID(
- VkQueue queue,
- uint32_t waitSemaphoreCount,
- const VkSemaphore* pWaitSemaphores,
- VkImage image,
- int* pNativeFenceFd)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkQueueSignalReleaseImageANDROID");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkQueue local_queue;
- uint32_t local_waitSemaphoreCount;
- VkSemaphore* local_pWaitSemaphores;
- VkImage local_image;
- local_queue = queue;
- local_waitSemaphoreCount = waitSemaphoreCount;
- local_pWaitSemaphores = nullptr;
- if (pWaitSemaphores)
- {
- local_pWaitSemaphores = (VkSemaphore*)pool->dupArray(pWaitSemaphores, ((waitSemaphoreCount)) * sizeof(const VkSemaphore));
- }
- local_image = image;
- countingStream->rewind();
- {
- uint64_t cgen_var_1192;
- countingStream->handleMapping()->mapHandles_VkQueue_u64(&local_queue, &cgen_var_1192, 1);
- countingStream->write((uint64_t*)&cgen_var_1192, 1 * 8);
- countingStream->write((uint32_t*)&local_waitSemaphoreCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- uint64_t cgen_var_1193 = (uint64_t)(uintptr_t)local_pWaitSemaphores;
- countingStream->putBe64(cgen_var_1193);
- if (local_pWaitSemaphores)
- {
- if (((waitSemaphoreCount)))
- {
- uint64_t* cgen_var_1194;
- countingStream->alloc((void**)&cgen_var_1194, ((waitSemaphoreCount)) * 8);
- countingStream->handleMapping()->mapHandles_VkSemaphore_u64(local_pWaitSemaphores, cgen_var_1194, ((waitSemaphoreCount)));
- countingStream->write((uint64_t*)cgen_var_1194, ((waitSemaphoreCount)) * 8);
- }
- }
- uint64_t cgen_var_1195;
- countingStream->handleMapping()->mapHandles_VkImage_u64(&local_image, &cgen_var_1195, 1);
- countingStream->write((uint64_t*)&cgen_var_1195, 1 * 8);
- countingStream->write((int*)pNativeFenceFd, sizeof(int));
- }
- uint32_t packetSize_vkQueueSignalReleaseImageANDROID = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkQueueSignalReleaseImageANDROID = OP_vkQueueSignalReleaseImageANDROID;
- stream->write(&opcode_vkQueueSignalReleaseImageANDROID, sizeof(uint32_t));
- stream->write(&packetSize_vkQueueSignalReleaseImageANDROID, sizeof(uint32_t));
- uint64_t cgen_var_1196;
- stream->handleMapping()->mapHandles_VkQueue_u64(&local_queue, &cgen_var_1196, 1);
- stream->write((uint64_t*)&cgen_var_1196, 1 * 8);
- stream->write((uint32_t*)&local_waitSemaphoreCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- uint64_t cgen_var_1197 = (uint64_t)(uintptr_t)local_pWaitSemaphores;
- stream->putBe64(cgen_var_1197);
- if (local_pWaitSemaphores)
- {
- if (((waitSemaphoreCount)))
- {
- uint64_t* cgen_var_1198;
- stream->alloc((void**)&cgen_var_1198, ((waitSemaphoreCount)) * 8);
- stream->handleMapping()->mapHandles_VkSemaphore_u64(local_pWaitSemaphores, cgen_var_1198, ((waitSemaphoreCount)));
- stream->write((uint64_t*)cgen_var_1198, ((waitSemaphoreCount)) * 8);
- }
- }
- uint64_t cgen_var_1199;
- stream->handleMapping()->mapHandles_VkImage_u64(&local_image, &cgen_var_1199, 1);
- stream->write((uint64_t*)&cgen_var_1199, 1 * 8);
- stream->write((int*)pNativeFenceFd, sizeof(int));
- stream->read((int*)pNativeFenceFd, sizeof(int));
- VkResult vkQueueSignalReleaseImageANDROID_VkResult_return = (VkResult)0;
- stream->read(&vkQueueSignalReleaseImageANDROID_VkResult_return, sizeof(VkResult));
- stream->flush();
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkQueueSignalReleaseImageANDROID");;
- return vkQueueSignalReleaseImageANDROID_VkResult_return;
-}
-
-#endif
-#ifdef VK_EXT_debug_report
-VkResult VkEncoder::vkCreateDebugReportCallbackEXT(
- VkInstance instance,
- const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkDebugReportCallbackEXT* pCallback)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateDebugReportCallbackEXT");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkInstance local_instance;
- VkDebugReportCallbackCreateInfoEXT* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_instance = instance;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkDebugReportCallbackCreateInfoEXT*)pool->alloc(sizeof(const VkDebugReportCallbackCreateInfoEXT));
- deepcopy_VkDebugReportCallbackCreateInfoEXT(pool, pCreateInfo, (VkDebugReportCallbackCreateInfoEXT*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkDebugReportCallbackCreateInfoEXT(mImpl->resources(), (VkDebugReportCallbackCreateInfoEXT*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1200;
- countingStream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_1200, 1);
- countingStream->write((uint64_t*)&cgen_var_1200, 1 * 8);
- marshal_VkDebugReportCallbackCreateInfoEXT(countingStream, (VkDebugReportCallbackCreateInfoEXT*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_1201 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_1201);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_1202;
- countingStream->handleMapping()->mapHandles_VkDebugReportCallbackEXT_u64(pCallback, &cgen_var_1202, 1);
- countingStream->write((uint64_t*)&cgen_var_1202, 8);
- }
- uint32_t packetSize_vkCreateDebugReportCallbackEXT = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateDebugReportCallbackEXT = OP_vkCreateDebugReportCallbackEXT;
- stream->write(&opcode_vkCreateDebugReportCallbackEXT, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateDebugReportCallbackEXT, sizeof(uint32_t));
- uint64_t cgen_var_1203;
- stream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_1203, 1);
- stream->write((uint64_t*)&cgen_var_1203, 1 * 8);
- marshal_VkDebugReportCallbackCreateInfoEXT(stream, (VkDebugReportCallbackCreateInfoEXT*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_1204 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_1204);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_1205;
- stream->handleMapping()->mapHandles_VkDebugReportCallbackEXT_u64(pCallback, &cgen_var_1205, 1);
- stream->write((uint64_t*)&cgen_var_1205, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- stream->setHandleMapping(resources->createMapping());
- uint64_t cgen_var_1206;
- stream->read((uint64_t*)&cgen_var_1206, 8);
- stream->handleMapping()->mapHandles_u64_VkDebugReportCallbackEXT(&cgen_var_1206, (VkDebugReportCallbackEXT*)pCallback, 1);
- stream->unsetHandleMapping();
- VkResult vkCreateDebugReportCallbackEXT_VkResult_return = (VkResult)0;
- stream->read(&vkCreateDebugReportCallbackEXT_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateDebugReportCallbackEXT");;
- return vkCreateDebugReportCallbackEXT_VkResult_return;
-}
-
-void VkEncoder::vkDestroyDebugReportCallbackEXT(
- VkInstance instance,
- VkDebugReportCallbackEXT callback,
- const VkAllocationCallbacks* pAllocator)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkDestroyDebugReportCallbackEXT");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkInstance local_instance;
- VkDebugReportCallbackEXT local_callback;
- VkAllocationCallbacks* local_pAllocator;
- local_instance = instance;
- local_callback = callback;
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1207;
- countingStream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_1207, 1);
- countingStream->write((uint64_t*)&cgen_var_1207, 1 * 8);
- uint64_t cgen_var_1208;
- countingStream->handleMapping()->mapHandles_VkDebugReportCallbackEXT_u64(&local_callback, &cgen_var_1208, 1);
- countingStream->write((uint64_t*)&cgen_var_1208, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_1209 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_1209);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- }
- uint32_t packetSize_vkDestroyDebugReportCallbackEXT = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkDestroyDebugReportCallbackEXT = OP_vkDestroyDebugReportCallbackEXT;
- stream->write(&opcode_vkDestroyDebugReportCallbackEXT, sizeof(uint32_t));
- stream->write(&packetSize_vkDestroyDebugReportCallbackEXT, sizeof(uint32_t));
- uint64_t cgen_var_1210;
- stream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_1210, 1);
- stream->write((uint64_t*)&cgen_var_1210, 1 * 8);
- uint64_t cgen_var_1211;
- stream->handleMapping()->mapHandles_VkDebugReportCallbackEXT_u64(&local_callback, &cgen_var_1211, 1);
- stream->write((uint64_t*)&cgen_var_1211, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_1212 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_1212);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- resources->destroyMapping()->mapHandles_VkDebugReportCallbackEXT((VkDebugReportCallbackEXT*)&callback);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkDestroyDebugReportCallbackEXT");;
-}
-
-void VkEncoder::vkDebugReportMessageEXT(
- VkInstance instance,
- VkDebugReportFlagsEXT flags,
- VkDebugReportObjectTypeEXT objectType,
- uint64_t object,
- size_t location,
- int32_t messageCode,
- const char* pLayerPrefix,
- const char* pMessage)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkDebugReportMessageEXT");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkInstance local_instance;
- VkDebugReportFlagsEXT local_flags;
- VkDebugReportObjectTypeEXT local_objectType;
- uint64_t local_object;
- size_t local_location;
- int32_t local_messageCode;
- char* local_pLayerPrefix;
- char* local_pMessage;
- local_instance = instance;
- local_flags = flags;
- local_objectType = objectType;
- local_object = object;
- local_location = location;
- local_messageCode = messageCode;
- local_pLayerPrefix = nullptr;
- if (pLayerPrefix)
- {
- local_pLayerPrefix = pool->strDup(pLayerPrefix);
- }
- local_pMessage = nullptr;
- if (pMessage)
- {
- local_pMessage = pool->strDup(pMessage);
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1213;
- countingStream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_1213, 1);
- countingStream->write((uint64_t*)&cgen_var_1213, 1 * 8);
- countingStream->write((VkDebugReportFlagsEXT*)&local_flags, sizeof(VkDebugReportFlagsEXT));
- countingStream->write((VkDebugReportObjectTypeEXT*)&local_objectType, sizeof(VkDebugReportObjectTypeEXT));
- countingStream->write((uint64_t*)&local_object, sizeof(uint64_t));
- uint64_t cgen_var_1214 = (uint64_t)local_location;
- countingStream->putBe64(cgen_var_1214);
- countingStream->write((int32_t*)&local_messageCode, sizeof(int32_t));
- countingStream->putString(local_pLayerPrefix);
- countingStream->putString(local_pMessage);
- }
- uint32_t packetSize_vkDebugReportMessageEXT = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkDebugReportMessageEXT = OP_vkDebugReportMessageEXT;
- stream->write(&opcode_vkDebugReportMessageEXT, sizeof(uint32_t));
- stream->write(&packetSize_vkDebugReportMessageEXT, sizeof(uint32_t));
- uint64_t cgen_var_1215;
- stream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_1215, 1);
- stream->write((uint64_t*)&cgen_var_1215, 1 * 8);
- stream->write((VkDebugReportFlagsEXT*)&local_flags, sizeof(VkDebugReportFlagsEXT));
- stream->write((VkDebugReportObjectTypeEXT*)&local_objectType, sizeof(VkDebugReportObjectTypeEXT));
- stream->write((uint64_t*)&local_object, sizeof(uint64_t));
- uint64_t cgen_var_1216 = (uint64_t)local_location;
- stream->putBe64(cgen_var_1216);
- stream->write((int32_t*)&local_messageCode, sizeof(int32_t));
- stream->putString(local_pLayerPrefix);
- stream->putString(local_pMessage);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkDebugReportMessageEXT");;
-}
-
-#endif
-#ifdef VK_NV_glsl_shader
-#endif
-#ifdef VK_EXT_depth_range_unrestricted
-#endif
-#ifdef VK_IMG_filter_cubic
-#endif
-#ifdef VK_AMD_rasterization_order
-#endif
-#ifdef VK_AMD_shader_trinary_minmax
-#endif
-#ifdef VK_AMD_shader_explicit_vertex_parameter
-#endif
-#ifdef VK_EXT_debug_marker
-VkResult VkEncoder::vkDebugMarkerSetObjectTagEXT(
- VkDevice device,
- const VkDebugMarkerObjectTagInfoEXT* pTagInfo)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkDebugMarkerSetObjectTagEXT");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkDebugMarkerObjectTagInfoEXT* local_pTagInfo;
- local_device = device;
- local_pTagInfo = nullptr;
- if (pTagInfo)
- {
- local_pTagInfo = (VkDebugMarkerObjectTagInfoEXT*)pool->alloc(sizeof(const VkDebugMarkerObjectTagInfoEXT));
- deepcopy_VkDebugMarkerObjectTagInfoEXT(pool, pTagInfo, (VkDebugMarkerObjectTagInfoEXT*)(local_pTagInfo));
- }
- if (local_pTagInfo)
- {
- transform_tohost_VkDebugMarkerObjectTagInfoEXT(mImpl->resources(), (VkDebugMarkerObjectTagInfoEXT*)(local_pTagInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1217;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1217, 1);
- countingStream->write((uint64_t*)&cgen_var_1217, 1 * 8);
- marshal_VkDebugMarkerObjectTagInfoEXT(countingStream, (VkDebugMarkerObjectTagInfoEXT*)(local_pTagInfo));
- }
- uint32_t packetSize_vkDebugMarkerSetObjectTagEXT = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkDebugMarkerSetObjectTagEXT = OP_vkDebugMarkerSetObjectTagEXT;
- stream->write(&opcode_vkDebugMarkerSetObjectTagEXT, sizeof(uint32_t));
- stream->write(&packetSize_vkDebugMarkerSetObjectTagEXT, sizeof(uint32_t));
- uint64_t cgen_var_1218;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1218, 1);
- stream->write((uint64_t*)&cgen_var_1218, 1 * 8);
- marshal_VkDebugMarkerObjectTagInfoEXT(stream, (VkDebugMarkerObjectTagInfoEXT*)(local_pTagInfo));
- VkResult vkDebugMarkerSetObjectTagEXT_VkResult_return = (VkResult)0;
- stream->read(&vkDebugMarkerSetObjectTagEXT_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkDebugMarkerSetObjectTagEXT");;
- return vkDebugMarkerSetObjectTagEXT_VkResult_return;
-}
-
-VkResult VkEncoder::vkDebugMarkerSetObjectNameEXT(
- VkDevice device,
- const VkDebugMarkerObjectNameInfoEXT* pNameInfo)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkDebugMarkerSetObjectNameEXT");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkDebugMarkerObjectNameInfoEXT* local_pNameInfo;
- local_device = device;
- local_pNameInfo = nullptr;
- if (pNameInfo)
- {
- local_pNameInfo = (VkDebugMarkerObjectNameInfoEXT*)pool->alloc(sizeof(const VkDebugMarkerObjectNameInfoEXT));
- deepcopy_VkDebugMarkerObjectNameInfoEXT(pool, pNameInfo, (VkDebugMarkerObjectNameInfoEXT*)(local_pNameInfo));
- }
- if (local_pNameInfo)
- {
- transform_tohost_VkDebugMarkerObjectNameInfoEXT(mImpl->resources(), (VkDebugMarkerObjectNameInfoEXT*)(local_pNameInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1219;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1219, 1);
- countingStream->write((uint64_t*)&cgen_var_1219, 1 * 8);
- marshal_VkDebugMarkerObjectNameInfoEXT(countingStream, (VkDebugMarkerObjectNameInfoEXT*)(local_pNameInfo));
- }
- uint32_t packetSize_vkDebugMarkerSetObjectNameEXT = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkDebugMarkerSetObjectNameEXT = OP_vkDebugMarkerSetObjectNameEXT;
- stream->write(&opcode_vkDebugMarkerSetObjectNameEXT, sizeof(uint32_t));
- stream->write(&packetSize_vkDebugMarkerSetObjectNameEXT, sizeof(uint32_t));
- uint64_t cgen_var_1220;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1220, 1);
- stream->write((uint64_t*)&cgen_var_1220, 1 * 8);
- marshal_VkDebugMarkerObjectNameInfoEXT(stream, (VkDebugMarkerObjectNameInfoEXT*)(local_pNameInfo));
- VkResult vkDebugMarkerSetObjectNameEXT_VkResult_return = (VkResult)0;
- stream->read(&vkDebugMarkerSetObjectNameEXT_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkDebugMarkerSetObjectNameEXT");;
- return vkDebugMarkerSetObjectNameEXT_VkResult_return;
-}
-
-void VkEncoder::vkCmdDebugMarkerBeginEXT(
- VkCommandBuffer commandBuffer,
- const VkDebugMarkerMarkerInfoEXT* pMarkerInfo)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdDebugMarkerBeginEXT");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkDebugMarkerMarkerInfoEXT* local_pMarkerInfo;
- local_commandBuffer = commandBuffer;
- local_pMarkerInfo = nullptr;
- if (pMarkerInfo)
- {
- local_pMarkerInfo = (VkDebugMarkerMarkerInfoEXT*)pool->alloc(sizeof(const VkDebugMarkerMarkerInfoEXT));
- deepcopy_VkDebugMarkerMarkerInfoEXT(pool, pMarkerInfo, (VkDebugMarkerMarkerInfoEXT*)(local_pMarkerInfo));
- }
- if (local_pMarkerInfo)
- {
- transform_tohost_VkDebugMarkerMarkerInfoEXT(mImpl->resources(), (VkDebugMarkerMarkerInfoEXT*)(local_pMarkerInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1221;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1221, 1);
- countingStream->write((uint64_t*)&cgen_var_1221, 1 * 8);
- marshal_VkDebugMarkerMarkerInfoEXT(countingStream, (VkDebugMarkerMarkerInfoEXT*)(local_pMarkerInfo));
- }
- uint32_t packetSize_vkCmdDebugMarkerBeginEXT = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdDebugMarkerBeginEXT = OP_vkCmdDebugMarkerBeginEXT;
- stream->write(&opcode_vkCmdDebugMarkerBeginEXT, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdDebugMarkerBeginEXT, sizeof(uint32_t));
- uint64_t cgen_var_1222;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1222, 1);
- stream->write((uint64_t*)&cgen_var_1222, 1 * 8);
- marshal_VkDebugMarkerMarkerInfoEXT(stream, (VkDebugMarkerMarkerInfoEXT*)(local_pMarkerInfo));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdDebugMarkerBeginEXT");;
-}
-
-void VkEncoder::vkCmdDebugMarkerEndEXT(
- VkCommandBuffer commandBuffer)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdDebugMarkerEndEXT");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- local_commandBuffer = commandBuffer;
- countingStream->rewind();
- {
- uint64_t cgen_var_1223;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1223, 1);
- countingStream->write((uint64_t*)&cgen_var_1223, 1 * 8);
- }
- uint32_t packetSize_vkCmdDebugMarkerEndEXT = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdDebugMarkerEndEXT = OP_vkCmdDebugMarkerEndEXT;
- stream->write(&opcode_vkCmdDebugMarkerEndEXT, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdDebugMarkerEndEXT, sizeof(uint32_t));
- uint64_t cgen_var_1224;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1224, 1);
- stream->write((uint64_t*)&cgen_var_1224, 1 * 8);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdDebugMarkerEndEXT");;
-}
-
-void VkEncoder::vkCmdDebugMarkerInsertEXT(
- VkCommandBuffer commandBuffer,
- const VkDebugMarkerMarkerInfoEXT* pMarkerInfo)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdDebugMarkerInsertEXT");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkDebugMarkerMarkerInfoEXT* local_pMarkerInfo;
- local_commandBuffer = commandBuffer;
- local_pMarkerInfo = nullptr;
- if (pMarkerInfo)
- {
- local_pMarkerInfo = (VkDebugMarkerMarkerInfoEXT*)pool->alloc(sizeof(const VkDebugMarkerMarkerInfoEXT));
- deepcopy_VkDebugMarkerMarkerInfoEXT(pool, pMarkerInfo, (VkDebugMarkerMarkerInfoEXT*)(local_pMarkerInfo));
- }
- if (local_pMarkerInfo)
- {
- transform_tohost_VkDebugMarkerMarkerInfoEXT(mImpl->resources(), (VkDebugMarkerMarkerInfoEXT*)(local_pMarkerInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1225;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1225, 1);
- countingStream->write((uint64_t*)&cgen_var_1225, 1 * 8);
- marshal_VkDebugMarkerMarkerInfoEXT(countingStream, (VkDebugMarkerMarkerInfoEXT*)(local_pMarkerInfo));
- }
- uint32_t packetSize_vkCmdDebugMarkerInsertEXT = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdDebugMarkerInsertEXT = OP_vkCmdDebugMarkerInsertEXT;
- stream->write(&opcode_vkCmdDebugMarkerInsertEXT, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdDebugMarkerInsertEXT, sizeof(uint32_t));
- uint64_t cgen_var_1226;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1226, 1);
- stream->write((uint64_t*)&cgen_var_1226, 1 * 8);
- marshal_VkDebugMarkerMarkerInfoEXT(stream, (VkDebugMarkerMarkerInfoEXT*)(local_pMarkerInfo));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdDebugMarkerInsertEXT");;
-}
-
-#endif
-#ifdef VK_AMD_gcn_shader
-#endif
-#ifdef VK_NV_dedicated_allocation
-#endif
-#ifdef VK_AMD_draw_indirect_count
-void VkEncoder::vkCmdDrawIndirectCountAMD(
- VkCommandBuffer commandBuffer,
- VkBuffer buffer,
- VkDeviceSize offset,
- VkBuffer countBuffer,
- VkDeviceSize countBufferOffset,
- uint32_t maxDrawCount,
- uint32_t stride)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdDrawIndirectCountAMD");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkBuffer local_buffer;
- VkDeviceSize local_offset;
- VkBuffer local_countBuffer;
- VkDeviceSize local_countBufferOffset;
- uint32_t local_maxDrawCount;
- uint32_t local_stride;
- local_commandBuffer = commandBuffer;
- local_buffer = buffer;
- local_offset = offset;
- local_countBuffer = countBuffer;
- local_countBufferOffset = countBufferOffset;
- local_maxDrawCount = maxDrawCount;
- local_stride = stride;
- countingStream->rewind();
- {
- uint64_t cgen_var_1227;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1227, 1);
- countingStream->write((uint64_t*)&cgen_var_1227, 1 * 8);
- uint64_t cgen_var_1228;
- countingStream->handleMapping()->mapHandles_VkBuffer_u64(&local_buffer, &cgen_var_1228, 1);
- countingStream->write((uint64_t*)&cgen_var_1228, 1 * 8);
- countingStream->write((VkDeviceSize*)&local_offset, sizeof(VkDeviceSize));
- uint64_t cgen_var_1229;
- countingStream->handleMapping()->mapHandles_VkBuffer_u64(&local_countBuffer, &cgen_var_1229, 1);
- countingStream->write((uint64_t*)&cgen_var_1229, 1 * 8);
- countingStream->write((VkDeviceSize*)&local_countBufferOffset, sizeof(VkDeviceSize));
- countingStream->write((uint32_t*)&local_maxDrawCount, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_stride, sizeof(uint32_t));
- }
- uint32_t packetSize_vkCmdDrawIndirectCountAMD = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdDrawIndirectCountAMD = OP_vkCmdDrawIndirectCountAMD;
- stream->write(&opcode_vkCmdDrawIndirectCountAMD, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdDrawIndirectCountAMD, sizeof(uint32_t));
- uint64_t cgen_var_1230;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1230, 1);
- stream->write((uint64_t*)&cgen_var_1230, 1 * 8);
- uint64_t cgen_var_1231;
- stream->handleMapping()->mapHandles_VkBuffer_u64(&local_buffer, &cgen_var_1231, 1);
- stream->write((uint64_t*)&cgen_var_1231, 1 * 8);
- stream->write((VkDeviceSize*)&local_offset, sizeof(VkDeviceSize));
- uint64_t cgen_var_1232;
- stream->handleMapping()->mapHandles_VkBuffer_u64(&local_countBuffer, &cgen_var_1232, 1);
- stream->write((uint64_t*)&cgen_var_1232, 1 * 8);
- stream->write((VkDeviceSize*)&local_countBufferOffset, sizeof(VkDeviceSize));
- stream->write((uint32_t*)&local_maxDrawCount, sizeof(uint32_t));
- stream->write((uint32_t*)&local_stride, sizeof(uint32_t));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdDrawIndirectCountAMD");;
-}
-
-void VkEncoder::vkCmdDrawIndexedIndirectCountAMD(
- VkCommandBuffer commandBuffer,
- VkBuffer buffer,
- VkDeviceSize offset,
- VkBuffer countBuffer,
- VkDeviceSize countBufferOffset,
- uint32_t maxDrawCount,
- uint32_t stride)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdDrawIndexedIndirectCountAMD");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkBuffer local_buffer;
- VkDeviceSize local_offset;
- VkBuffer local_countBuffer;
- VkDeviceSize local_countBufferOffset;
- uint32_t local_maxDrawCount;
- uint32_t local_stride;
- local_commandBuffer = commandBuffer;
- local_buffer = buffer;
- local_offset = offset;
- local_countBuffer = countBuffer;
- local_countBufferOffset = countBufferOffset;
- local_maxDrawCount = maxDrawCount;
- local_stride = stride;
- countingStream->rewind();
- {
- uint64_t cgen_var_1233;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1233, 1);
- countingStream->write((uint64_t*)&cgen_var_1233, 1 * 8);
- uint64_t cgen_var_1234;
- countingStream->handleMapping()->mapHandles_VkBuffer_u64(&local_buffer, &cgen_var_1234, 1);
- countingStream->write((uint64_t*)&cgen_var_1234, 1 * 8);
- countingStream->write((VkDeviceSize*)&local_offset, sizeof(VkDeviceSize));
- uint64_t cgen_var_1235;
- countingStream->handleMapping()->mapHandles_VkBuffer_u64(&local_countBuffer, &cgen_var_1235, 1);
- countingStream->write((uint64_t*)&cgen_var_1235, 1 * 8);
- countingStream->write((VkDeviceSize*)&local_countBufferOffset, sizeof(VkDeviceSize));
- countingStream->write((uint32_t*)&local_maxDrawCount, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_stride, sizeof(uint32_t));
- }
- uint32_t packetSize_vkCmdDrawIndexedIndirectCountAMD = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdDrawIndexedIndirectCountAMD = OP_vkCmdDrawIndexedIndirectCountAMD;
- stream->write(&opcode_vkCmdDrawIndexedIndirectCountAMD, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdDrawIndexedIndirectCountAMD, sizeof(uint32_t));
- uint64_t cgen_var_1236;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1236, 1);
- stream->write((uint64_t*)&cgen_var_1236, 1 * 8);
- uint64_t cgen_var_1237;
- stream->handleMapping()->mapHandles_VkBuffer_u64(&local_buffer, &cgen_var_1237, 1);
- stream->write((uint64_t*)&cgen_var_1237, 1 * 8);
- stream->write((VkDeviceSize*)&local_offset, sizeof(VkDeviceSize));
- uint64_t cgen_var_1238;
- stream->handleMapping()->mapHandles_VkBuffer_u64(&local_countBuffer, &cgen_var_1238, 1);
- stream->write((uint64_t*)&cgen_var_1238, 1 * 8);
- stream->write((VkDeviceSize*)&local_countBufferOffset, sizeof(VkDeviceSize));
- stream->write((uint32_t*)&local_maxDrawCount, sizeof(uint32_t));
- stream->write((uint32_t*)&local_stride, sizeof(uint32_t));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdDrawIndexedIndirectCountAMD");;
-}
-
-#endif
-#ifdef VK_AMD_negative_viewport_height
-#endif
-#ifdef VK_AMD_gpu_shader_half_float
-#endif
-#ifdef VK_AMD_shader_ballot
-#endif
-#ifdef VK_AMD_texture_gather_bias_lod
-#endif
-#ifdef VK_AMD_shader_info
-VkResult VkEncoder::vkGetShaderInfoAMD(
- VkDevice device,
- VkPipeline pipeline,
- VkShaderStageFlagBits shaderStage,
- VkShaderInfoTypeAMD infoType,
- size_t* pInfoSize,
- void* pInfo)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetShaderInfoAMD");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkPipeline local_pipeline;
- VkShaderStageFlagBits local_shaderStage;
- VkShaderInfoTypeAMD local_infoType;
- local_device = device;
- local_pipeline = pipeline;
- local_shaderStage = shaderStage;
- local_infoType = infoType;
- countingStream->rewind();
- {
- uint64_t cgen_var_1239;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1239, 1);
- countingStream->write((uint64_t*)&cgen_var_1239, 1 * 8);
- uint64_t cgen_var_1240;
- countingStream->handleMapping()->mapHandles_VkPipeline_u64(&local_pipeline, &cgen_var_1240, 1);
- countingStream->write((uint64_t*)&cgen_var_1240, 1 * 8);
- countingStream->write((VkShaderStageFlagBits*)&local_shaderStage, sizeof(VkShaderStageFlagBits));
- countingStream->write((VkShaderInfoTypeAMD*)&local_infoType, sizeof(VkShaderInfoTypeAMD));
- // WARNING PTR CHECK
- uint64_t cgen_var_1241 = (uint64_t)(uintptr_t)pInfoSize;
- countingStream->putBe64(cgen_var_1241);
- if (pInfoSize)
- {
- uint64_t cgen_var_1242 = (uint64_t)(*pInfoSize);
- countingStream->putBe64(cgen_var_1242);
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_1243 = (uint64_t)(uintptr_t)pInfo;
- countingStream->putBe64(cgen_var_1243);
- if (pInfo)
- {
- countingStream->write((void*)pInfo, (*(pInfoSize)) * sizeof(uint8_t));
- }
- }
- uint32_t packetSize_vkGetShaderInfoAMD = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetShaderInfoAMD = OP_vkGetShaderInfoAMD;
- stream->write(&opcode_vkGetShaderInfoAMD, sizeof(uint32_t));
- stream->write(&packetSize_vkGetShaderInfoAMD, sizeof(uint32_t));
- uint64_t cgen_var_1244;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1244, 1);
- stream->write((uint64_t*)&cgen_var_1244, 1 * 8);
- uint64_t cgen_var_1245;
- stream->handleMapping()->mapHandles_VkPipeline_u64(&local_pipeline, &cgen_var_1245, 1);
- stream->write((uint64_t*)&cgen_var_1245, 1 * 8);
- stream->write((VkShaderStageFlagBits*)&local_shaderStage, sizeof(VkShaderStageFlagBits));
- stream->write((VkShaderInfoTypeAMD*)&local_infoType, sizeof(VkShaderInfoTypeAMD));
- // WARNING PTR CHECK
- uint64_t cgen_var_1246 = (uint64_t)(uintptr_t)pInfoSize;
- stream->putBe64(cgen_var_1246);
- if (pInfoSize)
- {
- uint64_t cgen_var_1247 = (uint64_t)(*pInfoSize);
- stream->putBe64(cgen_var_1247);
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_1248 = (uint64_t)(uintptr_t)pInfo;
- stream->putBe64(cgen_var_1248);
- if (pInfo)
- {
- stream->write((void*)pInfo, (*(pInfoSize)) * sizeof(uint8_t));
- }
- // WARNING PTR CHECK
- size_t* check_pInfoSize;
- check_pInfoSize = (size_t*)(uintptr_t)stream->getBe64();
- if (pInfoSize)
- {
- if (!(check_pInfoSize))
- {
- fprintf(stderr, "fatal: pInfoSize inconsistent between guest and host\n");
- }
- (*pInfoSize) = (size_t)stream->getBe64();
- }
- // WARNING PTR CHECK
- void* check_pInfo;
- check_pInfo = (void*)(uintptr_t)stream->getBe64();
- if (pInfo)
- {
- if (!(check_pInfo))
- {
- fprintf(stderr, "fatal: pInfo inconsistent between guest and host\n");
- }
- stream->read((void*)pInfo, (*(pInfoSize)) * sizeof(uint8_t));
- }
- VkResult vkGetShaderInfoAMD_VkResult_return = (VkResult)0;
- stream->read(&vkGetShaderInfoAMD_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetShaderInfoAMD");;
- return vkGetShaderInfoAMD_VkResult_return;
-}
-
-#endif
-#ifdef VK_AMD_shader_image_load_store_lod
-#endif
-#ifdef VK_IMG_format_pvrtc
-#endif
-#ifdef VK_NV_external_memory_capabilities
-VkResult VkEncoder::vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
- VkPhysicalDevice physicalDevice,
- VkFormat format,
- VkImageType type,
- VkImageTiling tiling,
- VkImageUsageFlags usage,
- VkImageCreateFlags flags,
- VkExternalMemoryHandleTypeFlagsNV externalHandleType,
- VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceExternalImageFormatPropertiesNV");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- VkFormat local_format;
- VkImageType local_type;
- VkImageTiling local_tiling;
- VkImageUsageFlags local_usage;
- VkImageCreateFlags local_flags;
- VkExternalMemoryHandleTypeFlagsNV local_externalHandleType;
- local_physicalDevice = physicalDevice;
- local_format = format;
- local_type = type;
- local_tiling = tiling;
- local_usage = usage;
- local_flags = flags;
- local_externalHandleType = externalHandleType;
- countingStream->rewind();
- {
- uint64_t cgen_var_1252;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_1252, 1);
- countingStream->write((uint64_t*)&cgen_var_1252, 1 * 8);
- countingStream->write((VkFormat*)&local_format, sizeof(VkFormat));
- countingStream->write((VkImageType*)&local_type, sizeof(VkImageType));
- countingStream->write((VkImageTiling*)&local_tiling, sizeof(VkImageTiling));
- countingStream->write((VkImageUsageFlags*)&local_usage, sizeof(VkImageUsageFlags));
- countingStream->write((VkImageCreateFlags*)&local_flags, sizeof(VkImageCreateFlags));
- countingStream->write((VkExternalMemoryHandleTypeFlagsNV*)&local_externalHandleType, sizeof(VkExternalMemoryHandleTypeFlagsNV));
- marshal_VkExternalImageFormatPropertiesNV(countingStream, (VkExternalImageFormatPropertiesNV*)(pExternalImageFormatProperties));
- }
- uint32_t packetSize_vkGetPhysicalDeviceExternalImageFormatPropertiesNV = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceExternalImageFormatPropertiesNV = OP_vkGetPhysicalDeviceExternalImageFormatPropertiesNV;
- stream->write(&opcode_vkGetPhysicalDeviceExternalImageFormatPropertiesNV, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceExternalImageFormatPropertiesNV, sizeof(uint32_t));
- uint64_t cgen_var_1253;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_1253, 1);
- stream->write((uint64_t*)&cgen_var_1253, 1 * 8);
- stream->write((VkFormat*)&local_format, sizeof(VkFormat));
- stream->write((VkImageType*)&local_type, sizeof(VkImageType));
- stream->write((VkImageTiling*)&local_tiling, sizeof(VkImageTiling));
- stream->write((VkImageUsageFlags*)&local_usage, sizeof(VkImageUsageFlags));
- stream->write((VkImageCreateFlags*)&local_flags, sizeof(VkImageCreateFlags));
- stream->write((VkExternalMemoryHandleTypeFlagsNV*)&local_externalHandleType, sizeof(VkExternalMemoryHandleTypeFlagsNV));
- marshal_VkExternalImageFormatPropertiesNV(stream, (VkExternalImageFormatPropertiesNV*)(pExternalImageFormatProperties));
- unmarshal_VkExternalImageFormatPropertiesNV(stream, (VkExternalImageFormatPropertiesNV*)(pExternalImageFormatProperties));
- if (pExternalImageFormatProperties)
- {
- transform_fromhost_VkExternalImageFormatPropertiesNV(mImpl->resources(), (VkExternalImageFormatPropertiesNV*)(pExternalImageFormatProperties));
- }
- VkResult vkGetPhysicalDeviceExternalImageFormatPropertiesNV_VkResult_return = (VkResult)0;
- stream->read(&vkGetPhysicalDeviceExternalImageFormatPropertiesNV_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceExternalImageFormatPropertiesNV");;
- return vkGetPhysicalDeviceExternalImageFormatPropertiesNV_VkResult_return;
-}
-
-#endif
-#ifdef VK_NV_external_memory
-#endif
-#ifdef VK_NV_external_memory_win32
-VkResult VkEncoder::vkGetMemoryWin32HandleNV(
- VkDevice device,
- VkDeviceMemory memory,
- VkExternalMemoryHandleTypeFlagsNV handleType,
- HANDLE* pHandle)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetMemoryWin32HandleNV");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkDeviceMemory local_memory;
- VkExternalMemoryHandleTypeFlagsNV local_handleType;
- local_device = device;
- local_memory = memory;
- local_handleType = handleType;
- mImpl->resources()->deviceMemoryTransform_tohost((VkDeviceMemory*)&local_memory, 1, (VkDeviceSize*)nullptr, 0, (VkDeviceSize*)nullptr, 0, (uint32_t*)nullptr, 0, (uint32_t*)nullptr, 0);
- countingStream->rewind();
- {
- uint64_t cgen_var_1254;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1254, 1);
- countingStream->write((uint64_t*)&cgen_var_1254, 1 * 8);
- uint64_t cgen_var_1255;
- countingStream->handleMapping()->mapHandles_VkDeviceMemory_u64(&local_memory, &cgen_var_1255, 1);
- countingStream->write((uint64_t*)&cgen_var_1255, 1 * 8);
- countingStream->write((VkExternalMemoryHandleTypeFlagsNV*)&local_handleType, sizeof(VkExternalMemoryHandleTypeFlagsNV));
- countingStream->write((HANDLE*)pHandle, sizeof(HANDLE));
- }
- uint32_t packetSize_vkGetMemoryWin32HandleNV = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetMemoryWin32HandleNV = OP_vkGetMemoryWin32HandleNV;
- stream->write(&opcode_vkGetMemoryWin32HandleNV, sizeof(uint32_t));
- stream->write(&packetSize_vkGetMemoryWin32HandleNV, sizeof(uint32_t));
- uint64_t cgen_var_1256;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1256, 1);
- stream->write((uint64_t*)&cgen_var_1256, 1 * 8);
- uint64_t cgen_var_1257;
- stream->handleMapping()->mapHandles_VkDeviceMemory_u64(&local_memory, &cgen_var_1257, 1);
- stream->write((uint64_t*)&cgen_var_1257, 1 * 8);
- stream->write((VkExternalMemoryHandleTypeFlagsNV*)&local_handleType, sizeof(VkExternalMemoryHandleTypeFlagsNV));
- stream->write((HANDLE*)pHandle, sizeof(HANDLE));
- stream->read((HANDLE*)pHandle, sizeof(HANDLE));
- VkResult vkGetMemoryWin32HandleNV_VkResult_return = (VkResult)0;
- stream->read(&vkGetMemoryWin32HandleNV_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetMemoryWin32HandleNV");;
- return vkGetMemoryWin32HandleNV_VkResult_return;
-}
-
-#endif
-#ifdef VK_NV_win32_keyed_mutex
-#endif
-#ifdef VK_EXT_validation_flags
-#endif
-#ifdef VK_NN_vi_surface
-VkResult VkEncoder::vkCreateViSurfaceNN(
- VkInstance instance,
- const VkViSurfaceCreateInfoNN* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSurfaceKHR* pSurface)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateViSurfaceNN");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkInstance local_instance;
- VkViSurfaceCreateInfoNN* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_instance = instance;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkViSurfaceCreateInfoNN*)pool->alloc(sizeof(const VkViSurfaceCreateInfoNN));
- deepcopy_VkViSurfaceCreateInfoNN(pool, pCreateInfo, (VkViSurfaceCreateInfoNN*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkViSurfaceCreateInfoNN(mImpl->resources(), (VkViSurfaceCreateInfoNN*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1258;
- countingStream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_1258, 1);
- countingStream->write((uint64_t*)&cgen_var_1258, 1 * 8);
- marshal_VkViSurfaceCreateInfoNN(countingStream, (VkViSurfaceCreateInfoNN*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_1259 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_1259);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_1260;
- countingStream->handleMapping()->mapHandles_VkSurfaceKHR_u64(pSurface, &cgen_var_1260, 1);
- countingStream->write((uint64_t*)&cgen_var_1260, 8);
- }
- uint32_t packetSize_vkCreateViSurfaceNN = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateViSurfaceNN = OP_vkCreateViSurfaceNN;
- stream->write(&opcode_vkCreateViSurfaceNN, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateViSurfaceNN, sizeof(uint32_t));
- uint64_t cgen_var_1261;
- stream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_1261, 1);
- stream->write((uint64_t*)&cgen_var_1261, 1 * 8);
- marshal_VkViSurfaceCreateInfoNN(stream, (VkViSurfaceCreateInfoNN*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_1262 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_1262);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_1263;
- stream->handleMapping()->mapHandles_VkSurfaceKHR_u64(pSurface, &cgen_var_1263, 1);
- stream->write((uint64_t*)&cgen_var_1263, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- uint64_t cgen_var_1264;
- stream->read((uint64_t*)&cgen_var_1264, 8);
- stream->handleMapping()->mapHandles_u64_VkSurfaceKHR(&cgen_var_1264, (VkSurfaceKHR*)pSurface, 1);
- VkResult vkCreateViSurfaceNN_VkResult_return = (VkResult)0;
- stream->read(&vkCreateViSurfaceNN_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateViSurfaceNN");;
- return vkCreateViSurfaceNN_VkResult_return;
-}
-
-#endif
-#ifdef VK_EXT_shader_subgroup_ballot
-#endif
-#ifdef VK_EXT_shader_subgroup_vote
-#endif
-#ifdef VK_EXT_conditional_rendering
-void VkEncoder::vkCmdBeginConditionalRenderingEXT(
- VkCommandBuffer commandBuffer,
- const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdBeginConditionalRenderingEXT");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkConditionalRenderingBeginInfoEXT* local_pConditionalRenderingBegin;
- local_commandBuffer = commandBuffer;
- local_pConditionalRenderingBegin = nullptr;
- if (pConditionalRenderingBegin)
- {
- local_pConditionalRenderingBegin = (VkConditionalRenderingBeginInfoEXT*)pool->alloc(sizeof(const VkConditionalRenderingBeginInfoEXT));
- deepcopy_VkConditionalRenderingBeginInfoEXT(pool, pConditionalRenderingBegin, (VkConditionalRenderingBeginInfoEXT*)(local_pConditionalRenderingBegin));
- }
- if (local_pConditionalRenderingBegin)
- {
- transform_tohost_VkConditionalRenderingBeginInfoEXT(mImpl->resources(), (VkConditionalRenderingBeginInfoEXT*)(local_pConditionalRenderingBegin));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1265;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1265, 1);
- countingStream->write((uint64_t*)&cgen_var_1265, 1 * 8);
- marshal_VkConditionalRenderingBeginInfoEXT(countingStream, (VkConditionalRenderingBeginInfoEXT*)(local_pConditionalRenderingBegin));
- }
- uint32_t packetSize_vkCmdBeginConditionalRenderingEXT = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdBeginConditionalRenderingEXT = OP_vkCmdBeginConditionalRenderingEXT;
- stream->write(&opcode_vkCmdBeginConditionalRenderingEXT, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdBeginConditionalRenderingEXT, sizeof(uint32_t));
- uint64_t cgen_var_1266;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1266, 1);
- stream->write((uint64_t*)&cgen_var_1266, 1 * 8);
- marshal_VkConditionalRenderingBeginInfoEXT(stream, (VkConditionalRenderingBeginInfoEXT*)(local_pConditionalRenderingBegin));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdBeginConditionalRenderingEXT");;
-}
-
-void VkEncoder::vkCmdEndConditionalRenderingEXT(
- VkCommandBuffer commandBuffer)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdEndConditionalRenderingEXT");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- local_commandBuffer = commandBuffer;
- countingStream->rewind();
- {
- uint64_t cgen_var_1267;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1267, 1);
- countingStream->write((uint64_t*)&cgen_var_1267, 1 * 8);
- }
- uint32_t packetSize_vkCmdEndConditionalRenderingEXT = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdEndConditionalRenderingEXT = OP_vkCmdEndConditionalRenderingEXT;
- stream->write(&opcode_vkCmdEndConditionalRenderingEXT, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdEndConditionalRenderingEXT, sizeof(uint32_t));
- uint64_t cgen_var_1268;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1268, 1);
- stream->write((uint64_t*)&cgen_var_1268, 1 * 8);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdEndConditionalRenderingEXT");;
-}
-
-#endif
-#ifdef VK_NVX_device_generated_commands
-void VkEncoder::vkCmdProcessCommandsNVX(
- VkCommandBuffer commandBuffer,
- const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdProcessCommandsNVX");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkCmdProcessCommandsInfoNVX* local_pProcessCommandsInfo;
- local_commandBuffer = commandBuffer;
- local_pProcessCommandsInfo = nullptr;
- if (pProcessCommandsInfo)
- {
- local_pProcessCommandsInfo = (VkCmdProcessCommandsInfoNVX*)pool->alloc(sizeof(const VkCmdProcessCommandsInfoNVX));
- deepcopy_VkCmdProcessCommandsInfoNVX(pool, pProcessCommandsInfo, (VkCmdProcessCommandsInfoNVX*)(local_pProcessCommandsInfo));
- }
- if (local_pProcessCommandsInfo)
- {
- transform_tohost_VkCmdProcessCommandsInfoNVX(mImpl->resources(), (VkCmdProcessCommandsInfoNVX*)(local_pProcessCommandsInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1269;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1269, 1);
- countingStream->write((uint64_t*)&cgen_var_1269, 1 * 8);
- marshal_VkCmdProcessCommandsInfoNVX(countingStream, (VkCmdProcessCommandsInfoNVX*)(local_pProcessCommandsInfo));
- }
- uint32_t packetSize_vkCmdProcessCommandsNVX = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdProcessCommandsNVX = OP_vkCmdProcessCommandsNVX;
- stream->write(&opcode_vkCmdProcessCommandsNVX, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdProcessCommandsNVX, sizeof(uint32_t));
- uint64_t cgen_var_1270;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1270, 1);
- stream->write((uint64_t*)&cgen_var_1270, 1 * 8);
- marshal_VkCmdProcessCommandsInfoNVX(stream, (VkCmdProcessCommandsInfoNVX*)(local_pProcessCommandsInfo));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdProcessCommandsNVX");;
-}
-
-void VkEncoder::vkCmdReserveSpaceForCommandsNVX(
- VkCommandBuffer commandBuffer,
- const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdReserveSpaceForCommandsNVX");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkCmdReserveSpaceForCommandsInfoNVX* local_pReserveSpaceInfo;
- local_commandBuffer = commandBuffer;
- local_pReserveSpaceInfo = nullptr;
- if (pReserveSpaceInfo)
- {
- local_pReserveSpaceInfo = (VkCmdReserveSpaceForCommandsInfoNVX*)pool->alloc(sizeof(const VkCmdReserveSpaceForCommandsInfoNVX));
- deepcopy_VkCmdReserveSpaceForCommandsInfoNVX(pool, pReserveSpaceInfo, (VkCmdReserveSpaceForCommandsInfoNVX*)(local_pReserveSpaceInfo));
- }
- if (local_pReserveSpaceInfo)
- {
- transform_tohost_VkCmdReserveSpaceForCommandsInfoNVX(mImpl->resources(), (VkCmdReserveSpaceForCommandsInfoNVX*)(local_pReserveSpaceInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1271;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1271, 1);
- countingStream->write((uint64_t*)&cgen_var_1271, 1 * 8);
- marshal_VkCmdReserveSpaceForCommandsInfoNVX(countingStream, (VkCmdReserveSpaceForCommandsInfoNVX*)(local_pReserveSpaceInfo));
- }
- uint32_t packetSize_vkCmdReserveSpaceForCommandsNVX = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdReserveSpaceForCommandsNVX = OP_vkCmdReserveSpaceForCommandsNVX;
- stream->write(&opcode_vkCmdReserveSpaceForCommandsNVX, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdReserveSpaceForCommandsNVX, sizeof(uint32_t));
- uint64_t cgen_var_1272;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1272, 1);
- stream->write((uint64_t*)&cgen_var_1272, 1 * 8);
- marshal_VkCmdReserveSpaceForCommandsInfoNVX(stream, (VkCmdReserveSpaceForCommandsInfoNVX*)(local_pReserveSpaceInfo));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdReserveSpaceForCommandsNVX");;
-}
-
-VkResult VkEncoder::vkCreateIndirectCommandsLayoutNVX(
- VkDevice device,
- const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateIndirectCommandsLayoutNVX");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkIndirectCommandsLayoutCreateInfoNVX* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkIndirectCommandsLayoutCreateInfoNVX*)pool->alloc(sizeof(const VkIndirectCommandsLayoutCreateInfoNVX));
- deepcopy_VkIndirectCommandsLayoutCreateInfoNVX(pool, pCreateInfo, (VkIndirectCommandsLayoutCreateInfoNVX*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkIndirectCommandsLayoutCreateInfoNVX(mImpl->resources(), (VkIndirectCommandsLayoutCreateInfoNVX*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1273;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1273, 1);
- countingStream->write((uint64_t*)&cgen_var_1273, 1 * 8);
- marshal_VkIndirectCommandsLayoutCreateInfoNVX(countingStream, (VkIndirectCommandsLayoutCreateInfoNVX*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_1274 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_1274);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_1275;
- countingStream->handleMapping()->mapHandles_VkIndirectCommandsLayoutNVX_u64(pIndirectCommandsLayout, &cgen_var_1275, 1);
- countingStream->write((uint64_t*)&cgen_var_1275, 8);
- }
- uint32_t packetSize_vkCreateIndirectCommandsLayoutNVX = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateIndirectCommandsLayoutNVX = OP_vkCreateIndirectCommandsLayoutNVX;
- stream->write(&opcode_vkCreateIndirectCommandsLayoutNVX, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateIndirectCommandsLayoutNVX, sizeof(uint32_t));
- uint64_t cgen_var_1276;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1276, 1);
- stream->write((uint64_t*)&cgen_var_1276, 1 * 8);
- marshal_VkIndirectCommandsLayoutCreateInfoNVX(stream, (VkIndirectCommandsLayoutCreateInfoNVX*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_1277 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_1277);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_1278;
- stream->handleMapping()->mapHandles_VkIndirectCommandsLayoutNVX_u64(pIndirectCommandsLayout, &cgen_var_1278, 1);
- stream->write((uint64_t*)&cgen_var_1278, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- stream->setHandleMapping(resources->createMapping());
- uint64_t cgen_var_1279;
- stream->read((uint64_t*)&cgen_var_1279, 8);
- stream->handleMapping()->mapHandles_u64_VkIndirectCommandsLayoutNVX(&cgen_var_1279, (VkIndirectCommandsLayoutNVX*)pIndirectCommandsLayout, 1);
- stream->unsetHandleMapping();
- VkResult vkCreateIndirectCommandsLayoutNVX_VkResult_return = (VkResult)0;
- stream->read(&vkCreateIndirectCommandsLayoutNVX_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateIndirectCommandsLayoutNVX");;
- return vkCreateIndirectCommandsLayoutNVX_VkResult_return;
-}
-
-void VkEncoder::vkDestroyIndirectCommandsLayoutNVX(
- VkDevice device,
- VkIndirectCommandsLayoutNVX indirectCommandsLayout,
- const VkAllocationCallbacks* pAllocator)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkDestroyIndirectCommandsLayoutNVX");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkIndirectCommandsLayoutNVX local_indirectCommandsLayout;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_indirectCommandsLayout = indirectCommandsLayout;
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1280;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1280, 1);
- countingStream->write((uint64_t*)&cgen_var_1280, 1 * 8);
- uint64_t cgen_var_1281;
- countingStream->handleMapping()->mapHandles_VkIndirectCommandsLayoutNVX_u64(&local_indirectCommandsLayout, &cgen_var_1281, 1);
- countingStream->write((uint64_t*)&cgen_var_1281, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_1282 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_1282);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- }
- uint32_t packetSize_vkDestroyIndirectCommandsLayoutNVX = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkDestroyIndirectCommandsLayoutNVX = OP_vkDestroyIndirectCommandsLayoutNVX;
- stream->write(&opcode_vkDestroyIndirectCommandsLayoutNVX, sizeof(uint32_t));
- stream->write(&packetSize_vkDestroyIndirectCommandsLayoutNVX, sizeof(uint32_t));
- uint64_t cgen_var_1283;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1283, 1);
- stream->write((uint64_t*)&cgen_var_1283, 1 * 8);
- uint64_t cgen_var_1284;
- stream->handleMapping()->mapHandles_VkIndirectCommandsLayoutNVX_u64(&local_indirectCommandsLayout, &cgen_var_1284, 1);
- stream->write((uint64_t*)&cgen_var_1284, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_1285 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_1285);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- resources->destroyMapping()->mapHandles_VkIndirectCommandsLayoutNVX((VkIndirectCommandsLayoutNVX*)&indirectCommandsLayout);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkDestroyIndirectCommandsLayoutNVX");;
-}
-
-VkResult VkEncoder::vkCreateObjectTableNVX(
- VkDevice device,
- const VkObjectTableCreateInfoNVX* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkObjectTableNVX* pObjectTable)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateObjectTableNVX");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkObjectTableCreateInfoNVX* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkObjectTableCreateInfoNVX*)pool->alloc(sizeof(const VkObjectTableCreateInfoNVX));
- deepcopy_VkObjectTableCreateInfoNVX(pool, pCreateInfo, (VkObjectTableCreateInfoNVX*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkObjectTableCreateInfoNVX(mImpl->resources(), (VkObjectTableCreateInfoNVX*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1286;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1286, 1);
- countingStream->write((uint64_t*)&cgen_var_1286, 1 * 8);
- marshal_VkObjectTableCreateInfoNVX(countingStream, (VkObjectTableCreateInfoNVX*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_1287 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_1287);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_1288;
- countingStream->handleMapping()->mapHandles_VkObjectTableNVX_u64(pObjectTable, &cgen_var_1288, 1);
- countingStream->write((uint64_t*)&cgen_var_1288, 8);
- }
- uint32_t packetSize_vkCreateObjectTableNVX = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateObjectTableNVX = OP_vkCreateObjectTableNVX;
- stream->write(&opcode_vkCreateObjectTableNVX, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateObjectTableNVX, sizeof(uint32_t));
- uint64_t cgen_var_1289;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1289, 1);
- stream->write((uint64_t*)&cgen_var_1289, 1 * 8);
- marshal_VkObjectTableCreateInfoNVX(stream, (VkObjectTableCreateInfoNVX*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_1290 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_1290);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_1291;
- stream->handleMapping()->mapHandles_VkObjectTableNVX_u64(pObjectTable, &cgen_var_1291, 1);
- stream->write((uint64_t*)&cgen_var_1291, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- stream->setHandleMapping(resources->createMapping());
- uint64_t cgen_var_1292;
- stream->read((uint64_t*)&cgen_var_1292, 8);
- stream->handleMapping()->mapHandles_u64_VkObjectTableNVX(&cgen_var_1292, (VkObjectTableNVX*)pObjectTable, 1);
- stream->unsetHandleMapping();
- VkResult vkCreateObjectTableNVX_VkResult_return = (VkResult)0;
- stream->read(&vkCreateObjectTableNVX_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateObjectTableNVX");;
- return vkCreateObjectTableNVX_VkResult_return;
-}
-
-void VkEncoder::vkDestroyObjectTableNVX(
- VkDevice device,
- VkObjectTableNVX objectTable,
- const VkAllocationCallbacks* pAllocator)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkDestroyObjectTableNVX");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkObjectTableNVX local_objectTable;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_objectTable = objectTable;
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1293;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1293, 1);
- countingStream->write((uint64_t*)&cgen_var_1293, 1 * 8);
- uint64_t cgen_var_1294;
- countingStream->handleMapping()->mapHandles_VkObjectTableNVX_u64(&local_objectTable, &cgen_var_1294, 1);
- countingStream->write((uint64_t*)&cgen_var_1294, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_1295 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_1295);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- }
- uint32_t packetSize_vkDestroyObjectTableNVX = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkDestroyObjectTableNVX = OP_vkDestroyObjectTableNVX;
- stream->write(&opcode_vkDestroyObjectTableNVX, sizeof(uint32_t));
- stream->write(&packetSize_vkDestroyObjectTableNVX, sizeof(uint32_t));
- uint64_t cgen_var_1296;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1296, 1);
- stream->write((uint64_t*)&cgen_var_1296, 1 * 8);
- uint64_t cgen_var_1297;
- stream->handleMapping()->mapHandles_VkObjectTableNVX_u64(&local_objectTable, &cgen_var_1297, 1);
- stream->write((uint64_t*)&cgen_var_1297, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_1298 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_1298);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- resources->destroyMapping()->mapHandles_VkObjectTableNVX((VkObjectTableNVX*)&objectTable);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkDestroyObjectTableNVX");;
-}
-
-VkResult VkEncoder::vkRegisterObjectsNVX(
- VkDevice device,
- VkObjectTableNVX objectTable,
- uint32_t objectCount,
- const VkObjectTableEntryNVX* const* ppObjectTableEntries,
- const uint32_t* pObjectIndices)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkRegisterObjectsNVX");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkObjectTableNVX local_objectTable;
- uint32_t local_objectCount;
- VkObjectTableEntryNVX** local_ppObjectTableEntries;
- uint32_t* local_pObjectIndices;
- local_device = device;
- local_objectTable = objectTable;
- local_objectCount = objectCount;
- (void)ppObjectTableEntries;
- local_pObjectIndices = nullptr;
- if (pObjectIndices)
- {
- local_pObjectIndices = (uint32_t*)pool->dupArray(pObjectIndices, ((objectCount)) * sizeof(const uint32_t));
- }
- (void)local_ppObjectTableEntries;
- countingStream->rewind();
- {
- uint64_t cgen_var_1299;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1299, 1);
- countingStream->write((uint64_t*)&cgen_var_1299, 1 * 8);
- uint64_t cgen_var_1300;
- countingStream->handleMapping()->mapHandles_VkObjectTableNVX_u64(&local_objectTable, &cgen_var_1300, 1);
- countingStream->write((uint64_t*)&cgen_var_1300, 1 * 8);
- countingStream->write((uint32_t*)&local_objectCount, sizeof(uint32_t));
- (void)local_ppObjectTableEntries;
- countingStream->write((uint32_t*)local_pObjectIndices, ((objectCount)) * sizeof(uint32_t));
- }
- uint32_t packetSize_vkRegisterObjectsNVX = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkRegisterObjectsNVX = OP_vkRegisterObjectsNVX;
- stream->write(&opcode_vkRegisterObjectsNVX, sizeof(uint32_t));
- stream->write(&packetSize_vkRegisterObjectsNVX, sizeof(uint32_t));
- uint64_t cgen_var_1301;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1301, 1);
- stream->write((uint64_t*)&cgen_var_1301, 1 * 8);
- uint64_t cgen_var_1302;
- stream->handleMapping()->mapHandles_VkObjectTableNVX_u64(&local_objectTable, &cgen_var_1302, 1);
- stream->write((uint64_t*)&cgen_var_1302, 1 * 8);
- stream->write((uint32_t*)&local_objectCount, sizeof(uint32_t));
- (void)local_ppObjectTableEntries;
- stream->write((uint32_t*)local_pObjectIndices, ((objectCount)) * sizeof(uint32_t));
- VkResult vkRegisterObjectsNVX_VkResult_return = (VkResult)0;
- stream->read(&vkRegisterObjectsNVX_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkRegisterObjectsNVX");;
- return vkRegisterObjectsNVX_VkResult_return;
-}
-
-VkResult VkEncoder::vkUnregisterObjectsNVX(
- VkDevice device,
- VkObjectTableNVX objectTable,
- uint32_t objectCount,
- const VkObjectEntryTypeNVX* pObjectEntryTypes,
- const uint32_t* pObjectIndices)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkUnregisterObjectsNVX");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkObjectTableNVX local_objectTable;
- uint32_t local_objectCount;
- VkObjectEntryTypeNVX* local_pObjectEntryTypes;
- uint32_t* local_pObjectIndices;
- local_device = device;
- local_objectTable = objectTable;
- local_objectCount = objectCount;
- local_pObjectEntryTypes = nullptr;
- if (pObjectEntryTypes)
- {
- local_pObjectEntryTypes = (VkObjectEntryTypeNVX*)pool->dupArray(pObjectEntryTypes, ((objectCount)) * sizeof(const VkObjectEntryTypeNVX));
- }
- local_pObjectIndices = nullptr;
- if (pObjectIndices)
- {
- local_pObjectIndices = (uint32_t*)pool->dupArray(pObjectIndices, ((objectCount)) * sizeof(const uint32_t));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1303;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1303, 1);
- countingStream->write((uint64_t*)&cgen_var_1303, 1 * 8);
- uint64_t cgen_var_1304;
- countingStream->handleMapping()->mapHandles_VkObjectTableNVX_u64(&local_objectTable, &cgen_var_1304, 1);
- countingStream->write((uint64_t*)&cgen_var_1304, 1 * 8);
- countingStream->write((uint32_t*)&local_objectCount, sizeof(uint32_t));
- countingStream->write((VkObjectEntryTypeNVX*)local_pObjectEntryTypes, ((objectCount)) * sizeof(VkObjectEntryTypeNVX));
- countingStream->write((uint32_t*)local_pObjectIndices, ((objectCount)) * sizeof(uint32_t));
- }
- uint32_t packetSize_vkUnregisterObjectsNVX = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkUnregisterObjectsNVX = OP_vkUnregisterObjectsNVX;
- stream->write(&opcode_vkUnregisterObjectsNVX, sizeof(uint32_t));
- stream->write(&packetSize_vkUnregisterObjectsNVX, sizeof(uint32_t));
- uint64_t cgen_var_1305;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1305, 1);
- stream->write((uint64_t*)&cgen_var_1305, 1 * 8);
- uint64_t cgen_var_1306;
- stream->handleMapping()->mapHandles_VkObjectTableNVX_u64(&local_objectTable, &cgen_var_1306, 1);
- stream->write((uint64_t*)&cgen_var_1306, 1 * 8);
- stream->write((uint32_t*)&local_objectCount, sizeof(uint32_t));
- stream->write((VkObjectEntryTypeNVX*)local_pObjectEntryTypes, ((objectCount)) * sizeof(VkObjectEntryTypeNVX));
- stream->write((uint32_t*)local_pObjectIndices, ((objectCount)) * sizeof(uint32_t));
- VkResult vkUnregisterObjectsNVX_VkResult_return = (VkResult)0;
- stream->read(&vkUnregisterObjectsNVX_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkUnregisterObjectsNVX");;
- return vkUnregisterObjectsNVX_VkResult_return;
-}
-
-void VkEncoder::vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX(
- VkPhysicalDevice physicalDevice,
- VkDeviceGeneratedCommandsFeaturesNVX* pFeatures,
- VkDeviceGeneratedCommandsLimitsNVX* pLimits)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- local_physicalDevice = physicalDevice;
- countingStream->rewind();
- {
- uint64_t cgen_var_1307;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_1307, 1);
- countingStream->write((uint64_t*)&cgen_var_1307, 1 * 8);
- marshal_VkDeviceGeneratedCommandsFeaturesNVX(countingStream, (VkDeviceGeneratedCommandsFeaturesNVX*)(pFeatures));
- marshal_VkDeviceGeneratedCommandsLimitsNVX(countingStream, (VkDeviceGeneratedCommandsLimitsNVX*)(pLimits));
- }
- uint32_t packetSize_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX = OP_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX;
- stream->write(&opcode_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX, sizeof(uint32_t));
- uint64_t cgen_var_1308;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_1308, 1);
- stream->write((uint64_t*)&cgen_var_1308, 1 * 8);
- marshal_VkDeviceGeneratedCommandsFeaturesNVX(stream, (VkDeviceGeneratedCommandsFeaturesNVX*)(pFeatures));
- marshal_VkDeviceGeneratedCommandsLimitsNVX(stream, (VkDeviceGeneratedCommandsLimitsNVX*)(pLimits));
- unmarshal_VkDeviceGeneratedCommandsFeaturesNVX(stream, (VkDeviceGeneratedCommandsFeaturesNVX*)(pFeatures));
- if (pFeatures)
- {
- transform_fromhost_VkDeviceGeneratedCommandsFeaturesNVX(mImpl->resources(), (VkDeviceGeneratedCommandsFeaturesNVX*)(pFeatures));
- }
- unmarshal_VkDeviceGeneratedCommandsLimitsNVX(stream, (VkDeviceGeneratedCommandsLimitsNVX*)(pLimits));
- if (pLimits)
- {
- transform_fromhost_VkDeviceGeneratedCommandsLimitsNVX(mImpl->resources(), (VkDeviceGeneratedCommandsLimitsNVX*)(pLimits));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX");;
-}
-
-#endif
-#ifdef VK_NV_clip_space_w_scaling
-void VkEncoder::vkCmdSetViewportWScalingNV(
- VkCommandBuffer commandBuffer,
- uint32_t firstViewport,
- uint32_t viewportCount,
- const VkViewportWScalingNV* pViewportWScalings)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdSetViewportWScalingNV");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- uint32_t local_firstViewport;
- uint32_t local_viewportCount;
- VkViewportWScalingNV* local_pViewportWScalings;
- local_commandBuffer = commandBuffer;
- local_firstViewport = firstViewport;
- local_viewportCount = viewportCount;
- local_pViewportWScalings = nullptr;
- if (pViewportWScalings)
- {
- local_pViewportWScalings = (VkViewportWScalingNV*)pool->alloc(((viewportCount)) * sizeof(const VkViewportWScalingNV));
- for (uint32_t i = 0; i < (uint32_t)((viewportCount)); ++i)
- {
- deepcopy_VkViewportWScalingNV(pool, pViewportWScalings + i, (VkViewportWScalingNV*)(local_pViewportWScalings + i));
- }
- }
- if (local_pViewportWScalings)
- {
- for (uint32_t i = 0; i < (uint32_t)((viewportCount)); ++i)
- {
- transform_tohost_VkViewportWScalingNV(mImpl->resources(), (VkViewportWScalingNV*)(local_pViewportWScalings + i));
- }
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1309;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1309, 1);
- countingStream->write((uint64_t*)&cgen_var_1309, 1 * 8);
- countingStream->write((uint32_t*)&local_firstViewport, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_viewportCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((viewportCount)); ++i)
- {
- marshal_VkViewportWScalingNV(countingStream, (VkViewportWScalingNV*)(local_pViewportWScalings + i));
- }
- }
- uint32_t packetSize_vkCmdSetViewportWScalingNV = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdSetViewportWScalingNV = OP_vkCmdSetViewportWScalingNV;
- stream->write(&opcode_vkCmdSetViewportWScalingNV, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdSetViewportWScalingNV, sizeof(uint32_t));
- uint64_t cgen_var_1310;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1310, 1);
- stream->write((uint64_t*)&cgen_var_1310, 1 * 8);
- stream->write((uint32_t*)&local_firstViewport, sizeof(uint32_t));
- stream->write((uint32_t*)&local_viewportCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((viewportCount)); ++i)
- {
- marshal_VkViewportWScalingNV(stream, (VkViewportWScalingNV*)(local_pViewportWScalings + i));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdSetViewportWScalingNV");;
-}
-
-#endif
-#ifdef VK_EXT_direct_mode_display
-VkResult VkEncoder::vkReleaseDisplayEXT(
- VkPhysicalDevice physicalDevice,
- VkDisplayKHR display)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkReleaseDisplayEXT");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- VkDisplayKHR local_display;
- local_physicalDevice = physicalDevice;
- local_display = display;
- countingStream->rewind();
- {
- uint64_t cgen_var_1311;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_1311, 1);
- countingStream->write((uint64_t*)&cgen_var_1311, 1 * 8);
- uint64_t cgen_var_1312;
- countingStream->handleMapping()->mapHandles_VkDisplayKHR_u64(&local_display, &cgen_var_1312, 1);
- countingStream->write((uint64_t*)&cgen_var_1312, 1 * 8);
- }
- uint32_t packetSize_vkReleaseDisplayEXT = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkReleaseDisplayEXT = OP_vkReleaseDisplayEXT;
- stream->write(&opcode_vkReleaseDisplayEXT, sizeof(uint32_t));
- stream->write(&packetSize_vkReleaseDisplayEXT, sizeof(uint32_t));
- uint64_t cgen_var_1313;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_1313, 1);
- stream->write((uint64_t*)&cgen_var_1313, 1 * 8);
- uint64_t cgen_var_1314;
- stream->handleMapping()->mapHandles_VkDisplayKHR_u64(&local_display, &cgen_var_1314, 1);
- stream->write((uint64_t*)&cgen_var_1314, 1 * 8);
- VkResult vkReleaseDisplayEXT_VkResult_return = (VkResult)0;
- stream->read(&vkReleaseDisplayEXT_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkReleaseDisplayEXT");;
- return vkReleaseDisplayEXT_VkResult_return;
-}
-
-#endif
-#ifdef VK_EXT_acquire_xlib_display
-VkResult VkEncoder::vkAcquireXlibDisplayEXT(
- VkPhysicalDevice physicalDevice,
- Display* dpy,
- VkDisplayKHR display)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkAcquireXlibDisplayEXT");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- VkDisplayKHR local_display;
- local_physicalDevice = physicalDevice;
- local_display = display;
- countingStream->rewind();
- {
- uint64_t cgen_var_1315;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_1315, 1);
- countingStream->write((uint64_t*)&cgen_var_1315, 1 * 8);
- countingStream->write((Display*)dpy, sizeof(Display));
- uint64_t cgen_var_1316;
- countingStream->handleMapping()->mapHandles_VkDisplayKHR_u64(&local_display, &cgen_var_1316, 1);
- countingStream->write((uint64_t*)&cgen_var_1316, 1 * 8);
- }
- uint32_t packetSize_vkAcquireXlibDisplayEXT = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkAcquireXlibDisplayEXT = OP_vkAcquireXlibDisplayEXT;
- stream->write(&opcode_vkAcquireXlibDisplayEXT, sizeof(uint32_t));
- stream->write(&packetSize_vkAcquireXlibDisplayEXT, sizeof(uint32_t));
- uint64_t cgen_var_1317;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_1317, 1);
- stream->write((uint64_t*)&cgen_var_1317, 1 * 8);
- stream->write((Display*)dpy, sizeof(Display));
- uint64_t cgen_var_1318;
- stream->handleMapping()->mapHandles_VkDisplayKHR_u64(&local_display, &cgen_var_1318, 1);
- stream->write((uint64_t*)&cgen_var_1318, 1 * 8);
- stream->read((Display*)dpy, sizeof(Display));
- VkResult vkAcquireXlibDisplayEXT_VkResult_return = (VkResult)0;
- stream->read(&vkAcquireXlibDisplayEXT_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkAcquireXlibDisplayEXT");;
- return vkAcquireXlibDisplayEXT_VkResult_return;
-}
-
-VkResult VkEncoder::vkGetRandROutputDisplayEXT(
- VkPhysicalDevice physicalDevice,
- Display* dpy,
- RROutput rrOutput,
- VkDisplayKHR* pDisplay)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetRandROutputDisplayEXT");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- RROutput local_rrOutput;
- local_physicalDevice = physicalDevice;
- local_rrOutput = rrOutput;
- countingStream->rewind();
- {
- uint64_t cgen_var_1319;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_1319, 1);
- countingStream->write((uint64_t*)&cgen_var_1319, 1 * 8);
- countingStream->write((Display*)dpy, sizeof(Display));
- countingStream->write((RROutput*)&local_rrOutput, sizeof(RROutput));
- uint64_t cgen_var_1320;
- countingStream->handleMapping()->mapHandles_VkDisplayKHR_u64(pDisplay, &cgen_var_1320, 1);
- countingStream->write((uint64_t*)&cgen_var_1320, 8);
- }
- uint32_t packetSize_vkGetRandROutputDisplayEXT = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetRandROutputDisplayEXT = OP_vkGetRandROutputDisplayEXT;
- stream->write(&opcode_vkGetRandROutputDisplayEXT, sizeof(uint32_t));
- stream->write(&packetSize_vkGetRandROutputDisplayEXT, sizeof(uint32_t));
- uint64_t cgen_var_1321;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_1321, 1);
- stream->write((uint64_t*)&cgen_var_1321, 1 * 8);
- stream->write((Display*)dpy, sizeof(Display));
- stream->write((RROutput*)&local_rrOutput, sizeof(RROutput));
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_1322;
- stream->handleMapping()->mapHandles_VkDisplayKHR_u64(pDisplay, &cgen_var_1322, 1);
- stream->write((uint64_t*)&cgen_var_1322, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- stream->read((Display*)dpy, sizeof(Display));
- uint64_t cgen_var_1323;
- stream->read((uint64_t*)&cgen_var_1323, 8);
- stream->handleMapping()->mapHandles_u64_VkDisplayKHR(&cgen_var_1323, (VkDisplayKHR*)pDisplay, 1);
- VkResult vkGetRandROutputDisplayEXT_VkResult_return = (VkResult)0;
- stream->read(&vkGetRandROutputDisplayEXT_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetRandROutputDisplayEXT");;
- return vkGetRandROutputDisplayEXT_VkResult_return;
-}
-
-#endif
-#ifdef VK_EXT_display_surface_counter
-VkResult VkEncoder::vkGetPhysicalDeviceSurfaceCapabilities2EXT(
- VkPhysicalDevice physicalDevice,
- VkSurfaceKHR surface,
- VkSurfaceCapabilities2EXT* pSurfaceCapabilities)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceSurfaceCapabilities2EXT");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- VkSurfaceKHR local_surface;
- local_physicalDevice = physicalDevice;
- local_surface = surface;
- countingStream->rewind();
- {
- uint64_t cgen_var_1324;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_1324, 1);
- countingStream->write((uint64_t*)&cgen_var_1324, 1 * 8);
- uint64_t cgen_var_1325;
- countingStream->handleMapping()->mapHandles_VkSurfaceKHR_u64(&local_surface, &cgen_var_1325, 1);
- countingStream->write((uint64_t*)&cgen_var_1325, 1 * 8);
- marshal_VkSurfaceCapabilities2EXT(countingStream, (VkSurfaceCapabilities2EXT*)(pSurfaceCapabilities));
- }
- uint32_t packetSize_vkGetPhysicalDeviceSurfaceCapabilities2EXT = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceSurfaceCapabilities2EXT = OP_vkGetPhysicalDeviceSurfaceCapabilities2EXT;
- stream->write(&opcode_vkGetPhysicalDeviceSurfaceCapabilities2EXT, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceSurfaceCapabilities2EXT, sizeof(uint32_t));
- uint64_t cgen_var_1326;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_1326, 1);
- stream->write((uint64_t*)&cgen_var_1326, 1 * 8);
- uint64_t cgen_var_1327;
- stream->handleMapping()->mapHandles_VkSurfaceKHR_u64(&local_surface, &cgen_var_1327, 1);
- stream->write((uint64_t*)&cgen_var_1327, 1 * 8);
- marshal_VkSurfaceCapabilities2EXT(stream, (VkSurfaceCapabilities2EXT*)(pSurfaceCapabilities));
- unmarshal_VkSurfaceCapabilities2EXT(stream, (VkSurfaceCapabilities2EXT*)(pSurfaceCapabilities));
- if (pSurfaceCapabilities)
- {
- transform_fromhost_VkSurfaceCapabilities2EXT(mImpl->resources(), (VkSurfaceCapabilities2EXT*)(pSurfaceCapabilities));
- }
- VkResult vkGetPhysicalDeviceSurfaceCapabilities2EXT_VkResult_return = (VkResult)0;
- stream->read(&vkGetPhysicalDeviceSurfaceCapabilities2EXT_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceSurfaceCapabilities2EXT");;
- return vkGetPhysicalDeviceSurfaceCapabilities2EXT_VkResult_return;
-}
-
-#endif
-#ifdef VK_EXT_display_control
-VkResult VkEncoder::vkDisplayPowerControlEXT(
- VkDevice device,
- VkDisplayKHR display,
- const VkDisplayPowerInfoEXT* pDisplayPowerInfo)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkDisplayPowerControlEXT");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkDisplayKHR local_display;
- VkDisplayPowerInfoEXT* local_pDisplayPowerInfo;
- local_device = device;
- local_display = display;
- local_pDisplayPowerInfo = nullptr;
- if (pDisplayPowerInfo)
- {
- local_pDisplayPowerInfo = (VkDisplayPowerInfoEXT*)pool->alloc(sizeof(const VkDisplayPowerInfoEXT));
- deepcopy_VkDisplayPowerInfoEXT(pool, pDisplayPowerInfo, (VkDisplayPowerInfoEXT*)(local_pDisplayPowerInfo));
- }
- if (local_pDisplayPowerInfo)
- {
- transform_tohost_VkDisplayPowerInfoEXT(mImpl->resources(), (VkDisplayPowerInfoEXT*)(local_pDisplayPowerInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1328;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1328, 1);
- countingStream->write((uint64_t*)&cgen_var_1328, 1 * 8);
- uint64_t cgen_var_1329;
- countingStream->handleMapping()->mapHandles_VkDisplayKHR_u64(&local_display, &cgen_var_1329, 1);
- countingStream->write((uint64_t*)&cgen_var_1329, 1 * 8);
- marshal_VkDisplayPowerInfoEXT(countingStream, (VkDisplayPowerInfoEXT*)(local_pDisplayPowerInfo));
- }
- uint32_t packetSize_vkDisplayPowerControlEXT = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkDisplayPowerControlEXT = OP_vkDisplayPowerControlEXT;
- stream->write(&opcode_vkDisplayPowerControlEXT, sizeof(uint32_t));
- stream->write(&packetSize_vkDisplayPowerControlEXT, sizeof(uint32_t));
- uint64_t cgen_var_1330;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1330, 1);
- stream->write((uint64_t*)&cgen_var_1330, 1 * 8);
- uint64_t cgen_var_1331;
- stream->handleMapping()->mapHandles_VkDisplayKHR_u64(&local_display, &cgen_var_1331, 1);
- stream->write((uint64_t*)&cgen_var_1331, 1 * 8);
- marshal_VkDisplayPowerInfoEXT(stream, (VkDisplayPowerInfoEXT*)(local_pDisplayPowerInfo));
- VkResult vkDisplayPowerControlEXT_VkResult_return = (VkResult)0;
- stream->read(&vkDisplayPowerControlEXT_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkDisplayPowerControlEXT");;
- return vkDisplayPowerControlEXT_VkResult_return;
-}
-
-VkResult VkEncoder::vkRegisterDeviceEventEXT(
- VkDevice device,
- const VkDeviceEventInfoEXT* pDeviceEventInfo,
- const VkAllocationCallbacks* pAllocator,
- VkFence* pFence)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkRegisterDeviceEventEXT");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkDeviceEventInfoEXT* local_pDeviceEventInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_pDeviceEventInfo = nullptr;
- if (pDeviceEventInfo)
- {
- local_pDeviceEventInfo = (VkDeviceEventInfoEXT*)pool->alloc(sizeof(const VkDeviceEventInfoEXT));
- deepcopy_VkDeviceEventInfoEXT(pool, pDeviceEventInfo, (VkDeviceEventInfoEXT*)(local_pDeviceEventInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pDeviceEventInfo)
- {
- transform_tohost_VkDeviceEventInfoEXT(mImpl->resources(), (VkDeviceEventInfoEXT*)(local_pDeviceEventInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1332;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1332, 1);
- countingStream->write((uint64_t*)&cgen_var_1332, 1 * 8);
- marshal_VkDeviceEventInfoEXT(countingStream, (VkDeviceEventInfoEXT*)(local_pDeviceEventInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_1333 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_1333);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_1334;
- countingStream->handleMapping()->mapHandles_VkFence_u64(pFence, &cgen_var_1334, 1);
- countingStream->write((uint64_t*)&cgen_var_1334, 8);
- }
- uint32_t packetSize_vkRegisterDeviceEventEXT = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkRegisterDeviceEventEXT = OP_vkRegisterDeviceEventEXT;
- stream->write(&opcode_vkRegisterDeviceEventEXT, sizeof(uint32_t));
- stream->write(&packetSize_vkRegisterDeviceEventEXT, sizeof(uint32_t));
- uint64_t cgen_var_1335;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1335, 1);
- stream->write((uint64_t*)&cgen_var_1335, 1 * 8);
- marshal_VkDeviceEventInfoEXT(stream, (VkDeviceEventInfoEXT*)(local_pDeviceEventInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_1336 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_1336);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_1337;
- stream->handleMapping()->mapHandles_VkFence_u64(pFence, &cgen_var_1337, 1);
- stream->write((uint64_t*)&cgen_var_1337, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- uint64_t cgen_var_1338;
- stream->read((uint64_t*)&cgen_var_1338, 8);
- stream->handleMapping()->mapHandles_u64_VkFence(&cgen_var_1338, (VkFence*)pFence, 1);
- VkResult vkRegisterDeviceEventEXT_VkResult_return = (VkResult)0;
- stream->read(&vkRegisterDeviceEventEXT_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkRegisterDeviceEventEXT");;
- return vkRegisterDeviceEventEXT_VkResult_return;
-}
-
-VkResult VkEncoder::vkRegisterDisplayEventEXT(
- VkDevice device,
- VkDisplayKHR display,
- const VkDisplayEventInfoEXT* pDisplayEventInfo,
- const VkAllocationCallbacks* pAllocator,
- VkFence* pFence)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkRegisterDisplayEventEXT");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkDisplayKHR local_display;
- VkDisplayEventInfoEXT* local_pDisplayEventInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_display = display;
- local_pDisplayEventInfo = nullptr;
- if (pDisplayEventInfo)
- {
- local_pDisplayEventInfo = (VkDisplayEventInfoEXT*)pool->alloc(sizeof(const VkDisplayEventInfoEXT));
- deepcopy_VkDisplayEventInfoEXT(pool, pDisplayEventInfo, (VkDisplayEventInfoEXT*)(local_pDisplayEventInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pDisplayEventInfo)
- {
- transform_tohost_VkDisplayEventInfoEXT(mImpl->resources(), (VkDisplayEventInfoEXT*)(local_pDisplayEventInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1339;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1339, 1);
- countingStream->write((uint64_t*)&cgen_var_1339, 1 * 8);
- uint64_t cgen_var_1340;
- countingStream->handleMapping()->mapHandles_VkDisplayKHR_u64(&local_display, &cgen_var_1340, 1);
- countingStream->write((uint64_t*)&cgen_var_1340, 1 * 8);
- marshal_VkDisplayEventInfoEXT(countingStream, (VkDisplayEventInfoEXT*)(local_pDisplayEventInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_1341 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_1341);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_1342;
- countingStream->handleMapping()->mapHandles_VkFence_u64(pFence, &cgen_var_1342, 1);
- countingStream->write((uint64_t*)&cgen_var_1342, 8);
- }
- uint32_t packetSize_vkRegisterDisplayEventEXT = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkRegisterDisplayEventEXT = OP_vkRegisterDisplayEventEXT;
- stream->write(&opcode_vkRegisterDisplayEventEXT, sizeof(uint32_t));
- stream->write(&packetSize_vkRegisterDisplayEventEXT, sizeof(uint32_t));
- uint64_t cgen_var_1343;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1343, 1);
- stream->write((uint64_t*)&cgen_var_1343, 1 * 8);
- uint64_t cgen_var_1344;
- stream->handleMapping()->mapHandles_VkDisplayKHR_u64(&local_display, &cgen_var_1344, 1);
- stream->write((uint64_t*)&cgen_var_1344, 1 * 8);
- marshal_VkDisplayEventInfoEXT(stream, (VkDisplayEventInfoEXT*)(local_pDisplayEventInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_1345 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_1345);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_1346;
- stream->handleMapping()->mapHandles_VkFence_u64(pFence, &cgen_var_1346, 1);
- stream->write((uint64_t*)&cgen_var_1346, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- uint64_t cgen_var_1347;
- stream->read((uint64_t*)&cgen_var_1347, 8);
- stream->handleMapping()->mapHandles_u64_VkFence(&cgen_var_1347, (VkFence*)pFence, 1);
- VkResult vkRegisterDisplayEventEXT_VkResult_return = (VkResult)0;
- stream->read(&vkRegisterDisplayEventEXT_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkRegisterDisplayEventEXT");;
- return vkRegisterDisplayEventEXT_VkResult_return;
-}
-
-VkResult VkEncoder::vkGetSwapchainCounterEXT(
- VkDevice device,
- VkSwapchainKHR swapchain,
- VkSurfaceCounterFlagBitsEXT counter,
- uint64_t* pCounterValue)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetSwapchainCounterEXT");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkSwapchainKHR local_swapchain;
- VkSurfaceCounterFlagBitsEXT local_counter;
- local_device = device;
- local_swapchain = swapchain;
- local_counter = counter;
- countingStream->rewind();
- {
- uint64_t cgen_var_1348;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1348, 1);
- countingStream->write((uint64_t*)&cgen_var_1348, 1 * 8);
- uint64_t cgen_var_1349;
- countingStream->handleMapping()->mapHandles_VkSwapchainKHR_u64(&local_swapchain, &cgen_var_1349, 1);
- countingStream->write((uint64_t*)&cgen_var_1349, 1 * 8);
- countingStream->write((VkSurfaceCounterFlagBitsEXT*)&local_counter, sizeof(VkSurfaceCounterFlagBitsEXT));
- countingStream->write((uint64_t*)pCounterValue, sizeof(uint64_t));
- }
- uint32_t packetSize_vkGetSwapchainCounterEXT = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetSwapchainCounterEXT = OP_vkGetSwapchainCounterEXT;
- stream->write(&opcode_vkGetSwapchainCounterEXT, sizeof(uint32_t));
- stream->write(&packetSize_vkGetSwapchainCounterEXT, sizeof(uint32_t));
- uint64_t cgen_var_1350;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1350, 1);
- stream->write((uint64_t*)&cgen_var_1350, 1 * 8);
- uint64_t cgen_var_1351;
- stream->handleMapping()->mapHandles_VkSwapchainKHR_u64(&local_swapchain, &cgen_var_1351, 1);
- stream->write((uint64_t*)&cgen_var_1351, 1 * 8);
- stream->write((VkSurfaceCounterFlagBitsEXT*)&local_counter, sizeof(VkSurfaceCounterFlagBitsEXT));
- stream->write((uint64_t*)pCounterValue, sizeof(uint64_t));
- stream->read((uint64_t*)pCounterValue, sizeof(uint64_t));
- VkResult vkGetSwapchainCounterEXT_VkResult_return = (VkResult)0;
- stream->read(&vkGetSwapchainCounterEXT_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetSwapchainCounterEXT");;
- return vkGetSwapchainCounterEXT_VkResult_return;
-}
-
-#endif
-#ifdef VK_GOOGLE_display_timing
-VkResult VkEncoder::vkGetRefreshCycleDurationGOOGLE(
- VkDevice device,
- VkSwapchainKHR swapchain,
- VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetRefreshCycleDurationGOOGLE");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkSwapchainKHR local_swapchain;
- local_device = device;
- local_swapchain = swapchain;
- countingStream->rewind();
- {
- uint64_t cgen_var_1352;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1352, 1);
- countingStream->write((uint64_t*)&cgen_var_1352, 1 * 8);
- uint64_t cgen_var_1353;
- countingStream->handleMapping()->mapHandles_VkSwapchainKHR_u64(&local_swapchain, &cgen_var_1353, 1);
- countingStream->write((uint64_t*)&cgen_var_1353, 1 * 8);
- marshal_VkRefreshCycleDurationGOOGLE(countingStream, (VkRefreshCycleDurationGOOGLE*)(pDisplayTimingProperties));
- }
- uint32_t packetSize_vkGetRefreshCycleDurationGOOGLE = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetRefreshCycleDurationGOOGLE = OP_vkGetRefreshCycleDurationGOOGLE;
- stream->write(&opcode_vkGetRefreshCycleDurationGOOGLE, sizeof(uint32_t));
- stream->write(&packetSize_vkGetRefreshCycleDurationGOOGLE, sizeof(uint32_t));
- uint64_t cgen_var_1354;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1354, 1);
- stream->write((uint64_t*)&cgen_var_1354, 1 * 8);
- uint64_t cgen_var_1355;
- stream->handleMapping()->mapHandles_VkSwapchainKHR_u64(&local_swapchain, &cgen_var_1355, 1);
- stream->write((uint64_t*)&cgen_var_1355, 1 * 8);
- marshal_VkRefreshCycleDurationGOOGLE(stream, (VkRefreshCycleDurationGOOGLE*)(pDisplayTimingProperties));
- unmarshal_VkRefreshCycleDurationGOOGLE(stream, (VkRefreshCycleDurationGOOGLE*)(pDisplayTimingProperties));
- if (pDisplayTimingProperties)
- {
- transform_fromhost_VkRefreshCycleDurationGOOGLE(mImpl->resources(), (VkRefreshCycleDurationGOOGLE*)(pDisplayTimingProperties));
- }
- VkResult vkGetRefreshCycleDurationGOOGLE_VkResult_return = (VkResult)0;
- stream->read(&vkGetRefreshCycleDurationGOOGLE_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetRefreshCycleDurationGOOGLE");;
- return vkGetRefreshCycleDurationGOOGLE_VkResult_return;
-}
-
-VkResult VkEncoder::vkGetPastPresentationTimingGOOGLE(
- VkDevice device,
- VkSwapchainKHR swapchain,
- uint32_t* pPresentationTimingCount,
- VkPastPresentationTimingGOOGLE* pPresentationTimings)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPastPresentationTimingGOOGLE");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkSwapchainKHR local_swapchain;
- local_device = device;
- local_swapchain = swapchain;
- countingStream->rewind();
- {
- uint64_t cgen_var_1356;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1356, 1);
- countingStream->write((uint64_t*)&cgen_var_1356, 1 * 8);
- uint64_t cgen_var_1357;
- countingStream->handleMapping()->mapHandles_VkSwapchainKHR_u64(&local_swapchain, &cgen_var_1357, 1);
- countingStream->write((uint64_t*)&cgen_var_1357, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_1358 = (uint64_t)(uintptr_t)pPresentationTimingCount;
- countingStream->putBe64(cgen_var_1358);
- if (pPresentationTimingCount)
- {
- countingStream->write((uint32_t*)pPresentationTimingCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_1359 = (uint64_t)(uintptr_t)pPresentationTimings;
- countingStream->putBe64(cgen_var_1359);
- if (pPresentationTimings)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPresentationTimingCount)); ++i)
- {
- marshal_VkPastPresentationTimingGOOGLE(countingStream, (VkPastPresentationTimingGOOGLE*)(pPresentationTimings + i));
- }
- }
- }
- uint32_t packetSize_vkGetPastPresentationTimingGOOGLE = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPastPresentationTimingGOOGLE = OP_vkGetPastPresentationTimingGOOGLE;
- stream->write(&opcode_vkGetPastPresentationTimingGOOGLE, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPastPresentationTimingGOOGLE, sizeof(uint32_t));
- uint64_t cgen_var_1360;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1360, 1);
- stream->write((uint64_t*)&cgen_var_1360, 1 * 8);
- uint64_t cgen_var_1361;
- stream->handleMapping()->mapHandles_VkSwapchainKHR_u64(&local_swapchain, &cgen_var_1361, 1);
- stream->write((uint64_t*)&cgen_var_1361, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_1362 = (uint64_t)(uintptr_t)pPresentationTimingCount;
- stream->putBe64(cgen_var_1362);
- if (pPresentationTimingCount)
- {
- stream->write((uint32_t*)pPresentationTimingCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_1363 = (uint64_t)(uintptr_t)pPresentationTimings;
- stream->putBe64(cgen_var_1363);
- if (pPresentationTimings)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPresentationTimingCount)); ++i)
- {
- marshal_VkPastPresentationTimingGOOGLE(stream, (VkPastPresentationTimingGOOGLE*)(pPresentationTimings + i));
- }
- }
- // WARNING PTR CHECK
- uint32_t* check_pPresentationTimingCount;
- check_pPresentationTimingCount = (uint32_t*)(uintptr_t)stream->getBe64();
- if (pPresentationTimingCount)
- {
- if (!(check_pPresentationTimingCount))
- {
- fprintf(stderr, "fatal: pPresentationTimingCount inconsistent between guest and host\n");
- }
- stream->read((uint32_t*)pPresentationTimingCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- VkPastPresentationTimingGOOGLE* check_pPresentationTimings;
- check_pPresentationTimings = (VkPastPresentationTimingGOOGLE*)(uintptr_t)stream->getBe64();
- if (pPresentationTimings)
- {
- if (!(check_pPresentationTimings))
- {
- fprintf(stderr, "fatal: pPresentationTimings inconsistent between guest and host\n");
- }
- for (uint32_t i = 0; i < (uint32_t)(*(pPresentationTimingCount)); ++i)
- {
- unmarshal_VkPastPresentationTimingGOOGLE(stream, (VkPastPresentationTimingGOOGLE*)(pPresentationTimings + i));
- }
- }
- if (pPresentationTimings)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pPresentationTimingCount)); ++i)
- {
- transform_fromhost_VkPastPresentationTimingGOOGLE(mImpl->resources(), (VkPastPresentationTimingGOOGLE*)(pPresentationTimings + i));
- }
- }
- VkResult vkGetPastPresentationTimingGOOGLE_VkResult_return = (VkResult)0;
- stream->read(&vkGetPastPresentationTimingGOOGLE_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPastPresentationTimingGOOGLE");;
- return vkGetPastPresentationTimingGOOGLE_VkResult_return;
-}
-
-#endif
-#ifdef VK_NV_sample_mask_override_coverage
-#endif
-#ifdef VK_NV_geometry_shader_passthrough
-#endif
-#ifdef VK_NV_viewport_array2
-#endif
-#ifdef VK_NVX_multiview_per_view_attributes
-#endif
-#ifdef VK_NV_viewport_swizzle
-#endif
-#ifdef VK_EXT_discard_rectangles
-void VkEncoder::vkCmdSetDiscardRectangleEXT(
- VkCommandBuffer commandBuffer,
- uint32_t firstDiscardRectangle,
- uint32_t discardRectangleCount,
- const VkRect2D* pDiscardRectangles)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdSetDiscardRectangleEXT");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- uint32_t local_firstDiscardRectangle;
- uint32_t local_discardRectangleCount;
- VkRect2D* local_pDiscardRectangles;
- local_commandBuffer = commandBuffer;
- local_firstDiscardRectangle = firstDiscardRectangle;
- local_discardRectangleCount = discardRectangleCount;
- local_pDiscardRectangles = nullptr;
- if (pDiscardRectangles)
- {
- local_pDiscardRectangles = (VkRect2D*)pool->alloc(((discardRectangleCount)) * sizeof(const VkRect2D));
- for (uint32_t i = 0; i < (uint32_t)((discardRectangleCount)); ++i)
- {
- deepcopy_VkRect2D(pool, pDiscardRectangles + i, (VkRect2D*)(local_pDiscardRectangles + i));
- }
- }
- if (local_pDiscardRectangles)
- {
- for (uint32_t i = 0; i < (uint32_t)((discardRectangleCount)); ++i)
- {
- transform_tohost_VkRect2D(mImpl->resources(), (VkRect2D*)(local_pDiscardRectangles + i));
- }
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1366;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1366, 1);
- countingStream->write((uint64_t*)&cgen_var_1366, 1 * 8);
- countingStream->write((uint32_t*)&local_firstDiscardRectangle, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_discardRectangleCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((discardRectangleCount)); ++i)
- {
- marshal_VkRect2D(countingStream, (VkRect2D*)(local_pDiscardRectangles + i));
- }
- }
- uint32_t packetSize_vkCmdSetDiscardRectangleEXT = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdSetDiscardRectangleEXT = OP_vkCmdSetDiscardRectangleEXT;
- stream->write(&opcode_vkCmdSetDiscardRectangleEXT, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdSetDiscardRectangleEXT, sizeof(uint32_t));
- uint64_t cgen_var_1367;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1367, 1);
- stream->write((uint64_t*)&cgen_var_1367, 1 * 8);
- stream->write((uint32_t*)&local_firstDiscardRectangle, sizeof(uint32_t));
- stream->write((uint32_t*)&local_discardRectangleCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((discardRectangleCount)); ++i)
- {
- marshal_VkRect2D(stream, (VkRect2D*)(local_pDiscardRectangles + i));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdSetDiscardRectangleEXT");;
-}
-
-#endif
-#ifdef VK_EXT_conservative_rasterization
-#endif
-#ifdef VK_EXT_swapchain_colorspace
-#endif
-#ifdef VK_EXT_hdr_metadata
-void VkEncoder::vkSetHdrMetadataEXT(
- VkDevice device,
- uint32_t swapchainCount,
- const VkSwapchainKHR* pSwapchains,
- const VkHdrMetadataEXT* pMetadata)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkSetHdrMetadataEXT");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- uint32_t local_swapchainCount;
- VkSwapchainKHR* local_pSwapchains;
- VkHdrMetadataEXT* local_pMetadata;
- local_device = device;
- local_swapchainCount = swapchainCount;
- local_pSwapchains = nullptr;
- if (pSwapchains)
- {
- local_pSwapchains = (VkSwapchainKHR*)pool->dupArray(pSwapchains, ((swapchainCount)) * sizeof(const VkSwapchainKHR));
- }
- local_pMetadata = nullptr;
- if (pMetadata)
- {
- local_pMetadata = (VkHdrMetadataEXT*)pool->alloc(((swapchainCount)) * sizeof(const VkHdrMetadataEXT));
- for (uint32_t i = 0; i < (uint32_t)((swapchainCount)); ++i)
- {
- deepcopy_VkHdrMetadataEXT(pool, pMetadata + i, (VkHdrMetadataEXT*)(local_pMetadata + i));
- }
- }
- if (local_pMetadata)
- {
- for (uint32_t i = 0; i < (uint32_t)((swapchainCount)); ++i)
- {
- transform_tohost_VkHdrMetadataEXT(mImpl->resources(), (VkHdrMetadataEXT*)(local_pMetadata + i));
- }
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1368;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1368, 1);
- countingStream->write((uint64_t*)&cgen_var_1368, 1 * 8);
- countingStream->write((uint32_t*)&local_swapchainCount, sizeof(uint32_t));
- if (((swapchainCount)))
- {
- uint64_t* cgen_var_1369;
- countingStream->alloc((void**)&cgen_var_1369, ((swapchainCount)) * 8);
- countingStream->handleMapping()->mapHandles_VkSwapchainKHR_u64(local_pSwapchains, cgen_var_1369, ((swapchainCount)));
- countingStream->write((uint64_t*)cgen_var_1369, ((swapchainCount)) * 8);
- }
- for (uint32_t i = 0; i < (uint32_t)((swapchainCount)); ++i)
- {
- marshal_VkHdrMetadataEXT(countingStream, (VkHdrMetadataEXT*)(local_pMetadata + i));
- }
- }
- uint32_t packetSize_vkSetHdrMetadataEXT = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkSetHdrMetadataEXT = OP_vkSetHdrMetadataEXT;
- stream->write(&opcode_vkSetHdrMetadataEXT, sizeof(uint32_t));
- stream->write(&packetSize_vkSetHdrMetadataEXT, sizeof(uint32_t));
- uint64_t cgen_var_1370;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1370, 1);
- stream->write((uint64_t*)&cgen_var_1370, 1 * 8);
- stream->write((uint32_t*)&local_swapchainCount, sizeof(uint32_t));
- if (((swapchainCount)))
- {
- uint64_t* cgen_var_1371;
- stream->alloc((void**)&cgen_var_1371, ((swapchainCount)) * 8);
- stream->handleMapping()->mapHandles_VkSwapchainKHR_u64(local_pSwapchains, cgen_var_1371, ((swapchainCount)));
- stream->write((uint64_t*)cgen_var_1371, ((swapchainCount)) * 8);
- }
- for (uint32_t i = 0; i < (uint32_t)((swapchainCount)); ++i)
- {
- marshal_VkHdrMetadataEXT(stream, (VkHdrMetadataEXT*)(local_pMetadata + i));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkSetHdrMetadataEXT");;
-}
-
-#endif
-#ifdef VK_MVK_ios_surface
-VkResult VkEncoder::vkCreateIOSSurfaceMVK(
- VkInstance instance,
- const VkIOSSurfaceCreateInfoMVK* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSurfaceKHR* pSurface)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateIOSSurfaceMVK");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkInstance local_instance;
- VkIOSSurfaceCreateInfoMVK* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_instance = instance;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkIOSSurfaceCreateInfoMVK*)pool->alloc(sizeof(const VkIOSSurfaceCreateInfoMVK));
- deepcopy_VkIOSSurfaceCreateInfoMVK(pool, pCreateInfo, (VkIOSSurfaceCreateInfoMVK*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkIOSSurfaceCreateInfoMVK(mImpl->resources(), (VkIOSSurfaceCreateInfoMVK*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1372;
- countingStream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_1372, 1);
- countingStream->write((uint64_t*)&cgen_var_1372, 1 * 8);
- marshal_VkIOSSurfaceCreateInfoMVK(countingStream, (VkIOSSurfaceCreateInfoMVK*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_1373 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_1373);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_1374;
- countingStream->handleMapping()->mapHandles_VkSurfaceKHR_u64(pSurface, &cgen_var_1374, 1);
- countingStream->write((uint64_t*)&cgen_var_1374, 8);
- }
- uint32_t packetSize_vkCreateIOSSurfaceMVK = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateIOSSurfaceMVK = OP_vkCreateIOSSurfaceMVK;
- stream->write(&opcode_vkCreateIOSSurfaceMVK, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateIOSSurfaceMVK, sizeof(uint32_t));
- uint64_t cgen_var_1375;
- stream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_1375, 1);
- stream->write((uint64_t*)&cgen_var_1375, 1 * 8);
- marshal_VkIOSSurfaceCreateInfoMVK(stream, (VkIOSSurfaceCreateInfoMVK*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_1376 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_1376);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_1377;
- stream->handleMapping()->mapHandles_VkSurfaceKHR_u64(pSurface, &cgen_var_1377, 1);
- stream->write((uint64_t*)&cgen_var_1377, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- uint64_t cgen_var_1378;
- stream->read((uint64_t*)&cgen_var_1378, 8);
- stream->handleMapping()->mapHandles_u64_VkSurfaceKHR(&cgen_var_1378, (VkSurfaceKHR*)pSurface, 1);
- VkResult vkCreateIOSSurfaceMVK_VkResult_return = (VkResult)0;
- stream->read(&vkCreateIOSSurfaceMVK_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateIOSSurfaceMVK");;
- return vkCreateIOSSurfaceMVK_VkResult_return;
-}
-
-#endif
-#ifdef VK_MVK_macos_surface
-VkResult VkEncoder::vkCreateMacOSSurfaceMVK(
- VkInstance instance,
- const VkMacOSSurfaceCreateInfoMVK* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSurfaceKHR* pSurface)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateMacOSSurfaceMVK");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkInstance local_instance;
- VkMacOSSurfaceCreateInfoMVK* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_instance = instance;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkMacOSSurfaceCreateInfoMVK*)pool->alloc(sizeof(const VkMacOSSurfaceCreateInfoMVK));
- deepcopy_VkMacOSSurfaceCreateInfoMVK(pool, pCreateInfo, (VkMacOSSurfaceCreateInfoMVK*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkMacOSSurfaceCreateInfoMVK(mImpl->resources(), (VkMacOSSurfaceCreateInfoMVK*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1379;
- countingStream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_1379, 1);
- countingStream->write((uint64_t*)&cgen_var_1379, 1 * 8);
- marshal_VkMacOSSurfaceCreateInfoMVK(countingStream, (VkMacOSSurfaceCreateInfoMVK*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_1380 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_1380);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_1381;
- countingStream->handleMapping()->mapHandles_VkSurfaceKHR_u64(pSurface, &cgen_var_1381, 1);
- countingStream->write((uint64_t*)&cgen_var_1381, 8);
- }
- uint32_t packetSize_vkCreateMacOSSurfaceMVK = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateMacOSSurfaceMVK = OP_vkCreateMacOSSurfaceMVK;
- stream->write(&opcode_vkCreateMacOSSurfaceMVK, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateMacOSSurfaceMVK, sizeof(uint32_t));
- uint64_t cgen_var_1382;
- stream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_1382, 1);
- stream->write((uint64_t*)&cgen_var_1382, 1 * 8);
- marshal_VkMacOSSurfaceCreateInfoMVK(stream, (VkMacOSSurfaceCreateInfoMVK*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_1383 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_1383);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_1384;
- stream->handleMapping()->mapHandles_VkSurfaceKHR_u64(pSurface, &cgen_var_1384, 1);
- stream->write((uint64_t*)&cgen_var_1384, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- uint64_t cgen_var_1385;
- stream->read((uint64_t*)&cgen_var_1385, 8);
- stream->handleMapping()->mapHandles_u64_VkSurfaceKHR(&cgen_var_1385, (VkSurfaceKHR*)pSurface, 1);
- VkResult vkCreateMacOSSurfaceMVK_VkResult_return = (VkResult)0;
- stream->read(&vkCreateMacOSSurfaceMVK_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateMacOSSurfaceMVK");;
- return vkCreateMacOSSurfaceMVK_VkResult_return;
-}
-
-#endif
-#ifdef VK_EXT_external_memory_dma_buf
-#endif
-#ifdef VK_EXT_queue_family_foreign
-#endif
-#ifdef VK_EXT_debug_utils
-VkResult VkEncoder::vkSetDebugUtilsObjectNameEXT(
- VkDevice device,
- const VkDebugUtilsObjectNameInfoEXT* pNameInfo)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkSetDebugUtilsObjectNameEXT");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkDebugUtilsObjectNameInfoEXT* local_pNameInfo;
- local_device = device;
- local_pNameInfo = nullptr;
- if (pNameInfo)
- {
- local_pNameInfo = (VkDebugUtilsObjectNameInfoEXT*)pool->alloc(sizeof(const VkDebugUtilsObjectNameInfoEXT));
- deepcopy_VkDebugUtilsObjectNameInfoEXT(pool, pNameInfo, (VkDebugUtilsObjectNameInfoEXT*)(local_pNameInfo));
- }
- if (local_pNameInfo)
- {
- transform_tohost_VkDebugUtilsObjectNameInfoEXT(mImpl->resources(), (VkDebugUtilsObjectNameInfoEXT*)(local_pNameInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1386;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1386, 1);
- countingStream->write((uint64_t*)&cgen_var_1386, 1 * 8);
- marshal_VkDebugUtilsObjectNameInfoEXT(countingStream, (VkDebugUtilsObjectNameInfoEXT*)(local_pNameInfo));
- }
- uint32_t packetSize_vkSetDebugUtilsObjectNameEXT = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkSetDebugUtilsObjectNameEXT = OP_vkSetDebugUtilsObjectNameEXT;
- stream->write(&opcode_vkSetDebugUtilsObjectNameEXT, sizeof(uint32_t));
- stream->write(&packetSize_vkSetDebugUtilsObjectNameEXT, sizeof(uint32_t));
- uint64_t cgen_var_1387;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1387, 1);
- stream->write((uint64_t*)&cgen_var_1387, 1 * 8);
- marshal_VkDebugUtilsObjectNameInfoEXT(stream, (VkDebugUtilsObjectNameInfoEXT*)(local_pNameInfo));
- VkResult vkSetDebugUtilsObjectNameEXT_VkResult_return = (VkResult)0;
- stream->read(&vkSetDebugUtilsObjectNameEXT_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkSetDebugUtilsObjectNameEXT");;
- return vkSetDebugUtilsObjectNameEXT_VkResult_return;
-}
-
-VkResult VkEncoder::vkSetDebugUtilsObjectTagEXT(
- VkDevice device,
- const VkDebugUtilsObjectTagInfoEXT* pTagInfo)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkSetDebugUtilsObjectTagEXT");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkDebugUtilsObjectTagInfoEXT* local_pTagInfo;
- local_device = device;
- local_pTagInfo = nullptr;
- if (pTagInfo)
- {
- local_pTagInfo = (VkDebugUtilsObjectTagInfoEXT*)pool->alloc(sizeof(const VkDebugUtilsObjectTagInfoEXT));
- deepcopy_VkDebugUtilsObjectTagInfoEXT(pool, pTagInfo, (VkDebugUtilsObjectTagInfoEXT*)(local_pTagInfo));
- }
- if (local_pTagInfo)
- {
- transform_tohost_VkDebugUtilsObjectTagInfoEXT(mImpl->resources(), (VkDebugUtilsObjectTagInfoEXT*)(local_pTagInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1388;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1388, 1);
- countingStream->write((uint64_t*)&cgen_var_1388, 1 * 8);
- marshal_VkDebugUtilsObjectTagInfoEXT(countingStream, (VkDebugUtilsObjectTagInfoEXT*)(local_pTagInfo));
- }
- uint32_t packetSize_vkSetDebugUtilsObjectTagEXT = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkSetDebugUtilsObjectTagEXT = OP_vkSetDebugUtilsObjectTagEXT;
- stream->write(&opcode_vkSetDebugUtilsObjectTagEXT, sizeof(uint32_t));
- stream->write(&packetSize_vkSetDebugUtilsObjectTagEXT, sizeof(uint32_t));
- uint64_t cgen_var_1389;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1389, 1);
- stream->write((uint64_t*)&cgen_var_1389, 1 * 8);
- marshal_VkDebugUtilsObjectTagInfoEXT(stream, (VkDebugUtilsObjectTagInfoEXT*)(local_pTagInfo));
- VkResult vkSetDebugUtilsObjectTagEXT_VkResult_return = (VkResult)0;
- stream->read(&vkSetDebugUtilsObjectTagEXT_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkSetDebugUtilsObjectTagEXT");;
- return vkSetDebugUtilsObjectTagEXT_VkResult_return;
-}
-
-void VkEncoder::vkQueueBeginDebugUtilsLabelEXT(
- VkQueue queue,
- const VkDebugUtilsLabelEXT* pLabelInfo)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkQueueBeginDebugUtilsLabelEXT");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkQueue local_queue;
- VkDebugUtilsLabelEXT* local_pLabelInfo;
- local_queue = queue;
- local_pLabelInfo = nullptr;
- if (pLabelInfo)
- {
- local_pLabelInfo = (VkDebugUtilsLabelEXT*)pool->alloc(sizeof(const VkDebugUtilsLabelEXT));
- deepcopy_VkDebugUtilsLabelEXT(pool, pLabelInfo, (VkDebugUtilsLabelEXT*)(local_pLabelInfo));
- }
- if (local_pLabelInfo)
- {
- transform_tohost_VkDebugUtilsLabelEXT(mImpl->resources(), (VkDebugUtilsLabelEXT*)(local_pLabelInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1390;
- countingStream->handleMapping()->mapHandles_VkQueue_u64(&local_queue, &cgen_var_1390, 1);
- countingStream->write((uint64_t*)&cgen_var_1390, 1 * 8);
- marshal_VkDebugUtilsLabelEXT(countingStream, (VkDebugUtilsLabelEXT*)(local_pLabelInfo));
- }
- uint32_t packetSize_vkQueueBeginDebugUtilsLabelEXT = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkQueueBeginDebugUtilsLabelEXT = OP_vkQueueBeginDebugUtilsLabelEXT;
- stream->write(&opcode_vkQueueBeginDebugUtilsLabelEXT, sizeof(uint32_t));
- stream->write(&packetSize_vkQueueBeginDebugUtilsLabelEXT, sizeof(uint32_t));
- uint64_t cgen_var_1391;
- stream->handleMapping()->mapHandles_VkQueue_u64(&local_queue, &cgen_var_1391, 1);
- stream->write((uint64_t*)&cgen_var_1391, 1 * 8);
- marshal_VkDebugUtilsLabelEXT(stream, (VkDebugUtilsLabelEXT*)(local_pLabelInfo));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkQueueBeginDebugUtilsLabelEXT");;
-}
-
-void VkEncoder::vkQueueEndDebugUtilsLabelEXT(
- VkQueue queue)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkQueueEndDebugUtilsLabelEXT");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkQueue local_queue;
- local_queue = queue;
- countingStream->rewind();
- {
- uint64_t cgen_var_1392;
- countingStream->handleMapping()->mapHandles_VkQueue_u64(&local_queue, &cgen_var_1392, 1);
- countingStream->write((uint64_t*)&cgen_var_1392, 1 * 8);
- }
- uint32_t packetSize_vkQueueEndDebugUtilsLabelEXT = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkQueueEndDebugUtilsLabelEXT = OP_vkQueueEndDebugUtilsLabelEXT;
- stream->write(&opcode_vkQueueEndDebugUtilsLabelEXT, sizeof(uint32_t));
- stream->write(&packetSize_vkQueueEndDebugUtilsLabelEXT, sizeof(uint32_t));
- uint64_t cgen_var_1393;
- stream->handleMapping()->mapHandles_VkQueue_u64(&local_queue, &cgen_var_1393, 1);
- stream->write((uint64_t*)&cgen_var_1393, 1 * 8);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkQueueEndDebugUtilsLabelEXT");;
-}
-
-void VkEncoder::vkQueueInsertDebugUtilsLabelEXT(
- VkQueue queue,
- const VkDebugUtilsLabelEXT* pLabelInfo)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkQueueInsertDebugUtilsLabelEXT");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkQueue local_queue;
- VkDebugUtilsLabelEXT* local_pLabelInfo;
- local_queue = queue;
- local_pLabelInfo = nullptr;
- if (pLabelInfo)
- {
- local_pLabelInfo = (VkDebugUtilsLabelEXT*)pool->alloc(sizeof(const VkDebugUtilsLabelEXT));
- deepcopy_VkDebugUtilsLabelEXT(pool, pLabelInfo, (VkDebugUtilsLabelEXT*)(local_pLabelInfo));
- }
- if (local_pLabelInfo)
- {
- transform_tohost_VkDebugUtilsLabelEXT(mImpl->resources(), (VkDebugUtilsLabelEXT*)(local_pLabelInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1394;
- countingStream->handleMapping()->mapHandles_VkQueue_u64(&local_queue, &cgen_var_1394, 1);
- countingStream->write((uint64_t*)&cgen_var_1394, 1 * 8);
- marshal_VkDebugUtilsLabelEXT(countingStream, (VkDebugUtilsLabelEXT*)(local_pLabelInfo));
- }
- uint32_t packetSize_vkQueueInsertDebugUtilsLabelEXT = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkQueueInsertDebugUtilsLabelEXT = OP_vkQueueInsertDebugUtilsLabelEXT;
- stream->write(&opcode_vkQueueInsertDebugUtilsLabelEXT, sizeof(uint32_t));
- stream->write(&packetSize_vkQueueInsertDebugUtilsLabelEXT, sizeof(uint32_t));
- uint64_t cgen_var_1395;
- stream->handleMapping()->mapHandles_VkQueue_u64(&local_queue, &cgen_var_1395, 1);
- stream->write((uint64_t*)&cgen_var_1395, 1 * 8);
- marshal_VkDebugUtilsLabelEXT(stream, (VkDebugUtilsLabelEXT*)(local_pLabelInfo));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkQueueInsertDebugUtilsLabelEXT");;
-}
-
-void VkEncoder::vkCmdBeginDebugUtilsLabelEXT(
- VkCommandBuffer commandBuffer,
- const VkDebugUtilsLabelEXT* pLabelInfo)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdBeginDebugUtilsLabelEXT");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkDebugUtilsLabelEXT* local_pLabelInfo;
- local_commandBuffer = commandBuffer;
- local_pLabelInfo = nullptr;
- if (pLabelInfo)
- {
- local_pLabelInfo = (VkDebugUtilsLabelEXT*)pool->alloc(sizeof(const VkDebugUtilsLabelEXT));
- deepcopy_VkDebugUtilsLabelEXT(pool, pLabelInfo, (VkDebugUtilsLabelEXT*)(local_pLabelInfo));
- }
- if (local_pLabelInfo)
- {
- transform_tohost_VkDebugUtilsLabelEXT(mImpl->resources(), (VkDebugUtilsLabelEXT*)(local_pLabelInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1396;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1396, 1);
- countingStream->write((uint64_t*)&cgen_var_1396, 1 * 8);
- marshal_VkDebugUtilsLabelEXT(countingStream, (VkDebugUtilsLabelEXT*)(local_pLabelInfo));
- }
- uint32_t packetSize_vkCmdBeginDebugUtilsLabelEXT = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdBeginDebugUtilsLabelEXT = OP_vkCmdBeginDebugUtilsLabelEXT;
- stream->write(&opcode_vkCmdBeginDebugUtilsLabelEXT, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdBeginDebugUtilsLabelEXT, sizeof(uint32_t));
- uint64_t cgen_var_1397;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1397, 1);
- stream->write((uint64_t*)&cgen_var_1397, 1 * 8);
- marshal_VkDebugUtilsLabelEXT(stream, (VkDebugUtilsLabelEXT*)(local_pLabelInfo));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdBeginDebugUtilsLabelEXT");;
-}
-
-void VkEncoder::vkCmdEndDebugUtilsLabelEXT(
- VkCommandBuffer commandBuffer)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdEndDebugUtilsLabelEXT");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- local_commandBuffer = commandBuffer;
- countingStream->rewind();
- {
- uint64_t cgen_var_1398;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1398, 1);
- countingStream->write((uint64_t*)&cgen_var_1398, 1 * 8);
- }
- uint32_t packetSize_vkCmdEndDebugUtilsLabelEXT = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdEndDebugUtilsLabelEXT = OP_vkCmdEndDebugUtilsLabelEXT;
- stream->write(&opcode_vkCmdEndDebugUtilsLabelEXT, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdEndDebugUtilsLabelEXT, sizeof(uint32_t));
- uint64_t cgen_var_1399;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1399, 1);
- stream->write((uint64_t*)&cgen_var_1399, 1 * 8);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdEndDebugUtilsLabelEXT");;
-}
-
-void VkEncoder::vkCmdInsertDebugUtilsLabelEXT(
- VkCommandBuffer commandBuffer,
- const VkDebugUtilsLabelEXT* pLabelInfo)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdInsertDebugUtilsLabelEXT");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkDebugUtilsLabelEXT* local_pLabelInfo;
- local_commandBuffer = commandBuffer;
- local_pLabelInfo = nullptr;
- if (pLabelInfo)
- {
- local_pLabelInfo = (VkDebugUtilsLabelEXT*)pool->alloc(sizeof(const VkDebugUtilsLabelEXT));
- deepcopy_VkDebugUtilsLabelEXT(pool, pLabelInfo, (VkDebugUtilsLabelEXT*)(local_pLabelInfo));
- }
- if (local_pLabelInfo)
- {
- transform_tohost_VkDebugUtilsLabelEXT(mImpl->resources(), (VkDebugUtilsLabelEXT*)(local_pLabelInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1400;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1400, 1);
- countingStream->write((uint64_t*)&cgen_var_1400, 1 * 8);
- marshal_VkDebugUtilsLabelEXT(countingStream, (VkDebugUtilsLabelEXT*)(local_pLabelInfo));
- }
- uint32_t packetSize_vkCmdInsertDebugUtilsLabelEXT = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdInsertDebugUtilsLabelEXT = OP_vkCmdInsertDebugUtilsLabelEXT;
- stream->write(&opcode_vkCmdInsertDebugUtilsLabelEXT, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdInsertDebugUtilsLabelEXT, sizeof(uint32_t));
- uint64_t cgen_var_1401;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1401, 1);
- stream->write((uint64_t*)&cgen_var_1401, 1 * 8);
- marshal_VkDebugUtilsLabelEXT(stream, (VkDebugUtilsLabelEXT*)(local_pLabelInfo));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdInsertDebugUtilsLabelEXT");;
-}
-
-VkResult VkEncoder::vkCreateDebugUtilsMessengerEXT(
- VkInstance instance,
- const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkDebugUtilsMessengerEXT* pMessenger)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateDebugUtilsMessengerEXT");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkInstance local_instance;
- VkDebugUtilsMessengerCreateInfoEXT* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_instance = instance;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkDebugUtilsMessengerCreateInfoEXT*)pool->alloc(sizeof(const VkDebugUtilsMessengerCreateInfoEXT));
- deepcopy_VkDebugUtilsMessengerCreateInfoEXT(pool, pCreateInfo, (VkDebugUtilsMessengerCreateInfoEXT*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkDebugUtilsMessengerCreateInfoEXT(mImpl->resources(), (VkDebugUtilsMessengerCreateInfoEXT*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1402;
- countingStream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_1402, 1);
- countingStream->write((uint64_t*)&cgen_var_1402, 1 * 8);
- marshal_VkDebugUtilsMessengerCreateInfoEXT(countingStream, (VkDebugUtilsMessengerCreateInfoEXT*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_1403 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_1403);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_1404;
- countingStream->handleMapping()->mapHandles_VkDebugUtilsMessengerEXT_u64(pMessenger, &cgen_var_1404, 1);
- countingStream->write((uint64_t*)&cgen_var_1404, 8);
- }
- uint32_t packetSize_vkCreateDebugUtilsMessengerEXT = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateDebugUtilsMessengerEXT = OP_vkCreateDebugUtilsMessengerEXT;
- stream->write(&opcode_vkCreateDebugUtilsMessengerEXT, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateDebugUtilsMessengerEXT, sizeof(uint32_t));
- uint64_t cgen_var_1405;
- stream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_1405, 1);
- stream->write((uint64_t*)&cgen_var_1405, 1 * 8);
- marshal_VkDebugUtilsMessengerCreateInfoEXT(stream, (VkDebugUtilsMessengerCreateInfoEXT*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_1406 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_1406);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_1407;
- stream->handleMapping()->mapHandles_VkDebugUtilsMessengerEXT_u64(pMessenger, &cgen_var_1407, 1);
- stream->write((uint64_t*)&cgen_var_1407, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- stream->setHandleMapping(resources->createMapping());
- uint64_t cgen_var_1408;
- stream->read((uint64_t*)&cgen_var_1408, 8);
- stream->handleMapping()->mapHandles_u64_VkDebugUtilsMessengerEXT(&cgen_var_1408, (VkDebugUtilsMessengerEXT*)pMessenger, 1);
- stream->unsetHandleMapping();
- VkResult vkCreateDebugUtilsMessengerEXT_VkResult_return = (VkResult)0;
- stream->read(&vkCreateDebugUtilsMessengerEXT_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateDebugUtilsMessengerEXT");;
- return vkCreateDebugUtilsMessengerEXT_VkResult_return;
-}
-
-void VkEncoder::vkDestroyDebugUtilsMessengerEXT(
- VkInstance instance,
- VkDebugUtilsMessengerEXT messenger,
- const VkAllocationCallbacks* pAllocator)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkDestroyDebugUtilsMessengerEXT");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkInstance local_instance;
- VkDebugUtilsMessengerEXT local_messenger;
- VkAllocationCallbacks* local_pAllocator;
- local_instance = instance;
- local_messenger = messenger;
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1409;
- countingStream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_1409, 1);
- countingStream->write((uint64_t*)&cgen_var_1409, 1 * 8);
- uint64_t cgen_var_1410;
- countingStream->handleMapping()->mapHandles_VkDebugUtilsMessengerEXT_u64(&local_messenger, &cgen_var_1410, 1);
- countingStream->write((uint64_t*)&cgen_var_1410, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_1411 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_1411);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- }
- uint32_t packetSize_vkDestroyDebugUtilsMessengerEXT = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkDestroyDebugUtilsMessengerEXT = OP_vkDestroyDebugUtilsMessengerEXT;
- stream->write(&opcode_vkDestroyDebugUtilsMessengerEXT, sizeof(uint32_t));
- stream->write(&packetSize_vkDestroyDebugUtilsMessengerEXT, sizeof(uint32_t));
- uint64_t cgen_var_1412;
- stream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_1412, 1);
- stream->write((uint64_t*)&cgen_var_1412, 1 * 8);
- uint64_t cgen_var_1413;
- stream->handleMapping()->mapHandles_VkDebugUtilsMessengerEXT_u64(&local_messenger, &cgen_var_1413, 1);
- stream->write((uint64_t*)&cgen_var_1413, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_1414 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_1414);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- resources->destroyMapping()->mapHandles_VkDebugUtilsMessengerEXT((VkDebugUtilsMessengerEXT*)&messenger);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkDestroyDebugUtilsMessengerEXT");;
-}
-
-void VkEncoder::vkSubmitDebugUtilsMessageEXT(
- VkInstance instance,
- VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
- VkDebugUtilsMessageTypeFlagsEXT messageTypes,
- const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkSubmitDebugUtilsMessageEXT");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkInstance local_instance;
- VkDebugUtilsMessageSeverityFlagBitsEXT local_messageSeverity;
- VkDebugUtilsMessageTypeFlagsEXT local_messageTypes;
- VkDebugUtilsMessengerCallbackDataEXT* local_pCallbackData;
- local_instance = instance;
- local_messageSeverity = messageSeverity;
- local_messageTypes = messageTypes;
- local_pCallbackData = nullptr;
- if (pCallbackData)
- {
- local_pCallbackData = (VkDebugUtilsMessengerCallbackDataEXT*)pool->alloc(sizeof(const VkDebugUtilsMessengerCallbackDataEXT));
- deepcopy_VkDebugUtilsMessengerCallbackDataEXT(pool, pCallbackData, (VkDebugUtilsMessengerCallbackDataEXT*)(local_pCallbackData));
- }
- if (local_pCallbackData)
- {
- transform_tohost_VkDebugUtilsMessengerCallbackDataEXT(mImpl->resources(), (VkDebugUtilsMessengerCallbackDataEXT*)(local_pCallbackData));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1415;
- countingStream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_1415, 1);
- countingStream->write((uint64_t*)&cgen_var_1415, 1 * 8);
- countingStream->write((VkDebugUtilsMessageSeverityFlagBitsEXT*)&local_messageSeverity, sizeof(VkDebugUtilsMessageSeverityFlagBitsEXT));
- countingStream->write((VkDebugUtilsMessageTypeFlagsEXT*)&local_messageTypes, sizeof(VkDebugUtilsMessageTypeFlagsEXT));
- marshal_VkDebugUtilsMessengerCallbackDataEXT(countingStream, (VkDebugUtilsMessengerCallbackDataEXT*)(local_pCallbackData));
- }
- uint32_t packetSize_vkSubmitDebugUtilsMessageEXT = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkSubmitDebugUtilsMessageEXT = OP_vkSubmitDebugUtilsMessageEXT;
- stream->write(&opcode_vkSubmitDebugUtilsMessageEXT, sizeof(uint32_t));
- stream->write(&packetSize_vkSubmitDebugUtilsMessageEXT, sizeof(uint32_t));
- uint64_t cgen_var_1416;
- stream->handleMapping()->mapHandles_VkInstance_u64(&local_instance, &cgen_var_1416, 1);
- stream->write((uint64_t*)&cgen_var_1416, 1 * 8);
- stream->write((VkDebugUtilsMessageSeverityFlagBitsEXT*)&local_messageSeverity, sizeof(VkDebugUtilsMessageSeverityFlagBitsEXT));
- stream->write((VkDebugUtilsMessageTypeFlagsEXT*)&local_messageTypes, sizeof(VkDebugUtilsMessageTypeFlagsEXT));
- marshal_VkDebugUtilsMessengerCallbackDataEXT(stream, (VkDebugUtilsMessengerCallbackDataEXT*)(local_pCallbackData));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkSubmitDebugUtilsMessageEXT");;
-}
-
-#endif
-#ifdef VK_ANDROID_external_memory_android_hardware_buffer
-VkResult VkEncoder::vkGetAndroidHardwareBufferPropertiesANDROID(
- VkDevice device,
- const AHardwareBuffer* buffer,
- VkAndroidHardwareBufferPropertiesANDROID* pProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetAndroidHardwareBufferPropertiesANDROID");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- AHardwareBuffer* local_buffer;
- local_device = device;
- local_buffer = nullptr;
- if (buffer)
- {
- local_buffer = (AHardwareBuffer*)pool->dupArray(buffer, sizeof(const AHardwareBuffer));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1417;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1417, 1);
- countingStream->write((uint64_t*)&cgen_var_1417, 1 * 8);
- countingStream->write((AHardwareBuffer*)local_buffer, sizeof(AHardwareBuffer));
- marshal_VkAndroidHardwareBufferPropertiesANDROID(countingStream, (VkAndroidHardwareBufferPropertiesANDROID*)(pProperties));
- }
- uint32_t packetSize_vkGetAndroidHardwareBufferPropertiesANDROID = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetAndroidHardwareBufferPropertiesANDROID = OP_vkGetAndroidHardwareBufferPropertiesANDROID;
- stream->write(&opcode_vkGetAndroidHardwareBufferPropertiesANDROID, sizeof(uint32_t));
- stream->write(&packetSize_vkGetAndroidHardwareBufferPropertiesANDROID, sizeof(uint32_t));
- uint64_t cgen_var_1418;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1418, 1);
- stream->write((uint64_t*)&cgen_var_1418, 1 * 8);
- stream->write((AHardwareBuffer*)local_buffer, sizeof(AHardwareBuffer));
- marshal_VkAndroidHardwareBufferPropertiesANDROID(stream, (VkAndroidHardwareBufferPropertiesANDROID*)(pProperties));
- unmarshal_VkAndroidHardwareBufferPropertiesANDROID(stream, (VkAndroidHardwareBufferPropertiesANDROID*)(pProperties));
- if (pProperties)
- {
- transform_fromhost_VkAndroidHardwareBufferPropertiesANDROID(mImpl->resources(), (VkAndroidHardwareBufferPropertiesANDROID*)(pProperties));
- }
- VkResult vkGetAndroidHardwareBufferPropertiesANDROID_VkResult_return = (VkResult)0;
- stream->read(&vkGetAndroidHardwareBufferPropertiesANDROID_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetAndroidHardwareBufferPropertiesANDROID");;
- return vkGetAndroidHardwareBufferPropertiesANDROID_VkResult_return;
-}
-
-VkResult VkEncoder::vkGetMemoryAndroidHardwareBufferANDROID(
- VkDevice device,
- const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo,
- AHardwareBuffer** pBuffer)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetMemoryAndroidHardwareBufferANDROID");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkMemoryGetAndroidHardwareBufferInfoANDROID* local_pInfo;
- local_device = device;
- local_pInfo = nullptr;
- if (pInfo)
- {
- local_pInfo = (VkMemoryGetAndroidHardwareBufferInfoANDROID*)pool->alloc(sizeof(const VkMemoryGetAndroidHardwareBufferInfoANDROID));
- deepcopy_VkMemoryGetAndroidHardwareBufferInfoANDROID(pool, pInfo, (VkMemoryGetAndroidHardwareBufferInfoANDROID*)(local_pInfo));
- }
- if (local_pInfo)
- {
- transform_tohost_VkMemoryGetAndroidHardwareBufferInfoANDROID(mImpl->resources(), (VkMemoryGetAndroidHardwareBufferInfoANDROID*)(local_pInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1419;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1419, 1);
- countingStream->write((uint64_t*)&cgen_var_1419, 1 * 8);
- marshal_VkMemoryGetAndroidHardwareBufferInfoANDROID(countingStream, (VkMemoryGetAndroidHardwareBufferInfoANDROID*)(local_pInfo));
- countingStream->write((AHardwareBuffer**)pBuffer, sizeof(AHardwareBuffer*));
- }
- uint32_t packetSize_vkGetMemoryAndroidHardwareBufferANDROID = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetMemoryAndroidHardwareBufferANDROID = OP_vkGetMemoryAndroidHardwareBufferANDROID;
- stream->write(&opcode_vkGetMemoryAndroidHardwareBufferANDROID, sizeof(uint32_t));
- stream->write(&packetSize_vkGetMemoryAndroidHardwareBufferANDROID, sizeof(uint32_t));
- uint64_t cgen_var_1420;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1420, 1);
- stream->write((uint64_t*)&cgen_var_1420, 1 * 8);
- marshal_VkMemoryGetAndroidHardwareBufferInfoANDROID(stream, (VkMemoryGetAndroidHardwareBufferInfoANDROID*)(local_pInfo));
- stream->write((AHardwareBuffer**)pBuffer, sizeof(AHardwareBuffer*));
- stream->read((AHardwareBuffer**)pBuffer, sizeof(AHardwareBuffer*));
- VkResult vkGetMemoryAndroidHardwareBufferANDROID_VkResult_return = (VkResult)0;
- stream->read(&vkGetMemoryAndroidHardwareBufferANDROID_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetMemoryAndroidHardwareBufferANDROID");;
- return vkGetMemoryAndroidHardwareBufferANDROID_VkResult_return;
-}
-
-#endif
-#ifdef VK_EXT_sampler_filter_minmax
-#endif
-#ifdef VK_AMD_gpu_shader_int16
-#endif
-#ifdef VK_AMD_mixed_attachment_samples
-#endif
-#ifdef VK_AMD_shader_fragment_mask
-#endif
-#ifdef VK_EXT_shader_stencil_export
-#endif
-#ifdef VK_EXT_sample_locations
-void VkEncoder::vkCmdSetSampleLocationsEXT(
- VkCommandBuffer commandBuffer,
- const VkSampleLocationsInfoEXT* pSampleLocationsInfo)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdSetSampleLocationsEXT");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkSampleLocationsInfoEXT* local_pSampleLocationsInfo;
- local_commandBuffer = commandBuffer;
- local_pSampleLocationsInfo = nullptr;
- if (pSampleLocationsInfo)
- {
- local_pSampleLocationsInfo = (VkSampleLocationsInfoEXT*)pool->alloc(sizeof(const VkSampleLocationsInfoEXT));
- deepcopy_VkSampleLocationsInfoEXT(pool, pSampleLocationsInfo, (VkSampleLocationsInfoEXT*)(local_pSampleLocationsInfo));
- }
- if (local_pSampleLocationsInfo)
- {
- transform_tohost_VkSampleLocationsInfoEXT(mImpl->resources(), (VkSampleLocationsInfoEXT*)(local_pSampleLocationsInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1421;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1421, 1);
- countingStream->write((uint64_t*)&cgen_var_1421, 1 * 8);
- marshal_VkSampleLocationsInfoEXT(countingStream, (VkSampleLocationsInfoEXT*)(local_pSampleLocationsInfo));
- }
- uint32_t packetSize_vkCmdSetSampleLocationsEXT = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdSetSampleLocationsEXT = OP_vkCmdSetSampleLocationsEXT;
- stream->write(&opcode_vkCmdSetSampleLocationsEXT, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdSetSampleLocationsEXT, sizeof(uint32_t));
- uint64_t cgen_var_1422;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1422, 1);
- stream->write((uint64_t*)&cgen_var_1422, 1 * 8);
- marshal_VkSampleLocationsInfoEXT(stream, (VkSampleLocationsInfoEXT*)(local_pSampleLocationsInfo));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdSetSampleLocationsEXT");;
-}
-
-void VkEncoder::vkGetPhysicalDeviceMultisamplePropertiesEXT(
- VkPhysicalDevice physicalDevice,
- VkSampleCountFlagBits samples,
- VkMultisamplePropertiesEXT* pMultisampleProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetPhysicalDeviceMultisamplePropertiesEXT");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkPhysicalDevice local_physicalDevice;
- VkSampleCountFlagBits local_samples;
- local_physicalDevice = physicalDevice;
- local_samples = samples;
- countingStream->rewind();
- {
- uint64_t cgen_var_1423;
- countingStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_1423, 1);
- countingStream->write((uint64_t*)&cgen_var_1423, 1 * 8);
- countingStream->write((VkSampleCountFlagBits*)&local_samples, sizeof(VkSampleCountFlagBits));
- marshal_VkMultisamplePropertiesEXT(countingStream, (VkMultisamplePropertiesEXT*)(pMultisampleProperties));
- }
- uint32_t packetSize_vkGetPhysicalDeviceMultisamplePropertiesEXT = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetPhysicalDeviceMultisamplePropertiesEXT = OP_vkGetPhysicalDeviceMultisamplePropertiesEXT;
- stream->write(&opcode_vkGetPhysicalDeviceMultisamplePropertiesEXT, sizeof(uint32_t));
- stream->write(&packetSize_vkGetPhysicalDeviceMultisamplePropertiesEXT, sizeof(uint32_t));
- uint64_t cgen_var_1424;
- stream->handleMapping()->mapHandles_VkPhysicalDevice_u64(&local_physicalDevice, &cgen_var_1424, 1);
- stream->write((uint64_t*)&cgen_var_1424, 1 * 8);
- stream->write((VkSampleCountFlagBits*)&local_samples, sizeof(VkSampleCountFlagBits));
- marshal_VkMultisamplePropertiesEXT(stream, (VkMultisamplePropertiesEXT*)(pMultisampleProperties));
- unmarshal_VkMultisamplePropertiesEXT(stream, (VkMultisamplePropertiesEXT*)(pMultisampleProperties));
- if (pMultisampleProperties)
- {
- transform_fromhost_VkMultisamplePropertiesEXT(mImpl->resources(), (VkMultisamplePropertiesEXT*)(pMultisampleProperties));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetPhysicalDeviceMultisamplePropertiesEXT");;
-}
-
-#endif
-#ifdef VK_EXT_blend_operation_advanced
-#endif
-#ifdef VK_NV_fragment_coverage_to_color
-#endif
-#ifdef VK_NV_framebuffer_mixed_samples
-#endif
-#ifdef VK_NV_fill_rectangle
-#endif
-#ifdef VK_EXT_post_depth_coverage
-#endif
-#ifdef VK_EXT_validation_cache
-VkResult VkEncoder::vkCreateValidationCacheEXT(
- VkDevice device,
- const VkValidationCacheCreateInfoEXT* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkValidationCacheEXT* pValidationCache)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateValidationCacheEXT");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkValidationCacheCreateInfoEXT* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkValidationCacheCreateInfoEXT*)pool->alloc(sizeof(const VkValidationCacheCreateInfoEXT));
- deepcopy_VkValidationCacheCreateInfoEXT(pool, pCreateInfo, (VkValidationCacheCreateInfoEXT*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkValidationCacheCreateInfoEXT(mImpl->resources(), (VkValidationCacheCreateInfoEXT*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1425;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1425, 1);
- countingStream->write((uint64_t*)&cgen_var_1425, 1 * 8);
- marshal_VkValidationCacheCreateInfoEXT(countingStream, (VkValidationCacheCreateInfoEXT*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_1426 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_1426);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_1427;
- countingStream->handleMapping()->mapHandles_VkValidationCacheEXT_u64(pValidationCache, &cgen_var_1427, 1);
- countingStream->write((uint64_t*)&cgen_var_1427, 8);
- }
- uint32_t packetSize_vkCreateValidationCacheEXT = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateValidationCacheEXT = OP_vkCreateValidationCacheEXT;
- stream->write(&opcode_vkCreateValidationCacheEXT, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateValidationCacheEXT, sizeof(uint32_t));
- uint64_t cgen_var_1428;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1428, 1);
- stream->write((uint64_t*)&cgen_var_1428, 1 * 8);
- marshal_VkValidationCacheCreateInfoEXT(stream, (VkValidationCacheCreateInfoEXT*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_1429 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_1429);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_1430;
- stream->handleMapping()->mapHandles_VkValidationCacheEXT_u64(pValidationCache, &cgen_var_1430, 1);
- stream->write((uint64_t*)&cgen_var_1430, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- stream->setHandleMapping(resources->createMapping());
- uint64_t cgen_var_1431;
- stream->read((uint64_t*)&cgen_var_1431, 8);
- stream->handleMapping()->mapHandles_u64_VkValidationCacheEXT(&cgen_var_1431, (VkValidationCacheEXT*)pValidationCache, 1);
- stream->unsetHandleMapping();
- VkResult vkCreateValidationCacheEXT_VkResult_return = (VkResult)0;
- stream->read(&vkCreateValidationCacheEXT_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateValidationCacheEXT");;
- return vkCreateValidationCacheEXT_VkResult_return;
-}
-
-void VkEncoder::vkDestroyValidationCacheEXT(
- VkDevice device,
- VkValidationCacheEXT validationCache,
- const VkAllocationCallbacks* pAllocator)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkDestroyValidationCacheEXT");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkValidationCacheEXT local_validationCache;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_validationCache = validationCache;
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1432;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1432, 1);
- countingStream->write((uint64_t*)&cgen_var_1432, 1 * 8);
- uint64_t cgen_var_1433;
- countingStream->handleMapping()->mapHandles_VkValidationCacheEXT_u64(&local_validationCache, &cgen_var_1433, 1);
- countingStream->write((uint64_t*)&cgen_var_1433, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_1434 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_1434);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- }
- uint32_t packetSize_vkDestroyValidationCacheEXT = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkDestroyValidationCacheEXT = OP_vkDestroyValidationCacheEXT;
- stream->write(&opcode_vkDestroyValidationCacheEXT, sizeof(uint32_t));
- stream->write(&packetSize_vkDestroyValidationCacheEXT, sizeof(uint32_t));
- uint64_t cgen_var_1435;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1435, 1);
- stream->write((uint64_t*)&cgen_var_1435, 1 * 8);
- uint64_t cgen_var_1436;
- stream->handleMapping()->mapHandles_VkValidationCacheEXT_u64(&local_validationCache, &cgen_var_1436, 1);
- stream->write((uint64_t*)&cgen_var_1436, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_1437 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_1437);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- resources->destroyMapping()->mapHandles_VkValidationCacheEXT((VkValidationCacheEXT*)&validationCache);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkDestroyValidationCacheEXT");;
-}
-
-VkResult VkEncoder::vkMergeValidationCachesEXT(
- VkDevice device,
- VkValidationCacheEXT dstCache,
- uint32_t srcCacheCount,
- const VkValidationCacheEXT* pSrcCaches)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkMergeValidationCachesEXT");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkValidationCacheEXT local_dstCache;
- uint32_t local_srcCacheCount;
- VkValidationCacheEXT* local_pSrcCaches;
- local_device = device;
- local_dstCache = dstCache;
- local_srcCacheCount = srcCacheCount;
- local_pSrcCaches = nullptr;
- if (pSrcCaches)
- {
- local_pSrcCaches = (VkValidationCacheEXT*)pool->dupArray(pSrcCaches, ((srcCacheCount)) * sizeof(const VkValidationCacheEXT));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1438;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1438, 1);
- countingStream->write((uint64_t*)&cgen_var_1438, 1 * 8);
- uint64_t cgen_var_1439;
- countingStream->handleMapping()->mapHandles_VkValidationCacheEXT_u64(&local_dstCache, &cgen_var_1439, 1);
- countingStream->write((uint64_t*)&cgen_var_1439, 1 * 8);
- countingStream->write((uint32_t*)&local_srcCacheCount, sizeof(uint32_t));
- if (((srcCacheCount)))
- {
- uint64_t* cgen_var_1440;
- countingStream->alloc((void**)&cgen_var_1440, ((srcCacheCount)) * 8);
- countingStream->handleMapping()->mapHandles_VkValidationCacheEXT_u64(local_pSrcCaches, cgen_var_1440, ((srcCacheCount)));
- countingStream->write((uint64_t*)cgen_var_1440, ((srcCacheCount)) * 8);
- }
- }
- uint32_t packetSize_vkMergeValidationCachesEXT = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkMergeValidationCachesEXT = OP_vkMergeValidationCachesEXT;
- stream->write(&opcode_vkMergeValidationCachesEXT, sizeof(uint32_t));
- stream->write(&packetSize_vkMergeValidationCachesEXT, sizeof(uint32_t));
- uint64_t cgen_var_1441;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1441, 1);
- stream->write((uint64_t*)&cgen_var_1441, 1 * 8);
- uint64_t cgen_var_1442;
- stream->handleMapping()->mapHandles_VkValidationCacheEXT_u64(&local_dstCache, &cgen_var_1442, 1);
- stream->write((uint64_t*)&cgen_var_1442, 1 * 8);
- stream->write((uint32_t*)&local_srcCacheCount, sizeof(uint32_t));
- if (((srcCacheCount)))
- {
- uint64_t* cgen_var_1443;
- stream->alloc((void**)&cgen_var_1443, ((srcCacheCount)) * 8);
- stream->handleMapping()->mapHandles_VkValidationCacheEXT_u64(local_pSrcCaches, cgen_var_1443, ((srcCacheCount)));
- stream->write((uint64_t*)cgen_var_1443, ((srcCacheCount)) * 8);
- }
- VkResult vkMergeValidationCachesEXT_VkResult_return = (VkResult)0;
- stream->read(&vkMergeValidationCachesEXT_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkMergeValidationCachesEXT");;
- return vkMergeValidationCachesEXT_VkResult_return;
-}
-
-VkResult VkEncoder::vkGetValidationCacheDataEXT(
- VkDevice device,
- VkValidationCacheEXT validationCache,
- size_t* pDataSize,
- void* pData)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetValidationCacheDataEXT");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkValidationCacheEXT local_validationCache;
- local_device = device;
- local_validationCache = validationCache;
- countingStream->rewind();
- {
- uint64_t cgen_var_1444;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1444, 1);
- countingStream->write((uint64_t*)&cgen_var_1444, 1 * 8);
- uint64_t cgen_var_1445;
- countingStream->handleMapping()->mapHandles_VkValidationCacheEXT_u64(&local_validationCache, &cgen_var_1445, 1);
- countingStream->write((uint64_t*)&cgen_var_1445, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_1446 = (uint64_t)(uintptr_t)pDataSize;
- countingStream->putBe64(cgen_var_1446);
- if (pDataSize)
- {
- uint64_t cgen_var_1447 = (uint64_t)(*pDataSize);
- countingStream->putBe64(cgen_var_1447);
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_1448 = (uint64_t)(uintptr_t)pData;
- countingStream->putBe64(cgen_var_1448);
- if (pData)
- {
- countingStream->write((void*)pData, (*(pDataSize)) * sizeof(uint8_t));
- }
- }
- uint32_t packetSize_vkGetValidationCacheDataEXT = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetValidationCacheDataEXT = OP_vkGetValidationCacheDataEXT;
- stream->write(&opcode_vkGetValidationCacheDataEXT, sizeof(uint32_t));
- stream->write(&packetSize_vkGetValidationCacheDataEXT, sizeof(uint32_t));
- uint64_t cgen_var_1449;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1449, 1);
- stream->write((uint64_t*)&cgen_var_1449, 1 * 8);
- uint64_t cgen_var_1450;
- stream->handleMapping()->mapHandles_VkValidationCacheEXT_u64(&local_validationCache, &cgen_var_1450, 1);
- stream->write((uint64_t*)&cgen_var_1450, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_1451 = (uint64_t)(uintptr_t)pDataSize;
- stream->putBe64(cgen_var_1451);
- if (pDataSize)
- {
- uint64_t cgen_var_1452 = (uint64_t)(*pDataSize);
- stream->putBe64(cgen_var_1452);
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_1453 = (uint64_t)(uintptr_t)pData;
- stream->putBe64(cgen_var_1453);
- if (pData)
- {
- stream->write((void*)pData, (*(pDataSize)) * sizeof(uint8_t));
- }
- // WARNING PTR CHECK
- size_t* check_pDataSize;
- check_pDataSize = (size_t*)(uintptr_t)stream->getBe64();
- if (pDataSize)
- {
- if (!(check_pDataSize))
- {
- fprintf(stderr, "fatal: pDataSize inconsistent between guest and host\n");
- }
- (*pDataSize) = (size_t)stream->getBe64();
- }
- // WARNING PTR CHECK
- void* check_pData;
- check_pData = (void*)(uintptr_t)stream->getBe64();
- if (pData)
- {
- if (!(check_pData))
- {
- fprintf(stderr, "fatal: pData inconsistent between guest and host\n");
- }
- stream->read((void*)pData, (*(pDataSize)) * sizeof(uint8_t));
- }
- VkResult vkGetValidationCacheDataEXT_VkResult_return = (VkResult)0;
- stream->read(&vkGetValidationCacheDataEXT_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetValidationCacheDataEXT");;
- return vkGetValidationCacheDataEXT_VkResult_return;
-}
-
-#endif
-#ifdef VK_EXT_descriptor_indexing
-#endif
-#ifdef VK_EXT_shader_viewport_index_layer
-#endif
-#ifdef VK_EXT_global_priority
-#endif
-#ifdef VK_EXT_external_memory_host
-VkResult VkEncoder::vkGetMemoryHostPointerPropertiesEXT(
- VkDevice device,
- VkExternalMemoryHandleTypeFlagBits handleType,
- const void* pHostPointer,
- VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetMemoryHostPointerPropertiesEXT");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkExternalMemoryHandleTypeFlagBits local_handleType;
- void* local_pHostPointer;
- local_device = device;
- local_handleType = handleType;
- local_pHostPointer = nullptr;
- if (pHostPointer)
- {
- local_pHostPointer = (void*)pool->dupArray(pHostPointer, sizeof(const uint8_t));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1457;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1457, 1);
- countingStream->write((uint64_t*)&cgen_var_1457, 1 * 8);
- countingStream->write((VkExternalMemoryHandleTypeFlagBits*)&local_handleType, sizeof(VkExternalMemoryHandleTypeFlagBits));
- // WARNING PTR CHECK
- uint64_t cgen_var_1458 = (uint64_t)(uintptr_t)local_pHostPointer;
- countingStream->putBe64(cgen_var_1458);
- if (local_pHostPointer)
- {
- countingStream->write((void*)local_pHostPointer, sizeof(uint8_t));
- }
- marshal_VkMemoryHostPointerPropertiesEXT(countingStream, (VkMemoryHostPointerPropertiesEXT*)(pMemoryHostPointerProperties));
- }
- uint32_t packetSize_vkGetMemoryHostPointerPropertiesEXT = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetMemoryHostPointerPropertiesEXT = OP_vkGetMemoryHostPointerPropertiesEXT;
- stream->write(&opcode_vkGetMemoryHostPointerPropertiesEXT, sizeof(uint32_t));
- stream->write(&packetSize_vkGetMemoryHostPointerPropertiesEXT, sizeof(uint32_t));
- uint64_t cgen_var_1459;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1459, 1);
- stream->write((uint64_t*)&cgen_var_1459, 1 * 8);
- stream->write((VkExternalMemoryHandleTypeFlagBits*)&local_handleType, sizeof(VkExternalMemoryHandleTypeFlagBits));
- // WARNING PTR CHECK
- uint64_t cgen_var_1460 = (uint64_t)(uintptr_t)local_pHostPointer;
- stream->putBe64(cgen_var_1460);
- if (local_pHostPointer)
- {
- stream->write((void*)local_pHostPointer, sizeof(uint8_t));
- }
- marshal_VkMemoryHostPointerPropertiesEXT(stream, (VkMemoryHostPointerPropertiesEXT*)(pMemoryHostPointerProperties));
- unmarshal_VkMemoryHostPointerPropertiesEXT(stream, (VkMemoryHostPointerPropertiesEXT*)(pMemoryHostPointerProperties));
- if (pMemoryHostPointerProperties)
- {
- transform_fromhost_VkMemoryHostPointerPropertiesEXT(mImpl->resources(), (VkMemoryHostPointerPropertiesEXT*)(pMemoryHostPointerProperties));
- }
- VkResult vkGetMemoryHostPointerPropertiesEXT_VkResult_return = (VkResult)0;
- stream->read(&vkGetMemoryHostPointerPropertiesEXT_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetMemoryHostPointerPropertiesEXT");;
- return vkGetMemoryHostPointerPropertiesEXT_VkResult_return;
-}
-
-#endif
-#ifdef VK_AMD_buffer_marker
-void VkEncoder::vkCmdWriteBufferMarkerAMD(
- VkCommandBuffer commandBuffer,
- VkPipelineStageFlagBits pipelineStage,
- VkBuffer dstBuffer,
- VkDeviceSize dstOffset,
- uint32_t marker)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdWriteBufferMarkerAMD");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkPipelineStageFlagBits local_pipelineStage;
- VkBuffer local_dstBuffer;
- VkDeviceSize local_dstOffset;
- uint32_t local_marker;
- local_commandBuffer = commandBuffer;
- local_pipelineStage = pipelineStage;
- local_dstBuffer = dstBuffer;
- local_dstOffset = dstOffset;
- local_marker = marker;
- countingStream->rewind();
- {
- uint64_t cgen_var_1461;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1461, 1);
- countingStream->write((uint64_t*)&cgen_var_1461, 1 * 8);
- countingStream->write((VkPipelineStageFlagBits*)&local_pipelineStage, sizeof(VkPipelineStageFlagBits));
- uint64_t cgen_var_1462;
- countingStream->handleMapping()->mapHandles_VkBuffer_u64(&local_dstBuffer, &cgen_var_1462, 1);
- countingStream->write((uint64_t*)&cgen_var_1462, 1 * 8);
- countingStream->write((VkDeviceSize*)&local_dstOffset, sizeof(VkDeviceSize));
- countingStream->write((uint32_t*)&local_marker, sizeof(uint32_t));
- }
- uint32_t packetSize_vkCmdWriteBufferMarkerAMD = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdWriteBufferMarkerAMD = OP_vkCmdWriteBufferMarkerAMD;
- stream->write(&opcode_vkCmdWriteBufferMarkerAMD, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdWriteBufferMarkerAMD, sizeof(uint32_t));
- uint64_t cgen_var_1463;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1463, 1);
- stream->write((uint64_t*)&cgen_var_1463, 1 * 8);
- stream->write((VkPipelineStageFlagBits*)&local_pipelineStage, sizeof(VkPipelineStageFlagBits));
- uint64_t cgen_var_1464;
- stream->handleMapping()->mapHandles_VkBuffer_u64(&local_dstBuffer, &cgen_var_1464, 1);
- stream->write((uint64_t*)&cgen_var_1464, 1 * 8);
- stream->write((VkDeviceSize*)&local_dstOffset, sizeof(VkDeviceSize));
- stream->write((uint32_t*)&local_marker, sizeof(uint32_t));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdWriteBufferMarkerAMD");;
-}
-
-#endif
-#ifdef VK_AMD_shader_core_properties
-#endif
-#ifdef VK_EXT_vertex_attribute_divisor
-#endif
-#ifdef VK_NV_shader_subgroup_partitioned
-#endif
-#ifdef VK_NV_device_diagnostic_checkpoints
-void VkEncoder::vkCmdSetCheckpointNV(
- VkCommandBuffer commandBuffer,
- const void* pCheckpointMarker)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCmdSetCheckpointNV");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- void* local_pCheckpointMarker;
- local_commandBuffer = commandBuffer;
- local_pCheckpointMarker = nullptr;
- if (pCheckpointMarker)
- {
- local_pCheckpointMarker = (void*)pool->dupArray(pCheckpointMarker, sizeof(const uint8_t));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1465;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1465, 1);
- countingStream->write((uint64_t*)&cgen_var_1465, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_1466 = (uint64_t)(uintptr_t)local_pCheckpointMarker;
- countingStream->putBe64(cgen_var_1466);
- if (local_pCheckpointMarker)
- {
- countingStream->write((void*)local_pCheckpointMarker, sizeof(uint8_t));
- }
- }
- uint32_t packetSize_vkCmdSetCheckpointNV = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCmdSetCheckpointNV = OP_vkCmdSetCheckpointNV;
- stream->write(&opcode_vkCmdSetCheckpointNV, sizeof(uint32_t));
- stream->write(&packetSize_vkCmdSetCheckpointNV, sizeof(uint32_t));
- uint64_t cgen_var_1467;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1467, 1);
- stream->write((uint64_t*)&cgen_var_1467, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_1468 = (uint64_t)(uintptr_t)local_pCheckpointMarker;
- stream->putBe64(cgen_var_1468);
- if (local_pCheckpointMarker)
- {
- stream->write((void*)local_pCheckpointMarker, sizeof(uint8_t));
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCmdSetCheckpointNV");;
-}
-
-void VkEncoder::vkGetQueueCheckpointDataNV(
- VkQueue queue,
- uint32_t* pCheckpointDataCount,
- VkCheckpointDataNV* pCheckpointData)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetQueueCheckpointDataNV");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkQueue local_queue;
- local_queue = queue;
- countingStream->rewind();
- {
- uint64_t cgen_var_1469;
- countingStream->handleMapping()->mapHandles_VkQueue_u64(&local_queue, &cgen_var_1469, 1);
- countingStream->write((uint64_t*)&cgen_var_1469, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_1470 = (uint64_t)(uintptr_t)pCheckpointDataCount;
- countingStream->putBe64(cgen_var_1470);
- if (pCheckpointDataCount)
- {
- countingStream->write((uint32_t*)pCheckpointDataCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_1471 = (uint64_t)(uintptr_t)pCheckpointData;
- countingStream->putBe64(cgen_var_1471);
- if (pCheckpointData)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pCheckpointDataCount)); ++i)
- {
- marshal_VkCheckpointDataNV(countingStream, (VkCheckpointDataNV*)(pCheckpointData + i));
- }
- }
- }
- uint32_t packetSize_vkGetQueueCheckpointDataNV = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetQueueCheckpointDataNV = OP_vkGetQueueCheckpointDataNV;
- stream->write(&opcode_vkGetQueueCheckpointDataNV, sizeof(uint32_t));
- stream->write(&packetSize_vkGetQueueCheckpointDataNV, sizeof(uint32_t));
- uint64_t cgen_var_1472;
- stream->handleMapping()->mapHandles_VkQueue_u64(&local_queue, &cgen_var_1472, 1);
- stream->write((uint64_t*)&cgen_var_1472, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_1473 = (uint64_t)(uintptr_t)pCheckpointDataCount;
- stream->putBe64(cgen_var_1473);
- if (pCheckpointDataCount)
- {
- stream->write((uint32_t*)pCheckpointDataCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_1474 = (uint64_t)(uintptr_t)pCheckpointData;
- stream->putBe64(cgen_var_1474);
- if (pCheckpointData)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pCheckpointDataCount)); ++i)
- {
- marshal_VkCheckpointDataNV(stream, (VkCheckpointDataNV*)(pCheckpointData + i));
- }
- }
- // WARNING PTR CHECK
- uint32_t* check_pCheckpointDataCount;
- check_pCheckpointDataCount = (uint32_t*)(uintptr_t)stream->getBe64();
- if (pCheckpointDataCount)
- {
- if (!(check_pCheckpointDataCount))
- {
- fprintf(stderr, "fatal: pCheckpointDataCount inconsistent between guest and host\n");
- }
- stream->read((uint32_t*)pCheckpointDataCount, sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- VkCheckpointDataNV* check_pCheckpointData;
- check_pCheckpointData = (VkCheckpointDataNV*)(uintptr_t)stream->getBe64();
- if (pCheckpointData)
- {
- if (!(check_pCheckpointData))
- {
- fprintf(stderr, "fatal: pCheckpointData inconsistent between guest and host\n");
- }
- for (uint32_t i = 0; i < (uint32_t)(*(pCheckpointDataCount)); ++i)
- {
- unmarshal_VkCheckpointDataNV(stream, (VkCheckpointDataNV*)(pCheckpointData + i));
- }
- }
- if (pCheckpointData)
- {
- for (uint32_t i = 0; i < (uint32_t)(*(pCheckpointDataCount)); ++i)
- {
- transform_fromhost_VkCheckpointDataNV(mImpl->resources(), (VkCheckpointDataNV*)(pCheckpointData + i));
- }
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetQueueCheckpointDataNV");;
-}
-
-#endif
-#ifdef VK_GOOGLE_address_space
-VkResult VkEncoder::vkMapMemoryIntoAddressSpaceGOOGLE(
- VkDevice device,
- VkDeviceMemory memory,
- uint64_t* pAddress)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkMapMemoryIntoAddressSpaceGOOGLE");
- mImpl->resources()->on_vkMapMemoryIntoAddressSpaceGOOGLE_pre(this, VK_SUCCESS, device, memory, pAddress);
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkDeviceMemory local_memory;
- local_device = device;
- local_memory = memory;
- mImpl->resources()->deviceMemoryTransform_tohost((VkDeviceMemory*)&local_memory, 1, (VkDeviceSize*)nullptr, 0, (VkDeviceSize*)nullptr, 0, (uint32_t*)nullptr, 0, (uint32_t*)nullptr, 0);
- countingStream->rewind();
- {
- uint64_t cgen_var_1477;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1477, 1);
- countingStream->write((uint64_t*)&cgen_var_1477, 1 * 8);
- uint64_t cgen_var_1478;
- countingStream->handleMapping()->mapHandles_VkDeviceMemory_u64(&local_memory, &cgen_var_1478, 1);
- countingStream->write((uint64_t*)&cgen_var_1478, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_1479 = (uint64_t)(uintptr_t)pAddress;
- countingStream->putBe64(cgen_var_1479);
- if (pAddress)
- {
- countingStream->write((uint64_t*)pAddress, sizeof(uint64_t));
- }
- }
- uint32_t packetSize_vkMapMemoryIntoAddressSpaceGOOGLE = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkMapMemoryIntoAddressSpaceGOOGLE = OP_vkMapMemoryIntoAddressSpaceGOOGLE;
- stream->write(&opcode_vkMapMemoryIntoAddressSpaceGOOGLE, sizeof(uint32_t));
- stream->write(&packetSize_vkMapMemoryIntoAddressSpaceGOOGLE, sizeof(uint32_t));
- uint64_t cgen_var_1480;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1480, 1);
- stream->write((uint64_t*)&cgen_var_1480, 1 * 8);
- uint64_t cgen_var_1481;
- stream->handleMapping()->mapHandles_VkDeviceMemory_u64(&local_memory, &cgen_var_1481, 1);
- stream->write((uint64_t*)&cgen_var_1481, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_1482 = (uint64_t)(uintptr_t)pAddress;
- stream->putBe64(cgen_var_1482);
- if (pAddress)
- {
- stream->write((uint64_t*)pAddress, sizeof(uint64_t));
- }
- // WARNING PTR CHECK
- uint64_t* check_pAddress;
- check_pAddress = (uint64_t*)(uintptr_t)stream->getBe64();
- if (pAddress)
- {
- if (!(check_pAddress))
- {
- fprintf(stderr, "fatal: pAddress inconsistent between guest and host\n");
- }
- stream->read((uint64_t*)pAddress, sizeof(uint64_t));
- }
- VkResult vkMapMemoryIntoAddressSpaceGOOGLE_VkResult_return = (VkResult)0;
- stream->read(&vkMapMemoryIntoAddressSpaceGOOGLE_VkResult_return, sizeof(VkResult));
- mImpl->resources()->on_vkMapMemoryIntoAddressSpaceGOOGLE(this, vkMapMemoryIntoAddressSpaceGOOGLE_VkResult_return, device, memory, pAddress);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkMapMemoryIntoAddressSpaceGOOGLE");;
- return vkMapMemoryIntoAddressSpaceGOOGLE_VkResult_return;
-}
-
-#endif
-#ifdef VK_GOOGLE_color_buffer
-VkResult VkEncoder::vkRegisterImageColorBufferGOOGLE(
- VkDevice device,
- VkImage image,
- uint32_t colorBuffer)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkRegisterImageColorBufferGOOGLE");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkImage local_image;
- uint32_t local_colorBuffer;
- local_device = device;
- local_image = image;
- local_colorBuffer = colorBuffer;
- countingStream->rewind();
- {
- uint64_t cgen_var_1484;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1484, 1);
- countingStream->write((uint64_t*)&cgen_var_1484, 1 * 8);
- uint64_t cgen_var_1485;
- countingStream->handleMapping()->mapHandles_VkImage_u64(&local_image, &cgen_var_1485, 1);
- countingStream->write((uint64_t*)&cgen_var_1485, 1 * 8);
- countingStream->write((uint32_t*)&local_colorBuffer, sizeof(uint32_t));
- }
- uint32_t packetSize_vkRegisterImageColorBufferGOOGLE = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkRegisterImageColorBufferGOOGLE = OP_vkRegisterImageColorBufferGOOGLE;
- stream->write(&opcode_vkRegisterImageColorBufferGOOGLE, sizeof(uint32_t));
- stream->write(&packetSize_vkRegisterImageColorBufferGOOGLE, sizeof(uint32_t));
- uint64_t cgen_var_1486;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1486, 1);
- stream->write((uint64_t*)&cgen_var_1486, 1 * 8);
- uint64_t cgen_var_1487;
- stream->handleMapping()->mapHandles_VkImage_u64(&local_image, &cgen_var_1487, 1);
- stream->write((uint64_t*)&cgen_var_1487, 1 * 8);
- stream->write((uint32_t*)&local_colorBuffer, sizeof(uint32_t));
- VkResult vkRegisterImageColorBufferGOOGLE_VkResult_return = (VkResult)0;
- stream->read(&vkRegisterImageColorBufferGOOGLE_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkRegisterImageColorBufferGOOGLE");;
- return vkRegisterImageColorBufferGOOGLE_VkResult_return;
-}
-
-VkResult VkEncoder::vkRegisterBufferColorBufferGOOGLE(
- VkDevice device,
- VkBuffer buffer,
- uint32_t colorBuffer)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkRegisterBufferColorBufferGOOGLE");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkBuffer local_buffer;
- uint32_t local_colorBuffer;
- local_device = device;
- local_buffer = buffer;
- local_colorBuffer = colorBuffer;
- countingStream->rewind();
- {
- uint64_t cgen_var_1488;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1488, 1);
- countingStream->write((uint64_t*)&cgen_var_1488, 1 * 8);
- uint64_t cgen_var_1489;
- countingStream->handleMapping()->mapHandles_VkBuffer_u64(&local_buffer, &cgen_var_1489, 1);
- countingStream->write((uint64_t*)&cgen_var_1489, 1 * 8);
- countingStream->write((uint32_t*)&local_colorBuffer, sizeof(uint32_t));
- }
- uint32_t packetSize_vkRegisterBufferColorBufferGOOGLE = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkRegisterBufferColorBufferGOOGLE = OP_vkRegisterBufferColorBufferGOOGLE;
- stream->write(&opcode_vkRegisterBufferColorBufferGOOGLE, sizeof(uint32_t));
- stream->write(&packetSize_vkRegisterBufferColorBufferGOOGLE, sizeof(uint32_t));
- uint64_t cgen_var_1490;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1490, 1);
- stream->write((uint64_t*)&cgen_var_1490, 1 * 8);
- uint64_t cgen_var_1491;
- stream->handleMapping()->mapHandles_VkBuffer_u64(&local_buffer, &cgen_var_1491, 1);
- stream->write((uint64_t*)&cgen_var_1491, 1 * 8);
- stream->write((uint32_t*)&local_colorBuffer, sizeof(uint32_t));
- VkResult vkRegisterBufferColorBufferGOOGLE_VkResult_return = (VkResult)0;
- stream->read(&vkRegisterBufferColorBufferGOOGLE_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkRegisterBufferColorBufferGOOGLE");;
- return vkRegisterBufferColorBufferGOOGLE_VkResult_return;
-}
-
-#endif
-#ifdef VK_GOOGLE_sized_descriptor_update_template
-void VkEncoder::vkUpdateDescriptorSetWithTemplateSizedGOOGLE(
- 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)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkUpdateDescriptorSetWithTemplateSizedGOOGLE");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkDescriptorSet local_descriptorSet;
- VkDescriptorUpdateTemplate local_descriptorUpdateTemplate;
- uint32_t local_imageInfoCount;
- uint32_t local_bufferInfoCount;
- uint32_t local_bufferViewCount;
- uint32_t* local_pImageInfoEntryIndices;
- uint32_t* local_pBufferInfoEntryIndices;
- uint32_t* local_pBufferViewEntryIndices;
- VkDescriptorImageInfo* local_pImageInfos;
- VkDescriptorBufferInfo* local_pBufferInfos;
- VkBufferView* local_pBufferViews;
- local_device = device;
- local_descriptorSet = descriptorSet;
- local_descriptorUpdateTemplate = descriptorUpdateTemplate;
- local_imageInfoCount = imageInfoCount;
- local_bufferInfoCount = bufferInfoCount;
- local_bufferViewCount = bufferViewCount;
- local_pImageInfoEntryIndices = nullptr;
- if (pImageInfoEntryIndices)
- {
- local_pImageInfoEntryIndices = (uint32_t*)pool->dupArray(pImageInfoEntryIndices, ((imageInfoCount)) * sizeof(const uint32_t));
- }
- local_pBufferInfoEntryIndices = nullptr;
- if (pBufferInfoEntryIndices)
- {
- local_pBufferInfoEntryIndices = (uint32_t*)pool->dupArray(pBufferInfoEntryIndices, ((bufferInfoCount)) * sizeof(const uint32_t));
- }
- local_pBufferViewEntryIndices = nullptr;
- if (pBufferViewEntryIndices)
- {
- local_pBufferViewEntryIndices = (uint32_t*)pool->dupArray(pBufferViewEntryIndices, ((bufferViewCount)) * sizeof(const uint32_t));
- }
- local_pImageInfos = nullptr;
- if (pImageInfos)
- {
- local_pImageInfos = (VkDescriptorImageInfo*)pool->alloc(((imageInfoCount)) * sizeof(const VkDescriptorImageInfo));
- for (uint32_t i = 0; i < (uint32_t)((imageInfoCount)); ++i)
- {
- deepcopy_VkDescriptorImageInfo(pool, pImageInfos + i, (VkDescriptorImageInfo*)(local_pImageInfos + i));
- }
- }
- local_pBufferInfos = nullptr;
- if (pBufferInfos)
- {
- local_pBufferInfos = (VkDescriptorBufferInfo*)pool->alloc(((bufferInfoCount)) * sizeof(const VkDescriptorBufferInfo));
- for (uint32_t i = 0; i < (uint32_t)((bufferInfoCount)); ++i)
- {
- deepcopy_VkDescriptorBufferInfo(pool, pBufferInfos + i, (VkDescriptorBufferInfo*)(local_pBufferInfos + i));
- }
- }
- local_pBufferViews = nullptr;
- if (pBufferViews)
- {
- local_pBufferViews = (VkBufferView*)pool->dupArray(pBufferViews, ((bufferViewCount)) * sizeof(const VkBufferView));
- }
- if (local_pImageInfos)
- {
- for (uint32_t i = 0; i < (uint32_t)((imageInfoCount)); ++i)
- {
- transform_tohost_VkDescriptorImageInfo(mImpl->resources(), (VkDescriptorImageInfo*)(local_pImageInfos + i));
- }
- }
- if (local_pBufferInfos)
- {
- for (uint32_t i = 0; i < (uint32_t)((bufferInfoCount)); ++i)
- {
- transform_tohost_VkDescriptorBufferInfo(mImpl->resources(), (VkDescriptorBufferInfo*)(local_pBufferInfos + i));
- }
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1492;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1492, 1);
- countingStream->write((uint64_t*)&cgen_var_1492, 1 * 8);
- uint64_t cgen_var_1493;
- countingStream->handleMapping()->mapHandles_VkDescriptorSet_u64(&local_descriptorSet, &cgen_var_1493, 1);
- countingStream->write((uint64_t*)&cgen_var_1493, 1 * 8);
- uint64_t cgen_var_1494;
- countingStream->handleMapping()->mapHandles_VkDescriptorUpdateTemplate_u64(&local_descriptorUpdateTemplate, &cgen_var_1494, 1);
- countingStream->write((uint64_t*)&cgen_var_1494, 1 * 8);
- countingStream->write((uint32_t*)&local_imageInfoCount, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_bufferInfoCount, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_bufferViewCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- uint64_t cgen_var_1495 = (uint64_t)(uintptr_t)local_pImageInfoEntryIndices;
- countingStream->putBe64(cgen_var_1495);
- if (local_pImageInfoEntryIndices)
- {
- countingStream->write((uint32_t*)local_pImageInfoEntryIndices, ((imageInfoCount)) * sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_1496 = (uint64_t)(uintptr_t)local_pBufferInfoEntryIndices;
- countingStream->putBe64(cgen_var_1496);
- if (local_pBufferInfoEntryIndices)
- {
- countingStream->write((uint32_t*)local_pBufferInfoEntryIndices, ((bufferInfoCount)) * sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_1497 = (uint64_t)(uintptr_t)local_pBufferViewEntryIndices;
- countingStream->putBe64(cgen_var_1497);
- if (local_pBufferViewEntryIndices)
- {
- countingStream->write((uint32_t*)local_pBufferViewEntryIndices, ((bufferViewCount)) * sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_1498 = (uint64_t)(uintptr_t)local_pImageInfos;
- countingStream->putBe64(cgen_var_1498);
- if (local_pImageInfos)
- {
- for (uint32_t i = 0; i < (uint32_t)((imageInfoCount)); ++i)
- {
- marshal_VkDescriptorImageInfo(countingStream, (VkDescriptorImageInfo*)(local_pImageInfos + i));
- }
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_1499 = (uint64_t)(uintptr_t)local_pBufferInfos;
- countingStream->putBe64(cgen_var_1499);
- if (local_pBufferInfos)
- {
- for (uint32_t i = 0; i < (uint32_t)((bufferInfoCount)); ++i)
- {
- marshal_VkDescriptorBufferInfo(countingStream, (VkDescriptorBufferInfo*)(local_pBufferInfos + i));
- }
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_1500 = (uint64_t)(uintptr_t)local_pBufferViews;
- countingStream->putBe64(cgen_var_1500);
- if (local_pBufferViews)
- {
- if (((bufferViewCount)))
- {
- uint64_t* cgen_var_1501;
- countingStream->alloc((void**)&cgen_var_1501, ((bufferViewCount)) * 8);
- countingStream->handleMapping()->mapHandles_VkBufferView_u64(local_pBufferViews, cgen_var_1501, ((bufferViewCount)));
- countingStream->write((uint64_t*)cgen_var_1501, ((bufferViewCount)) * 8);
- }
- }
- }
- uint32_t packetSize_vkUpdateDescriptorSetWithTemplateSizedGOOGLE = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkUpdateDescriptorSetWithTemplateSizedGOOGLE = OP_vkUpdateDescriptorSetWithTemplateSizedGOOGLE;
- stream->write(&opcode_vkUpdateDescriptorSetWithTemplateSizedGOOGLE, sizeof(uint32_t));
- stream->write(&packetSize_vkUpdateDescriptorSetWithTemplateSizedGOOGLE, sizeof(uint32_t));
- uint64_t cgen_var_1502;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1502, 1);
- stream->write((uint64_t*)&cgen_var_1502, 1 * 8);
- uint64_t cgen_var_1503;
- stream->handleMapping()->mapHandles_VkDescriptorSet_u64(&local_descriptorSet, &cgen_var_1503, 1);
- stream->write((uint64_t*)&cgen_var_1503, 1 * 8);
- uint64_t cgen_var_1504;
- stream->handleMapping()->mapHandles_VkDescriptorUpdateTemplate_u64(&local_descriptorUpdateTemplate, &cgen_var_1504, 1);
- stream->write((uint64_t*)&cgen_var_1504, 1 * 8);
- stream->write((uint32_t*)&local_imageInfoCount, sizeof(uint32_t));
- stream->write((uint32_t*)&local_bufferInfoCount, sizeof(uint32_t));
- stream->write((uint32_t*)&local_bufferViewCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- uint64_t cgen_var_1505 = (uint64_t)(uintptr_t)local_pImageInfoEntryIndices;
- stream->putBe64(cgen_var_1505);
- if (local_pImageInfoEntryIndices)
- {
- stream->write((uint32_t*)local_pImageInfoEntryIndices, ((imageInfoCount)) * sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_1506 = (uint64_t)(uintptr_t)local_pBufferInfoEntryIndices;
- stream->putBe64(cgen_var_1506);
- if (local_pBufferInfoEntryIndices)
- {
- stream->write((uint32_t*)local_pBufferInfoEntryIndices, ((bufferInfoCount)) * sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_1507 = (uint64_t)(uintptr_t)local_pBufferViewEntryIndices;
- stream->putBe64(cgen_var_1507);
- if (local_pBufferViewEntryIndices)
- {
- stream->write((uint32_t*)local_pBufferViewEntryIndices, ((bufferViewCount)) * sizeof(uint32_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_1508 = (uint64_t)(uintptr_t)local_pImageInfos;
- stream->putBe64(cgen_var_1508);
- if (local_pImageInfos)
- {
- for (uint32_t i = 0; i < (uint32_t)((imageInfoCount)); ++i)
- {
- marshal_VkDescriptorImageInfo(stream, (VkDescriptorImageInfo*)(local_pImageInfos + i));
- }
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_1509 = (uint64_t)(uintptr_t)local_pBufferInfos;
- stream->putBe64(cgen_var_1509);
- if (local_pBufferInfos)
- {
- for (uint32_t i = 0; i < (uint32_t)((bufferInfoCount)); ++i)
- {
- marshal_VkDescriptorBufferInfo(stream, (VkDescriptorBufferInfo*)(local_pBufferInfos + i));
- }
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_1510 = (uint64_t)(uintptr_t)local_pBufferViews;
- stream->putBe64(cgen_var_1510);
- if (local_pBufferViews)
- {
- if (((bufferViewCount)))
- {
- uint64_t* cgen_var_1511;
- stream->alloc((void**)&cgen_var_1511, ((bufferViewCount)) * 8);
- stream->handleMapping()->mapHandles_VkBufferView_u64(local_pBufferViews, cgen_var_1511, ((bufferViewCount)));
- stream->write((uint64_t*)cgen_var_1511, ((bufferViewCount)) * 8);
- }
- }
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkUpdateDescriptorSetWithTemplateSizedGOOGLE");;
-}
-
-#endif
-#ifdef VK_GOOGLE_async_command_buffers
-void VkEncoder::vkBeginCommandBufferAsyncGOOGLE(
- VkCommandBuffer commandBuffer,
- const VkCommandBufferBeginInfo* pBeginInfo)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkBeginCommandBufferAsyncGOOGLE");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkCommandBufferBeginInfo* local_pBeginInfo;
- local_commandBuffer = commandBuffer;
- local_pBeginInfo = nullptr;
- if (pBeginInfo)
- {
- local_pBeginInfo = (VkCommandBufferBeginInfo*)pool->alloc(sizeof(const VkCommandBufferBeginInfo));
- deepcopy_VkCommandBufferBeginInfo(pool, pBeginInfo, (VkCommandBufferBeginInfo*)(local_pBeginInfo));
- }
- if (local_pBeginInfo)
- {
- transform_tohost_VkCommandBufferBeginInfo(mImpl->resources(), (VkCommandBufferBeginInfo*)(local_pBeginInfo));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1512;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1512, 1);
- countingStream->write((uint64_t*)&cgen_var_1512, 1 * 8);
- marshal_VkCommandBufferBeginInfo(countingStream, (VkCommandBufferBeginInfo*)(local_pBeginInfo));
- }
- uint32_t packetSize_vkBeginCommandBufferAsyncGOOGLE = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkBeginCommandBufferAsyncGOOGLE = OP_vkBeginCommandBufferAsyncGOOGLE;
- stream->write(&opcode_vkBeginCommandBufferAsyncGOOGLE, sizeof(uint32_t));
- stream->write(&packetSize_vkBeginCommandBufferAsyncGOOGLE, sizeof(uint32_t));
- uint64_t cgen_var_1513;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1513, 1);
- stream->write((uint64_t*)&cgen_var_1513, 1 * 8);
- marshal_VkCommandBufferBeginInfo(stream, (VkCommandBufferBeginInfo*)(local_pBeginInfo));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkBeginCommandBufferAsyncGOOGLE");;
-}
-
-void VkEncoder::vkEndCommandBufferAsyncGOOGLE(
- VkCommandBuffer commandBuffer)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkEndCommandBufferAsyncGOOGLE");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- local_commandBuffer = commandBuffer;
- countingStream->rewind();
- {
- uint64_t cgen_var_1514;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1514, 1);
- countingStream->write((uint64_t*)&cgen_var_1514, 1 * 8);
- }
- uint32_t packetSize_vkEndCommandBufferAsyncGOOGLE = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkEndCommandBufferAsyncGOOGLE = OP_vkEndCommandBufferAsyncGOOGLE;
- stream->write(&opcode_vkEndCommandBufferAsyncGOOGLE, sizeof(uint32_t));
- stream->write(&packetSize_vkEndCommandBufferAsyncGOOGLE, sizeof(uint32_t));
- uint64_t cgen_var_1515;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1515, 1);
- stream->write((uint64_t*)&cgen_var_1515, 1 * 8);
- stream->flush();
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkEndCommandBufferAsyncGOOGLE");;
-}
-
-void VkEncoder::vkResetCommandBufferAsyncGOOGLE(
- VkCommandBuffer commandBuffer,
- VkCommandBufferResetFlags flags)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkResetCommandBufferAsyncGOOGLE");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- VkCommandBufferResetFlags local_flags;
- local_commandBuffer = commandBuffer;
- local_flags = flags;
- countingStream->rewind();
- {
- uint64_t cgen_var_1516;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1516, 1);
- countingStream->write((uint64_t*)&cgen_var_1516, 1 * 8);
- countingStream->write((VkCommandBufferResetFlags*)&local_flags, sizeof(VkCommandBufferResetFlags));
- }
- uint32_t packetSize_vkResetCommandBufferAsyncGOOGLE = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkResetCommandBufferAsyncGOOGLE = OP_vkResetCommandBufferAsyncGOOGLE;
- stream->write(&opcode_vkResetCommandBufferAsyncGOOGLE, sizeof(uint32_t));
- stream->write(&packetSize_vkResetCommandBufferAsyncGOOGLE, sizeof(uint32_t));
- uint64_t cgen_var_1517;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1517, 1);
- stream->write((uint64_t*)&cgen_var_1517, 1 * 8);
- stream->write((VkCommandBufferResetFlags*)&local_flags, sizeof(VkCommandBufferResetFlags));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkResetCommandBufferAsyncGOOGLE");;
-}
-
-void VkEncoder::vkCommandBufferHostSyncGOOGLE(
- VkCommandBuffer commandBuffer,
- uint32_t needHostSync,
- uint32_t sequenceNumber)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCommandBufferHostSyncGOOGLE");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkCommandBuffer local_commandBuffer;
- uint32_t local_needHostSync;
- uint32_t local_sequenceNumber;
- local_commandBuffer = commandBuffer;
- local_needHostSync = needHostSync;
- local_sequenceNumber = sequenceNumber;
- countingStream->rewind();
- {
- uint64_t cgen_var_1518;
- countingStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1518, 1);
- countingStream->write((uint64_t*)&cgen_var_1518, 1 * 8);
- countingStream->write((uint32_t*)&local_needHostSync, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_sequenceNumber, sizeof(uint32_t));
- }
- uint32_t packetSize_vkCommandBufferHostSyncGOOGLE = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCommandBufferHostSyncGOOGLE = OP_vkCommandBufferHostSyncGOOGLE;
- stream->write(&opcode_vkCommandBufferHostSyncGOOGLE, sizeof(uint32_t));
- stream->write(&packetSize_vkCommandBufferHostSyncGOOGLE, sizeof(uint32_t));
- uint64_t cgen_var_1519;
- stream->handleMapping()->mapHandles_VkCommandBuffer_u64(&local_commandBuffer, &cgen_var_1519, 1);
- stream->write((uint64_t*)&cgen_var_1519, 1 * 8);
- stream->write((uint32_t*)&local_needHostSync, sizeof(uint32_t));
- stream->write((uint32_t*)&local_sequenceNumber, sizeof(uint32_t));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCommandBufferHostSyncGOOGLE");;
-}
-
-#endif
-#ifdef VK_GOOGLE_create_resources_with_requirements
-VkResult VkEncoder::vkCreateImageWithRequirementsGOOGLE(
- VkDevice device,
- const VkImageCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkImage* pImage,
- VkMemoryRequirements* pMemoryRequirements)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateImageWithRequirementsGOOGLE");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkImageCreateInfo* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkImageCreateInfo*)pool->alloc(sizeof(const VkImageCreateInfo));
- deepcopy_VkImageCreateInfo(pool, pCreateInfo, (VkImageCreateInfo*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- mImpl->resources()->unwrap_VkNativeBufferANDROID(pCreateInfo, local_pCreateInfo);
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkImageCreateInfo(mImpl->resources(), (VkImageCreateInfo*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1520;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1520, 1);
- countingStream->write((uint64_t*)&cgen_var_1520, 1 * 8);
- marshal_VkImageCreateInfo(countingStream, (VkImageCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_1521 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_1521);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_1522;
- countingStream->handleMapping()->mapHandles_VkImage_u64(pImage, &cgen_var_1522, 1);
- countingStream->write((uint64_t*)&cgen_var_1522, 8);
- marshal_VkMemoryRequirements(countingStream, (VkMemoryRequirements*)(pMemoryRequirements));
- }
- uint32_t packetSize_vkCreateImageWithRequirementsGOOGLE = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateImageWithRequirementsGOOGLE = OP_vkCreateImageWithRequirementsGOOGLE;
- stream->write(&opcode_vkCreateImageWithRequirementsGOOGLE, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateImageWithRequirementsGOOGLE, sizeof(uint32_t));
- uint64_t cgen_var_1523;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1523, 1);
- stream->write((uint64_t*)&cgen_var_1523, 1 * 8);
- marshal_VkImageCreateInfo(stream, (VkImageCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_1524 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_1524);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_1525;
- stream->handleMapping()->mapHandles_VkImage_u64(pImage, &cgen_var_1525, 1);
- stream->write((uint64_t*)&cgen_var_1525, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- marshal_VkMemoryRequirements(stream, (VkMemoryRequirements*)(pMemoryRequirements));
- stream->setHandleMapping(resources->createMapping());
- uint64_t cgen_var_1526;
- stream->read((uint64_t*)&cgen_var_1526, 8);
- stream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_1526, (VkImage*)pImage, 1);
- stream->unsetHandleMapping();
- unmarshal_VkMemoryRequirements(stream, (VkMemoryRequirements*)(pMemoryRequirements));
- if (pMemoryRequirements)
- {
- transform_fromhost_VkMemoryRequirements(mImpl->resources(), (VkMemoryRequirements*)(pMemoryRequirements));
- }
- VkResult vkCreateImageWithRequirementsGOOGLE_VkResult_return = (VkResult)0;
- stream->read(&vkCreateImageWithRequirementsGOOGLE_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateImageWithRequirementsGOOGLE");;
- return vkCreateImageWithRequirementsGOOGLE_VkResult_return;
-}
-
-VkResult VkEncoder::vkCreateBufferWithRequirementsGOOGLE(
- VkDevice device,
- const VkBufferCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkBuffer* pBuffer,
- VkMemoryRequirements* pMemoryRequirements)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkCreateBufferWithRequirementsGOOGLE");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkBufferCreateInfo* local_pCreateInfo;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_pCreateInfo = nullptr;
- if (pCreateInfo)
- {
- local_pCreateInfo = (VkBufferCreateInfo*)pool->alloc(sizeof(const VkBufferCreateInfo));
- deepcopy_VkBufferCreateInfo(pool, pCreateInfo, (VkBufferCreateInfo*)(local_pCreateInfo));
- }
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- if (local_pCreateInfo)
- {
- transform_tohost_VkBufferCreateInfo(mImpl->resources(), (VkBufferCreateInfo*)(local_pCreateInfo));
- }
- if (local_pAllocator)
- {
- transform_tohost_VkAllocationCallbacks(mImpl->resources(), (VkAllocationCallbacks*)(local_pAllocator));
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1527;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1527, 1);
- countingStream->write((uint64_t*)&cgen_var_1527, 1 * 8);
- marshal_VkBufferCreateInfo(countingStream, (VkBufferCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_1528 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_1528);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- uint64_t cgen_var_1529;
- countingStream->handleMapping()->mapHandles_VkBuffer_u64(pBuffer, &cgen_var_1529, 1);
- countingStream->write((uint64_t*)&cgen_var_1529, 8);
- marshal_VkMemoryRequirements(countingStream, (VkMemoryRequirements*)(pMemoryRequirements));
- }
- uint32_t packetSize_vkCreateBufferWithRequirementsGOOGLE = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkCreateBufferWithRequirementsGOOGLE = OP_vkCreateBufferWithRequirementsGOOGLE;
- stream->write(&opcode_vkCreateBufferWithRequirementsGOOGLE, sizeof(uint32_t));
- stream->write(&packetSize_vkCreateBufferWithRequirementsGOOGLE, sizeof(uint32_t));
- uint64_t cgen_var_1530;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1530, 1);
- stream->write((uint64_t*)&cgen_var_1530, 1 * 8);
- marshal_VkBufferCreateInfo(stream, (VkBufferCreateInfo*)(local_pCreateInfo));
- // WARNING PTR CHECK
- uint64_t cgen_var_1531 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_1531);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- stream->unsetHandleMapping() /* emit_marshal, is handle, possibly out */;
- uint64_t cgen_var_1532;
- stream->handleMapping()->mapHandles_VkBuffer_u64(pBuffer, &cgen_var_1532, 1);
- stream->write((uint64_t*)&cgen_var_1532, 8);
- stream->setHandleMapping(resources->unwrapMapping());
- marshal_VkMemoryRequirements(stream, (VkMemoryRequirements*)(pMemoryRequirements));
- stream->setHandleMapping(resources->createMapping());
- uint64_t cgen_var_1533;
- stream->read((uint64_t*)&cgen_var_1533, 8);
- stream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_1533, (VkBuffer*)pBuffer, 1);
- stream->unsetHandleMapping();
- unmarshal_VkMemoryRequirements(stream, (VkMemoryRequirements*)(pMemoryRequirements));
- if (pMemoryRequirements)
- {
- transform_fromhost_VkMemoryRequirements(mImpl->resources(), (VkMemoryRequirements*)(pMemoryRequirements));
- }
- VkResult vkCreateBufferWithRequirementsGOOGLE_VkResult_return = (VkResult)0;
- stream->read(&vkCreateBufferWithRequirementsGOOGLE_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkCreateBufferWithRequirementsGOOGLE");;
- return vkCreateBufferWithRequirementsGOOGLE_VkResult_return;
-}
-
-#endif
-#ifdef VK_GOOGLE_address_space_info
-VkResult VkEncoder::vkGetMemoryHostAddressInfoGOOGLE(
- VkDevice device,
- VkDeviceMemory memory,
- uint64_t* pAddress,
- uint64_t* pSize,
- uint64_t* pHostmemId)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetMemoryHostAddressInfoGOOGLE");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkDeviceMemory local_memory;
- local_device = device;
- local_memory = memory;
- mImpl->resources()->deviceMemoryTransform_tohost((VkDeviceMemory*)&local_memory, 1, (VkDeviceSize*)nullptr, 0, (VkDeviceSize*)nullptr, 0, (uint32_t*)nullptr, 0, (uint32_t*)nullptr, 0);
- countingStream->rewind();
- {
- uint64_t cgen_var_1534;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1534, 1);
- countingStream->write((uint64_t*)&cgen_var_1534, 1 * 8);
- uint64_t cgen_var_1535;
- countingStream->handleMapping()->mapHandles_VkDeviceMemory_u64(&local_memory, &cgen_var_1535, 1);
- countingStream->write((uint64_t*)&cgen_var_1535, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_1536 = (uint64_t)(uintptr_t)pAddress;
- countingStream->putBe64(cgen_var_1536);
- if (pAddress)
- {
- countingStream->write((uint64_t*)pAddress, sizeof(uint64_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_1537 = (uint64_t)(uintptr_t)pSize;
- countingStream->putBe64(cgen_var_1537);
- if (pSize)
- {
- countingStream->write((uint64_t*)pSize, sizeof(uint64_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_1538 = (uint64_t)(uintptr_t)pHostmemId;
- countingStream->putBe64(cgen_var_1538);
- if (pHostmemId)
- {
- countingStream->write((uint64_t*)pHostmemId, sizeof(uint64_t));
- }
- }
- uint32_t packetSize_vkGetMemoryHostAddressInfoGOOGLE = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetMemoryHostAddressInfoGOOGLE = OP_vkGetMemoryHostAddressInfoGOOGLE;
- stream->write(&opcode_vkGetMemoryHostAddressInfoGOOGLE, sizeof(uint32_t));
- stream->write(&packetSize_vkGetMemoryHostAddressInfoGOOGLE, sizeof(uint32_t));
- uint64_t cgen_var_1539;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1539, 1);
- stream->write((uint64_t*)&cgen_var_1539, 1 * 8);
- uint64_t cgen_var_1540;
- stream->handleMapping()->mapHandles_VkDeviceMemory_u64(&local_memory, &cgen_var_1540, 1);
- stream->write((uint64_t*)&cgen_var_1540, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_1541 = (uint64_t)(uintptr_t)pAddress;
- stream->putBe64(cgen_var_1541);
- if (pAddress)
- {
- stream->write((uint64_t*)pAddress, sizeof(uint64_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_1542 = (uint64_t)(uintptr_t)pSize;
- stream->putBe64(cgen_var_1542);
- if (pSize)
- {
- stream->write((uint64_t*)pSize, sizeof(uint64_t));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_1543 = (uint64_t)(uintptr_t)pHostmemId;
- stream->putBe64(cgen_var_1543);
- if (pHostmemId)
- {
- stream->write((uint64_t*)pHostmemId, sizeof(uint64_t));
- }
- // WARNING PTR CHECK
- uint64_t* check_pAddress;
- check_pAddress = (uint64_t*)(uintptr_t)stream->getBe64();
- if (pAddress)
- {
- if (!(check_pAddress))
- {
- fprintf(stderr, "fatal: pAddress inconsistent between guest and host\n");
- }
- stream->read((uint64_t*)pAddress, sizeof(uint64_t));
- }
- // WARNING PTR CHECK
- uint64_t* check_pSize;
- check_pSize = (uint64_t*)(uintptr_t)stream->getBe64();
- if (pSize)
- {
- if (!(check_pSize))
- {
- fprintf(stderr, "fatal: pSize inconsistent between guest and host\n");
- }
- stream->read((uint64_t*)pSize, sizeof(uint64_t));
- }
- // WARNING PTR CHECK
- uint64_t* check_pHostmemId;
- check_pHostmemId = (uint64_t*)(uintptr_t)stream->getBe64();
- if (pHostmemId)
- {
- if (!(check_pHostmemId))
- {
- fprintf(stderr, "fatal: pHostmemId inconsistent between guest and host\n");
- }
- stream->read((uint64_t*)pHostmemId, sizeof(uint64_t));
- }
- VkResult vkGetMemoryHostAddressInfoGOOGLE_VkResult_return = (VkResult)0;
- stream->read(&vkGetMemoryHostAddressInfoGOOGLE_VkResult_return, sizeof(VkResult));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetMemoryHostAddressInfoGOOGLE");;
- return vkGetMemoryHostAddressInfoGOOGLE_VkResult_return;
-}
-
-#endif
-#ifdef VK_GOOGLE_free_memory_sync
-VkResult VkEncoder::vkFreeMemorySyncGOOGLE(
- VkDevice device,
- VkDeviceMemory memory,
- const VkAllocationCallbacks* pAllocator)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkFreeMemorySyncGOOGLE");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkDeviceMemory local_memory;
- VkAllocationCallbacks* local_pAllocator;
- local_device = device;
- local_memory = memory;
- local_pAllocator = nullptr;
- if (pAllocator)
- {
- local_pAllocator = (VkAllocationCallbacks*)pool->alloc(sizeof(const VkAllocationCallbacks));
- deepcopy_VkAllocationCallbacks(pool, pAllocator, (VkAllocationCallbacks*)(local_pAllocator));
- }
- local_pAllocator = nullptr;
- mImpl->resources()->deviceMemoryTransform_tohost((VkDeviceMemory*)&local_memory, 1, (VkDeviceSize*)nullptr, 0, (VkDeviceSize*)nullptr, 0, (uint32_t*)nullptr, 0, (uint32_t*)nullptr, 0);
- countingStream->rewind();
- {
- uint64_t cgen_var_1547;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1547, 1);
- countingStream->write((uint64_t*)&cgen_var_1547, 1 * 8);
- uint64_t cgen_var_1548;
- countingStream->handleMapping()->mapHandles_VkDeviceMemory_u64(&local_memory, &cgen_var_1548, 1);
- countingStream->write((uint64_t*)&cgen_var_1548, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_1549 = (uint64_t)(uintptr_t)local_pAllocator;
- countingStream->putBe64(cgen_var_1549);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(countingStream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- }
- uint32_t packetSize_vkFreeMemorySyncGOOGLE = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkFreeMemorySyncGOOGLE = OP_vkFreeMemorySyncGOOGLE;
- stream->write(&opcode_vkFreeMemorySyncGOOGLE, sizeof(uint32_t));
- stream->write(&packetSize_vkFreeMemorySyncGOOGLE, sizeof(uint32_t));
- uint64_t cgen_var_1550;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1550, 1);
- stream->write((uint64_t*)&cgen_var_1550, 1 * 8);
- uint64_t cgen_var_1551;
- stream->handleMapping()->mapHandles_VkDeviceMemory_u64(&local_memory, &cgen_var_1551, 1);
- stream->write((uint64_t*)&cgen_var_1551, 1 * 8);
- // WARNING PTR CHECK
- uint64_t cgen_var_1552 = (uint64_t)(uintptr_t)local_pAllocator;
- stream->putBe64(cgen_var_1552);
- if (local_pAllocator)
- {
- marshal_VkAllocationCallbacks(stream, (VkAllocationCallbacks*)(local_pAllocator));
- }
- VkResult vkFreeMemorySyncGOOGLE_VkResult_return = (VkResult)0;
- stream->read(&vkFreeMemorySyncGOOGLE_VkResult_return, sizeof(VkResult));
- resources->destroyMapping()->mapHandles_VkDeviceMemory((VkDeviceMemory*)&memory);
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkFreeMemorySyncGOOGLE");;
- return vkFreeMemorySyncGOOGLE_VkResult_return;
-}
-
-#endif
-#ifdef VK_GOOGLE_async_queue_submit
-void VkEncoder::vkQueueHostSyncGOOGLE(
- VkQueue queue,
- uint32_t needHostSync,
- uint32_t sequenceNumber)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkQueueHostSyncGOOGLE");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkQueue local_queue;
- uint32_t local_needHostSync;
- uint32_t local_sequenceNumber;
- local_queue = queue;
- local_needHostSync = needHostSync;
- local_sequenceNumber = sequenceNumber;
- countingStream->rewind();
- {
- uint64_t cgen_var_1553;
- countingStream->handleMapping()->mapHandles_VkQueue_u64(&local_queue, &cgen_var_1553, 1);
- countingStream->write((uint64_t*)&cgen_var_1553, 1 * 8);
- countingStream->write((uint32_t*)&local_needHostSync, sizeof(uint32_t));
- countingStream->write((uint32_t*)&local_sequenceNumber, sizeof(uint32_t));
- }
- uint32_t packetSize_vkQueueHostSyncGOOGLE = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkQueueHostSyncGOOGLE = OP_vkQueueHostSyncGOOGLE;
- stream->write(&opcode_vkQueueHostSyncGOOGLE, sizeof(uint32_t));
- stream->write(&packetSize_vkQueueHostSyncGOOGLE, sizeof(uint32_t));
- uint64_t cgen_var_1554;
- stream->handleMapping()->mapHandles_VkQueue_u64(&local_queue, &cgen_var_1554, 1);
- stream->write((uint64_t*)&cgen_var_1554, 1 * 8);
- stream->write((uint32_t*)&local_needHostSync, sizeof(uint32_t));
- stream->write((uint32_t*)&local_sequenceNumber, sizeof(uint32_t));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkQueueHostSyncGOOGLE");;
-}
-
-void VkEncoder::vkQueueSubmitAsyncGOOGLE(
- VkQueue queue,
- uint32_t submitCount,
- const VkSubmitInfo* pSubmits,
- VkFence fence)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkQueueSubmitAsyncGOOGLE");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkQueue local_queue;
- uint32_t local_submitCount;
- VkSubmitInfo* local_pSubmits;
- VkFence local_fence;
- local_queue = queue;
- local_submitCount = submitCount;
- local_pSubmits = nullptr;
- if (pSubmits)
- {
- local_pSubmits = (VkSubmitInfo*)pool->alloc(((submitCount)) * sizeof(const VkSubmitInfo));
- for (uint32_t i = 0; i < (uint32_t)((submitCount)); ++i)
- {
- deepcopy_VkSubmitInfo(pool, pSubmits + i, (VkSubmitInfo*)(local_pSubmits + i));
- }
- }
- local_fence = fence;
- if (local_pSubmits)
- {
- for (uint32_t i = 0; i < (uint32_t)((submitCount)); ++i)
- {
- transform_tohost_VkSubmitInfo(mImpl->resources(), (VkSubmitInfo*)(local_pSubmits + i));
- }
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1555;
- countingStream->handleMapping()->mapHandles_VkQueue_u64(&local_queue, &cgen_var_1555, 1);
- countingStream->write((uint64_t*)&cgen_var_1555, 1 * 8);
- countingStream->write((uint32_t*)&local_submitCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((submitCount)); ++i)
- {
- marshal_VkSubmitInfo(countingStream, (VkSubmitInfo*)(local_pSubmits + i));
- }
- uint64_t cgen_var_1556;
- countingStream->handleMapping()->mapHandles_VkFence_u64(&local_fence, &cgen_var_1556, 1);
- countingStream->write((uint64_t*)&cgen_var_1556, 1 * 8);
- }
- uint32_t packetSize_vkQueueSubmitAsyncGOOGLE = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkQueueSubmitAsyncGOOGLE = OP_vkQueueSubmitAsyncGOOGLE;
- stream->write(&opcode_vkQueueSubmitAsyncGOOGLE, sizeof(uint32_t));
- stream->write(&packetSize_vkQueueSubmitAsyncGOOGLE, sizeof(uint32_t));
- uint64_t cgen_var_1557;
- stream->handleMapping()->mapHandles_VkQueue_u64(&local_queue, &cgen_var_1557, 1);
- stream->write((uint64_t*)&cgen_var_1557, 1 * 8);
- stream->write((uint32_t*)&local_submitCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((submitCount)); ++i)
- {
- marshal_VkSubmitInfo(stream, (VkSubmitInfo*)(local_pSubmits + i));
- }
- uint64_t cgen_var_1558;
- stream->handleMapping()->mapHandles_VkFence_u64(&local_fence, &cgen_var_1558, 1);
- stream->write((uint64_t*)&cgen_var_1558, 1 * 8);
- stream->flush();
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkQueueSubmitAsyncGOOGLE");;
-}
-
-void VkEncoder::vkQueueWaitIdleAsyncGOOGLE(
- VkQueue queue)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkQueueWaitIdleAsyncGOOGLE");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkQueue local_queue;
- local_queue = queue;
- countingStream->rewind();
- {
- uint64_t cgen_var_1559;
- countingStream->handleMapping()->mapHandles_VkQueue_u64(&local_queue, &cgen_var_1559, 1);
- countingStream->write((uint64_t*)&cgen_var_1559, 1 * 8);
- }
- uint32_t packetSize_vkQueueWaitIdleAsyncGOOGLE = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkQueueWaitIdleAsyncGOOGLE = OP_vkQueueWaitIdleAsyncGOOGLE;
- stream->write(&opcode_vkQueueWaitIdleAsyncGOOGLE, sizeof(uint32_t));
- stream->write(&packetSize_vkQueueWaitIdleAsyncGOOGLE, sizeof(uint32_t));
- uint64_t cgen_var_1560;
- stream->handleMapping()->mapHandles_VkQueue_u64(&local_queue, &cgen_var_1560, 1);
- stream->write((uint64_t*)&cgen_var_1560, 1 * 8);
- stream->flush();
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkQueueWaitIdleAsyncGOOGLE");;
-}
-
-void VkEncoder::vkQueueBindSparseAsyncGOOGLE(
- VkQueue queue,
- uint32_t bindInfoCount,
- const VkBindSparseInfo* pBindInfo,
- VkFence fence)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkQueueBindSparseAsyncGOOGLE");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkQueue local_queue;
- uint32_t local_bindInfoCount;
- VkBindSparseInfo* local_pBindInfo;
- VkFence local_fence;
- local_queue = queue;
- local_bindInfoCount = bindInfoCount;
- local_pBindInfo = nullptr;
- if (pBindInfo)
- {
- local_pBindInfo = (VkBindSparseInfo*)pool->alloc(((bindInfoCount)) * sizeof(const VkBindSparseInfo));
- for (uint32_t i = 0; i < (uint32_t)((bindInfoCount)); ++i)
- {
- deepcopy_VkBindSparseInfo(pool, pBindInfo + i, (VkBindSparseInfo*)(local_pBindInfo + i));
- }
- }
- local_fence = fence;
- if (local_pBindInfo)
- {
- for (uint32_t i = 0; i < (uint32_t)((bindInfoCount)); ++i)
- {
- transform_tohost_VkBindSparseInfo(mImpl->resources(), (VkBindSparseInfo*)(local_pBindInfo + i));
- }
- }
- countingStream->rewind();
- {
- uint64_t cgen_var_1561;
- countingStream->handleMapping()->mapHandles_VkQueue_u64(&local_queue, &cgen_var_1561, 1);
- countingStream->write((uint64_t*)&cgen_var_1561, 1 * 8);
- countingStream->write((uint32_t*)&local_bindInfoCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((bindInfoCount)); ++i)
- {
- marshal_VkBindSparseInfo(countingStream, (VkBindSparseInfo*)(local_pBindInfo + i));
- }
- uint64_t cgen_var_1562;
- countingStream->handleMapping()->mapHandles_VkFence_u64(&local_fence, &cgen_var_1562, 1);
- countingStream->write((uint64_t*)&cgen_var_1562, 1 * 8);
- }
- uint32_t packetSize_vkQueueBindSparseAsyncGOOGLE = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkQueueBindSparseAsyncGOOGLE = OP_vkQueueBindSparseAsyncGOOGLE;
- stream->write(&opcode_vkQueueBindSparseAsyncGOOGLE, sizeof(uint32_t));
- stream->write(&packetSize_vkQueueBindSparseAsyncGOOGLE, sizeof(uint32_t));
- uint64_t cgen_var_1563;
- stream->handleMapping()->mapHandles_VkQueue_u64(&local_queue, &cgen_var_1563, 1);
- stream->write((uint64_t*)&cgen_var_1563, 1 * 8);
- stream->write((uint32_t*)&local_bindInfoCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)((bindInfoCount)); ++i)
- {
- marshal_VkBindSparseInfo(stream, (VkBindSparseInfo*)(local_pBindInfo + i));
- }
- uint64_t cgen_var_1564;
- stream->handleMapping()->mapHandles_VkFence_u64(&local_fence, &cgen_var_1564, 1);
- stream->write((uint64_t*)&cgen_var_1564, 1 * 8);
- stream->flush();
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkQueueBindSparseAsyncGOOGLE");;
-}
-
-#endif
-#ifdef VK_GOOGLE_linear_image_layout
-void VkEncoder::vkGetLinearImageLayoutGOOGLE(
- VkDevice device,
- VkFormat format,
- VkDeviceSize* pOffset,
- VkDeviceSize* pRowPitchAlignment)
-{
- EncoderAutoLock encoderLock(this);
- mImpl->log("start vkGetLinearImageLayoutGOOGLE");
- auto stream = mImpl->stream();
- auto countingStream = mImpl->countingStream();
- auto resources = mImpl->resources();
- auto pool = mImpl->pool();
- stream->setHandleMapping(resources->unwrapMapping());
- VkDevice local_device;
- VkFormat local_format;
- local_device = device;
- local_format = format;
- countingStream->rewind();
- {
- uint64_t cgen_var_1565;
- countingStream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1565, 1);
- countingStream->write((uint64_t*)&cgen_var_1565, 1 * 8);
- countingStream->write((VkFormat*)&local_format, sizeof(VkFormat));
- countingStream->write((VkDeviceSize*)pOffset, sizeof(VkDeviceSize));
- countingStream->write((VkDeviceSize*)pRowPitchAlignment, sizeof(VkDeviceSize));
- }
- uint32_t packetSize_vkGetLinearImageLayoutGOOGLE = 4 + 4 + (uint32_t)countingStream->bytesWritten();
- countingStream->rewind();
- uint32_t opcode_vkGetLinearImageLayoutGOOGLE = OP_vkGetLinearImageLayoutGOOGLE;
- stream->write(&opcode_vkGetLinearImageLayoutGOOGLE, sizeof(uint32_t));
- stream->write(&packetSize_vkGetLinearImageLayoutGOOGLE, sizeof(uint32_t));
- uint64_t cgen_var_1566;
- stream->handleMapping()->mapHandles_VkDevice_u64(&local_device, &cgen_var_1566, 1);
- stream->write((uint64_t*)&cgen_var_1566, 1 * 8);
- stream->write((VkFormat*)&local_format, sizeof(VkFormat));
- stream->write((VkDeviceSize*)pOffset, sizeof(VkDeviceSize));
- stream->write((VkDeviceSize*)pRowPitchAlignment, sizeof(VkDeviceSize));
- stream->read((VkDeviceSize*)pOffset, sizeof(VkDeviceSize));
- stream->read((VkDeviceSize*)pRowPitchAlignment, sizeof(VkDeviceSize));
- pool->freeAll();
- countingStream->clearPool();
- stream->clearPool();
- mImpl->log("finish vkGetLinearImageLayoutGOOGLE");;
-}
-
-#endif
-
-} // namespace goldfish_vk
diff --git a/stream-clients/vulkan_enc/VkEncoder.h b/stream-clients/vulkan_enc/VkEncoder.h
deleted file mode 100644
index c67119b..0000000
--- a/stream-clients/vulkan_enc/VkEncoder.h
+++ /dev/null
@@ -1,1853 +0,0 @@
-// 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 VkEncoder
-// (header) generated by protocols/vulkan/xml/genvk.py -registry protocols/vulkan/xml/vk.xml cereal -o stream-servers/vulkan/cereal
-// Please do not modify directly;
-// re-run generate-vulkan-sources.sh,
-// or directly from Python by defining:
-// VULKAN_REGISTRY_XML_DIR : Directory containing genvk.py and vk.xml
-// CEREAL_OUTPUT_DIR: Where to put the generated sources.
-// python3 $VULKAN_REGISTRY_XML_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o $CEREAL_OUTPUT_DIR
-
-#pragma once
-
-#include <vulkan/vulkan.h>
-
-
-#include "goldfish_vk_private_defs.h"
-#include <functional>
-#include <memory>
-class IOStream;
-
-
-namespace goldfish_vk {
-
-
-class VkEncoder {
-public:
- VkEncoder(IOStream* stream);
- ~VkEncoder();
-
-#include "VkEncoder.h.inl"
-#ifdef VK_VERSION_1_0
- VkResult vkCreateInstance(
- const VkInstanceCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkInstance* pInstance);
- void vkDestroyInstance(
- VkInstance instance,
- const VkAllocationCallbacks* pAllocator);
- VkResult vkEnumeratePhysicalDevices(
- VkInstance instance,
- uint32_t* pPhysicalDeviceCount,
- VkPhysicalDevice* pPhysicalDevices);
- void vkGetPhysicalDeviceFeatures(
- VkPhysicalDevice physicalDevice,
- VkPhysicalDeviceFeatures* pFeatures);
- void vkGetPhysicalDeviceFormatProperties(
- VkPhysicalDevice physicalDevice,
- VkFormat format,
- VkFormatProperties* pFormatProperties);
- VkResult vkGetPhysicalDeviceImageFormatProperties(
- VkPhysicalDevice physicalDevice,
- VkFormat format,
- VkImageType type,
- VkImageTiling tiling,
- VkImageUsageFlags usage,
- VkImageCreateFlags flags,
- VkImageFormatProperties* pImageFormatProperties);
- void vkGetPhysicalDeviceProperties(
- VkPhysicalDevice physicalDevice,
- VkPhysicalDeviceProperties* pProperties);
- void vkGetPhysicalDeviceQueueFamilyProperties(
- VkPhysicalDevice physicalDevice,
- uint32_t* pQueueFamilyPropertyCount,
- VkQueueFamilyProperties* pQueueFamilyProperties);
- void vkGetPhysicalDeviceMemoryProperties(
- VkPhysicalDevice physicalDevice,
- VkPhysicalDeviceMemoryProperties* pMemoryProperties);
- PFN_vkVoidFunction vkGetInstanceProcAddr(
- VkInstance instance,
- const char* pName);
- PFN_vkVoidFunction vkGetDeviceProcAddr(
- VkDevice device,
- const char* pName);
- VkResult vkCreateDevice(
- VkPhysicalDevice physicalDevice,
- const VkDeviceCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkDevice* pDevice);
- void vkDestroyDevice(
- VkDevice device,
- const VkAllocationCallbacks* pAllocator);
- VkResult vkEnumerateInstanceExtensionProperties(
- const char* pLayerName,
- uint32_t* pPropertyCount,
- VkExtensionProperties* pProperties);
- VkResult vkEnumerateDeviceExtensionProperties(
- VkPhysicalDevice physicalDevice,
- const char* pLayerName,
- uint32_t* pPropertyCount,
- VkExtensionProperties* pProperties);
- VkResult vkEnumerateInstanceLayerProperties(
- uint32_t* pPropertyCount,
- VkLayerProperties* pProperties);
- VkResult vkEnumerateDeviceLayerProperties(
- VkPhysicalDevice physicalDevice,
- uint32_t* pPropertyCount,
- VkLayerProperties* pProperties);
- void vkGetDeviceQueue(
- VkDevice device,
- uint32_t queueFamilyIndex,
- uint32_t queueIndex,
- VkQueue* pQueue);
- VkResult vkQueueSubmit(
- VkQueue queue,
- uint32_t submitCount,
- const VkSubmitInfo* pSubmits,
- VkFence fence);
- VkResult vkQueueWaitIdle(
- VkQueue queue);
- VkResult vkDeviceWaitIdle(
- VkDevice device);
- VkResult vkAllocateMemory(
- VkDevice device,
- const VkMemoryAllocateInfo* pAllocateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkDeviceMemory* pMemory);
- void vkFreeMemory(
- VkDevice device,
- VkDeviceMemory memory,
- const VkAllocationCallbacks* pAllocator);
- VkResult vkMapMemory(
- VkDevice device,
- VkDeviceMemory memory,
- VkDeviceSize offset,
- VkDeviceSize size,
- VkMemoryMapFlags flags,
- void** ppData);
- void vkUnmapMemory(
- VkDevice device,
- VkDeviceMemory memory);
- VkResult vkFlushMappedMemoryRanges(
- VkDevice device,
- uint32_t memoryRangeCount,
- const VkMappedMemoryRange* pMemoryRanges);
- VkResult vkInvalidateMappedMemoryRanges(
- VkDevice device,
- uint32_t memoryRangeCount,
- const VkMappedMemoryRange* pMemoryRanges);
- void vkGetDeviceMemoryCommitment(
- VkDevice device,
- VkDeviceMemory memory,
- VkDeviceSize* pCommittedMemoryInBytes);
- VkResult vkBindBufferMemory(
- VkDevice device,
- VkBuffer buffer,
- VkDeviceMemory memory,
- VkDeviceSize memoryOffset);
- VkResult vkBindImageMemory(
- VkDevice device,
- VkImage image,
- VkDeviceMemory memory,
- VkDeviceSize memoryOffset);
- void vkGetBufferMemoryRequirements(
- VkDevice device,
- VkBuffer buffer,
- VkMemoryRequirements* pMemoryRequirements);
- void vkGetImageMemoryRequirements(
- VkDevice device,
- VkImage image,
- VkMemoryRequirements* pMemoryRequirements);
- void vkGetImageSparseMemoryRequirements(
- VkDevice device,
- VkImage image,
- uint32_t* pSparseMemoryRequirementCount,
- VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
- void vkGetPhysicalDeviceSparseImageFormatProperties(
- VkPhysicalDevice physicalDevice,
- VkFormat format,
- VkImageType type,
- VkSampleCountFlagBits samples,
- VkImageUsageFlags usage,
- VkImageTiling tiling,
- uint32_t* pPropertyCount,
- VkSparseImageFormatProperties* pProperties);
- VkResult vkQueueBindSparse(
- VkQueue queue,
- uint32_t bindInfoCount,
- const VkBindSparseInfo* pBindInfo,
- VkFence fence);
- VkResult vkCreateFence(
- VkDevice device,
- const VkFenceCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkFence* pFence);
- void vkDestroyFence(
- VkDevice device,
- VkFence fence,
- const VkAllocationCallbacks* pAllocator);
- VkResult vkResetFences(
- VkDevice device,
- uint32_t fenceCount,
- const VkFence* pFences);
- VkResult vkGetFenceStatus(
- VkDevice device,
- VkFence fence);
- VkResult vkWaitForFences(
- VkDevice device,
- uint32_t fenceCount,
- const VkFence* pFences,
- VkBool32 waitAll,
- uint64_t timeout);
- VkResult vkCreateSemaphore(
- VkDevice device,
- const VkSemaphoreCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSemaphore* pSemaphore);
- void vkDestroySemaphore(
- VkDevice device,
- VkSemaphore semaphore,
- const VkAllocationCallbacks* pAllocator);
- VkResult vkCreateEvent(
- VkDevice device,
- const VkEventCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkEvent* pEvent);
- void vkDestroyEvent(
- VkDevice device,
- VkEvent event,
- const VkAllocationCallbacks* pAllocator);
- VkResult vkGetEventStatus(
- VkDevice device,
- VkEvent event);
- VkResult vkSetEvent(
- VkDevice device,
- VkEvent event);
- VkResult vkResetEvent(
- VkDevice device,
- VkEvent event);
- VkResult vkCreateQueryPool(
- VkDevice device,
- const VkQueryPoolCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkQueryPool* pQueryPool);
- void vkDestroyQueryPool(
- VkDevice device,
- VkQueryPool queryPool,
- const VkAllocationCallbacks* pAllocator);
- VkResult vkGetQueryPoolResults(
- VkDevice device,
- VkQueryPool queryPool,
- uint32_t firstQuery,
- uint32_t queryCount,
- size_t dataSize,
- void* pData,
- VkDeviceSize stride,
- VkQueryResultFlags flags);
- VkResult vkCreateBuffer(
- VkDevice device,
- const VkBufferCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkBuffer* pBuffer);
- void vkDestroyBuffer(
- VkDevice device,
- VkBuffer buffer,
- const VkAllocationCallbacks* pAllocator);
- VkResult vkCreateBufferView(
- VkDevice device,
- const VkBufferViewCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkBufferView* pView);
- void vkDestroyBufferView(
- VkDevice device,
- VkBufferView bufferView,
- const VkAllocationCallbacks* pAllocator);
- VkResult vkCreateImage(
- VkDevice device,
- const VkImageCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkImage* pImage);
- void vkDestroyImage(
- VkDevice device,
- VkImage image,
- const VkAllocationCallbacks* pAllocator);
- void vkGetImageSubresourceLayout(
- VkDevice device,
- VkImage image,
- const VkImageSubresource* pSubresource,
- VkSubresourceLayout* pLayout);
- VkResult vkCreateImageView(
- VkDevice device,
- const VkImageViewCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkImageView* pView);
- void vkDestroyImageView(
- VkDevice device,
- VkImageView imageView,
- const VkAllocationCallbacks* pAllocator);
- VkResult vkCreateShaderModule(
- VkDevice device,
- const VkShaderModuleCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkShaderModule* pShaderModule);
- void vkDestroyShaderModule(
- VkDevice device,
- VkShaderModule shaderModule,
- const VkAllocationCallbacks* pAllocator);
- VkResult vkCreatePipelineCache(
- VkDevice device,
- const VkPipelineCacheCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkPipelineCache* pPipelineCache);
- void vkDestroyPipelineCache(
- VkDevice device,
- VkPipelineCache pipelineCache,
- const VkAllocationCallbacks* pAllocator);
- VkResult vkGetPipelineCacheData(
- VkDevice device,
- VkPipelineCache pipelineCache,
- size_t* pDataSize,
- void* pData);
- VkResult vkMergePipelineCaches(
- VkDevice device,
- VkPipelineCache dstCache,
- uint32_t srcCacheCount,
- const VkPipelineCache* pSrcCaches);
- VkResult vkCreateGraphicsPipelines(
- VkDevice device,
- VkPipelineCache pipelineCache,
- uint32_t createInfoCount,
- const VkGraphicsPipelineCreateInfo* pCreateInfos,
- const VkAllocationCallbacks* pAllocator,
- VkPipeline* pPipelines);
- VkResult vkCreateComputePipelines(
- VkDevice device,
- VkPipelineCache pipelineCache,
- uint32_t createInfoCount,
- const VkComputePipelineCreateInfo* pCreateInfos,
- const VkAllocationCallbacks* pAllocator,
- VkPipeline* pPipelines);
- void vkDestroyPipeline(
- VkDevice device,
- VkPipeline pipeline,
- const VkAllocationCallbacks* pAllocator);
- VkResult vkCreatePipelineLayout(
- VkDevice device,
- const VkPipelineLayoutCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkPipelineLayout* pPipelineLayout);
- void vkDestroyPipelineLayout(
- VkDevice device,
- VkPipelineLayout pipelineLayout,
- const VkAllocationCallbacks* pAllocator);
- VkResult vkCreateSampler(
- VkDevice device,
- const VkSamplerCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSampler* pSampler);
- void vkDestroySampler(
- VkDevice device,
- VkSampler sampler,
- const VkAllocationCallbacks* pAllocator);
- VkResult vkCreateDescriptorSetLayout(
- VkDevice device,
- const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkDescriptorSetLayout* pSetLayout);
- void vkDestroyDescriptorSetLayout(
- VkDevice device,
- VkDescriptorSetLayout descriptorSetLayout,
- const VkAllocationCallbacks* pAllocator);
- VkResult vkCreateDescriptorPool(
- VkDevice device,
- const VkDescriptorPoolCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkDescriptorPool* pDescriptorPool);
- void vkDestroyDescriptorPool(
- VkDevice device,
- VkDescriptorPool descriptorPool,
- const VkAllocationCallbacks* pAllocator);
- VkResult vkResetDescriptorPool(
- VkDevice device,
- VkDescriptorPool descriptorPool,
- VkDescriptorPoolResetFlags flags);
- VkResult vkAllocateDescriptorSets(
- VkDevice device,
- const VkDescriptorSetAllocateInfo* pAllocateInfo,
- VkDescriptorSet* pDescriptorSets);
- VkResult vkFreeDescriptorSets(
- VkDevice device,
- VkDescriptorPool descriptorPool,
- uint32_t descriptorSetCount,
- const VkDescriptorSet* pDescriptorSets);
- void vkUpdateDescriptorSets(
- VkDevice device,
- uint32_t descriptorWriteCount,
- const VkWriteDescriptorSet* pDescriptorWrites,
- uint32_t descriptorCopyCount,
- const VkCopyDescriptorSet* pDescriptorCopies);
- VkResult vkCreateFramebuffer(
- VkDevice device,
- const VkFramebufferCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkFramebuffer* pFramebuffer);
- void vkDestroyFramebuffer(
- VkDevice device,
- VkFramebuffer framebuffer,
- const VkAllocationCallbacks* pAllocator);
- VkResult vkCreateRenderPass(
- VkDevice device,
- const VkRenderPassCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkRenderPass* pRenderPass);
- void vkDestroyRenderPass(
- VkDevice device,
- VkRenderPass renderPass,
- const VkAllocationCallbacks* pAllocator);
- void vkGetRenderAreaGranularity(
- VkDevice device,
- VkRenderPass renderPass,
- VkExtent2D* pGranularity);
- VkResult vkCreateCommandPool(
- VkDevice device,
- const VkCommandPoolCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkCommandPool* pCommandPool);
- void vkDestroyCommandPool(
- VkDevice device,
- VkCommandPool commandPool,
- const VkAllocationCallbacks* pAllocator);
- VkResult vkResetCommandPool(
- VkDevice device,
- VkCommandPool commandPool,
- VkCommandPoolResetFlags flags);
- VkResult vkAllocateCommandBuffers(
- VkDevice device,
- const VkCommandBufferAllocateInfo* pAllocateInfo,
- VkCommandBuffer* pCommandBuffers);
- void vkFreeCommandBuffers(
- VkDevice device,
- VkCommandPool commandPool,
- uint32_t commandBufferCount,
- const VkCommandBuffer* pCommandBuffers);
- VkResult vkBeginCommandBuffer(
- VkCommandBuffer commandBuffer,
- const VkCommandBufferBeginInfo* pBeginInfo);
- VkResult vkEndCommandBuffer(
- VkCommandBuffer commandBuffer);
- VkResult vkResetCommandBuffer(
- VkCommandBuffer commandBuffer,
- VkCommandBufferResetFlags flags);
- void vkCmdBindPipeline(
- VkCommandBuffer commandBuffer,
- VkPipelineBindPoint pipelineBindPoint,
- VkPipeline pipeline);
- void vkCmdSetViewport(
- VkCommandBuffer commandBuffer,
- uint32_t firstViewport,
- uint32_t viewportCount,
- const VkViewport* pViewports);
- void vkCmdSetScissor(
- VkCommandBuffer commandBuffer,
- uint32_t firstScissor,
- uint32_t scissorCount,
- const VkRect2D* pScissors);
- void vkCmdSetLineWidth(
- VkCommandBuffer commandBuffer,
- float lineWidth);
- void vkCmdSetDepthBias(
- VkCommandBuffer commandBuffer,
- float depthBiasConstantFactor,
- float depthBiasClamp,
- float depthBiasSlopeFactor);
- void vkCmdSetBlendConstants(
- VkCommandBuffer commandBuffer,
- const float blendConstants[4]);
- void vkCmdSetDepthBounds(
- VkCommandBuffer commandBuffer,
- float minDepthBounds,
- float maxDepthBounds);
- void vkCmdSetStencilCompareMask(
- VkCommandBuffer commandBuffer,
- VkStencilFaceFlags faceMask,
- uint32_t compareMask);
- void vkCmdSetStencilWriteMask(
- VkCommandBuffer commandBuffer,
- VkStencilFaceFlags faceMask,
- uint32_t writeMask);
- void vkCmdSetStencilReference(
- VkCommandBuffer commandBuffer,
- VkStencilFaceFlags faceMask,
- uint32_t reference);
- void vkCmdBindDescriptorSets(
- VkCommandBuffer commandBuffer,
- VkPipelineBindPoint pipelineBindPoint,
- VkPipelineLayout layout,
- uint32_t firstSet,
- uint32_t descriptorSetCount,
- const VkDescriptorSet* pDescriptorSets,
- uint32_t dynamicOffsetCount,
- const uint32_t* pDynamicOffsets);
- void vkCmdBindIndexBuffer(
- VkCommandBuffer commandBuffer,
- VkBuffer buffer,
- VkDeviceSize offset,
- VkIndexType indexType);
- void vkCmdBindVertexBuffers(
- VkCommandBuffer commandBuffer,
- uint32_t firstBinding,
- uint32_t bindingCount,
- const VkBuffer* pBuffers,
- const VkDeviceSize* pOffsets);
- void vkCmdDraw(
- VkCommandBuffer commandBuffer,
- uint32_t vertexCount,
- uint32_t instanceCount,
- uint32_t firstVertex,
- uint32_t firstInstance);
- void vkCmdDrawIndexed(
- VkCommandBuffer commandBuffer,
- uint32_t indexCount,
- uint32_t instanceCount,
- uint32_t firstIndex,
- int32_t vertexOffset,
- uint32_t firstInstance);
- void vkCmdDrawIndirect(
- VkCommandBuffer commandBuffer,
- VkBuffer buffer,
- VkDeviceSize offset,
- uint32_t drawCount,
- uint32_t stride);
- void vkCmdDrawIndexedIndirect(
- VkCommandBuffer commandBuffer,
- VkBuffer buffer,
- VkDeviceSize offset,
- uint32_t drawCount,
- uint32_t stride);
- void vkCmdDispatch(
- VkCommandBuffer commandBuffer,
- uint32_t groupCountX,
- uint32_t groupCountY,
- uint32_t groupCountZ);
- void vkCmdDispatchIndirect(
- VkCommandBuffer commandBuffer,
- VkBuffer buffer,
- VkDeviceSize offset);
- void vkCmdCopyBuffer(
- VkCommandBuffer commandBuffer,
- VkBuffer srcBuffer,
- VkBuffer dstBuffer,
- uint32_t regionCount,
- const VkBufferCopy* pRegions);
- void vkCmdCopyImage(
- VkCommandBuffer commandBuffer,
- VkImage srcImage,
- VkImageLayout srcImageLayout,
- VkImage dstImage,
- VkImageLayout dstImageLayout,
- uint32_t regionCount,
- const VkImageCopy* pRegions);
- void vkCmdBlitImage(
- VkCommandBuffer commandBuffer,
- VkImage srcImage,
- VkImageLayout srcImageLayout,
- VkImage dstImage,
- VkImageLayout dstImageLayout,
- uint32_t regionCount,
- const VkImageBlit* pRegions,
- VkFilter filter);
- void vkCmdCopyBufferToImage(
- VkCommandBuffer commandBuffer,
- VkBuffer srcBuffer,
- VkImage dstImage,
- VkImageLayout dstImageLayout,
- uint32_t regionCount,
- const VkBufferImageCopy* pRegions);
- void vkCmdCopyImageToBuffer(
- VkCommandBuffer commandBuffer,
- VkImage srcImage,
- VkImageLayout srcImageLayout,
- VkBuffer dstBuffer,
- uint32_t regionCount,
- const VkBufferImageCopy* pRegions);
- void vkCmdUpdateBuffer(
- VkCommandBuffer commandBuffer,
- VkBuffer dstBuffer,
- VkDeviceSize dstOffset,
- VkDeviceSize dataSize,
- const void* pData);
- void vkCmdFillBuffer(
- VkCommandBuffer commandBuffer,
- VkBuffer dstBuffer,
- VkDeviceSize dstOffset,
- VkDeviceSize size,
- uint32_t data);
- void vkCmdClearColorImage(
- VkCommandBuffer commandBuffer,
- VkImage image,
- VkImageLayout imageLayout,
- const VkClearColorValue* pColor,
- uint32_t rangeCount,
- const VkImageSubresourceRange* pRanges);
- void vkCmdClearDepthStencilImage(
- VkCommandBuffer commandBuffer,
- VkImage image,
- VkImageLayout imageLayout,
- const VkClearDepthStencilValue* pDepthStencil,
- uint32_t rangeCount,
- const VkImageSubresourceRange* pRanges);
- void vkCmdClearAttachments(
- VkCommandBuffer commandBuffer,
- uint32_t attachmentCount,
- const VkClearAttachment* pAttachments,
- uint32_t rectCount,
- const VkClearRect* pRects);
- void vkCmdResolveImage(
- VkCommandBuffer commandBuffer,
- VkImage srcImage,
- VkImageLayout srcImageLayout,
- VkImage dstImage,
- VkImageLayout dstImageLayout,
- uint32_t regionCount,
- const VkImageResolve* pRegions);
- void vkCmdSetEvent(
- VkCommandBuffer commandBuffer,
- VkEvent event,
- VkPipelineStageFlags stageMask);
- void vkCmdResetEvent(
- VkCommandBuffer commandBuffer,
- VkEvent event,
- VkPipelineStageFlags stageMask);
- void vkCmdWaitEvents(
- 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(
- 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);
- void vkCmdBeginQuery(
- VkCommandBuffer commandBuffer,
- VkQueryPool queryPool,
- uint32_t query,
- VkQueryControlFlags flags);
- void vkCmdEndQuery(
- VkCommandBuffer commandBuffer,
- VkQueryPool queryPool,
- uint32_t query);
- void vkCmdResetQueryPool(
- VkCommandBuffer commandBuffer,
- VkQueryPool queryPool,
- uint32_t firstQuery,
- uint32_t queryCount);
- void vkCmdWriteTimestamp(
- VkCommandBuffer commandBuffer,
- VkPipelineStageFlagBits pipelineStage,
- VkQueryPool queryPool,
- uint32_t query);
- void vkCmdCopyQueryPoolResults(
- VkCommandBuffer commandBuffer,
- VkQueryPool queryPool,
- uint32_t firstQuery,
- uint32_t queryCount,
- VkBuffer dstBuffer,
- VkDeviceSize dstOffset,
- VkDeviceSize stride,
- VkQueryResultFlags flags);
- void vkCmdPushConstants(
- VkCommandBuffer commandBuffer,
- VkPipelineLayout layout,
- VkShaderStageFlags stageFlags,
- uint32_t offset,
- uint32_t size,
- const void* pValues);
- void vkCmdBeginRenderPass(
- VkCommandBuffer commandBuffer,
- const VkRenderPassBeginInfo* pRenderPassBegin,
- VkSubpassContents contents);
- void vkCmdNextSubpass(
- VkCommandBuffer commandBuffer,
- VkSubpassContents contents);
- void vkCmdEndRenderPass(
- VkCommandBuffer commandBuffer);
- void vkCmdExecuteCommands(
- VkCommandBuffer commandBuffer,
- uint32_t commandBufferCount,
- const VkCommandBuffer* pCommandBuffers);
-#endif
-#ifdef VK_VERSION_1_1
- VkResult vkEnumerateInstanceVersion(
- uint32_t* pApiVersion);
- VkResult vkBindBufferMemory2(
- VkDevice device,
- uint32_t bindInfoCount,
- const VkBindBufferMemoryInfo* pBindInfos);
- VkResult vkBindImageMemory2(
- VkDevice device,
- uint32_t bindInfoCount,
- const VkBindImageMemoryInfo* pBindInfos);
- void vkGetDeviceGroupPeerMemoryFeatures(
- VkDevice device,
- uint32_t heapIndex,
- uint32_t localDeviceIndex,
- uint32_t remoteDeviceIndex,
- VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
- void vkCmdSetDeviceMask(
- VkCommandBuffer commandBuffer,
- uint32_t deviceMask);
- void vkCmdDispatchBase(
- VkCommandBuffer commandBuffer,
- uint32_t baseGroupX,
- uint32_t baseGroupY,
- uint32_t baseGroupZ,
- uint32_t groupCountX,
- uint32_t groupCountY,
- uint32_t groupCountZ);
- VkResult vkEnumeratePhysicalDeviceGroups(
- VkInstance instance,
- uint32_t* pPhysicalDeviceGroupCount,
- VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
- void vkGetImageMemoryRequirements2(
- VkDevice device,
- const VkImageMemoryRequirementsInfo2* pInfo,
- VkMemoryRequirements2* pMemoryRequirements);
- void vkGetBufferMemoryRequirements2(
- VkDevice device,
- const VkBufferMemoryRequirementsInfo2* pInfo,
- VkMemoryRequirements2* pMemoryRequirements);
- void vkGetImageSparseMemoryRequirements2(
- VkDevice device,
- const VkImageSparseMemoryRequirementsInfo2* pInfo,
- uint32_t* pSparseMemoryRequirementCount,
- VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
- void vkGetPhysicalDeviceFeatures2(
- VkPhysicalDevice physicalDevice,
- VkPhysicalDeviceFeatures2* pFeatures);
- void vkGetPhysicalDeviceProperties2(
- VkPhysicalDevice physicalDevice,
- VkPhysicalDeviceProperties2* pProperties);
- void vkGetPhysicalDeviceFormatProperties2(
- VkPhysicalDevice physicalDevice,
- VkFormat format,
- VkFormatProperties2* pFormatProperties);
- VkResult vkGetPhysicalDeviceImageFormatProperties2(
- VkPhysicalDevice physicalDevice,
- const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
- VkImageFormatProperties2* pImageFormatProperties);
- void vkGetPhysicalDeviceQueueFamilyProperties2(
- VkPhysicalDevice physicalDevice,
- uint32_t* pQueueFamilyPropertyCount,
- VkQueueFamilyProperties2* pQueueFamilyProperties);
- void vkGetPhysicalDeviceMemoryProperties2(
- VkPhysicalDevice physicalDevice,
- VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
- void vkGetPhysicalDeviceSparseImageFormatProperties2(
- VkPhysicalDevice physicalDevice,
- const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
- uint32_t* pPropertyCount,
- VkSparseImageFormatProperties2* pProperties);
- void vkTrimCommandPool(
- VkDevice device,
- VkCommandPool commandPool,
- VkCommandPoolTrimFlags flags);
- void vkGetDeviceQueue2(
- VkDevice device,
- const VkDeviceQueueInfo2* pQueueInfo,
- VkQueue* pQueue);
- VkResult vkCreateSamplerYcbcrConversion(
- VkDevice device,
- const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSamplerYcbcrConversion* pYcbcrConversion);
- void vkDestroySamplerYcbcrConversion(
- VkDevice device,
- VkSamplerYcbcrConversion ycbcrConversion,
- const VkAllocationCallbacks* pAllocator);
- VkResult vkCreateDescriptorUpdateTemplate(
- VkDevice device,
- const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
- void vkDestroyDescriptorUpdateTemplate(
- VkDevice device,
- VkDescriptorUpdateTemplate descriptorUpdateTemplate,
- const VkAllocationCallbacks* pAllocator);
- void vkUpdateDescriptorSetWithTemplate(
- VkDevice device,
- VkDescriptorSet descriptorSet,
- VkDescriptorUpdateTemplate descriptorUpdateTemplate,
- const void* pData);
- void vkGetPhysicalDeviceExternalBufferProperties(
- VkPhysicalDevice physicalDevice,
- const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
- VkExternalBufferProperties* pExternalBufferProperties);
- void vkGetPhysicalDeviceExternalFenceProperties(
- VkPhysicalDevice physicalDevice,
- const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
- VkExternalFenceProperties* pExternalFenceProperties);
- void vkGetPhysicalDeviceExternalSemaphoreProperties(
- VkPhysicalDevice physicalDevice,
- const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
- VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
- void vkGetDescriptorSetLayoutSupport(
- VkDevice device,
- const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
- VkDescriptorSetLayoutSupport* pSupport);
-#endif
-#ifdef VK_KHR_surface
- void vkDestroySurfaceKHR(
- VkInstance instance,
- VkSurfaceKHR surface,
- const VkAllocationCallbacks* pAllocator);
- VkResult vkGetPhysicalDeviceSurfaceSupportKHR(
- VkPhysicalDevice physicalDevice,
- uint32_t queueFamilyIndex,
- VkSurfaceKHR surface,
- VkBool32* pSupported);
- VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
- VkPhysicalDevice physicalDevice,
- VkSurfaceKHR surface,
- VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
- VkResult vkGetPhysicalDeviceSurfaceFormatsKHR(
- VkPhysicalDevice physicalDevice,
- VkSurfaceKHR surface,
- uint32_t* pSurfaceFormatCount,
- VkSurfaceFormatKHR* pSurfaceFormats);
- VkResult vkGetPhysicalDeviceSurfacePresentModesKHR(
- VkPhysicalDevice physicalDevice,
- VkSurfaceKHR surface,
- uint32_t* pPresentModeCount,
- VkPresentModeKHR* pPresentModes);
-#endif
-#ifdef VK_KHR_swapchain
- VkResult vkCreateSwapchainKHR(
- VkDevice device,
- const VkSwapchainCreateInfoKHR* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSwapchainKHR* pSwapchain);
- void vkDestroySwapchainKHR(
- VkDevice device,
- VkSwapchainKHR swapchain,
- const VkAllocationCallbacks* pAllocator);
- VkResult vkGetSwapchainImagesKHR(
- VkDevice device,
- VkSwapchainKHR swapchain,
- uint32_t* pSwapchainImageCount,
- VkImage* pSwapchainImages);
- VkResult vkAcquireNextImageKHR(
- VkDevice device,
- VkSwapchainKHR swapchain,
- uint64_t timeout,
- VkSemaphore semaphore,
- VkFence fence,
- uint32_t* pImageIndex);
- VkResult vkQueuePresentKHR(
- VkQueue queue,
- const VkPresentInfoKHR* pPresentInfo);
- VkResult vkGetDeviceGroupPresentCapabilitiesKHR(
- VkDevice device,
- VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
- VkResult vkGetDeviceGroupSurfacePresentModesKHR(
- VkDevice device,
- VkSurfaceKHR surface,
- VkDeviceGroupPresentModeFlagsKHR* pModes);
- VkResult vkGetPhysicalDevicePresentRectanglesKHR(
- VkPhysicalDevice physicalDevice,
- VkSurfaceKHR surface,
- uint32_t* pRectCount,
- VkRect2D* pRects);
- VkResult vkAcquireNextImage2KHR(
- VkDevice device,
- const VkAcquireNextImageInfoKHR* pAcquireInfo,
- uint32_t* pImageIndex);
-#endif
-#ifdef VK_KHR_display
- VkResult vkGetPhysicalDeviceDisplayPropertiesKHR(
- VkPhysicalDevice physicalDevice,
- uint32_t* pPropertyCount,
- VkDisplayPropertiesKHR* pProperties);
- VkResult vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
- VkPhysicalDevice physicalDevice,
- uint32_t* pPropertyCount,
- VkDisplayPlanePropertiesKHR* pProperties);
- VkResult vkGetDisplayPlaneSupportedDisplaysKHR(
- VkPhysicalDevice physicalDevice,
- uint32_t planeIndex,
- uint32_t* pDisplayCount,
- VkDisplayKHR* pDisplays);
- VkResult vkGetDisplayModePropertiesKHR(
- VkPhysicalDevice physicalDevice,
- VkDisplayKHR display,
- uint32_t* pPropertyCount,
- VkDisplayModePropertiesKHR* pProperties);
- VkResult vkCreateDisplayModeKHR(
- VkPhysicalDevice physicalDevice,
- VkDisplayKHR display,
- const VkDisplayModeCreateInfoKHR* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkDisplayModeKHR* pMode);
- VkResult vkGetDisplayPlaneCapabilitiesKHR(
- VkPhysicalDevice physicalDevice,
- VkDisplayModeKHR mode,
- uint32_t planeIndex,
- VkDisplayPlaneCapabilitiesKHR* pCapabilities);
- VkResult vkCreateDisplayPlaneSurfaceKHR(
- VkInstance instance,
- const VkDisplaySurfaceCreateInfoKHR* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSurfaceKHR* pSurface);
-#endif
-#ifdef VK_KHR_display_swapchain
- VkResult vkCreateSharedSwapchainsKHR(
- VkDevice device,
- uint32_t swapchainCount,
- const VkSwapchainCreateInfoKHR* pCreateInfos,
- const VkAllocationCallbacks* pAllocator,
- VkSwapchainKHR* pSwapchains);
-#endif
-#ifdef VK_KHR_xlib_surface
- VkResult vkCreateXlibSurfaceKHR(
- VkInstance instance,
- const VkXlibSurfaceCreateInfoKHR* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSurfaceKHR* pSurface);
- VkBool32 vkGetPhysicalDeviceXlibPresentationSupportKHR(
- VkPhysicalDevice physicalDevice,
- uint32_t queueFamilyIndex,
- Display* dpy,
- VisualID visualID);
-#endif
-#ifdef VK_KHR_xcb_surface
- VkResult vkCreateXcbSurfaceKHR(
- VkInstance instance,
- const VkXcbSurfaceCreateInfoKHR* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSurfaceKHR* pSurface);
- VkBool32 vkGetPhysicalDeviceXcbPresentationSupportKHR(
- VkPhysicalDevice physicalDevice,
- uint32_t queueFamilyIndex,
- xcb_connection_t* connection,
- xcb_visualid_t visual_id);
-#endif
-#ifdef VK_KHR_wayland_surface
- VkResult vkCreateWaylandSurfaceKHR(
- VkInstance instance,
- const VkWaylandSurfaceCreateInfoKHR* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSurfaceKHR* pSurface);
- VkBool32 vkGetPhysicalDeviceWaylandPresentationSupportKHR(
- VkPhysicalDevice physicalDevice,
- uint32_t queueFamilyIndex,
- wl_display* display);
-#endif
-#ifdef VK_KHR_mir_surface
- VkResult vkCreateMirSurfaceKHR(
- VkInstance instance,
- const VkMirSurfaceCreateInfoKHR* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSurfaceKHR* pSurface);
- VkBool32 vkGetPhysicalDeviceMirPresentationSupportKHR(
- VkPhysicalDevice physicalDevice,
- uint32_t queueFamilyIndex,
- MirConnection* connection);
-#endif
-#ifdef VK_KHR_android_surface
- VkResult vkCreateAndroidSurfaceKHR(
- VkInstance instance,
- const VkAndroidSurfaceCreateInfoKHR* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSurfaceKHR* pSurface);
-#endif
-#ifdef VK_KHR_win32_surface
- VkResult vkCreateWin32SurfaceKHR(
- VkInstance instance,
- const VkWin32SurfaceCreateInfoKHR* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSurfaceKHR* pSurface);
- VkBool32 vkGetPhysicalDeviceWin32PresentationSupportKHR(
- VkPhysicalDevice physicalDevice,
- uint32_t queueFamilyIndex);
-#endif
-#ifdef VK_KHR_sampler_mirror_clamp_to_edge
-#endif
-#ifdef VK_KHR_multiview
-#endif
-#ifdef VK_KHR_get_physical_device_properties2
- void vkGetPhysicalDeviceFeatures2KHR(
- VkPhysicalDevice physicalDevice,
- VkPhysicalDeviceFeatures2* pFeatures);
- void vkGetPhysicalDeviceProperties2KHR(
- VkPhysicalDevice physicalDevice,
- VkPhysicalDeviceProperties2* pProperties);
- void vkGetPhysicalDeviceFormatProperties2KHR(
- VkPhysicalDevice physicalDevice,
- VkFormat format,
- VkFormatProperties2* pFormatProperties);
- VkResult vkGetPhysicalDeviceImageFormatProperties2KHR(
- VkPhysicalDevice physicalDevice,
- const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
- VkImageFormatProperties2* pImageFormatProperties);
- void vkGetPhysicalDeviceQueueFamilyProperties2KHR(
- VkPhysicalDevice physicalDevice,
- uint32_t* pQueueFamilyPropertyCount,
- VkQueueFamilyProperties2* pQueueFamilyProperties);
- void vkGetPhysicalDeviceMemoryProperties2KHR(
- VkPhysicalDevice physicalDevice,
- VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
- void vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
- VkPhysicalDevice physicalDevice,
- const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
- uint32_t* pPropertyCount,
- VkSparseImageFormatProperties2* pProperties);
-#endif
-#ifdef VK_KHR_device_group
- void vkGetDeviceGroupPeerMemoryFeaturesKHR(
- VkDevice device,
- uint32_t heapIndex,
- uint32_t localDeviceIndex,
- uint32_t remoteDeviceIndex,
- VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
- void vkCmdSetDeviceMaskKHR(
- VkCommandBuffer commandBuffer,
- uint32_t deviceMask);
- void vkCmdDispatchBaseKHR(
- VkCommandBuffer commandBuffer,
- uint32_t baseGroupX,
- uint32_t baseGroupY,
- uint32_t baseGroupZ,
- uint32_t groupCountX,
- uint32_t groupCountY,
- uint32_t groupCountZ);
-#endif
-#ifdef VK_KHR_shader_draw_parameters
-#endif
-#ifdef VK_KHR_maintenance1
- void vkTrimCommandPoolKHR(
- VkDevice device,
- VkCommandPool commandPool,
- VkCommandPoolTrimFlags flags);
-#endif
-#ifdef VK_KHR_device_group_creation
- VkResult vkEnumeratePhysicalDeviceGroupsKHR(
- VkInstance instance,
- uint32_t* pPhysicalDeviceGroupCount,
- VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
-#endif
-#ifdef VK_KHR_external_memory_capabilities
- void vkGetPhysicalDeviceExternalBufferPropertiesKHR(
- VkPhysicalDevice physicalDevice,
- const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
- VkExternalBufferProperties* pExternalBufferProperties);
-#endif
-#ifdef VK_KHR_external_memory
-#endif
-#ifdef VK_KHR_external_memory_win32
- VkResult vkGetMemoryWin32HandleKHR(
- VkDevice device,
- const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo,
- HANDLE* pHandle);
- VkResult vkGetMemoryWin32HandlePropertiesKHR(
- VkDevice device,
- VkExternalMemoryHandleTypeFlagBits handleType,
- HANDLE handle,
- VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties);
-#endif
-#ifdef VK_KHR_external_memory_fd
- VkResult vkGetMemoryFdKHR(
- VkDevice device,
- const VkMemoryGetFdInfoKHR* pGetFdInfo,
- int* pFd);
- VkResult vkGetMemoryFdPropertiesKHR(
- VkDevice device,
- VkExternalMemoryHandleTypeFlagBits handleType,
- int fd,
- VkMemoryFdPropertiesKHR* pMemoryFdProperties);
-#endif
-#ifdef VK_KHR_win32_keyed_mutex
-#endif
-#ifdef VK_KHR_external_semaphore_capabilities
- void vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
- VkPhysicalDevice physicalDevice,
- const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
- VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
-#endif
-#ifdef VK_KHR_external_semaphore
-#endif
-#ifdef VK_KHR_external_semaphore_win32
- VkResult vkImportSemaphoreWin32HandleKHR(
- VkDevice device,
- const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo);
- VkResult vkGetSemaphoreWin32HandleKHR(
- VkDevice device,
- const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo,
- HANDLE* pHandle);
-#endif
-#ifdef VK_KHR_external_semaphore_fd
- VkResult vkImportSemaphoreFdKHR(
- VkDevice device,
- const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
- VkResult vkGetSemaphoreFdKHR(
- VkDevice device,
- const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
- int* pFd);
-#endif
-#ifdef VK_KHR_push_descriptor
- void vkCmdPushDescriptorSetKHR(
- VkCommandBuffer commandBuffer,
- VkPipelineBindPoint pipelineBindPoint,
- VkPipelineLayout layout,
- uint32_t set,
- uint32_t descriptorWriteCount,
- const VkWriteDescriptorSet* pDescriptorWrites);
- void vkCmdPushDescriptorSetWithTemplateKHR(
- VkCommandBuffer commandBuffer,
- VkDescriptorUpdateTemplate descriptorUpdateTemplate,
- VkPipelineLayout layout,
- uint32_t set,
- const void* pData);
-#endif
-#ifdef VK_KHR_16bit_storage
-#endif
-#ifdef VK_KHR_incremental_present
-#endif
-#ifdef VK_KHR_descriptor_update_template
- VkResult vkCreateDescriptorUpdateTemplateKHR(
- VkDevice device,
- const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
- void vkDestroyDescriptorUpdateTemplateKHR(
- VkDevice device,
- VkDescriptorUpdateTemplate descriptorUpdateTemplate,
- const VkAllocationCallbacks* pAllocator);
- void vkUpdateDescriptorSetWithTemplateKHR(
- VkDevice device,
- VkDescriptorSet descriptorSet,
- VkDescriptorUpdateTemplate descriptorUpdateTemplate,
- const void* pData);
-#endif
-#ifdef VK_KHR_create_renderpass2
- VkResult vkCreateRenderPass2KHR(
- VkDevice device,
- const VkRenderPassCreateInfo2KHR* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkRenderPass* pRenderPass);
- void vkCmdBeginRenderPass2KHR(
- VkCommandBuffer commandBuffer,
- const VkRenderPassBeginInfo* pRenderPassBegin,
- const VkSubpassBeginInfoKHR* pSubpassBeginInfo);
- void vkCmdNextSubpass2KHR(
- VkCommandBuffer commandBuffer,
- const VkSubpassBeginInfoKHR* pSubpassBeginInfo,
- const VkSubpassEndInfoKHR* pSubpassEndInfo);
- void vkCmdEndRenderPass2KHR(
- VkCommandBuffer commandBuffer,
- const VkSubpassEndInfoKHR* pSubpassEndInfo);
-#endif
-#ifdef VK_KHR_shared_presentable_image
- VkResult vkGetSwapchainStatusKHR(
- VkDevice device,
- VkSwapchainKHR swapchain);
-#endif
-#ifdef VK_KHR_external_fence_capabilities
- void vkGetPhysicalDeviceExternalFencePropertiesKHR(
- VkPhysicalDevice physicalDevice,
- const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
- VkExternalFenceProperties* pExternalFenceProperties);
-#endif
-#ifdef VK_KHR_external_fence
-#endif
-#ifdef VK_KHR_external_fence_win32
- VkResult vkImportFenceWin32HandleKHR(
- VkDevice device,
- const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo);
- VkResult vkGetFenceWin32HandleKHR(
- VkDevice device,
- const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo,
- HANDLE* pHandle);
-#endif
-#ifdef VK_KHR_external_fence_fd
- VkResult vkImportFenceFdKHR(
- VkDevice device,
- const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
- VkResult vkGetFenceFdKHR(
- VkDevice device,
- const VkFenceGetFdInfoKHR* pGetFdInfo,
- int* pFd);
-#endif
-#ifdef VK_KHR_maintenance2
-#endif
-#ifdef VK_KHR_get_surface_capabilities2
- VkResult vkGetPhysicalDeviceSurfaceCapabilities2KHR(
- VkPhysicalDevice physicalDevice,
- const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
- VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
- VkResult vkGetPhysicalDeviceSurfaceFormats2KHR(
- VkPhysicalDevice physicalDevice,
- const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
- uint32_t* pSurfaceFormatCount,
- VkSurfaceFormat2KHR* pSurfaceFormats);
-#endif
-#ifdef VK_KHR_variable_pointers
-#endif
-#ifdef VK_KHR_get_display_properties2
- VkResult vkGetPhysicalDeviceDisplayProperties2KHR(
- VkPhysicalDevice physicalDevice,
- uint32_t* pPropertyCount,
- VkDisplayProperties2KHR* pProperties);
- VkResult vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
- VkPhysicalDevice physicalDevice,
- uint32_t* pPropertyCount,
- VkDisplayPlaneProperties2KHR* pProperties);
- VkResult vkGetDisplayModeProperties2KHR(
- VkPhysicalDevice physicalDevice,
- VkDisplayKHR display,
- uint32_t* pPropertyCount,
- VkDisplayModeProperties2KHR* pProperties);
- VkResult vkGetDisplayPlaneCapabilities2KHR(
- VkPhysicalDevice physicalDevice,
- const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo,
- VkDisplayPlaneCapabilities2KHR* pCapabilities);
-#endif
-#ifdef VK_KHR_dedicated_allocation
-#endif
-#ifdef VK_KHR_storage_buffer_storage_class
-#endif
-#ifdef VK_KHR_relaxed_block_layout
-#endif
-#ifdef VK_KHR_get_memory_requirements2
- void vkGetImageMemoryRequirements2KHR(
- VkDevice device,
- const VkImageMemoryRequirementsInfo2* pInfo,
- VkMemoryRequirements2* pMemoryRequirements);
- void vkGetBufferMemoryRequirements2KHR(
- VkDevice device,
- const VkBufferMemoryRequirementsInfo2* pInfo,
- VkMemoryRequirements2* pMemoryRequirements);
- void vkGetImageSparseMemoryRequirements2KHR(
- VkDevice device,
- const VkImageSparseMemoryRequirementsInfo2* pInfo,
- uint32_t* pSparseMemoryRequirementCount,
- VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
-#endif
-#ifdef VK_KHR_image_format_list
-#endif
-#ifdef VK_KHR_sampler_ycbcr_conversion
- VkResult vkCreateSamplerYcbcrConversionKHR(
- VkDevice device,
- const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSamplerYcbcrConversion* pYcbcrConversion);
- void vkDestroySamplerYcbcrConversionKHR(
- VkDevice device,
- VkSamplerYcbcrConversion ycbcrConversion,
- const VkAllocationCallbacks* pAllocator);
-#endif
-#ifdef VK_KHR_bind_memory2
- VkResult vkBindBufferMemory2KHR(
- VkDevice device,
- uint32_t bindInfoCount,
- const VkBindBufferMemoryInfo* pBindInfos);
- VkResult vkBindImageMemory2KHR(
- VkDevice device,
- uint32_t bindInfoCount,
- const VkBindImageMemoryInfo* pBindInfos);
-#endif
-#ifdef VK_KHR_maintenance3
- void vkGetDescriptorSetLayoutSupportKHR(
- VkDevice device,
- const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
- VkDescriptorSetLayoutSupport* pSupport);
-#endif
-#ifdef VK_KHR_draw_indirect_count
- void vkCmdDrawIndirectCountKHR(
- VkCommandBuffer commandBuffer,
- VkBuffer buffer,
- VkDeviceSize offset,
- VkBuffer countBuffer,
- VkDeviceSize countBufferOffset,
- uint32_t maxDrawCount,
- uint32_t stride);
- void vkCmdDrawIndexedIndirectCountKHR(
- VkCommandBuffer commandBuffer,
- VkBuffer buffer,
- VkDeviceSize offset,
- VkBuffer countBuffer,
- VkDeviceSize countBufferOffset,
- uint32_t maxDrawCount,
- uint32_t stride);
-#endif
-#ifdef VK_KHR_8bit_storage
-#endif
-#ifdef VK_KHR_shader_float16_int8
-#endif
-#ifdef VK_ANDROID_native_buffer
- VkResult vkGetSwapchainGrallocUsageANDROID(
- VkDevice device,
- VkFormat format,
- VkImageUsageFlags imageUsage,
- int* grallocUsage);
- VkResult vkAcquireImageANDROID(
- VkDevice device,
- VkImage image,
- int nativeFenceFd,
- VkSemaphore semaphore,
- VkFence fence);
- VkResult vkQueueSignalReleaseImageANDROID(
- VkQueue queue,
- uint32_t waitSemaphoreCount,
- const VkSemaphore* pWaitSemaphores,
- VkImage image,
- int* pNativeFenceFd);
-#endif
-#ifdef VK_EXT_debug_report
- VkResult vkCreateDebugReportCallbackEXT(
- VkInstance instance,
- const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkDebugReportCallbackEXT* pCallback);
- void vkDestroyDebugReportCallbackEXT(
- VkInstance instance,
- VkDebugReportCallbackEXT callback,
- const VkAllocationCallbacks* pAllocator);
- void vkDebugReportMessageEXT(
- VkInstance instance,
- VkDebugReportFlagsEXT flags,
- VkDebugReportObjectTypeEXT objectType,
- uint64_t object,
- size_t location,
- int32_t messageCode,
- const char* pLayerPrefix,
- const char* pMessage);
-#endif
-#ifdef VK_NV_glsl_shader
-#endif
-#ifdef VK_EXT_depth_range_unrestricted
-#endif
-#ifdef VK_IMG_filter_cubic
-#endif
-#ifdef VK_AMD_rasterization_order
-#endif
-#ifdef VK_AMD_shader_trinary_minmax
-#endif
-#ifdef VK_AMD_shader_explicit_vertex_parameter
-#endif
-#ifdef VK_EXT_debug_marker
- VkResult vkDebugMarkerSetObjectTagEXT(
- VkDevice device,
- const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
- VkResult vkDebugMarkerSetObjectNameEXT(
- VkDevice device,
- const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
- void vkCmdDebugMarkerBeginEXT(
- VkCommandBuffer commandBuffer,
- const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
- void vkCmdDebugMarkerEndEXT(
- VkCommandBuffer commandBuffer);
- void vkCmdDebugMarkerInsertEXT(
- VkCommandBuffer commandBuffer,
- const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
-#endif
-#ifdef VK_AMD_gcn_shader
-#endif
-#ifdef VK_NV_dedicated_allocation
-#endif
-#ifdef VK_AMD_draw_indirect_count
- void vkCmdDrawIndirectCountAMD(
- VkCommandBuffer commandBuffer,
- VkBuffer buffer,
- VkDeviceSize offset,
- VkBuffer countBuffer,
- VkDeviceSize countBufferOffset,
- uint32_t maxDrawCount,
- uint32_t stride);
- void vkCmdDrawIndexedIndirectCountAMD(
- VkCommandBuffer commandBuffer,
- VkBuffer buffer,
- VkDeviceSize offset,
- VkBuffer countBuffer,
- VkDeviceSize countBufferOffset,
- uint32_t maxDrawCount,
- uint32_t stride);
-#endif
-#ifdef VK_AMD_negative_viewport_height
-#endif
-#ifdef VK_AMD_gpu_shader_half_float
-#endif
-#ifdef VK_AMD_shader_ballot
-#endif
-#ifdef VK_AMD_texture_gather_bias_lod
-#endif
-#ifdef VK_AMD_shader_info
- VkResult vkGetShaderInfoAMD(
- VkDevice device,
- VkPipeline pipeline,
- VkShaderStageFlagBits shaderStage,
- VkShaderInfoTypeAMD infoType,
- size_t* pInfoSize,
- void* pInfo);
-#endif
-#ifdef VK_AMD_shader_image_load_store_lod
-#endif
-#ifdef VK_IMG_format_pvrtc
-#endif
-#ifdef VK_NV_external_memory_capabilities
- VkResult vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
- VkPhysicalDevice physicalDevice,
- VkFormat format,
- VkImageType type,
- VkImageTiling tiling,
- VkImageUsageFlags usage,
- VkImageCreateFlags flags,
- VkExternalMemoryHandleTypeFlagsNV externalHandleType,
- VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
-#endif
-#ifdef VK_NV_external_memory
-#endif
-#ifdef VK_NV_external_memory_win32
- VkResult vkGetMemoryWin32HandleNV(
- VkDevice device,
- VkDeviceMemory memory,
- VkExternalMemoryHandleTypeFlagsNV handleType,
- HANDLE* pHandle);
-#endif
-#ifdef VK_NV_win32_keyed_mutex
-#endif
-#ifdef VK_EXT_validation_flags
-#endif
-#ifdef VK_NN_vi_surface
- VkResult vkCreateViSurfaceNN(
- VkInstance instance,
- const VkViSurfaceCreateInfoNN* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSurfaceKHR* pSurface);
-#endif
-#ifdef VK_EXT_shader_subgroup_ballot
-#endif
-#ifdef VK_EXT_shader_subgroup_vote
-#endif
-#ifdef VK_EXT_conditional_rendering
- void vkCmdBeginConditionalRenderingEXT(
- VkCommandBuffer commandBuffer,
- const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
- void vkCmdEndConditionalRenderingEXT(
- VkCommandBuffer commandBuffer);
-#endif
-#ifdef VK_NVX_device_generated_commands
- void vkCmdProcessCommandsNVX(
- VkCommandBuffer commandBuffer,
- const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo);
- void vkCmdReserveSpaceForCommandsNVX(
- VkCommandBuffer commandBuffer,
- const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo);
- VkResult vkCreateIndirectCommandsLayoutNVX(
- VkDevice device,
- const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout);
- void vkDestroyIndirectCommandsLayoutNVX(
- VkDevice device,
- VkIndirectCommandsLayoutNVX indirectCommandsLayout,
- const VkAllocationCallbacks* pAllocator);
- VkResult vkCreateObjectTableNVX(
- VkDevice device,
- const VkObjectTableCreateInfoNVX* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkObjectTableNVX* pObjectTable);
- void vkDestroyObjectTableNVX(
- VkDevice device,
- VkObjectTableNVX objectTable,
- const VkAllocationCallbacks* pAllocator);
- VkResult vkRegisterObjectsNVX(
- VkDevice device,
- VkObjectTableNVX objectTable,
- uint32_t objectCount,
- const VkObjectTableEntryNVX* const* ppObjectTableEntries,
- const uint32_t* pObjectIndices);
- VkResult vkUnregisterObjectsNVX(
- VkDevice device,
- VkObjectTableNVX objectTable,
- uint32_t objectCount,
- const VkObjectEntryTypeNVX* pObjectEntryTypes,
- const uint32_t* pObjectIndices);
- void vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX(
- VkPhysicalDevice physicalDevice,
- VkDeviceGeneratedCommandsFeaturesNVX* pFeatures,
- VkDeviceGeneratedCommandsLimitsNVX* pLimits);
-#endif
-#ifdef VK_NV_clip_space_w_scaling
- void vkCmdSetViewportWScalingNV(
- VkCommandBuffer commandBuffer,
- uint32_t firstViewport,
- uint32_t viewportCount,
- const VkViewportWScalingNV* pViewportWScalings);
-#endif
-#ifdef VK_EXT_direct_mode_display
- VkResult vkReleaseDisplayEXT(
- VkPhysicalDevice physicalDevice,
- VkDisplayKHR display);
-#endif
-#ifdef VK_EXT_acquire_xlib_display
- VkResult vkAcquireXlibDisplayEXT(
- VkPhysicalDevice physicalDevice,
- Display* dpy,
- VkDisplayKHR display);
- VkResult vkGetRandROutputDisplayEXT(
- VkPhysicalDevice physicalDevice,
- Display* dpy,
- RROutput rrOutput,
- VkDisplayKHR* pDisplay);
-#endif
-#ifdef VK_EXT_display_surface_counter
- VkResult vkGetPhysicalDeviceSurfaceCapabilities2EXT(
- VkPhysicalDevice physicalDevice,
- VkSurfaceKHR surface,
- VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
-#endif
-#ifdef VK_EXT_display_control
- VkResult vkDisplayPowerControlEXT(
- VkDevice device,
- VkDisplayKHR display,
- const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
- VkResult vkRegisterDeviceEventEXT(
- VkDevice device,
- const VkDeviceEventInfoEXT* pDeviceEventInfo,
- const VkAllocationCallbacks* pAllocator,
- VkFence* pFence);
- VkResult vkRegisterDisplayEventEXT(
- VkDevice device,
- VkDisplayKHR display,
- const VkDisplayEventInfoEXT* pDisplayEventInfo,
- const VkAllocationCallbacks* pAllocator,
- VkFence* pFence);
- VkResult vkGetSwapchainCounterEXT(
- VkDevice device,
- VkSwapchainKHR swapchain,
- VkSurfaceCounterFlagBitsEXT counter,
- uint64_t* pCounterValue);
-#endif
-#ifdef VK_GOOGLE_display_timing
- VkResult vkGetRefreshCycleDurationGOOGLE(
- VkDevice device,
- VkSwapchainKHR swapchain,
- VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
- VkResult vkGetPastPresentationTimingGOOGLE(
- VkDevice device,
- VkSwapchainKHR swapchain,
- uint32_t* pPresentationTimingCount,
- VkPastPresentationTimingGOOGLE* pPresentationTimings);
-#endif
-#ifdef VK_NV_sample_mask_override_coverage
-#endif
-#ifdef VK_NV_geometry_shader_passthrough
-#endif
-#ifdef VK_NV_viewport_array2
-#endif
-#ifdef VK_NVX_multiview_per_view_attributes
-#endif
-#ifdef VK_NV_viewport_swizzle
-#endif
-#ifdef VK_EXT_discard_rectangles
- void vkCmdSetDiscardRectangleEXT(
- VkCommandBuffer commandBuffer,
- uint32_t firstDiscardRectangle,
- uint32_t discardRectangleCount,
- const VkRect2D* pDiscardRectangles);
-#endif
-#ifdef VK_EXT_conservative_rasterization
-#endif
-#ifdef VK_EXT_swapchain_colorspace
-#endif
-#ifdef VK_EXT_hdr_metadata
- void vkSetHdrMetadataEXT(
- VkDevice device,
- uint32_t swapchainCount,
- const VkSwapchainKHR* pSwapchains,
- const VkHdrMetadataEXT* pMetadata);
-#endif
-#ifdef VK_MVK_ios_surface
- VkResult vkCreateIOSSurfaceMVK(
- VkInstance instance,
- const VkIOSSurfaceCreateInfoMVK* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSurfaceKHR* pSurface);
-#endif
-#ifdef VK_MVK_macos_surface
- VkResult vkCreateMacOSSurfaceMVK(
- VkInstance instance,
- const VkMacOSSurfaceCreateInfoMVK* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSurfaceKHR* pSurface);
-#endif
-#ifdef VK_EXT_external_memory_dma_buf
-#endif
-#ifdef VK_EXT_queue_family_foreign
-#endif
-#ifdef VK_EXT_debug_utils
- VkResult vkSetDebugUtilsObjectNameEXT(
- VkDevice device,
- const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
- VkResult vkSetDebugUtilsObjectTagEXT(
- VkDevice device,
- const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
- void vkQueueBeginDebugUtilsLabelEXT(
- VkQueue queue,
- const VkDebugUtilsLabelEXT* pLabelInfo);
- void vkQueueEndDebugUtilsLabelEXT(
- VkQueue queue);
- void vkQueueInsertDebugUtilsLabelEXT(
- VkQueue queue,
- const VkDebugUtilsLabelEXT* pLabelInfo);
- void vkCmdBeginDebugUtilsLabelEXT(
- VkCommandBuffer commandBuffer,
- const VkDebugUtilsLabelEXT* pLabelInfo);
- void vkCmdEndDebugUtilsLabelEXT(
- VkCommandBuffer commandBuffer);
- void vkCmdInsertDebugUtilsLabelEXT(
- VkCommandBuffer commandBuffer,
- const VkDebugUtilsLabelEXT* pLabelInfo);
- VkResult vkCreateDebugUtilsMessengerEXT(
- VkInstance instance,
- const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkDebugUtilsMessengerEXT* pMessenger);
- void vkDestroyDebugUtilsMessengerEXT(
- VkInstance instance,
- VkDebugUtilsMessengerEXT messenger,
- const VkAllocationCallbacks* pAllocator);
- void vkSubmitDebugUtilsMessageEXT(
- VkInstance instance,
- VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
- VkDebugUtilsMessageTypeFlagsEXT messageTypes,
- const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
-#endif
-#ifdef VK_ANDROID_external_memory_android_hardware_buffer
- VkResult vkGetAndroidHardwareBufferPropertiesANDROID(
- VkDevice device,
- const AHardwareBuffer* buffer,
- VkAndroidHardwareBufferPropertiesANDROID* pProperties);
- VkResult vkGetMemoryAndroidHardwareBufferANDROID(
- VkDevice device,
- const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo,
- AHardwareBuffer** pBuffer);
-#endif
-#ifdef VK_EXT_sampler_filter_minmax
-#endif
-#ifdef VK_AMD_gpu_shader_int16
-#endif
-#ifdef VK_AMD_mixed_attachment_samples
-#endif
-#ifdef VK_AMD_shader_fragment_mask
-#endif
-#ifdef VK_EXT_shader_stencil_export
-#endif
-#ifdef VK_EXT_sample_locations
- void vkCmdSetSampleLocationsEXT(
- VkCommandBuffer commandBuffer,
- const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
- void vkGetPhysicalDeviceMultisamplePropertiesEXT(
- VkPhysicalDevice physicalDevice,
- VkSampleCountFlagBits samples,
- VkMultisamplePropertiesEXT* pMultisampleProperties);
-#endif
-#ifdef VK_EXT_blend_operation_advanced
-#endif
-#ifdef VK_NV_fragment_coverage_to_color
-#endif
-#ifdef VK_NV_framebuffer_mixed_samples
-#endif
-#ifdef VK_NV_fill_rectangle
-#endif
-#ifdef VK_EXT_post_depth_coverage
-#endif
-#ifdef VK_EXT_validation_cache
- VkResult vkCreateValidationCacheEXT(
- VkDevice device,
- const VkValidationCacheCreateInfoEXT* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkValidationCacheEXT* pValidationCache);
- void vkDestroyValidationCacheEXT(
- VkDevice device,
- VkValidationCacheEXT validationCache,
- const VkAllocationCallbacks* pAllocator);
- VkResult vkMergeValidationCachesEXT(
- VkDevice device,
- VkValidationCacheEXT dstCache,
- uint32_t srcCacheCount,
- const VkValidationCacheEXT* pSrcCaches);
- VkResult vkGetValidationCacheDataEXT(
- VkDevice device,
- VkValidationCacheEXT validationCache,
- size_t* pDataSize,
- void* pData);
-#endif
-#ifdef VK_EXT_descriptor_indexing
-#endif
-#ifdef VK_EXT_shader_viewport_index_layer
-#endif
-#ifdef VK_EXT_global_priority
-#endif
-#ifdef VK_EXT_external_memory_host
- VkResult vkGetMemoryHostPointerPropertiesEXT(
- VkDevice device,
- VkExternalMemoryHandleTypeFlagBits handleType,
- const void* pHostPointer,
- VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
-#endif
-#ifdef VK_AMD_buffer_marker
- void vkCmdWriteBufferMarkerAMD(
- VkCommandBuffer commandBuffer,
- VkPipelineStageFlagBits pipelineStage,
- VkBuffer dstBuffer,
- VkDeviceSize dstOffset,
- uint32_t marker);
-#endif
-#ifdef VK_AMD_shader_core_properties
-#endif
-#ifdef VK_EXT_vertex_attribute_divisor
-#endif
-#ifdef VK_NV_shader_subgroup_partitioned
-#endif
-#ifdef VK_NV_device_diagnostic_checkpoints
- void vkCmdSetCheckpointNV(
- VkCommandBuffer commandBuffer,
- const void* pCheckpointMarker);
- void vkGetQueueCheckpointDataNV(
- VkQueue queue,
- uint32_t* pCheckpointDataCount,
- VkCheckpointDataNV* pCheckpointData);
-#endif
-#ifdef VK_GOOGLE_address_space
- VkResult vkMapMemoryIntoAddressSpaceGOOGLE(
- VkDevice device,
- VkDeviceMemory memory,
- uint64_t* pAddress);
-#endif
-#ifdef VK_GOOGLE_color_buffer
- VkResult vkRegisterImageColorBufferGOOGLE(
- VkDevice device,
- VkImage image,
- uint32_t colorBuffer);
- VkResult vkRegisterBufferColorBufferGOOGLE(
- VkDevice device,
- VkBuffer buffer,
- uint32_t colorBuffer);
-#endif
-#ifdef VK_GOOGLE_sized_descriptor_update_template
- void vkUpdateDescriptorSetWithTemplateSizedGOOGLE(
- 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);
-#endif
-#ifdef VK_GOOGLE_async_command_buffers
- void vkBeginCommandBufferAsyncGOOGLE(
- VkCommandBuffer commandBuffer,
- const VkCommandBufferBeginInfo* pBeginInfo);
- void vkEndCommandBufferAsyncGOOGLE(
- VkCommandBuffer commandBuffer);
- void vkResetCommandBufferAsyncGOOGLE(
- VkCommandBuffer commandBuffer,
- VkCommandBufferResetFlags flags);
- void vkCommandBufferHostSyncGOOGLE(
- VkCommandBuffer commandBuffer,
- uint32_t needHostSync,
- uint32_t sequenceNumber);
-#endif
-#ifdef VK_GOOGLE_create_resources_with_requirements
- VkResult vkCreateImageWithRequirementsGOOGLE(
- VkDevice device,
- const VkImageCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkImage* pImage,
- VkMemoryRequirements* pMemoryRequirements);
- VkResult vkCreateBufferWithRequirementsGOOGLE(
- VkDevice device,
- const VkBufferCreateInfo* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkBuffer* pBuffer,
- VkMemoryRequirements* pMemoryRequirements);
-#endif
-#ifdef VK_GOOGLE_address_space_info
- VkResult vkGetMemoryHostAddressInfoGOOGLE(
- VkDevice device,
- VkDeviceMemory memory,
- uint64_t* pAddress,
- uint64_t* pSize,
- uint64_t* pHostmemId);
-#endif
-#ifdef VK_GOOGLE_free_memory_sync
- VkResult vkFreeMemorySyncGOOGLE(
- VkDevice device,
- VkDeviceMemory memory,
- const VkAllocationCallbacks* pAllocator);
-#endif
-#ifdef VK_GOOGLE_async_queue_submit
- void vkQueueHostSyncGOOGLE(
- VkQueue queue,
- uint32_t needHostSync,
- uint32_t sequenceNumber);
- void vkQueueSubmitAsyncGOOGLE(
- VkQueue queue,
- uint32_t submitCount,
- const VkSubmitInfo* pSubmits,
- VkFence fence);
- void vkQueueWaitIdleAsyncGOOGLE(
- VkQueue queue);
- void vkQueueBindSparseAsyncGOOGLE(
- VkQueue queue,
- uint32_t bindInfoCount,
- const VkBindSparseInfo* pBindInfo,
- VkFence fence);
-#endif
-#ifdef VK_GOOGLE_linear_image_layout
- void vkGetLinearImageLayoutGOOGLE(
- VkDevice device,
- VkFormat format,
- VkDeviceSize* pOffset,
- VkDeviceSize* pRowPitchAlignment);
-#endif
-
-private:
- class Impl;
- std::unique_ptr<Impl> mImpl;
-};
-
-} // namespace goldfish_vk
diff --git a/stream-clients/vulkan_enc/goldfish_vk_deepcopy_guest.cpp b/stream-clients/vulkan_enc/goldfish_vk_deepcopy_guest.cpp
deleted file mode 100644
index 887138a..0000000
--- a/stream-clients/vulkan_enc/goldfish_vk_deepcopy_guest.cpp
+++ /dev/null
@@ -1,7108 +0,0 @@
-// 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 goldfish_vk_deepcopy_guest
-// (impl) generated by protocols/vulkan/xml/genvk.py -registry protocols/vulkan/xml/vk.xml cereal -o stream-servers/vulkan/cereal
-// Please do not modify directly;
-// re-run generate-vulkan-sources.sh,
-// or directly from Python by defining:
-// VULKAN_REGISTRY_XML_DIR : Directory containing genvk.py and vk.xml
-// CEREAL_OUTPUT_DIR: Where to put the generated sources.
-// python3 $VULKAN_REGISTRY_XML_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o $CEREAL_OUTPUT_DIR
-
-#include "goldfish_vk_deepcopy_guest.h"
-
-
-#include "goldfish_vk_extension_structs_guest.h"
-#include "goldfish_vk_private_defs.h"
-
-
-namespace goldfish_vk {
-
-void deepcopy_extension_struct(
- BumpPool* pool,
- const void* structExtension,
- void* structExtension_out);
-
-#ifdef VK_VERSION_1_0
-void deepcopy_VkApplicationInfo(
- BumpPool* pool,
- const VkApplicationInfo* from,
- VkApplicationInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pApplicationName = nullptr;
- if (from->pApplicationName)
- {
- to->pApplicationName = pool->strDup(from->pApplicationName);
- }
- to->pEngineName = nullptr;
- if (from->pEngineName)
- {
- to->pEngineName = pool->strDup(from->pEngineName);
- }
-}
-
-void deepcopy_VkInstanceCreateInfo(
- BumpPool* pool,
- const VkInstanceCreateInfo* from,
- VkInstanceCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pApplicationInfo = nullptr;
- if (from->pApplicationInfo)
- {
- to->pApplicationInfo = (VkApplicationInfo*)pool->alloc(sizeof(const VkApplicationInfo));
- deepcopy_VkApplicationInfo(pool, from->pApplicationInfo, (VkApplicationInfo*)(to->pApplicationInfo));
- }
- to->ppEnabledLayerNames = nullptr;
- if (from->ppEnabledLayerNames && from->enabledLayerCount)
- {
- to->ppEnabledLayerNames = pool->strDupArray(from->ppEnabledLayerNames, from->enabledLayerCount);
- }
- to->ppEnabledExtensionNames = nullptr;
- if (from->ppEnabledExtensionNames && from->enabledExtensionCount)
- {
- to->ppEnabledExtensionNames = pool->strDupArray(from->ppEnabledExtensionNames, from->enabledExtensionCount);
- }
-}
-
-void deepcopy_VkAllocationCallbacks(
- BumpPool* pool,
- const VkAllocationCallbacks* from,
- VkAllocationCallbacks* to)
-{
- (void)pool;
- *to = *from;
- to->pUserData = nullptr;
- if (from->pUserData)
- {
- to->pUserData = (void*)pool->dupArray(from->pUserData, sizeof(uint8_t));
- }
-}
-
-void deepcopy_VkPhysicalDeviceFeatures(
- BumpPool* pool,
- const VkPhysicalDeviceFeatures* from,
- VkPhysicalDeviceFeatures* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkFormatProperties(
- BumpPool* pool,
- const VkFormatProperties* from,
- VkFormatProperties* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkExtent3D(
- BumpPool* pool,
- const VkExtent3D* from,
- VkExtent3D* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkImageFormatProperties(
- BumpPool* pool,
- const VkImageFormatProperties* from,
- VkImageFormatProperties* to)
-{
- (void)pool;
- *to = *from;
- deepcopy_VkExtent3D(pool, &from->maxExtent, (VkExtent3D*)(&to->maxExtent));
-}
-
-void deepcopy_VkPhysicalDeviceLimits(
- BumpPool* pool,
- const VkPhysicalDeviceLimits* from,
- VkPhysicalDeviceLimits* to)
-{
- (void)pool;
- *to = *from;
- memcpy(to->maxComputeWorkGroupCount, from->maxComputeWorkGroupCount, 3 * sizeof(uint32_t));
- memcpy(to->maxComputeWorkGroupSize, from->maxComputeWorkGroupSize, 3 * sizeof(uint32_t));
- memcpy(to->maxViewportDimensions, from->maxViewportDimensions, 2 * sizeof(uint32_t));
- memcpy(to->viewportBoundsRange, from->viewportBoundsRange, 2 * sizeof(float));
- memcpy(to->pointSizeRange, from->pointSizeRange, 2 * sizeof(float));
- memcpy(to->lineWidthRange, from->lineWidthRange, 2 * sizeof(float));
-}
-
-void deepcopy_VkPhysicalDeviceSparseProperties(
- BumpPool* pool,
- const VkPhysicalDeviceSparseProperties* from,
- VkPhysicalDeviceSparseProperties* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkPhysicalDeviceProperties(
- BumpPool* pool,
- const VkPhysicalDeviceProperties* from,
- VkPhysicalDeviceProperties* to)
-{
- (void)pool;
- *to = *from;
- memcpy(to->deviceName, from->deviceName, VK_MAX_PHYSICAL_DEVICE_NAME_SIZE * sizeof(char));
- memcpy(to->pipelineCacheUUID, from->pipelineCacheUUID, VK_UUID_SIZE * sizeof(uint8_t));
- deepcopy_VkPhysicalDeviceLimits(pool, &from->limits, (VkPhysicalDeviceLimits*)(&to->limits));
- deepcopy_VkPhysicalDeviceSparseProperties(pool, &from->sparseProperties, (VkPhysicalDeviceSparseProperties*)(&to->sparseProperties));
-}
-
-void deepcopy_VkQueueFamilyProperties(
- BumpPool* pool,
- const VkQueueFamilyProperties* from,
- VkQueueFamilyProperties* to)
-{
- (void)pool;
- *to = *from;
- deepcopy_VkExtent3D(pool, &from->minImageTransferGranularity, (VkExtent3D*)(&to->minImageTransferGranularity));
-}
-
-void deepcopy_VkMemoryType(
- BumpPool* pool,
- const VkMemoryType* from,
- VkMemoryType* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkMemoryHeap(
- BumpPool* pool,
- const VkMemoryHeap* from,
- VkMemoryHeap* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkPhysicalDeviceMemoryProperties(
- BumpPool* pool,
- const VkPhysicalDeviceMemoryProperties* from,
- VkPhysicalDeviceMemoryProperties* to)
-{
- (void)pool;
- *to = *from;
- for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_TYPES; ++i)
- {
- deepcopy_VkMemoryType(pool, from->memoryTypes + i, (VkMemoryType*)(to->memoryTypes + i));
- }
- for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_HEAPS; ++i)
- {
- deepcopy_VkMemoryHeap(pool, from->memoryHeaps + i, (VkMemoryHeap*)(to->memoryHeaps + i));
- }
-}
-
-void deepcopy_VkDeviceQueueCreateInfo(
- BumpPool* pool,
- const VkDeviceQueueCreateInfo* from,
- VkDeviceQueueCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pQueuePriorities = nullptr;
- if (from->pQueuePriorities)
- {
- to->pQueuePriorities = (float*)pool->dupArray(from->pQueuePriorities, from->queueCount * sizeof(const float));
- }
-}
-
-void deepcopy_VkDeviceCreateInfo(
- BumpPool* pool,
- const VkDeviceCreateInfo* from,
- VkDeviceCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pQueueCreateInfos = nullptr;
- if (from->pQueueCreateInfos)
- {
- to->pQueueCreateInfos = (VkDeviceQueueCreateInfo*)pool->alloc(from->queueCreateInfoCount * sizeof(const VkDeviceQueueCreateInfo));
- to->queueCreateInfoCount = from->queueCreateInfoCount;
- for (uint32_t i = 0; i < (uint32_t)from->queueCreateInfoCount; ++i)
- {
- deepcopy_VkDeviceQueueCreateInfo(pool, from->pQueueCreateInfos + i, (VkDeviceQueueCreateInfo*)(to->pQueueCreateInfos + i));
- }
- }
- to->ppEnabledLayerNames = nullptr;
- if (from->ppEnabledLayerNames && from->enabledLayerCount)
- {
- to->ppEnabledLayerNames = pool->strDupArray(from->ppEnabledLayerNames, from->enabledLayerCount);
- }
- to->ppEnabledExtensionNames = nullptr;
- if (from->ppEnabledExtensionNames && from->enabledExtensionCount)
- {
- to->ppEnabledExtensionNames = pool->strDupArray(from->ppEnabledExtensionNames, from->enabledExtensionCount);
- }
- to->pEnabledFeatures = nullptr;
- if (from->pEnabledFeatures)
- {
- to->pEnabledFeatures = (VkPhysicalDeviceFeatures*)pool->alloc(sizeof(const VkPhysicalDeviceFeatures));
- deepcopy_VkPhysicalDeviceFeatures(pool, from->pEnabledFeatures, (VkPhysicalDeviceFeatures*)(to->pEnabledFeatures));
- }
-}
-
-void deepcopy_VkExtensionProperties(
- BumpPool* pool,
- const VkExtensionProperties* from,
- VkExtensionProperties* to)
-{
- (void)pool;
- *to = *from;
- memcpy(to->extensionName, from->extensionName, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
-}
-
-void deepcopy_VkLayerProperties(
- BumpPool* pool,
- const VkLayerProperties* from,
- VkLayerProperties* to)
-{
- (void)pool;
- *to = *from;
- memcpy(to->layerName, from->layerName, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
- memcpy(to->description, from->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
-}
-
-void deepcopy_VkSubmitInfo(
- BumpPool* pool,
- const VkSubmitInfo* from,
- VkSubmitInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pWaitSemaphores = nullptr;
- if (from->pWaitSemaphores)
- {
- to->pWaitSemaphores = (VkSemaphore*)pool->dupArray(from->pWaitSemaphores, from->waitSemaphoreCount * sizeof(const VkSemaphore));
- }
- to->pWaitDstStageMask = nullptr;
- if (from->pWaitDstStageMask)
- {
- to->pWaitDstStageMask = (VkPipelineStageFlags*)pool->dupArray(from->pWaitDstStageMask, from->waitSemaphoreCount * sizeof(const VkPipelineStageFlags));
- }
- to->pCommandBuffers = nullptr;
- if (from->pCommandBuffers)
- {
- to->pCommandBuffers = (VkCommandBuffer*)pool->dupArray(from->pCommandBuffers, from->commandBufferCount * sizeof(const VkCommandBuffer));
- }
- to->pSignalSemaphores = nullptr;
- if (from->pSignalSemaphores)
- {
- to->pSignalSemaphores = (VkSemaphore*)pool->dupArray(from->pSignalSemaphores, from->signalSemaphoreCount * sizeof(const VkSemaphore));
- }
-}
-
-void deepcopy_VkMemoryAllocateInfo(
- BumpPool* pool,
- const VkMemoryAllocateInfo* from,
- VkMemoryAllocateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkMappedMemoryRange(
- BumpPool* pool,
- const VkMappedMemoryRange* from,
- VkMappedMemoryRange* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkMemoryRequirements(
- BumpPool* pool,
- const VkMemoryRequirements* from,
- VkMemoryRequirements* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkSparseImageFormatProperties(
- BumpPool* pool,
- const VkSparseImageFormatProperties* from,
- VkSparseImageFormatProperties* to)
-{
- (void)pool;
- *to = *from;
- deepcopy_VkExtent3D(pool, &from->imageGranularity, (VkExtent3D*)(&to->imageGranularity));
-}
-
-void deepcopy_VkSparseImageMemoryRequirements(
- BumpPool* pool,
- const VkSparseImageMemoryRequirements* from,
- VkSparseImageMemoryRequirements* to)
-{
- (void)pool;
- *to = *from;
- deepcopy_VkSparseImageFormatProperties(pool, &from->formatProperties, (VkSparseImageFormatProperties*)(&to->formatProperties));
-}
-
-void deepcopy_VkSparseMemoryBind(
- BumpPool* pool,
- const VkSparseMemoryBind* from,
- VkSparseMemoryBind* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkSparseBufferMemoryBindInfo(
- BumpPool* pool,
- const VkSparseBufferMemoryBindInfo* from,
- VkSparseBufferMemoryBindInfo* to)
-{
- (void)pool;
- *to = *from;
- to->pBinds = nullptr;
- if (from->pBinds)
- {
- to->pBinds = (VkSparseMemoryBind*)pool->alloc(from->bindCount * sizeof(const VkSparseMemoryBind));
- to->bindCount = from->bindCount;
- for (uint32_t i = 0; i < (uint32_t)from->bindCount; ++i)
- {
- deepcopy_VkSparseMemoryBind(pool, from->pBinds + i, (VkSparseMemoryBind*)(to->pBinds + i));
- }
- }
-}
-
-void deepcopy_VkSparseImageOpaqueMemoryBindInfo(
- BumpPool* pool,
- const VkSparseImageOpaqueMemoryBindInfo* from,
- VkSparseImageOpaqueMemoryBindInfo* to)
-{
- (void)pool;
- *to = *from;
- to->pBinds = nullptr;
- if (from->pBinds)
- {
- to->pBinds = (VkSparseMemoryBind*)pool->alloc(from->bindCount * sizeof(const VkSparseMemoryBind));
- to->bindCount = from->bindCount;
- for (uint32_t i = 0; i < (uint32_t)from->bindCount; ++i)
- {
- deepcopy_VkSparseMemoryBind(pool, from->pBinds + i, (VkSparseMemoryBind*)(to->pBinds + i));
- }
- }
-}
-
-void deepcopy_VkImageSubresource(
- BumpPool* pool,
- const VkImageSubresource* from,
- VkImageSubresource* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkOffset3D(
- BumpPool* pool,
- const VkOffset3D* from,
- VkOffset3D* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkSparseImageMemoryBind(
- BumpPool* pool,
- const VkSparseImageMemoryBind* from,
- VkSparseImageMemoryBind* to)
-{
- (void)pool;
- *to = *from;
- deepcopy_VkImageSubresource(pool, &from->subresource, (VkImageSubresource*)(&to->subresource));
- deepcopy_VkOffset3D(pool, &from->offset, (VkOffset3D*)(&to->offset));
- deepcopy_VkExtent3D(pool, &from->extent, (VkExtent3D*)(&to->extent));
-}
-
-void deepcopy_VkSparseImageMemoryBindInfo(
- BumpPool* pool,
- const VkSparseImageMemoryBindInfo* from,
- VkSparseImageMemoryBindInfo* to)
-{
- (void)pool;
- *to = *from;
- to->pBinds = nullptr;
- if (from->pBinds)
- {
- to->pBinds = (VkSparseImageMemoryBind*)pool->alloc(from->bindCount * sizeof(const VkSparseImageMemoryBind));
- to->bindCount = from->bindCount;
- for (uint32_t i = 0; i < (uint32_t)from->bindCount; ++i)
- {
- deepcopy_VkSparseImageMemoryBind(pool, from->pBinds + i, (VkSparseImageMemoryBind*)(to->pBinds + i));
- }
- }
-}
-
-void deepcopy_VkBindSparseInfo(
- BumpPool* pool,
- const VkBindSparseInfo* from,
- VkBindSparseInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pWaitSemaphores = nullptr;
- if (from->pWaitSemaphores)
- {
- to->pWaitSemaphores = (VkSemaphore*)pool->dupArray(from->pWaitSemaphores, from->waitSemaphoreCount * sizeof(const VkSemaphore));
- }
- to->pBufferBinds = nullptr;
- if (from->pBufferBinds)
- {
- to->pBufferBinds = (VkSparseBufferMemoryBindInfo*)pool->alloc(from->bufferBindCount * sizeof(const VkSparseBufferMemoryBindInfo));
- to->bufferBindCount = from->bufferBindCount;
- for (uint32_t i = 0; i < (uint32_t)from->bufferBindCount; ++i)
- {
- deepcopy_VkSparseBufferMemoryBindInfo(pool, from->pBufferBinds + i, (VkSparseBufferMemoryBindInfo*)(to->pBufferBinds + i));
- }
- }
- to->pImageOpaqueBinds = nullptr;
- if (from->pImageOpaqueBinds)
- {
- to->pImageOpaqueBinds = (VkSparseImageOpaqueMemoryBindInfo*)pool->alloc(from->imageOpaqueBindCount * sizeof(const VkSparseImageOpaqueMemoryBindInfo));
- to->imageOpaqueBindCount = from->imageOpaqueBindCount;
- for (uint32_t i = 0; i < (uint32_t)from->imageOpaqueBindCount; ++i)
- {
- deepcopy_VkSparseImageOpaqueMemoryBindInfo(pool, from->pImageOpaqueBinds + i, (VkSparseImageOpaqueMemoryBindInfo*)(to->pImageOpaqueBinds + i));
- }
- }
- to->pImageBinds = nullptr;
- if (from->pImageBinds)
- {
- to->pImageBinds = (VkSparseImageMemoryBindInfo*)pool->alloc(from->imageBindCount * sizeof(const VkSparseImageMemoryBindInfo));
- to->imageBindCount = from->imageBindCount;
- for (uint32_t i = 0; i < (uint32_t)from->imageBindCount; ++i)
- {
- deepcopy_VkSparseImageMemoryBindInfo(pool, from->pImageBinds + i, (VkSparseImageMemoryBindInfo*)(to->pImageBinds + i));
- }
- }
- to->pSignalSemaphores = nullptr;
- if (from->pSignalSemaphores)
- {
- to->pSignalSemaphores = (VkSemaphore*)pool->dupArray(from->pSignalSemaphores, from->signalSemaphoreCount * sizeof(const VkSemaphore));
- }
-}
-
-void deepcopy_VkFenceCreateInfo(
- BumpPool* pool,
- const VkFenceCreateInfo* from,
- VkFenceCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkSemaphoreCreateInfo(
- BumpPool* pool,
- const VkSemaphoreCreateInfo* from,
- VkSemaphoreCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkEventCreateInfo(
- BumpPool* pool,
- const VkEventCreateInfo* from,
- VkEventCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkQueryPoolCreateInfo(
- BumpPool* pool,
- const VkQueryPoolCreateInfo* from,
- VkQueryPoolCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkBufferCreateInfo(
- BumpPool* pool,
- const VkBufferCreateInfo* from,
- VkBufferCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pQueueFamilyIndices = nullptr;
- if (from->pQueueFamilyIndices)
- {
- to->pQueueFamilyIndices = (uint32_t*)pool->dupArray(from->pQueueFamilyIndices, from->queueFamilyIndexCount * sizeof(const uint32_t));
- }
-}
-
-void deepcopy_VkBufferViewCreateInfo(
- BumpPool* pool,
- const VkBufferViewCreateInfo* from,
- VkBufferViewCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkImageCreateInfo(
- BumpPool* pool,
- const VkImageCreateInfo* from,
- VkImageCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- deepcopy_VkExtent3D(pool, &from->extent, (VkExtent3D*)(&to->extent));
- to->pQueueFamilyIndices = nullptr;
- if (from->pQueueFamilyIndices)
- {
- to->pQueueFamilyIndices = (uint32_t*)pool->dupArray(from->pQueueFamilyIndices, from->queueFamilyIndexCount * sizeof(const uint32_t));
- }
-}
-
-void deepcopy_VkSubresourceLayout(
- BumpPool* pool,
- const VkSubresourceLayout* from,
- VkSubresourceLayout* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkComponentMapping(
- BumpPool* pool,
- const VkComponentMapping* from,
- VkComponentMapping* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkImageSubresourceRange(
- BumpPool* pool,
- const VkImageSubresourceRange* from,
- VkImageSubresourceRange* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkImageViewCreateInfo(
- BumpPool* pool,
- const VkImageViewCreateInfo* from,
- VkImageViewCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- deepcopy_VkComponentMapping(pool, &from->components, (VkComponentMapping*)(&to->components));
- deepcopy_VkImageSubresourceRange(pool, &from->subresourceRange, (VkImageSubresourceRange*)(&to->subresourceRange));
-}
-
-void deepcopy_VkShaderModuleCreateInfo(
- BumpPool* pool,
- const VkShaderModuleCreateInfo* from,
- VkShaderModuleCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pCode = nullptr;
- if (from->pCode)
- {
- to->pCode = (uint32_t*)pool->dupArray(from->pCode, (from->codeSize / 4) * sizeof(const uint32_t));
- }
-}
-
-void deepcopy_VkPipelineCacheCreateInfo(
- BumpPool* pool,
- const VkPipelineCacheCreateInfo* from,
- VkPipelineCacheCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pInitialData = nullptr;
- if (from->pInitialData)
- {
- to->pInitialData = (void*)pool->dupArray(from->pInitialData, from->initialDataSize * sizeof(const uint8_t));
- }
-}
-
-void deepcopy_VkSpecializationMapEntry(
- BumpPool* pool,
- const VkSpecializationMapEntry* from,
- VkSpecializationMapEntry* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkSpecializationInfo(
- BumpPool* pool,
- const VkSpecializationInfo* from,
- VkSpecializationInfo* to)
-{
- (void)pool;
- *to = *from;
- to->pMapEntries = nullptr;
- if (from->pMapEntries)
- {
- to->pMapEntries = (VkSpecializationMapEntry*)pool->alloc(from->mapEntryCount * sizeof(const VkSpecializationMapEntry));
- to->mapEntryCount = from->mapEntryCount;
- for (uint32_t i = 0; i < (uint32_t)from->mapEntryCount; ++i)
- {
- deepcopy_VkSpecializationMapEntry(pool, from->pMapEntries + i, (VkSpecializationMapEntry*)(to->pMapEntries + i));
- }
- }
- to->pData = nullptr;
- if (from->pData)
- {
- to->pData = (void*)pool->dupArray(from->pData, from->dataSize * sizeof(const uint8_t));
- }
-}
-
-void deepcopy_VkPipelineShaderStageCreateInfo(
- BumpPool* pool,
- const VkPipelineShaderStageCreateInfo* from,
- VkPipelineShaderStageCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pName = nullptr;
- if (from->pName)
- {
- to->pName = pool->strDup(from->pName);
- }
- to->pSpecializationInfo = nullptr;
- if (from->pSpecializationInfo)
- {
- to->pSpecializationInfo = (VkSpecializationInfo*)pool->alloc(sizeof(const VkSpecializationInfo));
- deepcopy_VkSpecializationInfo(pool, from->pSpecializationInfo, (VkSpecializationInfo*)(to->pSpecializationInfo));
- }
-}
-
-void deepcopy_VkVertexInputBindingDescription(
- BumpPool* pool,
- const VkVertexInputBindingDescription* from,
- VkVertexInputBindingDescription* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkVertexInputAttributeDescription(
- BumpPool* pool,
- const VkVertexInputAttributeDescription* from,
- VkVertexInputAttributeDescription* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkPipelineVertexInputStateCreateInfo(
- BumpPool* pool,
- const VkPipelineVertexInputStateCreateInfo* from,
- VkPipelineVertexInputStateCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pVertexBindingDescriptions = nullptr;
- if (from->pVertexBindingDescriptions)
- {
- to->pVertexBindingDescriptions = (VkVertexInputBindingDescription*)pool->alloc(from->vertexBindingDescriptionCount * sizeof(const VkVertexInputBindingDescription));
- to->vertexBindingDescriptionCount = from->vertexBindingDescriptionCount;
- for (uint32_t i = 0; i < (uint32_t)from->vertexBindingDescriptionCount; ++i)
- {
- deepcopy_VkVertexInputBindingDescription(pool, from->pVertexBindingDescriptions + i, (VkVertexInputBindingDescription*)(to->pVertexBindingDescriptions + i));
- }
- }
- to->pVertexAttributeDescriptions = nullptr;
- if (from->pVertexAttributeDescriptions)
- {
- to->pVertexAttributeDescriptions = (VkVertexInputAttributeDescription*)pool->alloc(from->vertexAttributeDescriptionCount * sizeof(const VkVertexInputAttributeDescription));
- to->vertexAttributeDescriptionCount = from->vertexAttributeDescriptionCount;
- for (uint32_t i = 0; i < (uint32_t)from->vertexAttributeDescriptionCount; ++i)
- {
- deepcopy_VkVertexInputAttributeDescription(pool, from->pVertexAttributeDescriptions + i, (VkVertexInputAttributeDescription*)(to->pVertexAttributeDescriptions + i));
- }
- }
-}
-
-void deepcopy_VkPipelineInputAssemblyStateCreateInfo(
- BumpPool* pool,
- const VkPipelineInputAssemblyStateCreateInfo* from,
- VkPipelineInputAssemblyStateCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkPipelineTessellationStateCreateInfo(
- BumpPool* pool,
- const VkPipelineTessellationStateCreateInfo* from,
- VkPipelineTessellationStateCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkViewport(
- BumpPool* pool,
- const VkViewport* from,
- VkViewport* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkOffset2D(
- BumpPool* pool,
- const VkOffset2D* from,
- VkOffset2D* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkExtent2D(
- BumpPool* pool,
- const VkExtent2D* from,
- VkExtent2D* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkRect2D(
- BumpPool* pool,
- const VkRect2D* from,
- VkRect2D* to)
-{
- (void)pool;
- *to = *from;
- deepcopy_VkOffset2D(pool, &from->offset, (VkOffset2D*)(&to->offset));
- deepcopy_VkExtent2D(pool, &from->extent, (VkExtent2D*)(&to->extent));
-}
-
-void deepcopy_VkPipelineViewportStateCreateInfo(
- BumpPool* pool,
- const VkPipelineViewportStateCreateInfo* from,
- VkPipelineViewportStateCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pViewports = nullptr;
- if (from->pViewports)
- {
- to->pViewports = (VkViewport*)pool->alloc(from->viewportCount * sizeof(const VkViewport));
- to->viewportCount = from->viewportCount;
- for (uint32_t i = 0; i < (uint32_t)from->viewportCount; ++i)
- {
- deepcopy_VkViewport(pool, from->pViewports + i, (VkViewport*)(to->pViewports + i));
- }
- }
- to->pScissors = nullptr;
- if (from->pScissors)
- {
- to->pScissors = (VkRect2D*)pool->alloc(from->scissorCount * sizeof(const VkRect2D));
- to->scissorCount = from->scissorCount;
- for (uint32_t i = 0; i < (uint32_t)from->scissorCount; ++i)
- {
- deepcopy_VkRect2D(pool, from->pScissors + i, (VkRect2D*)(to->pScissors + i));
- }
- }
-}
-
-void deepcopy_VkPipelineRasterizationStateCreateInfo(
- BumpPool* pool,
- const VkPipelineRasterizationStateCreateInfo* from,
- VkPipelineRasterizationStateCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkPipelineMultisampleStateCreateInfo(
- BumpPool* pool,
- const VkPipelineMultisampleStateCreateInfo* from,
- VkPipelineMultisampleStateCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pSampleMask = nullptr;
- if (from->pSampleMask)
- {
- to->pSampleMask = (VkSampleMask*)pool->dupArray(from->pSampleMask, (((from->rasterizationSamples) + 31) / 32) * sizeof(const VkSampleMask));
- }
-}
-
-void deepcopy_VkStencilOpState(
- BumpPool* pool,
- const VkStencilOpState* from,
- VkStencilOpState* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkPipelineDepthStencilStateCreateInfo(
- BumpPool* pool,
- const VkPipelineDepthStencilStateCreateInfo* from,
- VkPipelineDepthStencilStateCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- deepcopy_VkStencilOpState(pool, &from->front, (VkStencilOpState*)(&to->front));
- deepcopy_VkStencilOpState(pool, &from->back, (VkStencilOpState*)(&to->back));
-}
-
-void deepcopy_VkPipelineColorBlendAttachmentState(
- BumpPool* pool,
- const VkPipelineColorBlendAttachmentState* from,
- VkPipelineColorBlendAttachmentState* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkPipelineColorBlendStateCreateInfo(
- BumpPool* pool,
- const VkPipelineColorBlendStateCreateInfo* from,
- VkPipelineColorBlendStateCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pAttachments = nullptr;
- if (from->pAttachments)
- {
- to->pAttachments = (VkPipelineColorBlendAttachmentState*)pool->alloc(from->attachmentCount * sizeof(const VkPipelineColorBlendAttachmentState));
- to->attachmentCount = from->attachmentCount;
- for (uint32_t i = 0; i < (uint32_t)from->attachmentCount; ++i)
- {
- deepcopy_VkPipelineColorBlendAttachmentState(pool, from->pAttachments + i, (VkPipelineColorBlendAttachmentState*)(to->pAttachments + i));
- }
- }
- memcpy(to->blendConstants, from->blendConstants, 4 * sizeof(float));
-}
-
-void deepcopy_VkPipelineDynamicStateCreateInfo(
- BumpPool* pool,
- const VkPipelineDynamicStateCreateInfo* from,
- VkPipelineDynamicStateCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pDynamicStates = nullptr;
- if (from->pDynamicStates)
- {
- to->pDynamicStates = (VkDynamicState*)pool->dupArray(from->pDynamicStates, from->dynamicStateCount * sizeof(const VkDynamicState));
- }
-}
-
-void deepcopy_VkGraphicsPipelineCreateInfo(
- BumpPool* pool,
- const VkGraphicsPipelineCreateInfo* from,
- VkGraphicsPipelineCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pStages = nullptr;
- if (from->pStages)
- {
- to->pStages = (VkPipelineShaderStageCreateInfo*)pool->alloc(from->stageCount * sizeof(const VkPipelineShaderStageCreateInfo));
- to->stageCount = from->stageCount;
- for (uint32_t i = 0; i < (uint32_t)from->stageCount; ++i)
- {
- deepcopy_VkPipelineShaderStageCreateInfo(pool, from->pStages + i, (VkPipelineShaderStageCreateInfo*)(to->pStages + i));
- }
- }
- to->pVertexInputState = nullptr;
- if (from->pVertexInputState)
- {
- to->pVertexInputState = (VkPipelineVertexInputStateCreateInfo*)pool->alloc(sizeof(const VkPipelineVertexInputStateCreateInfo));
- deepcopy_VkPipelineVertexInputStateCreateInfo(pool, from->pVertexInputState, (VkPipelineVertexInputStateCreateInfo*)(to->pVertexInputState));
- }
- to->pInputAssemblyState = nullptr;
- if (from->pInputAssemblyState)
- {
- to->pInputAssemblyState = (VkPipelineInputAssemblyStateCreateInfo*)pool->alloc(sizeof(const VkPipelineInputAssemblyStateCreateInfo));
- deepcopy_VkPipelineInputAssemblyStateCreateInfo(pool, from->pInputAssemblyState, (VkPipelineInputAssemblyStateCreateInfo*)(to->pInputAssemblyState));
- }
- to->pTessellationState = nullptr;
- if (from->pTessellationState)
- {
- to->pTessellationState = (VkPipelineTessellationStateCreateInfo*)pool->alloc(sizeof(const VkPipelineTessellationStateCreateInfo));
- deepcopy_VkPipelineTessellationStateCreateInfo(pool, from->pTessellationState, (VkPipelineTessellationStateCreateInfo*)(to->pTessellationState));
- }
- to->pViewportState = nullptr;
- if (from->pViewportState)
- {
- to->pViewportState = (VkPipelineViewportStateCreateInfo*)pool->alloc(sizeof(const VkPipelineViewportStateCreateInfo));
- deepcopy_VkPipelineViewportStateCreateInfo(pool, from->pViewportState, (VkPipelineViewportStateCreateInfo*)(to->pViewportState));
- }
- to->pRasterizationState = nullptr;
- if (from->pRasterizationState)
- {
- to->pRasterizationState = (VkPipelineRasterizationStateCreateInfo*)pool->alloc(sizeof(const VkPipelineRasterizationStateCreateInfo));
- deepcopy_VkPipelineRasterizationStateCreateInfo(pool, from->pRasterizationState, (VkPipelineRasterizationStateCreateInfo*)(to->pRasterizationState));
- }
- to->pMultisampleState = nullptr;
- if (from->pMultisampleState)
- {
- to->pMultisampleState = (VkPipelineMultisampleStateCreateInfo*)pool->alloc(sizeof(const VkPipelineMultisampleStateCreateInfo));
- deepcopy_VkPipelineMultisampleStateCreateInfo(pool, from->pMultisampleState, (VkPipelineMultisampleStateCreateInfo*)(to->pMultisampleState));
- }
- to->pDepthStencilState = nullptr;
- if (from->pDepthStencilState)
- {
- to->pDepthStencilState = (VkPipelineDepthStencilStateCreateInfo*)pool->alloc(sizeof(const VkPipelineDepthStencilStateCreateInfo));
- deepcopy_VkPipelineDepthStencilStateCreateInfo(pool, from->pDepthStencilState, (VkPipelineDepthStencilStateCreateInfo*)(to->pDepthStencilState));
- }
- to->pColorBlendState = nullptr;
- if (from->pColorBlendState)
- {
- to->pColorBlendState = (VkPipelineColorBlendStateCreateInfo*)pool->alloc(sizeof(const VkPipelineColorBlendStateCreateInfo));
- deepcopy_VkPipelineColorBlendStateCreateInfo(pool, from->pColorBlendState, (VkPipelineColorBlendStateCreateInfo*)(to->pColorBlendState));
- }
- to->pDynamicState = nullptr;
- if (from->pDynamicState)
- {
- to->pDynamicState = (VkPipelineDynamicStateCreateInfo*)pool->alloc(sizeof(const VkPipelineDynamicStateCreateInfo));
- deepcopy_VkPipelineDynamicStateCreateInfo(pool, from->pDynamicState, (VkPipelineDynamicStateCreateInfo*)(to->pDynamicState));
- }
-}
-
-void deepcopy_VkComputePipelineCreateInfo(
- BumpPool* pool,
- const VkComputePipelineCreateInfo* from,
- VkComputePipelineCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- deepcopy_VkPipelineShaderStageCreateInfo(pool, &from->stage, (VkPipelineShaderStageCreateInfo*)(&to->stage));
-}
-
-void deepcopy_VkPushConstantRange(
- BumpPool* pool,
- const VkPushConstantRange* from,
- VkPushConstantRange* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkPipelineLayoutCreateInfo(
- BumpPool* pool,
- const VkPipelineLayoutCreateInfo* from,
- VkPipelineLayoutCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pSetLayouts = nullptr;
- if (from->pSetLayouts)
- {
- to->pSetLayouts = (VkDescriptorSetLayout*)pool->dupArray(from->pSetLayouts, from->setLayoutCount * sizeof(const VkDescriptorSetLayout));
- }
- to->pPushConstantRanges = nullptr;
- if (from->pPushConstantRanges)
- {
- to->pPushConstantRanges = (VkPushConstantRange*)pool->alloc(from->pushConstantRangeCount * sizeof(const VkPushConstantRange));
- to->pushConstantRangeCount = from->pushConstantRangeCount;
- for (uint32_t i = 0; i < (uint32_t)from->pushConstantRangeCount; ++i)
- {
- deepcopy_VkPushConstantRange(pool, from->pPushConstantRanges + i, (VkPushConstantRange*)(to->pPushConstantRanges + i));
- }
- }
-}
-
-void deepcopy_VkSamplerCreateInfo(
- BumpPool* pool,
- const VkSamplerCreateInfo* from,
- VkSamplerCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkDescriptorSetLayoutBinding(
- BumpPool* pool,
- const VkDescriptorSetLayoutBinding* from,
- VkDescriptorSetLayoutBinding* to)
-{
- (void)pool;
- *to = *from;
- to->pImmutableSamplers = nullptr;
- if (from->pImmutableSamplers)
- {
- to->pImmutableSamplers = (VkSampler*)pool->dupArray(from->pImmutableSamplers, from->descriptorCount * sizeof(const VkSampler));
- }
-}
-
-void deepcopy_VkDescriptorSetLayoutCreateInfo(
- BumpPool* pool,
- const VkDescriptorSetLayoutCreateInfo* from,
- VkDescriptorSetLayoutCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pBindings = nullptr;
- if (from->pBindings)
- {
- to->pBindings = (VkDescriptorSetLayoutBinding*)pool->alloc(from->bindingCount * sizeof(const VkDescriptorSetLayoutBinding));
- to->bindingCount = from->bindingCount;
- for (uint32_t i = 0; i < (uint32_t)from->bindingCount; ++i)
- {
- deepcopy_VkDescriptorSetLayoutBinding(pool, from->pBindings + i, (VkDescriptorSetLayoutBinding*)(to->pBindings + i));
- }
- }
-}
-
-void deepcopy_VkDescriptorPoolSize(
- BumpPool* pool,
- const VkDescriptorPoolSize* from,
- VkDescriptorPoolSize* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkDescriptorPoolCreateInfo(
- BumpPool* pool,
- const VkDescriptorPoolCreateInfo* from,
- VkDescriptorPoolCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pPoolSizes = nullptr;
- if (from->pPoolSizes)
- {
- to->pPoolSizes = (VkDescriptorPoolSize*)pool->alloc(from->poolSizeCount * sizeof(const VkDescriptorPoolSize));
- to->poolSizeCount = from->poolSizeCount;
- for (uint32_t i = 0; i < (uint32_t)from->poolSizeCount; ++i)
- {
- deepcopy_VkDescriptorPoolSize(pool, from->pPoolSizes + i, (VkDescriptorPoolSize*)(to->pPoolSizes + i));
- }
- }
-}
-
-void deepcopy_VkDescriptorSetAllocateInfo(
- BumpPool* pool,
- const VkDescriptorSetAllocateInfo* from,
- VkDescriptorSetAllocateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pSetLayouts = nullptr;
- if (from->pSetLayouts)
- {
- to->pSetLayouts = (VkDescriptorSetLayout*)pool->dupArray(from->pSetLayouts, from->descriptorSetCount * sizeof(const VkDescriptorSetLayout));
- }
-}
-
-void deepcopy_VkDescriptorImageInfo(
- BumpPool* pool,
- const VkDescriptorImageInfo* from,
- VkDescriptorImageInfo* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkDescriptorBufferInfo(
- BumpPool* pool,
- const VkDescriptorBufferInfo* from,
- VkDescriptorBufferInfo* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkWriteDescriptorSet(
- BumpPool* pool,
- const VkWriteDescriptorSet* from,
- VkWriteDescriptorSet* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pImageInfo = nullptr;
- if (from->pImageInfo)
- {
- to->pImageInfo = (VkDescriptorImageInfo*)pool->alloc(from->descriptorCount * sizeof(const VkDescriptorImageInfo));
- to->descriptorCount = from->descriptorCount;
- for (uint32_t i = 0; i < (uint32_t)from->descriptorCount; ++i)
- {
- deepcopy_VkDescriptorImageInfo(pool, from->pImageInfo + i, (VkDescriptorImageInfo*)(to->pImageInfo + i));
- }
- }
- to->pBufferInfo = nullptr;
- if (from->pBufferInfo)
- {
- to->pBufferInfo = (VkDescriptorBufferInfo*)pool->alloc(from->descriptorCount * sizeof(const VkDescriptorBufferInfo));
- to->descriptorCount = from->descriptorCount;
- for (uint32_t i = 0; i < (uint32_t)from->descriptorCount; ++i)
- {
- deepcopy_VkDescriptorBufferInfo(pool, from->pBufferInfo + i, (VkDescriptorBufferInfo*)(to->pBufferInfo + i));
- }
- }
- to->pTexelBufferView = nullptr;
- if (from->pTexelBufferView)
- {
- to->pTexelBufferView = (VkBufferView*)pool->dupArray(from->pTexelBufferView, from->descriptorCount * sizeof(const VkBufferView));
- }
-}
-
-void deepcopy_VkCopyDescriptorSet(
- BumpPool* pool,
- const VkCopyDescriptorSet* from,
- VkCopyDescriptorSet* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkFramebufferCreateInfo(
- BumpPool* pool,
- const VkFramebufferCreateInfo* from,
- VkFramebufferCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pAttachments = nullptr;
- if (from->pAttachments)
- {
- to->pAttachments = (VkImageView*)pool->dupArray(from->pAttachments, from->attachmentCount * sizeof(const VkImageView));
- }
-}
-
-void deepcopy_VkAttachmentDescription(
- BumpPool* pool,
- const VkAttachmentDescription* from,
- VkAttachmentDescription* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkAttachmentReference(
- BumpPool* pool,
- const VkAttachmentReference* from,
- VkAttachmentReference* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkSubpassDescription(
- BumpPool* pool,
- const VkSubpassDescription* from,
- VkSubpassDescription* to)
-{
- (void)pool;
- *to = *from;
- to->pInputAttachments = nullptr;
- if (from->pInputAttachments)
- {
- to->pInputAttachments = (VkAttachmentReference*)pool->alloc(from->inputAttachmentCount * sizeof(const VkAttachmentReference));
- to->inputAttachmentCount = from->inputAttachmentCount;
- for (uint32_t i = 0; i < (uint32_t)from->inputAttachmentCount; ++i)
- {
- deepcopy_VkAttachmentReference(pool, from->pInputAttachments + i, (VkAttachmentReference*)(to->pInputAttachments + i));
- }
- }
- to->pColorAttachments = nullptr;
- if (from->pColorAttachments)
- {
- to->pColorAttachments = (VkAttachmentReference*)pool->alloc(from->colorAttachmentCount * sizeof(const VkAttachmentReference));
- to->colorAttachmentCount = from->colorAttachmentCount;
- for (uint32_t i = 0; i < (uint32_t)from->colorAttachmentCount; ++i)
- {
- deepcopy_VkAttachmentReference(pool, from->pColorAttachments + i, (VkAttachmentReference*)(to->pColorAttachments + i));
- }
- }
- to->pResolveAttachments = nullptr;
- if (from->pResolveAttachments)
- {
- to->pResolveAttachments = (VkAttachmentReference*)pool->alloc(from->colorAttachmentCount * sizeof(const VkAttachmentReference));
- to->colorAttachmentCount = from->colorAttachmentCount;
- for (uint32_t i = 0; i < (uint32_t)from->colorAttachmentCount; ++i)
- {
- deepcopy_VkAttachmentReference(pool, from->pResolveAttachments + i, (VkAttachmentReference*)(to->pResolveAttachments + i));
- }
- }
- to->pDepthStencilAttachment = nullptr;
- if (from->pDepthStencilAttachment)
- {
- to->pDepthStencilAttachment = (VkAttachmentReference*)pool->alloc(sizeof(const VkAttachmentReference));
- deepcopy_VkAttachmentReference(pool, from->pDepthStencilAttachment, (VkAttachmentReference*)(to->pDepthStencilAttachment));
- }
- to->pPreserveAttachments = nullptr;
- if (from->pPreserveAttachments)
- {
- to->pPreserveAttachments = (uint32_t*)pool->dupArray(from->pPreserveAttachments, from->preserveAttachmentCount * sizeof(const uint32_t));
- }
-}
-
-void deepcopy_VkSubpassDependency(
- BumpPool* pool,
- const VkSubpassDependency* from,
- VkSubpassDependency* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkRenderPassCreateInfo(
- BumpPool* pool,
- const VkRenderPassCreateInfo* from,
- VkRenderPassCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pAttachments = nullptr;
- if (from->pAttachments)
- {
- to->pAttachments = (VkAttachmentDescription*)pool->alloc(from->attachmentCount * sizeof(const VkAttachmentDescription));
- to->attachmentCount = from->attachmentCount;
- for (uint32_t i = 0; i < (uint32_t)from->attachmentCount; ++i)
- {
- deepcopy_VkAttachmentDescription(pool, from->pAttachments + i, (VkAttachmentDescription*)(to->pAttachments + i));
- }
- }
- to->pSubpasses = nullptr;
- if (from->pSubpasses)
- {
- to->pSubpasses = (VkSubpassDescription*)pool->alloc(from->subpassCount * sizeof(const VkSubpassDescription));
- to->subpassCount = from->subpassCount;
- for (uint32_t i = 0; i < (uint32_t)from->subpassCount; ++i)
- {
- deepcopy_VkSubpassDescription(pool, from->pSubpasses + i, (VkSubpassDescription*)(to->pSubpasses + i));
- }
- }
- to->pDependencies = nullptr;
- if (from->pDependencies)
- {
- to->pDependencies = (VkSubpassDependency*)pool->alloc(from->dependencyCount * sizeof(const VkSubpassDependency));
- to->dependencyCount = from->dependencyCount;
- for (uint32_t i = 0; i < (uint32_t)from->dependencyCount; ++i)
- {
- deepcopy_VkSubpassDependency(pool, from->pDependencies + i, (VkSubpassDependency*)(to->pDependencies + i));
- }
- }
-}
-
-void deepcopy_VkCommandPoolCreateInfo(
- BumpPool* pool,
- const VkCommandPoolCreateInfo* from,
- VkCommandPoolCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkCommandBufferAllocateInfo(
- BumpPool* pool,
- const VkCommandBufferAllocateInfo* from,
- VkCommandBufferAllocateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkCommandBufferInheritanceInfo(
- BumpPool* pool,
- const VkCommandBufferInheritanceInfo* from,
- VkCommandBufferInheritanceInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkCommandBufferBeginInfo(
- BumpPool* pool,
- const VkCommandBufferBeginInfo* from,
- VkCommandBufferBeginInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pInheritanceInfo = nullptr;
- if (from->pInheritanceInfo)
- {
- to->pInheritanceInfo = (VkCommandBufferInheritanceInfo*)pool->alloc(sizeof(const VkCommandBufferInheritanceInfo));
- deepcopy_VkCommandBufferInheritanceInfo(pool, from->pInheritanceInfo, (VkCommandBufferInheritanceInfo*)(to->pInheritanceInfo));
- }
-}
-
-void deepcopy_VkBufferCopy(
- BumpPool* pool,
- const VkBufferCopy* from,
- VkBufferCopy* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkImageSubresourceLayers(
- BumpPool* pool,
- const VkImageSubresourceLayers* from,
- VkImageSubresourceLayers* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkImageCopy(
- BumpPool* pool,
- const VkImageCopy* from,
- VkImageCopy* to)
-{
- (void)pool;
- *to = *from;
- deepcopy_VkImageSubresourceLayers(pool, &from->srcSubresource, (VkImageSubresourceLayers*)(&to->srcSubresource));
- deepcopy_VkOffset3D(pool, &from->srcOffset, (VkOffset3D*)(&to->srcOffset));
- deepcopy_VkImageSubresourceLayers(pool, &from->dstSubresource, (VkImageSubresourceLayers*)(&to->dstSubresource));
- deepcopy_VkOffset3D(pool, &from->dstOffset, (VkOffset3D*)(&to->dstOffset));
- deepcopy_VkExtent3D(pool, &from->extent, (VkExtent3D*)(&to->extent));
-}
-
-void deepcopy_VkImageBlit(
- BumpPool* pool,
- const VkImageBlit* from,
- VkImageBlit* to)
-{
- (void)pool;
- *to = *from;
- deepcopy_VkImageSubresourceLayers(pool, &from->srcSubresource, (VkImageSubresourceLayers*)(&to->srcSubresource));
- for (uint32_t i = 0; i < (uint32_t)2; ++i)
- {
- deepcopy_VkOffset3D(pool, from->srcOffsets + i, (VkOffset3D*)(to->srcOffsets + i));
- }
- deepcopy_VkImageSubresourceLayers(pool, &from->dstSubresource, (VkImageSubresourceLayers*)(&to->dstSubresource));
- for (uint32_t i = 0; i < (uint32_t)2; ++i)
- {
- deepcopy_VkOffset3D(pool, from->dstOffsets + i, (VkOffset3D*)(to->dstOffsets + i));
- }
-}
-
-void deepcopy_VkBufferImageCopy(
- BumpPool* pool,
- const VkBufferImageCopy* from,
- VkBufferImageCopy* to)
-{
- (void)pool;
- *to = *from;
- deepcopy_VkImageSubresourceLayers(pool, &from->imageSubresource, (VkImageSubresourceLayers*)(&to->imageSubresource));
- deepcopy_VkOffset3D(pool, &from->imageOffset, (VkOffset3D*)(&to->imageOffset));
- deepcopy_VkExtent3D(pool, &from->imageExtent, (VkExtent3D*)(&to->imageExtent));
-}
-
-void deepcopy_VkClearColorValue(
- BumpPool* pool,
- const VkClearColorValue* from,
- VkClearColorValue* to)
-{
- (void)pool;
- *to = *from;
- memcpy(to->float32, from->float32, 4 * sizeof(float));
- memcpy(to->int32, from->int32, 4 * sizeof(int32_t));
- memcpy(to->uint32, from->uint32, 4 * sizeof(uint32_t));
-}
-
-void deepcopy_VkClearDepthStencilValue(
- BumpPool* pool,
- const VkClearDepthStencilValue* from,
- VkClearDepthStencilValue* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkClearValue(
- BumpPool* pool,
- const VkClearValue* from,
- VkClearValue* to)
-{
- (void)pool;
- *to = *from;
- deepcopy_VkClearColorValue(pool, &from->color, (VkClearColorValue*)(&to->color));
- deepcopy_VkClearDepthStencilValue(pool, &from->depthStencil, (VkClearDepthStencilValue*)(&to->depthStencil));
-}
-
-void deepcopy_VkClearAttachment(
- BumpPool* pool,
- const VkClearAttachment* from,
- VkClearAttachment* to)
-{
- (void)pool;
- *to = *from;
- deepcopy_VkClearValue(pool, &from->clearValue, (VkClearValue*)(&to->clearValue));
-}
-
-void deepcopy_VkClearRect(
- BumpPool* pool,
- const VkClearRect* from,
- VkClearRect* to)
-{
- (void)pool;
- *to = *from;
- deepcopy_VkRect2D(pool, &from->rect, (VkRect2D*)(&to->rect));
-}
-
-void deepcopy_VkImageResolve(
- BumpPool* pool,
- const VkImageResolve* from,
- VkImageResolve* to)
-{
- (void)pool;
- *to = *from;
- deepcopy_VkImageSubresourceLayers(pool, &from->srcSubresource, (VkImageSubresourceLayers*)(&to->srcSubresource));
- deepcopy_VkOffset3D(pool, &from->srcOffset, (VkOffset3D*)(&to->srcOffset));
- deepcopy_VkImageSubresourceLayers(pool, &from->dstSubresource, (VkImageSubresourceLayers*)(&to->dstSubresource));
- deepcopy_VkOffset3D(pool, &from->dstOffset, (VkOffset3D*)(&to->dstOffset));
- deepcopy_VkExtent3D(pool, &from->extent, (VkExtent3D*)(&to->extent));
-}
-
-void deepcopy_VkMemoryBarrier(
- BumpPool* pool,
- const VkMemoryBarrier* from,
- VkMemoryBarrier* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkBufferMemoryBarrier(
- BumpPool* pool,
- const VkBufferMemoryBarrier* from,
- VkBufferMemoryBarrier* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkImageMemoryBarrier(
- BumpPool* pool,
- const VkImageMemoryBarrier* from,
- VkImageMemoryBarrier* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- deepcopy_VkImageSubresourceRange(pool, &from->subresourceRange, (VkImageSubresourceRange*)(&to->subresourceRange));
-}
-
-void deepcopy_VkRenderPassBeginInfo(
- BumpPool* pool,
- const VkRenderPassBeginInfo* from,
- VkRenderPassBeginInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- deepcopy_VkRect2D(pool, &from->renderArea, (VkRect2D*)(&to->renderArea));
- to->pClearValues = nullptr;
- if (from->pClearValues)
- {
- to->pClearValues = (VkClearValue*)pool->alloc(from->clearValueCount * sizeof(const VkClearValue));
- to->clearValueCount = from->clearValueCount;
- for (uint32_t i = 0; i < (uint32_t)from->clearValueCount; ++i)
- {
- deepcopy_VkClearValue(pool, from->pClearValues + i, (VkClearValue*)(to->pClearValues + i));
- }
- }
-}
-
-void deepcopy_VkDispatchIndirectCommand(
- BumpPool* pool,
- const VkDispatchIndirectCommand* from,
- VkDispatchIndirectCommand* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkDrawIndexedIndirectCommand(
- BumpPool* pool,
- const VkDrawIndexedIndirectCommand* from,
- VkDrawIndexedIndirectCommand* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkDrawIndirectCommand(
- BumpPool* pool,
- const VkDrawIndirectCommand* from,
- VkDrawIndirectCommand* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkBaseOutStructure(
- BumpPool* pool,
- const VkBaseOutStructure* from,
- VkBaseOutStructure* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (VkBaseOutStructure*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkBaseInStructure(
- BumpPool* pool,
- const VkBaseInStructure* from,
- VkBaseInStructure* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const VkBaseInStructure*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-#endif
-#ifdef VK_VERSION_1_1
-void deepcopy_VkPhysicalDeviceSubgroupProperties(
- BumpPool* pool,
- const VkPhysicalDeviceSubgroupProperties* from,
- VkPhysicalDeviceSubgroupProperties* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkBindBufferMemoryInfo(
- BumpPool* pool,
- const VkBindBufferMemoryInfo* from,
- VkBindBufferMemoryInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkBindImageMemoryInfo(
- BumpPool* pool,
- const VkBindImageMemoryInfo* from,
- VkBindImageMemoryInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkPhysicalDevice16BitStorageFeatures(
- BumpPool* pool,
- const VkPhysicalDevice16BitStorageFeatures* from,
- VkPhysicalDevice16BitStorageFeatures* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkMemoryDedicatedRequirements(
- BumpPool* pool,
- const VkMemoryDedicatedRequirements* from,
- VkMemoryDedicatedRequirements* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkMemoryDedicatedAllocateInfo(
- BumpPool* pool,
- const VkMemoryDedicatedAllocateInfo* from,
- VkMemoryDedicatedAllocateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkMemoryAllocateFlagsInfo(
- BumpPool* pool,
- const VkMemoryAllocateFlagsInfo* from,
- VkMemoryAllocateFlagsInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkDeviceGroupRenderPassBeginInfo(
- BumpPool* pool,
- const VkDeviceGroupRenderPassBeginInfo* from,
- VkDeviceGroupRenderPassBeginInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pDeviceRenderAreas = nullptr;
- if (from->pDeviceRenderAreas)
- {
- to->pDeviceRenderAreas = (VkRect2D*)pool->alloc(from->deviceRenderAreaCount * sizeof(const VkRect2D));
- to->deviceRenderAreaCount = from->deviceRenderAreaCount;
- for (uint32_t i = 0; i < (uint32_t)from->deviceRenderAreaCount; ++i)
- {
- deepcopy_VkRect2D(pool, from->pDeviceRenderAreas + i, (VkRect2D*)(to->pDeviceRenderAreas + i));
- }
- }
-}
-
-void deepcopy_VkDeviceGroupCommandBufferBeginInfo(
- BumpPool* pool,
- const VkDeviceGroupCommandBufferBeginInfo* from,
- VkDeviceGroupCommandBufferBeginInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkDeviceGroupSubmitInfo(
- BumpPool* pool,
- const VkDeviceGroupSubmitInfo* from,
- VkDeviceGroupSubmitInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pWaitSemaphoreDeviceIndices = nullptr;
- if (from->pWaitSemaphoreDeviceIndices)
- {
- to->pWaitSemaphoreDeviceIndices = (uint32_t*)pool->dupArray(from->pWaitSemaphoreDeviceIndices, from->waitSemaphoreCount * sizeof(const uint32_t));
- }
- to->pCommandBufferDeviceMasks = nullptr;
- if (from->pCommandBufferDeviceMasks)
- {
- to->pCommandBufferDeviceMasks = (uint32_t*)pool->dupArray(from->pCommandBufferDeviceMasks, from->commandBufferCount * sizeof(const uint32_t));
- }
- to->pSignalSemaphoreDeviceIndices = nullptr;
- if (from->pSignalSemaphoreDeviceIndices)
- {
- to->pSignalSemaphoreDeviceIndices = (uint32_t*)pool->dupArray(from->pSignalSemaphoreDeviceIndices, from->signalSemaphoreCount * sizeof(const uint32_t));
- }
-}
-
-void deepcopy_VkDeviceGroupBindSparseInfo(
- BumpPool* pool,
- const VkDeviceGroupBindSparseInfo* from,
- VkDeviceGroupBindSparseInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkBindBufferMemoryDeviceGroupInfo(
- BumpPool* pool,
- const VkBindBufferMemoryDeviceGroupInfo* from,
- VkBindBufferMemoryDeviceGroupInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pDeviceIndices = nullptr;
- if (from->pDeviceIndices)
- {
- to->pDeviceIndices = (uint32_t*)pool->dupArray(from->pDeviceIndices, from->deviceIndexCount * sizeof(const uint32_t));
- }
-}
-
-void deepcopy_VkBindImageMemoryDeviceGroupInfo(
- BumpPool* pool,
- const VkBindImageMemoryDeviceGroupInfo* from,
- VkBindImageMemoryDeviceGroupInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pDeviceIndices = nullptr;
- if (from->pDeviceIndices)
- {
- to->pDeviceIndices = (uint32_t*)pool->dupArray(from->pDeviceIndices, from->deviceIndexCount * sizeof(const uint32_t));
- }
- to->pSplitInstanceBindRegions = nullptr;
- if (from->pSplitInstanceBindRegions)
- {
- to->pSplitInstanceBindRegions = (VkRect2D*)pool->alloc(from->splitInstanceBindRegionCount * sizeof(const VkRect2D));
- to->splitInstanceBindRegionCount = from->splitInstanceBindRegionCount;
- for (uint32_t i = 0; i < (uint32_t)from->splitInstanceBindRegionCount; ++i)
- {
- deepcopy_VkRect2D(pool, from->pSplitInstanceBindRegions + i, (VkRect2D*)(to->pSplitInstanceBindRegions + i));
- }
- }
-}
-
-void deepcopy_VkPhysicalDeviceGroupProperties(
- BumpPool* pool,
- const VkPhysicalDeviceGroupProperties* from,
- VkPhysicalDeviceGroupProperties* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- memcpy(to->physicalDevices, from->physicalDevices, VK_MAX_DEVICE_GROUP_SIZE * sizeof(VkPhysicalDevice));
-}
-
-void deepcopy_VkDeviceGroupDeviceCreateInfo(
- BumpPool* pool,
- const VkDeviceGroupDeviceCreateInfo* from,
- VkDeviceGroupDeviceCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pPhysicalDevices = nullptr;
- if (from->pPhysicalDevices)
- {
- to->pPhysicalDevices = (VkPhysicalDevice*)pool->dupArray(from->pPhysicalDevices, from->physicalDeviceCount * sizeof(const VkPhysicalDevice));
- }
-}
-
-void deepcopy_VkBufferMemoryRequirementsInfo2(
- BumpPool* pool,
- const VkBufferMemoryRequirementsInfo2* from,
- VkBufferMemoryRequirementsInfo2* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkImageMemoryRequirementsInfo2(
- BumpPool* pool,
- const VkImageMemoryRequirementsInfo2* from,
- VkImageMemoryRequirementsInfo2* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkImageSparseMemoryRequirementsInfo2(
- BumpPool* pool,
- const VkImageSparseMemoryRequirementsInfo2* from,
- VkImageSparseMemoryRequirementsInfo2* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkMemoryRequirements2(
- BumpPool* pool,
- const VkMemoryRequirements2* from,
- VkMemoryRequirements2* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- deepcopy_VkMemoryRequirements(pool, &from->memoryRequirements, (VkMemoryRequirements*)(&to->memoryRequirements));
-}
-
-void deepcopy_VkSparseImageMemoryRequirements2(
- BumpPool* pool,
- const VkSparseImageMemoryRequirements2* from,
- VkSparseImageMemoryRequirements2* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- deepcopy_VkSparseImageMemoryRequirements(pool, &from->memoryRequirements, (VkSparseImageMemoryRequirements*)(&to->memoryRequirements));
-}
-
-void deepcopy_VkPhysicalDeviceFeatures2(
- BumpPool* pool,
- const VkPhysicalDeviceFeatures2* from,
- VkPhysicalDeviceFeatures2* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- deepcopy_VkPhysicalDeviceFeatures(pool, &from->features, (VkPhysicalDeviceFeatures*)(&to->features));
-}
-
-void deepcopy_VkPhysicalDeviceProperties2(
- BumpPool* pool,
- const VkPhysicalDeviceProperties2* from,
- VkPhysicalDeviceProperties2* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- deepcopy_VkPhysicalDeviceProperties(pool, &from->properties, (VkPhysicalDeviceProperties*)(&to->properties));
-}
-
-void deepcopy_VkFormatProperties2(
- BumpPool* pool,
- const VkFormatProperties2* from,
- VkFormatProperties2* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- deepcopy_VkFormatProperties(pool, &from->formatProperties, (VkFormatProperties*)(&to->formatProperties));
-}
-
-void deepcopy_VkImageFormatProperties2(
- BumpPool* pool,
- const VkImageFormatProperties2* from,
- VkImageFormatProperties2* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- deepcopy_VkImageFormatProperties(pool, &from->imageFormatProperties, (VkImageFormatProperties*)(&to->imageFormatProperties));
-}
-
-void deepcopy_VkPhysicalDeviceImageFormatInfo2(
- BumpPool* pool,
- const VkPhysicalDeviceImageFormatInfo2* from,
- VkPhysicalDeviceImageFormatInfo2* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkQueueFamilyProperties2(
- BumpPool* pool,
- const VkQueueFamilyProperties2* from,
- VkQueueFamilyProperties2* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- deepcopy_VkQueueFamilyProperties(pool, &from->queueFamilyProperties, (VkQueueFamilyProperties*)(&to->queueFamilyProperties));
-}
-
-void deepcopy_VkPhysicalDeviceMemoryProperties2(
- BumpPool* pool,
- const VkPhysicalDeviceMemoryProperties2* from,
- VkPhysicalDeviceMemoryProperties2* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- deepcopy_VkPhysicalDeviceMemoryProperties(pool, &from->memoryProperties, (VkPhysicalDeviceMemoryProperties*)(&to->memoryProperties));
-}
-
-void deepcopy_VkSparseImageFormatProperties2(
- BumpPool* pool,
- const VkSparseImageFormatProperties2* from,
- VkSparseImageFormatProperties2* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- deepcopy_VkSparseImageFormatProperties(pool, &from->properties, (VkSparseImageFormatProperties*)(&to->properties));
-}
-
-void deepcopy_VkPhysicalDeviceSparseImageFormatInfo2(
- BumpPool* pool,
- const VkPhysicalDeviceSparseImageFormatInfo2* from,
- VkPhysicalDeviceSparseImageFormatInfo2* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkPhysicalDevicePointClippingProperties(
- BumpPool* pool,
- const VkPhysicalDevicePointClippingProperties* from,
- VkPhysicalDevicePointClippingProperties* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkInputAttachmentAspectReference(
- BumpPool* pool,
- const VkInputAttachmentAspectReference* from,
- VkInputAttachmentAspectReference* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkRenderPassInputAttachmentAspectCreateInfo(
- BumpPool* pool,
- const VkRenderPassInputAttachmentAspectCreateInfo* from,
- VkRenderPassInputAttachmentAspectCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pAspectReferences = nullptr;
- if (from->pAspectReferences)
- {
- to->pAspectReferences = (VkInputAttachmentAspectReference*)pool->alloc(from->aspectReferenceCount * sizeof(const VkInputAttachmentAspectReference));
- to->aspectReferenceCount = from->aspectReferenceCount;
- for (uint32_t i = 0; i < (uint32_t)from->aspectReferenceCount; ++i)
- {
- deepcopy_VkInputAttachmentAspectReference(pool, from->pAspectReferences + i, (VkInputAttachmentAspectReference*)(to->pAspectReferences + i));
- }
- }
-}
-
-void deepcopy_VkImageViewUsageCreateInfo(
- BumpPool* pool,
- const VkImageViewUsageCreateInfo* from,
- VkImageViewUsageCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkPipelineTessellationDomainOriginStateCreateInfo(
- BumpPool* pool,
- const VkPipelineTessellationDomainOriginStateCreateInfo* from,
- VkPipelineTessellationDomainOriginStateCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkRenderPassMultiviewCreateInfo(
- BumpPool* pool,
- const VkRenderPassMultiviewCreateInfo* from,
- VkRenderPassMultiviewCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pViewMasks = nullptr;
- if (from->pViewMasks)
- {
- to->pViewMasks = (uint32_t*)pool->dupArray(from->pViewMasks, from->subpassCount * sizeof(const uint32_t));
- }
- to->pViewOffsets = nullptr;
- if (from->pViewOffsets)
- {
- to->pViewOffsets = (int32_t*)pool->dupArray(from->pViewOffsets, from->dependencyCount * sizeof(const int32_t));
- }
- to->pCorrelationMasks = nullptr;
- if (from->pCorrelationMasks)
- {
- to->pCorrelationMasks = (uint32_t*)pool->dupArray(from->pCorrelationMasks, from->correlationMaskCount * sizeof(const uint32_t));
- }
-}
-
-void deepcopy_VkPhysicalDeviceMultiviewFeatures(
- BumpPool* pool,
- const VkPhysicalDeviceMultiviewFeatures* from,
- VkPhysicalDeviceMultiviewFeatures* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkPhysicalDeviceMultiviewProperties(
- BumpPool* pool,
- const VkPhysicalDeviceMultiviewProperties* from,
- VkPhysicalDeviceMultiviewProperties* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkPhysicalDeviceVariablePointerFeatures(
- BumpPool* pool,
- const VkPhysicalDeviceVariablePointerFeatures* from,
- VkPhysicalDeviceVariablePointerFeatures* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkPhysicalDeviceProtectedMemoryFeatures(
- BumpPool* pool,
- const VkPhysicalDeviceProtectedMemoryFeatures* from,
- VkPhysicalDeviceProtectedMemoryFeatures* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkPhysicalDeviceProtectedMemoryProperties(
- BumpPool* pool,
- const VkPhysicalDeviceProtectedMemoryProperties* from,
- VkPhysicalDeviceProtectedMemoryProperties* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkDeviceQueueInfo2(
- BumpPool* pool,
- const VkDeviceQueueInfo2* from,
- VkDeviceQueueInfo2* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkProtectedSubmitInfo(
- BumpPool* pool,
- const VkProtectedSubmitInfo* from,
- VkProtectedSubmitInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkSamplerYcbcrConversionCreateInfo(
- BumpPool* pool,
- const VkSamplerYcbcrConversionCreateInfo* from,
- VkSamplerYcbcrConversionCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- deepcopy_VkComponentMapping(pool, &from->components, (VkComponentMapping*)(&to->components));
-}
-
-void deepcopy_VkSamplerYcbcrConversionInfo(
- BumpPool* pool,
- const VkSamplerYcbcrConversionInfo* from,
- VkSamplerYcbcrConversionInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkBindImagePlaneMemoryInfo(
- BumpPool* pool,
- const VkBindImagePlaneMemoryInfo* from,
- VkBindImagePlaneMemoryInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkImagePlaneMemoryRequirementsInfo(
- BumpPool* pool,
- const VkImagePlaneMemoryRequirementsInfo* from,
- VkImagePlaneMemoryRequirementsInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
- BumpPool* pool,
- const VkPhysicalDeviceSamplerYcbcrConversionFeatures* from,
- VkPhysicalDeviceSamplerYcbcrConversionFeatures* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkSamplerYcbcrConversionImageFormatProperties(
- BumpPool* pool,
- const VkSamplerYcbcrConversionImageFormatProperties* from,
- VkSamplerYcbcrConversionImageFormatProperties* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkDescriptorUpdateTemplateEntry(
- BumpPool* pool,
- const VkDescriptorUpdateTemplateEntry* from,
- VkDescriptorUpdateTemplateEntry* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkDescriptorUpdateTemplateCreateInfo(
- BumpPool* pool,
- const VkDescriptorUpdateTemplateCreateInfo* from,
- VkDescriptorUpdateTemplateCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pDescriptorUpdateEntries = nullptr;
- if (from->pDescriptorUpdateEntries)
- {
- to->pDescriptorUpdateEntries = (VkDescriptorUpdateTemplateEntry*)pool->alloc(from->descriptorUpdateEntryCount * sizeof(const VkDescriptorUpdateTemplateEntry));
- to->descriptorUpdateEntryCount = from->descriptorUpdateEntryCount;
- for (uint32_t i = 0; i < (uint32_t)from->descriptorUpdateEntryCount; ++i)
- {
- deepcopy_VkDescriptorUpdateTemplateEntry(pool, from->pDescriptorUpdateEntries + i, (VkDescriptorUpdateTemplateEntry*)(to->pDescriptorUpdateEntries + i));
- }
- }
-}
-
-void deepcopy_VkExternalMemoryProperties(
- BumpPool* pool,
- const VkExternalMemoryProperties* from,
- VkExternalMemoryProperties* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkPhysicalDeviceExternalImageFormatInfo(
- BumpPool* pool,
- const VkPhysicalDeviceExternalImageFormatInfo* from,
- VkPhysicalDeviceExternalImageFormatInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkExternalImageFormatProperties(
- BumpPool* pool,
- const VkExternalImageFormatProperties* from,
- VkExternalImageFormatProperties* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- deepcopy_VkExternalMemoryProperties(pool, &from->externalMemoryProperties, (VkExternalMemoryProperties*)(&to->externalMemoryProperties));
-}
-
-void deepcopy_VkPhysicalDeviceExternalBufferInfo(
- BumpPool* pool,
- const VkPhysicalDeviceExternalBufferInfo* from,
- VkPhysicalDeviceExternalBufferInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkExternalBufferProperties(
- BumpPool* pool,
- const VkExternalBufferProperties* from,
- VkExternalBufferProperties* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- deepcopy_VkExternalMemoryProperties(pool, &from->externalMemoryProperties, (VkExternalMemoryProperties*)(&to->externalMemoryProperties));
-}
-
-void deepcopy_VkPhysicalDeviceIDProperties(
- BumpPool* pool,
- const VkPhysicalDeviceIDProperties* from,
- VkPhysicalDeviceIDProperties* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- memcpy(to->deviceUUID, from->deviceUUID, VK_UUID_SIZE * sizeof(uint8_t));
- memcpy(to->driverUUID, from->driverUUID, VK_UUID_SIZE * sizeof(uint8_t));
- memcpy(to->deviceLUID, from->deviceLUID, VK_LUID_SIZE * sizeof(uint8_t));
-}
-
-void deepcopy_VkExternalMemoryImageCreateInfo(
- BumpPool* pool,
- const VkExternalMemoryImageCreateInfo* from,
- VkExternalMemoryImageCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkExternalMemoryBufferCreateInfo(
- BumpPool* pool,
- const VkExternalMemoryBufferCreateInfo* from,
- VkExternalMemoryBufferCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkExportMemoryAllocateInfo(
- BumpPool* pool,
- const VkExportMemoryAllocateInfo* from,
- VkExportMemoryAllocateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkPhysicalDeviceExternalFenceInfo(
- BumpPool* pool,
- const VkPhysicalDeviceExternalFenceInfo* from,
- VkPhysicalDeviceExternalFenceInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkExternalFenceProperties(
- BumpPool* pool,
- const VkExternalFenceProperties* from,
- VkExternalFenceProperties* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkExportFenceCreateInfo(
- BumpPool* pool,
- const VkExportFenceCreateInfo* from,
- VkExportFenceCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkExportSemaphoreCreateInfo(
- BumpPool* pool,
- const VkExportSemaphoreCreateInfo* from,
- VkExportSemaphoreCreateInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkPhysicalDeviceExternalSemaphoreInfo(
- BumpPool* pool,
- const VkPhysicalDeviceExternalSemaphoreInfo* from,
- VkPhysicalDeviceExternalSemaphoreInfo* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkExternalSemaphoreProperties(
- BumpPool* pool,
- const VkExternalSemaphoreProperties* from,
- VkExternalSemaphoreProperties* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkPhysicalDeviceMaintenance3Properties(
- BumpPool* pool,
- const VkPhysicalDeviceMaintenance3Properties* from,
- VkPhysicalDeviceMaintenance3Properties* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkDescriptorSetLayoutSupport(
- BumpPool* pool,
- const VkDescriptorSetLayoutSupport* from,
- VkDescriptorSetLayoutSupport* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkPhysicalDeviceShaderDrawParameterFeatures(
- BumpPool* pool,
- const VkPhysicalDeviceShaderDrawParameterFeatures* from,
- VkPhysicalDeviceShaderDrawParameterFeatures* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_surface
-void deepcopy_VkSurfaceCapabilitiesKHR(
- BumpPool* pool,
- const VkSurfaceCapabilitiesKHR* from,
- VkSurfaceCapabilitiesKHR* to)
-{
- (void)pool;
- *to = *from;
- deepcopy_VkExtent2D(pool, &from->currentExtent, (VkExtent2D*)(&to->currentExtent));
- deepcopy_VkExtent2D(pool, &from->minImageExtent, (VkExtent2D*)(&to->minImageExtent));
- deepcopy_VkExtent2D(pool, &from->maxImageExtent, (VkExtent2D*)(&to->maxImageExtent));
-}
-
-void deepcopy_VkSurfaceFormatKHR(
- BumpPool* pool,
- const VkSurfaceFormatKHR* from,
- VkSurfaceFormatKHR* to)
-{
- (void)pool;
- *to = *from;
-}
-
-#endif
-#ifdef VK_KHR_swapchain
-void deepcopy_VkSwapchainCreateInfoKHR(
- BumpPool* pool,
- const VkSwapchainCreateInfoKHR* from,
- VkSwapchainCreateInfoKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- deepcopy_VkExtent2D(pool, &from->imageExtent, (VkExtent2D*)(&to->imageExtent));
- to->pQueueFamilyIndices = nullptr;
- if (from->pQueueFamilyIndices)
- {
- to->pQueueFamilyIndices = (uint32_t*)pool->dupArray(from->pQueueFamilyIndices, from->queueFamilyIndexCount * sizeof(const uint32_t));
- }
-}
-
-void deepcopy_VkPresentInfoKHR(
- BumpPool* pool,
- const VkPresentInfoKHR* from,
- VkPresentInfoKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pWaitSemaphores = nullptr;
- if (from->pWaitSemaphores)
- {
- to->pWaitSemaphores = (VkSemaphore*)pool->dupArray(from->pWaitSemaphores, from->waitSemaphoreCount * sizeof(const VkSemaphore));
- }
- to->pSwapchains = nullptr;
- if (from->pSwapchains)
- {
- to->pSwapchains = (VkSwapchainKHR*)pool->dupArray(from->pSwapchains, from->swapchainCount * sizeof(const VkSwapchainKHR));
- }
- to->pImageIndices = nullptr;
- if (from->pImageIndices)
- {
- to->pImageIndices = (uint32_t*)pool->dupArray(from->pImageIndices, from->swapchainCount * sizeof(const uint32_t));
- }
- to->pResults = nullptr;
- if (from->pResults)
- {
- to->pResults = (VkResult*)pool->dupArray(from->pResults, from->swapchainCount * sizeof(VkResult));
- }
-}
-
-void deepcopy_VkImageSwapchainCreateInfoKHR(
- BumpPool* pool,
- const VkImageSwapchainCreateInfoKHR* from,
- VkImageSwapchainCreateInfoKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkBindImageMemorySwapchainInfoKHR(
- BumpPool* pool,
- const VkBindImageMemorySwapchainInfoKHR* from,
- VkBindImageMemorySwapchainInfoKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkAcquireNextImageInfoKHR(
- BumpPool* pool,
- const VkAcquireNextImageInfoKHR* from,
- VkAcquireNextImageInfoKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkDeviceGroupPresentCapabilitiesKHR(
- BumpPool* pool,
- const VkDeviceGroupPresentCapabilitiesKHR* from,
- VkDeviceGroupPresentCapabilitiesKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- memcpy(to->presentMask, from->presentMask, VK_MAX_DEVICE_GROUP_SIZE * sizeof(uint32_t));
-}
-
-void deepcopy_VkDeviceGroupPresentInfoKHR(
- BumpPool* pool,
- const VkDeviceGroupPresentInfoKHR* from,
- VkDeviceGroupPresentInfoKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pDeviceMasks = nullptr;
- if (from->pDeviceMasks)
- {
- to->pDeviceMasks = (uint32_t*)pool->dupArray(from->pDeviceMasks, from->swapchainCount * sizeof(const uint32_t));
- }
-}
-
-void deepcopy_VkDeviceGroupSwapchainCreateInfoKHR(
- BumpPool* pool,
- const VkDeviceGroupSwapchainCreateInfoKHR* from,
- VkDeviceGroupSwapchainCreateInfoKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_display
-void deepcopy_VkDisplayPropertiesKHR(
- BumpPool* pool,
- const VkDisplayPropertiesKHR* from,
- VkDisplayPropertiesKHR* to)
-{
- (void)pool;
- *to = *from;
- to->displayName = nullptr;
- if (from->displayName)
- {
- to->displayName = pool->strDup(from->displayName);
- }
- deepcopy_VkExtent2D(pool, &from->physicalDimensions, (VkExtent2D*)(&to->physicalDimensions));
- deepcopy_VkExtent2D(pool, &from->physicalResolution, (VkExtent2D*)(&to->physicalResolution));
-}
-
-void deepcopy_VkDisplayModeParametersKHR(
- BumpPool* pool,
- const VkDisplayModeParametersKHR* from,
- VkDisplayModeParametersKHR* to)
-{
- (void)pool;
- *to = *from;
- deepcopy_VkExtent2D(pool, &from->visibleRegion, (VkExtent2D*)(&to->visibleRegion));
-}
-
-void deepcopy_VkDisplayModePropertiesKHR(
- BumpPool* pool,
- const VkDisplayModePropertiesKHR* from,
- VkDisplayModePropertiesKHR* to)
-{
- (void)pool;
- *to = *from;
- deepcopy_VkDisplayModeParametersKHR(pool, &from->parameters, (VkDisplayModeParametersKHR*)(&to->parameters));
-}
-
-void deepcopy_VkDisplayModeCreateInfoKHR(
- BumpPool* pool,
- const VkDisplayModeCreateInfoKHR* from,
- VkDisplayModeCreateInfoKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- deepcopy_VkDisplayModeParametersKHR(pool, &from->parameters, (VkDisplayModeParametersKHR*)(&to->parameters));
-}
-
-void deepcopy_VkDisplayPlaneCapabilitiesKHR(
- BumpPool* pool,
- const VkDisplayPlaneCapabilitiesKHR* from,
- VkDisplayPlaneCapabilitiesKHR* to)
-{
- (void)pool;
- *to = *from;
- deepcopy_VkOffset2D(pool, &from->minSrcPosition, (VkOffset2D*)(&to->minSrcPosition));
- deepcopy_VkOffset2D(pool, &from->maxSrcPosition, (VkOffset2D*)(&to->maxSrcPosition));
- deepcopy_VkExtent2D(pool, &from->minSrcExtent, (VkExtent2D*)(&to->minSrcExtent));
- deepcopy_VkExtent2D(pool, &from->maxSrcExtent, (VkExtent2D*)(&to->maxSrcExtent));
- deepcopy_VkOffset2D(pool, &from->minDstPosition, (VkOffset2D*)(&to->minDstPosition));
- deepcopy_VkOffset2D(pool, &from->maxDstPosition, (VkOffset2D*)(&to->maxDstPosition));
- deepcopy_VkExtent2D(pool, &from->minDstExtent, (VkExtent2D*)(&to->minDstExtent));
- deepcopy_VkExtent2D(pool, &from->maxDstExtent, (VkExtent2D*)(&to->maxDstExtent));
-}
-
-void deepcopy_VkDisplayPlanePropertiesKHR(
- BumpPool* pool,
- const VkDisplayPlanePropertiesKHR* from,
- VkDisplayPlanePropertiesKHR* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkDisplaySurfaceCreateInfoKHR(
- BumpPool* pool,
- const VkDisplaySurfaceCreateInfoKHR* from,
- VkDisplaySurfaceCreateInfoKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- deepcopy_VkExtent2D(pool, &from->imageExtent, (VkExtent2D*)(&to->imageExtent));
-}
-
-#endif
-#ifdef VK_KHR_display_swapchain
-void deepcopy_VkDisplayPresentInfoKHR(
- BumpPool* pool,
- const VkDisplayPresentInfoKHR* from,
- VkDisplayPresentInfoKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- deepcopy_VkRect2D(pool, &from->srcRect, (VkRect2D*)(&to->srcRect));
- deepcopy_VkRect2D(pool, &from->dstRect, (VkRect2D*)(&to->dstRect));
-}
-
-#endif
-#ifdef VK_KHR_xlib_surface
-void deepcopy_VkXlibSurfaceCreateInfoKHR(
- BumpPool* pool,
- const VkXlibSurfaceCreateInfoKHR* from,
- VkXlibSurfaceCreateInfoKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->dpy = nullptr;
- if (from->dpy)
- {
- to->dpy = (Display*)pool->dupArray(from->dpy, sizeof(Display));
- }
-}
-
-#endif
-#ifdef VK_KHR_xcb_surface
-void deepcopy_VkXcbSurfaceCreateInfoKHR(
- BumpPool* pool,
- const VkXcbSurfaceCreateInfoKHR* from,
- VkXcbSurfaceCreateInfoKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->connection = nullptr;
- if (from->connection)
- {
- to->connection = (xcb_connection_t*)pool->dupArray(from->connection, sizeof(xcb_connection_t));
- }
-}
-
-#endif
-#ifdef VK_KHR_wayland_surface
-void deepcopy_VkWaylandSurfaceCreateInfoKHR(
- BumpPool* pool,
- const VkWaylandSurfaceCreateInfoKHR* from,
- VkWaylandSurfaceCreateInfoKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->display = nullptr;
- if (from->display)
- {
- to->display = (wl_display*)pool->dupArray(from->display, sizeof(wl_display));
- }
- to->surface = nullptr;
- if (from->surface)
- {
- to->surface = (wl_surface*)pool->dupArray(from->surface, sizeof(wl_surface));
- }
-}
-
-#endif
-#ifdef VK_KHR_mir_surface
-void deepcopy_VkMirSurfaceCreateInfoKHR(
- BumpPool* pool,
- const VkMirSurfaceCreateInfoKHR* from,
- VkMirSurfaceCreateInfoKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->connection = nullptr;
- if (from->connection)
- {
- to->connection = (MirConnection*)pool->dupArray(from->connection, sizeof(MirConnection));
- }
- to->mirSurface = nullptr;
- if (from->mirSurface)
- {
- to->mirSurface = (MirSurface*)pool->dupArray(from->mirSurface, sizeof(MirSurface));
- }
-}
-
-#endif
-#ifdef VK_KHR_android_surface
-void deepcopy_VkAndroidSurfaceCreateInfoKHR(
- BumpPool* pool,
- const VkAndroidSurfaceCreateInfoKHR* from,
- VkAndroidSurfaceCreateInfoKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->window = nullptr;
- if (from->window)
- {
- to->window = (ANativeWindow*)pool->dupArray(from->window, sizeof(ANativeWindow));
- }
-}
-
-#endif
-#ifdef VK_KHR_win32_surface
-void deepcopy_VkWin32SurfaceCreateInfoKHR(
- BumpPool* pool,
- const VkWin32SurfaceCreateInfoKHR* from,
- VkWin32SurfaceCreateInfoKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_sampler_mirror_clamp_to_edge
-#endif
-#ifdef VK_KHR_multiview
-#endif
-#ifdef VK_KHR_get_physical_device_properties2
-#endif
-#ifdef VK_KHR_device_group
-#endif
-#ifdef VK_KHR_shader_draw_parameters
-#endif
-#ifdef VK_KHR_maintenance1
-#endif
-#ifdef VK_KHR_device_group_creation
-#endif
-#ifdef VK_KHR_external_memory_capabilities
-#endif
-#ifdef VK_KHR_external_memory
-#endif
-#ifdef VK_KHR_external_memory_win32
-void deepcopy_VkImportMemoryWin32HandleInfoKHR(
- BumpPool* pool,
- const VkImportMemoryWin32HandleInfoKHR* from,
- VkImportMemoryWin32HandleInfoKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkExportMemoryWin32HandleInfoKHR(
- BumpPool* pool,
- const VkExportMemoryWin32HandleInfoKHR* from,
- VkExportMemoryWin32HandleInfoKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pAttributes = nullptr;
- if (from->pAttributes)
- {
- to->pAttributes = (SECURITY_ATTRIBUTES*)pool->dupArray(from->pAttributes, sizeof(const SECURITY_ATTRIBUTES));
- }
-}
-
-void deepcopy_VkMemoryWin32HandlePropertiesKHR(
- BumpPool* pool,
- const VkMemoryWin32HandlePropertiesKHR* from,
- VkMemoryWin32HandlePropertiesKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkMemoryGetWin32HandleInfoKHR(
- BumpPool* pool,
- const VkMemoryGetWin32HandleInfoKHR* from,
- VkMemoryGetWin32HandleInfoKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_external_memory_fd
-void deepcopy_VkImportMemoryFdInfoKHR(
- BumpPool* pool,
- const VkImportMemoryFdInfoKHR* from,
- VkImportMemoryFdInfoKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkMemoryFdPropertiesKHR(
- BumpPool* pool,
- const VkMemoryFdPropertiesKHR* from,
- VkMemoryFdPropertiesKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkMemoryGetFdInfoKHR(
- BumpPool* pool,
- const VkMemoryGetFdInfoKHR* from,
- VkMemoryGetFdInfoKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_win32_keyed_mutex
-void deepcopy_VkWin32KeyedMutexAcquireReleaseInfoKHR(
- BumpPool* pool,
- const VkWin32KeyedMutexAcquireReleaseInfoKHR* from,
- VkWin32KeyedMutexAcquireReleaseInfoKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pAcquireSyncs = nullptr;
- if (from->pAcquireSyncs)
- {
- to->pAcquireSyncs = (VkDeviceMemory*)pool->dupArray(from->pAcquireSyncs, from->acquireCount * sizeof(const VkDeviceMemory));
- }
- to->pAcquireKeys = nullptr;
- if (from->pAcquireKeys)
- {
- to->pAcquireKeys = (uint64_t*)pool->dupArray(from->pAcquireKeys, from->acquireCount * sizeof(const uint64_t));
- }
- to->pAcquireTimeouts = nullptr;
- if (from->pAcquireTimeouts)
- {
- to->pAcquireTimeouts = (uint32_t*)pool->dupArray(from->pAcquireTimeouts, from->acquireCount * sizeof(const uint32_t));
- }
- to->pReleaseSyncs = nullptr;
- if (from->pReleaseSyncs)
- {
- to->pReleaseSyncs = (VkDeviceMemory*)pool->dupArray(from->pReleaseSyncs, from->releaseCount * sizeof(const VkDeviceMemory));
- }
- to->pReleaseKeys = nullptr;
- if (from->pReleaseKeys)
- {
- to->pReleaseKeys = (uint64_t*)pool->dupArray(from->pReleaseKeys, from->releaseCount * sizeof(const uint64_t));
- }
-}
-
-#endif
-#ifdef VK_KHR_external_semaphore_capabilities
-#endif
-#ifdef VK_KHR_external_semaphore
-#endif
-#ifdef VK_KHR_external_semaphore_win32
-void deepcopy_VkImportSemaphoreWin32HandleInfoKHR(
- BumpPool* pool,
- const VkImportSemaphoreWin32HandleInfoKHR* from,
- VkImportSemaphoreWin32HandleInfoKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkExportSemaphoreWin32HandleInfoKHR(
- BumpPool* pool,
- const VkExportSemaphoreWin32HandleInfoKHR* from,
- VkExportSemaphoreWin32HandleInfoKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pAttributes = nullptr;
- if (from->pAttributes)
- {
- to->pAttributes = (SECURITY_ATTRIBUTES*)pool->dupArray(from->pAttributes, sizeof(const SECURITY_ATTRIBUTES));
- }
-}
-
-void deepcopy_VkD3D12FenceSubmitInfoKHR(
- BumpPool* pool,
- const VkD3D12FenceSubmitInfoKHR* from,
- VkD3D12FenceSubmitInfoKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pWaitSemaphoreValues = nullptr;
- if (from->pWaitSemaphoreValues)
- {
- to->pWaitSemaphoreValues = (uint64_t*)pool->dupArray(from->pWaitSemaphoreValues, from->waitSemaphoreValuesCount * sizeof(const uint64_t));
- }
- to->pSignalSemaphoreValues = nullptr;
- if (from->pSignalSemaphoreValues)
- {
- to->pSignalSemaphoreValues = (uint64_t*)pool->dupArray(from->pSignalSemaphoreValues, from->signalSemaphoreValuesCount * sizeof(const uint64_t));
- }
-}
-
-void deepcopy_VkSemaphoreGetWin32HandleInfoKHR(
- BumpPool* pool,
- const VkSemaphoreGetWin32HandleInfoKHR* from,
- VkSemaphoreGetWin32HandleInfoKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_external_semaphore_fd
-void deepcopy_VkImportSemaphoreFdInfoKHR(
- BumpPool* pool,
- const VkImportSemaphoreFdInfoKHR* from,
- VkImportSemaphoreFdInfoKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkSemaphoreGetFdInfoKHR(
- BumpPool* pool,
- const VkSemaphoreGetFdInfoKHR* from,
- VkSemaphoreGetFdInfoKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_push_descriptor
-void deepcopy_VkPhysicalDevicePushDescriptorPropertiesKHR(
- BumpPool* pool,
- const VkPhysicalDevicePushDescriptorPropertiesKHR* from,
- VkPhysicalDevicePushDescriptorPropertiesKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_16bit_storage
-#endif
-#ifdef VK_KHR_incremental_present
-void deepcopy_VkRectLayerKHR(
- BumpPool* pool,
- const VkRectLayerKHR* from,
- VkRectLayerKHR* to)
-{
- (void)pool;
- *to = *from;
- deepcopy_VkOffset2D(pool, &from->offset, (VkOffset2D*)(&to->offset));
- deepcopy_VkExtent2D(pool, &from->extent, (VkExtent2D*)(&to->extent));
-}
-
-void deepcopy_VkPresentRegionKHR(
- BumpPool* pool,
- const VkPresentRegionKHR* from,
- VkPresentRegionKHR* to)
-{
- (void)pool;
- *to = *from;
- to->pRectangles = nullptr;
- if (from->pRectangles)
- {
- to->pRectangles = (VkRectLayerKHR*)pool->alloc(from->rectangleCount * sizeof(const VkRectLayerKHR));
- to->rectangleCount = from->rectangleCount;
- for (uint32_t i = 0; i < (uint32_t)from->rectangleCount; ++i)
- {
- deepcopy_VkRectLayerKHR(pool, from->pRectangles + i, (VkRectLayerKHR*)(to->pRectangles + i));
- }
- }
-}
-
-void deepcopy_VkPresentRegionsKHR(
- BumpPool* pool,
- const VkPresentRegionsKHR* from,
- VkPresentRegionsKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pRegions = nullptr;
- if (from->pRegions)
- {
- to->pRegions = (VkPresentRegionKHR*)pool->alloc(from->swapchainCount * sizeof(const VkPresentRegionKHR));
- to->swapchainCount = from->swapchainCount;
- for (uint32_t i = 0; i < (uint32_t)from->swapchainCount; ++i)
- {
- deepcopy_VkPresentRegionKHR(pool, from->pRegions + i, (VkPresentRegionKHR*)(to->pRegions + i));
- }
- }
-}
-
-#endif
-#ifdef VK_KHR_descriptor_update_template
-#endif
-#ifdef VK_KHR_create_renderpass2
-void deepcopy_VkAttachmentDescription2KHR(
- BumpPool* pool,
- const VkAttachmentDescription2KHR* from,
- VkAttachmentDescription2KHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkAttachmentReference2KHR(
- BumpPool* pool,
- const VkAttachmentReference2KHR* from,
- VkAttachmentReference2KHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkSubpassDescription2KHR(
- BumpPool* pool,
- const VkSubpassDescription2KHR* from,
- VkSubpassDescription2KHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pInputAttachments = nullptr;
- if (from->pInputAttachments)
- {
- to->pInputAttachments = (VkAttachmentReference2KHR*)pool->alloc(from->inputAttachmentCount * sizeof(const VkAttachmentReference2KHR));
- to->inputAttachmentCount = from->inputAttachmentCount;
- for (uint32_t i = 0; i < (uint32_t)from->inputAttachmentCount; ++i)
- {
- deepcopy_VkAttachmentReference2KHR(pool, from->pInputAttachments + i, (VkAttachmentReference2KHR*)(to->pInputAttachments + i));
- }
- }
- to->pColorAttachments = nullptr;
- if (from->pColorAttachments)
- {
- to->pColorAttachments = (VkAttachmentReference2KHR*)pool->alloc(from->colorAttachmentCount * sizeof(const VkAttachmentReference2KHR));
- to->colorAttachmentCount = from->colorAttachmentCount;
- for (uint32_t i = 0; i < (uint32_t)from->colorAttachmentCount; ++i)
- {
- deepcopy_VkAttachmentReference2KHR(pool, from->pColorAttachments + i, (VkAttachmentReference2KHR*)(to->pColorAttachments + i));
- }
- }
- to->pResolveAttachments = nullptr;
- if (from->pResolveAttachments)
- {
- to->pResolveAttachments = (VkAttachmentReference2KHR*)pool->alloc(from->colorAttachmentCount * sizeof(const VkAttachmentReference2KHR));
- to->colorAttachmentCount = from->colorAttachmentCount;
- for (uint32_t i = 0; i < (uint32_t)from->colorAttachmentCount; ++i)
- {
- deepcopy_VkAttachmentReference2KHR(pool, from->pResolveAttachments + i, (VkAttachmentReference2KHR*)(to->pResolveAttachments + i));
- }
- }
- to->pDepthStencilAttachment = nullptr;
- if (from->pDepthStencilAttachment)
- {
- to->pDepthStencilAttachment = (VkAttachmentReference2KHR*)pool->alloc(sizeof(const VkAttachmentReference2KHR));
- deepcopy_VkAttachmentReference2KHR(pool, from->pDepthStencilAttachment, (VkAttachmentReference2KHR*)(to->pDepthStencilAttachment));
- }
- to->pPreserveAttachments = nullptr;
- if (from->pPreserveAttachments)
- {
- to->pPreserveAttachments = (uint32_t*)pool->dupArray(from->pPreserveAttachments, from->preserveAttachmentCount * sizeof(const uint32_t));
- }
-}
-
-void deepcopy_VkSubpassDependency2KHR(
- BumpPool* pool,
- const VkSubpassDependency2KHR* from,
- VkSubpassDependency2KHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkRenderPassCreateInfo2KHR(
- BumpPool* pool,
- const VkRenderPassCreateInfo2KHR* from,
- VkRenderPassCreateInfo2KHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pAttachments = nullptr;
- if (from->pAttachments)
- {
- to->pAttachments = (VkAttachmentDescription2KHR*)pool->alloc(from->attachmentCount * sizeof(const VkAttachmentDescription2KHR));
- to->attachmentCount = from->attachmentCount;
- for (uint32_t i = 0; i < (uint32_t)from->attachmentCount; ++i)
- {
- deepcopy_VkAttachmentDescription2KHR(pool, from->pAttachments + i, (VkAttachmentDescription2KHR*)(to->pAttachments + i));
- }
- }
- to->pSubpasses = nullptr;
- if (from->pSubpasses)
- {
- to->pSubpasses = (VkSubpassDescription2KHR*)pool->alloc(from->subpassCount * sizeof(const VkSubpassDescription2KHR));
- to->subpassCount = from->subpassCount;
- for (uint32_t i = 0; i < (uint32_t)from->subpassCount; ++i)
- {
- deepcopy_VkSubpassDescription2KHR(pool, from->pSubpasses + i, (VkSubpassDescription2KHR*)(to->pSubpasses + i));
- }
- }
- to->pDependencies = nullptr;
- if (from->pDependencies)
- {
- to->pDependencies = (VkSubpassDependency2KHR*)pool->alloc(from->dependencyCount * sizeof(const VkSubpassDependency2KHR));
- to->dependencyCount = from->dependencyCount;
- for (uint32_t i = 0; i < (uint32_t)from->dependencyCount; ++i)
- {
- deepcopy_VkSubpassDependency2KHR(pool, from->pDependencies + i, (VkSubpassDependency2KHR*)(to->pDependencies + i));
- }
- }
- to->pCorrelatedViewMasks = nullptr;
- if (from->pCorrelatedViewMasks)
- {
- to->pCorrelatedViewMasks = (uint32_t*)pool->dupArray(from->pCorrelatedViewMasks, from->correlatedViewMaskCount * sizeof(const uint32_t));
- }
-}
-
-void deepcopy_VkSubpassBeginInfoKHR(
- BumpPool* pool,
- const VkSubpassBeginInfoKHR* from,
- VkSubpassBeginInfoKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkSubpassEndInfoKHR(
- BumpPool* pool,
- const VkSubpassEndInfoKHR* from,
- VkSubpassEndInfoKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_shared_presentable_image
-void deepcopy_VkSharedPresentSurfaceCapabilitiesKHR(
- BumpPool* pool,
- const VkSharedPresentSurfaceCapabilitiesKHR* from,
- VkSharedPresentSurfaceCapabilitiesKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_external_fence_capabilities
-#endif
-#ifdef VK_KHR_external_fence
-#endif
-#ifdef VK_KHR_external_fence_win32
-void deepcopy_VkImportFenceWin32HandleInfoKHR(
- BumpPool* pool,
- const VkImportFenceWin32HandleInfoKHR* from,
- VkImportFenceWin32HandleInfoKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkExportFenceWin32HandleInfoKHR(
- BumpPool* pool,
- const VkExportFenceWin32HandleInfoKHR* from,
- VkExportFenceWin32HandleInfoKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pAttributes = nullptr;
- if (from->pAttributes)
- {
- to->pAttributes = (SECURITY_ATTRIBUTES*)pool->dupArray(from->pAttributes, sizeof(const SECURITY_ATTRIBUTES));
- }
-}
-
-void deepcopy_VkFenceGetWin32HandleInfoKHR(
- BumpPool* pool,
- const VkFenceGetWin32HandleInfoKHR* from,
- VkFenceGetWin32HandleInfoKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_external_fence_fd
-void deepcopy_VkImportFenceFdInfoKHR(
- BumpPool* pool,
- const VkImportFenceFdInfoKHR* from,
- VkImportFenceFdInfoKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkFenceGetFdInfoKHR(
- BumpPool* pool,
- const VkFenceGetFdInfoKHR* from,
- VkFenceGetFdInfoKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_maintenance2
-#endif
-#ifdef VK_KHR_get_surface_capabilities2
-void deepcopy_VkPhysicalDeviceSurfaceInfo2KHR(
- BumpPool* pool,
- const VkPhysicalDeviceSurfaceInfo2KHR* from,
- VkPhysicalDeviceSurfaceInfo2KHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkSurfaceCapabilities2KHR(
- BumpPool* pool,
- const VkSurfaceCapabilities2KHR* from,
- VkSurfaceCapabilities2KHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- deepcopy_VkSurfaceCapabilitiesKHR(pool, &from->surfaceCapabilities, (VkSurfaceCapabilitiesKHR*)(&to->surfaceCapabilities));
-}
-
-void deepcopy_VkSurfaceFormat2KHR(
- BumpPool* pool,
- const VkSurfaceFormat2KHR* from,
- VkSurfaceFormat2KHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- deepcopy_VkSurfaceFormatKHR(pool, &from->surfaceFormat, (VkSurfaceFormatKHR*)(&to->surfaceFormat));
-}
-
-#endif
-#ifdef VK_KHR_variable_pointers
-#endif
-#ifdef VK_KHR_get_display_properties2
-void deepcopy_VkDisplayProperties2KHR(
- BumpPool* pool,
- const VkDisplayProperties2KHR* from,
- VkDisplayProperties2KHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- deepcopy_VkDisplayPropertiesKHR(pool, &from->displayProperties, (VkDisplayPropertiesKHR*)(&to->displayProperties));
-}
-
-void deepcopy_VkDisplayPlaneProperties2KHR(
- BumpPool* pool,
- const VkDisplayPlaneProperties2KHR* from,
- VkDisplayPlaneProperties2KHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- deepcopy_VkDisplayPlanePropertiesKHR(pool, &from->displayPlaneProperties, (VkDisplayPlanePropertiesKHR*)(&to->displayPlaneProperties));
-}
-
-void deepcopy_VkDisplayModeProperties2KHR(
- BumpPool* pool,
- const VkDisplayModeProperties2KHR* from,
- VkDisplayModeProperties2KHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- deepcopy_VkDisplayModePropertiesKHR(pool, &from->displayModeProperties, (VkDisplayModePropertiesKHR*)(&to->displayModeProperties));
-}
-
-void deepcopy_VkDisplayPlaneInfo2KHR(
- BumpPool* pool,
- const VkDisplayPlaneInfo2KHR* from,
- VkDisplayPlaneInfo2KHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkDisplayPlaneCapabilities2KHR(
- BumpPool* pool,
- const VkDisplayPlaneCapabilities2KHR* from,
- VkDisplayPlaneCapabilities2KHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- deepcopy_VkDisplayPlaneCapabilitiesKHR(pool, &from->capabilities, (VkDisplayPlaneCapabilitiesKHR*)(&to->capabilities));
-}
-
-#endif
-#ifdef VK_KHR_dedicated_allocation
-#endif
-#ifdef VK_KHR_storage_buffer_storage_class
-#endif
-#ifdef VK_KHR_relaxed_block_layout
-#endif
-#ifdef VK_KHR_get_memory_requirements2
-#endif
-#ifdef VK_KHR_image_format_list
-void deepcopy_VkImageFormatListCreateInfoKHR(
- BumpPool* pool,
- const VkImageFormatListCreateInfoKHR* from,
- VkImageFormatListCreateInfoKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pViewFormats = nullptr;
- if (from->pViewFormats)
- {
- to->pViewFormats = (VkFormat*)pool->dupArray(from->pViewFormats, from->viewFormatCount * sizeof(const VkFormat));
- }
-}
-
-#endif
-#ifdef VK_KHR_sampler_ycbcr_conversion
-#endif
-#ifdef VK_KHR_bind_memory2
-#endif
-#ifdef VK_KHR_maintenance3
-#endif
-#ifdef VK_KHR_draw_indirect_count
-#endif
-#ifdef VK_KHR_8bit_storage
-void deepcopy_VkPhysicalDevice8BitStorageFeaturesKHR(
- BumpPool* pool,
- const VkPhysicalDevice8BitStorageFeaturesKHR* from,
- VkPhysicalDevice8BitStorageFeaturesKHR* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_shader_float16_int8
-void deepcopy_VkPhysicalDeviceShaderFloat16Int8Features(
- BumpPool* pool,
- const VkPhysicalDeviceShaderFloat16Int8Features* from,
- VkPhysicalDeviceShaderFloat16Int8Features* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-#endif
-#ifdef VK_ANDROID_native_buffer
-void deepcopy_VkNativeBufferANDROID(
- BumpPool* pool,
- const VkNativeBufferANDROID* from,
- VkNativeBufferANDROID* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->handle = nullptr;
- if (from->handle)
- {
- to->handle = (uint32_t*)pool->dupArray(from->handle, sizeof(const uint32_t));
- }
-}
-
-#endif
-#ifdef VK_EXT_debug_report
-void deepcopy_VkDebugReportCallbackCreateInfoEXT(
- BumpPool* pool,
- const VkDebugReportCallbackCreateInfoEXT* from,
- VkDebugReportCallbackCreateInfoEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pUserData = nullptr;
- if (from->pUserData)
- {
- to->pUserData = (void*)pool->dupArray(from->pUserData, sizeof(uint8_t));
- }
-}
-
-#endif
-#ifdef VK_NV_glsl_shader
-#endif
-#ifdef VK_EXT_depth_range_unrestricted
-#endif
-#ifdef VK_IMG_filter_cubic
-#endif
-#ifdef VK_AMD_rasterization_order
-void deepcopy_VkPipelineRasterizationStateRasterizationOrderAMD(
- BumpPool* pool,
- const VkPipelineRasterizationStateRasterizationOrderAMD* from,
- VkPipelineRasterizationStateRasterizationOrderAMD* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-#endif
-#ifdef VK_AMD_shader_trinary_minmax
-#endif
-#ifdef VK_AMD_shader_explicit_vertex_parameter
-#endif
-#ifdef VK_EXT_debug_marker
-void deepcopy_VkDebugMarkerObjectNameInfoEXT(
- BumpPool* pool,
- const VkDebugMarkerObjectNameInfoEXT* from,
- VkDebugMarkerObjectNameInfoEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pObjectName = nullptr;
- if (from->pObjectName)
- {
- to->pObjectName = pool->strDup(from->pObjectName);
- }
-}
-
-void deepcopy_VkDebugMarkerObjectTagInfoEXT(
- BumpPool* pool,
- const VkDebugMarkerObjectTagInfoEXT* from,
- VkDebugMarkerObjectTagInfoEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pTag = nullptr;
- if (from->pTag)
- {
- to->pTag = (void*)pool->dupArray(from->pTag, from->tagSize * sizeof(const uint8_t));
- }
-}
-
-void deepcopy_VkDebugMarkerMarkerInfoEXT(
- BumpPool* pool,
- const VkDebugMarkerMarkerInfoEXT* from,
- VkDebugMarkerMarkerInfoEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pMarkerName = nullptr;
- if (from->pMarkerName)
- {
- to->pMarkerName = pool->strDup(from->pMarkerName);
- }
- memcpy(to->color, from->color, 4 * sizeof(float));
-}
-
-#endif
-#ifdef VK_AMD_gcn_shader
-#endif
-#ifdef VK_NV_dedicated_allocation
-void deepcopy_VkDedicatedAllocationImageCreateInfoNV(
- BumpPool* pool,
- const VkDedicatedAllocationImageCreateInfoNV* from,
- VkDedicatedAllocationImageCreateInfoNV* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkDedicatedAllocationBufferCreateInfoNV(
- BumpPool* pool,
- const VkDedicatedAllocationBufferCreateInfoNV* from,
- VkDedicatedAllocationBufferCreateInfoNV* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkDedicatedAllocationMemoryAllocateInfoNV(
- BumpPool* pool,
- const VkDedicatedAllocationMemoryAllocateInfoNV* from,
- VkDedicatedAllocationMemoryAllocateInfoNV* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-#endif
-#ifdef VK_AMD_draw_indirect_count
-#endif
-#ifdef VK_AMD_negative_viewport_height
-#endif
-#ifdef VK_AMD_gpu_shader_half_float
-#endif
-#ifdef VK_AMD_shader_ballot
-#endif
-#ifdef VK_AMD_texture_gather_bias_lod
-void deepcopy_VkTextureLODGatherFormatPropertiesAMD(
- BumpPool* pool,
- const VkTextureLODGatherFormatPropertiesAMD* from,
- VkTextureLODGatherFormatPropertiesAMD* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-#endif
-#ifdef VK_AMD_shader_info
-void deepcopy_VkShaderResourceUsageAMD(
- BumpPool* pool,
- const VkShaderResourceUsageAMD* from,
- VkShaderResourceUsageAMD* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkShaderStatisticsInfoAMD(
- BumpPool* pool,
- const VkShaderStatisticsInfoAMD* from,
- VkShaderStatisticsInfoAMD* to)
-{
- (void)pool;
- *to = *from;
- deepcopy_VkShaderResourceUsageAMD(pool, &from->resourceUsage, (VkShaderResourceUsageAMD*)(&to->resourceUsage));
- memcpy(to->computeWorkGroupSize, from->computeWorkGroupSize, 3 * sizeof(uint32_t));
-}
-
-#endif
-#ifdef VK_AMD_shader_image_load_store_lod
-#endif
-#ifdef VK_IMG_format_pvrtc
-#endif
-#ifdef VK_NV_external_memory_capabilities
-void deepcopy_VkExternalImageFormatPropertiesNV(
- BumpPool* pool,
- const VkExternalImageFormatPropertiesNV* from,
- VkExternalImageFormatPropertiesNV* to)
-{
- (void)pool;
- *to = *from;
- deepcopy_VkImageFormatProperties(pool, &from->imageFormatProperties, (VkImageFormatProperties*)(&to->imageFormatProperties));
-}
-
-#endif
-#ifdef VK_NV_external_memory
-void deepcopy_VkExternalMemoryImageCreateInfoNV(
- BumpPool* pool,
- const VkExternalMemoryImageCreateInfoNV* from,
- VkExternalMemoryImageCreateInfoNV* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkExportMemoryAllocateInfoNV(
- BumpPool* pool,
- const VkExportMemoryAllocateInfoNV* from,
- VkExportMemoryAllocateInfoNV* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-#endif
-#ifdef VK_NV_external_memory_win32
-void deepcopy_VkImportMemoryWin32HandleInfoNV(
- BumpPool* pool,
- const VkImportMemoryWin32HandleInfoNV* from,
- VkImportMemoryWin32HandleInfoNV* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkExportMemoryWin32HandleInfoNV(
- BumpPool* pool,
- const VkExportMemoryWin32HandleInfoNV* from,
- VkExportMemoryWin32HandleInfoNV* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pAttributes = nullptr;
- if (from->pAttributes)
- {
- to->pAttributes = (SECURITY_ATTRIBUTES*)pool->dupArray(from->pAttributes, sizeof(const SECURITY_ATTRIBUTES));
- }
-}
-
-#endif
-#ifdef VK_NV_win32_keyed_mutex
-void deepcopy_VkWin32KeyedMutexAcquireReleaseInfoNV(
- BumpPool* pool,
- const VkWin32KeyedMutexAcquireReleaseInfoNV* from,
- VkWin32KeyedMutexAcquireReleaseInfoNV* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pAcquireSyncs = nullptr;
- if (from->pAcquireSyncs)
- {
- to->pAcquireSyncs = (VkDeviceMemory*)pool->dupArray(from->pAcquireSyncs, from->acquireCount * sizeof(const VkDeviceMemory));
- }
- to->pAcquireKeys = nullptr;
- if (from->pAcquireKeys)
- {
- to->pAcquireKeys = (uint64_t*)pool->dupArray(from->pAcquireKeys, from->acquireCount * sizeof(const uint64_t));
- }
- to->pAcquireTimeoutMilliseconds = nullptr;
- if (from->pAcquireTimeoutMilliseconds)
- {
- to->pAcquireTimeoutMilliseconds = (uint32_t*)pool->dupArray(from->pAcquireTimeoutMilliseconds, from->acquireCount * sizeof(const uint32_t));
- }
- to->pReleaseSyncs = nullptr;
- if (from->pReleaseSyncs)
- {
- to->pReleaseSyncs = (VkDeviceMemory*)pool->dupArray(from->pReleaseSyncs, from->releaseCount * sizeof(const VkDeviceMemory));
- }
- to->pReleaseKeys = nullptr;
- if (from->pReleaseKeys)
- {
- to->pReleaseKeys = (uint64_t*)pool->dupArray(from->pReleaseKeys, from->releaseCount * sizeof(const uint64_t));
- }
-}
-
-#endif
-#ifdef VK_EXT_validation_flags
-void deepcopy_VkValidationFlagsEXT(
- BumpPool* pool,
- const VkValidationFlagsEXT* from,
- VkValidationFlagsEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pDisabledValidationChecks = nullptr;
- if (from->pDisabledValidationChecks)
- {
- to->pDisabledValidationChecks = (VkValidationCheckEXT*)pool->dupArray(from->pDisabledValidationChecks, from->disabledValidationCheckCount * sizeof(const VkValidationCheckEXT));
- }
-}
-
-#endif
-#ifdef VK_NN_vi_surface
-void deepcopy_VkViSurfaceCreateInfoNN(
- BumpPool* pool,
- const VkViSurfaceCreateInfoNN* from,
- VkViSurfaceCreateInfoNN* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->window = nullptr;
- if (from->window)
- {
- to->window = (void*)pool->dupArray(from->window, sizeof(uint8_t));
- }
-}
-
-#endif
-#ifdef VK_EXT_shader_subgroup_ballot
-#endif
-#ifdef VK_EXT_shader_subgroup_vote
-#endif
-#ifdef VK_EXT_conditional_rendering
-void deepcopy_VkConditionalRenderingBeginInfoEXT(
- BumpPool* pool,
- const VkConditionalRenderingBeginInfoEXT* from,
- VkConditionalRenderingBeginInfoEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkPhysicalDeviceConditionalRenderingFeaturesEXT(
- BumpPool* pool,
- const VkPhysicalDeviceConditionalRenderingFeaturesEXT* from,
- VkPhysicalDeviceConditionalRenderingFeaturesEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkCommandBufferInheritanceConditionalRenderingInfoEXT(
- BumpPool* pool,
- const VkCommandBufferInheritanceConditionalRenderingInfoEXT* from,
- VkCommandBufferInheritanceConditionalRenderingInfoEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-#endif
-#ifdef VK_NVX_device_generated_commands
-void deepcopy_VkDeviceGeneratedCommandsFeaturesNVX(
- BumpPool* pool,
- const VkDeviceGeneratedCommandsFeaturesNVX* from,
- VkDeviceGeneratedCommandsFeaturesNVX* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkDeviceGeneratedCommandsLimitsNVX(
- BumpPool* pool,
- const VkDeviceGeneratedCommandsLimitsNVX* from,
- VkDeviceGeneratedCommandsLimitsNVX* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkIndirectCommandsTokenNVX(
- BumpPool* pool,
- const VkIndirectCommandsTokenNVX* from,
- VkIndirectCommandsTokenNVX* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkIndirectCommandsLayoutTokenNVX(
- BumpPool* pool,
- const VkIndirectCommandsLayoutTokenNVX* from,
- VkIndirectCommandsLayoutTokenNVX* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkIndirectCommandsLayoutCreateInfoNVX(
- BumpPool* pool,
- const VkIndirectCommandsLayoutCreateInfoNVX* from,
- VkIndirectCommandsLayoutCreateInfoNVX* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pTokens = nullptr;
- if (from->pTokens)
- {
- to->pTokens = (VkIndirectCommandsLayoutTokenNVX*)pool->alloc(from->tokenCount * sizeof(const VkIndirectCommandsLayoutTokenNVX));
- to->tokenCount = from->tokenCount;
- for (uint32_t i = 0; i < (uint32_t)from->tokenCount; ++i)
- {
- deepcopy_VkIndirectCommandsLayoutTokenNVX(pool, from->pTokens + i, (VkIndirectCommandsLayoutTokenNVX*)(to->pTokens + i));
- }
- }
-}
-
-void deepcopy_VkCmdProcessCommandsInfoNVX(
- BumpPool* pool,
- const VkCmdProcessCommandsInfoNVX* from,
- VkCmdProcessCommandsInfoNVX* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pIndirectCommandsTokens = nullptr;
- if (from->pIndirectCommandsTokens)
- {
- to->pIndirectCommandsTokens = (VkIndirectCommandsTokenNVX*)pool->alloc(from->indirectCommandsTokenCount * sizeof(const VkIndirectCommandsTokenNVX));
- to->indirectCommandsTokenCount = from->indirectCommandsTokenCount;
- for (uint32_t i = 0; i < (uint32_t)from->indirectCommandsTokenCount; ++i)
- {
- deepcopy_VkIndirectCommandsTokenNVX(pool, from->pIndirectCommandsTokens + i, (VkIndirectCommandsTokenNVX*)(to->pIndirectCommandsTokens + i));
- }
- }
-}
-
-void deepcopy_VkCmdReserveSpaceForCommandsInfoNVX(
- BumpPool* pool,
- const VkCmdReserveSpaceForCommandsInfoNVX* from,
- VkCmdReserveSpaceForCommandsInfoNVX* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkObjectTableCreateInfoNVX(
- BumpPool* pool,
- const VkObjectTableCreateInfoNVX* from,
- VkObjectTableCreateInfoNVX* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pObjectEntryTypes = nullptr;
- if (from->pObjectEntryTypes)
- {
- to->pObjectEntryTypes = (VkObjectEntryTypeNVX*)pool->dupArray(from->pObjectEntryTypes, from->objectCount * sizeof(const VkObjectEntryTypeNVX));
- }
- to->pObjectEntryCounts = nullptr;
- if (from->pObjectEntryCounts)
- {
- to->pObjectEntryCounts = (uint32_t*)pool->dupArray(from->pObjectEntryCounts, from->objectCount * sizeof(const uint32_t));
- }
- to->pObjectEntryUsageFlags = nullptr;
- if (from->pObjectEntryUsageFlags)
- {
- to->pObjectEntryUsageFlags = (VkObjectEntryUsageFlagsNVX*)pool->dupArray(from->pObjectEntryUsageFlags, from->objectCount * sizeof(const VkObjectEntryUsageFlagsNVX));
- }
-}
-
-void deepcopy_VkObjectTableEntryNVX(
- BumpPool* pool,
- const VkObjectTableEntryNVX* from,
- VkObjectTableEntryNVX* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkObjectTablePipelineEntryNVX(
- BumpPool* pool,
- const VkObjectTablePipelineEntryNVX* from,
- VkObjectTablePipelineEntryNVX* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkObjectTableDescriptorSetEntryNVX(
- BumpPool* pool,
- const VkObjectTableDescriptorSetEntryNVX* from,
- VkObjectTableDescriptorSetEntryNVX* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkObjectTableVertexBufferEntryNVX(
- BumpPool* pool,
- const VkObjectTableVertexBufferEntryNVX* from,
- VkObjectTableVertexBufferEntryNVX* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkObjectTableIndexBufferEntryNVX(
- BumpPool* pool,
- const VkObjectTableIndexBufferEntryNVX* from,
- VkObjectTableIndexBufferEntryNVX* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkObjectTablePushConstantEntryNVX(
- BumpPool* pool,
- const VkObjectTablePushConstantEntryNVX* from,
- VkObjectTablePushConstantEntryNVX* to)
-{
- (void)pool;
- *to = *from;
-}
-
-#endif
-#ifdef VK_NV_clip_space_w_scaling
-void deepcopy_VkViewportWScalingNV(
- BumpPool* pool,
- const VkViewportWScalingNV* from,
- VkViewportWScalingNV* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkPipelineViewportWScalingStateCreateInfoNV(
- BumpPool* pool,
- const VkPipelineViewportWScalingStateCreateInfoNV* from,
- VkPipelineViewportWScalingStateCreateInfoNV* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pViewportWScalings = nullptr;
- if (from->pViewportWScalings)
- {
- to->pViewportWScalings = (VkViewportWScalingNV*)pool->alloc(from->viewportCount * sizeof(const VkViewportWScalingNV));
- to->viewportCount = from->viewportCount;
- for (uint32_t i = 0; i < (uint32_t)from->viewportCount; ++i)
- {
- deepcopy_VkViewportWScalingNV(pool, from->pViewportWScalings + i, (VkViewportWScalingNV*)(to->pViewportWScalings + i));
- }
- }
-}
-
-#endif
-#ifdef VK_EXT_direct_mode_display
-#endif
-#ifdef VK_EXT_acquire_xlib_display
-#endif
-#ifdef VK_EXT_display_surface_counter
-void deepcopy_VkSurfaceCapabilities2EXT(
- BumpPool* pool,
- const VkSurfaceCapabilities2EXT* from,
- VkSurfaceCapabilities2EXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- deepcopy_VkExtent2D(pool, &from->currentExtent, (VkExtent2D*)(&to->currentExtent));
- deepcopy_VkExtent2D(pool, &from->minImageExtent, (VkExtent2D*)(&to->minImageExtent));
- deepcopy_VkExtent2D(pool, &from->maxImageExtent, (VkExtent2D*)(&to->maxImageExtent));
-}
-
-#endif
-#ifdef VK_EXT_display_control
-void deepcopy_VkDisplayPowerInfoEXT(
- BumpPool* pool,
- const VkDisplayPowerInfoEXT* from,
- VkDisplayPowerInfoEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkDeviceEventInfoEXT(
- BumpPool* pool,
- const VkDeviceEventInfoEXT* from,
- VkDeviceEventInfoEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkDisplayEventInfoEXT(
- BumpPool* pool,
- const VkDisplayEventInfoEXT* from,
- VkDisplayEventInfoEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkSwapchainCounterCreateInfoEXT(
- BumpPool* pool,
- const VkSwapchainCounterCreateInfoEXT* from,
- VkSwapchainCounterCreateInfoEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-#endif
-#ifdef VK_GOOGLE_display_timing
-void deepcopy_VkRefreshCycleDurationGOOGLE(
- BumpPool* pool,
- const VkRefreshCycleDurationGOOGLE* from,
- VkRefreshCycleDurationGOOGLE* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkPastPresentationTimingGOOGLE(
- BumpPool* pool,
- const VkPastPresentationTimingGOOGLE* from,
- VkPastPresentationTimingGOOGLE* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkPresentTimeGOOGLE(
- BumpPool* pool,
- const VkPresentTimeGOOGLE* from,
- VkPresentTimeGOOGLE* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkPresentTimesInfoGOOGLE(
- BumpPool* pool,
- const VkPresentTimesInfoGOOGLE* from,
- VkPresentTimesInfoGOOGLE* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pTimes = nullptr;
- if (from->pTimes)
- {
- to->pTimes = (VkPresentTimeGOOGLE*)pool->alloc(from->swapchainCount * sizeof(const VkPresentTimeGOOGLE));
- to->swapchainCount = from->swapchainCount;
- for (uint32_t i = 0; i < (uint32_t)from->swapchainCount; ++i)
- {
- deepcopy_VkPresentTimeGOOGLE(pool, from->pTimes + i, (VkPresentTimeGOOGLE*)(to->pTimes + i));
- }
- }
-}
-
-#endif
-#ifdef VK_NV_sample_mask_override_coverage
-#endif
-#ifdef VK_NV_geometry_shader_passthrough
-#endif
-#ifdef VK_NV_viewport_array2
-#endif
-#ifdef VK_NVX_multiview_per_view_attributes
-void deepcopy_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(
- BumpPool* pool,
- const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX* from,
- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-#endif
-#ifdef VK_NV_viewport_swizzle
-void deepcopy_VkViewportSwizzleNV(
- BumpPool* pool,
- const VkViewportSwizzleNV* from,
- VkViewportSwizzleNV* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkPipelineViewportSwizzleStateCreateInfoNV(
- BumpPool* pool,
- const VkPipelineViewportSwizzleStateCreateInfoNV* from,
- VkPipelineViewportSwizzleStateCreateInfoNV* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pViewportSwizzles = nullptr;
- if (from->pViewportSwizzles)
- {
- to->pViewportSwizzles = (VkViewportSwizzleNV*)pool->alloc(from->viewportCount * sizeof(const VkViewportSwizzleNV));
- to->viewportCount = from->viewportCount;
- for (uint32_t i = 0; i < (uint32_t)from->viewportCount; ++i)
- {
- deepcopy_VkViewportSwizzleNV(pool, from->pViewportSwizzles + i, (VkViewportSwizzleNV*)(to->pViewportSwizzles + i));
- }
- }
-}
-
-#endif
-#ifdef VK_EXT_discard_rectangles
-void deepcopy_VkPhysicalDeviceDiscardRectanglePropertiesEXT(
- BumpPool* pool,
- const VkPhysicalDeviceDiscardRectanglePropertiesEXT* from,
- VkPhysicalDeviceDiscardRectanglePropertiesEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkPipelineDiscardRectangleStateCreateInfoEXT(
- BumpPool* pool,
- const VkPipelineDiscardRectangleStateCreateInfoEXT* from,
- VkPipelineDiscardRectangleStateCreateInfoEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pDiscardRectangles = nullptr;
- if (from->pDiscardRectangles)
- {
- to->pDiscardRectangles = (VkRect2D*)pool->alloc(from->discardRectangleCount * sizeof(const VkRect2D));
- to->discardRectangleCount = from->discardRectangleCount;
- for (uint32_t i = 0; i < (uint32_t)from->discardRectangleCount; ++i)
- {
- deepcopy_VkRect2D(pool, from->pDiscardRectangles + i, (VkRect2D*)(to->pDiscardRectangles + i));
- }
- }
-}
-
-#endif
-#ifdef VK_EXT_conservative_rasterization
-void deepcopy_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(
- BumpPool* pool,
- const VkPhysicalDeviceConservativeRasterizationPropertiesEXT* from,
- VkPhysicalDeviceConservativeRasterizationPropertiesEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkPipelineRasterizationConservativeStateCreateInfoEXT(
- BumpPool* pool,
- const VkPipelineRasterizationConservativeStateCreateInfoEXT* from,
- VkPipelineRasterizationConservativeStateCreateInfoEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-#endif
-#ifdef VK_EXT_swapchain_colorspace
-#endif
-#ifdef VK_EXT_hdr_metadata
-void deepcopy_VkXYColorEXT(
- BumpPool* pool,
- const VkXYColorEXT* from,
- VkXYColorEXT* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkHdrMetadataEXT(
- BumpPool* pool,
- const VkHdrMetadataEXT* from,
- VkHdrMetadataEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- deepcopy_VkXYColorEXT(pool, &from->displayPrimaryRed, (VkXYColorEXT*)(&to->displayPrimaryRed));
- deepcopy_VkXYColorEXT(pool, &from->displayPrimaryGreen, (VkXYColorEXT*)(&to->displayPrimaryGreen));
- deepcopy_VkXYColorEXT(pool, &from->displayPrimaryBlue, (VkXYColorEXT*)(&to->displayPrimaryBlue));
- deepcopy_VkXYColorEXT(pool, &from->whitePoint, (VkXYColorEXT*)(&to->whitePoint));
-}
-
-#endif
-#ifdef VK_MVK_ios_surface
-void deepcopy_VkIOSSurfaceCreateInfoMVK(
- BumpPool* pool,
- const VkIOSSurfaceCreateInfoMVK* from,
- VkIOSSurfaceCreateInfoMVK* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pView = nullptr;
- if (from->pView)
- {
- to->pView = (void*)pool->dupArray(from->pView, sizeof(const uint8_t));
- }
-}
-
-#endif
-#ifdef VK_MVK_macos_surface
-void deepcopy_VkMacOSSurfaceCreateInfoMVK(
- BumpPool* pool,
- const VkMacOSSurfaceCreateInfoMVK* from,
- VkMacOSSurfaceCreateInfoMVK* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pView = nullptr;
- if (from->pView)
- {
- to->pView = (void*)pool->dupArray(from->pView, sizeof(const uint8_t));
- }
-}
-
-#endif
-#ifdef VK_EXT_external_memory_dma_buf
-#endif
-#ifdef VK_EXT_queue_family_foreign
-#endif
-#ifdef VK_EXT_debug_utils
-void deepcopy_VkDebugUtilsObjectNameInfoEXT(
- BumpPool* pool,
- const VkDebugUtilsObjectNameInfoEXT* from,
- VkDebugUtilsObjectNameInfoEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pObjectName = nullptr;
- if (from->pObjectName)
- {
- to->pObjectName = pool->strDup(from->pObjectName);
- }
-}
-
-void deepcopy_VkDebugUtilsObjectTagInfoEXT(
- BumpPool* pool,
- const VkDebugUtilsObjectTagInfoEXT* from,
- VkDebugUtilsObjectTagInfoEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pTag = nullptr;
- if (from->pTag)
- {
- to->pTag = (void*)pool->dupArray(from->pTag, from->tagSize * sizeof(const uint8_t));
- }
-}
-
-void deepcopy_VkDebugUtilsLabelEXT(
- BumpPool* pool,
- const VkDebugUtilsLabelEXT* from,
- VkDebugUtilsLabelEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pLabelName = nullptr;
- if (from->pLabelName)
- {
- to->pLabelName = pool->strDup(from->pLabelName);
- }
- memcpy(to->color, from->color, 4 * sizeof(float));
-}
-
-void deepcopy_VkDebugUtilsMessengerCallbackDataEXT(
- BumpPool* pool,
- const VkDebugUtilsMessengerCallbackDataEXT* from,
- VkDebugUtilsMessengerCallbackDataEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pMessageIdName = nullptr;
- if (from->pMessageIdName)
- {
- to->pMessageIdName = pool->strDup(from->pMessageIdName);
- }
- to->pMessage = nullptr;
- if (from->pMessage)
- {
- to->pMessage = pool->strDup(from->pMessage);
- }
- to->pQueueLabels = nullptr;
- if (from->pQueueLabels)
- {
- to->pQueueLabels = (VkDebugUtilsLabelEXT*)pool->alloc(from->queueLabelCount * sizeof(VkDebugUtilsLabelEXT));
- to->queueLabelCount = from->queueLabelCount;
- for (uint32_t i = 0; i < (uint32_t)from->queueLabelCount; ++i)
- {
- deepcopy_VkDebugUtilsLabelEXT(pool, from->pQueueLabels + i, (VkDebugUtilsLabelEXT*)(to->pQueueLabels + i));
- }
- }
- to->pCmdBufLabels = nullptr;
- if (from->pCmdBufLabels)
- {
- to->pCmdBufLabels = (VkDebugUtilsLabelEXT*)pool->alloc(from->cmdBufLabelCount * sizeof(VkDebugUtilsLabelEXT));
- to->cmdBufLabelCount = from->cmdBufLabelCount;
- for (uint32_t i = 0; i < (uint32_t)from->cmdBufLabelCount; ++i)
- {
- deepcopy_VkDebugUtilsLabelEXT(pool, from->pCmdBufLabels + i, (VkDebugUtilsLabelEXT*)(to->pCmdBufLabels + i));
- }
- }
- to->pObjects = nullptr;
- if (from->pObjects)
- {
- to->pObjects = (VkDebugUtilsObjectNameInfoEXT*)pool->alloc(from->objectCount * sizeof(VkDebugUtilsObjectNameInfoEXT));
- to->objectCount = from->objectCount;
- for (uint32_t i = 0; i < (uint32_t)from->objectCount; ++i)
- {
- deepcopy_VkDebugUtilsObjectNameInfoEXT(pool, from->pObjects + i, (VkDebugUtilsObjectNameInfoEXT*)(to->pObjects + i));
- }
- }
-}
-
-void deepcopy_VkDebugUtilsMessengerCreateInfoEXT(
- BumpPool* pool,
- const VkDebugUtilsMessengerCreateInfoEXT* from,
- VkDebugUtilsMessengerCreateInfoEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pUserData = nullptr;
- if (from->pUserData)
- {
- to->pUserData = (void*)pool->dupArray(from->pUserData, sizeof(uint8_t));
- }
-}
-
-#endif
-#ifdef VK_ANDROID_external_memory_android_hardware_buffer
-void deepcopy_VkAndroidHardwareBufferUsageANDROID(
- BumpPool* pool,
- const VkAndroidHardwareBufferUsageANDROID* from,
- VkAndroidHardwareBufferUsageANDROID* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkAndroidHardwareBufferPropertiesANDROID(
- BumpPool* pool,
- const VkAndroidHardwareBufferPropertiesANDROID* from,
- VkAndroidHardwareBufferPropertiesANDROID* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkAndroidHardwareBufferFormatPropertiesANDROID(
- BumpPool* pool,
- const VkAndroidHardwareBufferFormatPropertiesANDROID* from,
- VkAndroidHardwareBufferFormatPropertiesANDROID* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- deepcopy_VkComponentMapping(pool, &from->samplerYcbcrConversionComponents, (VkComponentMapping*)(&to->samplerYcbcrConversionComponents));
-}
-
-void deepcopy_VkImportAndroidHardwareBufferInfoANDROID(
- BumpPool* pool,
- const VkImportAndroidHardwareBufferInfoANDROID* from,
- VkImportAndroidHardwareBufferInfoANDROID* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->buffer = nullptr;
- if (from->buffer)
- {
- to->buffer = (AHardwareBuffer*)pool->dupArray(from->buffer, sizeof(AHardwareBuffer));
- }
-}
-
-void deepcopy_VkMemoryGetAndroidHardwareBufferInfoANDROID(
- BumpPool* pool,
- const VkMemoryGetAndroidHardwareBufferInfoANDROID* from,
- VkMemoryGetAndroidHardwareBufferInfoANDROID* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkExternalFormatANDROID(
- BumpPool* pool,
- const VkExternalFormatANDROID* from,
- VkExternalFormatANDROID* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-#endif
-#ifdef VK_EXT_sampler_filter_minmax
-void deepcopy_VkSamplerReductionModeCreateInfoEXT(
- BumpPool* pool,
- const VkSamplerReductionModeCreateInfoEXT* from,
- VkSamplerReductionModeCreateInfoEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT(
- BumpPool* pool,
- const VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT* from,
- VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-#endif
-#ifdef VK_AMD_gpu_shader_int16
-#endif
-#ifdef VK_AMD_mixed_attachment_samples
-#endif
-#ifdef VK_AMD_shader_fragment_mask
-#endif
-#ifdef VK_EXT_shader_stencil_export
-#endif
-#ifdef VK_EXT_sample_locations
-void deepcopy_VkSampleLocationEXT(
- BumpPool* pool,
- const VkSampleLocationEXT* from,
- VkSampleLocationEXT* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkSampleLocationsInfoEXT(
- BumpPool* pool,
- const VkSampleLocationsInfoEXT* from,
- VkSampleLocationsInfoEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- deepcopy_VkExtent2D(pool, &from->sampleLocationGridSize, (VkExtent2D*)(&to->sampleLocationGridSize));
- to->pSampleLocations = nullptr;
- if (from->pSampleLocations)
- {
- to->pSampleLocations = (VkSampleLocationEXT*)pool->alloc(from->sampleLocationsCount * sizeof(const VkSampleLocationEXT));
- to->sampleLocationsCount = from->sampleLocationsCount;
- for (uint32_t i = 0; i < (uint32_t)from->sampleLocationsCount; ++i)
- {
- deepcopy_VkSampleLocationEXT(pool, from->pSampleLocations + i, (VkSampleLocationEXT*)(to->pSampleLocations + i));
- }
- }
-}
-
-void deepcopy_VkAttachmentSampleLocationsEXT(
- BumpPool* pool,
- const VkAttachmentSampleLocationsEXT* from,
- VkAttachmentSampleLocationsEXT* to)
-{
- (void)pool;
- *to = *from;
- deepcopy_VkSampleLocationsInfoEXT(pool, &from->sampleLocationsInfo, (VkSampleLocationsInfoEXT*)(&to->sampleLocationsInfo));
-}
-
-void deepcopy_VkSubpassSampleLocationsEXT(
- BumpPool* pool,
- const VkSubpassSampleLocationsEXT* from,
- VkSubpassSampleLocationsEXT* to)
-{
- (void)pool;
- *to = *from;
- deepcopy_VkSampleLocationsInfoEXT(pool, &from->sampleLocationsInfo, (VkSampleLocationsInfoEXT*)(&to->sampleLocationsInfo));
-}
-
-void deepcopy_VkRenderPassSampleLocationsBeginInfoEXT(
- BumpPool* pool,
- const VkRenderPassSampleLocationsBeginInfoEXT* from,
- VkRenderPassSampleLocationsBeginInfoEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pAttachmentInitialSampleLocations = nullptr;
- if (from->pAttachmentInitialSampleLocations)
- {
- to->pAttachmentInitialSampleLocations = (VkAttachmentSampleLocationsEXT*)pool->alloc(from->attachmentInitialSampleLocationsCount * sizeof(const VkAttachmentSampleLocationsEXT));
- to->attachmentInitialSampleLocationsCount = from->attachmentInitialSampleLocationsCount;
- for (uint32_t i = 0; i < (uint32_t)from->attachmentInitialSampleLocationsCount; ++i)
- {
- deepcopy_VkAttachmentSampleLocationsEXT(pool, from->pAttachmentInitialSampleLocations + i, (VkAttachmentSampleLocationsEXT*)(to->pAttachmentInitialSampleLocations + i));
- }
- }
- to->pPostSubpassSampleLocations = nullptr;
- if (from->pPostSubpassSampleLocations)
- {
- to->pPostSubpassSampleLocations = (VkSubpassSampleLocationsEXT*)pool->alloc(from->postSubpassSampleLocationsCount * sizeof(const VkSubpassSampleLocationsEXT));
- to->postSubpassSampleLocationsCount = from->postSubpassSampleLocationsCount;
- for (uint32_t i = 0; i < (uint32_t)from->postSubpassSampleLocationsCount; ++i)
- {
- deepcopy_VkSubpassSampleLocationsEXT(pool, from->pPostSubpassSampleLocations + i, (VkSubpassSampleLocationsEXT*)(to->pPostSubpassSampleLocations + i));
- }
- }
-}
-
-void deepcopy_VkPipelineSampleLocationsStateCreateInfoEXT(
- BumpPool* pool,
- const VkPipelineSampleLocationsStateCreateInfoEXT* from,
- VkPipelineSampleLocationsStateCreateInfoEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- deepcopy_VkSampleLocationsInfoEXT(pool, &from->sampleLocationsInfo, (VkSampleLocationsInfoEXT*)(&to->sampleLocationsInfo));
-}
-
-void deepcopy_VkPhysicalDeviceSampleLocationsPropertiesEXT(
- BumpPool* pool,
- const VkPhysicalDeviceSampleLocationsPropertiesEXT* from,
- VkPhysicalDeviceSampleLocationsPropertiesEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- deepcopy_VkExtent2D(pool, &from->maxSampleLocationGridSize, (VkExtent2D*)(&to->maxSampleLocationGridSize));
- memcpy(to->sampleLocationCoordinateRange, from->sampleLocationCoordinateRange, 2 * sizeof(float));
-}
-
-void deepcopy_VkMultisamplePropertiesEXT(
- BumpPool* pool,
- const VkMultisamplePropertiesEXT* from,
- VkMultisamplePropertiesEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- deepcopy_VkExtent2D(pool, &from->maxSampleLocationGridSize, (VkExtent2D*)(&to->maxSampleLocationGridSize));
-}
-
-#endif
-#ifdef VK_EXT_blend_operation_advanced
-void deepcopy_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(
- BumpPool* pool,
- const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT* from,
- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(
- BumpPool* pool,
- const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT* from,
- VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkPipelineColorBlendAdvancedStateCreateInfoEXT(
- BumpPool* pool,
- const VkPipelineColorBlendAdvancedStateCreateInfoEXT* from,
- VkPipelineColorBlendAdvancedStateCreateInfoEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-#endif
-#ifdef VK_NV_fragment_coverage_to_color
-void deepcopy_VkPipelineCoverageToColorStateCreateInfoNV(
- BumpPool* pool,
- const VkPipelineCoverageToColorStateCreateInfoNV* from,
- VkPipelineCoverageToColorStateCreateInfoNV* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-#endif
-#ifdef VK_NV_framebuffer_mixed_samples
-void deepcopy_VkPipelineCoverageModulationStateCreateInfoNV(
- BumpPool* pool,
- const VkPipelineCoverageModulationStateCreateInfoNV* from,
- VkPipelineCoverageModulationStateCreateInfoNV* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pCoverageModulationTable = nullptr;
- if (from->pCoverageModulationTable)
- {
- to->pCoverageModulationTable = (float*)pool->dupArray(from->pCoverageModulationTable, from->coverageModulationTableCount * sizeof(const float));
- }
-}
-
-#endif
-#ifdef VK_NV_fill_rectangle
-#endif
-#ifdef VK_EXT_post_depth_coverage
-#endif
-#ifdef VK_EXT_validation_cache
-void deepcopy_VkValidationCacheCreateInfoEXT(
- BumpPool* pool,
- const VkValidationCacheCreateInfoEXT* from,
- VkValidationCacheCreateInfoEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pInitialData = nullptr;
- if (from->pInitialData)
- {
- to->pInitialData = (void*)pool->dupArray(from->pInitialData, from->initialDataSize * sizeof(const uint8_t));
- }
-}
-
-void deepcopy_VkShaderModuleValidationCacheCreateInfoEXT(
- BumpPool* pool,
- const VkShaderModuleValidationCacheCreateInfoEXT* from,
- VkShaderModuleValidationCacheCreateInfoEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-#endif
-#ifdef VK_EXT_descriptor_indexing
-void deepcopy_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT(
- BumpPool* pool,
- const VkDescriptorSetLayoutBindingFlagsCreateInfoEXT* from,
- VkDescriptorSetLayoutBindingFlagsCreateInfoEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pBindingFlags = nullptr;
- if (from->pBindingFlags)
- {
- to->pBindingFlags = (VkDescriptorBindingFlagsEXT*)pool->dupArray(from->pBindingFlags, from->bindingCount * sizeof(const VkDescriptorBindingFlagsEXT));
- }
-}
-
-void deepcopy_VkPhysicalDeviceDescriptorIndexingFeaturesEXT(
- BumpPool* pool,
- const VkPhysicalDeviceDescriptorIndexingFeaturesEXT* from,
- VkPhysicalDeviceDescriptorIndexingFeaturesEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkPhysicalDeviceDescriptorIndexingPropertiesEXT(
- BumpPool* pool,
- const VkPhysicalDeviceDescriptorIndexingPropertiesEXT* from,
- VkPhysicalDeviceDescriptorIndexingPropertiesEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT(
- BumpPool* pool,
- const VkDescriptorSetVariableDescriptorCountAllocateInfoEXT* from,
- VkDescriptorSetVariableDescriptorCountAllocateInfoEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pDescriptorCounts = nullptr;
- if (from->pDescriptorCounts)
- {
- to->pDescriptorCounts = (uint32_t*)pool->dupArray(from->pDescriptorCounts, from->descriptorSetCount * sizeof(const uint32_t));
- }
-}
-
-void deepcopy_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT(
- BumpPool* pool,
- const VkDescriptorSetVariableDescriptorCountLayoutSupportEXT* from,
- VkDescriptorSetVariableDescriptorCountLayoutSupportEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-#endif
-#ifdef VK_EXT_shader_viewport_index_layer
-#endif
-#ifdef VK_EXT_global_priority
-void deepcopy_VkDeviceQueueGlobalPriorityCreateInfoEXT(
- BumpPool* pool,
- const VkDeviceQueueGlobalPriorityCreateInfoEXT* from,
- VkDeviceQueueGlobalPriorityCreateInfoEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-#endif
-#ifdef VK_EXT_external_memory_host
-void deepcopy_VkImportMemoryHostPointerInfoEXT(
- BumpPool* pool,
- const VkImportMemoryHostPointerInfoEXT* from,
- VkImportMemoryHostPointerInfoEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pHostPointer = nullptr;
- if (from->pHostPointer)
- {
- to->pHostPointer = (void*)pool->dupArray(from->pHostPointer, sizeof(uint8_t));
- }
-}
-
-void deepcopy_VkMemoryHostPointerPropertiesEXT(
- BumpPool* pool,
- const VkMemoryHostPointerPropertiesEXT* from,
- VkMemoryHostPointerPropertiesEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(
- BumpPool* pool,
- const VkPhysicalDeviceExternalMemoryHostPropertiesEXT* from,
- VkPhysicalDeviceExternalMemoryHostPropertiesEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-#endif
-#ifdef VK_AMD_buffer_marker
-#endif
-#ifdef VK_AMD_shader_core_properties
-void deepcopy_VkPhysicalDeviceShaderCorePropertiesAMD(
- BumpPool* pool,
- const VkPhysicalDeviceShaderCorePropertiesAMD* from,
- VkPhysicalDeviceShaderCorePropertiesAMD* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-#endif
-#ifdef VK_EXT_vertex_attribute_divisor
-void deepcopy_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(
- BumpPool* pool,
- const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* from,
- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkVertexInputBindingDivisorDescriptionEXT(
- BumpPool* pool,
- const VkVertexInputBindingDivisorDescriptionEXT* from,
- VkVertexInputBindingDivisorDescriptionEXT* to)
-{
- (void)pool;
- *to = *from;
-}
-
-void deepcopy_VkPipelineVertexInputDivisorStateCreateInfoEXT(
- BumpPool* pool,
- const VkPipelineVertexInputDivisorStateCreateInfoEXT* from,
- VkPipelineVertexInputDivisorStateCreateInfoEXT* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (const void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pVertexBindingDivisors = nullptr;
- if (from->pVertexBindingDivisors)
- {
- to->pVertexBindingDivisors = (VkVertexInputBindingDivisorDescriptionEXT*)pool->alloc(from->vertexBindingDivisorCount * sizeof(const VkVertexInputBindingDivisorDescriptionEXT));
- to->vertexBindingDivisorCount = from->vertexBindingDivisorCount;
- for (uint32_t i = 0; i < (uint32_t)from->vertexBindingDivisorCount; ++i)
- {
- deepcopy_VkVertexInputBindingDivisorDescriptionEXT(pool, from->pVertexBindingDivisors + i, (VkVertexInputBindingDivisorDescriptionEXT*)(to->pVertexBindingDivisors + i));
- }
- }
-}
-
-#endif
-#ifdef VK_NV_shader_subgroup_partitioned
-#endif
-#ifdef VK_NV_device_diagnostic_checkpoints
-void deepcopy_VkQueueFamilyCheckpointPropertiesNV(
- BumpPool* pool,
- const VkQueueFamilyCheckpointPropertiesNV* from,
- VkQueueFamilyCheckpointPropertiesNV* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkCheckpointDataNV(
- BumpPool* pool,
- const VkCheckpointDataNV* from,
- VkCheckpointDataNV* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
- to->pCheckpointMarker = nullptr;
- if (from->pCheckpointMarker)
- {
- to->pCheckpointMarker = (void*)pool->dupArray(from->pCheckpointMarker, sizeof(uint8_t));
- }
-}
-
-#endif
-#ifdef VK_GOOGLE_address_space
-#endif
-#ifdef VK_GOOGLE_color_buffer
-void deepcopy_VkImportColorBufferGOOGLE(
- BumpPool* pool,
- const VkImportColorBufferGOOGLE* from,
- VkImportColorBufferGOOGLE* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkImportBufferGOOGLE(
- BumpPool* pool,
- const VkImportBufferGOOGLE* from,
- VkImportBufferGOOGLE* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-void deepcopy_VkImportPhysicalAddressGOOGLE(
- BumpPool* pool,
- const VkImportPhysicalAddressGOOGLE* from,
- VkImportPhysicalAddressGOOGLE* to)
-{
- (void)pool;
- *to = *from;
- size_t pNext_size = goldfish_vk_extension_struct_size(from->pNext);
- to->pNext = nullptr;
- if (pNext_size)
- {
- to->pNext = (void*)pool->alloc(pNext_size);
- deepcopy_extension_struct(pool, from->pNext, (void*)(to->pNext));
- }
-}
-
-#endif
-#ifdef VK_GOOGLE_sized_descriptor_update_template
-#endif
-#ifdef VK_GOOGLE_async_command_buffers
-#endif
-#ifdef VK_GOOGLE_create_resources_with_requirements
-#endif
-#ifdef VK_GOOGLE_address_space_info
-#endif
-#ifdef VK_GOOGLE_free_memory_sync
-#endif
-#ifdef VK_GOOGLE_async_queue_submit
-#endif
-#ifdef VK_GOOGLE_linear_image_layout
-#endif
-void deepcopy_extension_struct(
- BumpPool* pool,
- const void* structExtension,
- void* structExtension_out)
-{
- if (!structExtension)
- {
- return;
- }
- uint32_t structType = (uint32_t)goldfish_vk_struct_type(structExtension);
- switch(structType)
- {
-#ifdef VK_VERSION_1_1
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES:
- {
- deepcopy_VkPhysicalDeviceSubgroupProperties(pool, reinterpret_cast<const VkPhysicalDeviceSubgroupProperties*>(structExtension), reinterpret_cast<VkPhysicalDeviceSubgroupProperties*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:
- {
- deepcopy_VkPhysicalDevice16BitStorageFeatures(pool, reinterpret_cast<const VkPhysicalDevice16BitStorageFeatures*>(structExtension), reinterpret_cast<VkPhysicalDevice16BitStorageFeatures*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS:
- {
- deepcopy_VkMemoryDedicatedRequirements(pool, reinterpret_cast<const VkMemoryDedicatedRequirements*>(structExtension), reinterpret_cast<VkMemoryDedicatedRequirements*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO:
- {
- deepcopy_VkMemoryDedicatedAllocateInfo(pool, reinterpret_cast<const VkMemoryDedicatedAllocateInfo*>(structExtension), reinterpret_cast<VkMemoryDedicatedAllocateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO:
- {
- deepcopy_VkMemoryAllocateFlagsInfo(pool, reinterpret_cast<const VkMemoryAllocateFlagsInfo*>(structExtension), reinterpret_cast<VkMemoryAllocateFlagsInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO:
- {
- deepcopy_VkDeviceGroupRenderPassBeginInfo(pool, reinterpret_cast<const VkDeviceGroupRenderPassBeginInfo*>(structExtension), reinterpret_cast<VkDeviceGroupRenderPassBeginInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO:
- {
- deepcopy_VkDeviceGroupCommandBufferBeginInfo(pool, reinterpret_cast<const VkDeviceGroupCommandBufferBeginInfo*>(structExtension), reinterpret_cast<VkDeviceGroupCommandBufferBeginInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO:
- {
- deepcopy_VkDeviceGroupSubmitInfo(pool, reinterpret_cast<const VkDeviceGroupSubmitInfo*>(structExtension), reinterpret_cast<VkDeviceGroupSubmitInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO:
- {
- deepcopy_VkDeviceGroupBindSparseInfo(pool, reinterpret_cast<const VkDeviceGroupBindSparseInfo*>(structExtension), reinterpret_cast<VkDeviceGroupBindSparseInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO:
- {
- deepcopy_VkBindBufferMemoryDeviceGroupInfo(pool, reinterpret_cast<const VkBindBufferMemoryDeviceGroupInfo*>(structExtension), reinterpret_cast<VkBindBufferMemoryDeviceGroupInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO:
- {
- deepcopy_VkBindImageMemoryDeviceGroupInfo(pool, reinterpret_cast<const VkBindImageMemoryDeviceGroupInfo*>(structExtension), reinterpret_cast<VkBindImageMemoryDeviceGroupInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO:
- {
- deepcopy_VkDeviceGroupDeviceCreateInfo(pool, reinterpret_cast<const VkDeviceGroupDeviceCreateInfo*>(structExtension), reinterpret_cast<VkDeviceGroupDeviceCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2:
- {
- deepcopy_VkPhysicalDeviceFeatures2(pool, reinterpret_cast<const VkPhysicalDeviceFeatures2*>(structExtension), reinterpret_cast<VkPhysicalDeviceFeatures2*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES:
- {
- deepcopy_VkPhysicalDevicePointClippingProperties(pool, reinterpret_cast<const VkPhysicalDevicePointClippingProperties*>(structExtension), reinterpret_cast<VkPhysicalDevicePointClippingProperties*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO:
- {
- deepcopy_VkRenderPassInputAttachmentAspectCreateInfo(pool, reinterpret_cast<const VkRenderPassInputAttachmentAspectCreateInfo*>(structExtension), reinterpret_cast<VkRenderPassInputAttachmentAspectCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO:
- {
- deepcopy_VkImageViewUsageCreateInfo(pool, reinterpret_cast<const VkImageViewUsageCreateInfo*>(structExtension), reinterpret_cast<VkImageViewUsageCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO:
- {
- deepcopy_VkPipelineTessellationDomainOriginStateCreateInfo(pool, reinterpret_cast<const VkPipelineTessellationDomainOriginStateCreateInfo*>(structExtension), reinterpret_cast<VkPipelineTessellationDomainOriginStateCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO:
- {
- deepcopy_VkRenderPassMultiviewCreateInfo(pool, reinterpret_cast<const VkRenderPassMultiviewCreateInfo*>(structExtension), reinterpret_cast<VkRenderPassMultiviewCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:
- {
- deepcopy_VkPhysicalDeviceMultiviewFeatures(pool, reinterpret_cast<const VkPhysicalDeviceMultiviewFeatures*>(structExtension), reinterpret_cast<VkPhysicalDeviceMultiviewFeatures*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES:
- {
- deepcopy_VkPhysicalDeviceMultiviewProperties(pool, reinterpret_cast<const VkPhysicalDeviceMultiviewProperties*>(structExtension), reinterpret_cast<VkPhysicalDeviceMultiviewProperties*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES:
- {
- deepcopy_VkPhysicalDeviceVariablePointerFeatures(pool, reinterpret_cast<const VkPhysicalDeviceVariablePointerFeatures*>(structExtension), reinterpret_cast<VkPhysicalDeviceVariablePointerFeatures*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:
- {
- deepcopy_VkPhysicalDeviceProtectedMemoryFeatures(pool, reinterpret_cast<const VkPhysicalDeviceProtectedMemoryFeatures*>(structExtension), reinterpret_cast<VkPhysicalDeviceProtectedMemoryFeatures*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES:
- {
- deepcopy_VkPhysicalDeviceProtectedMemoryProperties(pool, reinterpret_cast<const VkPhysicalDeviceProtectedMemoryProperties*>(structExtension), reinterpret_cast<VkPhysicalDeviceProtectedMemoryProperties*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO:
- {
- deepcopy_VkProtectedSubmitInfo(pool, reinterpret_cast<const VkProtectedSubmitInfo*>(structExtension), reinterpret_cast<VkProtectedSubmitInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO:
- {
- deepcopy_VkSamplerYcbcrConversionInfo(pool, reinterpret_cast<const VkSamplerYcbcrConversionInfo*>(structExtension), reinterpret_cast<VkSamplerYcbcrConversionInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO:
- {
- deepcopy_VkBindImagePlaneMemoryInfo(pool, reinterpret_cast<const VkBindImagePlaneMemoryInfo*>(structExtension), reinterpret_cast<VkBindImagePlaneMemoryInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO:
- {
- deepcopy_VkImagePlaneMemoryRequirementsInfo(pool, reinterpret_cast<const VkImagePlaneMemoryRequirementsInfo*>(structExtension), reinterpret_cast<VkImagePlaneMemoryRequirementsInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:
- {
- deepcopy_VkPhysicalDeviceSamplerYcbcrConversionFeatures(pool, reinterpret_cast<const VkPhysicalDeviceSamplerYcbcrConversionFeatures*>(structExtension), reinterpret_cast<VkPhysicalDeviceSamplerYcbcrConversionFeatures*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES:
- {
- deepcopy_VkSamplerYcbcrConversionImageFormatProperties(pool, reinterpret_cast<const VkSamplerYcbcrConversionImageFormatProperties*>(structExtension), reinterpret_cast<VkSamplerYcbcrConversionImageFormatProperties*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO:
- {
- deepcopy_VkPhysicalDeviceExternalImageFormatInfo(pool, reinterpret_cast<const VkPhysicalDeviceExternalImageFormatInfo*>(structExtension), reinterpret_cast<VkPhysicalDeviceExternalImageFormatInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES:
- {
- deepcopy_VkExternalImageFormatProperties(pool, reinterpret_cast<const VkExternalImageFormatProperties*>(structExtension), reinterpret_cast<VkExternalImageFormatProperties*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES:
- {
- deepcopy_VkPhysicalDeviceIDProperties(pool, reinterpret_cast<const VkPhysicalDeviceIDProperties*>(structExtension), reinterpret_cast<VkPhysicalDeviceIDProperties*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO:
- {
- deepcopy_VkExternalMemoryImageCreateInfo(pool, reinterpret_cast<const VkExternalMemoryImageCreateInfo*>(structExtension), reinterpret_cast<VkExternalMemoryImageCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO:
- {
- deepcopy_VkExternalMemoryBufferCreateInfo(pool, reinterpret_cast<const VkExternalMemoryBufferCreateInfo*>(structExtension), reinterpret_cast<VkExternalMemoryBufferCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO:
- {
- deepcopy_VkExportMemoryAllocateInfo(pool, reinterpret_cast<const VkExportMemoryAllocateInfo*>(structExtension), reinterpret_cast<VkExportMemoryAllocateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO:
- {
- deepcopy_VkExportFenceCreateInfo(pool, reinterpret_cast<const VkExportFenceCreateInfo*>(structExtension), reinterpret_cast<VkExportFenceCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO:
- {
- deepcopy_VkExportSemaphoreCreateInfo(pool, reinterpret_cast<const VkExportSemaphoreCreateInfo*>(structExtension), reinterpret_cast<VkExportSemaphoreCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES:
- {
- deepcopy_VkPhysicalDeviceMaintenance3Properties(pool, reinterpret_cast<const VkPhysicalDeviceMaintenance3Properties*>(structExtension), reinterpret_cast<VkPhysicalDeviceMaintenance3Properties*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES:
- {
- deepcopy_VkPhysicalDeviceShaderDrawParameterFeatures(pool, reinterpret_cast<const VkPhysicalDeviceShaderDrawParameterFeatures*>(structExtension), reinterpret_cast<VkPhysicalDeviceShaderDrawParameterFeatures*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_swapchain
- case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR:
- {
- deepcopy_VkImageSwapchainCreateInfoKHR(pool, reinterpret_cast<const VkImageSwapchainCreateInfoKHR*>(structExtension), reinterpret_cast<VkImageSwapchainCreateInfoKHR*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR:
- {
- deepcopy_VkBindImageMemorySwapchainInfoKHR(pool, reinterpret_cast<const VkBindImageMemorySwapchainInfoKHR*>(structExtension), reinterpret_cast<VkBindImageMemorySwapchainInfoKHR*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR:
- {
- deepcopy_VkDeviceGroupPresentInfoKHR(pool, reinterpret_cast<const VkDeviceGroupPresentInfoKHR*>(structExtension), reinterpret_cast<VkDeviceGroupPresentInfoKHR*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR:
- {
- deepcopy_VkDeviceGroupSwapchainCreateInfoKHR(pool, reinterpret_cast<const VkDeviceGroupSwapchainCreateInfoKHR*>(structExtension), reinterpret_cast<VkDeviceGroupSwapchainCreateInfoKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_display_swapchain
- case VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR:
- {
- deepcopy_VkDisplayPresentInfoKHR(pool, reinterpret_cast<const VkDisplayPresentInfoKHR*>(structExtension), reinterpret_cast<VkDisplayPresentInfoKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_external_memory_win32
- case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR:
- {
- deepcopy_VkImportMemoryWin32HandleInfoKHR(pool, reinterpret_cast<const VkImportMemoryWin32HandleInfoKHR*>(structExtension), reinterpret_cast<VkImportMemoryWin32HandleInfoKHR*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR:
- {
- deepcopy_VkExportMemoryWin32HandleInfoKHR(pool, reinterpret_cast<const VkExportMemoryWin32HandleInfoKHR*>(structExtension), reinterpret_cast<VkExportMemoryWin32HandleInfoKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_external_memory_fd
- case VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR:
- {
- deepcopy_VkImportMemoryFdInfoKHR(pool, reinterpret_cast<const VkImportMemoryFdInfoKHR*>(structExtension), reinterpret_cast<VkImportMemoryFdInfoKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_win32_keyed_mutex
- case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR:
- {
- deepcopy_VkWin32KeyedMutexAcquireReleaseInfoKHR(pool, reinterpret_cast<const VkWin32KeyedMutexAcquireReleaseInfoKHR*>(structExtension), reinterpret_cast<VkWin32KeyedMutexAcquireReleaseInfoKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_external_semaphore_win32
- case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR:
- {
- deepcopy_VkExportSemaphoreWin32HandleInfoKHR(pool, reinterpret_cast<const VkExportSemaphoreWin32HandleInfoKHR*>(structExtension), reinterpret_cast<VkExportSemaphoreWin32HandleInfoKHR*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR:
- {
- deepcopy_VkD3D12FenceSubmitInfoKHR(pool, reinterpret_cast<const VkD3D12FenceSubmitInfoKHR*>(structExtension), reinterpret_cast<VkD3D12FenceSubmitInfoKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_push_descriptor
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR:
- {
- deepcopy_VkPhysicalDevicePushDescriptorPropertiesKHR(pool, reinterpret_cast<const VkPhysicalDevicePushDescriptorPropertiesKHR*>(structExtension), reinterpret_cast<VkPhysicalDevicePushDescriptorPropertiesKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_incremental_present
- case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR:
- {
- deepcopy_VkPresentRegionsKHR(pool, reinterpret_cast<const VkPresentRegionsKHR*>(structExtension), reinterpret_cast<VkPresentRegionsKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_shared_presentable_image
- case VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR:
- {
- deepcopy_VkSharedPresentSurfaceCapabilitiesKHR(pool, reinterpret_cast<const VkSharedPresentSurfaceCapabilitiesKHR*>(structExtension), reinterpret_cast<VkSharedPresentSurfaceCapabilitiesKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_external_fence_win32
- case VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR:
- {
- deepcopy_VkExportFenceWin32HandleInfoKHR(pool, reinterpret_cast<const VkExportFenceWin32HandleInfoKHR*>(structExtension), reinterpret_cast<VkExportFenceWin32HandleInfoKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_image_format_list
- case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR:
- {
- deepcopy_VkImageFormatListCreateInfoKHR(pool, reinterpret_cast<const VkImageFormatListCreateInfoKHR*>(structExtension), reinterpret_cast<VkImageFormatListCreateInfoKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_8bit_storage
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR:
- {
- deepcopy_VkPhysicalDevice8BitStorageFeaturesKHR(pool, reinterpret_cast<const VkPhysicalDevice8BitStorageFeaturesKHR*>(structExtension), reinterpret_cast<VkPhysicalDevice8BitStorageFeaturesKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_shader_float16_int8
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:
- {
- deepcopy_VkPhysicalDeviceShaderFloat16Int8Features(pool, reinterpret_cast<const VkPhysicalDeviceShaderFloat16Int8Features*>(structExtension), reinterpret_cast<VkPhysicalDeviceShaderFloat16Int8Features*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_ANDROID_native_buffer
- case VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID:
- {
- deepcopy_VkNativeBufferANDROID(pool, reinterpret_cast<const VkNativeBufferANDROID*>(structExtension), reinterpret_cast<VkNativeBufferANDROID*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_debug_report
- case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT:
- {
- deepcopy_VkDebugReportCallbackCreateInfoEXT(pool, reinterpret_cast<const VkDebugReportCallbackCreateInfoEXT*>(structExtension), reinterpret_cast<VkDebugReportCallbackCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_AMD_rasterization_order
- case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD:
- {
- deepcopy_VkPipelineRasterizationStateRasterizationOrderAMD(pool, reinterpret_cast<const VkPipelineRasterizationStateRasterizationOrderAMD*>(structExtension), reinterpret_cast<VkPipelineRasterizationStateRasterizationOrderAMD*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_dedicated_allocation
- case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV:
- {
- deepcopy_VkDedicatedAllocationImageCreateInfoNV(pool, reinterpret_cast<const VkDedicatedAllocationImageCreateInfoNV*>(structExtension), reinterpret_cast<VkDedicatedAllocationImageCreateInfoNV*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV:
- {
- deepcopy_VkDedicatedAllocationBufferCreateInfoNV(pool, reinterpret_cast<const VkDedicatedAllocationBufferCreateInfoNV*>(structExtension), reinterpret_cast<VkDedicatedAllocationBufferCreateInfoNV*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV:
- {
- deepcopy_VkDedicatedAllocationMemoryAllocateInfoNV(pool, reinterpret_cast<const VkDedicatedAllocationMemoryAllocateInfoNV*>(structExtension), reinterpret_cast<VkDedicatedAllocationMemoryAllocateInfoNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_AMD_texture_gather_bias_lod
- case VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD:
- {
- deepcopy_VkTextureLODGatherFormatPropertiesAMD(pool, reinterpret_cast<const VkTextureLODGatherFormatPropertiesAMD*>(structExtension), reinterpret_cast<VkTextureLODGatherFormatPropertiesAMD*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_external_memory
- case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV:
- {
- deepcopy_VkExternalMemoryImageCreateInfoNV(pool, reinterpret_cast<const VkExternalMemoryImageCreateInfoNV*>(structExtension), reinterpret_cast<VkExternalMemoryImageCreateInfoNV*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV:
- {
- deepcopy_VkExportMemoryAllocateInfoNV(pool, reinterpret_cast<const VkExportMemoryAllocateInfoNV*>(structExtension), reinterpret_cast<VkExportMemoryAllocateInfoNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_external_memory_win32
- case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV:
- {
- deepcopy_VkImportMemoryWin32HandleInfoNV(pool, reinterpret_cast<const VkImportMemoryWin32HandleInfoNV*>(structExtension), reinterpret_cast<VkImportMemoryWin32HandleInfoNV*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV:
- {
- deepcopy_VkExportMemoryWin32HandleInfoNV(pool, reinterpret_cast<const VkExportMemoryWin32HandleInfoNV*>(structExtension), reinterpret_cast<VkExportMemoryWin32HandleInfoNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_win32_keyed_mutex
- case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV:
- {
- deepcopy_VkWin32KeyedMutexAcquireReleaseInfoNV(pool, reinterpret_cast<const VkWin32KeyedMutexAcquireReleaseInfoNV*>(structExtension), reinterpret_cast<VkWin32KeyedMutexAcquireReleaseInfoNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_validation_flags
- case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT:
- {
- deepcopy_VkValidationFlagsEXT(pool, reinterpret_cast<const VkValidationFlagsEXT*>(structExtension), reinterpret_cast<VkValidationFlagsEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_conditional_rendering
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT:
- {
- deepcopy_VkPhysicalDeviceConditionalRenderingFeaturesEXT(pool, reinterpret_cast<const VkPhysicalDeviceConditionalRenderingFeaturesEXT*>(structExtension), reinterpret_cast<VkPhysicalDeviceConditionalRenderingFeaturesEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT:
- {
- deepcopy_VkCommandBufferInheritanceConditionalRenderingInfoEXT(pool, reinterpret_cast<const VkCommandBufferInheritanceConditionalRenderingInfoEXT*>(structExtension), reinterpret_cast<VkCommandBufferInheritanceConditionalRenderingInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_clip_space_w_scaling
- case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV:
- {
- deepcopy_VkPipelineViewportWScalingStateCreateInfoNV(pool, reinterpret_cast<const VkPipelineViewportWScalingStateCreateInfoNV*>(structExtension), reinterpret_cast<VkPipelineViewportWScalingStateCreateInfoNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_display_control
- case VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT:
- {
- deepcopy_VkSwapchainCounterCreateInfoEXT(pool, reinterpret_cast<const VkSwapchainCounterCreateInfoEXT*>(structExtension), reinterpret_cast<VkSwapchainCounterCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_GOOGLE_display_timing
- case VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE:
- {
- deepcopy_VkPresentTimesInfoGOOGLE(pool, reinterpret_cast<const VkPresentTimesInfoGOOGLE*>(structExtension), reinterpret_cast<VkPresentTimesInfoGOOGLE*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NVX_multiview_per_view_attributes
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX:
- {
- deepcopy_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(pool, reinterpret_cast<const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX*>(structExtension), reinterpret_cast<VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_viewport_swizzle
- case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV:
- {
- deepcopy_VkPipelineViewportSwizzleStateCreateInfoNV(pool, reinterpret_cast<const VkPipelineViewportSwizzleStateCreateInfoNV*>(structExtension), reinterpret_cast<VkPipelineViewportSwizzleStateCreateInfoNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_discard_rectangles
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT:
- {
- deepcopy_VkPhysicalDeviceDiscardRectanglePropertiesEXT(pool, reinterpret_cast<const VkPhysicalDeviceDiscardRectanglePropertiesEXT*>(structExtension), reinterpret_cast<VkPhysicalDeviceDiscardRectanglePropertiesEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT:
- {
- deepcopy_VkPipelineDiscardRectangleStateCreateInfoEXT(pool, reinterpret_cast<const VkPipelineDiscardRectangleStateCreateInfoEXT*>(structExtension), reinterpret_cast<VkPipelineDiscardRectangleStateCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_conservative_rasterization
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT:
- {
- deepcopy_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(pool, reinterpret_cast<const VkPhysicalDeviceConservativeRasterizationPropertiesEXT*>(structExtension), reinterpret_cast<VkPhysicalDeviceConservativeRasterizationPropertiesEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT:
- {
- deepcopy_VkPipelineRasterizationConservativeStateCreateInfoEXT(pool, reinterpret_cast<const VkPipelineRasterizationConservativeStateCreateInfoEXT*>(structExtension), reinterpret_cast<VkPipelineRasterizationConservativeStateCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_debug_utils
- case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT:
- {
- deepcopy_VkDebugUtilsMessengerCreateInfoEXT(pool, reinterpret_cast<const VkDebugUtilsMessengerCreateInfoEXT*>(structExtension), reinterpret_cast<VkDebugUtilsMessengerCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_ANDROID_external_memory_android_hardware_buffer
- case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID:
- {
- deepcopy_VkAndroidHardwareBufferUsageANDROID(pool, reinterpret_cast<const VkAndroidHardwareBufferUsageANDROID*>(structExtension), reinterpret_cast<VkAndroidHardwareBufferUsageANDROID*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID:
- {
- deepcopy_VkAndroidHardwareBufferFormatPropertiesANDROID(pool, reinterpret_cast<const VkAndroidHardwareBufferFormatPropertiesANDROID*>(structExtension), reinterpret_cast<VkAndroidHardwareBufferFormatPropertiesANDROID*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID:
- {
- deepcopy_VkImportAndroidHardwareBufferInfoANDROID(pool, reinterpret_cast<const VkImportAndroidHardwareBufferInfoANDROID*>(structExtension), reinterpret_cast<VkImportAndroidHardwareBufferInfoANDROID*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID:
- {
- deepcopy_VkExternalFormatANDROID(pool, reinterpret_cast<const VkExternalFormatANDROID*>(structExtension), reinterpret_cast<VkExternalFormatANDROID*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_sampler_filter_minmax
- case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT:
- {
- deepcopy_VkSamplerReductionModeCreateInfoEXT(pool, reinterpret_cast<const VkSamplerReductionModeCreateInfoEXT*>(structExtension), reinterpret_cast<VkSamplerReductionModeCreateInfoEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT:
- {
- deepcopy_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT(pool, reinterpret_cast<const VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT*>(structExtension), reinterpret_cast<VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_sample_locations
- case VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT:
- {
- deepcopy_VkSampleLocationsInfoEXT(pool, reinterpret_cast<const VkSampleLocationsInfoEXT*>(structExtension), reinterpret_cast<VkSampleLocationsInfoEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT:
- {
- deepcopy_VkRenderPassSampleLocationsBeginInfoEXT(pool, reinterpret_cast<const VkRenderPassSampleLocationsBeginInfoEXT*>(structExtension), reinterpret_cast<VkRenderPassSampleLocationsBeginInfoEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT:
- {
- deepcopy_VkPipelineSampleLocationsStateCreateInfoEXT(pool, reinterpret_cast<const VkPipelineSampleLocationsStateCreateInfoEXT*>(structExtension), reinterpret_cast<VkPipelineSampleLocationsStateCreateInfoEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT:
- {
- deepcopy_VkPhysicalDeviceSampleLocationsPropertiesEXT(pool, reinterpret_cast<const VkPhysicalDeviceSampleLocationsPropertiesEXT*>(structExtension), reinterpret_cast<VkPhysicalDeviceSampleLocationsPropertiesEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_blend_operation_advanced
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT:
- {
- deepcopy_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(pool, reinterpret_cast<const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT*>(structExtension), reinterpret_cast<VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT:
- {
- deepcopy_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(pool, reinterpret_cast<const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT*>(structExtension), reinterpret_cast<VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT:
- {
- deepcopy_VkPipelineColorBlendAdvancedStateCreateInfoEXT(pool, reinterpret_cast<const VkPipelineColorBlendAdvancedStateCreateInfoEXT*>(structExtension), reinterpret_cast<VkPipelineColorBlendAdvancedStateCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_fragment_coverage_to_color
- case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV:
- {
- deepcopy_VkPipelineCoverageToColorStateCreateInfoNV(pool, reinterpret_cast<const VkPipelineCoverageToColorStateCreateInfoNV*>(structExtension), reinterpret_cast<VkPipelineCoverageToColorStateCreateInfoNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_framebuffer_mixed_samples
- case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV:
- {
- deepcopy_VkPipelineCoverageModulationStateCreateInfoNV(pool, reinterpret_cast<const VkPipelineCoverageModulationStateCreateInfoNV*>(structExtension), reinterpret_cast<VkPipelineCoverageModulationStateCreateInfoNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_validation_cache
- case VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT:
- {
- deepcopy_VkShaderModuleValidationCacheCreateInfoEXT(pool, reinterpret_cast<const VkShaderModuleValidationCacheCreateInfoEXT*>(structExtension), reinterpret_cast<VkShaderModuleValidationCacheCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_descriptor_indexing
- case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT:
- {
- deepcopy_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT(pool, reinterpret_cast<const VkDescriptorSetLayoutBindingFlagsCreateInfoEXT*>(structExtension), reinterpret_cast<VkDescriptorSetLayoutBindingFlagsCreateInfoEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT:
- {
- deepcopy_VkPhysicalDeviceDescriptorIndexingFeaturesEXT(pool, reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingFeaturesEXT*>(structExtension), reinterpret_cast<VkPhysicalDeviceDescriptorIndexingFeaturesEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT:
- {
- deepcopy_VkPhysicalDeviceDescriptorIndexingPropertiesEXT(pool, reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingPropertiesEXT*>(structExtension), reinterpret_cast<VkPhysicalDeviceDescriptorIndexingPropertiesEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT:
- {
- deepcopy_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT(pool, reinterpret_cast<const VkDescriptorSetVariableDescriptorCountAllocateInfoEXT*>(structExtension), reinterpret_cast<VkDescriptorSetVariableDescriptorCountAllocateInfoEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT:
- {
- deepcopy_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT(pool, reinterpret_cast<const VkDescriptorSetVariableDescriptorCountLayoutSupportEXT*>(structExtension), reinterpret_cast<VkDescriptorSetVariableDescriptorCountLayoutSupportEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_global_priority
- case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT:
- {
- deepcopy_VkDeviceQueueGlobalPriorityCreateInfoEXT(pool, reinterpret_cast<const VkDeviceQueueGlobalPriorityCreateInfoEXT*>(structExtension), reinterpret_cast<VkDeviceQueueGlobalPriorityCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_external_memory_host
- case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT:
- {
- deepcopy_VkImportMemoryHostPointerInfoEXT(pool, reinterpret_cast<const VkImportMemoryHostPointerInfoEXT*>(structExtension), reinterpret_cast<VkImportMemoryHostPointerInfoEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT:
- {
- deepcopy_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(pool, reinterpret_cast<const VkPhysicalDeviceExternalMemoryHostPropertiesEXT*>(structExtension), reinterpret_cast<VkPhysicalDeviceExternalMemoryHostPropertiesEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_AMD_shader_core_properties
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD:
- {
- deepcopy_VkPhysicalDeviceShaderCorePropertiesAMD(pool, reinterpret_cast<const VkPhysicalDeviceShaderCorePropertiesAMD*>(structExtension), reinterpret_cast<VkPhysicalDeviceShaderCorePropertiesAMD*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_vertex_attribute_divisor
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT:
- {
- deepcopy_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(pool, reinterpret_cast<const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT*>(structExtension), reinterpret_cast<VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT:
- {
- deepcopy_VkPipelineVertexInputDivisorStateCreateInfoEXT(pool, reinterpret_cast<const VkPipelineVertexInputDivisorStateCreateInfoEXT*>(structExtension), reinterpret_cast<VkPipelineVertexInputDivisorStateCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_device_diagnostic_checkpoints
- case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV:
- {
- deepcopy_VkQueueFamilyCheckpointPropertiesNV(pool, reinterpret_cast<const VkQueueFamilyCheckpointPropertiesNV*>(structExtension), reinterpret_cast<VkQueueFamilyCheckpointPropertiesNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_GOOGLE_color_buffer
- case VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE:
- {
- deepcopy_VkImportColorBufferGOOGLE(pool, reinterpret_cast<const VkImportColorBufferGOOGLE*>(structExtension), reinterpret_cast<VkImportColorBufferGOOGLE*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE:
- {
- deepcopy_VkImportBufferGOOGLE(pool, reinterpret_cast<const VkImportBufferGOOGLE*>(structExtension), reinterpret_cast<VkImportBufferGOOGLE*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_IMPORT_PHYSICAL_ADDRESS_GOOGLE:
- {
- deepcopy_VkImportPhysicalAddressGOOGLE(pool, reinterpret_cast<const VkImportPhysicalAddressGOOGLE*>(structExtension), reinterpret_cast<VkImportPhysicalAddressGOOGLE*>(structExtension_out));
- break;
- }
-#endif
- default:
- {
- return;
- }
- }
-}
-
-
-} // namespace goldfish_vk
diff --git a/stream-clients/vulkan_enc/goldfish_vk_deepcopy_guest.h b/stream-clients/vulkan_enc/goldfish_vk_deepcopy_guest.h
deleted file mode 100644
index aaf9192..0000000
--- a/stream-clients/vulkan_enc/goldfish_vk_deepcopy_guest.h
+++ /dev/null
@@ -1,2052 +0,0 @@
-// 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 goldfish_vk_deepcopy_guest
-// (header) generated by protocols/vulkan/xml/genvk.py -registry protocols/vulkan/xml/vk.xml cereal -o stream-servers/vulkan/cereal
-// Please do not modify directly;
-// re-run generate-vulkan-sources.sh,
-// or directly from Python by defining:
-// VULKAN_REGISTRY_XML_DIR : Directory containing genvk.py and vk.xml
-// CEREAL_OUTPUT_DIR: Where to put the generated sources.
-// python3 $VULKAN_REGISTRY_XML_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o $CEREAL_OUTPUT_DIR
-
-#pragma once
-
-#include <vulkan/vulkan.h>
-
-
-#include "vk_platform_compat.h"
-
-#include "goldfish_vk_private_defs.h"
-#include "base/BumpPool.h"
-using android::base::BumpPool;
-// Stuff we are not going to use but if included,
-// will cause compile errors. These are Android Vulkan
-// required extensions, but the approach will be to
-// implement them completely on the guest side.
-#undef VK_KHR_android_surface
-#undef VK_ANDROID_external_memory_android_hardware_buffer
-
-
-namespace goldfish_vk {
-
-#ifdef VK_VERSION_1_0
-void deepcopy_VkApplicationInfo(
- BumpPool* pool,
- const VkApplicationInfo* from,
- VkApplicationInfo* to);
-
-void deepcopy_VkInstanceCreateInfo(
- BumpPool* pool,
- const VkInstanceCreateInfo* from,
- VkInstanceCreateInfo* to);
-
-void deepcopy_VkAllocationCallbacks(
- BumpPool* pool,
- const VkAllocationCallbacks* from,
- VkAllocationCallbacks* to);
-
-void deepcopy_VkPhysicalDeviceFeatures(
- BumpPool* pool,
- const VkPhysicalDeviceFeatures* from,
- VkPhysicalDeviceFeatures* to);
-
-void deepcopy_VkFormatProperties(
- BumpPool* pool,
- const VkFormatProperties* from,
- VkFormatProperties* to);
-
-void deepcopy_VkExtent3D(
- BumpPool* pool,
- const VkExtent3D* from,
- VkExtent3D* to);
-
-void deepcopy_VkImageFormatProperties(
- BumpPool* pool,
- const VkImageFormatProperties* from,
- VkImageFormatProperties* to);
-
-void deepcopy_VkPhysicalDeviceLimits(
- BumpPool* pool,
- const VkPhysicalDeviceLimits* from,
- VkPhysicalDeviceLimits* to);
-
-void deepcopy_VkPhysicalDeviceSparseProperties(
- BumpPool* pool,
- const VkPhysicalDeviceSparseProperties* from,
- VkPhysicalDeviceSparseProperties* to);
-
-void deepcopy_VkPhysicalDeviceProperties(
- BumpPool* pool,
- const VkPhysicalDeviceProperties* from,
- VkPhysicalDeviceProperties* to);
-
-void deepcopy_VkQueueFamilyProperties(
- BumpPool* pool,
- const VkQueueFamilyProperties* from,
- VkQueueFamilyProperties* to);
-
-void deepcopy_VkMemoryType(
- BumpPool* pool,
- const VkMemoryType* from,
- VkMemoryType* to);
-
-void deepcopy_VkMemoryHeap(
- BumpPool* pool,
- const VkMemoryHeap* from,
- VkMemoryHeap* to);
-
-void deepcopy_VkPhysicalDeviceMemoryProperties(
- BumpPool* pool,
- const VkPhysicalDeviceMemoryProperties* from,
- VkPhysicalDeviceMemoryProperties* to);
-
-void deepcopy_VkDeviceQueueCreateInfo(
- BumpPool* pool,
- const VkDeviceQueueCreateInfo* from,
- VkDeviceQueueCreateInfo* to);
-
-void deepcopy_VkDeviceCreateInfo(
- BumpPool* pool,
- const VkDeviceCreateInfo* from,
- VkDeviceCreateInfo* to);
-
-void deepcopy_VkExtensionProperties(
- BumpPool* pool,
- const VkExtensionProperties* from,
- VkExtensionProperties* to);
-
-void deepcopy_VkLayerProperties(
- BumpPool* pool,
- const VkLayerProperties* from,
- VkLayerProperties* to);
-
-void deepcopy_VkSubmitInfo(
- BumpPool* pool,
- const VkSubmitInfo* from,
- VkSubmitInfo* to);
-
-void deepcopy_VkMemoryAllocateInfo(
- BumpPool* pool,
- const VkMemoryAllocateInfo* from,
- VkMemoryAllocateInfo* to);
-
-void deepcopy_VkMappedMemoryRange(
- BumpPool* pool,
- const VkMappedMemoryRange* from,
- VkMappedMemoryRange* to);
-
-void deepcopy_VkMemoryRequirements(
- BumpPool* pool,
- const VkMemoryRequirements* from,
- VkMemoryRequirements* to);
-
-void deepcopy_VkSparseImageFormatProperties(
- BumpPool* pool,
- const VkSparseImageFormatProperties* from,
- VkSparseImageFormatProperties* to);
-
-void deepcopy_VkSparseImageMemoryRequirements(
- BumpPool* pool,
- const VkSparseImageMemoryRequirements* from,
- VkSparseImageMemoryRequirements* to);
-
-void deepcopy_VkSparseMemoryBind(
- BumpPool* pool,
- const VkSparseMemoryBind* from,
- VkSparseMemoryBind* to);
-
-void deepcopy_VkSparseBufferMemoryBindInfo(
- BumpPool* pool,
- const VkSparseBufferMemoryBindInfo* from,
- VkSparseBufferMemoryBindInfo* to);
-
-void deepcopy_VkSparseImageOpaqueMemoryBindInfo(
- BumpPool* pool,
- const VkSparseImageOpaqueMemoryBindInfo* from,
- VkSparseImageOpaqueMemoryBindInfo* to);
-
-void deepcopy_VkImageSubresource(
- BumpPool* pool,
- const VkImageSubresource* from,
- VkImageSubresource* to);
-
-void deepcopy_VkOffset3D(
- BumpPool* pool,
- const VkOffset3D* from,
- VkOffset3D* to);
-
-void deepcopy_VkSparseImageMemoryBind(
- BumpPool* pool,
- const VkSparseImageMemoryBind* from,
- VkSparseImageMemoryBind* to);
-
-void deepcopy_VkSparseImageMemoryBindInfo(
- BumpPool* pool,
- const VkSparseImageMemoryBindInfo* from,
- VkSparseImageMemoryBindInfo* to);
-
-void deepcopy_VkBindSparseInfo(
- BumpPool* pool,
- const VkBindSparseInfo* from,
- VkBindSparseInfo* to);
-
-void deepcopy_VkFenceCreateInfo(
- BumpPool* pool,
- const VkFenceCreateInfo* from,
- VkFenceCreateInfo* to);
-
-void deepcopy_VkSemaphoreCreateInfo(
- BumpPool* pool,
- const VkSemaphoreCreateInfo* from,
- VkSemaphoreCreateInfo* to);
-
-void deepcopy_VkEventCreateInfo(
- BumpPool* pool,
- const VkEventCreateInfo* from,
- VkEventCreateInfo* to);
-
-void deepcopy_VkQueryPoolCreateInfo(
- BumpPool* pool,
- const VkQueryPoolCreateInfo* from,
- VkQueryPoolCreateInfo* to);
-
-void deepcopy_VkBufferCreateInfo(
- BumpPool* pool,
- const VkBufferCreateInfo* from,
- VkBufferCreateInfo* to);
-
-void deepcopy_VkBufferViewCreateInfo(
- BumpPool* pool,
- const VkBufferViewCreateInfo* from,
- VkBufferViewCreateInfo* to);
-
-void deepcopy_VkImageCreateInfo(
- BumpPool* pool,
- const VkImageCreateInfo* from,
- VkImageCreateInfo* to);
-
-void deepcopy_VkSubresourceLayout(
- BumpPool* pool,
- const VkSubresourceLayout* from,
- VkSubresourceLayout* to);
-
-void deepcopy_VkComponentMapping(
- BumpPool* pool,
- const VkComponentMapping* from,
- VkComponentMapping* to);
-
-void deepcopy_VkImageSubresourceRange(
- BumpPool* pool,
- const VkImageSubresourceRange* from,
- VkImageSubresourceRange* to);
-
-void deepcopy_VkImageViewCreateInfo(
- BumpPool* pool,
- const VkImageViewCreateInfo* from,
- VkImageViewCreateInfo* to);
-
-void deepcopy_VkShaderModuleCreateInfo(
- BumpPool* pool,
- const VkShaderModuleCreateInfo* from,
- VkShaderModuleCreateInfo* to);
-
-void deepcopy_VkPipelineCacheCreateInfo(
- BumpPool* pool,
- const VkPipelineCacheCreateInfo* from,
- VkPipelineCacheCreateInfo* to);
-
-void deepcopy_VkSpecializationMapEntry(
- BumpPool* pool,
- const VkSpecializationMapEntry* from,
- VkSpecializationMapEntry* to);
-
-void deepcopy_VkSpecializationInfo(
- BumpPool* pool,
- const VkSpecializationInfo* from,
- VkSpecializationInfo* to);
-
-void deepcopy_VkPipelineShaderStageCreateInfo(
- BumpPool* pool,
- const VkPipelineShaderStageCreateInfo* from,
- VkPipelineShaderStageCreateInfo* to);
-
-void deepcopy_VkVertexInputBindingDescription(
- BumpPool* pool,
- const VkVertexInputBindingDescription* from,
- VkVertexInputBindingDescription* to);
-
-void deepcopy_VkVertexInputAttributeDescription(
- BumpPool* pool,
- const VkVertexInputAttributeDescription* from,
- VkVertexInputAttributeDescription* to);
-
-void deepcopy_VkPipelineVertexInputStateCreateInfo(
- BumpPool* pool,
- const VkPipelineVertexInputStateCreateInfo* from,
- VkPipelineVertexInputStateCreateInfo* to);
-
-void deepcopy_VkPipelineInputAssemblyStateCreateInfo(
- BumpPool* pool,
- const VkPipelineInputAssemblyStateCreateInfo* from,
- VkPipelineInputAssemblyStateCreateInfo* to);
-
-void deepcopy_VkPipelineTessellationStateCreateInfo(
- BumpPool* pool,
- const VkPipelineTessellationStateCreateInfo* from,
- VkPipelineTessellationStateCreateInfo* to);
-
-void deepcopy_VkViewport(
- BumpPool* pool,
- const VkViewport* from,
- VkViewport* to);
-
-void deepcopy_VkOffset2D(
- BumpPool* pool,
- const VkOffset2D* from,
- VkOffset2D* to);
-
-void deepcopy_VkExtent2D(
- BumpPool* pool,
- const VkExtent2D* from,
- VkExtent2D* to);
-
-void deepcopy_VkRect2D(
- BumpPool* pool,
- const VkRect2D* from,
- VkRect2D* to);
-
-void deepcopy_VkPipelineViewportStateCreateInfo(
- BumpPool* pool,
- const VkPipelineViewportStateCreateInfo* from,
- VkPipelineViewportStateCreateInfo* to);
-
-void deepcopy_VkPipelineRasterizationStateCreateInfo(
- BumpPool* pool,
- const VkPipelineRasterizationStateCreateInfo* from,
- VkPipelineRasterizationStateCreateInfo* to);
-
-void deepcopy_VkPipelineMultisampleStateCreateInfo(
- BumpPool* pool,
- const VkPipelineMultisampleStateCreateInfo* from,
- VkPipelineMultisampleStateCreateInfo* to);
-
-void deepcopy_VkStencilOpState(
- BumpPool* pool,
- const VkStencilOpState* from,
- VkStencilOpState* to);
-
-void deepcopy_VkPipelineDepthStencilStateCreateInfo(
- BumpPool* pool,
- const VkPipelineDepthStencilStateCreateInfo* from,
- VkPipelineDepthStencilStateCreateInfo* to);
-
-void deepcopy_VkPipelineColorBlendAttachmentState(
- BumpPool* pool,
- const VkPipelineColorBlendAttachmentState* from,
- VkPipelineColorBlendAttachmentState* to);
-
-void deepcopy_VkPipelineColorBlendStateCreateInfo(
- BumpPool* pool,
- const VkPipelineColorBlendStateCreateInfo* from,
- VkPipelineColorBlendStateCreateInfo* to);
-
-void deepcopy_VkPipelineDynamicStateCreateInfo(
- BumpPool* pool,
- const VkPipelineDynamicStateCreateInfo* from,
- VkPipelineDynamicStateCreateInfo* to);
-
-void deepcopy_VkGraphicsPipelineCreateInfo(
- BumpPool* pool,
- const VkGraphicsPipelineCreateInfo* from,
- VkGraphicsPipelineCreateInfo* to);
-
-void deepcopy_VkComputePipelineCreateInfo(
- BumpPool* pool,
- const VkComputePipelineCreateInfo* from,
- VkComputePipelineCreateInfo* to);
-
-void deepcopy_VkPushConstantRange(
- BumpPool* pool,
- const VkPushConstantRange* from,
- VkPushConstantRange* to);
-
-void deepcopy_VkPipelineLayoutCreateInfo(
- BumpPool* pool,
- const VkPipelineLayoutCreateInfo* from,
- VkPipelineLayoutCreateInfo* to);
-
-void deepcopy_VkSamplerCreateInfo(
- BumpPool* pool,
- const VkSamplerCreateInfo* from,
- VkSamplerCreateInfo* to);
-
-void deepcopy_VkDescriptorSetLayoutBinding(
- BumpPool* pool,
- const VkDescriptorSetLayoutBinding* from,
- VkDescriptorSetLayoutBinding* to);
-
-void deepcopy_VkDescriptorSetLayoutCreateInfo(
- BumpPool* pool,
- const VkDescriptorSetLayoutCreateInfo* from,
- VkDescriptorSetLayoutCreateInfo* to);
-
-void deepcopy_VkDescriptorPoolSize(
- BumpPool* pool,
- const VkDescriptorPoolSize* from,
- VkDescriptorPoolSize* to);
-
-void deepcopy_VkDescriptorPoolCreateInfo(
- BumpPool* pool,
- const VkDescriptorPoolCreateInfo* from,
- VkDescriptorPoolCreateInfo* to);
-
-void deepcopy_VkDescriptorSetAllocateInfo(
- BumpPool* pool,
- const VkDescriptorSetAllocateInfo* from,
- VkDescriptorSetAllocateInfo* to);
-
-void deepcopy_VkDescriptorImageInfo(
- BumpPool* pool,
- const VkDescriptorImageInfo* from,
- VkDescriptorImageInfo* to);
-
-void deepcopy_VkDescriptorBufferInfo(
- BumpPool* pool,
- const VkDescriptorBufferInfo* from,
- VkDescriptorBufferInfo* to);
-
-void deepcopy_VkWriteDescriptorSet(
- BumpPool* pool,
- const VkWriteDescriptorSet* from,
- VkWriteDescriptorSet* to);
-
-void deepcopy_VkCopyDescriptorSet(
- BumpPool* pool,
- const VkCopyDescriptorSet* from,
- VkCopyDescriptorSet* to);
-
-void deepcopy_VkFramebufferCreateInfo(
- BumpPool* pool,
- const VkFramebufferCreateInfo* from,
- VkFramebufferCreateInfo* to);
-
-void deepcopy_VkAttachmentDescription(
- BumpPool* pool,
- const VkAttachmentDescription* from,
- VkAttachmentDescription* to);
-
-void deepcopy_VkAttachmentReference(
- BumpPool* pool,
- const VkAttachmentReference* from,
- VkAttachmentReference* to);
-
-void deepcopy_VkSubpassDescription(
- BumpPool* pool,
- const VkSubpassDescription* from,
- VkSubpassDescription* to);
-
-void deepcopy_VkSubpassDependency(
- BumpPool* pool,
- const VkSubpassDependency* from,
- VkSubpassDependency* to);
-
-void deepcopy_VkRenderPassCreateInfo(
- BumpPool* pool,
- const VkRenderPassCreateInfo* from,
- VkRenderPassCreateInfo* to);
-
-void deepcopy_VkCommandPoolCreateInfo(
- BumpPool* pool,
- const VkCommandPoolCreateInfo* from,
- VkCommandPoolCreateInfo* to);
-
-void deepcopy_VkCommandBufferAllocateInfo(
- BumpPool* pool,
- const VkCommandBufferAllocateInfo* from,
- VkCommandBufferAllocateInfo* to);
-
-void deepcopy_VkCommandBufferInheritanceInfo(
- BumpPool* pool,
- const VkCommandBufferInheritanceInfo* from,
- VkCommandBufferInheritanceInfo* to);
-
-void deepcopy_VkCommandBufferBeginInfo(
- BumpPool* pool,
- const VkCommandBufferBeginInfo* from,
- VkCommandBufferBeginInfo* to);
-
-void deepcopy_VkBufferCopy(
- BumpPool* pool,
- const VkBufferCopy* from,
- VkBufferCopy* to);
-
-void deepcopy_VkImageSubresourceLayers(
- BumpPool* pool,
- const VkImageSubresourceLayers* from,
- VkImageSubresourceLayers* to);
-
-void deepcopy_VkImageCopy(
- BumpPool* pool,
- const VkImageCopy* from,
- VkImageCopy* to);
-
-void deepcopy_VkImageBlit(
- BumpPool* pool,
- const VkImageBlit* from,
- VkImageBlit* to);
-
-void deepcopy_VkBufferImageCopy(
- BumpPool* pool,
- const VkBufferImageCopy* from,
- VkBufferImageCopy* to);
-
-void deepcopy_VkClearColorValue(
- BumpPool* pool,
- const VkClearColorValue* from,
- VkClearColorValue* to);
-
-void deepcopy_VkClearDepthStencilValue(
- BumpPool* pool,
- const VkClearDepthStencilValue* from,
- VkClearDepthStencilValue* to);
-
-void deepcopy_VkClearValue(
- BumpPool* pool,
- const VkClearValue* from,
- VkClearValue* to);
-
-void deepcopy_VkClearAttachment(
- BumpPool* pool,
- const VkClearAttachment* from,
- VkClearAttachment* to);
-
-void deepcopy_VkClearRect(
- BumpPool* pool,
- const VkClearRect* from,
- VkClearRect* to);
-
-void deepcopy_VkImageResolve(
- BumpPool* pool,
- const VkImageResolve* from,
- VkImageResolve* to);
-
-void deepcopy_VkMemoryBarrier(
- BumpPool* pool,
- const VkMemoryBarrier* from,
- VkMemoryBarrier* to);
-
-void deepcopy_VkBufferMemoryBarrier(
- BumpPool* pool,
- const VkBufferMemoryBarrier* from,
- VkBufferMemoryBarrier* to);
-
-void deepcopy_VkImageMemoryBarrier(
- BumpPool* pool,
- const VkImageMemoryBarrier* from,
- VkImageMemoryBarrier* to);
-
-void deepcopy_VkRenderPassBeginInfo(
- BumpPool* pool,
- const VkRenderPassBeginInfo* from,
- VkRenderPassBeginInfo* to);
-
-void deepcopy_VkDispatchIndirectCommand(
- BumpPool* pool,
- const VkDispatchIndirectCommand* from,
- VkDispatchIndirectCommand* to);
-
-void deepcopy_VkDrawIndexedIndirectCommand(
- BumpPool* pool,
- const VkDrawIndexedIndirectCommand* from,
- VkDrawIndexedIndirectCommand* to);
-
-void deepcopy_VkDrawIndirectCommand(
- BumpPool* pool,
- const VkDrawIndirectCommand* from,
- VkDrawIndirectCommand* to);
-
-void deepcopy_VkBaseOutStructure(
- BumpPool* pool,
- const VkBaseOutStructure* from,
- VkBaseOutStructure* to);
-
-void deepcopy_VkBaseInStructure(
- BumpPool* pool,
- const VkBaseInStructure* from,
- VkBaseInStructure* to);
-
-#endif
-#ifdef VK_VERSION_1_1
-void deepcopy_VkPhysicalDeviceSubgroupProperties(
- BumpPool* pool,
- const VkPhysicalDeviceSubgroupProperties* from,
- VkPhysicalDeviceSubgroupProperties* to);
-
-void deepcopy_VkBindBufferMemoryInfo(
- BumpPool* pool,
- const VkBindBufferMemoryInfo* from,
- VkBindBufferMemoryInfo* to);
-
-void deepcopy_VkBindImageMemoryInfo(
- BumpPool* pool,
- const VkBindImageMemoryInfo* from,
- VkBindImageMemoryInfo* to);
-
-void deepcopy_VkPhysicalDevice16BitStorageFeatures(
- BumpPool* pool,
- const VkPhysicalDevice16BitStorageFeatures* from,
- VkPhysicalDevice16BitStorageFeatures* to);
-
-void deepcopy_VkMemoryDedicatedRequirements(
- BumpPool* pool,
- const VkMemoryDedicatedRequirements* from,
- VkMemoryDedicatedRequirements* to);
-
-void deepcopy_VkMemoryDedicatedAllocateInfo(
- BumpPool* pool,
- const VkMemoryDedicatedAllocateInfo* from,
- VkMemoryDedicatedAllocateInfo* to);
-
-void deepcopy_VkMemoryAllocateFlagsInfo(
- BumpPool* pool,
- const VkMemoryAllocateFlagsInfo* from,
- VkMemoryAllocateFlagsInfo* to);
-
-void deepcopy_VkDeviceGroupRenderPassBeginInfo(
- BumpPool* pool,
- const VkDeviceGroupRenderPassBeginInfo* from,
- VkDeviceGroupRenderPassBeginInfo* to);
-
-void deepcopy_VkDeviceGroupCommandBufferBeginInfo(
- BumpPool* pool,
- const VkDeviceGroupCommandBufferBeginInfo* from,
- VkDeviceGroupCommandBufferBeginInfo* to);
-
-void deepcopy_VkDeviceGroupSubmitInfo(
- BumpPool* pool,
- const VkDeviceGroupSubmitInfo* from,
- VkDeviceGroupSubmitInfo* to);
-
-void deepcopy_VkDeviceGroupBindSparseInfo(
- BumpPool* pool,
- const VkDeviceGroupBindSparseInfo* from,
- VkDeviceGroupBindSparseInfo* to);
-
-void deepcopy_VkBindBufferMemoryDeviceGroupInfo(
- BumpPool* pool,
- const VkBindBufferMemoryDeviceGroupInfo* from,
- VkBindBufferMemoryDeviceGroupInfo* to);
-
-void deepcopy_VkBindImageMemoryDeviceGroupInfo(
- BumpPool* pool,
- const VkBindImageMemoryDeviceGroupInfo* from,
- VkBindImageMemoryDeviceGroupInfo* to);
-
-void deepcopy_VkPhysicalDeviceGroupProperties(
- BumpPool* pool,
- const VkPhysicalDeviceGroupProperties* from,
- VkPhysicalDeviceGroupProperties* to);
-
-void deepcopy_VkDeviceGroupDeviceCreateInfo(
- BumpPool* pool,
- const VkDeviceGroupDeviceCreateInfo* from,
- VkDeviceGroupDeviceCreateInfo* to);
-
-void deepcopy_VkBufferMemoryRequirementsInfo2(
- BumpPool* pool,
- const VkBufferMemoryRequirementsInfo2* from,
- VkBufferMemoryRequirementsInfo2* to);
-
-void deepcopy_VkImageMemoryRequirementsInfo2(
- BumpPool* pool,
- const VkImageMemoryRequirementsInfo2* from,
- VkImageMemoryRequirementsInfo2* to);
-
-void deepcopy_VkImageSparseMemoryRequirementsInfo2(
- BumpPool* pool,
- const VkImageSparseMemoryRequirementsInfo2* from,
- VkImageSparseMemoryRequirementsInfo2* to);
-
-void deepcopy_VkMemoryRequirements2(
- BumpPool* pool,
- const VkMemoryRequirements2* from,
- VkMemoryRequirements2* to);
-
-void deepcopy_VkSparseImageMemoryRequirements2(
- BumpPool* pool,
- const VkSparseImageMemoryRequirements2* from,
- VkSparseImageMemoryRequirements2* to);
-
-void deepcopy_VkPhysicalDeviceFeatures2(
- BumpPool* pool,
- const VkPhysicalDeviceFeatures2* from,
- VkPhysicalDeviceFeatures2* to);
-
-void deepcopy_VkPhysicalDeviceProperties2(
- BumpPool* pool,
- const VkPhysicalDeviceProperties2* from,
- VkPhysicalDeviceProperties2* to);
-
-void deepcopy_VkFormatProperties2(
- BumpPool* pool,
- const VkFormatProperties2* from,
- VkFormatProperties2* to);
-
-void deepcopy_VkImageFormatProperties2(
- BumpPool* pool,
- const VkImageFormatProperties2* from,
- VkImageFormatProperties2* to);
-
-void deepcopy_VkPhysicalDeviceImageFormatInfo2(
- BumpPool* pool,
- const VkPhysicalDeviceImageFormatInfo2* from,
- VkPhysicalDeviceImageFormatInfo2* to);
-
-void deepcopy_VkQueueFamilyProperties2(
- BumpPool* pool,
- const VkQueueFamilyProperties2* from,
- VkQueueFamilyProperties2* to);
-
-void deepcopy_VkPhysicalDeviceMemoryProperties2(
- BumpPool* pool,
- const VkPhysicalDeviceMemoryProperties2* from,
- VkPhysicalDeviceMemoryProperties2* to);
-
-void deepcopy_VkSparseImageFormatProperties2(
- BumpPool* pool,
- const VkSparseImageFormatProperties2* from,
- VkSparseImageFormatProperties2* to);
-
-void deepcopy_VkPhysicalDeviceSparseImageFormatInfo2(
- BumpPool* pool,
- const VkPhysicalDeviceSparseImageFormatInfo2* from,
- VkPhysicalDeviceSparseImageFormatInfo2* to);
-
-void deepcopy_VkPhysicalDevicePointClippingProperties(
- BumpPool* pool,
- const VkPhysicalDevicePointClippingProperties* from,
- VkPhysicalDevicePointClippingProperties* to);
-
-void deepcopy_VkInputAttachmentAspectReference(
- BumpPool* pool,
- const VkInputAttachmentAspectReference* from,
- VkInputAttachmentAspectReference* to);
-
-void deepcopy_VkRenderPassInputAttachmentAspectCreateInfo(
- BumpPool* pool,
- const VkRenderPassInputAttachmentAspectCreateInfo* from,
- VkRenderPassInputAttachmentAspectCreateInfo* to);
-
-void deepcopy_VkImageViewUsageCreateInfo(
- BumpPool* pool,
- const VkImageViewUsageCreateInfo* from,
- VkImageViewUsageCreateInfo* to);
-
-void deepcopy_VkPipelineTessellationDomainOriginStateCreateInfo(
- BumpPool* pool,
- const VkPipelineTessellationDomainOriginStateCreateInfo* from,
- VkPipelineTessellationDomainOriginStateCreateInfo* to);
-
-void deepcopy_VkRenderPassMultiviewCreateInfo(
- BumpPool* pool,
- const VkRenderPassMultiviewCreateInfo* from,
- VkRenderPassMultiviewCreateInfo* to);
-
-void deepcopy_VkPhysicalDeviceMultiviewFeatures(
- BumpPool* pool,
- const VkPhysicalDeviceMultiviewFeatures* from,
- VkPhysicalDeviceMultiviewFeatures* to);
-
-void deepcopy_VkPhysicalDeviceMultiviewProperties(
- BumpPool* pool,
- const VkPhysicalDeviceMultiviewProperties* from,
- VkPhysicalDeviceMultiviewProperties* to);
-
-void deepcopy_VkPhysicalDeviceVariablePointerFeatures(
- BumpPool* pool,
- const VkPhysicalDeviceVariablePointerFeatures* from,
- VkPhysicalDeviceVariablePointerFeatures* to);
-
-void deepcopy_VkPhysicalDeviceProtectedMemoryFeatures(
- BumpPool* pool,
- const VkPhysicalDeviceProtectedMemoryFeatures* from,
- VkPhysicalDeviceProtectedMemoryFeatures* to);
-
-void deepcopy_VkPhysicalDeviceProtectedMemoryProperties(
- BumpPool* pool,
- const VkPhysicalDeviceProtectedMemoryProperties* from,
- VkPhysicalDeviceProtectedMemoryProperties* to);
-
-void deepcopy_VkDeviceQueueInfo2(
- BumpPool* pool,
- const VkDeviceQueueInfo2* from,
- VkDeviceQueueInfo2* to);
-
-void deepcopy_VkProtectedSubmitInfo(
- BumpPool* pool,
- const VkProtectedSubmitInfo* from,
- VkProtectedSubmitInfo* to);
-
-void deepcopy_VkSamplerYcbcrConversionCreateInfo(
- BumpPool* pool,
- const VkSamplerYcbcrConversionCreateInfo* from,
- VkSamplerYcbcrConversionCreateInfo* to);
-
-void deepcopy_VkSamplerYcbcrConversionInfo(
- BumpPool* pool,
- const VkSamplerYcbcrConversionInfo* from,
- VkSamplerYcbcrConversionInfo* to);
-
-void deepcopy_VkBindImagePlaneMemoryInfo(
- BumpPool* pool,
- const VkBindImagePlaneMemoryInfo* from,
- VkBindImagePlaneMemoryInfo* to);
-
-void deepcopy_VkImagePlaneMemoryRequirementsInfo(
- BumpPool* pool,
- const VkImagePlaneMemoryRequirementsInfo* from,
- VkImagePlaneMemoryRequirementsInfo* to);
-
-void deepcopy_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
- BumpPool* pool,
- const VkPhysicalDeviceSamplerYcbcrConversionFeatures* from,
- VkPhysicalDeviceSamplerYcbcrConversionFeatures* to);
-
-void deepcopy_VkSamplerYcbcrConversionImageFormatProperties(
- BumpPool* pool,
- const VkSamplerYcbcrConversionImageFormatProperties* from,
- VkSamplerYcbcrConversionImageFormatProperties* to);
-
-void deepcopy_VkDescriptorUpdateTemplateEntry(
- BumpPool* pool,
- const VkDescriptorUpdateTemplateEntry* from,
- VkDescriptorUpdateTemplateEntry* to);
-
-void deepcopy_VkDescriptorUpdateTemplateCreateInfo(
- BumpPool* pool,
- const VkDescriptorUpdateTemplateCreateInfo* from,
- VkDescriptorUpdateTemplateCreateInfo* to);
-
-void deepcopy_VkExternalMemoryProperties(
- BumpPool* pool,
- const VkExternalMemoryProperties* from,
- VkExternalMemoryProperties* to);
-
-void deepcopy_VkPhysicalDeviceExternalImageFormatInfo(
- BumpPool* pool,
- const VkPhysicalDeviceExternalImageFormatInfo* from,
- VkPhysicalDeviceExternalImageFormatInfo* to);
-
-void deepcopy_VkExternalImageFormatProperties(
- BumpPool* pool,
- const VkExternalImageFormatProperties* from,
- VkExternalImageFormatProperties* to);
-
-void deepcopy_VkPhysicalDeviceExternalBufferInfo(
- BumpPool* pool,
- const VkPhysicalDeviceExternalBufferInfo* from,
- VkPhysicalDeviceExternalBufferInfo* to);
-
-void deepcopy_VkExternalBufferProperties(
- BumpPool* pool,
- const VkExternalBufferProperties* from,
- VkExternalBufferProperties* to);
-
-void deepcopy_VkPhysicalDeviceIDProperties(
- BumpPool* pool,
- const VkPhysicalDeviceIDProperties* from,
- VkPhysicalDeviceIDProperties* to);
-
-void deepcopy_VkExternalMemoryImageCreateInfo(
- BumpPool* pool,
- const VkExternalMemoryImageCreateInfo* from,
- VkExternalMemoryImageCreateInfo* to);
-
-void deepcopy_VkExternalMemoryBufferCreateInfo(
- BumpPool* pool,
- const VkExternalMemoryBufferCreateInfo* from,
- VkExternalMemoryBufferCreateInfo* to);
-
-void deepcopy_VkExportMemoryAllocateInfo(
- BumpPool* pool,
- const VkExportMemoryAllocateInfo* from,
- VkExportMemoryAllocateInfo* to);
-
-void deepcopy_VkPhysicalDeviceExternalFenceInfo(
- BumpPool* pool,
- const VkPhysicalDeviceExternalFenceInfo* from,
- VkPhysicalDeviceExternalFenceInfo* to);
-
-void deepcopy_VkExternalFenceProperties(
- BumpPool* pool,
- const VkExternalFenceProperties* from,
- VkExternalFenceProperties* to);
-
-void deepcopy_VkExportFenceCreateInfo(
- BumpPool* pool,
- const VkExportFenceCreateInfo* from,
- VkExportFenceCreateInfo* to);
-
-void deepcopy_VkExportSemaphoreCreateInfo(
- BumpPool* pool,
- const VkExportSemaphoreCreateInfo* from,
- VkExportSemaphoreCreateInfo* to);
-
-void deepcopy_VkPhysicalDeviceExternalSemaphoreInfo(
- BumpPool* pool,
- const VkPhysicalDeviceExternalSemaphoreInfo* from,
- VkPhysicalDeviceExternalSemaphoreInfo* to);
-
-void deepcopy_VkExternalSemaphoreProperties(
- BumpPool* pool,
- const VkExternalSemaphoreProperties* from,
- VkExternalSemaphoreProperties* to);
-
-void deepcopy_VkPhysicalDeviceMaintenance3Properties(
- BumpPool* pool,
- const VkPhysicalDeviceMaintenance3Properties* from,
- VkPhysicalDeviceMaintenance3Properties* to);
-
-void deepcopy_VkDescriptorSetLayoutSupport(
- BumpPool* pool,
- const VkDescriptorSetLayoutSupport* from,
- VkDescriptorSetLayoutSupport* to);
-
-void deepcopy_VkPhysicalDeviceShaderDrawParameterFeatures(
- BumpPool* pool,
- const VkPhysicalDeviceShaderDrawParameterFeatures* from,
- VkPhysicalDeviceShaderDrawParameterFeatures* to);
-
-#endif
-#ifdef VK_KHR_surface
-void deepcopy_VkSurfaceCapabilitiesKHR(
- BumpPool* pool,
- const VkSurfaceCapabilitiesKHR* from,
- VkSurfaceCapabilitiesKHR* to);
-
-void deepcopy_VkSurfaceFormatKHR(
- BumpPool* pool,
- const VkSurfaceFormatKHR* from,
- VkSurfaceFormatKHR* to);
-
-#endif
-#ifdef VK_KHR_swapchain
-void deepcopy_VkSwapchainCreateInfoKHR(
- BumpPool* pool,
- const VkSwapchainCreateInfoKHR* from,
- VkSwapchainCreateInfoKHR* to);
-
-void deepcopy_VkPresentInfoKHR(
- BumpPool* pool,
- const VkPresentInfoKHR* from,
- VkPresentInfoKHR* to);
-
-void deepcopy_VkImageSwapchainCreateInfoKHR(
- BumpPool* pool,
- const VkImageSwapchainCreateInfoKHR* from,
- VkImageSwapchainCreateInfoKHR* to);
-
-void deepcopy_VkBindImageMemorySwapchainInfoKHR(
- BumpPool* pool,
- const VkBindImageMemorySwapchainInfoKHR* from,
- VkBindImageMemorySwapchainInfoKHR* to);
-
-void deepcopy_VkAcquireNextImageInfoKHR(
- BumpPool* pool,
- const VkAcquireNextImageInfoKHR* from,
- VkAcquireNextImageInfoKHR* to);
-
-void deepcopy_VkDeviceGroupPresentCapabilitiesKHR(
- BumpPool* pool,
- const VkDeviceGroupPresentCapabilitiesKHR* from,
- VkDeviceGroupPresentCapabilitiesKHR* to);
-
-void deepcopy_VkDeviceGroupPresentInfoKHR(
- BumpPool* pool,
- const VkDeviceGroupPresentInfoKHR* from,
- VkDeviceGroupPresentInfoKHR* to);
-
-void deepcopy_VkDeviceGroupSwapchainCreateInfoKHR(
- BumpPool* pool,
- const VkDeviceGroupSwapchainCreateInfoKHR* from,
- VkDeviceGroupSwapchainCreateInfoKHR* to);
-
-#endif
-#ifdef VK_KHR_display
-void deepcopy_VkDisplayPropertiesKHR(
- BumpPool* pool,
- const VkDisplayPropertiesKHR* from,
- VkDisplayPropertiesKHR* to);
-
-void deepcopy_VkDisplayModeParametersKHR(
- BumpPool* pool,
- const VkDisplayModeParametersKHR* from,
- VkDisplayModeParametersKHR* to);
-
-void deepcopy_VkDisplayModePropertiesKHR(
- BumpPool* pool,
- const VkDisplayModePropertiesKHR* from,
- VkDisplayModePropertiesKHR* to);
-
-void deepcopy_VkDisplayModeCreateInfoKHR(
- BumpPool* pool,
- const VkDisplayModeCreateInfoKHR* from,
- VkDisplayModeCreateInfoKHR* to);
-
-void deepcopy_VkDisplayPlaneCapabilitiesKHR(
- BumpPool* pool,
- const VkDisplayPlaneCapabilitiesKHR* from,
- VkDisplayPlaneCapabilitiesKHR* to);
-
-void deepcopy_VkDisplayPlanePropertiesKHR(
- BumpPool* pool,
- const VkDisplayPlanePropertiesKHR* from,
- VkDisplayPlanePropertiesKHR* to);
-
-void deepcopy_VkDisplaySurfaceCreateInfoKHR(
- BumpPool* pool,
- const VkDisplaySurfaceCreateInfoKHR* from,
- VkDisplaySurfaceCreateInfoKHR* to);
-
-#endif
-#ifdef VK_KHR_display_swapchain
-void deepcopy_VkDisplayPresentInfoKHR(
- BumpPool* pool,
- const VkDisplayPresentInfoKHR* from,
- VkDisplayPresentInfoKHR* to);
-
-#endif
-#ifdef VK_KHR_xlib_surface
-void deepcopy_VkXlibSurfaceCreateInfoKHR(
- BumpPool* pool,
- const VkXlibSurfaceCreateInfoKHR* from,
- VkXlibSurfaceCreateInfoKHR* to);
-
-#endif
-#ifdef VK_KHR_xcb_surface
-void deepcopy_VkXcbSurfaceCreateInfoKHR(
- BumpPool* pool,
- const VkXcbSurfaceCreateInfoKHR* from,
- VkXcbSurfaceCreateInfoKHR* to);
-
-#endif
-#ifdef VK_KHR_wayland_surface
-void deepcopy_VkWaylandSurfaceCreateInfoKHR(
- BumpPool* pool,
- const VkWaylandSurfaceCreateInfoKHR* from,
- VkWaylandSurfaceCreateInfoKHR* to);
-
-#endif
-#ifdef VK_KHR_mir_surface
-void deepcopy_VkMirSurfaceCreateInfoKHR(
- BumpPool* pool,
- const VkMirSurfaceCreateInfoKHR* from,
- VkMirSurfaceCreateInfoKHR* to);
-
-#endif
-#ifdef VK_KHR_android_surface
-void deepcopy_VkAndroidSurfaceCreateInfoKHR(
- BumpPool* pool,
- const VkAndroidSurfaceCreateInfoKHR* from,
- VkAndroidSurfaceCreateInfoKHR* to);
-
-#endif
-#ifdef VK_KHR_win32_surface
-void deepcopy_VkWin32SurfaceCreateInfoKHR(
- BumpPool* pool,
- const VkWin32SurfaceCreateInfoKHR* from,
- VkWin32SurfaceCreateInfoKHR* to);
-
-#endif
-#ifdef VK_KHR_sampler_mirror_clamp_to_edge
-#endif
-#ifdef VK_KHR_multiview
-#endif
-#ifdef VK_KHR_get_physical_device_properties2
-#endif
-#ifdef VK_KHR_device_group
-#endif
-#ifdef VK_KHR_shader_draw_parameters
-#endif
-#ifdef VK_KHR_maintenance1
-#endif
-#ifdef VK_KHR_device_group_creation
-#endif
-#ifdef VK_KHR_external_memory_capabilities
-#endif
-#ifdef VK_KHR_external_memory
-#endif
-#ifdef VK_KHR_external_memory_win32
-void deepcopy_VkImportMemoryWin32HandleInfoKHR(
- BumpPool* pool,
- const VkImportMemoryWin32HandleInfoKHR* from,
- VkImportMemoryWin32HandleInfoKHR* to);
-
-void deepcopy_VkExportMemoryWin32HandleInfoKHR(
- BumpPool* pool,
- const VkExportMemoryWin32HandleInfoKHR* from,
- VkExportMemoryWin32HandleInfoKHR* to);
-
-void deepcopy_VkMemoryWin32HandlePropertiesKHR(
- BumpPool* pool,
- const VkMemoryWin32HandlePropertiesKHR* from,
- VkMemoryWin32HandlePropertiesKHR* to);
-
-void deepcopy_VkMemoryGetWin32HandleInfoKHR(
- BumpPool* pool,
- const VkMemoryGetWin32HandleInfoKHR* from,
- VkMemoryGetWin32HandleInfoKHR* to);
-
-#endif
-#ifdef VK_KHR_external_memory_fd
-void deepcopy_VkImportMemoryFdInfoKHR(
- BumpPool* pool,
- const VkImportMemoryFdInfoKHR* from,
- VkImportMemoryFdInfoKHR* to);
-
-void deepcopy_VkMemoryFdPropertiesKHR(
- BumpPool* pool,
- const VkMemoryFdPropertiesKHR* from,
- VkMemoryFdPropertiesKHR* to);
-
-void deepcopy_VkMemoryGetFdInfoKHR(
- BumpPool* pool,
- const VkMemoryGetFdInfoKHR* from,
- VkMemoryGetFdInfoKHR* to);
-
-#endif
-#ifdef VK_KHR_win32_keyed_mutex
-void deepcopy_VkWin32KeyedMutexAcquireReleaseInfoKHR(
- BumpPool* pool,
- const VkWin32KeyedMutexAcquireReleaseInfoKHR* from,
- VkWin32KeyedMutexAcquireReleaseInfoKHR* to);
-
-#endif
-#ifdef VK_KHR_external_semaphore_capabilities
-#endif
-#ifdef VK_KHR_external_semaphore
-#endif
-#ifdef VK_KHR_external_semaphore_win32
-void deepcopy_VkImportSemaphoreWin32HandleInfoKHR(
- BumpPool* pool,
- const VkImportSemaphoreWin32HandleInfoKHR* from,
- VkImportSemaphoreWin32HandleInfoKHR* to);
-
-void deepcopy_VkExportSemaphoreWin32HandleInfoKHR(
- BumpPool* pool,
- const VkExportSemaphoreWin32HandleInfoKHR* from,
- VkExportSemaphoreWin32HandleInfoKHR* to);
-
-void deepcopy_VkD3D12FenceSubmitInfoKHR(
- BumpPool* pool,
- const VkD3D12FenceSubmitInfoKHR* from,
- VkD3D12FenceSubmitInfoKHR* to);
-
-void deepcopy_VkSemaphoreGetWin32HandleInfoKHR(
- BumpPool* pool,
- const VkSemaphoreGetWin32HandleInfoKHR* from,
- VkSemaphoreGetWin32HandleInfoKHR* to);
-
-#endif
-#ifdef VK_KHR_external_semaphore_fd
-void deepcopy_VkImportSemaphoreFdInfoKHR(
- BumpPool* pool,
- const VkImportSemaphoreFdInfoKHR* from,
- VkImportSemaphoreFdInfoKHR* to);
-
-void deepcopy_VkSemaphoreGetFdInfoKHR(
- BumpPool* pool,
- const VkSemaphoreGetFdInfoKHR* from,
- VkSemaphoreGetFdInfoKHR* to);
-
-#endif
-#ifdef VK_KHR_push_descriptor
-void deepcopy_VkPhysicalDevicePushDescriptorPropertiesKHR(
- BumpPool* pool,
- const VkPhysicalDevicePushDescriptorPropertiesKHR* from,
- VkPhysicalDevicePushDescriptorPropertiesKHR* to);
-
-#endif
-#ifdef VK_KHR_16bit_storage
-#endif
-#ifdef VK_KHR_incremental_present
-void deepcopy_VkRectLayerKHR(
- BumpPool* pool,
- const VkRectLayerKHR* from,
- VkRectLayerKHR* to);
-
-void deepcopy_VkPresentRegionKHR(
- BumpPool* pool,
- const VkPresentRegionKHR* from,
- VkPresentRegionKHR* to);
-
-void deepcopy_VkPresentRegionsKHR(
- BumpPool* pool,
- const VkPresentRegionsKHR* from,
- VkPresentRegionsKHR* to);
-
-#endif
-#ifdef VK_KHR_descriptor_update_template
-#endif
-#ifdef VK_KHR_create_renderpass2
-void deepcopy_VkAttachmentDescription2KHR(
- BumpPool* pool,
- const VkAttachmentDescription2KHR* from,
- VkAttachmentDescription2KHR* to);
-
-void deepcopy_VkAttachmentReference2KHR(
- BumpPool* pool,
- const VkAttachmentReference2KHR* from,
- VkAttachmentReference2KHR* to);
-
-void deepcopy_VkSubpassDescription2KHR(
- BumpPool* pool,
- const VkSubpassDescription2KHR* from,
- VkSubpassDescription2KHR* to);
-
-void deepcopy_VkSubpassDependency2KHR(
- BumpPool* pool,
- const VkSubpassDependency2KHR* from,
- VkSubpassDependency2KHR* to);
-
-void deepcopy_VkRenderPassCreateInfo2KHR(
- BumpPool* pool,
- const VkRenderPassCreateInfo2KHR* from,
- VkRenderPassCreateInfo2KHR* to);
-
-void deepcopy_VkSubpassBeginInfoKHR(
- BumpPool* pool,
- const VkSubpassBeginInfoKHR* from,
- VkSubpassBeginInfoKHR* to);
-
-void deepcopy_VkSubpassEndInfoKHR(
- BumpPool* pool,
- const VkSubpassEndInfoKHR* from,
- VkSubpassEndInfoKHR* to);
-
-#endif
-#ifdef VK_KHR_shared_presentable_image
-void deepcopy_VkSharedPresentSurfaceCapabilitiesKHR(
- BumpPool* pool,
- const VkSharedPresentSurfaceCapabilitiesKHR* from,
- VkSharedPresentSurfaceCapabilitiesKHR* to);
-
-#endif
-#ifdef VK_KHR_external_fence_capabilities
-#endif
-#ifdef VK_KHR_external_fence
-#endif
-#ifdef VK_KHR_external_fence_win32
-void deepcopy_VkImportFenceWin32HandleInfoKHR(
- BumpPool* pool,
- const VkImportFenceWin32HandleInfoKHR* from,
- VkImportFenceWin32HandleInfoKHR* to);
-
-void deepcopy_VkExportFenceWin32HandleInfoKHR(
- BumpPool* pool,
- const VkExportFenceWin32HandleInfoKHR* from,
- VkExportFenceWin32HandleInfoKHR* to);
-
-void deepcopy_VkFenceGetWin32HandleInfoKHR(
- BumpPool* pool,
- const VkFenceGetWin32HandleInfoKHR* from,
- VkFenceGetWin32HandleInfoKHR* to);
-
-#endif
-#ifdef VK_KHR_external_fence_fd
-void deepcopy_VkImportFenceFdInfoKHR(
- BumpPool* pool,
- const VkImportFenceFdInfoKHR* from,
- VkImportFenceFdInfoKHR* to);
-
-void deepcopy_VkFenceGetFdInfoKHR(
- BumpPool* pool,
- const VkFenceGetFdInfoKHR* from,
- VkFenceGetFdInfoKHR* to);
-
-#endif
-#ifdef VK_KHR_maintenance2
-#endif
-#ifdef VK_KHR_get_surface_capabilities2
-void deepcopy_VkPhysicalDeviceSurfaceInfo2KHR(
- BumpPool* pool,
- const VkPhysicalDeviceSurfaceInfo2KHR* from,
- VkPhysicalDeviceSurfaceInfo2KHR* to);
-
-void deepcopy_VkSurfaceCapabilities2KHR(
- BumpPool* pool,
- const VkSurfaceCapabilities2KHR* from,
- VkSurfaceCapabilities2KHR* to);
-
-void deepcopy_VkSurfaceFormat2KHR(
- BumpPool* pool,
- const VkSurfaceFormat2KHR* from,
- VkSurfaceFormat2KHR* to);
-
-#endif
-#ifdef VK_KHR_variable_pointers
-#endif
-#ifdef VK_KHR_get_display_properties2
-void deepcopy_VkDisplayProperties2KHR(
- BumpPool* pool,
- const VkDisplayProperties2KHR* from,
- VkDisplayProperties2KHR* to);
-
-void deepcopy_VkDisplayPlaneProperties2KHR(
- BumpPool* pool,
- const VkDisplayPlaneProperties2KHR* from,
- VkDisplayPlaneProperties2KHR* to);
-
-void deepcopy_VkDisplayModeProperties2KHR(
- BumpPool* pool,
- const VkDisplayModeProperties2KHR* from,
- VkDisplayModeProperties2KHR* to);
-
-void deepcopy_VkDisplayPlaneInfo2KHR(
- BumpPool* pool,
- const VkDisplayPlaneInfo2KHR* from,
- VkDisplayPlaneInfo2KHR* to);
-
-void deepcopy_VkDisplayPlaneCapabilities2KHR(
- BumpPool* pool,
- const VkDisplayPlaneCapabilities2KHR* from,
- VkDisplayPlaneCapabilities2KHR* to);
-
-#endif
-#ifdef VK_KHR_dedicated_allocation
-#endif
-#ifdef VK_KHR_storage_buffer_storage_class
-#endif
-#ifdef VK_KHR_relaxed_block_layout
-#endif
-#ifdef VK_KHR_get_memory_requirements2
-#endif
-#ifdef VK_KHR_image_format_list
-void deepcopy_VkImageFormatListCreateInfoKHR(
- BumpPool* pool,
- const VkImageFormatListCreateInfoKHR* from,
- VkImageFormatListCreateInfoKHR* to);
-
-#endif
-#ifdef VK_KHR_sampler_ycbcr_conversion
-#endif
-#ifdef VK_KHR_bind_memory2
-#endif
-#ifdef VK_KHR_maintenance3
-#endif
-#ifdef VK_KHR_draw_indirect_count
-#endif
-#ifdef VK_KHR_8bit_storage
-void deepcopy_VkPhysicalDevice8BitStorageFeaturesKHR(
- BumpPool* pool,
- const VkPhysicalDevice8BitStorageFeaturesKHR* from,
- VkPhysicalDevice8BitStorageFeaturesKHR* to);
-
-#endif
-#ifdef VK_KHR_shader_float16_int8
-void deepcopy_VkPhysicalDeviceShaderFloat16Int8Features(
- BumpPool* pool,
- const VkPhysicalDeviceShaderFloat16Int8Features* from,
- VkPhysicalDeviceShaderFloat16Int8Features* to);
-
-#endif
-#ifdef VK_ANDROID_native_buffer
-void deepcopy_VkNativeBufferANDROID(
- BumpPool* pool,
- const VkNativeBufferANDROID* from,
- VkNativeBufferANDROID* to);
-
-#endif
-#ifdef VK_EXT_debug_report
-void deepcopy_VkDebugReportCallbackCreateInfoEXT(
- BumpPool* pool,
- const VkDebugReportCallbackCreateInfoEXT* from,
- VkDebugReportCallbackCreateInfoEXT* to);
-
-#endif
-#ifdef VK_NV_glsl_shader
-#endif
-#ifdef VK_EXT_depth_range_unrestricted
-#endif
-#ifdef VK_IMG_filter_cubic
-#endif
-#ifdef VK_AMD_rasterization_order
-void deepcopy_VkPipelineRasterizationStateRasterizationOrderAMD(
- BumpPool* pool,
- const VkPipelineRasterizationStateRasterizationOrderAMD* from,
- VkPipelineRasterizationStateRasterizationOrderAMD* to);
-
-#endif
-#ifdef VK_AMD_shader_trinary_minmax
-#endif
-#ifdef VK_AMD_shader_explicit_vertex_parameter
-#endif
-#ifdef VK_EXT_debug_marker
-void deepcopy_VkDebugMarkerObjectNameInfoEXT(
- BumpPool* pool,
- const VkDebugMarkerObjectNameInfoEXT* from,
- VkDebugMarkerObjectNameInfoEXT* to);
-
-void deepcopy_VkDebugMarkerObjectTagInfoEXT(
- BumpPool* pool,
- const VkDebugMarkerObjectTagInfoEXT* from,
- VkDebugMarkerObjectTagInfoEXT* to);
-
-void deepcopy_VkDebugMarkerMarkerInfoEXT(
- BumpPool* pool,
- const VkDebugMarkerMarkerInfoEXT* from,
- VkDebugMarkerMarkerInfoEXT* to);
-
-#endif
-#ifdef VK_AMD_gcn_shader
-#endif
-#ifdef VK_NV_dedicated_allocation
-void deepcopy_VkDedicatedAllocationImageCreateInfoNV(
- BumpPool* pool,
- const VkDedicatedAllocationImageCreateInfoNV* from,
- VkDedicatedAllocationImageCreateInfoNV* to);
-
-void deepcopy_VkDedicatedAllocationBufferCreateInfoNV(
- BumpPool* pool,
- const VkDedicatedAllocationBufferCreateInfoNV* from,
- VkDedicatedAllocationBufferCreateInfoNV* to);
-
-void deepcopy_VkDedicatedAllocationMemoryAllocateInfoNV(
- BumpPool* pool,
- const VkDedicatedAllocationMemoryAllocateInfoNV* from,
- VkDedicatedAllocationMemoryAllocateInfoNV* to);
-
-#endif
-#ifdef VK_AMD_draw_indirect_count
-#endif
-#ifdef VK_AMD_negative_viewport_height
-#endif
-#ifdef VK_AMD_gpu_shader_half_float
-#endif
-#ifdef VK_AMD_shader_ballot
-#endif
-#ifdef VK_AMD_texture_gather_bias_lod
-void deepcopy_VkTextureLODGatherFormatPropertiesAMD(
- BumpPool* pool,
- const VkTextureLODGatherFormatPropertiesAMD* from,
- VkTextureLODGatherFormatPropertiesAMD* to);
-
-#endif
-#ifdef VK_AMD_shader_info
-void deepcopy_VkShaderResourceUsageAMD(
- BumpPool* pool,
- const VkShaderResourceUsageAMD* from,
- VkShaderResourceUsageAMD* to);
-
-void deepcopy_VkShaderStatisticsInfoAMD(
- BumpPool* pool,
- const VkShaderStatisticsInfoAMD* from,
- VkShaderStatisticsInfoAMD* to);
-
-#endif
-#ifdef VK_AMD_shader_image_load_store_lod
-#endif
-#ifdef VK_IMG_format_pvrtc
-#endif
-#ifdef VK_NV_external_memory_capabilities
-void deepcopy_VkExternalImageFormatPropertiesNV(
- BumpPool* pool,
- const VkExternalImageFormatPropertiesNV* from,
- VkExternalImageFormatPropertiesNV* to);
-
-#endif
-#ifdef VK_NV_external_memory
-void deepcopy_VkExternalMemoryImageCreateInfoNV(
- BumpPool* pool,
- const VkExternalMemoryImageCreateInfoNV* from,
- VkExternalMemoryImageCreateInfoNV* to);
-
-void deepcopy_VkExportMemoryAllocateInfoNV(
- BumpPool* pool,
- const VkExportMemoryAllocateInfoNV* from,
- VkExportMemoryAllocateInfoNV* to);
-
-#endif
-#ifdef VK_NV_external_memory_win32
-void deepcopy_VkImportMemoryWin32HandleInfoNV(
- BumpPool* pool,
- const VkImportMemoryWin32HandleInfoNV* from,
- VkImportMemoryWin32HandleInfoNV* to);
-
-void deepcopy_VkExportMemoryWin32HandleInfoNV(
- BumpPool* pool,
- const VkExportMemoryWin32HandleInfoNV* from,
- VkExportMemoryWin32HandleInfoNV* to);
-
-#endif
-#ifdef VK_NV_win32_keyed_mutex
-void deepcopy_VkWin32KeyedMutexAcquireReleaseInfoNV(
- BumpPool* pool,
- const VkWin32KeyedMutexAcquireReleaseInfoNV* from,
- VkWin32KeyedMutexAcquireReleaseInfoNV* to);
-
-#endif
-#ifdef VK_EXT_validation_flags
-void deepcopy_VkValidationFlagsEXT(
- BumpPool* pool,
- const VkValidationFlagsEXT* from,
- VkValidationFlagsEXT* to);
-
-#endif
-#ifdef VK_NN_vi_surface
-void deepcopy_VkViSurfaceCreateInfoNN(
- BumpPool* pool,
- const VkViSurfaceCreateInfoNN* from,
- VkViSurfaceCreateInfoNN* to);
-
-#endif
-#ifdef VK_EXT_shader_subgroup_ballot
-#endif
-#ifdef VK_EXT_shader_subgroup_vote
-#endif
-#ifdef VK_EXT_conditional_rendering
-void deepcopy_VkConditionalRenderingBeginInfoEXT(
- BumpPool* pool,
- const VkConditionalRenderingBeginInfoEXT* from,
- VkConditionalRenderingBeginInfoEXT* to);
-
-void deepcopy_VkPhysicalDeviceConditionalRenderingFeaturesEXT(
- BumpPool* pool,
- const VkPhysicalDeviceConditionalRenderingFeaturesEXT* from,
- VkPhysicalDeviceConditionalRenderingFeaturesEXT* to);
-
-void deepcopy_VkCommandBufferInheritanceConditionalRenderingInfoEXT(
- BumpPool* pool,
- const VkCommandBufferInheritanceConditionalRenderingInfoEXT* from,
- VkCommandBufferInheritanceConditionalRenderingInfoEXT* to);
-
-#endif
-#ifdef VK_NVX_device_generated_commands
-void deepcopy_VkDeviceGeneratedCommandsFeaturesNVX(
- BumpPool* pool,
- const VkDeviceGeneratedCommandsFeaturesNVX* from,
- VkDeviceGeneratedCommandsFeaturesNVX* to);
-
-void deepcopy_VkDeviceGeneratedCommandsLimitsNVX(
- BumpPool* pool,
- const VkDeviceGeneratedCommandsLimitsNVX* from,
- VkDeviceGeneratedCommandsLimitsNVX* to);
-
-void deepcopy_VkIndirectCommandsTokenNVX(
- BumpPool* pool,
- const VkIndirectCommandsTokenNVX* from,
- VkIndirectCommandsTokenNVX* to);
-
-void deepcopy_VkIndirectCommandsLayoutTokenNVX(
- BumpPool* pool,
- const VkIndirectCommandsLayoutTokenNVX* from,
- VkIndirectCommandsLayoutTokenNVX* to);
-
-void deepcopy_VkIndirectCommandsLayoutCreateInfoNVX(
- BumpPool* pool,
- const VkIndirectCommandsLayoutCreateInfoNVX* from,
- VkIndirectCommandsLayoutCreateInfoNVX* to);
-
-void deepcopy_VkCmdProcessCommandsInfoNVX(
- BumpPool* pool,
- const VkCmdProcessCommandsInfoNVX* from,
- VkCmdProcessCommandsInfoNVX* to);
-
-void deepcopy_VkCmdReserveSpaceForCommandsInfoNVX(
- BumpPool* pool,
- const VkCmdReserveSpaceForCommandsInfoNVX* from,
- VkCmdReserveSpaceForCommandsInfoNVX* to);
-
-void deepcopy_VkObjectTableCreateInfoNVX(
- BumpPool* pool,
- const VkObjectTableCreateInfoNVX* from,
- VkObjectTableCreateInfoNVX* to);
-
-void deepcopy_VkObjectTableEntryNVX(
- BumpPool* pool,
- const VkObjectTableEntryNVX* from,
- VkObjectTableEntryNVX* to);
-
-void deepcopy_VkObjectTablePipelineEntryNVX(
- BumpPool* pool,
- const VkObjectTablePipelineEntryNVX* from,
- VkObjectTablePipelineEntryNVX* to);
-
-void deepcopy_VkObjectTableDescriptorSetEntryNVX(
- BumpPool* pool,
- const VkObjectTableDescriptorSetEntryNVX* from,
- VkObjectTableDescriptorSetEntryNVX* to);
-
-void deepcopy_VkObjectTableVertexBufferEntryNVX(
- BumpPool* pool,
- const VkObjectTableVertexBufferEntryNVX* from,
- VkObjectTableVertexBufferEntryNVX* to);
-
-void deepcopy_VkObjectTableIndexBufferEntryNVX(
- BumpPool* pool,
- const VkObjectTableIndexBufferEntryNVX* from,
- VkObjectTableIndexBufferEntryNVX* to);
-
-void deepcopy_VkObjectTablePushConstantEntryNVX(
- BumpPool* pool,
- const VkObjectTablePushConstantEntryNVX* from,
- VkObjectTablePushConstantEntryNVX* to);
-
-#endif
-#ifdef VK_NV_clip_space_w_scaling
-void deepcopy_VkViewportWScalingNV(
- BumpPool* pool,
- const VkViewportWScalingNV* from,
- VkViewportWScalingNV* to);
-
-void deepcopy_VkPipelineViewportWScalingStateCreateInfoNV(
- BumpPool* pool,
- const VkPipelineViewportWScalingStateCreateInfoNV* from,
- VkPipelineViewportWScalingStateCreateInfoNV* to);
-
-#endif
-#ifdef VK_EXT_direct_mode_display
-#endif
-#ifdef VK_EXT_acquire_xlib_display
-#endif
-#ifdef VK_EXT_display_surface_counter
-void deepcopy_VkSurfaceCapabilities2EXT(
- BumpPool* pool,
- const VkSurfaceCapabilities2EXT* from,
- VkSurfaceCapabilities2EXT* to);
-
-#endif
-#ifdef VK_EXT_display_control
-void deepcopy_VkDisplayPowerInfoEXT(
- BumpPool* pool,
- const VkDisplayPowerInfoEXT* from,
- VkDisplayPowerInfoEXT* to);
-
-void deepcopy_VkDeviceEventInfoEXT(
- BumpPool* pool,
- const VkDeviceEventInfoEXT* from,
- VkDeviceEventInfoEXT* to);
-
-void deepcopy_VkDisplayEventInfoEXT(
- BumpPool* pool,
- const VkDisplayEventInfoEXT* from,
- VkDisplayEventInfoEXT* to);
-
-void deepcopy_VkSwapchainCounterCreateInfoEXT(
- BumpPool* pool,
- const VkSwapchainCounterCreateInfoEXT* from,
- VkSwapchainCounterCreateInfoEXT* to);
-
-#endif
-#ifdef VK_GOOGLE_display_timing
-void deepcopy_VkRefreshCycleDurationGOOGLE(
- BumpPool* pool,
- const VkRefreshCycleDurationGOOGLE* from,
- VkRefreshCycleDurationGOOGLE* to);
-
-void deepcopy_VkPastPresentationTimingGOOGLE(
- BumpPool* pool,
- const VkPastPresentationTimingGOOGLE* from,
- VkPastPresentationTimingGOOGLE* to);
-
-void deepcopy_VkPresentTimeGOOGLE(
- BumpPool* pool,
- const VkPresentTimeGOOGLE* from,
- VkPresentTimeGOOGLE* to);
-
-void deepcopy_VkPresentTimesInfoGOOGLE(
- BumpPool* pool,
- const VkPresentTimesInfoGOOGLE* from,
- VkPresentTimesInfoGOOGLE* to);
-
-#endif
-#ifdef VK_NV_sample_mask_override_coverage
-#endif
-#ifdef VK_NV_geometry_shader_passthrough
-#endif
-#ifdef VK_NV_viewport_array2
-#endif
-#ifdef VK_NVX_multiview_per_view_attributes
-void deepcopy_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(
- BumpPool* pool,
- const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX* from,
- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX* to);
-
-#endif
-#ifdef VK_NV_viewport_swizzle
-void deepcopy_VkViewportSwizzleNV(
- BumpPool* pool,
- const VkViewportSwizzleNV* from,
- VkViewportSwizzleNV* to);
-
-void deepcopy_VkPipelineViewportSwizzleStateCreateInfoNV(
- BumpPool* pool,
- const VkPipelineViewportSwizzleStateCreateInfoNV* from,
- VkPipelineViewportSwizzleStateCreateInfoNV* to);
-
-#endif
-#ifdef VK_EXT_discard_rectangles
-void deepcopy_VkPhysicalDeviceDiscardRectanglePropertiesEXT(
- BumpPool* pool,
- const VkPhysicalDeviceDiscardRectanglePropertiesEXT* from,
- VkPhysicalDeviceDiscardRectanglePropertiesEXT* to);
-
-void deepcopy_VkPipelineDiscardRectangleStateCreateInfoEXT(
- BumpPool* pool,
- const VkPipelineDiscardRectangleStateCreateInfoEXT* from,
- VkPipelineDiscardRectangleStateCreateInfoEXT* to);
-
-#endif
-#ifdef VK_EXT_conservative_rasterization
-void deepcopy_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(
- BumpPool* pool,
- const VkPhysicalDeviceConservativeRasterizationPropertiesEXT* from,
- VkPhysicalDeviceConservativeRasterizationPropertiesEXT* to);
-
-void deepcopy_VkPipelineRasterizationConservativeStateCreateInfoEXT(
- BumpPool* pool,
- const VkPipelineRasterizationConservativeStateCreateInfoEXT* from,
- VkPipelineRasterizationConservativeStateCreateInfoEXT* to);
-
-#endif
-#ifdef VK_EXT_swapchain_colorspace
-#endif
-#ifdef VK_EXT_hdr_metadata
-void deepcopy_VkXYColorEXT(
- BumpPool* pool,
- const VkXYColorEXT* from,
- VkXYColorEXT* to);
-
-void deepcopy_VkHdrMetadataEXT(
- BumpPool* pool,
- const VkHdrMetadataEXT* from,
- VkHdrMetadataEXT* to);
-
-#endif
-#ifdef VK_MVK_ios_surface
-void deepcopy_VkIOSSurfaceCreateInfoMVK(
- BumpPool* pool,
- const VkIOSSurfaceCreateInfoMVK* from,
- VkIOSSurfaceCreateInfoMVK* to);
-
-#endif
-#ifdef VK_MVK_macos_surface
-void deepcopy_VkMacOSSurfaceCreateInfoMVK(
- BumpPool* pool,
- const VkMacOSSurfaceCreateInfoMVK* from,
- VkMacOSSurfaceCreateInfoMVK* to);
-
-#endif
-#ifdef VK_EXT_external_memory_dma_buf
-#endif
-#ifdef VK_EXT_queue_family_foreign
-#endif
-#ifdef VK_EXT_debug_utils
-void deepcopy_VkDebugUtilsObjectNameInfoEXT(
- BumpPool* pool,
- const VkDebugUtilsObjectNameInfoEXT* from,
- VkDebugUtilsObjectNameInfoEXT* to);
-
-void deepcopy_VkDebugUtilsObjectTagInfoEXT(
- BumpPool* pool,
- const VkDebugUtilsObjectTagInfoEXT* from,
- VkDebugUtilsObjectTagInfoEXT* to);
-
-void deepcopy_VkDebugUtilsLabelEXT(
- BumpPool* pool,
- const VkDebugUtilsLabelEXT* from,
- VkDebugUtilsLabelEXT* to);
-
-void deepcopy_VkDebugUtilsMessengerCallbackDataEXT(
- BumpPool* pool,
- const VkDebugUtilsMessengerCallbackDataEXT* from,
- VkDebugUtilsMessengerCallbackDataEXT* to);
-
-void deepcopy_VkDebugUtilsMessengerCreateInfoEXT(
- BumpPool* pool,
- const VkDebugUtilsMessengerCreateInfoEXT* from,
- VkDebugUtilsMessengerCreateInfoEXT* to);
-
-#endif
-#ifdef VK_ANDROID_external_memory_android_hardware_buffer
-void deepcopy_VkAndroidHardwareBufferUsageANDROID(
- BumpPool* pool,
- const VkAndroidHardwareBufferUsageANDROID* from,
- VkAndroidHardwareBufferUsageANDROID* to);
-
-void deepcopy_VkAndroidHardwareBufferPropertiesANDROID(
- BumpPool* pool,
- const VkAndroidHardwareBufferPropertiesANDROID* from,
- VkAndroidHardwareBufferPropertiesANDROID* to);
-
-void deepcopy_VkAndroidHardwareBufferFormatPropertiesANDROID(
- BumpPool* pool,
- const VkAndroidHardwareBufferFormatPropertiesANDROID* from,
- VkAndroidHardwareBufferFormatPropertiesANDROID* to);
-
-void deepcopy_VkImportAndroidHardwareBufferInfoANDROID(
- BumpPool* pool,
- const VkImportAndroidHardwareBufferInfoANDROID* from,
- VkImportAndroidHardwareBufferInfoANDROID* to);
-
-void deepcopy_VkMemoryGetAndroidHardwareBufferInfoANDROID(
- BumpPool* pool,
- const VkMemoryGetAndroidHardwareBufferInfoANDROID* from,
- VkMemoryGetAndroidHardwareBufferInfoANDROID* to);
-
-void deepcopy_VkExternalFormatANDROID(
- BumpPool* pool,
- const VkExternalFormatANDROID* from,
- VkExternalFormatANDROID* to);
-
-#endif
-#ifdef VK_EXT_sampler_filter_minmax
-void deepcopy_VkSamplerReductionModeCreateInfoEXT(
- BumpPool* pool,
- const VkSamplerReductionModeCreateInfoEXT* from,
- VkSamplerReductionModeCreateInfoEXT* to);
-
-void deepcopy_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT(
- BumpPool* pool,
- const VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT* from,
- VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT* to);
-
-#endif
-#ifdef VK_AMD_gpu_shader_int16
-#endif
-#ifdef VK_AMD_mixed_attachment_samples
-#endif
-#ifdef VK_AMD_shader_fragment_mask
-#endif
-#ifdef VK_EXT_shader_stencil_export
-#endif
-#ifdef VK_EXT_sample_locations
-void deepcopy_VkSampleLocationEXT(
- BumpPool* pool,
- const VkSampleLocationEXT* from,
- VkSampleLocationEXT* to);
-
-void deepcopy_VkSampleLocationsInfoEXT(
- BumpPool* pool,
- const VkSampleLocationsInfoEXT* from,
- VkSampleLocationsInfoEXT* to);
-
-void deepcopy_VkAttachmentSampleLocationsEXT(
- BumpPool* pool,
- const VkAttachmentSampleLocationsEXT* from,
- VkAttachmentSampleLocationsEXT* to);
-
-void deepcopy_VkSubpassSampleLocationsEXT(
- BumpPool* pool,
- const VkSubpassSampleLocationsEXT* from,
- VkSubpassSampleLocationsEXT* to);
-
-void deepcopy_VkRenderPassSampleLocationsBeginInfoEXT(
- BumpPool* pool,
- const VkRenderPassSampleLocationsBeginInfoEXT* from,
- VkRenderPassSampleLocationsBeginInfoEXT* to);
-
-void deepcopy_VkPipelineSampleLocationsStateCreateInfoEXT(
- BumpPool* pool,
- const VkPipelineSampleLocationsStateCreateInfoEXT* from,
- VkPipelineSampleLocationsStateCreateInfoEXT* to);
-
-void deepcopy_VkPhysicalDeviceSampleLocationsPropertiesEXT(
- BumpPool* pool,
- const VkPhysicalDeviceSampleLocationsPropertiesEXT* from,
- VkPhysicalDeviceSampleLocationsPropertiesEXT* to);
-
-void deepcopy_VkMultisamplePropertiesEXT(
- BumpPool* pool,
- const VkMultisamplePropertiesEXT* from,
- VkMultisamplePropertiesEXT* to);
-
-#endif
-#ifdef VK_EXT_blend_operation_advanced
-void deepcopy_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(
- BumpPool* pool,
- const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT* from,
- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT* to);
-
-void deepcopy_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(
- BumpPool* pool,
- const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT* from,
- VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT* to);
-
-void deepcopy_VkPipelineColorBlendAdvancedStateCreateInfoEXT(
- BumpPool* pool,
- const VkPipelineColorBlendAdvancedStateCreateInfoEXT* from,
- VkPipelineColorBlendAdvancedStateCreateInfoEXT* to);
-
-#endif
-#ifdef VK_NV_fragment_coverage_to_color
-void deepcopy_VkPipelineCoverageToColorStateCreateInfoNV(
- BumpPool* pool,
- const VkPipelineCoverageToColorStateCreateInfoNV* from,
- VkPipelineCoverageToColorStateCreateInfoNV* to);
-
-#endif
-#ifdef VK_NV_framebuffer_mixed_samples
-void deepcopy_VkPipelineCoverageModulationStateCreateInfoNV(
- BumpPool* pool,
- const VkPipelineCoverageModulationStateCreateInfoNV* from,
- VkPipelineCoverageModulationStateCreateInfoNV* to);
-
-#endif
-#ifdef VK_NV_fill_rectangle
-#endif
-#ifdef VK_EXT_post_depth_coverage
-#endif
-#ifdef VK_EXT_validation_cache
-void deepcopy_VkValidationCacheCreateInfoEXT(
- BumpPool* pool,
- const VkValidationCacheCreateInfoEXT* from,
- VkValidationCacheCreateInfoEXT* to);
-
-void deepcopy_VkShaderModuleValidationCacheCreateInfoEXT(
- BumpPool* pool,
- const VkShaderModuleValidationCacheCreateInfoEXT* from,
- VkShaderModuleValidationCacheCreateInfoEXT* to);
-
-#endif
-#ifdef VK_EXT_descriptor_indexing
-void deepcopy_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT(
- BumpPool* pool,
- const VkDescriptorSetLayoutBindingFlagsCreateInfoEXT* from,
- VkDescriptorSetLayoutBindingFlagsCreateInfoEXT* to);
-
-void deepcopy_VkPhysicalDeviceDescriptorIndexingFeaturesEXT(
- BumpPool* pool,
- const VkPhysicalDeviceDescriptorIndexingFeaturesEXT* from,
- VkPhysicalDeviceDescriptorIndexingFeaturesEXT* to);
-
-void deepcopy_VkPhysicalDeviceDescriptorIndexingPropertiesEXT(
- BumpPool* pool,
- const VkPhysicalDeviceDescriptorIndexingPropertiesEXT* from,
- VkPhysicalDeviceDescriptorIndexingPropertiesEXT* to);
-
-void deepcopy_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT(
- BumpPool* pool,
- const VkDescriptorSetVariableDescriptorCountAllocateInfoEXT* from,
- VkDescriptorSetVariableDescriptorCountAllocateInfoEXT* to);
-
-void deepcopy_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT(
- BumpPool* pool,
- const VkDescriptorSetVariableDescriptorCountLayoutSupportEXT* from,
- VkDescriptorSetVariableDescriptorCountLayoutSupportEXT* to);
-
-#endif
-#ifdef VK_EXT_shader_viewport_index_layer
-#endif
-#ifdef VK_EXT_global_priority
-void deepcopy_VkDeviceQueueGlobalPriorityCreateInfoEXT(
- BumpPool* pool,
- const VkDeviceQueueGlobalPriorityCreateInfoEXT* from,
- VkDeviceQueueGlobalPriorityCreateInfoEXT* to);
-
-#endif
-#ifdef VK_EXT_external_memory_host
-void deepcopy_VkImportMemoryHostPointerInfoEXT(
- BumpPool* pool,
- const VkImportMemoryHostPointerInfoEXT* from,
- VkImportMemoryHostPointerInfoEXT* to);
-
-void deepcopy_VkMemoryHostPointerPropertiesEXT(
- BumpPool* pool,
- const VkMemoryHostPointerPropertiesEXT* from,
- VkMemoryHostPointerPropertiesEXT* to);
-
-void deepcopy_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(
- BumpPool* pool,
- const VkPhysicalDeviceExternalMemoryHostPropertiesEXT* from,
- VkPhysicalDeviceExternalMemoryHostPropertiesEXT* to);
-
-#endif
-#ifdef VK_AMD_buffer_marker
-#endif
-#ifdef VK_AMD_shader_core_properties
-void deepcopy_VkPhysicalDeviceShaderCorePropertiesAMD(
- BumpPool* pool,
- const VkPhysicalDeviceShaderCorePropertiesAMD* from,
- VkPhysicalDeviceShaderCorePropertiesAMD* to);
-
-#endif
-#ifdef VK_EXT_vertex_attribute_divisor
-void deepcopy_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(
- BumpPool* pool,
- const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* from,
- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* to);
-
-void deepcopy_VkVertexInputBindingDivisorDescriptionEXT(
- BumpPool* pool,
- const VkVertexInputBindingDivisorDescriptionEXT* from,
- VkVertexInputBindingDivisorDescriptionEXT* to);
-
-void deepcopy_VkPipelineVertexInputDivisorStateCreateInfoEXT(
- BumpPool* pool,
- const VkPipelineVertexInputDivisorStateCreateInfoEXT* from,
- VkPipelineVertexInputDivisorStateCreateInfoEXT* to);
-
-#endif
-#ifdef VK_NV_shader_subgroup_partitioned
-#endif
-#ifdef VK_NV_device_diagnostic_checkpoints
-void deepcopy_VkQueueFamilyCheckpointPropertiesNV(
- BumpPool* pool,
- const VkQueueFamilyCheckpointPropertiesNV* from,
- VkQueueFamilyCheckpointPropertiesNV* to);
-
-void deepcopy_VkCheckpointDataNV(
- BumpPool* pool,
- const VkCheckpointDataNV* from,
- VkCheckpointDataNV* to);
-
-#endif
-#ifdef VK_GOOGLE_address_space
-#endif
-#ifdef VK_GOOGLE_color_buffer
-void deepcopy_VkImportColorBufferGOOGLE(
- BumpPool* pool,
- const VkImportColorBufferGOOGLE* from,
- VkImportColorBufferGOOGLE* to);
-
-void deepcopy_VkImportBufferGOOGLE(
- BumpPool* pool,
- const VkImportBufferGOOGLE* from,
- VkImportBufferGOOGLE* to);
-
-void deepcopy_VkImportPhysicalAddressGOOGLE(
- BumpPool* pool,
- const VkImportPhysicalAddressGOOGLE* from,
- VkImportPhysicalAddressGOOGLE* to);
-
-#endif
-#ifdef VK_GOOGLE_sized_descriptor_update_template
-#endif
-#ifdef VK_GOOGLE_async_command_buffers
-#endif
-#ifdef VK_GOOGLE_create_resources_with_requirements
-#endif
-#ifdef VK_GOOGLE_address_space_info
-#endif
-#ifdef VK_GOOGLE_free_memory_sync
-#endif
-#ifdef VK_GOOGLE_async_queue_submit
-#endif
-#ifdef VK_GOOGLE_linear_image_layout
-#endif
-
-} // namespace goldfish_vk
diff --git a/stream-clients/vulkan_enc/goldfish_vk_extension_structs_guest.cpp b/stream-clients/vulkan_enc/goldfish_vk_extension_structs_guest.cpp
deleted file mode 100644
index dd187c3..0000000
--- a/stream-clients/vulkan_enc/goldfish_vk_extension_structs_guest.cpp
+++ /dev/null
@@ -1,1435 +0,0 @@
-// 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 goldfish_vk_extension_structs_guest
-// (impl) generated by protocols/vulkan/xml/genvk.py -registry protocols/vulkan/xml/vk.xml cereal -o stream-servers/vulkan/cereal
-// Please do not modify directly;
-// re-run generate-vulkan-sources.sh,
-// or directly from Python by defining:
-// VULKAN_REGISTRY_XML_DIR : Directory containing genvk.py and vk.xml
-// CEREAL_OUTPUT_DIR: Where to put the generated sources.
-// python3 $VULKAN_REGISTRY_XML_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o $CEREAL_OUTPUT_DIR
-
-#include "goldfish_vk_extension_structs_guest.h"
-
-
-
-namespace goldfish_vk {
-
-#ifdef VK_VERSION_1_0
-#endif
-#ifdef VK_VERSION_1_1
-#endif
-#ifdef VK_KHR_surface
-#endif
-#ifdef VK_KHR_swapchain
-#endif
-#ifdef VK_KHR_display
-#endif
-#ifdef VK_KHR_display_swapchain
-#endif
-#ifdef VK_KHR_xlib_surface
-#endif
-#ifdef VK_KHR_xcb_surface
-#endif
-#ifdef VK_KHR_wayland_surface
-#endif
-#ifdef VK_KHR_mir_surface
-#endif
-#ifdef VK_KHR_android_surface
-#endif
-#ifdef VK_KHR_win32_surface
-#endif
-#ifdef VK_KHR_sampler_mirror_clamp_to_edge
-#endif
-#ifdef VK_KHR_multiview
-#endif
-#ifdef VK_KHR_get_physical_device_properties2
-#endif
-#ifdef VK_KHR_device_group
-#endif
-#ifdef VK_KHR_shader_draw_parameters
-#endif
-#ifdef VK_KHR_maintenance1
-#endif
-#ifdef VK_KHR_device_group_creation
-#endif
-#ifdef VK_KHR_external_memory_capabilities
-#endif
-#ifdef VK_KHR_external_memory
-#endif
-#ifdef VK_KHR_external_memory_win32
-#endif
-#ifdef VK_KHR_external_memory_fd
-#endif
-#ifdef VK_KHR_win32_keyed_mutex
-#endif
-#ifdef VK_KHR_external_semaphore_capabilities
-#endif
-#ifdef VK_KHR_external_semaphore
-#endif
-#ifdef VK_KHR_external_semaphore_win32
-#endif
-#ifdef VK_KHR_external_semaphore_fd
-#endif
-#ifdef VK_KHR_push_descriptor
-#endif
-#ifdef VK_KHR_16bit_storage
-#endif
-#ifdef VK_KHR_incremental_present
-#endif
-#ifdef VK_KHR_descriptor_update_template
-#endif
-#ifdef VK_KHR_create_renderpass2
-#endif
-#ifdef VK_KHR_shared_presentable_image
-#endif
-#ifdef VK_KHR_external_fence_capabilities
-#endif
-#ifdef VK_KHR_external_fence
-#endif
-#ifdef VK_KHR_external_fence_win32
-#endif
-#ifdef VK_KHR_external_fence_fd
-#endif
-#ifdef VK_KHR_maintenance2
-#endif
-#ifdef VK_KHR_get_surface_capabilities2
-#endif
-#ifdef VK_KHR_variable_pointers
-#endif
-#ifdef VK_KHR_get_display_properties2
-#endif
-#ifdef VK_KHR_dedicated_allocation
-#endif
-#ifdef VK_KHR_storage_buffer_storage_class
-#endif
-#ifdef VK_KHR_relaxed_block_layout
-#endif
-#ifdef VK_KHR_get_memory_requirements2
-#endif
-#ifdef VK_KHR_image_format_list
-#endif
-#ifdef VK_KHR_sampler_ycbcr_conversion
-#endif
-#ifdef VK_KHR_bind_memory2
-#endif
-#ifdef VK_KHR_maintenance3
-#endif
-#ifdef VK_KHR_draw_indirect_count
-#endif
-#ifdef VK_KHR_8bit_storage
-#endif
-#ifdef VK_KHR_shader_float16_int8
-#endif
-#ifdef VK_ANDROID_native_buffer
-#endif
-#ifdef VK_EXT_debug_report
-#endif
-#ifdef VK_NV_glsl_shader
-#endif
-#ifdef VK_EXT_depth_range_unrestricted
-#endif
-#ifdef VK_IMG_filter_cubic
-#endif
-#ifdef VK_AMD_rasterization_order
-#endif
-#ifdef VK_AMD_shader_trinary_minmax
-#endif
-#ifdef VK_AMD_shader_explicit_vertex_parameter
-#endif
-#ifdef VK_EXT_debug_marker
-#endif
-#ifdef VK_AMD_gcn_shader
-#endif
-#ifdef VK_NV_dedicated_allocation
-#endif
-#ifdef VK_AMD_draw_indirect_count
-#endif
-#ifdef VK_AMD_negative_viewport_height
-#endif
-#ifdef VK_AMD_gpu_shader_half_float
-#endif
-#ifdef VK_AMD_shader_ballot
-#endif
-#ifdef VK_AMD_texture_gather_bias_lod
-#endif
-#ifdef VK_AMD_shader_info
-#endif
-#ifdef VK_AMD_shader_image_load_store_lod
-#endif
-#ifdef VK_IMG_format_pvrtc
-#endif
-#ifdef VK_NV_external_memory_capabilities
-#endif
-#ifdef VK_NV_external_memory
-#endif
-#ifdef VK_NV_external_memory_win32
-#endif
-#ifdef VK_NV_win32_keyed_mutex
-#endif
-#ifdef VK_EXT_validation_flags
-#endif
-#ifdef VK_NN_vi_surface
-#endif
-#ifdef VK_EXT_shader_subgroup_ballot
-#endif
-#ifdef VK_EXT_shader_subgroup_vote
-#endif
-#ifdef VK_EXT_conditional_rendering
-#endif
-#ifdef VK_NVX_device_generated_commands
-#endif
-#ifdef VK_NV_clip_space_w_scaling
-#endif
-#ifdef VK_EXT_direct_mode_display
-#endif
-#ifdef VK_EXT_acquire_xlib_display
-#endif
-#ifdef VK_EXT_display_surface_counter
-#endif
-#ifdef VK_EXT_display_control
-#endif
-#ifdef VK_GOOGLE_display_timing
-#endif
-#ifdef VK_NV_sample_mask_override_coverage
-#endif
-#ifdef VK_NV_geometry_shader_passthrough
-#endif
-#ifdef VK_NV_viewport_array2
-#endif
-#ifdef VK_NVX_multiview_per_view_attributes
-#endif
-#ifdef VK_NV_viewport_swizzle
-#endif
-#ifdef VK_EXT_discard_rectangles
-#endif
-#ifdef VK_EXT_conservative_rasterization
-#endif
-#ifdef VK_EXT_swapchain_colorspace
-#endif
-#ifdef VK_EXT_hdr_metadata
-#endif
-#ifdef VK_MVK_ios_surface
-#endif
-#ifdef VK_MVK_macos_surface
-#endif
-#ifdef VK_EXT_external_memory_dma_buf
-#endif
-#ifdef VK_EXT_queue_family_foreign
-#endif
-#ifdef VK_EXT_debug_utils
-#endif
-#ifdef VK_ANDROID_external_memory_android_hardware_buffer
-#endif
-#ifdef VK_EXT_sampler_filter_minmax
-#endif
-#ifdef VK_AMD_gpu_shader_int16
-#endif
-#ifdef VK_AMD_mixed_attachment_samples
-#endif
-#ifdef VK_AMD_shader_fragment_mask
-#endif
-#ifdef VK_EXT_shader_stencil_export
-#endif
-#ifdef VK_EXT_sample_locations
-#endif
-#ifdef VK_EXT_blend_operation_advanced
-#endif
-#ifdef VK_NV_fragment_coverage_to_color
-#endif
-#ifdef VK_NV_framebuffer_mixed_samples
-#endif
-#ifdef VK_NV_fill_rectangle
-#endif
-#ifdef VK_EXT_post_depth_coverage
-#endif
-#ifdef VK_EXT_validation_cache
-#endif
-#ifdef VK_EXT_descriptor_indexing
-#endif
-#ifdef VK_EXT_shader_viewport_index_layer
-#endif
-#ifdef VK_EXT_global_priority
-#endif
-#ifdef VK_EXT_external_memory_host
-#endif
-#ifdef VK_AMD_buffer_marker
-#endif
-#ifdef VK_AMD_shader_core_properties
-#endif
-#ifdef VK_EXT_vertex_attribute_divisor
-#endif
-#ifdef VK_NV_shader_subgroup_partitioned
-#endif
-#ifdef VK_NV_device_diagnostic_checkpoints
-#endif
-#ifdef VK_GOOGLE_address_space
-#endif
-#ifdef VK_GOOGLE_color_buffer
-#endif
-#ifdef VK_GOOGLE_sized_descriptor_update_template
-#endif
-#ifdef VK_GOOGLE_async_command_buffers
-#endif
-#ifdef VK_GOOGLE_create_resources_with_requirements
-#endif
-#ifdef VK_GOOGLE_address_space_info
-#endif
-#ifdef VK_GOOGLE_free_memory_sync
-#endif
-#ifdef VK_GOOGLE_async_queue_submit
-#endif
-#ifdef VK_GOOGLE_linear_image_layout
-#endif
-uint32_t goldfish_vk_struct_type(
- const void* structExtension)
-{
- const uint32_t asStructType = *(reinterpret_cast<const uint32_t*>(structExtension));
- return asStructType;
-}
-
-size_t goldfish_vk_extension_struct_size(
- const void* structExtension)
-{
- if (!structExtension)
- {
- return (size_t)0;
- }
- uint32_t structType = (uint32_t)goldfish_vk_struct_type(structExtension);
- switch(structType)
- {
-#ifdef VK_VERSION_1_1
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES:
- {
- return sizeof(VkPhysicalDeviceSubgroupProperties);
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:
- {
- return sizeof(VkPhysicalDevice16BitStorageFeatures);
- }
- case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS:
- {
- return sizeof(VkMemoryDedicatedRequirements);
- }
- case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO:
- {
- return sizeof(VkMemoryDedicatedAllocateInfo);
- }
- case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO:
- {
- return sizeof(VkMemoryAllocateFlagsInfo);
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO:
- {
- return sizeof(VkDeviceGroupRenderPassBeginInfo);
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO:
- {
- return sizeof(VkDeviceGroupCommandBufferBeginInfo);
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO:
- {
- return sizeof(VkDeviceGroupSubmitInfo);
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO:
- {
- return sizeof(VkDeviceGroupBindSparseInfo);
- }
- case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO:
- {
- return sizeof(VkBindBufferMemoryDeviceGroupInfo);
- }
- case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO:
- {
- return sizeof(VkBindImageMemoryDeviceGroupInfo);
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO:
- {
- return sizeof(VkDeviceGroupDeviceCreateInfo);
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2:
- {
- return sizeof(VkPhysicalDeviceFeatures2);
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES:
- {
- return sizeof(VkPhysicalDevicePointClippingProperties);
- }
- case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO:
- {
- return sizeof(VkRenderPassInputAttachmentAspectCreateInfo);
- }
- case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO:
- {
- return sizeof(VkImageViewUsageCreateInfo);
- }
- case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO:
- {
- return sizeof(VkPipelineTessellationDomainOriginStateCreateInfo);
- }
- case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO:
- {
- return sizeof(VkRenderPassMultiviewCreateInfo);
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:
- {
- return sizeof(VkPhysicalDeviceMultiviewFeatures);
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES:
- {
- return sizeof(VkPhysicalDeviceMultiviewProperties);
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES:
- {
- return sizeof(VkPhysicalDeviceVariablePointerFeatures);
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:
- {
- return sizeof(VkPhysicalDeviceProtectedMemoryFeatures);
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES:
- {
- return sizeof(VkPhysicalDeviceProtectedMemoryProperties);
- }
- case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO:
- {
- return sizeof(VkProtectedSubmitInfo);
- }
- case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO:
- {
- return sizeof(VkSamplerYcbcrConversionInfo);
- }
- case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO:
- {
- return sizeof(VkBindImagePlaneMemoryInfo);
- }
- case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO:
- {
- return sizeof(VkImagePlaneMemoryRequirementsInfo);
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:
- {
- return sizeof(VkPhysicalDeviceSamplerYcbcrConversionFeatures);
- }
- case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES:
- {
- return sizeof(VkSamplerYcbcrConversionImageFormatProperties);
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO:
- {
- return sizeof(VkPhysicalDeviceExternalImageFormatInfo);
- }
- case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES:
- {
- return sizeof(VkExternalImageFormatProperties);
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES:
- {
- return sizeof(VkPhysicalDeviceIDProperties);
- }
- case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO:
- {
- return sizeof(VkExternalMemoryImageCreateInfo);
- }
- case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO:
- {
- return sizeof(VkExternalMemoryBufferCreateInfo);
- }
- case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO:
- {
- return sizeof(VkExportMemoryAllocateInfo);
- }
- case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO:
- {
- return sizeof(VkExportFenceCreateInfo);
- }
- case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO:
- {
- return sizeof(VkExportSemaphoreCreateInfo);
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES:
- {
- return sizeof(VkPhysicalDeviceMaintenance3Properties);
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES:
- {
- return sizeof(VkPhysicalDeviceShaderDrawParameterFeatures);
- }
-#endif
-#ifdef VK_KHR_swapchain
- case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR:
- {
- return sizeof(VkImageSwapchainCreateInfoKHR);
- }
- case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR:
- {
- return sizeof(VkBindImageMemorySwapchainInfoKHR);
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR:
- {
- return sizeof(VkDeviceGroupPresentInfoKHR);
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR:
- {
- return sizeof(VkDeviceGroupSwapchainCreateInfoKHR);
- }
-#endif
-#ifdef VK_KHR_display_swapchain
- case VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR:
- {
- return sizeof(VkDisplayPresentInfoKHR);
- }
-#endif
-#ifdef VK_KHR_external_memory_win32
- case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR:
- {
- return sizeof(VkImportMemoryWin32HandleInfoKHR);
- }
- case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR:
- {
- return sizeof(VkExportMemoryWin32HandleInfoKHR);
- }
-#endif
-#ifdef VK_KHR_external_memory_fd
- case VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR:
- {
- return sizeof(VkImportMemoryFdInfoKHR);
- }
-#endif
-#ifdef VK_KHR_win32_keyed_mutex
- case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR:
- {
- return sizeof(VkWin32KeyedMutexAcquireReleaseInfoKHR);
- }
-#endif
-#ifdef VK_KHR_external_semaphore_win32
- case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR:
- {
- return sizeof(VkExportSemaphoreWin32HandleInfoKHR);
- }
- case VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR:
- {
- return sizeof(VkD3D12FenceSubmitInfoKHR);
- }
-#endif
-#ifdef VK_KHR_push_descriptor
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR:
- {
- return sizeof(VkPhysicalDevicePushDescriptorPropertiesKHR);
- }
-#endif
-#ifdef VK_KHR_incremental_present
- case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR:
- {
- return sizeof(VkPresentRegionsKHR);
- }
-#endif
-#ifdef VK_KHR_shared_presentable_image
- case VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR:
- {
- return sizeof(VkSharedPresentSurfaceCapabilitiesKHR);
- }
-#endif
-#ifdef VK_KHR_external_fence_win32
- case VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR:
- {
- return sizeof(VkExportFenceWin32HandleInfoKHR);
- }
-#endif
-#ifdef VK_KHR_image_format_list
- case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR:
- {
- return sizeof(VkImageFormatListCreateInfoKHR);
- }
-#endif
-#ifdef VK_KHR_8bit_storage
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR:
- {
- return sizeof(VkPhysicalDevice8BitStorageFeaturesKHR);
- }
-#endif
-#ifdef VK_KHR_shader_float16_int8
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:
- {
- return sizeof(VkPhysicalDeviceShaderFloat16Int8Features);
- }
-#endif
-#ifdef VK_ANDROID_native_buffer
- case VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID:
- {
- return sizeof(VkNativeBufferANDROID);
- }
-#endif
-#ifdef VK_EXT_debug_report
- case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT:
- {
- return sizeof(VkDebugReportCallbackCreateInfoEXT);
- }
-#endif
-#ifdef VK_AMD_rasterization_order
- case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD:
- {
- return sizeof(VkPipelineRasterizationStateRasterizationOrderAMD);
- }
-#endif
-#ifdef VK_NV_dedicated_allocation
- case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV:
- {
- return sizeof(VkDedicatedAllocationImageCreateInfoNV);
- }
- case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV:
- {
- return sizeof(VkDedicatedAllocationBufferCreateInfoNV);
- }
- case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV:
- {
- return sizeof(VkDedicatedAllocationMemoryAllocateInfoNV);
- }
-#endif
-#ifdef VK_AMD_texture_gather_bias_lod
- case VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD:
- {
- return sizeof(VkTextureLODGatherFormatPropertiesAMD);
- }
-#endif
-#ifdef VK_NV_external_memory
- case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV:
- {
- return sizeof(VkExternalMemoryImageCreateInfoNV);
- }
- case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV:
- {
- return sizeof(VkExportMemoryAllocateInfoNV);
- }
-#endif
-#ifdef VK_NV_external_memory_win32
- case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV:
- {
- return sizeof(VkImportMemoryWin32HandleInfoNV);
- }
- case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV:
- {
- return sizeof(VkExportMemoryWin32HandleInfoNV);
- }
-#endif
-#ifdef VK_NV_win32_keyed_mutex
- case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV:
- {
- return sizeof(VkWin32KeyedMutexAcquireReleaseInfoNV);
- }
-#endif
-#ifdef VK_EXT_validation_flags
- case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT:
- {
- return sizeof(VkValidationFlagsEXT);
- }
-#endif
-#ifdef VK_EXT_conditional_rendering
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT:
- {
- return sizeof(VkPhysicalDeviceConditionalRenderingFeaturesEXT);
- }
- case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT:
- {
- return sizeof(VkCommandBufferInheritanceConditionalRenderingInfoEXT);
- }
-#endif
-#ifdef VK_NV_clip_space_w_scaling
- case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV:
- {
- return sizeof(VkPipelineViewportWScalingStateCreateInfoNV);
- }
-#endif
-#ifdef VK_EXT_display_control
- case VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT:
- {
- return sizeof(VkSwapchainCounterCreateInfoEXT);
- }
-#endif
-#ifdef VK_GOOGLE_display_timing
- case VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE:
- {
- return sizeof(VkPresentTimesInfoGOOGLE);
- }
-#endif
-#ifdef VK_NVX_multiview_per_view_attributes
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX:
- {
- return sizeof(VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX);
- }
-#endif
-#ifdef VK_NV_viewport_swizzle
- case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV:
- {
- return sizeof(VkPipelineViewportSwizzleStateCreateInfoNV);
- }
-#endif
-#ifdef VK_EXT_discard_rectangles
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT:
- {
- return sizeof(VkPhysicalDeviceDiscardRectanglePropertiesEXT);
- }
- case VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT:
- {
- return sizeof(VkPipelineDiscardRectangleStateCreateInfoEXT);
- }
-#endif
-#ifdef VK_EXT_conservative_rasterization
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT:
- {
- return sizeof(VkPhysicalDeviceConservativeRasterizationPropertiesEXT);
- }
- case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT:
- {
- return sizeof(VkPipelineRasterizationConservativeStateCreateInfoEXT);
- }
-#endif
-#ifdef VK_EXT_debug_utils
- case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT:
- {
- return sizeof(VkDebugUtilsMessengerCreateInfoEXT);
- }
-#endif
-#ifdef VK_ANDROID_external_memory_android_hardware_buffer
- case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID:
- {
- return sizeof(VkAndroidHardwareBufferUsageANDROID);
- }
- case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID:
- {
- return sizeof(VkAndroidHardwareBufferFormatPropertiesANDROID);
- }
- case VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID:
- {
- return sizeof(VkImportAndroidHardwareBufferInfoANDROID);
- }
- case VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID:
- {
- return sizeof(VkExternalFormatANDROID);
- }
-#endif
-#ifdef VK_EXT_sampler_filter_minmax
- case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT:
- {
- return sizeof(VkSamplerReductionModeCreateInfoEXT);
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT:
- {
- return sizeof(VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT);
- }
-#endif
-#ifdef VK_EXT_sample_locations
- case VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT:
- {
- return sizeof(VkSampleLocationsInfoEXT);
- }
- case VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT:
- {
- return sizeof(VkRenderPassSampleLocationsBeginInfoEXT);
- }
- case VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT:
- {
- return sizeof(VkPipelineSampleLocationsStateCreateInfoEXT);
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT:
- {
- return sizeof(VkPhysicalDeviceSampleLocationsPropertiesEXT);
- }
-#endif
-#ifdef VK_EXT_blend_operation_advanced
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT:
- {
- return sizeof(VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT);
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT:
- {
- return sizeof(VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT);
- }
- case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT:
- {
- return sizeof(VkPipelineColorBlendAdvancedStateCreateInfoEXT);
- }
-#endif
-#ifdef VK_NV_fragment_coverage_to_color
- case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV:
- {
- return sizeof(VkPipelineCoverageToColorStateCreateInfoNV);
- }
-#endif
-#ifdef VK_NV_framebuffer_mixed_samples
- case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV:
- {
- return sizeof(VkPipelineCoverageModulationStateCreateInfoNV);
- }
-#endif
-#ifdef VK_EXT_validation_cache
- case VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT:
- {
- return sizeof(VkShaderModuleValidationCacheCreateInfoEXT);
- }
-#endif
-#ifdef VK_EXT_descriptor_indexing
- case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT:
- {
- return sizeof(VkDescriptorSetLayoutBindingFlagsCreateInfoEXT);
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT:
- {
- return sizeof(VkPhysicalDeviceDescriptorIndexingFeaturesEXT);
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT:
- {
- return sizeof(VkPhysicalDeviceDescriptorIndexingPropertiesEXT);
- }
- case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT:
- {
- return sizeof(VkDescriptorSetVariableDescriptorCountAllocateInfoEXT);
- }
- case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT:
- {
- return sizeof(VkDescriptorSetVariableDescriptorCountLayoutSupportEXT);
- }
-#endif
-#ifdef VK_EXT_global_priority
- case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT:
- {
- return sizeof(VkDeviceQueueGlobalPriorityCreateInfoEXT);
- }
-#endif
-#ifdef VK_EXT_external_memory_host
- case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT:
- {
- return sizeof(VkImportMemoryHostPointerInfoEXT);
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT:
- {
- return sizeof(VkPhysicalDeviceExternalMemoryHostPropertiesEXT);
- }
-#endif
-#ifdef VK_AMD_shader_core_properties
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD:
- {
- return sizeof(VkPhysicalDeviceShaderCorePropertiesAMD);
- }
-#endif
-#ifdef VK_EXT_vertex_attribute_divisor
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT:
- {
- return sizeof(VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT);
- }
- case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT:
- {
- return sizeof(VkPipelineVertexInputDivisorStateCreateInfoEXT);
- }
-#endif
-#ifdef VK_NV_device_diagnostic_checkpoints
- case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV:
- {
- return sizeof(VkQueueFamilyCheckpointPropertiesNV);
- }
-#endif
-#ifdef VK_GOOGLE_color_buffer
- case VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE:
- {
- return sizeof(VkImportColorBufferGOOGLE);
- }
- case VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE:
- {
- return sizeof(VkImportBufferGOOGLE);
- }
- case VK_STRUCTURE_TYPE_IMPORT_PHYSICAL_ADDRESS_GOOGLE:
- {
- return sizeof(VkImportPhysicalAddressGOOGLE);
- }
-#endif
- default:
- {
- return (size_t)0;
- }
- }
-}
-
-size_t goldfish_vk_extension_struct_size_with_stream_features(
- uint32_t streamFeatures,
- const void* structExtension)
-{
- if (!structExtension)
- {
- return (size_t)0;
- }
- uint32_t structType = (uint32_t)goldfish_vk_struct_type(structExtension);
- switch(structType)
- {
-#ifdef VK_VERSION_1_1
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES:
- {
- return sizeof(VkPhysicalDeviceSubgroupProperties);
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:
- {
- return sizeof(VkPhysicalDevice16BitStorageFeatures);
- }
- case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS:
- {
- return sizeof(VkMemoryDedicatedRequirements);
- }
- case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO:
- {
- return sizeof(VkMemoryDedicatedAllocateInfo);
- }
- case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO:
- {
- return sizeof(VkMemoryAllocateFlagsInfo);
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO:
- {
- return sizeof(VkDeviceGroupRenderPassBeginInfo);
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO:
- {
- return sizeof(VkDeviceGroupCommandBufferBeginInfo);
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO:
- {
- return sizeof(VkDeviceGroupSubmitInfo);
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO:
- {
- return sizeof(VkDeviceGroupBindSparseInfo);
- }
- case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO:
- {
- return sizeof(VkBindBufferMemoryDeviceGroupInfo);
- }
- case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO:
- {
- return sizeof(VkBindImageMemoryDeviceGroupInfo);
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO:
- {
- return sizeof(VkDeviceGroupDeviceCreateInfo);
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2:
- {
- return sizeof(VkPhysicalDeviceFeatures2);
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES:
- {
- return sizeof(VkPhysicalDevicePointClippingProperties);
- }
- case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO:
- {
- return sizeof(VkRenderPassInputAttachmentAspectCreateInfo);
- }
- case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO:
- {
- return sizeof(VkImageViewUsageCreateInfo);
- }
- case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO:
- {
- return sizeof(VkPipelineTessellationDomainOriginStateCreateInfo);
- }
- case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO:
- {
- return sizeof(VkRenderPassMultiviewCreateInfo);
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:
- {
- return sizeof(VkPhysicalDeviceMultiviewFeatures);
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES:
- {
- return sizeof(VkPhysicalDeviceMultiviewProperties);
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES:
- {
- return sizeof(VkPhysicalDeviceVariablePointerFeatures);
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:
- {
- return sizeof(VkPhysicalDeviceProtectedMemoryFeatures);
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES:
- {
- return sizeof(VkPhysicalDeviceProtectedMemoryProperties);
- }
- case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO:
- {
- return sizeof(VkProtectedSubmitInfo);
- }
- case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO:
- {
- return sizeof(VkSamplerYcbcrConversionInfo);
- }
- case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO:
- {
- return sizeof(VkBindImagePlaneMemoryInfo);
- }
- case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO:
- {
- return sizeof(VkImagePlaneMemoryRequirementsInfo);
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:
- {
- return sizeof(VkPhysicalDeviceSamplerYcbcrConversionFeatures);
- }
- case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES:
- {
- return sizeof(VkSamplerYcbcrConversionImageFormatProperties);
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO:
- {
- return sizeof(VkPhysicalDeviceExternalImageFormatInfo);
- }
- case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES:
- {
- return sizeof(VkExternalImageFormatProperties);
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES:
- {
- return sizeof(VkPhysicalDeviceIDProperties);
- }
- case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO:
- {
- return sizeof(VkExternalMemoryImageCreateInfo);
- }
- case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO:
- {
- return sizeof(VkExternalMemoryBufferCreateInfo);
- }
- case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO:
- {
- return sizeof(VkExportMemoryAllocateInfo);
- }
- case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO:
- {
- return sizeof(VkExportFenceCreateInfo);
- }
- case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO:
- {
- return sizeof(VkExportSemaphoreCreateInfo);
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES:
- {
- return sizeof(VkPhysicalDeviceMaintenance3Properties);
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES:
- {
- return sizeof(VkPhysicalDeviceShaderDrawParameterFeatures);
- }
-#endif
-#ifdef VK_KHR_swapchain
- case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR:
- {
- return sizeof(VkImageSwapchainCreateInfoKHR);
- }
- case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR:
- {
- return sizeof(VkBindImageMemorySwapchainInfoKHR);
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR:
- {
- return sizeof(VkDeviceGroupPresentInfoKHR);
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR:
- {
- return sizeof(VkDeviceGroupSwapchainCreateInfoKHR);
- }
-#endif
-#ifdef VK_KHR_display_swapchain
- case VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR:
- {
- return sizeof(VkDisplayPresentInfoKHR);
- }
-#endif
-#ifdef VK_KHR_external_memory_win32
- case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR:
- {
- return sizeof(VkImportMemoryWin32HandleInfoKHR);
- }
- case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR:
- {
- return sizeof(VkExportMemoryWin32HandleInfoKHR);
- }
-#endif
-#ifdef VK_KHR_external_memory_fd
- case VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR:
- {
- return sizeof(VkImportMemoryFdInfoKHR);
- }
-#endif
-#ifdef VK_KHR_win32_keyed_mutex
- case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR:
- {
- return sizeof(VkWin32KeyedMutexAcquireReleaseInfoKHR);
- }
-#endif
-#ifdef VK_KHR_external_semaphore_win32
- case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR:
- {
- return sizeof(VkExportSemaphoreWin32HandleInfoKHR);
- }
- case VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR:
- {
- return sizeof(VkD3D12FenceSubmitInfoKHR);
- }
-#endif
-#ifdef VK_KHR_push_descriptor
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR:
- {
- return sizeof(VkPhysicalDevicePushDescriptorPropertiesKHR);
- }
-#endif
-#ifdef VK_KHR_incremental_present
- case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR:
- {
- return sizeof(VkPresentRegionsKHR);
- }
-#endif
-#ifdef VK_KHR_shared_presentable_image
- case VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR:
- {
- return sizeof(VkSharedPresentSurfaceCapabilitiesKHR);
- }
-#endif
-#ifdef VK_KHR_external_fence_win32
- case VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR:
- {
- return sizeof(VkExportFenceWin32HandleInfoKHR);
- }
-#endif
-#ifdef VK_KHR_image_format_list
- case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR:
- {
- return sizeof(VkImageFormatListCreateInfoKHR);
- }
-#endif
-#ifdef VK_KHR_8bit_storage
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR:
- {
- return sizeof(VkPhysicalDevice8BitStorageFeaturesKHR);
- }
-#endif
-#ifdef VK_KHR_shader_float16_int8
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:
- {
- if (streamFeatures & VULKAN_STREAM_FEATURE_SHADER_FLOAT16_INT8_BIT)
- {
- return sizeof(VkPhysicalDeviceShaderFloat16Int8Features);
- }
- else
- {
- return 0;
- }
- }
-#endif
-#ifdef VK_ANDROID_native_buffer
- case VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID:
- {
- return sizeof(VkNativeBufferANDROID);
- }
-#endif
-#ifdef VK_EXT_debug_report
- case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT:
- {
- return sizeof(VkDebugReportCallbackCreateInfoEXT);
- }
-#endif
-#ifdef VK_AMD_rasterization_order
- case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD:
- {
- return sizeof(VkPipelineRasterizationStateRasterizationOrderAMD);
- }
-#endif
-#ifdef VK_NV_dedicated_allocation
- case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV:
- {
- return sizeof(VkDedicatedAllocationImageCreateInfoNV);
- }
- case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV:
- {
- return sizeof(VkDedicatedAllocationBufferCreateInfoNV);
- }
- case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV:
- {
- return sizeof(VkDedicatedAllocationMemoryAllocateInfoNV);
- }
-#endif
-#ifdef VK_AMD_texture_gather_bias_lod
- case VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD:
- {
- return sizeof(VkTextureLODGatherFormatPropertiesAMD);
- }
-#endif
-#ifdef VK_NV_external_memory
- case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV:
- {
- return sizeof(VkExternalMemoryImageCreateInfoNV);
- }
- case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV:
- {
- return sizeof(VkExportMemoryAllocateInfoNV);
- }
-#endif
-#ifdef VK_NV_external_memory_win32
- case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV:
- {
- return sizeof(VkImportMemoryWin32HandleInfoNV);
- }
- case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV:
- {
- return sizeof(VkExportMemoryWin32HandleInfoNV);
- }
-#endif
-#ifdef VK_NV_win32_keyed_mutex
- case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV:
- {
- return sizeof(VkWin32KeyedMutexAcquireReleaseInfoNV);
- }
-#endif
-#ifdef VK_EXT_validation_flags
- case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT:
- {
- return sizeof(VkValidationFlagsEXT);
- }
-#endif
-#ifdef VK_EXT_conditional_rendering
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT:
- {
- return sizeof(VkPhysicalDeviceConditionalRenderingFeaturesEXT);
- }
- case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT:
- {
- return sizeof(VkCommandBufferInheritanceConditionalRenderingInfoEXT);
- }
-#endif
-#ifdef VK_NV_clip_space_w_scaling
- case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV:
- {
- return sizeof(VkPipelineViewportWScalingStateCreateInfoNV);
- }
-#endif
-#ifdef VK_EXT_display_control
- case VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT:
- {
- return sizeof(VkSwapchainCounterCreateInfoEXT);
- }
-#endif
-#ifdef VK_GOOGLE_display_timing
- case VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE:
- {
- return sizeof(VkPresentTimesInfoGOOGLE);
- }
-#endif
-#ifdef VK_NVX_multiview_per_view_attributes
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX:
- {
- return sizeof(VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX);
- }
-#endif
-#ifdef VK_NV_viewport_swizzle
- case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV:
- {
- return sizeof(VkPipelineViewportSwizzleStateCreateInfoNV);
- }
-#endif
-#ifdef VK_EXT_discard_rectangles
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT:
- {
- return sizeof(VkPhysicalDeviceDiscardRectanglePropertiesEXT);
- }
- case VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT:
- {
- return sizeof(VkPipelineDiscardRectangleStateCreateInfoEXT);
- }
-#endif
-#ifdef VK_EXT_conservative_rasterization
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT:
- {
- return sizeof(VkPhysicalDeviceConservativeRasterizationPropertiesEXT);
- }
- case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT:
- {
- return sizeof(VkPipelineRasterizationConservativeStateCreateInfoEXT);
- }
-#endif
-#ifdef VK_EXT_debug_utils
- case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT:
- {
- return sizeof(VkDebugUtilsMessengerCreateInfoEXT);
- }
-#endif
-#ifdef VK_ANDROID_external_memory_android_hardware_buffer
- case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID:
- {
- return sizeof(VkAndroidHardwareBufferUsageANDROID);
- }
- case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID:
- {
- return sizeof(VkAndroidHardwareBufferFormatPropertiesANDROID);
- }
- case VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID:
- {
- return sizeof(VkImportAndroidHardwareBufferInfoANDROID);
- }
- case VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID:
- {
- return sizeof(VkExternalFormatANDROID);
- }
-#endif
-#ifdef VK_EXT_sampler_filter_minmax
- case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT:
- {
- return sizeof(VkSamplerReductionModeCreateInfoEXT);
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT:
- {
- return sizeof(VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT);
- }
-#endif
-#ifdef VK_EXT_sample_locations
- case VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT:
- {
- return sizeof(VkSampleLocationsInfoEXT);
- }
- case VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT:
- {
- return sizeof(VkRenderPassSampleLocationsBeginInfoEXT);
- }
- case VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT:
- {
- return sizeof(VkPipelineSampleLocationsStateCreateInfoEXT);
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT:
- {
- return sizeof(VkPhysicalDeviceSampleLocationsPropertiesEXT);
- }
-#endif
-#ifdef VK_EXT_blend_operation_advanced
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT:
- {
- return sizeof(VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT);
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT:
- {
- return sizeof(VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT);
- }
- case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT:
- {
- return sizeof(VkPipelineColorBlendAdvancedStateCreateInfoEXT);
- }
-#endif
-#ifdef VK_NV_fragment_coverage_to_color
- case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV:
- {
- return sizeof(VkPipelineCoverageToColorStateCreateInfoNV);
- }
-#endif
-#ifdef VK_NV_framebuffer_mixed_samples
- case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV:
- {
- return sizeof(VkPipelineCoverageModulationStateCreateInfoNV);
- }
-#endif
-#ifdef VK_EXT_validation_cache
- case VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT:
- {
- return sizeof(VkShaderModuleValidationCacheCreateInfoEXT);
- }
-#endif
-#ifdef VK_EXT_descriptor_indexing
- case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT:
- {
- return sizeof(VkDescriptorSetLayoutBindingFlagsCreateInfoEXT);
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT:
- {
- return sizeof(VkPhysicalDeviceDescriptorIndexingFeaturesEXT);
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT:
- {
- return sizeof(VkPhysicalDeviceDescriptorIndexingPropertiesEXT);
- }
- case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT:
- {
- return sizeof(VkDescriptorSetVariableDescriptorCountAllocateInfoEXT);
- }
- case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT:
- {
- return sizeof(VkDescriptorSetVariableDescriptorCountLayoutSupportEXT);
- }
-#endif
-#ifdef VK_EXT_global_priority
- case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT:
- {
- return sizeof(VkDeviceQueueGlobalPriorityCreateInfoEXT);
- }
-#endif
-#ifdef VK_EXT_external_memory_host
- case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT:
- {
- return sizeof(VkImportMemoryHostPointerInfoEXT);
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT:
- {
- return sizeof(VkPhysicalDeviceExternalMemoryHostPropertiesEXT);
- }
-#endif
-#ifdef VK_AMD_shader_core_properties
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD:
- {
- return sizeof(VkPhysicalDeviceShaderCorePropertiesAMD);
- }
-#endif
-#ifdef VK_EXT_vertex_attribute_divisor
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT:
- {
- return sizeof(VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT);
- }
- case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT:
- {
- return sizeof(VkPipelineVertexInputDivisorStateCreateInfoEXT);
- }
-#endif
-#ifdef VK_NV_device_diagnostic_checkpoints
- case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV:
- {
- return sizeof(VkQueueFamilyCheckpointPropertiesNV);
- }
-#endif
-#ifdef VK_GOOGLE_color_buffer
- case VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE:
- {
- return sizeof(VkImportColorBufferGOOGLE);
- }
- case VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE:
- {
- return sizeof(VkImportBufferGOOGLE);
- }
- case VK_STRUCTURE_TYPE_IMPORT_PHYSICAL_ADDRESS_GOOGLE:
- {
- return sizeof(VkImportPhysicalAddressGOOGLE);
- }
-#endif
- default:
- {
- return (size_t)0;
- }
- }
-}
-
-
-} // namespace goldfish_vk
diff --git a/stream-clients/vulkan_enc/goldfish_vk_extension_structs_guest.h b/stream-clients/vulkan_enc/goldfish_vk_extension_structs_guest.h
deleted file mode 100644
index 88ebd6a..0000000
--- a/stream-clients/vulkan_enc/goldfish_vk_extension_structs_guest.h
+++ /dev/null
@@ -1,319 +0,0 @@
-// 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 goldfish_vk_extension_structs_guest
-// (header) generated by protocols/vulkan/xml/genvk.py -registry protocols/vulkan/xml/vk.xml cereal -o stream-servers/vulkan/cereal
-// Please do not modify directly;
-// re-run generate-vulkan-sources.sh,
-// or directly from Python by defining:
-// VULKAN_REGISTRY_XML_DIR : Directory containing genvk.py and vk.xml
-// CEREAL_OUTPUT_DIR: Where to put the generated sources.
-// python3 $VULKAN_REGISTRY_XML_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o $CEREAL_OUTPUT_DIR
-
-#pragma once
-
-#include <vulkan/vulkan.h>
-
-
-#include "vk_platform_compat.h"
-#include "goldfish_vk_private_defs.h"
-// Stuff we are not going to use but if included,
-// will cause compile errors. These are Android Vulkan
-// required extensions, but the approach will be to
-// implement them completely on the guest side.
-#undef VK_KHR_android_surface
-#undef VK_ANDROID_external_memory_android_hardware_buffer
-
-
-namespace goldfish_vk {
-
-uint32_t goldfish_vk_struct_type(
- const void* structExtension);
-
-size_t goldfish_vk_extension_struct_size(
- const void* structExtension);
-
-size_t goldfish_vk_extension_struct_size_with_stream_features(
- uint32_t streamFeatures,
- const void* structExtension);
-
-#ifdef VK_VERSION_1_0
-#endif
-#ifdef VK_VERSION_1_1
-#endif
-#ifdef VK_KHR_surface
-#endif
-#ifdef VK_KHR_swapchain
-#endif
-#ifdef VK_KHR_display
-#endif
-#ifdef VK_KHR_display_swapchain
-#endif
-#ifdef VK_KHR_xlib_surface
-#endif
-#ifdef VK_KHR_xcb_surface
-#endif
-#ifdef VK_KHR_wayland_surface
-#endif
-#ifdef VK_KHR_mir_surface
-#endif
-#ifdef VK_KHR_android_surface
-#endif
-#ifdef VK_KHR_win32_surface
-#endif
-#ifdef VK_KHR_sampler_mirror_clamp_to_edge
-#endif
-#ifdef VK_KHR_multiview
-#endif
-#ifdef VK_KHR_get_physical_device_properties2
-#endif
-#ifdef VK_KHR_device_group
-#endif
-#ifdef VK_KHR_shader_draw_parameters
-#endif
-#ifdef VK_KHR_maintenance1
-#endif
-#ifdef VK_KHR_device_group_creation
-#endif
-#ifdef VK_KHR_external_memory_capabilities
-#endif
-#ifdef VK_KHR_external_memory
-#endif
-#ifdef VK_KHR_external_memory_win32
-#endif
-#ifdef VK_KHR_external_memory_fd
-#endif
-#ifdef VK_KHR_win32_keyed_mutex
-#endif
-#ifdef VK_KHR_external_semaphore_capabilities
-#endif
-#ifdef VK_KHR_external_semaphore
-#endif
-#ifdef VK_KHR_external_semaphore_win32
-#endif
-#ifdef VK_KHR_external_semaphore_fd
-#endif
-#ifdef VK_KHR_push_descriptor
-#endif
-#ifdef VK_KHR_16bit_storage
-#endif
-#ifdef VK_KHR_incremental_present
-#endif
-#ifdef VK_KHR_descriptor_update_template
-#endif
-#ifdef VK_KHR_create_renderpass2
-#endif
-#ifdef VK_KHR_shared_presentable_image
-#endif
-#ifdef VK_KHR_external_fence_capabilities
-#endif
-#ifdef VK_KHR_external_fence
-#endif
-#ifdef VK_KHR_external_fence_win32
-#endif
-#ifdef VK_KHR_external_fence_fd
-#endif
-#ifdef VK_KHR_maintenance2
-#endif
-#ifdef VK_KHR_get_surface_capabilities2
-#endif
-#ifdef VK_KHR_variable_pointers
-#endif
-#ifdef VK_KHR_get_display_properties2
-#endif
-#ifdef VK_KHR_dedicated_allocation
-#endif
-#ifdef VK_KHR_storage_buffer_storage_class
-#endif
-#ifdef VK_KHR_relaxed_block_layout
-#endif
-#ifdef VK_KHR_get_memory_requirements2
-#endif
-#ifdef VK_KHR_image_format_list
-#endif
-#ifdef VK_KHR_sampler_ycbcr_conversion
-#endif
-#ifdef VK_KHR_bind_memory2
-#endif
-#ifdef VK_KHR_maintenance3
-#endif
-#ifdef VK_KHR_draw_indirect_count
-#endif
-#ifdef VK_KHR_8bit_storage
-#endif
-#ifdef VK_KHR_shader_float16_int8
-#endif
-#ifdef VK_ANDROID_native_buffer
-#endif
-#ifdef VK_EXT_debug_report
-#endif
-#ifdef VK_NV_glsl_shader
-#endif
-#ifdef VK_EXT_depth_range_unrestricted
-#endif
-#ifdef VK_IMG_filter_cubic
-#endif
-#ifdef VK_AMD_rasterization_order
-#endif
-#ifdef VK_AMD_shader_trinary_minmax
-#endif
-#ifdef VK_AMD_shader_explicit_vertex_parameter
-#endif
-#ifdef VK_EXT_debug_marker
-#endif
-#ifdef VK_AMD_gcn_shader
-#endif
-#ifdef VK_NV_dedicated_allocation
-#endif
-#ifdef VK_AMD_draw_indirect_count
-#endif
-#ifdef VK_AMD_negative_viewport_height
-#endif
-#ifdef VK_AMD_gpu_shader_half_float
-#endif
-#ifdef VK_AMD_shader_ballot
-#endif
-#ifdef VK_AMD_texture_gather_bias_lod
-#endif
-#ifdef VK_AMD_shader_info
-#endif
-#ifdef VK_AMD_shader_image_load_store_lod
-#endif
-#ifdef VK_IMG_format_pvrtc
-#endif
-#ifdef VK_NV_external_memory_capabilities
-#endif
-#ifdef VK_NV_external_memory
-#endif
-#ifdef VK_NV_external_memory_win32
-#endif
-#ifdef VK_NV_win32_keyed_mutex
-#endif
-#ifdef VK_EXT_validation_flags
-#endif
-#ifdef VK_NN_vi_surface
-#endif
-#ifdef VK_EXT_shader_subgroup_ballot
-#endif
-#ifdef VK_EXT_shader_subgroup_vote
-#endif
-#ifdef VK_EXT_conditional_rendering
-#endif
-#ifdef VK_NVX_device_generated_commands
-#endif
-#ifdef VK_NV_clip_space_w_scaling
-#endif
-#ifdef VK_EXT_direct_mode_display
-#endif
-#ifdef VK_EXT_acquire_xlib_display
-#endif
-#ifdef VK_EXT_display_surface_counter
-#endif
-#ifdef VK_EXT_display_control
-#endif
-#ifdef VK_GOOGLE_display_timing
-#endif
-#ifdef VK_NV_sample_mask_override_coverage
-#endif
-#ifdef VK_NV_geometry_shader_passthrough
-#endif
-#ifdef VK_NV_viewport_array2
-#endif
-#ifdef VK_NVX_multiview_per_view_attributes
-#endif
-#ifdef VK_NV_viewport_swizzle
-#endif
-#ifdef VK_EXT_discard_rectangles
-#endif
-#ifdef VK_EXT_conservative_rasterization
-#endif
-#ifdef VK_EXT_swapchain_colorspace
-#endif
-#ifdef VK_EXT_hdr_metadata
-#endif
-#ifdef VK_MVK_ios_surface
-#endif
-#ifdef VK_MVK_macos_surface
-#endif
-#ifdef VK_EXT_external_memory_dma_buf
-#endif
-#ifdef VK_EXT_queue_family_foreign
-#endif
-#ifdef VK_EXT_debug_utils
-#endif
-#ifdef VK_ANDROID_external_memory_android_hardware_buffer
-#endif
-#ifdef VK_EXT_sampler_filter_minmax
-#endif
-#ifdef VK_AMD_gpu_shader_int16
-#endif
-#ifdef VK_AMD_mixed_attachment_samples
-#endif
-#ifdef VK_AMD_shader_fragment_mask
-#endif
-#ifdef VK_EXT_shader_stencil_export
-#endif
-#ifdef VK_EXT_sample_locations
-#endif
-#ifdef VK_EXT_blend_operation_advanced
-#endif
-#ifdef VK_NV_fragment_coverage_to_color
-#endif
-#ifdef VK_NV_framebuffer_mixed_samples
-#endif
-#ifdef VK_NV_fill_rectangle
-#endif
-#ifdef VK_EXT_post_depth_coverage
-#endif
-#ifdef VK_EXT_validation_cache
-#endif
-#ifdef VK_EXT_descriptor_indexing
-#endif
-#ifdef VK_EXT_shader_viewport_index_layer
-#endif
-#ifdef VK_EXT_global_priority
-#endif
-#ifdef VK_EXT_external_memory_host
-#endif
-#ifdef VK_AMD_buffer_marker
-#endif
-#ifdef VK_AMD_shader_core_properties
-#endif
-#ifdef VK_EXT_vertex_attribute_divisor
-#endif
-#ifdef VK_NV_shader_subgroup_partitioned
-#endif
-#ifdef VK_NV_device_diagnostic_checkpoints
-#endif
-#ifdef VK_GOOGLE_address_space
-#endif
-#ifdef VK_GOOGLE_color_buffer
-#endif
-#ifdef VK_GOOGLE_sized_descriptor_update_template
-#endif
-#ifdef VK_GOOGLE_async_command_buffers
-#endif
-#ifdef VK_GOOGLE_create_resources_with_requirements
-#endif
-#ifdef VK_GOOGLE_address_space_info
-#endif
-#ifdef VK_GOOGLE_free_memory_sync
-#endif
-#ifdef VK_GOOGLE_async_queue_submit
-#endif
-#ifdef VK_GOOGLE_linear_image_layout
-#endif
-
-} // namespace goldfish_vk
diff --git a/stream-clients/vulkan_enc/goldfish_vk_handlemap_guest.cpp b/stream-clients/vulkan_enc/goldfish_vk_handlemap_guest.cpp
deleted file mode 100644
index 79295ba..0000000
--- a/stream-clients/vulkan_enc/goldfish_vk_handlemap_guest.cpp
+++ /dev/null
@@ -1,5463 +0,0 @@
-// 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 goldfish_vk_handlemap_guest
-// (impl) generated by protocols/vulkan/xml/genvk.py -registry protocols/vulkan/xml/vk.xml cereal -o stream-servers/vulkan/cereal
-// Please do not modify directly;
-// re-run generate-vulkan-sources.sh,
-// or directly from Python by defining:
-// VULKAN_REGISTRY_XML_DIR : Directory containing genvk.py and vk.xml
-// CEREAL_OUTPUT_DIR: Where to put the generated sources.
-// python3 $VULKAN_REGISTRY_XML_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o $CEREAL_OUTPUT_DIR
-
-#include "goldfish_vk_handlemap_guest.h"
-
-
-#include "goldfish_vk_extension_structs_guest.h"
-#include "goldfish_vk_private_defs.h"
-
-
-namespace goldfish_vk {
-
-void handlemap_extension_struct(
- VulkanHandleMapping* handlemap,
- void* structExtension_out);
-
-#ifdef VK_VERSION_1_0
-void handlemap_VkApplicationInfo(
- VulkanHandleMapping* handlemap,
- VkApplicationInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkInstanceCreateInfo(
- VulkanHandleMapping* handlemap,
- VkInstanceCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- if (toMap->pApplicationInfo)
- {
- handlemap_VkApplicationInfo(handlemap, (VkApplicationInfo*)(toMap->pApplicationInfo));
- }
-}
-
-void handlemap_VkAllocationCallbacks(
- VulkanHandleMapping* handlemap,
- VkAllocationCallbacks* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkPhysicalDeviceFeatures(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceFeatures* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkFormatProperties(
- VulkanHandleMapping* handlemap,
- VkFormatProperties* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkExtent3D(
- VulkanHandleMapping* handlemap,
- VkExtent3D* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkImageFormatProperties(
- VulkanHandleMapping* handlemap,
- VkImageFormatProperties* toMap)
-{
- (void)handlemap;
- (void)toMap;
- handlemap_VkExtent3D(handlemap, (VkExtent3D*)(&toMap->maxExtent));
-}
-
-void handlemap_VkPhysicalDeviceLimits(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceLimits* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkPhysicalDeviceSparseProperties(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceSparseProperties* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkPhysicalDeviceProperties(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceProperties* toMap)
-{
- (void)handlemap;
- (void)toMap;
- handlemap_VkPhysicalDeviceLimits(handlemap, (VkPhysicalDeviceLimits*)(&toMap->limits));
- handlemap_VkPhysicalDeviceSparseProperties(handlemap, (VkPhysicalDeviceSparseProperties*)(&toMap->sparseProperties));
-}
-
-void handlemap_VkQueueFamilyProperties(
- VulkanHandleMapping* handlemap,
- VkQueueFamilyProperties* toMap)
-{
- (void)handlemap;
- (void)toMap;
- handlemap_VkExtent3D(handlemap, (VkExtent3D*)(&toMap->minImageTransferGranularity));
-}
-
-void handlemap_VkMemoryType(
- VulkanHandleMapping* handlemap,
- VkMemoryType* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkMemoryHeap(
- VulkanHandleMapping* handlemap,
- VkMemoryHeap* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkPhysicalDeviceMemoryProperties(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceMemoryProperties* toMap)
-{
- (void)handlemap;
- (void)toMap;
- for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_TYPES; ++i)
- {
- handlemap_VkMemoryType(handlemap, (VkMemoryType*)(toMap->memoryTypes + i));
- }
- for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_HEAPS; ++i)
- {
- handlemap_VkMemoryHeap(handlemap, (VkMemoryHeap*)(toMap->memoryHeaps + i));
- }
-}
-
-void handlemap_VkDeviceQueueCreateInfo(
- VulkanHandleMapping* handlemap,
- VkDeviceQueueCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkDeviceCreateInfo(
- VulkanHandleMapping* handlemap,
- VkDeviceCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- if (toMap->pQueueCreateInfos)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->queueCreateInfoCount; ++i)
- {
- handlemap_VkDeviceQueueCreateInfo(handlemap, (VkDeviceQueueCreateInfo*)(toMap->pQueueCreateInfos + i));
- }
- }
- if (toMap->pEnabledFeatures)
- {
- handlemap_VkPhysicalDeviceFeatures(handlemap, (VkPhysicalDeviceFeatures*)(toMap->pEnabledFeatures));
- }
-}
-
-void handlemap_VkExtensionProperties(
- VulkanHandleMapping* handlemap,
- VkExtensionProperties* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkLayerProperties(
- VulkanHandleMapping* handlemap,
- VkLayerProperties* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkSubmitInfo(
- VulkanHandleMapping* handlemap,
- VkSubmitInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- if (toMap->pWaitSemaphores)
- {
- handlemap->mapHandles_VkSemaphore((VkSemaphore*)toMap->pWaitSemaphores, toMap->waitSemaphoreCount);
- }
- if (toMap->pCommandBuffers)
- {
- handlemap->mapHandles_VkCommandBuffer((VkCommandBuffer*)toMap->pCommandBuffers, toMap->commandBufferCount);
- }
- if (toMap->pSignalSemaphores)
- {
- handlemap->mapHandles_VkSemaphore((VkSemaphore*)toMap->pSignalSemaphores, toMap->signalSemaphoreCount);
- }
-}
-
-void handlemap_VkMemoryAllocateInfo(
- VulkanHandleMapping* handlemap,
- VkMemoryAllocateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkMappedMemoryRange(
- VulkanHandleMapping* handlemap,
- VkMappedMemoryRange* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkDeviceMemory((VkDeviceMemory*)&toMap->memory);
-}
-
-void handlemap_VkMemoryRequirements(
- VulkanHandleMapping* handlemap,
- VkMemoryRequirements* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkSparseImageFormatProperties(
- VulkanHandleMapping* handlemap,
- VkSparseImageFormatProperties* toMap)
-{
- (void)handlemap;
- (void)toMap;
- handlemap_VkExtent3D(handlemap, (VkExtent3D*)(&toMap->imageGranularity));
-}
-
-void handlemap_VkSparseImageMemoryRequirements(
- VulkanHandleMapping* handlemap,
- VkSparseImageMemoryRequirements* toMap)
-{
- (void)handlemap;
- (void)toMap;
- handlemap_VkSparseImageFormatProperties(handlemap, (VkSparseImageFormatProperties*)(&toMap->formatProperties));
-}
-
-void handlemap_VkSparseMemoryBind(
- VulkanHandleMapping* handlemap,
- VkSparseMemoryBind* toMap)
-{
- (void)handlemap;
- (void)toMap;
- handlemap->mapHandles_VkDeviceMemory((VkDeviceMemory*)&toMap->memory);
-}
-
-void handlemap_VkSparseBufferMemoryBindInfo(
- VulkanHandleMapping* handlemap,
- VkSparseBufferMemoryBindInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- handlemap->mapHandles_VkBuffer((VkBuffer*)&toMap->buffer);
- if (toMap->pBinds)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->bindCount; ++i)
- {
- handlemap_VkSparseMemoryBind(handlemap, (VkSparseMemoryBind*)(toMap->pBinds + i));
- }
- }
-}
-
-void handlemap_VkSparseImageOpaqueMemoryBindInfo(
- VulkanHandleMapping* handlemap,
- VkSparseImageOpaqueMemoryBindInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- handlemap->mapHandles_VkImage((VkImage*)&toMap->image);
- if (toMap->pBinds)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->bindCount; ++i)
- {
- handlemap_VkSparseMemoryBind(handlemap, (VkSparseMemoryBind*)(toMap->pBinds + i));
- }
- }
-}
-
-void handlemap_VkImageSubresource(
- VulkanHandleMapping* handlemap,
- VkImageSubresource* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkOffset3D(
- VulkanHandleMapping* handlemap,
- VkOffset3D* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkSparseImageMemoryBind(
- VulkanHandleMapping* handlemap,
- VkSparseImageMemoryBind* toMap)
-{
- (void)handlemap;
- (void)toMap;
- handlemap_VkImageSubresource(handlemap, (VkImageSubresource*)(&toMap->subresource));
- handlemap_VkOffset3D(handlemap, (VkOffset3D*)(&toMap->offset));
- handlemap_VkExtent3D(handlemap, (VkExtent3D*)(&toMap->extent));
- handlemap->mapHandles_VkDeviceMemory((VkDeviceMemory*)&toMap->memory);
-}
-
-void handlemap_VkSparseImageMemoryBindInfo(
- VulkanHandleMapping* handlemap,
- VkSparseImageMemoryBindInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- handlemap->mapHandles_VkImage((VkImage*)&toMap->image);
- if (toMap->pBinds)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->bindCount; ++i)
- {
- handlemap_VkSparseImageMemoryBind(handlemap, (VkSparseImageMemoryBind*)(toMap->pBinds + i));
- }
- }
-}
-
-void handlemap_VkBindSparseInfo(
- VulkanHandleMapping* handlemap,
- VkBindSparseInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- if (toMap->pWaitSemaphores)
- {
- handlemap->mapHandles_VkSemaphore((VkSemaphore*)toMap->pWaitSemaphores, toMap->waitSemaphoreCount);
- }
- if (toMap->pBufferBinds)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->bufferBindCount; ++i)
- {
- handlemap_VkSparseBufferMemoryBindInfo(handlemap, (VkSparseBufferMemoryBindInfo*)(toMap->pBufferBinds + i));
- }
- }
- if (toMap->pImageOpaqueBinds)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->imageOpaqueBindCount; ++i)
- {
- handlemap_VkSparseImageOpaqueMemoryBindInfo(handlemap, (VkSparseImageOpaqueMemoryBindInfo*)(toMap->pImageOpaqueBinds + i));
- }
- }
- if (toMap->pImageBinds)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->imageBindCount; ++i)
- {
- handlemap_VkSparseImageMemoryBindInfo(handlemap, (VkSparseImageMemoryBindInfo*)(toMap->pImageBinds + i));
- }
- }
- if (toMap->pSignalSemaphores)
- {
- handlemap->mapHandles_VkSemaphore((VkSemaphore*)toMap->pSignalSemaphores, toMap->signalSemaphoreCount);
- }
-}
-
-void handlemap_VkFenceCreateInfo(
- VulkanHandleMapping* handlemap,
- VkFenceCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkSemaphoreCreateInfo(
- VulkanHandleMapping* handlemap,
- VkSemaphoreCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkEventCreateInfo(
- VulkanHandleMapping* handlemap,
- VkEventCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkQueryPoolCreateInfo(
- VulkanHandleMapping* handlemap,
- VkQueryPoolCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkBufferCreateInfo(
- VulkanHandleMapping* handlemap,
- VkBufferCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkBufferViewCreateInfo(
- VulkanHandleMapping* handlemap,
- VkBufferViewCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkBuffer((VkBuffer*)&toMap->buffer);
-}
-
-void handlemap_VkImageCreateInfo(
- VulkanHandleMapping* handlemap,
- VkImageCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap_VkExtent3D(handlemap, (VkExtent3D*)(&toMap->extent));
-}
-
-void handlemap_VkSubresourceLayout(
- VulkanHandleMapping* handlemap,
- VkSubresourceLayout* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkComponentMapping(
- VulkanHandleMapping* handlemap,
- VkComponentMapping* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkImageSubresourceRange(
- VulkanHandleMapping* handlemap,
- VkImageSubresourceRange* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkImageViewCreateInfo(
- VulkanHandleMapping* handlemap,
- VkImageViewCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkImage((VkImage*)&toMap->image);
- handlemap_VkComponentMapping(handlemap, (VkComponentMapping*)(&toMap->components));
- handlemap_VkImageSubresourceRange(handlemap, (VkImageSubresourceRange*)(&toMap->subresourceRange));
-}
-
-void handlemap_VkShaderModuleCreateInfo(
- VulkanHandleMapping* handlemap,
- VkShaderModuleCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkPipelineCacheCreateInfo(
- VulkanHandleMapping* handlemap,
- VkPipelineCacheCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkSpecializationMapEntry(
- VulkanHandleMapping* handlemap,
- VkSpecializationMapEntry* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkSpecializationInfo(
- VulkanHandleMapping* handlemap,
- VkSpecializationInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pMapEntries)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->mapEntryCount; ++i)
- {
- handlemap_VkSpecializationMapEntry(handlemap, (VkSpecializationMapEntry*)(toMap->pMapEntries + i));
- }
- }
-}
-
-void handlemap_VkPipelineShaderStageCreateInfo(
- VulkanHandleMapping* handlemap,
- VkPipelineShaderStageCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkShaderModule((VkShaderModule*)&toMap->module);
- if (toMap->pSpecializationInfo)
- {
- handlemap_VkSpecializationInfo(handlemap, (VkSpecializationInfo*)(toMap->pSpecializationInfo));
- }
-}
-
-void handlemap_VkVertexInputBindingDescription(
- VulkanHandleMapping* handlemap,
- VkVertexInputBindingDescription* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkVertexInputAttributeDescription(
- VulkanHandleMapping* handlemap,
- VkVertexInputAttributeDescription* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkPipelineVertexInputStateCreateInfo(
- VulkanHandleMapping* handlemap,
- VkPipelineVertexInputStateCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- if (toMap->pVertexBindingDescriptions)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->vertexBindingDescriptionCount; ++i)
- {
- handlemap_VkVertexInputBindingDescription(handlemap, (VkVertexInputBindingDescription*)(toMap->pVertexBindingDescriptions + i));
- }
- }
- if (toMap->pVertexAttributeDescriptions)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->vertexAttributeDescriptionCount; ++i)
- {
- handlemap_VkVertexInputAttributeDescription(handlemap, (VkVertexInputAttributeDescription*)(toMap->pVertexAttributeDescriptions + i));
- }
- }
-}
-
-void handlemap_VkPipelineInputAssemblyStateCreateInfo(
- VulkanHandleMapping* handlemap,
- VkPipelineInputAssemblyStateCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkPipelineTessellationStateCreateInfo(
- VulkanHandleMapping* handlemap,
- VkPipelineTessellationStateCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkViewport(
- VulkanHandleMapping* handlemap,
- VkViewport* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkOffset2D(
- VulkanHandleMapping* handlemap,
- VkOffset2D* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkExtent2D(
- VulkanHandleMapping* handlemap,
- VkExtent2D* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkRect2D(
- VulkanHandleMapping* handlemap,
- VkRect2D* toMap)
-{
- (void)handlemap;
- (void)toMap;
- handlemap_VkOffset2D(handlemap, (VkOffset2D*)(&toMap->offset));
- handlemap_VkExtent2D(handlemap, (VkExtent2D*)(&toMap->extent));
-}
-
-void handlemap_VkPipelineViewportStateCreateInfo(
- VulkanHandleMapping* handlemap,
- VkPipelineViewportStateCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- if (toMap->pViewports)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->viewportCount; ++i)
- {
- handlemap_VkViewport(handlemap, (VkViewport*)(toMap->pViewports + i));
- }
- }
- if (toMap->pScissors)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->scissorCount; ++i)
- {
- handlemap_VkRect2D(handlemap, (VkRect2D*)(toMap->pScissors + i));
- }
- }
-}
-
-void handlemap_VkPipelineRasterizationStateCreateInfo(
- VulkanHandleMapping* handlemap,
- VkPipelineRasterizationStateCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkPipelineMultisampleStateCreateInfo(
- VulkanHandleMapping* handlemap,
- VkPipelineMultisampleStateCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkStencilOpState(
- VulkanHandleMapping* handlemap,
- VkStencilOpState* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkPipelineDepthStencilStateCreateInfo(
- VulkanHandleMapping* handlemap,
- VkPipelineDepthStencilStateCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap_VkStencilOpState(handlemap, (VkStencilOpState*)(&toMap->front));
- handlemap_VkStencilOpState(handlemap, (VkStencilOpState*)(&toMap->back));
-}
-
-void handlemap_VkPipelineColorBlendAttachmentState(
- VulkanHandleMapping* handlemap,
- VkPipelineColorBlendAttachmentState* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkPipelineColorBlendStateCreateInfo(
- VulkanHandleMapping* handlemap,
- VkPipelineColorBlendStateCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- if (toMap->pAttachments)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->attachmentCount; ++i)
- {
- handlemap_VkPipelineColorBlendAttachmentState(handlemap, (VkPipelineColorBlendAttachmentState*)(toMap->pAttachments + i));
- }
- }
-}
-
-void handlemap_VkPipelineDynamicStateCreateInfo(
- VulkanHandleMapping* handlemap,
- VkPipelineDynamicStateCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkGraphicsPipelineCreateInfo(
- VulkanHandleMapping* handlemap,
- VkGraphicsPipelineCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- if (toMap->pStages)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->stageCount; ++i)
- {
- handlemap_VkPipelineShaderStageCreateInfo(handlemap, (VkPipelineShaderStageCreateInfo*)(toMap->pStages + i));
- }
- }
- if (toMap->pVertexInputState)
- {
- handlemap_VkPipelineVertexInputStateCreateInfo(handlemap, (VkPipelineVertexInputStateCreateInfo*)(toMap->pVertexInputState));
- }
- if (toMap->pInputAssemblyState)
- {
- handlemap_VkPipelineInputAssemblyStateCreateInfo(handlemap, (VkPipelineInputAssemblyStateCreateInfo*)(toMap->pInputAssemblyState));
- }
- if (toMap->pTessellationState)
- {
- handlemap_VkPipelineTessellationStateCreateInfo(handlemap, (VkPipelineTessellationStateCreateInfo*)(toMap->pTessellationState));
- }
- if (toMap->pViewportState)
- {
- handlemap_VkPipelineViewportStateCreateInfo(handlemap, (VkPipelineViewportStateCreateInfo*)(toMap->pViewportState));
- }
- if (toMap->pRasterizationState)
- {
- handlemap_VkPipelineRasterizationStateCreateInfo(handlemap, (VkPipelineRasterizationStateCreateInfo*)(toMap->pRasterizationState));
- }
- if (toMap->pMultisampleState)
- {
- handlemap_VkPipelineMultisampleStateCreateInfo(handlemap, (VkPipelineMultisampleStateCreateInfo*)(toMap->pMultisampleState));
- }
- if (toMap->pDepthStencilState)
- {
- handlemap_VkPipelineDepthStencilStateCreateInfo(handlemap, (VkPipelineDepthStencilStateCreateInfo*)(toMap->pDepthStencilState));
- }
- if (toMap->pColorBlendState)
- {
- handlemap_VkPipelineColorBlendStateCreateInfo(handlemap, (VkPipelineColorBlendStateCreateInfo*)(toMap->pColorBlendState));
- }
- if (toMap->pDynamicState)
- {
- handlemap_VkPipelineDynamicStateCreateInfo(handlemap, (VkPipelineDynamicStateCreateInfo*)(toMap->pDynamicState));
- }
- handlemap->mapHandles_VkPipelineLayout((VkPipelineLayout*)&toMap->layout);
- handlemap->mapHandles_VkRenderPass((VkRenderPass*)&toMap->renderPass);
- handlemap->mapHandles_VkPipeline((VkPipeline*)&toMap->basePipelineHandle);
-}
-
-void handlemap_VkComputePipelineCreateInfo(
- VulkanHandleMapping* handlemap,
- VkComputePipelineCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap_VkPipelineShaderStageCreateInfo(handlemap, (VkPipelineShaderStageCreateInfo*)(&toMap->stage));
- handlemap->mapHandles_VkPipelineLayout((VkPipelineLayout*)&toMap->layout);
- handlemap->mapHandles_VkPipeline((VkPipeline*)&toMap->basePipelineHandle);
-}
-
-void handlemap_VkPushConstantRange(
- VulkanHandleMapping* handlemap,
- VkPushConstantRange* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkPipelineLayoutCreateInfo(
- VulkanHandleMapping* handlemap,
- VkPipelineLayoutCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- if (toMap->pSetLayouts)
- {
- handlemap->mapHandles_VkDescriptorSetLayout((VkDescriptorSetLayout*)toMap->pSetLayouts, toMap->setLayoutCount);
- }
- if (toMap->pPushConstantRanges)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->pushConstantRangeCount; ++i)
- {
- handlemap_VkPushConstantRange(handlemap, (VkPushConstantRange*)(toMap->pPushConstantRanges + i));
- }
- }
-}
-
-void handlemap_VkSamplerCreateInfo(
- VulkanHandleMapping* handlemap,
- VkSamplerCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkDescriptorSetLayoutBinding(
- VulkanHandleMapping* handlemap,
- VkDescriptorSetLayoutBinding* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pImmutableSamplers)
- {
- handlemap->mapHandles_VkSampler((VkSampler*)toMap->pImmutableSamplers, toMap->descriptorCount);
- }
-}
-
-void handlemap_VkDescriptorSetLayoutCreateInfo(
- VulkanHandleMapping* handlemap,
- VkDescriptorSetLayoutCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- if (toMap->pBindings)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->bindingCount; ++i)
- {
- handlemap_VkDescriptorSetLayoutBinding(handlemap, (VkDescriptorSetLayoutBinding*)(toMap->pBindings + i));
- }
- }
-}
-
-void handlemap_VkDescriptorPoolSize(
- VulkanHandleMapping* handlemap,
- VkDescriptorPoolSize* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkDescriptorPoolCreateInfo(
- VulkanHandleMapping* handlemap,
- VkDescriptorPoolCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- if (toMap->pPoolSizes)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->poolSizeCount; ++i)
- {
- handlemap_VkDescriptorPoolSize(handlemap, (VkDescriptorPoolSize*)(toMap->pPoolSizes + i));
- }
- }
-}
-
-void handlemap_VkDescriptorSetAllocateInfo(
- VulkanHandleMapping* handlemap,
- VkDescriptorSetAllocateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkDescriptorPool((VkDescriptorPool*)&toMap->descriptorPool);
- if (toMap->pSetLayouts)
- {
- handlemap->mapHandles_VkDescriptorSetLayout((VkDescriptorSetLayout*)toMap->pSetLayouts, toMap->descriptorSetCount);
- }
-}
-
-void handlemap_VkDescriptorImageInfo(
- VulkanHandleMapping* handlemap,
- VkDescriptorImageInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- handlemap->mapHandles_VkSampler((VkSampler*)&toMap->sampler);
- handlemap->mapHandles_VkImageView((VkImageView*)&toMap->imageView);
-}
-
-void handlemap_VkDescriptorBufferInfo(
- VulkanHandleMapping* handlemap,
- VkDescriptorBufferInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- handlemap->mapHandles_VkBuffer((VkBuffer*)&toMap->buffer);
-}
-
-void handlemap_VkWriteDescriptorSet(
- VulkanHandleMapping* handlemap,
- VkWriteDescriptorSet* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkDescriptorSet((VkDescriptorSet*)&toMap->dstSet);
- if (toMap->pImageInfo)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->descriptorCount; ++i)
- {
- handlemap_VkDescriptorImageInfo(handlemap, (VkDescriptorImageInfo*)(toMap->pImageInfo + i));
- }
- }
- if (toMap->pBufferInfo)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->descriptorCount; ++i)
- {
- handlemap_VkDescriptorBufferInfo(handlemap, (VkDescriptorBufferInfo*)(toMap->pBufferInfo + i));
- }
- }
- if (toMap->pTexelBufferView)
- {
- handlemap->mapHandles_VkBufferView((VkBufferView*)toMap->pTexelBufferView, toMap->descriptorCount);
- }
-}
-
-void handlemap_VkCopyDescriptorSet(
- VulkanHandleMapping* handlemap,
- VkCopyDescriptorSet* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkDescriptorSet((VkDescriptorSet*)&toMap->srcSet);
- handlemap->mapHandles_VkDescriptorSet((VkDescriptorSet*)&toMap->dstSet);
-}
-
-void handlemap_VkFramebufferCreateInfo(
- VulkanHandleMapping* handlemap,
- VkFramebufferCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkRenderPass((VkRenderPass*)&toMap->renderPass);
- if (toMap->pAttachments)
- {
- handlemap->mapHandles_VkImageView((VkImageView*)toMap->pAttachments, toMap->attachmentCount);
- }
-}
-
-void handlemap_VkAttachmentDescription(
- VulkanHandleMapping* handlemap,
- VkAttachmentDescription* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkAttachmentReference(
- VulkanHandleMapping* handlemap,
- VkAttachmentReference* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkSubpassDescription(
- VulkanHandleMapping* handlemap,
- VkSubpassDescription* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pInputAttachments)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->inputAttachmentCount; ++i)
- {
- handlemap_VkAttachmentReference(handlemap, (VkAttachmentReference*)(toMap->pInputAttachments + i));
- }
- }
- if (toMap->pColorAttachments)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->colorAttachmentCount; ++i)
- {
- handlemap_VkAttachmentReference(handlemap, (VkAttachmentReference*)(toMap->pColorAttachments + i));
- }
- }
- if (toMap->pResolveAttachments)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->colorAttachmentCount; ++i)
- {
- handlemap_VkAttachmentReference(handlemap, (VkAttachmentReference*)(toMap->pResolveAttachments + i));
- }
- }
- if (toMap->pDepthStencilAttachment)
- {
- handlemap_VkAttachmentReference(handlemap, (VkAttachmentReference*)(toMap->pDepthStencilAttachment));
- }
-}
-
-void handlemap_VkSubpassDependency(
- VulkanHandleMapping* handlemap,
- VkSubpassDependency* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkRenderPassCreateInfo(
- VulkanHandleMapping* handlemap,
- VkRenderPassCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- if (toMap->pAttachments)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->attachmentCount; ++i)
- {
- handlemap_VkAttachmentDescription(handlemap, (VkAttachmentDescription*)(toMap->pAttachments + i));
- }
- }
- if (toMap->pSubpasses)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->subpassCount; ++i)
- {
- handlemap_VkSubpassDescription(handlemap, (VkSubpassDescription*)(toMap->pSubpasses + i));
- }
- }
- if (toMap->pDependencies)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->dependencyCount; ++i)
- {
- handlemap_VkSubpassDependency(handlemap, (VkSubpassDependency*)(toMap->pDependencies + i));
- }
- }
-}
-
-void handlemap_VkCommandPoolCreateInfo(
- VulkanHandleMapping* handlemap,
- VkCommandPoolCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkCommandBufferAllocateInfo(
- VulkanHandleMapping* handlemap,
- VkCommandBufferAllocateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkCommandPool((VkCommandPool*)&toMap->commandPool);
-}
-
-void handlemap_VkCommandBufferInheritanceInfo(
- VulkanHandleMapping* handlemap,
- VkCommandBufferInheritanceInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkRenderPass((VkRenderPass*)&toMap->renderPass);
- handlemap->mapHandles_VkFramebuffer((VkFramebuffer*)&toMap->framebuffer);
-}
-
-void handlemap_VkCommandBufferBeginInfo(
- VulkanHandleMapping* handlemap,
- VkCommandBufferBeginInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- if (toMap->pInheritanceInfo)
- {
- handlemap_VkCommandBufferInheritanceInfo(handlemap, (VkCommandBufferInheritanceInfo*)(toMap->pInheritanceInfo));
- }
-}
-
-void handlemap_VkBufferCopy(
- VulkanHandleMapping* handlemap,
- VkBufferCopy* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkImageSubresourceLayers(
- VulkanHandleMapping* handlemap,
- VkImageSubresourceLayers* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkImageCopy(
- VulkanHandleMapping* handlemap,
- VkImageCopy* toMap)
-{
- (void)handlemap;
- (void)toMap;
- handlemap_VkImageSubresourceLayers(handlemap, (VkImageSubresourceLayers*)(&toMap->srcSubresource));
- handlemap_VkOffset3D(handlemap, (VkOffset3D*)(&toMap->srcOffset));
- handlemap_VkImageSubresourceLayers(handlemap, (VkImageSubresourceLayers*)(&toMap->dstSubresource));
- handlemap_VkOffset3D(handlemap, (VkOffset3D*)(&toMap->dstOffset));
- handlemap_VkExtent3D(handlemap, (VkExtent3D*)(&toMap->extent));
-}
-
-void handlemap_VkImageBlit(
- VulkanHandleMapping* handlemap,
- VkImageBlit* toMap)
-{
- (void)handlemap;
- (void)toMap;
- handlemap_VkImageSubresourceLayers(handlemap, (VkImageSubresourceLayers*)(&toMap->srcSubresource));
- for (uint32_t i = 0; i < (uint32_t)2; ++i)
- {
- handlemap_VkOffset3D(handlemap, (VkOffset3D*)(toMap->srcOffsets + i));
- }
- handlemap_VkImageSubresourceLayers(handlemap, (VkImageSubresourceLayers*)(&toMap->dstSubresource));
- for (uint32_t i = 0; i < (uint32_t)2; ++i)
- {
- handlemap_VkOffset3D(handlemap, (VkOffset3D*)(toMap->dstOffsets + i));
- }
-}
-
-void handlemap_VkBufferImageCopy(
- VulkanHandleMapping* handlemap,
- VkBufferImageCopy* toMap)
-{
- (void)handlemap;
- (void)toMap;
- handlemap_VkImageSubresourceLayers(handlemap, (VkImageSubresourceLayers*)(&toMap->imageSubresource));
- handlemap_VkOffset3D(handlemap, (VkOffset3D*)(&toMap->imageOffset));
- handlemap_VkExtent3D(handlemap, (VkExtent3D*)(&toMap->imageExtent));
-}
-
-void handlemap_VkClearColorValue(
- VulkanHandleMapping* handlemap,
- VkClearColorValue* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkClearDepthStencilValue(
- VulkanHandleMapping* handlemap,
- VkClearDepthStencilValue* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkClearValue(
- VulkanHandleMapping* handlemap,
- VkClearValue* toMap)
-{
- (void)handlemap;
- (void)toMap;
- handlemap_VkClearColorValue(handlemap, (VkClearColorValue*)(&toMap->color));
- handlemap_VkClearDepthStencilValue(handlemap, (VkClearDepthStencilValue*)(&toMap->depthStencil));
-}
-
-void handlemap_VkClearAttachment(
- VulkanHandleMapping* handlemap,
- VkClearAttachment* toMap)
-{
- (void)handlemap;
- (void)toMap;
- handlemap_VkClearValue(handlemap, (VkClearValue*)(&toMap->clearValue));
-}
-
-void handlemap_VkClearRect(
- VulkanHandleMapping* handlemap,
- VkClearRect* toMap)
-{
- (void)handlemap;
- (void)toMap;
- handlemap_VkRect2D(handlemap, (VkRect2D*)(&toMap->rect));
-}
-
-void handlemap_VkImageResolve(
- VulkanHandleMapping* handlemap,
- VkImageResolve* toMap)
-{
- (void)handlemap;
- (void)toMap;
- handlemap_VkImageSubresourceLayers(handlemap, (VkImageSubresourceLayers*)(&toMap->srcSubresource));
- handlemap_VkOffset3D(handlemap, (VkOffset3D*)(&toMap->srcOffset));
- handlemap_VkImageSubresourceLayers(handlemap, (VkImageSubresourceLayers*)(&toMap->dstSubresource));
- handlemap_VkOffset3D(handlemap, (VkOffset3D*)(&toMap->dstOffset));
- handlemap_VkExtent3D(handlemap, (VkExtent3D*)(&toMap->extent));
-}
-
-void handlemap_VkMemoryBarrier(
- VulkanHandleMapping* handlemap,
- VkMemoryBarrier* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkBufferMemoryBarrier(
- VulkanHandleMapping* handlemap,
- VkBufferMemoryBarrier* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkBuffer((VkBuffer*)&toMap->buffer);
-}
-
-void handlemap_VkImageMemoryBarrier(
- VulkanHandleMapping* handlemap,
- VkImageMemoryBarrier* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkImage((VkImage*)&toMap->image);
- handlemap_VkImageSubresourceRange(handlemap, (VkImageSubresourceRange*)(&toMap->subresourceRange));
-}
-
-void handlemap_VkRenderPassBeginInfo(
- VulkanHandleMapping* handlemap,
- VkRenderPassBeginInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkRenderPass((VkRenderPass*)&toMap->renderPass);
- handlemap->mapHandles_VkFramebuffer((VkFramebuffer*)&toMap->framebuffer);
- handlemap_VkRect2D(handlemap, (VkRect2D*)(&toMap->renderArea));
- if (toMap->pClearValues)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->clearValueCount; ++i)
- {
- handlemap_VkClearValue(handlemap, (VkClearValue*)(toMap->pClearValues + i));
- }
- }
-}
-
-void handlemap_VkDispatchIndirectCommand(
- VulkanHandleMapping* handlemap,
- VkDispatchIndirectCommand* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkDrawIndexedIndirectCommand(
- VulkanHandleMapping* handlemap,
- VkDrawIndexedIndirectCommand* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkDrawIndirectCommand(
- VulkanHandleMapping* handlemap,
- VkDrawIndirectCommand* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkBaseOutStructure(
- VulkanHandleMapping* handlemap,
- VkBaseOutStructure* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkBaseInStructure(
- VulkanHandleMapping* handlemap,
- VkBaseInStructure* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_VERSION_1_1
-void handlemap_VkPhysicalDeviceSubgroupProperties(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceSubgroupProperties* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkBindBufferMemoryInfo(
- VulkanHandleMapping* handlemap,
- VkBindBufferMemoryInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkBuffer((VkBuffer*)&toMap->buffer);
- handlemap->mapHandles_VkDeviceMemory((VkDeviceMemory*)&toMap->memory);
-}
-
-void handlemap_VkBindImageMemoryInfo(
- VulkanHandleMapping* handlemap,
- VkBindImageMemoryInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkImage((VkImage*)&toMap->image);
- handlemap->mapHandles_VkDeviceMemory((VkDeviceMemory*)&toMap->memory);
-}
-
-void handlemap_VkPhysicalDevice16BitStorageFeatures(
- VulkanHandleMapping* handlemap,
- VkPhysicalDevice16BitStorageFeatures* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkMemoryDedicatedRequirements(
- VulkanHandleMapping* handlemap,
- VkMemoryDedicatedRequirements* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkMemoryDedicatedAllocateInfo(
- VulkanHandleMapping* handlemap,
- VkMemoryDedicatedAllocateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkImage((VkImage*)&toMap->image);
- handlemap->mapHandles_VkBuffer((VkBuffer*)&toMap->buffer);
-}
-
-void handlemap_VkMemoryAllocateFlagsInfo(
- VulkanHandleMapping* handlemap,
- VkMemoryAllocateFlagsInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkDeviceGroupRenderPassBeginInfo(
- VulkanHandleMapping* handlemap,
- VkDeviceGroupRenderPassBeginInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- if (toMap->pDeviceRenderAreas)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->deviceRenderAreaCount; ++i)
- {
- handlemap_VkRect2D(handlemap, (VkRect2D*)(toMap->pDeviceRenderAreas + i));
- }
- }
-}
-
-void handlemap_VkDeviceGroupCommandBufferBeginInfo(
- VulkanHandleMapping* handlemap,
- VkDeviceGroupCommandBufferBeginInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkDeviceGroupSubmitInfo(
- VulkanHandleMapping* handlemap,
- VkDeviceGroupSubmitInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkDeviceGroupBindSparseInfo(
- VulkanHandleMapping* handlemap,
- VkDeviceGroupBindSparseInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkBindBufferMemoryDeviceGroupInfo(
- VulkanHandleMapping* handlemap,
- VkBindBufferMemoryDeviceGroupInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkBindImageMemoryDeviceGroupInfo(
- VulkanHandleMapping* handlemap,
- VkBindImageMemoryDeviceGroupInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- if (toMap->pSplitInstanceBindRegions)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->splitInstanceBindRegionCount; ++i)
- {
- handlemap_VkRect2D(handlemap, (VkRect2D*)(toMap->pSplitInstanceBindRegions + i));
- }
- }
-}
-
-void handlemap_VkPhysicalDeviceGroupProperties(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceGroupProperties* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkPhysicalDevice((VkPhysicalDevice*)toMap->physicalDevices, VK_MAX_DEVICE_GROUP_SIZE);
-}
-
-void handlemap_VkDeviceGroupDeviceCreateInfo(
- VulkanHandleMapping* handlemap,
- VkDeviceGroupDeviceCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- if (toMap->pPhysicalDevices)
- {
- handlemap->mapHandles_VkPhysicalDevice((VkPhysicalDevice*)toMap->pPhysicalDevices, toMap->physicalDeviceCount);
- }
-}
-
-void handlemap_VkBufferMemoryRequirementsInfo2(
- VulkanHandleMapping* handlemap,
- VkBufferMemoryRequirementsInfo2* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkBuffer((VkBuffer*)&toMap->buffer);
-}
-
-void handlemap_VkImageMemoryRequirementsInfo2(
- VulkanHandleMapping* handlemap,
- VkImageMemoryRequirementsInfo2* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkImage((VkImage*)&toMap->image);
-}
-
-void handlemap_VkImageSparseMemoryRequirementsInfo2(
- VulkanHandleMapping* handlemap,
- VkImageSparseMemoryRequirementsInfo2* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkImage((VkImage*)&toMap->image);
-}
-
-void handlemap_VkMemoryRequirements2(
- VulkanHandleMapping* handlemap,
- VkMemoryRequirements2* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap_VkMemoryRequirements(handlemap, (VkMemoryRequirements*)(&toMap->memoryRequirements));
-}
-
-void handlemap_VkSparseImageMemoryRequirements2(
- VulkanHandleMapping* handlemap,
- VkSparseImageMemoryRequirements2* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap_VkSparseImageMemoryRequirements(handlemap, (VkSparseImageMemoryRequirements*)(&toMap->memoryRequirements));
-}
-
-void handlemap_VkPhysicalDeviceFeatures2(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceFeatures2* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap_VkPhysicalDeviceFeatures(handlemap, (VkPhysicalDeviceFeatures*)(&toMap->features));
-}
-
-void handlemap_VkPhysicalDeviceProperties2(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceProperties2* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap_VkPhysicalDeviceProperties(handlemap, (VkPhysicalDeviceProperties*)(&toMap->properties));
-}
-
-void handlemap_VkFormatProperties2(
- VulkanHandleMapping* handlemap,
- VkFormatProperties2* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap_VkFormatProperties(handlemap, (VkFormatProperties*)(&toMap->formatProperties));
-}
-
-void handlemap_VkImageFormatProperties2(
- VulkanHandleMapping* handlemap,
- VkImageFormatProperties2* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap_VkImageFormatProperties(handlemap, (VkImageFormatProperties*)(&toMap->imageFormatProperties));
-}
-
-void handlemap_VkPhysicalDeviceImageFormatInfo2(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceImageFormatInfo2* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkQueueFamilyProperties2(
- VulkanHandleMapping* handlemap,
- VkQueueFamilyProperties2* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap_VkQueueFamilyProperties(handlemap, (VkQueueFamilyProperties*)(&toMap->queueFamilyProperties));
-}
-
-void handlemap_VkPhysicalDeviceMemoryProperties2(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceMemoryProperties2* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap_VkPhysicalDeviceMemoryProperties(handlemap, (VkPhysicalDeviceMemoryProperties*)(&toMap->memoryProperties));
-}
-
-void handlemap_VkSparseImageFormatProperties2(
- VulkanHandleMapping* handlemap,
- VkSparseImageFormatProperties2* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap_VkSparseImageFormatProperties(handlemap, (VkSparseImageFormatProperties*)(&toMap->properties));
-}
-
-void handlemap_VkPhysicalDeviceSparseImageFormatInfo2(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceSparseImageFormatInfo2* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkPhysicalDevicePointClippingProperties(
- VulkanHandleMapping* handlemap,
- VkPhysicalDevicePointClippingProperties* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkInputAttachmentAspectReference(
- VulkanHandleMapping* handlemap,
- VkInputAttachmentAspectReference* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkRenderPassInputAttachmentAspectCreateInfo(
- VulkanHandleMapping* handlemap,
- VkRenderPassInputAttachmentAspectCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- if (toMap->pAspectReferences)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->aspectReferenceCount; ++i)
- {
- handlemap_VkInputAttachmentAspectReference(handlemap, (VkInputAttachmentAspectReference*)(toMap->pAspectReferences + i));
- }
- }
-}
-
-void handlemap_VkImageViewUsageCreateInfo(
- VulkanHandleMapping* handlemap,
- VkImageViewUsageCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkPipelineTessellationDomainOriginStateCreateInfo(
- VulkanHandleMapping* handlemap,
- VkPipelineTessellationDomainOriginStateCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkRenderPassMultiviewCreateInfo(
- VulkanHandleMapping* handlemap,
- VkRenderPassMultiviewCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkPhysicalDeviceMultiviewFeatures(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceMultiviewFeatures* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkPhysicalDeviceMultiviewProperties(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceMultiviewProperties* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkPhysicalDeviceVariablePointerFeatures(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceVariablePointerFeatures* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkPhysicalDeviceProtectedMemoryFeatures(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceProtectedMemoryFeatures* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkPhysicalDeviceProtectedMemoryProperties(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceProtectedMemoryProperties* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkDeviceQueueInfo2(
- VulkanHandleMapping* handlemap,
- VkDeviceQueueInfo2* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkProtectedSubmitInfo(
- VulkanHandleMapping* handlemap,
- VkProtectedSubmitInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkSamplerYcbcrConversionCreateInfo(
- VulkanHandleMapping* handlemap,
- VkSamplerYcbcrConversionCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap_VkComponentMapping(handlemap, (VkComponentMapping*)(&toMap->components));
-}
-
-void handlemap_VkSamplerYcbcrConversionInfo(
- VulkanHandleMapping* handlemap,
- VkSamplerYcbcrConversionInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkSamplerYcbcrConversion((VkSamplerYcbcrConversion*)&toMap->conversion);
-}
-
-void handlemap_VkBindImagePlaneMemoryInfo(
- VulkanHandleMapping* handlemap,
- VkBindImagePlaneMemoryInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkImagePlaneMemoryRequirementsInfo(
- VulkanHandleMapping* handlemap,
- VkImagePlaneMemoryRequirementsInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceSamplerYcbcrConversionFeatures* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkSamplerYcbcrConversionImageFormatProperties(
- VulkanHandleMapping* handlemap,
- VkSamplerYcbcrConversionImageFormatProperties* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkDescriptorUpdateTemplateEntry(
- VulkanHandleMapping* handlemap,
- VkDescriptorUpdateTemplateEntry* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkDescriptorUpdateTemplateCreateInfo(
- VulkanHandleMapping* handlemap,
- VkDescriptorUpdateTemplateCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- if (toMap->pDescriptorUpdateEntries)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->descriptorUpdateEntryCount; ++i)
- {
- handlemap_VkDescriptorUpdateTemplateEntry(handlemap, (VkDescriptorUpdateTemplateEntry*)(toMap->pDescriptorUpdateEntries + i));
- }
- }
- handlemap->mapHandles_VkDescriptorSetLayout((VkDescriptorSetLayout*)&toMap->descriptorSetLayout);
- handlemap->mapHandles_VkPipelineLayout((VkPipelineLayout*)&toMap->pipelineLayout);
-}
-
-void handlemap_VkExternalMemoryProperties(
- VulkanHandleMapping* handlemap,
- VkExternalMemoryProperties* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkPhysicalDeviceExternalImageFormatInfo(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceExternalImageFormatInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkExternalImageFormatProperties(
- VulkanHandleMapping* handlemap,
- VkExternalImageFormatProperties* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap_VkExternalMemoryProperties(handlemap, (VkExternalMemoryProperties*)(&toMap->externalMemoryProperties));
-}
-
-void handlemap_VkPhysicalDeviceExternalBufferInfo(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceExternalBufferInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkExternalBufferProperties(
- VulkanHandleMapping* handlemap,
- VkExternalBufferProperties* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap_VkExternalMemoryProperties(handlemap, (VkExternalMemoryProperties*)(&toMap->externalMemoryProperties));
-}
-
-void handlemap_VkPhysicalDeviceIDProperties(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceIDProperties* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkExternalMemoryImageCreateInfo(
- VulkanHandleMapping* handlemap,
- VkExternalMemoryImageCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkExternalMemoryBufferCreateInfo(
- VulkanHandleMapping* handlemap,
- VkExternalMemoryBufferCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkExportMemoryAllocateInfo(
- VulkanHandleMapping* handlemap,
- VkExportMemoryAllocateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkPhysicalDeviceExternalFenceInfo(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceExternalFenceInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkExternalFenceProperties(
- VulkanHandleMapping* handlemap,
- VkExternalFenceProperties* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkExportFenceCreateInfo(
- VulkanHandleMapping* handlemap,
- VkExportFenceCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkExportSemaphoreCreateInfo(
- VulkanHandleMapping* handlemap,
- VkExportSemaphoreCreateInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkPhysicalDeviceExternalSemaphoreInfo(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceExternalSemaphoreInfo* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkExternalSemaphoreProperties(
- VulkanHandleMapping* handlemap,
- VkExternalSemaphoreProperties* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkPhysicalDeviceMaintenance3Properties(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceMaintenance3Properties* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkDescriptorSetLayoutSupport(
- VulkanHandleMapping* handlemap,
- VkDescriptorSetLayoutSupport* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkPhysicalDeviceShaderDrawParameterFeatures(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceShaderDrawParameterFeatures* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_surface
-void handlemap_VkSurfaceCapabilitiesKHR(
- VulkanHandleMapping* handlemap,
- VkSurfaceCapabilitiesKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- handlemap_VkExtent2D(handlemap, (VkExtent2D*)(&toMap->currentExtent));
- handlemap_VkExtent2D(handlemap, (VkExtent2D*)(&toMap->minImageExtent));
- handlemap_VkExtent2D(handlemap, (VkExtent2D*)(&toMap->maxImageExtent));
-}
-
-void handlemap_VkSurfaceFormatKHR(
- VulkanHandleMapping* handlemap,
- VkSurfaceFormatKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-#endif
-#ifdef VK_KHR_swapchain
-void handlemap_VkSwapchainCreateInfoKHR(
- VulkanHandleMapping* handlemap,
- VkSwapchainCreateInfoKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkSurfaceKHR((VkSurfaceKHR*)&toMap->surface);
- handlemap_VkExtent2D(handlemap, (VkExtent2D*)(&toMap->imageExtent));
- handlemap->mapHandles_VkSwapchainKHR((VkSwapchainKHR*)&toMap->oldSwapchain);
-}
-
-void handlemap_VkPresentInfoKHR(
- VulkanHandleMapping* handlemap,
- VkPresentInfoKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- if (toMap->pWaitSemaphores)
- {
- handlemap->mapHandles_VkSemaphore((VkSemaphore*)toMap->pWaitSemaphores, toMap->waitSemaphoreCount);
- }
- if (toMap->pSwapchains)
- {
- handlemap->mapHandles_VkSwapchainKHR((VkSwapchainKHR*)toMap->pSwapchains, toMap->swapchainCount);
- }
-}
-
-void handlemap_VkImageSwapchainCreateInfoKHR(
- VulkanHandleMapping* handlemap,
- VkImageSwapchainCreateInfoKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkSwapchainKHR((VkSwapchainKHR*)&toMap->swapchain);
-}
-
-void handlemap_VkBindImageMemorySwapchainInfoKHR(
- VulkanHandleMapping* handlemap,
- VkBindImageMemorySwapchainInfoKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkSwapchainKHR((VkSwapchainKHR*)&toMap->swapchain);
-}
-
-void handlemap_VkAcquireNextImageInfoKHR(
- VulkanHandleMapping* handlemap,
- VkAcquireNextImageInfoKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkSwapchainKHR((VkSwapchainKHR*)&toMap->swapchain);
- handlemap->mapHandles_VkSemaphore((VkSemaphore*)&toMap->semaphore);
- handlemap->mapHandles_VkFence((VkFence*)&toMap->fence);
-}
-
-void handlemap_VkDeviceGroupPresentCapabilitiesKHR(
- VulkanHandleMapping* handlemap,
- VkDeviceGroupPresentCapabilitiesKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkDeviceGroupPresentInfoKHR(
- VulkanHandleMapping* handlemap,
- VkDeviceGroupPresentInfoKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkDeviceGroupSwapchainCreateInfoKHR(
- VulkanHandleMapping* handlemap,
- VkDeviceGroupSwapchainCreateInfoKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_display
-void handlemap_VkDisplayPropertiesKHR(
- VulkanHandleMapping* handlemap,
- VkDisplayPropertiesKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- handlemap->mapHandles_VkDisplayKHR((VkDisplayKHR*)&toMap->display);
- handlemap_VkExtent2D(handlemap, (VkExtent2D*)(&toMap->physicalDimensions));
- handlemap_VkExtent2D(handlemap, (VkExtent2D*)(&toMap->physicalResolution));
-}
-
-void handlemap_VkDisplayModeParametersKHR(
- VulkanHandleMapping* handlemap,
- VkDisplayModeParametersKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- handlemap_VkExtent2D(handlemap, (VkExtent2D*)(&toMap->visibleRegion));
-}
-
-void handlemap_VkDisplayModePropertiesKHR(
- VulkanHandleMapping* handlemap,
- VkDisplayModePropertiesKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- handlemap->mapHandles_VkDisplayModeKHR((VkDisplayModeKHR*)&toMap->displayMode);
- handlemap_VkDisplayModeParametersKHR(handlemap, (VkDisplayModeParametersKHR*)(&toMap->parameters));
-}
-
-void handlemap_VkDisplayModeCreateInfoKHR(
- VulkanHandleMapping* handlemap,
- VkDisplayModeCreateInfoKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap_VkDisplayModeParametersKHR(handlemap, (VkDisplayModeParametersKHR*)(&toMap->parameters));
-}
-
-void handlemap_VkDisplayPlaneCapabilitiesKHR(
- VulkanHandleMapping* handlemap,
- VkDisplayPlaneCapabilitiesKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- handlemap_VkOffset2D(handlemap, (VkOffset2D*)(&toMap->minSrcPosition));
- handlemap_VkOffset2D(handlemap, (VkOffset2D*)(&toMap->maxSrcPosition));
- handlemap_VkExtent2D(handlemap, (VkExtent2D*)(&toMap->minSrcExtent));
- handlemap_VkExtent2D(handlemap, (VkExtent2D*)(&toMap->maxSrcExtent));
- handlemap_VkOffset2D(handlemap, (VkOffset2D*)(&toMap->minDstPosition));
- handlemap_VkOffset2D(handlemap, (VkOffset2D*)(&toMap->maxDstPosition));
- handlemap_VkExtent2D(handlemap, (VkExtent2D*)(&toMap->minDstExtent));
- handlemap_VkExtent2D(handlemap, (VkExtent2D*)(&toMap->maxDstExtent));
-}
-
-void handlemap_VkDisplayPlanePropertiesKHR(
- VulkanHandleMapping* handlemap,
- VkDisplayPlanePropertiesKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- handlemap->mapHandles_VkDisplayKHR((VkDisplayKHR*)&toMap->currentDisplay);
-}
-
-void handlemap_VkDisplaySurfaceCreateInfoKHR(
- VulkanHandleMapping* handlemap,
- VkDisplaySurfaceCreateInfoKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkDisplayModeKHR((VkDisplayModeKHR*)&toMap->displayMode);
- handlemap_VkExtent2D(handlemap, (VkExtent2D*)(&toMap->imageExtent));
-}
-
-#endif
-#ifdef VK_KHR_display_swapchain
-void handlemap_VkDisplayPresentInfoKHR(
- VulkanHandleMapping* handlemap,
- VkDisplayPresentInfoKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap_VkRect2D(handlemap, (VkRect2D*)(&toMap->srcRect));
- handlemap_VkRect2D(handlemap, (VkRect2D*)(&toMap->dstRect));
-}
-
-#endif
-#ifdef VK_KHR_xlib_surface
-void handlemap_VkXlibSurfaceCreateInfoKHR(
- VulkanHandleMapping* handlemap,
- VkXlibSurfaceCreateInfoKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_xcb_surface
-void handlemap_VkXcbSurfaceCreateInfoKHR(
- VulkanHandleMapping* handlemap,
- VkXcbSurfaceCreateInfoKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_wayland_surface
-void handlemap_VkWaylandSurfaceCreateInfoKHR(
- VulkanHandleMapping* handlemap,
- VkWaylandSurfaceCreateInfoKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_mir_surface
-void handlemap_VkMirSurfaceCreateInfoKHR(
- VulkanHandleMapping* handlemap,
- VkMirSurfaceCreateInfoKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_android_surface
-void handlemap_VkAndroidSurfaceCreateInfoKHR(
- VulkanHandleMapping* handlemap,
- VkAndroidSurfaceCreateInfoKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_win32_surface
-void handlemap_VkWin32SurfaceCreateInfoKHR(
- VulkanHandleMapping* handlemap,
- VkWin32SurfaceCreateInfoKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_sampler_mirror_clamp_to_edge
-#endif
-#ifdef VK_KHR_multiview
-#endif
-#ifdef VK_KHR_get_physical_device_properties2
-#endif
-#ifdef VK_KHR_device_group
-#endif
-#ifdef VK_KHR_shader_draw_parameters
-#endif
-#ifdef VK_KHR_maintenance1
-#endif
-#ifdef VK_KHR_device_group_creation
-#endif
-#ifdef VK_KHR_external_memory_capabilities
-#endif
-#ifdef VK_KHR_external_memory
-#endif
-#ifdef VK_KHR_external_memory_win32
-void handlemap_VkImportMemoryWin32HandleInfoKHR(
- VulkanHandleMapping* handlemap,
- VkImportMemoryWin32HandleInfoKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkExportMemoryWin32HandleInfoKHR(
- VulkanHandleMapping* handlemap,
- VkExportMemoryWin32HandleInfoKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkMemoryWin32HandlePropertiesKHR(
- VulkanHandleMapping* handlemap,
- VkMemoryWin32HandlePropertiesKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkMemoryGetWin32HandleInfoKHR(
- VulkanHandleMapping* handlemap,
- VkMemoryGetWin32HandleInfoKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkDeviceMemory((VkDeviceMemory*)&toMap->memory);
-}
-
-#endif
-#ifdef VK_KHR_external_memory_fd
-void handlemap_VkImportMemoryFdInfoKHR(
- VulkanHandleMapping* handlemap,
- VkImportMemoryFdInfoKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkMemoryFdPropertiesKHR(
- VulkanHandleMapping* handlemap,
- VkMemoryFdPropertiesKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkMemoryGetFdInfoKHR(
- VulkanHandleMapping* handlemap,
- VkMemoryGetFdInfoKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkDeviceMemory((VkDeviceMemory*)&toMap->memory);
-}
-
-#endif
-#ifdef VK_KHR_win32_keyed_mutex
-void handlemap_VkWin32KeyedMutexAcquireReleaseInfoKHR(
- VulkanHandleMapping* handlemap,
- VkWin32KeyedMutexAcquireReleaseInfoKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- if (toMap->pAcquireSyncs)
- {
- handlemap->mapHandles_VkDeviceMemory((VkDeviceMemory*)toMap->pAcquireSyncs, toMap->acquireCount);
- }
- if (toMap->pReleaseSyncs)
- {
- handlemap->mapHandles_VkDeviceMemory((VkDeviceMemory*)toMap->pReleaseSyncs, toMap->releaseCount);
- }
-}
-
-#endif
-#ifdef VK_KHR_external_semaphore_capabilities
-#endif
-#ifdef VK_KHR_external_semaphore
-#endif
-#ifdef VK_KHR_external_semaphore_win32
-void handlemap_VkImportSemaphoreWin32HandleInfoKHR(
- VulkanHandleMapping* handlemap,
- VkImportSemaphoreWin32HandleInfoKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkSemaphore((VkSemaphore*)&toMap->semaphore);
-}
-
-void handlemap_VkExportSemaphoreWin32HandleInfoKHR(
- VulkanHandleMapping* handlemap,
- VkExportSemaphoreWin32HandleInfoKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkD3D12FenceSubmitInfoKHR(
- VulkanHandleMapping* handlemap,
- VkD3D12FenceSubmitInfoKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkSemaphoreGetWin32HandleInfoKHR(
- VulkanHandleMapping* handlemap,
- VkSemaphoreGetWin32HandleInfoKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkSemaphore((VkSemaphore*)&toMap->semaphore);
-}
-
-#endif
-#ifdef VK_KHR_external_semaphore_fd
-void handlemap_VkImportSemaphoreFdInfoKHR(
- VulkanHandleMapping* handlemap,
- VkImportSemaphoreFdInfoKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkSemaphore((VkSemaphore*)&toMap->semaphore);
-}
-
-void handlemap_VkSemaphoreGetFdInfoKHR(
- VulkanHandleMapping* handlemap,
- VkSemaphoreGetFdInfoKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkSemaphore((VkSemaphore*)&toMap->semaphore);
-}
-
-#endif
-#ifdef VK_KHR_push_descriptor
-void handlemap_VkPhysicalDevicePushDescriptorPropertiesKHR(
- VulkanHandleMapping* handlemap,
- VkPhysicalDevicePushDescriptorPropertiesKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_16bit_storage
-#endif
-#ifdef VK_KHR_incremental_present
-void handlemap_VkRectLayerKHR(
- VulkanHandleMapping* handlemap,
- VkRectLayerKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- handlemap_VkOffset2D(handlemap, (VkOffset2D*)(&toMap->offset));
- handlemap_VkExtent2D(handlemap, (VkExtent2D*)(&toMap->extent));
-}
-
-void handlemap_VkPresentRegionKHR(
- VulkanHandleMapping* handlemap,
- VkPresentRegionKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pRectangles)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->rectangleCount; ++i)
- {
- handlemap_VkRectLayerKHR(handlemap, (VkRectLayerKHR*)(toMap->pRectangles + i));
- }
- }
-}
-
-void handlemap_VkPresentRegionsKHR(
- VulkanHandleMapping* handlemap,
- VkPresentRegionsKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- if (toMap->pRegions)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->swapchainCount; ++i)
- {
- handlemap_VkPresentRegionKHR(handlemap, (VkPresentRegionKHR*)(toMap->pRegions + i));
- }
- }
-}
-
-#endif
-#ifdef VK_KHR_descriptor_update_template
-#endif
-#ifdef VK_KHR_create_renderpass2
-void handlemap_VkAttachmentDescription2KHR(
- VulkanHandleMapping* handlemap,
- VkAttachmentDescription2KHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkAttachmentReference2KHR(
- VulkanHandleMapping* handlemap,
- VkAttachmentReference2KHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkSubpassDescription2KHR(
- VulkanHandleMapping* handlemap,
- VkSubpassDescription2KHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- if (toMap->pInputAttachments)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->inputAttachmentCount; ++i)
- {
- handlemap_VkAttachmentReference2KHR(handlemap, (VkAttachmentReference2KHR*)(toMap->pInputAttachments + i));
- }
- }
- if (toMap->pColorAttachments)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->colorAttachmentCount; ++i)
- {
- handlemap_VkAttachmentReference2KHR(handlemap, (VkAttachmentReference2KHR*)(toMap->pColorAttachments + i));
- }
- }
- if (toMap->pResolveAttachments)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->colorAttachmentCount; ++i)
- {
- handlemap_VkAttachmentReference2KHR(handlemap, (VkAttachmentReference2KHR*)(toMap->pResolveAttachments + i));
- }
- }
- if (toMap->pDepthStencilAttachment)
- {
- handlemap_VkAttachmentReference2KHR(handlemap, (VkAttachmentReference2KHR*)(toMap->pDepthStencilAttachment));
- }
-}
-
-void handlemap_VkSubpassDependency2KHR(
- VulkanHandleMapping* handlemap,
- VkSubpassDependency2KHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkRenderPassCreateInfo2KHR(
- VulkanHandleMapping* handlemap,
- VkRenderPassCreateInfo2KHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- if (toMap->pAttachments)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->attachmentCount; ++i)
- {
- handlemap_VkAttachmentDescription2KHR(handlemap, (VkAttachmentDescription2KHR*)(toMap->pAttachments + i));
- }
- }
- if (toMap->pSubpasses)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->subpassCount; ++i)
- {
- handlemap_VkSubpassDescription2KHR(handlemap, (VkSubpassDescription2KHR*)(toMap->pSubpasses + i));
- }
- }
- if (toMap->pDependencies)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->dependencyCount; ++i)
- {
- handlemap_VkSubpassDependency2KHR(handlemap, (VkSubpassDependency2KHR*)(toMap->pDependencies + i));
- }
- }
-}
-
-void handlemap_VkSubpassBeginInfoKHR(
- VulkanHandleMapping* handlemap,
- VkSubpassBeginInfoKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkSubpassEndInfoKHR(
- VulkanHandleMapping* handlemap,
- VkSubpassEndInfoKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_shared_presentable_image
-void handlemap_VkSharedPresentSurfaceCapabilitiesKHR(
- VulkanHandleMapping* handlemap,
- VkSharedPresentSurfaceCapabilitiesKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_external_fence_capabilities
-#endif
-#ifdef VK_KHR_external_fence
-#endif
-#ifdef VK_KHR_external_fence_win32
-void handlemap_VkImportFenceWin32HandleInfoKHR(
- VulkanHandleMapping* handlemap,
- VkImportFenceWin32HandleInfoKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkFence((VkFence*)&toMap->fence);
-}
-
-void handlemap_VkExportFenceWin32HandleInfoKHR(
- VulkanHandleMapping* handlemap,
- VkExportFenceWin32HandleInfoKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkFenceGetWin32HandleInfoKHR(
- VulkanHandleMapping* handlemap,
- VkFenceGetWin32HandleInfoKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkFence((VkFence*)&toMap->fence);
-}
-
-#endif
-#ifdef VK_KHR_external_fence_fd
-void handlemap_VkImportFenceFdInfoKHR(
- VulkanHandleMapping* handlemap,
- VkImportFenceFdInfoKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkFence((VkFence*)&toMap->fence);
-}
-
-void handlemap_VkFenceGetFdInfoKHR(
- VulkanHandleMapping* handlemap,
- VkFenceGetFdInfoKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkFence((VkFence*)&toMap->fence);
-}
-
-#endif
-#ifdef VK_KHR_maintenance2
-#endif
-#ifdef VK_KHR_get_surface_capabilities2
-void handlemap_VkPhysicalDeviceSurfaceInfo2KHR(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceSurfaceInfo2KHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkSurfaceKHR((VkSurfaceKHR*)&toMap->surface);
-}
-
-void handlemap_VkSurfaceCapabilities2KHR(
- VulkanHandleMapping* handlemap,
- VkSurfaceCapabilities2KHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap_VkSurfaceCapabilitiesKHR(handlemap, (VkSurfaceCapabilitiesKHR*)(&toMap->surfaceCapabilities));
-}
-
-void handlemap_VkSurfaceFormat2KHR(
- VulkanHandleMapping* handlemap,
- VkSurfaceFormat2KHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap_VkSurfaceFormatKHR(handlemap, (VkSurfaceFormatKHR*)(&toMap->surfaceFormat));
-}
-
-#endif
-#ifdef VK_KHR_variable_pointers
-#endif
-#ifdef VK_KHR_get_display_properties2
-void handlemap_VkDisplayProperties2KHR(
- VulkanHandleMapping* handlemap,
- VkDisplayProperties2KHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap_VkDisplayPropertiesKHR(handlemap, (VkDisplayPropertiesKHR*)(&toMap->displayProperties));
-}
-
-void handlemap_VkDisplayPlaneProperties2KHR(
- VulkanHandleMapping* handlemap,
- VkDisplayPlaneProperties2KHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap_VkDisplayPlanePropertiesKHR(handlemap, (VkDisplayPlanePropertiesKHR*)(&toMap->displayPlaneProperties));
-}
-
-void handlemap_VkDisplayModeProperties2KHR(
- VulkanHandleMapping* handlemap,
- VkDisplayModeProperties2KHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap_VkDisplayModePropertiesKHR(handlemap, (VkDisplayModePropertiesKHR*)(&toMap->displayModeProperties));
-}
-
-void handlemap_VkDisplayPlaneInfo2KHR(
- VulkanHandleMapping* handlemap,
- VkDisplayPlaneInfo2KHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkDisplayModeKHR((VkDisplayModeKHR*)&toMap->mode);
-}
-
-void handlemap_VkDisplayPlaneCapabilities2KHR(
- VulkanHandleMapping* handlemap,
- VkDisplayPlaneCapabilities2KHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap_VkDisplayPlaneCapabilitiesKHR(handlemap, (VkDisplayPlaneCapabilitiesKHR*)(&toMap->capabilities));
-}
-
-#endif
-#ifdef VK_KHR_dedicated_allocation
-#endif
-#ifdef VK_KHR_storage_buffer_storage_class
-#endif
-#ifdef VK_KHR_relaxed_block_layout
-#endif
-#ifdef VK_KHR_get_memory_requirements2
-#endif
-#ifdef VK_KHR_image_format_list
-void handlemap_VkImageFormatListCreateInfoKHR(
- VulkanHandleMapping* handlemap,
- VkImageFormatListCreateInfoKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_sampler_ycbcr_conversion
-#endif
-#ifdef VK_KHR_bind_memory2
-#endif
-#ifdef VK_KHR_maintenance3
-#endif
-#ifdef VK_KHR_draw_indirect_count
-#endif
-#ifdef VK_KHR_8bit_storage
-void handlemap_VkPhysicalDevice8BitStorageFeaturesKHR(
- VulkanHandleMapping* handlemap,
- VkPhysicalDevice8BitStorageFeaturesKHR* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_shader_float16_int8
-void handlemap_VkPhysicalDeviceShaderFloat16Int8Features(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceShaderFloat16Int8Features* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_ANDROID_native_buffer
-void handlemap_VkNativeBufferANDROID(
- VulkanHandleMapping* handlemap,
- VkNativeBufferANDROID* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_EXT_debug_report
-void handlemap_VkDebugReportCallbackCreateInfoEXT(
- VulkanHandleMapping* handlemap,
- VkDebugReportCallbackCreateInfoEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_NV_glsl_shader
-#endif
-#ifdef VK_EXT_depth_range_unrestricted
-#endif
-#ifdef VK_IMG_filter_cubic
-#endif
-#ifdef VK_AMD_rasterization_order
-void handlemap_VkPipelineRasterizationStateRasterizationOrderAMD(
- VulkanHandleMapping* handlemap,
- VkPipelineRasterizationStateRasterizationOrderAMD* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_AMD_shader_trinary_minmax
-#endif
-#ifdef VK_AMD_shader_explicit_vertex_parameter
-#endif
-#ifdef VK_EXT_debug_marker
-void handlemap_VkDebugMarkerObjectNameInfoEXT(
- VulkanHandleMapping* handlemap,
- VkDebugMarkerObjectNameInfoEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkDebugMarkerObjectTagInfoEXT(
- VulkanHandleMapping* handlemap,
- VkDebugMarkerObjectTagInfoEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkDebugMarkerMarkerInfoEXT(
- VulkanHandleMapping* handlemap,
- VkDebugMarkerMarkerInfoEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_AMD_gcn_shader
-#endif
-#ifdef VK_NV_dedicated_allocation
-void handlemap_VkDedicatedAllocationImageCreateInfoNV(
- VulkanHandleMapping* handlemap,
- VkDedicatedAllocationImageCreateInfoNV* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkDedicatedAllocationBufferCreateInfoNV(
- VulkanHandleMapping* handlemap,
- VkDedicatedAllocationBufferCreateInfoNV* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkDedicatedAllocationMemoryAllocateInfoNV(
- VulkanHandleMapping* handlemap,
- VkDedicatedAllocationMemoryAllocateInfoNV* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkImage((VkImage*)&toMap->image);
- handlemap->mapHandles_VkBuffer((VkBuffer*)&toMap->buffer);
-}
-
-#endif
-#ifdef VK_AMD_draw_indirect_count
-#endif
-#ifdef VK_AMD_negative_viewport_height
-#endif
-#ifdef VK_AMD_gpu_shader_half_float
-#endif
-#ifdef VK_AMD_shader_ballot
-#endif
-#ifdef VK_AMD_texture_gather_bias_lod
-void handlemap_VkTextureLODGatherFormatPropertiesAMD(
- VulkanHandleMapping* handlemap,
- VkTextureLODGatherFormatPropertiesAMD* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_AMD_shader_info
-void handlemap_VkShaderResourceUsageAMD(
- VulkanHandleMapping* handlemap,
- VkShaderResourceUsageAMD* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkShaderStatisticsInfoAMD(
- VulkanHandleMapping* handlemap,
- VkShaderStatisticsInfoAMD* toMap)
-{
- (void)handlemap;
- (void)toMap;
- handlemap_VkShaderResourceUsageAMD(handlemap, (VkShaderResourceUsageAMD*)(&toMap->resourceUsage));
-}
-
-#endif
-#ifdef VK_AMD_shader_image_load_store_lod
-#endif
-#ifdef VK_IMG_format_pvrtc
-#endif
-#ifdef VK_NV_external_memory_capabilities
-void handlemap_VkExternalImageFormatPropertiesNV(
- VulkanHandleMapping* handlemap,
- VkExternalImageFormatPropertiesNV* toMap)
-{
- (void)handlemap;
- (void)toMap;
- handlemap_VkImageFormatProperties(handlemap, (VkImageFormatProperties*)(&toMap->imageFormatProperties));
-}
-
-#endif
-#ifdef VK_NV_external_memory
-void handlemap_VkExternalMemoryImageCreateInfoNV(
- VulkanHandleMapping* handlemap,
- VkExternalMemoryImageCreateInfoNV* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkExportMemoryAllocateInfoNV(
- VulkanHandleMapping* handlemap,
- VkExportMemoryAllocateInfoNV* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_NV_external_memory_win32
-void handlemap_VkImportMemoryWin32HandleInfoNV(
- VulkanHandleMapping* handlemap,
- VkImportMemoryWin32HandleInfoNV* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkExportMemoryWin32HandleInfoNV(
- VulkanHandleMapping* handlemap,
- VkExportMemoryWin32HandleInfoNV* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_NV_win32_keyed_mutex
-void handlemap_VkWin32KeyedMutexAcquireReleaseInfoNV(
- VulkanHandleMapping* handlemap,
- VkWin32KeyedMutexAcquireReleaseInfoNV* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- if (toMap->pAcquireSyncs)
- {
- handlemap->mapHandles_VkDeviceMemory((VkDeviceMemory*)toMap->pAcquireSyncs, toMap->acquireCount);
- }
- if (toMap->pReleaseSyncs)
- {
- handlemap->mapHandles_VkDeviceMemory((VkDeviceMemory*)toMap->pReleaseSyncs, toMap->releaseCount);
- }
-}
-
-#endif
-#ifdef VK_EXT_validation_flags
-void handlemap_VkValidationFlagsEXT(
- VulkanHandleMapping* handlemap,
- VkValidationFlagsEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_NN_vi_surface
-void handlemap_VkViSurfaceCreateInfoNN(
- VulkanHandleMapping* handlemap,
- VkViSurfaceCreateInfoNN* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_EXT_shader_subgroup_ballot
-#endif
-#ifdef VK_EXT_shader_subgroup_vote
-#endif
-#ifdef VK_EXT_conditional_rendering
-void handlemap_VkConditionalRenderingBeginInfoEXT(
- VulkanHandleMapping* handlemap,
- VkConditionalRenderingBeginInfoEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkBuffer((VkBuffer*)&toMap->buffer);
-}
-
-void handlemap_VkPhysicalDeviceConditionalRenderingFeaturesEXT(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceConditionalRenderingFeaturesEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkCommandBufferInheritanceConditionalRenderingInfoEXT(
- VulkanHandleMapping* handlemap,
- VkCommandBufferInheritanceConditionalRenderingInfoEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_NVX_device_generated_commands
-void handlemap_VkDeviceGeneratedCommandsFeaturesNVX(
- VulkanHandleMapping* handlemap,
- VkDeviceGeneratedCommandsFeaturesNVX* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkDeviceGeneratedCommandsLimitsNVX(
- VulkanHandleMapping* handlemap,
- VkDeviceGeneratedCommandsLimitsNVX* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkIndirectCommandsTokenNVX(
- VulkanHandleMapping* handlemap,
- VkIndirectCommandsTokenNVX* toMap)
-{
- (void)handlemap;
- (void)toMap;
- handlemap->mapHandles_VkBuffer((VkBuffer*)&toMap->buffer);
-}
-
-void handlemap_VkIndirectCommandsLayoutTokenNVX(
- VulkanHandleMapping* handlemap,
- VkIndirectCommandsLayoutTokenNVX* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkIndirectCommandsLayoutCreateInfoNVX(
- VulkanHandleMapping* handlemap,
- VkIndirectCommandsLayoutCreateInfoNVX* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- if (toMap->pTokens)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->tokenCount; ++i)
- {
- handlemap_VkIndirectCommandsLayoutTokenNVX(handlemap, (VkIndirectCommandsLayoutTokenNVX*)(toMap->pTokens + i));
- }
- }
-}
-
-void handlemap_VkCmdProcessCommandsInfoNVX(
- VulkanHandleMapping* handlemap,
- VkCmdProcessCommandsInfoNVX* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkObjectTableNVX((VkObjectTableNVX*)&toMap->objectTable);
- handlemap->mapHandles_VkIndirectCommandsLayoutNVX((VkIndirectCommandsLayoutNVX*)&toMap->indirectCommandsLayout);
- if (toMap->pIndirectCommandsTokens)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->indirectCommandsTokenCount; ++i)
- {
- handlemap_VkIndirectCommandsTokenNVX(handlemap, (VkIndirectCommandsTokenNVX*)(toMap->pIndirectCommandsTokens + i));
- }
- }
- handlemap->mapHandles_VkCommandBuffer((VkCommandBuffer*)&toMap->targetCommandBuffer);
- handlemap->mapHandles_VkBuffer((VkBuffer*)&toMap->sequencesCountBuffer);
- handlemap->mapHandles_VkBuffer((VkBuffer*)&toMap->sequencesIndexBuffer);
-}
-
-void handlemap_VkCmdReserveSpaceForCommandsInfoNVX(
- VulkanHandleMapping* handlemap,
- VkCmdReserveSpaceForCommandsInfoNVX* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkObjectTableNVX((VkObjectTableNVX*)&toMap->objectTable);
- handlemap->mapHandles_VkIndirectCommandsLayoutNVX((VkIndirectCommandsLayoutNVX*)&toMap->indirectCommandsLayout);
-}
-
-void handlemap_VkObjectTableCreateInfoNVX(
- VulkanHandleMapping* handlemap,
- VkObjectTableCreateInfoNVX* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkObjectTableEntryNVX(
- VulkanHandleMapping* handlemap,
- VkObjectTableEntryNVX* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkObjectTablePipelineEntryNVX(
- VulkanHandleMapping* handlemap,
- VkObjectTablePipelineEntryNVX* toMap)
-{
- (void)handlemap;
- (void)toMap;
- handlemap->mapHandles_VkPipeline((VkPipeline*)&toMap->pipeline);
-}
-
-void handlemap_VkObjectTableDescriptorSetEntryNVX(
- VulkanHandleMapping* handlemap,
- VkObjectTableDescriptorSetEntryNVX* toMap)
-{
- (void)handlemap;
- (void)toMap;
- handlemap->mapHandles_VkPipelineLayout((VkPipelineLayout*)&toMap->pipelineLayout);
- handlemap->mapHandles_VkDescriptorSet((VkDescriptorSet*)&toMap->descriptorSet);
-}
-
-void handlemap_VkObjectTableVertexBufferEntryNVX(
- VulkanHandleMapping* handlemap,
- VkObjectTableVertexBufferEntryNVX* toMap)
-{
- (void)handlemap;
- (void)toMap;
- handlemap->mapHandles_VkBuffer((VkBuffer*)&toMap->buffer);
-}
-
-void handlemap_VkObjectTableIndexBufferEntryNVX(
- VulkanHandleMapping* handlemap,
- VkObjectTableIndexBufferEntryNVX* toMap)
-{
- (void)handlemap;
- (void)toMap;
- handlemap->mapHandles_VkBuffer((VkBuffer*)&toMap->buffer);
-}
-
-void handlemap_VkObjectTablePushConstantEntryNVX(
- VulkanHandleMapping* handlemap,
- VkObjectTablePushConstantEntryNVX* toMap)
-{
- (void)handlemap;
- (void)toMap;
- handlemap->mapHandles_VkPipelineLayout((VkPipelineLayout*)&toMap->pipelineLayout);
-}
-
-#endif
-#ifdef VK_NV_clip_space_w_scaling
-void handlemap_VkViewportWScalingNV(
- VulkanHandleMapping* handlemap,
- VkViewportWScalingNV* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkPipelineViewportWScalingStateCreateInfoNV(
- VulkanHandleMapping* handlemap,
- VkPipelineViewportWScalingStateCreateInfoNV* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- if (toMap->pViewportWScalings)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->viewportCount; ++i)
- {
- handlemap_VkViewportWScalingNV(handlemap, (VkViewportWScalingNV*)(toMap->pViewportWScalings + i));
- }
- }
-}
-
-#endif
-#ifdef VK_EXT_direct_mode_display
-#endif
-#ifdef VK_EXT_acquire_xlib_display
-#endif
-#ifdef VK_EXT_display_surface_counter
-void handlemap_VkSurfaceCapabilities2EXT(
- VulkanHandleMapping* handlemap,
- VkSurfaceCapabilities2EXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap_VkExtent2D(handlemap, (VkExtent2D*)(&toMap->currentExtent));
- handlemap_VkExtent2D(handlemap, (VkExtent2D*)(&toMap->minImageExtent));
- handlemap_VkExtent2D(handlemap, (VkExtent2D*)(&toMap->maxImageExtent));
-}
-
-#endif
-#ifdef VK_EXT_display_control
-void handlemap_VkDisplayPowerInfoEXT(
- VulkanHandleMapping* handlemap,
- VkDisplayPowerInfoEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkDeviceEventInfoEXT(
- VulkanHandleMapping* handlemap,
- VkDeviceEventInfoEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkDisplayEventInfoEXT(
- VulkanHandleMapping* handlemap,
- VkDisplayEventInfoEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkSwapchainCounterCreateInfoEXT(
- VulkanHandleMapping* handlemap,
- VkSwapchainCounterCreateInfoEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_GOOGLE_display_timing
-void handlemap_VkRefreshCycleDurationGOOGLE(
- VulkanHandleMapping* handlemap,
- VkRefreshCycleDurationGOOGLE* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkPastPresentationTimingGOOGLE(
- VulkanHandleMapping* handlemap,
- VkPastPresentationTimingGOOGLE* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkPresentTimeGOOGLE(
- VulkanHandleMapping* handlemap,
- VkPresentTimeGOOGLE* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkPresentTimesInfoGOOGLE(
- VulkanHandleMapping* handlemap,
- VkPresentTimesInfoGOOGLE* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- if (toMap->pTimes)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->swapchainCount; ++i)
- {
- handlemap_VkPresentTimeGOOGLE(handlemap, (VkPresentTimeGOOGLE*)(toMap->pTimes + i));
- }
- }
-}
-
-#endif
-#ifdef VK_NV_sample_mask_override_coverage
-#endif
-#ifdef VK_NV_geometry_shader_passthrough
-#endif
-#ifdef VK_NV_viewport_array2
-#endif
-#ifdef VK_NVX_multiview_per_view_attributes
-void handlemap_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_NV_viewport_swizzle
-void handlemap_VkViewportSwizzleNV(
- VulkanHandleMapping* handlemap,
- VkViewportSwizzleNV* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkPipelineViewportSwizzleStateCreateInfoNV(
- VulkanHandleMapping* handlemap,
- VkPipelineViewportSwizzleStateCreateInfoNV* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- if (toMap->pViewportSwizzles)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->viewportCount; ++i)
- {
- handlemap_VkViewportSwizzleNV(handlemap, (VkViewportSwizzleNV*)(toMap->pViewportSwizzles + i));
- }
- }
-}
-
-#endif
-#ifdef VK_EXT_discard_rectangles
-void handlemap_VkPhysicalDeviceDiscardRectanglePropertiesEXT(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceDiscardRectanglePropertiesEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkPipelineDiscardRectangleStateCreateInfoEXT(
- VulkanHandleMapping* handlemap,
- VkPipelineDiscardRectangleStateCreateInfoEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- if (toMap->pDiscardRectangles)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->discardRectangleCount; ++i)
- {
- handlemap_VkRect2D(handlemap, (VkRect2D*)(toMap->pDiscardRectangles + i));
- }
- }
-}
-
-#endif
-#ifdef VK_EXT_conservative_rasterization
-void handlemap_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceConservativeRasterizationPropertiesEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkPipelineRasterizationConservativeStateCreateInfoEXT(
- VulkanHandleMapping* handlemap,
- VkPipelineRasterizationConservativeStateCreateInfoEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_EXT_swapchain_colorspace
-#endif
-#ifdef VK_EXT_hdr_metadata
-void handlemap_VkXYColorEXT(
- VulkanHandleMapping* handlemap,
- VkXYColorEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkHdrMetadataEXT(
- VulkanHandleMapping* handlemap,
- VkHdrMetadataEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap_VkXYColorEXT(handlemap, (VkXYColorEXT*)(&toMap->displayPrimaryRed));
- handlemap_VkXYColorEXT(handlemap, (VkXYColorEXT*)(&toMap->displayPrimaryGreen));
- handlemap_VkXYColorEXT(handlemap, (VkXYColorEXT*)(&toMap->displayPrimaryBlue));
- handlemap_VkXYColorEXT(handlemap, (VkXYColorEXT*)(&toMap->whitePoint));
-}
-
-#endif
-#ifdef VK_MVK_ios_surface
-void handlemap_VkIOSSurfaceCreateInfoMVK(
- VulkanHandleMapping* handlemap,
- VkIOSSurfaceCreateInfoMVK* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_MVK_macos_surface
-void handlemap_VkMacOSSurfaceCreateInfoMVK(
- VulkanHandleMapping* handlemap,
- VkMacOSSurfaceCreateInfoMVK* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_EXT_external_memory_dma_buf
-#endif
-#ifdef VK_EXT_queue_family_foreign
-#endif
-#ifdef VK_EXT_debug_utils
-void handlemap_VkDebugUtilsObjectNameInfoEXT(
- VulkanHandleMapping* handlemap,
- VkDebugUtilsObjectNameInfoEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkDebugUtilsObjectTagInfoEXT(
- VulkanHandleMapping* handlemap,
- VkDebugUtilsObjectTagInfoEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkDebugUtilsLabelEXT(
- VulkanHandleMapping* handlemap,
- VkDebugUtilsLabelEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkDebugUtilsMessengerCallbackDataEXT(
- VulkanHandleMapping* handlemap,
- VkDebugUtilsMessengerCallbackDataEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- if (toMap->pQueueLabels)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->queueLabelCount; ++i)
- {
- handlemap_VkDebugUtilsLabelEXT(handlemap, (VkDebugUtilsLabelEXT*)(toMap->pQueueLabels + i));
- }
- }
- if (toMap->pCmdBufLabels)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->cmdBufLabelCount; ++i)
- {
- handlemap_VkDebugUtilsLabelEXT(handlemap, (VkDebugUtilsLabelEXT*)(toMap->pCmdBufLabels + i));
- }
- }
- if (toMap->pObjects)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->objectCount; ++i)
- {
- handlemap_VkDebugUtilsObjectNameInfoEXT(handlemap, (VkDebugUtilsObjectNameInfoEXT*)(toMap->pObjects + i));
- }
- }
-}
-
-void handlemap_VkDebugUtilsMessengerCreateInfoEXT(
- VulkanHandleMapping* handlemap,
- VkDebugUtilsMessengerCreateInfoEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_ANDROID_external_memory_android_hardware_buffer
-void handlemap_VkAndroidHardwareBufferUsageANDROID(
- VulkanHandleMapping* handlemap,
- VkAndroidHardwareBufferUsageANDROID* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkAndroidHardwareBufferPropertiesANDROID(
- VulkanHandleMapping* handlemap,
- VkAndroidHardwareBufferPropertiesANDROID* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkAndroidHardwareBufferFormatPropertiesANDROID(
- VulkanHandleMapping* handlemap,
- VkAndroidHardwareBufferFormatPropertiesANDROID* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap_VkComponentMapping(handlemap, (VkComponentMapping*)(&toMap->samplerYcbcrConversionComponents));
-}
-
-void handlemap_VkImportAndroidHardwareBufferInfoANDROID(
- VulkanHandleMapping* handlemap,
- VkImportAndroidHardwareBufferInfoANDROID* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkMemoryGetAndroidHardwareBufferInfoANDROID(
- VulkanHandleMapping* handlemap,
- VkMemoryGetAndroidHardwareBufferInfoANDROID* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkDeviceMemory((VkDeviceMemory*)&toMap->memory);
-}
-
-void handlemap_VkExternalFormatANDROID(
- VulkanHandleMapping* handlemap,
- VkExternalFormatANDROID* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_EXT_sampler_filter_minmax
-void handlemap_VkSamplerReductionModeCreateInfoEXT(
- VulkanHandleMapping* handlemap,
- VkSamplerReductionModeCreateInfoEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_AMD_gpu_shader_int16
-#endif
-#ifdef VK_AMD_mixed_attachment_samples
-#endif
-#ifdef VK_AMD_shader_fragment_mask
-#endif
-#ifdef VK_EXT_shader_stencil_export
-#endif
-#ifdef VK_EXT_sample_locations
-void handlemap_VkSampleLocationEXT(
- VulkanHandleMapping* handlemap,
- VkSampleLocationEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkSampleLocationsInfoEXT(
- VulkanHandleMapping* handlemap,
- VkSampleLocationsInfoEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap_VkExtent2D(handlemap, (VkExtent2D*)(&toMap->sampleLocationGridSize));
- if (toMap->pSampleLocations)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->sampleLocationsCount; ++i)
- {
- handlemap_VkSampleLocationEXT(handlemap, (VkSampleLocationEXT*)(toMap->pSampleLocations + i));
- }
- }
-}
-
-void handlemap_VkAttachmentSampleLocationsEXT(
- VulkanHandleMapping* handlemap,
- VkAttachmentSampleLocationsEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- handlemap_VkSampleLocationsInfoEXT(handlemap, (VkSampleLocationsInfoEXT*)(&toMap->sampleLocationsInfo));
-}
-
-void handlemap_VkSubpassSampleLocationsEXT(
- VulkanHandleMapping* handlemap,
- VkSubpassSampleLocationsEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- handlemap_VkSampleLocationsInfoEXT(handlemap, (VkSampleLocationsInfoEXT*)(&toMap->sampleLocationsInfo));
-}
-
-void handlemap_VkRenderPassSampleLocationsBeginInfoEXT(
- VulkanHandleMapping* handlemap,
- VkRenderPassSampleLocationsBeginInfoEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- if (toMap->pAttachmentInitialSampleLocations)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->attachmentInitialSampleLocationsCount; ++i)
- {
- handlemap_VkAttachmentSampleLocationsEXT(handlemap, (VkAttachmentSampleLocationsEXT*)(toMap->pAttachmentInitialSampleLocations + i));
- }
- }
- if (toMap->pPostSubpassSampleLocations)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->postSubpassSampleLocationsCount; ++i)
- {
- handlemap_VkSubpassSampleLocationsEXT(handlemap, (VkSubpassSampleLocationsEXT*)(toMap->pPostSubpassSampleLocations + i));
- }
- }
-}
-
-void handlemap_VkPipelineSampleLocationsStateCreateInfoEXT(
- VulkanHandleMapping* handlemap,
- VkPipelineSampleLocationsStateCreateInfoEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap_VkSampleLocationsInfoEXT(handlemap, (VkSampleLocationsInfoEXT*)(&toMap->sampleLocationsInfo));
-}
-
-void handlemap_VkPhysicalDeviceSampleLocationsPropertiesEXT(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceSampleLocationsPropertiesEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap_VkExtent2D(handlemap, (VkExtent2D*)(&toMap->maxSampleLocationGridSize));
-}
-
-void handlemap_VkMultisamplePropertiesEXT(
- VulkanHandleMapping* handlemap,
- VkMultisamplePropertiesEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap_VkExtent2D(handlemap, (VkExtent2D*)(&toMap->maxSampleLocationGridSize));
-}
-
-#endif
-#ifdef VK_EXT_blend_operation_advanced
-void handlemap_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkPipelineColorBlendAdvancedStateCreateInfoEXT(
- VulkanHandleMapping* handlemap,
- VkPipelineColorBlendAdvancedStateCreateInfoEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_NV_fragment_coverage_to_color
-void handlemap_VkPipelineCoverageToColorStateCreateInfoNV(
- VulkanHandleMapping* handlemap,
- VkPipelineCoverageToColorStateCreateInfoNV* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_NV_framebuffer_mixed_samples
-void handlemap_VkPipelineCoverageModulationStateCreateInfoNV(
- VulkanHandleMapping* handlemap,
- VkPipelineCoverageModulationStateCreateInfoNV* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_NV_fill_rectangle
-#endif
-#ifdef VK_EXT_post_depth_coverage
-#endif
-#ifdef VK_EXT_validation_cache
-void handlemap_VkValidationCacheCreateInfoEXT(
- VulkanHandleMapping* handlemap,
- VkValidationCacheCreateInfoEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkShaderModuleValidationCacheCreateInfoEXT(
- VulkanHandleMapping* handlemap,
- VkShaderModuleValidationCacheCreateInfoEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- handlemap->mapHandles_VkValidationCacheEXT((VkValidationCacheEXT*)&toMap->validationCache);
-}
-
-#endif
-#ifdef VK_EXT_descriptor_indexing
-void handlemap_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT(
- VulkanHandleMapping* handlemap,
- VkDescriptorSetLayoutBindingFlagsCreateInfoEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkPhysicalDeviceDescriptorIndexingFeaturesEXT(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceDescriptorIndexingFeaturesEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkPhysicalDeviceDescriptorIndexingPropertiesEXT(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceDescriptorIndexingPropertiesEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT(
- VulkanHandleMapping* handlemap,
- VkDescriptorSetVariableDescriptorCountAllocateInfoEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT(
- VulkanHandleMapping* handlemap,
- VkDescriptorSetVariableDescriptorCountLayoutSupportEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_EXT_shader_viewport_index_layer
-#endif
-#ifdef VK_EXT_global_priority
-void handlemap_VkDeviceQueueGlobalPriorityCreateInfoEXT(
- VulkanHandleMapping* handlemap,
- VkDeviceQueueGlobalPriorityCreateInfoEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_EXT_external_memory_host
-void handlemap_VkImportMemoryHostPointerInfoEXT(
- VulkanHandleMapping* handlemap,
- VkImportMemoryHostPointerInfoEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkMemoryHostPointerPropertiesEXT(
- VulkanHandleMapping* handlemap,
- VkMemoryHostPointerPropertiesEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceExternalMemoryHostPropertiesEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_AMD_buffer_marker
-#endif
-#ifdef VK_AMD_shader_core_properties
-void handlemap_VkPhysicalDeviceShaderCorePropertiesAMD(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceShaderCorePropertiesAMD* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_EXT_vertex_attribute_divisor
-void handlemap_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkVertexInputBindingDivisorDescriptionEXT(
- VulkanHandleMapping* handlemap,
- VkVertexInputBindingDivisorDescriptionEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
-}
-
-void handlemap_VkPipelineVertexInputDivisorStateCreateInfoEXT(
- VulkanHandleMapping* handlemap,
- VkPipelineVertexInputDivisorStateCreateInfoEXT* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
- if (toMap->pVertexBindingDivisors)
- {
- for (uint32_t i = 0; i < (uint32_t)toMap->vertexBindingDivisorCount; ++i)
- {
- handlemap_VkVertexInputBindingDivisorDescriptionEXT(handlemap, (VkVertexInputBindingDivisorDescriptionEXT*)(toMap->pVertexBindingDivisors + i));
- }
- }
-}
-
-#endif
-#ifdef VK_NV_shader_subgroup_partitioned
-#endif
-#ifdef VK_NV_device_diagnostic_checkpoints
-void handlemap_VkQueueFamilyCheckpointPropertiesNV(
- VulkanHandleMapping* handlemap,
- VkQueueFamilyCheckpointPropertiesNV* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkCheckpointDataNV(
- VulkanHandleMapping* handlemap,
- VkCheckpointDataNV* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_GOOGLE_address_space
-#endif
-#ifdef VK_GOOGLE_color_buffer
-void handlemap_VkImportColorBufferGOOGLE(
- VulkanHandleMapping* handlemap,
- VkImportColorBufferGOOGLE* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkImportBufferGOOGLE(
- VulkanHandleMapping* handlemap,
- VkImportBufferGOOGLE* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-void handlemap_VkImportPhysicalAddressGOOGLE(
- VulkanHandleMapping* handlemap,
- VkImportPhysicalAddressGOOGLE* toMap)
-{
- (void)handlemap;
- (void)toMap;
- if (toMap->pNext)
- {
- handlemap_extension_struct(handlemap, (void*)(toMap->pNext));
- }
-}
-
-#endif
-#ifdef VK_GOOGLE_sized_descriptor_update_template
-#endif
-#ifdef VK_GOOGLE_async_command_buffers
-#endif
-#ifdef VK_GOOGLE_create_resources_with_requirements
-#endif
-#ifdef VK_GOOGLE_address_space_info
-#endif
-#ifdef VK_GOOGLE_free_memory_sync
-#endif
-#ifdef VK_GOOGLE_async_queue_submit
-#endif
-#ifdef VK_GOOGLE_linear_image_layout
-#endif
-void handlemap_extension_struct(
- VulkanHandleMapping* handlemap,
- void* structExtension_out)
-{
- if (!structExtension_out)
- {
- return;
- }
- uint32_t structType = (uint32_t)goldfish_vk_struct_type(structExtension_out);
- switch(structType)
- {
-#ifdef VK_VERSION_1_1
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES:
- {
- handlemap_VkPhysicalDeviceSubgroupProperties(handlemap, reinterpret_cast<VkPhysicalDeviceSubgroupProperties*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:
- {
- handlemap_VkPhysicalDevice16BitStorageFeatures(handlemap, reinterpret_cast<VkPhysicalDevice16BitStorageFeatures*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS:
- {
- handlemap_VkMemoryDedicatedRequirements(handlemap, reinterpret_cast<VkMemoryDedicatedRequirements*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO:
- {
- handlemap_VkMemoryDedicatedAllocateInfo(handlemap, reinterpret_cast<VkMemoryDedicatedAllocateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO:
- {
- handlemap_VkMemoryAllocateFlagsInfo(handlemap, reinterpret_cast<VkMemoryAllocateFlagsInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO:
- {
- handlemap_VkDeviceGroupRenderPassBeginInfo(handlemap, reinterpret_cast<VkDeviceGroupRenderPassBeginInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO:
- {
- handlemap_VkDeviceGroupCommandBufferBeginInfo(handlemap, reinterpret_cast<VkDeviceGroupCommandBufferBeginInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO:
- {
- handlemap_VkDeviceGroupSubmitInfo(handlemap, reinterpret_cast<VkDeviceGroupSubmitInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO:
- {
- handlemap_VkDeviceGroupBindSparseInfo(handlemap, reinterpret_cast<VkDeviceGroupBindSparseInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO:
- {
- handlemap_VkBindBufferMemoryDeviceGroupInfo(handlemap, reinterpret_cast<VkBindBufferMemoryDeviceGroupInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO:
- {
- handlemap_VkBindImageMemoryDeviceGroupInfo(handlemap, reinterpret_cast<VkBindImageMemoryDeviceGroupInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO:
- {
- handlemap_VkDeviceGroupDeviceCreateInfo(handlemap, reinterpret_cast<VkDeviceGroupDeviceCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2:
- {
- handlemap_VkPhysicalDeviceFeatures2(handlemap, reinterpret_cast<VkPhysicalDeviceFeatures2*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES:
- {
- handlemap_VkPhysicalDevicePointClippingProperties(handlemap, reinterpret_cast<VkPhysicalDevicePointClippingProperties*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO:
- {
- handlemap_VkRenderPassInputAttachmentAspectCreateInfo(handlemap, reinterpret_cast<VkRenderPassInputAttachmentAspectCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO:
- {
- handlemap_VkImageViewUsageCreateInfo(handlemap, reinterpret_cast<VkImageViewUsageCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO:
- {
- handlemap_VkPipelineTessellationDomainOriginStateCreateInfo(handlemap, reinterpret_cast<VkPipelineTessellationDomainOriginStateCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO:
- {
- handlemap_VkRenderPassMultiviewCreateInfo(handlemap, reinterpret_cast<VkRenderPassMultiviewCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:
- {
- handlemap_VkPhysicalDeviceMultiviewFeatures(handlemap, reinterpret_cast<VkPhysicalDeviceMultiviewFeatures*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES:
- {
- handlemap_VkPhysicalDeviceMultiviewProperties(handlemap, reinterpret_cast<VkPhysicalDeviceMultiviewProperties*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES:
- {
- handlemap_VkPhysicalDeviceVariablePointerFeatures(handlemap, reinterpret_cast<VkPhysicalDeviceVariablePointerFeatures*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:
- {
- handlemap_VkPhysicalDeviceProtectedMemoryFeatures(handlemap, reinterpret_cast<VkPhysicalDeviceProtectedMemoryFeatures*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES:
- {
- handlemap_VkPhysicalDeviceProtectedMemoryProperties(handlemap, reinterpret_cast<VkPhysicalDeviceProtectedMemoryProperties*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO:
- {
- handlemap_VkProtectedSubmitInfo(handlemap, reinterpret_cast<VkProtectedSubmitInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO:
- {
- handlemap_VkSamplerYcbcrConversionInfo(handlemap, reinterpret_cast<VkSamplerYcbcrConversionInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO:
- {
- handlemap_VkBindImagePlaneMemoryInfo(handlemap, reinterpret_cast<VkBindImagePlaneMemoryInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO:
- {
- handlemap_VkImagePlaneMemoryRequirementsInfo(handlemap, reinterpret_cast<VkImagePlaneMemoryRequirementsInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:
- {
- handlemap_VkPhysicalDeviceSamplerYcbcrConversionFeatures(handlemap, reinterpret_cast<VkPhysicalDeviceSamplerYcbcrConversionFeatures*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES:
- {
- handlemap_VkSamplerYcbcrConversionImageFormatProperties(handlemap, reinterpret_cast<VkSamplerYcbcrConversionImageFormatProperties*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO:
- {
- handlemap_VkPhysicalDeviceExternalImageFormatInfo(handlemap, reinterpret_cast<VkPhysicalDeviceExternalImageFormatInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES:
- {
- handlemap_VkExternalImageFormatProperties(handlemap, reinterpret_cast<VkExternalImageFormatProperties*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES:
- {
- handlemap_VkPhysicalDeviceIDProperties(handlemap, reinterpret_cast<VkPhysicalDeviceIDProperties*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO:
- {
- handlemap_VkExternalMemoryImageCreateInfo(handlemap, reinterpret_cast<VkExternalMemoryImageCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO:
- {
- handlemap_VkExternalMemoryBufferCreateInfo(handlemap, reinterpret_cast<VkExternalMemoryBufferCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO:
- {
- handlemap_VkExportMemoryAllocateInfo(handlemap, reinterpret_cast<VkExportMemoryAllocateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO:
- {
- handlemap_VkExportFenceCreateInfo(handlemap, reinterpret_cast<VkExportFenceCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO:
- {
- handlemap_VkExportSemaphoreCreateInfo(handlemap, reinterpret_cast<VkExportSemaphoreCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES:
- {
- handlemap_VkPhysicalDeviceMaintenance3Properties(handlemap, reinterpret_cast<VkPhysicalDeviceMaintenance3Properties*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES:
- {
- handlemap_VkPhysicalDeviceShaderDrawParameterFeatures(handlemap, reinterpret_cast<VkPhysicalDeviceShaderDrawParameterFeatures*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_swapchain
- case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR:
- {
- handlemap_VkImageSwapchainCreateInfoKHR(handlemap, reinterpret_cast<VkImageSwapchainCreateInfoKHR*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR:
- {
- handlemap_VkBindImageMemorySwapchainInfoKHR(handlemap, reinterpret_cast<VkBindImageMemorySwapchainInfoKHR*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR:
- {
- handlemap_VkDeviceGroupPresentInfoKHR(handlemap, reinterpret_cast<VkDeviceGroupPresentInfoKHR*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR:
- {
- handlemap_VkDeviceGroupSwapchainCreateInfoKHR(handlemap, reinterpret_cast<VkDeviceGroupSwapchainCreateInfoKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_display_swapchain
- case VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR:
- {
- handlemap_VkDisplayPresentInfoKHR(handlemap, reinterpret_cast<VkDisplayPresentInfoKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_external_memory_win32
- case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR:
- {
- handlemap_VkImportMemoryWin32HandleInfoKHR(handlemap, reinterpret_cast<VkImportMemoryWin32HandleInfoKHR*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR:
- {
- handlemap_VkExportMemoryWin32HandleInfoKHR(handlemap, reinterpret_cast<VkExportMemoryWin32HandleInfoKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_external_memory_fd
- case VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR:
- {
- handlemap_VkImportMemoryFdInfoKHR(handlemap, reinterpret_cast<VkImportMemoryFdInfoKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_win32_keyed_mutex
- case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR:
- {
- handlemap_VkWin32KeyedMutexAcquireReleaseInfoKHR(handlemap, reinterpret_cast<VkWin32KeyedMutexAcquireReleaseInfoKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_external_semaphore_win32
- case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR:
- {
- handlemap_VkExportSemaphoreWin32HandleInfoKHR(handlemap, reinterpret_cast<VkExportSemaphoreWin32HandleInfoKHR*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR:
- {
- handlemap_VkD3D12FenceSubmitInfoKHR(handlemap, reinterpret_cast<VkD3D12FenceSubmitInfoKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_push_descriptor
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR:
- {
- handlemap_VkPhysicalDevicePushDescriptorPropertiesKHR(handlemap, reinterpret_cast<VkPhysicalDevicePushDescriptorPropertiesKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_incremental_present
- case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR:
- {
- handlemap_VkPresentRegionsKHR(handlemap, reinterpret_cast<VkPresentRegionsKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_shared_presentable_image
- case VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR:
- {
- handlemap_VkSharedPresentSurfaceCapabilitiesKHR(handlemap, reinterpret_cast<VkSharedPresentSurfaceCapabilitiesKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_external_fence_win32
- case VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR:
- {
- handlemap_VkExportFenceWin32HandleInfoKHR(handlemap, reinterpret_cast<VkExportFenceWin32HandleInfoKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_image_format_list
- case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR:
- {
- handlemap_VkImageFormatListCreateInfoKHR(handlemap, reinterpret_cast<VkImageFormatListCreateInfoKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_8bit_storage
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR:
- {
- handlemap_VkPhysicalDevice8BitStorageFeaturesKHR(handlemap, reinterpret_cast<VkPhysicalDevice8BitStorageFeaturesKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_shader_float16_int8
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:
- {
- handlemap_VkPhysicalDeviceShaderFloat16Int8Features(handlemap, reinterpret_cast<VkPhysicalDeviceShaderFloat16Int8Features*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_ANDROID_native_buffer
- case VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID:
- {
- handlemap_VkNativeBufferANDROID(handlemap, reinterpret_cast<VkNativeBufferANDROID*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_debug_report
- case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT:
- {
- handlemap_VkDebugReportCallbackCreateInfoEXT(handlemap, reinterpret_cast<VkDebugReportCallbackCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_AMD_rasterization_order
- case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD:
- {
- handlemap_VkPipelineRasterizationStateRasterizationOrderAMD(handlemap, reinterpret_cast<VkPipelineRasterizationStateRasterizationOrderAMD*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_dedicated_allocation
- case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV:
- {
- handlemap_VkDedicatedAllocationImageCreateInfoNV(handlemap, reinterpret_cast<VkDedicatedAllocationImageCreateInfoNV*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV:
- {
- handlemap_VkDedicatedAllocationBufferCreateInfoNV(handlemap, reinterpret_cast<VkDedicatedAllocationBufferCreateInfoNV*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV:
- {
- handlemap_VkDedicatedAllocationMemoryAllocateInfoNV(handlemap, reinterpret_cast<VkDedicatedAllocationMemoryAllocateInfoNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_AMD_texture_gather_bias_lod
- case VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD:
- {
- handlemap_VkTextureLODGatherFormatPropertiesAMD(handlemap, reinterpret_cast<VkTextureLODGatherFormatPropertiesAMD*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_external_memory
- case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV:
- {
- handlemap_VkExternalMemoryImageCreateInfoNV(handlemap, reinterpret_cast<VkExternalMemoryImageCreateInfoNV*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV:
- {
- handlemap_VkExportMemoryAllocateInfoNV(handlemap, reinterpret_cast<VkExportMemoryAllocateInfoNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_external_memory_win32
- case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV:
- {
- handlemap_VkImportMemoryWin32HandleInfoNV(handlemap, reinterpret_cast<VkImportMemoryWin32HandleInfoNV*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV:
- {
- handlemap_VkExportMemoryWin32HandleInfoNV(handlemap, reinterpret_cast<VkExportMemoryWin32HandleInfoNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_win32_keyed_mutex
- case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV:
- {
- handlemap_VkWin32KeyedMutexAcquireReleaseInfoNV(handlemap, reinterpret_cast<VkWin32KeyedMutexAcquireReleaseInfoNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_validation_flags
- case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT:
- {
- handlemap_VkValidationFlagsEXT(handlemap, reinterpret_cast<VkValidationFlagsEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_conditional_rendering
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT:
- {
- handlemap_VkPhysicalDeviceConditionalRenderingFeaturesEXT(handlemap, reinterpret_cast<VkPhysicalDeviceConditionalRenderingFeaturesEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT:
- {
- handlemap_VkCommandBufferInheritanceConditionalRenderingInfoEXT(handlemap, reinterpret_cast<VkCommandBufferInheritanceConditionalRenderingInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_clip_space_w_scaling
- case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV:
- {
- handlemap_VkPipelineViewportWScalingStateCreateInfoNV(handlemap, reinterpret_cast<VkPipelineViewportWScalingStateCreateInfoNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_display_control
- case VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT:
- {
- handlemap_VkSwapchainCounterCreateInfoEXT(handlemap, reinterpret_cast<VkSwapchainCounterCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_GOOGLE_display_timing
- case VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE:
- {
- handlemap_VkPresentTimesInfoGOOGLE(handlemap, reinterpret_cast<VkPresentTimesInfoGOOGLE*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NVX_multiview_per_view_attributes
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX:
- {
- handlemap_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(handlemap, reinterpret_cast<VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_viewport_swizzle
- case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV:
- {
- handlemap_VkPipelineViewportSwizzleStateCreateInfoNV(handlemap, reinterpret_cast<VkPipelineViewportSwizzleStateCreateInfoNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_discard_rectangles
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT:
- {
- handlemap_VkPhysicalDeviceDiscardRectanglePropertiesEXT(handlemap, reinterpret_cast<VkPhysicalDeviceDiscardRectanglePropertiesEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT:
- {
- handlemap_VkPipelineDiscardRectangleStateCreateInfoEXT(handlemap, reinterpret_cast<VkPipelineDiscardRectangleStateCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_conservative_rasterization
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT:
- {
- handlemap_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(handlemap, reinterpret_cast<VkPhysicalDeviceConservativeRasterizationPropertiesEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT:
- {
- handlemap_VkPipelineRasterizationConservativeStateCreateInfoEXT(handlemap, reinterpret_cast<VkPipelineRasterizationConservativeStateCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_debug_utils
- case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT:
- {
- handlemap_VkDebugUtilsMessengerCreateInfoEXT(handlemap, reinterpret_cast<VkDebugUtilsMessengerCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_ANDROID_external_memory_android_hardware_buffer
- case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID:
- {
- handlemap_VkAndroidHardwareBufferUsageANDROID(handlemap, reinterpret_cast<VkAndroidHardwareBufferUsageANDROID*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID:
- {
- handlemap_VkAndroidHardwareBufferFormatPropertiesANDROID(handlemap, reinterpret_cast<VkAndroidHardwareBufferFormatPropertiesANDROID*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID:
- {
- handlemap_VkImportAndroidHardwareBufferInfoANDROID(handlemap, reinterpret_cast<VkImportAndroidHardwareBufferInfoANDROID*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID:
- {
- handlemap_VkExternalFormatANDROID(handlemap, reinterpret_cast<VkExternalFormatANDROID*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_sampler_filter_minmax
- case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT:
- {
- handlemap_VkSamplerReductionModeCreateInfoEXT(handlemap, reinterpret_cast<VkSamplerReductionModeCreateInfoEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT:
- {
- handlemap_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT(handlemap, reinterpret_cast<VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_sample_locations
- case VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT:
- {
- handlemap_VkSampleLocationsInfoEXT(handlemap, reinterpret_cast<VkSampleLocationsInfoEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT:
- {
- handlemap_VkRenderPassSampleLocationsBeginInfoEXT(handlemap, reinterpret_cast<VkRenderPassSampleLocationsBeginInfoEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT:
- {
- handlemap_VkPipelineSampleLocationsStateCreateInfoEXT(handlemap, reinterpret_cast<VkPipelineSampleLocationsStateCreateInfoEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT:
- {
- handlemap_VkPhysicalDeviceSampleLocationsPropertiesEXT(handlemap, reinterpret_cast<VkPhysicalDeviceSampleLocationsPropertiesEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_blend_operation_advanced
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT:
- {
- handlemap_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(handlemap, reinterpret_cast<VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT:
- {
- handlemap_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(handlemap, reinterpret_cast<VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT:
- {
- handlemap_VkPipelineColorBlendAdvancedStateCreateInfoEXT(handlemap, reinterpret_cast<VkPipelineColorBlendAdvancedStateCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_fragment_coverage_to_color
- case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV:
- {
- handlemap_VkPipelineCoverageToColorStateCreateInfoNV(handlemap, reinterpret_cast<VkPipelineCoverageToColorStateCreateInfoNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_framebuffer_mixed_samples
- case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV:
- {
- handlemap_VkPipelineCoverageModulationStateCreateInfoNV(handlemap, reinterpret_cast<VkPipelineCoverageModulationStateCreateInfoNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_validation_cache
- case VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT:
- {
- handlemap_VkShaderModuleValidationCacheCreateInfoEXT(handlemap, reinterpret_cast<VkShaderModuleValidationCacheCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_descriptor_indexing
- case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT:
- {
- handlemap_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT(handlemap, reinterpret_cast<VkDescriptorSetLayoutBindingFlagsCreateInfoEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT:
- {
- handlemap_VkPhysicalDeviceDescriptorIndexingFeaturesEXT(handlemap, reinterpret_cast<VkPhysicalDeviceDescriptorIndexingFeaturesEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT:
- {
- handlemap_VkPhysicalDeviceDescriptorIndexingPropertiesEXT(handlemap, reinterpret_cast<VkPhysicalDeviceDescriptorIndexingPropertiesEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT:
- {
- handlemap_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT(handlemap, reinterpret_cast<VkDescriptorSetVariableDescriptorCountAllocateInfoEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT:
- {
- handlemap_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT(handlemap, reinterpret_cast<VkDescriptorSetVariableDescriptorCountLayoutSupportEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_global_priority
- case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT:
- {
- handlemap_VkDeviceQueueGlobalPriorityCreateInfoEXT(handlemap, reinterpret_cast<VkDeviceQueueGlobalPriorityCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_external_memory_host
- case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT:
- {
- handlemap_VkImportMemoryHostPointerInfoEXT(handlemap, reinterpret_cast<VkImportMemoryHostPointerInfoEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT:
- {
- handlemap_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(handlemap, reinterpret_cast<VkPhysicalDeviceExternalMemoryHostPropertiesEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_AMD_shader_core_properties
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD:
- {
- handlemap_VkPhysicalDeviceShaderCorePropertiesAMD(handlemap, reinterpret_cast<VkPhysicalDeviceShaderCorePropertiesAMD*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_vertex_attribute_divisor
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT:
- {
- handlemap_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(handlemap, reinterpret_cast<VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT:
- {
- handlemap_VkPipelineVertexInputDivisorStateCreateInfoEXT(handlemap, reinterpret_cast<VkPipelineVertexInputDivisorStateCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_device_diagnostic_checkpoints
- case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV:
- {
- handlemap_VkQueueFamilyCheckpointPropertiesNV(handlemap, reinterpret_cast<VkQueueFamilyCheckpointPropertiesNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_GOOGLE_color_buffer
- case VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE:
- {
- handlemap_VkImportColorBufferGOOGLE(handlemap, reinterpret_cast<VkImportColorBufferGOOGLE*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE:
- {
- handlemap_VkImportBufferGOOGLE(handlemap, reinterpret_cast<VkImportBufferGOOGLE*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_IMPORT_PHYSICAL_ADDRESS_GOOGLE:
- {
- handlemap_VkImportPhysicalAddressGOOGLE(handlemap, reinterpret_cast<VkImportPhysicalAddressGOOGLE*>(structExtension_out));
- break;
- }
-#endif
- default:
- {
- return;
- }
- }
-}
-
-
-} // namespace goldfish_vk
diff --git a/stream-clients/vulkan_enc/goldfish_vk_handlemap_guest.h b/stream-clients/vulkan_enc/goldfish_vk_handlemap_guest.h
deleted file mode 100644
index e461eae..0000000
--- a/stream-clients/vulkan_enc/goldfish_vk_handlemap_guest.h
+++ /dev/null
@@ -1,1703 +0,0 @@
-// 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 goldfish_vk_handlemap_guest
-// (header) generated by protocols/vulkan/xml/genvk.py -registry protocols/vulkan/xml/vk.xml cereal -o stream-servers/vulkan/cereal
-// Please do not modify directly;
-// re-run generate-vulkan-sources.sh,
-// or directly from Python by defining:
-// VULKAN_REGISTRY_XML_DIR : Directory containing genvk.py and vk.xml
-// CEREAL_OUTPUT_DIR: Where to put the generated sources.
-// python3 $VULKAN_REGISTRY_XML_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o $CEREAL_OUTPUT_DIR
-
-#pragma once
-
-#include <vulkan/vulkan.h>
-
-
-#include "vk_platform_compat.h"
-
-#include "goldfish_vk_private_defs.h"
-#include "VulkanHandleMapping.h"
-// Stuff we are not going to use but if included,
-// will cause compile errors. These are Android Vulkan
-// required extensions, but the approach will be to
-// implement them completely on the guest side.
-#undef VK_KHR_android_surface
-#undef VK_ANDROID_external_memory_android_hardware_buffer
-
-
-namespace goldfish_vk {
-
-#ifdef VK_VERSION_1_0
-void handlemap_VkApplicationInfo(
- VulkanHandleMapping* handlemap,
- VkApplicationInfo* toMap);
-
-void handlemap_VkInstanceCreateInfo(
- VulkanHandleMapping* handlemap,
- VkInstanceCreateInfo* toMap);
-
-void handlemap_VkAllocationCallbacks(
- VulkanHandleMapping* handlemap,
- VkAllocationCallbacks* toMap);
-
-void handlemap_VkPhysicalDeviceFeatures(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceFeatures* toMap);
-
-void handlemap_VkFormatProperties(
- VulkanHandleMapping* handlemap,
- VkFormatProperties* toMap);
-
-void handlemap_VkExtent3D(
- VulkanHandleMapping* handlemap,
- VkExtent3D* toMap);
-
-void handlemap_VkImageFormatProperties(
- VulkanHandleMapping* handlemap,
- VkImageFormatProperties* toMap);
-
-void handlemap_VkPhysicalDeviceLimits(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceLimits* toMap);
-
-void handlemap_VkPhysicalDeviceSparseProperties(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceSparseProperties* toMap);
-
-void handlemap_VkPhysicalDeviceProperties(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceProperties* toMap);
-
-void handlemap_VkQueueFamilyProperties(
- VulkanHandleMapping* handlemap,
- VkQueueFamilyProperties* toMap);
-
-void handlemap_VkMemoryType(
- VulkanHandleMapping* handlemap,
- VkMemoryType* toMap);
-
-void handlemap_VkMemoryHeap(
- VulkanHandleMapping* handlemap,
- VkMemoryHeap* toMap);
-
-void handlemap_VkPhysicalDeviceMemoryProperties(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceMemoryProperties* toMap);
-
-void handlemap_VkDeviceQueueCreateInfo(
- VulkanHandleMapping* handlemap,
- VkDeviceQueueCreateInfo* toMap);
-
-void handlemap_VkDeviceCreateInfo(
- VulkanHandleMapping* handlemap,
- VkDeviceCreateInfo* toMap);
-
-void handlemap_VkExtensionProperties(
- VulkanHandleMapping* handlemap,
- VkExtensionProperties* toMap);
-
-void handlemap_VkLayerProperties(
- VulkanHandleMapping* handlemap,
- VkLayerProperties* toMap);
-
-void handlemap_VkSubmitInfo(
- VulkanHandleMapping* handlemap,
- VkSubmitInfo* toMap);
-
-void handlemap_VkMemoryAllocateInfo(
- VulkanHandleMapping* handlemap,
- VkMemoryAllocateInfo* toMap);
-
-void handlemap_VkMappedMemoryRange(
- VulkanHandleMapping* handlemap,
- VkMappedMemoryRange* toMap);
-
-void handlemap_VkMemoryRequirements(
- VulkanHandleMapping* handlemap,
- VkMemoryRequirements* toMap);
-
-void handlemap_VkSparseImageFormatProperties(
- VulkanHandleMapping* handlemap,
- VkSparseImageFormatProperties* toMap);
-
-void handlemap_VkSparseImageMemoryRequirements(
- VulkanHandleMapping* handlemap,
- VkSparseImageMemoryRequirements* toMap);
-
-void handlemap_VkSparseMemoryBind(
- VulkanHandleMapping* handlemap,
- VkSparseMemoryBind* toMap);
-
-void handlemap_VkSparseBufferMemoryBindInfo(
- VulkanHandleMapping* handlemap,
- VkSparseBufferMemoryBindInfo* toMap);
-
-void handlemap_VkSparseImageOpaqueMemoryBindInfo(
- VulkanHandleMapping* handlemap,
- VkSparseImageOpaqueMemoryBindInfo* toMap);
-
-void handlemap_VkImageSubresource(
- VulkanHandleMapping* handlemap,
- VkImageSubresource* toMap);
-
-void handlemap_VkOffset3D(
- VulkanHandleMapping* handlemap,
- VkOffset3D* toMap);
-
-void handlemap_VkSparseImageMemoryBind(
- VulkanHandleMapping* handlemap,
- VkSparseImageMemoryBind* toMap);
-
-void handlemap_VkSparseImageMemoryBindInfo(
- VulkanHandleMapping* handlemap,
- VkSparseImageMemoryBindInfo* toMap);
-
-void handlemap_VkBindSparseInfo(
- VulkanHandleMapping* handlemap,
- VkBindSparseInfo* toMap);
-
-void handlemap_VkFenceCreateInfo(
- VulkanHandleMapping* handlemap,
- VkFenceCreateInfo* toMap);
-
-void handlemap_VkSemaphoreCreateInfo(
- VulkanHandleMapping* handlemap,
- VkSemaphoreCreateInfo* toMap);
-
-void handlemap_VkEventCreateInfo(
- VulkanHandleMapping* handlemap,
- VkEventCreateInfo* toMap);
-
-void handlemap_VkQueryPoolCreateInfo(
- VulkanHandleMapping* handlemap,
- VkQueryPoolCreateInfo* toMap);
-
-void handlemap_VkBufferCreateInfo(
- VulkanHandleMapping* handlemap,
- VkBufferCreateInfo* toMap);
-
-void handlemap_VkBufferViewCreateInfo(
- VulkanHandleMapping* handlemap,
- VkBufferViewCreateInfo* toMap);
-
-void handlemap_VkImageCreateInfo(
- VulkanHandleMapping* handlemap,
- VkImageCreateInfo* toMap);
-
-void handlemap_VkSubresourceLayout(
- VulkanHandleMapping* handlemap,
- VkSubresourceLayout* toMap);
-
-void handlemap_VkComponentMapping(
- VulkanHandleMapping* handlemap,
- VkComponentMapping* toMap);
-
-void handlemap_VkImageSubresourceRange(
- VulkanHandleMapping* handlemap,
- VkImageSubresourceRange* toMap);
-
-void handlemap_VkImageViewCreateInfo(
- VulkanHandleMapping* handlemap,
- VkImageViewCreateInfo* toMap);
-
-void handlemap_VkShaderModuleCreateInfo(
- VulkanHandleMapping* handlemap,
- VkShaderModuleCreateInfo* toMap);
-
-void handlemap_VkPipelineCacheCreateInfo(
- VulkanHandleMapping* handlemap,
- VkPipelineCacheCreateInfo* toMap);
-
-void handlemap_VkSpecializationMapEntry(
- VulkanHandleMapping* handlemap,
- VkSpecializationMapEntry* toMap);
-
-void handlemap_VkSpecializationInfo(
- VulkanHandleMapping* handlemap,
- VkSpecializationInfo* toMap);
-
-void handlemap_VkPipelineShaderStageCreateInfo(
- VulkanHandleMapping* handlemap,
- VkPipelineShaderStageCreateInfo* toMap);
-
-void handlemap_VkVertexInputBindingDescription(
- VulkanHandleMapping* handlemap,
- VkVertexInputBindingDescription* toMap);
-
-void handlemap_VkVertexInputAttributeDescription(
- VulkanHandleMapping* handlemap,
- VkVertexInputAttributeDescription* toMap);
-
-void handlemap_VkPipelineVertexInputStateCreateInfo(
- VulkanHandleMapping* handlemap,
- VkPipelineVertexInputStateCreateInfo* toMap);
-
-void handlemap_VkPipelineInputAssemblyStateCreateInfo(
- VulkanHandleMapping* handlemap,
- VkPipelineInputAssemblyStateCreateInfo* toMap);
-
-void handlemap_VkPipelineTessellationStateCreateInfo(
- VulkanHandleMapping* handlemap,
- VkPipelineTessellationStateCreateInfo* toMap);
-
-void handlemap_VkViewport(
- VulkanHandleMapping* handlemap,
- VkViewport* toMap);
-
-void handlemap_VkOffset2D(
- VulkanHandleMapping* handlemap,
- VkOffset2D* toMap);
-
-void handlemap_VkExtent2D(
- VulkanHandleMapping* handlemap,
- VkExtent2D* toMap);
-
-void handlemap_VkRect2D(
- VulkanHandleMapping* handlemap,
- VkRect2D* toMap);
-
-void handlemap_VkPipelineViewportStateCreateInfo(
- VulkanHandleMapping* handlemap,
- VkPipelineViewportStateCreateInfo* toMap);
-
-void handlemap_VkPipelineRasterizationStateCreateInfo(
- VulkanHandleMapping* handlemap,
- VkPipelineRasterizationStateCreateInfo* toMap);
-
-void handlemap_VkPipelineMultisampleStateCreateInfo(
- VulkanHandleMapping* handlemap,
- VkPipelineMultisampleStateCreateInfo* toMap);
-
-void handlemap_VkStencilOpState(
- VulkanHandleMapping* handlemap,
- VkStencilOpState* toMap);
-
-void handlemap_VkPipelineDepthStencilStateCreateInfo(
- VulkanHandleMapping* handlemap,
- VkPipelineDepthStencilStateCreateInfo* toMap);
-
-void handlemap_VkPipelineColorBlendAttachmentState(
- VulkanHandleMapping* handlemap,
- VkPipelineColorBlendAttachmentState* toMap);
-
-void handlemap_VkPipelineColorBlendStateCreateInfo(
- VulkanHandleMapping* handlemap,
- VkPipelineColorBlendStateCreateInfo* toMap);
-
-void handlemap_VkPipelineDynamicStateCreateInfo(
- VulkanHandleMapping* handlemap,
- VkPipelineDynamicStateCreateInfo* toMap);
-
-void handlemap_VkGraphicsPipelineCreateInfo(
- VulkanHandleMapping* handlemap,
- VkGraphicsPipelineCreateInfo* toMap);
-
-void handlemap_VkComputePipelineCreateInfo(
- VulkanHandleMapping* handlemap,
- VkComputePipelineCreateInfo* toMap);
-
-void handlemap_VkPushConstantRange(
- VulkanHandleMapping* handlemap,
- VkPushConstantRange* toMap);
-
-void handlemap_VkPipelineLayoutCreateInfo(
- VulkanHandleMapping* handlemap,
- VkPipelineLayoutCreateInfo* toMap);
-
-void handlemap_VkSamplerCreateInfo(
- VulkanHandleMapping* handlemap,
- VkSamplerCreateInfo* toMap);
-
-void handlemap_VkDescriptorSetLayoutBinding(
- VulkanHandleMapping* handlemap,
- VkDescriptorSetLayoutBinding* toMap);
-
-void handlemap_VkDescriptorSetLayoutCreateInfo(
- VulkanHandleMapping* handlemap,
- VkDescriptorSetLayoutCreateInfo* toMap);
-
-void handlemap_VkDescriptorPoolSize(
- VulkanHandleMapping* handlemap,
- VkDescriptorPoolSize* toMap);
-
-void handlemap_VkDescriptorPoolCreateInfo(
- VulkanHandleMapping* handlemap,
- VkDescriptorPoolCreateInfo* toMap);
-
-void handlemap_VkDescriptorSetAllocateInfo(
- VulkanHandleMapping* handlemap,
- VkDescriptorSetAllocateInfo* toMap);
-
-void handlemap_VkDescriptorImageInfo(
- VulkanHandleMapping* handlemap,
- VkDescriptorImageInfo* toMap);
-
-void handlemap_VkDescriptorBufferInfo(
- VulkanHandleMapping* handlemap,
- VkDescriptorBufferInfo* toMap);
-
-void handlemap_VkWriteDescriptorSet(
- VulkanHandleMapping* handlemap,
- VkWriteDescriptorSet* toMap);
-
-void handlemap_VkCopyDescriptorSet(
- VulkanHandleMapping* handlemap,
- VkCopyDescriptorSet* toMap);
-
-void handlemap_VkFramebufferCreateInfo(
- VulkanHandleMapping* handlemap,
- VkFramebufferCreateInfo* toMap);
-
-void handlemap_VkAttachmentDescription(
- VulkanHandleMapping* handlemap,
- VkAttachmentDescription* toMap);
-
-void handlemap_VkAttachmentReference(
- VulkanHandleMapping* handlemap,
- VkAttachmentReference* toMap);
-
-void handlemap_VkSubpassDescription(
- VulkanHandleMapping* handlemap,
- VkSubpassDescription* toMap);
-
-void handlemap_VkSubpassDependency(
- VulkanHandleMapping* handlemap,
- VkSubpassDependency* toMap);
-
-void handlemap_VkRenderPassCreateInfo(
- VulkanHandleMapping* handlemap,
- VkRenderPassCreateInfo* toMap);
-
-void handlemap_VkCommandPoolCreateInfo(
- VulkanHandleMapping* handlemap,
- VkCommandPoolCreateInfo* toMap);
-
-void handlemap_VkCommandBufferAllocateInfo(
- VulkanHandleMapping* handlemap,
- VkCommandBufferAllocateInfo* toMap);
-
-void handlemap_VkCommandBufferInheritanceInfo(
- VulkanHandleMapping* handlemap,
- VkCommandBufferInheritanceInfo* toMap);
-
-void handlemap_VkCommandBufferBeginInfo(
- VulkanHandleMapping* handlemap,
- VkCommandBufferBeginInfo* toMap);
-
-void handlemap_VkBufferCopy(
- VulkanHandleMapping* handlemap,
- VkBufferCopy* toMap);
-
-void handlemap_VkImageSubresourceLayers(
- VulkanHandleMapping* handlemap,
- VkImageSubresourceLayers* toMap);
-
-void handlemap_VkImageCopy(
- VulkanHandleMapping* handlemap,
- VkImageCopy* toMap);
-
-void handlemap_VkImageBlit(
- VulkanHandleMapping* handlemap,
- VkImageBlit* toMap);
-
-void handlemap_VkBufferImageCopy(
- VulkanHandleMapping* handlemap,
- VkBufferImageCopy* toMap);
-
-void handlemap_VkClearColorValue(
- VulkanHandleMapping* handlemap,
- VkClearColorValue* toMap);
-
-void handlemap_VkClearDepthStencilValue(
- VulkanHandleMapping* handlemap,
- VkClearDepthStencilValue* toMap);
-
-void handlemap_VkClearValue(
- VulkanHandleMapping* handlemap,
- VkClearValue* toMap);
-
-void handlemap_VkClearAttachment(
- VulkanHandleMapping* handlemap,
- VkClearAttachment* toMap);
-
-void handlemap_VkClearRect(
- VulkanHandleMapping* handlemap,
- VkClearRect* toMap);
-
-void handlemap_VkImageResolve(
- VulkanHandleMapping* handlemap,
- VkImageResolve* toMap);
-
-void handlemap_VkMemoryBarrier(
- VulkanHandleMapping* handlemap,
- VkMemoryBarrier* toMap);
-
-void handlemap_VkBufferMemoryBarrier(
- VulkanHandleMapping* handlemap,
- VkBufferMemoryBarrier* toMap);
-
-void handlemap_VkImageMemoryBarrier(
- VulkanHandleMapping* handlemap,
- VkImageMemoryBarrier* toMap);
-
-void handlemap_VkRenderPassBeginInfo(
- VulkanHandleMapping* handlemap,
- VkRenderPassBeginInfo* toMap);
-
-void handlemap_VkDispatchIndirectCommand(
- VulkanHandleMapping* handlemap,
- VkDispatchIndirectCommand* toMap);
-
-void handlemap_VkDrawIndexedIndirectCommand(
- VulkanHandleMapping* handlemap,
- VkDrawIndexedIndirectCommand* toMap);
-
-void handlemap_VkDrawIndirectCommand(
- VulkanHandleMapping* handlemap,
- VkDrawIndirectCommand* toMap);
-
-void handlemap_VkBaseOutStructure(
- VulkanHandleMapping* handlemap,
- VkBaseOutStructure* toMap);
-
-void handlemap_VkBaseInStructure(
- VulkanHandleMapping* handlemap,
- VkBaseInStructure* toMap);
-
-#endif
-#ifdef VK_VERSION_1_1
-void handlemap_VkPhysicalDeviceSubgroupProperties(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceSubgroupProperties* toMap);
-
-void handlemap_VkBindBufferMemoryInfo(
- VulkanHandleMapping* handlemap,
- VkBindBufferMemoryInfo* toMap);
-
-void handlemap_VkBindImageMemoryInfo(
- VulkanHandleMapping* handlemap,
- VkBindImageMemoryInfo* toMap);
-
-void handlemap_VkPhysicalDevice16BitStorageFeatures(
- VulkanHandleMapping* handlemap,
- VkPhysicalDevice16BitStorageFeatures* toMap);
-
-void handlemap_VkMemoryDedicatedRequirements(
- VulkanHandleMapping* handlemap,
- VkMemoryDedicatedRequirements* toMap);
-
-void handlemap_VkMemoryDedicatedAllocateInfo(
- VulkanHandleMapping* handlemap,
- VkMemoryDedicatedAllocateInfo* toMap);
-
-void handlemap_VkMemoryAllocateFlagsInfo(
- VulkanHandleMapping* handlemap,
- VkMemoryAllocateFlagsInfo* toMap);
-
-void handlemap_VkDeviceGroupRenderPassBeginInfo(
- VulkanHandleMapping* handlemap,
- VkDeviceGroupRenderPassBeginInfo* toMap);
-
-void handlemap_VkDeviceGroupCommandBufferBeginInfo(
- VulkanHandleMapping* handlemap,
- VkDeviceGroupCommandBufferBeginInfo* toMap);
-
-void handlemap_VkDeviceGroupSubmitInfo(
- VulkanHandleMapping* handlemap,
- VkDeviceGroupSubmitInfo* toMap);
-
-void handlemap_VkDeviceGroupBindSparseInfo(
- VulkanHandleMapping* handlemap,
- VkDeviceGroupBindSparseInfo* toMap);
-
-void handlemap_VkBindBufferMemoryDeviceGroupInfo(
- VulkanHandleMapping* handlemap,
- VkBindBufferMemoryDeviceGroupInfo* toMap);
-
-void handlemap_VkBindImageMemoryDeviceGroupInfo(
- VulkanHandleMapping* handlemap,
- VkBindImageMemoryDeviceGroupInfo* toMap);
-
-void handlemap_VkPhysicalDeviceGroupProperties(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceGroupProperties* toMap);
-
-void handlemap_VkDeviceGroupDeviceCreateInfo(
- VulkanHandleMapping* handlemap,
- VkDeviceGroupDeviceCreateInfo* toMap);
-
-void handlemap_VkBufferMemoryRequirementsInfo2(
- VulkanHandleMapping* handlemap,
- VkBufferMemoryRequirementsInfo2* toMap);
-
-void handlemap_VkImageMemoryRequirementsInfo2(
- VulkanHandleMapping* handlemap,
- VkImageMemoryRequirementsInfo2* toMap);
-
-void handlemap_VkImageSparseMemoryRequirementsInfo2(
- VulkanHandleMapping* handlemap,
- VkImageSparseMemoryRequirementsInfo2* toMap);
-
-void handlemap_VkMemoryRequirements2(
- VulkanHandleMapping* handlemap,
- VkMemoryRequirements2* toMap);
-
-void handlemap_VkSparseImageMemoryRequirements2(
- VulkanHandleMapping* handlemap,
- VkSparseImageMemoryRequirements2* toMap);
-
-void handlemap_VkPhysicalDeviceFeatures2(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceFeatures2* toMap);
-
-void handlemap_VkPhysicalDeviceProperties2(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceProperties2* toMap);
-
-void handlemap_VkFormatProperties2(
- VulkanHandleMapping* handlemap,
- VkFormatProperties2* toMap);
-
-void handlemap_VkImageFormatProperties2(
- VulkanHandleMapping* handlemap,
- VkImageFormatProperties2* toMap);
-
-void handlemap_VkPhysicalDeviceImageFormatInfo2(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceImageFormatInfo2* toMap);
-
-void handlemap_VkQueueFamilyProperties2(
- VulkanHandleMapping* handlemap,
- VkQueueFamilyProperties2* toMap);
-
-void handlemap_VkPhysicalDeviceMemoryProperties2(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceMemoryProperties2* toMap);
-
-void handlemap_VkSparseImageFormatProperties2(
- VulkanHandleMapping* handlemap,
- VkSparseImageFormatProperties2* toMap);
-
-void handlemap_VkPhysicalDeviceSparseImageFormatInfo2(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceSparseImageFormatInfo2* toMap);
-
-void handlemap_VkPhysicalDevicePointClippingProperties(
- VulkanHandleMapping* handlemap,
- VkPhysicalDevicePointClippingProperties* toMap);
-
-void handlemap_VkInputAttachmentAspectReference(
- VulkanHandleMapping* handlemap,
- VkInputAttachmentAspectReference* toMap);
-
-void handlemap_VkRenderPassInputAttachmentAspectCreateInfo(
- VulkanHandleMapping* handlemap,
- VkRenderPassInputAttachmentAspectCreateInfo* toMap);
-
-void handlemap_VkImageViewUsageCreateInfo(
- VulkanHandleMapping* handlemap,
- VkImageViewUsageCreateInfo* toMap);
-
-void handlemap_VkPipelineTessellationDomainOriginStateCreateInfo(
- VulkanHandleMapping* handlemap,
- VkPipelineTessellationDomainOriginStateCreateInfo* toMap);
-
-void handlemap_VkRenderPassMultiviewCreateInfo(
- VulkanHandleMapping* handlemap,
- VkRenderPassMultiviewCreateInfo* toMap);
-
-void handlemap_VkPhysicalDeviceMultiviewFeatures(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceMultiviewFeatures* toMap);
-
-void handlemap_VkPhysicalDeviceMultiviewProperties(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceMultiviewProperties* toMap);
-
-void handlemap_VkPhysicalDeviceVariablePointerFeatures(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceVariablePointerFeatures* toMap);
-
-void handlemap_VkPhysicalDeviceProtectedMemoryFeatures(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceProtectedMemoryFeatures* toMap);
-
-void handlemap_VkPhysicalDeviceProtectedMemoryProperties(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceProtectedMemoryProperties* toMap);
-
-void handlemap_VkDeviceQueueInfo2(
- VulkanHandleMapping* handlemap,
- VkDeviceQueueInfo2* toMap);
-
-void handlemap_VkProtectedSubmitInfo(
- VulkanHandleMapping* handlemap,
- VkProtectedSubmitInfo* toMap);
-
-void handlemap_VkSamplerYcbcrConversionCreateInfo(
- VulkanHandleMapping* handlemap,
- VkSamplerYcbcrConversionCreateInfo* toMap);
-
-void handlemap_VkSamplerYcbcrConversionInfo(
- VulkanHandleMapping* handlemap,
- VkSamplerYcbcrConversionInfo* toMap);
-
-void handlemap_VkBindImagePlaneMemoryInfo(
- VulkanHandleMapping* handlemap,
- VkBindImagePlaneMemoryInfo* toMap);
-
-void handlemap_VkImagePlaneMemoryRequirementsInfo(
- VulkanHandleMapping* handlemap,
- VkImagePlaneMemoryRequirementsInfo* toMap);
-
-void handlemap_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceSamplerYcbcrConversionFeatures* toMap);
-
-void handlemap_VkSamplerYcbcrConversionImageFormatProperties(
- VulkanHandleMapping* handlemap,
- VkSamplerYcbcrConversionImageFormatProperties* toMap);
-
-void handlemap_VkDescriptorUpdateTemplateEntry(
- VulkanHandleMapping* handlemap,
- VkDescriptorUpdateTemplateEntry* toMap);
-
-void handlemap_VkDescriptorUpdateTemplateCreateInfo(
- VulkanHandleMapping* handlemap,
- VkDescriptorUpdateTemplateCreateInfo* toMap);
-
-void handlemap_VkExternalMemoryProperties(
- VulkanHandleMapping* handlemap,
- VkExternalMemoryProperties* toMap);
-
-void handlemap_VkPhysicalDeviceExternalImageFormatInfo(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceExternalImageFormatInfo* toMap);
-
-void handlemap_VkExternalImageFormatProperties(
- VulkanHandleMapping* handlemap,
- VkExternalImageFormatProperties* toMap);
-
-void handlemap_VkPhysicalDeviceExternalBufferInfo(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceExternalBufferInfo* toMap);
-
-void handlemap_VkExternalBufferProperties(
- VulkanHandleMapping* handlemap,
- VkExternalBufferProperties* toMap);
-
-void handlemap_VkPhysicalDeviceIDProperties(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceIDProperties* toMap);
-
-void handlemap_VkExternalMemoryImageCreateInfo(
- VulkanHandleMapping* handlemap,
- VkExternalMemoryImageCreateInfo* toMap);
-
-void handlemap_VkExternalMemoryBufferCreateInfo(
- VulkanHandleMapping* handlemap,
- VkExternalMemoryBufferCreateInfo* toMap);
-
-void handlemap_VkExportMemoryAllocateInfo(
- VulkanHandleMapping* handlemap,
- VkExportMemoryAllocateInfo* toMap);
-
-void handlemap_VkPhysicalDeviceExternalFenceInfo(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceExternalFenceInfo* toMap);
-
-void handlemap_VkExternalFenceProperties(
- VulkanHandleMapping* handlemap,
- VkExternalFenceProperties* toMap);
-
-void handlemap_VkExportFenceCreateInfo(
- VulkanHandleMapping* handlemap,
- VkExportFenceCreateInfo* toMap);
-
-void handlemap_VkExportSemaphoreCreateInfo(
- VulkanHandleMapping* handlemap,
- VkExportSemaphoreCreateInfo* toMap);
-
-void handlemap_VkPhysicalDeviceExternalSemaphoreInfo(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceExternalSemaphoreInfo* toMap);
-
-void handlemap_VkExternalSemaphoreProperties(
- VulkanHandleMapping* handlemap,
- VkExternalSemaphoreProperties* toMap);
-
-void handlemap_VkPhysicalDeviceMaintenance3Properties(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceMaintenance3Properties* toMap);
-
-void handlemap_VkDescriptorSetLayoutSupport(
- VulkanHandleMapping* handlemap,
- VkDescriptorSetLayoutSupport* toMap);
-
-void handlemap_VkPhysicalDeviceShaderDrawParameterFeatures(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceShaderDrawParameterFeatures* toMap);
-
-#endif
-#ifdef VK_KHR_surface
-void handlemap_VkSurfaceCapabilitiesKHR(
- VulkanHandleMapping* handlemap,
- VkSurfaceCapabilitiesKHR* toMap);
-
-void handlemap_VkSurfaceFormatKHR(
- VulkanHandleMapping* handlemap,
- VkSurfaceFormatKHR* toMap);
-
-#endif
-#ifdef VK_KHR_swapchain
-void handlemap_VkSwapchainCreateInfoKHR(
- VulkanHandleMapping* handlemap,
- VkSwapchainCreateInfoKHR* toMap);
-
-void handlemap_VkPresentInfoKHR(
- VulkanHandleMapping* handlemap,
- VkPresentInfoKHR* toMap);
-
-void handlemap_VkImageSwapchainCreateInfoKHR(
- VulkanHandleMapping* handlemap,
- VkImageSwapchainCreateInfoKHR* toMap);
-
-void handlemap_VkBindImageMemorySwapchainInfoKHR(
- VulkanHandleMapping* handlemap,
- VkBindImageMemorySwapchainInfoKHR* toMap);
-
-void handlemap_VkAcquireNextImageInfoKHR(
- VulkanHandleMapping* handlemap,
- VkAcquireNextImageInfoKHR* toMap);
-
-void handlemap_VkDeviceGroupPresentCapabilitiesKHR(
- VulkanHandleMapping* handlemap,
- VkDeviceGroupPresentCapabilitiesKHR* toMap);
-
-void handlemap_VkDeviceGroupPresentInfoKHR(
- VulkanHandleMapping* handlemap,
- VkDeviceGroupPresentInfoKHR* toMap);
-
-void handlemap_VkDeviceGroupSwapchainCreateInfoKHR(
- VulkanHandleMapping* handlemap,
- VkDeviceGroupSwapchainCreateInfoKHR* toMap);
-
-#endif
-#ifdef VK_KHR_display
-void handlemap_VkDisplayPropertiesKHR(
- VulkanHandleMapping* handlemap,
- VkDisplayPropertiesKHR* toMap);
-
-void handlemap_VkDisplayModeParametersKHR(
- VulkanHandleMapping* handlemap,
- VkDisplayModeParametersKHR* toMap);
-
-void handlemap_VkDisplayModePropertiesKHR(
- VulkanHandleMapping* handlemap,
- VkDisplayModePropertiesKHR* toMap);
-
-void handlemap_VkDisplayModeCreateInfoKHR(
- VulkanHandleMapping* handlemap,
- VkDisplayModeCreateInfoKHR* toMap);
-
-void handlemap_VkDisplayPlaneCapabilitiesKHR(
- VulkanHandleMapping* handlemap,
- VkDisplayPlaneCapabilitiesKHR* toMap);
-
-void handlemap_VkDisplayPlanePropertiesKHR(
- VulkanHandleMapping* handlemap,
- VkDisplayPlanePropertiesKHR* toMap);
-
-void handlemap_VkDisplaySurfaceCreateInfoKHR(
- VulkanHandleMapping* handlemap,
- VkDisplaySurfaceCreateInfoKHR* toMap);
-
-#endif
-#ifdef VK_KHR_display_swapchain
-void handlemap_VkDisplayPresentInfoKHR(
- VulkanHandleMapping* handlemap,
- VkDisplayPresentInfoKHR* toMap);
-
-#endif
-#ifdef VK_KHR_xlib_surface
-void handlemap_VkXlibSurfaceCreateInfoKHR(
- VulkanHandleMapping* handlemap,
- VkXlibSurfaceCreateInfoKHR* toMap);
-
-#endif
-#ifdef VK_KHR_xcb_surface
-void handlemap_VkXcbSurfaceCreateInfoKHR(
- VulkanHandleMapping* handlemap,
- VkXcbSurfaceCreateInfoKHR* toMap);
-
-#endif
-#ifdef VK_KHR_wayland_surface
-void handlemap_VkWaylandSurfaceCreateInfoKHR(
- VulkanHandleMapping* handlemap,
- VkWaylandSurfaceCreateInfoKHR* toMap);
-
-#endif
-#ifdef VK_KHR_mir_surface
-void handlemap_VkMirSurfaceCreateInfoKHR(
- VulkanHandleMapping* handlemap,
- VkMirSurfaceCreateInfoKHR* toMap);
-
-#endif
-#ifdef VK_KHR_android_surface
-void handlemap_VkAndroidSurfaceCreateInfoKHR(
- VulkanHandleMapping* handlemap,
- VkAndroidSurfaceCreateInfoKHR* toMap);
-
-#endif
-#ifdef VK_KHR_win32_surface
-void handlemap_VkWin32SurfaceCreateInfoKHR(
- VulkanHandleMapping* handlemap,
- VkWin32SurfaceCreateInfoKHR* toMap);
-
-#endif
-#ifdef VK_KHR_sampler_mirror_clamp_to_edge
-#endif
-#ifdef VK_KHR_multiview
-#endif
-#ifdef VK_KHR_get_physical_device_properties2
-#endif
-#ifdef VK_KHR_device_group
-#endif
-#ifdef VK_KHR_shader_draw_parameters
-#endif
-#ifdef VK_KHR_maintenance1
-#endif
-#ifdef VK_KHR_device_group_creation
-#endif
-#ifdef VK_KHR_external_memory_capabilities
-#endif
-#ifdef VK_KHR_external_memory
-#endif
-#ifdef VK_KHR_external_memory_win32
-void handlemap_VkImportMemoryWin32HandleInfoKHR(
- VulkanHandleMapping* handlemap,
- VkImportMemoryWin32HandleInfoKHR* toMap);
-
-void handlemap_VkExportMemoryWin32HandleInfoKHR(
- VulkanHandleMapping* handlemap,
- VkExportMemoryWin32HandleInfoKHR* toMap);
-
-void handlemap_VkMemoryWin32HandlePropertiesKHR(
- VulkanHandleMapping* handlemap,
- VkMemoryWin32HandlePropertiesKHR* toMap);
-
-void handlemap_VkMemoryGetWin32HandleInfoKHR(
- VulkanHandleMapping* handlemap,
- VkMemoryGetWin32HandleInfoKHR* toMap);
-
-#endif
-#ifdef VK_KHR_external_memory_fd
-void handlemap_VkImportMemoryFdInfoKHR(
- VulkanHandleMapping* handlemap,
- VkImportMemoryFdInfoKHR* toMap);
-
-void handlemap_VkMemoryFdPropertiesKHR(
- VulkanHandleMapping* handlemap,
- VkMemoryFdPropertiesKHR* toMap);
-
-void handlemap_VkMemoryGetFdInfoKHR(
- VulkanHandleMapping* handlemap,
- VkMemoryGetFdInfoKHR* toMap);
-
-#endif
-#ifdef VK_KHR_win32_keyed_mutex
-void handlemap_VkWin32KeyedMutexAcquireReleaseInfoKHR(
- VulkanHandleMapping* handlemap,
- VkWin32KeyedMutexAcquireReleaseInfoKHR* toMap);
-
-#endif
-#ifdef VK_KHR_external_semaphore_capabilities
-#endif
-#ifdef VK_KHR_external_semaphore
-#endif
-#ifdef VK_KHR_external_semaphore_win32
-void handlemap_VkImportSemaphoreWin32HandleInfoKHR(
- VulkanHandleMapping* handlemap,
- VkImportSemaphoreWin32HandleInfoKHR* toMap);
-
-void handlemap_VkExportSemaphoreWin32HandleInfoKHR(
- VulkanHandleMapping* handlemap,
- VkExportSemaphoreWin32HandleInfoKHR* toMap);
-
-void handlemap_VkD3D12FenceSubmitInfoKHR(
- VulkanHandleMapping* handlemap,
- VkD3D12FenceSubmitInfoKHR* toMap);
-
-void handlemap_VkSemaphoreGetWin32HandleInfoKHR(
- VulkanHandleMapping* handlemap,
- VkSemaphoreGetWin32HandleInfoKHR* toMap);
-
-#endif
-#ifdef VK_KHR_external_semaphore_fd
-void handlemap_VkImportSemaphoreFdInfoKHR(
- VulkanHandleMapping* handlemap,
- VkImportSemaphoreFdInfoKHR* toMap);
-
-void handlemap_VkSemaphoreGetFdInfoKHR(
- VulkanHandleMapping* handlemap,
- VkSemaphoreGetFdInfoKHR* toMap);
-
-#endif
-#ifdef VK_KHR_push_descriptor
-void handlemap_VkPhysicalDevicePushDescriptorPropertiesKHR(
- VulkanHandleMapping* handlemap,
- VkPhysicalDevicePushDescriptorPropertiesKHR* toMap);
-
-#endif
-#ifdef VK_KHR_16bit_storage
-#endif
-#ifdef VK_KHR_incremental_present
-void handlemap_VkRectLayerKHR(
- VulkanHandleMapping* handlemap,
- VkRectLayerKHR* toMap);
-
-void handlemap_VkPresentRegionKHR(
- VulkanHandleMapping* handlemap,
- VkPresentRegionKHR* toMap);
-
-void handlemap_VkPresentRegionsKHR(
- VulkanHandleMapping* handlemap,
- VkPresentRegionsKHR* toMap);
-
-#endif
-#ifdef VK_KHR_descriptor_update_template
-#endif
-#ifdef VK_KHR_create_renderpass2
-void handlemap_VkAttachmentDescription2KHR(
- VulkanHandleMapping* handlemap,
- VkAttachmentDescription2KHR* toMap);
-
-void handlemap_VkAttachmentReference2KHR(
- VulkanHandleMapping* handlemap,
- VkAttachmentReference2KHR* toMap);
-
-void handlemap_VkSubpassDescription2KHR(
- VulkanHandleMapping* handlemap,
- VkSubpassDescription2KHR* toMap);
-
-void handlemap_VkSubpassDependency2KHR(
- VulkanHandleMapping* handlemap,
- VkSubpassDependency2KHR* toMap);
-
-void handlemap_VkRenderPassCreateInfo2KHR(
- VulkanHandleMapping* handlemap,
- VkRenderPassCreateInfo2KHR* toMap);
-
-void handlemap_VkSubpassBeginInfoKHR(
- VulkanHandleMapping* handlemap,
- VkSubpassBeginInfoKHR* toMap);
-
-void handlemap_VkSubpassEndInfoKHR(
- VulkanHandleMapping* handlemap,
- VkSubpassEndInfoKHR* toMap);
-
-#endif
-#ifdef VK_KHR_shared_presentable_image
-void handlemap_VkSharedPresentSurfaceCapabilitiesKHR(
- VulkanHandleMapping* handlemap,
- VkSharedPresentSurfaceCapabilitiesKHR* toMap);
-
-#endif
-#ifdef VK_KHR_external_fence_capabilities
-#endif
-#ifdef VK_KHR_external_fence
-#endif
-#ifdef VK_KHR_external_fence_win32
-void handlemap_VkImportFenceWin32HandleInfoKHR(
- VulkanHandleMapping* handlemap,
- VkImportFenceWin32HandleInfoKHR* toMap);
-
-void handlemap_VkExportFenceWin32HandleInfoKHR(
- VulkanHandleMapping* handlemap,
- VkExportFenceWin32HandleInfoKHR* toMap);
-
-void handlemap_VkFenceGetWin32HandleInfoKHR(
- VulkanHandleMapping* handlemap,
- VkFenceGetWin32HandleInfoKHR* toMap);
-
-#endif
-#ifdef VK_KHR_external_fence_fd
-void handlemap_VkImportFenceFdInfoKHR(
- VulkanHandleMapping* handlemap,
- VkImportFenceFdInfoKHR* toMap);
-
-void handlemap_VkFenceGetFdInfoKHR(
- VulkanHandleMapping* handlemap,
- VkFenceGetFdInfoKHR* toMap);
-
-#endif
-#ifdef VK_KHR_maintenance2
-#endif
-#ifdef VK_KHR_get_surface_capabilities2
-void handlemap_VkPhysicalDeviceSurfaceInfo2KHR(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceSurfaceInfo2KHR* toMap);
-
-void handlemap_VkSurfaceCapabilities2KHR(
- VulkanHandleMapping* handlemap,
- VkSurfaceCapabilities2KHR* toMap);
-
-void handlemap_VkSurfaceFormat2KHR(
- VulkanHandleMapping* handlemap,
- VkSurfaceFormat2KHR* toMap);
-
-#endif
-#ifdef VK_KHR_variable_pointers
-#endif
-#ifdef VK_KHR_get_display_properties2
-void handlemap_VkDisplayProperties2KHR(
- VulkanHandleMapping* handlemap,
- VkDisplayProperties2KHR* toMap);
-
-void handlemap_VkDisplayPlaneProperties2KHR(
- VulkanHandleMapping* handlemap,
- VkDisplayPlaneProperties2KHR* toMap);
-
-void handlemap_VkDisplayModeProperties2KHR(
- VulkanHandleMapping* handlemap,
- VkDisplayModeProperties2KHR* toMap);
-
-void handlemap_VkDisplayPlaneInfo2KHR(
- VulkanHandleMapping* handlemap,
- VkDisplayPlaneInfo2KHR* toMap);
-
-void handlemap_VkDisplayPlaneCapabilities2KHR(
- VulkanHandleMapping* handlemap,
- VkDisplayPlaneCapabilities2KHR* toMap);
-
-#endif
-#ifdef VK_KHR_dedicated_allocation
-#endif
-#ifdef VK_KHR_storage_buffer_storage_class
-#endif
-#ifdef VK_KHR_relaxed_block_layout
-#endif
-#ifdef VK_KHR_get_memory_requirements2
-#endif
-#ifdef VK_KHR_image_format_list
-void handlemap_VkImageFormatListCreateInfoKHR(
- VulkanHandleMapping* handlemap,
- VkImageFormatListCreateInfoKHR* toMap);
-
-#endif
-#ifdef VK_KHR_sampler_ycbcr_conversion
-#endif
-#ifdef VK_KHR_bind_memory2
-#endif
-#ifdef VK_KHR_maintenance3
-#endif
-#ifdef VK_KHR_draw_indirect_count
-#endif
-#ifdef VK_KHR_8bit_storage
-void handlemap_VkPhysicalDevice8BitStorageFeaturesKHR(
- VulkanHandleMapping* handlemap,
- VkPhysicalDevice8BitStorageFeaturesKHR* toMap);
-
-#endif
-#ifdef VK_KHR_shader_float16_int8
-void handlemap_VkPhysicalDeviceShaderFloat16Int8Features(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceShaderFloat16Int8Features* toMap);
-
-#endif
-#ifdef VK_ANDROID_native_buffer
-void handlemap_VkNativeBufferANDROID(
- VulkanHandleMapping* handlemap,
- VkNativeBufferANDROID* toMap);
-
-#endif
-#ifdef VK_EXT_debug_report
-void handlemap_VkDebugReportCallbackCreateInfoEXT(
- VulkanHandleMapping* handlemap,
- VkDebugReportCallbackCreateInfoEXT* toMap);
-
-#endif
-#ifdef VK_NV_glsl_shader
-#endif
-#ifdef VK_EXT_depth_range_unrestricted
-#endif
-#ifdef VK_IMG_filter_cubic
-#endif
-#ifdef VK_AMD_rasterization_order
-void handlemap_VkPipelineRasterizationStateRasterizationOrderAMD(
- VulkanHandleMapping* handlemap,
- VkPipelineRasterizationStateRasterizationOrderAMD* toMap);
-
-#endif
-#ifdef VK_AMD_shader_trinary_minmax
-#endif
-#ifdef VK_AMD_shader_explicit_vertex_parameter
-#endif
-#ifdef VK_EXT_debug_marker
-void handlemap_VkDebugMarkerObjectNameInfoEXT(
- VulkanHandleMapping* handlemap,
- VkDebugMarkerObjectNameInfoEXT* toMap);
-
-void handlemap_VkDebugMarkerObjectTagInfoEXT(
- VulkanHandleMapping* handlemap,
- VkDebugMarkerObjectTagInfoEXT* toMap);
-
-void handlemap_VkDebugMarkerMarkerInfoEXT(
- VulkanHandleMapping* handlemap,
- VkDebugMarkerMarkerInfoEXT* toMap);
-
-#endif
-#ifdef VK_AMD_gcn_shader
-#endif
-#ifdef VK_NV_dedicated_allocation
-void handlemap_VkDedicatedAllocationImageCreateInfoNV(
- VulkanHandleMapping* handlemap,
- VkDedicatedAllocationImageCreateInfoNV* toMap);
-
-void handlemap_VkDedicatedAllocationBufferCreateInfoNV(
- VulkanHandleMapping* handlemap,
- VkDedicatedAllocationBufferCreateInfoNV* toMap);
-
-void handlemap_VkDedicatedAllocationMemoryAllocateInfoNV(
- VulkanHandleMapping* handlemap,
- VkDedicatedAllocationMemoryAllocateInfoNV* toMap);
-
-#endif
-#ifdef VK_AMD_draw_indirect_count
-#endif
-#ifdef VK_AMD_negative_viewport_height
-#endif
-#ifdef VK_AMD_gpu_shader_half_float
-#endif
-#ifdef VK_AMD_shader_ballot
-#endif
-#ifdef VK_AMD_texture_gather_bias_lod
-void handlemap_VkTextureLODGatherFormatPropertiesAMD(
- VulkanHandleMapping* handlemap,
- VkTextureLODGatherFormatPropertiesAMD* toMap);
-
-#endif
-#ifdef VK_AMD_shader_info
-void handlemap_VkShaderResourceUsageAMD(
- VulkanHandleMapping* handlemap,
- VkShaderResourceUsageAMD* toMap);
-
-void handlemap_VkShaderStatisticsInfoAMD(
- VulkanHandleMapping* handlemap,
- VkShaderStatisticsInfoAMD* toMap);
-
-#endif
-#ifdef VK_AMD_shader_image_load_store_lod
-#endif
-#ifdef VK_IMG_format_pvrtc
-#endif
-#ifdef VK_NV_external_memory_capabilities
-void handlemap_VkExternalImageFormatPropertiesNV(
- VulkanHandleMapping* handlemap,
- VkExternalImageFormatPropertiesNV* toMap);
-
-#endif
-#ifdef VK_NV_external_memory
-void handlemap_VkExternalMemoryImageCreateInfoNV(
- VulkanHandleMapping* handlemap,
- VkExternalMemoryImageCreateInfoNV* toMap);
-
-void handlemap_VkExportMemoryAllocateInfoNV(
- VulkanHandleMapping* handlemap,
- VkExportMemoryAllocateInfoNV* toMap);
-
-#endif
-#ifdef VK_NV_external_memory_win32
-void handlemap_VkImportMemoryWin32HandleInfoNV(
- VulkanHandleMapping* handlemap,
- VkImportMemoryWin32HandleInfoNV* toMap);
-
-void handlemap_VkExportMemoryWin32HandleInfoNV(
- VulkanHandleMapping* handlemap,
- VkExportMemoryWin32HandleInfoNV* toMap);
-
-#endif
-#ifdef VK_NV_win32_keyed_mutex
-void handlemap_VkWin32KeyedMutexAcquireReleaseInfoNV(
- VulkanHandleMapping* handlemap,
- VkWin32KeyedMutexAcquireReleaseInfoNV* toMap);
-
-#endif
-#ifdef VK_EXT_validation_flags
-void handlemap_VkValidationFlagsEXT(
- VulkanHandleMapping* handlemap,
- VkValidationFlagsEXT* toMap);
-
-#endif
-#ifdef VK_NN_vi_surface
-void handlemap_VkViSurfaceCreateInfoNN(
- VulkanHandleMapping* handlemap,
- VkViSurfaceCreateInfoNN* toMap);
-
-#endif
-#ifdef VK_EXT_shader_subgroup_ballot
-#endif
-#ifdef VK_EXT_shader_subgroup_vote
-#endif
-#ifdef VK_EXT_conditional_rendering
-void handlemap_VkConditionalRenderingBeginInfoEXT(
- VulkanHandleMapping* handlemap,
- VkConditionalRenderingBeginInfoEXT* toMap);
-
-void handlemap_VkPhysicalDeviceConditionalRenderingFeaturesEXT(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceConditionalRenderingFeaturesEXT* toMap);
-
-void handlemap_VkCommandBufferInheritanceConditionalRenderingInfoEXT(
- VulkanHandleMapping* handlemap,
- VkCommandBufferInheritanceConditionalRenderingInfoEXT* toMap);
-
-#endif
-#ifdef VK_NVX_device_generated_commands
-void handlemap_VkDeviceGeneratedCommandsFeaturesNVX(
- VulkanHandleMapping* handlemap,
- VkDeviceGeneratedCommandsFeaturesNVX* toMap);
-
-void handlemap_VkDeviceGeneratedCommandsLimitsNVX(
- VulkanHandleMapping* handlemap,
- VkDeviceGeneratedCommandsLimitsNVX* toMap);
-
-void handlemap_VkIndirectCommandsTokenNVX(
- VulkanHandleMapping* handlemap,
- VkIndirectCommandsTokenNVX* toMap);
-
-void handlemap_VkIndirectCommandsLayoutTokenNVX(
- VulkanHandleMapping* handlemap,
- VkIndirectCommandsLayoutTokenNVX* toMap);
-
-void handlemap_VkIndirectCommandsLayoutCreateInfoNVX(
- VulkanHandleMapping* handlemap,
- VkIndirectCommandsLayoutCreateInfoNVX* toMap);
-
-void handlemap_VkCmdProcessCommandsInfoNVX(
- VulkanHandleMapping* handlemap,
- VkCmdProcessCommandsInfoNVX* toMap);
-
-void handlemap_VkCmdReserveSpaceForCommandsInfoNVX(
- VulkanHandleMapping* handlemap,
- VkCmdReserveSpaceForCommandsInfoNVX* toMap);
-
-void handlemap_VkObjectTableCreateInfoNVX(
- VulkanHandleMapping* handlemap,
- VkObjectTableCreateInfoNVX* toMap);
-
-void handlemap_VkObjectTableEntryNVX(
- VulkanHandleMapping* handlemap,
- VkObjectTableEntryNVX* toMap);
-
-void handlemap_VkObjectTablePipelineEntryNVX(
- VulkanHandleMapping* handlemap,
- VkObjectTablePipelineEntryNVX* toMap);
-
-void handlemap_VkObjectTableDescriptorSetEntryNVX(
- VulkanHandleMapping* handlemap,
- VkObjectTableDescriptorSetEntryNVX* toMap);
-
-void handlemap_VkObjectTableVertexBufferEntryNVX(
- VulkanHandleMapping* handlemap,
- VkObjectTableVertexBufferEntryNVX* toMap);
-
-void handlemap_VkObjectTableIndexBufferEntryNVX(
- VulkanHandleMapping* handlemap,
- VkObjectTableIndexBufferEntryNVX* toMap);
-
-void handlemap_VkObjectTablePushConstantEntryNVX(
- VulkanHandleMapping* handlemap,
- VkObjectTablePushConstantEntryNVX* toMap);
-
-#endif
-#ifdef VK_NV_clip_space_w_scaling
-void handlemap_VkViewportWScalingNV(
- VulkanHandleMapping* handlemap,
- VkViewportWScalingNV* toMap);
-
-void handlemap_VkPipelineViewportWScalingStateCreateInfoNV(
- VulkanHandleMapping* handlemap,
- VkPipelineViewportWScalingStateCreateInfoNV* toMap);
-
-#endif
-#ifdef VK_EXT_direct_mode_display
-#endif
-#ifdef VK_EXT_acquire_xlib_display
-#endif
-#ifdef VK_EXT_display_surface_counter
-void handlemap_VkSurfaceCapabilities2EXT(
- VulkanHandleMapping* handlemap,
- VkSurfaceCapabilities2EXT* toMap);
-
-#endif
-#ifdef VK_EXT_display_control
-void handlemap_VkDisplayPowerInfoEXT(
- VulkanHandleMapping* handlemap,
- VkDisplayPowerInfoEXT* toMap);
-
-void handlemap_VkDeviceEventInfoEXT(
- VulkanHandleMapping* handlemap,
- VkDeviceEventInfoEXT* toMap);
-
-void handlemap_VkDisplayEventInfoEXT(
- VulkanHandleMapping* handlemap,
- VkDisplayEventInfoEXT* toMap);
-
-void handlemap_VkSwapchainCounterCreateInfoEXT(
- VulkanHandleMapping* handlemap,
- VkSwapchainCounterCreateInfoEXT* toMap);
-
-#endif
-#ifdef VK_GOOGLE_display_timing
-void handlemap_VkRefreshCycleDurationGOOGLE(
- VulkanHandleMapping* handlemap,
- VkRefreshCycleDurationGOOGLE* toMap);
-
-void handlemap_VkPastPresentationTimingGOOGLE(
- VulkanHandleMapping* handlemap,
- VkPastPresentationTimingGOOGLE* toMap);
-
-void handlemap_VkPresentTimeGOOGLE(
- VulkanHandleMapping* handlemap,
- VkPresentTimeGOOGLE* toMap);
-
-void handlemap_VkPresentTimesInfoGOOGLE(
- VulkanHandleMapping* handlemap,
- VkPresentTimesInfoGOOGLE* toMap);
-
-#endif
-#ifdef VK_NV_sample_mask_override_coverage
-#endif
-#ifdef VK_NV_geometry_shader_passthrough
-#endif
-#ifdef VK_NV_viewport_array2
-#endif
-#ifdef VK_NVX_multiview_per_view_attributes
-void handlemap_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX* toMap);
-
-#endif
-#ifdef VK_NV_viewport_swizzle
-void handlemap_VkViewportSwizzleNV(
- VulkanHandleMapping* handlemap,
- VkViewportSwizzleNV* toMap);
-
-void handlemap_VkPipelineViewportSwizzleStateCreateInfoNV(
- VulkanHandleMapping* handlemap,
- VkPipelineViewportSwizzleStateCreateInfoNV* toMap);
-
-#endif
-#ifdef VK_EXT_discard_rectangles
-void handlemap_VkPhysicalDeviceDiscardRectanglePropertiesEXT(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceDiscardRectanglePropertiesEXT* toMap);
-
-void handlemap_VkPipelineDiscardRectangleStateCreateInfoEXT(
- VulkanHandleMapping* handlemap,
- VkPipelineDiscardRectangleStateCreateInfoEXT* toMap);
-
-#endif
-#ifdef VK_EXT_conservative_rasterization
-void handlemap_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceConservativeRasterizationPropertiesEXT* toMap);
-
-void handlemap_VkPipelineRasterizationConservativeStateCreateInfoEXT(
- VulkanHandleMapping* handlemap,
- VkPipelineRasterizationConservativeStateCreateInfoEXT* toMap);
-
-#endif
-#ifdef VK_EXT_swapchain_colorspace
-#endif
-#ifdef VK_EXT_hdr_metadata
-void handlemap_VkXYColorEXT(
- VulkanHandleMapping* handlemap,
- VkXYColorEXT* toMap);
-
-void handlemap_VkHdrMetadataEXT(
- VulkanHandleMapping* handlemap,
- VkHdrMetadataEXT* toMap);
-
-#endif
-#ifdef VK_MVK_ios_surface
-void handlemap_VkIOSSurfaceCreateInfoMVK(
- VulkanHandleMapping* handlemap,
- VkIOSSurfaceCreateInfoMVK* toMap);
-
-#endif
-#ifdef VK_MVK_macos_surface
-void handlemap_VkMacOSSurfaceCreateInfoMVK(
- VulkanHandleMapping* handlemap,
- VkMacOSSurfaceCreateInfoMVK* toMap);
-
-#endif
-#ifdef VK_EXT_external_memory_dma_buf
-#endif
-#ifdef VK_EXT_queue_family_foreign
-#endif
-#ifdef VK_EXT_debug_utils
-void handlemap_VkDebugUtilsObjectNameInfoEXT(
- VulkanHandleMapping* handlemap,
- VkDebugUtilsObjectNameInfoEXT* toMap);
-
-void handlemap_VkDebugUtilsObjectTagInfoEXT(
- VulkanHandleMapping* handlemap,
- VkDebugUtilsObjectTagInfoEXT* toMap);
-
-void handlemap_VkDebugUtilsLabelEXT(
- VulkanHandleMapping* handlemap,
- VkDebugUtilsLabelEXT* toMap);
-
-void handlemap_VkDebugUtilsMessengerCallbackDataEXT(
- VulkanHandleMapping* handlemap,
- VkDebugUtilsMessengerCallbackDataEXT* toMap);
-
-void handlemap_VkDebugUtilsMessengerCreateInfoEXT(
- VulkanHandleMapping* handlemap,
- VkDebugUtilsMessengerCreateInfoEXT* toMap);
-
-#endif
-#ifdef VK_ANDROID_external_memory_android_hardware_buffer
-void handlemap_VkAndroidHardwareBufferUsageANDROID(
- VulkanHandleMapping* handlemap,
- VkAndroidHardwareBufferUsageANDROID* toMap);
-
-void handlemap_VkAndroidHardwareBufferPropertiesANDROID(
- VulkanHandleMapping* handlemap,
- VkAndroidHardwareBufferPropertiesANDROID* toMap);
-
-void handlemap_VkAndroidHardwareBufferFormatPropertiesANDROID(
- VulkanHandleMapping* handlemap,
- VkAndroidHardwareBufferFormatPropertiesANDROID* toMap);
-
-void handlemap_VkImportAndroidHardwareBufferInfoANDROID(
- VulkanHandleMapping* handlemap,
- VkImportAndroidHardwareBufferInfoANDROID* toMap);
-
-void handlemap_VkMemoryGetAndroidHardwareBufferInfoANDROID(
- VulkanHandleMapping* handlemap,
- VkMemoryGetAndroidHardwareBufferInfoANDROID* toMap);
-
-void handlemap_VkExternalFormatANDROID(
- VulkanHandleMapping* handlemap,
- VkExternalFormatANDROID* toMap);
-
-#endif
-#ifdef VK_EXT_sampler_filter_minmax
-void handlemap_VkSamplerReductionModeCreateInfoEXT(
- VulkanHandleMapping* handlemap,
- VkSamplerReductionModeCreateInfoEXT* toMap);
-
-void handlemap_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT* toMap);
-
-#endif
-#ifdef VK_AMD_gpu_shader_int16
-#endif
-#ifdef VK_AMD_mixed_attachment_samples
-#endif
-#ifdef VK_AMD_shader_fragment_mask
-#endif
-#ifdef VK_EXT_shader_stencil_export
-#endif
-#ifdef VK_EXT_sample_locations
-void handlemap_VkSampleLocationEXT(
- VulkanHandleMapping* handlemap,
- VkSampleLocationEXT* toMap);
-
-void handlemap_VkSampleLocationsInfoEXT(
- VulkanHandleMapping* handlemap,
- VkSampleLocationsInfoEXT* toMap);
-
-void handlemap_VkAttachmentSampleLocationsEXT(
- VulkanHandleMapping* handlemap,
- VkAttachmentSampleLocationsEXT* toMap);
-
-void handlemap_VkSubpassSampleLocationsEXT(
- VulkanHandleMapping* handlemap,
- VkSubpassSampleLocationsEXT* toMap);
-
-void handlemap_VkRenderPassSampleLocationsBeginInfoEXT(
- VulkanHandleMapping* handlemap,
- VkRenderPassSampleLocationsBeginInfoEXT* toMap);
-
-void handlemap_VkPipelineSampleLocationsStateCreateInfoEXT(
- VulkanHandleMapping* handlemap,
- VkPipelineSampleLocationsStateCreateInfoEXT* toMap);
-
-void handlemap_VkPhysicalDeviceSampleLocationsPropertiesEXT(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceSampleLocationsPropertiesEXT* toMap);
-
-void handlemap_VkMultisamplePropertiesEXT(
- VulkanHandleMapping* handlemap,
- VkMultisamplePropertiesEXT* toMap);
-
-#endif
-#ifdef VK_EXT_blend_operation_advanced
-void handlemap_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT* toMap);
-
-void handlemap_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT* toMap);
-
-void handlemap_VkPipelineColorBlendAdvancedStateCreateInfoEXT(
- VulkanHandleMapping* handlemap,
- VkPipelineColorBlendAdvancedStateCreateInfoEXT* toMap);
-
-#endif
-#ifdef VK_NV_fragment_coverage_to_color
-void handlemap_VkPipelineCoverageToColorStateCreateInfoNV(
- VulkanHandleMapping* handlemap,
- VkPipelineCoverageToColorStateCreateInfoNV* toMap);
-
-#endif
-#ifdef VK_NV_framebuffer_mixed_samples
-void handlemap_VkPipelineCoverageModulationStateCreateInfoNV(
- VulkanHandleMapping* handlemap,
- VkPipelineCoverageModulationStateCreateInfoNV* toMap);
-
-#endif
-#ifdef VK_NV_fill_rectangle
-#endif
-#ifdef VK_EXT_post_depth_coverage
-#endif
-#ifdef VK_EXT_validation_cache
-void handlemap_VkValidationCacheCreateInfoEXT(
- VulkanHandleMapping* handlemap,
- VkValidationCacheCreateInfoEXT* toMap);
-
-void handlemap_VkShaderModuleValidationCacheCreateInfoEXT(
- VulkanHandleMapping* handlemap,
- VkShaderModuleValidationCacheCreateInfoEXT* toMap);
-
-#endif
-#ifdef VK_EXT_descriptor_indexing
-void handlemap_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT(
- VulkanHandleMapping* handlemap,
- VkDescriptorSetLayoutBindingFlagsCreateInfoEXT* toMap);
-
-void handlemap_VkPhysicalDeviceDescriptorIndexingFeaturesEXT(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceDescriptorIndexingFeaturesEXT* toMap);
-
-void handlemap_VkPhysicalDeviceDescriptorIndexingPropertiesEXT(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceDescriptorIndexingPropertiesEXT* toMap);
-
-void handlemap_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT(
- VulkanHandleMapping* handlemap,
- VkDescriptorSetVariableDescriptorCountAllocateInfoEXT* toMap);
-
-void handlemap_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT(
- VulkanHandleMapping* handlemap,
- VkDescriptorSetVariableDescriptorCountLayoutSupportEXT* toMap);
-
-#endif
-#ifdef VK_EXT_shader_viewport_index_layer
-#endif
-#ifdef VK_EXT_global_priority
-void handlemap_VkDeviceQueueGlobalPriorityCreateInfoEXT(
- VulkanHandleMapping* handlemap,
- VkDeviceQueueGlobalPriorityCreateInfoEXT* toMap);
-
-#endif
-#ifdef VK_EXT_external_memory_host
-void handlemap_VkImportMemoryHostPointerInfoEXT(
- VulkanHandleMapping* handlemap,
- VkImportMemoryHostPointerInfoEXT* toMap);
-
-void handlemap_VkMemoryHostPointerPropertiesEXT(
- VulkanHandleMapping* handlemap,
- VkMemoryHostPointerPropertiesEXT* toMap);
-
-void handlemap_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceExternalMemoryHostPropertiesEXT* toMap);
-
-#endif
-#ifdef VK_AMD_buffer_marker
-#endif
-#ifdef VK_AMD_shader_core_properties
-void handlemap_VkPhysicalDeviceShaderCorePropertiesAMD(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceShaderCorePropertiesAMD* toMap);
-
-#endif
-#ifdef VK_EXT_vertex_attribute_divisor
-void handlemap_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(
- VulkanHandleMapping* handlemap,
- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* toMap);
-
-void handlemap_VkVertexInputBindingDivisorDescriptionEXT(
- VulkanHandleMapping* handlemap,
- VkVertexInputBindingDivisorDescriptionEXT* toMap);
-
-void handlemap_VkPipelineVertexInputDivisorStateCreateInfoEXT(
- VulkanHandleMapping* handlemap,
- VkPipelineVertexInputDivisorStateCreateInfoEXT* toMap);
-
-#endif
-#ifdef VK_NV_shader_subgroup_partitioned
-#endif
-#ifdef VK_NV_device_diagnostic_checkpoints
-void handlemap_VkQueueFamilyCheckpointPropertiesNV(
- VulkanHandleMapping* handlemap,
- VkQueueFamilyCheckpointPropertiesNV* toMap);
-
-void handlemap_VkCheckpointDataNV(
- VulkanHandleMapping* handlemap,
- VkCheckpointDataNV* toMap);
-
-#endif
-#ifdef VK_GOOGLE_address_space
-#endif
-#ifdef VK_GOOGLE_color_buffer
-void handlemap_VkImportColorBufferGOOGLE(
- VulkanHandleMapping* handlemap,
- VkImportColorBufferGOOGLE* toMap);
-
-void handlemap_VkImportBufferGOOGLE(
- VulkanHandleMapping* handlemap,
- VkImportBufferGOOGLE* toMap);
-
-void handlemap_VkImportPhysicalAddressGOOGLE(
- VulkanHandleMapping* handlemap,
- VkImportPhysicalAddressGOOGLE* toMap);
-
-#endif
-#ifdef VK_GOOGLE_sized_descriptor_update_template
-#endif
-#ifdef VK_GOOGLE_async_command_buffers
-#endif
-#ifdef VK_GOOGLE_create_resources_with_requirements
-#endif
-#ifdef VK_GOOGLE_address_space_info
-#endif
-#ifdef VK_GOOGLE_free_memory_sync
-#endif
-#ifdef VK_GOOGLE_async_queue_submit
-#endif
-#ifdef VK_GOOGLE_linear_image_layout
-#endif
-
-} // namespace goldfish_vk
diff --git a/stream-clients/vulkan_enc/goldfish_vk_marshaling_guest.cpp b/stream-clients/vulkan_enc/goldfish_vk_marshaling_guest.cpp
deleted file mode 100644
index 375bc0e..0000000
--- a/stream-clients/vulkan_enc/goldfish_vk_marshaling_guest.cpp
+++ /dev/null
@@ -1,13260 +0,0 @@
-// 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 goldfish_vk_marshaling_guest
-// (impl) generated by protocols/vulkan/xml/genvk.py -registry protocols/vulkan/xml/vk.xml cereal -o stream-servers/vulkan/cereal
-// Please do not modify directly;
-// re-run generate-vulkan-sources.sh,
-// or directly from Python by defining:
-// VULKAN_REGISTRY_XML_DIR : Directory containing genvk.py and vk.xml
-// CEREAL_OUTPUT_DIR: Where to put the generated sources.
-// python3 $VULKAN_REGISTRY_XML_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o $CEREAL_OUTPUT_DIR
-
-#include "goldfish_vk_marshaling_guest.h"
-
-
-#include "goldfish_vk_extension_structs_guest.h"
-#include "goldfish_vk_private_defs.h"
-
-
-namespace goldfish_vk {
-
-void marshal_extension_struct(
- VulkanStreamGuest* vkStream,
- const void* structExtension);
-
-void unmarshal_extension_struct(
- VulkanStreamGuest* vkStream,
- void* structExtension_out);
-
-#ifdef VK_VERSION_1_0
-void marshal_VkApplicationInfo(
- VulkanStreamGuest* vkStream,
- const VkApplicationInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT)
- {
- // WARNING PTR CHECK
- uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pApplicationName;
- vkStream->putBe64(cgen_var_0);
- if (forMarshaling->pApplicationName)
- {
- vkStream->putString(forMarshaling->pApplicationName);
- }
- }
- else
- {
- vkStream->putString(forMarshaling->pApplicationName);
- }
- vkStream->write((uint32_t*)&forMarshaling->applicationVersion, sizeof(uint32_t));
- if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT)
- {
- // WARNING PTR CHECK
- uint64_t cgen_var_1 = (uint64_t)(uintptr_t)forMarshaling->pEngineName;
- vkStream->putBe64(cgen_var_1);
- if (forMarshaling->pEngineName)
- {
- vkStream->putString(forMarshaling->pEngineName);
- }
- }
- else
- {
- vkStream->putString(forMarshaling->pEngineName);
- }
- vkStream->write((uint32_t*)&forMarshaling->engineVersion, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->apiVersion, sizeof(uint32_t));
-}
-
-void unmarshal_VkApplicationInfo(
- VulkanStreamGuest* vkStream,
- VkApplicationInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT)
- {
- // WARNING PTR CHECK
- const char* check_pApplicationName;
- check_pApplicationName = (const char*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pApplicationName)
- {
- if (!(check_pApplicationName))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pApplicationName inconsistent between guest and host\n");
- }
- vkStream->loadStringInPlace((char**)&forUnmarshaling->pApplicationName);
- }
- }
- else
- {
- vkStream->loadStringInPlace((char**)&forUnmarshaling->pApplicationName);
- }
- vkStream->read((uint32_t*)&forUnmarshaling->applicationVersion, sizeof(uint32_t));
- if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT)
- {
- // WARNING PTR CHECK
- const char* check_pEngineName;
- check_pEngineName = (const char*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pEngineName)
- {
- if (!(check_pEngineName))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pEngineName inconsistent between guest and host\n");
- }
- vkStream->loadStringInPlace((char**)&forUnmarshaling->pEngineName);
- }
- }
- else
- {
- vkStream->loadStringInPlace((char**)&forUnmarshaling->pEngineName);
- }
- vkStream->read((uint32_t*)&forUnmarshaling->engineVersion, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->apiVersion, sizeof(uint32_t));
-}
-
-void marshal_VkInstanceCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkInstanceCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkInstanceCreateFlags*)&forMarshaling->flags, sizeof(VkInstanceCreateFlags));
- // WARNING PTR CHECK
- uint64_t cgen_var_4 = (uint64_t)(uintptr_t)forMarshaling->pApplicationInfo;
- vkStream->putBe64(cgen_var_4);
- if (forMarshaling->pApplicationInfo)
- {
- marshal_VkApplicationInfo(vkStream, (const VkApplicationInfo*)(forMarshaling->pApplicationInfo));
- }
- vkStream->write((uint32_t*)&forMarshaling->enabledLayerCount, sizeof(uint32_t));
- saveStringArray(vkStream, forMarshaling->ppEnabledLayerNames, forMarshaling->enabledLayerCount);
- vkStream->write((uint32_t*)&forMarshaling->enabledExtensionCount, sizeof(uint32_t));
- saveStringArray(vkStream, forMarshaling->ppEnabledExtensionNames, forMarshaling->enabledExtensionCount);
-}
-
-void unmarshal_VkInstanceCreateInfo(
- VulkanStreamGuest* vkStream,
- VkInstanceCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkInstanceCreateFlags*)&forUnmarshaling->flags, sizeof(VkInstanceCreateFlags));
- // WARNING PTR CHECK
- const VkApplicationInfo* check_pApplicationInfo;
- check_pApplicationInfo = (const VkApplicationInfo*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pApplicationInfo)
- {
- if (!(check_pApplicationInfo))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pApplicationInfo inconsistent between guest and host\n");
- }
- unmarshal_VkApplicationInfo(vkStream, (VkApplicationInfo*)(forUnmarshaling->pApplicationInfo));
- }
- vkStream->read((uint32_t*)&forUnmarshaling->enabledLayerCount, sizeof(uint32_t));
- vkStream->loadStringArrayInPlace((char***)&forUnmarshaling->ppEnabledLayerNames);
- vkStream->read((uint32_t*)&forUnmarshaling->enabledExtensionCount, sizeof(uint32_t));
- vkStream->loadStringArrayInPlace((char***)&forUnmarshaling->ppEnabledExtensionNames);
-}
-
-void marshal_VkAllocationCallbacks(
- VulkanStreamGuest* vkStream,
- const VkAllocationCallbacks* forMarshaling)
-{
- // WARNING PTR CHECK
- uint64_t cgen_var_6 = (uint64_t)(uintptr_t)forMarshaling->pUserData;
- vkStream->putBe64(cgen_var_6);
- if (forMarshaling->pUserData)
- {
- vkStream->write((void*)forMarshaling->pUserData, sizeof(uint8_t));
- }
- uint64_t cgen_var_7 = (uint64_t)forMarshaling->pfnAllocation;
- vkStream->putBe64(cgen_var_7);
- uint64_t cgen_var_8 = (uint64_t)forMarshaling->pfnReallocation;
- vkStream->putBe64(cgen_var_8);
- uint64_t cgen_var_9 = (uint64_t)forMarshaling->pfnFree;
- vkStream->putBe64(cgen_var_9);
- uint64_t cgen_var_10 = (uint64_t)forMarshaling->pfnInternalAllocation;
- vkStream->putBe64(cgen_var_10);
- uint64_t cgen_var_11 = (uint64_t)forMarshaling->pfnInternalFree;
- vkStream->putBe64(cgen_var_11);
-}
-
-void unmarshal_VkAllocationCallbacks(
- VulkanStreamGuest* vkStream,
- VkAllocationCallbacks* forUnmarshaling)
-{
- // WARNING PTR CHECK
- void* check_pUserData;
- check_pUserData = (void*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pUserData)
- {
- if (!(check_pUserData))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pUserData inconsistent between guest and host\n");
- }
- vkStream->read((void*)forUnmarshaling->pUserData, sizeof(uint8_t));
- }
- forUnmarshaling->pfnAllocation = (PFN_vkAllocationFunction)vkStream->getBe64();
- forUnmarshaling->pfnReallocation = (PFN_vkReallocationFunction)vkStream->getBe64();
- forUnmarshaling->pfnFree = (PFN_vkFreeFunction)vkStream->getBe64();
- forUnmarshaling->pfnInternalAllocation = (PFN_vkInternalAllocationNotification)vkStream->getBe64();
- forUnmarshaling->pfnInternalFree = (PFN_vkInternalFreeNotification)vkStream->getBe64();
-}
-
-void marshal_VkPhysicalDeviceFeatures(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceFeatures* forMarshaling)
-{
- vkStream->write((VkBool32*)&forMarshaling->robustBufferAccess, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->fullDrawIndexUint32, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->imageCubeArray, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->independentBlend, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->geometryShader, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->tessellationShader, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->sampleRateShading, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->dualSrcBlend, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->logicOp, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->multiDrawIndirect, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->drawIndirectFirstInstance, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->depthClamp, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->depthBiasClamp, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->fillModeNonSolid, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->depthBounds, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->wideLines, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->largePoints, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->alphaToOne, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->multiViewport, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->samplerAnisotropy, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->textureCompressionETC2, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->textureCompressionASTC_LDR, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->textureCompressionBC, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->occlusionQueryPrecise, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->pipelineStatisticsQuery, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->vertexPipelineStoresAndAtomics, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->fragmentStoresAndAtomics, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->shaderTessellationAndGeometryPointSize, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->shaderImageGatherExtended, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageExtendedFormats, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageMultisample, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageReadWithoutFormat, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageWriteWithoutFormat, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->shaderUniformBufferArrayDynamicIndexing, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->shaderSampledImageArrayDynamicIndexing, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->shaderStorageBufferArrayDynamicIndexing, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageArrayDynamicIndexing, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->shaderClipDistance, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->shaderCullDistance, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->shaderFloat64, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->shaderInt64, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->shaderInt16, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->shaderResourceResidency, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->shaderResourceMinLod, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->sparseBinding, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->sparseResidencyBuffer, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->sparseResidencyImage2D, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->sparseResidencyImage3D, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->sparseResidency2Samples, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->sparseResidency4Samples, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->sparseResidency8Samples, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->sparseResidency16Samples, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->sparseResidencyAliased, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->variableMultisampleRate, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->inheritedQueries, sizeof(VkBool32));
-}
-
-void unmarshal_VkPhysicalDeviceFeatures(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceFeatures* forUnmarshaling)
-{
- vkStream->read((VkBool32*)&forUnmarshaling->robustBufferAccess, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->fullDrawIndexUint32, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->imageCubeArray, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->independentBlend, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->geometryShader, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->tessellationShader, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->sampleRateShading, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->dualSrcBlend, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->logicOp, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->multiDrawIndirect, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->drawIndirectFirstInstance, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->depthClamp, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->depthBiasClamp, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->fillModeNonSolid, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->depthBounds, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->wideLines, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->largePoints, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->alphaToOne, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->multiViewport, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->samplerAnisotropy, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->textureCompressionETC2, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->textureCompressionASTC_LDR, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->textureCompressionBC, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->occlusionQueryPrecise, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->pipelineStatisticsQuery, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->vertexPipelineStoresAndAtomics, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->fragmentStoresAndAtomics, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->shaderTessellationAndGeometryPointSize, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->shaderImageGatherExtended, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageExtendedFormats, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageMultisample, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageReadWithoutFormat, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageWriteWithoutFormat, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->shaderUniformBufferArrayDynamicIndexing, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->shaderSampledImageArrayDynamicIndexing, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageBufferArrayDynamicIndexing, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageArrayDynamicIndexing, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->shaderClipDistance, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->shaderCullDistance, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->shaderFloat64, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->shaderInt64, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->shaderInt16, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->shaderResourceResidency, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->shaderResourceMinLod, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->sparseBinding, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->sparseResidencyBuffer, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->sparseResidencyImage2D, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->sparseResidencyImage3D, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->sparseResidency2Samples, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->sparseResidency4Samples, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->sparseResidency8Samples, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->sparseResidency16Samples, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->sparseResidencyAliased, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->variableMultisampleRate, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->inheritedQueries, sizeof(VkBool32));
-}
-
-void marshal_VkFormatProperties(
- VulkanStreamGuest* vkStream,
- const VkFormatProperties* forMarshaling)
-{
- vkStream->write((VkFormatFeatureFlags*)&forMarshaling->linearTilingFeatures, sizeof(VkFormatFeatureFlags));
- vkStream->write((VkFormatFeatureFlags*)&forMarshaling->optimalTilingFeatures, sizeof(VkFormatFeatureFlags));
- vkStream->write((VkFormatFeatureFlags*)&forMarshaling->bufferFeatures, sizeof(VkFormatFeatureFlags));
-}
-
-void unmarshal_VkFormatProperties(
- VulkanStreamGuest* vkStream,
- VkFormatProperties* forUnmarshaling)
-{
- vkStream->read((VkFormatFeatureFlags*)&forUnmarshaling->linearTilingFeatures, sizeof(VkFormatFeatureFlags));
- vkStream->read((VkFormatFeatureFlags*)&forUnmarshaling->optimalTilingFeatures, sizeof(VkFormatFeatureFlags));
- vkStream->read((VkFormatFeatureFlags*)&forUnmarshaling->bufferFeatures, sizeof(VkFormatFeatureFlags));
-}
-
-void marshal_VkExtent3D(
- VulkanStreamGuest* vkStream,
- const VkExtent3D* forMarshaling)
-{
- vkStream->write((uint32_t*)&forMarshaling->width, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->height, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->depth, sizeof(uint32_t));
-}
-
-void unmarshal_VkExtent3D(
- VulkanStreamGuest* vkStream,
- VkExtent3D* forUnmarshaling)
-{
- vkStream->read((uint32_t*)&forUnmarshaling->width, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->height, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->depth, sizeof(uint32_t));
-}
-
-void marshal_VkImageFormatProperties(
- VulkanStreamGuest* vkStream,
- const VkImageFormatProperties* forMarshaling)
-{
- marshal_VkExtent3D(vkStream, (VkExtent3D*)(&forMarshaling->maxExtent));
- vkStream->write((uint32_t*)&forMarshaling->maxMipLevels, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxArrayLayers, sizeof(uint32_t));
- vkStream->write((VkSampleCountFlags*)&forMarshaling->sampleCounts, sizeof(VkSampleCountFlags));
- vkStream->write((VkDeviceSize*)&forMarshaling->maxResourceSize, sizeof(VkDeviceSize));
-}
-
-void unmarshal_VkImageFormatProperties(
- VulkanStreamGuest* vkStream,
- VkImageFormatProperties* forUnmarshaling)
-{
- unmarshal_VkExtent3D(vkStream, (VkExtent3D*)(&forUnmarshaling->maxExtent));
- vkStream->read((uint32_t*)&forUnmarshaling->maxMipLevels, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxArrayLayers, sizeof(uint32_t));
- vkStream->read((VkSampleCountFlags*)&forUnmarshaling->sampleCounts, sizeof(VkSampleCountFlags));
- vkStream->read((VkDeviceSize*)&forUnmarshaling->maxResourceSize, sizeof(VkDeviceSize));
-}
-
-void marshal_VkPhysicalDeviceLimits(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceLimits* forMarshaling)
-{
- vkStream->write((uint32_t*)&forMarshaling->maxImageDimension1D, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxImageDimension2D, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxImageDimension3D, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxImageDimensionCube, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxImageArrayLayers, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxTexelBufferElements, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxUniformBufferRange, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxStorageBufferRange, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxPushConstantsSize, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxMemoryAllocationCount, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxSamplerAllocationCount, sizeof(uint32_t));
- vkStream->write((VkDeviceSize*)&forMarshaling->bufferImageGranularity, sizeof(VkDeviceSize));
- vkStream->write((VkDeviceSize*)&forMarshaling->sparseAddressSpaceSize, sizeof(VkDeviceSize));
- vkStream->write((uint32_t*)&forMarshaling->maxBoundDescriptorSets, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorSamplers, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUniformBuffers, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorStorageBuffers, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorSampledImages, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorStorageImages, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorInputAttachments, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxPerStageResources, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetSamplers, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUniformBuffers, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUniformBuffersDynamic, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetStorageBuffers, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetStorageBuffersDynamic, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetSampledImages, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetStorageImages, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetInputAttachments, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxVertexInputAttributes, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxVertexInputBindings, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxVertexInputAttributeOffset, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxVertexInputBindingStride, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxVertexOutputComponents, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxTessellationGenerationLevel, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxTessellationPatchSize, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxTessellationControlPerVertexInputComponents, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxTessellationControlPerVertexOutputComponents, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxTessellationControlPerPatchOutputComponents, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxTessellationControlTotalOutputComponents, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxTessellationEvaluationInputComponents, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxTessellationEvaluationOutputComponents, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxGeometryShaderInvocations, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxGeometryInputComponents, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxGeometryOutputComponents, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxGeometryOutputVertices, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxGeometryTotalOutputComponents, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxFragmentInputComponents, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxFragmentOutputAttachments, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxFragmentDualSrcAttachments, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxFragmentCombinedOutputResources, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxComputeSharedMemorySize, sizeof(uint32_t));
- vkStream->write((uint32_t*)forMarshaling->maxComputeWorkGroupCount, 3 * sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxComputeWorkGroupInvocations, sizeof(uint32_t));
- vkStream->write((uint32_t*)forMarshaling->maxComputeWorkGroupSize, 3 * sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->subPixelPrecisionBits, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->subTexelPrecisionBits, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->mipmapPrecisionBits, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxDrawIndexedIndexValue, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxDrawIndirectCount, sizeof(uint32_t));
- vkStream->write((float*)&forMarshaling->maxSamplerLodBias, sizeof(float));
- vkStream->write((float*)&forMarshaling->maxSamplerAnisotropy, sizeof(float));
- vkStream->write((uint32_t*)&forMarshaling->maxViewports, sizeof(uint32_t));
- vkStream->write((uint32_t*)forMarshaling->maxViewportDimensions, 2 * sizeof(uint32_t));
- vkStream->write((float*)forMarshaling->viewportBoundsRange, 2 * sizeof(float));
- vkStream->write((uint32_t*)&forMarshaling->viewportSubPixelBits, sizeof(uint32_t));
- uint64_t cgen_var_18 = (uint64_t)forMarshaling->minMemoryMapAlignment;
- vkStream->putBe64(cgen_var_18);
- vkStream->write((VkDeviceSize*)&forMarshaling->minTexelBufferOffsetAlignment, sizeof(VkDeviceSize));
- vkStream->write((VkDeviceSize*)&forMarshaling->minUniformBufferOffsetAlignment, sizeof(VkDeviceSize));
- vkStream->write((VkDeviceSize*)&forMarshaling->minStorageBufferOffsetAlignment, sizeof(VkDeviceSize));
- vkStream->write((int32_t*)&forMarshaling->minTexelOffset, sizeof(int32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxTexelOffset, sizeof(uint32_t));
- vkStream->write((int32_t*)&forMarshaling->minTexelGatherOffset, sizeof(int32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxTexelGatherOffset, sizeof(uint32_t));
- vkStream->write((float*)&forMarshaling->minInterpolationOffset, sizeof(float));
- vkStream->write((float*)&forMarshaling->maxInterpolationOffset, sizeof(float));
- vkStream->write((uint32_t*)&forMarshaling->subPixelInterpolationOffsetBits, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxFramebufferWidth, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxFramebufferHeight, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxFramebufferLayers, sizeof(uint32_t));
- vkStream->write((VkSampleCountFlags*)&forMarshaling->framebufferColorSampleCounts, sizeof(VkSampleCountFlags));
- vkStream->write((VkSampleCountFlags*)&forMarshaling->framebufferDepthSampleCounts, sizeof(VkSampleCountFlags));
- vkStream->write((VkSampleCountFlags*)&forMarshaling->framebufferStencilSampleCounts, sizeof(VkSampleCountFlags));
- vkStream->write((VkSampleCountFlags*)&forMarshaling->framebufferNoAttachmentsSampleCounts, sizeof(VkSampleCountFlags));
- vkStream->write((uint32_t*)&forMarshaling->maxColorAttachments, sizeof(uint32_t));
- vkStream->write((VkSampleCountFlags*)&forMarshaling->sampledImageColorSampleCounts, sizeof(VkSampleCountFlags));
- vkStream->write((VkSampleCountFlags*)&forMarshaling->sampledImageIntegerSampleCounts, sizeof(VkSampleCountFlags));
- vkStream->write((VkSampleCountFlags*)&forMarshaling->sampledImageDepthSampleCounts, sizeof(VkSampleCountFlags));
- vkStream->write((VkSampleCountFlags*)&forMarshaling->sampledImageStencilSampleCounts, sizeof(VkSampleCountFlags));
- vkStream->write((VkSampleCountFlags*)&forMarshaling->storageImageSampleCounts, sizeof(VkSampleCountFlags));
- vkStream->write((uint32_t*)&forMarshaling->maxSampleMaskWords, sizeof(uint32_t));
- vkStream->write((VkBool32*)&forMarshaling->timestampComputeAndGraphics, sizeof(VkBool32));
- vkStream->write((float*)&forMarshaling->timestampPeriod, sizeof(float));
- vkStream->write((uint32_t*)&forMarshaling->maxClipDistances, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxCullDistances, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxCombinedClipAndCullDistances, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->discreteQueuePriorities, sizeof(uint32_t));
- vkStream->write((float*)forMarshaling->pointSizeRange, 2 * sizeof(float));
- vkStream->write((float*)forMarshaling->lineWidthRange, 2 * sizeof(float));
- vkStream->write((float*)&forMarshaling->pointSizeGranularity, sizeof(float));
- vkStream->write((float*)&forMarshaling->lineWidthGranularity, sizeof(float));
- vkStream->write((VkBool32*)&forMarshaling->strictLines, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->standardSampleLocations, sizeof(VkBool32));
- vkStream->write((VkDeviceSize*)&forMarshaling->optimalBufferCopyOffsetAlignment, sizeof(VkDeviceSize));
- vkStream->write((VkDeviceSize*)&forMarshaling->optimalBufferCopyRowPitchAlignment, sizeof(VkDeviceSize));
- vkStream->write((VkDeviceSize*)&forMarshaling->nonCoherentAtomSize, sizeof(VkDeviceSize));
-}
-
-void unmarshal_VkPhysicalDeviceLimits(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceLimits* forUnmarshaling)
-{
- vkStream->read((uint32_t*)&forUnmarshaling->maxImageDimension1D, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxImageDimension2D, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxImageDimension3D, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxImageDimensionCube, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxImageArrayLayers, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxTexelBufferElements, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxUniformBufferRange, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxStorageBufferRange, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxPushConstantsSize, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxMemoryAllocationCount, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxSamplerAllocationCount, sizeof(uint32_t));
- vkStream->read((VkDeviceSize*)&forUnmarshaling->bufferImageGranularity, sizeof(VkDeviceSize));
- vkStream->read((VkDeviceSize*)&forUnmarshaling->sparseAddressSpaceSize, sizeof(VkDeviceSize));
- vkStream->read((uint32_t*)&forUnmarshaling->maxBoundDescriptorSets, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorSamplers, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUniformBuffers, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorStorageBuffers, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorSampledImages, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorStorageImages, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorInputAttachments, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageResources, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetSamplers, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUniformBuffers, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUniformBuffersDynamic, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetStorageBuffers, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetStorageBuffersDynamic, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetSampledImages, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetStorageImages, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetInputAttachments, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxVertexInputAttributes, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxVertexInputBindings, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxVertexInputAttributeOffset, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxVertexInputBindingStride, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxVertexOutputComponents, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxTessellationGenerationLevel, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxTessellationPatchSize, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxTessellationControlPerVertexInputComponents, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxTessellationControlPerVertexOutputComponents, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxTessellationControlPerPatchOutputComponents, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxTessellationControlTotalOutputComponents, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxTessellationEvaluationInputComponents, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxTessellationEvaluationOutputComponents, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxGeometryShaderInvocations, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxGeometryInputComponents, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxGeometryOutputComponents, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxGeometryOutputVertices, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxGeometryTotalOutputComponents, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxFragmentInputComponents, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxFragmentOutputAttachments, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxFragmentDualSrcAttachments, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxFragmentCombinedOutputResources, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxComputeSharedMemorySize, sizeof(uint32_t));
- vkStream->read((uint32_t*)forUnmarshaling->maxComputeWorkGroupCount, 3 * sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxComputeWorkGroupInvocations, sizeof(uint32_t));
- vkStream->read((uint32_t*)forUnmarshaling->maxComputeWorkGroupSize, 3 * sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->subPixelPrecisionBits, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->subTexelPrecisionBits, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->mipmapPrecisionBits, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxDrawIndexedIndexValue, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxDrawIndirectCount, sizeof(uint32_t));
- vkStream->read((float*)&forUnmarshaling->maxSamplerLodBias, sizeof(float));
- vkStream->read((float*)&forUnmarshaling->maxSamplerAnisotropy, sizeof(float));
- vkStream->read((uint32_t*)&forUnmarshaling->maxViewports, sizeof(uint32_t));
- vkStream->read((uint32_t*)forUnmarshaling->maxViewportDimensions, 2 * sizeof(uint32_t));
- vkStream->read((float*)forUnmarshaling->viewportBoundsRange, 2 * sizeof(float));
- vkStream->read((uint32_t*)&forUnmarshaling->viewportSubPixelBits, sizeof(uint32_t));
- forUnmarshaling->minMemoryMapAlignment = (size_t)vkStream->getBe64();
- vkStream->read((VkDeviceSize*)&forUnmarshaling->minTexelBufferOffsetAlignment, sizeof(VkDeviceSize));
- vkStream->read((VkDeviceSize*)&forUnmarshaling->minUniformBufferOffsetAlignment, sizeof(VkDeviceSize));
- vkStream->read((VkDeviceSize*)&forUnmarshaling->minStorageBufferOffsetAlignment, sizeof(VkDeviceSize));
- vkStream->read((int32_t*)&forUnmarshaling->minTexelOffset, sizeof(int32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxTexelOffset, sizeof(uint32_t));
- vkStream->read((int32_t*)&forUnmarshaling->minTexelGatherOffset, sizeof(int32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxTexelGatherOffset, sizeof(uint32_t));
- vkStream->read((float*)&forUnmarshaling->minInterpolationOffset, sizeof(float));
- vkStream->read((float*)&forUnmarshaling->maxInterpolationOffset, sizeof(float));
- vkStream->read((uint32_t*)&forUnmarshaling->subPixelInterpolationOffsetBits, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxFramebufferWidth, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxFramebufferHeight, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxFramebufferLayers, sizeof(uint32_t));
- vkStream->read((VkSampleCountFlags*)&forUnmarshaling->framebufferColorSampleCounts, sizeof(VkSampleCountFlags));
- vkStream->read((VkSampleCountFlags*)&forUnmarshaling->framebufferDepthSampleCounts, sizeof(VkSampleCountFlags));
- vkStream->read((VkSampleCountFlags*)&forUnmarshaling->framebufferStencilSampleCounts, sizeof(VkSampleCountFlags));
- vkStream->read((VkSampleCountFlags*)&forUnmarshaling->framebufferNoAttachmentsSampleCounts, sizeof(VkSampleCountFlags));
- vkStream->read((uint32_t*)&forUnmarshaling->maxColorAttachments, sizeof(uint32_t));
- vkStream->read((VkSampleCountFlags*)&forUnmarshaling->sampledImageColorSampleCounts, sizeof(VkSampleCountFlags));
- vkStream->read((VkSampleCountFlags*)&forUnmarshaling->sampledImageIntegerSampleCounts, sizeof(VkSampleCountFlags));
- vkStream->read((VkSampleCountFlags*)&forUnmarshaling->sampledImageDepthSampleCounts, sizeof(VkSampleCountFlags));
- vkStream->read((VkSampleCountFlags*)&forUnmarshaling->sampledImageStencilSampleCounts, sizeof(VkSampleCountFlags));
- vkStream->read((VkSampleCountFlags*)&forUnmarshaling->storageImageSampleCounts, sizeof(VkSampleCountFlags));
- vkStream->read((uint32_t*)&forUnmarshaling->maxSampleMaskWords, sizeof(uint32_t));
- vkStream->read((VkBool32*)&forUnmarshaling->timestampComputeAndGraphics, sizeof(VkBool32));
- vkStream->read((float*)&forUnmarshaling->timestampPeriod, sizeof(float));
- vkStream->read((uint32_t*)&forUnmarshaling->maxClipDistances, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxCullDistances, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxCombinedClipAndCullDistances, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->discreteQueuePriorities, sizeof(uint32_t));
- vkStream->read((float*)forUnmarshaling->pointSizeRange, 2 * sizeof(float));
- vkStream->read((float*)forUnmarshaling->lineWidthRange, 2 * sizeof(float));
- vkStream->read((float*)&forUnmarshaling->pointSizeGranularity, sizeof(float));
- vkStream->read((float*)&forUnmarshaling->lineWidthGranularity, sizeof(float));
- vkStream->read((VkBool32*)&forUnmarshaling->strictLines, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->standardSampleLocations, sizeof(VkBool32));
- vkStream->read((VkDeviceSize*)&forUnmarshaling->optimalBufferCopyOffsetAlignment, sizeof(VkDeviceSize));
- vkStream->read((VkDeviceSize*)&forUnmarshaling->optimalBufferCopyRowPitchAlignment, sizeof(VkDeviceSize));
- vkStream->read((VkDeviceSize*)&forUnmarshaling->nonCoherentAtomSize, sizeof(VkDeviceSize));
-}
-
-void marshal_VkPhysicalDeviceSparseProperties(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceSparseProperties* forMarshaling)
-{
- vkStream->write((VkBool32*)&forMarshaling->residencyStandard2DBlockShape, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->residencyStandard2DMultisampleBlockShape, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->residencyStandard3DBlockShape, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->residencyAlignedMipSize, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->residencyNonResidentStrict, sizeof(VkBool32));
-}
-
-void unmarshal_VkPhysicalDeviceSparseProperties(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceSparseProperties* forUnmarshaling)
-{
- vkStream->read((VkBool32*)&forUnmarshaling->residencyStandard2DBlockShape, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->residencyStandard2DMultisampleBlockShape, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->residencyStandard3DBlockShape, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->residencyAlignedMipSize, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->residencyNonResidentStrict, sizeof(VkBool32));
-}
-
-void marshal_VkPhysicalDeviceProperties(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceProperties* forMarshaling)
-{
- vkStream->write((uint32_t*)&forMarshaling->apiVersion, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->driverVersion, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->vendorID, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->deviceID, sizeof(uint32_t));
- vkStream->write((VkPhysicalDeviceType*)&forMarshaling->deviceType, sizeof(VkPhysicalDeviceType));
- vkStream->write((char*)forMarshaling->deviceName, VK_MAX_PHYSICAL_DEVICE_NAME_SIZE * sizeof(char));
- vkStream->write((uint8_t*)forMarshaling->pipelineCacheUUID, VK_UUID_SIZE * sizeof(uint8_t));
- marshal_VkPhysicalDeviceLimits(vkStream, (VkPhysicalDeviceLimits*)(&forMarshaling->limits));
- marshal_VkPhysicalDeviceSparseProperties(vkStream, (VkPhysicalDeviceSparseProperties*)(&forMarshaling->sparseProperties));
-}
-
-void unmarshal_VkPhysicalDeviceProperties(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceProperties* forUnmarshaling)
-{
- vkStream->read((uint32_t*)&forUnmarshaling->apiVersion, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->driverVersion, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->vendorID, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->deviceID, sizeof(uint32_t));
- vkStream->read((VkPhysicalDeviceType*)&forUnmarshaling->deviceType, sizeof(VkPhysicalDeviceType));
- vkStream->read((char*)forUnmarshaling->deviceName, VK_MAX_PHYSICAL_DEVICE_NAME_SIZE * sizeof(char));
- vkStream->read((uint8_t*)forUnmarshaling->pipelineCacheUUID, VK_UUID_SIZE * sizeof(uint8_t));
- unmarshal_VkPhysicalDeviceLimits(vkStream, (VkPhysicalDeviceLimits*)(&forUnmarshaling->limits));
- unmarshal_VkPhysicalDeviceSparseProperties(vkStream, (VkPhysicalDeviceSparseProperties*)(&forUnmarshaling->sparseProperties));
-}
-
-void marshal_VkQueueFamilyProperties(
- VulkanStreamGuest* vkStream,
- const VkQueueFamilyProperties* forMarshaling)
-{
- vkStream->write((VkQueueFlags*)&forMarshaling->queueFlags, sizeof(VkQueueFlags));
- vkStream->write((uint32_t*)&forMarshaling->queueCount, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->timestampValidBits, sizeof(uint32_t));
- marshal_VkExtent3D(vkStream, (VkExtent3D*)(&forMarshaling->minImageTransferGranularity));
-}
-
-void unmarshal_VkQueueFamilyProperties(
- VulkanStreamGuest* vkStream,
- VkQueueFamilyProperties* forUnmarshaling)
-{
- vkStream->read((VkQueueFlags*)&forUnmarshaling->queueFlags, sizeof(VkQueueFlags));
- vkStream->read((uint32_t*)&forUnmarshaling->queueCount, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->timestampValidBits, sizeof(uint32_t));
- unmarshal_VkExtent3D(vkStream, (VkExtent3D*)(&forUnmarshaling->minImageTransferGranularity));
-}
-
-void marshal_VkMemoryType(
- VulkanStreamGuest* vkStream,
- const VkMemoryType* forMarshaling)
-{
- vkStream->write((VkMemoryPropertyFlags*)&forMarshaling->propertyFlags, sizeof(VkMemoryPropertyFlags));
- vkStream->write((uint32_t*)&forMarshaling->heapIndex, sizeof(uint32_t));
-}
-
-void unmarshal_VkMemoryType(
- VulkanStreamGuest* vkStream,
- VkMemoryType* forUnmarshaling)
-{
- vkStream->read((VkMemoryPropertyFlags*)&forUnmarshaling->propertyFlags, sizeof(VkMemoryPropertyFlags));
- vkStream->read((uint32_t*)&forUnmarshaling->heapIndex, sizeof(uint32_t));
-}
-
-void marshal_VkMemoryHeap(
- VulkanStreamGuest* vkStream,
- const VkMemoryHeap* forMarshaling)
-{
- vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
- vkStream->write((VkMemoryHeapFlags*)&forMarshaling->flags, sizeof(VkMemoryHeapFlags));
-}
-
-void unmarshal_VkMemoryHeap(
- VulkanStreamGuest* vkStream,
- VkMemoryHeap* forUnmarshaling)
-{
- vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
- vkStream->read((VkMemoryHeapFlags*)&forUnmarshaling->flags, sizeof(VkMemoryHeapFlags));
-}
-
-void marshal_VkPhysicalDeviceMemoryProperties(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceMemoryProperties* forMarshaling)
-{
- vkStream->write((uint32_t*)&forMarshaling->memoryTypeCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_TYPES; ++i)
- {
- marshal_VkMemoryType(vkStream, (VkMemoryType*)(forMarshaling->memoryTypes + i));
- }
- vkStream->write((uint32_t*)&forMarshaling->memoryHeapCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_HEAPS; ++i)
- {
- marshal_VkMemoryHeap(vkStream, (VkMemoryHeap*)(forMarshaling->memoryHeaps + i));
- }
-}
-
-void unmarshal_VkPhysicalDeviceMemoryProperties(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceMemoryProperties* forUnmarshaling)
-{
- vkStream->read((uint32_t*)&forUnmarshaling->memoryTypeCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_TYPES; ++i)
- {
- unmarshal_VkMemoryType(vkStream, (VkMemoryType*)(forUnmarshaling->memoryTypes + i));
- }
- vkStream->read((uint32_t*)&forUnmarshaling->memoryHeapCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_HEAPS; ++i)
- {
- unmarshal_VkMemoryHeap(vkStream, (VkMemoryHeap*)(forUnmarshaling->memoryHeaps + i));
- }
-}
-
-void marshal_VkDeviceQueueCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkDeviceQueueCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkDeviceQueueCreateFlags*)&forMarshaling->flags, sizeof(VkDeviceQueueCreateFlags));
- vkStream->write((uint32_t*)&forMarshaling->queueFamilyIndex, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->queueCount, sizeof(uint32_t));
- vkStream->write((const float*)forMarshaling->pQueuePriorities, forMarshaling->queueCount * sizeof(const float));
-}
-
-void unmarshal_VkDeviceQueueCreateInfo(
- VulkanStreamGuest* vkStream,
- VkDeviceQueueCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkDeviceQueueCreateFlags*)&forUnmarshaling->flags, sizeof(VkDeviceQueueCreateFlags));
- vkStream->read((uint32_t*)&forUnmarshaling->queueFamilyIndex, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->queueCount, sizeof(uint32_t));
- vkStream->read((float*)forUnmarshaling->pQueuePriorities, forUnmarshaling->queueCount * sizeof(const float));
-}
-
-void marshal_VkDeviceCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkDeviceCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkDeviceCreateFlags*)&forMarshaling->flags, sizeof(VkDeviceCreateFlags));
- vkStream->write((uint32_t*)&forMarshaling->queueCreateInfoCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->queueCreateInfoCount; ++i)
- {
- marshal_VkDeviceQueueCreateInfo(vkStream, (const VkDeviceQueueCreateInfo*)(forMarshaling->pQueueCreateInfos + i));
- }
- vkStream->write((uint32_t*)&forMarshaling->enabledLayerCount, sizeof(uint32_t));
- saveStringArray(vkStream, forMarshaling->ppEnabledLayerNames, forMarshaling->enabledLayerCount);
- vkStream->write((uint32_t*)&forMarshaling->enabledExtensionCount, sizeof(uint32_t));
- saveStringArray(vkStream, forMarshaling->ppEnabledExtensionNames, forMarshaling->enabledExtensionCount);
- // WARNING PTR CHECK
- uint64_t cgen_var_20 = (uint64_t)(uintptr_t)forMarshaling->pEnabledFeatures;
- vkStream->putBe64(cgen_var_20);
- if (forMarshaling->pEnabledFeatures)
- {
- marshal_VkPhysicalDeviceFeatures(vkStream, (const VkPhysicalDeviceFeatures*)(forMarshaling->pEnabledFeatures));
- }
-}
-
-void unmarshal_VkDeviceCreateInfo(
- VulkanStreamGuest* vkStream,
- VkDeviceCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkDeviceCreateFlags*)&forUnmarshaling->flags, sizeof(VkDeviceCreateFlags));
- vkStream->read((uint32_t*)&forUnmarshaling->queueCreateInfoCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->queueCreateInfoCount; ++i)
- {
- unmarshal_VkDeviceQueueCreateInfo(vkStream, (VkDeviceQueueCreateInfo*)(forUnmarshaling->pQueueCreateInfos + i));
- }
- vkStream->read((uint32_t*)&forUnmarshaling->enabledLayerCount, sizeof(uint32_t));
- vkStream->loadStringArrayInPlace((char***)&forUnmarshaling->ppEnabledLayerNames);
- vkStream->read((uint32_t*)&forUnmarshaling->enabledExtensionCount, sizeof(uint32_t));
- vkStream->loadStringArrayInPlace((char***)&forUnmarshaling->ppEnabledExtensionNames);
- // WARNING PTR CHECK
- const VkPhysicalDeviceFeatures* check_pEnabledFeatures;
- check_pEnabledFeatures = (const VkPhysicalDeviceFeatures*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pEnabledFeatures)
- {
- if (!(check_pEnabledFeatures))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pEnabledFeatures inconsistent between guest and host\n");
- }
- unmarshal_VkPhysicalDeviceFeatures(vkStream, (VkPhysicalDeviceFeatures*)(forUnmarshaling->pEnabledFeatures));
- }
-}
-
-void marshal_VkExtensionProperties(
- VulkanStreamGuest* vkStream,
- const VkExtensionProperties* forMarshaling)
-{
- vkStream->write((char*)forMarshaling->extensionName, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
- vkStream->write((uint32_t*)&forMarshaling->specVersion, sizeof(uint32_t));
-}
-
-void unmarshal_VkExtensionProperties(
- VulkanStreamGuest* vkStream,
- VkExtensionProperties* forUnmarshaling)
-{
- vkStream->read((char*)forUnmarshaling->extensionName, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
- vkStream->read((uint32_t*)&forUnmarshaling->specVersion, sizeof(uint32_t));
-}
-
-void marshal_VkLayerProperties(
- VulkanStreamGuest* vkStream,
- const VkLayerProperties* forMarshaling)
-{
- vkStream->write((char*)forMarshaling->layerName, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
- vkStream->write((uint32_t*)&forMarshaling->specVersion, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->implementationVersion, sizeof(uint32_t));
- vkStream->write((char*)forMarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
-}
-
-void unmarshal_VkLayerProperties(
- VulkanStreamGuest* vkStream,
- VkLayerProperties* forUnmarshaling)
-{
- vkStream->read((char*)forUnmarshaling->layerName, VK_MAX_EXTENSION_NAME_SIZE * sizeof(char));
- vkStream->read((uint32_t*)&forUnmarshaling->specVersion, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->implementationVersion, sizeof(uint32_t));
- vkStream->read((char*)forUnmarshaling->description, VK_MAX_DESCRIPTION_SIZE * sizeof(char));
-}
-
-void marshal_VkSubmitInfo(
- VulkanStreamGuest* vkStream,
- const VkSubmitInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->waitSemaphoreCount, sizeof(uint32_t));
- if (forMarshaling->waitSemaphoreCount)
- {
- uint64_t* cgen_var_22;
- vkStream->alloc((void**)&cgen_var_22, forMarshaling->waitSemaphoreCount * 8);
- vkStream->handleMapping()->mapHandles_VkSemaphore_u64(forMarshaling->pWaitSemaphores, cgen_var_22, forMarshaling->waitSemaphoreCount);
- vkStream->write((uint64_t*)cgen_var_22, forMarshaling->waitSemaphoreCount * 8);
- }
- vkStream->write((const VkPipelineStageFlags*)forMarshaling->pWaitDstStageMask, forMarshaling->waitSemaphoreCount * sizeof(const VkPipelineStageFlags));
- vkStream->write((uint32_t*)&forMarshaling->commandBufferCount, sizeof(uint32_t));
- if (forMarshaling->commandBufferCount)
- {
- uint64_t* cgen_var_23;
- vkStream->alloc((void**)&cgen_var_23, forMarshaling->commandBufferCount * 8);
- vkStream->handleMapping()->mapHandles_VkCommandBuffer_u64(forMarshaling->pCommandBuffers, cgen_var_23, forMarshaling->commandBufferCount);
- vkStream->write((uint64_t*)cgen_var_23, forMarshaling->commandBufferCount * 8);
- }
- vkStream->write((uint32_t*)&forMarshaling->signalSemaphoreCount, sizeof(uint32_t));
- if (forMarshaling->signalSemaphoreCount)
- {
- uint64_t* cgen_var_24;
- vkStream->alloc((void**)&cgen_var_24, forMarshaling->signalSemaphoreCount * 8);
- vkStream->handleMapping()->mapHandles_VkSemaphore_u64(forMarshaling->pSignalSemaphores, cgen_var_24, forMarshaling->signalSemaphoreCount);
- vkStream->write((uint64_t*)cgen_var_24, forMarshaling->signalSemaphoreCount * 8);
- }
-}
-
-void unmarshal_VkSubmitInfo(
- VulkanStreamGuest* vkStream,
- VkSubmitInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->waitSemaphoreCount, sizeof(uint32_t));
- if (forUnmarshaling->waitSemaphoreCount)
- {
- uint64_t* cgen_var_25;
- vkStream->alloc((void**)&cgen_var_25, forUnmarshaling->waitSemaphoreCount * 8);
- vkStream->read((uint64_t*)cgen_var_25, forUnmarshaling->waitSemaphoreCount * 8);
- vkStream->handleMapping()->mapHandles_u64_VkSemaphore(cgen_var_25, (VkSemaphore*)forUnmarshaling->pWaitSemaphores, forUnmarshaling->waitSemaphoreCount);
- }
- vkStream->read((VkPipelineStageFlags*)forUnmarshaling->pWaitDstStageMask, forUnmarshaling->waitSemaphoreCount * sizeof(const VkPipelineStageFlags));
- vkStream->read((uint32_t*)&forUnmarshaling->commandBufferCount, sizeof(uint32_t));
- if (forUnmarshaling->commandBufferCount)
- {
- uint64_t* cgen_var_26;
- vkStream->alloc((void**)&cgen_var_26, forUnmarshaling->commandBufferCount * 8);
- vkStream->read((uint64_t*)cgen_var_26, forUnmarshaling->commandBufferCount * 8);
- vkStream->handleMapping()->mapHandles_u64_VkCommandBuffer(cgen_var_26, (VkCommandBuffer*)forUnmarshaling->pCommandBuffers, forUnmarshaling->commandBufferCount);
- }
- vkStream->read((uint32_t*)&forUnmarshaling->signalSemaphoreCount, sizeof(uint32_t));
- if (forUnmarshaling->signalSemaphoreCount)
- {
- uint64_t* cgen_var_27;
- vkStream->alloc((void**)&cgen_var_27, forUnmarshaling->signalSemaphoreCount * 8);
- vkStream->read((uint64_t*)cgen_var_27, forUnmarshaling->signalSemaphoreCount * 8);
- vkStream->handleMapping()->mapHandles_u64_VkSemaphore(cgen_var_27, (VkSemaphore*)forUnmarshaling->pSignalSemaphores, forUnmarshaling->signalSemaphoreCount);
- }
-}
-
-void marshal_VkMemoryAllocateInfo(
- VulkanStreamGuest* vkStream,
- const VkMemoryAllocateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkDeviceSize*)&forMarshaling->allocationSize, sizeof(VkDeviceSize));
- vkStream->write((uint32_t*)&forMarshaling->memoryTypeIndex, sizeof(uint32_t));
-}
-
-void unmarshal_VkMemoryAllocateInfo(
- VulkanStreamGuest* vkStream,
- VkMemoryAllocateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkDeviceSize*)&forUnmarshaling->allocationSize, sizeof(VkDeviceSize));
- vkStream->read((uint32_t*)&forUnmarshaling->memoryTypeIndex, sizeof(uint32_t));
-}
-
-void marshal_VkMappedMemoryRange(
- VulkanStreamGuest* vkStream,
- const VkMappedMemoryRange* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- uint64_t cgen_var_28;
- vkStream->handleMapping()->mapHandles_VkDeviceMemory_u64(&forMarshaling->memory, &cgen_var_28, 1);
- vkStream->write((uint64_t*)&cgen_var_28, 1 * 8);
- vkStream->write((VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
- vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
-}
-
-void unmarshal_VkMappedMemoryRange(
- VulkanStreamGuest* vkStream,
- VkMappedMemoryRange* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- uint64_t cgen_var_29;
- vkStream->read((uint64_t*)&cgen_var_29, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkDeviceMemory(&cgen_var_29, (VkDeviceMemory*)&forUnmarshaling->memory, 1);
- vkStream->read((VkDeviceSize*)&forUnmarshaling->offset, sizeof(VkDeviceSize));
- vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
-}
-
-void marshal_VkMemoryRequirements(
- VulkanStreamGuest* vkStream,
- const VkMemoryRequirements* forMarshaling)
-{
- vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
- vkStream->write((VkDeviceSize*)&forMarshaling->alignment, sizeof(VkDeviceSize));
- vkStream->write((uint32_t*)&forMarshaling->memoryTypeBits, sizeof(uint32_t));
-}
-
-void unmarshal_VkMemoryRequirements(
- VulkanStreamGuest* vkStream,
- VkMemoryRequirements* forUnmarshaling)
-{
- vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
- vkStream->read((VkDeviceSize*)&forUnmarshaling->alignment, sizeof(VkDeviceSize));
- vkStream->read((uint32_t*)&forUnmarshaling->memoryTypeBits, sizeof(uint32_t));
-}
-
-void marshal_VkSparseImageFormatProperties(
- VulkanStreamGuest* vkStream,
- const VkSparseImageFormatProperties* forMarshaling)
-{
- vkStream->write((VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
- marshal_VkExtent3D(vkStream, (VkExtent3D*)(&forMarshaling->imageGranularity));
- vkStream->write((VkSparseImageFormatFlags*)&forMarshaling->flags, sizeof(VkSparseImageFormatFlags));
-}
-
-void unmarshal_VkSparseImageFormatProperties(
- VulkanStreamGuest* vkStream,
- VkSparseImageFormatProperties* forUnmarshaling)
-{
- vkStream->read((VkImageAspectFlags*)&forUnmarshaling->aspectMask, sizeof(VkImageAspectFlags));
- unmarshal_VkExtent3D(vkStream, (VkExtent3D*)(&forUnmarshaling->imageGranularity));
- vkStream->read((VkSparseImageFormatFlags*)&forUnmarshaling->flags, sizeof(VkSparseImageFormatFlags));
-}
-
-void marshal_VkSparseImageMemoryRequirements(
- VulkanStreamGuest* vkStream,
- const VkSparseImageMemoryRequirements* forMarshaling)
-{
- marshal_VkSparseImageFormatProperties(vkStream, (VkSparseImageFormatProperties*)(&forMarshaling->formatProperties));
- vkStream->write((uint32_t*)&forMarshaling->imageMipTailFirstLod, sizeof(uint32_t));
- vkStream->write((VkDeviceSize*)&forMarshaling->imageMipTailSize, sizeof(VkDeviceSize));
- vkStream->write((VkDeviceSize*)&forMarshaling->imageMipTailOffset, sizeof(VkDeviceSize));
- vkStream->write((VkDeviceSize*)&forMarshaling->imageMipTailStride, sizeof(VkDeviceSize));
-}
-
-void unmarshal_VkSparseImageMemoryRequirements(
- VulkanStreamGuest* vkStream,
- VkSparseImageMemoryRequirements* forUnmarshaling)
-{
- unmarshal_VkSparseImageFormatProperties(vkStream, (VkSparseImageFormatProperties*)(&forUnmarshaling->formatProperties));
- vkStream->read((uint32_t*)&forUnmarshaling->imageMipTailFirstLod, sizeof(uint32_t));
- vkStream->read((VkDeviceSize*)&forUnmarshaling->imageMipTailSize, sizeof(VkDeviceSize));
- vkStream->read((VkDeviceSize*)&forUnmarshaling->imageMipTailOffset, sizeof(VkDeviceSize));
- vkStream->read((VkDeviceSize*)&forUnmarshaling->imageMipTailStride, sizeof(VkDeviceSize));
-}
-
-void marshal_VkSparseMemoryBind(
- VulkanStreamGuest* vkStream,
- const VkSparseMemoryBind* forMarshaling)
-{
- vkStream->write((VkDeviceSize*)&forMarshaling->resourceOffset, sizeof(VkDeviceSize));
- vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
- uint64_t cgen_var_30;
- vkStream->handleMapping()->mapHandles_VkDeviceMemory_u64(&forMarshaling->memory, &cgen_var_30, 1);
- vkStream->write((uint64_t*)&cgen_var_30, 1 * 8);
- vkStream->write((VkDeviceSize*)&forMarshaling->memoryOffset, sizeof(VkDeviceSize));
- vkStream->write((VkSparseMemoryBindFlags*)&forMarshaling->flags, sizeof(VkSparseMemoryBindFlags));
-}
-
-void unmarshal_VkSparseMemoryBind(
- VulkanStreamGuest* vkStream,
- VkSparseMemoryBind* forUnmarshaling)
-{
- vkStream->read((VkDeviceSize*)&forUnmarshaling->resourceOffset, sizeof(VkDeviceSize));
- vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
- uint64_t cgen_var_31;
- vkStream->read((uint64_t*)&cgen_var_31, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkDeviceMemory(&cgen_var_31, (VkDeviceMemory*)&forUnmarshaling->memory, 1);
- vkStream->read((VkDeviceSize*)&forUnmarshaling->memoryOffset, sizeof(VkDeviceSize));
- vkStream->read((VkSparseMemoryBindFlags*)&forUnmarshaling->flags, sizeof(VkSparseMemoryBindFlags));
-}
-
-void marshal_VkSparseBufferMemoryBindInfo(
- VulkanStreamGuest* vkStream,
- const VkSparseBufferMemoryBindInfo* forMarshaling)
-{
- uint64_t cgen_var_32;
- vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_32, 1);
- vkStream->write((uint64_t*)&cgen_var_32, 1 * 8);
- vkStream->write((uint32_t*)&forMarshaling->bindCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->bindCount; ++i)
- {
- marshal_VkSparseMemoryBind(vkStream, (const VkSparseMemoryBind*)(forMarshaling->pBinds + i));
- }
-}
-
-void unmarshal_VkSparseBufferMemoryBindInfo(
- VulkanStreamGuest* vkStream,
- VkSparseBufferMemoryBindInfo* forUnmarshaling)
-{
- uint64_t cgen_var_33;
- vkStream->read((uint64_t*)&cgen_var_33, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_33, (VkBuffer*)&forUnmarshaling->buffer, 1);
- vkStream->read((uint32_t*)&forUnmarshaling->bindCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->bindCount; ++i)
- {
- unmarshal_VkSparseMemoryBind(vkStream, (VkSparseMemoryBind*)(forUnmarshaling->pBinds + i));
- }
-}
-
-void marshal_VkSparseImageOpaqueMemoryBindInfo(
- VulkanStreamGuest* vkStream,
- const VkSparseImageOpaqueMemoryBindInfo* forMarshaling)
-{
- uint64_t cgen_var_34;
- vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_34, 1);
- vkStream->write((uint64_t*)&cgen_var_34, 1 * 8);
- vkStream->write((uint32_t*)&forMarshaling->bindCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->bindCount; ++i)
- {
- marshal_VkSparseMemoryBind(vkStream, (const VkSparseMemoryBind*)(forMarshaling->pBinds + i));
- }
-}
-
-void unmarshal_VkSparseImageOpaqueMemoryBindInfo(
- VulkanStreamGuest* vkStream,
- VkSparseImageOpaqueMemoryBindInfo* forUnmarshaling)
-{
- uint64_t cgen_var_35;
- vkStream->read((uint64_t*)&cgen_var_35, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_35, (VkImage*)&forUnmarshaling->image, 1);
- vkStream->read((uint32_t*)&forUnmarshaling->bindCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->bindCount; ++i)
- {
- unmarshal_VkSparseMemoryBind(vkStream, (VkSparseMemoryBind*)(forUnmarshaling->pBinds + i));
- }
-}
-
-void marshal_VkImageSubresource(
- VulkanStreamGuest* vkStream,
- const VkImageSubresource* forMarshaling)
-{
- vkStream->write((VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
- vkStream->write((uint32_t*)&forMarshaling->mipLevel, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->arrayLayer, sizeof(uint32_t));
-}
-
-void unmarshal_VkImageSubresource(
- VulkanStreamGuest* vkStream,
- VkImageSubresource* forUnmarshaling)
-{
- vkStream->read((VkImageAspectFlags*)&forUnmarshaling->aspectMask, sizeof(VkImageAspectFlags));
- vkStream->read((uint32_t*)&forUnmarshaling->mipLevel, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->arrayLayer, sizeof(uint32_t));
-}
-
-void marshal_VkOffset3D(
- VulkanStreamGuest* vkStream,
- const VkOffset3D* forMarshaling)
-{
- vkStream->write((int32_t*)&forMarshaling->x, sizeof(int32_t));
- vkStream->write((int32_t*)&forMarshaling->y, sizeof(int32_t));
- vkStream->write((int32_t*)&forMarshaling->z, sizeof(int32_t));
-}
-
-void unmarshal_VkOffset3D(
- VulkanStreamGuest* vkStream,
- VkOffset3D* forUnmarshaling)
-{
- vkStream->read((int32_t*)&forUnmarshaling->x, sizeof(int32_t));
- vkStream->read((int32_t*)&forUnmarshaling->y, sizeof(int32_t));
- vkStream->read((int32_t*)&forUnmarshaling->z, sizeof(int32_t));
-}
-
-void marshal_VkSparseImageMemoryBind(
- VulkanStreamGuest* vkStream,
- const VkSparseImageMemoryBind* forMarshaling)
-{
- marshal_VkImageSubresource(vkStream, (VkImageSubresource*)(&forMarshaling->subresource));
- marshal_VkOffset3D(vkStream, (VkOffset3D*)(&forMarshaling->offset));
- marshal_VkExtent3D(vkStream, (VkExtent3D*)(&forMarshaling->extent));
- uint64_t cgen_var_36;
- vkStream->handleMapping()->mapHandles_VkDeviceMemory_u64(&forMarshaling->memory, &cgen_var_36, 1);
- vkStream->write((uint64_t*)&cgen_var_36, 1 * 8);
- vkStream->write((VkDeviceSize*)&forMarshaling->memoryOffset, sizeof(VkDeviceSize));
- vkStream->write((VkSparseMemoryBindFlags*)&forMarshaling->flags, sizeof(VkSparseMemoryBindFlags));
-}
-
-void unmarshal_VkSparseImageMemoryBind(
- VulkanStreamGuest* vkStream,
- VkSparseImageMemoryBind* forUnmarshaling)
-{
- unmarshal_VkImageSubresource(vkStream, (VkImageSubresource*)(&forUnmarshaling->subresource));
- unmarshal_VkOffset3D(vkStream, (VkOffset3D*)(&forUnmarshaling->offset));
- unmarshal_VkExtent3D(vkStream, (VkExtent3D*)(&forUnmarshaling->extent));
- uint64_t cgen_var_37;
- vkStream->read((uint64_t*)&cgen_var_37, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkDeviceMemory(&cgen_var_37, (VkDeviceMemory*)&forUnmarshaling->memory, 1);
- vkStream->read((VkDeviceSize*)&forUnmarshaling->memoryOffset, sizeof(VkDeviceSize));
- vkStream->read((VkSparseMemoryBindFlags*)&forUnmarshaling->flags, sizeof(VkSparseMemoryBindFlags));
-}
-
-void marshal_VkSparseImageMemoryBindInfo(
- VulkanStreamGuest* vkStream,
- const VkSparseImageMemoryBindInfo* forMarshaling)
-{
- uint64_t cgen_var_38;
- vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_38, 1);
- vkStream->write((uint64_t*)&cgen_var_38, 1 * 8);
- vkStream->write((uint32_t*)&forMarshaling->bindCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->bindCount; ++i)
- {
- marshal_VkSparseImageMemoryBind(vkStream, (const VkSparseImageMemoryBind*)(forMarshaling->pBinds + i));
- }
-}
-
-void unmarshal_VkSparseImageMemoryBindInfo(
- VulkanStreamGuest* vkStream,
- VkSparseImageMemoryBindInfo* forUnmarshaling)
-{
- uint64_t cgen_var_39;
- vkStream->read((uint64_t*)&cgen_var_39, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_39, (VkImage*)&forUnmarshaling->image, 1);
- vkStream->read((uint32_t*)&forUnmarshaling->bindCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->bindCount; ++i)
- {
- unmarshal_VkSparseImageMemoryBind(vkStream, (VkSparseImageMemoryBind*)(forUnmarshaling->pBinds + i));
- }
-}
-
-void marshal_VkBindSparseInfo(
- VulkanStreamGuest* vkStream,
- const VkBindSparseInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->waitSemaphoreCount, sizeof(uint32_t));
- if (forMarshaling->waitSemaphoreCount)
- {
- uint64_t* cgen_var_40;
- vkStream->alloc((void**)&cgen_var_40, forMarshaling->waitSemaphoreCount * 8);
- vkStream->handleMapping()->mapHandles_VkSemaphore_u64(forMarshaling->pWaitSemaphores, cgen_var_40, forMarshaling->waitSemaphoreCount);
- vkStream->write((uint64_t*)cgen_var_40, forMarshaling->waitSemaphoreCount * 8);
- }
- vkStream->write((uint32_t*)&forMarshaling->bufferBindCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->bufferBindCount; ++i)
- {
- marshal_VkSparseBufferMemoryBindInfo(vkStream, (const VkSparseBufferMemoryBindInfo*)(forMarshaling->pBufferBinds + i));
- }
- vkStream->write((uint32_t*)&forMarshaling->imageOpaqueBindCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->imageOpaqueBindCount; ++i)
- {
- marshal_VkSparseImageOpaqueMemoryBindInfo(vkStream, (const VkSparseImageOpaqueMemoryBindInfo*)(forMarshaling->pImageOpaqueBinds + i));
- }
- vkStream->write((uint32_t*)&forMarshaling->imageBindCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->imageBindCount; ++i)
- {
- marshal_VkSparseImageMemoryBindInfo(vkStream, (const VkSparseImageMemoryBindInfo*)(forMarshaling->pImageBinds + i));
- }
- vkStream->write((uint32_t*)&forMarshaling->signalSemaphoreCount, sizeof(uint32_t));
- if (forMarshaling->signalSemaphoreCount)
- {
- uint64_t* cgen_var_41;
- vkStream->alloc((void**)&cgen_var_41, forMarshaling->signalSemaphoreCount * 8);
- vkStream->handleMapping()->mapHandles_VkSemaphore_u64(forMarshaling->pSignalSemaphores, cgen_var_41, forMarshaling->signalSemaphoreCount);
- vkStream->write((uint64_t*)cgen_var_41, forMarshaling->signalSemaphoreCount * 8);
- }
-}
-
-void unmarshal_VkBindSparseInfo(
- VulkanStreamGuest* vkStream,
- VkBindSparseInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->waitSemaphoreCount, sizeof(uint32_t));
- if (forUnmarshaling->waitSemaphoreCount)
- {
- uint64_t* cgen_var_42;
- vkStream->alloc((void**)&cgen_var_42, forUnmarshaling->waitSemaphoreCount * 8);
- vkStream->read((uint64_t*)cgen_var_42, forUnmarshaling->waitSemaphoreCount * 8);
- vkStream->handleMapping()->mapHandles_u64_VkSemaphore(cgen_var_42, (VkSemaphore*)forUnmarshaling->pWaitSemaphores, forUnmarshaling->waitSemaphoreCount);
- }
- vkStream->read((uint32_t*)&forUnmarshaling->bufferBindCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->bufferBindCount; ++i)
- {
- unmarshal_VkSparseBufferMemoryBindInfo(vkStream, (VkSparseBufferMemoryBindInfo*)(forUnmarshaling->pBufferBinds + i));
- }
- vkStream->read((uint32_t*)&forUnmarshaling->imageOpaqueBindCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->imageOpaqueBindCount; ++i)
- {
- unmarshal_VkSparseImageOpaqueMemoryBindInfo(vkStream, (VkSparseImageOpaqueMemoryBindInfo*)(forUnmarshaling->pImageOpaqueBinds + i));
- }
- vkStream->read((uint32_t*)&forUnmarshaling->imageBindCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->imageBindCount; ++i)
- {
- unmarshal_VkSparseImageMemoryBindInfo(vkStream, (VkSparseImageMemoryBindInfo*)(forUnmarshaling->pImageBinds + i));
- }
- vkStream->read((uint32_t*)&forUnmarshaling->signalSemaphoreCount, sizeof(uint32_t));
- if (forUnmarshaling->signalSemaphoreCount)
- {
- uint64_t* cgen_var_43;
- vkStream->alloc((void**)&cgen_var_43, forUnmarshaling->signalSemaphoreCount * 8);
- vkStream->read((uint64_t*)cgen_var_43, forUnmarshaling->signalSemaphoreCount * 8);
- vkStream->handleMapping()->mapHandles_u64_VkSemaphore(cgen_var_43, (VkSemaphore*)forUnmarshaling->pSignalSemaphores, forUnmarshaling->signalSemaphoreCount);
- }
-}
-
-void marshal_VkFenceCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkFenceCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkFenceCreateFlags*)&forMarshaling->flags, sizeof(VkFenceCreateFlags));
-}
-
-void unmarshal_VkFenceCreateInfo(
- VulkanStreamGuest* vkStream,
- VkFenceCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkFenceCreateFlags*)&forUnmarshaling->flags, sizeof(VkFenceCreateFlags));
-}
-
-void marshal_VkSemaphoreCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkSemaphoreCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkSemaphoreCreateFlags*)&forMarshaling->flags, sizeof(VkSemaphoreCreateFlags));
-}
-
-void unmarshal_VkSemaphoreCreateInfo(
- VulkanStreamGuest* vkStream,
- VkSemaphoreCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkSemaphoreCreateFlags*)&forUnmarshaling->flags, sizeof(VkSemaphoreCreateFlags));
-}
-
-void marshal_VkEventCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkEventCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkEventCreateFlags*)&forMarshaling->flags, sizeof(VkEventCreateFlags));
-}
-
-void unmarshal_VkEventCreateInfo(
- VulkanStreamGuest* vkStream,
- VkEventCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkEventCreateFlags*)&forUnmarshaling->flags, sizeof(VkEventCreateFlags));
-}
-
-void marshal_VkQueryPoolCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkQueryPoolCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkQueryPoolCreateFlags*)&forMarshaling->flags, sizeof(VkQueryPoolCreateFlags));
- vkStream->write((VkQueryType*)&forMarshaling->queryType, sizeof(VkQueryType));
- vkStream->write((uint32_t*)&forMarshaling->queryCount, sizeof(uint32_t));
- vkStream->write((VkQueryPipelineStatisticFlags*)&forMarshaling->pipelineStatistics, sizeof(VkQueryPipelineStatisticFlags));
-}
-
-void unmarshal_VkQueryPoolCreateInfo(
- VulkanStreamGuest* vkStream,
- VkQueryPoolCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkQueryPoolCreateFlags*)&forUnmarshaling->flags, sizeof(VkQueryPoolCreateFlags));
- vkStream->read((VkQueryType*)&forUnmarshaling->queryType, sizeof(VkQueryType));
- vkStream->read((uint32_t*)&forUnmarshaling->queryCount, sizeof(uint32_t));
- vkStream->read((VkQueryPipelineStatisticFlags*)&forUnmarshaling->pipelineStatistics, sizeof(VkQueryPipelineStatisticFlags));
-}
-
-void marshal_VkBufferCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkBufferCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkBufferCreateFlags*)&forMarshaling->flags, sizeof(VkBufferCreateFlags));
- vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
- vkStream->write((VkBufferUsageFlags*)&forMarshaling->usage, sizeof(VkBufferUsageFlags));
- vkStream->write((VkSharingMode*)&forMarshaling->sharingMode, sizeof(VkSharingMode));
- vkStream->write((uint32_t*)&forMarshaling->queueFamilyIndexCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- uint64_t cgen_var_44 = (uint64_t)(uintptr_t)forMarshaling->pQueueFamilyIndices;
- vkStream->putBe64(cgen_var_44);
- if (forMarshaling->pQueueFamilyIndices)
- {
- vkStream->write((const uint32_t*)forMarshaling->pQueueFamilyIndices, forMarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
- }
-}
-
-void unmarshal_VkBufferCreateInfo(
- VulkanStreamGuest* vkStream,
- VkBufferCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkBufferCreateFlags*)&forUnmarshaling->flags, sizeof(VkBufferCreateFlags));
- vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
- vkStream->read((VkBufferUsageFlags*)&forUnmarshaling->usage, sizeof(VkBufferUsageFlags));
- vkStream->read((VkSharingMode*)&forUnmarshaling->sharingMode, sizeof(VkSharingMode));
- vkStream->read((uint32_t*)&forUnmarshaling->queueFamilyIndexCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- const uint32_t* check_pQueueFamilyIndices;
- check_pQueueFamilyIndices = (const uint32_t*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pQueueFamilyIndices)
- {
- if (!(check_pQueueFamilyIndices))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pQueueFamilyIndices inconsistent between guest and host\n");
- }
- vkStream->read((uint32_t*)forUnmarshaling->pQueueFamilyIndices, forUnmarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
- }
-}
-
-void marshal_VkBufferViewCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkBufferViewCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkBufferViewCreateFlags*)&forMarshaling->flags, sizeof(VkBufferViewCreateFlags));
- uint64_t cgen_var_46;
- vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_46, 1);
- vkStream->write((uint64_t*)&cgen_var_46, 1 * 8);
- vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat));
- vkStream->write((VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
- vkStream->write((VkDeviceSize*)&forMarshaling->range, sizeof(VkDeviceSize));
-}
-
-void unmarshal_VkBufferViewCreateInfo(
- VulkanStreamGuest* vkStream,
- VkBufferViewCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkBufferViewCreateFlags*)&forUnmarshaling->flags, sizeof(VkBufferViewCreateFlags));
- uint64_t cgen_var_47;
- vkStream->read((uint64_t*)&cgen_var_47, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_47, (VkBuffer*)&forUnmarshaling->buffer, 1);
- vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat));
- vkStream->read((VkDeviceSize*)&forUnmarshaling->offset, sizeof(VkDeviceSize));
- vkStream->read((VkDeviceSize*)&forUnmarshaling->range, sizeof(VkDeviceSize));
-}
-
-void marshal_VkImageCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkImageCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkImageCreateFlags*)&forMarshaling->flags, sizeof(VkImageCreateFlags));
- vkStream->write((VkImageType*)&forMarshaling->imageType, sizeof(VkImageType));
- vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat));
- marshal_VkExtent3D(vkStream, (VkExtent3D*)(&forMarshaling->extent));
- vkStream->write((uint32_t*)&forMarshaling->mipLevels, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->arrayLayers, sizeof(uint32_t));
- vkStream->write((VkSampleCountFlagBits*)&forMarshaling->samples, sizeof(VkSampleCountFlagBits));
- vkStream->write((VkImageTiling*)&forMarshaling->tiling, sizeof(VkImageTiling));
- vkStream->write((VkImageUsageFlags*)&forMarshaling->usage, sizeof(VkImageUsageFlags));
- vkStream->write((VkSharingMode*)&forMarshaling->sharingMode, sizeof(VkSharingMode));
- vkStream->write((uint32_t*)&forMarshaling->queueFamilyIndexCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- uint64_t cgen_var_48 = (uint64_t)(uintptr_t)forMarshaling->pQueueFamilyIndices;
- vkStream->putBe64(cgen_var_48);
- if (forMarshaling->pQueueFamilyIndices)
- {
- vkStream->write((const uint32_t*)forMarshaling->pQueueFamilyIndices, forMarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
- }
- vkStream->write((VkImageLayout*)&forMarshaling->initialLayout, sizeof(VkImageLayout));
-}
-
-void unmarshal_VkImageCreateInfo(
- VulkanStreamGuest* vkStream,
- VkImageCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkImageCreateFlags*)&forUnmarshaling->flags, sizeof(VkImageCreateFlags));
- vkStream->read((VkImageType*)&forUnmarshaling->imageType, sizeof(VkImageType));
- vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat));
- unmarshal_VkExtent3D(vkStream, (VkExtent3D*)(&forUnmarshaling->extent));
- vkStream->read((uint32_t*)&forUnmarshaling->mipLevels, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->arrayLayers, sizeof(uint32_t));
- vkStream->read((VkSampleCountFlagBits*)&forUnmarshaling->samples, sizeof(VkSampleCountFlagBits));
- vkStream->read((VkImageTiling*)&forUnmarshaling->tiling, sizeof(VkImageTiling));
- vkStream->read((VkImageUsageFlags*)&forUnmarshaling->usage, sizeof(VkImageUsageFlags));
- vkStream->read((VkSharingMode*)&forUnmarshaling->sharingMode, sizeof(VkSharingMode));
- vkStream->read((uint32_t*)&forUnmarshaling->queueFamilyIndexCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- const uint32_t* check_pQueueFamilyIndices;
- check_pQueueFamilyIndices = (const uint32_t*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pQueueFamilyIndices)
- {
- if (!(check_pQueueFamilyIndices))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pQueueFamilyIndices inconsistent between guest and host\n");
- }
- vkStream->read((uint32_t*)forUnmarshaling->pQueueFamilyIndices, forUnmarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
- }
- vkStream->read((VkImageLayout*)&forUnmarshaling->initialLayout, sizeof(VkImageLayout));
-}
-
-void marshal_VkSubresourceLayout(
- VulkanStreamGuest* vkStream,
- const VkSubresourceLayout* forMarshaling)
-{
- vkStream->write((VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
- vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
- vkStream->write((VkDeviceSize*)&forMarshaling->rowPitch, sizeof(VkDeviceSize));
- vkStream->write((VkDeviceSize*)&forMarshaling->arrayPitch, sizeof(VkDeviceSize));
- vkStream->write((VkDeviceSize*)&forMarshaling->depthPitch, sizeof(VkDeviceSize));
-}
-
-void unmarshal_VkSubresourceLayout(
- VulkanStreamGuest* vkStream,
- VkSubresourceLayout* forUnmarshaling)
-{
- vkStream->read((VkDeviceSize*)&forUnmarshaling->offset, sizeof(VkDeviceSize));
- vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
- vkStream->read((VkDeviceSize*)&forUnmarshaling->rowPitch, sizeof(VkDeviceSize));
- vkStream->read((VkDeviceSize*)&forUnmarshaling->arrayPitch, sizeof(VkDeviceSize));
- vkStream->read((VkDeviceSize*)&forUnmarshaling->depthPitch, sizeof(VkDeviceSize));
-}
-
-void marshal_VkComponentMapping(
- VulkanStreamGuest* vkStream,
- const VkComponentMapping* forMarshaling)
-{
- vkStream->write((VkComponentSwizzle*)&forMarshaling->r, sizeof(VkComponentSwizzle));
- vkStream->write((VkComponentSwizzle*)&forMarshaling->g, sizeof(VkComponentSwizzle));
- vkStream->write((VkComponentSwizzle*)&forMarshaling->b, sizeof(VkComponentSwizzle));
- vkStream->write((VkComponentSwizzle*)&forMarshaling->a, sizeof(VkComponentSwizzle));
-}
-
-void unmarshal_VkComponentMapping(
- VulkanStreamGuest* vkStream,
- VkComponentMapping* forUnmarshaling)
-{
- vkStream->read((VkComponentSwizzle*)&forUnmarshaling->r, sizeof(VkComponentSwizzle));
- vkStream->read((VkComponentSwizzle*)&forUnmarshaling->g, sizeof(VkComponentSwizzle));
- vkStream->read((VkComponentSwizzle*)&forUnmarshaling->b, sizeof(VkComponentSwizzle));
- vkStream->read((VkComponentSwizzle*)&forUnmarshaling->a, sizeof(VkComponentSwizzle));
-}
-
-void marshal_VkImageSubresourceRange(
- VulkanStreamGuest* vkStream,
- const VkImageSubresourceRange* forMarshaling)
-{
- vkStream->write((VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
- vkStream->write((uint32_t*)&forMarshaling->baseMipLevel, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->levelCount, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->baseArrayLayer, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->layerCount, sizeof(uint32_t));
-}
-
-void unmarshal_VkImageSubresourceRange(
- VulkanStreamGuest* vkStream,
- VkImageSubresourceRange* forUnmarshaling)
-{
- vkStream->read((VkImageAspectFlags*)&forUnmarshaling->aspectMask, sizeof(VkImageAspectFlags));
- vkStream->read((uint32_t*)&forUnmarshaling->baseMipLevel, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->levelCount, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->baseArrayLayer, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->layerCount, sizeof(uint32_t));
-}
-
-void marshal_VkImageViewCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkImageViewCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkImageViewCreateFlags*)&forMarshaling->flags, sizeof(VkImageViewCreateFlags));
- uint64_t cgen_var_50;
- vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_50, 1);
- vkStream->write((uint64_t*)&cgen_var_50, 1 * 8);
- vkStream->write((VkImageViewType*)&forMarshaling->viewType, sizeof(VkImageViewType));
- vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat));
- marshal_VkComponentMapping(vkStream, (VkComponentMapping*)(&forMarshaling->components));
- marshal_VkImageSubresourceRange(vkStream, (VkImageSubresourceRange*)(&forMarshaling->subresourceRange));
-}
-
-void unmarshal_VkImageViewCreateInfo(
- VulkanStreamGuest* vkStream,
- VkImageViewCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkImageViewCreateFlags*)&forUnmarshaling->flags, sizeof(VkImageViewCreateFlags));
- uint64_t cgen_var_51;
- vkStream->read((uint64_t*)&cgen_var_51, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_51, (VkImage*)&forUnmarshaling->image, 1);
- vkStream->read((VkImageViewType*)&forUnmarshaling->viewType, sizeof(VkImageViewType));
- vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat));
- unmarshal_VkComponentMapping(vkStream, (VkComponentMapping*)(&forUnmarshaling->components));
- unmarshal_VkImageSubresourceRange(vkStream, (VkImageSubresourceRange*)(&forUnmarshaling->subresourceRange));
-}
-
-void marshal_VkShaderModuleCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkShaderModuleCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkShaderModuleCreateFlags*)&forMarshaling->flags, sizeof(VkShaderModuleCreateFlags));
- uint64_t cgen_var_52 = (uint64_t)forMarshaling->codeSize;
- vkStream->putBe64(cgen_var_52);
- vkStream->write((const uint32_t*)forMarshaling->pCode, (forMarshaling->codeSize / 4) * sizeof(const uint32_t));
-}
-
-void unmarshal_VkShaderModuleCreateInfo(
- VulkanStreamGuest* vkStream,
- VkShaderModuleCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkShaderModuleCreateFlags*)&forUnmarshaling->flags, sizeof(VkShaderModuleCreateFlags));
- forUnmarshaling->codeSize = (size_t)vkStream->getBe64();
- vkStream->read((uint32_t*)forUnmarshaling->pCode, (forUnmarshaling->codeSize / 4) * sizeof(const uint32_t));
-}
-
-void marshal_VkPipelineCacheCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkPipelineCacheCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkPipelineCacheCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineCacheCreateFlags));
- uint64_t cgen_var_54 = (uint64_t)forMarshaling->initialDataSize;
- vkStream->putBe64(cgen_var_54);
- vkStream->write((const void*)forMarshaling->pInitialData, forMarshaling->initialDataSize * sizeof(const uint8_t));
-}
-
-void unmarshal_VkPipelineCacheCreateInfo(
- VulkanStreamGuest* vkStream,
- VkPipelineCacheCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkPipelineCacheCreateFlags*)&forUnmarshaling->flags, sizeof(VkPipelineCacheCreateFlags));
- forUnmarshaling->initialDataSize = (size_t)vkStream->getBe64();
- vkStream->read((void*)forUnmarshaling->pInitialData, forUnmarshaling->initialDataSize * sizeof(const uint8_t));
-}
-
-void marshal_VkSpecializationMapEntry(
- VulkanStreamGuest* vkStream,
- const VkSpecializationMapEntry* forMarshaling)
-{
- vkStream->write((uint32_t*)&forMarshaling->constantID, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->offset, sizeof(uint32_t));
- uint64_t cgen_var_56 = (uint64_t)forMarshaling->size;
- vkStream->putBe64(cgen_var_56);
-}
-
-void unmarshal_VkSpecializationMapEntry(
- VulkanStreamGuest* vkStream,
- VkSpecializationMapEntry* forUnmarshaling)
-{
- vkStream->read((uint32_t*)&forUnmarshaling->constantID, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->offset, sizeof(uint32_t));
- forUnmarshaling->size = (size_t)vkStream->getBe64();
-}
-
-void marshal_VkSpecializationInfo(
- VulkanStreamGuest* vkStream,
- const VkSpecializationInfo* forMarshaling)
-{
- vkStream->write((uint32_t*)&forMarshaling->mapEntryCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->mapEntryCount; ++i)
- {
- marshal_VkSpecializationMapEntry(vkStream, (const VkSpecializationMapEntry*)(forMarshaling->pMapEntries + i));
- }
- uint64_t cgen_var_58 = (uint64_t)forMarshaling->dataSize;
- vkStream->putBe64(cgen_var_58);
- vkStream->write((const void*)forMarshaling->pData, forMarshaling->dataSize * sizeof(const uint8_t));
-}
-
-void unmarshal_VkSpecializationInfo(
- VulkanStreamGuest* vkStream,
- VkSpecializationInfo* forUnmarshaling)
-{
- vkStream->read((uint32_t*)&forUnmarshaling->mapEntryCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->mapEntryCount; ++i)
- {
- unmarshal_VkSpecializationMapEntry(vkStream, (VkSpecializationMapEntry*)(forUnmarshaling->pMapEntries + i));
- }
- forUnmarshaling->dataSize = (size_t)vkStream->getBe64();
- vkStream->read((void*)forUnmarshaling->pData, forUnmarshaling->dataSize * sizeof(const uint8_t));
-}
-
-void marshal_VkPipelineShaderStageCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkPipelineShaderStageCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkPipelineShaderStageCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineShaderStageCreateFlags));
- vkStream->write((VkShaderStageFlagBits*)&forMarshaling->stage, sizeof(VkShaderStageFlagBits));
- uint64_t cgen_var_60;
- vkStream->handleMapping()->mapHandles_VkShaderModule_u64(&forMarshaling->module, &cgen_var_60, 1);
- vkStream->write((uint64_t*)&cgen_var_60, 1 * 8);
- vkStream->putString(forMarshaling->pName);
- // WARNING PTR CHECK
- uint64_t cgen_var_61 = (uint64_t)(uintptr_t)forMarshaling->pSpecializationInfo;
- vkStream->putBe64(cgen_var_61);
- if (forMarshaling->pSpecializationInfo)
- {
- marshal_VkSpecializationInfo(vkStream, (const VkSpecializationInfo*)(forMarshaling->pSpecializationInfo));
- }
-}
-
-void unmarshal_VkPipelineShaderStageCreateInfo(
- VulkanStreamGuest* vkStream,
- VkPipelineShaderStageCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkPipelineShaderStageCreateFlags*)&forUnmarshaling->flags, sizeof(VkPipelineShaderStageCreateFlags));
- vkStream->read((VkShaderStageFlagBits*)&forUnmarshaling->stage, sizeof(VkShaderStageFlagBits));
- uint64_t cgen_var_62;
- vkStream->read((uint64_t*)&cgen_var_62, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkShaderModule(&cgen_var_62, (VkShaderModule*)&forUnmarshaling->module, 1);
- vkStream->loadStringInPlace((char**)&forUnmarshaling->pName);
- // WARNING PTR CHECK
- const VkSpecializationInfo* check_pSpecializationInfo;
- check_pSpecializationInfo = (const VkSpecializationInfo*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pSpecializationInfo)
- {
- if (!(check_pSpecializationInfo))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pSpecializationInfo inconsistent between guest and host\n");
- }
- unmarshal_VkSpecializationInfo(vkStream, (VkSpecializationInfo*)(forUnmarshaling->pSpecializationInfo));
- }
-}
-
-void marshal_VkVertexInputBindingDescription(
- VulkanStreamGuest* vkStream,
- const VkVertexInputBindingDescription* forMarshaling)
-{
- vkStream->write((uint32_t*)&forMarshaling->binding, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->stride, sizeof(uint32_t));
- vkStream->write((VkVertexInputRate*)&forMarshaling->inputRate, sizeof(VkVertexInputRate));
-}
-
-void unmarshal_VkVertexInputBindingDescription(
- VulkanStreamGuest* vkStream,
- VkVertexInputBindingDescription* forUnmarshaling)
-{
- vkStream->read((uint32_t*)&forUnmarshaling->binding, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->stride, sizeof(uint32_t));
- vkStream->read((VkVertexInputRate*)&forUnmarshaling->inputRate, sizeof(VkVertexInputRate));
-}
-
-void marshal_VkVertexInputAttributeDescription(
- VulkanStreamGuest* vkStream,
- const VkVertexInputAttributeDescription* forMarshaling)
-{
- vkStream->write((uint32_t*)&forMarshaling->location, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->binding, sizeof(uint32_t));
- vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat));
- vkStream->write((uint32_t*)&forMarshaling->offset, sizeof(uint32_t));
-}
-
-void unmarshal_VkVertexInputAttributeDescription(
- VulkanStreamGuest* vkStream,
- VkVertexInputAttributeDescription* forUnmarshaling)
-{
- vkStream->read((uint32_t*)&forUnmarshaling->location, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->binding, sizeof(uint32_t));
- vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat));
- vkStream->read((uint32_t*)&forUnmarshaling->offset, sizeof(uint32_t));
-}
-
-void marshal_VkPipelineVertexInputStateCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkPipelineVertexInputStateCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkPipelineVertexInputStateCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineVertexInputStateCreateFlags));
- vkStream->write((uint32_t*)&forMarshaling->vertexBindingDescriptionCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->vertexBindingDescriptionCount; ++i)
- {
- marshal_VkVertexInputBindingDescription(vkStream, (const VkVertexInputBindingDescription*)(forMarshaling->pVertexBindingDescriptions + i));
- }
- vkStream->write((uint32_t*)&forMarshaling->vertexAttributeDescriptionCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->vertexAttributeDescriptionCount; ++i)
- {
- marshal_VkVertexInputAttributeDescription(vkStream, (const VkVertexInputAttributeDescription*)(forMarshaling->pVertexAttributeDescriptions + i));
- }
-}
-
-void unmarshal_VkPipelineVertexInputStateCreateInfo(
- VulkanStreamGuest* vkStream,
- VkPipelineVertexInputStateCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkPipelineVertexInputStateCreateFlags*)&forUnmarshaling->flags, sizeof(VkPipelineVertexInputStateCreateFlags));
- vkStream->read((uint32_t*)&forUnmarshaling->vertexBindingDescriptionCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->vertexBindingDescriptionCount; ++i)
- {
- unmarshal_VkVertexInputBindingDescription(vkStream, (VkVertexInputBindingDescription*)(forUnmarshaling->pVertexBindingDescriptions + i));
- }
- vkStream->read((uint32_t*)&forUnmarshaling->vertexAttributeDescriptionCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->vertexAttributeDescriptionCount; ++i)
- {
- unmarshal_VkVertexInputAttributeDescription(vkStream, (VkVertexInputAttributeDescription*)(forUnmarshaling->pVertexAttributeDescriptions + i));
- }
-}
-
-void marshal_VkPipelineInputAssemblyStateCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkPipelineInputAssemblyStateCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkPipelineInputAssemblyStateCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineInputAssemblyStateCreateFlags));
- vkStream->write((VkPrimitiveTopology*)&forMarshaling->topology, sizeof(VkPrimitiveTopology));
- vkStream->write((VkBool32*)&forMarshaling->primitiveRestartEnable, sizeof(VkBool32));
-}
-
-void unmarshal_VkPipelineInputAssemblyStateCreateInfo(
- VulkanStreamGuest* vkStream,
- VkPipelineInputAssemblyStateCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkPipelineInputAssemblyStateCreateFlags*)&forUnmarshaling->flags, sizeof(VkPipelineInputAssemblyStateCreateFlags));
- vkStream->read((VkPrimitiveTopology*)&forUnmarshaling->topology, sizeof(VkPrimitiveTopology));
- vkStream->read((VkBool32*)&forUnmarshaling->primitiveRestartEnable, sizeof(VkBool32));
-}
-
-void marshal_VkPipelineTessellationStateCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkPipelineTessellationStateCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkPipelineTessellationStateCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineTessellationStateCreateFlags));
- vkStream->write((uint32_t*)&forMarshaling->patchControlPoints, sizeof(uint32_t));
-}
-
-void unmarshal_VkPipelineTessellationStateCreateInfo(
- VulkanStreamGuest* vkStream,
- VkPipelineTessellationStateCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkPipelineTessellationStateCreateFlags*)&forUnmarshaling->flags, sizeof(VkPipelineTessellationStateCreateFlags));
- vkStream->read((uint32_t*)&forUnmarshaling->patchControlPoints, sizeof(uint32_t));
-}
-
-void marshal_VkViewport(
- VulkanStreamGuest* vkStream,
- const VkViewport* forMarshaling)
-{
- vkStream->write((float*)&forMarshaling->x, sizeof(float));
- vkStream->write((float*)&forMarshaling->y, sizeof(float));
- vkStream->write((float*)&forMarshaling->width, sizeof(float));
- vkStream->write((float*)&forMarshaling->height, sizeof(float));
- vkStream->write((float*)&forMarshaling->minDepth, sizeof(float));
- vkStream->write((float*)&forMarshaling->maxDepth, sizeof(float));
-}
-
-void unmarshal_VkViewport(
- VulkanStreamGuest* vkStream,
- VkViewport* forUnmarshaling)
-{
- vkStream->read((float*)&forUnmarshaling->x, sizeof(float));
- vkStream->read((float*)&forUnmarshaling->y, sizeof(float));
- vkStream->read((float*)&forUnmarshaling->width, sizeof(float));
- vkStream->read((float*)&forUnmarshaling->height, sizeof(float));
- vkStream->read((float*)&forUnmarshaling->minDepth, sizeof(float));
- vkStream->read((float*)&forUnmarshaling->maxDepth, sizeof(float));
-}
-
-void marshal_VkOffset2D(
- VulkanStreamGuest* vkStream,
- const VkOffset2D* forMarshaling)
-{
- vkStream->write((int32_t*)&forMarshaling->x, sizeof(int32_t));
- vkStream->write((int32_t*)&forMarshaling->y, sizeof(int32_t));
-}
-
-void unmarshal_VkOffset2D(
- VulkanStreamGuest* vkStream,
- VkOffset2D* forUnmarshaling)
-{
- vkStream->read((int32_t*)&forUnmarshaling->x, sizeof(int32_t));
- vkStream->read((int32_t*)&forUnmarshaling->y, sizeof(int32_t));
-}
-
-void marshal_VkExtent2D(
- VulkanStreamGuest* vkStream,
- const VkExtent2D* forMarshaling)
-{
- vkStream->write((uint32_t*)&forMarshaling->width, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->height, sizeof(uint32_t));
-}
-
-void unmarshal_VkExtent2D(
- VulkanStreamGuest* vkStream,
- VkExtent2D* forUnmarshaling)
-{
- vkStream->read((uint32_t*)&forUnmarshaling->width, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->height, sizeof(uint32_t));
-}
-
-void marshal_VkRect2D(
- VulkanStreamGuest* vkStream,
- const VkRect2D* forMarshaling)
-{
- marshal_VkOffset2D(vkStream, (VkOffset2D*)(&forMarshaling->offset));
- marshal_VkExtent2D(vkStream, (VkExtent2D*)(&forMarshaling->extent));
-}
-
-void unmarshal_VkRect2D(
- VulkanStreamGuest* vkStream,
- VkRect2D* forUnmarshaling)
-{
- unmarshal_VkOffset2D(vkStream, (VkOffset2D*)(&forUnmarshaling->offset));
- unmarshal_VkExtent2D(vkStream, (VkExtent2D*)(&forUnmarshaling->extent));
-}
-
-void marshal_VkPipelineViewportStateCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkPipelineViewportStateCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkPipelineViewportStateCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineViewportStateCreateFlags));
- vkStream->write((uint32_t*)&forMarshaling->viewportCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- uint64_t cgen_var_64 = (uint64_t)(uintptr_t)forMarshaling->pViewports;
- vkStream->putBe64(cgen_var_64);
- if (forMarshaling->pViewports)
- {
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->viewportCount; ++i)
- {
- marshal_VkViewport(vkStream, (const VkViewport*)(forMarshaling->pViewports + i));
- }
- }
- vkStream->write((uint32_t*)&forMarshaling->scissorCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- uint64_t cgen_var_65 = (uint64_t)(uintptr_t)forMarshaling->pScissors;
- vkStream->putBe64(cgen_var_65);
- if (forMarshaling->pScissors)
- {
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->scissorCount; ++i)
- {
- marshal_VkRect2D(vkStream, (const VkRect2D*)(forMarshaling->pScissors + i));
- }
- }
-}
-
-void unmarshal_VkPipelineViewportStateCreateInfo(
- VulkanStreamGuest* vkStream,
- VkPipelineViewportStateCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkPipelineViewportStateCreateFlags*)&forUnmarshaling->flags, sizeof(VkPipelineViewportStateCreateFlags));
- vkStream->read((uint32_t*)&forUnmarshaling->viewportCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- const VkViewport* check_pViewports;
- check_pViewports = (const VkViewport*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pViewports)
- {
- if (!(check_pViewports))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pViewports inconsistent between guest and host\n");
- }
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->viewportCount; ++i)
- {
- unmarshal_VkViewport(vkStream, (VkViewport*)(forUnmarshaling->pViewports + i));
- }
- }
- vkStream->read((uint32_t*)&forUnmarshaling->scissorCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- const VkRect2D* check_pScissors;
- check_pScissors = (const VkRect2D*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pScissors)
- {
- if (!(check_pScissors))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pScissors inconsistent between guest and host\n");
- }
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->scissorCount; ++i)
- {
- unmarshal_VkRect2D(vkStream, (VkRect2D*)(forUnmarshaling->pScissors + i));
- }
- }
-}
-
-void marshal_VkPipelineRasterizationStateCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkPipelineRasterizationStateCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkPipelineRasterizationStateCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineRasterizationStateCreateFlags));
- vkStream->write((VkBool32*)&forMarshaling->depthClampEnable, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->rasterizerDiscardEnable, sizeof(VkBool32));
- vkStream->write((VkPolygonMode*)&forMarshaling->polygonMode, sizeof(VkPolygonMode));
- vkStream->write((VkCullModeFlags*)&forMarshaling->cullMode, sizeof(VkCullModeFlags));
- vkStream->write((VkFrontFace*)&forMarshaling->frontFace, sizeof(VkFrontFace));
- vkStream->write((VkBool32*)&forMarshaling->depthBiasEnable, sizeof(VkBool32));
- vkStream->write((float*)&forMarshaling->depthBiasConstantFactor, sizeof(float));
- vkStream->write((float*)&forMarshaling->depthBiasClamp, sizeof(float));
- vkStream->write((float*)&forMarshaling->depthBiasSlopeFactor, sizeof(float));
- vkStream->write((float*)&forMarshaling->lineWidth, sizeof(float));
-}
-
-void unmarshal_VkPipelineRasterizationStateCreateInfo(
- VulkanStreamGuest* vkStream,
- VkPipelineRasterizationStateCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkPipelineRasterizationStateCreateFlags*)&forUnmarshaling->flags, sizeof(VkPipelineRasterizationStateCreateFlags));
- vkStream->read((VkBool32*)&forUnmarshaling->depthClampEnable, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->rasterizerDiscardEnable, sizeof(VkBool32));
- vkStream->read((VkPolygonMode*)&forUnmarshaling->polygonMode, sizeof(VkPolygonMode));
- vkStream->read((VkCullModeFlags*)&forUnmarshaling->cullMode, sizeof(VkCullModeFlags));
- vkStream->read((VkFrontFace*)&forUnmarshaling->frontFace, sizeof(VkFrontFace));
- vkStream->read((VkBool32*)&forUnmarshaling->depthBiasEnable, sizeof(VkBool32));
- vkStream->read((float*)&forUnmarshaling->depthBiasConstantFactor, sizeof(float));
- vkStream->read((float*)&forUnmarshaling->depthBiasClamp, sizeof(float));
- vkStream->read((float*)&forUnmarshaling->depthBiasSlopeFactor, sizeof(float));
- vkStream->read((float*)&forUnmarshaling->lineWidth, sizeof(float));
-}
-
-void marshal_VkPipelineMultisampleStateCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkPipelineMultisampleStateCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkPipelineMultisampleStateCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineMultisampleStateCreateFlags));
- vkStream->write((VkSampleCountFlagBits*)&forMarshaling->rasterizationSamples, sizeof(VkSampleCountFlagBits));
- vkStream->write((VkBool32*)&forMarshaling->sampleShadingEnable, sizeof(VkBool32));
- vkStream->write((float*)&forMarshaling->minSampleShading, sizeof(float));
- // WARNING PTR CHECK
- uint64_t cgen_var_68 = (uint64_t)(uintptr_t)forMarshaling->pSampleMask;
- vkStream->putBe64(cgen_var_68);
- if (forMarshaling->pSampleMask)
- {
- vkStream->write((const VkSampleMask*)forMarshaling->pSampleMask, (((forMarshaling->rasterizationSamples) + 31) / 32) * sizeof(const VkSampleMask));
- }
- vkStream->write((VkBool32*)&forMarshaling->alphaToCoverageEnable, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->alphaToOneEnable, sizeof(VkBool32));
-}
-
-void unmarshal_VkPipelineMultisampleStateCreateInfo(
- VulkanStreamGuest* vkStream,
- VkPipelineMultisampleStateCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkPipelineMultisampleStateCreateFlags*)&forUnmarshaling->flags, sizeof(VkPipelineMultisampleStateCreateFlags));
- vkStream->read((VkSampleCountFlagBits*)&forUnmarshaling->rasterizationSamples, sizeof(VkSampleCountFlagBits));
- vkStream->read((VkBool32*)&forUnmarshaling->sampleShadingEnable, sizeof(VkBool32));
- vkStream->read((float*)&forUnmarshaling->minSampleShading, sizeof(float));
- // WARNING PTR CHECK
- const VkSampleMask* check_pSampleMask;
- check_pSampleMask = (const VkSampleMask*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pSampleMask)
- {
- if (!(check_pSampleMask))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pSampleMask inconsistent between guest and host\n");
- }
- vkStream->read((VkSampleMask*)forUnmarshaling->pSampleMask, (((forUnmarshaling->rasterizationSamples) + 31) / 32) * sizeof(const VkSampleMask));
- }
- vkStream->read((VkBool32*)&forUnmarshaling->alphaToCoverageEnable, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->alphaToOneEnable, sizeof(VkBool32));
-}
-
-void marshal_VkStencilOpState(
- VulkanStreamGuest* vkStream,
- const VkStencilOpState* forMarshaling)
-{
- vkStream->write((VkStencilOp*)&forMarshaling->failOp, sizeof(VkStencilOp));
- vkStream->write((VkStencilOp*)&forMarshaling->passOp, sizeof(VkStencilOp));
- vkStream->write((VkStencilOp*)&forMarshaling->depthFailOp, sizeof(VkStencilOp));
- vkStream->write((VkCompareOp*)&forMarshaling->compareOp, sizeof(VkCompareOp));
- vkStream->write((uint32_t*)&forMarshaling->compareMask, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->writeMask, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->reference, sizeof(uint32_t));
-}
-
-void unmarshal_VkStencilOpState(
- VulkanStreamGuest* vkStream,
- VkStencilOpState* forUnmarshaling)
-{
- vkStream->read((VkStencilOp*)&forUnmarshaling->failOp, sizeof(VkStencilOp));
- vkStream->read((VkStencilOp*)&forUnmarshaling->passOp, sizeof(VkStencilOp));
- vkStream->read((VkStencilOp*)&forUnmarshaling->depthFailOp, sizeof(VkStencilOp));
- vkStream->read((VkCompareOp*)&forUnmarshaling->compareOp, sizeof(VkCompareOp));
- vkStream->read((uint32_t*)&forUnmarshaling->compareMask, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->writeMask, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->reference, sizeof(uint32_t));
-}
-
-void marshal_VkPipelineDepthStencilStateCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkPipelineDepthStencilStateCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkPipelineDepthStencilStateCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineDepthStencilStateCreateFlags));
- vkStream->write((VkBool32*)&forMarshaling->depthTestEnable, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->depthWriteEnable, sizeof(VkBool32));
- vkStream->write((VkCompareOp*)&forMarshaling->depthCompareOp, sizeof(VkCompareOp));
- vkStream->write((VkBool32*)&forMarshaling->depthBoundsTestEnable, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->stencilTestEnable, sizeof(VkBool32));
- marshal_VkStencilOpState(vkStream, (VkStencilOpState*)(&forMarshaling->front));
- marshal_VkStencilOpState(vkStream, (VkStencilOpState*)(&forMarshaling->back));
- vkStream->write((float*)&forMarshaling->minDepthBounds, sizeof(float));
- vkStream->write((float*)&forMarshaling->maxDepthBounds, sizeof(float));
-}
-
-void unmarshal_VkPipelineDepthStencilStateCreateInfo(
- VulkanStreamGuest* vkStream,
- VkPipelineDepthStencilStateCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkPipelineDepthStencilStateCreateFlags*)&forUnmarshaling->flags, sizeof(VkPipelineDepthStencilStateCreateFlags));
- vkStream->read((VkBool32*)&forUnmarshaling->depthTestEnable, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->depthWriteEnable, sizeof(VkBool32));
- vkStream->read((VkCompareOp*)&forUnmarshaling->depthCompareOp, sizeof(VkCompareOp));
- vkStream->read((VkBool32*)&forUnmarshaling->depthBoundsTestEnable, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->stencilTestEnable, sizeof(VkBool32));
- unmarshal_VkStencilOpState(vkStream, (VkStencilOpState*)(&forUnmarshaling->front));
- unmarshal_VkStencilOpState(vkStream, (VkStencilOpState*)(&forUnmarshaling->back));
- vkStream->read((float*)&forUnmarshaling->minDepthBounds, sizeof(float));
- vkStream->read((float*)&forUnmarshaling->maxDepthBounds, sizeof(float));
-}
-
-void marshal_VkPipelineColorBlendAttachmentState(
- VulkanStreamGuest* vkStream,
- const VkPipelineColorBlendAttachmentState* forMarshaling)
-{
- vkStream->write((VkBool32*)&forMarshaling->blendEnable, sizeof(VkBool32));
- vkStream->write((VkBlendFactor*)&forMarshaling->srcColorBlendFactor, sizeof(VkBlendFactor));
- vkStream->write((VkBlendFactor*)&forMarshaling->dstColorBlendFactor, sizeof(VkBlendFactor));
- vkStream->write((VkBlendOp*)&forMarshaling->colorBlendOp, sizeof(VkBlendOp));
- vkStream->write((VkBlendFactor*)&forMarshaling->srcAlphaBlendFactor, sizeof(VkBlendFactor));
- vkStream->write((VkBlendFactor*)&forMarshaling->dstAlphaBlendFactor, sizeof(VkBlendFactor));
- vkStream->write((VkBlendOp*)&forMarshaling->alphaBlendOp, sizeof(VkBlendOp));
- vkStream->write((VkColorComponentFlags*)&forMarshaling->colorWriteMask, sizeof(VkColorComponentFlags));
-}
-
-void unmarshal_VkPipelineColorBlendAttachmentState(
- VulkanStreamGuest* vkStream,
- VkPipelineColorBlendAttachmentState* forUnmarshaling)
-{
- vkStream->read((VkBool32*)&forUnmarshaling->blendEnable, sizeof(VkBool32));
- vkStream->read((VkBlendFactor*)&forUnmarshaling->srcColorBlendFactor, sizeof(VkBlendFactor));
- vkStream->read((VkBlendFactor*)&forUnmarshaling->dstColorBlendFactor, sizeof(VkBlendFactor));
- vkStream->read((VkBlendOp*)&forUnmarshaling->colorBlendOp, sizeof(VkBlendOp));
- vkStream->read((VkBlendFactor*)&forUnmarshaling->srcAlphaBlendFactor, sizeof(VkBlendFactor));
- vkStream->read((VkBlendFactor*)&forUnmarshaling->dstAlphaBlendFactor, sizeof(VkBlendFactor));
- vkStream->read((VkBlendOp*)&forUnmarshaling->alphaBlendOp, sizeof(VkBlendOp));
- vkStream->read((VkColorComponentFlags*)&forUnmarshaling->colorWriteMask, sizeof(VkColorComponentFlags));
-}
-
-void marshal_VkPipelineColorBlendStateCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkPipelineColorBlendStateCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkPipelineColorBlendStateCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineColorBlendStateCreateFlags));
- vkStream->write((VkBool32*)&forMarshaling->logicOpEnable, sizeof(VkBool32));
- vkStream->write((VkLogicOp*)&forMarshaling->logicOp, sizeof(VkLogicOp));
- vkStream->write((uint32_t*)&forMarshaling->attachmentCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->attachmentCount; ++i)
- {
- marshal_VkPipelineColorBlendAttachmentState(vkStream, (const VkPipelineColorBlendAttachmentState*)(forMarshaling->pAttachments + i));
- }
- vkStream->write((float*)forMarshaling->blendConstants, 4 * sizeof(float));
-}
-
-void unmarshal_VkPipelineColorBlendStateCreateInfo(
- VulkanStreamGuest* vkStream,
- VkPipelineColorBlendStateCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkPipelineColorBlendStateCreateFlags*)&forUnmarshaling->flags, sizeof(VkPipelineColorBlendStateCreateFlags));
- vkStream->read((VkBool32*)&forUnmarshaling->logicOpEnable, sizeof(VkBool32));
- vkStream->read((VkLogicOp*)&forUnmarshaling->logicOp, sizeof(VkLogicOp));
- vkStream->read((uint32_t*)&forUnmarshaling->attachmentCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->attachmentCount; ++i)
- {
- unmarshal_VkPipelineColorBlendAttachmentState(vkStream, (VkPipelineColorBlendAttachmentState*)(forUnmarshaling->pAttachments + i));
- }
- vkStream->read((float*)forUnmarshaling->blendConstants, 4 * sizeof(float));
-}
-
-void marshal_VkPipelineDynamicStateCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkPipelineDynamicStateCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkPipelineDynamicStateCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineDynamicStateCreateFlags));
- vkStream->write((uint32_t*)&forMarshaling->dynamicStateCount, sizeof(uint32_t));
- vkStream->write((const VkDynamicState*)forMarshaling->pDynamicStates, forMarshaling->dynamicStateCount * sizeof(const VkDynamicState));
-}
-
-void unmarshal_VkPipelineDynamicStateCreateInfo(
- VulkanStreamGuest* vkStream,
- VkPipelineDynamicStateCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkPipelineDynamicStateCreateFlags*)&forUnmarshaling->flags, sizeof(VkPipelineDynamicStateCreateFlags));
- vkStream->read((uint32_t*)&forUnmarshaling->dynamicStateCount, sizeof(uint32_t));
- vkStream->read((VkDynamicState*)forUnmarshaling->pDynamicStates, forUnmarshaling->dynamicStateCount * sizeof(const VkDynamicState));
-}
-
-void marshal_VkGraphicsPipelineCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkGraphicsPipelineCreateInfo* forMarshaling)
-{
- uint32_t hasRasterization = 1;
- if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT)
- {
- hasRasterization = (((0 == forMarshaling->pRasterizationState)) ? (0) : (!((*(forMarshaling->pRasterizationState)).rasterizerDiscardEnable)));
- uint32_t cgen_var_70 = (uint32_t)hasRasterization;
- vkStream->putBe32(cgen_var_70);
- }
- uint32_t hasTessellation = 1;
- if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT)
- {
- hasTessellation = arrayany(forMarshaling->pStages, 0, forMarshaling->stageCount, [](VkPipelineShaderStageCreateInfo s) { return ((s.stage == VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT) || (s.stage == VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT)); });
- uint32_t cgen_var_71 = (uint32_t)hasTessellation;
- vkStream->putBe32(cgen_var_71);
- }
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkPipelineCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineCreateFlags));
- vkStream->write((uint32_t*)&forMarshaling->stageCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->stageCount; ++i)
- {
- marshal_VkPipelineShaderStageCreateInfo(vkStream, (const VkPipelineShaderStageCreateInfo*)(forMarshaling->pStages + i));
- }
- // WARNING PTR CHECK
- if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT)
- {
- uint64_t cgen_var_72 = (uint64_t)(uintptr_t)forMarshaling->pVertexInputState;
- vkStream->putBe64(cgen_var_72);
- }
- if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) || forMarshaling->pVertexInputState))
- {
- marshal_VkPipelineVertexInputStateCreateInfo(vkStream, (const VkPipelineVertexInputStateCreateInfo*)(forMarshaling->pVertexInputState));
- }
- // WARNING PTR CHECK
- if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT)
- {
- uint64_t cgen_var_73 = (uint64_t)(uintptr_t)forMarshaling->pInputAssemblyState;
- vkStream->putBe64(cgen_var_73);
- }
- if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) || forMarshaling->pInputAssemblyState))
- {
- marshal_VkPipelineInputAssemblyStateCreateInfo(vkStream, (const VkPipelineInputAssemblyStateCreateInfo*)(forMarshaling->pInputAssemblyState));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_74 = (uint64_t)(uintptr_t)forMarshaling->pTessellationState;
- vkStream->putBe64(cgen_var_74);
- if (forMarshaling->pTessellationState)
- {
- if (hasTessellation)
- {
- marshal_VkPipelineTessellationStateCreateInfo(vkStream, (const VkPipelineTessellationStateCreateInfo*)(forMarshaling->pTessellationState));
- }
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_75 = (uint64_t)(uintptr_t)forMarshaling->pViewportState;
- vkStream->putBe64(cgen_var_75);
- if (forMarshaling->pViewportState)
- {
- if (hasRasterization)
- {
- marshal_VkPipelineViewportStateCreateInfo(vkStream, (const VkPipelineViewportStateCreateInfo*)(forMarshaling->pViewportState));
- }
- }
- // WARNING PTR CHECK
- if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT)
- {
- uint64_t cgen_var_76 = (uint64_t)(uintptr_t)forMarshaling->pRasterizationState;
- vkStream->putBe64(cgen_var_76);
- }
- if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) || forMarshaling->pRasterizationState))
- {
- marshal_VkPipelineRasterizationStateCreateInfo(vkStream, (const VkPipelineRasterizationStateCreateInfo*)(forMarshaling->pRasterizationState));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_77 = (uint64_t)(uintptr_t)forMarshaling->pMultisampleState;
- vkStream->putBe64(cgen_var_77);
- if (forMarshaling->pMultisampleState)
- {
- if (hasRasterization)
- {
- marshal_VkPipelineMultisampleStateCreateInfo(vkStream, (const VkPipelineMultisampleStateCreateInfo*)(forMarshaling->pMultisampleState));
- }
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_78 = (uint64_t)(uintptr_t)forMarshaling->pDepthStencilState;
- vkStream->putBe64(cgen_var_78);
- if (forMarshaling->pDepthStencilState)
- {
- if (hasRasterization)
- {
- marshal_VkPipelineDepthStencilStateCreateInfo(vkStream, (const VkPipelineDepthStencilStateCreateInfo*)(forMarshaling->pDepthStencilState));
- }
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_79 = (uint64_t)(uintptr_t)forMarshaling->pColorBlendState;
- vkStream->putBe64(cgen_var_79);
- if (forMarshaling->pColorBlendState)
- {
- if (hasRasterization)
- {
- marshal_VkPipelineColorBlendStateCreateInfo(vkStream, (const VkPipelineColorBlendStateCreateInfo*)(forMarshaling->pColorBlendState));
- }
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_80 = (uint64_t)(uintptr_t)forMarshaling->pDynamicState;
- vkStream->putBe64(cgen_var_80);
- if (forMarshaling->pDynamicState)
- {
- marshal_VkPipelineDynamicStateCreateInfo(vkStream, (const VkPipelineDynamicStateCreateInfo*)(forMarshaling->pDynamicState));
- }
- uint64_t cgen_var_81;
- vkStream->handleMapping()->mapHandles_VkPipelineLayout_u64(&forMarshaling->layout, &cgen_var_81, 1);
- vkStream->write((uint64_t*)&cgen_var_81, 1 * 8);
- uint64_t cgen_var_82;
- vkStream->handleMapping()->mapHandles_VkRenderPass_u64(&forMarshaling->renderPass, &cgen_var_82, 1);
- vkStream->write((uint64_t*)&cgen_var_82, 1 * 8);
- vkStream->write((uint32_t*)&forMarshaling->subpass, sizeof(uint32_t));
- uint64_t cgen_var_83;
- vkStream->handleMapping()->mapHandles_VkPipeline_u64(&forMarshaling->basePipelineHandle, &cgen_var_83, 1);
- vkStream->write((uint64_t*)&cgen_var_83, 1 * 8);
- vkStream->write((int32_t*)&forMarshaling->basePipelineIndex, sizeof(int32_t));
-}
-
-void unmarshal_VkGraphicsPipelineCreateInfo(
- VulkanStreamGuest* vkStream,
- VkGraphicsPipelineCreateInfo* forUnmarshaling)
-{
- uint32_t hasRasterization = 1;
- if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT)
- {
- hasRasterization = (const uint32_t)vkStream->getBe32();
- }
- uint32_t hasTessellation = 1;
- if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT)
- {
- hasTessellation = (const uint32_t)vkStream->getBe32();
- }
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkPipelineCreateFlags*)&forUnmarshaling->flags, sizeof(VkPipelineCreateFlags));
- vkStream->read((uint32_t*)&forUnmarshaling->stageCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->stageCount; ++i)
- {
- unmarshal_VkPipelineShaderStageCreateInfo(vkStream, (VkPipelineShaderStageCreateInfo*)(forUnmarshaling->pStages + i));
- }
- // WARNING PTR CHECK
- const VkPipelineVertexInputStateCreateInfo* check_pVertexInputState;
- if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT)
- {
- check_pVertexInputState = (const VkPipelineVertexInputStateCreateInfo*)(uintptr_t)vkStream->getBe64();
- }
- if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) || forUnmarshaling->pVertexInputState))
- {
- unmarshal_VkPipelineVertexInputStateCreateInfo(vkStream, (VkPipelineVertexInputStateCreateInfo*)(forUnmarshaling->pVertexInputState));
- }
- // WARNING PTR CHECK
- const VkPipelineInputAssemblyStateCreateInfo* check_pInputAssemblyState;
- if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT)
- {
- check_pInputAssemblyState = (const VkPipelineInputAssemblyStateCreateInfo*)(uintptr_t)vkStream->getBe64();
- }
- if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) || forUnmarshaling->pInputAssemblyState))
- {
- unmarshal_VkPipelineInputAssemblyStateCreateInfo(vkStream, (VkPipelineInputAssemblyStateCreateInfo*)(forUnmarshaling->pInputAssemblyState));
- }
- // WARNING PTR CHECK
- const VkPipelineTessellationStateCreateInfo* check_pTessellationState;
- check_pTessellationState = (const VkPipelineTessellationStateCreateInfo*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pTessellationState)
- {
- if (!(check_pTessellationState))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pTessellationState inconsistent between guest and host\n");
- }
- if (hasTessellation)
- {
- unmarshal_VkPipelineTessellationStateCreateInfo(vkStream, (VkPipelineTessellationStateCreateInfo*)(forUnmarshaling->pTessellationState));
- }
- else
- {
- forUnmarshaling->pTessellationState = 0;
- }
- }
- // WARNING PTR CHECK
- const VkPipelineViewportStateCreateInfo* check_pViewportState;
- check_pViewportState = (const VkPipelineViewportStateCreateInfo*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pViewportState)
- {
- if (!(check_pViewportState))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pViewportState inconsistent between guest and host\n");
- }
- if (hasRasterization)
- {
- unmarshal_VkPipelineViewportStateCreateInfo(vkStream, (VkPipelineViewportStateCreateInfo*)(forUnmarshaling->pViewportState));
- }
- else
- {
- forUnmarshaling->pViewportState = 0;
- }
- }
- // WARNING PTR CHECK
- const VkPipelineRasterizationStateCreateInfo* check_pRasterizationState;
- if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT)
- {
- check_pRasterizationState = (const VkPipelineRasterizationStateCreateInfo*)(uintptr_t)vkStream->getBe64();
- }
- if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) || forUnmarshaling->pRasterizationState))
- {
- unmarshal_VkPipelineRasterizationStateCreateInfo(vkStream, (VkPipelineRasterizationStateCreateInfo*)(forUnmarshaling->pRasterizationState));
- }
- // WARNING PTR CHECK
- const VkPipelineMultisampleStateCreateInfo* check_pMultisampleState;
- check_pMultisampleState = (const VkPipelineMultisampleStateCreateInfo*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pMultisampleState)
- {
- if (!(check_pMultisampleState))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pMultisampleState inconsistent between guest and host\n");
- }
- if (hasRasterization)
- {
- unmarshal_VkPipelineMultisampleStateCreateInfo(vkStream, (VkPipelineMultisampleStateCreateInfo*)(forUnmarshaling->pMultisampleState));
- }
- else
- {
- forUnmarshaling->pMultisampleState = 0;
- }
- }
- // WARNING PTR CHECK
- const VkPipelineDepthStencilStateCreateInfo* check_pDepthStencilState;
- check_pDepthStencilState = (const VkPipelineDepthStencilStateCreateInfo*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pDepthStencilState)
- {
- if (!(check_pDepthStencilState))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pDepthStencilState inconsistent between guest and host\n");
- }
- if (hasRasterization)
- {
- unmarshal_VkPipelineDepthStencilStateCreateInfo(vkStream, (VkPipelineDepthStencilStateCreateInfo*)(forUnmarshaling->pDepthStencilState));
- }
- else
- {
- forUnmarshaling->pDepthStencilState = 0;
- }
- }
- // WARNING PTR CHECK
- const VkPipelineColorBlendStateCreateInfo* check_pColorBlendState;
- check_pColorBlendState = (const VkPipelineColorBlendStateCreateInfo*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pColorBlendState)
- {
- if (!(check_pColorBlendState))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pColorBlendState inconsistent between guest and host\n");
- }
- if (hasRasterization)
- {
- unmarshal_VkPipelineColorBlendStateCreateInfo(vkStream, (VkPipelineColorBlendStateCreateInfo*)(forUnmarshaling->pColorBlendState));
- }
- else
- {
- forUnmarshaling->pColorBlendState = 0;
- }
- }
- // WARNING PTR CHECK
- const VkPipelineDynamicStateCreateInfo* check_pDynamicState;
- check_pDynamicState = (const VkPipelineDynamicStateCreateInfo*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pDynamicState)
- {
- if (!(check_pDynamicState))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pDynamicState inconsistent between guest and host\n");
- }
- unmarshal_VkPipelineDynamicStateCreateInfo(vkStream, (VkPipelineDynamicStateCreateInfo*)(forUnmarshaling->pDynamicState));
- }
- uint64_t cgen_var_95;
- vkStream->read((uint64_t*)&cgen_var_95, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkPipelineLayout(&cgen_var_95, (VkPipelineLayout*)&forUnmarshaling->layout, 1);
- uint64_t cgen_var_96;
- vkStream->read((uint64_t*)&cgen_var_96, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkRenderPass(&cgen_var_96, (VkRenderPass*)&forUnmarshaling->renderPass, 1);
- vkStream->read((uint32_t*)&forUnmarshaling->subpass, sizeof(uint32_t));
- uint64_t cgen_var_97;
- vkStream->read((uint64_t*)&cgen_var_97, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkPipeline(&cgen_var_97, (VkPipeline*)&forUnmarshaling->basePipelineHandle, 1);
- vkStream->read((int32_t*)&forUnmarshaling->basePipelineIndex, sizeof(int32_t));
-}
-
-void marshal_VkComputePipelineCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkComputePipelineCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkPipelineCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineCreateFlags));
- marshal_VkPipelineShaderStageCreateInfo(vkStream, (VkPipelineShaderStageCreateInfo*)(&forMarshaling->stage));
- uint64_t cgen_var_98;
- vkStream->handleMapping()->mapHandles_VkPipelineLayout_u64(&forMarshaling->layout, &cgen_var_98, 1);
- vkStream->write((uint64_t*)&cgen_var_98, 1 * 8);
- uint64_t cgen_var_99;
- vkStream->handleMapping()->mapHandles_VkPipeline_u64(&forMarshaling->basePipelineHandle, &cgen_var_99, 1);
- vkStream->write((uint64_t*)&cgen_var_99, 1 * 8);
- vkStream->write((int32_t*)&forMarshaling->basePipelineIndex, sizeof(int32_t));
-}
-
-void unmarshal_VkComputePipelineCreateInfo(
- VulkanStreamGuest* vkStream,
- VkComputePipelineCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkPipelineCreateFlags*)&forUnmarshaling->flags, sizeof(VkPipelineCreateFlags));
- unmarshal_VkPipelineShaderStageCreateInfo(vkStream, (VkPipelineShaderStageCreateInfo*)(&forUnmarshaling->stage));
- uint64_t cgen_var_100;
- vkStream->read((uint64_t*)&cgen_var_100, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkPipelineLayout(&cgen_var_100, (VkPipelineLayout*)&forUnmarshaling->layout, 1);
- uint64_t cgen_var_101;
- vkStream->read((uint64_t*)&cgen_var_101, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkPipeline(&cgen_var_101, (VkPipeline*)&forUnmarshaling->basePipelineHandle, 1);
- vkStream->read((int32_t*)&forUnmarshaling->basePipelineIndex, sizeof(int32_t));
-}
-
-void marshal_VkPushConstantRange(
- VulkanStreamGuest* vkStream,
- const VkPushConstantRange* forMarshaling)
-{
- vkStream->write((VkShaderStageFlags*)&forMarshaling->stageFlags, sizeof(VkShaderStageFlags));
- vkStream->write((uint32_t*)&forMarshaling->offset, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->size, sizeof(uint32_t));
-}
-
-void unmarshal_VkPushConstantRange(
- VulkanStreamGuest* vkStream,
- VkPushConstantRange* forUnmarshaling)
-{
- vkStream->read((VkShaderStageFlags*)&forUnmarshaling->stageFlags, sizeof(VkShaderStageFlags));
- vkStream->read((uint32_t*)&forUnmarshaling->offset, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->size, sizeof(uint32_t));
-}
-
-void marshal_VkPipelineLayoutCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkPipelineLayoutCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkPipelineLayoutCreateFlags*)&forMarshaling->flags, sizeof(VkPipelineLayoutCreateFlags));
- vkStream->write((uint32_t*)&forMarshaling->setLayoutCount, sizeof(uint32_t));
- if (forMarshaling->setLayoutCount)
- {
- uint64_t* cgen_var_102;
- vkStream->alloc((void**)&cgen_var_102, forMarshaling->setLayoutCount * 8);
- vkStream->handleMapping()->mapHandles_VkDescriptorSetLayout_u64(forMarshaling->pSetLayouts, cgen_var_102, forMarshaling->setLayoutCount);
- vkStream->write((uint64_t*)cgen_var_102, forMarshaling->setLayoutCount * 8);
- }
- vkStream->write((uint32_t*)&forMarshaling->pushConstantRangeCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->pushConstantRangeCount; ++i)
- {
- marshal_VkPushConstantRange(vkStream, (const VkPushConstantRange*)(forMarshaling->pPushConstantRanges + i));
- }
-}
-
-void unmarshal_VkPipelineLayoutCreateInfo(
- VulkanStreamGuest* vkStream,
- VkPipelineLayoutCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkPipelineLayoutCreateFlags*)&forUnmarshaling->flags, sizeof(VkPipelineLayoutCreateFlags));
- vkStream->read((uint32_t*)&forUnmarshaling->setLayoutCount, sizeof(uint32_t));
- if (forUnmarshaling->setLayoutCount)
- {
- uint64_t* cgen_var_103;
- vkStream->alloc((void**)&cgen_var_103, forUnmarshaling->setLayoutCount * 8);
- vkStream->read((uint64_t*)cgen_var_103, forUnmarshaling->setLayoutCount * 8);
- vkStream->handleMapping()->mapHandles_u64_VkDescriptorSetLayout(cgen_var_103, (VkDescriptorSetLayout*)forUnmarshaling->pSetLayouts, forUnmarshaling->setLayoutCount);
- }
- vkStream->read((uint32_t*)&forUnmarshaling->pushConstantRangeCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->pushConstantRangeCount; ++i)
- {
- unmarshal_VkPushConstantRange(vkStream, (VkPushConstantRange*)(forUnmarshaling->pPushConstantRanges + i));
- }
-}
-
-void marshal_VkSamplerCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkSamplerCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkSamplerCreateFlags*)&forMarshaling->flags, sizeof(VkSamplerCreateFlags));
- vkStream->write((VkFilter*)&forMarshaling->magFilter, sizeof(VkFilter));
- vkStream->write((VkFilter*)&forMarshaling->minFilter, sizeof(VkFilter));
- vkStream->write((VkSamplerMipmapMode*)&forMarshaling->mipmapMode, sizeof(VkSamplerMipmapMode));
- vkStream->write((VkSamplerAddressMode*)&forMarshaling->addressModeU, sizeof(VkSamplerAddressMode));
- vkStream->write((VkSamplerAddressMode*)&forMarshaling->addressModeV, sizeof(VkSamplerAddressMode));
- vkStream->write((VkSamplerAddressMode*)&forMarshaling->addressModeW, sizeof(VkSamplerAddressMode));
- vkStream->write((float*)&forMarshaling->mipLodBias, sizeof(float));
- vkStream->write((VkBool32*)&forMarshaling->anisotropyEnable, sizeof(VkBool32));
- vkStream->write((float*)&forMarshaling->maxAnisotropy, sizeof(float));
- vkStream->write((VkBool32*)&forMarshaling->compareEnable, sizeof(VkBool32));
- vkStream->write((VkCompareOp*)&forMarshaling->compareOp, sizeof(VkCompareOp));
- vkStream->write((float*)&forMarshaling->minLod, sizeof(float));
- vkStream->write((float*)&forMarshaling->maxLod, sizeof(float));
- vkStream->write((VkBorderColor*)&forMarshaling->borderColor, sizeof(VkBorderColor));
- vkStream->write((VkBool32*)&forMarshaling->unnormalizedCoordinates, sizeof(VkBool32));
-}
-
-void unmarshal_VkSamplerCreateInfo(
- VulkanStreamGuest* vkStream,
- VkSamplerCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkSamplerCreateFlags*)&forUnmarshaling->flags, sizeof(VkSamplerCreateFlags));
- vkStream->read((VkFilter*)&forUnmarshaling->magFilter, sizeof(VkFilter));
- vkStream->read((VkFilter*)&forUnmarshaling->minFilter, sizeof(VkFilter));
- vkStream->read((VkSamplerMipmapMode*)&forUnmarshaling->mipmapMode, sizeof(VkSamplerMipmapMode));
- vkStream->read((VkSamplerAddressMode*)&forUnmarshaling->addressModeU, sizeof(VkSamplerAddressMode));
- vkStream->read((VkSamplerAddressMode*)&forUnmarshaling->addressModeV, sizeof(VkSamplerAddressMode));
- vkStream->read((VkSamplerAddressMode*)&forUnmarshaling->addressModeW, sizeof(VkSamplerAddressMode));
- vkStream->read((float*)&forUnmarshaling->mipLodBias, sizeof(float));
- vkStream->read((VkBool32*)&forUnmarshaling->anisotropyEnable, sizeof(VkBool32));
- vkStream->read((float*)&forUnmarshaling->maxAnisotropy, sizeof(float));
- vkStream->read((VkBool32*)&forUnmarshaling->compareEnable, sizeof(VkBool32));
- vkStream->read((VkCompareOp*)&forUnmarshaling->compareOp, sizeof(VkCompareOp));
- vkStream->read((float*)&forUnmarshaling->minLod, sizeof(float));
- vkStream->read((float*)&forUnmarshaling->maxLod, sizeof(float));
- vkStream->read((VkBorderColor*)&forUnmarshaling->borderColor, sizeof(VkBorderColor));
- vkStream->read((VkBool32*)&forUnmarshaling->unnormalizedCoordinates, sizeof(VkBool32));
-}
-
-void marshal_VkDescriptorSetLayoutBinding(
- VulkanStreamGuest* vkStream,
- const VkDescriptorSetLayoutBinding* forMarshaling)
-{
- vkStream->write((uint32_t*)&forMarshaling->binding, sizeof(uint32_t));
- vkStream->write((VkDescriptorType*)&forMarshaling->descriptorType, sizeof(VkDescriptorType));
- vkStream->write((uint32_t*)&forMarshaling->descriptorCount, sizeof(uint32_t));
- vkStream->write((VkShaderStageFlags*)&forMarshaling->stageFlags, sizeof(VkShaderStageFlags));
- // WARNING PTR CHECK
- uint64_t cgen_var_104 = (uint64_t)(uintptr_t)forMarshaling->pImmutableSamplers;
- vkStream->putBe64(cgen_var_104);
- if (forMarshaling->pImmutableSamplers)
- {
- if (forMarshaling->descriptorCount)
- {
- uint64_t* cgen_var_105;
- vkStream->alloc((void**)&cgen_var_105, forMarshaling->descriptorCount * 8);
- vkStream->handleMapping()->mapHandles_VkSampler_u64(forMarshaling->pImmutableSamplers, cgen_var_105, forMarshaling->descriptorCount);
- vkStream->write((uint64_t*)cgen_var_105, forMarshaling->descriptorCount * 8);
- }
- }
-}
-
-void unmarshal_VkDescriptorSetLayoutBinding(
- VulkanStreamGuest* vkStream,
- VkDescriptorSetLayoutBinding* forUnmarshaling)
-{
- vkStream->read((uint32_t*)&forUnmarshaling->binding, sizeof(uint32_t));
- vkStream->read((VkDescriptorType*)&forUnmarshaling->descriptorType, sizeof(VkDescriptorType));
- vkStream->read((uint32_t*)&forUnmarshaling->descriptorCount, sizeof(uint32_t));
- vkStream->read((VkShaderStageFlags*)&forUnmarshaling->stageFlags, sizeof(VkShaderStageFlags));
- // WARNING PTR CHECK
- const VkSampler* check_pImmutableSamplers;
- check_pImmutableSamplers = (const VkSampler*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pImmutableSamplers)
- {
- if (!(check_pImmutableSamplers))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pImmutableSamplers inconsistent between guest and host\n");
- }
- if (forUnmarshaling->descriptorCount)
- {
- uint64_t* cgen_var_107;
- vkStream->alloc((void**)&cgen_var_107, forUnmarshaling->descriptorCount * 8);
- vkStream->read((uint64_t*)cgen_var_107, forUnmarshaling->descriptorCount * 8);
- vkStream->handleMapping()->mapHandles_u64_VkSampler(cgen_var_107, (VkSampler*)forUnmarshaling->pImmutableSamplers, forUnmarshaling->descriptorCount);
- }
- }
-}
-
-void marshal_VkDescriptorSetLayoutCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkDescriptorSetLayoutCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkDescriptorSetLayoutCreateFlags*)&forMarshaling->flags, sizeof(VkDescriptorSetLayoutCreateFlags));
- vkStream->write((uint32_t*)&forMarshaling->bindingCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->bindingCount; ++i)
- {
- marshal_VkDescriptorSetLayoutBinding(vkStream, (const VkDescriptorSetLayoutBinding*)(forMarshaling->pBindings + i));
- }
-}
-
-void unmarshal_VkDescriptorSetLayoutCreateInfo(
- VulkanStreamGuest* vkStream,
- VkDescriptorSetLayoutCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkDescriptorSetLayoutCreateFlags*)&forUnmarshaling->flags, sizeof(VkDescriptorSetLayoutCreateFlags));
- vkStream->read((uint32_t*)&forUnmarshaling->bindingCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->bindingCount; ++i)
- {
- unmarshal_VkDescriptorSetLayoutBinding(vkStream, (VkDescriptorSetLayoutBinding*)(forUnmarshaling->pBindings + i));
- }
-}
-
-void marshal_VkDescriptorPoolSize(
- VulkanStreamGuest* vkStream,
- const VkDescriptorPoolSize* forMarshaling)
-{
- vkStream->write((VkDescriptorType*)&forMarshaling->type, sizeof(VkDescriptorType));
- vkStream->write((uint32_t*)&forMarshaling->descriptorCount, sizeof(uint32_t));
-}
-
-void unmarshal_VkDescriptorPoolSize(
- VulkanStreamGuest* vkStream,
- VkDescriptorPoolSize* forUnmarshaling)
-{
- vkStream->read((VkDescriptorType*)&forUnmarshaling->type, sizeof(VkDescriptorType));
- vkStream->read((uint32_t*)&forUnmarshaling->descriptorCount, sizeof(uint32_t));
-}
-
-void marshal_VkDescriptorPoolCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkDescriptorPoolCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkDescriptorPoolCreateFlags*)&forMarshaling->flags, sizeof(VkDescriptorPoolCreateFlags));
- vkStream->write((uint32_t*)&forMarshaling->maxSets, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->poolSizeCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->poolSizeCount; ++i)
- {
- marshal_VkDescriptorPoolSize(vkStream, (const VkDescriptorPoolSize*)(forMarshaling->pPoolSizes + i));
- }
-}
-
-void unmarshal_VkDescriptorPoolCreateInfo(
- VulkanStreamGuest* vkStream,
- VkDescriptorPoolCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkDescriptorPoolCreateFlags*)&forUnmarshaling->flags, sizeof(VkDescriptorPoolCreateFlags));
- vkStream->read((uint32_t*)&forUnmarshaling->maxSets, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->poolSizeCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->poolSizeCount; ++i)
- {
- unmarshal_VkDescriptorPoolSize(vkStream, (VkDescriptorPoolSize*)(forUnmarshaling->pPoolSizes + i));
- }
-}
-
-void marshal_VkDescriptorSetAllocateInfo(
- VulkanStreamGuest* vkStream,
- const VkDescriptorSetAllocateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- uint64_t cgen_var_108;
- vkStream->handleMapping()->mapHandles_VkDescriptorPool_u64(&forMarshaling->descriptorPool, &cgen_var_108, 1);
- vkStream->write((uint64_t*)&cgen_var_108, 1 * 8);
- vkStream->write((uint32_t*)&forMarshaling->descriptorSetCount, sizeof(uint32_t));
- if (forMarshaling->descriptorSetCount)
- {
- uint64_t* cgen_var_109;
- vkStream->alloc((void**)&cgen_var_109, forMarshaling->descriptorSetCount * 8);
- vkStream->handleMapping()->mapHandles_VkDescriptorSetLayout_u64(forMarshaling->pSetLayouts, cgen_var_109, forMarshaling->descriptorSetCount);
- vkStream->write((uint64_t*)cgen_var_109, forMarshaling->descriptorSetCount * 8);
- }
-}
-
-void unmarshal_VkDescriptorSetAllocateInfo(
- VulkanStreamGuest* vkStream,
- VkDescriptorSetAllocateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- uint64_t cgen_var_110;
- vkStream->read((uint64_t*)&cgen_var_110, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkDescriptorPool(&cgen_var_110, (VkDescriptorPool*)&forUnmarshaling->descriptorPool, 1);
- vkStream->read((uint32_t*)&forUnmarshaling->descriptorSetCount, sizeof(uint32_t));
- if (forUnmarshaling->descriptorSetCount)
- {
- uint64_t* cgen_var_111;
- vkStream->alloc((void**)&cgen_var_111, forUnmarshaling->descriptorSetCount * 8);
- vkStream->read((uint64_t*)cgen_var_111, forUnmarshaling->descriptorSetCount * 8);
- vkStream->handleMapping()->mapHandles_u64_VkDescriptorSetLayout(cgen_var_111, (VkDescriptorSetLayout*)forUnmarshaling->pSetLayouts, forUnmarshaling->descriptorSetCount);
- }
-}
-
-void marshal_VkDescriptorImageInfo(
- VulkanStreamGuest* vkStream,
- const VkDescriptorImageInfo* forMarshaling)
-{
- uint64_t cgen_var_112;
- vkStream->handleMapping()->mapHandles_VkSampler_u64(&forMarshaling->sampler, &cgen_var_112, 1);
- vkStream->write((uint64_t*)&cgen_var_112, 1 * 8);
- uint64_t cgen_var_113;
- vkStream->handleMapping()->mapHandles_VkImageView_u64(&forMarshaling->imageView, &cgen_var_113, 1);
- vkStream->write((uint64_t*)&cgen_var_113, 1 * 8);
- vkStream->write((VkImageLayout*)&forMarshaling->imageLayout, sizeof(VkImageLayout));
-}
-
-void unmarshal_VkDescriptorImageInfo(
- VulkanStreamGuest* vkStream,
- VkDescriptorImageInfo* forUnmarshaling)
-{
- uint64_t cgen_var_114;
- vkStream->read((uint64_t*)&cgen_var_114, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkSampler(&cgen_var_114, (VkSampler*)&forUnmarshaling->sampler, 1);
- uint64_t cgen_var_115;
- vkStream->read((uint64_t*)&cgen_var_115, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkImageView(&cgen_var_115, (VkImageView*)&forUnmarshaling->imageView, 1);
- vkStream->read((VkImageLayout*)&forUnmarshaling->imageLayout, sizeof(VkImageLayout));
-}
-
-void marshal_VkDescriptorBufferInfo(
- VulkanStreamGuest* vkStream,
- const VkDescriptorBufferInfo* forMarshaling)
-{
- uint64_t cgen_var_116;
- vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_116, 1);
- vkStream->write((uint64_t*)&cgen_var_116, 1 * 8);
- vkStream->write((VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
- vkStream->write((VkDeviceSize*)&forMarshaling->range, sizeof(VkDeviceSize));
-}
-
-void unmarshal_VkDescriptorBufferInfo(
- VulkanStreamGuest* vkStream,
- VkDescriptorBufferInfo* forUnmarshaling)
-{
- uint64_t cgen_var_117;
- vkStream->read((uint64_t*)&cgen_var_117, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_117, (VkBuffer*)&forUnmarshaling->buffer, 1);
- vkStream->read((VkDeviceSize*)&forUnmarshaling->offset, sizeof(VkDeviceSize));
- vkStream->read((VkDeviceSize*)&forUnmarshaling->range, sizeof(VkDeviceSize));
-}
-
-void marshal_VkWriteDescriptorSet(
- VulkanStreamGuest* vkStream,
- const VkWriteDescriptorSet* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- uint64_t cgen_var_118;
- vkStream->handleMapping()->mapHandles_VkDescriptorSet_u64(&forMarshaling->dstSet, &cgen_var_118, 1);
- vkStream->write((uint64_t*)&cgen_var_118, 1 * 8);
- vkStream->write((uint32_t*)&forMarshaling->dstBinding, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->dstArrayElement, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->descriptorCount, sizeof(uint32_t));
- vkStream->write((VkDescriptorType*)&forMarshaling->descriptorType, sizeof(VkDescriptorType));
- // WARNING PTR CHECK
- uint64_t cgen_var_119 = (uint64_t)(uintptr_t)forMarshaling->pImageInfo;
- vkStream->putBe64(cgen_var_119);
- if (forMarshaling->pImageInfo)
- {
- if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) || ((VK_DESCRIPTOR_TYPE_SAMPLER == forMarshaling->descriptorType) || (VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER == forMarshaling->descriptorType) || (VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE == forMarshaling->descriptorType) || (VK_DESCRIPTOR_TYPE_STORAGE_IMAGE == forMarshaling->descriptorType) || (VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT == forMarshaling->descriptorType))))
- {
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->descriptorCount; ++i)
- {
- marshal_VkDescriptorImageInfo(vkStream, (const VkDescriptorImageInfo*)(forMarshaling->pImageInfo + i));
- }
- }
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_120 = (uint64_t)(uintptr_t)forMarshaling->pBufferInfo;
- vkStream->putBe64(cgen_var_120);
- if (forMarshaling->pBufferInfo)
- {
- if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) || ((VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER == forMarshaling->descriptorType) || (VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC == forMarshaling->descriptorType) || (VK_DESCRIPTOR_TYPE_STORAGE_BUFFER == forMarshaling->descriptorType) || (VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC == forMarshaling->descriptorType))))
- {
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->descriptorCount; ++i)
- {
- marshal_VkDescriptorBufferInfo(vkStream, (const VkDescriptorBufferInfo*)(forMarshaling->pBufferInfo + i));
- }
- }
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_121 = (uint64_t)(uintptr_t)forMarshaling->pTexelBufferView;
- vkStream->putBe64(cgen_var_121);
- if (forMarshaling->pTexelBufferView)
- {
- if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) || ((VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER == forMarshaling->descriptorType) || (VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER == forMarshaling->descriptorType))))
- {
- if (forMarshaling->descriptorCount)
- {
- uint64_t* cgen_var_122;
- vkStream->alloc((void**)&cgen_var_122, forMarshaling->descriptorCount * 8);
- vkStream->handleMapping()->mapHandles_VkBufferView_u64(forMarshaling->pTexelBufferView, cgen_var_122, forMarshaling->descriptorCount);
- vkStream->write((uint64_t*)cgen_var_122, forMarshaling->descriptorCount * 8);
- }
- }
- }
-}
-
-void unmarshal_VkWriteDescriptorSet(
- VulkanStreamGuest* vkStream,
- VkWriteDescriptorSet* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- uint64_t cgen_var_123;
- vkStream->read((uint64_t*)&cgen_var_123, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkDescriptorSet(&cgen_var_123, (VkDescriptorSet*)&forUnmarshaling->dstSet, 1);
- vkStream->read((uint32_t*)&forUnmarshaling->dstBinding, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->dstArrayElement, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->descriptorCount, sizeof(uint32_t));
- vkStream->read((VkDescriptorType*)&forUnmarshaling->descriptorType, sizeof(VkDescriptorType));
- // WARNING PTR CHECK
- const VkDescriptorImageInfo* check_pImageInfo;
- check_pImageInfo = (const VkDescriptorImageInfo*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pImageInfo)
- {
- if (!(check_pImageInfo))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pImageInfo inconsistent between guest and host\n");
- }
- if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) || ((VK_DESCRIPTOR_TYPE_SAMPLER == forUnmarshaling->descriptorType) || (VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER == forUnmarshaling->descriptorType) || (VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE == forUnmarshaling->descriptorType) || (VK_DESCRIPTOR_TYPE_STORAGE_IMAGE == forUnmarshaling->descriptorType) || (VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT == forUnmarshaling->descriptorType))))
- {
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->descriptorCount; ++i)
- {
- unmarshal_VkDescriptorImageInfo(vkStream, (VkDescriptorImageInfo*)(forUnmarshaling->pImageInfo + i));
- }
- }
- else
- {
- forUnmarshaling->pImageInfo = 0;
- }
- }
- // WARNING PTR CHECK
- const VkDescriptorBufferInfo* check_pBufferInfo;
- check_pBufferInfo = (const VkDescriptorBufferInfo*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pBufferInfo)
- {
- if (!(check_pBufferInfo))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pBufferInfo inconsistent between guest and host\n");
- }
- if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) || ((VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER == forUnmarshaling->descriptorType) || (VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC == forUnmarshaling->descriptorType) || (VK_DESCRIPTOR_TYPE_STORAGE_BUFFER == forUnmarshaling->descriptorType) || (VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC == forUnmarshaling->descriptorType))))
- {
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->descriptorCount; ++i)
- {
- unmarshal_VkDescriptorBufferInfo(vkStream, (VkDescriptorBufferInfo*)(forUnmarshaling->pBufferInfo + i));
- }
- }
- else
- {
- forUnmarshaling->pBufferInfo = 0;
- }
- }
- // WARNING PTR CHECK
- const VkBufferView* check_pTexelBufferView;
- check_pTexelBufferView = (const VkBufferView*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pTexelBufferView)
- {
- if (!(check_pTexelBufferView))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pTexelBufferView inconsistent between guest and host\n");
- }
- if ((!(vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) || ((VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER == forUnmarshaling->descriptorType) || (VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER == forUnmarshaling->descriptorType))))
- {
- if (forUnmarshaling->descriptorCount)
- {
- uint64_t* cgen_var_127;
- vkStream->alloc((void**)&cgen_var_127, forUnmarshaling->descriptorCount * 8);
- vkStream->read((uint64_t*)cgen_var_127, forUnmarshaling->descriptorCount * 8);
- vkStream->handleMapping()->mapHandles_u64_VkBufferView(cgen_var_127, (VkBufferView*)forUnmarshaling->pTexelBufferView, forUnmarshaling->descriptorCount);
- }
- }
- else
- {
- forUnmarshaling->pTexelBufferView = 0;
- }
- }
-}
-
-void marshal_VkCopyDescriptorSet(
- VulkanStreamGuest* vkStream,
- const VkCopyDescriptorSet* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- uint64_t cgen_var_128;
- vkStream->handleMapping()->mapHandles_VkDescriptorSet_u64(&forMarshaling->srcSet, &cgen_var_128, 1);
- vkStream->write((uint64_t*)&cgen_var_128, 1 * 8);
- vkStream->write((uint32_t*)&forMarshaling->srcBinding, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->srcArrayElement, sizeof(uint32_t));
- uint64_t cgen_var_129;
- vkStream->handleMapping()->mapHandles_VkDescriptorSet_u64(&forMarshaling->dstSet, &cgen_var_129, 1);
- vkStream->write((uint64_t*)&cgen_var_129, 1 * 8);
- vkStream->write((uint32_t*)&forMarshaling->dstBinding, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->dstArrayElement, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->descriptorCount, sizeof(uint32_t));
-}
-
-void unmarshal_VkCopyDescriptorSet(
- VulkanStreamGuest* vkStream,
- VkCopyDescriptorSet* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- uint64_t cgen_var_130;
- vkStream->read((uint64_t*)&cgen_var_130, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkDescriptorSet(&cgen_var_130, (VkDescriptorSet*)&forUnmarshaling->srcSet, 1);
- vkStream->read((uint32_t*)&forUnmarshaling->srcBinding, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->srcArrayElement, sizeof(uint32_t));
- uint64_t cgen_var_131;
- vkStream->read((uint64_t*)&cgen_var_131, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkDescriptorSet(&cgen_var_131, (VkDescriptorSet*)&forUnmarshaling->dstSet, 1);
- vkStream->read((uint32_t*)&forUnmarshaling->dstBinding, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->dstArrayElement, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->descriptorCount, sizeof(uint32_t));
-}
-
-void marshal_VkFramebufferCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkFramebufferCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkFramebufferCreateFlags*)&forMarshaling->flags, sizeof(VkFramebufferCreateFlags));
- uint64_t cgen_var_132;
- vkStream->handleMapping()->mapHandles_VkRenderPass_u64(&forMarshaling->renderPass, &cgen_var_132, 1);
- vkStream->write((uint64_t*)&cgen_var_132, 1 * 8);
- vkStream->write((uint32_t*)&forMarshaling->attachmentCount, sizeof(uint32_t));
- if (forMarshaling->attachmentCount)
- {
- uint64_t* cgen_var_133;
- vkStream->alloc((void**)&cgen_var_133, forMarshaling->attachmentCount * 8);
- vkStream->handleMapping()->mapHandles_VkImageView_u64(forMarshaling->pAttachments, cgen_var_133, forMarshaling->attachmentCount);
- vkStream->write((uint64_t*)cgen_var_133, forMarshaling->attachmentCount * 8);
- }
- vkStream->write((uint32_t*)&forMarshaling->width, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->height, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->layers, sizeof(uint32_t));
-}
-
-void unmarshal_VkFramebufferCreateInfo(
- VulkanStreamGuest* vkStream,
- VkFramebufferCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkFramebufferCreateFlags*)&forUnmarshaling->flags, sizeof(VkFramebufferCreateFlags));
- uint64_t cgen_var_134;
- vkStream->read((uint64_t*)&cgen_var_134, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkRenderPass(&cgen_var_134, (VkRenderPass*)&forUnmarshaling->renderPass, 1);
- vkStream->read((uint32_t*)&forUnmarshaling->attachmentCount, sizeof(uint32_t));
- if (forUnmarshaling->attachmentCount)
- {
- uint64_t* cgen_var_135;
- vkStream->alloc((void**)&cgen_var_135, forUnmarshaling->attachmentCount * 8);
- vkStream->read((uint64_t*)cgen_var_135, forUnmarshaling->attachmentCount * 8);
- vkStream->handleMapping()->mapHandles_u64_VkImageView(cgen_var_135, (VkImageView*)forUnmarshaling->pAttachments, forUnmarshaling->attachmentCount);
- }
- vkStream->read((uint32_t*)&forUnmarshaling->width, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->height, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->layers, sizeof(uint32_t));
-}
-
-void marshal_VkAttachmentDescription(
- VulkanStreamGuest* vkStream,
- const VkAttachmentDescription* forMarshaling)
-{
- vkStream->write((VkAttachmentDescriptionFlags*)&forMarshaling->flags, sizeof(VkAttachmentDescriptionFlags));
- vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat));
- vkStream->write((VkSampleCountFlagBits*)&forMarshaling->samples, sizeof(VkSampleCountFlagBits));
- vkStream->write((VkAttachmentLoadOp*)&forMarshaling->loadOp, sizeof(VkAttachmentLoadOp));
- vkStream->write((VkAttachmentStoreOp*)&forMarshaling->storeOp, sizeof(VkAttachmentStoreOp));
- vkStream->write((VkAttachmentLoadOp*)&forMarshaling->stencilLoadOp, sizeof(VkAttachmentLoadOp));
- vkStream->write((VkAttachmentStoreOp*)&forMarshaling->stencilStoreOp, sizeof(VkAttachmentStoreOp));
- vkStream->write((VkImageLayout*)&forMarshaling->initialLayout, sizeof(VkImageLayout));
- vkStream->write((VkImageLayout*)&forMarshaling->finalLayout, sizeof(VkImageLayout));
-}
-
-void unmarshal_VkAttachmentDescription(
- VulkanStreamGuest* vkStream,
- VkAttachmentDescription* forUnmarshaling)
-{
- vkStream->read((VkAttachmentDescriptionFlags*)&forUnmarshaling->flags, sizeof(VkAttachmentDescriptionFlags));
- vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat));
- vkStream->read((VkSampleCountFlagBits*)&forUnmarshaling->samples, sizeof(VkSampleCountFlagBits));
- vkStream->read((VkAttachmentLoadOp*)&forUnmarshaling->loadOp, sizeof(VkAttachmentLoadOp));
- vkStream->read((VkAttachmentStoreOp*)&forUnmarshaling->storeOp, sizeof(VkAttachmentStoreOp));
- vkStream->read((VkAttachmentLoadOp*)&forUnmarshaling->stencilLoadOp, sizeof(VkAttachmentLoadOp));
- vkStream->read((VkAttachmentStoreOp*)&forUnmarshaling->stencilStoreOp, sizeof(VkAttachmentStoreOp));
- vkStream->read((VkImageLayout*)&forUnmarshaling->initialLayout, sizeof(VkImageLayout));
- vkStream->read((VkImageLayout*)&forUnmarshaling->finalLayout, sizeof(VkImageLayout));
-}
-
-void marshal_VkAttachmentReference(
- VulkanStreamGuest* vkStream,
- const VkAttachmentReference* forMarshaling)
-{
- vkStream->write((uint32_t*)&forMarshaling->attachment, sizeof(uint32_t));
- vkStream->write((VkImageLayout*)&forMarshaling->layout, sizeof(VkImageLayout));
-}
-
-void unmarshal_VkAttachmentReference(
- VulkanStreamGuest* vkStream,
- VkAttachmentReference* forUnmarshaling)
-{
- vkStream->read((uint32_t*)&forUnmarshaling->attachment, sizeof(uint32_t));
- vkStream->read((VkImageLayout*)&forUnmarshaling->layout, sizeof(VkImageLayout));
-}
-
-void marshal_VkSubpassDescription(
- VulkanStreamGuest* vkStream,
- const VkSubpassDescription* forMarshaling)
-{
- vkStream->write((VkSubpassDescriptionFlags*)&forMarshaling->flags, sizeof(VkSubpassDescriptionFlags));
- vkStream->write((VkPipelineBindPoint*)&forMarshaling->pipelineBindPoint, sizeof(VkPipelineBindPoint));
- vkStream->write((uint32_t*)&forMarshaling->inputAttachmentCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->inputAttachmentCount; ++i)
- {
- marshal_VkAttachmentReference(vkStream, (const VkAttachmentReference*)(forMarshaling->pInputAttachments + i));
- }
- vkStream->write((uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->colorAttachmentCount; ++i)
- {
- marshal_VkAttachmentReference(vkStream, (const VkAttachmentReference*)(forMarshaling->pColorAttachments + i));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_136 = (uint64_t)(uintptr_t)forMarshaling->pResolveAttachments;
- vkStream->putBe64(cgen_var_136);
- if (forMarshaling->pResolveAttachments)
- {
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->colorAttachmentCount; ++i)
- {
- marshal_VkAttachmentReference(vkStream, (const VkAttachmentReference*)(forMarshaling->pResolveAttachments + i));
- }
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_137 = (uint64_t)(uintptr_t)forMarshaling->pDepthStencilAttachment;
- vkStream->putBe64(cgen_var_137);
- if (forMarshaling->pDepthStencilAttachment)
- {
- marshal_VkAttachmentReference(vkStream, (const VkAttachmentReference*)(forMarshaling->pDepthStencilAttachment));
- }
- vkStream->write((uint32_t*)&forMarshaling->preserveAttachmentCount, sizeof(uint32_t));
- vkStream->write((const uint32_t*)forMarshaling->pPreserveAttachments, forMarshaling->preserveAttachmentCount * sizeof(const uint32_t));
-}
-
-void unmarshal_VkSubpassDescription(
- VulkanStreamGuest* vkStream,
- VkSubpassDescription* forUnmarshaling)
-{
- vkStream->read((VkSubpassDescriptionFlags*)&forUnmarshaling->flags, sizeof(VkSubpassDescriptionFlags));
- vkStream->read((VkPipelineBindPoint*)&forUnmarshaling->pipelineBindPoint, sizeof(VkPipelineBindPoint));
- vkStream->read((uint32_t*)&forUnmarshaling->inputAttachmentCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->inputAttachmentCount; ++i)
- {
- unmarshal_VkAttachmentReference(vkStream, (VkAttachmentReference*)(forUnmarshaling->pInputAttachments + i));
- }
- vkStream->read((uint32_t*)&forUnmarshaling->colorAttachmentCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->colorAttachmentCount; ++i)
- {
- unmarshal_VkAttachmentReference(vkStream, (VkAttachmentReference*)(forUnmarshaling->pColorAttachments + i));
- }
- // WARNING PTR CHECK
- const VkAttachmentReference* check_pResolveAttachments;
- check_pResolveAttachments = (const VkAttachmentReference*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pResolveAttachments)
- {
- if (!(check_pResolveAttachments))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pResolveAttachments inconsistent between guest and host\n");
- }
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->colorAttachmentCount; ++i)
- {
- unmarshal_VkAttachmentReference(vkStream, (VkAttachmentReference*)(forUnmarshaling->pResolveAttachments + i));
- }
- }
- // WARNING PTR CHECK
- const VkAttachmentReference* check_pDepthStencilAttachment;
- check_pDepthStencilAttachment = (const VkAttachmentReference*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pDepthStencilAttachment)
- {
- if (!(check_pDepthStencilAttachment))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pDepthStencilAttachment inconsistent between guest and host\n");
- }
- unmarshal_VkAttachmentReference(vkStream, (VkAttachmentReference*)(forUnmarshaling->pDepthStencilAttachment));
- }
- vkStream->read((uint32_t*)&forUnmarshaling->preserveAttachmentCount, sizeof(uint32_t));
- vkStream->read((uint32_t*)forUnmarshaling->pPreserveAttachments, forUnmarshaling->preserveAttachmentCount * sizeof(const uint32_t));
-}
-
-void marshal_VkSubpassDependency(
- VulkanStreamGuest* vkStream,
- const VkSubpassDependency* forMarshaling)
-{
- vkStream->write((uint32_t*)&forMarshaling->srcSubpass, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->dstSubpass, sizeof(uint32_t));
- vkStream->write((VkPipelineStageFlags*)&forMarshaling->srcStageMask, sizeof(VkPipelineStageFlags));
- vkStream->write((VkPipelineStageFlags*)&forMarshaling->dstStageMask, sizeof(VkPipelineStageFlags));
- vkStream->write((VkAccessFlags*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags));
- vkStream->write((VkAccessFlags*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags));
- vkStream->write((VkDependencyFlags*)&forMarshaling->dependencyFlags, sizeof(VkDependencyFlags));
-}
-
-void unmarshal_VkSubpassDependency(
- VulkanStreamGuest* vkStream,
- VkSubpassDependency* forUnmarshaling)
-{
- vkStream->read((uint32_t*)&forUnmarshaling->srcSubpass, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->dstSubpass, sizeof(uint32_t));
- vkStream->read((VkPipelineStageFlags*)&forUnmarshaling->srcStageMask, sizeof(VkPipelineStageFlags));
- vkStream->read((VkPipelineStageFlags*)&forUnmarshaling->dstStageMask, sizeof(VkPipelineStageFlags));
- vkStream->read((VkAccessFlags*)&forUnmarshaling->srcAccessMask, sizeof(VkAccessFlags));
- vkStream->read((VkAccessFlags*)&forUnmarshaling->dstAccessMask, sizeof(VkAccessFlags));
- vkStream->read((VkDependencyFlags*)&forUnmarshaling->dependencyFlags, sizeof(VkDependencyFlags));
-}
-
-void marshal_VkRenderPassCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkRenderPassCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkRenderPassCreateFlags*)&forMarshaling->flags, sizeof(VkRenderPassCreateFlags));
- vkStream->write((uint32_t*)&forMarshaling->attachmentCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->attachmentCount; ++i)
- {
- marshal_VkAttachmentDescription(vkStream, (const VkAttachmentDescription*)(forMarshaling->pAttachments + i));
- }
- vkStream->write((uint32_t*)&forMarshaling->subpassCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->subpassCount; ++i)
- {
- marshal_VkSubpassDescription(vkStream, (const VkSubpassDescription*)(forMarshaling->pSubpasses + i));
- }
- vkStream->write((uint32_t*)&forMarshaling->dependencyCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->dependencyCount; ++i)
- {
- marshal_VkSubpassDependency(vkStream, (const VkSubpassDependency*)(forMarshaling->pDependencies + i));
- }
-}
-
-void unmarshal_VkRenderPassCreateInfo(
- VulkanStreamGuest* vkStream,
- VkRenderPassCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkRenderPassCreateFlags*)&forUnmarshaling->flags, sizeof(VkRenderPassCreateFlags));
- vkStream->read((uint32_t*)&forUnmarshaling->attachmentCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->attachmentCount; ++i)
- {
- unmarshal_VkAttachmentDescription(vkStream, (VkAttachmentDescription*)(forUnmarshaling->pAttachments + i));
- }
- vkStream->read((uint32_t*)&forUnmarshaling->subpassCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->subpassCount; ++i)
- {
- unmarshal_VkSubpassDescription(vkStream, (VkSubpassDescription*)(forUnmarshaling->pSubpasses + i));
- }
- vkStream->read((uint32_t*)&forUnmarshaling->dependencyCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->dependencyCount; ++i)
- {
- unmarshal_VkSubpassDependency(vkStream, (VkSubpassDependency*)(forUnmarshaling->pDependencies + i));
- }
-}
-
-void marshal_VkCommandPoolCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkCommandPoolCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkCommandPoolCreateFlags*)&forMarshaling->flags, sizeof(VkCommandPoolCreateFlags));
- vkStream->write((uint32_t*)&forMarshaling->queueFamilyIndex, sizeof(uint32_t));
-}
-
-void unmarshal_VkCommandPoolCreateInfo(
- VulkanStreamGuest* vkStream,
- VkCommandPoolCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkCommandPoolCreateFlags*)&forUnmarshaling->flags, sizeof(VkCommandPoolCreateFlags));
- vkStream->read((uint32_t*)&forUnmarshaling->queueFamilyIndex, sizeof(uint32_t));
-}
-
-void marshal_VkCommandBufferAllocateInfo(
- VulkanStreamGuest* vkStream,
- const VkCommandBufferAllocateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- uint64_t cgen_var_140;
- vkStream->handleMapping()->mapHandles_VkCommandPool_u64(&forMarshaling->commandPool, &cgen_var_140, 1);
- vkStream->write((uint64_t*)&cgen_var_140, 1 * 8);
- vkStream->write((VkCommandBufferLevel*)&forMarshaling->level, sizeof(VkCommandBufferLevel));
- vkStream->write((uint32_t*)&forMarshaling->commandBufferCount, sizeof(uint32_t));
-}
-
-void unmarshal_VkCommandBufferAllocateInfo(
- VulkanStreamGuest* vkStream,
- VkCommandBufferAllocateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- uint64_t cgen_var_141;
- vkStream->read((uint64_t*)&cgen_var_141, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkCommandPool(&cgen_var_141, (VkCommandPool*)&forUnmarshaling->commandPool, 1);
- vkStream->read((VkCommandBufferLevel*)&forUnmarshaling->level, sizeof(VkCommandBufferLevel));
- vkStream->read((uint32_t*)&forUnmarshaling->commandBufferCount, sizeof(uint32_t));
-}
-
-void marshal_VkCommandBufferInheritanceInfo(
- VulkanStreamGuest* vkStream,
- const VkCommandBufferInheritanceInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- uint64_t cgen_var_142;
- vkStream->handleMapping()->mapHandles_VkRenderPass_u64(&forMarshaling->renderPass, &cgen_var_142, 1);
- vkStream->write((uint64_t*)&cgen_var_142, 1 * 8);
- vkStream->write((uint32_t*)&forMarshaling->subpass, sizeof(uint32_t));
- uint64_t cgen_var_143;
- vkStream->handleMapping()->mapHandles_VkFramebuffer_u64(&forMarshaling->framebuffer, &cgen_var_143, 1);
- vkStream->write((uint64_t*)&cgen_var_143, 1 * 8);
- vkStream->write((VkBool32*)&forMarshaling->occlusionQueryEnable, sizeof(VkBool32));
- vkStream->write((VkQueryControlFlags*)&forMarshaling->queryFlags, sizeof(VkQueryControlFlags));
- vkStream->write((VkQueryPipelineStatisticFlags*)&forMarshaling->pipelineStatistics, sizeof(VkQueryPipelineStatisticFlags));
-}
-
-void unmarshal_VkCommandBufferInheritanceInfo(
- VulkanStreamGuest* vkStream,
- VkCommandBufferInheritanceInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- uint64_t cgen_var_144;
- vkStream->read((uint64_t*)&cgen_var_144, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkRenderPass(&cgen_var_144, (VkRenderPass*)&forUnmarshaling->renderPass, 1);
- vkStream->read((uint32_t*)&forUnmarshaling->subpass, sizeof(uint32_t));
- uint64_t cgen_var_145;
- vkStream->read((uint64_t*)&cgen_var_145, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkFramebuffer(&cgen_var_145, (VkFramebuffer*)&forUnmarshaling->framebuffer, 1);
- vkStream->read((VkBool32*)&forUnmarshaling->occlusionQueryEnable, sizeof(VkBool32));
- vkStream->read((VkQueryControlFlags*)&forUnmarshaling->queryFlags, sizeof(VkQueryControlFlags));
- vkStream->read((VkQueryPipelineStatisticFlags*)&forUnmarshaling->pipelineStatistics, sizeof(VkQueryPipelineStatisticFlags));
-}
-
-void marshal_VkCommandBufferBeginInfo(
- VulkanStreamGuest* vkStream,
- const VkCommandBufferBeginInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkCommandBufferUsageFlags*)&forMarshaling->flags, sizeof(VkCommandBufferUsageFlags));
- // WARNING PTR CHECK
- uint64_t cgen_var_146 = (uint64_t)(uintptr_t)forMarshaling->pInheritanceInfo;
- vkStream->putBe64(cgen_var_146);
- if (forMarshaling->pInheritanceInfo)
- {
- marshal_VkCommandBufferInheritanceInfo(vkStream, (const VkCommandBufferInheritanceInfo*)(forMarshaling->pInheritanceInfo));
- }
-}
-
-void unmarshal_VkCommandBufferBeginInfo(
- VulkanStreamGuest* vkStream,
- VkCommandBufferBeginInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkCommandBufferUsageFlags*)&forUnmarshaling->flags, sizeof(VkCommandBufferUsageFlags));
- // WARNING PTR CHECK
- const VkCommandBufferInheritanceInfo* check_pInheritanceInfo;
- check_pInheritanceInfo = (const VkCommandBufferInheritanceInfo*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pInheritanceInfo)
- {
- if (!(check_pInheritanceInfo))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pInheritanceInfo inconsistent between guest and host\n");
- }
- unmarshal_VkCommandBufferInheritanceInfo(vkStream, (VkCommandBufferInheritanceInfo*)(forUnmarshaling->pInheritanceInfo));
- }
-}
-
-void marshal_VkBufferCopy(
- VulkanStreamGuest* vkStream,
- const VkBufferCopy* forMarshaling)
-{
- vkStream->write((VkDeviceSize*)&forMarshaling->srcOffset, sizeof(VkDeviceSize));
- vkStream->write((VkDeviceSize*)&forMarshaling->dstOffset, sizeof(VkDeviceSize));
- vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
-}
-
-void unmarshal_VkBufferCopy(
- VulkanStreamGuest* vkStream,
- VkBufferCopy* forUnmarshaling)
-{
- vkStream->read((VkDeviceSize*)&forUnmarshaling->srcOffset, sizeof(VkDeviceSize));
- vkStream->read((VkDeviceSize*)&forUnmarshaling->dstOffset, sizeof(VkDeviceSize));
- vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
-}
-
-void marshal_VkImageSubresourceLayers(
- VulkanStreamGuest* vkStream,
- const VkImageSubresourceLayers* forMarshaling)
-{
- vkStream->write((VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
- vkStream->write((uint32_t*)&forMarshaling->mipLevel, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->baseArrayLayer, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->layerCount, sizeof(uint32_t));
-}
-
-void unmarshal_VkImageSubresourceLayers(
- VulkanStreamGuest* vkStream,
- VkImageSubresourceLayers* forUnmarshaling)
-{
- vkStream->read((VkImageAspectFlags*)&forUnmarshaling->aspectMask, sizeof(VkImageAspectFlags));
- vkStream->read((uint32_t*)&forUnmarshaling->mipLevel, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->baseArrayLayer, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->layerCount, sizeof(uint32_t));
-}
-
-void marshal_VkImageCopy(
- VulkanStreamGuest* vkStream,
- const VkImageCopy* forMarshaling)
-{
- marshal_VkImageSubresourceLayers(vkStream, (VkImageSubresourceLayers*)(&forMarshaling->srcSubresource));
- marshal_VkOffset3D(vkStream, (VkOffset3D*)(&forMarshaling->srcOffset));
- marshal_VkImageSubresourceLayers(vkStream, (VkImageSubresourceLayers*)(&forMarshaling->dstSubresource));
- marshal_VkOffset3D(vkStream, (VkOffset3D*)(&forMarshaling->dstOffset));
- marshal_VkExtent3D(vkStream, (VkExtent3D*)(&forMarshaling->extent));
-}
-
-void unmarshal_VkImageCopy(
- VulkanStreamGuest* vkStream,
- VkImageCopy* forUnmarshaling)
-{
- unmarshal_VkImageSubresourceLayers(vkStream, (VkImageSubresourceLayers*)(&forUnmarshaling->srcSubresource));
- unmarshal_VkOffset3D(vkStream, (VkOffset3D*)(&forUnmarshaling->srcOffset));
- unmarshal_VkImageSubresourceLayers(vkStream, (VkImageSubresourceLayers*)(&forUnmarshaling->dstSubresource));
- unmarshal_VkOffset3D(vkStream, (VkOffset3D*)(&forUnmarshaling->dstOffset));
- unmarshal_VkExtent3D(vkStream, (VkExtent3D*)(&forUnmarshaling->extent));
-}
-
-void marshal_VkImageBlit(
- VulkanStreamGuest* vkStream,
- const VkImageBlit* forMarshaling)
-{
- marshal_VkImageSubresourceLayers(vkStream, (VkImageSubresourceLayers*)(&forMarshaling->srcSubresource));
- for (uint32_t i = 0; i < (uint32_t)2; ++i)
- {
- marshal_VkOffset3D(vkStream, (VkOffset3D*)(forMarshaling->srcOffsets + i));
- }
- marshal_VkImageSubresourceLayers(vkStream, (VkImageSubresourceLayers*)(&forMarshaling->dstSubresource));
- for (uint32_t i = 0; i < (uint32_t)2; ++i)
- {
- marshal_VkOffset3D(vkStream, (VkOffset3D*)(forMarshaling->dstOffsets + i));
- }
-}
-
-void unmarshal_VkImageBlit(
- VulkanStreamGuest* vkStream,
- VkImageBlit* forUnmarshaling)
-{
- unmarshal_VkImageSubresourceLayers(vkStream, (VkImageSubresourceLayers*)(&forUnmarshaling->srcSubresource));
- for (uint32_t i = 0; i < (uint32_t)2; ++i)
- {
- unmarshal_VkOffset3D(vkStream, (VkOffset3D*)(forUnmarshaling->srcOffsets + i));
- }
- unmarshal_VkImageSubresourceLayers(vkStream, (VkImageSubresourceLayers*)(&forUnmarshaling->dstSubresource));
- for (uint32_t i = 0; i < (uint32_t)2; ++i)
- {
- unmarshal_VkOffset3D(vkStream, (VkOffset3D*)(forUnmarshaling->dstOffsets + i));
- }
-}
-
-void marshal_VkBufferImageCopy(
- VulkanStreamGuest* vkStream,
- const VkBufferImageCopy* forMarshaling)
-{
- vkStream->write((VkDeviceSize*)&forMarshaling->bufferOffset, sizeof(VkDeviceSize));
- vkStream->write((uint32_t*)&forMarshaling->bufferRowLength, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->bufferImageHeight, sizeof(uint32_t));
- marshal_VkImageSubresourceLayers(vkStream, (VkImageSubresourceLayers*)(&forMarshaling->imageSubresource));
- marshal_VkOffset3D(vkStream, (VkOffset3D*)(&forMarshaling->imageOffset));
- marshal_VkExtent3D(vkStream, (VkExtent3D*)(&forMarshaling->imageExtent));
-}
-
-void unmarshal_VkBufferImageCopy(
- VulkanStreamGuest* vkStream,
- VkBufferImageCopy* forUnmarshaling)
-{
- vkStream->read((VkDeviceSize*)&forUnmarshaling->bufferOffset, sizeof(VkDeviceSize));
- vkStream->read((uint32_t*)&forUnmarshaling->bufferRowLength, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->bufferImageHeight, sizeof(uint32_t));
- unmarshal_VkImageSubresourceLayers(vkStream, (VkImageSubresourceLayers*)(&forUnmarshaling->imageSubresource));
- unmarshal_VkOffset3D(vkStream, (VkOffset3D*)(&forUnmarshaling->imageOffset));
- unmarshal_VkExtent3D(vkStream, (VkExtent3D*)(&forUnmarshaling->imageExtent));
-}
-
-void marshal_VkClearColorValue(
- VulkanStreamGuest* vkStream,
- const VkClearColorValue* forMarshaling)
-{
- vkStream->write((float*)forMarshaling->float32, 4 * sizeof(float));
-}
-
-void unmarshal_VkClearColorValue(
- VulkanStreamGuest* vkStream,
- VkClearColorValue* forUnmarshaling)
-{
- vkStream->read((float*)forUnmarshaling->float32, 4 * sizeof(float));
-}
-
-void marshal_VkClearDepthStencilValue(
- VulkanStreamGuest* vkStream,
- const VkClearDepthStencilValue* forMarshaling)
-{
- vkStream->write((float*)&forMarshaling->depth, sizeof(float));
- vkStream->write((uint32_t*)&forMarshaling->stencil, sizeof(uint32_t));
-}
-
-void unmarshal_VkClearDepthStencilValue(
- VulkanStreamGuest* vkStream,
- VkClearDepthStencilValue* forUnmarshaling)
-{
- vkStream->read((float*)&forUnmarshaling->depth, sizeof(float));
- vkStream->read((uint32_t*)&forUnmarshaling->stencil, sizeof(uint32_t));
-}
-
-void marshal_VkClearValue(
- VulkanStreamGuest* vkStream,
- const VkClearValue* forMarshaling)
-{
- marshal_VkClearColorValue(vkStream, (VkClearColorValue*)(&forMarshaling->color));
-}
-
-void unmarshal_VkClearValue(
- VulkanStreamGuest* vkStream,
- VkClearValue* forUnmarshaling)
-{
- unmarshal_VkClearColorValue(vkStream, (VkClearColorValue*)(&forUnmarshaling->color));
-}
-
-void marshal_VkClearAttachment(
- VulkanStreamGuest* vkStream,
- const VkClearAttachment* forMarshaling)
-{
- vkStream->write((VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
- vkStream->write((uint32_t*)&forMarshaling->colorAttachment, sizeof(uint32_t));
- marshal_VkClearValue(vkStream, (VkClearValue*)(&forMarshaling->clearValue));
-}
-
-void unmarshal_VkClearAttachment(
- VulkanStreamGuest* vkStream,
- VkClearAttachment* forUnmarshaling)
-{
- vkStream->read((VkImageAspectFlags*)&forUnmarshaling->aspectMask, sizeof(VkImageAspectFlags));
- vkStream->read((uint32_t*)&forUnmarshaling->colorAttachment, sizeof(uint32_t));
- unmarshal_VkClearValue(vkStream, (VkClearValue*)(&forUnmarshaling->clearValue));
-}
-
-void marshal_VkClearRect(
- VulkanStreamGuest* vkStream,
- const VkClearRect* forMarshaling)
-{
- marshal_VkRect2D(vkStream, (VkRect2D*)(&forMarshaling->rect));
- vkStream->write((uint32_t*)&forMarshaling->baseArrayLayer, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->layerCount, sizeof(uint32_t));
-}
-
-void unmarshal_VkClearRect(
- VulkanStreamGuest* vkStream,
- VkClearRect* forUnmarshaling)
-{
- unmarshal_VkRect2D(vkStream, (VkRect2D*)(&forUnmarshaling->rect));
- vkStream->read((uint32_t*)&forUnmarshaling->baseArrayLayer, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->layerCount, sizeof(uint32_t));
-}
-
-void marshal_VkImageResolve(
- VulkanStreamGuest* vkStream,
- const VkImageResolve* forMarshaling)
-{
- marshal_VkImageSubresourceLayers(vkStream, (VkImageSubresourceLayers*)(&forMarshaling->srcSubresource));
- marshal_VkOffset3D(vkStream, (VkOffset3D*)(&forMarshaling->srcOffset));
- marshal_VkImageSubresourceLayers(vkStream, (VkImageSubresourceLayers*)(&forMarshaling->dstSubresource));
- marshal_VkOffset3D(vkStream, (VkOffset3D*)(&forMarshaling->dstOffset));
- marshal_VkExtent3D(vkStream, (VkExtent3D*)(&forMarshaling->extent));
-}
-
-void unmarshal_VkImageResolve(
- VulkanStreamGuest* vkStream,
- VkImageResolve* forUnmarshaling)
-{
- unmarshal_VkImageSubresourceLayers(vkStream, (VkImageSubresourceLayers*)(&forUnmarshaling->srcSubresource));
- unmarshal_VkOffset3D(vkStream, (VkOffset3D*)(&forUnmarshaling->srcOffset));
- unmarshal_VkImageSubresourceLayers(vkStream, (VkImageSubresourceLayers*)(&forUnmarshaling->dstSubresource));
- unmarshal_VkOffset3D(vkStream, (VkOffset3D*)(&forUnmarshaling->dstOffset));
- unmarshal_VkExtent3D(vkStream, (VkExtent3D*)(&forUnmarshaling->extent));
-}
-
-void marshal_VkMemoryBarrier(
- VulkanStreamGuest* vkStream,
- const VkMemoryBarrier* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkAccessFlags*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags));
- vkStream->write((VkAccessFlags*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags));
-}
-
-void unmarshal_VkMemoryBarrier(
- VulkanStreamGuest* vkStream,
- VkMemoryBarrier* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkAccessFlags*)&forUnmarshaling->srcAccessMask, sizeof(VkAccessFlags));
- vkStream->read((VkAccessFlags*)&forUnmarshaling->dstAccessMask, sizeof(VkAccessFlags));
-}
-
-void marshal_VkBufferMemoryBarrier(
- VulkanStreamGuest* vkStream,
- const VkBufferMemoryBarrier* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkAccessFlags*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags));
- vkStream->write((VkAccessFlags*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags));
- vkStream->write((uint32_t*)&forMarshaling->srcQueueFamilyIndex, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->dstQueueFamilyIndex, sizeof(uint32_t));
- uint64_t cgen_var_148;
- vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_148, 1);
- vkStream->write((uint64_t*)&cgen_var_148, 1 * 8);
- vkStream->write((VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
- vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
-}
-
-void unmarshal_VkBufferMemoryBarrier(
- VulkanStreamGuest* vkStream,
- VkBufferMemoryBarrier* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkAccessFlags*)&forUnmarshaling->srcAccessMask, sizeof(VkAccessFlags));
- vkStream->read((VkAccessFlags*)&forUnmarshaling->dstAccessMask, sizeof(VkAccessFlags));
- vkStream->read((uint32_t*)&forUnmarshaling->srcQueueFamilyIndex, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->dstQueueFamilyIndex, sizeof(uint32_t));
- uint64_t cgen_var_149;
- vkStream->read((uint64_t*)&cgen_var_149, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_149, (VkBuffer*)&forUnmarshaling->buffer, 1);
- vkStream->read((VkDeviceSize*)&forUnmarshaling->offset, sizeof(VkDeviceSize));
- vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
-}
-
-void marshal_VkImageMemoryBarrier(
- VulkanStreamGuest* vkStream,
- const VkImageMemoryBarrier* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkAccessFlags*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags));
- vkStream->write((VkAccessFlags*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags));
- vkStream->write((VkImageLayout*)&forMarshaling->oldLayout, sizeof(VkImageLayout));
- vkStream->write((VkImageLayout*)&forMarshaling->newLayout, sizeof(VkImageLayout));
- vkStream->write((uint32_t*)&forMarshaling->srcQueueFamilyIndex, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->dstQueueFamilyIndex, sizeof(uint32_t));
- uint64_t cgen_var_150;
- vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_150, 1);
- vkStream->write((uint64_t*)&cgen_var_150, 1 * 8);
- marshal_VkImageSubresourceRange(vkStream, (VkImageSubresourceRange*)(&forMarshaling->subresourceRange));
-}
-
-void unmarshal_VkImageMemoryBarrier(
- VulkanStreamGuest* vkStream,
- VkImageMemoryBarrier* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkAccessFlags*)&forUnmarshaling->srcAccessMask, sizeof(VkAccessFlags));
- vkStream->read((VkAccessFlags*)&forUnmarshaling->dstAccessMask, sizeof(VkAccessFlags));
- vkStream->read((VkImageLayout*)&forUnmarshaling->oldLayout, sizeof(VkImageLayout));
- vkStream->read((VkImageLayout*)&forUnmarshaling->newLayout, sizeof(VkImageLayout));
- vkStream->read((uint32_t*)&forUnmarshaling->srcQueueFamilyIndex, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->dstQueueFamilyIndex, sizeof(uint32_t));
- uint64_t cgen_var_151;
- vkStream->read((uint64_t*)&cgen_var_151, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_151, (VkImage*)&forUnmarshaling->image, 1);
- unmarshal_VkImageSubresourceRange(vkStream, (VkImageSubresourceRange*)(&forUnmarshaling->subresourceRange));
-}
-
-void marshal_VkRenderPassBeginInfo(
- VulkanStreamGuest* vkStream,
- const VkRenderPassBeginInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- uint64_t cgen_var_152;
- vkStream->handleMapping()->mapHandles_VkRenderPass_u64(&forMarshaling->renderPass, &cgen_var_152, 1);
- vkStream->write((uint64_t*)&cgen_var_152, 1 * 8);
- uint64_t cgen_var_153;
- vkStream->handleMapping()->mapHandles_VkFramebuffer_u64(&forMarshaling->framebuffer, &cgen_var_153, 1);
- vkStream->write((uint64_t*)&cgen_var_153, 1 * 8);
- marshal_VkRect2D(vkStream, (VkRect2D*)(&forMarshaling->renderArea));
- vkStream->write((uint32_t*)&forMarshaling->clearValueCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- uint64_t cgen_var_154 = (uint64_t)(uintptr_t)forMarshaling->pClearValues;
- vkStream->putBe64(cgen_var_154);
- if (forMarshaling->pClearValues)
- {
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->clearValueCount; ++i)
- {
- marshal_VkClearValue(vkStream, (const VkClearValue*)(forMarshaling->pClearValues + i));
- }
- }
-}
-
-void unmarshal_VkRenderPassBeginInfo(
- VulkanStreamGuest* vkStream,
- VkRenderPassBeginInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- uint64_t cgen_var_155;
- vkStream->read((uint64_t*)&cgen_var_155, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkRenderPass(&cgen_var_155, (VkRenderPass*)&forUnmarshaling->renderPass, 1);
- uint64_t cgen_var_156;
- vkStream->read((uint64_t*)&cgen_var_156, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkFramebuffer(&cgen_var_156, (VkFramebuffer*)&forUnmarshaling->framebuffer, 1);
- unmarshal_VkRect2D(vkStream, (VkRect2D*)(&forUnmarshaling->renderArea));
- vkStream->read((uint32_t*)&forUnmarshaling->clearValueCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- const VkClearValue* check_pClearValues;
- check_pClearValues = (const VkClearValue*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pClearValues)
- {
- if (!(check_pClearValues))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pClearValues inconsistent between guest and host\n");
- }
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->clearValueCount; ++i)
- {
- unmarshal_VkClearValue(vkStream, (VkClearValue*)(forUnmarshaling->pClearValues + i));
- }
- }
-}
-
-void marshal_VkDispatchIndirectCommand(
- VulkanStreamGuest* vkStream,
- const VkDispatchIndirectCommand* forMarshaling)
-{
- vkStream->write((uint32_t*)&forMarshaling->x, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->y, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->z, sizeof(uint32_t));
-}
-
-void unmarshal_VkDispatchIndirectCommand(
- VulkanStreamGuest* vkStream,
- VkDispatchIndirectCommand* forUnmarshaling)
-{
- vkStream->read((uint32_t*)&forUnmarshaling->x, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->y, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->z, sizeof(uint32_t));
-}
-
-void marshal_VkDrawIndexedIndirectCommand(
- VulkanStreamGuest* vkStream,
- const VkDrawIndexedIndirectCommand* forMarshaling)
-{
- vkStream->write((uint32_t*)&forMarshaling->indexCount, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->instanceCount, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->firstIndex, sizeof(uint32_t));
- vkStream->write((int32_t*)&forMarshaling->vertexOffset, sizeof(int32_t));
- vkStream->write((uint32_t*)&forMarshaling->firstInstance, sizeof(uint32_t));
-}
-
-void unmarshal_VkDrawIndexedIndirectCommand(
- VulkanStreamGuest* vkStream,
- VkDrawIndexedIndirectCommand* forUnmarshaling)
-{
- vkStream->read((uint32_t*)&forUnmarshaling->indexCount, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->instanceCount, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->firstIndex, sizeof(uint32_t));
- vkStream->read((int32_t*)&forUnmarshaling->vertexOffset, sizeof(int32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->firstInstance, sizeof(uint32_t));
-}
-
-void marshal_VkDrawIndirectCommand(
- VulkanStreamGuest* vkStream,
- const VkDrawIndirectCommand* forMarshaling)
-{
- vkStream->write((uint32_t*)&forMarshaling->vertexCount, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->instanceCount, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->firstVertex, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->firstInstance, sizeof(uint32_t));
-}
-
-void unmarshal_VkDrawIndirectCommand(
- VulkanStreamGuest* vkStream,
- VkDrawIndirectCommand* forUnmarshaling)
-{
- vkStream->read((uint32_t*)&forUnmarshaling->vertexCount, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->instanceCount, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->firstVertex, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->firstInstance, sizeof(uint32_t));
-}
-
-void marshal_VkBaseOutStructure(
- VulkanStreamGuest* vkStream,
- const VkBaseOutStructure* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
-}
-
-void unmarshal_VkBaseOutStructure(
- VulkanStreamGuest* vkStream,
- VkBaseOutStructure* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
-}
-
-void marshal_VkBaseInStructure(
- VulkanStreamGuest* vkStream,
- const VkBaseInStructure* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
-}
-
-void unmarshal_VkBaseInStructure(
- VulkanStreamGuest* vkStream,
- VkBaseInStructure* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
-}
-
-#endif
-#ifdef VK_VERSION_1_1
-void marshal_VkPhysicalDeviceSubgroupProperties(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceSubgroupProperties* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->subgroupSize, sizeof(uint32_t));
- vkStream->write((VkShaderStageFlags*)&forMarshaling->supportedStages, sizeof(VkShaderStageFlags));
- vkStream->write((VkSubgroupFeatureFlags*)&forMarshaling->supportedOperations, sizeof(VkSubgroupFeatureFlags));
- vkStream->write((VkBool32*)&forMarshaling->quadOperationsInAllStages, sizeof(VkBool32));
-}
-
-void unmarshal_VkPhysicalDeviceSubgroupProperties(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceSubgroupProperties* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->subgroupSize, sizeof(uint32_t));
- vkStream->read((VkShaderStageFlags*)&forUnmarshaling->supportedStages, sizeof(VkShaderStageFlags));
- vkStream->read((VkSubgroupFeatureFlags*)&forUnmarshaling->supportedOperations, sizeof(VkSubgroupFeatureFlags));
- vkStream->read((VkBool32*)&forUnmarshaling->quadOperationsInAllStages, sizeof(VkBool32));
-}
-
-void marshal_VkBindBufferMemoryInfo(
- VulkanStreamGuest* vkStream,
- const VkBindBufferMemoryInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- uint64_t cgen_var_158;
- vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_158, 1);
- vkStream->write((uint64_t*)&cgen_var_158, 1 * 8);
- uint64_t cgen_var_159;
- vkStream->handleMapping()->mapHandles_VkDeviceMemory_u64(&forMarshaling->memory, &cgen_var_159, 1);
- vkStream->write((uint64_t*)&cgen_var_159, 1 * 8);
- vkStream->write((VkDeviceSize*)&forMarshaling->memoryOffset, sizeof(VkDeviceSize));
-}
-
-void unmarshal_VkBindBufferMemoryInfo(
- VulkanStreamGuest* vkStream,
- VkBindBufferMemoryInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- uint64_t cgen_var_160;
- vkStream->read((uint64_t*)&cgen_var_160, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_160, (VkBuffer*)&forUnmarshaling->buffer, 1);
- uint64_t cgen_var_161;
- vkStream->read((uint64_t*)&cgen_var_161, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkDeviceMemory(&cgen_var_161, (VkDeviceMemory*)&forUnmarshaling->memory, 1);
- vkStream->read((VkDeviceSize*)&forUnmarshaling->memoryOffset, sizeof(VkDeviceSize));
-}
-
-void marshal_VkBindImageMemoryInfo(
- VulkanStreamGuest* vkStream,
- const VkBindImageMemoryInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- uint64_t cgen_var_162;
- vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_162, 1);
- vkStream->write((uint64_t*)&cgen_var_162, 1 * 8);
- uint64_t cgen_var_163;
- vkStream->handleMapping()->mapHandles_VkDeviceMemory_u64(&forMarshaling->memory, &cgen_var_163, 1);
- vkStream->write((uint64_t*)&cgen_var_163, 1 * 8);
- vkStream->write((VkDeviceSize*)&forMarshaling->memoryOffset, sizeof(VkDeviceSize));
-}
-
-void unmarshal_VkBindImageMemoryInfo(
- VulkanStreamGuest* vkStream,
- VkBindImageMemoryInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- uint64_t cgen_var_164;
- vkStream->read((uint64_t*)&cgen_var_164, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_164, (VkImage*)&forUnmarshaling->image, 1);
- uint64_t cgen_var_165;
- vkStream->read((uint64_t*)&cgen_var_165, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkDeviceMemory(&cgen_var_165, (VkDeviceMemory*)&forUnmarshaling->memory, 1);
- vkStream->read((VkDeviceSize*)&forUnmarshaling->memoryOffset, sizeof(VkDeviceSize));
-}
-
-void marshal_VkPhysicalDevice16BitStorageFeatures(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDevice16BitStorageFeatures* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkBool32*)&forMarshaling->storageBuffer16BitAccess, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->uniformAndStorageBuffer16BitAccess, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->storagePushConstant16, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->storageInputOutput16, sizeof(VkBool32));
-}
-
-void unmarshal_VkPhysicalDevice16BitStorageFeatures(
- VulkanStreamGuest* vkStream,
- VkPhysicalDevice16BitStorageFeatures* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkBool32*)&forUnmarshaling->storageBuffer16BitAccess, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->uniformAndStorageBuffer16BitAccess, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->storagePushConstant16, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->storageInputOutput16, sizeof(VkBool32));
-}
-
-void marshal_VkMemoryDedicatedRequirements(
- VulkanStreamGuest* vkStream,
- const VkMemoryDedicatedRequirements* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkBool32*)&forMarshaling->prefersDedicatedAllocation, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->requiresDedicatedAllocation, sizeof(VkBool32));
-}
-
-void unmarshal_VkMemoryDedicatedRequirements(
- VulkanStreamGuest* vkStream,
- VkMemoryDedicatedRequirements* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkBool32*)&forUnmarshaling->prefersDedicatedAllocation, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->requiresDedicatedAllocation, sizeof(VkBool32));
-}
-
-void marshal_VkMemoryDedicatedAllocateInfo(
- VulkanStreamGuest* vkStream,
- const VkMemoryDedicatedAllocateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- uint64_t cgen_var_166;
- vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_166, 1);
- vkStream->write((uint64_t*)&cgen_var_166, 1 * 8);
- uint64_t cgen_var_167;
- vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_167, 1);
- vkStream->write((uint64_t*)&cgen_var_167, 1 * 8);
-}
-
-void unmarshal_VkMemoryDedicatedAllocateInfo(
- VulkanStreamGuest* vkStream,
- VkMemoryDedicatedAllocateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- uint64_t cgen_var_168;
- vkStream->read((uint64_t*)&cgen_var_168, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_168, (VkImage*)&forUnmarshaling->image, 1);
- uint64_t cgen_var_169;
- vkStream->read((uint64_t*)&cgen_var_169, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_169, (VkBuffer*)&forUnmarshaling->buffer, 1);
-}
-
-void marshal_VkMemoryAllocateFlagsInfo(
- VulkanStreamGuest* vkStream,
- const VkMemoryAllocateFlagsInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkMemoryAllocateFlags*)&forMarshaling->flags, sizeof(VkMemoryAllocateFlags));
- vkStream->write((uint32_t*)&forMarshaling->deviceMask, sizeof(uint32_t));
-}
-
-void unmarshal_VkMemoryAllocateFlagsInfo(
- VulkanStreamGuest* vkStream,
- VkMemoryAllocateFlagsInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkMemoryAllocateFlags*)&forUnmarshaling->flags, sizeof(VkMemoryAllocateFlags));
- vkStream->read((uint32_t*)&forUnmarshaling->deviceMask, sizeof(uint32_t));
-}
-
-void marshal_VkDeviceGroupRenderPassBeginInfo(
- VulkanStreamGuest* vkStream,
- const VkDeviceGroupRenderPassBeginInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->deviceMask, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->deviceRenderAreaCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->deviceRenderAreaCount; ++i)
- {
- marshal_VkRect2D(vkStream, (const VkRect2D*)(forMarshaling->pDeviceRenderAreas + i));
- }
-}
-
-void unmarshal_VkDeviceGroupRenderPassBeginInfo(
- VulkanStreamGuest* vkStream,
- VkDeviceGroupRenderPassBeginInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->deviceMask, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->deviceRenderAreaCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->deviceRenderAreaCount; ++i)
- {
- unmarshal_VkRect2D(vkStream, (VkRect2D*)(forUnmarshaling->pDeviceRenderAreas + i));
- }
-}
-
-void marshal_VkDeviceGroupCommandBufferBeginInfo(
- VulkanStreamGuest* vkStream,
- const VkDeviceGroupCommandBufferBeginInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->deviceMask, sizeof(uint32_t));
-}
-
-void unmarshal_VkDeviceGroupCommandBufferBeginInfo(
- VulkanStreamGuest* vkStream,
- VkDeviceGroupCommandBufferBeginInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->deviceMask, sizeof(uint32_t));
-}
-
-void marshal_VkDeviceGroupSubmitInfo(
- VulkanStreamGuest* vkStream,
- const VkDeviceGroupSubmitInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->waitSemaphoreCount, sizeof(uint32_t));
- vkStream->write((const uint32_t*)forMarshaling->pWaitSemaphoreDeviceIndices, forMarshaling->waitSemaphoreCount * sizeof(const uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->commandBufferCount, sizeof(uint32_t));
- vkStream->write((const uint32_t*)forMarshaling->pCommandBufferDeviceMasks, forMarshaling->commandBufferCount * sizeof(const uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->signalSemaphoreCount, sizeof(uint32_t));
- vkStream->write((const uint32_t*)forMarshaling->pSignalSemaphoreDeviceIndices, forMarshaling->signalSemaphoreCount * sizeof(const uint32_t));
-}
-
-void unmarshal_VkDeviceGroupSubmitInfo(
- VulkanStreamGuest* vkStream,
- VkDeviceGroupSubmitInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->waitSemaphoreCount, sizeof(uint32_t));
- vkStream->read((uint32_t*)forUnmarshaling->pWaitSemaphoreDeviceIndices, forUnmarshaling->waitSemaphoreCount * sizeof(const uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->commandBufferCount, sizeof(uint32_t));
- vkStream->read((uint32_t*)forUnmarshaling->pCommandBufferDeviceMasks, forUnmarshaling->commandBufferCount * sizeof(const uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->signalSemaphoreCount, sizeof(uint32_t));
- vkStream->read((uint32_t*)forUnmarshaling->pSignalSemaphoreDeviceIndices, forUnmarshaling->signalSemaphoreCount * sizeof(const uint32_t));
-}
-
-void marshal_VkDeviceGroupBindSparseInfo(
- VulkanStreamGuest* vkStream,
- const VkDeviceGroupBindSparseInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->resourceDeviceIndex, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->memoryDeviceIndex, sizeof(uint32_t));
-}
-
-void unmarshal_VkDeviceGroupBindSparseInfo(
- VulkanStreamGuest* vkStream,
- VkDeviceGroupBindSparseInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->resourceDeviceIndex, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->memoryDeviceIndex, sizeof(uint32_t));
-}
-
-void marshal_VkBindBufferMemoryDeviceGroupInfo(
- VulkanStreamGuest* vkStream,
- const VkBindBufferMemoryDeviceGroupInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->deviceIndexCount, sizeof(uint32_t));
- vkStream->write((const uint32_t*)forMarshaling->pDeviceIndices, forMarshaling->deviceIndexCount * sizeof(const uint32_t));
-}
-
-void unmarshal_VkBindBufferMemoryDeviceGroupInfo(
- VulkanStreamGuest* vkStream,
- VkBindBufferMemoryDeviceGroupInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->deviceIndexCount, sizeof(uint32_t));
- vkStream->read((uint32_t*)forUnmarshaling->pDeviceIndices, forUnmarshaling->deviceIndexCount * sizeof(const uint32_t));
-}
-
-void marshal_VkBindImageMemoryDeviceGroupInfo(
- VulkanStreamGuest* vkStream,
- const VkBindImageMemoryDeviceGroupInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->deviceIndexCount, sizeof(uint32_t));
- vkStream->write((const uint32_t*)forMarshaling->pDeviceIndices, forMarshaling->deviceIndexCount * sizeof(const uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->splitInstanceBindRegionCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->splitInstanceBindRegionCount; ++i)
- {
- marshal_VkRect2D(vkStream, (const VkRect2D*)(forMarshaling->pSplitInstanceBindRegions + i));
- }
-}
-
-void unmarshal_VkBindImageMemoryDeviceGroupInfo(
- VulkanStreamGuest* vkStream,
- VkBindImageMemoryDeviceGroupInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->deviceIndexCount, sizeof(uint32_t));
- vkStream->read((uint32_t*)forUnmarshaling->pDeviceIndices, forUnmarshaling->deviceIndexCount * sizeof(const uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->splitInstanceBindRegionCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->splitInstanceBindRegionCount; ++i)
- {
- unmarshal_VkRect2D(vkStream, (VkRect2D*)(forUnmarshaling->pSplitInstanceBindRegions + i));
- }
-}
-
-void marshal_VkPhysicalDeviceGroupProperties(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceGroupProperties* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->physicalDeviceCount, sizeof(uint32_t));
- vkStream->write((VkPhysicalDevice*)forMarshaling->physicalDevices, VK_MAX_DEVICE_GROUP_SIZE * sizeof(VkPhysicalDevice));
- vkStream->write((VkBool32*)&forMarshaling->subsetAllocation, sizeof(VkBool32));
-}
-
-void unmarshal_VkPhysicalDeviceGroupProperties(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceGroupProperties* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->physicalDeviceCount, sizeof(uint32_t));
- vkStream->read((VkPhysicalDevice*)forUnmarshaling->physicalDevices, VK_MAX_DEVICE_GROUP_SIZE * sizeof(VkPhysicalDevice));
- vkStream->read((VkBool32*)&forUnmarshaling->subsetAllocation, sizeof(VkBool32));
-}
-
-void marshal_VkDeviceGroupDeviceCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkDeviceGroupDeviceCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->physicalDeviceCount, sizeof(uint32_t));
- if (forMarshaling->physicalDeviceCount)
- {
- uint64_t* cgen_var_170;
- vkStream->alloc((void**)&cgen_var_170, forMarshaling->physicalDeviceCount * 8);
- vkStream->handleMapping()->mapHandles_VkPhysicalDevice_u64(forMarshaling->pPhysicalDevices, cgen_var_170, forMarshaling->physicalDeviceCount);
- vkStream->write((uint64_t*)cgen_var_170, forMarshaling->physicalDeviceCount * 8);
- }
-}
-
-void unmarshal_VkDeviceGroupDeviceCreateInfo(
- VulkanStreamGuest* vkStream,
- VkDeviceGroupDeviceCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->physicalDeviceCount, sizeof(uint32_t));
- if (forUnmarshaling->physicalDeviceCount)
- {
- uint64_t* cgen_var_171;
- vkStream->alloc((void**)&cgen_var_171, forUnmarshaling->physicalDeviceCount * 8);
- vkStream->read((uint64_t*)cgen_var_171, forUnmarshaling->physicalDeviceCount * 8);
- vkStream->handleMapping()->mapHandles_u64_VkPhysicalDevice(cgen_var_171, (VkPhysicalDevice*)forUnmarshaling->pPhysicalDevices, forUnmarshaling->physicalDeviceCount);
- }
-}
-
-void marshal_VkBufferMemoryRequirementsInfo2(
- VulkanStreamGuest* vkStream,
- const VkBufferMemoryRequirementsInfo2* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- uint64_t cgen_var_172;
- vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_172, 1);
- vkStream->write((uint64_t*)&cgen_var_172, 1 * 8);
-}
-
-void unmarshal_VkBufferMemoryRequirementsInfo2(
- VulkanStreamGuest* vkStream,
- VkBufferMemoryRequirementsInfo2* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- uint64_t cgen_var_173;
- vkStream->read((uint64_t*)&cgen_var_173, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_173, (VkBuffer*)&forUnmarshaling->buffer, 1);
-}
-
-void marshal_VkImageMemoryRequirementsInfo2(
- VulkanStreamGuest* vkStream,
- const VkImageMemoryRequirementsInfo2* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- uint64_t cgen_var_174;
- vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_174, 1);
- vkStream->write((uint64_t*)&cgen_var_174, 1 * 8);
-}
-
-void unmarshal_VkImageMemoryRequirementsInfo2(
- VulkanStreamGuest* vkStream,
- VkImageMemoryRequirementsInfo2* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- uint64_t cgen_var_175;
- vkStream->read((uint64_t*)&cgen_var_175, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_175, (VkImage*)&forUnmarshaling->image, 1);
-}
-
-void marshal_VkImageSparseMemoryRequirementsInfo2(
- VulkanStreamGuest* vkStream,
- const VkImageSparseMemoryRequirementsInfo2* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- uint64_t cgen_var_176;
- vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_176, 1);
- vkStream->write((uint64_t*)&cgen_var_176, 1 * 8);
-}
-
-void unmarshal_VkImageSparseMemoryRequirementsInfo2(
- VulkanStreamGuest* vkStream,
- VkImageSparseMemoryRequirementsInfo2* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- uint64_t cgen_var_177;
- vkStream->read((uint64_t*)&cgen_var_177, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_177, (VkImage*)&forUnmarshaling->image, 1);
-}
-
-void marshal_VkMemoryRequirements2(
- VulkanStreamGuest* vkStream,
- const VkMemoryRequirements2* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- marshal_VkMemoryRequirements(vkStream, (VkMemoryRequirements*)(&forMarshaling->memoryRequirements));
-}
-
-void unmarshal_VkMemoryRequirements2(
- VulkanStreamGuest* vkStream,
- VkMemoryRequirements2* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- unmarshal_VkMemoryRequirements(vkStream, (VkMemoryRequirements*)(&forUnmarshaling->memoryRequirements));
-}
-
-void marshal_VkSparseImageMemoryRequirements2(
- VulkanStreamGuest* vkStream,
- const VkSparseImageMemoryRequirements2* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- marshal_VkSparseImageMemoryRequirements(vkStream, (VkSparseImageMemoryRequirements*)(&forMarshaling->memoryRequirements));
-}
-
-void unmarshal_VkSparseImageMemoryRequirements2(
- VulkanStreamGuest* vkStream,
- VkSparseImageMemoryRequirements2* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- unmarshal_VkSparseImageMemoryRequirements(vkStream, (VkSparseImageMemoryRequirements*)(&forUnmarshaling->memoryRequirements));
-}
-
-void marshal_VkPhysicalDeviceFeatures2(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceFeatures2* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- marshal_VkPhysicalDeviceFeatures(vkStream, (VkPhysicalDeviceFeatures*)(&forMarshaling->features));
-}
-
-void unmarshal_VkPhysicalDeviceFeatures2(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceFeatures2* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- unmarshal_VkPhysicalDeviceFeatures(vkStream, (VkPhysicalDeviceFeatures*)(&forUnmarshaling->features));
-}
-
-void marshal_VkPhysicalDeviceProperties2(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceProperties2* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- marshal_VkPhysicalDeviceProperties(vkStream, (VkPhysicalDeviceProperties*)(&forMarshaling->properties));
-}
-
-void unmarshal_VkPhysicalDeviceProperties2(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceProperties2* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- unmarshal_VkPhysicalDeviceProperties(vkStream, (VkPhysicalDeviceProperties*)(&forUnmarshaling->properties));
-}
-
-void marshal_VkFormatProperties2(
- VulkanStreamGuest* vkStream,
- const VkFormatProperties2* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- marshal_VkFormatProperties(vkStream, (VkFormatProperties*)(&forMarshaling->formatProperties));
-}
-
-void unmarshal_VkFormatProperties2(
- VulkanStreamGuest* vkStream,
- VkFormatProperties2* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- unmarshal_VkFormatProperties(vkStream, (VkFormatProperties*)(&forUnmarshaling->formatProperties));
-}
-
-void marshal_VkImageFormatProperties2(
- VulkanStreamGuest* vkStream,
- const VkImageFormatProperties2* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- marshal_VkImageFormatProperties(vkStream, (VkImageFormatProperties*)(&forMarshaling->imageFormatProperties));
-}
-
-void unmarshal_VkImageFormatProperties2(
- VulkanStreamGuest* vkStream,
- VkImageFormatProperties2* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- unmarshal_VkImageFormatProperties(vkStream, (VkImageFormatProperties*)(&forUnmarshaling->imageFormatProperties));
-}
-
-void marshal_VkPhysicalDeviceImageFormatInfo2(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceImageFormatInfo2* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat));
- vkStream->write((VkImageType*)&forMarshaling->type, sizeof(VkImageType));
- vkStream->write((VkImageTiling*)&forMarshaling->tiling, sizeof(VkImageTiling));
- vkStream->write((VkImageUsageFlags*)&forMarshaling->usage, sizeof(VkImageUsageFlags));
- vkStream->write((VkImageCreateFlags*)&forMarshaling->flags, sizeof(VkImageCreateFlags));
-}
-
-void unmarshal_VkPhysicalDeviceImageFormatInfo2(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceImageFormatInfo2* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat));
- vkStream->read((VkImageType*)&forUnmarshaling->type, sizeof(VkImageType));
- vkStream->read((VkImageTiling*)&forUnmarshaling->tiling, sizeof(VkImageTiling));
- vkStream->read((VkImageUsageFlags*)&forUnmarshaling->usage, sizeof(VkImageUsageFlags));
- vkStream->read((VkImageCreateFlags*)&forUnmarshaling->flags, sizeof(VkImageCreateFlags));
-}
-
-void marshal_VkQueueFamilyProperties2(
- VulkanStreamGuest* vkStream,
- const VkQueueFamilyProperties2* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- marshal_VkQueueFamilyProperties(vkStream, (VkQueueFamilyProperties*)(&forMarshaling->queueFamilyProperties));
-}
-
-void unmarshal_VkQueueFamilyProperties2(
- VulkanStreamGuest* vkStream,
- VkQueueFamilyProperties2* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- unmarshal_VkQueueFamilyProperties(vkStream, (VkQueueFamilyProperties*)(&forUnmarshaling->queueFamilyProperties));
-}
-
-void marshal_VkPhysicalDeviceMemoryProperties2(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceMemoryProperties2* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- marshal_VkPhysicalDeviceMemoryProperties(vkStream, (VkPhysicalDeviceMemoryProperties*)(&forMarshaling->memoryProperties));
-}
-
-void unmarshal_VkPhysicalDeviceMemoryProperties2(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceMemoryProperties2* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- unmarshal_VkPhysicalDeviceMemoryProperties(vkStream, (VkPhysicalDeviceMemoryProperties*)(&forUnmarshaling->memoryProperties));
-}
-
-void marshal_VkSparseImageFormatProperties2(
- VulkanStreamGuest* vkStream,
- const VkSparseImageFormatProperties2* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- marshal_VkSparseImageFormatProperties(vkStream, (VkSparseImageFormatProperties*)(&forMarshaling->properties));
-}
-
-void unmarshal_VkSparseImageFormatProperties2(
- VulkanStreamGuest* vkStream,
- VkSparseImageFormatProperties2* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- unmarshal_VkSparseImageFormatProperties(vkStream, (VkSparseImageFormatProperties*)(&forUnmarshaling->properties));
-}
-
-void marshal_VkPhysicalDeviceSparseImageFormatInfo2(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceSparseImageFormatInfo2* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat));
- vkStream->write((VkImageType*)&forMarshaling->type, sizeof(VkImageType));
- vkStream->write((VkSampleCountFlagBits*)&forMarshaling->samples, sizeof(VkSampleCountFlagBits));
- vkStream->write((VkImageUsageFlags*)&forMarshaling->usage, sizeof(VkImageUsageFlags));
- vkStream->write((VkImageTiling*)&forMarshaling->tiling, sizeof(VkImageTiling));
-}
-
-void unmarshal_VkPhysicalDeviceSparseImageFormatInfo2(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceSparseImageFormatInfo2* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat));
- vkStream->read((VkImageType*)&forUnmarshaling->type, sizeof(VkImageType));
- vkStream->read((VkSampleCountFlagBits*)&forUnmarshaling->samples, sizeof(VkSampleCountFlagBits));
- vkStream->read((VkImageUsageFlags*)&forUnmarshaling->usage, sizeof(VkImageUsageFlags));
- vkStream->read((VkImageTiling*)&forUnmarshaling->tiling, sizeof(VkImageTiling));
-}
-
-void marshal_VkPhysicalDevicePointClippingProperties(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDevicePointClippingProperties* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkPointClippingBehavior*)&forMarshaling->pointClippingBehavior, sizeof(VkPointClippingBehavior));
-}
-
-void unmarshal_VkPhysicalDevicePointClippingProperties(
- VulkanStreamGuest* vkStream,
- VkPhysicalDevicePointClippingProperties* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkPointClippingBehavior*)&forUnmarshaling->pointClippingBehavior, sizeof(VkPointClippingBehavior));
-}
-
-void marshal_VkInputAttachmentAspectReference(
- VulkanStreamGuest* vkStream,
- const VkInputAttachmentAspectReference* forMarshaling)
-{
- vkStream->write((uint32_t*)&forMarshaling->subpass, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->inputAttachmentIndex, sizeof(uint32_t));
- vkStream->write((VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
-}
-
-void unmarshal_VkInputAttachmentAspectReference(
- VulkanStreamGuest* vkStream,
- VkInputAttachmentAspectReference* forUnmarshaling)
-{
- vkStream->read((uint32_t*)&forUnmarshaling->subpass, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->inputAttachmentIndex, sizeof(uint32_t));
- vkStream->read((VkImageAspectFlags*)&forUnmarshaling->aspectMask, sizeof(VkImageAspectFlags));
-}
-
-void marshal_VkRenderPassInputAttachmentAspectCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkRenderPassInputAttachmentAspectCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->aspectReferenceCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->aspectReferenceCount; ++i)
- {
- marshal_VkInputAttachmentAspectReference(vkStream, (const VkInputAttachmentAspectReference*)(forMarshaling->pAspectReferences + i));
- }
-}
-
-void unmarshal_VkRenderPassInputAttachmentAspectCreateInfo(
- VulkanStreamGuest* vkStream,
- VkRenderPassInputAttachmentAspectCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->aspectReferenceCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->aspectReferenceCount; ++i)
- {
- unmarshal_VkInputAttachmentAspectReference(vkStream, (VkInputAttachmentAspectReference*)(forUnmarshaling->pAspectReferences + i));
- }
-}
-
-void marshal_VkImageViewUsageCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkImageViewUsageCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkImageUsageFlags*)&forMarshaling->usage, sizeof(VkImageUsageFlags));
-}
-
-void unmarshal_VkImageViewUsageCreateInfo(
- VulkanStreamGuest* vkStream,
- VkImageViewUsageCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkImageUsageFlags*)&forUnmarshaling->usage, sizeof(VkImageUsageFlags));
-}
-
-void marshal_VkPipelineTessellationDomainOriginStateCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkPipelineTessellationDomainOriginStateCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkTessellationDomainOrigin*)&forMarshaling->domainOrigin, sizeof(VkTessellationDomainOrigin));
-}
-
-void unmarshal_VkPipelineTessellationDomainOriginStateCreateInfo(
- VulkanStreamGuest* vkStream,
- VkPipelineTessellationDomainOriginStateCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkTessellationDomainOrigin*)&forUnmarshaling->domainOrigin, sizeof(VkTessellationDomainOrigin));
-}
-
-void marshal_VkRenderPassMultiviewCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkRenderPassMultiviewCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->subpassCount, sizeof(uint32_t));
- vkStream->write((const uint32_t*)forMarshaling->pViewMasks, forMarshaling->subpassCount * sizeof(const uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->dependencyCount, sizeof(uint32_t));
- vkStream->write((const int32_t*)forMarshaling->pViewOffsets, forMarshaling->dependencyCount * sizeof(const int32_t));
- vkStream->write((uint32_t*)&forMarshaling->correlationMaskCount, sizeof(uint32_t));
- vkStream->write((const uint32_t*)forMarshaling->pCorrelationMasks, forMarshaling->correlationMaskCount * sizeof(const uint32_t));
-}
-
-void unmarshal_VkRenderPassMultiviewCreateInfo(
- VulkanStreamGuest* vkStream,
- VkRenderPassMultiviewCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->subpassCount, sizeof(uint32_t));
- vkStream->read((uint32_t*)forUnmarshaling->pViewMasks, forUnmarshaling->subpassCount * sizeof(const uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->dependencyCount, sizeof(uint32_t));
- vkStream->read((int32_t*)forUnmarshaling->pViewOffsets, forUnmarshaling->dependencyCount * sizeof(const int32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->correlationMaskCount, sizeof(uint32_t));
- vkStream->read((uint32_t*)forUnmarshaling->pCorrelationMasks, forUnmarshaling->correlationMaskCount * sizeof(const uint32_t));
-}
-
-void marshal_VkPhysicalDeviceMultiviewFeatures(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceMultiviewFeatures* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkBool32*)&forMarshaling->multiview, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->multiviewGeometryShader, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->multiviewTessellationShader, sizeof(VkBool32));
-}
-
-void unmarshal_VkPhysicalDeviceMultiviewFeatures(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceMultiviewFeatures* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkBool32*)&forUnmarshaling->multiview, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->multiviewGeometryShader, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->multiviewTessellationShader, sizeof(VkBool32));
-}
-
-void marshal_VkPhysicalDeviceMultiviewProperties(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceMultiviewProperties* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->maxMultiviewViewCount, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxMultiviewInstanceIndex, sizeof(uint32_t));
-}
-
-void unmarshal_VkPhysicalDeviceMultiviewProperties(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceMultiviewProperties* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->maxMultiviewViewCount, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxMultiviewInstanceIndex, sizeof(uint32_t));
-}
-
-void marshal_VkPhysicalDeviceVariablePointerFeatures(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceVariablePointerFeatures* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkBool32*)&forMarshaling->variablePointersStorageBuffer, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->variablePointers, sizeof(VkBool32));
-}
-
-void unmarshal_VkPhysicalDeviceVariablePointerFeatures(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceVariablePointerFeatures* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkBool32*)&forUnmarshaling->variablePointersStorageBuffer, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->variablePointers, sizeof(VkBool32));
-}
-
-void marshal_VkPhysicalDeviceProtectedMemoryFeatures(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceProtectedMemoryFeatures* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkBool32*)&forMarshaling->protectedMemory, sizeof(VkBool32));
-}
-
-void unmarshal_VkPhysicalDeviceProtectedMemoryFeatures(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceProtectedMemoryFeatures* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkBool32*)&forUnmarshaling->protectedMemory, sizeof(VkBool32));
-}
-
-void marshal_VkPhysicalDeviceProtectedMemoryProperties(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceProtectedMemoryProperties* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkBool32*)&forMarshaling->protectedNoFault, sizeof(VkBool32));
-}
-
-void unmarshal_VkPhysicalDeviceProtectedMemoryProperties(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceProtectedMemoryProperties* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkBool32*)&forUnmarshaling->protectedNoFault, sizeof(VkBool32));
-}
-
-void marshal_VkDeviceQueueInfo2(
- VulkanStreamGuest* vkStream,
- const VkDeviceQueueInfo2* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkDeviceQueueCreateFlags*)&forMarshaling->flags, sizeof(VkDeviceQueueCreateFlags));
- vkStream->write((uint32_t*)&forMarshaling->queueFamilyIndex, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->queueIndex, sizeof(uint32_t));
-}
-
-void unmarshal_VkDeviceQueueInfo2(
- VulkanStreamGuest* vkStream,
- VkDeviceQueueInfo2* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkDeviceQueueCreateFlags*)&forUnmarshaling->flags, sizeof(VkDeviceQueueCreateFlags));
- vkStream->read((uint32_t*)&forUnmarshaling->queueFamilyIndex, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->queueIndex, sizeof(uint32_t));
-}
-
-void marshal_VkProtectedSubmitInfo(
- VulkanStreamGuest* vkStream,
- const VkProtectedSubmitInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkBool32*)&forMarshaling->protectedSubmit, sizeof(VkBool32));
-}
-
-void unmarshal_VkProtectedSubmitInfo(
- VulkanStreamGuest* vkStream,
- VkProtectedSubmitInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkBool32*)&forUnmarshaling->protectedSubmit, sizeof(VkBool32));
-}
-
-void marshal_VkSamplerYcbcrConversionCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkSamplerYcbcrConversionCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat));
- vkStream->write((VkSamplerYcbcrModelConversion*)&forMarshaling->ycbcrModel, sizeof(VkSamplerYcbcrModelConversion));
- vkStream->write((VkSamplerYcbcrRange*)&forMarshaling->ycbcrRange, sizeof(VkSamplerYcbcrRange));
- marshal_VkComponentMapping(vkStream, (VkComponentMapping*)(&forMarshaling->components));
- vkStream->write((VkChromaLocation*)&forMarshaling->xChromaOffset, sizeof(VkChromaLocation));
- vkStream->write((VkChromaLocation*)&forMarshaling->yChromaOffset, sizeof(VkChromaLocation));
- vkStream->write((VkFilter*)&forMarshaling->chromaFilter, sizeof(VkFilter));
- vkStream->write((VkBool32*)&forMarshaling->forceExplicitReconstruction, sizeof(VkBool32));
-}
-
-void unmarshal_VkSamplerYcbcrConversionCreateInfo(
- VulkanStreamGuest* vkStream,
- VkSamplerYcbcrConversionCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat));
- vkStream->read((VkSamplerYcbcrModelConversion*)&forUnmarshaling->ycbcrModel, sizeof(VkSamplerYcbcrModelConversion));
- vkStream->read((VkSamplerYcbcrRange*)&forUnmarshaling->ycbcrRange, sizeof(VkSamplerYcbcrRange));
- unmarshal_VkComponentMapping(vkStream, (VkComponentMapping*)(&forUnmarshaling->components));
- vkStream->read((VkChromaLocation*)&forUnmarshaling->xChromaOffset, sizeof(VkChromaLocation));
- vkStream->read((VkChromaLocation*)&forUnmarshaling->yChromaOffset, sizeof(VkChromaLocation));
- vkStream->read((VkFilter*)&forUnmarshaling->chromaFilter, sizeof(VkFilter));
- vkStream->read((VkBool32*)&forUnmarshaling->forceExplicitReconstruction, sizeof(VkBool32));
-}
-
-void marshal_VkSamplerYcbcrConversionInfo(
- VulkanStreamGuest* vkStream,
- const VkSamplerYcbcrConversionInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- uint64_t cgen_var_178;
- vkStream->handleMapping()->mapHandles_VkSamplerYcbcrConversion_u64(&forMarshaling->conversion, &cgen_var_178, 1);
- vkStream->write((uint64_t*)&cgen_var_178, 1 * 8);
-}
-
-void unmarshal_VkSamplerYcbcrConversionInfo(
- VulkanStreamGuest* vkStream,
- VkSamplerYcbcrConversionInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- uint64_t cgen_var_179;
- vkStream->read((uint64_t*)&cgen_var_179, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkSamplerYcbcrConversion(&cgen_var_179, (VkSamplerYcbcrConversion*)&forUnmarshaling->conversion, 1);
-}
-
-void marshal_VkBindImagePlaneMemoryInfo(
- VulkanStreamGuest* vkStream,
- const VkBindImagePlaneMemoryInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkImageAspectFlagBits*)&forMarshaling->planeAspect, sizeof(VkImageAspectFlagBits));
-}
-
-void unmarshal_VkBindImagePlaneMemoryInfo(
- VulkanStreamGuest* vkStream,
- VkBindImagePlaneMemoryInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkImageAspectFlagBits*)&forUnmarshaling->planeAspect, sizeof(VkImageAspectFlagBits));
-}
-
-void marshal_VkImagePlaneMemoryRequirementsInfo(
- VulkanStreamGuest* vkStream,
- const VkImagePlaneMemoryRequirementsInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkImageAspectFlagBits*)&forMarshaling->planeAspect, sizeof(VkImageAspectFlagBits));
-}
-
-void unmarshal_VkImagePlaneMemoryRequirementsInfo(
- VulkanStreamGuest* vkStream,
- VkImagePlaneMemoryRequirementsInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkImageAspectFlagBits*)&forUnmarshaling->planeAspect, sizeof(VkImageAspectFlagBits));
-}
-
-void marshal_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceSamplerYcbcrConversionFeatures* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkBool32*)&forMarshaling->samplerYcbcrConversion, sizeof(VkBool32));
-}
-
-void unmarshal_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceSamplerYcbcrConversionFeatures* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkBool32*)&forUnmarshaling->samplerYcbcrConversion, sizeof(VkBool32));
-}
-
-void marshal_VkSamplerYcbcrConversionImageFormatProperties(
- VulkanStreamGuest* vkStream,
- const VkSamplerYcbcrConversionImageFormatProperties* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->combinedImageSamplerDescriptorCount, sizeof(uint32_t));
-}
-
-void unmarshal_VkSamplerYcbcrConversionImageFormatProperties(
- VulkanStreamGuest* vkStream,
- VkSamplerYcbcrConversionImageFormatProperties* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->combinedImageSamplerDescriptorCount, sizeof(uint32_t));
-}
-
-void marshal_VkDescriptorUpdateTemplateEntry(
- VulkanStreamGuest* vkStream,
- const VkDescriptorUpdateTemplateEntry* forMarshaling)
-{
- vkStream->write((uint32_t*)&forMarshaling->dstBinding, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->dstArrayElement, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->descriptorCount, sizeof(uint32_t));
- vkStream->write((VkDescriptorType*)&forMarshaling->descriptorType, sizeof(VkDescriptorType));
- uint64_t cgen_var_180 = (uint64_t)forMarshaling->offset;
- vkStream->putBe64(cgen_var_180);
- uint64_t cgen_var_181 = (uint64_t)forMarshaling->stride;
- vkStream->putBe64(cgen_var_181);
-}
-
-void unmarshal_VkDescriptorUpdateTemplateEntry(
- VulkanStreamGuest* vkStream,
- VkDescriptorUpdateTemplateEntry* forUnmarshaling)
-{
- vkStream->read((uint32_t*)&forUnmarshaling->dstBinding, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->dstArrayElement, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->descriptorCount, sizeof(uint32_t));
- vkStream->read((VkDescriptorType*)&forUnmarshaling->descriptorType, sizeof(VkDescriptorType));
- forUnmarshaling->offset = (size_t)vkStream->getBe64();
- forUnmarshaling->stride = (size_t)vkStream->getBe64();
-}
-
-void marshal_VkDescriptorUpdateTemplateCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkDescriptorUpdateTemplateCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkDescriptorUpdateTemplateCreateFlags*)&forMarshaling->flags, sizeof(VkDescriptorUpdateTemplateCreateFlags));
- vkStream->write((uint32_t*)&forMarshaling->descriptorUpdateEntryCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->descriptorUpdateEntryCount; ++i)
- {
- marshal_VkDescriptorUpdateTemplateEntry(vkStream, (const VkDescriptorUpdateTemplateEntry*)(forMarshaling->pDescriptorUpdateEntries + i));
- }
- vkStream->write((VkDescriptorUpdateTemplateType*)&forMarshaling->templateType, sizeof(VkDescriptorUpdateTemplateType));
- uint64_t cgen_var_184;
- vkStream->handleMapping()->mapHandles_VkDescriptorSetLayout_u64(&forMarshaling->descriptorSetLayout, &cgen_var_184, 1);
- vkStream->write((uint64_t*)&cgen_var_184, 1 * 8);
- vkStream->write((VkPipelineBindPoint*)&forMarshaling->pipelineBindPoint, sizeof(VkPipelineBindPoint));
- uint64_t cgen_var_185;
- vkStream->handleMapping()->mapHandles_VkPipelineLayout_u64(&forMarshaling->pipelineLayout, &cgen_var_185, 1);
- vkStream->write((uint64_t*)&cgen_var_185, 1 * 8);
- vkStream->write((uint32_t*)&forMarshaling->set, sizeof(uint32_t));
-}
-
-void unmarshal_VkDescriptorUpdateTemplateCreateInfo(
- VulkanStreamGuest* vkStream,
- VkDescriptorUpdateTemplateCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkDescriptorUpdateTemplateCreateFlags*)&forUnmarshaling->flags, sizeof(VkDescriptorUpdateTemplateCreateFlags));
- vkStream->read((uint32_t*)&forUnmarshaling->descriptorUpdateEntryCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->descriptorUpdateEntryCount; ++i)
- {
- unmarshal_VkDescriptorUpdateTemplateEntry(vkStream, (VkDescriptorUpdateTemplateEntry*)(forUnmarshaling->pDescriptorUpdateEntries + i));
- }
- vkStream->read((VkDescriptorUpdateTemplateType*)&forUnmarshaling->templateType, sizeof(VkDescriptorUpdateTemplateType));
- uint64_t cgen_var_186;
- vkStream->read((uint64_t*)&cgen_var_186, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkDescriptorSetLayout(&cgen_var_186, (VkDescriptorSetLayout*)&forUnmarshaling->descriptorSetLayout, 1);
- vkStream->read((VkPipelineBindPoint*)&forUnmarshaling->pipelineBindPoint, sizeof(VkPipelineBindPoint));
- uint64_t cgen_var_187;
- vkStream->read((uint64_t*)&cgen_var_187, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkPipelineLayout(&cgen_var_187, (VkPipelineLayout*)&forUnmarshaling->pipelineLayout, 1);
- vkStream->read((uint32_t*)&forUnmarshaling->set, sizeof(uint32_t));
-}
-
-void marshal_VkExternalMemoryProperties(
- VulkanStreamGuest* vkStream,
- const VkExternalMemoryProperties* forMarshaling)
-{
- vkStream->write((VkExternalMemoryFeatureFlags*)&forMarshaling->externalMemoryFeatures, sizeof(VkExternalMemoryFeatureFlags));
- vkStream->write((VkExternalMemoryHandleTypeFlags*)&forMarshaling->exportFromImportedHandleTypes, sizeof(VkExternalMemoryHandleTypeFlags));
- vkStream->write((VkExternalMemoryHandleTypeFlags*)&forMarshaling->compatibleHandleTypes, sizeof(VkExternalMemoryHandleTypeFlags));
-}
-
-void unmarshal_VkExternalMemoryProperties(
- VulkanStreamGuest* vkStream,
- VkExternalMemoryProperties* forUnmarshaling)
-{
- vkStream->read((VkExternalMemoryFeatureFlags*)&forUnmarshaling->externalMemoryFeatures, sizeof(VkExternalMemoryFeatureFlags));
- vkStream->read((VkExternalMemoryHandleTypeFlags*)&forUnmarshaling->exportFromImportedHandleTypes, sizeof(VkExternalMemoryHandleTypeFlags));
- vkStream->read((VkExternalMemoryHandleTypeFlags*)&forUnmarshaling->compatibleHandleTypes, sizeof(VkExternalMemoryHandleTypeFlags));
-}
-
-void marshal_VkPhysicalDeviceExternalImageFormatInfo(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceExternalImageFormatInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkExternalMemoryHandleTypeFlagBits*)&forMarshaling->handleType, sizeof(VkExternalMemoryHandleTypeFlagBits));
-}
-
-void unmarshal_VkPhysicalDeviceExternalImageFormatInfo(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceExternalImageFormatInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkExternalMemoryHandleTypeFlagBits*)&forUnmarshaling->handleType, sizeof(VkExternalMemoryHandleTypeFlagBits));
-}
-
-void marshal_VkExternalImageFormatProperties(
- VulkanStreamGuest* vkStream,
- const VkExternalImageFormatProperties* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- marshal_VkExternalMemoryProperties(vkStream, (VkExternalMemoryProperties*)(&forMarshaling->externalMemoryProperties));
-}
-
-void unmarshal_VkExternalImageFormatProperties(
- VulkanStreamGuest* vkStream,
- VkExternalImageFormatProperties* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- unmarshal_VkExternalMemoryProperties(vkStream, (VkExternalMemoryProperties*)(&forUnmarshaling->externalMemoryProperties));
-}
-
-void marshal_VkPhysicalDeviceExternalBufferInfo(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceExternalBufferInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkBufferCreateFlags*)&forMarshaling->flags, sizeof(VkBufferCreateFlags));
- vkStream->write((VkBufferUsageFlags*)&forMarshaling->usage, sizeof(VkBufferUsageFlags));
- vkStream->write((VkExternalMemoryHandleTypeFlagBits*)&forMarshaling->handleType, sizeof(VkExternalMemoryHandleTypeFlagBits));
-}
-
-void unmarshal_VkPhysicalDeviceExternalBufferInfo(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceExternalBufferInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkBufferCreateFlags*)&forUnmarshaling->flags, sizeof(VkBufferCreateFlags));
- vkStream->read((VkBufferUsageFlags*)&forUnmarshaling->usage, sizeof(VkBufferUsageFlags));
- vkStream->read((VkExternalMemoryHandleTypeFlagBits*)&forUnmarshaling->handleType, sizeof(VkExternalMemoryHandleTypeFlagBits));
-}
-
-void marshal_VkExternalBufferProperties(
- VulkanStreamGuest* vkStream,
- const VkExternalBufferProperties* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- marshal_VkExternalMemoryProperties(vkStream, (VkExternalMemoryProperties*)(&forMarshaling->externalMemoryProperties));
-}
-
-void unmarshal_VkExternalBufferProperties(
- VulkanStreamGuest* vkStream,
- VkExternalBufferProperties* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- unmarshal_VkExternalMemoryProperties(vkStream, (VkExternalMemoryProperties*)(&forUnmarshaling->externalMemoryProperties));
-}
-
-void marshal_VkPhysicalDeviceIDProperties(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceIDProperties* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint8_t*)forMarshaling->deviceUUID, VK_UUID_SIZE * sizeof(uint8_t));
- vkStream->write((uint8_t*)forMarshaling->driverUUID, VK_UUID_SIZE * sizeof(uint8_t));
- vkStream->write((uint8_t*)forMarshaling->deviceLUID, VK_LUID_SIZE * sizeof(uint8_t));
- vkStream->write((uint32_t*)&forMarshaling->deviceNodeMask, sizeof(uint32_t));
- vkStream->write((VkBool32*)&forMarshaling->deviceLUIDValid, sizeof(VkBool32));
-}
-
-void unmarshal_VkPhysicalDeviceIDProperties(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceIDProperties* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint8_t*)forUnmarshaling->deviceUUID, VK_UUID_SIZE * sizeof(uint8_t));
- vkStream->read((uint8_t*)forUnmarshaling->driverUUID, VK_UUID_SIZE * sizeof(uint8_t));
- vkStream->read((uint8_t*)forUnmarshaling->deviceLUID, VK_LUID_SIZE * sizeof(uint8_t));
- vkStream->read((uint32_t*)&forUnmarshaling->deviceNodeMask, sizeof(uint32_t));
- vkStream->read((VkBool32*)&forUnmarshaling->deviceLUIDValid, sizeof(VkBool32));
-}
-
-void marshal_VkExternalMemoryImageCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkExternalMemoryImageCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkExternalMemoryHandleTypeFlags*)&forMarshaling->handleTypes, sizeof(VkExternalMemoryHandleTypeFlags));
-}
-
-void unmarshal_VkExternalMemoryImageCreateInfo(
- VulkanStreamGuest* vkStream,
- VkExternalMemoryImageCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkExternalMemoryHandleTypeFlags*)&forUnmarshaling->handleTypes, sizeof(VkExternalMemoryHandleTypeFlags));
-}
-
-void marshal_VkExternalMemoryBufferCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkExternalMemoryBufferCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkExternalMemoryHandleTypeFlags*)&forMarshaling->handleTypes, sizeof(VkExternalMemoryHandleTypeFlags));
-}
-
-void unmarshal_VkExternalMemoryBufferCreateInfo(
- VulkanStreamGuest* vkStream,
- VkExternalMemoryBufferCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkExternalMemoryHandleTypeFlags*)&forUnmarshaling->handleTypes, sizeof(VkExternalMemoryHandleTypeFlags));
-}
-
-void marshal_VkExportMemoryAllocateInfo(
- VulkanStreamGuest* vkStream,
- const VkExportMemoryAllocateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkExternalMemoryHandleTypeFlags*)&forMarshaling->handleTypes, sizeof(VkExternalMemoryHandleTypeFlags));
-}
-
-void unmarshal_VkExportMemoryAllocateInfo(
- VulkanStreamGuest* vkStream,
- VkExportMemoryAllocateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkExternalMemoryHandleTypeFlags*)&forUnmarshaling->handleTypes, sizeof(VkExternalMemoryHandleTypeFlags));
-}
-
-void marshal_VkPhysicalDeviceExternalFenceInfo(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceExternalFenceInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkExternalFenceHandleTypeFlagBits*)&forMarshaling->handleType, sizeof(VkExternalFenceHandleTypeFlagBits));
-}
-
-void unmarshal_VkPhysicalDeviceExternalFenceInfo(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceExternalFenceInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkExternalFenceHandleTypeFlagBits*)&forUnmarshaling->handleType, sizeof(VkExternalFenceHandleTypeFlagBits));
-}
-
-void marshal_VkExternalFenceProperties(
- VulkanStreamGuest* vkStream,
- const VkExternalFenceProperties* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkExternalFenceHandleTypeFlags*)&forMarshaling->exportFromImportedHandleTypes, sizeof(VkExternalFenceHandleTypeFlags));
- vkStream->write((VkExternalFenceHandleTypeFlags*)&forMarshaling->compatibleHandleTypes, sizeof(VkExternalFenceHandleTypeFlags));
- vkStream->write((VkExternalFenceFeatureFlags*)&forMarshaling->externalFenceFeatures, sizeof(VkExternalFenceFeatureFlags));
-}
-
-void unmarshal_VkExternalFenceProperties(
- VulkanStreamGuest* vkStream,
- VkExternalFenceProperties* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkExternalFenceHandleTypeFlags*)&forUnmarshaling->exportFromImportedHandleTypes, sizeof(VkExternalFenceHandleTypeFlags));
- vkStream->read((VkExternalFenceHandleTypeFlags*)&forUnmarshaling->compatibleHandleTypes, sizeof(VkExternalFenceHandleTypeFlags));
- vkStream->read((VkExternalFenceFeatureFlags*)&forUnmarshaling->externalFenceFeatures, sizeof(VkExternalFenceFeatureFlags));
-}
-
-void marshal_VkExportFenceCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkExportFenceCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkExternalFenceHandleTypeFlags*)&forMarshaling->handleTypes, sizeof(VkExternalFenceHandleTypeFlags));
-}
-
-void unmarshal_VkExportFenceCreateInfo(
- VulkanStreamGuest* vkStream,
- VkExportFenceCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkExternalFenceHandleTypeFlags*)&forUnmarshaling->handleTypes, sizeof(VkExternalFenceHandleTypeFlags));
-}
-
-void marshal_VkExportSemaphoreCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkExportSemaphoreCreateInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkExternalSemaphoreHandleTypeFlags*)&forMarshaling->handleTypes, sizeof(VkExternalSemaphoreHandleTypeFlags));
-}
-
-void unmarshal_VkExportSemaphoreCreateInfo(
- VulkanStreamGuest* vkStream,
- VkExportSemaphoreCreateInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkExternalSemaphoreHandleTypeFlags*)&forUnmarshaling->handleTypes, sizeof(VkExternalSemaphoreHandleTypeFlags));
-}
-
-void marshal_VkPhysicalDeviceExternalSemaphoreInfo(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceExternalSemaphoreInfo* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkExternalSemaphoreHandleTypeFlagBits*)&forMarshaling->handleType, sizeof(VkExternalSemaphoreHandleTypeFlagBits));
-}
-
-void unmarshal_VkPhysicalDeviceExternalSemaphoreInfo(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceExternalSemaphoreInfo* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkExternalSemaphoreHandleTypeFlagBits*)&forUnmarshaling->handleType, sizeof(VkExternalSemaphoreHandleTypeFlagBits));
-}
-
-void marshal_VkExternalSemaphoreProperties(
- VulkanStreamGuest* vkStream,
- const VkExternalSemaphoreProperties* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkExternalSemaphoreHandleTypeFlags*)&forMarshaling->exportFromImportedHandleTypes, sizeof(VkExternalSemaphoreHandleTypeFlags));
- vkStream->write((VkExternalSemaphoreHandleTypeFlags*)&forMarshaling->compatibleHandleTypes, sizeof(VkExternalSemaphoreHandleTypeFlags));
- vkStream->write((VkExternalSemaphoreFeatureFlags*)&forMarshaling->externalSemaphoreFeatures, sizeof(VkExternalSemaphoreFeatureFlags));
-}
-
-void unmarshal_VkExternalSemaphoreProperties(
- VulkanStreamGuest* vkStream,
- VkExternalSemaphoreProperties* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkExternalSemaphoreHandleTypeFlags*)&forUnmarshaling->exportFromImportedHandleTypes, sizeof(VkExternalSemaphoreHandleTypeFlags));
- vkStream->read((VkExternalSemaphoreHandleTypeFlags*)&forUnmarshaling->compatibleHandleTypes, sizeof(VkExternalSemaphoreHandleTypeFlags));
- vkStream->read((VkExternalSemaphoreFeatureFlags*)&forUnmarshaling->externalSemaphoreFeatures, sizeof(VkExternalSemaphoreFeatureFlags));
-}
-
-void marshal_VkPhysicalDeviceMaintenance3Properties(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceMaintenance3Properties* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->maxPerSetDescriptors, sizeof(uint32_t));
- vkStream->write((VkDeviceSize*)&forMarshaling->maxMemoryAllocationSize, sizeof(VkDeviceSize));
-}
-
-void unmarshal_VkPhysicalDeviceMaintenance3Properties(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceMaintenance3Properties* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->maxPerSetDescriptors, sizeof(uint32_t));
- vkStream->read((VkDeviceSize*)&forUnmarshaling->maxMemoryAllocationSize, sizeof(VkDeviceSize));
-}
-
-void marshal_VkDescriptorSetLayoutSupport(
- VulkanStreamGuest* vkStream,
- const VkDescriptorSetLayoutSupport* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkBool32*)&forMarshaling->supported, sizeof(VkBool32));
-}
-
-void unmarshal_VkDescriptorSetLayoutSupport(
- VulkanStreamGuest* vkStream,
- VkDescriptorSetLayoutSupport* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkBool32*)&forUnmarshaling->supported, sizeof(VkBool32));
-}
-
-void marshal_VkPhysicalDeviceShaderDrawParameterFeatures(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceShaderDrawParameterFeatures* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkBool32*)&forMarshaling->shaderDrawParameters, sizeof(VkBool32));
-}
-
-void unmarshal_VkPhysicalDeviceShaderDrawParameterFeatures(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceShaderDrawParameterFeatures* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkBool32*)&forUnmarshaling->shaderDrawParameters, sizeof(VkBool32));
-}
-
-#endif
-#ifdef VK_KHR_surface
-void marshal_VkSurfaceCapabilitiesKHR(
- VulkanStreamGuest* vkStream,
- const VkSurfaceCapabilitiesKHR* forMarshaling)
-{
- vkStream->write((uint32_t*)&forMarshaling->minImageCount, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxImageCount, sizeof(uint32_t));
- marshal_VkExtent2D(vkStream, (VkExtent2D*)(&forMarshaling->currentExtent));
- marshal_VkExtent2D(vkStream, (VkExtent2D*)(&forMarshaling->minImageExtent));
- marshal_VkExtent2D(vkStream, (VkExtent2D*)(&forMarshaling->maxImageExtent));
- vkStream->write((uint32_t*)&forMarshaling->maxImageArrayLayers, sizeof(uint32_t));
- vkStream->write((VkSurfaceTransformFlagsKHR*)&forMarshaling->supportedTransforms, sizeof(VkSurfaceTransformFlagsKHR));
- vkStream->write((VkSurfaceTransformFlagBitsKHR*)&forMarshaling->currentTransform, sizeof(VkSurfaceTransformFlagBitsKHR));
- vkStream->write((VkCompositeAlphaFlagsKHR*)&forMarshaling->supportedCompositeAlpha, sizeof(VkCompositeAlphaFlagsKHR));
- vkStream->write((VkImageUsageFlags*)&forMarshaling->supportedUsageFlags, sizeof(VkImageUsageFlags));
-}
-
-void unmarshal_VkSurfaceCapabilitiesKHR(
- VulkanStreamGuest* vkStream,
- VkSurfaceCapabilitiesKHR* forUnmarshaling)
-{
- vkStream->read((uint32_t*)&forUnmarshaling->minImageCount, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxImageCount, sizeof(uint32_t));
- unmarshal_VkExtent2D(vkStream, (VkExtent2D*)(&forUnmarshaling->currentExtent));
- unmarshal_VkExtent2D(vkStream, (VkExtent2D*)(&forUnmarshaling->minImageExtent));
- unmarshal_VkExtent2D(vkStream, (VkExtent2D*)(&forUnmarshaling->maxImageExtent));
- vkStream->read((uint32_t*)&forUnmarshaling->maxImageArrayLayers, sizeof(uint32_t));
- vkStream->read((VkSurfaceTransformFlagsKHR*)&forUnmarshaling->supportedTransforms, sizeof(VkSurfaceTransformFlagsKHR));
- vkStream->read((VkSurfaceTransformFlagBitsKHR*)&forUnmarshaling->currentTransform, sizeof(VkSurfaceTransformFlagBitsKHR));
- vkStream->read((VkCompositeAlphaFlagsKHR*)&forUnmarshaling->supportedCompositeAlpha, sizeof(VkCompositeAlphaFlagsKHR));
- vkStream->read((VkImageUsageFlags*)&forUnmarshaling->supportedUsageFlags, sizeof(VkImageUsageFlags));
-}
-
-void marshal_VkSurfaceFormatKHR(
- VulkanStreamGuest* vkStream,
- const VkSurfaceFormatKHR* forMarshaling)
-{
- vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat));
- vkStream->write((VkColorSpaceKHR*)&forMarshaling->colorSpace, sizeof(VkColorSpaceKHR));
-}
-
-void unmarshal_VkSurfaceFormatKHR(
- VulkanStreamGuest* vkStream,
- VkSurfaceFormatKHR* forUnmarshaling)
-{
- vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat));
- vkStream->read((VkColorSpaceKHR*)&forUnmarshaling->colorSpace, sizeof(VkColorSpaceKHR));
-}
-
-#endif
-#ifdef VK_KHR_swapchain
-void marshal_VkSwapchainCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkSwapchainCreateInfoKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkSwapchainCreateFlagsKHR*)&forMarshaling->flags, sizeof(VkSwapchainCreateFlagsKHR));
- uint64_t cgen_var_188;
- vkStream->handleMapping()->mapHandles_VkSurfaceKHR_u64(&forMarshaling->surface, &cgen_var_188, 1);
- vkStream->write((uint64_t*)&cgen_var_188, 1 * 8);
- vkStream->write((uint32_t*)&forMarshaling->minImageCount, sizeof(uint32_t));
- vkStream->write((VkFormat*)&forMarshaling->imageFormat, sizeof(VkFormat));
- vkStream->write((VkColorSpaceKHR*)&forMarshaling->imageColorSpace, sizeof(VkColorSpaceKHR));
- marshal_VkExtent2D(vkStream, (VkExtent2D*)(&forMarshaling->imageExtent));
- vkStream->write((uint32_t*)&forMarshaling->imageArrayLayers, sizeof(uint32_t));
- vkStream->write((VkImageUsageFlags*)&forMarshaling->imageUsage, sizeof(VkImageUsageFlags));
- vkStream->write((VkSharingMode*)&forMarshaling->imageSharingMode, sizeof(VkSharingMode));
- vkStream->write((uint32_t*)&forMarshaling->queueFamilyIndexCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- uint64_t cgen_var_189 = (uint64_t)(uintptr_t)forMarshaling->pQueueFamilyIndices;
- vkStream->putBe64(cgen_var_189);
- if (forMarshaling->pQueueFamilyIndices)
- {
- vkStream->write((const uint32_t*)forMarshaling->pQueueFamilyIndices, forMarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
- }
- vkStream->write((VkSurfaceTransformFlagBitsKHR*)&forMarshaling->preTransform, sizeof(VkSurfaceTransformFlagBitsKHR));
- vkStream->write((VkCompositeAlphaFlagBitsKHR*)&forMarshaling->compositeAlpha, sizeof(VkCompositeAlphaFlagBitsKHR));
- vkStream->write((VkPresentModeKHR*)&forMarshaling->presentMode, sizeof(VkPresentModeKHR));
- vkStream->write((VkBool32*)&forMarshaling->clipped, sizeof(VkBool32));
- uint64_t cgen_var_190;
- vkStream->handleMapping()->mapHandles_VkSwapchainKHR_u64(&forMarshaling->oldSwapchain, &cgen_var_190, 1);
- vkStream->write((uint64_t*)&cgen_var_190, 1 * 8);
-}
-
-void unmarshal_VkSwapchainCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- VkSwapchainCreateInfoKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkSwapchainCreateFlagsKHR*)&forUnmarshaling->flags, sizeof(VkSwapchainCreateFlagsKHR));
- uint64_t cgen_var_191;
- vkStream->read((uint64_t*)&cgen_var_191, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkSurfaceKHR(&cgen_var_191, (VkSurfaceKHR*)&forUnmarshaling->surface, 1);
- vkStream->read((uint32_t*)&forUnmarshaling->minImageCount, sizeof(uint32_t));
- vkStream->read((VkFormat*)&forUnmarshaling->imageFormat, sizeof(VkFormat));
- vkStream->read((VkColorSpaceKHR*)&forUnmarshaling->imageColorSpace, sizeof(VkColorSpaceKHR));
- unmarshal_VkExtent2D(vkStream, (VkExtent2D*)(&forUnmarshaling->imageExtent));
- vkStream->read((uint32_t*)&forUnmarshaling->imageArrayLayers, sizeof(uint32_t));
- vkStream->read((VkImageUsageFlags*)&forUnmarshaling->imageUsage, sizeof(VkImageUsageFlags));
- vkStream->read((VkSharingMode*)&forUnmarshaling->imageSharingMode, sizeof(VkSharingMode));
- vkStream->read((uint32_t*)&forUnmarshaling->queueFamilyIndexCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- const uint32_t* check_pQueueFamilyIndices;
- check_pQueueFamilyIndices = (const uint32_t*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pQueueFamilyIndices)
- {
- if (!(check_pQueueFamilyIndices))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pQueueFamilyIndices inconsistent between guest and host\n");
- }
- vkStream->read((uint32_t*)forUnmarshaling->pQueueFamilyIndices, forUnmarshaling->queueFamilyIndexCount * sizeof(const uint32_t));
- }
- vkStream->read((VkSurfaceTransformFlagBitsKHR*)&forUnmarshaling->preTransform, sizeof(VkSurfaceTransformFlagBitsKHR));
- vkStream->read((VkCompositeAlphaFlagBitsKHR*)&forUnmarshaling->compositeAlpha, sizeof(VkCompositeAlphaFlagBitsKHR));
- vkStream->read((VkPresentModeKHR*)&forUnmarshaling->presentMode, sizeof(VkPresentModeKHR));
- vkStream->read((VkBool32*)&forUnmarshaling->clipped, sizeof(VkBool32));
- uint64_t cgen_var_193;
- vkStream->read((uint64_t*)&cgen_var_193, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkSwapchainKHR(&cgen_var_193, (VkSwapchainKHR*)&forUnmarshaling->oldSwapchain, 1);
-}
-
-void marshal_VkPresentInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkPresentInfoKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->waitSemaphoreCount, sizeof(uint32_t));
- if (forMarshaling->waitSemaphoreCount)
- {
- uint64_t* cgen_var_194;
- vkStream->alloc((void**)&cgen_var_194, forMarshaling->waitSemaphoreCount * 8);
- vkStream->handleMapping()->mapHandles_VkSemaphore_u64(forMarshaling->pWaitSemaphores, cgen_var_194, forMarshaling->waitSemaphoreCount);
- vkStream->write((uint64_t*)cgen_var_194, forMarshaling->waitSemaphoreCount * 8);
- }
- vkStream->write((uint32_t*)&forMarshaling->swapchainCount, sizeof(uint32_t));
- if (forMarshaling->swapchainCount)
- {
- uint64_t* cgen_var_195;
- vkStream->alloc((void**)&cgen_var_195, forMarshaling->swapchainCount * 8);
- vkStream->handleMapping()->mapHandles_VkSwapchainKHR_u64(forMarshaling->pSwapchains, cgen_var_195, forMarshaling->swapchainCount);
- vkStream->write((uint64_t*)cgen_var_195, forMarshaling->swapchainCount * 8);
- }
- vkStream->write((const uint32_t*)forMarshaling->pImageIndices, forMarshaling->swapchainCount * sizeof(const uint32_t));
- // WARNING PTR CHECK
- uint64_t cgen_var_196 = (uint64_t)(uintptr_t)forMarshaling->pResults;
- vkStream->putBe64(cgen_var_196);
- if (forMarshaling->pResults)
- {
- vkStream->write((VkResult*)forMarshaling->pResults, forMarshaling->swapchainCount * sizeof(VkResult));
- }
-}
-
-void unmarshal_VkPresentInfoKHR(
- VulkanStreamGuest* vkStream,
- VkPresentInfoKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->waitSemaphoreCount, sizeof(uint32_t));
- if (forUnmarshaling->waitSemaphoreCount)
- {
- uint64_t* cgen_var_197;
- vkStream->alloc((void**)&cgen_var_197, forUnmarshaling->waitSemaphoreCount * 8);
- vkStream->read((uint64_t*)cgen_var_197, forUnmarshaling->waitSemaphoreCount * 8);
- vkStream->handleMapping()->mapHandles_u64_VkSemaphore(cgen_var_197, (VkSemaphore*)forUnmarshaling->pWaitSemaphores, forUnmarshaling->waitSemaphoreCount);
- }
- vkStream->read((uint32_t*)&forUnmarshaling->swapchainCount, sizeof(uint32_t));
- if (forUnmarshaling->swapchainCount)
- {
- uint64_t* cgen_var_198;
- vkStream->alloc((void**)&cgen_var_198, forUnmarshaling->swapchainCount * 8);
- vkStream->read((uint64_t*)cgen_var_198, forUnmarshaling->swapchainCount * 8);
- vkStream->handleMapping()->mapHandles_u64_VkSwapchainKHR(cgen_var_198, (VkSwapchainKHR*)forUnmarshaling->pSwapchains, forUnmarshaling->swapchainCount);
- }
- vkStream->read((uint32_t*)forUnmarshaling->pImageIndices, forUnmarshaling->swapchainCount * sizeof(const uint32_t));
- // WARNING PTR CHECK
- VkResult* check_pResults;
- check_pResults = (VkResult*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pResults)
- {
- if (!(check_pResults))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pResults inconsistent between guest and host\n");
- }
- vkStream->read((VkResult*)forUnmarshaling->pResults, forUnmarshaling->swapchainCount * sizeof(VkResult));
- }
-}
-
-void marshal_VkImageSwapchainCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkImageSwapchainCreateInfoKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- uint64_t cgen_var_200;
- vkStream->handleMapping()->mapHandles_VkSwapchainKHR_u64(&forMarshaling->swapchain, &cgen_var_200, 1);
- vkStream->write((uint64_t*)&cgen_var_200, 1 * 8);
-}
-
-void unmarshal_VkImageSwapchainCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- VkImageSwapchainCreateInfoKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- uint64_t cgen_var_201;
- vkStream->read((uint64_t*)&cgen_var_201, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkSwapchainKHR(&cgen_var_201, (VkSwapchainKHR*)&forUnmarshaling->swapchain, 1);
-}
-
-void marshal_VkBindImageMemorySwapchainInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkBindImageMemorySwapchainInfoKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- uint64_t cgen_var_202;
- vkStream->handleMapping()->mapHandles_VkSwapchainKHR_u64(&forMarshaling->swapchain, &cgen_var_202, 1);
- vkStream->write((uint64_t*)&cgen_var_202, 1 * 8);
- vkStream->write((uint32_t*)&forMarshaling->imageIndex, sizeof(uint32_t));
-}
-
-void unmarshal_VkBindImageMemorySwapchainInfoKHR(
- VulkanStreamGuest* vkStream,
- VkBindImageMemorySwapchainInfoKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- uint64_t cgen_var_203;
- vkStream->read((uint64_t*)&cgen_var_203, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkSwapchainKHR(&cgen_var_203, (VkSwapchainKHR*)&forUnmarshaling->swapchain, 1);
- vkStream->read((uint32_t*)&forUnmarshaling->imageIndex, sizeof(uint32_t));
-}
-
-void marshal_VkAcquireNextImageInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkAcquireNextImageInfoKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- uint64_t cgen_var_204;
- vkStream->handleMapping()->mapHandles_VkSwapchainKHR_u64(&forMarshaling->swapchain, &cgen_var_204, 1);
- vkStream->write((uint64_t*)&cgen_var_204, 1 * 8);
- vkStream->write((uint64_t*)&forMarshaling->timeout, sizeof(uint64_t));
- uint64_t cgen_var_205;
- vkStream->handleMapping()->mapHandles_VkSemaphore_u64(&forMarshaling->semaphore, &cgen_var_205, 1);
- vkStream->write((uint64_t*)&cgen_var_205, 1 * 8);
- uint64_t cgen_var_206;
- vkStream->handleMapping()->mapHandles_VkFence_u64(&forMarshaling->fence, &cgen_var_206, 1);
- vkStream->write((uint64_t*)&cgen_var_206, 1 * 8);
- vkStream->write((uint32_t*)&forMarshaling->deviceMask, sizeof(uint32_t));
-}
-
-void unmarshal_VkAcquireNextImageInfoKHR(
- VulkanStreamGuest* vkStream,
- VkAcquireNextImageInfoKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- uint64_t cgen_var_207;
- vkStream->read((uint64_t*)&cgen_var_207, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkSwapchainKHR(&cgen_var_207, (VkSwapchainKHR*)&forUnmarshaling->swapchain, 1);
- vkStream->read((uint64_t*)&forUnmarshaling->timeout, sizeof(uint64_t));
- uint64_t cgen_var_208;
- vkStream->read((uint64_t*)&cgen_var_208, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkSemaphore(&cgen_var_208, (VkSemaphore*)&forUnmarshaling->semaphore, 1);
- uint64_t cgen_var_209;
- vkStream->read((uint64_t*)&cgen_var_209, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkFence(&cgen_var_209, (VkFence*)&forUnmarshaling->fence, 1);
- vkStream->read((uint32_t*)&forUnmarshaling->deviceMask, sizeof(uint32_t));
-}
-
-void marshal_VkDeviceGroupPresentCapabilitiesKHR(
- VulkanStreamGuest* vkStream,
- const VkDeviceGroupPresentCapabilitiesKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)forMarshaling->presentMask, VK_MAX_DEVICE_GROUP_SIZE * sizeof(uint32_t));
- vkStream->write((VkDeviceGroupPresentModeFlagsKHR*)&forMarshaling->modes, sizeof(VkDeviceGroupPresentModeFlagsKHR));
-}
-
-void unmarshal_VkDeviceGroupPresentCapabilitiesKHR(
- VulkanStreamGuest* vkStream,
- VkDeviceGroupPresentCapabilitiesKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)forUnmarshaling->presentMask, VK_MAX_DEVICE_GROUP_SIZE * sizeof(uint32_t));
- vkStream->read((VkDeviceGroupPresentModeFlagsKHR*)&forUnmarshaling->modes, sizeof(VkDeviceGroupPresentModeFlagsKHR));
-}
-
-void marshal_VkDeviceGroupPresentInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkDeviceGroupPresentInfoKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->swapchainCount, sizeof(uint32_t));
- vkStream->write((const uint32_t*)forMarshaling->pDeviceMasks, forMarshaling->swapchainCount * sizeof(const uint32_t));
- vkStream->write((VkDeviceGroupPresentModeFlagBitsKHR*)&forMarshaling->mode, sizeof(VkDeviceGroupPresentModeFlagBitsKHR));
-}
-
-void unmarshal_VkDeviceGroupPresentInfoKHR(
- VulkanStreamGuest* vkStream,
- VkDeviceGroupPresentInfoKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->swapchainCount, sizeof(uint32_t));
- vkStream->read((uint32_t*)forUnmarshaling->pDeviceMasks, forUnmarshaling->swapchainCount * sizeof(const uint32_t));
- vkStream->read((VkDeviceGroupPresentModeFlagBitsKHR*)&forUnmarshaling->mode, sizeof(VkDeviceGroupPresentModeFlagBitsKHR));
-}
-
-void marshal_VkDeviceGroupSwapchainCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkDeviceGroupSwapchainCreateInfoKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkDeviceGroupPresentModeFlagsKHR*)&forMarshaling->modes, sizeof(VkDeviceGroupPresentModeFlagsKHR));
-}
-
-void unmarshal_VkDeviceGroupSwapchainCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- VkDeviceGroupSwapchainCreateInfoKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkDeviceGroupPresentModeFlagsKHR*)&forUnmarshaling->modes, sizeof(VkDeviceGroupPresentModeFlagsKHR));
-}
-
-#endif
-#ifdef VK_KHR_display
-void marshal_VkDisplayPropertiesKHR(
- VulkanStreamGuest* vkStream,
- const VkDisplayPropertiesKHR* forMarshaling)
-{
- uint64_t cgen_var_210;
- vkStream->handleMapping()->mapHandles_VkDisplayKHR_u64(&forMarshaling->display, &cgen_var_210, 1);
- vkStream->write((uint64_t*)&cgen_var_210, 1 * 8);
- vkStream->putString(forMarshaling->displayName);
- marshal_VkExtent2D(vkStream, (VkExtent2D*)(&forMarshaling->physicalDimensions));
- marshal_VkExtent2D(vkStream, (VkExtent2D*)(&forMarshaling->physicalResolution));
- vkStream->write((VkSurfaceTransformFlagsKHR*)&forMarshaling->supportedTransforms, sizeof(VkSurfaceTransformFlagsKHR));
- vkStream->write((VkBool32*)&forMarshaling->planeReorderPossible, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->persistentContent, sizeof(VkBool32));
-}
-
-void unmarshal_VkDisplayPropertiesKHR(
- VulkanStreamGuest* vkStream,
- VkDisplayPropertiesKHR* forUnmarshaling)
-{
- uint64_t cgen_var_211;
- vkStream->read((uint64_t*)&cgen_var_211, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkDisplayKHR(&cgen_var_211, (VkDisplayKHR*)&forUnmarshaling->display, 1);
- vkStream->loadStringInPlace((char**)&forUnmarshaling->displayName);
- unmarshal_VkExtent2D(vkStream, (VkExtent2D*)(&forUnmarshaling->physicalDimensions));
- unmarshal_VkExtent2D(vkStream, (VkExtent2D*)(&forUnmarshaling->physicalResolution));
- vkStream->read((VkSurfaceTransformFlagsKHR*)&forUnmarshaling->supportedTransforms, sizeof(VkSurfaceTransformFlagsKHR));
- vkStream->read((VkBool32*)&forUnmarshaling->planeReorderPossible, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->persistentContent, sizeof(VkBool32));
-}
-
-void marshal_VkDisplayModeParametersKHR(
- VulkanStreamGuest* vkStream,
- const VkDisplayModeParametersKHR* forMarshaling)
-{
- marshal_VkExtent2D(vkStream, (VkExtent2D*)(&forMarshaling->visibleRegion));
- vkStream->write((uint32_t*)&forMarshaling->refreshRate, sizeof(uint32_t));
-}
-
-void unmarshal_VkDisplayModeParametersKHR(
- VulkanStreamGuest* vkStream,
- VkDisplayModeParametersKHR* forUnmarshaling)
-{
- unmarshal_VkExtent2D(vkStream, (VkExtent2D*)(&forUnmarshaling->visibleRegion));
- vkStream->read((uint32_t*)&forUnmarshaling->refreshRate, sizeof(uint32_t));
-}
-
-void marshal_VkDisplayModePropertiesKHR(
- VulkanStreamGuest* vkStream,
- const VkDisplayModePropertiesKHR* forMarshaling)
-{
- uint64_t cgen_var_212;
- vkStream->handleMapping()->mapHandles_VkDisplayModeKHR_u64(&forMarshaling->displayMode, &cgen_var_212, 1);
- vkStream->write((uint64_t*)&cgen_var_212, 1 * 8);
- marshal_VkDisplayModeParametersKHR(vkStream, (VkDisplayModeParametersKHR*)(&forMarshaling->parameters));
-}
-
-void unmarshal_VkDisplayModePropertiesKHR(
- VulkanStreamGuest* vkStream,
- VkDisplayModePropertiesKHR* forUnmarshaling)
-{
- uint64_t cgen_var_213;
- vkStream->read((uint64_t*)&cgen_var_213, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkDisplayModeKHR(&cgen_var_213, (VkDisplayModeKHR*)&forUnmarshaling->displayMode, 1);
- unmarshal_VkDisplayModeParametersKHR(vkStream, (VkDisplayModeParametersKHR*)(&forUnmarshaling->parameters));
-}
-
-void marshal_VkDisplayModeCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkDisplayModeCreateInfoKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkDisplayModeCreateFlagsKHR*)&forMarshaling->flags, sizeof(VkDisplayModeCreateFlagsKHR));
- marshal_VkDisplayModeParametersKHR(vkStream, (VkDisplayModeParametersKHR*)(&forMarshaling->parameters));
-}
-
-void unmarshal_VkDisplayModeCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- VkDisplayModeCreateInfoKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkDisplayModeCreateFlagsKHR*)&forUnmarshaling->flags, sizeof(VkDisplayModeCreateFlagsKHR));
- unmarshal_VkDisplayModeParametersKHR(vkStream, (VkDisplayModeParametersKHR*)(&forUnmarshaling->parameters));
-}
-
-void marshal_VkDisplayPlaneCapabilitiesKHR(
- VulkanStreamGuest* vkStream,
- const VkDisplayPlaneCapabilitiesKHR* forMarshaling)
-{
- vkStream->write((VkDisplayPlaneAlphaFlagsKHR*)&forMarshaling->supportedAlpha, sizeof(VkDisplayPlaneAlphaFlagsKHR));
- marshal_VkOffset2D(vkStream, (VkOffset2D*)(&forMarshaling->minSrcPosition));
- marshal_VkOffset2D(vkStream, (VkOffset2D*)(&forMarshaling->maxSrcPosition));
- marshal_VkExtent2D(vkStream, (VkExtent2D*)(&forMarshaling->minSrcExtent));
- marshal_VkExtent2D(vkStream, (VkExtent2D*)(&forMarshaling->maxSrcExtent));
- marshal_VkOffset2D(vkStream, (VkOffset2D*)(&forMarshaling->minDstPosition));
- marshal_VkOffset2D(vkStream, (VkOffset2D*)(&forMarshaling->maxDstPosition));
- marshal_VkExtent2D(vkStream, (VkExtent2D*)(&forMarshaling->minDstExtent));
- marshal_VkExtent2D(vkStream, (VkExtent2D*)(&forMarshaling->maxDstExtent));
-}
-
-void unmarshal_VkDisplayPlaneCapabilitiesKHR(
- VulkanStreamGuest* vkStream,
- VkDisplayPlaneCapabilitiesKHR* forUnmarshaling)
-{
- vkStream->read((VkDisplayPlaneAlphaFlagsKHR*)&forUnmarshaling->supportedAlpha, sizeof(VkDisplayPlaneAlphaFlagsKHR));
- unmarshal_VkOffset2D(vkStream, (VkOffset2D*)(&forUnmarshaling->minSrcPosition));
- unmarshal_VkOffset2D(vkStream, (VkOffset2D*)(&forUnmarshaling->maxSrcPosition));
- unmarshal_VkExtent2D(vkStream, (VkExtent2D*)(&forUnmarshaling->minSrcExtent));
- unmarshal_VkExtent2D(vkStream, (VkExtent2D*)(&forUnmarshaling->maxSrcExtent));
- unmarshal_VkOffset2D(vkStream, (VkOffset2D*)(&forUnmarshaling->minDstPosition));
- unmarshal_VkOffset2D(vkStream, (VkOffset2D*)(&forUnmarshaling->maxDstPosition));
- unmarshal_VkExtent2D(vkStream, (VkExtent2D*)(&forUnmarshaling->minDstExtent));
- unmarshal_VkExtent2D(vkStream, (VkExtent2D*)(&forUnmarshaling->maxDstExtent));
-}
-
-void marshal_VkDisplayPlanePropertiesKHR(
- VulkanStreamGuest* vkStream,
- const VkDisplayPlanePropertiesKHR* forMarshaling)
-{
- uint64_t cgen_var_214;
- vkStream->handleMapping()->mapHandles_VkDisplayKHR_u64(&forMarshaling->currentDisplay, &cgen_var_214, 1);
- vkStream->write((uint64_t*)&cgen_var_214, 1 * 8);
- vkStream->write((uint32_t*)&forMarshaling->currentStackIndex, sizeof(uint32_t));
-}
-
-void unmarshal_VkDisplayPlanePropertiesKHR(
- VulkanStreamGuest* vkStream,
- VkDisplayPlanePropertiesKHR* forUnmarshaling)
-{
- uint64_t cgen_var_215;
- vkStream->read((uint64_t*)&cgen_var_215, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkDisplayKHR(&cgen_var_215, (VkDisplayKHR*)&forUnmarshaling->currentDisplay, 1);
- vkStream->read((uint32_t*)&forUnmarshaling->currentStackIndex, sizeof(uint32_t));
-}
-
-void marshal_VkDisplaySurfaceCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkDisplaySurfaceCreateInfoKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkDisplaySurfaceCreateFlagsKHR*)&forMarshaling->flags, sizeof(VkDisplaySurfaceCreateFlagsKHR));
- uint64_t cgen_var_216;
- vkStream->handleMapping()->mapHandles_VkDisplayModeKHR_u64(&forMarshaling->displayMode, &cgen_var_216, 1);
- vkStream->write((uint64_t*)&cgen_var_216, 1 * 8);
- vkStream->write((uint32_t*)&forMarshaling->planeIndex, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->planeStackIndex, sizeof(uint32_t));
- vkStream->write((VkSurfaceTransformFlagBitsKHR*)&forMarshaling->transform, sizeof(VkSurfaceTransformFlagBitsKHR));
- vkStream->write((float*)&forMarshaling->globalAlpha, sizeof(float));
- vkStream->write((VkDisplayPlaneAlphaFlagBitsKHR*)&forMarshaling->alphaMode, sizeof(VkDisplayPlaneAlphaFlagBitsKHR));
- marshal_VkExtent2D(vkStream, (VkExtent2D*)(&forMarshaling->imageExtent));
-}
-
-void unmarshal_VkDisplaySurfaceCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- VkDisplaySurfaceCreateInfoKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkDisplaySurfaceCreateFlagsKHR*)&forUnmarshaling->flags, sizeof(VkDisplaySurfaceCreateFlagsKHR));
- uint64_t cgen_var_217;
- vkStream->read((uint64_t*)&cgen_var_217, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkDisplayModeKHR(&cgen_var_217, (VkDisplayModeKHR*)&forUnmarshaling->displayMode, 1);
- vkStream->read((uint32_t*)&forUnmarshaling->planeIndex, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->planeStackIndex, sizeof(uint32_t));
- vkStream->read((VkSurfaceTransformFlagBitsKHR*)&forUnmarshaling->transform, sizeof(VkSurfaceTransformFlagBitsKHR));
- vkStream->read((float*)&forUnmarshaling->globalAlpha, sizeof(float));
- vkStream->read((VkDisplayPlaneAlphaFlagBitsKHR*)&forUnmarshaling->alphaMode, sizeof(VkDisplayPlaneAlphaFlagBitsKHR));
- unmarshal_VkExtent2D(vkStream, (VkExtent2D*)(&forUnmarshaling->imageExtent));
-}
-
-#endif
-#ifdef VK_KHR_display_swapchain
-void marshal_VkDisplayPresentInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkDisplayPresentInfoKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- marshal_VkRect2D(vkStream, (VkRect2D*)(&forMarshaling->srcRect));
- marshal_VkRect2D(vkStream, (VkRect2D*)(&forMarshaling->dstRect));
- vkStream->write((VkBool32*)&forMarshaling->persistent, sizeof(VkBool32));
-}
-
-void unmarshal_VkDisplayPresentInfoKHR(
- VulkanStreamGuest* vkStream,
- VkDisplayPresentInfoKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- unmarshal_VkRect2D(vkStream, (VkRect2D*)(&forUnmarshaling->srcRect));
- unmarshal_VkRect2D(vkStream, (VkRect2D*)(&forUnmarshaling->dstRect));
- vkStream->read((VkBool32*)&forUnmarshaling->persistent, sizeof(VkBool32));
-}
-
-#endif
-#ifdef VK_KHR_xlib_surface
-void marshal_VkXlibSurfaceCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkXlibSurfaceCreateInfoKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkXlibSurfaceCreateFlagsKHR*)&forMarshaling->flags, sizeof(VkXlibSurfaceCreateFlagsKHR));
- // WARNING PTR CHECK
- uint64_t cgen_var_218 = (uint64_t)(uintptr_t)forMarshaling->dpy;
- vkStream->putBe64(cgen_var_218);
- if (forMarshaling->dpy)
- {
- vkStream->write((Display*)forMarshaling->dpy, sizeof(Display));
- }
- vkStream->write((Window*)&forMarshaling->window, sizeof(Window));
-}
-
-void unmarshal_VkXlibSurfaceCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- VkXlibSurfaceCreateInfoKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkXlibSurfaceCreateFlagsKHR*)&forUnmarshaling->flags, sizeof(VkXlibSurfaceCreateFlagsKHR));
- // WARNING PTR CHECK
- Display* check_dpy;
- check_dpy = (Display*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->dpy)
- {
- if (!(check_dpy))
- {
- fprintf(stderr, "fatal: forUnmarshaling->dpy inconsistent between guest and host\n");
- }
- vkStream->read((Display*)forUnmarshaling->dpy, sizeof(Display));
- }
- vkStream->read((Window*)&forUnmarshaling->window, sizeof(Window));
-}
-
-#endif
-#ifdef VK_KHR_xcb_surface
-void marshal_VkXcbSurfaceCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkXcbSurfaceCreateInfoKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkXcbSurfaceCreateFlagsKHR*)&forMarshaling->flags, sizeof(VkXcbSurfaceCreateFlagsKHR));
- // WARNING PTR CHECK
- uint64_t cgen_var_220 = (uint64_t)(uintptr_t)forMarshaling->connection;
- vkStream->putBe64(cgen_var_220);
- if (forMarshaling->connection)
- {
- vkStream->write((xcb_connection_t*)forMarshaling->connection, sizeof(xcb_connection_t));
- }
- vkStream->write((xcb_window_t*)&forMarshaling->window, sizeof(xcb_window_t));
-}
-
-void unmarshal_VkXcbSurfaceCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- VkXcbSurfaceCreateInfoKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkXcbSurfaceCreateFlagsKHR*)&forUnmarshaling->flags, sizeof(VkXcbSurfaceCreateFlagsKHR));
- // WARNING PTR CHECK
- xcb_connection_t* check_connection;
- check_connection = (xcb_connection_t*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->connection)
- {
- if (!(check_connection))
- {
- fprintf(stderr, "fatal: forUnmarshaling->connection inconsistent between guest and host\n");
- }
- vkStream->read((xcb_connection_t*)forUnmarshaling->connection, sizeof(xcb_connection_t));
- }
- vkStream->read((xcb_window_t*)&forUnmarshaling->window, sizeof(xcb_window_t));
-}
-
-#endif
-#ifdef VK_KHR_wayland_surface
-void marshal_VkWaylandSurfaceCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkWaylandSurfaceCreateInfoKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkWaylandSurfaceCreateFlagsKHR*)&forMarshaling->flags, sizeof(VkWaylandSurfaceCreateFlagsKHR));
- // WARNING PTR CHECK
- uint64_t cgen_var_222 = (uint64_t)(uintptr_t)forMarshaling->display;
- vkStream->putBe64(cgen_var_222);
- if (forMarshaling->display)
- {
- vkStream->write((wl_display*)forMarshaling->display, sizeof(wl_display));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_223 = (uint64_t)(uintptr_t)forMarshaling->surface;
- vkStream->putBe64(cgen_var_223);
- if (forMarshaling->surface)
- {
- vkStream->write((wl_surface*)forMarshaling->surface, sizeof(wl_surface));
- }
-}
-
-void unmarshal_VkWaylandSurfaceCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- VkWaylandSurfaceCreateInfoKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkWaylandSurfaceCreateFlagsKHR*)&forUnmarshaling->flags, sizeof(VkWaylandSurfaceCreateFlagsKHR));
- // WARNING PTR CHECK
- wl_display* check_display;
- check_display = (wl_display*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->display)
- {
- if (!(check_display))
- {
- fprintf(stderr, "fatal: forUnmarshaling->display inconsistent between guest and host\n");
- }
- vkStream->read((wl_display*)forUnmarshaling->display, sizeof(wl_display));
- }
- // WARNING PTR CHECK
- wl_surface* check_surface;
- check_surface = (wl_surface*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->surface)
- {
- if (!(check_surface))
- {
- fprintf(stderr, "fatal: forUnmarshaling->surface inconsistent between guest and host\n");
- }
- vkStream->read((wl_surface*)forUnmarshaling->surface, sizeof(wl_surface));
- }
-}
-
-#endif
-#ifdef VK_KHR_mir_surface
-void marshal_VkMirSurfaceCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkMirSurfaceCreateInfoKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkMirSurfaceCreateFlagsKHR*)&forMarshaling->flags, sizeof(VkMirSurfaceCreateFlagsKHR));
- // WARNING PTR CHECK
- uint64_t cgen_var_226 = (uint64_t)(uintptr_t)forMarshaling->connection;
- vkStream->putBe64(cgen_var_226);
- if (forMarshaling->connection)
- {
- vkStream->write((MirConnection*)forMarshaling->connection, sizeof(MirConnection));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_227 = (uint64_t)(uintptr_t)forMarshaling->mirSurface;
- vkStream->putBe64(cgen_var_227);
- if (forMarshaling->mirSurface)
- {
- vkStream->write((MirSurface*)forMarshaling->mirSurface, sizeof(MirSurface));
- }
-}
-
-void unmarshal_VkMirSurfaceCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- VkMirSurfaceCreateInfoKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkMirSurfaceCreateFlagsKHR*)&forUnmarshaling->flags, sizeof(VkMirSurfaceCreateFlagsKHR));
- // WARNING PTR CHECK
- MirConnection* check_connection;
- check_connection = (MirConnection*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->connection)
- {
- if (!(check_connection))
- {
- fprintf(stderr, "fatal: forUnmarshaling->connection inconsistent between guest and host\n");
- }
- vkStream->read((MirConnection*)forUnmarshaling->connection, sizeof(MirConnection));
- }
- // WARNING PTR CHECK
- MirSurface* check_mirSurface;
- check_mirSurface = (MirSurface*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->mirSurface)
- {
- if (!(check_mirSurface))
- {
- fprintf(stderr, "fatal: forUnmarshaling->mirSurface inconsistent between guest and host\n");
- }
- vkStream->read((MirSurface*)forUnmarshaling->mirSurface, sizeof(MirSurface));
- }
-}
-
-#endif
-#ifdef VK_KHR_android_surface
-void marshal_VkAndroidSurfaceCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkAndroidSurfaceCreateInfoKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkAndroidSurfaceCreateFlagsKHR*)&forMarshaling->flags, sizeof(VkAndroidSurfaceCreateFlagsKHR));
- // WARNING PTR CHECK
- uint64_t cgen_var_230 = (uint64_t)(uintptr_t)forMarshaling->window;
- vkStream->putBe64(cgen_var_230);
- if (forMarshaling->window)
- {
- vkStream->write((ANativeWindow*)forMarshaling->window, sizeof(ANativeWindow));
- }
-}
-
-void unmarshal_VkAndroidSurfaceCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- VkAndroidSurfaceCreateInfoKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkAndroidSurfaceCreateFlagsKHR*)&forUnmarshaling->flags, sizeof(VkAndroidSurfaceCreateFlagsKHR));
- // WARNING PTR CHECK
- ANativeWindow* check_window;
- check_window = (ANativeWindow*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->window)
- {
- if (!(check_window))
- {
- fprintf(stderr, "fatal: forUnmarshaling->window inconsistent between guest and host\n");
- }
- vkStream->read((ANativeWindow*)forUnmarshaling->window, sizeof(ANativeWindow));
- }
-}
-
-#endif
-#ifdef VK_KHR_win32_surface
-void marshal_VkWin32SurfaceCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkWin32SurfaceCreateInfoKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkWin32SurfaceCreateFlagsKHR*)&forMarshaling->flags, sizeof(VkWin32SurfaceCreateFlagsKHR));
- vkStream->write((HINSTANCE*)&forMarshaling->hinstance, sizeof(HINSTANCE));
- vkStream->write((HWND*)&forMarshaling->hwnd, sizeof(HWND));
-}
-
-void unmarshal_VkWin32SurfaceCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- VkWin32SurfaceCreateInfoKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkWin32SurfaceCreateFlagsKHR*)&forUnmarshaling->flags, sizeof(VkWin32SurfaceCreateFlagsKHR));
- vkStream->read((HINSTANCE*)&forUnmarshaling->hinstance, sizeof(HINSTANCE));
- vkStream->read((HWND*)&forUnmarshaling->hwnd, sizeof(HWND));
-}
-
-#endif
-#ifdef VK_KHR_sampler_mirror_clamp_to_edge
-#endif
-#ifdef VK_KHR_multiview
-#endif
-#ifdef VK_KHR_get_physical_device_properties2
-#endif
-#ifdef VK_KHR_device_group
-#endif
-#ifdef VK_KHR_shader_draw_parameters
-#endif
-#ifdef VK_KHR_maintenance1
-#endif
-#ifdef VK_KHR_device_group_creation
-#endif
-#ifdef VK_KHR_external_memory_capabilities
-#endif
-#ifdef VK_KHR_external_memory
-#endif
-#ifdef VK_KHR_external_memory_win32
-void marshal_VkImportMemoryWin32HandleInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkImportMemoryWin32HandleInfoKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkExternalMemoryHandleTypeFlagBits*)&forMarshaling->handleType, sizeof(VkExternalMemoryHandleTypeFlagBits));
- vkStream->write((HANDLE*)&forMarshaling->handle, sizeof(HANDLE));
- vkStream->write((LPCWSTR*)&forMarshaling->name, sizeof(LPCWSTR));
-}
-
-void unmarshal_VkImportMemoryWin32HandleInfoKHR(
- VulkanStreamGuest* vkStream,
- VkImportMemoryWin32HandleInfoKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkExternalMemoryHandleTypeFlagBits*)&forUnmarshaling->handleType, sizeof(VkExternalMemoryHandleTypeFlagBits));
- vkStream->read((HANDLE*)&forUnmarshaling->handle, sizeof(HANDLE));
- vkStream->read((LPCWSTR*)&forUnmarshaling->name, sizeof(LPCWSTR));
-}
-
-void marshal_VkExportMemoryWin32HandleInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkExportMemoryWin32HandleInfoKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- // WARNING PTR CHECK
- uint64_t cgen_var_232 = (uint64_t)(uintptr_t)forMarshaling->pAttributes;
- vkStream->putBe64(cgen_var_232);
- if (forMarshaling->pAttributes)
- {
- vkStream->write((const SECURITY_ATTRIBUTES*)forMarshaling->pAttributes, sizeof(const SECURITY_ATTRIBUTES));
- }
- vkStream->write((DWORD*)&forMarshaling->dwAccess, sizeof(DWORD));
- vkStream->write((LPCWSTR*)&forMarshaling->name, sizeof(LPCWSTR));
-}
-
-void unmarshal_VkExportMemoryWin32HandleInfoKHR(
- VulkanStreamGuest* vkStream,
- VkExportMemoryWin32HandleInfoKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- // WARNING PTR CHECK
- const SECURITY_ATTRIBUTES* check_pAttributes;
- check_pAttributes = (const SECURITY_ATTRIBUTES*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pAttributes)
- {
- if (!(check_pAttributes))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pAttributes inconsistent between guest and host\n");
- }
- vkStream->read((SECURITY_ATTRIBUTES*)forUnmarshaling->pAttributes, sizeof(const SECURITY_ATTRIBUTES));
- }
- vkStream->read((DWORD*)&forUnmarshaling->dwAccess, sizeof(DWORD));
- vkStream->read((LPCWSTR*)&forUnmarshaling->name, sizeof(LPCWSTR));
-}
-
-void marshal_VkMemoryWin32HandlePropertiesKHR(
- VulkanStreamGuest* vkStream,
- const VkMemoryWin32HandlePropertiesKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->memoryTypeBits, sizeof(uint32_t));
-}
-
-void unmarshal_VkMemoryWin32HandlePropertiesKHR(
- VulkanStreamGuest* vkStream,
- VkMemoryWin32HandlePropertiesKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->memoryTypeBits, sizeof(uint32_t));
-}
-
-void marshal_VkMemoryGetWin32HandleInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkMemoryGetWin32HandleInfoKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- uint64_t cgen_var_234;
- vkStream->handleMapping()->mapHandles_VkDeviceMemory_u64(&forMarshaling->memory, &cgen_var_234, 1);
- vkStream->write((uint64_t*)&cgen_var_234, 1 * 8);
- vkStream->write((VkExternalMemoryHandleTypeFlagBits*)&forMarshaling->handleType, sizeof(VkExternalMemoryHandleTypeFlagBits));
-}
-
-void unmarshal_VkMemoryGetWin32HandleInfoKHR(
- VulkanStreamGuest* vkStream,
- VkMemoryGetWin32HandleInfoKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- uint64_t cgen_var_235;
- vkStream->read((uint64_t*)&cgen_var_235, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkDeviceMemory(&cgen_var_235, (VkDeviceMemory*)&forUnmarshaling->memory, 1);
- vkStream->read((VkExternalMemoryHandleTypeFlagBits*)&forUnmarshaling->handleType, sizeof(VkExternalMemoryHandleTypeFlagBits));
-}
-
-#endif
-#ifdef VK_KHR_external_memory_fd
-void marshal_VkImportMemoryFdInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkImportMemoryFdInfoKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkExternalMemoryHandleTypeFlagBits*)&forMarshaling->handleType, sizeof(VkExternalMemoryHandleTypeFlagBits));
- vkStream->write((int*)&forMarshaling->fd, sizeof(int));
-}
-
-void unmarshal_VkImportMemoryFdInfoKHR(
- VulkanStreamGuest* vkStream,
- VkImportMemoryFdInfoKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkExternalMemoryHandleTypeFlagBits*)&forUnmarshaling->handleType, sizeof(VkExternalMemoryHandleTypeFlagBits));
- vkStream->read((int*)&forUnmarshaling->fd, sizeof(int));
-}
-
-void marshal_VkMemoryFdPropertiesKHR(
- VulkanStreamGuest* vkStream,
- const VkMemoryFdPropertiesKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->memoryTypeBits, sizeof(uint32_t));
-}
-
-void unmarshal_VkMemoryFdPropertiesKHR(
- VulkanStreamGuest* vkStream,
- VkMemoryFdPropertiesKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->memoryTypeBits, sizeof(uint32_t));
-}
-
-void marshal_VkMemoryGetFdInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkMemoryGetFdInfoKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- uint64_t cgen_var_236;
- vkStream->handleMapping()->mapHandles_VkDeviceMemory_u64(&forMarshaling->memory, &cgen_var_236, 1);
- vkStream->write((uint64_t*)&cgen_var_236, 1 * 8);
- vkStream->write((VkExternalMemoryHandleTypeFlagBits*)&forMarshaling->handleType, sizeof(VkExternalMemoryHandleTypeFlagBits));
-}
-
-void unmarshal_VkMemoryGetFdInfoKHR(
- VulkanStreamGuest* vkStream,
- VkMemoryGetFdInfoKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- uint64_t cgen_var_237;
- vkStream->read((uint64_t*)&cgen_var_237, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkDeviceMemory(&cgen_var_237, (VkDeviceMemory*)&forUnmarshaling->memory, 1);
- vkStream->read((VkExternalMemoryHandleTypeFlagBits*)&forUnmarshaling->handleType, sizeof(VkExternalMemoryHandleTypeFlagBits));
-}
-
-#endif
-#ifdef VK_KHR_win32_keyed_mutex
-void marshal_VkWin32KeyedMutexAcquireReleaseInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkWin32KeyedMutexAcquireReleaseInfoKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->acquireCount, sizeof(uint32_t));
- if (forMarshaling->acquireCount)
- {
- uint64_t* cgen_var_238;
- vkStream->alloc((void**)&cgen_var_238, forMarshaling->acquireCount * 8);
- vkStream->handleMapping()->mapHandles_VkDeviceMemory_u64(forMarshaling->pAcquireSyncs, cgen_var_238, forMarshaling->acquireCount);
- vkStream->write((uint64_t*)cgen_var_238, forMarshaling->acquireCount * 8);
- }
- vkStream->write((const uint64_t*)forMarshaling->pAcquireKeys, forMarshaling->acquireCount * sizeof(const uint64_t));
- vkStream->write((const uint32_t*)forMarshaling->pAcquireTimeouts, forMarshaling->acquireCount * sizeof(const uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->releaseCount, sizeof(uint32_t));
- if (forMarshaling->releaseCount)
- {
- uint64_t* cgen_var_239;
- vkStream->alloc((void**)&cgen_var_239, forMarshaling->releaseCount * 8);
- vkStream->handleMapping()->mapHandles_VkDeviceMemory_u64(forMarshaling->pReleaseSyncs, cgen_var_239, forMarshaling->releaseCount);
- vkStream->write((uint64_t*)cgen_var_239, forMarshaling->releaseCount * 8);
- }
- vkStream->write((const uint64_t*)forMarshaling->pReleaseKeys, forMarshaling->releaseCount * sizeof(const uint64_t));
-}
-
-void unmarshal_VkWin32KeyedMutexAcquireReleaseInfoKHR(
- VulkanStreamGuest* vkStream,
- VkWin32KeyedMutexAcquireReleaseInfoKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->acquireCount, sizeof(uint32_t));
- if (forUnmarshaling->acquireCount)
- {
- uint64_t* cgen_var_240;
- vkStream->alloc((void**)&cgen_var_240, forUnmarshaling->acquireCount * 8);
- vkStream->read((uint64_t*)cgen_var_240, forUnmarshaling->acquireCount * 8);
- vkStream->handleMapping()->mapHandles_u64_VkDeviceMemory(cgen_var_240, (VkDeviceMemory*)forUnmarshaling->pAcquireSyncs, forUnmarshaling->acquireCount);
- }
- vkStream->read((uint64_t*)forUnmarshaling->pAcquireKeys, forUnmarshaling->acquireCount * sizeof(const uint64_t));
- vkStream->read((uint32_t*)forUnmarshaling->pAcquireTimeouts, forUnmarshaling->acquireCount * sizeof(const uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->releaseCount, sizeof(uint32_t));
- if (forUnmarshaling->releaseCount)
- {
- uint64_t* cgen_var_241;
- vkStream->alloc((void**)&cgen_var_241, forUnmarshaling->releaseCount * 8);
- vkStream->read((uint64_t*)cgen_var_241, forUnmarshaling->releaseCount * 8);
- vkStream->handleMapping()->mapHandles_u64_VkDeviceMemory(cgen_var_241, (VkDeviceMemory*)forUnmarshaling->pReleaseSyncs, forUnmarshaling->releaseCount);
- }
- vkStream->read((uint64_t*)forUnmarshaling->pReleaseKeys, forUnmarshaling->releaseCount * sizeof(const uint64_t));
-}
-
-#endif
-#ifdef VK_KHR_external_semaphore_capabilities
-#endif
-#ifdef VK_KHR_external_semaphore
-#endif
-#ifdef VK_KHR_external_semaphore_win32
-void marshal_VkImportSemaphoreWin32HandleInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkImportSemaphoreWin32HandleInfoKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- uint64_t cgen_var_242;
- vkStream->handleMapping()->mapHandles_VkSemaphore_u64(&forMarshaling->semaphore, &cgen_var_242, 1);
- vkStream->write((uint64_t*)&cgen_var_242, 1 * 8);
- vkStream->write((VkSemaphoreImportFlags*)&forMarshaling->flags, sizeof(VkSemaphoreImportFlags));
- vkStream->write((VkExternalSemaphoreHandleTypeFlagBits*)&forMarshaling->handleType, sizeof(VkExternalSemaphoreHandleTypeFlagBits));
- vkStream->write((HANDLE*)&forMarshaling->handle, sizeof(HANDLE));
- vkStream->write((LPCWSTR*)&forMarshaling->name, sizeof(LPCWSTR));
-}
-
-void unmarshal_VkImportSemaphoreWin32HandleInfoKHR(
- VulkanStreamGuest* vkStream,
- VkImportSemaphoreWin32HandleInfoKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- uint64_t cgen_var_243;
- vkStream->read((uint64_t*)&cgen_var_243, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkSemaphore(&cgen_var_243, (VkSemaphore*)&forUnmarshaling->semaphore, 1);
- vkStream->read((VkSemaphoreImportFlags*)&forUnmarshaling->flags, sizeof(VkSemaphoreImportFlags));
- vkStream->read((VkExternalSemaphoreHandleTypeFlagBits*)&forUnmarshaling->handleType, sizeof(VkExternalSemaphoreHandleTypeFlagBits));
- vkStream->read((HANDLE*)&forUnmarshaling->handle, sizeof(HANDLE));
- vkStream->read((LPCWSTR*)&forUnmarshaling->name, sizeof(LPCWSTR));
-}
-
-void marshal_VkExportSemaphoreWin32HandleInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkExportSemaphoreWin32HandleInfoKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- // WARNING PTR CHECK
- uint64_t cgen_var_244 = (uint64_t)(uintptr_t)forMarshaling->pAttributes;
- vkStream->putBe64(cgen_var_244);
- if (forMarshaling->pAttributes)
- {
- vkStream->write((const SECURITY_ATTRIBUTES*)forMarshaling->pAttributes, sizeof(const SECURITY_ATTRIBUTES));
- }
- vkStream->write((DWORD*)&forMarshaling->dwAccess, sizeof(DWORD));
- vkStream->write((LPCWSTR*)&forMarshaling->name, sizeof(LPCWSTR));
-}
-
-void unmarshal_VkExportSemaphoreWin32HandleInfoKHR(
- VulkanStreamGuest* vkStream,
- VkExportSemaphoreWin32HandleInfoKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- // WARNING PTR CHECK
- const SECURITY_ATTRIBUTES* check_pAttributes;
- check_pAttributes = (const SECURITY_ATTRIBUTES*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pAttributes)
- {
- if (!(check_pAttributes))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pAttributes inconsistent between guest and host\n");
- }
- vkStream->read((SECURITY_ATTRIBUTES*)forUnmarshaling->pAttributes, sizeof(const SECURITY_ATTRIBUTES));
- }
- vkStream->read((DWORD*)&forUnmarshaling->dwAccess, sizeof(DWORD));
- vkStream->read((LPCWSTR*)&forUnmarshaling->name, sizeof(LPCWSTR));
-}
-
-void marshal_VkD3D12FenceSubmitInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkD3D12FenceSubmitInfoKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->waitSemaphoreValuesCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- uint64_t cgen_var_246 = (uint64_t)(uintptr_t)forMarshaling->pWaitSemaphoreValues;
- vkStream->putBe64(cgen_var_246);
- if (forMarshaling->pWaitSemaphoreValues)
- {
- vkStream->write((const uint64_t*)forMarshaling->pWaitSemaphoreValues, forMarshaling->waitSemaphoreValuesCount * sizeof(const uint64_t));
- }
- vkStream->write((uint32_t*)&forMarshaling->signalSemaphoreValuesCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- uint64_t cgen_var_247 = (uint64_t)(uintptr_t)forMarshaling->pSignalSemaphoreValues;
- vkStream->putBe64(cgen_var_247);
- if (forMarshaling->pSignalSemaphoreValues)
- {
- vkStream->write((const uint64_t*)forMarshaling->pSignalSemaphoreValues, forMarshaling->signalSemaphoreValuesCount * sizeof(const uint64_t));
- }
-}
-
-void unmarshal_VkD3D12FenceSubmitInfoKHR(
- VulkanStreamGuest* vkStream,
- VkD3D12FenceSubmitInfoKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->waitSemaphoreValuesCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- const uint64_t* check_pWaitSemaphoreValues;
- check_pWaitSemaphoreValues = (const uint64_t*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pWaitSemaphoreValues)
- {
- if (!(check_pWaitSemaphoreValues))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pWaitSemaphoreValues inconsistent between guest and host\n");
- }
- vkStream->read((uint64_t*)forUnmarshaling->pWaitSemaphoreValues, forUnmarshaling->waitSemaphoreValuesCount * sizeof(const uint64_t));
- }
- vkStream->read((uint32_t*)&forUnmarshaling->signalSemaphoreValuesCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- const uint64_t* check_pSignalSemaphoreValues;
- check_pSignalSemaphoreValues = (const uint64_t*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pSignalSemaphoreValues)
- {
- if (!(check_pSignalSemaphoreValues))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pSignalSemaphoreValues inconsistent between guest and host\n");
- }
- vkStream->read((uint64_t*)forUnmarshaling->pSignalSemaphoreValues, forUnmarshaling->signalSemaphoreValuesCount * sizeof(const uint64_t));
- }
-}
-
-void marshal_VkSemaphoreGetWin32HandleInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkSemaphoreGetWin32HandleInfoKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- uint64_t cgen_var_250;
- vkStream->handleMapping()->mapHandles_VkSemaphore_u64(&forMarshaling->semaphore, &cgen_var_250, 1);
- vkStream->write((uint64_t*)&cgen_var_250, 1 * 8);
- vkStream->write((VkExternalSemaphoreHandleTypeFlagBits*)&forMarshaling->handleType, sizeof(VkExternalSemaphoreHandleTypeFlagBits));
-}
-
-void unmarshal_VkSemaphoreGetWin32HandleInfoKHR(
- VulkanStreamGuest* vkStream,
- VkSemaphoreGetWin32HandleInfoKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- uint64_t cgen_var_251;
- vkStream->read((uint64_t*)&cgen_var_251, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkSemaphore(&cgen_var_251, (VkSemaphore*)&forUnmarshaling->semaphore, 1);
- vkStream->read((VkExternalSemaphoreHandleTypeFlagBits*)&forUnmarshaling->handleType, sizeof(VkExternalSemaphoreHandleTypeFlagBits));
-}
-
-#endif
-#ifdef VK_KHR_external_semaphore_fd
-void marshal_VkImportSemaphoreFdInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkImportSemaphoreFdInfoKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- uint64_t cgen_var_252;
- vkStream->handleMapping()->mapHandles_VkSemaphore_u64(&forMarshaling->semaphore, &cgen_var_252, 1);
- vkStream->write((uint64_t*)&cgen_var_252, 1 * 8);
- vkStream->write((VkSemaphoreImportFlags*)&forMarshaling->flags, sizeof(VkSemaphoreImportFlags));
- vkStream->write((VkExternalSemaphoreHandleTypeFlagBits*)&forMarshaling->handleType, sizeof(VkExternalSemaphoreHandleTypeFlagBits));
- vkStream->write((int*)&forMarshaling->fd, sizeof(int));
-}
-
-void unmarshal_VkImportSemaphoreFdInfoKHR(
- VulkanStreamGuest* vkStream,
- VkImportSemaphoreFdInfoKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- uint64_t cgen_var_253;
- vkStream->read((uint64_t*)&cgen_var_253, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkSemaphore(&cgen_var_253, (VkSemaphore*)&forUnmarshaling->semaphore, 1);
- vkStream->read((VkSemaphoreImportFlags*)&forUnmarshaling->flags, sizeof(VkSemaphoreImportFlags));
- vkStream->read((VkExternalSemaphoreHandleTypeFlagBits*)&forUnmarshaling->handleType, sizeof(VkExternalSemaphoreHandleTypeFlagBits));
- vkStream->read((int*)&forUnmarshaling->fd, sizeof(int));
-}
-
-void marshal_VkSemaphoreGetFdInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkSemaphoreGetFdInfoKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- uint64_t cgen_var_254;
- vkStream->handleMapping()->mapHandles_VkSemaphore_u64(&forMarshaling->semaphore, &cgen_var_254, 1);
- vkStream->write((uint64_t*)&cgen_var_254, 1 * 8);
- vkStream->write((VkExternalSemaphoreHandleTypeFlagBits*)&forMarshaling->handleType, sizeof(VkExternalSemaphoreHandleTypeFlagBits));
-}
-
-void unmarshal_VkSemaphoreGetFdInfoKHR(
- VulkanStreamGuest* vkStream,
- VkSemaphoreGetFdInfoKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- uint64_t cgen_var_255;
- vkStream->read((uint64_t*)&cgen_var_255, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkSemaphore(&cgen_var_255, (VkSemaphore*)&forUnmarshaling->semaphore, 1);
- vkStream->read((VkExternalSemaphoreHandleTypeFlagBits*)&forUnmarshaling->handleType, sizeof(VkExternalSemaphoreHandleTypeFlagBits));
-}
-
-#endif
-#ifdef VK_KHR_push_descriptor
-void marshal_VkPhysicalDevicePushDescriptorPropertiesKHR(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDevicePushDescriptorPropertiesKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->maxPushDescriptors, sizeof(uint32_t));
-}
-
-void unmarshal_VkPhysicalDevicePushDescriptorPropertiesKHR(
- VulkanStreamGuest* vkStream,
- VkPhysicalDevicePushDescriptorPropertiesKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->maxPushDescriptors, sizeof(uint32_t));
-}
-
-#endif
-#ifdef VK_KHR_16bit_storage
-#endif
-#ifdef VK_KHR_incremental_present
-void marshal_VkRectLayerKHR(
- VulkanStreamGuest* vkStream,
- const VkRectLayerKHR* forMarshaling)
-{
- marshal_VkOffset2D(vkStream, (VkOffset2D*)(&forMarshaling->offset));
- marshal_VkExtent2D(vkStream, (VkExtent2D*)(&forMarshaling->extent));
- vkStream->write((uint32_t*)&forMarshaling->layer, sizeof(uint32_t));
-}
-
-void unmarshal_VkRectLayerKHR(
- VulkanStreamGuest* vkStream,
- VkRectLayerKHR* forUnmarshaling)
-{
- unmarshal_VkOffset2D(vkStream, (VkOffset2D*)(&forUnmarshaling->offset));
- unmarshal_VkExtent2D(vkStream, (VkExtent2D*)(&forUnmarshaling->extent));
- vkStream->read((uint32_t*)&forUnmarshaling->layer, sizeof(uint32_t));
-}
-
-void marshal_VkPresentRegionKHR(
- VulkanStreamGuest* vkStream,
- const VkPresentRegionKHR* forMarshaling)
-{
- vkStream->write((uint32_t*)&forMarshaling->rectangleCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- uint64_t cgen_var_256 = (uint64_t)(uintptr_t)forMarshaling->pRectangles;
- vkStream->putBe64(cgen_var_256);
- if (forMarshaling->pRectangles)
- {
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->rectangleCount; ++i)
- {
- marshal_VkRectLayerKHR(vkStream, (const VkRectLayerKHR*)(forMarshaling->pRectangles + i));
- }
- }
-}
-
-void unmarshal_VkPresentRegionKHR(
- VulkanStreamGuest* vkStream,
- VkPresentRegionKHR* forUnmarshaling)
-{
- vkStream->read((uint32_t*)&forUnmarshaling->rectangleCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- const VkRectLayerKHR* check_pRectangles;
- check_pRectangles = (const VkRectLayerKHR*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pRectangles)
- {
- if (!(check_pRectangles))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pRectangles inconsistent between guest and host\n");
- }
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->rectangleCount; ++i)
- {
- unmarshal_VkRectLayerKHR(vkStream, (VkRectLayerKHR*)(forUnmarshaling->pRectangles + i));
- }
- }
-}
-
-void marshal_VkPresentRegionsKHR(
- VulkanStreamGuest* vkStream,
- const VkPresentRegionsKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->swapchainCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- uint64_t cgen_var_258 = (uint64_t)(uintptr_t)forMarshaling->pRegions;
- vkStream->putBe64(cgen_var_258);
- if (forMarshaling->pRegions)
- {
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->swapchainCount; ++i)
- {
- marshal_VkPresentRegionKHR(vkStream, (const VkPresentRegionKHR*)(forMarshaling->pRegions + i));
- }
- }
-}
-
-void unmarshal_VkPresentRegionsKHR(
- VulkanStreamGuest* vkStream,
- VkPresentRegionsKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->swapchainCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- const VkPresentRegionKHR* check_pRegions;
- check_pRegions = (const VkPresentRegionKHR*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pRegions)
- {
- if (!(check_pRegions))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pRegions inconsistent between guest and host\n");
- }
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->swapchainCount; ++i)
- {
- unmarshal_VkPresentRegionKHR(vkStream, (VkPresentRegionKHR*)(forUnmarshaling->pRegions + i));
- }
- }
-}
-
-#endif
-#ifdef VK_KHR_descriptor_update_template
-#endif
-#ifdef VK_KHR_create_renderpass2
-void marshal_VkAttachmentDescription2KHR(
- VulkanStreamGuest* vkStream,
- const VkAttachmentDescription2KHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkAttachmentDescriptionFlags*)&forMarshaling->flags, sizeof(VkAttachmentDescriptionFlags));
- vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat));
- vkStream->write((VkSampleCountFlagBits*)&forMarshaling->samples, sizeof(VkSampleCountFlagBits));
- vkStream->write((VkAttachmentLoadOp*)&forMarshaling->loadOp, sizeof(VkAttachmentLoadOp));
- vkStream->write((VkAttachmentStoreOp*)&forMarshaling->storeOp, sizeof(VkAttachmentStoreOp));
- vkStream->write((VkAttachmentLoadOp*)&forMarshaling->stencilLoadOp, sizeof(VkAttachmentLoadOp));
- vkStream->write((VkAttachmentStoreOp*)&forMarshaling->stencilStoreOp, sizeof(VkAttachmentStoreOp));
- vkStream->write((VkImageLayout*)&forMarshaling->initialLayout, sizeof(VkImageLayout));
- vkStream->write((VkImageLayout*)&forMarshaling->finalLayout, sizeof(VkImageLayout));
-}
-
-void unmarshal_VkAttachmentDescription2KHR(
- VulkanStreamGuest* vkStream,
- VkAttachmentDescription2KHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkAttachmentDescriptionFlags*)&forUnmarshaling->flags, sizeof(VkAttachmentDescriptionFlags));
- vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat));
- vkStream->read((VkSampleCountFlagBits*)&forUnmarshaling->samples, sizeof(VkSampleCountFlagBits));
- vkStream->read((VkAttachmentLoadOp*)&forUnmarshaling->loadOp, sizeof(VkAttachmentLoadOp));
- vkStream->read((VkAttachmentStoreOp*)&forUnmarshaling->storeOp, sizeof(VkAttachmentStoreOp));
- vkStream->read((VkAttachmentLoadOp*)&forUnmarshaling->stencilLoadOp, sizeof(VkAttachmentLoadOp));
- vkStream->read((VkAttachmentStoreOp*)&forUnmarshaling->stencilStoreOp, sizeof(VkAttachmentStoreOp));
- vkStream->read((VkImageLayout*)&forUnmarshaling->initialLayout, sizeof(VkImageLayout));
- vkStream->read((VkImageLayout*)&forUnmarshaling->finalLayout, sizeof(VkImageLayout));
-}
-
-void marshal_VkAttachmentReference2KHR(
- VulkanStreamGuest* vkStream,
- const VkAttachmentReference2KHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->attachment, sizeof(uint32_t));
- vkStream->write((VkImageLayout*)&forMarshaling->layout, sizeof(VkImageLayout));
- vkStream->write((VkImageAspectFlags*)&forMarshaling->aspectMask, sizeof(VkImageAspectFlags));
-}
-
-void unmarshal_VkAttachmentReference2KHR(
- VulkanStreamGuest* vkStream,
- VkAttachmentReference2KHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->attachment, sizeof(uint32_t));
- vkStream->read((VkImageLayout*)&forUnmarshaling->layout, sizeof(VkImageLayout));
- vkStream->read((VkImageAspectFlags*)&forUnmarshaling->aspectMask, sizeof(VkImageAspectFlags));
-}
-
-void marshal_VkSubpassDescription2KHR(
- VulkanStreamGuest* vkStream,
- const VkSubpassDescription2KHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkSubpassDescriptionFlags*)&forMarshaling->flags, sizeof(VkSubpassDescriptionFlags));
- vkStream->write((VkPipelineBindPoint*)&forMarshaling->pipelineBindPoint, sizeof(VkPipelineBindPoint));
- vkStream->write((uint32_t*)&forMarshaling->viewMask, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->inputAttachmentCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->inputAttachmentCount; ++i)
- {
- marshal_VkAttachmentReference2KHR(vkStream, (const VkAttachmentReference2KHR*)(forMarshaling->pInputAttachments + i));
- }
- vkStream->write((uint32_t*)&forMarshaling->colorAttachmentCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->colorAttachmentCount; ++i)
- {
- marshal_VkAttachmentReference2KHR(vkStream, (const VkAttachmentReference2KHR*)(forMarshaling->pColorAttachments + i));
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_260 = (uint64_t)(uintptr_t)forMarshaling->pResolveAttachments;
- vkStream->putBe64(cgen_var_260);
- if (forMarshaling->pResolveAttachments)
- {
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->colorAttachmentCount; ++i)
- {
- marshal_VkAttachmentReference2KHR(vkStream, (const VkAttachmentReference2KHR*)(forMarshaling->pResolveAttachments + i));
- }
- }
- // WARNING PTR CHECK
- uint64_t cgen_var_261 = (uint64_t)(uintptr_t)forMarshaling->pDepthStencilAttachment;
- vkStream->putBe64(cgen_var_261);
- if (forMarshaling->pDepthStencilAttachment)
- {
- marshal_VkAttachmentReference2KHR(vkStream, (const VkAttachmentReference2KHR*)(forMarshaling->pDepthStencilAttachment));
- }
- vkStream->write((uint32_t*)&forMarshaling->preserveAttachmentCount, sizeof(uint32_t));
- vkStream->write((const uint32_t*)forMarshaling->pPreserveAttachments, forMarshaling->preserveAttachmentCount * sizeof(const uint32_t));
-}
-
-void unmarshal_VkSubpassDescription2KHR(
- VulkanStreamGuest* vkStream,
- VkSubpassDescription2KHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkSubpassDescriptionFlags*)&forUnmarshaling->flags, sizeof(VkSubpassDescriptionFlags));
- vkStream->read((VkPipelineBindPoint*)&forUnmarshaling->pipelineBindPoint, sizeof(VkPipelineBindPoint));
- vkStream->read((uint32_t*)&forUnmarshaling->viewMask, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->inputAttachmentCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->inputAttachmentCount; ++i)
- {
- unmarshal_VkAttachmentReference2KHR(vkStream, (VkAttachmentReference2KHR*)(forUnmarshaling->pInputAttachments + i));
- }
- vkStream->read((uint32_t*)&forUnmarshaling->colorAttachmentCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->colorAttachmentCount; ++i)
- {
- unmarshal_VkAttachmentReference2KHR(vkStream, (VkAttachmentReference2KHR*)(forUnmarshaling->pColorAttachments + i));
- }
- // WARNING PTR CHECK
- const VkAttachmentReference2KHR* check_pResolveAttachments;
- check_pResolveAttachments = (const VkAttachmentReference2KHR*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pResolveAttachments)
- {
- if (!(check_pResolveAttachments))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pResolveAttachments inconsistent between guest and host\n");
- }
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->colorAttachmentCount; ++i)
- {
- unmarshal_VkAttachmentReference2KHR(vkStream, (VkAttachmentReference2KHR*)(forUnmarshaling->pResolveAttachments + i));
- }
- }
- // WARNING PTR CHECK
- const VkAttachmentReference2KHR* check_pDepthStencilAttachment;
- check_pDepthStencilAttachment = (const VkAttachmentReference2KHR*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pDepthStencilAttachment)
- {
- if (!(check_pDepthStencilAttachment))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pDepthStencilAttachment inconsistent between guest and host\n");
- }
- unmarshal_VkAttachmentReference2KHR(vkStream, (VkAttachmentReference2KHR*)(forUnmarshaling->pDepthStencilAttachment));
- }
- vkStream->read((uint32_t*)&forUnmarshaling->preserveAttachmentCount, sizeof(uint32_t));
- vkStream->read((uint32_t*)forUnmarshaling->pPreserveAttachments, forUnmarshaling->preserveAttachmentCount * sizeof(const uint32_t));
-}
-
-void marshal_VkSubpassDependency2KHR(
- VulkanStreamGuest* vkStream,
- const VkSubpassDependency2KHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->srcSubpass, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->dstSubpass, sizeof(uint32_t));
- vkStream->write((VkPipelineStageFlags*)&forMarshaling->srcStageMask, sizeof(VkPipelineStageFlags));
- vkStream->write((VkPipelineStageFlags*)&forMarshaling->dstStageMask, sizeof(VkPipelineStageFlags));
- vkStream->write((VkAccessFlags*)&forMarshaling->srcAccessMask, sizeof(VkAccessFlags));
- vkStream->write((VkAccessFlags*)&forMarshaling->dstAccessMask, sizeof(VkAccessFlags));
- vkStream->write((VkDependencyFlags*)&forMarshaling->dependencyFlags, sizeof(VkDependencyFlags));
- vkStream->write((int32_t*)&forMarshaling->viewOffset, sizeof(int32_t));
-}
-
-void unmarshal_VkSubpassDependency2KHR(
- VulkanStreamGuest* vkStream,
- VkSubpassDependency2KHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->srcSubpass, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->dstSubpass, sizeof(uint32_t));
- vkStream->read((VkPipelineStageFlags*)&forUnmarshaling->srcStageMask, sizeof(VkPipelineStageFlags));
- vkStream->read((VkPipelineStageFlags*)&forUnmarshaling->dstStageMask, sizeof(VkPipelineStageFlags));
- vkStream->read((VkAccessFlags*)&forUnmarshaling->srcAccessMask, sizeof(VkAccessFlags));
- vkStream->read((VkAccessFlags*)&forUnmarshaling->dstAccessMask, sizeof(VkAccessFlags));
- vkStream->read((VkDependencyFlags*)&forUnmarshaling->dependencyFlags, sizeof(VkDependencyFlags));
- vkStream->read((int32_t*)&forUnmarshaling->viewOffset, sizeof(int32_t));
-}
-
-void marshal_VkRenderPassCreateInfo2KHR(
- VulkanStreamGuest* vkStream,
- const VkRenderPassCreateInfo2KHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkRenderPassCreateFlags*)&forMarshaling->flags, sizeof(VkRenderPassCreateFlags));
- vkStream->write((uint32_t*)&forMarshaling->attachmentCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->attachmentCount; ++i)
- {
- marshal_VkAttachmentDescription2KHR(vkStream, (const VkAttachmentDescription2KHR*)(forMarshaling->pAttachments + i));
- }
- vkStream->write((uint32_t*)&forMarshaling->subpassCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->subpassCount; ++i)
- {
- marshal_VkSubpassDescription2KHR(vkStream, (const VkSubpassDescription2KHR*)(forMarshaling->pSubpasses + i));
- }
- vkStream->write((uint32_t*)&forMarshaling->dependencyCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->dependencyCount; ++i)
- {
- marshal_VkSubpassDependency2KHR(vkStream, (const VkSubpassDependency2KHR*)(forMarshaling->pDependencies + i));
- }
- vkStream->write((uint32_t*)&forMarshaling->correlatedViewMaskCount, sizeof(uint32_t));
- vkStream->write((const uint32_t*)forMarshaling->pCorrelatedViewMasks, forMarshaling->correlatedViewMaskCount * sizeof(const uint32_t));
-}
-
-void unmarshal_VkRenderPassCreateInfo2KHR(
- VulkanStreamGuest* vkStream,
- VkRenderPassCreateInfo2KHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkRenderPassCreateFlags*)&forUnmarshaling->flags, sizeof(VkRenderPassCreateFlags));
- vkStream->read((uint32_t*)&forUnmarshaling->attachmentCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->attachmentCount; ++i)
- {
- unmarshal_VkAttachmentDescription2KHR(vkStream, (VkAttachmentDescription2KHR*)(forUnmarshaling->pAttachments + i));
- }
- vkStream->read((uint32_t*)&forUnmarshaling->subpassCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->subpassCount; ++i)
- {
- unmarshal_VkSubpassDescription2KHR(vkStream, (VkSubpassDescription2KHR*)(forUnmarshaling->pSubpasses + i));
- }
- vkStream->read((uint32_t*)&forUnmarshaling->dependencyCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->dependencyCount; ++i)
- {
- unmarshal_VkSubpassDependency2KHR(vkStream, (VkSubpassDependency2KHR*)(forUnmarshaling->pDependencies + i));
- }
- vkStream->read((uint32_t*)&forUnmarshaling->correlatedViewMaskCount, sizeof(uint32_t));
- vkStream->read((uint32_t*)forUnmarshaling->pCorrelatedViewMasks, forUnmarshaling->correlatedViewMaskCount * sizeof(const uint32_t));
-}
-
-void marshal_VkSubpassBeginInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkSubpassBeginInfoKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkSubpassContents*)&forMarshaling->contents, sizeof(VkSubpassContents));
-}
-
-void unmarshal_VkSubpassBeginInfoKHR(
- VulkanStreamGuest* vkStream,
- VkSubpassBeginInfoKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkSubpassContents*)&forUnmarshaling->contents, sizeof(VkSubpassContents));
-}
-
-void marshal_VkSubpassEndInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkSubpassEndInfoKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
-}
-
-void unmarshal_VkSubpassEndInfoKHR(
- VulkanStreamGuest* vkStream,
- VkSubpassEndInfoKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
-}
-
-#endif
-#ifdef VK_KHR_shared_presentable_image
-void marshal_VkSharedPresentSurfaceCapabilitiesKHR(
- VulkanStreamGuest* vkStream,
- const VkSharedPresentSurfaceCapabilitiesKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkImageUsageFlags*)&forMarshaling->sharedPresentSupportedUsageFlags, sizeof(VkImageUsageFlags));
-}
-
-void unmarshal_VkSharedPresentSurfaceCapabilitiesKHR(
- VulkanStreamGuest* vkStream,
- VkSharedPresentSurfaceCapabilitiesKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkImageUsageFlags*)&forUnmarshaling->sharedPresentSupportedUsageFlags, sizeof(VkImageUsageFlags));
-}
-
-#endif
-#ifdef VK_KHR_external_fence_capabilities
-#endif
-#ifdef VK_KHR_external_fence
-#endif
-#ifdef VK_KHR_external_fence_win32
-void marshal_VkImportFenceWin32HandleInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkImportFenceWin32HandleInfoKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- uint64_t cgen_var_264;
- vkStream->handleMapping()->mapHandles_VkFence_u64(&forMarshaling->fence, &cgen_var_264, 1);
- vkStream->write((uint64_t*)&cgen_var_264, 1 * 8);
- vkStream->write((VkFenceImportFlags*)&forMarshaling->flags, sizeof(VkFenceImportFlags));
- vkStream->write((VkExternalFenceHandleTypeFlagBits*)&forMarshaling->handleType, sizeof(VkExternalFenceHandleTypeFlagBits));
- vkStream->write((HANDLE*)&forMarshaling->handle, sizeof(HANDLE));
- vkStream->write((LPCWSTR*)&forMarshaling->name, sizeof(LPCWSTR));
-}
-
-void unmarshal_VkImportFenceWin32HandleInfoKHR(
- VulkanStreamGuest* vkStream,
- VkImportFenceWin32HandleInfoKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- uint64_t cgen_var_265;
- vkStream->read((uint64_t*)&cgen_var_265, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkFence(&cgen_var_265, (VkFence*)&forUnmarshaling->fence, 1);
- vkStream->read((VkFenceImportFlags*)&forUnmarshaling->flags, sizeof(VkFenceImportFlags));
- vkStream->read((VkExternalFenceHandleTypeFlagBits*)&forUnmarshaling->handleType, sizeof(VkExternalFenceHandleTypeFlagBits));
- vkStream->read((HANDLE*)&forUnmarshaling->handle, sizeof(HANDLE));
- vkStream->read((LPCWSTR*)&forUnmarshaling->name, sizeof(LPCWSTR));
-}
-
-void marshal_VkExportFenceWin32HandleInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkExportFenceWin32HandleInfoKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- // WARNING PTR CHECK
- uint64_t cgen_var_266 = (uint64_t)(uintptr_t)forMarshaling->pAttributes;
- vkStream->putBe64(cgen_var_266);
- if (forMarshaling->pAttributes)
- {
- vkStream->write((const SECURITY_ATTRIBUTES*)forMarshaling->pAttributes, sizeof(const SECURITY_ATTRIBUTES));
- }
- vkStream->write((DWORD*)&forMarshaling->dwAccess, sizeof(DWORD));
- vkStream->write((LPCWSTR*)&forMarshaling->name, sizeof(LPCWSTR));
-}
-
-void unmarshal_VkExportFenceWin32HandleInfoKHR(
- VulkanStreamGuest* vkStream,
- VkExportFenceWin32HandleInfoKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- // WARNING PTR CHECK
- const SECURITY_ATTRIBUTES* check_pAttributes;
- check_pAttributes = (const SECURITY_ATTRIBUTES*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pAttributes)
- {
- if (!(check_pAttributes))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pAttributes inconsistent between guest and host\n");
- }
- vkStream->read((SECURITY_ATTRIBUTES*)forUnmarshaling->pAttributes, sizeof(const SECURITY_ATTRIBUTES));
- }
- vkStream->read((DWORD*)&forUnmarshaling->dwAccess, sizeof(DWORD));
- vkStream->read((LPCWSTR*)&forUnmarshaling->name, sizeof(LPCWSTR));
-}
-
-void marshal_VkFenceGetWin32HandleInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkFenceGetWin32HandleInfoKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- uint64_t cgen_var_268;
- vkStream->handleMapping()->mapHandles_VkFence_u64(&forMarshaling->fence, &cgen_var_268, 1);
- vkStream->write((uint64_t*)&cgen_var_268, 1 * 8);
- vkStream->write((VkExternalFenceHandleTypeFlagBits*)&forMarshaling->handleType, sizeof(VkExternalFenceHandleTypeFlagBits));
-}
-
-void unmarshal_VkFenceGetWin32HandleInfoKHR(
- VulkanStreamGuest* vkStream,
- VkFenceGetWin32HandleInfoKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- uint64_t cgen_var_269;
- vkStream->read((uint64_t*)&cgen_var_269, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkFence(&cgen_var_269, (VkFence*)&forUnmarshaling->fence, 1);
- vkStream->read((VkExternalFenceHandleTypeFlagBits*)&forUnmarshaling->handleType, sizeof(VkExternalFenceHandleTypeFlagBits));
-}
-
-#endif
-#ifdef VK_KHR_external_fence_fd
-void marshal_VkImportFenceFdInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkImportFenceFdInfoKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- uint64_t cgen_var_270;
- vkStream->handleMapping()->mapHandles_VkFence_u64(&forMarshaling->fence, &cgen_var_270, 1);
- vkStream->write((uint64_t*)&cgen_var_270, 1 * 8);
- vkStream->write((VkFenceImportFlags*)&forMarshaling->flags, sizeof(VkFenceImportFlags));
- vkStream->write((VkExternalFenceHandleTypeFlagBits*)&forMarshaling->handleType, sizeof(VkExternalFenceHandleTypeFlagBits));
- vkStream->write((int*)&forMarshaling->fd, sizeof(int));
-}
-
-void unmarshal_VkImportFenceFdInfoKHR(
- VulkanStreamGuest* vkStream,
- VkImportFenceFdInfoKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- uint64_t cgen_var_271;
- vkStream->read((uint64_t*)&cgen_var_271, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkFence(&cgen_var_271, (VkFence*)&forUnmarshaling->fence, 1);
- vkStream->read((VkFenceImportFlags*)&forUnmarshaling->flags, sizeof(VkFenceImportFlags));
- vkStream->read((VkExternalFenceHandleTypeFlagBits*)&forUnmarshaling->handleType, sizeof(VkExternalFenceHandleTypeFlagBits));
- vkStream->read((int*)&forUnmarshaling->fd, sizeof(int));
-}
-
-void marshal_VkFenceGetFdInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkFenceGetFdInfoKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- uint64_t cgen_var_272;
- vkStream->handleMapping()->mapHandles_VkFence_u64(&forMarshaling->fence, &cgen_var_272, 1);
- vkStream->write((uint64_t*)&cgen_var_272, 1 * 8);
- vkStream->write((VkExternalFenceHandleTypeFlagBits*)&forMarshaling->handleType, sizeof(VkExternalFenceHandleTypeFlagBits));
-}
-
-void unmarshal_VkFenceGetFdInfoKHR(
- VulkanStreamGuest* vkStream,
- VkFenceGetFdInfoKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- uint64_t cgen_var_273;
- vkStream->read((uint64_t*)&cgen_var_273, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkFence(&cgen_var_273, (VkFence*)&forUnmarshaling->fence, 1);
- vkStream->read((VkExternalFenceHandleTypeFlagBits*)&forUnmarshaling->handleType, sizeof(VkExternalFenceHandleTypeFlagBits));
-}
-
-#endif
-#ifdef VK_KHR_maintenance2
-#endif
-#ifdef VK_KHR_get_surface_capabilities2
-void marshal_VkPhysicalDeviceSurfaceInfo2KHR(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceSurfaceInfo2KHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- uint64_t cgen_var_274;
- vkStream->handleMapping()->mapHandles_VkSurfaceKHR_u64(&forMarshaling->surface, &cgen_var_274, 1);
- vkStream->write((uint64_t*)&cgen_var_274, 1 * 8);
-}
-
-void unmarshal_VkPhysicalDeviceSurfaceInfo2KHR(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceSurfaceInfo2KHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- uint64_t cgen_var_275;
- vkStream->read((uint64_t*)&cgen_var_275, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkSurfaceKHR(&cgen_var_275, (VkSurfaceKHR*)&forUnmarshaling->surface, 1);
-}
-
-void marshal_VkSurfaceCapabilities2KHR(
- VulkanStreamGuest* vkStream,
- const VkSurfaceCapabilities2KHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- marshal_VkSurfaceCapabilitiesKHR(vkStream, (VkSurfaceCapabilitiesKHR*)(&forMarshaling->surfaceCapabilities));
-}
-
-void unmarshal_VkSurfaceCapabilities2KHR(
- VulkanStreamGuest* vkStream,
- VkSurfaceCapabilities2KHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- unmarshal_VkSurfaceCapabilitiesKHR(vkStream, (VkSurfaceCapabilitiesKHR*)(&forUnmarshaling->surfaceCapabilities));
-}
-
-void marshal_VkSurfaceFormat2KHR(
- VulkanStreamGuest* vkStream,
- const VkSurfaceFormat2KHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- marshal_VkSurfaceFormatKHR(vkStream, (VkSurfaceFormatKHR*)(&forMarshaling->surfaceFormat));
-}
-
-void unmarshal_VkSurfaceFormat2KHR(
- VulkanStreamGuest* vkStream,
- VkSurfaceFormat2KHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- unmarshal_VkSurfaceFormatKHR(vkStream, (VkSurfaceFormatKHR*)(&forUnmarshaling->surfaceFormat));
-}
-
-#endif
-#ifdef VK_KHR_variable_pointers
-#endif
-#ifdef VK_KHR_get_display_properties2
-void marshal_VkDisplayProperties2KHR(
- VulkanStreamGuest* vkStream,
- const VkDisplayProperties2KHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- marshal_VkDisplayPropertiesKHR(vkStream, (VkDisplayPropertiesKHR*)(&forMarshaling->displayProperties));
-}
-
-void unmarshal_VkDisplayProperties2KHR(
- VulkanStreamGuest* vkStream,
- VkDisplayProperties2KHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- unmarshal_VkDisplayPropertiesKHR(vkStream, (VkDisplayPropertiesKHR*)(&forUnmarshaling->displayProperties));
-}
-
-void marshal_VkDisplayPlaneProperties2KHR(
- VulkanStreamGuest* vkStream,
- const VkDisplayPlaneProperties2KHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- marshal_VkDisplayPlanePropertiesKHR(vkStream, (VkDisplayPlanePropertiesKHR*)(&forMarshaling->displayPlaneProperties));
-}
-
-void unmarshal_VkDisplayPlaneProperties2KHR(
- VulkanStreamGuest* vkStream,
- VkDisplayPlaneProperties2KHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- unmarshal_VkDisplayPlanePropertiesKHR(vkStream, (VkDisplayPlanePropertiesKHR*)(&forUnmarshaling->displayPlaneProperties));
-}
-
-void marshal_VkDisplayModeProperties2KHR(
- VulkanStreamGuest* vkStream,
- const VkDisplayModeProperties2KHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- marshal_VkDisplayModePropertiesKHR(vkStream, (VkDisplayModePropertiesKHR*)(&forMarshaling->displayModeProperties));
-}
-
-void unmarshal_VkDisplayModeProperties2KHR(
- VulkanStreamGuest* vkStream,
- VkDisplayModeProperties2KHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- unmarshal_VkDisplayModePropertiesKHR(vkStream, (VkDisplayModePropertiesKHR*)(&forUnmarshaling->displayModeProperties));
-}
-
-void marshal_VkDisplayPlaneInfo2KHR(
- VulkanStreamGuest* vkStream,
- const VkDisplayPlaneInfo2KHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- uint64_t cgen_var_276;
- vkStream->handleMapping()->mapHandles_VkDisplayModeKHR_u64(&forMarshaling->mode, &cgen_var_276, 1);
- vkStream->write((uint64_t*)&cgen_var_276, 1 * 8);
- vkStream->write((uint32_t*)&forMarshaling->planeIndex, sizeof(uint32_t));
-}
-
-void unmarshal_VkDisplayPlaneInfo2KHR(
- VulkanStreamGuest* vkStream,
- VkDisplayPlaneInfo2KHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- uint64_t cgen_var_277;
- vkStream->read((uint64_t*)&cgen_var_277, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkDisplayModeKHR(&cgen_var_277, (VkDisplayModeKHR*)&forUnmarshaling->mode, 1);
- vkStream->read((uint32_t*)&forUnmarshaling->planeIndex, sizeof(uint32_t));
-}
-
-void marshal_VkDisplayPlaneCapabilities2KHR(
- VulkanStreamGuest* vkStream,
- const VkDisplayPlaneCapabilities2KHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- marshal_VkDisplayPlaneCapabilitiesKHR(vkStream, (VkDisplayPlaneCapabilitiesKHR*)(&forMarshaling->capabilities));
-}
-
-void unmarshal_VkDisplayPlaneCapabilities2KHR(
- VulkanStreamGuest* vkStream,
- VkDisplayPlaneCapabilities2KHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- unmarshal_VkDisplayPlaneCapabilitiesKHR(vkStream, (VkDisplayPlaneCapabilitiesKHR*)(&forUnmarshaling->capabilities));
-}
-
-#endif
-#ifdef VK_KHR_dedicated_allocation
-#endif
-#ifdef VK_KHR_storage_buffer_storage_class
-#endif
-#ifdef VK_KHR_relaxed_block_layout
-#endif
-#ifdef VK_KHR_get_memory_requirements2
-#endif
-#ifdef VK_KHR_image_format_list
-void marshal_VkImageFormatListCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkImageFormatListCreateInfoKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->viewFormatCount, sizeof(uint32_t));
- vkStream->write((const VkFormat*)forMarshaling->pViewFormats, forMarshaling->viewFormatCount * sizeof(const VkFormat));
-}
-
-void unmarshal_VkImageFormatListCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- VkImageFormatListCreateInfoKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->viewFormatCount, sizeof(uint32_t));
- vkStream->read((VkFormat*)forUnmarshaling->pViewFormats, forUnmarshaling->viewFormatCount * sizeof(const VkFormat));
-}
-
-#endif
-#ifdef VK_KHR_sampler_ycbcr_conversion
-#endif
-#ifdef VK_KHR_bind_memory2
-#endif
-#ifdef VK_KHR_maintenance3
-#endif
-#ifdef VK_KHR_draw_indirect_count
-#endif
-#ifdef VK_KHR_8bit_storage
-void marshal_VkPhysicalDevice8BitStorageFeaturesKHR(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDevice8BitStorageFeaturesKHR* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkBool32*)&forMarshaling->storageBuffer8BitAccess, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->uniformAndStorageBuffer8BitAccess, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->storagePushConstant8, sizeof(VkBool32));
-}
-
-void unmarshal_VkPhysicalDevice8BitStorageFeaturesKHR(
- VulkanStreamGuest* vkStream,
- VkPhysicalDevice8BitStorageFeaturesKHR* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkBool32*)&forUnmarshaling->storageBuffer8BitAccess, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->uniformAndStorageBuffer8BitAccess, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->storagePushConstant8, sizeof(VkBool32));
-}
-
-#endif
-#ifdef VK_KHR_shader_float16_int8
-void marshal_VkPhysicalDeviceShaderFloat16Int8Features(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceShaderFloat16Int8Features* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkBool32*)&forMarshaling->shaderFloat16, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->shaderInt8, sizeof(VkBool32));
-}
-
-void unmarshal_VkPhysicalDeviceShaderFloat16Int8Features(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceShaderFloat16Int8Features* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkBool32*)&forUnmarshaling->shaderFloat16, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->shaderInt8, sizeof(VkBool32));
-}
-
-#endif
-#ifdef VK_ANDROID_native_buffer
-void marshal_VkNativeBufferANDROID(
- VulkanStreamGuest* vkStream,
- const VkNativeBufferANDROID* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- // WARNING PTR CHECK
- uint64_t cgen_var_278 = (uint64_t)(uintptr_t)forMarshaling->handle;
- vkStream->putBe64(cgen_var_278);
- if (forMarshaling->handle)
- {
- vkStream->write((const uint32_t*)forMarshaling->handle, sizeof(const uint32_t));
- }
- vkStream->write((int*)&forMarshaling->stride, sizeof(int));
- vkStream->write((int*)&forMarshaling->format, sizeof(int));
- vkStream->write((int*)&forMarshaling->usage, sizeof(int));
- vkStream->write((uint64_t*)&forMarshaling->consumer, sizeof(uint64_t));
- vkStream->write((uint64_t*)&forMarshaling->producer, sizeof(uint64_t));
-}
-
-void unmarshal_VkNativeBufferANDROID(
- VulkanStreamGuest* vkStream,
- VkNativeBufferANDROID* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- // WARNING PTR CHECK
- const uint32_t* check_handle;
- check_handle = (const uint32_t*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->handle)
- {
- if (!(check_handle))
- {
- fprintf(stderr, "fatal: forUnmarshaling->handle inconsistent between guest and host\n");
- }
- vkStream->read((uint32_t*)forUnmarshaling->handle, sizeof(const uint32_t));
- }
- vkStream->read((int*)&forUnmarshaling->stride, sizeof(int));
- vkStream->read((int*)&forUnmarshaling->format, sizeof(int));
- vkStream->read((int*)&forUnmarshaling->usage, sizeof(int));
- vkStream->read((uint64_t*)&forUnmarshaling->consumer, sizeof(uint64_t));
- vkStream->read((uint64_t*)&forUnmarshaling->producer, sizeof(uint64_t));
-}
-
-#endif
-#ifdef VK_EXT_debug_report
-void marshal_VkDebugReportCallbackCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkDebugReportCallbackCreateInfoEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkDebugReportFlagsEXT*)&forMarshaling->flags, sizeof(VkDebugReportFlagsEXT));
- uint64_t cgen_var_280 = (uint64_t)forMarshaling->pfnCallback;
- vkStream->putBe64(cgen_var_280);
- // WARNING PTR CHECK
- uint64_t cgen_var_281 = (uint64_t)(uintptr_t)forMarshaling->pUserData;
- vkStream->putBe64(cgen_var_281);
- if (forMarshaling->pUserData)
- {
- vkStream->write((void*)forMarshaling->pUserData, sizeof(uint8_t));
- }
-}
-
-void unmarshal_VkDebugReportCallbackCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- VkDebugReportCallbackCreateInfoEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkDebugReportFlagsEXT*)&forUnmarshaling->flags, sizeof(VkDebugReportFlagsEXT));
- forUnmarshaling->pfnCallback = (PFN_vkDebugReportCallbackEXT)vkStream->getBe64();
- // WARNING PTR CHECK
- void* check_pUserData;
- check_pUserData = (void*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pUserData)
- {
- if (!(check_pUserData))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pUserData inconsistent between guest and host\n");
- }
- vkStream->read((void*)forUnmarshaling->pUserData, sizeof(uint8_t));
- }
-}
-
-#endif
-#ifdef VK_NV_glsl_shader
-#endif
-#ifdef VK_EXT_depth_range_unrestricted
-#endif
-#ifdef VK_IMG_filter_cubic
-#endif
-#ifdef VK_AMD_rasterization_order
-void marshal_VkPipelineRasterizationStateRasterizationOrderAMD(
- VulkanStreamGuest* vkStream,
- const VkPipelineRasterizationStateRasterizationOrderAMD* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkRasterizationOrderAMD*)&forMarshaling->rasterizationOrder, sizeof(VkRasterizationOrderAMD));
-}
-
-void unmarshal_VkPipelineRasterizationStateRasterizationOrderAMD(
- VulkanStreamGuest* vkStream,
- VkPipelineRasterizationStateRasterizationOrderAMD* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkRasterizationOrderAMD*)&forUnmarshaling->rasterizationOrder, sizeof(VkRasterizationOrderAMD));
-}
-
-#endif
-#ifdef VK_AMD_shader_trinary_minmax
-#endif
-#ifdef VK_AMD_shader_explicit_vertex_parameter
-#endif
-#ifdef VK_EXT_debug_marker
-void marshal_VkDebugMarkerObjectNameInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkDebugMarkerObjectNameInfoEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkDebugReportObjectTypeEXT*)&forMarshaling->objectType, sizeof(VkDebugReportObjectTypeEXT));
- vkStream->write((uint64_t*)&forMarshaling->object, sizeof(uint64_t));
- vkStream->putString(forMarshaling->pObjectName);
-}
-
-void unmarshal_VkDebugMarkerObjectNameInfoEXT(
- VulkanStreamGuest* vkStream,
- VkDebugMarkerObjectNameInfoEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkDebugReportObjectTypeEXT*)&forUnmarshaling->objectType, sizeof(VkDebugReportObjectTypeEXT));
- vkStream->read((uint64_t*)&forUnmarshaling->object, sizeof(uint64_t));
- vkStream->loadStringInPlace((char**)&forUnmarshaling->pObjectName);
-}
-
-void marshal_VkDebugMarkerObjectTagInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkDebugMarkerObjectTagInfoEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkDebugReportObjectTypeEXT*)&forMarshaling->objectType, sizeof(VkDebugReportObjectTypeEXT));
- vkStream->write((uint64_t*)&forMarshaling->object, sizeof(uint64_t));
- vkStream->write((uint64_t*)&forMarshaling->tagName, sizeof(uint64_t));
- uint64_t cgen_var_284 = (uint64_t)forMarshaling->tagSize;
- vkStream->putBe64(cgen_var_284);
- vkStream->write((const void*)forMarshaling->pTag, forMarshaling->tagSize * sizeof(const uint8_t));
-}
-
-void unmarshal_VkDebugMarkerObjectTagInfoEXT(
- VulkanStreamGuest* vkStream,
- VkDebugMarkerObjectTagInfoEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkDebugReportObjectTypeEXT*)&forUnmarshaling->objectType, sizeof(VkDebugReportObjectTypeEXT));
- vkStream->read((uint64_t*)&forUnmarshaling->object, sizeof(uint64_t));
- vkStream->read((uint64_t*)&forUnmarshaling->tagName, sizeof(uint64_t));
- forUnmarshaling->tagSize = (size_t)vkStream->getBe64();
- vkStream->read((void*)forUnmarshaling->pTag, forUnmarshaling->tagSize * sizeof(const uint8_t));
-}
-
-void marshal_VkDebugMarkerMarkerInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkDebugMarkerMarkerInfoEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->putString(forMarshaling->pMarkerName);
- vkStream->write((float*)forMarshaling->color, 4 * sizeof(float));
-}
-
-void unmarshal_VkDebugMarkerMarkerInfoEXT(
- VulkanStreamGuest* vkStream,
- VkDebugMarkerMarkerInfoEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->loadStringInPlace((char**)&forUnmarshaling->pMarkerName);
- vkStream->read((float*)forUnmarshaling->color, 4 * sizeof(float));
-}
-
-#endif
-#ifdef VK_AMD_gcn_shader
-#endif
-#ifdef VK_NV_dedicated_allocation
-void marshal_VkDedicatedAllocationImageCreateInfoNV(
- VulkanStreamGuest* vkStream,
- const VkDedicatedAllocationImageCreateInfoNV* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkBool32*)&forMarshaling->dedicatedAllocation, sizeof(VkBool32));
-}
-
-void unmarshal_VkDedicatedAllocationImageCreateInfoNV(
- VulkanStreamGuest* vkStream,
- VkDedicatedAllocationImageCreateInfoNV* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkBool32*)&forUnmarshaling->dedicatedAllocation, sizeof(VkBool32));
-}
-
-void marshal_VkDedicatedAllocationBufferCreateInfoNV(
- VulkanStreamGuest* vkStream,
- const VkDedicatedAllocationBufferCreateInfoNV* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkBool32*)&forMarshaling->dedicatedAllocation, sizeof(VkBool32));
-}
-
-void unmarshal_VkDedicatedAllocationBufferCreateInfoNV(
- VulkanStreamGuest* vkStream,
- VkDedicatedAllocationBufferCreateInfoNV* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkBool32*)&forUnmarshaling->dedicatedAllocation, sizeof(VkBool32));
-}
-
-void marshal_VkDedicatedAllocationMemoryAllocateInfoNV(
- VulkanStreamGuest* vkStream,
- const VkDedicatedAllocationMemoryAllocateInfoNV* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- uint64_t cgen_var_286;
- vkStream->handleMapping()->mapHandles_VkImage_u64(&forMarshaling->image, &cgen_var_286, 1);
- vkStream->write((uint64_t*)&cgen_var_286, 1 * 8);
- uint64_t cgen_var_287;
- vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_287, 1);
- vkStream->write((uint64_t*)&cgen_var_287, 1 * 8);
-}
-
-void unmarshal_VkDedicatedAllocationMemoryAllocateInfoNV(
- VulkanStreamGuest* vkStream,
- VkDedicatedAllocationMemoryAllocateInfoNV* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- uint64_t cgen_var_288;
- vkStream->read((uint64_t*)&cgen_var_288, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkImage(&cgen_var_288, (VkImage*)&forUnmarshaling->image, 1);
- uint64_t cgen_var_289;
- vkStream->read((uint64_t*)&cgen_var_289, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_289, (VkBuffer*)&forUnmarshaling->buffer, 1);
-}
-
-#endif
-#ifdef VK_AMD_draw_indirect_count
-#endif
-#ifdef VK_AMD_negative_viewport_height
-#endif
-#ifdef VK_AMD_gpu_shader_half_float
-#endif
-#ifdef VK_AMD_shader_ballot
-#endif
-#ifdef VK_AMD_texture_gather_bias_lod
-void marshal_VkTextureLODGatherFormatPropertiesAMD(
- VulkanStreamGuest* vkStream,
- const VkTextureLODGatherFormatPropertiesAMD* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkBool32*)&forMarshaling->supportsTextureGatherLODBiasAMD, sizeof(VkBool32));
-}
-
-void unmarshal_VkTextureLODGatherFormatPropertiesAMD(
- VulkanStreamGuest* vkStream,
- VkTextureLODGatherFormatPropertiesAMD* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkBool32*)&forUnmarshaling->supportsTextureGatherLODBiasAMD, sizeof(VkBool32));
-}
-
-#endif
-#ifdef VK_AMD_shader_info
-void marshal_VkShaderResourceUsageAMD(
- VulkanStreamGuest* vkStream,
- const VkShaderResourceUsageAMD* forMarshaling)
-{
- vkStream->write((uint32_t*)&forMarshaling->numUsedVgprs, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->numUsedSgprs, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->ldsSizePerLocalWorkGroup, sizeof(uint32_t));
- uint64_t cgen_var_290 = (uint64_t)forMarshaling->ldsUsageSizeInBytes;
- vkStream->putBe64(cgen_var_290);
- uint64_t cgen_var_291 = (uint64_t)forMarshaling->scratchMemUsageInBytes;
- vkStream->putBe64(cgen_var_291);
-}
-
-void unmarshal_VkShaderResourceUsageAMD(
- VulkanStreamGuest* vkStream,
- VkShaderResourceUsageAMD* forUnmarshaling)
-{
- vkStream->read((uint32_t*)&forUnmarshaling->numUsedVgprs, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->numUsedSgprs, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->ldsSizePerLocalWorkGroup, sizeof(uint32_t));
- forUnmarshaling->ldsUsageSizeInBytes = (size_t)vkStream->getBe64();
- forUnmarshaling->scratchMemUsageInBytes = (size_t)vkStream->getBe64();
-}
-
-void marshal_VkShaderStatisticsInfoAMD(
- VulkanStreamGuest* vkStream,
- const VkShaderStatisticsInfoAMD* forMarshaling)
-{
- vkStream->write((VkShaderStageFlags*)&forMarshaling->shaderStageMask, sizeof(VkShaderStageFlags));
- marshal_VkShaderResourceUsageAMD(vkStream, (VkShaderResourceUsageAMD*)(&forMarshaling->resourceUsage));
- vkStream->write((uint32_t*)&forMarshaling->numPhysicalVgprs, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->numPhysicalSgprs, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->numAvailableVgprs, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->numAvailableSgprs, sizeof(uint32_t));
- vkStream->write((uint32_t*)forMarshaling->computeWorkGroupSize, 3 * sizeof(uint32_t));
-}
-
-void unmarshal_VkShaderStatisticsInfoAMD(
- VulkanStreamGuest* vkStream,
- VkShaderStatisticsInfoAMD* forUnmarshaling)
-{
- vkStream->read((VkShaderStageFlags*)&forUnmarshaling->shaderStageMask, sizeof(VkShaderStageFlags));
- unmarshal_VkShaderResourceUsageAMD(vkStream, (VkShaderResourceUsageAMD*)(&forUnmarshaling->resourceUsage));
- vkStream->read((uint32_t*)&forUnmarshaling->numPhysicalVgprs, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->numPhysicalSgprs, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->numAvailableVgprs, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->numAvailableSgprs, sizeof(uint32_t));
- vkStream->read((uint32_t*)forUnmarshaling->computeWorkGroupSize, 3 * sizeof(uint32_t));
-}
-
-#endif
-#ifdef VK_AMD_shader_image_load_store_lod
-#endif
-#ifdef VK_IMG_format_pvrtc
-#endif
-#ifdef VK_NV_external_memory_capabilities
-void marshal_VkExternalImageFormatPropertiesNV(
- VulkanStreamGuest* vkStream,
- const VkExternalImageFormatPropertiesNV* forMarshaling)
-{
- marshal_VkImageFormatProperties(vkStream, (VkImageFormatProperties*)(&forMarshaling->imageFormatProperties));
- vkStream->write((VkExternalMemoryFeatureFlagsNV*)&forMarshaling->externalMemoryFeatures, sizeof(VkExternalMemoryFeatureFlagsNV));
- vkStream->write((VkExternalMemoryHandleTypeFlagsNV*)&forMarshaling->exportFromImportedHandleTypes, sizeof(VkExternalMemoryHandleTypeFlagsNV));
- vkStream->write((VkExternalMemoryHandleTypeFlagsNV*)&forMarshaling->compatibleHandleTypes, sizeof(VkExternalMemoryHandleTypeFlagsNV));
-}
-
-void unmarshal_VkExternalImageFormatPropertiesNV(
- VulkanStreamGuest* vkStream,
- VkExternalImageFormatPropertiesNV* forUnmarshaling)
-{
- unmarshal_VkImageFormatProperties(vkStream, (VkImageFormatProperties*)(&forUnmarshaling->imageFormatProperties));
- vkStream->read((VkExternalMemoryFeatureFlagsNV*)&forUnmarshaling->externalMemoryFeatures, sizeof(VkExternalMemoryFeatureFlagsNV));
- vkStream->read((VkExternalMemoryHandleTypeFlagsNV*)&forUnmarshaling->exportFromImportedHandleTypes, sizeof(VkExternalMemoryHandleTypeFlagsNV));
- vkStream->read((VkExternalMemoryHandleTypeFlagsNV*)&forUnmarshaling->compatibleHandleTypes, sizeof(VkExternalMemoryHandleTypeFlagsNV));
-}
-
-#endif
-#ifdef VK_NV_external_memory
-void marshal_VkExternalMemoryImageCreateInfoNV(
- VulkanStreamGuest* vkStream,
- const VkExternalMemoryImageCreateInfoNV* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkExternalMemoryHandleTypeFlagsNV*)&forMarshaling->handleTypes, sizeof(VkExternalMemoryHandleTypeFlagsNV));
-}
-
-void unmarshal_VkExternalMemoryImageCreateInfoNV(
- VulkanStreamGuest* vkStream,
- VkExternalMemoryImageCreateInfoNV* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkExternalMemoryHandleTypeFlagsNV*)&forUnmarshaling->handleTypes, sizeof(VkExternalMemoryHandleTypeFlagsNV));
-}
-
-void marshal_VkExportMemoryAllocateInfoNV(
- VulkanStreamGuest* vkStream,
- const VkExportMemoryAllocateInfoNV* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkExternalMemoryHandleTypeFlagsNV*)&forMarshaling->handleTypes, sizeof(VkExternalMemoryHandleTypeFlagsNV));
-}
-
-void unmarshal_VkExportMemoryAllocateInfoNV(
- VulkanStreamGuest* vkStream,
- VkExportMemoryAllocateInfoNV* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkExternalMemoryHandleTypeFlagsNV*)&forUnmarshaling->handleTypes, sizeof(VkExternalMemoryHandleTypeFlagsNV));
-}
-
-#endif
-#ifdef VK_NV_external_memory_win32
-void marshal_VkImportMemoryWin32HandleInfoNV(
- VulkanStreamGuest* vkStream,
- const VkImportMemoryWin32HandleInfoNV* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkExternalMemoryHandleTypeFlagsNV*)&forMarshaling->handleType, sizeof(VkExternalMemoryHandleTypeFlagsNV));
- vkStream->write((HANDLE*)&forMarshaling->handle, sizeof(HANDLE));
-}
-
-void unmarshal_VkImportMemoryWin32HandleInfoNV(
- VulkanStreamGuest* vkStream,
- VkImportMemoryWin32HandleInfoNV* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkExternalMemoryHandleTypeFlagsNV*)&forUnmarshaling->handleType, sizeof(VkExternalMemoryHandleTypeFlagsNV));
- vkStream->read((HANDLE*)&forUnmarshaling->handle, sizeof(HANDLE));
-}
-
-void marshal_VkExportMemoryWin32HandleInfoNV(
- VulkanStreamGuest* vkStream,
- const VkExportMemoryWin32HandleInfoNV* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- // WARNING PTR CHECK
- uint64_t cgen_var_294 = (uint64_t)(uintptr_t)forMarshaling->pAttributes;
- vkStream->putBe64(cgen_var_294);
- if (forMarshaling->pAttributes)
- {
- vkStream->write((const SECURITY_ATTRIBUTES*)forMarshaling->pAttributes, sizeof(const SECURITY_ATTRIBUTES));
- }
- vkStream->write((DWORD*)&forMarshaling->dwAccess, sizeof(DWORD));
-}
-
-void unmarshal_VkExportMemoryWin32HandleInfoNV(
- VulkanStreamGuest* vkStream,
- VkExportMemoryWin32HandleInfoNV* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- // WARNING PTR CHECK
- const SECURITY_ATTRIBUTES* check_pAttributes;
- check_pAttributes = (const SECURITY_ATTRIBUTES*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pAttributes)
- {
- if (!(check_pAttributes))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pAttributes inconsistent between guest and host\n");
- }
- vkStream->read((SECURITY_ATTRIBUTES*)forUnmarshaling->pAttributes, sizeof(const SECURITY_ATTRIBUTES));
- }
- vkStream->read((DWORD*)&forUnmarshaling->dwAccess, sizeof(DWORD));
-}
-
-#endif
-#ifdef VK_NV_win32_keyed_mutex
-void marshal_VkWin32KeyedMutexAcquireReleaseInfoNV(
- VulkanStreamGuest* vkStream,
- const VkWin32KeyedMutexAcquireReleaseInfoNV* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->acquireCount, sizeof(uint32_t));
- if (forMarshaling->acquireCount)
- {
- uint64_t* cgen_var_296;
- vkStream->alloc((void**)&cgen_var_296, forMarshaling->acquireCount * 8);
- vkStream->handleMapping()->mapHandles_VkDeviceMemory_u64(forMarshaling->pAcquireSyncs, cgen_var_296, forMarshaling->acquireCount);
- vkStream->write((uint64_t*)cgen_var_296, forMarshaling->acquireCount * 8);
- }
- vkStream->write((const uint64_t*)forMarshaling->pAcquireKeys, forMarshaling->acquireCount * sizeof(const uint64_t));
- vkStream->write((const uint32_t*)forMarshaling->pAcquireTimeoutMilliseconds, forMarshaling->acquireCount * sizeof(const uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->releaseCount, sizeof(uint32_t));
- if (forMarshaling->releaseCount)
- {
- uint64_t* cgen_var_297;
- vkStream->alloc((void**)&cgen_var_297, forMarshaling->releaseCount * 8);
- vkStream->handleMapping()->mapHandles_VkDeviceMemory_u64(forMarshaling->pReleaseSyncs, cgen_var_297, forMarshaling->releaseCount);
- vkStream->write((uint64_t*)cgen_var_297, forMarshaling->releaseCount * 8);
- }
- vkStream->write((const uint64_t*)forMarshaling->pReleaseKeys, forMarshaling->releaseCount * sizeof(const uint64_t));
-}
-
-void unmarshal_VkWin32KeyedMutexAcquireReleaseInfoNV(
- VulkanStreamGuest* vkStream,
- VkWin32KeyedMutexAcquireReleaseInfoNV* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->acquireCount, sizeof(uint32_t));
- if (forUnmarshaling->acquireCount)
- {
- uint64_t* cgen_var_298;
- vkStream->alloc((void**)&cgen_var_298, forUnmarshaling->acquireCount * 8);
- vkStream->read((uint64_t*)cgen_var_298, forUnmarshaling->acquireCount * 8);
- vkStream->handleMapping()->mapHandles_u64_VkDeviceMemory(cgen_var_298, (VkDeviceMemory*)forUnmarshaling->pAcquireSyncs, forUnmarshaling->acquireCount);
- }
- vkStream->read((uint64_t*)forUnmarshaling->pAcquireKeys, forUnmarshaling->acquireCount * sizeof(const uint64_t));
- vkStream->read((uint32_t*)forUnmarshaling->pAcquireTimeoutMilliseconds, forUnmarshaling->acquireCount * sizeof(const uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->releaseCount, sizeof(uint32_t));
- if (forUnmarshaling->releaseCount)
- {
- uint64_t* cgen_var_299;
- vkStream->alloc((void**)&cgen_var_299, forUnmarshaling->releaseCount * 8);
- vkStream->read((uint64_t*)cgen_var_299, forUnmarshaling->releaseCount * 8);
- vkStream->handleMapping()->mapHandles_u64_VkDeviceMemory(cgen_var_299, (VkDeviceMemory*)forUnmarshaling->pReleaseSyncs, forUnmarshaling->releaseCount);
- }
- vkStream->read((uint64_t*)forUnmarshaling->pReleaseKeys, forUnmarshaling->releaseCount * sizeof(const uint64_t));
-}
-
-#endif
-#ifdef VK_EXT_validation_flags
-void marshal_VkValidationFlagsEXT(
- VulkanStreamGuest* vkStream,
- const VkValidationFlagsEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->disabledValidationCheckCount, sizeof(uint32_t));
- vkStream->write((const VkValidationCheckEXT*)forMarshaling->pDisabledValidationChecks, forMarshaling->disabledValidationCheckCount * sizeof(const VkValidationCheckEXT));
-}
-
-void unmarshal_VkValidationFlagsEXT(
- VulkanStreamGuest* vkStream,
- VkValidationFlagsEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->disabledValidationCheckCount, sizeof(uint32_t));
- vkStream->read((VkValidationCheckEXT*)forUnmarshaling->pDisabledValidationChecks, forUnmarshaling->disabledValidationCheckCount * sizeof(const VkValidationCheckEXT));
-}
-
-#endif
-#ifdef VK_NN_vi_surface
-void marshal_VkViSurfaceCreateInfoNN(
- VulkanStreamGuest* vkStream,
- const VkViSurfaceCreateInfoNN* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkViSurfaceCreateFlagsNN*)&forMarshaling->flags, sizeof(VkViSurfaceCreateFlagsNN));
- // WARNING PTR CHECK
- uint64_t cgen_var_300 = (uint64_t)(uintptr_t)forMarshaling->window;
- vkStream->putBe64(cgen_var_300);
- if (forMarshaling->window)
- {
- vkStream->write((void*)forMarshaling->window, sizeof(uint8_t));
- }
-}
-
-void unmarshal_VkViSurfaceCreateInfoNN(
- VulkanStreamGuest* vkStream,
- VkViSurfaceCreateInfoNN* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkViSurfaceCreateFlagsNN*)&forUnmarshaling->flags, sizeof(VkViSurfaceCreateFlagsNN));
- // WARNING PTR CHECK
- void* check_window;
- check_window = (void*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->window)
- {
- if (!(check_window))
- {
- fprintf(stderr, "fatal: forUnmarshaling->window inconsistent between guest and host\n");
- }
- vkStream->read((void*)forUnmarshaling->window, sizeof(uint8_t));
- }
-}
-
-#endif
-#ifdef VK_EXT_shader_subgroup_ballot
-#endif
-#ifdef VK_EXT_shader_subgroup_vote
-#endif
-#ifdef VK_EXT_conditional_rendering
-void marshal_VkConditionalRenderingBeginInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkConditionalRenderingBeginInfoEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- uint64_t cgen_var_302;
- vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_302, 1);
- vkStream->write((uint64_t*)&cgen_var_302, 1 * 8);
- vkStream->write((VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
- vkStream->write((VkConditionalRenderingFlagsEXT*)&forMarshaling->flags, sizeof(VkConditionalRenderingFlagsEXT));
-}
-
-void unmarshal_VkConditionalRenderingBeginInfoEXT(
- VulkanStreamGuest* vkStream,
- VkConditionalRenderingBeginInfoEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- uint64_t cgen_var_303;
- vkStream->read((uint64_t*)&cgen_var_303, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_303, (VkBuffer*)&forUnmarshaling->buffer, 1);
- vkStream->read((VkDeviceSize*)&forUnmarshaling->offset, sizeof(VkDeviceSize));
- vkStream->read((VkConditionalRenderingFlagsEXT*)&forUnmarshaling->flags, sizeof(VkConditionalRenderingFlagsEXT));
-}
-
-void marshal_VkPhysicalDeviceConditionalRenderingFeaturesEXT(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceConditionalRenderingFeaturesEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkBool32*)&forMarshaling->conditionalRendering, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->inheritedConditionalRendering, sizeof(VkBool32));
-}
-
-void unmarshal_VkPhysicalDeviceConditionalRenderingFeaturesEXT(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceConditionalRenderingFeaturesEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkBool32*)&forUnmarshaling->conditionalRendering, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->inheritedConditionalRendering, sizeof(VkBool32));
-}
-
-void marshal_VkCommandBufferInheritanceConditionalRenderingInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkCommandBufferInheritanceConditionalRenderingInfoEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkBool32*)&forMarshaling->conditionalRenderingEnable, sizeof(VkBool32));
-}
-
-void unmarshal_VkCommandBufferInheritanceConditionalRenderingInfoEXT(
- VulkanStreamGuest* vkStream,
- VkCommandBufferInheritanceConditionalRenderingInfoEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkBool32*)&forUnmarshaling->conditionalRenderingEnable, sizeof(VkBool32));
-}
-
-#endif
-#ifdef VK_NVX_device_generated_commands
-void marshal_VkDeviceGeneratedCommandsFeaturesNVX(
- VulkanStreamGuest* vkStream,
- const VkDeviceGeneratedCommandsFeaturesNVX* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkBool32*)&forMarshaling->computeBindingPointSupport, sizeof(VkBool32));
-}
-
-void unmarshal_VkDeviceGeneratedCommandsFeaturesNVX(
- VulkanStreamGuest* vkStream,
- VkDeviceGeneratedCommandsFeaturesNVX* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkBool32*)&forUnmarshaling->computeBindingPointSupport, sizeof(VkBool32));
-}
-
-void marshal_VkDeviceGeneratedCommandsLimitsNVX(
- VulkanStreamGuest* vkStream,
- const VkDeviceGeneratedCommandsLimitsNVX* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->maxIndirectCommandsLayoutTokenCount, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxObjectEntryCounts, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->minSequenceCountBufferOffsetAlignment, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->minSequenceIndexBufferOffsetAlignment, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->minCommandsTokenBufferOffsetAlignment, sizeof(uint32_t));
-}
-
-void unmarshal_VkDeviceGeneratedCommandsLimitsNVX(
- VulkanStreamGuest* vkStream,
- VkDeviceGeneratedCommandsLimitsNVX* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->maxIndirectCommandsLayoutTokenCount, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxObjectEntryCounts, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->minSequenceCountBufferOffsetAlignment, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->minSequenceIndexBufferOffsetAlignment, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->minCommandsTokenBufferOffsetAlignment, sizeof(uint32_t));
-}
-
-void marshal_VkIndirectCommandsTokenNVX(
- VulkanStreamGuest* vkStream,
- const VkIndirectCommandsTokenNVX* forMarshaling)
-{
- vkStream->write((VkIndirectCommandsTokenTypeNVX*)&forMarshaling->tokenType, sizeof(VkIndirectCommandsTokenTypeNVX));
- uint64_t cgen_var_304;
- vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_304, 1);
- vkStream->write((uint64_t*)&cgen_var_304, 1 * 8);
- vkStream->write((VkDeviceSize*)&forMarshaling->offset, sizeof(VkDeviceSize));
-}
-
-void unmarshal_VkIndirectCommandsTokenNVX(
- VulkanStreamGuest* vkStream,
- VkIndirectCommandsTokenNVX* forUnmarshaling)
-{
- vkStream->read((VkIndirectCommandsTokenTypeNVX*)&forUnmarshaling->tokenType, sizeof(VkIndirectCommandsTokenTypeNVX));
- uint64_t cgen_var_305;
- vkStream->read((uint64_t*)&cgen_var_305, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_305, (VkBuffer*)&forUnmarshaling->buffer, 1);
- vkStream->read((VkDeviceSize*)&forUnmarshaling->offset, sizeof(VkDeviceSize));
-}
-
-void marshal_VkIndirectCommandsLayoutTokenNVX(
- VulkanStreamGuest* vkStream,
- const VkIndirectCommandsLayoutTokenNVX* forMarshaling)
-{
- vkStream->write((VkIndirectCommandsTokenTypeNVX*)&forMarshaling->tokenType, sizeof(VkIndirectCommandsTokenTypeNVX));
- vkStream->write((uint32_t*)&forMarshaling->bindingUnit, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->dynamicCount, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->divisor, sizeof(uint32_t));
-}
-
-void unmarshal_VkIndirectCommandsLayoutTokenNVX(
- VulkanStreamGuest* vkStream,
- VkIndirectCommandsLayoutTokenNVX* forUnmarshaling)
-{
- vkStream->read((VkIndirectCommandsTokenTypeNVX*)&forUnmarshaling->tokenType, sizeof(VkIndirectCommandsTokenTypeNVX));
- vkStream->read((uint32_t*)&forUnmarshaling->bindingUnit, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->dynamicCount, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->divisor, sizeof(uint32_t));
-}
-
-void marshal_VkIndirectCommandsLayoutCreateInfoNVX(
- VulkanStreamGuest* vkStream,
- const VkIndirectCommandsLayoutCreateInfoNVX* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkPipelineBindPoint*)&forMarshaling->pipelineBindPoint, sizeof(VkPipelineBindPoint));
- vkStream->write((VkIndirectCommandsLayoutUsageFlagsNVX*)&forMarshaling->flags, sizeof(VkIndirectCommandsLayoutUsageFlagsNVX));
- vkStream->write((uint32_t*)&forMarshaling->tokenCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->tokenCount; ++i)
- {
- marshal_VkIndirectCommandsLayoutTokenNVX(vkStream, (const VkIndirectCommandsLayoutTokenNVX*)(forMarshaling->pTokens + i));
- }
-}
-
-void unmarshal_VkIndirectCommandsLayoutCreateInfoNVX(
- VulkanStreamGuest* vkStream,
- VkIndirectCommandsLayoutCreateInfoNVX* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkPipelineBindPoint*)&forUnmarshaling->pipelineBindPoint, sizeof(VkPipelineBindPoint));
- vkStream->read((VkIndirectCommandsLayoutUsageFlagsNVX*)&forUnmarshaling->flags, sizeof(VkIndirectCommandsLayoutUsageFlagsNVX));
- vkStream->read((uint32_t*)&forUnmarshaling->tokenCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->tokenCount; ++i)
- {
- unmarshal_VkIndirectCommandsLayoutTokenNVX(vkStream, (VkIndirectCommandsLayoutTokenNVX*)(forUnmarshaling->pTokens + i));
- }
-}
-
-void marshal_VkCmdProcessCommandsInfoNVX(
- VulkanStreamGuest* vkStream,
- const VkCmdProcessCommandsInfoNVX* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- uint64_t cgen_var_306;
- vkStream->handleMapping()->mapHandles_VkObjectTableNVX_u64(&forMarshaling->objectTable, &cgen_var_306, 1);
- vkStream->write((uint64_t*)&cgen_var_306, 1 * 8);
- uint64_t cgen_var_307;
- vkStream->handleMapping()->mapHandles_VkIndirectCommandsLayoutNVX_u64(&forMarshaling->indirectCommandsLayout, &cgen_var_307, 1);
- vkStream->write((uint64_t*)&cgen_var_307, 1 * 8);
- vkStream->write((uint32_t*)&forMarshaling->indirectCommandsTokenCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->indirectCommandsTokenCount; ++i)
- {
- marshal_VkIndirectCommandsTokenNVX(vkStream, (const VkIndirectCommandsTokenNVX*)(forMarshaling->pIndirectCommandsTokens + i));
- }
- vkStream->write((uint32_t*)&forMarshaling->maxSequencesCount, sizeof(uint32_t));
- uint64_t cgen_var_308;
- vkStream->handleMapping()->mapHandles_VkCommandBuffer_u64(&forMarshaling->targetCommandBuffer, &cgen_var_308, 1);
- vkStream->write((uint64_t*)&cgen_var_308, 1 * 8);
- uint64_t cgen_var_309;
- vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->sequencesCountBuffer, &cgen_var_309, 1);
- vkStream->write((uint64_t*)&cgen_var_309, 1 * 8);
- vkStream->write((VkDeviceSize*)&forMarshaling->sequencesCountOffset, sizeof(VkDeviceSize));
- uint64_t cgen_var_310;
- vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->sequencesIndexBuffer, &cgen_var_310, 1);
- vkStream->write((uint64_t*)&cgen_var_310, 1 * 8);
- vkStream->write((VkDeviceSize*)&forMarshaling->sequencesIndexOffset, sizeof(VkDeviceSize));
-}
-
-void unmarshal_VkCmdProcessCommandsInfoNVX(
- VulkanStreamGuest* vkStream,
- VkCmdProcessCommandsInfoNVX* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- uint64_t cgen_var_311;
- vkStream->read((uint64_t*)&cgen_var_311, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkObjectTableNVX(&cgen_var_311, (VkObjectTableNVX*)&forUnmarshaling->objectTable, 1);
- uint64_t cgen_var_312;
- vkStream->read((uint64_t*)&cgen_var_312, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkIndirectCommandsLayoutNVX(&cgen_var_312, (VkIndirectCommandsLayoutNVX*)&forUnmarshaling->indirectCommandsLayout, 1);
- vkStream->read((uint32_t*)&forUnmarshaling->indirectCommandsTokenCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->indirectCommandsTokenCount; ++i)
- {
- unmarshal_VkIndirectCommandsTokenNVX(vkStream, (VkIndirectCommandsTokenNVX*)(forUnmarshaling->pIndirectCommandsTokens + i));
- }
- vkStream->read((uint32_t*)&forUnmarshaling->maxSequencesCount, sizeof(uint32_t));
- uint64_t cgen_var_313;
- vkStream->read((uint64_t*)&cgen_var_313, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkCommandBuffer(&cgen_var_313, (VkCommandBuffer*)&forUnmarshaling->targetCommandBuffer, 1);
- uint64_t cgen_var_314;
- vkStream->read((uint64_t*)&cgen_var_314, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_314, (VkBuffer*)&forUnmarshaling->sequencesCountBuffer, 1);
- vkStream->read((VkDeviceSize*)&forUnmarshaling->sequencesCountOffset, sizeof(VkDeviceSize));
- uint64_t cgen_var_315;
- vkStream->read((uint64_t*)&cgen_var_315, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_315, (VkBuffer*)&forUnmarshaling->sequencesIndexBuffer, 1);
- vkStream->read((VkDeviceSize*)&forUnmarshaling->sequencesIndexOffset, sizeof(VkDeviceSize));
-}
-
-void marshal_VkCmdReserveSpaceForCommandsInfoNVX(
- VulkanStreamGuest* vkStream,
- const VkCmdReserveSpaceForCommandsInfoNVX* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- uint64_t cgen_var_316;
- vkStream->handleMapping()->mapHandles_VkObjectTableNVX_u64(&forMarshaling->objectTable, &cgen_var_316, 1);
- vkStream->write((uint64_t*)&cgen_var_316, 1 * 8);
- uint64_t cgen_var_317;
- vkStream->handleMapping()->mapHandles_VkIndirectCommandsLayoutNVX_u64(&forMarshaling->indirectCommandsLayout, &cgen_var_317, 1);
- vkStream->write((uint64_t*)&cgen_var_317, 1 * 8);
- vkStream->write((uint32_t*)&forMarshaling->maxSequencesCount, sizeof(uint32_t));
-}
-
-void unmarshal_VkCmdReserveSpaceForCommandsInfoNVX(
- VulkanStreamGuest* vkStream,
- VkCmdReserveSpaceForCommandsInfoNVX* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- uint64_t cgen_var_318;
- vkStream->read((uint64_t*)&cgen_var_318, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkObjectTableNVX(&cgen_var_318, (VkObjectTableNVX*)&forUnmarshaling->objectTable, 1);
- uint64_t cgen_var_319;
- vkStream->read((uint64_t*)&cgen_var_319, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkIndirectCommandsLayoutNVX(&cgen_var_319, (VkIndirectCommandsLayoutNVX*)&forUnmarshaling->indirectCommandsLayout, 1);
- vkStream->read((uint32_t*)&forUnmarshaling->maxSequencesCount, sizeof(uint32_t));
-}
-
-void marshal_VkObjectTableCreateInfoNVX(
- VulkanStreamGuest* vkStream,
- const VkObjectTableCreateInfoNVX* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->objectCount, sizeof(uint32_t));
- vkStream->write((const VkObjectEntryTypeNVX*)forMarshaling->pObjectEntryTypes, forMarshaling->objectCount * sizeof(const VkObjectEntryTypeNVX));
- vkStream->write((const uint32_t*)forMarshaling->pObjectEntryCounts, forMarshaling->objectCount * sizeof(const uint32_t));
- vkStream->write((const VkObjectEntryUsageFlagsNVX*)forMarshaling->pObjectEntryUsageFlags, forMarshaling->objectCount * sizeof(const VkObjectEntryUsageFlagsNVX));
- vkStream->write((uint32_t*)&forMarshaling->maxUniformBuffersPerDescriptor, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxStorageBuffersPerDescriptor, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxStorageImagesPerDescriptor, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxSampledImagesPerDescriptor, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxPipelineLayouts, sizeof(uint32_t));
-}
-
-void unmarshal_VkObjectTableCreateInfoNVX(
- VulkanStreamGuest* vkStream,
- VkObjectTableCreateInfoNVX* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->objectCount, sizeof(uint32_t));
- vkStream->read((VkObjectEntryTypeNVX*)forUnmarshaling->pObjectEntryTypes, forUnmarshaling->objectCount * sizeof(const VkObjectEntryTypeNVX));
- vkStream->read((uint32_t*)forUnmarshaling->pObjectEntryCounts, forUnmarshaling->objectCount * sizeof(const uint32_t));
- vkStream->read((VkObjectEntryUsageFlagsNVX*)forUnmarshaling->pObjectEntryUsageFlags, forUnmarshaling->objectCount * sizeof(const VkObjectEntryUsageFlagsNVX));
- vkStream->read((uint32_t*)&forUnmarshaling->maxUniformBuffersPerDescriptor, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxStorageBuffersPerDescriptor, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxStorageImagesPerDescriptor, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxSampledImagesPerDescriptor, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxPipelineLayouts, sizeof(uint32_t));
-}
-
-void marshal_VkObjectTableEntryNVX(
- VulkanStreamGuest* vkStream,
- const VkObjectTableEntryNVX* forMarshaling)
-{
- vkStream->write((VkObjectEntryTypeNVX*)&forMarshaling->type, sizeof(VkObjectEntryTypeNVX));
- vkStream->write((VkObjectEntryUsageFlagsNVX*)&forMarshaling->flags, sizeof(VkObjectEntryUsageFlagsNVX));
-}
-
-void unmarshal_VkObjectTableEntryNVX(
- VulkanStreamGuest* vkStream,
- VkObjectTableEntryNVX* forUnmarshaling)
-{
- vkStream->read((VkObjectEntryTypeNVX*)&forUnmarshaling->type, sizeof(VkObjectEntryTypeNVX));
- vkStream->read((VkObjectEntryUsageFlagsNVX*)&forUnmarshaling->flags, sizeof(VkObjectEntryUsageFlagsNVX));
-}
-
-void marshal_VkObjectTablePipelineEntryNVX(
- VulkanStreamGuest* vkStream,
- const VkObjectTablePipelineEntryNVX* forMarshaling)
-{
- vkStream->write((VkObjectEntryTypeNVX*)&forMarshaling->type, sizeof(VkObjectEntryTypeNVX));
- vkStream->write((VkObjectEntryUsageFlagsNVX*)&forMarshaling->flags, sizeof(VkObjectEntryUsageFlagsNVX));
- uint64_t cgen_var_320;
- vkStream->handleMapping()->mapHandles_VkPipeline_u64(&forMarshaling->pipeline, &cgen_var_320, 1);
- vkStream->write((uint64_t*)&cgen_var_320, 1 * 8);
-}
-
-void unmarshal_VkObjectTablePipelineEntryNVX(
- VulkanStreamGuest* vkStream,
- VkObjectTablePipelineEntryNVX* forUnmarshaling)
-{
- vkStream->read((VkObjectEntryTypeNVX*)&forUnmarshaling->type, sizeof(VkObjectEntryTypeNVX));
- vkStream->read((VkObjectEntryUsageFlagsNVX*)&forUnmarshaling->flags, sizeof(VkObjectEntryUsageFlagsNVX));
- uint64_t cgen_var_321;
- vkStream->read((uint64_t*)&cgen_var_321, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkPipeline(&cgen_var_321, (VkPipeline*)&forUnmarshaling->pipeline, 1);
-}
-
-void marshal_VkObjectTableDescriptorSetEntryNVX(
- VulkanStreamGuest* vkStream,
- const VkObjectTableDescriptorSetEntryNVX* forMarshaling)
-{
- vkStream->write((VkObjectEntryTypeNVX*)&forMarshaling->type, sizeof(VkObjectEntryTypeNVX));
- vkStream->write((VkObjectEntryUsageFlagsNVX*)&forMarshaling->flags, sizeof(VkObjectEntryUsageFlagsNVX));
- uint64_t cgen_var_322;
- vkStream->handleMapping()->mapHandles_VkPipelineLayout_u64(&forMarshaling->pipelineLayout, &cgen_var_322, 1);
- vkStream->write((uint64_t*)&cgen_var_322, 1 * 8);
- uint64_t cgen_var_323;
- vkStream->handleMapping()->mapHandles_VkDescriptorSet_u64(&forMarshaling->descriptorSet, &cgen_var_323, 1);
- vkStream->write((uint64_t*)&cgen_var_323, 1 * 8);
-}
-
-void unmarshal_VkObjectTableDescriptorSetEntryNVX(
- VulkanStreamGuest* vkStream,
- VkObjectTableDescriptorSetEntryNVX* forUnmarshaling)
-{
- vkStream->read((VkObjectEntryTypeNVX*)&forUnmarshaling->type, sizeof(VkObjectEntryTypeNVX));
- vkStream->read((VkObjectEntryUsageFlagsNVX*)&forUnmarshaling->flags, sizeof(VkObjectEntryUsageFlagsNVX));
- uint64_t cgen_var_324;
- vkStream->read((uint64_t*)&cgen_var_324, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkPipelineLayout(&cgen_var_324, (VkPipelineLayout*)&forUnmarshaling->pipelineLayout, 1);
- uint64_t cgen_var_325;
- vkStream->read((uint64_t*)&cgen_var_325, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkDescriptorSet(&cgen_var_325, (VkDescriptorSet*)&forUnmarshaling->descriptorSet, 1);
-}
-
-void marshal_VkObjectTableVertexBufferEntryNVX(
- VulkanStreamGuest* vkStream,
- const VkObjectTableVertexBufferEntryNVX* forMarshaling)
-{
- vkStream->write((VkObjectEntryTypeNVX*)&forMarshaling->type, sizeof(VkObjectEntryTypeNVX));
- vkStream->write((VkObjectEntryUsageFlagsNVX*)&forMarshaling->flags, sizeof(VkObjectEntryUsageFlagsNVX));
- uint64_t cgen_var_326;
- vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_326, 1);
- vkStream->write((uint64_t*)&cgen_var_326, 1 * 8);
-}
-
-void unmarshal_VkObjectTableVertexBufferEntryNVX(
- VulkanStreamGuest* vkStream,
- VkObjectTableVertexBufferEntryNVX* forUnmarshaling)
-{
- vkStream->read((VkObjectEntryTypeNVX*)&forUnmarshaling->type, sizeof(VkObjectEntryTypeNVX));
- vkStream->read((VkObjectEntryUsageFlagsNVX*)&forUnmarshaling->flags, sizeof(VkObjectEntryUsageFlagsNVX));
- uint64_t cgen_var_327;
- vkStream->read((uint64_t*)&cgen_var_327, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_327, (VkBuffer*)&forUnmarshaling->buffer, 1);
-}
-
-void marshal_VkObjectTableIndexBufferEntryNVX(
- VulkanStreamGuest* vkStream,
- const VkObjectTableIndexBufferEntryNVX* forMarshaling)
-{
- vkStream->write((VkObjectEntryTypeNVX*)&forMarshaling->type, sizeof(VkObjectEntryTypeNVX));
- vkStream->write((VkObjectEntryUsageFlagsNVX*)&forMarshaling->flags, sizeof(VkObjectEntryUsageFlagsNVX));
- uint64_t cgen_var_328;
- vkStream->handleMapping()->mapHandles_VkBuffer_u64(&forMarshaling->buffer, &cgen_var_328, 1);
- vkStream->write((uint64_t*)&cgen_var_328, 1 * 8);
- vkStream->write((VkIndexType*)&forMarshaling->indexType, sizeof(VkIndexType));
-}
-
-void unmarshal_VkObjectTableIndexBufferEntryNVX(
- VulkanStreamGuest* vkStream,
- VkObjectTableIndexBufferEntryNVX* forUnmarshaling)
-{
- vkStream->read((VkObjectEntryTypeNVX*)&forUnmarshaling->type, sizeof(VkObjectEntryTypeNVX));
- vkStream->read((VkObjectEntryUsageFlagsNVX*)&forUnmarshaling->flags, sizeof(VkObjectEntryUsageFlagsNVX));
- uint64_t cgen_var_329;
- vkStream->read((uint64_t*)&cgen_var_329, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkBuffer(&cgen_var_329, (VkBuffer*)&forUnmarshaling->buffer, 1);
- vkStream->read((VkIndexType*)&forUnmarshaling->indexType, sizeof(VkIndexType));
-}
-
-void marshal_VkObjectTablePushConstantEntryNVX(
- VulkanStreamGuest* vkStream,
- const VkObjectTablePushConstantEntryNVX* forMarshaling)
-{
- vkStream->write((VkObjectEntryTypeNVX*)&forMarshaling->type, sizeof(VkObjectEntryTypeNVX));
- vkStream->write((VkObjectEntryUsageFlagsNVX*)&forMarshaling->flags, sizeof(VkObjectEntryUsageFlagsNVX));
- uint64_t cgen_var_330;
- vkStream->handleMapping()->mapHandles_VkPipelineLayout_u64(&forMarshaling->pipelineLayout, &cgen_var_330, 1);
- vkStream->write((uint64_t*)&cgen_var_330, 1 * 8);
- vkStream->write((VkShaderStageFlags*)&forMarshaling->stageFlags, sizeof(VkShaderStageFlags));
-}
-
-void unmarshal_VkObjectTablePushConstantEntryNVX(
- VulkanStreamGuest* vkStream,
- VkObjectTablePushConstantEntryNVX* forUnmarshaling)
-{
- vkStream->read((VkObjectEntryTypeNVX*)&forUnmarshaling->type, sizeof(VkObjectEntryTypeNVX));
- vkStream->read((VkObjectEntryUsageFlagsNVX*)&forUnmarshaling->flags, sizeof(VkObjectEntryUsageFlagsNVX));
- uint64_t cgen_var_331;
- vkStream->read((uint64_t*)&cgen_var_331, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkPipelineLayout(&cgen_var_331, (VkPipelineLayout*)&forUnmarshaling->pipelineLayout, 1);
- vkStream->read((VkShaderStageFlags*)&forUnmarshaling->stageFlags, sizeof(VkShaderStageFlags));
-}
-
-#endif
-#ifdef VK_NV_clip_space_w_scaling
-void marshal_VkViewportWScalingNV(
- VulkanStreamGuest* vkStream,
- const VkViewportWScalingNV* forMarshaling)
-{
- vkStream->write((float*)&forMarshaling->xcoeff, sizeof(float));
- vkStream->write((float*)&forMarshaling->ycoeff, sizeof(float));
-}
-
-void unmarshal_VkViewportWScalingNV(
- VulkanStreamGuest* vkStream,
- VkViewportWScalingNV* forUnmarshaling)
-{
- vkStream->read((float*)&forUnmarshaling->xcoeff, sizeof(float));
- vkStream->read((float*)&forUnmarshaling->ycoeff, sizeof(float));
-}
-
-void marshal_VkPipelineViewportWScalingStateCreateInfoNV(
- VulkanStreamGuest* vkStream,
- const VkPipelineViewportWScalingStateCreateInfoNV* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkBool32*)&forMarshaling->viewportWScalingEnable, sizeof(VkBool32));
- vkStream->write((uint32_t*)&forMarshaling->viewportCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- uint64_t cgen_var_332 = (uint64_t)(uintptr_t)forMarshaling->pViewportWScalings;
- vkStream->putBe64(cgen_var_332);
- if (forMarshaling->pViewportWScalings)
- {
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->viewportCount; ++i)
- {
- marshal_VkViewportWScalingNV(vkStream, (const VkViewportWScalingNV*)(forMarshaling->pViewportWScalings + i));
- }
- }
-}
-
-void unmarshal_VkPipelineViewportWScalingStateCreateInfoNV(
- VulkanStreamGuest* vkStream,
- VkPipelineViewportWScalingStateCreateInfoNV* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkBool32*)&forUnmarshaling->viewportWScalingEnable, sizeof(VkBool32));
- vkStream->read((uint32_t*)&forUnmarshaling->viewportCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- const VkViewportWScalingNV* check_pViewportWScalings;
- check_pViewportWScalings = (const VkViewportWScalingNV*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pViewportWScalings)
- {
- if (!(check_pViewportWScalings))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pViewportWScalings inconsistent between guest and host\n");
- }
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->viewportCount; ++i)
- {
- unmarshal_VkViewportWScalingNV(vkStream, (VkViewportWScalingNV*)(forUnmarshaling->pViewportWScalings + i));
- }
- }
-}
-
-#endif
-#ifdef VK_EXT_direct_mode_display
-#endif
-#ifdef VK_EXT_acquire_xlib_display
-#endif
-#ifdef VK_EXT_display_surface_counter
-void marshal_VkSurfaceCapabilities2EXT(
- VulkanStreamGuest* vkStream,
- const VkSurfaceCapabilities2EXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->minImageCount, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxImageCount, sizeof(uint32_t));
- marshal_VkExtent2D(vkStream, (VkExtent2D*)(&forMarshaling->currentExtent));
- marshal_VkExtent2D(vkStream, (VkExtent2D*)(&forMarshaling->minImageExtent));
- marshal_VkExtent2D(vkStream, (VkExtent2D*)(&forMarshaling->maxImageExtent));
- vkStream->write((uint32_t*)&forMarshaling->maxImageArrayLayers, sizeof(uint32_t));
- vkStream->write((VkSurfaceTransformFlagsKHR*)&forMarshaling->supportedTransforms, sizeof(VkSurfaceTransformFlagsKHR));
- vkStream->write((VkSurfaceTransformFlagBitsKHR*)&forMarshaling->currentTransform, sizeof(VkSurfaceTransformFlagBitsKHR));
- vkStream->write((VkCompositeAlphaFlagsKHR*)&forMarshaling->supportedCompositeAlpha, sizeof(VkCompositeAlphaFlagsKHR));
- vkStream->write((VkImageUsageFlags*)&forMarshaling->supportedUsageFlags, sizeof(VkImageUsageFlags));
- vkStream->write((VkSurfaceCounterFlagsEXT*)&forMarshaling->supportedSurfaceCounters, sizeof(VkSurfaceCounterFlagsEXT));
-}
-
-void unmarshal_VkSurfaceCapabilities2EXT(
- VulkanStreamGuest* vkStream,
- VkSurfaceCapabilities2EXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->minImageCount, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxImageCount, sizeof(uint32_t));
- unmarshal_VkExtent2D(vkStream, (VkExtent2D*)(&forUnmarshaling->currentExtent));
- unmarshal_VkExtent2D(vkStream, (VkExtent2D*)(&forUnmarshaling->minImageExtent));
- unmarshal_VkExtent2D(vkStream, (VkExtent2D*)(&forUnmarshaling->maxImageExtent));
- vkStream->read((uint32_t*)&forUnmarshaling->maxImageArrayLayers, sizeof(uint32_t));
- vkStream->read((VkSurfaceTransformFlagsKHR*)&forUnmarshaling->supportedTransforms, sizeof(VkSurfaceTransformFlagsKHR));
- vkStream->read((VkSurfaceTransformFlagBitsKHR*)&forUnmarshaling->currentTransform, sizeof(VkSurfaceTransformFlagBitsKHR));
- vkStream->read((VkCompositeAlphaFlagsKHR*)&forUnmarshaling->supportedCompositeAlpha, sizeof(VkCompositeAlphaFlagsKHR));
- vkStream->read((VkImageUsageFlags*)&forUnmarshaling->supportedUsageFlags, sizeof(VkImageUsageFlags));
- vkStream->read((VkSurfaceCounterFlagsEXT*)&forUnmarshaling->supportedSurfaceCounters, sizeof(VkSurfaceCounterFlagsEXT));
-}
-
-#endif
-#ifdef VK_EXT_display_control
-void marshal_VkDisplayPowerInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkDisplayPowerInfoEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkDisplayPowerStateEXT*)&forMarshaling->powerState, sizeof(VkDisplayPowerStateEXT));
-}
-
-void unmarshal_VkDisplayPowerInfoEXT(
- VulkanStreamGuest* vkStream,
- VkDisplayPowerInfoEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkDisplayPowerStateEXT*)&forUnmarshaling->powerState, sizeof(VkDisplayPowerStateEXT));
-}
-
-void marshal_VkDeviceEventInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkDeviceEventInfoEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkDeviceEventTypeEXT*)&forMarshaling->deviceEvent, sizeof(VkDeviceEventTypeEXT));
-}
-
-void unmarshal_VkDeviceEventInfoEXT(
- VulkanStreamGuest* vkStream,
- VkDeviceEventInfoEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkDeviceEventTypeEXT*)&forUnmarshaling->deviceEvent, sizeof(VkDeviceEventTypeEXT));
-}
-
-void marshal_VkDisplayEventInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkDisplayEventInfoEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkDisplayEventTypeEXT*)&forMarshaling->displayEvent, sizeof(VkDisplayEventTypeEXT));
-}
-
-void unmarshal_VkDisplayEventInfoEXT(
- VulkanStreamGuest* vkStream,
- VkDisplayEventInfoEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkDisplayEventTypeEXT*)&forUnmarshaling->displayEvent, sizeof(VkDisplayEventTypeEXT));
-}
-
-void marshal_VkSwapchainCounterCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkSwapchainCounterCreateInfoEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkSurfaceCounterFlagsEXT*)&forMarshaling->surfaceCounters, sizeof(VkSurfaceCounterFlagsEXT));
-}
-
-void unmarshal_VkSwapchainCounterCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- VkSwapchainCounterCreateInfoEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkSurfaceCounterFlagsEXT*)&forUnmarshaling->surfaceCounters, sizeof(VkSurfaceCounterFlagsEXT));
-}
-
-#endif
-#ifdef VK_GOOGLE_display_timing
-void marshal_VkRefreshCycleDurationGOOGLE(
- VulkanStreamGuest* vkStream,
- const VkRefreshCycleDurationGOOGLE* forMarshaling)
-{
- vkStream->write((uint64_t*)&forMarshaling->refreshDuration, sizeof(uint64_t));
-}
-
-void unmarshal_VkRefreshCycleDurationGOOGLE(
- VulkanStreamGuest* vkStream,
- VkRefreshCycleDurationGOOGLE* forUnmarshaling)
-{
- vkStream->read((uint64_t*)&forUnmarshaling->refreshDuration, sizeof(uint64_t));
-}
-
-void marshal_VkPastPresentationTimingGOOGLE(
- VulkanStreamGuest* vkStream,
- const VkPastPresentationTimingGOOGLE* forMarshaling)
-{
- vkStream->write((uint32_t*)&forMarshaling->presentID, sizeof(uint32_t));
- vkStream->write((uint64_t*)&forMarshaling->desiredPresentTime, sizeof(uint64_t));
- vkStream->write((uint64_t*)&forMarshaling->actualPresentTime, sizeof(uint64_t));
- vkStream->write((uint64_t*)&forMarshaling->earliestPresentTime, sizeof(uint64_t));
- vkStream->write((uint64_t*)&forMarshaling->presentMargin, sizeof(uint64_t));
-}
-
-void unmarshal_VkPastPresentationTimingGOOGLE(
- VulkanStreamGuest* vkStream,
- VkPastPresentationTimingGOOGLE* forUnmarshaling)
-{
- vkStream->read((uint32_t*)&forUnmarshaling->presentID, sizeof(uint32_t));
- vkStream->read((uint64_t*)&forUnmarshaling->desiredPresentTime, sizeof(uint64_t));
- vkStream->read((uint64_t*)&forUnmarshaling->actualPresentTime, sizeof(uint64_t));
- vkStream->read((uint64_t*)&forUnmarshaling->earliestPresentTime, sizeof(uint64_t));
- vkStream->read((uint64_t*)&forUnmarshaling->presentMargin, sizeof(uint64_t));
-}
-
-void marshal_VkPresentTimeGOOGLE(
- VulkanStreamGuest* vkStream,
- const VkPresentTimeGOOGLE* forMarshaling)
-{
- vkStream->write((uint32_t*)&forMarshaling->presentID, sizeof(uint32_t));
- vkStream->write((uint64_t*)&forMarshaling->desiredPresentTime, sizeof(uint64_t));
-}
-
-void unmarshal_VkPresentTimeGOOGLE(
- VulkanStreamGuest* vkStream,
- VkPresentTimeGOOGLE* forUnmarshaling)
-{
- vkStream->read((uint32_t*)&forUnmarshaling->presentID, sizeof(uint32_t));
- vkStream->read((uint64_t*)&forUnmarshaling->desiredPresentTime, sizeof(uint64_t));
-}
-
-void marshal_VkPresentTimesInfoGOOGLE(
- VulkanStreamGuest* vkStream,
- const VkPresentTimesInfoGOOGLE* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->swapchainCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- uint64_t cgen_var_334 = (uint64_t)(uintptr_t)forMarshaling->pTimes;
- vkStream->putBe64(cgen_var_334);
- if (forMarshaling->pTimes)
- {
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->swapchainCount; ++i)
- {
- marshal_VkPresentTimeGOOGLE(vkStream, (const VkPresentTimeGOOGLE*)(forMarshaling->pTimes + i));
- }
- }
-}
-
-void unmarshal_VkPresentTimesInfoGOOGLE(
- VulkanStreamGuest* vkStream,
- VkPresentTimesInfoGOOGLE* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->swapchainCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- const VkPresentTimeGOOGLE* check_pTimes;
- check_pTimes = (const VkPresentTimeGOOGLE*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pTimes)
- {
- if (!(check_pTimes))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pTimes inconsistent between guest and host\n");
- }
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->swapchainCount; ++i)
- {
- unmarshal_VkPresentTimeGOOGLE(vkStream, (VkPresentTimeGOOGLE*)(forUnmarshaling->pTimes + i));
- }
- }
-}
-
-#endif
-#ifdef VK_NV_sample_mask_override_coverage
-#endif
-#ifdef VK_NV_geometry_shader_passthrough
-#endif
-#ifdef VK_NV_viewport_array2
-#endif
-#ifdef VK_NVX_multiview_per_view_attributes
-void marshal_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkBool32*)&forMarshaling->perViewPositionAllComponents, sizeof(VkBool32));
-}
-
-void unmarshal_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkBool32*)&forUnmarshaling->perViewPositionAllComponents, sizeof(VkBool32));
-}
-
-#endif
-#ifdef VK_NV_viewport_swizzle
-void marshal_VkViewportSwizzleNV(
- VulkanStreamGuest* vkStream,
- const VkViewportSwizzleNV* forMarshaling)
-{
- vkStream->write((VkViewportCoordinateSwizzleNV*)&forMarshaling->x, sizeof(VkViewportCoordinateSwizzleNV));
- vkStream->write((VkViewportCoordinateSwizzleNV*)&forMarshaling->y, sizeof(VkViewportCoordinateSwizzleNV));
- vkStream->write((VkViewportCoordinateSwizzleNV*)&forMarshaling->z, sizeof(VkViewportCoordinateSwizzleNV));
- vkStream->write((VkViewportCoordinateSwizzleNV*)&forMarshaling->w, sizeof(VkViewportCoordinateSwizzleNV));
-}
-
-void unmarshal_VkViewportSwizzleNV(
- VulkanStreamGuest* vkStream,
- VkViewportSwizzleNV* forUnmarshaling)
-{
- vkStream->read((VkViewportCoordinateSwizzleNV*)&forUnmarshaling->x, sizeof(VkViewportCoordinateSwizzleNV));
- vkStream->read((VkViewportCoordinateSwizzleNV*)&forUnmarshaling->y, sizeof(VkViewportCoordinateSwizzleNV));
- vkStream->read((VkViewportCoordinateSwizzleNV*)&forUnmarshaling->z, sizeof(VkViewportCoordinateSwizzleNV));
- vkStream->read((VkViewportCoordinateSwizzleNV*)&forUnmarshaling->w, sizeof(VkViewportCoordinateSwizzleNV));
-}
-
-void marshal_VkPipelineViewportSwizzleStateCreateInfoNV(
- VulkanStreamGuest* vkStream,
- const VkPipelineViewportSwizzleStateCreateInfoNV* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkPipelineViewportSwizzleStateCreateFlagsNV*)&forMarshaling->flags, sizeof(VkPipelineViewportSwizzleStateCreateFlagsNV));
- vkStream->write((uint32_t*)&forMarshaling->viewportCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- uint64_t cgen_var_336 = (uint64_t)(uintptr_t)forMarshaling->pViewportSwizzles;
- vkStream->putBe64(cgen_var_336);
- if (forMarshaling->pViewportSwizzles)
- {
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->viewportCount; ++i)
- {
- marshal_VkViewportSwizzleNV(vkStream, (const VkViewportSwizzleNV*)(forMarshaling->pViewportSwizzles + i));
- }
- }
-}
-
-void unmarshal_VkPipelineViewportSwizzleStateCreateInfoNV(
- VulkanStreamGuest* vkStream,
- VkPipelineViewportSwizzleStateCreateInfoNV* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkPipelineViewportSwizzleStateCreateFlagsNV*)&forUnmarshaling->flags, sizeof(VkPipelineViewportSwizzleStateCreateFlagsNV));
- vkStream->read((uint32_t*)&forUnmarshaling->viewportCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- const VkViewportSwizzleNV* check_pViewportSwizzles;
- check_pViewportSwizzles = (const VkViewportSwizzleNV*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pViewportSwizzles)
- {
- if (!(check_pViewportSwizzles))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pViewportSwizzles inconsistent between guest and host\n");
- }
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->viewportCount; ++i)
- {
- unmarshal_VkViewportSwizzleNV(vkStream, (VkViewportSwizzleNV*)(forUnmarshaling->pViewportSwizzles + i));
- }
- }
-}
-
-#endif
-#ifdef VK_EXT_discard_rectangles
-void marshal_VkPhysicalDeviceDiscardRectanglePropertiesEXT(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceDiscardRectanglePropertiesEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->maxDiscardRectangles, sizeof(uint32_t));
-}
-
-void unmarshal_VkPhysicalDeviceDiscardRectanglePropertiesEXT(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceDiscardRectanglePropertiesEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->maxDiscardRectangles, sizeof(uint32_t));
-}
-
-void marshal_VkPipelineDiscardRectangleStateCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkPipelineDiscardRectangleStateCreateInfoEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkPipelineDiscardRectangleStateCreateFlagsEXT*)&forMarshaling->flags, sizeof(VkPipelineDiscardRectangleStateCreateFlagsEXT));
- vkStream->write((VkDiscardRectangleModeEXT*)&forMarshaling->discardRectangleMode, sizeof(VkDiscardRectangleModeEXT));
- vkStream->write((uint32_t*)&forMarshaling->discardRectangleCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- uint64_t cgen_var_338 = (uint64_t)(uintptr_t)forMarshaling->pDiscardRectangles;
- vkStream->putBe64(cgen_var_338);
- if (forMarshaling->pDiscardRectangles)
- {
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->discardRectangleCount; ++i)
- {
- marshal_VkRect2D(vkStream, (const VkRect2D*)(forMarshaling->pDiscardRectangles + i));
- }
- }
-}
-
-void unmarshal_VkPipelineDiscardRectangleStateCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- VkPipelineDiscardRectangleStateCreateInfoEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkPipelineDiscardRectangleStateCreateFlagsEXT*)&forUnmarshaling->flags, sizeof(VkPipelineDiscardRectangleStateCreateFlagsEXT));
- vkStream->read((VkDiscardRectangleModeEXT*)&forUnmarshaling->discardRectangleMode, sizeof(VkDiscardRectangleModeEXT));
- vkStream->read((uint32_t*)&forUnmarshaling->discardRectangleCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- const VkRect2D* check_pDiscardRectangles;
- check_pDiscardRectangles = (const VkRect2D*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pDiscardRectangles)
- {
- if (!(check_pDiscardRectangles))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pDiscardRectangles inconsistent between guest and host\n");
- }
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->discardRectangleCount; ++i)
- {
- unmarshal_VkRect2D(vkStream, (VkRect2D*)(forUnmarshaling->pDiscardRectangles + i));
- }
- }
-}
-
-#endif
-#ifdef VK_EXT_conservative_rasterization
-void marshal_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceConservativeRasterizationPropertiesEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((float*)&forMarshaling->primitiveOverestimationSize, sizeof(float));
- vkStream->write((float*)&forMarshaling->maxExtraPrimitiveOverestimationSize, sizeof(float));
- vkStream->write((float*)&forMarshaling->extraPrimitiveOverestimationSizeGranularity, sizeof(float));
- vkStream->write((VkBool32*)&forMarshaling->primitiveUnderestimation, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->conservativePointAndLineRasterization, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->degenerateTrianglesRasterized, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->degenerateLinesRasterized, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->fullyCoveredFragmentShaderInputVariable, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->conservativeRasterizationPostDepthCoverage, sizeof(VkBool32));
-}
-
-void unmarshal_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceConservativeRasterizationPropertiesEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((float*)&forUnmarshaling->primitiveOverestimationSize, sizeof(float));
- vkStream->read((float*)&forUnmarshaling->maxExtraPrimitiveOverestimationSize, sizeof(float));
- vkStream->read((float*)&forUnmarshaling->extraPrimitiveOverestimationSizeGranularity, sizeof(float));
- vkStream->read((VkBool32*)&forUnmarshaling->primitiveUnderestimation, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->conservativePointAndLineRasterization, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->degenerateTrianglesRasterized, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->degenerateLinesRasterized, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->fullyCoveredFragmentShaderInputVariable, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->conservativeRasterizationPostDepthCoverage, sizeof(VkBool32));
-}
-
-void marshal_VkPipelineRasterizationConservativeStateCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkPipelineRasterizationConservativeStateCreateInfoEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkPipelineRasterizationConservativeStateCreateFlagsEXT*)&forMarshaling->flags, sizeof(VkPipelineRasterizationConservativeStateCreateFlagsEXT));
- vkStream->write((VkConservativeRasterizationModeEXT*)&forMarshaling->conservativeRasterizationMode, sizeof(VkConservativeRasterizationModeEXT));
- vkStream->write((float*)&forMarshaling->extraPrimitiveOverestimationSize, sizeof(float));
-}
-
-void unmarshal_VkPipelineRasterizationConservativeStateCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- VkPipelineRasterizationConservativeStateCreateInfoEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkPipelineRasterizationConservativeStateCreateFlagsEXT*)&forUnmarshaling->flags, sizeof(VkPipelineRasterizationConservativeStateCreateFlagsEXT));
- vkStream->read((VkConservativeRasterizationModeEXT*)&forUnmarshaling->conservativeRasterizationMode, sizeof(VkConservativeRasterizationModeEXT));
- vkStream->read((float*)&forUnmarshaling->extraPrimitiveOverestimationSize, sizeof(float));
-}
-
-#endif
-#ifdef VK_EXT_swapchain_colorspace
-#endif
-#ifdef VK_EXT_hdr_metadata
-void marshal_VkXYColorEXT(
- VulkanStreamGuest* vkStream,
- const VkXYColorEXT* forMarshaling)
-{
- vkStream->write((float*)&forMarshaling->x, sizeof(float));
- vkStream->write((float*)&forMarshaling->y, sizeof(float));
-}
-
-void unmarshal_VkXYColorEXT(
- VulkanStreamGuest* vkStream,
- VkXYColorEXT* forUnmarshaling)
-{
- vkStream->read((float*)&forUnmarshaling->x, sizeof(float));
- vkStream->read((float*)&forUnmarshaling->y, sizeof(float));
-}
-
-void marshal_VkHdrMetadataEXT(
- VulkanStreamGuest* vkStream,
- const VkHdrMetadataEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- marshal_VkXYColorEXT(vkStream, (VkXYColorEXT*)(&forMarshaling->displayPrimaryRed));
- marshal_VkXYColorEXT(vkStream, (VkXYColorEXT*)(&forMarshaling->displayPrimaryGreen));
- marshal_VkXYColorEXT(vkStream, (VkXYColorEXT*)(&forMarshaling->displayPrimaryBlue));
- marshal_VkXYColorEXT(vkStream, (VkXYColorEXT*)(&forMarshaling->whitePoint));
- vkStream->write((float*)&forMarshaling->maxLuminance, sizeof(float));
- vkStream->write((float*)&forMarshaling->minLuminance, sizeof(float));
- vkStream->write((float*)&forMarshaling->maxContentLightLevel, sizeof(float));
- vkStream->write((float*)&forMarshaling->maxFrameAverageLightLevel, sizeof(float));
-}
-
-void unmarshal_VkHdrMetadataEXT(
- VulkanStreamGuest* vkStream,
- VkHdrMetadataEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- unmarshal_VkXYColorEXT(vkStream, (VkXYColorEXT*)(&forUnmarshaling->displayPrimaryRed));
- unmarshal_VkXYColorEXT(vkStream, (VkXYColorEXT*)(&forUnmarshaling->displayPrimaryGreen));
- unmarshal_VkXYColorEXT(vkStream, (VkXYColorEXT*)(&forUnmarshaling->displayPrimaryBlue));
- unmarshal_VkXYColorEXT(vkStream, (VkXYColorEXT*)(&forUnmarshaling->whitePoint));
- vkStream->read((float*)&forUnmarshaling->maxLuminance, sizeof(float));
- vkStream->read((float*)&forUnmarshaling->minLuminance, sizeof(float));
- vkStream->read((float*)&forUnmarshaling->maxContentLightLevel, sizeof(float));
- vkStream->read((float*)&forUnmarshaling->maxFrameAverageLightLevel, sizeof(float));
-}
-
-#endif
-#ifdef VK_MVK_ios_surface
-void marshal_VkIOSSurfaceCreateInfoMVK(
- VulkanStreamGuest* vkStream,
- const VkIOSSurfaceCreateInfoMVK* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkIOSSurfaceCreateFlagsMVK*)&forMarshaling->flags, sizeof(VkIOSSurfaceCreateFlagsMVK));
- // WARNING PTR CHECK
- uint64_t cgen_var_340 = (uint64_t)(uintptr_t)forMarshaling->pView;
- vkStream->putBe64(cgen_var_340);
- if (forMarshaling->pView)
- {
- vkStream->write((const void*)forMarshaling->pView, sizeof(const uint8_t));
- }
-}
-
-void unmarshal_VkIOSSurfaceCreateInfoMVK(
- VulkanStreamGuest* vkStream,
- VkIOSSurfaceCreateInfoMVK* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkIOSSurfaceCreateFlagsMVK*)&forUnmarshaling->flags, sizeof(VkIOSSurfaceCreateFlagsMVK));
- // WARNING PTR CHECK
- const void* check_pView;
- check_pView = (const void*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pView)
- {
- if (!(check_pView))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pView inconsistent between guest and host\n");
- }
- vkStream->read((void*)forUnmarshaling->pView, sizeof(const uint8_t));
- }
-}
-
-#endif
-#ifdef VK_MVK_macos_surface
-void marshal_VkMacOSSurfaceCreateInfoMVK(
- VulkanStreamGuest* vkStream,
- const VkMacOSSurfaceCreateInfoMVK* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkMacOSSurfaceCreateFlagsMVK*)&forMarshaling->flags, sizeof(VkMacOSSurfaceCreateFlagsMVK));
- // WARNING PTR CHECK
- uint64_t cgen_var_342 = (uint64_t)(uintptr_t)forMarshaling->pView;
- vkStream->putBe64(cgen_var_342);
- if (forMarshaling->pView)
- {
- vkStream->write((const void*)forMarshaling->pView, sizeof(const uint8_t));
- }
-}
-
-void unmarshal_VkMacOSSurfaceCreateInfoMVK(
- VulkanStreamGuest* vkStream,
- VkMacOSSurfaceCreateInfoMVK* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkMacOSSurfaceCreateFlagsMVK*)&forUnmarshaling->flags, sizeof(VkMacOSSurfaceCreateFlagsMVK));
- // WARNING PTR CHECK
- const void* check_pView;
- check_pView = (const void*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pView)
- {
- if (!(check_pView))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pView inconsistent between guest and host\n");
- }
- vkStream->read((void*)forUnmarshaling->pView, sizeof(const uint8_t));
- }
-}
-
-#endif
-#ifdef VK_EXT_external_memory_dma_buf
-#endif
-#ifdef VK_EXT_queue_family_foreign
-#endif
-#ifdef VK_EXT_debug_utils
-void marshal_VkDebugUtilsObjectNameInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkDebugUtilsObjectNameInfoEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkObjectType*)&forMarshaling->objectType, sizeof(VkObjectType));
- vkStream->write((uint64_t*)&forMarshaling->objectHandle, sizeof(uint64_t));
- if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT)
- {
- // WARNING PTR CHECK
- uint64_t cgen_var_344 = (uint64_t)(uintptr_t)forMarshaling->pObjectName;
- vkStream->putBe64(cgen_var_344);
- if (forMarshaling->pObjectName)
- {
- vkStream->putString(forMarshaling->pObjectName);
- }
- }
- else
- {
- vkStream->putString(forMarshaling->pObjectName);
- }
-}
-
-void unmarshal_VkDebugUtilsObjectNameInfoEXT(
- VulkanStreamGuest* vkStream,
- VkDebugUtilsObjectNameInfoEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkObjectType*)&forUnmarshaling->objectType, sizeof(VkObjectType));
- vkStream->read((uint64_t*)&forUnmarshaling->objectHandle, sizeof(uint64_t));
- if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT)
- {
- // WARNING PTR CHECK
- const char* check_pObjectName;
- check_pObjectName = (const char*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pObjectName)
- {
- if (!(check_pObjectName))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pObjectName inconsistent between guest and host\n");
- }
- vkStream->loadStringInPlace((char**)&forUnmarshaling->pObjectName);
- }
- }
- else
- {
- vkStream->loadStringInPlace((char**)&forUnmarshaling->pObjectName);
- }
-}
-
-void marshal_VkDebugUtilsObjectTagInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkDebugUtilsObjectTagInfoEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkObjectType*)&forMarshaling->objectType, sizeof(VkObjectType));
- vkStream->write((uint64_t*)&forMarshaling->objectHandle, sizeof(uint64_t));
- vkStream->write((uint64_t*)&forMarshaling->tagName, sizeof(uint64_t));
- uint64_t cgen_var_346 = (uint64_t)forMarshaling->tagSize;
- vkStream->putBe64(cgen_var_346);
- vkStream->write((const void*)forMarshaling->pTag, forMarshaling->tagSize * sizeof(const uint8_t));
-}
-
-void unmarshal_VkDebugUtilsObjectTagInfoEXT(
- VulkanStreamGuest* vkStream,
- VkDebugUtilsObjectTagInfoEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkObjectType*)&forUnmarshaling->objectType, sizeof(VkObjectType));
- vkStream->read((uint64_t*)&forUnmarshaling->objectHandle, sizeof(uint64_t));
- vkStream->read((uint64_t*)&forUnmarshaling->tagName, sizeof(uint64_t));
- forUnmarshaling->tagSize = (size_t)vkStream->getBe64();
- vkStream->read((void*)forUnmarshaling->pTag, forUnmarshaling->tagSize * sizeof(const uint8_t));
-}
-
-void marshal_VkDebugUtilsLabelEXT(
- VulkanStreamGuest* vkStream,
- const VkDebugUtilsLabelEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->putString(forMarshaling->pLabelName);
- vkStream->write((float*)forMarshaling->color, 4 * sizeof(float));
-}
-
-void unmarshal_VkDebugUtilsLabelEXT(
- VulkanStreamGuest* vkStream,
- VkDebugUtilsLabelEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->loadStringInPlace((char**)&forUnmarshaling->pLabelName);
- vkStream->read((float*)forUnmarshaling->color, 4 * sizeof(float));
-}
-
-void marshal_VkDebugUtilsMessengerCallbackDataEXT(
- VulkanStreamGuest* vkStream,
- const VkDebugUtilsMessengerCallbackDataEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkDebugUtilsMessengerCallbackDataFlagsEXT*)&forMarshaling->flags, sizeof(VkDebugUtilsMessengerCallbackDataFlagsEXT));
- if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT)
- {
- // WARNING PTR CHECK
- uint64_t cgen_var_348 = (uint64_t)(uintptr_t)forMarshaling->pMessageIdName;
- vkStream->putBe64(cgen_var_348);
- if (forMarshaling->pMessageIdName)
- {
- vkStream->putString(forMarshaling->pMessageIdName);
- }
- }
- else
- {
- vkStream->putString(forMarshaling->pMessageIdName);
- }
- vkStream->write((int32_t*)&forMarshaling->messageIdNumber, sizeof(int32_t));
- vkStream->putString(forMarshaling->pMessage);
- vkStream->write((uint32_t*)&forMarshaling->queueLabelCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- uint64_t cgen_var_349 = (uint64_t)(uintptr_t)forMarshaling->pQueueLabels;
- vkStream->putBe64(cgen_var_349);
- if (forMarshaling->pQueueLabels)
- {
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->queueLabelCount; ++i)
- {
- marshal_VkDebugUtilsLabelEXT(vkStream, (VkDebugUtilsLabelEXT*)(forMarshaling->pQueueLabels + i));
- }
- }
- vkStream->write((uint32_t*)&forMarshaling->cmdBufLabelCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- uint64_t cgen_var_350 = (uint64_t)(uintptr_t)forMarshaling->pCmdBufLabels;
- vkStream->putBe64(cgen_var_350);
- if (forMarshaling->pCmdBufLabels)
- {
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->cmdBufLabelCount; ++i)
- {
- marshal_VkDebugUtilsLabelEXT(vkStream, (VkDebugUtilsLabelEXT*)(forMarshaling->pCmdBufLabels + i));
- }
- }
- vkStream->write((uint32_t*)&forMarshaling->objectCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- uint64_t cgen_var_351 = (uint64_t)(uintptr_t)forMarshaling->pObjects;
- vkStream->putBe64(cgen_var_351);
- if (forMarshaling->pObjects)
- {
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->objectCount; ++i)
- {
- marshal_VkDebugUtilsObjectNameInfoEXT(vkStream, (VkDebugUtilsObjectNameInfoEXT*)(forMarshaling->pObjects + i));
- }
- }
-}
-
-void unmarshal_VkDebugUtilsMessengerCallbackDataEXT(
- VulkanStreamGuest* vkStream,
- VkDebugUtilsMessengerCallbackDataEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkDebugUtilsMessengerCallbackDataFlagsEXT*)&forUnmarshaling->flags, sizeof(VkDebugUtilsMessengerCallbackDataFlagsEXT));
- if (vkStream->getFeatureBits() & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT)
- {
- // WARNING PTR CHECK
- const char* check_pMessageIdName;
- check_pMessageIdName = (const char*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pMessageIdName)
- {
- if (!(check_pMessageIdName))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pMessageIdName inconsistent between guest and host\n");
- }
- vkStream->loadStringInPlace((char**)&forUnmarshaling->pMessageIdName);
- }
- }
- else
- {
- vkStream->loadStringInPlace((char**)&forUnmarshaling->pMessageIdName);
- }
- vkStream->read((int32_t*)&forUnmarshaling->messageIdNumber, sizeof(int32_t));
- vkStream->loadStringInPlace((char**)&forUnmarshaling->pMessage);
- vkStream->read((uint32_t*)&forUnmarshaling->queueLabelCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- VkDebugUtilsLabelEXT* check_pQueueLabels;
- check_pQueueLabels = (VkDebugUtilsLabelEXT*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pQueueLabels)
- {
- if (!(check_pQueueLabels))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pQueueLabels inconsistent between guest and host\n");
- }
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->queueLabelCount; ++i)
- {
- unmarshal_VkDebugUtilsLabelEXT(vkStream, (VkDebugUtilsLabelEXT*)(forUnmarshaling->pQueueLabels + i));
- }
- }
- vkStream->read((uint32_t*)&forUnmarshaling->cmdBufLabelCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- VkDebugUtilsLabelEXT* check_pCmdBufLabels;
- check_pCmdBufLabels = (VkDebugUtilsLabelEXT*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pCmdBufLabels)
- {
- if (!(check_pCmdBufLabels))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pCmdBufLabels inconsistent between guest and host\n");
- }
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->cmdBufLabelCount; ++i)
- {
- unmarshal_VkDebugUtilsLabelEXT(vkStream, (VkDebugUtilsLabelEXT*)(forUnmarshaling->pCmdBufLabels + i));
- }
- }
- vkStream->read((uint32_t*)&forUnmarshaling->objectCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- VkDebugUtilsObjectNameInfoEXT* check_pObjects;
- check_pObjects = (VkDebugUtilsObjectNameInfoEXT*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pObjects)
- {
- if (!(check_pObjects))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pObjects inconsistent between guest and host\n");
- }
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->objectCount; ++i)
- {
- unmarshal_VkDebugUtilsObjectNameInfoEXT(vkStream, (VkDebugUtilsObjectNameInfoEXT*)(forUnmarshaling->pObjects + i));
- }
- }
-}
-
-void marshal_VkDebugUtilsMessengerCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkDebugUtilsMessengerCreateInfoEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkDebugUtilsMessengerCreateFlagsEXT*)&forMarshaling->flags, sizeof(VkDebugUtilsMessengerCreateFlagsEXT));
- vkStream->write((VkDebugUtilsMessageSeverityFlagsEXT*)&forMarshaling->messageSeverity, sizeof(VkDebugUtilsMessageSeverityFlagsEXT));
- vkStream->write((VkDebugUtilsMessageTypeFlagsEXT*)&forMarshaling->messageType, sizeof(VkDebugUtilsMessageTypeFlagsEXT));
- uint64_t cgen_var_356 = (uint64_t)forMarshaling->pfnUserCallback;
- vkStream->putBe64(cgen_var_356);
- // WARNING PTR CHECK
- uint64_t cgen_var_357 = (uint64_t)(uintptr_t)forMarshaling->pUserData;
- vkStream->putBe64(cgen_var_357);
- if (forMarshaling->pUserData)
- {
- vkStream->write((void*)forMarshaling->pUserData, sizeof(uint8_t));
- }
-}
-
-void unmarshal_VkDebugUtilsMessengerCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- VkDebugUtilsMessengerCreateInfoEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkDebugUtilsMessengerCreateFlagsEXT*)&forUnmarshaling->flags, sizeof(VkDebugUtilsMessengerCreateFlagsEXT));
- vkStream->read((VkDebugUtilsMessageSeverityFlagsEXT*)&forUnmarshaling->messageSeverity, sizeof(VkDebugUtilsMessageSeverityFlagsEXT));
- vkStream->read((VkDebugUtilsMessageTypeFlagsEXT*)&forUnmarshaling->messageType, sizeof(VkDebugUtilsMessageTypeFlagsEXT));
- forUnmarshaling->pfnUserCallback = (PFN_vkDebugUtilsMessengerCallbackEXT)vkStream->getBe64();
- // WARNING PTR CHECK
- void* check_pUserData;
- check_pUserData = (void*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pUserData)
- {
- if (!(check_pUserData))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pUserData inconsistent between guest and host\n");
- }
- vkStream->read((void*)forUnmarshaling->pUserData, sizeof(uint8_t));
- }
-}
-
-#endif
-#ifdef VK_ANDROID_external_memory_android_hardware_buffer
-void marshal_VkAndroidHardwareBufferUsageANDROID(
- VulkanStreamGuest* vkStream,
- const VkAndroidHardwareBufferUsageANDROID* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint64_t*)&forMarshaling->androidHardwareBufferUsage, sizeof(uint64_t));
-}
-
-void unmarshal_VkAndroidHardwareBufferUsageANDROID(
- VulkanStreamGuest* vkStream,
- VkAndroidHardwareBufferUsageANDROID* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint64_t*)&forUnmarshaling->androidHardwareBufferUsage, sizeof(uint64_t));
-}
-
-void marshal_VkAndroidHardwareBufferPropertiesANDROID(
- VulkanStreamGuest* vkStream,
- const VkAndroidHardwareBufferPropertiesANDROID* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkDeviceSize*)&forMarshaling->allocationSize, sizeof(VkDeviceSize));
- vkStream->write((uint32_t*)&forMarshaling->memoryTypeBits, sizeof(uint32_t));
-}
-
-void unmarshal_VkAndroidHardwareBufferPropertiesANDROID(
- VulkanStreamGuest* vkStream,
- VkAndroidHardwareBufferPropertiesANDROID* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkDeviceSize*)&forUnmarshaling->allocationSize, sizeof(VkDeviceSize));
- vkStream->read((uint32_t*)&forUnmarshaling->memoryTypeBits, sizeof(uint32_t));
-}
-
-void marshal_VkAndroidHardwareBufferFormatPropertiesANDROID(
- VulkanStreamGuest* vkStream,
- const VkAndroidHardwareBufferFormatPropertiesANDROID* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat));
- vkStream->write((uint64_t*)&forMarshaling->externalFormat, sizeof(uint64_t));
- vkStream->write((VkFormatFeatureFlags*)&forMarshaling->formatFeatures, sizeof(VkFormatFeatureFlags));
- marshal_VkComponentMapping(vkStream, (VkComponentMapping*)(&forMarshaling->samplerYcbcrConversionComponents));
- vkStream->write((VkSamplerYcbcrModelConversion*)&forMarshaling->suggestedYcbcrModel, sizeof(VkSamplerYcbcrModelConversion));
- vkStream->write((VkSamplerYcbcrRange*)&forMarshaling->suggestedYcbcrRange, sizeof(VkSamplerYcbcrRange));
- vkStream->write((VkChromaLocation*)&forMarshaling->suggestedXChromaOffset, sizeof(VkChromaLocation));
- vkStream->write((VkChromaLocation*)&forMarshaling->suggestedYChromaOffset, sizeof(VkChromaLocation));
-}
-
-void unmarshal_VkAndroidHardwareBufferFormatPropertiesANDROID(
- VulkanStreamGuest* vkStream,
- VkAndroidHardwareBufferFormatPropertiesANDROID* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat));
- vkStream->read((uint64_t*)&forUnmarshaling->externalFormat, sizeof(uint64_t));
- vkStream->read((VkFormatFeatureFlags*)&forUnmarshaling->formatFeatures, sizeof(VkFormatFeatureFlags));
- unmarshal_VkComponentMapping(vkStream, (VkComponentMapping*)(&forUnmarshaling->samplerYcbcrConversionComponents));
- vkStream->read((VkSamplerYcbcrModelConversion*)&forUnmarshaling->suggestedYcbcrModel, sizeof(VkSamplerYcbcrModelConversion));
- vkStream->read((VkSamplerYcbcrRange*)&forUnmarshaling->suggestedYcbcrRange, sizeof(VkSamplerYcbcrRange));
- vkStream->read((VkChromaLocation*)&forUnmarshaling->suggestedXChromaOffset, sizeof(VkChromaLocation));
- vkStream->read((VkChromaLocation*)&forUnmarshaling->suggestedYChromaOffset, sizeof(VkChromaLocation));
-}
-
-void marshal_VkImportAndroidHardwareBufferInfoANDROID(
- VulkanStreamGuest* vkStream,
- const VkImportAndroidHardwareBufferInfoANDROID* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((AHardwareBuffer*)forMarshaling->buffer, sizeof(AHardwareBuffer));
-}
-
-void unmarshal_VkImportAndroidHardwareBufferInfoANDROID(
- VulkanStreamGuest* vkStream,
- VkImportAndroidHardwareBufferInfoANDROID* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((AHardwareBuffer*)forUnmarshaling->buffer, sizeof(AHardwareBuffer));
-}
-
-void marshal_VkMemoryGetAndroidHardwareBufferInfoANDROID(
- VulkanStreamGuest* vkStream,
- const VkMemoryGetAndroidHardwareBufferInfoANDROID* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- uint64_t cgen_var_360;
- vkStream->handleMapping()->mapHandles_VkDeviceMemory_u64(&forMarshaling->memory, &cgen_var_360, 1);
- vkStream->write((uint64_t*)&cgen_var_360, 1 * 8);
-}
-
-void unmarshal_VkMemoryGetAndroidHardwareBufferInfoANDROID(
- VulkanStreamGuest* vkStream,
- VkMemoryGetAndroidHardwareBufferInfoANDROID* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- uint64_t cgen_var_361;
- vkStream->read((uint64_t*)&cgen_var_361, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkDeviceMemory(&cgen_var_361, (VkDeviceMemory*)&forUnmarshaling->memory, 1);
-}
-
-void marshal_VkExternalFormatANDROID(
- VulkanStreamGuest* vkStream,
- const VkExternalFormatANDROID* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint64_t*)&forMarshaling->externalFormat, sizeof(uint64_t));
-}
-
-void unmarshal_VkExternalFormatANDROID(
- VulkanStreamGuest* vkStream,
- VkExternalFormatANDROID* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint64_t*)&forUnmarshaling->externalFormat, sizeof(uint64_t));
-}
-
-#endif
-#ifdef VK_EXT_sampler_filter_minmax
-void marshal_VkSamplerReductionModeCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkSamplerReductionModeCreateInfoEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkSamplerReductionModeEXT*)&forMarshaling->reductionMode, sizeof(VkSamplerReductionModeEXT));
-}
-
-void unmarshal_VkSamplerReductionModeCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- VkSamplerReductionModeCreateInfoEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkSamplerReductionModeEXT*)&forUnmarshaling->reductionMode, sizeof(VkSamplerReductionModeEXT));
-}
-
-void marshal_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkBool32*)&forMarshaling->filterMinmaxSingleComponentFormats, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->filterMinmaxImageComponentMapping, sizeof(VkBool32));
-}
-
-void unmarshal_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkBool32*)&forUnmarshaling->filterMinmaxSingleComponentFormats, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->filterMinmaxImageComponentMapping, sizeof(VkBool32));
-}
-
-#endif
-#ifdef VK_AMD_gpu_shader_int16
-#endif
-#ifdef VK_AMD_mixed_attachment_samples
-#endif
-#ifdef VK_AMD_shader_fragment_mask
-#endif
-#ifdef VK_EXT_shader_stencil_export
-#endif
-#ifdef VK_EXT_sample_locations
-void marshal_VkSampleLocationEXT(
- VulkanStreamGuest* vkStream,
- const VkSampleLocationEXT* forMarshaling)
-{
- vkStream->write((float*)&forMarshaling->x, sizeof(float));
- vkStream->write((float*)&forMarshaling->y, sizeof(float));
-}
-
-void unmarshal_VkSampleLocationEXT(
- VulkanStreamGuest* vkStream,
- VkSampleLocationEXT* forUnmarshaling)
-{
- vkStream->read((float*)&forUnmarshaling->x, sizeof(float));
- vkStream->read((float*)&forUnmarshaling->y, sizeof(float));
-}
-
-void marshal_VkSampleLocationsInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkSampleLocationsInfoEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkSampleCountFlagBits*)&forMarshaling->sampleLocationsPerPixel, sizeof(VkSampleCountFlagBits));
- marshal_VkExtent2D(vkStream, (VkExtent2D*)(&forMarshaling->sampleLocationGridSize));
- vkStream->write((uint32_t*)&forMarshaling->sampleLocationsCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->sampleLocationsCount; ++i)
- {
- marshal_VkSampleLocationEXT(vkStream, (const VkSampleLocationEXT*)(forMarshaling->pSampleLocations + i));
- }
-}
-
-void unmarshal_VkSampleLocationsInfoEXT(
- VulkanStreamGuest* vkStream,
- VkSampleLocationsInfoEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkSampleCountFlagBits*)&forUnmarshaling->sampleLocationsPerPixel, sizeof(VkSampleCountFlagBits));
- unmarshal_VkExtent2D(vkStream, (VkExtent2D*)(&forUnmarshaling->sampleLocationGridSize));
- vkStream->read((uint32_t*)&forUnmarshaling->sampleLocationsCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->sampleLocationsCount; ++i)
- {
- unmarshal_VkSampleLocationEXT(vkStream, (VkSampleLocationEXT*)(forUnmarshaling->pSampleLocations + i));
- }
-}
-
-void marshal_VkAttachmentSampleLocationsEXT(
- VulkanStreamGuest* vkStream,
- const VkAttachmentSampleLocationsEXT* forMarshaling)
-{
- vkStream->write((uint32_t*)&forMarshaling->attachmentIndex, sizeof(uint32_t));
- marshal_VkSampleLocationsInfoEXT(vkStream, (VkSampleLocationsInfoEXT*)(&forMarshaling->sampleLocationsInfo));
-}
-
-void unmarshal_VkAttachmentSampleLocationsEXT(
- VulkanStreamGuest* vkStream,
- VkAttachmentSampleLocationsEXT* forUnmarshaling)
-{
- vkStream->read((uint32_t*)&forUnmarshaling->attachmentIndex, sizeof(uint32_t));
- unmarshal_VkSampleLocationsInfoEXT(vkStream, (VkSampleLocationsInfoEXT*)(&forUnmarshaling->sampleLocationsInfo));
-}
-
-void marshal_VkSubpassSampleLocationsEXT(
- VulkanStreamGuest* vkStream,
- const VkSubpassSampleLocationsEXT* forMarshaling)
-{
- vkStream->write((uint32_t*)&forMarshaling->subpassIndex, sizeof(uint32_t));
- marshal_VkSampleLocationsInfoEXT(vkStream, (VkSampleLocationsInfoEXT*)(&forMarshaling->sampleLocationsInfo));
-}
-
-void unmarshal_VkSubpassSampleLocationsEXT(
- VulkanStreamGuest* vkStream,
- VkSubpassSampleLocationsEXT* forUnmarshaling)
-{
- vkStream->read((uint32_t*)&forUnmarshaling->subpassIndex, sizeof(uint32_t));
- unmarshal_VkSampleLocationsInfoEXT(vkStream, (VkSampleLocationsInfoEXT*)(&forUnmarshaling->sampleLocationsInfo));
-}
-
-void marshal_VkRenderPassSampleLocationsBeginInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkRenderPassSampleLocationsBeginInfoEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->attachmentInitialSampleLocationsCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->attachmentInitialSampleLocationsCount; ++i)
- {
- marshal_VkAttachmentSampleLocationsEXT(vkStream, (const VkAttachmentSampleLocationsEXT*)(forMarshaling->pAttachmentInitialSampleLocations + i));
- }
- vkStream->write((uint32_t*)&forMarshaling->postSubpassSampleLocationsCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->postSubpassSampleLocationsCount; ++i)
- {
- marshal_VkSubpassSampleLocationsEXT(vkStream, (const VkSubpassSampleLocationsEXT*)(forMarshaling->pPostSubpassSampleLocations + i));
- }
-}
-
-void unmarshal_VkRenderPassSampleLocationsBeginInfoEXT(
- VulkanStreamGuest* vkStream,
- VkRenderPassSampleLocationsBeginInfoEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->attachmentInitialSampleLocationsCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->attachmentInitialSampleLocationsCount; ++i)
- {
- unmarshal_VkAttachmentSampleLocationsEXT(vkStream, (VkAttachmentSampleLocationsEXT*)(forUnmarshaling->pAttachmentInitialSampleLocations + i));
- }
- vkStream->read((uint32_t*)&forUnmarshaling->postSubpassSampleLocationsCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->postSubpassSampleLocationsCount; ++i)
- {
- unmarshal_VkSubpassSampleLocationsEXT(vkStream, (VkSubpassSampleLocationsEXT*)(forUnmarshaling->pPostSubpassSampleLocations + i));
- }
-}
-
-void marshal_VkPipelineSampleLocationsStateCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkPipelineSampleLocationsStateCreateInfoEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkBool32*)&forMarshaling->sampleLocationsEnable, sizeof(VkBool32));
- marshal_VkSampleLocationsInfoEXT(vkStream, (VkSampleLocationsInfoEXT*)(&forMarshaling->sampleLocationsInfo));
-}
-
-void unmarshal_VkPipelineSampleLocationsStateCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- VkPipelineSampleLocationsStateCreateInfoEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkBool32*)&forUnmarshaling->sampleLocationsEnable, sizeof(VkBool32));
- unmarshal_VkSampleLocationsInfoEXT(vkStream, (VkSampleLocationsInfoEXT*)(&forUnmarshaling->sampleLocationsInfo));
-}
-
-void marshal_VkPhysicalDeviceSampleLocationsPropertiesEXT(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceSampleLocationsPropertiesEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkSampleCountFlags*)&forMarshaling->sampleLocationSampleCounts, sizeof(VkSampleCountFlags));
- marshal_VkExtent2D(vkStream, (VkExtent2D*)(&forMarshaling->maxSampleLocationGridSize));
- vkStream->write((float*)forMarshaling->sampleLocationCoordinateRange, 2 * sizeof(float));
- vkStream->write((uint32_t*)&forMarshaling->sampleLocationSubPixelBits, sizeof(uint32_t));
- vkStream->write((VkBool32*)&forMarshaling->variableSampleLocations, sizeof(VkBool32));
-}
-
-void unmarshal_VkPhysicalDeviceSampleLocationsPropertiesEXT(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceSampleLocationsPropertiesEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkSampleCountFlags*)&forUnmarshaling->sampleLocationSampleCounts, sizeof(VkSampleCountFlags));
- unmarshal_VkExtent2D(vkStream, (VkExtent2D*)(&forUnmarshaling->maxSampleLocationGridSize));
- vkStream->read((float*)forUnmarshaling->sampleLocationCoordinateRange, 2 * sizeof(float));
- vkStream->read((uint32_t*)&forUnmarshaling->sampleLocationSubPixelBits, sizeof(uint32_t));
- vkStream->read((VkBool32*)&forUnmarshaling->variableSampleLocations, sizeof(VkBool32));
-}
-
-void marshal_VkMultisamplePropertiesEXT(
- VulkanStreamGuest* vkStream,
- const VkMultisamplePropertiesEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- marshal_VkExtent2D(vkStream, (VkExtent2D*)(&forMarshaling->maxSampleLocationGridSize));
-}
-
-void unmarshal_VkMultisamplePropertiesEXT(
- VulkanStreamGuest* vkStream,
- VkMultisamplePropertiesEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- unmarshal_VkExtent2D(vkStream, (VkExtent2D*)(&forUnmarshaling->maxSampleLocationGridSize));
-}
-
-#endif
-#ifdef VK_EXT_blend_operation_advanced
-void marshal_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkBool32*)&forMarshaling->advancedBlendCoherentOperations, sizeof(VkBool32));
-}
-
-void unmarshal_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkBool32*)&forUnmarshaling->advancedBlendCoherentOperations, sizeof(VkBool32));
-}
-
-void marshal_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->advancedBlendMaxColorAttachments, sizeof(uint32_t));
- vkStream->write((VkBool32*)&forMarshaling->advancedBlendIndependentBlend, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->advancedBlendNonPremultipliedSrcColor, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->advancedBlendNonPremultipliedDstColor, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->advancedBlendCorrelatedOverlap, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->advancedBlendAllOperations, sizeof(VkBool32));
-}
-
-void unmarshal_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->advancedBlendMaxColorAttachments, sizeof(uint32_t));
- vkStream->read((VkBool32*)&forUnmarshaling->advancedBlendIndependentBlend, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->advancedBlendNonPremultipliedSrcColor, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->advancedBlendNonPremultipliedDstColor, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->advancedBlendCorrelatedOverlap, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->advancedBlendAllOperations, sizeof(VkBool32));
-}
-
-void marshal_VkPipelineColorBlendAdvancedStateCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkPipelineColorBlendAdvancedStateCreateInfoEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkBool32*)&forMarshaling->srcPremultiplied, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->dstPremultiplied, sizeof(VkBool32));
- vkStream->write((VkBlendOverlapEXT*)&forMarshaling->blendOverlap, sizeof(VkBlendOverlapEXT));
-}
-
-void unmarshal_VkPipelineColorBlendAdvancedStateCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- VkPipelineColorBlendAdvancedStateCreateInfoEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkBool32*)&forUnmarshaling->srcPremultiplied, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->dstPremultiplied, sizeof(VkBool32));
- vkStream->read((VkBlendOverlapEXT*)&forUnmarshaling->blendOverlap, sizeof(VkBlendOverlapEXT));
-}
-
-#endif
-#ifdef VK_NV_fragment_coverage_to_color
-void marshal_VkPipelineCoverageToColorStateCreateInfoNV(
- VulkanStreamGuest* vkStream,
- const VkPipelineCoverageToColorStateCreateInfoNV* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkPipelineCoverageToColorStateCreateFlagsNV*)&forMarshaling->flags, sizeof(VkPipelineCoverageToColorStateCreateFlagsNV));
- vkStream->write((VkBool32*)&forMarshaling->coverageToColorEnable, sizeof(VkBool32));
- vkStream->write((uint32_t*)&forMarshaling->coverageToColorLocation, sizeof(uint32_t));
-}
-
-void unmarshal_VkPipelineCoverageToColorStateCreateInfoNV(
- VulkanStreamGuest* vkStream,
- VkPipelineCoverageToColorStateCreateInfoNV* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkPipelineCoverageToColorStateCreateFlagsNV*)&forUnmarshaling->flags, sizeof(VkPipelineCoverageToColorStateCreateFlagsNV));
- vkStream->read((VkBool32*)&forUnmarshaling->coverageToColorEnable, sizeof(VkBool32));
- vkStream->read((uint32_t*)&forUnmarshaling->coverageToColorLocation, sizeof(uint32_t));
-}
-
-#endif
-#ifdef VK_NV_framebuffer_mixed_samples
-void marshal_VkPipelineCoverageModulationStateCreateInfoNV(
- VulkanStreamGuest* vkStream,
- const VkPipelineCoverageModulationStateCreateInfoNV* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkPipelineCoverageModulationStateCreateFlagsNV*)&forMarshaling->flags, sizeof(VkPipelineCoverageModulationStateCreateFlagsNV));
- vkStream->write((VkCoverageModulationModeNV*)&forMarshaling->coverageModulationMode, sizeof(VkCoverageModulationModeNV));
- vkStream->write((VkBool32*)&forMarshaling->coverageModulationTableEnable, sizeof(VkBool32));
- vkStream->write((uint32_t*)&forMarshaling->coverageModulationTableCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- uint64_t cgen_var_362 = (uint64_t)(uintptr_t)forMarshaling->pCoverageModulationTable;
- vkStream->putBe64(cgen_var_362);
- if (forMarshaling->pCoverageModulationTable)
- {
- vkStream->write((const float*)forMarshaling->pCoverageModulationTable, forMarshaling->coverageModulationTableCount * sizeof(const float));
- }
-}
-
-void unmarshal_VkPipelineCoverageModulationStateCreateInfoNV(
- VulkanStreamGuest* vkStream,
- VkPipelineCoverageModulationStateCreateInfoNV* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkPipelineCoverageModulationStateCreateFlagsNV*)&forUnmarshaling->flags, sizeof(VkPipelineCoverageModulationStateCreateFlagsNV));
- vkStream->read((VkCoverageModulationModeNV*)&forUnmarshaling->coverageModulationMode, sizeof(VkCoverageModulationModeNV));
- vkStream->read((VkBool32*)&forUnmarshaling->coverageModulationTableEnable, sizeof(VkBool32));
- vkStream->read((uint32_t*)&forUnmarshaling->coverageModulationTableCount, sizeof(uint32_t));
- // WARNING PTR CHECK
- const float* check_pCoverageModulationTable;
- check_pCoverageModulationTable = (const float*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pCoverageModulationTable)
- {
- if (!(check_pCoverageModulationTable))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pCoverageModulationTable inconsistent between guest and host\n");
- }
- vkStream->read((float*)forUnmarshaling->pCoverageModulationTable, forUnmarshaling->coverageModulationTableCount * sizeof(const float));
- }
-}
-
-#endif
-#ifdef VK_NV_fill_rectangle
-#endif
-#ifdef VK_EXT_post_depth_coverage
-#endif
-#ifdef VK_EXT_validation_cache
-void marshal_VkValidationCacheCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkValidationCacheCreateInfoEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkValidationCacheCreateFlagsEXT*)&forMarshaling->flags, sizeof(VkValidationCacheCreateFlagsEXT));
- uint64_t cgen_var_364 = (uint64_t)forMarshaling->initialDataSize;
- vkStream->putBe64(cgen_var_364);
- vkStream->write((const void*)forMarshaling->pInitialData, forMarshaling->initialDataSize * sizeof(const uint8_t));
-}
-
-void unmarshal_VkValidationCacheCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- VkValidationCacheCreateInfoEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkValidationCacheCreateFlagsEXT*)&forUnmarshaling->flags, sizeof(VkValidationCacheCreateFlagsEXT));
- forUnmarshaling->initialDataSize = (size_t)vkStream->getBe64();
- vkStream->read((void*)forUnmarshaling->pInitialData, forUnmarshaling->initialDataSize * sizeof(const uint8_t));
-}
-
-void marshal_VkShaderModuleValidationCacheCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkShaderModuleValidationCacheCreateInfoEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- uint64_t cgen_var_366;
- vkStream->handleMapping()->mapHandles_VkValidationCacheEXT_u64(&forMarshaling->validationCache, &cgen_var_366, 1);
- vkStream->write((uint64_t*)&cgen_var_366, 1 * 8);
-}
-
-void unmarshal_VkShaderModuleValidationCacheCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- VkShaderModuleValidationCacheCreateInfoEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- uint64_t cgen_var_367;
- vkStream->read((uint64_t*)&cgen_var_367, 1 * 8);
- vkStream->handleMapping()->mapHandles_u64_VkValidationCacheEXT(&cgen_var_367, (VkValidationCacheEXT*)&forUnmarshaling->validationCache, 1);
-}
-
-#endif
-#ifdef VK_EXT_descriptor_indexing
-void marshal_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkDescriptorSetLayoutBindingFlagsCreateInfoEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->bindingCount, sizeof(uint32_t));
- vkStream->write((const VkDescriptorBindingFlagsEXT*)forMarshaling->pBindingFlags, forMarshaling->bindingCount * sizeof(const VkDescriptorBindingFlagsEXT));
-}
-
-void unmarshal_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- VkDescriptorSetLayoutBindingFlagsCreateInfoEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->bindingCount, sizeof(uint32_t));
- vkStream->read((VkDescriptorBindingFlagsEXT*)forUnmarshaling->pBindingFlags, forUnmarshaling->bindingCount * sizeof(const VkDescriptorBindingFlagsEXT));
-}
-
-void marshal_VkPhysicalDeviceDescriptorIndexingFeaturesEXT(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceDescriptorIndexingFeaturesEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkBool32*)&forMarshaling->shaderInputAttachmentArrayDynamicIndexing, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->shaderUniformTexelBufferArrayDynamicIndexing, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->shaderStorageTexelBufferArrayDynamicIndexing, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->shaderUniformBufferArrayNonUniformIndexing, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->shaderSampledImageArrayNonUniformIndexing, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->shaderStorageBufferArrayNonUniformIndexing, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageArrayNonUniformIndexing, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->shaderInputAttachmentArrayNonUniformIndexing, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->shaderUniformTexelBufferArrayNonUniformIndexing, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->shaderStorageTexelBufferArrayNonUniformIndexing, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->descriptorBindingUniformBufferUpdateAfterBind, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->descriptorBindingSampledImageUpdateAfterBind, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->descriptorBindingStorageImageUpdateAfterBind, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->descriptorBindingStorageBufferUpdateAfterBind, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->descriptorBindingUniformTexelBufferUpdateAfterBind, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->descriptorBindingStorageTexelBufferUpdateAfterBind, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->descriptorBindingUpdateUnusedWhilePending, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->descriptorBindingPartiallyBound, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->descriptorBindingVariableDescriptorCount, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->runtimeDescriptorArray, sizeof(VkBool32));
-}
-
-void unmarshal_VkPhysicalDeviceDescriptorIndexingFeaturesEXT(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceDescriptorIndexingFeaturesEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkBool32*)&forUnmarshaling->shaderInputAttachmentArrayDynamicIndexing, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->shaderUniformTexelBufferArrayDynamicIndexing, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageTexelBufferArrayDynamicIndexing, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->shaderUniformBufferArrayNonUniformIndexing, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->shaderSampledImageArrayNonUniformIndexing, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageBufferArrayNonUniformIndexing, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageArrayNonUniformIndexing, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->shaderInputAttachmentArrayNonUniformIndexing, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->shaderUniformTexelBufferArrayNonUniformIndexing, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageTexelBufferArrayNonUniformIndexing, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingUniformBufferUpdateAfterBind, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingSampledImageUpdateAfterBind, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingStorageImageUpdateAfterBind, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingStorageBufferUpdateAfterBind, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingUniformTexelBufferUpdateAfterBind, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingStorageTexelBufferUpdateAfterBind, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingUpdateUnusedWhilePending, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingPartiallyBound, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->descriptorBindingVariableDescriptorCount, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->runtimeDescriptorArray, sizeof(VkBool32));
-}
-
-void marshal_VkPhysicalDeviceDescriptorIndexingPropertiesEXT(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceDescriptorIndexingPropertiesEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->maxUpdateAfterBindDescriptorsInAllPools, sizeof(uint32_t));
- vkStream->write((VkBool32*)&forMarshaling->shaderUniformBufferArrayNonUniformIndexingNative, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->shaderSampledImageArrayNonUniformIndexingNative, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->shaderStorageBufferArrayNonUniformIndexingNative, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->shaderStorageImageArrayNonUniformIndexingNative, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->shaderInputAttachmentArrayNonUniformIndexingNative, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->robustBufferAccessUpdateAfterBind, sizeof(VkBool32));
- vkStream->write((VkBool32*)&forMarshaling->quadDivergentImplicitLod, sizeof(VkBool32));
- vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindSamplers, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindUniformBuffers, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindStorageBuffers, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindSampledImages, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindStorageImages, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxPerStageDescriptorUpdateAfterBindInputAttachments, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxPerStageUpdateAfterBindResources, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindSamplers, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindUniformBuffers, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindStorageBuffers, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindSampledImages, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindStorageImages, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxDescriptorSetUpdateAfterBindInputAttachments, sizeof(uint32_t));
-}
-
-void unmarshal_VkPhysicalDeviceDescriptorIndexingPropertiesEXT(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceDescriptorIndexingPropertiesEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->maxUpdateAfterBindDescriptorsInAllPools, sizeof(uint32_t));
- vkStream->read((VkBool32*)&forUnmarshaling->shaderUniformBufferArrayNonUniformIndexingNative, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->shaderSampledImageArrayNonUniformIndexingNative, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageBufferArrayNonUniformIndexingNative, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->shaderStorageImageArrayNonUniformIndexingNative, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->shaderInputAttachmentArrayNonUniformIndexingNative, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->robustBufferAccessUpdateAfterBind, sizeof(VkBool32));
- vkStream->read((VkBool32*)&forUnmarshaling->quadDivergentImplicitLod, sizeof(VkBool32));
- vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindSamplers, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindUniformBuffers, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindStorageBuffers, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindSampledImages, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindStorageImages, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageDescriptorUpdateAfterBindInputAttachments, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxPerStageUpdateAfterBindResources, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindSamplers, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindUniformBuffers, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindStorageBuffers, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindSampledImages, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindStorageImages, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxDescriptorSetUpdateAfterBindInputAttachments, sizeof(uint32_t));
-}
-
-void marshal_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkDescriptorSetVariableDescriptorCountAllocateInfoEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->descriptorSetCount, sizeof(uint32_t));
- vkStream->write((const uint32_t*)forMarshaling->pDescriptorCounts, forMarshaling->descriptorSetCount * sizeof(const uint32_t));
-}
-
-void unmarshal_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT(
- VulkanStreamGuest* vkStream,
- VkDescriptorSetVariableDescriptorCountAllocateInfoEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->descriptorSetCount, sizeof(uint32_t));
- vkStream->read((uint32_t*)forUnmarshaling->pDescriptorCounts, forUnmarshaling->descriptorSetCount * sizeof(const uint32_t));
-}
-
-void marshal_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT(
- VulkanStreamGuest* vkStream,
- const VkDescriptorSetVariableDescriptorCountLayoutSupportEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->maxVariableDescriptorCount, sizeof(uint32_t));
-}
-
-void unmarshal_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT(
- VulkanStreamGuest* vkStream,
- VkDescriptorSetVariableDescriptorCountLayoutSupportEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->maxVariableDescriptorCount, sizeof(uint32_t));
-}
-
-#endif
-#ifdef VK_EXT_shader_viewport_index_layer
-#endif
-#ifdef VK_EXT_global_priority
-void marshal_VkDeviceQueueGlobalPriorityCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkDeviceQueueGlobalPriorityCreateInfoEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkQueueGlobalPriorityEXT*)&forMarshaling->globalPriority, sizeof(VkQueueGlobalPriorityEXT));
-}
-
-void unmarshal_VkDeviceQueueGlobalPriorityCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- VkDeviceQueueGlobalPriorityCreateInfoEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkQueueGlobalPriorityEXT*)&forUnmarshaling->globalPriority, sizeof(VkQueueGlobalPriorityEXT));
-}
-
-#endif
-#ifdef VK_EXT_external_memory_host
-void marshal_VkImportMemoryHostPointerInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkImportMemoryHostPointerInfoEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkExternalMemoryHandleTypeFlagBits*)&forMarshaling->handleType, sizeof(VkExternalMemoryHandleTypeFlagBits));
- // WARNING PTR CHECK
- uint64_t cgen_var_368 = (uint64_t)(uintptr_t)forMarshaling->pHostPointer;
- vkStream->putBe64(cgen_var_368);
- if (forMarshaling->pHostPointer)
- {
- vkStream->write((void*)forMarshaling->pHostPointer, sizeof(uint8_t));
- }
-}
-
-void unmarshal_VkImportMemoryHostPointerInfoEXT(
- VulkanStreamGuest* vkStream,
- VkImportMemoryHostPointerInfoEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkExternalMemoryHandleTypeFlagBits*)&forUnmarshaling->handleType, sizeof(VkExternalMemoryHandleTypeFlagBits));
- // WARNING PTR CHECK
- void* check_pHostPointer;
- check_pHostPointer = (void*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pHostPointer)
- {
- if (!(check_pHostPointer))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pHostPointer inconsistent between guest and host\n");
- }
- vkStream->read((void*)forUnmarshaling->pHostPointer, sizeof(uint8_t));
- }
-}
-
-void marshal_VkMemoryHostPointerPropertiesEXT(
- VulkanStreamGuest* vkStream,
- const VkMemoryHostPointerPropertiesEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->memoryTypeBits, sizeof(uint32_t));
-}
-
-void unmarshal_VkMemoryHostPointerPropertiesEXT(
- VulkanStreamGuest* vkStream,
- VkMemoryHostPointerPropertiesEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->memoryTypeBits, sizeof(uint32_t));
-}
-
-void marshal_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceExternalMemoryHostPropertiesEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkDeviceSize*)&forMarshaling->minImportedHostPointerAlignment, sizeof(VkDeviceSize));
-}
-
-void unmarshal_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceExternalMemoryHostPropertiesEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkDeviceSize*)&forUnmarshaling->minImportedHostPointerAlignment, sizeof(VkDeviceSize));
-}
-
-#endif
-#ifdef VK_AMD_buffer_marker
-#endif
-#ifdef VK_AMD_shader_core_properties
-void marshal_VkPhysicalDeviceShaderCorePropertiesAMD(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceShaderCorePropertiesAMD* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->shaderEngineCount, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->shaderArraysPerEngineCount, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->computeUnitsPerShaderArray, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->simdPerComputeUnit, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->wavefrontsPerSimd, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->wavefrontSize, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->sgprsPerSimd, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->minSgprAllocation, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxSgprAllocation, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->sgprAllocationGranularity, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->vgprsPerSimd, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->minVgprAllocation, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->maxVgprAllocation, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->vgprAllocationGranularity, sizeof(uint32_t));
-}
-
-void unmarshal_VkPhysicalDeviceShaderCorePropertiesAMD(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceShaderCorePropertiesAMD* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->shaderEngineCount, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->shaderArraysPerEngineCount, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->computeUnitsPerShaderArray, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->simdPerComputeUnit, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->wavefrontsPerSimd, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->wavefrontSize, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->sgprsPerSimd, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->minSgprAllocation, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxSgprAllocation, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->sgprAllocationGranularity, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->vgprsPerSimd, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->minVgprAllocation, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->maxVgprAllocation, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->vgprAllocationGranularity, sizeof(uint32_t));
-}
-
-#endif
-#ifdef VK_EXT_vertex_attribute_divisor
-void marshal_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->maxVertexAttribDivisor, sizeof(uint32_t));
-}
-
-void unmarshal_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->maxVertexAttribDivisor, sizeof(uint32_t));
-}
-
-void marshal_VkVertexInputBindingDivisorDescriptionEXT(
- VulkanStreamGuest* vkStream,
- const VkVertexInputBindingDivisorDescriptionEXT* forMarshaling)
-{
- vkStream->write((uint32_t*)&forMarshaling->binding, sizeof(uint32_t));
- vkStream->write((uint32_t*)&forMarshaling->divisor, sizeof(uint32_t));
-}
-
-void unmarshal_VkVertexInputBindingDivisorDescriptionEXT(
- VulkanStreamGuest* vkStream,
- VkVertexInputBindingDivisorDescriptionEXT* forUnmarshaling)
-{
- vkStream->read((uint32_t*)&forUnmarshaling->binding, sizeof(uint32_t));
- vkStream->read((uint32_t*)&forUnmarshaling->divisor, sizeof(uint32_t));
-}
-
-void marshal_VkPipelineVertexInputDivisorStateCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkPipelineVertexInputDivisorStateCreateInfoEXT* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->vertexBindingDivisorCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forMarshaling->vertexBindingDivisorCount; ++i)
- {
- marshal_VkVertexInputBindingDivisorDescriptionEXT(vkStream, (const VkVertexInputBindingDivisorDescriptionEXT*)(forMarshaling->pVertexBindingDivisors + i));
- }
-}
-
-void unmarshal_VkPipelineVertexInputDivisorStateCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- VkPipelineVertexInputDivisorStateCreateInfoEXT* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->vertexBindingDivisorCount, sizeof(uint32_t));
- for (uint32_t i = 0; i < (uint32_t)forUnmarshaling->vertexBindingDivisorCount; ++i)
- {
- unmarshal_VkVertexInputBindingDivisorDescriptionEXT(vkStream, (VkVertexInputBindingDivisorDescriptionEXT*)(forUnmarshaling->pVertexBindingDivisors + i));
- }
-}
-
-#endif
-#ifdef VK_NV_shader_subgroup_partitioned
-#endif
-#ifdef VK_NV_device_diagnostic_checkpoints
-void marshal_VkQueueFamilyCheckpointPropertiesNV(
- VulkanStreamGuest* vkStream,
- const VkQueueFamilyCheckpointPropertiesNV* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkPipelineStageFlags*)&forMarshaling->checkpointExecutionStageMask, sizeof(VkPipelineStageFlags));
-}
-
-void unmarshal_VkQueueFamilyCheckpointPropertiesNV(
- VulkanStreamGuest* vkStream,
- VkQueueFamilyCheckpointPropertiesNV* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkPipelineStageFlags*)&forUnmarshaling->checkpointExecutionStageMask, sizeof(VkPipelineStageFlags));
-}
-
-void marshal_VkCheckpointDataNV(
- VulkanStreamGuest* vkStream,
- const VkCheckpointDataNV* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((VkPipelineStageFlagBits*)&forMarshaling->stage, sizeof(VkPipelineStageFlagBits));
- // WARNING PTR CHECK
- uint64_t cgen_var_370 = (uint64_t)(uintptr_t)forMarshaling->pCheckpointMarker;
- vkStream->putBe64(cgen_var_370);
- if (forMarshaling->pCheckpointMarker)
- {
- vkStream->write((void*)forMarshaling->pCheckpointMarker, sizeof(uint8_t));
- }
-}
-
-void unmarshal_VkCheckpointDataNV(
- VulkanStreamGuest* vkStream,
- VkCheckpointDataNV* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((VkPipelineStageFlagBits*)&forUnmarshaling->stage, sizeof(VkPipelineStageFlagBits));
- // WARNING PTR CHECK
- void* check_pCheckpointMarker;
- check_pCheckpointMarker = (void*)(uintptr_t)vkStream->getBe64();
- if (forUnmarshaling->pCheckpointMarker)
- {
- if (!(check_pCheckpointMarker))
- {
- fprintf(stderr, "fatal: forUnmarshaling->pCheckpointMarker inconsistent between guest and host\n");
- }
- vkStream->read((void*)forUnmarshaling->pCheckpointMarker, sizeof(uint8_t));
- }
-}
-
-#endif
-#ifdef VK_GOOGLE_address_space
-#endif
-#ifdef VK_GOOGLE_color_buffer
-void marshal_VkImportColorBufferGOOGLE(
- VulkanStreamGuest* vkStream,
- const VkImportColorBufferGOOGLE* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->colorBuffer, sizeof(uint32_t));
-}
-
-void unmarshal_VkImportColorBufferGOOGLE(
- VulkanStreamGuest* vkStream,
- VkImportColorBufferGOOGLE* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->colorBuffer, sizeof(uint32_t));
-}
-
-void marshal_VkImportBufferGOOGLE(
- VulkanStreamGuest* vkStream,
- const VkImportBufferGOOGLE* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint32_t*)&forMarshaling->buffer, sizeof(uint32_t));
-}
-
-void unmarshal_VkImportBufferGOOGLE(
- VulkanStreamGuest* vkStream,
- VkImportBufferGOOGLE* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint32_t*)&forUnmarshaling->buffer, sizeof(uint32_t));
-}
-
-void marshal_VkImportPhysicalAddressGOOGLE(
- VulkanStreamGuest* vkStream,
- const VkImportPhysicalAddressGOOGLE* forMarshaling)
-{
- vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
- marshal_extension_struct(vkStream, forMarshaling->pNext);
- vkStream->write((uint64_t*)&forMarshaling->physicalAddress, sizeof(uint64_t));
- vkStream->write((VkDeviceSize*)&forMarshaling->size, sizeof(VkDeviceSize));
- vkStream->write((VkFormat*)&forMarshaling->format, sizeof(VkFormat));
- vkStream->write((VkImageTiling*)&forMarshaling->tiling, sizeof(VkImageTiling));
- vkStream->write((uint32_t*)&forMarshaling->tilingParameter, sizeof(uint32_t));
-}
-
-void unmarshal_VkImportPhysicalAddressGOOGLE(
- VulkanStreamGuest* vkStream,
- VkImportPhysicalAddressGOOGLE* forUnmarshaling)
-{
- vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
- unmarshal_extension_struct(vkStream, (void*)(forUnmarshaling->pNext));
- vkStream->read((uint64_t*)&forUnmarshaling->physicalAddress, sizeof(uint64_t));
- vkStream->read((VkDeviceSize*)&forUnmarshaling->size, sizeof(VkDeviceSize));
- vkStream->read((VkFormat*)&forUnmarshaling->format, sizeof(VkFormat));
- vkStream->read((VkImageTiling*)&forUnmarshaling->tiling, sizeof(VkImageTiling));
- vkStream->read((uint32_t*)&forUnmarshaling->tilingParameter, sizeof(uint32_t));
-}
-
-#endif
-#ifdef VK_GOOGLE_sized_descriptor_update_template
-#endif
-#ifdef VK_GOOGLE_async_command_buffers
-#endif
-#ifdef VK_GOOGLE_create_resources_with_requirements
-#endif
-#ifdef VK_GOOGLE_address_space_info
-#endif
-#ifdef VK_GOOGLE_free_memory_sync
-#endif
-#ifdef VK_GOOGLE_async_queue_submit
-#endif
-#ifdef VK_GOOGLE_linear_image_layout
-#endif
-void marshal_extension_struct(
- VulkanStreamGuest* vkStream,
- const void* structExtension)
-{
- VkInstanceCreateInfo* structAccess = (VkInstanceCreateInfo*)(structExtension);
- size_t currExtSize = goldfish_vk_extension_struct_size_with_stream_features(vkStream->getFeatureBits(), structExtension);
- if (!currExtSize && structExtension)
- {
- // unknown struct extension; skip and call on its pNext field
- marshal_extension_struct(vkStream, (void*)structAccess->pNext);
- return;
- }
- else
- {
- // known or null extension struct
- vkStream->putBe32(currExtSize);
- if (!currExtSize)
- {
- // exit if this was a null extension struct (size == 0 in this branch)
- return;
- }
- }
- vkStream->write(structExtension, sizeof(VkStructureType));
- if (!structExtension)
- {
- return;
- }
- uint32_t structType = (uint32_t)goldfish_vk_struct_type(structExtension);
- switch(structType)
- {
-#ifdef VK_VERSION_1_1
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES:
- {
- marshal_VkPhysicalDeviceSubgroupProperties(vkStream, reinterpret_cast<const VkPhysicalDeviceSubgroupProperties*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:
- {
- marshal_VkPhysicalDevice16BitStorageFeatures(vkStream, reinterpret_cast<const VkPhysicalDevice16BitStorageFeatures*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS:
- {
- marshal_VkMemoryDedicatedRequirements(vkStream, reinterpret_cast<const VkMemoryDedicatedRequirements*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO:
- {
- marshal_VkMemoryDedicatedAllocateInfo(vkStream, reinterpret_cast<const VkMemoryDedicatedAllocateInfo*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO:
- {
- marshal_VkMemoryAllocateFlagsInfo(vkStream, reinterpret_cast<const VkMemoryAllocateFlagsInfo*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO:
- {
- marshal_VkDeviceGroupRenderPassBeginInfo(vkStream, reinterpret_cast<const VkDeviceGroupRenderPassBeginInfo*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO:
- {
- marshal_VkDeviceGroupCommandBufferBeginInfo(vkStream, reinterpret_cast<const VkDeviceGroupCommandBufferBeginInfo*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO:
- {
- marshal_VkDeviceGroupSubmitInfo(vkStream, reinterpret_cast<const VkDeviceGroupSubmitInfo*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO:
- {
- marshal_VkDeviceGroupBindSparseInfo(vkStream, reinterpret_cast<const VkDeviceGroupBindSparseInfo*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO:
- {
- marshal_VkBindBufferMemoryDeviceGroupInfo(vkStream, reinterpret_cast<const VkBindBufferMemoryDeviceGroupInfo*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO:
- {
- marshal_VkBindImageMemoryDeviceGroupInfo(vkStream, reinterpret_cast<const VkBindImageMemoryDeviceGroupInfo*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO:
- {
- marshal_VkDeviceGroupDeviceCreateInfo(vkStream, reinterpret_cast<const VkDeviceGroupDeviceCreateInfo*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2:
- {
- marshal_VkPhysicalDeviceFeatures2(vkStream, reinterpret_cast<const VkPhysicalDeviceFeatures2*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES:
- {
- marshal_VkPhysicalDevicePointClippingProperties(vkStream, reinterpret_cast<const VkPhysicalDevicePointClippingProperties*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO:
- {
- marshal_VkRenderPassInputAttachmentAspectCreateInfo(vkStream, reinterpret_cast<const VkRenderPassInputAttachmentAspectCreateInfo*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO:
- {
- marshal_VkImageViewUsageCreateInfo(vkStream, reinterpret_cast<const VkImageViewUsageCreateInfo*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO:
- {
- marshal_VkPipelineTessellationDomainOriginStateCreateInfo(vkStream, reinterpret_cast<const VkPipelineTessellationDomainOriginStateCreateInfo*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO:
- {
- marshal_VkRenderPassMultiviewCreateInfo(vkStream, reinterpret_cast<const VkRenderPassMultiviewCreateInfo*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:
- {
- marshal_VkPhysicalDeviceMultiviewFeatures(vkStream, reinterpret_cast<const VkPhysicalDeviceMultiviewFeatures*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES:
- {
- marshal_VkPhysicalDeviceMultiviewProperties(vkStream, reinterpret_cast<const VkPhysicalDeviceMultiviewProperties*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES:
- {
- marshal_VkPhysicalDeviceVariablePointerFeatures(vkStream, reinterpret_cast<const VkPhysicalDeviceVariablePointerFeatures*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:
- {
- marshal_VkPhysicalDeviceProtectedMemoryFeatures(vkStream, reinterpret_cast<const VkPhysicalDeviceProtectedMemoryFeatures*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES:
- {
- marshal_VkPhysicalDeviceProtectedMemoryProperties(vkStream, reinterpret_cast<const VkPhysicalDeviceProtectedMemoryProperties*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO:
- {
- marshal_VkProtectedSubmitInfo(vkStream, reinterpret_cast<const VkProtectedSubmitInfo*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO:
- {
- marshal_VkSamplerYcbcrConversionInfo(vkStream, reinterpret_cast<const VkSamplerYcbcrConversionInfo*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO:
- {
- marshal_VkBindImagePlaneMemoryInfo(vkStream, reinterpret_cast<const VkBindImagePlaneMemoryInfo*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO:
- {
- marshal_VkImagePlaneMemoryRequirementsInfo(vkStream, reinterpret_cast<const VkImagePlaneMemoryRequirementsInfo*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:
- {
- marshal_VkPhysicalDeviceSamplerYcbcrConversionFeatures(vkStream, reinterpret_cast<const VkPhysicalDeviceSamplerYcbcrConversionFeatures*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES:
- {
- marshal_VkSamplerYcbcrConversionImageFormatProperties(vkStream, reinterpret_cast<const VkSamplerYcbcrConversionImageFormatProperties*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO:
- {
- marshal_VkPhysicalDeviceExternalImageFormatInfo(vkStream, reinterpret_cast<const VkPhysicalDeviceExternalImageFormatInfo*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES:
- {
- marshal_VkExternalImageFormatProperties(vkStream, reinterpret_cast<const VkExternalImageFormatProperties*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES:
- {
- marshal_VkPhysicalDeviceIDProperties(vkStream, reinterpret_cast<const VkPhysicalDeviceIDProperties*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO:
- {
- marshal_VkExternalMemoryImageCreateInfo(vkStream, reinterpret_cast<const VkExternalMemoryImageCreateInfo*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO:
- {
- marshal_VkExternalMemoryBufferCreateInfo(vkStream, reinterpret_cast<const VkExternalMemoryBufferCreateInfo*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO:
- {
- marshal_VkExportMemoryAllocateInfo(vkStream, reinterpret_cast<const VkExportMemoryAllocateInfo*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO:
- {
- marshal_VkExportFenceCreateInfo(vkStream, reinterpret_cast<const VkExportFenceCreateInfo*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO:
- {
- marshal_VkExportSemaphoreCreateInfo(vkStream, reinterpret_cast<const VkExportSemaphoreCreateInfo*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES:
- {
- marshal_VkPhysicalDeviceMaintenance3Properties(vkStream, reinterpret_cast<const VkPhysicalDeviceMaintenance3Properties*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES:
- {
- marshal_VkPhysicalDeviceShaderDrawParameterFeatures(vkStream, reinterpret_cast<const VkPhysicalDeviceShaderDrawParameterFeatures*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_KHR_swapchain
- case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR:
- {
- marshal_VkImageSwapchainCreateInfoKHR(vkStream, reinterpret_cast<const VkImageSwapchainCreateInfoKHR*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR:
- {
- marshal_VkBindImageMemorySwapchainInfoKHR(vkStream, reinterpret_cast<const VkBindImageMemorySwapchainInfoKHR*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR:
- {
- marshal_VkDeviceGroupPresentInfoKHR(vkStream, reinterpret_cast<const VkDeviceGroupPresentInfoKHR*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR:
- {
- marshal_VkDeviceGroupSwapchainCreateInfoKHR(vkStream, reinterpret_cast<const VkDeviceGroupSwapchainCreateInfoKHR*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_KHR_display_swapchain
- case VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR:
- {
- marshal_VkDisplayPresentInfoKHR(vkStream, reinterpret_cast<const VkDisplayPresentInfoKHR*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_KHR_external_memory_win32
- case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR:
- {
- marshal_VkImportMemoryWin32HandleInfoKHR(vkStream, reinterpret_cast<const VkImportMemoryWin32HandleInfoKHR*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR:
- {
- marshal_VkExportMemoryWin32HandleInfoKHR(vkStream, reinterpret_cast<const VkExportMemoryWin32HandleInfoKHR*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_KHR_external_memory_fd
- case VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR:
- {
- marshal_VkImportMemoryFdInfoKHR(vkStream, reinterpret_cast<const VkImportMemoryFdInfoKHR*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_KHR_win32_keyed_mutex
- case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR:
- {
- marshal_VkWin32KeyedMutexAcquireReleaseInfoKHR(vkStream, reinterpret_cast<const VkWin32KeyedMutexAcquireReleaseInfoKHR*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_KHR_external_semaphore_win32
- case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR:
- {
- marshal_VkExportSemaphoreWin32HandleInfoKHR(vkStream, reinterpret_cast<const VkExportSemaphoreWin32HandleInfoKHR*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR:
- {
- marshal_VkD3D12FenceSubmitInfoKHR(vkStream, reinterpret_cast<const VkD3D12FenceSubmitInfoKHR*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_KHR_push_descriptor
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR:
- {
- marshal_VkPhysicalDevicePushDescriptorPropertiesKHR(vkStream, reinterpret_cast<const VkPhysicalDevicePushDescriptorPropertiesKHR*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_KHR_incremental_present
- case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR:
- {
- marshal_VkPresentRegionsKHR(vkStream, reinterpret_cast<const VkPresentRegionsKHR*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_KHR_shared_presentable_image
- case VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR:
- {
- marshal_VkSharedPresentSurfaceCapabilitiesKHR(vkStream, reinterpret_cast<const VkSharedPresentSurfaceCapabilitiesKHR*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_KHR_external_fence_win32
- case VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR:
- {
- marshal_VkExportFenceWin32HandleInfoKHR(vkStream, reinterpret_cast<const VkExportFenceWin32HandleInfoKHR*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_KHR_image_format_list
- case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR:
- {
- marshal_VkImageFormatListCreateInfoKHR(vkStream, reinterpret_cast<const VkImageFormatListCreateInfoKHR*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_KHR_8bit_storage
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR:
- {
- marshal_VkPhysicalDevice8BitStorageFeaturesKHR(vkStream, reinterpret_cast<const VkPhysicalDevice8BitStorageFeaturesKHR*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_KHR_shader_float16_int8
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:
- {
- marshal_VkPhysicalDeviceShaderFloat16Int8Features(vkStream, reinterpret_cast<const VkPhysicalDeviceShaderFloat16Int8Features*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_ANDROID_native_buffer
- case VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID:
- {
- marshal_VkNativeBufferANDROID(vkStream, reinterpret_cast<const VkNativeBufferANDROID*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_EXT_debug_report
- case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT:
- {
- marshal_VkDebugReportCallbackCreateInfoEXT(vkStream, reinterpret_cast<const VkDebugReportCallbackCreateInfoEXT*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_AMD_rasterization_order
- case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD:
- {
- marshal_VkPipelineRasterizationStateRasterizationOrderAMD(vkStream, reinterpret_cast<const VkPipelineRasterizationStateRasterizationOrderAMD*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_NV_dedicated_allocation
- case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV:
- {
- marshal_VkDedicatedAllocationImageCreateInfoNV(vkStream, reinterpret_cast<const VkDedicatedAllocationImageCreateInfoNV*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV:
- {
- marshal_VkDedicatedAllocationBufferCreateInfoNV(vkStream, reinterpret_cast<const VkDedicatedAllocationBufferCreateInfoNV*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV:
- {
- marshal_VkDedicatedAllocationMemoryAllocateInfoNV(vkStream, reinterpret_cast<const VkDedicatedAllocationMemoryAllocateInfoNV*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_AMD_texture_gather_bias_lod
- case VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD:
- {
- marshal_VkTextureLODGatherFormatPropertiesAMD(vkStream, reinterpret_cast<const VkTextureLODGatherFormatPropertiesAMD*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_NV_external_memory
- case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV:
- {
- marshal_VkExternalMemoryImageCreateInfoNV(vkStream, reinterpret_cast<const VkExternalMemoryImageCreateInfoNV*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV:
- {
- marshal_VkExportMemoryAllocateInfoNV(vkStream, reinterpret_cast<const VkExportMemoryAllocateInfoNV*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_NV_external_memory_win32
- case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV:
- {
- marshal_VkImportMemoryWin32HandleInfoNV(vkStream, reinterpret_cast<const VkImportMemoryWin32HandleInfoNV*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV:
- {
- marshal_VkExportMemoryWin32HandleInfoNV(vkStream, reinterpret_cast<const VkExportMemoryWin32HandleInfoNV*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_NV_win32_keyed_mutex
- case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV:
- {
- marshal_VkWin32KeyedMutexAcquireReleaseInfoNV(vkStream, reinterpret_cast<const VkWin32KeyedMutexAcquireReleaseInfoNV*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_EXT_validation_flags
- case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT:
- {
- marshal_VkValidationFlagsEXT(vkStream, reinterpret_cast<const VkValidationFlagsEXT*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_EXT_conditional_rendering
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT:
- {
- marshal_VkPhysicalDeviceConditionalRenderingFeaturesEXT(vkStream, reinterpret_cast<const VkPhysicalDeviceConditionalRenderingFeaturesEXT*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT:
- {
- marshal_VkCommandBufferInheritanceConditionalRenderingInfoEXT(vkStream, reinterpret_cast<const VkCommandBufferInheritanceConditionalRenderingInfoEXT*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_NV_clip_space_w_scaling
- case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV:
- {
- marshal_VkPipelineViewportWScalingStateCreateInfoNV(vkStream, reinterpret_cast<const VkPipelineViewportWScalingStateCreateInfoNV*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_EXT_display_control
- case VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT:
- {
- marshal_VkSwapchainCounterCreateInfoEXT(vkStream, reinterpret_cast<const VkSwapchainCounterCreateInfoEXT*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_GOOGLE_display_timing
- case VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE:
- {
- marshal_VkPresentTimesInfoGOOGLE(vkStream, reinterpret_cast<const VkPresentTimesInfoGOOGLE*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_NVX_multiview_per_view_attributes
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX:
- {
- marshal_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(vkStream, reinterpret_cast<const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_NV_viewport_swizzle
- case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV:
- {
- marshal_VkPipelineViewportSwizzleStateCreateInfoNV(vkStream, reinterpret_cast<const VkPipelineViewportSwizzleStateCreateInfoNV*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_EXT_discard_rectangles
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT:
- {
- marshal_VkPhysicalDeviceDiscardRectanglePropertiesEXT(vkStream, reinterpret_cast<const VkPhysicalDeviceDiscardRectanglePropertiesEXT*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT:
- {
- marshal_VkPipelineDiscardRectangleStateCreateInfoEXT(vkStream, reinterpret_cast<const VkPipelineDiscardRectangleStateCreateInfoEXT*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_EXT_conservative_rasterization
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT:
- {
- marshal_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(vkStream, reinterpret_cast<const VkPhysicalDeviceConservativeRasterizationPropertiesEXT*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT:
- {
- marshal_VkPipelineRasterizationConservativeStateCreateInfoEXT(vkStream, reinterpret_cast<const VkPipelineRasterizationConservativeStateCreateInfoEXT*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_EXT_debug_utils
- case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT:
- {
- marshal_VkDebugUtilsMessengerCreateInfoEXT(vkStream, reinterpret_cast<const VkDebugUtilsMessengerCreateInfoEXT*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_ANDROID_external_memory_android_hardware_buffer
- case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID:
- {
- marshal_VkAndroidHardwareBufferUsageANDROID(vkStream, reinterpret_cast<const VkAndroidHardwareBufferUsageANDROID*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID:
- {
- marshal_VkAndroidHardwareBufferFormatPropertiesANDROID(vkStream, reinterpret_cast<const VkAndroidHardwareBufferFormatPropertiesANDROID*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID:
- {
- marshal_VkImportAndroidHardwareBufferInfoANDROID(vkStream, reinterpret_cast<const VkImportAndroidHardwareBufferInfoANDROID*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID:
- {
- marshal_VkExternalFormatANDROID(vkStream, reinterpret_cast<const VkExternalFormatANDROID*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_EXT_sampler_filter_minmax
- case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT:
- {
- marshal_VkSamplerReductionModeCreateInfoEXT(vkStream, reinterpret_cast<const VkSamplerReductionModeCreateInfoEXT*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT:
- {
- marshal_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT(vkStream, reinterpret_cast<const VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_EXT_sample_locations
- case VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT:
- {
- marshal_VkSampleLocationsInfoEXT(vkStream, reinterpret_cast<const VkSampleLocationsInfoEXT*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT:
- {
- marshal_VkRenderPassSampleLocationsBeginInfoEXT(vkStream, reinterpret_cast<const VkRenderPassSampleLocationsBeginInfoEXT*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT:
- {
- marshal_VkPipelineSampleLocationsStateCreateInfoEXT(vkStream, reinterpret_cast<const VkPipelineSampleLocationsStateCreateInfoEXT*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT:
- {
- marshal_VkPhysicalDeviceSampleLocationsPropertiesEXT(vkStream, reinterpret_cast<const VkPhysicalDeviceSampleLocationsPropertiesEXT*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_EXT_blend_operation_advanced
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT:
- {
- marshal_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(vkStream, reinterpret_cast<const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT:
- {
- marshal_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(vkStream, reinterpret_cast<const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT:
- {
- marshal_VkPipelineColorBlendAdvancedStateCreateInfoEXT(vkStream, reinterpret_cast<const VkPipelineColorBlendAdvancedStateCreateInfoEXT*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_NV_fragment_coverage_to_color
- case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV:
- {
- marshal_VkPipelineCoverageToColorStateCreateInfoNV(vkStream, reinterpret_cast<const VkPipelineCoverageToColorStateCreateInfoNV*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_NV_framebuffer_mixed_samples
- case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV:
- {
- marshal_VkPipelineCoverageModulationStateCreateInfoNV(vkStream, reinterpret_cast<const VkPipelineCoverageModulationStateCreateInfoNV*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_EXT_validation_cache
- case VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT:
- {
- marshal_VkShaderModuleValidationCacheCreateInfoEXT(vkStream, reinterpret_cast<const VkShaderModuleValidationCacheCreateInfoEXT*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_EXT_descriptor_indexing
- case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT:
- {
- marshal_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT(vkStream, reinterpret_cast<const VkDescriptorSetLayoutBindingFlagsCreateInfoEXT*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT:
- {
- marshal_VkPhysicalDeviceDescriptorIndexingFeaturesEXT(vkStream, reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingFeaturesEXT*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT:
- {
- marshal_VkPhysicalDeviceDescriptorIndexingPropertiesEXT(vkStream, reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingPropertiesEXT*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT:
- {
- marshal_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT(vkStream, reinterpret_cast<const VkDescriptorSetVariableDescriptorCountAllocateInfoEXT*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT:
- {
- marshal_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT(vkStream, reinterpret_cast<const VkDescriptorSetVariableDescriptorCountLayoutSupportEXT*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_EXT_global_priority
- case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT:
- {
- marshal_VkDeviceQueueGlobalPriorityCreateInfoEXT(vkStream, reinterpret_cast<const VkDeviceQueueGlobalPriorityCreateInfoEXT*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_EXT_external_memory_host
- case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT:
- {
- marshal_VkImportMemoryHostPointerInfoEXT(vkStream, reinterpret_cast<const VkImportMemoryHostPointerInfoEXT*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT:
- {
- marshal_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(vkStream, reinterpret_cast<const VkPhysicalDeviceExternalMemoryHostPropertiesEXT*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_AMD_shader_core_properties
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD:
- {
- marshal_VkPhysicalDeviceShaderCorePropertiesAMD(vkStream, reinterpret_cast<const VkPhysicalDeviceShaderCorePropertiesAMD*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_EXT_vertex_attribute_divisor
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT:
- {
- marshal_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(vkStream, reinterpret_cast<const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT:
- {
- marshal_VkPipelineVertexInputDivisorStateCreateInfoEXT(vkStream, reinterpret_cast<const VkPipelineVertexInputDivisorStateCreateInfoEXT*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_NV_device_diagnostic_checkpoints
- case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV:
- {
- marshal_VkQueueFamilyCheckpointPropertiesNV(vkStream, reinterpret_cast<const VkQueueFamilyCheckpointPropertiesNV*>(structExtension));
- break;
- }
-#endif
-#ifdef VK_GOOGLE_color_buffer
- case VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE:
- {
- marshal_VkImportColorBufferGOOGLE(vkStream, reinterpret_cast<const VkImportColorBufferGOOGLE*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE:
- {
- marshal_VkImportBufferGOOGLE(vkStream, reinterpret_cast<const VkImportBufferGOOGLE*>(structExtension));
- break;
- }
- case VK_STRUCTURE_TYPE_IMPORT_PHYSICAL_ADDRESS_GOOGLE:
- {
- marshal_VkImportPhysicalAddressGOOGLE(vkStream, reinterpret_cast<const VkImportPhysicalAddressGOOGLE*>(structExtension));
- break;
- }
-#endif
- default:
- {
- // fatal; the switch is only taken if the extension struct is known
- abort();
- }
- }
-}
-
-void unmarshal_extension_struct(
- VulkanStreamGuest* vkStream,
- void* structExtension_out)
-{
- VkInstanceCreateInfo* structAccess = (VkInstanceCreateInfo*)(structExtension_out);
- size_t currExtSize = goldfish_vk_extension_struct_size_with_stream_features(vkStream->getFeatureBits(), structExtension_out);
- if (!currExtSize && structExtension_out)
- {
- // unknown struct extension; skip and call on its pNext field
- unmarshal_extension_struct(vkStream, (void*)structAccess->pNext);
- return;
- }
- else
- {
- // known or null extension struct
- vkStream->getBe32();
- if (!currExtSize)
- {
- // exit if this was a null extension struct (size == 0 in this branch)
- return;
- }
- }
- uint64_t pNext_placeholder;
- vkStream->read((void*)(&pNext_placeholder), sizeof(VkStructureType));
- (void)pNext_placeholder;
- if (!structExtension_out)
- {
- return;
- }
- uint32_t structType = (uint32_t)goldfish_vk_struct_type(structExtension_out);
- switch(structType)
- {
-#ifdef VK_VERSION_1_1
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES:
- {
- unmarshal_VkPhysicalDeviceSubgroupProperties(vkStream, reinterpret_cast<VkPhysicalDeviceSubgroupProperties*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:
- {
- unmarshal_VkPhysicalDevice16BitStorageFeatures(vkStream, reinterpret_cast<VkPhysicalDevice16BitStorageFeatures*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS:
- {
- unmarshal_VkMemoryDedicatedRequirements(vkStream, reinterpret_cast<VkMemoryDedicatedRequirements*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO:
- {
- unmarshal_VkMemoryDedicatedAllocateInfo(vkStream, reinterpret_cast<VkMemoryDedicatedAllocateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO:
- {
- unmarshal_VkMemoryAllocateFlagsInfo(vkStream, reinterpret_cast<VkMemoryAllocateFlagsInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO:
- {
- unmarshal_VkDeviceGroupRenderPassBeginInfo(vkStream, reinterpret_cast<VkDeviceGroupRenderPassBeginInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO:
- {
- unmarshal_VkDeviceGroupCommandBufferBeginInfo(vkStream, reinterpret_cast<VkDeviceGroupCommandBufferBeginInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO:
- {
- unmarshal_VkDeviceGroupSubmitInfo(vkStream, reinterpret_cast<VkDeviceGroupSubmitInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO:
- {
- unmarshal_VkDeviceGroupBindSparseInfo(vkStream, reinterpret_cast<VkDeviceGroupBindSparseInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO:
- {
- unmarshal_VkBindBufferMemoryDeviceGroupInfo(vkStream, reinterpret_cast<VkBindBufferMemoryDeviceGroupInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO:
- {
- unmarshal_VkBindImageMemoryDeviceGroupInfo(vkStream, reinterpret_cast<VkBindImageMemoryDeviceGroupInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO:
- {
- unmarshal_VkDeviceGroupDeviceCreateInfo(vkStream, reinterpret_cast<VkDeviceGroupDeviceCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2:
- {
- unmarshal_VkPhysicalDeviceFeatures2(vkStream, reinterpret_cast<VkPhysicalDeviceFeatures2*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES:
- {
- unmarshal_VkPhysicalDevicePointClippingProperties(vkStream, reinterpret_cast<VkPhysicalDevicePointClippingProperties*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO:
- {
- unmarshal_VkRenderPassInputAttachmentAspectCreateInfo(vkStream, reinterpret_cast<VkRenderPassInputAttachmentAspectCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO:
- {
- unmarshal_VkImageViewUsageCreateInfo(vkStream, reinterpret_cast<VkImageViewUsageCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO:
- {
- unmarshal_VkPipelineTessellationDomainOriginStateCreateInfo(vkStream, reinterpret_cast<VkPipelineTessellationDomainOriginStateCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO:
- {
- unmarshal_VkRenderPassMultiviewCreateInfo(vkStream, reinterpret_cast<VkRenderPassMultiviewCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:
- {
- unmarshal_VkPhysicalDeviceMultiviewFeatures(vkStream, reinterpret_cast<VkPhysicalDeviceMultiviewFeatures*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES:
- {
- unmarshal_VkPhysicalDeviceMultiviewProperties(vkStream, reinterpret_cast<VkPhysicalDeviceMultiviewProperties*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES:
- {
- unmarshal_VkPhysicalDeviceVariablePointerFeatures(vkStream, reinterpret_cast<VkPhysicalDeviceVariablePointerFeatures*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:
- {
- unmarshal_VkPhysicalDeviceProtectedMemoryFeatures(vkStream, reinterpret_cast<VkPhysicalDeviceProtectedMemoryFeatures*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES:
- {
- unmarshal_VkPhysicalDeviceProtectedMemoryProperties(vkStream, reinterpret_cast<VkPhysicalDeviceProtectedMemoryProperties*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO:
- {
- unmarshal_VkProtectedSubmitInfo(vkStream, reinterpret_cast<VkProtectedSubmitInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO:
- {
- unmarshal_VkSamplerYcbcrConversionInfo(vkStream, reinterpret_cast<VkSamplerYcbcrConversionInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO:
- {
- unmarshal_VkBindImagePlaneMemoryInfo(vkStream, reinterpret_cast<VkBindImagePlaneMemoryInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO:
- {
- unmarshal_VkImagePlaneMemoryRequirementsInfo(vkStream, reinterpret_cast<VkImagePlaneMemoryRequirementsInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:
- {
- unmarshal_VkPhysicalDeviceSamplerYcbcrConversionFeatures(vkStream, reinterpret_cast<VkPhysicalDeviceSamplerYcbcrConversionFeatures*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES:
- {
- unmarshal_VkSamplerYcbcrConversionImageFormatProperties(vkStream, reinterpret_cast<VkSamplerYcbcrConversionImageFormatProperties*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO:
- {
- unmarshal_VkPhysicalDeviceExternalImageFormatInfo(vkStream, reinterpret_cast<VkPhysicalDeviceExternalImageFormatInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES:
- {
- unmarshal_VkExternalImageFormatProperties(vkStream, reinterpret_cast<VkExternalImageFormatProperties*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES:
- {
- unmarshal_VkPhysicalDeviceIDProperties(vkStream, reinterpret_cast<VkPhysicalDeviceIDProperties*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO:
- {
- unmarshal_VkExternalMemoryImageCreateInfo(vkStream, reinterpret_cast<VkExternalMemoryImageCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO:
- {
- unmarshal_VkExternalMemoryBufferCreateInfo(vkStream, reinterpret_cast<VkExternalMemoryBufferCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO:
- {
- unmarshal_VkExportMemoryAllocateInfo(vkStream, reinterpret_cast<VkExportMemoryAllocateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO:
- {
- unmarshal_VkExportFenceCreateInfo(vkStream, reinterpret_cast<VkExportFenceCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO:
- {
- unmarshal_VkExportSemaphoreCreateInfo(vkStream, reinterpret_cast<VkExportSemaphoreCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES:
- {
- unmarshal_VkPhysicalDeviceMaintenance3Properties(vkStream, reinterpret_cast<VkPhysicalDeviceMaintenance3Properties*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES:
- {
- unmarshal_VkPhysicalDeviceShaderDrawParameterFeatures(vkStream, reinterpret_cast<VkPhysicalDeviceShaderDrawParameterFeatures*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_swapchain
- case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR:
- {
- unmarshal_VkImageSwapchainCreateInfoKHR(vkStream, reinterpret_cast<VkImageSwapchainCreateInfoKHR*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR:
- {
- unmarshal_VkBindImageMemorySwapchainInfoKHR(vkStream, reinterpret_cast<VkBindImageMemorySwapchainInfoKHR*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR:
- {
- unmarshal_VkDeviceGroupPresentInfoKHR(vkStream, reinterpret_cast<VkDeviceGroupPresentInfoKHR*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR:
- {
- unmarshal_VkDeviceGroupSwapchainCreateInfoKHR(vkStream, reinterpret_cast<VkDeviceGroupSwapchainCreateInfoKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_display_swapchain
- case VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR:
- {
- unmarshal_VkDisplayPresentInfoKHR(vkStream, reinterpret_cast<VkDisplayPresentInfoKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_external_memory_win32
- case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR:
- {
- unmarshal_VkImportMemoryWin32HandleInfoKHR(vkStream, reinterpret_cast<VkImportMemoryWin32HandleInfoKHR*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR:
- {
- unmarshal_VkExportMemoryWin32HandleInfoKHR(vkStream, reinterpret_cast<VkExportMemoryWin32HandleInfoKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_external_memory_fd
- case VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR:
- {
- unmarshal_VkImportMemoryFdInfoKHR(vkStream, reinterpret_cast<VkImportMemoryFdInfoKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_win32_keyed_mutex
- case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR:
- {
- unmarshal_VkWin32KeyedMutexAcquireReleaseInfoKHR(vkStream, reinterpret_cast<VkWin32KeyedMutexAcquireReleaseInfoKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_external_semaphore_win32
- case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR:
- {
- unmarshal_VkExportSemaphoreWin32HandleInfoKHR(vkStream, reinterpret_cast<VkExportSemaphoreWin32HandleInfoKHR*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR:
- {
- unmarshal_VkD3D12FenceSubmitInfoKHR(vkStream, reinterpret_cast<VkD3D12FenceSubmitInfoKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_push_descriptor
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR:
- {
- unmarshal_VkPhysicalDevicePushDescriptorPropertiesKHR(vkStream, reinterpret_cast<VkPhysicalDevicePushDescriptorPropertiesKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_incremental_present
- case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR:
- {
- unmarshal_VkPresentRegionsKHR(vkStream, reinterpret_cast<VkPresentRegionsKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_shared_presentable_image
- case VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR:
- {
- unmarshal_VkSharedPresentSurfaceCapabilitiesKHR(vkStream, reinterpret_cast<VkSharedPresentSurfaceCapabilitiesKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_external_fence_win32
- case VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR:
- {
- unmarshal_VkExportFenceWin32HandleInfoKHR(vkStream, reinterpret_cast<VkExportFenceWin32HandleInfoKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_image_format_list
- case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR:
- {
- unmarshal_VkImageFormatListCreateInfoKHR(vkStream, reinterpret_cast<VkImageFormatListCreateInfoKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_8bit_storage
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR:
- {
- unmarshal_VkPhysicalDevice8BitStorageFeaturesKHR(vkStream, reinterpret_cast<VkPhysicalDevice8BitStorageFeaturesKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_shader_float16_int8
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:
- {
- unmarshal_VkPhysicalDeviceShaderFloat16Int8Features(vkStream, reinterpret_cast<VkPhysicalDeviceShaderFloat16Int8Features*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_ANDROID_native_buffer
- case VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID:
- {
- unmarshal_VkNativeBufferANDROID(vkStream, reinterpret_cast<VkNativeBufferANDROID*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_debug_report
- case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT:
- {
- unmarshal_VkDebugReportCallbackCreateInfoEXT(vkStream, reinterpret_cast<VkDebugReportCallbackCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_AMD_rasterization_order
- case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD:
- {
- unmarshal_VkPipelineRasterizationStateRasterizationOrderAMD(vkStream, reinterpret_cast<VkPipelineRasterizationStateRasterizationOrderAMD*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_dedicated_allocation
- case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV:
- {
- unmarshal_VkDedicatedAllocationImageCreateInfoNV(vkStream, reinterpret_cast<VkDedicatedAllocationImageCreateInfoNV*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV:
- {
- unmarshal_VkDedicatedAllocationBufferCreateInfoNV(vkStream, reinterpret_cast<VkDedicatedAllocationBufferCreateInfoNV*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV:
- {
- unmarshal_VkDedicatedAllocationMemoryAllocateInfoNV(vkStream, reinterpret_cast<VkDedicatedAllocationMemoryAllocateInfoNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_AMD_texture_gather_bias_lod
- case VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD:
- {
- unmarshal_VkTextureLODGatherFormatPropertiesAMD(vkStream, reinterpret_cast<VkTextureLODGatherFormatPropertiesAMD*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_external_memory
- case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV:
- {
- unmarshal_VkExternalMemoryImageCreateInfoNV(vkStream, reinterpret_cast<VkExternalMemoryImageCreateInfoNV*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV:
- {
- unmarshal_VkExportMemoryAllocateInfoNV(vkStream, reinterpret_cast<VkExportMemoryAllocateInfoNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_external_memory_win32
- case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV:
- {
- unmarshal_VkImportMemoryWin32HandleInfoNV(vkStream, reinterpret_cast<VkImportMemoryWin32HandleInfoNV*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV:
- {
- unmarshal_VkExportMemoryWin32HandleInfoNV(vkStream, reinterpret_cast<VkExportMemoryWin32HandleInfoNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_win32_keyed_mutex
- case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV:
- {
- unmarshal_VkWin32KeyedMutexAcquireReleaseInfoNV(vkStream, reinterpret_cast<VkWin32KeyedMutexAcquireReleaseInfoNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_validation_flags
- case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT:
- {
- unmarshal_VkValidationFlagsEXT(vkStream, reinterpret_cast<VkValidationFlagsEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_conditional_rendering
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT:
- {
- unmarshal_VkPhysicalDeviceConditionalRenderingFeaturesEXT(vkStream, reinterpret_cast<VkPhysicalDeviceConditionalRenderingFeaturesEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT:
- {
- unmarshal_VkCommandBufferInheritanceConditionalRenderingInfoEXT(vkStream, reinterpret_cast<VkCommandBufferInheritanceConditionalRenderingInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_clip_space_w_scaling
- case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV:
- {
- unmarshal_VkPipelineViewportWScalingStateCreateInfoNV(vkStream, reinterpret_cast<VkPipelineViewportWScalingStateCreateInfoNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_display_control
- case VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT:
- {
- unmarshal_VkSwapchainCounterCreateInfoEXT(vkStream, reinterpret_cast<VkSwapchainCounterCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_GOOGLE_display_timing
- case VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE:
- {
- unmarshal_VkPresentTimesInfoGOOGLE(vkStream, reinterpret_cast<VkPresentTimesInfoGOOGLE*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NVX_multiview_per_view_attributes
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX:
- {
- unmarshal_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(vkStream, reinterpret_cast<VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_viewport_swizzle
- case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV:
- {
- unmarshal_VkPipelineViewportSwizzleStateCreateInfoNV(vkStream, reinterpret_cast<VkPipelineViewportSwizzleStateCreateInfoNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_discard_rectangles
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT:
- {
- unmarshal_VkPhysicalDeviceDiscardRectanglePropertiesEXT(vkStream, reinterpret_cast<VkPhysicalDeviceDiscardRectanglePropertiesEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT:
- {
- unmarshal_VkPipelineDiscardRectangleStateCreateInfoEXT(vkStream, reinterpret_cast<VkPipelineDiscardRectangleStateCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_conservative_rasterization
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT:
- {
- unmarshal_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(vkStream, reinterpret_cast<VkPhysicalDeviceConservativeRasterizationPropertiesEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT:
- {
- unmarshal_VkPipelineRasterizationConservativeStateCreateInfoEXT(vkStream, reinterpret_cast<VkPipelineRasterizationConservativeStateCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_debug_utils
- case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT:
- {
- unmarshal_VkDebugUtilsMessengerCreateInfoEXT(vkStream, reinterpret_cast<VkDebugUtilsMessengerCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_ANDROID_external_memory_android_hardware_buffer
- case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID:
- {
- unmarshal_VkAndroidHardwareBufferUsageANDROID(vkStream, reinterpret_cast<VkAndroidHardwareBufferUsageANDROID*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID:
- {
- unmarshal_VkAndroidHardwareBufferFormatPropertiesANDROID(vkStream, reinterpret_cast<VkAndroidHardwareBufferFormatPropertiesANDROID*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID:
- {
- unmarshal_VkImportAndroidHardwareBufferInfoANDROID(vkStream, reinterpret_cast<VkImportAndroidHardwareBufferInfoANDROID*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID:
- {
- unmarshal_VkExternalFormatANDROID(vkStream, reinterpret_cast<VkExternalFormatANDROID*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_sampler_filter_minmax
- case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT:
- {
- unmarshal_VkSamplerReductionModeCreateInfoEXT(vkStream, reinterpret_cast<VkSamplerReductionModeCreateInfoEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT:
- {
- unmarshal_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT(vkStream, reinterpret_cast<VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_sample_locations
- case VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT:
- {
- unmarshal_VkSampleLocationsInfoEXT(vkStream, reinterpret_cast<VkSampleLocationsInfoEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT:
- {
- unmarshal_VkRenderPassSampleLocationsBeginInfoEXT(vkStream, reinterpret_cast<VkRenderPassSampleLocationsBeginInfoEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT:
- {
- unmarshal_VkPipelineSampleLocationsStateCreateInfoEXT(vkStream, reinterpret_cast<VkPipelineSampleLocationsStateCreateInfoEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT:
- {
- unmarshal_VkPhysicalDeviceSampleLocationsPropertiesEXT(vkStream, reinterpret_cast<VkPhysicalDeviceSampleLocationsPropertiesEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_blend_operation_advanced
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT:
- {
- unmarshal_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(vkStream, reinterpret_cast<VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT:
- {
- unmarshal_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(vkStream, reinterpret_cast<VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT:
- {
- unmarshal_VkPipelineColorBlendAdvancedStateCreateInfoEXT(vkStream, reinterpret_cast<VkPipelineColorBlendAdvancedStateCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_fragment_coverage_to_color
- case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV:
- {
- unmarshal_VkPipelineCoverageToColorStateCreateInfoNV(vkStream, reinterpret_cast<VkPipelineCoverageToColorStateCreateInfoNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_framebuffer_mixed_samples
- case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV:
- {
- unmarshal_VkPipelineCoverageModulationStateCreateInfoNV(vkStream, reinterpret_cast<VkPipelineCoverageModulationStateCreateInfoNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_validation_cache
- case VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT:
- {
- unmarshal_VkShaderModuleValidationCacheCreateInfoEXT(vkStream, reinterpret_cast<VkShaderModuleValidationCacheCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_descriptor_indexing
- case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT:
- {
- unmarshal_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT(vkStream, reinterpret_cast<VkDescriptorSetLayoutBindingFlagsCreateInfoEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT:
- {
- unmarshal_VkPhysicalDeviceDescriptorIndexingFeaturesEXT(vkStream, reinterpret_cast<VkPhysicalDeviceDescriptorIndexingFeaturesEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT:
- {
- unmarshal_VkPhysicalDeviceDescriptorIndexingPropertiesEXT(vkStream, reinterpret_cast<VkPhysicalDeviceDescriptorIndexingPropertiesEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT:
- {
- unmarshal_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT(vkStream, reinterpret_cast<VkDescriptorSetVariableDescriptorCountAllocateInfoEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT:
- {
- unmarshal_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT(vkStream, reinterpret_cast<VkDescriptorSetVariableDescriptorCountLayoutSupportEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_global_priority
- case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT:
- {
- unmarshal_VkDeviceQueueGlobalPriorityCreateInfoEXT(vkStream, reinterpret_cast<VkDeviceQueueGlobalPriorityCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_external_memory_host
- case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT:
- {
- unmarshal_VkImportMemoryHostPointerInfoEXT(vkStream, reinterpret_cast<VkImportMemoryHostPointerInfoEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT:
- {
- unmarshal_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(vkStream, reinterpret_cast<VkPhysicalDeviceExternalMemoryHostPropertiesEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_AMD_shader_core_properties
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD:
- {
- unmarshal_VkPhysicalDeviceShaderCorePropertiesAMD(vkStream, reinterpret_cast<VkPhysicalDeviceShaderCorePropertiesAMD*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_vertex_attribute_divisor
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT:
- {
- unmarshal_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(vkStream, reinterpret_cast<VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT:
- {
- unmarshal_VkPipelineVertexInputDivisorStateCreateInfoEXT(vkStream, reinterpret_cast<VkPipelineVertexInputDivisorStateCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_device_diagnostic_checkpoints
- case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV:
- {
- unmarshal_VkQueueFamilyCheckpointPropertiesNV(vkStream, reinterpret_cast<VkQueueFamilyCheckpointPropertiesNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_GOOGLE_color_buffer
- case VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE:
- {
- unmarshal_VkImportColorBufferGOOGLE(vkStream, reinterpret_cast<VkImportColorBufferGOOGLE*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE:
- {
- unmarshal_VkImportBufferGOOGLE(vkStream, reinterpret_cast<VkImportBufferGOOGLE*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_IMPORT_PHYSICAL_ADDRESS_GOOGLE:
- {
- unmarshal_VkImportPhysicalAddressGOOGLE(vkStream, reinterpret_cast<VkImportPhysicalAddressGOOGLE*>(structExtension_out));
- break;
- }
-#endif
- default:
- {
- // fatal; the switch is only taken if the extension struct is known
- abort();
- }
- }
-}
-
-const char* api_opcode_to_string(
- const uint32_t opcode)
-{
- switch(opcode)
- {
-#ifdef VK_VERSION_1_0
- case OP_vkCreateInstance:
- {
- return "OP_vkCreateInstance";
- }
- case OP_vkDestroyInstance:
- {
- return "OP_vkDestroyInstance";
- }
- case OP_vkEnumeratePhysicalDevices:
- {
- return "OP_vkEnumeratePhysicalDevices";
- }
- case OP_vkGetPhysicalDeviceFeatures:
- {
- return "OP_vkGetPhysicalDeviceFeatures";
- }
- case OP_vkGetPhysicalDeviceFormatProperties:
- {
- return "OP_vkGetPhysicalDeviceFormatProperties";
- }
- case OP_vkGetPhysicalDeviceImageFormatProperties:
- {
- return "OP_vkGetPhysicalDeviceImageFormatProperties";
- }
- case OP_vkGetPhysicalDeviceProperties:
- {
- return "OP_vkGetPhysicalDeviceProperties";
- }
- case OP_vkGetPhysicalDeviceQueueFamilyProperties:
- {
- return "OP_vkGetPhysicalDeviceQueueFamilyProperties";
- }
- case OP_vkGetPhysicalDeviceMemoryProperties:
- {
- return "OP_vkGetPhysicalDeviceMemoryProperties";
- }
- case OP_vkGetInstanceProcAddr:
- {
- return "OP_vkGetInstanceProcAddr";
- }
- case OP_vkGetDeviceProcAddr:
- {
- return "OP_vkGetDeviceProcAddr";
- }
- case OP_vkCreateDevice:
- {
- return "OP_vkCreateDevice";
- }
- case OP_vkDestroyDevice:
- {
- return "OP_vkDestroyDevice";
- }
- case OP_vkEnumerateInstanceExtensionProperties:
- {
- return "OP_vkEnumerateInstanceExtensionProperties";
- }
- case OP_vkEnumerateDeviceExtensionProperties:
- {
- return "OP_vkEnumerateDeviceExtensionProperties";
- }
- case OP_vkEnumerateInstanceLayerProperties:
- {
- return "OP_vkEnumerateInstanceLayerProperties";
- }
- case OP_vkEnumerateDeviceLayerProperties:
- {
- return "OP_vkEnumerateDeviceLayerProperties";
- }
- case OP_vkGetDeviceQueue:
- {
- return "OP_vkGetDeviceQueue";
- }
- case OP_vkQueueSubmit:
- {
- return "OP_vkQueueSubmit";
- }
- case OP_vkQueueWaitIdle:
- {
- return "OP_vkQueueWaitIdle";
- }
- case OP_vkDeviceWaitIdle:
- {
- return "OP_vkDeviceWaitIdle";
- }
- case OP_vkAllocateMemory:
- {
- return "OP_vkAllocateMemory";
- }
- case OP_vkFreeMemory:
- {
- return "OP_vkFreeMemory";
- }
- case OP_vkMapMemory:
- {
- return "OP_vkMapMemory";
- }
- case OP_vkUnmapMemory:
- {
- return "OP_vkUnmapMemory";
- }
- case OP_vkFlushMappedMemoryRanges:
- {
- return "OP_vkFlushMappedMemoryRanges";
- }
- case OP_vkInvalidateMappedMemoryRanges:
- {
- return "OP_vkInvalidateMappedMemoryRanges";
- }
- case OP_vkGetDeviceMemoryCommitment:
- {
- return "OP_vkGetDeviceMemoryCommitment";
- }
- case OP_vkBindBufferMemory:
- {
- return "OP_vkBindBufferMemory";
- }
- case OP_vkBindImageMemory:
- {
- return "OP_vkBindImageMemory";
- }
- case OP_vkGetBufferMemoryRequirements:
- {
- return "OP_vkGetBufferMemoryRequirements";
- }
- case OP_vkGetImageMemoryRequirements:
- {
- return "OP_vkGetImageMemoryRequirements";
- }
- case OP_vkGetImageSparseMemoryRequirements:
- {
- return "OP_vkGetImageSparseMemoryRequirements";
- }
- case OP_vkGetPhysicalDeviceSparseImageFormatProperties:
- {
- return "OP_vkGetPhysicalDeviceSparseImageFormatProperties";
- }
- case OP_vkQueueBindSparse:
- {
- return "OP_vkQueueBindSparse";
- }
- case OP_vkCreateFence:
- {
- return "OP_vkCreateFence";
- }
- case OP_vkDestroyFence:
- {
- return "OP_vkDestroyFence";
- }
- case OP_vkResetFences:
- {
- return "OP_vkResetFences";
- }
- case OP_vkGetFenceStatus:
- {
- return "OP_vkGetFenceStatus";
- }
- case OP_vkWaitForFences:
- {
- return "OP_vkWaitForFences";
- }
- case OP_vkCreateSemaphore:
- {
- return "OP_vkCreateSemaphore";
- }
- case OP_vkDestroySemaphore:
- {
- return "OP_vkDestroySemaphore";
- }
- case OP_vkCreateEvent:
- {
- return "OP_vkCreateEvent";
- }
- case OP_vkDestroyEvent:
- {
- return "OP_vkDestroyEvent";
- }
- case OP_vkGetEventStatus:
- {
- return "OP_vkGetEventStatus";
- }
- case OP_vkSetEvent:
- {
- return "OP_vkSetEvent";
- }
- case OP_vkResetEvent:
- {
- return "OP_vkResetEvent";
- }
- case OP_vkCreateQueryPool:
- {
- return "OP_vkCreateQueryPool";
- }
- case OP_vkDestroyQueryPool:
- {
- return "OP_vkDestroyQueryPool";
- }
- case OP_vkGetQueryPoolResults:
- {
- return "OP_vkGetQueryPoolResults";
- }
- case OP_vkCreateBuffer:
- {
- return "OP_vkCreateBuffer";
- }
- case OP_vkDestroyBuffer:
- {
- return "OP_vkDestroyBuffer";
- }
- case OP_vkCreateBufferView:
- {
- return "OP_vkCreateBufferView";
- }
- case OP_vkDestroyBufferView:
- {
- return "OP_vkDestroyBufferView";
- }
- case OP_vkCreateImage:
- {
- return "OP_vkCreateImage";
- }
- case OP_vkDestroyImage:
- {
- return "OP_vkDestroyImage";
- }
- case OP_vkGetImageSubresourceLayout:
- {
- return "OP_vkGetImageSubresourceLayout";
- }
- case OP_vkCreateImageView:
- {
- return "OP_vkCreateImageView";
- }
- case OP_vkDestroyImageView:
- {
- return "OP_vkDestroyImageView";
- }
- case OP_vkCreateShaderModule:
- {
- return "OP_vkCreateShaderModule";
- }
- case OP_vkDestroyShaderModule:
- {
- return "OP_vkDestroyShaderModule";
- }
- case OP_vkCreatePipelineCache:
- {
- return "OP_vkCreatePipelineCache";
- }
- case OP_vkDestroyPipelineCache:
- {
- return "OP_vkDestroyPipelineCache";
- }
- case OP_vkGetPipelineCacheData:
- {
- return "OP_vkGetPipelineCacheData";
- }
- case OP_vkMergePipelineCaches:
- {
- return "OP_vkMergePipelineCaches";
- }
- case OP_vkCreateGraphicsPipelines:
- {
- return "OP_vkCreateGraphicsPipelines";
- }
- case OP_vkCreateComputePipelines:
- {
- return "OP_vkCreateComputePipelines";
- }
- case OP_vkDestroyPipeline:
- {
- return "OP_vkDestroyPipeline";
- }
- case OP_vkCreatePipelineLayout:
- {
- return "OP_vkCreatePipelineLayout";
- }
- case OP_vkDestroyPipelineLayout:
- {
- return "OP_vkDestroyPipelineLayout";
- }
- case OP_vkCreateSampler:
- {
- return "OP_vkCreateSampler";
- }
- case OP_vkDestroySampler:
- {
- return "OP_vkDestroySampler";
- }
- case OP_vkCreateDescriptorSetLayout:
- {
- return "OP_vkCreateDescriptorSetLayout";
- }
- case OP_vkDestroyDescriptorSetLayout:
- {
- return "OP_vkDestroyDescriptorSetLayout";
- }
- case OP_vkCreateDescriptorPool:
- {
- return "OP_vkCreateDescriptorPool";
- }
- case OP_vkDestroyDescriptorPool:
- {
- return "OP_vkDestroyDescriptorPool";
- }
- case OP_vkResetDescriptorPool:
- {
- return "OP_vkResetDescriptorPool";
- }
- case OP_vkAllocateDescriptorSets:
- {
- return "OP_vkAllocateDescriptorSets";
- }
- case OP_vkFreeDescriptorSets:
- {
- return "OP_vkFreeDescriptorSets";
- }
- case OP_vkUpdateDescriptorSets:
- {
- return "OP_vkUpdateDescriptorSets";
- }
- case OP_vkCreateFramebuffer:
- {
- return "OP_vkCreateFramebuffer";
- }
- case OP_vkDestroyFramebuffer:
- {
- return "OP_vkDestroyFramebuffer";
- }
- case OP_vkCreateRenderPass:
- {
- return "OP_vkCreateRenderPass";
- }
- case OP_vkDestroyRenderPass:
- {
- return "OP_vkDestroyRenderPass";
- }
- case OP_vkGetRenderAreaGranularity:
- {
- return "OP_vkGetRenderAreaGranularity";
- }
- case OP_vkCreateCommandPool:
- {
- return "OP_vkCreateCommandPool";
- }
- case OP_vkDestroyCommandPool:
- {
- return "OP_vkDestroyCommandPool";
- }
- case OP_vkResetCommandPool:
- {
- return "OP_vkResetCommandPool";
- }
- case OP_vkAllocateCommandBuffers:
- {
- return "OP_vkAllocateCommandBuffers";
- }
- case OP_vkFreeCommandBuffers:
- {
- return "OP_vkFreeCommandBuffers";
- }
- case OP_vkBeginCommandBuffer:
- {
- return "OP_vkBeginCommandBuffer";
- }
- case OP_vkEndCommandBuffer:
- {
- return "OP_vkEndCommandBuffer";
- }
- case OP_vkResetCommandBuffer:
- {
- return "OP_vkResetCommandBuffer";
- }
- case OP_vkCmdBindPipeline:
- {
- return "OP_vkCmdBindPipeline";
- }
- case OP_vkCmdSetViewport:
- {
- return "OP_vkCmdSetViewport";
- }
- case OP_vkCmdSetScissor:
- {
- return "OP_vkCmdSetScissor";
- }
- case OP_vkCmdSetLineWidth:
- {
- return "OP_vkCmdSetLineWidth";
- }
- case OP_vkCmdSetDepthBias:
- {
- return "OP_vkCmdSetDepthBias";
- }
- case OP_vkCmdSetBlendConstants:
- {
- return "OP_vkCmdSetBlendConstants";
- }
- case OP_vkCmdSetDepthBounds:
- {
- return "OP_vkCmdSetDepthBounds";
- }
- case OP_vkCmdSetStencilCompareMask:
- {
- return "OP_vkCmdSetStencilCompareMask";
- }
- case OP_vkCmdSetStencilWriteMask:
- {
- return "OP_vkCmdSetStencilWriteMask";
- }
- case OP_vkCmdSetStencilReference:
- {
- return "OP_vkCmdSetStencilReference";
- }
- case OP_vkCmdBindDescriptorSets:
- {
- return "OP_vkCmdBindDescriptorSets";
- }
- case OP_vkCmdBindIndexBuffer:
- {
- return "OP_vkCmdBindIndexBuffer";
- }
- case OP_vkCmdBindVertexBuffers:
- {
- return "OP_vkCmdBindVertexBuffers";
- }
- case OP_vkCmdDraw:
- {
- return "OP_vkCmdDraw";
- }
- case OP_vkCmdDrawIndexed:
- {
- return "OP_vkCmdDrawIndexed";
- }
- case OP_vkCmdDrawIndirect:
- {
- return "OP_vkCmdDrawIndirect";
- }
- case OP_vkCmdDrawIndexedIndirect:
- {
- return "OP_vkCmdDrawIndexedIndirect";
- }
- case OP_vkCmdDispatch:
- {
- return "OP_vkCmdDispatch";
- }
- case OP_vkCmdDispatchIndirect:
- {
- return "OP_vkCmdDispatchIndirect";
- }
- case OP_vkCmdCopyBuffer:
- {
- return "OP_vkCmdCopyBuffer";
- }
- case OP_vkCmdCopyImage:
- {
- return "OP_vkCmdCopyImage";
- }
- case OP_vkCmdBlitImage:
- {
- return "OP_vkCmdBlitImage";
- }
- case OP_vkCmdCopyBufferToImage:
- {
- return "OP_vkCmdCopyBufferToImage";
- }
- case OP_vkCmdCopyImageToBuffer:
- {
- return "OP_vkCmdCopyImageToBuffer";
- }
- case OP_vkCmdUpdateBuffer:
- {
- return "OP_vkCmdUpdateBuffer";
- }
- case OP_vkCmdFillBuffer:
- {
- return "OP_vkCmdFillBuffer";
- }
- case OP_vkCmdClearColorImage:
- {
- return "OP_vkCmdClearColorImage";
- }
- case OP_vkCmdClearDepthStencilImage:
- {
- return "OP_vkCmdClearDepthStencilImage";
- }
- case OP_vkCmdClearAttachments:
- {
- return "OP_vkCmdClearAttachments";
- }
- case OP_vkCmdResolveImage:
- {
- return "OP_vkCmdResolveImage";
- }
- case OP_vkCmdSetEvent:
- {
- return "OP_vkCmdSetEvent";
- }
- case OP_vkCmdResetEvent:
- {
- return "OP_vkCmdResetEvent";
- }
- case OP_vkCmdWaitEvents:
- {
- return "OP_vkCmdWaitEvents";
- }
- case OP_vkCmdPipelineBarrier:
- {
- return "OP_vkCmdPipelineBarrier";
- }
- case OP_vkCmdBeginQuery:
- {
- return "OP_vkCmdBeginQuery";
- }
- case OP_vkCmdEndQuery:
- {
- return "OP_vkCmdEndQuery";
- }
- case OP_vkCmdResetQueryPool:
- {
- return "OP_vkCmdResetQueryPool";
- }
- case OP_vkCmdWriteTimestamp:
- {
- return "OP_vkCmdWriteTimestamp";
- }
- case OP_vkCmdCopyQueryPoolResults:
- {
- return "OP_vkCmdCopyQueryPoolResults";
- }
- case OP_vkCmdPushConstants:
- {
- return "OP_vkCmdPushConstants";
- }
- case OP_vkCmdBeginRenderPass:
- {
- return "OP_vkCmdBeginRenderPass";
- }
- case OP_vkCmdNextSubpass:
- {
- return "OP_vkCmdNextSubpass";
- }
- case OP_vkCmdEndRenderPass:
- {
- return "OP_vkCmdEndRenderPass";
- }
- case OP_vkCmdExecuteCommands:
- {
- return "OP_vkCmdExecuteCommands";
- }
-#endif
-#ifdef VK_VERSION_1_1
- case OP_vkEnumerateInstanceVersion:
- {
- return "OP_vkEnumerateInstanceVersion";
- }
- case OP_vkBindBufferMemory2:
- {
- return "OP_vkBindBufferMemory2";
- }
- case OP_vkBindImageMemory2:
- {
- return "OP_vkBindImageMemory2";
- }
- case OP_vkGetDeviceGroupPeerMemoryFeatures:
- {
- return "OP_vkGetDeviceGroupPeerMemoryFeatures";
- }
- case OP_vkCmdSetDeviceMask:
- {
- return "OP_vkCmdSetDeviceMask";
- }
- case OP_vkCmdDispatchBase:
- {
- return "OP_vkCmdDispatchBase";
- }
- case OP_vkEnumeratePhysicalDeviceGroups:
- {
- return "OP_vkEnumeratePhysicalDeviceGroups";
- }
- case OP_vkGetImageMemoryRequirements2:
- {
- return "OP_vkGetImageMemoryRequirements2";
- }
- case OP_vkGetBufferMemoryRequirements2:
- {
- return "OP_vkGetBufferMemoryRequirements2";
- }
- case OP_vkGetImageSparseMemoryRequirements2:
- {
- return "OP_vkGetImageSparseMemoryRequirements2";
- }
- case OP_vkGetPhysicalDeviceFeatures2:
- {
- return "OP_vkGetPhysicalDeviceFeatures2";
- }
- case OP_vkGetPhysicalDeviceProperties2:
- {
- return "OP_vkGetPhysicalDeviceProperties2";
- }
- case OP_vkGetPhysicalDeviceFormatProperties2:
- {
- return "OP_vkGetPhysicalDeviceFormatProperties2";
- }
- case OP_vkGetPhysicalDeviceImageFormatProperties2:
- {
- return "OP_vkGetPhysicalDeviceImageFormatProperties2";
- }
- case OP_vkGetPhysicalDeviceQueueFamilyProperties2:
- {
- return "OP_vkGetPhysicalDeviceQueueFamilyProperties2";
- }
- case OP_vkGetPhysicalDeviceMemoryProperties2:
- {
- return "OP_vkGetPhysicalDeviceMemoryProperties2";
- }
- case OP_vkGetPhysicalDeviceSparseImageFormatProperties2:
- {
- return "OP_vkGetPhysicalDeviceSparseImageFormatProperties2";
- }
- case OP_vkTrimCommandPool:
- {
- return "OP_vkTrimCommandPool";
- }
- case OP_vkGetDeviceQueue2:
- {
- return "OP_vkGetDeviceQueue2";
- }
- case OP_vkCreateSamplerYcbcrConversion:
- {
- return "OP_vkCreateSamplerYcbcrConversion";
- }
- case OP_vkDestroySamplerYcbcrConversion:
- {
- return "OP_vkDestroySamplerYcbcrConversion";
- }
- case OP_vkCreateDescriptorUpdateTemplate:
- {
- return "OP_vkCreateDescriptorUpdateTemplate";
- }
- case OP_vkDestroyDescriptorUpdateTemplate:
- {
- return "OP_vkDestroyDescriptorUpdateTemplate";
- }
- case OP_vkUpdateDescriptorSetWithTemplate:
- {
- return "OP_vkUpdateDescriptorSetWithTemplate";
- }
- case OP_vkGetPhysicalDeviceExternalBufferProperties:
- {
- return "OP_vkGetPhysicalDeviceExternalBufferProperties";
- }
- case OP_vkGetPhysicalDeviceExternalFenceProperties:
- {
- return "OP_vkGetPhysicalDeviceExternalFenceProperties";
- }
- case OP_vkGetPhysicalDeviceExternalSemaphoreProperties:
- {
- return "OP_vkGetPhysicalDeviceExternalSemaphoreProperties";
- }
- case OP_vkGetDescriptorSetLayoutSupport:
- {
- return "OP_vkGetDescriptorSetLayoutSupport";
- }
-#endif
-#ifdef VK_KHR_surface
- case OP_vkDestroySurfaceKHR:
- {
- return "OP_vkDestroySurfaceKHR";
- }
- case OP_vkGetPhysicalDeviceSurfaceSupportKHR:
- {
- return "OP_vkGetPhysicalDeviceSurfaceSupportKHR";
- }
- case OP_vkGetPhysicalDeviceSurfaceCapabilitiesKHR:
- {
- return "OP_vkGetPhysicalDeviceSurfaceCapabilitiesKHR";
- }
- case OP_vkGetPhysicalDeviceSurfaceFormatsKHR:
- {
- return "OP_vkGetPhysicalDeviceSurfaceFormatsKHR";
- }
- case OP_vkGetPhysicalDeviceSurfacePresentModesKHR:
- {
- return "OP_vkGetPhysicalDeviceSurfacePresentModesKHR";
- }
-#endif
-#ifdef VK_KHR_swapchain
- case OP_vkCreateSwapchainKHR:
- {
- return "OP_vkCreateSwapchainKHR";
- }
- case OP_vkDestroySwapchainKHR:
- {
- return "OP_vkDestroySwapchainKHR";
- }
- case OP_vkGetSwapchainImagesKHR:
- {
- return "OP_vkGetSwapchainImagesKHR";
- }
- case OP_vkAcquireNextImageKHR:
- {
- return "OP_vkAcquireNextImageKHR";
- }
- case OP_vkQueuePresentKHR:
- {
- return "OP_vkQueuePresentKHR";
- }
- case OP_vkGetDeviceGroupPresentCapabilitiesKHR:
- {
- return "OP_vkGetDeviceGroupPresentCapabilitiesKHR";
- }
- case OP_vkGetDeviceGroupSurfacePresentModesKHR:
- {
- return "OP_vkGetDeviceGroupSurfacePresentModesKHR";
- }
- case OP_vkGetPhysicalDevicePresentRectanglesKHR:
- {
- return "OP_vkGetPhysicalDevicePresentRectanglesKHR";
- }
- case OP_vkAcquireNextImage2KHR:
- {
- return "OP_vkAcquireNextImage2KHR";
- }
-#endif
-#ifdef VK_KHR_display
- case OP_vkGetPhysicalDeviceDisplayPropertiesKHR:
- {
- return "OP_vkGetPhysicalDeviceDisplayPropertiesKHR";
- }
- case OP_vkGetPhysicalDeviceDisplayPlanePropertiesKHR:
- {
- return "OP_vkGetPhysicalDeviceDisplayPlanePropertiesKHR";
- }
- case OP_vkGetDisplayPlaneSupportedDisplaysKHR:
- {
- return "OP_vkGetDisplayPlaneSupportedDisplaysKHR";
- }
- case OP_vkGetDisplayModePropertiesKHR:
- {
- return "OP_vkGetDisplayModePropertiesKHR";
- }
- case OP_vkCreateDisplayModeKHR:
- {
- return "OP_vkCreateDisplayModeKHR";
- }
- case OP_vkGetDisplayPlaneCapabilitiesKHR:
- {
- return "OP_vkGetDisplayPlaneCapabilitiesKHR";
- }
- case OP_vkCreateDisplayPlaneSurfaceKHR:
- {
- return "OP_vkCreateDisplayPlaneSurfaceKHR";
- }
-#endif
-#ifdef VK_KHR_display_swapchain
- case OP_vkCreateSharedSwapchainsKHR:
- {
- return "OP_vkCreateSharedSwapchainsKHR";
- }
-#endif
-#ifdef VK_KHR_xlib_surface
- case OP_vkCreateXlibSurfaceKHR:
- {
- return "OP_vkCreateXlibSurfaceKHR";
- }
- case OP_vkGetPhysicalDeviceXlibPresentationSupportKHR:
- {
- return "OP_vkGetPhysicalDeviceXlibPresentationSupportKHR";
- }
-#endif
-#ifdef VK_KHR_xcb_surface
- case OP_vkCreateXcbSurfaceKHR:
- {
- return "OP_vkCreateXcbSurfaceKHR";
- }
- case OP_vkGetPhysicalDeviceXcbPresentationSupportKHR:
- {
- return "OP_vkGetPhysicalDeviceXcbPresentationSupportKHR";
- }
-#endif
-#ifdef VK_KHR_wayland_surface
- case OP_vkCreateWaylandSurfaceKHR:
- {
- return "OP_vkCreateWaylandSurfaceKHR";
- }
- case OP_vkGetPhysicalDeviceWaylandPresentationSupportKHR:
- {
- return "OP_vkGetPhysicalDeviceWaylandPresentationSupportKHR";
- }
-#endif
-#ifdef VK_KHR_mir_surface
- case OP_vkCreateMirSurfaceKHR:
- {
- return "OP_vkCreateMirSurfaceKHR";
- }
- case OP_vkGetPhysicalDeviceMirPresentationSupportKHR:
- {
- return "OP_vkGetPhysicalDeviceMirPresentationSupportKHR";
- }
-#endif
-#ifdef VK_KHR_android_surface
- case OP_vkCreateAndroidSurfaceKHR:
- {
- return "OP_vkCreateAndroidSurfaceKHR";
- }
-#endif
-#ifdef VK_KHR_win32_surface
- case OP_vkCreateWin32SurfaceKHR:
- {
- return "OP_vkCreateWin32SurfaceKHR";
- }
- case OP_vkGetPhysicalDeviceWin32PresentationSupportKHR:
- {
- return "OP_vkGetPhysicalDeviceWin32PresentationSupportKHR";
- }
-#endif
-#ifdef VK_KHR_get_physical_device_properties2
- case OP_vkGetPhysicalDeviceFeatures2KHR:
- {
- return "OP_vkGetPhysicalDeviceFeatures2KHR";
- }
- case OP_vkGetPhysicalDeviceProperties2KHR:
- {
- return "OP_vkGetPhysicalDeviceProperties2KHR";
- }
- case OP_vkGetPhysicalDeviceFormatProperties2KHR:
- {
- return "OP_vkGetPhysicalDeviceFormatProperties2KHR";
- }
- case OP_vkGetPhysicalDeviceImageFormatProperties2KHR:
- {
- return "OP_vkGetPhysicalDeviceImageFormatProperties2KHR";
- }
- case OP_vkGetPhysicalDeviceQueueFamilyProperties2KHR:
- {
- return "OP_vkGetPhysicalDeviceQueueFamilyProperties2KHR";
- }
- case OP_vkGetPhysicalDeviceMemoryProperties2KHR:
- {
- return "OP_vkGetPhysicalDeviceMemoryProperties2KHR";
- }
- case OP_vkGetPhysicalDeviceSparseImageFormatProperties2KHR:
- {
- return "OP_vkGetPhysicalDeviceSparseImageFormatProperties2KHR";
- }
-#endif
-#ifdef VK_KHR_device_group
- case OP_vkGetDeviceGroupPeerMemoryFeaturesKHR:
- {
- return "OP_vkGetDeviceGroupPeerMemoryFeaturesKHR";
- }
- case OP_vkCmdSetDeviceMaskKHR:
- {
- return "OP_vkCmdSetDeviceMaskKHR";
- }
- case OP_vkCmdDispatchBaseKHR:
- {
- return "OP_vkCmdDispatchBaseKHR";
- }
-#endif
-#ifdef VK_KHR_maintenance1
- case OP_vkTrimCommandPoolKHR:
- {
- return "OP_vkTrimCommandPoolKHR";
- }
-#endif
-#ifdef VK_KHR_device_group_creation
- case OP_vkEnumeratePhysicalDeviceGroupsKHR:
- {
- return "OP_vkEnumeratePhysicalDeviceGroupsKHR";
- }
-#endif
-#ifdef VK_KHR_external_memory_capabilities
- case OP_vkGetPhysicalDeviceExternalBufferPropertiesKHR:
- {
- return "OP_vkGetPhysicalDeviceExternalBufferPropertiesKHR";
- }
-#endif
-#ifdef VK_KHR_external_memory_win32
- case OP_vkGetMemoryWin32HandleKHR:
- {
- return "OP_vkGetMemoryWin32HandleKHR";
- }
- case OP_vkGetMemoryWin32HandlePropertiesKHR:
- {
- return "OP_vkGetMemoryWin32HandlePropertiesKHR";
- }
-#endif
-#ifdef VK_KHR_external_memory_fd
- case OP_vkGetMemoryFdKHR:
- {
- return "OP_vkGetMemoryFdKHR";
- }
- case OP_vkGetMemoryFdPropertiesKHR:
- {
- return "OP_vkGetMemoryFdPropertiesKHR";
- }
-#endif
-#ifdef VK_KHR_external_semaphore_capabilities
- case OP_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR:
- {
- return "OP_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR";
- }
-#endif
-#ifdef VK_KHR_external_semaphore_win32
- case OP_vkImportSemaphoreWin32HandleKHR:
- {
- return "OP_vkImportSemaphoreWin32HandleKHR";
- }
- case OP_vkGetSemaphoreWin32HandleKHR:
- {
- return "OP_vkGetSemaphoreWin32HandleKHR";
- }
-#endif
-#ifdef VK_KHR_external_semaphore_fd
- case OP_vkImportSemaphoreFdKHR:
- {
- return "OP_vkImportSemaphoreFdKHR";
- }
- case OP_vkGetSemaphoreFdKHR:
- {
- return "OP_vkGetSemaphoreFdKHR";
- }
-#endif
-#ifdef VK_KHR_push_descriptor
- case OP_vkCmdPushDescriptorSetKHR:
- {
- return "OP_vkCmdPushDescriptorSetKHR";
- }
- case OP_vkCmdPushDescriptorSetWithTemplateKHR:
- {
- return "OP_vkCmdPushDescriptorSetWithTemplateKHR";
- }
-#endif
-#ifdef VK_KHR_descriptor_update_template
- case OP_vkCreateDescriptorUpdateTemplateKHR:
- {
- return "OP_vkCreateDescriptorUpdateTemplateKHR";
- }
- case OP_vkDestroyDescriptorUpdateTemplateKHR:
- {
- return "OP_vkDestroyDescriptorUpdateTemplateKHR";
- }
- case OP_vkUpdateDescriptorSetWithTemplateKHR:
- {
- return "OP_vkUpdateDescriptorSetWithTemplateKHR";
- }
-#endif
-#ifdef VK_KHR_create_renderpass2
- case OP_vkCreateRenderPass2KHR:
- {
- return "OP_vkCreateRenderPass2KHR";
- }
- case OP_vkCmdBeginRenderPass2KHR:
- {
- return "OP_vkCmdBeginRenderPass2KHR";
- }
- case OP_vkCmdNextSubpass2KHR:
- {
- return "OP_vkCmdNextSubpass2KHR";
- }
- case OP_vkCmdEndRenderPass2KHR:
- {
- return "OP_vkCmdEndRenderPass2KHR";
- }
-#endif
-#ifdef VK_KHR_shared_presentable_image
- case OP_vkGetSwapchainStatusKHR:
- {
- return "OP_vkGetSwapchainStatusKHR";
- }
-#endif
-#ifdef VK_KHR_external_fence_capabilities
- case OP_vkGetPhysicalDeviceExternalFencePropertiesKHR:
- {
- return "OP_vkGetPhysicalDeviceExternalFencePropertiesKHR";
- }
-#endif
-#ifdef VK_KHR_external_fence_win32
- case OP_vkImportFenceWin32HandleKHR:
- {
- return "OP_vkImportFenceWin32HandleKHR";
- }
- case OP_vkGetFenceWin32HandleKHR:
- {
- return "OP_vkGetFenceWin32HandleKHR";
- }
-#endif
-#ifdef VK_KHR_external_fence_fd
- case OP_vkImportFenceFdKHR:
- {
- return "OP_vkImportFenceFdKHR";
- }
- case OP_vkGetFenceFdKHR:
- {
- return "OP_vkGetFenceFdKHR";
- }
-#endif
-#ifdef VK_KHR_get_surface_capabilities2
- case OP_vkGetPhysicalDeviceSurfaceCapabilities2KHR:
- {
- return "OP_vkGetPhysicalDeviceSurfaceCapabilities2KHR";
- }
- case OP_vkGetPhysicalDeviceSurfaceFormats2KHR:
- {
- return "OP_vkGetPhysicalDeviceSurfaceFormats2KHR";
- }
-#endif
-#ifdef VK_KHR_get_display_properties2
- case OP_vkGetPhysicalDeviceDisplayProperties2KHR:
- {
- return "OP_vkGetPhysicalDeviceDisplayProperties2KHR";
- }
- case OP_vkGetPhysicalDeviceDisplayPlaneProperties2KHR:
- {
- return "OP_vkGetPhysicalDeviceDisplayPlaneProperties2KHR";
- }
- case OP_vkGetDisplayModeProperties2KHR:
- {
- return "OP_vkGetDisplayModeProperties2KHR";
- }
- case OP_vkGetDisplayPlaneCapabilities2KHR:
- {
- return "OP_vkGetDisplayPlaneCapabilities2KHR";
- }
-#endif
-#ifdef VK_KHR_get_memory_requirements2
- case OP_vkGetImageMemoryRequirements2KHR:
- {
- return "OP_vkGetImageMemoryRequirements2KHR";
- }
- case OP_vkGetBufferMemoryRequirements2KHR:
- {
- return "OP_vkGetBufferMemoryRequirements2KHR";
- }
- case OP_vkGetImageSparseMemoryRequirements2KHR:
- {
- return "OP_vkGetImageSparseMemoryRequirements2KHR";
- }
-#endif
-#ifdef VK_KHR_sampler_ycbcr_conversion
- case OP_vkCreateSamplerYcbcrConversionKHR:
- {
- return "OP_vkCreateSamplerYcbcrConversionKHR";
- }
- case OP_vkDestroySamplerYcbcrConversionKHR:
- {
- return "OP_vkDestroySamplerYcbcrConversionKHR";
- }
-#endif
-#ifdef VK_KHR_bind_memory2
- case OP_vkBindBufferMemory2KHR:
- {
- return "OP_vkBindBufferMemory2KHR";
- }
- case OP_vkBindImageMemory2KHR:
- {
- return "OP_vkBindImageMemory2KHR";
- }
-#endif
-#ifdef VK_KHR_maintenance3
- case OP_vkGetDescriptorSetLayoutSupportKHR:
- {
- return "OP_vkGetDescriptorSetLayoutSupportKHR";
- }
-#endif
-#ifdef VK_KHR_draw_indirect_count
- case OP_vkCmdDrawIndirectCountKHR:
- {
- return "OP_vkCmdDrawIndirectCountKHR";
- }
- case OP_vkCmdDrawIndexedIndirectCountKHR:
- {
- return "OP_vkCmdDrawIndexedIndirectCountKHR";
- }
-#endif
-#ifdef VK_ANDROID_native_buffer
- case OP_vkGetSwapchainGrallocUsageANDROID:
- {
- return "OP_vkGetSwapchainGrallocUsageANDROID";
- }
- case OP_vkAcquireImageANDROID:
- {
- return "OP_vkAcquireImageANDROID";
- }
- case OP_vkQueueSignalReleaseImageANDROID:
- {
- return "OP_vkQueueSignalReleaseImageANDROID";
- }
-#endif
-#ifdef VK_EXT_debug_report
- case OP_vkCreateDebugReportCallbackEXT:
- {
- return "OP_vkCreateDebugReportCallbackEXT";
- }
- case OP_vkDestroyDebugReportCallbackEXT:
- {
- return "OP_vkDestroyDebugReportCallbackEXT";
- }
- case OP_vkDebugReportMessageEXT:
- {
- return "OP_vkDebugReportMessageEXT";
- }
-#endif
-#ifdef VK_EXT_debug_marker
- case OP_vkDebugMarkerSetObjectTagEXT:
- {
- return "OP_vkDebugMarkerSetObjectTagEXT";
- }
- case OP_vkDebugMarkerSetObjectNameEXT:
- {
- return "OP_vkDebugMarkerSetObjectNameEXT";
- }
- case OP_vkCmdDebugMarkerBeginEXT:
- {
- return "OP_vkCmdDebugMarkerBeginEXT";
- }
- case OP_vkCmdDebugMarkerEndEXT:
- {
- return "OP_vkCmdDebugMarkerEndEXT";
- }
- case OP_vkCmdDebugMarkerInsertEXT:
- {
- return "OP_vkCmdDebugMarkerInsertEXT";
- }
-#endif
-#ifdef VK_AMD_draw_indirect_count
- case OP_vkCmdDrawIndirectCountAMD:
- {
- return "OP_vkCmdDrawIndirectCountAMD";
- }
- case OP_vkCmdDrawIndexedIndirectCountAMD:
- {
- return "OP_vkCmdDrawIndexedIndirectCountAMD";
- }
-#endif
-#ifdef VK_AMD_shader_info
- case OP_vkGetShaderInfoAMD:
- {
- return "OP_vkGetShaderInfoAMD";
- }
-#endif
-#ifdef VK_NV_external_memory_capabilities
- case OP_vkGetPhysicalDeviceExternalImageFormatPropertiesNV:
- {
- return "OP_vkGetPhysicalDeviceExternalImageFormatPropertiesNV";
- }
-#endif
-#ifdef VK_NV_external_memory_win32
- case OP_vkGetMemoryWin32HandleNV:
- {
- return "OP_vkGetMemoryWin32HandleNV";
- }
-#endif
-#ifdef VK_NN_vi_surface
- case OP_vkCreateViSurfaceNN:
- {
- return "OP_vkCreateViSurfaceNN";
- }
-#endif
-#ifdef VK_EXT_conditional_rendering
- case OP_vkCmdBeginConditionalRenderingEXT:
- {
- return "OP_vkCmdBeginConditionalRenderingEXT";
- }
- case OP_vkCmdEndConditionalRenderingEXT:
- {
- return "OP_vkCmdEndConditionalRenderingEXT";
- }
-#endif
-#ifdef VK_NVX_device_generated_commands
- case OP_vkCmdProcessCommandsNVX:
- {
- return "OP_vkCmdProcessCommandsNVX";
- }
- case OP_vkCmdReserveSpaceForCommandsNVX:
- {
- return "OP_vkCmdReserveSpaceForCommandsNVX";
- }
- case OP_vkCreateIndirectCommandsLayoutNVX:
- {
- return "OP_vkCreateIndirectCommandsLayoutNVX";
- }
- case OP_vkDestroyIndirectCommandsLayoutNVX:
- {
- return "OP_vkDestroyIndirectCommandsLayoutNVX";
- }
- case OP_vkCreateObjectTableNVX:
- {
- return "OP_vkCreateObjectTableNVX";
- }
- case OP_vkDestroyObjectTableNVX:
- {
- return "OP_vkDestroyObjectTableNVX";
- }
- case OP_vkRegisterObjectsNVX:
- {
- return "OP_vkRegisterObjectsNVX";
- }
- case OP_vkUnregisterObjectsNVX:
- {
- return "OP_vkUnregisterObjectsNVX";
- }
- case OP_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX:
- {
- return "OP_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX";
- }
-#endif
-#ifdef VK_NV_clip_space_w_scaling
- case OP_vkCmdSetViewportWScalingNV:
- {
- return "OP_vkCmdSetViewportWScalingNV";
- }
-#endif
-#ifdef VK_EXT_direct_mode_display
- case OP_vkReleaseDisplayEXT:
- {
- return "OP_vkReleaseDisplayEXT";
- }
-#endif
-#ifdef VK_EXT_acquire_xlib_display
- case OP_vkAcquireXlibDisplayEXT:
- {
- return "OP_vkAcquireXlibDisplayEXT";
- }
- case OP_vkGetRandROutputDisplayEXT:
- {
- return "OP_vkGetRandROutputDisplayEXT";
- }
-#endif
-#ifdef VK_EXT_display_surface_counter
- case OP_vkGetPhysicalDeviceSurfaceCapabilities2EXT:
- {
- return "OP_vkGetPhysicalDeviceSurfaceCapabilities2EXT";
- }
-#endif
-#ifdef VK_EXT_display_control
- case OP_vkDisplayPowerControlEXT:
- {
- return "OP_vkDisplayPowerControlEXT";
- }
- case OP_vkRegisterDeviceEventEXT:
- {
- return "OP_vkRegisterDeviceEventEXT";
- }
- case OP_vkRegisterDisplayEventEXT:
- {
- return "OP_vkRegisterDisplayEventEXT";
- }
- case OP_vkGetSwapchainCounterEXT:
- {
- return "OP_vkGetSwapchainCounterEXT";
- }
-#endif
-#ifdef VK_GOOGLE_display_timing
- case OP_vkGetRefreshCycleDurationGOOGLE:
- {
- return "OP_vkGetRefreshCycleDurationGOOGLE";
- }
- case OP_vkGetPastPresentationTimingGOOGLE:
- {
- return "OP_vkGetPastPresentationTimingGOOGLE";
- }
-#endif
-#ifdef VK_EXT_discard_rectangles
- case OP_vkCmdSetDiscardRectangleEXT:
- {
- return "OP_vkCmdSetDiscardRectangleEXT";
- }
-#endif
-#ifdef VK_EXT_hdr_metadata
- case OP_vkSetHdrMetadataEXT:
- {
- return "OP_vkSetHdrMetadataEXT";
- }
-#endif
-#ifdef VK_MVK_ios_surface
- case OP_vkCreateIOSSurfaceMVK:
- {
- return "OP_vkCreateIOSSurfaceMVK";
- }
-#endif
-#ifdef VK_MVK_macos_surface
- case OP_vkCreateMacOSSurfaceMVK:
- {
- return "OP_vkCreateMacOSSurfaceMVK";
- }
-#endif
-#ifdef VK_EXT_debug_utils
- case OP_vkSetDebugUtilsObjectNameEXT:
- {
- return "OP_vkSetDebugUtilsObjectNameEXT";
- }
- case OP_vkSetDebugUtilsObjectTagEXT:
- {
- return "OP_vkSetDebugUtilsObjectTagEXT";
- }
- case OP_vkQueueBeginDebugUtilsLabelEXT:
- {
- return "OP_vkQueueBeginDebugUtilsLabelEXT";
- }
- case OP_vkQueueEndDebugUtilsLabelEXT:
- {
- return "OP_vkQueueEndDebugUtilsLabelEXT";
- }
- case OP_vkQueueInsertDebugUtilsLabelEXT:
- {
- return "OP_vkQueueInsertDebugUtilsLabelEXT";
- }
- case OP_vkCmdBeginDebugUtilsLabelEXT:
- {
- return "OP_vkCmdBeginDebugUtilsLabelEXT";
- }
- case OP_vkCmdEndDebugUtilsLabelEXT:
- {
- return "OP_vkCmdEndDebugUtilsLabelEXT";
- }
- case OP_vkCmdInsertDebugUtilsLabelEXT:
- {
- return "OP_vkCmdInsertDebugUtilsLabelEXT";
- }
- case OP_vkCreateDebugUtilsMessengerEXT:
- {
- return "OP_vkCreateDebugUtilsMessengerEXT";
- }
- case OP_vkDestroyDebugUtilsMessengerEXT:
- {
- return "OP_vkDestroyDebugUtilsMessengerEXT";
- }
- case OP_vkSubmitDebugUtilsMessageEXT:
- {
- return "OP_vkSubmitDebugUtilsMessageEXT";
- }
-#endif
-#ifdef VK_ANDROID_external_memory_android_hardware_buffer
- case OP_vkGetAndroidHardwareBufferPropertiesANDROID:
- {
- return "OP_vkGetAndroidHardwareBufferPropertiesANDROID";
- }
- case OP_vkGetMemoryAndroidHardwareBufferANDROID:
- {
- return "OP_vkGetMemoryAndroidHardwareBufferANDROID";
- }
-#endif
-#ifdef VK_EXT_sample_locations
- case OP_vkCmdSetSampleLocationsEXT:
- {
- return "OP_vkCmdSetSampleLocationsEXT";
- }
- case OP_vkGetPhysicalDeviceMultisamplePropertiesEXT:
- {
- return "OP_vkGetPhysicalDeviceMultisamplePropertiesEXT";
- }
-#endif
-#ifdef VK_EXT_validation_cache
- case OP_vkCreateValidationCacheEXT:
- {
- return "OP_vkCreateValidationCacheEXT";
- }
- case OP_vkDestroyValidationCacheEXT:
- {
- return "OP_vkDestroyValidationCacheEXT";
- }
- case OP_vkMergeValidationCachesEXT:
- {
- return "OP_vkMergeValidationCachesEXT";
- }
- case OP_vkGetValidationCacheDataEXT:
- {
- return "OP_vkGetValidationCacheDataEXT";
- }
-#endif
-#ifdef VK_EXT_external_memory_host
- case OP_vkGetMemoryHostPointerPropertiesEXT:
- {
- return "OP_vkGetMemoryHostPointerPropertiesEXT";
- }
-#endif
-#ifdef VK_AMD_buffer_marker
- case OP_vkCmdWriteBufferMarkerAMD:
- {
- return "OP_vkCmdWriteBufferMarkerAMD";
- }
-#endif
-#ifdef VK_NV_device_diagnostic_checkpoints
- case OP_vkCmdSetCheckpointNV:
- {
- return "OP_vkCmdSetCheckpointNV";
- }
- case OP_vkGetQueueCheckpointDataNV:
- {
- return "OP_vkGetQueueCheckpointDataNV";
- }
-#endif
-#ifdef VK_GOOGLE_address_space
- case OP_vkMapMemoryIntoAddressSpaceGOOGLE:
- {
- return "OP_vkMapMemoryIntoAddressSpaceGOOGLE";
- }
-#endif
-#ifdef VK_GOOGLE_color_buffer
- case OP_vkRegisterImageColorBufferGOOGLE:
- {
- return "OP_vkRegisterImageColorBufferGOOGLE";
- }
- case OP_vkRegisterBufferColorBufferGOOGLE:
- {
- return "OP_vkRegisterBufferColorBufferGOOGLE";
- }
-#endif
-#ifdef VK_GOOGLE_sized_descriptor_update_template
- case OP_vkUpdateDescriptorSetWithTemplateSizedGOOGLE:
- {
- return "OP_vkUpdateDescriptorSetWithTemplateSizedGOOGLE";
- }
-#endif
-#ifdef VK_GOOGLE_async_command_buffers
- case OP_vkBeginCommandBufferAsyncGOOGLE:
- {
- return "OP_vkBeginCommandBufferAsyncGOOGLE";
- }
- case OP_vkEndCommandBufferAsyncGOOGLE:
- {
- return "OP_vkEndCommandBufferAsyncGOOGLE";
- }
- case OP_vkResetCommandBufferAsyncGOOGLE:
- {
- return "OP_vkResetCommandBufferAsyncGOOGLE";
- }
- case OP_vkCommandBufferHostSyncGOOGLE:
- {
- return "OP_vkCommandBufferHostSyncGOOGLE";
- }
-#endif
-#ifdef VK_GOOGLE_create_resources_with_requirements
- case OP_vkCreateImageWithRequirementsGOOGLE:
- {
- return "OP_vkCreateImageWithRequirementsGOOGLE";
- }
- case OP_vkCreateBufferWithRequirementsGOOGLE:
- {
- return "OP_vkCreateBufferWithRequirementsGOOGLE";
- }
-#endif
-#ifdef VK_GOOGLE_address_space_info
- case OP_vkGetMemoryHostAddressInfoGOOGLE:
- {
- return "OP_vkGetMemoryHostAddressInfoGOOGLE";
- }
-#endif
-#ifdef VK_GOOGLE_free_memory_sync
- case OP_vkFreeMemorySyncGOOGLE:
- {
- return "OP_vkFreeMemorySyncGOOGLE";
- }
-#endif
-#ifdef VK_GOOGLE_async_queue_submit
- case OP_vkQueueHostSyncGOOGLE:
- {
- return "OP_vkQueueHostSyncGOOGLE";
- }
- case OP_vkQueueSubmitAsyncGOOGLE:
- {
- return "OP_vkQueueSubmitAsyncGOOGLE";
- }
- case OP_vkQueueWaitIdleAsyncGOOGLE:
- {
- return "OP_vkQueueWaitIdleAsyncGOOGLE";
- }
- case OP_vkQueueBindSparseAsyncGOOGLE:
- {
- return "OP_vkQueueBindSparseAsyncGOOGLE";
- }
-#endif
-#ifdef VK_GOOGLE_linear_image_layout
- case OP_vkGetLinearImageLayoutGOOGLE:
- {
- return "OP_vkGetLinearImageLayoutGOOGLE";
- }
-#endif
- default:
- {
- return "OP_UNKNOWN_API_CALL";
- }
- }
-}
-
-
-} // namespace goldfish_vk
diff --git a/stream-clients/vulkan_enc/goldfish_vk_marshaling_guest.h b/stream-clients/vulkan_enc/goldfish_vk_marshaling_guest.h
deleted file mode 100644
index 6dc5210..0000000
--- a/stream-clients/vulkan_enc/goldfish_vk_marshaling_guest.h
+++ /dev/null
@@ -1,3434 +0,0 @@
-// 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 goldfish_vk_marshaling_guest
-// (header) generated by protocols/vulkan/xml/genvk.py -registry protocols/vulkan/xml/vk.xml cereal -o stream-servers/vulkan/cereal
-// Please do not modify directly;
-// re-run generate-vulkan-sources.sh,
-// or directly from Python by defining:
-// VULKAN_REGISTRY_XML_DIR : Directory containing genvk.py and vk.xml
-// CEREAL_OUTPUT_DIR: Where to put the generated sources.
-// python3 $VULKAN_REGISTRY_XML_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o $CEREAL_OUTPUT_DIR
-
-#pragma once
-
-#include <vulkan/vulkan.h>
-
-
-#include "vk_platform_compat.h"
-
-#include "goldfish_vk_marshaling_guest.h"
-#include "goldfish_vk_private_defs.h"
-#include "VulkanStreamGuest.h"
-
-// Stuff we are not going to use but if included,
-// will cause compile errors. These are Android Vulkan
-// required extensions, but the approach will be to
-// implement them completely on the guest side.
-#undef VK_KHR_android_surface
-#undef VK_ANDROID_external_memory_android_hardware_buffer
-
-
-namespace goldfish_vk {
-
-#ifdef VK_VERSION_1_0
-void marshal_VkApplicationInfo(
- VulkanStreamGuest* vkStream,
- const VkApplicationInfo* forMarshaling);
-
-void unmarshal_VkApplicationInfo(
- VulkanStreamGuest* vkStream,
- VkApplicationInfo* forUnmarshaling);
-
-void marshal_VkInstanceCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkInstanceCreateInfo* forMarshaling);
-
-void unmarshal_VkInstanceCreateInfo(
- VulkanStreamGuest* vkStream,
- VkInstanceCreateInfo* forUnmarshaling);
-
-void marshal_VkAllocationCallbacks(
- VulkanStreamGuest* vkStream,
- const VkAllocationCallbacks* forMarshaling);
-
-void unmarshal_VkAllocationCallbacks(
- VulkanStreamGuest* vkStream,
- VkAllocationCallbacks* forUnmarshaling);
-
-#define OP_vkCreateInstance 20000
-#define OP_vkDestroyInstance 20001
-#define OP_vkEnumeratePhysicalDevices 20002
-void marshal_VkPhysicalDeviceFeatures(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceFeatures* forMarshaling);
-
-void unmarshal_VkPhysicalDeviceFeatures(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceFeatures* forUnmarshaling);
-
-#define OP_vkGetPhysicalDeviceFeatures 20003
-void marshal_VkFormatProperties(
- VulkanStreamGuest* vkStream,
- const VkFormatProperties* forMarshaling);
-
-void unmarshal_VkFormatProperties(
- VulkanStreamGuest* vkStream,
- VkFormatProperties* forUnmarshaling);
-
-#define OP_vkGetPhysicalDeviceFormatProperties 20004
-void marshal_VkExtent3D(
- VulkanStreamGuest* vkStream,
- const VkExtent3D* forMarshaling);
-
-void unmarshal_VkExtent3D(
- VulkanStreamGuest* vkStream,
- VkExtent3D* forUnmarshaling);
-
-void marshal_VkImageFormatProperties(
- VulkanStreamGuest* vkStream,
- const VkImageFormatProperties* forMarshaling);
-
-void unmarshal_VkImageFormatProperties(
- VulkanStreamGuest* vkStream,
- VkImageFormatProperties* forUnmarshaling);
-
-#define OP_vkGetPhysicalDeviceImageFormatProperties 20005
-void marshal_VkPhysicalDeviceLimits(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceLimits* forMarshaling);
-
-void unmarshal_VkPhysicalDeviceLimits(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceLimits* forUnmarshaling);
-
-void marshal_VkPhysicalDeviceSparseProperties(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceSparseProperties* forMarshaling);
-
-void unmarshal_VkPhysicalDeviceSparseProperties(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceSparseProperties* forUnmarshaling);
-
-void marshal_VkPhysicalDeviceProperties(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceProperties* forMarshaling);
-
-void unmarshal_VkPhysicalDeviceProperties(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceProperties* forUnmarshaling);
-
-#define OP_vkGetPhysicalDeviceProperties 20006
-void marshal_VkQueueFamilyProperties(
- VulkanStreamGuest* vkStream,
- const VkQueueFamilyProperties* forMarshaling);
-
-void unmarshal_VkQueueFamilyProperties(
- VulkanStreamGuest* vkStream,
- VkQueueFamilyProperties* forUnmarshaling);
-
-#define OP_vkGetPhysicalDeviceQueueFamilyProperties 20007
-void marshal_VkMemoryType(
- VulkanStreamGuest* vkStream,
- const VkMemoryType* forMarshaling);
-
-void unmarshal_VkMemoryType(
- VulkanStreamGuest* vkStream,
- VkMemoryType* forUnmarshaling);
-
-void marshal_VkMemoryHeap(
- VulkanStreamGuest* vkStream,
- const VkMemoryHeap* forMarshaling);
-
-void unmarshal_VkMemoryHeap(
- VulkanStreamGuest* vkStream,
- VkMemoryHeap* forUnmarshaling);
-
-void marshal_VkPhysicalDeviceMemoryProperties(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceMemoryProperties* forMarshaling);
-
-void unmarshal_VkPhysicalDeviceMemoryProperties(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceMemoryProperties* forUnmarshaling);
-
-#define OP_vkGetPhysicalDeviceMemoryProperties 20008
-#define OP_vkGetInstanceProcAddr 20009
-#define OP_vkGetDeviceProcAddr 20010
-void marshal_VkDeviceQueueCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkDeviceQueueCreateInfo* forMarshaling);
-
-void unmarshal_VkDeviceQueueCreateInfo(
- VulkanStreamGuest* vkStream,
- VkDeviceQueueCreateInfo* forUnmarshaling);
-
-void marshal_VkDeviceCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkDeviceCreateInfo* forMarshaling);
-
-void unmarshal_VkDeviceCreateInfo(
- VulkanStreamGuest* vkStream,
- VkDeviceCreateInfo* forUnmarshaling);
-
-#define OP_vkCreateDevice 20011
-#define OP_vkDestroyDevice 20012
-void marshal_VkExtensionProperties(
- VulkanStreamGuest* vkStream,
- const VkExtensionProperties* forMarshaling);
-
-void unmarshal_VkExtensionProperties(
- VulkanStreamGuest* vkStream,
- VkExtensionProperties* forUnmarshaling);
-
-#define OP_vkEnumerateInstanceExtensionProperties 20013
-#define OP_vkEnumerateDeviceExtensionProperties 20014
-void marshal_VkLayerProperties(
- VulkanStreamGuest* vkStream,
- const VkLayerProperties* forMarshaling);
-
-void unmarshal_VkLayerProperties(
- VulkanStreamGuest* vkStream,
- VkLayerProperties* forUnmarshaling);
-
-#define OP_vkEnumerateInstanceLayerProperties 20015
-#define OP_vkEnumerateDeviceLayerProperties 20016
-#define OP_vkGetDeviceQueue 20017
-void marshal_VkSubmitInfo(
- VulkanStreamGuest* vkStream,
- const VkSubmitInfo* forMarshaling);
-
-void unmarshal_VkSubmitInfo(
- VulkanStreamGuest* vkStream,
- VkSubmitInfo* forUnmarshaling);
-
-#define OP_vkQueueSubmit 20018
-#define OP_vkQueueWaitIdle 20019
-#define OP_vkDeviceWaitIdle 20020
-void marshal_VkMemoryAllocateInfo(
- VulkanStreamGuest* vkStream,
- const VkMemoryAllocateInfo* forMarshaling);
-
-void unmarshal_VkMemoryAllocateInfo(
- VulkanStreamGuest* vkStream,
- VkMemoryAllocateInfo* forUnmarshaling);
-
-#define OP_vkAllocateMemory 20021
-#define OP_vkFreeMemory 20022
-#define OP_vkMapMemory 20023
-#define OP_vkUnmapMemory 20024
-void marshal_VkMappedMemoryRange(
- VulkanStreamGuest* vkStream,
- const VkMappedMemoryRange* forMarshaling);
-
-void unmarshal_VkMappedMemoryRange(
- VulkanStreamGuest* vkStream,
- VkMappedMemoryRange* forUnmarshaling);
-
-#define OP_vkFlushMappedMemoryRanges 20025
-#define OP_vkInvalidateMappedMemoryRanges 20026
-#define OP_vkGetDeviceMemoryCommitment 20027
-#define OP_vkBindBufferMemory 20028
-#define OP_vkBindImageMemory 20029
-void marshal_VkMemoryRequirements(
- VulkanStreamGuest* vkStream,
- const VkMemoryRequirements* forMarshaling);
-
-void unmarshal_VkMemoryRequirements(
- VulkanStreamGuest* vkStream,
- VkMemoryRequirements* forUnmarshaling);
-
-#define OP_vkGetBufferMemoryRequirements 20030
-#define OP_vkGetImageMemoryRequirements 20031
-void marshal_VkSparseImageFormatProperties(
- VulkanStreamGuest* vkStream,
- const VkSparseImageFormatProperties* forMarshaling);
-
-void unmarshal_VkSparseImageFormatProperties(
- VulkanStreamGuest* vkStream,
- VkSparseImageFormatProperties* forUnmarshaling);
-
-void marshal_VkSparseImageMemoryRequirements(
- VulkanStreamGuest* vkStream,
- const VkSparseImageMemoryRequirements* forMarshaling);
-
-void unmarshal_VkSparseImageMemoryRequirements(
- VulkanStreamGuest* vkStream,
- VkSparseImageMemoryRequirements* forUnmarshaling);
-
-#define OP_vkGetImageSparseMemoryRequirements 20032
-#define OP_vkGetPhysicalDeviceSparseImageFormatProperties 20033
-void marshal_VkSparseMemoryBind(
- VulkanStreamGuest* vkStream,
- const VkSparseMemoryBind* forMarshaling);
-
-void unmarshal_VkSparseMemoryBind(
- VulkanStreamGuest* vkStream,
- VkSparseMemoryBind* forUnmarshaling);
-
-void marshal_VkSparseBufferMemoryBindInfo(
- VulkanStreamGuest* vkStream,
- const VkSparseBufferMemoryBindInfo* forMarshaling);
-
-void unmarshal_VkSparseBufferMemoryBindInfo(
- VulkanStreamGuest* vkStream,
- VkSparseBufferMemoryBindInfo* forUnmarshaling);
-
-void marshal_VkSparseImageOpaqueMemoryBindInfo(
- VulkanStreamGuest* vkStream,
- const VkSparseImageOpaqueMemoryBindInfo* forMarshaling);
-
-void unmarshal_VkSparseImageOpaqueMemoryBindInfo(
- VulkanStreamGuest* vkStream,
- VkSparseImageOpaqueMemoryBindInfo* forUnmarshaling);
-
-void marshal_VkImageSubresource(
- VulkanStreamGuest* vkStream,
- const VkImageSubresource* forMarshaling);
-
-void unmarshal_VkImageSubresource(
- VulkanStreamGuest* vkStream,
- VkImageSubresource* forUnmarshaling);
-
-void marshal_VkOffset3D(
- VulkanStreamGuest* vkStream,
- const VkOffset3D* forMarshaling);
-
-void unmarshal_VkOffset3D(
- VulkanStreamGuest* vkStream,
- VkOffset3D* forUnmarshaling);
-
-void marshal_VkSparseImageMemoryBind(
- VulkanStreamGuest* vkStream,
- const VkSparseImageMemoryBind* forMarshaling);
-
-void unmarshal_VkSparseImageMemoryBind(
- VulkanStreamGuest* vkStream,
- VkSparseImageMemoryBind* forUnmarshaling);
-
-void marshal_VkSparseImageMemoryBindInfo(
- VulkanStreamGuest* vkStream,
- const VkSparseImageMemoryBindInfo* forMarshaling);
-
-void unmarshal_VkSparseImageMemoryBindInfo(
- VulkanStreamGuest* vkStream,
- VkSparseImageMemoryBindInfo* forUnmarshaling);
-
-void marshal_VkBindSparseInfo(
- VulkanStreamGuest* vkStream,
- const VkBindSparseInfo* forMarshaling);
-
-void unmarshal_VkBindSparseInfo(
- VulkanStreamGuest* vkStream,
- VkBindSparseInfo* forUnmarshaling);
-
-#define OP_vkQueueBindSparse 20034
-void marshal_VkFenceCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkFenceCreateInfo* forMarshaling);
-
-void unmarshal_VkFenceCreateInfo(
- VulkanStreamGuest* vkStream,
- VkFenceCreateInfo* forUnmarshaling);
-
-#define OP_vkCreateFence 20035
-#define OP_vkDestroyFence 20036
-#define OP_vkResetFences 20037
-#define OP_vkGetFenceStatus 20038
-#define OP_vkWaitForFences 20039
-void marshal_VkSemaphoreCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkSemaphoreCreateInfo* forMarshaling);
-
-void unmarshal_VkSemaphoreCreateInfo(
- VulkanStreamGuest* vkStream,
- VkSemaphoreCreateInfo* forUnmarshaling);
-
-#define OP_vkCreateSemaphore 20040
-#define OP_vkDestroySemaphore 20041
-void marshal_VkEventCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkEventCreateInfo* forMarshaling);
-
-void unmarshal_VkEventCreateInfo(
- VulkanStreamGuest* vkStream,
- VkEventCreateInfo* forUnmarshaling);
-
-#define OP_vkCreateEvent 20042
-#define OP_vkDestroyEvent 20043
-#define OP_vkGetEventStatus 20044
-#define OP_vkSetEvent 20045
-#define OP_vkResetEvent 20046
-void marshal_VkQueryPoolCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkQueryPoolCreateInfo* forMarshaling);
-
-void unmarshal_VkQueryPoolCreateInfo(
- VulkanStreamGuest* vkStream,
- VkQueryPoolCreateInfo* forUnmarshaling);
-
-#define OP_vkCreateQueryPool 20047
-#define OP_vkDestroyQueryPool 20048
-#define OP_vkGetQueryPoolResults 20049
-void marshal_VkBufferCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkBufferCreateInfo* forMarshaling);
-
-void unmarshal_VkBufferCreateInfo(
- VulkanStreamGuest* vkStream,
- VkBufferCreateInfo* forUnmarshaling);
-
-#define OP_vkCreateBuffer 20050
-#define OP_vkDestroyBuffer 20051
-void marshal_VkBufferViewCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkBufferViewCreateInfo* forMarshaling);
-
-void unmarshal_VkBufferViewCreateInfo(
- VulkanStreamGuest* vkStream,
- VkBufferViewCreateInfo* forUnmarshaling);
-
-#define OP_vkCreateBufferView 20052
-#define OP_vkDestroyBufferView 20053
-void marshal_VkImageCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkImageCreateInfo* forMarshaling);
-
-void unmarshal_VkImageCreateInfo(
- VulkanStreamGuest* vkStream,
- VkImageCreateInfo* forUnmarshaling);
-
-#define OP_vkCreateImage 20054
-#define OP_vkDestroyImage 20055
-void marshal_VkSubresourceLayout(
- VulkanStreamGuest* vkStream,
- const VkSubresourceLayout* forMarshaling);
-
-void unmarshal_VkSubresourceLayout(
- VulkanStreamGuest* vkStream,
- VkSubresourceLayout* forUnmarshaling);
-
-#define OP_vkGetImageSubresourceLayout 20056
-void marshal_VkComponentMapping(
- VulkanStreamGuest* vkStream,
- const VkComponentMapping* forMarshaling);
-
-void unmarshal_VkComponentMapping(
- VulkanStreamGuest* vkStream,
- VkComponentMapping* forUnmarshaling);
-
-void marshal_VkImageSubresourceRange(
- VulkanStreamGuest* vkStream,
- const VkImageSubresourceRange* forMarshaling);
-
-void unmarshal_VkImageSubresourceRange(
- VulkanStreamGuest* vkStream,
- VkImageSubresourceRange* forUnmarshaling);
-
-void marshal_VkImageViewCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkImageViewCreateInfo* forMarshaling);
-
-void unmarshal_VkImageViewCreateInfo(
- VulkanStreamGuest* vkStream,
- VkImageViewCreateInfo* forUnmarshaling);
-
-#define OP_vkCreateImageView 20057
-#define OP_vkDestroyImageView 20058
-void marshal_VkShaderModuleCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkShaderModuleCreateInfo* forMarshaling);
-
-void unmarshal_VkShaderModuleCreateInfo(
- VulkanStreamGuest* vkStream,
- VkShaderModuleCreateInfo* forUnmarshaling);
-
-#define OP_vkCreateShaderModule 20059
-#define OP_vkDestroyShaderModule 20060
-void marshal_VkPipelineCacheCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkPipelineCacheCreateInfo* forMarshaling);
-
-void unmarshal_VkPipelineCacheCreateInfo(
- VulkanStreamGuest* vkStream,
- VkPipelineCacheCreateInfo* forUnmarshaling);
-
-#define OP_vkCreatePipelineCache 20061
-#define OP_vkDestroyPipelineCache 20062
-#define OP_vkGetPipelineCacheData 20063
-#define OP_vkMergePipelineCaches 20064
-void marshal_VkSpecializationMapEntry(
- VulkanStreamGuest* vkStream,
- const VkSpecializationMapEntry* forMarshaling);
-
-void unmarshal_VkSpecializationMapEntry(
- VulkanStreamGuest* vkStream,
- VkSpecializationMapEntry* forUnmarshaling);
-
-void marshal_VkSpecializationInfo(
- VulkanStreamGuest* vkStream,
- const VkSpecializationInfo* forMarshaling);
-
-void unmarshal_VkSpecializationInfo(
- VulkanStreamGuest* vkStream,
- VkSpecializationInfo* forUnmarshaling);
-
-void marshal_VkPipelineShaderStageCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkPipelineShaderStageCreateInfo* forMarshaling);
-
-void unmarshal_VkPipelineShaderStageCreateInfo(
- VulkanStreamGuest* vkStream,
- VkPipelineShaderStageCreateInfo* forUnmarshaling);
-
-void marshal_VkVertexInputBindingDescription(
- VulkanStreamGuest* vkStream,
- const VkVertexInputBindingDescription* forMarshaling);
-
-void unmarshal_VkVertexInputBindingDescription(
- VulkanStreamGuest* vkStream,
- VkVertexInputBindingDescription* forUnmarshaling);
-
-void marshal_VkVertexInputAttributeDescription(
- VulkanStreamGuest* vkStream,
- const VkVertexInputAttributeDescription* forMarshaling);
-
-void unmarshal_VkVertexInputAttributeDescription(
- VulkanStreamGuest* vkStream,
- VkVertexInputAttributeDescription* forUnmarshaling);
-
-void marshal_VkPipelineVertexInputStateCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkPipelineVertexInputStateCreateInfo* forMarshaling);
-
-void unmarshal_VkPipelineVertexInputStateCreateInfo(
- VulkanStreamGuest* vkStream,
- VkPipelineVertexInputStateCreateInfo* forUnmarshaling);
-
-void marshal_VkPipelineInputAssemblyStateCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkPipelineInputAssemblyStateCreateInfo* forMarshaling);
-
-void unmarshal_VkPipelineInputAssemblyStateCreateInfo(
- VulkanStreamGuest* vkStream,
- VkPipelineInputAssemblyStateCreateInfo* forUnmarshaling);
-
-void marshal_VkPipelineTessellationStateCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkPipelineTessellationStateCreateInfo* forMarshaling);
-
-void unmarshal_VkPipelineTessellationStateCreateInfo(
- VulkanStreamGuest* vkStream,
- VkPipelineTessellationStateCreateInfo* forUnmarshaling);
-
-void marshal_VkViewport(
- VulkanStreamGuest* vkStream,
- const VkViewport* forMarshaling);
-
-void unmarshal_VkViewport(
- VulkanStreamGuest* vkStream,
- VkViewport* forUnmarshaling);
-
-void marshal_VkOffset2D(
- VulkanStreamGuest* vkStream,
- const VkOffset2D* forMarshaling);
-
-void unmarshal_VkOffset2D(
- VulkanStreamGuest* vkStream,
- VkOffset2D* forUnmarshaling);
-
-void marshal_VkExtent2D(
- VulkanStreamGuest* vkStream,
- const VkExtent2D* forMarshaling);
-
-void unmarshal_VkExtent2D(
- VulkanStreamGuest* vkStream,
- VkExtent2D* forUnmarshaling);
-
-void marshal_VkRect2D(
- VulkanStreamGuest* vkStream,
- const VkRect2D* forMarshaling);
-
-void unmarshal_VkRect2D(
- VulkanStreamGuest* vkStream,
- VkRect2D* forUnmarshaling);
-
-void marshal_VkPipelineViewportStateCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkPipelineViewportStateCreateInfo* forMarshaling);
-
-void unmarshal_VkPipelineViewportStateCreateInfo(
- VulkanStreamGuest* vkStream,
- VkPipelineViewportStateCreateInfo* forUnmarshaling);
-
-void marshal_VkPipelineRasterizationStateCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkPipelineRasterizationStateCreateInfo* forMarshaling);
-
-void unmarshal_VkPipelineRasterizationStateCreateInfo(
- VulkanStreamGuest* vkStream,
- VkPipelineRasterizationStateCreateInfo* forUnmarshaling);
-
-void marshal_VkPipelineMultisampleStateCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkPipelineMultisampleStateCreateInfo* forMarshaling);
-
-void unmarshal_VkPipelineMultisampleStateCreateInfo(
- VulkanStreamGuest* vkStream,
- VkPipelineMultisampleStateCreateInfo* forUnmarshaling);
-
-void marshal_VkStencilOpState(
- VulkanStreamGuest* vkStream,
- const VkStencilOpState* forMarshaling);
-
-void unmarshal_VkStencilOpState(
- VulkanStreamGuest* vkStream,
- VkStencilOpState* forUnmarshaling);
-
-void marshal_VkPipelineDepthStencilStateCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkPipelineDepthStencilStateCreateInfo* forMarshaling);
-
-void unmarshal_VkPipelineDepthStencilStateCreateInfo(
- VulkanStreamGuest* vkStream,
- VkPipelineDepthStencilStateCreateInfo* forUnmarshaling);
-
-void marshal_VkPipelineColorBlendAttachmentState(
- VulkanStreamGuest* vkStream,
- const VkPipelineColorBlendAttachmentState* forMarshaling);
-
-void unmarshal_VkPipelineColorBlendAttachmentState(
- VulkanStreamGuest* vkStream,
- VkPipelineColorBlendAttachmentState* forUnmarshaling);
-
-void marshal_VkPipelineColorBlendStateCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkPipelineColorBlendStateCreateInfo* forMarshaling);
-
-void unmarshal_VkPipelineColorBlendStateCreateInfo(
- VulkanStreamGuest* vkStream,
- VkPipelineColorBlendStateCreateInfo* forUnmarshaling);
-
-void marshal_VkPipelineDynamicStateCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkPipelineDynamicStateCreateInfo* forMarshaling);
-
-void unmarshal_VkPipelineDynamicStateCreateInfo(
- VulkanStreamGuest* vkStream,
- VkPipelineDynamicStateCreateInfo* forUnmarshaling);
-
-void marshal_VkGraphicsPipelineCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkGraphicsPipelineCreateInfo* forMarshaling);
-
-void unmarshal_VkGraphicsPipelineCreateInfo(
- VulkanStreamGuest* vkStream,
- VkGraphicsPipelineCreateInfo* forUnmarshaling);
-
-#define OP_vkCreateGraphicsPipelines 20065
-void marshal_VkComputePipelineCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkComputePipelineCreateInfo* forMarshaling);
-
-void unmarshal_VkComputePipelineCreateInfo(
- VulkanStreamGuest* vkStream,
- VkComputePipelineCreateInfo* forUnmarshaling);
-
-#define OP_vkCreateComputePipelines 20066
-#define OP_vkDestroyPipeline 20067
-void marshal_VkPushConstantRange(
- VulkanStreamGuest* vkStream,
- const VkPushConstantRange* forMarshaling);
-
-void unmarshal_VkPushConstantRange(
- VulkanStreamGuest* vkStream,
- VkPushConstantRange* forUnmarshaling);
-
-void marshal_VkPipelineLayoutCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkPipelineLayoutCreateInfo* forMarshaling);
-
-void unmarshal_VkPipelineLayoutCreateInfo(
- VulkanStreamGuest* vkStream,
- VkPipelineLayoutCreateInfo* forUnmarshaling);
-
-#define OP_vkCreatePipelineLayout 20068
-#define OP_vkDestroyPipelineLayout 20069
-void marshal_VkSamplerCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkSamplerCreateInfo* forMarshaling);
-
-void unmarshal_VkSamplerCreateInfo(
- VulkanStreamGuest* vkStream,
- VkSamplerCreateInfo* forUnmarshaling);
-
-#define OP_vkCreateSampler 20070
-#define OP_vkDestroySampler 20071
-void marshal_VkDescriptorSetLayoutBinding(
- VulkanStreamGuest* vkStream,
- const VkDescriptorSetLayoutBinding* forMarshaling);
-
-void unmarshal_VkDescriptorSetLayoutBinding(
- VulkanStreamGuest* vkStream,
- VkDescriptorSetLayoutBinding* forUnmarshaling);
-
-void marshal_VkDescriptorSetLayoutCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkDescriptorSetLayoutCreateInfo* forMarshaling);
-
-void unmarshal_VkDescriptorSetLayoutCreateInfo(
- VulkanStreamGuest* vkStream,
- VkDescriptorSetLayoutCreateInfo* forUnmarshaling);
-
-#define OP_vkCreateDescriptorSetLayout 20072
-#define OP_vkDestroyDescriptorSetLayout 20073
-void marshal_VkDescriptorPoolSize(
- VulkanStreamGuest* vkStream,
- const VkDescriptorPoolSize* forMarshaling);
-
-void unmarshal_VkDescriptorPoolSize(
- VulkanStreamGuest* vkStream,
- VkDescriptorPoolSize* forUnmarshaling);
-
-void marshal_VkDescriptorPoolCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkDescriptorPoolCreateInfo* forMarshaling);
-
-void unmarshal_VkDescriptorPoolCreateInfo(
- VulkanStreamGuest* vkStream,
- VkDescriptorPoolCreateInfo* forUnmarshaling);
-
-#define OP_vkCreateDescriptorPool 20074
-#define OP_vkDestroyDescriptorPool 20075
-#define OP_vkResetDescriptorPool 20076
-void marshal_VkDescriptorSetAllocateInfo(
- VulkanStreamGuest* vkStream,
- const VkDescriptorSetAllocateInfo* forMarshaling);
-
-void unmarshal_VkDescriptorSetAllocateInfo(
- VulkanStreamGuest* vkStream,
- VkDescriptorSetAllocateInfo* forUnmarshaling);
-
-#define OP_vkAllocateDescriptorSets 20077
-#define OP_vkFreeDescriptorSets 20078
-void marshal_VkDescriptorImageInfo(
- VulkanStreamGuest* vkStream,
- const VkDescriptorImageInfo* forMarshaling);
-
-void unmarshal_VkDescriptorImageInfo(
- VulkanStreamGuest* vkStream,
- VkDescriptorImageInfo* forUnmarshaling);
-
-void marshal_VkDescriptorBufferInfo(
- VulkanStreamGuest* vkStream,
- const VkDescriptorBufferInfo* forMarshaling);
-
-void unmarshal_VkDescriptorBufferInfo(
- VulkanStreamGuest* vkStream,
- VkDescriptorBufferInfo* forUnmarshaling);
-
-void marshal_VkWriteDescriptorSet(
- VulkanStreamGuest* vkStream,
- const VkWriteDescriptorSet* forMarshaling);
-
-void unmarshal_VkWriteDescriptorSet(
- VulkanStreamGuest* vkStream,
- VkWriteDescriptorSet* forUnmarshaling);
-
-void marshal_VkCopyDescriptorSet(
- VulkanStreamGuest* vkStream,
- const VkCopyDescriptorSet* forMarshaling);
-
-void unmarshal_VkCopyDescriptorSet(
- VulkanStreamGuest* vkStream,
- VkCopyDescriptorSet* forUnmarshaling);
-
-#define OP_vkUpdateDescriptorSets 20079
-void marshal_VkFramebufferCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkFramebufferCreateInfo* forMarshaling);
-
-void unmarshal_VkFramebufferCreateInfo(
- VulkanStreamGuest* vkStream,
- VkFramebufferCreateInfo* forUnmarshaling);
-
-#define OP_vkCreateFramebuffer 20080
-#define OP_vkDestroyFramebuffer 20081
-void marshal_VkAttachmentDescription(
- VulkanStreamGuest* vkStream,
- const VkAttachmentDescription* forMarshaling);
-
-void unmarshal_VkAttachmentDescription(
- VulkanStreamGuest* vkStream,
- VkAttachmentDescription* forUnmarshaling);
-
-void marshal_VkAttachmentReference(
- VulkanStreamGuest* vkStream,
- const VkAttachmentReference* forMarshaling);
-
-void unmarshal_VkAttachmentReference(
- VulkanStreamGuest* vkStream,
- VkAttachmentReference* forUnmarshaling);
-
-void marshal_VkSubpassDescription(
- VulkanStreamGuest* vkStream,
- const VkSubpassDescription* forMarshaling);
-
-void unmarshal_VkSubpassDescription(
- VulkanStreamGuest* vkStream,
- VkSubpassDescription* forUnmarshaling);
-
-void marshal_VkSubpassDependency(
- VulkanStreamGuest* vkStream,
- const VkSubpassDependency* forMarshaling);
-
-void unmarshal_VkSubpassDependency(
- VulkanStreamGuest* vkStream,
- VkSubpassDependency* forUnmarshaling);
-
-void marshal_VkRenderPassCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkRenderPassCreateInfo* forMarshaling);
-
-void unmarshal_VkRenderPassCreateInfo(
- VulkanStreamGuest* vkStream,
- VkRenderPassCreateInfo* forUnmarshaling);
-
-#define OP_vkCreateRenderPass 20082
-#define OP_vkDestroyRenderPass 20083
-#define OP_vkGetRenderAreaGranularity 20084
-void marshal_VkCommandPoolCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkCommandPoolCreateInfo* forMarshaling);
-
-void unmarshal_VkCommandPoolCreateInfo(
- VulkanStreamGuest* vkStream,
- VkCommandPoolCreateInfo* forUnmarshaling);
-
-#define OP_vkCreateCommandPool 20085
-#define OP_vkDestroyCommandPool 20086
-#define OP_vkResetCommandPool 20087
-void marshal_VkCommandBufferAllocateInfo(
- VulkanStreamGuest* vkStream,
- const VkCommandBufferAllocateInfo* forMarshaling);
-
-void unmarshal_VkCommandBufferAllocateInfo(
- VulkanStreamGuest* vkStream,
- VkCommandBufferAllocateInfo* forUnmarshaling);
-
-#define OP_vkAllocateCommandBuffers 20088
-#define OP_vkFreeCommandBuffers 20089
-void marshal_VkCommandBufferInheritanceInfo(
- VulkanStreamGuest* vkStream,
- const VkCommandBufferInheritanceInfo* forMarshaling);
-
-void unmarshal_VkCommandBufferInheritanceInfo(
- VulkanStreamGuest* vkStream,
- VkCommandBufferInheritanceInfo* forUnmarshaling);
-
-void marshal_VkCommandBufferBeginInfo(
- VulkanStreamGuest* vkStream,
- const VkCommandBufferBeginInfo* forMarshaling);
-
-void unmarshal_VkCommandBufferBeginInfo(
- VulkanStreamGuest* vkStream,
- VkCommandBufferBeginInfo* forUnmarshaling);
-
-#define OP_vkBeginCommandBuffer 20090
-#define OP_vkEndCommandBuffer 20091
-#define OP_vkResetCommandBuffer 20092
-#define OP_vkCmdBindPipeline 20093
-#define OP_vkCmdSetViewport 20094
-#define OP_vkCmdSetScissor 20095
-#define OP_vkCmdSetLineWidth 20096
-#define OP_vkCmdSetDepthBias 20097
-#define OP_vkCmdSetBlendConstants 20098
-#define OP_vkCmdSetDepthBounds 20099
-#define OP_vkCmdSetStencilCompareMask 20100
-#define OP_vkCmdSetStencilWriteMask 20101
-#define OP_vkCmdSetStencilReference 20102
-#define OP_vkCmdBindDescriptorSets 20103
-#define OP_vkCmdBindIndexBuffer 20104
-#define OP_vkCmdBindVertexBuffers 20105
-#define OP_vkCmdDraw 20106
-#define OP_vkCmdDrawIndexed 20107
-#define OP_vkCmdDrawIndirect 20108
-#define OP_vkCmdDrawIndexedIndirect 20109
-#define OP_vkCmdDispatch 20110
-#define OP_vkCmdDispatchIndirect 20111
-void marshal_VkBufferCopy(
- VulkanStreamGuest* vkStream,
- const VkBufferCopy* forMarshaling);
-
-void unmarshal_VkBufferCopy(
- VulkanStreamGuest* vkStream,
- VkBufferCopy* forUnmarshaling);
-
-#define OP_vkCmdCopyBuffer 20112
-void marshal_VkImageSubresourceLayers(
- VulkanStreamGuest* vkStream,
- const VkImageSubresourceLayers* forMarshaling);
-
-void unmarshal_VkImageSubresourceLayers(
- VulkanStreamGuest* vkStream,
- VkImageSubresourceLayers* forUnmarshaling);
-
-void marshal_VkImageCopy(
- VulkanStreamGuest* vkStream,
- const VkImageCopy* forMarshaling);
-
-void unmarshal_VkImageCopy(
- VulkanStreamGuest* vkStream,
- VkImageCopy* forUnmarshaling);
-
-#define OP_vkCmdCopyImage 20113
-void marshal_VkImageBlit(
- VulkanStreamGuest* vkStream,
- const VkImageBlit* forMarshaling);
-
-void unmarshal_VkImageBlit(
- VulkanStreamGuest* vkStream,
- VkImageBlit* forUnmarshaling);
-
-#define OP_vkCmdBlitImage 20114
-void marshal_VkBufferImageCopy(
- VulkanStreamGuest* vkStream,
- const VkBufferImageCopy* forMarshaling);
-
-void unmarshal_VkBufferImageCopy(
- VulkanStreamGuest* vkStream,
- VkBufferImageCopy* forUnmarshaling);
-
-#define OP_vkCmdCopyBufferToImage 20115
-#define OP_vkCmdCopyImageToBuffer 20116
-#define OP_vkCmdUpdateBuffer 20117
-#define OP_vkCmdFillBuffer 20118
-void marshal_VkClearColorValue(
- VulkanStreamGuest* vkStream,
- const VkClearColorValue* forMarshaling);
-
-void unmarshal_VkClearColorValue(
- VulkanStreamGuest* vkStream,
- VkClearColorValue* forUnmarshaling);
-
-#define OP_vkCmdClearColorImage 20119
-void marshal_VkClearDepthStencilValue(
- VulkanStreamGuest* vkStream,
- const VkClearDepthStencilValue* forMarshaling);
-
-void unmarshal_VkClearDepthStencilValue(
- VulkanStreamGuest* vkStream,
- VkClearDepthStencilValue* forUnmarshaling);
-
-#define OP_vkCmdClearDepthStencilImage 20120
-void marshal_VkClearValue(
- VulkanStreamGuest* vkStream,
- const VkClearValue* forMarshaling);
-
-void unmarshal_VkClearValue(
- VulkanStreamGuest* vkStream,
- VkClearValue* forUnmarshaling);
-
-void marshal_VkClearAttachment(
- VulkanStreamGuest* vkStream,
- const VkClearAttachment* forMarshaling);
-
-void unmarshal_VkClearAttachment(
- VulkanStreamGuest* vkStream,
- VkClearAttachment* forUnmarshaling);
-
-void marshal_VkClearRect(
- VulkanStreamGuest* vkStream,
- const VkClearRect* forMarshaling);
-
-void unmarshal_VkClearRect(
- VulkanStreamGuest* vkStream,
- VkClearRect* forUnmarshaling);
-
-#define OP_vkCmdClearAttachments 20121
-void marshal_VkImageResolve(
- VulkanStreamGuest* vkStream,
- const VkImageResolve* forMarshaling);
-
-void unmarshal_VkImageResolve(
- VulkanStreamGuest* vkStream,
- VkImageResolve* forUnmarshaling);
-
-#define OP_vkCmdResolveImage 20122
-#define OP_vkCmdSetEvent 20123
-#define OP_vkCmdResetEvent 20124
-void marshal_VkMemoryBarrier(
- VulkanStreamGuest* vkStream,
- const VkMemoryBarrier* forMarshaling);
-
-void unmarshal_VkMemoryBarrier(
- VulkanStreamGuest* vkStream,
- VkMemoryBarrier* forUnmarshaling);
-
-void marshal_VkBufferMemoryBarrier(
- VulkanStreamGuest* vkStream,
- const VkBufferMemoryBarrier* forMarshaling);
-
-void unmarshal_VkBufferMemoryBarrier(
- VulkanStreamGuest* vkStream,
- VkBufferMemoryBarrier* forUnmarshaling);
-
-void marshal_VkImageMemoryBarrier(
- VulkanStreamGuest* vkStream,
- const VkImageMemoryBarrier* forMarshaling);
-
-void unmarshal_VkImageMemoryBarrier(
- VulkanStreamGuest* vkStream,
- VkImageMemoryBarrier* forUnmarshaling);
-
-#define OP_vkCmdWaitEvents 20125
-#define OP_vkCmdPipelineBarrier 20126
-#define OP_vkCmdBeginQuery 20127
-#define OP_vkCmdEndQuery 20128
-#define OP_vkCmdResetQueryPool 20129
-#define OP_vkCmdWriteTimestamp 20130
-#define OP_vkCmdCopyQueryPoolResults 20131
-#define OP_vkCmdPushConstants 20132
-void marshal_VkRenderPassBeginInfo(
- VulkanStreamGuest* vkStream,
- const VkRenderPassBeginInfo* forMarshaling);
-
-void unmarshal_VkRenderPassBeginInfo(
- VulkanStreamGuest* vkStream,
- VkRenderPassBeginInfo* forUnmarshaling);
-
-#define OP_vkCmdBeginRenderPass 20133
-#define OP_vkCmdNextSubpass 20134
-#define OP_vkCmdEndRenderPass 20135
-#define OP_vkCmdExecuteCommands 20136
-void marshal_VkDispatchIndirectCommand(
- VulkanStreamGuest* vkStream,
- const VkDispatchIndirectCommand* forMarshaling);
-
-void unmarshal_VkDispatchIndirectCommand(
- VulkanStreamGuest* vkStream,
- VkDispatchIndirectCommand* forUnmarshaling);
-
-void marshal_VkDrawIndexedIndirectCommand(
- VulkanStreamGuest* vkStream,
- const VkDrawIndexedIndirectCommand* forMarshaling);
-
-void unmarshal_VkDrawIndexedIndirectCommand(
- VulkanStreamGuest* vkStream,
- VkDrawIndexedIndirectCommand* forUnmarshaling);
-
-void marshal_VkDrawIndirectCommand(
- VulkanStreamGuest* vkStream,
- const VkDrawIndirectCommand* forMarshaling);
-
-void unmarshal_VkDrawIndirectCommand(
- VulkanStreamGuest* vkStream,
- VkDrawIndirectCommand* forUnmarshaling);
-
-void marshal_VkBaseOutStructure(
- VulkanStreamGuest* vkStream,
- const VkBaseOutStructure* forMarshaling);
-
-void unmarshal_VkBaseOutStructure(
- VulkanStreamGuest* vkStream,
- VkBaseOutStructure* forUnmarshaling);
-
-void marshal_VkBaseInStructure(
- VulkanStreamGuest* vkStream,
- const VkBaseInStructure* forMarshaling);
-
-void unmarshal_VkBaseInStructure(
- VulkanStreamGuest* vkStream,
- VkBaseInStructure* forUnmarshaling);
-
-#endif
-#ifdef VK_VERSION_1_1
-#define OP_vkEnumerateInstanceVersion 20137
-void marshal_VkPhysicalDeviceSubgroupProperties(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceSubgroupProperties* forMarshaling);
-
-void unmarshal_VkPhysicalDeviceSubgroupProperties(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceSubgroupProperties* forUnmarshaling);
-
-void marshal_VkBindBufferMemoryInfo(
- VulkanStreamGuest* vkStream,
- const VkBindBufferMemoryInfo* forMarshaling);
-
-void unmarshal_VkBindBufferMemoryInfo(
- VulkanStreamGuest* vkStream,
- VkBindBufferMemoryInfo* forUnmarshaling);
-
-void marshal_VkBindImageMemoryInfo(
- VulkanStreamGuest* vkStream,
- const VkBindImageMemoryInfo* forMarshaling);
-
-void unmarshal_VkBindImageMemoryInfo(
- VulkanStreamGuest* vkStream,
- VkBindImageMemoryInfo* forUnmarshaling);
-
-#define OP_vkBindBufferMemory2 20138
-#define OP_vkBindImageMemory2 20139
-void marshal_VkPhysicalDevice16BitStorageFeatures(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDevice16BitStorageFeatures* forMarshaling);
-
-void unmarshal_VkPhysicalDevice16BitStorageFeatures(
- VulkanStreamGuest* vkStream,
- VkPhysicalDevice16BitStorageFeatures* forUnmarshaling);
-
-void marshal_VkMemoryDedicatedRequirements(
- VulkanStreamGuest* vkStream,
- const VkMemoryDedicatedRequirements* forMarshaling);
-
-void unmarshal_VkMemoryDedicatedRequirements(
- VulkanStreamGuest* vkStream,
- VkMemoryDedicatedRequirements* forUnmarshaling);
-
-void marshal_VkMemoryDedicatedAllocateInfo(
- VulkanStreamGuest* vkStream,
- const VkMemoryDedicatedAllocateInfo* forMarshaling);
-
-void unmarshal_VkMemoryDedicatedAllocateInfo(
- VulkanStreamGuest* vkStream,
- VkMemoryDedicatedAllocateInfo* forUnmarshaling);
-
-void marshal_VkMemoryAllocateFlagsInfo(
- VulkanStreamGuest* vkStream,
- const VkMemoryAllocateFlagsInfo* forMarshaling);
-
-void unmarshal_VkMemoryAllocateFlagsInfo(
- VulkanStreamGuest* vkStream,
- VkMemoryAllocateFlagsInfo* forUnmarshaling);
-
-void marshal_VkDeviceGroupRenderPassBeginInfo(
- VulkanStreamGuest* vkStream,
- const VkDeviceGroupRenderPassBeginInfo* forMarshaling);
-
-void unmarshal_VkDeviceGroupRenderPassBeginInfo(
- VulkanStreamGuest* vkStream,
- VkDeviceGroupRenderPassBeginInfo* forUnmarshaling);
-
-void marshal_VkDeviceGroupCommandBufferBeginInfo(
- VulkanStreamGuest* vkStream,
- const VkDeviceGroupCommandBufferBeginInfo* forMarshaling);
-
-void unmarshal_VkDeviceGroupCommandBufferBeginInfo(
- VulkanStreamGuest* vkStream,
- VkDeviceGroupCommandBufferBeginInfo* forUnmarshaling);
-
-void marshal_VkDeviceGroupSubmitInfo(
- VulkanStreamGuest* vkStream,
- const VkDeviceGroupSubmitInfo* forMarshaling);
-
-void unmarshal_VkDeviceGroupSubmitInfo(
- VulkanStreamGuest* vkStream,
- VkDeviceGroupSubmitInfo* forUnmarshaling);
-
-void marshal_VkDeviceGroupBindSparseInfo(
- VulkanStreamGuest* vkStream,
- const VkDeviceGroupBindSparseInfo* forMarshaling);
-
-void unmarshal_VkDeviceGroupBindSparseInfo(
- VulkanStreamGuest* vkStream,
- VkDeviceGroupBindSparseInfo* forUnmarshaling);
-
-#define OP_vkGetDeviceGroupPeerMemoryFeatures 20140
-#define OP_vkCmdSetDeviceMask 20141
-#define OP_vkCmdDispatchBase 20142
-void marshal_VkBindBufferMemoryDeviceGroupInfo(
- VulkanStreamGuest* vkStream,
- const VkBindBufferMemoryDeviceGroupInfo* forMarshaling);
-
-void unmarshal_VkBindBufferMemoryDeviceGroupInfo(
- VulkanStreamGuest* vkStream,
- VkBindBufferMemoryDeviceGroupInfo* forUnmarshaling);
-
-void marshal_VkBindImageMemoryDeviceGroupInfo(
- VulkanStreamGuest* vkStream,
- const VkBindImageMemoryDeviceGroupInfo* forMarshaling);
-
-void unmarshal_VkBindImageMemoryDeviceGroupInfo(
- VulkanStreamGuest* vkStream,
- VkBindImageMemoryDeviceGroupInfo* forUnmarshaling);
-
-void marshal_VkPhysicalDeviceGroupProperties(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceGroupProperties* forMarshaling);
-
-void unmarshal_VkPhysicalDeviceGroupProperties(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceGroupProperties* forUnmarshaling);
-
-void marshal_VkDeviceGroupDeviceCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkDeviceGroupDeviceCreateInfo* forMarshaling);
-
-void unmarshal_VkDeviceGroupDeviceCreateInfo(
- VulkanStreamGuest* vkStream,
- VkDeviceGroupDeviceCreateInfo* forUnmarshaling);
-
-#define OP_vkEnumeratePhysicalDeviceGroups 20143
-void marshal_VkBufferMemoryRequirementsInfo2(
- VulkanStreamGuest* vkStream,
- const VkBufferMemoryRequirementsInfo2* forMarshaling);
-
-void unmarshal_VkBufferMemoryRequirementsInfo2(
- VulkanStreamGuest* vkStream,
- VkBufferMemoryRequirementsInfo2* forUnmarshaling);
-
-void marshal_VkImageMemoryRequirementsInfo2(
- VulkanStreamGuest* vkStream,
- const VkImageMemoryRequirementsInfo2* forMarshaling);
-
-void unmarshal_VkImageMemoryRequirementsInfo2(
- VulkanStreamGuest* vkStream,
- VkImageMemoryRequirementsInfo2* forUnmarshaling);
-
-void marshal_VkImageSparseMemoryRequirementsInfo2(
- VulkanStreamGuest* vkStream,
- const VkImageSparseMemoryRequirementsInfo2* forMarshaling);
-
-void unmarshal_VkImageSparseMemoryRequirementsInfo2(
- VulkanStreamGuest* vkStream,
- VkImageSparseMemoryRequirementsInfo2* forUnmarshaling);
-
-void marshal_VkMemoryRequirements2(
- VulkanStreamGuest* vkStream,
- const VkMemoryRequirements2* forMarshaling);
-
-void unmarshal_VkMemoryRequirements2(
- VulkanStreamGuest* vkStream,
- VkMemoryRequirements2* forUnmarshaling);
-
-void marshal_VkSparseImageMemoryRequirements2(
- VulkanStreamGuest* vkStream,
- const VkSparseImageMemoryRequirements2* forMarshaling);
-
-void unmarshal_VkSparseImageMemoryRequirements2(
- VulkanStreamGuest* vkStream,
- VkSparseImageMemoryRequirements2* forUnmarshaling);
-
-#define OP_vkGetImageMemoryRequirements2 20144
-#define OP_vkGetBufferMemoryRequirements2 20145
-#define OP_vkGetImageSparseMemoryRequirements2 20146
-void marshal_VkPhysicalDeviceFeatures2(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceFeatures2* forMarshaling);
-
-void unmarshal_VkPhysicalDeviceFeatures2(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceFeatures2* forUnmarshaling);
-
-void marshal_VkPhysicalDeviceProperties2(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceProperties2* forMarshaling);
-
-void unmarshal_VkPhysicalDeviceProperties2(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceProperties2* forUnmarshaling);
-
-void marshal_VkFormatProperties2(
- VulkanStreamGuest* vkStream,
- const VkFormatProperties2* forMarshaling);
-
-void unmarshal_VkFormatProperties2(
- VulkanStreamGuest* vkStream,
- VkFormatProperties2* forUnmarshaling);
-
-void marshal_VkImageFormatProperties2(
- VulkanStreamGuest* vkStream,
- const VkImageFormatProperties2* forMarshaling);
-
-void unmarshal_VkImageFormatProperties2(
- VulkanStreamGuest* vkStream,
- VkImageFormatProperties2* forUnmarshaling);
-
-void marshal_VkPhysicalDeviceImageFormatInfo2(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceImageFormatInfo2* forMarshaling);
-
-void unmarshal_VkPhysicalDeviceImageFormatInfo2(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceImageFormatInfo2* forUnmarshaling);
-
-void marshal_VkQueueFamilyProperties2(
- VulkanStreamGuest* vkStream,
- const VkQueueFamilyProperties2* forMarshaling);
-
-void unmarshal_VkQueueFamilyProperties2(
- VulkanStreamGuest* vkStream,
- VkQueueFamilyProperties2* forUnmarshaling);
-
-void marshal_VkPhysicalDeviceMemoryProperties2(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceMemoryProperties2* forMarshaling);
-
-void unmarshal_VkPhysicalDeviceMemoryProperties2(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceMemoryProperties2* forUnmarshaling);
-
-void marshal_VkSparseImageFormatProperties2(
- VulkanStreamGuest* vkStream,
- const VkSparseImageFormatProperties2* forMarshaling);
-
-void unmarshal_VkSparseImageFormatProperties2(
- VulkanStreamGuest* vkStream,
- VkSparseImageFormatProperties2* forUnmarshaling);
-
-void marshal_VkPhysicalDeviceSparseImageFormatInfo2(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceSparseImageFormatInfo2* forMarshaling);
-
-void unmarshal_VkPhysicalDeviceSparseImageFormatInfo2(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceSparseImageFormatInfo2* forUnmarshaling);
-
-#define OP_vkGetPhysicalDeviceFeatures2 20147
-#define OP_vkGetPhysicalDeviceProperties2 20148
-#define OP_vkGetPhysicalDeviceFormatProperties2 20149
-#define OP_vkGetPhysicalDeviceImageFormatProperties2 20150
-#define OP_vkGetPhysicalDeviceQueueFamilyProperties2 20151
-#define OP_vkGetPhysicalDeviceMemoryProperties2 20152
-#define OP_vkGetPhysicalDeviceSparseImageFormatProperties2 20153
-#define OP_vkTrimCommandPool 20154
-void marshal_VkPhysicalDevicePointClippingProperties(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDevicePointClippingProperties* forMarshaling);
-
-void unmarshal_VkPhysicalDevicePointClippingProperties(
- VulkanStreamGuest* vkStream,
- VkPhysicalDevicePointClippingProperties* forUnmarshaling);
-
-void marshal_VkInputAttachmentAspectReference(
- VulkanStreamGuest* vkStream,
- const VkInputAttachmentAspectReference* forMarshaling);
-
-void unmarshal_VkInputAttachmentAspectReference(
- VulkanStreamGuest* vkStream,
- VkInputAttachmentAspectReference* forUnmarshaling);
-
-void marshal_VkRenderPassInputAttachmentAspectCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkRenderPassInputAttachmentAspectCreateInfo* forMarshaling);
-
-void unmarshal_VkRenderPassInputAttachmentAspectCreateInfo(
- VulkanStreamGuest* vkStream,
- VkRenderPassInputAttachmentAspectCreateInfo* forUnmarshaling);
-
-void marshal_VkImageViewUsageCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkImageViewUsageCreateInfo* forMarshaling);
-
-void unmarshal_VkImageViewUsageCreateInfo(
- VulkanStreamGuest* vkStream,
- VkImageViewUsageCreateInfo* forUnmarshaling);
-
-void marshal_VkPipelineTessellationDomainOriginStateCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkPipelineTessellationDomainOriginStateCreateInfo* forMarshaling);
-
-void unmarshal_VkPipelineTessellationDomainOriginStateCreateInfo(
- VulkanStreamGuest* vkStream,
- VkPipelineTessellationDomainOriginStateCreateInfo* forUnmarshaling);
-
-void marshal_VkRenderPassMultiviewCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkRenderPassMultiviewCreateInfo* forMarshaling);
-
-void unmarshal_VkRenderPassMultiviewCreateInfo(
- VulkanStreamGuest* vkStream,
- VkRenderPassMultiviewCreateInfo* forUnmarshaling);
-
-void marshal_VkPhysicalDeviceMultiviewFeatures(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceMultiviewFeatures* forMarshaling);
-
-void unmarshal_VkPhysicalDeviceMultiviewFeatures(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceMultiviewFeatures* forUnmarshaling);
-
-void marshal_VkPhysicalDeviceMultiviewProperties(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceMultiviewProperties* forMarshaling);
-
-void unmarshal_VkPhysicalDeviceMultiviewProperties(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceMultiviewProperties* forUnmarshaling);
-
-void marshal_VkPhysicalDeviceVariablePointerFeatures(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceVariablePointerFeatures* forMarshaling);
-
-void unmarshal_VkPhysicalDeviceVariablePointerFeatures(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceVariablePointerFeatures* forUnmarshaling);
-
-void marshal_VkPhysicalDeviceProtectedMemoryFeatures(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceProtectedMemoryFeatures* forMarshaling);
-
-void unmarshal_VkPhysicalDeviceProtectedMemoryFeatures(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceProtectedMemoryFeatures* forUnmarshaling);
-
-void marshal_VkPhysicalDeviceProtectedMemoryProperties(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceProtectedMemoryProperties* forMarshaling);
-
-void unmarshal_VkPhysicalDeviceProtectedMemoryProperties(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceProtectedMemoryProperties* forUnmarshaling);
-
-void marshal_VkDeviceQueueInfo2(
- VulkanStreamGuest* vkStream,
- const VkDeviceQueueInfo2* forMarshaling);
-
-void unmarshal_VkDeviceQueueInfo2(
- VulkanStreamGuest* vkStream,
- VkDeviceQueueInfo2* forUnmarshaling);
-
-void marshal_VkProtectedSubmitInfo(
- VulkanStreamGuest* vkStream,
- const VkProtectedSubmitInfo* forMarshaling);
-
-void unmarshal_VkProtectedSubmitInfo(
- VulkanStreamGuest* vkStream,
- VkProtectedSubmitInfo* forUnmarshaling);
-
-#define OP_vkGetDeviceQueue2 20155
-void marshal_VkSamplerYcbcrConversionCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkSamplerYcbcrConversionCreateInfo* forMarshaling);
-
-void unmarshal_VkSamplerYcbcrConversionCreateInfo(
- VulkanStreamGuest* vkStream,
- VkSamplerYcbcrConversionCreateInfo* forUnmarshaling);
-
-void marshal_VkSamplerYcbcrConversionInfo(
- VulkanStreamGuest* vkStream,
- const VkSamplerYcbcrConversionInfo* forMarshaling);
-
-void unmarshal_VkSamplerYcbcrConversionInfo(
- VulkanStreamGuest* vkStream,
- VkSamplerYcbcrConversionInfo* forUnmarshaling);
-
-void marshal_VkBindImagePlaneMemoryInfo(
- VulkanStreamGuest* vkStream,
- const VkBindImagePlaneMemoryInfo* forMarshaling);
-
-void unmarshal_VkBindImagePlaneMemoryInfo(
- VulkanStreamGuest* vkStream,
- VkBindImagePlaneMemoryInfo* forUnmarshaling);
-
-void marshal_VkImagePlaneMemoryRequirementsInfo(
- VulkanStreamGuest* vkStream,
- const VkImagePlaneMemoryRequirementsInfo* forMarshaling);
-
-void unmarshal_VkImagePlaneMemoryRequirementsInfo(
- VulkanStreamGuest* vkStream,
- VkImagePlaneMemoryRequirementsInfo* forUnmarshaling);
-
-void marshal_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceSamplerYcbcrConversionFeatures* forMarshaling);
-
-void unmarshal_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceSamplerYcbcrConversionFeatures* forUnmarshaling);
-
-void marshal_VkSamplerYcbcrConversionImageFormatProperties(
- VulkanStreamGuest* vkStream,
- const VkSamplerYcbcrConversionImageFormatProperties* forMarshaling);
-
-void unmarshal_VkSamplerYcbcrConversionImageFormatProperties(
- VulkanStreamGuest* vkStream,
- VkSamplerYcbcrConversionImageFormatProperties* forUnmarshaling);
-
-#define OP_vkCreateSamplerYcbcrConversion 20156
-#define OP_vkDestroySamplerYcbcrConversion 20157
-void marshal_VkDescriptorUpdateTemplateEntry(
- VulkanStreamGuest* vkStream,
- const VkDescriptorUpdateTemplateEntry* forMarshaling);
-
-void unmarshal_VkDescriptorUpdateTemplateEntry(
- VulkanStreamGuest* vkStream,
- VkDescriptorUpdateTemplateEntry* forUnmarshaling);
-
-void marshal_VkDescriptorUpdateTemplateCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkDescriptorUpdateTemplateCreateInfo* forMarshaling);
-
-void unmarshal_VkDescriptorUpdateTemplateCreateInfo(
- VulkanStreamGuest* vkStream,
- VkDescriptorUpdateTemplateCreateInfo* forUnmarshaling);
-
-#define OP_vkCreateDescriptorUpdateTemplate 20158
-#define OP_vkDestroyDescriptorUpdateTemplate 20159
-#define OP_vkUpdateDescriptorSetWithTemplate 20160
-void marshal_VkExternalMemoryProperties(
- VulkanStreamGuest* vkStream,
- const VkExternalMemoryProperties* forMarshaling);
-
-void unmarshal_VkExternalMemoryProperties(
- VulkanStreamGuest* vkStream,
- VkExternalMemoryProperties* forUnmarshaling);
-
-void marshal_VkPhysicalDeviceExternalImageFormatInfo(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceExternalImageFormatInfo* forMarshaling);
-
-void unmarshal_VkPhysicalDeviceExternalImageFormatInfo(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceExternalImageFormatInfo* forUnmarshaling);
-
-void marshal_VkExternalImageFormatProperties(
- VulkanStreamGuest* vkStream,
- const VkExternalImageFormatProperties* forMarshaling);
-
-void unmarshal_VkExternalImageFormatProperties(
- VulkanStreamGuest* vkStream,
- VkExternalImageFormatProperties* forUnmarshaling);
-
-void marshal_VkPhysicalDeviceExternalBufferInfo(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceExternalBufferInfo* forMarshaling);
-
-void unmarshal_VkPhysicalDeviceExternalBufferInfo(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceExternalBufferInfo* forUnmarshaling);
-
-void marshal_VkExternalBufferProperties(
- VulkanStreamGuest* vkStream,
- const VkExternalBufferProperties* forMarshaling);
-
-void unmarshal_VkExternalBufferProperties(
- VulkanStreamGuest* vkStream,
- VkExternalBufferProperties* forUnmarshaling);
-
-void marshal_VkPhysicalDeviceIDProperties(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceIDProperties* forMarshaling);
-
-void unmarshal_VkPhysicalDeviceIDProperties(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceIDProperties* forUnmarshaling);
-
-#define OP_vkGetPhysicalDeviceExternalBufferProperties 20161
-void marshal_VkExternalMemoryImageCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkExternalMemoryImageCreateInfo* forMarshaling);
-
-void unmarshal_VkExternalMemoryImageCreateInfo(
- VulkanStreamGuest* vkStream,
- VkExternalMemoryImageCreateInfo* forUnmarshaling);
-
-void marshal_VkExternalMemoryBufferCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkExternalMemoryBufferCreateInfo* forMarshaling);
-
-void unmarshal_VkExternalMemoryBufferCreateInfo(
- VulkanStreamGuest* vkStream,
- VkExternalMemoryBufferCreateInfo* forUnmarshaling);
-
-void marshal_VkExportMemoryAllocateInfo(
- VulkanStreamGuest* vkStream,
- const VkExportMemoryAllocateInfo* forMarshaling);
-
-void unmarshal_VkExportMemoryAllocateInfo(
- VulkanStreamGuest* vkStream,
- VkExportMemoryAllocateInfo* forUnmarshaling);
-
-void marshal_VkPhysicalDeviceExternalFenceInfo(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceExternalFenceInfo* forMarshaling);
-
-void unmarshal_VkPhysicalDeviceExternalFenceInfo(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceExternalFenceInfo* forUnmarshaling);
-
-void marshal_VkExternalFenceProperties(
- VulkanStreamGuest* vkStream,
- const VkExternalFenceProperties* forMarshaling);
-
-void unmarshal_VkExternalFenceProperties(
- VulkanStreamGuest* vkStream,
- VkExternalFenceProperties* forUnmarshaling);
-
-#define OP_vkGetPhysicalDeviceExternalFenceProperties 20162
-void marshal_VkExportFenceCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkExportFenceCreateInfo* forMarshaling);
-
-void unmarshal_VkExportFenceCreateInfo(
- VulkanStreamGuest* vkStream,
- VkExportFenceCreateInfo* forUnmarshaling);
-
-void marshal_VkExportSemaphoreCreateInfo(
- VulkanStreamGuest* vkStream,
- const VkExportSemaphoreCreateInfo* forMarshaling);
-
-void unmarshal_VkExportSemaphoreCreateInfo(
- VulkanStreamGuest* vkStream,
- VkExportSemaphoreCreateInfo* forUnmarshaling);
-
-void marshal_VkPhysicalDeviceExternalSemaphoreInfo(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceExternalSemaphoreInfo* forMarshaling);
-
-void unmarshal_VkPhysicalDeviceExternalSemaphoreInfo(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceExternalSemaphoreInfo* forUnmarshaling);
-
-void marshal_VkExternalSemaphoreProperties(
- VulkanStreamGuest* vkStream,
- const VkExternalSemaphoreProperties* forMarshaling);
-
-void unmarshal_VkExternalSemaphoreProperties(
- VulkanStreamGuest* vkStream,
- VkExternalSemaphoreProperties* forUnmarshaling);
-
-#define OP_vkGetPhysicalDeviceExternalSemaphoreProperties 20163
-void marshal_VkPhysicalDeviceMaintenance3Properties(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceMaintenance3Properties* forMarshaling);
-
-void unmarshal_VkPhysicalDeviceMaintenance3Properties(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceMaintenance3Properties* forUnmarshaling);
-
-void marshal_VkDescriptorSetLayoutSupport(
- VulkanStreamGuest* vkStream,
- const VkDescriptorSetLayoutSupport* forMarshaling);
-
-void unmarshal_VkDescriptorSetLayoutSupport(
- VulkanStreamGuest* vkStream,
- VkDescriptorSetLayoutSupport* forUnmarshaling);
-
-#define OP_vkGetDescriptorSetLayoutSupport 20164
-void marshal_VkPhysicalDeviceShaderDrawParameterFeatures(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceShaderDrawParameterFeatures* forMarshaling);
-
-void unmarshal_VkPhysicalDeviceShaderDrawParameterFeatures(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceShaderDrawParameterFeatures* forUnmarshaling);
-
-#endif
-#ifdef VK_KHR_surface
-#define OP_vkDestroySurfaceKHR 20165
-#define OP_vkGetPhysicalDeviceSurfaceSupportKHR 20166
-void marshal_VkSurfaceCapabilitiesKHR(
- VulkanStreamGuest* vkStream,
- const VkSurfaceCapabilitiesKHR* forMarshaling);
-
-void unmarshal_VkSurfaceCapabilitiesKHR(
- VulkanStreamGuest* vkStream,
- VkSurfaceCapabilitiesKHR* forUnmarshaling);
-
-#define OP_vkGetPhysicalDeviceSurfaceCapabilitiesKHR 20167
-void marshal_VkSurfaceFormatKHR(
- VulkanStreamGuest* vkStream,
- const VkSurfaceFormatKHR* forMarshaling);
-
-void unmarshal_VkSurfaceFormatKHR(
- VulkanStreamGuest* vkStream,
- VkSurfaceFormatKHR* forUnmarshaling);
-
-#define OP_vkGetPhysicalDeviceSurfaceFormatsKHR 20168
-#define OP_vkGetPhysicalDeviceSurfacePresentModesKHR 20169
-#endif
-#ifdef VK_KHR_swapchain
-void marshal_VkSwapchainCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkSwapchainCreateInfoKHR* forMarshaling);
-
-void unmarshal_VkSwapchainCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- VkSwapchainCreateInfoKHR* forUnmarshaling);
-
-#define OP_vkCreateSwapchainKHR 20170
-#define OP_vkDestroySwapchainKHR 20171
-#define OP_vkGetSwapchainImagesKHR 20172
-#define OP_vkAcquireNextImageKHR 20173
-void marshal_VkPresentInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkPresentInfoKHR* forMarshaling);
-
-void unmarshal_VkPresentInfoKHR(
- VulkanStreamGuest* vkStream,
- VkPresentInfoKHR* forUnmarshaling);
-
-#define OP_vkQueuePresentKHR 20174
-void marshal_VkImageSwapchainCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkImageSwapchainCreateInfoKHR* forMarshaling);
-
-void unmarshal_VkImageSwapchainCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- VkImageSwapchainCreateInfoKHR* forUnmarshaling);
-
-void marshal_VkBindImageMemorySwapchainInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkBindImageMemorySwapchainInfoKHR* forMarshaling);
-
-void unmarshal_VkBindImageMemorySwapchainInfoKHR(
- VulkanStreamGuest* vkStream,
- VkBindImageMemorySwapchainInfoKHR* forUnmarshaling);
-
-void marshal_VkAcquireNextImageInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkAcquireNextImageInfoKHR* forMarshaling);
-
-void unmarshal_VkAcquireNextImageInfoKHR(
- VulkanStreamGuest* vkStream,
- VkAcquireNextImageInfoKHR* forUnmarshaling);
-
-void marshal_VkDeviceGroupPresentCapabilitiesKHR(
- VulkanStreamGuest* vkStream,
- const VkDeviceGroupPresentCapabilitiesKHR* forMarshaling);
-
-void unmarshal_VkDeviceGroupPresentCapabilitiesKHR(
- VulkanStreamGuest* vkStream,
- VkDeviceGroupPresentCapabilitiesKHR* forUnmarshaling);
-
-void marshal_VkDeviceGroupPresentInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkDeviceGroupPresentInfoKHR* forMarshaling);
-
-void unmarshal_VkDeviceGroupPresentInfoKHR(
- VulkanStreamGuest* vkStream,
- VkDeviceGroupPresentInfoKHR* forUnmarshaling);
-
-void marshal_VkDeviceGroupSwapchainCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkDeviceGroupSwapchainCreateInfoKHR* forMarshaling);
-
-void unmarshal_VkDeviceGroupSwapchainCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- VkDeviceGroupSwapchainCreateInfoKHR* forUnmarshaling);
-
-#define OP_vkGetDeviceGroupPresentCapabilitiesKHR 20175
-#define OP_vkGetDeviceGroupSurfacePresentModesKHR 20176
-#define OP_vkGetPhysicalDevicePresentRectanglesKHR 20177
-#define OP_vkAcquireNextImage2KHR 20178
-#endif
-#ifdef VK_KHR_display
-void marshal_VkDisplayPropertiesKHR(
- VulkanStreamGuest* vkStream,
- const VkDisplayPropertiesKHR* forMarshaling);
-
-void unmarshal_VkDisplayPropertiesKHR(
- VulkanStreamGuest* vkStream,
- VkDisplayPropertiesKHR* forUnmarshaling);
-
-void marshal_VkDisplayModeParametersKHR(
- VulkanStreamGuest* vkStream,
- const VkDisplayModeParametersKHR* forMarshaling);
-
-void unmarshal_VkDisplayModeParametersKHR(
- VulkanStreamGuest* vkStream,
- VkDisplayModeParametersKHR* forUnmarshaling);
-
-void marshal_VkDisplayModePropertiesKHR(
- VulkanStreamGuest* vkStream,
- const VkDisplayModePropertiesKHR* forMarshaling);
-
-void unmarshal_VkDisplayModePropertiesKHR(
- VulkanStreamGuest* vkStream,
- VkDisplayModePropertiesKHR* forUnmarshaling);
-
-void marshal_VkDisplayModeCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkDisplayModeCreateInfoKHR* forMarshaling);
-
-void unmarshal_VkDisplayModeCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- VkDisplayModeCreateInfoKHR* forUnmarshaling);
-
-void marshal_VkDisplayPlaneCapabilitiesKHR(
- VulkanStreamGuest* vkStream,
- const VkDisplayPlaneCapabilitiesKHR* forMarshaling);
-
-void unmarshal_VkDisplayPlaneCapabilitiesKHR(
- VulkanStreamGuest* vkStream,
- VkDisplayPlaneCapabilitiesKHR* forUnmarshaling);
-
-void marshal_VkDisplayPlanePropertiesKHR(
- VulkanStreamGuest* vkStream,
- const VkDisplayPlanePropertiesKHR* forMarshaling);
-
-void unmarshal_VkDisplayPlanePropertiesKHR(
- VulkanStreamGuest* vkStream,
- VkDisplayPlanePropertiesKHR* forUnmarshaling);
-
-void marshal_VkDisplaySurfaceCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkDisplaySurfaceCreateInfoKHR* forMarshaling);
-
-void unmarshal_VkDisplaySurfaceCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- VkDisplaySurfaceCreateInfoKHR* forUnmarshaling);
-
-#define OP_vkGetPhysicalDeviceDisplayPropertiesKHR 20179
-#define OP_vkGetPhysicalDeviceDisplayPlanePropertiesKHR 20180
-#define OP_vkGetDisplayPlaneSupportedDisplaysKHR 20181
-#define OP_vkGetDisplayModePropertiesKHR 20182
-#define OP_vkCreateDisplayModeKHR 20183
-#define OP_vkGetDisplayPlaneCapabilitiesKHR 20184
-#define OP_vkCreateDisplayPlaneSurfaceKHR 20185
-#endif
-#ifdef VK_KHR_display_swapchain
-void marshal_VkDisplayPresentInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkDisplayPresentInfoKHR* forMarshaling);
-
-void unmarshal_VkDisplayPresentInfoKHR(
- VulkanStreamGuest* vkStream,
- VkDisplayPresentInfoKHR* forUnmarshaling);
-
-#define OP_vkCreateSharedSwapchainsKHR 20186
-#endif
-#ifdef VK_KHR_xlib_surface
-void marshal_VkXlibSurfaceCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkXlibSurfaceCreateInfoKHR* forMarshaling);
-
-void unmarshal_VkXlibSurfaceCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- VkXlibSurfaceCreateInfoKHR* forUnmarshaling);
-
-#define OP_vkCreateXlibSurfaceKHR 20187
-#define OP_vkGetPhysicalDeviceXlibPresentationSupportKHR 20188
-#endif
-#ifdef VK_KHR_xcb_surface
-void marshal_VkXcbSurfaceCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkXcbSurfaceCreateInfoKHR* forMarshaling);
-
-void unmarshal_VkXcbSurfaceCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- VkXcbSurfaceCreateInfoKHR* forUnmarshaling);
-
-#define OP_vkCreateXcbSurfaceKHR 20189
-#define OP_vkGetPhysicalDeviceXcbPresentationSupportKHR 20190
-#endif
-#ifdef VK_KHR_wayland_surface
-void marshal_VkWaylandSurfaceCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkWaylandSurfaceCreateInfoKHR* forMarshaling);
-
-void unmarshal_VkWaylandSurfaceCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- VkWaylandSurfaceCreateInfoKHR* forUnmarshaling);
-
-#define OP_vkCreateWaylandSurfaceKHR 20191
-#define OP_vkGetPhysicalDeviceWaylandPresentationSupportKHR 20192
-#endif
-#ifdef VK_KHR_mir_surface
-void marshal_VkMirSurfaceCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkMirSurfaceCreateInfoKHR* forMarshaling);
-
-void unmarshal_VkMirSurfaceCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- VkMirSurfaceCreateInfoKHR* forUnmarshaling);
-
-#define OP_vkCreateMirSurfaceKHR 20193
-#define OP_vkGetPhysicalDeviceMirPresentationSupportKHR 20194
-#endif
-#ifdef VK_KHR_android_surface
-void marshal_VkAndroidSurfaceCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkAndroidSurfaceCreateInfoKHR* forMarshaling);
-
-void unmarshal_VkAndroidSurfaceCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- VkAndroidSurfaceCreateInfoKHR* forUnmarshaling);
-
-#define OP_vkCreateAndroidSurfaceKHR 20195
-#endif
-#ifdef VK_KHR_win32_surface
-void marshal_VkWin32SurfaceCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkWin32SurfaceCreateInfoKHR* forMarshaling);
-
-void unmarshal_VkWin32SurfaceCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- VkWin32SurfaceCreateInfoKHR* forUnmarshaling);
-
-#define OP_vkCreateWin32SurfaceKHR 20196
-#define OP_vkGetPhysicalDeviceWin32PresentationSupportKHR 20197
-#endif
-#ifdef VK_KHR_sampler_mirror_clamp_to_edge
-#endif
-#ifdef VK_KHR_multiview
-#endif
-#ifdef VK_KHR_get_physical_device_properties2
-#define OP_vkGetPhysicalDeviceFeatures2KHR 20198
-#define OP_vkGetPhysicalDeviceProperties2KHR 20199
-#define OP_vkGetPhysicalDeviceFormatProperties2KHR 20200
-#define OP_vkGetPhysicalDeviceImageFormatProperties2KHR 20201
-#define OP_vkGetPhysicalDeviceQueueFamilyProperties2KHR 20202
-#define OP_vkGetPhysicalDeviceMemoryProperties2KHR 20203
-#define OP_vkGetPhysicalDeviceSparseImageFormatProperties2KHR 20204
-#endif
-#ifdef VK_KHR_device_group
-#define OP_vkGetDeviceGroupPeerMemoryFeaturesKHR 20205
-#define OP_vkCmdSetDeviceMaskKHR 20206
-#define OP_vkCmdDispatchBaseKHR 20207
-#endif
-#ifdef VK_KHR_shader_draw_parameters
-#endif
-#ifdef VK_KHR_maintenance1
-#define OP_vkTrimCommandPoolKHR 20208
-#endif
-#ifdef VK_KHR_device_group_creation
-#define OP_vkEnumeratePhysicalDeviceGroupsKHR 20209
-#endif
-#ifdef VK_KHR_external_memory_capabilities
-#define OP_vkGetPhysicalDeviceExternalBufferPropertiesKHR 20210
-#endif
-#ifdef VK_KHR_external_memory
-#endif
-#ifdef VK_KHR_external_memory_win32
-void marshal_VkImportMemoryWin32HandleInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkImportMemoryWin32HandleInfoKHR* forMarshaling);
-
-void unmarshal_VkImportMemoryWin32HandleInfoKHR(
- VulkanStreamGuest* vkStream,
- VkImportMemoryWin32HandleInfoKHR* forUnmarshaling);
-
-void marshal_VkExportMemoryWin32HandleInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkExportMemoryWin32HandleInfoKHR* forMarshaling);
-
-void unmarshal_VkExportMemoryWin32HandleInfoKHR(
- VulkanStreamGuest* vkStream,
- VkExportMemoryWin32HandleInfoKHR* forUnmarshaling);
-
-void marshal_VkMemoryWin32HandlePropertiesKHR(
- VulkanStreamGuest* vkStream,
- const VkMemoryWin32HandlePropertiesKHR* forMarshaling);
-
-void unmarshal_VkMemoryWin32HandlePropertiesKHR(
- VulkanStreamGuest* vkStream,
- VkMemoryWin32HandlePropertiesKHR* forUnmarshaling);
-
-void marshal_VkMemoryGetWin32HandleInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkMemoryGetWin32HandleInfoKHR* forMarshaling);
-
-void unmarshal_VkMemoryGetWin32HandleInfoKHR(
- VulkanStreamGuest* vkStream,
- VkMemoryGetWin32HandleInfoKHR* forUnmarshaling);
-
-#define OP_vkGetMemoryWin32HandleKHR 20211
-#define OP_vkGetMemoryWin32HandlePropertiesKHR 20212
-#endif
-#ifdef VK_KHR_external_memory_fd
-void marshal_VkImportMemoryFdInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkImportMemoryFdInfoKHR* forMarshaling);
-
-void unmarshal_VkImportMemoryFdInfoKHR(
- VulkanStreamGuest* vkStream,
- VkImportMemoryFdInfoKHR* forUnmarshaling);
-
-void marshal_VkMemoryFdPropertiesKHR(
- VulkanStreamGuest* vkStream,
- const VkMemoryFdPropertiesKHR* forMarshaling);
-
-void unmarshal_VkMemoryFdPropertiesKHR(
- VulkanStreamGuest* vkStream,
- VkMemoryFdPropertiesKHR* forUnmarshaling);
-
-void marshal_VkMemoryGetFdInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkMemoryGetFdInfoKHR* forMarshaling);
-
-void unmarshal_VkMemoryGetFdInfoKHR(
- VulkanStreamGuest* vkStream,
- VkMemoryGetFdInfoKHR* forUnmarshaling);
-
-#define OP_vkGetMemoryFdKHR 20213
-#define OP_vkGetMemoryFdPropertiesKHR 20214
-#endif
-#ifdef VK_KHR_win32_keyed_mutex
-void marshal_VkWin32KeyedMutexAcquireReleaseInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkWin32KeyedMutexAcquireReleaseInfoKHR* forMarshaling);
-
-void unmarshal_VkWin32KeyedMutexAcquireReleaseInfoKHR(
- VulkanStreamGuest* vkStream,
- VkWin32KeyedMutexAcquireReleaseInfoKHR* forUnmarshaling);
-
-#endif
-#ifdef VK_KHR_external_semaphore_capabilities
-#define OP_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR 20215
-#endif
-#ifdef VK_KHR_external_semaphore
-#endif
-#ifdef VK_KHR_external_semaphore_win32
-void marshal_VkImportSemaphoreWin32HandleInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkImportSemaphoreWin32HandleInfoKHR* forMarshaling);
-
-void unmarshal_VkImportSemaphoreWin32HandleInfoKHR(
- VulkanStreamGuest* vkStream,
- VkImportSemaphoreWin32HandleInfoKHR* forUnmarshaling);
-
-void marshal_VkExportSemaphoreWin32HandleInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkExportSemaphoreWin32HandleInfoKHR* forMarshaling);
-
-void unmarshal_VkExportSemaphoreWin32HandleInfoKHR(
- VulkanStreamGuest* vkStream,
- VkExportSemaphoreWin32HandleInfoKHR* forUnmarshaling);
-
-void marshal_VkD3D12FenceSubmitInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkD3D12FenceSubmitInfoKHR* forMarshaling);
-
-void unmarshal_VkD3D12FenceSubmitInfoKHR(
- VulkanStreamGuest* vkStream,
- VkD3D12FenceSubmitInfoKHR* forUnmarshaling);
-
-void marshal_VkSemaphoreGetWin32HandleInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkSemaphoreGetWin32HandleInfoKHR* forMarshaling);
-
-void unmarshal_VkSemaphoreGetWin32HandleInfoKHR(
- VulkanStreamGuest* vkStream,
- VkSemaphoreGetWin32HandleInfoKHR* forUnmarshaling);
-
-#define OP_vkImportSemaphoreWin32HandleKHR 20216
-#define OP_vkGetSemaphoreWin32HandleKHR 20217
-#endif
-#ifdef VK_KHR_external_semaphore_fd
-void marshal_VkImportSemaphoreFdInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkImportSemaphoreFdInfoKHR* forMarshaling);
-
-void unmarshal_VkImportSemaphoreFdInfoKHR(
- VulkanStreamGuest* vkStream,
- VkImportSemaphoreFdInfoKHR* forUnmarshaling);
-
-void marshal_VkSemaphoreGetFdInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkSemaphoreGetFdInfoKHR* forMarshaling);
-
-void unmarshal_VkSemaphoreGetFdInfoKHR(
- VulkanStreamGuest* vkStream,
- VkSemaphoreGetFdInfoKHR* forUnmarshaling);
-
-#define OP_vkImportSemaphoreFdKHR 20218
-#define OP_vkGetSemaphoreFdKHR 20219
-#endif
-#ifdef VK_KHR_push_descriptor
-void marshal_VkPhysicalDevicePushDescriptorPropertiesKHR(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDevicePushDescriptorPropertiesKHR* forMarshaling);
-
-void unmarshal_VkPhysicalDevicePushDescriptorPropertiesKHR(
- VulkanStreamGuest* vkStream,
- VkPhysicalDevicePushDescriptorPropertiesKHR* forUnmarshaling);
-
-#define OP_vkCmdPushDescriptorSetKHR 20220
-#define OP_vkCmdPushDescriptorSetWithTemplateKHR 20221
-#endif
-#ifdef VK_KHR_16bit_storage
-#endif
-#ifdef VK_KHR_incremental_present
-void marshal_VkRectLayerKHR(
- VulkanStreamGuest* vkStream,
- const VkRectLayerKHR* forMarshaling);
-
-void unmarshal_VkRectLayerKHR(
- VulkanStreamGuest* vkStream,
- VkRectLayerKHR* forUnmarshaling);
-
-void marshal_VkPresentRegionKHR(
- VulkanStreamGuest* vkStream,
- const VkPresentRegionKHR* forMarshaling);
-
-void unmarshal_VkPresentRegionKHR(
- VulkanStreamGuest* vkStream,
- VkPresentRegionKHR* forUnmarshaling);
-
-void marshal_VkPresentRegionsKHR(
- VulkanStreamGuest* vkStream,
- const VkPresentRegionsKHR* forMarshaling);
-
-void unmarshal_VkPresentRegionsKHR(
- VulkanStreamGuest* vkStream,
- VkPresentRegionsKHR* forUnmarshaling);
-
-#endif
-#ifdef VK_KHR_descriptor_update_template
-#define OP_vkCreateDescriptorUpdateTemplateKHR 20222
-#define OP_vkDestroyDescriptorUpdateTemplateKHR 20223
-#define OP_vkUpdateDescriptorSetWithTemplateKHR 20224
-#endif
-#ifdef VK_KHR_create_renderpass2
-void marshal_VkAttachmentDescription2KHR(
- VulkanStreamGuest* vkStream,
- const VkAttachmentDescription2KHR* forMarshaling);
-
-void unmarshal_VkAttachmentDescription2KHR(
- VulkanStreamGuest* vkStream,
- VkAttachmentDescription2KHR* forUnmarshaling);
-
-void marshal_VkAttachmentReference2KHR(
- VulkanStreamGuest* vkStream,
- const VkAttachmentReference2KHR* forMarshaling);
-
-void unmarshal_VkAttachmentReference2KHR(
- VulkanStreamGuest* vkStream,
- VkAttachmentReference2KHR* forUnmarshaling);
-
-void marshal_VkSubpassDescription2KHR(
- VulkanStreamGuest* vkStream,
- const VkSubpassDescription2KHR* forMarshaling);
-
-void unmarshal_VkSubpassDescription2KHR(
- VulkanStreamGuest* vkStream,
- VkSubpassDescription2KHR* forUnmarshaling);
-
-void marshal_VkSubpassDependency2KHR(
- VulkanStreamGuest* vkStream,
- const VkSubpassDependency2KHR* forMarshaling);
-
-void unmarshal_VkSubpassDependency2KHR(
- VulkanStreamGuest* vkStream,
- VkSubpassDependency2KHR* forUnmarshaling);
-
-void marshal_VkRenderPassCreateInfo2KHR(
- VulkanStreamGuest* vkStream,
- const VkRenderPassCreateInfo2KHR* forMarshaling);
-
-void unmarshal_VkRenderPassCreateInfo2KHR(
- VulkanStreamGuest* vkStream,
- VkRenderPassCreateInfo2KHR* forUnmarshaling);
-
-#define OP_vkCreateRenderPass2KHR 20225
-void marshal_VkSubpassBeginInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkSubpassBeginInfoKHR* forMarshaling);
-
-void unmarshal_VkSubpassBeginInfoKHR(
- VulkanStreamGuest* vkStream,
- VkSubpassBeginInfoKHR* forUnmarshaling);
-
-#define OP_vkCmdBeginRenderPass2KHR 20226
-void marshal_VkSubpassEndInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkSubpassEndInfoKHR* forMarshaling);
-
-void unmarshal_VkSubpassEndInfoKHR(
- VulkanStreamGuest* vkStream,
- VkSubpassEndInfoKHR* forUnmarshaling);
-
-#define OP_vkCmdNextSubpass2KHR 20227
-#define OP_vkCmdEndRenderPass2KHR 20228
-#endif
-#ifdef VK_KHR_shared_presentable_image
-void marshal_VkSharedPresentSurfaceCapabilitiesKHR(
- VulkanStreamGuest* vkStream,
- const VkSharedPresentSurfaceCapabilitiesKHR* forMarshaling);
-
-void unmarshal_VkSharedPresentSurfaceCapabilitiesKHR(
- VulkanStreamGuest* vkStream,
- VkSharedPresentSurfaceCapabilitiesKHR* forUnmarshaling);
-
-#define OP_vkGetSwapchainStatusKHR 20229
-#endif
-#ifdef VK_KHR_external_fence_capabilities
-#define OP_vkGetPhysicalDeviceExternalFencePropertiesKHR 20230
-#endif
-#ifdef VK_KHR_external_fence
-#endif
-#ifdef VK_KHR_external_fence_win32
-void marshal_VkImportFenceWin32HandleInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkImportFenceWin32HandleInfoKHR* forMarshaling);
-
-void unmarshal_VkImportFenceWin32HandleInfoKHR(
- VulkanStreamGuest* vkStream,
- VkImportFenceWin32HandleInfoKHR* forUnmarshaling);
-
-void marshal_VkExportFenceWin32HandleInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkExportFenceWin32HandleInfoKHR* forMarshaling);
-
-void unmarshal_VkExportFenceWin32HandleInfoKHR(
- VulkanStreamGuest* vkStream,
- VkExportFenceWin32HandleInfoKHR* forUnmarshaling);
-
-void marshal_VkFenceGetWin32HandleInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkFenceGetWin32HandleInfoKHR* forMarshaling);
-
-void unmarshal_VkFenceGetWin32HandleInfoKHR(
- VulkanStreamGuest* vkStream,
- VkFenceGetWin32HandleInfoKHR* forUnmarshaling);
-
-#define OP_vkImportFenceWin32HandleKHR 20231
-#define OP_vkGetFenceWin32HandleKHR 20232
-#endif
-#ifdef VK_KHR_external_fence_fd
-void marshal_VkImportFenceFdInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkImportFenceFdInfoKHR* forMarshaling);
-
-void unmarshal_VkImportFenceFdInfoKHR(
- VulkanStreamGuest* vkStream,
- VkImportFenceFdInfoKHR* forUnmarshaling);
-
-void marshal_VkFenceGetFdInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkFenceGetFdInfoKHR* forMarshaling);
-
-void unmarshal_VkFenceGetFdInfoKHR(
- VulkanStreamGuest* vkStream,
- VkFenceGetFdInfoKHR* forUnmarshaling);
-
-#define OP_vkImportFenceFdKHR 20233
-#define OP_vkGetFenceFdKHR 20234
-#endif
-#ifdef VK_KHR_maintenance2
-#endif
-#ifdef VK_KHR_get_surface_capabilities2
-void marshal_VkPhysicalDeviceSurfaceInfo2KHR(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceSurfaceInfo2KHR* forMarshaling);
-
-void unmarshal_VkPhysicalDeviceSurfaceInfo2KHR(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceSurfaceInfo2KHR* forUnmarshaling);
-
-void marshal_VkSurfaceCapabilities2KHR(
- VulkanStreamGuest* vkStream,
- const VkSurfaceCapabilities2KHR* forMarshaling);
-
-void unmarshal_VkSurfaceCapabilities2KHR(
- VulkanStreamGuest* vkStream,
- VkSurfaceCapabilities2KHR* forUnmarshaling);
-
-void marshal_VkSurfaceFormat2KHR(
- VulkanStreamGuest* vkStream,
- const VkSurfaceFormat2KHR* forMarshaling);
-
-void unmarshal_VkSurfaceFormat2KHR(
- VulkanStreamGuest* vkStream,
- VkSurfaceFormat2KHR* forUnmarshaling);
-
-#define OP_vkGetPhysicalDeviceSurfaceCapabilities2KHR 20235
-#define OP_vkGetPhysicalDeviceSurfaceFormats2KHR 20236
-#endif
-#ifdef VK_KHR_variable_pointers
-#endif
-#ifdef VK_KHR_get_display_properties2
-void marshal_VkDisplayProperties2KHR(
- VulkanStreamGuest* vkStream,
- const VkDisplayProperties2KHR* forMarshaling);
-
-void unmarshal_VkDisplayProperties2KHR(
- VulkanStreamGuest* vkStream,
- VkDisplayProperties2KHR* forUnmarshaling);
-
-void marshal_VkDisplayPlaneProperties2KHR(
- VulkanStreamGuest* vkStream,
- const VkDisplayPlaneProperties2KHR* forMarshaling);
-
-void unmarshal_VkDisplayPlaneProperties2KHR(
- VulkanStreamGuest* vkStream,
- VkDisplayPlaneProperties2KHR* forUnmarshaling);
-
-void marshal_VkDisplayModeProperties2KHR(
- VulkanStreamGuest* vkStream,
- const VkDisplayModeProperties2KHR* forMarshaling);
-
-void unmarshal_VkDisplayModeProperties2KHR(
- VulkanStreamGuest* vkStream,
- VkDisplayModeProperties2KHR* forUnmarshaling);
-
-void marshal_VkDisplayPlaneInfo2KHR(
- VulkanStreamGuest* vkStream,
- const VkDisplayPlaneInfo2KHR* forMarshaling);
-
-void unmarshal_VkDisplayPlaneInfo2KHR(
- VulkanStreamGuest* vkStream,
- VkDisplayPlaneInfo2KHR* forUnmarshaling);
-
-void marshal_VkDisplayPlaneCapabilities2KHR(
- VulkanStreamGuest* vkStream,
- const VkDisplayPlaneCapabilities2KHR* forMarshaling);
-
-void unmarshal_VkDisplayPlaneCapabilities2KHR(
- VulkanStreamGuest* vkStream,
- VkDisplayPlaneCapabilities2KHR* forUnmarshaling);
-
-#define OP_vkGetPhysicalDeviceDisplayProperties2KHR 20237
-#define OP_vkGetPhysicalDeviceDisplayPlaneProperties2KHR 20238
-#define OP_vkGetDisplayModeProperties2KHR 20239
-#define OP_vkGetDisplayPlaneCapabilities2KHR 20240
-#endif
-#ifdef VK_KHR_dedicated_allocation
-#endif
-#ifdef VK_KHR_storage_buffer_storage_class
-#endif
-#ifdef VK_KHR_relaxed_block_layout
-#endif
-#ifdef VK_KHR_get_memory_requirements2
-#define OP_vkGetImageMemoryRequirements2KHR 20241
-#define OP_vkGetBufferMemoryRequirements2KHR 20242
-#define OP_vkGetImageSparseMemoryRequirements2KHR 20243
-#endif
-#ifdef VK_KHR_image_format_list
-void marshal_VkImageFormatListCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- const VkImageFormatListCreateInfoKHR* forMarshaling);
-
-void unmarshal_VkImageFormatListCreateInfoKHR(
- VulkanStreamGuest* vkStream,
- VkImageFormatListCreateInfoKHR* forUnmarshaling);
-
-#endif
-#ifdef VK_KHR_sampler_ycbcr_conversion
-#define OP_vkCreateSamplerYcbcrConversionKHR 20244
-#define OP_vkDestroySamplerYcbcrConversionKHR 20245
-#endif
-#ifdef VK_KHR_bind_memory2
-#define OP_vkBindBufferMemory2KHR 20246
-#define OP_vkBindImageMemory2KHR 20247
-#endif
-#ifdef VK_KHR_maintenance3
-#define OP_vkGetDescriptorSetLayoutSupportKHR 20248
-#endif
-#ifdef VK_KHR_draw_indirect_count
-#define OP_vkCmdDrawIndirectCountKHR 20249
-#define OP_vkCmdDrawIndexedIndirectCountKHR 20250
-#endif
-#ifdef VK_KHR_8bit_storage
-void marshal_VkPhysicalDevice8BitStorageFeaturesKHR(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDevice8BitStorageFeaturesKHR* forMarshaling);
-
-void unmarshal_VkPhysicalDevice8BitStorageFeaturesKHR(
- VulkanStreamGuest* vkStream,
- VkPhysicalDevice8BitStorageFeaturesKHR* forUnmarshaling);
-
-#endif
-#ifdef VK_KHR_shader_float16_int8
-void marshal_VkPhysicalDeviceShaderFloat16Int8Features(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceShaderFloat16Int8Features* forMarshaling);
-
-void unmarshal_VkPhysicalDeviceShaderFloat16Int8Features(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceShaderFloat16Int8Features* forUnmarshaling);
-
-#endif
-#ifdef VK_ANDROID_native_buffer
-void marshal_VkNativeBufferANDROID(
- VulkanStreamGuest* vkStream,
- const VkNativeBufferANDROID* forMarshaling);
-
-void unmarshal_VkNativeBufferANDROID(
- VulkanStreamGuest* vkStream,
- VkNativeBufferANDROID* forUnmarshaling);
-
-#define OP_vkGetSwapchainGrallocUsageANDROID 20251
-#define OP_vkAcquireImageANDROID 20252
-#define OP_vkQueueSignalReleaseImageANDROID 20253
-#endif
-#ifdef VK_EXT_debug_report
-void marshal_VkDebugReportCallbackCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkDebugReportCallbackCreateInfoEXT* forMarshaling);
-
-void unmarshal_VkDebugReportCallbackCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- VkDebugReportCallbackCreateInfoEXT* forUnmarshaling);
-
-#define OP_vkCreateDebugReportCallbackEXT 20254
-#define OP_vkDestroyDebugReportCallbackEXT 20255
-#define OP_vkDebugReportMessageEXT 20256
-#endif
-#ifdef VK_NV_glsl_shader
-#endif
-#ifdef VK_EXT_depth_range_unrestricted
-#endif
-#ifdef VK_IMG_filter_cubic
-#endif
-#ifdef VK_AMD_rasterization_order
-void marshal_VkPipelineRasterizationStateRasterizationOrderAMD(
- VulkanStreamGuest* vkStream,
- const VkPipelineRasterizationStateRasterizationOrderAMD* forMarshaling);
-
-void unmarshal_VkPipelineRasterizationStateRasterizationOrderAMD(
- VulkanStreamGuest* vkStream,
- VkPipelineRasterizationStateRasterizationOrderAMD* forUnmarshaling);
-
-#endif
-#ifdef VK_AMD_shader_trinary_minmax
-#endif
-#ifdef VK_AMD_shader_explicit_vertex_parameter
-#endif
-#ifdef VK_EXT_debug_marker
-void marshal_VkDebugMarkerObjectNameInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkDebugMarkerObjectNameInfoEXT* forMarshaling);
-
-void unmarshal_VkDebugMarkerObjectNameInfoEXT(
- VulkanStreamGuest* vkStream,
- VkDebugMarkerObjectNameInfoEXT* forUnmarshaling);
-
-void marshal_VkDebugMarkerObjectTagInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkDebugMarkerObjectTagInfoEXT* forMarshaling);
-
-void unmarshal_VkDebugMarkerObjectTagInfoEXT(
- VulkanStreamGuest* vkStream,
- VkDebugMarkerObjectTagInfoEXT* forUnmarshaling);
-
-void marshal_VkDebugMarkerMarkerInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkDebugMarkerMarkerInfoEXT* forMarshaling);
-
-void unmarshal_VkDebugMarkerMarkerInfoEXT(
- VulkanStreamGuest* vkStream,
- VkDebugMarkerMarkerInfoEXT* forUnmarshaling);
-
-#define OP_vkDebugMarkerSetObjectTagEXT 20257
-#define OP_vkDebugMarkerSetObjectNameEXT 20258
-#define OP_vkCmdDebugMarkerBeginEXT 20259
-#define OP_vkCmdDebugMarkerEndEXT 20260
-#define OP_vkCmdDebugMarkerInsertEXT 20261
-#endif
-#ifdef VK_AMD_gcn_shader
-#endif
-#ifdef VK_NV_dedicated_allocation
-void marshal_VkDedicatedAllocationImageCreateInfoNV(
- VulkanStreamGuest* vkStream,
- const VkDedicatedAllocationImageCreateInfoNV* forMarshaling);
-
-void unmarshal_VkDedicatedAllocationImageCreateInfoNV(
- VulkanStreamGuest* vkStream,
- VkDedicatedAllocationImageCreateInfoNV* forUnmarshaling);
-
-void marshal_VkDedicatedAllocationBufferCreateInfoNV(
- VulkanStreamGuest* vkStream,
- const VkDedicatedAllocationBufferCreateInfoNV* forMarshaling);
-
-void unmarshal_VkDedicatedAllocationBufferCreateInfoNV(
- VulkanStreamGuest* vkStream,
- VkDedicatedAllocationBufferCreateInfoNV* forUnmarshaling);
-
-void marshal_VkDedicatedAllocationMemoryAllocateInfoNV(
- VulkanStreamGuest* vkStream,
- const VkDedicatedAllocationMemoryAllocateInfoNV* forMarshaling);
-
-void unmarshal_VkDedicatedAllocationMemoryAllocateInfoNV(
- VulkanStreamGuest* vkStream,
- VkDedicatedAllocationMemoryAllocateInfoNV* forUnmarshaling);
-
-#endif
-#ifdef VK_AMD_draw_indirect_count
-#define OP_vkCmdDrawIndirectCountAMD 20262
-#define OP_vkCmdDrawIndexedIndirectCountAMD 20263
-#endif
-#ifdef VK_AMD_negative_viewport_height
-#endif
-#ifdef VK_AMD_gpu_shader_half_float
-#endif
-#ifdef VK_AMD_shader_ballot
-#endif
-#ifdef VK_AMD_texture_gather_bias_lod
-void marshal_VkTextureLODGatherFormatPropertiesAMD(
- VulkanStreamGuest* vkStream,
- const VkTextureLODGatherFormatPropertiesAMD* forMarshaling);
-
-void unmarshal_VkTextureLODGatherFormatPropertiesAMD(
- VulkanStreamGuest* vkStream,
- VkTextureLODGatherFormatPropertiesAMD* forUnmarshaling);
-
-#endif
-#ifdef VK_AMD_shader_info
-void marshal_VkShaderResourceUsageAMD(
- VulkanStreamGuest* vkStream,
- const VkShaderResourceUsageAMD* forMarshaling);
-
-void unmarshal_VkShaderResourceUsageAMD(
- VulkanStreamGuest* vkStream,
- VkShaderResourceUsageAMD* forUnmarshaling);
-
-void marshal_VkShaderStatisticsInfoAMD(
- VulkanStreamGuest* vkStream,
- const VkShaderStatisticsInfoAMD* forMarshaling);
-
-void unmarshal_VkShaderStatisticsInfoAMD(
- VulkanStreamGuest* vkStream,
- VkShaderStatisticsInfoAMD* forUnmarshaling);
-
-#define OP_vkGetShaderInfoAMD 20264
-#endif
-#ifdef VK_AMD_shader_image_load_store_lod
-#endif
-#ifdef VK_IMG_format_pvrtc
-#endif
-#ifdef VK_NV_external_memory_capabilities
-void marshal_VkExternalImageFormatPropertiesNV(
- VulkanStreamGuest* vkStream,
- const VkExternalImageFormatPropertiesNV* forMarshaling);
-
-void unmarshal_VkExternalImageFormatPropertiesNV(
- VulkanStreamGuest* vkStream,
- VkExternalImageFormatPropertiesNV* forUnmarshaling);
-
-#define OP_vkGetPhysicalDeviceExternalImageFormatPropertiesNV 20265
-#endif
-#ifdef VK_NV_external_memory
-void marshal_VkExternalMemoryImageCreateInfoNV(
- VulkanStreamGuest* vkStream,
- const VkExternalMemoryImageCreateInfoNV* forMarshaling);
-
-void unmarshal_VkExternalMemoryImageCreateInfoNV(
- VulkanStreamGuest* vkStream,
- VkExternalMemoryImageCreateInfoNV* forUnmarshaling);
-
-void marshal_VkExportMemoryAllocateInfoNV(
- VulkanStreamGuest* vkStream,
- const VkExportMemoryAllocateInfoNV* forMarshaling);
-
-void unmarshal_VkExportMemoryAllocateInfoNV(
- VulkanStreamGuest* vkStream,
- VkExportMemoryAllocateInfoNV* forUnmarshaling);
-
-#endif
-#ifdef VK_NV_external_memory_win32
-void marshal_VkImportMemoryWin32HandleInfoNV(
- VulkanStreamGuest* vkStream,
- const VkImportMemoryWin32HandleInfoNV* forMarshaling);
-
-void unmarshal_VkImportMemoryWin32HandleInfoNV(
- VulkanStreamGuest* vkStream,
- VkImportMemoryWin32HandleInfoNV* forUnmarshaling);
-
-void marshal_VkExportMemoryWin32HandleInfoNV(
- VulkanStreamGuest* vkStream,
- const VkExportMemoryWin32HandleInfoNV* forMarshaling);
-
-void unmarshal_VkExportMemoryWin32HandleInfoNV(
- VulkanStreamGuest* vkStream,
- VkExportMemoryWin32HandleInfoNV* forUnmarshaling);
-
-#define OP_vkGetMemoryWin32HandleNV 20266
-#endif
-#ifdef VK_NV_win32_keyed_mutex
-void marshal_VkWin32KeyedMutexAcquireReleaseInfoNV(
- VulkanStreamGuest* vkStream,
- const VkWin32KeyedMutexAcquireReleaseInfoNV* forMarshaling);
-
-void unmarshal_VkWin32KeyedMutexAcquireReleaseInfoNV(
- VulkanStreamGuest* vkStream,
- VkWin32KeyedMutexAcquireReleaseInfoNV* forUnmarshaling);
-
-#endif
-#ifdef VK_EXT_validation_flags
-void marshal_VkValidationFlagsEXT(
- VulkanStreamGuest* vkStream,
- const VkValidationFlagsEXT* forMarshaling);
-
-void unmarshal_VkValidationFlagsEXT(
- VulkanStreamGuest* vkStream,
- VkValidationFlagsEXT* forUnmarshaling);
-
-#endif
-#ifdef VK_NN_vi_surface
-void marshal_VkViSurfaceCreateInfoNN(
- VulkanStreamGuest* vkStream,
- const VkViSurfaceCreateInfoNN* forMarshaling);
-
-void unmarshal_VkViSurfaceCreateInfoNN(
- VulkanStreamGuest* vkStream,
- VkViSurfaceCreateInfoNN* forUnmarshaling);
-
-#define OP_vkCreateViSurfaceNN 20267
-#endif
-#ifdef VK_EXT_shader_subgroup_ballot
-#endif
-#ifdef VK_EXT_shader_subgroup_vote
-#endif
-#ifdef VK_EXT_conditional_rendering
-void marshal_VkConditionalRenderingBeginInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkConditionalRenderingBeginInfoEXT* forMarshaling);
-
-void unmarshal_VkConditionalRenderingBeginInfoEXT(
- VulkanStreamGuest* vkStream,
- VkConditionalRenderingBeginInfoEXT* forUnmarshaling);
-
-void marshal_VkPhysicalDeviceConditionalRenderingFeaturesEXT(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceConditionalRenderingFeaturesEXT* forMarshaling);
-
-void unmarshal_VkPhysicalDeviceConditionalRenderingFeaturesEXT(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceConditionalRenderingFeaturesEXT* forUnmarshaling);
-
-void marshal_VkCommandBufferInheritanceConditionalRenderingInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkCommandBufferInheritanceConditionalRenderingInfoEXT* forMarshaling);
-
-void unmarshal_VkCommandBufferInheritanceConditionalRenderingInfoEXT(
- VulkanStreamGuest* vkStream,
- VkCommandBufferInheritanceConditionalRenderingInfoEXT* forUnmarshaling);
-
-#define OP_vkCmdBeginConditionalRenderingEXT 20268
-#define OP_vkCmdEndConditionalRenderingEXT 20269
-#endif
-#ifdef VK_NVX_device_generated_commands
-void marshal_VkDeviceGeneratedCommandsFeaturesNVX(
- VulkanStreamGuest* vkStream,
- const VkDeviceGeneratedCommandsFeaturesNVX* forMarshaling);
-
-void unmarshal_VkDeviceGeneratedCommandsFeaturesNVX(
- VulkanStreamGuest* vkStream,
- VkDeviceGeneratedCommandsFeaturesNVX* forUnmarshaling);
-
-void marshal_VkDeviceGeneratedCommandsLimitsNVX(
- VulkanStreamGuest* vkStream,
- const VkDeviceGeneratedCommandsLimitsNVX* forMarshaling);
-
-void unmarshal_VkDeviceGeneratedCommandsLimitsNVX(
- VulkanStreamGuest* vkStream,
- VkDeviceGeneratedCommandsLimitsNVX* forUnmarshaling);
-
-void marshal_VkIndirectCommandsTokenNVX(
- VulkanStreamGuest* vkStream,
- const VkIndirectCommandsTokenNVX* forMarshaling);
-
-void unmarshal_VkIndirectCommandsTokenNVX(
- VulkanStreamGuest* vkStream,
- VkIndirectCommandsTokenNVX* forUnmarshaling);
-
-void marshal_VkIndirectCommandsLayoutTokenNVX(
- VulkanStreamGuest* vkStream,
- const VkIndirectCommandsLayoutTokenNVX* forMarshaling);
-
-void unmarshal_VkIndirectCommandsLayoutTokenNVX(
- VulkanStreamGuest* vkStream,
- VkIndirectCommandsLayoutTokenNVX* forUnmarshaling);
-
-void marshal_VkIndirectCommandsLayoutCreateInfoNVX(
- VulkanStreamGuest* vkStream,
- const VkIndirectCommandsLayoutCreateInfoNVX* forMarshaling);
-
-void unmarshal_VkIndirectCommandsLayoutCreateInfoNVX(
- VulkanStreamGuest* vkStream,
- VkIndirectCommandsLayoutCreateInfoNVX* forUnmarshaling);
-
-void marshal_VkCmdProcessCommandsInfoNVX(
- VulkanStreamGuest* vkStream,
- const VkCmdProcessCommandsInfoNVX* forMarshaling);
-
-void unmarshal_VkCmdProcessCommandsInfoNVX(
- VulkanStreamGuest* vkStream,
- VkCmdProcessCommandsInfoNVX* forUnmarshaling);
-
-void marshal_VkCmdReserveSpaceForCommandsInfoNVX(
- VulkanStreamGuest* vkStream,
- const VkCmdReserveSpaceForCommandsInfoNVX* forMarshaling);
-
-void unmarshal_VkCmdReserveSpaceForCommandsInfoNVX(
- VulkanStreamGuest* vkStream,
- VkCmdReserveSpaceForCommandsInfoNVX* forUnmarshaling);
-
-void marshal_VkObjectTableCreateInfoNVX(
- VulkanStreamGuest* vkStream,
- const VkObjectTableCreateInfoNVX* forMarshaling);
-
-void unmarshal_VkObjectTableCreateInfoNVX(
- VulkanStreamGuest* vkStream,
- VkObjectTableCreateInfoNVX* forUnmarshaling);
-
-void marshal_VkObjectTableEntryNVX(
- VulkanStreamGuest* vkStream,
- const VkObjectTableEntryNVX* forMarshaling);
-
-void unmarshal_VkObjectTableEntryNVX(
- VulkanStreamGuest* vkStream,
- VkObjectTableEntryNVX* forUnmarshaling);
-
-void marshal_VkObjectTablePipelineEntryNVX(
- VulkanStreamGuest* vkStream,
- const VkObjectTablePipelineEntryNVX* forMarshaling);
-
-void unmarshal_VkObjectTablePipelineEntryNVX(
- VulkanStreamGuest* vkStream,
- VkObjectTablePipelineEntryNVX* forUnmarshaling);
-
-void marshal_VkObjectTableDescriptorSetEntryNVX(
- VulkanStreamGuest* vkStream,
- const VkObjectTableDescriptorSetEntryNVX* forMarshaling);
-
-void unmarshal_VkObjectTableDescriptorSetEntryNVX(
- VulkanStreamGuest* vkStream,
- VkObjectTableDescriptorSetEntryNVX* forUnmarshaling);
-
-void marshal_VkObjectTableVertexBufferEntryNVX(
- VulkanStreamGuest* vkStream,
- const VkObjectTableVertexBufferEntryNVX* forMarshaling);
-
-void unmarshal_VkObjectTableVertexBufferEntryNVX(
- VulkanStreamGuest* vkStream,
- VkObjectTableVertexBufferEntryNVX* forUnmarshaling);
-
-void marshal_VkObjectTableIndexBufferEntryNVX(
- VulkanStreamGuest* vkStream,
- const VkObjectTableIndexBufferEntryNVX* forMarshaling);
-
-void unmarshal_VkObjectTableIndexBufferEntryNVX(
- VulkanStreamGuest* vkStream,
- VkObjectTableIndexBufferEntryNVX* forUnmarshaling);
-
-void marshal_VkObjectTablePushConstantEntryNVX(
- VulkanStreamGuest* vkStream,
- const VkObjectTablePushConstantEntryNVX* forMarshaling);
-
-void unmarshal_VkObjectTablePushConstantEntryNVX(
- VulkanStreamGuest* vkStream,
- VkObjectTablePushConstantEntryNVX* forUnmarshaling);
-
-#define OP_vkCmdProcessCommandsNVX 20270
-#define OP_vkCmdReserveSpaceForCommandsNVX 20271
-#define OP_vkCreateIndirectCommandsLayoutNVX 20272
-#define OP_vkDestroyIndirectCommandsLayoutNVX 20273
-#define OP_vkCreateObjectTableNVX 20274
-#define OP_vkDestroyObjectTableNVX 20275
-#define OP_vkRegisterObjectsNVX 20276
-#define OP_vkUnregisterObjectsNVX 20277
-#define OP_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX 20278
-#endif
-#ifdef VK_NV_clip_space_w_scaling
-void marshal_VkViewportWScalingNV(
- VulkanStreamGuest* vkStream,
- const VkViewportWScalingNV* forMarshaling);
-
-void unmarshal_VkViewportWScalingNV(
- VulkanStreamGuest* vkStream,
- VkViewportWScalingNV* forUnmarshaling);
-
-void marshal_VkPipelineViewportWScalingStateCreateInfoNV(
- VulkanStreamGuest* vkStream,
- const VkPipelineViewportWScalingStateCreateInfoNV* forMarshaling);
-
-void unmarshal_VkPipelineViewportWScalingStateCreateInfoNV(
- VulkanStreamGuest* vkStream,
- VkPipelineViewportWScalingStateCreateInfoNV* forUnmarshaling);
-
-#define OP_vkCmdSetViewportWScalingNV 20279
-#endif
-#ifdef VK_EXT_direct_mode_display
-#define OP_vkReleaseDisplayEXT 20280
-#endif
-#ifdef VK_EXT_acquire_xlib_display
-#define OP_vkAcquireXlibDisplayEXT 20281
-#define OP_vkGetRandROutputDisplayEXT 20282
-#endif
-#ifdef VK_EXT_display_surface_counter
-void marshal_VkSurfaceCapabilities2EXT(
- VulkanStreamGuest* vkStream,
- const VkSurfaceCapabilities2EXT* forMarshaling);
-
-void unmarshal_VkSurfaceCapabilities2EXT(
- VulkanStreamGuest* vkStream,
- VkSurfaceCapabilities2EXT* forUnmarshaling);
-
-#define OP_vkGetPhysicalDeviceSurfaceCapabilities2EXT 20283
-#endif
-#ifdef VK_EXT_display_control
-void marshal_VkDisplayPowerInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkDisplayPowerInfoEXT* forMarshaling);
-
-void unmarshal_VkDisplayPowerInfoEXT(
- VulkanStreamGuest* vkStream,
- VkDisplayPowerInfoEXT* forUnmarshaling);
-
-void marshal_VkDeviceEventInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkDeviceEventInfoEXT* forMarshaling);
-
-void unmarshal_VkDeviceEventInfoEXT(
- VulkanStreamGuest* vkStream,
- VkDeviceEventInfoEXT* forUnmarshaling);
-
-void marshal_VkDisplayEventInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkDisplayEventInfoEXT* forMarshaling);
-
-void unmarshal_VkDisplayEventInfoEXT(
- VulkanStreamGuest* vkStream,
- VkDisplayEventInfoEXT* forUnmarshaling);
-
-void marshal_VkSwapchainCounterCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkSwapchainCounterCreateInfoEXT* forMarshaling);
-
-void unmarshal_VkSwapchainCounterCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- VkSwapchainCounterCreateInfoEXT* forUnmarshaling);
-
-#define OP_vkDisplayPowerControlEXT 20284
-#define OP_vkRegisterDeviceEventEXT 20285
-#define OP_vkRegisterDisplayEventEXT 20286
-#define OP_vkGetSwapchainCounterEXT 20287
-#endif
-#ifdef VK_GOOGLE_display_timing
-void marshal_VkRefreshCycleDurationGOOGLE(
- VulkanStreamGuest* vkStream,
- const VkRefreshCycleDurationGOOGLE* forMarshaling);
-
-void unmarshal_VkRefreshCycleDurationGOOGLE(
- VulkanStreamGuest* vkStream,
- VkRefreshCycleDurationGOOGLE* forUnmarshaling);
-
-void marshal_VkPastPresentationTimingGOOGLE(
- VulkanStreamGuest* vkStream,
- const VkPastPresentationTimingGOOGLE* forMarshaling);
-
-void unmarshal_VkPastPresentationTimingGOOGLE(
- VulkanStreamGuest* vkStream,
- VkPastPresentationTimingGOOGLE* forUnmarshaling);
-
-void marshal_VkPresentTimeGOOGLE(
- VulkanStreamGuest* vkStream,
- const VkPresentTimeGOOGLE* forMarshaling);
-
-void unmarshal_VkPresentTimeGOOGLE(
- VulkanStreamGuest* vkStream,
- VkPresentTimeGOOGLE* forUnmarshaling);
-
-void marshal_VkPresentTimesInfoGOOGLE(
- VulkanStreamGuest* vkStream,
- const VkPresentTimesInfoGOOGLE* forMarshaling);
-
-void unmarshal_VkPresentTimesInfoGOOGLE(
- VulkanStreamGuest* vkStream,
- VkPresentTimesInfoGOOGLE* forUnmarshaling);
-
-#define OP_vkGetRefreshCycleDurationGOOGLE 20288
-#define OP_vkGetPastPresentationTimingGOOGLE 20289
-#endif
-#ifdef VK_NV_sample_mask_override_coverage
-#endif
-#ifdef VK_NV_geometry_shader_passthrough
-#endif
-#ifdef VK_NV_viewport_array2
-#endif
-#ifdef VK_NVX_multiview_per_view_attributes
-void marshal_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX* forMarshaling);
-
-void unmarshal_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX* forUnmarshaling);
-
-#endif
-#ifdef VK_NV_viewport_swizzle
-void marshal_VkViewportSwizzleNV(
- VulkanStreamGuest* vkStream,
- const VkViewportSwizzleNV* forMarshaling);
-
-void unmarshal_VkViewportSwizzleNV(
- VulkanStreamGuest* vkStream,
- VkViewportSwizzleNV* forUnmarshaling);
-
-void marshal_VkPipelineViewportSwizzleStateCreateInfoNV(
- VulkanStreamGuest* vkStream,
- const VkPipelineViewportSwizzleStateCreateInfoNV* forMarshaling);
-
-void unmarshal_VkPipelineViewportSwizzleStateCreateInfoNV(
- VulkanStreamGuest* vkStream,
- VkPipelineViewportSwizzleStateCreateInfoNV* forUnmarshaling);
-
-#endif
-#ifdef VK_EXT_discard_rectangles
-void marshal_VkPhysicalDeviceDiscardRectanglePropertiesEXT(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceDiscardRectanglePropertiesEXT* forMarshaling);
-
-void unmarshal_VkPhysicalDeviceDiscardRectanglePropertiesEXT(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceDiscardRectanglePropertiesEXT* forUnmarshaling);
-
-void marshal_VkPipelineDiscardRectangleStateCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkPipelineDiscardRectangleStateCreateInfoEXT* forMarshaling);
-
-void unmarshal_VkPipelineDiscardRectangleStateCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- VkPipelineDiscardRectangleStateCreateInfoEXT* forUnmarshaling);
-
-#define OP_vkCmdSetDiscardRectangleEXT 20290
-#endif
-#ifdef VK_EXT_conservative_rasterization
-void marshal_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceConservativeRasterizationPropertiesEXT* forMarshaling);
-
-void unmarshal_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceConservativeRasterizationPropertiesEXT* forUnmarshaling);
-
-void marshal_VkPipelineRasterizationConservativeStateCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkPipelineRasterizationConservativeStateCreateInfoEXT* forMarshaling);
-
-void unmarshal_VkPipelineRasterizationConservativeStateCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- VkPipelineRasterizationConservativeStateCreateInfoEXT* forUnmarshaling);
-
-#endif
-#ifdef VK_EXT_swapchain_colorspace
-#endif
-#ifdef VK_EXT_hdr_metadata
-void marshal_VkXYColorEXT(
- VulkanStreamGuest* vkStream,
- const VkXYColorEXT* forMarshaling);
-
-void unmarshal_VkXYColorEXT(
- VulkanStreamGuest* vkStream,
- VkXYColorEXT* forUnmarshaling);
-
-void marshal_VkHdrMetadataEXT(
- VulkanStreamGuest* vkStream,
- const VkHdrMetadataEXT* forMarshaling);
-
-void unmarshal_VkHdrMetadataEXT(
- VulkanStreamGuest* vkStream,
- VkHdrMetadataEXT* forUnmarshaling);
-
-#define OP_vkSetHdrMetadataEXT 20291
-#endif
-#ifdef VK_MVK_ios_surface
-void marshal_VkIOSSurfaceCreateInfoMVK(
- VulkanStreamGuest* vkStream,
- const VkIOSSurfaceCreateInfoMVK* forMarshaling);
-
-void unmarshal_VkIOSSurfaceCreateInfoMVK(
- VulkanStreamGuest* vkStream,
- VkIOSSurfaceCreateInfoMVK* forUnmarshaling);
-
-#define OP_vkCreateIOSSurfaceMVK 20292
-#endif
-#ifdef VK_MVK_macos_surface
-void marshal_VkMacOSSurfaceCreateInfoMVK(
- VulkanStreamGuest* vkStream,
- const VkMacOSSurfaceCreateInfoMVK* forMarshaling);
-
-void unmarshal_VkMacOSSurfaceCreateInfoMVK(
- VulkanStreamGuest* vkStream,
- VkMacOSSurfaceCreateInfoMVK* forUnmarshaling);
-
-#define OP_vkCreateMacOSSurfaceMVK 20293
-#endif
-#ifdef VK_EXT_external_memory_dma_buf
-#endif
-#ifdef VK_EXT_queue_family_foreign
-#endif
-#ifdef VK_EXT_debug_utils
-void marshal_VkDebugUtilsObjectNameInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkDebugUtilsObjectNameInfoEXT* forMarshaling);
-
-void unmarshal_VkDebugUtilsObjectNameInfoEXT(
- VulkanStreamGuest* vkStream,
- VkDebugUtilsObjectNameInfoEXT* forUnmarshaling);
-
-void marshal_VkDebugUtilsObjectTagInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkDebugUtilsObjectTagInfoEXT* forMarshaling);
-
-void unmarshal_VkDebugUtilsObjectTagInfoEXT(
- VulkanStreamGuest* vkStream,
- VkDebugUtilsObjectTagInfoEXT* forUnmarshaling);
-
-void marshal_VkDebugUtilsLabelEXT(
- VulkanStreamGuest* vkStream,
- const VkDebugUtilsLabelEXT* forMarshaling);
-
-void unmarshal_VkDebugUtilsLabelEXT(
- VulkanStreamGuest* vkStream,
- VkDebugUtilsLabelEXT* forUnmarshaling);
-
-void marshal_VkDebugUtilsMessengerCallbackDataEXT(
- VulkanStreamGuest* vkStream,
- const VkDebugUtilsMessengerCallbackDataEXT* forMarshaling);
-
-void unmarshal_VkDebugUtilsMessengerCallbackDataEXT(
- VulkanStreamGuest* vkStream,
- VkDebugUtilsMessengerCallbackDataEXT* forUnmarshaling);
-
-void marshal_VkDebugUtilsMessengerCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkDebugUtilsMessengerCreateInfoEXT* forMarshaling);
-
-void unmarshal_VkDebugUtilsMessengerCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- VkDebugUtilsMessengerCreateInfoEXT* forUnmarshaling);
-
-#define OP_vkSetDebugUtilsObjectNameEXT 20294
-#define OP_vkSetDebugUtilsObjectTagEXT 20295
-#define OP_vkQueueBeginDebugUtilsLabelEXT 20296
-#define OP_vkQueueEndDebugUtilsLabelEXT 20297
-#define OP_vkQueueInsertDebugUtilsLabelEXT 20298
-#define OP_vkCmdBeginDebugUtilsLabelEXT 20299
-#define OP_vkCmdEndDebugUtilsLabelEXT 20300
-#define OP_vkCmdInsertDebugUtilsLabelEXT 20301
-#define OP_vkCreateDebugUtilsMessengerEXT 20302
-#define OP_vkDestroyDebugUtilsMessengerEXT 20303
-#define OP_vkSubmitDebugUtilsMessageEXT 20304
-#endif
-#ifdef VK_ANDROID_external_memory_android_hardware_buffer
-void marshal_VkAndroidHardwareBufferUsageANDROID(
- VulkanStreamGuest* vkStream,
- const VkAndroidHardwareBufferUsageANDROID* forMarshaling);
-
-void unmarshal_VkAndroidHardwareBufferUsageANDROID(
- VulkanStreamGuest* vkStream,
- VkAndroidHardwareBufferUsageANDROID* forUnmarshaling);
-
-void marshal_VkAndroidHardwareBufferPropertiesANDROID(
- VulkanStreamGuest* vkStream,
- const VkAndroidHardwareBufferPropertiesANDROID* forMarshaling);
-
-void unmarshal_VkAndroidHardwareBufferPropertiesANDROID(
- VulkanStreamGuest* vkStream,
- VkAndroidHardwareBufferPropertiesANDROID* forUnmarshaling);
-
-void marshal_VkAndroidHardwareBufferFormatPropertiesANDROID(
- VulkanStreamGuest* vkStream,
- const VkAndroidHardwareBufferFormatPropertiesANDROID* forMarshaling);
-
-void unmarshal_VkAndroidHardwareBufferFormatPropertiesANDROID(
- VulkanStreamGuest* vkStream,
- VkAndroidHardwareBufferFormatPropertiesANDROID* forUnmarshaling);
-
-void marshal_VkImportAndroidHardwareBufferInfoANDROID(
- VulkanStreamGuest* vkStream,
- const VkImportAndroidHardwareBufferInfoANDROID* forMarshaling);
-
-void unmarshal_VkImportAndroidHardwareBufferInfoANDROID(
- VulkanStreamGuest* vkStream,
- VkImportAndroidHardwareBufferInfoANDROID* forUnmarshaling);
-
-void marshal_VkMemoryGetAndroidHardwareBufferInfoANDROID(
- VulkanStreamGuest* vkStream,
- const VkMemoryGetAndroidHardwareBufferInfoANDROID* forMarshaling);
-
-void unmarshal_VkMemoryGetAndroidHardwareBufferInfoANDROID(
- VulkanStreamGuest* vkStream,
- VkMemoryGetAndroidHardwareBufferInfoANDROID* forUnmarshaling);
-
-void marshal_VkExternalFormatANDROID(
- VulkanStreamGuest* vkStream,
- const VkExternalFormatANDROID* forMarshaling);
-
-void unmarshal_VkExternalFormatANDROID(
- VulkanStreamGuest* vkStream,
- VkExternalFormatANDROID* forUnmarshaling);
-
-#define OP_vkGetAndroidHardwareBufferPropertiesANDROID 20305
-#define OP_vkGetMemoryAndroidHardwareBufferANDROID 20306
-#endif
-#ifdef VK_EXT_sampler_filter_minmax
-void marshal_VkSamplerReductionModeCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkSamplerReductionModeCreateInfoEXT* forMarshaling);
-
-void unmarshal_VkSamplerReductionModeCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- VkSamplerReductionModeCreateInfoEXT* forUnmarshaling);
-
-void marshal_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT* forMarshaling);
-
-void unmarshal_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT* forUnmarshaling);
-
-#endif
-#ifdef VK_AMD_gpu_shader_int16
-#endif
-#ifdef VK_AMD_mixed_attachment_samples
-#endif
-#ifdef VK_AMD_shader_fragment_mask
-#endif
-#ifdef VK_EXT_shader_stencil_export
-#endif
-#ifdef VK_EXT_sample_locations
-void marshal_VkSampleLocationEXT(
- VulkanStreamGuest* vkStream,
- const VkSampleLocationEXT* forMarshaling);
-
-void unmarshal_VkSampleLocationEXT(
- VulkanStreamGuest* vkStream,
- VkSampleLocationEXT* forUnmarshaling);
-
-void marshal_VkSampleLocationsInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkSampleLocationsInfoEXT* forMarshaling);
-
-void unmarshal_VkSampleLocationsInfoEXT(
- VulkanStreamGuest* vkStream,
- VkSampleLocationsInfoEXT* forUnmarshaling);
-
-void marshal_VkAttachmentSampleLocationsEXT(
- VulkanStreamGuest* vkStream,
- const VkAttachmentSampleLocationsEXT* forMarshaling);
-
-void unmarshal_VkAttachmentSampleLocationsEXT(
- VulkanStreamGuest* vkStream,
- VkAttachmentSampleLocationsEXT* forUnmarshaling);
-
-void marshal_VkSubpassSampleLocationsEXT(
- VulkanStreamGuest* vkStream,
- const VkSubpassSampleLocationsEXT* forMarshaling);
-
-void unmarshal_VkSubpassSampleLocationsEXT(
- VulkanStreamGuest* vkStream,
- VkSubpassSampleLocationsEXT* forUnmarshaling);
-
-void marshal_VkRenderPassSampleLocationsBeginInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkRenderPassSampleLocationsBeginInfoEXT* forMarshaling);
-
-void unmarshal_VkRenderPassSampleLocationsBeginInfoEXT(
- VulkanStreamGuest* vkStream,
- VkRenderPassSampleLocationsBeginInfoEXT* forUnmarshaling);
-
-void marshal_VkPipelineSampleLocationsStateCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkPipelineSampleLocationsStateCreateInfoEXT* forMarshaling);
-
-void unmarshal_VkPipelineSampleLocationsStateCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- VkPipelineSampleLocationsStateCreateInfoEXT* forUnmarshaling);
-
-void marshal_VkPhysicalDeviceSampleLocationsPropertiesEXT(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceSampleLocationsPropertiesEXT* forMarshaling);
-
-void unmarshal_VkPhysicalDeviceSampleLocationsPropertiesEXT(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceSampleLocationsPropertiesEXT* forUnmarshaling);
-
-void marshal_VkMultisamplePropertiesEXT(
- VulkanStreamGuest* vkStream,
- const VkMultisamplePropertiesEXT* forMarshaling);
-
-void unmarshal_VkMultisamplePropertiesEXT(
- VulkanStreamGuest* vkStream,
- VkMultisamplePropertiesEXT* forUnmarshaling);
-
-#define OP_vkCmdSetSampleLocationsEXT 20307
-#define OP_vkGetPhysicalDeviceMultisamplePropertiesEXT 20308
-#endif
-#ifdef VK_EXT_blend_operation_advanced
-void marshal_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT* forMarshaling);
-
-void unmarshal_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT* forUnmarshaling);
-
-void marshal_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT* forMarshaling);
-
-void unmarshal_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT* forUnmarshaling);
-
-void marshal_VkPipelineColorBlendAdvancedStateCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkPipelineColorBlendAdvancedStateCreateInfoEXT* forMarshaling);
-
-void unmarshal_VkPipelineColorBlendAdvancedStateCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- VkPipelineColorBlendAdvancedStateCreateInfoEXT* forUnmarshaling);
-
-#endif
-#ifdef VK_NV_fragment_coverage_to_color
-void marshal_VkPipelineCoverageToColorStateCreateInfoNV(
- VulkanStreamGuest* vkStream,
- const VkPipelineCoverageToColorStateCreateInfoNV* forMarshaling);
-
-void unmarshal_VkPipelineCoverageToColorStateCreateInfoNV(
- VulkanStreamGuest* vkStream,
- VkPipelineCoverageToColorStateCreateInfoNV* forUnmarshaling);
-
-#endif
-#ifdef VK_NV_framebuffer_mixed_samples
-void marshal_VkPipelineCoverageModulationStateCreateInfoNV(
- VulkanStreamGuest* vkStream,
- const VkPipelineCoverageModulationStateCreateInfoNV* forMarshaling);
-
-void unmarshal_VkPipelineCoverageModulationStateCreateInfoNV(
- VulkanStreamGuest* vkStream,
- VkPipelineCoverageModulationStateCreateInfoNV* forUnmarshaling);
-
-#endif
-#ifdef VK_NV_fill_rectangle
-#endif
-#ifdef VK_EXT_post_depth_coverage
-#endif
-#ifdef VK_EXT_validation_cache
-void marshal_VkValidationCacheCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkValidationCacheCreateInfoEXT* forMarshaling);
-
-void unmarshal_VkValidationCacheCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- VkValidationCacheCreateInfoEXT* forUnmarshaling);
-
-void marshal_VkShaderModuleValidationCacheCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkShaderModuleValidationCacheCreateInfoEXT* forMarshaling);
-
-void unmarshal_VkShaderModuleValidationCacheCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- VkShaderModuleValidationCacheCreateInfoEXT* forUnmarshaling);
-
-#define OP_vkCreateValidationCacheEXT 20309
-#define OP_vkDestroyValidationCacheEXT 20310
-#define OP_vkMergeValidationCachesEXT 20311
-#define OP_vkGetValidationCacheDataEXT 20312
-#endif
-#ifdef VK_EXT_descriptor_indexing
-void marshal_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkDescriptorSetLayoutBindingFlagsCreateInfoEXT* forMarshaling);
-
-void unmarshal_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- VkDescriptorSetLayoutBindingFlagsCreateInfoEXT* forUnmarshaling);
-
-void marshal_VkPhysicalDeviceDescriptorIndexingFeaturesEXT(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceDescriptorIndexingFeaturesEXT* forMarshaling);
-
-void unmarshal_VkPhysicalDeviceDescriptorIndexingFeaturesEXT(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceDescriptorIndexingFeaturesEXT* forUnmarshaling);
-
-void marshal_VkPhysicalDeviceDescriptorIndexingPropertiesEXT(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceDescriptorIndexingPropertiesEXT* forMarshaling);
-
-void unmarshal_VkPhysicalDeviceDescriptorIndexingPropertiesEXT(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceDescriptorIndexingPropertiesEXT* forUnmarshaling);
-
-void marshal_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkDescriptorSetVariableDescriptorCountAllocateInfoEXT* forMarshaling);
-
-void unmarshal_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT(
- VulkanStreamGuest* vkStream,
- VkDescriptorSetVariableDescriptorCountAllocateInfoEXT* forUnmarshaling);
-
-void marshal_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT(
- VulkanStreamGuest* vkStream,
- const VkDescriptorSetVariableDescriptorCountLayoutSupportEXT* forMarshaling);
-
-void unmarshal_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT(
- VulkanStreamGuest* vkStream,
- VkDescriptorSetVariableDescriptorCountLayoutSupportEXT* forUnmarshaling);
-
-#endif
-#ifdef VK_EXT_shader_viewport_index_layer
-#endif
-#ifdef VK_EXT_global_priority
-void marshal_VkDeviceQueueGlobalPriorityCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkDeviceQueueGlobalPriorityCreateInfoEXT* forMarshaling);
-
-void unmarshal_VkDeviceQueueGlobalPriorityCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- VkDeviceQueueGlobalPriorityCreateInfoEXT* forUnmarshaling);
-
-#endif
-#ifdef VK_EXT_external_memory_host
-void marshal_VkImportMemoryHostPointerInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkImportMemoryHostPointerInfoEXT* forMarshaling);
-
-void unmarshal_VkImportMemoryHostPointerInfoEXT(
- VulkanStreamGuest* vkStream,
- VkImportMemoryHostPointerInfoEXT* forUnmarshaling);
-
-void marshal_VkMemoryHostPointerPropertiesEXT(
- VulkanStreamGuest* vkStream,
- const VkMemoryHostPointerPropertiesEXT* forMarshaling);
-
-void unmarshal_VkMemoryHostPointerPropertiesEXT(
- VulkanStreamGuest* vkStream,
- VkMemoryHostPointerPropertiesEXT* forUnmarshaling);
-
-void marshal_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceExternalMemoryHostPropertiesEXT* forMarshaling);
-
-void unmarshal_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceExternalMemoryHostPropertiesEXT* forUnmarshaling);
-
-#define OP_vkGetMemoryHostPointerPropertiesEXT 20313
-#endif
-#ifdef VK_AMD_buffer_marker
-#define OP_vkCmdWriteBufferMarkerAMD 20314
-#endif
-#ifdef VK_AMD_shader_core_properties
-void marshal_VkPhysicalDeviceShaderCorePropertiesAMD(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceShaderCorePropertiesAMD* forMarshaling);
-
-void unmarshal_VkPhysicalDeviceShaderCorePropertiesAMD(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceShaderCorePropertiesAMD* forUnmarshaling);
-
-#endif
-#ifdef VK_EXT_vertex_attribute_divisor
-void marshal_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(
- VulkanStreamGuest* vkStream,
- const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* forMarshaling);
-
-void unmarshal_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(
- VulkanStreamGuest* vkStream,
- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* forUnmarshaling);
-
-void marshal_VkVertexInputBindingDivisorDescriptionEXT(
- VulkanStreamGuest* vkStream,
- const VkVertexInputBindingDivisorDescriptionEXT* forMarshaling);
-
-void unmarshal_VkVertexInputBindingDivisorDescriptionEXT(
- VulkanStreamGuest* vkStream,
- VkVertexInputBindingDivisorDescriptionEXT* forUnmarshaling);
-
-void marshal_VkPipelineVertexInputDivisorStateCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- const VkPipelineVertexInputDivisorStateCreateInfoEXT* forMarshaling);
-
-void unmarshal_VkPipelineVertexInputDivisorStateCreateInfoEXT(
- VulkanStreamGuest* vkStream,
- VkPipelineVertexInputDivisorStateCreateInfoEXT* forUnmarshaling);
-
-#endif
-#ifdef VK_NV_shader_subgroup_partitioned
-#endif
-#ifdef VK_NV_device_diagnostic_checkpoints
-void marshal_VkQueueFamilyCheckpointPropertiesNV(
- VulkanStreamGuest* vkStream,
- const VkQueueFamilyCheckpointPropertiesNV* forMarshaling);
-
-void unmarshal_VkQueueFamilyCheckpointPropertiesNV(
- VulkanStreamGuest* vkStream,
- VkQueueFamilyCheckpointPropertiesNV* forUnmarshaling);
-
-void marshal_VkCheckpointDataNV(
- VulkanStreamGuest* vkStream,
- const VkCheckpointDataNV* forMarshaling);
-
-void unmarshal_VkCheckpointDataNV(
- VulkanStreamGuest* vkStream,
- VkCheckpointDataNV* forUnmarshaling);
-
-#define OP_vkCmdSetCheckpointNV 20315
-#define OP_vkGetQueueCheckpointDataNV 20316
-#endif
-#ifdef VK_GOOGLE_address_space
-#define OP_vkMapMemoryIntoAddressSpaceGOOGLE 20317
-#endif
-#ifdef VK_GOOGLE_color_buffer
-void marshal_VkImportColorBufferGOOGLE(
- VulkanStreamGuest* vkStream,
- const VkImportColorBufferGOOGLE* forMarshaling);
-
-void unmarshal_VkImportColorBufferGOOGLE(
- VulkanStreamGuest* vkStream,
- VkImportColorBufferGOOGLE* forUnmarshaling);
-
-void marshal_VkImportBufferGOOGLE(
- VulkanStreamGuest* vkStream,
- const VkImportBufferGOOGLE* forMarshaling);
-
-void unmarshal_VkImportBufferGOOGLE(
- VulkanStreamGuest* vkStream,
- VkImportBufferGOOGLE* forUnmarshaling);
-
-void marshal_VkImportPhysicalAddressGOOGLE(
- VulkanStreamGuest* vkStream,
- const VkImportPhysicalAddressGOOGLE* forMarshaling);
-
-void unmarshal_VkImportPhysicalAddressGOOGLE(
- VulkanStreamGuest* vkStream,
- VkImportPhysicalAddressGOOGLE* forUnmarshaling);
-
-#define OP_vkRegisterImageColorBufferGOOGLE 20318
-#define OP_vkRegisterBufferColorBufferGOOGLE 20319
-#endif
-#ifdef VK_GOOGLE_sized_descriptor_update_template
-#define OP_vkUpdateDescriptorSetWithTemplateSizedGOOGLE 20320
-#endif
-#ifdef VK_GOOGLE_async_command_buffers
-#define OP_vkBeginCommandBufferAsyncGOOGLE 20321
-#define OP_vkEndCommandBufferAsyncGOOGLE 20322
-#define OP_vkResetCommandBufferAsyncGOOGLE 20323
-#define OP_vkCommandBufferHostSyncGOOGLE 20324
-#endif
-#ifdef VK_GOOGLE_create_resources_with_requirements
-#define OP_vkCreateImageWithRequirementsGOOGLE 20325
-#define OP_vkCreateBufferWithRequirementsGOOGLE 20326
-#endif
-#ifdef VK_GOOGLE_address_space_info
-#define OP_vkGetMemoryHostAddressInfoGOOGLE 20327
-#endif
-#ifdef VK_GOOGLE_free_memory_sync
-#define OP_vkFreeMemorySyncGOOGLE 20328
-#endif
-#ifdef VK_GOOGLE_async_queue_submit
-#define OP_vkQueueHostSyncGOOGLE 20329
-#define OP_vkQueueSubmitAsyncGOOGLE 20330
-#define OP_vkQueueWaitIdleAsyncGOOGLE 20331
-#define OP_vkQueueBindSparseAsyncGOOGLE 20332
-#endif
-#ifdef VK_GOOGLE_linear_image_layout
-#define OP_vkGetLinearImageLayoutGOOGLE 20333
-#endif
-const char* api_opcode_to_string(
- const uint32_t opcode);
-
-
-} // namespace goldfish_vk
diff --git a/stream-clients/vulkan_enc/goldfish_vk_transform_guest.cpp b/stream-clients/vulkan_enc/goldfish_vk_transform_guest.cpp
deleted file mode 100644
index 649c91a..0000000
--- a/stream-clients/vulkan_enc/goldfish_vk_transform_guest.cpp
+++ /dev/null
@@ -1,10369 +0,0 @@
-// 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 goldfish_vk_transform_guest
-// (impl) generated by protocols/vulkan/xml/genvk.py -registry protocols/vulkan/xml/vk.xml cereal -o stream-servers/vulkan/cereal
-// Please do not modify directly;
-// re-run generate-vulkan-sources.sh,
-// or directly from Python by defining:
-// VULKAN_REGISTRY_XML_DIR : Directory containing genvk.py and vk.xml
-// CEREAL_OUTPUT_DIR: Where to put the generated sources.
-// python3 $VULKAN_REGISTRY_XML_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o $CEREAL_OUTPUT_DIR
-
-#include "goldfish_vk_transform_guest.h"
-
-
-#include "goldfish_vk_extension_structs_guest.h"
-#include "goldfish_vk_private_defs.h"
-
-#include "ResourceTracker.h"
-
-
-namespace goldfish_vk {
-
-void transform_tohost_extension_struct(
- ResourceTracker* resourceTracker,
- void* structExtension_out);
-
-void transform_fromhost_extension_struct(
- ResourceTracker* resourceTracker,
- void* structExtension_out);
-
-#ifdef VK_VERSION_1_0
-void transform_tohost_VkApplicationInfo(
- ResourceTracker* resourceTracker,
- VkApplicationInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkApplicationInfo(
- ResourceTracker* resourceTracker,
- VkApplicationInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkInstanceCreateInfo(
- ResourceTracker* resourceTracker,
- VkInstanceCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pApplicationInfo)
- {
- transform_tohost_VkApplicationInfo(resourceTracker, (VkApplicationInfo*)(toTransform->pApplicationInfo));
- }
-}
-
-void transform_fromhost_VkInstanceCreateInfo(
- ResourceTracker* resourceTracker,
- VkInstanceCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pApplicationInfo)
- {
- transform_fromhost_VkApplicationInfo(resourceTracker, (VkApplicationInfo*)(toTransform->pApplicationInfo));
- }
-}
-
-void transform_tohost_VkAllocationCallbacks(
- ResourceTracker* resourceTracker,
- VkAllocationCallbacks* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkAllocationCallbacks(
- ResourceTracker* resourceTracker,
- VkAllocationCallbacks* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkPhysicalDeviceFeatures(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceFeatures* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkPhysicalDeviceFeatures(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceFeatures* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkFormatProperties(
- ResourceTracker* resourceTracker,
- VkFormatProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkFormatProperties(
- ResourceTracker* resourceTracker,
- VkFormatProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkExtent3D(
- ResourceTracker* resourceTracker,
- VkExtent3D* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkExtent3D(
- ResourceTracker* resourceTracker,
- VkExtent3D* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkImageFormatProperties(
- ResourceTracker* resourceTracker,
- VkImageFormatProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_tohost_VkExtent3D(resourceTracker, (VkExtent3D*)(&toTransform->maxExtent));
-}
-
-void transform_fromhost_VkImageFormatProperties(
- ResourceTracker* resourceTracker,
- VkImageFormatProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_fromhost_VkExtent3D(resourceTracker, (VkExtent3D*)(&toTransform->maxExtent));
-}
-
-void transform_tohost_VkPhysicalDeviceLimits(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceLimits* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkPhysicalDeviceLimits(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceLimits* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkPhysicalDeviceSparseProperties(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceSparseProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkPhysicalDeviceSparseProperties(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceSparseProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkPhysicalDeviceProperties(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_tohost_VkPhysicalDeviceLimits(resourceTracker, (VkPhysicalDeviceLimits*)(&toTransform->limits));
- transform_tohost_VkPhysicalDeviceSparseProperties(resourceTracker, (VkPhysicalDeviceSparseProperties*)(&toTransform->sparseProperties));
-}
-
-void transform_fromhost_VkPhysicalDeviceProperties(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_fromhost_VkPhysicalDeviceLimits(resourceTracker, (VkPhysicalDeviceLimits*)(&toTransform->limits));
- transform_fromhost_VkPhysicalDeviceSparseProperties(resourceTracker, (VkPhysicalDeviceSparseProperties*)(&toTransform->sparseProperties));
-}
-
-void transform_tohost_VkQueueFamilyProperties(
- ResourceTracker* resourceTracker,
- VkQueueFamilyProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_tohost_VkExtent3D(resourceTracker, (VkExtent3D*)(&toTransform->minImageTransferGranularity));
-}
-
-void transform_fromhost_VkQueueFamilyProperties(
- ResourceTracker* resourceTracker,
- VkQueueFamilyProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_fromhost_VkExtent3D(resourceTracker, (VkExtent3D*)(&toTransform->minImageTransferGranularity));
-}
-
-void transform_tohost_VkMemoryType(
- ResourceTracker* resourceTracker,
- VkMemoryType* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkMemoryType(
- ResourceTracker* resourceTracker,
- VkMemoryType* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkMemoryHeap(
- ResourceTracker* resourceTracker,
- VkMemoryHeap* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkMemoryHeap(
- ResourceTracker* resourceTracker,
- VkMemoryHeap* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkPhysicalDeviceMemoryProperties(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceMemoryProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_TYPES; ++i)
- {
- transform_tohost_VkMemoryType(resourceTracker, (VkMemoryType*)(toTransform->memoryTypes + i));
- }
- for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_HEAPS; ++i)
- {
- transform_tohost_VkMemoryHeap(resourceTracker, (VkMemoryHeap*)(toTransform->memoryHeaps + i));
- }
-}
-
-void transform_fromhost_VkPhysicalDeviceMemoryProperties(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceMemoryProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_TYPES; ++i)
- {
- transform_fromhost_VkMemoryType(resourceTracker, (VkMemoryType*)(toTransform->memoryTypes + i));
- }
- for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_HEAPS; ++i)
- {
- transform_fromhost_VkMemoryHeap(resourceTracker, (VkMemoryHeap*)(toTransform->memoryHeaps + i));
- }
-}
-
-void transform_tohost_VkDeviceQueueCreateInfo(
- ResourceTracker* resourceTracker,
- VkDeviceQueueCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkDeviceQueueCreateInfo(
- ResourceTracker* resourceTracker,
- VkDeviceQueueCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkDeviceCreateInfo(
- ResourceTracker* resourceTracker,
- VkDeviceCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pQueueCreateInfos)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->queueCreateInfoCount; ++i)
- {
- transform_tohost_VkDeviceQueueCreateInfo(resourceTracker, (VkDeviceQueueCreateInfo*)(toTransform->pQueueCreateInfos + i));
- }
- }
- if (toTransform->pEnabledFeatures)
- {
- transform_tohost_VkPhysicalDeviceFeatures(resourceTracker, (VkPhysicalDeviceFeatures*)(toTransform->pEnabledFeatures));
- }
-}
-
-void transform_fromhost_VkDeviceCreateInfo(
- ResourceTracker* resourceTracker,
- VkDeviceCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pQueueCreateInfos)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->queueCreateInfoCount; ++i)
- {
- transform_fromhost_VkDeviceQueueCreateInfo(resourceTracker, (VkDeviceQueueCreateInfo*)(toTransform->pQueueCreateInfos + i));
- }
- }
- if (toTransform->pEnabledFeatures)
- {
- transform_fromhost_VkPhysicalDeviceFeatures(resourceTracker, (VkPhysicalDeviceFeatures*)(toTransform->pEnabledFeatures));
- }
-}
-
-void transform_tohost_VkExtensionProperties(
- ResourceTracker* resourceTracker,
- VkExtensionProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkExtensionProperties(
- ResourceTracker* resourceTracker,
- VkExtensionProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkLayerProperties(
- ResourceTracker* resourceTracker,
- VkLayerProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkLayerProperties(
- ResourceTracker* resourceTracker,
- VkLayerProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkSubmitInfo(
- ResourceTracker* resourceTracker,
- VkSubmitInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkSubmitInfo(
- ResourceTracker* resourceTracker,
- VkSubmitInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkMemoryAllocateInfo(
- ResourceTracker* resourceTracker,
- VkMemoryAllocateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- resourceTracker->deviceMemoryTransform_tohost((VkDeviceMemory*)nullptr, 0, (VkDeviceSize*)nullptr, 0, (VkDeviceSize*)nullptr, 0, (uint32_t*)&toTransform->memoryTypeIndex, 1, (uint32_t*)nullptr, 0);
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkMemoryAllocateInfo(
- ResourceTracker* resourceTracker,
- VkMemoryAllocateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- resourceTracker->deviceMemoryTransform_fromhost((VkDeviceMemory*)nullptr, 0, (VkDeviceSize*)nullptr, 0, (VkDeviceSize*)nullptr, 0, (uint32_t*)&toTransform->memoryTypeIndex, 1, (uint32_t*)nullptr, 0);
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkMappedMemoryRange(
- ResourceTracker* resourceTracker,
- VkMappedMemoryRange* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- resourceTracker->deviceMemoryTransform_tohost((VkDeviceMemory*)&toTransform->memory, 1, (VkDeviceSize*)&toTransform->offset, 1, (VkDeviceSize*)&toTransform->size, 1, (uint32_t*)nullptr, 0, (uint32_t*)nullptr, 0);
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkMappedMemoryRange(
- ResourceTracker* resourceTracker,
- VkMappedMemoryRange* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- resourceTracker->deviceMemoryTransform_fromhost((VkDeviceMemory*)&toTransform->memory, 1, (VkDeviceSize*)&toTransform->offset, 1, (VkDeviceSize*)&toTransform->size, 1, (uint32_t*)nullptr, 0, (uint32_t*)nullptr, 0);
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkMemoryRequirements(
- ResourceTracker* resourceTracker,
- VkMemoryRequirements* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- resourceTracker->deviceMemoryTransform_tohost((VkDeviceMemory*)nullptr, 0, (VkDeviceSize*)nullptr, 0, (VkDeviceSize*)nullptr, 0, (uint32_t*)nullptr, 0, (uint32_t*)&toTransform->memoryTypeBits, 1);
-}
-
-void transform_fromhost_VkMemoryRequirements(
- ResourceTracker* resourceTracker,
- VkMemoryRequirements* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- resourceTracker->deviceMemoryTransform_fromhost((VkDeviceMemory*)nullptr, 0, (VkDeviceSize*)nullptr, 0, (VkDeviceSize*)nullptr, 0, (uint32_t*)nullptr, 0, (uint32_t*)&toTransform->memoryTypeBits, 1);
-}
-
-void transform_tohost_VkSparseImageFormatProperties(
- ResourceTracker* resourceTracker,
- VkSparseImageFormatProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_tohost_VkExtent3D(resourceTracker, (VkExtent3D*)(&toTransform->imageGranularity));
-}
-
-void transform_fromhost_VkSparseImageFormatProperties(
- ResourceTracker* resourceTracker,
- VkSparseImageFormatProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_fromhost_VkExtent3D(resourceTracker, (VkExtent3D*)(&toTransform->imageGranularity));
-}
-
-void transform_tohost_VkSparseImageMemoryRequirements(
- ResourceTracker* resourceTracker,
- VkSparseImageMemoryRequirements* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_tohost_VkSparseImageFormatProperties(resourceTracker, (VkSparseImageFormatProperties*)(&toTransform->formatProperties));
-}
-
-void transform_fromhost_VkSparseImageMemoryRequirements(
- ResourceTracker* resourceTracker,
- VkSparseImageMemoryRequirements* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_fromhost_VkSparseImageFormatProperties(resourceTracker, (VkSparseImageFormatProperties*)(&toTransform->formatProperties));
-}
-
-void transform_tohost_VkSparseMemoryBind(
- ResourceTracker* resourceTracker,
- VkSparseMemoryBind* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- resourceTracker->deviceMemoryTransform_tohost((VkDeviceMemory*)&toTransform->memory, 1, (VkDeviceSize*)&toTransform->memoryOffset, 1, (VkDeviceSize*)nullptr, 0, (uint32_t*)nullptr, 0, (uint32_t*)nullptr, 0);
-}
-
-void transform_fromhost_VkSparseMemoryBind(
- ResourceTracker* resourceTracker,
- VkSparseMemoryBind* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- resourceTracker->deviceMemoryTransform_fromhost((VkDeviceMemory*)&toTransform->memory, 1, (VkDeviceSize*)&toTransform->memoryOffset, 1, (VkDeviceSize*)nullptr, 0, (uint32_t*)nullptr, 0, (uint32_t*)nullptr, 0);
-}
-
-void transform_tohost_VkSparseBufferMemoryBindInfo(
- ResourceTracker* resourceTracker,
- VkSparseBufferMemoryBindInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pBinds)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->bindCount; ++i)
- {
- transform_tohost_VkSparseMemoryBind(resourceTracker, (VkSparseMemoryBind*)(toTransform->pBinds + i));
- }
- }
-}
-
-void transform_fromhost_VkSparseBufferMemoryBindInfo(
- ResourceTracker* resourceTracker,
- VkSparseBufferMemoryBindInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pBinds)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->bindCount; ++i)
- {
- transform_fromhost_VkSparseMemoryBind(resourceTracker, (VkSparseMemoryBind*)(toTransform->pBinds + i));
- }
- }
-}
-
-void transform_tohost_VkSparseImageOpaqueMemoryBindInfo(
- ResourceTracker* resourceTracker,
- VkSparseImageOpaqueMemoryBindInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pBinds)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->bindCount; ++i)
- {
- transform_tohost_VkSparseMemoryBind(resourceTracker, (VkSparseMemoryBind*)(toTransform->pBinds + i));
- }
- }
-}
-
-void transform_fromhost_VkSparseImageOpaqueMemoryBindInfo(
- ResourceTracker* resourceTracker,
- VkSparseImageOpaqueMemoryBindInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pBinds)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->bindCount; ++i)
- {
- transform_fromhost_VkSparseMemoryBind(resourceTracker, (VkSparseMemoryBind*)(toTransform->pBinds + i));
- }
- }
-}
-
-void transform_tohost_VkImageSubresource(
- ResourceTracker* resourceTracker,
- VkImageSubresource* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkImageSubresource(
- ResourceTracker* resourceTracker,
- VkImageSubresource* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkOffset3D(
- ResourceTracker* resourceTracker,
- VkOffset3D* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkOffset3D(
- ResourceTracker* resourceTracker,
- VkOffset3D* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkSparseImageMemoryBind(
- ResourceTracker* resourceTracker,
- VkSparseImageMemoryBind* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- resourceTracker->deviceMemoryTransform_tohost((VkDeviceMemory*)&toTransform->memory, 1, (VkDeviceSize*)&toTransform->memoryOffset, 1, (VkDeviceSize*)nullptr, 0, (uint32_t*)nullptr, 0, (uint32_t*)nullptr, 0);
- transform_tohost_VkImageSubresource(resourceTracker, (VkImageSubresource*)(&toTransform->subresource));
- transform_tohost_VkOffset3D(resourceTracker, (VkOffset3D*)(&toTransform->offset));
- transform_tohost_VkExtent3D(resourceTracker, (VkExtent3D*)(&toTransform->extent));
-}
-
-void transform_fromhost_VkSparseImageMemoryBind(
- ResourceTracker* resourceTracker,
- VkSparseImageMemoryBind* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- resourceTracker->deviceMemoryTransform_fromhost((VkDeviceMemory*)&toTransform->memory, 1, (VkDeviceSize*)&toTransform->memoryOffset, 1, (VkDeviceSize*)nullptr, 0, (uint32_t*)nullptr, 0, (uint32_t*)nullptr, 0);
- transform_fromhost_VkImageSubresource(resourceTracker, (VkImageSubresource*)(&toTransform->subresource));
- transform_fromhost_VkOffset3D(resourceTracker, (VkOffset3D*)(&toTransform->offset));
- transform_fromhost_VkExtent3D(resourceTracker, (VkExtent3D*)(&toTransform->extent));
-}
-
-void transform_tohost_VkSparseImageMemoryBindInfo(
- ResourceTracker* resourceTracker,
- VkSparseImageMemoryBindInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pBinds)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->bindCount; ++i)
- {
- transform_tohost_VkSparseImageMemoryBind(resourceTracker, (VkSparseImageMemoryBind*)(toTransform->pBinds + i));
- }
- }
-}
-
-void transform_fromhost_VkSparseImageMemoryBindInfo(
- ResourceTracker* resourceTracker,
- VkSparseImageMemoryBindInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pBinds)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->bindCount; ++i)
- {
- transform_fromhost_VkSparseImageMemoryBind(resourceTracker, (VkSparseImageMemoryBind*)(toTransform->pBinds + i));
- }
- }
-}
-
-void transform_tohost_VkBindSparseInfo(
- ResourceTracker* resourceTracker,
- VkBindSparseInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pBufferBinds)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->bufferBindCount; ++i)
- {
- transform_tohost_VkSparseBufferMemoryBindInfo(resourceTracker, (VkSparseBufferMemoryBindInfo*)(toTransform->pBufferBinds + i));
- }
- }
- if (toTransform->pImageOpaqueBinds)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->imageOpaqueBindCount; ++i)
- {
- transform_tohost_VkSparseImageOpaqueMemoryBindInfo(resourceTracker, (VkSparseImageOpaqueMemoryBindInfo*)(toTransform->pImageOpaqueBinds + i));
- }
- }
- if (toTransform->pImageBinds)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->imageBindCount; ++i)
- {
- transform_tohost_VkSparseImageMemoryBindInfo(resourceTracker, (VkSparseImageMemoryBindInfo*)(toTransform->pImageBinds + i));
- }
- }
-}
-
-void transform_fromhost_VkBindSparseInfo(
- ResourceTracker* resourceTracker,
- VkBindSparseInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pBufferBinds)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->bufferBindCount; ++i)
- {
- transform_fromhost_VkSparseBufferMemoryBindInfo(resourceTracker, (VkSparseBufferMemoryBindInfo*)(toTransform->pBufferBinds + i));
- }
- }
- if (toTransform->pImageOpaqueBinds)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->imageOpaqueBindCount; ++i)
- {
- transform_fromhost_VkSparseImageOpaqueMemoryBindInfo(resourceTracker, (VkSparseImageOpaqueMemoryBindInfo*)(toTransform->pImageOpaqueBinds + i));
- }
- }
- if (toTransform->pImageBinds)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->imageBindCount; ++i)
- {
- transform_fromhost_VkSparseImageMemoryBindInfo(resourceTracker, (VkSparseImageMemoryBindInfo*)(toTransform->pImageBinds + i));
- }
- }
-}
-
-void transform_tohost_VkFenceCreateInfo(
- ResourceTracker* resourceTracker,
- VkFenceCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkFenceCreateInfo(
- ResourceTracker* resourceTracker,
- VkFenceCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkSemaphoreCreateInfo(
- ResourceTracker* resourceTracker,
- VkSemaphoreCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkSemaphoreCreateInfo(
- ResourceTracker* resourceTracker,
- VkSemaphoreCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkEventCreateInfo(
- ResourceTracker* resourceTracker,
- VkEventCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkEventCreateInfo(
- ResourceTracker* resourceTracker,
- VkEventCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkQueryPoolCreateInfo(
- ResourceTracker* resourceTracker,
- VkQueryPoolCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkQueryPoolCreateInfo(
- ResourceTracker* resourceTracker,
- VkQueryPoolCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkBufferCreateInfo(
- ResourceTracker* resourceTracker,
- VkBufferCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkBufferCreateInfo(
- ResourceTracker* resourceTracker,
- VkBufferCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkBufferViewCreateInfo(
- ResourceTracker* resourceTracker,
- VkBufferViewCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkBufferViewCreateInfo(
- ResourceTracker* resourceTracker,
- VkBufferViewCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkImageCreateInfo(
- ResourceTracker* resourceTracker,
- VkImageCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_tohost_VkExtent3D(resourceTracker, (VkExtent3D*)(&toTransform->extent));
-}
-
-void transform_fromhost_VkImageCreateInfo(
- ResourceTracker* resourceTracker,
- VkImageCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_fromhost_VkExtent3D(resourceTracker, (VkExtent3D*)(&toTransform->extent));
-}
-
-void transform_tohost_VkSubresourceLayout(
- ResourceTracker* resourceTracker,
- VkSubresourceLayout* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkSubresourceLayout(
- ResourceTracker* resourceTracker,
- VkSubresourceLayout* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkComponentMapping(
- ResourceTracker* resourceTracker,
- VkComponentMapping* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkComponentMapping(
- ResourceTracker* resourceTracker,
- VkComponentMapping* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkImageSubresourceRange(
- ResourceTracker* resourceTracker,
- VkImageSubresourceRange* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkImageSubresourceRange(
- ResourceTracker* resourceTracker,
- VkImageSubresourceRange* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkImageViewCreateInfo(
- ResourceTracker* resourceTracker,
- VkImageViewCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_tohost_VkComponentMapping(resourceTracker, (VkComponentMapping*)(&toTransform->components));
- transform_tohost_VkImageSubresourceRange(resourceTracker, (VkImageSubresourceRange*)(&toTransform->subresourceRange));
-}
-
-void transform_fromhost_VkImageViewCreateInfo(
- ResourceTracker* resourceTracker,
- VkImageViewCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_fromhost_VkComponentMapping(resourceTracker, (VkComponentMapping*)(&toTransform->components));
- transform_fromhost_VkImageSubresourceRange(resourceTracker, (VkImageSubresourceRange*)(&toTransform->subresourceRange));
-}
-
-void transform_tohost_VkShaderModuleCreateInfo(
- ResourceTracker* resourceTracker,
- VkShaderModuleCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkShaderModuleCreateInfo(
- ResourceTracker* resourceTracker,
- VkShaderModuleCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkPipelineCacheCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineCacheCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPipelineCacheCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineCacheCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkSpecializationMapEntry(
- ResourceTracker* resourceTracker,
- VkSpecializationMapEntry* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkSpecializationMapEntry(
- ResourceTracker* resourceTracker,
- VkSpecializationMapEntry* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkSpecializationInfo(
- ResourceTracker* resourceTracker,
- VkSpecializationInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pMapEntries)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->mapEntryCount; ++i)
- {
- transform_tohost_VkSpecializationMapEntry(resourceTracker, (VkSpecializationMapEntry*)(toTransform->pMapEntries + i));
- }
- }
-}
-
-void transform_fromhost_VkSpecializationInfo(
- ResourceTracker* resourceTracker,
- VkSpecializationInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pMapEntries)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->mapEntryCount; ++i)
- {
- transform_fromhost_VkSpecializationMapEntry(resourceTracker, (VkSpecializationMapEntry*)(toTransform->pMapEntries + i));
- }
- }
-}
-
-void transform_tohost_VkPipelineShaderStageCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineShaderStageCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pSpecializationInfo)
- {
- transform_tohost_VkSpecializationInfo(resourceTracker, (VkSpecializationInfo*)(toTransform->pSpecializationInfo));
- }
-}
-
-void transform_fromhost_VkPipelineShaderStageCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineShaderStageCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pSpecializationInfo)
- {
- transform_fromhost_VkSpecializationInfo(resourceTracker, (VkSpecializationInfo*)(toTransform->pSpecializationInfo));
- }
-}
-
-void transform_tohost_VkVertexInputBindingDescription(
- ResourceTracker* resourceTracker,
- VkVertexInputBindingDescription* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkVertexInputBindingDescription(
- ResourceTracker* resourceTracker,
- VkVertexInputBindingDescription* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkVertexInputAttributeDescription(
- ResourceTracker* resourceTracker,
- VkVertexInputAttributeDescription* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkVertexInputAttributeDescription(
- ResourceTracker* resourceTracker,
- VkVertexInputAttributeDescription* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkPipelineVertexInputStateCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineVertexInputStateCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pVertexBindingDescriptions)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->vertexBindingDescriptionCount; ++i)
- {
- transform_tohost_VkVertexInputBindingDescription(resourceTracker, (VkVertexInputBindingDescription*)(toTransform->pVertexBindingDescriptions + i));
- }
- }
- if (toTransform->pVertexAttributeDescriptions)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->vertexAttributeDescriptionCount; ++i)
- {
- transform_tohost_VkVertexInputAttributeDescription(resourceTracker, (VkVertexInputAttributeDescription*)(toTransform->pVertexAttributeDescriptions + i));
- }
- }
-}
-
-void transform_fromhost_VkPipelineVertexInputStateCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineVertexInputStateCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pVertexBindingDescriptions)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->vertexBindingDescriptionCount; ++i)
- {
- transform_fromhost_VkVertexInputBindingDescription(resourceTracker, (VkVertexInputBindingDescription*)(toTransform->pVertexBindingDescriptions + i));
- }
- }
- if (toTransform->pVertexAttributeDescriptions)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->vertexAttributeDescriptionCount; ++i)
- {
- transform_fromhost_VkVertexInputAttributeDescription(resourceTracker, (VkVertexInputAttributeDescription*)(toTransform->pVertexAttributeDescriptions + i));
- }
- }
-}
-
-void transform_tohost_VkPipelineInputAssemblyStateCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineInputAssemblyStateCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPipelineInputAssemblyStateCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineInputAssemblyStateCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkPipelineTessellationStateCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineTessellationStateCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPipelineTessellationStateCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineTessellationStateCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkViewport(
- ResourceTracker* resourceTracker,
- VkViewport* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkViewport(
- ResourceTracker* resourceTracker,
- VkViewport* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkOffset2D(
- ResourceTracker* resourceTracker,
- VkOffset2D* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkOffset2D(
- ResourceTracker* resourceTracker,
- VkOffset2D* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkExtent2D(
- ResourceTracker* resourceTracker,
- VkExtent2D* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkExtent2D(
- ResourceTracker* resourceTracker,
- VkExtent2D* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkRect2D(
- ResourceTracker* resourceTracker,
- VkRect2D* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_tohost_VkOffset2D(resourceTracker, (VkOffset2D*)(&toTransform->offset));
- transform_tohost_VkExtent2D(resourceTracker, (VkExtent2D*)(&toTransform->extent));
-}
-
-void transform_fromhost_VkRect2D(
- ResourceTracker* resourceTracker,
- VkRect2D* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_fromhost_VkOffset2D(resourceTracker, (VkOffset2D*)(&toTransform->offset));
- transform_fromhost_VkExtent2D(resourceTracker, (VkExtent2D*)(&toTransform->extent));
-}
-
-void transform_tohost_VkPipelineViewportStateCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineViewportStateCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pViewports)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->viewportCount; ++i)
- {
- transform_tohost_VkViewport(resourceTracker, (VkViewport*)(toTransform->pViewports + i));
- }
- }
- if (toTransform->pScissors)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->scissorCount; ++i)
- {
- transform_tohost_VkRect2D(resourceTracker, (VkRect2D*)(toTransform->pScissors + i));
- }
- }
-}
-
-void transform_fromhost_VkPipelineViewportStateCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineViewportStateCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pViewports)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->viewportCount; ++i)
- {
- transform_fromhost_VkViewport(resourceTracker, (VkViewport*)(toTransform->pViewports + i));
- }
- }
- if (toTransform->pScissors)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->scissorCount; ++i)
- {
- transform_fromhost_VkRect2D(resourceTracker, (VkRect2D*)(toTransform->pScissors + i));
- }
- }
-}
-
-void transform_tohost_VkPipelineRasterizationStateCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineRasterizationStateCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPipelineRasterizationStateCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineRasterizationStateCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkPipelineMultisampleStateCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineMultisampleStateCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPipelineMultisampleStateCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineMultisampleStateCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkStencilOpState(
- ResourceTracker* resourceTracker,
- VkStencilOpState* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkStencilOpState(
- ResourceTracker* resourceTracker,
- VkStencilOpState* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkPipelineDepthStencilStateCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineDepthStencilStateCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_tohost_VkStencilOpState(resourceTracker, (VkStencilOpState*)(&toTransform->front));
- transform_tohost_VkStencilOpState(resourceTracker, (VkStencilOpState*)(&toTransform->back));
-}
-
-void transform_fromhost_VkPipelineDepthStencilStateCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineDepthStencilStateCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_fromhost_VkStencilOpState(resourceTracker, (VkStencilOpState*)(&toTransform->front));
- transform_fromhost_VkStencilOpState(resourceTracker, (VkStencilOpState*)(&toTransform->back));
-}
-
-void transform_tohost_VkPipelineColorBlendAttachmentState(
- ResourceTracker* resourceTracker,
- VkPipelineColorBlendAttachmentState* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkPipelineColorBlendAttachmentState(
- ResourceTracker* resourceTracker,
- VkPipelineColorBlendAttachmentState* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkPipelineColorBlendStateCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineColorBlendStateCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pAttachments)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->attachmentCount; ++i)
- {
- transform_tohost_VkPipelineColorBlendAttachmentState(resourceTracker, (VkPipelineColorBlendAttachmentState*)(toTransform->pAttachments + i));
- }
- }
-}
-
-void transform_fromhost_VkPipelineColorBlendStateCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineColorBlendStateCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pAttachments)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->attachmentCount; ++i)
- {
- transform_fromhost_VkPipelineColorBlendAttachmentState(resourceTracker, (VkPipelineColorBlendAttachmentState*)(toTransform->pAttachments + i));
- }
- }
-}
-
-void transform_tohost_VkPipelineDynamicStateCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineDynamicStateCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPipelineDynamicStateCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineDynamicStateCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkGraphicsPipelineCreateInfo(
- ResourceTracker* resourceTracker,
- VkGraphicsPipelineCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pStages)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->stageCount; ++i)
- {
- transform_tohost_VkPipelineShaderStageCreateInfo(resourceTracker, (VkPipelineShaderStageCreateInfo*)(toTransform->pStages + i));
- }
- }
- if (toTransform->pVertexInputState)
- {
- transform_tohost_VkPipelineVertexInputStateCreateInfo(resourceTracker, (VkPipelineVertexInputStateCreateInfo*)(toTransform->pVertexInputState));
- }
- if (toTransform->pInputAssemblyState)
- {
- transform_tohost_VkPipelineInputAssemblyStateCreateInfo(resourceTracker, (VkPipelineInputAssemblyStateCreateInfo*)(toTransform->pInputAssemblyState));
- }
- if (toTransform->pTessellationState)
- {
- transform_tohost_VkPipelineTessellationStateCreateInfo(resourceTracker, (VkPipelineTessellationStateCreateInfo*)(toTransform->pTessellationState));
- }
- if (toTransform->pViewportState)
- {
- transform_tohost_VkPipelineViewportStateCreateInfo(resourceTracker, (VkPipelineViewportStateCreateInfo*)(toTransform->pViewportState));
- }
- if (toTransform->pRasterizationState)
- {
- transform_tohost_VkPipelineRasterizationStateCreateInfo(resourceTracker, (VkPipelineRasterizationStateCreateInfo*)(toTransform->pRasterizationState));
- }
- if (toTransform->pMultisampleState)
- {
- transform_tohost_VkPipelineMultisampleStateCreateInfo(resourceTracker, (VkPipelineMultisampleStateCreateInfo*)(toTransform->pMultisampleState));
- }
- if (toTransform->pDepthStencilState)
- {
- transform_tohost_VkPipelineDepthStencilStateCreateInfo(resourceTracker, (VkPipelineDepthStencilStateCreateInfo*)(toTransform->pDepthStencilState));
- }
- if (toTransform->pColorBlendState)
- {
- transform_tohost_VkPipelineColorBlendStateCreateInfo(resourceTracker, (VkPipelineColorBlendStateCreateInfo*)(toTransform->pColorBlendState));
- }
- if (toTransform->pDynamicState)
- {
- transform_tohost_VkPipelineDynamicStateCreateInfo(resourceTracker, (VkPipelineDynamicStateCreateInfo*)(toTransform->pDynamicState));
- }
-}
-
-void transform_fromhost_VkGraphicsPipelineCreateInfo(
- ResourceTracker* resourceTracker,
- VkGraphicsPipelineCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pStages)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->stageCount; ++i)
- {
- transform_fromhost_VkPipelineShaderStageCreateInfo(resourceTracker, (VkPipelineShaderStageCreateInfo*)(toTransform->pStages + i));
- }
- }
- if (toTransform->pVertexInputState)
- {
- transform_fromhost_VkPipelineVertexInputStateCreateInfo(resourceTracker, (VkPipelineVertexInputStateCreateInfo*)(toTransform->pVertexInputState));
- }
- if (toTransform->pInputAssemblyState)
- {
- transform_fromhost_VkPipelineInputAssemblyStateCreateInfo(resourceTracker, (VkPipelineInputAssemblyStateCreateInfo*)(toTransform->pInputAssemblyState));
- }
- if (toTransform->pTessellationState)
- {
- transform_fromhost_VkPipelineTessellationStateCreateInfo(resourceTracker, (VkPipelineTessellationStateCreateInfo*)(toTransform->pTessellationState));
- }
- if (toTransform->pViewportState)
- {
- transform_fromhost_VkPipelineViewportStateCreateInfo(resourceTracker, (VkPipelineViewportStateCreateInfo*)(toTransform->pViewportState));
- }
- if (toTransform->pRasterizationState)
- {
- transform_fromhost_VkPipelineRasterizationStateCreateInfo(resourceTracker, (VkPipelineRasterizationStateCreateInfo*)(toTransform->pRasterizationState));
- }
- if (toTransform->pMultisampleState)
- {
- transform_fromhost_VkPipelineMultisampleStateCreateInfo(resourceTracker, (VkPipelineMultisampleStateCreateInfo*)(toTransform->pMultisampleState));
- }
- if (toTransform->pDepthStencilState)
- {
- transform_fromhost_VkPipelineDepthStencilStateCreateInfo(resourceTracker, (VkPipelineDepthStencilStateCreateInfo*)(toTransform->pDepthStencilState));
- }
- if (toTransform->pColorBlendState)
- {
- transform_fromhost_VkPipelineColorBlendStateCreateInfo(resourceTracker, (VkPipelineColorBlendStateCreateInfo*)(toTransform->pColorBlendState));
- }
- if (toTransform->pDynamicState)
- {
- transform_fromhost_VkPipelineDynamicStateCreateInfo(resourceTracker, (VkPipelineDynamicStateCreateInfo*)(toTransform->pDynamicState));
- }
-}
-
-void transform_tohost_VkComputePipelineCreateInfo(
- ResourceTracker* resourceTracker,
- VkComputePipelineCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_tohost_VkPipelineShaderStageCreateInfo(resourceTracker, (VkPipelineShaderStageCreateInfo*)(&toTransform->stage));
-}
-
-void transform_fromhost_VkComputePipelineCreateInfo(
- ResourceTracker* resourceTracker,
- VkComputePipelineCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_fromhost_VkPipelineShaderStageCreateInfo(resourceTracker, (VkPipelineShaderStageCreateInfo*)(&toTransform->stage));
-}
-
-void transform_tohost_VkPushConstantRange(
- ResourceTracker* resourceTracker,
- VkPushConstantRange* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkPushConstantRange(
- ResourceTracker* resourceTracker,
- VkPushConstantRange* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkPipelineLayoutCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineLayoutCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pPushConstantRanges)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->pushConstantRangeCount; ++i)
- {
- transform_tohost_VkPushConstantRange(resourceTracker, (VkPushConstantRange*)(toTransform->pPushConstantRanges + i));
- }
- }
-}
-
-void transform_fromhost_VkPipelineLayoutCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineLayoutCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pPushConstantRanges)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->pushConstantRangeCount; ++i)
- {
- transform_fromhost_VkPushConstantRange(resourceTracker, (VkPushConstantRange*)(toTransform->pPushConstantRanges + i));
- }
- }
-}
-
-void transform_tohost_VkSamplerCreateInfo(
- ResourceTracker* resourceTracker,
- VkSamplerCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkSamplerCreateInfo(
- ResourceTracker* resourceTracker,
- VkSamplerCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkDescriptorSetLayoutBinding(
- ResourceTracker* resourceTracker,
- VkDescriptorSetLayoutBinding* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkDescriptorSetLayoutBinding(
- ResourceTracker* resourceTracker,
- VkDescriptorSetLayoutBinding* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkDescriptorSetLayoutCreateInfo(
- ResourceTracker* resourceTracker,
- VkDescriptorSetLayoutCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pBindings)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->bindingCount; ++i)
- {
- transform_tohost_VkDescriptorSetLayoutBinding(resourceTracker, (VkDescriptorSetLayoutBinding*)(toTransform->pBindings + i));
- }
- }
-}
-
-void transform_fromhost_VkDescriptorSetLayoutCreateInfo(
- ResourceTracker* resourceTracker,
- VkDescriptorSetLayoutCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pBindings)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->bindingCount; ++i)
- {
- transform_fromhost_VkDescriptorSetLayoutBinding(resourceTracker, (VkDescriptorSetLayoutBinding*)(toTransform->pBindings + i));
- }
- }
-}
-
-void transform_tohost_VkDescriptorPoolSize(
- ResourceTracker* resourceTracker,
- VkDescriptorPoolSize* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkDescriptorPoolSize(
- ResourceTracker* resourceTracker,
- VkDescriptorPoolSize* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkDescriptorPoolCreateInfo(
- ResourceTracker* resourceTracker,
- VkDescriptorPoolCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pPoolSizes)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->poolSizeCount; ++i)
- {
- transform_tohost_VkDescriptorPoolSize(resourceTracker, (VkDescriptorPoolSize*)(toTransform->pPoolSizes + i));
- }
- }
-}
-
-void transform_fromhost_VkDescriptorPoolCreateInfo(
- ResourceTracker* resourceTracker,
- VkDescriptorPoolCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pPoolSizes)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->poolSizeCount; ++i)
- {
- transform_fromhost_VkDescriptorPoolSize(resourceTracker, (VkDescriptorPoolSize*)(toTransform->pPoolSizes + i));
- }
- }
-}
-
-void transform_tohost_VkDescriptorSetAllocateInfo(
- ResourceTracker* resourceTracker,
- VkDescriptorSetAllocateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkDescriptorSetAllocateInfo(
- ResourceTracker* resourceTracker,
- VkDescriptorSetAllocateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkDescriptorImageInfo(
- ResourceTracker* resourceTracker,
- VkDescriptorImageInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkDescriptorImageInfo(
- ResourceTracker* resourceTracker,
- VkDescriptorImageInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkDescriptorBufferInfo(
- ResourceTracker* resourceTracker,
- VkDescriptorBufferInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkDescriptorBufferInfo(
- ResourceTracker* resourceTracker,
- VkDescriptorBufferInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkWriteDescriptorSet(
- ResourceTracker* resourceTracker,
- VkWriteDescriptorSet* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pImageInfo)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->descriptorCount; ++i)
- {
- transform_tohost_VkDescriptorImageInfo(resourceTracker, (VkDescriptorImageInfo*)(toTransform->pImageInfo + i));
- }
- }
- if (toTransform->pBufferInfo)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->descriptorCount; ++i)
- {
- transform_tohost_VkDescriptorBufferInfo(resourceTracker, (VkDescriptorBufferInfo*)(toTransform->pBufferInfo + i));
- }
- }
-}
-
-void transform_fromhost_VkWriteDescriptorSet(
- ResourceTracker* resourceTracker,
- VkWriteDescriptorSet* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pImageInfo)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->descriptorCount; ++i)
- {
- transform_fromhost_VkDescriptorImageInfo(resourceTracker, (VkDescriptorImageInfo*)(toTransform->pImageInfo + i));
- }
- }
- if (toTransform->pBufferInfo)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->descriptorCount; ++i)
- {
- transform_fromhost_VkDescriptorBufferInfo(resourceTracker, (VkDescriptorBufferInfo*)(toTransform->pBufferInfo + i));
- }
- }
-}
-
-void transform_tohost_VkCopyDescriptorSet(
- ResourceTracker* resourceTracker,
- VkCopyDescriptorSet* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkCopyDescriptorSet(
- ResourceTracker* resourceTracker,
- VkCopyDescriptorSet* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkFramebufferCreateInfo(
- ResourceTracker* resourceTracker,
- VkFramebufferCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkFramebufferCreateInfo(
- ResourceTracker* resourceTracker,
- VkFramebufferCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkAttachmentDescription(
- ResourceTracker* resourceTracker,
- VkAttachmentDescription* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkAttachmentDescription(
- ResourceTracker* resourceTracker,
- VkAttachmentDescription* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkAttachmentReference(
- ResourceTracker* resourceTracker,
- VkAttachmentReference* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkAttachmentReference(
- ResourceTracker* resourceTracker,
- VkAttachmentReference* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkSubpassDescription(
- ResourceTracker* resourceTracker,
- VkSubpassDescription* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pInputAttachments)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->inputAttachmentCount; ++i)
- {
- transform_tohost_VkAttachmentReference(resourceTracker, (VkAttachmentReference*)(toTransform->pInputAttachments + i));
- }
- }
- if (toTransform->pColorAttachments)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->colorAttachmentCount; ++i)
- {
- transform_tohost_VkAttachmentReference(resourceTracker, (VkAttachmentReference*)(toTransform->pColorAttachments + i));
- }
- }
- if (toTransform->pResolveAttachments)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->colorAttachmentCount; ++i)
- {
- transform_tohost_VkAttachmentReference(resourceTracker, (VkAttachmentReference*)(toTransform->pResolveAttachments + i));
- }
- }
- if (toTransform->pDepthStencilAttachment)
- {
- transform_tohost_VkAttachmentReference(resourceTracker, (VkAttachmentReference*)(toTransform->pDepthStencilAttachment));
- }
-}
-
-void transform_fromhost_VkSubpassDescription(
- ResourceTracker* resourceTracker,
- VkSubpassDescription* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pInputAttachments)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->inputAttachmentCount; ++i)
- {
- transform_fromhost_VkAttachmentReference(resourceTracker, (VkAttachmentReference*)(toTransform->pInputAttachments + i));
- }
- }
- if (toTransform->pColorAttachments)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->colorAttachmentCount; ++i)
- {
- transform_fromhost_VkAttachmentReference(resourceTracker, (VkAttachmentReference*)(toTransform->pColorAttachments + i));
- }
- }
- if (toTransform->pResolveAttachments)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->colorAttachmentCount; ++i)
- {
- transform_fromhost_VkAttachmentReference(resourceTracker, (VkAttachmentReference*)(toTransform->pResolveAttachments + i));
- }
- }
- if (toTransform->pDepthStencilAttachment)
- {
- transform_fromhost_VkAttachmentReference(resourceTracker, (VkAttachmentReference*)(toTransform->pDepthStencilAttachment));
- }
-}
-
-void transform_tohost_VkSubpassDependency(
- ResourceTracker* resourceTracker,
- VkSubpassDependency* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkSubpassDependency(
- ResourceTracker* resourceTracker,
- VkSubpassDependency* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkRenderPassCreateInfo(
- ResourceTracker* resourceTracker,
- VkRenderPassCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pAttachments)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->attachmentCount; ++i)
- {
- transform_tohost_VkAttachmentDescription(resourceTracker, (VkAttachmentDescription*)(toTransform->pAttachments + i));
- }
- }
- if (toTransform->pSubpasses)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->subpassCount; ++i)
- {
- transform_tohost_VkSubpassDescription(resourceTracker, (VkSubpassDescription*)(toTransform->pSubpasses + i));
- }
- }
- if (toTransform->pDependencies)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->dependencyCount; ++i)
- {
- transform_tohost_VkSubpassDependency(resourceTracker, (VkSubpassDependency*)(toTransform->pDependencies + i));
- }
- }
-}
-
-void transform_fromhost_VkRenderPassCreateInfo(
- ResourceTracker* resourceTracker,
- VkRenderPassCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pAttachments)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->attachmentCount; ++i)
- {
- transform_fromhost_VkAttachmentDescription(resourceTracker, (VkAttachmentDescription*)(toTransform->pAttachments + i));
- }
- }
- if (toTransform->pSubpasses)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->subpassCount; ++i)
- {
- transform_fromhost_VkSubpassDescription(resourceTracker, (VkSubpassDescription*)(toTransform->pSubpasses + i));
- }
- }
- if (toTransform->pDependencies)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->dependencyCount; ++i)
- {
- transform_fromhost_VkSubpassDependency(resourceTracker, (VkSubpassDependency*)(toTransform->pDependencies + i));
- }
- }
-}
-
-void transform_tohost_VkCommandPoolCreateInfo(
- ResourceTracker* resourceTracker,
- VkCommandPoolCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkCommandPoolCreateInfo(
- ResourceTracker* resourceTracker,
- VkCommandPoolCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkCommandBufferAllocateInfo(
- ResourceTracker* resourceTracker,
- VkCommandBufferAllocateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkCommandBufferAllocateInfo(
- ResourceTracker* resourceTracker,
- VkCommandBufferAllocateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkCommandBufferInheritanceInfo(
- ResourceTracker* resourceTracker,
- VkCommandBufferInheritanceInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkCommandBufferInheritanceInfo(
- ResourceTracker* resourceTracker,
- VkCommandBufferInheritanceInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkCommandBufferBeginInfo(
- ResourceTracker* resourceTracker,
- VkCommandBufferBeginInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pInheritanceInfo)
- {
- transform_tohost_VkCommandBufferInheritanceInfo(resourceTracker, (VkCommandBufferInheritanceInfo*)(toTransform->pInheritanceInfo));
- }
-}
-
-void transform_fromhost_VkCommandBufferBeginInfo(
- ResourceTracker* resourceTracker,
- VkCommandBufferBeginInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pInheritanceInfo)
- {
- transform_fromhost_VkCommandBufferInheritanceInfo(resourceTracker, (VkCommandBufferInheritanceInfo*)(toTransform->pInheritanceInfo));
- }
-}
-
-void transform_tohost_VkBufferCopy(
- ResourceTracker* resourceTracker,
- VkBufferCopy* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkBufferCopy(
- ResourceTracker* resourceTracker,
- VkBufferCopy* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkImageSubresourceLayers(
- ResourceTracker* resourceTracker,
- VkImageSubresourceLayers* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkImageSubresourceLayers(
- ResourceTracker* resourceTracker,
- VkImageSubresourceLayers* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkImageCopy(
- ResourceTracker* resourceTracker,
- VkImageCopy* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_tohost_VkImageSubresourceLayers(resourceTracker, (VkImageSubresourceLayers*)(&toTransform->srcSubresource));
- transform_tohost_VkOffset3D(resourceTracker, (VkOffset3D*)(&toTransform->srcOffset));
- transform_tohost_VkImageSubresourceLayers(resourceTracker, (VkImageSubresourceLayers*)(&toTransform->dstSubresource));
- transform_tohost_VkOffset3D(resourceTracker, (VkOffset3D*)(&toTransform->dstOffset));
- transform_tohost_VkExtent3D(resourceTracker, (VkExtent3D*)(&toTransform->extent));
-}
-
-void transform_fromhost_VkImageCopy(
- ResourceTracker* resourceTracker,
- VkImageCopy* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_fromhost_VkImageSubresourceLayers(resourceTracker, (VkImageSubresourceLayers*)(&toTransform->srcSubresource));
- transform_fromhost_VkOffset3D(resourceTracker, (VkOffset3D*)(&toTransform->srcOffset));
- transform_fromhost_VkImageSubresourceLayers(resourceTracker, (VkImageSubresourceLayers*)(&toTransform->dstSubresource));
- transform_fromhost_VkOffset3D(resourceTracker, (VkOffset3D*)(&toTransform->dstOffset));
- transform_fromhost_VkExtent3D(resourceTracker, (VkExtent3D*)(&toTransform->extent));
-}
-
-void transform_tohost_VkImageBlit(
- ResourceTracker* resourceTracker,
- VkImageBlit* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_tohost_VkImageSubresourceLayers(resourceTracker, (VkImageSubresourceLayers*)(&toTransform->srcSubresource));
- for (uint32_t i = 0; i < (uint32_t)2; ++i)
- {
- transform_tohost_VkOffset3D(resourceTracker, (VkOffset3D*)(toTransform->srcOffsets + i));
- }
- transform_tohost_VkImageSubresourceLayers(resourceTracker, (VkImageSubresourceLayers*)(&toTransform->dstSubresource));
- for (uint32_t i = 0; i < (uint32_t)2; ++i)
- {
- transform_tohost_VkOffset3D(resourceTracker, (VkOffset3D*)(toTransform->dstOffsets + i));
- }
-}
-
-void transform_fromhost_VkImageBlit(
- ResourceTracker* resourceTracker,
- VkImageBlit* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_fromhost_VkImageSubresourceLayers(resourceTracker, (VkImageSubresourceLayers*)(&toTransform->srcSubresource));
- for (uint32_t i = 0; i < (uint32_t)2; ++i)
- {
- transform_fromhost_VkOffset3D(resourceTracker, (VkOffset3D*)(toTransform->srcOffsets + i));
- }
- transform_fromhost_VkImageSubresourceLayers(resourceTracker, (VkImageSubresourceLayers*)(&toTransform->dstSubresource));
- for (uint32_t i = 0; i < (uint32_t)2; ++i)
- {
- transform_fromhost_VkOffset3D(resourceTracker, (VkOffset3D*)(toTransform->dstOffsets + i));
- }
-}
-
-void transform_tohost_VkBufferImageCopy(
- ResourceTracker* resourceTracker,
- VkBufferImageCopy* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_tohost_VkImageSubresourceLayers(resourceTracker, (VkImageSubresourceLayers*)(&toTransform->imageSubresource));
- transform_tohost_VkOffset3D(resourceTracker, (VkOffset3D*)(&toTransform->imageOffset));
- transform_tohost_VkExtent3D(resourceTracker, (VkExtent3D*)(&toTransform->imageExtent));
-}
-
-void transform_fromhost_VkBufferImageCopy(
- ResourceTracker* resourceTracker,
- VkBufferImageCopy* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_fromhost_VkImageSubresourceLayers(resourceTracker, (VkImageSubresourceLayers*)(&toTransform->imageSubresource));
- transform_fromhost_VkOffset3D(resourceTracker, (VkOffset3D*)(&toTransform->imageOffset));
- transform_fromhost_VkExtent3D(resourceTracker, (VkExtent3D*)(&toTransform->imageExtent));
-}
-
-void transform_tohost_VkClearColorValue(
- ResourceTracker* resourceTracker,
- VkClearColorValue* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkClearColorValue(
- ResourceTracker* resourceTracker,
- VkClearColorValue* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkClearDepthStencilValue(
- ResourceTracker* resourceTracker,
- VkClearDepthStencilValue* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkClearDepthStencilValue(
- ResourceTracker* resourceTracker,
- VkClearDepthStencilValue* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkClearValue(
- ResourceTracker* resourceTracker,
- VkClearValue* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_tohost_VkClearColorValue(resourceTracker, (VkClearColorValue*)(&toTransform->color));
- transform_tohost_VkClearDepthStencilValue(resourceTracker, (VkClearDepthStencilValue*)(&toTransform->depthStencil));
-}
-
-void transform_fromhost_VkClearValue(
- ResourceTracker* resourceTracker,
- VkClearValue* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_fromhost_VkClearColorValue(resourceTracker, (VkClearColorValue*)(&toTransform->color));
- transform_fromhost_VkClearDepthStencilValue(resourceTracker, (VkClearDepthStencilValue*)(&toTransform->depthStencil));
-}
-
-void transform_tohost_VkClearAttachment(
- ResourceTracker* resourceTracker,
- VkClearAttachment* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_tohost_VkClearValue(resourceTracker, (VkClearValue*)(&toTransform->clearValue));
-}
-
-void transform_fromhost_VkClearAttachment(
- ResourceTracker* resourceTracker,
- VkClearAttachment* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_fromhost_VkClearValue(resourceTracker, (VkClearValue*)(&toTransform->clearValue));
-}
-
-void transform_tohost_VkClearRect(
- ResourceTracker* resourceTracker,
- VkClearRect* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_tohost_VkRect2D(resourceTracker, (VkRect2D*)(&toTransform->rect));
-}
-
-void transform_fromhost_VkClearRect(
- ResourceTracker* resourceTracker,
- VkClearRect* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_fromhost_VkRect2D(resourceTracker, (VkRect2D*)(&toTransform->rect));
-}
-
-void transform_tohost_VkImageResolve(
- ResourceTracker* resourceTracker,
- VkImageResolve* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_tohost_VkImageSubresourceLayers(resourceTracker, (VkImageSubresourceLayers*)(&toTransform->srcSubresource));
- transform_tohost_VkOffset3D(resourceTracker, (VkOffset3D*)(&toTransform->srcOffset));
- transform_tohost_VkImageSubresourceLayers(resourceTracker, (VkImageSubresourceLayers*)(&toTransform->dstSubresource));
- transform_tohost_VkOffset3D(resourceTracker, (VkOffset3D*)(&toTransform->dstOffset));
- transform_tohost_VkExtent3D(resourceTracker, (VkExtent3D*)(&toTransform->extent));
-}
-
-void transform_fromhost_VkImageResolve(
- ResourceTracker* resourceTracker,
- VkImageResolve* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_fromhost_VkImageSubresourceLayers(resourceTracker, (VkImageSubresourceLayers*)(&toTransform->srcSubresource));
- transform_fromhost_VkOffset3D(resourceTracker, (VkOffset3D*)(&toTransform->srcOffset));
- transform_fromhost_VkImageSubresourceLayers(resourceTracker, (VkImageSubresourceLayers*)(&toTransform->dstSubresource));
- transform_fromhost_VkOffset3D(resourceTracker, (VkOffset3D*)(&toTransform->dstOffset));
- transform_fromhost_VkExtent3D(resourceTracker, (VkExtent3D*)(&toTransform->extent));
-}
-
-void transform_tohost_VkMemoryBarrier(
- ResourceTracker* resourceTracker,
- VkMemoryBarrier* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkMemoryBarrier(
- ResourceTracker* resourceTracker,
- VkMemoryBarrier* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkBufferMemoryBarrier(
- ResourceTracker* resourceTracker,
- VkBufferMemoryBarrier* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkBufferMemoryBarrier(
- ResourceTracker* resourceTracker,
- VkBufferMemoryBarrier* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkImageMemoryBarrier(
- ResourceTracker* resourceTracker,
- VkImageMemoryBarrier* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_tohost_VkImageSubresourceRange(resourceTracker, (VkImageSubresourceRange*)(&toTransform->subresourceRange));
-}
-
-void transform_fromhost_VkImageMemoryBarrier(
- ResourceTracker* resourceTracker,
- VkImageMemoryBarrier* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_fromhost_VkImageSubresourceRange(resourceTracker, (VkImageSubresourceRange*)(&toTransform->subresourceRange));
-}
-
-void transform_tohost_VkRenderPassBeginInfo(
- ResourceTracker* resourceTracker,
- VkRenderPassBeginInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_tohost_VkRect2D(resourceTracker, (VkRect2D*)(&toTransform->renderArea));
- if (toTransform->pClearValues)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->clearValueCount; ++i)
- {
- transform_tohost_VkClearValue(resourceTracker, (VkClearValue*)(toTransform->pClearValues + i));
- }
- }
-}
-
-void transform_fromhost_VkRenderPassBeginInfo(
- ResourceTracker* resourceTracker,
- VkRenderPassBeginInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_fromhost_VkRect2D(resourceTracker, (VkRect2D*)(&toTransform->renderArea));
- if (toTransform->pClearValues)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->clearValueCount; ++i)
- {
- transform_fromhost_VkClearValue(resourceTracker, (VkClearValue*)(toTransform->pClearValues + i));
- }
- }
-}
-
-void transform_tohost_VkDispatchIndirectCommand(
- ResourceTracker* resourceTracker,
- VkDispatchIndirectCommand* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkDispatchIndirectCommand(
- ResourceTracker* resourceTracker,
- VkDispatchIndirectCommand* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkDrawIndexedIndirectCommand(
- ResourceTracker* resourceTracker,
- VkDrawIndexedIndirectCommand* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkDrawIndexedIndirectCommand(
- ResourceTracker* resourceTracker,
- VkDrawIndexedIndirectCommand* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkDrawIndirectCommand(
- ResourceTracker* resourceTracker,
- VkDrawIndirectCommand* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkDrawIndirectCommand(
- ResourceTracker* resourceTracker,
- VkDrawIndirectCommand* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkBaseOutStructure(
- ResourceTracker* resourceTracker,
- VkBaseOutStructure* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkBaseOutStructure(
- ResourceTracker* resourceTracker,
- VkBaseOutStructure* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkBaseInStructure(
- ResourceTracker* resourceTracker,
- VkBaseInStructure* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkBaseInStructure(
- ResourceTracker* resourceTracker,
- VkBaseInStructure* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_VERSION_1_1
-void transform_tohost_VkPhysicalDeviceSubgroupProperties(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceSubgroupProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPhysicalDeviceSubgroupProperties(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceSubgroupProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkBindBufferMemoryInfo(
- ResourceTracker* resourceTracker,
- VkBindBufferMemoryInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- resourceTracker->deviceMemoryTransform_tohost((VkDeviceMemory*)&toTransform->memory, 1, (VkDeviceSize*)&toTransform->memoryOffset, 1, (VkDeviceSize*)nullptr, 0, (uint32_t*)nullptr, 0, (uint32_t*)nullptr, 0);
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkBindBufferMemoryInfo(
- ResourceTracker* resourceTracker,
- VkBindBufferMemoryInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- resourceTracker->deviceMemoryTransform_fromhost((VkDeviceMemory*)&toTransform->memory, 1, (VkDeviceSize*)&toTransform->memoryOffset, 1, (VkDeviceSize*)nullptr, 0, (uint32_t*)nullptr, 0, (uint32_t*)nullptr, 0);
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkBindImageMemoryInfo(
- ResourceTracker* resourceTracker,
- VkBindImageMemoryInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- resourceTracker->deviceMemoryTransform_tohost((VkDeviceMemory*)&toTransform->memory, 1, (VkDeviceSize*)&toTransform->memoryOffset, 1, (VkDeviceSize*)nullptr, 0, (uint32_t*)nullptr, 0, (uint32_t*)nullptr, 0);
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkBindImageMemoryInfo(
- ResourceTracker* resourceTracker,
- VkBindImageMemoryInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- resourceTracker->deviceMemoryTransform_fromhost((VkDeviceMemory*)&toTransform->memory, 1, (VkDeviceSize*)&toTransform->memoryOffset, 1, (VkDeviceSize*)nullptr, 0, (uint32_t*)nullptr, 0, (uint32_t*)nullptr, 0);
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkPhysicalDevice16BitStorageFeatures(
- ResourceTracker* resourceTracker,
- VkPhysicalDevice16BitStorageFeatures* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPhysicalDevice16BitStorageFeatures(
- ResourceTracker* resourceTracker,
- VkPhysicalDevice16BitStorageFeatures* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkMemoryDedicatedRequirements(
- ResourceTracker* resourceTracker,
- VkMemoryDedicatedRequirements* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkMemoryDedicatedRequirements(
- ResourceTracker* resourceTracker,
- VkMemoryDedicatedRequirements* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkMemoryDedicatedAllocateInfo(
- ResourceTracker* resourceTracker,
- VkMemoryDedicatedAllocateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkMemoryDedicatedAllocateInfo(
- ResourceTracker* resourceTracker,
- VkMemoryDedicatedAllocateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkMemoryAllocateFlagsInfo(
- ResourceTracker* resourceTracker,
- VkMemoryAllocateFlagsInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkMemoryAllocateFlagsInfo(
- ResourceTracker* resourceTracker,
- VkMemoryAllocateFlagsInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkDeviceGroupRenderPassBeginInfo(
- ResourceTracker* resourceTracker,
- VkDeviceGroupRenderPassBeginInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pDeviceRenderAreas)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->deviceRenderAreaCount; ++i)
- {
- transform_tohost_VkRect2D(resourceTracker, (VkRect2D*)(toTransform->pDeviceRenderAreas + i));
- }
- }
-}
-
-void transform_fromhost_VkDeviceGroupRenderPassBeginInfo(
- ResourceTracker* resourceTracker,
- VkDeviceGroupRenderPassBeginInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pDeviceRenderAreas)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->deviceRenderAreaCount; ++i)
- {
- transform_fromhost_VkRect2D(resourceTracker, (VkRect2D*)(toTransform->pDeviceRenderAreas + i));
- }
- }
-}
-
-void transform_tohost_VkDeviceGroupCommandBufferBeginInfo(
- ResourceTracker* resourceTracker,
- VkDeviceGroupCommandBufferBeginInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkDeviceGroupCommandBufferBeginInfo(
- ResourceTracker* resourceTracker,
- VkDeviceGroupCommandBufferBeginInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkDeviceGroupSubmitInfo(
- ResourceTracker* resourceTracker,
- VkDeviceGroupSubmitInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkDeviceGroupSubmitInfo(
- ResourceTracker* resourceTracker,
- VkDeviceGroupSubmitInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkDeviceGroupBindSparseInfo(
- ResourceTracker* resourceTracker,
- VkDeviceGroupBindSparseInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkDeviceGroupBindSparseInfo(
- ResourceTracker* resourceTracker,
- VkDeviceGroupBindSparseInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkBindBufferMemoryDeviceGroupInfo(
- ResourceTracker* resourceTracker,
- VkBindBufferMemoryDeviceGroupInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkBindBufferMemoryDeviceGroupInfo(
- ResourceTracker* resourceTracker,
- VkBindBufferMemoryDeviceGroupInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkBindImageMemoryDeviceGroupInfo(
- ResourceTracker* resourceTracker,
- VkBindImageMemoryDeviceGroupInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pSplitInstanceBindRegions)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->splitInstanceBindRegionCount; ++i)
- {
- transform_tohost_VkRect2D(resourceTracker, (VkRect2D*)(toTransform->pSplitInstanceBindRegions + i));
- }
- }
-}
-
-void transform_fromhost_VkBindImageMemoryDeviceGroupInfo(
- ResourceTracker* resourceTracker,
- VkBindImageMemoryDeviceGroupInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pSplitInstanceBindRegions)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->splitInstanceBindRegionCount; ++i)
- {
- transform_fromhost_VkRect2D(resourceTracker, (VkRect2D*)(toTransform->pSplitInstanceBindRegions + i));
- }
- }
-}
-
-void transform_tohost_VkPhysicalDeviceGroupProperties(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceGroupProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPhysicalDeviceGroupProperties(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceGroupProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkDeviceGroupDeviceCreateInfo(
- ResourceTracker* resourceTracker,
- VkDeviceGroupDeviceCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkDeviceGroupDeviceCreateInfo(
- ResourceTracker* resourceTracker,
- VkDeviceGroupDeviceCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkBufferMemoryRequirementsInfo2(
- ResourceTracker* resourceTracker,
- VkBufferMemoryRequirementsInfo2* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkBufferMemoryRequirementsInfo2(
- ResourceTracker* resourceTracker,
- VkBufferMemoryRequirementsInfo2* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkImageMemoryRequirementsInfo2(
- ResourceTracker* resourceTracker,
- VkImageMemoryRequirementsInfo2* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkImageMemoryRequirementsInfo2(
- ResourceTracker* resourceTracker,
- VkImageMemoryRequirementsInfo2* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkImageSparseMemoryRequirementsInfo2(
- ResourceTracker* resourceTracker,
- VkImageSparseMemoryRequirementsInfo2* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkImageSparseMemoryRequirementsInfo2(
- ResourceTracker* resourceTracker,
- VkImageSparseMemoryRequirementsInfo2* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkMemoryRequirements2(
- ResourceTracker* resourceTracker,
- VkMemoryRequirements2* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_tohost_VkMemoryRequirements(resourceTracker, (VkMemoryRequirements*)(&toTransform->memoryRequirements));
-}
-
-void transform_fromhost_VkMemoryRequirements2(
- ResourceTracker* resourceTracker,
- VkMemoryRequirements2* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_fromhost_VkMemoryRequirements(resourceTracker, (VkMemoryRequirements*)(&toTransform->memoryRequirements));
-}
-
-void transform_tohost_VkSparseImageMemoryRequirements2(
- ResourceTracker* resourceTracker,
- VkSparseImageMemoryRequirements2* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_tohost_VkSparseImageMemoryRequirements(resourceTracker, (VkSparseImageMemoryRequirements*)(&toTransform->memoryRequirements));
-}
-
-void transform_fromhost_VkSparseImageMemoryRequirements2(
- ResourceTracker* resourceTracker,
- VkSparseImageMemoryRequirements2* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_fromhost_VkSparseImageMemoryRequirements(resourceTracker, (VkSparseImageMemoryRequirements*)(&toTransform->memoryRequirements));
-}
-
-void transform_tohost_VkPhysicalDeviceFeatures2(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceFeatures2* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_tohost_VkPhysicalDeviceFeatures(resourceTracker, (VkPhysicalDeviceFeatures*)(&toTransform->features));
-}
-
-void transform_fromhost_VkPhysicalDeviceFeatures2(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceFeatures2* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_fromhost_VkPhysicalDeviceFeatures(resourceTracker, (VkPhysicalDeviceFeatures*)(&toTransform->features));
-}
-
-void transform_tohost_VkPhysicalDeviceProperties2(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceProperties2* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_tohost_VkPhysicalDeviceProperties(resourceTracker, (VkPhysicalDeviceProperties*)(&toTransform->properties));
-}
-
-void transform_fromhost_VkPhysicalDeviceProperties2(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceProperties2* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_fromhost_VkPhysicalDeviceProperties(resourceTracker, (VkPhysicalDeviceProperties*)(&toTransform->properties));
-}
-
-void transform_tohost_VkFormatProperties2(
- ResourceTracker* resourceTracker,
- VkFormatProperties2* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_tohost_VkFormatProperties(resourceTracker, (VkFormatProperties*)(&toTransform->formatProperties));
-}
-
-void transform_fromhost_VkFormatProperties2(
- ResourceTracker* resourceTracker,
- VkFormatProperties2* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_fromhost_VkFormatProperties(resourceTracker, (VkFormatProperties*)(&toTransform->formatProperties));
-}
-
-void transform_tohost_VkImageFormatProperties2(
- ResourceTracker* resourceTracker,
- VkImageFormatProperties2* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_tohost_VkImageFormatProperties(resourceTracker, (VkImageFormatProperties*)(&toTransform->imageFormatProperties));
-}
-
-void transform_fromhost_VkImageFormatProperties2(
- ResourceTracker* resourceTracker,
- VkImageFormatProperties2* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_fromhost_VkImageFormatProperties(resourceTracker, (VkImageFormatProperties*)(&toTransform->imageFormatProperties));
-}
-
-void transform_tohost_VkPhysicalDeviceImageFormatInfo2(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceImageFormatInfo2* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPhysicalDeviceImageFormatInfo2(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceImageFormatInfo2* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkQueueFamilyProperties2(
- ResourceTracker* resourceTracker,
- VkQueueFamilyProperties2* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_tohost_VkQueueFamilyProperties(resourceTracker, (VkQueueFamilyProperties*)(&toTransform->queueFamilyProperties));
-}
-
-void transform_fromhost_VkQueueFamilyProperties2(
- ResourceTracker* resourceTracker,
- VkQueueFamilyProperties2* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_fromhost_VkQueueFamilyProperties(resourceTracker, (VkQueueFamilyProperties*)(&toTransform->queueFamilyProperties));
-}
-
-void transform_tohost_VkPhysicalDeviceMemoryProperties2(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceMemoryProperties2* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_tohost_VkPhysicalDeviceMemoryProperties(resourceTracker, (VkPhysicalDeviceMemoryProperties*)(&toTransform->memoryProperties));
-}
-
-void transform_fromhost_VkPhysicalDeviceMemoryProperties2(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceMemoryProperties2* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_fromhost_VkPhysicalDeviceMemoryProperties(resourceTracker, (VkPhysicalDeviceMemoryProperties*)(&toTransform->memoryProperties));
-}
-
-void transform_tohost_VkSparseImageFormatProperties2(
- ResourceTracker* resourceTracker,
- VkSparseImageFormatProperties2* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_tohost_VkSparseImageFormatProperties(resourceTracker, (VkSparseImageFormatProperties*)(&toTransform->properties));
-}
-
-void transform_fromhost_VkSparseImageFormatProperties2(
- ResourceTracker* resourceTracker,
- VkSparseImageFormatProperties2* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_fromhost_VkSparseImageFormatProperties(resourceTracker, (VkSparseImageFormatProperties*)(&toTransform->properties));
-}
-
-void transform_tohost_VkPhysicalDeviceSparseImageFormatInfo2(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceSparseImageFormatInfo2* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPhysicalDeviceSparseImageFormatInfo2(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceSparseImageFormatInfo2* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkPhysicalDevicePointClippingProperties(
- ResourceTracker* resourceTracker,
- VkPhysicalDevicePointClippingProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPhysicalDevicePointClippingProperties(
- ResourceTracker* resourceTracker,
- VkPhysicalDevicePointClippingProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkInputAttachmentAspectReference(
- ResourceTracker* resourceTracker,
- VkInputAttachmentAspectReference* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkInputAttachmentAspectReference(
- ResourceTracker* resourceTracker,
- VkInputAttachmentAspectReference* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkRenderPassInputAttachmentAspectCreateInfo(
- ResourceTracker* resourceTracker,
- VkRenderPassInputAttachmentAspectCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pAspectReferences)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->aspectReferenceCount; ++i)
- {
- transform_tohost_VkInputAttachmentAspectReference(resourceTracker, (VkInputAttachmentAspectReference*)(toTransform->pAspectReferences + i));
- }
- }
-}
-
-void transform_fromhost_VkRenderPassInputAttachmentAspectCreateInfo(
- ResourceTracker* resourceTracker,
- VkRenderPassInputAttachmentAspectCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pAspectReferences)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->aspectReferenceCount; ++i)
- {
- transform_fromhost_VkInputAttachmentAspectReference(resourceTracker, (VkInputAttachmentAspectReference*)(toTransform->pAspectReferences + i));
- }
- }
-}
-
-void transform_tohost_VkImageViewUsageCreateInfo(
- ResourceTracker* resourceTracker,
- VkImageViewUsageCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkImageViewUsageCreateInfo(
- ResourceTracker* resourceTracker,
- VkImageViewUsageCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkPipelineTessellationDomainOriginStateCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineTessellationDomainOriginStateCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPipelineTessellationDomainOriginStateCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineTessellationDomainOriginStateCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkRenderPassMultiviewCreateInfo(
- ResourceTracker* resourceTracker,
- VkRenderPassMultiviewCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkRenderPassMultiviewCreateInfo(
- ResourceTracker* resourceTracker,
- VkRenderPassMultiviewCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkPhysicalDeviceMultiviewFeatures(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceMultiviewFeatures* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPhysicalDeviceMultiviewFeatures(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceMultiviewFeatures* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkPhysicalDeviceMultiviewProperties(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceMultiviewProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPhysicalDeviceMultiviewProperties(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceMultiviewProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkPhysicalDeviceVariablePointerFeatures(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceVariablePointerFeatures* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPhysicalDeviceVariablePointerFeatures(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceVariablePointerFeatures* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkPhysicalDeviceProtectedMemoryFeatures(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceProtectedMemoryFeatures* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPhysicalDeviceProtectedMemoryFeatures(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceProtectedMemoryFeatures* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkPhysicalDeviceProtectedMemoryProperties(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceProtectedMemoryProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPhysicalDeviceProtectedMemoryProperties(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceProtectedMemoryProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkDeviceQueueInfo2(
- ResourceTracker* resourceTracker,
- VkDeviceQueueInfo2* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkDeviceQueueInfo2(
- ResourceTracker* resourceTracker,
- VkDeviceQueueInfo2* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkProtectedSubmitInfo(
- ResourceTracker* resourceTracker,
- VkProtectedSubmitInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkProtectedSubmitInfo(
- ResourceTracker* resourceTracker,
- VkProtectedSubmitInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkSamplerYcbcrConversionCreateInfo(
- ResourceTracker* resourceTracker,
- VkSamplerYcbcrConversionCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_tohost_VkComponentMapping(resourceTracker, (VkComponentMapping*)(&toTransform->components));
-}
-
-void transform_fromhost_VkSamplerYcbcrConversionCreateInfo(
- ResourceTracker* resourceTracker,
- VkSamplerYcbcrConversionCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_fromhost_VkComponentMapping(resourceTracker, (VkComponentMapping*)(&toTransform->components));
-}
-
-void transform_tohost_VkSamplerYcbcrConversionInfo(
- ResourceTracker* resourceTracker,
- VkSamplerYcbcrConversionInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkSamplerYcbcrConversionInfo(
- ResourceTracker* resourceTracker,
- VkSamplerYcbcrConversionInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkBindImagePlaneMemoryInfo(
- ResourceTracker* resourceTracker,
- VkBindImagePlaneMemoryInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkBindImagePlaneMemoryInfo(
- ResourceTracker* resourceTracker,
- VkBindImagePlaneMemoryInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkImagePlaneMemoryRequirementsInfo(
- ResourceTracker* resourceTracker,
- VkImagePlaneMemoryRequirementsInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkImagePlaneMemoryRequirementsInfo(
- ResourceTracker* resourceTracker,
- VkImagePlaneMemoryRequirementsInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceSamplerYcbcrConversionFeatures* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceSamplerYcbcrConversionFeatures* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkSamplerYcbcrConversionImageFormatProperties(
- ResourceTracker* resourceTracker,
- VkSamplerYcbcrConversionImageFormatProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkSamplerYcbcrConversionImageFormatProperties(
- ResourceTracker* resourceTracker,
- VkSamplerYcbcrConversionImageFormatProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkDescriptorUpdateTemplateEntry(
- ResourceTracker* resourceTracker,
- VkDescriptorUpdateTemplateEntry* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkDescriptorUpdateTemplateEntry(
- ResourceTracker* resourceTracker,
- VkDescriptorUpdateTemplateEntry* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkDescriptorUpdateTemplateCreateInfo(
- ResourceTracker* resourceTracker,
- VkDescriptorUpdateTemplateCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pDescriptorUpdateEntries)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->descriptorUpdateEntryCount; ++i)
- {
- transform_tohost_VkDescriptorUpdateTemplateEntry(resourceTracker, (VkDescriptorUpdateTemplateEntry*)(toTransform->pDescriptorUpdateEntries + i));
- }
- }
-}
-
-void transform_fromhost_VkDescriptorUpdateTemplateCreateInfo(
- ResourceTracker* resourceTracker,
- VkDescriptorUpdateTemplateCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pDescriptorUpdateEntries)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->descriptorUpdateEntryCount; ++i)
- {
- transform_fromhost_VkDescriptorUpdateTemplateEntry(resourceTracker, (VkDescriptorUpdateTemplateEntry*)(toTransform->pDescriptorUpdateEntries + i));
- }
- }
-}
-
-void transform_tohost_VkExternalMemoryProperties(
- ResourceTracker* resourceTracker,
- VkExternalMemoryProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkExternalMemoryProperties(
- ResourceTracker* resourceTracker,
- VkExternalMemoryProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkPhysicalDeviceExternalImageFormatInfo(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceExternalImageFormatInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPhysicalDeviceExternalImageFormatInfo(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceExternalImageFormatInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkExternalImageFormatProperties(
- ResourceTracker* resourceTracker,
- VkExternalImageFormatProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- resourceTracker->transformImpl_VkExternalMemoryProperties_tohost(&toTransform->externalMemoryProperties, 1);
- transform_tohost_VkExternalMemoryProperties(resourceTracker, (VkExternalMemoryProperties*)(&toTransform->externalMemoryProperties));
-}
-
-void transform_fromhost_VkExternalImageFormatProperties(
- ResourceTracker* resourceTracker,
- VkExternalImageFormatProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- resourceTracker->transformImpl_VkExternalMemoryProperties_fromhost(&toTransform->externalMemoryProperties, 1);
- transform_fromhost_VkExternalMemoryProperties(resourceTracker, (VkExternalMemoryProperties*)(&toTransform->externalMemoryProperties));
-}
-
-void transform_tohost_VkPhysicalDeviceExternalBufferInfo(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceExternalBufferInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPhysicalDeviceExternalBufferInfo(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceExternalBufferInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkExternalBufferProperties(
- ResourceTracker* resourceTracker,
- VkExternalBufferProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- resourceTracker->transformImpl_VkExternalMemoryProperties_tohost(&toTransform->externalMemoryProperties, 1);
- transform_tohost_VkExternalMemoryProperties(resourceTracker, (VkExternalMemoryProperties*)(&toTransform->externalMemoryProperties));
-}
-
-void transform_fromhost_VkExternalBufferProperties(
- ResourceTracker* resourceTracker,
- VkExternalBufferProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- resourceTracker->transformImpl_VkExternalMemoryProperties_fromhost(&toTransform->externalMemoryProperties, 1);
- transform_fromhost_VkExternalMemoryProperties(resourceTracker, (VkExternalMemoryProperties*)(&toTransform->externalMemoryProperties));
-}
-
-void transform_tohost_VkPhysicalDeviceIDProperties(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceIDProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPhysicalDeviceIDProperties(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceIDProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkExternalMemoryImageCreateInfo(
- ResourceTracker* resourceTracker,
- VkExternalMemoryImageCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkExternalMemoryImageCreateInfo(
- ResourceTracker* resourceTracker,
- VkExternalMemoryImageCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkExternalMemoryBufferCreateInfo(
- ResourceTracker* resourceTracker,
- VkExternalMemoryBufferCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkExternalMemoryBufferCreateInfo(
- ResourceTracker* resourceTracker,
- VkExternalMemoryBufferCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkExportMemoryAllocateInfo(
- ResourceTracker* resourceTracker,
- VkExportMemoryAllocateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkExportMemoryAllocateInfo(
- ResourceTracker* resourceTracker,
- VkExportMemoryAllocateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkPhysicalDeviceExternalFenceInfo(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceExternalFenceInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPhysicalDeviceExternalFenceInfo(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceExternalFenceInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkExternalFenceProperties(
- ResourceTracker* resourceTracker,
- VkExternalFenceProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkExternalFenceProperties(
- ResourceTracker* resourceTracker,
- VkExternalFenceProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkExportFenceCreateInfo(
- ResourceTracker* resourceTracker,
- VkExportFenceCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkExportFenceCreateInfo(
- ResourceTracker* resourceTracker,
- VkExportFenceCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkExportSemaphoreCreateInfo(
- ResourceTracker* resourceTracker,
- VkExportSemaphoreCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkExportSemaphoreCreateInfo(
- ResourceTracker* resourceTracker,
- VkExportSemaphoreCreateInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkPhysicalDeviceExternalSemaphoreInfo(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceExternalSemaphoreInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPhysicalDeviceExternalSemaphoreInfo(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceExternalSemaphoreInfo* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkExternalSemaphoreProperties(
- ResourceTracker* resourceTracker,
- VkExternalSemaphoreProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkExternalSemaphoreProperties(
- ResourceTracker* resourceTracker,
- VkExternalSemaphoreProperties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkPhysicalDeviceMaintenance3Properties(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceMaintenance3Properties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPhysicalDeviceMaintenance3Properties(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceMaintenance3Properties* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkDescriptorSetLayoutSupport(
- ResourceTracker* resourceTracker,
- VkDescriptorSetLayoutSupport* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkDescriptorSetLayoutSupport(
- ResourceTracker* resourceTracker,
- VkDescriptorSetLayoutSupport* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkPhysicalDeviceShaderDrawParameterFeatures(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceShaderDrawParameterFeatures* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPhysicalDeviceShaderDrawParameterFeatures(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceShaderDrawParameterFeatures* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_surface
-void transform_tohost_VkSurfaceCapabilitiesKHR(
- ResourceTracker* resourceTracker,
- VkSurfaceCapabilitiesKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_tohost_VkExtent2D(resourceTracker, (VkExtent2D*)(&toTransform->currentExtent));
- transform_tohost_VkExtent2D(resourceTracker, (VkExtent2D*)(&toTransform->minImageExtent));
- transform_tohost_VkExtent2D(resourceTracker, (VkExtent2D*)(&toTransform->maxImageExtent));
-}
-
-void transform_fromhost_VkSurfaceCapabilitiesKHR(
- ResourceTracker* resourceTracker,
- VkSurfaceCapabilitiesKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_fromhost_VkExtent2D(resourceTracker, (VkExtent2D*)(&toTransform->currentExtent));
- transform_fromhost_VkExtent2D(resourceTracker, (VkExtent2D*)(&toTransform->minImageExtent));
- transform_fromhost_VkExtent2D(resourceTracker, (VkExtent2D*)(&toTransform->maxImageExtent));
-}
-
-void transform_tohost_VkSurfaceFormatKHR(
- ResourceTracker* resourceTracker,
- VkSurfaceFormatKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkSurfaceFormatKHR(
- ResourceTracker* resourceTracker,
- VkSurfaceFormatKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-#endif
-#ifdef VK_KHR_swapchain
-void transform_tohost_VkSwapchainCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkSwapchainCreateInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_tohost_VkExtent2D(resourceTracker, (VkExtent2D*)(&toTransform->imageExtent));
-}
-
-void transform_fromhost_VkSwapchainCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkSwapchainCreateInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_fromhost_VkExtent2D(resourceTracker, (VkExtent2D*)(&toTransform->imageExtent));
-}
-
-void transform_tohost_VkPresentInfoKHR(
- ResourceTracker* resourceTracker,
- VkPresentInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPresentInfoKHR(
- ResourceTracker* resourceTracker,
- VkPresentInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkImageSwapchainCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkImageSwapchainCreateInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkImageSwapchainCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkImageSwapchainCreateInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkBindImageMemorySwapchainInfoKHR(
- ResourceTracker* resourceTracker,
- VkBindImageMemorySwapchainInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkBindImageMemorySwapchainInfoKHR(
- ResourceTracker* resourceTracker,
- VkBindImageMemorySwapchainInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkAcquireNextImageInfoKHR(
- ResourceTracker* resourceTracker,
- VkAcquireNextImageInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkAcquireNextImageInfoKHR(
- ResourceTracker* resourceTracker,
- VkAcquireNextImageInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkDeviceGroupPresentCapabilitiesKHR(
- ResourceTracker* resourceTracker,
- VkDeviceGroupPresentCapabilitiesKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkDeviceGroupPresentCapabilitiesKHR(
- ResourceTracker* resourceTracker,
- VkDeviceGroupPresentCapabilitiesKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkDeviceGroupPresentInfoKHR(
- ResourceTracker* resourceTracker,
- VkDeviceGroupPresentInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkDeviceGroupPresentInfoKHR(
- ResourceTracker* resourceTracker,
- VkDeviceGroupPresentInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkDeviceGroupSwapchainCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkDeviceGroupSwapchainCreateInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkDeviceGroupSwapchainCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkDeviceGroupSwapchainCreateInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_display
-void transform_tohost_VkDisplayPropertiesKHR(
- ResourceTracker* resourceTracker,
- VkDisplayPropertiesKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_tohost_VkExtent2D(resourceTracker, (VkExtent2D*)(&toTransform->physicalDimensions));
- transform_tohost_VkExtent2D(resourceTracker, (VkExtent2D*)(&toTransform->physicalResolution));
-}
-
-void transform_fromhost_VkDisplayPropertiesKHR(
- ResourceTracker* resourceTracker,
- VkDisplayPropertiesKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_fromhost_VkExtent2D(resourceTracker, (VkExtent2D*)(&toTransform->physicalDimensions));
- transform_fromhost_VkExtent2D(resourceTracker, (VkExtent2D*)(&toTransform->physicalResolution));
-}
-
-void transform_tohost_VkDisplayModeParametersKHR(
- ResourceTracker* resourceTracker,
- VkDisplayModeParametersKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_tohost_VkExtent2D(resourceTracker, (VkExtent2D*)(&toTransform->visibleRegion));
-}
-
-void transform_fromhost_VkDisplayModeParametersKHR(
- ResourceTracker* resourceTracker,
- VkDisplayModeParametersKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_fromhost_VkExtent2D(resourceTracker, (VkExtent2D*)(&toTransform->visibleRegion));
-}
-
-void transform_tohost_VkDisplayModePropertiesKHR(
- ResourceTracker* resourceTracker,
- VkDisplayModePropertiesKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_tohost_VkDisplayModeParametersKHR(resourceTracker, (VkDisplayModeParametersKHR*)(&toTransform->parameters));
-}
-
-void transform_fromhost_VkDisplayModePropertiesKHR(
- ResourceTracker* resourceTracker,
- VkDisplayModePropertiesKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_fromhost_VkDisplayModeParametersKHR(resourceTracker, (VkDisplayModeParametersKHR*)(&toTransform->parameters));
-}
-
-void transform_tohost_VkDisplayModeCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkDisplayModeCreateInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_tohost_VkDisplayModeParametersKHR(resourceTracker, (VkDisplayModeParametersKHR*)(&toTransform->parameters));
-}
-
-void transform_fromhost_VkDisplayModeCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkDisplayModeCreateInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_fromhost_VkDisplayModeParametersKHR(resourceTracker, (VkDisplayModeParametersKHR*)(&toTransform->parameters));
-}
-
-void transform_tohost_VkDisplayPlaneCapabilitiesKHR(
- ResourceTracker* resourceTracker,
- VkDisplayPlaneCapabilitiesKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_tohost_VkOffset2D(resourceTracker, (VkOffset2D*)(&toTransform->minSrcPosition));
- transform_tohost_VkOffset2D(resourceTracker, (VkOffset2D*)(&toTransform->maxSrcPosition));
- transform_tohost_VkExtent2D(resourceTracker, (VkExtent2D*)(&toTransform->minSrcExtent));
- transform_tohost_VkExtent2D(resourceTracker, (VkExtent2D*)(&toTransform->maxSrcExtent));
- transform_tohost_VkOffset2D(resourceTracker, (VkOffset2D*)(&toTransform->minDstPosition));
- transform_tohost_VkOffset2D(resourceTracker, (VkOffset2D*)(&toTransform->maxDstPosition));
- transform_tohost_VkExtent2D(resourceTracker, (VkExtent2D*)(&toTransform->minDstExtent));
- transform_tohost_VkExtent2D(resourceTracker, (VkExtent2D*)(&toTransform->maxDstExtent));
-}
-
-void transform_fromhost_VkDisplayPlaneCapabilitiesKHR(
- ResourceTracker* resourceTracker,
- VkDisplayPlaneCapabilitiesKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_fromhost_VkOffset2D(resourceTracker, (VkOffset2D*)(&toTransform->minSrcPosition));
- transform_fromhost_VkOffset2D(resourceTracker, (VkOffset2D*)(&toTransform->maxSrcPosition));
- transform_fromhost_VkExtent2D(resourceTracker, (VkExtent2D*)(&toTransform->minSrcExtent));
- transform_fromhost_VkExtent2D(resourceTracker, (VkExtent2D*)(&toTransform->maxSrcExtent));
- transform_fromhost_VkOffset2D(resourceTracker, (VkOffset2D*)(&toTransform->minDstPosition));
- transform_fromhost_VkOffset2D(resourceTracker, (VkOffset2D*)(&toTransform->maxDstPosition));
- transform_fromhost_VkExtent2D(resourceTracker, (VkExtent2D*)(&toTransform->minDstExtent));
- transform_fromhost_VkExtent2D(resourceTracker, (VkExtent2D*)(&toTransform->maxDstExtent));
-}
-
-void transform_tohost_VkDisplayPlanePropertiesKHR(
- ResourceTracker* resourceTracker,
- VkDisplayPlanePropertiesKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkDisplayPlanePropertiesKHR(
- ResourceTracker* resourceTracker,
- VkDisplayPlanePropertiesKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkDisplaySurfaceCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkDisplaySurfaceCreateInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_tohost_VkExtent2D(resourceTracker, (VkExtent2D*)(&toTransform->imageExtent));
-}
-
-void transform_fromhost_VkDisplaySurfaceCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkDisplaySurfaceCreateInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_fromhost_VkExtent2D(resourceTracker, (VkExtent2D*)(&toTransform->imageExtent));
-}
-
-#endif
-#ifdef VK_KHR_display_swapchain
-void transform_tohost_VkDisplayPresentInfoKHR(
- ResourceTracker* resourceTracker,
- VkDisplayPresentInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_tohost_VkRect2D(resourceTracker, (VkRect2D*)(&toTransform->srcRect));
- transform_tohost_VkRect2D(resourceTracker, (VkRect2D*)(&toTransform->dstRect));
-}
-
-void transform_fromhost_VkDisplayPresentInfoKHR(
- ResourceTracker* resourceTracker,
- VkDisplayPresentInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_fromhost_VkRect2D(resourceTracker, (VkRect2D*)(&toTransform->srcRect));
- transform_fromhost_VkRect2D(resourceTracker, (VkRect2D*)(&toTransform->dstRect));
-}
-
-#endif
-#ifdef VK_KHR_xlib_surface
-void transform_tohost_VkXlibSurfaceCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkXlibSurfaceCreateInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkXlibSurfaceCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkXlibSurfaceCreateInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_xcb_surface
-void transform_tohost_VkXcbSurfaceCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkXcbSurfaceCreateInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkXcbSurfaceCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkXcbSurfaceCreateInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_wayland_surface
-void transform_tohost_VkWaylandSurfaceCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkWaylandSurfaceCreateInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkWaylandSurfaceCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkWaylandSurfaceCreateInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_mir_surface
-void transform_tohost_VkMirSurfaceCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkMirSurfaceCreateInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkMirSurfaceCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkMirSurfaceCreateInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_android_surface
-void transform_tohost_VkAndroidSurfaceCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkAndroidSurfaceCreateInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkAndroidSurfaceCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkAndroidSurfaceCreateInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_win32_surface
-void transform_tohost_VkWin32SurfaceCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkWin32SurfaceCreateInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkWin32SurfaceCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkWin32SurfaceCreateInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_sampler_mirror_clamp_to_edge
-#endif
-#ifdef VK_KHR_multiview
-#endif
-#ifdef VK_KHR_get_physical_device_properties2
-#endif
-#ifdef VK_KHR_device_group
-#endif
-#ifdef VK_KHR_shader_draw_parameters
-#endif
-#ifdef VK_KHR_maintenance1
-#endif
-#ifdef VK_KHR_device_group_creation
-#endif
-#ifdef VK_KHR_external_memory_capabilities
-#endif
-#ifdef VK_KHR_external_memory
-#endif
-#ifdef VK_KHR_external_memory_win32
-void transform_tohost_VkImportMemoryWin32HandleInfoKHR(
- ResourceTracker* resourceTracker,
- VkImportMemoryWin32HandleInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkImportMemoryWin32HandleInfoKHR(
- ResourceTracker* resourceTracker,
- VkImportMemoryWin32HandleInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkExportMemoryWin32HandleInfoKHR(
- ResourceTracker* resourceTracker,
- VkExportMemoryWin32HandleInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkExportMemoryWin32HandleInfoKHR(
- ResourceTracker* resourceTracker,
- VkExportMemoryWin32HandleInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkMemoryWin32HandlePropertiesKHR(
- ResourceTracker* resourceTracker,
- VkMemoryWin32HandlePropertiesKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- resourceTracker->deviceMemoryTransform_tohost((VkDeviceMemory*)nullptr, 0, (VkDeviceSize*)nullptr, 0, (VkDeviceSize*)nullptr, 0, (uint32_t*)nullptr, 0, (uint32_t*)&toTransform->memoryTypeBits, 1);
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkMemoryWin32HandlePropertiesKHR(
- ResourceTracker* resourceTracker,
- VkMemoryWin32HandlePropertiesKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- resourceTracker->deviceMemoryTransform_fromhost((VkDeviceMemory*)nullptr, 0, (VkDeviceSize*)nullptr, 0, (VkDeviceSize*)nullptr, 0, (uint32_t*)nullptr, 0, (uint32_t*)&toTransform->memoryTypeBits, 1);
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkMemoryGetWin32HandleInfoKHR(
- ResourceTracker* resourceTracker,
- VkMemoryGetWin32HandleInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- resourceTracker->deviceMemoryTransform_tohost((VkDeviceMemory*)&toTransform->memory, 1, (VkDeviceSize*)nullptr, 0, (VkDeviceSize*)nullptr, 0, (uint32_t*)nullptr, 0, (uint32_t*)nullptr, 0);
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkMemoryGetWin32HandleInfoKHR(
- ResourceTracker* resourceTracker,
- VkMemoryGetWin32HandleInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- resourceTracker->deviceMemoryTransform_fromhost((VkDeviceMemory*)&toTransform->memory, 1, (VkDeviceSize*)nullptr, 0, (VkDeviceSize*)nullptr, 0, (uint32_t*)nullptr, 0, (uint32_t*)nullptr, 0);
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_external_memory_fd
-void transform_tohost_VkImportMemoryFdInfoKHR(
- ResourceTracker* resourceTracker,
- VkImportMemoryFdInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkImportMemoryFdInfoKHR(
- ResourceTracker* resourceTracker,
- VkImportMemoryFdInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkMemoryFdPropertiesKHR(
- ResourceTracker* resourceTracker,
- VkMemoryFdPropertiesKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- resourceTracker->deviceMemoryTransform_tohost((VkDeviceMemory*)nullptr, 0, (VkDeviceSize*)nullptr, 0, (VkDeviceSize*)nullptr, 0, (uint32_t*)nullptr, 0, (uint32_t*)&toTransform->memoryTypeBits, 1);
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkMemoryFdPropertiesKHR(
- ResourceTracker* resourceTracker,
- VkMemoryFdPropertiesKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- resourceTracker->deviceMemoryTransform_fromhost((VkDeviceMemory*)nullptr, 0, (VkDeviceSize*)nullptr, 0, (VkDeviceSize*)nullptr, 0, (uint32_t*)nullptr, 0, (uint32_t*)&toTransform->memoryTypeBits, 1);
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkMemoryGetFdInfoKHR(
- ResourceTracker* resourceTracker,
- VkMemoryGetFdInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- resourceTracker->deviceMemoryTransform_tohost((VkDeviceMemory*)&toTransform->memory, 1, (VkDeviceSize*)nullptr, 0, (VkDeviceSize*)nullptr, 0, (uint32_t*)nullptr, 0, (uint32_t*)nullptr, 0);
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkMemoryGetFdInfoKHR(
- ResourceTracker* resourceTracker,
- VkMemoryGetFdInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- resourceTracker->deviceMemoryTransform_fromhost((VkDeviceMemory*)&toTransform->memory, 1, (VkDeviceSize*)nullptr, 0, (VkDeviceSize*)nullptr, 0, (uint32_t*)nullptr, 0, (uint32_t*)nullptr, 0);
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_win32_keyed_mutex
-void transform_tohost_VkWin32KeyedMutexAcquireReleaseInfoKHR(
- ResourceTracker* resourceTracker,
- VkWin32KeyedMutexAcquireReleaseInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- resourceTracker->deviceMemoryTransform_tohost((VkDeviceMemory*)toTransform->pReleaseSyncs, toTransform->releaseCount, (VkDeviceSize*)nullptr, 0, (VkDeviceSize*)nullptr, 0, (uint32_t*)nullptr, 0, (uint32_t*)nullptr, 0);
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkWin32KeyedMutexAcquireReleaseInfoKHR(
- ResourceTracker* resourceTracker,
- VkWin32KeyedMutexAcquireReleaseInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- resourceTracker->deviceMemoryTransform_fromhost((VkDeviceMemory*)toTransform->pReleaseSyncs, toTransform->releaseCount, (VkDeviceSize*)nullptr, 0, (VkDeviceSize*)nullptr, 0, (uint32_t*)nullptr, 0, (uint32_t*)nullptr, 0);
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_external_semaphore_capabilities
-#endif
-#ifdef VK_KHR_external_semaphore
-#endif
-#ifdef VK_KHR_external_semaphore_win32
-void transform_tohost_VkImportSemaphoreWin32HandleInfoKHR(
- ResourceTracker* resourceTracker,
- VkImportSemaphoreWin32HandleInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkImportSemaphoreWin32HandleInfoKHR(
- ResourceTracker* resourceTracker,
- VkImportSemaphoreWin32HandleInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkExportSemaphoreWin32HandleInfoKHR(
- ResourceTracker* resourceTracker,
- VkExportSemaphoreWin32HandleInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkExportSemaphoreWin32HandleInfoKHR(
- ResourceTracker* resourceTracker,
- VkExportSemaphoreWin32HandleInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkD3D12FenceSubmitInfoKHR(
- ResourceTracker* resourceTracker,
- VkD3D12FenceSubmitInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkD3D12FenceSubmitInfoKHR(
- ResourceTracker* resourceTracker,
- VkD3D12FenceSubmitInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkSemaphoreGetWin32HandleInfoKHR(
- ResourceTracker* resourceTracker,
- VkSemaphoreGetWin32HandleInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkSemaphoreGetWin32HandleInfoKHR(
- ResourceTracker* resourceTracker,
- VkSemaphoreGetWin32HandleInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_external_semaphore_fd
-void transform_tohost_VkImportSemaphoreFdInfoKHR(
- ResourceTracker* resourceTracker,
- VkImportSemaphoreFdInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkImportSemaphoreFdInfoKHR(
- ResourceTracker* resourceTracker,
- VkImportSemaphoreFdInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkSemaphoreGetFdInfoKHR(
- ResourceTracker* resourceTracker,
- VkSemaphoreGetFdInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkSemaphoreGetFdInfoKHR(
- ResourceTracker* resourceTracker,
- VkSemaphoreGetFdInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_push_descriptor
-void transform_tohost_VkPhysicalDevicePushDescriptorPropertiesKHR(
- ResourceTracker* resourceTracker,
- VkPhysicalDevicePushDescriptorPropertiesKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPhysicalDevicePushDescriptorPropertiesKHR(
- ResourceTracker* resourceTracker,
- VkPhysicalDevicePushDescriptorPropertiesKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_16bit_storage
-#endif
-#ifdef VK_KHR_incremental_present
-void transform_tohost_VkRectLayerKHR(
- ResourceTracker* resourceTracker,
- VkRectLayerKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_tohost_VkOffset2D(resourceTracker, (VkOffset2D*)(&toTransform->offset));
- transform_tohost_VkExtent2D(resourceTracker, (VkExtent2D*)(&toTransform->extent));
-}
-
-void transform_fromhost_VkRectLayerKHR(
- ResourceTracker* resourceTracker,
- VkRectLayerKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_fromhost_VkOffset2D(resourceTracker, (VkOffset2D*)(&toTransform->offset));
- transform_fromhost_VkExtent2D(resourceTracker, (VkExtent2D*)(&toTransform->extent));
-}
-
-void transform_tohost_VkPresentRegionKHR(
- ResourceTracker* resourceTracker,
- VkPresentRegionKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pRectangles)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->rectangleCount; ++i)
- {
- transform_tohost_VkRectLayerKHR(resourceTracker, (VkRectLayerKHR*)(toTransform->pRectangles + i));
- }
- }
-}
-
-void transform_fromhost_VkPresentRegionKHR(
- ResourceTracker* resourceTracker,
- VkPresentRegionKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pRectangles)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->rectangleCount; ++i)
- {
- transform_fromhost_VkRectLayerKHR(resourceTracker, (VkRectLayerKHR*)(toTransform->pRectangles + i));
- }
- }
-}
-
-void transform_tohost_VkPresentRegionsKHR(
- ResourceTracker* resourceTracker,
- VkPresentRegionsKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pRegions)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->swapchainCount; ++i)
- {
- transform_tohost_VkPresentRegionKHR(resourceTracker, (VkPresentRegionKHR*)(toTransform->pRegions + i));
- }
- }
-}
-
-void transform_fromhost_VkPresentRegionsKHR(
- ResourceTracker* resourceTracker,
- VkPresentRegionsKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pRegions)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->swapchainCount; ++i)
- {
- transform_fromhost_VkPresentRegionKHR(resourceTracker, (VkPresentRegionKHR*)(toTransform->pRegions + i));
- }
- }
-}
-
-#endif
-#ifdef VK_KHR_descriptor_update_template
-#endif
-#ifdef VK_KHR_create_renderpass2
-void transform_tohost_VkAttachmentDescription2KHR(
- ResourceTracker* resourceTracker,
- VkAttachmentDescription2KHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkAttachmentDescription2KHR(
- ResourceTracker* resourceTracker,
- VkAttachmentDescription2KHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkAttachmentReference2KHR(
- ResourceTracker* resourceTracker,
- VkAttachmentReference2KHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkAttachmentReference2KHR(
- ResourceTracker* resourceTracker,
- VkAttachmentReference2KHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkSubpassDescription2KHR(
- ResourceTracker* resourceTracker,
- VkSubpassDescription2KHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pInputAttachments)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->inputAttachmentCount; ++i)
- {
- transform_tohost_VkAttachmentReference2KHR(resourceTracker, (VkAttachmentReference2KHR*)(toTransform->pInputAttachments + i));
- }
- }
- if (toTransform->pColorAttachments)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->colorAttachmentCount; ++i)
- {
- transform_tohost_VkAttachmentReference2KHR(resourceTracker, (VkAttachmentReference2KHR*)(toTransform->pColorAttachments + i));
- }
- }
- if (toTransform->pResolveAttachments)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->colorAttachmentCount; ++i)
- {
- transform_tohost_VkAttachmentReference2KHR(resourceTracker, (VkAttachmentReference2KHR*)(toTransform->pResolveAttachments + i));
- }
- }
- if (toTransform->pDepthStencilAttachment)
- {
- transform_tohost_VkAttachmentReference2KHR(resourceTracker, (VkAttachmentReference2KHR*)(toTransform->pDepthStencilAttachment));
- }
-}
-
-void transform_fromhost_VkSubpassDescription2KHR(
- ResourceTracker* resourceTracker,
- VkSubpassDescription2KHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pInputAttachments)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->inputAttachmentCount; ++i)
- {
- transform_fromhost_VkAttachmentReference2KHR(resourceTracker, (VkAttachmentReference2KHR*)(toTransform->pInputAttachments + i));
- }
- }
- if (toTransform->pColorAttachments)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->colorAttachmentCount; ++i)
- {
- transform_fromhost_VkAttachmentReference2KHR(resourceTracker, (VkAttachmentReference2KHR*)(toTransform->pColorAttachments + i));
- }
- }
- if (toTransform->pResolveAttachments)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->colorAttachmentCount; ++i)
- {
- transform_fromhost_VkAttachmentReference2KHR(resourceTracker, (VkAttachmentReference2KHR*)(toTransform->pResolveAttachments + i));
- }
- }
- if (toTransform->pDepthStencilAttachment)
- {
- transform_fromhost_VkAttachmentReference2KHR(resourceTracker, (VkAttachmentReference2KHR*)(toTransform->pDepthStencilAttachment));
- }
-}
-
-void transform_tohost_VkSubpassDependency2KHR(
- ResourceTracker* resourceTracker,
- VkSubpassDependency2KHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkSubpassDependency2KHR(
- ResourceTracker* resourceTracker,
- VkSubpassDependency2KHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkRenderPassCreateInfo2KHR(
- ResourceTracker* resourceTracker,
- VkRenderPassCreateInfo2KHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pAttachments)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->attachmentCount; ++i)
- {
- transform_tohost_VkAttachmentDescription2KHR(resourceTracker, (VkAttachmentDescription2KHR*)(toTransform->pAttachments + i));
- }
- }
- if (toTransform->pSubpasses)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->subpassCount; ++i)
- {
- transform_tohost_VkSubpassDescription2KHR(resourceTracker, (VkSubpassDescription2KHR*)(toTransform->pSubpasses + i));
- }
- }
- if (toTransform->pDependencies)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->dependencyCount; ++i)
- {
- transform_tohost_VkSubpassDependency2KHR(resourceTracker, (VkSubpassDependency2KHR*)(toTransform->pDependencies + i));
- }
- }
-}
-
-void transform_fromhost_VkRenderPassCreateInfo2KHR(
- ResourceTracker* resourceTracker,
- VkRenderPassCreateInfo2KHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pAttachments)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->attachmentCount; ++i)
- {
- transform_fromhost_VkAttachmentDescription2KHR(resourceTracker, (VkAttachmentDescription2KHR*)(toTransform->pAttachments + i));
- }
- }
- if (toTransform->pSubpasses)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->subpassCount; ++i)
- {
- transform_fromhost_VkSubpassDescription2KHR(resourceTracker, (VkSubpassDescription2KHR*)(toTransform->pSubpasses + i));
- }
- }
- if (toTransform->pDependencies)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->dependencyCount; ++i)
- {
- transform_fromhost_VkSubpassDependency2KHR(resourceTracker, (VkSubpassDependency2KHR*)(toTransform->pDependencies + i));
- }
- }
-}
-
-void transform_tohost_VkSubpassBeginInfoKHR(
- ResourceTracker* resourceTracker,
- VkSubpassBeginInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkSubpassBeginInfoKHR(
- ResourceTracker* resourceTracker,
- VkSubpassBeginInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkSubpassEndInfoKHR(
- ResourceTracker* resourceTracker,
- VkSubpassEndInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkSubpassEndInfoKHR(
- ResourceTracker* resourceTracker,
- VkSubpassEndInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_shared_presentable_image
-void transform_tohost_VkSharedPresentSurfaceCapabilitiesKHR(
- ResourceTracker* resourceTracker,
- VkSharedPresentSurfaceCapabilitiesKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkSharedPresentSurfaceCapabilitiesKHR(
- ResourceTracker* resourceTracker,
- VkSharedPresentSurfaceCapabilitiesKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_external_fence_capabilities
-#endif
-#ifdef VK_KHR_external_fence
-#endif
-#ifdef VK_KHR_external_fence_win32
-void transform_tohost_VkImportFenceWin32HandleInfoKHR(
- ResourceTracker* resourceTracker,
- VkImportFenceWin32HandleInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkImportFenceWin32HandleInfoKHR(
- ResourceTracker* resourceTracker,
- VkImportFenceWin32HandleInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkExportFenceWin32HandleInfoKHR(
- ResourceTracker* resourceTracker,
- VkExportFenceWin32HandleInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkExportFenceWin32HandleInfoKHR(
- ResourceTracker* resourceTracker,
- VkExportFenceWin32HandleInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkFenceGetWin32HandleInfoKHR(
- ResourceTracker* resourceTracker,
- VkFenceGetWin32HandleInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkFenceGetWin32HandleInfoKHR(
- ResourceTracker* resourceTracker,
- VkFenceGetWin32HandleInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_external_fence_fd
-void transform_tohost_VkImportFenceFdInfoKHR(
- ResourceTracker* resourceTracker,
- VkImportFenceFdInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkImportFenceFdInfoKHR(
- ResourceTracker* resourceTracker,
- VkImportFenceFdInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkFenceGetFdInfoKHR(
- ResourceTracker* resourceTracker,
- VkFenceGetFdInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkFenceGetFdInfoKHR(
- ResourceTracker* resourceTracker,
- VkFenceGetFdInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_maintenance2
-#endif
-#ifdef VK_KHR_get_surface_capabilities2
-void transform_tohost_VkPhysicalDeviceSurfaceInfo2KHR(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceSurfaceInfo2KHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPhysicalDeviceSurfaceInfo2KHR(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceSurfaceInfo2KHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkSurfaceCapabilities2KHR(
- ResourceTracker* resourceTracker,
- VkSurfaceCapabilities2KHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_tohost_VkSurfaceCapabilitiesKHR(resourceTracker, (VkSurfaceCapabilitiesKHR*)(&toTransform->surfaceCapabilities));
-}
-
-void transform_fromhost_VkSurfaceCapabilities2KHR(
- ResourceTracker* resourceTracker,
- VkSurfaceCapabilities2KHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_fromhost_VkSurfaceCapabilitiesKHR(resourceTracker, (VkSurfaceCapabilitiesKHR*)(&toTransform->surfaceCapabilities));
-}
-
-void transform_tohost_VkSurfaceFormat2KHR(
- ResourceTracker* resourceTracker,
- VkSurfaceFormat2KHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_tohost_VkSurfaceFormatKHR(resourceTracker, (VkSurfaceFormatKHR*)(&toTransform->surfaceFormat));
-}
-
-void transform_fromhost_VkSurfaceFormat2KHR(
- ResourceTracker* resourceTracker,
- VkSurfaceFormat2KHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_fromhost_VkSurfaceFormatKHR(resourceTracker, (VkSurfaceFormatKHR*)(&toTransform->surfaceFormat));
-}
-
-#endif
-#ifdef VK_KHR_variable_pointers
-#endif
-#ifdef VK_KHR_get_display_properties2
-void transform_tohost_VkDisplayProperties2KHR(
- ResourceTracker* resourceTracker,
- VkDisplayProperties2KHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_tohost_VkDisplayPropertiesKHR(resourceTracker, (VkDisplayPropertiesKHR*)(&toTransform->displayProperties));
-}
-
-void transform_fromhost_VkDisplayProperties2KHR(
- ResourceTracker* resourceTracker,
- VkDisplayProperties2KHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_fromhost_VkDisplayPropertiesKHR(resourceTracker, (VkDisplayPropertiesKHR*)(&toTransform->displayProperties));
-}
-
-void transform_tohost_VkDisplayPlaneProperties2KHR(
- ResourceTracker* resourceTracker,
- VkDisplayPlaneProperties2KHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_tohost_VkDisplayPlanePropertiesKHR(resourceTracker, (VkDisplayPlanePropertiesKHR*)(&toTransform->displayPlaneProperties));
-}
-
-void transform_fromhost_VkDisplayPlaneProperties2KHR(
- ResourceTracker* resourceTracker,
- VkDisplayPlaneProperties2KHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_fromhost_VkDisplayPlanePropertiesKHR(resourceTracker, (VkDisplayPlanePropertiesKHR*)(&toTransform->displayPlaneProperties));
-}
-
-void transform_tohost_VkDisplayModeProperties2KHR(
- ResourceTracker* resourceTracker,
- VkDisplayModeProperties2KHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_tohost_VkDisplayModePropertiesKHR(resourceTracker, (VkDisplayModePropertiesKHR*)(&toTransform->displayModeProperties));
-}
-
-void transform_fromhost_VkDisplayModeProperties2KHR(
- ResourceTracker* resourceTracker,
- VkDisplayModeProperties2KHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_fromhost_VkDisplayModePropertiesKHR(resourceTracker, (VkDisplayModePropertiesKHR*)(&toTransform->displayModeProperties));
-}
-
-void transform_tohost_VkDisplayPlaneInfo2KHR(
- ResourceTracker* resourceTracker,
- VkDisplayPlaneInfo2KHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkDisplayPlaneInfo2KHR(
- ResourceTracker* resourceTracker,
- VkDisplayPlaneInfo2KHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkDisplayPlaneCapabilities2KHR(
- ResourceTracker* resourceTracker,
- VkDisplayPlaneCapabilities2KHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_tohost_VkDisplayPlaneCapabilitiesKHR(resourceTracker, (VkDisplayPlaneCapabilitiesKHR*)(&toTransform->capabilities));
-}
-
-void transform_fromhost_VkDisplayPlaneCapabilities2KHR(
- ResourceTracker* resourceTracker,
- VkDisplayPlaneCapabilities2KHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_fromhost_VkDisplayPlaneCapabilitiesKHR(resourceTracker, (VkDisplayPlaneCapabilitiesKHR*)(&toTransform->capabilities));
-}
-
-#endif
-#ifdef VK_KHR_dedicated_allocation
-#endif
-#ifdef VK_KHR_storage_buffer_storage_class
-#endif
-#ifdef VK_KHR_relaxed_block_layout
-#endif
-#ifdef VK_KHR_get_memory_requirements2
-#endif
-#ifdef VK_KHR_image_format_list
-void transform_tohost_VkImageFormatListCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkImageFormatListCreateInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkImageFormatListCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkImageFormatListCreateInfoKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_sampler_ycbcr_conversion
-#endif
-#ifdef VK_KHR_bind_memory2
-#endif
-#ifdef VK_KHR_maintenance3
-#endif
-#ifdef VK_KHR_draw_indirect_count
-#endif
-#ifdef VK_KHR_8bit_storage
-void transform_tohost_VkPhysicalDevice8BitStorageFeaturesKHR(
- ResourceTracker* resourceTracker,
- VkPhysicalDevice8BitStorageFeaturesKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPhysicalDevice8BitStorageFeaturesKHR(
- ResourceTracker* resourceTracker,
- VkPhysicalDevice8BitStorageFeaturesKHR* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_KHR_shader_float16_int8
-void transform_tohost_VkPhysicalDeviceShaderFloat16Int8Features(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceShaderFloat16Int8Features* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPhysicalDeviceShaderFloat16Int8Features(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceShaderFloat16Int8Features* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_ANDROID_native_buffer
-void transform_tohost_VkNativeBufferANDROID(
- ResourceTracker* resourceTracker,
- VkNativeBufferANDROID* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkNativeBufferANDROID(
- ResourceTracker* resourceTracker,
- VkNativeBufferANDROID* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_EXT_debug_report
-void transform_tohost_VkDebugReportCallbackCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkDebugReportCallbackCreateInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkDebugReportCallbackCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkDebugReportCallbackCreateInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_NV_glsl_shader
-#endif
-#ifdef VK_EXT_depth_range_unrestricted
-#endif
-#ifdef VK_IMG_filter_cubic
-#endif
-#ifdef VK_AMD_rasterization_order
-void transform_tohost_VkPipelineRasterizationStateRasterizationOrderAMD(
- ResourceTracker* resourceTracker,
- VkPipelineRasterizationStateRasterizationOrderAMD* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPipelineRasterizationStateRasterizationOrderAMD(
- ResourceTracker* resourceTracker,
- VkPipelineRasterizationStateRasterizationOrderAMD* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_AMD_shader_trinary_minmax
-#endif
-#ifdef VK_AMD_shader_explicit_vertex_parameter
-#endif
-#ifdef VK_EXT_debug_marker
-void transform_tohost_VkDebugMarkerObjectNameInfoEXT(
- ResourceTracker* resourceTracker,
- VkDebugMarkerObjectNameInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkDebugMarkerObjectNameInfoEXT(
- ResourceTracker* resourceTracker,
- VkDebugMarkerObjectNameInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkDebugMarkerObjectTagInfoEXT(
- ResourceTracker* resourceTracker,
- VkDebugMarkerObjectTagInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkDebugMarkerObjectTagInfoEXT(
- ResourceTracker* resourceTracker,
- VkDebugMarkerObjectTagInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkDebugMarkerMarkerInfoEXT(
- ResourceTracker* resourceTracker,
- VkDebugMarkerMarkerInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkDebugMarkerMarkerInfoEXT(
- ResourceTracker* resourceTracker,
- VkDebugMarkerMarkerInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_AMD_gcn_shader
-#endif
-#ifdef VK_NV_dedicated_allocation
-void transform_tohost_VkDedicatedAllocationImageCreateInfoNV(
- ResourceTracker* resourceTracker,
- VkDedicatedAllocationImageCreateInfoNV* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkDedicatedAllocationImageCreateInfoNV(
- ResourceTracker* resourceTracker,
- VkDedicatedAllocationImageCreateInfoNV* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkDedicatedAllocationBufferCreateInfoNV(
- ResourceTracker* resourceTracker,
- VkDedicatedAllocationBufferCreateInfoNV* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkDedicatedAllocationBufferCreateInfoNV(
- ResourceTracker* resourceTracker,
- VkDedicatedAllocationBufferCreateInfoNV* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkDedicatedAllocationMemoryAllocateInfoNV(
- ResourceTracker* resourceTracker,
- VkDedicatedAllocationMemoryAllocateInfoNV* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkDedicatedAllocationMemoryAllocateInfoNV(
- ResourceTracker* resourceTracker,
- VkDedicatedAllocationMemoryAllocateInfoNV* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_AMD_draw_indirect_count
-#endif
-#ifdef VK_AMD_negative_viewport_height
-#endif
-#ifdef VK_AMD_gpu_shader_half_float
-#endif
-#ifdef VK_AMD_shader_ballot
-#endif
-#ifdef VK_AMD_texture_gather_bias_lod
-void transform_tohost_VkTextureLODGatherFormatPropertiesAMD(
- ResourceTracker* resourceTracker,
- VkTextureLODGatherFormatPropertiesAMD* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkTextureLODGatherFormatPropertiesAMD(
- ResourceTracker* resourceTracker,
- VkTextureLODGatherFormatPropertiesAMD* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_AMD_shader_info
-void transform_tohost_VkShaderResourceUsageAMD(
- ResourceTracker* resourceTracker,
- VkShaderResourceUsageAMD* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkShaderResourceUsageAMD(
- ResourceTracker* resourceTracker,
- VkShaderResourceUsageAMD* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkShaderStatisticsInfoAMD(
- ResourceTracker* resourceTracker,
- VkShaderStatisticsInfoAMD* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_tohost_VkShaderResourceUsageAMD(resourceTracker, (VkShaderResourceUsageAMD*)(&toTransform->resourceUsage));
-}
-
-void transform_fromhost_VkShaderStatisticsInfoAMD(
- ResourceTracker* resourceTracker,
- VkShaderStatisticsInfoAMD* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_fromhost_VkShaderResourceUsageAMD(resourceTracker, (VkShaderResourceUsageAMD*)(&toTransform->resourceUsage));
-}
-
-#endif
-#ifdef VK_AMD_shader_image_load_store_lod
-#endif
-#ifdef VK_IMG_format_pvrtc
-#endif
-#ifdef VK_NV_external_memory_capabilities
-void transform_tohost_VkExternalImageFormatPropertiesNV(
- ResourceTracker* resourceTracker,
- VkExternalImageFormatPropertiesNV* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_tohost_VkImageFormatProperties(resourceTracker, (VkImageFormatProperties*)(&toTransform->imageFormatProperties));
-}
-
-void transform_fromhost_VkExternalImageFormatPropertiesNV(
- ResourceTracker* resourceTracker,
- VkExternalImageFormatPropertiesNV* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_fromhost_VkImageFormatProperties(resourceTracker, (VkImageFormatProperties*)(&toTransform->imageFormatProperties));
-}
-
-#endif
-#ifdef VK_NV_external_memory
-void transform_tohost_VkExternalMemoryImageCreateInfoNV(
- ResourceTracker* resourceTracker,
- VkExternalMemoryImageCreateInfoNV* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkExternalMemoryImageCreateInfoNV(
- ResourceTracker* resourceTracker,
- VkExternalMemoryImageCreateInfoNV* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkExportMemoryAllocateInfoNV(
- ResourceTracker* resourceTracker,
- VkExportMemoryAllocateInfoNV* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkExportMemoryAllocateInfoNV(
- ResourceTracker* resourceTracker,
- VkExportMemoryAllocateInfoNV* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_NV_external_memory_win32
-void transform_tohost_VkImportMemoryWin32HandleInfoNV(
- ResourceTracker* resourceTracker,
- VkImportMemoryWin32HandleInfoNV* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkImportMemoryWin32HandleInfoNV(
- ResourceTracker* resourceTracker,
- VkImportMemoryWin32HandleInfoNV* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkExportMemoryWin32HandleInfoNV(
- ResourceTracker* resourceTracker,
- VkExportMemoryWin32HandleInfoNV* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkExportMemoryWin32HandleInfoNV(
- ResourceTracker* resourceTracker,
- VkExportMemoryWin32HandleInfoNV* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_NV_win32_keyed_mutex
-void transform_tohost_VkWin32KeyedMutexAcquireReleaseInfoNV(
- ResourceTracker* resourceTracker,
- VkWin32KeyedMutexAcquireReleaseInfoNV* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- resourceTracker->deviceMemoryTransform_tohost((VkDeviceMemory*)toTransform->pReleaseSyncs, toTransform->releaseCount, (VkDeviceSize*)nullptr, 0, (VkDeviceSize*)nullptr, 0, (uint32_t*)nullptr, 0, (uint32_t*)nullptr, 0);
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkWin32KeyedMutexAcquireReleaseInfoNV(
- ResourceTracker* resourceTracker,
- VkWin32KeyedMutexAcquireReleaseInfoNV* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- resourceTracker->deviceMemoryTransform_fromhost((VkDeviceMemory*)toTransform->pReleaseSyncs, toTransform->releaseCount, (VkDeviceSize*)nullptr, 0, (VkDeviceSize*)nullptr, 0, (uint32_t*)nullptr, 0, (uint32_t*)nullptr, 0);
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_EXT_validation_flags
-void transform_tohost_VkValidationFlagsEXT(
- ResourceTracker* resourceTracker,
- VkValidationFlagsEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkValidationFlagsEXT(
- ResourceTracker* resourceTracker,
- VkValidationFlagsEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_NN_vi_surface
-void transform_tohost_VkViSurfaceCreateInfoNN(
- ResourceTracker* resourceTracker,
- VkViSurfaceCreateInfoNN* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkViSurfaceCreateInfoNN(
- ResourceTracker* resourceTracker,
- VkViSurfaceCreateInfoNN* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_EXT_shader_subgroup_ballot
-#endif
-#ifdef VK_EXT_shader_subgroup_vote
-#endif
-#ifdef VK_EXT_conditional_rendering
-void transform_tohost_VkConditionalRenderingBeginInfoEXT(
- ResourceTracker* resourceTracker,
- VkConditionalRenderingBeginInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkConditionalRenderingBeginInfoEXT(
- ResourceTracker* resourceTracker,
- VkConditionalRenderingBeginInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkPhysicalDeviceConditionalRenderingFeaturesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceConditionalRenderingFeaturesEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPhysicalDeviceConditionalRenderingFeaturesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceConditionalRenderingFeaturesEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkCommandBufferInheritanceConditionalRenderingInfoEXT(
- ResourceTracker* resourceTracker,
- VkCommandBufferInheritanceConditionalRenderingInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkCommandBufferInheritanceConditionalRenderingInfoEXT(
- ResourceTracker* resourceTracker,
- VkCommandBufferInheritanceConditionalRenderingInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_NVX_device_generated_commands
-void transform_tohost_VkDeviceGeneratedCommandsFeaturesNVX(
- ResourceTracker* resourceTracker,
- VkDeviceGeneratedCommandsFeaturesNVX* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkDeviceGeneratedCommandsFeaturesNVX(
- ResourceTracker* resourceTracker,
- VkDeviceGeneratedCommandsFeaturesNVX* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkDeviceGeneratedCommandsLimitsNVX(
- ResourceTracker* resourceTracker,
- VkDeviceGeneratedCommandsLimitsNVX* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkDeviceGeneratedCommandsLimitsNVX(
- ResourceTracker* resourceTracker,
- VkDeviceGeneratedCommandsLimitsNVX* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkIndirectCommandsTokenNVX(
- ResourceTracker* resourceTracker,
- VkIndirectCommandsTokenNVX* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkIndirectCommandsTokenNVX(
- ResourceTracker* resourceTracker,
- VkIndirectCommandsTokenNVX* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkIndirectCommandsLayoutTokenNVX(
- ResourceTracker* resourceTracker,
- VkIndirectCommandsLayoutTokenNVX* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkIndirectCommandsLayoutTokenNVX(
- ResourceTracker* resourceTracker,
- VkIndirectCommandsLayoutTokenNVX* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkIndirectCommandsLayoutCreateInfoNVX(
- ResourceTracker* resourceTracker,
- VkIndirectCommandsLayoutCreateInfoNVX* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pTokens)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->tokenCount; ++i)
- {
- transform_tohost_VkIndirectCommandsLayoutTokenNVX(resourceTracker, (VkIndirectCommandsLayoutTokenNVX*)(toTransform->pTokens + i));
- }
- }
-}
-
-void transform_fromhost_VkIndirectCommandsLayoutCreateInfoNVX(
- ResourceTracker* resourceTracker,
- VkIndirectCommandsLayoutCreateInfoNVX* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pTokens)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->tokenCount; ++i)
- {
- transform_fromhost_VkIndirectCommandsLayoutTokenNVX(resourceTracker, (VkIndirectCommandsLayoutTokenNVX*)(toTransform->pTokens + i));
- }
- }
-}
-
-void transform_tohost_VkCmdProcessCommandsInfoNVX(
- ResourceTracker* resourceTracker,
- VkCmdProcessCommandsInfoNVX* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pIndirectCommandsTokens)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->indirectCommandsTokenCount; ++i)
- {
- transform_tohost_VkIndirectCommandsTokenNVX(resourceTracker, (VkIndirectCommandsTokenNVX*)(toTransform->pIndirectCommandsTokens + i));
- }
- }
-}
-
-void transform_fromhost_VkCmdProcessCommandsInfoNVX(
- ResourceTracker* resourceTracker,
- VkCmdProcessCommandsInfoNVX* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pIndirectCommandsTokens)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->indirectCommandsTokenCount; ++i)
- {
- transform_fromhost_VkIndirectCommandsTokenNVX(resourceTracker, (VkIndirectCommandsTokenNVX*)(toTransform->pIndirectCommandsTokens + i));
- }
- }
-}
-
-void transform_tohost_VkCmdReserveSpaceForCommandsInfoNVX(
- ResourceTracker* resourceTracker,
- VkCmdReserveSpaceForCommandsInfoNVX* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkCmdReserveSpaceForCommandsInfoNVX(
- ResourceTracker* resourceTracker,
- VkCmdReserveSpaceForCommandsInfoNVX* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkObjectTableCreateInfoNVX(
- ResourceTracker* resourceTracker,
- VkObjectTableCreateInfoNVX* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkObjectTableCreateInfoNVX(
- ResourceTracker* resourceTracker,
- VkObjectTableCreateInfoNVX* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkObjectTableEntryNVX(
- ResourceTracker* resourceTracker,
- VkObjectTableEntryNVX* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkObjectTableEntryNVX(
- ResourceTracker* resourceTracker,
- VkObjectTableEntryNVX* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkObjectTablePipelineEntryNVX(
- ResourceTracker* resourceTracker,
- VkObjectTablePipelineEntryNVX* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkObjectTablePipelineEntryNVX(
- ResourceTracker* resourceTracker,
- VkObjectTablePipelineEntryNVX* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkObjectTableDescriptorSetEntryNVX(
- ResourceTracker* resourceTracker,
- VkObjectTableDescriptorSetEntryNVX* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkObjectTableDescriptorSetEntryNVX(
- ResourceTracker* resourceTracker,
- VkObjectTableDescriptorSetEntryNVX* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkObjectTableVertexBufferEntryNVX(
- ResourceTracker* resourceTracker,
- VkObjectTableVertexBufferEntryNVX* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkObjectTableVertexBufferEntryNVX(
- ResourceTracker* resourceTracker,
- VkObjectTableVertexBufferEntryNVX* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkObjectTableIndexBufferEntryNVX(
- ResourceTracker* resourceTracker,
- VkObjectTableIndexBufferEntryNVX* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkObjectTableIndexBufferEntryNVX(
- ResourceTracker* resourceTracker,
- VkObjectTableIndexBufferEntryNVX* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkObjectTablePushConstantEntryNVX(
- ResourceTracker* resourceTracker,
- VkObjectTablePushConstantEntryNVX* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkObjectTablePushConstantEntryNVX(
- ResourceTracker* resourceTracker,
- VkObjectTablePushConstantEntryNVX* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-#endif
-#ifdef VK_NV_clip_space_w_scaling
-void transform_tohost_VkViewportWScalingNV(
- ResourceTracker* resourceTracker,
- VkViewportWScalingNV* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkViewportWScalingNV(
- ResourceTracker* resourceTracker,
- VkViewportWScalingNV* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkPipelineViewportWScalingStateCreateInfoNV(
- ResourceTracker* resourceTracker,
- VkPipelineViewportWScalingStateCreateInfoNV* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pViewportWScalings)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->viewportCount; ++i)
- {
- transform_tohost_VkViewportWScalingNV(resourceTracker, (VkViewportWScalingNV*)(toTransform->pViewportWScalings + i));
- }
- }
-}
-
-void transform_fromhost_VkPipelineViewportWScalingStateCreateInfoNV(
- ResourceTracker* resourceTracker,
- VkPipelineViewportWScalingStateCreateInfoNV* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pViewportWScalings)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->viewportCount; ++i)
- {
- transform_fromhost_VkViewportWScalingNV(resourceTracker, (VkViewportWScalingNV*)(toTransform->pViewportWScalings + i));
- }
- }
-}
-
-#endif
-#ifdef VK_EXT_direct_mode_display
-#endif
-#ifdef VK_EXT_acquire_xlib_display
-#endif
-#ifdef VK_EXT_display_surface_counter
-void transform_tohost_VkSurfaceCapabilities2EXT(
- ResourceTracker* resourceTracker,
- VkSurfaceCapabilities2EXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_tohost_VkExtent2D(resourceTracker, (VkExtent2D*)(&toTransform->currentExtent));
- transform_tohost_VkExtent2D(resourceTracker, (VkExtent2D*)(&toTransform->minImageExtent));
- transform_tohost_VkExtent2D(resourceTracker, (VkExtent2D*)(&toTransform->maxImageExtent));
-}
-
-void transform_fromhost_VkSurfaceCapabilities2EXT(
- ResourceTracker* resourceTracker,
- VkSurfaceCapabilities2EXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_fromhost_VkExtent2D(resourceTracker, (VkExtent2D*)(&toTransform->currentExtent));
- transform_fromhost_VkExtent2D(resourceTracker, (VkExtent2D*)(&toTransform->minImageExtent));
- transform_fromhost_VkExtent2D(resourceTracker, (VkExtent2D*)(&toTransform->maxImageExtent));
-}
-
-#endif
-#ifdef VK_EXT_display_control
-void transform_tohost_VkDisplayPowerInfoEXT(
- ResourceTracker* resourceTracker,
- VkDisplayPowerInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkDisplayPowerInfoEXT(
- ResourceTracker* resourceTracker,
- VkDisplayPowerInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkDeviceEventInfoEXT(
- ResourceTracker* resourceTracker,
- VkDeviceEventInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkDeviceEventInfoEXT(
- ResourceTracker* resourceTracker,
- VkDeviceEventInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkDisplayEventInfoEXT(
- ResourceTracker* resourceTracker,
- VkDisplayEventInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkDisplayEventInfoEXT(
- ResourceTracker* resourceTracker,
- VkDisplayEventInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkSwapchainCounterCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkSwapchainCounterCreateInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkSwapchainCounterCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkSwapchainCounterCreateInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_GOOGLE_display_timing
-void transform_tohost_VkRefreshCycleDurationGOOGLE(
- ResourceTracker* resourceTracker,
- VkRefreshCycleDurationGOOGLE* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkRefreshCycleDurationGOOGLE(
- ResourceTracker* resourceTracker,
- VkRefreshCycleDurationGOOGLE* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkPastPresentationTimingGOOGLE(
- ResourceTracker* resourceTracker,
- VkPastPresentationTimingGOOGLE* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkPastPresentationTimingGOOGLE(
- ResourceTracker* resourceTracker,
- VkPastPresentationTimingGOOGLE* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkPresentTimeGOOGLE(
- ResourceTracker* resourceTracker,
- VkPresentTimeGOOGLE* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkPresentTimeGOOGLE(
- ResourceTracker* resourceTracker,
- VkPresentTimeGOOGLE* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkPresentTimesInfoGOOGLE(
- ResourceTracker* resourceTracker,
- VkPresentTimesInfoGOOGLE* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pTimes)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->swapchainCount; ++i)
- {
- transform_tohost_VkPresentTimeGOOGLE(resourceTracker, (VkPresentTimeGOOGLE*)(toTransform->pTimes + i));
- }
- }
-}
-
-void transform_fromhost_VkPresentTimesInfoGOOGLE(
- ResourceTracker* resourceTracker,
- VkPresentTimesInfoGOOGLE* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pTimes)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->swapchainCount; ++i)
- {
- transform_fromhost_VkPresentTimeGOOGLE(resourceTracker, (VkPresentTimeGOOGLE*)(toTransform->pTimes + i));
- }
- }
-}
-
-#endif
-#ifdef VK_NV_sample_mask_override_coverage
-#endif
-#ifdef VK_NV_geometry_shader_passthrough
-#endif
-#ifdef VK_NV_viewport_array2
-#endif
-#ifdef VK_NVX_multiview_per_view_attributes
-void transform_tohost_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_NV_viewport_swizzle
-void transform_tohost_VkViewportSwizzleNV(
- ResourceTracker* resourceTracker,
- VkViewportSwizzleNV* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkViewportSwizzleNV(
- ResourceTracker* resourceTracker,
- VkViewportSwizzleNV* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkPipelineViewportSwizzleStateCreateInfoNV(
- ResourceTracker* resourceTracker,
- VkPipelineViewportSwizzleStateCreateInfoNV* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pViewportSwizzles)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->viewportCount; ++i)
- {
- transform_tohost_VkViewportSwizzleNV(resourceTracker, (VkViewportSwizzleNV*)(toTransform->pViewportSwizzles + i));
- }
- }
-}
-
-void transform_fromhost_VkPipelineViewportSwizzleStateCreateInfoNV(
- ResourceTracker* resourceTracker,
- VkPipelineViewportSwizzleStateCreateInfoNV* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pViewportSwizzles)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->viewportCount; ++i)
- {
- transform_fromhost_VkViewportSwizzleNV(resourceTracker, (VkViewportSwizzleNV*)(toTransform->pViewportSwizzles + i));
- }
- }
-}
-
-#endif
-#ifdef VK_EXT_discard_rectangles
-void transform_tohost_VkPhysicalDeviceDiscardRectanglePropertiesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceDiscardRectanglePropertiesEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPhysicalDeviceDiscardRectanglePropertiesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceDiscardRectanglePropertiesEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkPipelineDiscardRectangleStateCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkPipelineDiscardRectangleStateCreateInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pDiscardRectangles)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->discardRectangleCount; ++i)
- {
- transform_tohost_VkRect2D(resourceTracker, (VkRect2D*)(toTransform->pDiscardRectangles + i));
- }
- }
-}
-
-void transform_fromhost_VkPipelineDiscardRectangleStateCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkPipelineDiscardRectangleStateCreateInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pDiscardRectangles)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->discardRectangleCount; ++i)
- {
- transform_fromhost_VkRect2D(resourceTracker, (VkRect2D*)(toTransform->pDiscardRectangles + i));
- }
- }
-}
-
-#endif
-#ifdef VK_EXT_conservative_rasterization
-void transform_tohost_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceConservativeRasterizationPropertiesEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceConservativeRasterizationPropertiesEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkPipelineRasterizationConservativeStateCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkPipelineRasterizationConservativeStateCreateInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPipelineRasterizationConservativeStateCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkPipelineRasterizationConservativeStateCreateInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_EXT_swapchain_colorspace
-#endif
-#ifdef VK_EXT_hdr_metadata
-void transform_tohost_VkXYColorEXT(
- ResourceTracker* resourceTracker,
- VkXYColorEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkXYColorEXT(
- ResourceTracker* resourceTracker,
- VkXYColorEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkHdrMetadataEXT(
- ResourceTracker* resourceTracker,
- VkHdrMetadataEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_tohost_VkXYColorEXT(resourceTracker, (VkXYColorEXT*)(&toTransform->displayPrimaryRed));
- transform_tohost_VkXYColorEXT(resourceTracker, (VkXYColorEXT*)(&toTransform->displayPrimaryGreen));
- transform_tohost_VkXYColorEXT(resourceTracker, (VkXYColorEXT*)(&toTransform->displayPrimaryBlue));
- transform_tohost_VkXYColorEXT(resourceTracker, (VkXYColorEXT*)(&toTransform->whitePoint));
-}
-
-void transform_fromhost_VkHdrMetadataEXT(
- ResourceTracker* resourceTracker,
- VkHdrMetadataEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_fromhost_VkXYColorEXT(resourceTracker, (VkXYColorEXT*)(&toTransform->displayPrimaryRed));
- transform_fromhost_VkXYColorEXT(resourceTracker, (VkXYColorEXT*)(&toTransform->displayPrimaryGreen));
- transform_fromhost_VkXYColorEXT(resourceTracker, (VkXYColorEXT*)(&toTransform->displayPrimaryBlue));
- transform_fromhost_VkXYColorEXT(resourceTracker, (VkXYColorEXT*)(&toTransform->whitePoint));
-}
-
-#endif
-#ifdef VK_MVK_ios_surface
-void transform_tohost_VkIOSSurfaceCreateInfoMVK(
- ResourceTracker* resourceTracker,
- VkIOSSurfaceCreateInfoMVK* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkIOSSurfaceCreateInfoMVK(
- ResourceTracker* resourceTracker,
- VkIOSSurfaceCreateInfoMVK* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_MVK_macos_surface
-void transform_tohost_VkMacOSSurfaceCreateInfoMVK(
- ResourceTracker* resourceTracker,
- VkMacOSSurfaceCreateInfoMVK* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkMacOSSurfaceCreateInfoMVK(
- ResourceTracker* resourceTracker,
- VkMacOSSurfaceCreateInfoMVK* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_EXT_external_memory_dma_buf
-#endif
-#ifdef VK_EXT_queue_family_foreign
-#endif
-#ifdef VK_EXT_debug_utils
-void transform_tohost_VkDebugUtilsObjectNameInfoEXT(
- ResourceTracker* resourceTracker,
- VkDebugUtilsObjectNameInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkDebugUtilsObjectNameInfoEXT(
- ResourceTracker* resourceTracker,
- VkDebugUtilsObjectNameInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkDebugUtilsObjectTagInfoEXT(
- ResourceTracker* resourceTracker,
- VkDebugUtilsObjectTagInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkDebugUtilsObjectTagInfoEXT(
- ResourceTracker* resourceTracker,
- VkDebugUtilsObjectTagInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkDebugUtilsLabelEXT(
- ResourceTracker* resourceTracker,
- VkDebugUtilsLabelEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkDebugUtilsLabelEXT(
- ResourceTracker* resourceTracker,
- VkDebugUtilsLabelEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkDebugUtilsMessengerCallbackDataEXT(
- ResourceTracker* resourceTracker,
- VkDebugUtilsMessengerCallbackDataEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pQueueLabels)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->queueLabelCount; ++i)
- {
- transform_tohost_VkDebugUtilsLabelEXT(resourceTracker, (VkDebugUtilsLabelEXT*)(toTransform->pQueueLabels + i));
- }
- }
- if (toTransform->pCmdBufLabels)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->cmdBufLabelCount; ++i)
- {
- transform_tohost_VkDebugUtilsLabelEXT(resourceTracker, (VkDebugUtilsLabelEXT*)(toTransform->pCmdBufLabels + i));
- }
- }
- if (toTransform->pObjects)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->objectCount; ++i)
- {
- transform_tohost_VkDebugUtilsObjectNameInfoEXT(resourceTracker, (VkDebugUtilsObjectNameInfoEXT*)(toTransform->pObjects + i));
- }
- }
-}
-
-void transform_fromhost_VkDebugUtilsMessengerCallbackDataEXT(
- ResourceTracker* resourceTracker,
- VkDebugUtilsMessengerCallbackDataEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pQueueLabels)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->queueLabelCount; ++i)
- {
- transform_fromhost_VkDebugUtilsLabelEXT(resourceTracker, (VkDebugUtilsLabelEXT*)(toTransform->pQueueLabels + i));
- }
- }
- if (toTransform->pCmdBufLabels)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->cmdBufLabelCount; ++i)
- {
- transform_fromhost_VkDebugUtilsLabelEXT(resourceTracker, (VkDebugUtilsLabelEXT*)(toTransform->pCmdBufLabels + i));
- }
- }
- if (toTransform->pObjects)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->objectCount; ++i)
- {
- transform_fromhost_VkDebugUtilsObjectNameInfoEXT(resourceTracker, (VkDebugUtilsObjectNameInfoEXT*)(toTransform->pObjects + i));
- }
- }
-}
-
-void transform_tohost_VkDebugUtilsMessengerCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkDebugUtilsMessengerCreateInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkDebugUtilsMessengerCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkDebugUtilsMessengerCreateInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_ANDROID_external_memory_android_hardware_buffer
-void transform_tohost_VkAndroidHardwareBufferUsageANDROID(
- ResourceTracker* resourceTracker,
- VkAndroidHardwareBufferUsageANDROID* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkAndroidHardwareBufferUsageANDROID(
- ResourceTracker* resourceTracker,
- VkAndroidHardwareBufferUsageANDROID* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkAndroidHardwareBufferPropertiesANDROID(
- ResourceTracker* resourceTracker,
- VkAndroidHardwareBufferPropertiesANDROID* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- resourceTracker->deviceMemoryTransform_tohost((VkDeviceMemory*)nullptr, 0, (VkDeviceSize*)nullptr, 0, (VkDeviceSize*)nullptr, 0, (uint32_t*)nullptr, 0, (uint32_t*)&toTransform->memoryTypeBits, 1);
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkAndroidHardwareBufferPropertiesANDROID(
- ResourceTracker* resourceTracker,
- VkAndroidHardwareBufferPropertiesANDROID* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- resourceTracker->deviceMemoryTransform_fromhost((VkDeviceMemory*)nullptr, 0, (VkDeviceSize*)nullptr, 0, (VkDeviceSize*)nullptr, 0, (uint32_t*)nullptr, 0, (uint32_t*)&toTransform->memoryTypeBits, 1);
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkAndroidHardwareBufferFormatPropertiesANDROID(
- ResourceTracker* resourceTracker,
- VkAndroidHardwareBufferFormatPropertiesANDROID* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_tohost_VkComponentMapping(resourceTracker, (VkComponentMapping*)(&toTransform->samplerYcbcrConversionComponents));
-}
-
-void transform_fromhost_VkAndroidHardwareBufferFormatPropertiesANDROID(
- ResourceTracker* resourceTracker,
- VkAndroidHardwareBufferFormatPropertiesANDROID* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_fromhost_VkComponentMapping(resourceTracker, (VkComponentMapping*)(&toTransform->samplerYcbcrConversionComponents));
-}
-
-void transform_tohost_VkImportAndroidHardwareBufferInfoANDROID(
- ResourceTracker* resourceTracker,
- VkImportAndroidHardwareBufferInfoANDROID* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkImportAndroidHardwareBufferInfoANDROID(
- ResourceTracker* resourceTracker,
- VkImportAndroidHardwareBufferInfoANDROID* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkMemoryGetAndroidHardwareBufferInfoANDROID(
- ResourceTracker* resourceTracker,
- VkMemoryGetAndroidHardwareBufferInfoANDROID* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- resourceTracker->deviceMemoryTransform_tohost((VkDeviceMemory*)&toTransform->memory, 1, (VkDeviceSize*)nullptr, 0, (VkDeviceSize*)nullptr, 0, (uint32_t*)nullptr, 0, (uint32_t*)nullptr, 0);
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkMemoryGetAndroidHardwareBufferInfoANDROID(
- ResourceTracker* resourceTracker,
- VkMemoryGetAndroidHardwareBufferInfoANDROID* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- resourceTracker->deviceMemoryTransform_fromhost((VkDeviceMemory*)&toTransform->memory, 1, (VkDeviceSize*)nullptr, 0, (VkDeviceSize*)nullptr, 0, (uint32_t*)nullptr, 0, (uint32_t*)nullptr, 0);
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkExternalFormatANDROID(
- ResourceTracker* resourceTracker,
- VkExternalFormatANDROID* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkExternalFormatANDROID(
- ResourceTracker* resourceTracker,
- VkExternalFormatANDROID* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_EXT_sampler_filter_minmax
-void transform_tohost_VkSamplerReductionModeCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkSamplerReductionModeCreateInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkSamplerReductionModeCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkSamplerReductionModeCreateInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_AMD_gpu_shader_int16
-#endif
-#ifdef VK_AMD_mixed_attachment_samples
-#endif
-#ifdef VK_AMD_shader_fragment_mask
-#endif
-#ifdef VK_EXT_shader_stencil_export
-#endif
-#ifdef VK_EXT_sample_locations
-void transform_tohost_VkSampleLocationEXT(
- ResourceTracker* resourceTracker,
- VkSampleLocationEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkSampleLocationEXT(
- ResourceTracker* resourceTracker,
- VkSampleLocationEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkSampleLocationsInfoEXT(
- ResourceTracker* resourceTracker,
- VkSampleLocationsInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_tohost_VkExtent2D(resourceTracker, (VkExtent2D*)(&toTransform->sampleLocationGridSize));
- if (toTransform->pSampleLocations)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->sampleLocationsCount; ++i)
- {
- transform_tohost_VkSampleLocationEXT(resourceTracker, (VkSampleLocationEXT*)(toTransform->pSampleLocations + i));
- }
- }
-}
-
-void transform_fromhost_VkSampleLocationsInfoEXT(
- ResourceTracker* resourceTracker,
- VkSampleLocationsInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_fromhost_VkExtent2D(resourceTracker, (VkExtent2D*)(&toTransform->sampleLocationGridSize));
- if (toTransform->pSampleLocations)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->sampleLocationsCount; ++i)
- {
- transform_fromhost_VkSampleLocationEXT(resourceTracker, (VkSampleLocationEXT*)(toTransform->pSampleLocations + i));
- }
- }
-}
-
-void transform_tohost_VkAttachmentSampleLocationsEXT(
- ResourceTracker* resourceTracker,
- VkAttachmentSampleLocationsEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_tohost_VkSampleLocationsInfoEXT(resourceTracker, (VkSampleLocationsInfoEXT*)(&toTransform->sampleLocationsInfo));
-}
-
-void transform_fromhost_VkAttachmentSampleLocationsEXT(
- ResourceTracker* resourceTracker,
- VkAttachmentSampleLocationsEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_fromhost_VkSampleLocationsInfoEXT(resourceTracker, (VkSampleLocationsInfoEXT*)(&toTransform->sampleLocationsInfo));
-}
-
-void transform_tohost_VkSubpassSampleLocationsEXT(
- ResourceTracker* resourceTracker,
- VkSubpassSampleLocationsEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_tohost_VkSampleLocationsInfoEXT(resourceTracker, (VkSampleLocationsInfoEXT*)(&toTransform->sampleLocationsInfo));
-}
-
-void transform_fromhost_VkSubpassSampleLocationsEXT(
- ResourceTracker* resourceTracker,
- VkSubpassSampleLocationsEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- transform_fromhost_VkSampleLocationsInfoEXT(resourceTracker, (VkSampleLocationsInfoEXT*)(&toTransform->sampleLocationsInfo));
-}
-
-void transform_tohost_VkRenderPassSampleLocationsBeginInfoEXT(
- ResourceTracker* resourceTracker,
- VkRenderPassSampleLocationsBeginInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pAttachmentInitialSampleLocations)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->attachmentInitialSampleLocationsCount; ++i)
- {
- transform_tohost_VkAttachmentSampleLocationsEXT(resourceTracker, (VkAttachmentSampleLocationsEXT*)(toTransform->pAttachmentInitialSampleLocations + i));
- }
- }
- if (toTransform->pPostSubpassSampleLocations)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->postSubpassSampleLocationsCount; ++i)
- {
- transform_tohost_VkSubpassSampleLocationsEXT(resourceTracker, (VkSubpassSampleLocationsEXT*)(toTransform->pPostSubpassSampleLocations + i));
- }
- }
-}
-
-void transform_fromhost_VkRenderPassSampleLocationsBeginInfoEXT(
- ResourceTracker* resourceTracker,
- VkRenderPassSampleLocationsBeginInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pAttachmentInitialSampleLocations)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->attachmentInitialSampleLocationsCount; ++i)
- {
- transform_fromhost_VkAttachmentSampleLocationsEXT(resourceTracker, (VkAttachmentSampleLocationsEXT*)(toTransform->pAttachmentInitialSampleLocations + i));
- }
- }
- if (toTransform->pPostSubpassSampleLocations)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->postSubpassSampleLocationsCount; ++i)
- {
- transform_fromhost_VkSubpassSampleLocationsEXT(resourceTracker, (VkSubpassSampleLocationsEXT*)(toTransform->pPostSubpassSampleLocations + i));
- }
- }
-}
-
-void transform_tohost_VkPipelineSampleLocationsStateCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkPipelineSampleLocationsStateCreateInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_tohost_VkSampleLocationsInfoEXT(resourceTracker, (VkSampleLocationsInfoEXT*)(&toTransform->sampleLocationsInfo));
-}
-
-void transform_fromhost_VkPipelineSampleLocationsStateCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkPipelineSampleLocationsStateCreateInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_fromhost_VkSampleLocationsInfoEXT(resourceTracker, (VkSampleLocationsInfoEXT*)(&toTransform->sampleLocationsInfo));
-}
-
-void transform_tohost_VkPhysicalDeviceSampleLocationsPropertiesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceSampleLocationsPropertiesEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_tohost_VkExtent2D(resourceTracker, (VkExtent2D*)(&toTransform->maxSampleLocationGridSize));
-}
-
-void transform_fromhost_VkPhysicalDeviceSampleLocationsPropertiesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceSampleLocationsPropertiesEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_fromhost_VkExtent2D(resourceTracker, (VkExtent2D*)(&toTransform->maxSampleLocationGridSize));
-}
-
-void transform_tohost_VkMultisamplePropertiesEXT(
- ResourceTracker* resourceTracker,
- VkMultisamplePropertiesEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_tohost_VkExtent2D(resourceTracker, (VkExtent2D*)(&toTransform->maxSampleLocationGridSize));
-}
-
-void transform_fromhost_VkMultisamplePropertiesEXT(
- ResourceTracker* resourceTracker,
- VkMultisamplePropertiesEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- transform_fromhost_VkExtent2D(resourceTracker, (VkExtent2D*)(&toTransform->maxSampleLocationGridSize));
-}
-
-#endif
-#ifdef VK_EXT_blend_operation_advanced
-void transform_tohost_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkPipelineColorBlendAdvancedStateCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkPipelineColorBlendAdvancedStateCreateInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPipelineColorBlendAdvancedStateCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkPipelineColorBlendAdvancedStateCreateInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_NV_fragment_coverage_to_color
-void transform_tohost_VkPipelineCoverageToColorStateCreateInfoNV(
- ResourceTracker* resourceTracker,
- VkPipelineCoverageToColorStateCreateInfoNV* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPipelineCoverageToColorStateCreateInfoNV(
- ResourceTracker* resourceTracker,
- VkPipelineCoverageToColorStateCreateInfoNV* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_NV_framebuffer_mixed_samples
-void transform_tohost_VkPipelineCoverageModulationStateCreateInfoNV(
- ResourceTracker* resourceTracker,
- VkPipelineCoverageModulationStateCreateInfoNV* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPipelineCoverageModulationStateCreateInfoNV(
- ResourceTracker* resourceTracker,
- VkPipelineCoverageModulationStateCreateInfoNV* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_NV_fill_rectangle
-#endif
-#ifdef VK_EXT_post_depth_coverage
-#endif
-#ifdef VK_EXT_validation_cache
-void transform_tohost_VkValidationCacheCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkValidationCacheCreateInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkValidationCacheCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkValidationCacheCreateInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkShaderModuleValidationCacheCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkShaderModuleValidationCacheCreateInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkShaderModuleValidationCacheCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkShaderModuleValidationCacheCreateInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_EXT_descriptor_indexing
-void transform_tohost_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkDescriptorSetLayoutBindingFlagsCreateInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkDescriptorSetLayoutBindingFlagsCreateInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkPhysicalDeviceDescriptorIndexingFeaturesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceDescriptorIndexingFeaturesEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPhysicalDeviceDescriptorIndexingFeaturesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceDescriptorIndexingFeaturesEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkPhysicalDeviceDescriptorIndexingPropertiesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceDescriptorIndexingPropertiesEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPhysicalDeviceDescriptorIndexingPropertiesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceDescriptorIndexingPropertiesEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT(
- ResourceTracker* resourceTracker,
- VkDescriptorSetVariableDescriptorCountAllocateInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT(
- ResourceTracker* resourceTracker,
- VkDescriptorSetVariableDescriptorCountAllocateInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT(
- ResourceTracker* resourceTracker,
- VkDescriptorSetVariableDescriptorCountLayoutSupportEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT(
- ResourceTracker* resourceTracker,
- VkDescriptorSetVariableDescriptorCountLayoutSupportEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_EXT_shader_viewport_index_layer
-#endif
-#ifdef VK_EXT_global_priority
-void transform_tohost_VkDeviceQueueGlobalPriorityCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkDeviceQueueGlobalPriorityCreateInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkDeviceQueueGlobalPriorityCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkDeviceQueueGlobalPriorityCreateInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_EXT_external_memory_host
-void transform_tohost_VkImportMemoryHostPointerInfoEXT(
- ResourceTracker* resourceTracker,
- VkImportMemoryHostPointerInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkImportMemoryHostPointerInfoEXT(
- ResourceTracker* resourceTracker,
- VkImportMemoryHostPointerInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkMemoryHostPointerPropertiesEXT(
- ResourceTracker* resourceTracker,
- VkMemoryHostPointerPropertiesEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- resourceTracker->deviceMemoryTransform_tohost((VkDeviceMemory*)nullptr, 0, (VkDeviceSize*)nullptr, 0, (VkDeviceSize*)nullptr, 0, (uint32_t*)nullptr, 0, (uint32_t*)&toTransform->memoryTypeBits, 1);
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkMemoryHostPointerPropertiesEXT(
- ResourceTracker* resourceTracker,
- VkMemoryHostPointerPropertiesEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- resourceTracker->deviceMemoryTransform_fromhost((VkDeviceMemory*)nullptr, 0, (VkDeviceSize*)nullptr, 0, (VkDeviceSize*)nullptr, 0, (uint32_t*)nullptr, 0, (uint32_t*)&toTransform->memoryTypeBits, 1);
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceExternalMemoryHostPropertiesEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceExternalMemoryHostPropertiesEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_AMD_buffer_marker
-#endif
-#ifdef VK_AMD_shader_core_properties
-void transform_tohost_VkPhysicalDeviceShaderCorePropertiesAMD(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceShaderCorePropertiesAMD* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPhysicalDeviceShaderCorePropertiesAMD(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceShaderCorePropertiesAMD* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_EXT_vertex_attribute_divisor
-void transform_tohost_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkVertexInputBindingDivisorDescriptionEXT(
- ResourceTracker* resourceTracker,
- VkVertexInputBindingDivisorDescriptionEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_fromhost_VkVertexInputBindingDivisorDescriptionEXT(
- ResourceTracker* resourceTracker,
- VkVertexInputBindingDivisorDescriptionEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
-}
-
-void transform_tohost_VkPipelineVertexInputDivisorStateCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkPipelineVertexInputDivisorStateCreateInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pVertexBindingDivisors)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->vertexBindingDivisorCount; ++i)
- {
- transform_tohost_VkVertexInputBindingDivisorDescriptionEXT(resourceTracker, (VkVertexInputBindingDivisorDescriptionEXT*)(toTransform->pVertexBindingDivisors + i));
- }
- }
-}
-
-void transform_fromhost_VkPipelineVertexInputDivisorStateCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkPipelineVertexInputDivisorStateCreateInfoEXT* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
- if (toTransform->pVertexBindingDivisors)
- {
- for (uint32_t i = 0; i < (uint32_t)toTransform->vertexBindingDivisorCount; ++i)
- {
- transform_fromhost_VkVertexInputBindingDivisorDescriptionEXT(resourceTracker, (VkVertexInputBindingDivisorDescriptionEXT*)(toTransform->pVertexBindingDivisors + i));
- }
- }
-}
-
-#endif
-#ifdef VK_NV_shader_subgroup_partitioned
-#endif
-#ifdef VK_NV_device_diagnostic_checkpoints
-void transform_tohost_VkQueueFamilyCheckpointPropertiesNV(
- ResourceTracker* resourceTracker,
- VkQueueFamilyCheckpointPropertiesNV* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkQueueFamilyCheckpointPropertiesNV(
- ResourceTracker* resourceTracker,
- VkQueueFamilyCheckpointPropertiesNV* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkCheckpointDataNV(
- ResourceTracker* resourceTracker,
- VkCheckpointDataNV* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkCheckpointDataNV(
- ResourceTracker* resourceTracker,
- VkCheckpointDataNV* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_GOOGLE_address_space
-#endif
-#ifdef VK_GOOGLE_color_buffer
-void transform_tohost_VkImportColorBufferGOOGLE(
- ResourceTracker* resourceTracker,
- VkImportColorBufferGOOGLE* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkImportColorBufferGOOGLE(
- ResourceTracker* resourceTracker,
- VkImportColorBufferGOOGLE* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkImportBufferGOOGLE(
- ResourceTracker* resourceTracker,
- VkImportBufferGOOGLE* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkImportBufferGOOGLE(
- ResourceTracker* resourceTracker,
- VkImportBufferGOOGLE* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_tohost_VkImportPhysicalAddressGOOGLE(
- ResourceTracker* resourceTracker,
- VkImportPhysicalAddressGOOGLE* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_tohost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-void transform_fromhost_VkImportPhysicalAddressGOOGLE(
- ResourceTracker* resourceTracker,
- VkImportPhysicalAddressGOOGLE* toTransform)
-{
- (void)resourceTracker;
- (void)toTransform;
- if (toTransform->pNext)
- {
- transform_fromhost_extension_struct(resourceTracker, (void*)(toTransform->pNext));
- }
-}
-
-#endif
-#ifdef VK_GOOGLE_sized_descriptor_update_template
-#endif
-#ifdef VK_GOOGLE_async_command_buffers
-#endif
-#ifdef VK_GOOGLE_create_resources_with_requirements
-#endif
-#ifdef VK_GOOGLE_address_space_info
-#endif
-#ifdef VK_GOOGLE_free_memory_sync
-#endif
-#ifdef VK_GOOGLE_async_queue_submit
-#endif
-#ifdef VK_GOOGLE_linear_image_layout
-#endif
-void transform_tohost_extension_struct(
- ResourceTracker* resourceTracker,
- void* structExtension_out)
-{
- if (!structExtension_out)
- {
- return;
- }
- uint32_t structType = (uint32_t)goldfish_vk_struct_type(structExtension_out);
- switch(structType)
- {
-#ifdef VK_VERSION_1_1
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES:
- {
- transform_tohost_VkPhysicalDeviceSubgroupProperties(resourceTracker, reinterpret_cast<VkPhysicalDeviceSubgroupProperties*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:
- {
- transform_tohost_VkPhysicalDevice16BitStorageFeatures(resourceTracker, reinterpret_cast<VkPhysicalDevice16BitStorageFeatures*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS:
- {
- transform_tohost_VkMemoryDedicatedRequirements(resourceTracker, reinterpret_cast<VkMemoryDedicatedRequirements*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO:
- {
- transform_tohost_VkMemoryDedicatedAllocateInfo(resourceTracker, reinterpret_cast<VkMemoryDedicatedAllocateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO:
- {
- transform_tohost_VkMemoryAllocateFlagsInfo(resourceTracker, reinterpret_cast<VkMemoryAllocateFlagsInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO:
- {
- transform_tohost_VkDeviceGroupRenderPassBeginInfo(resourceTracker, reinterpret_cast<VkDeviceGroupRenderPassBeginInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO:
- {
- transform_tohost_VkDeviceGroupCommandBufferBeginInfo(resourceTracker, reinterpret_cast<VkDeviceGroupCommandBufferBeginInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO:
- {
- transform_tohost_VkDeviceGroupSubmitInfo(resourceTracker, reinterpret_cast<VkDeviceGroupSubmitInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO:
- {
- transform_tohost_VkDeviceGroupBindSparseInfo(resourceTracker, reinterpret_cast<VkDeviceGroupBindSparseInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO:
- {
- transform_tohost_VkBindBufferMemoryDeviceGroupInfo(resourceTracker, reinterpret_cast<VkBindBufferMemoryDeviceGroupInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO:
- {
- transform_tohost_VkBindImageMemoryDeviceGroupInfo(resourceTracker, reinterpret_cast<VkBindImageMemoryDeviceGroupInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO:
- {
- transform_tohost_VkDeviceGroupDeviceCreateInfo(resourceTracker, reinterpret_cast<VkDeviceGroupDeviceCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2:
- {
- transform_tohost_VkPhysicalDeviceFeatures2(resourceTracker, reinterpret_cast<VkPhysicalDeviceFeatures2*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES:
- {
- transform_tohost_VkPhysicalDevicePointClippingProperties(resourceTracker, reinterpret_cast<VkPhysicalDevicePointClippingProperties*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO:
- {
- transform_tohost_VkRenderPassInputAttachmentAspectCreateInfo(resourceTracker, reinterpret_cast<VkRenderPassInputAttachmentAspectCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO:
- {
- transform_tohost_VkImageViewUsageCreateInfo(resourceTracker, reinterpret_cast<VkImageViewUsageCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO:
- {
- transform_tohost_VkPipelineTessellationDomainOriginStateCreateInfo(resourceTracker, reinterpret_cast<VkPipelineTessellationDomainOriginStateCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO:
- {
- transform_tohost_VkRenderPassMultiviewCreateInfo(resourceTracker, reinterpret_cast<VkRenderPassMultiviewCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:
- {
- transform_tohost_VkPhysicalDeviceMultiviewFeatures(resourceTracker, reinterpret_cast<VkPhysicalDeviceMultiviewFeatures*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES:
- {
- transform_tohost_VkPhysicalDeviceMultiviewProperties(resourceTracker, reinterpret_cast<VkPhysicalDeviceMultiviewProperties*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES:
- {
- transform_tohost_VkPhysicalDeviceVariablePointerFeatures(resourceTracker, reinterpret_cast<VkPhysicalDeviceVariablePointerFeatures*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:
- {
- transform_tohost_VkPhysicalDeviceProtectedMemoryFeatures(resourceTracker, reinterpret_cast<VkPhysicalDeviceProtectedMemoryFeatures*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES:
- {
- transform_tohost_VkPhysicalDeviceProtectedMemoryProperties(resourceTracker, reinterpret_cast<VkPhysicalDeviceProtectedMemoryProperties*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO:
- {
- transform_tohost_VkProtectedSubmitInfo(resourceTracker, reinterpret_cast<VkProtectedSubmitInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO:
- {
- transform_tohost_VkSamplerYcbcrConversionInfo(resourceTracker, reinterpret_cast<VkSamplerYcbcrConversionInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO:
- {
- transform_tohost_VkBindImagePlaneMemoryInfo(resourceTracker, reinterpret_cast<VkBindImagePlaneMemoryInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO:
- {
- transform_tohost_VkImagePlaneMemoryRequirementsInfo(resourceTracker, reinterpret_cast<VkImagePlaneMemoryRequirementsInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:
- {
- transform_tohost_VkPhysicalDeviceSamplerYcbcrConversionFeatures(resourceTracker, reinterpret_cast<VkPhysicalDeviceSamplerYcbcrConversionFeatures*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES:
- {
- transform_tohost_VkSamplerYcbcrConversionImageFormatProperties(resourceTracker, reinterpret_cast<VkSamplerYcbcrConversionImageFormatProperties*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO:
- {
- resourceTracker->transformImpl_VkPhysicalDeviceExternalImageFormatInfo_tohost(reinterpret_cast<VkPhysicalDeviceExternalImageFormatInfo*>(structExtension_out), 1);
- transform_tohost_VkPhysicalDeviceExternalImageFormatInfo(resourceTracker, reinterpret_cast<VkPhysicalDeviceExternalImageFormatInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES:
- {
- resourceTracker->transformImpl_VkExternalImageFormatProperties_tohost(reinterpret_cast<VkExternalImageFormatProperties*>(structExtension_out), 1);
- transform_tohost_VkExternalImageFormatProperties(resourceTracker, reinterpret_cast<VkExternalImageFormatProperties*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES:
- {
- transform_tohost_VkPhysicalDeviceIDProperties(resourceTracker, reinterpret_cast<VkPhysicalDeviceIDProperties*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO:
- {
- resourceTracker->transformImpl_VkExternalMemoryImageCreateInfo_tohost(reinterpret_cast<VkExternalMemoryImageCreateInfo*>(structExtension_out), 1);
- transform_tohost_VkExternalMemoryImageCreateInfo(resourceTracker, reinterpret_cast<VkExternalMemoryImageCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO:
- {
- resourceTracker->transformImpl_VkExternalMemoryBufferCreateInfo_tohost(reinterpret_cast<VkExternalMemoryBufferCreateInfo*>(structExtension_out), 1);
- transform_tohost_VkExternalMemoryBufferCreateInfo(resourceTracker, reinterpret_cast<VkExternalMemoryBufferCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO:
- {
- resourceTracker->transformImpl_VkExportMemoryAllocateInfo_tohost(reinterpret_cast<VkExportMemoryAllocateInfo*>(structExtension_out), 1);
- transform_tohost_VkExportMemoryAllocateInfo(resourceTracker, reinterpret_cast<VkExportMemoryAllocateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO:
- {
- transform_tohost_VkExportFenceCreateInfo(resourceTracker, reinterpret_cast<VkExportFenceCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO:
- {
- transform_tohost_VkExportSemaphoreCreateInfo(resourceTracker, reinterpret_cast<VkExportSemaphoreCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES:
- {
- transform_tohost_VkPhysicalDeviceMaintenance3Properties(resourceTracker, reinterpret_cast<VkPhysicalDeviceMaintenance3Properties*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES:
- {
- transform_tohost_VkPhysicalDeviceShaderDrawParameterFeatures(resourceTracker, reinterpret_cast<VkPhysicalDeviceShaderDrawParameterFeatures*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_swapchain
- case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR:
- {
- transform_tohost_VkImageSwapchainCreateInfoKHR(resourceTracker, reinterpret_cast<VkImageSwapchainCreateInfoKHR*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR:
- {
- transform_tohost_VkBindImageMemorySwapchainInfoKHR(resourceTracker, reinterpret_cast<VkBindImageMemorySwapchainInfoKHR*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR:
- {
- transform_tohost_VkDeviceGroupPresentInfoKHR(resourceTracker, reinterpret_cast<VkDeviceGroupPresentInfoKHR*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR:
- {
- transform_tohost_VkDeviceGroupSwapchainCreateInfoKHR(resourceTracker, reinterpret_cast<VkDeviceGroupSwapchainCreateInfoKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_display_swapchain
- case VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR:
- {
- transform_tohost_VkDisplayPresentInfoKHR(resourceTracker, reinterpret_cast<VkDisplayPresentInfoKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_external_memory_win32
- case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR:
- {
- transform_tohost_VkImportMemoryWin32HandleInfoKHR(resourceTracker, reinterpret_cast<VkImportMemoryWin32HandleInfoKHR*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR:
- {
- transform_tohost_VkExportMemoryWin32HandleInfoKHR(resourceTracker, reinterpret_cast<VkExportMemoryWin32HandleInfoKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_external_memory_fd
- case VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR:
- {
- transform_tohost_VkImportMemoryFdInfoKHR(resourceTracker, reinterpret_cast<VkImportMemoryFdInfoKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_win32_keyed_mutex
- case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR:
- {
- transform_tohost_VkWin32KeyedMutexAcquireReleaseInfoKHR(resourceTracker, reinterpret_cast<VkWin32KeyedMutexAcquireReleaseInfoKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_external_semaphore_win32
- case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR:
- {
- transform_tohost_VkExportSemaphoreWin32HandleInfoKHR(resourceTracker, reinterpret_cast<VkExportSemaphoreWin32HandleInfoKHR*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR:
- {
- transform_tohost_VkD3D12FenceSubmitInfoKHR(resourceTracker, reinterpret_cast<VkD3D12FenceSubmitInfoKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_push_descriptor
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR:
- {
- transform_tohost_VkPhysicalDevicePushDescriptorPropertiesKHR(resourceTracker, reinterpret_cast<VkPhysicalDevicePushDescriptorPropertiesKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_incremental_present
- case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR:
- {
- transform_tohost_VkPresentRegionsKHR(resourceTracker, reinterpret_cast<VkPresentRegionsKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_shared_presentable_image
- case VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR:
- {
- transform_tohost_VkSharedPresentSurfaceCapabilitiesKHR(resourceTracker, reinterpret_cast<VkSharedPresentSurfaceCapabilitiesKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_external_fence_win32
- case VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR:
- {
- transform_tohost_VkExportFenceWin32HandleInfoKHR(resourceTracker, reinterpret_cast<VkExportFenceWin32HandleInfoKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_image_format_list
- case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR:
- {
- transform_tohost_VkImageFormatListCreateInfoKHR(resourceTracker, reinterpret_cast<VkImageFormatListCreateInfoKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_8bit_storage
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR:
- {
- transform_tohost_VkPhysicalDevice8BitStorageFeaturesKHR(resourceTracker, reinterpret_cast<VkPhysicalDevice8BitStorageFeaturesKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_shader_float16_int8
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:
- {
- transform_tohost_VkPhysicalDeviceShaderFloat16Int8Features(resourceTracker, reinterpret_cast<VkPhysicalDeviceShaderFloat16Int8Features*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_ANDROID_native_buffer
- case VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID:
- {
- transform_tohost_VkNativeBufferANDROID(resourceTracker, reinterpret_cast<VkNativeBufferANDROID*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_debug_report
- case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT:
- {
- transform_tohost_VkDebugReportCallbackCreateInfoEXT(resourceTracker, reinterpret_cast<VkDebugReportCallbackCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_AMD_rasterization_order
- case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD:
- {
- transform_tohost_VkPipelineRasterizationStateRasterizationOrderAMD(resourceTracker, reinterpret_cast<VkPipelineRasterizationStateRasterizationOrderAMD*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_dedicated_allocation
- case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV:
- {
- transform_tohost_VkDedicatedAllocationImageCreateInfoNV(resourceTracker, reinterpret_cast<VkDedicatedAllocationImageCreateInfoNV*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV:
- {
- transform_tohost_VkDedicatedAllocationBufferCreateInfoNV(resourceTracker, reinterpret_cast<VkDedicatedAllocationBufferCreateInfoNV*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV:
- {
- transform_tohost_VkDedicatedAllocationMemoryAllocateInfoNV(resourceTracker, reinterpret_cast<VkDedicatedAllocationMemoryAllocateInfoNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_AMD_texture_gather_bias_lod
- case VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD:
- {
- transform_tohost_VkTextureLODGatherFormatPropertiesAMD(resourceTracker, reinterpret_cast<VkTextureLODGatherFormatPropertiesAMD*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_external_memory
- case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV:
- {
- transform_tohost_VkExternalMemoryImageCreateInfoNV(resourceTracker, reinterpret_cast<VkExternalMemoryImageCreateInfoNV*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV:
- {
- transform_tohost_VkExportMemoryAllocateInfoNV(resourceTracker, reinterpret_cast<VkExportMemoryAllocateInfoNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_external_memory_win32
- case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV:
- {
- transform_tohost_VkImportMemoryWin32HandleInfoNV(resourceTracker, reinterpret_cast<VkImportMemoryWin32HandleInfoNV*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV:
- {
- transform_tohost_VkExportMemoryWin32HandleInfoNV(resourceTracker, reinterpret_cast<VkExportMemoryWin32HandleInfoNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_win32_keyed_mutex
- case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV:
- {
- transform_tohost_VkWin32KeyedMutexAcquireReleaseInfoNV(resourceTracker, reinterpret_cast<VkWin32KeyedMutexAcquireReleaseInfoNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_validation_flags
- case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT:
- {
- transform_tohost_VkValidationFlagsEXT(resourceTracker, reinterpret_cast<VkValidationFlagsEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_conditional_rendering
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT:
- {
- transform_tohost_VkPhysicalDeviceConditionalRenderingFeaturesEXT(resourceTracker, reinterpret_cast<VkPhysicalDeviceConditionalRenderingFeaturesEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT:
- {
- transform_tohost_VkCommandBufferInheritanceConditionalRenderingInfoEXT(resourceTracker, reinterpret_cast<VkCommandBufferInheritanceConditionalRenderingInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_clip_space_w_scaling
- case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV:
- {
- transform_tohost_VkPipelineViewportWScalingStateCreateInfoNV(resourceTracker, reinterpret_cast<VkPipelineViewportWScalingStateCreateInfoNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_display_control
- case VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT:
- {
- transform_tohost_VkSwapchainCounterCreateInfoEXT(resourceTracker, reinterpret_cast<VkSwapchainCounterCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_GOOGLE_display_timing
- case VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE:
- {
- transform_tohost_VkPresentTimesInfoGOOGLE(resourceTracker, reinterpret_cast<VkPresentTimesInfoGOOGLE*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NVX_multiview_per_view_attributes
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX:
- {
- transform_tohost_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(resourceTracker, reinterpret_cast<VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_viewport_swizzle
- case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV:
- {
- transform_tohost_VkPipelineViewportSwizzleStateCreateInfoNV(resourceTracker, reinterpret_cast<VkPipelineViewportSwizzleStateCreateInfoNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_discard_rectangles
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT:
- {
- transform_tohost_VkPhysicalDeviceDiscardRectanglePropertiesEXT(resourceTracker, reinterpret_cast<VkPhysicalDeviceDiscardRectanglePropertiesEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT:
- {
- transform_tohost_VkPipelineDiscardRectangleStateCreateInfoEXT(resourceTracker, reinterpret_cast<VkPipelineDiscardRectangleStateCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_conservative_rasterization
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT:
- {
- transform_tohost_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(resourceTracker, reinterpret_cast<VkPhysicalDeviceConservativeRasterizationPropertiesEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT:
- {
- transform_tohost_VkPipelineRasterizationConservativeStateCreateInfoEXT(resourceTracker, reinterpret_cast<VkPipelineRasterizationConservativeStateCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_debug_utils
- case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT:
- {
- transform_tohost_VkDebugUtilsMessengerCreateInfoEXT(resourceTracker, reinterpret_cast<VkDebugUtilsMessengerCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_ANDROID_external_memory_android_hardware_buffer
- case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID:
- {
- transform_tohost_VkAndroidHardwareBufferUsageANDROID(resourceTracker, reinterpret_cast<VkAndroidHardwareBufferUsageANDROID*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID:
- {
- transform_tohost_VkAndroidHardwareBufferFormatPropertiesANDROID(resourceTracker, reinterpret_cast<VkAndroidHardwareBufferFormatPropertiesANDROID*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID:
- {
- transform_tohost_VkImportAndroidHardwareBufferInfoANDROID(resourceTracker, reinterpret_cast<VkImportAndroidHardwareBufferInfoANDROID*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID:
- {
- transform_tohost_VkExternalFormatANDROID(resourceTracker, reinterpret_cast<VkExternalFormatANDROID*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_sampler_filter_minmax
- case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT:
- {
- transform_tohost_VkSamplerReductionModeCreateInfoEXT(resourceTracker, reinterpret_cast<VkSamplerReductionModeCreateInfoEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT:
- {
- transform_tohost_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT(resourceTracker, reinterpret_cast<VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_sample_locations
- case VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT:
- {
- transform_tohost_VkSampleLocationsInfoEXT(resourceTracker, reinterpret_cast<VkSampleLocationsInfoEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT:
- {
- transform_tohost_VkRenderPassSampleLocationsBeginInfoEXT(resourceTracker, reinterpret_cast<VkRenderPassSampleLocationsBeginInfoEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT:
- {
- transform_tohost_VkPipelineSampleLocationsStateCreateInfoEXT(resourceTracker, reinterpret_cast<VkPipelineSampleLocationsStateCreateInfoEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT:
- {
- transform_tohost_VkPhysicalDeviceSampleLocationsPropertiesEXT(resourceTracker, reinterpret_cast<VkPhysicalDeviceSampleLocationsPropertiesEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_blend_operation_advanced
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT:
- {
- transform_tohost_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(resourceTracker, reinterpret_cast<VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT:
- {
- transform_tohost_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(resourceTracker, reinterpret_cast<VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT:
- {
- transform_tohost_VkPipelineColorBlendAdvancedStateCreateInfoEXT(resourceTracker, reinterpret_cast<VkPipelineColorBlendAdvancedStateCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_fragment_coverage_to_color
- case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV:
- {
- transform_tohost_VkPipelineCoverageToColorStateCreateInfoNV(resourceTracker, reinterpret_cast<VkPipelineCoverageToColorStateCreateInfoNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_framebuffer_mixed_samples
- case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV:
- {
- transform_tohost_VkPipelineCoverageModulationStateCreateInfoNV(resourceTracker, reinterpret_cast<VkPipelineCoverageModulationStateCreateInfoNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_validation_cache
- case VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT:
- {
- transform_tohost_VkShaderModuleValidationCacheCreateInfoEXT(resourceTracker, reinterpret_cast<VkShaderModuleValidationCacheCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_descriptor_indexing
- case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT:
- {
- transform_tohost_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT(resourceTracker, reinterpret_cast<VkDescriptorSetLayoutBindingFlagsCreateInfoEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT:
- {
- transform_tohost_VkPhysicalDeviceDescriptorIndexingFeaturesEXT(resourceTracker, reinterpret_cast<VkPhysicalDeviceDescriptorIndexingFeaturesEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT:
- {
- transform_tohost_VkPhysicalDeviceDescriptorIndexingPropertiesEXT(resourceTracker, reinterpret_cast<VkPhysicalDeviceDescriptorIndexingPropertiesEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT:
- {
- transform_tohost_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT(resourceTracker, reinterpret_cast<VkDescriptorSetVariableDescriptorCountAllocateInfoEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT:
- {
- transform_tohost_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT(resourceTracker, reinterpret_cast<VkDescriptorSetVariableDescriptorCountLayoutSupportEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_global_priority
- case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT:
- {
- transform_tohost_VkDeviceQueueGlobalPriorityCreateInfoEXT(resourceTracker, reinterpret_cast<VkDeviceQueueGlobalPriorityCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_external_memory_host
- case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT:
- {
- transform_tohost_VkImportMemoryHostPointerInfoEXT(resourceTracker, reinterpret_cast<VkImportMemoryHostPointerInfoEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT:
- {
- transform_tohost_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(resourceTracker, reinterpret_cast<VkPhysicalDeviceExternalMemoryHostPropertiesEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_AMD_shader_core_properties
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD:
- {
- transform_tohost_VkPhysicalDeviceShaderCorePropertiesAMD(resourceTracker, reinterpret_cast<VkPhysicalDeviceShaderCorePropertiesAMD*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_vertex_attribute_divisor
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT:
- {
- transform_tohost_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(resourceTracker, reinterpret_cast<VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT:
- {
- transform_tohost_VkPipelineVertexInputDivisorStateCreateInfoEXT(resourceTracker, reinterpret_cast<VkPipelineVertexInputDivisorStateCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_device_diagnostic_checkpoints
- case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV:
- {
- transform_tohost_VkQueueFamilyCheckpointPropertiesNV(resourceTracker, reinterpret_cast<VkQueueFamilyCheckpointPropertiesNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_GOOGLE_color_buffer
- case VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE:
- {
- transform_tohost_VkImportColorBufferGOOGLE(resourceTracker, reinterpret_cast<VkImportColorBufferGOOGLE*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE:
- {
- transform_tohost_VkImportBufferGOOGLE(resourceTracker, reinterpret_cast<VkImportBufferGOOGLE*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_IMPORT_PHYSICAL_ADDRESS_GOOGLE:
- {
- transform_tohost_VkImportPhysicalAddressGOOGLE(resourceTracker, reinterpret_cast<VkImportPhysicalAddressGOOGLE*>(structExtension_out));
- break;
- }
-#endif
- default:
- {
- return;
- }
- }
-}
-
-void transform_fromhost_extension_struct(
- ResourceTracker* resourceTracker,
- void* structExtension_out)
-{
- if (!structExtension_out)
- {
- return;
- }
- uint32_t structType = (uint32_t)goldfish_vk_struct_type(structExtension_out);
- switch(structType)
- {
-#ifdef VK_VERSION_1_1
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES:
- {
- transform_fromhost_VkPhysicalDeviceSubgroupProperties(resourceTracker, reinterpret_cast<VkPhysicalDeviceSubgroupProperties*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:
- {
- transform_fromhost_VkPhysicalDevice16BitStorageFeatures(resourceTracker, reinterpret_cast<VkPhysicalDevice16BitStorageFeatures*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS:
- {
- transform_fromhost_VkMemoryDedicatedRequirements(resourceTracker, reinterpret_cast<VkMemoryDedicatedRequirements*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO:
- {
- transform_fromhost_VkMemoryDedicatedAllocateInfo(resourceTracker, reinterpret_cast<VkMemoryDedicatedAllocateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO:
- {
- transform_fromhost_VkMemoryAllocateFlagsInfo(resourceTracker, reinterpret_cast<VkMemoryAllocateFlagsInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO:
- {
- transform_fromhost_VkDeviceGroupRenderPassBeginInfo(resourceTracker, reinterpret_cast<VkDeviceGroupRenderPassBeginInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO:
- {
- transform_fromhost_VkDeviceGroupCommandBufferBeginInfo(resourceTracker, reinterpret_cast<VkDeviceGroupCommandBufferBeginInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO:
- {
- transform_fromhost_VkDeviceGroupSubmitInfo(resourceTracker, reinterpret_cast<VkDeviceGroupSubmitInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO:
- {
- transform_fromhost_VkDeviceGroupBindSparseInfo(resourceTracker, reinterpret_cast<VkDeviceGroupBindSparseInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO:
- {
- transform_fromhost_VkBindBufferMemoryDeviceGroupInfo(resourceTracker, reinterpret_cast<VkBindBufferMemoryDeviceGroupInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO:
- {
- transform_fromhost_VkBindImageMemoryDeviceGroupInfo(resourceTracker, reinterpret_cast<VkBindImageMemoryDeviceGroupInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO:
- {
- transform_fromhost_VkDeviceGroupDeviceCreateInfo(resourceTracker, reinterpret_cast<VkDeviceGroupDeviceCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2:
- {
- transform_fromhost_VkPhysicalDeviceFeatures2(resourceTracker, reinterpret_cast<VkPhysicalDeviceFeatures2*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES:
- {
- transform_fromhost_VkPhysicalDevicePointClippingProperties(resourceTracker, reinterpret_cast<VkPhysicalDevicePointClippingProperties*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO:
- {
- transform_fromhost_VkRenderPassInputAttachmentAspectCreateInfo(resourceTracker, reinterpret_cast<VkRenderPassInputAttachmentAspectCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO:
- {
- transform_fromhost_VkImageViewUsageCreateInfo(resourceTracker, reinterpret_cast<VkImageViewUsageCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO:
- {
- transform_fromhost_VkPipelineTessellationDomainOriginStateCreateInfo(resourceTracker, reinterpret_cast<VkPipelineTessellationDomainOriginStateCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO:
- {
- transform_fromhost_VkRenderPassMultiviewCreateInfo(resourceTracker, reinterpret_cast<VkRenderPassMultiviewCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:
- {
- transform_fromhost_VkPhysicalDeviceMultiviewFeatures(resourceTracker, reinterpret_cast<VkPhysicalDeviceMultiviewFeatures*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES:
- {
- transform_fromhost_VkPhysicalDeviceMultiviewProperties(resourceTracker, reinterpret_cast<VkPhysicalDeviceMultiviewProperties*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES:
- {
- transform_fromhost_VkPhysicalDeviceVariablePointerFeatures(resourceTracker, reinterpret_cast<VkPhysicalDeviceVariablePointerFeatures*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:
- {
- transform_fromhost_VkPhysicalDeviceProtectedMemoryFeatures(resourceTracker, reinterpret_cast<VkPhysicalDeviceProtectedMemoryFeatures*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES:
- {
- transform_fromhost_VkPhysicalDeviceProtectedMemoryProperties(resourceTracker, reinterpret_cast<VkPhysicalDeviceProtectedMemoryProperties*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO:
- {
- transform_fromhost_VkProtectedSubmitInfo(resourceTracker, reinterpret_cast<VkProtectedSubmitInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO:
- {
- transform_fromhost_VkSamplerYcbcrConversionInfo(resourceTracker, reinterpret_cast<VkSamplerYcbcrConversionInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO:
- {
- transform_fromhost_VkBindImagePlaneMemoryInfo(resourceTracker, reinterpret_cast<VkBindImagePlaneMemoryInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO:
- {
- transform_fromhost_VkImagePlaneMemoryRequirementsInfo(resourceTracker, reinterpret_cast<VkImagePlaneMemoryRequirementsInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:
- {
- transform_fromhost_VkPhysicalDeviceSamplerYcbcrConversionFeatures(resourceTracker, reinterpret_cast<VkPhysicalDeviceSamplerYcbcrConversionFeatures*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES:
- {
- transform_fromhost_VkSamplerYcbcrConversionImageFormatProperties(resourceTracker, reinterpret_cast<VkSamplerYcbcrConversionImageFormatProperties*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO:
- {
- resourceTracker->transformImpl_VkPhysicalDeviceExternalImageFormatInfo_fromhost(reinterpret_cast<VkPhysicalDeviceExternalImageFormatInfo*>(structExtension_out), 1);
- transform_fromhost_VkPhysicalDeviceExternalImageFormatInfo(resourceTracker, reinterpret_cast<VkPhysicalDeviceExternalImageFormatInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES:
- {
- resourceTracker->transformImpl_VkExternalImageFormatProperties_fromhost(reinterpret_cast<VkExternalImageFormatProperties*>(structExtension_out), 1);
- transform_fromhost_VkExternalImageFormatProperties(resourceTracker, reinterpret_cast<VkExternalImageFormatProperties*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES:
- {
- transform_fromhost_VkPhysicalDeviceIDProperties(resourceTracker, reinterpret_cast<VkPhysicalDeviceIDProperties*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO:
- {
- resourceTracker->transformImpl_VkExternalMemoryImageCreateInfo_fromhost(reinterpret_cast<VkExternalMemoryImageCreateInfo*>(structExtension_out), 1);
- transform_fromhost_VkExternalMemoryImageCreateInfo(resourceTracker, reinterpret_cast<VkExternalMemoryImageCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO:
- {
- resourceTracker->transformImpl_VkExternalMemoryBufferCreateInfo_fromhost(reinterpret_cast<VkExternalMemoryBufferCreateInfo*>(structExtension_out), 1);
- transform_fromhost_VkExternalMemoryBufferCreateInfo(resourceTracker, reinterpret_cast<VkExternalMemoryBufferCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO:
- {
- resourceTracker->transformImpl_VkExportMemoryAllocateInfo_fromhost(reinterpret_cast<VkExportMemoryAllocateInfo*>(structExtension_out), 1);
- transform_fromhost_VkExportMemoryAllocateInfo(resourceTracker, reinterpret_cast<VkExportMemoryAllocateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO:
- {
- transform_fromhost_VkExportFenceCreateInfo(resourceTracker, reinterpret_cast<VkExportFenceCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO:
- {
- transform_fromhost_VkExportSemaphoreCreateInfo(resourceTracker, reinterpret_cast<VkExportSemaphoreCreateInfo*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES:
- {
- transform_fromhost_VkPhysicalDeviceMaintenance3Properties(resourceTracker, reinterpret_cast<VkPhysicalDeviceMaintenance3Properties*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES:
- {
- transform_fromhost_VkPhysicalDeviceShaderDrawParameterFeatures(resourceTracker, reinterpret_cast<VkPhysicalDeviceShaderDrawParameterFeatures*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_swapchain
- case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR:
- {
- transform_fromhost_VkImageSwapchainCreateInfoKHR(resourceTracker, reinterpret_cast<VkImageSwapchainCreateInfoKHR*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR:
- {
- transform_fromhost_VkBindImageMemorySwapchainInfoKHR(resourceTracker, reinterpret_cast<VkBindImageMemorySwapchainInfoKHR*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR:
- {
- transform_fromhost_VkDeviceGroupPresentInfoKHR(resourceTracker, reinterpret_cast<VkDeviceGroupPresentInfoKHR*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR:
- {
- transform_fromhost_VkDeviceGroupSwapchainCreateInfoKHR(resourceTracker, reinterpret_cast<VkDeviceGroupSwapchainCreateInfoKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_display_swapchain
- case VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR:
- {
- transform_fromhost_VkDisplayPresentInfoKHR(resourceTracker, reinterpret_cast<VkDisplayPresentInfoKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_external_memory_win32
- case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR:
- {
- transform_fromhost_VkImportMemoryWin32HandleInfoKHR(resourceTracker, reinterpret_cast<VkImportMemoryWin32HandleInfoKHR*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR:
- {
- transform_fromhost_VkExportMemoryWin32HandleInfoKHR(resourceTracker, reinterpret_cast<VkExportMemoryWin32HandleInfoKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_external_memory_fd
- case VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR:
- {
- transform_fromhost_VkImportMemoryFdInfoKHR(resourceTracker, reinterpret_cast<VkImportMemoryFdInfoKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_win32_keyed_mutex
- case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR:
- {
- transform_fromhost_VkWin32KeyedMutexAcquireReleaseInfoKHR(resourceTracker, reinterpret_cast<VkWin32KeyedMutexAcquireReleaseInfoKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_external_semaphore_win32
- case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR:
- {
- transform_fromhost_VkExportSemaphoreWin32HandleInfoKHR(resourceTracker, reinterpret_cast<VkExportSemaphoreWin32HandleInfoKHR*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR:
- {
- transform_fromhost_VkD3D12FenceSubmitInfoKHR(resourceTracker, reinterpret_cast<VkD3D12FenceSubmitInfoKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_push_descriptor
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR:
- {
- transform_fromhost_VkPhysicalDevicePushDescriptorPropertiesKHR(resourceTracker, reinterpret_cast<VkPhysicalDevicePushDescriptorPropertiesKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_incremental_present
- case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR:
- {
- transform_fromhost_VkPresentRegionsKHR(resourceTracker, reinterpret_cast<VkPresentRegionsKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_shared_presentable_image
- case VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR:
- {
- transform_fromhost_VkSharedPresentSurfaceCapabilitiesKHR(resourceTracker, reinterpret_cast<VkSharedPresentSurfaceCapabilitiesKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_external_fence_win32
- case VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR:
- {
- transform_fromhost_VkExportFenceWin32HandleInfoKHR(resourceTracker, reinterpret_cast<VkExportFenceWin32HandleInfoKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_image_format_list
- case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR:
- {
- transform_fromhost_VkImageFormatListCreateInfoKHR(resourceTracker, reinterpret_cast<VkImageFormatListCreateInfoKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_8bit_storage
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR:
- {
- transform_fromhost_VkPhysicalDevice8BitStorageFeaturesKHR(resourceTracker, reinterpret_cast<VkPhysicalDevice8BitStorageFeaturesKHR*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_KHR_shader_float16_int8
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:
- {
- transform_fromhost_VkPhysicalDeviceShaderFloat16Int8Features(resourceTracker, reinterpret_cast<VkPhysicalDeviceShaderFloat16Int8Features*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_ANDROID_native_buffer
- case VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID:
- {
- transform_fromhost_VkNativeBufferANDROID(resourceTracker, reinterpret_cast<VkNativeBufferANDROID*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_debug_report
- case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT:
- {
- transform_fromhost_VkDebugReportCallbackCreateInfoEXT(resourceTracker, reinterpret_cast<VkDebugReportCallbackCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_AMD_rasterization_order
- case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD:
- {
- transform_fromhost_VkPipelineRasterizationStateRasterizationOrderAMD(resourceTracker, reinterpret_cast<VkPipelineRasterizationStateRasterizationOrderAMD*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_dedicated_allocation
- case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV:
- {
- transform_fromhost_VkDedicatedAllocationImageCreateInfoNV(resourceTracker, reinterpret_cast<VkDedicatedAllocationImageCreateInfoNV*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV:
- {
- transform_fromhost_VkDedicatedAllocationBufferCreateInfoNV(resourceTracker, reinterpret_cast<VkDedicatedAllocationBufferCreateInfoNV*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV:
- {
- transform_fromhost_VkDedicatedAllocationMemoryAllocateInfoNV(resourceTracker, reinterpret_cast<VkDedicatedAllocationMemoryAllocateInfoNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_AMD_texture_gather_bias_lod
- case VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD:
- {
- transform_fromhost_VkTextureLODGatherFormatPropertiesAMD(resourceTracker, reinterpret_cast<VkTextureLODGatherFormatPropertiesAMD*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_external_memory
- case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV:
- {
- transform_fromhost_VkExternalMemoryImageCreateInfoNV(resourceTracker, reinterpret_cast<VkExternalMemoryImageCreateInfoNV*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV:
- {
- transform_fromhost_VkExportMemoryAllocateInfoNV(resourceTracker, reinterpret_cast<VkExportMemoryAllocateInfoNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_external_memory_win32
- case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV:
- {
- transform_fromhost_VkImportMemoryWin32HandleInfoNV(resourceTracker, reinterpret_cast<VkImportMemoryWin32HandleInfoNV*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV:
- {
- transform_fromhost_VkExportMemoryWin32HandleInfoNV(resourceTracker, reinterpret_cast<VkExportMemoryWin32HandleInfoNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_win32_keyed_mutex
- case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV:
- {
- transform_fromhost_VkWin32KeyedMutexAcquireReleaseInfoNV(resourceTracker, reinterpret_cast<VkWin32KeyedMutexAcquireReleaseInfoNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_validation_flags
- case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT:
- {
- transform_fromhost_VkValidationFlagsEXT(resourceTracker, reinterpret_cast<VkValidationFlagsEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_conditional_rendering
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT:
- {
- transform_fromhost_VkPhysicalDeviceConditionalRenderingFeaturesEXT(resourceTracker, reinterpret_cast<VkPhysicalDeviceConditionalRenderingFeaturesEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT:
- {
- transform_fromhost_VkCommandBufferInheritanceConditionalRenderingInfoEXT(resourceTracker, reinterpret_cast<VkCommandBufferInheritanceConditionalRenderingInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_clip_space_w_scaling
- case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV:
- {
- transform_fromhost_VkPipelineViewportWScalingStateCreateInfoNV(resourceTracker, reinterpret_cast<VkPipelineViewportWScalingStateCreateInfoNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_display_control
- case VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT:
- {
- transform_fromhost_VkSwapchainCounterCreateInfoEXT(resourceTracker, reinterpret_cast<VkSwapchainCounterCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_GOOGLE_display_timing
- case VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE:
- {
- transform_fromhost_VkPresentTimesInfoGOOGLE(resourceTracker, reinterpret_cast<VkPresentTimesInfoGOOGLE*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NVX_multiview_per_view_attributes
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX:
- {
- transform_fromhost_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(resourceTracker, reinterpret_cast<VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_viewport_swizzle
- case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV:
- {
- transform_fromhost_VkPipelineViewportSwizzleStateCreateInfoNV(resourceTracker, reinterpret_cast<VkPipelineViewportSwizzleStateCreateInfoNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_discard_rectangles
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT:
- {
- transform_fromhost_VkPhysicalDeviceDiscardRectanglePropertiesEXT(resourceTracker, reinterpret_cast<VkPhysicalDeviceDiscardRectanglePropertiesEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT:
- {
- transform_fromhost_VkPipelineDiscardRectangleStateCreateInfoEXT(resourceTracker, reinterpret_cast<VkPipelineDiscardRectangleStateCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_conservative_rasterization
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT:
- {
- transform_fromhost_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(resourceTracker, reinterpret_cast<VkPhysicalDeviceConservativeRasterizationPropertiesEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT:
- {
- transform_fromhost_VkPipelineRasterizationConservativeStateCreateInfoEXT(resourceTracker, reinterpret_cast<VkPipelineRasterizationConservativeStateCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_debug_utils
- case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT:
- {
- transform_fromhost_VkDebugUtilsMessengerCreateInfoEXT(resourceTracker, reinterpret_cast<VkDebugUtilsMessengerCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_ANDROID_external_memory_android_hardware_buffer
- case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID:
- {
- transform_fromhost_VkAndroidHardwareBufferUsageANDROID(resourceTracker, reinterpret_cast<VkAndroidHardwareBufferUsageANDROID*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID:
- {
- transform_fromhost_VkAndroidHardwareBufferFormatPropertiesANDROID(resourceTracker, reinterpret_cast<VkAndroidHardwareBufferFormatPropertiesANDROID*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID:
- {
- transform_fromhost_VkImportAndroidHardwareBufferInfoANDROID(resourceTracker, reinterpret_cast<VkImportAndroidHardwareBufferInfoANDROID*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID:
- {
- transform_fromhost_VkExternalFormatANDROID(resourceTracker, reinterpret_cast<VkExternalFormatANDROID*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_sampler_filter_minmax
- case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT:
- {
- transform_fromhost_VkSamplerReductionModeCreateInfoEXT(resourceTracker, reinterpret_cast<VkSamplerReductionModeCreateInfoEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT:
- {
- transform_fromhost_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT(resourceTracker, reinterpret_cast<VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_sample_locations
- case VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT:
- {
- transform_fromhost_VkSampleLocationsInfoEXT(resourceTracker, reinterpret_cast<VkSampleLocationsInfoEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT:
- {
- transform_fromhost_VkRenderPassSampleLocationsBeginInfoEXT(resourceTracker, reinterpret_cast<VkRenderPassSampleLocationsBeginInfoEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT:
- {
- transform_fromhost_VkPipelineSampleLocationsStateCreateInfoEXT(resourceTracker, reinterpret_cast<VkPipelineSampleLocationsStateCreateInfoEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT:
- {
- transform_fromhost_VkPhysicalDeviceSampleLocationsPropertiesEXT(resourceTracker, reinterpret_cast<VkPhysicalDeviceSampleLocationsPropertiesEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_blend_operation_advanced
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT:
- {
- transform_fromhost_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(resourceTracker, reinterpret_cast<VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT:
- {
- transform_fromhost_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(resourceTracker, reinterpret_cast<VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT:
- {
- transform_fromhost_VkPipelineColorBlendAdvancedStateCreateInfoEXT(resourceTracker, reinterpret_cast<VkPipelineColorBlendAdvancedStateCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_fragment_coverage_to_color
- case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV:
- {
- transform_fromhost_VkPipelineCoverageToColorStateCreateInfoNV(resourceTracker, reinterpret_cast<VkPipelineCoverageToColorStateCreateInfoNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_framebuffer_mixed_samples
- case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV:
- {
- transform_fromhost_VkPipelineCoverageModulationStateCreateInfoNV(resourceTracker, reinterpret_cast<VkPipelineCoverageModulationStateCreateInfoNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_validation_cache
- case VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT:
- {
- transform_fromhost_VkShaderModuleValidationCacheCreateInfoEXT(resourceTracker, reinterpret_cast<VkShaderModuleValidationCacheCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_descriptor_indexing
- case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT:
- {
- transform_fromhost_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT(resourceTracker, reinterpret_cast<VkDescriptorSetLayoutBindingFlagsCreateInfoEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT:
- {
- transform_fromhost_VkPhysicalDeviceDescriptorIndexingFeaturesEXT(resourceTracker, reinterpret_cast<VkPhysicalDeviceDescriptorIndexingFeaturesEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT:
- {
- transform_fromhost_VkPhysicalDeviceDescriptorIndexingPropertiesEXT(resourceTracker, reinterpret_cast<VkPhysicalDeviceDescriptorIndexingPropertiesEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT:
- {
- transform_fromhost_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT(resourceTracker, reinterpret_cast<VkDescriptorSetVariableDescriptorCountAllocateInfoEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT:
- {
- transform_fromhost_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT(resourceTracker, reinterpret_cast<VkDescriptorSetVariableDescriptorCountLayoutSupportEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_global_priority
- case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT:
- {
- transform_fromhost_VkDeviceQueueGlobalPriorityCreateInfoEXT(resourceTracker, reinterpret_cast<VkDeviceQueueGlobalPriorityCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_external_memory_host
- case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT:
- {
- transform_fromhost_VkImportMemoryHostPointerInfoEXT(resourceTracker, reinterpret_cast<VkImportMemoryHostPointerInfoEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT:
- {
- transform_fromhost_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(resourceTracker, reinterpret_cast<VkPhysicalDeviceExternalMemoryHostPropertiesEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_AMD_shader_core_properties
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD:
- {
- transform_fromhost_VkPhysicalDeviceShaderCorePropertiesAMD(resourceTracker, reinterpret_cast<VkPhysicalDeviceShaderCorePropertiesAMD*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_EXT_vertex_attribute_divisor
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT:
- {
- transform_fromhost_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(resourceTracker, reinterpret_cast<VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT:
- {
- transform_fromhost_VkPipelineVertexInputDivisorStateCreateInfoEXT(resourceTracker, reinterpret_cast<VkPipelineVertexInputDivisorStateCreateInfoEXT*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_NV_device_diagnostic_checkpoints
- case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV:
- {
- transform_fromhost_VkQueueFamilyCheckpointPropertiesNV(resourceTracker, reinterpret_cast<VkQueueFamilyCheckpointPropertiesNV*>(structExtension_out));
- break;
- }
-#endif
-#ifdef VK_GOOGLE_color_buffer
- case VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE:
- {
- transform_fromhost_VkImportColorBufferGOOGLE(resourceTracker, reinterpret_cast<VkImportColorBufferGOOGLE*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE:
- {
- transform_fromhost_VkImportBufferGOOGLE(resourceTracker, reinterpret_cast<VkImportBufferGOOGLE*>(structExtension_out));
- break;
- }
- case VK_STRUCTURE_TYPE_IMPORT_PHYSICAL_ADDRESS_GOOGLE:
- {
- transform_fromhost_VkImportPhysicalAddressGOOGLE(resourceTracker, reinterpret_cast<VkImportPhysicalAddressGOOGLE*>(structExtension_out));
- break;
- }
-#endif
- default:
- {
- return;
- }
- }
-}
-
-
-} // namespace goldfish_vk
diff --git a/stream-clients/vulkan_enc/goldfish_vk_transform_guest.h b/stream-clients/vulkan_enc/goldfish_vk_transform_guest.h
deleted file mode 100644
index fc174d9..0000000
--- a/stream-clients/vulkan_enc/goldfish_vk_transform_guest.h
+++ /dev/null
@@ -1,3099 +0,0 @@
-// 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 goldfish_vk_transform_guest
-// (header) generated by protocols/vulkan/xml/genvk.py -registry protocols/vulkan/xml/vk.xml cereal -o stream-servers/vulkan/cereal
-// Please do not modify directly;
-// re-run generate-vulkan-sources.sh,
-// or directly from Python by defining:
-// VULKAN_REGISTRY_XML_DIR : Directory containing genvk.py and vk.xml
-// CEREAL_OUTPUT_DIR: Where to put the generated sources.
-// python3 $VULKAN_REGISTRY_XML_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o $CEREAL_OUTPUT_DIR
-
-#pragma once
-
-#include <vulkan/vulkan.h>
-
-
-#include "vk_platform_compat.h"
-
-#include "goldfish_vk_private_defs.h"
-
-
-namespace goldfish_vk {
-
-class ResourceTracker;
-#define LIST_TRANSFORMED_TYPES(f) \
-f(VkExternalMemoryProperties) \
-f(VkPhysicalDeviceExternalImageFormatInfo) \
-f(VkPhysicalDeviceExternalBufferInfo) \
-f(VkExternalMemoryImageCreateInfo) \
-f(VkExternalMemoryBufferCreateInfo) \
-f(VkExportMemoryAllocateInfo) \
-f(VkExternalImageFormatProperties) \
-f(VkExternalBufferProperties) \
-
-#ifdef VK_VERSION_1_0
-void transform_tohost_VkApplicationInfo(
- ResourceTracker* resourceTracker,
- VkApplicationInfo* toTransform);
-
-void transform_fromhost_VkApplicationInfo(
- ResourceTracker* resourceTracker,
- VkApplicationInfo* toTransform);
-
-void transform_tohost_VkInstanceCreateInfo(
- ResourceTracker* resourceTracker,
- VkInstanceCreateInfo* toTransform);
-
-void transform_fromhost_VkInstanceCreateInfo(
- ResourceTracker* resourceTracker,
- VkInstanceCreateInfo* toTransform);
-
-void transform_tohost_VkAllocationCallbacks(
- ResourceTracker* resourceTracker,
- VkAllocationCallbacks* toTransform);
-
-void transform_fromhost_VkAllocationCallbacks(
- ResourceTracker* resourceTracker,
- VkAllocationCallbacks* toTransform);
-
-void transform_tohost_VkPhysicalDeviceFeatures(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceFeatures* toTransform);
-
-void transform_fromhost_VkPhysicalDeviceFeatures(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceFeatures* toTransform);
-
-void transform_tohost_VkFormatProperties(
- ResourceTracker* resourceTracker,
- VkFormatProperties* toTransform);
-
-void transform_fromhost_VkFormatProperties(
- ResourceTracker* resourceTracker,
- VkFormatProperties* toTransform);
-
-void transform_tohost_VkExtent3D(
- ResourceTracker* resourceTracker,
- VkExtent3D* toTransform);
-
-void transform_fromhost_VkExtent3D(
- ResourceTracker* resourceTracker,
- VkExtent3D* toTransform);
-
-void transform_tohost_VkImageFormatProperties(
- ResourceTracker* resourceTracker,
- VkImageFormatProperties* toTransform);
-
-void transform_fromhost_VkImageFormatProperties(
- ResourceTracker* resourceTracker,
- VkImageFormatProperties* toTransform);
-
-void transform_tohost_VkPhysicalDeviceLimits(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceLimits* toTransform);
-
-void transform_fromhost_VkPhysicalDeviceLimits(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceLimits* toTransform);
-
-void transform_tohost_VkPhysicalDeviceSparseProperties(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceSparseProperties* toTransform);
-
-void transform_fromhost_VkPhysicalDeviceSparseProperties(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceSparseProperties* toTransform);
-
-void transform_tohost_VkPhysicalDeviceProperties(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceProperties* toTransform);
-
-void transform_fromhost_VkPhysicalDeviceProperties(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceProperties* toTransform);
-
-void transform_tohost_VkQueueFamilyProperties(
- ResourceTracker* resourceTracker,
- VkQueueFamilyProperties* toTransform);
-
-void transform_fromhost_VkQueueFamilyProperties(
- ResourceTracker* resourceTracker,
- VkQueueFamilyProperties* toTransform);
-
-void transform_tohost_VkMemoryType(
- ResourceTracker* resourceTracker,
- VkMemoryType* toTransform);
-
-void transform_fromhost_VkMemoryType(
- ResourceTracker* resourceTracker,
- VkMemoryType* toTransform);
-
-void transform_tohost_VkMemoryHeap(
- ResourceTracker* resourceTracker,
- VkMemoryHeap* toTransform);
-
-void transform_fromhost_VkMemoryHeap(
- ResourceTracker* resourceTracker,
- VkMemoryHeap* toTransform);
-
-void transform_tohost_VkPhysicalDeviceMemoryProperties(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceMemoryProperties* toTransform);
-
-void transform_fromhost_VkPhysicalDeviceMemoryProperties(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceMemoryProperties* toTransform);
-
-void transform_tohost_VkDeviceQueueCreateInfo(
- ResourceTracker* resourceTracker,
- VkDeviceQueueCreateInfo* toTransform);
-
-void transform_fromhost_VkDeviceQueueCreateInfo(
- ResourceTracker* resourceTracker,
- VkDeviceQueueCreateInfo* toTransform);
-
-void transform_tohost_VkDeviceCreateInfo(
- ResourceTracker* resourceTracker,
- VkDeviceCreateInfo* toTransform);
-
-void transform_fromhost_VkDeviceCreateInfo(
- ResourceTracker* resourceTracker,
- VkDeviceCreateInfo* toTransform);
-
-void transform_tohost_VkExtensionProperties(
- ResourceTracker* resourceTracker,
- VkExtensionProperties* toTransform);
-
-void transform_fromhost_VkExtensionProperties(
- ResourceTracker* resourceTracker,
- VkExtensionProperties* toTransform);
-
-void transform_tohost_VkLayerProperties(
- ResourceTracker* resourceTracker,
- VkLayerProperties* toTransform);
-
-void transform_fromhost_VkLayerProperties(
- ResourceTracker* resourceTracker,
- VkLayerProperties* toTransform);
-
-void transform_tohost_VkSubmitInfo(
- ResourceTracker* resourceTracker,
- VkSubmitInfo* toTransform);
-
-void transform_fromhost_VkSubmitInfo(
- ResourceTracker* resourceTracker,
- VkSubmitInfo* toTransform);
-
-void transform_tohost_VkMemoryAllocateInfo(
- ResourceTracker* resourceTracker,
- VkMemoryAllocateInfo* toTransform);
-
-void transform_fromhost_VkMemoryAllocateInfo(
- ResourceTracker* resourceTracker,
- VkMemoryAllocateInfo* toTransform);
-
-void transform_tohost_VkMappedMemoryRange(
- ResourceTracker* resourceTracker,
- VkMappedMemoryRange* toTransform);
-
-void transform_fromhost_VkMappedMemoryRange(
- ResourceTracker* resourceTracker,
- VkMappedMemoryRange* toTransform);
-
-void transform_tohost_VkMemoryRequirements(
- ResourceTracker* resourceTracker,
- VkMemoryRequirements* toTransform);
-
-void transform_fromhost_VkMemoryRequirements(
- ResourceTracker* resourceTracker,
- VkMemoryRequirements* toTransform);
-
-void transform_tohost_VkSparseImageFormatProperties(
- ResourceTracker* resourceTracker,
- VkSparseImageFormatProperties* toTransform);
-
-void transform_fromhost_VkSparseImageFormatProperties(
- ResourceTracker* resourceTracker,
- VkSparseImageFormatProperties* toTransform);
-
-void transform_tohost_VkSparseImageMemoryRequirements(
- ResourceTracker* resourceTracker,
- VkSparseImageMemoryRequirements* toTransform);
-
-void transform_fromhost_VkSparseImageMemoryRequirements(
- ResourceTracker* resourceTracker,
- VkSparseImageMemoryRequirements* toTransform);
-
-void transform_tohost_VkSparseMemoryBind(
- ResourceTracker* resourceTracker,
- VkSparseMemoryBind* toTransform);
-
-void transform_fromhost_VkSparseMemoryBind(
- ResourceTracker* resourceTracker,
- VkSparseMemoryBind* toTransform);
-
-void transform_tohost_VkSparseBufferMemoryBindInfo(
- ResourceTracker* resourceTracker,
- VkSparseBufferMemoryBindInfo* toTransform);
-
-void transform_fromhost_VkSparseBufferMemoryBindInfo(
- ResourceTracker* resourceTracker,
- VkSparseBufferMemoryBindInfo* toTransform);
-
-void transform_tohost_VkSparseImageOpaqueMemoryBindInfo(
- ResourceTracker* resourceTracker,
- VkSparseImageOpaqueMemoryBindInfo* toTransform);
-
-void transform_fromhost_VkSparseImageOpaqueMemoryBindInfo(
- ResourceTracker* resourceTracker,
- VkSparseImageOpaqueMemoryBindInfo* toTransform);
-
-void transform_tohost_VkImageSubresource(
- ResourceTracker* resourceTracker,
- VkImageSubresource* toTransform);
-
-void transform_fromhost_VkImageSubresource(
- ResourceTracker* resourceTracker,
- VkImageSubresource* toTransform);
-
-void transform_tohost_VkOffset3D(
- ResourceTracker* resourceTracker,
- VkOffset3D* toTransform);
-
-void transform_fromhost_VkOffset3D(
- ResourceTracker* resourceTracker,
- VkOffset3D* toTransform);
-
-void transform_tohost_VkSparseImageMemoryBind(
- ResourceTracker* resourceTracker,
- VkSparseImageMemoryBind* toTransform);
-
-void transform_fromhost_VkSparseImageMemoryBind(
- ResourceTracker* resourceTracker,
- VkSparseImageMemoryBind* toTransform);
-
-void transform_tohost_VkSparseImageMemoryBindInfo(
- ResourceTracker* resourceTracker,
- VkSparseImageMemoryBindInfo* toTransform);
-
-void transform_fromhost_VkSparseImageMemoryBindInfo(
- ResourceTracker* resourceTracker,
- VkSparseImageMemoryBindInfo* toTransform);
-
-void transform_tohost_VkBindSparseInfo(
- ResourceTracker* resourceTracker,
- VkBindSparseInfo* toTransform);
-
-void transform_fromhost_VkBindSparseInfo(
- ResourceTracker* resourceTracker,
- VkBindSparseInfo* toTransform);
-
-void transform_tohost_VkFenceCreateInfo(
- ResourceTracker* resourceTracker,
- VkFenceCreateInfo* toTransform);
-
-void transform_fromhost_VkFenceCreateInfo(
- ResourceTracker* resourceTracker,
- VkFenceCreateInfo* toTransform);
-
-void transform_tohost_VkSemaphoreCreateInfo(
- ResourceTracker* resourceTracker,
- VkSemaphoreCreateInfo* toTransform);
-
-void transform_fromhost_VkSemaphoreCreateInfo(
- ResourceTracker* resourceTracker,
- VkSemaphoreCreateInfo* toTransform);
-
-void transform_tohost_VkEventCreateInfo(
- ResourceTracker* resourceTracker,
- VkEventCreateInfo* toTransform);
-
-void transform_fromhost_VkEventCreateInfo(
- ResourceTracker* resourceTracker,
- VkEventCreateInfo* toTransform);
-
-void transform_tohost_VkQueryPoolCreateInfo(
- ResourceTracker* resourceTracker,
- VkQueryPoolCreateInfo* toTransform);
-
-void transform_fromhost_VkQueryPoolCreateInfo(
- ResourceTracker* resourceTracker,
- VkQueryPoolCreateInfo* toTransform);
-
-void transform_tohost_VkBufferCreateInfo(
- ResourceTracker* resourceTracker,
- VkBufferCreateInfo* toTransform);
-
-void transform_fromhost_VkBufferCreateInfo(
- ResourceTracker* resourceTracker,
- VkBufferCreateInfo* toTransform);
-
-void transform_tohost_VkBufferViewCreateInfo(
- ResourceTracker* resourceTracker,
- VkBufferViewCreateInfo* toTransform);
-
-void transform_fromhost_VkBufferViewCreateInfo(
- ResourceTracker* resourceTracker,
- VkBufferViewCreateInfo* toTransform);
-
-void transform_tohost_VkImageCreateInfo(
- ResourceTracker* resourceTracker,
- VkImageCreateInfo* toTransform);
-
-void transform_fromhost_VkImageCreateInfo(
- ResourceTracker* resourceTracker,
- VkImageCreateInfo* toTransform);
-
-void transform_tohost_VkSubresourceLayout(
- ResourceTracker* resourceTracker,
- VkSubresourceLayout* toTransform);
-
-void transform_fromhost_VkSubresourceLayout(
- ResourceTracker* resourceTracker,
- VkSubresourceLayout* toTransform);
-
-void transform_tohost_VkComponentMapping(
- ResourceTracker* resourceTracker,
- VkComponentMapping* toTransform);
-
-void transform_fromhost_VkComponentMapping(
- ResourceTracker* resourceTracker,
- VkComponentMapping* toTransform);
-
-void transform_tohost_VkImageSubresourceRange(
- ResourceTracker* resourceTracker,
- VkImageSubresourceRange* toTransform);
-
-void transform_fromhost_VkImageSubresourceRange(
- ResourceTracker* resourceTracker,
- VkImageSubresourceRange* toTransform);
-
-void transform_tohost_VkImageViewCreateInfo(
- ResourceTracker* resourceTracker,
- VkImageViewCreateInfo* toTransform);
-
-void transform_fromhost_VkImageViewCreateInfo(
- ResourceTracker* resourceTracker,
- VkImageViewCreateInfo* toTransform);
-
-void transform_tohost_VkShaderModuleCreateInfo(
- ResourceTracker* resourceTracker,
- VkShaderModuleCreateInfo* toTransform);
-
-void transform_fromhost_VkShaderModuleCreateInfo(
- ResourceTracker* resourceTracker,
- VkShaderModuleCreateInfo* toTransform);
-
-void transform_tohost_VkPipelineCacheCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineCacheCreateInfo* toTransform);
-
-void transform_fromhost_VkPipelineCacheCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineCacheCreateInfo* toTransform);
-
-void transform_tohost_VkSpecializationMapEntry(
- ResourceTracker* resourceTracker,
- VkSpecializationMapEntry* toTransform);
-
-void transform_fromhost_VkSpecializationMapEntry(
- ResourceTracker* resourceTracker,
- VkSpecializationMapEntry* toTransform);
-
-void transform_tohost_VkSpecializationInfo(
- ResourceTracker* resourceTracker,
- VkSpecializationInfo* toTransform);
-
-void transform_fromhost_VkSpecializationInfo(
- ResourceTracker* resourceTracker,
- VkSpecializationInfo* toTransform);
-
-void transform_tohost_VkPipelineShaderStageCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineShaderStageCreateInfo* toTransform);
-
-void transform_fromhost_VkPipelineShaderStageCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineShaderStageCreateInfo* toTransform);
-
-void transform_tohost_VkVertexInputBindingDescription(
- ResourceTracker* resourceTracker,
- VkVertexInputBindingDescription* toTransform);
-
-void transform_fromhost_VkVertexInputBindingDescription(
- ResourceTracker* resourceTracker,
- VkVertexInputBindingDescription* toTransform);
-
-void transform_tohost_VkVertexInputAttributeDescription(
- ResourceTracker* resourceTracker,
- VkVertexInputAttributeDescription* toTransform);
-
-void transform_fromhost_VkVertexInputAttributeDescription(
- ResourceTracker* resourceTracker,
- VkVertexInputAttributeDescription* toTransform);
-
-void transform_tohost_VkPipelineVertexInputStateCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineVertexInputStateCreateInfo* toTransform);
-
-void transform_fromhost_VkPipelineVertexInputStateCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineVertexInputStateCreateInfo* toTransform);
-
-void transform_tohost_VkPipelineInputAssemblyStateCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineInputAssemblyStateCreateInfo* toTransform);
-
-void transform_fromhost_VkPipelineInputAssemblyStateCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineInputAssemblyStateCreateInfo* toTransform);
-
-void transform_tohost_VkPipelineTessellationStateCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineTessellationStateCreateInfo* toTransform);
-
-void transform_fromhost_VkPipelineTessellationStateCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineTessellationStateCreateInfo* toTransform);
-
-void transform_tohost_VkViewport(
- ResourceTracker* resourceTracker,
- VkViewport* toTransform);
-
-void transform_fromhost_VkViewport(
- ResourceTracker* resourceTracker,
- VkViewport* toTransform);
-
-void transform_tohost_VkOffset2D(
- ResourceTracker* resourceTracker,
- VkOffset2D* toTransform);
-
-void transform_fromhost_VkOffset2D(
- ResourceTracker* resourceTracker,
- VkOffset2D* toTransform);
-
-void transform_tohost_VkExtent2D(
- ResourceTracker* resourceTracker,
- VkExtent2D* toTransform);
-
-void transform_fromhost_VkExtent2D(
- ResourceTracker* resourceTracker,
- VkExtent2D* toTransform);
-
-void transform_tohost_VkRect2D(
- ResourceTracker* resourceTracker,
- VkRect2D* toTransform);
-
-void transform_fromhost_VkRect2D(
- ResourceTracker* resourceTracker,
- VkRect2D* toTransform);
-
-void transform_tohost_VkPipelineViewportStateCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineViewportStateCreateInfo* toTransform);
-
-void transform_fromhost_VkPipelineViewportStateCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineViewportStateCreateInfo* toTransform);
-
-void transform_tohost_VkPipelineRasterizationStateCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineRasterizationStateCreateInfo* toTransform);
-
-void transform_fromhost_VkPipelineRasterizationStateCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineRasterizationStateCreateInfo* toTransform);
-
-void transform_tohost_VkPipelineMultisampleStateCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineMultisampleStateCreateInfo* toTransform);
-
-void transform_fromhost_VkPipelineMultisampleStateCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineMultisampleStateCreateInfo* toTransform);
-
-void transform_tohost_VkStencilOpState(
- ResourceTracker* resourceTracker,
- VkStencilOpState* toTransform);
-
-void transform_fromhost_VkStencilOpState(
- ResourceTracker* resourceTracker,
- VkStencilOpState* toTransform);
-
-void transform_tohost_VkPipelineDepthStencilStateCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineDepthStencilStateCreateInfo* toTransform);
-
-void transform_fromhost_VkPipelineDepthStencilStateCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineDepthStencilStateCreateInfo* toTransform);
-
-void transform_tohost_VkPipelineColorBlendAttachmentState(
- ResourceTracker* resourceTracker,
- VkPipelineColorBlendAttachmentState* toTransform);
-
-void transform_fromhost_VkPipelineColorBlendAttachmentState(
- ResourceTracker* resourceTracker,
- VkPipelineColorBlendAttachmentState* toTransform);
-
-void transform_tohost_VkPipelineColorBlendStateCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineColorBlendStateCreateInfo* toTransform);
-
-void transform_fromhost_VkPipelineColorBlendStateCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineColorBlendStateCreateInfo* toTransform);
-
-void transform_tohost_VkPipelineDynamicStateCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineDynamicStateCreateInfo* toTransform);
-
-void transform_fromhost_VkPipelineDynamicStateCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineDynamicStateCreateInfo* toTransform);
-
-void transform_tohost_VkGraphicsPipelineCreateInfo(
- ResourceTracker* resourceTracker,
- VkGraphicsPipelineCreateInfo* toTransform);
-
-void transform_fromhost_VkGraphicsPipelineCreateInfo(
- ResourceTracker* resourceTracker,
- VkGraphicsPipelineCreateInfo* toTransform);
-
-void transform_tohost_VkComputePipelineCreateInfo(
- ResourceTracker* resourceTracker,
- VkComputePipelineCreateInfo* toTransform);
-
-void transform_fromhost_VkComputePipelineCreateInfo(
- ResourceTracker* resourceTracker,
- VkComputePipelineCreateInfo* toTransform);
-
-void transform_tohost_VkPushConstantRange(
- ResourceTracker* resourceTracker,
- VkPushConstantRange* toTransform);
-
-void transform_fromhost_VkPushConstantRange(
- ResourceTracker* resourceTracker,
- VkPushConstantRange* toTransform);
-
-void transform_tohost_VkPipelineLayoutCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineLayoutCreateInfo* toTransform);
-
-void transform_fromhost_VkPipelineLayoutCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineLayoutCreateInfo* toTransform);
-
-void transform_tohost_VkSamplerCreateInfo(
- ResourceTracker* resourceTracker,
- VkSamplerCreateInfo* toTransform);
-
-void transform_fromhost_VkSamplerCreateInfo(
- ResourceTracker* resourceTracker,
- VkSamplerCreateInfo* toTransform);
-
-void transform_tohost_VkDescriptorSetLayoutBinding(
- ResourceTracker* resourceTracker,
- VkDescriptorSetLayoutBinding* toTransform);
-
-void transform_fromhost_VkDescriptorSetLayoutBinding(
- ResourceTracker* resourceTracker,
- VkDescriptorSetLayoutBinding* toTransform);
-
-void transform_tohost_VkDescriptorSetLayoutCreateInfo(
- ResourceTracker* resourceTracker,
- VkDescriptorSetLayoutCreateInfo* toTransform);
-
-void transform_fromhost_VkDescriptorSetLayoutCreateInfo(
- ResourceTracker* resourceTracker,
- VkDescriptorSetLayoutCreateInfo* toTransform);
-
-void transform_tohost_VkDescriptorPoolSize(
- ResourceTracker* resourceTracker,
- VkDescriptorPoolSize* toTransform);
-
-void transform_fromhost_VkDescriptorPoolSize(
- ResourceTracker* resourceTracker,
- VkDescriptorPoolSize* toTransform);
-
-void transform_tohost_VkDescriptorPoolCreateInfo(
- ResourceTracker* resourceTracker,
- VkDescriptorPoolCreateInfo* toTransform);
-
-void transform_fromhost_VkDescriptorPoolCreateInfo(
- ResourceTracker* resourceTracker,
- VkDescriptorPoolCreateInfo* toTransform);
-
-void transform_tohost_VkDescriptorSetAllocateInfo(
- ResourceTracker* resourceTracker,
- VkDescriptorSetAllocateInfo* toTransform);
-
-void transform_fromhost_VkDescriptorSetAllocateInfo(
- ResourceTracker* resourceTracker,
- VkDescriptorSetAllocateInfo* toTransform);
-
-void transform_tohost_VkDescriptorImageInfo(
- ResourceTracker* resourceTracker,
- VkDescriptorImageInfo* toTransform);
-
-void transform_fromhost_VkDescriptorImageInfo(
- ResourceTracker* resourceTracker,
- VkDescriptorImageInfo* toTransform);
-
-void transform_tohost_VkDescriptorBufferInfo(
- ResourceTracker* resourceTracker,
- VkDescriptorBufferInfo* toTransform);
-
-void transform_fromhost_VkDescriptorBufferInfo(
- ResourceTracker* resourceTracker,
- VkDescriptorBufferInfo* toTransform);
-
-void transform_tohost_VkWriteDescriptorSet(
- ResourceTracker* resourceTracker,
- VkWriteDescriptorSet* toTransform);
-
-void transform_fromhost_VkWriteDescriptorSet(
- ResourceTracker* resourceTracker,
- VkWriteDescriptorSet* toTransform);
-
-void transform_tohost_VkCopyDescriptorSet(
- ResourceTracker* resourceTracker,
- VkCopyDescriptorSet* toTransform);
-
-void transform_fromhost_VkCopyDescriptorSet(
- ResourceTracker* resourceTracker,
- VkCopyDescriptorSet* toTransform);
-
-void transform_tohost_VkFramebufferCreateInfo(
- ResourceTracker* resourceTracker,
- VkFramebufferCreateInfo* toTransform);
-
-void transform_fromhost_VkFramebufferCreateInfo(
- ResourceTracker* resourceTracker,
- VkFramebufferCreateInfo* toTransform);
-
-void transform_tohost_VkAttachmentDescription(
- ResourceTracker* resourceTracker,
- VkAttachmentDescription* toTransform);
-
-void transform_fromhost_VkAttachmentDescription(
- ResourceTracker* resourceTracker,
- VkAttachmentDescription* toTransform);
-
-void transform_tohost_VkAttachmentReference(
- ResourceTracker* resourceTracker,
- VkAttachmentReference* toTransform);
-
-void transform_fromhost_VkAttachmentReference(
- ResourceTracker* resourceTracker,
- VkAttachmentReference* toTransform);
-
-void transform_tohost_VkSubpassDescription(
- ResourceTracker* resourceTracker,
- VkSubpassDescription* toTransform);
-
-void transform_fromhost_VkSubpassDescription(
- ResourceTracker* resourceTracker,
- VkSubpassDescription* toTransform);
-
-void transform_tohost_VkSubpassDependency(
- ResourceTracker* resourceTracker,
- VkSubpassDependency* toTransform);
-
-void transform_fromhost_VkSubpassDependency(
- ResourceTracker* resourceTracker,
- VkSubpassDependency* toTransform);
-
-void transform_tohost_VkRenderPassCreateInfo(
- ResourceTracker* resourceTracker,
- VkRenderPassCreateInfo* toTransform);
-
-void transform_fromhost_VkRenderPassCreateInfo(
- ResourceTracker* resourceTracker,
- VkRenderPassCreateInfo* toTransform);
-
-void transform_tohost_VkCommandPoolCreateInfo(
- ResourceTracker* resourceTracker,
- VkCommandPoolCreateInfo* toTransform);
-
-void transform_fromhost_VkCommandPoolCreateInfo(
- ResourceTracker* resourceTracker,
- VkCommandPoolCreateInfo* toTransform);
-
-void transform_tohost_VkCommandBufferAllocateInfo(
- ResourceTracker* resourceTracker,
- VkCommandBufferAllocateInfo* toTransform);
-
-void transform_fromhost_VkCommandBufferAllocateInfo(
- ResourceTracker* resourceTracker,
- VkCommandBufferAllocateInfo* toTransform);
-
-void transform_tohost_VkCommandBufferInheritanceInfo(
- ResourceTracker* resourceTracker,
- VkCommandBufferInheritanceInfo* toTransform);
-
-void transform_fromhost_VkCommandBufferInheritanceInfo(
- ResourceTracker* resourceTracker,
- VkCommandBufferInheritanceInfo* toTransform);
-
-void transform_tohost_VkCommandBufferBeginInfo(
- ResourceTracker* resourceTracker,
- VkCommandBufferBeginInfo* toTransform);
-
-void transform_fromhost_VkCommandBufferBeginInfo(
- ResourceTracker* resourceTracker,
- VkCommandBufferBeginInfo* toTransform);
-
-void transform_tohost_VkBufferCopy(
- ResourceTracker* resourceTracker,
- VkBufferCopy* toTransform);
-
-void transform_fromhost_VkBufferCopy(
- ResourceTracker* resourceTracker,
- VkBufferCopy* toTransform);
-
-void transform_tohost_VkImageSubresourceLayers(
- ResourceTracker* resourceTracker,
- VkImageSubresourceLayers* toTransform);
-
-void transform_fromhost_VkImageSubresourceLayers(
- ResourceTracker* resourceTracker,
- VkImageSubresourceLayers* toTransform);
-
-void transform_tohost_VkImageCopy(
- ResourceTracker* resourceTracker,
- VkImageCopy* toTransform);
-
-void transform_fromhost_VkImageCopy(
- ResourceTracker* resourceTracker,
- VkImageCopy* toTransform);
-
-void transform_tohost_VkImageBlit(
- ResourceTracker* resourceTracker,
- VkImageBlit* toTransform);
-
-void transform_fromhost_VkImageBlit(
- ResourceTracker* resourceTracker,
- VkImageBlit* toTransform);
-
-void transform_tohost_VkBufferImageCopy(
- ResourceTracker* resourceTracker,
- VkBufferImageCopy* toTransform);
-
-void transform_fromhost_VkBufferImageCopy(
- ResourceTracker* resourceTracker,
- VkBufferImageCopy* toTransform);
-
-void transform_tohost_VkClearColorValue(
- ResourceTracker* resourceTracker,
- VkClearColorValue* toTransform);
-
-void transform_fromhost_VkClearColorValue(
- ResourceTracker* resourceTracker,
- VkClearColorValue* toTransform);
-
-void transform_tohost_VkClearDepthStencilValue(
- ResourceTracker* resourceTracker,
- VkClearDepthStencilValue* toTransform);
-
-void transform_fromhost_VkClearDepthStencilValue(
- ResourceTracker* resourceTracker,
- VkClearDepthStencilValue* toTransform);
-
-void transform_tohost_VkClearValue(
- ResourceTracker* resourceTracker,
- VkClearValue* toTransform);
-
-void transform_fromhost_VkClearValue(
- ResourceTracker* resourceTracker,
- VkClearValue* toTransform);
-
-void transform_tohost_VkClearAttachment(
- ResourceTracker* resourceTracker,
- VkClearAttachment* toTransform);
-
-void transform_fromhost_VkClearAttachment(
- ResourceTracker* resourceTracker,
- VkClearAttachment* toTransform);
-
-void transform_tohost_VkClearRect(
- ResourceTracker* resourceTracker,
- VkClearRect* toTransform);
-
-void transform_fromhost_VkClearRect(
- ResourceTracker* resourceTracker,
- VkClearRect* toTransform);
-
-void transform_tohost_VkImageResolve(
- ResourceTracker* resourceTracker,
- VkImageResolve* toTransform);
-
-void transform_fromhost_VkImageResolve(
- ResourceTracker* resourceTracker,
- VkImageResolve* toTransform);
-
-void transform_tohost_VkMemoryBarrier(
- ResourceTracker* resourceTracker,
- VkMemoryBarrier* toTransform);
-
-void transform_fromhost_VkMemoryBarrier(
- ResourceTracker* resourceTracker,
- VkMemoryBarrier* toTransform);
-
-void transform_tohost_VkBufferMemoryBarrier(
- ResourceTracker* resourceTracker,
- VkBufferMemoryBarrier* toTransform);
-
-void transform_fromhost_VkBufferMemoryBarrier(
- ResourceTracker* resourceTracker,
- VkBufferMemoryBarrier* toTransform);
-
-void transform_tohost_VkImageMemoryBarrier(
- ResourceTracker* resourceTracker,
- VkImageMemoryBarrier* toTransform);
-
-void transform_fromhost_VkImageMemoryBarrier(
- ResourceTracker* resourceTracker,
- VkImageMemoryBarrier* toTransform);
-
-void transform_tohost_VkRenderPassBeginInfo(
- ResourceTracker* resourceTracker,
- VkRenderPassBeginInfo* toTransform);
-
-void transform_fromhost_VkRenderPassBeginInfo(
- ResourceTracker* resourceTracker,
- VkRenderPassBeginInfo* toTransform);
-
-void transform_tohost_VkDispatchIndirectCommand(
- ResourceTracker* resourceTracker,
- VkDispatchIndirectCommand* toTransform);
-
-void transform_fromhost_VkDispatchIndirectCommand(
- ResourceTracker* resourceTracker,
- VkDispatchIndirectCommand* toTransform);
-
-void transform_tohost_VkDrawIndexedIndirectCommand(
- ResourceTracker* resourceTracker,
- VkDrawIndexedIndirectCommand* toTransform);
-
-void transform_fromhost_VkDrawIndexedIndirectCommand(
- ResourceTracker* resourceTracker,
- VkDrawIndexedIndirectCommand* toTransform);
-
-void transform_tohost_VkDrawIndirectCommand(
- ResourceTracker* resourceTracker,
- VkDrawIndirectCommand* toTransform);
-
-void transform_fromhost_VkDrawIndirectCommand(
- ResourceTracker* resourceTracker,
- VkDrawIndirectCommand* toTransform);
-
-void transform_tohost_VkBaseOutStructure(
- ResourceTracker* resourceTracker,
- VkBaseOutStructure* toTransform);
-
-void transform_fromhost_VkBaseOutStructure(
- ResourceTracker* resourceTracker,
- VkBaseOutStructure* toTransform);
-
-void transform_tohost_VkBaseInStructure(
- ResourceTracker* resourceTracker,
- VkBaseInStructure* toTransform);
-
-void transform_fromhost_VkBaseInStructure(
- ResourceTracker* resourceTracker,
- VkBaseInStructure* toTransform);
-
-#endif
-#ifdef VK_VERSION_1_1
-void transform_tohost_VkPhysicalDeviceSubgroupProperties(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceSubgroupProperties* toTransform);
-
-void transform_fromhost_VkPhysicalDeviceSubgroupProperties(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceSubgroupProperties* toTransform);
-
-void transform_tohost_VkBindBufferMemoryInfo(
- ResourceTracker* resourceTracker,
- VkBindBufferMemoryInfo* toTransform);
-
-void transform_fromhost_VkBindBufferMemoryInfo(
- ResourceTracker* resourceTracker,
- VkBindBufferMemoryInfo* toTransform);
-
-void transform_tohost_VkBindImageMemoryInfo(
- ResourceTracker* resourceTracker,
- VkBindImageMemoryInfo* toTransform);
-
-void transform_fromhost_VkBindImageMemoryInfo(
- ResourceTracker* resourceTracker,
- VkBindImageMemoryInfo* toTransform);
-
-void transform_tohost_VkPhysicalDevice16BitStorageFeatures(
- ResourceTracker* resourceTracker,
- VkPhysicalDevice16BitStorageFeatures* toTransform);
-
-void transform_fromhost_VkPhysicalDevice16BitStorageFeatures(
- ResourceTracker* resourceTracker,
- VkPhysicalDevice16BitStorageFeatures* toTransform);
-
-void transform_tohost_VkMemoryDedicatedRequirements(
- ResourceTracker* resourceTracker,
- VkMemoryDedicatedRequirements* toTransform);
-
-void transform_fromhost_VkMemoryDedicatedRequirements(
- ResourceTracker* resourceTracker,
- VkMemoryDedicatedRequirements* toTransform);
-
-void transform_tohost_VkMemoryDedicatedAllocateInfo(
- ResourceTracker* resourceTracker,
- VkMemoryDedicatedAllocateInfo* toTransform);
-
-void transform_fromhost_VkMemoryDedicatedAllocateInfo(
- ResourceTracker* resourceTracker,
- VkMemoryDedicatedAllocateInfo* toTransform);
-
-void transform_tohost_VkMemoryAllocateFlagsInfo(
- ResourceTracker* resourceTracker,
- VkMemoryAllocateFlagsInfo* toTransform);
-
-void transform_fromhost_VkMemoryAllocateFlagsInfo(
- ResourceTracker* resourceTracker,
- VkMemoryAllocateFlagsInfo* toTransform);
-
-void transform_tohost_VkDeviceGroupRenderPassBeginInfo(
- ResourceTracker* resourceTracker,
- VkDeviceGroupRenderPassBeginInfo* toTransform);
-
-void transform_fromhost_VkDeviceGroupRenderPassBeginInfo(
- ResourceTracker* resourceTracker,
- VkDeviceGroupRenderPassBeginInfo* toTransform);
-
-void transform_tohost_VkDeviceGroupCommandBufferBeginInfo(
- ResourceTracker* resourceTracker,
- VkDeviceGroupCommandBufferBeginInfo* toTransform);
-
-void transform_fromhost_VkDeviceGroupCommandBufferBeginInfo(
- ResourceTracker* resourceTracker,
- VkDeviceGroupCommandBufferBeginInfo* toTransform);
-
-void transform_tohost_VkDeviceGroupSubmitInfo(
- ResourceTracker* resourceTracker,
- VkDeviceGroupSubmitInfo* toTransform);
-
-void transform_fromhost_VkDeviceGroupSubmitInfo(
- ResourceTracker* resourceTracker,
- VkDeviceGroupSubmitInfo* toTransform);
-
-void transform_tohost_VkDeviceGroupBindSparseInfo(
- ResourceTracker* resourceTracker,
- VkDeviceGroupBindSparseInfo* toTransform);
-
-void transform_fromhost_VkDeviceGroupBindSparseInfo(
- ResourceTracker* resourceTracker,
- VkDeviceGroupBindSparseInfo* toTransform);
-
-void transform_tohost_VkBindBufferMemoryDeviceGroupInfo(
- ResourceTracker* resourceTracker,
- VkBindBufferMemoryDeviceGroupInfo* toTransform);
-
-void transform_fromhost_VkBindBufferMemoryDeviceGroupInfo(
- ResourceTracker* resourceTracker,
- VkBindBufferMemoryDeviceGroupInfo* toTransform);
-
-void transform_tohost_VkBindImageMemoryDeviceGroupInfo(
- ResourceTracker* resourceTracker,
- VkBindImageMemoryDeviceGroupInfo* toTransform);
-
-void transform_fromhost_VkBindImageMemoryDeviceGroupInfo(
- ResourceTracker* resourceTracker,
- VkBindImageMemoryDeviceGroupInfo* toTransform);
-
-void transform_tohost_VkPhysicalDeviceGroupProperties(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceGroupProperties* toTransform);
-
-void transform_fromhost_VkPhysicalDeviceGroupProperties(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceGroupProperties* toTransform);
-
-void transform_tohost_VkDeviceGroupDeviceCreateInfo(
- ResourceTracker* resourceTracker,
- VkDeviceGroupDeviceCreateInfo* toTransform);
-
-void transform_fromhost_VkDeviceGroupDeviceCreateInfo(
- ResourceTracker* resourceTracker,
- VkDeviceGroupDeviceCreateInfo* toTransform);
-
-void transform_tohost_VkBufferMemoryRequirementsInfo2(
- ResourceTracker* resourceTracker,
- VkBufferMemoryRequirementsInfo2* toTransform);
-
-void transform_fromhost_VkBufferMemoryRequirementsInfo2(
- ResourceTracker* resourceTracker,
- VkBufferMemoryRequirementsInfo2* toTransform);
-
-void transform_tohost_VkImageMemoryRequirementsInfo2(
- ResourceTracker* resourceTracker,
- VkImageMemoryRequirementsInfo2* toTransform);
-
-void transform_fromhost_VkImageMemoryRequirementsInfo2(
- ResourceTracker* resourceTracker,
- VkImageMemoryRequirementsInfo2* toTransform);
-
-void transform_tohost_VkImageSparseMemoryRequirementsInfo2(
- ResourceTracker* resourceTracker,
- VkImageSparseMemoryRequirementsInfo2* toTransform);
-
-void transform_fromhost_VkImageSparseMemoryRequirementsInfo2(
- ResourceTracker* resourceTracker,
- VkImageSparseMemoryRequirementsInfo2* toTransform);
-
-void transform_tohost_VkMemoryRequirements2(
- ResourceTracker* resourceTracker,
- VkMemoryRequirements2* toTransform);
-
-void transform_fromhost_VkMemoryRequirements2(
- ResourceTracker* resourceTracker,
- VkMemoryRequirements2* toTransform);
-
-void transform_tohost_VkSparseImageMemoryRequirements2(
- ResourceTracker* resourceTracker,
- VkSparseImageMemoryRequirements2* toTransform);
-
-void transform_fromhost_VkSparseImageMemoryRequirements2(
- ResourceTracker* resourceTracker,
- VkSparseImageMemoryRequirements2* toTransform);
-
-void transform_tohost_VkPhysicalDeviceFeatures2(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceFeatures2* toTransform);
-
-void transform_fromhost_VkPhysicalDeviceFeatures2(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceFeatures2* toTransform);
-
-void transform_tohost_VkPhysicalDeviceProperties2(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceProperties2* toTransform);
-
-void transform_fromhost_VkPhysicalDeviceProperties2(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceProperties2* toTransform);
-
-void transform_tohost_VkFormatProperties2(
- ResourceTracker* resourceTracker,
- VkFormatProperties2* toTransform);
-
-void transform_fromhost_VkFormatProperties2(
- ResourceTracker* resourceTracker,
- VkFormatProperties2* toTransform);
-
-void transform_tohost_VkImageFormatProperties2(
- ResourceTracker* resourceTracker,
- VkImageFormatProperties2* toTransform);
-
-void transform_fromhost_VkImageFormatProperties2(
- ResourceTracker* resourceTracker,
- VkImageFormatProperties2* toTransform);
-
-void transform_tohost_VkPhysicalDeviceImageFormatInfo2(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceImageFormatInfo2* toTransform);
-
-void transform_fromhost_VkPhysicalDeviceImageFormatInfo2(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceImageFormatInfo2* toTransform);
-
-void transform_tohost_VkQueueFamilyProperties2(
- ResourceTracker* resourceTracker,
- VkQueueFamilyProperties2* toTransform);
-
-void transform_fromhost_VkQueueFamilyProperties2(
- ResourceTracker* resourceTracker,
- VkQueueFamilyProperties2* toTransform);
-
-void transform_tohost_VkPhysicalDeviceMemoryProperties2(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceMemoryProperties2* toTransform);
-
-void transform_fromhost_VkPhysicalDeviceMemoryProperties2(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceMemoryProperties2* toTransform);
-
-void transform_tohost_VkSparseImageFormatProperties2(
- ResourceTracker* resourceTracker,
- VkSparseImageFormatProperties2* toTransform);
-
-void transform_fromhost_VkSparseImageFormatProperties2(
- ResourceTracker* resourceTracker,
- VkSparseImageFormatProperties2* toTransform);
-
-void transform_tohost_VkPhysicalDeviceSparseImageFormatInfo2(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceSparseImageFormatInfo2* toTransform);
-
-void transform_fromhost_VkPhysicalDeviceSparseImageFormatInfo2(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceSparseImageFormatInfo2* toTransform);
-
-void transform_tohost_VkPhysicalDevicePointClippingProperties(
- ResourceTracker* resourceTracker,
- VkPhysicalDevicePointClippingProperties* toTransform);
-
-void transform_fromhost_VkPhysicalDevicePointClippingProperties(
- ResourceTracker* resourceTracker,
- VkPhysicalDevicePointClippingProperties* toTransform);
-
-void transform_tohost_VkInputAttachmentAspectReference(
- ResourceTracker* resourceTracker,
- VkInputAttachmentAspectReference* toTransform);
-
-void transform_fromhost_VkInputAttachmentAspectReference(
- ResourceTracker* resourceTracker,
- VkInputAttachmentAspectReference* toTransform);
-
-void transform_tohost_VkRenderPassInputAttachmentAspectCreateInfo(
- ResourceTracker* resourceTracker,
- VkRenderPassInputAttachmentAspectCreateInfo* toTransform);
-
-void transform_fromhost_VkRenderPassInputAttachmentAspectCreateInfo(
- ResourceTracker* resourceTracker,
- VkRenderPassInputAttachmentAspectCreateInfo* toTransform);
-
-void transform_tohost_VkImageViewUsageCreateInfo(
- ResourceTracker* resourceTracker,
- VkImageViewUsageCreateInfo* toTransform);
-
-void transform_fromhost_VkImageViewUsageCreateInfo(
- ResourceTracker* resourceTracker,
- VkImageViewUsageCreateInfo* toTransform);
-
-void transform_tohost_VkPipelineTessellationDomainOriginStateCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineTessellationDomainOriginStateCreateInfo* toTransform);
-
-void transform_fromhost_VkPipelineTessellationDomainOriginStateCreateInfo(
- ResourceTracker* resourceTracker,
- VkPipelineTessellationDomainOriginStateCreateInfo* toTransform);
-
-void transform_tohost_VkRenderPassMultiviewCreateInfo(
- ResourceTracker* resourceTracker,
- VkRenderPassMultiviewCreateInfo* toTransform);
-
-void transform_fromhost_VkRenderPassMultiviewCreateInfo(
- ResourceTracker* resourceTracker,
- VkRenderPassMultiviewCreateInfo* toTransform);
-
-void transform_tohost_VkPhysicalDeviceMultiviewFeatures(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceMultiviewFeatures* toTransform);
-
-void transform_fromhost_VkPhysicalDeviceMultiviewFeatures(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceMultiviewFeatures* toTransform);
-
-void transform_tohost_VkPhysicalDeviceMultiviewProperties(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceMultiviewProperties* toTransform);
-
-void transform_fromhost_VkPhysicalDeviceMultiviewProperties(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceMultiviewProperties* toTransform);
-
-void transform_tohost_VkPhysicalDeviceVariablePointerFeatures(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceVariablePointerFeatures* toTransform);
-
-void transform_fromhost_VkPhysicalDeviceVariablePointerFeatures(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceVariablePointerFeatures* toTransform);
-
-void transform_tohost_VkPhysicalDeviceProtectedMemoryFeatures(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceProtectedMemoryFeatures* toTransform);
-
-void transform_fromhost_VkPhysicalDeviceProtectedMemoryFeatures(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceProtectedMemoryFeatures* toTransform);
-
-void transform_tohost_VkPhysicalDeviceProtectedMemoryProperties(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceProtectedMemoryProperties* toTransform);
-
-void transform_fromhost_VkPhysicalDeviceProtectedMemoryProperties(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceProtectedMemoryProperties* toTransform);
-
-void transform_tohost_VkDeviceQueueInfo2(
- ResourceTracker* resourceTracker,
- VkDeviceQueueInfo2* toTransform);
-
-void transform_fromhost_VkDeviceQueueInfo2(
- ResourceTracker* resourceTracker,
- VkDeviceQueueInfo2* toTransform);
-
-void transform_tohost_VkProtectedSubmitInfo(
- ResourceTracker* resourceTracker,
- VkProtectedSubmitInfo* toTransform);
-
-void transform_fromhost_VkProtectedSubmitInfo(
- ResourceTracker* resourceTracker,
- VkProtectedSubmitInfo* toTransform);
-
-void transform_tohost_VkSamplerYcbcrConversionCreateInfo(
- ResourceTracker* resourceTracker,
- VkSamplerYcbcrConversionCreateInfo* toTransform);
-
-void transform_fromhost_VkSamplerYcbcrConversionCreateInfo(
- ResourceTracker* resourceTracker,
- VkSamplerYcbcrConversionCreateInfo* toTransform);
-
-void transform_tohost_VkSamplerYcbcrConversionInfo(
- ResourceTracker* resourceTracker,
- VkSamplerYcbcrConversionInfo* toTransform);
-
-void transform_fromhost_VkSamplerYcbcrConversionInfo(
- ResourceTracker* resourceTracker,
- VkSamplerYcbcrConversionInfo* toTransform);
-
-void transform_tohost_VkBindImagePlaneMemoryInfo(
- ResourceTracker* resourceTracker,
- VkBindImagePlaneMemoryInfo* toTransform);
-
-void transform_fromhost_VkBindImagePlaneMemoryInfo(
- ResourceTracker* resourceTracker,
- VkBindImagePlaneMemoryInfo* toTransform);
-
-void transform_tohost_VkImagePlaneMemoryRequirementsInfo(
- ResourceTracker* resourceTracker,
- VkImagePlaneMemoryRequirementsInfo* toTransform);
-
-void transform_fromhost_VkImagePlaneMemoryRequirementsInfo(
- ResourceTracker* resourceTracker,
- VkImagePlaneMemoryRequirementsInfo* toTransform);
-
-void transform_tohost_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceSamplerYcbcrConversionFeatures* toTransform);
-
-void transform_fromhost_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceSamplerYcbcrConversionFeatures* toTransform);
-
-void transform_tohost_VkSamplerYcbcrConversionImageFormatProperties(
- ResourceTracker* resourceTracker,
- VkSamplerYcbcrConversionImageFormatProperties* toTransform);
-
-void transform_fromhost_VkSamplerYcbcrConversionImageFormatProperties(
- ResourceTracker* resourceTracker,
- VkSamplerYcbcrConversionImageFormatProperties* toTransform);
-
-void transform_tohost_VkDescriptorUpdateTemplateEntry(
- ResourceTracker* resourceTracker,
- VkDescriptorUpdateTemplateEntry* toTransform);
-
-void transform_fromhost_VkDescriptorUpdateTemplateEntry(
- ResourceTracker* resourceTracker,
- VkDescriptorUpdateTemplateEntry* toTransform);
-
-void transform_tohost_VkDescriptorUpdateTemplateCreateInfo(
- ResourceTracker* resourceTracker,
- VkDescriptorUpdateTemplateCreateInfo* toTransform);
-
-void transform_fromhost_VkDescriptorUpdateTemplateCreateInfo(
- ResourceTracker* resourceTracker,
- VkDescriptorUpdateTemplateCreateInfo* toTransform);
-
-void transform_tohost_VkExternalMemoryProperties(
- ResourceTracker* resourceTracker,
- VkExternalMemoryProperties* toTransform);
-
-void transform_fromhost_VkExternalMemoryProperties(
- ResourceTracker* resourceTracker,
- VkExternalMemoryProperties* toTransform);
-
-void transform_tohost_VkPhysicalDeviceExternalImageFormatInfo(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceExternalImageFormatInfo* toTransform);
-
-void transform_fromhost_VkPhysicalDeviceExternalImageFormatInfo(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceExternalImageFormatInfo* toTransform);
-
-void transform_tohost_VkExternalImageFormatProperties(
- ResourceTracker* resourceTracker,
- VkExternalImageFormatProperties* toTransform);
-
-void transform_fromhost_VkExternalImageFormatProperties(
- ResourceTracker* resourceTracker,
- VkExternalImageFormatProperties* toTransform);
-
-void transform_tohost_VkPhysicalDeviceExternalBufferInfo(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceExternalBufferInfo* toTransform);
-
-void transform_fromhost_VkPhysicalDeviceExternalBufferInfo(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceExternalBufferInfo* toTransform);
-
-void transform_tohost_VkExternalBufferProperties(
- ResourceTracker* resourceTracker,
- VkExternalBufferProperties* toTransform);
-
-void transform_fromhost_VkExternalBufferProperties(
- ResourceTracker* resourceTracker,
- VkExternalBufferProperties* toTransform);
-
-void transform_tohost_VkPhysicalDeviceIDProperties(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceIDProperties* toTransform);
-
-void transform_fromhost_VkPhysicalDeviceIDProperties(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceIDProperties* toTransform);
-
-void transform_tohost_VkExternalMemoryImageCreateInfo(
- ResourceTracker* resourceTracker,
- VkExternalMemoryImageCreateInfo* toTransform);
-
-void transform_fromhost_VkExternalMemoryImageCreateInfo(
- ResourceTracker* resourceTracker,
- VkExternalMemoryImageCreateInfo* toTransform);
-
-void transform_tohost_VkExternalMemoryBufferCreateInfo(
- ResourceTracker* resourceTracker,
- VkExternalMemoryBufferCreateInfo* toTransform);
-
-void transform_fromhost_VkExternalMemoryBufferCreateInfo(
- ResourceTracker* resourceTracker,
- VkExternalMemoryBufferCreateInfo* toTransform);
-
-void transform_tohost_VkExportMemoryAllocateInfo(
- ResourceTracker* resourceTracker,
- VkExportMemoryAllocateInfo* toTransform);
-
-void transform_fromhost_VkExportMemoryAllocateInfo(
- ResourceTracker* resourceTracker,
- VkExportMemoryAllocateInfo* toTransform);
-
-void transform_tohost_VkPhysicalDeviceExternalFenceInfo(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceExternalFenceInfo* toTransform);
-
-void transform_fromhost_VkPhysicalDeviceExternalFenceInfo(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceExternalFenceInfo* toTransform);
-
-void transform_tohost_VkExternalFenceProperties(
- ResourceTracker* resourceTracker,
- VkExternalFenceProperties* toTransform);
-
-void transform_fromhost_VkExternalFenceProperties(
- ResourceTracker* resourceTracker,
- VkExternalFenceProperties* toTransform);
-
-void transform_tohost_VkExportFenceCreateInfo(
- ResourceTracker* resourceTracker,
- VkExportFenceCreateInfo* toTransform);
-
-void transform_fromhost_VkExportFenceCreateInfo(
- ResourceTracker* resourceTracker,
- VkExportFenceCreateInfo* toTransform);
-
-void transform_tohost_VkExportSemaphoreCreateInfo(
- ResourceTracker* resourceTracker,
- VkExportSemaphoreCreateInfo* toTransform);
-
-void transform_fromhost_VkExportSemaphoreCreateInfo(
- ResourceTracker* resourceTracker,
- VkExportSemaphoreCreateInfo* toTransform);
-
-void transform_tohost_VkPhysicalDeviceExternalSemaphoreInfo(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceExternalSemaphoreInfo* toTransform);
-
-void transform_fromhost_VkPhysicalDeviceExternalSemaphoreInfo(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceExternalSemaphoreInfo* toTransform);
-
-void transform_tohost_VkExternalSemaphoreProperties(
- ResourceTracker* resourceTracker,
- VkExternalSemaphoreProperties* toTransform);
-
-void transform_fromhost_VkExternalSemaphoreProperties(
- ResourceTracker* resourceTracker,
- VkExternalSemaphoreProperties* toTransform);
-
-void transform_tohost_VkPhysicalDeviceMaintenance3Properties(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceMaintenance3Properties* toTransform);
-
-void transform_fromhost_VkPhysicalDeviceMaintenance3Properties(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceMaintenance3Properties* toTransform);
-
-void transform_tohost_VkDescriptorSetLayoutSupport(
- ResourceTracker* resourceTracker,
- VkDescriptorSetLayoutSupport* toTransform);
-
-void transform_fromhost_VkDescriptorSetLayoutSupport(
- ResourceTracker* resourceTracker,
- VkDescriptorSetLayoutSupport* toTransform);
-
-void transform_tohost_VkPhysicalDeviceShaderDrawParameterFeatures(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceShaderDrawParameterFeatures* toTransform);
-
-void transform_fromhost_VkPhysicalDeviceShaderDrawParameterFeatures(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceShaderDrawParameterFeatures* toTransform);
-
-#endif
-#ifdef VK_KHR_surface
-void transform_tohost_VkSurfaceCapabilitiesKHR(
- ResourceTracker* resourceTracker,
- VkSurfaceCapabilitiesKHR* toTransform);
-
-void transform_fromhost_VkSurfaceCapabilitiesKHR(
- ResourceTracker* resourceTracker,
- VkSurfaceCapabilitiesKHR* toTransform);
-
-void transform_tohost_VkSurfaceFormatKHR(
- ResourceTracker* resourceTracker,
- VkSurfaceFormatKHR* toTransform);
-
-void transform_fromhost_VkSurfaceFormatKHR(
- ResourceTracker* resourceTracker,
- VkSurfaceFormatKHR* toTransform);
-
-#endif
-#ifdef VK_KHR_swapchain
-void transform_tohost_VkSwapchainCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkSwapchainCreateInfoKHR* toTransform);
-
-void transform_fromhost_VkSwapchainCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkSwapchainCreateInfoKHR* toTransform);
-
-void transform_tohost_VkPresentInfoKHR(
- ResourceTracker* resourceTracker,
- VkPresentInfoKHR* toTransform);
-
-void transform_fromhost_VkPresentInfoKHR(
- ResourceTracker* resourceTracker,
- VkPresentInfoKHR* toTransform);
-
-void transform_tohost_VkImageSwapchainCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkImageSwapchainCreateInfoKHR* toTransform);
-
-void transform_fromhost_VkImageSwapchainCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkImageSwapchainCreateInfoKHR* toTransform);
-
-void transform_tohost_VkBindImageMemorySwapchainInfoKHR(
- ResourceTracker* resourceTracker,
- VkBindImageMemorySwapchainInfoKHR* toTransform);
-
-void transform_fromhost_VkBindImageMemorySwapchainInfoKHR(
- ResourceTracker* resourceTracker,
- VkBindImageMemorySwapchainInfoKHR* toTransform);
-
-void transform_tohost_VkAcquireNextImageInfoKHR(
- ResourceTracker* resourceTracker,
- VkAcquireNextImageInfoKHR* toTransform);
-
-void transform_fromhost_VkAcquireNextImageInfoKHR(
- ResourceTracker* resourceTracker,
- VkAcquireNextImageInfoKHR* toTransform);
-
-void transform_tohost_VkDeviceGroupPresentCapabilitiesKHR(
- ResourceTracker* resourceTracker,
- VkDeviceGroupPresentCapabilitiesKHR* toTransform);
-
-void transform_fromhost_VkDeviceGroupPresentCapabilitiesKHR(
- ResourceTracker* resourceTracker,
- VkDeviceGroupPresentCapabilitiesKHR* toTransform);
-
-void transform_tohost_VkDeviceGroupPresentInfoKHR(
- ResourceTracker* resourceTracker,
- VkDeviceGroupPresentInfoKHR* toTransform);
-
-void transform_fromhost_VkDeviceGroupPresentInfoKHR(
- ResourceTracker* resourceTracker,
- VkDeviceGroupPresentInfoKHR* toTransform);
-
-void transform_tohost_VkDeviceGroupSwapchainCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkDeviceGroupSwapchainCreateInfoKHR* toTransform);
-
-void transform_fromhost_VkDeviceGroupSwapchainCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkDeviceGroupSwapchainCreateInfoKHR* toTransform);
-
-#endif
-#ifdef VK_KHR_display
-void transform_tohost_VkDisplayPropertiesKHR(
- ResourceTracker* resourceTracker,
- VkDisplayPropertiesKHR* toTransform);
-
-void transform_fromhost_VkDisplayPropertiesKHR(
- ResourceTracker* resourceTracker,
- VkDisplayPropertiesKHR* toTransform);
-
-void transform_tohost_VkDisplayModeParametersKHR(
- ResourceTracker* resourceTracker,
- VkDisplayModeParametersKHR* toTransform);
-
-void transform_fromhost_VkDisplayModeParametersKHR(
- ResourceTracker* resourceTracker,
- VkDisplayModeParametersKHR* toTransform);
-
-void transform_tohost_VkDisplayModePropertiesKHR(
- ResourceTracker* resourceTracker,
- VkDisplayModePropertiesKHR* toTransform);
-
-void transform_fromhost_VkDisplayModePropertiesKHR(
- ResourceTracker* resourceTracker,
- VkDisplayModePropertiesKHR* toTransform);
-
-void transform_tohost_VkDisplayModeCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkDisplayModeCreateInfoKHR* toTransform);
-
-void transform_fromhost_VkDisplayModeCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkDisplayModeCreateInfoKHR* toTransform);
-
-void transform_tohost_VkDisplayPlaneCapabilitiesKHR(
- ResourceTracker* resourceTracker,
- VkDisplayPlaneCapabilitiesKHR* toTransform);
-
-void transform_fromhost_VkDisplayPlaneCapabilitiesKHR(
- ResourceTracker* resourceTracker,
- VkDisplayPlaneCapabilitiesKHR* toTransform);
-
-void transform_tohost_VkDisplayPlanePropertiesKHR(
- ResourceTracker* resourceTracker,
- VkDisplayPlanePropertiesKHR* toTransform);
-
-void transform_fromhost_VkDisplayPlanePropertiesKHR(
- ResourceTracker* resourceTracker,
- VkDisplayPlanePropertiesKHR* toTransform);
-
-void transform_tohost_VkDisplaySurfaceCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkDisplaySurfaceCreateInfoKHR* toTransform);
-
-void transform_fromhost_VkDisplaySurfaceCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkDisplaySurfaceCreateInfoKHR* toTransform);
-
-#endif
-#ifdef VK_KHR_display_swapchain
-void transform_tohost_VkDisplayPresentInfoKHR(
- ResourceTracker* resourceTracker,
- VkDisplayPresentInfoKHR* toTransform);
-
-void transform_fromhost_VkDisplayPresentInfoKHR(
- ResourceTracker* resourceTracker,
- VkDisplayPresentInfoKHR* toTransform);
-
-#endif
-#ifdef VK_KHR_xlib_surface
-void transform_tohost_VkXlibSurfaceCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkXlibSurfaceCreateInfoKHR* toTransform);
-
-void transform_fromhost_VkXlibSurfaceCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkXlibSurfaceCreateInfoKHR* toTransform);
-
-#endif
-#ifdef VK_KHR_xcb_surface
-void transform_tohost_VkXcbSurfaceCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkXcbSurfaceCreateInfoKHR* toTransform);
-
-void transform_fromhost_VkXcbSurfaceCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkXcbSurfaceCreateInfoKHR* toTransform);
-
-#endif
-#ifdef VK_KHR_wayland_surface
-void transform_tohost_VkWaylandSurfaceCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkWaylandSurfaceCreateInfoKHR* toTransform);
-
-void transform_fromhost_VkWaylandSurfaceCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkWaylandSurfaceCreateInfoKHR* toTransform);
-
-#endif
-#ifdef VK_KHR_mir_surface
-void transform_tohost_VkMirSurfaceCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkMirSurfaceCreateInfoKHR* toTransform);
-
-void transform_fromhost_VkMirSurfaceCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkMirSurfaceCreateInfoKHR* toTransform);
-
-#endif
-#ifdef VK_KHR_android_surface
-void transform_tohost_VkAndroidSurfaceCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkAndroidSurfaceCreateInfoKHR* toTransform);
-
-void transform_fromhost_VkAndroidSurfaceCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkAndroidSurfaceCreateInfoKHR* toTransform);
-
-#endif
-#ifdef VK_KHR_win32_surface
-void transform_tohost_VkWin32SurfaceCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkWin32SurfaceCreateInfoKHR* toTransform);
-
-void transform_fromhost_VkWin32SurfaceCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkWin32SurfaceCreateInfoKHR* toTransform);
-
-#endif
-#ifdef VK_KHR_sampler_mirror_clamp_to_edge
-#endif
-#ifdef VK_KHR_multiview
-#endif
-#ifdef VK_KHR_get_physical_device_properties2
-#endif
-#ifdef VK_KHR_device_group
-#endif
-#ifdef VK_KHR_shader_draw_parameters
-#endif
-#ifdef VK_KHR_maintenance1
-#endif
-#ifdef VK_KHR_device_group_creation
-#endif
-#ifdef VK_KHR_external_memory_capabilities
-#endif
-#ifdef VK_KHR_external_memory
-#endif
-#ifdef VK_KHR_external_memory_win32
-void transform_tohost_VkImportMemoryWin32HandleInfoKHR(
- ResourceTracker* resourceTracker,
- VkImportMemoryWin32HandleInfoKHR* toTransform);
-
-void transform_fromhost_VkImportMemoryWin32HandleInfoKHR(
- ResourceTracker* resourceTracker,
- VkImportMemoryWin32HandleInfoKHR* toTransform);
-
-void transform_tohost_VkExportMemoryWin32HandleInfoKHR(
- ResourceTracker* resourceTracker,
- VkExportMemoryWin32HandleInfoKHR* toTransform);
-
-void transform_fromhost_VkExportMemoryWin32HandleInfoKHR(
- ResourceTracker* resourceTracker,
- VkExportMemoryWin32HandleInfoKHR* toTransform);
-
-void transform_tohost_VkMemoryWin32HandlePropertiesKHR(
- ResourceTracker* resourceTracker,
- VkMemoryWin32HandlePropertiesKHR* toTransform);
-
-void transform_fromhost_VkMemoryWin32HandlePropertiesKHR(
- ResourceTracker* resourceTracker,
- VkMemoryWin32HandlePropertiesKHR* toTransform);
-
-void transform_tohost_VkMemoryGetWin32HandleInfoKHR(
- ResourceTracker* resourceTracker,
- VkMemoryGetWin32HandleInfoKHR* toTransform);
-
-void transform_fromhost_VkMemoryGetWin32HandleInfoKHR(
- ResourceTracker* resourceTracker,
- VkMemoryGetWin32HandleInfoKHR* toTransform);
-
-#endif
-#ifdef VK_KHR_external_memory_fd
-void transform_tohost_VkImportMemoryFdInfoKHR(
- ResourceTracker* resourceTracker,
- VkImportMemoryFdInfoKHR* toTransform);
-
-void transform_fromhost_VkImportMemoryFdInfoKHR(
- ResourceTracker* resourceTracker,
- VkImportMemoryFdInfoKHR* toTransform);
-
-void transform_tohost_VkMemoryFdPropertiesKHR(
- ResourceTracker* resourceTracker,
- VkMemoryFdPropertiesKHR* toTransform);
-
-void transform_fromhost_VkMemoryFdPropertiesKHR(
- ResourceTracker* resourceTracker,
- VkMemoryFdPropertiesKHR* toTransform);
-
-void transform_tohost_VkMemoryGetFdInfoKHR(
- ResourceTracker* resourceTracker,
- VkMemoryGetFdInfoKHR* toTransform);
-
-void transform_fromhost_VkMemoryGetFdInfoKHR(
- ResourceTracker* resourceTracker,
- VkMemoryGetFdInfoKHR* toTransform);
-
-#endif
-#ifdef VK_KHR_win32_keyed_mutex
-void transform_tohost_VkWin32KeyedMutexAcquireReleaseInfoKHR(
- ResourceTracker* resourceTracker,
- VkWin32KeyedMutexAcquireReleaseInfoKHR* toTransform);
-
-void transform_fromhost_VkWin32KeyedMutexAcquireReleaseInfoKHR(
- ResourceTracker* resourceTracker,
- VkWin32KeyedMutexAcquireReleaseInfoKHR* toTransform);
-
-#endif
-#ifdef VK_KHR_external_semaphore_capabilities
-#endif
-#ifdef VK_KHR_external_semaphore
-#endif
-#ifdef VK_KHR_external_semaphore_win32
-void transform_tohost_VkImportSemaphoreWin32HandleInfoKHR(
- ResourceTracker* resourceTracker,
- VkImportSemaphoreWin32HandleInfoKHR* toTransform);
-
-void transform_fromhost_VkImportSemaphoreWin32HandleInfoKHR(
- ResourceTracker* resourceTracker,
- VkImportSemaphoreWin32HandleInfoKHR* toTransform);
-
-void transform_tohost_VkExportSemaphoreWin32HandleInfoKHR(
- ResourceTracker* resourceTracker,
- VkExportSemaphoreWin32HandleInfoKHR* toTransform);
-
-void transform_fromhost_VkExportSemaphoreWin32HandleInfoKHR(
- ResourceTracker* resourceTracker,
- VkExportSemaphoreWin32HandleInfoKHR* toTransform);
-
-void transform_tohost_VkD3D12FenceSubmitInfoKHR(
- ResourceTracker* resourceTracker,
- VkD3D12FenceSubmitInfoKHR* toTransform);
-
-void transform_fromhost_VkD3D12FenceSubmitInfoKHR(
- ResourceTracker* resourceTracker,
- VkD3D12FenceSubmitInfoKHR* toTransform);
-
-void transform_tohost_VkSemaphoreGetWin32HandleInfoKHR(
- ResourceTracker* resourceTracker,
- VkSemaphoreGetWin32HandleInfoKHR* toTransform);
-
-void transform_fromhost_VkSemaphoreGetWin32HandleInfoKHR(
- ResourceTracker* resourceTracker,
- VkSemaphoreGetWin32HandleInfoKHR* toTransform);
-
-#endif
-#ifdef VK_KHR_external_semaphore_fd
-void transform_tohost_VkImportSemaphoreFdInfoKHR(
- ResourceTracker* resourceTracker,
- VkImportSemaphoreFdInfoKHR* toTransform);
-
-void transform_fromhost_VkImportSemaphoreFdInfoKHR(
- ResourceTracker* resourceTracker,
- VkImportSemaphoreFdInfoKHR* toTransform);
-
-void transform_tohost_VkSemaphoreGetFdInfoKHR(
- ResourceTracker* resourceTracker,
- VkSemaphoreGetFdInfoKHR* toTransform);
-
-void transform_fromhost_VkSemaphoreGetFdInfoKHR(
- ResourceTracker* resourceTracker,
- VkSemaphoreGetFdInfoKHR* toTransform);
-
-#endif
-#ifdef VK_KHR_push_descriptor
-void transform_tohost_VkPhysicalDevicePushDescriptorPropertiesKHR(
- ResourceTracker* resourceTracker,
- VkPhysicalDevicePushDescriptorPropertiesKHR* toTransform);
-
-void transform_fromhost_VkPhysicalDevicePushDescriptorPropertiesKHR(
- ResourceTracker* resourceTracker,
- VkPhysicalDevicePushDescriptorPropertiesKHR* toTransform);
-
-#endif
-#ifdef VK_KHR_16bit_storage
-#endif
-#ifdef VK_KHR_incremental_present
-void transform_tohost_VkRectLayerKHR(
- ResourceTracker* resourceTracker,
- VkRectLayerKHR* toTransform);
-
-void transform_fromhost_VkRectLayerKHR(
- ResourceTracker* resourceTracker,
- VkRectLayerKHR* toTransform);
-
-void transform_tohost_VkPresentRegionKHR(
- ResourceTracker* resourceTracker,
- VkPresentRegionKHR* toTransform);
-
-void transform_fromhost_VkPresentRegionKHR(
- ResourceTracker* resourceTracker,
- VkPresentRegionKHR* toTransform);
-
-void transform_tohost_VkPresentRegionsKHR(
- ResourceTracker* resourceTracker,
- VkPresentRegionsKHR* toTransform);
-
-void transform_fromhost_VkPresentRegionsKHR(
- ResourceTracker* resourceTracker,
- VkPresentRegionsKHR* toTransform);
-
-#endif
-#ifdef VK_KHR_descriptor_update_template
-#endif
-#ifdef VK_KHR_create_renderpass2
-void transform_tohost_VkAttachmentDescription2KHR(
- ResourceTracker* resourceTracker,
- VkAttachmentDescription2KHR* toTransform);
-
-void transform_fromhost_VkAttachmentDescription2KHR(
- ResourceTracker* resourceTracker,
- VkAttachmentDescription2KHR* toTransform);
-
-void transform_tohost_VkAttachmentReference2KHR(
- ResourceTracker* resourceTracker,
- VkAttachmentReference2KHR* toTransform);
-
-void transform_fromhost_VkAttachmentReference2KHR(
- ResourceTracker* resourceTracker,
- VkAttachmentReference2KHR* toTransform);
-
-void transform_tohost_VkSubpassDescription2KHR(
- ResourceTracker* resourceTracker,
- VkSubpassDescription2KHR* toTransform);
-
-void transform_fromhost_VkSubpassDescription2KHR(
- ResourceTracker* resourceTracker,
- VkSubpassDescription2KHR* toTransform);
-
-void transform_tohost_VkSubpassDependency2KHR(
- ResourceTracker* resourceTracker,
- VkSubpassDependency2KHR* toTransform);
-
-void transform_fromhost_VkSubpassDependency2KHR(
- ResourceTracker* resourceTracker,
- VkSubpassDependency2KHR* toTransform);
-
-void transform_tohost_VkRenderPassCreateInfo2KHR(
- ResourceTracker* resourceTracker,
- VkRenderPassCreateInfo2KHR* toTransform);
-
-void transform_fromhost_VkRenderPassCreateInfo2KHR(
- ResourceTracker* resourceTracker,
- VkRenderPassCreateInfo2KHR* toTransform);
-
-void transform_tohost_VkSubpassBeginInfoKHR(
- ResourceTracker* resourceTracker,
- VkSubpassBeginInfoKHR* toTransform);
-
-void transform_fromhost_VkSubpassBeginInfoKHR(
- ResourceTracker* resourceTracker,
- VkSubpassBeginInfoKHR* toTransform);
-
-void transform_tohost_VkSubpassEndInfoKHR(
- ResourceTracker* resourceTracker,
- VkSubpassEndInfoKHR* toTransform);
-
-void transform_fromhost_VkSubpassEndInfoKHR(
- ResourceTracker* resourceTracker,
- VkSubpassEndInfoKHR* toTransform);
-
-#endif
-#ifdef VK_KHR_shared_presentable_image
-void transform_tohost_VkSharedPresentSurfaceCapabilitiesKHR(
- ResourceTracker* resourceTracker,
- VkSharedPresentSurfaceCapabilitiesKHR* toTransform);
-
-void transform_fromhost_VkSharedPresentSurfaceCapabilitiesKHR(
- ResourceTracker* resourceTracker,
- VkSharedPresentSurfaceCapabilitiesKHR* toTransform);
-
-#endif
-#ifdef VK_KHR_external_fence_capabilities
-#endif
-#ifdef VK_KHR_external_fence
-#endif
-#ifdef VK_KHR_external_fence_win32
-void transform_tohost_VkImportFenceWin32HandleInfoKHR(
- ResourceTracker* resourceTracker,
- VkImportFenceWin32HandleInfoKHR* toTransform);
-
-void transform_fromhost_VkImportFenceWin32HandleInfoKHR(
- ResourceTracker* resourceTracker,
- VkImportFenceWin32HandleInfoKHR* toTransform);
-
-void transform_tohost_VkExportFenceWin32HandleInfoKHR(
- ResourceTracker* resourceTracker,
- VkExportFenceWin32HandleInfoKHR* toTransform);
-
-void transform_fromhost_VkExportFenceWin32HandleInfoKHR(
- ResourceTracker* resourceTracker,
- VkExportFenceWin32HandleInfoKHR* toTransform);
-
-void transform_tohost_VkFenceGetWin32HandleInfoKHR(
- ResourceTracker* resourceTracker,
- VkFenceGetWin32HandleInfoKHR* toTransform);
-
-void transform_fromhost_VkFenceGetWin32HandleInfoKHR(
- ResourceTracker* resourceTracker,
- VkFenceGetWin32HandleInfoKHR* toTransform);
-
-#endif
-#ifdef VK_KHR_external_fence_fd
-void transform_tohost_VkImportFenceFdInfoKHR(
- ResourceTracker* resourceTracker,
- VkImportFenceFdInfoKHR* toTransform);
-
-void transform_fromhost_VkImportFenceFdInfoKHR(
- ResourceTracker* resourceTracker,
- VkImportFenceFdInfoKHR* toTransform);
-
-void transform_tohost_VkFenceGetFdInfoKHR(
- ResourceTracker* resourceTracker,
- VkFenceGetFdInfoKHR* toTransform);
-
-void transform_fromhost_VkFenceGetFdInfoKHR(
- ResourceTracker* resourceTracker,
- VkFenceGetFdInfoKHR* toTransform);
-
-#endif
-#ifdef VK_KHR_maintenance2
-#endif
-#ifdef VK_KHR_get_surface_capabilities2
-void transform_tohost_VkPhysicalDeviceSurfaceInfo2KHR(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceSurfaceInfo2KHR* toTransform);
-
-void transform_fromhost_VkPhysicalDeviceSurfaceInfo2KHR(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceSurfaceInfo2KHR* toTransform);
-
-void transform_tohost_VkSurfaceCapabilities2KHR(
- ResourceTracker* resourceTracker,
- VkSurfaceCapabilities2KHR* toTransform);
-
-void transform_fromhost_VkSurfaceCapabilities2KHR(
- ResourceTracker* resourceTracker,
- VkSurfaceCapabilities2KHR* toTransform);
-
-void transform_tohost_VkSurfaceFormat2KHR(
- ResourceTracker* resourceTracker,
- VkSurfaceFormat2KHR* toTransform);
-
-void transform_fromhost_VkSurfaceFormat2KHR(
- ResourceTracker* resourceTracker,
- VkSurfaceFormat2KHR* toTransform);
-
-#endif
-#ifdef VK_KHR_variable_pointers
-#endif
-#ifdef VK_KHR_get_display_properties2
-void transform_tohost_VkDisplayProperties2KHR(
- ResourceTracker* resourceTracker,
- VkDisplayProperties2KHR* toTransform);
-
-void transform_fromhost_VkDisplayProperties2KHR(
- ResourceTracker* resourceTracker,
- VkDisplayProperties2KHR* toTransform);
-
-void transform_tohost_VkDisplayPlaneProperties2KHR(
- ResourceTracker* resourceTracker,
- VkDisplayPlaneProperties2KHR* toTransform);
-
-void transform_fromhost_VkDisplayPlaneProperties2KHR(
- ResourceTracker* resourceTracker,
- VkDisplayPlaneProperties2KHR* toTransform);
-
-void transform_tohost_VkDisplayModeProperties2KHR(
- ResourceTracker* resourceTracker,
- VkDisplayModeProperties2KHR* toTransform);
-
-void transform_fromhost_VkDisplayModeProperties2KHR(
- ResourceTracker* resourceTracker,
- VkDisplayModeProperties2KHR* toTransform);
-
-void transform_tohost_VkDisplayPlaneInfo2KHR(
- ResourceTracker* resourceTracker,
- VkDisplayPlaneInfo2KHR* toTransform);
-
-void transform_fromhost_VkDisplayPlaneInfo2KHR(
- ResourceTracker* resourceTracker,
- VkDisplayPlaneInfo2KHR* toTransform);
-
-void transform_tohost_VkDisplayPlaneCapabilities2KHR(
- ResourceTracker* resourceTracker,
- VkDisplayPlaneCapabilities2KHR* toTransform);
-
-void transform_fromhost_VkDisplayPlaneCapabilities2KHR(
- ResourceTracker* resourceTracker,
- VkDisplayPlaneCapabilities2KHR* toTransform);
-
-#endif
-#ifdef VK_KHR_dedicated_allocation
-#endif
-#ifdef VK_KHR_storage_buffer_storage_class
-#endif
-#ifdef VK_KHR_relaxed_block_layout
-#endif
-#ifdef VK_KHR_get_memory_requirements2
-#endif
-#ifdef VK_KHR_image_format_list
-void transform_tohost_VkImageFormatListCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkImageFormatListCreateInfoKHR* toTransform);
-
-void transform_fromhost_VkImageFormatListCreateInfoKHR(
- ResourceTracker* resourceTracker,
- VkImageFormatListCreateInfoKHR* toTransform);
-
-#endif
-#ifdef VK_KHR_sampler_ycbcr_conversion
-#endif
-#ifdef VK_KHR_bind_memory2
-#endif
-#ifdef VK_KHR_maintenance3
-#endif
-#ifdef VK_KHR_draw_indirect_count
-#endif
-#ifdef VK_KHR_8bit_storage
-void transform_tohost_VkPhysicalDevice8BitStorageFeaturesKHR(
- ResourceTracker* resourceTracker,
- VkPhysicalDevice8BitStorageFeaturesKHR* toTransform);
-
-void transform_fromhost_VkPhysicalDevice8BitStorageFeaturesKHR(
- ResourceTracker* resourceTracker,
- VkPhysicalDevice8BitStorageFeaturesKHR* toTransform);
-
-#endif
-#ifdef VK_KHR_shader_float16_int8
-void transform_tohost_VkPhysicalDeviceShaderFloat16Int8Features(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceShaderFloat16Int8Features* toTransform);
-
-void transform_fromhost_VkPhysicalDeviceShaderFloat16Int8Features(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceShaderFloat16Int8Features* toTransform);
-
-#endif
-#ifdef VK_ANDROID_native_buffer
-void transform_tohost_VkNativeBufferANDROID(
- ResourceTracker* resourceTracker,
- VkNativeBufferANDROID* toTransform);
-
-void transform_fromhost_VkNativeBufferANDROID(
- ResourceTracker* resourceTracker,
- VkNativeBufferANDROID* toTransform);
-
-#endif
-#ifdef VK_EXT_debug_report
-void transform_tohost_VkDebugReportCallbackCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkDebugReportCallbackCreateInfoEXT* toTransform);
-
-void transform_fromhost_VkDebugReportCallbackCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkDebugReportCallbackCreateInfoEXT* toTransform);
-
-#endif
-#ifdef VK_NV_glsl_shader
-#endif
-#ifdef VK_EXT_depth_range_unrestricted
-#endif
-#ifdef VK_IMG_filter_cubic
-#endif
-#ifdef VK_AMD_rasterization_order
-void transform_tohost_VkPipelineRasterizationStateRasterizationOrderAMD(
- ResourceTracker* resourceTracker,
- VkPipelineRasterizationStateRasterizationOrderAMD* toTransform);
-
-void transform_fromhost_VkPipelineRasterizationStateRasterizationOrderAMD(
- ResourceTracker* resourceTracker,
- VkPipelineRasterizationStateRasterizationOrderAMD* toTransform);
-
-#endif
-#ifdef VK_AMD_shader_trinary_minmax
-#endif
-#ifdef VK_AMD_shader_explicit_vertex_parameter
-#endif
-#ifdef VK_EXT_debug_marker
-void transform_tohost_VkDebugMarkerObjectNameInfoEXT(
- ResourceTracker* resourceTracker,
- VkDebugMarkerObjectNameInfoEXT* toTransform);
-
-void transform_fromhost_VkDebugMarkerObjectNameInfoEXT(
- ResourceTracker* resourceTracker,
- VkDebugMarkerObjectNameInfoEXT* toTransform);
-
-void transform_tohost_VkDebugMarkerObjectTagInfoEXT(
- ResourceTracker* resourceTracker,
- VkDebugMarkerObjectTagInfoEXT* toTransform);
-
-void transform_fromhost_VkDebugMarkerObjectTagInfoEXT(
- ResourceTracker* resourceTracker,
- VkDebugMarkerObjectTagInfoEXT* toTransform);
-
-void transform_tohost_VkDebugMarkerMarkerInfoEXT(
- ResourceTracker* resourceTracker,
- VkDebugMarkerMarkerInfoEXT* toTransform);
-
-void transform_fromhost_VkDebugMarkerMarkerInfoEXT(
- ResourceTracker* resourceTracker,
- VkDebugMarkerMarkerInfoEXT* toTransform);
-
-#endif
-#ifdef VK_AMD_gcn_shader
-#endif
-#ifdef VK_NV_dedicated_allocation
-void transform_tohost_VkDedicatedAllocationImageCreateInfoNV(
- ResourceTracker* resourceTracker,
- VkDedicatedAllocationImageCreateInfoNV* toTransform);
-
-void transform_fromhost_VkDedicatedAllocationImageCreateInfoNV(
- ResourceTracker* resourceTracker,
- VkDedicatedAllocationImageCreateInfoNV* toTransform);
-
-void transform_tohost_VkDedicatedAllocationBufferCreateInfoNV(
- ResourceTracker* resourceTracker,
- VkDedicatedAllocationBufferCreateInfoNV* toTransform);
-
-void transform_fromhost_VkDedicatedAllocationBufferCreateInfoNV(
- ResourceTracker* resourceTracker,
- VkDedicatedAllocationBufferCreateInfoNV* toTransform);
-
-void transform_tohost_VkDedicatedAllocationMemoryAllocateInfoNV(
- ResourceTracker* resourceTracker,
- VkDedicatedAllocationMemoryAllocateInfoNV* toTransform);
-
-void transform_fromhost_VkDedicatedAllocationMemoryAllocateInfoNV(
- ResourceTracker* resourceTracker,
- VkDedicatedAllocationMemoryAllocateInfoNV* toTransform);
-
-#endif
-#ifdef VK_AMD_draw_indirect_count
-#endif
-#ifdef VK_AMD_negative_viewport_height
-#endif
-#ifdef VK_AMD_gpu_shader_half_float
-#endif
-#ifdef VK_AMD_shader_ballot
-#endif
-#ifdef VK_AMD_texture_gather_bias_lod
-void transform_tohost_VkTextureLODGatherFormatPropertiesAMD(
- ResourceTracker* resourceTracker,
- VkTextureLODGatherFormatPropertiesAMD* toTransform);
-
-void transform_fromhost_VkTextureLODGatherFormatPropertiesAMD(
- ResourceTracker* resourceTracker,
- VkTextureLODGatherFormatPropertiesAMD* toTransform);
-
-#endif
-#ifdef VK_AMD_shader_info
-void transform_tohost_VkShaderResourceUsageAMD(
- ResourceTracker* resourceTracker,
- VkShaderResourceUsageAMD* toTransform);
-
-void transform_fromhost_VkShaderResourceUsageAMD(
- ResourceTracker* resourceTracker,
- VkShaderResourceUsageAMD* toTransform);
-
-void transform_tohost_VkShaderStatisticsInfoAMD(
- ResourceTracker* resourceTracker,
- VkShaderStatisticsInfoAMD* toTransform);
-
-void transform_fromhost_VkShaderStatisticsInfoAMD(
- ResourceTracker* resourceTracker,
- VkShaderStatisticsInfoAMD* toTransform);
-
-#endif
-#ifdef VK_AMD_shader_image_load_store_lod
-#endif
-#ifdef VK_IMG_format_pvrtc
-#endif
-#ifdef VK_NV_external_memory_capabilities
-void transform_tohost_VkExternalImageFormatPropertiesNV(
- ResourceTracker* resourceTracker,
- VkExternalImageFormatPropertiesNV* toTransform);
-
-void transform_fromhost_VkExternalImageFormatPropertiesNV(
- ResourceTracker* resourceTracker,
- VkExternalImageFormatPropertiesNV* toTransform);
-
-#endif
-#ifdef VK_NV_external_memory
-void transform_tohost_VkExternalMemoryImageCreateInfoNV(
- ResourceTracker* resourceTracker,
- VkExternalMemoryImageCreateInfoNV* toTransform);
-
-void transform_fromhost_VkExternalMemoryImageCreateInfoNV(
- ResourceTracker* resourceTracker,
- VkExternalMemoryImageCreateInfoNV* toTransform);
-
-void transform_tohost_VkExportMemoryAllocateInfoNV(
- ResourceTracker* resourceTracker,
- VkExportMemoryAllocateInfoNV* toTransform);
-
-void transform_fromhost_VkExportMemoryAllocateInfoNV(
- ResourceTracker* resourceTracker,
- VkExportMemoryAllocateInfoNV* toTransform);
-
-#endif
-#ifdef VK_NV_external_memory_win32
-void transform_tohost_VkImportMemoryWin32HandleInfoNV(
- ResourceTracker* resourceTracker,
- VkImportMemoryWin32HandleInfoNV* toTransform);
-
-void transform_fromhost_VkImportMemoryWin32HandleInfoNV(
- ResourceTracker* resourceTracker,
- VkImportMemoryWin32HandleInfoNV* toTransform);
-
-void transform_tohost_VkExportMemoryWin32HandleInfoNV(
- ResourceTracker* resourceTracker,
- VkExportMemoryWin32HandleInfoNV* toTransform);
-
-void transform_fromhost_VkExportMemoryWin32HandleInfoNV(
- ResourceTracker* resourceTracker,
- VkExportMemoryWin32HandleInfoNV* toTransform);
-
-#endif
-#ifdef VK_NV_win32_keyed_mutex
-void transform_tohost_VkWin32KeyedMutexAcquireReleaseInfoNV(
- ResourceTracker* resourceTracker,
- VkWin32KeyedMutexAcquireReleaseInfoNV* toTransform);
-
-void transform_fromhost_VkWin32KeyedMutexAcquireReleaseInfoNV(
- ResourceTracker* resourceTracker,
- VkWin32KeyedMutexAcquireReleaseInfoNV* toTransform);
-
-#endif
-#ifdef VK_EXT_validation_flags
-void transform_tohost_VkValidationFlagsEXT(
- ResourceTracker* resourceTracker,
- VkValidationFlagsEXT* toTransform);
-
-void transform_fromhost_VkValidationFlagsEXT(
- ResourceTracker* resourceTracker,
- VkValidationFlagsEXT* toTransform);
-
-#endif
-#ifdef VK_NN_vi_surface
-void transform_tohost_VkViSurfaceCreateInfoNN(
- ResourceTracker* resourceTracker,
- VkViSurfaceCreateInfoNN* toTransform);
-
-void transform_fromhost_VkViSurfaceCreateInfoNN(
- ResourceTracker* resourceTracker,
- VkViSurfaceCreateInfoNN* toTransform);
-
-#endif
-#ifdef VK_EXT_shader_subgroup_ballot
-#endif
-#ifdef VK_EXT_shader_subgroup_vote
-#endif
-#ifdef VK_EXT_conditional_rendering
-void transform_tohost_VkConditionalRenderingBeginInfoEXT(
- ResourceTracker* resourceTracker,
- VkConditionalRenderingBeginInfoEXT* toTransform);
-
-void transform_fromhost_VkConditionalRenderingBeginInfoEXT(
- ResourceTracker* resourceTracker,
- VkConditionalRenderingBeginInfoEXT* toTransform);
-
-void transform_tohost_VkPhysicalDeviceConditionalRenderingFeaturesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceConditionalRenderingFeaturesEXT* toTransform);
-
-void transform_fromhost_VkPhysicalDeviceConditionalRenderingFeaturesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceConditionalRenderingFeaturesEXT* toTransform);
-
-void transform_tohost_VkCommandBufferInheritanceConditionalRenderingInfoEXT(
- ResourceTracker* resourceTracker,
- VkCommandBufferInheritanceConditionalRenderingInfoEXT* toTransform);
-
-void transform_fromhost_VkCommandBufferInheritanceConditionalRenderingInfoEXT(
- ResourceTracker* resourceTracker,
- VkCommandBufferInheritanceConditionalRenderingInfoEXT* toTransform);
-
-#endif
-#ifdef VK_NVX_device_generated_commands
-void transform_tohost_VkDeviceGeneratedCommandsFeaturesNVX(
- ResourceTracker* resourceTracker,
- VkDeviceGeneratedCommandsFeaturesNVX* toTransform);
-
-void transform_fromhost_VkDeviceGeneratedCommandsFeaturesNVX(
- ResourceTracker* resourceTracker,
- VkDeviceGeneratedCommandsFeaturesNVX* toTransform);
-
-void transform_tohost_VkDeviceGeneratedCommandsLimitsNVX(
- ResourceTracker* resourceTracker,
- VkDeviceGeneratedCommandsLimitsNVX* toTransform);
-
-void transform_fromhost_VkDeviceGeneratedCommandsLimitsNVX(
- ResourceTracker* resourceTracker,
- VkDeviceGeneratedCommandsLimitsNVX* toTransform);
-
-void transform_tohost_VkIndirectCommandsTokenNVX(
- ResourceTracker* resourceTracker,
- VkIndirectCommandsTokenNVX* toTransform);
-
-void transform_fromhost_VkIndirectCommandsTokenNVX(
- ResourceTracker* resourceTracker,
- VkIndirectCommandsTokenNVX* toTransform);
-
-void transform_tohost_VkIndirectCommandsLayoutTokenNVX(
- ResourceTracker* resourceTracker,
- VkIndirectCommandsLayoutTokenNVX* toTransform);
-
-void transform_fromhost_VkIndirectCommandsLayoutTokenNVX(
- ResourceTracker* resourceTracker,
- VkIndirectCommandsLayoutTokenNVX* toTransform);
-
-void transform_tohost_VkIndirectCommandsLayoutCreateInfoNVX(
- ResourceTracker* resourceTracker,
- VkIndirectCommandsLayoutCreateInfoNVX* toTransform);
-
-void transform_fromhost_VkIndirectCommandsLayoutCreateInfoNVX(
- ResourceTracker* resourceTracker,
- VkIndirectCommandsLayoutCreateInfoNVX* toTransform);
-
-void transform_tohost_VkCmdProcessCommandsInfoNVX(
- ResourceTracker* resourceTracker,
- VkCmdProcessCommandsInfoNVX* toTransform);
-
-void transform_fromhost_VkCmdProcessCommandsInfoNVX(
- ResourceTracker* resourceTracker,
- VkCmdProcessCommandsInfoNVX* toTransform);
-
-void transform_tohost_VkCmdReserveSpaceForCommandsInfoNVX(
- ResourceTracker* resourceTracker,
- VkCmdReserveSpaceForCommandsInfoNVX* toTransform);
-
-void transform_fromhost_VkCmdReserveSpaceForCommandsInfoNVX(
- ResourceTracker* resourceTracker,
- VkCmdReserveSpaceForCommandsInfoNVX* toTransform);
-
-void transform_tohost_VkObjectTableCreateInfoNVX(
- ResourceTracker* resourceTracker,
- VkObjectTableCreateInfoNVX* toTransform);
-
-void transform_fromhost_VkObjectTableCreateInfoNVX(
- ResourceTracker* resourceTracker,
- VkObjectTableCreateInfoNVX* toTransform);
-
-void transform_tohost_VkObjectTableEntryNVX(
- ResourceTracker* resourceTracker,
- VkObjectTableEntryNVX* toTransform);
-
-void transform_fromhost_VkObjectTableEntryNVX(
- ResourceTracker* resourceTracker,
- VkObjectTableEntryNVX* toTransform);
-
-void transform_tohost_VkObjectTablePipelineEntryNVX(
- ResourceTracker* resourceTracker,
- VkObjectTablePipelineEntryNVX* toTransform);
-
-void transform_fromhost_VkObjectTablePipelineEntryNVX(
- ResourceTracker* resourceTracker,
- VkObjectTablePipelineEntryNVX* toTransform);
-
-void transform_tohost_VkObjectTableDescriptorSetEntryNVX(
- ResourceTracker* resourceTracker,
- VkObjectTableDescriptorSetEntryNVX* toTransform);
-
-void transform_fromhost_VkObjectTableDescriptorSetEntryNVX(
- ResourceTracker* resourceTracker,
- VkObjectTableDescriptorSetEntryNVX* toTransform);
-
-void transform_tohost_VkObjectTableVertexBufferEntryNVX(
- ResourceTracker* resourceTracker,
- VkObjectTableVertexBufferEntryNVX* toTransform);
-
-void transform_fromhost_VkObjectTableVertexBufferEntryNVX(
- ResourceTracker* resourceTracker,
- VkObjectTableVertexBufferEntryNVX* toTransform);
-
-void transform_tohost_VkObjectTableIndexBufferEntryNVX(
- ResourceTracker* resourceTracker,
- VkObjectTableIndexBufferEntryNVX* toTransform);
-
-void transform_fromhost_VkObjectTableIndexBufferEntryNVX(
- ResourceTracker* resourceTracker,
- VkObjectTableIndexBufferEntryNVX* toTransform);
-
-void transform_tohost_VkObjectTablePushConstantEntryNVX(
- ResourceTracker* resourceTracker,
- VkObjectTablePushConstantEntryNVX* toTransform);
-
-void transform_fromhost_VkObjectTablePushConstantEntryNVX(
- ResourceTracker* resourceTracker,
- VkObjectTablePushConstantEntryNVX* toTransform);
-
-#endif
-#ifdef VK_NV_clip_space_w_scaling
-void transform_tohost_VkViewportWScalingNV(
- ResourceTracker* resourceTracker,
- VkViewportWScalingNV* toTransform);
-
-void transform_fromhost_VkViewportWScalingNV(
- ResourceTracker* resourceTracker,
- VkViewportWScalingNV* toTransform);
-
-void transform_tohost_VkPipelineViewportWScalingStateCreateInfoNV(
- ResourceTracker* resourceTracker,
- VkPipelineViewportWScalingStateCreateInfoNV* toTransform);
-
-void transform_fromhost_VkPipelineViewportWScalingStateCreateInfoNV(
- ResourceTracker* resourceTracker,
- VkPipelineViewportWScalingStateCreateInfoNV* toTransform);
-
-#endif
-#ifdef VK_EXT_direct_mode_display
-#endif
-#ifdef VK_EXT_acquire_xlib_display
-#endif
-#ifdef VK_EXT_display_surface_counter
-void transform_tohost_VkSurfaceCapabilities2EXT(
- ResourceTracker* resourceTracker,
- VkSurfaceCapabilities2EXT* toTransform);
-
-void transform_fromhost_VkSurfaceCapabilities2EXT(
- ResourceTracker* resourceTracker,
- VkSurfaceCapabilities2EXT* toTransform);
-
-#endif
-#ifdef VK_EXT_display_control
-void transform_tohost_VkDisplayPowerInfoEXT(
- ResourceTracker* resourceTracker,
- VkDisplayPowerInfoEXT* toTransform);
-
-void transform_fromhost_VkDisplayPowerInfoEXT(
- ResourceTracker* resourceTracker,
- VkDisplayPowerInfoEXT* toTransform);
-
-void transform_tohost_VkDeviceEventInfoEXT(
- ResourceTracker* resourceTracker,
- VkDeviceEventInfoEXT* toTransform);
-
-void transform_fromhost_VkDeviceEventInfoEXT(
- ResourceTracker* resourceTracker,
- VkDeviceEventInfoEXT* toTransform);
-
-void transform_tohost_VkDisplayEventInfoEXT(
- ResourceTracker* resourceTracker,
- VkDisplayEventInfoEXT* toTransform);
-
-void transform_fromhost_VkDisplayEventInfoEXT(
- ResourceTracker* resourceTracker,
- VkDisplayEventInfoEXT* toTransform);
-
-void transform_tohost_VkSwapchainCounterCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkSwapchainCounterCreateInfoEXT* toTransform);
-
-void transform_fromhost_VkSwapchainCounterCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkSwapchainCounterCreateInfoEXT* toTransform);
-
-#endif
-#ifdef VK_GOOGLE_display_timing
-void transform_tohost_VkRefreshCycleDurationGOOGLE(
- ResourceTracker* resourceTracker,
- VkRefreshCycleDurationGOOGLE* toTransform);
-
-void transform_fromhost_VkRefreshCycleDurationGOOGLE(
- ResourceTracker* resourceTracker,
- VkRefreshCycleDurationGOOGLE* toTransform);
-
-void transform_tohost_VkPastPresentationTimingGOOGLE(
- ResourceTracker* resourceTracker,
- VkPastPresentationTimingGOOGLE* toTransform);
-
-void transform_fromhost_VkPastPresentationTimingGOOGLE(
- ResourceTracker* resourceTracker,
- VkPastPresentationTimingGOOGLE* toTransform);
-
-void transform_tohost_VkPresentTimeGOOGLE(
- ResourceTracker* resourceTracker,
- VkPresentTimeGOOGLE* toTransform);
-
-void transform_fromhost_VkPresentTimeGOOGLE(
- ResourceTracker* resourceTracker,
- VkPresentTimeGOOGLE* toTransform);
-
-void transform_tohost_VkPresentTimesInfoGOOGLE(
- ResourceTracker* resourceTracker,
- VkPresentTimesInfoGOOGLE* toTransform);
-
-void transform_fromhost_VkPresentTimesInfoGOOGLE(
- ResourceTracker* resourceTracker,
- VkPresentTimesInfoGOOGLE* toTransform);
-
-#endif
-#ifdef VK_NV_sample_mask_override_coverage
-#endif
-#ifdef VK_NV_geometry_shader_passthrough
-#endif
-#ifdef VK_NV_viewport_array2
-#endif
-#ifdef VK_NVX_multiview_per_view_attributes
-void transform_tohost_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX* toTransform);
-
-void transform_fromhost_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX* toTransform);
-
-#endif
-#ifdef VK_NV_viewport_swizzle
-void transform_tohost_VkViewportSwizzleNV(
- ResourceTracker* resourceTracker,
- VkViewportSwizzleNV* toTransform);
-
-void transform_fromhost_VkViewportSwizzleNV(
- ResourceTracker* resourceTracker,
- VkViewportSwizzleNV* toTransform);
-
-void transform_tohost_VkPipelineViewportSwizzleStateCreateInfoNV(
- ResourceTracker* resourceTracker,
- VkPipelineViewportSwizzleStateCreateInfoNV* toTransform);
-
-void transform_fromhost_VkPipelineViewportSwizzleStateCreateInfoNV(
- ResourceTracker* resourceTracker,
- VkPipelineViewportSwizzleStateCreateInfoNV* toTransform);
-
-#endif
-#ifdef VK_EXT_discard_rectangles
-void transform_tohost_VkPhysicalDeviceDiscardRectanglePropertiesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceDiscardRectanglePropertiesEXT* toTransform);
-
-void transform_fromhost_VkPhysicalDeviceDiscardRectanglePropertiesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceDiscardRectanglePropertiesEXT* toTransform);
-
-void transform_tohost_VkPipelineDiscardRectangleStateCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkPipelineDiscardRectangleStateCreateInfoEXT* toTransform);
-
-void transform_fromhost_VkPipelineDiscardRectangleStateCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkPipelineDiscardRectangleStateCreateInfoEXT* toTransform);
-
-#endif
-#ifdef VK_EXT_conservative_rasterization
-void transform_tohost_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceConservativeRasterizationPropertiesEXT* toTransform);
-
-void transform_fromhost_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceConservativeRasterizationPropertiesEXT* toTransform);
-
-void transform_tohost_VkPipelineRasterizationConservativeStateCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkPipelineRasterizationConservativeStateCreateInfoEXT* toTransform);
-
-void transform_fromhost_VkPipelineRasterizationConservativeStateCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkPipelineRasterizationConservativeStateCreateInfoEXT* toTransform);
-
-#endif
-#ifdef VK_EXT_swapchain_colorspace
-#endif
-#ifdef VK_EXT_hdr_metadata
-void transform_tohost_VkXYColorEXT(
- ResourceTracker* resourceTracker,
- VkXYColorEXT* toTransform);
-
-void transform_fromhost_VkXYColorEXT(
- ResourceTracker* resourceTracker,
- VkXYColorEXT* toTransform);
-
-void transform_tohost_VkHdrMetadataEXT(
- ResourceTracker* resourceTracker,
- VkHdrMetadataEXT* toTransform);
-
-void transform_fromhost_VkHdrMetadataEXT(
- ResourceTracker* resourceTracker,
- VkHdrMetadataEXT* toTransform);
-
-#endif
-#ifdef VK_MVK_ios_surface
-void transform_tohost_VkIOSSurfaceCreateInfoMVK(
- ResourceTracker* resourceTracker,
- VkIOSSurfaceCreateInfoMVK* toTransform);
-
-void transform_fromhost_VkIOSSurfaceCreateInfoMVK(
- ResourceTracker* resourceTracker,
- VkIOSSurfaceCreateInfoMVK* toTransform);
-
-#endif
-#ifdef VK_MVK_macos_surface
-void transform_tohost_VkMacOSSurfaceCreateInfoMVK(
- ResourceTracker* resourceTracker,
- VkMacOSSurfaceCreateInfoMVK* toTransform);
-
-void transform_fromhost_VkMacOSSurfaceCreateInfoMVK(
- ResourceTracker* resourceTracker,
- VkMacOSSurfaceCreateInfoMVK* toTransform);
-
-#endif
-#ifdef VK_EXT_external_memory_dma_buf
-#endif
-#ifdef VK_EXT_queue_family_foreign
-#endif
-#ifdef VK_EXT_debug_utils
-void transform_tohost_VkDebugUtilsObjectNameInfoEXT(
- ResourceTracker* resourceTracker,
- VkDebugUtilsObjectNameInfoEXT* toTransform);
-
-void transform_fromhost_VkDebugUtilsObjectNameInfoEXT(
- ResourceTracker* resourceTracker,
- VkDebugUtilsObjectNameInfoEXT* toTransform);
-
-void transform_tohost_VkDebugUtilsObjectTagInfoEXT(
- ResourceTracker* resourceTracker,
- VkDebugUtilsObjectTagInfoEXT* toTransform);
-
-void transform_fromhost_VkDebugUtilsObjectTagInfoEXT(
- ResourceTracker* resourceTracker,
- VkDebugUtilsObjectTagInfoEXT* toTransform);
-
-void transform_tohost_VkDebugUtilsLabelEXT(
- ResourceTracker* resourceTracker,
- VkDebugUtilsLabelEXT* toTransform);
-
-void transform_fromhost_VkDebugUtilsLabelEXT(
- ResourceTracker* resourceTracker,
- VkDebugUtilsLabelEXT* toTransform);
-
-void transform_tohost_VkDebugUtilsMessengerCallbackDataEXT(
- ResourceTracker* resourceTracker,
- VkDebugUtilsMessengerCallbackDataEXT* toTransform);
-
-void transform_fromhost_VkDebugUtilsMessengerCallbackDataEXT(
- ResourceTracker* resourceTracker,
- VkDebugUtilsMessengerCallbackDataEXT* toTransform);
-
-void transform_tohost_VkDebugUtilsMessengerCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkDebugUtilsMessengerCreateInfoEXT* toTransform);
-
-void transform_fromhost_VkDebugUtilsMessengerCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkDebugUtilsMessengerCreateInfoEXT* toTransform);
-
-#endif
-#ifdef VK_ANDROID_external_memory_android_hardware_buffer
-void transform_tohost_VkAndroidHardwareBufferUsageANDROID(
- ResourceTracker* resourceTracker,
- VkAndroidHardwareBufferUsageANDROID* toTransform);
-
-void transform_fromhost_VkAndroidHardwareBufferUsageANDROID(
- ResourceTracker* resourceTracker,
- VkAndroidHardwareBufferUsageANDROID* toTransform);
-
-void transform_tohost_VkAndroidHardwareBufferPropertiesANDROID(
- ResourceTracker* resourceTracker,
- VkAndroidHardwareBufferPropertiesANDROID* toTransform);
-
-void transform_fromhost_VkAndroidHardwareBufferPropertiesANDROID(
- ResourceTracker* resourceTracker,
- VkAndroidHardwareBufferPropertiesANDROID* toTransform);
-
-void transform_tohost_VkAndroidHardwareBufferFormatPropertiesANDROID(
- ResourceTracker* resourceTracker,
- VkAndroidHardwareBufferFormatPropertiesANDROID* toTransform);
-
-void transform_fromhost_VkAndroidHardwareBufferFormatPropertiesANDROID(
- ResourceTracker* resourceTracker,
- VkAndroidHardwareBufferFormatPropertiesANDROID* toTransform);
-
-void transform_tohost_VkImportAndroidHardwareBufferInfoANDROID(
- ResourceTracker* resourceTracker,
- VkImportAndroidHardwareBufferInfoANDROID* toTransform);
-
-void transform_fromhost_VkImportAndroidHardwareBufferInfoANDROID(
- ResourceTracker* resourceTracker,
- VkImportAndroidHardwareBufferInfoANDROID* toTransform);
-
-void transform_tohost_VkMemoryGetAndroidHardwareBufferInfoANDROID(
- ResourceTracker* resourceTracker,
- VkMemoryGetAndroidHardwareBufferInfoANDROID* toTransform);
-
-void transform_fromhost_VkMemoryGetAndroidHardwareBufferInfoANDROID(
- ResourceTracker* resourceTracker,
- VkMemoryGetAndroidHardwareBufferInfoANDROID* toTransform);
-
-void transform_tohost_VkExternalFormatANDROID(
- ResourceTracker* resourceTracker,
- VkExternalFormatANDROID* toTransform);
-
-void transform_fromhost_VkExternalFormatANDROID(
- ResourceTracker* resourceTracker,
- VkExternalFormatANDROID* toTransform);
-
-#endif
-#ifdef VK_EXT_sampler_filter_minmax
-void transform_tohost_VkSamplerReductionModeCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkSamplerReductionModeCreateInfoEXT* toTransform);
-
-void transform_fromhost_VkSamplerReductionModeCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkSamplerReductionModeCreateInfoEXT* toTransform);
-
-void transform_tohost_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT* toTransform);
-
-void transform_fromhost_VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT* toTransform);
-
-#endif
-#ifdef VK_AMD_gpu_shader_int16
-#endif
-#ifdef VK_AMD_mixed_attachment_samples
-#endif
-#ifdef VK_AMD_shader_fragment_mask
-#endif
-#ifdef VK_EXT_shader_stencil_export
-#endif
-#ifdef VK_EXT_sample_locations
-void transform_tohost_VkSampleLocationEXT(
- ResourceTracker* resourceTracker,
- VkSampleLocationEXT* toTransform);
-
-void transform_fromhost_VkSampleLocationEXT(
- ResourceTracker* resourceTracker,
- VkSampleLocationEXT* toTransform);
-
-void transform_tohost_VkSampleLocationsInfoEXT(
- ResourceTracker* resourceTracker,
- VkSampleLocationsInfoEXT* toTransform);
-
-void transform_fromhost_VkSampleLocationsInfoEXT(
- ResourceTracker* resourceTracker,
- VkSampleLocationsInfoEXT* toTransform);
-
-void transform_tohost_VkAttachmentSampleLocationsEXT(
- ResourceTracker* resourceTracker,
- VkAttachmentSampleLocationsEXT* toTransform);
-
-void transform_fromhost_VkAttachmentSampleLocationsEXT(
- ResourceTracker* resourceTracker,
- VkAttachmentSampleLocationsEXT* toTransform);
-
-void transform_tohost_VkSubpassSampleLocationsEXT(
- ResourceTracker* resourceTracker,
- VkSubpassSampleLocationsEXT* toTransform);
-
-void transform_fromhost_VkSubpassSampleLocationsEXT(
- ResourceTracker* resourceTracker,
- VkSubpassSampleLocationsEXT* toTransform);
-
-void transform_tohost_VkRenderPassSampleLocationsBeginInfoEXT(
- ResourceTracker* resourceTracker,
- VkRenderPassSampleLocationsBeginInfoEXT* toTransform);
-
-void transform_fromhost_VkRenderPassSampleLocationsBeginInfoEXT(
- ResourceTracker* resourceTracker,
- VkRenderPassSampleLocationsBeginInfoEXT* toTransform);
-
-void transform_tohost_VkPipelineSampleLocationsStateCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkPipelineSampleLocationsStateCreateInfoEXT* toTransform);
-
-void transform_fromhost_VkPipelineSampleLocationsStateCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkPipelineSampleLocationsStateCreateInfoEXT* toTransform);
-
-void transform_tohost_VkPhysicalDeviceSampleLocationsPropertiesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceSampleLocationsPropertiesEXT* toTransform);
-
-void transform_fromhost_VkPhysicalDeviceSampleLocationsPropertiesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceSampleLocationsPropertiesEXT* toTransform);
-
-void transform_tohost_VkMultisamplePropertiesEXT(
- ResourceTracker* resourceTracker,
- VkMultisamplePropertiesEXT* toTransform);
-
-void transform_fromhost_VkMultisamplePropertiesEXT(
- ResourceTracker* resourceTracker,
- VkMultisamplePropertiesEXT* toTransform);
-
-#endif
-#ifdef VK_EXT_blend_operation_advanced
-void transform_tohost_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT* toTransform);
-
-void transform_fromhost_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT* toTransform);
-
-void transform_tohost_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT* toTransform);
-
-void transform_fromhost_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT* toTransform);
-
-void transform_tohost_VkPipelineColorBlendAdvancedStateCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkPipelineColorBlendAdvancedStateCreateInfoEXT* toTransform);
-
-void transform_fromhost_VkPipelineColorBlendAdvancedStateCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkPipelineColorBlendAdvancedStateCreateInfoEXT* toTransform);
-
-#endif
-#ifdef VK_NV_fragment_coverage_to_color
-void transform_tohost_VkPipelineCoverageToColorStateCreateInfoNV(
- ResourceTracker* resourceTracker,
- VkPipelineCoverageToColorStateCreateInfoNV* toTransform);
-
-void transform_fromhost_VkPipelineCoverageToColorStateCreateInfoNV(
- ResourceTracker* resourceTracker,
- VkPipelineCoverageToColorStateCreateInfoNV* toTransform);
-
-#endif
-#ifdef VK_NV_framebuffer_mixed_samples
-void transform_tohost_VkPipelineCoverageModulationStateCreateInfoNV(
- ResourceTracker* resourceTracker,
- VkPipelineCoverageModulationStateCreateInfoNV* toTransform);
-
-void transform_fromhost_VkPipelineCoverageModulationStateCreateInfoNV(
- ResourceTracker* resourceTracker,
- VkPipelineCoverageModulationStateCreateInfoNV* toTransform);
-
-#endif
-#ifdef VK_NV_fill_rectangle
-#endif
-#ifdef VK_EXT_post_depth_coverage
-#endif
-#ifdef VK_EXT_validation_cache
-void transform_tohost_VkValidationCacheCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkValidationCacheCreateInfoEXT* toTransform);
-
-void transform_fromhost_VkValidationCacheCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkValidationCacheCreateInfoEXT* toTransform);
-
-void transform_tohost_VkShaderModuleValidationCacheCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkShaderModuleValidationCacheCreateInfoEXT* toTransform);
-
-void transform_fromhost_VkShaderModuleValidationCacheCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkShaderModuleValidationCacheCreateInfoEXT* toTransform);
-
-#endif
-#ifdef VK_EXT_descriptor_indexing
-void transform_tohost_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkDescriptorSetLayoutBindingFlagsCreateInfoEXT* toTransform);
-
-void transform_fromhost_VkDescriptorSetLayoutBindingFlagsCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkDescriptorSetLayoutBindingFlagsCreateInfoEXT* toTransform);
-
-void transform_tohost_VkPhysicalDeviceDescriptorIndexingFeaturesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceDescriptorIndexingFeaturesEXT* toTransform);
-
-void transform_fromhost_VkPhysicalDeviceDescriptorIndexingFeaturesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceDescriptorIndexingFeaturesEXT* toTransform);
-
-void transform_tohost_VkPhysicalDeviceDescriptorIndexingPropertiesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceDescriptorIndexingPropertiesEXT* toTransform);
-
-void transform_fromhost_VkPhysicalDeviceDescriptorIndexingPropertiesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceDescriptorIndexingPropertiesEXT* toTransform);
-
-void transform_tohost_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT(
- ResourceTracker* resourceTracker,
- VkDescriptorSetVariableDescriptorCountAllocateInfoEXT* toTransform);
-
-void transform_fromhost_VkDescriptorSetVariableDescriptorCountAllocateInfoEXT(
- ResourceTracker* resourceTracker,
- VkDescriptorSetVariableDescriptorCountAllocateInfoEXT* toTransform);
-
-void transform_tohost_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT(
- ResourceTracker* resourceTracker,
- VkDescriptorSetVariableDescriptorCountLayoutSupportEXT* toTransform);
-
-void transform_fromhost_VkDescriptorSetVariableDescriptorCountLayoutSupportEXT(
- ResourceTracker* resourceTracker,
- VkDescriptorSetVariableDescriptorCountLayoutSupportEXT* toTransform);
-
-#endif
-#ifdef VK_EXT_shader_viewport_index_layer
-#endif
-#ifdef VK_EXT_global_priority
-void transform_tohost_VkDeviceQueueGlobalPriorityCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkDeviceQueueGlobalPriorityCreateInfoEXT* toTransform);
-
-void transform_fromhost_VkDeviceQueueGlobalPriorityCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkDeviceQueueGlobalPriorityCreateInfoEXT* toTransform);
-
-#endif
-#ifdef VK_EXT_external_memory_host
-void transform_tohost_VkImportMemoryHostPointerInfoEXT(
- ResourceTracker* resourceTracker,
- VkImportMemoryHostPointerInfoEXT* toTransform);
-
-void transform_fromhost_VkImportMemoryHostPointerInfoEXT(
- ResourceTracker* resourceTracker,
- VkImportMemoryHostPointerInfoEXT* toTransform);
-
-void transform_tohost_VkMemoryHostPointerPropertiesEXT(
- ResourceTracker* resourceTracker,
- VkMemoryHostPointerPropertiesEXT* toTransform);
-
-void transform_fromhost_VkMemoryHostPointerPropertiesEXT(
- ResourceTracker* resourceTracker,
- VkMemoryHostPointerPropertiesEXT* toTransform);
-
-void transform_tohost_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceExternalMemoryHostPropertiesEXT* toTransform);
-
-void transform_fromhost_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceExternalMemoryHostPropertiesEXT* toTransform);
-
-#endif
-#ifdef VK_AMD_buffer_marker
-#endif
-#ifdef VK_AMD_shader_core_properties
-void transform_tohost_VkPhysicalDeviceShaderCorePropertiesAMD(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceShaderCorePropertiesAMD* toTransform);
-
-void transform_fromhost_VkPhysicalDeviceShaderCorePropertiesAMD(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceShaderCorePropertiesAMD* toTransform);
-
-#endif
-#ifdef VK_EXT_vertex_attribute_divisor
-void transform_tohost_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* toTransform);
-
-void transform_fromhost_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(
- ResourceTracker* resourceTracker,
- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* toTransform);
-
-void transform_tohost_VkVertexInputBindingDivisorDescriptionEXT(
- ResourceTracker* resourceTracker,
- VkVertexInputBindingDivisorDescriptionEXT* toTransform);
-
-void transform_fromhost_VkVertexInputBindingDivisorDescriptionEXT(
- ResourceTracker* resourceTracker,
- VkVertexInputBindingDivisorDescriptionEXT* toTransform);
-
-void transform_tohost_VkPipelineVertexInputDivisorStateCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkPipelineVertexInputDivisorStateCreateInfoEXT* toTransform);
-
-void transform_fromhost_VkPipelineVertexInputDivisorStateCreateInfoEXT(
- ResourceTracker* resourceTracker,
- VkPipelineVertexInputDivisorStateCreateInfoEXT* toTransform);
-
-#endif
-#ifdef VK_NV_shader_subgroup_partitioned
-#endif
-#ifdef VK_NV_device_diagnostic_checkpoints
-void transform_tohost_VkQueueFamilyCheckpointPropertiesNV(
- ResourceTracker* resourceTracker,
- VkQueueFamilyCheckpointPropertiesNV* toTransform);
-
-void transform_fromhost_VkQueueFamilyCheckpointPropertiesNV(
- ResourceTracker* resourceTracker,
- VkQueueFamilyCheckpointPropertiesNV* toTransform);
-
-void transform_tohost_VkCheckpointDataNV(
- ResourceTracker* resourceTracker,
- VkCheckpointDataNV* toTransform);
-
-void transform_fromhost_VkCheckpointDataNV(
- ResourceTracker* resourceTracker,
- VkCheckpointDataNV* toTransform);
-
-#endif
-#ifdef VK_GOOGLE_address_space
-#endif
-#ifdef VK_GOOGLE_color_buffer
-void transform_tohost_VkImportColorBufferGOOGLE(
- ResourceTracker* resourceTracker,
- VkImportColorBufferGOOGLE* toTransform);
-
-void transform_fromhost_VkImportColorBufferGOOGLE(
- ResourceTracker* resourceTracker,
- VkImportColorBufferGOOGLE* toTransform);
-
-void transform_tohost_VkImportBufferGOOGLE(
- ResourceTracker* resourceTracker,
- VkImportBufferGOOGLE* toTransform);
-
-void transform_fromhost_VkImportBufferGOOGLE(
- ResourceTracker* resourceTracker,
- VkImportBufferGOOGLE* toTransform);
-
-void transform_tohost_VkImportPhysicalAddressGOOGLE(
- ResourceTracker* resourceTracker,
- VkImportPhysicalAddressGOOGLE* toTransform);
-
-void transform_fromhost_VkImportPhysicalAddressGOOGLE(
- ResourceTracker* resourceTracker,
- VkImportPhysicalAddressGOOGLE* toTransform);
-
-#endif
-#ifdef VK_GOOGLE_sized_descriptor_update_template
-#endif
-#ifdef VK_GOOGLE_async_command_buffers
-#endif
-#ifdef VK_GOOGLE_create_resources_with_requirements
-#endif
-#ifdef VK_GOOGLE_address_space_info
-#endif
-#ifdef VK_GOOGLE_free_memory_sync
-#endif
-#ifdef VK_GOOGLE_async_queue_submit
-#endif
-#ifdef VK_GOOGLE_linear_image_layout
-#endif
-
-} // namespace goldfish_vk
diff --git a/stream-servers/Android.bp b/stream-servers/Android.bp
new file mode 100644
index 0000000..d96300c
--- /dev/null
+++ b/stream-servers/Android.bp
@@ -0,0 +1,66 @@
+cc_library_shared {
+ name: "gfxstream_backend",
+ defaults: [ "gfxstream_defaults" ],
+ cflags: [
+ "-Wno-unused-parameter",
+ "-Wno-unused-variable",
+ "-Wno-unused-function",
+ "-Wno-unreachable-code-loop-increment",
+ ],
+ static_libs: [
+ "gfxstream_base",
+ "gfxstream_host_common",
+ "gfxstream_apigen_codec_common",
+ "gfxstream_glsnapshot",
+ "gfxstream_translator_glcommon",
+ "gfxstream_translator_egl",
+ "gfxstream_translator_glescm",
+ "gfxstream_translator_glesv2",
+ "gfxstream_vulkan_cereal_host",
+ "gfxstream_vulkan_server",
+ "gfxstream_renderControl_dec",
+ "gfxstream_gles1_dec",
+ "gfxstream_gles2_dec",
+ "gfxstream_renderControl_dec",
+ "gfxstream_dispatch",
+ "gfxstream_astc_codec",
+ "gfxstream_angle_stub",
+ "gfxstream_lz4",
+ "gfxstream_compressedTextures",
+ ],
+ srcs: [
+ "ChannelStream.cpp",
+ "ColorBuffer.cpp",
+ "FbConfig.cpp",
+ "FenceSync.cpp",
+ "GLESVersionDetector.cpp",
+ "PostWorker.cpp",
+ "ReadbackWorker.cpp",
+ "ReadBuffer.cpp",
+ "render_api.cpp",
+ "RenderChannelImpl.cpp",
+ "RenderThreadInfo.cpp",
+ "RingStream.cpp",
+ "SyncThread.cpp",
+ "TextureDraw.cpp",
+ "TextureResize.cpp",
+ "WindowSurface.cpp",
+ "YUVConverter.cpp",
+ "RenderThread.cpp",
+ "RenderContext.cpp",
+ "RenderControl.cpp",
+ "RenderWindow.cpp",
+ "RenderLibImpl.cpp",
+ "RendererImpl.cpp",
+ "FrameBuffer.cpp",
+
+ "NativeSubWindow_x11.cpp",
+
+ "GfxStreamAgents.cpp",
+ "virtio-gpu-gfxstream-renderer.cpp",
+ "GfxStreamBackend.cpp",
+ ],
+ host_ldlibs: [
+ "-lpthread",
+ ],
+}
diff --git a/stream-servers/NativeSubWindow_x11.cpp b/stream-servers/NativeSubWindow_x11.cpp
index 19011f8..0f03c09 100644
--- a/stream-servers/NativeSubWindow_x11.cpp
+++ b/stream-servers/NativeSubWindow_x11.cpp
@@ -14,6 +14,7 @@
* limitations under the License.
*/
#include "NativeSubWindow.h"
+#include "apigen-codec-common/X11Support.h"
#include <stdio.h>
@@ -41,32 +42,33 @@
SubWindowRepaintCallback repaint_callback,
void* repaint_callback_param,
int hideWindow) {
+ auto x11 = getX11Api();
// The call to this function is protected by a lock
// in FrameBuffer so it is safe to check and initialize s_display here
if (!s_display) {
- s_display = XOpenDisplay(NULL);
+ s_display = x11->XOpenDisplay(NULL);
}
XSetWindowAttributes wa;
wa.event_mask = StructureNotifyMask;
wa.override_redirect = True;
- Window win = XCreateWindow(s_display,
- p_window,
- x,
- y,
- width,
- height,
- 0,
- CopyFromParent,
- CopyFromParent,
- CopyFromParent,
- CWEventMask,
- &wa);
+ Window win = x11->XCreateWindow(s_display,
+ p_window,
+ x,
+ y,
+ width,
+ height,
+ 0,
+ CopyFromParent,
+ CopyFromParent,
+ CopyFromParent,
+ CWEventMask,
+ &wa);
if (!hideWindow) {
- XMapWindow(s_display,win);
- XSetWindowBackground(s_display, win, BlackPixel(s_display, 0));
+ x11->XMapWindow(s_display,win);
+ x11->XSetWindowBackground(s_display, win, BlackPixel(s_display, 0));
XEvent e;
- XIfEvent(s_display, &e, WaitForMapNotify, (char *)win);
+ x11->XIfEvent(s_display, &e, WaitForMapNotify, (char *)win);
}
return win;
}
@@ -75,7 +77,8 @@
if (!s_display) {
return;
}
- XDestroyWindow(s_display, win);
+
+ getX11Api()->XDestroyWindow(s_display, win);
}
int moveSubWindow(FBNativeWindowType p_parent_window,
@@ -90,10 +93,12 @@
return false;
}
+ auto x11 = getX11Api();
+
// Make sure something has changed, otherwise XIfEvent will block and
// freeze the emulator.
XWindowAttributes attrs;
- if (!XGetWindowAttributes(s_display, p_sub_window, &attrs)) {
+ if (!x11->XGetWindowAttributes(s_display, p_sub_window, &attrs)) {
return false;
}
if (x == attrs.x && y == attrs.y &&
@@ -103,18 +108,18 @@
}
// This prevents flicker on resize.
- XSetWindowBackgroundPixmap(s_display, p_sub_window, None);
+ x11->XSetWindowBackgroundPixmap(s_display, p_sub_window, None);
- int ret = XMoveResizeWindow(
- s_display,
- p_sub_window,
- x,
- y,
- width,
- height);
+ int ret = x11->XMoveResizeWindow(
+ s_display,
+ p_sub_window,
+ x,
+ y,
+ width,
+ height);
XEvent e;
- XIfEvent(s_display, &e, WaitForConfigureNotify, (char *)p_sub_window);
+ x11->XIfEvent(s_display, &e, WaitForConfigureNotify, (char *)p_sub_window);
return ret;
}
diff --git a/stream-servers/OpenGLESDispatch/Android.bp b/stream-servers/OpenGLESDispatch/Android.bp
new file mode 100644
index 0000000..a607f25
--- /dev/null
+++ b/stream-servers/OpenGLESDispatch/Android.bp
@@ -0,0 +1,23 @@
+cc_library_static {
+ name: "gfxstream_dispatch",
+ defaults: [ "gfxstream_defaults" ],
+ static_libs: [
+ "gfxstream_base",
+ "gfxstream_gles1_dec",
+ "gfxstream_gles2_dec",
+ "gfxstream_apigen_codec_common",
+ "gfxstream_translator_egl",
+ ],
+ cflags: [
+ "-fvisibility=default",
+ ],
+ srcs: [
+ "EGLDispatch.cpp",
+ "gles1_stubbed_in_translator_namespace.cpp",
+ "gles2_stubbed_in_translator_namespace.cpp",
+ "GLESv1Dispatch.cpp",
+ "GLESv2Dispatch.cpp",
+ "OpenGLDispatchLoader.cpp",
+ "StaticDispatch.cpp",
+ ],
+}
diff --git a/stream-servers/apigen-codec-common/Android.bp b/stream-servers/apigen-codec-common/Android.bp
new file mode 100644
index 0000000..65fddb5
--- /dev/null
+++ b/stream-servers/apigen-codec-common/Android.bp
@@ -0,0 +1,13 @@
+cc_library_static {
+ name: "gfxstream_apigen_codec_common",
+ defaults: [ "gfxstream_defaults" ],
+ static_libs: [ "gfxstream_base", "gfxstream_host_common", ],
+ cflags: [ "-fvisibility=hidden" ],
+ export_include_dirs: [ "." ],
+ srcs: [
+ "ChecksumCalculator.cpp",
+ "ChecksumCalculatorThreadInfo.cpp",
+ "glUtils.cpp",
+ "X11Support.cpp"
+ ],
+}
diff --git a/stream-servers/apigen-codec-common/GL/dri_interface.h b/stream-servers/apigen-codec-common/GL/dri_interface.h
new file mode 100644
index 0000000..c236cb7
--- /dev/null
+++ b/stream-servers/apigen-codec-common/GL/dri_interface.h
@@ -0,0 +1,1144 @@
+/*
+ * Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
+ * Copyright 2007-2008 Red Hat, Inc.
+ * (C) Copyright IBM Corporation 2004
+ * All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * on the rights to use, copy, modify, merge, publish, distribute, sub
+ * license, and/or sell copies of the Software, and to permit persons to whom
+ * the Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
+ * THE COPYRIGHT HOLDERS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+ * USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/**
+ * \file dri_interface.h
+ *
+ * This file contains all the types and functions that define the interface
+ * between a DRI driver and driver loader. Currently, the most common driver
+ * loader is the XFree86 libGL.so. However, other loaders do exist, and in
+ * the future the server-side libglx.a will also be a loader.
+ *
+ * \author Kevin E. Martin <[email protected]>
+ * \author Ian Romanick <[email protected]>
+ * \author Kristian Høgsberg <[email protected]>
+ */
+
+#ifndef DRI_INTERFACE_H
+#define DRI_INTERFACE_H
+
+/* For archs with no drm.h */
+#if defined(__APPLE__) || defined(__CYGWIN__) || defined(__GNU__)
+#ifndef __NOT_HAVE_DRM_H
+#define __NOT_HAVE_DRM_H
+#endif
+#endif
+
+#ifndef __NOT_HAVE_DRM_H
+#include <drm.h>
+#else
+typedef unsigned int drm_context_t;
+typedef unsigned int drm_drawable_t;
+typedef struct drm_clip_rect drm_clip_rect_t;
+#endif
+
+/**
+ * \name DRI interface structures
+ *
+ * The following structures define the interface between the GLX client
+ * side library and the DRI (direct rendering infrastructure).
+ */
+/*@{*/
+typedef struct __DRIdisplayRec __DRIdisplay;
+typedef struct __DRIscreenRec __DRIscreen;
+typedef struct __DRIcontextRec __DRIcontext;
+typedef struct __DRIdrawableRec __DRIdrawable;
+typedef struct __DRIconfigRec __DRIconfig;
+typedef struct __DRIframebufferRec __DRIframebuffer;
+typedef struct __DRIversionRec __DRIversion;
+
+typedef struct __DRIcoreExtensionRec __DRIcoreExtension;
+typedef struct __DRIextensionRec __DRIextension;
+typedef struct __DRIcopySubBufferExtensionRec __DRIcopySubBufferExtension;
+typedef struct __DRIswapControlExtensionRec __DRIswapControlExtension;
+typedef struct __DRIframeTrackingExtensionRec __DRIframeTrackingExtension;
+typedef struct __DRImediaStreamCounterExtensionRec __DRImediaStreamCounterExtension;
+typedef struct __DRItexOffsetExtensionRec __DRItexOffsetExtension;
+typedef struct __DRItexBufferExtensionRec __DRItexBufferExtension;
+typedef struct __DRIlegacyExtensionRec __DRIlegacyExtension;
+typedef struct __DRIswrastExtensionRec __DRIswrastExtension;
+typedef struct __DRIbufferRec __DRIbuffer;
+typedef struct __DRIdri2ExtensionRec __DRIdri2Extension;
+typedef struct __DRIdri2LoaderExtensionRec __DRIdri2LoaderExtension;
+typedef struct __DRI2flushExtensionRec __DRI2flushExtension;
+typedef struct __DRI2throttleExtensionRec __DRI2throttleExtension;
+
+/*@}*/
+
+
+/**
+ * Extension struct. Drivers 'inherit' from this struct by embedding
+ * it as the first element in the extension struct.
+ *
+ * We never break API in for a DRI extension. If we need to change
+ * the way things work in a non-backwards compatible manner, we
+ * introduce a new extension. During a transition period, we can
+ * leave both the old and the new extension in the driver, which
+ * allows us to move to the new interface without having to update the
+ * loader(s) in lock step.
+ *
+ * However, we can add entry points to an extension over time as long
+ * as we don't break the old ones. As we add entry points to an
+ * extension, we increase the version number. The corresponding
+ * #define can be used to guard code that accesses the new entry
+ * points at compile time and the version field in the extension
+ * struct can be used at run-time to determine how to use the
+ * extension.
+ */
+struct __DRIextensionRec {
+ const char *name;
+ int version;
+};
+
+/**
+ * The first set of extension are the screen extensions, returned by
+ * __DRIcore::getExtensions(). This entry point will return a list of
+ * extensions and the loader can use the ones it knows about by
+ * casting them to more specific extensions and advertising any GLX
+ * extensions the DRI extensions enables.
+ */
+
+/**
+ * Used by drivers to indicate support for setting the read drawable.
+ */
+#define __DRI_READ_DRAWABLE "DRI_ReadDrawable"
+#define __DRI_READ_DRAWABLE_VERSION 1
+
+/**
+ * Used by drivers that implement the GLX_MESA_copy_sub_buffer extension.
+ */
+#define __DRI_COPY_SUB_BUFFER "DRI_CopySubBuffer"
+#define __DRI_COPY_SUB_BUFFER_VERSION 1
+struct __DRIcopySubBufferExtensionRec {
+ __DRIextension base;
+ void (*copySubBuffer)(__DRIdrawable *drawable, int x, int y, int w, int h);
+};
+
+/**
+ * Used by drivers that implement the GLX_SGI_swap_control or
+ * GLX_MESA_swap_control extension.
+ */
+#define __DRI_SWAP_CONTROL "DRI_SwapControl"
+#define __DRI_SWAP_CONTROL_VERSION 1
+struct __DRIswapControlExtensionRec {
+ __DRIextension base;
+ void (*setSwapInterval)(__DRIdrawable *drawable, unsigned int inteval);
+ unsigned int (*getSwapInterval)(__DRIdrawable *drawable);
+};
+
+/**
+ * Used by drivers that implement the GLX_MESA_swap_frame_usage extension.
+ */
+#define __DRI_FRAME_TRACKING "DRI_FrameTracking"
+#define __DRI_FRAME_TRACKING_VERSION 1
+struct __DRIframeTrackingExtensionRec {
+ __DRIextension base;
+
+ /**
+ * Enable or disable frame usage tracking.
+ *
+ * \since Internal API version 20030317.
+ */
+ int (*frameTracking)(__DRIdrawable *drawable, GLboolean enable);
+
+ /**
+ * Retrieve frame usage information.
+ *
+ * \since Internal API version 20030317.
+ */
+ int (*queryFrameTracking)(__DRIdrawable *drawable,
+ int64_t * sbc, int64_t * missedFrames,
+ float * lastMissedUsage, float * usage);
+};
+
+
+/**
+ * Used by drivers that implement the GLX_SGI_video_sync extension.
+ */
+#define __DRI_MEDIA_STREAM_COUNTER "DRI_MediaStreamCounter"
+#define __DRI_MEDIA_STREAM_COUNTER_VERSION 1
+struct __DRImediaStreamCounterExtensionRec {
+ __DRIextension base;
+
+ /**
+ * Wait for the MSC to equal target_msc, or, if that has already passed,
+ * the next time (MSC % divisor) is equal to remainder. If divisor is
+ * zero, the function will return as soon as MSC is greater than or equal
+ * to target_msc.
+ */
+ int (*waitForMSC)(__DRIdrawable *drawable,
+ int64_t target_msc, int64_t divisor, int64_t remainder,
+ int64_t * msc, int64_t * sbc);
+
+ /**
+ * Get the number of vertical refreshes since some point in time before
+ * this function was first called (i.e., system start up).
+ */
+ int (*getDrawableMSC)(__DRIscreen *screen, __DRIdrawable *drawable,
+ int64_t *msc);
+};
+
+
+#define __DRI_TEX_OFFSET "DRI_TexOffset"
+#define __DRI_TEX_OFFSET_VERSION 1
+struct __DRItexOffsetExtensionRec {
+ __DRIextension base;
+
+ /**
+ * Method to override base texture image with a driver specific 'offset'.
+ * The depth passed in allows e.g. to ignore the alpha channel of texture
+ * images where the non-alpha components don't occupy a whole texel.
+ *
+ * For GLX_EXT_texture_from_pixmap with AIGLX.
+ */
+ void (*setTexOffset)(__DRIcontext *pDRICtx, GLint texname,
+ unsigned long long offset, GLint depth, GLuint pitch);
+};
+
+
+/* Valid values for format in the setTexBuffer2 function below. These
+ * values match the GLX tokens for compatibility reasons, but we
+ * define them here since the DRI interface can't depend on GLX. */
+#define __DRI_TEXTURE_FORMAT_NONE 0x20D8
+#define __DRI_TEXTURE_FORMAT_RGB 0x20D9
+#define __DRI_TEXTURE_FORMAT_RGBA 0x20DA
+
+#define __DRI_TEX_BUFFER "DRI_TexBuffer"
+#define __DRI_TEX_BUFFER_VERSION 2
+struct __DRItexBufferExtensionRec {
+ __DRIextension base;
+
+ /**
+ * Method to override base texture image with the contents of a
+ * __DRIdrawable.
+ *
+ * For GLX_EXT_texture_from_pixmap with AIGLX. Deprecated in favor of
+ * setTexBuffer2 in version 2 of this interface
+ */
+ void (*setTexBuffer)(__DRIcontext *pDRICtx,
+ GLint target,
+ __DRIdrawable *pDraw);
+
+ /**
+ * Method to override base texture image with the contents of a
+ * __DRIdrawable, including the required texture format attribute.
+ *
+ * For GLX_EXT_texture_from_pixmap with AIGLX.
+ */
+ void (*setTexBuffer2)(__DRIcontext *pDRICtx,
+ GLint target,
+ GLint format,
+ __DRIdrawable *pDraw);
+ /**
+ * Method to release texture buffer in case some special platform
+ * need this.
+ *
+ * For GLX_EXT_texture_from_pixmap with AIGLX.
+ */
+ void (*releaseTexBuffer)(__DRIcontext *pDRICtx,
+ GLint target,
+ __DRIdrawable *pDraw);
+};
+
+/**
+ * Used by drivers that implement DRI2
+ */
+#define __DRI2_FLUSH "DRI2_Flush"
+#define __DRI2_FLUSH_VERSION 4
+
+#define __DRI2_FLUSH_DRAWABLE (1 << 0) /* the drawable should be flushed. */
+#define __DRI2_FLUSH_CONTEXT (1 << 1) /* glFlush should be called */
+
+enum __DRI2throttleReason {
+ __DRI2_THROTTLE_SWAPBUFFER,
+ __DRI2_THROTTLE_COPYSUBBUFFER,
+ __DRI2_THROTTLE_FLUSHFRONT
+};
+
+struct __DRI2flushExtensionRec {
+ __DRIextension base;
+ void (*flush)(__DRIdrawable *drawable);
+
+ /**
+ * Ask the driver to call getBuffers/getBuffersWithFormat before
+ * it starts rendering again.
+ *
+ * \param drawable the drawable to invalidate
+ *
+ * \since 3
+ */
+ void (*invalidate)(__DRIdrawable *drawable);
+
+ /**
+ * This function reduces the number of flushes in the driver by combining
+ * several operations into one call.
+ *
+ * It can:
+ * - throttle
+ * - flush a drawable
+ * - flush a context
+ *
+ * \param context the context
+ * \param drawable the drawable to flush
+ * \param flags a combination of _DRI2_FLUSH_xxx flags
+ * \param throttle_reason the reason for throttling, 0 = no throttling
+ *
+ * \since 4
+ */
+ void (*flush_with_flags)(__DRIcontext *ctx,
+ __DRIdrawable *drawable,
+ unsigned flags,
+ enum __DRI2throttleReason throttle_reason);
+};
+
+
+/**
+ * Extension that the driver uses to request
+ * throttle callbacks.
+ */
+
+#define __DRI2_THROTTLE "DRI2_Throttle"
+#define __DRI2_THROTTLE_VERSION 1
+
+struct __DRI2throttleExtensionRec {
+ __DRIextension base;
+ void (*throttle)(__DRIcontext *ctx,
+ __DRIdrawable *drawable,
+ enum __DRI2throttleReason reason);
+};
+
+/**
+ * XML document describing the configuration options supported by the
+ * driver.
+ */
+extern const char __driConfigOptions[];
+
+/*@}*/
+
+/**
+ * The following extensions describe loader features that the DRI
+ * driver can make use of. Some of these are mandatory, such as the
+ * getDrawableInfo extension for DRI and the DRI Loader extensions for
+ * DRI2, while others are optional, and if present allow the driver to
+ * expose certain features. The loader pass in a NULL terminated
+ * array of these extensions to the driver in the createNewScreen
+ * constructor.
+ */
+
+typedef struct __DRIgetDrawableInfoExtensionRec __DRIgetDrawableInfoExtension;
+typedef struct __DRIsystemTimeExtensionRec __DRIsystemTimeExtension;
+typedef struct __DRIdamageExtensionRec __DRIdamageExtension;
+typedef struct __DRIloaderExtensionRec __DRIloaderExtension;
+typedef struct __DRIswrastLoaderExtensionRec __DRIswrastLoaderExtension;
+
+
+/**
+ * Callback to getDrawableInfo protocol
+ */
+#define __DRI_GET_DRAWABLE_INFO "DRI_GetDrawableInfo"
+#define __DRI_GET_DRAWABLE_INFO_VERSION 1
+struct __DRIgetDrawableInfoExtensionRec {
+ __DRIextension base;
+
+ /**
+ * This function is used to get information about the position, size, and
+ * clip rects of a drawable.
+ */
+ GLboolean (* getDrawableInfo) ( __DRIdrawable *drawable,
+ unsigned int * index, unsigned int * stamp,
+ int * x, int * y, int * width, int * height,
+ int * numClipRects, drm_clip_rect_t ** pClipRects,
+ int * backX, int * backY,
+ int * numBackClipRects, drm_clip_rect_t ** pBackClipRects,
+ void *loaderPrivate);
+};
+
+/**
+ * Callback to get system time for media stream counter extensions.
+ */
+#define __DRI_SYSTEM_TIME "DRI_SystemTime"
+#define __DRI_SYSTEM_TIME_VERSION 1
+struct __DRIsystemTimeExtensionRec {
+ __DRIextension base;
+
+ /**
+ * Get the 64-bit unadjusted system time (UST).
+ */
+ int (*getUST)(int64_t * ust);
+
+ /**
+ * Get the media stream counter (MSC) rate.
+ *
+ * Matching the definition in GLX_OML_sync_control, this function returns
+ * the rate of the "media stream counter". In practical terms, this is
+ * the frame refresh rate of the display.
+ */
+ GLboolean (*getMSCRate)(__DRIdrawable *draw,
+ int32_t * numerator, int32_t * denominator,
+ void *loaderPrivate);
+};
+
+/**
+ * Damage reporting
+ */
+#define __DRI_DAMAGE "DRI_Damage"
+#define __DRI_DAMAGE_VERSION 1
+struct __DRIdamageExtensionRec {
+ __DRIextension base;
+
+ /**
+ * Reports areas of the given drawable which have been modified by the
+ * driver.
+ *
+ * \param drawable which the drawing was done to.
+ * \param rects rectangles affected, with the drawable origin as the
+ * origin.
+ * \param x X offset of the drawable within the screen (used in the
+ * front_buffer case)
+ * \param y Y offset of the drawable within the screen.
+ * \param front_buffer boolean flag for whether the drawing to the
+ * drawable was actually done directly to the front buffer (instead
+ * of backing storage, for example)
+ * \param loaderPrivate the data passed in at createNewDrawable time
+ */
+ void (*reportDamage)(__DRIdrawable *draw,
+ int x, int y,
+ drm_clip_rect_t *rects, int num_rects,
+ GLboolean front_buffer,
+ void *loaderPrivate);
+};
+
+#define __DRI_SWRAST_IMAGE_OP_DRAW 1
+#define __DRI_SWRAST_IMAGE_OP_CLEAR 2
+#define __DRI_SWRAST_IMAGE_OP_SWAP 3
+
+/**
+ * SWRast Loader extension.
+ */
+#define __DRI_SWRAST_LOADER "DRI_SWRastLoader"
+#define __DRI_SWRAST_LOADER_VERSION 1
+struct __DRIswrastLoaderExtensionRec {
+ __DRIextension base;
+
+ /*
+ * Drawable position and size
+ */
+ void (*getDrawableInfo)(__DRIdrawable *drawable,
+ int *x, int *y, int *width, int *height,
+ void *loaderPrivate);
+
+ /**
+ * Put image to drawable
+ */
+ void (*putImage)(__DRIdrawable *drawable, int op,
+ int x, int y, int width, int height,
+ char *data, void *loaderPrivate);
+
+ /**
+ * Get image from readable
+ */
+ void (*getImage)(__DRIdrawable *readable,
+ int x, int y, int width, int height,
+ char *data, void *loaderPrivate);
+};
+
+/**
+ * Invalidate loader extension. The presence of this extension
+ * indicates to the DRI driver that the loader will call invalidate in
+ * the __DRI2_FLUSH extension, whenever the needs to query for new
+ * buffers. This means that the DRI driver can drop the polling in
+ * glViewport().
+ *
+ * The extension doesn't provide any functionality, it's only use to
+ * indicate to the driver that it can use the new semantics. A DRI
+ * driver can use this to switch between the different semantics or
+ * just refuse to initialize if this extension isn't present.
+ */
+#define __DRI_USE_INVALIDATE "DRI_UseInvalidate"
+#define __DRI_USE_INVALIDATE_VERSION 1
+
+typedef struct __DRIuseInvalidateExtensionRec __DRIuseInvalidateExtension;
+struct __DRIuseInvalidateExtensionRec {
+ __DRIextension base;
+};
+
+/**
+ * The remaining extensions describe driver extensions, immediately
+ * available interfaces provided by the driver. To start using the
+ * driver, dlsym() for the __DRI_DRIVER_EXTENSIONS symbol and look for
+ * the extension you need in the array.
+ */
+#define __DRI_DRIVER_EXTENSIONS "__driDriverExtensions"
+
+/**
+ * Tokens for __DRIconfig attribs. A number of attributes defined by
+ * GLX or EGL standards are not in the table, as they must be provided
+ * by the loader. For example, FBConfig ID or visual ID, drawable type.
+ */
+
+#define __DRI_ATTRIB_BUFFER_SIZE 1
+#define __DRI_ATTRIB_LEVEL 2
+#define __DRI_ATTRIB_RED_SIZE 3
+#define __DRI_ATTRIB_GREEN_SIZE 4
+#define __DRI_ATTRIB_BLUE_SIZE 5
+#define __DRI_ATTRIB_LUMINANCE_SIZE 6
+#define __DRI_ATTRIB_ALPHA_SIZE 7
+#define __DRI_ATTRIB_ALPHA_MASK_SIZE 8
+#define __DRI_ATTRIB_DEPTH_SIZE 9
+#define __DRI_ATTRIB_STENCIL_SIZE 10
+#define __DRI_ATTRIB_ACCUM_RED_SIZE 11
+#define __DRI_ATTRIB_ACCUM_GREEN_SIZE 12
+#define __DRI_ATTRIB_ACCUM_BLUE_SIZE 13
+#define __DRI_ATTRIB_ACCUM_ALPHA_SIZE 14
+#define __DRI_ATTRIB_SAMPLE_BUFFERS 15
+#define __DRI_ATTRIB_SAMPLES 16
+#define __DRI_ATTRIB_RENDER_TYPE 17
+#define __DRI_ATTRIB_CONFIG_CAVEAT 18
+#define __DRI_ATTRIB_CONFORMANT 19
+#define __DRI_ATTRIB_DOUBLE_BUFFER 20
+#define __DRI_ATTRIB_STEREO 21
+#define __DRI_ATTRIB_AUX_BUFFERS 22
+#define __DRI_ATTRIB_TRANSPARENT_TYPE 23
+#define __DRI_ATTRIB_TRANSPARENT_INDEX_VALUE 24
+#define __DRI_ATTRIB_TRANSPARENT_RED_VALUE 25
+#define __DRI_ATTRIB_TRANSPARENT_GREEN_VALUE 26
+#define __DRI_ATTRIB_TRANSPARENT_BLUE_VALUE 27
+#define __DRI_ATTRIB_TRANSPARENT_ALPHA_VALUE 28
+#define __DRI_ATTRIB_FLOAT_MODE 29
+#define __DRI_ATTRIB_RED_MASK 30
+#define __DRI_ATTRIB_GREEN_MASK 31
+#define __DRI_ATTRIB_BLUE_MASK 32
+#define __DRI_ATTRIB_ALPHA_MASK 33
+#define __DRI_ATTRIB_MAX_PBUFFER_WIDTH 34
+#define __DRI_ATTRIB_MAX_PBUFFER_HEIGHT 35
+#define __DRI_ATTRIB_MAX_PBUFFER_PIXELS 36
+#define __DRI_ATTRIB_OPTIMAL_PBUFFER_WIDTH 37
+#define __DRI_ATTRIB_OPTIMAL_PBUFFER_HEIGHT 38
+#define __DRI_ATTRIB_VISUAL_SELECT_GROUP 39
+#define __DRI_ATTRIB_SWAP_METHOD 40
+#define __DRI_ATTRIB_MAX_SWAP_INTERVAL 41
+#define __DRI_ATTRIB_MIN_SWAP_INTERVAL 42
+#define __DRI_ATTRIB_BIND_TO_TEXTURE_RGB 43
+#define __DRI_ATTRIB_BIND_TO_TEXTURE_RGBA 44
+#define __DRI_ATTRIB_BIND_TO_MIPMAP_TEXTURE 45
+#define __DRI_ATTRIB_BIND_TO_TEXTURE_TARGETS 46
+#define __DRI_ATTRIB_YINVERTED 47
+#define __DRI_ATTRIB_FRAMEBUFFER_SRGB_CAPABLE 48
+
+/* __DRI_ATTRIB_RENDER_TYPE */
+#define __DRI_ATTRIB_RGBA_BIT 0x01
+#define __DRI_ATTRIB_COLOR_INDEX_BIT 0x02
+#define __DRI_ATTRIB_LUMINANCE_BIT 0x04
+
+/* __DRI_ATTRIB_CONFIG_CAVEAT */
+#define __DRI_ATTRIB_SLOW_BIT 0x01
+#define __DRI_ATTRIB_NON_CONFORMANT_CONFIG 0x02
+
+/* __DRI_ATTRIB_TRANSPARENT_TYPE */
+#define __DRI_ATTRIB_TRANSPARENT_RGB 0x00
+#define __DRI_ATTRIB_TRANSPARENT_INDEX 0x01
+
+/* __DRI_ATTRIB_BIND_TO_TEXTURE_TARGETS */
+#define __DRI_ATTRIB_TEXTURE_1D_BIT 0x01
+#define __DRI_ATTRIB_TEXTURE_2D_BIT 0x02
+#define __DRI_ATTRIB_TEXTURE_RECTANGLE_BIT 0x04
+
+/**
+ * This extension defines the core DRI functionality.
+ */
+#define __DRI_CORE "DRI_Core"
+#define __DRI_CORE_VERSION 1
+
+struct __DRIcoreExtensionRec {
+ __DRIextension base;
+
+ __DRIscreen *(*createNewScreen)(int screen, int fd,
+ unsigned int sarea_handle,
+ const __DRIextension **extensions,
+ const __DRIconfig ***driverConfigs,
+ void *loaderPrivate);
+
+ void (*destroyScreen)(__DRIscreen *screen);
+
+ const __DRIextension **(*getExtensions)(__DRIscreen *screen);
+
+ int (*getConfigAttrib)(const __DRIconfig *config,
+ unsigned int attrib,
+ unsigned int *value);
+
+ int (*indexConfigAttrib)(const __DRIconfig *config, int index,
+ unsigned int *attrib, unsigned int *value);
+
+ __DRIdrawable *(*createNewDrawable)(__DRIscreen *screen,
+ const __DRIconfig *config,
+ unsigned int drawable_id,
+ unsigned int head,
+ void *loaderPrivate);
+
+ void (*destroyDrawable)(__DRIdrawable *drawable);
+
+ void (*swapBuffers)(__DRIdrawable *drawable);
+
+ __DRIcontext *(*createNewContext)(__DRIscreen *screen,
+ const __DRIconfig *config,
+ __DRIcontext *shared,
+ void *loaderPrivate);
+
+ int (*copyContext)(__DRIcontext *dest,
+ __DRIcontext *src,
+ unsigned long mask);
+
+ void (*destroyContext)(__DRIcontext *context);
+
+ int (*bindContext)(__DRIcontext *ctx,
+ __DRIdrawable *pdraw,
+ __DRIdrawable *pread);
+
+ int (*unbindContext)(__DRIcontext *ctx);
+};
+
+/**
+ * Stored version of some component (i.e., server-side DRI module, kernel-side
+ * DRM, etc.).
+ *
+ * \todo
+ * There are several data structures that explicitly store a major version,
+ * minor version, and patch level. These structures should be modified to
+ * have a \c __DRIversionRec instead.
+ */
+struct __DRIversionRec {
+ int major; /**< Major version number. */
+ int minor; /**< Minor version number. */
+ int patch; /**< Patch-level. */
+};
+
+/**
+ * Framebuffer information record. Used by libGL to communicate information
+ * about the framebuffer to the driver's \c __driCreateNewScreen function.
+ *
+ * In XFree86, most of this information is derrived from data returned by
+ * calling \c XF86DRIGetDeviceInfo.
+ *
+ * \sa XF86DRIGetDeviceInfo __DRIdisplayRec::createNewScreen
+ * __driUtilCreateNewScreen CallCreateNewScreen
+ *
+ * \bug This structure could be better named.
+ */
+struct __DRIframebufferRec {
+ unsigned char *base; /**< Framebuffer base address in the CPU's
+ * address space. This value is calculated by
+ * calling \c drmMap on the framebuffer handle
+ * returned by \c XF86DRIGetDeviceInfo (or a
+ * similar function).
+ */
+ int size; /**< Framebuffer size, in bytes. */
+ int stride; /**< Number of bytes from one line to the next. */
+ int width; /**< Pixel width of the framebuffer. */
+ int height; /**< Pixel height of the framebuffer. */
+ int dev_priv_size; /**< Size of the driver's dev-priv structure. */
+ void *dev_priv; /**< Pointer to the driver's dev-priv structure. */
+};
+
+
+/**
+ * This extension provides alternative screen, drawable and context
+ * constructors for legacy DRI functionality. This is used in
+ * conjunction with the core extension.
+ */
+#define __DRI_LEGACY "DRI_Legacy"
+#define __DRI_LEGACY_VERSION 1
+
+struct __DRIlegacyExtensionRec {
+ __DRIextension base;
+
+ __DRIscreen *(*createNewScreen)(int screen,
+ const __DRIversion *ddx_version,
+ const __DRIversion *dri_version,
+ const __DRIversion *drm_version,
+ const __DRIframebuffer *frame_buffer,
+ void *pSAREA, int fd,
+ const __DRIextension **extensions,
+ const __DRIconfig ***driver_configs,
+ void *loaderPrivate);
+
+ __DRIdrawable *(*createNewDrawable)(__DRIscreen *screen,
+ const __DRIconfig *config,
+ drm_drawable_t hwDrawable,
+ int renderType, const int *attrs,
+ void *loaderPrivate);
+
+ __DRIcontext *(*createNewContext)(__DRIscreen *screen,
+ const __DRIconfig *config,
+ int render_type,
+ __DRIcontext *shared,
+ drm_context_t hwContext,
+ void *loaderPrivate);
+};
+
+/**
+ * This extension provides alternative screen, drawable and context
+ * constructors for swrast DRI functionality. This is used in
+ * conjunction with the core extension.
+ */
+#define __DRI_SWRAST "DRI_SWRast"
+#define __DRI_SWRAST_VERSION 3
+
+struct __DRIswrastExtensionRec {
+ __DRIextension base;
+
+ __DRIscreen *(*createNewScreen)(int screen,
+ const __DRIextension **extensions,
+ const __DRIconfig ***driver_configs,
+ void *loaderPrivate);
+
+ __DRIdrawable *(*createNewDrawable)(__DRIscreen *screen,
+ const __DRIconfig *config,
+ void *loaderPrivate);
+
+ /* Since version 2 */
+ __DRIcontext *(*createNewContextForAPI)(__DRIscreen *screen,
+ int api,
+ const __DRIconfig *config,
+ __DRIcontext *shared,
+ void *data);
+
+ /**
+ * Create a context for a particular API with a set of attributes
+ *
+ * \since version 3
+ *
+ * \sa __DRIdri2ExtensionRec::createContextAttribs
+ */
+ __DRIcontext *(*createContextAttribs)(__DRIscreen *screen,
+ int api,
+ const __DRIconfig *config,
+ __DRIcontext *shared,
+ unsigned num_attribs,
+ const uint32_t *attribs,
+ unsigned *error,
+ void *loaderPrivate);
+};
+
+/**
+ * DRI2 Loader extension.
+ */
+#define __DRI_BUFFER_FRONT_LEFT 0
+#define __DRI_BUFFER_BACK_LEFT 1
+#define __DRI_BUFFER_FRONT_RIGHT 2
+#define __DRI_BUFFER_BACK_RIGHT 3
+#define __DRI_BUFFER_DEPTH 4
+#define __DRI_BUFFER_STENCIL 5
+#define __DRI_BUFFER_ACCUM 6
+#define __DRI_BUFFER_FAKE_FRONT_LEFT 7
+#define __DRI_BUFFER_FAKE_FRONT_RIGHT 8
+#define __DRI_BUFFER_DEPTH_STENCIL 9 /**< Only available with DRI2 1.1 */
+#define __DRI_BUFFER_HIZ 10
+
+/* Inofficial and for internal use. Increase when adding a new buffer token. */
+#define __DRI_BUFFER_COUNT 11
+
+struct __DRIbufferRec {
+ unsigned int attachment;
+ unsigned int name;
+ unsigned int pitch;
+ unsigned int cpp;
+ unsigned int flags;
+};
+
+#define __DRI_DRI2_LOADER "DRI_DRI2Loader"
+#define __DRI_DRI2_LOADER_VERSION 3
+struct __DRIdri2LoaderExtensionRec {
+ __DRIextension base;
+
+ __DRIbuffer *(*getBuffers)(__DRIdrawable *driDrawable,
+ int *width, int *height,
+ unsigned int *attachments, int count,
+ int *out_count, void *loaderPrivate);
+
+ /**
+ * Flush pending front-buffer rendering
+ *
+ * Any rendering that has been performed to the
+ * \c __DRI_BUFFER_FAKE_FRONT_LEFT will be flushed to the
+ * \c __DRI_BUFFER_FRONT_LEFT.
+ *
+ * \param driDrawable Drawable whose front-buffer is to be flushed
+ * \param loaderPrivate Loader's private data that was previously passed
+ * into __DRIdri2ExtensionRec::createNewDrawable
+ */
+ void (*flushFrontBuffer)(__DRIdrawable *driDrawable, void *loaderPrivate);
+
+
+ /**
+ * Get list of buffers from the server
+ *
+ * Gets a list of buffer for the specified set of attachments. Unlike
+ * \c ::getBuffers, this function takes a list of attachments paired with
+ * opaque \c unsigned \c int value describing the format of the buffer.
+ * It is the responsibility of the caller to know what the service that
+ * allocates the buffers will expect to receive for the format.
+ *
+ * \param driDrawable Drawable whose buffers are being queried.
+ * \param width Output where the width of the buffers is stored.
+ * \param height Output where the height of the buffers is stored.
+ * \param attachments List of pairs of attachment ID and opaque format
+ * requested for the drawable.
+ * \param count Number of attachment / format pairs stored in
+ * \c attachments.
+ * \param loaderPrivate Loader's private data that was previously passed
+ * into __DRIdri2ExtensionRec::createNewDrawable.
+ */
+ __DRIbuffer *(*getBuffersWithFormat)(__DRIdrawable *driDrawable,
+ int *width, int *height,
+ unsigned int *attachments, int count,
+ int *out_count, void *loaderPrivate);
+};
+
+/**
+ * This extension provides alternative screen, drawable and context
+ * constructors for DRI2.
+ */
+#define __DRI_DRI2 "DRI_DRI2"
+#define __DRI_DRI2_VERSION 3
+
+#define __DRI_API_OPENGL 0 /**< OpenGL compatibility profile */
+#define __DRI_API_GLES 1 /**< OpenGL ES 1.x */
+#define __DRI_API_GLES2 2 /**< OpenGL ES 2.x */
+#define __DRI_API_OPENGL_CORE 3 /**< OpenGL 3.2+ core profile */
+#define __DRI_API_GLES3 4 /**< OpenGL ES 3.x */
+
+#define __DRI_CTX_ATTRIB_MAJOR_VERSION 0
+#define __DRI_CTX_ATTRIB_MINOR_VERSION 1
+#define __DRI_CTX_ATTRIB_FLAGS 2
+
+/**
+ * \requires __DRI2_ROBUSTNESS.
+ */
+#define __DRI_CTX_ATTRIB_RESET_STRATEGY 3
+
+#define __DRI_CTX_FLAG_DEBUG 0x00000001
+#define __DRI_CTX_FLAG_FORWARD_COMPATIBLE 0x00000002
+
+/**
+ * \requires __DRI2_ROBUSTNESS.
+ */
+#define __DRI_CTX_FLAG_ROBUST_BUFFER_ACCESS 0x00000004
+
+/**
+ * \name Context reset strategies.
+ */
+/*@{*/
+#define __DRI_CTX_RESET_NO_NOTIFICATION 0
+#define __DRI_CTX_RESET_LOSE_CONTEXT 1
+/*@}*/
+
+/**
+ * \name Reasons that __DRIdri2Extension::createContextAttribs might fail
+ */
+/*@{*/
+/** Success! */
+#define __DRI_CTX_ERROR_SUCCESS 0
+
+/** Memory allocation failure */
+#define __DRI_CTX_ERROR_NO_MEMORY 1
+
+/** Client requested an API (e.g., OpenGL ES 2.0) that the driver can't do. */
+#define __DRI_CTX_ERROR_BAD_API 2
+
+/** Client requested an API version that the driver can't do. */
+#define __DRI_CTX_ERROR_BAD_VERSION 3
+
+/** Client requested a flag or combination of flags the driver can't do. */
+#define __DRI_CTX_ERROR_BAD_FLAG 4
+
+/** Client requested an attribute the driver doesn't understand. */
+#define __DRI_CTX_ERROR_UNKNOWN_ATTRIBUTE 5
+
+/** Client requested a flag the driver doesn't understand. */
+#define __DRI_CTX_ERROR_UNKNOWN_FLAG 6
+/*@}*/
+
+struct __DRIdri2ExtensionRec {
+ __DRIextension base;
+
+ __DRIscreen *(*createNewScreen)(int screen, int fd,
+ const __DRIextension **extensions,
+ const __DRIconfig ***driver_configs,
+ void *loaderPrivate);
+
+ __DRIdrawable *(*createNewDrawable)(__DRIscreen *screen,
+ const __DRIconfig *config,
+ void *loaderPrivate);
+
+ __DRIcontext *(*createNewContext)(__DRIscreen *screen,
+ const __DRIconfig *config,
+ __DRIcontext *shared,
+ void *loaderPrivate);
+
+ /* Since version 2 */
+ unsigned int (*getAPIMask)(__DRIscreen *screen);
+
+ __DRIcontext *(*createNewContextForAPI)(__DRIscreen *screen,
+ int api,
+ const __DRIconfig *config,
+ __DRIcontext *shared,
+ void *data);
+
+ __DRIbuffer *(*allocateBuffer)(__DRIscreen *screen,
+ unsigned int attachment,
+ unsigned int format,
+ int width,
+ int height);
+ void (*releaseBuffer)(__DRIscreen *screen,
+ __DRIbuffer *buffer);
+
+ /**
+ * Create a context for a particular API with a set of attributes
+ *
+ * \since version 3
+ *
+ * \sa __DRIswrastExtensionRec::createContextAttribs
+ */
+ __DRIcontext *(*createContextAttribs)(__DRIscreen *screen,
+ int api,
+ const __DRIconfig *config,
+ __DRIcontext *shared,
+ unsigned num_attribs,
+ const uint32_t *attribs,
+ unsigned *error,
+ void *loaderPrivate);
+};
+
+
+/**
+ * This extension provides functionality to enable various EGLImage
+ * extensions.
+ */
+#define __DRI_IMAGE "DRI_IMAGE"
+#define __DRI_IMAGE_VERSION 5
+
+/**
+ * These formats correspond to the similarly named MESA_FORMAT_*
+ * tokens, except in the native endian of the CPU. For example, on
+ * little endian __DRI_IMAGE_FORMAT_XRGB8888 corresponds to
+ * MESA_FORMAT_XRGB8888, but MESA_FORMAT_XRGB8888_REV on big endian.
+ *
+ * __DRI_IMAGE_FORMAT_NONE is for images that aren't directly usable
+ * by the driver (YUV planar formats) but serve as a base image for
+ * creating sub-images for the different planes within the image.
+ *
+ * R8, GR88 and NONE should not be used with createImageFormName or
+ * createImage, and are returned by query from sub images created with
+ * createImageFromNames (NONE, see above) and fromPlane (R8 & GR88).
+ */
+#define __DRI_IMAGE_FORMAT_RGB565 0x1001
+#define __DRI_IMAGE_FORMAT_XRGB8888 0x1002
+#define __DRI_IMAGE_FORMAT_ARGB8888 0x1003
+#define __DRI_IMAGE_FORMAT_ABGR8888 0x1004
+#define __DRI_IMAGE_FORMAT_XBGR8888 0x1005
+#define __DRI_IMAGE_FORMAT_R8 0x1006 /* Since version 5 */
+#define __DRI_IMAGE_FORMAT_GR88 0x1007
+#define __DRI_IMAGE_FORMAT_NONE 0x1008
+
+#define __DRI_IMAGE_USE_SHARE 0x0001
+#define __DRI_IMAGE_USE_SCANOUT 0x0002
+#define __DRI_IMAGE_USE_CURSOR 0x0004 /* Depricated */
+
+
+/**
+ * Four CC formats that matches with WL_DRM_FORMAT_* from wayland_drm.h
+ * and GBM_FORMAT_* from gbm.h, used with createImageFromNames.
+ *
+ * \since 5
+ */
+
+#define __DRI_IMAGE_FOURCC_RGB565 0x36314752
+#define __DRI_IMAGE_FOURCC_ARGB8888 0x34325241
+#define __DRI_IMAGE_FOURCC_XRGB8888 0x34325258
+#define __DRI_IMAGE_FOURCC_ABGR8888 0x34324241
+#define __DRI_IMAGE_FOURCC_XBGR8888 0x34324258
+#define __DRI_IMAGE_FOURCC_YUV410 0x39565559
+#define __DRI_IMAGE_FOURCC_YUV411 0x31315559
+#define __DRI_IMAGE_FOURCC_YUV420 0x32315559
+#define __DRI_IMAGE_FOURCC_YUV422 0x36315559
+#define __DRI_IMAGE_FOURCC_YUV444 0x34325559
+#define __DRI_IMAGE_FOURCC_NV12 0x3231564e
+#define __DRI_IMAGE_FOURCC_NV16 0x3631564e
+#define __DRI_IMAGE_FOURCC_YUYV 0x56595559
+
+
+/**
+ * Queryable on images created by createImageFromNames.
+ *
+ * RGB and RGBA are may be usable directly as images but its still
+ * recommended to call fromPlanar with plane == 0.
+ *
+ * Y_U_V, Y_UV and Y_XUXV all requires call to fromPlanar to create
+ * usable sub-images, sampling from images return raw YUV data and
+ * color conversion needs to be done in the shader.
+ *
+ * \since 5
+ */
+
+#define __DRI_IMAGE_COMPONENTS_RGB 0x3001
+#define __DRI_IMAGE_COMPONENTS_RGBA 0x3002
+#define __DRI_IMAGE_COMPONENTS_Y_U_V 0x3003
+#define __DRI_IMAGE_COMPONENTS_Y_UV 0x3004
+#define __DRI_IMAGE_COMPONENTS_Y_XUXV 0x3005
+
+
+/**
+ * queryImage attributes
+ */
+
+#define __DRI_IMAGE_ATTRIB_STRIDE 0x2000
+#define __DRI_IMAGE_ATTRIB_HANDLE 0x2001
+#define __DRI_IMAGE_ATTRIB_NAME 0x2002
+#define __DRI_IMAGE_ATTRIB_FORMAT 0x2003 /* available in versions 3+ */
+#define __DRI_IMAGE_ATTRIB_WIDTH 0x2004 /* available in versions 4+ */
+#define __DRI_IMAGE_ATTRIB_HEIGHT 0x2005
+#define __DRI_IMAGE_ATTRIB_COMPONENTS 0x2006 /* available in versions 5+ */
+
+typedef struct __DRIimageRec __DRIimage;
+typedef struct __DRIimageExtensionRec __DRIimageExtension;
+struct __DRIimageExtensionRec {
+ __DRIextension base;
+
+ __DRIimage *(*createImageFromName)(__DRIscreen *screen,
+ int width, int height, int format,
+ int name, int pitch,
+ void *loaderPrivate);
+
+ __DRIimage *(*createImageFromRenderbuffer)(__DRIcontext *context,
+ int renderbuffer,
+ void *loaderPrivate);
+
+ void (*destroyImage)(__DRIimage *image);
+
+ __DRIimage *(*createImage)(__DRIscreen *screen,
+ int width, int height, int format,
+ unsigned int use,
+ void *loaderPrivate);
+
+ GLboolean (*queryImage)(__DRIimage *image, int attrib, int *value);
+
+ /**
+ * The new __DRIimage will share the content with the old one, see dup(2).
+ */
+ __DRIimage *(*dupImage)(__DRIimage *image, void *loaderPrivate);
+
+ /**
+ * Validate that a __DRIimage can be used a certain way.
+ *
+ * \since 2
+ */
+ GLboolean (*validateUsage)(__DRIimage *image, unsigned int use);
+
+ /**
+ * Unlike createImageFromName __DRI_IMAGE_FORMAT is not but instead
+ * __DRI_IMAGE_FOURCC and strides are in bytes not pixels. Stride is
+ * also per block and not per pixel (for non-RGB, see gallium blocks).
+ *
+ * \since 5
+ */
+ __DRIimage *(*createImageFromNames)(__DRIscreen *screen,
+ int width, int height, int fourcc,
+ int *names, int num_names,
+ int *strides, int *offsets,
+ void *loaderPrivate);
+
+ /**
+ * Create an image out of a sub-region of a parent image. This
+ * entry point lets us create individual __DRIimages for different
+ * planes in a planar buffer (typically yuv), for example. While a
+ * sub-image shares the underlying buffer object with the parent
+ * image and other sibling sub-images, the life times of parent and
+ * sub-images are not dependent. Destroying the parent or a
+ * sub-image doesn't affect other images. The underlying buffer
+ * object is free when no __DRIimage remains that references it.
+ *
+ * Sub-images may overlap, but rendering to overlapping sub-images
+ * is undefined.
+ *
+ * \since 5
+ */
+ __DRIimage *(*fromPlanar)(__DRIimage *image, int plane,
+ void *loaderPrivate);
+};
+
+
+/**
+ * This extension must be implemented by the loader and passed to the
+ * driver at screen creation time. The EGLImage entry points in the
+ * various client APIs take opaque EGLImage handles and use this
+ * extension to map them to a __DRIimage. At version 1, this
+ * extensions allows mapping EGLImage pointers to __DRIimage pointers,
+ * but future versions could support other EGLImage-like, opaque types
+ * with new lookup functions.
+ */
+#define __DRI_IMAGE_LOOKUP "DRI_IMAGE_LOOKUP"
+#define __DRI_IMAGE_LOOKUP_VERSION 1
+
+typedef struct __DRIimageLookupExtensionRec __DRIimageLookupExtension;
+struct __DRIimageLookupExtensionRec {
+ __DRIextension base;
+
+ __DRIimage *(*lookupEGLImage)(__DRIscreen *screen, void *image,
+ void *loaderPrivate);
+};
+
+/**
+ * This extension allows for common DRI2 options
+ */
+#define __DRI2_CONFIG_QUERY "DRI_CONFIG_QUERY"
+#define __DRI2_CONFIG_QUERY_VERSION 1
+
+typedef struct __DRI2configQueryExtensionRec __DRI2configQueryExtension;
+struct __DRI2configQueryExtensionRec {
+ __DRIextension base;
+
+ int (*configQueryb)(__DRIscreen *screen, const char *var, GLboolean *val);
+ int (*configQueryi)(__DRIscreen *screen, const char *var, GLint *val);
+ int (*configQueryf)(__DRIscreen *screen, const char *var, GLfloat *val);
+};
+
+/**
+ * Robust context driver extension.
+ *
+ * Existence of this extension means the driver can accept the
+ * \c __DRI_CTX_FLAG_ROBUST_BUFFER_ACCESS flag and the
+ * \c __DRI_CTX_ATTRIB_RESET_STRATEGY attribute in
+ * \c __DRIdri2ExtensionRec::createContextAttribs.
+ */
+#define __DRI2_ROBUSTNESS "DRI_Robustness"
+#define __DRI2_ROBUSTNESS_VERSION 1
+
+typedef struct __DRIrobustnessExtensionRec __DRIrobustnessExtension;
+struct __DRIrobustnessExtensionRec {
+ __DRIextension base;
+};
+
+#endif
diff --git a/stream-servers/apigen-codec-common/GL/gl.h b/stream-servers/apigen-codec-common/GL/gl.h
new file mode 100644
index 0000000..97094fc
--- /dev/null
+++ b/stream-servers/apigen-codec-common/GL/gl.h
@@ -0,0 +1,2235 @@
+/*
+ * Mesa 3-D graphics library
+ * Version: 7.6
+ *
+ * Copyright (C) 1999-2006 Brian Paul All Rights Reserved.
+ * Copyright (C) 2009 VMware, Inc. All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+
+#ifndef __gl_h_
+#define __gl_h_
+
+#if defined(USE_MGL_NAMESPACE)
+#include "gl_mangle.h"
+#endif
+
+
+/**********************************************************************
+ * Begin system-specific stuff. Do not do any of this when building
+ * for SciTech SNAP, as this is all done before this header file is
+ * included.
+ */
+#if !defined(__SCITECH_SNAP__)
+
+#if defined(__BEOS__)
+#include <stdlib.h> /* to get some BeOS-isms */
+#endif
+
+#if !defined(OPENSTEP) && (defined(NeXT) || defined(NeXT_PDO))
+#define OPENSTEP
+#endif
+
+#if defined(_WIN32) && !defined(__WIN32__) && !defined(__CYGWIN__)
+#define __WIN32__
+#endif
+
+#if !defined(OPENSTEP) && (defined(__WIN32__) && !defined(__CYGWIN__))
+# if (defined(_MSC_VER) || defined(__MINGW32__)) && defined(BUILD_GL32) /* tag specify we're building mesa as a DLL */
+# define GLAPI __declspec(dllexport)
+# elif (defined(_MSC_VER) || defined(__MINGW32__)) && defined(_DLL) /* tag specifying we're building for DLL runtime support */
+# define GLAPI __declspec(dllimport)
+# else /* for use with static link lib build of Win32 edition only */
+# define GLAPI extern
+# endif /* _STATIC_MESA support */
+# if defined(__MINGW32__) && defined(GL_NO_STDCALL) || defined(UNDER_CE) /* The generated DLLs by MingW with STDCALL are not compatible with the ones done by Microsoft's compilers */
+# define GLAPIENTRY
+# else
+# define GLAPIENTRY __stdcall
+# endif
+#elif defined(__CYGWIN__) && defined(USE_OPENGL32) /* use native windows opengl32 */
+# define GLAPI extern
+# define GLAPIENTRY __stdcall
+#elif (defined(__GNUC__) && __GNUC__ >= 4) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590))
+# define GLAPI __attribute__((visibility("default")))
+# define GLAPIENTRY
+#endif /* WIN32 && !CYGWIN */
+
+#if (defined(__BEOS__) && defined(__POWERPC__)) || defined(__QUICKDRAW__)
+# define PRAGMA_EXPORT_SUPPORTED 1
+#endif
+
+/*
+ * WINDOWS: Include windows.h here to define APIENTRY.
+ * It is also useful when applications include this file by
+ * including only glut.h, since glut.h depends on windows.h.
+ * Applications needing to include windows.h with parms other
+ * than "WIN32_LEAN_AND_MEAN" may include windows.h before
+ * glut.h or gl.h.
+ */
+#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__)
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN 1
+#endif
+#include <windows.h>
+#endif
+
+#if defined(macintosh) && PRAGMA_IMPORT_SUPPORTED
+#pragma import on
+#endif
+
+#ifndef GLAPI
+#define GLAPI extern
+#endif
+
+#ifndef GLAPIENTRY
+#define GLAPIENTRY
+#endif
+
+#ifndef APIENTRY
+#define APIENTRY GLAPIENTRY
+#endif
+
+/* "P" suffix to be used for a pointer to a function */
+#ifndef APIENTRYP
+#define APIENTRYP APIENTRY *
+#endif
+
+#ifndef GLAPIENTRYP
+#define GLAPIENTRYP GLAPIENTRY *
+#endif
+
+#ifdef CENTERLINE_CLPP
+#define signed
+#endif
+
+#if defined(PRAGMA_EXPORT_SUPPORTED)
+#pragma export on
+#endif
+
+#endif /* !__SCITECH_SNAP__ */
+/*
+ * End system-specific stuff.
+ **********************************************************************/
+
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+
+#define GL_VERSION_1_1 1
+#define GL_VERSION_1_2 1
+#define GL_VERSION_1_3 1
+#define GL_ARB_imaging 1
+
+
+/*
+ * Datatypes
+ */
+typedef unsigned int GLenum;
+typedef unsigned char GLboolean;
+typedef unsigned int GLbitfield;
+typedef void GLvoid;
+typedef signed char GLbyte; /* 1-byte signed */
+typedef short GLshort; /* 2-byte signed */
+typedef int GLint; /* 4-byte signed */
+typedef unsigned char GLubyte; /* 1-byte unsigned */
+typedef unsigned short GLushort; /* 2-byte unsigned */
+typedef unsigned int GLuint; /* 4-byte unsigned */
+typedef int GLsizei; /* 4-byte signed */
+typedef float GLfloat; /* single precision float */
+typedef float GLclampf; /* single precision float in [0,1] */
+typedef double GLdouble; /* double precision float */
+typedef double GLclampd; /* double precision float in [0,1] */
+
+
+
+/*
+ * Constants
+ */
+
+/* Boolean values */
+#define GL_FALSE 0
+#define GL_TRUE 1
+
+/* Data types */
+#define GL_BYTE 0x1400
+#define GL_UNSIGNED_BYTE 0x1401
+#define GL_SHORT 0x1402
+#define GL_UNSIGNED_SHORT 0x1403
+#define GL_INT 0x1404
+#define GL_UNSIGNED_INT 0x1405
+#define GL_FLOAT 0x1406
+#define GL_2_BYTES 0x1407
+#define GL_3_BYTES 0x1408
+#define GL_4_BYTES 0x1409
+#define GL_DOUBLE 0x140A
+
+/* Primitives */
+#define GL_POINTS 0x0000
+#define GL_LINES 0x0001
+#define GL_LINE_LOOP 0x0002
+#define GL_LINE_STRIP 0x0003
+#define GL_TRIANGLES 0x0004
+#define GL_TRIANGLE_STRIP 0x0005
+#define GL_TRIANGLE_FAN 0x0006
+#define GL_QUADS 0x0007
+#define GL_QUAD_STRIP 0x0008
+#define GL_POLYGON 0x0009
+
+/* Vertex Arrays */
+#define GL_VERTEX_ARRAY 0x8074
+#define GL_NORMAL_ARRAY 0x8075
+#define GL_COLOR_ARRAY 0x8076
+#define GL_INDEX_ARRAY 0x8077
+#define GL_TEXTURE_COORD_ARRAY 0x8078
+#define GL_EDGE_FLAG_ARRAY 0x8079
+#define GL_VERTEX_ARRAY_SIZE 0x807A
+#define GL_VERTEX_ARRAY_TYPE 0x807B
+#define GL_VERTEX_ARRAY_STRIDE 0x807C
+#define GL_NORMAL_ARRAY_TYPE 0x807E
+#define GL_NORMAL_ARRAY_STRIDE 0x807F
+#define GL_COLOR_ARRAY_SIZE 0x8081
+#define GL_COLOR_ARRAY_TYPE 0x8082
+#define GL_COLOR_ARRAY_STRIDE 0x8083
+#define GL_INDEX_ARRAY_TYPE 0x8085
+#define GL_INDEX_ARRAY_STRIDE 0x8086
+#define GL_TEXTURE_COORD_ARRAY_SIZE 0x8088
+#define GL_TEXTURE_COORD_ARRAY_TYPE 0x8089
+#define GL_TEXTURE_COORD_ARRAY_STRIDE 0x808A
+#define GL_EDGE_FLAG_ARRAY_STRIDE 0x808C
+#define GL_VERTEX_ARRAY_POINTER 0x808E
+#define GL_NORMAL_ARRAY_POINTER 0x808F
+#define GL_COLOR_ARRAY_POINTER 0x8090
+#define GL_INDEX_ARRAY_POINTER 0x8091
+#define GL_TEXTURE_COORD_ARRAY_POINTER 0x8092
+#define GL_EDGE_FLAG_ARRAY_POINTER 0x8093
+#define GL_V2F 0x2A20
+#define GL_V3F 0x2A21
+#define GL_C4UB_V2F 0x2A22
+#define GL_C4UB_V3F 0x2A23
+#define GL_C3F_V3F 0x2A24
+#define GL_N3F_V3F 0x2A25
+#define GL_C4F_N3F_V3F 0x2A26
+#define GL_T2F_V3F 0x2A27
+#define GL_T4F_V4F 0x2A28
+#define GL_T2F_C4UB_V3F 0x2A29
+#define GL_T2F_C3F_V3F 0x2A2A
+#define GL_T2F_N3F_V3F 0x2A2B
+#define GL_T2F_C4F_N3F_V3F 0x2A2C
+#define GL_T4F_C4F_N3F_V4F 0x2A2D
+
+/* Matrix Mode */
+#define GL_MATRIX_MODE 0x0BA0
+#define GL_MODELVIEW 0x1700
+#define GL_PROJECTION 0x1701
+#define GL_TEXTURE 0x1702
+
+/* Points */
+#define GL_POINT_SMOOTH 0x0B10
+#define GL_POINT_SIZE 0x0B11
+#define GL_POINT_SIZE_GRANULARITY 0x0B13
+#define GL_POINT_SIZE_RANGE 0x0B12
+
+/* Lines */
+#define GL_LINE_SMOOTH 0x0B20
+#define GL_LINE_STIPPLE 0x0B24
+#define GL_LINE_STIPPLE_PATTERN 0x0B25
+#define GL_LINE_STIPPLE_REPEAT 0x0B26
+#define GL_LINE_WIDTH 0x0B21
+#define GL_LINE_WIDTH_GRANULARITY 0x0B23
+#define GL_LINE_WIDTH_RANGE 0x0B22
+
+/* Polygons */
+#define GL_POINT 0x1B00
+#define GL_LINE 0x1B01
+#define GL_FILL 0x1B02
+#define GL_CW 0x0900
+#define GL_CCW 0x0901
+#define GL_FRONT 0x0404
+#define GL_BACK 0x0405
+#define GL_POLYGON_MODE 0x0B40
+#define GL_POLYGON_SMOOTH 0x0B41
+#define GL_POLYGON_STIPPLE 0x0B42
+#define GL_EDGE_FLAG 0x0B43
+#define GL_CULL_FACE 0x0B44
+#define GL_CULL_FACE_MODE 0x0B45
+#define GL_FRONT_FACE 0x0B46
+#define GL_POLYGON_OFFSET_FACTOR 0x8038
+#define GL_POLYGON_OFFSET_UNITS 0x2A00
+#define GL_POLYGON_OFFSET_POINT 0x2A01
+#define GL_POLYGON_OFFSET_LINE 0x2A02
+#define GL_POLYGON_OFFSET_FILL 0x8037
+
+/* Display Lists */
+#define GL_COMPILE 0x1300
+#define GL_COMPILE_AND_EXECUTE 0x1301
+#define GL_LIST_BASE 0x0B32
+#define GL_LIST_INDEX 0x0B33
+#define GL_LIST_MODE 0x0B30
+
+/* Depth buffer */
+#define GL_NEVER 0x0200
+#define GL_LESS 0x0201
+#define GL_EQUAL 0x0202
+#define GL_LEQUAL 0x0203
+#define GL_GREATER 0x0204
+#define GL_NOTEQUAL 0x0205
+#define GL_GEQUAL 0x0206
+#define GL_ALWAYS 0x0207
+#define GL_DEPTH_TEST 0x0B71
+#define GL_DEPTH_BITS 0x0D56
+#define GL_DEPTH_CLEAR_VALUE 0x0B73
+#define GL_DEPTH_FUNC 0x0B74
+#define GL_DEPTH_RANGE 0x0B70
+#define GL_DEPTH_WRITEMASK 0x0B72
+#define GL_DEPTH_COMPONENT 0x1902
+
+/* Lighting */
+#define GL_LIGHTING 0x0B50
+#define GL_LIGHT0 0x4000
+#define GL_LIGHT1 0x4001
+#define GL_LIGHT2 0x4002
+#define GL_LIGHT3 0x4003
+#define GL_LIGHT4 0x4004
+#define GL_LIGHT5 0x4005
+#define GL_LIGHT6 0x4006
+#define GL_LIGHT7 0x4007
+#define GL_SPOT_EXPONENT 0x1205
+#define GL_SPOT_CUTOFF 0x1206
+#define GL_CONSTANT_ATTENUATION 0x1207
+#define GL_LINEAR_ATTENUATION 0x1208
+#define GL_QUADRATIC_ATTENUATION 0x1209
+#define GL_AMBIENT 0x1200
+#define GL_DIFFUSE 0x1201
+#define GL_SPECULAR 0x1202
+#define GL_SHININESS 0x1601
+#define GL_EMISSION 0x1600
+#define GL_POSITION 0x1203
+#define GL_SPOT_DIRECTION 0x1204
+#define GL_AMBIENT_AND_DIFFUSE 0x1602
+#define GL_COLOR_INDEXES 0x1603
+#define GL_LIGHT_MODEL_TWO_SIDE 0x0B52
+#define GL_LIGHT_MODEL_LOCAL_VIEWER 0x0B51
+#define GL_LIGHT_MODEL_AMBIENT 0x0B53
+#define GL_FRONT_AND_BACK 0x0408
+#define GL_SHADE_MODEL 0x0B54
+#define GL_FLAT 0x1D00
+#define GL_SMOOTH 0x1D01
+#define GL_COLOR_MATERIAL 0x0B57
+#define GL_COLOR_MATERIAL_FACE 0x0B55
+#define GL_COLOR_MATERIAL_PARAMETER 0x0B56
+#define GL_NORMALIZE 0x0BA1
+
+/* User clipping planes */
+#define GL_CLIP_PLANE0 0x3000
+#define GL_CLIP_PLANE1 0x3001
+#define GL_CLIP_PLANE2 0x3002
+#define GL_CLIP_PLANE3 0x3003
+#define GL_CLIP_PLANE4 0x3004
+#define GL_CLIP_PLANE5 0x3005
+
+/* Accumulation buffer */
+#define GL_ACCUM_RED_BITS 0x0D58
+#define GL_ACCUM_GREEN_BITS 0x0D59
+#define GL_ACCUM_BLUE_BITS 0x0D5A
+#define GL_ACCUM_ALPHA_BITS 0x0D5B
+#define GL_ACCUM_CLEAR_VALUE 0x0B80
+#define GL_ACCUM 0x0100
+#define GL_ADD 0x0104
+#define GL_LOAD 0x0101
+#define GL_MULT 0x0103
+#define GL_RETURN 0x0102
+
+/* Alpha testing */
+#define GL_ALPHA_TEST 0x0BC0
+#define GL_ALPHA_TEST_REF 0x0BC2
+#define GL_ALPHA_TEST_FUNC 0x0BC1
+
+/* Blending */
+#define GL_BLEND 0x0BE2
+#define GL_BLEND_SRC 0x0BE1
+#define GL_BLEND_DST 0x0BE0
+#define GL_ZERO 0
+#define GL_ONE 1
+#define GL_SRC_COLOR 0x0300
+#define GL_ONE_MINUS_SRC_COLOR 0x0301
+#define GL_SRC_ALPHA 0x0302
+#define GL_ONE_MINUS_SRC_ALPHA 0x0303
+#define GL_DST_ALPHA 0x0304
+#define GL_ONE_MINUS_DST_ALPHA 0x0305
+#define GL_DST_COLOR 0x0306
+#define GL_ONE_MINUS_DST_COLOR 0x0307
+#define GL_SRC_ALPHA_SATURATE 0x0308
+
+/* Render Mode */
+#define GL_FEEDBACK 0x1C01
+#define GL_RENDER 0x1C00
+#define GL_SELECT 0x1C02
+
+/* Feedback */
+#define GL_2D 0x0600
+#define GL_3D 0x0601
+#define GL_3D_COLOR 0x0602
+#define GL_3D_COLOR_TEXTURE 0x0603
+#define GL_4D_COLOR_TEXTURE 0x0604
+#define GL_POINT_TOKEN 0x0701
+#define GL_LINE_TOKEN 0x0702
+#define GL_LINE_RESET_TOKEN 0x0707
+#define GL_POLYGON_TOKEN 0x0703
+#define GL_BITMAP_TOKEN 0x0704
+#define GL_DRAW_PIXEL_TOKEN 0x0705
+#define GL_COPY_PIXEL_TOKEN 0x0706
+#define GL_PASS_THROUGH_TOKEN 0x0700
+#define GL_FEEDBACK_BUFFER_POINTER 0x0DF0
+#define GL_FEEDBACK_BUFFER_SIZE 0x0DF1
+#define GL_FEEDBACK_BUFFER_TYPE 0x0DF2
+
+/* Selection */
+#define GL_SELECTION_BUFFER_POINTER 0x0DF3
+#define GL_SELECTION_BUFFER_SIZE 0x0DF4
+
+/* Fog */
+#define GL_FOG 0x0B60
+#define GL_FOG_MODE 0x0B65
+#define GL_FOG_DENSITY 0x0B62
+#define GL_FOG_COLOR 0x0B66
+#define GL_FOG_INDEX 0x0B61
+#define GL_FOG_START 0x0B63
+#define GL_FOG_END 0x0B64
+#define GL_LINEAR 0x2601
+#define GL_EXP 0x0800
+#define GL_EXP2 0x0801
+
+/* Logic Ops */
+#define GL_LOGIC_OP 0x0BF1
+#define GL_INDEX_LOGIC_OP 0x0BF1
+#define GL_COLOR_LOGIC_OP 0x0BF2
+#define GL_LOGIC_OP_MODE 0x0BF0
+#define GL_CLEAR 0x1500
+#define GL_SET 0x150F
+#define GL_COPY 0x1503
+#define GL_COPY_INVERTED 0x150C
+#define GL_NOOP 0x1505
+#define GL_INVERT 0x150A
+#define GL_AND 0x1501
+#define GL_NAND 0x150E
+#define GL_OR 0x1507
+#define GL_NOR 0x1508
+#define GL_XOR 0x1506
+#define GL_EQUIV 0x1509
+#define GL_AND_REVERSE 0x1502
+#define GL_AND_INVERTED 0x1504
+#define GL_OR_REVERSE 0x150B
+#define GL_OR_INVERTED 0x150D
+
+/* Stencil */
+#define GL_STENCIL_BITS 0x0D57
+#define GL_STENCIL_TEST 0x0B90
+#define GL_STENCIL_CLEAR_VALUE 0x0B91
+#define GL_STENCIL_FUNC 0x0B92
+#define GL_STENCIL_VALUE_MASK 0x0B93
+#define GL_STENCIL_FAIL 0x0B94
+#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
+#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
+#define GL_STENCIL_REF 0x0B97
+#define GL_STENCIL_WRITEMASK 0x0B98
+#define GL_STENCIL_INDEX 0x1901
+#define GL_KEEP 0x1E00
+#define GL_REPLACE 0x1E01
+#define GL_INCR 0x1E02
+#define GL_DECR 0x1E03
+
+/* Buffers, Pixel Drawing/Reading */
+#define GL_NONE 0
+#define GL_LEFT 0x0406
+#define GL_RIGHT 0x0407
+/*GL_FRONT 0x0404 */
+/*GL_BACK 0x0405 */
+/*GL_FRONT_AND_BACK 0x0408 */
+#define GL_FRONT_LEFT 0x0400
+#define GL_FRONT_RIGHT 0x0401
+#define GL_BACK_LEFT 0x0402
+#define GL_BACK_RIGHT 0x0403
+#define GL_AUX0 0x0409
+#define GL_AUX1 0x040A
+#define GL_AUX2 0x040B
+#define GL_AUX3 0x040C
+#define GL_COLOR_INDEX 0x1900
+#define GL_RED 0x1903
+#define GL_GREEN 0x1904
+#define GL_BLUE 0x1905
+#define GL_ALPHA 0x1906
+#define GL_LUMINANCE 0x1909
+#define GL_LUMINANCE_ALPHA 0x190A
+#define GL_ALPHA_BITS 0x0D55
+#define GL_RED_BITS 0x0D52
+#define GL_GREEN_BITS 0x0D53
+#define GL_BLUE_BITS 0x0D54
+#define GL_INDEX_BITS 0x0D51
+#define GL_SUBPIXEL_BITS 0x0D50
+#define GL_AUX_BUFFERS 0x0C00
+#define GL_READ_BUFFER 0x0C02
+#define GL_DRAW_BUFFER 0x0C01
+#define GL_DOUBLEBUFFER 0x0C32
+#define GL_STEREO 0x0C33
+#define GL_BITMAP 0x1A00
+#define GL_COLOR 0x1800
+#define GL_DEPTH 0x1801
+#define GL_STENCIL 0x1802
+#define GL_DITHER 0x0BD0
+#define GL_RGB 0x1907
+#define GL_RGBA 0x1908
+
+/* Implementation limits */
+#define GL_MAX_LIST_NESTING 0x0B31
+#define GL_MAX_EVAL_ORDER 0x0D30
+#define GL_MAX_LIGHTS 0x0D31
+#define GL_MAX_CLIP_PLANES 0x0D32
+#define GL_MAX_TEXTURE_SIZE 0x0D33
+#define GL_MAX_PIXEL_MAP_TABLE 0x0D34
+#define GL_MAX_ATTRIB_STACK_DEPTH 0x0D35
+#define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36
+#define GL_MAX_NAME_STACK_DEPTH 0x0D37
+#define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38
+#define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39
+#define GL_MAX_VIEWPORT_DIMS 0x0D3A
+#define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH 0x0D3B
+
+/* Gets */
+#define GL_ATTRIB_STACK_DEPTH 0x0BB0
+#define GL_CLIENT_ATTRIB_STACK_DEPTH 0x0BB1
+#define GL_COLOR_CLEAR_VALUE 0x0C22
+#define GL_COLOR_WRITEMASK 0x0C23
+#define GL_CURRENT_INDEX 0x0B01
+#define GL_CURRENT_COLOR 0x0B00
+#define GL_CURRENT_NORMAL 0x0B02
+#define GL_CURRENT_RASTER_COLOR 0x0B04
+#define GL_CURRENT_RASTER_DISTANCE 0x0B09
+#define GL_CURRENT_RASTER_INDEX 0x0B05
+#define GL_CURRENT_RASTER_POSITION 0x0B07
+#define GL_CURRENT_RASTER_TEXTURE_COORDS 0x0B06
+#define GL_CURRENT_RASTER_POSITION_VALID 0x0B08
+#define GL_CURRENT_TEXTURE_COORDS 0x0B03
+#define GL_INDEX_CLEAR_VALUE 0x0C20
+#define GL_INDEX_MODE 0x0C30
+#define GL_INDEX_WRITEMASK 0x0C21
+#define GL_MODELVIEW_MATRIX 0x0BA6
+#define GL_MODELVIEW_STACK_DEPTH 0x0BA3
+#define GL_NAME_STACK_DEPTH 0x0D70
+#define GL_PROJECTION_MATRIX 0x0BA7
+#define GL_PROJECTION_STACK_DEPTH 0x0BA4
+#define GL_RENDER_MODE 0x0C40
+#define GL_RGBA_MODE 0x0C31
+#define GL_TEXTURE_MATRIX 0x0BA8
+#define GL_TEXTURE_STACK_DEPTH 0x0BA5
+#define GL_VIEWPORT 0x0BA2
+
+/* Evaluators */
+#define GL_AUTO_NORMAL 0x0D80
+#define GL_MAP1_COLOR_4 0x0D90
+#define GL_MAP1_INDEX 0x0D91
+#define GL_MAP1_NORMAL 0x0D92
+#define GL_MAP1_TEXTURE_COORD_1 0x0D93
+#define GL_MAP1_TEXTURE_COORD_2 0x0D94
+#define GL_MAP1_TEXTURE_COORD_3 0x0D95
+#define GL_MAP1_TEXTURE_COORD_4 0x0D96
+#define GL_MAP1_VERTEX_3 0x0D97
+#define GL_MAP1_VERTEX_4 0x0D98
+#define GL_MAP2_COLOR_4 0x0DB0
+#define GL_MAP2_INDEX 0x0DB1
+#define GL_MAP2_NORMAL 0x0DB2
+#define GL_MAP2_TEXTURE_COORD_1 0x0DB3
+#define GL_MAP2_TEXTURE_COORD_2 0x0DB4
+#define GL_MAP2_TEXTURE_COORD_3 0x0DB5
+#define GL_MAP2_TEXTURE_COORD_4 0x0DB6
+#define GL_MAP2_VERTEX_3 0x0DB7
+#define GL_MAP2_VERTEX_4 0x0DB8
+#define GL_MAP1_GRID_DOMAIN 0x0DD0
+#define GL_MAP1_GRID_SEGMENTS 0x0DD1
+#define GL_MAP2_GRID_DOMAIN 0x0DD2
+#define GL_MAP2_GRID_SEGMENTS 0x0DD3
+#define GL_COEFF 0x0A00
+#define GL_ORDER 0x0A01
+#define GL_DOMAIN 0x0A02
+
+/* Hints */
+#define GL_PERSPECTIVE_CORRECTION_HINT 0x0C50
+#define GL_POINT_SMOOTH_HINT 0x0C51
+#define GL_LINE_SMOOTH_HINT 0x0C52
+#define GL_POLYGON_SMOOTH_HINT 0x0C53
+#define GL_FOG_HINT 0x0C54
+#define GL_DONT_CARE 0x1100
+#define GL_FASTEST 0x1101
+#define GL_NICEST 0x1102
+
+/* Scissor box */
+#define GL_SCISSOR_BOX 0x0C10
+#define GL_SCISSOR_TEST 0x0C11
+
+/* Pixel Mode / Transfer */
+#define GL_MAP_COLOR 0x0D10
+#define GL_MAP_STENCIL 0x0D11
+#define GL_INDEX_SHIFT 0x0D12
+#define GL_INDEX_OFFSET 0x0D13
+#define GL_RED_SCALE 0x0D14
+#define GL_RED_BIAS 0x0D15
+#define GL_GREEN_SCALE 0x0D18
+#define GL_GREEN_BIAS 0x0D19
+#define GL_BLUE_SCALE 0x0D1A
+#define GL_BLUE_BIAS 0x0D1B
+#define GL_ALPHA_SCALE 0x0D1C
+#define GL_ALPHA_BIAS 0x0D1D
+#define GL_DEPTH_SCALE 0x0D1E
+#define GL_DEPTH_BIAS 0x0D1F
+#define GL_PIXEL_MAP_S_TO_S_SIZE 0x0CB1
+#define GL_PIXEL_MAP_I_TO_I_SIZE 0x0CB0
+#define GL_PIXEL_MAP_I_TO_R_SIZE 0x0CB2
+#define GL_PIXEL_MAP_I_TO_G_SIZE 0x0CB3
+#define GL_PIXEL_MAP_I_TO_B_SIZE 0x0CB4
+#define GL_PIXEL_MAP_I_TO_A_SIZE 0x0CB5
+#define GL_PIXEL_MAP_R_TO_R_SIZE 0x0CB6
+#define GL_PIXEL_MAP_G_TO_G_SIZE 0x0CB7
+#define GL_PIXEL_MAP_B_TO_B_SIZE 0x0CB8
+#define GL_PIXEL_MAP_A_TO_A_SIZE 0x0CB9
+#define GL_PIXEL_MAP_S_TO_S 0x0C71
+#define GL_PIXEL_MAP_I_TO_I 0x0C70
+#define GL_PIXEL_MAP_I_TO_R 0x0C72
+#define GL_PIXEL_MAP_I_TO_G 0x0C73
+#define GL_PIXEL_MAP_I_TO_B 0x0C74
+#define GL_PIXEL_MAP_I_TO_A 0x0C75
+#define GL_PIXEL_MAP_R_TO_R 0x0C76
+#define GL_PIXEL_MAP_G_TO_G 0x0C77
+#define GL_PIXEL_MAP_B_TO_B 0x0C78
+#define GL_PIXEL_MAP_A_TO_A 0x0C79
+#define GL_PACK_ALIGNMENT 0x0D05
+#define GL_PACK_LSB_FIRST 0x0D01
+#define GL_PACK_ROW_LENGTH 0x0D02
+#define GL_PACK_SKIP_PIXELS 0x0D04
+#define GL_PACK_SKIP_ROWS 0x0D03
+#define GL_PACK_SWAP_BYTES 0x0D00
+#define GL_UNPACK_ALIGNMENT 0x0CF5
+#define GL_UNPACK_LSB_FIRST 0x0CF1
+#define GL_UNPACK_ROW_LENGTH 0x0CF2
+#define GL_UNPACK_SKIP_PIXELS 0x0CF4
+#define GL_UNPACK_SKIP_ROWS 0x0CF3
+#define GL_UNPACK_SWAP_BYTES 0x0CF0
+#define GL_ZOOM_X 0x0D16
+#define GL_ZOOM_Y 0x0D17
+
+/* Texture mapping */
+#define GL_TEXTURE_ENV 0x2300
+#define GL_TEXTURE_ENV_MODE 0x2200
+#define GL_TEXTURE_1D 0x0DE0
+#define GL_TEXTURE_2D 0x0DE1
+#define GL_TEXTURE_WRAP_S 0x2802
+#define GL_TEXTURE_WRAP_T 0x2803
+#define GL_TEXTURE_MAG_FILTER 0x2800
+#define GL_TEXTURE_MIN_FILTER 0x2801
+#define GL_TEXTURE_ENV_COLOR 0x2201
+#define GL_TEXTURE_GEN_S 0x0C60
+#define GL_TEXTURE_GEN_T 0x0C61
+#define GL_TEXTURE_GEN_R 0x0C62
+#define GL_TEXTURE_GEN_Q 0x0C63
+#define GL_TEXTURE_GEN_MODE 0x2500
+#define GL_TEXTURE_BORDER_COLOR 0x1004
+#define GL_TEXTURE_WIDTH 0x1000
+#define GL_TEXTURE_HEIGHT 0x1001
+#define GL_TEXTURE_BORDER 0x1005
+#define GL_TEXTURE_COMPONENTS 0x1003
+#define GL_TEXTURE_RED_SIZE 0x805C
+#define GL_TEXTURE_GREEN_SIZE 0x805D
+#define GL_TEXTURE_BLUE_SIZE 0x805E
+#define GL_TEXTURE_ALPHA_SIZE 0x805F
+#define GL_TEXTURE_LUMINANCE_SIZE 0x8060
+#define GL_TEXTURE_INTENSITY_SIZE 0x8061
+#define GL_NEAREST_MIPMAP_NEAREST 0x2700
+#define GL_NEAREST_MIPMAP_LINEAR 0x2702
+#define GL_LINEAR_MIPMAP_NEAREST 0x2701
+#define GL_LINEAR_MIPMAP_LINEAR 0x2703
+#define GL_OBJECT_LINEAR 0x2401
+#define GL_OBJECT_PLANE 0x2501
+#define GL_EYE_LINEAR 0x2400
+#define GL_EYE_PLANE 0x2502
+#define GL_SPHERE_MAP 0x2402
+#define GL_DECAL 0x2101
+#define GL_MODULATE 0x2100
+#define GL_NEAREST 0x2600
+#define GL_REPEAT 0x2901
+#define GL_CLAMP 0x2900
+#define GL_S 0x2000
+#define GL_T 0x2001
+#define GL_R 0x2002
+#define GL_Q 0x2003
+
+/* Utility */
+#define GL_VENDOR 0x1F00
+#define GL_RENDERER 0x1F01
+#define GL_VERSION 0x1F02
+#define GL_EXTENSIONS 0x1F03
+
+/* Errors */
+#define GL_NO_ERROR 0
+#define GL_INVALID_ENUM 0x0500
+#define GL_INVALID_VALUE 0x0501
+#define GL_INVALID_OPERATION 0x0502
+#define GL_STACK_OVERFLOW 0x0503
+#define GL_STACK_UNDERFLOW 0x0504
+#define GL_OUT_OF_MEMORY 0x0505
+
+/* glPush/PopAttrib bits */
+#define GL_CURRENT_BIT 0x00000001
+#define GL_POINT_BIT 0x00000002
+#define GL_LINE_BIT 0x00000004
+#define GL_POLYGON_BIT 0x00000008
+#define GL_POLYGON_STIPPLE_BIT 0x00000010
+#define GL_PIXEL_MODE_BIT 0x00000020
+#define GL_LIGHTING_BIT 0x00000040
+#define GL_FOG_BIT 0x00000080
+#define GL_DEPTH_BUFFER_BIT 0x00000100
+#define GL_ACCUM_BUFFER_BIT 0x00000200
+#define GL_STENCIL_BUFFER_BIT 0x00000400
+#define GL_VIEWPORT_BIT 0x00000800
+#define GL_TRANSFORM_BIT 0x00001000
+#define GL_ENABLE_BIT 0x00002000
+#define GL_COLOR_BUFFER_BIT 0x00004000
+#define GL_HINT_BIT 0x00008000
+#define GL_EVAL_BIT 0x00010000
+#define GL_LIST_BIT 0x00020000
+#define GL_TEXTURE_BIT 0x00040000
+#define GL_SCISSOR_BIT 0x00080000
+#define GL_ALL_ATTRIB_BITS 0x000FFFFF
+
+
+/* OpenGL 1.1 */
+#define GL_PROXY_TEXTURE_1D 0x8063
+#define GL_PROXY_TEXTURE_2D 0x8064
+#define GL_TEXTURE_PRIORITY 0x8066
+#define GL_TEXTURE_RESIDENT 0x8067
+#define GL_TEXTURE_BINDING_1D 0x8068
+#define GL_TEXTURE_BINDING_2D 0x8069
+#define GL_TEXTURE_INTERNAL_FORMAT 0x1003
+#define GL_ALPHA4 0x803B
+#define GL_ALPHA8 0x803C
+#define GL_ALPHA12 0x803D
+#define GL_ALPHA16 0x803E
+#define GL_LUMINANCE4 0x803F
+#define GL_LUMINANCE8 0x8040
+#define GL_LUMINANCE12 0x8041
+#define GL_LUMINANCE16 0x8042
+#define GL_LUMINANCE4_ALPHA4 0x8043
+#define GL_LUMINANCE6_ALPHA2 0x8044
+#define GL_LUMINANCE8_ALPHA8 0x8045
+#define GL_LUMINANCE12_ALPHA4 0x8046
+#define GL_LUMINANCE12_ALPHA12 0x8047
+#define GL_LUMINANCE16_ALPHA16 0x8048
+#define GL_INTENSITY 0x8049
+#define GL_INTENSITY4 0x804A
+#define GL_INTENSITY8 0x804B
+#define GL_INTENSITY12 0x804C
+#define GL_INTENSITY16 0x804D
+#define GL_R3_G3_B2 0x2A10
+#define GL_RGB4 0x804F
+#define GL_RGB5 0x8050
+#define GL_RGB8 0x8051
+#define GL_RGB10 0x8052
+#define GL_RGB12 0x8053
+#define GL_RGB16 0x8054
+#define GL_RGBA2 0x8055
+#define GL_RGBA4 0x8056
+#define GL_RGB5_A1 0x8057
+#define GL_RGBA8 0x8058
+#define GL_RGB10_A2 0x8059
+#define GL_RGBA12 0x805A
+#define GL_RGBA16 0x805B
+#define GL_CLIENT_PIXEL_STORE_BIT 0x00000001
+#define GL_CLIENT_VERTEX_ARRAY_BIT 0x00000002
+#define GL_ALL_CLIENT_ATTRIB_BITS 0xFFFFFFFF
+#define GL_CLIENT_ALL_ATTRIB_BITS 0xFFFFFFFF
+
+
+
+/*
+ * Miscellaneous
+ */
+
+GLAPI void GLAPIENTRY glClearIndex( GLfloat c );
+
+GLAPI void GLAPIENTRY glClearColor( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha );
+
+GLAPI void GLAPIENTRY glClear( GLbitfield mask );
+
+GLAPI void GLAPIENTRY glIndexMask( GLuint mask );
+
+GLAPI void GLAPIENTRY glColorMask( GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha );
+
+GLAPI void GLAPIENTRY glAlphaFunc( GLenum func, GLclampf ref );
+
+GLAPI void GLAPIENTRY glBlendFunc( GLenum sfactor, GLenum dfactor );
+
+GLAPI void GLAPIENTRY glLogicOp( GLenum opcode );
+
+GLAPI void GLAPIENTRY glCullFace( GLenum mode );
+
+GLAPI void GLAPIENTRY glFrontFace( GLenum mode );
+
+GLAPI void GLAPIENTRY glPointSize( GLfloat size );
+
+GLAPI void GLAPIENTRY glLineWidth( GLfloat width );
+
+GLAPI void GLAPIENTRY glLineStipple( GLint factor, GLushort pattern );
+
+GLAPI void GLAPIENTRY glPolygonMode( GLenum face, GLenum mode );
+
+GLAPI void GLAPIENTRY glPolygonOffset( GLfloat factor, GLfloat units );
+
+GLAPI void GLAPIENTRY glPolygonStipple( const GLubyte *mask );
+
+GLAPI void GLAPIENTRY glGetPolygonStipple( GLubyte *mask );
+
+GLAPI void GLAPIENTRY glEdgeFlag( GLboolean flag );
+
+GLAPI void GLAPIENTRY glEdgeFlagv( const GLboolean *flag );
+
+GLAPI void GLAPIENTRY glScissor( GLint x, GLint y, GLsizei width, GLsizei height);
+
+GLAPI void GLAPIENTRY glClipPlane( GLenum plane, const GLdouble *equation );
+
+GLAPI void GLAPIENTRY glGetClipPlane( GLenum plane, GLdouble *equation );
+
+GLAPI void GLAPIENTRY glDrawBuffer( GLenum mode );
+
+GLAPI void GLAPIENTRY glReadBuffer( GLenum mode );
+
+GLAPI void GLAPIENTRY glEnable( GLenum cap );
+
+GLAPI void GLAPIENTRY glDisable( GLenum cap );
+
+GLAPI GLboolean GLAPIENTRY glIsEnabled( GLenum cap );
+
+
+GLAPI void GLAPIENTRY glEnableClientState( GLenum cap ); /* 1.1 */
+
+GLAPI void GLAPIENTRY glDisableClientState( GLenum cap ); /* 1.1 */
+
+
+GLAPI void GLAPIENTRY glGetBooleanv( GLenum pname, GLboolean *params );
+
+GLAPI void GLAPIENTRY glGetDoublev( GLenum pname, GLdouble *params );
+
+GLAPI void GLAPIENTRY glGetFloatv( GLenum pname, GLfloat *params );
+
+GLAPI void GLAPIENTRY glGetIntegerv( GLenum pname, GLint *params );
+
+
+GLAPI void GLAPIENTRY glPushAttrib( GLbitfield mask );
+
+GLAPI void GLAPIENTRY glPopAttrib( void );
+
+
+GLAPI void GLAPIENTRY glPushClientAttrib( GLbitfield mask ); /* 1.1 */
+
+GLAPI void GLAPIENTRY glPopClientAttrib( void ); /* 1.1 */
+
+
+GLAPI GLint GLAPIENTRY glRenderMode( GLenum mode );
+
+GLAPI GLenum GLAPIENTRY glGetError( void );
+
+GLAPI const GLubyte * GLAPIENTRY glGetString( GLenum name );
+
+GLAPI void GLAPIENTRY glFinish( void );
+
+GLAPI void GLAPIENTRY glFlush( void );
+
+GLAPI void GLAPIENTRY glHint( GLenum target, GLenum mode );
+
+
+/*
+ * Depth Buffer
+ */
+
+GLAPI void GLAPIENTRY glClearDepth( GLclampd depth );
+
+GLAPI void GLAPIENTRY glDepthFunc( GLenum func );
+
+GLAPI void GLAPIENTRY glDepthMask( GLboolean flag );
+
+GLAPI void GLAPIENTRY glDepthRange( GLclampd near_val, GLclampd far_val );
+
+
+/*
+ * Accumulation Buffer
+ */
+
+GLAPI void GLAPIENTRY glClearAccum( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha );
+
+GLAPI void GLAPIENTRY glAccum( GLenum op, GLfloat value );
+
+
+/*
+ * Transformation
+ */
+
+GLAPI void GLAPIENTRY glMatrixMode( GLenum mode );
+
+GLAPI void GLAPIENTRY glOrtho( GLdouble left, GLdouble right,
+ GLdouble bottom, GLdouble top,
+ GLdouble near_val, GLdouble far_val );
+
+GLAPI void GLAPIENTRY glFrustum( GLdouble left, GLdouble right,
+ GLdouble bottom, GLdouble top,
+ GLdouble near_val, GLdouble far_val );
+
+GLAPI void GLAPIENTRY glViewport( GLint x, GLint y,
+ GLsizei width, GLsizei height );
+
+GLAPI void GLAPIENTRY glPushMatrix( void );
+
+GLAPI void GLAPIENTRY glPopMatrix( void );
+
+GLAPI void GLAPIENTRY glLoadIdentity( void );
+
+GLAPI void GLAPIENTRY glLoadMatrixd( const GLdouble *m );
+GLAPI void GLAPIENTRY glLoadMatrixf( const GLfloat *m );
+
+GLAPI void GLAPIENTRY glMultMatrixd( const GLdouble *m );
+GLAPI void GLAPIENTRY glMultMatrixf( const GLfloat *m );
+
+GLAPI void GLAPIENTRY glRotated( GLdouble angle,
+ GLdouble x, GLdouble y, GLdouble z );
+GLAPI void GLAPIENTRY glRotatef( GLfloat angle,
+ GLfloat x, GLfloat y, GLfloat z );
+
+GLAPI void GLAPIENTRY glScaled( GLdouble x, GLdouble y, GLdouble z );
+GLAPI void GLAPIENTRY glScalef( GLfloat x, GLfloat y, GLfloat z );
+
+GLAPI void GLAPIENTRY glTranslated( GLdouble x, GLdouble y, GLdouble z );
+GLAPI void GLAPIENTRY glTranslatef( GLfloat x, GLfloat y, GLfloat z );
+
+
+/*
+ * Display Lists
+ */
+
+GLAPI GLboolean GLAPIENTRY glIsList( GLuint list );
+
+GLAPI void GLAPIENTRY glDeleteLists( GLuint list, GLsizei range );
+
+GLAPI GLuint GLAPIENTRY glGenLists( GLsizei range );
+
+GLAPI void GLAPIENTRY glNewList( GLuint list, GLenum mode );
+
+GLAPI void GLAPIENTRY glEndList( void );
+
+GLAPI void GLAPIENTRY glCallList( GLuint list );
+
+GLAPI void GLAPIENTRY glCallLists( GLsizei n, GLenum type,
+ const GLvoid *lists );
+
+GLAPI void GLAPIENTRY glListBase( GLuint base );
+
+
+/*
+ * Drawing Functions
+ */
+
+GLAPI void GLAPIENTRY glBegin( GLenum mode );
+
+GLAPI void GLAPIENTRY glEnd( void );
+
+
+GLAPI void GLAPIENTRY glVertex2d( GLdouble x, GLdouble y );
+GLAPI void GLAPIENTRY glVertex2f( GLfloat x, GLfloat y );
+GLAPI void GLAPIENTRY glVertex2i( GLint x, GLint y );
+GLAPI void GLAPIENTRY glVertex2s( GLshort x, GLshort y );
+
+GLAPI void GLAPIENTRY glVertex3d( GLdouble x, GLdouble y, GLdouble z );
+GLAPI void GLAPIENTRY glVertex3f( GLfloat x, GLfloat y, GLfloat z );
+GLAPI void GLAPIENTRY glVertex3i( GLint x, GLint y, GLint z );
+GLAPI void GLAPIENTRY glVertex3s( GLshort x, GLshort y, GLshort z );
+
+GLAPI void GLAPIENTRY glVertex4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w );
+GLAPI void GLAPIENTRY glVertex4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
+GLAPI void GLAPIENTRY glVertex4i( GLint x, GLint y, GLint z, GLint w );
+GLAPI void GLAPIENTRY glVertex4s( GLshort x, GLshort y, GLshort z, GLshort w );
+
+GLAPI void GLAPIENTRY glVertex2dv( const GLdouble *v );
+GLAPI void GLAPIENTRY glVertex2fv( const GLfloat *v );
+GLAPI void GLAPIENTRY glVertex2iv( const GLint *v );
+GLAPI void GLAPIENTRY glVertex2sv( const GLshort *v );
+
+GLAPI void GLAPIENTRY glVertex3dv( const GLdouble *v );
+GLAPI void GLAPIENTRY glVertex3fv( const GLfloat *v );
+GLAPI void GLAPIENTRY glVertex3iv( const GLint *v );
+GLAPI void GLAPIENTRY glVertex3sv( const GLshort *v );
+
+GLAPI void GLAPIENTRY glVertex4dv( const GLdouble *v );
+GLAPI void GLAPIENTRY glVertex4fv( const GLfloat *v );
+GLAPI void GLAPIENTRY glVertex4iv( const GLint *v );
+GLAPI void GLAPIENTRY glVertex4sv( const GLshort *v );
+
+
+GLAPI void GLAPIENTRY glNormal3b( GLbyte nx, GLbyte ny, GLbyte nz );
+GLAPI void GLAPIENTRY glNormal3d( GLdouble nx, GLdouble ny, GLdouble nz );
+GLAPI void GLAPIENTRY glNormal3f( GLfloat nx, GLfloat ny, GLfloat nz );
+GLAPI void GLAPIENTRY glNormal3i( GLint nx, GLint ny, GLint nz );
+GLAPI void GLAPIENTRY glNormal3s( GLshort nx, GLshort ny, GLshort nz );
+
+GLAPI void GLAPIENTRY glNormal3bv( const GLbyte *v );
+GLAPI void GLAPIENTRY glNormal3dv( const GLdouble *v );
+GLAPI void GLAPIENTRY glNormal3fv( const GLfloat *v );
+GLAPI void GLAPIENTRY glNormal3iv( const GLint *v );
+GLAPI void GLAPIENTRY glNormal3sv( const GLshort *v );
+
+
+GLAPI void GLAPIENTRY glIndexd( GLdouble c );
+GLAPI void GLAPIENTRY glIndexf( GLfloat c );
+GLAPI void GLAPIENTRY glIndexi( GLint c );
+GLAPI void GLAPIENTRY glIndexs( GLshort c );
+GLAPI void GLAPIENTRY glIndexub( GLubyte c ); /* 1.1 */
+
+GLAPI void GLAPIENTRY glIndexdv( const GLdouble *c );
+GLAPI void GLAPIENTRY glIndexfv( const GLfloat *c );
+GLAPI void GLAPIENTRY glIndexiv( const GLint *c );
+GLAPI void GLAPIENTRY glIndexsv( const GLshort *c );
+GLAPI void GLAPIENTRY glIndexubv( const GLubyte *c ); /* 1.1 */
+
+GLAPI void GLAPIENTRY glColor3b( GLbyte red, GLbyte green, GLbyte blue );
+GLAPI void GLAPIENTRY glColor3d( GLdouble red, GLdouble green, GLdouble blue );
+GLAPI void GLAPIENTRY glColor3f( GLfloat red, GLfloat green, GLfloat blue );
+GLAPI void GLAPIENTRY glColor3i( GLint red, GLint green, GLint blue );
+GLAPI void GLAPIENTRY glColor3s( GLshort red, GLshort green, GLshort blue );
+GLAPI void GLAPIENTRY glColor3ub( GLubyte red, GLubyte green, GLubyte blue );
+GLAPI void GLAPIENTRY glColor3ui( GLuint red, GLuint green, GLuint blue );
+GLAPI void GLAPIENTRY glColor3us( GLushort red, GLushort green, GLushort blue );
+
+GLAPI void GLAPIENTRY glColor4b( GLbyte red, GLbyte green,
+ GLbyte blue, GLbyte alpha );
+GLAPI void GLAPIENTRY glColor4d( GLdouble red, GLdouble green,
+ GLdouble blue, GLdouble alpha );
+GLAPI void GLAPIENTRY glColor4f( GLfloat red, GLfloat green,
+ GLfloat blue, GLfloat alpha );
+GLAPI void GLAPIENTRY glColor4i( GLint red, GLint green,
+ GLint blue, GLint alpha );
+GLAPI void GLAPIENTRY glColor4s( GLshort red, GLshort green,
+ GLshort blue, GLshort alpha );
+GLAPI void GLAPIENTRY glColor4ub( GLubyte red, GLubyte green,
+ GLubyte blue, GLubyte alpha );
+GLAPI void GLAPIENTRY glColor4ui( GLuint red, GLuint green,
+ GLuint blue, GLuint alpha );
+GLAPI void GLAPIENTRY glColor4us( GLushort red, GLushort green,
+ GLushort blue, GLushort alpha );
+
+
+GLAPI void GLAPIENTRY glColor3bv( const GLbyte *v );
+GLAPI void GLAPIENTRY glColor3dv( const GLdouble *v );
+GLAPI void GLAPIENTRY glColor3fv( const GLfloat *v );
+GLAPI void GLAPIENTRY glColor3iv( const GLint *v );
+GLAPI void GLAPIENTRY glColor3sv( const GLshort *v );
+GLAPI void GLAPIENTRY glColor3ubv( const GLubyte *v );
+GLAPI void GLAPIENTRY glColor3uiv( const GLuint *v );
+GLAPI void GLAPIENTRY glColor3usv( const GLushort *v );
+
+GLAPI void GLAPIENTRY glColor4bv( const GLbyte *v );
+GLAPI void GLAPIENTRY glColor4dv( const GLdouble *v );
+GLAPI void GLAPIENTRY glColor4fv( const GLfloat *v );
+GLAPI void GLAPIENTRY glColor4iv( const GLint *v );
+GLAPI void GLAPIENTRY glColor4sv( const GLshort *v );
+GLAPI void GLAPIENTRY glColor4ubv( const GLubyte *v );
+GLAPI void GLAPIENTRY glColor4uiv( const GLuint *v );
+GLAPI void GLAPIENTRY glColor4usv( const GLushort *v );
+
+
+GLAPI void GLAPIENTRY glTexCoord1d( GLdouble s );
+GLAPI void GLAPIENTRY glTexCoord1f( GLfloat s );
+GLAPI void GLAPIENTRY glTexCoord1i( GLint s );
+GLAPI void GLAPIENTRY glTexCoord1s( GLshort s );
+
+GLAPI void GLAPIENTRY glTexCoord2d( GLdouble s, GLdouble t );
+GLAPI void GLAPIENTRY glTexCoord2f( GLfloat s, GLfloat t );
+GLAPI void GLAPIENTRY glTexCoord2i( GLint s, GLint t );
+GLAPI void GLAPIENTRY glTexCoord2s( GLshort s, GLshort t );
+
+GLAPI void GLAPIENTRY glTexCoord3d( GLdouble s, GLdouble t, GLdouble r );
+GLAPI void GLAPIENTRY glTexCoord3f( GLfloat s, GLfloat t, GLfloat r );
+GLAPI void GLAPIENTRY glTexCoord3i( GLint s, GLint t, GLint r );
+GLAPI void GLAPIENTRY glTexCoord3s( GLshort s, GLshort t, GLshort r );
+
+GLAPI void GLAPIENTRY glTexCoord4d( GLdouble s, GLdouble t, GLdouble r, GLdouble q );
+GLAPI void GLAPIENTRY glTexCoord4f( GLfloat s, GLfloat t, GLfloat r, GLfloat q );
+GLAPI void GLAPIENTRY glTexCoord4i( GLint s, GLint t, GLint r, GLint q );
+GLAPI void GLAPIENTRY glTexCoord4s( GLshort s, GLshort t, GLshort r, GLshort q );
+
+GLAPI void GLAPIENTRY glTexCoord1dv( const GLdouble *v );
+GLAPI void GLAPIENTRY glTexCoord1fv( const GLfloat *v );
+GLAPI void GLAPIENTRY glTexCoord1iv( const GLint *v );
+GLAPI void GLAPIENTRY glTexCoord1sv( const GLshort *v );
+
+GLAPI void GLAPIENTRY glTexCoord2dv( const GLdouble *v );
+GLAPI void GLAPIENTRY glTexCoord2fv( const GLfloat *v );
+GLAPI void GLAPIENTRY glTexCoord2iv( const GLint *v );
+GLAPI void GLAPIENTRY glTexCoord2sv( const GLshort *v );
+
+GLAPI void GLAPIENTRY glTexCoord3dv( const GLdouble *v );
+GLAPI void GLAPIENTRY glTexCoord3fv( const GLfloat *v );
+GLAPI void GLAPIENTRY glTexCoord3iv( const GLint *v );
+GLAPI void GLAPIENTRY glTexCoord3sv( const GLshort *v );
+
+GLAPI void GLAPIENTRY glTexCoord4dv( const GLdouble *v );
+GLAPI void GLAPIENTRY glTexCoord4fv( const GLfloat *v );
+GLAPI void GLAPIENTRY glTexCoord4iv( const GLint *v );
+GLAPI void GLAPIENTRY glTexCoord4sv( const GLshort *v );
+
+
+GLAPI void GLAPIENTRY glRasterPos2d( GLdouble x, GLdouble y );
+GLAPI void GLAPIENTRY glRasterPos2f( GLfloat x, GLfloat y );
+GLAPI void GLAPIENTRY glRasterPos2i( GLint x, GLint y );
+GLAPI void GLAPIENTRY glRasterPos2s( GLshort x, GLshort y );
+
+GLAPI void GLAPIENTRY glRasterPos3d( GLdouble x, GLdouble y, GLdouble z );
+GLAPI void GLAPIENTRY glRasterPos3f( GLfloat x, GLfloat y, GLfloat z );
+GLAPI void GLAPIENTRY glRasterPos3i( GLint x, GLint y, GLint z );
+GLAPI void GLAPIENTRY glRasterPos3s( GLshort x, GLshort y, GLshort z );
+
+GLAPI void GLAPIENTRY glRasterPos4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w );
+GLAPI void GLAPIENTRY glRasterPos4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
+GLAPI void GLAPIENTRY glRasterPos4i( GLint x, GLint y, GLint z, GLint w );
+GLAPI void GLAPIENTRY glRasterPos4s( GLshort x, GLshort y, GLshort z, GLshort w );
+
+GLAPI void GLAPIENTRY glRasterPos2dv( const GLdouble *v );
+GLAPI void GLAPIENTRY glRasterPos2fv( const GLfloat *v );
+GLAPI void GLAPIENTRY glRasterPos2iv( const GLint *v );
+GLAPI void GLAPIENTRY glRasterPos2sv( const GLshort *v );
+
+GLAPI void GLAPIENTRY glRasterPos3dv( const GLdouble *v );
+GLAPI void GLAPIENTRY glRasterPos3fv( const GLfloat *v );
+GLAPI void GLAPIENTRY glRasterPos3iv( const GLint *v );
+GLAPI void GLAPIENTRY glRasterPos3sv( const GLshort *v );
+
+GLAPI void GLAPIENTRY glRasterPos4dv( const GLdouble *v );
+GLAPI void GLAPIENTRY glRasterPos4fv( const GLfloat *v );
+GLAPI void GLAPIENTRY glRasterPos4iv( const GLint *v );
+GLAPI void GLAPIENTRY glRasterPos4sv( const GLshort *v );
+
+
+GLAPI void GLAPIENTRY glRectd( GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2 );
+GLAPI void GLAPIENTRY glRectf( GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 );
+GLAPI void GLAPIENTRY glRecti( GLint x1, GLint y1, GLint x2, GLint y2 );
+GLAPI void GLAPIENTRY glRects( GLshort x1, GLshort y1, GLshort x2, GLshort y2 );
+
+
+GLAPI void GLAPIENTRY glRectdv( const GLdouble *v1, const GLdouble *v2 );
+GLAPI void GLAPIENTRY glRectfv( const GLfloat *v1, const GLfloat *v2 );
+GLAPI void GLAPIENTRY glRectiv( const GLint *v1, const GLint *v2 );
+GLAPI void GLAPIENTRY glRectsv( const GLshort *v1, const GLshort *v2 );
+
+
+/*
+ * Vertex Arrays (1.1)
+ */
+
+GLAPI void GLAPIENTRY glVertexPointer( GLint size, GLenum type,
+ GLsizei stride, const GLvoid *ptr );
+
+GLAPI void GLAPIENTRY glNormalPointer( GLenum type, GLsizei stride,
+ const GLvoid *ptr );
+
+GLAPI void GLAPIENTRY glColorPointer( GLint size, GLenum type,
+ GLsizei stride, const GLvoid *ptr );
+
+GLAPI void GLAPIENTRY glIndexPointer( GLenum type, GLsizei stride,
+ const GLvoid *ptr );
+
+GLAPI void GLAPIENTRY glTexCoordPointer( GLint size, GLenum type,
+ GLsizei stride, const GLvoid *ptr );
+
+GLAPI void GLAPIENTRY glEdgeFlagPointer( GLsizei stride, const GLvoid *ptr );
+
+GLAPI void GLAPIENTRY glGetPointerv( GLenum pname, GLvoid **params );
+
+GLAPI void GLAPIENTRY glArrayElement( GLint i );
+
+GLAPI void GLAPIENTRY glDrawArrays( GLenum mode, GLint first, GLsizei count );
+
+GLAPI void GLAPIENTRY glDrawElements( GLenum mode, GLsizei count,
+ GLenum type, const GLvoid *indices );
+
+GLAPI void GLAPIENTRY glInterleavedArrays( GLenum format, GLsizei stride,
+ const GLvoid *pointer );
+
+/*
+ * Lighting
+ */
+
+GLAPI void GLAPIENTRY glShadeModel( GLenum mode );
+
+GLAPI void GLAPIENTRY glLightf( GLenum light, GLenum pname, GLfloat param );
+GLAPI void GLAPIENTRY glLighti( GLenum light, GLenum pname, GLint param );
+GLAPI void GLAPIENTRY glLightfv( GLenum light, GLenum pname,
+ const GLfloat *params );
+GLAPI void GLAPIENTRY glLightiv( GLenum light, GLenum pname,
+ const GLint *params );
+
+GLAPI void GLAPIENTRY glGetLightfv( GLenum light, GLenum pname,
+ GLfloat *params );
+GLAPI void GLAPIENTRY glGetLightiv( GLenum light, GLenum pname,
+ GLint *params );
+
+GLAPI void GLAPIENTRY glLightModelf( GLenum pname, GLfloat param );
+GLAPI void GLAPIENTRY glLightModeli( GLenum pname, GLint param );
+GLAPI void GLAPIENTRY glLightModelfv( GLenum pname, const GLfloat *params );
+GLAPI void GLAPIENTRY glLightModeliv( GLenum pname, const GLint *params );
+
+GLAPI void GLAPIENTRY glMaterialf( GLenum face, GLenum pname, GLfloat param );
+GLAPI void GLAPIENTRY glMateriali( GLenum face, GLenum pname, GLint param );
+GLAPI void GLAPIENTRY glMaterialfv( GLenum face, GLenum pname, const GLfloat *params );
+GLAPI void GLAPIENTRY glMaterialiv( GLenum face, GLenum pname, const GLint *params );
+
+GLAPI void GLAPIENTRY glGetMaterialfv( GLenum face, GLenum pname, GLfloat *params );
+GLAPI void GLAPIENTRY glGetMaterialiv( GLenum face, GLenum pname, GLint *params );
+
+GLAPI void GLAPIENTRY glColorMaterial( GLenum face, GLenum mode );
+
+
+/*
+ * Raster functions
+ */
+
+GLAPI void GLAPIENTRY glPixelZoom( GLfloat xfactor, GLfloat yfactor );
+
+GLAPI void GLAPIENTRY glPixelStoref( GLenum pname, GLfloat param );
+GLAPI void GLAPIENTRY glPixelStorei( GLenum pname, GLint param );
+
+GLAPI void GLAPIENTRY glPixelTransferf( GLenum pname, GLfloat param );
+GLAPI void GLAPIENTRY glPixelTransferi( GLenum pname, GLint param );
+
+GLAPI void GLAPIENTRY glPixelMapfv( GLenum map, GLsizei mapsize,
+ const GLfloat *values );
+GLAPI void GLAPIENTRY glPixelMapuiv( GLenum map, GLsizei mapsize,
+ const GLuint *values );
+GLAPI void GLAPIENTRY glPixelMapusv( GLenum map, GLsizei mapsize,
+ const GLushort *values );
+
+GLAPI void GLAPIENTRY glGetPixelMapfv( GLenum map, GLfloat *values );
+GLAPI void GLAPIENTRY glGetPixelMapuiv( GLenum map, GLuint *values );
+GLAPI void GLAPIENTRY glGetPixelMapusv( GLenum map, GLushort *values );
+
+GLAPI void GLAPIENTRY glBitmap( GLsizei width, GLsizei height,
+ GLfloat xorig, GLfloat yorig,
+ GLfloat xmove, GLfloat ymove,
+ const GLubyte *bitmap );
+
+GLAPI void GLAPIENTRY glReadPixels( GLint x, GLint y,
+ GLsizei width, GLsizei height,
+ GLenum format, GLenum type,
+ GLvoid *pixels );
+
+GLAPI void GLAPIENTRY glDrawPixels( GLsizei width, GLsizei height,
+ GLenum format, GLenum type,
+ const GLvoid *pixels );
+
+GLAPI void GLAPIENTRY glCopyPixels( GLint x, GLint y,
+ GLsizei width, GLsizei height,
+ GLenum type );
+
+/*
+ * Stenciling
+ */
+
+GLAPI void GLAPIENTRY glStencilFunc( GLenum func, GLint ref, GLuint mask );
+
+GLAPI void GLAPIENTRY glStencilMask( GLuint mask );
+
+GLAPI void GLAPIENTRY glStencilOp( GLenum fail, GLenum zfail, GLenum zpass );
+
+GLAPI void GLAPIENTRY glClearStencil( GLint s );
+
+
+
+/*
+ * Texture mapping
+ */
+
+GLAPI void GLAPIENTRY glTexGend( GLenum coord, GLenum pname, GLdouble param );
+GLAPI void GLAPIENTRY glTexGenf( GLenum coord, GLenum pname, GLfloat param );
+GLAPI void GLAPIENTRY glTexGeni( GLenum coord, GLenum pname, GLint param );
+
+GLAPI void GLAPIENTRY glTexGendv( GLenum coord, GLenum pname, const GLdouble *params );
+GLAPI void GLAPIENTRY glTexGenfv( GLenum coord, GLenum pname, const GLfloat *params );
+GLAPI void GLAPIENTRY glTexGeniv( GLenum coord, GLenum pname, const GLint *params );
+
+GLAPI void GLAPIENTRY glGetTexGendv( GLenum coord, GLenum pname, GLdouble *params );
+GLAPI void GLAPIENTRY glGetTexGenfv( GLenum coord, GLenum pname, GLfloat *params );
+GLAPI void GLAPIENTRY glGetTexGeniv( GLenum coord, GLenum pname, GLint *params );
+
+
+GLAPI void GLAPIENTRY glTexEnvf( GLenum target, GLenum pname, GLfloat param );
+GLAPI void GLAPIENTRY glTexEnvi( GLenum target, GLenum pname, GLint param );
+
+GLAPI void GLAPIENTRY glTexEnvfv( GLenum target, GLenum pname, const GLfloat *params );
+GLAPI void GLAPIENTRY glTexEnviv( GLenum target, GLenum pname, const GLint *params );
+
+GLAPI void GLAPIENTRY glGetTexEnvfv( GLenum target, GLenum pname, GLfloat *params );
+GLAPI void GLAPIENTRY glGetTexEnviv( GLenum target, GLenum pname, GLint *params );
+
+
+GLAPI void GLAPIENTRY glTexParameterf( GLenum target, GLenum pname, GLfloat param );
+GLAPI void GLAPIENTRY glTexParameteri( GLenum target, GLenum pname, GLint param );
+
+GLAPI void GLAPIENTRY glTexParameterfv( GLenum target, GLenum pname,
+ const GLfloat *params );
+GLAPI void GLAPIENTRY glTexParameteriv( GLenum target, GLenum pname,
+ const GLint *params );
+
+GLAPI void GLAPIENTRY glGetTexParameterfv( GLenum target,
+ GLenum pname, GLfloat *params);
+GLAPI void GLAPIENTRY glGetTexParameteriv( GLenum target,
+ GLenum pname, GLint *params );
+
+GLAPI void GLAPIENTRY glGetTexLevelParameterfv( GLenum target, GLint level,
+ GLenum pname, GLfloat *params );
+GLAPI void GLAPIENTRY glGetTexLevelParameteriv( GLenum target, GLint level,
+ GLenum pname, GLint *params );
+
+
+GLAPI void GLAPIENTRY glTexImage1D( GLenum target, GLint level,
+ GLint internalFormat,
+ GLsizei width, GLint border,
+ GLenum format, GLenum type,
+ const GLvoid *pixels );
+
+GLAPI void GLAPIENTRY glTexImage2D( GLenum target, GLint level,
+ GLint internalFormat,
+ GLsizei width, GLsizei height,
+ GLint border, GLenum format, GLenum type,
+ const GLvoid *pixels );
+
+GLAPI void GLAPIENTRY glGetTexImage( GLenum target, GLint level,
+ GLenum format, GLenum type,
+ GLvoid *pixels );
+
+
+/* 1.1 functions */
+
+GLAPI void GLAPIENTRY glGenTextures( GLsizei n, GLuint *textures );
+
+GLAPI void GLAPIENTRY glDeleteTextures( GLsizei n, const GLuint *textures);
+
+GLAPI void GLAPIENTRY glBindTexture( GLenum target, GLuint texture );
+
+GLAPI void GLAPIENTRY glPrioritizeTextures( GLsizei n,
+ const GLuint *textures,
+ const GLclampf *priorities );
+
+GLAPI GLboolean GLAPIENTRY glAreTexturesResident( GLsizei n,
+ const GLuint *textures,
+ GLboolean *residences );
+
+GLAPI GLboolean GLAPIENTRY glIsTexture( GLuint texture );
+
+
+GLAPI void GLAPIENTRY glTexSubImage1D( GLenum target, GLint level,
+ GLint xoffset,
+ GLsizei width, GLenum format,
+ GLenum type, const GLvoid *pixels );
+
+
+GLAPI void GLAPIENTRY glTexSubImage2D( GLenum target, GLint level,
+ GLint xoffset, GLint yoffset,
+ GLsizei width, GLsizei height,
+ GLenum format, GLenum type,
+ const GLvoid *pixels );
+
+
+GLAPI void GLAPIENTRY glCopyTexImage1D( GLenum target, GLint level,
+ GLenum internalformat,
+ GLint x, GLint y,
+ GLsizei width, GLint border );
+
+
+GLAPI void GLAPIENTRY glCopyTexImage2D( GLenum target, GLint level,
+ GLenum internalformat,
+ GLint x, GLint y,
+ GLsizei width, GLsizei height,
+ GLint border );
+
+
+GLAPI void GLAPIENTRY glCopyTexSubImage1D( GLenum target, GLint level,
+ GLint xoffset, GLint x, GLint y,
+ GLsizei width );
+
+
+GLAPI void GLAPIENTRY glCopyTexSubImage2D( GLenum target, GLint level,
+ GLint xoffset, GLint yoffset,
+ GLint x, GLint y,
+ GLsizei width, GLsizei height );
+
+
+/*
+ * Evaluators
+ */
+
+GLAPI void GLAPIENTRY glMap1d( GLenum target, GLdouble u1, GLdouble u2,
+ GLint stride,
+ GLint order, const GLdouble *points );
+GLAPI void GLAPIENTRY glMap1f( GLenum target, GLfloat u1, GLfloat u2,
+ GLint stride,
+ GLint order, const GLfloat *points );
+
+GLAPI void GLAPIENTRY glMap2d( GLenum target,
+ GLdouble u1, GLdouble u2, GLint ustride, GLint uorder,
+ GLdouble v1, GLdouble v2, GLint vstride, GLint vorder,
+ const GLdouble *points );
+GLAPI void GLAPIENTRY glMap2f( GLenum target,
+ GLfloat u1, GLfloat u2, GLint ustride, GLint uorder,
+ GLfloat v1, GLfloat v2, GLint vstride, GLint vorder,
+ const GLfloat *points );
+
+GLAPI void GLAPIENTRY glGetMapdv( GLenum target, GLenum query, GLdouble *v );
+GLAPI void GLAPIENTRY glGetMapfv( GLenum target, GLenum query, GLfloat *v );
+GLAPI void GLAPIENTRY glGetMapiv( GLenum target, GLenum query, GLint *v );
+
+GLAPI void GLAPIENTRY glEvalCoord1d( GLdouble u );
+GLAPI void GLAPIENTRY glEvalCoord1f( GLfloat u );
+
+GLAPI void GLAPIENTRY glEvalCoord1dv( const GLdouble *u );
+GLAPI void GLAPIENTRY glEvalCoord1fv( const GLfloat *u );
+
+GLAPI void GLAPIENTRY glEvalCoord2d( GLdouble u, GLdouble v );
+GLAPI void GLAPIENTRY glEvalCoord2f( GLfloat u, GLfloat v );
+
+GLAPI void GLAPIENTRY glEvalCoord2dv( const GLdouble *u );
+GLAPI void GLAPIENTRY glEvalCoord2fv( const GLfloat *u );
+
+GLAPI void GLAPIENTRY glMapGrid1d( GLint un, GLdouble u1, GLdouble u2 );
+GLAPI void GLAPIENTRY glMapGrid1f( GLint un, GLfloat u1, GLfloat u2 );
+
+GLAPI void GLAPIENTRY glMapGrid2d( GLint un, GLdouble u1, GLdouble u2,
+ GLint vn, GLdouble v1, GLdouble v2 );
+GLAPI void GLAPIENTRY glMapGrid2f( GLint un, GLfloat u1, GLfloat u2,
+ GLint vn, GLfloat v1, GLfloat v2 );
+
+GLAPI void GLAPIENTRY glEvalPoint1( GLint i );
+
+GLAPI void GLAPIENTRY glEvalPoint2( GLint i, GLint j );
+
+GLAPI void GLAPIENTRY glEvalMesh1( GLenum mode, GLint i1, GLint i2 );
+
+GLAPI void GLAPIENTRY glEvalMesh2( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 );
+
+
+/*
+ * Fog
+ */
+
+GLAPI void GLAPIENTRY glFogf( GLenum pname, GLfloat param );
+
+GLAPI void GLAPIENTRY glFogi( GLenum pname, GLint param );
+
+GLAPI void GLAPIENTRY glFogfv( GLenum pname, const GLfloat *params );
+
+GLAPI void GLAPIENTRY glFogiv( GLenum pname, const GLint *params );
+
+
+/*
+ * Selection and Feedback
+ */
+
+GLAPI void GLAPIENTRY glFeedbackBuffer( GLsizei size, GLenum type, GLfloat *buffer );
+
+GLAPI void GLAPIENTRY glPassThrough( GLfloat token );
+
+GLAPI void GLAPIENTRY glSelectBuffer( GLsizei size, GLuint *buffer );
+
+GLAPI void GLAPIENTRY glInitNames( void );
+
+GLAPI void GLAPIENTRY glLoadName( GLuint name );
+
+GLAPI void GLAPIENTRY glPushName( GLuint name );
+
+GLAPI void GLAPIENTRY glPopName( void );
+
+
+
+/*
+ * OpenGL 1.2
+ */
+
+#define GL_RESCALE_NORMAL 0x803A
+#define GL_CLAMP_TO_EDGE 0x812F
+#define GL_MAX_ELEMENTS_VERTICES 0x80E8
+#define GL_MAX_ELEMENTS_INDICES 0x80E9
+#define GL_BGR 0x80E0
+#define GL_BGRA 0x80E1
+#define GL_UNSIGNED_BYTE_3_3_2 0x8032
+#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362
+#define GL_UNSIGNED_SHORT_5_6_5 0x8363
+#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364
+#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
+#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365
+#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
+#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366
+#define GL_UNSIGNED_INT_8_8_8_8 0x8035
+#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367
+#define GL_UNSIGNED_INT_10_10_10_2 0x8036
+#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
+#define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8
+#define GL_SINGLE_COLOR 0x81F9
+#define GL_SEPARATE_SPECULAR_COLOR 0x81FA
+#define GL_TEXTURE_MIN_LOD 0x813A
+#define GL_TEXTURE_MAX_LOD 0x813B
+#define GL_TEXTURE_BASE_LEVEL 0x813C
+#define GL_TEXTURE_MAX_LEVEL 0x813D
+#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12
+#define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13
+#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22
+#define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23
+#define GL_ALIASED_POINT_SIZE_RANGE 0x846D
+#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
+#define GL_PACK_SKIP_IMAGES 0x806B
+#define GL_PACK_IMAGE_HEIGHT 0x806C
+#define GL_UNPACK_SKIP_IMAGES 0x806D
+#define GL_UNPACK_IMAGE_HEIGHT 0x806E
+#define GL_TEXTURE_3D 0x806F
+#define GL_PROXY_TEXTURE_3D 0x8070
+#define GL_TEXTURE_DEPTH 0x8071
+#define GL_TEXTURE_WRAP_R 0x8072
+#define GL_MAX_3D_TEXTURE_SIZE 0x8073
+#define GL_TEXTURE_BINDING_3D 0x806A
+
+GLAPI void GLAPIENTRY glDrawRangeElements( GLenum mode, GLuint start,
+ GLuint end, GLsizei count, GLenum type, const GLvoid *indices );
+
+GLAPI void GLAPIENTRY glTexImage3D( GLenum target, GLint level,
+ GLint internalFormat,
+ GLsizei width, GLsizei height,
+ GLsizei depth, GLint border,
+ GLenum format, GLenum type,
+ const GLvoid *pixels );
+
+GLAPI void GLAPIENTRY glTexSubImage3D( GLenum target, GLint level,
+ GLint xoffset, GLint yoffset,
+ GLint zoffset, GLsizei width,
+ GLsizei height, GLsizei depth,
+ GLenum format,
+ GLenum type, const GLvoid *pixels);
+
+GLAPI void GLAPIENTRY glCopyTexSubImage3D( GLenum target, GLint level,
+ GLint xoffset, GLint yoffset,
+ GLint zoffset, GLint x,
+ GLint y, GLsizei width,
+ GLsizei height );
+
+typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
+typedef void (APIENTRYP PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (APIENTRYP PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+
+
+/*
+ * GL_ARB_imaging
+ */
+
+#define GL_CONSTANT_COLOR 0x8001
+#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
+#define GL_CONSTANT_ALPHA 0x8003
+#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
+#define GL_COLOR_TABLE 0x80D0
+#define GL_POST_CONVOLUTION_COLOR_TABLE 0x80D1
+#define GL_POST_COLOR_MATRIX_COLOR_TABLE 0x80D2
+#define GL_PROXY_COLOR_TABLE 0x80D3
+#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE 0x80D4
+#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5
+#define GL_COLOR_TABLE_SCALE 0x80D6
+#define GL_COLOR_TABLE_BIAS 0x80D7
+#define GL_COLOR_TABLE_FORMAT 0x80D8
+#define GL_COLOR_TABLE_WIDTH 0x80D9
+#define GL_COLOR_TABLE_RED_SIZE 0x80DA
+#define GL_COLOR_TABLE_GREEN_SIZE 0x80DB
+#define GL_COLOR_TABLE_BLUE_SIZE 0x80DC
+#define GL_COLOR_TABLE_ALPHA_SIZE 0x80DD
+#define GL_COLOR_TABLE_LUMINANCE_SIZE 0x80DE
+#define GL_COLOR_TABLE_INTENSITY_SIZE 0x80DF
+#define GL_CONVOLUTION_1D 0x8010
+#define GL_CONVOLUTION_2D 0x8011
+#define GL_SEPARABLE_2D 0x8012
+#define GL_CONVOLUTION_BORDER_MODE 0x8013
+#define GL_CONVOLUTION_FILTER_SCALE 0x8014
+#define GL_CONVOLUTION_FILTER_BIAS 0x8015
+#define GL_REDUCE 0x8016
+#define GL_CONVOLUTION_FORMAT 0x8017
+#define GL_CONVOLUTION_WIDTH 0x8018
+#define GL_CONVOLUTION_HEIGHT 0x8019
+#define GL_MAX_CONVOLUTION_WIDTH 0x801A
+#define GL_MAX_CONVOLUTION_HEIGHT 0x801B
+#define GL_POST_CONVOLUTION_RED_SCALE 0x801C
+#define GL_POST_CONVOLUTION_GREEN_SCALE 0x801D
+#define GL_POST_CONVOLUTION_BLUE_SCALE 0x801E
+#define GL_POST_CONVOLUTION_ALPHA_SCALE 0x801F
+#define GL_POST_CONVOLUTION_RED_BIAS 0x8020
+#define GL_POST_CONVOLUTION_GREEN_BIAS 0x8021
+#define GL_POST_CONVOLUTION_BLUE_BIAS 0x8022
+#define GL_POST_CONVOLUTION_ALPHA_BIAS 0x8023
+#define GL_CONSTANT_BORDER 0x8151
+#define GL_REPLICATE_BORDER 0x8153
+#define GL_CONVOLUTION_BORDER_COLOR 0x8154
+#define GL_COLOR_MATRIX 0x80B1
+#define GL_COLOR_MATRIX_STACK_DEPTH 0x80B2
+#define GL_MAX_COLOR_MATRIX_STACK_DEPTH 0x80B3
+#define GL_POST_COLOR_MATRIX_RED_SCALE 0x80B4
+#define GL_POST_COLOR_MATRIX_GREEN_SCALE 0x80B5
+#define GL_POST_COLOR_MATRIX_BLUE_SCALE 0x80B6
+#define GL_POST_COLOR_MATRIX_ALPHA_SCALE 0x80B7
+#define GL_POST_COLOR_MATRIX_RED_BIAS 0x80B8
+#define GL_POST_COLOR_MATRIX_GREEN_BIAS 0x80B9
+#define GL_POST_COLOR_MATRIX_BLUE_BIAS 0x80BA
+#define GL_POST_COLOR_MATRIX_ALPHA_BIAS 0x80BB
+#define GL_HISTOGRAM 0x8024
+#define GL_PROXY_HISTOGRAM 0x8025
+#define GL_HISTOGRAM_WIDTH 0x8026
+#define GL_HISTOGRAM_FORMAT 0x8027
+#define GL_HISTOGRAM_RED_SIZE 0x8028
+#define GL_HISTOGRAM_GREEN_SIZE 0x8029
+#define GL_HISTOGRAM_BLUE_SIZE 0x802A
+#define GL_HISTOGRAM_ALPHA_SIZE 0x802B
+#define GL_HISTOGRAM_LUMINANCE_SIZE 0x802C
+#define GL_HISTOGRAM_SINK 0x802D
+#define GL_MINMAX 0x802E
+#define GL_MINMAX_FORMAT 0x802F
+#define GL_MINMAX_SINK 0x8030
+#define GL_TABLE_TOO_LARGE 0x8031
+#define GL_BLEND_EQUATION 0x8009
+#define GL_MIN 0x8007
+#define GL_MAX 0x8008
+#define GL_FUNC_ADD 0x8006
+#define GL_FUNC_SUBTRACT 0x800A
+#define GL_FUNC_REVERSE_SUBTRACT 0x800B
+#define GL_BLEND_COLOR 0x8005
+
+
+GLAPI void GLAPIENTRY glColorTable( GLenum target, GLenum internalformat,
+ GLsizei width, GLenum format,
+ GLenum type, const GLvoid *table );
+
+GLAPI void GLAPIENTRY glColorSubTable( GLenum target,
+ GLsizei start, GLsizei count,
+ GLenum format, GLenum type,
+ const GLvoid *data );
+
+GLAPI void GLAPIENTRY glColorTableParameteriv(GLenum target, GLenum pname,
+ const GLint *params);
+
+GLAPI void GLAPIENTRY glColorTableParameterfv(GLenum target, GLenum pname,
+ const GLfloat *params);
+
+GLAPI void GLAPIENTRY glCopyColorSubTable( GLenum target, GLsizei start,
+ GLint x, GLint y, GLsizei width );
+
+GLAPI void GLAPIENTRY glCopyColorTable( GLenum target, GLenum internalformat,
+ GLint x, GLint y, GLsizei width );
+
+GLAPI void GLAPIENTRY glGetColorTable( GLenum target, GLenum format,
+ GLenum type, GLvoid *table );
+
+GLAPI void GLAPIENTRY glGetColorTableParameterfv( GLenum target, GLenum pname,
+ GLfloat *params );
+
+GLAPI void GLAPIENTRY glGetColorTableParameteriv( GLenum target, GLenum pname,
+ GLint *params );
+
+GLAPI void GLAPIENTRY glBlendEquation( GLenum mode );
+
+GLAPI void GLAPIENTRY glBlendColor( GLclampf red, GLclampf green,
+ GLclampf blue, GLclampf alpha );
+
+GLAPI void GLAPIENTRY glHistogram( GLenum target, GLsizei width,
+ GLenum internalformat, GLboolean sink );
+
+GLAPI void GLAPIENTRY glResetHistogram( GLenum target );
+
+GLAPI void GLAPIENTRY glGetHistogram( GLenum target, GLboolean reset,
+ GLenum format, GLenum type,
+ GLvoid *values );
+
+GLAPI void GLAPIENTRY glGetHistogramParameterfv( GLenum target, GLenum pname,
+ GLfloat *params );
+
+GLAPI void GLAPIENTRY glGetHistogramParameteriv( GLenum target, GLenum pname,
+ GLint *params );
+
+GLAPI void GLAPIENTRY glMinmax( GLenum target, GLenum internalformat,
+ GLboolean sink );
+
+GLAPI void GLAPIENTRY glResetMinmax( GLenum target );
+
+GLAPI void GLAPIENTRY glGetMinmax( GLenum target, GLboolean reset,
+ GLenum format, GLenum types,
+ GLvoid *values );
+
+GLAPI void GLAPIENTRY glGetMinmaxParameterfv( GLenum target, GLenum pname,
+ GLfloat *params );
+
+GLAPI void GLAPIENTRY glGetMinmaxParameteriv( GLenum target, GLenum pname,
+ GLint *params );
+
+GLAPI void GLAPIENTRY glConvolutionFilter1D( GLenum target,
+ GLenum internalformat, GLsizei width, GLenum format, GLenum type,
+ const GLvoid *image );
+
+GLAPI void GLAPIENTRY glConvolutionFilter2D( GLenum target,
+ GLenum internalformat, GLsizei width, GLsizei height, GLenum format,
+ GLenum type, const GLvoid *image );
+
+GLAPI void GLAPIENTRY glConvolutionParameterf( GLenum target, GLenum pname,
+ GLfloat params );
+
+GLAPI void GLAPIENTRY glConvolutionParameterfv( GLenum target, GLenum pname,
+ const GLfloat *params );
+
+GLAPI void GLAPIENTRY glConvolutionParameteri( GLenum target, GLenum pname,
+ GLint params );
+
+GLAPI void GLAPIENTRY glConvolutionParameteriv( GLenum target, GLenum pname,
+ const GLint *params );
+
+GLAPI void GLAPIENTRY glCopyConvolutionFilter1D( GLenum target,
+ GLenum internalformat, GLint x, GLint y, GLsizei width );
+
+GLAPI void GLAPIENTRY glCopyConvolutionFilter2D( GLenum target,
+ GLenum internalformat, GLint x, GLint y, GLsizei width,
+ GLsizei height);
+
+GLAPI void GLAPIENTRY glGetConvolutionFilter( GLenum target, GLenum format,
+ GLenum type, GLvoid *image );
+
+GLAPI void GLAPIENTRY glGetConvolutionParameterfv( GLenum target, GLenum pname,
+ GLfloat *params );
+
+GLAPI void GLAPIENTRY glGetConvolutionParameteriv( GLenum target, GLenum pname,
+ GLint *params );
+
+GLAPI void GLAPIENTRY glSeparableFilter2D( GLenum target,
+ GLenum internalformat, GLsizei width, GLsizei height, GLenum format,
+ GLenum type, const GLvoid *row, const GLvoid *column );
+
+GLAPI void GLAPIENTRY glGetSeparableFilter( GLenum target, GLenum format,
+ GLenum type, GLvoid *row, GLvoid *column, GLvoid *span );
+
+typedef void (APIENTRYP PFNGLBLENDCOLORPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
+typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);
+
+
+
+/*
+ * OpenGL 1.3
+ */
+
+/* multitexture */
+#define GL_TEXTURE0 0x84C0
+#define GL_TEXTURE1 0x84C1
+#define GL_TEXTURE2 0x84C2
+#define GL_TEXTURE3 0x84C3
+#define GL_TEXTURE4 0x84C4
+#define GL_TEXTURE5 0x84C5
+#define GL_TEXTURE6 0x84C6
+#define GL_TEXTURE7 0x84C7
+#define GL_TEXTURE8 0x84C8
+#define GL_TEXTURE9 0x84C9
+#define GL_TEXTURE10 0x84CA
+#define GL_TEXTURE11 0x84CB
+#define GL_TEXTURE12 0x84CC
+#define GL_TEXTURE13 0x84CD
+#define GL_TEXTURE14 0x84CE
+#define GL_TEXTURE15 0x84CF
+#define GL_TEXTURE16 0x84D0
+#define GL_TEXTURE17 0x84D1
+#define GL_TEXTURE18 0x84D2
+#define GL_TEXTURE19 0x84D3
+#define GL_TEXTURE20 0x84D4
+#define GL_TEXTURE21 0x84D5
+#define GL_TEXTURE22 0x84D6
+#define GL_TEXTURE23 0x84D7
+#define GL_TEXTURE24 0x84D8
+#define GL_TEXTURE25 0x84D9
+#define GL_TEXTURE26 0x84DA
+#define GL_TEXTURE27 0x84DB
+#define GL_TEXTURE28 0x84DC
+#define GL_TEXTURE29 0x84DD
+#define GL_TEXTURE30 0x84DE
+#define GL_TEXTURE31 0x84DF
+#define GL_ACTIVE_TEXTURE 0x84E0
+#define GL_CLIENT_ACTIVE_TEXTURE 0x84E1
+#define GL_MAX_TEXTURE_UNITS 0x84E2
+/* texture_cube_map */
+#define GL_NORMAL_MAP 0x8511
+#define GL_REFLECTION_MAP 0x8512
+#define GL_TEXTURE_CUBE_MAP 0x8513
+#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
+#define GL_PROXY_TEXTURE_CUBE_MAP 0x851B
+#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
+/* texture_compression */
+#define GL_COMPRESSED_ALPHA 0x84E9
+#define GL_COMPRESSED_LUMINANCE 0x84EA
+#define GL_COMPRESSED_LUMINANCE_ALPHA 0x84EB
+#define GL_COMPRESSED_INTENSITY 0x84EC
+#define GL_COMPRESSED_RGB 0x84ED
+#define GL_COMPRESSED_RGBA 0x84EE
+#define GL_TEXTURE_COMPRESSION_HINT 0x84EF
+#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0
+#define GL_TEXTURE_COMPRESSED 0x86A1
+#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
+#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
+/* multisample */
+#define GL_MULTISAMPLE 0x809D
+#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
+#define GL_SAMPLE_ALPHA_TO_ONE 0x809F
+#define GL_SAMPLE_COVERAGE 0x80A0
+#define GL_SAMPLE_BUFFERS 0x80A8
+#define GL_SAMPLES 0x80A9
+#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
+#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
+#define GL_MULTISAMPLE_BIT 0x20000000
+/* transpose_matrix */
+#define GL_TRANSPOSE_MODELVIEW_MATRIX 0x84E3
+#define GL_TRANSPOSE_PROJECTION_MATRIX 0x84E4
+#define GL_TRANSPOSE_TEXTURE_MATRIX 0x84E5
+#define GL_TRANSPOSE_COLOR_MATRIX 0x84E6
+/* texture_env_combine */
+#define GL_COMBINE 0x8570
+#define GL_COMBINE_RGB 0x8571
+#define GL_COMBINE_ALPHA 0x8572
+#define GL_SOURCE0_RGB 0x8580
+#define GL_SOURCE1_RGB 0x8581
+#define GL_SOURCE2_RGB 0x8582
+#define GL_SOURCE0_ALPHA 0x8588
+#define GL_SOURCE1_ALPHA 0x8589
+#define GL_SOURCE2_ALPHA 0x858A
+#define GL_OPERAND0_RGB 0x8590
+#define GL_OPERAND1_RGB 0x8591
+#define GL_OPERAND2_RGB 0x8592
+#define GL_OPERAND0_ALPHA 0x8598
+#define GL_OPERAND1_ALPHA 0x8599
+#define GL_OPERAND2_ALPHA 0x859A
+#define GL_RGB_SCALE 0x8573
+#define GL_ADD_SIGNED 0x8574
+#define GL_INTERPOLATE 0x8575
+#define GL_SUBTRACT 0x84E7
+#define GL_CONSTANT 0x8576
+#define GL_PRIMARY_COLOR 0x8577
+#define GL_PREVIOUS 0x8578
+/* texture_env_dot3 */
+#define GL_DOT3_RGB 0x86AE
+#define GL_DOT3_RGBA 0x86AF
+/* texture_border_clamp */
+#define GL_CLAMP_TO_BORDER 0x812D
+
+GLAPI void GLAPIENTRY glActiveTexture( GLenum texture );
+
+GLAPI void GLAPIENTRY glClientActiveTexture( GLenum texture );
+
+GLAPI void GLAPIENTRY glCompressedTexImage1D( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data );
+
+GLAPI void GLAPIENTRY glCompressedTexImage2D( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data );
+
+GLAPI void GLAPIENTRY glCompressedTexImage3D( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data );
+
+GLAPI void GLAPIENTRY glCompressedTexSubImage1D( GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data );
+
+GLAPI void GLAPIENTRY glCompressedTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data );
+
+GLAPI void GLAPIENTRY glCompressedTexSubImage3D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data );
+
+GLAPI void GLAPIENTRY glGetCompressedTexImage( GLenum target, GLint lod, GLvoid *img );
+
+GLAPI void GLAPIENTRY glMultiTexCoord1d( GLenum target, GLdouble s );
+
+GLAPI void GLAPIENTRY glMultiTexCoord1dv( GLenum target, const GLdouble *v );
+
+GLAPI void GLAPIENTRY glMultiTexCoord1f( GLenum target, GLfloat s );
+
+GLAPI void GLAPIENTRY glMultiTexCoord1fv( GLenum target, const GLfloat *v );
+
+GLAPI void GLAPIENTRY glMultiTexCoord1i( GLenum target, GLint s );
+
+GLAPI void GLAPIENTRY glMultiTexCoord1iv( GLenum target, const GLint *v );
+
+GLAPI void GLAPIENTRY glMultiTexCoord1s( GLenum target, GLshort s );
+
+GLAPI void GLAPIENTRY glMultiTexCoord1sv( GLenum target, const GLshort *v );
+
+GLAPI void GLAPIENTRY glMultiTexCoord2d( GLenum target, GLdouble s, GLdouble t );
+
+GLAPI void GLAPIENTRY glMultiTexCoord2dv( GLenum target, const GLdouble *v );
+
+GLAPI void GLAPIENTRY glMultiTexCoord2f( GLenum target, GLfloat s, GLfloat t );
+
+GLAPI void GLAPIENTRY glMultiTexCoord2fv( GLenum target, const GLfloat *v );
+
+GLAPI void GLAPIENTRY glMultiTexCoord2i( GLenum target, GLint s, GLint t );
+
+GLAPI void GLAPIENTRY glMultiTexCoord2iv( GLenum target, const GLint *v );
+
+GLAPI void GLAPIENTRY glMultiTexCoord2s( GLenum target, GLshort s, GLshort t );
+
+GLAPI void GLAPIENTRY glMultiTexCoord2sv( GLenum target, const GLshort *v );
+
+GLAPI void GLAPIENTRY glMultiTexCoord3d( GLenum target, GLdouble s, GLdouble t, GLdouble r );
+
+GLAPI void GLAPIENTRY glMultiTexCoord3dv( GLenum target, const GLdouble *v );
+
+GLAPI void GLAPIENTRY glMultiTexCoord3f( GLenum target, GLfloat s, GLfloat t, GLfloat r );
+
+GLAPI void GLAPIENTRY glMultiTexCoord3fv( GLenum target, const GLfloat *v );
+
+GLAPI void GLAPIENTRY glMultiTexCoord3i( GLenum target, GLint s, GLint t, GLint r );
+
+GLAPI void GLAPIENTRY glMultiTexCoord3iv( GLenum target, const GLint *v );
+
+GLAPI void GLAPIENTRY glMultiTexCoord3s( GLenum target, GLshort s, GLshort t, GLshort r );
+
+GLAPI void GLAPIENTRY glMultiTexCoord3sv( GLenum target, const GLshort *v );
+
+GLAPI void GLAPIENTRY glMultiTexCoord4d( GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q );
+
+GLAPI void GLAPIENTRY glMultiTexCoord4dv( GLenum target, const GLdouble *v );
+
+GLAPI void GLAPIENTRY glMultiTexCoord4f( GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q );
+
+GLAPI void GLAPIENTRY glMultiTexCoord4fv( GLenum target, const GLfloat *v );
+
+GLAPI void GLAPIENTRY glMultiTexCoord4i( GLenum target, GLint s, GLint t, GLint r, GLint q );
+
+GLAPI void GLAPIENTRY glMultiTexCoord4iv( GLenum target, const GLint *v );
+
+GLAPI void GLAPIENTRY glMultiTexCoord4s( GLenum target, GLshort s, GLshort t, GLshort r, GLshort q );
+
+GLAPI void GLAPIENTRY glMultiTexCoord4sv( GLenum target, const GLshort *v );
+
+
+GLAPI void GLAPIENTRY glLoadTransposeMatrixd( const GLdouble m[16] );
+
+GLAPI void GLAPIENTRY glLoadTransposeMatrixf( const GLfloat m[16] );
+
+GLAPI void GLAPIENTRY glMultTransposeMatrixd( const GLdouble m[16] );
+
+GLAPI void GLAPIENTRY glMultTransposeMatrixf( const GLfloat m[16] );
+
+GLAPI void GLAPIENTRY glSampleCoverage( GLclampf value, GLboolean invert );
+
+
+typedef void (APIENTRYP PFNGLACTIVETEXTUREPROC) (GLenum texture);
+typedef void (APIENTRYP PFNGLSAMPLECOVERAGEPROC) (GLclampf value, GLboolean invert);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
+typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint level, GLvoid *img);
+
+
+
+/*
+ * GL_ARB_multitexture (ARB extension 1 and OpenGL 1.2.1)
+ */
+#ifndef GL_ARB_multitexture
+#define GL_ARB_multitexture 1
+
+#define GL_TEXTURE0_ARB 0x84C0
+#define GL_TEXTURE1_ARB 0x84C1
+#define GL_TEXTURE2_ARB 0x84C2
+#define GL_TEXTURE3_ARB 0x84C3
+#define GL_TEXTURE4_ARB 0x84C4
+#define GL_TEXTURE5_ARB 0x84C5
+#define GL_TEXTURE6_ARB 0x84C6
+#define GL_TEXTURE7_ARB 0x84C7
+#define GL_TEXTURE8_ARB 0x84C8
+#define GL_TEXTURE9_ARB 0x84C9
+#define GL_TEXTURE10_ARB 0x84CA
+#define GL_TEXTURE11_ARB 0x84CB
+#define GL_TEXTURE12_ARB 0x84CC
+#define GL_TEXTURE13_ARB 0x84CD
+#define GL_TEXTURE14_ARB 0x84CE
+#define GL_TEXTURE15_ARB 0x84CF
+#define GL_TEXTURE16_ARB 0x84D0
+#define GL_TEXTURE17_ARB 0x84D1
+#define GL_TEXTURE18_ARB 0x84D2
+#define GL_TEXTURE19_ARB 0x84D3
+#define GL_TEXTURE20_ARB 0x84D4
+#define GL_TEXTURE21_ARB 0x84D5
+#define GL_TEXTURE22_ARB 0x84D6
+#define GL_TEXTURE23_ARB 0x84D7
+#define GL_TEXTURE24_ARB 0x84D8
+#define GL_TEXTURE25_ARB 0x84D9
+#define GL_TEXTURE26_ARB 0x84DA
+#define GL_TEXTURE27_ARB 0x84DB
+#define GL_TEXTURE28_ARB 0x84DC
+#define GL_TEXTURE29_ARB 0x84DD
+#define GL_TEXTURE30_ARB 0x84DE
+#define GL_TEXTURE31_ARB 0x84DF
+#define GL_ACTIVE_TEXTURE_ARB 0x84E0
+#define GL_CLIENT_ACTIVE_TEXTURE_ARB 0x84E1
+#define GL_MAX_TEXTURE_UNITS_ARB 0x84E2
+
+GLAPI void GLAPIENTRY glActiveTextureARB(GLenum texture);
+GLAPI void GLAPIENTRY glClientActiveTextureARB(GLenum texture);
+GLAPI void GLAPIENTRY glMultiTexCoord1dARB(GLenum target, GLdouble s);
+GLAPI void GLAPIENTRY glMultiTexCoord1dvARB(GLenum target, const GLdouble *v);
+GLAPI void GLAPIENTRY glMultiTexCoord1fARB(GLenum target, GLfloat s);
+GLAPI void GLAPIENTRY glMultiTexCoord1fvARB(GLenum target, const GLfloat *v);
+GLAPI void GLAPIENTRY glMultiTexCoord1iARB(GLenum target, GLint s);
+GLAPI void GLAPIENTRY glMultiTexCoord1ivARB(GLenum target, const GLint *v);
+GLAPI void GLAPIENTRY glMultiTexCoord1sARB(GLenum target, GLshort s);
+GLAPI void GLAPIENTRY glMultiTexCoord1svARB(GLenum target, const GLshort *v);
+GLAPI void GLAPIENTRY glMultiTexCoord2dARB(GLenum target, GLdouble s, GLdouble t);
+GLAPI void GLAPIENTRY glMultiTexCoord2dvARB(GLenum target, const GLdouble *v);
+GLAPI void GLAPIENTRY glMultiTexCoord2fARB(GLenum target, GLfloat s, GLfloat t);
+GLAPI void GLAPIENTRY glMultiTexCoord2fvARB(GLenum target, const GLfloat *v);
+GLAPI void GLAPIENTRY glMultiTexCoord2iARB(GLenum target, GLint s, GLint t);
+GLAPI void GLAPIENTRY glMultiTexCoord2ivARB(GLenum target, const GLint *v);
+GLAPI void GLAPIENTRY glMultiTexCoord2sARB(GLenum target, GLshort s, GLshort t);
+GLAPI void GLAPIENTRY glMultiTexCoord2svARB(GLenum target, const GLshort *v);
+GLAPI void GLAPIENTRY glMultiTexCoord3dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r);
+GLAPI void GLAPIENTRY glMultiTexCoord3dvARB(GLenum target, const GLdouble *v);
+GLAPI void GLAPIENTRY glMultiTexCoord3fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r);
+GLAPI void GLAPIENTRY glMultiTexCoord3fvARB(GLenum target, const GLfloat *v);
+GLAPI void GLAPIENTRY glMultiTexCoord3iARB(GLenum target, GLint s, GLint t, GLint r);
+GLAPI void GLAPIENTRY glMultiTexCoord3ivARB(GLenum target, const GLint *v);
+GLAPI void GLAPIENTRY glMultiTexCoord3sARB(GLenum target, GLshort s, GLshort t, GLshort r);
+GLAPI void GLAPIENTRY glMultiTexCoord3svARB(GLenum target, const GLshort *v);
+GLAPI void GLAPIENTRY glMultiTexCoord4dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
+GLAPI void GLAPIENTRY glMultiTexCoord4dvARB(GLenum target, const GLdouble *v);
+GLAPI void GLAPIENTRY glMultiTexCoord4fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
+GLAPI void GLAPIENTRY glMultiTexCoord4fvARB(GLenum target, const GLfloat *v);
+GLAPI void GLAPIENTRY glMultiTexCoord4iARB(GLenum target, GLint s, GLint t, GLint r, GLint q);
+GLAPI void GLAPIENTRY glMultiTexCoord4ivARB(GLenum target, const GLint *v);
+GLAPI void GLAPIENTRY glMultiTexCoord4sARB(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
+GLAPI void GLAPIENTRY glMultiTexCoord4svARB(GLenum target, const GLshort *v);
+
+typedef void (APIENTRYP PFNGLACTIVETEXTUREARBPROC) (GLenum texture);
+typedef void (APIENTRYP PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1DARBPROC) (GLenum target, GLdouble s);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1DVARBPROC) (GLenum target, const GLdouble *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const GLfloat *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1IARBPROC) (GLenum target, GLint s);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1IVARBPROC) (GLenum target, const GLint *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1SARBPROC) (GLenum target, GLshort s);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1SVARBPROC) (GLenum target, const GLshort *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2DARBPROC) (GLenum target, GLdouble s, GLdouble t);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2DVARBPROC) (GLenum target, const GLdouble *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2IARBPROC) (GLenum target, GLint s, GLint t);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2IVARBPROC) (GLenum target, const GLint *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2SARBPROC) (GLenum target, GLshort s, GLshort t);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2SVARBPROC) (GLenum target, const GLshort *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3DVARBPROC) (GLenum target, const GLdouble *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3FVARBPROC) (GLenum target, const GLfloat *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3IARBPROC) (GLenum target, GLint s, GLint t, GLint r);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3IVARBPROC) (GLenum target, const GLint *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3SVARBPROC) (GLenum target, const GLshort *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4DVARBPROC) (GLenum target, const GLdouble *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4IARBPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4IVARBPROC) (GLenum target, const GLint *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort *v);
+
+#endif /* GL_ARB_multitexture */
+
+
+
+/*
+ * Define this token if you want "old-style" header file behaviour (extensions
+ * defined in gl.h). Otherwise, extensions will be included from glext.h.
+ */
+#if defined(GL_GLEXT_LEGACY)
+
+/* All extensions that used to be here are now found in glext.h */
+
+#else /* GL_GLEXT_LEGACY */
+
+#include <GL/glext.h>
+
+#endif /* GL_GLEXT_LEGACY */
+
+
+
+#if GL_ARB_shader_objects
+
+#ifndef GL_MESA_shader_debug
+#define GL_MESA_shader_debug 1
+
+#define GL_DEBUG_OBJECT_MESA 0x8759
+#define GL_DEBUG_PRINT_MESA 0x875A
+#define GL_DEBUG_ASSERT_MESA 0x875B
+
+GLAPI GLhandleARB GLAPIENTRY glCreateDebugObjectMESA (void);
+GLAPI void GLAPIENTRY glClearDebugLogMESA (GLhandleARB obj, GLenum logType, GLenum shaderType);
+GLAPI void GLAPIENTRY glGetDebugLogMESA (GLhandleARB obj, GLenum logType, GLenum shaderType, GLsizei maxLength,
+ GLsizei *length, GLcharARB *debugLog);
+GLAPI GLsizei GLAPIENTRY glGetDebugLogLengthMESA (GLhandleARB obj, GLenum logType, GLenum shaderType);
+
+#endif /* GL_MESA_shader_debug */
+
+#endif /* GL_ARB_shader_objects */
+
+
+/*
+ * ???. GL_MESA_packed_depth_stencil
+ * XXX obsolete
+ */
+#ifndef GL_MESA_packed_depth_stencil
+#define GL_MESA_packed_depth_stencil 1
+
+#define GL_DEPTH_STENCIL_MESA 0x8750
+#define GL_UNSIGNED_INT_24_8_MESA 0x8751
+#define GL_UNSIGNED_INT_8_24_REV_MESA 0x8752
+#define GL_UNSIGNED_SHORT_15_1_MESA 0x8753
+#define GL_UNSIGNED_SHORT_1_15_REV_MESA 0x8754
+
+#endif /* GL_MESA_packed_depth_stencil */
+
+
+#ifndef GL_MESA_program_debug
+#define GL_MESA_program_debug 1
+
+#define GL_FRAGMENT_PROGRAM_POSITION_MESA 0x8bb0
+#define GL_FRAGMENT_PROGRAM_CALLBACK_MESA 0x8bb1
+#define GL_FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA 0x8bb2
+#define GL_FRAGMENT_PROGRAM_CALLBACK_DATA_MESA 0x8bb3
+#define GL_VERTEX_PROGRAM_POSITION_MESA 0x8bb4
+#define GL_VERTEX_PROGRAM_CALLBACK_MESA 0x8bb5
+#define GL_VERTEX_PROGRAM_CALLBACK_FUNC_MESA 0x8bb6
+#define GL_VERTEX_PROGRAM_CALLBACK_DATA_MESA 0x8bb7
+
+typedef void (*GLprogramcallbackMESA)(GLenum target, GLvoid *data);
+
+GLAPI void GLAPIENTRY glProgramCallbackMESA(GLenum target, GLprogramcallbackMESA callback, GLvoid *data);
+
+GLAPI void GLAPIENTRY glGetProgramRegisterfvMESA(GLenum target, GLsizei len, const GLubyte *name, GLfloat *v);
+
+#endif /* GL_MESA_program_debug */
+
+
+#ifndef GL_MESA_texture_array
+#define GL_MESA_texture_array 1
+
+/* GL_MESA_texture_array uses the same enum values as GL_EXT_texture_array.
+ */
+#ifndef GL_EXT_texture_array
+
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glFramebufferTextureLayerEXT(GLenum target,
+ GLenum attachment, GLuint texture, GLint level, GLint layer);
+#endif /* GL_GLEXT_PROTOTYPES */
+
+#if 0
+/* (temporarily) disabled because of collision with typedef in glext.h
+ * that happens if apps include both gl.h and glext.h
+ */
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC) (GLenum target,
+ GLenum attachment, GLuint texture, GLint level, GLint layer);
+#endif
+
+#define GL_TEXTURE_1D_ARRAY_EXT 0x8C18
+#define GL_PROXY_TEXTURE_1D_ARRAY_EXT 0x8C19
+#define GL_TEXTURE_2D_ARRAY_EXT 0x8C1A
+#define GL_PROXY_TEXTURE_2D_ARRAY_EXT 0x8C1B
+#define GL_TEXTURE_BINDING_1D_ARRAY_EXT 0x8C1C
+#define GL_TEXTURE_BINDING_2D_ARRAY_EXT 0x8C1D
+#define GL_MAX_ARRAY_TEXTURE_LAYERS_EXT 0x88FF
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT 0x8CD4
+#endif
+
+#endif
+
+
+#ifndef GL_ATI_blend_equation_separate
+#define GL_ATI_blend_equation_separate 1
+
+#define GL_ALPHA_BLEND_EQUATION_ATI 0x883D
+
+GLAPI void GLAPIENTRY glBlendEquationSeparateATI( GLenum modeRGB, GLenum modeA );
+typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEATIPROC) (GLenum modeRGB, GLenum modeA);
+
+#endif /* GL_ATI_blend_equation_separate */
+
+
+/* GL_OES_EGL_image */
+#ifndef GL_OES_EGL_image
+typedef void* GLeglImageOES;
+#endif
+
+#ifndef GL_OES_EGL_image
+#define GL_OES_EGL_image 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
+GLAPI void APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
+#endif
+typedef void (APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
+typedef void (APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
+#endif
+
+
+/**
+ ** NOTE!!!!! If you add new functions to this file, or update
+ ** glext.h be sure to regenerate the gl_mangle.h file. See comments
+ ** in that file for details.
+ **/
+
+
+
+/**********************************************************************
+ * Begin system-specific stuff
+ */
+#if defined(PRAGMA_EXPORT_SUPPORTED)
+#pragma export off
+#endif
+
+#if defined(macintosh) && PRAGMA_IMPORT_SUPPORTED
+#pragma import off
+#endif
+/*
+ * End system-specific stuff
+ **********************************************************************/
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __gl_h_ */
diff --git a/stream-servers/apigen-codec-common/GL/gl_mangle.h b/stream-servers/apigen-codec-common/GL/gl_mangle.h
new file mode 100644
index 0000000..3684803
--- /dev/null
+++ b/stream-servers/apigen-codec-common/GL/gl_mangle.h
@@ -0,0 +1,2311 @@
+#if 0
+#define GL_MANGLE_C1 "DO NOT EDIT!!! - TO REGENERATE from gl.h, EXECUTE THIS FILE IN SHELL (/bin/sh) and save the output"
+#define GL_MANGLE_C2 "This file is used to create GL function protypes and aliases for the function names"
+ files="gl.h glext.h"
+#define GL_MANGLE_C3 "get regeneration header - copy everything in this file above the 'REGENERATE_TO_END' line"
+ awk '!done; /^\/\*REGENERATE_TO_END/ {done=1}' $0
+ echo ""
+#define GL_MANGLE_C4 get aliases
+ grep '^GLAPI' $files | sed -e 's/.*ENTRY gl\([^( ]*\).*$/#define gl\1 MANGLE(\1)/' | sort | uniq
+ echo ""
+ echo "#endif /* GL_MANGLE_H */"
+ exit
+#endif /* REGENERATION */
+
+/*
+ * If you compile Mesa with USE_MGL_NAMESPACE defined then you can link
+ * your application both with OpenGL and Mesa. The Mesa functions will
+ * be redefined so they are prefixed with "mgl" instead of "gl".
+ * Mgl contributed by Randy Frank ([email protected])
+ * Regneration code contributed by Ray Tice ([email protected])
+ */
+
+#ifndef GL_MANGLE_H
+#define GL_MANGLE_H
+
+#ifndef MANGLE
+#define MANGLE(x) mgl##x
+#endif /*MANGLE*/
+
+/*REGENERATE_TO_END-----------ALL LINES BELOW HERE GET REPLACED ON REGENERATION */
+
+#define glAccum MANGLE(Accum)
+#define glActiveProgramEXT MANGLE(ActiveProgramEXT)
+#define glActiveShaderProgram MANGLE(ActiveShaderProgram)
+#define glActiveStencilFaceEXT MANGLE(ActiveStencilFaceEXT)
+#define glActiveTextureARB MANGLE(ActiveTextureARB)
+#define glActiveTexture MANGLE(ActiveTexture)
+#define glActiveVaryingNV MANGLE(ActiveVaryingNV)
+#define glAlphaFragmentOp1ATI MANGLE(AlphaFragmentOp1ATI)
+#define glAlphaFragmentOp2ATI MANGLE(AlphaFragmentOp2ATI)
+#define glAlphaFragmentOp3ATI MANGLE(AlphaFragmentOp3ATI)
+#define glAlphaFunc MANGLE(AlphaFunc)
+#define glApplyTextureEXT MANGLE(ApplyTextureEXT)
+#define glAreProgramsResidentNV MANGLE(AreProgramsResidentNV)
+#define glAreTexturesResidentEXT MANGLE(AreTexturesResidentEXT)
+#define glAreTexturesResident MANGLE(AreTexturesResident)
+#define glArrayElementEXT MANGLE(ArrayElementEXT)
+#define glArrayElement MANGLE(ArrayElement)
+#define glArrayObjectATI MANGLE(ArrayObjectATI)
+#define glAsyncMarkerSGIX MANGLE(AsyncMarkerSGIX)
+#define glAttachObjectARB MANGLE(AttachObjectARB)
+#define glAttachShader MANGLE(AttachShader)
+#define glBeginConditionalRender MANGLE(BeginConditionalRender)
+#define glBeginConditionalRenderNV MANGLE(BeginConditionalRenderNV)
+#define glBeginFragmentShaderATI MANGLE(BeginFragmentShaderATI)
+#define glBegin MANGLE(Begin)
+#define glBeginOcclusionQueryNV MANGLE(BeginOcclusionQueryNV)
+#define glBeginPerfMonitorAMD MANGLE(BeginPerfMonitorAMD)
+#define glBeginQueryARB MANGLE(BeginQueryARB)
+#define glBeginQueryIndexed MANGLE(BeginQueryIndexed)
+#define glBeginQuery MANGLE(BeginQuery)
+#define glBeginTransformFeedbackEXT MANGLE(BeginTransformFeedbackEXT)
+#define glBeginTransformFeedback MANGLE(BeginTransformFeedback)
+#define glBeginTransformFeedbackNV MANGLE(BeginTransformFeedbackNV)
+#define glBeginVertexShaderEXT MANGLE(BeginVertexShaderEXT)
+#define glBeginVideoCaptureNV MANGLE(BeginVideoCaptureNV)
+#define glBindAttribLocationARB MANGLE(BindAttribLocationARB)
+#define glBindAttribLocation MANGLE(BindAttribLocation)
+#define glBindBufferARB MANGLE(BindBufferARB)
+#define glBindBufferBaseEXT MANGLE(BindBufferBaseEXT)
+#define glBindBufferBase MANGLE(BindBufferBase)
+#define glBindBufferBaseNV MANGLE(BindBufferBaseNV)
+#define glBindBuffer MANGLE(BindBuffer)
+#define glBindBufferOffsetEXT MANGLE(BindBufferOffsetEXT)
+#define glBindBufferOffsetNV MANGLE(BindBufferOffsetNV)
+#define glBindBufferRangeEXT MANGLE(BindBufferRangeEXT)
+#define glBindBufferRange MANGLE(BindBufferRange)
+#define glBindBufferRangeNV MANGLE(BindBufferRangeNV)
+#define glBindFragDataLocationEXT MANGLE(BindFragDataLocationEXT)
+#define glBindFragDataLocationIndexed MANGLE(BindFragDataLocationIndexed)
+#define glBindFragDataLocation MANGLE(BindFragDataLocation)
+#define glBindFragmentShaderATI MANGLE(BindFragmentShaderATI)
+#define glBindFramebufferEXT MANGLE(BindFramebufferEXT)
+#define glBindFramebuffer MANGLE(BindFramebuffer)
+#define glBindImageTextureEXT MANGLE(BindImageTextureEXT)
+#define glBindLightParameterEXT MANGLE(BindLightParameterEXT)
+#define glBindMaterialParameterEXT MANGLE(BindMaterialParameterEXT)
+#define glBindMultiTextureEXT MANGLE(BindMultiTextureEXT)
+#define glBindParameterEXT MANGLE(BindParameterEXT)
+#define glBindProgramARB MANGLE(BindProgramARB)
+#define glBindProgramNV MANGLE(BindProgramNV)
+#define glBindProgramPipeline MANGLE(BindProgramPipeline)
+#define glBindRenderbufferEXT MANGLE(BindRenderbufferEXT)
+#define glBindRenderbuffer MANGLE(BindRenderbuffer)
+#define glBindSampler MANGLE(BindSampler)
+#define glBindTexGenParameterEXT MANGLE(BindTexGenParameterEXT)
+#define glBindTextureEXT MANGLE(BindTextureEXT)
+#define glBindTexture MANGLE(BindTexture)
+#define glBindTextureUnitParameterEXT MANGLE(BindTextureUnitParameterEXT)
+#define glBindTransformFeedback MANGLE(BindTransformFeedback)
+#define glBindTransformFeedbackNV MANGLE(BindTransformFeedbackNV)
+#define glBindVertexArrayAPPLE MANGLE(BindVertexArrayAPPLE)
+#define glBindVertexArray MANGLE(BindVertexArray)
+#define glBindVertexShaderEXT MANGLE(BindVertexShaderEXT)
+#define glBindVideoCaptureStreamBufferNV MANGLE(BindVideoCaptureStreamBufferNV)
+#define glBindVideoCaptureStreamTextureNV MANGLE(BindVideoCaptureStreamTextureNV)
+#define glBinormal3bEXT MANGLE(Binormal3bEXT)
+#define glBinormal3bvEXT MANGLE(Binormal3bvEXT)
+#define glBinormal3dEXT MANGLE(Binormal3dEXT)
+#define glBinormal3dvEXT MANGLE(Binormal3dvEXT)
+#define glBinormal3fEXT MANGLE(Binormal3fEXT)
+#define glBinormal3fvEXT MANGLE(Binormal3fvEXT)
+#define glBinormal3iEXT MANGLE(Binormal3iEXT)
+#define glBinormal3ivEXT MANGLE(Binormal3ivEXT)
+#define glBinormal3sEXT MANGLE(Binormal3sEXT)
+#define glBinormal3svEXT MANGLE(Binormal3svEXT)
+#define glBinormalPointerEXT MANGLE(BinormalPointerEXT)
+#define glBitmap MANGLE(Bitmap)
+#define glBlendColorEXT MANGLE(BlendColorEXT)
+#define glBlendColor MANGLE(BlendColor)
+#define glBlendEquationEXT MANGLE(BlendEquationEXT)
+#define glBlendEquationiARB MANGLE(BlendEquationiARB)
+#define glBlendEquationi MANGLE(BlendEquationi)
+#define glBlendEquationIndexedAMD MANGLE(BlendEquationIndexedAMD)
+#define glBlendEquation MANGLE(BlendEquation)
+#define glBlendEquationSeparateATI MANGLE(BlendEquationSeparateATI)
+#define glBlendEquationSeparateEXT MANGLE(BlendEquationSeparateEXT)
+#define glBlendEquationSeparateiARB MANGLE(BlendEquationSeparateiARB)
+#define glBlendEquationSeparatei MANGLE(BlendEquationSeparatei)
+#define glBlendEquationSeparateIndexedAMD MANGLE(BlendEquationSeparateIndexedAMD)
+#define glBlendEquationSeparate MANGLE(BlendEquationSeparate)
+#define glBlendFunciARB MANGLE(BlendFunciARB)
+#define glBlendFunci MANGLE(BlendFunci)
+#define glBlendFuncIndexedAMD MANGLE(BlendFuncIndexedAMD)
+#define glBlendFunc MANGLE(BlendFunc)
+#define glBlendFuncSeparateEXT MANGLE(BlendFuncSeparateEXT)
+#define glBlendFuncSeparateiARB MANGLE(BlendFuncSeparateiARB)
+#define glBlendFuncSeparatei MANGLE(BlendFuncSeparatei)
+#define glBlendFuncSeparateIndexedAMD MANGLE(BlendFuncSeparateIndexedAMD)
+#define glBlendFuncSeparateINGR MANGLE(BlendFuncSeparateINGR)
+#define glBlendFuncSeparate MANGLE(BlendFuncSeparate)
+#define glBlitFramebufferEXT MANGLE(BlitFramebufferEXT)
+#define glBlitFramebuffer MANGLE(BlitFramebuffer)
+#define glBufferAddressRangeNV MANGLE(BufferAddressRangeNV)
+#define glBufferDataARB MANGLE(BufferDataARB)
+#define glBufferData MANGLE(BufferData)
+#define glBufferParameteriAPPLE MANGLE(BufferParameteriAPPLE)
+#define glBufferSubDataARB MANGLE(BufferSubDataARB)
+#define glBufferSubData MANGLE(BufferSubData)
+#define glCallList MANGLE(CallList)
+#define glCallLists MANGLE(CallLists)
+#define glCheckFramebufferStatusEXT MANGLE(CheckFramebufferStatusEXT)
+#define glCheckFramebufferStatus MANGLE(CheckFramebufferStatus)
+#define glCheckNamedFramebufferStatusEXT MANGLE(CheckNamedFramebufferStatusEXT)
+#define glClampColorARB MANGLE(ClampColorARB)
+#define glClampColor MANGLE(ClampColor)
+#define glClearAccum MANGLE(ClearAccum)
+#define glClearBufferfi MANGLE(ClearBufferfi)
+#define glClearBufferfv MANGLE(ClearBufferfv)
+#define glClearBufferiv MANGLE(ClearBufferiv)
+#define glClearBufferuiv MANGLE(ClearBufferuiv)
+#define glClearColorIiEXT MANGLE(ClearColorIiEXT)
+#define glClearColorIuiEXT MANGLE(ClearColorIuiEXT)
+#define glClearColor MANGLE(ClearColor)
+#define glClearDebugLogMESA MANGLE(ClearDebugLogMESA)
+#define glClearDepthdNV MANGLE(ClearDepthdNV)
+#define glClearDepthf MANGLE(ClearDepthf)
+#define glClearDepth MANGLE(ClearDepth)
+#define glClearIndex MANGLE(ClearIndex)
+#define glClear MANGLE(Clear)
+#define glClearStencil MANGLE(ClearStencil)
+#define glClientActiveTextureARB MANGLE(ClientActiveTextureARB)
+#define glClientActiveTexture MANGLE(ClientActiveTexture)
+#define glClientActiveVertexStreamATI MANGLE(ClientActiveVertexStreamATI)
+#define glClientAttribDefaultEXT MANGLE(ClientAttribDefaultEXT)
+#define glClientWaitSync MANGLE(ClientWaitSync)
+#define glClipPlane MANGLE(ClipPlane)
+#define glColor3b MANGLE(Color3b)
+#define glColor3bv MANGLE(Color3bv)
+#define glColor3d MANGLE(Color3d)
+#define glColor3dv MANGLE(Color3dv)
+#define glColor3f MANGLE(Color3f)
+#define glColor3fVertex3fSUN MANGLE(Color3fVertex3fSUN)
+#define glColor3fVertex3fvSUN MANGLE(Color3fVertex3fvSUN)
+#define glColor3fv MANGLE(Color3fv)
+#define glColor3hNV MANGLE(Color3hNV)
+#define glColor3hvNV MANGLE(Color3hvNV)
+#define glColor3i MANGLE(Color3i)
+#define glColor3iv MANGLE(Color3iv)
+#define glColor3s MANGLE(Color3s)
+#define glColor3sv MANGLE(Color3sv)
+#define glColor3ub MANGLE(Color3ub)
+#define glColor3ubv MANGLE(Color3ubv)
+#define glColor3ui MANGLE(Color3ui)
+#define glColor3uiv MANGLE(Color3uiv)
+#define glColor3us MANGLE(Color3us)
+#define glColor3usv MANGLE(Color3usv)
+#define glColor4b MANGLE(Color4b)
+#define glColor4bv MANGLE(Color4bv)
+#define glColor4d MANGLE(Color4d)
+#define glColor4dv MANGLE(Color4dv)
+#define glColor4f MANGLE(Color4f)
+#define glColor4fNormal3fVertex3fSUN MANGLE(Color4fNormal3fVertex3fSUN)
+#define glColor4fNormal3fVertex3fvSUN MANGLE(Color4fNormal3fVertex3fvSUN)
+#define glColor4fv MANGLE(Color4fv)
+#define glColor4hNV MANGLE(Color4hNV)
+#define glColor4hvNV MANGLE(Color4hvNV)
+#define glColor4i MANGLE(Color4i)
+#define glColor4iv MANGLE(Color4iv)
+#define glColor4s MANGLE(Color4s)
+#define glColor4sv MANGLE(Color4sv)
+#define glColor4ub MANGLE(Color4ub)
+#define glColor4ubVertex2fSUN MANGLE(Color4ubVertex2fSUN)
+#define glColor4ubVertex2fvSUN MANGLE(Color4ubVertex2fvSUN)
+#define glColor4ubVertex3fSUN MANGLE(Color4ubVertex3fSUN)
+#define glColor4ubVertex3fvSUN MANGLE(Color4ubVertex3fvSUN)
+#define glColor4ubv MANGLE(Color4ubv)
+#define glColor4ui MANGLE(Color4ui)
+#define glColor4uiv MANGLE(Color4uiv)
+#define glColor4us MANGLE(Color4us)
+#define glColor4usv MANGLE(Color4usv)
+#define glColorFormatNV MANGLE(ColorFormatNV)
+#define glColorFragmentOp1ATI MANGLE(ColorFragmentOp1ATI)
+#define glColorFragmentOp2ATI MANGLE(ColorFragmentOp2ATI)
+#define glColorFragmentOp3ATI MANGLE(ColorFragmentOp3ATI)
+#define glColorMaski MANGLE(ColorMaski)
+#define glColorMaskIndexedEXT MANGLE(ColorMaskIndexedEXT)
+#define glColorMask MANGLE(ColorMask)
+#define glColorMaterial MANGLE(ColorMaterial)
+#define glColorP3ui MANGLE(ColorP3ui)
+#define glColorP3uiv MANGLE(ColorP3uiv)
+#define glColorP4ui MANGLE(ColorP4ui)
+#define glColorP4uiv MANGLE(ColorP4uiv)
+#define glColorPointerEXT MANGLE(ColorPointerEXT)
+#define glColorPointerListIBM MANGLE(ColorPointerListIBM)
+#define glColorPointer MANGLE(ColorPointer)
+#define glColorPointervINTEL MANGLE(ColorPointervINTEL)
+#define glColorSubTableEXT MANGLE(ColorSubTableEXT)
+#define glColorSubTable MANGLE(ColorSubTable)
+#define glColorTableEXT MANGLE(ColorTableEXT)
+#define glColorTable MANGLE(ColorTable)
+#define glColorTableParameterfv MANGLE(ColorTableParameterfv)
+#define glColorTableParameterfvSGI MANGLE(ColorTableParameterfvSGI)
+#define glColorTableParameteriv MANGLE(ColorTableParameteriv)
+#define glColorTableParameterivSGI MANGLE(ColorTableParameterivSGI)
+#define glColorTableSGI MANGLE(ColorTableSGI)
+#define glCombinerInputNV MANGLE(CombinerInputNV)
+#define glCombinerOutputNV MANGLE(CombinerOutputNV)
+#define glCombinerParameterfNV MANGLE(CombinerParameterfNV)
+#define glCombinerParameterfvNV MANGLE(CombinerParameterfvNV)
+#define glCombinerParameteriNV MANGLE(CombinerParameteriNV)
+#define glCombinerParameterivNV MANGLE(CombinerParameterivNV)
+#define glCombinerStageParameterfvNV MANGLE(CombinerStageParameterfvNV)
+#define glCompileShaderARB MANGLE(CompileShaderARB)
+#define glCompileShaderIncludeARB MANGLE(CompileShaderIncludeARB)
+#define glCompileShader MANGLE(CompileShader)
+#define glCompressedMultiTexImage1DEXT MANGLE(CompressedMultiTexImage1DEXT)
+#define glCompressedMultiTexImage2DEXT MANGLE(CompressedMultiTexImage2DEXT)
+#define glCompressedMultiTexImage3DEXT MANGLE(CompressedMultiTexImage3DEXT)
+#define glCompressedMultiTexSubImage1DEXT MANGLE(CompressedMultiTexSubImage1DEXT)
+#define glCompressedMultiTexSubImage2DEXT MANGLE(CompressedMultiTexSubImage2DEXT)
+#define glCompressedMultiTexSubImage3DEXT MANGLE(CompressedMultiTexSubImage3DEXT)
+#define glCompressedTexImage1DARB MANGLE(CompressedTexImage1DARB)
+#define glCompressedTexImage1D MANGLE(CompressedTexImage1D)
+#define glCompressedTexImage2DARB MANGLE(CompressedTexImage2DARB)
+#define glCompressedTexImage2D MANGLE(CompressedTexImage2D)
+#define glCompressedTexImage3DARB MANGLE(CompressedTexImage3DARB)
+#define glCompressedTexImage3D MANGLE(CompressedTexImage3D)
+#define glCompressedTexSubImage1DARB MANGLE(CompressedTexSubImage1DARB)
+#define glCompressedTexSubImage1D MANGLE(CompressedTexSubImage1D)
+#define glCompressedTexSubImage2DARB MANGLE(CompressedTexSubImage2DARB)
+#define glCompressedTexSubImage2D MANGLE(CompressedTexSubImage2D)
+#define glCompressedTexSubImage3DARB MANGLE(CompressedTexSubImage3DARB)
+#define glCompressedTexSubImage3D MANGLE(CompressedTexSubImage3D)
+#define glCompressedTextureImage1DEXT MANGLE(CompressedTextureImage1DEXT)
+#define glCompressedTextureImage2DEXT MANGLE(CompressedTextureImage2DEXT)
+#define glCompressedTextureImage3DEXT MANGLE(CompressedTextureImage3DEXT)
+#define glCompressedTextureSubImage1DEXT MANGLE(CompressedTextureSubImage1DEXT)
+#define glCompressedTextureSubImage2DEXT MANGLE(CompressedTextureSubImage2DEXT)
+#define glCompressedTextureSubImage3DEXT MANGLE(CompressedTextureSubImage3DEXT)
+#define glConvolutionFilter1DEXT MANGLE(ConvolutionFilter1DEXT)
+#define glConvolutionFilter1D MANGLE(ConvolutionFilter1D)
+#define glConvolutionFilter2DEXT MANGLE(ConvolutionFilter2DEXT)
+#define glConvolutionFilter2D MANGLE(ConvolutionFilter2D)
+#define glConvolutionParameterfEXT MANGLE(ConvolutionParameterfEXT)
+#define glConvolutionParameterf MANGLE(ConvolutionParameterf)
+#define glConvolutionParameterfvEXT MANGLE(ConvolutionParameterfvEXT)
+#define glConvolutionParameterfv MANGLE(ConvolutionParameterfv)
+#define glConvolutionParameteriEXT MANGLE(ConvolutionParameteriEXT)
+#define glConvolutionParameteri MANGLE(ConvolutionParameteri)
+#define glConvolutionParameterivEXT MANGLE(ConvolutionParameterivEXT)
+#define glConvolutionParameteriv MANGLE(ConvolutionParameteriv)
+#define glCopyBufferSubData MANGLE(CopyBufferSubData)
+#define glCopyColorSubTableEXT MANGLE(CopyColorSubTableEXT)
+#define glCopyColorSubTable MANGLE(CopyColorSubTable)
+#define glCopyColorTable MANGLE(CopyColorTable)
+#define glCopyColorTableSGI MANGLE(CopyColorTableSGI)
+#define glCopyConvolutionFilter1DEXT MANGLE(CopyConvolutionFilter1DEXT)
+#define glCopyConvolutionFilter1D MANGLE(CopyConvolutionFilter1D)
+#define glCopyConvolutionFilter2DEXT MANGLE(CopyConvolutionFilter2DEXT)
+#define glCopyConvolutionFilter2D MANGLE(CopyConvolutionFilter2D)
+#define glCopyImageSubDataNV MANGLE(CopyImageSubDataNV)
+#define glCopyMultiTexImage1DEXT MANGLE(CopyMultiTexImage1DEXT)
+#define glCopyMultiTexImage2DEXT MANGLE(CopyMultiTexImage2DEXT)
+#define glCopyMultiTexSubImage1DEXT MANGLE(CopyMultiTexSubImage1DEXT)
+#define glCopyMultiTexSubImage2DEXT MANGLE(CopyMultiTexSubImage2DEXT)
+#define glCopyMultiTexSubImage3DEXT MANGLE(CopyMultiTexSubImage3DEXT)
+#define glCopyPixels MANGLE(CopyPixels)
+#define glCopyTexImage1DEXT MANGLE(CopyTexImage1DEXT)
+#define glCopyTexImage1D MANGLE(CopyTexImage1D)
+#define glCopyTexImage2DEXT MANGLE(CopyTexImage2DEXT)
+#define glCopyTexImage2D MANGLE(CopyTexImage2D)
+#define glCopyTexSubImage1DEXT MANGLE(CopyTexSubImage1DEXT)
+#define glCopyTexSubImage1D MANGLE(CopyTexSubImage1D)
+#define glCopyTexSubImage2DEXT MANGLE(CopyTexSubImage2DEXT)
+#define glCopyTexSubImage2D MANGLE(CopyTexSubImage2D)
+#define glCopyTexSubImage3DEXT MANGLE(CopyTexSubImage3DEXT)
+#define glCopyTexSubImage3D MANGLE(CopyTexSubImage3D)
+#define glCopyTextureImage1DEXT MANGLE(CopyTextureImage1DEXT)
+#define glCopyTextureImage2DEXT MANGLE(CopyTextureImage2DEXT)
+#define glCopyTextureSubImage1DEXT MANGLE(CopyTextureSubImage1DEXT)
+#define glCopyTextureSubImage2DEXT MANGLE(CopyTextureSubImage2DEXT)
+#define glCopyTextureSubImage3DEXT MANGLE(CopyTextureSubImage3DEXT)
+#define glCreateDebugObjectMESA MANGLE(CreateDebugObjectMESA)
+#define glCreateProgram MANGLE(CreateProgram)
+#define glCreateProgramObjectARB MANGLE(CreateProgramObjectARB)
+#define glCreateShader MANGLE(CreateShader)
+#define glCreateShaderObjectARB MANGLE(CreateShaderObjectARB)
+#define glCreateShaderProgramEXT MANGLE(CreateShaderProgramEXT)
+#define glCreateShaderProgramv MANGLE(CreateShaderProgramv)
+#define glCreateSyncFromCLeventARB MANGLE(CreateSyncFromCLeventARB)
+#define glCullFace MANGLE(CullFace)
+#define glCullParameterdvEXT MANGLE(CullParameterdvEXT)
+#define glCullParameterfvEXT MANGLE(CullParameterfvEXT)
+#define glCurrentPaletteMatrixARB MANGLE(CurrentPaletteMatrixARB)
+#define glDebugMessageCallbackAMD MANGLE(DebugMessageCallbackAMD)
+#define glDebugMessageCallbackARB MANGLE(DebugMessageCallbackARB)
+#define glDebugMessageControlARB MANGLE(DebugMessageControlARB)
+#define glDebugMessageEnableAMD MANGLE(DebugMessageEnableAMD)
+#define glDebugMessageInsertAMD MANGLE(DebugMessageInsertAMD)
+#define glDebugMessageInsertARB MANGLE(DebugMessageInsertARB)
+#define glDeformationMap3dSGIX MANGLE(DeformationMap3dSGIX)
+#define glDeformationMap3fSGIX MANGLE(DeformationMap3fSGIX)
+#define glDeformSGIX MANGLE(DeformSGIX)
+#define glDeleteAsyncMarkersSGIX MANGLE(DeleteAsyncMarkersSGIX)
+#define glDeleteBuffersARB MANGLE(DeleteBuffersARB)
+#define glDeleteBuffers MANGLE(DeleteBuffers)
+#define glDeleteFencesAPPLE MANGLE(DeleteFencesAPPLE)
+#define glDeleteFencesNV MANGLE(DeleteFencesNV)
+#define glDeleteFragmentShaderATI MANGLE(DeleteFragmentShaderATI)
+#define glDeleteFramebuffersEXT MANGLE(DeleteFramebuffersEXT)
+#define glDeleteFramebuffers MANGLE(DeleteFramebuffers)
+#define glDeleteLists MANGLE(DeleteLists)
+#define glDeleteNamedStringARB MANGLE(DeleteNamedStringARB)
+#define glDeleteNamesAMD MANGLE(DeleteNamesAMD)
+#define glDeleteObjectARB MANGLE(DeleteObjectARB)
+#define glDeleteOcclusionQueriesNV MANGLE(DeleteOcclusionQueriesNV)
+#define glDeletePerfMonitorsAMD MANGLE(DeletePerfMonitorsAMD)
+#define glDeleteProgram MANGLE(DeleteProgram)
+#define glDeleteProgramPipelines MANGLE(DeleteProgramPipelines)
+#define glDeleteProgramsARB MANGLE(DeleteProgramsARB)
+#define glDeleteProgramsNV MANGLE(DeleteProgramsNV)
+#define glDeleteQueriesARB MANGLE(DeleteQueriesARB)
+#define glDeleteQueries MANGLE(DeleteQueries)
+#define glDeleteRenderbuffersEXT MANGLE(DeleteRenderbuffersEXT)
+#define glDeleteRenderbuffers MANGLE(DeleteRenderbuffers)
+#define glDeleteSamplers MANGLE(DeleteSamplers)
+#define glDeleteShader MANGLE(DeleteShader)
+#define glDeleteSync MANGLE(DeleteSync)
+#define glDeleteTexturesEXT MANGLE(DeleteTexturesEXT)
+#define glDeleteTextures MANGLE(DeleteTextures)
+#define glDeleteTransformFeedbacks MANGLE(DeleteTransformFeedbacks)
+#define glDeleteTransformFeedbacksNV MANGLE(DeleteTransformFeedbacksNV)
+#define glDeleteVertexArraysAPPLE MANGLE(DeleteVertexArraysAPPLE)
+#define glDeleteVertexArrays MANGLE(DeleteVertexArrays)
+#define glDeleteVertexShaderEXT MANGLE(DeleteVertexShaderEXT)
+#define glDepthBoundsdNV MANGLE(DepthBoundsdNV)
+#define glDepthBoundsEXT MANGLE(DepthBoundsEXT)
+#define glDepthFunc MANGLE(DepthFunc)
+#define glDepthMask MANGLE(DepthMask)
+#define glDepthRangeArrayv MANGLE(DepthRangeArrayv)
+#define glDepthRangedNV MANGLE(DepthRangedNV)
+#define glDepthRangef MANGLE(DepthRangef)
+#define glDepthRangeIndexed MANGLE(DepthRangeIndexed)
+#define glDepthRange MANGLE(DepthRange)
+#define glDetachObjectARB MANGLE(DetachObjectARB)
+#define glDetachShader MANGLE(DetachShader)
+#define glDetailTexFuncSGIS MANGLE(DetailTexFuncSGIS)
+#define glDisableClientStateIndexedEXT MANGLE(DisableClientStateIndexedEXT)
+#define glDisableClientState MANGLE(DisableClientState)
+#define glDisablei MANGLE(Disablei)
+#define glDisableIndexedEXT MANGLE(DisableIndexedEXT)
+#define glDisable MANGLE(Disable)
+#define glDisableVariantClientStateEXT MANGLE(DisableVariantClientStateEXT)
+#define glDisableVertexAttribAPPLE MANGLE(DisableVertexAttribAPPLE)
+#define glDisableVertexAttribArrayARB MANGLE(DisableVertexAttribArrayARB)
+#define glDisableVertexAttribArray MANGLE(DisableVertexAttribArray)
+#define glDrawArraysEXT MANGLE(DrawArraysEXT)
+#define glDrawArraysIndirect MANGLE(DrawArraysIndirect)
+#define glDrawArraysInstancedARB MANGLE(DrawArraysInstancedARB)
+#define glDrawArraysInstancedEXT MANGLE(DrawArraysInstancedEXT)
+#define glDrawArraysInstanced MANGLE(DrawArraysInstanced)
+#define glDrawArrays MANGLE(DrawArrays)
+#define glDrawBuffer MANGLE(DrawBuffer)
+#define glDrawBuffersARB MANGLE(DrawBuffersARB)
+#define glDrawBuffersATI MANGLE(DrawBuffersATI)
+#define glDrawBuffers MANGLE(DrawBuffers)
+#define glDrawElementArrayAPPLE MANGLE(DrawElementArrayAPPLE)
+#define glDrawElementArrayATI MANGLE(DrawElementArrayATI)
+#define glDrawElementsBaseVertex MANGLE(DrawElementsBaseVertex)
+#define glDrawElementsIndirect MANGLE(DrawElementsIndirect)
+#define glDrawElementsInstancedARB MANGLE(DrawElementsInstancedARB)
+#define glDrawElementsInstancedBaseVertex MANGLE(DrawElementsInstancedBaseVertex)
+#define glDrawElementsInstancedEXT MANGLE(DrawElementsInstancedEXT)
+#define glDrawElementsInstanced MANGLE(DrawElementsInstanced)
+#define glDrawElements MANGLE(DrawElements)
+#define glDrawMeshArraysSUN MANGLE(DrawMeshArraysSUN)
+#define glDrawPixels MANGLE(DrawPixels)
+#define glDrawRangeElementArrayAPPLE MANGLE(DrawRangeElementArrayAPPLE)
+#define glDrawRangeElementArrayATI MANGLE(DrawRangeElementArrayATI)
+#define glDrawRangeElementsBaseVertex MANGLE(DrawRangeElementsBaseVertex)
+#define glDrawRangeElementsEXT MANGLE(DrawRangeElementsEXT)
+#define glDrawRangeElements MANGLE(DrawRangeElements)
+#define glDrawTransformFeedback MANGLE(DrawTransformFeedback)
+#define glDrawTransformFeedbackNV MANGLE(DrawTransformFeedbackNV)
+#define glDrawTransformFeedbackStream MANGLE(DrawTransformFeedbackStream)
+#define glEdgeFlagFormatNV MANGLE(EdgeFlagFormatNV)
+#define glEdgeFlag MANGLE(EdgeFlag)
+#define glEdgeFlagPointerEXT MANGLE(EdgeFlagPointerEXT)
+#define glEdgeFlagPointerListIBM MANGLE(EdgeFlagPointerListIBM)
+#define glEdgeFlagPointer MANGLE(EdgeFlagPointer)
+#define glEdgeFlagv MANGLE(EdgeFlagv)
+#define glEGLImageTargetRenderbufferStorageOES MANGLE(EGLImageTargetRenderbufferStorageOES)
+#define glEGLImageTargetTexture2DOES MANGLE(EGLImageTargetTexture2DOES)
+#define glElementPointerAPPLE MANGLE(ElementPointerAPPLE)
+#define glElementPointerATI MANGLE(ElementPointerATI)
+#define glEnableClientStateIndexedEXT MANGLE(EnableClientStateIndexedEXT)
+#define glEnableClientState MANGLE(EnableClientState)
+#define glEnablei MANGLE(Enablei)
+#define glEnableIndexedEXT MANGLE(EnableIndexedEXT)
+#define glEnable MANGLE(Enable)
+#define glEnableVariantClientStateEXT MANGLE(EnableVariantClientStateEXT)
+#define glEnableVertexAttribAPPLE MANGLE(EnableVertexAttribAPPLE)
+#define glEnableVertexAttribArrayARB MANGLE(EnableVertexAttribArrayARB)
+#define glEnableVertexAttribArray MANGLE(EnableVertexAttribArray)
+#define glEndConditionalRender MANGLE(EndConditionalRender)
+#define glEndConditionalRenderNV MANGLE(EndConditionalRenderNV)
+#define glEndFragmentShaderATI MANGLE(EndFragmentShaderATI)
+#define glEndList MANGLE(EndList)
+#define glEnd MANGLE(End)
+#define glEndOcclusionQueryNV MANGLE(EndOcclusionQueryNV)
+#define glEndPerfMonitorAMD MANGLE(EndPerfMonitorAMD)
+#define glEndQueryARB MANGLE(EndQueryARB)
+#define glEndQueryIndexed MANGLE(EndQueryIndexed)
+#define glEndQuery MANGLE(EndQuery)
+#define glEndTransformFeedbackEXT MANGLE(EndTransformFeedbackEXT)
+#define glEndTransformFeedback MANGLE(EndTransformFeedback)
+#define glEndTransformFeedbackNV MANGLE(EndTransformFeedbackNV)
+#define glEndVertexShaderEXT MANGLE(EndVertexShaderEXT)
+#define glEndVideoCaptureNV MANGLE(EndVideoCaptureNV)
+#define glEvalCoord1d MANGLE(EvalCoord1d)
+#define glEvalCoord1dv MANGLE(EvalCoord1dv)
+#define glEvalCoord1f MANGLE(EvalCoord1f)
+#define glEvalCoord1fv MANGLE(EvalCoord1fv)
+#define glEvalCoord2d MANGLE(EvalCoord2d)
+#define glEvalCoord2dv MANGLE(EvalCoord2dv)
+#define glEvalCoord2f MANGLE(EvalCoord2f)
+#define glEvalCoord2fv MANGLE(EvalCoord2fv)
+#define glEvalMapsNV MANGLE(EvalMapsNV)
+#define glEvalMesh1 MANGLE(EvalMesh1)
+#define glEvalMesh2 MANGLE(EvalMesh2)
+#define glEvalPoint1 MANGLE(EvalPoint1)
+#define glEvalPoint2 MANGLE(EvalPoint2)
+#define glExecuteProgramNV MANGLE(ExecuteProgramNV)
+#define glExtractComponentEXT MANGLE(ExtractComponentEXT)
+#define glFeedbackBuffer MANGLE(FeedbackBuffer)
+#define glFenceSync MANGLE(FenceSync)
+#define glFinalCombinerInputNV MANGLE(FinalCombinerInputNV)
+#define glFinishAsyncSGIX MANGLE(FinishAsyncSGIX)
+#define glFinishFenceAPPLE MANGLE(FinishFenceAPPLE)
+#define glFinishFenceNV MANGLE(FinishFenceNV)
+#define glFinish MANGLE(Finish)
+#define glFinishObjectAPPLE MANGLE(FinishObjectAPPLE)
+#define glFinishTextureSUNX MANGLE(FinishTextureSUNX)
+#define glFlush MANGLE(Flush)
+#define glFlushMappedBufferRangeAPPLE MANGLE(FlushMappedBufferRangeAPPLE)
+#define glFlushMappedBufferRange MANGLE(FlushMappedBufferRange)
+#define glFlushMappedNamedBufferRangeEXT MANGLE(FlushMappedNamedBufferRangeEXT)
+#define glFlushPixelDataRangeNV MANGLE(FlushPixelDataRangeNV)
+#define glFlushRasterSGIX MANGLE(FlushRasterSGIX)
+#define glFlushVertexArrayRangeAPPLE MANGLE(FlushVertexArrayRangeAPPLE)
+#define glFlushVertexArrayRangeNV MANGLE(FlushVertexArrayRangeNV)
+#define glFogCoorddEXT MANGLE(FogCoorddEXT)
+#define glFogCoordd MANGLE(FogCoordd)
+#define glFogCoorddvEXT MANGLE(FogCoorddvEXT)
+#define glFogCoorddv MANGLE(FogCoorddv)
+#define glFogCoordfEXT MANGLE(FogCoordfEXT)
+#define glFogCoordf MANGLE(FogCoordf)
+#define glFogCoordFormatNV MANGLE(FogCoordFormatNV)
+#define glFogCoordfvEXT MANGLE(FogCoordfvEXT)
+#define glFogCoordfv MANGLE(FogCoordfv)
+#define glFogCoordhNV MANGLE(FogCoordhNV)
+#define glFogCoordhvNV MANGLE(FogCoordhvNV)
+#define glFogCoordPointerEXT MANGLE(FogCoordPointerEXT)
+#define glFogCoordPointerListIBM MANGLE(FogCoordPointerListIBM)
+#define glFogCoordPointer MANGLE(FogCoordPointer)
+#define glFogf MANGLE(Fogf)
+#define glFogFuncSGIS MANGLE(FogFuncSGIS)
+#define glFogfv MANGLE(Fogfv)
+#define glFogi MANGLE(Fogi)
+#define glFogiv MANGLE(Fogiv)
+#define glFragmentColorMaterialSGIX MANGLE(FragmentColorMaterialSGIX)
+#define glFragmentLightfSGIX MANGLE(FragmentLightfSGIX)
+#define glFragmentLightfvSGIX MANGLE(FragmentLightfvSGIX)
+#define glFragmentLightiSGIX MANGLE(FragmentLightiSGIX)
+#define glFragmentLightivSGIX MANGLE(FragmentLightivSGIX)
+#define glFragmentLightModelfSGIX MANGLE(FragmentLightModelfSGIX)
+#define glFragmentLightModelfvSGIX MANGLE(FragmentLightModelfvSGIX)
+#define glFragmentLightModeliSGIX MANGLE(FragmentLightModeliSGIX)
+#define glFragmentLightModelivSGIX MANGLE(FragmentLightModelivSGIX)
+#define glFragmentMaterialfSGIX MANGLE(FragmentMaterialfSGIX)
+#define glFragmentMaterialfvSGIX MANGLE(FragmentMaterialfvSGIX)
+#define glFragmentMaterialiSGIX MANGLE(FragmentMaterialiSGIX)
+#define glFragmentMaterialivSGIX MANGLE(FragmentMaterialivSGIX)
+#define glFramebufferDrawBufferEXT MANGLE(FramebufferDrawBufferEXT)
+#define glFramebufferDrawBuffersEXT MANGLE(FramebufferDrawBuffersEXT)
+#define glFramebufferReadBufferEXT MANGLE(FramebufferReadBufferEXT)
+#define glFramebufferRenderbufferEXT MANGLE(FramebufferRenderbufferEXT)
+#define glFramebufferRenderbuffer MANGLE(FramebufferRenderbuffer)
+#define glFramebufferTexture1DEXT MANGLE(FramebufferTexture1DEXT)
+#define glFramebufferTexture1D MANGLE(FramebufferTexture1D)
+#define glFramebufferTexture2DEXT MANGLE(FramebufferTexture2DEXT)
+#define glFramebufferTexture2D MANGLE(FramebufferTexture2D)
+#define glFramebufferTexture3DEXT MANGLE(FramebufferTexture3DEXT)
+#define glFramebufferTexture3D MANGLE(FramebufferTexture3D)
+#define glFramebufferTextureARB MANGLE(FramebufferTextureARB)
+#define glFramebufferTextureEXT MANGLE(FramebufferTextureEXT)
+#define glFramebufferTextureFaceARB MANGLE(FramebufferTextureFaceARB)
+#define glFramebufferTextureFaceEXT MANGLE(FramebufferTextureFaceEXT)
+#define glFramebufferTextureLayerARB MANGLE(FramebufferTextureLayerARB)
+#define glFramebufferTextureLayerEXT MANGLE(FramebufferTextureLayerEXT)
+#define glFramebufferTextureLayer MANGLE(FramebufferTextureLayer)
+#define glFramebufferTexture MANGLE(FramebufferTexture)
+#define glFrameTerminatorGREMEDY MANGLE(FrameTerminatorGREMEDY)
+#define glFrameZoomSGIX MANGLE(FrameZoomSGIX)
+#define glFreeObjectBufferATI MANGLE(FreeObjectBufferATI)
+#define glFrontFace MANGLE(FrontFace)
+#define glFrustum MANGLE(Frustum)
+#define glGenAsyncMarkersSGIX MANGLE(GenAsyncMarkersSGIX)
+#define glGenBuffersARB MANGLE(GenBuffersARB)
+#define glGenBuffers MANGLE(GenBuffers)
+#define glGenerateMipmapEXT MANGLE(GenerateMipmapEXT)
+#define glGenerateMipmap MANGLE(GenerateMipmap)
+#define glGenerateMultiTexMipmapEXT MANGLE(GenerateMultiTexMipmapEXT)
+#define glGenerateTextureMipmapEXT MANGLE(GenerateTextureMipmapEXT)
+#define glGenFencesAPPLE MANGLE(GenFencesAPPLE)
+#define glGenFencesNV MANGLE(GenFencesNV)
+#define glGenFragmentShadersATI MANGLE(GenFragmentShadersATI)
+#define glGenFramebuffersEXT MANGLE(GenFramebuffersEXT)
+#define glGenFramebuffers MANGLE(GenFramebuffers)
+#define glGenLists MANGLE(GenLists)
+#define glGenNamesAMD MANGLE(GenNamesAMD)
+#define glGenOcclusionQueriesNV MANGLE(GenOcclusionQueriesNV)
+#define glGenPerfMonitorsAMD MANGLE(GenPerfMonitorsAMD)
+#define glGenProgramPipelines MANGLE(GenProgramPipelines)
+#define glGenProgramsARB MANGLE(GenProgramsARB)
+#define glGenProgramsNV MANGLE(GenProgramsNV)
+#define glGenQueriesARB MANGLE(GenQueriesARB)
+#define glGenQueries MANGLE(GenQueries)
+#define glGenRenderbuffersEXT MANGLE(GenRenderbuffersEXT)
+#define glGenRenderbuffers MANGLE(GenRenderbuffers)
+#define glGenSamplers MANGLE(GenSamplers)
+#define glGenSymbolsEXT MANGLE(GenSymbolsEXT)
+#define glGenTexturesEXT MANGLE(GenTexturesEXT)
+#define glGenTextures MANGLE(GenTextures)
+#define glGenTransformFeedbacks MANGLE(GenTransformFeedbacks)
+#define glGenTransformFeedbacksNV MANGLE(GenTransformFeedbacksNV)
+#define glGenVertexArraysAPPLE MANGLE(GenVertexArraysAPPLE)
+#define glGenVertexArrays MANGLE(GenVertexArrays)
+#define glGenVertexShadersEXT MANGLE(GenVertexShadersEXT)
+#define glGetActiveAttribARB MANGLE(GetActiveAttribARB)
+#define glGetActiveAttrib MANGLE(GetActiveAttrib)
+#define glGetActiveSubroutineName MANGLE(GetActiveSubroutineName)
+#define glGetActiveSubroutineUniformiv MANGLE(GetActiveSubroutineUniformiv)
+#define glGetActiveSubroutineUniformName MANGLE(GetActiveSubroutineUniformName)
+#define glGetActiveUniformARB MANGLE(GetActiveUniformARB)
+#define glGetActiveUniformBlockiv MANGLE(GetActiveUniformBlockiv)
+#define glGetActiveUniformBlockName MANGLE(GetActiveUniformBlockName)
+#define glGetActiveUniform MANGLE(GetActiveUniform)
+#define glGetActiveUniformName MANGLE(GetActiveUniformName)
+#define glGetActiveUniformsiv MANGLE(GetActiveUniformsiv)
+#define glGetActiveVaryingNV MANGLE(GetActiveVaryingNV)
+#define glGetArrayObjectfvATI MANGLE(GetArrayObjectfvATI)
+#define glGetArrayObjectivATI MANGLE(GetArrayObjectivATI)
+#define glGetAttachedObjectsARB MANGLE(GetAttachedObjectsARB)
+#define glGetAttachedShaders MANGLE(GetAttachedShaders)
+#define glGetAttribLocationARB MANGLE(GetAttribLocationARB)
+#define glGetAttribLocation MANGLE(GetAttribLocation)
+#define glGetBooleanIndexedvEXT MANGLE(GetBooleanIndexedvEXT)
+#define glGetBooleani_v MANGLE(GetBooleani_v)
+#define glGetBooleanv MANGLE(GetBooleanv)
+#define glGetBufferParameteri64v MANGLE(GetBufferParameteri64v)
+#define glGetBufferParameterivARB MANGLE(GetBufferParameterivARB)
+#define glGetBufferParameteriv MANGLE(GetBufferParameteriv)
+#define glGetBufferParameterui64vNV MANGLE(GetBufferParameterui64vNV)
+#define glGetBufferPointervARB MANGLE(GetBufferPointervARB)
+#define glGetBufferPointerv MANGLE(GetBufferPointerv)
+#define glGetBufferSubDataARB MANGLE(GetBufferSubDataARB)
+#define glGetBufferSubData MANGLE(GetBufferSubData)
+#define glGetClipPlane MANGLE(GetClipPlane)
+#define glGetColorTableEXT MANGLE(GetColorTableEXT)
+#define glGetColorTable MANGLE(GetColorTable)
+#define glGetColorTableParameterfvEXT MANGLE(GetColorTableParameterfvEXT)
+#define glGetColorTableParameterfv MANGLE(GetColorTableParameterfv)
+#define glGetColorTableParameterfvSGI MANGLE(GetColorTableParameterfvSGI)
+#define glGetColorTableParameterivEXT MANGLE(GetColorTableParameterivEXT)
+#define glGetColorTableParameteriv MANGLE(GetColorTableParameteriv)
+#define glGetColorTableParameterivSGI MANGLE(GetColorTableParameterivSGI)
+#define glGetColorTableSGI MANGLE(GetColorTableSGI)
+#define glGetCombinerInputParameterfvNV MANGLE(GetCombinerInputParameterfvNV)
+#define glGetCombinerInputParameterivNV MANGLE(GetCombinerInputParameterivNV)
+#define glGetCombinerOutputParameterfvNV MANGLE(GetCombinerOutputParameterfvNV)
+#define glGetCombinerOutputParameterivNV MANGLE(GetCombinerOutputParameterivNV)
+#define glGetCombinerStageParameterfvNV MANGLE(GetCombinerStageParameterfvNV)
+#define glGetCompressedMultiTexImageEXT MANGLE(GetCompressedMultiTexImageEXT)
+#define glGetCompressedTexImageARB MANGLE(GetCompressedTexImageARB)
+#define glGetCompressedTexImage MANGLE(GetCompressedTexImage)
+#define glGetCompressedTextureImageEXT MANGLE(GetCompressedTextureImageEXT)
+#define glGetConvolutionFilterEXT MANGLE(GetConvolutionFilterEXT)
+#define glGetConvolutionFilter MANGLE(GetConvolutionFilter)
+#define glGetConvolutionParameterfvEXT MANGLE(GetConvolutionParameterfvEXT)
+#define glGetConvolutionParameterfv MANGLE(GetConvolutionParameterfv)
+#define glGetConvolutionParameterivEXT MANGLE(GetConvolutionParameterivEXT)
+#define glGetConvolutionParameteriv MANGLE(GetConvolutionParameteriv)
+#define glGetDebugLogLengthMESA MANGLE(GetDebugLogLengthMESA)
+#define glGetDebugLogMESA MANGLE(GetDebugLogMESA)
+#define glGetDebugMessageLogAMD MANGLE(GetDebugMessageLogAMD)
+#define glGetDebugMessageLogARB MANGLE(GetDebugMessageLogARB)
+#define glGetDetailTexFuncSGIS MANGLE(GetDetailTexFuncSGIS)
+#define glGetDoubleIndexedvEXT MANGLE(GetDoubleIndexedvEXT)
+#define glGetDoublei_v MANGLE(GetDoublei_v)
+#define glGetDoublev MANGLE(GetDoublev)
+#define glGetError MANGLE(GetError)
+#define glGetFenceivNV MANGLE(GetFenceivNV)
+#define glGetFinalCombinerInputParameterfvNV MANGLE(GetFinalCombinerInputParameterfvNV)
+#define glGetFinalCombinerInputParameterivNV MANGLE(GetFinalCombinerInputParameterivNV)
+#define glGetFloatIndexedvEXT MANGLE(GetFloatIndexedvEXT)
+#define glGetFloati_v MANGLE(GetFloati_v)
+#define glGetFloatv MANGLE(GetFloatv)
+#define glGetFogFuncSGIS MANGLE(GetFogFuncSGIS)
+#define glGetFragDataIndex MANGLE(GetFragDataIndex)
+#define glGetFragDataLocationEXT MANGLE(GetFragDataLocationEXT)
+#define glGetFragDataLocation MANGLE(GetFragDataLocation)
+#define glGetFragmentLightfvSGIX MANGLE(GetFragmentLightfvSGIX)
+#define glGetFragmentLightivSGIX MANGLE(GetFragmentLightivSGIX)
+#define glGetFragmentMaterialfvSGIX MANGLE(GetFragmentMaterialfvSGIX)
+#define glGetFragmentMaterialivSGIX MANGLE(GetFragmentMaterialivSGIX)
+#define glGetFramebufferAttachmentParameterivEXT MANGLE(GetFramebufferAttachmentParameterivEXT)
+#define glGetFramebufferAttachmentParameteriv MANGLE(GetFramebufferAttachmentParameteriv)
+#define glGetFramebufferParameterivEXT MANGLE(GetFramebufferParameterivEXT)
+#define glGetGraphicsResetStatusARB MANGLE(GetGraphicsResetStatusARB)
+#define glGetHandleARB MANGLE(GetHandleARB)
+#define glGetHistogramEXT MANGLE(GetHistogramEXT)
+#define glGetHistogram MANGLE(GetHistogram)
+#define glGetHistogramParameterfvEXT MANGLE(GetHistogramParameterfvEXT)
+#define glGetHistogramParameterfv MANGLE(GetHistogramParameterfv)
+#define glGetHistogramParameterivEXT MANGLE(GetHistogramParameterivEXT)
+#define glGetHistogramParameteriv MANGLE(GetHistogramParameteriv)
+#define glGetImageTransformParameterfvHP MANGLE(GetImageTransformParameterfvHP)
+#define glGetImageTransformParameterivHP MANGLE(GetImageTransformParameterivHP)
+#define glGetInfoLogARB MANGLE(GetInfoLogARB)
+#define glGetInstrumentsSGIX MANGLE(GetInstrumentsSGIX)
+#define glGetInteger64i_v MANGLE(GetInteger64i_v)
+#define glGetInteger64v MANGLE(GetInteger64v)
+#define glGetIntegerIndexedvEXT MANGLE(GetIntegerIndexedvEXT)
+#define glGetIntegeri_v MANGLE(GetIntegeri_v)
+#define glGetIntegerui64i_vNV MANGLE(GetIntegerui64i_vNV)
+#define glGetIntegerui64vNV MANGLE(GetIntegerui64vNV)
+#define glGetIntegerv MANGLE(GetIntegerv)
+#define glGetInvariantBooleanvEXT MANGLE(GetInvariantBooleanvEXT)
+#define glGetInvariantFloatvEXT MANGLE(GetInvariantFloatvEXT)
+#define glGetInvariantIntegervEXT MANGLE(GetInvariantIntegervEXT)
+#define glGetLightfv MANGLE(GetLightfv)
+#define glGetLightiv MANGLE(GetLightiv)
+#define glGetListParameterfvSGIX MANGLE(GetListParameterfvSGIX)
+#define glGetListParameterivSGIX MANGLE(GetListParameterivSGIX)
+#define glGetLocalConstantBooleanvEXT MANGLE(GetLocalConstantBooleanvEXT)
+#define glGetLocalConstantFloatvEXT MANGLE(GetLocalConstantFloatvEXT)
+#define glGetLocalConstantIntegervEXT MANGLE(GetLocalConstantIntegervEXT)
+#define glGetMapAttribParameterfvNV MANGLE(GetMapAttribParameterfvNV)
+#define glGetMapAttribParameterivNV MANGLE(GetMapAttribParameterivNV)
+#define glGetMapControlPointsNV MANGLE(GetMapControlPointsNV)
+#define glGetMapdv MANGLE(GetMapdv)
+#define glGetMapfv MANGLE(GetMapfv)
+#define glGetMapiv MANGLE(GetMapiv)
+#define glGetMapParameterfvNV MANGLE(GetMapParameterfvNV)
+#define glGetMapParameterivNV MANGLE(GetMapParameterivNV)
+#define glGetMaterialfv MANGLE(GetMaterialfv)
+#define glGetMaterialiv MANGLE(GetMaterialiv)
+#define glGetMinmaxEXT MANGLE(GetMinmaxEXT)
+#define glGetMinmax MANGLE(GetMinmax)
+#define glGetMinmaxParameterfvEXT MANGLE(GetMinmaxParameterfvEXT)
+#define glGetMinmaxParameterfv MANGLE(GetMinmaxParameterfv)
+#define glGetMinmaxParameterivEXT MANGLE(GetMinmaxParameterivEXT)
+#define glGetMinmaxParameteriv MANGLE(GetMinmaxParameteriv)
+#define glGetMultisamplefv MANGLE(GetMultisamplefv)
+#define glGetMultisamplefvNV MANGLE(GetMultisamplefvNV)
+#define glGetMultiTexEnvfvEXT MANGLE(GetMultiTexEnvfvEXT)
+#define glGetMultiTexEnvivEXT MANGLE(GetMultiTexEnvivEXT)
+#define glGetMultiTexGendvEXT MANGLE(GetMultiTexGendvEXT)
+#define glGetMultiTexGenfvEXT MANGLE(GetMultiTexGenfvEXT)
+#define glGetMultiTexGenivEXT MANGLE(GetMultiTexGenivEXT)
+#define glGetMultiTexImageEXT MANGLE(GetMultiTexImageEXT)
+#define glGetMultiTexLevelParameterfvEXT MANGLE(GetMultiTexLevelParameterfvEXT)
+#define glGetMultiTexLevelParameterivEXT MANGLE(GetMultiTexLevelParameterivEXT)
+#define glGetMultiTexParameterfvEXT MANGLE(GetMultiTexParameterfvEXT)
+#define glGetMultiTexParameterIivEXT MANGLE(GetMultiTexParameterIivEXT)
+#define glGetMultiTexParameterIuivEXT MANGLE(GetMultiTexParameterIuivEXT)
+#define glGetMultiTexParameterivEXT MANGLE(GetMultiTexParameterivEXT)
+#define glGetNamedBufferParameterivEXT MANGLE(GetNamedBufferParameterivEXT)
+#define glGetNamedBufferParameterui64vNV MANGLE(GetNamedBufferParameterui64vNV)
+#define glGetNamedBufferPointervEXT MANGLE(GetNamedBufferPointervEXT)
+#define glGetNamedBufferSubDataEXT MANGLE(GetNamedBufferSubDataEXT)
+#define glGetNamedFramebufferAttachmentParameterivEXT MANGLE(GetNamedFramebufferAttachmentParameterivEXT)
+#define glGetNamedProgramivEXT MANGLE(GetNamedProgramivEXT)
+#define glGetNamedProgramLocalParameterdvEXT MANGLE(GetNamedProgramLocalParameterdvEXT)
+#define glGetNamedProgramLocalParameterfvEXT MANGLE(GetNamedProgramLocalParameterfvEXT)
+#define glGetNamedProgramLocalParameterIivEXT MANGLE(GetNamedProgramLocalParameterIivEXT)
+#define glGetNamedProgramLocalParameterIuivEXT MANGLE(GetNamedProgramLocalParameterIuivEXT)
+#define glGetNamedProgramStringEXT MANGLE(GetNamedProgramStringEXT)
+#define glGetNamedRenderbufferParameterivEXT MANGLE(GetNamedRenderbufferParameterivEXT)
+#define glGetNamedStringARB MANGLE(GetNamedStringARB)
+#define glGetNamedStringivARB MANGLE(GetNamedStringivARB)
+#define glGetnColorTableARB MANGLE(GetnColorTableARB)
+#define glGetnCompressedTexImageARB MANGLE(GetnCompressedTexImageARB)
+#define glGetnConvolutionFilterARB MANGLE(GetnConvolutionFilterARB)
+#define glGetnHistogramARB MANGLE(GetnHistogramARB)
+#define glGetnMapdvARB MANGLE(GetnMapdvARB)
+#define glGetnMapfvARB MANGLE(GetnMapfvARB)
+#define glGetnMapivARB MANGLE(GetnMapivARB)
+#define glGetnMinmaxARB MANGLE(GetnMinmaxARB)
+#define glGetnPixelMapfvARB MANGLE(GetnPixelMapfvARB)
+#define glGetnPixelMapuivARB MANGLE(GetnPixelMapuivARB)
+#define glGetnPixelMapusvARB MANGLE(GetnPixelMapusvARB)
+#define glGetnPolygonStippleARB MANGLE(GetnPolygonStippleARB)
+#define glGetnSeparableFilterARB MANGLE(GetnSeparableFilterARB)
+#define glGetnTexImageARB MANGLE(GetnTexImageARB)
+#define glGetnUniformdvARB MANGLE(GetnUniformdvARB)
+#define glGetnUniformfvARB MANGLE(GetnUniformfvARB)
+#define glGetnUniformivARB MANGLE(GetnUniformivARB)
+#define glGetnUniformuivARB MANGLE(GetnUniformuivARB)
+#define glGetObjectBufferfvATI MANGLE(GetObjectBufferfvATI)
+#define glGetObjectBufferivATI MANGLE(GetObjectBufferivATI)
+#define glGetObjectParameterfvARB MANGLE(GetObjectParameterfvARB)
+#define glGetObjectParameterivAPPLE MANGLE(GetObjectParameterivAPPLE)
+#define glGetObjectParameterivARB MANGLE(GetObjectParameterivARB)
+#define glGetOcclusionQueryivNV MANGLE(GetOcclusionQueryivNV)
+#define glGetOcclusionQueryuivNV MANGLE(GetOcclusionQueryuivNV)
+#define glGetPerfMonitorCounterDataAMD MANGLE(GetPerfMonitorCounterDataAMD)
+#define glGetPerfMonitorCounterInfoAMD MANGLE(GetPerfMonitorCounterInfoAMD)
+#define glGetPerfMonitorCountersAMD MANGLE(GetPerfMonitorCountersAMD)
+#define glGetPerfMonitorCounterStringAMD MANGLE(GetPerfMonitorCounterStringAMD)
+#define glGetPerfMonitorGroupsAMD MANGLE(GetPerfMonitorGroupsAMD)
+#define glGetPerfMonitorGroupStringAMD MANGLE(GetPerfMonitorGroupStringAMD)
+#define glGetPixelMapfv MANGLE(GetPixelMapfv)
+#define glGetPixelMapuiv MANGLE(GetPixelMapuiv)
+#define glGetPixelMapusv MANGLE(GetPixelMapusv)
+#define glGetPixelTexGenParameterfvSGIS MANGLE(GetPixelTexGenParameterfvSGIS)
+#define glGetPixelTexGenParameterivSGIS MANGLE(GetPixelTexGenParameterivSGIS)
+#define glGetPointerIndexedvEXT MANGLE(GetPointerIndexedvEXT)
+#define glGetPointervEXT MANGLE(GetPointervEXT)
+#define glGetPointerv MANGLE(GetPointerv)
+#define glGetPolygonStipple MANGLE(GetPolygonStipple)
+#define glGetProgramBinary MANGLE(GetProgramBinary)
+#define glGetProgramEnvParameterdvARB MANGLE(GetProgramEnvParameterdvARB)
+#define glGetProgramEnvParameterfvARB MANGLE(GetProgramEnvParameterfvARB)
+#define glGetProgramEnvParameterIivNV MANGLE(GetProgramEnvParameterIivNV)
+#define glGetProgramEnvParameterIuivNV MANGLE(GetProgramEnvParameterIuivNV)
+#define glGetProgramInfoLog MANGLE(GetProgramInfoLog)
+#define glGetProgramivARB MANGLE(GetProgramivARB)
+#define glGetProgramiv MANGLE(GetProgramiv)
+#define glGetProgramivNV MANGLE(GetProgramivNV)
+#define glGetProgramLocalParameterdvARB MANGLE(GetProgramLocalParameterdvARB)
+#define glGetProgramLocalParameterfvARB MANGLE(GetProgramLocalParameterfvARB)
+#define glGetProgramLocalParameterIivNV MANGLE(GetProgramLocalParameterIivNV)
+#define glGetProgramLocalParameterIuivNV MANGLE(GetProgramLocalParameterIuivNV)
+#define glGetProgramNamedParameterdvNV MANGLE(GetProgramNamedParameterdvNV)
+#define glGetProgramNamedParameterfvNV MANGLE(GetProgramNamedParameterfvNV)
+#define glGetProgramParameterdvNV MANGLE(GetProgramParameterdvNV)
+#define glGetProgramParameterfvNV MANGLE(GetProgramParameterfvNV)
+#define glGetProgramPipelineInfoLog MANGLE(GetProgramPipelineInfoLog)
+#define glGetProgramPipelineiv MANGLE(GetProgramPipelineiv)
+#define glGetProgramRegisterfvMESA MANGLE(GetProgramRegisterfvMESA)
+#define glGetProgramStageiv MANGLE(GetProgramStageiv)
+#define glGetProgramStringARB MANGLE(GetProgramStringARB)
+#define glGetProgramStringNV MANGLE(GetProgramStringNV)
+#define glGetProgramSubroutineParameteruivNV MANGLE(GetProgramSubroutineParameteruivNV)
+#define glGetQueryIndexediv MANGLE(GetQueryIndexediv)
+#define glGetQueryivARB MANGLE(GetQueryivARB)
+#define glGetQueryiv MANGLE(GetQueryiv)
+#define glGetQueryObjecti64vEXT MANGLE(GetQueryObjecti64vEXT)
+#define glGetQueryObjecti64v MANGLE(GetQueryObjecti64v)
+#define glGetQueryObjectivARB MANGLE(GetQueryObjectivARB)
+#define glGetQueryObjectiv MANGLE(GetQueryObjectiv)
+#define glGetQueryObjectui64vEXT MANGLE(GetQueryObjectui64vEXT)
+#define glGetQueryObjectui64v MANGLE(GetQueryObjectui64v)
+#define glGetQueryObjectuivARB MANGLE(GetQueryObjectuivARB)
+#define glGetQueryObjectuiv MANGLE(GetQueryObjectuiv)
+#define glGetRenderbufferParameterivEXT MANGLE(GetRenderbufferParameterivEXT)
+#define glGetRenderbufferParameteriv MANGLE(GetRenderbufferParameteriv)
+#define glGetSamplerParameterfv MANGLE(GetSamplerParameterfv)
+#define glGetSamplerParameterIiv MANGLE(GetSamplerParameterIiv)
+#define glGetSamplerParameterIuiv MANGLE(GetSamplerParameterIuiv)
+#define glGetSamplerParameteriv MANGLE(GetSamplerParameteriv)
+#define glGetSeparableFilterEXT MANGLE(GetSeparableFilterEXT)
+#define glGetSeparableFilter MANGLE(GetSeparableFilter)
+#define glGetShaderInfoLog MANGLE(GetShaderInfoLog)
+#define glGetShaderiv MANGLE(GetShaderiv)
+#define glGetShaderPrecisionFormat MANGLE(GetShaderPrecisionFormat)
+#define glGetShaderSourceARB MANGLE(GetShaderSourceARB)
+#define glGetShaderSource MANGLE(GetShaderSource)
+#define glGetSharpenTexFuncSGIS MANGLE(GetSharpenTexFuncSGIS)
+#define glGetStringi MANGLE(GetStringi)
+#define glGetString MANGLE(GetString)
+#define glGetSubroutineIndex MANGLE(GetSubroutineIndex)
+#define glGetSubroutineUniformLocation MANGLE(GetSubroutineUniformLocation)
+#define glGetSynciv MANGLE(GetSynciv)
+#define glGetTexBumpParameterfvATI MANGLE(GetTexBumpParameterfvATI)
+#define glGetTexBumpParameterivATI MANGLE(GetTexBumpParameterivATI)
+#define glGetTexEnvfv MANGLE(GetTexEnvfv)
+#define glGetTexEnviv MANGLE(GetTexEnviv)
+#define glGetTexFilterFuncSGIS MANGLE(GetTexFilterFuncSGIS)
+#define glGetTexGendv MANGLE(GetTexGendv)
+#define glGetTexGenfv MANGLE(GetTexGenfv)
+#define glGetTexGeniv MANGLE(GetTexGeniv)
+#define glGetTexImage MANGLE(GetTexImage)
+#define glGetTexLevelParameterfv MANGLE(GetTexLevelParameterfv)
+#define glGetTexLevelParameteriv MANGLE(GetTexLevelParameteriv)
+#define glGetTexParameterfv MANGLE(GetTexParameterfv)
+#define glGetTexParameterIivEXT MANGLE(GetTexParameterIivEXT)
+#define glGetTexParameterIiv MANGLE(GetTexParameterIiv)
+#define glGetTexParameterIuivEXT MANGLE(GetTexParameterIuivEXT)
+#define glGetTexParameterIuiv MANGLE(GetTexParameterIuiv)
+#define glGetTexParameteriv MANGLE(GetTexParameteriv)
+#define glGetTexParameterPointervAPPLE MANGLE(GetTexParameterPointervAPPLE)
+#define glGetTextureImageEXT MANGLE(GetTextureImageEXT)
+#define glGetTextureLevelParameterfvEXT MANGLE(GetTextureLevelParameterfvEXT)
+#define glGetTextureLevelParameterivEXT MANGLE(GetTextureLevelParameterivEXT)
+#define glGetTextureParameterfvEXT MANGLE(GetTextureParameterfvEXT)
+#define glGetTextureParameterIivEXT MANGLE(GetTextureParameterIivEXT)
+#define glGetTextureParameterIuivEXT MANGLE(GetTextureParameterIuivEXT)
+#define glGetTextureParameterivEXT MANGLE(GetTextureParameterivEXT)
+#define glGetTrackMatrixivNV MANGLE(GetTrackMatrixivNV)
+#define glGetTransformFeedbackVaryingEXT MANGLE(GetTransformFeedbackVaryingEXT)
+#define glGetTransformFeedbackVarying MANGLE(GetTransformFeedbackVarying)
+#define glGetTransformFeedbackVaryingNV MANGLE(GetTransformFeedbackVaryingNV)
+#define glGetUniformBlockIndex MANGLE(GetUniformBlockIndex)
+#define glGetUniformBufferSizeEXT MANGLE(GetUniformBufferSizeEXT)
+#define glGetUniformdv MANGLE(GetUniformdv)
+#define glGetUniformfvARB MANGLE(GetUniformfvARB)
+#define glGetUniformfv MANGLE(GetUniformfv)
+#define glGetUniformi64vNV MANGLE(GetUniformi64vNV)
+#define glGetUniformIndices MANGLE(GetUniformIndices)
+#define glGetUniformivARB MANGLE(GetUniformivARB)
+#define glGetUniformiv MANGLE(GetUniformiv)
+#define glGetUniformLocationARB MANGLE(GetUniformLocationARB)
+#define glGetUniformLocation MANGLE(GetUniformLocation)
+#define glGetUniformOffsetEXT MANGLE(GetUniformOffsetEXT)
+#define glGetUniformSubroutineuiv MANGLE(GetUniformSubroutineuiv)
+#define glGetUniformui64vNV MANGLE(GetUniformui64vNV)
+#define glGetUniformuivEXT MANGLE(GetUniformuivEXT)
+#define glGetUniformuiv MANGLE(GetUniformuiv)
+#define glGetVariantArrayObjectfvATI MANGLE(GetVariantArrayObjectfvATI)
+#define glGetVariantArrayObjectivATI MANGLE(GetVariantArrayObjectivATI)
+#define glGetVariantBooleanvEXT MANGLE(GetVariantBooleanvEXT)
+#define glGetVariantFloatvEXT MANGLE(GetVariantFloatvEXT)
+#define glGetVariantIntegervEXT MANGLE(GetVariantIntegervEXT)
+#define glGetVariantPointervEXT MANGLE(GetVariantPointervEXT)
+#define glGetVaryingLocationNV MANGLE(GetVaryingLocationNV)
+#define glGetVertexAttribArrayObjectfvATI MANGLE(GetVertexAttribArrayObjectfvATI)
+#define glGetVertexAttribArrayObjectivATI MANGLE(GetVertexAttribArrayObjectivATI)
+#define glGetVertexAttribdvARB MANGLE(GetVertexAttribdvARB)
+#define glGetVertexAttribdv MANGLE(GetVertexAttribdv)
+#define glGetVertexAttribdvNV MANGLE(GetVertexAttribdvNV)
+#define glGetVertexAttribfvARB MANGLE(GetVertexAttribfvARB)
+#define glGetVertexAttribfv MANGLE(GetVertexAttribfv)
+#define glGetVertexAttribfvNV MANGLE(GetVertexAttribfvNV)
+#define glGetVertexAttribIivEXT MANGLE(GetVertexAttribIivEXT)
+#define glGetVertexAttribIiv MANGLE(GetVertexAttribIiv)
+#define glGetVertexAttribIuivEXT MANGLE(GetVertexAttribIuivEXT)
+#define glGetVertexAttribIuiv MANGLE(GetVertexAttribIuiv)
+#define glGetVertexAttribivARB MANGLE(GetVertexAttribivARB)
+#define glGetVertexAttribiv MANGLE(GetVertexAttribiv)
+#define glGetVertexAttribivNV MANGLE(GetVertexAttribivNV)
+#define glGetVertexAttribLdvEXT MANGLE(GetVertexAttribLdvEXT)
+#define glGetVertexAttribLdv MANGLE(GetVertexAttribLdv)
+#define glGetVertexAttribLi64vNV MANGLE(GetVertexAttribLi64vNV)
+#define glGetVertexAttribLui64vNV MANGLE(GetVertexAttribLui64vNV)
+#define glGetVertexAttribPointervARB MANGLE(GetVertexAttribPointervARB)
+#define glGetVertexAttribPointerv MANGLE(GetVertexAttribPointerv)
+#define glGetVertexAttribPointervNV MANGLE(GetVertexAttribPointervNV)
+#define glGetVideoCaptureivNV MANGLE(GetVideoCaptureivNV)
+#define glGetVideoCaptureStreamdvNV MANGLE(GetVideoCaptureStreamdvNV)
+#define glGetVideoCaptureStreamfvNV MANGLE(GetVideoCaptureStreamfvNV)
+#define glGetVideoCaptureStreamivNV MANGLE(GetVideoCaptureStreamivNV)
+#define glGetVideoi64vNV MANGLE(GetVideoi64vNV)
+#define glGetVideoivNV MANGLE(GetVideoivNV)
+#define glGetVideoui64vNV MANGLE(GetVideoui64vNV)
+#define glGetVideouivNV MANGLE(GetVideouivNV)
+#define glGlobalAlphaFactorbSUN MANGLE(GlobalAlphaFactorbSUN)
+#define glGlobalAlphaFactordSUN MANGLE(GlobalAlphaFactordSUN)
+#define glGlobalAlphaFactorfSUN MANGLE(GlobalAlphaFactorfSUN)
+#define glGlobalAlphaFactoriSUN MANGLE(GlobalAlphaFactoriSUN)
+#define glGlobalAlphaFactorsSUN MANGLE(GlobalAlphaFactorsSUN)
+#define glGlobalAlphaFactorubSUN MANGLE(GlobalAlphaFactorubSUN)
+#define glGlobalAlphaFactoruiSUN MANGLE(GlobalAlphaFactoruiSUN)
+#define glGlobalAlphaFactorusSUN MANGLE(GlobalAlphaFactorusSUN)
+#define glHint MANGLE(Hint)
+#define glHintPGI MANGLE(HintPGI)
+#define glHistogramEXT MANGLE(HistogramEXT)
+#define glHistogram MANGLE(Histogram)
+#define glIglooInterfaceSGIX MANGLE(IglooInterfaceSGIX)
+#define glImageTransformParameterfHP MANGLE(ImageTransformParameterfHP)
+#define glImageTransformParameterfvHP MANGLE(ImageTransformParameterfvHP)
+#define glImageTransformParameteriHP MANGLE(ImageTransformParameteriHP)
+#define glImageTransformParameterivHP MANGLE(ImageTransformParameterivHP)
+#define glIndexd MANGLE(Indexd)
+#define glIndexdv MANGLE(Indexdv)
+#define glIndexf MANGLE(Indexf)
+#define glIndexFormatNV MANGLE(IndexFormatNV)
+#define glIndexFuncEXT MANGLE(IndexFuncEXT)
+#define glIndexfv MANGLE(Indexfv)
+#define glIndexi MANGLE(Indexi)
+#define glIndexiv MANGLE(Indexiv)
+#define glIndexMask MANGLE(IndexMask)
+#define glIndexMaterialEXT MANGLE(IndexMaterialEXT)
+#define glIndexPointerEXT MANGLE(IndexPointerEXT)
+#define glIndexPointerListIBM MANGLE(IndexPointerListIBM)
+#define glIndexPointer MANGLE(IndexPointer)
+#define glIndexs MANGLE(Indexs)
+#define glIndexsv MANGLE(Indexsv)
+#define glIndexub MANGLE(Indexub)
+#define glIndexubv MANGLE(Indexubv)
+#define glInitNames MANGLE(InitNames)
+#define glInsertComponentEXT MANGLE(InsertComponentEXT)
+#define glInstrumentsBufferSGIX MANGLE(InstrumentsBufferSGIX)
+#define glInterleavedArrays MANGLE(InterleavedArrays)
+#define glIsAsyncMarkerSGIX MANGLE(IsAsyncMarkerSGIX)
+#define glIsBufferARB MANGLE(IsBufferARB)
+#define glIsBuffer MANGLE(IsBuffer)
+#define glIsBufferResidentNV MANGLE(IsBufferResidentNV)
+#define glIsEnabledi MANGLE(IsEnabledi)
+#define glIsEnabledIndexedEXT MANGLE(IsEnabledIndexedEXT)
+#define glIsEnabled MANGLE(IsEnabled)
+#define glIsFenceAPPLE MANGLE(IsFenceAPPLE)
+#define glIsFenceNV MANGLE(IsFenceNV)
+#define glIsFramebufferEXT MANGLE(IsFramebufferEXT)
+#define glIsFramebuffer MANGLE(IsFramebuffer)
+#define glIsList MANGLE(IsList)
+#define glIsNameAMD MANGLE(IsNameAMD)
+#define glIsNamedBufferResidentNV MANGLE(IsNamedBufferResidentNV)
+#define glIsNamedStringARB MANGLE(IsNamedStringARB)
+#define glIsObjectBufferATI MANGLE(IsObjectBufferATI)
+#define glIsOcclusionQueryNV MANGLE(IsOcclusionQueryNV)
+#define glIsProgramARB MANGLE(IsProgramARB)
+#define glIsProgram MANGLE(IsProgram)
+#define glIsProgramNV MANGLE(IsProgramNV)
+#define glIsProgramPipeline MANGLE(IsProgramPipeline)
+#define glIsQueryARB MANGLE(IsQueryARB)
+#define glIsQuery MANGLE(IsQuery)
+#define glIsRenderbufferEXT MANGLE(IsRenderbufferEXT)
+#define glIsRenderbuffer MANGLE(IsRenderbuffer)
+#define glIsSampler MANGLE(IsSampler)
+#define glIsShader MANGLE(IsShader)
+#define glIsSync MANGLE(IsSync)
+#define glIsTextureEXT MANGLE(IsTextureEXT)
+#define glIsTexture MANGLE(IsTexture)
+#define glIsTransformFeedback MANGLE(IsTransformFeedback)
+#define glIsTransformFeedbackNV MANGLE(IsTransformFeedbackNV)
+#define glIsVariantEnabledEXT MANGLE(IsVariantEnabledEXT)
+#define glIsVertexArrayAPPLE MANGLE(IsVertexArrayAPPLE)
+#define glIsVertexArray MANGLE(IsVertexArray)
+#define glIsVertexAttribEnabledAPPLE MANGLE(IsVertexAttribEnabledAPPLE)
+#define glLightEnviSGIX MANGLE(LightEnviSGIX)
+#define glLightf MANGLE(Lightf)
+#define glLightfv MANGLE(Lightfv)
+#define glLighti MANGLE(Lighti)
+#define glLightiv MANGLE(Lightiv)
+#define glLightModelf MANGLE(LightModelf)
+#define glLightModelfv MANGLE(LightModelfv)
+#define glLightModeli MANGLE(LightModeli)
+#define glLightModeliv MANGLE(LightModeliv)
+#define glLineStipple MANGLE(LineStipple)
+#define glLineWidth MANGLE(LineWidth)
+#define glLinkProgramARB MANGLE(LinkProgramARB)
+#define glLinkProgram MANGLE(LinkProgram)
+#define glListBase MANGLE(ListBase)
+#define glListParameterfSGIX MANGLE(ListParameterfSGIX)
+#define glListParameterfvSGIX MANGLE(ListParameterfvSGIX)
+#define glListParameteriSGIX MANGLE(ListParameteriSGIX)
+#define glListParameterivSGIX MANGLE(ListParameterivSGIX)
+#define glLoadIdentityDeformationMapSGIX MANGLE(LoadIdentityDeformationMapSGIX)
+#define glLoadIdentity MANGLE(LoadIdentity)
+#define glLoadMatrixd MANGLE(LoadMatrixd)
+#define glLoadMatrixf MANGLE(LoadMatrixf)
+#define glLoadName MANGLE(LoadName)
+#define glLoadProgramNV MANGLE(LoadProgramNV)
+#define glLoadTransposeMatrixdARB MANGLE(LoadTransposeMatrixdARB)
+#define glLoadTransposeMatrixd MANGLE(LoadTransposeMatrixd)
+#define glLoadTransposeMatrixfARB MANGLE(LoadTransposeMatrixfARB)
+#define glLoadTransposeMatrixf MANGLE(LoadTransposeMatrixf)
+#define glLockArraysEXT MANGLE(LockArraysEXT)
+#define glLogicOp MANGLE(LogicOp)
+#define glMakeBufferNonResidentNV MANGLE(MakeBufferNonResidentNV)
+#define glMakeBufferResidentNV MANGLE(MakeBufferResidentNV)
+#define glMakeNamedBufferNonResidentNV MANGLE(MakeNamedBufferNonResidentNV)
+#define glMakeNamedBufferResidentNV MANGLE(MakeNamedBufferResidentNV)
+#define glMap1d MANGLE(Map1d)
+#define glMap1f MANGLE(Map1f)
+#define glMap2d MANGLE(Map2d)
+#define glMap2f MANGLE(Map2f)
+#define glMapBufferARB MANGLE(MapBufferARB)
+#define glMapBuffer MANGLE(MapBuffer)
+#define glMapBufferRange MANGLE(MapBufferRange)
+#define glMapControlPointsNV MANGLE(MapControlPointsNV)
+#define glMapGrid1d MANGLE(MapGrid1d)
+#define glMapGrid1f MANGLE(MapGrid1f)
+#define glMapGrid2d MANGLE(MapGrid2d)
+#define glMapGrid2f MANGLE(MapGrid2f)
+#define glMapNamedBufferEXT MANGLE(MapNamedBufferEXT)
+#define glMapNamedBufferRangeEXT MANGLE(MapNamedBufferRangeEXT)
+#define glMapObjectBufferATI MANGLE(MapObjectBufferATI)
+#define glMapParameterfvNV MANGLE(MapParameterfvNV)
+#define glMapParameterivNV MANGLE(MapParameterivNV)
+#define glMapVertexAttrib1dAPPLE MANGLE(MapVertexAttrib1dAPPLE)
+#define glMapVertexAttrib1fAPPLE MANGLE(MapVertexAttrib1fAPPLE)
+#define glMapVertexAttrib2dAPPLE MANGLE(MapVertexAttrib2dAPPLE)
+#define glMapVertexAttrib2fAPPLE MANGLE(MapVertexAttrib2fAPPLE)
+#define glMaterialf MANGLE(Materialf)
+#define glMaterialfv MANGLE(Materialfv)
+#define glMateriali MANGLE(Materiali)
+#define glMaterialiv MANGLE(Materialiv)
+#define glMatrixFrustumEXT MANGLE(MatrixFrustumEXT)
+#define glMatrixIndexPointerARB MANGLE(MatrixIndexPointerARB)
+#define glMatrixIndexubvARB MANGLE(MatrixIndexubvARB)
+#define glMatrixIndexuivARB MANGLE(MatrixIndexuivARB)
+#define glMatrixIndexusvARB MANGLE(MatrixIndexusvARB)
+#define glMatrixLoaddEXT MANGLE(MatrixLoaddEXT)
+#define glMatrixLoadfEXT MANGLE(MatrixLoadfEXT)
+#define glMatrixLoadIdentityEXT MANGLE(MatrixLoadIdentityEXT)
+#define glMatrixLoadTransposedEXT MANGLE(MatrixLoadTransposedEXT)
+#define glMatrixLoadTransposefEXT MANGLE(MatrixLoadTransposefEXT)
+#define glMatrixMode MANGLE(MatrixMode)
+#define glMatrixMultdEXT MANGLE(MatrixMultdEXT)
+#define glMatrixMultfEXT MANGLE(MatrixMultfEXT)
+#define glMatrixMultTransposedEXT MANGLE(MatrixMultTransposedEXT)
+#define glMatrixMultTransposefEXT MANGLE(MatrixMultTransposefEXT)
+#define glMatrixOrthoEXT MANGLE(MatrixOrthoEXT)
+#define glMatrixPopEXT MANGLE(MatrixPopEXT)
+#define glMatrixPushEXT MANGLE(MatrixPushEXT)
+#define glMatrixRotatedEXT MANGLE(MatrixRotatedEXT)
+#define glMatrixRotatefEXT MANGLE(MatrixRotatefEXT)
+#define glMatrixScaledEXT MANGLE(MatrixScaledEXT)
+#define glMatrixScalefEXT MANGLE(MatrixScalefEXT)
+#define glMatrixTranslatedEXT MANGLE(MatrixTranslatedEXT)
+#define glMatrixTranslatefEXT MANGLE(MatrixTranslatefEXT)
+#define glMemoryBarrierEXT MANGLE(MemoryBarrierEXT)
+#define glMinmaxEXT MANGLE(MinmaxEXT)
+#define glMinmax MANGLE(Minmax)
+#define glMinSampleShadingARB MANGLE(MinSampleShadingARB)
+#define glMinSampleShading MANGLE(MinSampleShading)
+#define glMultiDrawArraysEXT MANGLE(MultiDrawArraysEXT)
+#define glMultiDrawArrays MANGLE(MultiDrawArrays)
+#define glMultiDrawElementArrayAPPLE MANGLE(MultiDrawElementArrayAPPLE)
+#define glMultiDrawElementsBaseVertex MANGLE(MultiDrawElementsBaseVertex)
+#define glMultiDrawElementsEXT MANGLE(MultiDrawElementsEXT)
+#define glMultiDrawElements MANGLE(MultiDrawElements)
+#define glMultiDrawRangeElementArrayAPPLE MANGLE(MultiDrawRangeElementArrayAPPLE)
+#define glMultiModeDrawArraysIBM MANGLE(MultiModeDrawArraysIBM)
+#define glMultiModeDrawElementsIBM MANGLE(MultiModeDrawElementsIBM)
+#define glMultiTexBufferEXT MANGLE(MultiTexBufferEXT)
+#define glMultiTexCoord1dARB MANGLE(MultiTexCoord1dARB)
+#define glMultiTexCoord1d MANGLE(MultiTexCoord1d)
+#define glMultiTexCoord1dvARB MANGLE(MultiTexCoord1dvARB)
+#define glMultiTexCoord1dv MANGLE(MultiTexCoord1dv)
+#define glMultiTexCoord1fARB MANGLE(MultiTexCoord1fARB)
+#define glMultiTexCoord1f MANGLE(MultiTexCoord1f)
+#define glMultiTexCoord1fvARB MANGLE(MultiTexCoord1fvARB)
+#define glMultiTexCoord1fv MANGLE(MultiTexCoord1fv)
+#define glMultiTexCoord1hNV MANGLE(MultiTexCoord1hNV)
+#define glMultiTexCoord1hvNV MANGLE(MultiTexCoord1hvNV)
+#define glMultiTexCoord1iARB MANGLE(MultiTexCoord1iARB)
+#define glMultiTexCoord1i MANGLE(MultiTexCoord1i)
+#define glMultiTexCoord1ivARB MANGLE(MultiTexCoord1ivARB)
+#define glMultiTexCoord1iv MANGLE(MultiTexCoord1iv)
+#define glMultiTexCoord1sARB MANGLE(MultiTexCoord1sARB)
+#define glMultiTexCoord1s MANGLE(MultiTexCoord1s)
+#define glMultiTexCoord1svARB MANGLE(MultiTexCoord1svARB)
+#define glMultiTexCoord1sv MANGLE(MultiTexCoord1sv)
+#define glMultiTexCoord2dARB MANGLE(MultiTexCoord2dARB)
+#define glMultiTexCoord2d MANGLE(MultiTexCoord2d)
+#define glMultiTexCoord2dvARB MANGLE(MultiTexCoord2dvARB)
+#define glMultiTexCoord2dv MANGLE(MultiTexCoord2dv)
+#define glMultiTexCoord2fARB MANGLE(MultiTexCoord2fARB)
+#define glMultiTexCoord2f MANGLE(MultiTexCoord2f)
+#define glMultiTexCoord2fvARB MANGLE(MultiTexCoord2fvARB)
+#define glMultiTexCoord2fv MANGLE(MultiTexCoord2fv)
+#define glMultiTexCoord2hNV MANGLE(MultiTexCoord2hNV)
+#define glMultiTexCoord2hvNV MANGLE(MultiTexCoord2hvNV)
+#define glMultiTexCoord2iARB MANGLE(MultiTexCoord2iARB)
+#define glMultiTexCoord2i MANGLE(MultiTexCoord2i)
+#define glMultiTexCoord2ivARB MANGLE(MultiTexCoord2ivARB)
+#define glMultiTexCoord2iv MANGLE(MultiTexCoord2iv)
+#define glMultiTexCoord2sARB MANGLE(MultiTexCoord2sARB)
+#define glMultiTexCoord2s MANGLE(MultiTexCoord2s)
+#define glMultiTexCoord2svARB MANGLE(MultiTexCoord2svARB)
+#define glMultiTexCoord2sv MANGLE(MultiTexCoord2sv)
+#define glMultiTexCoord3dARB MANGLE(MultiTexCoord3dARB)
+#define glMultiTexCoord3d MANGLE(MultiTexCoord3d)
+#define glMultiTexCoord3dvARB MANGLE(MultiTexCoord3dvARB)
+#define glMultiTexCoord3dv MANGLE(MultiTexCoord3dv)
+#define glMultiTexCoord3fARB MANGLE(MultiTexCoord3fARB)
+#define glMultiTexCoord3f MANGLE(MultiTexCoord3f)
+#define glMultiTexCoord3fvARB MANGLE(MultiTexCoord3fvARB)
+#define glMultiTexCoord3fv MANGLE(MultiTexCoord3fv)
+#define glMultiTexCoord3hNV MANGLE(MultiTexCoord3hNV)
+#define glMultiTexCoord3hvNV MANGLE(MultiTexCoord3hvNV)
+#define glMultiTexCoord3iARB MANGLE(MultiTexCoord3iARB)
+#define glMultiTexCoord3i MANGLE(MultiTexCoord3i)
+#define glMultiTexCoord3ivARB MANGLE(MultiTexCoord3ivARB)
+#define glMultiTexCoord3iv MANGLE(MultiTexCoord3iv)
+#define glMultiTexCoord3sARB MANGLE(MultiTexCoord3sARB)
+#define glMultiTexCoord3s MANGLE(MultiTexCoord3s)
+#define glMultiTexCoord3svARB MANGLE(MultiTexCoord3svARB)
+#define glMultiTexCoord3sv MANGLE(MultiTexCoord3sv)
+#define glMultiTexCoord4dARB MANGLE(MultiTexCoord4dARB)
+#define glMultiTexCoord4d MANGLE(MultiTexCoord4d)
+#define glMultiTexCoord4dvARB MANGLE(MultiTexCoord4dvARB)
+#define glMultiTexCoord4dv MANGLE(MultiTexCoord4dv)
+#define glMultiTexCoord4fARB MANGLE(MultiTexCoord4fARB)
+#define glMultiTexCoord4f MANGLE(MultiTexCoord4f)
+#define glMultiTexCoord4fvARB MANGLE(MultiTexCoord4fvARB)
+#define glMultiTexCoord4fv MANGLE(MultiTexCoord4fv)
+#define glMultiTexCoord4hNV MANGLE(MultiTexCoord4hNV)
+#define glMultiTexCoord4hvNV MANGLE(MultiTexCoord4hvNV)
+#define glMultiTexCoord4iARB MANGLE(MultiTexCoord4iARB)
+#define glMultiTexCoord4i MANGLE(MultiTexCoord4i)
+#define glMultiTexCoord4ivARB MANGLE(MultiTexCoord4ivARB)
+#define glMultiTexCoord4iv MANGLE(MultiTexCoord4iv)
+#define glMultiTexCoord4sARB MANGLE(MultiTexCoord4sARB)
+#define glMultiTexCoord4s MANGLE(MultiTexCoord4s)
+#define glMultiTexCoord4svARB MANGLE(MultiTexCoord4svARB)
+#define glMultiTexCoord4sv MANGLE(MultiTexCoord4sv)
+#define glMultiTexCoordP1ui MANGLE(MultiTexCoordP1ui)
+#define glMultiTexCoordP1uiv MANGLE(MultiTexCoordP1uiv)
+#define glMultiTexCoordP2ui MANGLE(MultiTexCoordP2ui)
+#define glMultiTexCoordP2uiv MANGLE(MultiTexCoordP2uiv)
+#define glMultiTexCoordP3ui MANGLE(MultiTexCoordP3ui)
+#define glMultiTexCoordP3uiv MANGLE(MultiTexCoordP3uiv)
+#define glMultiTexCoordP4ui MANGLE(MultiTexCoordP4ui)
+#define glMultiTexCoordP4uiv MANGLE(MultiTexCoordP4uiv)
+#define glMultiTexCoordPointerEXT MANGLE(MultiTexCoordPointerEXT)
+#define glMultiTexEnvfEXT MANGLE(MultiTexEnvfEXT)
+#define glMultiTexEnvfvEXT MANGLE(MultiTexEnvfvEXT)
+#define glMultiTexEnviEXT MANGLE(MultiTexEnviEXT)
+#define glMultiTexEnvivEXT MANGLE(MultiTexEnvivEXT)
+#define glMultiTexGendEXT MANGLE(MultiTexGendEXT)
+#define glMultiTexGendvEXT MANGLE(MultiTexGendvEXT)
+#define glMultiTexGenfEXT MANGLE(MultiTexGenfEXT)
+#define glMultiTexGenfvEXT MANGLE(MultiTexGenfvEXT)
+#define glMultiTexGeniEXT MANGLE(MultiTexGeniEXT)
+#define glMultiTexGenivEXT MANGLE(MultiTexGenivEXT)
+#define glMultiTexImage1DEXT MANGLE(MultiTexImage1DEXT)
+#define glMultiTexImage2DEXT MANGLE(MultiTexImage2DEXT)
+#define glMultiTexImage3DEXT MANGLE(MultiTexImage3DEXT)
+#define glMultiTexParameterfEXT MANGLE(MultiTexParameterfEXT)
+#define glMultiTexParameterfvEXT MANGLE(MultiTexParameterfvEXT)
+#define glMultiTexParameteriEXT MANGLE(MultiTexParameteriEXT)
+#define glMultiTexParameterIivEXT MANGLE(MultiTexParameterIivEXT)
+#define glMultiTexParameterIuivEXT MANGLE(MultiTexParameterIuivEXT)
+#define glMultiTexParameterivEXT MANGLE(MultiTexParameterivEXT)
+#define glMultiTexRenderbufferEXT MANGLE(MultiTexRenderbufferEXT)
+#define glMultiTexSubImage1DEXT MANGLE(MultiTexSubImage1DEXT)
+#define glMultiTexSubImage2DEXT MANGLE(MultiTexSubImage2DEXT)
+#define glMultiTexSubImage3DEXT MANGLE(MultiTexSubImage3DEXT)
+#define glMultMatrixd MANGLE(MultMatrixd)
+#define glMultMatrixf MANGLE(MultMatrixf)
+#define glMultTransposeMatrixdARB MANGLE(MultTransposeMatrixdARB)
+#define glMultTransposeMatrixd MANGLE(MultTransposeMatrixd)
+#define glMultTransposeMatrixfARB MANGLE(MultTransposeMatrixfARB)
+#define glMultTransposeMatrixf MANGLE(MultTransposeMatrixf)
+#define glNamedBufferDataEXT MANGLE(NamedBufferDataEXT)
+#define glNamedBufferSubDataEXT MANGLE(NamedBufferSubDataEXT)
+#define glNamedCopyBufferSubDataEXT MANGLE(NamedCopyBufferSubDataEXT)
+#define glNamedFramebufferRenderbufferEXT MANGLE(NamedFramebufferRenderbufferEXT)
+#define glNamedFramebufferTexture1DEXT MANGLE(NamedFramebufferTexture1DEXT)
+#define glNamedFramebufferTexture2DEXT MANGLE(NamedFramebufferTexture2DEXT)
+#define glNamedFramebufferTexture3DEXT MANGLE(NamedFramebufferTexture3DEXT)
+#define glNamedFramebufferTextureEXT MANGLE(NamedFramebufferTextureEXT)
+#define glNamedFramebufferTextureFaceEXT MANGLE(NamedFramebufferTextureFaceEXT)
+#define glNamedFramebufferTextureLayerEXT MANGLE(NamedFramebufferTextureLayerEXT)
+#define glNamedProgramLocalParameter4dEXT MANGLE(NamedProgramLocalParameter4dEXT)
+#define glNamedProgramLocalParameter4dvEXT MANGLE(NamedProgramLocalParameter4dvEXT)
+#define glNamedProgramLocalParameter4fEXT MANGLE(NamedProgramLocalParameter4fEXT)
+#define glNamedProgramLocalParameter4fvEXT MANGLE(NamedProgramLocalParameter4fvEXT)
+#define glNamedProgramLocalParameterI4iEXT MANGLE(NamedProgramLocalParameterI4iEXT)
+#define glNamedProgramLocalParameterI4ivEXT MANGLE(NamedProgramLocalParameterI4ivEXT)
+#define glNamedProgramLocalParameterI4uiEXT MANGLE(NamedProgramLocalParameterI4uiEXT)
+#define glNamedProgramLocalParameterI4uivEXT MANGLE(NamedProgramLocalParameterI4uivEXT)
+#define glNamedProgramLocalParameters4fvEXT MANGLE(NamedProgramLocalParameters4fvEXT)
+#define glNamedProgramLocalParametersI4ivEXT MANGLE(NamedProgramLocalParametersI4ivEXT)
+#define glNamedProgramLocalParametersI4uivEXT MANGLE(NamedProgramLocalParametersI4uivEXT)
+#define glNamedProgramStringEXT MANGLE(NamedProgramStringEXT)
+#define glNamedRenderbufferStorageEXT MANGLE(NamedRenderbufferStorageEXT)
+#define glNamedRenderbufferStorageMultisampleCoverageEXT MANGLE(NamedRenderbufferStorageMultisampleCoverageEXT)
+#define glNamedRenderbufferStorageMultisampleEXT MANGLE(NamedRenderbufferStorageMultisampleEXT)
+#define glNamedStringARB MANGLE(NamedStringARB)
+#define glNewList MANGLE(NewList)
+#define glNewObjectBufferATI MANGLE(NewObjectBufferATI)
+#define glNormal3b MANGLE(Normal3b)
+#define glNormal3bv MANGLE(Normal3bv)
+#define glNormal3d MANGLE(Normal3d)
+#define glNormal3dv MANGLE(Normal3dv)
+#define glNormal3f MANGLE(Normal3f)
+#define glNormal3fVertex3fSUN MANGLE(Normal3fVertex3fSUN)
+#define glNormal3fVertex3fvSUN MANGLE(Normal3fVertex3fvSUN)
+#define glNormal3fv MANGLE(Normal3fv)
+#define glNormal3hNV MANGLE(Normal3hNV)
+#define glNormal3hvNV MANGLE(Normal3hvNV)
+#define glNormal3i MANGLE(Normal3i)
+#define glNormal3iv MANGLE(Normal3iv)
+#define glNormal3s MANGLE(Normal3s)
+#define glNormal3sv MANGLE(Normal3sv)
+#define glNormalFormatNV MANGLE(NormalFormatNV)
+#define glNormalP3ui MANGLE(NormalP3ui)
+#define glNormalP3uiv MANGLE(NormalP3uiv)
+#define glNormalPointerEXT MANGLE(NormalPointerEXT)
+#define glNormalPointerListIBM MANGLE(NormalPointerListIBM)
+#define glNormalPointer MANGLE(NormalPointer)
+#define glNormalPointervINTEL MANGLE(NormalPointervINTEL)
+#define glNormalStream3bATI MANGLE(NormalStream3bATI)
+#define glNormalStream3bvATI MANGLE(NormalStream3bvATI)
+#define glNormalStream3dATI MANGLE(NormalStream3dATI)
+#define glNormalStream3dvATI MANGLE(NormalStream3dvATI)
+#define glNormalStream3fATI MANGLE(NormalStream3fATI)
+#define glNormalStream3fvATI MANGLE(NormalStream3fvATI)
+#define glNormalStream3iATI MANGLE(NormalStream3iATI)
+#define glNormalStream3ivATI MANGLE(NormalStream3ivATI)
+#define glNormalStream3sATI MANGLE(NormalStream3sATI)
+#define glNormalStream3svATI MANGLE(NormalStream3svATI)
+#define glObjectPurgeableAPPLE MANGLE(ObjectPurgeableAPPLE)
+#define glObjectUnpurgeableAPPLE MANGLE(ObjectUnpurgeableAPPLE)
+#define glOrtho MANGLE(Ortho)
+#define glPassTexCoordATI MANGLE(PassTexCoordATI)
+#define glPassThrough MANGLE(PassThrough)
+#define glPatchParameterfv MANGLE(PatchParameterfv)
+#define glPatchParameteri MANGLE(PatchParameteri)
+#define glPauseTransformFeedback MANGLE(PauseTransformFeedback)
+#define glPauseTransformFeedbackNV MANGLE(PauseTransformFeedbackNV)
+#define glPixelDataRangeNV MANGLE(PixelDataRangeNV)
+#define glPixelMapfv MANGLE(PixelMapfv)
+#define glPixelMapuiv MANGLE(PixelMapuiv)
+#define glPixelMapusv MANGLE(PixelMapusv)
+#define glPixelStoref MANGLE(PixelStoref)
+#define glPixelStorei MANGLE(PixelStorei)
+#define glPixelTexGenParameterfSGIS MANGLE(PixelTexGenParameterfSGIS)
+#define glPixelTexGenParameterfvSGIS MANGLE(PixelTexGenParameterfvSGIS)
+#define glPixelTexGenParameteriSGIS MANGLE(PixelTexGenParameteriSGIS)
+#define glPixelTexGenParameterivSGIS MANGLE(PixelTexGenParameterivSGIS)
+#define glPixelTexGenSGIX MANGLE(PixelTexGenSGIX)
+#define glPixelTransferf MANGLE(PixelTransferf)
+#define glPixelTransferi MANGLE(PixelTransferi)
+#define glPixelTransformParameterfEXT MANGLE(PixelTransformParameterfEXT)
+#define glPixelTransformParameterfvEXT MANGLE(PixelTransformParameterfvEXT)
+#define glPixelTransformParameteriEXT MANGLE(PixelTransformParameteriEXT)
+#define glPixelTransformParameterivEXT MANGLE(PixelTransformParameterivEXT)
+#define glPixelZoom MANGLE(PixelZoom)
+#define glPNTrianglesfATI MANGLE(PNTrianglesfATI)
+#define glPNTrianglesiATI MANGLE(PNTrianglesiATI)
+#define glPointParameterfARB MANGLE(PointParameterfARB)
+#define glPointParameterfEXT MANGLE(PointParameterfEXT)
+#define glPointParameterf MANGLE(PointParameterf)
+#define glPointParameterfSGIS MANGLE(PointParameterfSGIS)
+#define glPointParameterfvARB MANGLE(PointParameterfvARB)
+#define glPointParameterfvEXT MANGLE(PointParameterfvEXT)
+#define glPointParameterfv MANGLE(PointParameterfv)
+#define glPointParameterfvSGIS MANGLE(PointParameterfvSGIS)
+#define glPointParameteri MANGLE(PointParameteri)
+#define glPointParameteriNV MANGLE(PointParameteriNV)
+#define glPointParameteriv MANGLE(PointParameteriv)
+#define glPointParameterivNV MANGLE(PointParameterivNV)
+#define glPointSize MANGLE(PointSize)
+#define glPollAsyncSGIX MANGLE(PollAsyncSGIX)
+#define glPollInstrumentsSGIX MANGLE(PollInstrumentsSGIX)
+#define glPolygonMode MANGLE(PolygonMode)
+#define glPolygonOffsetEXT MANGLE(PolygonOffsetEXT)
+#define glPolygonOffset MANGLE(PolygonOffset)
+#define glPolygonStipple MANGLE(PolygonStipple)
+#define glPopAttrib MANGLE(PopAttrib)
+#define glPopClientAttrib MANGLE(PopClientAttrib)
+#define glPopMatrix MANGLE(PopMatrix)
+#define glPopName MANGLE(PopName)
+#define glPresentFrameDualFillNV MANGLE(PresentFrameDualFillNV)
+#define glPresentFrameKeyedNV MANGLE(PresentFrameKeyedNV)
+#define glPrimitiveRestartIndex MANGLE(PrimitiveRestartIndex)
+#define glPrimitiveRestartIndexNV MANGLE(PrimitiveRestartIndexNV)
+#define glPrimitiveRestartNV MANGLE(PrimitiveRestartNV)
+#define glPrioritizeTexturesEXT MANGLE(PrioritizeTexturesEXT)
+#define glPrioritizeTextures MANGLE(PrioritizeTextures)
+#define glProgramBinary MANGLE(ProgramBinary)
+#define glProgramBufferParametersfvNV MANGLE(ProgramBufferParametersfvNV)
+#define glProgramBufferParametersIivNV MANGLE(ProgramBufferParametersIivNV)
+#define glProgramBufferParametersIuivNV MANGLE(ProgramBufferParametersIuivNV)
+#define glProgramCallbackMESA MANGLE(ProgramCallbackMESA)
+#define glProgramEnvParameter4dARB MANGLE(ProgramEnvParameter4dARB)
+#define glProgramEnvParameter4dvARB MANGLE(ProgramEnvParameter4dvARB)
+#define glProgramEnvParameter4fARB MANGLE(ProgramEnvParameter4fARB)
+#define glProgramEnvParameter4fvARB MANGLE(ProgramEnvParameter4fvARB)
+#define glProgramEnvParameterI4iNV MANGLE(ProgramEnvParameterI4iNV)
+#define glProgramEnvParameterI4ivNV MANGLE(ProgramEnvParameterI4ivNV)
+#define glProgramEnvParameterI4uiNV MANGLE(ProgramEnvParameterI4uiNV)
+#define glProgramEnvParameterI4uivNV MANGLE(ProgramEnvParameterI4uivNV)
+#define glProgramEnvParameters4fvEXT MANGLE(ProgramEnvParameters4fvEXT)
+#define glProgramEnvParametersI4ivNV MANGLE(ProgramEnvParametersI4ivNV)
+#define glProgramEnvParametersI4uivNV MANGLE(ProgramEnvParametersI4uivNV)
+#define glProgramLocalParameter4dARB MANGLE(ProgramLocalParameter4dARB)
+#define glProgramLocalParameter4dvARB MANGLE(ProgramLocalParameter4dvARB)
+#define glProgramLocalParameter4fARB MANGLE(ProgramLocalParameter4fARB)
+#define glProgramLocalParameter4fvARB MANGLE(ProgramLocalParameter4fvARB)
+#define glProgramLocalParameterI4iNV MANGLE(ProgramLocalParameterI4iNV)
+#define glProgramLocalParameterI4ivNV MANGLE(ProgramLocalParameterI4ivNV)
+#define glProgramLocalParameterI4uiNV MANGLE(ProgramLocalParameterI4uiNV)
+#define glProgramLocalParameterI4uivNV MANGLE(ProgramLocalParameterI4uivNV)
+#define glProgramLocalParameters4fvEXT MANGLE(ProgramLocalParameters4fvEXT)
+#define glProgramLocalParametersI4ivNV MANGLE(ProgramLocalParametersI4ivNV)
+#define glProgramLocalParametersI4uivNV MANGLE(ProgramLocalParametersI4uivNV)
+#define glProgramNamedParameter4dNV MANGLE(ProgramNamedParameter4dNV)
+#define glProgramNamedParameter4dvNV MANGLE(ProgramNamedParameter4dvNV)
+#define glProgramNamedParameter4fNV MANGLE(ProgramNamedParameter4fNV)
+#define glProgramNamedParameter4fvNV MANGLE(ProgramNamedParameter4fvNV)
+#define glProgramParameter4dNV MANGLE(ProgramParameter4dNV)
+#define glProgramParameter4dvNV MANGLE(ProgramParameter4dvNV)
+#define glProgramParameter4fNV MANGLE(ProgramParameter4fNV)
+#define glProgramParameter4fvNV MANGLE(ProgramParameter4fvNV)
+#define glProgramParameteriARB MANGLE(ProgramParameteriARB)
+#define glProgramParameteriEXT MANGLE(ProgramParameteriEXT)
+#define glProgramParameteri MANGLE(ProgramParameteri)
+#define glProgramParameters4dvNV MANGLE(ProgramParameters4dvNV)
+#define glProgramParameters4fvNV MANGLE(ProgramParameters4fvNV)
+#define glProgramStringARB MANGLE(ProgramStringARB)
+#define glProgramSubroutineParametersuivNV MANGLE(ProgramSubroutineParametersuivNV)
+#define glProgramUniform1dEXT MANGLE(ProgramUniform1dEXT)
+#define glProgramUniform1d MANGLE(ProgramUniform1d)
+#define glProgramUniform1dvEXT MANGLE(ProgramUniform1dvEXT)
+#define glProgramUniform1dv MANGLE(ProgramUniform1dv)
+#define glProgramUniform1fEXT MANGLE(ProgramUniform1fEXT)
+#define glProgramUniform1f MANGLE(ProgramUniform1f)
+#define glProgramUniform1fvEXT MANGLE(ProgramUniform1fvEXT)
+#define glProgramUniform1fv MANGLE(ProgramUniform1fv)
+#define glProgramUniform1i64NV MANGLE(ProgramUniform1i64NV)
+#define glProgramUniform1i64vNV MANGLE(ProgramUniform1i64vNV)
+#define glProgramUniform1iEXT MANGLE(ProgramUniform1iEXT)
+#define glProgramUniform1i MANGLE(ProgramUniform1i)
+#define glProgramUniform1ivEXT MANGLE(ProgramUniform1ivEXT)
+#define glProgramUniform1iv MANGLE(ProgramUniform1iv)
+#define glProgramUniform1ui64NV MANGLE(ProgramUniform1ui64NV)
+#define glProgramUniform1ui64vNV MANGLE(ProgramUniform1ui64vNV)
+#define glProgramUniform1uiEXT MANGLE(ProgramUniform1uiEXT)
+#define glProgramUniform1ui MANGLE(ProgramUniform1ui)
+#define glProgramUniform1uivEXT MANGLE(ProgramUniform1uivEXT)
+#define glProgramUniform1uiv MANGLE(ProgramUniform1uiv)
+#define glProgramUniform2dEXT MANGLE(ProgramUniform2dEXT)
+#define glProgramUniform2d MANGLE(ProgramUniform2d)
+#define glProgramUniform2dvEXT MANGLE(ProgramUniform2dvEXT)
+#define glProgramUniform2dv MANGLE(ProgramUniform2dv)
+#define glProgramUniform2fEXT MANGLE(ProgramUniform2fEXT)
+#define glProgramUniform2f MANGLE(ProgramUniform2f)
+#define glProgramUniform2fvEXT MANGLE(ProgramUniform2fvEXT)
+#define glProgramUniform2fv MANGLE(ProgramUniform2fv)
+#define glProgramUniform2i64NV MANGLE(ProgramUniform2i64NV)
+#define glProgramUniform2i64vNV MANGLE(ProgramUniform2i64vNV)
+#define glProgramUniform2iEXT MANGLE(ProgramUniform2iEXT)
+#define glProgramUniform2i MANGLE(ProgramUniform2i)
+#define glProgramUniform2ivEXT MANGLE(ProgramUniform2ivEXT)
+#define glProgramUniform2iv MANGLE(ProgramUniform2iv)
+#define glProgramUniform2ui64NV MANGLE(ProgramUniform2ui64NV)
+#define glProgramUniform2ui64vNV MANGLE(ProgramUniform2ui64vNV)
+#define glProgramUniform2uiEXT MANGLE(ProgramUniform2uiEXT)
+#define glProgramUniform2ui MANGLE(ProgramUniform2ui)
+#define glProgramUniform2uivEXT MANGLE(ProgramUniform2uivEXT)
+#define glProgramUniform2uiv MANGLE(ProgramUniform2uiv)
+#define glProgramUniform3dEXT MANGLE(ProgramUniform3dEXT)
+#define glProgramUniform3d MANGLE(ProgramUniform3d)
+#define glProgramUniform3dvEXT MANGLE(ProgramUniform3dvEXT)
+#define glProgramUniform3dv MANGLE(ProgramUniform3dv)
+#define glProgramUniform3fEXT MANGLE(ProgramUniform3fEXT)
+#define glProgramUniform3f MANGLE(ProgramUniform3f)
+#define glProgramUniform3fvEXT MANGLE(ProgramUniform3fvEXT)
+#define glProgramUniform3fv MANGLE(ProgramUniform3fv)
+#define glProgramUniform3i64NV MANGLE(ProgramUniform3i64NV)
+#define glProgramUniform3i64vNV MANGLE(ProgramUniform3i64vNV)
+#define glProgramUniform3iEXT MANGLE(ProgramUniform3iEXT)
+#define glProgramUniform3i MANGLE(ProgramUniform3i)
+#define glProgramUniform3ivEXT MANGLE(ProgramUniform3ivEXT)
+#define glProgramUniform3iv MANGLE(ProgramUniform3iv)
+#define glProgramUniform3ui64NV MANGLE(ProgramUniform3ui64NV)
+#define glProgramUniform3ui64vNV MANGLE(ProgramUniform3ui64vNV)
+#define glProgramUniform3uiEXT MANGLE(ProgramUniform3uiEXT)
+#define glProgramUniform3ui MANGLE(ProgramUniform3ui)
+#define glProgramUniform3uivEXT MANGLE(ProgramUniform3uivEXT)
+#define glProgramUniform3uiv MANGLE(ProgramUniform3uiv)
+#define glProgramUniform4dEXT MANGLE(ProgramUniform4dEXT)
+#define glProgramUniform4d MANGLE(ProgramUniform4d)
+#define glProgramUniform4dvEXT MANGLE(ProgramUniform4dvEXT)
+#define glProgramUniform4dv MANGLE(ProgramUniform4dv)
+#define glProgramUniform4fEXT MANGLE(ProgramUniform4fEXT)
+#define glProgramUniform4f MANGLE(ProgramUniform4f)
+#define glProgramUniform4fvEXT MANGLE(ProgramUniform4fvEXT)
+#define glProgramUniform4fv MANGLE(ProgramUniform4fv)
+#define glProgramUniform4i64NV MANGLE(ProgramUniform4i64NV)
+#define glProgramUniform4i64vNV MANGLE(ProgramUniform4i64vNV)
+#define glProgramUniform4iEXT MANGLE(ProgramUniform4iEXT)
+#define glProgramUniform4i MANGLE(ProgramUniform4i)
+#define glProgramUniform4ivEXT MANGLE(ProgramUniform4ivEXT)
+#define glProgramUniform4iv MANGLE(ProgramUniform4iv)
+#define glProgramUniform4ui64NV MANGLE(ProgramUniform4ui64NV)
+#define glProgramUniform4ui64vNV MANGLE(ProgramUniform4ui64vNV)
+#define glProgramUniform4uiEXT MANGLE(ProgramUniform4uiEXT)
+#define glProgramUniform4ui MANGLE(ProgramUniform4ui)
+#define glProgramUniform4uivEXT MANGLE(ProgramUniform4uivEXT)
+#define glProgramUniform4uiv MANGLE(ProgramUniform4uiv)
+#define glProgramUniformMatrix2dvEXT MANGLE(ProgramUniformMatrix2dvEXT)
+#define glProgramUniformMatrix2dv MANGLE(ProgramUniformMatrix2dv)
+#define glProgramUniformMatrix2fvEXT MANGLE(ProgramUniformMatrix2fvEXT)
+#define glProgramUniformMatrix2fv MANGLE(ProgramUniformMatrix2fv)
+#define glProgramUniformMatrix2x3dvEXT MANGLE(ProgramUniformMatrix2x3dvEXT)
+#define glProgramUniformMatrix2x3dv MANGLE(ProgramUniformMatrix2x3dv)
+#define glProgramUniformMatrix2x3fvEXT MANGLE(ProgramUniformMatrix2x3fvEXT)
+#define glProgramUniformMatrix2x3fv MANGLE(ProgramUniformMatrix2x3fv)
+#define glProgramUniformMatrix2x4dvEXT MANGLE(ProgramUniformMatrix2x4dvEXT)
+#define glProgramUniformMatrix2x4dv MANGLE(ProgramUniformMatrix2x4dv)
+#define glProgramUniformMatrix2x4fvEXT MANGLE(ProgramUniformMatrix2x4fvEXT)
+#define glProgramUniformMatrix2x4fv MANGLE(ProgramUniformMatrix2x4fv)
+#define glProgramUniformMatrix3dvEXT MANGLE(ProgramUniformMatrix3dvEXT)
+#define glProgramUniformMatrix3dv MANGLE(ProgramUniformMatrix3dv)
+#define glProgramUniformMatrix3fvEXT MANGLE(ProgramUniformMatrix3fvEXT)
+#define glProgramUniformMatrix3fv MANGLE(ProgramUniformMatrix3fv)
+#define glProgramUniformMatrix3x2dvEXT MANGLE(ProgramUniformMatrix3x2dvEXT)
+#define glProgramUniformMatrix3x2dv MANGLE(ProgramUniformMatrix3x2dv)
+#define glProgramUniformMatrix3x2fvEXT MANGLE(ProgramUniformMatrix3x2fvEXT)
+#define glProgramUniformMatrix3x2fv MANGLE(ProgramUniformMatrix3x2fv)
+#define glProgramUniformMatrix3x4dvEXT MANGLE(ProgramUniformMatrix3x4dvEXT)
+#define glProgramUniformMatrix3x4dv MANGLE(ProgramUniformMatrix3x4dv)
+#define glProgramUniformMatrix3x4fvEXT MANGLE(ProgramUniformMatrix3x4fvEXT)
+#define glProgramUniformMatrix3x4fv MANGLE(ProgramUniformMatrix3x4fv)
+#define glProgramUniformMatrix4dvEXT MANGLE(ProgramUniformMatrix4dvEXT)
+#define glProgramUniformMatrix4dv MANGLE(ProgramUniformMatrix4dv)
+#define glProgramUniformMatrix4fvEXT MANGLE(ProgramUniformMatrix4fvEXT)
+#define glProgramUniformMatrix4fv MANGLE(ProgramUniformMatrix4fv)
+#define glProgramUniformMatrix4x2dvEXT MANGLE(ProgramUniformMatrix4x2dvEXT)
+#define glProgramUniformMatrix4x2dv MANGLE(ProgramUniformMatrix4x2dv)
+#define glProgramUniformMatrix4x2fvEXT MANGLE(ProgramUniformMatrix4x2fvEXT)
+#define glProgramUniformMatrix4x2fv MANGLE(ProgramUniformMatrix4x2fv)
+#define glProgramUniformMatrix4x3dvEXT MANGLE(ProgramUniformMatrix4x3dvEXT)
+#define glProgramUniformMatrix4x3dv MANGLE(ProgramUniformMatrix4x3dv)
+#define glProgramUniformMatrix4x3fvEXT MANGLE(ProgramUniformMatrix4x3fvEXT)
+#define glProgramUniformMatrix4x3fv MANGLE(ProgramUniformMatrix4x3fv)
+#define glProgramUniformui64NV MANGLE(ProgramUniformui64NV)
+#define glProgramUniformui64vNV MANGLE(ProgramUniformui64vNV)
+#define glProgramVertexLimitNV MANGLE(ProgramVertexLimitNV)
+#define glProvokingVertexEXT MANGLE(ProvokingVertexEXT)
+#define glProvokingVertex MANGLE(ProvokingVertex)
+#define glPushAttrib MANGLE(PushAttrib)
+#define glPushClientAttribDefaultEXT MANGLE(PushClientAttribDefaultEXT)
+#define glPushClientAttrib MANGLE(PushClientAttrib)
+#define glPushMatrix MANGLE(PushMatrix)
+#define glPushName MANGLE(PushName)
+#define glQueryCounter MANGLE(QueryCounter)
+#define glRasterPos2d MANGLE(RasterPos2d)
+#define glRasterPos2dv MANGLE(RasterPos2dv)
+#define glRasterPos2f MANGLE(RasterPos2f)
+#define glRasterPos2fv MANGLE(RasterPos2fv)
+#define glRasterPos2i MANGLE(RasterPos2i)
+#define glRasterPos2iv MANGLE(RasterPos2iv)
+#define glRasterPos2s MANGLE(RasterPos2s)
+#define glRasterPos2sv MANGLE(RasterPos2sv)
+#define glRasterPos3d MANGLE(RasterPos3d)
+#define glRasterPos3dv MANGLE(RasterPos3dv)
+#define glRasterPos3f MANGLE(RasterPos3f)
+#define glRasterPos3fv MANGLE(RasterPos3fv)
+#define glRasterPos3i MANGLE(RasterPos3i)
+#define glRasterPos3iv MANGLE(RasterPos3iv)
+#define glRasterPos3s MANGLE(RasterPos3s)
+#define glRasterPos3sv MANGLE(RasterPos3sv)
+#define glRasterPos4d MANGLE(RasterPos4d)
+#define glRasterPos4dv MANGLE(RasterPos4dv)
+#define glRasterPos4f MANGLE(RasterPos4f)
+#define glRasterPos4fv MANGLE(RasterPos4fv)
+#define glRasterPos4i MANGLE(RasterPos4i)
+#define glRasterPos4iv MANGLE(RasterPos4iv)
+#define glRasterPos4s MANGLE(RasterPos4s)
+#define glRasterPos4sv MANGLE(RasterPos4sv)
+#define glReadBuffer MANGLE(ReadBuffer)
+#define glReadInstrumentsSGIX MANGLE(ReadInstrumentsSGIX)
+#define glReadnPixelsARB MANGLE(ReadnPixelsARB)
+#define glReadPixels MANGLE(ReadPixels)
+#define glRectd MANGLE(Rectd)
+#define glRectdv MANGLE(Rectdv)
+#define glRectf MANGLE(Rectf)
+#define glRectfv MANGLE(Rectfv)
+#define glRecti MANGLE(Recti)
+#define glRectiv MANGLE(Rectiv)
+#define glRects MANGLE(Rects)
+#define glRectsv MANGLE(Rectsv)
+#define glReferencePlaneSGIX MANGLE(ReferencePlaneSGIX)
+#define glReleaseShaderCompiler MANGLE(ReleaseShaderCompiler)
+#define glRenderbufferStorageEXT MANGLE(RenderbufferStorageEXT)
+#define glRenderbufferStorage MANGLE(RenderbufferStorage)
+#define glRenderbufferStorageMultisampleCoverageNV MANGLE(RenderbufferStorageMultisampleCoverageNV)
+#define glRenderbufferStorageMultisampleEXT MANGLE(RenderbufferStorageMultisampleEXT)
+#define glRenderbufferStorageMultisample MANGLE(RenderbufferStorageMultisample)
+#define glRenderMode MANGLE(RenderMode)
+#define glReplacementCodePointerSUN MANGLE(ReplacementCodePointerSUN)
+#define glReplacementCodeubSUN MANGLE(ReplacementCodeubSUN)
+#define glReplacementCodeubvSUN MANGLE(ReplacementCodeubvSUN)
+#define glReplacementCodeuiColor3fVertex3fSUN MANGLE(ReplacementCodeuiColor3fVertex3fSUN)
+#define glReplacementCodeuiColor3fVertex3fvSUN MANGLE(ReplacementCodeuiColor3fVertex3fvSUN)
+#define glReplacementCodeuiColor4fNormal3fVertex3fSUN MANGLE(ReplacementCodeuiColor4fNormal3fVertex3fSUN)
+#define glReplacementCodeuiColor4fNormal3fVertex3fvSUN MANGLE(ReplacementCodeuiColor4fNormal3fVertex3fvSUN)
+#define glReplacementCodeuiColor4ubVertex3fSUN MANGLE(ReplacementCodeuiColor4ubVertex3fSUN)
+#define glReplacementCodeuiColor4ubVertex3fvSUN MANGLE(ReplacementCodeuiColor4ubVertex3fvSUN)
+#define glReplacementCodeuiNormal3fVertex3fSUN MANGLE(ReplacementCodeuiNormal3fVertex3fSUN)
+#define glReplacementCodeuiNormal3fVertex3fvSUN MANGLE(ReplacementCodeuiNormal3fVertex3fvSUN)
+#define glReplacementCodeuiSUN MANGLE(ReplacementCodeuiSUN)
+#define glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN MANGLE(ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN)
+#define glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN MANGLE(ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN)
+#define glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN MANGLE(ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN)
+#define glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN MANGLE(ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN)
+#define glReplacementCodeuiTexCoord2fVertex3fSUN MANGLE(ReplacementCodeuiTexCoord2fVertex3fSUN)
+#define glReplacementCodeuiTexCoord2fVertex3fvSUN MANGLE(ReplacementCodeuiTexCoord2fVertex3fvSUN)
+#define glReplacementCodeuiVertex3fSUN MANGLE(ReplacementCodeuiVertex3fSUN)
+#define glReplacementCodeuiVertex3fvSUN MANGLE(ReplacementCodeuiVertex3fvSUN)
+#define glReplacementCodeuivSUN MANGLE(ReplacementCodeuivSUN)
+#define glReplacementCodeusSUN MANGLE(ReplacementCodeusSUN)
+#define glReplacementCodeusvSUN MANGLE(ReplacementCodeusvSUN)
+#define glRequestResidentProgramsNV MANGLE(RequestResidentProgramsNV)
+#define glResetHistogramEXT MANGLE(ResetHistogramEXT)
+#define glResetHistogram MANGLE(ResetHistogram)
+#define glResetMinmaxEXT MANGLE(ResetMinmaxEXT)
+#define glResetMinmax MANGLE(ResetMinmax)
+#define glResizeBuffersMESA MANGLE(ResizeBuffersMESA)
+#define glResumeTransformFeedback MANGLE(ResumeTransformFeedback)
+#define glResumeTransformFeedbackNV MANGLE(ResumeTransformFeedbackNV)
+#define glRotated MANGLE(Rotated)
+#define glRotatef MANGLE(Rotatef)
+#define glSampleCoverageARB MANGLE(SampleCoverageARB)
+#define glSampleCoverage MANGLE(SampleCoverage)
+#define glSampleMapATI MANGLE(SampleMapATI)
+#define glSampleMaskEXT MANGLE(SampleMaskEXT)
+#define glSampleMaski MANGLE(SampleMaski)
+#define glSampleMaskIndexedNV MANGLE(SampleMaskIndexedNV)
+#define glSampleMaskSGIS MANGLE(SampleMaskSGIS)
+#define glSamplePatternEXT MANGLE(SamplePatternEXT)
+#define glSamplePatternSGIS MANGLE(SamplePatternSGIS)
+#define glSamplerParameterf MANGLE(SamplerParameterf)
+#define glSamplerParameterfv MANGLE(SamplerParameterfv)
+#define glSamplerParameterIiv MANGLE(SamplerParameterIiv)
+#define glSamplerParameteri MANGLE(SamplerParameteri)
+#define glSamplerParameterIuiv MANGLE(SamplerParameterIuiv)
+#define glSamplerParameteriv MANGLE(SamplerParameteriv)
+#define glScaled MANGLE(Scaled)
+#define glScalef MANGLE(Scalef)
+#define glScissorArrayv MANGLE(ScissorArrayv)
+#define glScissorIndexed MANGLE(ScissorIndexed)
+#define glScissorIndexedv MANGLE(ScissorIndexedv)
+#define glScissor MANGLE(Scissor)
+#define glSecondaryColor3bEXT MANGLE(SecondaryColor3bEXT)
+#define glSecondaryColor3b MANGLE(SecondaryColor3b)
+#define glSecondaryColor3bvEXT MANGLE(SecondaryColor3bvEXT)
+#define glSecondaryColor3bv MANGLE(SecondaryColor3bv)
+#define glSecondaryColor3dEXT MANGLE(SecondaryColor3dEXT)
+#define glSecondaryColor3d MANGLE(SecondaryColor3d)
+#define glSecondaryColor3dvEXT MANGLE(SecondaryColor3dvEXT)
+#define glSecondaryColor3dv MANGLE(SecondaryColor3dv)
+#define glSecondaryColor3fEXT MANGLE(SecondaryColor3fEXT)
+#define glSecondaryColor3f MANGLE(SecondaryColor3f)
+#define glSecondaryColor3fvEXT MANGLE(SecondaryColor3fvEXT)
+#define glSecondaryColor3fv MANGLE(SecondaryColor3fv)
+#define glSecondaryColor3hNV MANGLE(SecondaryColor3hNV)
+#define glSecondaryColor3hvNV MANGLE(SecondaryColor3hvNV)
+#define glSecondaryColor3iEXT MANGLE(SecondaryColor3iEXT)
+#define glSecondaryColor3i MANGLE(SecondaryColor3i)
+#define glSecondaryColor3ivEXT MANGLE(SecondaryColor3ivEXT)
+#define glSecondaryColor3iv MANGLE(SecondaryColor3iv)
+#define glSecondaryColor3sEXT MANGLE(SecondaryColor3sEXT)
+#define glSecondaryColor3s MANGLE(SecondaryColor3s)
+#define glSecondaryColor3svEXT MANGLE(SecondaryColor3svEXT)
+#define glSecondaryColor3sv MANGLE(SecondaryColor3sv)
+#define glSecondaryColor3ubEXT MANGLE(SecondaryColor3ubEXT)
+#define glSecondaryColor3ub MANGLE(SecondaryColor3ub)
+#define glSecondaryColor3ubvEXT MANGLE(SecondaryColor3ubvEXT)
+#define glSecondaryColor3ubv MANGLE(SecondaryColor3ubv)
+#define glSecondaryColor3uiEXT MANGLE(SecondaryColor3uiEXT)
+#define glSecondaryColor3ui MANGLE(SecondaryColor3ui)
+#define glSecondaryColor3uivEXT MANGLE(SecondaryColor3uivEXT)
+#define glSecondaryColor3uiv MANGLE(SecondaryColor3uiv)
+#define glSecondaryColor3usEXT MANGLE(SecondaryColor3usEXT)
+#define glSecondaryColor3us MANGLE(SecondaryColor3us)
+#define glSecondaryColor3usvEXT MANGLE(SecondaryColor3usvEXT)
+#define glSecondaryColor3usv MANGLE(SecondaryColor3usv)
+#define glSecondaryColorFormatNV MANGLE(SecondaryColorFormatNV)
+#define glSecondaryColorP3ui MANGLE(SecondaryColorP3ui)
+#define glSecondaryColorP3uiv MANGLE(SecondaryColorP3uiv)
+#define glSecondaryColorPointerEXT MANGLE(SecondaryColorPointerEXT)
+#define glSecondaryColorPointerListIBM MANGLE(SecondaryColorPointerListIBM)
+#define glSecondaryColorPointer MANGLE(SecondaryColorPointer)
+#define glSelectBuffer MANGLE(SelectBuffer)
+#define glSelectPerfMonitorCountersAMD MANGLE(SelectPerfMonitorCountersAMD)
+#define glSeparableFilter2DEXT MANGLE(SeparableFilter2DEXT)
+#define glSeparableFilter2D MANGLE(SeparableFilter2D)
+#define glSetFenceAPPLE MANGLE(SetFenceAPPLE)
+#define glSetFenceNV MANGLE(SetFenceNV)
+#define glSetFragmentShaderConstantATI MANGLE(SetFragmentShaderConstantATI)
+#define glSetInvariantEXT MANGLE(SetInvariantEXT)
+#define glSetLocalConstantEXT MANGLE(SetLocalConstantEXT)
+#define glShadeModel MANGLE(ShadeModel)
+#define glShaderBinary MANGLE(ShaderBinary)
+#define glShaderOp1EXT MANGLE(ShaderOp1EXT)
+#define glShaderOp2EXT MANGLE(ShaderOp2EXT)
+#define glShaderOp3EXT MANGLE(ShaderOp3EXT)
+#define glShaderSourceARB MANGLE(ShaderSourceARB)
+#define glShaderSource MANGLE(ShaderSource)
+#define glSharpenTexFuncSGIS MANGLE(SharpenTexFuncSGIS)
+#define glSpriteParameterfSGIX MANGLE(SpriteParameterfSGIX)
+#define glSpriteParameterfvSGIX MANGLE(SpriteParameterfvSGIX)
+#define glSpriteParameteriSGIX MANGLE(SpriteParameteriSGIX)
+#define glSpriteParameterivSGIX MANGLE(SpriteParameterivSGIX)
+#define glStartInstrumentsSGIX MANGLE(StartInstrumentsSGIX)
+#define glStencilClearTagEXT MANGLE(StencilClearTagEXT)
+#define glStencilFunc MANGLE(StencilFunc)
+#define glStencilFuncSeparateATI MANGLE(StencilFuncSeparateATI)
+#define glStencilFuncSeparate MANGLE(StencilFuncSeparate)
+#define glStencilMask MANGLE(StencilMask)
+#define glStencilMaskSeparate MANGLE(StencilMaskSeparate)
+#define glStencilOp MANGLE(StencilOp)
+#define glStencilOpSeparateATI MANGLE(StencilOpSeparateATI)
+#define glStencilOpSeparate MANGLE(StencilOpSeparate)
+#define glStopInstrumentsSGIX MANGLE(StopInstrumentsSGIX)
+#define glStringMarkerGREMEDY MANGLE(StringMarkerGREMEDY)
+#define glSwizzleEXT MANGLE(SwizzleEXT)
+#define glTagSampleBufferSGIX MANGLE(TagSampleBufferSGIX)
+#define glTangent3bEXT MANGLE(Tangent3bEXT)
+#define glTangent3bvEXT MANGLE(Tangent3bvEXT)
+#define glTangent3dEXT MANGLE(Tangent3dEXT)
+#define glTangent3dvEXT MANGLE(Tangent3dvEXT)
+#define glTangent3fEXT MANGLE(Tangent3fEXT)
+#define glTangent3fvEXT MANGLE(Tangent3fvEXT)
+#define glTangent3iEXT MANGLE(Tangent3iEXT)
+#define glTangent3ivEXT MANGLE(Tangent3ivEXT)
+#define glTangent3sEXT MANGLE(Tangent3sEXT)
+#define glTangent3svEXT MANGLE(Tangent3svEXT)
+#define glTangentPointerEXT MANGLE(TangentPointerEXT)
+#define glTbufferMask3DFX MANGLE(TbufferMask3DFX)
+#define glTessellationFactorAMD MANGLE(TessellationFactorAMD)
+#define glTessellationModeAMD MANGLE(TessellationModeAMD)
+#define glTestFenceAPPLE MANGLE(TestFenceAPPLE)
+#define glTestFenceNV MANGLE(TestFenceNV)
+#define glTestObjectAPPLE MANGLE(TestObjectAPPLE)
+#define glTexBufferARB MANGLE(TexBufferARB)
+#define glTexBufferEXT MANGLE(TexBufferEXT)
+#define glTexBuffer MANGLE(TexBuffer)
+#define glTexBumpParameterfvATI MANGLE(TexBumpParameterfvATI)
+#define glTexBumpParameterivATI MANGLE(TexBumpParameterivATI)
+#define glTexCoord1d MANGLE(TexCoord1d)
+#define glTexCoord1dv MANGLE(TexCoord1dv)
+#define glTexCoord1f MANGLE(TexCoord1f)
+#define glTexCoord1fv MANGLE(TexCoord1fv)
+#define glTexCoord1hNV MANGLE(TexCoord1hNV)
+#define glTexCoord1hvNV MANGLE(TexCoord1hvNV)
+#define glTexCoord1i MANGLE(TexCoord1i)
+#define glTexCoord1iv MANGLE(TexCoord1iv)
+#define glTexCoord1s MANGLE(TexCoord1s)
+#define glTexCoord1sv MANGLE(TexCoord1sv)
+#define glTexCoord2d MANGLE(TexCoord2d)
+#define glTexCoord2dv MANGLE(TexCoord2dv)
+#define glTexCoord2fColor3fVertex3fSUN MANGLE(TexCoord2fColor3fVertex3fSUN)
+#define glTexCoord2fColor3fVertex3fvSUN MANGLE(TexCoord2fColor3fVertex3fvSUN)
+#define glTexCoord2fColor4fNormal3fVertex3fSUN MANGLE(TexCoord2fColor4fNormal3fVertex3fSUN)
+#define glTexCoord2fColor4fNormal3fVertex3fvSUN MANGLE(TexCoord2fColor4fNormal3fVertex3fvSUN)
+#define glTexCoord2fColor4ubVertex3fSUN MANGLE(TexCoord2fColor4ubVertex3fSUN)
+#define glTexCoord2fColor4ubVertex3fvSUN MANGLE(TexCoord2fColor4ubVertex3fvSUN)
+#define glTexCoord2f MANGLE(TexCoord2f)
+#define glTexCoord2fNormal3fVertex3fSUN MANGLE(TexCoord2fNormal3fVertex3fSUN)
+#define glTexCoord2fNormal3fVertex3fvSUN MANGLE(TexCoord2fNormal3fVertex3fvSUN)
+#define glTexCoord2fVertex3fSUN MANGLE(TexCoord2fVertex3fSUN)
+#define glTexCoord2fVertex3fvSUN MANGLE(TexCoord2fVertex3fvSUN)
+#define glTexCoord2fv MANGLE(TexCoord2fv)
+#define glTexCoord2hNV MANGLE(TexCoord2hNV)
+#define glTexCoord2hvNV MANGLE(TexCoord2hvNV)
+#define glTexCoord2i MANGLE(TexCoord2i)
+#define glTexCoord2iv MANGLE(TexCoord2iv)
+#define glTexCoord2s MANGLE(TexCoord2s)
+#define glTexCoord2sv MANGLE(TexCoord2sv)
+#define glTexCoord3d MANGLE(TexCoord3d)
+#define glTexCoord3dv MANGLE(TexCoord3dv)
+#define glTexCoord3f MANGLE(TexCoord3f)
+#define glTexCoord3fv MANGLE(TexCoord3fv)
+#define glTexCoord3hNV MANGLE(TexCoord3hNV)
+#define glTexCoord3hvNV MANGLE(TexCoord3hvNV)
+#define glTexCoord3i MANGLE(TexCoord3i)
+#define glTexCoord3iv MANGLE(TexCoord3iv)
+#define glTexCoord3s MANGLE(TexCoord3s)
+#define glTexCoord3sv MANGLE(TexCoord3sv)
+#define glTexCoord4d MANGLE(TexCoord4d)
+#define glTexCoord4dv MANGLE(TexCoord4dv)
+#define glTexCoord4fColor4fNormal3fVertex4fSUN MANGLE(TexCoord4fColor4fNormal3fVertex4fSUN)
+#define glTexCoord4fColor4fNormal3fVertex4fvSUN MANGLE(TexCoord4fColor4fNormal3fVertex4fvSUN)
+#define glTexCoord4f MANGLE(TexCoord4f)
+#define glTexCoord4fVertex4fSUN MANGLE(TexCoord4fVertex4fSUN)
+#define glTexCoord4fVertex4fvSUN MANGLE(TexCoord4fVertex4fvSUN)
+#define glTexCoord4fv MANGLE(TexCoord4fv)
+#define glTexCoord4hNV MANGLE(TexCoord4hNV)
+#define glTexCoord4hvNV MANGLE(TexCoord4hvNV)
+#define glTexCoord4i MANGLE(TexCoord4i)
+#define glTexCoord4iv MANGLE(TexCoord4iv)
+#define glTexCoord4s MANGLE(TexCoord4s)
+#define glTexCoord4sv MANGLE(TexCoord4sv)
+#define glTexCoordFormatNV MANGLE(TexCoordFormatNV)
+#define glTexCoordP1ui MANGLE(TexCoordP1ui)
+#define glTexCoordP1uiv MANGLE(TexCoordP1uiv)
+#define glTexCoordP2ui MANGLE(TexCoordP2ui)
+#define glTexCoordP2uiv MANGLE(TexCoordP2uiv)
+#define glTexCoordP3ui MANGLE(TexCoordP3ui)
+#define glTexCoordP3uiv MANGLE(TexCoordP3uiv)
+#define glTexCoordP4ui MANGLE(TexCoordP4ui)
+#define glTexCoordP4uiv MANGLE(TexCoordP4uiv)
+#define glTexCoordPointerEXT MANGLE(TexCoordPointerEXT)
+#define glTexCoordPointerListIBM MANGLE(TexCoordPointerListIBM)
+#define glTexCoordPointer MANGLE(TexCoordPointer)
+#define glTexCoordPointervINTEL MANGLE(TexCoordPointervINTEL)
+#define glTexEnvf MANGLE(TexEnvf)
+#define glTexEnvfv MANGLE(TexEnvfv)
+#define glTexEnvi MANGLE(TexEnvi)
+#define glTexEnviv MANGLE(TexEnviv)
+#define glTexFilterFuncSGIS MANGLE(TexFilterFuncSGIS)
+#define glTexGend MANGLE(TexGend)
+#define glTexGendv MANGLE(TexGendv)
+#define glTexGenf MANGLE(TexGenf)
+#define glTexGenfv MANGLE(TexGenfv)
+#define glTexGeni MANGLE(TexGeni)
+#define glTexGeniv MANGLE(TexGeniv)
+#define glTexImage1D MANGLE(TexImage1D)
+#define glTexImage2D MANGLE(TexImage2D)
+#define glTexImage2DMultisample MANGLE(TexImage2DMultisample)
+#define glTexImage3DEXT MANGLE(TexImage3DEXT)
+#define glTexImage3D MANGLE(TexImage3D)
+#define glTexImage3DMultisample MANGLE(TexImage3DMultisample)
+#define glTexImage4DSGIS MANGLE(TexImage4DSGIS)
+#define glTexParameterf MANGLE(TexParameterf)
+#define glTexParameterfv MANGLE(TexParameterfv)
+#define glTexParameterIivEXT MANGLE(TexParameterIivEXT)
+#define glTexParameterIiv MANGLE(TexParameterIiv)
+#define glTexParameteri MANGLE(TexParameteri)
+#define glTexParameterIuivEXT MANGLE(TexParameterIuivEXT)
+#define glTexParameterIuiv MANGLE(TexParameterIuiv)
+#define glTexParameteriv MANGLE(TexParameteriv)
+#define glTexRenderbufferNV MANGLE(TexRenderbufferNV)
+#define glTexSubImage1DEXT MANGLE(TexSubImage1DEXT)
+#define glTexSubImage1D MANGLE(TexSubImage1D)
+#define glTexSubImage2DEXT MANGLE(TexSubImage2DEXT)
+#define glTexSubImage2D MANGLE(TexSubImage2D)
+#define glTexSubImage3DEXT MANGLE(TexSubImage3DEXT)
+#define glTexSubImage3D MANGLE(TexSubImage3D)
+#define glTexSubImage4DSGIS MANGLE(TexSubImage4DSGIS)
+#define glTextureBarrierNV MANGLE(TextureBarrierNV)
+#define glTextureBufferEXT MANGLE(TextureBufferEXT)
+#define glTextureColorMaskSGIS MANGLE(TextureColorMaskSGIS)
+#define glTextureImage1DEXT MANGLE(TextureImage1DEXT)
+#define glTextureImage2DEXT MANGLE(TextureImage2DEXT)
+#define glTextureImage3DEXT MANGLE(TextureImage3DEXT)
+#define glTextureLightEXT MANGLE(TextureLightEXT)
+#define glTextureMaterialEXT MANGLE(TextureMaterialEXT)
+#define glTextureNormalEXT MANGLE(TextureNormalEXT)
+#define glTextureParameterfEXT MANGLE(TextureParameterfEXT)
+#define glTextureParameterfvEXT MANGLE(TextureParameterfvEXT)
+#define glTextureParameteriEXT MANGLE(TextureParameteriEXT)
+#define glTextureParameterIivEXT MANGLE(TextureParameterIivEXT)
+#define glTextureParameterIuivEXT MANGLE(TextureParameterIuivEXT)
+#define glTextureParameterivEXT MANGLE(TextureParameterivEXT)
+#define glTextureRangeAPPLE MANGLE(TextureRangeAPPLE)
+#define glTextureRenderbufferEXT MANGLE(TextureRenderbufferEXT)
+#define glTextureSubImage1DEXT MANGLE(TextureSubImage1DEXT)
+#define glTextureSubImage2DEXT MANGLE(TextureSubImage2DEXT)
+#define glTextureSubImage3DEXT MANGLE(TextureSubImage3DEXT)
+#define glTrackMatrixNV MANGLE(TrackMatrixNV)
+#define glTransformFeedbackAttribsNV MANGLE(TransformFeedbackAttribsNV)
+#define glTransformFeedbackStreamAttribsNV MANGLE(TransformFeedbackStreamAttribsNV)
+#define glTransformFeedbackVaryingsEXT MANGLE(TransformFeedbackVaryingsEXT)
+#define glTransformFeedbackVaryings MANGLE(TransformFeedbackVaryings)
+#define glTransformFeedbackVaryingsNV MANGLE(TransformFeedbackVaryingsNV)
+#define glTranslated MANGLE(Translated)
+#define glTranslatef MANGLE(Translatef)
+#define glUniform1d MANGLE(Uniform1d)
+#define glUniform1dv MANGLE(Uniform1dv)
+#define glUniform1fARB MANGLE(Uniform1fARB)
+#define glUniform1f MANGLE(Uniform1f)
+#define glUniform1fvARB MANGLE(Uniform1fvARB)
+#define glUniform1fv MANGLE(Uniform1fv)
+#define glUniform1i64NV MANGLE(Uniform1i64NV)
+#define glUniform1i64vNV MANGLE(Uniform1i64vNV)
+#define glUniform1iARB MANGLE(Uniform1iARB)
+#define glUniform1i MANGLE(Uniform1i)
+#define glUniform1ivARB MANGLE(Uniform1ivARB)
+#define glUniform1iv MANGLE(Uniform1iv)
+#define glUniform1ui64NV MANGLE(Uniform1ui64NV)
+#define glUniform1ui64vNV MANGLE(Uniform1ui64vNV)
+#define glUniform1uiEXT MANGLE(Uniform1uiEXT)
+#define glUniform1ui MANGLE(Uniform1ui)
+#define glUniform1uivEXT MANGLE(Uniform1uivEXT)
+#define glUniform1uiv MANGLE(Uniform1uiv)
+#define glUniform2d MANGLE(Uniform2d)
+#define glUniform2dv MANGLE(Uniform2dv)
+#define glUniform2fARB MANGLE(Uniform2fARB)
+#define glUniform2f MANGLE(Uniform2f)
+#define glUniform2fvARB MANGLE(Uniform2fvARB)
+#define glUniform2fv MANGLE(Uniform2fv)
+#define glUniform2i64NV MANGLE(Uniform2i64NV)
+#define glUniform2i64vNV MANGLE(Uniform2i64vNV)
+#define glUniform2iARB MANGLE(Uniform2iARB)
+#define glUniform2i MANGLE(Uniform2i)
+#define glUniform2ivARB MANGLE(Uniform2ivARB)
+#define glUniform2iv MANGLE(Uniform2iv)
+#define glUniform2ui64NV MANGLE(Uniform2ui64NV)
+#define glUniform2ui64vNV MANGLE(Uniform2ui64vNV)
+#define glUniform2uiEXT MANGLE(Uniform2uiEXT)
+#define glUniform2ui MANGLE(Uniform2ui)
+#define glUniform2uivEXT MANGLE(Uniform2uivEXT)
+#define glUniform2uiv MANGLE(Uniform2uiv)
+#define glUniform3d MANGLE(Uniform3d)
+#define glUniform3dv MANGLE(Uniform3dv)
+#define glUniform3fARB MANGLE(Uniform3fARB)
+#define glUniform3f MANGLE(Uniform3f)
+#define glUniform3fvARB MANGLE(Uniform3fvARB)
+#define glUniform3fv MANGLE(Uniform3fv)
+#define glUniform3i64NV MANGLE(Uniform3i64NV)
+#define glUniform3i64vNV MANGLE(Uniform3i64vNV)
+#define glUniform3iARB MANGLE(Uniform3iARB)
+#define glUniform3i MANGLE(Uniform3i)
+#define glUniform3ivARB MANGLE(Uniform3ivARB)
+#define glUniform3iv MANGLE(Uniform3iv)
+#define glUniform3ui64NV MANGLE(Uniform3ui64NV)
+#define glUniform3ui64vNV MANGLE(Uniform3ui64vNV)
+#define glUniform3uiEXT MANGLE(Uniform3uiEXT)
+#define glUniform3ui MANGLE(Uniform3ui)
+#define glUniform3uivEXT MANGLE(Uniform3uivEXT)
+#define glUniform3uiv MANGLE(Uniform3uiv)
+#define glUniform4d MANGLE(Uniform4d)
+#define glUniform4dv MANGLE(Uniform4dv)
+#define glUniform4fARB MANGLE(Uniform4fARB)
+#define glUniform4f MANGLE(Uniform4f)
+#define glUniform4fvARB MANGLE(Uniform4fvARB)
+#define glUniform4fv MANGLE(Uniform4fv)
+#define glUniform4i64NV MANGLE(Uniform4i64NV)
+#define glUniform4i64vNV MANGLE(Uniform4i64vNV)
+#define glUniform4iARB MANGLE(Uniform4iARB)
+#define glUniform4i MANGLE(Uniform4i)
+#define glUniform4ivARB MANGLE(Uniform4ivARB)
+#define glUniform4iv MANGLE(Uniform4iv)
+#define glUniform4ui64NV MANGLE(Uniform4ui64NV)
+#define glUniform4ui64vNV MANGLE(Uniform4ui64vNV)
+#define glUniform4uiEXT MANGLE(Uniform4uiEXT)
+#define glUniform4ui MANGLE(Uniform4ui)
+#define glUniform4uivEXT MANGLE(Uniform4uivEXT)
+#define glUniform4uiv MANGLE(Uniform4uiv)
+#define glUniformBlockBinding MANGLE(UniformBlockBinding)
+#define glUniformBufferEXT MANGLE(UniformBufferEXT)
+#define glUniformMatrix2dv MANGLE(UniformMatrix2dv)
+#define glUniformMatrix2fvARB MANGLE(UniformMatrix2fvARB)
+#define glUniformMatrix2fv MANGLE(UniformMatrix2fv)
+#define glUniformMatrix2x3dv MANGLE(UniformMatrix2x3dv)
+#define glUniformMatrix2x3fv MANGLE(UniformMatrix2x3fv)
+#define glUniformMatrix2x4dv MANGLE(UniformMatrix2x4dv)
+#define glUniformMatrix2x4fv MANGLE(UniformMatrix2x4fv)
+#define glUniformMatrix3dv MANGLE(UniformMatrix3dv)
+#define glUniformMatrix3fvARB MANGLE(UniformMatrix3fvARB)
+#define glUniformMatrix3fv MANGLE(UniformMatrix3fv)
+#define glUniformMatrix3x2dv MANGLE(UniformMatrix3x2dv)
+#define glUniformMatrix3x2fv MANGLE(UniformMatrix3x2fv)
+#define glUniformMatrix3x4dv MANGLE(UniformMatrix3x4dv)
+#define glUniformMatrix3x4fv MANGLE(UniformMatrix3x4fv)
+#define glUniformMatrix4dv MANGLE(UniformMatrix4dv)
+#define glUniformMatrix4fvARB MANGLE(UniformMatrix4fvARB)
+#define glUniformMatrix4fv MANGLE(UniformMatrix4fv)
+#define glUniformMatrix4x2dv MANGLE(UniformMatrix4x2dv)
+#define glUniformMatrix4x2fv MANGLE(UniformMatrix4x2fv)
+#define glUniformMatrix4x3dv MANGLE(UniformMatrix4x3dv)
+#define glUniformMatrix4x3fv MANGLE(UniformMatrix4x3fv)
+#define glUniformSubroutinesuiv MANGLE(UniformSubroutinesuiv)
+#define glUniformui64NV MANGLE(Uniformui64NV)
+#define glUniformui64vNV MANGLE(Uniformui64vNV)
+#define glUnlockArraysEXT MANGLE(UnlockArraysEXT)
+#define glUnmapBufferARB MANGLE(UnmapBufferARB)
+#define glUnmapBuffer MANGLE(UnmapBuffer)
+#define glUnmapNamedBufferEXT MANGLE(UnmapNamedBufferEXT)
+#define glUnmapObjectBufferATI MANGLE(UnmapObjectBufferATI)
+#define glUpdateObjectBufferATI MANGLE(UpdateObjectBufferATI)
+#define glUseProgram MANGLE(UseProgram)
+#define glUseProgramObjectARB MANGLE(UseProgramObjectARB)
+#define glUseProgramStages MANGLE(UseProgramStages)
+#define glUseShaderProgramEXT MANGLE(UseShaderProgramEXT)
+#define glValidateProgramARB MANGLE(ValidateProgramARB)
+#define glValidateProgram MANGLE(ValidateProgram)
+#define glValidateProgramPipeline MANGLE(ValidateProgramPipeline)
+#define glVariantArrayObjectATI MANGLE(VariantArrayObjectATI)
+#define glVariantbvEXT MANGLE(VariantbvEXT)
+#define glVariantdvEXT MANGLE(VariantdvEXT)
+#define glVariantfvEXT MANGLE(VariantfvEXT)
+#define glVariantivEXT MANGLE(VariantivEXT)
+#define glVariantPointerEXT MANGLE(VariantPointerEXT)
+#define glVariantsvEXT MANGLE(VariantsvEXT)
+#define glVariantubvEXT MANGLE(VariantubvEXT)
+#define glVariantuivEXT MANGLE(VariantuivEXT)
+#define glVariantusvEXT MANGLE(VariantusvEXT)
+#define glVDPAUFiniNV MANGLE(VDPAUFiniNV)
+#define glVDPAUGetSurfaceivNV MANGLE(VDPAUGetSurfaceivNV)
+#define glVDPAUInitNV MANGLE(VDPAUInitNV)
+#define glVDPAUIsSurfaceNV MANGLE(VDPAUIsSurfaceNV)
+#define glVDPAUMapSurfacesNV MANGLE(VDPAUMapSurfacesNV)
+#define glVDPAURegisterOutputSurfaceNV MANGLE(VDPAURegisterOutputSurfaceNV)
+#define glVDPAURegisterVideoSurfaceNV MANGLE(VDPAURegisterVideoSurfaceNV)
+#define glVDPAUSurfaceAccessNV MANGLE(VDPAUSurfaceAccessNV)
+#define glVDPAUUnmapSurfacesNV MANGLE(VDPAUUnmapSurfacesNV)
+#define glVDPAUUnregisterSurfaceNV MANGLE(VDPAUUnregisterSurfaceNV)
+#define glVertex2d MANGLE(Vertex2d)
+#define glVertex2dv MANGLE(Vertex2dv)
+#define glVertex2f MANGLE(Vertex2f)
+#define glVertex2fv MANGLE(Vertex2fv)
+#define glVertex2hNV MANGLE(Vertex2hNV)
+#define glVertex2hvNV MANGLE(Vertex2hvNV)
+#define glVertex2i MANGLE(Vertex2i)
+#define glVertex2iv MANGLE(Vertex2iv)
+#define glVertex2s MANGLE(Vertex2s)
+#define glVertex2sv MANGLE(Vertex2sv)
+#define glVertex3d MANGLE(Vertex3d)
+#define glVertex3dv MANGLE(Vertex3dv)
+#define glVertex3f MANGLE(Vertex3f)
+#define glVertex3fv MANGLE(Vertex3fv)
+#define glVertex3hNV MANGLE(Vertex3hNV)
+#define glVertex3hvNV MANGLE(Vertex3hvNV)
+#define glVertex3i MANGLE(Vertex3i)
+#define glVertex3iv MANGLE(Vertex3iv)
+#define glVertex3s MANGLE(Vertex3s)
+#define glVertex3sv MANGLE(Vertex3sv)
+#define glVertex4d MANGLE(Vertex4d)
+#define glVertex4dv MANGLE(Vertex4dv)
+#define glVertex4f MANGLE(Vertex4f)
+#define glVertex4fv MANGLE(Vertex4fv)
+#define glVertex4hNV MANGLE(Vertex4hNV)
+#define glVertex4hvNV MANGLE(Vertex4hvNV)
+#define glVertex4i MANGLE(Vertex4i)
+#define glVertex4iv MANGLE(Vertex4iv)
+#define glVertex4s MANGLE(Vertex4s)
+#define glVertex4sv MANGLE(Vertex4sv)
+#define glVertexArrayParameteriAPPLE MANGLE(VertexArrayParameteriAPPLE)
+#define glVertexArrayRangeAPPLE MANGLE(VertexArrayRangeAPPLE)
+#define glVertexArrayRangeNV MANGLE(VertexArrayRangeNV)
+#define glVertexArrayVertexAttribLOffsetEXT MANGLE(VertexArrayVertexAttribLOffsetEXT)
+#define glVertexAttrib1dARB MANGLE(VertexAttrib1dARB)
+#define glVertexAttrib1d MANGLE(VertexAttrib1d)
+#define glVertexAttrib1dNV MANGLE(VertexAttrib1dNV)
+#define glVertexAttrib1dvARB MANGLE(VertexAttrib1dvARB)
+#define glVertexAttrib1dv MANGLE(VertexAttrib1dv)
+#define glVertexAttrib1dvNV MANGLE(VertexAttrib1dvNV)
+#define glVertexAttrib1fARB MANGLE(VertexAttrib1fARB)
+#define glVertexAttrib1f MANGLE(VertexAttrib1f)
+#define glVertexAttrib1fNV MANGLE(VertexAttrib1fNV)
+#define glVertexAttrib1fvARB MANGLE(VertexAttrib1fvARB)
+#define glVertexAttrib1fv MANGLE(VertexAttrib1fv)
+#define glVertexAttrib1fvNV MANGLE(VertexAttrib1fvNV)
+#define glVertexAttrib1hNV MANGLE(VertexAttrib1hNV)
+#define glVertexAttrib1hvNV MANGLE(VertexAttrib1hvNV)
+#define glVertexAttrib1sARB MANGLE(VertexAttrib1sARB)
+#define glVertexAttrib1s MANGLE(VertexAttrib1s)
+#define glVertexAttrib1sNV MANGLE(VertexAttrib1sNV)
+#define glVertexAttrib1svARB MANGLE(VertexAttrib1svARB)
+#define glVertexAttrib1sv MANGLE(VertexAttrib1sv)
+#define glVertexAttrib1svNV MANGLE(VertexAttrib1svNV)
+#define glVertexAttrib2dARB MANGLE(VertexAttrib2dARB)
+#define glVertexAttrib2d MANGLE(VertexAttrib2d)
+#define glVertexAttrib2dNV MANGLE(VertexAttrib2dNV)
+#define glVertexAttrib2dvARB MANGLE(VertexAttrib2dvARB)
+#define glVertexAttrib2dv MANGLE(VertexAttrib2dv)
+#define glVertexAttrib2dvNV MANGLE(VertexAttrib2dvNV)
+#define glVertexAttrib2fARB MANGLE(VertexAttrib2fARB)
+#define glVertexAttrib2f MANGLE(VertexAttrib2f)
+#define glVertexAttrib2fNV MANGLE(VertexAttrib2fNV)
+#define glVertexAttrib2fvARB MANGLE(VertexAttrib2fvARB)
+#define glVertexAttrib2fv MANGLE(VertexAttrib2fv)
+#define glVertexAttrib2fvNV MANGLE(VertexAttrib2fvNV)
+#define glVertexAttrib2hNV MANGLE(VertexAttrib2hNV)
+#define glVertexAttrib2hvNV MANGLE(VertexAttrib2hvNV)
+#define glVertexAttrib2sARB MANGLE(VertexAttrib2sARB)
+#define glVertexAttrib2s MANGLE(VertexAttrib2s)
+#define glVertexAttrib2sNV MANGLE(VertexAttrib2sNV)
+#define glVertexAttrib2svARB MANGLE(VertexAttrib2svARB)
+#define glVertexAttrib2sv MANGLE(VertexAttrib2sv)
+#define glVertexAttrib2svNV MANGLE(VertexAttrib2svNV)
+#define glVertexAttrib3dARB MANGLE(VertexAttrib3dARB)
+#define glVertexAttrib3d MANGLE(VertexAttrib3d)
+#define glVertexAttrib3dNV MANGLE(VertexAttrib3dNV)
+#define glVertexAttrib3dvARB MANGLE(VertexAttrib3dvARB)
+#define glVertexAttrib3dv MANGLE(VertexAttrib3dv)
+#define glVertexAttrib3dvNV MANGLE(VertexAttrib3dvNV)
+#define glVertexAttrib3fARB MANGLE(VertexAttrib3fARB)
+#define glVertexAttrib3f MANGLE(VertexAttrib3f)
+#define glVertexAttrib3fNV MANGLE(VertexAttrib3fNV)
+#define glVertexAttrib3fvARB MANGLE(VertexAttrib3fvARB)
+#define glVertexAttrib3fv MANGLE(VertexAttrib3fv)
+#define glVertexAttrib3fvNV MANGLE(VertexAttrib3fvNV)
+#define glVertexAttrib3hNV MANGLE(VertexAttrib3hNV)
+#define glVertexAttrib3hvNV MANGLE(VertexAttrib3hvNV)
+#define glVertexAttrib3sARB MANGLE(VertexAttrib3sARB)
+#define glVertexAttrib3s MANGLE(VertexAttrib3s)
+#define glVertexAttrib3sNV MANGLE(VertexAttrib3sNV)
+#define glVertexAttrib3svARB MANGLE(VertexAttrib3svARB)
+#define glVertexAttrib3sv MANGLE(VertexAttrib3sv)
+#define glVertexAttrib3svNV MANGLE(VertexAttrib3svNV)
+#define glVertexAttrib4bvARB MANGLE(VertexAttrib4bvARB)
+#define glVertexAttrib4bv MANGLE(VertexAttrib4bv)
+#define glVertexAttrib4dARB MANGLE(VertexAttrib4dARB)
+#define glVertexAttrib4d MANGLE(VertexAttrib4d)
+#define glVertexAttrib4dNV MANGLE(VertexAttrib4dNV)
+#define glVertexAttrib4dvARB MANGLE(VertexAttrib4dvARB)
+#define glVertexAttrib4dv MANGLE(VertexAttrib4dv)
+#define glVertexAttrib4dvNV MANGLE(VertexAttrib4dvNV)
+#define glVertexAttrib4fARB MANGLE(VertexAttrib4fARB)
+#define glVertexAttrib4f MANGLE(VertexAttrib4f)
+#define glVertexAttrib4fNV MANGLE(VertexAttrib4fNV)
+#define glVertexAttrib4fvARB MANGLE(VertexAttrib4fvARB)
+#define glVertexAttrib4fv MANGLE(VertexAttrib4fv)
+#define glVertexAttrib4fvNV MANGLE(VertexAttrib4fvNV)
+#define glVertexAttrib4hNV MANGLE(VertexAttrib4hNV)
+#define glVertexAttrib4hvNV MANGLE(VertexAttrib4hvNV)
+#define glVertexAttrib4ivARB MANGLE(VertexAttrib4ivARB)
+#define glVertexAttrib4iv MANGLE(VertexAttrib4iv)
+#define glVertexAttrib4NbvARB MANGLE(VertexAttrib4NbvARB)
+#define glVertexAttrib4Nbv MANGLE(VertexAttrib4Nbv)
+#define glVertexAttrib4NivARB MANGLE(VertexAttrib4NivARB)
+#define glVertexAttrib4Niv MANGLE(VertexAttrib4Niv)
+#define glVertexAttrib4NsvARB MANGLE(VertexAttrib4NsvARB)
+#define glVertexAttrib4Nsv MANGLE(VertexAttrib4Nsv)
+#define glVertexAttrib4NubARB MANGLE(VertexAttrib4NubARB)
+#define glVertexAttrib4Nub MANGLE(VertexAttrib4Nub)
+#define glVertexAttrib4NubvARB MANGLE(VertexAttrib4NubvARB)
+#define glVertexAttrib4Nubv MANGLE(VertexAttrib4Nubv)
+#define glVertexAttrib4NuivARB MANGLE(VertexAttrib4NuivARB)
+#define glVertexAttrib4Nuiv MANGLE(VertexAttrib4Nuiv)
+#define glVertexAttrib4NusvARB MANGLE(VertexAttrib4NusvARB)
+#define glVertexAttrib4Nusv MANGLE(VertexAttrib4Nusv)
+#define glVertexAttrib4sARB MANGLE(VertexAttrib4sARB)
+#define glVertexAttrib4s MANGLE(VertexAttrib4s)
+#define glVertexAttrib4sNV MANGLE(VertexAttrib4sNV)
+#define glVertexAttrib4svARB MANGLE(VertexAttrib4svARB)
+#define glVertexAttrib4sv MANGLE(VertexAttrib4sv)
+#define glVertexAttrib4svNV MANGLE(VertexAttrib4svNV)
+#define glVertexAttrib4ubNV MANGLE(VertexAttrib4ubNV)
+#define glVertexAttrib4ubvARB MANGLE(VertexAttrib4ubvARB)
+#define glVertexAttrib4ubv MANGLE(VertexAttrib4ubv)
+#define glVertexAttrib4ubvNV MANGLE(VertexAttrib4ubvNV)
+#define glVertexAttrib4uivARB MANGLE(VertexAttrib4uivARB)
+#define glVertexAttrib4uiv MANGLE(VertexAttrib4uiv)
+#define glVertexAttrib4usvARB MANGLE(VertexAttrib4usvARB)
+#define glVertexAttrib4usv MANGLE(VertexAttrib4usv)
+#define glVertexAttribArrayObjectATI MANGLE(VertexAttribArrayObjectATI)
+#define glVertexAttribDivisorARB MANGLE(VertexAttribDivisorARB)
+#define glVertexAttribDivisor MANGLE(VertexAttribDivisor)
+#define glVertexAttribFormatNV MANGLE(VertexAttribFormatNV)
+#define glVertexAttribI1iEXT MANGLE(VertexAttribI1iEXT)
+#define glVertexAttribI1i MANGLE(VertexAttribI1i)
+#define glVertexAttribI1ivEXT MANGLE(VertexAttribI1ivEXT)
+#define glVertexAttribI1iv MANGLE(VertexAttribI1iv)
+#define glVertexAttribI1uiEXT MANGLE(VertexAttribI1uiEXT)
+#define glVertexAttribI1ui MANGLE(VertexAttribI1ui)
+#define glVertexAttribI1uivEXT MANGLE(VertexAttribI1uivEXT)
+#define glVertexAttribI1uiv MANGLE(VertexAttribI1uiv)
+#define glVertexAttribI2iEXT MANGLE(VertexAttribI2iEXT)
+#define glVertexAttribI2i MANGLE(VertexAttribI2i)
+#define glVertexAttribI2ivEXT MANGLE(VertexAttribI2ivEXT)
+#define glVertexAttribI2iv MANGLE(VertexAttribI2iv)
+#define glVertexAttribI2uiEXT MANGLE(VertexAttribI2uiEXT)
+#define glVertexAttribI2ui MANGLE(VertexAttribI2ui)
+#define glVertexAttribI2uivEXT MANGLE(VertexAttribI2uivEXT)
+#define glVertexAttribI2uiv MANGLE(VertexAttribI2uiv)
+#define glVertexAttribI3iEXT MANGLE(VertexAttribI3iEXT)
+#define glVertexAttribI3i MANGLE(VertexAttribI3i)
+#define glVertexAttribI3ivEXT MANGLE(VertexAttribI3ivEXT)
+#define glVertexAttribI3iv MANGLE(VertexAttribI3iv)
+#define glVertexAttribI3uiEXT MANGLE(VertexAttribI3uiEXT)
+#define glVertexAttribI3ui MANGLE(VertexAttribI3ui)
+#define glVertexAttribI3uivEXT MANGLE(VertexAttribI3uivEXT)
+#define glVertexAttribI3uiv MANGLE(VertexAttribI3uiv)
+#define glVertexAttribI4bvEXT MANGLE(VertexAttribI4bvEXT)
+#define glVertexAttribI4bv MANGLE(VertexAttribI4bv)
+#define glVertexAttribI4iEXT MANGLE(VertexAttribI4iEXT)
+#define glVertexAttribI4i MANGLE(VertexAttribI4i)
+#define glVertexAttribI4ivEXT MANGLE(VertexAttribI4ivEXT)
+#define glVertexAttribI4iv MANGLE(VertexAttribI4iv)
+#define glVertexAttribI4svEXT MANGLE(VertexAttribI4svEXT)
+#define glVertexAttribI4sv MANGLE(VertexAttribI4sv)
+#define glVertexAttribI4ubvEXT MANGLE(VertexAttribI4ubvEXT)
+#define glVertexAttribI4ubv MANGLE(VertexAttribI4ubv)
+#define glVertexAttribI4uiEXT MANGLE(VertexAttribI4uiEXT)
+#define glVertexAttribI4ui MANGLE(VertexAttribI4ui)
+#define glVertexAttribI4uivEXT MANGLE(VertexAttribI4uivEXT)
+#define glVertexAttribI4uiv MANGLE(VertexAttribI4uiv)
+#define glVertexAttribI4usvEXT MANGLE(VertexAttribI4usvEXT)
+#define glVertexAttribI4usv MANGLE(VertexAttribI4usv)
+#define glVertexAttribIFormatNV MANGLE(VertexAttribIFormatNV)
+#define glVertexAttribIPointerEXT MANGLE(VertexAttribIPointerEXT)
+#define glVertexAttribIPointer MANGLE(VertexAttribIPointer)
+#define glVertexAttribL1dEXT MANGLE(VertexAttribL1dEXT)
+#define glVertexAttribL1d MANGLE(VertexAttribL1d)
+#define glVertexAttribL1dvEXT MANGLE(VertexAttribL1dvEXT)
+#define glVertexAttribL1dv MANGLE(VertexAttribL1dv)
+#define glVertexAttribL1i64NV MANGLE(VertexAttribL1i64NV)
+#define glVertexAttribL1i64vNV MANGLE(VertexAttribL1i64vNV)
+#define glVertexAttribL1ui64NV MANGLE(VertexAttribL1ui64NV)
+#define glVertexAttribL1ui64vNV MANGLE(VertexAttribL1ui64vNV)
+#define glVertexAttribL2dEXT MANGLE(VertexAttribL2dEXT)
+#define glVertexAttribL2d MANGLE(VertexAttribL2d)
+#define glVertexAttribL2dvEXT MANGLE(VertexAttribL2dvEXT)
+#define glVertexAttribL2dv MANGLE(VertexAttribL2dv)
+#define glVertexAttribL2i64NV MANGLE(VertexAttribL2i64NV)
+#define glVertexAttribL2i64vNV MANGLE(VertexAttribL2i64vNV)
+#define glVertexAttribL2ui64NV MANGLE(VertexAttribL2ui64NV)
+#define glVertexAttribL2ui64vNV MANGLE(VertexAttribL2ui64vNV)
+#define glVertexAttribL3dEXT MANGLE(VertexAttribL3dEXT)
+#define glVertexAttribL3d MANGLE(VertexAttribL3d)
+#define glVertexAttribL3dvEXT MANGLE(VertexAttribL3dvEXT)
+#define glVertexAttribL3dv MANGLE(VertexAttribL3dv)
+#define glVertexAttribL3i64NV MANGLE(VertexAttribL3i64NV)
+#define glVertexAttribL3i64vNV MANGLE(VertexAttribL3i64vNV)
+#define glVertexAttribL3ui64NV MANGLE(VertexAttribL3ui64NV)
+#define glVertexAttribL3ui64vNV MANGLE(VertexAttribL3ui64vNV)
+#define glVertexAttribL4dEXT MANGLE(VertexAttribL4dEXT)
+#define glVertexAttribL4d MANGLE(VertexAttribL4d)
+#define glVertexAttribL4dvEXT MANGLE(VertexAttribL4dvEXT)
+#define glVertexAttribL4dv MANGLE(VertexAttribL4dv)
+#define glVertexAttribL4i64NV MANGLE(VertexAttribL4i64NV)
+#define glVertexAttribL4i64vNV MANGLE(VertexAttribL4i64vNV)
+#define glVertexAttribL4ui64NV MANGLE(VertexAttribL4ui64NV)
+#define glVertexAttribL4ui64vNV MANGLE(VertexAttribL4ui64vNV)
+#define glVertexAttribLFormatNV MANGLE(VertexAttribLFormatNV)
+#define glVertexAttribLPointerEXT MANGLE(VertexAttribLPointerEXT)
+#define glVertexAttribLPointer MANGLE(VertexAttribLPointer)
+#define glVertexAttribP1ui MANGLE(VertexAttribP1ui)
+#define glVertexAttribP1uiv MANGLE(VertexAttribP1uiv)
+#define glVertexAttribP2ui MANGLE(VertexAttribP2ui)
+#define glVertexAttribP2uiv MANGLE(VertexAttribP2uiv)
+#define glVertexAttribP3ui MANGLE(VertexAttribP3ui)
+#define glVertexAttribP3uiv MANGLE(VertexAttribP3uiv)
+#define glVertexAttribP4ui MANGLE(VertexAttribP4ui)
+#define glVertexAttribP4uiv MANGLE(VertexAttribP4uiv)
+#define glVertexAttribPointerARB MANGLE(VertexAttribPointerARB)
+#define glVertexAttribPointer MANGLE(VertexAttribPointer)
+#define glVertexAttribPointerNV MANGLE(VertexAttribPointerNV)
+#define glVertexAttribs1dvNV MANGLE(VertexAttribs1dvNV)
+#define glVertexAttribs1fvNV MANGLE(VertexAttribs1fvNV)
+#define glVertexAttribs1hvNV MANGLE(VertexAttribs1hvNV)
+#define glVertexAttribs1svNV MANGLE(VertexAttribs1svNV)
+#define glVertexAttribs2dvNV MANGLE(VertexAttribs2dvNV)
+#define glVertexAttribs2fvNV MANGLE(VertexAttribs2fvNV)
+#define glVertexAttribs2hvNV MANGLE(VertexAttribs2hvNV)
+#define glVertexAttribs2svNV MANGLE(VertexAttribs2svNV)
+#define glVertexAttribs3dvNV MANGLE(VertexAttribs3dvNV)
+#define glVertexAttribs3fvNV MANGLE(VertexAttribs3fvNV)
+#define glVertexAttribs3hvNV MANGLE(VertexAttribs3hvNV)
+#define glVertexAttribs3svNV MANGLE(VertexAttribs3svNV)
+#define glVertexAttribs4dvNV MANGLE(VertexAttribs4dvNV)
+#define glVertexAttribs4fvNV MANGLE(VertexAttribs4fvNV)
+#define glVertexAttribs4hvNV MANGLE(VertexAttribs4hvNV)
+#define glVertexAttribs4svNV MANGLE(VertexAttribs4svNV)
+#define glVertexAttribs4ubvNV MANGLE(VertexAttribs4ubvNV)
+#define glVertexBlendARB MANGLE(VertexBlendARB)
+#define glVertexBlendEnvfATI MANGLE(VertexBlendEnvfATI)
+#define glVertexBlendEnviATI MANGLE(VertexBlendEnviATI)
+#define glVertexFormatNV MANGLE(VertexFormatNV)
+#define glVertexP2ui MANGLE(VertexP2ui)
+#define glVertexP2uiv MANGLE(VertexP2uiv)
+#define glVertexP3ui MANGLE(VertexP3ui)
+#define glVertexP3uiv MANGLE(VertexP3uiv)
+#define glVertexP4ui MANGLE(VertexP4ui)
+#define glVertexP4uiv MANGLE(VertexP4uiv)
+#define glVertexPointerEXT MANGLE(VertexPointerEXT)
+#define glVertexPointerListIBM MANGLE(VertexPointerListIBM)
+#define glVertexPointer MANGLE(VertexPointer)
+#define glVertexPointervINTEL MANGLE(VertexPointervINTEL)
+#define glVertexStream1dATI MANGLE(VertexStream1dATI)
+#define glVertexStream1dvATI MANGLE(VertexStream1dvATI)
+#define glVertexStream1fATI MANGLE(VertexStream1fATI)
+#define glVertexStream1fvATI MANGLE(VertexStream1fvATI)
+#define glVertexStream1iATI MANGLE(VertexStream1iATI)
+#define glVertexStream1ivATI MANGLE(VertexStream1ivATI)
+#define glVertexStream1sATI MANGLE(VertexStream1sATI)
+#define glVertexStream1svATI MANGLE(VertexStream1svATI)
+#define glVertexStream2dATI MANGLE(VertexStream2dATI)
+#define glVertexStream2dvATI MANGLE(VertexStream2dvATI)
+#define glVertexStream2fATI MANGLE(VertexStream2fATI)
+#define glVertexStream2fvATI MANGLE(VertexStream2fvATI)
+#define glVertexStream2iATI MANGLE(VertexStream2iATI)
+#define glVertexStream2ivATI MANGLE(VertexStream2ivATI)
+#define glVertexStream2sATI MANGLE(VertexStream2sATI)
+#define glVertexStream2svATI MANGLE(VertexStream2svATI)
+#define glVertexStream3dATI MANGLE(VertexStream3dATI)
+#define glVertexStream3dvATI MANGLE(VertexStream3dvATI)
+#define glVertexStream3fATI MANGLE(VertexStream3fATI)
+#define glVertexStream3fvATI MANGLE(VertexStream3fvATI)
+#define glVertexStream3iATI MANGLE(VertexStream3iATI)
+#define glVertexStream3ivATI MANGLE(VertexStream3ivATI)
+#define glVertexStream3sATI MANGLE(VertexStream3sATI)
+#define glVertexStream3svATI MANGLE(VertexStream3svATI)
+#define glVertexStream4dATI MANGLE(VertexStream4dATI)
+#define glVertexStream4dvATI MANGLE(VertexStream4dvATI)
+#define glVertexStream4fATI MANGLE(VertexStream4fATI)
+#define glVertexStream4fvATI MANGLE(VertexStream4fvATI)
+#define glVertexStream4iATI MANGLE(VertexStream4iATI)
+#define glVertexStream4ivATI MANGLE(VertexStream4ivATI)
+#define glVertexStream4sATI MANGLE(VertexStream4sATI)
+#define glVertexStream4svATI MANGLE(VertexStream4svATI)
+#define glVertexWeightfEXT MANGLE(VertexWeightfEXT)
+#define glVertexWeightfvEXT MANGLE(VertexWeightfvEXT)
+#define glVertexWeighthNV MANGLE(VertexWeighthNV)
+#define glVertexWeighthvNV MANGLE(VertexWeighthvNV)
+#define glVertexWeightPointerEXT MANGLE(VertexWeightPointerEXT)
+#define glVideoCaptureNV MANGLE(VideoCaptureNV)
+#define glVideoCaptureStreamParameterdvNV MANGLE(VideoCaptureStreamParameterdvNV)
+#define glVideoCaptureStreamParameterfvNV MANGLE(VideoCaptureStreamParameterfvNV)
+#define glVideoCaptureStreamParameterivNV MANGLE(VideoCaptureStreamParameterivNV)
+#define glViewportArrayv MANGLE(ViewportArrayv)
+#define glViewportIndexedf MANGLE(ViewportIndexedf)
+#define glViewportIndexedfv MANGLE(ViewportIndexedfv)
+#define glViewport MANGLE(Viewport)
+#define glWaitSync MANGLE(WaitSync)
+#define glWeightbvARB MANGLE(WeightbvARB)
+#define glWeightdvARB MANGLE(WeightdvARB)
+#define glWeightfvARB MANGLE(WeightfvARB)
+#define glWeightivARB MANGLE(WeightivARB)
+#define glWeightPointerARB MANGLE(WeightPointerARB)
+#define glWeightsvARB MANGLE(WeightsvARB)
+#define glWeightubvARB MANGLE(WeightubvARB)
+#define glWeightuivARB MANGLE(WeightuivARB)
+#define glWeightusvARB MANGLE(WeightusvARB)
+#define glWindowPos2dARB MANGLE(WindowPos2dARB)
+#define glWindowPos2d MANGLE(WindowPos2d)
+#define glWindowPos2dMESA MANGLE(WindowPos2dMESA)
+#define glWindowPos2dvARB MANGLE(WindowPos2dvARB)
+#define glWindowPos2dv MANGLE(WindowPos2dv)
+#define glWindowPos2dvMESA MANGLE(WindowPos2dvMESA)
+#define glWindowPos2fARB MANGLE(WindowPos2fARB)
+#define glWindowPos2f MANGLE(WindowPos2f)
+#define glWindowPos2fMESA MANGLE(WindowPos2fMESA)
+#define glWindowPos2fvARB MANGLE(WindowPos2fvARB)
+#define glWindowPos2fv MANGLE(WindowPos2fv)
+#define glWindowPos2fvMESA MANGLE(WindowPos2fvMESA)
+#define glWindowPos2iARB MANGLE(WindowPos2iARB)
+#define glWindowPos2i MANGLE(WindowPos2i)
+#define glWindowPos2iMESA MANGLE(WindowPos2iMESA)
+#define glWindowPos2ivARB MANGLE(WindowPos2ivARB)
+#define glWindowPos2iv MANGLE(WindowPos2iv)
+#define glWindowPos2ivMESA MANGLE(WindowPos2ivMESA)
+#define glWindowPos2sARB MANGLE(WindowPos2sARB)
+#define glWindowPos2s MANGLE(WindowPos2s)
+#define glWindowPos2sMESA MANGLE(WindowPos2sMESA)
+#define glWindowPos2svARB MANGLE(WindowPos2svARB)
+#define glWindowPos2sv MANGLE(WindowPos2sv)
+#define glWindowPos2svMESA MANGLE(WindowPos2svMESA)
+#define glWindowPos3dARB MANGLE(WindowPos3dARB)
+#define glWindowPos3d MANGLE(WindowPos3d)
+#define glWindowPos3dMESA MANGLE(WindowPos3dMESA)
+#define glWindowPos3dvARB MANGLE(WindowPos3dvARB)
+#define glWindowPos3dv MANGLE(WindowPos3dv)
+#define glWindowPos3dvMESA MANGLE(WindowPos3dvMESA)
+#define glWindowPos3fARB MANGLE(WindowPos3fARB)
+#define glWindowPos3f MANGLE(WindowPos3f)
+#define glWindowPos3fMESA MANGLE(WindowPos3fMESA)
+#define glWindowPos3fvARB MANGLE(WindowPos3fvARB)
+#define glWindowPos3fv MANGLE(WindowPos3fv)
+#define glWindowPos3fvMESA MANGLE(WindowPos3fvMESA)
+#define glWindowPos3iARB MANGLE(WindowPos3iARB)
+#define glWindowPos3i MANGLE(WindowPos3i)
+#define glWindowPos3iMESA MANGLE(WindowPos3iMESA)
+#define glWindowPos3ivARB MANGLE(WindowPos3ivARB)
+#define glWindowPos3iv MANGLE(WindowPos3iv)
+#define glWindowPos3ivMESA MANGLE(WindowPos3ivMESA)
+#define glWindowPos3sARB MANGLE(WindowPos3sARB)
+#define glWindowPos3s MANGLE(WindowPos3s)
+#define glWindowPos3sMESA MANGLE(WindowPos3sMESA)
+#define glWindowPos3svARB MANGLE(WindowPos3svARB)
+#define glWindowPos3sv MANGLE(WindowPos3sv)
+#define glWindowPos3svMESA MANGLE(WindowPos3svMESA)
+#define glWindowPos4dMESA MANGLE(WindowPos4dMESA)
+#define glWindowPos4dvMESA MANGLE(WindowPos4dvMESA)
+#define glWindowPos4fMESA MANGLE(WindowPos4fMESA)
+#define glWindowPos4fvMESA MANGLE(WindowPos4fvMESA)
+#define glWindowPos4iMESA MANGLE(WindowPos4iMESA)
+#define glWindowPos4ivMESA MANGLE(WindowPos4ivMESA)
+#define glWindowPos4sMESA MANGLE(WindowPos4sMESA)
+#define glWindowPos4svMESA MANGLE(WindowPos4svMESA)
+#define glWriteMaskEXT MANGLE(WriteMaskEXT)
+
+#endif /* GL_MANGLE_H */
diff --git a/stream-servers/apigen-codec-common/GL/glext.h b/stream-servers/apigen-codec-common/GL/glext.h
new file mode 100644
index 0000000..44ab7c6
--- /dev/null
+++ b/stream-servers/apigen-codec-common/GL/glext.h
@@ -0,0 +1,12740 @@
+#ifndef __glext_h_
+#define __glext_h_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+** Copyright (c) 2007-2012 The Khronos Group Inc.
+**
+** Permission is hereby granted, free of charge, to any person obtaining a
+** copy of this software and/or associated documentation files (the
+** "Materials"), to deal in the Materials without restriction, including
+** without limitation the rights to use, copy, modify, merge, publish,
+** distribute, sublicense, and/or sell copies of the Materials, and to
+** permit persons to whom the Materials are furnished to do so, subject to
+** the following conditions:
+**
+** The above copyright notice and this permission notice shall be included
+** in all copies or substantial portions of the Materials.
+**
+** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
+*/
+
+/* Header file version number, required by OpenGL ABI for Linux */
+/* glext.h last updated $Date: 2012-09-19 19:02:24 -0700 (Wed, 19 Sep 2012) $ */
+/* Current version at http://www.opengl.org/registry/ */
+#define GL_GLEXT_VERSION 85
+/* Function declaration macros - to move into glplatform.h */
+
+#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
+#define WIN32_LEAN_AND_MEAN 1
+#include <windows.h>
+#endif
+
+#ifndef APIENTRY
+#define APIENTRY
+#endif
+#ifndef APIENTRYP
+#define APIENTRYP APIENTRY *
+#endif
+#ifndef GLAPI
+#define GLAPI extern
+#endif
+
+/*************************************************************/
+
+#ifndef GL_VERSION_1_2
+#define GL_UNSIGNED_BYTE_3_3_2 0x8032
+#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
+#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
+#define GL_UNSIGNED_INT_8_8_8_8 0x8035
+#define GL_UNSIGNED_INT_10_10_10_2 0x8036
+#define GL_TEXTURE_BINDING_3D 0x806A
+#define GL_PACK_SKIP_IMAGES 0x806B
+#define GL_PACK_IMAGE_HEIGHT 0x806C
+#define GL_UNPACK_SKIP_IMAGES 0x806D
+#define GL_UNPACK_IMAGE_HEIGHT 0x806E
+#define GL_TEXTURE_3D 0x806F
+#define GL_PROXY_TEXTURE_3D 0x8070
+#define GL_TEXTURE_DEPTH 0x8071
+#define GL_TEXTURE_WRAP_R 0x8072
+#define GL_MAX_3D_TEXTURE_SIZE 0x8073
+#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362
+#define GL_UNSIGNED_SHORT_5_6_5 0x8363
+#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364
+#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365
+#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366
+#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367
+#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
+#define GL_BGR 0x80E0
+#define GL_BGRA 0x80E1
+#define GL_MAX_ELEMENTS_VERTICES 0x80E8
+#define GL_MAX_ELEMENTS_INDICES 0x80E9
+#define GL_CLAMP_TO_EDGE 0x812F
+#define GL_TEXTURE_MIN_LOD 0x813A
+#define GL_TEXTURE_MAX_LOD 0x813B
+#define GL_TEXTURE_BASE_LEVEL 0x813C
+#define GL_TEXTURE_MAX_LEVEL 0x813D
+#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12
+#define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13
+#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22
+#define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23
+#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
+#define GL_RESCALE_NORMAL 0x803A
+#define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8
+#define GL_SINGLE_COLOR 0x81F9
+#define GL_SEPARATE_SPECULAR_COLOR 0x81FA
+#define GL_ALIASED_POINT_SIZE_RANGE 0x846D
+#endif
+
+#ifndef GL_ARB_imaging
+#define GL_CONSTANT_COLOR 0x8001
+#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
+#define GL_CONSTANT_ALPHA 0x8003
+#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
+#define GL_BLEND_COLOR 0x8005
+#define GL_FUNC_ADD 0x8006
+#define GL_MIN 0x8007
+#define GL_MAX 0x8008
+#define GL_BLEND_EQUATION 0x8009
+#define GL_FUNC_SUBTRACT 0x800A
+#define GL_FUNC_REVERSE_SUBTRACT 0x800B
+#define GL_CONVOLUTION_1D 0x8010
+#define GL_CONVOLUTION_2D 0x8011
+#define GL_SEPARABLE_2D 0x8012
+#define GL_CONVOLUTION_BORDER_MODE 0x8013
+#define GL_CONVOLUTION_FILTER_SCALE 0x8014
+#define GL_CONVOLUTION_FILTER_BIAS 0x8015
+#define GL_REDUCE 0x8016
+#define GL_CONVOLUTION_FORMAT 0x8017
+#define GL_CONVOLUTION_WIDTH 0x8018
+#define GL_CONVOLUTION_HEIGHT 0x8019
+#define GL_MAX_CONVOLUTION_WIDTH 0x801A
+#define GL_MAX_CONVOLUTION_HEIGHT 0x801B
+#define GL_POST_CONVOLUTION_RED_SCALE 0x801C
+#define GL_POST_CONVOLUTION_GREEN_SCALE 0x801D
+#define GL_POST_CONVOLUTION_BLUE_SCALE 0x801E
+#define GL_POST_CONVOLUTION_ALPHA_SCALE 0x801F
+#define GL_POST_CONVOLUTION_RED_BIAS 0x8020
+#define GL_POST_CONVOLUTION_GREEN_BIAS 0x8021
+#define GL_POST_CONVOLUTION_BLUE_BIAS 0x8022
+#define GL_POST_CONVOLUTION_ALPHA_BIAS 0x8023
+#define GL_HISTOGRAM 0x8024
+#define GL_PROXY_HISTOGRAM 0x8025
+#define GL_HISTOGRAM_WIDTH 0x8026
+#define GL_HISTOGRAM_FORMAT 0x8027
+#define GL_HISTOGRAM_RED_SIZE 0x8028
+#define GL_HISTOGRAM_GREEN_SIZE 0x8029
+#define GL_HISTOGRAM_BLUE_SIZE 0x802A
+#define GL_HISTOGRAM_ALPHA_SIZE 0x802B
+#define GL_HISTOGRAM_LUMINANCE_SIZE 0x802C
+#define GL_HISTOGRAM_SINK 0x802D
+#define GL_MINMAX 0x802E
+#define GL_MINMAX_FORMAT 0x802F
+#define GL_MINMAX_SINK 0x8030
+#define GL_TABLE_TOO_LARGE 0x8031
+#define GL_COLOR_MATRIX 0x80B1
+#define GL_COLOR_MATRIX_STACK_DEPTH 0x80B2
+#define GL_MAX_COLOR_MATRIX_STACK_DEPTH 0x80B3
+#define GL_POST_COLOR_MATRIX_RED_SCALE 0x80B4
+#define GL_POST_COLOR_MATRIX_GREEN_SCALE 0x80B5
+#define GL_POST_COLOR_MATRIX_BLUE_SCALE 0x80B6
+#define GL_POST_COLOR_MATRIX_ALPHA_SCALE 0x80B7
+#define GL_POST_COLOR_MATRIX_RED_BIAS 0x80B8
+#define GL_POST_COLOR_MATRIX_GREEN_BIAS 0x80B9
+#define GL_POST_COLOR_MATRIX_BLUE_BIAS 0x80BA
+#define GL_POST_COLOR_MATRIX_ALPHA_BIAS 0x80BB
+#define GL_COLOR_TABLE 0x80D0
+#define GL_POST_CONVOLUTION_COLOR_TABLE 0x80D1
+#define GL_POST_COLOR_MATRIX_COLOR_TABLE 0x80D2
+#define GL_PROXY_COLOR_TABLE 0x80D3
+#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE 0x80D4
+#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5
+#define GL_COLOR_TABLE_SCALE 0x80D6
+#define GL_COLOR_TABLE_BIAS 0x80D7
+#define GL_COLOR_TABLE_FORMAT 0x80D8
+#define GL_COLOR_TABLE_WIDTH 0x80D9
+#define GL_COLOR_TABLE_RED_SIZE 0x80DA
+#define GL_COLOR_TABLE_GREEN_SIZE 0x80DB
+#define GL_COLOR_TABLE_BLUE_SIZE 0x80DC
+#define GL_COLOR_TABLE_ALPHA_SIZE 0x80DD
+#define GL_COLOR_TABLE_LUMINANCE_SIZE 0x80DE
+#define GL_COLOR_TABLE_INTENSITY_SIZE 0x80DF
+#define GL_CONSTANT_BORDER 0x8151
+#define GL_REPLICATE_BORDER 0x8153
+#define GL_CONVOLUTION_BORDER_COLOR 0x8154
+#endif
+
+#ifndef GL_VERSION_1_3
+#define GL_TEXTURE0 0x84C0
+#define GL_TEXTURE1 0x84C1
+#define GL_TEXTURE2 0x84C2
+#define GL_TEXTURE3 0x84C3
+#define GL_TEXTURE4 0x84C4
+#define GL_TEXTURE5 0x84C5
+#define GL_TEXTURE6 0x84C6
+#define GL_TEXTURE7 0x84C7
+#define GL_TEXTURE8 0x84C8
+#define GL_TEXTURE9 0x84C9
+#define GL_TEXTURE10 0x84CA
+#define GL_TEXTURE11 0x84CB
+#define GL_TEXTURE12 0x84CC
+#define GL_TEXTURE13 0x84CD
+#define GL_TEXTURE14 0x84CE
+#define GL_TEXTURE15 0x84CF
+#define GL_TEXTURE16 0x84D0
+#define GL_TEXTURE17 0x84D1
+#define GL_TEXTURE18 0x84D2
+#define GL_TEXTURE19 0x84D3
+#define GL_TEXTURE20 0x84D4
+#define GL_TEXTURE21 0x84D5
+#define GL_TEXTURE22 0x84D6
+#define GL_TEXTURE23 0x84D7
+#define GL_TEXTURE24 0x84D8
+#define GL_TEXTURE25 0x84D9
+#define GL_TEXTURE26 0x84DA
+#define GL_TEXTURE27 0x84DB
+#define GL_TEXTURE28 0x84DC
+#define GL_TEXTURE29 0x84DD
+#define GL_TEXTURE30 0x84DE
+#define GL_TEXTURE31 0x84DF
+#define GL_ACTIVE_TEXTURE 0x84E0
+#define GL_MULTISAMPLE 0x809D
+#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
+#define GL_SAMPLE_ALPHA_TO_ONE 0x809F
+#define GL_SAMPLE_COVERAGE 0x80A0
+#define GL_SAMPLE_BUFFERS 0x80A8
+#define GL_SAMPLES 0x80A9
+#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
+#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
+#define GL_TEXTURE_CUBE_MAP 0x8513
+#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
+#define GL_PROXY_TEXTURE_CUBE_MAP 0x851B
+#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
+#define GL_COMPRESSED_RGB 0x84ED
+#define GL_COMPRESSED_RGBA 0x84EE
+#define GL_TEXTURE_COMPRESSION_HINT 0x84EF
+#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0
+#define GL_TEXTURE_COMPRESSED 0x86A1
+#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
+#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
+#define GL_CLAMP_TO_BORDER 0x812D
+#define GL_CLIENT_ACTIVE_TEXTURE 0x84E1
+#define GL_MAX_TEXTURE_UNITS 0x84E2
+#define GL_TRANSPOSE_MODELVIEW_MATRIX 0x84E3
+#define GL_TRANSPOSE_PROJECTION_MATRIX 0x84E4
+#define GL_TRANSPOSE_TEXTURE_MATRIX 0x84E5
+#define GL_TRANSPOSE_COLOR_MATRIX 0x84E6
+#define GL_MULTISAMPLE_BIT 0x20000000
+#define GL_NORMAL_MAP 0x8511
+#define GL_REFLECTION_MAP 0x8512
+#define GL_COMPRESSED_ALPHA 0x84E9
+#define GL_COMPRESSED_LUMINANCE 0x84EA
+#define GL_COMPRESSED_LUMINANCE_ALPHA 0x84EB
+#define GL_COMPRESSED_INTENSITY 0x84EC
+#define GL_COMBINE 0x8570
+#define GL_COMBINE_RGB 0x8571
+#define GL_COMBINE_ALPHA 0x8572
+#define GL_SOURCE0_RGB 0x8580
+#define GL_SOURCE1_RGB 0x8581
+#define GL_SOURCE2_RGB 0x8582
+#define GL_SOURCE0_ALPHA 0x8588
+#define GL_SOURCE1_ALPHA 0x8589
+#define GL_SOURCE2_ALPHA 0x858A
+#define GL_OPERAND0_RGB 0x8590
+#define GL_OPERAND1_RGB 0x8591
+#define GL_OPERAND2_RGB 0x8592
+#define GL_OPERAND0_ALPHA 0x8598
+#define GL_OPERAND1_ALPHA 0x8599
+#define GL_OPERAND2_ALPHA 0x859A
+#define GL_RGB_SCALE 0x8573
+#define GL_ADD_SIGNED 0x8574
+#define GL_INTERPOLATE 0x8575
+#define GL_SUBTRACT 0x84E7
+#define GL_CONSTANT 0x8576
+#define GL_PRIMARY_COLOR 0x8577
+#define GL_PREVIOUS 0x8578
+#define GL_DOT3_RGB 0x86AE
+#define GL_DOT3_RGBA 0x86AF
+#endif
+
+#ifndef GL_VERSION_1_4
+#define GL_BLEND_DST_RGB 0x80C8
+#define GL_BLEND_SRC_RGB 0x80C9
+#define GL_BLEND_DST_ALPHA 0x80CA
+#define GL_BLEND_SRC_ALPHA 0x80CB
+#define GL_POINT_FADE_THRESHOLD_SIZE 0x8128
+#define GL_DEPTH_COMPONENT16 0x81A5
+#define GL_DEPTH_COMPONENT24 0x81A6
+#define GL_DEPTH_COMPONENT32 0x81A7
+#define GL_MIRRORED_REPEAT 0x8370
+#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD
+#define GL_TEXTURE_LOD_BIAS 0x8501
+#define GL_INCR_WRAP 0x8507
+#define GL_DECR_WRAP 0x8508
+#define GL_TEXTURE_DEPTH_SIZE 0x884A
+#define GL_TEXTURE_COMPARE_MODE 0x884C
+#define GL_TEXTURE_COMPARE_FUNC 0x884D
+#define GL_POINT_SIZE_MIN 0x8126
+#define GL_POINT_SIZE_MAX 0x8127
+#define GL_POINT_DISTANCE_ATTENUATION 0x8129
+#define GL_GENERATE_MIPMAP 0x8191
+#define GL_GENERATE_MIPMAP_HINT 0x8192
+#define GL_FOG_COORDINATE_SOURCE 0x8450
+#define GL_FOG_COORDINATE 0x8451
+#define GL_FRAGMENT_DEPTH 0x8452
+#define GL_CURRENT_FOG_COORDINATE 0x8453
+#define GL_FOG_COORDINATE_ARRAY_TYPE 0x8454
+#define GL_FOG_COORDINATE_ARRAY_STRIDE 0x8455
+#define GL_FOG_COORDINATE_ARRAY_POINTER 0x8456
+#define GL_FOG_COORDINATE_ARRAY 0x8457
+#define GL_COLOR_SUM 0x8458
+#define GL_CURRENT_SECONDARY_COLOR 0x8459
+#define GL_SECONDARY_COLOR_ARRAY_SIZE 0x845A
+#define GL_SECONDARY_COLOR_ARRAY_TYPE 0x845B
+#define GL_SECONDARY_COLOR_ARRAY_STRIDE 0x845C
+#define GL_SECONDARY_COLOR_ARRAY_POINTER 0x845D
+#define GL_SECONDARY_COLOR_ARRAY 0x845E
+#define GL_TEXTURE_FILTER_CONTROL 0x8500
+#define GL_DEPTH_TEXTURE_MODE 0x884B
+#define GL_COMPARE_R_TO_TEXTURE 0x884E
+#endif
+
+#ifndef GL_VERSION_1_5
+#define GL_BUFFER_SIZE 0x8764
+#define GL_BUFFER_USAGE 0x8765
+#define GL_QUERY_COUNTER_BITS 0x8864
+#define GL_CURRENT_QUERY 0x8865
+#define GL_QUERY_RESULT 0x8866
+#define GL_QUERY_RESULT_AVAILABLE 0x8867
+#define GL_ARRAY_BUFFER 0x8892
+#define GL_ELEMENT_ARRAY_BUFFER 0x8893
+#define GL_ARRAY_BUFFER_BINDING 0x8894
+#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
+#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
+#define GL_READ_ONLY 0x88B8
+#define GL_WRITE_ONLY 0x88B9
+#define GL_READ_WRITE 0x88BA
+#define GL_BUFFER_ACCESS 0x88BB
+#define GL_BUFFER_MAPPED 0x88BC
+#define GL_BUFFER_MAP_POINTER 0x88BD
+#define GL_STREAM_DRAW 0x88E0
+#define GL_STREAM_READ 0x88E1
+#define GL_STREAM_COPY 0x88E2
+#define GL_STATIC_DRAW 0x88E4
+#define GL_STATIC_READ 0x88E5
+#define GL_STATIC_COPY 0x88E6
+#define GL_DYNAMIC_DRAW 0x88E8
+#define GL_DYNAMIC_READ 0x88E9
+#define GL_DYNAMIC_COPY 0x88EA
+#define GL_SAMPLES_PASSED 0x8914
+#define GL_SRC1_ALPHA 0x8589
+#define GL_VERTEX_ARRAY_BUFFER_BINDING 0x8896
+#define GL_NORMAL_ARRAY_BUFFER_BINDING 0x8897
+#define GL_COLOR_ARRAY_BUFFER_BINDING 0x8898
+#define GL_INDEX_ARRAY_BUFFER_BINDING 0x8899
+#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING 0x889A
+#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING 0x889B
+#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING 0x889C
+#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING 0x889D
+#define GL_WEIGHT_ARRAY_BUFFER_BINDING 0x889E
+#define GL_FOG_COORD_SRC 0x8450
+#define GL_FOG_COORD 0x8451
+#define GL_CURRENT_FOG_COORD 0x8453
+#define GL_FOG_COORD_ARRAY_TYPE 0x8454
+#define GL_FOG_COORD_ARRAY_STRIDE 0x8455
+#define GL_FOG_COORD_ARRAY_POINTER 0x8456
+#define GL_FOG_COORD_ARRAY 0x8457
+#define GL_FOG_COORD_ARRAY_BUFFER_BINDING 0x889D
+#define GL_SRC0_RGB 0x8580
+#define GL_SRC1_RGB 0x8581
+#define GL_SRC2_RGB 0x8582
+#define GL_SRC0_ALPHA 0x8588
+#define GL_SRC2_ALPHA 0x858A
+#endif
+
+#ifndef GL_VERSION_2_0
+#define GL_BLEND_EQUATION_RGB 0x8009
+#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622
+#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623
+#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624
+#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625
+#define GL_CURRENT_VERTEX_ATTRIB 0x8626
+#define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642
+#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645
+#define GL_STENCIL_BACK_FUNC 0x8800
+#define GL_STENCIL_BACK_FAIL 0x8801
+#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802
+#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803
+#define GL_MAX_DRAW_BUFFERS 0x8824
+#define GL_DRAW_BUFFER0 0x8825
+#define GL_DRAW_BUFFER1 0x8826
+#define GL_DRAW_BUFFER2 0x8827
+#define GL_DRAW_BUFFER3 0x8828
+#define GL_DRAW_BUFFER4 0x8829
+#define GL_DRAW_BUFFER5 0x882A
+#define GL_DRAW_BUFFER6 0x882B
+#define GL_DRAW_BUFFER7 0x882C
+#define GL_DRAW_BUFFER8 0x882D
+#define GL_DRAW_BUFFER9 0x882E
+#define GL_DRAW_BUFFER10 0x882F
+#define GL_DRAW_BUFFER11 0x8830
+#define GL_DRAW_BUFFER12 0x8831
+#define GL_DRAW_BUFFER13 0x8832
+#define GL_DRAW_BUFFER14 0x8833
+#define GL_DRAW_BUFFER15 0x8834
+#define GL_BLEND_EQUATION_ALPHA 0x883D
+#define GL_MAX_VERTEX_ATTRIBS 0x8869
+#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
+#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
+#define GL_FRAGMENT_SHADER 0x8B30
+#define GL_VERTEX_SHADER 0x8B31
+#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49
+#define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A
+#define GL_MAX_VARYING_FLOATS 0x8B4B
+#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
+#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
+#define GL_SHADER_TYPE 0x8B4F
+#define GL_FLOAT_VEC2 0x8B50
+#define GL_FLOAT_VEC3 0x8B51
+#define GL_FLOAT_VEC4 0x8B52
+#define GL_INT_VEC2 0x8B53
+#define GL_INT_VEC3 0x8B54
+#define GL_INT_VEC4 0x8B55
+#define GL_BOOL 0x8B56
+#define GL_BOOL_VEC2 0x8B57
+#define GL_BOOL_VEC3 0x8B58
+#define GL_BOOL_VEC4 0x8B59
+#define GL_FLOAT_MAT2 0x8B5A
+#define GL_FLOAT_MAT3 0x8B5B
+#define GL_FLOAT_MAT4 0x8B5C
+#define GL_SAMPLER_1D 0x8B5D
+#define GL_SAMPLER_2D 0x8B5E
+#define GL_SAMPLER_3D 0x8B5F
+#define GL_SAMPLER_CUBE 0x8B60
+#define GL_SAMPLER_1D_SHADOW 0x8B61
+#define GL_SAMPLER_2D_SHADOW 0x8B62
+#define GL_DELETE_STATUS 0x8B80
+#define GL_COMPILE_STATUS 0x8B81
+#define GL_LINK_STATUS 0x8B82
+#define GL_VALIDATE_STATUS 0x8B83
+#define GL_INFO_LOG_LENGTH 0x8B84
+#define GL_ATTACHED_SHADERS 0x8B85
+#define GL_ACTIVE_UNIFORMS 0x8B86
+#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87
+#define GL_SHADER_SOURCE_LENGTH 0x8B88
+#define GL_ACTIVE_ATTRIBUTES 0x8B89
+#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A
+#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B
+#define GL_SHADING_LANGUAGE_VERSION 0x8B8C
+#define GL_CURRENT_PROGRAM 0x8B8D
+#define GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0
+#define GL_LOWER_LEFT 0x8CA1
+#define GL_UPPER_LEFT 0x8CA2
+#define GL_STENCIL_BACK_REF 0x8CA3
+#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4
+#define GL_STENCIL_BACK_WRITEMASK 0x8CA5
+#define GL_VERTEX_PROGRAM_TWO_SIDE 0x8643
+#define GL_POINT_SPRITE 0x8861
+#define GL_COORD_REPLACE 0x8862
+#define GL_MAX_TEXTURE_COORDS 0x8871
+#endif
+
+#ifndef GL_VERSION_2_1
+#define GL_PIXEL_PACK_BUFFER 0x88EB
+#define GL_PIXEL_UNPACK_BUFFER 0x88EC
+#define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED
+#define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF
+#define GL_FLOAT_MAT2x3 0x8B65
+#define GL_FLOAT_MAT2x4 0x8B66
+#define GL_FLOAT_MAT3x2 0x8B67
+#define GL_FLOAT_MAT3x4 0x8B68
+#define GL_FLOAT_MAT4x2 0x8B69
+#define GL_FLOAT_MAT4x3 0x8B6A
+#define GL_SRGB 0x8C40
+#define GL_SRGB8 0x8C41
+#define GL_SRGB_ALPHA 0x8C42
+#define GL_SRGB8_ALPHA8 0x8C43
+#define GL_COMPRESSED_SRGB 0x8C48
+#define GL_COMPRESSED_SRGB_ALPHA 0x8C49
+#define GL_CURRENT_RASTER_SECONDARY_COLOR 0x845F
+#define GL_SLUMINANCE_ALPHA 0x8C44
+#define GL_SLUMINANCE8_ALPHA8 0x8C45
+#define GL_SLUMINANCE 0x8C46
+#define GL_SLUMINANCE8 0x8C47
+#define GL_COMPRESSED_SLUMINANCE 0x8C4A
+#define GL_COMPRESSED_SLUMINANCE_ALPHA 0x8C4B
+#endif
+
+#ifndef GL_VERSION_3_0
+#define GL_COMPARE_REF_TO_TEXTURE 0x884E
+#define GL_CLIP_DISTANCE0 0x3000
+#define GL_CLIP_DISTANCE1 0x3001
+#define GL_CLIP_DISTANCE2 0x3002
+#define GL_CLIP_DISTANCE3 0x3003
+#define GL_CLIP_DISTANCE4 0x3004
+#define GL_CLIP_DISTANCE5 0x3005
+#define GL_CLIP_DISTANCE6 0x3006
+#define GL_CLIP_DISTANCE7 0x3007
+#define GL_MAX_CLIP_DISTANCES 0x0D32
+#define GL_MAJOR_VERSION 0x821B
+#define GL_MINOR_VERSION 0x821C
+#define GL_NUM_EXTENSIONS 0x821D
+#define GL_CONTEXT_FLAGS 0x821E
+#define GL_COMPRESSED_RED 0x8225
+#define GL_COMPRESSED_RG 0x8226
+#define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT 0x0001
+#define GL_RGBA32F 0x8814
+#define GL_RGB32F 0x8815
+#define GL_RGBA16F 0x881A
+#define GL_RGB16F 0x881B
+#define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD
+#define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF
+#define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904
+#define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905
+#define GL_CLAMP_READ_COLOR 0x891C
+#define GL_FIXED_ONLY 0x891D
+#define GL_MAX_VARYING_COMPONENTS 0x8B4B
+#define GL_TEXTURE_1D_ARRAY 0x8C18
+#define GL_PROXY_TEXTURE_1D_ARRAY 0x8C19
+#define GL_TEXTURE_2D_ARRAY 0x8C1A
+#define GL_PROXY_TEXTURE_2D_ARRAY 0x8C1B
+#define GL_TEXTURE_BINDING_1D_ARRAY 0x8C1C
+#define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D
+#define GL_R11F_G11F_B10F 0x8C3A
+#define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B
+#define GL_RGB9_E5 0x8C3D
+#define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E
+#define GL_TEXTURE_SHARED_SIZE 0x8C3F
+#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76
+#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F
+#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80
+#define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83
+#define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84
+#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85
+#define GL_PRIMITIVES_GENERATED 0x8C87
+#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88
+#define GL_RASTERIZER_DISCARD 0x8C89
+#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A
+#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B
+#define GL_INTERLEAVED_ATTRIBS 0x8C8C
+#define GL_SEPARATE_ATTRIBS 0x8C8D
+#define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E
+#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F
+#define GL_RGBA32UI 0x8D70
+#define GL_RGB32UI 0x8D71
+#define GL_RGBA16UI 0x8D76
+#define GL_RGB16UI 0x8D77
+#define GL_RGBA8UI 0x8D7C
+#define GL_RGB8UI 0x8D7D
+#define GL_RGBA32I 0x8D82
+#define GL_RGB32I 0x8D83
+#define GL_RGBA16I 0x8D88
+#define GL_RGB16I 0x8D89
+#define GL_RGBA8I 0x8D8E
+#define GL_RGB8I 0x8D8F
+#define GL_RED_INTEGER 0x8D94
+#define GL_GREEN_INTEGER 0x8D95
+#define GL_BLUE_INTEGER 0x8D96
+#define GL_RGB_INTEGER 0x8D98
+#define GL_RGBA_INTEGER 0x8D99
+#define GL_BGR_INTEGER 0x8D9A
+#define GL_BGRA_INTEGER 0x8D9B
+#define GL_SAMPLER_1D_ARRAY 0x8DC0
+#define GL_SAMPLER_2D_ARRAY 0x8DC1
+#define GL_SAMPLER_1D_ARRAY_SHADOW 0x8DC3
+#define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4
+#define GL_SAMPLER_CUBE_SHADOW 0x8DC5
+#define GL_UNSIGNED_INT_VEC2 0x8DC6
+#define GL_UNSIGNED_INT_VEC3 0x8DC7
+#define GL_UNSIGNED_INT_VEC4 0x8DC8
+#define GL_INT_SAMPLER_1D 0x8DC9
+#define GL_INT_SAMPLER_2D 0x8DCA
+#define GL_INT_SAMPLER_3D 0x8DCB
+#define GL_INT_SAMPLER_CUBE 0x8DCC
+#define GL_INT_SAMPLER_1D_ARRAY 0x8DCE
+#define GL_INT_SAMPLER_2D_ARRAY 0x8DCF
+#define GL_UNSIGNED_INT_SAMPLER_1D 0x8DD1
+#define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2
+#define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3
+#define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4
+#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY 0x8DD6
+#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7
+#define GL_QUERY_WAIT 0x8E13
+#define GL_QUERY_NO_WAIT 0x8E14
+#define GL_QUERY_BY_REGION_WAIT 0x8E15
+#define GL_QUERY_BY_REGION_NO_WAIT 0x8E16
+#define GL_BUFFER_ACCESS_FLAGS 0x911F
+#define GL_BUFFER_MAP_LENGTH 0x9120
+#define GL_BUFFER_MAP_OFFSET 0x9121
+/* Reuse tokens from ARB_depth_buffer_float */
+/* reuse GL_DEPTH_COMPONENT32F */
+/* reuse GL_DEPTH32F_STENCIL8 */
+/* reuse GL_FLOAT_32_UNSIGNED_INT_24_8_REV */
+/* Reuse tokens from ARB_framebuffer_object */
+/* reuse GL_INVALID_FRAMEBUFFER_OPERATION */
+/* reuse GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING */
+/* reuse GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE */
+/* reuse GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */
+/* reuse GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE */
+/* reuse GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE */
+/* reuse GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE */
+/* reuse GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE */
+/* reuse GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE */
+/* reuse GL_FRAMEBUFFER_DEFAULT */
+/* reuse GL_FRAMEBUFFER_UNDEFINED */
+/* reuse GL_DEPTH_STENCIL_ATTACHMENT */
+/* reuse GL_INDEX */
+/* reuse GL_MAX_RENDERBUFFER_SIZE */
+/* reuse GL_DEPTH_STENCIL */
+/* reuse GL_UNSIGNED_INT_24_8 */
+/* reuse GL_DEPTH24_STENCIL8 */
+/* reuse GL_TEXTURE_STENCIL_SIZE */
+/* reuse GL_TEXTURE_RED_TYPE */
+/* reuse GL_TEXTURE_GREEN_TYPE */
+/* reuse GL_TEXTURE_BLUE_TYPE */
+/* reuse GL_TEXTURE_ALPHA_TYPE */
+/* reuse GL_TEXTURE_DEPTH_TYPE */
+/* reuse GL_UNSIGNED_NORMALIZED */
+/* reuse GL_FRAMEBUFFER_BINDING */
+/* reuse GL_DRAW_FRAMEBUFFER_BINDING */
+/* reuse GL_RENDERBUFFER_BINDING */
+/* reuse GL_READ_FRAMEBUFFER */
+/* reuse GL_DRAW_FRAMEBUFFER */
+/* reuse GL_READ_FRAMEBUFFER_BINDING */
+/* reuse GL_RENDERBUFFER_SAMPLES */
+/* reuse GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */
+/* reuse GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */
+/* reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */
+/* reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE */
+/* reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */
+/* reuse GL_FRAMEBUFFER_COMPLETE */
+/* reuse GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT */
+/* reuse GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT */
+/* reuse GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER */
+/* reuse GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER */
+/* reuse GL_FRAMEBUFFER_UNSUPPORTED */
+/* reuse GL_MAX_COLOR_ATTACHMENTS */
+/* reuse GL_COLOR_ATTACHMENT0 */
+/* reuse GL_COLOR_ATTACHMENT1 */
+/* reuse GL_COLOR_ATTACHMENT2 */
+/* reuse GL_COLOR_ATTACHMENT3 */
+/* reuse GL_COLOR_ATTACHMENT4 */
+/* reuse GL_COLOR_ATTACHMENT5 */
+/* reuse GL_COLOR_ATTACHMENT6 */
+/* reuse GL_COLOR_ATTACHMENT7 */
+/* reuse GL_COLOR_ATTACHMENT8 */
+/* reuse GL_COLOR_ATTACHMENT9 */
+/* reuse GL_COLOR_ATTACHMENT10 */
+/* reuse GL_COLOR_ATTACHMENT11 */
+/* reuse GL_COLOR_ATTACHMENT12 */
+/* reuse GL_COLOR_ATTACHMENT13 */
+/* reuse GL_COLOR_ATTACHMENT14 */
+/* reuse GL_COLOR_ATTACHMENT15 */
+/* reuse GL_DEPTH_ATTACHMENT */
+/* reuse GL_STENCIL_ATTACHMENT */
+/* reuse GL_FRAMEBUFFER */
+/* reuse GL_RENDERBUFFER */
+/* reuse GL_RENDERBUFFER_WIDTH */
+/* reuse GL_RENDERBUFFER_HEIGHT */
+/* reuse GL_RENDERBUFFER_INTERNAL_FORMAT */
+/* reuse GL_STENCIL_INDEX1 */
+/* reuse GL_STENCIL_INDEX4 */
+/* reuse GL_STENCIL_INDEX8 */
+/* reuse GL_STENCIL_INDEX16 */
+/* reuse GL_RENDERBUFFER_RED_SIZE */
+/* reuse GL_RENDERBUFFER_GREEN_SIZE */
+/* reuse GL_RENDERBUFFER_BLUE_SIZE */
+/* reuse GL_RENDERBUFFER_ALPHA_SIZE */
+/* reuse GL_RENDERBUFFER_DEPTH_SIZE */
+/* reuse GL_RENDERBUFFER_STENCIL_SIZE */
+/* reuse GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */
+/* reuse GL_MAX_SAMPLES */
+/* Reuse tokens from ARB_framebuffer_sRGB */
+/* reuse GL_FRAMEBUFFER_SRGB */
+/* Reuse tokens from ARB_half_float_vertex */
+/* reuse GL_HALF_FLOAT */
+/* Reuse tokens from ARB_map_buffer_range */
+/* reuse GL_MAP_READ_BIT */
+/* reuse GL_MAP_WRITE_BIT */
+/* reuse GL_MAP_INVALIDATE_RANGE_BIT */
+/* reuse GL_MAP_INVALIDATE_BUFFER_BIT */
+/* reuse GL_MAP_FLUSH_EXPLICIT_BIT */
+/* reuse GL_MAP_UNSYNCHRONIZED_BIT */
+/* Reuse tokens from ARB_texture_compression_rgtc */
+/* reuse GL_COMPRESSED_RED_RGTC1 */
+/* reuse GL_COMPRESSED_SIGNED_RED_RGTC1 */
+/* reuse GL_COMPRESSED_RG_RGTC2 */
+/* reuse GL_COMPRESSED_SIGNED_RG_RGTC2 */
+/* Reuse tokens from ARB_texture_rg */
+/* reuse GL_RG */
+/* reuse GL_RG_INTEGER */
+/* reuse GL_R8 */
+/* reuse GL_R16 */
+/* reuse GL_RG8 */
+/* reuse GL_RG16 */
+/* reuse GL_R16F */
+/* reuse GL_R32F */
+/* reuse GL_RG16F */
+/* reuse GL_RG32F */
+/* reuse GL_R8I */
+/* reuse GL_R8UI */
+/* reuse GL_R16I */
+/* reuse GL_R16UI */
+/* reuse GL_R32I */
+/* reuse GL_R32UI */
+/* reuse GL_RG8I */
+/* reuse GL_RG8UI */
+/* reuse GL_RG16I */
+/* reuse GL_RG16UI */
+/* reuse GL_RG32I */
+/* reuse GL_RG32UI */
+/* Reuse tokens from ARB_vertex_array_object */
+/* reuse GL_VERTEX_ARRAY_BINDING */
+#define GL_CLAMP_VERTEX_COLOR 0x891A
+#define GL_CLAMP_FRAGMENT_COLOR 0x891B
+#define GL_ALPHA_INTEGER 0x8D97
+/* Reuse tokens from ARB_framebuffer_object */
+/* reuse GL_TEXTURE_LUMINANCE_TYPE */
+/* reuse GL_TEXTURE_INTENSITY_TYPE */
+#endif
+
+#ifndef GL_VERSION_3_1
+#define GL_SAMPLER_2D_RECT 0x8B63
+#define GL_SAMPLER_2D_RECT_SHADOW 0x8B64
+#define GL_SAMPLER_BUFFER 0x8DC2
+#define GL_INT_SAMPLER_2D_RECT 0x8DCD
+#define GL_INT_SAMPLER_BUFFER 0x8DD0
+#define GL_UNSIGNED_INT_SAMPLER_2D_RECT 0x8DD5
+#define GL_UNSIGNED_INT_SAMPLER_BUFFER 0x8DD8
+#define GL_TEXTURE_BUFFER 0x8C2A
+#define GL_MAX_TEXTURE_BUFFER_SIZE 0x8C2B
+#define GL_TEXTURE_BINDING_BUFFER 0x8C2C
+#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING 0x8C2D
+#define GL_TEXTURE_RECTANGLE 0x84F5
+#define GL_TEXTURE_BINDING_RECTANGLE 0x84F6
+#define GL_PROXY_TEXTURE_RECTANGLE 0x84F7
+#define GL_MAX_RECTANGLE_TEXTURE_SIZE 0x84F8
+#define GL_RED_SNORM 0x8F90
+#define GL_RG_SNORM 0x8F91
+#define GL_RGB_SNORM 0x8F92
+#define GL_RGBA_SNORM 0x8F93
+#define GL_R8_SNORM 0x8F94
+#define GL_RG8_SNORM 0x8F95
+#define GL_RGB8_SNORM 0x8F96
+#define GL_RGBA8_SNORM 0x8F97
+#define GL_R16_SNORM 0x8F98
+#define GL_RG16_SNORM 0x8F99
+#define GL_RGB16_SNORM 0x8F9A
+#define GL_RGBA16_SNORM 0x8F9B
+#define GL_SIGNED_NORMALIZED 0x8F9C
+#define GL_PRIMITIVE_RESTART 0x8F9D
+#define GL_PRIMITIVE_RESTART_INDEX 0x8F9E
+/* Reuse tokens from ARB_copy_buffer */
+/* reuse GL_COPY_READ_BUFFER */
+/* reuse GL_COPY_WRITE_BUFFER */
+/* Reuse tokens from ARB_draw_instanced (none) */
+/* Reuse tokens from ARB_uniform_buffer_object */
+/* reuse GL_UNIFORM_BUFFER */
+/* reuse GL_UNIFORM_BUFFER_BINDING */
+/* reuse GL_UNIFORM_BUFFER_START */
+/* reuse GL_UNIFORM_BUFFER_SIZE */
+/* reuse GL_MAX_VERTEX_UNIFORM_BLOCKS */
+/* reuse GL_MAX_FRAGMENT_UNIFORM_BLOCKS */
+/* reuse GL_MAX_COMBINED_UNIFORM_BLOCKS */
+/* reuse GL_MAX_UNIFORM_BUFFER_BINDINGS */
+/* reuse GL_MAX_UNIFORM_BLOCK_SIZE */
+/* reuse GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS */
+/* reuse GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS */
+/* reuse GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT */
+/* reuse GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */
+/* reuse GL_ACTIVE_UNIFORM_BLOCKS */
+/* reuse GL_UNIFORM_TYPE */
+/* reuse GL_UNIFORM_SIZE */
+/* reuse GL_UNIFORM_NAME_LENGTH */
+/* reuse GL_UNIFORM_BLOCK_INDEX */
+/* reuse GL_UNIFORM_OFFSET */
+/* reuse GL_UNIFORM_ARRAY_STRIDE */
+/* reuse GL_UNIFORM_MATRIX_STRIDE */
+/* reuse GL_UNIFORM_IS_ROW_MAJOR */
+/* reuse GL_UNIFORM_BLOCK_BINDING */
+/* reuse GL_UNIFORM_BLOCK_DATA_SIZE */
+/* reuse GL_UNIFORM_BLOCK_NAME_LENGTH */
+/* reuse GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS */
+/* reuse GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES */
+/* reuse GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER */
+/* reuse GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER */
+/* reuse GL_INVALID_INDEX */
+#endif
+
+#ifndef GL_VERSION_3_2
+#define GL_CONTEXT_CORE_PROFILE_BIT 0x00000001
+#define GL_CONTEXT_COMPATIBILITY_PROFILE_BIT 0x00000002
+#define GL_LINES_ADJACENCY 0x000A
+#define GL_LINE_STRIP_ADJACENCY 0x000B
+#define GL_TRIANGLES_ADJACENCY 0x000C
+#define GL_TRIANGLE_STRIP_ADJACENCY 0x000D
+#define GL_PROGRAM_POINT_SIZE 0x8642
+#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS 0x8C29
+#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED 0x8DA7
+#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS 0x8DA8
+#define GL_GEOMETRY_SHADER 0x8DD9
+#define GL_GEOMETRY_VERTICES_OUT 0x8916
+#define GL_GEOMETRY_INPUT_TYPE 0x8917
+#define GL_GEOMETRY_OUTPUT_TYPE 0x8918
+#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS 0x8DDF
+#define GL_MAX_GEOMETRY_OUTPUT_VERTICES 0x8DE0
+#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS 0x8DE1
+#define GL_MAX_VERTEX_OUTPUT_COMPONENTS 0x9122
+#define GL_MAX_GEOMETRY_INPUT_COMPONENTS 0x9123
+#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS 0x9124
+#define GL_MAX_FRAGMENT_INPUT_COMPONENTS 0x9125
+#define GL_CONTEXT_PROFILE_MASK 0x9126
+/* reuse GL_MAX_VARYING_COMPONENTS */
+/* reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */
+/* Reuse tokens from ARB_depth_clamp */
+/* reuse GL_DEPTH_CLAMP */
+/* Reuse tokens from ARB_draw_elements_base_vertex (none) */
+/* Reuse tokens from ARB_fragment_coord_conventions (none) */
+/* Reuse tokens from ARB_provoking_vertex */
+/* reuse GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION */
+/* reuse GL_FIRST_VERTEX_CONVENTION */
+/* reuse GL_LAST_VERTEX_CONVENTION */
+/* reuse GL_PROVOKING_VERTEX */
+/* Reuse tokens from ARB_seamless_cube_map */
+/* reuse GL_TEXTURE_CUBE_MAP_SEAMLESS */
+/* Reuse tokens from ARB_sync */
+/* reuse GL_MAX_SERVER_WAIT_TIMEOUT */
+/* reuse GL_OBJECT_TYPE */
+/* reuse GL_SYNC_CONDITION */
+/* reuse GL_SYNC_STATUS */
+/* reuse GL_SYNC_FLAGS */
+/* reuse GL_SYNC_FENCE */
+/* reuse GL_SYNC_GPU_COMMANDS_COMPLETE */
+/* reuse GL_UNSIGNALED */
+/* reuse GL_SIGNALED */
+/* reuse GL_ALREADY_SIGNALED */
+/* reuse GL_TIMEOUT_EXPIRED */
+/* reuse GL_CONDITION_SATISFIED */
+/* reuse GL_WAIT_FAILED */
+/* reuse GL_TIMEOUT_IGNORED */
+/* reuse GL_SYNC_FLUSH_COMMANDS_BIT */
+/* reuse GL_TIMEOUT_IGNORED */
+/* Reuse tokens from ARB_texture_multisample */
+/* reuse GL_SAMPLE_POSITION */
+/* reuse GL_SAMPLE_MASK */
+/* reuse GL_SAMPLE_MASK_VALUE */
+/* reuse GL_MAX_SAMPLE_MASK_WORDS */
+/* reuse GL_TEXTURE_2D_MULTISAMPLE */
+/* reuse GL_PROXY_TEXTURE_2D_MULTISAMPLE */
+/* reuse GL_TEXTURE_2D_MULTISAMPLE_ARRAY */
+/* reuse GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY */
+/* reuse GL_TEXTURE_BINDING_2D_MULTISAMPLE */
+/* reuse GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY */
+/* reuse GL_TEXTURE_SAMPLES */
+/* reuse GL_TEXTURE_FIXED_SAMPLE_LOCATIONS */
+/* reuse GL_SAMPLER_2D_MULTISAMPLE */
+/* reuse GL_INT_SAMPLER_2D_MULTISAMPLE */
+/* reuse GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE */
+/* reuse GL_SAMPLER_2D_MULTISAMPLE_ARRAY */
+/* reuse GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY */
+/* reuse GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY */
+/* reuse GL_MAX_COLOR_TEXTURE_SAMPLES */
+/* reuse GL_MAX_DEPTH_TEXTURE_SAMPLES */
+/* reuse GL_MAX_INTEGER_SAMPLES */
+/* Don't need to reuse tokens from ARB_vertex_array_bgra since they're already in 1.2 core */
+#endif
+
+#ifndef GL_VERSION_3_3
+#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE
+/* Reuse tokens from ARB_blend_func_extended */
+/* reuse GL_SRC1_COLOR */
+/* reuse GL_ONE_MINUS_SRC1_COLOR */
+/* reuse GL_ONE_MINUS_SRC1_ALPHA */
+/* reuse GL_MAX_DUAL_SOURCE_DRAW_BUFFERS */
+/* Reuse tokens from ARB_explicit_attrib_location (none) */
+/* Reuse tokens from ARB_occlusion_query2 */
+/* reuse GL_ANY_SAMPLES_PASSED */
+/* Reuse tokens from ARB_sampler_objects */
+/* reuse GL_SAMPLER_BINDING */
+/* Reuse tokens from ARB_shader_bit_encoding (none) */
+/* Reuse tokens from ARB_texture_rgb10_a2ui */
+/* reuse GL_RGB10_A2UI */
+/* Reuse tokens from ARB_texture_swizzle */
+/* reuse GL_TEXTURE_SWIZZLE_R */
+/* reuse GL_TEXTURE_SWIZZLE_G */
+/* reuse GL_TEXTURE_SWIZZLE_B */
+/* reuse GL_TEXTURE_SWIZZLE_A */
+/* reuse GL_TEXTURE_SWIZZLE_RGBA */
+/* Reuse tokens from ARB_timer_query */
+/* reuse GL_TIME_ELAPSED */
+/* reuse GL_TIMESTAMP */
+/* Reuse tokens from ARB_vertex_type_2_10_10_10_rev */
+/* reuse GL_INT_2_10_10_10_REV */
+#endif
+
+#ifndef GL_VERSION_4_0
+#define GL_SAMPLE_SHADING 0x8C36
+#define GL_MIN_SAMPLE_SHADING_VALUE 0x8C37
+#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5E
+#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5F
+#define GL_TEXTURE_CUBE_MAP_ARRAY 0x9009
+#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY 0x900A
+#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY 0x900B
+#define GL_SAMPLER_CUBE_MAP_ARRAY 0x900C
+#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW 0x900D
+#define GL_INT_SAMPLER_CUBE_MAP_ARRAY 0x900E
+#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY 0x900F
+/* Reuse tokens from ARB_texture_query_lod (none) */
+/* Reuse tokens from ARB_draw_buffers_blend (none) */
+/* Reuse tokens from ARB_draw_indirect */
+/* reuse GL_DRAW_INDIRECT_BUFFER */
+/* reuse GL_DRAW_INDIRECT_BUFFER_BINDING */
+/* Reuse tokens from ARB_gpu_shader5 */
+/* reuse GL_GEOMETRY_SHADER_INVOCATIONS */
+/* reuse GL_MAX_GEOMETRY_SHADER_INVOCATIONS */
+/* reuse GL_MIN_FRAGMENT_INTERPOLATION_OFFSET */
+/* reuse GL_MAX_FRAGMENT_INTERPOLATION_OFFSET */
+/* reuse GL_FRAGMENT_INTERPOLATION_OFFSET_BITS */
+/* reuse GL_MAX_VERTEX_STREAMS */
+/* Reuse tokens from ARB_gpu_shader_fp64 */
+/* reuse GL_DOUBLE_VEC2 */
+/* reuse GL_DOUBLE_VEC3 */
+/* reuse GL_DOUBLE_VEC4 */
+/* reuse GL_DOUBLE_MAT2 */
+/* reuse GL_DOUBLE_MAT3 */
+/* reuse GL_DOUBLE_MAT4 */
+/* reuse GL_DOUBLE_MAT2x3 */
+/* reuse GL_DOUBLE_MAT2x4 */
+/* reuse GL_DOUBLE_MAT3x2 */
+/* reuse GL_DOUBLE_MAT3x4 */
+/* reuse GL_DOUBLE_MAT4x2 */
+/* reuse GL_DOUBLE_MAT4x3 */
+/* Reuse tokens from ARB_shader_subroutine */
+/* reuse GL_ACTIVE_SUBROUTINES */
+/* reuse GL_ACTIVE_SUBROUTINE_UNIFORMS */
+/* reuse GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS */
+/* reuse GL_ACTIVE_SUBROUTINE_MAX_LENGTH */
+/* reuse GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH */
+/* reuse GL_MAX_SUBROUTINES */
+/* reuse GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS */
+/* reuse GL_NUM_COMPATIBLE_SUBROUTINES */
+/* reuse GL_COMPATIBLE_SUBROUTINES */
+/* Reuse tokens from ARB_tessellation_shader */
+/* reuse GL_PATCHES */
+/* reuse GL_PATCH_VERTICES */
+/* reuse GL_PATCH_DEFAULT_INNER_LEVEL */
+/* reuse GL_PATCH_DEFAULT_OUTER_LEVEL */
+/* reuse GL_TESS_CONTROL_OUTPUT_VERTICES */
+/* reuse GL_TESS_GEN_MODE */
+/* reuse GL_TESS_GEN_SPACING */
+/* reuse GL_TESS_GEN_VERTEX_ORDER */
+/* reuse GL_TESS_GEN_POINT_MODE */
+/* reuse GL_ISOLINES */
+/* reuse GL_FRACTIONAL_ODD */
+/* reuse GL_FRACTIONAL_EVEN */
+/* reuse GL_MAX_PATCH_VERTICES */
+/* reuse GL_MAX_TESS_GEN_LEVEL */
+/* reuse GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS */
+/* reuse GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS */
+/* reuse GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS */
+/* reuse GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS */
+/* reuse GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS */
+/* reuse GL_MAX_TESS_PATCH_COMPONENTS */
+/* reuse GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS */
+/* reuse GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS */
+/* reuse GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS */
+/* reuse GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS */
+/* reuse GL_MAX_TESS_CONTROL_INPUT_COMPONENTS */
+/* reuse GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS */
+/* reuse GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS */
+/* reuse GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS */
+/* reuse GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER */
+/* reuse GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER */
+/* reuse GL_TESS_EVALUATION_SHADER */
+/* reuse GL_TESS_CONTROL_SHADER */
+/* Reuse tokens from ARB_texture_buffer_object_rgb32 (none) */
+/* Reuse tokens from ARB_transform_feedback2 */
+/* reuse GL_TRANSFORM_FEEDBACK */
+/* reuse GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED */
+/* reuse GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE */
+/* reuse GL_TRANSFORM_FEEDBACK_BINDING */
+/* Reuse tokens from ARB_transform_feedback3 */
+/* reuse GL_MAX_TRANSFORM_FEEDBACK_BUFFERS */
+/* reuse GL_MAX_VERTEX_STREAMS */
+#endif
+
+#ifndef GL_VERSION_4_1
+/* Reuse tokens from ARB_ES2_compatibility */
+/* reuse GL_FIXED */
+/* reuse GL_IMPLEMENTATION_COLOR_READ_TYPE */
+/* reuse GL_IMPLEMENTATION_COLOR_READ_FORMAT */
+/* reuse GL_LOW_FLOAT */
+/* reuse GL_MEDIUM_FLOAT */
+/* reuse GL_HIGH_FLOAT */
+/* reuse GL_LOW_INT */
+/* reuse GL_MEDIUM_INT */
+/* reuse GL_HIGH_INT */
+/* reuse GL_SHADER_COMPILER */
+/* reuse GL_SHADER_BINARY_FORMATS */
+/* reuse GL_NUM_SHADER_BINARY_FORMATS */
+/* reuse GL_MAX_VERTEX_UNIFORM_VECTORS */
+/* reuse GL_MAX_VARYING_VECTORS */
+/* reuse GL_MAX_FRAGMENT_UNIFORM_VECTORS */
+/* reuse GL_RGB565 */
+/* Reuse tokens from ARB_get_program_binary */
+/* reuse GL_PROGRAM_BINARY_RETRIEVABLE_HINT */
+/* reuse GL_PROGRAM_BINARY_LENGTH */
+/* reuse GL_NUM_PROGRAM_BINARY_FORMATS */
+/* reuse GL_PROGRAM_BINARY_FORMATS */
+/* Reuse tokens from ARB_separate_shader_objects */
+/* reuse GL_VERTEX_SHADER_BIT */
+/* reuse GL_FRAGMENT_SHADER_BIT */
+/* reuse GL_GEOMETRY_SHADER_BIT */
+/* reuse GL_TESS_CONTROL_SHADER_BIT */
+/* reuse GL_TESS_EVALUATION_SHADER_BIT */
+/* reuse GL_ALL_SHADER_BITS */
+/* reuse GL_PROGRAM_SEPARABLE */
+/* reuse GL_ACTIVE_PROGRAM */
+/* reuse GL_PROGRAM_PIPELINE_BINDING */
+/* Reuse tokens from ARB_shader_precision (none) */
+/* Reuse tokens from ARB_vertex_attrib_64bit - all are in GL 3.0 and 4.0 already */
+/* Reuse tokens from ARB_viewport_array - some are in GL 1.1 and ARB_provoking_vertex already */
+/* reuse GL_MAX_VIEWPORTS */
+/* reuse GL_VIEWPORT_SUBPIXEL_BITS */
+/* reuse GL_VIEWPORT_BOUNDS_RANGE */
+/* reuse GL_LAYER_PROVOKING_VERTEX */
+/* reuse GL_VIEWPORT_INDEX_PROVOKING_VERTEX */
+/* reuse GL_UNDEFINED_VERTEX */
+#endif
+
+#ifndef GL_VERSION_4_2
+/* Reuse tokens from ARB_base_instance (none) */
+/* Reuse tokens from ARB_shading_language_420pack (none) */
+/* Reuse tokens from ARB_transform_feedback_instanced (none) */
+/* Reuse tokens from ARB_compressed_texture_pixel_storage */
+/* reuse GL_UNPACK_COMPRESSED_BLOCK_WIDTH */
+/* reuse GL_UNPACK_COMPRESSED_BLOCK_HEIGHT */
+/* reuse GL_UNPACK_COMPRESSED_BLOCK_DEPTH */
+/* reuse GL_UNPACK_COMPRESSED_BLOCK_SIZE */
+/* reuse GL_PACK_COMPRESSED_BLOCK_WIDTH */
+/* reuse GL_PACK_COMPRESSED_BLOCK_HEIGHT */
+/* reuse GL_PACK_COMPRESSED_BLOCK_DEPTH */
+/* reuse GL_PACK_COMPRESSED_BLOCK_SIZE */
+/* Reuse tokens from ARB_conservative_depth (none) */
+/* Reuse tokens from ARB_internalformat_query */
+/* reuse GL_NUM_SAMPLE_COUNTS */
+/* Reuse tokens from ARB_map_buffer_alignment */
+/* reuse GL_MIN_MAP_BUFFER_ALIGNMENT */
+/* Reuse tokens from ARB_shader_atomic_counters */
+/* reuse GL_ATOMIC_COUNTER_BUFFER */
+/* reuse GL_ATOMIC_COUNTER_BUFFER_BINDING */
+/* reuse GL_ATOMIC_COUNTER_BUFFER_START */
+/* reuse GL_ATOMIC_COUNTER_BUFFER_SIZE */
+/* reuse GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE */
+/* reuse GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS */
+/* reuse GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES */
+/* reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER */
+/* reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER */
+/* reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER */
+/* reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER */
+/* reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER */
+/* reuse GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS */
+/* reuse GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS */
+/* reuse GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS */
+/* reuse GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS */
+/* reuse GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS */
+/* reuse GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS */
+/* reuse GL_MAX_VERTEX_ATOMIC_COUNTERS */
+/* reuse GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS */
+/* reuse GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS */
+/* reuse GL_MAX_GEOMETRY_ATOMIC_COUNTERS */
+/* reuse GL_MAX_FRAGMENT_ATOMIC_COUNTERS */
+/* reuse GL_MAX_COMBINED_ATOMIC_COUNTERS */
+/* reuse GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE */
+/* reuse GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS */
+/* reuse GL_ACTIVE_ATOMIC_COUNTER_BUFFERS */
+/* reuse GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX */
+/* reuse GL_UNSIGNED_INT_ATOMIC_COUNTER */
+/* Reuse tokens from ARB_shader_image_load_store */
+/* reuse GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT */
+/* reuse GL_ELEMENT_ARRAY_BARRIER_BIT */
+/* reuse GL_UNIFORM_BARRIER_BIT */
+/* reuse GL_TEXTURE_FETCH_BARRIER_BIT */
+/* reuse GL_SHADER_IMAGE_ACCESS_BARRIER_BIT */
+/* reuse GL_COMMAND_BARRIER_BIT */
+/* reuse GL_PIXEL_BUFFER_BARRIER_BIT */
+/* reuse GL_TEXTURE_UPDATE_BARRIER_BIT */
+/* reuse GL_BUFFER_UPDATE_BARRIER_BIT */
+/* reuse GL_FRAMEBUFFER_BARRIER_BIT */
+/* reuse GL_TRANSFORM_FEEDBACK_BARRIER_BIT */
+/* reuse GL_ATOMIC_COUNTER_BARRIER_BIT */
+/* reuse GL_ALL_BARRIER_BITS */
+/* reuse GL_MAX_IMAGE_UNITS */
+/* reuse GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS */
+/* reuse GL_IMAGE_BINDING_NAME */
+/* reuse GL_IMAGE_BINDING_LEVEL */
+/* reuse GL_IMAGE_BINDING_LAYERED */
+/* reuse GL_IMAGE_BINDING_LAYER */
+/* reuse GL_IMAGE_BINDING_ACCESS */
+/* reuse GL_IMAGE_1D */
+/* reuse GL_IMAGE_2D */
+/* reuse GL_IMAGE_3D */
+/* reuse GL_IMAGE_2D_RECT */
+/* reuse GL_IMAGE_CUBE */
+/* reuse GL_IMAGE_BUFFER */
+/* reuse GL_IMAGE_1D_ARRAY */
+/* reuse GL_IMAGE_2D_ARRAY */
+/* reuse GL_IMAGE_CUBE_MAP_ARRAY */
+/* reuse GL_IMAGE_2D_MULTISAMPLE */
+/* reuse GL_IMAGE_2D_MULTISAMPLE_ARRAY */
+/* reuse GL_INT_IMAGE_1D */
+/* reuse GL_INT_IMAGE_2D */
+/* reuse GL_INT_IMAGE_3D */
+/* reuse GL_INT_IMAGE_2D_RECT */
+/* reuse GL_INT_IMAGE_CUBE */
+/* reuse GL_INT_IMAGE_BUFFER */
+/* reuse GL_INT_IMAGE_1D_ARRAY */
+/* reuse GL_INT_IMAGE_2D_ARRAY */
+/* reuse GL_INT_IMAGE_CUBE_MAP_ARRAY */
+/* reuse GL_INT_IMAGE_2D_MULTISAMPLE */
+/* reuse GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY */
+/* reuse GL_UNSIGNED_INT_IMAGE_1D */
+/* reuse GL_UNSIGNED_INT_IMAGE_2D */
+/* reuse GL_UNSIGNED_INT_IMAGE_3D */
+/* reuse GL_UNSIGNED_INT_IMAGE_2D_RECT */
+/* reuse GL_UNSIGNED_INT_IMAGE_CUBE */
+/* reuse GL_UNSIGNED_INT_IMAGE_BUFFER */
+/* reuse GL_UNSIGNED_INT_IMAGE_1D_ARRAY */
+/* reuse GL_UNSIGNED_INT_IMAGE_2D_ARRAY */
+/* reuse GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY */
+/* reuse GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE */
+/* reuse GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY */
+/* reuse GL_MAX_IMAGE_SAMPLES */
+/* reuse GL_IMAGE_BINDING_FORMAT */
+/* reuse GL_IMAGE_FORMAT_COMPATIBILITY_TYPE */
+/* reuse GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE */
+/* reuse GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS */
+/* reuse GL_MAX_VERTEX_IMAGE_UNIFORMS */
+/* reuse GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS */
+/* reuse GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS */
+/* reuse GL_MAX_GEOMETRY_IMAGE_UNIFORMS */
+/* reuse GL_MAX_FRAGMENT_IMAGE_UNIFORMS */
+/* reuse GL_MAX_COMBINED_IMAGE_UNIFORMS */
+/* Reuse tokens from ARB_shading_language_packing (none) */
+/* Reuse tokens from ARB_texture_storage */
+/* reuse GL_TEXTURE_IMMUTABLE_FORMAT */
+#endif
+
+#ifndef GL_VERSION_4_3
+#define GL_NUM_SHADING_LANGUAGE_VERSIONS 0x82E9
+#define GL_VERTEX_ATTRIB_ARRAY_LONG 0x874E
+/* Reuse tokens from ARB_arrays_of_arrays (none, GLSL only) */
+/* Reuse tokens from ARB_fragment_layer_viewport (none, GLSL only) */
+/* Reuse tokens from ARB_shader_image_size (none, GLSL only) */
+/* Reuse tokens from ARB_ES3_compatibility */
+/* reuse GL_COMPRESSED_RGB8_ETC2 */
+/* reuse GL_COMPRESSED_SRGB8_ETC2 */
+/* reuse GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 */
+/* reuse GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 */
+/* reuse GL_COMPRESSED_RGBA8_ETC2_EAC */
+/* reuse GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC */
+/* reuse GL_COMPRESSED_R11_EAC */
+/* reuse GL_COMPRESSED_SIGNED_R11_EAC */
+/* reuse GL_COMPRESSED_RG11_EAC */
+/* reuse GL_COMPRESSED_SIGNED_RG11_EAC */
+/* reuse GL_PRIMITIVE_RESTART_FIXED_INDEX */
+/* reuse GL_ANY_SAMPLES_PASSED_CONSERVATIVE */
+/* reuse GL_MAX_ELEMENT_INDEX */
+/* Reuse tokens from ARB_clear_buffer_object (none) */
+/* Reuse tokens from ARB_compute_shader */
+/* reuse GL_COMPUTE_SHADER */
+/* reuse GL_MAX_COMPUTE_UNIFORM_BLOCKS */
+/* reuse GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS */
+/* reuse GL_MAX_COMPUTE_IMAGE_UNIFORMS */
+/* reuse GL_MAX_COMPUTE_SHARED_MEMORY_SIZE */
+/* reuse GL_MAX_COMPUTE_UNIFORM_COMPONENTS */
+/* reuse GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS */
+/* reuse GL_MAX_COMPUTE_ATOMIC_COUNTERS */
+/* reuse GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS */
+/* reuse GL_MAX_COMPUTE_LOCAL_INVOCATIONS */
+/* reuse GL_MAX_COMPUTE_WORK_GROUP_COUNT */
+/* reuse GL_MAX_COMPUTE_WORK_GROUP_SIZE */
+/* reuse GL_COMPUTE_LOCAL_WORK_SIZE */
+/* reuse GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER */
+/* reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER */
+/* reuse GL_DISPATCH_INDIRECT_BUFFER */
+/* reuse GL_DISPATCH_INDIRECT_BUFFER_BINDING */
+/* Reuse tokens from ARB_copy_image (none) */
+/* Reuse tokens from KHR_debug */
+/* reuse GL_DEBUG_OUTPUT_SYNCHRONOUS */
+/* reuse GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH */
+/* reuse GL_DEBUG_CALLBACK_FUNCTION */
+/* reuse GL_DEBUG_CALLBACK_USER_PARAM */
+/* reuse GL_DEBUG_SOURCE_API */
+/* reuse GL_DEBUG_SOURCE_WINDOW_SYSTEM */
+/* reuse GL_DEBUG_SOURCE_SHADER_COMPILER */
+/* reuse GL_DEBUG_SOURCE_THIRD_PARTY */
+/* reuse GL_DEBUG_SOURCE_APPLICATION */
+/* reuse GL_DEBUG_SOURCE_OTHER */
+/* reuse GL_DEBUG_TYPE_ERROR */
+/* reuse GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR */
+/* reuse GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR */
+/* reuse GL_DEBUG_TYPE_PORTABILITY */
+/* reuse GL_DEBUG_TYPE_PERFORMANCE */
+/* reuse GL_DEBUG_TYPE_OTHER */
+/* reuse GL_MAX_DEBUG_MESSAGE_LENGTH */
+/* reuse GL_MAX_DEBUG_LOGGED_MESSAGES */
+/* reuse GL_DEBUG_LOGGED_MESSAGES */
+/* reuse GL_DEBUG_SEVERITY_HIGH */
+/* reuse GL_DEBUG_SEVERITY_MEDIUM */
+/* reuse GL_DEBUG_SEVERITY_LOW */
+/* reuse GL_DEBUG_TYPE_MARKER */
+/* reuse GL_DEBUG_TYPE_PUSH_GROUP */
+/* reuse GL_DEBUG_TYPE_POP_GROUP */
+/* reuse GL_DEBUG_SEVERITY_NOTIFICATION */
+/* reuse GL_MAX_DEBUG_GROUP_STACK_DEPTH */
+/* reuse GL_DEBUG_GROUP_STACK_DEPTH */
+/* reuse GL_BUFFER */
+/* reuse GL_SHADER */
+/* reuse GL_PROGRAM */
+/* reuse GL_QUERY */
+/* reuse GL_PROGRAM_PIPELINE */
+/* reuse GL_SAMPLER */
+/* reuse GL_DISPLAY_LIST */
+/* reuse GL_MAX_LABEL_LENGTH */
+/* reuse GL_DEBUG_OUTPUT */
+/* reuse GL_CONTEXT_FLAG_DEBUG_BIT */
+/* reuse GL_STACK_UNDERFLOW */
+/* reuse GL_STACK_OVERFLOW */
+/* Reuse tokens from ARB_explicit_uniform_location */
+/* reuse GL_MAX_UNIFORM_LOCATIONS */
+/* Reuse tokens from ARB_framebuffer_no_attachments */
+/* reuse GL_FRAMEBUFFER_DEFAULT_WIDTH */
+/* reuse GL_FRAMEBUFFER_DEFAULT_HEIGHT */
+/* reuse GL_FRAMEBUFFER_DEFAULT_LAYERS */
+/* reuse GL_FRAMEBUFFER_DEFAULT_SAMPLES */
+/* reuse GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS */
+/* reuse GL_MAX_FRAMEBUFFER_WIDTH */
+/* reuse GL_MAX_FRAMEBUFFER_HEIGHT */
+/* reuse GL_MAX_FRAMEBUFFER_LAYERS */
+/* reuse GL_MAX_FRAMEBUFFER_SAMPLES */
+/* Reuse tokens from ARB_internalformat_query2 */
+/* reuse GL_INTERNALFORMAT_SUPPORTED */
+/* reuse GL_INTERNALFORMAT_PREFERRED */
+/* reuse GL_INTERNALFORMAT_RED_SIZE */
+/* reuse GL_INTERNALFORMAT_GREEN_SIZE */
+/* reuse GL_INTERNALFORMAT_BLUE_SIZE */
+/* reuse GL_INTERNALFORMAT_ALPHA_SIZE */
+/* reuse GL_INTERNALFORMAT_DEPTH_SIZE */
+/* reuse GL_INTERNALFORMAT_STENCIL_SIZE */
+/* reuse GL_INTERNALFORMAT_SHARED_SIZE */
+/* reuse GL_INTERNALFORMAT_RED_TYPE */
+/* reuse GL_INTERNALFORMAT_GREEN_TYPE */
+/* reuse GL_INTERNALFORMAT_BLUE_TYPE */
+/* reuse GL_INTERNALFORMAT_ALPHA_TYPE */
+/* reuse GL_INTERNALFORMAT_DEPTH_TYPE */
+/* reuse GL_INTERNALFORMAT_STENCIL_TYPE */
+/* reuse GL_MAX_WIDTH */
+/* reuse GL_MAX_HEIGHT */
+/* reuse GL_MAX_DEPTH */
+/* reuse GL_MAX_LAYERS */
+/* reuse GL_MAX_COMBINED_DIMENSIONS */
+/* reuse GL_COLOR_COMPONENTS */
+/* reuse GL_DEPTH_COMPONENTS */
+/* reuse GL_STENCIL_COMPONENTS */
+/* reuse GL_COLOR_RENDERABLE */
+/* reuse GL_DEPTH_RENDERABLE */
+/* reuse GL_STENCIL_RENDERABLE */
+/* reuse GL_FRAMEBUFFER_RENDERABLE */
+/* reuse GL_FRAMEBUFFER_RENDERABLE_LAYERED */
+/* reuse GL_FRAMEBUFFER_BLEND */
+/* reuse GL_READ_PIXELS */
+/* reuse GL_READ_PIXELS_FORMAT */
+/* reuse GL_READ_PIXELS_TYPE */
+/* reuse GL_TEXTURE_IMAGE_FORMAT */
+/* reuse GL_TEXTURE_IMAGE_TYPE */
+/* reuse GL_GET_TEXTURE_IMAGE_FORMAT */
+/* reuse GL_GET_TEXTURE_IMAGE_TYPE */
+/* reuse GL_MIPMAP */
+/* reuse GL_MANUAL_GENERATE_MIPMAP */
+/* reuse GL_AUTO_GENERATE_MIPMAP */
+/* reuse GL_COLOR_ENCODING */
+/* reuse GL_SRGB_READ */
+/* reuse GL_SRGB_WRITE */
+/* reuse GL_FILTER */
+/* reuse GL_VERTEX_TEXTURE */
+/* reuse GL_TESS_CONTROL_TEXTURE */
+/* reuse GL_TESS_EVALUATION_TEXTURE */
+/* reuse GL_GEOMETRY_TEXTURE */
+/* reuse GL_FRAGMENT_TEXTURE */
+/* reuse GL_COMPUTE_TEXTURE */
+/* reuse GL_TEXTURE_SHADOW */
+/* reuse GL_TEXTURE_GATHER */
+/* reuse GL_TEXTURE_GATHER_SHADOW */
+/* reuse GL_SHADER_IMAGE_LOAD */
+/* reuse GL_SHADER_IMAGE_STORE */
+/* reuse GL_SHADER_IMAGE_ATOMIC */
+/* reuse GL_IMAGE_TEXEL_SIZE */
+/* reuse GL_IMAGE_COMPATIBILITY_CLASS */
+/* reuse GL_IMAGE_PIXEL_FORMAT */
+/* reuse GL_IMAGE_PIXEL_TYPE */
+/* reuse GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST */
+/* reuse GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST */
+/* reuse GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE */
+/* reuse GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE */
+/* reuse GL_TEXTURE_COMPRESSED_BLOCK_WIDTH */
+/* reuse GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT */
+/* reuse GL_TEXTURE_COMPRESSED_BLOCK_SIZE */
+/* reuse GL_CLEAR_BUFFER */
+/* reuse GL_TEXTURE_VIEW */
+/* reuse GL_VIEW_COMPATIBILITY_CLASS */
+/* reuse GL_FULL_SUPPORT */
+/* reuse GL_CAVEAT_SUPPORT */
+/* reuse GL_IMAGE_CLASS_4_X_32 */
+/* reuse GL_IMAGE_CLASS_2_X_32 */
+/* reuse GL_IMAGE_CLASS_1_X_32 */
+/* reuse GL_IMAGE_CLASS_4_X_16 */
+/* reuse GL_IMAGE_CLASS_2_X_16 */
+/* reuse GL_IMAGE_CLASS_1_X_16 */
+/* reuse GL_IMAGE_CLASS_4_X_8 */
+/* reuse GL_IMAGE_CLASS_2_X_8 */
+/* reuse GL_IMAGE_CLASS_1_X_8 */
+/* reuse GL_IMAGE_CLASS_11_11_10 */
+/* reuse GL_IMAGE_CLASS_10_10_10_2 */
+/* reuse GL_VIEW_CLASS_128_BITS */
+/* reuse GL_VIEW_CLASS_96_BITS */
+/* reuse GL_VIEW_CLASS_64_BITS */
+/* reuse GL_VIEW_CLASS_48_BITS */
+/* reuse GL_VIEW_CLASS_32_BITS */
+/* reuse GL_VIEW_CLASS_24_BITS */
+/* reuse GL_VIEW_CLASS_16_BITS */
+/* reuse GL_VIEW_CLASS_8_BITS */
+/* reuse GL_VIEW_CLASS_S3TC_DXT1_RGB */
+/* reuse GL_VIEW_CLASS_S3TC_DXT1_RGBA */
+/* reuse GL_VIEW_CLASS_S3TC_DXT3_RGBA */
+/* reuse GL_VIEW_CLASS_S3TC_DXT5_RGBA */
+/* reuse GL_VIEW_CLASS_RGTC1_RED */
+/* reuse GL_VIEW_CLASS_RGTC2_RG */
+/* reuse GL_VIEW_CLASS_BPTC_UNORM */
+/* reuse GL_VIEW_CLASS_BPTC_FLOAT */
+/* Reuse tokens from ARB_invalidate_subdata (none) */
+/* Reuse tokens from ARB_multi_draw_indirect (none) */
+/* Reuse tokens from ARB_program_interface_query */
+/* reuse GL_UNIFORM */
+/* reuse GL_UNIFORM_BLOCK */
+/* reuse GL_PROGRAM_INPUT */
+/* reuse GL_PROGRAM_OUTPUT */
+/* reuse GL_BUFFER_VARIABLE */
+/* reuse GL_SHADER_STORAGE_BLOCK */
+/* reuse GL_VERTEX_SUBROUTINE */
+/* reuse GL_TESS_CONTROL_SUBROUTINE */
+/* reuse GL_TESS_EVALUATION_SUBROUTINE */
+/* reuse GL_GEOMETRY_SUBROUTINE */
+/* reuse GL_FRAGMENT_SUBROUTINE */
+/* reuse GL_COMPUTE_SUBROUTINE */
+/* reuse GL_VERTEX_SUBROUTINE_UNIFORM */
+/* reuse GL_TESS_CONTROL_SUBROUTINE_UNIFORM */
+/* reuse GL_TESS_EVALUATION_SUBROUTINE_UNIFORM */
+/* reuse GL_GEOMETRY_SUBROUTINE_UNIFORM */
+/* reuse GL_FRAGMENT_SUBROUTINE_UNIFORM */
+/* reuse GL_COMPUTE_SUBROUTINE_UNIFORM */
+/* reuse GL_TRANSFORM_FEEDBACK_VARYING */
+/* reuse GL_ACTIVE_RESOURCES */
+/* reuse GL_MAX_NAME_LENGTH */
+/* reuse GL_MAX_NUM_ACTIVE_VARIABLES */
+/* reuse GL_MAX_NUM_COMPATIBLE_SUBROUTINES */
+/* reuse GL_NAME_LENGTH */
+/* reuse GL_TYPE */
+/* reuse GL_ARRAY_SIZE */
+/* reuse GL_OFFSET */
+/* reuse GL_BLOCK_INDEX */
+/* reuse GL_ARRAY_STRIDE */
+/* reuse GL_MATRIX_STRIDE */
+/* reuse GL_IS_ROW_MAJOR */
+/* reuse GL_ATOMIC_COUNTER_BUFFER_INDEX */
+/* reuse GL_BUFFER_BINDING */
+/* reuse GL_BUFFER_DATA_SIZE */
+/* reuse GL_NUM_ACTIVE_VARIABLES */
+/* reuse GL_ACTIVE_VARIABLES */
+/* reuse GL_REFERENCED_BY_VERTEX_SHADER */
+/* reuse GL_REFERENCED_BY_TESS_CONTROL_SHADER */
+/* reuse GL_REFERENCED_BY_TESS_EVALUATION_SHADER */
+/* reuse GL_REFERENCED_BY_GEOMETRY_SHADER */
+/* reuse GL_REFERENCED_BY_FRAGMENT_SHADER */
+/* reuse GL_REFERENCED_BY_COMPUTE_SHADER */
+/* reuse GL_TOP_LEVEL_ARRAY_SIZE */
+/* reuse GL_TOP_LEVEL_ARRAY_STRIDE */
+/* reuse GL_LOCATION */
+/* reuse GL_LOCATION_INDEX */
+/* reuse GL_IS_PER_PATCH */
+/* Reuse tokens from ARB_robust_buffer_access_behavior (none) */
+/* Reuse tokens from ARB_shader_storage_buffer_object */
+/* reuse GL_SHADER_STORAGE_BUFFER */
+/* reuse GL_SHADER_STORAGE_BUFFER_BINDING */
+/* reuse GL_SHADER_STORAGE_BUFFER_START */
+/* reuse GL_SHADER_STORAGE_BUFFER_SIZE */
+/* reuse GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS */
+/* reuse GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS */
+/* reuse GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS */
+/* reuse GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS */
+/* reuse GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS */
+/* reuse GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS */
+/* reuse GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS */
+/* reuse GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS */
+/* reuse GL_MAX_SHADER_STORAGE_BLOCK_SIZE */
+/* reuse GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT */
+/* reuse GL_SHADER_STORAGE_BARRIER_BIT */
+/* reuse GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES */
+/* Reuse tokens from ARB_stencil_texturing */
+/* reuse GL_DEPTH_STENCIL_TEXTURE_MODE */
+/* Reuse tokens from ARB_texture_buffer_range */
+/* reuse GL_TEXTURE_BUFFER_OFFSET */
+/* reuse GL_TEXTURE_BUFFER_SIZE */
+/* reuse GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT */
+/* Reuse tokens from ARB_texture_query_levels (none) */
+/* Reuse tokens from ARB_texture_storage_multisample (none) */
+/* Reuse tokens from ARB_texture_view */
+/* reuse GL_TEXTURE_VIEW_MIN_LEVEL */
+/* reuse GL_TEXTURE_VIEW_NUM_LEVELS */
+/* reuse GL_TEXTURE_VIEW_MIN_LAYER */
+/* reuse GL_TEXTURE_VIEW_NUM_LAYERS */
+/* reuse GL_TEXTURE_IMMUTABLE_LEVELS */
+/* Reuse tokens from ARB_vertex_attrib_binding */
+/* reuse GL_VERTEX_ATTRIB_BINDING */
+/* reuse GL_VERTEX_ATTRIB_RELATIVE_OFFSET */
+/* reuse GL_VERTEX_BINDING_DIVISOR */
+/* reuse GL_VERTEX_BINDING_OFFSET */
+/* reuse GL_VERTEX_BINDING_STRIDE */
+/* reuse GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET */
+/* reuse GL_MAX_VERTEX_ATTRIB_BINDINGS */
+#endif
+
+#ifndef GL_ARB_multitexture
+#define GL_TEXTURE0_ARB 0x84C0
+#define GL_TEXTURE1_ARB 0x84C1
+#define GL_TEXTURE2_ARB 0x84C2
+#define GL_TEXTURE3_ARB 0x84C3
+#define GL_TEXTURE4_ARB 0x84C4
+#define GL_TEXTURE5_ARB 0x84C5
+#define GL_TEXTURE6_ARB 0x84C6
+#define GL_TEXTURE7_ARB 0x84C7
+#define GL_TEXTURE8_ARB 0x84C8
+#define GL_TEXTURE9_ARB 0x84C9
+#define GL_TEXTURE10_ARB 0x84CA
+#define GL_TEXTURE11_ARB 0x84CB
+#define GL_TEXTURE12_ARB 0x84CC
+#define GL_TEXTURE13_ARB 0x84CD
+#define GL_TEXTURE14_ARB 0x84CE
+#define GL_TEXTURE15_ARB 0x84CF
+#define GL_TEXTURE16_ARB 0x84D0
+#define GL_TEXTURE17_ARB 0x84D1
+#define GL_TEXTURE18_ARB 0x84D2
+#define GL_TEXTURE19_ARB 0x84D3
+#define GL_TEXTURE20_ARB 0x84D4
+#define GL_TEXTURE21_ARB 0x84D5
+#define GL_TEXTURE22_ARB 0x84D6
+#define GL_TEXTURE23_ARB 0x84D7
+#define GL_TEXTURE24_ARB 0x84D8
+#define GL_TEXTURE25_ARB 0x84D9
+#define GL_TEXTURE26_ARB 0x84DA
+#define GL_TEXTURE27_ARB 0x84DB
+#define GL_TEXTURE28_ARB 0x84DC
+#define GL_TEXTURE29_ARB 0x84DD
+#define GL_TEXTURE30_ARB 0x84DE
+#define GL_TEXTURE31_ARB 0x84DF
+#define GL_ACTIVE_TEXTURE_ARB 0x84E0
+#define GL_CLIENT_ACTIVE_TEXTURE_ARB 0x84E1
+#define GL_MAX_TEXTURE_UNITS_ARB 0x84E2
+#endif
+
+#ifndef GL_ARB_transpose_matrix
+#define GL_TRANSPOSE_MODELVIEW_MATRIX_ARB 0x84E3
+#define GL_TRANSPOSE_PROJECTION_MATRIX_ARB 0x84E4
+#define GL_TRANSPOSE_TEXTURE_MATRIX_ARB 0x84E5
+#define GL_TRANSPOSE_COLOR_MATRIX_ARB 0x84E6
+#endif
+
+#ifndef GL_ARB_multisample
+#define GL_MULTISAMPLE_ARB 0x809D
+#define GL_SAMPLE_ALPHA_TO_COVERAGE_ARB 0x809E
+#define GL_SAMPLE_ALPHA_TO_ONE_ARB 0x809F
+#define GL_SAMPLE_COVERAGE_ARB 0x80A0
+#define GL_SAMPLE_BUFFERS_ARB 0x80A8
+#define GL_SAMPLES_ARB 0x80A9
+#define GL_SAMPLE_COVERAGE_VALUE_ARB 0x80AA
+#define GL_SAMPLE_COVERAGE_INVERT_ARB 0x80AB
+#define GL_MULTISAMPLE_BIT_ARB 0x20000000
+#endif
+
+#ifndef GL_ARB_texture_env_add
+#endif
+
+#ifndef GL_ARB_texture_cube_map
+#define GL_NORMAL_MAP_ARB 0x8511
+#define GL_REFLECTION_MAP_ARB 0x8512
+#define GL_TEXTURE_CUBE_MAP_ARB 0x8513
+#define GL_TEXTURE_BINDING_CUBE_MAP_ARB 0x8514
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x8515
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x8516
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x8517
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x8518
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x8519
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x851A
+#define GL_PROXY_TEXTURE_CUBE_MAP_ARB 0x851B
+#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB 0x851C
+#endif
+
+#ifndef GL_ARB_texture_compression
+#define GL_COMPRESSED_ALPHA_ARB 0x84E9
+#define GL_COMPRESSED_LUMINANCE_ARB 0x84EA
+#define GL_COMPRESSED_LUMINANCE_ALPHA_ARB 0x84EB
+#define GL_COMPRESSED_INTENSITY_ARB 0x84EC
+#define GL_COMPRESSED_RGB_ARB 0x84ED
+#define GL_COMPRESSED_RGBA_ARB 0x84EE
+#define GL_TEXTURE_COMPRESSION_HINT_ARB 0x84EF
+#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB 0x86A0
+#define GL_TEXTURE_COMPRESSED_ARB 0x86A1
+#define GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A2
+#define GL_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A3
+#endif
+
+#ifndef GL_ARB_texture_border_clamp
+#define GL_CLAMP_TO_BORDER_ARB 0x812D
+#endif
+
+#ifndef GL_ARB_point_parameters
+#define GL_POINT_SIZE_MIN_ARB 0x8126
+#define GL_POINT_SIZE_MAX_ARB 0x8127
+#define GL_POINT_FADE_THRESHOLD_SIZE_ARB 0x8128
+#define GL_POINT_DISTANCE_ATTENUATION_ARB 0x8129
+#endif
+
+#ifndef GL_ARB_vertex_blend
+#define GL_MAX_VERTEX_UNITS_ARB 0x86A4
+#define GL_ACTIVE_VERTEX_UNITS_ARB 0x86A5
+#define GL_WEIGHT_SUM_UNITY_ARB 0x86A6
+#define GL_VERTEX_BLEND_ARB 0x86A7
+#define GL_CURRENT_WEIGHT_ARB 0x86A8
+#define GL_WEIGHT_ARRAY_TYPE_ARB 0x86A9
+#define GL_WEIGHT_ARRAY_STRIDE_ARB 0x86AA
+#define GL_WEIGHT_ARRAY_SIZE_ARB 0x86AB
+#define GL_WEIGHT_ARRAY_POINTER_ARB 0x86AC
+#define GL_WEIGHT_ARRAY_ARB 0x86AD
+#define GL_MODELVIEW0_ARB 0x1700
+#define GL_MODELVIEW1_ARB 0x850A
+#define GL_MODELVIEW2_ARB 0x8722
+#define GL_MODELVIEW3_ARB 0x8723
+#define GL_MODELVIEW4_ARB 0x8724
+#define GL_MODELVIEW5_ARB 0x8725
+#define GL_MODELVIEW6_ARB 0x8726
+#define GL_MODELVIEW7_ARB 0x8727
+#define GL_MODELVIEW8_ARB 0x8728
+#define GL_MODELVIEW9_ARB 0x8729
+#define GL_MODELVIEW10_ARB 0x872A
+#define GL_MODELVIEW11_ARB 0x872B
+#define GL_MODELVIEW12_ARB 0x872C
+#define GL_MODELVIEW13_ARB 0x872D
+#define GL_MODELVIEW14_ARB 0x872E
+#define GL_MODELVIEW15_ARB 0x872F
+#define GL_MODELVIEW16_ARB 0x8730
+#define GL_MODELVIEW17_ARB 0x8731
+#define GL_MODELVIEW18_ARB 0x8732
+#define GL_MODELVIEW19_ARB 0x8733
+#define GL_MODELVIEW20_ARB 0x8734
+#define GL_MODELVIEW21_ARB 0x8735
+#define GL_MODELVIEW22_ARB 0x8736
+#define GL_MODELVIEW23_ARB 0x8737
+#define GL_MODELVIEW24_ARB 0x8738
+#define GL_MODELVIEW25_ARB 0x8739
+#define GL_MODELVIEW26_ARB 0x873A
+#define GL_MODELVIEW27_ARB 0x873B
+#define GL_MODELVIEW28_ARB 0x873C
+#define GL_MODELVIEW29_ARB 0x873D
+#define GL_MODELVIEW30_ARB 0x873E
+#define GL_MODELVIEW31_ARB 0x873F
+#endif
+
+#ifndef GL_ARB_matrix_palette
+#define GL_MATRIX_PALETTE_ARB 0x8840
+#define GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB 0x8841
+#define GL_MAX_PALETTE_MATRICES_ARB 0x8842
+#define GL_CURRENT_PALETTE_MATRIX_ARB 0x8843
+#define GL_MATRIX_INDEX_ARRAY_ARB 0x8844
+#define GL_CURRENT_MATRIX_INDEX_ARB 0x8845
+#define GL_MATRIX_INDEX_ARRAY_SIZE_ARB 0x8846
+#define GL_MATRIX_INDEX_ARRAY_TYPE_ARB 0x8847
+#define GL_MATRIX_INDEX_ARRAY_STRIDE_ARB 0x8848
+#define GL_MATRIX_INDEX_ARRAY_POINTER_ARB 0x8849
+#endif
+
+#ifndef GL_ARB_texture_env_combine
+#define GL_COMBINE_ARB 0x8570
+#define GL_COMBINE_RGB_ARB 0x8571
+#define GL_COMBINE_ALPHA_ARB 0x8572
+#define GL_SOURCE0_RGB_ARB 0x8580
+#define GL_SOURCE1_RGB_ARB 0x8581
+#define GL_SOURCE2_RGB_ARB 0x8582
+#define GL_SOURCE0_ALPHA_ARB 0x8588
+#define GL_SOURCE1_ALPHA_ARB 0x8589
+#define GL_SOURCE2_ALPHA_ARB 0x858A
+#define GL_OPERAND0_RGB_ARB 0x8590
+#define GL_OPERAND1_RGB_ARB 0x8591
+#define GL_OPERAND2_RGB_ARB 0x8592
+#define GL_OPERAND0_ALPHA_ARB 0x8598
+#define GL_OPERAND1_ALPHA_ARB 0x8599
+#define GL_OPERAND2_ALPHA_ARB 0x859A
+#define GL_RGB_SCALE_ARB 0x8573
+#define GL_ADD_SIGNED_ARB 0x8574
+#define GL_INTERPOLATE_ARB 0x8575
+#define GL_SUBTRACT_ARB 0x84E7
+#define GL_CONSTANT_ARB 0x8576
+#define GL_PRIMARY_COLOR_ARB 0x8577
+#define GL_PREVIOUS_ARB 0x8578
+#endif
+
+#ifndef GL_ARB_texture_env_crossbar
+#endif
+
+#ifndef GL_ARB_texture_env_dot3
+#define GL_DOT3_RGB_ARB 0x86AE
+#define GL_DOT3_RGBA_ARB 0x86AF
+#endif
+
+#ifndef GL_ARB_texture_mirrored_repeat
+#define GL_MIRRORED_REPEAT_ARB 0x8370
+#endif
+
+#ifndef GL_ARB_depth_texture
+#define GL_DEPTH_COMPONENT16_ARB 0x81A5
+#define GL_DEPTH_COMPONENT24_ARB 0x81A6
+#define GL_DEPTH_COMPONENT32_ARB 0x81A7
+#define GL_TEXTURE_DEPTH_SIZE_ARB 0x884A
+#define GL_DEPTH_TEXTURE_MODE_ARB 0x884B
+#endif
+
+#ifndef GL_ARB_shadow
+#define GL_TEXTURE_COMPARE_MODE_ARB 0x884C
+#define GL_TEXTURE_COMPARE_FUNC_ARB 0x884D
+#define GL_COMPARE_R_TO_TEXTURE_ARB 0x884E
+#endif
+
+#ifndef GL_ARB_shadow_ambient
+#define GL_TEXTURE_COMPARE_FAIL_VALUE_ARB 0x80BF
+#endif
+
+#ifndef GL_ARB_window_pos
+#endif
+
+#ifndef GL_ARB_vertex_program
+#define GL_COLOR_SUM_ARB 0x8458
+#define GL_VERTEX_PROGRAM_ARB 0x8620
+#define GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB 0x8622
+#define GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB 0x8623
+#define GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB 0x8624
+#define GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB 0x8625
+#define GL_CURRENT_VERTEX_ATTRIB_ARB 0x8626
+#define GL_PROGRAM_LENGTH_ARB 0x8627
+#define GL_PROGRAM_STRING_ARB 0x8628
+#define GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB 0x862E
+#define GL_MAX_PROGRAM_MATRICES_ARB 0x862F
+#define GL_CURRENT_MATRIX_STACK_DEPTH_ARB 0x8640
+#define GL_CURRENT_MATRIX_ARB 0x8641
+#define GL_VERTEX_PROGRAM_POINT_SIZE_ARB 0x8642
+#define GL_VERTEX_PROGRAM_TWO_SIDE_ARB 0x8643
+#define GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB 0x8645
+#define GL_PROGRAM_ERROR_POSITION_ARB 0x864B
+#define GL_PROGRAM_BINDING_ARB 0x8677
+#define GL_MAX_VERTEX_ATTRIBS_ARB 0x8869
+#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB 0x886A
+#define GL_PROGRAM_ERROR_STRING_ARB 0x8874
+#define GL_PROGRAM_FORMAT_ASCII_ARB 0x8875
+#define GL_PROGRAM_FORMAT_ARB 0x8876
+#define GL_PROGRAM_INSTRUCTIONS_ARB 0x88A0
+#define GL_MAX_PROGRAM_INSTRUCTIONS_ARB 0x88A1
+#define GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A2
+#define GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A3
+#define GL_PROGRAM_TEMPORARIES_ARB 0x88A4
+#define GL_MAX_PROGRAM_TEMPORARIES_ARB 0x88A5
+#define GL_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A6
+#define GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A7
+#define GL_PROGRAM_PARAMETERS_ARB 0x88A8
+#define GL_MAX_PROGRAM_PARAMETERS_ARB 0x88A9
+#define GL_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AA
+#define GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AB
+#define GL_PROGRAM_ATTRIBS_ARB 0x88AC
+#define GL_MAX_PROGRAM_ATTRIBS_ARB 0x88AD
+#define GL_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AE
+#define GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AF
+#define GL_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B0
+#define GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B1
+#define GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B2
+#define GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B3
+#define GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB 0x88B4
+#define GL_MAX_PROGRAM_ENV_PARAMETERS_ARB 0x88B5
+#define GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB 0x88B6
+#define GL_TRANSPOSE_CURRENT_MATRIX_ARB 0x88B7
+#define GL_MATRIX0_ARB 0x88C0
+#define GL_MATRIX1_ARB 0x88C1
+#define GL_MATRIX2_ARB 0x88C2
+#define GL_MATRIX3_ARB 0x88C3
+#define GL_MATRIX4_ARB 0x88C4
+#define GL_MATRIX5_ARB 0x88C5
+#define GL_MATRIX6_ARB 0x88C6
+#define GL_MATRIX7_ARB 0x88C7
+#define GL_MATRIX8_ARB 0x88C8
+#define GL_MATRIX9_ARB 0x88C9
+#define GL_MATRIX10_ARB 0x88CA
+#define GL_MATRIX11_ARB 0x88CB
+#define GL_MATRIX12_ARB 0x88CC
+#define GL_MATRIX13_ARB 0x88CD
+#define GL_MATRIX14_ARB 0x88CE
+#define GL_MATRIX15_ARB 0x88CF
+#define GL_MATRIX16_ARB 0x88D0
+#define GL_MATRIX17_ARB 0x88D1
+#define GL_MATRIX18_ARB 0x88D2
+#define GL_MATRIX19_ARB 0x88D3
+#define GL_MATRIX20_ARB 0x88D4
+#define GL_MATRIX21_ARB 0x88D5
+#define GL_MATRIX22_ARB 0x88D6
+#define GL_MATRIX23_ARB 0x88D7
+#define GL_MATRIX24_ARB 0x88D8
+#define GL_MATRIX25_ARB 0x88D9
+#define GL_MATRIX26_ARB 0x88DA
+#define GL_MATRIX27_ARB 0x88DB
+#define GL_MATRIX28_ARB 0x88DC
+#define GL_MATRIX29_ARB 0x88DD
+#define GL_MATRIX30_ARB 0x88DE
+#define GL_MATRIX31_ARB 0x88DF
+#endif
+
+#ifndef GL_ARB_fragment_program
+#define GL_FRAGMENT_PROGRAM_ARB 0x8804
+#define GL_PROGRAM_ALU_INSTRUCTIONS_ARB 0x8805
+#define GL_PROGRAM_TEX_INSTRUCTIONS_ARB 0x8806
+#define GL_PROGRAM_TEX_INDIRECTIONS_ARB 0x8807
+#define GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x8808
+#define GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x8809
+#define GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x880A
+#define GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB 0x880B
+#define GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB 0x880C
+#define GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB 0x880D
+#define GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x880E
+#define GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x880F
+#define GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x8810
+#define GL_MAX_TEXTURE_COORDS_ARB 0x8871
+#define GL_MAX_TEXTURE_IMAGE_UNITS_ARB 0x8872
+#endif
+
+#ifndef GL_ARB_vertex_buffer_object
+#define GL_BUFFER_SIZE_ARB 0x8764
+#define GL_BUFFER_USAGE_ARB 0x8765
+#define GL_ARRAY_BUFFER_ARB 0x8892
+#define GL_ELEMENT_ARRAY_BUFFER_ARB 0x8893
+#define GL_ARRAY_BUFFER_BINDING_ARB 0x8894
+#define GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB 0x8895
+#define GL_VERTEX_ARRAY_BUFFER_BINDING_ARB 0x8896
+#define GL_NORMAL_ARRAY_BUFFER_BINDING_ARB 0x8897
+#define GL_COLOR_ARRAY_BUFFER_BINDING_ARB 0x8898
+#define GL_INDEX_ARRAY_BUFFER_BINDING_ARB 0x8899
+#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB 0x889A
+#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB 0x889B
+#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB 0x889C
+#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB 0x889D
+#define GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB 0x889E
+#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB 0x889F
+#define GL_READ_ONLY_ARB 0x88B8
+#define GL_WRITE_ONLY_ARB 0x88B9
+#define GL_READ_WRITE_ARB 0x88BA
+#define GL_BUFFER_ACCESS_ARB 0x88BB
+#define GL_BUFFER_MAPPED_ARB 0x88BC
+#define GL_BUFFER_MAP_POINTER_ARB 0x88BD
+#define GL_STREAM_DRAW_ARB 0x88E0
+#define GL_STREAM_READ_ARB 0x88E1
+#define GL_STREAM_COPY_ARB 0x88E2
+#define GL_STATIC_DRAW_ARB 0x88E4
+#define GL_STATIC_READ_ARB 0x88E5
+#define GL_STATIC_COPY_ARB 0x88E6
+#define GL_DYNAMIC_DRAW_ARB 0x88E8
+#define GL_DYNAMIC_READ_ARB 0x88E9
+#define GL_DYNAMIC_COPY_ARB 0x88EA
+#endif
+
+#ifndef GL_ARB_occlusion_query
+#define GL_QUERY_COUNTER_BITS_ARB 0x8864
+#define GL_CURRENT_QUERY_ARB 0x8865
+#define GL_QUERY_RESULT_ARB 0x8866
+#define GL_QUERY_RESULT_AVAILABLE_ARB 0x8867
+#define GL_SAMPLES_PASSED_ARB 0x8914
+#endif
+
+#ifndef GL_ARB_shader_objects
+#define GL_PROGRAM_OBJECT_ARB 0x8B40
+#define GL_SHADER_OBJECT_ARB 0x8B48
+#define GL_OBJECT_TYPE_ARB 0x8B4E
+#define GL_OBJECT_SUBTYPE_ARB 0x8B4F
+#define GL_FLOAT_VEC2_ARB 0x8B50
+#define GL_FLOAT_VEC3_ARB 0x8B51
+#define GL_FLOAT_VEC4_ARB 0x8B52
+#define GL_INT_VEC2_ARB 0x8B53
+#define GL_INT_VEC3_ARB 0x8B54
+#define GL_INT_VEC4_ARB 0x8B55
+#define GL_BOOL_ARB 0x8B56
+#define GL_BOOL_VEC2_ARB 0x8B57
+#define GL_BOOL_VEC3_ARB 0x8B58
+#define GL_BOOL_VEC4_ARB 0x8B59
+#define GL_FLOAT_MAT2_ARB 0x8B5A
+#define GL_FLOAT_MAT3_ARB 0x8B5B
+#define GL_FLOAT_MAT4_ARB 0x8B5C
+#define GL_SAMPLER_1D_ARB 0x8B5D
+#define GL_SAMPLER_2D_ARB 0x8B5E
+#define GL_SAMPLER_3D_ARB 0x8B5F
+#define GL_SAMPLER_CUBE_ARB 0x8B60
+#define GL_SAMPLER_1D_SHADOW_ARB 0x8B61
+#define GL_SAMPLER_2D_SHADOW_ARB 0x8B62
+#define GL_SAMPLER_2D_RECT_ARB 0x8B63
+#define GL_SAMPLER_2D_RECT_SHADOW_ARB 0x8B64
+#define GL_OBJECT_DELETE_STATUS_ARB 0x8B80
+#define GL_OBJECT_COMPILE_STATUS_ARB 0x8B81
+#define GL_OBJECT_LINK_STATUS_ARB 0x8B82
+#define GL_OBJECT_VALIDATE_STATUS_ARB 0x8B83
+#define GL_OBJECT_INFO_LOG_LENGTH_ARB 0x8B84
+#define GL_OBJECT_ATTACHED_OBJECTS_ARB 0x8B85
+#define GL_OBJECT_ACTIVE_UNIFORMS_ARB 0x8B86
+#define GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB 0x8B87
+#define GL_OBJECT_SHADER_SOURCE_LENGTH_ARB 0x8B88
+#endif
+
+#ifndef GL_ARB_vertex_shader
+#define GL_VERTEX_SHADER_ARB 0x8B31
+#define GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB 0x8B4A
+#define GL_MAX_VARYING_FLOATS_ARB 0x8B4B
+#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0x8B4C
+#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB 0x8B4D
+#define GL_OBJECT_ACTIVE_ATTRIBUTES_ARB 0x8B89
+#define GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB 0x8B8A
+#endif
+
+#ifndef GL_ARB_fragment_shader
+#define GL_FRAGMENT_SHADER_ARB 0x8B30
+#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB 0x8B49
+#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB 0x8B8B
+#endif
+
+#ifndef GL_ARB_shading_language_100
+#define GL_SHADING_LANGUAGE_VERSION_ARB 0x8B8C
+#endif
+
+#ifndef GL_ARB_texture_non_power_of_two
+#endif
+
+#ifndef GL_ARB_point_sprite
+#define GL_POINT_SPRITE_ARB 0x8861
+#define GL_COORD_REPLACE_ARB 0x8862
+#endif
+
+#ifndef GL_ARB_fragment_program_shadow
+#endif
+
+#ifndef GL_ARB_draw_buffers
+#define GL_MAX_DRAW_BUFFERS_ARB 0x8824
+#define GL_DRAW_BUFFER0_ARB 0x8825
+#define GL_DRAW_BUFFER1_ARB 0x8826
+#define GL_DRAW_BUFFER2_ARB 0x8827
+#define GL_DRAW_BUFFER3_ARB 0x8828
+#define GL_DRAW_BUFFER4_ARB 0x8829
+#define GL_DRAW_BUFFER5_ARB 0x882A
+#define GL_DRAW_BUFFER6_ARB 0x882B
+#define GL_DRAW_BUFFER7_ARB 0x882C
+#define GL_DRAW_BUFFER8_ARB 0x882D
+#define GL_DRAW_BUFFER9_ARB 0x882E
+#define GL_DRAW_BUFFER10_ARB 0x882F
+#define GL_DRAW_BUFFER11_ARB 0x8830
+#define GL_DRAW_BUFFER12_ARB 0x8831
+#define GL_DRAW_BUFFER13_ARB 0x8832
+#define GL_DRAW_BUFFER14_ARB 0x8833
+#define GL_DRAW_BUFFER15_ARB 0x8834
+#endif
+
+#ifndef GL_ARB_texture_rectangle
+#define GL_TEXTURE_RECTANGLE_ARB 0x84F5
+#define GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6
+#define GL_PROXY_TEXTURE_RECTANGLE_ARB 0x84F7
+#define GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB 0x84F8
+#endif
+
+#ifndef GL_ARB_color_buffer_float
+#define GL_RGBA_FLOAT_MODE_ARB 0x8820
+#define GL_CLAMP_VERTEX_COLOR_ARB 0x891A
+#define GL_CLAMP_FRAGMENT_COLOR_ARB 0x891B
+#define GL_CLAMP_READ_COLOR_ARB 0x891C
+#define GL_FIXED_ONLY_ARB 0x891D
+#endif
+
+#ifndef GL_ARB_half_float_pixel
+#define GL_HALF_FLOAT_ARB 0x140B
+#endif
+
+#ifndef GL_ARB_texture_float
+#define GL_TEXTURE_RED_TYPE_ARB 0x8C10
+#define GL_TEXTURE_GREEN_TYPE_ARB 0x8C11
+#define GL_TEXTURE_BLUE_TYPE_ARB 0x8C12
+#define GL_TEXTURE_ALPHA_TYPE_ARB 0x8C13
+#define GL_TEXTURE_LUMINANCE_TYPE_ARB 0x8C14
+#define GL_TEXTURE_INTENSITY_TYPE_ARB 0x8C15
+#define GL_TEXTURE_DEPTH_TYPE_ARB 0x8C16
+#define GL_UNSIGNED_NORMALIZED_ARB 0x8C17
+#define GL_RGBA32F_ARB 0x8814
+#define GL_RGB32F_ARB 0x8815
+#define GL_ALPHA32F_ARB 0x8816
+#define GL_INTENSITY32F_ARB 0x8817
+#define GL_LUMINANCE32F_ARB 0x8818
+#define GL_LUMINANCE_ALPHA32F_ARB 0x8819
+#define GL_RGBA16F_ARB 0x881A
+#define GL_RGB16F_ARB 0x881B
+#define GL_ALPHA16F_ARB 0x881C
+#define GL_INTENSITY16F_ARB 0x881D
+#define GL_LUMINANCE16F_ARB 0x881E
+#define GL_LUMINANCE_ALPHA16F_ARB 0x881F
+#endif
+
+#ifndef GL_ARB_pixel_buffer_object
+#define GL_PIXEL_PACK_BUFFER_ARB 0x88EB
+#define GL_PIXEL_UNPACK_BUFFER_ARB 0x88EC
+#define GL_PIXEL_PACK_BUFFER_BINDING_ARB 0x88ED
+#define GL_PIXEL_UNPACK_BUFFER_BINDING_ARB 0x88EF
+#endif
+
+#ifndef GL_ARB_depth_buffer_float
+#define GL_DEPTH_COMPONENT32F 0x8CAC
+#define GL_DEPTH32F_STENCIL8 0x8CAD
+#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD
+#endif
+
+#ifndef GL_ARB_draw_instanced
+#endif
+
+#ifndef GL_ARB_framebuffer_object
+#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506
+#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210
+#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211
+#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212
+#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213
+#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214
+#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215
+#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216
+#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217
+#define GL_FRAMEBUFFER_DEFAULT 0x8218
+#define GL_FRAMEBUFFER_UNDEFINED 0x8219
+#define GL_DEPTH_STENCIL_ATTACHMENT 0x821A
+#define GL_MAX_RENDERBUFFER_SIZE 0x84E8
+#define GL_DEPTH_STENCIL 0x84F9
+#define GL_UNSIGNED_INT_24_8 0x84FA
+#define GL_DEPTH24_STENCIL8 0x88F0
+#define GL_TEXTURE_STENCIL_SIZE 0x88F1
+#define GL_TEXTURE_RED_TYPE 0x8C10
+#define GL_TEXTURE_GREEN_TYPE 0x8C11
+#define GL_TEXTURE_BLUE_TYPE 0x8C12
+#define GL_TEXTURE_ALPHA_TYPE 0x8C13
+#define GL_TEXTURE_DEPTH_TYPE 0x8C16
+#define GL_UNSIGNED_NORMALIZED 0x8C17
+#define GL_FRAMEBUFFER_BINDING 0x8CA6
+#define GL_DRAW_FRAMEBUFFER_BINDING GL_FRAMEBUFFER_BINDING
+#define GL_RENDERBUFFER_BINDING 0x8CA7
+#define GL_READ_FRAMEBUFFER 0x8CA8
+#define GL_DRAW_FRAMEBUFFER 0x8CA9
+#define GL_READ_FRAMEBUFFER_BINDING 0x8CAA
+#define GL_RENDERBUFFER_SAMPLES 0x8CAB
+#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0
+#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4
+#define GL_FRAMEBUFFER_COMPLETE 0x8CD5
+#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6
+#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
+#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 0x8CDB
+#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8CDC
+#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD
+#define GL_MAX_COLOR_ATTACHMENTS 0x8CDF
+#define GL_COLOR_ATTACHMENT0 0x8CE0
+#define GL_COLOR_ATTACHMENT1 0x8CE1
+#define GL_COLOR_ATTACHMENT2 0x8CE2
+#define GL_COLOR_ATTACHMENT3 0x8CE3
+#define GL_COLOR_ATTACHMENT4 0x8CE4
+#define GL_COLOR_ATTACHMENT5 0x8CE5
+#define GL_COLOR_ATTACHMENT6 0x8CE6
+#define GL_COLOR_ATTACHMENT7 0x8CE7
+#define GL_COLOR_ATTACHMENT8 0x8CE8
+#define GL_COLOR_ATTACHMENT9 0x8CE9
+#define GL_COLOR_ATTACHMENT10 0x8CEA
+#define GL_COLOR_ATTACHMENT11 0x8CEB
+#define GL_COLOR_ATTACHMENT12 0x8CEC
+#define GL_COLOR_ATTACHMENT13 0x8CED
+#define GL_COLOR_ATTACHMENT14 0x8CEE
+#define GL_COLOR_ATTACHMENT15 0x8CEF
+#define GL_DEPTH_ATTACHMENT 0x8D00
+#define GL_STENCIL_ATTACHMENT 0x8D20
+#define GL_FRAMEBUFFER 0x8D40
+#define GL_RENDERBUFFER 0x8D41
+#define GL_RENDERBUFFER_WIDTH 0x8D42
+#define GL_RENDERBUFFER_HEIGHT 0x8D43
+#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44
+#define GL_STENCIL_INDEX1 0x8D46
+#define GL_STENCIL_INDEX4 0x8D47
+#define GL_STENCIL_INDEX8 0x8D48
+#define GL_STENCIL_INDEX16 0x8D49
+#define GL_RENDERBUFFER_RED_SIZE 0x8D50
+#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51
+#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52
+#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53
+#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54
+#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55
+#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56
+#define GL_MAX_SAMPLES 0x8D57
+#define GL_INDEX 0x8222
+#define GL_TEXTURE_LUMINANCE_TYPE 0x8C14
+#define GL_TEXTURE_INTENSITY_TYPE 0x8C15
+#endif
+
+#ifndef GL_ARB_framebuffer_sRGB
+#define GL_FRAMEBUFFER_SRGB 0x8DB9
+#endif
+
+#ifndef GL_ARB_geometry_shader4
+#define GL_LINES_ADJACENCY_ARB 0x000A
+#define GL_LINE_STRIP_ADJACENCY_ARB 0x000B
+#define GL_TRIANGLES_ADJACENCY_ARB 0x000C
+#define GL_TRIANGLE_STRIP_ADJACENCY_ARB 0x000D
+#define GL_PROGRAM_POINT_SIZE_ARB 0x8642
+#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB 0x8C29
+#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB 0x8DA7
+#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB 0x8DA8
+#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB 0x8DA9
+#define GL_GEOMETRY_SHADER_ARB 0x8DD9
+#define GL_GEOMETRY_VERTICES_OUT_ARB 0x8DDA
+#define GL_GEOMETRY_INPUT_TYPE_ARB 0x8DDB
+#define GL_GEOMETRY_OUTPUT_TYPE_ARB 0x8DDC
+#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB 0x8DDD
+#define GL_MAX_VERTEX_VARYING_COMPONENTS_ARB 0x8DDE
+#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB 0x8DDF
+#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB 0x8DE0
+#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB 0x8DE1
+/* reuse GL_MAX_VARYING_COMPONENTS */
+/* reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */
+#endif
+
+#ifndef GL_ARB_half_float_vertex
+#define GL_HALF_FLOAT 0x140B
+#endif
+
+#ifndef GL_ARB_instanced_arrays
+#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB 0x88FE
+#endif
+
+#ifndef GL_ARB_map_buffer_range
+#define GL_MAP_READ_BIT 0x0001
+#define GL_MAP_WRITE_BIT 0x0002
+#define GL_MAP_INVALIDATE_RANGE_BIT 0x0004
+#define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008
+#define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010
+#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020
+#endif
+
+#ifndef GL_ARB_texture_buffer_object
+#define GL_TEXTURE_BUFFER_ARB 0x8C2A
+#define GL_MAX_TEXTURE_BUFFER_SIZE_ARB 0x8C2B
+#define GL_TEXTURE_BINDING_BUFFER_ARB 0x8C2C
+#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB 0x8C2D
+#define GL_TEXTURE_BUFFER_FORMAT_ARB 0x8C2E
+#endif
+
+#ifndef GL_ARB_texture_compression_rgtc
+#define GL_COMPRESSED_RED_RGTC1 0x8DBB
+#define GL_COMPRESSED_SIGNED_RED_RGTC1 0x8DBC
+#define GL_COMPRESSED_RG_RGTC2 0x8DBD
+#define GL_COMPRESSED_SIGNED_RG_RGTC2 0x8DBE
+#endif
+
+#ifndef GL_ARB_texture_rg
+#define GL_RG 0x8227
+#define GL_RG_INTEGER 0x8228
+#define GL_R8 0x8229
+#define GL_R16 0x822A
+#define GL_RG8 0x822B
+#define GL_RG16 0x822C
+#define GL_R16F 0x822D
+#define GL_R32F 0x822E
+#define GL_RG16F 0x822F
+#define GL_RG32F 0x8230
+#define GL_R8I 0x8231
+#define GL_R8UI 0x8232
+#define GL_R16I 0x8233
+#define GL_R16UI 0x8234
+#define GL_R32I 0x8235
+#define GL_R32UI 0x8236
+#define GL_RG8I 0x8237
+#define GL_RG8UI 0x8238
+#define GL_RG16I 0x8239
+#define GL_RG16UI 0x823A
+#define GL_RG32I 0x823B
+#define GL_RG32UI 0x823C
+#endif
+
+#ifndef GL_ARB_vertex_array_object
+#define GL_VERTEX_ARRAY_BINDING 0x85B5
+#endif
+
+#ifndef GL_ARB_uniform_buffer_object
+#define GL_UNIFORM_BUFFER 0x8A11
+#define GL_UNIFORM_BUFFER_BINDING 0x8A28
+#define GL_UNIFORM_BUFFER_START 0x8A29
+#define GL_UNIFORM_BUFFER_SIZE 0x8A2A
+#define GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B
+#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS 0x8A2C
+#define GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D
+#define GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E
+#define GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F
+#define GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30
+#define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31
+#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS 0x8A32
+#define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33
+#define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34
+#define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35
+#define GL_ACTIVE_UNIFORM_BLOCKS 0x8A36
+#define GL_UNIFORM_TYPE 0x8A37
+#define GL_UNIFORM_SIZE 0x8A38
+#define GL_UNIFORM_NAME_LENGTH 0x8A39
+#define GL_UNIFORM_BLOCK_INDEX 0x8A3A
+#define GL_UNIFORM_OFFSET 0x8A3B
+#define GL_UNIFORM_ARRAY_STRIDE 0x8A3C
+#define GL_UNIFORM_MATRIX_STRIDE 0x8A3D
+#define GL_UNIFORM_IS_ROW_MAJOR 0x8A3E
+#define GL_UNIFORM_BLOCK_BINDING 0x8A3F
+#define GL_UNIFORM_BLOCK_DATA_SIZE 0x8A40
+#define GL_UNIFORM_BLOCK_NAME_LENGTH 0x8A41
+#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42
+#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43
+#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44
+#define GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER 0x8A45
+#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46
+#define GL_INVALID_INDEX 0xFFFFFFFFu
+#endif
+
+#ifndef GL_ARB_compatibility
+/* ARB_compatibility just defines tokens from core 3.0 */
+#endif
+
+#ifndef GL_ARB_copy_buffer
+#define GL_COPY_READ_BUFFER_BINDING 0x8F36
+#define GL_COPY_READ_BUFFER GL_COPY_READ_BUFFER_BINDING
+#define GL_COPY_WRITE_BUFFER_BINDING 0x8F37
+#define GL_COPY_WRITE_BUFFER GL_COPY_WRITE_BUFFER_BINDING
+#endif
+
+#ifndef GL_ARB_shader_texture_lod
+#endif
+
+#ifndef GL_ARB_depth_clamp
+#define GL_DEPTH_CLAMP 0x864F
+#endif
+
+#ifndef GL_ARB_draw_elements_base_vertex
+#endif
+
+#ifndef GL_ARB_fragment_coord_conventions
+#endif
+
+#ifndef GL_ARB_provoking_vertex
+#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION 0x8E4C
+#define GL_FIRST_VERTEX_CONVENTION 0x8E4D
+#define GL_LAST_VERTEX_CONVENTION 0x8E4E
+#define GL_PROVOKING_VERTEX 0x8E4F
+#endif
+
+#ifndef GL_ARB_seamless_cube_map
+#define GL_TEXTURE_CUBE_MAP_SEAMLESS 0x884F
+#endif
+
+#ifndef GL_ARB_sync
+#define GL_MAX_SERVER_WAIT_TIMEOUT 0x9111
+#define GL_OBJECT_TYPE 0x9112
+#define GL_SYNC_CONDITION 0x9113
+#define GL_SYNC_STATUS 0x9114
+#define GL_SYNC_FLAGS 0x9115
+#define GL_SYNC_FENCE 0x9116
+#define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117
+#define GL_UNSIGNALED 0x9118
+#define GL_SIGNALED 0x9119
+#define GL_ALREADY_SIGNALED 0x911A
+#define GL_TIMEOUT_EXPIRED 0x911B
+#define GL_CONDITION_SATISFIED 0x911C
+#define GL_WAIT_FAILED 0x911D
+#define GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001
+#define GL_TIMEOUT_IGNORED 0xFFFFFFFFFFFFFFFFull
+#endif
+
+#ifndef GL_ARB_texture_multisample
+#define GL_SAMPLE_POSITION 0x8E50
+#define GL_SAMPLE_MASK 0x8E51
+#define GL_SAMPLE_MASK_VALUE 0x8E52
+#define GL_MAX_SAMPLE_MASK_WORDS 0x8E59
+#define GL_TEXTURE_2D_MULTISAMPLE 0x9100
+#define GL_PROXY_TEXTURE_2D_MULTISAMPLE 0x9101
+#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9102
+#define GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9103
+#define GL_TEXTURE_BINDING_2D_MULTISAMPLE 0x9104
+#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY 0x9105
+#define GL_TEXTURE_SAMPLES 0x9106
+#define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS 0x9107
+#define GL_SAMPLER_2D_MULTISAMPLE 0x9108
+#define GL_INT_SAMPLER_2D_MULTISAMPLE 0x9109
+#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A
+#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910B
+#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910C
+#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D
+#define GL_MAX_COLOR_TEXTURE_SAMPLES 0x910E
+#define GL_MAX_DEPTH_TEXTURE_SAMPLES 0x910F
+#define GL_MAX_INTEGER_SAMPLES 0x9110
+#endif
+
+#ifndef GL_ARB_vertex_array_bgra
+/* reuse GL_BGRA */
+#endif
+
+#ifndef GL_ARB_draw_buffers_blend
+#endif
+
+#ifndef GL_ARB_sample_shading
+#define GL_SAMPLE_SHADING_ARB 0x8C36
+#define GL_MIN_SAMPLE_SHADING_VALUE_ARB 0x8C37
+#endif
+
+#ifndef GL_ARB_texture_cube_map_array
+#define GL_TEXTURE_CUBE_MAP_ARRAY_ARB 0x9009
+#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB 0x900A
+#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB 0x900B
+#define GL_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900C
+#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB 0x900D
+#define GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900E
+#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900F
+#endif
+
+#ifndef GL_ARB_texture_gather
+#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB 0x8E5E
+#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB 0x8E5F
+#define GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB 0x8F9F
+#endif
+
+#ifndef GL_ARB_texture_query_lod
+#endif
+
+#ifndef GL_ARB_shading_language_include
+#define GL_SHADER_INCLUDE_ARB 0x8DAE
+#define GL_NAMED_STRING_LENGTH_ARB 0x8DE9
+#define GL_NAMED_STRING_TYPE_ARB 0x8DEA
+#endif
+
+#ifndef GL_ARB_texture_compression_bptc
+#define GL_COMPRESSED_RGBA_BPTC_UNORM_ARB 0x8E8C
+#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB 0x8E8D
+#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB 0x8E8E
+#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB 0x8E8F
+#endif
+
+#ifndef GL_ARB_blend_func_extended
+#define GL_SRC1_COLOR 0x88F9
+/* reuse GL_SRC1_ALPHA */
+#define GL_ONE_MINUS_SRC1_COLOR 0x88FA
+#define GL_ONE_MINUS_SRC1_ALPHA 0x88FB
+#define GL_MAX_DUAL_SOURCE_DRAW_BUFFERS 0x88FC
+#endif
+
+#ifndef GL_ARB_explicit_attrib_location
+#endif
+
+#ifndef GL_ARB_occlusion_query2
+#define GL_ANY_SAMPLES_PASSED 0x8C2F
+#endif
+
+#ifndef GL_ARB_sampler_objects
+#define GL_SAMPLER_BINDING 0x8919
+#endif
+
+#ifndef GL_ARB_shader_bit_encoding
+#endif
+
+#ifndef GL_ARB_texture_rgb10_a2ui
+#define GL_RGB10_A2UI 0x906F
+#endif
+
+#ifndef GL_ARB_texture_swizzle
+#define GL_TEXTURE_SWIZZLE_R 0x8E42
+#define GL_TEXTURE_SWIZZLE_G 0x8E43
+#define GL_TEXTURE_SWIZZLE_B 0x8E44
+#define GL_TEXTURE_SWIZZLE_A 0x8E45
+#define GL_TEXTURE_SWIZZLE_RGBA 0x8E46
+#endif
+
+#ifndef GL_ARB_timer_query
+#define GL_TIME_ELAPSED 0x88BF
+#define GL_TIMESTAMP 0x8E28
+#endif
+
+#ifndef GL_ARB_vertex_type_2_10_10_10_rev
+/* reuse GL_UNSIGNED_INT_2_10_10_10_REV */
+#define GL_INT_2_10_10_10_REV 0x8D9F
+#endif
+
+#ifndef GL_ARB_draw_indirect
+#define GL_DRAW_INDIRECT_BUFFER 0x8F3F
+#define GL_DRAW_INDIRECT_BUFFER_BINDING 0x8F43
+#endif
+
+#ifndef GL_ARB_gpu_shader5
+#define GL_GEOMETRY_SHADER_INVOCATIONS 0x887F
+#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS 0x8E5A
+#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET 0x8E5B
+#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET 0x8E5C
+#define GL_FRAGMENT_INTERPOLATION_OFFSET_BITS 0x8E5D
+/* reuse GL_MAX_VERTEX_STREAMS */
+#endif
+
+#ifndef GL_ARB_gpu_shader_fp64
+/* reuse GL_DOUBLE */
+#define GL_DOUBLE_VEC2 0x8FFC
+#define GL_DOUBLE_VEC3 0x8FFD
+#define GL_DOUBLE_VEC4 0x8FFE
+#define GL_DOUBLE_MAT2 0x8F46
+#define GL_DOUBLE_MAT3 0x8F47
+#define GL_DOUBLE_MAT4 0x8F48
+#define GL_DOUBLE_MAT2x3 0x8F49
+#define GL_DOUBLE_MAT2x4 0x8F4A
+#define GL_DOUBLE_MAT3x2 0x8F4B
+#define GL_DOUBLE_MAT3x4 0x8F4C
+#define GL_DOUBLE_MAT4x2 0x8F4D
+#define GL_DOUBLE_MAT4x3 0x8F4E
+#endif
+
+#ifndef GL_ARB_shader_subroutine
+#define GL_ACTIVE_SUBROUTINES 0x8DE5
+#define GL_ACTIVE_SUBROUTINE_UNIFORMS 0x8DE6
+#define GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS 0x8E47
+#define GL_ACTIVE_SUBROUTINE_MAX_LENGTH 0x8E48
+#define GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH 0x8E49
+#define GL_MAX_SUBROUTINES 0x8DE7
+#define GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS 0x8DE8
+#define GL_NUM_COMPATIBLE_SUBROUTINES 0x8E4A
+#define GL_COMPATIBLE_SUBROUTINES 0x8E4B
+/* reuse GL_UNIFORM_SIZE */
+/* reuse GL_UNIFORM_NAME_LENGTH */
+#endif
+
+#ifndef GL_ARB_tessellation_shader
+#define GL_PATCHES 0x000E
+#define GL_PATCH_VERTICES 0x8E72
+#define GL_PATCH_DEFAULT_INNER_LEVEL 0x8E73
+#define GL_PATCH_DEFAULT_OUTER_LEVEL 0x8E74
+#define GL_TESS_CONTROL_OUTPUT_VERTICES 0x8E75
+#define GL_TESS_GEN_MODE 0x8E76
+#define GL_TESS_GEN_SPACING 0x8E77
+#define GL_TESS_GEN_VERTEX_ORDER 0x8E78
+#define GL_TESS_GEN_POINT_MODE 0x8E79
+/* reuse GL_TRIANGLES */
+/* reuse GL_QUADS */
+#define GL_ISOLINES 0x8E7A
+/* reuse GL_EQUAL */
+#define GL_FRACTIONAL_ODD 0x8E7B
+#define GL_FRACTIONAL_EVEN 0x8E7C
+/* reuse GL_CCW */
+/* reuse GL_CW */
+#define GL_MAX_PATCH_VERTICES 0x8E7D
+#define GL_MAX_TESS_GEN_LEVEL 0x8E7E
+#define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E7F
+#define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E80
+#define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS 0x8E81
+#define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS 0x8E82
+#define GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS 0x8E83
+#define GL_MAX_TESS_PATCH_COMPONENTS 0x8E84
+#define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS 0x8E85
+#define GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS 0x8E86
+#define GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS 0x8E89
+#define GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS 0x8E8A
+#define GL_MAX_TESS_CONTROL_INPUT_COMPONENTS 0x886C
+#define GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS 0x886D
+#define GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E1E
+#define GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E1F
+#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER 0x84F0
+#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER 0x84F1
+#define GL_TESS_EVALUATION_SHADER 0x8E87
+#define GL_TESS_CONTROL_SHADER 0x8E88
+#endif
+
+#ifndef GL_ARB_texture_buffer_object_rgb32
+/* reuse GL_RGB32F */
+/* reuse GL_RGB32UI */
+/* reuse GL_RGB32I */
+#endif
+
+#ifndef GL_ARB_transform_feedback2
+#define GL_TRANSFORM_FEEDBACK 0x8E22
+#define GL_TRANSFORM_FEEDBACK_PAUSED 0x8E23
+#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED GL_TRANSFORM_FEEDBACK_PAUSED
+#define GL_TRANSFORM_FEEDBACK_ACTIVE 0x8E24
+#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE GL_TRANSFORM_FEEDBACK_ACTIVE
+#define GL_TRANSFORM_FEEDBACK_BINDING 0x8E25
+#endif
+
+#ifndef GL_ARB_transform_feedback3
+#define GL_MAX_TRANSFORM_FEEDBACK_BUFFERS 0x8E70
+#define GL_MAX_VERTEX_STREAMS 0x8E71
+#endif
+
+#ifndef GL_ARB_ES2_compatibility
+#define GL_FIXED 0x140C
+#define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A
+#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B
+#define GL_LOW_FLOAT 0x8DF0
+#define GL_MEDIUM_FLOAT 0x8DF1
+#define GL_HIGH_FLOAT 0x8DF2
+#define GL_LOW_INT 0x8DF3
+#define GL_MEDIUM_INT 0x8DF4
+#define GL_HIGH_INT 0x8DF5
+#define GL_SHADER_COMPILER 0x8DFA
+#define GL_SHADER_BINARY_FORMATS 0x8DF8
+#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9
+#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB
+#define GL_MAX_VARYING_VECTORS 0x8DFC
+#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD
+#define GL_RGB565 0x8D62
+#endif
+
+#ifndef GL_ARB_get_program_binary
+#define GL_PROGRAM_BINARY_RETRIEVABLE_HINT 0x8257
+#define GL_PROGRAM_BINARY_LENGTH 0x8741
+#define GL_NUM_PROGRAM_BINARY_FORMATS 0x87FE
+#define GL_PROGRAM_BINARY_FORMATS 0x87FF
+#endif
+
+#ifndef GL_ARB_separate_shader_objects
+#define GL_VERTEX_SHADER_BIT 0x00000001
+#define GL_FRAGMENT_SHADER_BIT 0x00000002
+#define GL_GEOMETRY_SHADER_BIT 0x00000004
+#define GL_TESS_CONTROL_SHADER_BIT 0x00000008
+#define GL_TESS_EVALUATION_SHADER_BIT 0x00000010
+#define GL_ALL_SHADER_BITS 0xFFFFFFFF
+#define GL_PROGRAM_SEPARABLE 0x8258
+#define GL_ACTIVE_PROGRAM 0x8259
+#define GL_PROGRAM_PIPELINE_BINDING 0x825A
+#endif
+
+#ifndef GL_ARB_shader_precision
+#endif
+
+#ifndef GL_ARB_vertex_attrib_64bit
+/* reuse GL_RGB32I */
+/* reuse GL_DOUBLE_VEC2 */
+/* reuse GL_DOUBLE_VEC3 */
+/* reuse GL_DOUBLE_VEC4 */
+/* reuse GL_DOUBLE_MAT2 */
+/* reuse GL_DOUBLE_MAT3 */
+/* reuse GL_DOUBLE_MAT4 */
+/* reuse GL_DOUBLE_MAT2x3 */
+/* reuse GL_DOUBLE_MAT2x4 */
+/* reuse GL_DOUBLE_MAT3x2 */
+/* reuse GL_DOUBLE_MAT3x4 */
+/* reuse GL_DOUBLE_MAT4x2 */
+/* reuse GL_DOUBLE_MAT4x3 */
+#endif
+
+#ifndef GL_ARB_viewport_array
+/* reuse GL_SCISSOR_BOX */
+/* reuse GL_VIEWPORT */
+/* reuse GL_DEPTH_RANGE */
+/* reuse GL_SCISSOR_TEST */
+#define GL_MAX_VIEWPORTS 0x825B
+#define GL_VIEWPORT_SUBPIXEL_BITS 0x825C
+#define GL_VIEWPORT_BOUNDS_RANGE 0x825D
+#define GL_LAYER_PROVOKING_VERTEX 0x825E
+#define GL_VIEWPORT_INDEX_PROVOKING_VERTEX 0x825F
+#define GL_UNDEFINED_VERTEX 0x8260
+/* reuse GL_FIRST_VERTEX_CONVENTION */
+/* reuse GL_LAST_VERTEX_CONVENTION */
+/* reuse GL_PROVOKING_VERTEX */
+#endif
+
+#ifndef GL_ARB_cl_event
+#define GL_SYNC_CL_EVENT_ARB 0x8240
+#define GL_SYNC_CL_EVENT_COMPLETE_ARB 0x8241
+#endif
+
+#ifndef GL_ARB_debug_output
+#define GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB 0x8242
+#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB 0x8243
+#define GL_DEBUG_CALLBACK_FUNCTION_ARB 0x8244
+#define GL_DEBUG_CALLBACK_USER_PARAM_ARB 0x8245
+#define GL_DEBUG_SOURCE_API_ARB 0x8246
+#define GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB 0x8247
+#define GL_DEBUG_SOURCE_SHADER_COMPILER_ARB 0x8248
+#define GL_DEBUG_SOURCE_THIRD_PARTY_ARB 0x8249
+#define GL_DEBUG_SOURCE_APPLICATION_ARB 0x824A
+#define GL_DEBUG_SOURCE_OTHER_ARB 0x824B
+#define GL_DEBUG_TYPE_ERROR_ARB 0x824C
+#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB 0x824D
+#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB 0x824E
+#define GL_DEBUG_TYPE_PORTABILITY_ARB 0x824F
+#define GL_DEBUG_TYPE_PERFORMANCE_ARB 0x8250
+#define GL_DEBUG_TYPE_OTHER_ARB 0x8251
+#define GL_MAX_DEBUG_MESSAGE_LENGTH_ARB 0x9143
+#define GL_MAX_DEBUG_LOGGED_MESSAGES_ARB 0x9144
+#define GL_DEBUG_LOGGED_MESSAGES_ARB 0x9145
+#define GL_DEBUG_SEVERITY_HIGH_ARB 0x9146
+#define GL_DEBUG_SEVERITY_MEDIUM_ARB 0x9147
+#define GL_DEBUG_SEVERITY_LOW_ARB 0x9148
+#endif
+
+#ifndef GL_ARB_robustness
+/* reuse GL_NO_ERROR */
+#define GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB 0x00000004
+#define GL_LOSE_CONTEXT_ON_RESET_ARB 0x8252
+#define GL_GUILTY_CONTEXT_RESET_ARB 0x8253
+#define GL_INNOCENT_CONTEXT_RESET_ARB 0x8254
+#define GL_UNKNOWN_CONTEXT_RESET_ARB 0x8255
+#define GL_RESET_NOTIFICATION_STRATEGY_ARB 0x8256
+#define GL_NO_RESET_NOTIFICATION_ARB 0x8261
+#endif
+
+#ifndef GL_ARB_shader_stencil_export
+#endif
+
+#ifndef GL_ARB_base_instance
+#endif
+
+#ifndef GL_ARB_shading_language_420pack
+#endif
+
+#ifndef GL_ARB_transform_feedback_instanced
+#endif
+
+#ifndef GL_ARB_compressed_texture_pixel_storage
+#define GL_UNPACK_COMPRESSED_BLOCK_WIDTH 0x9127
+#define GL_UNPACK_COMPRESSED_BLOCK_HEIGHT 0x9128
+#define GL_UNPACK_COMPRESSED_BLOCK_DEPTH 0x9129
+#define GL_UNPACK_COMPRESSED_BLOCK_SIZE 0x912A
+#define GL_PACK_COMPRESSED_BLOCK_WIDTH 0x912B
+#define GL_PACK_COMPRESSED_BLOCK_HEIGHT 0x912C
+#define GL_PACK_COMPRESSED_BLOCK_DEPTH 0x912D
+#define GL_PACK_COMPRESSED_BLOCK_SIZE 0x912E
+#endif
+
+#ifndef GL_ARB_conservative_depth
+#endif
+
+#ifndef GL_ARB_internalformat_query
+#define GL_NUM_SAMPLE_COUNTS 0x9380
+#endif
+
+#ifndef GL_ARB_map_buffer_alignment
+#define GL_MIN_MAP_BUFFER_ALIGNMENT 0x90BC
+#endif
+
+#ifndef GL_ARB_shader_atomic_counters
+#define GL_ATOMIC_COUNTER_BUFFER 0x92C0
+#define GL_ATOMIC_COUNTER_BUFFER_BINDING 0x92C1
+#define GL_ATOMIC_COUNTER_BUFFER_START 0x92C2
+#define GL_ATOMIC_COUNTER_BUFFER_SIZE 0x92C3
+#define GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE 0x92C4
+#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS 0x92C5
+#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES 0x92C6
+#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER 0x92C7
+#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER 0x92C8
+#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER 0x92C9
+#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER 0x92CA
+#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER 0x92CB
+#define GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS 0x92CC
+#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS 0x92CD
+#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS 0x92CE
+#define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS 0x92CF
+#define GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS 0x92D0
+#define GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS 0x92D1
+#define GL_MAX_VERTEX_ATOMIC_COUNTERS 0x92D2
+#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS 0x92D3
+#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS 0x92D4
+#define GL_MAX_GEOMETRY_ATOMIC_COUNTERS 0x92D5
+#define GL_MAX_FRAGMENT_ATOMIC_COUNTERS 0x92D6
+#define GL_MAX_COMBINED_ATOMIC_COUNTERS 0x92D7
+#define GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE 0x92D8
+#define GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS 0x92DC
+#define GL_ACTIVE_ATOMIC_COUNTER_BUFFERS 0x92D9
+#define GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX 0x92DA
+#define GL_UNSIGNED_INT_ATOMIC_COUNTER 0x92DB
+#endif
+
+#ifndef GL_ARB_shader_image_load_store
+#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT 0x00000001
+#define GL_ELEMENT_ARRAY_BARRIER_BIT 0x00000002
+#define GL_UNIFORM_BARRIER_BIT 0x00000004
+#define GL_TEXTURE_FETCH_BARRIER_BIT 0x00000008
+#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT 0x00000020
+#define GL_COMMAND_BARRIER_BIT 0x00000040
+#define GL_PIXEL_BUFFER_BARRIER_BIT 0x00000080
+#define GL_TEXTURE_UPDATE_BARRIER_BIT 0x00000100
+#define GL_BUFFER_UPDATE_BARRIER_BIT 0x00000200
+#define GL_FRAMEBUFFER_BARRIER_BIT 0x00000400
+#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT 0x00000800
+#define GL_ATOMIC_COUNTER_BARRIER_BIT 0x00001000
+#define GL_ALL_BARRIER_BITS 0xFFFFFFFF
+#define GL_MAX_IMAGE_UNITS 0x8F38
+#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS 0x8F39
+#define GL_IMAGE_BINDING_NAME 0x8F3A
+#define GL_IMAGE_BINDING_LEVEL 0x8F3B
+#define GL_IMAGE_BINDING_LAYERED 0x8F3C
+#define GL_IMAGE_BINDING_LAYER 0x8F3D
+#define GL_IMAGE_BINDING_ACCESS 0x8F3E
+#define GL_IMAGE_1D 0x904C
+#define GL_IMAGE_2D 0x904D
+#define GL_IMAGE_3D 0x904E
+#define GL_IMAGE_2D_RECT 0x904F
+#define GL_IMAGE_CUBE 0x9050
+#define GL_IMAGE_BUFFER 0x9051
+#define GL_IMAGE_1D_ARRAY 0x9052
+#define GL_IMAGE_2D_ARRAY 0x9053
+#define GL_IMAGE_CUBE_MAP_ARRAY 0x9054
+#define GL_IMAGE_2D_MULTISAMPLE 0x9055
+#define GL_IMAGE_2D_MULTISAMPLE_ARRAY 0x9056
+#define GL_INT_IMAGE_1D 0x9057
+#define GL_INT_IMAGE_2D 0x9058
+#define GL_INT_IMAGE_3D 0x9059
+#define GL_INT_IMAGE_2D_RECT 0x905A
+#define GL_INT_IMAGE_CUBE 0x905B
+#define GL_INT_IMAGE_BUFFER 0x905C
+#define GL_INT_IMAGE_1D_ARRAY 0x905D
+#define GL_INT_IMAGE_2D_ARRAY 0x905E
+#define GL_INT_IMAGE_CUBE_MAP_ARRAY 0x905F
+#define GL_INT_IMAGE_2D_MULTISAMPLE 0x9060
+#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x9061
+#define GL_UNSIGNED_INT_IMAGE_1D 0x9062
+#define GL_UNSIGNED_INT_IMAGE_2D 0x9063
+#define GL_UNSIGNED_INT_IMAGE_3D 0x9064
+#define GL_UNSIGNED_INT_IMAGE_2D_RECT 0x9065
+#define GL_UNSIGNED_INT_IMAGE_CUBE 0x9066
+#define GL_UNSIGNED_INT_IMAGE_BUFFER 0x9067
+#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY 0x9068
+#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY 0x9069
+#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY 0x906A
+#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE 0x906B
+#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x906C
+#define GL_MAX_IMAGE_SAMPLES 0x906D
+#define GL_IMAGE_BINDING_FORMAT 0x906E
+#define GL_IMAGE_FORMAT_COMPATIBILITY_TYPE 0x90C7
+#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE 0x90C8
+#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS 0x90C9
+#define GL_MAX_VERTEX_IMAGE_UNIFORMS 0x90CA
+#define GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS 0x90CB
+#define GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS 0x90CC
+#define GL_MAX_GEOMETRY_IMAGE_UNIFORMS 0x90CD
+#define GL_MAX_FRAGMENT_IMAGE_UNIFORMS 0x90CE
+#define GL_MAX_COMBINED_IMAGE_UNIFORMS 0x90CF
+#endif
+
+#ifndef GL_ARB_shading_language_packing
+#endif
+
+#ifndef GL_ARB_texture_storage
+#define GL_TEXTURE_IMMUTABLE_FORMAT 0x912F
+#endif
+
+#ifndef GL_KHR_texture_compression_astc_ldr
+#define GL_COMPRESSED_RGBA_ASTC_4x4_KHR 0x93B0
+#define GL_COMPRESSED_RGBA_ASTC_5x4_KHR 0x93B1
+#define GL_COMPRESSED_RGBA_ASTC_5x5_KHR 0x93B2
+#define GL_COMPRESSED_RGBA_ASTC_6x5_KHR 0x93B3
+#define GL_COMPRESSED_RGBA_ASTC_6x6_KHR 0x93B4
+#define GL_COMPRESSED_RGBA_ASTC_8x5_KHR 0x93B5
+#define GL_COMPRESSED_RGBA_ASTC_8x6_KHR 0x93B6
+#define GL_COMPRESSED_RGBA_ASTC_8x8_KHR 0x93B7
+#define GL_COMPRESSED_RGBA_ASTC_10x5_KHR 0x93B8
+#define GL_COMPRESSED_RGBA_ASTC_10x6_KHR 0x93B9
+#define GL_COMPRESSED_RGBA_ASTC_10x8_KHR 0x93BA
+#define GL_COMPRESSED_RGBA_ASTC_10x10_KHR 0x93BB
+#define GL_COMPRESSED_RGBA_ASTC_12x10_KHR 0x93BC
+#define GL_COMPRESSED_RGBA_ASTC_12x12_KHR 0x93BD
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR 0x93D0
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR 0x93D1
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR 0x93D2
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR 0x93D3
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR 0x93D4
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR 0x93D5
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR 0x93D6
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR 0x93D7
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR 0x93D8
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR 0x93D9
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR 0x93DA
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR 0x93DB
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR 0x93DC
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR 0x93DD
+#endif
+
+#ifndef GL_KHR_debug
+#define GL_DEBUG_OUTPUT_SYNCHRONOUS 0x8242
+#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH 0x8243
+#define GL_DEBUG_CALLBACK_FUNCTION 0x8244
+#define GL_DEBUG_CALLBACK_USER_PARAM 0x8245
+#define GL_DEBUG_SOURCE_API 0x8246
+#define GL_DEBUG_SOURCE_WINDOW_SYSTEM 0x8247
+#define GL_DEBUG_SOURCE_SHADER_COMPILER 0x8248
+#define GL_DEBUG_SOURCE_THIRD_PARTY 0x8249
+#define GL_DEBUG_SOURCE_APPLICATION 0x824A
+#define GL_DEBUG_SOURCE_OTHER 0x824B
+#define GL_DEBUG_TYPE_ERROR 0x824C
+#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR 0x824D
+#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR 0x824E
+#define GL_DEBUG_TYPE_PORTABILITY 0x824F
+#define GL_DEBUG_TYPE_PERFORMANCE 0x8250
+#define GL_DEBUG_TYPE_OTHER 0x8251
+#define GL_DEBUG_TYPE_MARKER 0x8268
+#define GL_DEBUG_TYPE_PUSH_GROUP 0x8269
+#define GL_DEBUG_TYPE_POP_GROUP 0x826A
+#define GL_DEBUG_SEVERITY_NOTIFICATION 0x826B
+#define GL_MAX_DEBUG_GROUP_STACK_DEPTH 0x826C
+#define GL_DEBUG_GROUP_STACK_DEPTH 0x826D
+#define GL_BUFFER 0x82E0
+#define GL_SHADER 0x82E1
+#define GL_PROGRAM 0x82E2
+#define GL_QUERY 0x82E3
+#define GL_PROGRAM_PIPELINE 0x82E4
+#define GL_SAMPLER 0x82E6
+#define GL_DISPLAY_LIST 0x82E7
+/* DISPLAY_LIST used in compatibility profile only */
+#define GL_MAX_LABEL_LENGTH 0x82E8
+#define GL_MAX_DEBUG_MESSAGE_LENGTH 0x9143
+#define GL_MAX_DEBUG_LOGGED_MESSAGES 0x9144
+#define GL_DEBUG_LOGGED_MESSAGES 0x9145
+#define GL_DEBUG_SEVERITY_HIGH 0x9146
+#define GL_DEBUG_SEVERITY_MEDIUM 0x9147
+#define GL_DEBUG_SEVERITY_LOW 0x9148
+#define GL_DEBUG_OUTPUT 0x92E0
+#define GL_CONTEXT_FLAG_DEBUG_BIT 0x00000002
+/* reuse GL_STACK_UNDERFLOW */
+/* reuse GL_STACK_OVERFLOW */
+#endif
+
+#ifndef GL_ARB_arrays_of_arrays
+#endif
+
+#ifndef GL_ARB_clear_buffer_object
+#endif
+
+#ifndef GL_ARB_compute_shader
+#define GL_COMPUTE_SHADER 0x91B9
+#define GL_MAX_COMPUTE_UNIFORM_BLOCKS 0x91BB
+#define GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS 0x91BC
+#define GL_MAX_COMPUTE_IMAGE_UNIFORMS 0x91BD
+#define GL_MAX_COMPUTE_SHARED_MEMORY_SIZE 0x8262
+#define GL_MAX_COMPUTE_UNIFORM_COMPONENTS 0x8263
+#define GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS 0x8264
+#define GL_MAX_COMPUTE_ATOMIC_COUNTERS 0x8265
+#define GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS 0x8266
+#define GL_MAX_COMPUTE_LOCAL_INVOCATIONS 0x90EB
+#define GL_MAX_COMPUTE_WORK_GROUP_COUNT 0x91BE
+#define GL_MAX_COMPUTE_WORK_GROUP_SIZE 0x91BF
+#define GL_COMPUTE_LOCAL_WORK_SIZE 0x8267
+#define GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER 0x90EC
+#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER 0x90ED
+#define GL_DISPATCH_INDIRECT_BUFFER 0x90EE
+#define GL_DISPATCH_INDIRECT_BUFFER_BINDING 0x90EF
+#define GL_COMPUTE_SHADER_BIT 0x00000020
+#endif
+
+#ifndef GL_ARB_copy_image
+#endif
+
+#ifndef GL_ARB_texture_view
+#define GL_TEXTURE_VIEW_MIN_LEVEL 0x82DB
+#define GL_TEXTURE_VIEW_NUM_LEVELS 0x82DC
+#define GL_TEXTURE_VIEW_MIN_LAYER 0x82DD
+#define GL_TEXTURE_VIEW_NUM_LAYERS 0x82DE
+#define GL_TEXTURE_IMMUTABLE_LEVELS 0x82DF
+#endif
+
+#ifndef GL_ARB_vertex_attrib_binding
+#define GL_VERTEX_ATTRIB_BINDING 0x82D4
+#define GL_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D5
+#define GL_VERTEX_BINDING_DIVISOR 0x82D6
+#define GL_VERTEX_BINDING_OFFSET 0x82D7
+#define GL_VERTEX_BINDING_STRIDE 0x82D8
+#define GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D9
+#define GL_MAX_VERTEX_ATTRIB_BINDINGS 0x82DA
+#endif
+
+#ifndef GL_ARB_robustness_isolation
+#endif
+
+#ifndef GL_ARB_ES3_compatibility
+#define GL_COMPRESSED_RGB8_ETC2 0x9274
+#define GL_COMPRESSED_SRGB8_ETC2 0x9275
+#define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9276
+#define GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9277
+#define GL_COMPRESSED_RGBA8_ETC2_EAC 0x9278
+#define GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC 0x9279
+#define GL_COMPRESSED_R11_EAC 0x9270
+#define GL_COMPRESSED_SIGNED_R11_EAC 0x9271
+#define GL_COMPRESSED_RG11_EAC 0x9272
+#define GL_COMPRESSED_SIGNED_RG11_EAC 0x9273
+#define GL_PRIMITIVE_RESTART_FIXED_INDEX 0x8D69
+#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE 0x8D6A
+#define GL_MAX_ELEMENT_INDEX 0x8D6B
+#endif
+
+#ifndef GL_ARB_explicit_uniform_location
+#define GL_MAX_UNIFORM_LOCATIONS 0x826E
+#endif
+
+#ifndef GL_ARB_fragment_layer_viewport
+#endif
+
+#ifndef GL_ARB_framebuffer_no_attachments
+#define GL_FRAMEBUFFER_DEFAULT_WIDTH 0x9310
+#define GL_FRAMEBUFFER_DEFAULT_HEIGHT 0x9311
+#define GL_FRAMEBUFFER_DEFAULT_LAYERS 0x9312
+#define GL_FRAMEBUFFER_DEFAULT_SAMPLES 0x9313
+#define GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS 0x9314
+#define GL_MAX_FRAMEBUFFER_WIDTH 0x9315
+#define GL_MAX_FRAMEBUFFER_HEIGHT 0x9316
+#define GL_MAX_FRAMEBUFFER_LAYERS 0x9317
+#define GL_MAX_FRAMEBUFFER_SAMPLES 0x9318
+#endif
+
+#ifndef GL_ARB_internalformat_query2
+/* reuse GL_IMAGE_FORMAT_COMPATIBILITY_TYPE */
+/* reuse GL_NUM_SAMPLE_COUNTS */
+/* reuse GL_RENDERBUFFER */
+/* reuse GL_SAMPLES */
+/* reuse GL_TEXTURE_1D */
+/* reuse GL_TEXTURE_1D_ARRAY */
+/* reuse GL_TEXTURE_2D */
+/* reuse GL_TEXTURE_2D_ARRAY */
+/* reuse GL_TEXTURE_3D */
+/* reuse GL_TEXTURE_CUBE_MAP */
+/* reuse GL_TEXTURE_CUBE_MAP_ARRAY */
+/* reuse GL_TEXTURE_RECTANGLE */
+/* reuse GL_TEXTURE_BUFFER */
+/* reuse GL_TEXTURE_2D_MULTISAMPLE */
+/* reuse GL_TEXTURE_2D_MULTISAMPLE_ARRAY */
+/* reuse GL_TEXTURE_COMPRESSED */
+#define GL_INTERNALFORMAT_SUPPORTED 0x826F
+#define GL_INTERNALFORMAT_PREFERRED 0x8270
+#define GL_INTERNALFORMAT_RED_SIZE 0x8271
+#define GL_INTERNALFORMAT_GREEN_SIZE 0x8272
+#define GL_INTERNALFORMAT_BLUE_SIZE 0x8273
+#define GL_INTERNALFORMAT_ALPHA_SIZE 0x8274
+#define GL_INTERNALFORMAT_DEPTH_SIZE 0x8275
+#define GL_INTERNALFORMAT_STENCIL_SIZE 0x8276
+#define GL_INTERNALFORMAT_SHARED_SIZE 0x8277
+#define GL_INTERNALFORMAT_RED_TYPE 0x8278
+#define GL_INTERNALFORMAT_GREEN_TYPE 0x8279
+#define GL_INTERNALFORMAT_BLUE_TYPE 0x827A
+#define GL_INTERNALFORMAT_ALPHA_TYPE 0x827B
+#define GL_INTERNALFORMAT_DEPTH_TYPE 0x827C
+#define GL_INTERNALFORMAT_STENCIL_TYPE 0x827D
+#define GL_MAX_WIDTH 0x827E
+#define GL_MAX_HEIGHT 0x827F
+#define GL_MAX_DEPTH 0x8280
+#define GL_MAX_LAYERS 0x8281
+#define GL_MAX_COMBINED_DIMENSIONS 0x8282
+#define GL_COLOR_COMPONENTS 0x8283
+#define GL_DEPTH_COMPONENTS 0x8284
+#define GL_STENCIL_COMPONENTS 0x8285
+#define GL_COLOR_RENDERABLE 0x8286
+#define GL_DEPTH_RENDERABLE 0x8287
+#define GL_STENCIL_RENDERABLE 0x8288
+#define GL_FRAMEBUFFER_RENDERABLE 0x8289
+#define GL_FRAMEBUFFER_RENDERABLE_LAYERED 0x828A
+#define GL_FRAMEBUFFER_BLEND 0x828B
+#define GL_READ_PIXELS 0x828C
+#define GL_READ_PIXELS_FORMAT 0x828D
+#define GL_READ_PIXELS_TYPE 0x828E
+#define GL_TEXTURE_IMAGE_FORMAT 0x828F
+#define GL_TEXTURE_IMAGE_TYPE 0x8290
+#define GL_GET_TEXTURE_IMAGE_FORMAT 0x8291
+#define GL_GET_TEXTURE_IMAGE_TYPE 0x8292
+#define GL_MIPMAP 0x8293
+#define GL_MANUAL_GENERATE_MIPMAP 0x8294
+#define GL_AUTO_GENERATE_MIPMAP 0x8295
+#define GL_COLOR_ENCODING 0x8296
+#define GL_SRGB_READ 0x8297
+#define GL_SRGB_WRITE 0x8298
+#define GL_SRGB_DECODE_ARB 0x8299
+#define GL_FILTER 0x829A
+#define GL_VERTEX_TEXTURE 0x829B
+#define GL_TESS_CONTROL_TEXTURE 0x829C
+#define GL_TESS_EVALUATION_TEXTURE 0x829D
+#define GL_GEOMETRY_TEXTURE 0x829E
+#define GL_FRAGMENT_TEXTURE 0x829F
+#define GL_COMPUTE_TEXTURE 0x82A0
+#define GL_TEXTURE_SHADOW 0x82A1
+#define GL_TEXTURE_GATHER 0x82A2
+#define GL_TEXTURE_GATHER_SHADOW 0x82A3
+#define GL_SHADER_IMAGE_LOAD 0x82A4
+#define GL_SHADER_IMAGE_STORE 0x82A5
+#define GL_SHADER_IMAGE_ATOMIC 0x82A6
+#define GL_IMAGE_TEXEL_SIZE 0x82A7
+#define GL_IMAGE_COMPATIBILITY_CLASS 0x82A8
+#define GL_IMAGE_PIXEL_FORMAT 0x82A9
+#define GL_IMAGE_PIXEL_TYPE 0x82AA
+#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST 0x82AC
+#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST 0x82AD
+#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE 0x82AE
+#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE 0x82AF
+#define GL_TEXTURE_COMPRESSED_BLOCK_WIDTH 0x82B1
+#define GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT 0x82B2
+#define GL_TEXTURE_COMPRESSED_BLOCK_SIZE 0x82B3
+#define GL_CLEAR_BUFFER 0x82B4
+#define GL_TEXTURE_VIEW 0x82B5
+#define GL_VIEW_COMPATIBILITY_CLASS 0x82B6
+#define GL_FULL_SUPPORT 0x82B7
+#define GL_CAVEAT_SUPPORT 0x82B8
+#define GL_IMAGE_CLASS_4_X_32 0x82B9
+#define GL_IMAGE_CLASS_2_X_32 0x82BA
+#define GL_IMAGE_CLASS_1_X_32 0x82BB
+#define GL_IMAGE_CLASS_4_X_16 0x82BC
+#define GL_IMAGE_CLASS_2_X_16 0x82BD
+#define GL_IMAGE_CLASS_1_X_16 0x82BE
+#define GL_IMAGE_CLASS_4_X_8 0x82BF
+#define GL_IMAGE_CLASS_2_X_8 0x82C0
+#define GL_IMAGE_CLASS_1_X_8 0x82C1
+#define GL_IMAGE_CLASS_11_11_10 0x82C2
+#define GL_IMAGE_CLASS_10_10_10_2 0x82C3
+#define GL_VIEW_CLASS_128_BITS 0x82C4
+#define GL_VIEW_CLASS_96_BITS 0x82C5
+#define GL_VIEW_CLASS_64_BITS 0x82C6
+#define GL_VIEW_CLASS_48_BITS 0x82C7
+#define GL_VIEW_CLASS_32_BITS 0x82C8
+#define GL_VIEW_CLASS_24_BITS 0x82C9
+#define GL_VIEW_CLASS_16_BITS 0x82CA
+#define GL_VIEW_CLASS_8_BITS 0x82CB
+#define GL_VIEW_CLASS_S3TC_DXT1_RGB 0x82CC
+#define GL_VIEW_CLASS_S3TC_DXT1_RGBA 0x82CD
+#define GL_VIEW_CLASS_S3TC_DXT3_RGBA 0x82CE
+#define GL_VIEW_CLASS_S3TC_DXT5_RGBA 0x82CF
+#define GL_VIEW_CLASS_RGTC1_RED 0x82D0
+#define GL_VIEW_CLASS_RGTC2_RG 0x82D1
+#define GL_VIEW_CLASS_BPTC_UNORM 0x82D2
+#define GL_VIEW_CLASS_BPTC_FLOAT 0x82D3
+#endif
+
+#ifndef GL_ARB_invalidate_subdata
+#endif
+
+#ifndef GL_ARB_multi_draw_indirect
+#endif
+
+#ifndef GL_ARB_program_interface_query
+#define GL_UNIFORM 0x92E1
+#define GL_UNIFORM_BLOCK 0x92E2
+#define GL_PROGRAM_INPUT 0x92E3
+#define GL_PROGRAM_OUTPUT 0x92E4
+#define GL_BUFFER_VARIABLE 0x92E5
+#define GL_SHADER_STORAGE_BLOCK 0x92E6
+/* reuse GL_ATOMIC_COUNTER_BUFFER */
+#define GL_VERTEX_SUBROUTINE 0x92E8
+#define GL_TESS_CONTROL_SUBROUTINE 0x92E9
+#define GL_TESS_EVALUATION_SUBROUTINE 0x92EA
+#define GL_GEOMETRY_SUBROUTINE 0x92EB
+#define GL_FRAGMENT_SUBROUTINE 0x92EC
+#define GL_COMPUTE_SUBROUTINE 0x92ED
+#define GL_VERTEX_SUBROUTINE_UNIFORM 0x92EE
+#define GL_TESS_CONTROL_SUBROUTINE_UNIFORM 0x92EF
+#define GL_TESS_EVALUATION_SUBROUTINE_UNIFORM 0x92F0
+#define GL_GEOMETRY_SUBROUTINE_UNIFORM 0x92F1
+#define GL_FRAGMENT_SUBROUTINE_UNIFORM 0x92F2
+#define GL_COMPUTE_SUBROUTINE_UNIFORM 0x92F3
+#define GL_TRANSFORM_FEEDBACK_VARYING 0x92F4
+#define GL_ACTIVE_RESOURCES 0x92F5
+#define GL_MAX_NAME_LENGTH 0x92F6
+#define GL_MAX_NUM_ACTIVE_VARIABLES 0x92F7
+#define GL_MAX_NUM_COMPATIBLE_SUBROUTINES 0x92F8
+#define GL_NAME_LENGTH 0x92F9
+#define GL_TYPE 0x92FA
+#define GL_ARRAY_SIZE 0x92FB
+#define GL_OFFSET 0x92FC
+#define GL_BLOCK_INDEX 0x92FD
+#define GL_ARRAY_STRIDE 0x92FE
+#define GL_MATRIX_STRIDE 0x92FF
+#define GL_IS_ROW_MAJOR 0x9300
+#define GL_ATOMIC_COUNTER_BUFFER_INDEX 0x9301
+#define GL_BUFFER_BINDING 0x9302
+#define GL_BUFFER_DATA_SIZE 0x9303
+#define GL_NUM_ACTIVE_VARIABLES 0x9304
+#define GL_ACTIVE_VARIABLES 0x9305
+#define GL_REFERENCED_BY_VERTEX_SHADER 0x9306
+#define GL_REFERENCED_BY_TESS_CONTROL_SHADER 0x9307
+#define GL_REFERENCED_BY_TESS_EVALUATION_SHADER 0x9308
+#define GL_REFERENCED_BY_GEOMETRY_SHADER 0x9309
+#define GL_REFERENCED_BY_FRAGMENT_SHADER 0x930A
+#define GL_REFERENCED_BY_COMPUTE_SHADER 0x930B
+#define GL_TOP_LEVEL_ARRAY_SIZE 0x930C
+#define GL_TOP_LEVEL_ARRAY_STRIDE 0x930D
+#define GL_LOCATION 0x930E
+#define GL_LOCATION_INDEX 0x930F
+#define GL_IS_PER_PATCH 0x92E7
+/* reuse GL_NUM_COMPATIBLE_SUBROUTINES */
+/* reuse GL_COMPATIBLE_SUBROUTINES */
+#endif
+
+#ifndef GL_ARB_robust_buffer_access_behavior
+#endif
+
+#ifndef GL_ARB_shader_image_size
+#endif
+
+#ifndef GL_ARB_shader_storage_buffer_object
+#define GL_SHADER_STORAGE_BUFFER 0x90D2
+#define GL_SHADER_STORAGE_BUFFER_BINDING 0x90D3
+#define GL_SHADER_STORAGE_BUFFER_START 0x90D4
+#define GL_SHADER_STORAGE_BUFFER_SIZE 0x90D5
+#define GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS 0x90D6
+#define GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS 0x90D7
+#define GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS 0x90D8
+#define GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS 0x90D9
+#define GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS 0x90DA
+#define GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS 0x90DB
+#define GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS 0x90DC
+#define GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS 0x90DD
+#define GL_MAX_SHADER_STORAGE_BLOCK_SIZE 0x90DE
+#define GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT 0x90DF
+#define GL_SHADER_STORAGE_BARRIER_BIT 0x2000
+#define GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS
+/* reuse GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS */
+#endif
+
+#ifndef GL_ARB_stencil_texturing
+#define GL_DEPTH_STENCIL_TEXTURE_MODE 0x90EA
+#endif
+
+#ifndef GL_ARB_texture_buffer_range
+#define GL_TEXTURE_BUFFER_OFFSET 0x919D
+#define GL_TEXTURE_BUFFER_SIZE 0x919E
+#define GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT 0x919F
+#endif
+
+#ifndef GL_ARB_texture_query_levels
+#endif
+
+#ifndef GL_ARB_texture_storage_multisample
+#endif
+
+#ifndef GL_EXT_abgr
+#define GL_ABGR_EXT 0x8000
+#endif
+
+#ifndef GL_EXT_blend_color
+#define GL_CONSTANT_COLOR_EXT 0x8001
+#define GL_ONE_MINUS_CONSTANT_COLOR_EXT 0x8002
+#define GL_CONSTANT_ALPHA_EXT 0x8003
+#define GL_ONE_MINUS_CONSTANT_ALPHA_EXT 0x8004
+#define GL_BLEND_COLOR_EXT 0x8005
+#endif
+
+#ifndef GL_EXT_polygon_offset
+#define GL_POLYGON_OFFSET_EXT 0x8037
+#define GL_POLYGON_OFFSET_FACTOR_EXT 0x8038
+#define GL_POLYGON_OFFSET_BIAS_EXT 0x8039
+#endif
+
+#ifndef GL_EXT_texture
+#define GL_ALPHA4_EXT 0x803B
+#define GL_ALPHA8_EXT 0x803C
+#define GL_ALPHA12_EXT 0x803D
+#define GL_ALPHA16_EXT 0x803E
+#define GL_LUMINANCE4_EXT 0x803F
+#define GL_LUMINANCE8_EXT 0x8040
+#define GL_LUMINANCE12_EXT 0x8041
+#define GL_LUMINANCE16_EXT 0x8042
+#define GL_LUMINANCE4_ALPHA4_EXT 0x8043
+#define GL_LUMINANCE6_ALPHA2_EXT 0x8044
+#define GL_LUMINANCE8_ALPHA8_EXT 0x8045
+#define GL_LUMINANCE12_ALPHA4_EXT 0x8046
+#define GL_LUMINANCE12_ALPHA12_EXT 0x8047
+#define GL_LUMINANCE16_ALPHA16_EXT 0x8048
+#define GL_INTENSITY_EXT 0x8049
+#define GL_INTENSITY4_EXT 0x804A
+#define GL_INTENSITY8_EXT 0x804B
+#define GL_INTENSITY12_EXT 0x804C
+#define GL_INTENSITY16_EXT 0x804D
+#define GL_RGB2_EXT 0x804E
+#define GL_RGB4_EXT 0x804F
+#define GL_RGB5_EXT 0x8050
+#define GL_RGB8_EXT 0x8051
+#define GL_RGB10_EXT 0x8052
+#define GL_RGB12_EXT 0x8053
+#define GL_RGB16_EXT 0x8054
+#define GL_RGBA2_EXT 0x8055
+#define GL_RGBA4_EXT 0x8056
+#define GL_RGB5_A1_EXT 0x8057
+#define GL_RGBA8_EXT 0x8058
+#define GL_RGB10_A2_EXT 0x8059
+#define GL_RGBA12_EXT 0x805A
+#define GL_RGBA16_EXT 0x805B
+#define GL_TEXTURE_RED_SIZE_EXT 0x805C
+#define GL_TEXTURE_GREEN_SIZE_EXT 0x805D
+#define GL_TEXTURE_BLUE_SIZE_EXT 0x805E
+#define GL_TEXTURE_ALPHA_SIZE_EXT 0x805F
+#define GL_TEXTURE_LUMINANCE_SIZE_EXT 0x8060
+#define GL_TEXTURE_INTENSITY_SIZE_EXT 0x8061
+#define GL_REPLACE_EXT 0x8062
+#define GL_PROXY_TEXTURE_1D_EXT 0x8063
+#define GL_PROXY_TEXTURE_2D_EXT 0x8064
+#define GL_TEXTURE_TOO_LARGE_EXT 0x8065
+#endif
+
+#ifndef GL_EXT_texture3D
+#define GL_PACK_SKIP_IMAGES_EXT 0x806B
+#define GL_PACK_IMAGE_HEIGHT_EXT 0x806C
+#define GL_UNPACK_SKIP_IMAGES_EXT 0x806D
+#define GL_UNPACK_IMAGE_HEIGHT_EXT 0x806E
+#define GL_TEXTURE_3D_EXT 0x806F
+#define GL_PROXY_TEXTURE_3D_EXT 0x8070
+#define GL_TEXTURE_DEPTH_EXT 0x8071
+#define GL_TEXTURE_WRAP_R_EXT 0x8072
+#define GL_MAX_3D_TEXTURE_SIZE_EXT 0x8073
+#endif
+
+#ifndef GL_SGIS_texture_filter4
+#define GL_FILTER4_SGIS 0x8146
+#define GL_TEXTURE_FILTER4_SIZE_SGIS 0x8147
+#endif
+
+#ifndef GL_EXT_subtexture
+#endif
+
+#ifndef GL_EXT_copy_texture
+#endif
+
+#ifndef GL_EXT_histogram
+#define GL_HISTOGRAM_EXT 0x8024
+#define GL_PROXY_HISTOGRAM_EXT 0x8025
+#define GL_HISTOGRAM_WIDTH_EXT 0x8026
+#define GL_HISTOGRAM_FORMAT_EXT 0x8027
+#define GL_HISTOGRAM_RED_SIZE_EXT 0x8028
+#define GL_HISTOGRAM_GREEN_SIZE_EXT 0x8029
+#define GL_HISTOGRAM_BLUE_SIZE_EXT 0x802A
+#define GL_HISTOGRAM_ALPHA_SIZE_EXT 0x802B
+#define GL_HISTOGRAM_LUMINANCE_SIZE_EXT 0x802C
+#define GL_HISTOGRAM_SINK_EXT 0x802D
+#define GL_MINMAX_EXT 0x802E
+#define GL_MINMAX_FORMAT_EXT 0x802F
+#define GL_MINMAX_SINK_EXT 0x8030
+#define GL_TABLE_TOO_LARGE_EXT 0x8031
+#endif
+
+#ifndef GL_EXT_convolution
+#define GL_CONVOLUTION_1D_EXT 0x8010
+#define GL_CONVOLUTION_2D_EXT 0x8011
+#define GL_SEPARABLE_2D_EXT 0x8012
+#define GL_CONVOLUTION_BORDER_MODE_EXT 0x8013
+#define GL_CONVOLUTION_FILTER_SCALE_EXT 0x8014
+#define GL_CONVOLUTION_FILTER_BIAS_EXT 0x8015
+#define GL_REDUCE_EXT 0x8016
+#define GL_CONVOLUTION_FORMAT_EXT 0x8017
+#define GL_CONVOLUTION_WIDTH_EXT 0x8018
+#define GL_CONVOLUTION_HEIGHT_EXT 0x8019
+#define GL_MAX_CONVOLUTION_WIDTH_EXT 0x801A
+#define GL_MAX_CONVOLUTION_HEIGHT_EXT 0x801B
+#define GL_POST_CONVOLUTION_RED_SCALE_EXT 0x801C
+#define GL_POST_CONVOLUTION_GREEN_SCALE_EXT 0x801D
+#define GL_POST_CONVOLUTION_BLUE_SCALE_EXT 0x801E
+#define GL_POST_CONVOLUTION_ALPHA_SCALE_EXT 0x801F
+#define GL_POST_CONVOLUTION_RED_BIAS_EXT 0x8020
+#define GL_POST_CONVOLUTION_GREEN_BIAS_EXT 0x8021
+#define GL_POST_CONVOLUTION_BLUE_BIAS_EXT 0x8022
+#define GL_POST_CONVOLUTION_ALPHA_BIAS_EXT 0x8023
+#endif
+
+#ifndef GL_SGI_color_matrix
+#define GL_COLOR_MATRIX_SGI 0x80B1
+#define GL_COLOR_MATRIX_STACK_DEPTH_SGI 0x80B2
+#define GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI 0x80B3
+#define GL_POST_COLOR_MATRIX_RED_SCALE_SGI 0x80B4
+#define GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI 0x80B5
+#define GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI 0x80B6
+#define GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI 0x80B7
+#define GL_POST_COLOR_MATRIX_RED_BIAS_SGI 0x80B8
+#define GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI 0x80B9
+#define GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI 0x80BA
+#define GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI 0x80BB
+#endif
+
+#ifndef GL_SGI_color_table
+#define GL_COLOR_TABLE_SGI 0x80D0
+#define GL_POST_CONVOLUTION_COLOR_TABLE_SGI 0x80D1
+#define GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI 0x80D2
+#define GL_PROXY_COLOR_TABLE_SGI 0x80D3
+#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI 0x80D4
+#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI 0x80D5
+#define GL_COLOR_TABLE_SCALE_SGI 0x80D6
+#define GL_COLOR_TABLE_BIAS_SGI 0x80D7
+#define GL_COLOR_TABLE_FORMAT_SGI 0x80D8
+#define GL_COLOR_TABLE_WIDTH_SGI 0x80D9
+#define GL_COLOR_TABLE_RED_SIZE_SGI 0x80DA
+#define GL_COLOR_TABLE_GREEN_SIZE_SGI 0x80DB
+#define GL_COLOR_TABLE_BLUE_SIZE_SGI 0x80DC
+#define GL_COLOR_TABLE_ALPHA_SIZE_SGI 0x80DD
+#define GL_COLOR_TABLE_LUMINANCE_SIZE_SGI 0x80DE
+#define GL_COLOR_TABLE_INTENSITY_SIZE_SGI 0x80DF
+#endif
+
+#ifndef GL_SGIS_pixel_texture
+#define GL_PIXEL_TEXTURE_SGIS 0x8353
+#define GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS 0x8354
+#define GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS 0x8355
+#define GL_PIXEL_GROUP_COLOR_SGIS 0x8356
+#endif
+
+#ifndef GL_SGIX_pixel_texture
+#define GL_PIXEL_TEX_GEN_SGIX 0x8139
+#define GL_PIXEL_TEX_GEN_MODE_SGIX 0x832B
+#endif
+
+#ifndef GL_SGIS_texture4D
+#define GL_PACK_SKIP_VOLUMES_SGIS 0x8130
+#define GL_PACK_IMAGE_DEPTH_SGIS 0x8131
+#define GL_UNPACK_SKIP_VOLUMES_SGIS 0x8132
+#define GL_UNPACK_IMAGE_DEPTH_SGIS 0x8133
+#define GL_TEXTURE_4D_SGIS 0x8134
+#define GL_PROXY_TEXTURE_4D_SGIS 0x8135
+#define GL_TEXTURE_4DSIZE_SGIS 0x8136
+#define GL_TEXTURE_WRAP_Q_SGIS 0x8137
+#define GL_MAX_4D_TEXTURE_SIZE_SGIS 0x8138
+#define GL_TEXTURE_4D_BINDING_SGIS 0x814F
+#endif
+
+#ifndef GL_SGI_texture_color_table
+#define GL_TEXTURE_COLOR_TABLE_SGI 0x80BC
+#define GL_PROXY_TEXTURE_COLOR_TABLE_SGI 0x80BD
+#endif
+
+#ifndef GL_EXT_cmyka
+#define GL_CMYK_EXT 0x800C
+#define GL_CMYKA_EXT 0x800D
+#define GL_PACK_CMYK_HINT_EXT 0x800E
+#define GL_UNPACK_CMYK_HINT_EXT 0x800F
+#endif
+
+#ifndef GL_EXT_texture_object
+#define GL_TEXTURE_PRIORITY_EXT 0x8066
+#define GL_TEXTURE_RESIDENT_EXT 0x8067
+#define GL_TEXTURE_1D_BINDING_EXT 0x8068
+#define GL_TEXTURE_2D_BINDING_EXT 0x8069
+#define GL_TEXTURE_3D_BINDING_EXT 0x806A
+#endif
+
+#ifndef GL_SGIS_detail_texture
+#define GL_DETAIL_TEXTURE_2D_SGIS 0x8095
+#define GL_DETAIL_TEXTURE_2D_BINDING_SGIS 0x8096
+#define GL_LINEAR_DETAIL_SGIS 0x8097
+#define GL_LINEAR_DETAIL_ALPHA_SGIS 0x8098
+#define GL_LINEAR_DETAIL_COLOR_SGIS 0x8099
+#define GL_DETAIL_TEXTURE_LEVEL_SGIS 0x809A
+#define GL_DETAIL_TEXTURE_MODE_SGIS 0x809B
+#define GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS 0x809C
+#endif
+
+#ifndef GL_SGIS_sharpen_texture
+#define GL_LINEAR_SHARPEN_SGIS 0x80AD
+#define GL_LINEAR_SHARPEN_ALPHA_SGIS 0x80AE
+#define GL_LINEAR_SHARPEN_COLOR_SGIS 0x80AF
+#define GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS 0x80B0
+#endif
+
+#ifndef GL_EXT_packed_pixels
+#define GL_UNSIGNED_BYTE_3_3_2_EXT 0x8032
+#define GL_UNSIGNED_SHORT_4_4_4_4_EXT 0x8033
+#define GL_UNSIGNED_SHORT_5_5_5_1_EXT 0x8034
+#define GL_UNSIGNED_INT_8_8_8_8_EXT 0x8035
+#define GL_UNSIGNED_INT_10_10_10_2_EXT 0x8036
+#endif
+
+#ifndef GL_SGIS_texture_lod
+#define GL_TEXTURE_MIN_LOD_SGIS 0x813A
+#define GL_TEXTURE_MAX_LOD_SGIS 0x813B
+#define GL_TEXTURE_BASE_LEVEL_SGIS 0x813C
+#define GL_TEXTURE_MAX_LEVEL_SGIS 0x813D
+#endif
+
+#ifndef GL_SGIS_multisample
+#define GL_MULTISAMPLE_SGIS 0x809D
+#define GL_SAMPLE_ALPHA_TO_MASK_SGIS 0x809E
+#define GL_SAMPLE_ALPHA_TO_ONE_SGIS 0x809F
+#define GL_SAMPLE_MASK_SGIS 0x80A0
+#define GL_1PASS_SGIS 0x80A1
+#define GL_2PASS_0_SGIS 0x80A2
+#define GL_2PASS_1_SGIS 0x80A3
+#define GL_4PASS_0_SGIS 0x80A4
+#define GL_4PASS_1_SGIS 0x80A5
+#define GL_4PASS_2_SGIS 0x80A6
+#define GL_4PASS_3_SGIS 0x80A7
+#define GL_SAMPLE_BUFFERS_SGIS 0x80A8
+#define GL_SAMPLES_SGIS 0x80A9
+#define GL_SAMPLE_MASK_VALUE_SGIS 0x80AA
+#define GL_SAMPLE_MASK_INVERT_SGIS 0x80AB
+#define GL_SAMPLE_PATTERN_SGIS 0x80AC
+#endif
+
+#ifndef GL_EXT_rescale_normal
+#define GL_RESCALE_NORMAL_EXT 0x803A
+#endif
+
+#ifndef GL_EXT_vertex_array
+#define GL_VERTEX_ARRAY_EXT 0x8074
+#define GL_NORMAL_ARRAY_EXT 0x8075
+#define GL_COLOR_ARRAY_EXT 0x8076
+#define GL_INDEX_ARRAY_EXT 0x8077
+#define GL_TEXTURE_COORD_ARRAY_EXT 0x8078
+#define GL_EDGE_FLAG_ARRAY_EXT 0x8079
+#define GL_VERTEX_ARRAY_SIZE_EXT 0x807A
+#define GL_VERTEX_ARRAY_TYPE_EXT 0x807B
+#define GL_VERTEX_ARRAY_STRIDE_EXT 0x807C
+#define GL_VERTEX_ARRAY_COUNT_EXT 0x807D
+#define GL_NORMAL_ARRAY_TYPE_EXT 0x807E
+#define GL_NORMAL_ARRAY_STRIDE_EXT 0x807F
+#define GL_NORMAL_ARRAY_COUNT_EXT 0x8080
+#define GL_COLOR_ARRAY_SIZE_EXT 0x8081
+#define GL_COLOR_ARRAY_TYPE_EXT 0x8082
+#define GL_COLOR_ARRAY_STRIDE_EXT 0x8083
+#define GL_COLOR_ARRAY_COUNT_EXT 0x8084
+#define GL_INDEX_ARRAY_TYPE_EXT 0x8085
+#define GL_INDEX_ARRAY_STRIDE_EXT 0x8086
+#define GL_INDEX_ARRAY_COUNT_EXT 0x8087
+#define GL_TEXTURE_COORD_ARRAY_SIZE_EXT 0x8088
+#define GL_TEXTURE_COORD_ARRAY_TYPE_EXT 0x8089
+#define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT 0x808A
+#define GL_TEXTURE_COORD_ARRAY_COUNT_EXT 0x808B
+#define GL_EDGE_FLAG_ARRAY_STRIDE_EXT 0x808C
+#define GL_EDGE_FLAG_ARRAY_COUNT_EXT 0x808D
+#define GL_VERTEX_ARRAY_POINTER_EXT 0x808E
+#define GL_NORMAL_ARRAY_POINTER_EXT 0x808F
+#define GL_COLOR_ARRAY_POINTER_EXT 0x8090
+#define GL_INDEX_ARRAY_POINTER_EXT 0x8091
+#define GL_TEXTURE_COORD_ARRAY_POINTER_EXT 0x8092
+#define GL_EDGE_FLAG_ARRAY_POINTER_EXT 0x8093
+#endif
+
+#ifndef GL_EXT_misc_attribute
+#endif
+
+#ifndef GL_SGIS_generate_mipmap
+#define GL_GENERATE_MIPMAP_SGIS 0x8191
+#define GL_GENERATE_MIPMAP_HINT_SGIS 0x8192
+#endif
+
+#ifndef GL_SGIX_clipmap
+#define GL_LINEAR_CLIPMAP_LINEAR_SGIX 0x8170
+#define GL_TEXTURE_CLIPMAP_CENTER_SGIX 0x8171
+#define GL_TEXTURE_CLIPMAP_FRAME_SGIX 0x8172
+#define GL_TEXTURE_CLIPMAP_OFFSET_SGIX 0x8173
+#define GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX 0x8174
+#define GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX 0x8175
+#define GL_TEXTURE_CLIPMAP_DEPTH_SGIX 0x8176
+#define GL_MAX_CLIPMAP_DEPTH_SGIX 0x8177
+#define GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX 0x8178
+#define GL_NEAREST_CLIPMAP_NEAREST_SGIX 0x844D
+#define GL_NEAREST_CLIPMAP_LINEAR_SGIX 0x844E
+#define GL_LINEAR_CLIPMAP_NEAREST_SGIX 0x844F
+#endif
+
+#ifndef GL_SGIX_shadow
+#define GL_TEXTURE_COMPARE_SGIX 0x819A
+#define GL_TEXTURE_COMPARE_OPERATOR_SGIX 0x819B
+#define GL_TEXTURE_LEQUAL_R_SGIX 0x819C
+#define GL_TEXTURE_GEQUAL_R_SGIX 0x819D
+#endif
+
+#ifndef GL_SGIS_texture_edge_clamp
+#define GL_CLAMP_TO_EDGE_SGIS 0x812F
+#endif
+
+#ifndef GL_SGIS_texture_border_clamp
+#define GL_CLAMP_TO_BORDER_SGIS 0x812D
+#endif
+
+#ifndef GL_EXT_blend_minmax
+#define GL_FUNC_ADD_EXT 0x8006
+#define GL_MIN_EXT 0x8007
+#define GL_MAX_EXT 0x8008
+#define GL_BLEND_EQUATION_EXT 0x8009
+#endif
+
+#ifndef GL_EXT_blend_subtract
+#define GL_FUNC_SUBTRACT_EXT 0x800A
+#define GL_FUNC_REVERSE_SUBTRACT_EXT 0x800B
+#endif
+
+#ifndef GL_EXT_blend_logic_op
+#endif
+
+#ifndef GL_SGIX_interlace
+#define GL_INTERLACE_SGIX 0x8094
+#endif
+
+#ifndef GL_SGIX_pixel_tiles
+#define GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX 0x813E
+#define GL_PIXEL_TILE_CACHE_INCREMENT_SGIX 0x813F
+#define GL_PIXEL_TILE_WIDTH_SGIX 0x8140
+#define GL_PIXEL_TILE_HEIGHT_SGIX 0x8141
+#define GL_PIXEL_TILE_GRID_WIDTH_SGIX 0x8142
+#define GL_PIXEL_TILE_GRID_HEIGHT_SGIX 0x8143
+#define GL_PIXEL_TILE_GRID_DEPTH_SGIX 0x8144
+#define GL_PIXEL_TILE_CACHE_SIZE_SGIX 0x8145
+#endif
+
+#ifndef GL_SGIS_texture_select
+#define GL_DUAL_ALPHA4_SGIS 0x8110
+#define GL_DUAL_ALPHA8_SGIS 0x8111
+#define GL_DUAL_ALPHA12_SGIS 0x8112
+#define GL_DUAL_ALPHA16_SGIS 0x8113
+#define GL_DUAL_LUMINANCE4_SGIS 0x8114
+#define GL_DUAL_LUMINANCE8_SGIS 0x8115
+#define GL_DUAL_LUMINANCE12_SGIS 0x8116
+#define GL_DUAL_LUMINANCE16_SGIS 0x8117
+#define GL_DUAL_INTENSITY4_SGIS 0x8118
+#define GL_DUAL_INTENSITY8_SGIS 0x8119
+#define GL_DUAL_INTENSITY12_SGIS 0x811A
+#define GL_DUAL_INTENSITY16_SGIS 0x811B
+#define GL_DUAL_LUMINANCE_ALPHA4_SGIS 0x811C
+#define GL_DUAL_LUMINANCE_ALPHA8_SGIS 0x811D
+#define GL_QUAD_ALPHA4_SGIS 0x811E
+#define GL_QUAD_ALPHA8_SGIS 0x811F
+#define GL_QUAD_LUMINANCE4_SGIS 0x8120
+#define GL_QUAD_LUMINANCE8_SGIS 0x8121
+#define GL_QUAD_INTENSITY4_SGIS 0x8122
+#define GL_QUAD_INTENSITY8_SGIS 0x8123
+#define GL_DUAL_TEXTURE_SELECT_SGIS 0x8124
+#define GL_QUAD_TEXTURE_SELECT_SGIS 0x8125
+#endif
+
+#ifndef GL_SGIX_sprite
+#define GL_SPRITE_SGIX 0x8148
+#define GL_SPRITE_MODE_SGIX 0x8149
+#define GL_SPRITE_AXIS_SGIX 0x814A
+#define GL_SPRITE_TRANSLATION_SGIX 0x814B
+#define GL_SPRITE_AXIAL_SGIX 0x814C
+#define GL_SPRITE_OBJECT_ALIGNED_SGIX 0x814D
+#define GL_SPRITE_EYE_ALIGNED_SGIX 0x814E
+#endif
+
+#ifndef GL_SGIX_texture_multi_buffer
+#define GL_TEXTURE_MULTI_BUFFER_HINT_SGIX 0x812E
+#endif
+
+#ifndef GL_EXT_point_parameters
+#define GL_POINT_SIZE_MIN_EXT 0x8126
+#define GL_POINT_SIZE_MAX_EXT 0x8127
+#define GL_POINT_FADE_THRESHOLD_SIZE_EXT 0x8128
+#define GL_DISTANCE_ATTENUATION_EXT 0x8129
+#endif
+
+#ifndef GL_SGIS_point_parameters
+#define GL_POINT_SIZE_MIN_SGIS 0x8126
+#define GL_POINT_SIZE_MAX_SGIS 0x8127
+#define GL_POINT_FADE_THRESHOLD_SIZE_SGIS 0x8128
+#define GL_DISTANCE_ATTENUATION_SGIS 0x8129
+#endif
+
+#ifndef GL_SGIX_instruments
+#define GL_INSTRUMENT_BUFFER_POINTER_SGIX 0x8180
+#define GL_INSTRUMENT_MEASUREMENTS_SGIX 0x8181
+#endif
+
+#ifndef GL_SGIX_texture_scale_bias
+#define GL_POST_TEXTURE_FILTER_BIAS_SGIX 0x8179
+#define GL_POST_TEXTURE_FILTER_SCALE_SGIX 0x817A
+#define GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX 0x817B
+#define GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX 0x817C
+#endif
+
+#ifndef GL_SGIX_framezoom
+#define GL_FRAMEZOOM_SGIX 0x818B
+#define GL_FRAMEZOOM_FACTOR_SGIX 0x818C
+#define GL_MAX_FRAMEZOOM_FACTOR_SGIX 0x818D
+#endif
+
+#ifndef GL_SGIX_tag_sample_buffer
+#endif
+
+#ifndef GL_FfdMaskSGIX
+#define GL_TEXTURE_DEFORMATION_BIT_SGIX 0x00000001
+#define GL_GEOMETRY_DEFORMATION_BIT_SGIX 0x00000002
+#endif
+
+#ifndef GL_SGIX_polynomial_ffd
+#define GL_GEOMETRY_DEFORMATION_SGIX 0x8194
+#define GL_TEXTURE_DEFORMATION_SGIX 0x8195
+#define GL_DEFORMATIONS_MASK_SGIX 0x8196
+#define GL_MAX_DEFORMATION_ORDER_SGIX 0x8197
+#endif
+
+#ifndef GL_SGIX_reference_plane
+#define GL_REFERENCE_PLANE_SGIX 0x817D
+#define GL_REFERENCE_PLANE_EQUATION_SGIX 0x817E
+#endif
+
+#ifndef GL_SGIX_flush_raster
+#endif
+
+#ifndef GL_SGIX_depth_texture
+#define GL_DEPTH_COMPONENT16_SGIX 0x81A5
+#define GL_DEPTH_COMPONENT24_SGIX 0x81A6
+#define GL_DEPTH_COMPONENT32_SGIX 0x81A7
+#endif
+
+#ifndef GL_SGIS_fog_function
+#define GL_FOG_FUNC_SGIS 0x812A
+#define GL_FOG_FUNC_POINTS_SGIS 0x812B
+#define GL_MAX_FOG_FUNC_POINTS_SGIS 0x812C
+#endif
+
+#ifndef GL_SGIX_fog_offset
+#define GL_FOG_OFFSET_SGIX 0x8198
+#define GL_FOG_OFFSET_VALUE_SGIX 0x8199
+#endif
+
+#ifndef GL_HP_image_transform
+#define GL_IMAGE_SCALE_X_HP 0x8155
+#define GL_IMAGE_SCALE_Y_HP 0x8156
+#define GL_IMAGE_TRANSLATE_X_HP 0x8157
+#define GL_IMAGE_TRANSLATE_Y_HP 0x8158
+#define GL_IMAGE_ROTATE_ANGLE_HP 0x8159
+#define GL_IMAGE_ROTATE_ORIGIN_X_HP 0x815A
+#define GL_IMAGE_ROTATE_ORIGIN_Y_HP 0x815B
+#define GL_IMAGE_MAG_FILTER_HP 0x815C
+#define GL_IMAGE_MIN_FILTER_HP 0x815D
+#define GL_IMAGE_CUBIC_WEIGHT_HP 0x815E
+#define GL_CUBIC_HP 0x815F
+#define GL_AVERAGE_HP 0x8160
+#define GL_IMAGE_TRANSFORM_2D_HP 0x8161
+#define GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP 0x8162
+#define GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP 0x8163
+#endif
+
+#ifndef GL_HP_convolution_border_modes
+#define GL_IGNORE_BORDER_HP 0x8150
+#define GL_CONSTANT_BORDER_HP 0x8151
+#define GL_REPLICATE_BORDER_HP 0x8153
+#define GL_CONVOLUTION_BORDER_COLOR_HP 0x8154
+#endif
+
+#ifndef GL_INGR_palette_buffer
+#endif
+
+#ifndef GL_SGIX_texture_add_env
+#define GL_TEXTURE_ENV_BIAS_SGIX 0x80BE
+#endif
+
+#ifndef GL_EXT_color_subtable
+#endif
+
+#ifndef GL_PGI_vertex_hints
+#define GL_VERTEX_DATA_HINT_PGI 0x1A22A
+#define GL_VERTEX_CONSISTENT_HINT_PGI 0x1A22B
+#define GL_MATERIAL_SIDE_HINT_PGI 0x1A22C
+#define GL_MAX_VERTEX_HINT_PGI 0x1A22D
+#define GL_COLOR3_BIT_PGI 0x00010000
+#define GL_COLOR4_BIT_PGI 0x00020000
+#define GL_EDGEFLAG_BIT_PGI 0x00040000
+#define GL_INDEX_BIT_PGI 0x00080000
+#define GL_MAT_AMBIENT_BIT_PGI 0x00100000
+#define GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI 0x00200000
+#define GL_MAT_DIFFUSE_BIT_PGI 0x00400000
+#define GL_MAT_EMISSION_BIT_PGI 0x00800000
+#define GL_MAT_COLOR_INDEXES_BIT_PGI 0x01000000
+#define GL_MAT_SHININESS_BIT_PGI 0x02000000
+#define GL_MAT_SPECULAR_BIT_PGI 0x04000000
+#define GL_NORMAL_BIT_PGI 0x08000000
+#define GL_TEXCOORD1_BIT_PGI 0x10000000
+#define GL_TEXCOORD2_BIT_PGI 0x20000000
+#define GL_TEXCOORD3_BIT_PGI 0x40000000
+#define GL_TEXCOORD4_BIT_PGI 0x80000000
+#define GL_VERTEX23_BIT_PGI 0x00000004
+#define GL_VERTEX4_BIT_PGI 0x00000008
+#endif
+
+#ifndef GL_PGI_misc_hints
+#define GL_PREFER_DOUBLEBUFFER_HINT_PGI 0x1A1F8
+#define GL_CONSERVE_MEMORY_HINT_PGI 0x1A1FD
+#define GL_RECLAIM_MEMORY_HINT_PGI 0x1A1FE
+#define GL_NATIVE_GRAPHICS_HANDLE_PGI 0x1A202
+#define GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI 0x1A203
+#define GL_NATIVE_GRAPHICS_END_HINT_PGI 0x1A204
+#define GL_ALWAYS_FAST_HINT_PGI 0x1A20C
+#define GL_ALWAYS_SOFT_HINT_PGI 0x1A20D
+#define GL_ALLOW_DRAW_OBJ_HINT_PGI 0x1A20E
+#define GL_ALLOW_DRAW_WIN_HINT_PGI 0x1A20F
+#define GL_ALLOW_DRAW_FRG_HINT_PGI 0x1A210
+#define GL_ALLOW_DRAW_MEM_HINT_PGI 0x1A211
+#define GL_STRICT_DEPTHFUNC_HINT_PGI 0x1A216
+#define GL_STRICT_LIGHTING_HINT_PGI 0x1A217
+#define GL_STRICT_SCISSOR_HINT_PGI 0x1A218
+#define GL_FULL_STIPPLE_HINT_PGI 0x1A219
+#define GL_CLIP_NEAR_HINT_PGI 0x1A220
+#define GL_CLIP_FAR_HINT_PGI 0x1A221
+#define GL_WIDE_LINE_HINT_PGI 0x1A222
+#define GL_BACK_NORMALS_HINT_PGI 0x1A223
+#endif
+
+#ifndef GL_EXT_paletted_texture
+#define GL_COLOR_INDEX1_EXT 0x80E2
+#define GL_COLOR_INDEX2_EXT 0x80E3
+#define GL_COLOR_INDEX4_EXT 0x80E4
+#define GL_COLOR_INDEX8_EXT 0x80E5
+#define GL_COLOR_INDEX12_EXT 0x80E6
+#define GL_COLOR_INDEX16_EXT 0x80E7
+#define GL_TEXTURE_INDEX_SIZE_EXT 0x80ED
+#endif
+
+#ifndef GL_EXT_clip_volume_hint
+#define GL_CLIP_VOLUME_CLIPPING_HINT_EXT 0x80F0
+#endif
+
+#ifndef GL_SGIX_list_priority
+#define GL_LIST_PRIORITY_SGIX 0x8182
+#endif
+
+#ifndef GL_SGIX_ir_instrument1
+#define GL_IR_INSTRUMENT1_SGIX 0x817F
+#endif
+
+#ifndef GL_SGIX_calligraphic_fragment
+#define GL_CALLIGRAPHIC_FRAGMENT_SGIX 0x8183
+#endif
+
+#ifndef GL_SGIX_texture_lod_bias
+#define GL_TEXTURE_LOD_BIAS_S_SGIX 0x818E
+#define GL_TEXTURE_LOD_BIAS_T_SGIX 0x818F
+#define GL_TEXTURE_LOD_BIAS_R_SGIX 0x8190
+#endif
+
+#ifndef GL_SGIX_shadow_ambient
+#define GL_SHADOW_AMBIENT_SGIX 0x80BF
+#endif
+
+#ifndef GL_EXT_index_texture
+#endif
+
+#ifndef GL_EXT_index_material
+#define GL_INDEX_MATERIAL_EXT 0x81B8
+#define GL_INDEX_MATERIAL_PARAMETER_EXT 0x81B9
+#define GL_INDEX_MATERIAL_FACE_EXT 0x81BA
+#endif
+
+#ifndef GL_EXT_index_func
+#define GL_INDEX_TEST_EXT 0x81B5
+#define GL_INDEX_TEST_FUNC_EXT 0x81B6
+#define GL_INDEX_TEST_REF_EXT 0x81B7
+#endif
+
+#ifndef GL_EXT_index_array_formats
+#define GL_IUI_V2F_EXT 0x81AD
+#define GL_IUI_V3F_EXT 0x81AE
+#define GL_IUI_N3F_V2F_EXT 0x81AF
+#define GL_IUI_N3F_V3F_EXT 0x81B0
+#define GL_T2F_IUI_V2F_EXT 0x81B1
+#define GL_T2F_IUI_V3F_EXT 0x81B2
+#define GL_T2F_IUI_N3F_V2F_EXT 0x81B3
+#define GL_T2F_IUI_N3F_V3F_EXT 0x81B4
+#endif
+
+#ifndef GL_EXT_compiled_vertex_array
+#define GL_ARRAY_ELEMENT_LOCK_FIRST_EXT 0x81A8
+#define GL_ARRAY_ELEMENT_LOCK_COUNT_EXT 0x81A9
+#endif
+
+#ifndef GL_EXT_cull_vertex
+#define GL_CULL_VERTEX_EXT 0x81AA
+#define GL_CULL_VERTEX_EYE_POSITION_EXT 0x81AB
+#define GL_CULL_VERTEX_OBJECT_POSITION_EXT 0x81AC
+#endif
+
+#ifndef GL_SGIX_ycrcb
+#define GL_YCRCB_422_SGIX 0x81BB
+#define GL_YCRCB_444_SGIX 0x81BC
+#endif
+
+#ifndef GL_SGIX_fragment_lighting
+#define GL_FRAGMENT_LIGHTING_SGIX 0x8400
+#define GL_FRAGMENT_COLOR_MATERIAL_SGIX 0x8401
+#define GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX 0x8402
+#define GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX 0x8403
+#define GL_MAX_FRAGMENT_LIGHTS_SGIX 0x8404
+#define GL_MAX_ACTIVE_LIGHTS_SGIX 0x8405
+#define GL_CURRENT_RASTER_NORMAL_SGIX 0x8406
+#define GL_LIGHT_ENV_MODE_SGIX 0x8407
+#define GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX 0x8408
+#define GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX 0x8409
+#define GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX 0x840A
+#define GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX 0x840B
+#define GL_FRAGMENT_LIGHT0_SGIX 0x840C
+#define GL_FRAGMENT_LIGHT1_SGIX 0x840D
+#define GL_FRAGMENT_LIGHT2_SGIX 0x840E
+#define GL_FRAGMENT_LIGHT3_SGIX 0x840F
+#define GL_FRAGMENT_LIGHT4_SGIX 0x8410
+#define GL_FRAGMENT_LIGHT5_SGIX 0x8411
+#define GL_FRAGMENT_LIGHT6_SGIX 0x8412
+#define GL_FRAGMENT_LIGHT7_SGIX 0x8413
+#endif
+
+#ifndef GL_IBM_rasterpos_clip
+#define GL_RASTER_POSITION_UNCLIPPED_IBM 0x19262
+#endif
+
+#ifndef GL_HP_texture_lighting
+#define GL_TEXTURE_LIGHTING_MODE_HP 0x8167
+#define GL_TEXTURE_POST_SPECULAR_HP 0x8168
+#define GL_TEXTURE_PRE_SPECULAR_HP 0x8169
+#endif
+
+#ifndef GL_EXT_draw_range_elements
+#define GL_MAX_ELEMENTS_VERTICES_EXT 0x80E8
+#define GL_MAX_ELEMENTS_INDICES_EXT 0x80E9
+#endif
+
+#ifndef GL_WIN_phong_shading
+#define GL_PHONG_WIN 0x80EA
+#define GL_PHONG_HINT_WIN 0x80EB
+#endif
+
+#ifndef GL_WIN_specular_fog
+#define GL_FOG_SPECULAR_TEXTURE_WIN 0x80EC
+#endif
+
+#ifndef GL_EXT_light_texture
+#define GL_FRAGMENT_MATERIAL_EXT 0x8349
+#define GL_FRAGMENT_NORMAL_EXT 0x834A
+#define GL_FRAGMENT_COLOR_EXT 0x834C
+#define GL_ATTENUATION_EXT 0x834D
+#define GL_SHADOW_ATTENUATION_EXT 0x834E
+#define GL_TEXTURE_APPLICATION_MODE_EXT 0x834F
+#define GL_TEXTURE_LIGHT_EXT 0x8350
+#define GL_TEXTURE_MATERIAL_FACE_EXT 0x8351
+#define GL_TEXTURE_MATERIAL_PARAMETER_EXT 0x8352
+/* reuse GL_FRAGMENT_DEPTH_EXT */
+#endif
+
+#ifndef GL_SGIX_blend_alpha_minmax
+#define GL_ALPHA_MIN_SGIX 0x8320
+#define GL_ALPHA_MAX_SGIX 0x8321
+#endif
+
+#ifndef GL_SGIX_impact_pixel_texture
+#define GL_PIXEL_TEX_GEN_Q_CEILING_SGIX 0x8184
+#define GL_PIXEL_TEX_GEN_Q_ROUND_SGIX 0x8185
+#define GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX 0x8186
+#define GL_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX 0x8187
+#define GL_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX 0x8188
+#define GL_PIXEL_TEX_GEN_ALPHA_LS_SGIX 0x8189
+#define GL_PIXEL_TEX_GEN_ALPHA_MS_SGIX 0x818A
+#endif
+
+#ifndef GL_EXT_bgra
+#define GL_BGR_EXT 0x80E0
+#define GL_BGRA_EXT 0x80E1
+#endif
+
+#ifndef GL_SGIX_async
+#define GL_ASYNC_MARKER_SGIX 0x8329
+#endif
+
+#ifndef GL_SGIX_async_pixel
+#define GL_ASYNC_TEX_IMAGE_SGIX 0x835C
+#define GL_ASYNC_DRAW_PIXELS_SGIX 0x835D
+#define GL_ASYNC_READ_PIXELS_SGIX 0x835E
+#define GL_MAX_ASYNC_TEX_IMAGE_SGIX 0x835F
+#define GL_MAX_ASYNC_DRAW_PIXELS_SGIX 0x8360
+#define GL_MAX_ASYNC_READ_PIXELS_SGIX 0x8361
+#endif
+
+#ifndef GL_SGIX_async_histogram
+#define GL_ASYNC_HISTOGRAM_SGIX 0x832C
+#define GL_MAX_ASYNC_HISTOGRAM_SGIX 0x832D
+#endif
+
+#ifndef GL_INTEL_texture_scissor
+#endif
+
+#ifndef GL_INTEL_parallel_arrays
+#define GL_PARALLEL_ARRAYS_INTEL 0x83F4
+#define GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL 0x83F5
+#define GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL 0x83F6
+#define GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL 0x83F7
+#define GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL 0x83F8
+#endif
+
+#ifndef GL_HP_occlusion_test
+#define GL_OCCLUSION_TEST_HP 0x8165
+#define GL_OCCLUSION_TEST_RESULT_HP 0x8166
+#endif
+
+#ifndef GL_EXT_pixel_transform
+#define GL_PIXEL_TRANSFORM_2D_EXT 0x8330
+#define GL_PIXEL_MAG_FILTER_EXT 0x8331
+#define GL_PIXEL_MIN_FILTER_EXT 0x8332
+#define GL_PIXEL_CUBIC_WEIGHT_EXT 0x8333
+#define GL_CUBIC_EXT 0x8334
+#define GL_AVERAGE_EXT 0x8335
+#define GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT 0x8336
+#define GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT 0x8337
+#define GL_PIXEL_TRANSFORM_2D_MATRIX_EXT 0x8338
+#endif
+
+#ifndef GL_EXT_pixel_transform_color_table
+#endif
+
+#ifndef GL_EXT_shared_texture_palette
+#define GL_SHARED_TEXTURE_PALETTE_EXT 0x81FB
+#endif
+
+#ifndef GL_EXT_separate_specular_color
+#define GL_LIGHT_MODEL_COLOR_CONTROL_EXT 0x81F8
+#define GL_SINGLE_COLOR_EXT 0x81F9
+#define GL_SEPARATE_SPECULAR_COLOR_EXT 0x81FA
+#endif
+
+#ifndef GL_EXT_secondary_color
+#define GL_COLOR_SUM_EXT 0x8458
+#define GL_CURRENT_SECONDARY_COLOR_EXT 0x8459
+#define GL_SECONDARY_COLOR_ARRAY_SIZE_EXT 0x845A
+#define GL_SECONDARY_COLOR_ARRAY_TYPE_EXT 0x845B
+#define GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT 0x845C
+#define GL_SECONDARY_COLOR_ARRAY_POINTER_EXT 0x845D
+#define GL_SECONDARY_COLOR_ARRAY_EXT 0x845E
+#endif
+
+#ifndef GL_EXT_texture_perturb_normal
+#define GL_PERTURB_EXT 0x85AE
+#define GL_TEXTURE_NORMAL_EXT 0x85AF
+#endif
+
+#ifndef GL_EXT_multi_draw_arrays
+#endif
+
+#ifndef GL_EXT_fog_coord
+#define GL_FOG_COORDINATE_SOURCE_EXT 0x8450
+#define GL_FOG_COORDINATE_EXT 0x8451
+#define GL_FRAGMENT_DEPTH_EXT 0x8452
+#define GL_CURRENT_FOG_COORDINATE_EXT 0x8453
+#define GL_FOG_COORDINATE_ARRAY_TYPE_EXT 0x8454
+#define GL_FOG_COORDINATE_ARRAY_STRIDE_EXT 0x8455
+#define GL_FOG_COORDINATE_ARRAY_POINTER_EXT 0x8456
+#define GL_FOG_COORDINATE_ARRAY_EXT 0x8457
+#endif
+
+#ifndef GL_REND_screen_coordinates
+#define GL_SCREEN_COORDINATES_REND 0x8490
+#define GL_INVERTED_SCREEN_W_REND 0x8491
+#endif
+
+#ifndef GL_EXT_coordinate_frame
+#define GL_TANGENT_ARRAY_EXT 0x8439
+#define GL_BINORMAL_ARRAY_EXT 0x843A
+#define GL_CURRENT_TANGENT_EXT 0x843B
+#define GL_CURRENT_BINORMAL_EXT 0x843C
+#define GL_TANGENT_ARRAY_TYPE_EXT 0x843E
+#define GL_TANGENT_ARRAY_STRIDE_EXT 0x843F
+#define GL_BINORMAL_ARRAY_TYPE_EXT 0x8440
+#define GL_BINORMAL_ARRAY_STRIDE_EXT 0x8441
+#define GL_TANGENT_ARRAY_POINTER_EXT 0x8442
+#define GL_BINORMAL_ARRAY_POINTER_EXT 0x8443
+#define GL_MAP1_TANGENT_EXT 0x8444
+#define GL_MAP2_TANGENT_EXT 0x8445
+#define GL_MAP1_BINORMAL_EXT 0x8446
+#define GL_MAP2_BINORMAL_EXT 0x8447
+#endif
+
+#ifndef GL_EXT_texture_env_combine
+#define GL_COMBINE_EXT 0x8570
+#define GL_COMBINE_RGB_EXT 0x8571
+#define GL_COMBINE_ALPHA_EXT 0x8572
+#define GL_RGB_SCALE_EXT 0x8573
+#define GL_ADD_SIGNED_EXT 0x8574
+#define GL_INTERPOLATE_EXT 0x8575
+#define GL_CONSTANT_EXT 0x8576
+#define GL_PRIMARY_COLOR_EXT 0x8577
+#define GL_PREVIOUS_EXT 0x8578
+#define GL_SOURCE0_RGB_EXT 0x8580
+#define GL_SOURCE1_RGB_EXT 0x8581
+#define GL_SOURCE2_RGB_EXT 0x8582
+#define GL_SOURCE0_ALPHA_EXT 0x8588
+#define GL_SOURCE1_ALPHA_EXT 0x8589
+#define GL_SOURCE2_ALPHA_EXT 0x858A
+#define GL_OPERAND0_RGB_EXT 0x8590
+#define GL_OPERAND1_RGB_EXT 0x8591
+#define GL_OPERAND2_RGB_EXT 0x8592
+#define GL_OPERAND0_ALPHA_EXT 0x8598
+#define GL_OPERAND1_ALPHA_EXT 0x8599
+#define GL_OPERAND2_ALPHA_EXT 0x859A
+#endif
+
+#ifndef GL_APPLE_specular_vector
+#define GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE 0x85B0
+#endif
+
+#ifndef GL_APPLE_transform_hint
+#define GL_TRANSFORM_HINT_APPLE 0x85B1
+#endif
+
+#ifndef GL_SGIX_fog_scale
+#define GL_FOG_SCALE_SGIX 0x81FC
+#define GL_FOG_SCALE_VALUE_SGIX 0x81FD
+#endif
+
+#ifndef GL_SUNX_constant_data
+#define GL_UNPACK_CONSTANT_DATA_SUNX 0x81D5
+#define GL_TEXTURE_CONSTANT_DATA_SUNX 0x81D6
+#endif
+
+#ifndef GL_SUN_global_alpha
+#define GL_GLOBAL_ALPHA_SUN 0x81D9
+#define GL_GLOBAL_ALPHA_FACTOR_SUN 0x81DA
+#endif
+
+#ifndef GL_SUN_triangle_list
+#define GL_RESTART_SUN 0x0001
+#define GL_REPLACE_MIDDLE_SUN 0x0002
+#define GL_REPLACE_OLDEST_SUN 0x0003
+#define GL_TRIANGLE_LIST_SUN 0x81D7
+#define GL_REPLACEMENT_CODE_SUN 0x81D8
+#define GL_REPLACEMENT_CODE_ARRAY_SUN 0x85C0
+#define GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN 0x85C1
+#define GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN 0x85C2
+#define GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN 0x85C3
+#define GL_R1UI_V3F_SUN 0x85C4
+#define GL_R1UI_C4UB_V3F_SUN 0x85C5
+#define GL_R1UI_C3F_V3F_SUN 0x85C6
+#define GL_R1UI_N3F_V3F_SUN 0x85C7
+#define GL_R1UI_C4F_N3F_V3F_SUN 0x85C8
+#define GL_R1UI_T2F_V3F_SUN 0x85C9
+#define GL_R1UI_T2F_N3F_V3F_SUN 0x85CA
+#define GL_R1UI_T2F_C4F_N3F_V3F_SUN 0x85CB
+#endif
+
+#ifndef GL_SUN_vertex
+#endif
+
+#ifndef GL_EXT_blend_func_separate
+#define GL_BLEND_DST_RGB_EXT 0x80C8
+#define GL_BLEND_SRC_RGB_EXT 0x80C9
+#define GL_BLEND_DST_ALPHA_EXT 0x80CA
+#define GL_BLEND_SRC_ALPHA_EXT 0x80CB
+#endif
+
+#ifndef GL_INGR_color_clamp
+#define GL_RED_MIN_CLAMP_INGR 0x8560
+#define GL_GREEN_MIN_CLAMP_INGR 0x8561
+#define GL_BLUE_MIN_CLAMP_INGR 0x8562
+#define GL_ALPHA_MIN_CLAMP_INGR 0x8563
+#define GL_RED_MAX_CLAMP_INGR 0x8564
+#define GL_GREEN_MAX_CLAMP_INGR 0x8565
+#define GL_BLUE_MAX_CLAMP_INGR 0x8566
+#define GL_ALPHA_MAX_CLAMP_INGR 0x8567
+#endif
+
+#ifndef GL_INGR_interlace_read
+#define GL_INTERLACE_READ_INGR 0x8568
+#endif
+
+#ifndef GL_EXT_stencil_wrap
+#define GL_INCR_WRAP_EXT 0x8507
+#define GL_DECR_WRAP_EXT 0x8508
+#endif
+
+#ifndef GL_EXT_422_pixels
+#define GL_422_EXT 0x80CC
+#define GL_422_REV_EXT 0x80CD
+#define GL_422_AVERAGE_EXT 0x80CE
+#define GL_422_REV_AVERAGE_EXT 0x80CF
+#endif
+
+#ifndef GL_NV_texgen_reflection
+#define GL_NORMAL_MAP_NV 0x8511
+#define GL_REFLECTION_MAP_NV 0x8512
+#endif
+
+#ifndef GL_EXT_texture_cube_map
+#define GL_NORMAL_MAP_EXT 0x8511
+#define GL_REFLECTION_MAP_EXT 0x8512
+#define GL_TEXTURE_CUBE_MAP_EXT 0x8513
+#define GL_TEXTURE_BINDING_CUBE_MAP_EXT 0x8514
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT 0x8515
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT 0x8516
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT 0x8517
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT 0x8518
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT 0x8519
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT 0x851A
+#define GL_PROXY_TEXTURE_CUBE_MAP_EXT 0x851B
+#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT 0x851C
+#endif
+
+#ifndef GL_SUN_convolution_border_modes
+#define GL_WRAP_BORDER_SUN 0x81D4
+#endif
+
+#ifndef GL_EXT_texture_env_add
+#endif
+
+#ifndef GL_EXT_texture_lod_bias
+#define GL_MAX_TEXTURE_LOD_BIAS_EXT 0x84FD
+#define GL_TEXTURE_FILTER_CONTROL_EXT 0x8500
+#define GL_TEXTURE_LOD_BIAS_EXT 0x8501
+#endif
+
+#ifndef GL_EXT_texture_filter_anisotropic
+#define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
+#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
+#endif
+
+#ifndef GL_EXT_vertex_weighting
+#define GL_MODELVIEW0_STACK_DEPTH_EXT GL_MODELVIEW_STACK_DEPTH
+#define GL_MODELVIEW1_STACK_DEPTH_EXT 0x8502
+#define GL_MODELVIEW0_MATRIX_EXT GL_MODELVIEW_MATRIX
+#define GL_MODELVIEW1_MATRIX_EXT 0x8506
+#define GL_VERTEX_WEIGHTING_EXT 0x8509
+#define GL_MODELVIEW0_EXT GL_MODELVIEW
+#define GL_MODELVIEW1_EXT 0x850A
+#define GL_CURRENT_VERTEX_WEIGHT_EXT 0x850B
+#define GL_VERTEX_WEIGHT_ARRAY_EXT 0x850C
+#define GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT 0x850D
+#define GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT 0x850E
+#define GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT 0x850F
+#define GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT 0x8510
+#endif
+
+#ifndef GL_NV_light_max_exponent
+#define GL_MAX_SHININESS_NV 0x8504
+#define GL_MAX_SPOT_EXPONENT_NV 0x8505
+#endif
+
+#ifndef GL_NV_vertex_array_range
+#define GL_VERTEX_ARRAY_RANGE_NV 0x851D
+#define GL_VERTEX_ARRAY_RANGE_LENGTH_NV 0x851E
+#define GL_VERTEX_ARRAY_RANGE_VALID_NV 0x851F
+#define GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV 0x8520
+#define GL_VERTEX_ARRAY_RANGE_POINTER_NV 0x8521
+#endif
+
+#ifndef GL_NV_register_combiners
+#define GL_REGISTER_COMBINERS_NV 0x8522
+#define GL_VARIABLE_A_NV 0x8523
+#define GL_VARIABLE_B_NV 0x8524
+#define GL_VARIABLE_C_NV 0x8525
+#define GL_VARIABLE_D_NV 0x8526
+#define GL_VARIABLE_E_NV 0x8527
+#define GL_VARIABLE_F_NV 0x8528
+#define GL_VARIABLE_G_NV 0x8529
+#define GL_CONSTANT_COLOR0_NV 0x852A
+#define GL_CONSTANT_COLOR1_NV 0x852B
+#define GL_PRIMARY_COLOR_NV 0x852C
+#define GL_SECONDARY_COLOR_NV 0x852D
+#define GL_SPARE0_NV 0x852E
+#define GL_SPARE1_NV 0x852F
+#define GL_DISCARD_NV 0x8530
+#define GL_E_TIMES_F_NV 0x8531
+#define GL_SPARE0_PLUS_SECONDARY_COLOR_NV 0x8532
+#define GL_UNSIGNED_IDENTITY_NV 0x8536
+#define GL_UNSIGNED_INVERT_NV 0x8537
+#define GL_EXPAND_NORMAL_NV 0x8538
+#define GL_EXPAND_NEGATE_NV 0x8539
+#define GL_HALF_BIAS_NORMAL_NV 0x853A
+#define GL_HALF_BIAS_NEGATE_NV 0x853B
+#define GL_SIGNED_IDENTITY_NV 0x853C
+#define GL_SIGNED_NEGATE_NV 0x853D
+#define GL_SCALE_BY_TWO_NV 0x853E
+#define GL_SCALE_BY_FOUR_NV 0x853F
+#define GL_SCALE_BY_ONE_HALF_NV 0x8540
+#define GL_BIAS_BY_NEGATIVE_ONE_HALF_NV 0x8541
+#define GL_COMBINER_INPUT_NV 0x8542
+#define GL_COMBINER_MAPPING_NV 0x8543
+#define GL_COMBINER_COMPONENT_USAGE_NV 0x8544
+#define GL_COMBINER_AB_DOT_PRODUCT_NV 0x8545
+#define GL_COMBINER_CD_DOT_PRODUCT_NV 0x8546
+#define GL_COMBINER_MUX_SUM_NV 0x8547
+#define GL_COMBINER_SCALE_NV 0x8548
+#define GL_COMBINER_BIAS_NV 0x8549
+#define GL_COMBINER_AB_OUTPUT_NV 0x854A
+#define GL_COMBINER_CD_OUTPUT_NV 0x854B
+#define GL_COMBINER_SUM_OUTPUT_NV 0x854C
+#define GL_MAX_GENERAL_COMBINERS_NV 0x854D
+#define GL_NUM_GENERAL_COMBINERS_NV 0x854E
+#define GL_COLOR_SUM_CLAMP_NV 0x854F
+#define GL_COMBINER0_NV 0x8550
+#define GL_COMBINER1_NV 0x8551
+#define GL_COMBINER2_NV 0x8552
+#define GL_COMBINER3_NV 0x8553
+#define GL_COMBINER4_NV 0x8554
+#define GL_COMBINER5_NV 0x8555
+#define GL_COMBINER6_NV 0x8556
+#define GL_COMBINER7_NV 0x8557
+/* reuse GL_TEXTURE0_ARB */
+/* reuse GL_TEXTURE1_ARB */
+/* reuse GL_ZERO */
+/* reuse GL_NONE */
+/* reuse GL_FOG */
+#endif
+
+#ifndef GL_NV_fog_distance
+#define GL_FOG_DISTANCE_MODE_NV 0x855A
+#define GL_EYE_RADIAL_NV 0x855B
+#define GL_EYE_PLANE_ABSOLUTE_NV 0x855C
+/* reuse GL_EYE_PLANE */
+#endif
+
+#ifndef GL_NV_texgen_emboss
+#define GL_EMBOSS_LIGHT_NV 0x855D
+#define GL_EMBOSS_CONSTANT_NV 0x855E
+#define GL_EMBOSS_MAP_NV 0x855F
+#endif
+
+#ifndef GL_NV_blend_square
+#endif
+
+#ifndef GL_NV_texture_env_combine4
+#define GL_COMBINE4_NV 0x8503
+#define GL_SOURCE3_RGB_NV 0x8583
+#define GL_SOURCE3_ALPHA_NV 0x858B
+#define GL_OPERAND3_RGB_NV 0x8593
+#define GL_OPERAND3_ALPHA_NV 0x859B
+#endif
+
+#ifndef GL_MESA_resize_buffers
+#endif
+
+#ifndef GL_MESA_window_pos
+#endif
+
+#ifndef GL_EXT_texture_compression_s3tc
+#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0
+#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1
+#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2
+#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3
+#endif
+
+#ifndef GL_IBM_cull_vertex
+#define GL_CULL_VERTEX_IBM 103050
+#endif
+
+#ifndef GL_IBM_multimode_draw_arrays
+#endif
+
+#ifndef GL_IBM_vertex_array_lists
+#define GL_VERTEX_ARRAY_LIST_IBM 103070
+#define GL_NORMAL_ARRAY_LIST_IBM 103071
+#define GL_COLOR_ARRAY_LIST_IBM 103072
+#define GL_INDEX_ARRAY_LIST_IBM 103073
+#define GL_TEXTURE_COORD_ARRAY_LIST_IBM 103074
+#define GL_EDGE_FLAG_ARRAY_LIST_IBM 103075
+#define GL_FOG_COORDINATE_ARRAY_LIST_IBM 103076
+#define GL_SECONDARY_COLOR_ARRAY_LIST_IBM 103077
+#define GL_VERTEX_ARRAY_LIST_STRIDE_IBM 103080
+#define GL_NORMAL_ARRAY_LIST_STRIDE_IBM 103081
+#define GL_COLOR_ARRAY_LIST_STRIDE_IBM 103082
+#define GL_INDEX_ARRAY_LIST_STRIDE_IBM 103083
+#define GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM 103084
+#define GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM 103085
+#define GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM 103086
+#define GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM 103087
+#endif
+
+#ifndef GL_SGIX_subsample
+#define GL_PACK_SUBSAMPLE_RATE_SGIX 0x85A0
+#define GL_UNPACK_SUBSAMPLE_RATE_SGIX 0x85A1
+#define GL_PIXEL_SUBSAMPLE_4444_SGIX 0x85A2
+#define GL_PIXEL_SUBSAMPLE_2424_SGIX 0x85A3
+#define GL_PIXEL_SUBSAMPLE_4242_SGIX 0x85A4
+#endif
+
+#ifndef GL_SGIX_ycrcb_subsample
+#endif
+
+#ifndef GL_SGIX_ycrcba
+#define GL_YCRCB_SGIX 0x8318
+#define GL_YCRCBA_SGIX 0x8319
+#endif
+
+#ifndef GL_SGI_depth_pass_instrument
+#define GL_DEPTH_PASS_INSTRUMENT_SGIX 0x8310
+#define GL_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX 0x8311
+#define GL_DEPTH_PASS_INSTRUMENT_MAX_SGIX 0x8312
+#endif
+
+#ifndef GL_3DFX_texture_compression_FXT1
+#define GL_COMPRESSED_RGB_FXT1_3DFX 0x86B0
+#define GL_COMPRESSED_RGBA_FXT1_3DFX 0x86B1
+#endif
+
+#ifndef GL_3DFX_multisample
+#define GL_MULTISAMPLE_3DFX 0x86B2
+#define GL_SAMPLE_BUFFERS_3DFX 0x86B3
+#define GL_SAMPLES_3DFX 0x86B4
+#define GL_MULTISAMPLE_BIT_3DFX 0x20000000
+#endif
+
+#ifndef GL_3DFX_tbuffer
+#endif
+
+#ifndef GL_EXT_multisample
+#define GL_MULTISAMPLE_EXT 0x809D
+#define GL_SAMPLE_ALPHA_TO_MASK_EXT 0x809E
+#define GL_SAMPLE_ALPHA_TO_ONE_EXT 0x809F
+#define GL_SAMPLE_MASK_EXT 0x80A0
+#define GL_1PASS_EXT 0x80A1
+#define GL_2PASS_0_EXT 0x80A2
+#define GL_2PASS_1_EXT 0x80A3
+#define GL_4PASS_0_EXT 0x80A4
+#define GL_4PASS_1_EXT 0x80A5
+#define GL_4PASS_2_EXT 0x80A6
+#define GL_4PASS_3_EXT 0x80A7
+#define GL_SAMPLE_BUFFERS_EXT 0x80A8
+#define GL_SAMPLES_EXT 0x80A9
+#define GL_SAMPLE_MASK_VALUE_EXT 0x80AA
+#define GL_SAMPLE_MASK_INVERT_EXT 0x80AB
+#define GL_SAMPLE_PATTERN_EXT 0x80AC
+#define GL_MULTISAMPLE_BIT_EXT 0x20000000
+#endif
+
+#ifndef GL_SGIX_vertex_preclip
+#define GL_VERTEX_PRECLIP_SGIX 0x83EE
+#define GL_VERTEX_PRECLIP_HINT_SGIX 0x83EF
+#endif
+
+#ifndef GL_SGIX_convolution_accuracy
+#define GL_CONVOLUTION_HINT_SGIX 0x8316
+#endif
+
+#ifndef GL_SGIX_resample
+#define GL_PACK_RESAMPLE_SGIX 0x842C
+#define GL_UNPACK_RESAMPLE_SGIX 0x842D
+#define GL_RESAMPLE_REPLICATE_SGIX 0x842E
+#define GL_RESAMPLE_ZERO_FILL_SGIX 0x842F
+#define GL_RESAMPLE_DECIMATE_SGIX 0x8430
+#endif
+
+#ifndef GL_SGIS_point_line_texgen
+#define GL_EYE_DISTANCE_TO_POINT_SGIS 0x81F0
+#define GL_OBJECT_DISTANCE_TO_POINT_SGIS 0x81F1
+#define GL_EYE_DISTANCE_TO_LINE_SGIS 0x81F2
+#define GL_OBJECT_DISTANCE_TO_LINE_SGIS 0x81F3
+#define GL_EYE_POINT_SGIS 0x81F4
+#define GL_OBJECT_POINT_SGIS 0x81F5
+#define GL_EYE_LINE_SGIS 0x81F6
+#define GL_OBJECT_LINE_SGIS 0x81F7
+#endif
+
+#ifndef GL_SGIS_texture_color_mask
+#define GL_TEXTURE_COLOR_WRITEMASK_SGIS 0x81EF
+#endif
+
+#ifndef GL_EXT_texture_env_dot3
+#define GL_DOT3_RGB_EXT 0x8740
+#define GL_DOT3_RGBA_EXT 0x8741
+#endif
+
+#ifndef GL_ATI_texture_mirror_once
+#define GL_MIRROR_CLAMP_ATI 0x8742
+#define GL_MIRROR_CLAMP_TO_EDGE_ATI 0x8743
+#endif
+
+#ifndef GL_NV_fence
+#define GL_ALL_COMPLETED_NV 0x84F2
+#define GL_FENCE_STATUS_NV 0x84F3
+#define GL_FENCE_CONDITION_NV 0x84F4
+#endif
+
+#ifndef GL_IBM_texture_mirrored_repeat
+#define GL_MIRRORED_REPEAT_IBM 0x8370
+#endif
+
+#ifndef GL_NV_evaluators
+#define GL_EVAL_2D_NV 0x86C0
+#define GL_EVAL_TRIANGULAR_2D_NV 0x86C1
+#define GL_MAP_TESSELLATION_NV 0x86C2
+#define GL_MAP_ATTRIB_U_ORDER_NV 0x86C3
+#define GL_MAP_ATTRIB_V_ORDER_NV 0x86C4
+#define GL_EVAL_FRACTIONAL_TESSELLATION_NV 0x86C5
+#define GL_EVAL_VERTEX_ATTRIB0_NV 0x86C6
+#define GL_EVAL_VERTEX_ATTRIB1_NV 0x86C7
+#define GL_EVAL_VERTEX_ATTRIB2_NV 0x86C8
+#define GL_EVAL_VERTEX_ATTRIB3_NV 0x86C9
+#define GL_EVAL_VERTEX_ATTRIB4_NV 0x86CA
+#define GL_EVAL_VERTEX_ATTRIB5_NV 0x86CB
+#define GL_EVAL_VERTEX_ATTRIB6_NV 0x86CC
+#define GL_EVAL_VERTEX_ATTRIB7_NV 0x86CD
+#define GL_EVAL_VERTEX_ATTRIB8_NV 0x86CE
+#define GL_EVAL_VERTEX_ATTRIB9_NV 0x86CF
+#define GL_EVAL_VERTEX_ATTRIB10_NV 0x86D0
+#define GL_EVAL_VERTEX_ATTRIB11_NV 0x86D1
+#define GL_EVAL_VERTEX_ATTRIB12_NV 0x86D2
+#define GL_EVAL_VERTEX_ATTRIB13_NV 0x86D3
+#define GL_EVAL_VERTEX_ATTRIB14_NV 0x86D4
+#define GL_EVAL_VERTEX_ATTRIB15_NV 0x86D5
+#define GL_MAX_MAP_TESSELLATION_NV 0x86D6
+#define GL_MAX_RATIONAL_EVAL_ORDER_NV 0x86D7
+#endif
+
+#ifndef GL_NV_packed_depth_stencil
+#define GL_DEPTH_STENCIL_NV 0x84F9
+#define GL_UNSIGNED_INT_24_8_NV 0x84FA
+#endif
+
+#ifndef GL_NV_register_combiners2
+#define GL_PER_STAGE_CONSTANTS_NV 0x8535
+#endif
+
+#ifndef GL_NV_texture_compression_vtc
+#endif
+
+#ifndef GL_NV_texture_rectangle
+#define GL_TEXTURE_RECTANGLE_NV 0x84F5
+#define GL_TEXTURE_BINDING_RECTANGLE_NV 0x84F6
+#define GL_PROXY_TEXTURE_RECTANGLE_NV 0x84F7
+#define GL_MAX_RECTANGLE_TEXTURE_SIZE_NV 0x84F8
+#endif
+
+#ifndef GL_NV_texture_shader
+#define GL_OFFSET_TEXTURE_RECTANGLE_NV 0x864C
+#define GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV 0x864D
+#define GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV 0x864E
+#define GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV 0x86D9
+#define GL_UNSIGNED_INT_S8_S8_8_8_NV 0x86DA
+#define GL_UNSIGNED_INT_8_8_S8_S8_REV_NV 0x86DB
+#define GL_DSDT_MAG_INTENSITY_NV 0x86DC
+#define GL_SHADER_CONSISTENT_NV 0x86DD
+#define GL_TEXTURE_SHADER_NV 0x86DE
+#define GL_SHADER_OPERATION_NV 0x86DF
+#define GL_CULL_MODES_NV 0x86E0
+#define GL_OFFSET_TEXTURE_MATRIX_NV 0x86E1
+#define GL_OFFSET_TEXTURE_SCALE_NV 0x86E2
+#define GL_OFFSET_TEXTURE_BIAS_NV 0x86E3
+#define GL_OFFSET_TEXTURE_2D_MATRIX_NV GL_OFFSET_TEXTURE_MATRIX_NV
+#define GL_OFFSET_TEXTURE_2D_SCALE_NV GL_OFFSET_TEXTURE_SCALE_NV
+#define GL_OFFSET_TEXTURE_2D_BIAS_NV GL_OFFSET_TEXTURE_BIAS_NV
+#define GL_PREVIOUS_TEXTURE_INPUT_NV 0x86E4
+#define GL_CONST_EYE_NV 0x86E5
+#define GL_PASS_THROUGH_NV 0x86E6
+#define GL_CULL_FRAGMENT_NV 0x86E7
+#define GL_OFFSET_TEXTURE_2D_NV 0x86E8
+#define GL_DEPENDENT_AR_TEXTURE_2D_NV 0x86E9
+#define GL_DEPENDENT_GB_TEXTURE_2D_NV 0x86EA
+#define GL_DOT_PRODUCT_NV 0x86EC
+#define GL_DOT_PRODUCT_DEPTH_REPLACE_NV 0x86ED
+#define GL_DOT_PRODUCT_TEXTURE_2D_NV 0x86EE
+#define GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV 0x86F0
+#define GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV 0x86F1
+#define GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV 0x86F2
+#define GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV 0x86F3
+#define GL_HILO_NV 0x86F4
+#define GL_DSDT_NV 0x86F5
+#define GL_DSDT_MAG_NV 0x86F6
+#define GL_DSDT_MAG_VIB_NV 0x86F7
+#define GL_HILO16_NV 0x86F8
+#define GL_SIGNED_HILO_NV 0x86F9
+#define GL_SIGNED_HILO16_NV 0x86FA
+#define GL_SIGNED_RGBA_NV 0x86FB
+#define GL_SIGNED_RGBA8_NV 0x86FC
+#define GL_SIGNED_RGB_NV 0x86FE
+#define GL_SIGNED_RGB8_NV 0x86FF
+#define GL_SIGNED_LUMINANCE_NV 0x8701
+#define GL_SIGNED_LUMINANCE8_NV 0x8702
+#define GL_SIGNED_LUMINANCE_ALPHA_NV 0x8703
+#define GL_SIGNED_LUMINANCE8_ALPHA8_NV 0x8704
+#define GL_SIGNED_ALPHA_NV 0x8705
+#define GL_SIGNED_ALPHA8_NV 0x8706
+#define GL_SIGNED_INTENSITY_NV 0x8707
+#define GL_SIGNED_INTENSITY8_NV 0x8708
+#define GL_DSDT8_NV 0x8709
+#define GL_DSDT8_MAG8_NV 0x870A
+#define GL_DSDT8_MAG8_INTENSITY8_NV 0x870B
+#define GL_SIGNED_RGB_UNSIGNED_ALPHA_NV 0x870C
+#define GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV 0x870D
+#define GL_HI_SCALE_NV 0x870E
+#define GL_LO_SCALE_NV 0x870F
+#define GL_DS_SCALE_NV 0x8710
+#define GL_DT_SCALE_NV 0x8711
+#define GL_MAGNITUDE_SCALE_NV 0x8712
+#define GL_VIBRANCE_SCALE_NV 0x8713
+#define GL_HI_BIAS_NV 0x8714
+#define GL_LO_BIAS_NV 0x8715
+#define GL_DS_BIAS_NV 0x8716
+#define GL_DT_BIAS_NV 0x8717
+#define GL_MAGNITUDE_BIAS_NV 0x8718
+#define GL_VIBRANCE_BIAS_NV 0x8719
+#define GL_TEXTURE_BORDER_VALUES_NV 0x871A
+#define GL_TEXTURE_HI_SIZE_NV 0x871B
+#define GL_TEXTURE_LO_SIZE_NV 0x871C
+#define GL_TEXTURE_DS_SIZE_NV 0x871D
+#define GL_TEXTURE_DT_SIZE_NV 0x871E
+#define GL_TEXTURE_MAG_SIZE_NV 0x871F
+#endif
+
+#ifndef GL_NV_texture_shader2
+#define GL_DOT_PRODUCT_TEXTURE_3D_NV 0x86EF
+#endif
+
+#ifndef GL_NV_vertex_array_range2
+#define GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV 0x8533
+#endif
+
+#ifndef GL_NV_vertex_program
+#define GL_VERTEX_PROGRAM_NV 0x8620
+#define GL_VERTEX_STATE_PROGRAM_NV 0x8621
+#define GL_ATTRIB_ARRAY_SIZE_NV 0x8623
+#define GL_ATTRIB_ARRAY_STRIDE_NV 0x8624
+#define GL_ATTRIB_ARRAY_TYPE_NV 0x8625
+#define GL_CURRENT_ATTRIB_NV 0x8626
+#define GL_PROGRAM_LENGTH_NV 0x8627
+#define GL_PROGRAM_STRING_NV 0x8628
+#define GL_MODELVIEW_PROJECTION_NV 0x8629
+#define GL_IDENTITY_NV 0x862A
+#define GL_INVERSE_NV 0x862B
+#define GL_TRANSPOSE_NV 0x862C
+#define GL_INVERSE_TRANSPOSE_NV 0x862D
+#define GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV 0x862E
+#define GL_MAX_TRACK_MATRICES_NV 0x862F
+#define GL_MATRIX0_NV 0x8630
+#define GL_MATRIX1_NV 0x8631
+#define GL_MATRIX2_NV 0x8632
+#define GL_MATRIX3_NV 0x8633
+#define GL_MATRIX4_NV 0x8634
+#define GL_MATRIX5_NV 0x8635
+#define GL_MATRIX6_NV 0x8636
+#define GL_MATRIX7_NV 0x8637
+#define GL_CURRENT_MATRIX_STACK_DEPTH_NV 0x8640
+#define GL_CURRENT_MATRIX_NV 0x8641
+#define GL_VERTEX_PROGRAM_POINT_SIZE_NV 0x8642
+#define GL_VERTEX_PROGRAM_TWO_SIDE_NV 0x8643
+#define GL_PROGRAM_PARAMETER_NV 0x8644
+#define GL_ATTRIB_ARRAY_POINTER_NV 0x8645
+#define GL_PROGRAM_TARGET_NV 0x8646
+#define GL_PROGRAM_RESIDENT_NV 0x8647
+#define GL_TRACK_MATRIX_NV 0x8648
+#define GL_TRACK_MATRIX_TRANSFORM_NV 0x8649
+#define GL_VERTEX_PROGRAM_BINDING_NV 0x864A
+#define GL_PROGRAM_ERROR_POSITION_NV 0x864B
+#define GL_VERTEX_ATTRIB_ARRAY0_NV 0x8650
+#define GL_VERTEX_ATTRIB_ARRAY1_NV 0x8651
+#define GL_VERTEX_ATTRIB_ARRAY2_NV 0x8652
+#define GL_VERTEX_ATTRIB_ARRAY3_NV 0x8653
+#define GL_VERTEX_ATTRIB_ARRAY4_NV 0x8654
+#define GL_VERTEX_ATTRIB_ARRAY5_NV 0x8655
+#define GL_VERTEX_ATTRIB_ARRAY6_NV 0x8656
+#define GL_VERTEX_ATTRIB_ARRAY7_NV 0x8657
+#define GL_VERTEX_ATTRIB_ARRAY8_NV 0x8658
+#define GL_VERTEX_ATTRIB_ARRAY9_NV 0x8659
+#define GL_VERTEX_ATTRIB_ARRAY10_NV 0x865A
+#define GL_VERTEX_ATTRIB_ARRAY11_NV 0x865B
+#define GL_VERTEX_ATTRIB_ARRAY12_NV 0x865C
+#define GL_VERTEX_ATTRIB_ARRAY13_NV 0x865D
+#define GL_VERTEX_ATTRIB_ARRAY14_NV 0x865E
+#define GL_VERTEX_ATTRIB_ARRAY15_NV 0x865F
+#define GL_MAP1_VERTEX_ATTRIB0_4_NV 0x8660
+#define GL_MAP1_VERTEX_ATTRIB1_4_NV 0x8661
+#define GL_MAP1_VERTEX_ATTRIB2_4_NV 0x8662
+#define GL_MAP1_VERTEX_ATTRIB3_4_NV 0x8663
+#define GL_MAP1_VERTEX_ATTRIB4_4_NV 0x8664
+#define GL_MAP1_VERTEX_ATTRIB5_4_NV 0x8665
+#define GL_MAP1_VERTEX_ATTRIB6_4_NV 0x8666
+#define GL_MAP1_VERTEX_ATTRIB7_4_NV 0x8667
+#define GL_MAP1_VERTEX_ATTRIB8_4_NV 0x8668
+#define GL_MAP1_VERTEX_ATTRIB9_4_NV 0x8669
+#define GL_MAP1_VERTEX_ATTRIB10_4_NV 0x866A
+#define GL_MAP1_VERTEX_ATTRIB11_4_NV 0x866B
+#define GL_MAP1_VERTEX_ATTRIB12_4_NV 0x866C
+#define GL_MAP1_VERTEX_ATTRIB13_4_NV 0x866D
+#define GL_MAP1_VERTEX_ATTRIB14_4_NV 0x866E
+#define GL_MAP1_VERTEX_ATTRIB15_4_NV 0x866F
+#define GL_MAP2_VERTEX_ATTRIB0_4_NV 0x8670
+#define GL_MAP2_VERTEX_ATTRIB1_4_NV 0x8671
+#define GL_MAP2_VERTEX_ATTRIB2_4_NV 0x8672
+#define GL_MAP2_VERTEX_ATTRIB3_4_NV 0x8673
+#define GL_MAP2_VERTEX_ATTRIB4_4_NV 0x8674
+#define GL_MAP2_VERTEX_ATTRIB5_4_NV 0x8675
+#define GL_MAP2_VERTEX_ATTRIB6_4_NV 0x8676
+#define GL_MAP2_VERTEX_ATTRIB7_4_NV 0x8677
+#define GL_MAP2_VERTEX_ATTRIB8_4_NV 0x8678
+#define GL_MAP2_VERTEX_ATTRIB9_4_NV 0x8679
+#define GL_MAP2_VERTEX_ATTRIB10_4_NV 0x867A
+#define GL_MAP2_VERTEX_ATTRIB11_4_NV 0x867B
+#define GL_MAP2_VERTEX_ATTRIB12_4_NV 0x867C
+#define GL_MAP2_VERTEX_ATTRIB13_4_NV 0x867D
+#define GL_MAP2_VERTEX_ATTRIB14_4_NV 0x867E
+#define GL_MAP2_VERTEX_ATTRIB15_4_NV 0x867F
+#endif
+
+#ifndef GL_SGIX_texture_coordinate_clamp
+#define GL_TEXTURE_MAX_CLAMP_S_SGIX 0x8369
+#define GL_TEXTURE_MAX_CLAMP_T_SGIX 0x836A
+#define GL_TEXTURE_MAX_CLAMP_R_SGIX 0x836B
+#endif
+
+#ifndef GL_SGIX_scalebias_hint
+#define GL_SCALEBIAS_HINT_SGIX 0x8322
+#endif
+
+#ifndef GL_OML_interlace
+#define GL_INTERLACE_OML 0x8980
+#define GL_INTERLACE_READ_OML 0x8981
+#endif
+
+#ifndef GL_OML_subsample
+#define GL_FORMAT_SUBSAMPLE_24_24_OML 0x8982
+#define GL_FORMAT_SUBSAMPLE_244_244_OML 0x8983
+#endif
+
+#ifndef GL_OML_resample
+#define GL_PACK_RESAMPLE_OML 0x8984
+#define GL_UNPACK_RESAMPLE_OML 0x8985
+#define GL_RESAMPLE_REPLICATE_OML 0x8986
+#define GL_RESAMPLE_ZERO_FILL_OML 0x8987
+#define GL_RESAMPLE_AVERAGE_OML 0x8988
+#define GL_RESAMPLE_DECIMATE_OML 0x8989
+#endif
+
+#ifndef GL_NV_copy_depth_to_color
+#define GL_DEPTH_STENCIL_TO_RGBA_NV 0x886E
+#define GL_DEPTH_STENCIL_TO_BGRA_NV 0x886F
+#endif
+
+#ifndef GL_ATI_envmap_bumpmap
+#define GL_BUMP_ROT_MATRIX_ATI 0x8775
+#define GL_BUMP_ROT_MATRIX_SIZE_ATI 0x8776
+#define GL_BUMP_NUM_TEX_UNITS_ATI 0x8777
+#define GL_BUMP_TEX_UNITS_ATI 0x8778
+#define GL_DUDV_ATI 0x8779
+#define GL_DU8DV8_ATI 0x877A
+#define GL_BUMP_ENVMAP_ATI 0x877B
+#define GL_BUMP_TARGET_ATI 0x877C
+#endif
+
+#ifndef GL_ATI_fragment_shader
+#define GL_FRAGMENT_SHADER_ATI 0x8920
+#define GL_REG_0_ATI 0x8921
+#define GL_REG_1_ATI 0x8922
+#define GL_REG_2_ATI 0x8923
+#define GL_REG_3_ATI 0x8924
+#define GL_REG_4_ATI 0x8925
+#define GL_REG_5_ATI 0x8926
+#define GL_REG_6_ATI 0x8927
+#define GL_REG_7_ATI 0x8928
+#define GL_REG_8_ATI 0x8929
+#define GL_REG_9_ATI 0x892A
+#define GL_REG_10_ATI 0x892B
+#define GL_REG_11_ATI 0x892C
+#define GL_REG_12_ATI 0x892D
+#define GL_REG_13_ATI 0x892E
+#define GL_REG_14_ATI 0x892F
+#define GL_REG_15_ATI 0x8930
+#define GL_REG_16_ATI 0x8931
+#define GL_REG_17_ATI 0x8932
+#define GL_REG_18_ATI 0x8933
+#define GL_REG_19_ATI 0x8934
+#define GL_REG_20_ATI 0x8935
+#define GL_REG_21_ATI 0x8936
+#define GL_REG_22_ATI 0x8937
+#define GL_REG_23_ATI 0x8938
+#define GL_REG_24_ATI 0x8939
+#define GL_REG_25_ATI 0x893A
+#define GL_REG_26_ATI 0x893B
+#define GL_REG_27_ATI 0x893C
+#define GL_REG_28_ATI 0x893D
+#define GL_REG_29_ATI 0x893E
+#define GL_REG_30_ATI 0x893F
+#define GL_REG_31_ATI 0x8940
+#define GL_CON_0_ATI 0x8941
+#define GL_CON_1_ATI 0x8942
+#define GL_CON_2_ATI 0x8943
+#define GL_CON_3_ATI 0x8944
+#define GL_CON_4_ATI 0x8945
+#define GL_CON_5_ATI 0x8946
+#define GL_CON_6_ATI 0x8947
+#define GL_CON_7_ATI 0x8948
+#define GL_CON_8_ATI 0x8949
+#define GL_CON_9_ATI 0x894A
+#define GL_CON_10_ATI 0x894B
+#define GL_CON_11_ATI 0x894C
+#define GL_CON_12_ATI 0x894D
+#define GL_CON_13_ATI 0x894E
+#define GL_CON_14_ATI 0x894F
+#define GL_CON_15_ATI 0x8950
+#define GL_CON_16_ATI 0x8951
+#define GL_CON_17_ATI 0x8952
+#define GL_CON_18_ATI 0x8953
+#define GL_CON_19_ATI 0x8954
+#define GL_CON_20_ATI 0x8955
+#define GL_CON_21_ATI 0x8956
+#define GL_CON_22_ATI 0x8957
+#define GL_CON_23_ATI 0x8958
+#define GL_CON_24_ATI 0x8959
+#define GL_CON_25_ATI 0x895A
+#define GL_CON_26_ATI 0x895B
+#define GL_CON_27_ATI 0x895C
+#define GL_CON_28_ATI 0x895D
+#define GL_CON_29_ATI 0x895E
+#define GL_CON_30_ATI 0x895F
+#define GL_CON_31_ATI 0x8960
+#define GL_MOV_ATI 0x8961
+#define GL_ADD_ATI 0x8963
+#define GL_MUL_ATI 0x8964
+#define GL_SUB_ATI 0x8965
+#define GL_DOT3_ATI 0x8966
+#define GL_DOT4_ATI 0x8967
+#define GL_MAD_ATI 0x8968
+#define GL_LERP_ATI 0x8969
+#define GL_CND_ATI 0x896A
+#define GL_CND0_ATI 0x896B
+#define GL_DOT2_ADD_ATI 0x896C
+#define GL_SECONDARY_INTERPOLATOR_ATI 0x896D
+#define GL_NUM_FRAGMENT_REGISTERS_ATI 0x896E
+#define GL_NUM_FRAGMENT_CONSTANTS_ATI 0x896F
+#define GL_NUM_PASSES_ATI 0x8970
+#define GL_NUM_INSTRUCTIONS_PER_PASS_ATI 0x8971
+#define GL_NUM_INSTRUCTIONS_TOTAL_ATI 0x8972
+#define GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI 0x8973
+#define GL_NUM_LOOPBACK_COMPONENTS_ATI 0x8974
+#define GL_COLOR_ALPHA_PAIRING_ATI 0x8975
+#define GL_SWIZZLE_STR_ATI 0x8976
+#define GL_SWIZZLE_STQ_ATI 0x8977
+#define GL_SWIZZLE_STR_DR_ATI 0x8978
+#define GL_SWIZZLE_STQ_DQ_ATI 0x8979
+#define GL_SWIZZLE_STRQ_ATI 0x897A
+#define GL_SWIZZLE_STRQ_DQ_ATI 0x897B
+#define GL_RED_BIT_ATI 0x00000001
+#define GL_GREEN_BIT_ATI 0x00000002
+#define GL_BLUE_BIT_ATI 0x00000004
+#define GL_2X_BIT_ATI 0x00000001
+#define GL_4X_BIT_ATI 0x00000002
+#define GL_8X_BIT_ATI 0x00000004
+#define GL_HALF_BIT_ATI 0x00000008
+#define GL_QUARTER_BIT_ATI 0x00000010
+#define GL_EIGHTH_BIT_ATI 0x00000020
+#define GL_SATURATE_BIT_ATI 0x00000040
+#define GL_COMP_BIT_ATI 0x00000002
+#define GL_NEGATE_BIT_ATI 0x00000004
+#define GL_BIAS_BIT_ATI 0x00000008
+#endif
+
+#ifndef GL_ATI_pn_triangles
+#define GL_PN_TRIANGLES_ATI 0x87F0
+#define GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F1
+#define GL_PN_TRIANGLES_POINT_MODE_ATI 0x87F2
+#define GL_PN_TRIANGLES_NORMAL_MODE_ATI 0x87F3
+#define GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F4
+#define GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI 0x87F5
+#define GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI 0x87F6
+#define GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI 0x87F7
+#define GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI 0x87F8
+#endif
+
+#ifndef GL_ATI_vertex_array_object
+#define GL_STATIC_ATI 0x8760
+#define GL_DYNAMIC_ATI 0x8761
+#define GL_PRESERVE_ATI 0x8762
+#define GL_DISCARD_ATI 0x8763
+#define GL_OBJECT_BUFFER_SIZE_ATI 0x8764
+#define GL_OBJECT_BUFFER_USAGE_ATI 0x8765
+#define GL_ARRAY_OBJECT_BUFFER_ATI 0x8766
+#define GL_ARRAY_OBJECT_OFFSET_ATI 0x8767
+#endif
+
+#ifndef GL_EXT_vertex_shader
+#define GL_VERTEX_SHADER_EXT 0x8780
+#define GL_VERTEX_SHADER_BINDING_EXT 0x8781
+#define GL_OP_INDEX_EXT 0x8782
+#define GL_OP_NEGATE_EXT 0x8783
+#define GL_OP_DOT3_EXT 0x8784
+#define GL_OP_DOT4_EXT 0x8785
+#define GL_OP_MUL_EXT 0x8786
+#define GL_OP_ADD_EXT 0x8787
+#define GL_OP_MADD_EXT 0x8788
+#define GL_OP_FRAC_EXT 0x8789
+#define GL_OP_MAX_EXT 0x878A
+#define GL_OP_MIN_EXT 0x878B
+#define GL_OP_SET_GE_EXT 0x878C
+#define GL_OP_SET_LT_EXT 0x878D
+#define GL_OP_CLAMP_EXT 0x878E
+#define GL_OP_FLOOR_EXT 0x878F
+#define GL_OP_ROUND_EXT 0x8790
+#define GL_OP_EXP_BASE_2_EXT 0x8791
+#define GL_OP_LOG_BASE_2_EXT 0x8792
+#define GL_OP_POWER_EXT 0x8793
+#define GL_OP_RECIP_EXT 0x8794
+#define GL_OP_RECIP_SQRT_EXT 0x8795
+#define GL_OP_SUB_EXT 0x8796
+#define GL_OP_CROSS_PRODUCT_EXT 0x8797
+#define GL_OP_MULTIPLY_MATRIX_EXT 0x8798
+#define GL_OP_MOV_EXT 0x8799
+#define GL_OUTPUT_VERTEX_EXT 0x879A
+#define GL_OUTPUT_COLOR0_EXT 0x879B
+#define GL_OUTPUT_COLOR1_EXT 0x879C
+#define GL_OUTPUT_TEXTURE_COORD0_EXT 0x879D
+#define GL_OUTPUT_TEXTURE_COORD1_EXT 0x879E
+#define GL_OUTPUT_TEXTURE_COORD2_EXT 0x879F
+#define GL_OUTPUT_TEXTURE_COORD3_EXT 0x87A0
+#define GL_OUTPUT_TEXTURE_COORD4_EXT 0x87A1
+#define GL_OUTPUT_TEXTURE_COORD5_EXT 0x87A2
+#define GL_OUTPUT_TEXTURE_COORD6_EXT 0x87A3
+#define GL_OUTPUT_TEXTURE_COORD7_EXT 0x87A4
+#define GL_OUTPUT_TEXTURE_COORD8_EXT 0x87A5
+#define GL_OUTPUT_TEXTURE_COORD9_EXT 0x87A6
+#define GL_OUTPUT_TEXTURE_COORD10_EXT 0x87A7
+#define GL_OUTPUT_TEXTURE_COORD11_EXT 0x87A8
+#define GL_OUTPUT_TEXTURE_COORD12_EXT 0x87A9
+#define GL_OUTPUT_TEXTURE_COORD13_EXT 0x87AA
+#define GL_OUTPUT_TEXTURE_COORD14_EXT 0x87AB
+#define GL_OUTPUT_TEXTURE_COORD15_EXT 0x87AC
+#define GL_OUTPUT_TEXTURE_COORD16_EXT 0x87AD
+#define GL_OUTPUT_TEXTURE_COORD17_EXT 0x87AE
+#define GL_OUTPUT_TEXTURE_COORD18_EXT 0x87AF
+#define GL_OUTPUT_TEXTURE_COORD19_EXT 0x87B0
+#define GL_OUTPUT_TEXTURE_COORD20_EXT 0x87B1
+#define GL_OUTPUT_TEXTURE_COORD21_EXT 0x87B2
+#define GL_OUTPUT_TEXTURE_COORD22_EXT 0x87B3
+#define GL_OUTPUT_TEXTURE_COORD23_EXT 0x87B4
+#define GL_OUTPUT_TEXTURE_COORD24_EXT 0x87B5
+#define GL_OUTPUT_TEXTURE_COORD25_EXT 0x87B6
+#define GL_OUTPUT_TEXTURE_COORD26_EXT 0x87B7
+#define GL_OUTPUT_TEXTURE_COORD27_EXT 0x87B8
+#define GL_OUTPUT_TEXTURE_COORD28_EXT 0x87B9
+#define GL_OUTPUT_TEXTURE_COORD29_EXT 0x87BA
+#define GL_OUTPUT_TEXTURE_COORD30_EXT 0x87BB
+#define GL_OUTPUT_TEXTURE_COORD31_EXT 0x87BC
+#define GL_OUTPUT_FOG_EXT 0x87BD
+#define GL_SCALAR_EXT 0x87BE
+#define GL_VECTOR_EXT 0x87BF
+#define GL_MATRIX_EXT 0x87C0
+#define GL_VARIANT_EXT 0x87C1
+#define GL_INVARIANT_EXT 0x87C2
+#define GL_LOCAL_CONSTANT_EXT 0x87C3
+#define GL_LOCAL_EXT 0x87C4
+#define GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87C5
+#define GL_MAX_VERTEX_SHADER_VARIANTS_EXT 0x87C6
+#define GL_MAX_VERTEX_SHADER_INVARIANTS_EXT 0x87C7
+#define GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87C8
+#define GL_MAX_VERTEX_SHADER_LOCALS_EXT 0x87C9
+#define GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87CA
+#define GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT 0x87CB
+#define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87CC
+#define GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT 0x87CD
+#define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT 0x87CE
+#define GL_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87CF
+#define GL_VERTEX_SHADER_VARIANTS_EXT 0x87D0
+#define GL_VERTEX_SHADER_INVARIANTS_EXT 0x87D1
+#define GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87D2
+#define GL_VERTEX_SHADER_LOCALS_EXT 0x87D3
+#define GL_VERTEX_SHADER_OPTIMIZED_EXT 0x87D4
+#define GL_X_EXT 0x87D5
+#define GL_Y_EXT 0x87D6
+#define GL_Z_EXT 0x87D7
+#define GL_W_EXT 0x87D8
+#define GL_NEGATIVE_X_EXT 0x87D9
+#define GL_NEGATIVE_Y_EXT 0x87DA
+#define GL_NEGATIVE_Z_EXT 0x87DB
+#define GL_NEGATIVE_W_EXT 0x87DC
+#define GL_ZERO_EXT 0x87DD
+#define GL_ONE_EXT 0x87DE
+#define GL_NEGATIVE_ONE_EXT 0x87DF
+#define GL_NORMALIZED_RANGE_EXT 0x87E0
+#define GL_FULL_RANGE_EXT 0x87E1
+#define GL_CURRENT_VERTEX_EXT 0x87E2
+#define GL_MVP_MATRIX_EXT 0x87E3
+#define GL_VARIANT_VALUE_EXT 0x87E4
+#define GL_VARIANT_DATATYPE_EXT 0x87E5
+#define GL_VARIANT_ARRAY_STRIDE_EXT 0x87E6
+#define GL_VARIANT_ARRAY_TYPE_EXT 0x87E7
+#define GL_VARIANT_ARRAY_EXT 0x87E8
+#define GL_VARIANT_ARRAY_POINTER_EXT 0x87E9
+#define GL_INVARIANT_VALUE_EXT 0x87EA
+#define GL_INVARIANT_DATATYPE_EXT 0x87EB
+#define GL_LOCAL_CONSTANT_VALUE_EXT 0x87EC
+#define GL_LOCAL_CONSTANT_DATATYPE_EXT 0x87ED
+#endif
+
+#ifndef GL_ATI_vertex_streams
+#define GL_MAX_VERTEX_STREAMS_ATI 0x876B
+#define GL_VERTEX_STREAM0_ATI 0x876C
+#define GL_VERTEX_STREAM1_ATI 0x876D
+#define GL_VERTEX_STREAM2_ATI 0x876E
+#define GL_VERTEX_STREAM3_ATI 0x876F
+#define GL_VERTEX_STREAM4_ATI 0x8770
+#define GL_VERTEX_STREAM5_ATI 0x8771
+#define GL_VERTEX_STREAM6_ATI 0x8772
+#define GL_VERTEX_STREAM7_ATI 0x8773
+#define GL_VERTEX_SOURCE_ATI 0x8774
+#endif
+
+#ifndef GL_ATI_element_array
+#define GL_ELEMENT_ARRAY_ATI 0x8768
+#define GL_ELEMENT_ARRAY_TYPE_ATI 0x8769
+#define GL_ELEMENT_ARRAY_POINTER_ATI 0x876A
+#endif
+
+#ifndef GL_SUN_mesh_array
+#define GL_QUAD_MESH_SUN 0x8614
+#define GL_TRIANGLE_MESH_SUN 0x8615
+#endif
+
+#ifndef GL_SUN_slice_accum
+#define GL_SLICE_ACCUM_SUN 0x85CC
+#endif
+
+#ifndef GL_NV_multisample_filter_hint
+#define GL_MULTISAMPLE_FILTER_HINT_NV 0x8534
+#endif
+
+#ifndef GL_NV_depth_clamp
+#define GL_DEPTH_CLAMP_NV 0x864F
+#endif
+
+#ifndef GL_NV_occlusion_query
+#define GL_PIXEL_COUNTER_BITS_NV 0x8864
+#define GL_CURRENT_OCCLUSION_QUERY_ID_NV 0x8865
+#define GL_PIXEL_COUNT_NV 0x8866
+#define GL_PIXEL_COUNT_AVAILABLE_NV 0x8867
+#endif
+
+#ifndef GL_NV_point_sprite
+#define GL_POINT_SPRITE_NV 0x8861
+#define GL_COORD_REPLACE_NV 0x8862
+#define GL_POINT_SPRITE_R_MODE_NV 0x8863
+#endif
+
+#ifndef GL_NV_texture_shader3
+#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV 0x8850
+#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV 0x8851
+#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8852
+#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV 0x8853
+#define GL_OFFSET_HILO_TEXTURE_2D_NV 0x8854
+#define GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV 0x8855
+#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV 0x8856
+#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8857
+#define GL_DEPENDENT_HILO_TEXTURE_2D_NV 0x8858
+#define GL_DEPENDENT_RGB_TEXTURE_3D_NV 0x8859
+#define GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV 0x885A
+#define GL_DOT_PRODUCT_PASS_THROUGH_NV 0x885B
+#define GL_DOT_PRODUCT_TEXTURE_1D_NV 0x885C
+#define GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV 0x885D
+#define GL_HILO8_NV 0x885E
+#define GL_SIGNED_HILO8_NV 0x885F
+#define GL_FORCE_BLUE_TO_ONE_NV 0x8860
+#endif
+
+#ifndef GL_NV_vertex_program1_1
+#endif
+
+#ifndef GL_EXT_shadow_funcs
+#endif
+
+#ifndef GL_EXT_stencil_two_side
+#define GL_STENCIL_TEST_TWO_SIDE_EXT 0x8910
+#define GL_ACTIVE_STENCIL_FACE_EXT 0x8911
+#endif
+
+#ifndef GL_ATI_text_fragment_shader
+#define GL_TEXT_FRAGMENT_SHADER_ATI 0x8200
+#endif
+
+#ifndef GL_APPLE_client_storage
+#define GL_UNPACK_CLIENT_STORAGE_APPLE 0x85B2
+#endif
+
+#ifndef GL_APPLE_element_array
+#define GL_ELEMENT_ARRAY_APPLE 0x8A0C
+#define GL_ELEMENT_ARRAY_TYPE_APPLE 0x8A0D
+#define GL_ELEMENT_ARRAY_POINTER_APPLE 0x8A0E
+#endif
+
+#ifndef GL_APPLE_fence
+#define GL_DRAW_PIXELS_APPLE 0x8A0A
+#define GL_FENCE_APPLE 0x8A0B
+#endif
+
+#ifndef GL_APPLE_vertex_array_object
+#define GL_VERTEX_ARRAY_BINDING_APPLE 0x85B5
+#endif
+
+#ifndef GL_APPLE_vertex_array_range
+#define GL_VERTEX_ARRAY_RANGE_APPLE 0x851D
+#define GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE 0x851E
+#define GL_VERTEX_ARRAY_STORAGE_HINT_APPLE 0x851F
+#define GL_VERTEX_ARRAY_RANGE_POINTER_APPLE 0x8521
+#define GL_STORAGE_CLIENT_APPLE 0x85B4
+#define GL_STORAGE_CACHED_APPLE 0x85BE
+#define GL_STORAGE_SHARED_APPLE 0x85BF
+#endif
+
+#ifndef GL_APPLE_ycbcr_422
+#define GL_YCBCR_422_APPLE 0x85B9
+#define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA
+#define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB
+#endif
+
+#ifndef GL_S3_s3tc
+#define GL_RGB_S3TC 0x83A0
+#define GL_RGB4_S3TC 0x83A1
+#define GL_RGBA_S3TC 0x83A2
+#define GL_RGBA4_S3TC 0x83A3
+#define GL_RGBA_DXT5_S3TC 0x83A4
+#define GL_RGBA4_DXT5_S3TC 0x83A5
+#endif
+
+#ifndef GL_ATI_draw_buffers
+#define GL_MAX_DRAW_BUFFERS_ATI 0x8824
+#define GL_DRAW_BUFFER0_ATI 0x8825
+#define GL_DRAW_BUFFER1_ATI 0x8826
+#define GL_DRAW_BUFFER2_ATI 0x8827
+#define GL_DRAW_BUFFER3_ATI 0x8828
+#define GL_DRAW_BUFFER4_ATI 0x8829
+#define GL_DRAW_BUFFER5_ATI 0x882A
+#define GL_DRAW_BUFFER6_ATI 0x882B
+#define GL_DRAW_BUFFER7_ATI 0x882C
+#define GL_DRAW_BUFFER8_ATI 0x882D
+#define GL_DRAW_BUFFER9_ATI 0x882E
+#define GL_DRAW_BUFFER10_ATI 0x882F
+#define GL_DRAW_BUFFER11_ATI 0x8830
+#define GL_DRAW_BUFFER12_ATI 0x8831
+#define GL_DRAW_BUFFER13_ATI 0x8832
+#define GL_DRAW_BUFFER14_ATI 0x8833
+#define GL_DRAW_BUFFER15_ATI 0x8834
+#endif
+
+#ifndef GL_ATI_pixel_format_float
+#define GL_RGBA_FLOAT_MODE_ATI 0x8820
+#define GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI 0x8835
+#endif
+
+#ifndef GL_ATI_texture_env_combine3
+#define GL_MODULATE_ADD_ATI 0x8744
+#define GL_MODULATE_SIGNED_ADD_ATI 0x8745
+#define GL_MODULATE_SUBTRACT_ATI 0x8746
+#endif
+
+#ifndef GL_ATI_texture_float
+#define GL_RGBA_FLOAT32_ATI 0x8814
+#define GL_RGB_FLOAT32_ATI 0x8815
+#define GL_ALPHA_FLOAT32_ATI 0x8816
+#define GL_INTENSITY_FLOAT32_ATI 0x8817
+#define GL_LUMINANCE_FLOAT32_ATI 0x8818
+#define GL_LUMINANCE_ALPHA_FLOAT32_ATI 0x8819
+#define GL_RGBA_FLOAT16_ATI 0x881A
+#define GL_RGB_FLOAT16_ATI 0x881B
+#define GL_ALPHA_FLOAT16_ATI 0x881C
+#define GL_INTENSITY_FLOAT16_ATI 0x881D
+#define GL_LUMINANCE_FLOAT16_ATI 0x881E
+#define GL_LUMINANCE_ALPHA_FLOAT16_ATI 0x881F
+#endif
+
+#ifndef GL_NV_float_buffer
+#define GL_FLOAT_R_NV 0x8880
+#define GL_FLOAT_RG_NV 0x8881
+#define GL_FLOAT_RGB_NV 0x8882
+#define GL_FLOAT_RGBA_NV 0x8883
+#define GL_FLOAT_R16_NV 0x8884
+#define GL_FLOAT_R32_NV 0x8885
+#define GL_FLOAT_RG16_NV 0x8886
+#define GL_FLOAT_RG32_NV 0x8887
+#define GL_FLOAT_RGB16_NV 0x8888
+#define GL_FLOAT_RGB32_NV 0x8889
+#define GL_FLOAT_RGBA16_NV 0x888A
+#define GL_FLOAT_RGBA32_NV 0x888B
+#define GL_TEXTURE_FLOAT_COMPONENTS_NV 0x888C
+#define GL_FLOAT_CLEAR_COLOR_VALUE_NV 0x888D
+#define GL_FLOAT_RGBA_MODE_NV 0x888E
+#endif
+
+#ifndef GL_NV_fragment_program
+#define GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV 0x8868
+#define GL_FRAGMENT_PROGRAM_NV 0x8870
+#define GL_MAX_TEXTURE_COORDS_NV 0x8871
+#define GL_MAX_TEXTURE_IMAGE_UNITS_NV 0x8872
+#define GL_FRAGMENT_PROGRAM_BINDING_NV 0x8873
+#define GL_PROGRAM_ERROR_STRING_NV 0x8874
+#endif
+
+#ifndef GL_NV_half_float
+#define GL_HALF_FLOAT_NV 0x140B
+#endif
+
+#ifndef GL_NV_pixel_data_range
+#define GL_WRITE_PIXEL_DATA_RANGE_NV 0x8878
+#define GL_READ_PIXEL_DATA_RANGE_NV 0x8879
+#define GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV 0x887A
+#define GL_READ_PIXEL_DATA_RANGE_LENGTH_NV 0x887B
+#define GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV 0x887C
+#define GL_READ_PIXEL_DATA_RANGE_POINTER_NV 0x887D
+#endif
+
+#ifndef GL_NV_primitive_restart
+#define GL_PRIMITIVE_RESTART_NV 0x8558
+#define GL_PRIMITIVE_RESTART_INDEX_NV 0x8559
+#endif
+
+#ifndef GL_NV_texture_expand_normal
+#define GL_TEXTURE_UNSIGNED_REMAP_MODE_NV 0x888F
+#endif
+
+#ifndef GL_NV_vertex_program2
+#endif
+
+#ifndef GL_ATI_map_object_buffer
+#endif
+
+#ifndef GL_ATI_separate_stencil
+#define GL_STENCIL_BACK_FUNC_ATI 0x8800
+#define GL_STENCIL_BACK_FAIL_ATI 0x8801
+#define GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI 0x8802
+#define GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI 0x8803
+#endif
+
+#ifndef GL_ATI_vertex_attrib_array_object
+#endif
+
+#ifndef GL_OES_read_format
+#define GL_IMPLEMENTATION_COLOR_READ_TYPE_OES 0x8B9A
+#define GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES 0x8B9B
+#endif
+
+#ifndef GL_EXT_depth_bounds_test
+#define GL_DEPTH_BOUNDS_TEST_EXT 0x8890
+#define GL_DEPTH_BOUNDS_EXT 0x8891
+#endif
+
+#ifndef GL_EXT_texture_mirror_clamp
+#define GL_MIRROR_CLAMP_EXT 0x8742
+#define GL_MIRROR_CLAMP_TO_EDGE_EXT 0x8743
+#define GL_MIRROR_CLAMP_TO_BORDER_EXT 0x8912
+#endif
+
+#ifndef GL_EXT_blend_equation_separate
+#define GL_BLEND_EQUATION_RGB_EXT 0x8009
+#define GL_BLEND_EQUATION_ALPHA_EXT 0x883D
+#endif
+
+#ifndef GL_MESA_pack_invert
+#define GL_PACK_INVERT_MESA 0x8758
+#endif
+
+#ifndef GL_MESA_ycbcr_texture
+#define GL_UNSIGNED_SHORT_8_8_MESA 0x85BA
+#define GL_UNSIGNED_SHORT_8_8_REV_MESA 0x85BB
+#define GL_YCBCR_MESA 0x8757
+#endif
+
+#ifndef GL_EXT_pixel_buffer_object
+#define GL_PIXEL_PACK_BUFFER_EXT 0x88EB
+#define GL_PIXEL_UNPACK_BUFFER_EXT 0x88EC
+#define GL_PIXEL_PACK_BUFFER_BINDING_EXT 0x88ED
+#define GL_PIXEL_UNPACK_BUFFER_BINDING_EXT 0x88EF
+#endif
+
+#ifndef GL_NV_fragment_program_option
+#endif
+
+#ifndef GL_NV_fragment_program2
+#define GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV 0x88F4
+#define GL_MAX_PROGRAM_CALL_DEPTH_NV 0x88F5
+#define GL_MAX_PROGRAM_IF_DEPTH_NV 0x88F6
+#define GL_MAX_PROGRAM_LOOP_DEPTH_NV 0x88F7
+#define GL_MAX_PROGRAM_LOOP_COUNT_NV 0x88F8
+#endif
+
+#ifndef GL_NV_vertex_program2_option
+/* reuse GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */
+/* reuse GL_MAX_PROGRAM_CALL_DEPTH_NV */
+#endif
+
+#ifndef GL_NV_vertex_program3
+/* reuse GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB */
+#endif
+
+#ifndef GL_EXT_framebuffer_object
+#define GL_INVALID_FRAMEBUFFER_OPERATION_EXT 0x0506
+#define GL_MAX_RENDERBUFFER_SIZE_EXT 0x84E8
+#define GL_FRAMEBUFFER_BINDING_EXT 0x8CA6
+#define GL_RENDERBUFFER_BINDING_EXT 0x8CA7
+#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT 0x8CD0
+#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT 0x8CD1
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT 0x8CD2
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT 0x8CD3
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT 0x8CD4
+#define GL_FRAMEBUFFER_COMPLETE_EXT 0x8CD5
+#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT 0x8CD6
+#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT 0x8CD7
+#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT 0x8CD9
+#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT 0x8CDA
+#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT 0x8CDB
+#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT 0x8CDC
+#define GL_FRAMEBUFFER_UNSUPPORTED_EXT 0x8CDD
+#define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF
+#define GL_COLOR_ATTACHMENT0_EXT 0x8CE0
+#define GL_COLOR_ATTACHMENT1_EXT 0x8CE1
+#define GL_COLOR_ATTACHMENT2_EXT 0x8CE2
+#define GL_COLOR_ATTACHMENT3_EXT 0x8CE3
+#define GL_COLOR_ATTACHMENT4_EXT 0x8CE4
+#define GL_COLOR_ATTACHMENT5_EXT 0x8CE5
+#define GL_COLOR_ATTACHMENT6_EXT 0x8CE6
+#define GL_COLOR_ATTACHMENT7_EXT 0x8CE7
+#define GL_COLOR_ATTACHMENT8_EXT 0x8CE8
+#define GL_COLOR_ATTACHMENT9_EXT 0x8CE9
+#define GL_COLOR_ATTACHMENT10_EXT 0x8CEA
+#define GL_COLOR_ATTACHMENT11_EXT 0x8CEB
+#define GL_COLOR_ATTACHMENT12_EXT 0x8CEC
+#define GL_COLOR_ATTACHMENT13_EXT 0x8CED
+#define GL_COLOR_ATTACHMENT14_EXT 0x8CEE
+#define GL_COLOR_ATTACHMENT15_EXT 0x8CEF
+#define GL_DEPTH_ATTACHMENT_EXT 0x8D00
+#define GL_STENCIL_ATTACHMENT_EXT 0x8D20
+#define GL_FRAMEBUFFER_EXT 0x8D40
+#define GL_RENDERBUFFER_EXT 0x8D41
+#define GL_RENDERBUFFER_WIDTH_EXT 0x8D42
+#define GL_RENDERBUFFER_HEIGHT_EXT 0x8D43
+#define GL_RENDERBUFFER_INTERNAL_FORMAT_EXT 0x8D44
+#define GL_STENCIL_INDEX1_EXT 0x8D46
+#define GL_STENCIL_INDEX4_EXT 0x8D47
+#define GL_STENCIL_INDEX8_EXT 0x8D48
+#define GL_STENCIL_INDEX16_EXT 0x8D49
+#define GL_RENDERBUFFER_RED_SIZE_EXT 0x8D50
+#define GL_RENDERBUFFER_GREEN_SIZE_EXT 0x8D51
+#define GL_RENDERBUFFER_BLUE_SIZE_EXT 0x8D52
+#define GL_RENDERBUFFER_ALPHA_SIZE_EXT 0x8D53
+#define GL_RENDERBUFFER_DEPTH_SIZE_EXT 0x8D54
+#define GL_RENDERBUFFER_STENCIL_SIZE_EXT 0x8D55
+#endif
+
+#ifndef GL_GREMEDY_string_marker
+#endif
+
+#ifndef GL_EXT_packed_depth_stencil
+#define GL_DEPTH_STENCIL_EXT 0x84F9
+#define GL_UNSIGNED_INT_24_8_EXT 0x84FA
+#define GL_DEPTH24_STENCIL8_EXT 0x88F0
+#define GL_TEXTURE_STENCIL_SIZE_EXT 0x88F1
+#endif
+
+#ifndef GL_EXT_stencil_clear_tag
+#define GL_STENCIL_TAG_BITS_EXT 0x88F2
+#define GL_STENCIL_CLEAR_TAG_VALUE_EXT 0x88F3
+#endif
+
+#ifndef GL_EXT_texture_sRGB
+#define GL_SRGB_EXT 0x8C40
+#define GL_SRGB8_EXT 0x8C41
+#define GL_SRGB_ALPHA_EXT 0x8C42
+#define GL_SRGB8_ALPHA8_EXT 0x8C43
+#define GL_SLUMINANCE_ALPHA_EXT 0x8C44
+#define GL_SLUMINANCE8_ALPHA8_EXT 0x8C45
+#define GL_SLUMINANCE_EXT 0x8C46
+#define GL_SLUMINANCE8_EXT 0x8C47
+#define GL_COMPRESSED_SRGB_EXT 0x8C48
+#define GL_COMPRESSED_SRGB_ALPHA_EXT 0x8C49
+#define GL_COMPRESSED_SLUMINANCE_EXT 0x8C4A
+#define GL_COMPRESSED_SLUMINANCE_ALPHA_EXT 0x8C4B
+#define GL_COMPRESSED_SRGB_S3TC_DXT1_EXT 0x8C4C
+#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT 0x8C4D
+#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT 0x8C4E
+#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT 0x8C4F
+#endif
+
+#ifndef GL_EXT_framebuffer_blit
+#define GL_READ_FRAMEBUFFER_EXT 0x8CA8
+#define GL_DRAW_FRAMEBUFFER_EXT 0x8CA9
+#define GL_DRAW_FRAMEBUFFER_BINDING_EXT GL_FRAMEBUFFER_BINDING_EXT
+#define GL_READ_FRAMEBUFFER_BINDING_EXT 0x8CAA
+#endif
+
+#ifndef GL_EXT_framebuffer_multisample
+#define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB
+#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56
+#define GL_MAX_SAMPLES_EXT 0x8D57
+#endif
+
+#ifndef GL_MESAX_texture_stack
+#define GL_TEXTURE_1D_STACK_MESAX 0x8759
+#define GL_TEXTURE_2D_STACK_MESAX 0x875A
+#define GL_PROXY_TEXTURE_1D_STACK_MESAX 0x875B
+#define GL_PROXY_TEXTURE_2D_STACK_MESAX 0x875C
+#define GL_TEXTURE_1D_STACK_BINDING_MESAX 0x875D
+#define GL_TEXTURE_2D_STACK_BINDING_MESAX 0x875E
+#endif
+
+#ifndef GL_EXT_timer_query
+#define GL_TIME_ELAPSED_EXT 0x88BF
+#endif
+
+#ifndef GL_EXT_gpu_program_parameters
+#endif
+
+#ifndef GL_APPLE_flush_buffer_range
+#define GL_BUFFER_SERIALIZED_MODIFY_APPLE 0x8A12
+#define GL_BUFFER_FLUSHING_UNMAP_APPLE 0x8A13
+#endif
+
+#ifndef GL_NV_gpu_program4
+#define GL_MIN_PROGRAM_TEXEL_OFFSET_NV 0x8904
+#define GL_MAX_PROGRAM_TEXEL_OFFSET_NV 0x8905
+#define GL_PROGRAM_ATTRIB_COMPONENTS_NV 0x8906
+#define GL_PROGRAM_RESULT_COMPONENTS_NV 0x8907
+#define GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV 0x8908
+#define GL_MAX_PROGRAM_RESULT_COMPONENTS_NV 0x8909
+#define GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV 0x8DA5
+#define GL_MAX_PROGRAM_GENERIC_RESULTS_NV 0x8DA6
+#endif
+
+#ifndef GL_NV_geometry_program4
+#define GL_LINES_ADJACENCY_EXT 0x000A
+#define GL_LINE_STRIP_ADJACENCY_EXT 0x000B
+#define GL_TRIANGLES_ADJACENCY_EXT 0x000C
+#define GL_TRIANGLE_STRIP_ADJACENCY_EXT 0x000D
+#define GL_GEOMETRY_PROGRAM_NV 0x8C26
+#define GL_MAX_PROGRAM_OUTPUT_VERTICES_NV 0x8C27
+#define GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV 0x8C28
+#define GL_GEOMETRY_VERTICES_OUT_EXT 0x8DDA
+#define GL_GEOMETRY_INPUT_TYPE_EXT 0x8DDB
+#define GL_GEOMETRY_OUTPUT_TYPE_EXT 0x8DDC
+#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT 0x8C29
+#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT 0x8DA7
+#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT 0x8DA8
+#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT 0x8DA9
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT 0x8CD4
+#define GL_PROGRAM_POINT_SIZE_EXT 0x8642
+#endif
+
+#ifndef GL_EXT_geometry_shader4
+#define GL_GEOMETRY_SHADER_EXT 0x8DD9
+/* reuse GL_GEOMETRY_VERTICES_OUT_EXT */
+/* reuse GL_GEOMETRY_INPUT_TYPE_EXT */
+/* reuse GL_GEOMETRY_OUTPUT_TYPE_EXT */
+/* reuse GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT */
+#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT 0x8DDD
+#define GL_MAX_VERTEX_VARYING_COMPONENTS_EXT 0x8DDE
+#define GL_MAX_VARYING_COMPONENTS_EXT 0x8B4B
+#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT 0x8DDF
+#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT 0x8DE0
+#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT 0x8DE1
+/* reuse GL_LINES_ADJACENCY_EXT */
+/* reuse GL_LINE_STRIP_ADJACENCY_EXT */
+/* reuse GL_TRIANGLES_ADJACENCY_EXT */
+/* reuse GL_TRIANGLE_STRIP_ADJACENCY_EXT */
+/* reuse GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT */
+/* reuse GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT */
+/* reuse GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT */
+/* reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT */
+/* reuse GL_PROGRAM_POINT_SIZE_EXT */
+#endif
+
+#ifndef GL_NV_vertex_program4
+#define GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV 0x88FD
+#endif
+
+#ifndef GL_EXT_gpu_shader4
+#define GL_SAMPLER_1D_ARRAY_EXT 0x8DC0
+#define GL_SAMPLER_2D_ARRAY_EXT 0x8DC1
+#define GL_SAMPLER_BUFFER_EXT 0x8DC2
+#define GL_SAMPLER_1D_ARRAY_SHADOW_EXT 0x8DC3
+#define GL_SAMPLER_2D_ARRAY_SHADOW_EXT 0x8DC4
+#define GL_SAMPLER_CUBE_SHADOW_EXT 0x8DC5
+#define GL_UNSIGNED_INT_VEC2_EXT 0x8DC6
+#define GL_UNSIGNED_INT_VEC3_EXT 0x8DC7
+#define GL_UNSIGNED_INT_VEC4_EXT 0x8DC8
+#define GL_INT_SAMPLER_1D_EXT 0x8DC9
+#define GL_INT_SAMPLER_2D_EXT 0x8DCA
+#define GL_INT_SAMPLER_3D_EXT 0x8DCB
+#define GL_INT_SAMPLER_CUBE_EXT 0x8DCC
+#define GL_INT_SAMPLER_2D_RECT_EXT 0x8DCD
+#define GL_INT_SAMPLER_1D_ARRAY_EXT 0x8DCE
+#define GL_INT_SAMPLER_2D_ARRAY_EXT 0x8DCF
+#define GL_INT_SAMPLER_BUFFER_EXT 0x8DD0
+#define GL_UNSIGNED_INT_SAMPLER_1D_EXT 0x8DD1
+#define GL_UNSIGNED_INT_SAMPLER_2D_EXT 0x8DD2
+#define GL_UNSIGNED_INT_SAMPLER_3D_EXT 0x8DD3
+#define GL_UNSIGNED_INT_SAMPLER_CUBE_EXT 0x8DD4
+#define GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT 0x8DD5
+#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT 0x8DD6
+#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT 0x8DD7
+#define GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT 0x8DD8
+#endif
+
+#ifndef GL_EXT_draw_instanced
+#endif
+
+#ifndef GL_EXT_packed_float
+#define GL_R11F_G11F_B10F_EXT 0x8C3A
+#define GL_UNSIGNED_INT_10F_11F_11F_REV_EXT 0x8C3B
+#define GL_RGBA_SIGNED_COMPONENTS_EXT 0x8C3C
+#endif
+
+#ifndef GL_EXT_texture_array
+#define GL_TEXTURE_1D_ARRAY_EXT 0x8C18
+#define GL_PROXY_TEXTURE_1D_ARRAY_EXT 0x8C19
+#define GL_TEXTURE_2D_ARRAY_EXT 0x8C1A
+#define GL_PROXY_TEXTURE_2D_ARRAY_EXT 0x8C1B
+#define GL_TEXTURE_BINDING_1D_ARRAY_EXT 0x8C1C
+#define GL_TEXTURE_BINDING_2D_ARRAY_EXT 0x8C1D
+#define GL_MAX_ARRAY_TEXTURE_LAYERS_EXT 0x88FF
+#define GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT 0x884E
+/* reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT */
+#endif
+
+#ifndef GL_EXT_texture_buffer_object
+#define GL_TEXTURE_BUFFER_EXT 0x8C2A
+#define GL_MAX_TEXTURE_BUFFER_SIZE_EXT 0x8C2B
+#define GL_TEXTURE_BINDING_BUFFER_EXT 0x8C2C
+#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT 0x8C2D
+#define GL_TEXTURE_BUFFER_FORMAT_EXT 0x8C2E
+#endif
+
+#ifndef GL_EXT_texture_compression_latc
+#define GL_COMPRESSED_LUMINANCE_LATC1_EXT 0x8C70
+#define GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT 0x8C71
+#define GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT 0x8C72
+#define GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT 0x8C73
+#endif
+
+#ifndef GL_EXT_texture_compression_rgtc
+#define GL_COMPRESSED_RED_RGTC1_EXT 0x8DBB
+#define GL_COMPRESSED_SIGNED_RED_RGTC1_EXT 0x8DBC
+#define GL_COMPRESSED_RED_GREEN_RGTC2_EXT 0x8DBD
+#define GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT 0x8DBE
+#endif
+
+#ifndef GL_EXT_texture_shared_exponent
+#define GL_RGB9_E5_EXT 0x8C3D
+#define GL_UNSIGNED_INT_5_9_9_9_REV_EXT 0x8C3E
+#define GL_TEXTURE_SHARED_SIZE_EXT 0x8C3F
+#endif
+
+#ifndef GL_NV_depth_buffer_float
+#define GL_DEPTH_COMPONENT32F_NV 0x8DAB
+#define GL_DEPTH32F_STENCIL8_NV 0x8DAC
+#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV 0x8DAD
+#define GL_DEPTH_BUFFER_FLOAT_MODE_NV 0x8DAF
+#endif
+
+#ifndef GL_NV_fragment_program4
+#endif
+
+#ifndef GL_NV_framebuffer_multisample_coverage
+#define GL_RENDERBUFFER_COVERAGE_SAMPLES_NV 0x8CAB
+#define GL_RENDERBUFFER_COLOR_SAMPLES_NV 0x8E10
+#define GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV 0x8E11
+#define GL_MULTISAMPLE_COVERAGE_MODES_NV 0x8E12
+#endif
+
+#ifndef GL_EXT_framebuffer_sRGB
+#define GL_FRAMEBUFFER_SRGB_EXT 0x8DB9
+#define GL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x8DBA
+#endif
+
+#ifndef GL_NV_geometry_shader4
+#endif
+
+#ifndef GL_NV_parameter_buffer_object
+#define GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV 0x8DA0
+#define GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV 0x8DA1
+#define GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV 0x8DA2
+#define GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV 0x8DA3
+#define GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV 0x8DA4
+#endif
+
+#ifndef GL_EXT_draw_buffers2
+#endif
+
+#ifndef GL_NV_transform_feedback
+#define GL_BACK_PRIMARY_COLOR_NV 0x8C77
+#define GL_BACK_SECONDARY_COLOR_NV 0x8C78
+#define GL_TEXTURE_COORD_NV 0x8C79
+#define GL_CLIP_DISTANCE_NV 0x8C7A
+#define GL_VERTEX_ID_NV 0x8C7B
+#define GL_PRIMITIVE_ID_NV 0x8C7C
+#define GL_GENERIC_ATTRIB_NV 0x8C7D
+#define GL_TRANSFORM_FEEDBACK_ATTRIBS_NV 0x8C7E
+#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV 0x8C7F
+#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV 0x8C80
+#define GL_ACTIVE_VARYINGS_NV 0x8C81
+#define GL_ACTIVE_VARYING_MAX_LENGTH_NV 0x8C82
+#define GL_TRANSFORM_FEEDBACK_VARYINGS_NV 0x8C83
+#define GL_TRANSFORM_FEEDBACK_BUFFER_START_NV 0x8C84
+#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV 0x8C85
+#define GL_TRANSFORM_FEEDBACK_RECORD_NV 0x8C86
+#define GL_PRIMITIVES_GENERATED_NV 0x8C87
+#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV 0x8C88
+#define GL_RASTERIZER_DISCARD_NV 0x8C89
+#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV 0x8C8A
+#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV 0x8C8B
+#define GL_INTERLEAVED_ATTRIBS_NV 0x8C8C
+#define GL_SEPARATE_ATTRIBS_NV 0x8C8D
+#define GL_TRANSFORM_FEEDBACK_BUFFER_NV 0x8C8E
+#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV 0x8C8F
+#define GL_LAYER_NV 0x8DAA
+#define GL_NEXT_BUFFER_NV -2
+#define GL_SKIP_COMPONENTS4_NV -3
+#define GL_SKIP_COMPONENTS3_NV -4
+#define GL_SKIP_COMPONENTS2_NV -5
+#define GL_SKIP_COMPONENTS1_NV -6
+#endif
+
+#ifndef GL_EXT_bindable_uniform
+#define GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT 0x8DE2
+#define GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT 0x8DE3
+#define GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT 0x8DE4
+#define GL_MAX_BINDABLE_UNIFORM_SIZE_EXT 0x8DED
+#define GL_UNIFORM_BUFFER_EXT 0x8DEE
+#define GL_UNIFORM_BUFFER_BINDING_EXT 0x8DEF
+#endif
+
+#ifndef GL_EXT_texture_integer
+#define GL_RGBA32UI_EXT 0x8D70
+#define GL_RGB32UI_EXT 0x8D71
+#define GL_ALPHA32UI_EXT 0x8D72
+#define GL_INTENSITY32UI_EXT 0x8D73
+#define GL_LUMINANCE32UI_EXT 0x8D74
+#define GL_LUMINANCE_ALPHA32UI_EXT 0x8D75
+#define GL_RGBA16UI_EXT 0x8D76
+#define GL_RGB16UI_EXT 0x8D77
+#define GL_ALPHA16UI_EXT 0x8D78
+#define GL_INTENSITY16UI_EXT 0x8D79
+#define GL_LUMINANCE16UI_EXT 0x8D7A
+#define GL_LUMINANCE_ALPHA16UI_EXT 0x8D7B
+#define GL_RGBA8UI_EXT 0x8D7C
+#define GL_RGB8UI_EXT 0x8D7D
+#define GL_ALPHA8UI_EXT 0x8D7E
+#define GL_INTENSITY8UI_EXT 0x8D7F
+#define GL_LUMINANCE8UI_EXT 0x8D80
+#define GL_LUMINANCE_ALPHA8UI_EXT 0x8D81
+#define GL_RGBA32I_EXT 0x8D82
+#define GL_RGB32I_EXT 0x8D83
+#define GL_ALPHA32I_EXT 0x8D84
+#define GL_INTENSITY32I_EXT 0x8D85
+#define GL_LUMINANCE32I_EXT 0x8D86
+#define GL_LUMINANCE_ALPHA32I_EXT 0x8D87
+#define GL_RGBA16I_EXT 0x8D88
+#define GL_RGB16I_EXT 0x8D89
+#define GL_ALPHA16I_EXT 0x8D8A
+#define GL_INTENSITY16I_EXT 0x8D8B
+#define GL_LUMINANCE16I_EXT 0x8D8C
+#define GL_LUMINANCE_ALPHA16I_EXT 0x8D8D
+#define GL_RGBA8I_EXT 0x8D8E
+#define GL_RGB8I_EXT 0x8D8F
+#define GL_ALPHA8I_EXT 0x8D90
+#define GL_INTENSITY8I_EXT 0x8D91
+#define GL_LUMINANCE8I_EXT 0x8D92
+#define GL_LUMINANCE_ALPHA8I_EXT 0x8D93
+#define GL_RED_INTEGER_EXT 0x8D94
+#define GL_GREEN_INTEGER_EXT 0x8D95
+#define GL_BLUE_INTEGER_EXT 0x8D96
+#define GL_ALPHA_INTEGER_EXT 0x8D97
+#define GL_RGB_INTEGER_EXT 0x8D98
+#define GL_RGBA_INTEGER_EXT 0x8D99
+#define GL_BGR_INTEGER_EXT 0x8D9A
+#define GL_BGRA_INTEGER_EXT 0x8D9B
+#define GL_LUMINANCE_INTEGER_EXT 0x8D9C
+#define GL_LUMINANCE_ALPHA_INTEGER_EXT 0x8D9D
+#define GL_RGBA_INTEGER_MODE_EXT 0x8D9E
+#endif
+
+#ifndef GL_GREMEDY_frame_terminator
+#endif
+
+#ifndef GL_NV_conditional_render
+#define GL_QUERY_WAIT_NV 0x8E13
+#define GL_QUERY_NO_WAIT_NV 0x8E14
+#define GL_QUERY_BY_REGION_WAIT_NV 0x8E15
+#define GL_QUERY_BY_REGION_NO_WAIT_NV 0x8E16
+#endif
+
+#ifndef GL_NV_present_video
+#define GL_FRAME_NV 0x8E26
+#define GL_FIELDS_NV 0x8E27
+#define GL_CURRENT_TIME_NV 0x8E28
+#define GL_NUM_FILL_STREAMS_NV 0x8E29
+#define GL_PRESENT_TIME_NV 0x8E2A
+#define GL_PRESENT_DURATION_NV 0x8E2B
+#endif
+
+#ifndef GL_EXT_transform_feedback
+#define GL_TRANSFORM_FEEDBACK_BUFFER_EXT 0x8C8E
+#define GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT 0x8C84
+#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT 0x8C85
+#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT 0x8C8F
+#define GL_INTERLEAVED_ATTRIBS_EXT 0x8C8C
+#define GL_SEPARATE_ATTRIBS_EXT 0x8C8D
+#define GL_PRIMITIVES_GENERATED_EXT 0x8C87
+#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT 0x8C88
+#define GL_RASTERIZER_DISCARD_EXT 0x8C89
+#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT 0x8C8A
+#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT 0x8C8B
+#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT 0x8C80
+#define GL_TRANSFORM_FEEDBACK_VARYINGS_EXT 0x8C83
+#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT 0x8C7F
+#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT 0x8C76
+#endif
+
+#ifndef GL_EXT_direct_state_access
+#define GL_PROGRAM_MATRIX_EXT 0x8E2D
+#define GL_TRANSPOSE_PROGRAM_MATRIX_EXT 0x8E2E
+#define GL_PROGRAM_MATRIX_STACK_DEPTH_EXT 0x8E2F
+#endif
+
+#ifndef GL_EXT_vertex_array_bgra
+/* reuse GL_BGRA */
+#endif
+
+#ifndef GL_EXT_texture_swizzle
+#define GL_TEXTURE_SWIZZLE_R_EXT 0x8E42
+#define GL_TEXTURE_SWIZZLE_G_EXT 0x8E43
+#define GL_TEXTURE_SWIZZLE_B_EXT 0x8E44
+#define GL_TEXTURE_SWIZZLE_A_EXT 0x8E45
+#define GL_TEXTURE_SWIZZLE_RGBA_EXT 0x8E46
+#endif
+
+#ifndef GL_NV_explicit_multisample
+#define GL_SAMPLE_POSITION_NV 0x8E50
+#define GL_SAMPLE_MASK_NV 0x8E51
+#define GL_SAMPLE_MASK_VALUE_NV 0x8E52
+#define GL_TEXTURE_BINDING_RENDERBUFFER_NV 0x8E53
+#define GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV 0x8E54
+#define GL_TEXTURE_RENDERBUFFER_NV 0x8E55
+#define GL_SAMPLER_RENDERBUFFER_NV 0x8E56
+#define GL_INT_SAMPLER_RENDERBUFFER_NV 0x8E57
+#define GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV 0x8E58
+#define GL_MAX_SAMPLE_MASK_WORDS_NV 0x8E59
+#endif
+
+#ifndef GL_NV_transform_feedback2
+#define GL_TRANSFORM_FEEDBACK_NV 0x8E22
+#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV 0x8E23
+#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV 0x8E24
+#define GL_TRANSFORM_FEEDBACK_BINDING_NV 0x8E25
+#endif
+
+#ifndef GL_ATI_meminfo
+#define GL_VBO_FREE_MEMORY_ATI 0x87FB
+#define GL_TEXTURE_FREE_MEMORY_ATI 0x87FC
+#define GL_RENDERBUFFER_FREE_MEMORY_ATI 0x87FD
+#endif
+
+#ifndef GL_AMD_performance_monitor
+#define GL_COUNTER_TYPE_AMD 0x8BC0
+#define GL_COUNTER_RANGE_AMD 0x8BC1
+#define GL_UNSIGNED_INT64_AMD 0x8BC2
+#define GL_PERCENTAGE_AMD 0x8BC3
+#define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4
+#define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5
+#define GL_PERFMON_RESULT_AMD 0x8BC6
+#endif
+
+#ifndef GL_AMD_texture_texture4
+#endif
+
+#ifndef GL_AMD_vertex_shader_tesselator
+#define GL_SAMPLER_BUFFER_AMD 0x9001
+#define GL_INT_SAMPLER_BUFFER_AMD 0x9002
+#define GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD 0x9003
+#define GL_TESSELLATION_MODE_AMD 0x9004
+#define GL_TESSELLATION_FACTOR_AMD 0x9005
+#define GL_DISCRETE_AMD 0x9006
+#define GL_CONTINUOUS_AMD 0x9007
+#endif
+
+#ifndef GL_EXT_provoking_vertex
+#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT 0x8E4C
+#define GL_FIRST_VERTEX_CONVENTION_EXT 0x8E4D
+#define GL_LAST_VERTEX_CONVENTION_EXT 0x8E4E
+#define GL_PROVOKING_VERTEX_EXT 0x8E4F
+#endif
+
+#ifndef GL_EXT_texture_snorm
+#define GL_ALPHA_SNORM 0x9010
+#define GL_LUMINANCE_SNORM 0x9011
+#define GL_LUMINANCE_ALPHA_SNORM 0x9012
+#define GL_INTENSITY_SNORM 0x9013
+#define GL_ALPHA8_SNORM 0x9014
+#define GL_LUMINANCE8_SNORM 0x9015
+#define GL_LUMINANCE8_ALPHA8_SNORM 0x9016
+#define GL_INTENSITY8_SNORM 0x9017
+#define GL_ALPHA16_SNORM 0x9018
+#define GL_LUMINANCE16_SNORM 0x9019
+#define GL_LUMINANCE16_ALPHA16_SNORM 0x901A
+#define GL_INTENSITY16_SNORM 0x901B
+/* reuse GL_RED_SNORM */
+/* reuse GL_RG_SNORM */
+/* reuse GL_RGB_SNORM */
+/* reuse GL_RGBA_SNORM */
+/* reuse GL_R8_SNORM */
+/* reuse GL_RG8_SNORM */
+/* reuse GL_RGB8_SNORM */
+/* reuse GL_RGBA8_SNORM */
+/* reuse GL_R16_SNORM */
+/* reuse GL_RG16_SNORM */
+/* reuse GL_RGB16_SNORM */
+/* reuse GL_RGBA16_SNORM */
+/* reuse GL_SIGNED_NORMALIZED */
+#endif
+
+#ifndef GL_AMD_draw_buffers_blend
+#endif
+
+#ifndef GL_APPLE_texture_range
+#define GL_TEXTURE_RANGE_LENGTH_APPLE 0x85B7
+#define GL_TEXTURE_RANGE_POINTER_APPLE 0x85B8
+#define GL_TEXTURE_STORAGE_HINT_APPLE 0x85BC
+#define GL_STORAGE_PRIVATE_APPLE 0x85BD
+/* reuse GL_STORAGE_CACHED_APPLE */
+/* reuse GL_STORAGE_SHARED_APPLE */
+#endif
+
+#ifndef GL_APPLE_float_pixels
+#define GL_HALF_APPLE 0x140B
+#define GL_RGBA_FLOAT32_APPLE 0x8814
+#define GL_RGB_FLOAT32_APPLE 0x8815
+#define GL_ALPHA_FLOAT32_APPLE 0x8816
+#define GL_INTENSITY_FLOAT32_APPLE 0x8817
+#define GL_LUMINANCE_FLOAT32_APPLE 0x8818
+#define GL_LUMINANCE_ALPHA_FLOAT32_APPLE 0x8819
+#define GL_RGBA_FLOAT16_APPLE 0x881A
+#define GL_RGB_FLOAT16_APPLE 0x881B
+#define GL_ALPHA_FLOAT16_APPLE 0x881C
+#define GL_INTENSITY_FLOAT16_APPLE 0x881D
+#define GL_LUMINANCE_FLOAT16_APPLE 0x881E
+#define GL_LUMINANCE_ALPHA_FLOAT16_APPLE 0x881F
+#define GL_COLOR_FLOAT_APPLE 0x8A0F
+#endif
+
+#ifndef GL_APPLE_vertex_program_evaluators
+#define GL_VERTEX_ATTRIB_MAP1_APPLE 0x8A00
+#define GL_VERTEX_ATTRIB_MAP2_APPLE 0x8A01
+#define GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE 0x8A02
+#define GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE 0x8A03
+#define GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE 0x8A04
+#define GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE 0x8A05
+#define GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE 0x8A06
+#define GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE 0x8A07
+#define GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE 0x8A08
+#define GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE 0x8A09
+#endif
+
+#ifndef GL_APPLE_aux_depth_stencil
+#define GL_AUX_DEPTH_STENCIL_APPLE 0x8A14
+#endif
+
+#ifndef GL_APPLE_object_purgeable
+#define GL_BUFFER_OBJECT_APPLE 0x85B3
+#define GL_RELEASED_APPLE 0x8A19
+#define GL_VOLATILE_APPLE 0x8A1A
+#define GL_RETAINED_APPLE 0x8A1B
+#define GL_UNDEFINED_APPLE 0x8A1C
+#define GL_PURGEABLE_APPLE 0x8A1D
+#endif
+
+#ifndef GL_APPLE_row_bytes
+#define GL_PACK_ROW_BYTES_APPLE 0x8A15
+#define GL_UNPACK_ROW_BYTES_APPLE 0x8A16
+#endif
+
+#ifndef GL_APPLE_rgb_422
+#define GL_RGB_422_APPLE 0x8A1F
+/* reuse GL_UNSIGNED_SHORT_8_8_APPLE */
+/* reuse GL_UNSIGNED_SHORT_8_8_REV_APPLE */
+#endif
+
+#ifndef GL_NV_video_capture
+#define GL_VIDEO_BUFFER_NV 0x9020
+#define GL_VIDEO_BUFFER_BINDING_NV 0x9021
+#define GL_FIELD_UPPER_NV 0x9022
+#define GL_FIELD_LOWER_NV 0x9023
+#define GL_NUM_VIDEO_CAPTURE_STREAMS_NV 0x9024
+#define GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV 0x9025
+#define GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV 0x9026
+#define GL_LAST_VIDEO_CAPTURE_STATUS_NV 0x9027
+#define GL_VIDEO_BUFFER_PITCH_NV 0x9028
+#define GL_VIDEO_COLOR_CONVERSION_MATRIX_NV 0x9029
+#define GL_VIDEO_COLOR_CONVERSION_MAX_NV 0x902A
+#define GL_VIDEO_COLOR_CONVERSION_MIN_NV 0x902B
+#define GL_VIDEO_COLOR_CONVERSION_OFFSET_NV 0x902C
+#define GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV 0x902D
+#define GL_PARTIAL_SUCCESS_NV 0x902E
+#define GL_SUCCESS_NV 0x902F
+#define GL_FAILURE_NV 0x9030
+#define GL_YCBYCR8_422_NV 0x9031
+#define GL_YCBAYCR8A_4224_NV 0x9032
+#define GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV 0x9033
+#define GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV 0x9034
+#define GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV 0x9035
+#define GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV 0x9036
+#define GL_Z4Y12Z4CB12Z4CR12_444_NV 0x9037
+#define GL_VIDEO_CAPTURE_FRAME_WIDTH_NV 0x9038
+#define GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV 0x9039
+#define GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV 0x903A
+#define GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV 0x903B
+#define GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV 0x903C
+#endif
+
+#ifndef GL_NV_copy_image
+#endif
+
+#ifndef GL_EXT_separate_shader_objects
+#define GL_ACTIVE_PROGRAM_EXT 0x8B8D
+#endif
+
+#ifndef GL_NV_parameter_buffer_object2
+#endif
+
+#ifndef GL_NV_shader_buffer_load
+#define GL_BUFFER_GPU_ADDRESS_NV 0x8F1D
+#define GL_GPU_ADDRESS_NV 0x8F34
+#define GL_MAX_SHADER_BUFFER_ADDRESS_NV 0x8F35
+#endif
+
+#ifndef GL_NV_vertex_buffer_unified_memory
+#define GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV 0x8F1E
+#define GL_ELEMENT_ARRAY_UNIFIED_NV 0x8F1F
+#define GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV 0x8F20
+#define GL_VERTEX_ARRAY_ADDRESS_NV 0x8F21
+#define GL_NORMAL_ARRAY_ADDRESS_NV 0x8F22
+#define GL_COLOR_ARRAY_ADDRESS_NV 0x8F23
+#define GL_INDEX_ARRAY_ADDRESS_NV 0x8F24
+#define GL_TEXTURE_COORD_ARRAY_ADDRESS_NV 0x8F25
+#define GL_EDGE_FLAG_ARRAY_ADDRESS_NV 0x8F26
+#define GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV 0x8F27
+#define GL_FOG_COORD_ARRAY_ADDRESS_NV 0x8F28
+#define GL_ELEMENT_ARRAY_ADDRESS_NV 0x8F29
+#define GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV 0x8F2A
+#define GL_VERTEX_ARRAY_LENGTH_NV 0x8F2B
+#define GL_NORMAL_ARRAY_LENGTH_NV 0x8F2C
+#define GL_COLOR_ARRAY_LENGTH_NV 0x8F2D
+#define GL_INDEX_ARRAY_LENGTH_NV 0x8F2E
+#define GL_TEXTURE_COORD_ARRAY_LENGTH_NV 0x8F2F
+#define GL_EDGE_FLAG_ARRAY_LENGTH_NV 0x8F30
+#define GL_SECONDARY_COLOR_ARRAY_LENGTH_NV 0x8F31
+#define GL_FOG_COORD_ARRAY_LENGTH_NV 0x8F32
+#define GL_ELEMENT_ARRAY_LENGTH_NV 0x8F33
+#define GL_DRAW_INDIRECT_UNIFIED_NV 0x8F40
+#define GL_DRAW_INDIRECT_ADDRESS_NV 0x8F41
+#define GL_DRAW_INDIRECT_LENGTH_NV 0x8F42
+#endif
+
+#ifndef GL_NV_texture_barrier
+#endif
+
+#ifndef GL_AMD_shader_stencil_export
+#endif
+
+#ifndef GL_AMD_seamless_cubemap_per_texture
+/* reuse GL_TEXTURE_CUBE_MAP_SEAMLESS */
+#endif
+
+#ifndef GL_AMD_conservative_depth
+#endif
+
+#ifndef GL_EXT_shader_image_load_store
+#define GL_MAX_IMAGE_UNITS_EXT 0x8F38
+#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT 0x8F39
+#define GL_IMAGE_BINDING_NAME_EXT 0x8F3A
+#define GL_IMAGE_BINDING_LEVEL_EXT 0x8F3B
+#define GL_IMAGE_BINDING_LAYERED_EXT 0x8F3C
+#define GL_IMAGE_BINDING_LAYER_EXT 0x8F3D
+#define GL_IMAGE_BINDING_ACCESS_EXT 0x8F3E
+#define GL_IMAGE_1D_EXT 0x904C
+#define GL_IMAGE_2D_EXT 0x904D
+#define GL_IMAGE_3D_EXT 0x904E
+#define GL_IMAGE_2D_RECT_EXT 0x904F
+#define GL_IMAGE_CUBE_EXT 0x9050
+#define GL_IMAGE_BUFFER_EXT 0x9051
+#define GL_IMAGE_1D_ARRAY_EXT 0x9052
+#define GL_IMAGE_2D_ARRAY_EXT 0x9053
+#define GL_IMAGE_CUBE_MAP_ARRAY_EXT 0x9054
+#define GL_IMAGE_2D_MULTISAMPLE_EXT 0x9055
+#define GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x9056
+#define GL_INT_IMAGE_1D_EXT 0x9057
+#define GL_INT_IMAGE_2D_EXT 0x9058
+#define GL_INT_IMAGE_3D_EXT 0x9059
+#define GL_INT_IMAGE_2D_RECT_EXT 0x905A
+#define GL_INT_IMAGE_CUBE_EXT 0x905B
+#define GL_INT_IMAGE_BUFFER_EXT 0x905C
+#define GL_INT_IMAGE_1D_ARRAY_EXT 0x905D
+#define GL_INT_IMAGE_2D_ARRAY_EXT 0x905E
+#define GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT 0x905F
+#define GL_INT_IMAGE_2D_MULTISAMPLE_EXT 0x9060
+#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x9061
+#define GL_UNSIGNED_INT_IMAGE_1D_EXT 0x9062
+#define GL_UNSIGNED_INT_IMAGE_2D_EXT 0x9063
+#define GL_UNSIGNED_INT_IMAGE_3D_EXT 0x9064
+#define GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT 0x9065
+#define GL_UNSIGNED_INT_IMAGE_CUBE_EXT 0x9066
+#define GL_UNSIGNED_INT_IMAGE_BUFFER_EXT 0x9067
+#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT 0x9068
+#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT 0x9069
+#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT 0x906A
+#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT 0x906B
+#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x906C
+#define GL_MAX_IMAGE_SAMPLES_EXT 0x906D
+#define GL_IMAGE_BINDING_FORMAT_EXT 0x906E
+#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT 0x00000001
+#define GL_ELEMENT_ARRAY_BARRIER_BIT_EXT 0x00000002
+#define GL_UNIFORM_BARRIER_BIT_EXT 0x00000004
+#define GL_TEXTURE_FETCH_BARRIER_BIT_EXT 0x00000008
+#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT 0x00000020
+#define GL_COMMAND_BARRIER_BIT_EXT 0x00000040
+#define GL_PIXEL_BUFFER_BARRIER_BIT_EXT 0x00000080
+#define GL_TEXTURE_UPDATE_BARRIER_BIT_EXT 0x00000100
+#define GL_BUFFER_UPDATE_BARRIER_BIT_EXT 0x00000200
+#define GL_FRAMEBUFFER_BARRIER_BIT_EXT 0x00000400
+#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT 0x00000800
+#define GL_ATOMIC_COUNTER_BARRIER_BIT_EXT 0x00001000
+#define GL_ALL_BARRIER_BITS_EXT 0xFFFFFFFF
+#endif
+
+#ifndef GL_EXT_vertex_attrib_64bit
+/* reuse GL_DOUBLE */
+#define GL_DOUBLE_VEC2_EXT 0x8FFC
+#define GL_DOUBLE_VEC3_EXT 0x8FFD
+#define GL_DOUBLE_VEC4_EXT 0x8FFE
+#define GL_DOUBLE_MAT2_EXT 0x8F46
+#define GL_DOUBLE_MAT3_EXT 0x8F47
+#define GL_DOUBLE_MAT4_EXT 0x8F48
+#define GL_DOUBLE_MAT2x3_EXT 0x8F49
+#define GL_DOUBLE_MAT2x4_EXT 0x8F4A
+#define GL_DOUBLE_MAT3x2_EXT 0x8F4B
+#define GL_DOUBLE_MAT3x4_EXT 0x8F4C
+#define GL_DOUBLE_MAT4x2_EXT 0x8F4D
+#define GL_DOUBLE_MAT4x3_EXT 0x8F4E
+#endif
+
+#ifndef GL_NV_gpu_program5
+#define GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV 0x8E5A
+#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV 0x8E5B
+#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV 0x8E5C
+#define GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV 0x8E5D
+#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV 0x8E5E
+#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV 0x8E5F
+#define GL_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV 0x8F44
+#define GL_MAX_PROGRAM_SUBROUTINE_NUM_NV 0x8F45
+#endif
+
+#ifndef GL_NV_gpu_shader5
+#define GL_INT64_NV 0x140E
+#define GL_UNSIGNED_INT64_NV 0x140F
+#define GL_INT8_NV 0x8FE0
+#define GL_INT8_VEC2_NV 0x8FE1
+#define GL_INT8_VEC3_NV 0x8FE2
+#define GL_INT8_VEC4_NV 0x8FE3
+#define GL_INT16_NV 0x8FE4
+#define GL_INT16_VEC2_NV 0x8FE5
+#define GL_INT16_VEC3_NV 0x8FE6
+#define GL_INT16_VEC4_NV 0x8FE7
+#define GL_INT64_VEC2_NV 0x8FE9
+#define GL_INT64_VEC3_NV 0x8FEA
+#define GL_INT64_VEC4_NV 0x8FEB
+#define GL_UNSIGNED_INT8_NV 0x8FEC
+#define GL_UNSIGNED_INT8_VEC2_NV 0x8FED
+#define GL_UNSIGNED_INT8_VEC3_NV 0x8FEE
+#define GL_UNSIGNED_INT8_VEC4_NV 0x8FEF
+#define GL_UNSIGNED_INT16_NV 0x8FF0
+#define GL_UNSIGNED_INT16_VEC2_NV 0x8FF1
+#define GL_UNSIGNED_INT16_VEC3_NV 0x8FF2
+#define GL_UNSIGNED_INT16_VEC4_NV 0x8FF3
+#define GL_UNSIGNED_INT64_VEC2_NV 0x8FF5
+#define GL_UNSIGNED_INT64_VEC3_NV 0x8FF6
+#define GL_UNSIGNED_INT64_VEC4_NV 0x8FF7
+#define GL_FLOAT16_NV 0x8FF8
+#define GL_FLOAT16_VEC2_NV 0x8FF9
+#define GL_FLOAT16_VEC3_NV 0x8FFA
+#define GL_FLOAT16_VEC4_NV 0x8FFB
+/* reuse GL_PATCHES */
+#endif
+
+#ifndef GL_NV_shader_buffer_store
+#define GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV 0x00000010
+/* reuse GL_READ_WRITE */
+/* reuse GL_WRITE_ONLY */
+#endif
+
+#ifndef GL_NV_tessellation_program5
+#define GL_MAX_PROGRAM_PATCH_ATTRIBS_NV 0x86D8
+#define GL_TESS_CONTROL_PROGRAM_NV 0x891E
+#define GL_TESS_EVALUATION_PROGRAM_NV 0x891F
+#define GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV 0x8C74
+#define GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV 0x8C75
+#endif
+
+#ifndef GL_NV_vertex_attrib_integer_64bit
+/* reuse GL_INT64_NV */
+/* reuse GL_UNSIGNED_INT64_NV */
+#endif
+
+#ifndef GL_NV_multisample_coverage
+#define GL_COVERAGE_SAMPLES_NV 0x80A9
+#define GL_COLOR_SAMPLES_NV 0x8E20
+#endif
+
+#ifndef GL_AMD_name_gen_delete
+#define GL_DATA_BUFFER_AMD 0x9151
+#define GL_PERFORMANCE_MONITOR_AMD 0x9152
+#define GL_QUERY_OBJECT_AMD 0x9153
+#define GL_VERTEX_ARRAY_OBJECT_AMD 0x9154
+#define GL_SAMPLER_OBJECT_AMD 0x9155
+#endif
+
+#ifndef GL_AMD_debug_output
+#define GL_MAX_DEBUG_MESSAGE_LENGTH_AMD 0x9143
+#define GL_MAX_DEBUG_LOGGED_MESSAGES_AMD 0x9144
+#define GL_DEBUG_LOGGED_MESSAGES_AMD 0x9145
+#define GL_DEBUG_SEVERITY_HIGH_AMD 0x9146
+#define GL_DEBUG_SEVERITY_MEDIUM_AMD 0x9147
+#define GL_DEBUG_SEVERITY_LOW_AMD 0x9148
+#define GL_DEBUG_CATEGORY_API_ERROR_AMD 0x9149
+#define GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD 0x914A
+#define GL_DEBUG_CATEGORY_DEPRECATION_AMD 0x914B
+#define GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD 0x914C
+#define GL_DEBUG_CATEGORY_PERFORMANCE_AMD 0x914D
+#define GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD 0x914E
+#define GL_DEBUG_CATEGORY_APPLICATION_AMD 0x914F
+#define GL_DEBUG_CATEGORY_OTHER_AMD 0x9150
+#endif
+
+#ifndef GL_NV_vdpau_interop
+#define GL_SURFACE_STATE_NV 0x86EB
+#define GL_SURFACE_REGISTERED_NV 0x86FD
+#define GL_SURFACE_MAPPED_NV 0x8700
+#define GL_WRITE_DISCARD_NV 0x88BE
+#endif
+
+#ifndef GL_AMD_transform_feedback3_lines_triangles
+#endif
+
+#ifndef GL_AMD_depth_clamp_separate
+#define GL_DEPTH_CLAMP_NEAR_AMD 0x901E
+#define GL_DEPTH_CLAMP_FAR_AMD 0x901F
+#endif
+
+#ifndef GL_EXT_texture_sRGB_decode
+#define GL_TEXTURE_SRGB_DECODE_EXT 0x8A48
+#define GL_DECODE_EXT 0x8A49
+#define GL_SKIP_DECODE_EXT 0x8A4A
+#endif
+
+#ifndef GL_NV_texture_multisample
+#define GL_TEXTURE_COVERAGE_SAMPLES_NV 0x9045
+#define GL_TEXTURE_COLOR_SAMPLES_NV 0x9046
+#endif
+
+#ifndef GL_AMD_blend_minmax_factor
+#define GL_FACTOR_MIN_AMD 0x901C
+#define GL_FACTOR_MAX_AMD 0x901D
+#endif
+
+#ifndef GL_AMD_sample_positions
+#define GL_SUBSAMPLE_DISTANCE_AMD 0x883F
+#endif
+
+#ifndef GL_EXT_x11_sync_object
+#define GL_SYNC_X11_FENCE_EXT 0x90E1
+#endif
+
+#ifndef GL_AMD_multi_draw_indirect
+#endif
+
+#ifndef GL_EXT_framebuffer_multisample_blit_scaled
+#define GL_SCALED_RESOLVE_FASTEST_EXT 0x90BA
+#define GL_SCALED_RESOLVE_NICEST_EXT 0x90BB
+#endif
+
+#ifndef GL_NV_path_rendering
+#define GL_PATH_FORMAT_SVG_NV 0x9070
+#define GL_PATH_FORMAT_PS_NV 0x9071
+#define GL_STANDARD_FONT_NAME_NV 0x9072
+#define GL_SYSTEM_FONT_NAME_NV 0x9073
+#define GL_FILE_NAME_NV 0x9074
+#define GL_PATH_STROKE_WIDTH_NV 0x9075
+#define GL_PATH_END_CAPS_NV 0x9076
+#define GL_PATH_INITIAL_END_CAP_NV 0x9077
+#define GL_PATH_TERMINAL_END_CAP_NV 0x9078
+#define GL_PATH_JOIN_STYLE_NV 0x9079
+#define GL_PATH_MITER_LIMIT_NV 0x907A
+#define GL_PATH_DASH_CAPS_NV 0x907B
+#define GL_PATH_INITIAL_DASH_CAP_NV 0x907C
+#define GL_PATH_TERMINAL_DASH_CAP_NV 0x907D
+#define GL_PATH_DASH_OFFSET_NV 0x907E
+#define GL_PATH_CLIENT_LENGTH_NV 0x907F
+#define GL_PATH_FILL_MODE_NV 0x9080
+#define GL_PATH_FILL_MASK_NV 0x9081
+#define GL_PATH_FILL_COVER_MODE_NV 0x9082
+#define GL_PATH_STROKE_COVER_MODE_NV 0x9083
+#define GL_PATH_STROKE_MASK_NV 0x9084
+#define GL_PATH_SAMPLE_QUALITY_NV 0x9085
+#define GL_PATH_STROKE_BOUND_NV 0x9086
+#define GL_PATH_STROKE_OVERSAMPLE_COUNT_NV 0x9087
+#define GL_COUNT_UP_NV 0x9088
+#define GL_COUNT_DOWN_NV 0x9089
+#define GL_PATH_OBJECT_BOUNDING_BOX_NV 0x908A
+#define GL_CONVEX_HULL_NV 0x908B
+#define GL_MULTI_HULLS_NV 0x908C
+#define GL_BOUNDING_BOX_NV 0x908D
+#define GL_TRANSLATE_X_NV 0x908E
+#define GL_TRANSLATE_Y_NV 0x908F
+#define GL_TRANSLATE_2D_NV 0x9090
+#define GL_TRANSLATE_3D_NV 0x9091
+#define GL_AFFINE_2D_NV 0x9092
+#define GL_PROJECTIVE_2D_NV 0x9093
+#define GL_AFFINE_3D_NV 0x9094
+#define GL_PROJECTIVE_3D_NV 0x9095
+#define GL_TRANSPOSE_AFFINE_2D_NV 0x9096
+#define GL_TRANSPOSE_PROJECTIVE_2D_NV 0x9097
+#define GL_TRANSPOSE_AFFINE_3D_NV 0x9098
+#define GL_TRANSPOSE_PROJECTIVE_3D_NV 0x9099
+#define GL_UTF8_NV 0x909A
+#define GL_UTF16_NV 0x909B
+#define GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV 0x909C
+#define GL_PATH_COMMAND_COUNT_NV 0x909D
+#define GL_PATH_COORD_COUNT_NV 0x909E
+#define GL_PATH_DASH_ARRAY_COUNT_NV 0x909F
+#define GL_PATH_COMPUTED_LENGTH_NV 0x90A0
+#define GL_PATH_FILL_BOUNDING_BOX_NV 0x90A1
+#define GL_PATH_STROKE_BOUNDING_BOX_NV 0x90A2
+#define GL_SQUARE_NV 0x90A3
+#define GL_ROUND_NV 0x90A4
+#define GL_TRIANGULAR_NV 0x90A5
+#define GL_BEVEL_NV 0x90A6
+#define GL_MITER_REVERT_NV 0x90A7
+#define GL_MITER_TRUNCATE_NV 0x90A8
+#define GL_SKIP_MISSING_GLYPH_NV 0x90A9
+#define GL_USE_MISSING_GLYPH_NV 0x90AA
+#define GL_PATH_ERROR_POSITION_NV 0x90AB
+#define GL_PATH_FOG_GEN_MODE_NV 0x90AC
+#define GL_ACCUM_ADJACENT_PAIRS_NV 0x90AD
+#define GL_ADJACENT_PAIRS_NV 0x90AE
+#define GL_FIRST_TO_REST_NV 0x90AF
+#define GL_PATH_GEN_MODE_NV 0x90B0
+#define GL_PATH_GEN_COEFF_NV 0x90B1
+#define GL_PATH_GEN_COLOR_FORMAT_NV 0x90B2
+#define GL_PATH_GEN_COMPONENTS_NV 0x90B3
+#define GL_PATH_STENCIL_FUNC_NV 0x90B7
+#define GL_PATH_STENCIL_REF_NV 0x90B8
+#define GL_PATH_STENCIL_VALUE_MASK_NV 0x90B9
+#define GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV 0x90BD
+#define GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV 0x90BE
+#define GL_PATH_COVER_DEPTH_FUNC_NV 0x90BF
+#define GL_PATH_DASH_OFFSET_RESET_NV 0x90B4
+#define GL_MOVE_TO_RESETS_NV 0x90B5
+#define GL_MOVE_TO_CONTINUES_NV 0x90B6
+#define GL_CLOSE_PATH_NV 0x00
+#define GL_MOVE_TO_NV 0x02
+#define GL_RELATIVE_MOVE_TO_NV 0x03
+#define GL_LINE_TO_NV 0x04
+#define GL_RELATIVE_LINE_TO_NV 0x05
+#define GL_HORIZONTAL_LINE_TO_NV 0x06
+#define GL_RELATIVE_HORIZONTAL_LINE_TO_NV 0x07
+#define GL_VERTICAL_LINE_TO_NV 0x08
+#define GL_RELATIVE_VERTICAL_LINE_TO_NV 0x09
+#define GL_QUADRATIC_CURVE_TO_NV 0x0A
+#define GL_RELATIVE_QUADRATIC_CURVE_TO_NV 0x0B
+#define GL_CUBIC_CURVE_TO_NV 0x0C
+#define GL_RELATIVE_CUBIC_CURVE_TO_NV 0x0D
+#define GL_SMOOTH_QUADRATIC_CURVE_TO_NV 0x0E
+#define GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV 0x0F
+#define GL_SMOOTH_CUBIC_CURVE_TO_NV 0x10
+#define GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV 0x11
+#define GL_SMALL_CCW_ARC_TO_NV 0x12
+#define GL_RELATIVE_SMALL_CCW_ARC_TO_NV 0x13
+#define GL_SMALL_CW_ARC_TO_NV 0x14
+#define GL_RELATIVE_SMALL_CW_ARC_TO_NV 0x15
+#define GL_LARGE_CCW_ARC_TO_NV 0x16
+#define GL_RELATIVE_LARGE_CCW_ARC_TO_NV 0x17
+#define GL_LARGE_CW_ARC_TO_NV 0x18
+#define GL_RELATIVE_LARGE_CW_ARC_TO_NV 0x19
+#define GL_RESTART_PATH_NV 0xF0
+#define GL_DUP_FIRST_CUBIC_CURVE_TO_NV 0xF2
+#define GL_DUP_LAST_CUBIC_CURVE_TO_NV 0xF4
+#define GL_RECT_NV 0xF6
+#define GL_CIRCULAR_CCW_ARC_TO_NV 0xF8
+#define GL_CIRCULAR_CW_ARC_TO_NV 0xFA
+#define GL_CIRCULAR_TANGENT_ARC_TO_NV 0xFC
+#define GL_ARC_TO_NV 0xFE
+#define GL_RELATIVE_ARC_TO_NV 0xFF
+#define GL_BOLD_BIT_NV 0x01
+#define GL_ITALIC_BIT_NV 0x02
+#define GL_GLYPH_WIDTH_BIT_NV 0x01
+#define GL_GLYPH_HEIGHT_BIT_NV 0x02
+#define GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV 0x04
+#define GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV 0x08
+#define GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV 0x10
+#define GL_GLYPH_VERTICAL_BEARING_X_BIT_NV 0x20
+#define GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV 0x40
+#define GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV 0x80
+#define GL_GLYPH_HAS_KERNING_NV 0x100
+#define GL_FONT_X_MIN_BOUNDS_NV 0x00010000
+#define GL_FONT_Y_MIN_BOUNDS_NV 0x00020000
+#define GL_FONT_X_MAX_BOUNDS_NV 0x00040000
+#define GL_FONT_Y_MAX_BOUNDS_NV 0x00080000
+#define GL_FONT_UNITS_PER_EM_NV 0x00100000
+#define GL_FONT_ASCENDER_NV 0x00200000
+#define GL_FONT_DESCENDER_NV 0x00400000
+#define GL_FONT_HEIGHT_NV 0x00800000
+#define GL_FONT_MAX_ADVANCE_WIDTH_NV 0x01000000
+#define GL_FONT_MAX_ADVANCE_HEIGHT_NV 0x02000000
+#define GL_FONT_UNDERLINE_POSITION_NV 0x04000000
+#define GL_FONT_UNDERLINE_THICKNESS_NV 0x08000000
+#define GL_FONT_HAS_KERNING_NV 0x10000000
+#endif
+
+#ifndef GL_AMD_pinned_memory
+#define GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD 0x9160
+#endif
+
+#ifndef GL_AMD_stencil_operation_extended
+#define GL_SET_AMD 0x874A
+#define GL_REPLACE_VALUE_AMD 0x874B
+#define GL_STENCIL_OP_VALUE_AMD 0x874C
+#define GL_STENCIL_BACK_OP_VALUE_AMD 0x874D
+#endif
+
+#ifndef GL_AMD_vertex_shader_viewport_index
+#endif
+
+#ifndef GL_AMD_vertex_shader_layer
+#endif
+
+#ifndef GL_NV_bindless_texture
+#endif
+
+#ifndef GL_NV_shader_atomic_float
+#endif
+
+#ifndef GL_AMD_query_buffer_object
+#define GL_QUERY_BUFFER_AMD 0x9192
+#define GL_QUERY_BUFFER_BINDING_AMD 0x9193
+#define GL_QUERY_RESULT_NO_WAIT_AMD 0x9194
+#endif
+
+#ifndef GL_AMD_sparse_texture
+#define GL_VIRTUAL_PAGE_SIZE_X_AMD 0x9195
+#define GL_VIRTUAL_PAGE_SIZE_Y_AMD 0x9196
+#define GL_VIRTUAL_PAGE_SIZE_Z_AMD 0x9197
+#define GL_MAX_SPARSE_TEXTURE_SIZE_AMD 0x9198
+#define GL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD 0x9199
+#define GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS 0x919A
+#define GL_MIN_SPARSE_LEVEL_AMD 0x919B
+#define GL_MIN_LOD_WARNING_AMD 0x919C
+#define GL_TEXTURE_STORAGE_SPARSE_BIT_AMD 0x00000001
+#endif
+
+
+/*************************************************************/
+
+#include <stddef.h>
+#ifndef GL_VERSION_2_0
+/* GL type for program/shader text */
+typedef char GLchar;
+#endif
+
+#ifndef GL_VERSION_1_5
+/* GL types for handling large vertex buffer objects */
+typedef ptrdiff_t GLintptr;
+typedef ptrdiff_t GLsizeiptr;
+#endif
+
+#ifndef GL_ARB_vertex_buffer_object
+/* GL types for handling large vertex buffer objects */
+typedef ptrdiff_t GLintptrARB;
+typedef ptrdiff_t GLsizeiptrARB;
+#endif
+
+#ifndef GL_ARB_shader_objects
+/* GL types for program/shader text and shader object handles */
+typedef char GLcharARB;
+typedef unsigned int GLhandleARB;
+#endif
+
+/* GL type for "half" precision (s10e5) float data in host memory */
+#ifndef GL_ARB_half_float_pixel
+typedef unsigned short GLhalfARB;
+#endif
+
+#ifndef GL_NV_half_float
+typedef unsigned short GLhalfNV;
+#endif
+
+#ifndef GLEXT_64_TYPES_DEFINED
+/* This code block is duplicated in glxext.h, so must be protected */
+#define GLEXT_64_TYPES_DEFINED
+/* Define int32_t, int64_t, and uint64_t types for UST/MSC */
+/* (as used in the GL_EXT_timer_query extension). */
+#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+#include <inttypes.h>
+#elif defined(__sun__) || defined(__digital__)
+#include <inttypes.h>
+#if defined(__STDC__)
+#if defined(__arch64__) || defined(_LP64)
+typedef long int int64_t;
+typedef unsigned long int uint64_t;
+#else
+typedef long long int int64_t;
+typedef unsigned long long int uint64_t;
+#endif /* __arch64__ */
+#endif /* __STDC__ */
+#elif defined( __VMS ) || defined(__sgi)
+#include <inttypes.h>
+#elif defined(__SCO__) || defined(__USLC__)
+#include <stdint.h>
+#elif defined(__UNIXOS2__) || defined(__SOL64__)
+typedef long int int32_t;
+typedef long long int int64_t;
+typedef unsigned long long int uint64_t;
+#elif defined(_WIN32) && defined(__GNUC__)
+#include <stdint.h>
+#elif defined(_WIN32)
+typedef __int32 int32_t;
+typedef __int64 int64_t;
+typedef unsigned __int64 uint64_t;
+#else
+/* Fallback if nothing above works */
+#include <inttypes.h>
+#endif
+#endif
+
+#ifndef GL_EXT_timer_query
+typedef int64_t GLint64EXT;
+typedef uint64_t GLuint64EXT;
+#endif
+
+#ifndef GL_ARB_sync
+typedef int64_t GLint64;
+typedef uint64_t GLuint64;
+typedef struct __GLsync *GLsync;
+#endif
+
+#ifndef GL_ARB_cl_event
+/* These incomplete types let us declare types compatible with OpenCL's cl_context and cl_event */
+struct _cl_context;
+struct _cl_event;
+#endif
+
+#ifndef GL_ARB_debug_output
+typedef void (APIENTRY *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,GLvoid *userParam);
+#endif
+
+#ifndef GL_AMD_debug_output
+typedef void (APIENTRY *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,GLvoid *userParam);
+#endif
+
+#ifndef GL_KHR_debug
+typedef void (APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,GLvoid *userParam);
+#endif
+
+#ifndef GL_NV_vdpau_interop
+typedef GLintptr GLvdpauSurfaceNV;
+#endif
+
+#ifndef GL_VERSION_1_2
+#define GL_VERSION_1_2 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glBlendColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
+GLAPI void APIENTRY glBlendEquation (GLenum mode);
+GLAPI void APIENTRY glDrawRangeElements (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
+GLAPI void APIENTRY glTexImage3D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+GLAPI void APIENTRY glTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
+GLAPI void APIENTRY glCopyTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+GLAPI void APIENTRY glColorTable (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
+GLAPI void APIENTRY glColorTableParameterfv (GLenum target, GLenum pname, const GLfloat *params);
+GLAPI void APIENTRY glColorTableParameteriv (GLenum target, GLenum pname, const GLint *params);
+GLAPI void APIENTRY glCopyColorTable (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
+GLAPI void APIENTRY glGetColorTable (GLenum target, GLenum format, GLenum type, GLvoid *table);
+GLAPI void APIENTRY glGetColorTableParameterfv (GLenum target, GLenum pname, GLfloat *params);
+GLAPI void APIENTRY glGetColorTableParameteriv (GLenum target, GLenum pname, GLint *params);
+GLAPI void APIENTRY glColorSubTable (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data);
+GLAPI void APIENTRY glCopyColorSubTable (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
+GLAPI void APIENTRY glConvolutionFilter1D (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);
+GLAPI void APIENTRY glConvolutionFilter2D (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);
+GLAPI void APIENTRY glConvolutionParameterf (GLenum target, GLenum pname, GLfloat params);
+GLAPI void APIENTRY glConvolutionParameterfv (GLenum target, GLenum pname, const GLfloat *params);
+GLAPI void APIENTRY glConvolutionParameteri (GLenum target, GLenum pname, GLint params);
+GLAPI void APIENTRY glConvolutionParameteriv (GLenum target, GLenum pname, const GLint *params);
+GLAPI void APIENTRY glCopyConvolutionFilter1D (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
+GLAPI void APIENTRY glCopyConvolutionFilter2D (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
+GLAPI void APIENTRY glGetConvolutionFilter (GLenum target, GLenum format, GLenum type, GLvoid *image);
+GLAPI void APIENTRY glGetConvolutionParameterfv (GLenum target, GLenum pname, GLfloat *params);
+GLAPI void APIENTRY glGetConvolutionParameteriv (GLenum target, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetSeparableFilter (GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);
+GLAPI void APIENTRY glSeparableFilter2D (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);
+GLAPI void APIENTRY glGetHistogram (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
+GLAPI void APIENTRY glGetHistogramParameterfv (GLenum target, GLenum pname, GLfloat *params);
+GLAPI void APIENTRY glGetHistogramParameteriv (GLenum target, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetMinmax (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
+GLAPI void APIENTRY glGetMinmaxParameterfv (GLenum target, GLenum pname, GLfloat *params);
+GLAPI void APIENTRY glGetMinmaxParameteriv (GLenum target, GLenum pname, GLint *params);
+GLAPI void APIENTRY glHistogram (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
+GLAPI void APIENTRY glMinmax (GLenum target, GLenum internalformat, GLboolean sink);
+GLAPI void APIENTRY glResetHistogram (GLenum target);
+GLAPI void APIENTRY glResetMinmax (GLenum target);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLBLENDCOLORPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
+typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);
+typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
+typedef void (APIENTRYP PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (APIENTRYP PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+typedef void (APIENTRYP PFNGLCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
+typedef void (APIENTRYP PFNGLCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
+typedef void (APIENTRYP PFNGLCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
+typedef void (APIENTRYP PFNGLCOPYCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
+typedef void (APIENTRYP PFNGLGETCOLORTABLEPROC) (GLenum target, GLenum format, GLenum type, GLvoid *table);
+typedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data);
+typedef void (APIENTRYP PFNGLCOPYCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
+typedef void (APIENTRYP PFNGLCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);
+typedef void (APIENTRYP PFNGLCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);
+typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat params);
+typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
+typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERIPROC) (GLenum target, GLenum pname, GLint params);
+typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
+typedef void (APIENTRYP PFNGLCOPYCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
+typedef void (APIENTRYP PFNGLCOPYCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
+typedef void (APIENTRYP PFNGLGETCONVOLUTIONFILTERPROC) (GLenum target, GLenum format, GLenum type, GLvoid *image);
+typedef void (APIENTRYP PFNGLGETCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETSEPARABLEFILTERPROC) (GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);
+typedef void (APIENTRYP PFNGLSEPARABLEFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);
+typedef void (APIENTRYP PFNGLGETHISTOGRAMPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
+typedef void (APIENTRYP PFNGLGETHISTOGRAMPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETHISTOGRAMPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETMINMAXPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
+typedef void (APIENTRYP PFNGLGETMINMAXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETMINMAXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLHISTOGRAMPROC) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
+typedef void (APIENTRYP PFNGLMINMAXPROC) (GLenum target, GLenum internalformat, GLboolean sink);
+typedef void (APIENTRYP PFNGLRESETHISTOGRAMPROC) (GLenum target);
+typedef void (APIENTRYP PFNGLRESETMINMAXPROC) (GLenum target);
+#endif
+
+#ifndef GL_VERSION_1_3
+#define GL_VERSION_1_3 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glActiveTexture (GLenum texture);
+GLAPI void APIENTRY glSampleCoverage (GLfloat value, GLboolean invert);
+GLAPI void APIENTRY glCompressedTexImage3D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
+GLAPI void APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
+GLAPI void APIENTRY glCompressedTexImage1D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
+GLAPI void APIENTRY glCompressedTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
+GLAPI void APIENTRY glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
+GLAPI void APIENTRY glCompressedTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
+GLAPI void APIENTRY glGetCompressedTexImage (GLenum target, GLint level, GLvoid *img);
+GLAPI void APIENTRY glClientActiveTexture (GLenum texture);
+GLAPI void APIENTRY glMultiTexCoord1d (GLenum target, GLdouble s);
+GLAPI void APIENTRY glMultiTexCoord1dv (GLenum target, const GLdouble *v);
+GLAPI void APIENTRY glMultiTexCoord1f (GLenum target, GLfloat s);
+GLAPI void APIENTRY glMultiTexCoord1fv (GLenum target, const GLfloat *v);
+GLAPI void APIENTRY glMultiTexCoord1i (GLenum target, GLint s);
+GLAPI void APIENTRY glMultiTexCoord1iv (GLenum target, const GLint *v);
+GLAPI void APIENTRY glMultiTexCoord1s (GLenum target, GLshort s);
+GLAPI void APIENTRY glMultiTexCoord1sv (GLenum target, const GLshort *v);
+GLAPI void APIENTRY glMultiTexCoord2d (GLenum target, GLdouble s, GLdouble t);
+GLAPI void APIENTRY glMultiTexCoord2dv (GLenum target, const GLdouble *v);
+GLAPI void APIENTRY glMultiTexCoord2f (GLenum target, GLfloat s, GLfloat t);
+GLAPI void APIENTRY glMultiTexCoord2fv (GLenum target, const GLfloat *v);
+GLAPI void APIENTRY glMultiTexCoord2i (GLenum target, GLint s, GLint t);
+GLAPI void APIENTRY glMultiTexCoord2iv (GLenum target, const GLint *v);
+GLAPI void APIENTRY glMultiTexCoord2s (GLenum target, GLshort s, GLshort t);
+GLAPI void APIENTRY glMultiTexCoord2sv (GLenum target, const GLshort *v);
+GLAPI void APIENTRY glMultiTexCoord3d (GLenum target, GLdouble s, GLdouble t, GLdouble r);
+GLAPI void APIENTRY glMultiTexCoord3dv (GLenum target, const GLdouble *v);
+GLAPI void APIENTRY glMultiTexCoord3f (GLenum target, GLfloat s, GLfloat t, GLfloat r);
+GLAPI void APIENTRY glMultiTexCoord3fv (GLenum target, const GLfloat *v);
+GLAPI void APIENTRY glMultiTexCoord3i (GLenum target, GLint s, GLint t, GLint r);
+GLAPI void APIENTRY glMultiTexCoord3iv (GLenum target, const GLint *v);
+GLAPI void APIENTRY glMultiTexCoord3s (GLenum target, GLshort s, GLshort t, GLshort r);
+GLAPI void APIENTRY glMultiTexCoord3sv (GLenum target, const GLshort *v);
+GLAPI void APIENTRY glMultiTexCoord4d (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
+GLAPI void APIENTRY glMultiTexCoord4dv (GLenum target, const GLdouble *v);
+GLAPI void APIENTRY glMultiTexCoord4f (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
+GLAPI void APIENTRY glMultiTexCoord4fv (GLenum target, const GLfloat *v);
+GLAPI void APIENTRY glMultiTexCoord4i (GLenum target, GLint s, GLint t, GLint r, GLint q);
+GLAPI void APIENTRY glMultiTexCoord4iv (GLenum target, const GLint *v);
+GLAPI void APIENTRY glMultiTexCoord4s (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
+GLAPI void APIENTRY glMultiTexCoord4sv (GLenum target, const GLshort *v);
+GLAPI void APIENTRY glLoadTransposeMatrixf (const GLfloat *m);
+GLAPI void APIENTRY glLoadTransposeMatrixd (const GLdouble *m);
+GLAPI void APIENTRY glMultTransposeMatrixf (const GLfloat *m);
+GLAPI void APIENTRY glMultTransposeMatrixd (const GLdouble *m);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLACTIVETEXTUREPROC) (GLenum texture);
+typedef void (APIENTRYP PFNGLSAMPLECOVERAGEPROC) (GLfloat value, GLboolean invert);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
+typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint level, GLvoid *img);
+typedef void (APIENTRYP PFNGLCLIENTACTIVETEXTUREPROC) (GLenum texture);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1DPROC) (GLenum target, GLdouble s);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1DVPROC) (GLenum target, const GLdouble *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1FPROC) (GLenum target, GLfloat s);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1FVPROC) (GLenum target, const GLfloat *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1IPROC) (GLenum target, GLint s);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1IVPROC) (GLenum target, const GLint *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1SPROC) (GLenum target, GLshort s);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1SVPROC) (GLenum target, const GLshort *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2DPROC) (GLenum target, GLdouble s, GLdouble t);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2DVPROC) (GLenum target, const GLdouble *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2FPROC) (GLenum target, GLfloat s, GLfloat t);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2FVPROC) (GLenum target, const GLfloat *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2IPROC) (GLenum target, GLint s, GLint t);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2IVPROC) (GLenum target, const GLint *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2SPROC) (GLenum target, GLshort s, GLshort t);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2SVPROC) (GLenum target, const GLshort *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3DVPROC) (GLenum target, const GLdouble *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3FVPROC) (GLenum target, const GLfloat *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3IPROC) (GLenum target, GLint s, GLint t, GLint r);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3IVPROC) (GLenum target, const GLint *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3SPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3SVPROC) (GLenum target, const GLshort *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4DVPROC) (GLenum target, const GLdouble *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4FVPROC) (GLenum target, const GLfloat *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4IPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4IVPROC) (GLenum target, const GLint *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4SPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4SVPROC) (GLenum target, const GLshort *v);
+typedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXFPROC) (const GLfloat *m);
+typedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXDPROC) (const GLdouble *m);
+typedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXFPROC) (const GLfloat *m);
+typedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXDPROC) (const GLdouble *m);
+#endif
+
+#ifndef GL_VERSION_1_4
+#define GL_VERSION_1_4 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glBlendFuncSeparate (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
+GLAPI void APIENTRY glMultiDrawArrays (GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount);
+GLAPI void APIENTRY glMultiDrawElements (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount);
+GLAPI void APIENTRY glPointParameterf (GLenum pname, GLfloat param);
+GLAPI void APIENTRY glPointParameterfv (GLenum pname, const GLfloat *params);
+GLAPI void APIENTRY glPointParameteri (GLenum pname, GLint param);
+GLAPI void APIENTRY glPointParameteriv (GLenum pname, const GLint *params);
+GLAPI void APIENTRY glFogCoordf (GLfloat coord);
+GLAPI void APIENTRY glFogCoordfv (const GLfloat *coord);
+GLAPI void APIENTRY glFogCoordd (GLdouble coord);
+GLAPI void APIENTRY glFogCoorddv (const GLdouble *coord);
+GLAPI void APIENTRY glFogCoordPointer (GLenum type, GLsizei stride, const GLvoid *pointer);
+GLAPI void APIENTRY glSecondaryColor3b (GLbyte red, GLbyte green, GLbyte blue);
+GLAPI void APIENTRY glSecondaryColor3bv (const GLbyte *v);
+GLAPI void APIENTRY glSecondaryColor3d (GLdouble red, GLdouble green, GLdouble blue);
+GLAPI void APIENTRY glSecondaryColor3dv (const GLdouble *v);
+GLAPI void APIENTRY glSecondaryColor3f (GLfloat red, GLfloat green, GLfloat blue);
+GLAPI void APIENTRY glSecondaryColor3fv (const GLfloat *v);
+GLAPI void APIENTRY glSecondaryColor3i (GLint red, GLint green, GLint blue);
+GLAPI void APIENTRY glSecondaryColor3iv (const GLint *v);
+GLAPI void APIENTRY glSecondaryColor3s (GLshort red, GLshort green, GLshort blue);
+GLAPI void APIENTRY glSecondaryColor3sv (const GLshort *v);
+GLAPI void APIENTRY glSecondaryColor3ub (GLubyte red, GLubyte green, GLubyte blue);
+GLAPI void APIENTRY glSecondaryColor3ubv (const GLubyte *v);
+GLAPI void APIENTRY glSecondaryColor3ui (GLuint red, GLuint green, GLuint blue);
+GLAPI void APIENTRY glSecondaryColor3uiv (const GLuint *v);
+GLAPI void APIENTRY glSecondaryColor3us (GLushort red, GLushort green, GLushort blue);
+GLAPI void APIENTRY glSecondaryColor3usv (const GLushort *v);
+GLAPI void APIENTRY glSecondaryColorPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+GLAPI void APIENTRY glWindowPos2d (GLdouble x, GLdouble y);
+GLAPI void APIENTRY glWindowPos2dv (const GLdouble *v);
+GLAPI void APIENTRY glWindowPos2f (GLfloat x, GLfloat y);
+GLAPI void APIENTRY glWindowPos2fv (const GLfloat *v);
+GLAPI void APIENTRY glWindowPos2i (GLint x, GLint y);
+GLAPI void APIENTRY glWindowPos2iv (const GLint *v);
+GLAPI void APIENTRY glWindowPos2s (GLshort x, GLshort y);
+GLAPI void APIENTRY glWindowPos2sv (const GLshort *v);
+GLAPI void APIENTRY glWindowPos3d (GLdouble x, GLdouble y, GLdouble z);
+GLAPI void APIENTRY glWindowPos3dv (const GLdouble *v);
+GLAPI void APIENTRY glWindowPos3f (GLfloat x, GLfloat y, GLfloat z);
+GLAPI void APIENTRY glWindowPos3fv (const GLfloat *v);
+GLAPI void APIENTRY glWindowPos3i (GLint x, GLint y, GLint z);
+GLAPI void APIENTRY glWindowPos3iv (const GLint *v);
+GLAPI void APIENTRY glWindowPos3s (GLshort x, GLshort y, GLshort z);
+GLAPI void APIENTRY glWindowPos3sv (const GLshort *v);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
+typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount);
+typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount);
+typedef void (APIENTRYP PFNGLPOINTPARAMETERFPROC) (GLenum pname, GLfloat param);
+typedef void (APIENTRYP PFNGLPOINTPARAMETERFVPROC) (GLenum pname, const GLfloat *params);
+typedef void (APIENTRYP PFNGLPOINTPARAMETERIPROC) (GLenum pname, GLint param);
+typedef void (APIENTRYP PFNGLPOINTPARAMETERIVPROC) (GLenum pname, const GLint *params);
+typedef void (APIENTRYP PFNGLFOGCOORDFPROC) (GLfloat coord);
+typedef void (APIENTRYP PFNGLFOGCOORDFVPROC) (const GLfloat *coord);
+typedef void (APIENTRYP PFNGLFOGCOORDDPROC) (GLdouble coord);
+typedef void (APIENTRYP PFNGLFOGCOORDDVPROC) (const GLdouble *coord);
+typedef void (APIENTRYP PFNGLFOGCOORDPOINTERPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3BPROC) (GLbyte red, GLbyte green, GLbyte blue);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3BVPROC) (const GLbyte *v);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3DPROC) (GLdouble red, GLdouble green, GLdouble blue);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3DVPROC) (const GLdouble *v);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3FPROC) (GLfloat red, GLfloat green, GLfloat blue);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3FVPROC) (const GLfloat *v);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3IPROC) (GLint red, GLint green, GLint blue);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3IVPROC) (const GLint *v);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3SPROC) (GLshort red, GLshort green, GLshort blue);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3SVPROC) (const GLshort *v);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UBPROC) (GLubyte red, GLubyte green, GLubyte blue);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UBVPROC) (const GLubyte *v);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UIPROC) (GLuint red, GLuint green, GLuint blue);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UIVPROC) (const GLuint *v);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3USPROC) (GLushort red, GLushort green, GLushort blue);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3USVPROC) (const GLushort *v);
+typedef void (APIENTRYP PFNGLSECONDARYCOLORPOINTERPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+typedef void (APIENTRYP PFNGLWINDOWPOS2DPROC) (GLdouble x, GLdouble y);
+typedef void (APIENTRYP PFNGLWINDOWPOS2DVPROC) (const GLdouble *v);
+typedef void (APIENTRYP PFNGLWINDOWPOS2FPROC) (GLfloat x, GLfloat y);
+typedef void (APIENTRYP PFNGLWINDOWPOS2FVPROC) (const GLfloat *v);
+typedef void (APIENTRYP PFNGLWINDOWPOS2IPROC) (GLint x, GLint y);
+typedef void (APIENTRYP PFNGLWINDOWPOS2IVPROC) (const GLint *v);
+typedef void (APIENTRYP PFNGLWINDOWPOS2SPROC) (GLshort x, GLshort y);
+typedef void (APIENTRYP PFNGLWINDOWPOS2SVPROC) (const GLshort *v);
+typedef void (APIENTRYP PFNGLWINDOWPOS3DPROC) (GLdouble x, GLdouble y, GLdouble z);
+typedef void (APIENTRYP PFNGLWINDOWPOS3DVPROC) (const GLdouble *v);
+typedef void (APIENTRYP PFNGLWINDOWPOS3FPROC) (GLfloat x, GLfloat y, GLfloat z);
+typedef void (APIENTRYP PFNGLWINDOWPOS3FVPROC) (const GLfloat *v);
+typedef void (APIENTRYP PFNGLWINDOWPOS3IPROC) (GLint x, GLint y, GLint z);
+typedef void (APIENTRYP PFNGLWINDOWPOS3IVPROC) (const GLint *v);
+typedef void (APIENTRYP PFNGLWINDOWPOS3SPROC) (GLshort x, GLshort y, GLshort z);
+typedef void (APIENTRYP PFNGLWINDOWPOS3SVPROC) (const GLshort *v);
+#endif
+
+#ifndef GL_VERSION_1_5
+#define GL_VERSION_1_5 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glGenQueries (GLsizei n, GLuint *ids);
+GLAPI void APIENTRY glDeleteQueries (GLsizei n, const GLuint *ids);
+GLAPI GLboolean APIENTRY glIsQuery (GLuint id);
+GLAPI void APIENTRY glBeginQuery (GLenum target, GLuint id);
+GLAPI void APIENTRY glEndQuery (GLenum target);
+GLAPI void APIENTRY glGetQueryiv (GLenum target, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetQueryObjectiv (GLuint id, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetQueryObjectuiv (GLuint id, GLenum pname, GLuint *params);
+GLAPI void APIENTRY glBindBuffer (GLenum target, GLuint buffer);
+GLAPI void APIENTRY glDeleteBuffers (GLsizei n, const GLuint *buffers);
+GLAPI void APIENTRY glGenBuffers (GLsizei n, GLuint *buffers);
+GLAPI GLboolean APIENTRY glIsBuffer (GLuint buffer);
+GLAPI void APIENTRY glBufferData (GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage);
+GLAPI void APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data);
+GLAPI void APIENTRY glGetBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data);
+GLAPI GLvoid* APIENTRY glMapBuffer (GLenum target, GLenum access);
+GLAPI GLboolean APIENTRY glUnmapBuffer (GLenum target);
+GLAPI void APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetBufferPointerv (GLenum target, GLenum pname, GLvoid* *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLGENQUERIESPROC) (GLsizei n, GLuint *ids);
+typedef void (APIENTRYP PFNGLDELETEQUERIESPROC) (GLsizei n, const GLuint *ids);
+typedef GLboolean (APIENTRYP PFNGLISQUERYPROC) (GLuint id);
+typedef void (APIENTRYP PFNGLBEGINQUERYPROC) (GLenum target, GLuint id);
+typedef void (APIENTRYP PFNGLENDQUERYPROC) (GLenum target);
+typedef void (APIENTRYP PFNGLGETQUERYIVPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETQUERYOBJECTIVPROC) (GLuint id, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETQUERYOBJECTUIVPROC) (GLuint id, GLenum pname, GLuint *params);
+typedef void (APIENTRYP PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer);
+typedef void (APIENTRYP PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint *buffers);
+typedef void (APIENTRYP PFNGLGENBUFFERSPROC) (GLsizei n, GLuint *buffers);
+typedef GLboolean (APIENTRYP PFNGLISBUFFERPROC) (GLuint buffer);
+typedef void (APIENTRYP PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage);
+typedef void (APIENTRYP PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data);
+typedef void (APIENTRYP PFNGLGETBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data);
+typedef GLvoid* (APIENTRYP PFNGLMAPBUFFERPROC) (GLenum target, GLenum access);
+typedef GLboolean (APIENTRYP PFNGLUNMAPBUFFERPROC) (GLenum target);
+typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETBUFFERPOINTERVPROC) (GLenum target, GLenum pname, GLvoid* *params);
+#endif
+
+#ifndef GL_VERSION_2_0
+#define GL_VERSION_2_0 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha);
+GLAPI void APIENTRY glDrawBuffers (GLsizei n, const GLenum *bufs);
+GLAPI void APIENTRY glStencilOpSeparate (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
+GLAPI void APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask);
+GLAPI void APIENTRY glStencilMaskSeparate (GLenum face, GLuint mask);
+GLAPI void APIENTRY glAttachShader (GLuint program, GLuint shader);
+GLAPI void APIENTRY glBindAttribLocation (GLuint program, GLuint index, const GLchar *name);
+GLAPI void APIENTRY glCompileShader (GLuint shader);
+GLAPI GLuint APIENTRY glCreateProgram (void);
+GLAPI GLuint APIENTRY glCreateShader (GLenum type);
+GLAPI void APIENTRY glDeleteProgram (GLuint program);
+GLAPI void APIENTRY glDeleteShader (GLuint shader);
+GLAPI void APIENTRY glDetachShader (GLuint program, GLuint shader);
+GLAPI void APIENTRY glDisableVertexAttribArray (GLuint index);
+GLAPI void APIENTRY glEnableVertexAttribArray (GLuint index);
+GLAPI void APIENTRY glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
+GLAPI void APIENTRY glGetActiveUniform (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
+GLAPI void APIENTRY glGetAttachedShaders (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj);
+GLAPI GLint APIENTRY glGetAttribLocation (GLuint program, const GLchar *name);
+GLAPI void APIENTRY glGetProgramiv (GLuint program, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetProgramInfoLog (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
+GLAPI void APIENTRY glGetShaderiv (GLuint shader, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetShaderInfoLog (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
+GLAPI void APIENTRY glGetShaderSource (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
+GLAPI GLint APIENTRY glGetUniformLocation (GLuint program, const GLchar *name);
+GLAPI void APIENTRY glGetUniformfv (GLuint program, GLint location, GLfloat *params);
+GLAPI void APIENTRY glGetUniformiv (GLuint program, GLint location, GLint *params);
+GLAPI void APIENTRY glGetVertexAttribdv (GLuint index, GLenum pname, GLdouble *params);
+GLAPI void APIENTRY glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat *params);
+GLAPI void APIENTRY glGetVertexAttribiv (GLuint index, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetVertexAttribPointerv (GLuint index, GLenum pname, GLvoid* *pointer);
+GLAPI GLboolean APIENTRY glIsProgram (GLuint program);
+GLAPI GLboolean APIENTRY glIsShader (GLuint shader);
+GLAPI void APIENTRY glLinkProgram (GLuint program);
+GLAPI void APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length);
+GLAPI void APIENTRY glUseProgram (GLuint program);
+GLAPI void APIENTRY glUniform1f (GLint location, GLfloat v0);
+GLAPI void APIENTRY glUniform2f (GLint location, GLfloat v0, GLfloat v1);
+GLAPI void APIENTRY glUniform3f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
+GLAPI void APIENTRY glUniform4f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
+GLAPI void APIENTRY glUniform1i (GLint location, GLint v0);
+GLAPI void APIENTRY glUniform2i (GLint location, GLint v0, GLint v1);
+GLAPI void APIENTRY glUniform3i (GLint location, GLint v0, GLint v1, GLint v2);
+GLAPI void APIENTRY glUniform4i (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
+GLAPI void APIENTRY glUniform1fv (GLint location, GLsizei count, const GLfloat *value);
+GLAPI void APIENTRY glUniform2fv (GLint location, GLsizei count, const GLfloat *value);
+GLAPI void APIENTRY glUniform3fv (GLint location, GLsizei count, const GLfloat *value);
+GLAPI void APIENTRY glUniform4fv (GLint location, GLsizei count, const GLfloat *value);
+GLAPI void APIENTRY glUniform1iv (GLint location, GLsizei count, const GLint *value);
+GLAPI void APIENTRY glUniform2iv (GLint location, GLsizei count, const GLint *value);
+GLAPI void APIENTRY glUniform3iv (GLint location, GLsizei count, const GLint *value);
+GLAPI void APIENTRY glUniform4iv (GLint location, GLsizei count, const GLint *value);
+GLAPI void APIENTRY glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void APIENTRY glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void APIENTRY glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void APIENTRY glValidateProgram (GLuint program);
+GLAPI void APIENTRY glVertexAttrib1d (GLuint index, GLdouble x);
+GLAPI void APIENTRY glVertexAttrib1dv (GLuint index, const GLdouble *v);
+GLAPI void APIENTRY glVertexAttrib1f (GLuint index, GLfloat x);
+GLAPI void APIENTRY glVertexAttrib1fv (GLuint index, const GLfloat *v);
+GLAPI void APIENTRY glVertexAttrib1s (GLuint index, GLshort x);
+GLAPI void APIENTRY glVertexAttrib1sv (GLuint index, const GLshort *v);
+GLAPI void APIENTRY glVertexAttrib2d (GLuint index, GLdouble x, GLdouble y);
+GLAPI void APIENTRY glVertexAttrib2dv (GLuint index, const GLdouble *v);
+GLAPI void APIENTRY glVertexAttrib2f (GLuint index, GLfloat x, GLfloat y);
+GLAPI void APIENTRY glVertexAttrib2fv (GLuint index, const GLfloat *v);
+GLAPI void APIENTRY glVertexAttrib2s (GLuint index, GLshort x, GLshort y);
+GLAPI void APIENTRY glVertexAttrib2sv (GLuint index, const GLshort *v);
+GLAPI void APIENTRY glVertexAttrib3d (GLuint index, GLdouble x, GLdouble y, GLdouble z);
+GLAPI void APIENTRY glVertexAttrib3dv (GLuint index, const GLdouble *v);
+GLAPI void APIENTRY glVertexAttrib3f (GLuint index, GLfloat x, GLfloat y, GLfloat z);
+GLAPI void APIENTRY glVertexAttrib3fv (GLuint index, const GLfloat *v);
+GLAPI void APIENTRY glVertexAttrib3s (GLuint index, GLshort x, GLshort y, GLshort z);
+GLAPI void APIENTRY glVertexAttrib3sv (GLuint index, const GLshort *v);
+GLAPI void APIENTRY glVertexAttrib4Nbv (GLuint index, const GLbyte *v);
+GLAPI void APIENTRY glVertexAttrib4Niv (GLuint index, const GLint *v);
+GLAPI void APIENTRY glVertexAttrib4Nsv (GLuint index, const GLshort *v);
+GLAPI void APIENTRY glVertexAttrib4Nub (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
+GLAPI void APIENTRY glVertexAttrib4Nubv (GLuint index, const GLubyte *v);
+GLAPI void APIENTRY glVertexAttrib4Nuiv (GLuint index, const GLuint *v);
+GLAPI void APIENTRY glVertexAttrib4Nusv (GLuint index, const GLushort *v);
+GLAPI void APIENTRY glVertexAttrib4bv (GLuint index, const GLbyte *v);
+GLAPI void APIENTRY glVertexAttrib4d (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+GLAPI void APIENTRY glVertexAttrib4dv (GLuint index, const GLdouble *v);
+GLAPI void APIENTRY glVertexAttrib4f (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+GLAPI void APIENTRY glVertexAttrib4fv (GLuint index, const GLfloat *v);
+GLAPI void APIENTRY glVertexAttrib4iv (GLuint index, const GLint *v);
+GLAPI void APIENTRY glVertexAttrib4s (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
+GLAPI void APIENTRY glVertexAttrib4sv (GLuint index, const GLshort *v);
+GLAPI void APIENTRY glVertexAttrib4ubv (GLuint index, const GLubyte *v);
+GLAPI void APIENTRY glVertexAttrib4uiv (GLuint index, const GLuint *v);
+GLAPI void APIENTRY glVertexAttrib4usv (GLuint index, const GLushort *v);
+GLAPI void APIENTRY glVertexAttribPointer (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEPROC) (GLenum modeRGB, GLenum modeAlpha);
+typedef void (APIENTRYP PFNGLDRAWBUFFERSPROC) (GLsizei n, const GLenum *bufs);
+typedef void (APIENTRYP PFNGLSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
+typedef void (APIENTRYP PFNGLSTENCILFUNCSEPARATEPROC) (GLenum face, GLenum func, GLint ref, GLuint mask);
+typedef void (APIENTRYP PFNGLSTENCILMASKSEPARATEPROC) (GLenum face, GLuint mask);
+typedef void (APIENTRYP PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader);
+typedef void (APIENTRYP PFNGLBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar *name);
+typedef void (APIENTRYP PFNGLCOMPILESHADERPROC) (GLuint shader);
+typedef GLuint (APIENTRYP PFNGLCREATEPROGRAMPROC) (void);
+typedef GLuint (APIENTRYP PFNGLCREATESHADERPROC) (GLenum type);
+typedef void (APIENTRYP PFNGLDELETEPROGRAMPROC) (GLuint program);
+typedef void (APIENTRYP PFNGLDELETESHADERPROC) (GLuint shader);
+typedef void (APIENTRYP PFNGLDETACHSHADERPROC) (GLuint program, GLuint shader);
+typedef void (APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint index);
+typedef void (APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint index);
+typedef void (APIENTRYP PFNGLGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
+typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
+typedef void (APIENTRYP PFNGLGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj);
+typedef GLint (APIENTRYP PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar *name);
+typedef void (APIENTRYP PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
+typedef void (APIENTRYP PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
+typedef void (APIENTRYP PFNGLGETSHADERSOURCEPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
+typedef GLint (APIENTRYP PFNGLGETUNIFORMLOCATIONPROC) (GLuint program, const GLchar *name);
+typedef void (APIENTRYP PFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint *params);
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBDVPROC) (GLuint index, GLenum pname, GLdouble *params);
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBFVPROC) (GLuint index, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIVPROC) (GLuint index, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint index, GLenum pname, GLvoid* *pointer);
+typedef GLboolean (APIENTRYP PFNGLISPROGRAMPROC) (GLuint program);
+typedef GLboolean (APIENTRYP PFNGLISSHADERPROC) (GLuint shader);
+typedef void (APIENTRYP PFNGLLINKPROGRAMPROC) (GLuint program);
+typedef void (APIENTRYP PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length);
+typedef void (APIENTRYP PFNGLUSEPROGRAMPROC) (GLuint program);
+typedef void (APIENTRYP PFNGLUNIFORM1FPROC) (GLint location, GLfloat v0);
+typedef void (APIENTRYP PFNGLUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1);
+typedef void (APIENTRYP PFNGLUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
+typedef void (APIENTRYP PFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
+typedef void (APIENTRYP PFNGLUNIFORM1IPROC) (GLint location, GLint v0);
+typedef void (APIENTRYP PFNGLUNIFORM2IPROC) (GLint location, GLint v0, GLint v1);
+typedef void (APIENTRYP PFNGLUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2);
+typedef void (APIENTRYP PFNGLUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
+typedef void (APIENTRYP PFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat *value);
+typedef void (APIENTRYP PFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat *value);
+typedef void (APIENTRYP PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat *value);
+typedef void (APIENTRYP PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat *value);
+typedef void (APIENTRYP PFNGLUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint *value);
+typedef void (APIENTRYP PFNGLUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint *value);
+typedef void (APIENTRYP PFNGLUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint *value);
+typedef void (APIENTRYP PFNGLUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint *value);
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLVALIDATEPROGRAMPROC) (GLuint program);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1DPROC) (GLuint index, GLdouble x);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1DVPROC) (GLuint index, const GLdouble *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1FPROC) (GLuint index, GLfloat x);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1SPROC) (GLuint index, GLshort x);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1SVPROC) (GLuint index, const GLshort *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2DPROC) (GLuint index, GLdouble x, GLdouble y);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2DVPROC) (GLuint index, const GLdouble *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2SPROC) (GLuint index, GLshort x, GLshort y);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2SVPROC) (GLuint index, const GLshort *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3DVPROC) (GLuint index, const GLdouble *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3SPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3SVPROC) (GLuint index, const GLshort *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NBVPROC) (GLuint index, const GLbyte *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NIVPROC) (GLuint index, const GLint *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NSVPROC) (GLuint index, const GLshort *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBVPROC) (GLuint index, const GLubyte *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUIVPROC) (GLuint index, const GLuint *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUSVPROC) (GLuint index, const GLushort *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4BVPROC) (GLuint index, const GLbyte *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4DVPROC) (GLuint index, const GLdouble *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4IVPROC) (GLuint index, const GLint *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4SPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4SVPROC) (GLuint index, const GLshort *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4UBVPROC) (GLuint index, const GLubyte *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4UIVPROC) (GLuint index, const GLuint *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4USVPROC) (GLuint index, const GLushort *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
+#endif
+
+#ifndef GL_VERSION_2_1
+#define GL_VERSION_2_1 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glUniformMatrix2x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void APIENTRY glUniformMatrix3x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void APIENTRY glUniformMatrix2x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void APIENTRY glUniformMatrix4x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void APIENTRY glUniformMatrix3x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void APIENTRY glUniformMatrix4x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+#endif
+
+#ifndef GL_VERSION_3_0
+#define GL_VERSION_3_0 1
+/* OpenGL 3.0 also reuses entry points from these extensions: */
+/* ARB_framebuffer_object */
+/* ARB_map_buffer_range */
+/* ARB_vertex_array_object */
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glColorMaski (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
+GLAPI void APIENTRY glGetBooleani_v (GLenum target, GLuint index, GLboolean *data);
+GLAPI void APIENTRY glGetIntegeri_v (GLenum target, GLuint index, GLint *data);
+GLAPI void APIENTRY glEnablei (GLenum target, GLuint index);
+GLAPI void APIENTRY glDisablei (GLenum target, GLuint index);
+GLAPI GLboolean APIENTRY glIsEnabledi (GLenum target, GLuint index);
+GLAPI void APIENTRY glBeginTransformFeedback (GLenum primitiveMode);
+GLAPI void APIENTRY glEndTransformFeedback (void);
+GLAPI void APIENTRY glBindBufferRange (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
+GLAPI void APIENTRY glBindBufferBase (GLenum target, GLuint index, GLuint buffer);
+GLAPI void APIENTRY glTransformFeedbackVaryings (GLuint program, GLsizei count, const GLchar* const *varyings, GLenum bufferMode);
+GLAPI void APIENTRY glGetTransformFeedbackVarying (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
+GLAPI void APIENTRY glClampColor (GLenum target, GLenum clamp);
+GLAPI void APIENTRY glBeginConditionalRender (GLuint id, GLenum mode);
+GLAPI void APIENTRY glEndConditionalRender (void);
+GLAPI void APIENTRY glVertexAttribIPointer (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+GLAPI void APIENTRY glGetVertexAttribIiv (GLuint index, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetVertexAttribIuiv (GLuint index, GLenum pname, GLuint *params);
+GLAPI void APIENTRY glVertexAttribI1i (GLuint index, GLint x);
+GLAPI void APIENTRY glVertexAttribI2i (GLuint index, GLint x, GLint y);
+GLAPI void APIENTRY glVertexAttribI3i (GLuint index, GLint x, GLint y, GLint z);
+GLAPI void APIENTRY glVertexAttribI4i (GLuint index, GLint x, GLint y, GLint z, GLint w);
+GLAPI void APIENTRY glVertexAttribI1ui (GLuint index, GLuint x);
+GLAPI void APIENTRY glVertexAttribI2ui (GLuint index, GLuint x, GLuint y);
+GLAPI void APIENTRY glVertexAttribI3ui (GLuint index, GLuint x, GLuint y, GLuint z);
+GLAPI void APIENTRY glVertexAttribI4ui (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
+GLAPI void APIENTRY glVertexAttribI1iv (GLuint index, const GLint *v);
+GLAPI void APIENTRY glVertexAttribI2iv (GLuint index, const GLint *v);
+GLAPI void APIENTRY glVertexAttribI3iv (GLuint index, const GLint *v);
+GLAPI void APIENTRY glVertexAttribI4iv (GLuint index, const GLint *v);
+GLAPI void APIENTRY glVertexAttribI1uiv (GLuint index, const GLuint *v);
+GLAPI void APIENTRY glVertexAttribI2uiv (GLuint index, const GLuint *v);
+GLAPI void APIENTRY glVertexAttribI3uiv (GLuint index, const GLuint *v);
+GLAPI void APIENTRY glVertexAttribI4uiv (GLuint index, const GLuint *v);
+GLAPI void APIENTRY glVertexAttribI4bv (GLuint index, const GLbyte *v);
+GLAPI void APIENTRY glVertexAttribI4sv (GLuint index, const GLshort *v);
+GLAPI void APIENTRY glVertexAttribI4ubv (GLuint index, const GLubyte *v);
+GLAPI void APIENTRY glVertexAttribI4usv (GLuint index, const GLushort *v);
+GLAPI void APIENTRY glGetUniformuiv (GLuint program, GLint location, GLuint *params);
+GLAPI void APIENTRY glBindFragDataLocation (GLuint program, GLuint color, const GLchar *name);
+GLAPI GLint APIENTRY glGetFragDataLocation (GLuint program, const GLchar *name);
+GLAPI void APIENTRY glUniform1ui (GLint location, GLuint v0);
+GLAPI void APIENTRY glUniform2ui (GLint location, GLuint v0, GLuint v1);
+GLAPI void APIENTRY glUniform3ui (GLint location, GLuint v0, GLuint v1, GLuint v2);
+GLAPI void APIENTRY glUniform4ui (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
+GLAPI void APIENTRY glUniform1uiv (GLint location, GLsizei count, const GLuint *value);
+GLAPI void APIENTRY glUniform2uiv (GLint location, GLsizei count, const GLuint *value);
+GLAPI void APIENTRY glUniform3uiv (GLint location, GLsizei count, const GLuint *value);
+GLAPI void APIENTRY glUniform4uiv (GLint location, GLsizei count, const GLuint *value);
+GLAPI void APIENTRY glTexParameterIiv (GLenum target, GLenum pname, const GLint *params);
+GLAPI void APIENTRY glTexParameterIuiv (GLenum target, GLenum pname, const GLuint *params);
+GLAPI void APIENTRY glGetTexParameterIiv (GLenum target, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetTexParameterIuiv (GLenum target, GLenum pname, GLuint *params);
+GLAPI void APIENTRY glClearBufferiv (GLenum buffer, GLint drawbuffer, const GLint *value);
+GLAPI void APIENTRY glClearBufferuiv (GLenum buffer, GLint drawbuffer, const GLuint *value);
+GLAPI void APIENTRY glClearBufferfv (GLenum buffer, GLint drawbuffer, const GLfloat *value);
+GLAPI void APIENTRY glClearBufferfi (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
+GLAPI const GLubyte * APIENTRY glGetStringi (GLenum name, GLuint index);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLCOLORMASKIPROC) (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
+typedef void (APIENTRYP PFNGLGETBOOLEANI_VPROC) (GLenum target, GLuint index, GLboolean *data);
+typedef void (APIENTRYP PFNGLGETINTEGERI_VPROC) (GLenum target, GLuint index, GLint *data);
+typedef void (APIENTRYP PFNGLENABLEIPROC) (GLenum target, GLuint index);
+typedef void (APIENTRYP PFNGLDISABLEIPROC) (GLenum target, GLuint index);
+typedef GLboolean (APIENTRYP PFNGLISENABLEDIPROC) (GLenum target, GLuint index);
+typedef void (APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKPROC) (GLenum primitiveMode);
+typedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKPROC) (void);
+typedef void (APIENTRYP PFNGLBINDBUFFERRANGEPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
+typedef void (APIENTRYP PFNGLBINDBUFFERBASEPROC) (GLenum target, GLuint index, GLuint buffer);
+typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSPROC) (GLuint program, GLsizei count, const GLchar* const *varyings, GLenum bufferMode);
+typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
+typedef void (APIENTRYP PFNGLCLAMPCOLORPROC) (GLenum target, GLenum clamp);
+typedef void (APIENTRYP PFNGLBEGINCONDITIONALRENDERPROC) (GLuint id, GLenum mode);
+typedef void (APIENTRYP PFNGLENDCONDITIONALRENDERPROC) (void);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBIPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIIVPROC) (GLuint index, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIUIVPROC) (GLuint index, GLenum pname, GLuint *params);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IPROC) (GLuint index, GLint x);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IPROC) (GLuint index, GLint x, GLint y);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IPROC) (GLuint index, GLint x, GLint y, GLint z);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IPROC) (GLuint index, GLint x, GLint y, GLint z, GLint w);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIPROC) (GLuint index, GLuint x);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIPROC) (GLuint index, GLuint x, GLuint y);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIPROC) (GLuint index, GLuint x, GLuint y, GLuint z);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIPROC) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IVPROC) (GLuint index, const GLint *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IVPROC) (GLuint index, const GLint *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IVPROC) (GLuint index, const GLint *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IVPROC) (GLuint index, const GLint *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIVPROC) (GLuint index, const GLuint *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIVPROC) (GLuint index, const GLuint *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIVPROC) (GLuint index, const GLuint *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIVPROC) (GLuint index, const GLuint *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI4BVPROC) (GLuint index, const GLbyte *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI4SVPROC) (GLuint index, const GLshort *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UBVPROC) (GLuint index, const GLubyte *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI4USVPROC) (GLuint index, const GLushort *v);
+typedef void (APIENTRYP PFNGLGETUNIFORMUIVPROC) (GLuint program, GLint location, GLuint *params);
+typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONPROC) (GLuint program, GLuint color, const GLchar *name);
+typedef GLint (APIENTRYP PFNGLGETFRAGDATALOCATIONPROC) (GLuint program, const GLchar *name);
+typedef void (APIENTRYP PFNGLUNIFORM1UIPROC) (GLint location, GLuint v0);
+typedef void (APIENTRYP PFNGLUNIFORM2UIPROC) (GLint location, GLuint v0, GLuint v1);
+typedef void (APIENTRYP PFNGLUNIFORM3UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2);
+typedef void (APIENTRYP PFNGLUNIFORM4UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
+typedef void (APIENTRYP PFNGLUNIFORM1UIVPROC) (GLint location, GLsizei count, const GLuint *value);
+typedef void (APIENTRYP PFNGLUNIFORM2UIVPROC) (GLint location, GLsizei count, const GLuint *value);
+typedef void (APIENTRYP PFNGLUNIFORM3UIVPROC) (GLint location, GLsizei count, const GLuint *value);
+typedef void (APIENTRYP PFNGLUNIFORM4UIVPROC) (GLint location, GLsizei count, const GLuint *value);
+typedef void (APIENTRYP PFNGLTEXPARAMETERIIVPROC) (GLenum target, GLenum pname, const GLint *params);
+typedef void (APIENTRYP PFNGLTEXPARAMETERIUIVPROC) (GLenum target, GLenum pname, const GLuint *params);
+typedef void (APIENTRYP PFNGLGETTEXPARAMETERIIVPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETTEXPARAMETERIUIVPROC) (GLenum target, GLenum pname, GLuint *params);
+typedef void (APIENTRYP PFNGLCLEARBUFFERIVPROC) (GLenum buffer, GLint drawbuffer, const GLint *value);
+typedef void (APIENTRYP PFNGLCLEARBUFFERUIVPROC) (GLenum buffer, GLint drawbuffer, const GLuint *value);
+typedef void (APIENTRYP PFNGLCLEARBUFFERFVPROC) (GLenum buffer, GLint drawbuffer, const GLfloat *value);
+typedef void (APIENTRYP PFNGLCLEARBUFFERFIPROC) (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
+typedef const GLubyte * (APIENTRYP PFNGLGETSTRINGIPROC) (GLenum name, GLuint index);
+#endif
+
+#ifndef GL_VERSION_3_1
+#define GL_VERSION_3_1 1
+/* OpenGL 3.1 also reuses entry points from these extensions: */
+/* ARB_copy_buffer */
+/* ARB_uniform_buffer_object */
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glDrawArraysInstanced (GLenum mode, GLint first, GLsizei count, GLsizei instancecount);
+GLAPI void APIENTRY glDrawElementsInstanced (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount);
+GLAPI void APIENTRY glTexBuffer (GLenum target, GLenum internalformat, GLuint buffer);
+GLAPI void APIENTRY glPrimitiveRestartIndex (GLuint index);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDPROC) (GLenum mode, GLint first, GLsizei count, GLsizei instancecount);
+typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount);
+typedef void (APIENTRYP PFNGLTEXBUFFERPROC) (GLenum target, GLenum internalformat, GLuint buffer);
+typedef void (APIENTRYP PFNGLPRIMITIVERESTARTINDEXPROC) (GLuint index);
+#endif
+
+#ifndef GL_VERSION_3_2
+#define GL_VERSION_3_2 1
+/* OpenGL 3.2 also reuses entry points from these extensions: */
+/* ARB_draw_elements_base_vertex */
+/* ARB_provoking_vertex */
+/* ARB_sync */
+/* ARB_texture_multisample */
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glGetInteger64i_v (GLenum target, GLuint index, GLint64 *data);
+GLAPI void APIENTRY glGetBufferParameteri64v (GLenum target, GLenum pname, GLint64 *params);
+GLAPI void APIENTRY glFramebufferTexture (GLenum target, GLenum attachment, GLuint texture, GLint level);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLGETINTEGER64I_VPROC) (GLenum target, GLuint index, GLint64 *data);
+typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERI64VPROC) (GLenum target, GLenum pname, GLint64 *params);
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level);
+#endif
+
+#ifndef GL_VERSION_3_3
+#define GL_VERSION_3_3 1
+/* OpenGL 3.3 also reuses entry points from these extensions: */
+/* ARB_blend_func_extended */
+/* ARB_sampler_objects */
+/* ARB_explicit_attrib_location, but it has none */
+/* ARB_occlusion_query2 (no entry points) */
+/* ARB_shader_bit_encoding (no entry points) */
+/* ARB_texture_rgb10_a2ui (no entry points) */
+/* ARB_texture_swizzle (no entry points) */
+/* ARB_timer_query */
+/* ARB_vertex_type_2_10_10_10_rev */
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glVertexAttribDivisor (GLuint index, GLuint divisor);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLVERTEXATTRIBDIVISORPROC) (GLuint index, GLuint divisor);
+#endif
+
+#ifndef GL_VERSION_4_0
+#define GL_VERSION_4_0 1
+/* OpenGL 4.0 also reuses entry points from these extensions: */
+/* ARB_texture_query_lod (no entry points) */
+/* ARB_draw_indirect */
+/* ARB_gpu_shader5 (no entry points) */
+/* ARB_gpu_shader_fp64 */
+/* ARB_shader_subroutine */
+/* ARB_tessellation_shader */
+/* ARB_texture_buffer_object_rgb32 (no entry points) */
+/* ARB_texture_cube_map_array (no entry points) */
+/* ARB_texture_gather (no entry points) */
+/* ARB_transform_feedback2 */
+/* ARB_transform_feedback3 */
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glMinSampleShading (GLfloat value);
+GLAPI void APIENTRY glBlendEquationi (GLuint buf, GLenum mode);
+GLAPI void APIENTRY glBlendEquationSeparatei (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
+GLAPI void APIENTRY glBlendFunci (GLuint buf, GLenum src, GLenum dst);
+GLAPI void APIENTRY glBlendFuncSeparatei (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLMINSAMPLESHADINGPROC) (GLfloat value);
+typedef void (APIENTRYP PFNGLBLENDEQUATIONIPROC) (GLuint buf, GLenum mode);
+typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEIPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
+typedef void (APIENTRYP PFNGLBLENDFUNCIPROC) (GLuint buf, GLenum src, GLenum dst);
+typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEIPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
+#endif
+
+#ifndef GL_VERSION_4_1
+#define GL_VERSION_4_1 1
+/* OpenGL 4.1 reuses entry points from these extensions: */
+/* ARB_ES2_compatibility */
+/* ARB_get_program_binary */
+/* ARB_separate_shader_objects */
+/* ARB_shader_precision (no entry points) */
+/* ARB_vertex_attrib_64bit */
+/* ARB_viewport_array */
+#endif
+
+#ifndef GL_VERSION_4_2
+#define GL_VERSION_4_2 1
+/* OpenGL 4.2 reuses entry points from these extensions: */
+/* ARB_base_instance */
+/* ARB_shading_language_420pack (no entry points) */
+/* ARB_transform_feedback_instanced */
+/* ARB_compressed_texture_pixel_storage (no entry points) */
+/* ARB_conservative_depth (no entry points) */
+/* ARB_internalformat_query */
+/* ARB_map_buffer_alignment (no entry points) */
+/* ARB_shader_atomic_counters */
+/* ARB_shader_image_load_store */
+/* ARB_shading_language_packing (no entry points) */
+/* ARB_texture_storage */
+#endif
+
+#ifndef GL_VERSION_4_3
+#define GL_VERSION_4_3 1
+/* OpenGL 4.3 reuses entry points from these extensions: */
+/* ARB_arrays_of_arrays (no entry points, GLSL only) */
+/* ARB_fragment_layer_viewport (no entry points, GLSL only) */
+/* ARB_shader_image_size (no entry points, GLSL only) */
+/* ARB_ES3_compatibility (no entry points) */
+/* ARB_clear_buffer_object */
+/* ARB_compute_shader */
+/* ARB_copy_image */
+/* KHR_debug (includes ARB_debug_output commands promoted to KHR without suffixes) */
+/* ARB_explicit_uniform_location (no entry points) */
+/* ARB_framebuffer_no_attachments */
+/* ARB_internalformat_query2 */
+/* ARB_invalidate_subdata */
+/* ARB_multi_draw_indirect */
+/* ARB_program_interface_query */
+/* ARB_robust_buffer_access_behavior (no entry points) */
+/* ARB_shader_storage_buffer_object */
+/* ARB_stencil_texturing (no entry points) */
+/* ARB_texture_buffer_range */
+/* ARB_texture_query_levels (no entry points) */
+/* ARB_texture_storage_multisample */
+/* ARB_texture_view */
+/* ARB_vertex_attrib_binding */
+#endif
+
+#ifndef GL_ARB_multitexture
+#define GL_ARB_multitexture 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glActiveTextureARB (GLenum texture);
+GLAPI void APIENTRY glClientActiveTextureARB (GLenum texture);
+GLAPI void APIENTRY glMultiTexCoord1dARB (GLenum target, GLdouble s);
+GLAPI void APIENTRY glMultiTexCoord1dvARB (GLenum target, const GLdouble *v);
+GLAPI void APIENTRY glMultiTexCoord1fARB (GLenum target, GLfloat s);
+GLAPI void APIENTRY glMultiTexCoord1fvARB (GLenum target, const GLfloat *v);
+GLAPI void APIENTRY glMultiTexCoord1iARB (GLenum target, GLint s);
+GLAPI void APIENTRY glMultiTexCoord1ivARB (GLenum target, const GLint *v);
+GLAPI void APIENTRY glMultiTexCoord1sARB (GLenum target, GLshort s);
+GLAPI void APIENTRY glMultiTexCoord1svARB (GLenum target, const GLshort *v);
+GLAPI void APIENTRY glMultiTexCoord2dARB (GLenum target, GLdouble s, GLdouble t);
+GLAPI void APIENTRY glMultiTexCoord2dvARB (GLenum target, const GLdouble *v);
+GLAPI void APIENTRY glMultiTexCoord2fARB (GLenum target, GLfloat s, GLfloat t);
+GLAPI void APIENTRY glMultiTexCoord2fvARB (GLenum target, const GLfloat *v);
+GLAPI void APIENTRY glMultiTexCoord2iARB (GLenum target, GLint s, GLint t);
+GLAPI void APIENTRY glMultiTexCoord2ivARB (GLenum target, const GLint *v);
+GLAPI void APIENTRY glMultiTexCoord2sARB (GLenum target, GLshort s, GLshort t);
+GLAPI void APIENTRY glMultiTexCoord2svARB (GLenum target, const GLshort *v);
+GLAPI void APIENTRY glMultiTexCoord3dARB (GLenum target, GLdouble s, GLdouble t, GLdouble r);
+GLAPI void APIENTRY glMultiTexCoord3dvARB (GLenum target, const GLdouble *v);
+GLAPI void APIENTRY glMultiTexCoord3fARB (GLenum target, GLfloat s, GLfloat t, GLfloat r);
+GLAPI void APIENTRY glMultiTexCoord3fvARB (GLenum target, const GLfloat *v);
+GLAPI void APIENTRY glMultiTexCoord3iARB (GLenum target, GLint s, GLint t, GLint r);
+GLAPI void APIENTRY glMultiTexCoord3ivARB (GLenum target, const GLint *v);
+GLAPI void APIENTRY glMultiTexCoord3sARB (GLenum target, GLshort s, GLshort t, GLshort r);
+GLAPI void APIENTRY glMultiTexCoord3svARB (GLenum target, const GLshort *v);
+GLAPI void APIENTRY glMultiTexCoord4dARB (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
+GLAPI void APIENTRY glMultiTexCoord4dvARB (GLenum target, const GLdouble *v);
+GLAPI void APIENTRY glMultiTexCoord4fARB (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
+GLAPI void APIENTRY glMultiTexCoord4fvARB (GLenum target, const GLfloat *v);
+GLAPI void APIENTRY glMultiTexCoord4iARB (GLenum target, GLint s, GLint t, GLint r, GLint q);
+GLAPI void APIENTRY glMultiTexCoord4ivARB (GLenum target, const GLint *v);
+GLAPI void APIENTRY glMultiTexCoord4sARB (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
+GLAPI void APIENTRY glMultiTexCoord4svARB (GLenum target, const GLshort *v);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLACTIVETEXTUREARBPROC) (GLenum texture);
+typedef void (APIENTRYP PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1DARBPROC) (GLenum target, GLdouble s);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1DVARBPROC) (GLenum target, const GLdouble *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const GLfloat *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1IARBPROC) (GLenum target, GLint s);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1IVARBPROC) (GLenum target, const GLint *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1SARBPROC) (GLenum target, GLshort s);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1SVARBPROC) (GLenum target, const GLshort *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2DARBPROC) (GLenum target, GLdouble s, GLdouble t);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2DVARBPROC) (GLenum target, const GLdouble *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2IARBPROC) (GLenum target, GLint s, GLint t);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2IVARBPROC) (GLenum target, const GLint *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2SARBPROC) (GLenum target, GLshort s, GLshort t);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2SVARBPROC) (GLenum target, const GLshort *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3DVARBPROC) (GLenum target, const GLdouble *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3FVARBPROC) (GLenum target, const GLfloat *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3IARBPROC) (GLenum target, GLint s, GLint t, GLint r);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3IVARBPROC) (GLenum target, const GLint *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3SVARBPROC) (GLenum target, const GLshort *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4DVARBPROC) (GLenum target, const GLdouble *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4IARBPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4IVARBPROC) (GLenum target, const GLint *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort *v);
+#endif
+
+#ifndef GL_ARB_transpose_matrix
+#define GL_ARB_transpose_matrix 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glLoadTransposeMatrixfARB (const GLfloat *m);
+GLAPI void APIENTRY glLoadTransposeMatrixdARB (const GLdouble *m);
+GLAPI void APIENTRY glMultTransposeMatrixfARB (const GLfloat *m);
+GLAPI void APIENTRY glMultTransposeMatrixdARB (const GLdouble *m);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXFARBPROC) (const GLfloat *m);
+typedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXDARBPROC) (const GLdouble *m);
+typedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXFARBPROC) (const GLfloat *m);
+typedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXDARBPROC) (const GLdouble *m);
+#endif
+
+#ifndef GL_ARB_multisample
+#define GL_ARB_multisample 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glSampleCoverageARB (GLfloat value, GLboolean invert);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLSAMPLECOVERAGEARBPROC) (GLfloat value, GLboolean invert);
+#endif
+
+#ifndef GL_ARB_texture_env_add
+#define GL_ARB_texture_env_add 1
+#endif
+
+#ifndef GL_ARB_texture_cube_map
+#define GL_ARB_texture_cube_map 1
+#endif
+
+#ifndef GL_ARB_texture_compression
+#define GL_ARB_texture_compression 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glCompressedTexImage3DARB (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
+GLAPI void APIENTRY glCompressedTexImage2DARB (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
+GLAPI void APIENTRY glCompressedTexImage1DARB (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
+GLAPI void APIENTRY glCompressedTexSubImage3DARB (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
+GLAPI void APIENTRY glCompressedTexSubImage2DARB (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
+GLAPI void APIENTRY glCompressedTexSubImage1DARB (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
+GLAPI void APIENTRY glGetCompressedTexImageARB (GLenum target, GLint level, GLvoid *img);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
+typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GLint level, GLvoid *img);
+#endif
+
+#ifndef GL_ARB_texture_border_clamp
+#define GL_ARB_texture_border_clamp 1
+#endif
+
+#ifndef GL_ARB_point_parameters
+#define GL_ARB_point_parameters 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glPointParameterfARB (GLenum pname, GLfloat param);
+GLAPI void APIENTRY glPointParameterfvARB (GLenum pname, const GLfloat *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLPOINTPARAMETERFARBPROC) (GLenum pname, GLfloat param);
+typedef void (APIENTRYP PFNGLPOINTPARAMETERFVARBPROC) (GLenum pname, const GLfloat *params);
+#endif
+
+#ifndef GL_ARB_vertex_blend
+#define GL_ARB_vertex_blend 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glWeightbvARB (GLint size, const GLbyte *weights);
+GLAPI void APIENTRY glWeightsvARB (GLint size, const GLshort *weights);
+GLAPI void APIENTRY glWeightivARB (GLint size, const GLint *weights);
+GLAPI void APIENTRY glWeightfvARB (GLint size, const GLfloat *weights);
+GLAPI void APIENTRY glWeightdvARB (GLint size, const GLdouble *weights);
+GLAPI void APIENTRY glWeightubvARB (GLint size, const GLubyte *weights);
+GLAPI void APIENTRY glWeightusvARB (GLint size, const GLushort *weights);
+GLAPI void APIENTRY glWeightuivARB (GLint size, const GLuint *weights);
+GLAPI void APIENTRY glWeightPointerARB (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+GLAPI void APIENTRY glVertexBlendARB (GLint count);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLWEIGHTBVARBPROC) (GLint size, const GLbyte *weights);
+typedef void (APIENTRYP PFNGLWEIGHTSVARBPROC) (GLint size, const GLshort *weights);
+typedef void (APIENTRYP PFNGLWEIGHTIVARBPROC) (GLint size, const GLint *weights);
+typedef void (APIENTRYP PFNGLWEIGHTFVARBPROC) (GLint size, const GLfloat *weights);
+typedef void (APIENTRYP PFNGLWEIGHTDVARBPROC) (GLint size, const GLdouble *weights);
+typedef void (APIENTRYP PFNGLWEIGHTUBVARBPROC) (GLint size, const GLubyte *weights);
+typedef void (APIENTRYP PFNGLWEIGHTUSVARBPROC) (GLint size, const GLushort *weights);
+typedef void (APIENTRYP PFNGLWEIGHTUIVARBPROC) (GLint size, const GLuint *weights);
+typedef void (APIENTRYP PFNGLWEIGHTPOINTERARBPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+typedef void (APIENTRYP PFNGLVERTEXBLENDARBPROC) (GLint count);
+#endif
+
+#ifndef GL_ARB_matrix_palette
+#define GL_ARB_matrix_palette 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glCurrentPaletteMatrixARB (GLint index);
+GLAPI void APIENTRY glMatrixIndexubvARB (GLint size, const GLubyte *indices);
+GLAPI void APIENTRY glMatrixIndexusvARB (GLint size, const GLushort *indices);
+GLAPI void APIENTRY glMatrixIndexuivARB (GLint size, const GLuint *indices);
+GLAPI void APIENTRY glMatrixIndexPointerARB (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLCURRENTPALETTEMATRIXARBPROC) (GLint index);
+typedef void (APIENTRYP PFNGLMATRIXINDEXUBVARBPROC) (GLint size, const GLubyte *indices);
+typedef void (APIENTRYP PFNGLMATRIXINDEXUSVARBPROC) (GLint size, const GLushort *indices);
+typedef void (APIENTRYP PFNGLMATRIXINDEXUIVARBPROC) (GLint size, const GLuint *indices);
+typedef void (APIENTRYP PFNGLMATRIXINDEXPOINTERARBPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+#endif
+
+#ifndef GL_ARB_texture_env_combine
+#define GL_ARB_texture_env_combine 1
+#endif
+
+#ifndef GL_ARB_texture_env_crossbar
+#define GL_ARB_texture_env_crossbar 1
+#endif
+
+#ifndef GL_ARB_texture_env_dot3
+#define GL_ARB_texture_env_dot3 1
+#endif
+
+#ifndef GL_ARB_texture_mirrored_repeat
+#define GL_ARB_texture_mirrored_repeat 1
+#endif
+
+#ifndef GL_ARB_depth_texture
+#define GL_ARB_depth_texture 1
+#endif
+
+#ifndef GL_ARB_shadow
+#define GL_ARB_shadow 1
+#endif
+
+#ifndef GL_ARB_shadow_ambient
+#define GL_ARB_shadow_ambient 1
+#endif
+
+#ifndef GL_ARB_window_pos
+#define GL_ARB_window_pos 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glWindowPos2dARB (GLdouble x, GLdouble y);
+GLAPI void APIENTRY glWindowPos2dvARB (const GLdouble *v);
+GLAPI void APIENTRY glWindowPos2fARB (GLfloat x, GLfloat y);
+GLAPI void APIENTRY glWindowPos2fvARB (const GLfloat *v);
+GLAPI void APIENTRY glWindowPos2iARB (GLint x, GLint y);
+GLAPI void APIENTRY glWindowPos2ivARB (const GLint *v);
+GLAPI void APIENTRY glWindowPos2sARB (GLshort x, GLshort y);
+GLAPI void APIENTRY glWindowPos2svARB (const GLshort *v);
+GLAPI void APIENTRY glWindowPos3dARB (GLdouble x, GLdouble y, GLdouble z);
+GLAPI void APIENTRY glWindowPos3dvARB (const GLdouble *v);
+GLAPI void APIENTRY glWindowPos3fARB (GLfloat x, GLfloat y, GLfloat z);
+GLAPI void APIENTRY glWindowPos3fvARB (const GLfloat *v);
+GLAPI void APIENTRY glWindowPos3iARB (GLint x, GLint y, GLint z);
+GLAPI void APIENTRY glWindowPos3ivARB (const GLint *v);
+GLAPI void APIENTRY glWindowPos3sARB (GLshort x, GLshort y, GLshort z);
+GLAPI void APIENTRY glWindowPos3svARB (const GLshort *v);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLWINDOWPOS2DARBPROC) (GLdouble x, GLdouble y);
+typedef void (APIENTRYP PFNGLWINDOWPOS2DVARBPROC) (const GLdouble *v);
+typedef void (APIENTRYP PFNGLWINDOWPOS2FARBPROC) (GLfloat x, GLfloat y);
+typedef void (APIENTRYP PFNGLWINDOWPOS2FVARBPROC) (const GLfloat *v);
+typedef void (APIENTRYP PFNGLWINDOWPOS2IARBPROC) (GLint x, GLint y);
+typedef void (APIENTRYP PFNGLWINDOWPOS2IVARBPROC) (const GLint *v);
+typedef void (APIENTRYP PFNGLWINDOWPOS2SARBPROC) (GLshort x, GLshort y);
+typedef void (APIENTRYP PFNGLWINDOWPOS2SVARBPROC) (const GLshort *v);
+typedef void (APIENTRYP PFNGLWINDOWPOS3DARBPROC) (GLdouble x, GLdouble y, GLdouble z);
+typedef void (APIENTRYP PFNGLWINDOWPOS3DVARBPROC) (const GLdouble *v);
+typedef void (APIENTRYP PFNGLWINDOWPOS3FARBPROC) (GLfloat x, GLfloat y, GLfloat z);
+typedef void (APIENTRYP PFNGLWINDOWPOS3FVARBPROC) (const GLfloat *v);
+typedef void (APIENTRYP PFNGLWINDOWPOS3IARBPROC) (GLint x, GLint y, GLint z);
+typedef void (APIENTRYP PFNGLWINDOWPOS3IVARBPROC) (const GLint *v);
+typedef void (APIENTRYP PFNGLWINDOWPOS3SARBPROC) (GLshort x, GLshort y, GLshort z);
+typedef void (APIENTRYP PFNGLWINDOWPOS3SVARBPROC) (const GLshort *v);
+#endif
+
+#ifndef GL_ARB_vertex_program
+#define GL_ARB_vertex_program 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glVertexAttrib1dARB (GLuint index, GLdouble x);
+GLAPI void APIENTRY glVertexAttrib1dvARB (GLuint index, const GLdouble *v);
+GLAPI void APIENTRY glVertexAttrib1fARB (GLuint index, GLfloat x);
+GLAPI void APIENTRY glVertexAttrib1fvARB (GLuint index, const GLfloat *v);
+GLAPI void APIENTRY glVertexAttrib1sARB (GLuint index, GLshort x);
+GLAPI void APIENTRY glVertexAttrib1svARB (GLuint index, const GLshort *v);
+GLAPI void APIENTRY glVertexAttrib2dARB (GLuint index, GLdouble x, GLdouble y);
+GLAPI void APIENTRY glVertexAttrib2dvARB (GLuint index, const GLdouble *v);
+GLAPI void APIENTRY glVertexAttrib2fARB (GLuint index, GLfloat x, GLfloat y);
+GLAPI void APIENTRY glVertexAttrib2fvARB (GLuint index, const GLfloat *v);
+GLAPI void APIENTRY glVertexAttrib2sARB (GLuint index, GLshort x, GLshort y);
+GLAPI void APIENTRY glVertexAttrib2svARB (GLuint index, const GLshort *v);
+GLAPI void APIENTRY glVertexAttrib3dARB (GLuint index, GLdouble x, GLdouble y, GLdouble z);
+GLAPI void APIENTRY glVertexAttrib3dvARB (GLuint index, const GLdouble *v);
+GLAPI void APIENTRY glVertexAttrib3fARB (GLuint index, GLfloat x, GLfloat y, GLfloat z);
+GLAPI void APIENTRY glVertexAttrib3fvARB (GLuint index, const GLfloat *v);
+GLAPI void APIENTRY glVertexAttrib3sARB (GLuint index, GLshort x, GLshort y, GLshort z);
+GLAPI void APIENTRY glVertexAttrib3svARB (GLuint index, const GLshort *v);
+GLAPI void APIENTRY glVertexAttrib4NbvARB (GLuint index, const GLbyte *v);
+GLAPI void APIENTRY glVertexAttrib4NivARB (GLuint index, const GLint *v);
+GLAPI void APIENTRY glVertexAttrib4NsvARB (GLuint index, const GLshort *v);
+GLAPI void APIENTRY glVertexAttrib4NubARB (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
+GLAPI void APIENTRY glVertexAttrib4NubvARB (GLuint index, const GLubyte *v);
+GLAPI void APIENTRY glVertexAttrib4NuivARB (GLuint index, const GLuint *v);
+GLAPI void APIENTRY glVertexAttrib4NusvARB (GLuint index, const GLushort *v);
+GLAPI void APIENTRY glVertexAttrib4bvARB (GLuint index, const GLbyte *v);
+GLAPI void APIENTRY glVertexAttrib4dARB (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+GLAPI void APIENTRY glVertexAttrib4dvARB (GLuint index, const GLdouble *v);
+GLAPI void APIENTRY glVertexAttrib4fARB (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+GLAPI void APIENTRY glVertexAttrib4fvARB (GLuint index, const GLfloat *v);
+GLAPI void APIENTRY glVertexAttrib4ivARB (GLuint index, const GLint *v);
+GLAPI void APIENTRY glVertexAttrib4sARB (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
+GLAPI void APIENTRY glVertexAttrib4svARB (GLuint index, const GLshort *v);
+GLAPI void APIENTRY glVertexAttrib4ubvARB (GLuint index, const GLubyte *v);
+GLAPI void APIENTRY glVertexAttrib4uivARB (GLuint index, const GLuint *v);
+GLAPI void APIENTRY glVertexAttrib4usvARB (GLuint index, const GLushort *v);
+GLAPI void APIENTRY glVertexAttribPointerARB (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
+GLAPI void APIENTRY glEnableVertexAttribArrayARB (GLuint index);
+GLAPI void APIENTRY glDisableVertexAttribArrayARB (GLuint index);
+GLAPI void APIENTRY glProgramStringARB (GLenum target, GLenum format, GLsizei len, const GLvoid *string);
+GLAPI void APIENTRY glBindProgramARB (GLenum target, GLuint program);
+GLAPI void APIENTRY glDeleteProgramsARB (GLsizei n, const GLuint *programs);
+GLAPI void APIENTRY glGenProgramsARB (GLsizei n, GLuint *programs);
+GLAPI void APIENTRY glProgramEnvParameter4dARB (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+GLAPI void APIENTRY glProgramEnvParameter4dvARB (GLenum target, GLuint index, const GLdouble *params);
+GLAPI void APIENTRY glProgramEnvParameter4fARB (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+GLAPI void APIENTRY glProgramEnvParameter4fvARB (GLenum target, GLuint index, const GLfloat *params);
+GLAPI void APIENTRY glProgramLocalParameter4dARB (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+GLAPI void APIENTRY glProgramLocalParameter4dvARB (GLenum target, GLuint index, const GLdouble *params);
+GLAPI void APIENTRY glProgramLocalParameter4fARB (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+GLAPI void APIENTRY glProgramLocalParameter4fvARB (GLenum target, GLuint index, const GLfloat *params);
+GLAPI void APIENTRY glGetProgramEnvParameterdvARB (GLenum target, GLuint index, GLdouble *params);
+GLAPI void APIENTRY glGetProgramEnvParameterfvARB (GLenum target, GLuint index, GLfloat *params);
+GLAPI void APIENTRY glGetProgramLocalParameterdvARB (GLenum target, GLuint index, GLdouble *params);
+GLAPI void APIENTRY glGetProgramLocalParameterfvARB (GLenum target, GLuint index, GLfloat *params);
+GLAPI void APIENTRY glGetProgramivARB (GLenum target, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetProgramStringARB (GLenum target, GLenum pname, GLvoid *string);
+GLAPI void APIENTRY glGetVertexAttribdvARB (GLuint index, GLenum pname, GLdouble *params);
+GLAPI void APIENTRY glGetVertexAttribfvARB (GLuint index, GLenum pname, GLfloat *params);
+GLAPI void APIENTRY glGetVertexAttribivARB (GLuint index, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetVertexAttribPointervARB (GLuint index, GLenum pname, GLvoid* *pointer);
+GLAPI GLboolean APIENTRY glIsProgramARB (GLuint program);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1DARBPROC) (GLuint index, GLdouble x);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1DVARBPROC) (GLuint index, const GLdouble *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1FARBPROC) (GLuint index, GLfloat x);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1FVARBPROC) (GLuint index, const GLfloat *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1SARBPROC) (GLuint index, GLshort x);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1SVARBPROC) (GLuint index, const GLshort *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2DARBPROC) (GLuint index, GLdouble x, GLdouble y);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2DVARBPROC) (GLuint index, const GLdouble *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2FARBPROC) (GLuint index, GLfloat x, GLfloat y);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2FVARBPROC) (GLuint index, const GLfloat *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2SARBPROC) (GLuint index, GLshort x, GLshort y);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2SVARBPROC) (GLuint index, const GLshort *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3DARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3DVARBPROC) (GLuint index, const GLdouble *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3FVARBPROC) (GLuint index, const GLfloat *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3SARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3SVARBPROC) (GLuint index, const GLshort *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NBVARBPROC) (GLuint index, const GLbyte *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NIVARBPROC) (GLuint index, const GLint *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NSVARBPROC) (GLuint index, const GLshort *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBARBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBVARBPROC) (GLuint index, const GLubyte *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUIVARBPROC) (GLuint index, const GLuint *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUSVARBPROC) (GLuint index, const GLushort *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4BVARBPROC) (GLuint index, const GLbyte *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4DARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4DVARBPROC) (GLuint index, const GLdouble *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4FVARBPROC) (GLuint index, const GLfloat *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4IVARBPROC) (GLuint index, const GLint *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4SARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4SVARBPROC) (GLuint index, const GLshort *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4UBVARBPROC) (GLuint index, const GLubyte *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4UIVARBPROC) (GLuint index, const GLuint *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4USVARBPROC) (GLuint index, const GLushort *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERARBPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
+typedef void (APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYARBPROC) (GLuint index);
+typedef void (APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYARBPROC) (GLuint index);
+typedef void (APIENTRYP PFNGLPROGRAMSTRINGARBPROC) (GLenum target, GLenum format, GLsizei len, const GLvoid *string);
+typedef void (APIENTRYP PFNGLBINDPROGRAMARBPROC) (GLenum target, GLuint program);
+typedef void (APIENTRYP PFNGLDELETEPROGRAMSARBPROC) (GLsizei n, const GLuint *programs);
+typedef void (APIENTRYP PFNGLGENPROGRAMSARBPROC) (GLsizei n, GLuint *programs);
+typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETER4DARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETER4DVARBPROC) (GLenum target, GLuint index, const GLdouble *params);
+typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETER4FARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat *params);
+typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETER4DARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETER4DVARBPROC) (GLenum target, GLuint index, const GLdouble *params);
+typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETER4FARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat *params);
+typedef void (APIENTRYP PFNGLGETPROGRAMENVPARAMETERDVARBPROC) (GLenum target, GLuint index, GLdouble *params);
+typedef void (APIENTRYP PFNGLGETPROGRAMENVPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC) (GLenum target, GLuint index, GLdouble *params);
+typedef void (APIENTRYP PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETPROGRAMIVARBPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETPROGRAMSTRINGARBPROC) (GLenum target, GLenum pname, GLvoid *string);
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBDVARBPROC) (GLuint index, GLenum pname, GLdouble *params);
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBFVARBPROC) (GLuint index, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIVARBPROC) (GLuint index, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVARBPROC) (GLuint index, GLenum pname, GLvoid* *pointer);
+typedef GLboolean (APIENTRYP PFNGLISPROGRAMARBPROC) (GLuint program);
+#endif
+
+#ifndef GL_ARB_fragment_program
+#define GL_ARB_fragment_program 1
+/* All ARB_fragment_program entry points are shared with ARB_vertex_program. */
+#endif
+
+#ifndef GL_ARB_vertex_buffer_object
+#define GL_ARB_vertex_buffer_object 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glBindBufferARB (GLenum target, GLuint buffer);
+GLAPI void APIENTRY glDeleteBuffersARB (GLsizei n, const GLuint *buffers);
+GLAPI void APIENTRY glGenBuffersARB (GLsizei n, GLuint *buffers);
+GLAPI GLboolean APIENTRY glIsBufferARB (GLuint buffer);
+GLAPI void APIENTRY glBufferDataARB (GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage);
+GLAPI void APIENTRY glBufferSubDataARB (GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data);
+GLAPI void APIENTRY glGetBufferSubDataARB (GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid *data);
+GLAPI GLvoid* APIENTRY glMapBufferARB (GLenum target, GLenum access);
+GLAPI GLboolean APIENTRY glUnmapBufferARB (GLenum target);
+GLAPI void APIENTRY glGetBufferParameterivARB (GLenum target, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetBufferPointervARB (GLenum target, GLenum pname, GLvoid* *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLBINDBUFFERARBPROC) (GLenum target, GLuint buffer);
+typedef void (APIENTRYP PFNGLDELETEBUFFERSARBPROC) (GLsizei n, const GLuint *buffers);
+typedef void (APIENTRYP PFNGLGENBUFFERSARBPROC) (GLsizei n, GLuint *buffers);
+typedef GLboolean (APIENTRYP PFNGLISBUFFERARBPROC) (GLuint buffer);
+typedef void (APIENTRYP PFNGLBUFFERDATAARBPROC) (GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage);
+typedef void (APIENTRYP PFNGLBUFFERSUBDATAARBPROC) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data);
+typedef void (APIENTRYP PFNGLGETBUFFERSUBDATAARBPROC) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid *data);
+typedef GLvoid* (APIENTRYP PFNGLMAPBUFFERARBPROC) (GLenum target, GLenum access);
+typedef GLboolean (APIENTRYP PFNGLUNMAPBUFFERARBPROC) (GLenum target);
+typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERIVARBPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETBUFFERPOINTERVARBPROC) (GLenum target, GLenum pname, GLvoid* *params);
+#endif
+
+#ifndef GL_ARB_occlusion_query
+#define GL_ARB_occlusion_query 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glGenQueriesARB (GLsizei n, GLuint *ids);
+GLAPI void APIENTRY glDeleteQueriesARB (GLsizei n, const GLuint *ids);
+GLAPI GLboolean APIENTRY glIsQueryARB (GLuint id);
+GLAPI void APIENTRY glBeginQueryARB (GLenum target, GLuint id);
+GLAPI void APIENTRY glEndQueryARB (GLenum target);
+GLAPI void APIENTRY glGetQueryivARB (GLenum target, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetQueryObjectivARB (GLuint id, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetQueryObjectuivARB (GLuint id, GLenum pname, GLuint *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLGENQUERIESARBPROC) (GLsizei n, GLuint *ids);
+typedef void (APIENTRYP PFNGLDELETEQUERIESARBPROC) (GLsizei n, const GLuint *ids);
+typedef GLboolean (APIENTRYP PFNGLISQUERYARBPROC) (GLuint id);
+typedef void (APIENTRYP PFNGLBEGINQUERYARBPROC) (GLenum target, GLuint id);
+typedef void (APIENTRYP PFNGLENDQUERYARBPROC) (GLenum target);
+typedef void (APIENTRYP PFNGLGETQUERYIVARBPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETQUERYOBJECTIVARBPROC) (GLuint id, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETQUERYOBJECTUIVARBPROC) (GLuint id, GLenum pname, GLuint *params);
+#endif
+
+#ifndef GL_ARB_shader_objects
+#define GL_ARB_shader_objects 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glDeleteObjectARB (GLhandleARB obj);
+GLAPI GLhandleARB APIENTRY glGetHandleARB (GLenum pname);
+GLAPI void APIENTRY glDetachObjectARB (GLhandleARB containerObj, GLhandleARB attachedObj);
+GLAPI GLhandleARB APIENTRY glCreateShaderObjectARB (GLenum shaderType);
+GLAPI void APIENTRY glShaderSourceARB (GLhandleARB shaderObj, GLsizei count, const GLcharARB* *string, const GLint *length);
+GLAPI void APIENTRY glCompileShaderARB (GLhandleARB shaderObj);
+GLAPI GLhandleARB APIENTRY glCreateProgramObjectARB (void);
+GLAPI void APIENTRY glAttachObjectARB (GLhandleARB containerObj, GLhandleARB obj);
+GLAPI void APIENTRY glLinkProgramARB (GLhandleARB programObj);
+GLAPI void APIENTRY glUseProgramObjectARB (GLhandleARB programObj);
+GLAPI void APIENTRY glValidateProgramARB (GLhandleARB programObj);
+GLAPI void APIENTRY glUniform1fARB (GLint location, GLfloat v0);
+GLAPI void APIENTRY glUniform2fARB (GLint location, GLfloat v0, GLfloat v1);
+GLAPI void APIENTRY glUniform3fARB (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
+GLAPI void APIENTRY glUniform4fARB (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
+GLAPI void APIENTRY glUniform1iARB (GLint location, GLint v0);
+GLAPI void APIENTRY glUniform2iARB (GLint location, GLint v0, GLint v1);
+GLAPI void APIENTRY glUniform3iARB (GLint location, GLint v0, GLint v1, GLint v2);
+GLAPI void APIENTRY glUniform4iARB (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
+GLAPI void APIENTRY glUniform1fvARB (GLint location, GLsizei count, const GLfloat *value);
+GLAPI void APIENTRY glUniform2fvARB (GLint location, GLsizei count, const GLfloat *value);
+GLAPI void APIENTRY glUniform3fvARB (GLint location, GLsizei count, const GLfloat *value);
+GLAPI void APIENTRY glUniform4fvARB (GLint location, GLsizei count, const GLfloat *value);
+GLAPI void APIENTRY glUniform1ivARB (GLint location, GLsizei count, const GLint *value);
+GLAPI void APIENTRY glUniform2ivARB (GLint location, GLsizei count, const GLint *value);
+GLAPI void APIENTRY glUniform3ivARB (GLint location, GLsizei count, const GLint *value);
+GLAPI void APIENTRY glUniform4ivARB (GLint location, GLsizei count, const GLint *value);
+GLAPI void APIENTRY glUniformMatrix2fvARB (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void APIENTRY glUniformMatrix3fvARB (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void APIENTRY glUniformMatrix4fvARB (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void APIENTRY glGetObjectParameterfvARB (GLhandleARB obj, GLenum pname, GLfloat *params);
+GLAPI void APIENTRY glGetObjectParameterivARB (GLhandleARB obj, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetInfoLogARB (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog);
+GLAPI void APIENTRY glGetAttachedObjectsARB (GLhandleARB containerObj, GLsizei maxCount, GLsizei *count, GLhandleARB *obj);
+GLAPI GLint APIENTRY glGetUniformLocationARB (GLhandleARB programObj, const GLcharARB *name);
+GLAPI void APIENTRY glGetActiveUniformARB (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);
+GLAPI void APIENTRY glGetUniformfvARB (GLhandleARB programObj, GLint location, GLfloat *params);
+GLAPI void APIENTRY glGetUniformivARB (GLhandleARB programObj, GLint location, GLint *params);
+GLAPI void APIENTRY glGetShaderSourceARB (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *source);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLDELETEOBJECTARBPROC) (GLhandleARB obj);
+typedef GLhandleARB (APIENTRYP PFNGLGETHANDLEARBPROC) (GLenum pname);
+typedef void (APIENTRYP PFNGLDETACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB attachedObj);
+typedef GLhandleARB (APIENTRYP PFNGLCREATESHADEROBJECTARBPROC) (GLenum shaderType);
+typedef void (APIENTRYP PFNGLSHADERSOURCEARBPROC) (GLhandleARB shaderObj, GLsizei count, const GLcharARB* *string, const GLint *length);
+typedef void (APIENTRYP PFNGLCOMPILESHADERARBPROC) (GLhandleARB shaderObj);
+typedef GLhandleARB (APIENTRYP PFNGLCREATEPROGRAMOBJECTARBPROC) (void);
+typedef void (APIENTRYP PFNGLATTACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB obj);
+typedef void (APIENTRYP PFNGLLINKPROGRAMARBPROC) (GLhandleARB programObj);
+typedef void (APIENTRYP PFNGLUSEPROGRAMOBJECTARBPROC) (GLhandleARB programObj);
+typedef void (APIENTRYP PFNGLVALIDATEPROGRAMARBPROC) (GLhandleARB programObj);
+typedef void (APIENTRYP PFNGLUNIFORM1FARBPROC) (GLint location, GLfloat v0);
+typedef void (APIENTRYP PFNGLUNIFORM2FARBPROC) (GLint location, GLfloat v0, GLfloat v1);
+typedef void (APIENTRYP PFNGLUNIFORM3FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
+typedef void (APIENTRYP PFNGLUNIFORM4FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
+typedef void (APIENTRYP PFNGLUNIFORM1IARBPROC) (GLint location, GLint v0);
+typedef void (APIENTRYP PFNGLUNIFORM2IARBPROC) (GLint location, GLint v0, GLint v1);
+typedef void (APIENTRYP PFNGLUNIFORM3IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2);
+typedef void (APIENTRYP PFNGLUNIFORM4IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
+typedef void (APIENTRYP PFNGLUNIFORM1FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);
+typedef void (APIENTRYP PFNGLUNIFORM2FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);
+typedef void (APIENTRYP PFNGLUNIFORM3FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);
+typedef void (APIENTRYP PFNGLUNIFORM4FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);
+typedef void (APIENTRYP PFNGLUNIFORM1IVARBPROC) (GLint location, GLsizei count, const GLint *value);
+typedef void (APIENTRYP PFNGLUNIFORM2IVARBPROC) (GLint location, GLsizei count, const GLint *value);
+typedef void (APIENTRYP PFNGLUNIFORM3IVARBPROC) (GLint location, GLsizei count, const GLint *value);
+typedef void (APIENTRYP PFNGLUNIFORM4IVARBPROC) (GLint location, GLsizei count, const GLint *value);
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX2FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX3FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX4FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLGETOBJECTPARAMETERFVARBPROC) (GLhandleARB obj, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETOBJECTPARAMETERIVARBPROC) (GLhandleARB obj, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETINFOLOGARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog);
+typedef void (APIENTRYP PFNGLGETATTACHEDOBJECTSARBPROC) (GLhandleARB containerObj, GLsizei maxCount, GLsizei *count, GLhandleARB *obj);
+typedef GLint (APIENTRYP PFNGLGETUNIFORMLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB *name);
+typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMARBPROC) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);
+typedef void (APIENTRYP PFNGLGETUNIFORMFVARBPROC) (GLhandleARB programObj, GLint location, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETUNIFORMIVARBPROC) (GLhandleARB programObj, GLint location, GLint *params);
+typedef void (APIENTRYP PFNGLGETSHADERSOURCEARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *source);
+#endif
+
+#ifndef GL_ARB_vertex_shader
+#define GL_ARB_vertex_shader 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glBindAttribLocationARB (GLhandleARB programObj, GLuint index, const GLcharARB *name);
+GLAPI void APIENTRY glGetActiveAttribARB (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);
+GLAPI GLint APIENTRY glGetAttribLocationARB (GLhandleARB programObj, const GLcharARB *name);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLBINDATTRIBLOCATIONARBPROC) (GLhandleARB programObj, GLuint index, const GLcharARB *name);
+typedef void (APIENTRYP PFNGLGETACTIVEATTRIBARBPROC) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);
+typedef GLint (APIENTRYP PFNGLGETATTRIBLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB *name);
+#endif
+
+#ifndef GL_ARB_fragment_shader
+#define GL_ARB_fragment_shader 1
+#endif
+
+#ifndef GL_ARB_shading_language_100
+#define GL_ARB_shading_language_100 1
+#endif
+
+#ifndef GL_ARB_texture_non_power_of_two
+#define GL_ARB_texture_non_power_of_two 1
+#endif
+
+#ifndef GL_ARB_point_sprite
+#define GL_ARB_point_sprite 1
+#endif
+
+#ifndef GL_ARB_fragment_program_shadow
+#define GL_ARB_fragment_program_shadow 1
+#endif
+
+#ifndef GL_ARB_draw_buffers
+#define GL_ARB_draw_buffers 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glDrawBuffersARB (GLsizei n, const GLenum *bufs);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLDRAWBUFFERSARBPROC) (GLsizei n, const GLenum *bufs);
+#endif
+
+#ifndef GL_ARB_texture_rectangle
+#define GL_ARB_texture_rectangle 1
+#endif
+
+#ifndef GL_ARB_color_buffer_float
+#define GL_ARB_color_buffer_float 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glClampColorARB (GLenum target, GLenum clamp);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLCLAMPCOLORARBPROC) (GLenum target, GLenum clamp);
+#endif
+
+#ifndef GL_ARB_half_float_pixel
+#define GL_ARB_half_float_pixel 1
+#endif
+
+#ifndef GL_ARB_texture_float
+#define GL_ARB_texture_float 1
+#endif
+
+#ifndef GL_ARB_pixel_buffer_object
+#define GL_ARB_pixel_buffer_object 1
+#endif
+
+#ifndef GL_ARB_depth_buffer_float
+#define GL_ARB_depth_buffer_float 1
+#endif
+
+#ifndef GL_ARB_draw_instanced
+#define GL_ARB_draw_instanced 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glDrawArraysInstancedARB (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
+GLAPI void APIENTRY glDrawElementsInstancedARB (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDARBPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
+typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDARBPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);
+#endif
+
+#ifndef GL_ARB_framebuffer_object
+#define GL_ARB_framebuffer_object 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI GLboolean APIENTRY glIsRenderbuffer (GLuint renderbuffer);
+GLAPI void APIENTRY glBindRenderbuffer (GLenum target, GLuint renderbuffer);
+GLAPI void APIENTRY glDeleteRenderbuffers (GLsizei n, const GLuint *renderbuffers);
+GLAPI void APIENTRY glGenRenderbuffers (GLsizei n, GLuint *renderbuffers);
+GLAPI void APIENTRY glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
+GLAPI void APIENTRY glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint *params);
+GLAPI GLboolean APIENTRY glIsFramebuffer (GLuint framebuffer);
+GLAPI void APIENTRY glBindFramebuffer (GLenum target, GLuint framebuffer);
+GLAPI void APIENTRY glDeleteFramebuffers (GLsizei n, const GLuint *framebuffers);
+GLAPI void APIENTRY glGenFramebuffers (GLsizei n, GLuint *framebuffers);
+GLAPI GLenum APIENTRY glCheckFramebufferStatus (GLenum target);
+GLAPI void APIENTRY glFramebufferTexture1D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+GLAPI void APIENTRY glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+GLAPI void APIENTRY glFramebufferTexture3D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
+GLAPI void APIENTRY glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
+GLAPI void APIENTRY glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGenerateMipmap (GLenum target);
+GLAPI void APIENTRY glBlitFramebuffer (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
+GLAPI void APIENTRY glRenderbufferStorageMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
+GLAPI void APIENTRY glFramebufferTextureLayer (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef GLboolean (APIENTRYP PFNGLISRENDERBUFFERPROC) (GLuint renderbuffer);
+typedef void (APIENTRYP PFNGLBINDRENDERBUFFERPROC) (GLenum target, GLuint renderbuffer);
+typedef void (APIENTRYP PFNGLDELETERENDERBUFFERSPROC) (GLsizei n, const GLuint *renderbuffers);
+typedef void (APIENTRYP PFNGLGENRENDERBUFFERSPROC) (GLsizei n, GLuint *renderbuffers);
+typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
+typedef void (APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
+typedef GLboolean (APIENTRYP PFNGLISFRAMEBUFFERPROC) (GLuint framebuffer);
+typedef void (APIENTRYP PFNGLBINDFRAMEBUFFERPROC) (GLenum target, GLuint framebuffer);
+typedef void (APIENTRYP PFNGLDELETEFRAMEBUFFERSPROC) (GLsizei n, const GLuint *framebuffers);
+typedef void (APIENTRYP PFNGLGENFRAMEBUFFERSPROC) (GLsizei n, GLuint *framebuffers);
+typedef GLenum (APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSPROC) (GLenum target);
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE1DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
+typedef void (APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFERPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
+typedef void (APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) (GLenum target, GLenum attachment, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGENERATEMIPMAPPROC) (GLenum target);
+typedef void (APIENTRYP PFNGLBLITFRAMEBUFFERPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
+typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
+#endif
+
+#ifndef GL_ARB_framebuffer_sRGB
+#define GL_ARB_framebuffer_sRGB 1
+#endif
+
+#ifndef GL_ARB_geometry_shader4
+#define GL_ARB_geometry_shader4 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glProgramParameteriARB (GLuint program, GLenum pname, GLint value);
+GLAPI void APIENTRY glFramebufferTextureARB (GLenum target, GLenum attachment, GLuint texture, GLint level);
+GLAPI void APIENTRY glFramebufferTextureLayerARB (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
+GLAPI void APIENTRY glFramebufferTextureFaceARB (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLPROGRAMPARAMETERIARBPROC) (GLuint program, GLenum pname, GLint value);
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level);
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREFACEARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);
+#endif
+
+#ifndef GL_ARB_half_float_vertex
+#define GL_ARB_half_float_vertex 1
+#endif
+
+#ifndef GL_ARB_instanced_arrays
+#define GL_ARB_instanced_arrays 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glVertexAttribDivisorARB (GLuint index, GLuint divisor);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLVERTEXATTRIBDIVISORARBPROC) (GLuint index, GLuint divisor);
+#endif
+
+#ifndef GL_ARB_map_buffer_range
+#define GL_ARB_map_buffer_range 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI GLvoid* APIENTRY glMapBufferRange (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
+GLAPI void APIENTRY glFlushMappedBufferRange (GLenum target, GLintptr offset, GLsizeiptr length);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef GLvoid* (APIENTRYP PFNGLMAPBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
+typedef void (APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length);
+#endif
+
+#ifndef GL_ARB_texture_buffer_object
+#define GL_ARB_texture_buffer_object 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glTexBufferARB (GLenum target, GLenum internalformat, GLuint buffer);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLTEXBUFFERARBPROC) (GLenum target, GLenum internalformat, GLuint buffer);
+#endif
+
+#ifndef GL_ARB_texture_compression_rgtc
+#define GL_ARB_texture_compression_rgtc 1
+#endif
+
+#ifndef GL_ARB_texture_rg
+#define GL_ARB_texture_rg 1
+#endif
+
+#ifndef GL_ARB_vertex_array_object
+#define GL_ARB_vertex_array_object 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glBindVertexArray (GLuint array);
+GLAPI void APIENTRY glDeleteVertexArrays (GLsizei n, const GLuint *arrays);
+GLAPI void APIENTRY glGenVertexArrays (GLsizei n, GLuint *arrays);
+GLAPI GLboolean APIENTRY glIsVertexArray (GLuint array);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLBINDVERTEXARRAYPROC) (GLuint array);
+typedef void (APIENTRYP PFNGLDELETEVERTEXARRAYSPROC) (GLsizei n, const GLuint *arrays);
+typedef void (APIENTRYP PFNGLGENVERTEXARRAYSPROC) (GLsizei n, GLuint *arrays);
+typedef GLboolean (APIENTRYP PFNGLISVERTEXARRAYPROC) (GLuint array);
+#endif
+
+#ifndef GL_ARB_uniform_buffer_object
+#define GL_ARB_uniform_buffer_object 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glGetUniformIndices (GLuint program, GLsizei uniformCount, const GLchar* const *uniformNames, GLuint *uniformIndices);
+GLAPI void APIENTRY glGetActiveUniformsiv (GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetActiveUniformName (GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName);
+GLAPI GLuint APIENTRY glGetUniformBlockIndex (GLuint program, const GLchar *uniformBlockName);
+GLAPI void APIENTRY glGetActiveUniformBlockiv (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetActiveUniformBlockName (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
+GLAPI void APIENTRY glUniformBlockBinding (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLGETUNIFORMINDICESPROC) (GLuint program, GLsizei uniformCount, const GLchar* const *uniformNames, GLuint *uniformIndices);
+typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMSIVPROC) (GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMNAMEPROC) (GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName);
+typedef GLuint (APIENTRYP PFNGLGETUNIFORMBLOCKINDEXPROC) (GLuint program, const GLchar *uniformBlockName);
+typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKIVPROC) (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC) (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
+typedef void (APIENTRYP PFNGLUNIFORMBLOCKBINDINGPROC) (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
+#endif
+
+#ifndef GL_ARB_compatibility
+#define GL_ARB_compatibility 1
+#endif
+
+#ifndef GL_ARB_copy_buffer
+#define GL_ARB_copy_buffer 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glCopyBufferSubData (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLCOPYBUFFERSUBDATAPROC) (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
+#endif
+
+#ifndef GL_ARB_shader_texture_lod
+#define GL_ARB_shader_texture_lod 1
+#endif
+
+#ifndef GL_ARB_depth_clamp
+#define GL_ARB_depth_clamp 1
+#endif
+
+#ifndef GL_ARB_draw_elements_base_vertex
+#define GL_ARB_draw_elements_base_vertex 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glDrawElementsBaseVertex (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);
+GLAPI void APIENTRY glDrawRangeElementsBaseVertex (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);
+GLAPI void APIENTRY glDrawElementsInstancedBaseVertex (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount, GLint basevertex);
+GLAPI void APIENTRY glMultiDrawElementsBaseVertex (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount, const GLint *basevertex);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLDRAWELEMENTSBASEVERTEXPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);
+typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);
+typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount, GLint basevertex);
+typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount, const GLint *basevertex);
+#endif
+
+#ifndef GL_ARB_fragment_coord_conventions
+#define GL_ARB_fragment_coord_conventions 1
+#endif
+
+#ifndef GL_ARB_provoking_vertex
+#define GL_ARB_provoking_vertex 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glProvokingVertex (GLenum mode);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLPROVOKINGVERTEXPROC) (GLenum mode);
+#endif
+
+#ifndef GL_ARB_seamless_cube_map
+#define GL_ARB_seamless_cube_map 1
+#endif
+
+#ifndef GL_ARB_sync
+#define GL_ARB_sync 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI GLsync APIENTRY glFenceSync (GLenum condition, GLbitfield flags);
+GLAPI GLboolean APIENTRY glIsSync (GLsync sync);
+GLAPI void APIENTRY glDeleteSync (GLsync sync);
+GLAPI GLenum APIENTRY glClientWaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout);
+GLAPI void APIENTRY glWaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout);
+GLAPI void APIENTRY glGetInteger64v (GLenum pname, GLint64 *params);
+GLAPI void APIENTRY glGetSynciv (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef GLsync (APIENTRYP PFNGLFENCESYNCPROC) (GLenum condition, GLbitfield flags);
+typedef GLboolean (APIENTRYP PFNGLISSYNCPROC) (GLsync sync);
+typedef void (APIENTRYP PFNGLDELETESYNCPROC) (GLsync sync);
+typedef GLenum (APIENTRYP PFNGLCLIENTWAITSYNCPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
+typedef void (APIENTRYP PFNGLWAITSYNCPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
+typedef void (APIENTRYP PFNGLGETINTEGER64VPROC) (GLenum pname, GLint64 *params);
+typedef void (APIENTRYP PFNGLGETSYNCIVPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
+#endif
+
+#ifndef GL_ARB_texture_multisample
+#define GL_ARB_texture_multisample 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glTexImage2DMultisample (GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
+GLAPI void APIENTRY glTexImage3DMultisample (GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
+GLAPI void APIENTRY glGetMultisamplefv (GLenum pname, GLuint index, GLfloat *val);
+GLAPI void APIENTRY glSampleMaski (GLuint index, GLbitfield mask);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLTEXIMAGE2DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
+typedef void (APIENTRYP PFNGLTEXIMAGE3DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
+typedef void (APIENTRYP PFNGLGETMULTISAMPLEFVPROC) (GLenum pname, GLuint index, GLfloat *val);
+typedef void (APIENTRYP PFNGLSAMPLEMASKIPROC) (GLuint index, GLbitfield mask);
+#endif
+
+#ifndef GL_ARB_vertex_array_bgra
+#define GL_ARB_vertex_array_bgra 1
+#endif
+
+#ifndef GL_ARB_draw_buffers_blend
+#define GL_ARB_draw_buffers_blend 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glBlendEquationiARB (GLuint buf, GLenum mode);
+GLAPI void APIENTRY glBlendEquationSeparateiARB (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
+GLAPI void APIENTRY glBlendFunciARB (GLuint buf, GLenum src, GLenum dst);
+GLAPI void APIENTRY glBlendFuncSeparateiARB (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLBLENDEQUATIONIARBPROC) (GLuint buf, GLenum mode);
+typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEIARBPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
+typedef void (APIENTRYP PFNGLBLENDFUNCIARBPROC) (GLuint buf, GLenum src, GLenum dst);
+typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEIARBPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
+#endif
+
+#ifndef GL_ARB_sample_shading
+#define GL_ARB_sample_shading 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glMinSampleShadingARB (GLfloat value);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLMINSAMPLESHADINGARBPROC) (GLfloat value);
+#endif
+
+#ifndef GL_ARB_texture_cube_map_array
+#define GL_ARB_texture_cube_map_array 1
+#endif
+
+#ifndef GL_ARB_texture_gather
+#define GL_ARB_texture_gather 1
+#endif
+
+#ifndef GL_ARB_texture_query_lod
+#define GL_ARB_texture_query_lod 1
+#endif
+
+#ifndef GL_ARB_shading_language_include
+#define GL_ARB_shading_language_include 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glNamedStringARB (GLenum type, GLint namelen, const GLchar *name, GLint stringlen, const GLchar *string);
+GLAPI void APIENTRY glDeleteNamedStringARB (GLint namelen, const GLchar *name);
+GLAPI void APIENTRY glCompileShaderIncludeARB (GLuint shader, GLsizei count, const GLchar* *path, const GLint *length);
+GLAPI GLboolean APIENTRY glIsNamedStringARB (GLint namelen, const GLchar *name);
+GLAPI void APIENTRY glGetNamedStringARB (GLint namelen, const GLchar *name, GLsizei bufSize, GLint *stringlen, GLchar *string);
+GLAPI void APIENTRY glGetNamedStringivARB (GLint namelen, const GLchar *name, GLenum pname, GLint *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLNAMEDSTRINGARBPROC) (GLenum type, GLint namelen, const GLchar *name, GLint stringlen, const GLchar *string);
+typedef void (APIENTRYP PFNGLDELETENAMEDSTRINGARBPROC) (GLint namelen, const GLchar *name);
+typedef void (APIENTRYP PFNGLCOMPILESHADERINCLUDEARBPROC) (GLuint shader, GLsizei count, const GLchar* *path, const GLint *length);
+typedef GLboolean (APIENTRYP PFNGLISNAMEDSTRINGARBPROC) (GLint namelen, const GLchar *name);
+typedef void (APIENTRYP PFNGLGETNAMEDSTRINGARBPROC) (GLint namelen, const GLchar *name, GLsizei bufSize, GLint *stringlen, GLchar *string);
+typedef void (APIENTRYP PFNGLGETNAMEDSTRINGIVARBPROC) (GLint namelen, const GLchar *name, GLenum pname, GLint *params);
+#endif
+
+#ifndef GL_ARB_texture_compression_bptc
+#define GL_ARB_texture_compression_bptc 1
+#endif
+
+#ifndef GL_ARB_blend_func_extended
+#define GL_ARB_blend_func_extended 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glBindFragDataLocationIndexed (GLuint program, GLuint colorNumber, GLuint index, const GLchar *name);
+GLAPI GLint APIENTRY glGetFragDataIndex (GLuint program, const GLchar *name);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONINDEXEDPROC) (GLuint program, GLuint colorNumber, GLuint index, const GLchar *name);
+typedef GLint (APIENTRYP PFNGLGETFRAGDATAINDEXPROC) (GLuint program, const GLchar *name);
+#endif
+
+#ifndef GL_ARB_explicit_attrib_location
+#define GL_ARB_explicit_attrib_location 1
+#endif
+
+#ifndef GL_ARB_occlusion_query2
+#define GL_ARB_occlusion_query2 1
+#endif
+
+#ifndef GL_ARB_sampler_objects
+#define GL_ARB_sampler_objects 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glGenSamplers (GLsizei count, GLuint *samplers);
+GLAPI void APIENTRY glDeleteSamplers (GLsizei count, const GLuint *samplers);
+GLAPI GLboolean APIENTRY glIsSampler (GLuint sampler);
+GLAPI void APIENTRY glBindSampler (GLuint unit, GLuint sampler);
+GLAPI void APIENTRY glSamplerParameteri (GLuint sampler, GLenum pname, GLint param);
+GLAPI void APIENTRY glSamplerParameteriv (GLuint sampler, GLenum pname, const GLint *param);
+GLAPI void APIENTRY glSamplerParameterf (GLuint sampler, GLenum pname, GLfloat param);
+GLAPI void APIENTRY glSamplerParameterfv (GLuint sampler, GLenum pname, const GLfloat *param);
+GLAPI void APIENTRY glSamplerParameterIiv (GLuint sampler, GLenum pname, const GLint *param);
+GLAPI void APIENTRY glSamplerParameterIuiv (GLuint sampler, GLenum pname, const GLuint *param);
+GLAPI void APIENTRY glGetSamplerParameteriv (GLuint sampler, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetSamplerParameterIiv (GLuint sampler, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetSamplerParameterfv (GLuint sampler, GLenum pname, GLfloat *params);
+GLAPI void APIENTRY glGetSamplerParameterIuiv (GLuint sampler, GLenum pname, GLuint *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLGENSAMPLERSPROC) (GLsizei count, GLuint *samplers);
+typedef void (APIENTRYP PFNGLDELETESAMPLERSPROC) (GLsizei count, const GLuint *samplers);
+typedef GLboolean (APIENTRYP PFNGLISSAMPLERPROC) (GLuint sampler);
+typedef void (APIENTRYP PFNGLBINDSAMPLERPROC) (GLuint unit, GLuint sampler);
+typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIPROC) (GLuint sampler, GLenum pname, GLint param);
+typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, const GLint *param);
+typedef void (APIENTRYP PFNGLSAMPLERPARAMETERFPROC) (GLuint sampler, GLenum pname, GLfloat param);
+typedef void (APIENTRYP PFNGLSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, const GLfloat *param);
+typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIIVPROC) (GLuint sampler, GLenum pname, const GLint *param);
+typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIUIVPROC) (GLuint sampler, GLenum pname, const GLuint *param);
+typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIIVPROC) (GLuint sampler, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIUIVPROC) (GLuint sampler, GLenum pname, GLuint *params);
+#endif
+
+#ifndef GL_ARB_shader_bit_encoding
+#define GL_ARB_shader_bit_encoding 1
+#endif
+
+#ifndef GL_ARB_texture_rgb10_a2ui
+#define GL_ARB_texture_rgb10_a2ui 1
+#endif
+
+#ifndef GL_ARB_texture_swizzle
+#define GL_ARB_texture_swizzle 1
+#endif
+
+#ifndef GL_ARB_timer_query
+#define GL_ARB_timer_query 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glQueryCounter (GLuint id, GLenum target);
+GLAPI void APIENTRY glGetQueryObjecti64v (GLuint id, GLenum pname, GLint64 *params);
+GLAPI void APIENTRY glGetQueryObjectui64v (GLuint id, GLenum pname, GLuint64 *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLQUERYCOUNTERPROC) (GLuint id, GLenum target);
+typedef void (APIENTRYP PFNGLGETQUERYOBJECTI64VPROC) (GLuint id, GLenum pname, GLint64 *params);
+typedef void (APIENTRYP PFNGLGETQUERYOBJECTUI64VPROC) (GLuint id, GLenum pname, GLuint64 *params);
+#endif
+
+#ifndef GL_ARB_vertex_type_2_10_10_10_rev
+#define GL_ARB_vertex_type_2_10_10_10_rev 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glVertexP2ui (GLenum type, GLuint value);
+GLAPI void APIENTRY glVertexP2uiv (GLenum type, const GLuint *value);
+GLAPI void APIENTRY glVertexP3ui (GLenum type, GLuint value);
+GLAPI void APIENTRY glVertexP3uiv (GLenum type, const GLuint *value);
+GLAPI void APIENTRY glVertexP4ui (GLenum type, GLuint value);
+GLAPI void APIENTRY glVertexP4uiv (GLenum type, const GLuint *value);
+GLAPI void APIENTRY glTexCoordP1ui (GLenum type, GLuint coords);
+GLAPI void APIENTRY glTexCoordP1uiv (GLenum type, const GLuint *coords);
+GLAPI void APIENTRY glTexCoordP2ui (GLenum type, GLuint coords);
+GLAPI void APIENTRY glTexCoordP2uiv (GLenum type, const GLuint *coords);
+GLAPI void APIENTRY glTexCoordP3ui (GLenum type, GLuint coords);
+GLAPI void APIENTRY glTexCoordP3uiv (GLenum type, const GLuint *coords);
+GLAPI void APIENTRY glTexCoordP4ui (GLenum type, GLuint coords);
+GLAPI void APIENTRY glTexCoordP4uiv (GLenum type, const GLuint *coords);
+GLAPI void APIENTRY glMultiTexCoordP1ui (GLenum texture, GLenum type, GLuint coords);
+GLAPI void APIENTRY glMultiTexCoordP1uiv (GLenum texture, GLenum type, const GLuint *coords);
+GLAPI void APIENTRY glMultiTexCoordP2ui (GLenum texture, GLenum type, GLuint coords);
+GLAPI void APIENTRY glMultiTexCoordP2uiv (GLenum texture, GLenum type, const GLuint *coords);
+GLAPI void APIENTRY glMultiTexCoordP3ui (GLenum texture, GLenum type, GLuint coords);
+GLAPI void APIENTRY glMultiTexCoordP3uiv (GLenum texture, GLenum type, const GLuint *coords);
+GLAPI void APIENTRY glMultiTexCoordP4ui (GLenum texture, GLenum type, GLuint coords);
+GLAPI void APIENTRY glMultiTexCoordP4uiv (GLenum texture, GLenum type, const GLuint *coords);
+GLAPI void APIENTRY glNormalP3ui (GLenum type, GLuint coords);
+GLAPI void APIENTRY glNormalP3uiv (GLenum type, const GLuint *coords);
+GLAPI void APIENTRY glColorP3ui (GLenum type, GLuint color);
+GLAPI void APIENTRY glColorP3uiv (GLenum type, const GLuint *color);
+GLAPI void APIENTRY glColorP4ui (GLenum type, GLuint color);
+GLAPI void APIENTRY glColorP4uiv (GLenum type, const GLuint *color);
+GLAPI void APIENTRY glSecondaryColorP3ui (GLenum type, GLuint color);
+GLAPI void APIENTRY glSecondaryColorP3uiv (GLenum type, const GLuint *color);
+GLAPI void APIENTRY glVertexAttribP1ui (GLuint index, GLenum type, GLboolean normalized, GLuint value);
+GLAPI void APIENTRY glVertexAttribP1uiv (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
+GLAPI void APIENTRY glVertexAttribP2ui (GLuint index, GLenum type, GLboolean normalized, GLuint value);
+GLAPI void APIENTRY glVertexAttribP2uiv (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
+GLAPI void APIENTRY glVertexAttribP3ui (GLuint index, GLenum type, GLboolean normalized, GLuint value);
+GLAPI void APIENTRY glVertexAttribP3uiv (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
+GLAPI void APIENTRY glVertexAttribP4ui (GLuint index, GLenum type, GLboolean normalized, GLuint value);
+GLAPI void APIENTRY glVertexAttribP4uiv (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLVERTEXP2UIPROC) (GLenum type, GLuint value);
+typedef void (APIENTRYP PFNGLVERTEXP2UIVPROC) (GLenum type, const GLuint *value);
+typedef void (APIENTRYP PFNGLVERTEXP3UIPROC) (GLenum type, GLuint value);
+typedef void (APIENTRYP PFNGLVERTEXP3UIVPROC) (GLenum type, const GLuint *value);
+typedef void (APIENTRYP PFNGLVERTEXP4UIPROC) (GLenum type, GLuint value);
+typedef void (APIENTRYP PFNGLVERTEXP4UIVPROC) (GLenum type, const GLuint *value);
+typedef void (APIENTRYP PFNGLTEXCOORDP1UIPROC) (GLenum type, GLuint coords);
+typedef void (APIENTRYP PFNGLTEXCOORDP1UIVPROC) (GLenum type, const GLuint *coords);
+typedef void (APIENTRYP PFNGLTEXCOORDP2UIPROC) (GLenum type, GLuint coords);
+typedef void (APIENTRYP PFNGLTEXCOORDP2UIVPROC) (GLenum type, const GLuint *coords);
+typedef void (APIENTRYP PFNGLTEXCOORDP3UIPROC) (GLenum type, GLuint coords);
+typedef void (APIENTRYP PFNGLTEXCOORDP3UIVPROC) (GLenum type, const GLuint *coords);
+typedef void (APIENTRYP PFNGLTEXCOORDP4UIPROC) (GLenum type, GLuint coords);
+typedef void (APIENTRYP PFNGLTEXCOORDP4UIVPROC) (GLenum type, const GLuint *coords);
+typedef void (APIENTRYP PFNGLMULTITEXCOORDP1UIPROC) (GLenum texture, GLenum type, GLuint coords);
+typedef void (APIENTRYP PFNGLMULTITEXCOORDP1UIVPROC) (GLenum texture, GLenum type, const GLuint *coords);
+typedef void (APIENTRYP PFNGLMULTITEXCOORDP2UIPROC) (GLenum texture, GLenum type, GLuint coords);
+typedef void (APIENTRYP PFNGLMULTITEXCOORDP2UIVPROC) (GLenum texture, GLenum type, const GLuint *coords);
+typedef void (APIENTRYP PFNGLMULTITEXCOORDP3UIPROC) (GLenum texture, GLenum type, GLuint coords);
+typedef void (APIENTRYP PFNGLMULTITEXCOORDP3UIVPROC) (GLenum texture, GLenum type, const GLuint *coords);
+typedef void (APIENTRYP PFNGLMULTITEXCOORDP4UIPROC) (GLenum texture, GLenum type, GLuint coords);
+typedef void (APIENTRYP PFNGLMULTITEXCOORDP4UIVPROC) (GLenum texture, GLenum type, const GLuint *coords);
+typedef void (APIENTRYP PFNGLNORMALP3UIPROC) (GLenum type, GLuint coords);
+typedef void (APIENTRYP PFNGLNORMALP3UIVPROC) (GLenum type, const GLuint *coords);
+typedef void (APIENTRYP PFNGLCOLORP3UIPROC) (GLenum type, GLuint color);
+typedef void (APIENTRYP PFNGLCOLORP3UIVPROC) (GLenum type, const GLuint *color);
+typedef void (APIENTRYP PFNGLCOLORP4UIPROC) (GLenum type, GLuint color);
+typedef void (APIENTRYP PFNGLCOLORP4UIVPROC) (GLenum type, const GLuint *color);
+typedef void (APIENTRYP PFNGLSECONDARYCOLORP3UIPROC) (GLenum type, GLuint color);
+typedef void (APIENTRYP PFNGLSECONDARYCOLORP3UIVPROC) (GLenum type, const GLuint *color);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBP1UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBP1UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBP2UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBP2UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBP3UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBP3UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBP4UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBP4UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
+#endif
+
+#ifndef GL_ARB_draw_indirect
+#define GL_ARB_draw_indirect 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glDrawArraysIndirect (GLenum mode, const GLvoid *indirect);
+GLAPI void APIENTRY glDrawElementsIndirect (GLenum mode, GLenum type, const GLvoid *indirect);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLDRAWARRAYSINDIRECTPROC) (GLenum mode, const GLvoid *indirect);
+typedef void (APIENTRYP PFNGLDRAWELEMENTSINDIRECTPROC) (GLenum mode, GLenum type, const GLvoid *indirect);
+#endif
+
+#ifndef GL_ARB_gpu_shader5
+#define GL_ARB_gpu_shader5 1
+#endif
+
+#ifndef GL_ARB_gpu_shader_fp64
+#define GL_ARB_gpu_shader_fp64 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glUniform1d (GLint location, GLdouble x);
+GLAPI void APIENTRY glUniform2d (GLint location, GLdouble x, GLdouble y);
+GLAPI void APIENTRY glUniform3d (GLint location, GLdouble x, GLdouble y, GLdouble z);
+GLAPI void APIENTRY glUniform4d (GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+GLAPI void APIENTRY glUniform1dv (GLint location, GLsizei count, const GLdouble *value);
+GLAPI void APIENTRY glUniform2dv (GLint location, GLsizei count, const GLdouble *value);
+GLAPI void APIENTRY glUniform3dv (GLint location, GLsizei count, const GLdouble *value);
+GLAPI void APIENTRY glUniform4dv (GLint location, GLsizei count, const GLdouble *value);
+GLAPI void APIENTRY glUniformMatrix2dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+GLAPI void APIENTRY glUniformMatrix3dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+GLAPI void APIENTRY glUniformMatrix4dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+GLAPI void APIENTRY glUniformMatrix2x3dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+GLAPI void APIENTRY glUniformMatrix2x4dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+GLAPI void APIENTRY glUniformMatrix3x2dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+GLAPI void APIENTRY glUniformMatrix3x4dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+GLAPI void APIENTRY glUniformMatrix4x2dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+GLAPI void APIENTRY glUniformMatrix4x3dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+GLAPI void APIENTRY glGetUniformdv (GLuint program, GLint location, GLdouble *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLUNIFORM1DPROC) (GLint location, GLdouble x);
+typedef void (APIENTRYP PFNGLUNIFORM2DPROC) (GLint location, GLdouble x, GLdouble y);
+typedef void (APIENTRYP PFNGLUNIFORM3DPROC) (GLint location, GLdouble x, GLdouble y, GLdouble z);
+typedef void (APIENTRYP PFNGLUNIFORM4DPROC) (GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void (APIENTRYP PFNGLUNIFORM1DVPROC) (GLint location, GLsizei count, const GLdouble *value);
+typedef void (APIENTRYP PFNGLUNIFORM2DVPROC) (GLint location, GLsizei count, const GLdouble *value);
+typedef void (APIENTRYP PFNGLUNIFORM3DVPROC) (GLint location, GLsizei count, const GLdouble *value);
+typedef void (APIENTRYP PFNGLUNIFORM4DVPROC) (GLint location, GLsizei count, const GLdouble *value);
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX2DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX3DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX4DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X3DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X4DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X2DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X4DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X2DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X3DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void (APIENTRYP PFNGLGETUNIFORMDVPROC) (GLuint program, GLint location, GLdouble *params);
+#endif
+
+#ifndef GL_ARB_shader_subroutine
+#define GL_ARB_shader_subroutine 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI GLint APIENTRY glGetSubroutineUniformLocation (GLuint program, GLenum shadertype, const GLchar *name);
+GLAPI GLuint APIENTRY glGetSubroutineIndex (GLuint program, GLenum shadertype, const GLchar *name);
+GLAPI void APIENTRY glGetActiveSubroutineUniformiv (GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values);
+GLAPI void APIENTRY glGetActiveSubroutineUniformName (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
+GLAPI void APIENTRY glGetActiveSubroutineName (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
+GLAPI void APIENTRY glUniformSubroutinesuiv (GLenum shadertype, GLsizei count, const GLuint *indices);
+GLAPI void APIENTRY glGetUniformSubroutineuiv (GLenum shadertype, GLint location, GLuint *params);
+GLAPI void APIENTRY glGetProgramStageiv (GLuint program, GLenum shadertype, GLenum pname, GLint *values);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef GLint (APIENTRYP PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC) (GLuint program, GLenum shadertype, const GLchar *name);
+typedef GLuint (APIENTRYP PFNGLGETSUBROUTINEINDEXPROC) (GLuint program, GLenum shadertype, const GLchar *name);
+typedef void (APIENTRYP PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC) (GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values);
+typedef void (APIENTRYP PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
+typedef void (APIENTRYP PFNGLGETACTIVESUBROUTINENAMEPROC) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
+typedef void (APIENTRYP PFNGLUNIFORMSUBROUTINESUIVPROC) (GLenum shadertype, GLsizei count, const GLuint *indices);
+typedef void (APIENTRYP PFNGLGETUNIFORMSUBROUTINEUIVPROC) (GLenum shadertype, GLint location, GLuint *params);
+typedef void (APIENTRYP PFNGLGETPROGRAMSTAGEIVPROC) (GLuint program, GLenum shadertype, GLenum pname, GLint *values);
+#endif
+
+#ifndef GL_ARB_tessellation_shader
+#define GL_ARB_tessellation_shader 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glPatchParameteri (GLenum pname, GLint value);
+GLAPI void APIENTRY glPatchParameterfv (GLenum pname, const GLfloat *values);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLPATCHPARAMETERIPROC) (GLenum pname, GLint value);
+typedef void (APIENTRYP PFNGLPATCHPARAMETERFVPROC) (GLenum pname, const GLfloat *values);
+#endif
+
+#ifndef GL_ARB_texture_buffer_object_rgb32
+#define GL_ARB_texture_buffer_object_rgb32 1
+#endif
+
+#ifndef GL_ARB_transform_feedback2
+#define GL_ARB_transform_feedback2 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glBindTransformFeedback (GLenum target, GLuint id);
+GLAPI void APIENTRY glDeleteTransformFeedbacks (GLsizei n, const GLuint *ids);
+GLAPI void APIENTRY glGenTransformFeedbacks (GLsizei n, GLuint *ids);
+GLAPI GLboolean APIENTRY glIsTransformFeedback (GLuint id);
+GLAPI void APIENTRY glPauseTransformFeedback (void);
+GLAPI void APIENTRY glResumeTransformFeedback (void);
+GLAPI void APIENTRY glDrawTransformFeedback (GLenum mode, GLuint id);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLBINDTRANSFORMFEEDBACKPROC) (GLenum target, GLuint id);
+typedef void (APIENTRYP PFNGLDELETETRANSFORMFEEDBACKSPROC) (GLsizei n, const GLuint *ids);
+typedef void (APIENTRYP PFNGLGENTRANSFORMFEEDBACKSPROC) (GLsizei n, GLuint *ids);
+typedef GLboolean (APIENTRYP PFNGLISTRANSFORMFEEDBACKPROC) (GLuint id);
+typedef void (APIENTRYP PFNGLPAUSETRANSFORMFEEDBACKPROC) (void);
+typedef void (APIENTRYP PFNGLRESUMETRANSFORMFEEDBACKPROC) (void);
+typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKPROC) (GLenum mode, GLuint id);
+#endif
+
+#ifndef GL_ARB_transform_feedback3
+#define GL_ARB_transform_feedback3 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glDrawTransformFeedbackStream (GLenum mode, GLuint id, GLuint stream);
+GLAPI void APIENTRY glBeginQueryIndexed (GLenum target, GLuint index, GLuint id);
+GLAPI void APIENTRY glEndQueryIndexed (GLenum target, GLuint index);
+GLAPI void APIENTRY glGetQueryIndexediv (GLenum target, GLuint index, GLenum pname, GLint *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC) (GLenum mode, GLuint id, GLuint stream);
+typedef void (APIENTRYP PFNGLBEGINQUERYINDEXEDPROC) (GLenum target, GLuint index, GLuint id);
+typedef void (APIENTRYP PFNGLENDQUERYINDEXEDPROC) (GLenum target, GLuint index);
+typedef void (APIENTRYP PFNGLGETQUERYINDEXEDIVPROC) (GLenum target, GLuint index, GLenum pname, GLint *params);
+#endif
+
+#ifndef GL_ARB_ES2_compatibility
+#define GL_ARB_ES2_compatibility 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glReleaseShaderCompiler (void);
+GLAPI void APIENTRY glShaderBinary (GLsizei count, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length);
+GLAPI void APIENTRY glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
+GLAPI void APIENTRY glDepthRangef (GLfloat n, GLfloat f);
+GLAPI void APIENTRY glClearDepthf (GLfloat d);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLRELEASESHADERCOMPILERPROC) (void);
+typedef void (APIENTRYP PFNGLSHADERBINARYPROC) (GLsizei count, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length);
+typedef void (APIENTRYP PFNGLGETSHADERPRECISIONFORMATPROC) (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
+typedef void (APIENTRYP PFNGLDEPTHRANGEFPROC) (GLfloat n, GLfloat f);
+typedef void (APIENTRYP PFNGLCLEARDEPTHFPROC) (GLfloat d);
+#endif
+
+#ifndef GL_ARB_get_program_binary
+#define GL_ARB_get_program_binary 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glGetProgramBinary (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
+GLAPI void APIENTRY glProgramBinary (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLsizei length);
+GLAPI void APIENTRY glProgramParameteri (GLuint program, GLenum pname, GLint value);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLGETPROGRAMBINARYPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
+typedef void (APIENTRYP PFNGLPROGRAMBINARYPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLsizei length);
+typedef void (APIENTRYP PFNGLPROGRAMPARAMETERIPROC) (GLuint program, GLenum pname, GLint value);
+#endif
+
+#ifndef GL_ARB_separate_shader_objects
+#define GL_ARB_separate_shader_objects 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glUseProgramStages (GLuint pipeline, GLbitfield stages, GLuint program);
+GLAPI void APIENTRY glActiveShaderProgram (GLuint pipeline, GLuint program);
+GLAPI GLuint APIENTRY glCreateShaderProgramv (GLenum type, GLsizei count, const GLchar* const *strings);
+GLAPI void APIENTRY glBindProgramPipeline (GLuint pipeline);
+GLAPI void APIENTRY glDeleteProgramPipelines (GLsizei n, const GLuint *pipelines);
+GLAPI void APIENTRY glGenProgramPipelines (GLsizei n, GLuint *pipelines);
+GLAPI GLboolean APIENTRY glIsProgramPipeline (GLuint pipeline);
+GLAPI void APIENTRY glGetProgramPipelineiv (GLuint pipeline, GLenum pname, GLint *params);
+GLAPI void APIENTRY glProgramUniform1i (GLuint program, GLint location, GLint v0);
+GLAPI void APIENTRY glProgramUniform1iv (GLuint program, GLint location, GLsizei count, const GLint *value);
+GLAPI void APIENTRY glProgramUniform1f (GLuint program, GLint location, GLfloat v0);
+GLAPI void APIENTRY glProgramUniform1fv (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+GLAPI void APIENTRY glProgramUniform1d (GLuint program, GLint location, GLdouble v0);
+GLAPI void APIENTRY glProgramUniform1dv (GLuint program, GLint location, GLsizei count, const GLdouble *value);
+GLAPI void APIENTRY glProgramUniform1ui (GLuint program, GLint location, GLuint v0);
+GLAPI void APIENTRY glProgramUniform1uiv (GLuint program, GLint location, GLsizei count, const GLuint *value);
+GLAPI void APIENTRY glProgramUniform2i (GLuint program, GLint location, GLint v0, GLint v1);
+GLAPI void APIENTRY glProgramUniform2iv (GLuint program, GLint location, GLsizei count, const GLint *value);
+GLAPI void APIENTRY glProgramUniform2f (GLuint program, GLint location, GLfloat v0, GLfloat v1);
+GLAPI void APIENTRY glProgramUniform2fv (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+GLAPI void APIENTRY glProgramUniform2d (GLuint program, GLint location, GLdouble v0, GLdouble v1);
+GLAPI void APIENTRY glProgramUniform2dv (GLuint program, GLint location, GLsizei count, const GLdouble *value);
+GLAPI void APIENTRY glProgramUniform2ui (GLuint program, GLint location, GLuint v0, GLuint v1);
+GLAPI void APIENTRY glProgramUniform2uiv (GLuint program, GLint location, GLsizei count, const GLuint *value);
+GLAPI void APIENTRY glProgramUniform3i (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
+GLAPI void APIENTRY glProgramUniform3iv (GLuint program, GLint location, GLsizei count, const GLint *value);
+GLAPI void APIENTRY glProgramUniform3f (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
+GLAPI void APIENTRY glProgramUniform3fv (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+GLAPI void APIENTRY glProgramUniform3d (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2);
+GLAPI void APIENTRY glProgramUniform3dv (GLuint program, GLint location, GLsizei count, const GLdouble *value);
+GLAPI void APIENTRY glProgramUniform3ui (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
+GLAPI void APIENTRY glProgramUniform3uiv (GLuint program, GLint location, GLsizei count, const GLuint *value);
+GLAPI void APIENTRY glProgramUniform4i (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
+GLAPI void APIENTRY glProgramUniform4iv (GLuint program, GLint location, GLsizei count, const GLint *value);
+GLAPI void APIENTRY glProgramUniform4f (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
+GLAPI void APIENTRY glProgramUniform4fv (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+GLAPI void APIENTRY glProgramUniform4d (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3);
+GLAPI void APIENTRY glProgramUniform4dv (GLuint program, GLint location, GLsizei count, const GLdouble *value);
+GLAPI void APIENTRY glProgramUniform4ui (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
+GLAPI void APIENTRY glProgramUniform4uiv (GLuint program, GLint location, GLsizei count, const GLuint *value);
+GLAPI void APIENTRY glProgramUniformMatrix2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void APIENTRY glProgramUniformMatrix3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void APIENTRY glProgramUniformMatrix4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void APIENTRY glProgramUniformMatrix2dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+GLAPI void APIENTRY glProgramUniformMatrix3dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+GLAPI void APIENTRY glProgramUniformMatrix4dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+GLAPI void APIENTRY glProgramUniformMatrix2x3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void APIENTRY glProgramUniformMatrix3x2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void APIENTRY glProgramUniformMatrix2x4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void APIENTRY glProgramUniformMatrix4x2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void APIENTRY glProgramUniformMatrix3x4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void APIENTRY glProgramUniformMatrix4x3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void APIENTRY glProgramUniformMatrix2x3dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+GLAPI void APIENTRY glProgramUniformMatrix3x2dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+GLAPI void APIENTRY glProgramUniformMatrix2x4dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+GLAPI void APIENTRY glProgramUniformMatrix4x2dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+GLAPI void APIENTRY glProgramUniformMatrix3x4dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+GLAPI void APIENTRY glProgramUniformMatrix4x3dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+GLAPI void APIENTRY glValidateProgramPipeline (GLuint pipeline);
+GLAPI void APIENTRY glGetProgramPipelineInfoLog (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLUSEPROGRAMSTAGESPROC) (GLuint pipeline, GLbitfield stages, GLuint program);
+typedef void (APIENTRYP PFNGLACTIVESHADERPROGRAMPROC) (GLuint pipeline, GLuint program);
+typedef GLuint (APIENTRYP PFNGLCREATESHADERPROGRAMVPROC) (GLenum type, GLsizei count, const GLchar* const *strings);
+typedef void (APIENTRYP PFNGLBINDPROGRAMPIPELINEPROC) (GLuint pipeline);
+typedef void (APIENTRYP PFNGLDELETEPROGRAMPIPELINESPROC) (GLsizei n, const GLuint *pipelines);
+typedef void (APIENTRYP PFNGLGENPROGRAMPIPELINESPROC) (GLsizei n, GLuint *pipelines);
+typedef GLboolean (APIENTRYP PFNGLISPROGRAMPIPELINEPROC) (GLuint pipeline);
+typedef void (APIENTRYP PFNGLGETPROGRAMPIPELINEIVPROC) (GLuint pipeline, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IPROC) (GLuint program, GLint location, GLint v0);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FPROC) (GLuint program, GLint location, GLfloat v0);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DPROC) (GLuint program, GLint location, GLdouble v0);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIPROC) (GLuint program, GLint location, GLuint v0);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IPROC) (GLuint program, GLint location, GLint v0, GLint v1);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2DPROC) (GLuint program, GLint location, GLdouble v0, GLdouble v1);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIPROC) (GLuint program, GLint location, GLuint v0, GLuint v1);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3DPROC) (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4DPROC) (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void (APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEPROC) (GLuint pipeline);
+typedef void (APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
+#endif
+
+#ifndef GL_ARB_vertex_attrib_64bit
+#define GL_ARB_vertex_attrib_64bit 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glVertexAttribL1d (GLuint index, GLdouble x);
+GLAPI void APIENTRY glVertexAttribL2d (GLuint index, GLdouble x, GLdouble y);
+GLAPI void APIENTRY glVertexAttribL3d (GLuint index, GLdouble x, GLdouble y, GLdouble z);
+GLAPI void APIENTRY glVertexAttribL4d (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+GLAPI void APIENTRY glVertexAttribL1dv (GLuint index, const GLdouble *v);
+GLAPI void APIENTRY glVertexAttribL2dv (GLuint index, const GLdouble *v);
+GLAPI void APIENTRY glVertexAttribL3dv (GLuint index, const GLdouble *v);
+GLAPI void APIENTRY glVertexAttribL4dv (GLuint index, const GLdouble *v);
+GLAPI void APIENTRY glVertexAttribLPointer (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+GLAPI void APIENTRY glGetVertexAttribLdv (GLuint index, GLenum pname, GLdouble *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL1DPROC) (GLuint index, GLdouble x);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL2DPROC) (GLuint index, GLdouble x, GLdouble y);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL3DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL4DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL1DVPROC) (GLuint index, const GLdouble *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL2DVPROC) (GLuint index, const GLdouble *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL3DVPROC) (GLuint index, const GLdouble *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL4DVPROC) (GLuint index, const GLdouble *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBLPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBLDVPROC) (GLuint index, GLenum pname, GLdouble *params);
+#endif
+
+#ifndef GL_ARB_viewport_array
+#define GL_ARB_viewport_array 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glViewportArrayv (GLuint first, GLsizei count, const GLfloat *v);
+GLAPI void APIENTRY glViewportIndexedf (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);
+GLAPI void APIENTRY glViewportIndexedfv (GLuint index, const GLfloat *v);
+GLAPI void APIENTRY glScissorArrayv (GLuint first, GLsizei count, const GLint *v);
+GLAPI void APIENTRY glScissorIndexed (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);
+GLAPI void APIENTRY glScissorIndexedv (GLuint index, const GLint *v);
+GLAPI void APIENTRY glDepthRangeArrayv (GLuint first, GLsizei count, const GLdouble *v);
+GLAPI void APIENTRY glDepthRangeIndexed (GLuint index, GLdouble n, GLdouble f);
+GLAPI void APIENTRY glGetFloati_v (GLenum target, GLuint index, GLfloat *data);
+GLAPI void APIENTRY glGetDoublei_v (GLenum target, GLuint index, GLdouble *data);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLVIEWPORTARRAYVPROC) (GLuint first, GLsizei count, const GLfloat *v);
+typedef void (APIENTRYP PFNGLVIEWPORTINDEXEDFPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);
+typedef void (APIENTRYP PFNGLVIEWPORTINDEXEDFVPROC) (GLuint index, const GLfloat *v);
+typedef void (APIENTRYP PFNGLSCISSORARRAYVPROC) (GLuint first, GLsizei count, const GLint *v);
+typedef void (APIENTRYP PFNGLSCISSORINDEXEDPROC) (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);
+typedef void (APIENTRYP PFNGLSCISSORINDEXEDVPROC) (GLuint index, const GLint *v);
+typedef void (APIENTRYP PFNGLDEPTHRANGEARRAYVPROC) (GLuint first, GLsizei count, const GLdouble *v);
+typedef void (APIENTRYP PFNGLDEPTHRANGEINDEXEDPROC) (GLuint index, GLdouble n, GLdouble f);
+typedef void (APIENTRYP PFNGLGETFLOATI_VPROC) (GLenum target, GLuint index, GLfloat *data);
+typedef void (APIENTRYP PFNGLGETDOUBLEI_VPROC) (GLenum target, GLuint index, GLdouble *data);
+#endif
+
+#ifndef GL_ARB_cl_event
+#define GL_ARB_cl_event 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI GLsync APIENTRY glCreateSyncFromCLeventARB (struct _cl_context * context, struct _cl_event * event, GLbitfield flags);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef GLsync (APIENTRYP PFNGLCREATESYNCFROMCLEVENTARBPROC) (struct _cl_context * context, struct _cl_event * event, GLbitfield flags);
+#endif
+
+#ifndef GL_ARB_debug_output
+#define GL_ARB_debug_output 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glDebugMessageControlARB (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
+GLAPI void APIENTRY glDebugMessageInsertARB (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
+GLAPI void APIENTRY glDebugMessageCallbackARB (GLDEBUGPROCARB callback, const GLvoid *userParam);
+GLAPI GLuint APIENTRY glGetDebugMessageLogARB (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLDEBUGMESSAGECONTROLARBPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
+typedef void (APIENTRYP PFNGLDEBUGMESSAGEINSERTARBPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
+typedef void (APIENTRYP PFNGLDEBUGMESSAGECALLBACKARBPROC) (GLDEBUGPROCARB callback, const GLvoid *userParam);
+typedef GLuint (APIENTRYP PFNGLGETDEBUGMESSAGELOGARBPROC) (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
+#endif
+
+#ifndef GL_ARB_robustness
+#define GL_ARB_robustness 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI GLenum APIENTRY glGetGraphicsResetStatusARB (void);
+GLAPI void APIENTRY glGetnMapdvARB (GLenum target, GLenum query, GLsizei bufSize, GLdouble *v);
+GLAPI void APIENTRY glGetnMapfvARB (GLenum target, GLenum query, GLsizei bufSize, GLfloat *v);
+GLAPI void APIENTRY glGetnMapivARB (GLenum target, GLenum query, GLsizei bufSize, GLint *v);
+GLAPI void APIENTRY glGetnPixelMapfvARB (GLenum map, GLsizei bufSize, GLfloat *values);
+GLAPI void APIENTRY glGetnPixelMapuivARB (GLenum map, GLsizei bufSize, GLuint *values);
+GLAPI void APIENTRY glGetnPixelMapusvARB (GLenum map, GLsizei bufSize, GLushort *values);
+GLAPI void APIENTRY glGetnPolygonStippleARB (GLsizei bufSize, GLubyte *pattern);
+GLAPI void APIENTRY glGetnColorTableARB (GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *table);
+GLAPI void APIENTRY glGetnConvolutionFilterARB (GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *image);
+GLAPI void APIENTRY glGetnSeparableFilterARB (GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, GLvoid *row, GLsizei columnBufSize, GLvoid *column, GLvoid *span);
+GLAPI void APIENTRY glGetnHistogramARB (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid *values);
+GLAPI void APIENTRY glGetnMinmaxARB (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid *values);
+GLAPI void APIENTRY glGetnTexImageARB (GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, GLvoid *img);
+GLAPI void APIENTRY glReadnPixelsARB (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data);
+GLAPI void APIENTRY glGetnCompressedTexImageARB (GLenum target, GLint lod, GLsizei bufSize, GLvoid *img);
+GLAPI void APIENTRY glGetnUniformfvARB (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
+GLAPI void APIENTRY glGetnUniformivARB (GLuint program, GLint location, GLsizei bufSize, GLint *params);
+GLAPI void APIENTRY glGetnUniformuivARB (GLuint program, GLint location, GLsizei bufSize, GLuint *params);
+GLAPI void APIENTRY glGetnUniformdvARB (GLuint program, GLint location, GLsizei bufSize, GLdouble *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef GLenum (APIENTRYP PFNGLGETGRAPHICSRESETSTATUSARBPROC) (void);
+typedef void (APIENTRYP PFNGLGETNMAPDVARBPROC) (GLenum target, GLenum query, GLsizei bufSize, GLdouble *v);
+typedef void (APIENTRYP PFNGLGETNMAPFVARBPROC) (GLenum target, GLenum query, GLsizei bufSize, GLfloat *v);
+typedef void (APIENTRYP PFNGLGETNMAPIVARBPROC) (GLenum target, GLenum query, GLsizei bufSize, GLint *v);
+typedef void (APIENTRYP PFNGLGETNPIXELMAPFVARBPROC) (GLenum map, GLsizei bufSize, GLfloat *values);
+typedef void (APIENTRYP PFNGLGETNPIXELMAPUIVARBPROC) (GLenum map, GLsizei bufSize, GLuint *values);
+typedef void (APIENTRYP PFNGLGETNPIXELMAPUSVARBPROC) (GLenum map, GLsizei bufSize, GLushort *values);
+typedef void (APIENTRYP PFNGLGETNPOLYGONSTIPPLEARBPROC) (GLsizei bufSize, GLubyte *pattern);
+typedef void (APIENTRYP PFNGLGETNCOLORTABLEARBPROC) (GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *table);
+typedef void (APIENTRYP PFNGLGETNCONVOLUTIONFILTERARBPROC) (GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *image);
+typedef void (APIENTRYP PFNGLGETNSEPARABLEFILTERARBPROC) (GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, GLvoid *row, GLsizei columnBufSize, GLvoid *column, GLvoid *span);
+typedef void (APIENTRYP PFNGLGETNHISTOGRAMARBPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid *values);
+typedef void (APIENTRYP PFNGLGETNMINMAXARBPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid *values);
+typedef void (APIENTRYP PFNGLGETNTEXIMAGEARBPROC) (GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, GLvoid *img);
+typedef void (APIENTRYP PFNGLREADNPIXELSARBPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data);
+typedef void (APIENTRYP PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GLint lod, GLsizei bufSize, GLvoid *img);
+typedef void (APIENTRYP PFNGLGETNUNIFORMFVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETNUNIFORMIVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params);
+typedef void (APIENTRYP PFNGLGETNUNIFORMUIVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLuint *params);
+typedef void (APIENTRYP PFNGLGETNUNIFORMDVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLdouble *params);
+#endif
+
+#ifndef GL_ARB_shader_stencil_export
+#define GL_ARB_shader_stencil_export 1
+#endif
+
+#ifndef GL_ARB_base_instance
+#define GL_ARB_base_instance 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glDrawArraysInstancedBaseInstance (GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance);
+GLAPI void APIENTRY glDrawElementsInstancedBaseInstance (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance);
+GLAPI void APIENTRY glDrawElementsInstancedBaseVertexBaseInstance (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance);
+typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance);
+typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance);
+#endif
+
+#ifndef GL_ARB_shading_language_420pack
+#define GL_ARB_shading_language_420pack 1
+#endif
+
+#ifndef GL_ARB_transform_feedback_instanced
+#define GL_ARB_transform_feedback_instanced 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glDrawTransformFeedbackInstanced (GLenum mode, GLuint id, GLsizei instancecount);
+GLAPI void APIENTRY glDrawTransformFeedbackStreamInstanced (GLenum mode, GLuint id, GLuint stream, GLsizei instancecount);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC) (GLenum mode, GLuint id, GLsizei instancecount);
+typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC) (GLenum mode, GLuint id, GLuint stream, GLsizei instancecount);
+#endif
+
+#ifndef GL_ARB_compressed_texture_pixel_storage
+#define GL_ARB_compressed_texture_pixel_storage 1
+#endif
+
+#ifndef GL_ARB_conservative_depth
+#define GL_ARB_conservative_depth 1
+#endif
+
+#ifndef GL_ARB_internalformat_query
+#define GL_ARB_internalformat_query 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glGetInternalformativ (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLGETINTERNALFORMATIVPROC) (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params);
+#endif
+
+#ifndef GL_ARB_map_buffer_alignment
+#define GL_ARB_map_buffer_alignment 1
+#endif
+
+#ifndef GL_ARB_shader_atomic_counters
+#define GL_ARB_shader_atomic_counters 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glGetActiveAtomicCounterBufferiv (GLuint program, GLuint bufferIndex, GLenum pname, GLint *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC) (GLuint program, GLuint bufferIndex, GLenum pname, GLint *params);
+#endif
+
+#ifndef GL_ARB_shader_image_load_store
+#define GL_ARB_shader_image_load_store 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glBindImageTexture (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);
+GLAPI void APIENTRY glMemoryBarrier (GLbitfield barriers);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLBINDIMAGETEXTUREPROC) (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);
+typedef void (APIENTRYP PFNGLMEMORYBARRIERPROC) (GLbitfield barriers);
+#endif
+
+#ifndef GL_ARB_shading_language_packing
+#define GL_ARB_shading_language_packing 1
+#endif
+
+#ifndef GL_ARB_texture_storage
+#define GL_ARB_texture_storage 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glTexStorage1D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
+GLAPI void APIENTRY glTexStorage2D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
+GLAPI void APIENTRY glTexStorage3D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
+GLAPI void APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
+GLAPI void APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
+GLAPI void APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLTEXSTORAGE1DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
+typedef void (APIENTRYP PFNGLTEXSTORAGE2DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
+typedef void (APIENTRYP PFNGLTEXSTORAGE3DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
+typedef void (APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
+typedef void (APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
+typedef void (APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
+#endif
+
+#ifndef GL_KHR_texture_compression_astc_ldr
+#define GL_KHR_texture_compression_astc_ldr 1
+#endif
+
+#ifndef GL_KHR_debug
+#define GL_KHR_debug 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glDebugMessageControl (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
+GLAPI void APIENTRY glDebugMessageInsert (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
+GLAPI void APIENTRY glDebugMessageCallback (GLDEBUGPROC callback, const void *userParam);
+GLAPI GLuint APIENTRY glGetDebugMessageLog (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
+GLAPI void APIENTRY glPushDebugGroup (GLenum source, GLuint id, GLsizei length, const GLchar *message);
+GLAPI void APIENTRY glPopDebugGroup (void);
+GLAPI void APIENTRY glObjectLabel (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
+GLAPI void APIENTRY glGetObjectLabel (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
+GLAPI void APIENTRY glObjectPtrLabel (const void *ptr, GLsizei length, const GLchar *label);
+GLAPI void APIENTRY glGetObjectPtrLabel (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLDEBUGMESSAGECONTROLPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
+typedef void (APIENTRYP PFNGLDEBUGMESSAGEINSERTPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
+typedef void (APIENTRYP PFNGLDEBUGMESSAGECALLBACKPROC) (GLDEBUGPROC callback, const void *userParam);
+typedef GLuint (APIENTRYP PFNGLGETDEBUGMESSAGELOGPROC) (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
+typedef void (APIENTRYP PFNGLPUSHDEBUGGROUPPROC) (GLenum source, GLuint id, GLsizei length, const GLchar *message);
+typedef void (APIENTRYP PFNGLPOPDEBUGGROUPPROC) (void);
+typedef void (APIENTRYP PFNGLOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
+typedef void (APIENTRYP PFNGLGETOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
+typedef void (APIENTRYP PFNGLOBJECTPTRLABELPROC) (const void *ptr, GLsizei length, const GLchar *label);
+typedef void (APIENTRYP PFNGLGETOBJECTPTRLABELPROC) (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
+#endif
+
+#ifndef GL_ARB_arrays_of_arrays
+#define GL_ARB_arrays_of_arrays 1
+#endif
+
+#ifndef GL_ARB_clear_buffer_object
+#define GL_ARB_clear_buffer_object 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glClearBufferData (GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data);
+GLAPI void APIENTRY glClearBufferSubData (GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data);
+GLAPI void APIENTRY glClearNamedBufferDataEXT (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data);
+GLAPI void APIENTRY glClearNamedBufferSubDataEXT (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, GLsizeiptr offset, GLsizeiptr size, const void *data);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLCLEARBUFFERDATAPROC) (GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data);
+typedef void (APIENTRYP PFNGLCLEARBUFFERSUBDATAPROC) (GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data);
+typedef void (APIENTRYP PFNGLCLEARNAMEDBUFFERDATAEXTPROC) (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data);
+typedef void (APIENTRYP PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, GLsizeiptr offset, GLsizeiptr size, const void *data);
+#endif
+
+#ifndef GL_ARB_compute_shader
+#define GL_ARB_compute_shader 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glDispatchCompute (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);
+GLAPI void APIENTRY glDispatchComputeIndirect (GLintptr indirect);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLDISPATCHCOMPUTEPROC) (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);
+typedef void (APIENTRYP PFNGLDISPATCHCOMPUTEINDIRECTPROC) (GLintptr indirect);
+#endif
+
+#ifndef GL_ARB_copy_image
+#define GL_ARB_copy_image 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glCopyImageSubData (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLCOPYIMAGESUBDATAPROC) (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);
+#endif
+
+#ifndef GL_ARB_texture_view
+#define GL_ARB_texture_view 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glTextureView (GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLTEXTUREVIEWPROC) (GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers);
+#endif
+
+#ifndef GL_ARB_vertex_attrib_binding
+#define GL_ARB_vertex_attrib_binding 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glBindVertexBuffer (GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);
+GLAPI void APIENTRY glVertexAttribFormat (GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);
+GLAPI void APIENTRY glVertexAttribIFormat (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
+GLAPI void APIENTRY glVertexAttribLFormat (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
+GLAPI void APIENTRY glVertexAttribBinding (GLuint attribindex, GLuint bindingindex);
+GLAPI void APIENTRY glVertexBindingDivisor (GLuint bindingindex, GLuint divisor);
+GLAPI void APIENTRY glVertexArrayBindVertexBufferEXT (GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);
+GLAPI void APIENTRY glVertexArrayVertexAttribFormatEXT (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);
+GLAPI void APIENTRY glVertexArrayVertexAttribIFormatEXT (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
+GLAPI void APIENTRY glVertexArrayVertexAttribLFormatEXT (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
+GLAPI void APIENTRY glVertexArrayVertexAttribBindingEXT (GLuint vaobj, GLuint attribindex, GLuint bindingindex);
+GLAPI void APIENTRY glVertexArrayVertexBindingDivisorEXT (GLuint vaobj, GLuint bindingindex, GLuint divisor);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLBINDVERTEXBUFFERPROC) (GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBFORMATPROC) (GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBIFORMATPROC) (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBLFORMATPROC) (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBBINDINGPROC) (GLuint attribindex, GLuint bindingindex);
+typedef void (APIENTRYP PFNGLVERTEXBINDINGDIVISORPROC) (GLuint bindingindex, GLuint divisor);
+typedef void (APIENTRYP PFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC) (GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);
+typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC) (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);
+typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC) (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
+typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC) (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
+typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC) (GLuint vaobj, GLuint attribindex, GLuint bindingindex);
+typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC) (GLuint vaobj, GLuint bindingindex, GLuint divisor);
+#endif
+
+#ifndef GL_ARB_robustness_isolation
+#define GL_ARB_robustness_isolation 1
+#endif
+
+#ifndef GL_ARB_ES3_compatibility
+#define GL_ARB_ES3_compatibility 1
+#endif
+
+#ifndef GL_ARB_explicit_uniform_location
+#define GL_ARB_explicit_uniform_location 1
+#endif
+
+#ifndef GL_ARB_fragment_layer_viewport
+#define GL_ARB_fragment_layer_viewport 1
+#endif
+
+#ifndef GL_ARB_framebuffer_no_attachments
+#define GL_ARB_framebuffer_no_attachments 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glFramebufferParameteri (GLenum target, GLenum pname, GLint param);
+GLAPI void APIENTRY glGetFramebufferParameteriv (GLenum target, GLenum pname, GLint *params);
+GLAPI void APIENTRY glNamedFramebufferParameteriEXT (GLuint framebuffer, GLenum pname, GLint param);
+GLAPI void APIENTRY glGetNamedFramebufferParameterivEXT (GLuint framebuffer, GLenum pname, GLint *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLFRAMEBUFFERPARAMETERIPROC) (GLenum target, GLenum pname, GLint param);
+typedef void (APIENTRYP PFNGLGETFRAMEBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC) (GLuint framebuffer, GLenum pname, GLint param);
+typedef void (APIENTRYP PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum pname, GLint *params);
+#endif
+
+#ifndef GL_ARB_internalformat_query2
+#define GL_ARB_internalformat_query2 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glGetInternalformati64v (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64 *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLGETINTERNALFORMATI64VPROC) (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64 *params);
+#endif
+
+#ifndef GL_ARB_invalidate_subdata
+#define GL_ARB_invalidate_subdata 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glInvalidateTexSubImage (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth);
+GLAPI void APIENTRY glInvalidateTexImage (GLuint texture, GLint level);
+GLAPI void APIENTRY glInvalidateBufferSubData (GLuint buffer, GLintptr offset, GLsizeiptr length);
+GLAPI void APIENTRY glInvalidateBufferData (GLuint buffer);
+GLAPI void APIENTRY glInvalidateFramebuffer (GLenum target, GLsizei numAttachments, const GLenum *attachments);
+GLAPI void APIENTRY glInvalidateSubFramebuffer (GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLINVALIDATETEXSUBIMAGEPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth);
+typedef void (APIENTRYP PFNGLINVALIDATETEXIMAGEPROC) (GLuint texture, GLint level);
+typedef void (APIENTRYP PFNGLINVALIDATEBUFFERSUBDATAPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length);
+typedef void (APIENTRYP PFNGLINVALIDATEBUFFERDATAPROC) (GLuint buffer);
+typedef void (APIENTRYP PFNGLINVALIDATEFRAMEBUFFERPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
+typedef void (APIENTRYP PFNGLINVALIDATESUBFRAMEBUFFERPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);
+#endif
+
+#ifndef GL_ARB_multi_draw_indirect
+#define GL_ARB_multi_draw_indirect 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glMultiDrawArraysIndirect (GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride);
+GLAPI void APIENTRY glMultiDrawElementsIndirect (GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTPROC) (GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride);
+typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTPROC) (GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride);
+#endif
+
+#ifndef GL_ARB_program_interface_query
+#define GL_ARB_program_interface_query 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glGetProgramInterfaceiv (GLuint program, GLenum programInterface, GLenum pname, GLint *params);
+GLAPI GLuint APIENTRY glGetProgramResourceIndex (GLuint program, GLenum programInterface, const GLchar *name);
+GLAPI void APIENTRY glGetProgramResourceName (GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);
+GLAPI void APIENTRY glGetProgramResourceiv (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params);
+GLAPI GLint APIENTRY glGetProgramResourceLocation (GLuint program, GLenum programInterface, const GLchar *name);
+GLAPI GLint APIENTRY glGetProgramResourceLocationIndex (GLuint program, GLenum programInterface, const GLchar *name);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLGETPROGRAMINTERFACEIVPROC) (GLuint program, GLenum programInterface, GLenum pname, GLint *params);
+typedef GLuint (APIENTRYP PFNGLGETPROGRAMRESOURCEINDEXPROC) (GLuint program, GLenum programInterface, const GLchar *name);
+typedef void (APIENTRYP PFNGLGETPROGRAMRESOURCENAMEPROC) (GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);
+typedef void (APIENTRYP PFNGLGETPROGRAMRESOURCEIVPROC) (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params);
+typedef GLint (APIENTRYP PFNGLGETPROGRAMRESOURCELOCATIONPROC) (GLuint program, GLenum programInterface, const GLchar *name);
+typedef GLint (APIENTRYP PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC) (GLuint program, GLenum programInterface, const GLchar *name);
+#endif
+
+#ifndef GL_ARB_robust_buffer_access_behavior
+#define GL_ARB_robust_buffer_access_behavior 1
+#endif
+
+#ifndef GL_ARB_shader_image_size
+#define GL_ARB_shader_image_size 1
+#endif
+
+#ifndef GL_ARB_shader_storage_buffer_object
+#define GL_ARB_shader_storage_buffer_object 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glShaderStorageBlockBinding (GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLSHADERSTORAGEBLOCKBINDINGPROC) (GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding);
+#endif
+
+#ifndef GL_ARB_stencil_texturing
+#define GL_ARB_stencil_texturing 1
+#endif
+
+#ifndef GL_ARB_texture_buffer_range
+#define GL_ARB_texture_buffer_range 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glTexBufferRange (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
+GLAPI void APIENTRY glTextureBufferRangeEXT (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLTEXBUFFERRANGEPROC) (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
+typedef void (APIENTRYP PFNGLTEXTUREBUFFERRANGEEXTPROC) (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
+#endif
+
+#ifndef GL_ARB_texture_query_levels
+#define GL_ARB_texture_query_levels 1
+#endif
+
+#ifndef GL_ARB_texture_storage_multisample
+#define GL_ARB_texture_storage_multisample 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glTexStorage2DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
+GLAPI void APIENTRY glTexStorage3DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
+GLAPI void APIENTRY glTextureStorage2DMultisampleEXT (GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
+GLAPI void APIENTRY glTextureStorage3DMultisampleEXT (GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLTEXSTORAGE2DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
+typedef void (APIENTRYP PFNGLTEXSTORAGE3DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
+typedef void (APIENTRYP PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC) (GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
+typedef void (APIENTRYP PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC) (GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
+#endif
+
+#ifndef GL_EXT_abgr
+#define GL_EXT_abgr 1
+#endif
+
+#ifndef GL_EXT_blend_color
+#define GL_EXT_blend_color 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glBlendColorEXT (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLBLENDCOLOREXTPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
+#endif
+
+#ifndef GL_EXT_polygon_offset
+#define GL_EXT_polygon_offset 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glPolygonOffsetEXT (GLfloat factor, GLfloat bias);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLPOLYGONOFFSETEXTPROC) (GLfloat factor, GLfloat bias);
+#endif
+
+#ifndef GL_EXT_texture
+#define GL_EXT_texture 1
+#endif
+
+#ifndef GL_EXT_texture3D
+#define GL_EXT_texture3D 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glTexImage3DEXT (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+GLAPI void APIENTRY glTexSubImage3DEXT (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLTEXIMAGE3DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (APIENTRYP PFNGLTEXSUBIMAGE3DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
+#endif
+
+#ifndef GL_SGIS_texture_filter4
+#define GL_SGIS_texture_filter4 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glGetTexFilterFuncSGIS (GLenum target, GLenum filter, GLfloat *weights);
+GLAPI void APIENTRY glTexFilterFuncSGIS (GLenum target, GLenum filter, GLsizei n, const GLfloat *weights);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLGETTEXFILTERFUNCSGISPROC) (GLenum target, GLenum filter, GLfloat *weights);
+typedef void (APIENTRYP PFNGLTEXFILTERFUNCSGISPROC) (GLenum target, GLenum filter, GLsizei n, const GLfloat *weights);
+#endif
+
+#ifndef GL_EXT_subtexture
+#define GL_EXT_subtexture 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glTexSubImage1DEXT (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
+GLAPI void APIENTRY glTexSubImage2DEXT (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLTEXSUBIMAGE1DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (APIENTRYP PFNGLTEXSUBIMAGE2DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
+#endif
+
+#ifndef GL_EXT_copy_texture
+#define GL_EXT_copy_texture 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glCopyTexImage1DEXT (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
+GLAPI void APIENTRY glCopyTexImage2DEXT (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
+GLAPI void APIENTRY glCopyTexSubImage1DEXT (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
+GLAPI void APIENTRY glCopyTexSubImage2DEXT (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+GLAPI void APIENTRY glCopyTexSubImage3DEXT (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLCOPYTEXIMAGE1DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
+typedef void (APIENTRYP PFNGLCOPYTEXIMAGE2DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
+typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE1DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
+typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE2DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE3DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+#endif
+
+#ifndef GL_EXT_histogram
+#define GL_EXT_histogram 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glGetHistogramEXT (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
+GLAPI void APIENTRY glGetHistogramParameterfvEXT (GLenum target, GLenum pname, GLfloat *params);
+GLAPI void APIENTRY glGetHistogramParameterivEXT (GLenum target, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetMinmaxEXT (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
+GLAPI void APIENTRY glGetMinmaxParameterfvEXT (GLenum target, GLenum pname, GLfloat *params);
+GLAPI void APIENTRY glGetMinmaxParameterivEXT (GLenum target, GLenum pname, GLint *params);
+GLAPI void APIENTRY glHistogramEXT (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
+GLAPI void APIENTRY glMinmaxEXT (GLenum target, GLenum internalformat, GLboolean sink);
+GLAPI void APIENTRY glResetHistogramEXT (GLenum target);
+GLAPI void APIENTRY glResetMinmaxEXT (GLenum target);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLGETHISTOGRAMEXTPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
+typedef void (APIENTRYP PFNGLGETHISTOGRAMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETHISTOGRAMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETMINMAXEXTPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
+typedef void (APIENTRYP PFNGLGETMINMAXPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETMINMAXPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLHISTOGRAMEXTPROC) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
+typedef void (APIENTRYP PFNGLMINMAXEXTPROC) (GLenum target, GLenum internalformat, GLboolean sink);
+typedef void (APIENTRYP PFNGLRESETHISTOGRAMEXTPROC) (GLenum target);
+typedef void (APIENTRYP PFNGLRESETMINMAXEXTPROC) (GLenum target);
+#endif
+
+#ifndef GL_EXT_convolution
+#define GL_EXT_convolution 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glConvolutionFilter1DEXT (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);
+GLAPI void APIENTRY glConvolutionFilter2DEXT (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);
+GLAPI void APIENTRY glConvolutionParameterfEXT (GLenum target, GLenum pname, GLfloat params);
+GLAPI void APIENTRY glConvolutionParameterfvEXT (GLenum target, GLenum pname, const GLfloat *params);
+GLAPI void APIENTRY glConvolutionParameteriEXT (GLenum target, GLenum pname, GLint params);
+GLAPI void APIENTRY glConvolutionParameterivEXT (GLenum target, GLenum pname, const GLint *params);
+GLAPI void APIENTRY glCopyConvolutionFilter1DEXT (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
+GLAPI void APIENTRY glCopyConvolutionFilter2DEXT (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
+GLAPI void APIENTRY glGetConvolutionFilterEXT (GLenum target, GLenum format, GLenum type, GLvoid *image);
+GLAPI void APIENTRY glGetConvolutionParameterfvEXT (GLenum target, GLenum pname, GLfloat *params);
+GLAPI void APIENTRY glGetConvolutionParameterivEXT (GLenum target, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetSeparableFilterEXT (GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);
+GLAPI void APIENTRY glSeparableFilter2DEXT (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLCONVOLUTIONFILTER1DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);
+typedef void (APIENTRYP PFNGLCONVOLUTIONFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);
+typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERFEXTPROC) (GLenum target, GLenum pname, GLfloat params);
+typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERFVEXTPROC) (GLenum target, GLenum pname, const GLfloat *params);
+typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERIEXTPROC) (GLenum target, GLenum pname, GLint params);
+typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERIVEXTPROC) (GLenum target, GLenum pname, const GLint *params);
+typedef void (APIENTRYP PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
+typedef void (APIENTRYP PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
+typedef void (APIENTRYP PFNGLGETCONVOLUTIONFILTEREXTPROC) (GLenum target, GLenum format, GLenum type, GLvoid *image);
+typedef void (APIENTRYP PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETSEPARABLEFILTEREXTPROC) (GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);
+typedef void (APIENTRYP PFNGLSEPARABLEFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);
+#endif
+
+#ifndef GL_SGI_color_matrix
+#define GL_SGI_color_matrix 1
+#endif
+
+#ifndef GL_SGI_color_table
+#define GL_SGI_color_table 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glColorTableSGI (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
+GLAPI void APIENTRY glColorTableParameterfvSGI (GLenum target, GLenum pname, const GLfloat *params);
+GLAPI void APIENTRY glColorTableParameterivSGI (GLenum target, GLenum pname, const GLint *params);
+GLAPI void APIENTRY glCopyColorTableSGI (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
+GLAPI void APIENTRY glGetColorTableSGI (GLenum target, GLenum format, GLenum type, GLvoid *table);
+GLAPI void APIENTRY glGetColorTableParameterfvSGI (GLenum target, GLenum pname, GLfloat *params);
+GLAPI void APIENTRY glGetColorTableParameterivSGI (GLenum target, GLenum pname, GLint *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLCOLORTABLESGIPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
+typedef void (APIENTRYP PFNGLCOLORTABLEPARAMETERFVSGIPROC) (GLenum target, GLenum pname, const GLfloat *params);
+typedef void (APIENTRYP PFNGLCOLORTABLEPARAMETERIVSGIPROC) (GLenum target, GLenum pname, const GLint *params);
+typedef void (APIENTRYP PFNGLCOPYCOLORTABLESGIPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
+typedef void (APIENTRYP PFNGLGETCOLORTABLESGIPROC) (GLenum target, GLenum format, GLenum type, GLvoid *table);
+typedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERFVSGIPROC) (GLenum target, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERIVSGIPROC) (GLenum target, GLenum pname, GLint *params);
+#endif
+
+#ifndef GL_SGIX_pixel_texture
+#define GL_SGIX_pixel_texture 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glPixelTexGenSGIX (GLenum mode);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLPIXELTEXGENSGIXPROC) (GLenum mode);
+#endif
+
+#ifndef GL_SGIS_pixel_texture
+#define GL_SGIS_pixel_texture 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glPixelTexGenParameteriSGIS (GLenum pname, GLint param);
+GLAPI void APIENTRY glPixelTexGenParameterivSGIS (GLenum pname, const GLint *params);
+GLAPI void APIENTRY glPixelTexGenParameterfSGIS (GLenum pname, GLfloat param);
+GLAPI void APIENTRY glPixelTexGenParameterfvSGIS (GLenum pname, const GLfloat *params);
+GLAPI void APIENTRY glGetPixelTexGenParameterivSGIS (GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetPixelTexGenParameterfvSGIS (GLenum pname, GLfloat *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLPIXELTEXGENPARAMETERISGISPROC) (GLenum pname, GLint param);
+typedef void (APIENTRYP PFNGLPIXELTEXGENPARAMETERIVSGISPROC) (GLenum pname, const GLint *params);
+typedef void (APIENTRYP PFNGLPIXELTEXGENPARAMETERFSGISPROC) (GLenum pname, GLfloat param);
+typedef void (APIENTRYP PFNGLPIXELTEXGENPARAMETERFVSGISPROC) (GLenum pname, const GLfloat *params);
+typedef void (APIENTRYP PFNGLGETPIXELTEXGENPARAMETERIVSGISPROC) (GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETPIXELTEXGENPARAMETERFVSGISPROC) (GLenum pname, GLfloat *params);
+#endif
+
+#ifndef GL_SGIS_texture4D
+#define GL_SGIS_texture4D 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glTexImage4DSGIS (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+GLAPI void APIENTRY glTexSubImage4DSGIS (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLenum format, GLenum type, const GLvoid *pixels);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLTEXIMAGE4DSGISPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (APIENTRYP PFNGLTEXSUBIMAGE4DSGISPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLenum format, GLenum type, const GLvoid *pixels);
+#endif
+
+#ifndef GL_SGI_texture_color_table
+#define GL_SGI_texture_color_table 1
+#endif
+
+#ifndef GL_EXT_cmyka
+#define GL_EXT_cmyka 1
+#endif
+
+#ifndef GL_EXT_texture_object
+#define GL_EXT_texture_object 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI GLboolean APIENTRY glAreTexturesResidentEXT (GLsizei n, const GLuint *textures, GLboolean *residences);
+GLAPI void APIENTRY glBindTextureEXT (GLenum target, GLuint texture);
+GLAPI void APIENTRY glDeleteTexturesEXT (GLsizei n, const GLuint *textures);
+GLAPI void APIENTRY glGenTexturesEXT (GLsizei n, GLuint *textures);
+GLAPI GLboolean APIENTRY glIsTextureEXT (GLuint texture);
+GLAPI void APIENTRY glPrioritizeTexturesEXT (GLsizei n, const GLuint *textures, const GLclampf *priorities);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef GLboolean (APIENTRYP PFNGLARETEXTURESRESIDENTEXTPROC) (GLsizei n, const GLuint *textures, GLboolean *residences);
+typedef void (APIENTRYP PFNGLBINDTEXTUREEXTPROC) (GLenum target, GLuint texture);
+typedef void (APIENTRYP PFNGLDELETETEXTURESEXTPROC) (GLsizei n, const GLuint *textures);
+typedef void (APIENTRYP PFNGLGENTEXTURESEXTPROC) (GLsizei n, GLuint *textures);
+typedef GLboolean (APIENTRYP PFNGLISTEXTUREEXTPROC) (GLuint texture);
+typedef void (APIENTRYP PFNGLPRIORITIZETEXTURESEXTPROC) (GLsizei n, const GLuint *textures, const GLclampf *priorities);
+#endif
+
+#ifndef GL_SGIS_detail_texture
+#define GL_SGIS_detail_texture 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glDetailTexFuncSGIS (GLenum target, GLsizei n, const GLfloat *points);
+GLAPI void APIENTRY glGetDetailTexFuncSGIS (GLenum target, GLfloat *points);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLDETAILTEXFUNCSGISPROC) (GLenum target, GLsizei n, const GLfloat *points);
+typedef void (APIENTRYP PFNGLGETDETAILTEXFUNCSGISPROC) (GLenum target, GLfloat *points);
+#endif
+
+#ifndef GL_SGIS_sharpen_texture
+#define GL_SGIS_sharpen_texture 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glSharpenTexFuncSGIS (GLenum target, GLsizei n, const GLfloat *points);
+GLAPI void APIENTRY glGetSharpenTexFuncSGIS (GLenum target, GLfloat *points);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLSHARPENTEXFUNCSGISPROC) (GLenum target, GLsizei n, const GLfloat *points);
+typedef void (APIENTRYP PFNGLGETSHARPENTEXFUNCSGISPROC) (GLenum target, GLfloat *points);
+#endif
+
+#ifndef GL_EXT_packed_pixels
+#define GL_EXT_packed_pixels 1
+#endif
+
+#ifndef GL_SGIS_texture_lod
+#define GL_SGIS_texture_lod 1
+#endif
+
+#ifndef GL_SGIS_multisample
+#define GL_SGIS_multisample 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glSampleMaskSGIS (GLclampf value, GLboolean invert);
+GLAPI void APIENTRY glSamplePatternSGIS (GLenum pattern);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLSAMPLEMASKSGISPROC) (GLclampf value, GLboolean invert);
+typedef void (APIENTRYP PFNGLSAMPLEPATTERNSGISPROC) (GLenum pattern);
+#endif
+
+#ifndef GL_EXT_rescale_normal
+#define GL_EXT_rescale_normal 1
+#endif
+
+#ifndef GL_EXT_vertex_array
+#define GL_EXT_vertex_array 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glArrayElementEXT (GLint i);
+GLAPI void APIENTRY glColorPointerEXT (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
+GLAPI void APIENTRY glDrawArraysEXT (GLenum mode, GLint first, GLsizei count);
+GLAPI void APIENTRY glEdgeFlagPointerEXT (GLsizei stride, GLsizei count, const GLboolean *pointer);
+GLAPI void APIENTRY glGetPointervEXT (GLenum pname, GLvoid* *params);
+GLAPI void APIENTRY glIndexPointerEXT (GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
+GLAPI void APIENTRY glNormalPointerEXT (GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
+GLAPI void APIENTRY glTexCoordPointerEXT (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
+GLAPI void APIENTRY glVertexPointerEXT (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLARRAYELEMENTEXTPROC) (GLint i);
+typedef void (APIENTRYP PFNGLCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
+typedef void (APIENTRYP PFNGLDRAWARRAYSEXTPROC) (GLenum mode, GLint first, GLsizei count);
+typedef void (APIENTRYP PFNGLEDGEFLAGPOINTEREXTPROC) (GLsizei stride, GLsizei count, const GLboolean *pointer);
+typedef void (APIENTRYP PFNGLGETPOINTERVEXTPROC) (GLenum pname, GLvoid* *params);
+typedef void (APIENTRYP PFNGLINDEXPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
+typedef void (APIENTRYP PFNGLNORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
+typedef void (APIENTRYP PFNGLTEXCOORDPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
+typedef void (APIENTRYP PFNGLVERTEXPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
+#endif
+
+#ifndef GL_EXT_misc_attribute
+#define GL_EXT_misc_attribute 1
+#endif
+
+#ifndef GL_SGIS_generate_mipmap
+#define GL_SGIS_generate_mipmap 1
+#endif
+
+#ifndef GL_SGIX_clipmap
+#define GL_SGIX_clipmap 1
+#endif
+
+#ifndef GL_SGIX_shadow
+#define GL_SGIX_shadow 1
+#endif
+
+#ifndef GL_SGIS_texture_edge_clamp
+#define GL_SGIS_texture_edge_clamp 1
+#endif
+
+#ifndef GL_SGIS_texture_border_clamp
+#define GL_SGIS_texture_border_clamp 1
+#endif
+
+#ifndef GL_EXT_blend_minmax
+#define GL_EXT_blend_minmax 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glBlendEquationEXT (GLenum mode);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLBLENDEQUATIONEXTPROC) (GLenum mode);
+#endif
+
+#ifndef GL_EXT_blend_subtract
+#define GL_EXT_blend_subtract 1
+#endif
+
+#ifndef GL_EXT_blend_logic_op
+#define GL_EXT_blend_logic_op 1
+#endif
+
+#ifndef GL_SGIX_interlace
+#define GL_SGIX_interlace 1
+#endif
+
+#ifndef GL_SGIX_pixel_tiles
+#define GL_SGIX_pixel_tiles 1
+#endif
+
+#ifndef GL_SGIX_texture_select
+#define GL_SGIX_texture_select 1
+#endif
+
+#ifndef GL_SGIX_sprite
+#define GL_SGIX_sprite 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glSpriteParameterfSGIX (GLenum pname, GLfloat param);
+GLAPI void APIENTRY glSpriteParameterfvSGIX (GLenum pname, const GLfloat *params);
+GLAPI void APIENTRY glSpriteParameteriSGIX (GLenum pname, GLint param);
+GLAPI void APIENTRY glSpriteParameterivSGIX (GLenum pname, const GLint *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLSPRITEPARAMETERFSGIXPROC) (GLenum pname, GLfloat param);
+typedef void (APIENTRYP PFNGLSPRITEPARAMETERFVSGIXPROC) (GLenum pname, const GLfloat *params);
+typedef void (APIENTRYP PFNGLSPRITEPARAMETERISGIXPROC) (GLenum pname, GLint param);
+typedef void (APIENTRYP PFNGLSPRITEPARAMETERIVSGIXPROC) (GLenum pname, const GLint *params);
+#endif
+
+#ifndef GL_SGIX_texture_multi_buffer
+#define GL_SGIX_texture_multi_buffer 1
+#endif
+
+#ifndef GL_EXT_point_parameters
+#define GL_EXT_point_parameters 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glPointParameterfEXT (GLenum pname, GLfloat param);
+GLAPI void APIENTRY glPointParameterfvEXT (GLenum pname, const GLfloat *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLPOINTPARAMETERFEXTPROC) (GLenum pname, GLfloat param);
+typedef void (APIENTRYP PFNGLPOINTPARAMETERFVEXTPROC) (GLenum pname, const GLfloat *params);
+#endif
+
+#ifndef GL_SGIS_point_parameters
+#define GL_SGIS_point_parameters 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glPointParameterfSGIS (GLenum pname, GLfloat param);
+GLAPI void APIENTRY glPointParameterfvSGIS (GLenum pname, const GLfloat *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLPOINTPARAMETERFSGISPROC) (GLenum pname, GLfloat param);
+typedef void (APIENTRYP PFNGLPOINTPARAMETERFVSGISPROC) (GLenum pname, const GLfloat *params);
+#endif
+
+#ifndef GL_SGIX_instruments
+#define GL_SGIX_instruments 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI GLint APIENTRY glGetInstrumentsSGIX (void);
+GLAPI void APIENTRY glInstrumentsBufferSGIX (GLsizei size, GLint *buffer);
+GLAPI GLint APIENTRY glPollInstrumentsSGIX (GLint *marker_p);
+GLAPI void APIENTRY glReadInstrumentsSGIX (GLint marker);
+GLAPI void APIENTRY glStartInstrumentsSGIX (void);
+GLAPI void APIENTRY glStopInstrumentsSGIX (GLint marker);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef GLint (APIENTRYP PFNGLGETINSTRUMENTSSGIXPROC) (void);
+typedef void (APIENTRYP PFNGLINSTRUMENTSBUFFERSGIXPROC) (GLsizei size, GLint *buffer);
+typedef GLint (APIENTRYP PFNGLPOLLINSTRUMENTSSGIXPROC) (GLint *marker_p);
+typedef void (APIENTRYP PFNGLREADINSTRUMENTSSGIXPROC) (GLint marker);
+typedef void (APIENTRYP PFNGLSTARTINSTRUMENTSSGIXPROC) (void);
+typedef void (APIENTRYP PFNGLSTOPINSTRUMENTSSGIXPROC) (GLint marker);
+#endif
+
+#ifndef GL_SGIX_texture_scale_bias
+#define GL_SGIX_texture_scale_bias 1
+#endif
+
+#ifndef GL_SGIX_framezoom
+#define GL_SGIX_framezoom 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glFrameZoomSGIX (GLint factor);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLFRAMEZOOMSGIXPROC) (GLint factor);
+#endif
+
+#ifndef GL_SGIX_tag_sample_buffer
+#define GL_SGIX_tag_sample_buffer 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glTagSampleBufferSGIX (void);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLTAGSAMPLEBUFFERSGIXPROC) (void);
+#endif
+
+#ifndef GL_SGIX_polynomial_ffd
+#define GL_SGIX_polynomial_ffd 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glDeformationMap3dSGIX (GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, GLdouble w1, GLdouble w2, GLint wstride, GLint worder, const GLdouble *points);
+GLAPI void APIENTRY glDeformationMap3fSGIX (GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, GLfloat w1, GLfloat w2, GLint wstride, GLint worder, const GLfloat *points);
+GLAPI void APIENTRY glDeformSGIX (GLbitfield mask);
+GLAPI void APIENTRY glLoadIdentityDeformationMapSGIX (GLbitfield mask);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLDEFORMATIONMAP3DSGIXPROC) (GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, GLdouble w1, GLdouble w2, GLint wstride, GLint worder, const GLdouble *points);
+typedef void (APIENTRYP PFNGLDEFORMATIONMAP3FSGIXPROC) (GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, GLfloat w1, GLfloat w2, GLint wstride, GLint worder, const GLfloat *points);
+typedef void (APIENTRYP PFNGLDEFORMSGIXPROC) (GLbitfield mask);
+typedef void (APIENTRYP PFNGLLOADIDENTITYDEFORMATIONMAPSGIXPROC) (GLbitfield mask);
+#endif
+
+#ifndef GL_SGIX_reference_plane
+#define GL_SGIX_reference_plane 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glReferencePlaneSGIX (const GLdouble *equation);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLREFERENCEPLANESGIXPROC) (const GLdouble *equation);
+#endif
+
+#ifndef GL_SGIX_flush_raster
+#define GL_SGIX_flush_raster 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glFlushRasterSGIX (void);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLFLUSHRASTERSGIXPROC) (void);
+#endif
+
+#ifndef GL_SGIX_depth_texture
+#define GL_SGIX_depth_texture 1
+#endif
+
+#ifndef GL_SGIS_fog_function
+#define GL_SGIS_fog_function 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glFogFuncSGIS (GLsizei n, const GLfloat *points);
+GLAPI void APIENTRY glGetFogFuncSGIS (GLfloat *points);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLFOGFUNCSGISPROC) (GLsizei n, const GLfloat *points);
+typedef void (APIENTRYP PFNGLGETFOGFUNCSGISPROC) (GLfloat *points);
+#endif
+
+#ifndef GL_SGIX_fog_offset
+#define GL_SGIX_fog_offset 1
+#endif
+
+#ifndef GL_HP_image_transform
+#define GL_HP_image_transform 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glImageTransformParameteriHP (GLenum target, GLenum pname, GLint param);
+GLAPI void APIENTRY glImageTransformParameterfHP (GLenum target, GLenum pname, GLfloat param);
+GLAPI void APIENTRY glImageTransformParameterivHP (GLenum target, GLenum pname, const GLint *params);
+GLAPI void APIENTRY glImageTransformParameterfvHP (GLenum target, GLenum pname, const GLfloat *params);
+GLAPI void APIENTRY glGetImageTransformParameterivHP (GLenum target, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetImageTransformParameterfvHP (GLenum target, GLenum pname, GLfloat *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLIMAGETRANSFORMPARAMETERIHPPROC) (GLenum target, GLenum pname, GLint param);
+typedef void (APIENTRYP PFNGLIMAGETRANSFORMPARAMETERFHPPROC) (GLenum target, GLenum pname, GLfloat param);
+typedef void (APIENTRYP PFNGLIMAGETRANSFORMPARAMETERIVHPPROC) (GLenum target, GLenum pname, const GLint *params);
+typedef void (APIENTRYP PFNGLIMAGETRANSFORMPARAMETERFVHPPROC) (GLenum target, GLenum pname, const GLfloat *params);
+typedef void (APIENTRYP PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC) (GLenum target, GLenum pname, GLfloat *params);
+#endif
+
+#ifndef GL_HP_convolution_border_modes
+#define GL_HP_convolution_border_modes 1
+#endif
+
+#ifndef GL_SGIX_texture_add_env
+#define GL_SGIX_texture_add_env 1
+#endif
+
+#ifndef GL_EXT_color_subtable
+#define GL_EXT_color_subtable 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glColorSubTableEXT (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data);
+GLAPI void APIENTRY glCopyColorSubTableEXT (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLCOLORSUBTABLEEXTPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data);
+typedef void (APIENTRYP PFNGLCOPYCOLORSUBTABLEEXTPROC) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
+#endif
+
+#ifndef GL_PGI_vertex_hints
+#define GL_PGI_vertex_hints 1
+#endif
+
+#ifndef GL_PGI_misc_hints
+#define GL_PGI_misc_hints 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glHintPGI (GLenum target, GLint mode);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLHINTPGIPROC) (GLenum target, GLint mode);
+#endif
+
+#ifndef GL_EXT_paletted_texture
+#define GL_EXT_paletted_texture 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glColorTableEXT (GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
+GLAPI void APIENTRY glGetColorTableEXT (GLenum target, GLenum format, GLenum type, GLvoid *data);
+GLAPI void APIENTRY glGetColorTableParameterivEXT (GLenum target, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetColorTableParameterfvEXT (GLenum target, GLenum pname, GLfloat *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLCOLORTABLEEXTPROC) (GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
+typedef void (APIENTRYP PFNGLGETCOLORTABLEEXTPROC) (GLenum target, GLenum format, GLenum type, GLvoid *data);
+typedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);
+#endif
+
+#ifndef GL_EXT_clip_volume_hint
+#define GL_EXT_clip_volume_hint 1
+#endif
+
+#ifndef GL_SGIX_list_priority
+#define GL_SGIX_list_priority 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glGetListParameterfvSGIX (GLuint list, GLenum pname, GLfloat *params);
+GLAPI void APIENTRY glGetListParameterivSGIX (GLuint list, GLenum pname, GLint *params);
+GLAPI void APIENTRY glListParameterfSGIX (GLuint list, GLenum pname, GLfloat param);
+GLAPI void APIENTRY glListParameterfvSGIX (GLuint list, GLenum pname, const GLfloat *params);
+GLAPI void APIENTRY glListParameteriSGIX (GLuint list, GLenum pname, GLint param);
+GLAPI void APIENTRY glListParameterivSGIX (GLuint list, GLenum pname, const GLint *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLGETLISTPARAMETERFVSGIXPROC) (GLuint list, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETLISTPARAMETERIVSGIXPROC) (GLuint list, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLLISTPARAMETERFSGIXPROC) (GLuint list, GLenum pname, GLfloat param);
+typedef void (APIENTRYP PFNGLLISTPARAMETERFVSGIXPROC) (GLuint list, GLenum pname, const GLfloat *params);
+typedef void (APIENTRYP PFNGLLISTPARAMETERISGIXPROC) (GLuint list, GLenum pname, GLint param);
+typedef void (APIENTRYP PFNGLLISTPARAMETERIVSGIXPROC) (GLuint list, GLenum pname, const GLint *params);
+#endif
+
+#ifndef GL_SGIX_ir_instrument1
+#define GL_SGIX_ir_instrument1 1
+#endif
+
+#ifndef GL_SGIX_calligraphic_fragment
+#define GL_SGIX_calligraphic_fragment 1
+#endif
+
+#ifndef GL_SGIX_texture_lod_bias
+#define GL_SGIX_texture_lod_bias 1
+#endif
+
+#ifndef GL_SGIX_shadow_ambient
+#define GL_SGIX_shadow_ambient 1
+#endif
+
+#ifndef GL_EXT_index_texture
+#define GL_EXT_index_texture 1
+#endif
+
+#ifndef GL_EXT_index_material
+#define GL_EXT_index_material 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glIndexMaterialEXT (GLenum face, GLenum mode);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLINDEXMATERIALEXTPROC) (GLenum face, GLenum mode);
+#endif
+
+#ifndef GL_EXT_index_func
+#define GL_EXT_index_func 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glIndexFuncEXT (GLenum func, GLclampf ref);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLINDEXFUNCEXTPROC) (GLenum func, GLclampf ref);
+#endif
+
+#ifndef GL_EXT_index_array_formats
+#define GL_EXT_index_array_formats 1
+#endif
+
+#ifndef GL_EXT_compiled_vertex_array
+#define GL_EXT_compiled_vertex_array 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glLockArraysEXT (GLint first, GLsizei count);
+GLAPI void APIENTRY glUnlockArraysEXT (void);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLLOCKARRAYSEXTPROC) (GLint first, GLsizei count);
+typedef void (APIENTRYP PFNGLUNLOCKARRAYSEXTPROC) (void);
+#endif
+
+#ifndef GL_EXT_cull_vertex
+#define GL_EXT_cull_vertex 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glCullParameterdvEXT (GLenum pname, GLdouble *params);
+GLAPI void APIENTRY glCullParameterfvEXT (GLenum pname, GLfloat *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLCULLPARAMETERDVEXTPROC) (GLenum pname, GLdouble *params);
+typedef void (APIENTRYP PFNGLCULLPARAMETERFVEXTPROC) (GLenum pname, GLfloat *params);
+#endif
+
+#ifndef GL_SGIX_ycrcb
+#define GL_SGIX_ycrcb 1
+#endif
+
+#ifndef GL_SGIX_fragment_lighting
+#define GL_SGIX_fragment_lighting 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glFragmentColorMaterialSGIX (GLenum face, GLenum mode);
+GLAPI void APIENTRY glFragmentLightfSGIX (GLenum light, GLenum pname, GLfloat param);
+GLAPI void APIENTRY glFragmentLightfvSGIX (GLenum light, GLenum pname, const GLfloat *params);
+GLAPI void APIENTRY glFragmentLightiSGIX (GLenum light, GLenum pname, GLint param);
+GLAPI void APIENTRY glFragmentLightivSGIX (GLenum light, GLenum pname, const GLint *params);
+GLAPI void APIENTRY glFragmentLightModelfSGIX (GLenum pname, GLfloat param);
+GLAPI void APIENTRY glFragmentLightModelfvSGIX (GLenum pname, const GLfloat *params);
+GLAPI void APIENTRY glFragmentLightModeliSGIX (GLenum pname, GLint param);
+GLAPI void APIENTRY glFragmentLightModelivSGIX (GLenum pname, const GLint *params);
+GLAPI void APIENTRY glFragmentMaterialfSGIX (GLenum face, GLenum pname, GLfloat param);
+GLAPI void APIENTRY glFragmentMaterialfvSGIX (GLenum face, GLenum pname, const GLfloat *params);
+GLAPI void APIENTRY glFragmentMaterialiSGIX (GLenum face, GLenum pname, GLint param);
+GLAPI void APIENTRY glFragmentMaterialivSGIX (GLenum face, GLenum pname, const GLint *params);
+GLAPI void APIENTRY glGetFragmentLightfvSGIX (GLenum light, GLenum pname, GLfloat *params);
+GLAPI void APIENTRY glGetFragmentLightivSGIX (GLenum light, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetFragmentMaterialfvSGIX (GLenum face, GLenum pname, GLfloat *params);
+GLAPI void APIENTRY glGetFragmentMaterialivSGIX (GLenum face, GLenum pname, GLint *params);
+GLAPI void APIENTRY glLightEnviSGIX (GLenum pname, GLint param);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLFRAGMENTCOLORMATERIALSGIXPROC) (GLenum face, GLenum mode);
+typedef void (APIENTRYP PFNGLFRAGMENTLIGHTFSGIXPROC) (GLenum light, GLenum pname, GLfloat param);
+typedef void (APIENTRYP PFNGLFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum pname, const GLfloat *params);
+typedef void (APIENTRYP PFNGLFRAGMENTLIGHTISGIXPROC) (GLenum light, GLenum pname, GLint param);
+typedef void (APIENTRYP PFNGLFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum pname, const GLint *params);
+typedef void (APIENTRYP PFNGLFRAGMENTLIGHTMODELFSGIXPROC) (GLenum pname, GLfloat param);
+typedef void (APIENTRYP PFNGLFRAGMENTLIGHTMODELFVSGIXPROC) (GLenum pname, const GLfloat *params);
+typedef void (APIENTRYP PFNGLFRAGMENTLIGHTMODELISGIXPROC) (GLenum pname, GLint param);
+typedef void (APIENTRYP PFNGLFRAGMENTLIGHTMODELIVSGIXPROC) (GLenum pname, const GLint *params);
+typedef void (APIENTRYP PFNGLFRAGMENTMATERIALFSGIXPROC) (GLenum face, GLenum pname, GLfloat param);
+typedef void (APIENTRYP PFNGLFRAGMENTMATERIALFVSGIXPROC) (GLenum face, GLenum pname, const GLfloat *params);
+typedef void (APIENTRYP PFNGLFRAGMENTMATERIALISGIXPROC) (GLenum face, GLenum pname, GLint param);
+typedef void (APIENTRYP PFNGLFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, const GLint *params);
+typedef void (APIENTRYP PFNGLGETFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETFRAGMENTMATERIALFVSGIXPROC) (GLenum face, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLLIGHTENVISGIXPROC) (GLenum pname, GLint param);
+#endif
+
+#ifndef GL_IBM_rasterpos_clip
+#define GL_IBM_rasterpos_clip 1
+#endif
+
+#ifndef GL_HP_texture_lighting
+#define GL_HP_texture_lighting 1
+#endif
+
+#ifndef GL_EXT_draw_range_elements
+#define GL_EXT_draw_range_elements 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glDrawRangeElementsEXT (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSEXTPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
+#endif
+
+#ifndef GL_WIN_phong_shading
+#define GL_WIN_phong_shading 1
+#endif
+
+#ifndef GL_WIN_specular_fog
+#define GL_WIN_specular_fog 1
+#endif
+
+#ifndef GL_EXT_light_texture
+#define GL_EXT_light_texture 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glApplyTextureEXT (GLenum mode);
+GLAPI void APIENTRY glTextureLightEXT (GLenum pname);
+GLAPI void APIENTRY glTextureMaterialEXT (GLenum face, GLenum mode);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLAPPLYTEXTUREEXTPROC) (GLenum mode);
+typedef void (APIENTRYP PFNGLTEXTURELIGHTEXTPROC) (GLenum pname);
+typedef void (APIENTRYP PFNGLTEXTUREMATERIALEXTPROC) (GLenum face, GLenum mode);
+#endif
+
+#ifndef GL_SGIX_blend_alpha_minmax
+#define GL_SGIX_blend_alpha_minmax 1
+#endif
+
+#ifndef GL_EXT_bgra
+#define GL_EXT_bgra 1
+#endif
+
+#ifndef GL_SGIX_async
+#define GL_SGIX_async 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glAsyncMarkerSGIX (GLuint marker);
+GLAPI GLint APIENTRY glFinishAsyncSGIX (GLuint *markerp);
+GLAPI GLint APIENTRY glPollAsyncSGIX (GLuint *markerp);
+GLAPI GLuint APIENTRY glGenAsyncMarkersSGIX (GLsizei range);
+GLAPI void APIENTRY glDeleteAsyncMarkersSGIX (GLuint marker, GLsizei range);
+GLAPI GLboolean APIENTRY glIsAsyncMarkerSGIX (GLuint marker);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLASYNCMARKERSGIXPROC) (GLuint marker);
+typedef GLint (APIENTRYP PFNGLFINISHASYNCSGIXPROC) (GLuint *markerp);
+typedef GLint (APIENTRYP PFNGLPOLLASYNCSGIXPROC) (GLuint *markerp);
+typedef GLuint (APIENTRYP PFNGLGENASYNCMARKERSSGIXPROC) (GLsizei range);
+typedef void (APIENTRYP PFNGLDELETEASYNCMARKERSSGIXPROC) (GLuint marker, GLsizei range);
+typedef GLboolean (APIENTRYP PFNGLISASYNCMARKERSGIXPROC) (GLuint marker);
+#endif
+
+#ifndef GL_SGIX_async_pixel
+#define GL_SGIX_async_pixel 1
+#endif
+
+#ifndef GL_SGIX_async_histogram
+#define GL_SGIX_async_histogram 1
+#endif
+
+#ifndef GL_INTEL_parallel_arrays
+#define GL_INTEL_parallel_arrays 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glVertexPointervINTEL (GLint size, GLenum type, const GLvoid* *pointer);
+GLAPI void APIENTRY glNormalPointervINTEL (GLenum type, const GLvoid* *pointer);
+GLAPI void APIENTRY glColorPointervINTEL (GLint size, GLenum type, const GLvoid* *pointer);
+GLAPI void APIENTRY glTexCoordPointervINTEL (GLint size, GLenum type, const GLvoid* *pointer);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLVERTEXPOINTERVINTELPROC) (GLint size, GLenum type, const GLvoid* *pointer);
+typedef void (APIENTRYP PFNGLNORMALPOINTERVINTELPROC) (GLenum type, const GLvoid* *pointer);
+typedef void (APIENTRYP PFNGLCOLORPOINTERVINTELPROC) (GLint size, GLenum type, const GLvoid* *pointer);
+typedef void (APIENTRYP PFNGLTEXCOORDPOINTERVINTELPROC) (GLint size, GLenum type, const GLvoid* *pointer);
+#endif
+
+#ifndef GL_HP_occlusion_test
+#define GL_HP_occlusion_test 1
+#endif
+
+#ifndef GL_EXT_pixel_transform
+#define GL_EXT_pixel_transform 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glPixelTransformParameteriEXT (GLenum target, GLenum pname, GLint param);
+GLAPI void APIENTRY glPixelTransformParameterfEXT (GLenum target, GLenum pname, GLfloat param);
+GLAPI void APIENTRY glPixelTransformParameterivEXT (GLenum target, GLenum pname, const GLint *params);
+GLAPI void APIENTRY glPixelTransformParameterfvEXT (GLenum target, GLenum pname, const GLfloat *params);
+GLAPI void APIENTRY glGetPixelTransformParameterivEXT (GLenum target, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetPixelTransformParameterfvEXT (GLenum target, GLenum pname, GLfloat *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLPIXELTRANSFORMPARAMETERIEXTPROC) (GLenum target, GLenum pname, GLint param);
+typedef void (APIENTRYP PFNGLPIXELTRANSFORMPARAMETERFEXTPROC) (GLenum target, GLenum pname, GLfloat param);
+typedef void (APIENTRYP PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, const GLint *params);
+typedef void (APIENTRYP PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, const GLfloat *params);
+typedef void (APIENTRYP PFNGLGETPIXELTRANSFORMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETPIXELTRANSFORMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);
+#endif
+
+#ifndef GL_EXT_pixel_transform_color_table
+#define GL_EXT_pixel_transform_color_table 1
+#endif
+
+#ifndef GL_EXT_shared_texture_palette
+#define GL_EXT_shared_texture_palette 1
+#endif
+
+#ifndef GL_EXT_separate_specular_color
+#define GL_EXT_separate_specular_color 1
+#endif
+
+#ifndef GL_EXT_secondary_color
+#define GL_EXT_secondary_color 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glSecondaryColor3bEXT (GLbyte red, GLbyte green, GLbyte blue);
+GLAPI void APIENTRY glSecondaryColor3bvEXT (const GLbyte *v);
+GLAPI void APIENTRY glSecondaryColor3dEXT (GLdouble red, GLdouble green, GLdouble blue);
+GLAPI void APIENTRY glSecondaryColor3dvEXT (const GLdouble *v);
+GLAPI void APIENTRY glSecondaryColor3fEXT (GLfloat red, GLfloat green, GLfloat blue);
+GLAPI void APIENTRY glSecondaryColor3fvEXT (const GLfloat *v);
+GLAPI void APIENTRY glSecondaryColor3iEXT (GLint red, GLint green, GLint blue);
+GLAPI void APIENTRY glSecondaryColor3ivEXT (const GLint *v);
+GLAPI void APIENTRY glSecondaryColor3sEXT (GLshort red, GLshort green, GLshort blue);
+GLAPI void APIENTRY glSecondaryColor3svEXT (const GLshort *v);
+GLAPI void APIENTRY glSecondaryColor3ubEXT (GLubyte red, GLubyte green, GLubyte blue);
+GLAPI void APIENTRY glSecondaryColor3ubvEXT (const GLubyte *v);
+GLAPI void APIENTRY glSecondaryColor3uiEXT (GLuint red, GLuint green, GLuint blue);
+GLAPI void APIENTRY glSecondaryColor3uivEXT (const GLuint *v);
+GLAPI void APIENTRY glSecondaryColor3usEXT (GLushort red, GLushort green, GLushort blue);
+GLAPI void APIENTRY glSecondaryColor3usvEXT (const GLushort *v);
+GLAPI void APIENTRY glSecondaryColorPointerEXT (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3BEXTPROC) (GLbyte red, GLbyte green, GLbyte blue);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3BVEXTPROC) (const GLbyte *v);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3DEXTPROC) (GLdouble red, GLdouble green, GLdouble blue);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3DVEXTPROC) (const GLdouble *v);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3FEXTPROC) (GLfloat red, GLfloat green, GLfloat blue);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3FVEXTPROC) (const GLfloat *v);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3IEXTPROC) (GLint red, GLint green, GLint blue);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3IVEXTPROC) (const GLint *v);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3SEXTPROC) (GLshort red, GLshort green, GLshort blue);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3SVEXTPROC) (const GLshort *v);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UBEXTPROC) (GLubyte red, GLubyte green, GLubyte blue);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UBVEXTPROC) (const GLubyte *v);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UIEXTPROC) (GLuint red, GLuint green, GLuint blue);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UIVEXTPROC) (const GLuint *v);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3USEXTPROC) (GLushort red, GLushort green, GLushort blue);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3USVEXTPROC) (const GLushort *v);
+typedef void (APIENTRYP PFNGLSECONDARYCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+#endif
+
+#ifndef GL_EXT_texture_perturb_normal
+#define GL_EXT_texture_perturb_normal 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glTextureNormalEXT (GLenum mode);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLTEXTURENORMALEXTPROC) (GLenum mode);
+#endif
+
+#ifndef GL_EXT_multi_draw_arrays
+#define GL_EXT_multi_draw_arrays 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glMultiDrawArraysEXT (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
+GLAPI void APIENTRY glMultiDrawElementsEXT (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
+typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
+#endif
+
+#ifndef GL_EXT_fog_coord
+#define GL_EXT_fog_coord 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glFogCoordfEXT (GLfloat coord);
+GLAPI void APIENTRY glFogCoordfvEXT (const GLfloat *coord);
+GLAPI void APIENTRY glFogCoorddEXT (GLdouble coord);
+GLAPI void APIENTRY glFogCoorddvEXT (const GLdouble *coord);
+GLAPI void APIENTRY glFogCoordPointerEXT (GLenum type, GLsizei stride, const GLvoid *pointer);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLFOGCOORDFEXTPROC) (GLfloat coord);
+typedef void (APIENTRYP PFNGLFOGCOORDFVEXTPROC) (const GLfloat *coord);
+typedef void (APIENTRYP PFNGLFOGCOORDDEXTPROC) (GLdouble coord);
+typedef void (APIENTRYP PFNGLFOGCOORDDVEXTPROC) (const GLdouble *coord);
+typedef void (APIENTRYP PFNGLFOGCOORDPOINTEREXTPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);
+#endif
+
+#ifndef GL_REND_screen_coordinates
+#define GL_REND_screen_coordinates 1
+#endif
+
+#ifndef GL_EXT_coordinate_frame
+#define GL_EXT_coordinate_frame 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glTangent3bEXT (GLbyte tx, GLbyte ty, GLbyte tz);
+GLAPI void APIENTRY glTangent3bvEXT (const GLbyte *v);
+GLAPI void APIENTRY glTangent3dEXT (GLdouble tx, GLdouble ty, GLdouble tz);
+GLAPI void APIENTRY glTangent3dvEXT (const GLdouble *v);
+GLAPI void APIENTRY glTangent3fEXT (GLfloat tx, GLfloat ty, GLfloat tz);
+GLAPI void APIENTRY glTangent3fvEXT (const GLfloat *v);
+GLAPI void APIENTRY glTangent3iEXT (GLint tx, GLint ty, GLint tz);
+GLAPI void APIENTRY glTangent3ivEXT (const GLint *v);
+GLAPI void APIENTRY glTangent3sEXT (GLshort tx, GLshort ty, GLshort tz);
+GLAPI void APIENTRY glTangent3svEXT (const GLshort *v);
+GLAPI void APIENTRY glBinormal3bEXT (GLbyte bx, GLbyte by, GLbyte bz);
+GLAPI void APIENTRY glBinormal3bvEXT (const GLbyte *v);
+GLAPI void APIENTRY glBinormal3dEXT (GLdouble bx, GLdouble by, GLdouble bz);
+GLAPI void APIENTRY glBinormal3dvEXT (const GLdouble *v);
+GLAPI void APIENTRY glBinormal3fEXT (GLfloat bx, GLfloat by, GLfloat bz);
+GLAPI void APIENTRY glBinormal3fvEXT (const GLfloat *v);
+GLAPI void APIENTRY glBinormal3iEXT (GLint bx, GLint by, GLint bz);
+GLAPI void APIENTRY glBinormal3ivEXT (const GLint *v);
+GLAPI void APIENTRY glBinormal3sEXT (GLshort bx, GLshort by, GLshort bz);
+GLAPI void APIENTRY glBinormal3svEXT (const GLshort *v);
+GLAPI void APIENTRY glTangentPointerEXT (GLenum type, GLsizei stride, const GLvoid *pointer);
+GLAPI void APIENTRY glBinormalPointerEXT (GLenum type, GLsizei stride, const GLvoid *pointer);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLTANGENT3BEXTPROC) (GLbyte tx, GLbyte ty, GLbyte tz);
+typedef void (APIENTRYP PFNGLTANGENT3BVEXTPROC) (const GLbyte *v);
+typedef void (APIENTRYP PFNGLTANGENT3DEXTPROC) (GLdouble tx, GLdouble ty, GLdouble tz);
+typedef void (APIENTRYP PFNGLTANGENT3DVEXTPROC) (const GLdouble *v);
+typedef void (APIENTRYP PFNGLTANGENT3FEXTPROC) (GLfloat tx, GLfloat ty, GLfloat tz);
+typedef void (APIENTRYP PFNGLTANGENT3FVEXTPROC) (const GLfloat *v);
+typedef void (APIENTRYP PFNGLTANGENT3IEXTPROC) (GLint tx, GLint ty, GLint tz);
+typedef void (APIENTRYP PFNGLTANGENT3IVEXTPROC) (const GLint *v);
+typedef void (APIENTRYP PFNGLTANGENT3SEXTPROC) (GLshort tx, GLshort ty, GLshort tz);
+typedef void (APIENTRYP PFNGLTANGENT3SVEXTPROC) (const GLshort *v);
+typedef void (APIENTRYP PFNGLBINORMAL3BEXTPROC) (GLbyte bx, GLbyte by, GLbyte bz);
+typedef void (APIENTRYP PFNGLBINORMAL3BVEXTPROC) (const GLbyte *v);
+typedef void (APIENTRYP PFNGLBINORMAL3DEXTPROC) (GLdouble bx, GLdouble by, GLdouble bz);
+typedef void (APIENTRYP PFNGLBINORMAL3DVEXTPROC) (const GLdouble *v);
+typedef void (APIENTRYP PFNGLBINORMAL3FEXTPROC) (GLfloat bx, GLfloat by, GLfloat bz);
+typedef void (APIENTRYP PFNGLBINORMAL3FVEXTPROC) (const GLfloat *v);
+typedef void (APIENTRYP PFNGLBINORMAL3IEXTPROC) (GLint bx, GLint by, GLint bz);
+typedef void (APIENTRYP PFNGLBINORMAL3IVEXTPROC) (const GLint *v);
+typedef void (APIENTRYP PFNGLBINORMAL3SEXTPROC) (GLshort bx, GLshort by, GLshort bz);
+typedef void (APIENTRYP PFNGLBINORMAL3SVEXTPROC) (const GLshort *v);
+typedef void (APIENTRYP PFNGLTANGENTPOINTEREXTPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);
+typedef void (APIENTRYP PFNGLBINORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);
+#endif
+
+#ifndef GL_EXT_texture_env_combine
+#define GL_EXT_texture_env_combine 1
+#endif
+
+#ifndef GL_APPLE_specular_vector
+#define GL_APPLE_specular_vector 1
+#endif
+
+#ifndef GL_APPLE_transform_hint
+#define GL_APPLE_transform_hint 1
+#endif
+
+#ifndef GL_SGIX_fog_scale
+#define GL_SGIX_fog_scale 1
+#endif
+
+#ifndef GL_SUNX_constant_data
+#define GL_SUNX_constant_data 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glFinishTextureSUNX (void);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLFINISHTEXTURESUNXPROC) (void);
+#endif
+
+#ifndef GL_SUN_global_alpha
+#define GL_SUN_global_alpha 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glGlobalAlphaFactorbSUN (GLbyte factor);
+GLAPI void APIENTRY glGlobalAlphaFactorsSUN (GLshort factor);
+GLAPI void APIENTRY glGlobalAlphaFactoriSUN (GLint factor);
+GLAPI void APIENTRY glGlobalAlphaFactorfSUN (GLfloat factor);
+GLAPI void APIENTRY glGlobalAlphaFactordSUN (GLdouble factor);
+GLAPI void APIENTRY glGlobalAlphaFactorubSUN (GLubyte factor);
+GLAPI void APIENTRY glGlobalAlphaFactorusSUN (GLushort factor);
+GLAPI void APIENTRY glGlobalAlphaFactoruiSUN (GLuint factor);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORBSUNPROC) (GLbyte factor);
+typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORSSUNPROC) (GLshort factor);
+typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORISUNPROC) (GLint factor);
+typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORFSUNPROC) (GLfloat factor);
+typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORDSUNPROC) (GLdouble factor);
+typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORUBSUNPROC) (GLubyte factor);
+typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORUSSUNPROC) (GLushort factor);
+typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORUISUNPROC) (GLuint factor);
+#endif
+
+#ifndef GL_SUN_triangle_list
+#define GL_SUN_triangle_list 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glReplacementCodeuiSUN (GLuint code);
+GLAPI void APIENTRY glReplacementCodeusSUN (GLushort code);
+GLAPI void APIENTRY glReplacementCodeubSUN (GLubyte code);
+GLAPI void APIENTRY glReplacementCodeuivSUN (const GLuint *code);
+GLAPI void APIENTRY glReplacementCodeusvSUN (const GLushort *code);
+GLAPI void APIENTRY glReplacementCodeubvSUN (const GLubyte *code);
+GLAPI void APIENTRY glReplacementCodePointerSUN (GLenum type, GLsizei stride, const GLvoid* *pointer);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUISUNPROC) (GLuint code);
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUSSUNPROC) (GLushort code);
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUBSUNPROC) (GLubyte code);
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUIVSUNPROC) (const GLuint *code);
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUSVSUNPROC) (const GLushort *code);
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUBVSUNPROC) (const GLubyte *code);
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEPOINTERSUNPROC) (GLenum type, GLsizei stride, const GLvoid* *pointer);
+#endif
+
+#ifndef GL_SUN_vertex
+#define GL_SUN_vertex 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glColor4ubVertex2fSUN (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y);
+GLAPI void APIENTRY glColor4ubVertex2fvSUN (const GLubyte *c, const GLfloat *v);
+GLAPI void APIENTRY glColor4ubVertex3fSUN (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
+GLAPI void APIENTRY glColor4ubVertex3fvSUN (const GLubyte *c, const GLfloat *v);
+GLAPI void APIENTRY glColor3fVertex3fSUN (GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
+GLAPI void APIENTRY glColor3fVertex3fvSUN (const GLfloat *c, const GLfloat *v);
+GLAPI void APIENTRY glNormal3fVertex3fSUN (GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+GLAPI void APIENTRY glNormal3fVertex3fvSUN (const GLfloat *n, const GLfloat *v);
+GLAPI void APIENTRY glColor4fNormal3fVertex3fSUN (GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+GLAPI void APIENTRY glColor4fNormal3fVertex3fvSUN (const GLfloat *c, const GLfloat *n, const GLfloat *v);
+GLAPI void APIENTRY glTexCoord2fVertex3fSUN (GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);
+GLAPI void APIENTRY glTexCoord2fVertex3fvSUN (const GLfloat *tc, const GLfloat *v);
+GLAPI void APIENTRY glTexCoord4fVertex4fSUN (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+GLAPI void APIENTRY glTexCoord4fVertex4fvSUN (const GLfloat *tc, const GLfloat *v);
+GLAPI void APIENTRY glTexCoord2fColor4ubVertex3fSUN (GLfloat s, GLfloat t, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
+GLAPI void APIENTRY glTexCoord2fColor4ubVertex3fvSUN (const GLfloat *tc, const GLubyte *c, const GLfloat *v);
+GLAPI void APIENTRY glTexCoord2fColor3fVertex3fSUN (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
+GLAPI void APIENTRY glTexCoord2fColor3fVertex3fvSUN (const GLfloat *tc, const GLfloat *c, const GLfloat *v);
+GLAPI void APIENTRY glTexCoord2fNormal3fVertex3fSUN (GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+GLAPI void APIENTRY glTexCoord2fNormal3fVertex3fvSUN (const GLfloat *tc, const GLfloat *n, const GLfloat *v);
+GLAPI void APIENTRY glTexCoord2fColor4fNormal3fVertex3fSUN (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+GLAPI void APIENTRY glTexCoord2fColor4fNormal3fVertex3fvSUN (const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
+GLAPI void APIENTRY glTexCoord4fColor4fNormal3fVertex4fSUN (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+GLAPI void APIENTRY glTexCoord4fColor4fNormal3fVertex4fvSUN (const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
+GLAPI void APIENTRY glReplacementCodeuiVertex3fSUN (GLuint rc, GLfloat x, GLfloat y, GLfloat z);
+GLAPI void APIENTRY glReplacementCodeuiVertex3fvSUN (const GLuint *rc, const GLfloat *v);
+GLAPI void APIENTRY glReplacementCodeuiColor4ubVertex3fSUN (GLuint rc, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
+GLAPI void APIENTRY glReplacementCodeuiColor4ubVertex3fvSUN (const GLuint *rc, const GLubyte *c, const GLfloat *v);
+GLAPI void APIENTRY glReplacementCodeuiColor3fVertex3fSUN (GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
+GLAPI void APIENTRY glReplacementCodeuiColor3fVertex3fvSUN (const GLuint *rc, const GLfloat *c, const GLfloat *v);
+GLAPI void APIENTRY glReplacementCodeuiNormal3fVertex3fSUN (GLuint rc, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+GLAPI void APIENTRY glReplacementCodeuiNormal3fVertex3fvSUN (const GLuint *rc, const GLfloat *n, const GLfloat *v);
+GLAPI void APIENTRY glReplacementCodeuiColor4fNormal3fVertex3fSUN (GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+GLAPI void APIENTRY glReplacementCodeuiColor4fNormal3fVertex3fvSUN (const GLuint *rc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
+GLAPI void APIENTRY glReplacementCodeuiTexCoord2fVertex3fSUN (GLuint rc, GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);
+GLAPI void APIENTRY glReplacementCodeuiTexCoord2fVertex3fvSUN (const GLuint *rc, const GLfloat *tc, const GLfloat *v);
+GLAPI void APIENTRY glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN (GLuint rc, GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+GLAPI void APIENTRY glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN (const GLuint *rc, const GLfloat *tc, const GLfloat *n, const GLfloat *v);
+GLAPI void APIENTRY glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN (GLuint rc, GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+GLAPI void APIENTRY glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN (const GLuint *rc, const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLCOLOR4UBVERTEX2FSUNPROC) (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y);
+typedef void (APIENTRYP PFNGLCOLOR4UBVERTEX2FVSUNPROC) (const GLubyte *c, const GLfloat *v);
+typedef void (APIENTRYP PFNGLCOLOR4UBVERTEX3FSUNPROC) (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
+typedef void (APIENTRYP PFNGLCOLOR4UBVERTEX3FVSUNPROC) (const GLubyte *c, const GLfloat *v);
+typedef void (APIENTRYP PFNGLCOLOR3FVERTEX3FSUNPROC) (GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
+typedef void (APIENTRYP PFNGLCOLOR3FVERTEX3FVSUNPROC) (const GLfloat *c, const GLfloat *v);
+typedef void (APIENTRYP PFNGLNORMAL3FVERTEX3FSUNPROC) (GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+typedef void (APIENTRYP PFNGLNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *n, const GLfloat *v);
+typedef void (APIENTRYP PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+typedef void (APIENTRYP PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *c, const GLfloat *n, const GLfloat *v);
+typedef void (APIENTRYP PFNGLTEXCOORD2FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);
+typedef void (APIENTRYP PFNGLTEXCOORD2FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *v);
+typedef void (APIENTRYP PFNGLTEXCOORD4FVERTEX4FSUNPROC) (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+typedef void (APIENTRYP PFNGLTEXCOORD4FVERTEX4FVSUNPROC) (const GLfloat *tc, const GLfloat *v);
+typedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
+typedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC) (const GLfloat *tc, const GLubyte *c, const GLfloat *v);
+typedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
+typedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *c, const GLfloat *v);
+typedef void (APIENTRYP PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+typedef void (APIENTRYP PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *n, const GLfloat *v);
+typedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+typedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
+typedef void (APIENTRYP PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC) (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+typedef void (APIENTRYP PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC) (const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC) (GLuint rc, GLfloat x, GLfloat y, GLfloat z);
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *v);
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC) (GLuint rc, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC) (const GLuint *rc, const GLubyte *c, const GLfloat *v);
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC) (GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *c, const GLfloat *v);
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *n, const GLfloat *v);
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *tc, const GLfloat *v);
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *tc, const GLfloat *n, const GLfloat *v);
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
+#endif
+
+#ifndef GL_EXT_blend_func_separate
+#define GL_EXT_blend_func_separate 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glBlendFuncSeparateEXT (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEEXTPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
+#endif
+
+#ifndef GL_INGR_blend_func_separate
+#define GL_INGR_blend_func_separate 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glBlendFuncSeparateINGR (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEINGRPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
+#endif
+
+#ifndef GL_INGR_color_clamp
+#define GL_INGR_color_clamp 1
+#endif
+
+#ifndef GL_INGR_interlace_read
+#define GL_INGR_interlace_read 1
+#endif
+
+#ifndef GL_EXT_stencil_wrap
+#define GL_EXT_stencil_wrap 1
+#endif
+
+#ifndef GL_EXT_422_pixels
+#define GL_EXT_422_pixels 1
+#endif
+
+#ifndef GL_NV_texgen_reflection
+#define GL_NV_texgen_reflection 1
+#endif
+
+#ifndef GL_SUN_convolution_border_modes
+#define GL_SUN_convolution_border_modes 1
+#endif
+
+#ifndef GL_EXT_texture_env_add
+#define GL_EXT_texture_env_add 1
+#endif
+
+#ifndef GL_EXT_texture_lod_bias
+#define GL_EXT_texture_lod_bias 1
+#endif
+
+#ifndef GL_EXT_texture_filter_anisotropic
+#define GL_EXT_texture_filter_anisotropic 1
+#endif
+
+#ifndef GL_EXT_vertex_weighting
+#define GL_EXT_vertex_weighting 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glVertexWeightfEXT (GLfloat weight);
+GLAPI void APIENTRY glVertexWeightfvEXT (const GLfloat *weight);
+GLAPI void APIENTRY glVertexWeightPointerEXT (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLVERTEXWEIGHTFEXTPROC) (GLfloat weight);
+typedef void (APIENTRYP PFNGLVERTEXWEIGHTFVEXTPROC) (const GLfloat *weight);
+typedef void (APIENTRYP PFNGLVERTEXWEIGHTPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+#endif
+
+#ifndef GL_NV_light_max_exponent
+#define GL_NV_light_max_exponent 1
+#endif
+
+#ifndef GL_NV_vertex_array_range
+#define GL_NV_vertex_array_range 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glFlushVertexArrayRangeNV (void);
+GLAPI void APIENTRY glVertexArrayRangeNV (GLsizei length, const GLvoid *pointer);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLFLUSHVERTEXARRAYRANGENVPROC) (void);
+typedef void (APIENTRYP PFNGLVERTEXARRAYRANGENVPROC) (GLsizei length, const GLvoid *pointer);
+#endif
+
+#ifndef GL_NV_register_combiners
+#define GL_NV_register_combiners 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glCombinerParameterfvNV (GLenum pname, const GLfloat *params);
+GLAPI void APIENTRY glCombinerParameterfNV (GLenum pname, GLfloat param);
+GLAPI void APIENTRY glCombinerParameterivNV (GLenum pname, const GLint *params);
+GLAPI void APIENTRY glCombinerParameteriNV (GLenum pname, GLint param);
+GLAPI void APIENTRY glCombinerInputNV (GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
+GLAPI void APIENTRY glCombinerOutputNV (GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum);
+GLAPI void APIENTRY glFinalCombinerInputNV (GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
+GLAPI void APIENTRY glGetCombinerInputParameterfvNV (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params);
+GLAPI void APIENTRY glGetCombinerInputParameterivNV (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetCombinerOutputParameterfvNV (GLenum stage, GLenum portion, GLenum pname, GLfloat *params);
+GLAPI void APIENTRY glGetCombinerOutputParameterivNV (GLenum stage, GLenum portion, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetFinalCombinerInputParameterfvNV (GLenum variable, GLenum pname, GLfloat *params);
+GLAPI void APIENTRY glGetFinalCombinerInputParameterivNV (GLenum variable, GLenum pname, GLint *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLCOMBINERPARAMETERFVNVPROC) (GLenum pname, const GLfloat *params);
+typedef void (APIENTRYP PFNGLCOMBINERPARAMETERFNVPROC) (GLenum pname, GLfloat param);
+typedef void (APIENTRYP PFNGLCOMBINERPARAMETERIVNVPROC) (GLenum pname, const GLint *params);
+typedef void (APIENTRYP PFNGLCOMBINERPARAMETERINVPROC) (GLenum pname, GLint param);
+typedef void (APIENTRYP PFNGLCOMBINERINPUTNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
+typedef void (APIENTRYP PFNGLCOMBINEROUTPUTNVPROC) (GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum);
+typedef void (APIENTRYP PFNGLFINALCOMBINERINPUTNVPROC) (GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
+typedef void (APIENTRYP PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC) (GLenum variable, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC) (GLenum variable, GLenum pname, GLint *params);
+#endif
+
+#ifndef GL_NV_fog_distance
+#define GL_NV_fog_distance 1
+#endif
+
+#ifndef GL_NV_texgen_emboss
+#define GL_NV_texgen_emboss 1
+#endif
+
+#ifndef GL_NV_blend_square
+#define GL_NV_blend_square 1
+#endif
+
+#ifndef GL_NV_texture_env_combine4
+#define GL_NV_texture_env_combine4 1
+#endif
+
+#ifndef GL_MESA_resize_buffers
+#define GL_MESA_resize_buffers 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glResizeBuffersMESA (void);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLRESIZEBUFFERSMESAPROC) (void);
+#endif
+
+#ifndef GL_MESA_window_pos
+#define GL_MESA_window_pos 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glWindowPos2dMESA (GLdouble x, GLdouble y);
+GLAPI void APIENTRY glWindowPos2dvMESA (const GLdouble *v);
+GLAPI void APIENTRY glWindowPos2fMESA (GLfloat x, GLfloat y);
+GLAPI void APIENTRY glWindowPos2fvMESA (const GLfloat *v);
+GLAPI void APIENTRY glWindowPos2iMESA (GLint x, GLint y);
+GLAPI void APIENTRY glWindowPos2ivMESA (const GLint *v);
+GLAPI void APIENTRY glWindowPos2sMESA (GLshort x, GLshort y);
+GLAPI void APIENTRY glWindowPos2svMESA (const GLshort *v);
+GLAPI void APIENTRY glWindowPos3dMESA (GLdouble x, GLdouble y, GLdouble z);
+GLAPI void APIENTRY glWindowPos3dvMESA (const GLdouble *v);
+GLAPI void APIENTRY glWindowPos3fMESA (GLfloat x, GLfloat y, GLfloat z);
+GLAPI void APIENTRY glWindowPos3fvMESA (const GLfloat *v);
+GLAPI void APIENTRY glWindowPos3iMESA (GLint x, GLint y, GLint z);
+GLAPI void APIENTRY glWindowPos3ivMESA (const GLint *v);
+GLAPI void APIENTRY glWindowPos3sMESA (GLshort x, GLshort y, GLshort z);
+GLAPI void APIENTRY glWindowPos3svMESA (const GLshort *v);
+GLAPI void APIENTRY glWindowPos4dMESA (GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+GLAPI void APIENTRY glWindowPos4dvMESA (const GLdouble *v);
+GLAPI void APIENTRY glWindowPos4fMESA (GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+GLAPI void APIENTRY glWindowPos4fvMESA (const GLfloat *v);
+GLAPI void APIENTRY glWindowPos4iMESA (GLint x, GLint y, GLint z, GLint w);
+GLAPI void APIENTRY glWindowPos4ivMESA (const GLint *v);
+GLAPI void APIENTRY glWindowPos4sMESA (GLshort x, GLshort y, GLshort z, GLshort w);
+GLAPI void APIENTRY glWindowPos4svMESA (const GLshort *v);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLWINDOWPOS2DMESAPROC) (GLdouble x, GLdouble y);
+typedef void (APIENTRYP PFNGLWINDOWPOS2DVMESAPROC) (const GLdouble *v);
+typedef void (APIENTRYP PFNGLWINDOWPOS2FMESAPROC) (GLfloat x, GLfloat y);
+typedef void (APIENTRYP PFNGLWINDOWPOS2FVMESAPROC) (const GLfloat *v);
+typedef void (APIENTRYP PFNGLWINDOWPOS2IMESAPROC) (GLint x, GLint y);
+typedef void (APIENTRYP PFNGLWINDOWPOS2IVMESAPROC) (const GLint *v);
+typedef void (APIENTRYP PFNGLWINDOWPOS2SMESAPROC) (GLshort x, GLshort y);
+typedef void (APIENTRYP PFNGLWINDOWPOS2SVMESAPROC) (const GLshort *v);
+typedef void (APIENTRYP PFNGLWINDOWPOS3DMESAPROC) (GLdouble x, GLdouble y, GLdouble z);
+typedef void (APIENTRYP PFNGLWINDOWPOS3DVMESAPROC) (const GLdouble *v);
+typedef void (APIENTRYP PFNGLWINDOWPOS3FMESAPROC) (GLfloat x, GLfloat y, GLfloat z);
+typedef void (APIENTRYP PFNGLWINDOWPOS3FVMESAPROC) (const GLfloat *v);
+typedef void (APIENTRYP PFNGLWINDOWPOS3IMESAPROC) (GLint x, GLint y, GLint z);
+typedef void (APIENTRYP PFNGLWINDOWPOS3IVMESAPROC) (const GLint *v);
+typedef void (APIENTRYP PFNGLWINDOWPOS3SMESAPROC) (GLshort x, GLshort y, GLshort z);
+typedef void (APIENTRYP PFNGLWINDOWPOS3SVMESAPROC) (const GLshort *v);
+typedef void (APIENTRYP PFNGLWINDOWPOS4DMESAPROC) (GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void (APIENTRYP PFNGLWINDOWPOS4DVMESAPROC) (const GLdouble *v);
+typedef void (APIENTRYP PFNGLWINDOWPOS4FMESAPROC) (GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+typedef void (APIENTRYP PFNGLWINDOWPOS4FVMESAPROC) (const GLfloat *v);
+typedef void (APIENTRYP PFNGLWINDOWPOS4IMESAPROC) (GLint x, GLint y, GLint z, GLint w);
+typedef void (APIENTRYP PFNGLWINDOWPOS4IVMESAPROC) (const GLint *v);
+typedef void (APIENTRYP PFNGLWINDOWPOS4SMESAPROC) (GLshort x, GLshort y, GLshort z, GLshort w);
+typedef void (APIENTRYP PFNGLWINDOWPOS4SVMESAPROC) (const GLshort *v);
+#endif
+
+#ifndef GL_IBM_cull_vertex
+#define GL_IBM_cull_vertex 1
+#endif
+
+#ifndef GL_IBM_multimode_draw_arrays
+#define GL_IBM_multimode_draw_arrays 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glMultiModeDrawArraysIBM (const GLenum *mode, const GLint *first, const GLsizei *count, GLsizei primcount, GLint modestride);
+GLAPI void APIENTRY glMultiModeDrawElementsIBM (const GLenum *mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei primcount, GLint modestride);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLMULTIMODEDRAWARRAYSIBMPROC) (const GLenum *mode, const GLint *first, const GLsizei *count, GLsizei primcount, GLint modestride);
+typedef void (APIENTRYP PFNGLMULTIMODEDRAWELEMENTSIBMPROC) (const GLenum *mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei primcount, GLint modestride);
+#endif
+
+#ifndef GL_IBM_vertex_array_lists
+#define GL_IBM_vertex_array_lists 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glColorPointerListIBM (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
+GLAPI void APIENTRY glSecondaryColorPointerListIBM (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
+GLAPI void APIENTRY glEdgeFlagPointerListIBM (GLint stride, const GLboolean* *pointer, GLint ptrstride);
+GLAPI void APIENTRY glFogCoordPointerListIBM (GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
+GLAPI void APIENTRY glIndexPointerListIBM (GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
+GLAPI void APIENTRY glNormalPointerListIBM (GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
+GLAPI void APIENTRY glTexCoordPointerListIBM (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
+GLAPI void APIENTRY glVertexPointerListIBM (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLCOLORPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
+typedef void (APIENTRYP PFNGLSECONDARYCOLORPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
+typedef void (APIENTRYP PFNGLEDGEFLAGPOINTERLISTIBMPROC) (GLint stride, const GLboolean* *pointer, GLint ptrstride);
+typedef void (APIENTRYP PFNGLFOGCOORDPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
+typedef void (APIENTRYP PFNGLINDEXPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
+typedef void (APIENTRYP PFNGLNORMALPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
+typedef void (APIENTRYP PFNGLTEXCOORDPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
+typedef void (APIENTRYP PFNGLVERTEXPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
+#endif
+
+#ifndef GL_SGIX_subsample
+#define GL_SGIX_subsample 1
+#endif
+
+#ifndef GL_SGIX_ycrcba
+#define GL_SGIX_ycrcba 1
+#endif
+
+#ifndef GL_SGIX_ycrcb_subsample
+#define GL_SGIX_ycrcb_subsample 1
+#endif
+
+#ifndef GL_SGIX_depth_pass_instrument
+#define GL_SGIX_depth_pass_instrument 1
+#endif
+
+#ifndef GL_3DFX_texture_compression_FXT1
+#define GL_3DFX_texture_compression_FXT1 1
+#endif
+
+#ifndef GL_3DFX_multisample
+#define GL_3DFX_multisample 1
+#endif
+
+#ifndef GL_3DFX_tbuffer
+#define GL_3DFX_tbuffer 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glTbufferMask3DFX (GLuint mask);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLTBUFFERMASK3DFXPROC) (GLuint mask);
+#endif
+
+#ifndef GL_EXT_multisample
+#define GL_EXT_multisample 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glSampleMaskEXT (GLclampf value, GLboolean invert);
+GLAPI void APIENTRY glSamplePatternEXT (GLenum pattern);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLSAMPLEMASKEXTPROC) (GLclampf value, GLboolean invert);
+typedef void (APIENTRYP PFNGLSAMPLEPATTERNEXTPROC) (GLenum pattern);
+#endif
+
+#ifndef GL_SGIX_vertex_preclip
+#define GL_SGIX_vertex_preclip 1
+#endif
+
+#ifndef GL_SGIX_convolution_accuracy
+#define GL_SGIX_convolution_accuracy 1
+#endif
+
+#ifndef GL_SGIX_resample
+#define GL_SGIX_resample 1
+#endif
+
+#ifndef GL_SGIS_point_line_texgen
+#define GL_SGIS_point_line_texgen 1
+#endif
+
+#ifndef GL_SGIS_texture_color_mask
+#define GL_SGIS_texture_color_mask 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glTextureColorMaskSGIS (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLTEXTURECOLORMASKSGISPROC) (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
+#endif
+
+#ifndef GL_SGIX_igloo_interface
+#define GL_SGIX_igloo_interface 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glIglooInterfaceSGIX (GLenum pname, const GLvoid *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLIGLOOINTERFACESGIXPROC) (GLenum pname, const GLvoid *params);
+#endif
+
+#ifndef GL_EXT_texture_env_dot3
+#define GL_EXT_texture_env_dot3 1
+#endif
+
+#ifndef GL_ATI_texture_mirror_once
+#define GL_ATI_texture_mirror_once 1
+#endif
+
+#ifndef GL_NV_fence
+#define GL_NV_fence 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glDeleteFencesNV (GLsizei n, const GLuint *fences);
+GLAPI void APIENTRY glGenFencesNV (GLsizei n, GLuint *fences);
+GLAPI GLboolean APIENTRY glIsFenceNV (GLuint fence);
+GLAPI GLboolean APIENTRY glTestFenceNV (GLuint fence);
+GLAPI void APIENTRY glGetFenceivNV (GLuint fence, GLenum pname, GLint *params);
+GLAPI void APIENTRY glFinishFenceNV (GLuint fence);
+GLAPI void APIENTRY glSetFenceNV (GLuint fence, GLenum condition);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
+typedef void (APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
+typedef GLboolean (APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
+typedef GLboolean (APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
+typedef void (APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
+typedef void (APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
+#endif
+
+#ifndef GL_NV_evaluators
+#define GL_NV_evaluators 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glMapControlPointsNV (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean packed, const GLvoid *points);
+GLAPI void APIENTRY glMapParameterivNV (GLenum target, GLenum pname, const GLint *params);
+GLAPI void APIENTRY glMapParameterfvNV (GLenum target, GLenum pname, const GLfloat *params);
+GLAPI void APIENTRY glGetMapControlPointsNV (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean packed, GLvoid *points);
+GLAPI void APIENTRY glGetMapParameterivNV (GLenum target, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetMapParameterfvNV (GLenum target, GLenum pname, GLfloat *params);
+GLAPI void APIENTRY glGetMapAttribParameterivNV (GLenum target, GLuint index, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetMapAttribParameterfvNV (GLenum target, GLuint index, GLenum pname, GLfloat *params);
+GLAPI void APIENTRY glEvalMapsNV (GLenum target, GLenum mode);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLMAPCONTROLPOINTSNVPROC) (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean packed, const GLvoid *points);
+typedef void (APIENTRYP PFNGLMAPPARAMETERIVNVPROC) (GLenum target, GLenum pname, const GLint *params);
+typedef void (APIENTRYP PFNGLMAPPARAMETERFVNVPROC) (GLenum target, GLenum pname, const GLfloat *params);
+typedef void (APIENTRYP PFNGLGETMAPCONTROLPOINTSNVPROC) (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean packed, GLvoid *points);
+typedef void (APIENTRYP PFNGLGETMAPPARAMETERIVNVPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETMAPPARAMETERFVNVPROC) (GLenum target, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETMAPATTRIBPARAMETERIVNVPROC) (GLenum target, GLuint index, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETMAPATTRIBPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLEVALMAPSNVPROC) (GLenum target, GLenum mode);
+#endif
+
+#ifndef GL_NV_packed_depth_stencil
+#define GL_NV_packed_depth_stencil 1
+#endif
+
+#ifndef GL_NV_register_combiners2
+#define GL_NV_register_combiners2 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glCombinerStageParameterfvNV (GLenum stage, GLenum pname, const GLfloat *params);
+GLAPI void APIENTRY glGetCombinerStageParameterfvNV (GLenum stage, GLenum pname, GLfloat *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage, GLenum pname, const GLfloat *params);
+typedef void (APIENTRYP PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage, GLenum pname, GLfloat *params);
+#endif
+
+#ifndef GL_NV_texture_compression_vtc
+#define GL_NV_texture_compression_vtc 1
+#endif
+
+#ifndef GL_NV_texture_rectangle
+#define GL_NV_texture_rectangle 1
+#endif
+
+#ifndef GL_NV_texture_shader
+#define GL_NV_texture_shader 1
+#endif
+
+#ifndef GL_NV_texture_shader2
+#define GL_NV_texture_shader2 1
+#endif
+
+#ifndef GL_NV_vertex_array_range2
+#define GL_NV_vertex_array_range2 1
+#endif
+
+#ifndef GL_NV_vertex_program
+#define GL_NV_vertex_program 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI GLboolean APIENTRY glAreProgramsResidentNV (GLsizei n, const GLuint *programs, GLboolean *residences);
+GLAPI void APIENTRY glBindProgramNV (GLenum target, GLuint id);
+GLAPI void APIENTRY glDeleteProgramsNV (GLsizei n, const GLuint *programs);
+GLAPI void APIENTRY glExecuteProgramNV (GLenum target, GLuint id, const GLfloat *params);
+GLAPI void APIENTRY glGenProgramsNV (GLsizei n, GLuint *programs);
+GLAPI void APIENTRY glGetProgramParameterdvNV (GLenum target, GLuint index, GLenum pname, GLdouble *params);
+GLAPI void APIENTRY glGetProgramParameterfvNV (GLenum target, GLuint index, GLenum pname, GLfloat *params);
+GLAPI void APIENTRY glGetProgramivNV (GLuint id, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetProgramStringNV (GLuint id, GLenum pname, GLubyte *program);
+GLAPI void APIENTRY glGetTrackMatrixivNV (GLenum target, GLuint address, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetVertexAttribdvNV (GLuint index, GLenum pname, GLdouble *params);
+GLAPI void APIENTRY glGetVertexAttribfvNV (GLuint index, GLenum pname, GLfloat *params);
+GLAPI void APIENTRY glGetVertexAttribivNV (GLuint index, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetVertexAttribPointervNV (GLuint index, GLenum pname, GLvoid* *pointer);
+GLAPI GLboolean APIENTRY glIsProgramNV (GLuint id);
+GLAPI void APIENTRY glLoadProgramNV (GLenum target, GLuint id, GLsizei len, const GLubyte *program);
+GLAPI void APIENTRY glProgramParameter4dNV (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+GLAPI void APIENTRY glProgramParameter4dvNV (GLenum target, GLuint index, const GLdouble *v);
+GLAPI void APIENTRY glProgramParameter4fNV (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+GLAPI void APIENTRY glProgramParameter4fvNV (GLenum target, GLuint index, const GLfloat *v);
+GLAPI void APIENTRY glProgramParameters4dvNV (GLenum target, GLuint index, GLsizei count, const GLdouble *v);
+GLAPI void APIENTRY glProgramParameters4fvNV (GLenum target, GLuint index, GLsizei count, const GLfloat *v);
+GLAPI void APIENTRY glRequestResidentProgramsNV (GLsizei n, const GLuint *programs);
+GLAPI void APIENTRY glTrackMatrixNV (GLenum target, GLuint address, GLenum matrix, GLenum transform);
+GLAPI void APIENTRY glVertexAttribPointerNV (GLuint index, GLint fsize, GLenum type, GLsizei stride, const GLvoid *pointer);
+GLAPI void APIENTRY glVertexAttrib1dNV (GLuint index, GLdouble x);
+GLAPI void APIENTRY glVertexAttrib1dvNV (GLuint index, const GLdouble *v);
+GLAPI void APIENTRY glVertexAttrib1fNV (GLuint index, GLfloat x);
+GLAPI void APIENTRY glVertexAttrib1fvNV (GLuint index, const GLfloat *v);
+GLAPI void APIENTRY glVertexAttrib1sNV (GLuint index, GLshort x);
+GLAPI void APIENTRY glVertexAttrib1svNV (GLuint index, const GLshort *v);
+GLAPI void APIENTRY glVertexAttrib2dNV (GLuint index, GLdouble x, GLdouble y);
+GLAPI void APIENTRY glVertexAttrib2dvNV (GLuint index, const GLdouble *v);
+GLAPI void APIENTRY glVertexAttrib2fNV (GLuint index, GLfloat x, GLfloat y);
+GLAPI void APIENTRY glVertexAttrib2fvNV (GLuint index, const GLfloat *v);
+GLAPI void APIENTRY glVertexAttrib2sNV (GLuint index, GLshort x, GLshort y);
+GLAPI void APIENTRY glVertexAttrib2svNV (GLuint index, const GLshort *v);
+GLAPI void APIENTRY glVertexAttrib3dNV (GLuint index, GLdouble x, GLdouble y, GLdouble z);
+GLAPI void APIENTRY glVertexAttrib3dvNV (GLuint index, const GLdouble *v);
+GLAPI void APIENTRY glVertexAttrib3fNV (GLuint index, GLfloat x, GLfloat y, GLfloat z);
+GLAPI void APIENTRY glVertexAttrib3fvNV (GLuint index, const GLfloat *v);
+GLAPI void APIENTRY glVertexAttrib3sNV (GLuint index, GLshort x, GLshort y, GLshort z);
+GLAPI void APIENTRY glVertexAttrib3svNV (GLuint index, const GLshort *v);
+GLAPI void APIENTRY glVertexAttrib4dNV (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+GLAPI void APIENTRY glVertexAttrib4dvNV (GLuint index, const GLdouble *v);
+GLAPI void APIENTRY glVertexAttrib4fNV (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+GLAPI void APIENTRY glVertexAttrib4fvNV (GLuint index, const GLfloat *v);
+GLAPI void APIENTRY glVertexAttrib4sNV (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
+GLAPI void APIENTRY glVertexAttrib4svNV (GLuint index, const GLshort *v);
+GLAPI void APIENTRY glVertexAttrib4ubNV (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
+GLAPI void APIENTRY glVertexAttrib4ubvNV (GLuint index, const GLubyte *v);
+GLAPI void APIENTRY glVertexAttribs1dvNV (GLuint index, GLsizei count, const GLdouble *v);
+GLAPI void APIENTRY glVertexAttribs1fvNV (GLuint index, GLsizei count, const GLfloat *v);
+GLAPI void APIENTRY glVertexAttribs1svNV (GLuint index, GLsizei count, const GLshort *v);
+GLAPI void APIENTRY glVertexAttribs2dvNV (GLuint index, GLsizei count, const GLdouble *v);
+GLAPI void APIENTRY glVertexAttribs2fvNV (GLuint index, GLsizei count, const GLfloat *v);
+GLAPI void APIENTRY glVertexAttribs2svNV (GLuint index, GLsizei count, const GLshort *v);
+GLAPI void APIENTRY glVertexAttribs3dvNV (GLuint index, GLsizei count, const GLdouble *v);
+GLAPI void APIENTRY glVertexAttribs3fvNV (GLuint index, GLsizei count, const GLfloat *v);
+GLAPI void APIENTRY glVertexAttribs3svNV (GLuint index, GLsizei count, const GLshort *v);
+GLAPI void APIENTRY glVertexAttribs4dvNV (GLuint index, GLsizei count, const GLdouble *v);
+GLAPI void APIENTRY glVertexAttribs4fvNV (GLuint index, GLsizei count, const GLfloat *v);
+GLAPI void APIENTRY glVertexAttribs4svNV (GLuint index, GLsizei count, const GLshort *v);
+GLAPI void APIENTRY glVertexAttribs4ubvNV (GLuint index, GLsizei count, const GLubyte *v);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef GLboolean (APIENTRYP PFNGLAREPROGRAMSRESIDENTNVPROC) (GLsizei n, const GLuint *programs, GLboolean *residences);
+typedef void (APIENTRYP PFNGLBINDPROGRAMNVPROC) (GLenum target, GLuint id);
+typedef void (APIENTRYP PFNGLDELETEPROGRAMSNVPROC) (GLsizei n, const GLuint *programs);
+typedef void (APIENTRYP PFNGLEXECUTEPROGRAMNVPROC) (GLenum target, GLuint id, const GLfloat *params);
+typedef void (APIENTRYP PFNGLGENPROGRAMSNVPROC) (GLsizei n, GLuint *programs);
+typedef void (APIENTRYP PFNGLGETPROGRAMPARAMETERDVNVPROC) (GLenum target, GLuint index, GLenum pname, GLdouble *params);
+typedef void (APIENTRYP PFNGLGETPROGRAMPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETPROGRAMIVNVPROC) (GLuint id, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETPROGRAMSTRINGNVPROC) (GLuint id, GLenum pname, GLubyte *program);
+typedef void (APIENTRYP PFNGLGETTRACKMATRIXIVNVPROC) (GLenum target, GLuint address, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBDVNVPROC) (GLuint index, GLenum pname, GLdouble *params);
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBFVNVPROC) (GLuint index, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIVNVPROC) (GLuint index, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVNVPROC) (GLuint index, GLenum pname, GLvoid* *pointer);
+typedef GLboolean (APIENTRYP PFNGLISPROGRAMNVPROC) (GLuint id);
+typedef void (APIENTRYP PFNGLLOADPROGRAMNVPROC) (GLenum target, GLuint id, GLsizei len, const GLubyte *program);
+typedef void (APIENTRYP PFNGLPROGRAMPARAMETER4DNVPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void (APIENTRYP PFNGLPROGRAMPARAMETER4DVNVPROC) (GLenum target, GLuint index, const GLdouble *v);
+typedef void (APIENTRYP PFNGLPROGRAMPARAMETER4FNVPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+typedef void (APIENTRYP PFNGLPROGRAMPARAMETER4FVNVPROC) (GLenum target, GLuint index, const GLfloat *v);
+typedef void (APIENTRYP PFNGLPROGRAMPARAMETERS4DVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLdouble *v);
+typedef void (APIENTRYP PFNGLPROGRAMPARAMETERS4FVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat *v);
+typedef void (APIENTRYP PFNGLREQUESTRESIDENTPROGRAMSNVPROC) (GLsizei n, const GLuint *programs);
+typedef void (APIENTRYP PFNGLTRACKMATRIXNVPROC) (GLenum target, GLuint address, GLenum matrix, GLenum transform);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERNVPROC) (GLuint index, GLint fsize, GLenum type, GLsizei stride, const GLvoid *pointer);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1DNVPROC) (GLuint index, GLdouble x);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1DVNVPROC) (GLuint index, const GLdouble *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1FNVPROC) (GLuint index, GLfloat x);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1FVNVPROC) (GLuint index, const GLfloat *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1SNVPROC) (GLuint index, GLshort x);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1SVNVPROC) (GLuint index, const GLshort *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2DNVPROC) (GLuint index, GLdouble x, GLdouble y);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2DVNVPROC) (GLuint index, const GLdouble *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2FNVPROC) (GLuint index, GLfloat x, GLfloat y);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2FVNVPROC) (GLuint index, const GLfloat *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2SNVPROC) (GLuint index, GLshort x, GLshort y);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2SVNVPROC) (GLuint index, const GLshort *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3DVNVPROC) (GLuint index, const GLdouble *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3FVNVPROC) (GLuint index, const GLfloat *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3SVNVPROC) (GLuint index, const GLshort *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4DVNVPROC) (GLuint index, const GLdouble *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4FVNVPROC) (GLuint index, const GLfloat *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4SVNVPROC) (GLuint index, const GLshort *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4UBNVPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4UBVNVPROC) (GLuint index, const GLubyte *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBS1DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBS1FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBS1SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBS2DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBS2FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBS2SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBS3DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBS3FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBS3SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBS4DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBS4FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBS4SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBS4UBVNVPROC) (GLuint index, GLsizei count, const GLubyte *v);
+#endif
+
+#ifndef GL_SGIX_texture_coordinate_clamp
+#define GL_SGIX_texture_coordinate_clamp 1
+#endif
+
+#ifndef GL_SGIX_scalebias_hint
+#define GL_SGIX_scalebias_hint 1
+#endif
+
+#ifndef GL_OML_interlace
+#define GL_OML_interlace 1
+#endif
+
+#ifndef GL_OML_subsample
+#define GL_OML_subsample 1
+#endif
+
+#ifndef GL_OML_resample
+#define GL_OML_resample 1
+#endif
+
+#ifndef GL_NV_copy_depth_to_color
+#define GL_NV_copy_depth_to_color 1
+#endif
+
+#ifndef GL_ATI_envmap_bumpmap
+#define GL_ATI_envmap_bumpmap 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glTexBumpParameterivATI (GLenum pname, const GLint *param);
+GLAPI void APIENTRY glTexBumpParameterfvATI (GLenum pname, const GLfloat *param);
+GLAPI void APIENTRY glGetTexBumpParameterivATI (GLenum pname, GLint *param);
+GLAPI void APIENTRY glGetTexBumpParameterfvATI (GLenum pname, GLfloat *param);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLTEXBUMPPARAMETERIVATIPROC) (GLenum pname, const GLint *param);
+typedef void (APIENTRYP PFNGLTEXBUMPPARAMETERFVATIPROC) (GLenum pname, const GLfloat *param);
+typedef void (APIENTRYP PFNGLGETTEXBUMPPARAMETERIVATIPROC) (GLenum pname, GLint *param);
+typedef void (APIENTRYP PFNGLGETTEXBUMPPARAMETERFVATIPROC) (GLenum pname, GLfloat *param);
+#endif
+
+#ifndef GL_ATI_fragment_shader
+#define GL_ATI_fragment_shader 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI GLuint APIENTRY glGenFragmentShadersATI (GLuint range);
+GLAPI void APIENTRY glBindFragmentShaderATI (GLuint id);
+GLAPI void APIENTRY glDeleteFragmentShaderATI (GLuint id);
+GLAPI void APIENTRY glBeginFragmentShaderATI (void);
+GLAPI void APIENTRY glEndFragmentShaderATI (void);
+GLAPI void APIENTRY glPassTexCoordATI (GLuint dst, GLuint coord, GLenum swizzle);
+GLAPI void APIENTRY glSampleMapATI (GLuint dst, GLuint interp, GLenum swizzle);
+GLAPI void APIENTRY glColorFragmentOp1ATI (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);
+GLAPI void APIENTRY glColorFragmentOp2ATI (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);
+GLAPI void APIENTRY glColorFragmentOp3ATI (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);
+GLAPI void APIENTRY glAlphaFragmentOp1ATI (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);
+GLAPI void APIENTRY glAlphaFragmentOp2ATI (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);
+GLAPI void APIENTRY glAlphaFragmentOp3ATI (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);
+GLAPI void APIENTRY glSetFragmentShaderConstantATI (GLuint dst, const GLfloat *value);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef GLuint (APIENTRYP PFNGLGENFRAGMENTSHADERSATIPROC) (GLuint range);
+typedef void (APIENTRYP PFNGLBINDFRAGMENTSHADERATIPROC) (GLuint id);
+typedef void (APIENTRYP PFNGLDELETEFRAGMENTSHADERATIPROC) (GLuint id);
+typedef void (APIENTRYP PFNGLBEGINFRAGMENTSHADERATIPROC) (void);
+typedef void (APIENTRYP PFNGLENDFRAGMENTSHADERATIPROC) (void);
+typedef void (APIENTRYP PFNGLPASSTEXCOORDATIPROC) (GLuint dst, GLuint coord, GLenum swizzle);
+typedef void (APIENTRYP PFNGLSAMPLEMAPATIPROC) (GLuint dst, GLuint interp, GLenum swizzle);
+typedef void (APIENTRYP PFNGLCOLORFRAGMENTOP1ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);
+typedef void (APIENTRYP PFNGLCOLORFRAGMENTOP2ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);
+typedef void (APIENTRYP PFNGLCOLORFRAGMENTOP3ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);
+typedef void (APIENTRYP PFNGLALPHAFRAGMENTOP1ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);
+typedef void (APIENTRYP PFNGLALPHAFRAGMENTOP2ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);
+typedef void (APIENTRYP PFNGLALPHAFRAGMENTOP3ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);
+typedef void (APIENTRYP PFNGLSETFRAGMENTSHADERCONSTANTATIPROC) (GLuint dst, const GLfloat *value);
+#endif
+
+#ifndef GL_ATI_pn_triangles
+#define GL_ATI_pn_triangles 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glPNTrianglesiATI (GLenum pname, GLint param);
+GLAPI void APIENTRY glPNTrianglesfATI (GLenum pname, GLfloat param);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLPNTRIANGLESIATIPROC) (GLenum pname, GLint param);
+typedef void (APIENTRYP PFNGLPNTRIANGLESFATIPROC) (GLenum pname, GLfloat param);
+#endif
+
+#ifndef GL_ATI_vertex_array_object
+#define GL_ATI_vertex_array_object 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI GLuint APIENTRY glNewObjectBufferATI (GLsizei size, const GLvoid *pointer, GLenum usage);
+GLAPI GLboolean APIENTRY glIsObjectBufferATI (GLuint buffer);
+GLAPI void APIENTRY glUpdateObjectBufferATI (GLuint buffer, GLuint offset, GLsizei size, const GLvoid *pointer, GLenum preserve);
+GLAPI void APIENTRY glGetObjectBufferfvATI (GLuint buffer, GLenum pname, GLfloat *params);
+GLAPI void APIENTRY glGetObjectBufferivATI (GLuint buffer, GLenum pname, GLint *params);
+GLAPI void APIENTRY glFreeObjectBufferATI (GLuint buffer);
+GLAPI void APIENTRY glArrayObjectATI (GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);
+GLAPI void APIENTRY glGetArrayObjectfvATI (GLenum array, GLenum pname, GLfloat *params);
+GLAPI void APIENTRY glGetArrayObjectivATI (GLenum array, GLenum pname, GLint *params);
+GLAPI void APIENTRY glVariantArrayObjectATI (GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);
+GLAPI void APIENTRY glGetVariantArrayObjectfvATI (GLuint id, GLenum pname, GLfloat *params);
+GLAPI void APIENTRY glGetVariantArrayObjectivATI (GLuint id, GLenum pname, GLint *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef GLuint (APIENTRYP PFNGLNEWOBJECTBUFFERATIPROC) (GLsizei size, const GLvoid *pointer, GLenum usage);
+typedef GLboolean (APIENTRYP PFNGLISOBJECTBUFFERATIPROC) (GLuint buffer);
+typedef void (APIENTRYP PFNGLUPDATEOBJECTBUFFERATIPROC) (GLuint buffer, GLuint offset, GLsizei size, const GLvoid *pointer, GLenum preserve);
+typedef void (APIENTRYP PFNGLGETOBJECTBUFFERFVATIPROC) (GLuint buffer, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETOBJECTBUFFERIVATIPROC) (GLuint buffer, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLFREEOBJECTBUFFERATIPROC) (GLuint buffer);
+typedef void (APIENTRYP PFNGLARRAYOBJECTATIPROC) (GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);
+typedef void (APIENTRYP PFNGLGETARRAYOBJECTFVATIPROC) (GLenum array, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETARRAYOBJECTIVATIPROC) (GLenum array, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLVARIANTARRAYOBJECTATIPROC) (GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);
+typedef void (APIENTRYP PFNGLGETVARIANTARRAYOBJECTFVATIPROC) (GLuint id, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETVARIANTARRAYOBJECTIVATIPROC) (GLuint id, GLenum pname, GLint *params);
+#endif
+
+#ifndef GL_EXT_vertex_shader
+#define GL_EXT_vertex_shader 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glBeginVertexShaderEXT (void);
+GLAPI void APIENTRY glEndVertexShaderEXT (void);
+GLAPI void APIENTRY glBindVertexShaderEXT (GLuint id);
+GLAPI GLuint APIENTRY glGenVertexShadersEXT (GLuint range);
+GLAPI void APIENTRY glDeleteVertexShaderEXT (GLuint id);
+GLAPI void APIENTRY glShaderOp1EXT (GLenum op, GLuint res, GLuint arg1);
+GLAPI void APIENTRY glShaderOp2EXT (GLenum op, GLuint res, GLuint arg1, GLuint arg2);
+GLAPI void APIENTRY glShaderOp3EXT (GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3);
+GLAPI void APIENTRY glSwizzleEXT (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);
+GLAPI void APIENTRY glWriteMaskEXT (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);
+GLAPI void APIENTRY glInsertComponentEXT (GLuint res, GLuint src, GLuint num);
+GLAPI void APIENTRY glExtractComponentEXT (GLuint res, GLuint src, GLuint num);
+GLAPI GLuint APIENTRY glGenSymbolsEXT (GLenum datatype, GLenum storagetype, GLenum range, GLuint components);
+GLAPI void APIENTRY glSetInvariantEXT (GLuint id, GLenum type, const GLvoid *addr);
+GLAPI void APIENTRY glSetLocalConstantEXT (GLuint id, GLenum type, const GLvoid *addr);
+GLAPI void APIENTRY glVariantbvEXT (GLuint id, const GLbyte *addr);
+GLAPI void APIENTRY glVariantsvEXT (GLuint id, const GLshort *addr);
+GLAPI void APIENTRY glVariantivEXT (GLuint id, const GLint *addr);
+GLAPI void APIENTRY glVariantfvEXT (GLuint id, const GLfloat *addr);
+GLAPI void APIENTRY glVariantdvEXT (GLuint id, const GLdouble *addr);
+GLAPI void APIENTRY glVariantubvEXT (GLuint id, const GLubyte *addr);
+GLAPI void APIENTRY glVariantusvEXT (GLuint id, const GLushort *addr);
+GLAPI void APIENTRY glVariantuivEXT (GLuint id, const GLuint *addr);
+GLAPI void APIENTRY glVariantPointerEXT (GLuint id, GLenum type, GLuint stride, const GLvoid *addr);
+GLAPI void APIENTRY glEnableVariantClientStateEXT (GLuint id);
+GLAPI void APIENTRY glDisableVariantClientStateEXT (GLuint id);
+GLAPI GLuint APIENTRY glBindLightParameterEXT (GLenum light, GLenum value);
+GLAPI GLuint APIENTRY glBindMaterialParameterEXT (GLenum face, GLenum value);
+GLAPI GLuint APIENTRY glBindTexGenParameterEXT (GLenum unit, GLenum coord, GLenum value);
+GLAPI GLuint APIENTRY glBindTextureUnitParameterEXT (GLenum unit, GLenum value);
+GLAPI GLuint APIENTRY glBindParameterEXT (GLenum value);
+GLAPI GLboolean APIENTRY glIsVariantEnabledEXT (GLuint id, GLenum cap);
+GLAPI void APIENTRY glGetVariantBooleanvEXT (GLuint id, GLenum value, GLboolean *data);
+GLAPI void APIENTRY glGetVariantIntegervEXT (GLuint id, GLenum value, GLint *data);
+GLAPI void APIENTRY glGetVariantFloatvEXT (GLuint id, GLenum value, GLfloat *data);
+GLAPI void APIENTRY glGetVariantPointervEXT (GLuint id, GLenum value, GLvoid* *data);
+GLAPI void APIENTRY glGetInvariantBooleanvEXT (GLuint id, GLenum value, GLboolean *data);
+GLAPI void APIENTRY glGetInvariantIntegervEXT (GLuint id, GLenum value, GLint *data);
+GLAPI void APIENTRY glGetInvariantFloatvEXT (GLuint id, GLenum value, GLfloat *data);
+GLAPI void APIENTRY glGetLocalConstantBooleanvEXT (GLuint id, GLenum value, GLboolean *data);
+GLAPI void APIENTRY glGetLocalConstantIntegervEXT (GLuint id, GLenum value, GLint *data);
+GLAPI void APIENTRY glGetLocalConstantFloatvEXT (GLuint id, GLenum value, GLfloat *data);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLBEGINVERTEXSHADEREXTPROC) (void);
+typedef void (APIENTRYP PFNGLENDVERTEXSHADEREXTPROC) (void);
+typedef void (APIENTRYP PFNGLBINDVERTEXSHADEREXTPROC) (GLuint id);
+typedef GLuint (APIENTRYP PFNGLGENVERTEXSHADERSEXTPROC) (GLuint range);
+typedef void (APIENTRYP PFNGLDELETEVERTEXSHADEREXTPROC) (GLuint id);
+typedef void (APIENTRYP PFNGLSHADEROP1EXTPROC) (GLenum op, GLuint res, GLuint arg1);
+typedef void (APIENTRYP PFNGLSHADEROP2EXTPROC) (GLenum op, GLuint res, GLuint arg1, GLuint arg2);
+typedef void (APIENTRYP PFNGLSHADEROP3EXTPROC) (GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3);
+typedef void (APIENTRYP PFNGLSWIZZLEEXTPROC) (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);
+typedef void (APIENTRYP PFNGLWRITEMASKEXTPROC) (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);
+typedef void (APIENTRYP PFNGLINSERTCOMPONENTEXTPROC) (GLuint res, GLuint src, GLuint num);
+typedef void (APIENTRYP PFNGLEXTRACTCOMPONENTEXTPROC) (GLuint res, GLuint src, GLuint num);
+typedef GLuint (APIENTRYP PFNGLGENSYMBOLSEXTPROC) (GLenum datatype, GLenum storagetype, GLenum range, GLuint components);
+typedef void (APIENTRYP PFNGLSETINVARIANTEXTPROC) (GLuint id, GLenum type, const GLvoid *addr);
+typedef void (APIENTRYP PFNGLSETLOCALCONSTANTEXTPROC) (GLuint id, GLenum type, const GLvoid *addr);
+typedef void (APIENTRYP PFNGLVARIANTBVEXTPROC) (GLuint id, const GLbyte *addr);
+typedef void (APIENTRYP PFNGLVARIANTSVEXTPROC) (GLuint id, const GLshort *addr);
+typedef void (APIENTRYP PFNGLVARIANTIVEXTPROC) (GLuint id, const GLint *addr);
+typedef void (APIENTRYP PFNGLVARIANTFVEXTPROC) (GLuint id, const GLfloat *addr);
+typedef void (APIENTRYP PFNGLVARIANTDVEXTPROC) (GLuint id, const GLdouble *addr);
+typedef void (APIENTRYP PFNGLVARIANTUBVEXTPROC) (GLuint id, const GLubyte *addr);
+typedef void (APIENTRYP PFNGLVARIANTUSVEXTPROC) (GLuint id, const GLushort *addr);
+typedef void (APIENTRYP PFNGLVARIANTUIVEXTPROC) (GLuint id, const GLuint *addr);
+typedef void (APIENTRYP PFNGLVARIANTPOINTEREXTPROC) (GLuint id, GLenum type, GLuint stride, const GLvoid *addr);
+typedef void (APIENTRYP PFNGLENABLEVARIANTCLIENTSTATEEXTPROC) (GLuint id);
+typedef void (APIENTRYP PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC) (GLuint id);
+typedef GLuint (APIENTRYP PFNGLBINDLIGHTPARAMETEREXTPROC) (GLenum light, GLenum value);
+typedef GLuint (APIENTRYP PFNGLBINDMATERIALPARAMETEREXTPROC) (GLenum face, GLenum value);
+typedef GLuint (APIENTRYP PFNGLBINDTEXGENPARAMETEREXTPROC) (GLenum unit, GLenum coord, GLenum value);
+typedef GLuint (APIENTRYP PFNGLBINDTEXTUREUNITPARAMETEREXTPROC) (GLenum unit, GLenum value);
+typedef GLuint (APIENTRYP PFNGLBINDPARAMETEREXTPROC) (GLenum value);
+typedef GLboolean (APIENTRYP PFNGLISVARIANTENABLEDEXTPROC) (GLuint id, GLenum cap);
+typedef void (APIENTRYP PFNGLGETVARIANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data);
+typedef void (APIENTRYP PFNGLGETVARIANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data);
+typedef void (APIENTRYP PFNGLGETVARIANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data);
+typedef void (APIENTRYP PFNGLGETVARIANTPOINTERVEXTPROC) (GLuint id, GLenum value, GLvoid* *data);
+typedef void (APIENTRYP PFNGLGETINVARIANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data);
+typedef void (APIENTRYP PFNGLGETINVARIANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data);
+typedef void (APIENTRYP PFNGLGETINVARIANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data);
+typedef void (APIENTRYP PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data);
+typedef void (APIENTRYP PFNGLGETLOCALCONSTANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data);
+typedef void (APIENTRYP PFNGLGETLOCALCONSTANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data);
+#endif
+
+#ifndef GL_ATI_vertex_streams
+#define GL_ATI_vertex_streams 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glVertexStream1sATI (GLenum stream, GLshort x);
+GLAPI void APIENTRY glVertexStream1svATI (GLenum stream, const GLshort *coords);
+GLAPI void APIENTRY glVertexStream1iATI (GLenum stream, GLint x);
+GLAPI void APIENTRY glVertexStream1ivATI (GLenum stream, const GLint *coords);
+GLAPI void APIENTRY glVertexStream1fATI (GLenum stream, GLfloat x);
+GLAPI void APIENTRY glVertexStream1fvATI (GLenum stream, const GLfloat *coords);
+GLAPI void APIENTRY glVertexStream1dATI (GLenum stream, GLdouble x);
+GLAPI void APIENTRY glVertexStream1dvATI (GLenum stream, const GLdouble *coords);
+GLAPI void APIENTRY glVertexStream2sATI (GLenum stream, GLshort x, GLshort y);
+GLAPI void APIENTRY glVertexStream2svATI (GLenum stream, const GLshort *coords);
+GLAPI void APIENTRY glVertexStream2iATI (GLenum stream, GLint x, GLint y);
+GLAPI void APIENTRY glVertexStream2ivATI (GLenum stream, const GLint *coords);
+GLAPI void APIENTRY glVertexStream2fATI (GLenum stream, GLfloat x, GLfloat y);
+GLAPI void APIENTRY glVertexStream2fvATI (GLenum stream, const GLfloat *coords);
+GLAPI void APIENTRY glVertexStream2dATI (GLenum stream, GLdouble x, GLdouble y);
+GLAPI void APIENTRY glVertexStream2dvATI (GLenum stream, const GLdouble *coords);
+GLAPI void APIENTRY glVertexStream3sATI (GLenum stream, GLshort x, GLshort y, GLshort z);
+GLAPI void APIENTRY glVertexStream3svATI (GLenum stream, const GLshort *coords);
+GLAPI void APIENTRY glVertexStream3iATI (GLenum stream, GLint x, GLint y, GLint z);
+GLAPI void APIENTRY glVertexStream3ivATI (GLenum stream, const GLint *coords);
+GLAPI void APIENTRY glVertexStream3fATI (GLenum stream, GLfloat x, GLfloat y, GLfloat z);
+GLAPI void APIENTRY glVertexStream3fvATI (GLenum stream, const GLfloat *coords);
+GLAPI void APIENTRY glVertexStream3dATI (GLenum stream, GLdouble x, GLdouble y, GLdouble z);
+GLAPI void APIENTRY glVertexStream3dvATI (GLenum stream, const GLdouble *coords);
+GLAPI void APIENTRY glVertexStream4sATI (GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w);
+GLAPI void APIENTRY glVertexStream4svATI (GLenum stream, const GLshort *coords);
+GLAPI void APIENTRY glVertexStream4iATI (GLenum stream, GLint x, GLint y, GLint z, GLint w);
+GLAPI void APIENTRY glVertexStream4ivATI (GLenum stream, const GLint *coords);
+GLAPI void APIENTRY glVertexStream4fATI (GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+GLAPI void APIENTRY glVertexStream4fvATI (GLenum stream, const GLfloat *coords);
+GLAPI void APIENTRY glVertexStream4dATI (GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+GLAPI void APIENTRY glVertexStream4dvATI (GLenum stream, const GLdouble *coords);
+GLAPI void APIENTRY glNormalStream3bATI (GLenum stream, GLbyte nx, GLbyte ny, GLbyte nz);
+GLAPI void APIENTRY glNormalStream3bvATI (GLenum stream, const GLbyte *coords);
+GLAPI void APIENTRY glNormalStream3sATI (GLenum stream, GLshort nx, GLshort ny, GLshort nz);
+GLAPI void APIENTRY glNormalStream3svATI (GLenum stream, const GLshort *coords);
+GLAPI void APIENTRY glNormalStream3iATI (GLenum stream, GLint nx, GLint ny, GLint nz);
+GLAPI void APIENTRY glNormalStream3ivATI (GLenum stream, const GLint *coords);
+GLAPI void APIENTRY glNormalStream3fATI (GLenum stream, GLfloat nx, GLfloat ny, GLfloat nz);
+GLAPI void APIENTRY glNormalStream3fvATI (GLenum stream, const GLfloat *coords);
+GLAPI void APIENTRY glNormalStream3dATI (GLenum stream, GLdouble nx, GLdouble ny, GLdouble nz);
+GLAPI void APIENTRY glNormalStream3dvATI (GLenum stream, const GLdouble *coords);
+GLAPI void APIENTRY glClientActiveVertexStreamATI (GLenum stream);
+GLAPI void APIENTRY glVertexBlendEnviATI (GLenum pname, GLint param);
+GLAPI void APIENTRY glVertexBlendEnvfATI (GLenum pname, GLfloat param);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLVERTEXSTREAM1SATIPROC) (GLenum stream, GLshort x);
+typedef void (APIENTRYP PFNGLVERTEXSTREAM1SVATIPROC) (GLenum stream, const GLshort *coords);
+typedef void (APIENTRYP PFNGLVERTEXSTREAM1IATIPROC) (GLenum stream, GLint x);
+typedef void (APIENTRYP PFNGLVERTEXSTREAM1IVATIPROC) (GLenum stream, const GLint *coords);
+typedef void (APIENTRYP PFNGLVERTEXSTREAM1FATIPROC) (GLenum stream, GLfloat x);
+typedef void (APIENTRYP PFNGLVERTEXSTREAM1FVATIPROC) (GLenum stream, const GLfloat *coords);
+typedef void (APIENTRYP PFNGLVERTEXSTREAM1DATIPROC) (GLenum stream, GLdouble x);
+typedef void (APIENTRYP PFNGLVERTEXSTREAM1DVATIPROC) (GLenum stream, const GLdouble *coords);
+typedef void (APIENTRYP PFNGLVERTEXSTREAM2SATIPROC) (GLenum stream, GLshort x, GLshort y);
+typedef void (APIENTRYP PFNGLVERTEXSTREAM2SVATIPROC) (GLenum stream, const GLshort *coords);
+typedef void (APIENTRYP PFNGLVERTEXSTREAM2IATIPROC) (GLenum stream, GLint x, GLint y);
+typedef void (APIENTRYP PFNGLVERTEXSTREAM2IVATIPROC) (GLenum stream, const GLint *coords);
+typedef void (APIENTRYP PFNGLVERTEXSTREAM2FATIPROC) (GLenum stream, GLfloat x, GLfloat y);
+typedef void (APIENTRYP PFNGLVERTEXSTREAM2FVATIPROC) (GLenum stream, const GLfloat *coords);
+typedef void (APIENTRYP PFNGLVERTEXSTREAM2DATIPROC) (GLenum stream, GLdouble x, GLdouble y);
+typedef void (APIENTRYP PFNGLVERTEXSTREAM2DVATIPROC) (GLenum stream, const GLdouble *coords);
+typedef void (APIENTRYP PFNGLVERTEXSTREAM3SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z);
+typedef void (APIENTRYP PFNGLVERTEXSTREAM3SVATIPROC) (GLenum stream, const GLshort *coords);
+typedef void (APIENTRYP PFNGLVERTEXSTREAM3IATIPROC) (GLenum stream, GLint x, GLint y, GLint z);
+typedef void (APIENTRYP PFNGLVERTEXSTREAM3IVATIPROC) (GLenum stream, const GLint *coords);
+typedef void (APIENTRYP PFNGLVERTEXSTREAM3FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z);
+typedef void (APIENTRYP PFNGLVERTEXSTREAM3FVATIPROC) (GLenum stream, const GLfloat *coords);
+typedef void (APIENTRYP PFNGLVERTEXSTREAM3DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z);
+typedef void (APIENTRYP PFNGLVERTEXSTREAM3DVATIPROC) (GLenum stream, const GLdouble *coords);
+typedef void (APIENTRYP PFNGLVERTEXSTREAM4SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w);
+typedef void (APIENTRYP PFNGLVERTEXSTREAM4SVATIPROC) (GLenum stream, const GLshort *coords);
+typedef void (APIENTRYP PFNGLVERTEXSTREAM4IATIPROC) (GLenum stream, GLint x, GLint y, GLint z, GLint w);
+typedef void (APIENTRYP PFNGLVERTEXSTREAM4IVATIPROC) (GLenum stream, const GLint *coords);
+typedef void (APIENTRYP PFNGLVERTEXSTREAM4FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+typedef void (APIENTRYP PFNGLVERTEXSTREAM4FVATIPROC) (GLenum stream, const GLfloat *coords);
+typedef void (APIENTRYP PFNGLVERTEXSTREAM4DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void (APIENTRYP PFNGLVERTEXSTREAM4DVATIPROC) (GLenum stream, const GLdouble *coords);
+typedef void (APIENTRYP PFNGLNORMALSTREAM3BATIPROC) (GLenum stream, GLbyte nx, GLbyte ny, GLbyte nz);
+typedef void (APIENTRYP PFNGLNORMALSTREAM3BVATIPROC) (GLenum stream, const GLbyte *coords);
+typedef void (APIENTRYP PFNGLNORMALSTREAM3SATIPROC) (GLenum stream, GLshort nx, GLshort ny, GLshort nz);
+typedef void (APIENTRYP PFNGLNORMALSTREAM3SVATIPROC) (GLenum stream, const GLshort *coords);
+typedef void (APIENTRYP PFNGLNORMALSTREAM3IATIPROC) (GLenum stream, GLint nx, GLint ny, GLint nz);
+typedef void (APIENTRYP PFNGLNORMALSTREAM3IVATIPROC) (GLenum stream, const GLint *coords);
+typedef void (APIENTRYP PFNGLNORMALSTREAM3FATIPROC) (GLenum stream, GLfloat nx, GLfloat ny, GLfloat nz);
+typedef void (APIENTRYP PFNGLNORMALSTREAM3FVATIPROC) (GLenum stream, const GLfloat *coords);
+typedef void (APIENTRYP PFNGLNORMALSTREAM3DATIPROC) (GLenum stream, GLdouble nx, GLdouble ny, GLdouble nz);
+typedef void (APIENTRYP PFNGLNORMALSTREAM3DVATIPROC) (GLenum stream, const GLdouble *coords);
+typedef void (APIENTRYP PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC) (GLenum stream);
+typedef void (APIENTRYP PFNGLVERTEXBLENDENVIATIPROC) (GLenum pname, GLint param);
+typedef void (APIENTRYP PFNGLVERTEXBLENDENVFATIPROC) (GLenum pname, GLfloat param);
+#endif
+
+#ifndef GL_ATI_element_array
+#define GL_ATI_element_array 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glElementPointerATI (GLenum type, const GLvoid *pointer);
+GLAPI void APIENTRY glDrawElementArrayATI (GLenum mode, GLsizei count);
+GLAPI void APIENTRY glDrawRangeElementArrayATI (GLenum mode, GLuint start, GLuint end, GLsizei count);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLELEMENTPOINTERATIPROC) (GLenum type, const GLvoid *pointer);
+typedef void (APIENTRYP PFNGLDRAWELEMENTARRAYATIPROC) (GLenum mode, GLsizei count);
+typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTARRAYATIPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count);
+#endif
+
+#ifndef GL_SUN_mesh_array
+#define GL_SUN_mesh_array 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glDrawMeshArraysSUN (GLenum mode, GLint first, GLsizei count, GLsizei width);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLDRAWMESHARRAYSSUNPROC) (GLenum mode, GLint first, GLsizei count, GLsizei width);
+#endif
+
+#ifndef GL_SUN_slice_accum
+#define GL_SUN_slice_accum 1
+#endif
+
+#ifndef GL_NV_multisample_filter_hint
+#define GL_NV_multisample_filter_hint 1
+#endif
+
+#ifndef GL_NV_depth_clamp
+#define GL_NV_depth_clamp 1
+#endif
+
+#ifndef GL_NV_occlusion_query
+#define GL_NV_occlusion_query 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glGenOcclusionQueriesNV (GLsizei n, GLuint *ids);
+GLAPI void APIENTRY glDeleteOcclusionQueriesNV (GLsizei n, const GLuint *ids);
+GLAPI GLboolean APIENTRY glIsOcclusionQueryNV (GLuint id);
+GLAPI void APIENTRY glBeginOcclusionQueryNV (GLuint id);
+GLAPI void APIENTRY glEndOcclusionQueryNV (void);
+GLAPI void APIENTRY glGetOcclusionQueryivNV (GLuint id, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetOcclusionQueryuivNV (GLuint id, GLenum pname, GLuint *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLGENOCCLUSIONQUERIESNVPROC) (GLsizei n, GLuint *ids);
+typedef void (APIENTRYP PFNGLDELETEOCCLUSIONQUERIESNVPROC) (GLsizei n, const GLuint *ids);
+typedef GLboolean (APIENTRYP PFNGLISOCCLUSIONQUERYNVPROC) (GLuint id);
+typedef void (APIENTRYP PFNGLBEGINOCCLUSIONQUERYNVPROC) (GLuint id);
+typedef void (APIENTRYP PFNGLENDOCCLUSIONQUERYNVPROC) (void);
+typedef void (APIENTRYP PFNGLGETOCCLUSIONQUERYIVNVPROC) (GLuint id, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETOCCLUSIONQUERYUIVNVPROC) (GLuint id, GLenum pname, GLuint *params);
+#endif
+
+#ifndef GL_NV_point_sprite
+#define GL_NV_point_sprite 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glPointParameteriNV (GLenum pname, GLint param);
+GLAPI void APIENTRY glPointParameterivNV (GLenum pname, const GLint *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLPOINTPARAMETERINVPROC) (GLenum pname, GLint param);
+typedef void (APIENTRYP PFNGLPOINTPARAMETERIVNVPROC) (GLenum pname, const GLint *params);
+#endif
+
+#ifndef GL_NV_texture_shader3
+#define GL_NV_texture_shader3 1
+#endif
+
+#ifndef GL_NV_vertex_program1_1
+#define GL_NV_vertex_program1_1 1
+#endif
+
+#ifndef GL_EXT_shadow_funcs
+#define GL_EXT_shadow_funcs 1
+#endif
+
+#ifndef GL_EXT_stencil_two_side
+#define GL_EXT_stencil_two_side 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glActiveStencilFaceEXT (GLenum face);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLACTIVESTENCILFACEEXTPROC) (GLenum face);
+#endif
+
+#ifndef GL_ATI_text_fragment_shader
+#define GL_ATI_text_fragment_shader 1
+#endif
+
+#ifndef GL_APPLE_client_storage
+#define GL_APPLE_client_storage 1
+#endif
+
+#ifndef GL_APPLE_element_array
+#define GL_APPLE_element_array 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glElementPointerAPPLE (GLenum type, const GLvoid *pointer);
+GLAPI void APIENTRY glDrawElementArrayAPPLE (GLenum mode, GLint first, GLsizei count);
+GLAPI void APIENTRY glDrawRangeElementArrayAPPLE (GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count);
+GLAPI void APIENTRY glMultiDrawElementArrayAPPLE (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
+GLAPI void APIENTRY glMultiDrawRangeElementArrayAPPLE (GLenum mode, GLuint start, GLuint end, const GLint *first, const GLsizei *count, GLsizei primcount);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLELEMENTPOINTERAPPLEPROC) (GLenum type, const GLvoid *pointer);
+typedef void (APIENTRYP PFNGLDRAWELEMENTARRAYAPPLEPROC) (GLenum mode, GLint first, GLsizei count);
+typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC) (GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count);
+typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
+typedef void (APIENTRYP PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC) (GLenum mode, GLuint start, GLuint end, const GLint *first, const GLsizei *count, GLsizei primcount);
+#endif
+
+#ifndef GL_APPLE_fence
+#define GL_APPLE_fence 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glGenFencesAPPLE (GLsizei n, GLuint *fences);
+GLAPI void APIENTRY glDeleteFencesAPPLE (GLsizei n, const GLuint *fences);
+GLAPI void APIENTRY glSetFenceAPPLE (GLuint fence);
+GLAPI GLboolean APIENTRY glIsFenceAPPLE (GLuint fence);
+GLAPI GLboolean APIENTRY glTestFenceAPPLE (GLuint fence);
+GLAPI void APIENTRY glFinishFenceAPPLE (GLuint fence);
+GLAPI GLboolean APIENTRY glTestObjectAPPLE (GLenum object, GLuint name);
+GLAPI void APIENTRY glFinishObjectAPPLE (GLenum object, GLint name);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLGENFENCESAPPLEPROC) (GLsizei n, GLuint *fences);
+typedef void (APIENTRYP PFNGLDELETEFENCESAPPLEPROC) (GLsizei n, const GLuint *fences);
+typedef void (APIENTRYP PFNGLSETFENCEAPPLEPROC) (GLuint fence);
+typedef GLboolean (APIENTRYP PFNGLISFENCEAPPLEPROC) (GLuint fence);
+typedef GLboolean (APIENTRYP PFNGLTESTFENCEAPPLEPROC) (GLuint fence);
+typedef void (APIENTRYP PFNGLFINISHFENCEAPPLEPROC) (GLuint fence);
+typedef GLboolean (APIENTRYP PFNGLTESTOBJECTAPPLEPROC) (GLenum object, GLuint name);
+typedef void (APIENTRYP PFNGLFINISHOBJECTAPPLEPROC) (GLenum object, GLint name);
+#endif
+
+#ifndef GL_APPLE_vertex_array_object
+#define GL_APPLE_vertex_array_object 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glBindVertexArrayAPPLE (GLuint array);
+GLAPI void APIENTRY glDeleteVertexArraysAPPLE (GLsizei n, const GLuint *arrays);
+GLAPI void APIENTRY glGenVertexArraysAPPLE (GLsizei n, GLuint *arrays);
+GLAPI GLboolean APIENTRY glIsVertexArrayAPPLE (GLuint array);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLBINDVERTEXARRAYAPPLEPROC) (GLuint array);
+typedef void (APIENTRYP PFNGLDELETEVERTEXARRAYSAPPLEPROC) (GLsizei n, const GLuint *arrays);
+typedef void (APIENTRYP PFNGLGENVERTEXARRAYSAPPLEPROC) (GLsizei n, GLuint *arrays);
+typedef GLboolean (APIENTRYP PFNGLISVERTEXARRAYAPPLEPROC) (GLuint array);
+#endif
+
+#ifndef GL_APPLE_vertex_array_range
+#define GL_APPLE_vertex_array_range 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glVertexArrayRangeAPPLE (GLsizei length, GLvoid *pointer);
+GLAPI void APIENTRY glFlushVertexArrayRangeAPPLE (GLsizei length, GLvoid *pointer);
+GLAPI void APIENTRY glVertexArrayParameteriAPPLE (GLenum pname, GLint param);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLVERTEXARRAYRANGEAPPLEPROC) (GLsizei length, GLvoid *pointer);
+typedef void (APIENTRYP PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC) (GLsizei length, GLvoid *pointer);
+typedef void (APIENTRYP PFNGLVERTEXARRAYPARAMETERIAPPLEPROC) (GLenum pname, GLint param);
+#endif
+
+#ifndef GL_APPLE_ycbcr_422
+#define GL_APPLE_ycbcr_422 1
+#endif
+
+#ifndef GL_S3_s3tc
+#define GL_S3_s3tc 1
+#endif
+
+#ifndef GL_ATI_draw_buffers
+#define GL_ATI_draw_buffers 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glDrawBuffersATI (GLsizei n, const GLenum *bufs);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLDRAWBUFFERSATIPROC) (GLsizei n, const GLenum *bufs);
+#endif
+
+#ifndef GL_ATI_pixel_format_float
+#define GL_ATI_pixel_format_float 1
+/* This is really a WGL extension, but defines some associated GL enums.
+ * ATI does not export "GL_ATI_pixel_format_float" in the GL_EXTENSIONS string.
+ */
+#endif
+
+#ifndef GL_ATI_texture_env_combine3
+#define GL_ATI_texture_env_combine3 1
+#endif
+
+#ifndef GL_ATI_texture_float
+#define GL_ATI_texture_float 1
+#endif
+
+#ifndef GL_NV_float_buffer
+#define GL_NV_float_buffer 1
+#endif
+
+#ifndef GL_NV_fragment_program
+#define GL_NV_fragment_program 1
+/* Some NV_fragment_program entry points are shared with ARB_vertex_program. */
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glProgramNamedParameter4fNV (GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+GLAPI void APIENTRY glProgramNamedParameter4dNV (GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+GLAPI void APIENTRY glProgramNamedParameter4fvNV (GLuint id, GLsizei len, const GLubyte *name, const GLfloat *v);
+GLAPI void APIENTRY glProgramNamedParameter4dvNV (GLuint id, GLsizei len, const GLubyte *name, const GLdouble *v);
+GLAPI void APIENTRY glGetProgramNamedParameterfvNV (GLuint id, GLsizei len, const GLubyte *name, GLfloat *params);
+GLAPI void APIENTRY glGetProgramNamedParameterdvNV (GLuint id, GLsizei len, const GLubyte *name, GLdouble *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLPROGRAMNAMEDPARAMETER4FNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+typedef void (APIENTRYP PFNGLPROGRAMNAMEDPARAMETER4DNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void (APIENTRYP PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC) (GLuint id, GLsizei len, const GLubyte *name, const GLfloat *v);
+typedef void (APIENTRYP PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC) (GLuint id, GLsizei len, const GLubyte *name, const GLdouble *v);
+typedef void (APIENTRYP PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLdouble *params);
+#endif
+
+#ifndef GL_NV_half_float
+#define GL_NV_half_float 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glVertex2hNV (GLhalfNV x, GLhalfNV y);
+GLAPI void APIENTRY glVertex2hvNV (const GLhalfNV *v);
+GLAPI void APIENTRY glVertex3hNV (GLhalfNV x, GLhalfNV y, GLhalfNV z);
+GLAPI void APIENTRY glVertex3hvNV (const GLhalfNV *v);
+GLAPI void APIENTRY glVertex4hNV (GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w);
+GLAPI void APIENTRY glVertex4hvNV (const GLhalfNV *v);
+GLAPI void APIENTRY glNormal3hNV (GLhalfNV nx, GLhalfNV ny, GLhalfNV nz);
+GLAPI void APIENTRY glNormal3hvNV (const GLhalfNV *v);
+GLAPI void APIENTRY glColor3hNV (GLhalfNV red, GLhalfNV green, GLhalfNV blue);
+GLAPI void APIENTRY glColor3hvNV (const GLhalfNV *v);
+GLAPI void APIENTRY glColor4hNV (GLhalfNV red, GLhalfNV green, GLhalfNV blue, GLhalfNV alpha);
+GLAPI void APIENTRY glColor4hvNV (const GLhalfNV *v);
+GLAPI void APIENTRY glTexCoord1hNV (GLhalfNV s);
+GLAPI void APIENTRY glTexCoord1hvNV (const GLhalfNV *v);
+GLAPI void APIENTRY glTexCoord2hNV (GLhalfNV s, GLhalfNV t);
+GLAPI void APIENTRY glTexCoord2hvNV (const GLhalfNV *v);
+GLAPI void APIENTRY glTexCoord3hNV (GLhalfNV s, GLhalfNV t, GLhalfNV r);
+GLAPI void APIENTRY glTexCoord3hvNV (const GLhalfNV *v);
+GLAPI void APIENTRY glTexCoord4hNV (GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q);
+GLAPI void APIENTRY glTexCoord4hvNV (const GLhalfNV *v);
+GLAPI void APIENTRY glMultiTexCoord1hNV (GLenum target, GLhalfNV s);
+GLAPI void APIENTRY glMultiTexCoord1hvNV (GLenum target, const GLhalfNV *v);
+GLAPI void APIENTRY glMultiTexCoord2hNV (GLenum target, GLhalfNV s, GLhalfNV t);
+GLAPI void APIENTRY glMultiTexCoord2hvNV (GLenum target, const GLhalfNV *v);
+GLAPI void APIENTRY glMultiTexCoord3hNV (GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r);
+GLAPI void APIENTRY glMultiTexCoord3hvNV (GLenum target, const GLhalfNV *v);
+GLAPI void APIENTRY glMultiTexCoord4hNV (GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q);
+GLAPI void APIENTRY glMultiTexCoord4hvNV (GLenum target, const GLhalfNV *v);
+GLAPI void APIENTRY glFogCoordhNV (GLhalfNV fog);
+GLAPI void APIENTRY glFogCoordhvNV (const GLhalfNV *fog);
+GLAPI void APIENTRY glSecondaryColor3hNV (GLhalfNV red, GLhalfNV green, GLhalfNV blue);
+GLAPI void APIENTRY glSecondaryColor3hvNV (const GLhalfNV *v);
+GLAPI void APIENTRY glVertexWeighthNV (GLhalfNV weight);
+GLAPI void APIENTRY glVertexWeighthvNV (const GLhalfNV *weight);
+GLAPI void APIENTRY glVertexAttrib1hNV (GLuint index, GLhalfNV x);
+GLAPI void APIENTRY glVertexAttrib1hvNV (GLuint index, const GLhalfNV *v);
+GLAPI void APIENTRY glVertexAttrib2hNV (GLuint index, GLhalfNV x, GLhalfNV y);
+GLAPI void APIENTRY glVertexAttrib2hvNV (GLuint index, const GLhalfNV *v);
+GLAPI void APIENTRY glVertexAttrib3hNV (GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z);
+GLAPI void APIENTRY glVertexAttrib3hvNV (GLuint index, const GLhalfNV *v);
+GLAPI void APIENTRY glVertexAttrib4hNV (GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w);
+GLAPI void APIENTRY glVertexAttrib4hvNV (GLuint index, const GLhalfNV *v);
+GLAPI void APIENTRY glVertexAttribs1hvNV (GLuint index, GLsizei n, const GLhalfNV *v);
+GLAPI void APIENTRY glVertexAttribs2hvNV (GLuint index, GLsizei n, const GLhalfNV *v);
+GLAPI void APIENTRY glVertexAttribs3hvNV (GLuint index, GLsizei n, const GLhalfNV *v);
+GLAPI void APIENTRY glVertexAttribs4hvNV (GLuint index, GLsizei n, const GLhalfNV *v);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLVERTEX2HNVPROC) (GLhalfNV x, GLhalfNV y);
+typedef void (APIENTRYP PFNGLVERTEX2HVNVPROC) (const GLhalfNV *v);
+typedef void (APIENTRYP PFNGLVERTEX3HNVPROC) (GLhalfNV x, GLhalfNV y, GLhalfNV z);
+typedef void (APIENTRYP PFNGLVERTEX3HVNVPROC) (const GLhalfNV *v);
+typedef void (APIENTRYP PFNGLVERTEX4HNVPROC) (GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w);
+typedef void (APIENTRYP PFNGLVERTEX4HVNVPROC) (const GLhalfNV *v);
+typedef void (APIENTRYP PFNGLNORMAL3HNVPROC) (GLhalfNV nx, GLhalfNV ny, GLhalfNV nz);
+typedef void (APIENTRYP PFNGLNORMAL3HVNVPROC) (const GLhalfNV *v);
+typedef void (APIENTRYP PFNGLCOLOR3HNVPROC) (GLhalfNV red, GLhalfNV green, GLhalfNV blue);
+typedef void (APIENTRYP PFNGLCOLOR3HVNVPROC) (const GLhalfNV *v);
+typedef void (APIENTRYP PFNGLCOLOR4HNVPROC) (GLhalfNV red, GLhalfNV green, GLhalfNV blue, GLhalfNV alpha);
+typedef void (APIENTRYP PFNGLCOLOR4HVNVPROC) (const GLhalfNV *v);
+typedef void (APIENTRYP PFNGLTEXCOORD1HNVPROC) (GLhalfNV s);
+typedef void (APIENTRYP PFNGLTEXCOORD1HVNVPROC) (const GLhalfNV *v);
+typedef void (APIENTRYP PFNGLTEXCOORD2HNVPROC) (GLhalfNV s, GLhalfNV t);
+typedef void (APIENTRYP PFNGLTEXCOORD2HVNVPROC) (const GLhalfNV *v);
+typedef void (APIENTRYP PFNGLTEXCOORD3HNVPROC) (GLhalfNV s, GLhalfNV t, GLhalfNV r);
+typedef void (APIENTRYP PFNGLTEXCOORD3HVNVPROC) (const GLhalfNV *v);
+typedef void (APIENTRYP PFNGLTEXCOORD4HNVPROC) (GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q);
+typedef void (APIENTRYP PFNGLTEXCOORD4HVNVPROC) (const GLhalfNV *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1HNVPROC) (GLenum target, GLhalfNV s);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1HVNVPROC) (GLenum target, const GLhalfNV *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2HNVPROC) (GLenum target, GLhalfNV s, GLhalfNV t);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2HVNVPROC) (GLenum target, const GLhalfNV *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3HNVPROC) (GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3HVNVPROC) (GLenum target, const GLhalfNV *v);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4HNVPROC) (GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q);
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4HVNVPROC) (GLenum target, const GLhalfNV *v);
+typedef void (APIENTRYP PFNGLFOGCOORDHNVPROC) (GLhalfNV fog);
+typedef void (APIENTRYP PFNGLFOGCOORDHVNVPROC) (const GLhalfNV *fog);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3HNVPROC) (GLhalfNV red, GLhalfNV green, GLhalfNV blue);
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3HVNVPROC) (const GLhalfNV *v);
+typedef void (APIENTRYP PFNGLVERTEXWEIGHTHNVPROC) (GLhalfNV weight);
+typedef void (APIENTRYP PFNGLVERTEXWEIGHTHVNVPROC) (const GLhalfNV *weight);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1HNVPROC) (GLuint index, GLhalfNV x);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1HVNVPROC) (GLuint index, const GLhalfNV *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2HNVPROC) (GLuint index, GLhalfNV x, GLhalfNV y);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2HVNVPROC) (GLuint index, const GLhalfNV *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3HNVPROC) (GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3HVNVPROC) (GLuint index, const GLhalfNV *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4HNVPROC) (GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w);
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4HVNVPROC) (GLuint index, const GLhalfNV *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBS1HVNVPROC) (GLuint index, GLsizei n, const GLhalfNV *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBS2HVNVPROC) (GLuint index, GLsizei n, const GLhalfNV *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBS3HVNVPROC) (GLuint index, GLsizei n, const GLhalfNV *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBS4HVNVPROC) (GLuint index, GLsizei n, const GLhalfNV *v);
+#endif
+
+#ifndef GL_NV_pixel_data_range
+#define GL_NV_pixel_data_range 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glPixelDataRangeNV (GLenum target, GLsizei length, const GLvoid *pointer);
+GLAPI void APIENTRY glFlushPixelDataRangeNV (GLenum target);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLPIXELDATARANGENVPROC) (GLenum target, GLsizei length, const GLvoid *pointer);
+typedef void (APIENTRYP PFNGLFLUSHPIXELDATARANGENVPROC) (GLenum target);
+#endif
+
+#ifndef GL_NV_primitive_restart
+#define GL_NV_primitive_restart 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glPrimitiveRestartNV (void);
+GLAPI void APIENTRY glPrimitiveRestartIndexNV (GLuint index);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLPRIMITIVERESTARTNVPROC) (void);
+typedef void (APIENTRYP PFNGLPRIMITIVERESTARTINDEXNVPROC) (GLuint index);
+#endif
+
+#ifndef GL_NV_texture_expand_normal
+#define GL_NV_texture_expand_normal 1
+#endif
+
+#ifndef GL_NV_vertex_program2
+#define GL_NV_vertex_program2 1
+#endif
+
+#ifndef GL_ATI_map_object_buffer
+#define GL_ATI_map_object_buffer 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI GLvoid* APIENTRY glMapObjectBufferATI (GLuint buffer);
+GLAPI void APIENTRY glUnmapObjectBufferATI (GLuint buffer);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef GLvoid* (APIENTRYP PFNGLMAPOBJECTBUFFERATIPROC) (GLuint buffer);
+typedef void (APIENTRYP PFNGLUNMAPOBJECTBUFFERATIPROC) (GLuint buffer);
+#endif
+
+#ifndef GL_ATI_separate_stencil
+#define GL_ATI_separate_stencil 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glStencilOpSeparateATI (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
+GLAPI void APIENTRY glStencilFuncSeparateATI (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLSTENCILOPSEPARATEATIPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
+typedef void (APIENTRYP PFNGLSTENCILFUNCSEPARATEATIPROC) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);
+#endif
+
+#ifndef GL_ATI_vertex_attrib_array_object
+#define GL_ATI_vertex_attrib_array_object 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glVertexAttribArrayObjectATI (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint buffer, GLuint offset);
+GLAPI void APIENTRY glGetVertexAttribArrayObjectfvATI (GLuint index, GLenum pname, GLfloat *params);
+GLAPI void APIENTRY glGetVertexAttribArrayObjectivATI (GLuint index, GLenum pname, GLint *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLVERTEXATTRIBARRAYOBJECTATIPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint buffer, GLuint offset);
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC) (GLuint index, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC) (GLuint index, GLenum pname, GLint *params);
+#endif
+
+#ifndef GL_OES_read_format
+#define GL_OES_read_format 1
+#endif
+
+#ifndef GL_EXT_depth_bounds_test
+#define GL_EXT_depth_bounds_test 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glDepthBoundsEXT (GLclampd zmin, GLclampd zmax);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLDEPTHBOUNDSEXTPROC) (GLclampd zmin, GLclampd zmax);
+#endif
+
+#ifndef GL_EXT_texture_mirror_clamp
+#define GL_EXT_texture_mirror_clamp 1
+#endif
+
+#ifndef GL_EXT_blend_equation_separate
+#define GL_EXT_blend_equation_separate 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glBlendEquationSeparateEXT (GLenum modeRGB, GLenum modeAlpha);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEEXTPROC) (GLenum modeRGB, GLenum modeAlpha);
+#endif
+
+#ifndef GL_MESA_pack_invert
+#define GL_MESA_pack_invert 1
+#endif
+
+#ifndef GL_MESA_ycbcr_texture
+#define GL_MESA_ycbcr_texture 1
+#endif
+
+#ifndef GL_EXT_pixel_buffer_object
+#define GL_EXT_pixel_buffer_object 1
+#endif
+
+#ifndef GL_NV_fragment_program_option
+#define GL_NV_fragment_program_option 1
+#endif
+
+#ifndef GL_NV_fragment_program2
+#define GL_NV_fragment_program2 1
+#endif
+
+#ifndef GL_NV_vertex_program2_option
+#define GL_NV_vertex_program2_option 1
+#endif
+
+#ifndef GL_NV_vertex_program3
+#define GL_NV_vertex_program3 1
+#endif
+
+#ifndef GL_EXT_framebuffer_object
+#define GL_EXT_framebuffer_object 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI GLboolean APIENTRY glIsRenderbufferEXT (GLuint renderbuffer);
+GLAPI void APIENTRY glBindRenderbufferEXT (GLenum target, GLuint renderbuffer);
+GLAPI void APIENTRY glDeleteRenderbuffersEXT (GLsizei n, const GLuint *renderbuffers);
+GLAPI void APIENTRY glGenRenderbuffersEXT (GLsizei n, GLuint *renderbuffers);
+GLAPI void APIENTRY glRenderbufferStorageEXT (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
+GLAPI void APIENTRY glGetRenderbufferParameterivEXT (GLenum target, GLenum pname, GLint *params);
+GLAPI GLboolean APIENTRY glIsFramebufferEXT (GLuint framebuffer);
+GLAPI void APIENTRY glBindFramebufferEXT (GLenum target, GLuint framebuffer);
+GLAPI void APIENTRY glDeleteFramebuffersEXT (GLsizei n, const GLuint *framebuffers);
+GLAPI void APIENTRY glGenFramebuffersEXT (GLsizei n, GLuint *framebuffers);
+GLAPI GLenum APIENTRY glCheckFramebufferStatusEXT (GLenum target);
+GLAPI void APIENTRY glFramebufferTexture1DEXT (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+GLAPI void APIENTRY glFramebufferTexture2DEXT (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+GLAPI void APIENTRY glFramebufferTexture3DEXT (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
+GLAPI void APIENTRY glFramebufferRenderbufferEXT (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
+GLAPI void APIENTRY glGetFramebufferAttachmentParameterivEXT (GLenum target, GLenum attachment, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGenerateMipmapEXT (GLenum target);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef GLboolean (APIENTRYP PFNGLISRENDERBUFFEREXTPROC) (GLuint renderbuffer);
+typedef void (APIENTRYP PFNGLBINDRENDERBUFFEREXTPROC) (GLenum target, GLuint renderbuffer);
+typedef void (APIENTRYP PFNGLDELETERENDERBUFFERSEXTPROC) (GLsizei n, const GLuint *renderbuffers);
+typedef void (APIENTRYP PFNGLGENRENDERBUFFERSEXTPROC) (GLsizei n, GLuint *renderbuffers);
+typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
+typedef void (APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
+typedef GLboolean (APIENTRYP PFNGLISFRAMEBUFFEREXTPROC) (GLuint framebuffer);
+typedef void (APIENTRYP PFNGLBINDFRAMEBUFFEREXTPROC) (GLenum target, GLuint framebuffer);
+typedef void (APIENTRYP PFNGLDELETEFRAMEBUFFERSEXTPROC) (GLsizei n, const GLuint *framebuffers);
+typedef void (APIENTRYP PFNGLGENFRAMEBUFFERSEXTPROC) (GLsizei n, GLuint *framebuffers);
+typedef GLenum (APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC) (GLenum target);
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE1DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
+typedef void (APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
+typedef void (APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) (GLenum target, GLenum attachment, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGENERATEMIPMAPEXTPROC) (GLenum target);
+#endif
+
+#ifndef GL_GREMEDY_string_marker
+#define GL_GREMEDY_string_marker 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glStringMarkerGREMEDY (GLsizei len, const GLvoid *string);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLSTRINGMARKERGREMEDYPROC) (GLsizei len, const GLvoid *string);
+#endif
+
+#ifndef GL_EXT_packed_depth_stencil
+#define GL_EXT_packed_depth_stencil 1
+#endif
+
+#ifndef GL_EXT_stencil_clear_tag
+#define GL_EXT_stencil_clear_tag 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glStencilClearTagEXT (GLsizei stencilTagBits, GLuint stencilClearTag);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLSTENCILCLEARTAGEXTPROC) (GLsizei stencilTagBits, GLuint stencilClearTag);
+#endif
+
+#ifndef GL_EXT_texture_sRGB
+#define GL_EXT_texture_sRGB 1
+#endif
+
+#ifndef GL_EXT_framebuffer_blit
+#define GL_EXT_framebuffer_blit 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glBlitFramebufferEXT (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLBLITFRAMEBUFFEREXTPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
+#endif
+
+#ifndef GL_EXT_framebuffer_multisample
+#define GL_EXT_framebuffer_multisample 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glRenderbufferStorageMultisampleEXT (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
+#endif
+
+#ifndef GL_MESAX_texture_stack
+#define GL_MESAX_texture_stack 1
+#endif
+
+#ifndef GL_EXT_timer_query
+#define GL_EXT_timer_query 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glGetQueryObjecti64vEXT (GLuint id, GLenum pname, GLint64EXT *params);
+GLAPI void APIENTRY glGetQueryObjectui64vEXT (GLuint id, GLenum pname, GLuint64EXT *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLGETQUERYOBJECTI64VEXTPROC) (GLuint id, GLenum pname, GLint64EXT *params);
+typedef void (APIENTRYP PFNGLGETQUERYOBJECTUI64VEXTPROC) (GLuint id, GLenum pname, GLuint64EXT *params);
+#endif
+
+#ifndef GL_EXT_gpu_program_parameters
+#define GL_EXT_gpu_program_parameters 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glProgramEnvParameters4fvEXT (GLenum target, GLuint index, GLsizei count, const GLfloat *params);
+GLAPI void APIENTRY glProgramLocalParameters4fvEXT (GLenum target, GLuint index, GLsizei count, const GLfloat *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERS4FVEXTPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat *params);
+typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat *params);
+#endif
+
+#ifndef GL_APPLE_flush_buffer_range
+#define GL_APPLE_flush_buffer_range 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glBufferParameteriAPPLE (GLenum target, GLenum pname, GLint param);
+GLAPI void APIENTRY glFlushMappedBufferRangeAPPLE (GLenum target, GLintptr offset, GLsizeiptr size);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLBUFFERPARAMETERIAPPLEPROC) (GLenum target, GLenum pname, GLint param);
+typedef void (APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC) (GLenum target, GLintptr offset, GLsizeiptr size);
+#endif
+
+#ifndef GL_NV_gpu_program4
+#define GL_NV_gpu_program4 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glProgramLocalParameterI4iNV (GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);
+GLAPI void APIENTRY glProgramLocalParameterI4ivNV (GLenum target, GLuint index, const GLint *params);
+GLAPI void APIENTRY glProgramLocalParametersI4ivNV (GLenum target, GLuint index, GLsizei count, const GLint *params);
+GLAPI void APIENTRY glProgramLocalParameterI4uiNV (GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
+GLAPI void APIENTRY glProgramLocalParameterI4uivNV (GLenum target, GLuint index, const GLuint *params);
+GLAPI void APIENTRY glProgramLocalParametersI4uivNV (GLenum target, GLuint index, GLsizei count, const GLuint *params);
+GLAPI void APIENTRY glProgramEnvParameterI4iNV (GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);
+GLAPI void APIENTRY glProgramEnvParameterI4ivNV (GLenum target, GLuint index, const GLint *params);
+GLAPI void APIENTRY glProgramEnvParametersI4ivNV (GLenum target, GLuint index, GLsizei count, const GLint *params);
+GLAPI void APIENTRY glProgramEnvParameterI4uiNV (GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
+GLAPI void APIENTRY glProgramEnvParameterI4uivNV (GLenum target, GLuint index, const GLuint *params);
+GLAPI void APIENTRY glProgramEnvParametersI4uivNV (GLenum target, GLuint index, GLsizei count, const GLuint *params);
+GLAPI void APIENTRY glGetProgramLocalParameterIivNV (GLenum target, GLuint index, GLint *params);
+GLAPI void APIENTRY glGetProgramLocalParameterIuivNV (GLenum target, GLuint index, GLuint *params);
+GLAPI void APIENTRY glGetProgramEnvParameterIivNV (GLenum target, GLuint index, GLint *params);
+GLAPI void APIENTRY glGetProgramEnvParameterIuivNV (GLenum target, GLuint index, GLuint *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERI4INVPROC) (GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);
+typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC) (GLenum target, GLuint index, const GLint *params);
+typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLint *params);
+typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERI4UINVPROC) (GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
+typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC) (GLenum target, GLuint index, const GLuint *params);
+typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLuint *params);
+typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERI4INVPROC) (GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);
+typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERI4IVNVPROC) (GLenum target, GLuint index, const GLint *params);
+typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERSI4IVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLint *params);
+typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERI4UINVPROC) (GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
+typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERI4UIVNVPROC) (GLenum target, GLuint index, const GLuint *params);
+typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLuint *params);
+typedef void (APIENTRYP PFNGLGETPROGRAMLOCALPARAMETERIIVNVPROC) (GLenum target, GLuint index, GLint *params);
+typedef void (APIENTRYP PFNGLGETPROGRAMLOCALPARAMETERIUIVNVPROC) (GLenum target, GLuint index, GLuint *params);
+typedef void (APIENTRYP PFNGLGETPROGRAMENVPARAMETERIIVNVPROC) (GLenum target, GLuint index, GLint *params);
+typedef void (APIENTRYP PFNGLGETPROGRAMENVPARAMETERIUIVNVPROC) (GLenum target, GLuint index, GLuint *params);
+#endif
+
+#ifndef GL_NV_geometry_program4
+#define GL_NV_geometry_program4 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glProgramVertexLimitNV (GLenum target, GLint limit);
+GLAPI void APIENTRY glFramebufferTextureEXT (GLenum target, GLenum attachment, GLuint texture, GLint level);
+GLAPI void APIENTRY glFramebufferTextureLayerEXT (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
+GLAPI void APIENTRY glFramebufferTextureFaceEXT (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLPROGRAMVERTEXLIMITNVPROC) (GLenum target, GLint limit);
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level);
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);
+#endif
+
+#ifndef GL_EXT_geometry_shader4
+#define GL_EXT_geometry_shader4 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glProgramParameteriEXT (GLuint program, GLenum pname, GLint value);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value);
+#endif
+
+#ifndef GL_NV_vertex_program4
+#define GL_NV_vertex_program4 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glVertexAttribI1iEXT (GLuint index, GLint x);
+GLAPI void APIENTRY glVertexAttribI2iEXT (GLuint index, GLint x, GLint y);
+GLAPI void APIENTRY glVertexAttribI3iEXT (GLuint index, GLint x, GLint y, GLint z);
+GLAPI void APIENTRY glVertexAttribI4iEXT (GLuint index, GLint x, GLint y, GLint z, GLint w);
+GLAPI void APIENTRY glVertexAttribI1uiEXT (GLuint index, GLuint x);
+GLAPI void APIENTRY glVertexAttribI2uiEXT (GLuint index, GLuint x, GLuint y);
+GLAPI void APIENTRY glVertexAttribI3uiEXT (GLuint index, GLuint x, GLuint y, GLuint z);
+GLAPI void APIENTRY glVertexAttribI4uiEXT (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
+GLAPI void APIENTRY glVertexAttribI1ivEXT (GLuint index, const GLint *v);
+GLAPI void APIENTRY glVertexAttribI2ivEXT (GLuint index, const GLint *v);
+GLAPI void APIENTRY glVertexAttribI3ivEXT (GLuint index, const GLint *v);
+GLAPI void APIENTRY glVertexAttribI4ivEXT (GLuint index, const GLint *v);
+GLAPI void APIENTRY glVertexAttribI1uivEXT (GLuint index, const GLuint *v);
+GLAPI void APIENTRY glVertexAttribI2uivEXT (GLuint index, const GLuint *v);
+GLAPI void APIENTRY glVertexAttribI3uivEXT (GLuint index, const GLuint *v);
+GLAPI void APIENTRY glVertexAttribI4uivEXT (GLuint index, const GLuint *v);
+GLAPI void APIENTRY glVertexAttribI4bvEXT (GLuint index, const GLbyte *v);
+GLAPI void APIENTRY glVertexAttribI4svEXT (GLuint index, const GLshort *v);
+GLAPI void APIENTRY glVertexAttribI4ubvEXT (GLuint index, const GLubyte *v);
+GLAPI void APIENTRY glVertexAttribI4usvEXT (GLuint index, const GLushort *v);
+GLAPI void APIENTRY glVertexAttribIPointerEXT (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+GLAPI void APIENTRY glGetVertexAttribIivEXT (GLuint index, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetVertexAttribIuivEXT (GLuint index, GLenum pname, GLuint *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IEXTPROC) (GLuint index, GLint x);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IEXTPROC) (GLuint index, GLint x, GLint y);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IEXTPROC) (GLuint index, GLint x, GLint y, GLint z);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IEXTPROC) (GLuint index, GLint x, GLint y, GLint z, GLint w);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIEXTPROC) (GLuint index, GLuint x);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIEXTPROC) (GLuint index, GLuint x, GLuint y);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIEXTPROC) (GLuint index, GLuint x, GLuint y, GLuint z);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIEXTPROC) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IVEXTPROC) (GLuint index, const GLint *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IVEXTPROC) (GLuint index, const GLint *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IVEXTPROC) (GLuint index, const GLint *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IVEXTPROC) (GLuint index, const GLint *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIVEXTPROC) (GLuint index, const GLuint *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIVEXTPROC) (GLuint index, const GLuint *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIVEXTPROC) (GLuint index, const GLuint *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIVEXTPROC) (GLuint index, const GLuint *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI4BVEXTPROC) (GLuint index, const GLbyte *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI4SVEXTPROC) (GLuint index, const GLshort *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UBVEXTPROC) (GLuint index, const GLubyte *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI4USVEXTPROC) (GLuint index, const GLushort *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBIPOINTEREXTPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIIVEXTPROC) (GLuint index, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIUIVEXTPROC) (GLuint index, GLenum pname, GLuint *params);
+#endif
+
+#ifndef GL_EXT_gpu_shader4
+#define GL_EXT_gpu_shader4 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glGetUniformuivEXT (GLuint program, GLint location, GLuint *params);
+GLAPI void APIENTRY glBindFragDataLocationEXT (GLuint program, GLuint color, const GLchar *name);
+GLAPI GLint APIENTRY glGetFragDataLocationEXT (GLuint program, const GLchar *name);
+GLAPI void APIENTRY glUniform1uiEXT (GLint location, GLuint v0);
+GLAPI void APIENTRY glUniform2uiEXT (GLint location, GLuint v0, GLuint v1);
+GLAPI void APIENTRY glUniform3uiEXT (GLint location, GLuint v0, GLuint v1, GLuint v2);
+GLAPI void APIENTRY glUniform4uiEXT (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
+GLAPI void APIENTRY glUniform1uivEXT (GLint location, GLsizei count, const GLuint *value);
+GLAPI void APIENTRY glUniform2uivEXT (GLint location, GLsizei count, const GLuint *value);
+GLAPI void APIENTRY glUniform3uivEXT (GLint location, GLsizei count, const GLuint *value);
+GLAPI void APIENTRY glUniform4uivEXT (GLint location, GLsizei count, const GLuint *value);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLGETUNIFORMUIVEXTPROC) (GLuint program, GLint location, GLuint *params);
+typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONEXTPROC) (GLuint program, GLuint color, const GLchar *name);
+typedef GLint (APIENTRYP PFNGLGETFRAGDATALOCATIONEXTPROC) (GLuint program, const GLchar *name);
+typedef void (APIENTRYP PFNGLUNIFORM1UIEXTPROC) (GLint location, GLuint v0);
+typedef void (APIENTRYP PFNGLUNIFORM2UIEXTPROC) (GLint location, GLuint v0, GLuint v1);
+typedef void (APIENTRYP PFNGLUNIFORM3UIEXTPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2);
+typedef void (APIENTRYP PFNGLUNIFORM4UIEXTPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
+typedef void (APIENTRYP PFNGLUNIFORM1UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value);
+typedef void (APIENTRYP PFNGLUNIFORM2UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value);
+typedef void (APIENTRYP PFNGLUNIFORM3UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value);
+typedef void (APIENTRYP PFNGLUNIFORM4UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value);
+#endif
+
+#ifndef GL_EXT_draw_instanced
+#define GL_EXT_draw_instanced 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glDrawArraysInstancedEXT (GLenum mode, GLint start, GLsizei count, GLsizei primcount);
+GLAPI void APIENTRY glDrawElementsInstancedEXT (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDEXTPROC) (GLenum mode, GLint start, GLsizei count, GLsizei primcount);
+typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDEXTPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);
+#endif
+
+#ifndef GL_EXT_packed_float
+#define GL_EXT_packed_float 1
+#endif
+
+#ifndef GL_EXT_texture_array
+#define GL_EXT_texture_array 1
+#endif
+
+#ifndef GL_EXT_texture_buffer_object
+#define GL_EXT_texture_buffer_object 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glTexBufferEXT (GLenum target, GLenum internalformat, GLuint buffer);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLTEXBUFFEREXTPROC) (GLenum target, GLenum internalformat, GLuint buffer);
+#endif
+
+#ifndef GL_EXT_texture_compression_latc
+#define GL_EXT_texture_compression_latc 1
+#endif
+
+#ifndef GL_EXT_texture_compression_rgtc
+#define GL_EXT_texture_compression_rgtc 1
+#endif
+
+#ifndef GL_EXT_texture_shared_exponent
+#define GL_EXT_texture_shared_exponent 1
+#endif
+
+#ifndef GL_NV_depth_buffer_float
+#define GL_NV_depth_buffer_float 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glDepthRangedNV (GLdouble zNear, GLdouble zFar);
+GLAPI void APIENTRY glClearDepthdNV (GLdouble depth);
+GLAPI void APIENTRY glDepthBoundsdNV (GLdouble zmin, GLdouble zmax);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLDEPTHRANGEDNVPROC) (GLdouble zNear, GLdouble zFar);
+typedef void (APIENTRYP PFNGLCLEARDEPTHDNVPROC) (GLdouble depth);
+typedef void (APIENTRYP PFNGLDEPTHBOUNDSDNVPROC) (GLdouble zmin, GLdouble zmax);
+#endif
+
+#ifndef GL_NV_fragment_program4
+#define GL_NV_fragment_program4 1
+#endif
+
+#ifndef GL_NV_framebuffer_multisample_coverage
+#define GL_NV_framebuffer_multisample_coverage 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glRenderbufferStorageMultisampleCoverageNV (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC) (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);
+#endif
+
+#ifndef GL_EXT_framebuffer_sRGB
+#define GL_EXT_framebuffer_sRGB 1
+#endif
+
+#ifndef GL_NV_geometry_shader4
+#define GL_NV_geometry_shader4 1
+#endif
+
+#ifndef GL_NV_parameter_buffer_object
+#define GL_NV_parameter_buffer_object 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glProgramBufferParametersfvNV (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLfloat *params);
+GLAPI void APIENTRY glProgramBufferParametersIivNV (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLint *params);
+GLAPI void APIENTRY glProgramBufferParametersIuivNV (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLuint *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC) (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLfloat *params);
+typedef void (APIENTRYP PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC) (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLint *params);
+typedef void (APIENTRYP PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC) (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLuint *params);
+#endif
+
+#ifndef GL_EXT_draw_buffers2
+#define GL_EXT_draw_buffers2 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glColorMaskIndexedEXT (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
+GLAPI void APIENTRY glGetBooleanIndexedvEXT (GLenum target, GLuint index, GLboolean *data);
+GLAPI void APIENTRY glGetIntegerIndexedvEXT (GLenum target, GLuint index, GLint *data);
+GLAPI void APIENTRY glEnableIndexedEXT (GLenum target, GLuint index);
+GLAPI void APIENTRY glDisableIndexedEXT (GLenum target, GLuint index);
+GLAPI GLboolean APIENTRY glIsEnabledIndexedEXT (GLenum target, GLuint index);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLCOLORMASKINDEXEDEXTPROC) (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
+typedef void (APIENTRYP PFNGLGETBOOLEANINDEXEDVEXTPROC) (GLenum target, GLuint index, GLboolean *data);
+typedef void (APIENTRYP PFNGLGETINTEGERINDEXEDVEXTPROC) (GLenum target, GLuint index, GLint *data);
+typedef void (APIENTRYP PFNGLENABLEINDEXEDEXTPROC) (GLenum target, GLuint index);
+typedef void (APIENTRYP PFNGLDISABLEINDEXEDEXTPROC) (GLenum target, GLuint index);
+typedef GLboolean (APIENTRYP PFNGLISENABLEDINDEXEDEXTPROC) (GLenum target, GLuint index);
+#endif
+
+#ifndef GL_NV_transform_feedback
+#define GL_NV_transform_feedback 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glBeginTransformFeedbackNV (GLenum primitiveMode);
+GLAPI void APIENTRY glEndTransformFeedbackNV (void);
+GLAPI void APIENTRY glTransformFeedbackAttribsNV (GLuint count, const GLint *attribs, GLenum bufferMode);
+GLAPI void APIENTRY glBindBufferRangeNV (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
+GLAPI void APIENTRY glBindBufferOffsetNV (GLenum target, GLuint index, GLuint buffer, GLintptr offset);
+GLAPI void APIENTRY glBindBufferBaseNV (GLenum target, GLuint index, GLuint buffer);
+GLAPI void APIENTRY glTransformFeedbackVaryingsNV (GLuint program, GLsizei count, const GLint *locations, GLenum bufferMode);
+GLAPI void APIENTRY glActiveVaryingNV (GLuint program, const GLchar *name);
+GLAPI GLint APIENTRY glGetVaryingLocationNV (GLuint program, const GLchar *name);
+GLAPI void APIENTRY glGetActiveVaryingNV (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
+GLAPI void APIENTRY glGetTransformFeedbackVaryingNV (GLuint program, GLuint index, GLint *location);
+GLAPI void APIENTRY glTransformFeedbackStreamAttribsNV (GLsizei count, const GLint *attribs, GLsizei nbuffers, const GLint *bufstreams, GLenum bufferMode);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKNVPROC) (GLenum primitiveMode);
+typedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKNVPROC) (void);
+typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC) (GLuint count, const GLint *attribs, GLenum bufferMode);
+typedef void (APIENTRYP PFNGLBINDBUFFERRANGENVPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
+typedef void (APIENTRYP PFNGLBINDBUFFEROFFSETNVPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset);
+typedef void (APIENTRYP PFNGLBINDBUFFERBASENVPROC) (GLenum target, GLuint index, GLuint buffer);
+typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC) (GLuint program, GLsizei count, const GLint *locations, GLenum bufferMode);
+typedef void (APIENTRYP PFNGLACTIVEVARYINGNVPROC) (GLuint program, const GLchar *name);
+typedef GLint (APIENTRYP PFNGLGETVARYINGLOCATIONNVPROC) (GLuint program, const GLchar *name);
+typedef void (APIENTRYP PFNGLGETACTIVEVARYINGNVPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
+typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC) (GLuint program, GLuint index, GLint *location);
+typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKSTREAMATTRIBSNVPROC) (GLsizei count, const GLint *attribs, GLsizei nbuffers, const GLint *bufstreams, GLenum bufferMode);
+#endif
+
+#ifndef GL_EXT_bindable_uniform
+#define GL_EXT_bindable_uniform 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glUniformBufferEXT (GLuint program, GLint location, GLuint buffer);
+GLAPI GLint APIENTRY glGetUniformBufferSizeEXT (GLuint program, GLint location);
+GLAPI GLintptr APIENTRY glGetUniformOffsetEXT (GLuint program, GLint location);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLUNIFORMBUFFEREXTPROC) (GLuint program, GLint location, GLuint buffer);
+typedef GLint (APIENTRYP PFNGLGETUNIFORMBUFFERSIZEEXTPROC) (GLuint program, GLint location);
+typedef GLintptr (APIENTRYP PFNGLGETUNIFORMOFFSETEXTPROC) (GLuint program, GLint location);
+#endif
+
+#ifndef GL_EXT_texture_integer
+#define GL_EXT_texture_integer 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glTexParameterIivEXT (GLenum target, GLenum pname, const GLint *params);
+GLAPI void APIENTRY glTexParameterIuivEXT (GLenum target, GLenum pname, const GLuint *params);
+GLAPI void APIENTRY glGetTexParameterIivEXT (GLenum target, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetTexParameterIuivEXT (GLenum target, GLenum pname, GLuint *params);
+GLAPI void APIENTRY glClearColorIiEXT (GLint red, GLint green, GLint blue, GLint alpha);
+GLAPI void APIENTRY glClearColorIuiEXT (GLuint red, GLuint green, GLuint blue, GLuint alpha);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLTEXPARAMETERIIVEXTPROC) (GLenum target, GLenum pname, const GLint *params);
+typedef void (APIENTRYP PFNGLTEXPARAMETERIUIVEXTPROC) (GLenum target, GLenum pname, const GLuint *params);
+typedef void (APIENTRYP PFNGLGETTEXPARAMETERIIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETTEXPARAMETERIUIVEXTPROC) (GLenum target, GLenum pname, GLuint *params);
+typedef void (APIENTRYP PFNGLCLEARCOLORIIEXTPROC) (GLint red, GLint green, GLint blue, GLint alpha);
+typedef void (APIENTRYP PFNGLCLEARCOLORIUIEXTPROC) (GLuint red, GLuint green, GLuint blue, GLuint alpha);
+#endif
+
+#ifndef GL_GREMEDY_frame_terminator
+#define GL_GREMEDY_frame_terminator 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glFrameTerminatorGREMEDY (void);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLFRAMETERMINATORGREMEDYPROC) (void);
+#endif
+
+#ifndef GL_NV_conditional_render
+#define GL_NV_conditional_render 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glBeginConditionalRenderNV (GLuint id, GLenum mode);
+GLAPI void APIENTRY glEndConditionalRenderNV (void);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLBEGINCONDITIONALRENDERNVPROC) (GLuint id, GLenum mode);
+typedef void (APIENTRYP PFNGLENDCONDITIONALRENDERNVPROC) (void);
+#endif
+
+#ifndef GL_NV_present_video
+#define GL_NV_present_video 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glPresentFrameKeyedNV (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1);
+GLAPI void APIENTRY glPresentFrameDualFillNV (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3);
+GLAPI void APIENTRY glGetVideoivNV (GLuint video_slot, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetVideouivNV (GLuint video_slot, GLenum pname, GLuint *params);
+GLAPI void APIENTRY glGetVideoi64vNV (GLuint video_slot, GLenum pname, GLint64EXT *params);
+GLAPI void APIENTRY glGetVideoui64vNV (GLuint video_slot, GLenum pname, GLuint64EXT *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLPRESENTFRAMEKEYEDNVPROC) (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1);
+typedef void (APIENTRYP PFNGLPRESENTFRAMEDUALFILLNVPROC) (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3);
+typedef void (APIENTRYP PFNGLGETVIDEOIVNVPROC) (GLuint video_slot, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETVIDEOUIVNVPROC) (GLuint video_slot, GLenum pname, GLuint *params);
+typedef void (APIENTRYP PFNGLGETVIDEOI64VNVPROC) (GLuint video_slot, GLenum pname, GLint64EXT *params);
+typedef void (APIENTRYP PFNGLGETVIDEOUI64VNVPROC) (GLuint video_slot, GLenum pname, GLuint64EXT *params);
+#endif
+
+#ifndef GL_EXT_transform_feedback
+#define GL_EXT_transform_feedback 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glBeginTransformFeedbackEXT (GLenum primitiveMode);
+GLAPI void APIENTRY glEndTransformFeedbackEXT (void);
+GLAPI void APIENTRY glBindBufferRangeEXT (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
+GLAPI void APIENTRY glBindBufferOffsetEXT (GLenum target, GLuint index, GLuint buffer, GLintptr offset);
+GLAPI void APIENTRY glBindBufferBaseEXT (GLenum target, GLuint index, GLuint buffer);
+GLAPI void APIENTRY glTransformFeedbackVaryingsEXT (GLuint program, GLsizei count, const GLchar* *varyings, GLenum bufferMode);
+GLAPI void APIENTRY glGetTransformFeedbackVaryingEXT (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKEXTPROC) (GLenum primitiveMode);
+typedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKEXTPROC) (void);
+typedef void (APIENTRYP PFNGLBINDBUFFERRANGEEXTPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
+typedef void (APIENTRYP PFNGLBINDBUFFEROFFSETEXTPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset);
+typedef void (APIENTRYP PFNGLBINDBUFFERBASEEXTPROC) (GLenum target, GLuint index, GLuint buffer);
+typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC) (GLuint program, GLsizei count, const GLchar* *varyings, GLenum bufferMode);
+typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
+#endif
+
+#ifndef GL_EXT_direct_state_access
+#define GL_EXT_direct_state_access 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glClientAttribDefaultEXT (GLbitfield mask);
+GLAPI void APIENTRY glPushClientAttribDefaultEXT (GLbitfield mask);
+GLAPI void APIENTRY glMatrixLoadfEXT (GLenum mode, const GLfloat *m);
+GLAPI void APIENTRY glMatrixLoaddEXT (GLenum mode, const GLdouble *m);
+GLAPI void APIENTRY glMatrixMultfEXT (GLenum mode, const GLfloat *m);
+GLAPI void APIENTRY glMatrixMultdEXT (GLenum mode, const GLdouble *m);
+GLAPI void APIENTRY glMatrixLoadIdentityEXT (GLenum mode);
+GLAPI void APIENTRY glMatrixRotatefEXT (GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
+GLAPI void APIENTRY glMatrixRotatedEXT (GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
+GLAPI void APIENTRY glMatrixScalefEXT (GLenum mode, GLfloat x, GLfloat y, GLfloat z);
+GLAPI void APIENTRY glMatrixScaledEXT (GLenum mode, GLdouble x, GLdouble y, GLdouble z);
+GLAPI void APIENTRY glMatrixTranslatefEXT (GLenum mode, GLfloat x, GLfloat y, GLfloat z);
+GLAPI void APIENTRY glMatrixTranslatedEXT (GLenum mode, GLdouble x, GLdouble y, GLdouble z);
+GLAPI void APIENTRY glMatrixFrustumEXT (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
+GLAPI void APIENTRY glMatrixOrthoEXT (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
+GLAPI void APIENTRY glMatrixPopEXT (GLenum mode);
+GLAPI void APIENTRY glMatrixPushEXT (GLenum mode);
+GLAPI void APIENTRY glMatrixLoadTransposefEXT (GLenum mode, const GLfloat *m);
+GLAPI void APIENTRY glMatrixLoadTransposedEXT (GLenum mode, const GLdouble *m);
+GLAPI void APIENTRY glMatrixMultTransposefEXT (GLenum mode, const GLfloat *m);
+GLAPI void APIENTRY glMatrixMultTransposedEXT (GLenum mode, const GLdouble *m);
+GLAPI void APIENTRY glTextureParameterfEXT (GLuint texture, GLenum target, GLenum pname, GLfloat param);
+GLAPI void APIENTRY glTextureParameterfvEXT (GLuint texture, GLenum target, GLenum pname, const GLfloat *params);
+GLAPI void APIENTRY glTextureParameteriEXT (GLuint texture, GLenum target, GLenum pname, GLint param);
+GLAPI void APIENTRY glTextureParameterivEXT (GLuint texture, GLenum target, GLenum pname, const GLint *params);
+GLAPI void APIENTRY glTextureImage1DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+GLAPI void APIENTRY glTextureImage2DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+GLAPI void APIENTRY glTextureSubImage1DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
+GLAPI void APIENTRY glTextureSubImage2DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
+GLAPI void APIENTRY glCopyTextureImage1DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
+GLAPI void APIENTRY glCopyTextureImage2DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
+GLAPI void APIENTRY glCopyTextureSubImage1DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
+GLAPI void APIENTRY glCopyTextureSubImage2DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+GLAPI void APIENTRY glGetTextureImageEXT (GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
+GLAPI void APIENTRY glGetTextureParameterfvEXT (GLuint texture, GLenum target, GLenum pname, GLfloat *params);
+GLAPI void APIENTRY glGetTextureParameterivEXT (GLuint texture, GLenum target, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetTextureLevelParameterfvEXT (GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat *params);
+GLAPI void APIENTRY glGetTextureLevelParameterivEXT (GLuint texture, GLenum target, GLint level, GLenum pname, GLint *params);
+GLAPI void APIENTRY glTextureImage3DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+GLAPI void APIENTRY glTextureSubImage3DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
+GLAPI void APIENTRY glCopyTextureSubImage3DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+GLAPI void APIENTRY glMultiTexParameterfEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat param);
+GLAPI void APIENTRY glMultiTexParameterfvEXT (GLenum texunit, GLenum target, GLenum pname, const GLfloat *params);
+GLAPI void APIENTRY glMultiTexParameteriEXT (GLenum texunit, GLenum target, GLenum pname, GLint param);
+GLAPI void APIENTRY glMultiTexParameterivEXT (GLenum texunit, GLenum target, GLenum pname, const GLint *params);
+GLAPI void APIENTRY glMultiTexImage1DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+GLAPI void APIENTRY glMultiTexImage2DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+GLAPI void APIENTRY glMultiTexSubImage1DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
+GLAPI void APIENTRY glMultiTexSubImage2DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
+GLAPI void APIENTRY glCopyMultiTexImage1DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
+GLAPI void APIENTRY glCopyMultiTexImage2DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
+GLAPI void APIENTRY glCopyMultiTexSubImage1DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
+GLAPI void APIENTRY glCopyMultiTexSubImage2DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+GLAPI void APIENTRY glGetMultiTexImageEXT (GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
+GLAPI void APIENTRY glGetMultiTexParameterfvEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat *params);
+GLAPI void APIENTRY glGetMultiTexParameterivEXT (GLenum texunit, GLenum target, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetMultiTexLevelParameterfvEXT (GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat *params);
+GLAPI void APIENTRY glGetMultiTexLevelParameterivEXT (GLenum texunit, GLenum target, GLint level, GLenum pname, GLint *params);
+GLAPI void APIENTRY glMultiTexImage3DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+GLAPI void APIENTRY glMultiTexSubImage3DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
+GLAPI void APIENTRY glCopyMultiTexSubImage3DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+GLAPI void APIENTRY glBindMultiTextureEXT (GLenum texunit, GLenum target, GLuint texture);
+GLAPI void APIENTRY glEnableClientStateIndexedEXT (GLenum array, GLuint index);
+GLAPI void APIENTRY glDisableClientStateIndexedEXT (GLenum array, GLuint index);
+GLAPI void APIENTRY glMultiTexCoordPointerEXT (GLenum texunit, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+GLAPI void APIENTRY glMultiTexEnvfEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat param);
+GLAPI void APIENTRY glMultiTexEnvfvEXT (GLenum texunit, GLenum target, GLenum pname, const GLfloat *params);
+GLAPI void APIENTRY glMultiTexEnviEXT (GLenum texunit, GLenum target, GLenum pname, GLint param);
+GLAPI void APIENTRY glMultiTexEnvivEXT (GLenum texunit, GLenum target, GLenum pname, const GLint *params);
+GLAPI void APIENTRY glMultiTexGendEXT (GLenum texunit, GLenum coord, GLenum pname, GLdouble param);
+GLAPI void APIENTRY glMultiTexGendvEXT (GLenum texunit, GLenum coord, GLenum pname, const GLdouble *params);
+GLAPI void APIENTRY glMultiTexGenfEXT (GLenum texunit, GLenum coord, GLenum pname, GLfloat param);
+GLAPI void APIENTRY glMultiTexGenfvEXT (GLenum texunit, GLenum coord, GLenum pname, const GLfloat *params);
+GLAPI void APIENTRY glMultiTexGeniEXT (GLenum texunit, GLenum coord, GLenum pname, GLint param);
+GLAPI void APIENTRY glMultiTexGenivEXT (GLenum texunit, GLenum coord, GLenum pname, const GLint *params);
+GLAPI void APIENTRY glGetMultiTexEnvfvEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat *params);
+GLAPI void APIENTRY glGetMultiTexEnvivEXT (GLenum texunit, GLenum target, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetMultiTexGendvEXT (GLenum texunit, GLenum coord, GLenum pname, GLdouble *params);
+GLAPI void APIENTRY glGetMultiTexGenfvEXT (GLenum texunit, GLenum coord, GLenum pname, GLfloat *params);
+GLAPI void APIENTRY glGetMultiTexGenivEXT (GLenum texunit, GLenum coord, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetFloatIndexedvEXT (GLenum target, GLuint index, GLfloat *data);
+GLAPI void APIENTRY glGetDoubleIndexedvEXT (GLenum target, GLuint index, GLdouble *data);
+GLAPI void APIENTRY glGetPointerIndexedvEXT (GLenum target, GLuint index, GLvoid* *data);
+GLAPI void APIENTRY glCompressedTextureImage3DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits);
+GLAPI void APIENTRY glCompressedTextureImage2DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits);
+GLAPI void APIENTRY glCompressedTextureImage1DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits);
+GLAPI void APIENTRY glCompressedTextureSubImage3DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *bits);
+GLAPI void APIENTRY glCompressedTextureSubImage2DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits);
+GLAPI void APIENTRY glCompressedTextureSubImage1DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits);
+GLAPI void APIENTRY glGetCompressedTextureImageEXT (GLuint texture, GLenum target, GLint lod, GLvoid *img);
+GLAPI void APIENTRY glCompressedMultiTexImage3DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits);
+GLAPI void APIENTRY glCompressedMultiTexImage2DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits);
+GLAPI void APIENTRY glCompressedMultiTexImage1DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits);
+GLAPI void APIENTRY glCompressedMultiTexSubImage3DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *bits);
+GLAPI void APIENTRY glCompressedMultiTexSubImage2DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits);
+GLAPI void APIENTRY glCompressedMultiTexSubImage1DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits);
+GLAPI void APIENTRY glGetCompressedMultiTexImageEXT (GLenum texunit, GLenum target, GLint lod, GLvoid *img);
+GLAPI void APIENTRY glNamedProgramStringEXT (GLuint program, GLenum target, GLenum format, GLsizei len, const GLvoid *string);
+GLAPI void APIENTRY glNamedProgramLocalParameter4dEXT (GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+GLAPI void APIENTRY glNamedProgramLocalParameter4dvEXT (GLuint program, GLenum target, GLuint index, const GLdouble *params);
+GLAPI void APIENTRY glNamedProgramLocalParameter4fEXT (GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+GLAPI void APIENTRY glNamedProgramLocalParameter4fvEXT (GLuint program, GLenum target, GLuint index, const GLfloat *params);
+GLAPI void APIENTRY glGetNamedProgramLocalParameterdvEXT (GLuint program, GLenum target, GLuint index, GLdouble *params);
+GLAPI void APIENTRY glGetNamedProgramLocalParameterfvEXT (GLuint program, GLenum target, GLuint index, GLfloat *params);
+GLAPI void APIENTRY glGetNamedProgramivEXT (GLuint program, GLenum target, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetNamedProgramStringEXT (GLuint program, GLenum target, GLenum pname, GLvoid *string);
+GLAPI void APIENTRY glNamedProgramLocalParameters4fvEXT (GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat *params);
+GLAPI void APIENTRY glNamedProgramLocalParameterI4iEXT (GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);
+GLAPI void APIENTRY glNamedProgramLocalParameterI4ivEXT (GLuint program, GLenum target, GLuint index, const GLint *params);
+GLAPI void APIENTRY glNamedProgramLocalParametersI4ivEXT (GLuint program, GLenum target, GLuint index, GLsizei count, const GLint *params);
+GLAPI void APIENTRY glNamedProgramLocalParameterI4uiEXT (GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
+GLAPI void APIENTRY glNamedProgramLocalParameterI4uivEXT (GLuint program, GLenum target, GLuint index, const GLuint *params);
+GLAPI void APIENTRY glNamedProgramLocalParametersI4uivEXT (GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint *params);
+GLAPI void APIENTRY glGetNamedProgramLocalParameterIivEXT (GLuint program, GLenum target, GLuint index, GLint *params);
+GLAPI void APIENTRY glGetNamedProgramLocalParameterIuivEXT (GLuint program, GLenum target, GLuint index, GLuint *params);
+GLAPI void APIENTRY glTextureParameterIivEXT (GLuint texture, GLenum target, GLenum pname, const GLint *params);
+GLAPI void APIENTRY glTextureParameterIuivEXT (GLuint texture, GLenum target, GLenum pname, const GLuint *params);
+GLAPI void APIENTRY glGetTextureParameterIivEXT (GLuint texture, GLenum target, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetTextureParameterIuivEXT (GLuint texture, GLenum target, GLenum pname, GLuint *params);
+GLAPI void APIENTRY glMultiTexParameterIivEXT (GLenum texunit, GLenum target, GLenum pname, const GLint *params);
+GLAPI void APIENTRY glMultiTexParameterIuivEXT (GLenum texunit, GLenum target, GLenum pname, const GLuint *params);
+GLAPI void APIENTRY glGetMultiTexParameterIivEXT (GLenum texunit, GLenum target, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetMultiTexParameterIuivEXT (GLenum texunit, GLenum target, GLenum pname, GLuint *params);
+GLAPI void APIENTRY glProgramUniform1fEXT (GLuint program, GLint location, GLfloat v0);
+GLAPI void APIENTRY glProgramUniform2fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1);
+GLAPI void APIENTRY glProgramUniform3fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
+GLAPI void APIENTRY glProgramUniform4fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
+GLAPI void APIENTRY glProgramUniform1iEXT (GLuint program, GLint location, GLint v0);
+GLAPI void APIENTRY glProgramUniform2iEXT (GLuint program, GLint location, GLint v0, GLint v1);
+GLAPI void APIENTRY glProgramUniform3iEXT (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
+GLAPI void APIENTRY glProgramUniform4iEXT (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
+GLAPI void APIENTRY glProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+GLAPI void APIENTRY glProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+GLAPI void APIENTRY glProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+GLAPI void APIENTRY glProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+GLAPI void APIENTRY glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
+GLAPI void APIENTRY glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
+GLAPI void APIENTRY glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
+GLAPI void APIENTRY glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
+GLAPI void APIENTRY glProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void APIENTRY glProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void APIENTRY glProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void APIENTRY glProgramUniformMatrix2x3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void APIENTRY glProgramUniformMatrix3x2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void APIENTRY glProgramUniformMatrix2x4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void APIENTRY glProgramUniformMatrix4x2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void APIENTRY glProgramUniformMatrix3x4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void APIENTRY glProgramUniformMatrix4x3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+GLAPI void APIENTRY glProgramUniform1uiEXT (GLuint program, GLint location, GLuint v0);
+GLAPI void APIENTRY glProgramUniform2uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1);
+GLAPI void APIENTRY glProgramUniform3uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
+GLAPI void APIENTRY glProgramUniform4uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
+GLAPI void APIENTRY glProgramUniform1uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);
+GLAPI void APIENTRY glProgramUniform2uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);
+GLAPI void APIENTRY glProgramUniform3uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);
+GLAPI void APIENTRY glProgramUniform4uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);
+GLAPI void APIENTRY glNamedBufferDataEXT (GLuint buffer, GLsizeiptr size, const GLvoid *data, GLenum usage);
+GLAPI void APIENTRY glNamedBufferSubDataEXT (GLuint buffer, GLintptr offset, GLsizeiptr size, const GLvoid *data);
+GLAPI GLvoid* APIENTRY glMapNamedBufferEXT (GLuint buffer, GLenum access);
+GLAPI GLboolean APIENTRY glUnmapNamedBufferEXT (GLuint buffer);
+GLAPI GLvoid* APIENTRY glMapNamedBufferRangeEXT (GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access);
+GLAPI void APIENTRY glFlushMappedNamedBufferRangeEXT (GLuint buffer, GLintptr offset, GLsizeiptr length);
+GLAPI void APIENTRY glNamedCopyBufferSubDataEXT (GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
+GLAPI void APIENTRY glGetNamedBufferParameterivEXT (GLuint buffer, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetNamedBufferPointervEXT (GLuint buffer, GLenum pname, GLvoid* *params);
+GLAPI void APIENTRY glGetNamedBufferSubDataEXT (GLuint buffer, GLintptr offset, GLsizeiptr size, GLvoid *data);
+GLAPI void APIENTRY glTextureBufferEXT (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer);
+GLAPI void APIENTRY glMultiTexBufferEXT (GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer);
+GLAPI void APIENTRY glNamedRenderbufferStorageEXT (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height);
+GLAPI void APIENTRY glGetNamedRenderbufferParameterivEXT (GLuint renderbuffer, GLenum pname, GLint *params);
+GLAPI GLenum APIENTRY glCheckNamedFramebufferStatusEXT (GLuint framebuffer, GLenum target);
+GLAPI void APIENTRY glNamedFramebufferTexture1DEXT (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+GLAPI void APIENTRY glNamedFramebufferTexture2DEXT (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+GLAPI void APIENTRY glNamedFramebufferTexture3DEXT (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
+GLAPI void APIENTRY glNamedFramebufferRenderbufferEXT (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
+GLAPI void APIENTRY glGetNamedFramebufferAttachmentParameterivEXT (GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGenerateTextureMipmapEXT (GLuint texture, GLenum target);
+GLAPI void APIENTRY glGenerateMultiTexMipmapEXT (GLenum texunit, GLenum target);
+GLAPI void APIENTRY glFramebufferDrawBufferEXT (GLuint framebuffer, GLenum mode);
+GLAPI void APIENTRY glFramebufferDrawBuffersEXT (GLuint framebuffer, GLsizei n, const GLenum *bufs);
+GLAPI void APIENTRY glFramebufferReadBufferEXT (GLuint framebuffer, GLenum mode);
+GLAPI void APIENTRY glGetFramebufferParameterivEXT (GLuint framebuffer, GLenum pname, GLint *params);
+GLAPI void APIENTRY glNamedRenderbufferStorageMultisampleEXT (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
+GLAPI void APIENTRY glNamedRenderbufferStorageMultisampleCoverageEXT (GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);
+GLAPI void APIENTRY glNamedFramebufferTextureEXT (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level);
+GLAPI void APIENTRY glNamedFramebufferTextureLayerEXT (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer);
+GLAPI void APIENTRY glNamedFramebufferTextureFaceEXT (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face);
+GLAPI void APIENTRY glTextureRenderbufferEXT (GLuint texture, GLenum target, GLuint renderbuffer);
+GLAPI void APIENTRY glMultiTexRenderbufferEXT (GLenum texunit, GLenum target, GLuint renderbuffer);
+GLAPI void APIENTRY glProgramUniform1dEXT (GLuint program, GLint location, GLdouble x);
+GLAPI void APIENTRY glProgramUniform2dEXT (GLuint program, GLint location, GLdouble x, GLdouble y);
+GLAPI void APIENTRY glProgramUniform3dEXT (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z);
+GLAPI void APIENTRY glProgramUniform4dEXT (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+GLAPI void APIENTRY glProgramUniform1dvEXT (GLuint program, GLint location, GLsizei count, const GLdouble *value);
+GLAPI void APIENTRY glProgramUniform2dvEXT (GLuint program, GLint location, GLsizei count, const GLdouble *value);
+GLAPI void APIENTRY glProgramUniform3dvEXT (GLuint program, GLint location, GLsizei count, const GLdouble *value);
+GLAPI void APIENTRY glProgramUniform4dvEXT (GLuint program, GLint location, GLsizei count, const GLdouble *value);
+GLAPI void APIENTRY glProgramUniformMatrix2dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+GLAPI void APIENTRY glProgramUniformMatrix3dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+GLAPI void APIENTRY glProgramUniformMatrix4dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+GLAPI void APIENTRY glProgramUniformMatrix2x3dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+GLAPI void APIENTRY glProgramUniformMatrix2x4dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+GLAPI void APIENTRY glProgramUniformMatrix3x2dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+GLAPI void APIENTRY glProgramUniformMatrix3x4dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+GLAPI void APIENTRY glProgramUniformMatrix4x2dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+GLAPI void APIENTRY glProgramUniformMatrix4x3dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLCLIENTATTRIBDEFAULTEXTPROC) (GLbitfield mask);
+typedef void (APIENTRYP PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC) (GLbitfield mask);
+typedef void (APIENTRYP PFNGLMATRIXLOADFEXTPROC) (GLenum mode, const GLfloat *m);
+typedef void (APIENTRYP PFNGLMATRIXLOADDEXTPROC) (GLenum mode, const GLdouble *m);
+typedef void (APIENTRYP PFNGLMATRIXMULTFEXTPROC) (GLenum mode, const GLfloat *m);
+typedef void (APIENTRYP PFNGLMATRIXMULTDEXTPROC) (GLenum mode, const GLdouble *m);
+typedef void (APIENTRYP PFNGLMATRIXLOADIDENTITYEXTPROC) (GLenum mode);
+typedef void (APIENTRYP PFNGLMATRIXROTATEFEXTPROC) (GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
+typedef void (APIENTRYP PFNGLMATRIXROTATEDEXTPROC) (GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
+typedef void (APIENTRYP PFNGLMATRIXSCALEFEXTPROC) (GLenum mode, GLfloat x, GLfloat y, GLfloat z);
+typedef void (APIENTRYP PFNGLMATRIXSCALEDEXTPROC) (GLenum mode, GLdouble x, GLdouble y, GLdouble z);
+typedef void (APIENTRYP PFNGLMATRIXTRANSLATEFEXTPROC) (GLenum mode, GLfloat x, GLfloat y, GLfloat z);
+typedef void (APIENTRYP PFNGLMATRIXTRANSLATEDEXTPROC) (GLenum mode, GLdouble x, GLdouble y, GLdouble z);
+typedef void (APIENTRYP PFNGLMATRIXFRUSTUMEXTPROC) (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
+typedef void (APIENTRYP PFNGLMATRIXORTHOEXTPROC) (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
+typedef void (APIENTRYP PFNGLMATRIXPOPEXTPROC) (GLenum mode);
+typedef void (APIENTRYP PFNGLMATRIXPUSHEXTPROC) (GLenum mode);
+typedef void (APIENTRYP PFNGLMATRIXLOADTRANSPOSEFEXTPROC) (GLenum mode, const GLfloat *m);
+typedef void (APIENTRYP PFNGLMATRIXLOADTRANSPOSEDEXTPROC) (GLenum mode, const GLdouble *m);
+typedef void (APIENTRYP PFNGLMATRIXMULTTRANSPOSEFEXTPROC) (GLenum mode, const GLfloat *m);
+typedef void (APIENTRYP PFNGLMATRIXMULTTRANSPOSEDEXTPROC) (GLenum mode, const GLdouble *m);
+typedef void (APIENTRYP PFNGLTEXTUREPARAMETERFEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLfloat param);
+typedef void (APIENTRYP PFNGLTEXTUREPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLfloat *params);
+typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint param);
+typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLint *params);
+typedef void (APIENTRYP PFNGLTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (APIENTRYP PFNGLTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (APIENTRYP PFNGLTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (APIENTRYP PFNGLTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (APIENTRYP PFNGLCOPYTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
+typedef void (APIENTRYP PFNGLCOPYTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
+typedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
+typedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+typedef void (APIENTRYP PFNGLGETTEXTUREIMAGEEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
+typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLTEXTUREIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (APIENTRYP PFNGLTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+typedef void (APIENTRYP PFNGLMULTITEXPARAMETERFEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat param);
+typedef void (APIENTRYP PFNGLMULTITEXPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLfloat *params);
+typedef void (APIENTRYP PFNGLMULTITEXPARAMETERIEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint param);
+typedef void (APIENTRYP PFNGLMULTITEXPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint *params);
+typedef void (APIENTRYP PFNGLMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (APIENTRYP PFNGLMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (APIENTRYP PFNGLMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (APIENTRYP PFNGLMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (APIENTRYP PFNGLCOPYMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
+typedef void (APIENTRYP PFNGLCOPYMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
+typedef void (APIENTRYP PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
+typedef void (APIENTRYP PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+typedef void (APIENTRYP PFNGLGETMULTITEXIMAGEEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
+typedef void (APIENTRYP PFNGLGETMULTITEXPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETMULTITEXPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLMULTITEXIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (APIENTRYP PFNGLMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (APIENTRYP PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+typedef void (APIENTRYP PFNGLBINDMULTITEXTUREEXTPROC) (GLenum texunit, GLenum target, GLuint texture);
+typedef void (APIENTRYP PFNGLENABLECLIENTSTATEINDEXEDEXTPROC) (GLenum array, GLuint index);
+typedef void (APIENTRYP PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC) (GLenum array, GLuint index);
+typedef void (APIENTRYP PFNGLMULTITEXCOORDPOINTEREXTPROC) (GLenum texunit, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+typedef void (APIENTRYP PFNGLMULTITEXENVFEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat param);
+typedef void (APIENTRYP PFNGLMULTITEXENVFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLfloat *params);
+typedef void (APIENTRYP PFNGLMULTITEXENVIEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint param);
+typedef void (APIENTRYP PFNGLMULTITEXENVIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint *params);
+typedef void (APIENTRYP PFNGLMULTITEXGENDEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLdouble param);
+typedef void (APIENTRYP PFNGLMULTITEXGENDVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLdouble *params);
+typedef void (APIENTRYP PFNGLMULTITEXGENFEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLfloat param);
+typedef void (APIENTRYP PFNGLMULTITEXGENFVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLfloat *params);
+typedef void (APIENTRYP PFNGLMULTITEXGENIEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLint param);
+typedef void (APIENTRYP PFNGLMULTITEXGENIVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLint *params);
+typedef void (APIENTRYP PFNGLGETMULTITEXENVFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETMULTITEXENVIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETMULTITEXGENDVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLdouble *params);
+typedef void (APIENTRYP PFNGLGETMULTITEXGENFVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETMULTITEXGENIVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETFLOATINDEXEDVEXTPROC) (GLenum target, GLuint index, GLfloat *data);
+typedef void (APIENTRYP PFNGLGETDOUBLEINDEXEDVEXTPROC) (GLenum target, GLuint index, GLdouble *data);
+typedef void (APIENTRYP PFNGLGETPOINTERINDEXEDVEXTPROC) (GLenum target, GLuint index, GLvoid* *data);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *bits);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits);
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits);
+typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC) (GLuint texture, GLenum target, GLint lod, GLvoid *img);
+typedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits);
+typedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits);
+typedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits);
+typedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *bits);
+typedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits);
+typedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits);
+typedef void (APIENTRYP PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC) (GLenum texunit, GLenum target, GLint lod, GLvoid *img);
+typedef void (APIENTRYP PFNGLNAMEDPROGRAMSTRINGEXTPROC) (GLuint program, GLenum target, GLenum format, GLsizei len, const GLvoid *string);
+typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC) (GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLdouble *params);
+typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC) (GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLfloat *params);
+typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC) (GLuint program, GLenum target, GLuint index, GLdouble *params);
+typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC) (GLuint program, GLenum target, GLuint index, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMIVEXTPROC) (GLuint program, GLenum target, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMSTRINGEXTPROC) (GLuint program, GLenum target, GLenum pname, GLvoid *string);
+typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat *params);
+typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC) (GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);
+typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLint *params);
+typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLint *params);
+typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC) (GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
+typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLuint *params);
+typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint *params);
+typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLint *params);
+typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLuint *params);
+typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLint *params);
+typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIUIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLuint *params);
+typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIUIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLuint *params);
+typedef void (APIENTRYP PFNGLMULTITEXPARAMETERIIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint *params);
+typedef void (APIENTRYP PFNGLMULTITEXPARAMETERIUIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLuint *params);
+typedef void (APIENTRYP PFNGLGETMULTITEXPARAMETERIIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETMULTITEXPARAMETERIUIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLuint *params);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat v0);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint v0);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIEXTPROC) (GLuint program, GLint location, GLuint v0);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
+typedef void (APIENTRYP PFNGLNAMEDBUFFERDATAEXTPROC) (GLuint buffer, GLsizeiptr size, const GLvoid *data, GLenum usage);
+typedef void (APIENTRYP PFNGLNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, const GLvoid *data);
+typedef GLvoid* (APIENTRYP PFNGLMAPNAMEDBUFFEREXTPROC) (GLuint buffer, GLenum access);
+typedef GLboolean (APIENTRYP PFNGLUNMAPNAMEDBUFFEREXTPROC) (GLuint buffer);
+typedef GLvoid* (APIENTRYP PFNGLMAPNAMEDBUFFERRANGEEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access);
+typedef void (APIENTRYP PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length);
+typedef void (APIENTRYP PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC) (GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
+typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC) (GLuint buffer, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPOINTERVEXTPROC) (GLuint buffer, GLenum pname, GLvoid* *params);
+typedef void (APIENTRYP PFNGLGETNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, GLvoid *data);
+typedef void (APIENTRYP PFNGLTEXTUREBUFFEREXTPROC) (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer);
+typedef void (APIENTRYP PFNGLMULTITEXBUFFEREXTPROC) (GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer);
+typedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC) (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height);
+typedef void (APIENTRYP PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC) (GLuint renderbuffer, GLenum pname, GLint *params);
+typedef GLenum (APIENTRYP PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC) (GLuint framebuffer, GLenum target);
+typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
+typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC) (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
+typedef void (APIENTRYP PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGENERATETEXTUREMIPMAPEXTPROC) (GLuint texture, GLenum target);
+typedef void (APIENTRYP PFNGLGENERATEMULTITEXMIPMAPEXTPROC) (GLenum texunit, GLenum target);
+typedef void (APIENTRYP PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC) (GLuint framebuffer, GLenum mode);
+typedef void (APIENTRYP PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC) (GLuint framebuffer, GLsizei n, const GLenum *bufs);
+typedef void (APIENTRYP PFNGLFRAMEBUFFERREADBUFFEREXTPROC) (GLuint framebuffer, GLenum mode);
+typedef void (APIENTRYP PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
+typedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC) (GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);
+typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level);
+typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer);
+typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face);
+typedef void (APIENTRYP PFNGLTEXTURERENDERBUFFEREXTPROC) (GLuint texture, GLenum target, GLuint renderbuffer);
+typedef void (APIENTRYP PFNGLMULTITEXRENDERBUFFEREXTPROC) (GLenum texunit, GLenum target, GLuint renderbuffer);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DEXTPROC) (GLuint program, GLint location, GLdouble x);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2DEXTPROC) (GLuint program, GLint location, GLdouble x, GLdouble y);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3DEXTPROC) (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4DEXTPROC) (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2DVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3DVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4DVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+#endif
+
+#ifndef GL_EXT_vertex_array_bgra
+#define GL_EXT_vertex_array_bgra 1
+#endif
+
+#ifndef GL_EXT_texture_swizzle
+#define GL_EXT_texture_swizzle 1
+#endif
+
+#ifndef GL_NV_explicit_multisample
+#define GL_NV_explicit_multisample 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glGetMultisamplefvNV (GLenum pname, GLuint index, GLfloat *val);
+GLAPI void APIENTRY glSampleMaskIndexedNV (GLuint index, GLbitfield mask);
+GLAPI void APIENTRY glTexRenderbufferNV (GLenum target, GLuint renderbuffer);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLGETMULTISAMPLEFVNVPROC) (GLenum pname, GLuint index, GLfloat *val);
+typedef void (APIENTRYP PFNGLSAMPLEMASKINDEXEDNVPROC) (GLuint index, GLbitfield mask);
+typedef void (APIENTRYP PFNGLTEXRENDERBUFFERNVPROC) (GLenum target, GLuint renderbuffer);
+#endif
+
+#ifndef GL_NV_transform_feedback2
+#define GL_NV_transform_feedback2 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glBindTransformFeedbackNV (GLenum target, GLuint id);
+GLAPI void APIENTRY glDeleteTransformFeedbacksNV (GLsizei n, const GLuint *ids);
+GLAPI void APIENTRY glGenTransformFeedbacksNV (GLsizei n, GLuint *ids);
+GLAPI GLboolean APIENTRY glIsTransformFeedbackNV (GLuint id);
+GLAPI void APIENTRY glPauseTransformFeedbackNV (void);
+GLAPI void APIENTRY glResumeTransformFeedbackNV (void);
+GLAPI void APIENTRY glDrawTransformFeedbackNV (GLenum mode, GLuint id);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLBINDTRANSFORMFEEDBACKNVPROC) (GLenum target, GLuint id);
+typedef void (APIENTRYP PFNGLDELETETRANSFORMFEEDBACKSNVPROC) (GLsizei n, const GLuint *ids);
+typedef void (APIENTRYP PFNGLGENTRANSFORMFEEDBACKSNVPROC) (GLsizei n, GLuint *ids);
+typedef GLboolean (APIENTRYP PFNGLISTRANSFORMFEEDBACKNVPROC) (GLuint id);
+typedef void (APIENTRYP PFNGLPAUSETRANSFORMFEEDBACKNVPROC) (void);
+typedef void (APIENTRYP PFNGLRESUMETRANSFORMFEEDBACKNVPROC) (void);
+typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKNVPROC) (GLenum mode, GLuint id);
+#endif
+
+#ifndef GL_ATI_meminfo
+#define GL_ATI_meminfo 1
+#endif
+
+#ifndef GL_AMD_performance_monitor
+#define GL_AMD_performance_monitor 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
+GLAPI void APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
+GLAPI void APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
+GLAPI void APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
+GLAPI void APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
+GLAPI void APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors);
+GLAPI void APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors);
+GLAPI void APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *counterList);
+GLAPI void APIENTRY glBeginPerfMonitorAMD (GLuint monitor);
+GLAPI void APIENTRY glEndPerfMonitorAMD (GLuint monitor);
+GLAPI void APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
+typedef void (APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
+typedef void (APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
+typedef void (APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
+typedef void (APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
+typedef void (APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
+typedef void (APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
+typedef void (APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *counterList);
+typedef void (APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);
+typedef void (APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);
+typedef void (APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
+#endif
+
+#ifndef GL_AMD_texture_texture4
+#define GL_AMD_texture_texture4 1
+#endif
+
+#ifndef GL_AMD_vertex_shader_tesselator
+#define GL_AMD_vertex_shader_tesselator 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glTessellationFactorAMD (GLfloat factor);
+GLAPI void APIENTRY glTessellationModeAMD (GLenum mode);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLTESSELLATIONFACTORAMDPROC) (GLfloat factor);
+typedef void (APIENTRYP PFNGLTESSELLATIONMODEAMDPROC) (GLenum mode);
+#endif
+
+#ifndef GL_EXT_provoking_vertex
+#define GL_EXT_provoking_vertex 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glProvokingVertexEXT (GLenum mode);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLPROVOKINGVERTEXEXTPROC) (GLenum mode);
+#endif
+
+#ifndef GL_EXT_texture_snorm
+#define GL_EXT_texture_snorm 1
+#endif
+
+#ifndef GL_AMD_draw_buffers_blend
+#define GL_AMD_draw_buffers_blend 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glBlendFuncIndexedAMD (GLuint buf, GLenum src, GLenum dst);
+GLAPI void APIENTRY glBlendFuncSeparateIndexedAMD (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
+GLAPI void APIENTRY glBlendEquationIndexedAMD (GLuint buf, GLenum mode);
+GLAPI void APIENTRY glBlendEquationSeparateIndexedAMD (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLBLENDFUNCINDEXEDAMDPROC) (GLuint buf, GLenum src, GLenum dst);
+typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
+typedef void (APIENTRYP PFNGLBLENDEQUATIONINDEXEDAMDPROC) (GLuint buf, GLenum mode);
+typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
+#endif
+
+#ifndef GL_APPLE_texture_range
+#define GL_APPLE_texture_range 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glTextureRangeAPPLE (GLenum target, GLsizei length, const GLvoid *pointer);
+GLAPI void APIENTRY glGetTexParameterPointervAPPLE (GLenum target, GLenum pname, GLvoid* *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLTEXTURERANGEAPPLEPROC) (GLenum target, GLsizei length, const GLvoid *pointer);
+typedef void (APIENTRYP PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC) (GLenum target, GLenum pname, GLvoid* *params);
+#endif
+
+#ifndef GL_APPLE_float_pixels
+#define GL_APPLE_float_pixels 1
+#endif
+
+#ifndef GL_APPLE_vertex_program_evaluators
+#define GL_APPLE_vertex_program_evaluators 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glEnableVertexAttribAPPLE (GLuint index, GLenum pname);
+GLAPI void APIENTRY glDisableVertexAttribAPPLE (GLuint index, GLenum pname);
+GLAPI GLboolean APIENTRY glIsVertexAttribEnabledAPPLE (GLuint index, GLenum pname);
+GLAPI void APIENTRY glMapVertexAttrib1dAPPLE (GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);
+GLAPI void APIENTRY glMapVertexAttrib1fAPPLE (GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);
+GLAPI void APIENTRY glMapVertexAttrib2dAPPLE (GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);
+GLAPI void APIENTRY glMapVertexAttrib2fAPPLE (GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLENABLEVERTEXATTRIBAPPLEPROC) (GLuint index, GLenum pname);
+typedef void (APIENTRYP PFNGLDISABLEVERTEXATTRIBAPPLEPROC) (GLuint index, GLenum pname);
+typedef GLboolean (APIENTRYP PFNGLISVERTEXATTRIBENABLEDAPPLEPROC) (GLuint index, GLenum pname);
+typedef void (APIENTRYP PFNGLMAPVERTEXATTRIB1DAPPLEPROC) (GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);
+typedef void (APIENTRYP PFNGLMAPVERTEXATTRIB1FAPPLEPROC) (GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);
+typedef void (APIENTRYP PFNGLMAPVERTEXATTRIB2DAPPLEPROC) (GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);
+typedef void (APIENTRYP PFNGLMAPVERTEXATTRIB2FAPPLEPROC) (GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);
+#endif
+
+#ifndef GL_APPLE_aux_depth_stencil
+#define GL_APPLE_aux_depth_stencil 1
+#endif
+
+#ifndef GL_APPLE_object_purgeable
+#define GL_APPLE_object_purgeable 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI GLenum APIENTRY glObjectPurgeableAPPLE (GLenum objectType, GLuint name, GLenum option);
+GLAPI GLenum APIENTRY glObjectUnpurgeableAPPLE (GLenum objectType, GLuint name, GLenum option);
+GLAPI void APIENTRY glGetObjectParameterivAPPLE (GLenum objectType, GLuint name, GLenum pname, GLint *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef GLenum (APIENTRYP PFNGLOBJECTPURGEABLEAPPLEPROC) (GLenum objectType, GLuint name, GLenum option);
+typedef GLenum (APIENTRYP PFNGLOBJECTUNPURGEABLEAPPLEPROC) (GLenum objectType, GLuint name, GLenum option);
+typedef void (APIENTRYP PFNGLGETOBJECTPARAMETERIVAPPLEPROC) (GLenum objectType, GLuint name, GLenum pname, GLint *params);
+#endif
+
+#ifndef GL_APPLE_row_bytes
+#define GL_APPLE_row_bytes 1
+#endif
+
+#ifndef GL_APPLE_rgb_422
+#define GL_APPLE_rgb_422 1
+#endif
+
+#ifndef GL_NV_video_capture
+#define GL_NV_video_capture 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glBeginVideoCaptureNV (GLuint video_capture_slot);
+GLAPI void APIENTRY glBindVideoCaptureStreamBufferNV (GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLintptrARB offset);
+GLAPI void APIENTRY glBindVideoCaptureStreamTextureNV (GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLenum target, GLuint texture);
+GLAPI void APIENTRY glEndVideoCaptureNV (GLuint video_capture_slot);
+GLAPI void APIENTRY glGetVideoCaptureivNV (GLuint video_capture_slot, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetVideoCaptureStreamivNV (GLuint video_capture_slot, GLuint stream, GLenum pname, GLint *params);
+GLAPI void APIENTRY glGetVideoCaptureStreamfvNV (GLuint video_capture_slot, GLuint stream, GLenum pname, GLfloat *params);
+GLAPI void APIENTRY glGetVideoCaptureStreamdvNV (GLuint video_capture_slot, GLuint stream, GLenum pname, GLdouble *params);
+GLAPI GLenum APIENTRY glVideoCaptureNV (GLuint video_capture_slot, GLuint *sequence_num, GLuint64EXT *capture_time);
+GLAPI void APIENTRY glVideoCaptureStreamParameterivNV (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLint *params);
+GLAPI void APIENTRY glVideoCaptureStreamParameterfvNV (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLfloat *params);
+GLAPI void APIENTRY glVideoCaptureStreamParameterdvNV (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLdouble *params);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLBEGINVIDEOCAPTURENVPROC) (GLuint video_capture_slot);
+typedef void (APIENTRYP PFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLintptrARB offset);
+typedef void (APIENTRYP PFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC) (GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLenum target, GLuint texture);
+typedef void (APIENTRYP PFNGLENDVIDEOCAPTURENVPROC) (GLuint video_capture_slot);
+typedef void (APIENTRYP PFNGLGETVIDEOCAPTUREIVNVPROC) (GLuint video_capture_slot, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETVIDEOCAPTURESTREAMIVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGETVIDEOCAPTURESTREAMFVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, GLfloat *params);
+typedef void (APIENTRYP PFNGLGETVIDEOCAPTURESTREAMDVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, GLdouble *params);
+typedef GLenum (APIENTRYP PFNGLVIDEOCAPTURENVPROC) (GLuint video_capture_slot, GLuint *sequence_num, GLuint64EXT *capture_time);
+typedef void (APIENTRYP PFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLint *params);
+typedef void (APIENTRYP PFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLfloat *params);
+typedef void (APIENTRYP PFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLdouble *params);
+#endif
+
+#ifndef GL_NV_copy_image
+#define GL_NV_copy_image 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glCopyImageSubDataNV (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLCOPYIMAGESUBDATANVPROC) (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
+#endif
+
+#ifndef GL_EXT_separate_shader_objects
+#define GL_EXT_separate_shader_objects 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glUseShaderProgramEXT (GLenum type, GLuint program);
+GLAPI void APIENTRY glActiveProgramEXT (GLuint program);
+GLAPI GLuint APIENTRY glCreateShaderProgramEXT (GLenum type, const GLchar *string);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLUSESHADERPROGRAMEXTPROC) (GLenum type, GLuint program);
+typedef void (APIENTRYP PFNGLACTIVEPROGRAMEXTPROC) (GLuint program);
+typedef GLuint (APIENTRYP PFNGLCREATESHADERPROGRAMEXTPROC) (GLenum type, const GLchar *string);
+#endif
+
+#ifndef GL_NV_parameter_buffer_object2
+#define GL_NV_parameter_buffer_object2 1
+#endif
+
+#ifndef GL_NV_shader_buffer_load
+#define GL_NV_shader_buffer_load 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glMakeBufferResidentNV (GLenum target, GLenum access);
+GLAPI void APIENTRY glMakeBufferNonResidentNV (GLenum target);
+GLAPI GLboolean APIENTRY glIsBufferResidentNV (GLenum target);
+GLAPI void APIENTRY glMakeNamedBufferResidentNV (GLuint buffer, GLenum access);
+GLAPI void APIENTRY glMakeNamedBufferNonResidentNV (GLuint buffer);
+GLAPI GLboolean APIENTRY glIsNamedBufferResidentNV (GLuint buffer);
+GLAPI void APIENTRY glGetBufferParameterui64vNV (GLenum target, GLenum pname, GLuint64EXT *params);
+GLAPI void APIENTRY glGetNamedBufferParameterui64vNV (GLuint buffer, GLenum pname, GLuint64EXT *params);
+GLAPI void APIENTRY glGetIntegerui64vNV (GLenum value, GLuint64EXT *result);
+GLAPI void APIENTRY glUniformui64NV (GLint location, GLuint64EXT value);
+GLAPI void APIENTRY glUniformui64vNV (GLint location, GLsizei count, const GLuint64EXT *value);
+GLAPI void APIENTRY glGetUniformui64vNV (GLuint program, GLint location, GLuint64EXT *params);
+GLAPI void APIENTRY glProgramUniformui64NV (GLuint program, GLint location, GLuint64EXT value);
+GLAPI void APIENTRY glProgramUniformui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLMAKEBUFFERRESIDENTNVPROC) (GLenum target, GLenum access);
+typedef void (APIENTRYP PFNGLMAKEBUFFERNONRESIDENTNVPROC) (GLenum target);
+typedef GLboolean (APIENTRYP PFNGLISBUFFERRESIDENTNVPROC) (GLenum target);
+typedef void (APIENTRYP PFNGLMAKENAMEDBUFFERRESIDENTNVPROC) (GLuint buffer, GLenum access);
+typedef void (APIENTRYP PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC) (GLuint buffer);
+typedef GLboolean (APIENTRYP PFNGLISNAMEDBUFFERRESIDENTNVPROC) (GLuint buffer);
+typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERUI64VNVPROC) (GLenum target, GLenum pname, GLuint64EXT *params);
+typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC) (GLuint buffer, GLenum pname, GLuint64EXT *params);
+typedef void (APIENTRYP PFNGLGETINTEGERUI64VNVPROC) (GLenum value, GLuint64EXT *result);
+typedef void (APIENTRYP PFNGLUNIFORMUI64NVPROC) (GLint location, GLuint64EXT value);
+typedef void (APIENTRYP PFNGLUNIFORMUI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);
+typedef void (APIENTRYP PFNGLGETUNIFORMUI64VNVPROC) (GLuint program, GLint location, GLuint64EXT *params);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMUI64NVPROC) (GLuint program, GLint location, GLuint64EXT value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMUI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
+#endif
+
+#ifndef GL_NV_vertex_buffer_unified_memory
+#define GL_NV_vertex_buffer_unified_memory 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glBufferAddressRangeNV (GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length);
+GLAPI void APIENTRY glVertexFormatNV (GLint size, GLenum type, GLsizei stride);
+GLAPI void APIENTRY glNormalFormatNV (GLenum type, GLsizei stride);
+GLAPI void APIENTRY glColorFormatNV (GLint size, GLenum type, GLsizei stride);
+GLAPI void APIENTRY glIndexFormatNV (GLenum type, GLsizei stride);
+GLAPI void APIENTRY glTexCoordFormatNV (GLint size, GLenum type, GLsizei stride);
+GLAPI void APIENTRY glEdgeFlagFormatNV (GLsizei stride);
+GLAPI void APIENTRY glSecondaryColorFormatNV (GLint size, GLenum type, GLsizei stride);
+GLAPI void APIENTRY glFogCoordFormatNV (GLenum type, GLsizei stride);
+GLAPI void APIENTRY glVertexAttribFormatNV (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride);
+GLAPI void APIENTRY glVertexAttribIFormatNV (GLuint index, GLint size, GLenum type, GLsizei stride);
+GLAPI void APIENTRY glGetIntegerui64i_vNV (GLenum value, GLuint index, GLuint64EXT *result);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLBUFFERADDRESSRANGENVPROC) (GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length);
+typedef void (APIENTRYP PFNGLVERTEXFORMATNVPROC) (GLint size, GLenum type, GLsizei stride);
+typedef void (APIENTRYP PFNGLNORMALFORMATNVPROC) (GLenum type, GLsizei stride);
+typedef void (APIENTRYP PFNGLCOLORFORMATNVPROC) (GLint size, GLenum type, GLsizei stride);
+typedef void (APIENTRYP PFNGLINDEXFORMATNVPROC) (GLenum type, GLsizei stride);
+typedef void (APIENTRYP PFNGLTEXCOORDFORMATNVPROC) (GLint size, GLenum type, GLsizei stride);
+typedef void (APIENTRYP PFNGLEDGEFLAGFORMATNVPROC) (GLsizei stride);
+typedef void (APIENTRYP PFNGLSECONDARYCOLORFORMATNVPROC) (GLint size, GLenum type, GLsizei stride);
+typedef void (APIENTRYP PFNGLFOGCOORDFORMATNVPROC) (GLenum type, GLsizei stride);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBFORMATNVPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBIFORMATNVPROC) (GLuint index, GLint size, GLenum type, GLsizei stride);
+typedef void (APIENTRYP PFNGLGETINTEGERUI64I_VNVPROC) (GLenum value, GLuint index, GLuint64EXT *result);
+#endif
+
+#ifndef GL_NV_texture_barrier
+#define GL_NV_texture_barrier 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glTextureBarrierNV (void);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLTEXTUREBARRIERNVPROC) (void);
+#endif
+
+#ifndef GL_AMD_shader_stencil_export
+#define GL_AMD_shader_stencil_export 1
+#endif
+
+#ifndef GL_AMD_seamless_cubemap_per_texture
+#define GL_AMD_seamless_cubemap_per_texture 1
+#endif
+
+#ifndef GL_AMD_conservative_depth
+#define GL_AMD_conservative_depth 1
+#endif
+
+#ifndef GL_EXT_shader_image_load_store
+#define GL_EXT_shader_image_load_store 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glBindImageTextureEXT (GLuint index, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLint format);
+GLAPI void APIENTRY glMemoryBarrierEXT (GLbitfield barriers);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLBINDIMAGETEXTUREEXTPROC) (GLuint index, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLint format);
+typedef void (APIENTRYP PFNGLMEMORYBARRIEREXTPROC) (GLbitfield barriers);
+#endif
+
+#ifndef GL_EXT_vertex_attrib_64bit
+#define GL_EXT_vertex_attrib_64bit 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glVertexAttribL1dEXT (GLuint index, GLdouble x);
+GLAPI void APIENTRY glVertexAttribL2dEXT (GLuint index, GLdouble x, GLdouble y);
+GLAPI void APIENTRY glVertexAttribL3dEXT (GLuint index, GLdouble x, GLdouble y, GLdouble z);
+GLAPI void APIENTRY glVertexAttribL4dEXT (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+GLAPI void APIENTRY glVertexAttribL1dvEXT (GLuint index, const GLdouble *v);
+GLAPI void APIENTRY glVertexAttribL2dvEXT (GLuint index, const GLdouble *v);
+GLAPI void APIENTRY glVertexAttribL3dvEXT (GLuint index, const GLdouble *v);
+GLAPI void APIENTRY glVertexAttribL4dvEXT (GLuint index, const GLdouble *v);
+GLAPI void APIENTRY glVertexAttribLPointerEXT (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+GLAPI void APIENTRY glGetVertexAttribLdvEXT (GLuint index, GLenum pname, GLdouble *params);
+GLAPI void APIENTRY glVertexArrayVertexAttribLOffsetEXT (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL1DEXTPROC) (GLuint index, GLdouble x);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL2DEXTPROC) (GLuint index, GLdouble x, GLdouble y);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL3DEXTPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL4DEXTPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL1DVEXTPROC) (GLuint index, const GLdouble *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL2DVEXTPROC) (GLuint index, const GLdouble *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL3DVEXTPROC) (GLuint index, const GLdouble *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL4DVEXTPROC) (GLuint index, const GLdouble *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBLPOINTEREXTPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBLDVEXTPROC) (GLuint index, GLenum pname, GLdouble *params);
+typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset);
+#endif
+
+#ifndef GL_NV_gpu_program5
+#define GL_NV_gpu_program5 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glProgramSubroutineParametersuivNV (GLenum target, GLsizei count, const GLuint *params);
+GLAPI void APIENTRY glGetProgramSubroutineParameteruivNV (GLenum target, GLuint index, GLuint *param);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLPROGRAMSUBROUTINEPARAMETERSUIVNVPROC) (GLenum target, GLsizei count, const GLuint *params);
+typedef void (APIENTRYP PFNGLGETPROGRAMSUBROUTINEPARAMETERUIVNVPROC) (GLenum target, GLuint index, GLuint *param);
+#endif
+
+#ifndef GL_NV_gpu_shader5
+#define GL_NV_gpu_shader5 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glUniform1i64NV (GLint location, GLint64EXT x);
+GLAPI void APIENTRY glUniform2i64NV (GLint location, GLint64EXT x, GLint64EXT y);
+GLAPI void APIENTRY glUniform3i64NV (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);
+GLAPI void APIENTRY glUniform4i64NV (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
+GLAPI void APIENTRY glUniform1i64vNV (GLint location, GLsizei count, const GLint64EXT *value);
+GLAPI void APIENTRY glUniform2i64vNV (GLint location, GLsizei count, const GLint64EXT *value);
+GLAPI void APIENTRY glUniform3i64vNV (GLint location, GLsizei count, const GLint64EXT *value);
+GLAPI void APIENTRY glUniform4i64vNV (GLint location, GLsizei count, const GLint64EXT *value);
+GLAPI void APIENTRY glUniform1ui64NV (GLint location, GLuint64EXT x);
+GLAPI void APIENTRY glUniform2ui64NV (GLint location, GLuint64EXT x, GLuint64EXT y);
+GLAPI void APIENTRY glUniform3ui64NV (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
+GLAPI void APIENTRY glUniform4ui64NV (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
+GLAPI void APIENTRY glUniform1ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value);
+GLAPI void APIENTRY glUniform2ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value);
+GLAPI void APIENTRY glUniform3ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value);
+GLAPI void APIENTRY glUniform4ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value);
+GLAPI void APIENTRY glGetUniformi64vNV (GLuint program, GLint location, GLint64EXT *params);
+GLAPI void APIENTRY glProgramUniform1i64NV (GLuint program, GLint location, GLint64EXT x);
+GLAPI void APIENTRY glProgramUniform2i64NV (GLuint program, GLint location, GLint64EXT x, GLint64EXT y);
+GLAPI void APIENTRY glProgramUniform3i64NV (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);
+GLAPI void APIENTRY glProgramUniform4i64NV (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
+GLAPI void APIENTRY glProgramUniform1i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
+GLAPI void APIENTRY glProgramUniform2i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
+GLAPI void APIENTRY glProgramUniform3i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
+GLAPI void APIENTRY glProgramUniform4i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
+GLAPI void APIENTRY glProgramUniform1ui64NV (GLuint program, GLint location, GLuint64EXT x);
+GLAPI void APIENTRY glProgramUniform2ui64NV (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y);
+GLAPI void APIENTRY glProgramUniform3ui64NV (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
+GLAPI void APIENTRY glProgramUniform4ui64NV (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
+GLAPI void APIENTRY glProgramUniform1ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
+GLAPI void APIENTRY glProgramUniform2ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
+GLAPI void APIENTRY glProgramUniform3ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
+GLAPI void APIENTRY glProgramUniform4ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLUNIFORM1I64NVPROC) (GLint location, GLint64EXT x);
+typedef void (APIENTRYP PFNGLUNIFORM2I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y);
+typedef void (APIENTRYP PFNGLUNIFORM3I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);
+typedef void (APIENTRYP PFNGLUNIFORM4I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
+typedef void (APIENTRYP PFNGLUNIFORM1I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value);
+typedef void (APIENTRYP PFNGLUNIFORM2I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value);
+typedef void (APIENTRYP PFNGLUNIFORM3I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value);
+typedef void (APIENTRYP PFNGLUNIFORM4I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value);
+typedef void (APIENTRYP PFNGLUNIFORM1UI64NVPROC) (GLint location, GLuint64EXT x);
+typedef void (APIENTRYP PFNGLUNIFORM2UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y);
+typedef void (APIENTRYP PFNGLUNIFORM3UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
+typedef void (APIENTRYP PFNGLUNIFORM4UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
+typedef void (APIENTRYP PFNGLUNIFORM1UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);
+typedef void (APIENTRYP PFNGLUNIFORM2UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);
+typedef void (APIENTRYP PFNGLUNIFORM3UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);
+typedef void (APIENTRYP PFNGLUNIFORM4UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);
+typedef void (APIENTRYP PFNGLGETUNIFORMI64VNVPROC) (GLuint program, GLint location, GLint64EXT *params);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1I64NVPROC) (GLuint program, GLint location, GLint64EXT x);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
+#endif
+
+#ifndef GL_NV_shader_buffer_store
+#define GL_NV_shader_buffer_store 1
+#endif
+
+#ifndef GL_NV_tessellation_program5
+#define GL_NV_tessellation_program5 1
+#endif
+
+#ifndef GL_NV_vertex_attrib_integer_64bit
+#define GL_NV_vertex_attrib_integer_64bit 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glVertexAttribL1i64NV (GLuint index, GLint64EXT x);
+GLAPI void APIENTRY glVertexAttribL2i64NV (GLuint index, GLint64EXT x, GLint64EXT y);
+GLAPI void APIENTRY glVertexAttribL3i64NV (GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z);
+GLAPI void APIENTRY glVertexAttribL4i64NV (GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
+GLAPI void APIENTRY glVertexAttribL1i64vNV (GLuint index, const GLint64EXT *v);
+GLAPI void APIENTRY glVertexAttribL2i64vNV (GLuint index, const GLint64EXT *v);
+GLAPI void APIENTRY glVertexAttribL3i64vNV (GLuint index, const GLint64EXT *v);
+GLAPI void APIENTRY glVertexAttribL4i64vNV (GLuint index, const GLint64EXT *v);
+GLAPI void APIENTRY glVertexAttribL1ui64NV (GLuint index, GLuint64EXT x);
+GLAPI void APIENTRY glVertexAttribL2ui64NV (GLuint index, GLuint64EXT x, GLuint64EXT y);
+GLAPI void APIENTRY glVertexAttribL3ui64NV (GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
+GLAPI void APIENTRY glVertexAttribL4ui64NV (GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
+GLAPI void APIENTRY glVertexAttribL1ui64vNV (GLuint index, const GLuint64EXT *v);
+GLAPI void APIENTRY glVertexAttribL2ui64vNV (GLuint index, const GLuint64EXT *v);
+GLAPI void APIENTRY glVertexAttribL3ui64vNV (GLuint index, const GLuint64EXT *v);
+GLAPI void APIENTRY glVertexAttribL4ui64vNV (GLuint index, const GLuint64EXT *v);
+GLAPI void APIENTRY glGetVertexAttribLi64vNV (GLuint index, GLenum pname, GLint64EXT *params);
+GLAPI void APIENTRY glGetVertexAttribLui64vNV (GLuint index, GLenum pname, GLuint64EXT *params);
+GLAPI void APIENTRY glVertexAttribLFormatNV (GLuint index, GLint size, GLenum type, GLsizei stride);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL1I64NVPROC) (GLuint index, GLint64EXT x);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL2I64NVPROC) (GLuint index, GLint64EXT x, GLint64EXT y);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL3I64NVPROC) (GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL4I64NVPROC) (GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL1I64VNVPROC) (GLuint index, const GLint64EXT *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL2I64VNVPROC) (GLuint index, const GLint64EXT *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL3I64VNVPROC) (GLuint index, const GLint64EXT *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL4I64VNVPROC) (GLuint index, const GLint64EXT *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL1UI64NVPROC) (GLuint index, GLuint64EXT x);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL2UI64NVPROC) (GLuint index, GLuint64EXT x, GLuint64EXT y);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL3UI64NVPROC) (GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL4UI64NVPROC) (GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL1UI64VNVPROC) (GLuint index, const GLuint64EXT *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL2UI64VNVPROC) (GLuint index, const GLuint64EXT *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL3UI64VNVPROC) (GLuint index, const GLuint64EXT *v);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL4UI64VNVPROC) (GLuint index, const GLuint64EXT *v);
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBLI64VNVPROC) (GLuint index, GLenum pname, GLint64EXT *params);
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBLUI64VNVPROC) (GLuint index, GLenum pname, GLuint64EXT *params);
+typedef void (APIENTRYP PFNGLVERTEXATTRIBLFORMATNVPROC) (GLuint index, GLint size, GLenum type, GLsizei stride);
+#endif
+
+#ifndef GL_NV_multisample_coverage
+#define GL_NV_multisample_coverage 1
+#endif
+
+#ifndef GL_AMD_name_gen_delete
+#define GL_AMD_name_gen_delete 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glGenNamesAMD (GLenum identifier, GLuint num, GLuint *names);
+GLAPI void APIENTRY glDeleteNamesAMD (GLenum identifier, GLuint num, const GLuint *names);
+GLAPI GLboolean APIENTRY glIsNameAMD (GLenum identifier, GLuint name);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLGENNAMESAMDPROC) (GLenum identifier, GLuint num, GLuint *names);
+typedef void (APIENTRYP PFNGLDELETENAMESAMDPROC) (GLenum identifier, GLuint num, const GLuint *names);
+typedef GLboolean (APIENTRYP PFNGLISNAMEAMDPROC) (GLenum identifier, GLuint name);
+#endif
+
+#ifndef GL_AMD_debug_output
+#define GL_AMD_debug_output 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glDebugMessageEnableAMD (GLenum category, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
+GLAPI void APIENTRY glDebugMessageInsertAMD (GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar *buf);
+GLAPI void APIENTRY glDebugMessageCallbackAMD (GLDEBUGPROCAMD callback, GLvoid *userParam);
+GLAPI GLuint APIENTRY glGetDebugMessageLogAMD (GLuint count, GLsizei bufsize, GLenum *categories, GLuint *severities, GLuint *ids, GLsizei *lengths, GLchar *message);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLDEBUGMESSAGEENABLEAMDPROC) (GLenum category, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
+typedef void (APIENTRYP PFNGLDEBUGMESSAGEINSERTAMDPROC) (GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar *buf);
+typedef void (APIENTRYP PFNGLDEBUGMESSAGECALLBACKAMDPROC) (GLDEBUGPROCAMD callback, GLvoid *userParam);
+typedef GLuint (APIENTRYP PFNGLGETDEBUGMESSAGELOGAMDPROC) (GLuint count, GLsizei bufsize, GLenum *categories, GLuint *severities, GLuint *ids, GLsizei *lengths, GLchar *message);
+#endif
+
+#ifndef GL_NV_vdpau_interop
+#define GL_NV_vdpau_interop 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glVDPAUInitNV (const GLvoid *vdpDevice, const GLvoid *getProcAddress);
+GLAPI void APIENTRY glVDPAUFiniNV (void);
+GLAPI GLvdpauSurfaceNV APIENTRY glVDPAURegisterVideoSurfaceNV (const GLvoid *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);
+GLAPI GLvdpauSurfaceNV APIENTRY glVDPAURegisterOutputSurfaceNV (GLvoid *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);
+GLAPI void APIENTRY glVDPAUIsSurfaceNV (GLvdpauSurfaceNV surface);
+GLAPI void APIENTRY glVDPAUUnregisterSurfaceNV (GLvdpauSurfaceNV surface);
+GLAPI void APIENTRY glVDPAUGetSurfaceivNV (GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
+GLAPI void APIENTRY glVDPAUSurfaceAccessNV (GLvdpauSurfaceNV surface, GLenum access);
+GLAPI void APIENTRY glVDPAUMapSurfacesNV (GLsizei numSurfaces, const GLvdpauSurfaceNV *surfaces);
+GLAPI void APIENTRY glVDPAUUnmapSurfacesNV (GLsizei numSurface, const GLvdpauSurfaceNV *surfaces);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLVDPAUINITNVPROC) (const GLvoid *vdpDevice, const GLvoid *getProcAddress);
+typedef void (APIENTRYP PFNGLVDPAUFININVPROC) (void);
+typedef GLvdpauSurfaceNV (APIENTRYP PFNGLVDPAUREGISTERVIDEOSURFACENVPROC) (const GLvoid *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);
+typedef GLvdpauSurfaceNV (APIENTRYP PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC) (GLvoid *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);
+typedef void (APIENTRYP PFNGLVDPAUISSURFACENVPROC) (GLvdpauSurfaceNV surface);
+typedef void (APIENTRYP PFNGLVDPAUUNREGISTERSURFACENVPROC) (GLvdpauSurfaceNV surface);
+typedef void (APIENTRYP PFNGLVDPAUGETSURFACEIVNVPROC) (GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
+typedef void (APIENTRYP PFNGLVDPAUSURFACEACCESSNVPROC) (GLvdpauSurfaceNV surface, GLenum access);
+typedef void (APIENTRYP PFNGLVDPAUMAPSURFACESNVPROC) (GLsizei numSurfaces, const GLvdpauSurfaceNV *surfaces);
+typedef void (APIENTRYP PFNGLVDPAUUNMAPSURFACESNVPROC) (GLsizei numSurface, const GLvdpauSurfaceNV *surfaces);
+#endif
+
+#ifndef GL_AMD_transform_feedback3_lines_triangles
+#define GL_AMD_transform_feedback3_lines_triangles 1
+#endif
+
+#ifndef GL_AMD_depth_clamp_separate
+#define GL_AMD_depth_clamp_separate 1
+#endif
+
+#ifndef GL_EXT_texture_sRGB_decode
+#define GL_EXT_texture_sRGB_decode 1
+#endif
+
+#ifndef GL_NV_texture_multisample
+#define GL_NV_texture_multisample 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glTexImage2DMultisampleCoverageNV (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);
+GLAPI void APIENTRY glTexImage3DMultisampleCoverageNV (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);
+GLAPI void APIENTRY glTextureImage2DMultisampleNV (GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);
+GLAPI void APIENTRY glTextureImage3DMultisampleNV (GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);
+GLAPI void APIENTRY glTextureImage2DMultisampleCoverageNV (GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);
+GLAPI void APIENTRY glTextureImage3DMultisampleCoverageNV (GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLTEXIMAGE2DMULTISAMPLECOVERAGENVPROC) (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);
+typedef void (APIENTRYP PFNGLTEXIMAGE3DMULTISAMPLECOVERAGENVPROC) (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);
+typedef void (APIENTRYP PFNGLTEXTUREIMAGE2DMULTISAMPLENVPROC) (GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);
+typedef void (APIENTRYP PFNGLTEXTUREIMAGE3DMULTISAMPLENVPROC) (GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);
+typedef void (APIENTRYP PFNGLTEXTUREIMAGE2DMULTISAMPLECOVERAGENVPROC) (GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);
+typedef void (APIENTRYP PFNGLTEXTUREIMAGE3DMULTISAMPLECOVERAGENVPROC) (GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);
+#endif
+
+#ifndef GL_AMD_blend_minmax_factor
+#define GL_AMD_blend_minmax_factor 1
+#endif
+
+#ifndef GL_AMD_sample_positions
+#define GL_AMD_sample_positions 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glSetMultisamplefvAMD (GLenum pname, GLuint index, const GLfloat *val);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLSETMULTISAMPLEFVAMDPROC) (GLenum pname, GLuint index, const GLfloat *val);
+#endif
+
+#ifndef GL_EXT_x11_sync_object
+#define GL_EXT_x11_sync_object 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI GLsync APIENTRY glImportSyncEXT (GLenum external_sync_type, GLintptr external_sync, GLbitfield flags);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef GLsync (APIENTRYP PFNGLIMPORTSYNCEXTPROC) (GLenum external_sync_type, GLintptr external_sync, GLbitfield flags);
+#endif
+
+#ifndef GL_AMD_multi_draw_indirect
+#define GL_AMD_multi_draw_indirect 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glMultiDrawArraysIndirectAMD (GLenum mode, const GLvoid *indirect, GLsizei primcount, GLsizei stride);
+GLAPI void APIENTRY glMultiDrawElementsIndirectAMD (GLenum mode, GLenum type, const GLvoid *indirect, GLsizei primcount, GLsizei stride);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTAMDPROC) (GLenum mode, const GLvoid *indirect, GLsizei primcount, GLsizei stride);
+typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC) (GLenum mode, GLenum type, const GLvoid *indirect, GLsizei primcount, GLsizei stride);
+#endif
+
+#ifndef GL_EXT_framebuffer_multisample_blit_scaled
+#define GL_EXT_framebuffer_multisample_blit_scaled 1
+#endif
+
+#ifndef GL_NV_path_rendering
+#define GL_NV_path_rendering 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI GLuint APIENTRY glGenPathsNV (GLsizei range);
+GLAPI void APIENTRY glDeletePathsNV (GLuint path, GLsizei range);
+GLAPI GLboolean APIENTRY glIsPathNV (GLuint path);
+GLAPI void APIENTRY glPathCommandsNV (GLuint path, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const GLvoid *coords);
+GLAPI void APIENTRY glPathCoordsNV (GLuint path, GLsizei numCoords, GLenum coordType, const GLvoid *coords);
+GLAPI void APIENTRY glPathSubCommandsNV (GLuint path, GLsizei commandStart, GLsizei commandsToDelete, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const GLvoid *coords);
+GLAPI void APIENTRY glPathSubCoordsNV (GLuint path, GLsizei coordStart, GLsizei numCoords, GLenum coordType, const GLvoid *coords);
+GLAPI void APIENTRY glPathStringNV (GLuint path, GLenum format, GLsizei length, const GLvoid *pathString);
+GLAPI void APIENTRY glPathGlyphsNV (GLuint firstPathName, GLenum fontTarget, const GLvoid *fontName, GLbitfield fontStyle, GLsizei numGlyphs, GLenum type, const GLvoid *charcodes, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
+GLAPI void APIENTRY glPathGlyphRangeNV (GLuint firstPathName, GLenum fontTarget, const GLvoid *fontName, GLbitfield fontStyle, GLuint firstGlyph, GLsizei numGlyphs, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
+GLAPI void APIENTRY glWeightPathsNV (GLuint resultPath, GLsizei numPaths, const GLuint *paths, const GLfloat *weights);
+GLAPI void APIENTRY glCopyPathNV (GLuint resultPath, GLuint srcPath);
+GLAPI void APIENTRY glInterpolatePathsNV (GLuint resultPath, GLuint pathA, GLuint pathB, GLfloat weight);
+GLAPI void APIENTRY glTransformPathNV (GLuint resultPath, GLuint srcPath, GLenum transformType, const GLfloat *transformValues);
+GLAPI void APIENTRY glPathParameterivNV (GLuint path, GLenum pname, const GLint *value);
+GLAPI void APIENTRY glPathParameteriNV (GLuint path, GLenum pname, GLint value);
+GLAPI void APIENTRY glPathParameterfvNV (GLuint path, GLenum pname, const GLfloat *value);
+GLAPI void APIENTRY glPathParameterfNV (GLuint path, GLenum pname, GLfloat value);
+GLAPI void APIENTRY glPathDashArrayNV (GLuint path, GLsizei dashCount, const GLfloat *dashArray);
+GLAPI void APIENTRY glPathStencilFuncNV (GLenum func, GLint ref, GLuint mask);
+GLAPI void APIENTRY glPathStencilDepthOffsetNV (GLfloat factor, GLfloat units);
+GLAPI void APIENTRY glStencilFillPathNV (GLuint path, GLenum fillMode, GLuint mask);
+GLAPI void APIENTRY glStencilStrokePathNV (GLuint path, GLint reference, GLuint mask);
+GLAPI void APIENTRY glStencilFillPathInstancedNV (GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues);
+GLAPI void APIENTRY glStencilStrokePathInstancedNV (GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues);
+GLAPI void APIENTRY glPathCoverDepthFuncNV (GLenum func);
+GLAPI void APIENTRY glPathColorGenNV (GLenum color, GLenum genMode, GLenum colorFormat, const GLfloat *coeffs);
+GLAPI void APIENTRY glPathTexGenNV (GLenum texCoordSet, GLenum genMode, GLint components, const GLfloat *coeffs);
+GLAPI void APIENTRY glPathFogGenNV (GLenum genMode);
+GLAPI void APIENTRY glCoverFillPathNV (GLuint path, GLenum coverMode);
+GLAPI void APIENTRY glCoverStrokePathNV (GLuint path, GLenum coverMode);
+GLAPI void APIENTRY glCoverFillPathInstancedNV (GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);
+GLAPI void APIENTRY glCoverStrokePathInstancedNV (GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);
+GLAPI void APIENTRY glGetPathParameterivNV (GLuint path, GLenum pname, GLint *value);
+GLAPI void APIENTRY glGetPathParameterfvNV (GLuint path, GLenum pname, GLfloat *value);
+GLAPI void APIENTRY glGetPathCommandsNV (GLuint path, GLubyte *commands);
+GLAPI void APIENTRY glGetPathCoordsNV (GLuint path, GLfloat *coords);
+GLAPI void APIENTRY glGetPathDashArrayNV (GLuint path, GLfloat *dashArray);
+GLAPI void APIENTRY glGetPathMetricsNV (GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLsizei stride, GLfloat *metrics);
+GLAPI void APIENTRY glGetPathMetricRangeNV (GLbitfield metricQueryMask, GLuint firstPathName, GLsizei numPaths, GLsizei stride, GLfloat *metrics);
+GLAPI void APIENTRY glGetPathSpacingNV (GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat *returnedSpacing);
+GLAPI void APIENTRY glGetPathColorGenivNV (GLenum color, GLenum pname, GLint *value);
+GLAPI void APIENTRY glGetPathColorGenfvNV (GLenum color, GLenum pname, GLfloat *value);
+GLAPI void APIENTRY glGetPathTexGenivNV (GLenum texCoordSet, GLenum pname, GLint *value);
+GLAPI void APIENTRY glGetPathTexGenfvNV (GLenum texCoordSet, GLenum pname, GLfloat *value);
+GLAPI GLboolean APIENTRY glIsPointInFillPathNV (GLuint path, GLuint mask, GLfloat x, GLfloat y);
+GLAPI GLboolean APIENTRY glIsPointInStrokePathNV (GLuint path, GLfloat x, GLfloat y);
+GLAPI GLfloat APIENTRY glGetPathLengthNV (GLuint path, GLsizei startSegment, GLsizei numSegments);
+GLAPI GLboolean APIENTRY glPointAlongPathNV (GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat *x, GLfloat *y, GLfloat *tangentX, GLfloat *tangentY);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef GLuint (APIENTRYP PFNGLGENPATHSNVPROC) (GLsizei range);
+typedef void (APIENTRYP PFNGLDELETEPATHSNVPROC) (GLuint path, GLsizei range);
+typedef GLboolean (APIENTRYP PFNGLISPATHNVPROC) (GLuint path);
+typedef void (APIENTRYP PFNGLPATHCOMMANDSNVPROC) (GLuint path, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const GLvoid *coords);
+typedef void (APIENTRYP PFNGLPATHCOORDSNVPROC) (GLuint path, GLsizei numCoords, GLenum coordType, const GLvoid *coords);
+typedef void (APIENTRYP PFNGLPATHSUBCOMMANDSNVPROC) (GLuint path, GLsizei commandStart, GLsizei commandsToDelete, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const GLvoid *coords);
+typedef void (APIENTRYP PFNGLPATHSUBCOORDSNVPROC) (GLuint path, GLsizei coordStart, GLsizei numCoords, GLenum coordType, const GLvoid *coords);
+typedef void (APIENTRYP PFNGLPATHSTRINGNVPROC) (GLuint path, GLenum format, GLsizei length, const GLvoid *pathString);
+typedef void (APIENTRYP PFNGLPATHGLYPHSNVPROC) (GLuint firstPathName, GLenum fontTarget, const GLvoid *fontName, GLbitfield fontStyle, GLsizei numGlyphs, GLenum type, const GLvoid *charcodes, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
+typedef void (APIENTRYP PFNGLPATHGLYPHRANGENVPROC) (GLuint firstPathName, GLenum fontTarget, const GLvoid *fontName, GLbitfield fontStyle, GLuint firstGlyph, GLsizei numGlyphs, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
+typedef void (APIENTRYP PFNGLWEIGHTPATHSNVPROC) (GLuint resultPath, GLsizei numPaths, const GLuint *paths, const GLfloat *weights);
+typedef void (APIENTRYP PFNGLCOPYPATHNVPROC) (GLuint resultPath, GLuint srcPath);
+typedef void (APIENTRYP PFNGLINTERPOLATEPATHSNVPROC) (GLuint resultPath, GLuint pathA, GLuint pathB, GLfloat weight);
+typedef void (APIENTRYP PFNGLTRANSFORMPATHNVPROC) (GLuint resultPath, GLuint srcPath, GLenum transformType, const GLfloat *transformValues);
+typedef void (APIENTRYP PFNGLPATHPARAMETERIVNVPROC) (GLuint path, GLenum pname, const GLint *value);
+typedef void (APIENTRYP PFNGLPATHPARAMETERINVPROC) (GLuint path, GLenum pname, GLint value);
+typedef void (APIENTRYP PFNGLPATHPARAMETERFVNVPROC) (GLuint path, GLenum pname, const GLfloat *value);
+typedef void (APIENTRYP PFNGLPATHPARAMETERFNVPROC) (GLuint path, GLenum pname, GLfloat value);
+typedef void (APIENTRYP PFNGLPATHDASHARRAYNVPROC) (GLuint path, GLsizei dashCount, const GLfloat *dashArray);
+typedef void (APIENTRYP PFNGLPATHSTENCILFUNCNVPROC) (GLenum func, GLint ref, GLuint mask);
+typedef void (APIENTRYP PFNGLPATHSTENCILDEPTHOFFSETNVPROC) (GLfloat factor, GLfloat units);
+typedef void (APIENTRYP PFNGLSTENCILFILLPATHNVPROC) (GLuint path, GLenum fillMode, GLuint mask);
+typedef void (APIENTRYP PFNGLSTENCILSTROKEPATHNVPROC) (GLuint path, GLint reference, GLuint mask);
+typedef void (APIENTRYP PFNGLSTENCILFILLPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues);
+typedef void (APIENTRYP PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues);
+typedef void (APIENTRYP PFNGLPATHCOVERDEPTHFUNCNVPROC) (GLenum func);
+typedef void (APIENTRYP PFNGLPATHCOLORGENNVPROC) (GLenum color, GLenum genMode, GLenum colorFormat, const GLfloat *coeffs);
+typedef void (APIENTRYP PFNGLPATHTEXGENNVPROC) (GLenum texCoordSet, GLenum genMode, GLint components, const GLfloat *coeffs);
+typedef void (APIENTRYP PFNGLPATHFOGGENNVPROC) (GLenum genMode);
+typedef void (APIENTRYP PFNGLCOVERFILLPATHNVPROC) (GLuint path, GLenum coverMode);
+typedef void (APIENTRYP PFNGLCOVERSTROKEPATHNVPROC) (GLuint path, GLenum coverMode);
+typedef void (APIENTRYP PFNGLCOVERFILLPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);
+typedef void (APIENTRYP PFNGLCOVERSTROKEPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);
+typedef void (APIENTRYP PFNGLGETPATHPARAMETERIVNVPROC) (GLuint path, GLenum pname, GLint *value);
+typedef void (APIENTRYP PFNGLGETPATHPARAMETERFVNVPROC) (GLuint path, GLenum pname, GLfloat *value);
+typedef void (APIENTRYP PFNGLGETPATHCOMMANDSNVPROC) (GLuint path, GLubyte *commands);
+typedef void (APIENTRYP PFNGLGETPATHCOORDSNVPROC) (GLuint path, GLfloat *coords);
+typedef void (APIENTRYP PFNGLGETPATHDASHARRAYNVPROC) (GLuint path, GLfloat *dashArray);
+typedef void (APIENTRYP PFNGLGETPATHMETRICSNVPROC) (GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLsizei stride, GLfloat *metrics);
+typedef void (APIENTRYP PFNGLGETPATHMETRICRANGENVPROC) (GLbitfield metricQueryMask, GLuint firstPathName, GLsizei numPaths, GLsizei stride, GLfloat *metrics);
+typedef void (APIENTRYP PFNGLGETPATHSPACINGNVPROC) (GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const GLvoid *paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat *returnedSpacing);
+typedef void (APIENTRYP PFNGLGETPATHCOLORGENIVNVPROC) (GLenum color, GLenum pname, GLint *value);
+typedef void (APIENTRYP PFNGLGETPATHCOLORGENFVNVPROC) (GLenum color, GLenum pname, GLfloat *value);
+typedef void (APIENTRYP PFNGLGETPATHTEXGENIVNVPROC) (GLenum texCoordSet, GLenum pname, GLint *value);
+typedef void (APIENTRYP PFNGLGETPATHTEXGENFVNVPROC) (GLenum texCoordSet, GLenum pname, GLfloat *value);
+typedef GLboolean (APIENTRYP PFNGLISPOINTINFILLPATHNVPROC) (GLuint path, GLuint mask, GLfloat x, GLfloat y);
+typedef GLboolean (APIENTRYP PFNGLISPOINTINSTROKEPATHNVPROC) (GLuint path, GLfloat x, GLfloat y);
+typedef GLfloat (APIENTRYP PFNGLGETPATHLENGTHNVPROC) (GLuint path, GLsizei startSegment, GLsizei numSegments);
+typedef GLboolean (APIENTRYP PFNGLPOINTALONGPATHNVPROC) (GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat *x, GLfloat *y, GLfloat *tangentX, GLfloat *tangentY);
+#endif
+
+#ifndef GL_AMD_pinned_memory
+#define GL_AMD_pinned_memory 1
+#endif
+
+#ifndef GL_AMD_stencil_operation_extended
+#define GL_AMD_stencil_operation_extended 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glStencilOpValueAMD (GLenum face, GLuint value);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLSTENCILOPVALUEAMDPROC) (GLenum face, GLuint value);
+#endif
+
+#ifndef GL_AMD_vertex_shader_viewport_index
+#define GL_AMD_vertex_shader_viewport_index 1
+#endif
+
+#ifndef GL_AMD_vertex_shader_layer
+#define GL_AMD_vertex_shader_layer 1
+#endif
+
+#ifndef GL_NV_bindless_texture
+#define GL_NV_bindless_texture 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI GLuint64 APIENTRY glGetTextureHandleNV (GLuint texture);
+GLAPI GLuint64 APIENTRY glGetTextureSamplerHandleNV (GLuint texture, GLuint sampler);
+GLAPI void APIENTRY glMakeTextureHandleResidentNV (GLuint64 handle);
+GLAPI void APIENTRY glMakeTextureHandleNonResidentNV (GLuint64 handle);
+GLAPI GLuint64 APIENTRY glGetImageHandleNV (GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format);
+GLAPI void APIENTRY glMakeImageHandleResidentNV (GLuint64 handle, GLenum access);
+GLAPI void APIENTRY glMakeImageHandleNonResidentNV (GLuint64 handle);
+GLAPI void APIENTRY glUniformHandleui64NV (GLint location, GLuint64 value);
+GLAPI void APIENTRY glUniformHandleui64vNV (GLint location, GLsizei count, const GLuint64 *value);
+GLAPI void APIENTRY glProgramUniformHandleui64NV (GLuint program, GLint location, GLuint64 value);
+GLAPI void APIENTRY glProgramUniformHandleui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64 *values);
+GLAPI GLboolean APIENTRY glIsTextureHandleResidentNV (GLuint64 handle);
+GLAPI GLboolean APIENTRY glIsImageHandleResidentNV (GLuint64 handle);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef GLuint64 (APIENTRYP PFNGLGETTEXTUREHANDLENVPROC) (GLuint texture);
+typedef GLuint64 (APIENTRYP PFNGLGETTEXTURESAMPLERHANDLENVPROC) (GLuint texture, GLuint sampler);
+typedef void (APIENTRYP PFNGLMAKETEXTUREHANDLERESIDENTNVPROC) (GLuint64 handle);
+typedef void (APIENTRYP PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC) (GLuint64 handle);
+typedef GLuint64 (APIENTRYP PFNGLGETIMAGEHANDLENVPROC) (GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format);
+typedef void (APIENTRYP PFNGLMAKEIMAGEHANDLERESIDENTNVPROC) (GLuint64 handle, GLenum access);
+typedef void (APIENTRYP PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC) (GLuint64 handle);
+typedef void (APIENTRYP PFNGLUNIFORMHANDLEUI64NVPROC) (GLint location, GLuint64 value);
+typedef void (APIENTRYP PFNGLUNIFORMHANDLEUI64VNVPROC) (GLint location, GLsizei count, const GLuint64 *value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC) (GLuint program, GLint location, GLuint64 value);
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64 *values);
+typedef GLboolean (APIENTRYP PFNGLISTEXTUREHANDLERESIDENTNVPROC) (GLuint64 handle);
+typedef GLboolean (APIENTRYP PFNGLISIMAGEHANDLERESIDENTNVPROC) (GLuint64 handle);
+#endif
+
+#ifndef GL_NV_shader_atomic_float
+#define GL_NV_shader_atomic_float 1
+#endif
+
+#ifndef GL_AMD_query_buffer_object
+#define GL_AMD_query_buffer_object 1
+#endif
+
+#ifndef GL_AMD_sparse_texture
+#define GL_AMD_sparse_texture 1
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glTexStorageSparseAMD (GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags);
+GLAPI void APIENTRY glTextureStorageSparseAMD (GLuint texture, GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags);
+#endif /* GL_GLEXT_PROTOTYPES */
+typedef void (APIENTRYP PFNGLTEXSTORAGESPARSEAMDPROC) (GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags);
+typedef void (APIENTRYP PFNGLTEXTURESTORAGESPARSEAMDPROC) (GLuint texture, GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags);
+#endif
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/stream-servers/apigen-codec-common/GL/glx.h b/stream-servers/apigen-codec-common/GL/glx.h
new file mode 100644
index 0000000..acbd9e2
--- /dev/null
+++ b/stream-servers/apigen-codec-common/GL/glx.h
@@ -0,0 +1,513 @@
+/*
+ * Mesa 3-D graphics library
+ * Version: 6.5
+ *
+ * Copyright (C) 1999-2006 Brian Paul All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+
+#ifndef GLX_H
+#define GLX_H
+
+
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+#include <GL/gl.h>
+
+
+#if defined(USE_MGL_NAMESPACE)
+#include "glx_mangle.h"
+#endif
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#define GLX_VERSION_1_1 1
+#define GLX_VERSION_1_2 1
+#define GLX_VERSION_1_3 1
+#define GLX_VERSION_1_4 1
+
+#define GLX_EXTENSION_NAME "GLX"
+
+
+
+/*
+ * Tokens for glXChooseVisual and glXGetConfig:
+ */
+#define GLX_USE_GL 1
+#define GLX_BUFFER_SIZE 2
+#define GLX_LEVEL 3
+#define GLX_RGBA 4
+#define GLX_DOUBLEBUFFER 5
+#define GLX_STEREO 6
+#define GLX_AUX_BUFFERS 7
+#define GLX_RED_SIZE 8
+#define GLX_GREEN_SIZE 9
+#define GLX_BLUE_SIZE 10
+#define GLX_ALPHA_SIZE 11
+#define GLX_DEPTH_SIZE 12
+#define GLX_STENCIL_SIZE 13
+#define GLX_ACCUM_RED_SIZE 14
+#define GLX_ACCUM_GREEN_SIZE 15
+#define GLX_ACCUM_BLUE_SIZE 16
+#define GLX_ACCUM_ALPHA_SIZE 17
+
+
+/*
+ * Error codes returned by glXGetConfig:
+ */
+#define GLX_BAD_SCREEN 1
+#define GLX_BAD_ATTRIBUTE 2
+#define GLX_NO_EXTENSION 3
+#define GLX_BAD_VISUAL 4
+#define GLX_BAD_CONTEXT 5
+#define GLX_BAD_VALUE 6
+#define GLX_BAD_ENUM 7
+
+
+/*
+ * GLX 1.1 and later:
+ */
+#define GLX_VENDOR 1
+#define GLX_VERSION 2
+#define GLX_EXTENSIONS 3
+
+
+/*
+ * GLX 1.3 and later:
+ */
+#define GLX_CONFIG_CAVEAT 0x20
+#define GLX_DONT_CARE 0xFFFFFFFF
+#define GLX_X_VISUAL_TYPE 0x22
+#define GLX_TRANSPARENT_TYPE 0x23
+#define GLX_TRANSPARENT_INDEX_VALUE 0x24
+#define GLX_TRANSPARENT_RED_VALUE 0x25
+#define GLX_TRANSPARENT_GREEN_VALUE 0x26
+#define GLX_TRANSPARENT_BLUE_VALUE 0x27
+#define GLX_TRANSPARENT_ALPHA_VALUE 0x28
+#define GLX_WINDOW_BIT 0x00000001
+#define GLX_PIXMAP_BIT 0x00000002
+#define GLX_PBUFFER_BIT 0x00000004
+#define GLX_AUX_BUFFERS_BIT 0x00000010
+#define GLX_FRONT_LEFT_BUFFER_BIT 0x00000001
+#define GLX_FRONT_RIGHT_BUFFER_BIT 0x00000002
+#define GLX_BACK_LEFT_BUFFER_BIT 0x00000004
+#define GLX_BACK_RIGHT_BUFFER_BIT 0x00000008
+#define GLX_DEPTH_BUFFER_BIT 0x00000020
+#define GLX_STENCIL_BUFFER_BIT 0x00000040
+#define GLX_ACCUM_BUFFER_BIT 0x00000080
+#define GLX_NONE 0x8000
+#define GLX_SLOW_CONFIG 0x8001
+#define GLX_TRUE_COLOR 0x8002
+#define GLX_DIRECT_COLOR 0x8003
+#define GLX_PSEUDO_COLOR 0x8004
+#define GLX_STATIC_COLOR 0x8005
+#define GLX_GRAY_SCALE 0x8006
+#define GLX_STATIC_GRAY 0x8007
+#define GLX_TRANSPARENT_RGB 0x8008
+#define GLX_TRANSPARENT_INDEX 0x8009
+#define GLX_VISUAL_ID 0x800B
+#define GLX_SCREEN 0x800C
+#define GLX_NON_CONFORMANT_CONFIG 0x800D
+#define GLX_DRAWABLE_TYPE 0x8010
+#define GLX_RENDER_TYPE 0x8011
+#define GLX_X_RENDERABLE 0x8012
+#define GLX_FBCONFIG_ID 0x8013
+#define GLX_RGBA_TYPE 0x8014
+#define GLX_COLOR_INDEX_TYPE 0x8015
+#define GLX_MAX_PBUFFER_WIDTH 0x8016
+#define GLX_MAX_PBUFFER_HEIGHT 0x8017
+#define GLX_MAX_PBUFFER_PIXELS 0x8018
+#define GLX_PRESERVED_CONTENTS 0x801B
+#define GLX_LARGEST_PBUFFER 0x801C
+#define GLX_WIDTH 0x801D
+#define GLX_HEIGHT 0x801E
+#define GLX_EVENT_MASK 0x801F
+#define GLX_DAMAGED 0x8020
+#define GLX_SAVED 0x8021
+#define GLX_WINDOW 0x8022
+#define GLX_PBUFFER 0x8023
+#define GLX_PBUFFER_HEIGHT 0x8040
+#define GLX_PBUFFER_WIDTH 0x8041
+#define GLX_RGBA_BIT 0x00000001
+#define GLX_COLOR_INDEX_BIT 0x00000002
+#define GLX_PBUFFER_CLOBBER_MASK 0x08000000
+
+
+/*
+ * GLX 1.4 and later:
+ */
+#define GLX_SAMPLE_BUFFERS 0x186a0 /*100000*/
+#define GLX_SAMPLES 0x186a1 /*100001*/
+
+
+
+typedef struct __GLXcontextRec *GLXContext;
+typedef XID GLXPixmap;
+typedef XID GLXDrawable;
+/* GLX 1.3 and later */
+typedef struct __GLXFBConfigRec *GLXFBConfig;
+typedef XID GLXFBConfigID;
+typedef XID GLXContextID;
+typedef XID GLXWindow;
+typedef XID GLXPbuffer;
+
+
+/*
+** Events.
+** __GLX_NUMBER_EVENTS is set to 17 to account for the BufferClobberSGIX
+** event - this helps initialization if the server supports the pbuffer
+** extension and the client doesn't.
+*/
+#define GLX_PbufferClobber 0
+#define GLX_BufferSwapComplete 1
+
+#define __GLX_NUMBER_EVENTS 17
+
+extern XVisualInfo* glXChooseVisual( Display *dpy, int screen,
+ int *attribList );
+
+extern GLXContext glXCreateContext( Display *dpy, XVisualInfo *vis,
+ GLXContext shareList, Bool direct );
+
+extern void glXDestroyContext( Display *dpy, GLXContext ctx );
+
+extern Bool glXMakeCurrent( Display *dpy, GLXDrawable drawable,
+ GLXContext ctx);
+
+extern void glXCopyContext( Display *dpy, GLXContext src, GLXContext dst,
+ unsigned long mask );
+
+extern void glXSwapBuffers( Display *dpy, GLXDrawable drawable );
+
+extern GLXPixmap glXCreateGLXPixmap( Display *dpy, XVisualInfo *visual,
+ Pixmap pixmap );
+
+extern void glXDestroyGLXPixmap( Display *dpy, GLXPixmap pixmap );
+
+extern Bool glXQueryExtension( Display *dpy, int *errorb, int *event );
+
+extern Bool glXQueryVersion( Display *dpy, int *maj, int *min );
+
+extern Bool glXIsDirect( Display *dpy, GLXContext ctx );
+
+extern int glXGetConfig( Display *dpy, XVisualInfo *visual,
+ int attrib, int *value );
+
+extern GLXContext glXGetCurrentContext( void );
+
+extern GLXDrawable glXGetCurrentDrawable( void );
+
+extern void glXWaitGL( void );
+
+extern void glXWaitX( void );
+
+extern void glXUseXFont( Font font, int first, int count, int list );
+
+
+
+/* GLX 1.1 and later */
+extern const char *glXQueryExtensionsString( Display *dpy, int screen );
+
+extern const char *glXQueryServerString( Display *dpy, int screen, int name );
+
+extern const char *glXGetClientString( Display *dpy, int name );
+
+
+/* GLX 1.2 and later */
+extern Display *glXGetCurrentDisplay( void );
+
+
+/* GLX 1.3 and later */
+extern GLXFBConfig *glXChooseFBConfig( Display *dpy, int screen,
+ const int *attribList, int *nitems );
+
+extern int glXGetFBConfigAttrib( Display *dpy, GLXFBConfig config,
+ int attribute, int *value );
+
+extern GLXFBConfig *glXGetFBConfigs( Display *dpy, int screen,
+ int *nelements );
+
+extern XVisualInfo *glXGetVisualFromFBConfig( Display *dpy,
+ GLXFBConfig config );
+
+extern GLXWindow glXCreateWindow( Display *dpy, GLXFBConfig config,
+ Window win, const int *attribList );
+
+extern void glXDestroyWindow( Display *dpy, GLXWindow window );
+
+extern GLXPixmap glXCreatePixmap( Display *dpy, GLXFBConfig config,
+ Pixmap pixmap, const int *attribList );
+
+extern void glXDestroyPixmap( Display *dpy, GLXPixmap pixmap );
+
+extern GLXPbuffer glXCreatePbuffer( Display *dpy, GLXFBConfig config,
+ const int *attribList );
+
+extern void glXDestroyPbuffer( Display *dpy, GLXPbuffer pbuf );
+
+extern void glXQueryDrawable( Display *dpy, GLXDrawable draw, int attribute,
+ unsigned int *value );
+
+extern GLXContext glXCreateNewContext( Display *dpy, GLXFBConfig config,
+ int renderType, GLXContext shareList,
+ Bool direct );
+
+extern Bool glXMakeContextCurrent( Display *dpy, GLXDrawable draw,
+ GLXDrawable read, GLXContext ctx );
+
+extern GLXDrawable glXGetCurrentReadDrawable( void );
+
+extern int glXQueryContext( Display *dpy, GLXContext ctx, int attribute,
+ int *value );
+
+extern void glXSelectEvent( Display *dpy, GLXDrawable drawable,
+ unsigned long mask );
+
+extern void glXGetSelectedEvent( Display *dpy, GLXDrawable drawable,
+ unsigned long *mask );
+
+/* GLX 1.3 function pointer typedefs */
+typedef GLXFBConfig * (* PFNGLXGETFBCONFIGSPROC) (Display *dpy, int screen, int *nelements);
+typedef GLXFBConfig * (* PFNGLXCHOOSEFBCONFIGPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements);
+typedef int (* PFNGLXGETFBCONFIGATTRIBPROC) (Display *dpy, GLXFBConfig config, int attribute, int *value);
+typedef XVisualInfo * (* PFNGLXGETVISUALFROMFBCONFIGPROC) (Display *dpy, GLXFBConfig config);
+typedef GLXWindow (* PFNGLXCREATEWINDOWPROC) (Display *dpy, GLXFBConfig config, Window win, const int *attrib_list);
+typedef void (* PFNGLXDESTROYWINDOWPROC) (Display *dpy, GLXWindow win);
+typedef GLXPixmap (* PFNGLXCREATEPIXMAPPROC) (Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list);
+typedef void (* PFNGLXDESTROYPIXMAPPROC) (Display *dpy, GLXPixmap pixmap);
+typedef GLXPbuffer (* PFNGLXCREATEPBUFFERPROC) (Display *dpy, GLXFBConfig config, const int *attrib_list);
+typedef void (* PFNGLXDESTROYPBUFFERPROC) (Display *dpy, GLXPbuffer pbuf);
+typedef void (* PFNGLXQUERYDRAWABLEPROC) (Display *dpy, GLXDrawable draw, int attribute, unsigned int *value);
+typedef GLXContext (* PFNGLXCREATENEWCONTEXTPROC) (Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
+typedef Bool (* PFNGLXMAKECONTEXTCURRENTPROC) (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
+typedef GLXDrawable (* PFNGLXGETCURRENTREADDRAWABLEPROC) (void);
+typedef Display * (* PFNGLXGETCURRENTDISPLAYPROC) (void);
+typedef int (* PFNGLXQUERYCONTEXTPROC) (Display *dpy, GLXContext ctx, int attribute, int *value);
+typedef void (* PFNGLXSELECTEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long event_mask);
+typedef void (* PFNGLXGETSELECTEDEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long *event_mask);
+
+
+/*
+ * ARB 2. GLX_ARB_get_proc_address
+ */
+#ifndef GLX_ARB_get_proc_address
+#define GLX_ARB_get_proc_address 1
+
+typedef void (*__GLXextFuncPtr)(void);
+extern __GLXextFuncPtr glXGetProcAddressARB (const GLubyte *);
+
+#endif /* GLX_ARB_get_proc_address */
+
+
+
+/* GLX 1.4 and later */
+extern void (*glXGetProcAddress(const GLubyte *procname))( void );
+
+/* GLX 1.4 function pointer typedefs */
+typedef __GLXextFuncPtr (* PFNGLXGETPROCADDRESSPROC) (const GLubyte *procName);
+
+
+#ifndef GLX_GLXEXT_LEGACY
+
+#include <GL/glxext.h>
+
+#endif /* GLX_GLXEXT_LEGACY */
+
+
+/**
+ ** The following aren't in glxext.h yet.
+ **/
+
+
+/*
+ * ???. GLX_NV_vertex_array_range
+ */
+#ifndef GLX_NV_vertex_array_range
+#define GLX_NV_vertex_array_range
+
+extern void *glXAllocateMemoryNV(GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);
+extern void glXFreeMemoryNV(GLvoid *pointer);
+typedef void * ( * PFNGLXALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);
+typedef void ( * PFNGLXFREEMEMORYNVPROC) (GLvoid *pointer);
+
+#endif /* GLX_NV_vertex_array_range */
+
+
+/*
+ * ARB ?. GLX_ARB_render_texture
+ * XXX This was never finalized!
+ */
+#ifndef GLX_ARB_render_texture
+#define GLX_ARB_render_texture 1
+
+extern Bool glXBindTexImageARB(Display *dpy, GLXPbuffer pbuffer, int buffer);
+extern Bool glXReleaseTexImageARB(Display *dpy, GLXPbuffer pbuffer, int buffer);
+extern Bool glXDrawableAttribARB(Display *dpy, GLXDrawable draw, const int *attribList);
+
+#endif /* GLX_ARB_render_texture */
+
+
+/*
+ * Remove this when glxext.h is updated.
+ */
+#ifndef GLX_NV_float_buffer
+#define GLX_NV_float_buffer 1
+
+#define GLX_FLOAT_COMPONENTS_NV 0x20B0
+
+#endif /* GLX_NV_float_buffer */
+
+
+
+/*
+ * #?. GLX_MESA_swap_frame_usage
+ */
+#ifndef GLX_MESA_swap_frame_usage
+#define GLX_MESA_swap_frame_usage 1
+
+extern int glXGetFrameUsageMESA(Display *dpy, GLXDrawable drawable, float *usage);
+extern int glXBeginFrameTrackingMESA(Display *dpy, GLXDrawable drawable);
+extern int glXEndFrameTrackingMESA(Display *dpy, GLXDrawable drawable);
+extern int glXQueryFrameTrackingMESA(Display *dpy, GLXDrawable drawable, int64_t *swapCount, int64_t *missedFrames, float *lastMissedUsage);
+
+typedef int (*PFNGLXGETFRAMEUSAGEMESAPROC) (Display *dpy, GLXDrawable drawable, float *usage);
+typedef int (*PFNGLXBEGINFRAMETRACKINGMESAPROC)(Display *dpy, GLXDrawable drawable);
+typedef int (*PFNGLXENDFRAMETRACKINGMESAPROC)(Display *dpy, GLXDrawable drawable);
+typedef int (*PFNGLXQUERYFRAMETRACKINGMESAPROC)(Display *dpy, GLXDrawable drawable, int64_t *swapCount, int64_t *missedFrames, float *lastMissedUsage);
+
+#endif /* GLX_MESA_swap_frame_usage */
+
+
+
+/*
+ * #?. GLX_MESA_swap_control
+ */
+#ifndef GLX_MESA_swap_control
+#define GLX_MESA_swap_control 1
+
+extern int glXSwapIntervalMESA(unsigned int interval);
+extern int glXGetSwapIntervalMESA(void);
+
+typedef int (*PFNGLXSWAPINTERVALMESAPROC)(unsigned int interval);
+typedef int (*PFNGLXGETSWAPINTERVALMESAPROC)(void);
+
+#endif /* GLX_MESA_swap_control */
+
+
+
+/*
+ * #?. GLX_EXT_texture_from_pixmap
+ * XXX not finished?
+ */
+#ifndef GLX_EXT_texture_from_pixmap
+#define GLX_EXT_texture_from_pixmap 1
+
+#define GLX_BIND_TO_TEXTURE_RGB_EXT 0x20D0
+#define GLX_BIND_TO_TEXTURE_RGBA_EXT 0x20D1
+#define GLX_BIND_TO_MIPMAP_TEXTURE_EXT 0x20D2
+#define GLX_BIND_TO_TEXTURE_TARGETS_EXT 0x20D3
+#define GLX_Y_INVERTED_EXT 0x20D4
+
+#define GLX_TEXTURE_FORMAT_EXT 0x20D5
+#define GLX_TEXTURE_TARGET_EXT 0x20D6
+#define GLX_MIPMAP_TEXTURE_EXT 0x20D7
+
+#define GLX_TEXTURE_FORMAT_NONE_EXT 0x20D8
+#define GLX_TEXTURE_FORMAT_RGB_EXT 0x20D9
+#define GLX_TEXTURE_FORMAT_RGBA_EXT 0x20DA
+
+#define GLX_TEXTURE_1D_BIT_EXT 0x00000001
+#define GLX_TEXTURE_2D_BIT_EXT 0x00000002
+#define GLX_TEXTURE_RECTANGLE_BIT_EXT 0x00000004
+
+#define GLX_TEXTURE_1D_EXT 0x20DB
+#define GLX_TEXTURE_2D_EXT 0x20DC
+#define GLX_TEXTURE_RECTANGLE_EXT 0x20DD
+
+#define GLX_FRONT_LEFT_EXT 0x20DE
+#define GLX_FRONT_RIGHT_EXT 0x20DF
+#define GLX_BACK_LEFT_EXT 0x20E0
+#define GLX_BACK_RIGHT_EXT 0x20E1
+#define GLX_FRONT_EXT GLX_FRONT_LEFT_EXT
+#define GLX_BACK_EXT GLX_BACK_LEFT_EXT
+#define GLX_AUX0_EXT 0x20E2
+#define GLX_AUX1_EXT 0x20E3
+#define GLX_AUX2_EXT 0x20E4
+#define GLX_AUX3_EXT 0x20E5
+#define GLX_AUX4_EXT 0x20E6
+#define GLX_AUX5_EXT 0x20E7
+#define GLX_AUX6_EXT 0x20E8
+#define GLX_AUX7_EXT 0x20E9
+#define GLX_AUX8_EXT 0x20EA
+#define GLX_AUX9_EXT 0x20EB
+
+extern void glXBindTexImageEXT(Display *dpy, GLXDrawable drawable, int buffer, const int *attrib_list);
+extern void glXReleaseTexImageEXT(Display *dpy, GLXDrawable drawable, int buffer);
+
+#endif /* GLX_EXT_texture_from_pixmap */
+
+
+
+
+/*** Should these go here, or in another header? */
+/*
+** GLX Events
+*/
+typedef struct {
+ int event_type; /* GLX_DAMAGED or GLX_SAVED */
+ int draw_type; /* GLX_WINDOW or GLX_PBUFFER */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came for SendEvent request */
+ Display *display; /* display the event was read from */
+ GLXDrawable drawable; /* XID of Drawable */
+ unsigned int buffer_mask; /* mask indicating which buffers are affected */
+ unsigned int aux_buffer; /* which aux buffer was affected */
+ int x, y;
+ int width, height;
+ int count; /* if nonzero, at least this many more */
+} GLXPbufferClobberEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ GLXDrawable drawable; /* drawable on which event was requested in event mask */
+ int event_type;
+ int64_t ust;
+ int64_t msc;
+ int64_t sbc;
+} GLXBufferSwapComplete;
+
+typedef union __GLXEvent {
+ GLXPbufferClobberEvent glxpbufferclobber;
+ GLXBufferSwapComplete glxbufferswapcomplete;
+ long pad[24];
+} GLXEvent;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/stream-servers/apigen-codec-common/GL/glx_mangle.h b/stream-servers/apigen-codec-common/GL/glx_mangle.h
new file mode 100644
index 0000000..fa664a7
--- /dev/null
+++ b/stream-servers/apigen-codec-common/GL/glx_mangle.h
@@ -0,0 +1,82 @@
+/*
+ * Mesa 3-D graphics library
+ * Version: 6.5
+ *
+ * Copyright (C) 1999-2006 Brian Paul All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+
+#ifndef GLX_MANGLE_H
+#define GLX_MANGLE_H
+
+#define glXChooseVisual mglXChooseVisual
+#define glXCreateContext mglXCreateContext
+#define glXDestroyContext mglXDestroyContext
+#define glXMakeCurrent mglXMakeCurrent
+#define glXCopyContext mglXCopyContext
+#define glXSwapBuffers mglXSwapBuffers
+#define glXCreateGLXPixmap mglXCreateGLXPixmap
+#define glXDestroyGLXPixmap mglXDestroyGLXPixmap
+#define glXQueryExtension mglXQueryExtension
+#define glXQueryVersion mglXQueryVersion
+#define glXIsDirect mglXIsDirect
+#define glXGetConfig mglXGetConfig
+#define glXGetCurrentContext mglXGetCurrentContext
+#define glXGetCurrentDrawable mglXGetCurrentDrawable
+#define glXWaitGL mglXWaitGL
+#define glXWaitX mglXWaitX
+#define glXUseXFont mglXUseXFont
+#define glXQueryExtensionsString mglXQueryExtensionsString
+#define glXQueryServerString mglXQueryServerString
+#define glXGetClientString mglXGetClientString
+#define glXCreateGLXPixmapMESA mglXCreateGLXPixmapMESA
+#define glXReleaseBuffersMESA mglXReleaseBuffersMESA
+#define glXCopySubBufferMESA mglXCopySubBufferMESA
+#define glXGetVideoSyncSGI mglXGetVideoSyncSGI
+#define glXWaitVideoSyncSGI mglXWaitVideoSyncSGI
+
+/* GLX 1.2 */
+#define glXGetCurrentDisplay mglXGetCurrentDisplay
+
+/* GLX 1.3 */
+#define glXChooseFBConfig mglXChooseFBConfig
+#define glXGetFBConfigAttrib mglXGetFBConfigAttrib
+#define glXGetFBConfigs mglXGetFBConfigs
+#define glXGetVisualFromFBConfig mglXGetVisualFromFBConfig
+#define glXCreateWindow mglXCreateWindow
+#define glXDestroyWindow mglXDestroyWindow
+#define glXCreatePixmap mglXCreatePixmap
+#define glXDestroyPixmap mglXDestroyPixmap
+#define glXCreatePbuffer mglXCreatePbuffer
+#define glXDestroyPbuffer mglXDestroyPbuffer
+#define glXQueryDrawable mglXQueryDrawable
+#define glXCreateNewContext mglXCreateNewContext
+#define glXMakeContextCurrent mglXMakeContextCurrent
+#define glXGetCurrentReadDrawable mglXGetCurrentReadDrawable
+#define glXQueryContext mglXQueryContext
+#define glXSelectEvent mglXSelectEvent
+#define glXGetSelectedEvent mglXGetSelectedEvent
+
+/* GLX 1.4 */
+#define glXGetProcAddress mglXGetProcAddress
+#define glXGetProcAddressARB mglXGetProcAddressARB
+
+
+#endif
diff --git a/stream-servers/apigen-codec-common/GL/glxext.h b/stream-servers/apigen-codec-common/GL/glxext.h
new file mode 100644
index 0000000..e640ff7
--- /dev/null
+++ b/stream-servers/apigen-codec-common/GL/glxext.h
@@ -0,0 +1,1001 @@
+#ifndef __glxext_h_
+#define __glxext_h_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+** Copyright (c) 2007-2012 The Khronos Group Inc.
+**
+** Permission is hereby granted, free of charge, to any person obtaining a
+** copy of this software and/or associated documentation files (the
+** "Materials"), to deal in the Materials without restriction, including
+** without limitation the rights to use, copy, modify, merge, publish,
+** distribute, sublicense, and/or sell copies of the Materials, and to
+** permit persons to whom the Materials are furnished to do so, subject to
+** the following conditions:
+**
+** The above copyright notice and this permission notice shall be included
+** in all copies or substantial portions of the Materials.
+**
+** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
+*/
+
+/* Function declaration macros - to move into glplatform.h */
+
+#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
+#define WIN32_LEAN_AND_MEAN 1
+#include <windows.h>
+#endif
+
+#ifndef APIENTRY
+#define APIENTRY
+#endif
+#ifndef APIENTRYP
+#define APIENTRYP APIENTRY *
+#endif
+#ifndef GLAPI
+#define GLAPI extern
+#endif
+
+/*************************************************************/
+
+/* Header file version number, required by OpenGL ABI for Linux */
+/* glxext.h last updated 2012/02/29 */
+/* Current version at http://www.opengl.org/registry/ */
+#define GLX_GLXEXT_VERSION 33
+
+#ifndef GLX_VERSION_1_3
+#define GLX_WINDOW_BIT 0x00000001
+#define GLX_PIXMAP_BIT 0x00000002
+#define GLX_PBUFFER_BIT 0x00000004
+#define GLX_RGBA_BIT 0x00000001
+#define GLX_COLOR_INDEX_BIT 0x00000002
+#define GLX_PBUFFER_CLOBBER_MASK 0x08000000
+#define GLX_FRONT_LEFT_BUFFER_BIT 0x00000001
+#define GLX_FRONT_RIGHT_BUFFER_BIT 0x00000002
+#define GLX_BACK_LEFT_BUFFER_BIT 0x00000004
+#define GLX_BACK_RIGHT_BUFFER_BIT 0x00000008
+#define GLX_AUX_BUFFERS_BIT 0x00000010
+#define GLX_DEPTH_BUFFER_BIT 0x00000020
+#define GLX_STENCIL_BUFFER_BIT 0x00000040
+#define GLX_ACCUM_BUFFER_BIT 0x00000080
+#define GLX_CONFIG_CAVEAT 0x20
+#define GLX_X_VISUAL_TYPE 0x22
+#define GLX_TRANSPARENT_TYPE 0x23
+#define GLX_TRANSPARENT_INDEX_VALUE 0x24
+#define GLX_TRANSPARENT_RED_VALUE 0x25
+#define GLX_TRANSPARENT_GREEN_VALUE 0x26
+#define GLX_TRANSPARENT_BLUE_VALUE 0x27
+#define GLX_TRANSPARENT_ALPHA_VALUE 0x28
+#define GLX_DONT_CARE 0xFFFFFFFF
+#define GLX_NONE 0x8000
+#define GLX_SLOW_CONFIG 0x8001
+#define GLX_TRUE_COLOR 0x8002
+#define GLX_DIRECT_COLOR 0x8003
+#define GLX_PSEUDO_COLOR 0x8004
+#define GLX_STATIC_COLOR 0x8005
+#define GLX_GRAY_SCALE 0x8006
+#define GLX_STATIC_GRAY 0x8007
+#define GLX_TRANSPARENT_RGB 0x8008
+#define GLX_TRANSPARENT_INDEX 0x8009
+#define GLX_VISUAL_ID 0x800B
+#define GLX_SCREEN 0x800C
+#define GLX_NON_CONFORMANT_CONFIG 0x800D
+#define GLX_DRAWABLE_TYPE 0x8010
+#define GLX_RENDER_TYPE 0x8011
+#define GLX_X_RENDERABLE 0x8012
+#define GLX_FBCONFIG_ID 0x8013
+#define GLX_RGBA_TYPE 0x8014
+#define GLX_COLOR_INDEX_TYPE 0x8015
+#define GLX_MAX_PBUFFER_WIDTH 0x8016
+#define GLX_MAX_PBUFFER_HEIGHT 0x8017
+#define GLX_MAX_PBUFFER_PIXELS 0x8018
+#define GLX_PRESERVED_CONTENTS 0x801B
+#define GLX_LARGEST_PBUFFER 0x801C
+#define GLX_WIDTH 0x801D
+#define GLX_HEIGHT 0x801E
+#define GLX_EVENT_MASK 0x801F
+#define GLX_DAMAGED 0x8020
+#define GLX_SAVED 0x8021
+#define GLX_WINDOW 0x8022
+#define GLX_PBUFFER 0x8023
+#define GLX_PBUFFER_HEIGHT 0x8040
+#define GLX_PBUFFER_WIDTH 0x8041
+#endif
+
+#ifndef GLX_VERSION_1_4
+#define GLX_SAMPLE_BUFFERS 100000
+#define GLX_SAMPLES 100001
+#endif
+
+#ifndef GLX_ARB_get_proc_address
+#endif
+
+#ifndef GLX_ARB_multisample
+#define GLX_SAMPLE_BUFFERS_ARB 100000
+#define GLX_SAMPLES_ARB 100001
+#endif
+
+#ifndef GLX_ARB_vertex_buffer_object
+#define GLX_CONTEXT_ALLOW_BUFFER_BYTE_ORDER_MISMATCH_ARB 0x2095
+#endif
+
+#ifndef GLX_ARB_fbconfig_float
+#define GLX_RGBA_FLOAT_TYPE_ARB 0x20B9
+#define GLX_RGBA_FLOAT_BIT_ARB 0x00000004
+#endif
+
+#ifndef GLX_ARB_framebuffer_sRGB
+#define GLX_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20B2
+#endif
+
+#ifndef GLX_ARB_create_context
+#define GLX_CONTEXT_DEBUG_BIT_ARB 0x00000001
+#define GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x00000002
+#define GLX_CONTEXT_MAJOR_VERSION_ARB 0x2091
+#define GLX_CONTEXT_MINOR_VERSION_ARB 0x2092
+#define GLX_CONTEXT_FLAGS_ARB 0x2094
+#endif
+
+#ifndef GLX_ARB_create_context_profile
+#define GLX_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001
+#define GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002
+#define GLX_CONTEXT_PROFILE_MASK_ARB 0x9126
+#endif
+
+#ifndef GLX_ARB_create_context_robustness
+#define GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB 0x00000004
+#define GLX_LOSE_CONTEXT_ON_RESET_ARB 0x8252
+#define GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB 0x8256
+#define GLX_NO_RESET_NOTIFICATION_ARB 0x8261
+#endif
+
+#ifndef GLX_SGIS_multisample
+#define GLX_SAMPLE_BUFFERS_SGIS 100000
+#define GLX_SAMPLES_SGIS 100001
+#endif
+
+#ifndef GLX_EXT_visual_info
+#define GLX_X_VISUAL_TYPE_EXT 0x22
+#define GLX_TRANSPARENT_TYPE_EXT 0x23
+#define GLX_TRANSPARENT_INDEX_VALUE_EXT 0x24
+#define GLX_TRANSPARENT_RED_VALUE_EXT 0x25
+#define GLX_TRANSPARENT_GREEN_VALUE_EXT 0x26
+#define GLX_TRANSPARENT_BLUE_VALUE_EXT 0x27
+#define GLX_TRANSPARENT_ALPHA_VALUE_EXT 0x28
+#define GLX_NONE_EXT 0x8000
+#define GLX_TRUE_COLOR_EXT 0x8002
+#define GLX_DIRECT_COLOR_EXT 0x8003
+#define GLX_PSEUDO_COLOR_EXT 0x8004
+#define GLX_STATIC_COLOR_EXT 0x8005
+#define GLX_GRAY_SCALE_EXT 0x8006
+#define GLX_STATIC_GRAY_EXT 0x8007
+#define GLX_TRANSPARENT_RGB_EXT 0x8008
+#define GLX_TRANSPARENT_INDEX_EXT 0x8009
+#endif
+
+#ifndef GLX_SGI_swap_control
+#endif
+
+#ifndef GLX_SGI_video_sync
+#endif
+
+#ifndef GLX_SGI_make_current_read
+#endif
+
+#ifndef GLX_SGIX_video_source
+#endif
+
+#ifndef GLX_EXT_visual_rating
+#define GLX_VISUAL_CAVEAT_EXT 0x20
+#define GLX_SLOW_VISUAL_EXT 0x8001
+#define GLX_NON_CONFORMANT_VISUAL_EXT 0x800D
+/* reuse GLX_NONE_EXT */
+#endif
+
+#ifndef GLX_EXT_import_context
+#define GLX_SHARE_CONTEXT_EXT 0x800A
+#define GLX_VISUAL_ID_EXT 0x800B
+#define GLX_SCREEN_EXT 0x800C
+#endif
+
+#ifndef GLX_SGIX_fbconfig
+#define GLX_WINDOW_BIT_SGIX 0x00000001
+#define GLX_PIXMAP_BIT_SGIX 0x00000002
+#define GLX_RGBA_BIT_SGIX 0x00000001
+#define GLX_COLOR_INDEX_BIT_SGIX 0x00000002
+#define GLX_DRAWABLE_TYPE_SGIX 0x8010
+#define GLX_RENDER_TYPE_SGIX 0x8011
+#define GLX_X_RENDERABLE_SGIX 0x8012
+#define GLX_FBCONFIG_ID_SGIX 0x8013
+#define GLX_RGBA_TYPE_SGIX 0x8014
+#define GLX_COLOR_INDEX_TYPE_SGIX 0x8015
+/* reuse GLX_SCREEN_EXT */
+#endif
+
+#ifndef GLX_SGIX_pbuffer
+#define GLX_PBUFFER_BIT_SGIX 0x00000004
+#define GLX_BUFFER_CLOBBER_MASK_SGIX 0x08000000
+#define GLX_FRONT_LEFT_BUFFER_BIT_SGIX 0x00000001
+#define GLX_FRONT_RIGHT_BUFFER_BIT_SGIX 0x00000002
+#define GLX_BACK_LEFT_BUFFER_BIT_SGIX 0x00000004
+#define GLX_BACK_RIGHT_BUFFER_BIT_SGIX 0x00000008
+#define GLX_AUX_BUFFERS_BIT_SGIX 0x00000010
+#define GLX_DEPTH_BUFFER_BIT_SGIX 0x00000020
+#define GLX_STENCIL_BUFFER_BIT_SGIX 0x00000040
+#define GLX_ACCUM_BUFFER_BIT_SGIX 0x00000080
+#define GLX_SAMPLE_BUFFERS_BIT_SGIX 0x00000100
+#define GLX_MAX_PBUFFER_WIDTH_SGIX 0x8016
+#define GLX_MAX_PBUFFER_HEIGHT_SGIX 0x8017
+#define GLX_MAX_PBUFFER_PIXELS_SGIX 0x8018
+#define GLX_OPTIMAL_PBUFFER_WIDTH_SGIX 0x8019
+#define GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX 0x801A
+#define GLX_PRESERVED_CONTENTS_SGIX 0x801B
+#define GLX_LARGEST_PBUFFER_SGIX 0x801C
+#define GLX_WIDTH_SGIX 0x801D
+#define GLX_HEIGHT_SGIX 0x801E
+#define GLX_EVENT_MASK_SGIX 0x801F
+#define GLX_DAMAGED_SGIX 0x8020
+#define GLX_SAVED_SGIX 0x8021
+#define GLX_WINDOW_SGIX 0x8022
+#define GLX_PBUFFER_SGIX 0x8023
+#endif
+
+#ifndef GLX_SGI_cushion
+#endif
+
+#ifndef GLX_SGIX_video_resize
+#define GLX_SYNC_FRAME_SGIX 0x00000000
+#define GLX_SYNC_SWAP_SGIX 0x00000001
+#endif
+
+#ifndef GLX_SGIX_dmbuffer
+#define GLX_DIGITAL_MEDIA_PBUFFER_SGIX 0x8024
+#endif
+
+#ifndef GLX_SGIX_swap_group
+#endif
+
+#ifndef GLX_SGIX_swap_barrier
+#endif
+
+#ifndef GLX_SGIS_blended_overlay
+#define GLX_BLENDED_RGBA_SGIS 0x8025
+#endif
+
+#ifndef GLX_SGIS_shared_multisample
+#define GLX_MULTISAMPLE_SUB_RECT_WIDTH_SGIS 0x8026
+#define GLX_MULTISAMPLE_SUB_RECT_HEIGHT_SGIS 0x8027
+#endif
+
+#ifndef GLX_SUN_get_transparent_index
+#endif
+
+#ifndef GLX_3DFX_multisample
+#define GLX_SAMPLE_BUFFERS_3DFX 0x8050
+#define GLX_SAMPLES_3DFX 0x8051
+#endif
+
+#ifndef GLX_MESA_copy_sub_buffer
+#endif
+
+#ifndef GLX_MESA_pixmap_colormap
+#endif
+
+#ifndef GLX_MESA_release_buffers
+#endif
+
+#ifndef GLX_MESA_set_3dfx_mode
+#define GLX_3DFX_WINDOW_MODE_MESA 0x1
+#define GLX_3DFX_FULLSCREEN_MODE_MESA 0x2
+#endif
+
+#ifndef GLX_SGIX_visual_select_group
+#define GLX_VISUAL_SELECT_GROUP_SGIX 0x8028
+#endif
+
+#ifndef GLX_OML_swap_method
+#define GLX_SWAP_METHOD_OML 0x8060
+#define GLX_SWAP_EXCHANGE_OML 0x8061
+#define GLX_SWAP_COPY_OML 0x8062
+#define GLX_SWAP_UNDEFINED_OML 0x8063
+#endif
+
+#ifndef GLX_OML_sync_control
+#endif
+
+#ifndef GLX_NV_float_buffer
+#define GLX_FLOAT_COMPONENTS_NV 0x20B0
+#endif
+
+#ifndef GLX_SGIX_hyperpipe
+#define GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX 80
+#define GLX_BAD_HYPERPIPE_CONFIG_SGIX 91
+#define GLX_BAD_HYPERPIPE_SGIX 92
+#define GLX_HYPERPIPE_DISPLAY_PIPE_SGIX 0x00000001
+#define GLX_HYPERPIPE_RENDER_PIPE_SGIX 0x00000002
+#define GLX_PIPE_RECT_SGIX 0x00000001
+#define GLX_PIPE_RECT_LIMITS_SGIX 0x00000002
+#define GLX_HYPERPIPE_STEREO_SGIX 0x00000003
+#define GLX_HYPERPIPE_PIXEL_AVERAGE_SGIX 0x00000004
+#define GLX_HYPERPIPE_ID_SGIX 0x8030
+#endif
+
+#ifndef GLX_MESA_agp_offset
+#endif
+
+#ifndef GLX_EXT_fbconfig_packed_float
+#define GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT 0x20B1
+#define GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT 0x00000008
+#endif
+
+#ifndef GLX_EXT_framebuffer_sRGB
+#define GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20B2
+#endif
+
+#ifndef GLX_EXT_texture_from_pixmap
+#define GLX_TEXTURE_1D_BIT_EXT 0x00000001
+#define GLX_TEXTURE_2D_BIT_EXT 0x00000002
+#define GLX_TEXTURE_RECTANGLE_BIT_EXT 0x00000004
+#define GLX_BIND_TO_TEXTURE_RGB_EXT 0x20D0
+#define GLX_BIND_TO_TEXTURE_RGBA_EXT 0x20D1
+#define GLX_BIND_TO_MIPMAP_TEXTURE_EXT 0x20D2
+#define GLX_BIND_TO_TEXTURE_TARGETS_EXT 0x20D3
+#define GLX_Y_INVERTED_EXT 0x20D4
+#define GLX_TEXTURE_FORMAT_EXT 0x20D5
+#define GLX_TEXTURE_TARGET_EXT 0x20D6
+#define GLX_MIPMAP_TEXTURE_EXT 0x20D7
+#define GLX_TEXTURE_FORMAT_NONE_EXT 0x20D8
+#define GLX_TEXTURE_FORMAT_RGB_EXT 0x20D9
+#define GLX_TEXTURE_FORMAT_RGBA_EXT 0x20DA
+#define GLX_TEXTURE_1D_EXT 0x20DB
+#define GLX_TEXTURE_2D_EXT 0x20DC
+#define GLX_TEXTURE_RECTANGLE_EXT 0x20DD
+#define GLX_FRONT_LEFT_EXT 0x20DE
+#define GLX_FRONT_RIGHT_EXT 0x20DF
+#define GLX_BACK_LEFT_EXT 0x20E0
+#define GLX_BACK_RIGHT_EXT 0x20E1
+#define GLX_FRONT_EXT GLX_FRONT_LEFT_EXT
+#define GLX_BACK_EXT GLX_BACK_LEFT_EXT
+#define GLX_AUX0_EXT 0x20E2
+#define GLX_AUX1_EXT 0x20E3
+#define GLX_AUX2_EXT 0x20E4
+#define GLX_AUX3_EXT 0x20E5
+#define GLX_AUX4_EXT 0x20E6
+#define GLX_AUX5_EXT 0x20E7
+#define GLX_AUX6_EXT 0x20E8
+#define GLX_AUX7_EXT 0x20E9
+#define GLX_AUX8_EXT 0x20EA
+#define GLX_AUX9_EXT 0x20EB
+#endif
+
+#ifndef GLX_NV_present_video
+#define GLX_NUM_VIDEO_SLOTS_NV 0x20F0
+#endif
+
+#ifndef GLX_NV_video_out
+#define GLX_VIDEO_OUT_COLOR_NV 0x20C3
+#define GLX_VIDEO_OUT_ALPHA_NV 0x20C4
+#define GLX_VIDEO_OUT_DEPTH_NV 0x20C5
+#define GLX_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20C6
+#define GLX_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20C7
+#define GLX_VIDEO_OUT_FRAME_NV 0x20C8
+#define GLX_VIDEO_OUT_FIELD_1_NV 0x20C9
+#define GLX_VIDEO_OUT_FIELD_2_NV 0x20CA
+#define GLX_VIDEO_OUT_STACKED_FIELDS_1_2_NV 0x20CB
+#define GLX_VIDEO_OUT_STACKED_FIELDS_2_1_NV 0x20CC
+#endif
+
+#ifndef GLX_NV_swap_group
+#endif
+
+#ifndef GLX_NV_video_capture
+#define GLX_DEVICE_ID_NV 0x20CD
+#define GLX_UNIQUE_ID_NV 0x20CE
+#define GLX_NUM_VIDEO_CAPTURE_SLOTS_NV 0x20CF
+#endif
+
+#ifndef GLX_EXT_swap_control
+#define GLX_SWAP_INTERVAL_EXT 0x20F1
+#define GLX_MAX_SWAP_INTERVAL_EXT 0x20F2
+#endif
+
+#ifndef GLX_NV_copy_image
+#endif
+
+#ifndef GLX_INTEL_swap_event
+#define GLX_BUFFER_SWAP_COMPLETE_INTEL_MASK 0x04000000
+#define GLX_EXCHANGE_COMPLETE_INTEL 0x8180
+#define GLX_COPY_COMPLETE_INTEL 0x8181
+#define GLX_FLIP_COMPLETE_INTEL 0x8182
+#endif
+
+#ifndef GLX_NV_multisample_coverage
+#define GLX_COVERAGE_SAMPLES_NV 100001
+#define GLX_COLOR_SAMPLES_NV 0x20B3
+#endif
+
+#ifndef GLX_AMD_gpu_association
+#define GLX_GPU_VENDOR_AMD 0x1F00
+#define GLX_GPU_RENDERER_STRING_AMD 0x1F01
+#define GLX_GPU_OPENGL_VERSION_STRING_AMD 0x1F02
+#define GLX_GPU_FASTEST_TARGET_GPUS_AMD 0x21A2
+#define GLX_GPU_RAM_AMD 0x21A3
+#define GLX_GPU_CLOCK_AMD 0x21A4
+#define GLX_GPU_NUM_PIPES_AMD 0x21A5
+#define GLX_GPU_NUM_SIMD_AMD 0x21A6
+#define GLX_GPU_NUM_RB_AMD 0x21A7
+#define GLX_GPU_NUM_SPI_AMD 0x21A8
+#endif
+
+#ifndef GLX_EXT_create_context_es2_profile
+#define GLX_CONTEXT_ES2_PROFILE_BIT_EXT 0x00000004
+#endif
+
+#ifndef GLX_EXT_swap_control_tear
+#define GLX_LATE_SWAPS_TEAR_EXT 0x20F3
+#endif
+
+
+/*************************************************************/
+
+#ifndef GLX_ARB_get_proc_address
+typedef void (*__GLXextFuncPtr)(void);
+#endif
+
+#ifndef GLX_SGIX_video_source
+typedef XID GLXVideoSourceSGIX;
+#endif
+
+#ifndef GLX_SGIX_fbconfig
+typedef XID GLXFBConfigIDSGIX;
+typedef struct __GLXFBConfigRec *GLXFBConfigSGIX;
+#endif
+
+#ifndef GLX_SGIX_pbuffer
+typedef XID GLXPbufferSGIX;
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came for SendEvent request */
+ Display *display; /* display the event was read from */
+ GLXDrawable drawable; /* i.d. of Drawable */
+ int event_type; /* GLX_DAMAGED_SGIX or GLX_SAVED_SGIX */
+ int draw_type; /* GLX_WINDOW_SGIX or GLX_PBUFFER_SGIX */
+ unsigned int mask; /* mask indicating which buffers are affected*/
+ int x, y;
+ int width, height;
+ int count; /* if nonzero, at least this many more */
+} GLXBufferClobberEventSGIX;
+#endif
+
+#ifndef GLX_NV_video_output
+typedef unsigned int GLXVideoDeviceNV;
+#endif
+
+#ifndef GLX_NV_video_capture
+typedef XID GLXVideoCaptureDeviceNV;
+#endif
+
+#ifndef GLEXT_64_TYPES_DEFINED
+/* This code block is duplicated in glext.h, so must be protected */
+#define GLEXT_64_TYPES_DEFINED
+/* Define int32_t, int64_t, and uint64_t types for UST/MSC */
+/* (as used in the GLX_OML_sync_control extension). */
+#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+#include <inttypes.h>
+#elif defined(__sun__) || defined(__digital__)
+#include <inttypes.h>
+#if defined(__STDC__)
+#if defined(__arch64__) || defined(_LP64)
+typedef long int int64_t;
+typedef unsigned long int uint64_t;
+#else
+typedef long long int int64_t;
+typedef unsigned long long int uint64_t;
+#endif /* __arch64__ */
+#endif /* __STDC__ */
+#elif defined( __VMS ) || defined(__sgi)
+#include <inttypes.h>
+#elif defined(__SCO__) || defined(__USLC__)
+#include <stdint.h>
+#elif defined(__UNIXOS2__) || defined(__SOL64__)
+typedef long int int32_t;
+typedef long long int int64_t;
+typedef unsigned long long int uint64_t;
+#elif defined(_WIN32) && defined(__GNUC__)
+#include <stdint.h>
+#elif defined(_WIN32)
+typedef __int32 int32_t;
+typedef __int64 int64_t;
+typedef unsigned __int64 uint64_t;
+#else
+#include <inttypes.h> /* Fallback option */
+#endif
+#endif
+
+#ifndef GLX_VERSION_1_3
+#define GLX_VERSION_1_3 1
+#ifdef GLX_GLXEXT_PROTOTYPES
+extern GLXFBConfig * glXGetFBConfigs (Display *dpy, int screen, int *nelements);
+extern GLXFBConfig * glXChooseFBConfig (Display *dpy, int screen, const int *attrib_list, int *nelements);
+extern int glXGetFBConfigAttrib (Display *dpy, GLXFBConfig config, int attribute, int *value);
+extern XVisualInfo * glXGetVisualFromFBConfig (Display *dpy, GLXFBConfig config);
+extern GLXWindow glXCreateWindow (Display *dpy, GLXFBConfig config, Window win, const int *attrib_list);
+extern void glXDestroyWindow (Display *dpy, GLXWindow win);
+extern GLXPixmap glXCreatePixmap (Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list);
+extern void glXDestroyPixmap (Display *dpy, GLXPixmap pixmap);
+extern GLXPbuffer glXCreatePbuffer (Display *dpy, GLXFBConfig config, const int *attrib_list);
+extern void glXDestroyPbuffer (Display *dpy, GLXPbuffer pbuf);
+extern void glXQueryDrawable (Display *dpy, GLXDrawable draw, int attribute, unsigned int *value);
+extern GLXContext glXCreateNewContext (Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
+extern Bool glXMakeContextCurrent (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
+extern GLXDrawable glXGetCurrentReadDrawable (void);
+extern Display * glXGetCurrentDisplay (void);
+extern int glXQueryContext (Display *dpy, GLXContext ctx, int attribute, int *value);
+extern void glXSelectEvent (Display *dpy, GLXDrawable draw, unsigned long event_mask);
+extern void glXGetSelectedEvent (Display *dpy, GLXDrawable draw, unsigned long *event_mask);
+#endif /* GLX_GLXEXT_PROTOTYPES */
+typedef GLXFBConfig * ( * PFNGLXGETFBCONFIGSPROC) (Display *dpy, int screen, int *nelements);
+typedef GLXFBConfig * ( * PFNGLXCHOOSEFBCONFIGPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements);
+typedef int ( * PFNGLXGETFBCONFIGATTRIBPROC) (Display *dpy, GLXFBConfig config, int attribute, int *value);
+typedef XVisualInfo * ( * PFNGLXGETVISUALFROMFBCONFIGPROC) (Display *dpy, GLXFBConfig config);
+typedef GLXWindow ( * PFNGLXCREATEWINDOWPROC) (Display *dpy, GLXFBConfig config, Window win, const int *attrib_list);
+typedef void ( * PFNGLXDESTROYWINDOWPROC) (Display *dpy, GLXWindow win);
+typedef GLXPixmap ( * PFNGLXCREATEPIXMAPPROC) (Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list);
+typedef void ( * PFNGLXDESTROYPIXMAPPROC) (Display *dpy, GLXPixmap pixmap);
+typedef GLXPbuffer ( * PFNGLXCREATEPBUFFERPROC) (Display *dpy, GLXFBConfig config, const int *attrib_list);
+typedef void ( * PFNGLXDESTROYPBUFFERPROC) (Display *dpy, GLXPbuffer pbuf);
+typedef void ( * PFNGLXQUERYDRAWABLEPROC) (Display *dpy, GLXDrawable draw, int attribute, unsigned int *value);
+typedef GLXContext ( * PFNGLXCREATENEWCONTEXTPROC) (Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
+typedef Bool ( * PFNGLXMAKECONTEXTCURRENTPROC) (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
+typedef GLXDrawable ( * PFNGLXGETCURRENTREADDRAWABLEPROC) (void);
+typedef Display * ( * PFNGLXGETCURRENTDISPLAYPROC) (void);
+typedef int ( * PFNGLXQUERYCONTEXTPROC) (Display *dpy, GLXContext ctx, int attribute, int *value);
+typedef void ( * PFNGLXSELECTEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long event_mask);
+typedef void ( * PFNGLXGETSELECTEDEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long *event_mask);
+#endif
+
+#ifndef GLX_VERSION_1_4
+#define GLX_VERSION_1_4 1
+#ifdef GLX_GLXEXT_PROTOTYPES
+extern __GLXextFuncPtr glXGetProcAddress (const GLubyte *procName);
+#endif /* GLX_GLXEXT_PROTOTYPES */
+typedef __GLXextFuncPtr ( * PFNGLXGETPROCADDRESSPROC) (const GLubyte *procName);
+#endif
+
+#ifndef GLX_ARB_get_proc_address
+#define GLX_ARB_get_proc_address 1
+#ifdef GLX_GLXEXT_PROTOTYPES
+extern __GLXextFuncPtr glXGetProcAddressARB (const GLubyte *procName);
+#endif /* GLX_GLXEXT_PROTOTYPES */
+typedef __GLXextFuncPtr ( * PFNGLXGETPROCADDRESSARBPROC) (const GLubyte *procName);
+#endif
+
+#ifndef GLX_ARB_multisample
+#define GLX_ARB_multisample 1
+#endif
+
+#ifndef GLX_ARB_fbconfig_float
+#define GLX_ARB_fbconfig_float 1
+#endif
+
+#ifndef GLX_ARB_framebuffer_sRGB
+#define GLX_ARB_framebuffer_sRGB 1
+#endif
+
+#ifndef GLX_ARB_create_context
+#define GLX_ARB_create_context 1
+#ifdef GLX_GLXEXT_PROTOTYPES
+extern GLXContext glXCreateContextAttribsARB (Display *dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list);
+#endif /* GLX_GLXEXT_PROTOTYPES */
+typedef GLXContext ( * PFNGLXCREATECONTEXTATTRIBSARBPROC) (Display *dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list);
+#endif
+
+#ifndef GLX_ARB_create_context_profile
+#define GLX_ARB_create_context_profile 1
+#endif
+
+#ifndef GLX_ARB_create_context_robustness
+#define GLX_ARB_create_context_robustness 1
+#endif
+
+#ifndef GLX_SGIS_multisample
+#define GLX_SGIS_multisample 1
+#endif
+
+#ifndef GLX_EXT_visual_info
+#define GLX_EXT_visual_info 1
+#endif
+
+#ifndef GLX_SGI_swap_control
+#define GLX_SGI_swap_control 1
+#ifdef GLX_GLXEXT_PROTOTYPES
+extern int glXSwapIntervalSGI (int interval);
+#endif /* GLX_GLXEXT_PROTOTYPES */
+typedef int ( * PFNGLXSWAPINTERVALSGIPROC) (int interval);
+#endif
+
+#ifndef GLX_SGI_video_sync
+#define GLX_SGI_video_sync 1
+#ifdef GLX_GLXEXT_PROTOTYPES
+extern int glXGetVideoSyncSGI (unsigned int *count);
+extern int glXWaitVideoSyncSGI (int divisor, int remainder, unsigned int *count);
+#endif /* GLX_GLXEXT_PROTOTYPES */
+typedef int ( * PFNGLXGETVIDEOSYNCSGIPROC) (unsigned int *count);
+typedef int ( * PFNGLXWAITVIDEOSYNCSGIPROC) (int divisor, int remainder, unsigned int *count);
+#endif
+
+#ifndef GLX_SGI_make_current_read
+#define GLX_SGI_make_current_read 1
+#ifdef GLX_GLXEXT_PROTOTYPES
+extern Bool glXMakeCurrentReadSGI (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
+extern GLXDrawable glXGetCurrentReadDrawableSGI (void);
+#endif /* GLX_GLXEXT_PROTOTYPES */
+typedef Bool ( * PFNGLXMAKECURRENTREADSGIPROC) (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
+typedef GLXDrawable ( * PFNGLXGETCURRENTREADDRAWABLESGIPROC) (void);
+#endif
+
+#ifndef GLX_SGIX_video_source
+#define GLX_SGIX_video_source 1
+#ifdef _VL_H
+#ifdef GLX_GLXEXT_PROTOTYPES
+extern GLXVideoSourceSGIX glXCreateGLXVideoSourceSGIX (Display *display, int screen, VLServer server, VLPath path, int nodeClass, VLNode drainNode);
+extern void glXDestroyGLXVideoSourceSGIX (Display *dpy, GLXVideoSourceSGIX glxvideosource);
+#endif /* GLX_GLXEXT_PROTOTYPES */
+typedef GLXVideoSourceSGIX ( * PFNGLXCREATEGLXVIDEOSOURCESGIXPROC) (Display *display, int screen, VLServer server, VLPath path, int nodeClass, VLNode drainNode);
+typedef void ( * PFNGLXDESTROYGLXVIDEOSOURCESGIXPROC) (Display *dpy, GLXVideoSourceSGIX glxvideosource);
+#endif /* _VL_H */
+#endif
+
+#ifndef GLX_EXT_visual_rating
+#define GLX_EXT_visual_rating 1
+#endif
+
+#ifndef GLX_EXT_import_context
+#define GLX_EXT_import_context 1
+#ifdef GLX_GLXEXT_PROTOTYPES
+extern Display * glXGetCurrentDisplayEXT (void);
+extern int glXQueryContextInfoEXT (Display *dpy, GLXContext context, int attribute, int *value);
+extern GLXContextID glXGetContextIDEXT (const GLXContext context);
+extern GLXContext glXImportContextEXT (Display *dpy, GLXContextID contextID);
+extern void glXFreeContextEXT (Display *dpy, GLXContext context);
+#endif /* GLX_GLXEXT_PROTOTYPES */
+typedef Display * ( * PFNGLXGETCURRENTDISPLAYEXTPROC) (void);
+typedef int ( * PFNGLXQUERYCONTEXTINFOEXTPROC) (Display *dpy, GLXContext context, int attribute, int *value);
+typedef GLXContextID ( * PFNGLXGETCONTEXTIDEXTPROC) (const GLXContext context);
+typedef GLXContext ( * PFNGLXIMPORTCONTEXTEXTPROC) (Display *dpy, GLXContextID contextID);
+typedef void ( * PFNGLXFREECONTEXTEXTPROC) (Display *dpy, GLXContext context);
+#endif
+
+#ifndef GLX_SGIX_fbconfig
+#define GLX_SGIX_fbconfig 1
+#ifdef GLX_GLXEXT_PROTOTYPES
+extern int glXGetFBConfigAttribSGIX (Display *dpy, GLXFBConfigSGIX config, int attribute, int *value);
+extern GLXFBConfigSGIX * glXChooseFBConfigSGIX (Display *dpy, int screen, int *attrib_list, int *nelements);
+extern GLXPixmap glXCreateGLXPixmapWithConfigSGIX (Display *dpy, GLXFBConfigSGIX config, Pixmap pixmap);
+extern GLXContext glXCreateContextWithConfigSGIX (Display *dpy, GLXFBConfigSGIX config, int render_type, GLXContext share_list, Bool direct);
+extern XVisualInfo * glXGetVisualFromFBConfigSGIX (Display *dpy, GLXFBConfigSGIX config);
+extern GLXFBConfigSGIX glXGetFBConfigFromVisualSGIX (Display *dpy, XVisualInfo *vis);
+#endif /* GLX_GLXEXT_PROTOTYPES */
+typedef int ( * PFNGLXGETFBCONFIGATTRIBSGIXPROC) (Display *dpy, GLXFBConfigSGIX config, int attribute, int *value);
+typedef GLXFBConfigSGIX * ( * PFNGLXCHOOSEFBCONFIGSGIXPROC) (Display *dpy, int screen, int *attrib_list, int *nelements);
+typedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC) (Display *dpy, GLXFBConfigSGIX config, Pixmap pixmap);
+typedef GLXContext ( * PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC) (Display *dpy, GLXFBConfigSGIX config, int render_type, GLXContext share_list, Bool direct);
+typedef XVisualInfo * ( * PFNGLXGETVISUALFROMFBCONFIGSGIXPROC) (Display *dpy, GLXFBConfigSGIX config);
+typedef GLXFBConfigSGIX ( * PFNGLXGETFBCONFIGFROMVISUALSGIXPROC) (Display *dpy, XVisualInfo *vis);
+#endif
+
+#ifndef GLX_SGIX_pbuffer
+#define GLX_SGIX_pbuffer 1
+#ifdef GLX_GLXEXT_PROTOTYPES
+extern GLXPbufferSGIX glXCreateGLXPbufferSGIX (Display *dpy, GLXFBConfigSGIX config, unsigned int width, unsigned int height, int *attrib_list);
+extern void glXDestroyGLXPbufferSGIX (Display *dpy, GLXPbufferSGIX pbuf);
+extern int glXQueryGLXPbufferSGIX (Display *dpy, GLXPbufferSGIX pbuf, int attribute, unsigned int *value);
+extern void glXSelectEventSGIX (Display *dpy, GLXDrawable drawable, unsigned long mask);
+extern void glXGetSelectedEventSGIX (Display *dpy, GLXDrawable drawable, unsigned long *mask);
+#endif /* GLX_GLXEXT_PROTOTYPES */
+typedef GLXPbufferSGIX ( * PFNGLXCREATEGLXPBUFFERSGIXPROC) (Display *dpy, GLXFBConfigSGIX config, unsigned int width, unsigned int height, int *attrib_list);
+typedef void ( * PFNGLXDESTROYGLXPBUFFERSGIXPROC) (Display *dpy, GLXPbufferSGIX pbuf);
+typedef int ( * PFNGLXQUERYGLXPBUFFERSGIXPROC) (Display *dpy, GLXPbufferSGIX pbuf, int attribute, unsigned int *value);
+typedef void ( * PFNGLXSELECTEVENTSGIXPROC) (Display *dpy, GLXDrawable drawable, unsigned long mask);
+typedef void ( * PFNGLXGETSELECTEDEVENTSGIXPROC) (Display *dpy, GLXDrawable drawable, unsigned long *mask);
+#endif
+
+#ifndef GLX_SGI_cushion
+#define GLX_SGI_cushion 1
+#ifdef GLX_GLXEXT_PROTOTYPES
+extern void glXCushionSGI (Display *dpy, Window window, float cushion);
+#endif /* GLX_GLXEXT_PROTOTYPES */
+typedef void ( * PFNGLXCUSHIONSGIPROC) (Display *dpy, Window window, float cushion);
+#endif
+
+#ifndef GLX_SGIX_video_resize
+#define GLX_SGIX_video_resize 1
+#ifdef GLX_GLXEXT_PROTOTYPES
+extern int glXBindChannelToWindowSGIX (Display *display, int screen, int channel, Window window);
+extern int glXChannelRectSGIX (Display *display, int screen, int channel, int x, int y, int w, int h);
+extern int glXQueryChannelRectSGIX (Display *display, int screen, int channel, int *dx, int *dy, int *dw, int *dh);
+extern int glXQueryChannelDeltasSGIX (Display *display, int screen, int channel, int *x, int *y, int *w, int *h);
+extern int glXChannelRectSyncSGIX (Display *display, int screen, int channel, GLenum synctype);
+#endif /* GLX_GLXEXT_PROTOTYPES */
+typedef int ( * PFNGLXBINDCHANNELTOWINDOWSGIXPROC) (Display *display, int screen, int channel, Window window);
+typedef int ( * PFNGLXCHANNELRECTSGIXPROC) (Display *display, int screen, int channel, int x, int y, int w, int h);
+typedef int ( * PFNGLXQUERYCHANNELRECTSGIXPROC) (Display *display, int screen, int channel, int *dx, int *dy, int *dw, int *dh);
+typedef int ( * PFNGLXQUERYCHANNELDELTASSGIXPROC) (Display *display, int screen, int channel, int *x, int *y, int *w, int *h);
+typedef int ( * PFNGLXCHANNELRECTSYNCSGIXPROC) (Display *display, int screen, int channel, GLenum synctype);
+#endif
+
+#ifndef GLX_SGIX_dmbuffer
+#define GLX_SGIX_dmbuffer 1
+#ifdef _DM_BUFFER_H_
+#ifdef GLX_GLXEXT_PROTOTYPES
+extern Bool glXAssociateDMPbufferSGIX (Display *dpy, GLXPbufferSGIX pbuffer, DMparams *params, DMbuffer dmbuffer);
+#endif /* GLX_GLXEXT_PROTOTYPES */
+typedef Bool ( * PFNGLXASSOCIATEDMPBUFFERSGIXPROC) (Display *dpy, GLXPbufferSGIX pbuffer, DMparams *params, DMbuffer dmbuffer);
+#endif /* _DM_BUFFER_H_ */
+#endif
+
+#ifndef GLX_SGIX_swap_group
+#define GLX_SGIX_swap_group 1
+#ifdef GLX_GLXEXT_PROTOTYPES
+extern void glXJoinSwapGroupSGIX (Display *dpy, GLXDrawable drawable, GLXDrawable member);
+#endif /* GLX_GLXEXT_PROTOTYPES */
+typedef void ( * PFNGLXJOINSWAPGROUPSGIXPROC) (Display *dpy, GLXDrawable drawable, GLXDrawable member);
+#endif
+
+#ifndef GLX_SGIX_swap_barrier
+#define GLX_SGIX_swap_barrier 1
+#ifdef GLX_GLXEXT_PROTOTYPES
+extern void glXBindSwapBarrierSGIX (Display *dpy, GLXDrawable drawable, int barrier);
+extern Bool glXQueryMaxSwapBarriersSGIX (Display *dpy, int screen, int *max);
+#endif /* GLX_GLXEXT_PROTOTYPES */
+typedef void ( * PFNGLXBINDSWAPBARRIERSGIXPROC) (Display *dpy, GLXDrawable drawable, int barrier);
+typedef Bool ( * PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC) (Display *dpy, int screen, int *max);
+#endif
+
+#ifndef GLX_SUN_get_transparent_index
+#define GLX_SUN_get_transparent_index 1
+#ifdef GLX_GLXEXT_PROTOTYPES
+extern Status glXGetTransparentIndexSUN (Display *dpy, Window overlay, Window underlay, long *pTransparentIndex);
+#endif /* GLX_GLXEXT_PROTOTYPES */
+typedef Status ( * PFNGLXGETTRANSPARENTINDEXSUNPROC) (Display *dpy, Window overlay, Window underlay, long *pTransparentIndex);
+#endif
+
+#ifndef GLX_MESA_copy_sub_buffer
+#define GLX_MESA_copy_sub_buffer 1
+#ifdef GLX_GLXEXT_PROTOTYPES
+extern void glXCopySubBufferMESA (Display *dpy, GLXDrawable drawable, int x, int y, int width, int height);
+#endif /* GLX_GLXEXT_PROTOTYPES */
+typedef void ( * PFNGLXCOPYSUBBUFFERMESAPROC) (Display *dpy, GLXDrawable drawable, int x, int y, int width, int height);
+#endif
+
+#ifndef GLX_MESA_pixmap_colormap
+#define GLX_MESA_pixmap_colormap 1
+#ifdef GLX_GLXEXT_PROTOTYPES
+extern GLXPixmap glXCreateGLXPixmapMESA (Display *dpy, XVisualInfo *visual, Pixmap pixmap, Colormap cmap);
+#endif /* GLX_GLXEXT_PROTOTYPES */
+typedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPMESAPROC) (Display *dpy, XVisualInfo *visual, Pixmap pixmap, Colormap cmap);
+#endif
+
+#ifndef GLX_MESA_release_buffers
+#define GLX_MESA_release_buffers 1
+#ifdef GLX_GLXEXT_PROTOTYPES
+extern Bool glXReleaseBuffersMESA (Display *dpy, GLXDrawable drawable);
+#endif /* GLX_GLXEXT_PROTOTYPES */
+typedef Bool ( * PFNGLXRELEASEBUFFERSMESAPROC) (Display *dpy, GLXDrawable drawable);
+#endif
+
+#ifndef GLX_MESA_set_3dfx_mode
+#define GLX_MESA_set_3dfx_mode 1
+#ifdef GLX_GLXEXT_PROTOTYPES
+extern Bool glXSet3DfxModeMESA (int mode);
+#endif /* GLX_GLXEXT_PROTOTYPES */
+typedef Bool ( * PFNGLXSET3DFXMODEMESAPROC) (int mode);
+#endif
+
+#ifndef GLX_SGIX_visual_select_group
+#define GLX_SGIX_visual_select_group 1
+#endif
+
+#ifndef GLX_OML_swap_method
+#define GLX_OML_swap_method 1
+#endif
+
+#ifndef GLX_OML_sync_control
+#define GLX_OML_sync_control 1
+#ifdef GLX_GLXEXT_PROTOTYPES
+extern Bool glXGetSyncValuesOML (Display *dpy, GLXDrawable drawable, int64_t *ust, int64_t *msc, int64_t *sbc);
+extern Bool glXGetMscRateOML (Display *dpy, GLXDrawable drawable, int32_t *numerator, int32_t *denominator);
+extern int64_t glXSwapBuffersMscOML (Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder);
+extern Bool glXWaitForMscOML (Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder, int64_t *ust, int64_t *msc, int64_t *sbc);
+extern Bool glXWaitForSbcOML (Display *dpy, GLXDrawable drawable, int64_t target_sbc, int64_t *ust, int64_t *msc, int64_t *sbc);
+#endif /* GLX_GLXEXT_PROTOTYPES */
+typedef Bool ( * PFNGLXGETSYNCVALUESOMLPROC) (Display *dpy, GLXDrawable drawable, int64_t *ust, int64_t *msc, int64_t *sbc);
+typedef Bool ( * PFNGLXGETMSCRATEOMLPROC) (Display *dpy, GLXDrawable drawable, int32_t *numerator, int32_t *denominator);
+typedef int64_t ( * PFNGLXSWAPBUFFERSMSCOMLPROC) (Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder);
+typedef Bool ( * PFNGLXWAITFORMSCOMLPROC) (Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder, int64_t *ust, int64_t *msc, int64_t *sbc);
+typedef Bool ( * PFNGLXWAITFORSBCOMLPROC) (Display *dpy, GLXDrawable drawable, int64_t target_sbc, int64_t *ust, int64_t *msc, int64_t *sbc);
+#endif
+
+#ifndef GLX_NV_float_buffer
+#define GLX_NV_float_buffer 1
+#endif
+
+#ifndef GLX_SGIX_hyperpipe
+#define GLX_SGIX_hyperpipe 1
+
+typedef struct {
+ char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
+ int networkId;
+} GLXHyperpipeNetworkSGIX;
+
+typedef struct {
+ char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
+ int channel;
+ unsigned int
+ participationType;
+ int timeSlice;
+} GLXHyperpipeConfigSGIX;
+
+typedef struct {
+ char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
+ int srcXOrigin, srcYOrigin, srcWidth, srcHeight;
+ int destXOrigin, destYOrigin, destWidth, destHeight;
+} GLXPipeRect;
+
+typedef struct {
+ char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
+ int XOrigin, YOrigin, maxHeight, maxWidth;
+} GLXPipeRectLimits;
+
+#ifdef GLX_GLXEXT_PROTOTYPES
+extern GLXHyperpipeNetworkSGIX * glXQueryHyperpipeNetworkSGIX (Display *dpy, int *npipes);
+extern int glXHyperpipeConfigSGIX (Display *dpy, int networkId, int npipes, GLXHyperpipeConfigSGIX *cfg, int *hpId);
+extern GLXHyperpipeConfigSGIX * glXQueryHyperpipeConfigSGIX (Display *dpy, int hpId, int *npipes);
+extern int glXDestroyHyperpipeConfigSGIX (Display *dpy, int hpId);
+extern int glXBindHyperpipeSGIX (Display *dpy, int hpId);
+extern int glXQueryHyperpipeBestAttribSGIX (Display *dpy, int timeSlice, int attrib, int size, void *attribList, void *returnAttribList);
+extern int glXHyperpipeAttribSGIX (Display *dpy, int timeSlice, int attrib, int size, void *attribList);
+extern int glXQueryHyperpipeAttribSGIX (Display *dpy, int timeSlice, int attrib, int size, void *returnAttribList);
+#endif /* GLX_GLXEXT_PROTOTYPES */
+typedef GLXHyperpipeNetworkSGIX * ( * PFNGLXQUERYHYPERPIPENETWORKSGIXPROC) (Display *dpy, int *npipes);
+typedef int ( * PFNGLXHYPERPIPECONFIGSGIXPROC) (Display *dpy, int networkId, int npipes, GLXHyperpipeConfigSGIX *cfg, int *hpId);
+typedef GLXHyperpipeConfigSGIX * ( * PFNGLXQUERYHYPERPIPECONFIGSGIXPROC) (Display *dpy, int hpId, int *npipes);
+typedef int ( * PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC) (Display *dpy, int hpId);
+typedef int ( * PFNGLXBINDHYPERPIPESGIXPROC) (Display *dpy, int hpId);
+typedef int ( * PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *attribList, void *returnAttribList);
+typedef int ( * PFNGLXHYPERPIPEATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *attribList);
+typedef int ( * PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *returnAttribList);
+#endif
+
+#ifndef GLX_MESA_agp_offset
+#define GLX_MESA_agp_offset 1
+#ifdef GLX_GLXEXT_PROTOTYPES
+extern unsigned int glXGetAGPOffsetMESA (const void *pointer);
+#endif /* GLX_GLXEXT_PROTOTYPES */
+typedef unsigned int ( * PFNGLXGETAGPOFFSETMESAPROC) (const void *pointer);
+#endif
+
+#ifndef GLX_EXT_fbconfig_packed_float
+#define GLX_EXT_fbconfig_packed_float 1
+#endif
+
+#ifndef GLX_EXT_framebuffer_sRGB
+#define GLX_EXT_framebuffer_sRGB 1
+#endif
+
+#ifndef GLX_EXT_texture_from_pixmap
+#define GLX_EXT_texture_from_pixmap 1
+#ifdef GLX_GLXEXT_PROTOTYPES
+extern void glXBindTexImageEXT (Display *dpy, GLXDrawable drawable, int buffer, const int *attrib_list);
+extern void glXReleaseTexImageEXT (Display *dpy, GLXDrawable drawable, int buffer);
+#endif /* GLX_GLXEXT_PROTOTYPES */
+typedef void ( * PFNGLXBINDTEXIMAGEEXTPROC) (Display *dpy, GLXDrawable drawable, int buffer, const int *attrib_list);
+typedef void ( * PFNGLXRELEASETEXIMAGEEXTPROC) (Display *dpy, GLXDrawable drawable, int buffer);
+#endif
+
+#ifndef GLX_NV_present_video
+#define GLX_NV_present_video 1
+#ifdef GLX_GLXEXT_PROTOTYPES
+extern unsigned int * glXEnumerateVideoDevicesNV (Display *dpy, int screen, int *nelements);
+extern int glXBindVideoDeviceNV (Display *dpy, unsigned int video_slot, unsigned int video_device, const int *attrib_list);
+#endif /* GLX_GLXEXT_PROTOTYPES */
+typedef unsigned int * ( * PFNGLXENUMERATEVIDEODEVICESNVPROC) (Display *dpy, int screen, int *nelements);
+typedef int ( * PFNGLXBINDVIDEODEVICENVPROC) (Display *dpy, unsigned int video_slot, unsigned int video_device, const int *attrib_list);
+#endif
+
+#ifndef GLX_NV_video_output
+#define GLX_NV_video_output 1
+#ifdef GLX_GLXEXT_PROTOTYPES
+extern int glXGetVideoDeviceNV (Display *dpy, int screen, int numVideoDevices, GLXVideoDeviceNV *pVideoDevice);
+extern int glXReleaseVideoDeviceNV (Display *dpy, int screen, GLXVideoDeviceNV VideoDevice);
+extern int glXBindVideoImageNV (Display *dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer);
+extern int glXReleaseVideoImageNV (Display *dpy, GLXPbuffer pbuf);
+extern int glXSendPbufferToVideoNV (Display *dpy, GLXPbuffer pbuf, int iBufferType, unsigned long *pulCounterPbuffer, GLboolean bBlock);
+extern int glXGetVideoInfoNV (Display *dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);
+#endif /* GLX_GLXEXT_PROTOTYPES */
+typedef int ( * PFNGLXGETVIDEODEVICENVPROC) (Display *dpy, int screen, int numVideoDevices, GLXVideoDeviceNV *pVideoDevice);
+typedef int ( * PFNGLXRELEASEVIDEODEVICENVPROC) (Display *dpy, int screen, GLXVideoDeviceNV VideoDevice);
+typedef int ( * PFNGLXBINDVIDEOIMAGENVPROC) (Display *dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer);
+typedef int ( * PFNGLXRELEASEVIDEOIMAGENVPROC) (Display *dpy, GLXPbuffer pbuf);
+typedef int ( * PFNGLXSENDPBUFFERTOVIDEONVPROC) (Display *dpy, GLXPbuffer pbuf, int iBufferType, unsigned long *pulCounterPbuffer, GLboolean bBlock);
+typedef int ( * PFNGLXGETVIDEOINFONVPROC) (Display *dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);
+#endif
+
+#ifndef GLX_NV_swap_group
+#define GLX_NV_swap_group 1
+#ifdef GLX_GLXEXT_PROTOTYPES
+extern Bool glXJoinSwapGroupNV (Display *dpy, GLXDrawable drawable, GLuint group);
+extern Bool glXBindSwapBarrierNV (Display *dpy, GLuint group, GLuint barrier);
+extern Bool glXQuerySwapGroupNV (Display *dpy, GLXDrawable drawable, GLuint *group, GLuint *barrier);
+extern Bool glXQueryMaxSwapGroupsNV (Display *dpy, int screen, GLuint *maxGroups, GLuint *maxBarriers);
+extern Bool glXQueryFrameCountNV (Display *dpy, int screen, GLuint *count);
+extern Bool glXResetFrameCountNV (Display *dpy, int screen);
+#endif /* GLX_GLXEXT_PROTOTYPES */
+typedef Bool ( * PFNGLXJOINSWAPGROUPNVPROC) (Display *dpy, GLXDrawable drawable, GLuint group);
+typedef Bool ( * PFNGLXBINDSWAPBARRIERNVPROC) (Display *dpy, GLuint group, GLuint barrier);
+typedef Bool ( * PFNGLXQUERYSWAPGROUPNVPROC) (Display *dpy, GLXDrawable drawable, GLuint *group, GLuint *barrier);
+typedef Bool ( * PFNGLXQUERYMAXSWAPGROUPSNVPROC) (Display *dpy, int screen, GLuint *maxGroups, GLuint *maxBarriers);
+typedef Bool ( * PFNGLXQUERYFRAMECOUNTNVPROC) (Display *dpy, int screen, GLuint *count);
+typedef Bool ( * PFNGLXRESETFRAMECOUNTNVPROC) (Display *dpy, int screen);
+#endif
+
+#ifndef GLX_NV_video_capture
+#define GLX_NV_video_capture 1
+#ifdef GLX_GLXEXT_PROTOTYPES
+extern int glXBindVideoCaptureDeviceNV (Display *dpy, unsigned int video_capture_slot, GLXVideoCaptureDeviceNV device);
+extern GLXVideoCaptureDeviceNV * glXEnumerateVideoCaptureDevicesNV (Display *dpy, int screen, int *nelements);
+extern void glXLockVideoCaptureDeviceNV (Display *dpy, GLXVideoCaptureDeviceNV device);
+extern int glXQueryVideoCaptureDeviceNV (Display *dpy, GLXVideoCaptureDeviceNV device, int attribute, int *value);
+extern void glXReleaseVideoCaptureDeviceNV (Display *dpy, GLXVideoCaptureDeviceNV device);
+#endif /* GLX_GLXEXT_PROTOTYPES */
+typedef int ( * PFNGLXBINDVIDEOCAPTUREDEVICENVPROC) (Display *dpy, unsigned int video_capture_slot, GLXVideoCaptureDeviceNV device);
+typedef GLXVideoCaptureDeviceNV * ( * PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC) (Display *dpy, int screen, int *nelements);
+typedef void ( * PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC) (Display *dpy, GLXVideoCaptureDeviceNV device);
+typedef int ( * PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC) (Display *dpy, GLXVideoCaptureDeviceNV device, int attribute, int *value);
+typedef void ( * PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC) (Display *dpy, GLXVideoCaptureDeviceNV device);
+#endif
+
+#ifndef GLX_EXT_swap_control
+#define GLX_EXT_swap_control 1
+#ifdef GLX_GLXEXT_PROTOTYPES
+extern void glXSwapIntervalEXT (Display *dpy, GLXDrawable drawable, int interval);
+#endif /* GLX_GLXEXT_PROTOTYPES */
+typedef void ( * PFNGLXSWAPINTERVALEXTPROC) (Display *dpy, GLXDrawable drawable, int interval);
+#endif
+
+#ifndef GLX_NV_copy_image
+#define GLX_NV_copy_image 1
+#ifdef GLX_GLXEXT_PROTOTYPES
+extern void glXCopyImageSubDataNV (Display *dpy, GLXContext srcCtx, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLXContext dstCtx, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
+#endif /* GLX_GLXEXT_PROTOTYPES */
+typedef void ( * PFNGLXCOPYIMAGESUBDATANVPROC) (Display *dpy, GLXContext srcCtx, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLXContext dstCtx, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
+#endif
+
+#ifndef GLX_INTEL_swap_event
+#define GLX_INTEL_swap_event 1
+#endif
+
+#ifndef GLX_NV_multisample_coverage
+#define GLX_NV_multisample_coverage 1
+#endif
+
+#ifndef GLX_EXT_swap_control_tear
+#define GLX_EXT_swap_control_tear 1
+#endif
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/stream-servers/apigen-codec-common/GL/internal/dri_interface.h b/stream-servers/apigen-codec-common/GL/internal/dri_interface.h
new file mode 100644
index 0000000..c236cb7
--- /dev/null
+++ b/stream-servers/apigen-codec-common/GL/internal/dri_interface.h
@@ -0,0 +1,1144 @@
+/*
+ * Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
+ * Copyright 2007-2008 Red Hat, Inc.
+ * (C) Copyright IBM Corporation 2004
+ * All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * on the rights to use, copy, modify, merge, publish, distribute, sub
+ * license, and/or sell copies of the Software, and to permit persons to whom
+ * the Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
+ * THE COPYRIGHT HOLDERS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+ * USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/**
+ * \file dri_interface.h
+ *
+ * This file contains all the types and functions that define the interface
+ * between a DRI driver and driver loader. Currently, the most common driver
+ * loader is the XFree86 libGL.so. However, other loaders do exist, and in
+ * the future the server-side libglx.a will also be a loader.
+ *
+ * \author Kevin E. Martin <[email protected]>
+ * \author Ian Romanick <[email protected]>
+ * \author Kristian Høgsberg <[email protected]>
+ */
+
+#ifndef DRI_INTERFACE_H
+#define DRI_INTERFACE_H
+
+/* For archs with no drm.h */
+#if defined(__APPLE__) || defined(__CYGWIN__) || defined(__GNU__)
+#ifndef __NOT_HAVE_DRM_H
+#define __NOT_HAVE_DRM_H
+#endif
+#endif
+
+#ifndef __NOT_HAVE_DRM_H
+#include <drm.h>
+#else
+typedef unsigned int drm_context_t;
+typedef unsigned int drm_drawable_t;
+typedef struct drm_clip_rect drm_clip_rect_t;
+#endif
+
+/**
+ * \name DRI interface structures
+ *
+ * The following structures define the interface between the GLX client
+ * side library and the DRI (direct rendering infrastructure).
+ */
+/*@{*/
+typedef struct __DRIdisplayRec __DRIdisplay;
+typedef struct __DRIscreenRec __DRIscreen;
+typedef struct __DRIcontextRec __DRIcontext;
+typedef struct __DRIdrawableRec __DRIdrawable;
+typedef struct __DRIconfigRec __DRIconfig;
+typedef struct __DRIframebufferRec __DRIframebuffer;
+typedef struct __DRIversionRec __DRIversion;
+
+typedef struct __DRIcoreExtensionRec __DRIcoreExtension;
+typedef struct __DRIextensionRec __DRIextension;
+typedef struct __DRIcopySubBufferExtensionRec __DRIcopySubBufferExtension;
+typedef struct __DRIswapControlExtensionRec __DRIswapControlExtension;
+typedef struct __DRIframeTrackingExtensionRec __DRIframeTrackingExtension;
+typedef struct __DRImediaStreamCounterExtensionRec __DRImediaStreamCounterExtension;
+typedef struct __DRItexOffsetExtensionRec __DRItexOffsetExtension;
+typedef struct __DRItexBufferExtensionRec __DRItexBufferExtension;
+typedef struct __DRIlegacyExtensionRec __DRIlegacyExtension;
+typedef struct __DRIswrastExtensionRec __DRIswrastExtension;
+typedef struct __DRIbufferRec __DRIbuffer;
+typedef struct __DRIdri2ExtensionRec __DRIdri2Extension;
+typedef struct __DRIdri2LoaderExtensionRec __DRIdri2LoaderExtension;
+typedef struct __DRI2flushExtensionRec __DRI2flushExtension;
+typedef struct __DRI2throttleExtensionRec __DRI2throttleExtension;
+
+/*@}*/
+
+
+/**
+ * Extension struct. Drivers 'inherit' from this struct by embedding
+ * it as the first element in the extension struct.
+ *
+ * We never break API in for a DRI extension. If we need to change
+ * the way things work in a non-backwards compatible manner, we
+ * introduce a new extension. During a transition period, we can
+ * leave both the old and the new extension in the driver, which
+ * allows us to move to the new interface without having to update the
+ * loader(s) in lock step.
+ *
+ * However, we can add entry points to an extension over time as long
+ * as we don't break the old ones. As we add entry points to an
+ * extension, we increase the version number. The corresponding
+ * #define can be used to guard code that accesses the new entry
+ * points at compile time and the version field in the extension
+ * struct can be used at run-time to determine how to use the
+ * extension.
+ */
+struct __DRIextensionRec {
+ const char *name;
+ int version;
+};
+
+/**
+ * The first set of extension are the screen extensions, returned by
+ * __DRIcore::getExtensions(). This entry point will return a list of
+ * extensions and the loader can use the ones it knows about by
+ * casting them to more specific extensions and advertising any GLX
+ * extensions the DRI extensions enables.
+ */
+
+/**
+ * Used by drivers to indicate support for setting the read drawable.
+ */
+#define __DRI_READ_DRAWABLE "DRI_ReadDrawable"
+#define __DRI_READ_DRAWABLE_VERSION 1
+
+/**
+ * Used by drivers that implement the GLX_MESA_copy_sub_buffer extension.
+ */
+#define __DRI_COPY_SUB_BUFFER "DRI_CopySubBuffer"
+#define __DRI_COPY_SUB_BUFFER_VERSION 1
+struct __DRIcopySubBufferExtensionRec {
+ __DRIextension base;
+ void (*copySubBuffer)(__DRIdrawable *drawable, int x, int y, int w, int h);
+};
+
+/**
+ * Used by drivers that implement the GLX_SGI_swap_control or
+ * GLX_MESA_swap_control extension.
+ */
+#define __DRI_SWAP_CONTROL "DRI_SwapControl"
+#define __DRI_SWAP_CONTROL_VERSION 1
+struct __DRIswapControlExtensionRec {
+ __DRIextension base;
+ void (*setSwapInterval)(__DRIdrawable *drawable, unsigned int inteval);
+ unsigned int (*getSwapInterval)(__DRIdrawable *drawable);
+};
+
+/**
+ * Used by drivers that implement the GLX_MESA_swap_frame_usage extension.
+ */
+#define __DRI_FRAME_TRACKING "DRI_FrameTracking"
+#define __DRI_FRAME_TRACKING_VERSION 1
+struct __DRIframeTrackingExtensionRec {
+ __DRIextension base;
+
+ /**
+ * Enable or disable frame usage tracking.
+ *
+ * \since Internal API version 20030317.
+ */
+ int (*frameTracking)(__DRIdrawable *drawable, GLboolean enable);
+
+ /**
+ * Retrieve frame usage information.
+ *
+ * \since Internal API version 20030317.
+ */
+ int (*queryFrameTracking)(__DRIdrawable *drawable,
+ int64_t * sbc, int64_t * missedFrames,
+ float * lastMissedUsage, float * usage);
+};
+
+
+/**
+ * Used by drivers that implement the GLX_SGI_video_sync extension.
+ */
+#define __DRI_MEDIA_STREAM_COUNTER "DRI_MediaStreamCounter"
+#define __DRI_MEDIA_STREAM_COUNTER_VERSION 1
+struct __DRImediaStreamCounterExtensionRec {
+ __DRIextension base;
+
+ /**
+ * Wait for the MSC to equal target_msc, or, if that has already passed,
+ * the next time (MSC % divisor) is equal to remainder. If divisor is
+ * zero, the function will return as soon as MSC is greater than or equal
+ * to target_msc.
+ */
+ int (*waitForMSC)(__DRIdrawable *drawable,
+ int64_t target_msc, int64_t divisor, int64_t remainder,
+ int64_t * msc, int64_t * sbc);
+
+ /**
+ * Get the number of vertical refreshes since some point in time before
+ * this function was first called (i.e., system start up).
+ */
+ int (*getDrawableMSC)(__DRIscreen *screen, __DRIdrawable *drawable,
+ int64_t *msc);
+};
+
+
+#define __DRI_TEX_OFFSET "DRI_TexOffset"
+#define __DRI_TEX_OFFSET_VERSION 1
+struct __DRItexOffsetExtensionRec {
+ __DRIextension base;
+
+ /**
+ * Method to override base texture image with a driver specific 'offset'.
+ * The depth passed in allows e.g. to ignore the alpha channel of texture
+ * images where the non-alpha components don't occupy a whole texel.
+ *
+ * For GLX_EXT_texture_from_pixmap with AIGLX.
+ */
+ void (*setTexOffset)(__DRIcontext *pDRICtx, GLint texname,
+ unsigned long long offset, GLint depth, GLuint pitch);
+};
+
+
+/* Valid values for format in the setTexBuffer2 function below. These
+ * values match the GLX tokens for compatibility reasons, but we
+ * define them here since the DRI interface can't depend on GLX. */
+#define __DRI_TEXTURE_FORMAT_NONE 0x20D8
+#define __DRI_TEXTURE_FORMAT_RGB 0x20D9
+#define __DRI_TEXTURE_FORMAT_RGBA 0x20DA
+
+#define __DRI_TEX_BUFFER "DRI_TexBuffer"
+#define __DRI_TEX_BUFFER_VERSION 2
+struct __DRItexBufferExtensionRec {
+ __DRIextension base;
+
+ /**
+ * Method to override base texture image with the contents of a
+ * __DRIdrawable.
+ *
+ * For GLX_EXT_texture_from_pixmap with AIGLX. Deprecated in favor of
+ * setTexBuffer2 in version 2 of this interface
+ */
+ void (*setTexBuffer)(__DRIcontext *pDRICtx,
+ GLint target,
+ __DRIdrawable *pDraw);
+
+ /**
+ * Method to override base texture image with the contents of a
+ * __DRIdrawable, including the required texture format attribute.
+ *
+ * For GLX_EXT_texture_from_pixmap with AIGLX.
+ */
+ void (*setTexBuffer2)(__DRIcontext *pDRICtx,
+ GLint target,
+ GLint format,
+ __DRIdrawable *pDraw);
+ /**
+ * Method to release texture buffer in case some special platform
+ * need this.
+ *
+ * For GLX_EXT_texture_from_pixmap with AIGLX.
+ */
+ void (*releaseTexBuffer)(__DRIcontext *pDRICtx,
+ GLint target,
+ __DRIdrawable *pDraw);
+};
+
+/**
+ * Used by drivers that implement DRI2
+ */
+#define __DRI2_FLUSH "DRI2_Flush"
+#define __DRI2_FLUSH_VERSION 4
+
+#define __DRI2_FLUSH_DRAWABLE (1 << 0) /* the drawable should be flushed. */
+#define __DRI2_FLUSH_CONTEXT (1 << 1) /* glFlush should be called */
+
+enum __DRI2throttleReason {
+ __DRI2_THROTTLE_SWAPBUFFER,
+ __DRI2_THROTTLE_COPYSUBBUFFER,
+ __DRI2_THROTTLE_FLUSHFRONT
+};
+
+struct __DRI2flushExtensionRec {
+ __DRIextension base;
+ void (*flush)(__DRIdrawable *drawable);
+
+ /**
+ * Ask the driver to call getBuffers/getBuffersWithFormat before
+ * it starts rendering again.
+ *
+ * \param drawable the drawable to invalidate
+ *
+ * \since 3
+ */
+ void (*invalidate)(__DRIdrawable *drawable);
+
+ /**
+ * This function reduces the number of flushes in the driver by combining
+ * several operations into one call.
+ *
+ * It can:
+ * - throttle
+ * - flush a drawable
+ * - flush a context
+ *
+ * \param context the context
+ * \param drawable the drawable to flush
+ * \param flags a combination of _DRI2_FLUSH_xxx flags
+ * \param throttle_reason the reason for throttling, 0 = no throttling
+ *
+ * \since 4
+ */
+ void (*flush_with_flags)(__DRIcontext *ctx,
+ __DRIdrawable *drawable,
+ unsigned flags,
+ enum __DRI2throttleReason throttle_reason);
+};
+
+
+/**
+ * Extension that the driver uses to request
+ * throttle callbacks.
+ */
+
+#define __DRI2_THROTTLE "DRI2_Throttle"
+#define __DRI2_THROTTLE_VERSION 1
+
+struct __DRI2throttleExtensionRec {
+ __DRIextension base;
+ void (*throttle)(__DRIcontext *ctx,
+ __DRIdrawable *drawable,
+ enum __DRI2throttleReason reason);
+};
+
+/**
+ * XML document describing the configuration options supported by the
+ * driver.
+ */
+extern const char __driConfigOptions[];
+
+/*@}*/
+
+/**
+ * The following extensions describe loader features that the DRI
+ * driver can make use of. Some of these are mandatory, such as the
+ * getDrawableInfo extension for DRI and the DRI Loader extensions for
+ * DRI2, while others are optional, and if present allow the driver to
+ * expose certain features. The loader pass in a NULL terminated
+ * array of these extensions to the driver in the createNewScreen
+ * constructor.
+ */
+
+typedef struct __DRIgetDrawableInfoExtensionRec __DRIgetDrawableInfoExtension;
+typedef struct __DRIsystemTimeExtensionRec __DRIsystemTimeExtension;
+typedef struct __DRIdamageExtensionRec __DRIdamageExtension;
+typedef struct __DRIloaderExtensionRec __DRIloaderExtension;
+typedef struct __DRIswrastLoaderExtensionRec __DRIswrastLoaderExtension;
+
+
+/**
+ * Callback to getDrawableInfo protocol
+ */
+#define __DRI_GET_DRAWABLE_INFO "DRI_GetDrawableInfo"
+#define __DRI_GET_DRAWABLE_INFO_VERSION 1
+struct __DRIgetDrawableInfoExtensionRec {
+ __DRIextension base;
+
+ /**
+ * This function is used to get information about the position, size, and
+ * clip rects of a drawable.
+ */
+ GLboolean (* getDrawableInfo) ( __DRIdrawable *drawable,
+ unsigned int * index, unsigned int * stamp,
+ int * x, int * y, int * width, int * height,
+ int * numClipRects, drm_clip_rect_t ** pClipRects,
+ int * backX, int * backY,
+ int * numBackClipRects, drm_clip_rect_t ** pBackClipRects,
+ void *loaderPrivate);
+};
+
+/**
+ * Callback to get system time for media stream counter extensions.
+ */
+#define __DRI_SYSTEM_TIME "DRI_SystemTime"
+#define __DRI_SYSTEM_TIME_VERSION 1
+struct __DRIsystemTimeExtensionRec {
+ __DRIextension base;
+
+ /**
+ * Get the 64-bit unadjusted system time (UST).
+ */
+ int (*getUST)(int64_t * ust);
+
+ /**
+ * Get the media stream counter (MSC) rate.
+ *
+ * Matching the definition in GLX_OML_sync_control, this function returns
+ * the rate of the "media stream counter". In practical terms, this is
+ * the frame refresh rate of the display.
+ */
+ GLboolean (*getMSCRate)(__DRIdrawable *draw,
+ int32_t * numerator, int32_t * denominator,
+ void *loaderPrivate);
+};
+
+/**
+ * Damage reporting
+ */
+#define __DRI_DAMAGE "DRI_Damage"
+#define __DRI_DAMAGE_VERSION 1
+struct __DRIdamageExtensionRec {
+ __DRIextension base;
+
+ /**
+ * Reports areas of the given drawable which have been modified by the
+ * driver.
+ *
+ * \param drawable which the drawing was done to.
+ * \param rects rectangles affected, with the drawable origin as the
+ * origin.
+ * \param x X offset of the drawable within the screen (used in the
+ * front_buffer case)
+ * \param y Y offset of the drawable within the screen.
+ * \param front_buffer boolean flag for whether the drawing to the
+ * drawable was actually done directly to the front buffer (instead
+ * of backing storage, for example)
+ * \param loaderPrivate the data passed in at createNewDrawable time
+ */
+ void (*reportDamage)(__DRIdrawable *draw,
+ int x, int y,
+ drm_clip_rect_t *rects, int num_rects,
+ GLboolean front_buffer,
+ void *loaderPrivate);
+};
+
+#define __DRI_SWRAST_IMAGE_OP_DRAW 1
+#define __DRI_SWRAST_IMAGE_OP_CLEAR 2
+#define __DRI_SWRAST_IMAGE_OP_SWAP 3
+
+/**
+ * SWRast Loader extension.
+ */
+#define __DRI_SWRAST_LOADER "DRI_SWRastLoader"
+#define __DRI_SWRAST_LOADER_VERSION 1
+struct __DRIswrastLoaderExtensionRec {
+ __DRIextension base;
+
+ /*
+ * Drawable position and size
+ */
+ void (*getDrawableInfo)(__DRIdrawable *drawable,
+ int *x, int *y, int *width, int *height,
+ void *loaderPrivate);
+
+ /**
+ * Put image to drawable
+ */
+ void (*putImage)(__DRIdrawable *drawable, int op,
+ int x, int y, int width, int height,
+ char *data, void *loaderPrivate);
+
+ /**
+ * Get image from readable
+ */
+ void (*getImage)(__DRIdrawable *readable,
+ int x, int y, int width, int height,
+ char *data, void *loaderPrivate);
+};
+
+/**
+ * Invalidate loader extension. The presence of this extension
+ * indicates to the DRI driver that the loader will call invalidate in
+ * the __DRI2_FLUSH extension, whenever the needs to query for new
+ * buffers. This means that the DRI driver can drop the polling in
+ * glViewport().
+ *
+ * The extension doesn't provide any functionality, it's only use to
+ * indicate to the driver that it can use the new semantics. A DRI
+ * driver can use this to switch between the different semantics or
+ * just refuse to initialize if this extension isn't present.
+ */
+#define __DRI_USE_INVALIDATE "DRI_UseInvalidate"
+#define __DRI_USE_INVALIDATE_VERSION 1
+
+typedef struct __DRIuseInvalidateExtensionRec __DRIuseInvalidateExtension;
+struct __DRIuseInvalidateExtensionRec {
+ __DRIextension base;
+};
+
+/**
+ * The remaining extensions describe driver extensions, immediately
+ * available interfaces provided by the driver. To start using the
+ * driver, dlsym() for the __DRI_DRIVER_EXTENSIONS symbol and look for
+ * the extension you need in the array.
+ */
+#define __DRI_DRIVER_EXTENSIONS "__driDriverExtensions"
+
+/**
+ * Tokens for __DRIconfig attribs. A number of attributes defined by
+ * GLX or EGL standards are not in the table, as they must be provided
+ * by the loader. For example, FBConfig ID or visual ID, drawable type.
+ */
+
+#define __DRI_ATTRIB_BUFFER_SIZE 1
+#define __DRI_ATTRIB_LEVEL 2
+#define __DRI_ATTRIB_RED_SIZE 3
+#define __DRI_ATTRIB_GREEN_SIZE 4
+#define __DRI_ATTRIB_BLUE_SIZE 5
+#define __DRI_ATTRIB_LUMINANCE_SIZE 6
+#define __DRI_ATTRIB_ALPHA_SIZE 7
+#define __DRI_ATTRIB_ALPHA_MASK_SIZE 8
+#define __DRI_ATTRIB_DEPTH_SIZE 9
+#define __DRI_ATTRIB_STENCIL_SIZE 10
+#define __DRI_ATTRIB_ACCUM_RED_SIZE 11
+#define __DRI_ATTRIB_ACCUM_GREEN_SIZE 12
+#define __DRI_ATTRIB_ACCUM_BLUE_SIZE 13
+#define __DRI_ATTRIB_ACCUM_ALPHA_SIZE 14
+#define __DRI_ATTRIB_SAMPLE_BUFFERS 15
+#define __DRI_ATTRIB_SAMPLES 16
+#define __DRI_ATTRIB_RENDER_TYPE 17
+#define __DRI_ATTRIB_CONFIG_CAVEAT 18
+#define __DRI_ATTRIB_CONFORMANT 19
+#define __DRI_ATTRIB_DOUBLE_BUFFER 20
+#define __DRI_ATTRIB_STEREO 21
+#define __DRI_ATTRIB_AUX_BUFFERS 22
+#define __DRI_ATTRIB_TRANSPARENT_TYPE 23
+#define __DRI_ATTRIB_TRANSPARENT_INDEX_VALUE 24
+#define __DRI_ATTRIB_TRANSPARENT_RED_VALUE 25
+#define __DRI_ATTRIB_TRANSPARENT_GREEN_VALUE 26
+#define __DRI_ATTRIB_TRANSPARENT_BLUE_VALUE 27
+#define __DRI_ATTRIB_TRANSPARENT_ALPHA_VALUE 28
+#define __DRI_ATTRIB_FLOAT_MODE 29
+#define __DRI_ATTRIB_RED_MASK 30
+#define __DRI_ATTRIB_GREEN_MASK 31
+#define __DRI_ATTRIB_BLUE_MASK 32
+#define __DRI_ATTRIB_ALPHA_MASK 33
+#define __DRI_ATTRIB_MAX_PBUFFER_WIDTH 34
+#define __DRI_ATTRIB_MAX_PBUFFER_HEIGHT 35
+#define __DRI_ATTRIB_MAX_PBUFFER_PIXELS 36
+#define __DRI_ATTRIB_OPTIMAL_PBUFFER_WIDTH 37
+#define __DRI_ATTRIB_OPTIMAL_PBUFFER_HEIGHT 38
+#define __DRI_ATTRIB_VISUAL_SELECT_GROUP 39
+#define __DRI_ATTRIB_SWAP_METHOD 40
+#define __DRI_ATTRIB_MAX_SWAP_INTERVAL 41
+#define __DRI_ATTRIB_MIN_SWAP_INTERVAL 42
+#define __DRI_ATTRIB_BIND_TO_TEXTURE_RGB 43
+#define __DRI_ATTRIB_BIND_TO_TEXTURE_RGBA 44
+#define __DRI_ATTRIB_BIND_TO_MIPMAP_TEXTURE 45
+#define __DRI_ATTRIB_BIND_TO_TEXTURE_TARGETS 46
+#define __DRI_ATTRIB_YINVERTED 47
+#define __DRI_ATTRIB_FRAMEBUFFER_SRGB_CAPABLE 48
+
+/* __DRI_ATTRIB_RENDER_TYPE */
+#define __DRI_ATTRIB_RGBA_BIT 0x01
+#define __DRI_ATTRIB_COLOR_INDEX_BIT 0x02
+#define __DRI_ATTRIB_LUMINANCE_BIT 0x04
+
+/* __DRI_ATTRIB_CONFIG_CAVEAT */
+#define __DRI_ATTRIB_SLOW_BIT 0x01
+#define __DRI_ATTRIB_NON_CONFORMANT_CONFIG 0x02
+
+/* __DRI_ATTRIB_TRANSPARENT_TYPE */
+#define __DRI_ATTRIB_TRANSPARENT_RGB 0x00
+#define __DRI_ATTRIB_TRANSPARENT_INDEX 0x01
+
+/* __DRI_ATTRIB_BIND_TO_TEXTURE_TARGETS */
+#define __DRI_ATTRIB_TEXTURE_1D_BIT 0x01
+#define __DRI_ATTRIB_TEXTURE_2D_BIT 0x02
+#define __DRI_ATTRIB_TEXTURE_RECTANGLE_BIT 0x04
+
+/**
+ * This extension defines the core DRI functionality.
+ */
+#define __DRI_CORE "DRI_Core"
+#define __DRI_CORE_VERSION 1
+
+struct __DRIcoreExtensionRec {
+ __DRIextension base;
+
+ __DRIscreen *(*createNewScreen)(int screen, int fd,
+ unsigned int sarea_handle,
+ const __DRIextension **extensions,
+ const __DRIconfig ***driverConfigs,
+ void *loaderPrivate);
+
+ void (*destroyScreen)(__DRIscreen *screen);
+
+ const __DRIextension **(*getExtensions)(__DRIscreen *screen);
+
+ int (*getConfigAttrib)(const __DRIconfig *config,
+ unsigned int attrib,
+ unsigned int *value);
+
+ int (*indexConfigAttrib)(const __DRIconfig *config, int index,
+ unsigned int *attrib, unsigned int *value);
+
+ __DRIdrawable *(*createNewDrawable)(__DRIscreen *screen,
+ const __DRIconfig *config,
+ unsigned int drawable_id,
+ unsigned int head,
+ void *loaderPrivate);
+
+ void (*destroyDrawable)(__DRIdrawable *drawable);
+
+ void (*swapBuffers)(__DRIdrawable *drawable);
+
+ __DRIcontext *(*createNewContext)(__DRIscreen *screen,
+ const __DRIconfig *config,
+ __DRIcontext *shared,
+ void *loaderPrivate);
+
+ int (*copyContext)(__DRIcontext *dest,
+ __DRIcontext *src,
+ unsigned long mask);
+
+ void (*destroyContext)(__DRIcontext *context);
+
+ int (*bindContext)(__DRIcontext *ctx,
+ __DRIdrawable *pdraw,
+ __DRIdrawable *pread);
+
+ int (*unbindContext)(__DRIcontext *ctx);
+};
+
+/**
+ * Stored version of some component (i.e., server-side DRI module, kernel-side
+ * DRM, etc.).
+ *
+ * \todo
+ * There are several data structures that explicitly store a major version,
+ * minor version, and patch level. These structures should be modified to
+ * have a \c __DRIversionRec instead.
+ */
+struct __DRIversionRec {
+ int major; /**< Major version number. */
+ int minor; /**< Minor version number. */
+ int patch; /**< Patch-level. */
+};
+
+/**
+ * Framebuffer information record. Used by libGL to communicate information
+ * about the framebuffer to the driver's \c __driCreateNewScreen function.
+ *
+ * In XFree86, most of this information is derrived from data returned by
+ * calling \c XF86DRIGetDeviceInfo.
+ *
+ * \sa XF86DRIGetDeviceInfo __DRIdisplayRec::createNewScreen
+ * __driUtilCreateNewScreen CallCreateNewScreen
+ *
+ * \bug This structure could be better named.
+ */
+struct __DRIframebufferRec {
+ unsigned char *base; /**< Framebuffer base address in the CPU's
+ * address space. This value is calculated by
+ * calling \c drmMap on the framebuffer handle
+ * returned by \c XF86DRIGetDeviceInfo (or a
+ * similar function).
+ */
+ int size; /**< Framebuffer size, in bytes. */
+ int stride; /**< Number of bytes from one line to the next. */
+ int width; /**< Pixel width of the framebuffer. */
+ int height; /**< Pixel height of the framebuffer. */
+ int dev_priv_size; /**< Size of the driver's dev-priv structure. */
+ void *dev_priv; /**< Pointer to the driver's dev-priv structure. */
+};
+
+
+/**
+ * This extension provides alternative screen, drawable and context
+ * constructors for legacy DRI functionality. This is used in
+ * conjunction with the core extension.
+ */
+#define __DRI_LEGACY "DRI_Legacy"
+#define __DRI_LEGACY_VERSION 1
+
+struct __DRIlegacyExtensionRec {
+ __DRIextension base;
+
+ __DRIscreen *(*createNewScreen)(int screen,
+ const __DRIversion *ddx_version,
+ const __DRIversion *dri_version,
+ const __DRIversion *drm_version,
+ const __DRIframebuffer *frame_buffer,
+ void *pSAREA, int fd,
+ const __DRIextension **extensions,
+ const __DRIconfig ***driver_configs,
+ void *loaderPrivate);
+
+ __DRIdrawable *(*createNewDrawable)(__DRIscreen *screen,
+ const __DRIconfig *config,
+ drm_drawable_t hwDrawable,
+ int renderType, const int *attrs,
+ void *loaderPrivate);
+
+ __DRIcontext *(*createNewContext)(__DRIscreen *screen,
+ const __DRIconfig *config,
+ int render_type,
+ __DRIcontext *shared,
+ drm_context_t hwContext,
+ void *loaderPrivate);
+};
+
+/**
+ * This extension provides alternative screen, drawable and context
+ * constructors for swrast DRI functionality. This is used in
+ * conjunction with the core extension.
+ */
+#define __DRI_SWRAST "DRI_SWRast"
+#define __DRI_SWRAST_VERSION 3
+
+struct __DRIswrastExtensionRec {
+ __DRIextension base;
+
+ __DRIscreen *(*createNewScreen)(int screen,
+ const __DRIextension **extensions,
+ const __DRIconfig ***driver_configs,
+ void *loaderPrivate);
+
+ __DRIdrawable *(*createNewDrawable)(__DRIscreen *screen,
+ const __DRIconfig *config,
+ void *loaderPrivate);
+
+ /* Since version 2 */
+ __DRIcontext *(*createNewContextForAPI)(__DRIscreen *screen,
+ int api,
+ const __DRIconfig *config,
+ __DRIcontext *shared,
+ void *data);
+
+ /**
+ * Create a context for a particular API with a set of attributes
+ *
+ * \since version 3
+ *
+ * \sa __DRIdri2ExtensionRec::createContextAttribs
+ */
+ __DRIcontext *(*createContextAttribs)(__DRIscreen *screen,
+ int api,
+ const __DRIconfig *config,
+ __DRIcontext *shared,
+ unsigned num_attribs,
+ const uint32_t *attribs,
+ unsigned *error,
+ void *loaderPrivate);
+};
+
+/**
+ * DRI2 Loader extension.
+ */
+#define __DRI_BUFFER_FRONT_LEFT 0
+#define __DRI_BUFFER_BACK_LEFT 1
+#define __DRI_BUFFER_FRONT_RIGHT 2
+#define __DRI_BUFFER_BACK_RIGHT 3
+#define __DRI_BUFFER_DEPTH 4
+#define __DRI_BUFFER_STENCIL 5
+#define __DRI_BUFFER_ACCUM 6
+#define __DRI_BUFFER_FAKE_FRONT_LEFT 7
+#define __DRI_BUFFER_FAKE_FRONT_RIGHT 8
+#define __DRI_BUFFER_DEPTH_STENCIL 9 /**< Only available with DRI2 1.1 */
+#define __DRI_BUFFER_HIZ 10
+
+/* Inofficial and for internal use. Increase when adding a new buffer token. */
+#define __DRI_BUFFER_COUNT 11
+
+struct __DRIbufferRec {
+ unsigned int attachment;
+ unsigned int name;
+ unsigned int pitch;
+ unsigned int cpp;
+ unsigned int flags;
+};
+
+#define __DRI_DRI2_LOADER "DRI_DRI2Loader"
+#define __DRI_DRI2_LOADER_VERSION 3
+struct __DRIdri2LoaderExtensionRec {
+ __DRIextension base;
+
+ __DRIbuffer *(*getBuffers)(__DRIdrawable *driDrawable,
+ int *width, int *height,
+ unsigned int *attachments, int count,
+ int *out_count, void *loaderPrivate);
+
+ /**
+ * Flush pending front-buffer rendering
+ *
+ * Any rendering that has been performed to the
+ * \c __DRI_BUFFER_FAKE_FRONT_LEFT will be flushed to the
+ * \c __DRI_BUFFER_FRONT_LEFT.
+ *
+ * \param driDrawable Drawable whose front-buffer is to be flushed
+ * \param loaderPrivate Loader's private data that was previously passed
+ * into __DRIdri2ExtensionRec::createNewDrawable
+ */
+ void (*flushFrontBuffer)(__DRIdrawable *driDrawable, void *loaderPrivate);
+
+
+ /**
+ * Get list of buffers from the server
+ *
+ * Gets a list of buffer for the specified set of attachments. Unlike
+ * \c ::getBuffers, this function takes a list of attachments paired with
+ * opaque \c unsigned \c int value describing the format of the buffer.
+ * It is the responsibility of the caller to know what the service that
+ * allocates the buffers will expect to receive for the format.
+ *
+ * \param driDrawable Drawable whose buffers are being queried.
+ * \param width Output where the width of the buffers is stored.
+ * \param height Output where the height of the buffers is stored.
+ * \param attachments List of pairs of attachment ID and opaque format
+ * requested for the drawable.
+ * \param count Number of attachment / format pairs stored in
+ * \c attachments.
+ * \param loaderPrivate Loader's private data that was previously passed
+ * into __DRIdri2ExtensionRec::createNewDrawable.
+ */
+ __DRIbuffer *(*getBuffersWithFormat)(__DRIdrawable *driDrawable,
+ int *width, int *height,
+ unsigned int *attachments, int count,
+ int *out_count, void *loaderPrivate);
+};
+
+/**
+ * This extension provides alternative screen, drawable and context
+ * constructors for DRI2.
+ */
+#define __DRI_DRI2 "DRI_DRI2"
+#define __DRI_DRI2_VERSION 3
+
+#define __DRI_API_OPENGL 0 /**< OpenGL compatibility profile */
+#define __DRI_API_GLES 1 /**< OpenGL ES 1.x */
+#define __DRI_API_GLES2 2 /**< OpenGL ES 2.x */
+#define __DRI_API_OPENGL_CORE 3 /**< OpenGL 3.2+ core profile */
+#define __DRI_API_GLES3 4 /**< OpenGL ES 3.x */
+
+#define __DRI_CTX_ATTRIB_MAJOR_VERSION 0
+#define __DRI_CTX_ATTRIB_MINOR_VERSION 1
+#define __DRI_CTX_ATTRIB_FLAGS 2
+
+/**
+ * \requires __DRI2_ROBUSTNESS.
+ */
+#define __DRI_CTX_ATTRIB_RESET_STRATEGY 3
+
+#define __DRI_CTX_FLAG_DEBUG 0x00000001
+#define __DRI_CTX_FLAG_FORWARD_COMPATIBLE 0x00000002
+
+/**
+ * \requires __DRI2_ROBUSTNESS.
+ */
+#define __DRI_CTX_FLAG_ROBUST_BUFFER_ACCESS 0x00000004
+
+/**
+ * \name Context reset strategies.
+ */
+/*@{*/
+#define __DRI_CTX_RESET_NO_NOTIFICATION 0
+#define __DRI_CTX_RESET_LOSE_CONTEXT 1
+/*@}*/
+
+/**
+ * \name Reasons that __DRIdri2Extension::createContextAttribs might fail
+ */
+/*@{*/
+/** Success! */
+#define __DRI_CTX_ERROR_SUCCESS 0
+
+/** Memory allocation failure */
+#define __DRI_CTX_ERROR_NO_MEMORY 1
+
+/** Client requested an API (e.g., OpenGL ES 2.0) that the driver can't do. */
+#define __DRI_CTX_ERROR_BAD_API 2
+
+/** Client requested an API version that the driver can't do. */
+#define __DRI_CTX_ERROR_BAD_VERSION 3
+
+/** Client requested a flag or combination of flags the driver can't do. */
+#define __DRI_CTX_ERROR_BAD_FLAG 4
+
+/** Client requested an attribute the driver doesn't understand. */
+#define __DRI_CTX_ERROR_UNKNOWN_ATTRIBUTE 5
+
+/** Client requested a flag the driver doesn't understand. */
+#define __DRI_CTX_ERROR_UNKNOWN_FLAG 6
+/*@}*/
+
+struct __DRIdri2ExtensionRec {
+ __DRIextension base;
+
+ __DRIscreen *(*createNewScreen)(int screen, int fd,
+ const __DRIextension **extensions,
+ const __DRIconfig ***driver_configs,
+ void *loaderPrivate);
+
+ __DRIdrawable *(*createNewDrawable)(__DRIscreen *screen,
+ const __DRIconfig *config,
+ void *loaderPrivate);
+
+ __DRIcontext *(*createNewContext)(__DRIscreen *screen,
+ const __DRIconfig *config,
+ __DRIcontext *shared,
+ void *loaderPrivate);
+
+ /* Since version 2 */
+ unsigned int (*getAPIMask)(__DRIscreen *screen);
+
+ __DRIcontext *(*createNewContextForAPI)(__DRIscreen *screen,
+ int api,
+ const __DRIconfig *config,
+ __DRIcontext *shared,
+ void *data);
+
+ __DRIbuffer *(*allocateBuffer)(__DRIscreen *screen,
+ unsigned int attachment,
+ unsigned int format,
+ int width,
+ int height);
+ void (*releaseBuffer)(__DRIscreen *screen,
+ __DRIbuffer *buffer);
+
+ /**
+ * Create a context for a particular API with a set of attributes
+ *
+ * \since version 3
+ *
+ * \sa __DRIswrastExtensionRec::createContextAttribs
+ */
+ __DRIcontext *(*createContextAttribs)(__DRIscreen *screen,
+ int api,
+ const __DRIconfig *config,
+ __DRIcontext *shared,
+ unsigned num_attribs,
+ const uint32_t *attribs,
+ unsigned *error,
+ void *loaderPrivate);
+};
+
+
+/**
+ * This extension provides functionality to enable various EGLImage
+ * extensions.
+ */
+#define __DRI_IMAGE "DRI_IMAGE"
+#define __DRI_IMAGE_VERSION 5
+
+/**
+ * These formats correspond to the similarly named MESA_FORMAT_*
+ * tokens, except in the native endian of the CPU. For example, on
+ * little endian __DRI_IMAGE_FORMAT_XRGB8888 corresponds to
+ * MESA_FORMAT_XRGB8888, but MESA_FORMAT_XRGB8888_REV on big endian.
+ *
+ * __DRI_IMAGE_FORMAT_NONE is for images that aren't directly usable
+ * by the driver (YUV planar formats) but serve as a base image for
+ * creating sub-images for the different planes within the image.
+ *
+ * R8, GR88 and NONE should not be used with createImageFormName or
+ * createImage, and are returned by query from sub images created with
+ * createImageFromNames (NONE, see above) and fromPlane (R8 & GR88).
+ */
+#define __DRI_IMAGE_FORMAT_RGB565 0x1001
+#define __DRI_IMAGE_FORMAT_XRGB8888 0x1002
+#define __DRI_IMAGE_FORMAT_ARGB8888 0x1003
+#define __DRI_IMAGE_FORMAT_ABGR8888 0x1004
+#define __DRI_IMAGE_FORMAT_XBGR8888 0x1005
+#define __DRI_IMAGE_FORMAT_R8 0x1006 /* Since version 5 */
+#define __DRI_IMAGE_FORMAT_GR88 0x1007
+#define __DRI_IMAGE_FORMAT_NONE 0x1008
+
+#define __DRI_IMAGE_USE_SHARE 0x0001
+#define __DRI_IMAGE_USE_SCANOUT 0x0002
+#define __DRI_IMAGE_USE_CURSOR 0x0004 /* Depricated */
+
+
+/**
+ * Four CC formats that matches with WL_DRM_FORMAT_* from wayland_drm.h
+ * and GBM_FORMAT_* from gbm.h, used with createImageFromNames.
+ *
+ * \since 5
+ */
+
+#define __DRI_IMAGE_FOURCC_RGB565 0x36314752
+#define __DRI_IMAGE_FOURCC_ARGB8888 0x34325241
+#define __DRI_IMAGE_FOURCC_XRGB8888 0x34325258
+#define __DRI_IMAGE_FOURCC_ABGR8888 0x34324241
+#define __DRI_IMAGE_FOURCC_XBGR8888 0x34324258
+#define __DRI_IMAGE_FOURCC_YUV410 0x39565559
+#define __DRI_IMAGE_FOURCC_YUV411 0x31315559
+#define __DRI_IMAGE_FOURCC_YUV420 0x32315559
+#define __DRI_IMAGE_FOURCC_YUV422 0x36315559
+#define __DRI_IMAGE_FOURCC_YUV444 0x34325559
+#define __DRI_IMAGE_FOURCC_NV12 0x3231564e
+#define __DRI_IMAGE_FOURCC_NV16 0x3631564e
+#define __DRI_IMAGE_FOURCC_YUYV 0x56595559
+
+
+/**
+ * Queryable on images created by createImageFromNames.
+ *
+ * RGB and RGBA are may be usable directly as images but its still
+ * recommended to call fromPlanar with plane == 0.
+ *
+ * Y_U_V, Y_UV and Y_XUXV all requires call to fromPlanar to create
+ * usable sub-images, sampling from images return raw YUV data and
+ * color conversion needs to be done in the shader.
+ *
+ * \since 5
+ */
+
+#define __DRI_IMAGE_COMPONENTS_RGB 0x3001
+#define __DRI_IMAGE_COMPONENTS_RGBA 0x3002
+#define __DRI_IMAGE_COMPONENTS_Y_U_V 0x3003
+#define __DRI_IMAGE_COMPONENTS_Y_UV 0x3004
+#define __DRI_IMAGE_COMPONENTS_Y_XUXV 0x3005
+
+
+/**
+ * queryImage attributes
+ */
+
+#define __DRI_IMAGE_ATTRIB_STRIDE 0x2000
+#define __DRI_IMAGE_ATTRIB_HANDLE 0x2001
+#define __DRI_IMAGE_ATTRIB_NAME 0x2002
+#define __DRI_IMAGE_ATTRIB_FORMAT 0x2003 /* available in versions 3+ */
+#define __DRI_IMAGE_ATTRIB_WIDTH 0x2004 /* available in versions 4+ */
+#define __DRI_IMAGE_ATTRIB_HEIGHT 0x2005
+#define __DRI_IMAGE_ATTRIB_COMPONENTS 0x2006 /* available in versions 5+ */
+
+typedef struct __DRIimageRec __DRIimage;
+typedef struct __DRIimageExtensionRec __DRIimageExtension;
+struct __DRIimageExtensionRec {
+ __DRIextension base;
+
+ __DRIimage *(*createImageFromName)(__DRIscreen *screen,
+ int width, int height, int format,
+ int name, int pitch,
+ void *loaderPrivate);
+
+ __DRIimage *(*createImageFromRenderbuffer)(__DRIcontext *context,
+ int renderbuffer,
+ void *loaderPrivate);
+
+ void (*destroyImage)(__DRIimage *image);
+
+ __DRIimage *(*createImage)(__DRIscreen *screen,
+ int width, int height, int format,
+ unsigned int use,
+ void *loaderPrivate);
+
+ GLboolean (*queryImage)(__DRIimage *image, int attrib, int *value);
+
+ /**
+ * The new __DRIimage will share the content with the old one, see dup(2).
+ */
+ __DRIimage *(*dupImage)(__DRIimage *image, void *loaderPrivate);
+
+ /**
+ * Validate that a __DRIimage can be used a certain way.
+ *
+ * \since 2
+ */
+ GLboolean (*validateUsage)(__DRIimage *image, unsigned int use);
+
+ /**
+ * Unlike createImageFromName __DRI_IMAGE_FORMAT is not but instead
+ * __DRI_IMAGE_FOURCC and strides are in bytes not pixels. Stride is
+ * also per block and not per pixel (for non-RGB, see gallium blocks).
+ *
+ * \since 5
+ */
+ __DRIimage *(*createImageFromNames)(__DRIscreen *screen,
+ int width, int height, int fourcc,
+ int *names, int num_names,
+ int *strides, int *offsets,
+ void *loaderPrivate);
+
+ /**
+ * Create an image out of a sub-region of a parent image. This
+ * entry point lets us create individual __DRIimages for different
+ * planes in a planar buffer (typically yuv), for example. While a
+ * sub-image shares the underlying buffer object with the parent
+ * image and other sibling sub-images, the life times of parent and
+ * sub-images are not dependent. Destroying the parent or a
+ * sub-image doesn't affect other images. The underlying buffer
+ * object is free when no __DRIimage remains that references it.
+ *
+ * Sub-images may overlap, but rendering to overlapping sub-images
+ * is undefined.
+ *
+ * \since 5
+ */
+ __DRIimage *(*fromPlanar)(__DRIimage *image, int plane,
+ void *loaderPrivate);
+};
+
+
+/**
+ * This extension must be implemented by the loader and passed to the
+ * driver at screen creation time. The EGLImage entry points in the
+ * various client APIs take opaque EGLImage handles and use this
+ * extension to map them to a __DRIimage. At version 1, this
+ * extensions allows mapping EGLImage pointers to __DRIimage pointers,
+ * but future versions could support other EGLImage-like, opaque types
+ * with new lookup functions.
+ */
+#define __DRI_IMAGE_LOOKUP "DRI_IMAGE_LOOKUP"
+#define __DRI_IMAGE_LOOKUP_VERSION 1
+
+typedef struct __DRIimageLookupExtensionRec __DRIimageLookupExtension;
+struct __DRIimageLookupExtensionRec {
+ __DRIextension base;
+
+ __DRIimage *(*lookupEGLImage)(__DRIscreen *screen, void *image,
+ void *loaderPrivate);
+};
+
+/**
+ * This extension allows for common DRI2 options
+ */
+#define __DRI2_CONFIG_QUERY "DRI_CONFIG_QUERY"
+#define __DRI2_CONFIG_QUERY_VERSION 1
+
+typedef struct __DRI2configQueryExtensionRec __DRI2configQueryExtension;
+struct __DRI2configQueryExtensionRec {
+ __DRIextension base;
+
+ int (*configQueryb)(__DRIscreen *screen, const char *var, GLboolean *val);
+ int (*configQueryi)(__DRIscreen *screen, const char *var, GLint *val);
+ int (*configQueryf)(__DRIscreen *screen, const char *var, GLfloat *val);
+};
+
+/**
+ * Robust context driver extension.
+ *
+ * Existence of this extension means the driver can accept the
+ * \c __DRI_CTX_FLAG_ROBUST_BUFFER_ACCESS flag and the
+ * \c __DRI_CTX_ATTRIB_RESET_STRATEGY attribute in
+ * \c __DRIdri2ExtensionRec::createContextAttribs.
+ */
+#define __DRI2_ROBUSTNESS "DRI_Robustness"
+#define __DRI2_ROBUSTNESS_VERSION 1
+
+typedef struct __DRIrobustnessExtensionRec __DRIrobustnessExtension;
+struct __DRIrobustnessExtensionRec {
+ __DRIextension base;
+};
+
+#endif
diff --git a/stream-servers/apigen-codec-common/X11/DECkeysym.h b/stream-servers/apigen-codec-common/X11/DECkeysym.h
new file mode 100644
index 0000000..0730716
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/DECkeysym.h
@@ -0,0 +1,65 @@
+/***********************************************************
+
+Copyright 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+/*
+ * DEC private keysyms
+ * (29th bit set)
+ */
+
+/* two-key compose sequence initiators, chosen to map to Latin1 characters */
+
+#define DXK_ring_accent 0x1000FEB0
+#define DXK_circumflex_accent 0x1000FE5E
+#define DXK_cedilla_accent 0x1000FE2C
+#define DXK_acute_accent 0x1000FE27
+#define DXK_grave_accent 0x1000FE60
+#define DXK_tilde 0x1000FE7E
+#define DXK_diaeresis 0x1000FE22
+
+/* special keysym for LK2** "Remove" key on editing keypad */
+
+#define DXK_Remove 0x1000FF00 /* Remove */
diff --git a/stream-servers/apigen-codec-common/X11/HPkeysym.h b/stream-servers/apigen-codec-common/X11/HPkeysym.h
new file mode 100644
index 0000000..ed000b1
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/HPkeysym.h
@@ -0,0 +1,164 @@
+/*
+
+Copyright 1987, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the names of Hewlett Packard
+or Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+HEWLETT-PACKARD MAKES NO WARRANTY OF ANY KIND WITH REGARD
+TO THIS SOFWARE, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. Hewlett-Packard shall not be liable for errors
+contained herein or direct, indirect, special, incidental or
+consequential damages in connection with the furnishing,
+performance, or use of this material.
+
+*/
+
+#ifndef _HPKEYSYM_H
+
+#define _HPKEYSYM
+
+#define hpXK_ClearLine 0x1000FF6F
+#define hpXK_InsertLine 0x1000FF70
+#define hpXK_DeleteLine 0x1000FF71
+#define hpXK_InsertChar 0x1000FF72
+#define hpXK_DeleteChar 0x1000FF73
+#define hpXK_BackTab 0x1000FF74
+#define hpXK_KP_BackTab 0x1000FF75
+#define hpXK_Modelock1 0x1000FF48
+#define hpXK_Modelock2 0x1000FF49
+#define hpXK_Reset 0x1000FF6C
+#define hpXK_System 0x1000FF6D
+#define hpXK_User 0x1000FF6E
+#define hpXK_mute_acute 0x100000A8
+#define hpXK_mute_grave 0x100000A9
+#define hpXK_mute_asciicircum 0x100000AA
+#define hpXK_mute_diaeresis 0x100000AB
+#define hpXK_mute_asciitilde 0x100000AC
+#define hpXK_lira 0x100000AF
+#define hpXK_guilder 0x100000BE
+#define hpXK_Ydiaeresis 0x100000EE
+#define hpXK_IO 0x100000EE
+#define hpXK_longminus 0x100000F6
+#define hpXK_block 0x100000FC
+
+
+#ifndef _OSF_Keysyms
+#define _OSF_Keysyms
+
+#define osfXK_Copy 0x1004FF02
+#define osfXK_Cut 0x1004FF03
+#define osfXK_Paste 0x1004FF04
+#define osfXK_BackTab 0x1004FF07
+#define osfXK_BackSpace 0x1004FF08
+#define osfXK_Clear 0x1004FF0B
+#define osfXK_Escape 0x1004FF1B
+#define osfXK_AddMode 0x1004FF31
+#define osfXK_PrimaryPaste 0x1004FF32
+#define osfXK_QuickPaste 0x1004FF33
+#define osfXK_PageLeft 0x1004FF40
+#define osfXK_PageUp 0x1004FF41
+#define osfXK_PageDown 0x1004FF42
+#define osfXK_PageRight 0x1004FF43
+#define osfXK_Activate 0x1004FF44
+#define osfXK_MenuBar 0x1004FF45
+#define osfXK_Left 0x1004FF51
+#define osfXK_Up 0x1004FF52
+#define osfXK_Right 0x1004FF53
+#define osfXK_Down 0x1004FF54
+#define osfXK_EndLine 0x1004FF57
+#define osfXK_BeginLine 0x1004FF58
+#define osfXK_EndData 0x1004FF59
+#define osfXK_BeginData 0x1004FF5A
+#define osfXK_PrevMenu 0x1004FF5B
+#define osfXK_NextMenu 0x1004FF5C
+#define osfXK_PrevField 0x1004FF5D
+#define osfXK_NextField 0x1004FF5E
+#define osfXK_Select 0x1004FF60
+#define osfXK_Insert 0x1004FF63
+#define osfXK_Undo 0x1004FF65
+#define osfXK_Menu 0x1004FF67
+#define osfXK_Cancel 0x1004FF69
+#define osfXK_Help 0x1004FF6A
+#define osfXK_SelectAll 0x1004FF71
+#define osfXK_DeselectAll 0x1004FF72
+#define osfXK_Reselect 0x1004FF73
+#define osfXK_Extend 0x1004FF74
+#define osfXK_Restore 0x1004FF78
+#define osfXK_Delete 0x1004FFFF
+
+#endif /* _OSF_Keysyms */
+
+
+/**************************************************************
+ * The use of the following macros is deprecated.
+ * They are listed below only for backwards compatibility.
+ */
+#define XK_Reset 0x1000FF6C
+#define XK_System 0x1000FF6D
+#define XK_User 0x1000FF6E
+#define XK_ClearLine 0x1000FF6F
+#define XK_InsertLine 0x1000FF70
+#define XK_DeleteLine 0x1000FF71
+#define XK_InsertChar 0x1000FF72
+#define XK_DeleteChar 0x1000FF73
+#define XK_BackTab 0x1000FF74
+#define XK_KP_BackTab 0x1000FF75
+#define XK_Ext16bit_L 0x1000FF76
+#define XK_Ext16bit_R 0x1000FF77
+#define XK_mute_acute 0x100000a8
+#define XK_mute_grave 0x100000a9
+#define XK_mute_asciicircum 0x100000aa
+#define XK_mute_diaeresis 0x100000ab
+#define XK_mute_asciitilde 0x100000ac
+#define XK_lira 0x100000af
+#define XK_guilder 0x100000be
+#ifndef XK_Ydiaeresis
+#define XK_Ydiaeresis 0x100000ee
+#endif
+#define XK_IO 0x100000ee
+#define XK_longminus 0x100000f6
+#define XK_block 0x100000fc
+
+#endif /* _HPKEYSYM_H */
diff --git a/stream-servers/apigen-codec-common/X11/ImUtil.h b/stream-servers/apigen-codec-common/X11/ImUtil.h
new file mode 100644
index 0000000..ffdba1a
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/ImUtil.h
@@ -0,0 +1,30 @@
+
+#ifndef _X11_IMUTIL_H_
+#define _X11_IMUTIL_H_
+
+extern int
+_XGetScanlinePad(
+ Display *dpy,
+ int depth);
+
+extern int
+_XGetBitsPerPixel(
+ Display *dpy,
+ int depth);
+
+extern int
+_XSetImage(
+ XImage *srcimg,
+ register XImage *dstimg,
+ register int x,
+ register int y);
+
+extern int
+_XReverse_Bytes(
+ register unsigned char *bpt,
+ register int nb);
+extern void
+_XInitImageFuncPtrs(
+ register XImage *image);
+
+#endif /* _X11_IMUTIL_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/Sunkeysym.h b/stream-servers/apigen-codec-common/X11/Sunkeysym.h
new file mode 100644
index 0000000..78d1286
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/Sunkeysym.h
@@ -0,0 +1,106 @@
+/*
+ * Copyright (c) 1991, Oracle and/or its affiliates. All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+/************************************************************
+
+Copyright 1991, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+***********************************************************/
+
+/*
+ * Floating Accent
+ */
+
+#define SunXK_FA_Grave 0x1005FF00
+#define SunXK_FA_Circum 0x1005FF01
+#define SunXK_FA_Tilde 0x1005FF02
+#define SunXK_FA_Acute 0x1005FF03
+#define SunXK_FA_Diaeresis 0x1005FF04
+#define SunXK_FA_Cedilla 0x1005FF05
+
+/*
+ * Miscellaneous Functions
+ */
+
+#define SunXK_F36 0x1005FF10 /* Labeled F11 */
+#define SunXK_F37 0x1005FF11 /* Labeled F12 */
+
+#define SunXK_Sys_Req 0x1005FF60
+#define SunXK_Print_Screen 0x0000FF61 /* Same as XK_Print */
+
+/*
+ * International & Multi-Key Character Composition
+ */
+
+#define SunXK_Compose 0x0000FF20 /* Same as XK_Multi_key */
+#define SunXK_AltGraph 0x0000FF7E /* Same as XK_Mode_switch */
+
+/*
+ * Cursor Control
+ */
+
+#define SunXK_PageUp 0x0000FF55 /* Same as XK_Prior */
+#define SunXK_PageDown 0x0000FF56 /* Same as XK_Next */
+
+/*
+ * Open Look Functions
+ */
+
+#define SunXK_Undo 0x0000FF65 /* Same as XK_Undo */
+#define SunXK_Again 0x0000FF66 /* Same as XK_Redo */
+#define SunXK_Find 0x0000FF68 /* Same as XK_Find */
+#define SunXK_Stop 0x0000FF69 /* Same as XK_Cancel */
+#define SunXK_Props 0x1005FF70
+#define SunXK_Front 0x1005FF71
+#define SunXK_Copy 0x1005FF72
+#define SunXK_Open 0x1005FF73
+#define SunXK_Paste 0x1005FF74
+#define SunXK_Cut 0x1005FF75
+
+#define SunXK_PowerSwitch 0x1005FF76
+#define SunXK_AudioLowerVolume 0x1005FF77
+#define SunXK_AudioMute 0x1005FF78
+#define SunXK_AudioRaiseVolume 0x1005FF79
+#define SunXK_VideoDegauss 0x1005FF7A
+#define SunXK_VideoLowerBrightness 0x1005FF7B
+#define SunXK_VideoRaiseBrightness 0x1005FF7C
+#define SunXK_PowerSwitchShift 0x1005FF7D
diff --git a/stream-servers/apigen-codec-common/X11/X.h b/stream-servers/apigen-codec-common/X11/X.h
new file mode 100644
index 0000000..5cf695d
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/X.h
@@ -0,0 +1,717 @@
+/* Definitions for the X window system likely to be used by applications */
+
+#ifndef X_H
+#define X_H
+
+/***********************************************************
+
+Copyright 1987, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+#define X_PROTOCOL 11 /* current protocol version */
+#define X_PROTOCOL_REVISION 0 /* current minor version */
+
+/* Resources */
+
+/*
+ * _XSERVER64 must ONLY be defined when compiling X server sources on
+ * systems where unsigned long is not 32 bits, must NOT be used in
+ * client or library code.
+ */
+#ifndef _XSERVER64
+# ifndef _XTYPEDEF_XID
+# define _XTYPEDEF_XID
+typedef unsigned long XID;
+# endif
+# ifndef _XTYPEDEF_MASK
+# define _XTYPEDEF_MASK
+typedef unsigned long Mask;
+# endif
+# ifndef _XTYPEDEF_ATOM
+# define _XTYPEDEF_ATOM
+typedef unsigned long Atom; /* Also in Xdefs.h */
+# endif
+typedef unsigned long VisualID;
+typedef unsigned long Time;
+#else
+# include <X11/Xmd.h>
+# ifndef _XTYPEDEF_XID
+# define _XTYPEDEF_XID
+typedef CARD32 XID;
+# endif
+# ifndef _XTYPEDEF_MASK
+# define _XTYPEDEF_MASK
+typedef CARD32 Mask;
+# endif
+# ifndef _XTYPEDEF_ATOM
+# define _XTYPEDEF_ATOM
+typedef CARD32 Atom;
+# endif
+typedef CARD32 VisualID;
+typedef CARD32 Time;
+#endif
+
+typedef XID Window;
+typedef XID Drawable;
+#ifndef _XTYPEDEF_FONT
+# define _XTYPEDEF_FONT
+typedef XID Font;
+#endif
+typedef XID Pixmap;
+typedef XID Cursor;
+typedef XID Colormap;
+typedef XID GContext;
+typedef XID KeySym;
+
+typedef unsigned char KeyCode;
+
+/*****************************************************************
+ * RESERVED RESOURCE AND CONSTANT DEFINITIONS
+ *****************************************************************/
+
+#ifndef None
+#define None 0L /* universal null resource or null atom */
+#endif
+
+#define ParentRelative 1L /* background pixmap in CreateWindow
+ and ChangeWindowAttributes */
+
+#define CopyFromParent 0L /* border pixmap in CreateWindow
+ and ChangeWindowAttributes
+ special VisualID and special window
+ class passed to CreateWindow */
+
+#define PointerWindow 0L /* destination window in SendEvent */
+#define InputFocus 1L /* destination window in SendEvent */
+
+#define PointerRoot 1L /* focus window in SetInputFocus */
+
+#define AnyPropertyType 0L /* special Atom, passed to GetProperty */
+
+#define AnyKey 0L /* special Key Code, passed to GrabKey */
+
+#define AnyButton 0L /* special Button Code, passed to GrabButton */
+
+#define AllTemporary 0L /* special Resource ID passed to KillClient */
+
+#define CurrentTime 0L /* special Time */
+
+#define NoSymbol 0L /* special KeySym */
+
+/*****************************************************************
+ * EVENT DEFINITIONS
+ *****************************************************************/
+
+/* Input Event Masks. Used as event-mask window attribute and as arguments
+ to Grab requests. Not to be confused with event names. */
+
+#define NoEventMask 0L
+#define KeyPressMask (1L<<0)
+#define KeyReleaseMask (1L<<1)
+#define ButtonPressMask (1L<<2)
+#define ButtonReleaseMask (1L<<3)
+#define EnterWindowMask (1L<<4)
+#define LeaveWindowMask (1L<<5)
+#define PointerMotionMask (1L<<6)
+#define PointerMotionHintMask (1L<<7)
+#define Button1MotionMask (1L<<8)
+#define Button2MotionMask (1L<<9)
+#define Button3MotionMask (1L<<10)
+#define Button4MotionMask (1L<<11)
+#define Button5MotionMask (1L<<12)
+#define ButtonMotionMask (1L<<13)
+#define KeymapStateMask (1L<<14)
+#define ExposureMask (1L<<15)
+#define VisibilityChangeMask (1L<<16)
+#define StructureNotifyMask (1L<<17)
+#define ResizeRedirectMask (1L<<18)
+#define SubstructureNotifyMask (1L<<19)
+#define SubstructureRedirectMask (1L<<20)
+#define FocusChangeMask (1L<<21)
+#define PropertyChangeMask (1L<<22)
+#define ColormapChangeMask (1L<<23)
+#define OwnerGrabButtonMask (1L<<24)
+
+/* Event names. Used in "type" field in XEvent structures. Not to be
+confused with event masks above. They start from 2 because 0 and 1
+are reserved in the protocol for errors and replies. */
+
+#define KeyPress 2
+#define KeyRelease 3
+#define ButtonPress 4
+#define ButtonRelease 5
+#define MotionNotify 6
+#define EnterNotify 7
+#define LeaveNotify 8
+#define FocusIn 9
+#define FocusOut 10
+#define KeymapNotify 11
+#define Expose 12
+#define GraphicsExpose 13
+#define NoExpose 14
+#define VisibilityNotify 15
+#define CreateNotify 16
+#define DestroyNotify 17
+#define UnmapNotify 18
+#define MapNotify 19
+#define MapRequest 20
+#define ReparentNotify 21
+#define ConfigureNotify 22
+#define ConfigureRequest 23
+#define GravityNotify 24
+#define ResizeRequest 25
+#define CirculateNotify 26
+#define CirculateRequest 27
+#define PropertyNotify 28
+#define SelectionClear 29
+#define SelectionRequest 30
+#define SelectionNotify 31
+#define ColormapNotify 32
+#define ClientMessage 33
+#define MappingNotify 34
+#define GenericEvent 35
+#define LASTEvent 36 /* must be bigger than any event # */
+
+
+/* Key masks. Used as modifiers to GrabButton and GrabKey, results of QueryPointer,
+ state in various key-, mouse-, and button-related events. */
+
+#define ShiftMask (1<<0)
+#define LockMask (1<<1)
+#define ControlMask (1<<2)
+#define Mod1Mask (1<<3)
+#define Mod2Mask (1<<4)
+#define Mod3Mask (1<<5)
+#define Mod4Mask (1<<6)
+#define Mod5Mask (1<<7)
+
+/* modifier names. Used to build a SetModifierMapping request or
+ to read a GetModifierMapping request. These correspond to the
+ masks defined above. */
+#define ShiftMapIndex 0
+#define LockMapIndex 1
+#define ControlMapIndex 2
+#define Mod1MapIndex 3
+#define Mod2MapIndex 4
+#define Mod3MapIndex 5
+#define Mod4MapIndex 6
+#define Mod5MapIndex 7
+
+
+/* button masks. Used in same manner as Key masks above. Not to be confused
+ with button names below. */
+
+#define Button1Mask (1<<8)
+#define Button2Mask (1<<9)
+#define Button3Mask (1<<10)
+#define Button4Mask (1<<11)
+#define Button5Mask (1<<12)
+
+#define AnyModifier (1<<15) /* used in GrabButton, GrabKey */
+
+
+/* button names. Used as arguments to GrabButton and as detail in ButtonPress
+ and ButtonRelease events. Not to be confused with button masks above.
+ Note that 0 is already defined above as "AnyButton". */
+
+#define Button1 1
+#define Button2 2
+#define Button3 3
+#define Button4 4
+#define Button5 5
+
+/* Notify modes */
+
+#define NotifyNormal 0
+#define NotifyGrab 1
+#define NotifyUngrab 2
+#define NotifyWhileGrabbed 3
+
+#define NotifyHint 1 /* for MotionNotify events */
+
+/* Notify detail */
+
+#define NotifyAncestor 0
+#define NotifyVirtual 1
+#define NotifyInferior 2
+#define NotifyNonlinear 3
+#define NotifyNonlinearVirtual 4
+#define NotifyPointer 5
+#define NotifyPointerRoot 6
+#define NotifyDetailNone 7
+
+/* Visibility notify */
+
+#define VisibilityUnobscured 0
+#define VisibilityPartiallyObscured 1
+#define VisibilityFullyObscured 2
+
+/* Circulation request */
+
+#define PlaceOnTop 0
+#define PlaceOnBottom 1
+
+/* protocol families */
+
+#define FamilyInternet 0 /* IPv4 */
+#define FamilyDECnet 1
+#define FamilyChaos 2
+#define FamilyInternet6 6 /* IPv6 */
+
+/* authentication families not tied to a specific protocol */
+#define FamilyServerInterpreted 5
+
+/* Property notification */
+
+#define PropertyNewValue 0
+#define PropertyDelete 1
+
+/* Color Map notification */
+
+#define ColormapUninstalled 0
+#define ColormapInstalled 1
+
+/* GrabPointer, GrabButton, GrabKeyboard, GrabKey Modes */
+
+#define GrabModeSync 0
+#define GrabModeAsync 1
+
+/* GrabPointer, GrabKeyboard reply status */
+
+#define GrabSuccess 0
+#define AlreadyGrabbed 1
+#define GrabInvalidTime 2
+#define GrabNotViewable 3
+#define GrabFrozen 4
+
+/* AllowEvents modes */
+
+#define AsyncPointer 0
+#define SyncPointer 1
+#define ReplayPointer 2
+#define AsyncKeyboard 3
+#define SyncKeyboard 4
+#define ReplayKeyboard 5
+#define AsyncBoth 6
+#define SyncBoth 7
+
+/* Used in SetInputFocus, GetInputFocus */
+
+#define RevertToNone (int)None
+#define RevertToPointerRoot (int)PointerRoot
+#define RevertToParent 2
+
+/*****************************************************************
+ * ERROR CODES
+ *****************************************************************/
+
+#define Success 0 /* everything's okay */
+#define BadRequest 1 /* bad request code */
+#define BadValue 2 /* int parameter out of range */
+#define BadWindow 3 /* parameter not a Window */
+#define BadPixmap 4 /* parameter not a Pixmap */
+#define BadAtom 5 /* parameter not an Atom */
+#define BadCursor 6 /* parameter not a Cursor */
+#define BadFont 7 /* parameter not a Font */
+#define BadMatch 8 /* parameter mismatch */
+#define BadDrawable 9 /* parameter not a Pixmap or Window */
+#define BadAccess 10 /* depending on context:
+ - key/button already grabbed
+ - attempt to free an illegal
+ cmap entry
+ - attempt to store into a read-only
+ color map entry.
+ - attempt to modify the access control
+ list from other than the local host.
+ */
+#define BadAlloc 11 /* insufficient resources */
+#define BadColor 12 /* no such colormap */
+#define BadGC 13 /* parameter not a GC */
+#define BadIDChoice 14 /* choice not in range or already used */
+#define BadName 15 /* font or color name doesn't exist */
+#define BadLength 16 /* Request length incorrect */
+#define BadImplementation 17 /* server is defective */
+
+#define FirstExtensionError 128
+#define LastExtensionError 255
+
+/*****************************************************************
+ * WINDOW DEFINITIONS
+ *****************************************************************/
+
+/* Window classes used by CreateWindow */
+/* Note that CopyFromParent is already defined as 0 above */
+
+#define InputOutput 1
+#define InputOnly 2
+
+/* Window attributes for CreateWindow and ChangeWindowAttributes */
+
+#define CWBackPixmap (1L<<0)
+#define CWBackPixel (1L<<1)
+#define CWBorderPixmap (1L<<2)
+#define CWBorderPixel (1L<<3)
+#define CWBitGravity (1L<<4)
+#define CWWinGravity (1L<<5)
+#define CWBackingStore (1L<<6)
+#define CWBackingPlanes (1L<<7)
+#define CWBackingPixel (1L<<8)
+#define CWOverrideRedirect (1L<<9)
+#define CWSaveUnder (1L<<10)
+#define CWEventMask (1L<<11)
+#define CWDontPropagate (1L<<12)
+#define CWColormap (1L<<13)
+#define CWCursor (1L<<14)
+
+/* ConfigureWindow structure */
+
+#define CWX (1<<0)
+#define CWY (1<<1)
+#define CWWidth (1<<2)
+#define CWHeight (1<<3)
+#define CWBorderWidth (1<<4)
+#define CWSibling (1<<5)
+#define CWStackMode (1<<6)
+
+
+/* Bit Gravity */
+
+#define ForgetGravity 0
+#define NorthWestGravity 1
+#define NorthGravity 2
+#define NorthEastGravity 3
+#define WestGravity 4
+#define CenterGravity 5
+#define EastGravity 6
+#define SouthWestGravity 7
+#define SouthGravity 8
+#define SouthEastGravity 9
+#define StaticGravity 10
+
+/* Window gravity + bit gravity above */
+
+#define UnmapGravity 0
+
+/* Used in CreateWindow for backing-store hint */
+
+#define NotUseful 0
+#define WhenMapped 1
+#define Always 2
+
+/* Used in GetWindowAttributes reply */
+
+#define IsUnmapped 0
+#define IsUnviewable 1
+#define IsViewable 2
+
+/* Used in ChangeSaveSet */
+
+#define SetModeInsert 0
+#define SetModeDelete 1
+
+/* Used in ChangeCloseDownMode */
+
+#define DestroyAll 0
+#define RetainPermanent 1
+#define RetainTemporary 2
+
+/* Window stacking method (in configureWindow) */
+
+#define Above 0
+#define Below 1
+#define TopIf 2
+#define BottomIf 3
+#define Opposite 4
+
+/* Circulation direction */
+
+#define RaiseLowest 0
+#define LowerHighest 1
+
+/* Property modes */
+
+#define PropModeReplace 0
+#define PropModePrepend 1
+#define PropModeAppend 2
+
+/*****************************************************************
+ * GRAPHICS DEFINITIONS
+ *****************************************************************/
+
+/* graphics functions, as in GC.alu */
+
+#define GXclear 0x0 /* 0 */
+#define GXand 0x1 /* src AND dst */
+#define GXandReverse 0x2 /* src AND NOT dst */
+#define GXcopy 0x3 /* src */
+#define GXandInverted 0x4 /* NOT src AND dst */
+#define GXnoop 0x5 /* dst */
+#define GXxor 0x6 /* src XOR dst */
+#define GXor 0x7 /* src OR dst */
+#define GXnor 0x8 /* NOT src AND NOT dst */
+#define GXequiv 0x9 /* NOT src XOR dst */
+#define GXinvert 0xa /* NOT dst */
+#define GXorReverse 0xb /* src OR NOT dst */
+#define GXcopyInverted 0xc /* NOT src */
+#define GXorInverted 0xd /* NOT src OR dst */
+#define GXnand 0xe /* NOT src OR NOT dst */
+#define GXset 0xf /* 1 */
+
+/* LineStyle */
+
+#define LineSolid 0
+#define LineOnOffDash 1
+#define LineDoubleDash 2
+
+/* capStyle */
+
+#define CapNotLast 0
+#define CapButt 1
+#define CapRound 2
+#define CapProjecting 3
+
+/* joinStyle */
+
+#define JoinMiter 0
+#define JoinRound 1
+#define JoinBevel 2
+
+/* fillStyle */
+
+#define FillSolid 0
+#define FillTiled 1
+#define FillStippled 2
+#define FillOpaqueStippled 3
+
+/* fillRule */
+
+#define EvenOddRule 0
+#define WindingRule 1
+
+/* subwindow mode */
+
+#define ClipByChildren 0
+#define IncludeInferiors 1
+
+/* SetClipRectangles ordering */
+
+#define Unsorted 0
+#define YSorted 1
+#define YXSorted 2
+#define YXBanded 3
+
+/* CoordinateMode for drawing routines */
+
+#define CoordModeOrigin 0 /* relative to the origin */
+#define CoordModePrevious 1 /* relative to previous point */
+
+/* Polygon shapes */
+
+#define Complex 0 /* paths may intersect */
+#define Nonconvex 1 /* no paths intersect, but not convex */
+#define Convex 2 /* wholly convex */
+
+/* Arc modes for PolyFillArc */
+
+#define ArcChord 0 /* join endpoints of arc */
+#define ArcPieSlice 1 /* join endpoints to center of arc */
+
+/* GC components: masks used in CreateGC, CopyGC, ChangeGC, OR'ed into
+ GC.stateChanges */
+
+#define GCFunction (1L<<0)
+#define GCPlaneMask (1L<<1)
+#define GCForeground (1L<<2)
+#define GCBackground (1L<<3)
+#define GCLineWidth (1L<<4)
+#define GCLineStyle (1L<<5)
+#define GCCapStyle (1L<<6)
+#define GCJoinStyle (1L<<7)
+#define GCFillStyle (1L<<8)
+#define GCFillRule (1L<<9)
+#define GCTile (1L<<10)
+#define GCStipple (1L<<11)
+#define GCTileStipXOrigin (1L<<12)
+#define GCTileStipYOrigin (1L<<13)
+#define GCFont (1L<<14)
+#define GCSubwindowMode (1L<<15)
+#define GCGraphicsExposures (1L<<16)
+#define GCClipXOrigin (1L<<17)
+#define GCClipYOrigin (1L<<18)
+#define GCClipMask (1L<<19)
+#define GCDashOffset (1L<<20)
+#define GCDashList (1L<<21)
+#define GCArcMode (1L<<22)
+
+#define GCLastBit 22
+/*****************************************************************
+ * FONTS
+ *****************************************************************/
+
+/* used in QueryFont -- draw direction */
+
+#define FontLeftToRight 0
+#define FontRightToLeft 1
+
+#define FontChange 255
+
+/*****************************************************************
+ * IMAGING
+ *****************************************************************/
+
+/* ImageFormat -- PutImage, GetImage */
+
+#define XYBitmap 0 /* depth 1, XYFormat */
+#define XYPixmap 1 /* depth == drawable depth */
+#define ZPixmap 2 /* depth == drawable depth */
+
+/*****************************************************************
+ * COLOR MAP STUFF
+ *****************************************************************/
+
+/* For CreateColormap */
+
+#define AllocNone 0 /* create map with no entries */
+#define AllocAll 1 /* allocate entire map writeable */
+
+
+/* Flags used in StoreNamedColor, StoreColors */
+
+#define DoRed (1<<0)
+#define DoGreen (1<<1)
+#define DoBlue (1<<2)
+
+/*****************************************************************
+ * CURSOR STUFF
+ *****************************************************************/
+
+/* QueryBestSize Class */
+
+#define CursorShape 0 /* largest size that can be displayed */
+#define TileShape 1 /* size tiled fastest */
+#define StippleShape 2 /* size stippled fastest */
+
+/*****************************************************************
+ * KEYBOARD/POINTER STUFF
+ *****************************************************************/
+
+#define AutoRepeatModeOff 0
+#define AutoRepeatModeOn 1
+#define AutoRepeatModeDefault 2
+
+#define LedModeOff 0
+#define LedModeOn 1
+
+/* masks for ChangeKeyboardControl */
+
+#define KBKeyClickPercent (1L<<0)
+#define KBBellPercent (1L<<1)
+#define KBBellPitch (1L<<2)
+#define KBBellDuration (1L<<3)
+#define KBLed (1L<<4)
+#define KBLedMode (1L<<5)
+#define KBKey (1L<<6)
+#define KBAutoRepeatMode (1L<<7)
+
+#define MappingSuccess 0
+#define MappingBusy 1
+#define MappingFailed 2
+
+#define MappingModifier 0
+#define MappingKeyboard 1
+#define MappingPointer 2
+
+/*****************************************************************
+ * SCREEN SAVER STUFF
+ *****************************************************************/
+
+#define DontPreferBlanking 0
+#define PreferBlanking 1
+#define DefaultBlanking 2
+
+#define DisableScreenSaver 0
+#define DisableScreenInterval 0
+
+#define DontAllowExposures 0
+#define AllowExposures 1
+#define DefaultExposures 2
+
+/* for ForceScreenSaver */
+
+#define ScreenSaverReset 0
+#define ScreenSaverActive 1
+
+/*****************************************************************
+ * HOSTS AND CONNECTIONS
+ *****************************************************************/
+
+/* for ChangeHosts */
+
+#define HostInsert 0
+#define HostDelete 1
+
+/* for ChangeAccessControl */
+
+#define EnableAccess 1
+#define DisableAccess 0
+
+/* Display classes used in opening the connection
+ * Note that the statically allocated ones are even numbered and the
+ * dynamically changeable ones are odd numbered */
+
+#define StaticGray 0
+#define GrayScale 1
+#define StaticColor 2
+#define PseudoColor 3
+#define TrueColor 4
+#define DirectColor 5
+
+
+/* Byte order used in imageByteOrder and bitmapBitOrder */
+
+#define LSBFirst 0
+#define MSBFirst 1
+
+#endif /* X_H */
diff --git a/stream-servers/apigen-codec-common/X11/XF86keysym.h b/stream-servers/apigen-codec-common/X11/XF86keysym.h
new file mode 100644
index 0000000..df5e9cc
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/XF86keysym.h
@@ -0,0 +1,233 @@
+/*
+ * XFree86 vendor specific keysyms.
+ *
+ * The XFree86 keysym range is 0x10080001 - 0x1008FFFF.
+ *
+ * When adding new entries, the xc/lib/XKeysymDB file should also be
+ * updated to make the new entries visible to Xlib.
+ */
+
+/*
+ * ModeLock
+ *
+ * This one is old, and not really used any more since XKB offers this
+ * functionality.
+ */
+
+#define XF86XK_ModeLock 0x1008FF01 /* Mode Switch Lock */
+
+/*
+ * Note, 0x1008FF07 - 0x1008FF0F are free and should be used for misc new
+ * keysyms that don't fit into any of the groups below.
+ *
+ * 0x1008FF64, 0x1008FF6F, 0x1008FF71, 0x1008FF83 are no longer used,
+ * and should be used first for new keysyms.
+ *
+ * Check in keysymdef.h for generic symbols before adding new XFree86-specific
+ * symbols here.
+ *
+ * X.Org will not be adding to the XF86 set of keysyms, though they have
+ * been adopted and are considered a "standard" part of X keysym definitions.
+ * XFree86 never properly commented these keysyms, so we have done our
+ * best to explain the semantic meaning of these keys.
+ *
+ * XFree86 has removed their mail archives of the period, that might have
+ * shed more light on some of these definitions. Until/unless we resurrect
+ * these archives, these are from memory and usage.
+ */
+
+
+/* Backlight controls. */
+#define XF86XK_MonBrightnessUp 0x1008FF02 /* Monitor/panel brightness */
+#define XF86XK_MonBrightnessDown 0x1008FF03 /* Monitor/panel brightness */
+#define XF86XK_KbdLightOnOff 0x1008FF04 /* Keyboards may be lit */
+#define XF86XK_KbdBrightnessUp 0x1008FF05 /* Keyboards may be lit */
+#define XF86XK_KbdBrightnessDown 0x1008FF06 /* Keyboards may be lit */
+
+/*
+ * Keys found on some "Internet" keyboards.
+ */
+#define XF86XK_Standby 0x1008FF10 /* System into standby mode */
+#define XF86XK_AudioLowerVolume 0x1008FF11 /* Volume control down */
+#define XF86XK_AudioMute 0x1008FF12 /* Mute sound from the system */
+#define XF86XK_AudioRaiseVolume 0x1008FF13 /* Volume control up */
+#define XF86XK_AudioPlay 0x1008FF14 /* Start playing of audio > */
+#define XF86XK_AudioStop 0x1008FF15 /* Stop playing audio */
+#define XF86XK_AudioPrev 0x1008FF16 /* Previous track */
+#define XF86XK_AudioNext 0x1008FF17 /* Next track */
+#define XF86XK_HomePage 0x1008FF18 /* Display user's home page */
+#define XF86XK_Mail 0x1008FF19 /* Invoke user's mail program */
+#define XF86XK_Start 0x1008FF1A /* Start application */
+#define XF86XK_Search 0x1008FF1B /* Search */
+#define XF86XK_AudioRecord 0x1008FF1C /* Record audio application */
+
+/* These are sometimes found on PDA's (e.g. Palm, PocketPC or elsewhere) */
+#define XF86XK_Calculator 0x1008FF1D /* Invoke calculator program */
+#define XF86XK_Memo 0x1008FF1E /* Invoke Memo taking program */
+#define XF86XK_ToDoList 0x1008FF1F /* Invoke To Do List program */
+#define XF86XK_Calendar 0x1008FF20 /* Invoke Calendar program */
+#define XF86XK_PowerDown 0x1008FF21 /* Deep sleep the system */
+#define XF86XK_ContrastAdjust 0x1008FF22 /* Adjust screen contrast */
+#define XF86XK_RockerUp 0x1008FF23 /* Rocker switches exist up */
+#define XF86XK_RockerDown 0x1008FF24 /* and down */
+#define XF86XK_RockerEnter 0x1008FF25 /* and let you press them */
+
+/* Some more "Internet" keyboard symbols */
+#define XF86XK_Back 0x1008FF26 /* Like back on a browser */
+#define XF86XK_Forward 0x1008FF27 /* Like forward on a browser */
+#define XF86XK_Stop 0x1008FF28 /* Stop current operation */
+#define XF86XK_Refresh 0x1008FF29 /* Refresh the page */
+#define XF86XK_PowerOff 0x1008FF2A /* Power off system entirely */
+#define XF86XK_WakeUp 0x1008FF2B /* Wake up system from sleep */
+#define XF86XK_Eject 0x1008FF2C /* Eject device (e.g. DVD) */
+#define XF86XK_ScreenSaver 0x1008FF2D /* Invoke screensaver */
+#define XF86XK_WWW 0x1008FF2E /* Invoke web browser */
+#define XF86XK_Sleep 0x1008FF2F /* Put system to sleep */
+#define XF86XK_Favorites 0x1008FF30 /* Show favorite locations */
+#define XF86XK_AudioPause 0x1008FF31 /* Pause audio playing */
+#define XF86XK_AudioMedia 0x1008FF32 /* Launch media collection app */
+#define XF86XK_MyComputer 0x1008FF33 /* Display "My Computer" window */
+#define XF86XK_VendorHome 0x1008FF34 /* Display vendor home web site */
+#define XF86XK_LightBulb 0x1008FF35 /* Light bulb keys exist */
+#define XF86XK_Shop 0x1008FF36 /* Display shopping web site */
+#define XF86XK_History 0x1008FF37 /* Show history of web surfing */
+#define XF86XK_OpenURL 0x1008FF38 /* Open selected URL */
+#define XF86XK_AddFavorite 0x1008FF39 /* Add URL to favorites list */
+#define XF86XK_HotLinks 0x1008FF3A /* Show "hot" links */
+#define XF86XK_BrightnessAdjust 0x1008FF3B /* Invoke brightness adj. UI */
+#define XF86XK_Finance 0x1008FF3C /* Display financial site */
+#define XF86XK_Community 0x1008FF3D /* Display user's community */
+#define XF86XK_AudioRewind 0x1008FF3E /* "rewind" audio track */
+#define XF86XK_BackForward 0x1008FF3F /* ??? */
+#define XF86XK_Launch0 0x1008FF40 /* Launch Application */
+#define XF86XK_Launch1 0x1008FF41 /* Launch Application */
+#define XF86XK_Launch2 0x1008FF42 /* Launch Application */
+#define XF86XK_Launch3 0x1008FF43 /* Launch Application */
+#define XF86XK_Launch4 0x1008FF44 /* Launch Application */
+#define XF86XK_Launch5 0x1008FF45 /* Launch Application */
+#define XF86XK_Launch6 0x1008FF46 /* Launch Application */
+#define XF86XK_Launch7 0x1008FF47 /* Launch Application */
+#define XF86XK_Launch8 0x1008FF48 /* Launch Application */
+#define XF86XK_Launch9 0x1008FF49 /* Launch Application */
+#define XF86XK_LaunchA 0x1008FF4A /* Launch Application */
+#define XF86XK_LaunchB 0x1008FF4B /* Launch Application */
+#define XF86XK_LaunchC 0x1008FF4C /* Launch Application */
+#define XF86XK_LaunchD 0x1008FF4D /* Launch Application */
+#define XF86XK_LaunchE 0x1008FF4E /* Launch Application */
+#define XF86XK_LaunchF 0x1008FF4F /* Launch Application */
+
+#define XF86XK_ApplicationLeft 0x1008FF50 /* switch to application, left */
+#define XF86XK_ApplicationRight 0x1008FF51 /* switch to application, right*/
+#define XF86XK_Book 0x1008FF52 /* Launch bookreader */
+#define XF86XK_CD 0x1008FF53 /* Launch CD/DVD player */
+#define XF86XK_Calculater 0x1008FF54 /* Launch Calculater */
+#define XF86XK_Clear 0x1008FF55 /* Clear window, screen */
+#define XF86XK_Close 0x1008FF56 /* Close window */
+#define XF86XK_Copy 0x1008FF57 /* Copy selection */
+#define XF86XK_Cut 0x1008FF58 /* Cut selection */
+#define XF86XK_Display 0x1008FF59 /* Output switch key */
+#define XF86XK_DOS 0x1008FF5A /* Launch DOS (emulation) */
+#define XF86XK_Documents 0x1008FF5B /* Open documents window */
+#define XF86XK_Excel 0x1008FF5C /* Launch spread sheet */
+#define XF86XK_Explorer 0x1008FF5D /* Launch file explorer */
+#define XF86XK_Game 0x1008FF5E /* Launch game */
+#define XF86XK_Go 0x1008FF5F /* Go to URL */
+#define XF86XK_iTouch 0x1008FF60 /* Logitch iTouch- don't use */
+#define XF86XK_LogOff 0x1008FF61 /* Log off system */
+#define XF86XK_Market 0x1008FF62 /* ?? */
+#define XF86XK_Meeting 0x1008FF63 /* enter meeting in calendar */
+#define XF86XK_MenuKB 0x1008FF65 /* distingush keyboard from PB */
+#define XF86XK_MenuPB 0x1008FF66 /* distinuish PB from keyboard */
+#define XF86XK_MySites 0x1008FF67 /* Favourites */
+#define XF86XK_New 0x1008FF68 /* New (folder, document... */
+#define XF86XK_News 0x1008FF69 /* News */
+#define XF86XK_OfficeHome 0x1008FF6A /* Office home (old Staroffice)*/
+#define XF86XK_Open 0x1008FF6B /* Open */
+#define XF86XK_Option 0x1008FF6C /* ?? */
+#define XF86XK_Paste 0x1008FF6D /* Paste */
+#define XF86XK_Phone 0x1008FF6E /* Launch phone; dial number */
+#define XF86XK_Q 0x1008FF70 /* Compaq's Q - don't use */
+#define XF86XK_Reply 0x1008FF72 /* Reply e.g., mail */
+#define XF86XK_Reload 0x1008FF73 /* Reload web page, file, etc. */
+#define XF86XK_RotateWindows 0x1008FF74 /* Rotate windows e.g. xrandr */
+#define XF86XK_RotationPB 0x1008FF75 /* don't use */
+#define XF86XK_RotationKB 0x1008FF76 /* don't use */
+#define XF86XK_Save 0x1008FF77 /* Save (file, document, state */
+#define XF86XK_ScrollUp 0x1008FF78 /* Scroll window/contents up */
+#define XF86XK_ScrollDown 0x1008FF79 /* Scrool window/contentd down */
+#define XF86XK_ScrollClick 0x1008FF7A /* Use XKB mousekeys instead */
+#define XF86XK_Send 0x1008FF7B /* Send mail, file, object */
+#define XF86XK_Spell 0x1008FF7C /* Spell checker */
+#define XF86XK_SplitScreen 0x1008FF7D /* Split window or screen */
+#define XF86XK_Support 0x1008FF7E /* Get support (??) */
+#define XF86XK_TaskPane 0x1008FF7F /* Show tasks */
+#define XF86XK_Terminal 0x1008FF80 /* Launch terminal emulator */
+#define XF86XK_Tools 0x1008FF81 /* toolbox of desktop/app. */
+#define XF86XK_Travel 0x1008FF82 /* ?? */
+#define XF86XK_UserPB 0x1008FF84 /* ?? */
+#define XF86XK_User1KB 0x1008FF85 /* ?? */
+#define XF86XK_User2KB 0x1008FF86 /* ?? */
+#define XF86XK_Video 0x1008FF87 /* Launch video player */
+#define XF86XK_WheelButton 0x1008FF88 /* button from a mouse wheel */
+#define XF86XK_Word 0x1008FF89 /* Launch word processor */
+#define XF86XK_Xfer 0x1008FF8A
+#define XF86XK_ZoomIn 0x1008FF8B /* zoom in view, map, etc. */
+#define XF86XK_ZoomOut 0x1008FF8C /* zoom out view, map, etc. */
+
+#define XF86XK_Away 0x1008FF8D /* mark yourself as away */
+#define XF86XK_Messenger 0x1008FF8E /* as in instant messaging */
+#define XF86XK_WebCam 0x1008FF8F /* Launch web camera app. */
+#define XF86XK_MailForward 0x1008FF90 /* Forward in mail */
+#define XF86XK_Pictures 0x1008FF91 /* Show pictures */
+#define XF86XK_Music 0x1008FF92 /* Launch music application */
+
+#define XF86XK_Battery 0x1008FF93 /* Display battery information */
+#define XF86XK_Bluetooth 0x1008FF94 /* Enable/disable Bluetooth */
+#define XF86XK_WLAN 0x1008FF95 /* Enable/disable WLAN */
+#define XF86XK_UWB 0x1008FF96 /* Enable/disable UWB */
+
+#define XF86XK_AudioForward 0x1008FF97 /* fast-forward audio track */
+#define XF86XK_AudioRepeat 0x1008FF98 /* toggle repeat mode */
+#define XF86XK_AudioRandomPlay 0x1008FF99 /* toggle shuffle mode */
+#define XF86XK_Subtitle 0x1008FF9A /* cycle through subtitle */
+#define XF86XK_AudioCycleTrack 0x1008FF9B /* cycle through audio tracks */
+#define XF86XK_CycleAngle 0x1008FF9C /* cycle through angles */
+#define XF86XK_FrameBack 0x1008FF9D /* video: go one frame back */
+#define XF86XK_FrameForward 0x1008FF9E /* video: go one frame forward */
+#define XF86XK_Time 0x1008FF9F /* display, or shows an entry for time seeking */
+#define XF86XK_Select 0x1008FFA0 /* Select button on joypads and remotes */
+#define XF86XK_View 0x1008FFA1 /* Show a view options/properties */
+#define XF86XK_TopMenu 0x1008FFA2 /* Go to a top-level menu in a video */
+
+#define XF86XK_Red 0x1008FFA3 /* Red button */
+#define XF86XK_Green 0x1008FFA4 /* Green button */
+#define XF86XK_Yellow 0x1008FFA5 /* Yellow button */
+#define XF86XK_Blue 0x1008FFA6 /* Blue button */
+
+#define XF86XK_Suspend 0x1008FFA7 /* Sleep to RAM */
+#define XF86XK_Hibernate 0x1008FFA8 /* Sleep to disk */
+#define XF86XK_TouchpadToggle 0x1008FFA9 /* Toggle between touchpad/trackstick */
+#define XF86XK_TouchpadOn 0x1008FFB0 /* The touchpad got switched on */
+#define XF86XK_TouchpadOff 0x1008FFB1 /* The touchpad got switched off */
+
+/* Keys for special action keys (hot keys) */
+/* Virtual terminals on some operating systems */
+#define XF86XK_Switch_VT_1 0x1008FE01
+#define XF86XK_Switch_VT_2 0x1008FE02
+#define XF86XK_Switch_VT_3 0x1008FE03
+#define XF86XK_Switch_VT_4 0x1008FE04
+#define XF86XK_Switch_VT_5 0x1008FE05
+#define XF86XK_Switch_VT_6 0x1008FE06
+#define XF86XK_Switch_VT_7 0x1008FE07
+#define XF86XK_Switch_VT_8 0x1008FE08
+#define XF86XK_Switch_VT_9 0x1008FE09
+#define XF86XK_Switch_VT_10 0x1008FE0A
+#define XF86XK_Switch_VT_11 0x1008FE0B
+#define XF86XK_Switch_VT_12 0x1008FE0C
+
+#define XF86XK_Ungrab 0x1008FE20 /* force ungrab */
+#define XF86XK_ClearGrab 0x1008FE21 /* kill application with grab */
+#define XF86XK_Next_VMode 0x1008FE22 /* next video mode available */
+#define XF86XK_Prev_VMode 0x1008FE23 /* prev. video mode available */
+#define XF86XK_LogWindowTree 0x1008FE24 /* print window tree to log */
+#define XF86XK_LogGrabInfo 0x1008FE25 /* print all active grabs to log */
diff --git a/stream-servers/apigen-codec-common/X11/XKBlib.h b/stream-servers/apigen-codec-common/X11/XKBlib.h
new file mode 100644
index 0000000..8f6c72c
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/XKBlib.h
@@ -0,0 +1,1149 @@
+/************************************************************
+Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc.
+
+Permission to use, copy, modify, and distribute this
+software and its documentation for any purpose and without
+fee is hereby granted, provided that the above copyright
+notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting
+documentation, and that the name of Silicon Graphics not be
+used in advertising or publicity pertaining to distribution
+of the software without specific prior written permission.
+Silicon Graphics makes no representation about the suitability
+of this software for any purpose. It is provided "as is"
+without any express or implied warranty.
+
+SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
+DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
+THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+********************************************************/
+
+#ifndef _X11_XKBLIB_H_
+#define _X11_XKBLIB_H_
+
+#include <X11/Xlib.h>
+#include <X11/extensions/XKBstr.h>
+
+typedef struct _XkbAnyEvent {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* # of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XKB event minor code */
+ unsigned int device; /* device ID */
+} XkbAnyEvent;
+
+typedef struct _XkbNewKeyboardNotify {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbNewKeyboardNotify */
+ int device; /* device ID */
+ int old_device; /* device ID of previous keyboard */
+ int min_key_code; /* minimum key code */
+ int max_key_code; /* maximum key code */
+ int old_min_key_code;/* min key code of previous kbd */
+ int old_max_key_code;/* max key code of previous kbd */
+ unsigned int changed; /* changed aspects of the keyboard */
+ char req_major; /* major and minor opcode of req */
+ char req_minor; /* that caused change, if applicable */
+} XkbNewKeyboardNotifyEvent;
+
+typedef struct _XkbMapNotifyEvent {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbMapNotify */
+ int device; /* device ID */
+ unsigned int changed; /* fields which have been changed */
+ unsigned int flags; /* reserved */
+ int first_type; /* first changed key type */
+ int num_types; /* number of changed key types */
+ KeyCode min_key_code;
+ KeyCode max_key_code;
+ KeyCode first_key_sym;
+ KeyCode first_key_act;
+ KeyCode first_key_behavior;
+ KeyCode first_key_explicit;
+ KeyCode first_modmap_key;
+ KeyCode first_vmodmap_key;
+ int num_key_syms;
+ int num_key_acts;
+ int num_key_behaviors;
+ int num_key_explicit;
+ int num_modmap_keys;
+ int num_vmodmap_keys;
+ unsigned int vmods; /* mask of changed virtual mods */
+} XkbMapNotifyEvent;
+
+typedef struct _XkbStateNotifyEvent {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* # of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbStateNotify */
+ int device; /* device ID */
+ unsigned int changed; /* mask of changed state components */
+ int group; /* keyboard group */
+ int base_group; /* base keyboard group */
+ int latched_group; /* latched keyboard group */
+ int locked_group; /* locked keyboard group */
+ unsigned int mods; /* modifier state */
+ unsigned int base_mods; /* base modifier state */
+ unsigned int latched_mods; /* latched modifiers */
+ unsigned int locked_mods; /* locked modifiers */
+ int compat_state; /* compatibility state */
+ unsigned char grab_mods; /* mods used for grabs */
+ unsigned char compat_grab_mods;/* grab mods for non-XKB clients */
+ unsigned char lookup_mods; /* mods sent to clients */
+ unsigned char compat_lookup_mods; /* mods sent to non-XKB clients */
+ int ptr_buttons; /* pointer button state */
+ KeyCode keycode; /* keycode that caused the change */
+ char event_type; /* KeyPress or KeyRelease */
+ char req_major; /* Major opcode of request */
+ char req_minor; /* Minor opcode of request */
+} XkbStateNotifyEvent;
+
+typedef struct _XkbControlsNotify {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbControlsNotify */
+ int device; /* device ID */
+ unsigned int changed_ctrls; /* controls with changed sub-values */
+ unsigned int enabled_ctrls; /* controls currently enabled */
+ unsigned int enabled_ctrl_changes;/* controls just {en,dis}abled */
+ int num_groups; /* total groups on keyboard */
+ KeyCode keycode; /* key that caused change or 0 */
+ char event_type; /* type of event that caused change */
+ char req_major; /* if keycode==0, major and minor */
+ char req_minor; /* opcode of req that caused change */
+} XkbControlsNotifyEvent;
+
+typedef struct _XkbIndicatorNotify {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbIndicatorNotify */
+ int device; /* device ID */
+ unsigned int changed; /* indicators with new state or map */
+ unsigned int state; /* current state of all indicators */
+} XkbIndicatorNotifyEvent;
+
+typedef struct _XkbNamesNotify {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbNamesNotify */
+ int device; /* device ID */
+ unsigned int changed; /* names that have changed */
+ int first_type; /* first key type with new name */
+ int num_types; /* number of key types with new names */
+ int first_lvl; /* first key type new new level names */
+ int num_lvls; /* # of key types w/new level names */
+ int num_aliases; /* total number of key aliases*/
+ int num_radio_groups;/* total number of radio groups */
+ unsigned int changed_vmods; /* virtual modifiers with new names */
+ unsigned int changed_groups; /* groups with new names */
+ unsigned int changed_indicators;/* indicators with new names */
+ int first_key; /* first key with new name */
+ int num_keys; /* number of keys with new names */
+} XkbNamesNotifyEvent;
+
+typedef struct _XkbCompatMapNotify {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbCompatMapNotify */
+ int device; /* device ID */
+ unsigned int changed_groups; /* groups with new compat maps */
+ int first_si; /* first new symbol interp */
+ int num_si; /* number of new symbol interps */
+ int num_total_si; /* total # of symbol interps */
+} XkbCompatMapNotifyEvent;
+
+typedef struct _XkbBellNotify {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbBellNotify */
+ int device; /* device ID */
+ int percent; /* requested volume as a % of maximum */
+ int pitch; /* requested pitch in Hz */
+ int duration; /* requested duration in useconds */
+ int bell_class; /* (input extension) feedback class */
+ int bell_id; /* (input extension) ID of feedback */
+ Atom name; /* "name" of requested bell */
+ Window window; /* window associated with event */
+ Bool event_only; /* "event only" requested */
+} XkbBellNotifyEvent;
+
+typedef struct _XkbActionMessage {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbActionMessage */
+ int device; /* device ID */
+ KeyCode keycode; /* key that generated the event */
+ Bool press; /* true if act caused by key press */
+ Bool key_event_follows;/* true if key event also generated */
+ int group; /* effective group */
+ unsigned int mods; /* effective mods */
+ char message[XkbActionMessageLength+1];
+ /* message -- leave space for NUL */
+} XkbActionMessageEvent;
+
+typedef struct _XkbAccessXNotify {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbAccessXNotify */
+ int device; /* device ID */
+ int detail; /* XkbAXN_* */
+ int keycode; /* key of event */
+ int sk_delay; /* current slow keys delay */
+ int debounce_delay; /* current debounce delay */
+} XkbAccessXNotifyEvent;
+
+typedef struct _XkbExtensionDeviceNotify {
+ int type; /* XkbAnyEvent */
+ unsigned long serial; /* of last req processed by server */
+ Bool send_event; /* is this from a SendEvent request? */
+ Display * display; /* Display the event was read from */
+ Time time; /* milliseconds */
+ int xkb_type; /* XkbExtensionDeviceNotify */
+ int device; /* device ID */
+ unsigned int reason; /* reason for the event */
+ unsigned int supported; /* mask of supported features */
+ unsigned int unsupported; /* mask of unsupported features */
+ /* that some app tried to use */
+ int first_btn; /* first button that changed */
+ int num_btns; /* range of buttons changed */
+ unsigned int leds_defined; /* indicators with names or maps */
+ unsigned int led_state; /* current state of the indicators */
+ int led_class; /* feedback class for led changes */
+ int led_id; /* feedback id for led changes */
+} XkbExtensionDeviceNotifyEvent;
+
+typedef union _XkbEvent {
+ int type;
+ XkbAnyEvent any;
+ XkbNewKeyboardNotifyEvent new_kbd;
+ XkbMapNotifyEvent map;
+ XkbStateNotifyEvent state;
+ XkbControlsNotifyEvent ctrls;
+ XkbIndicatorNotifyEvent indicators;
+ XkbNamesNotifyEvent names;
+ XkbCompatMapNotifyEvent compat;
+ XkbBellNotifyEvent bell;
+ XkbActionMessageEvent message;
+ XkbAccessXNotifyEvent accessx;
+ XkbExtensionDeviceNotifyEvent device;
+ XEvent core;
+} XkbEvent;
+
+typedef struct _XkbKbdDpyState XkbKbdDpyStateRec,*XkbKbdDpyStatePtr;
+
+ /* XkbOpenDisplay error codes */
+#define XkbOD_Success 0
+#define XkbOD_BadLibraryVersion 1
+#define XkbOD_ConnectionRefused 2
+#define XkbOD_NonXkbServer 3
+#define XkbOD_BadServerVersion 4
+
+ /* Values for XlibFlags */
+#define XkbLC_ForceLatin1Lookup (1<<0)
+#define XkbLC_ConsumeLookupMods (1<<1)
+#define XkbLC_AlwaysConsumeShiftAndLock (1<<2)
+#define XkbLC_IgnoreNewKeyboards (1<<3)
+#define XkbLC_ControlFallback (1<<4)
+#define XkbLC_ConsumeKeysOnComposeFail (1<<29)
+#define XkbLC_ComposeLED (1<<30)
+#define XkbLC_BeepOnComposeFail (1<<31)
+
+#define XkbLC_AllComposeControls (0xc0000000)
+#define XkbLC_AllControls (0xc000001f)
+
+_XFUNCPROTOBEGIN
+
+extern Bool XkbIgnoreExtension(
+ Bool /* ignore */
+);
+
+extern Display *XkbOpenDisplay(
+ char * /* name */,
+ int * /* ev_rtrn */,
+ int * /* err_rtrn */,
+ int * /* major_rtrn */,
+ int * /* minor_rtrn */,
+ int * /* reason */
+);
+
+extern Bool XkbQueryExtension(
+ Display * /* dpy */,
+ int * /* opcodeReturn */,
+ int * /* eventBaseReturn */,
+ int * /* errorBaseReturn */,
+ int * /* majorRtrn */,
+ int * /* minorRtrn */
+);
+
+extern Bool XkbUseExtension(
+ Display * /* dpy */,
+ int * /* major_rtrn */,
+ int * /* minor_rtrn */
+);
+
+extern Bool XkbLibraryVersion(
+ int * /* libMajorRtrn */,
+ int * /* libMinorRtrn */
+);
+
+extern unsigned int XkbSetXlibControls(
+ Display* /* dpy */,
+ unsigned int /* affect */,
+ unsigned int /* values */
+);
+
+extern unsigned int XkbGetXlibControls(
+ Display* /* dpy */
+);
+
+extern unsigned int XkbXlibControlsImplemented(void);
+
+typedef Atom (*XkbInternAtomFunc)(
+ Display * /* dpy */,
+ _Xconst char * /* name */,
+ Bool /* only_if_exists */
+);
+
+typedef char * (*XkbGetAtomNameFunc)(
+ Display * /* dpy */,
+ Atom /* atom */
+);
+
+extern void XkbSetAtomFuncs(
+ XkbInternAtomFunc /* getAtom */,
+ XkbGetAtomNameFunc /* getName */
+);
+
+extern KeySym XkbKeycodeToKeysym(
+ Display * /* dpy */,
+#if NeedWidePrototypes
+ unsigned int /* kc */,
+#else
+ KeyCode /* kc */,
+#endif
+ int /* group */,
+ int /* level */
+);
+
+extern unsigned int XkbKeysymToModifiers(
+ Display * /* dpy */,
+ KeySym /* ks */
+);
+
+extern Bool XkbLookupKeySym(
+ Display * /* dpy */,
+ KeyCode /* keycode */,
+ unsigned int /* modifiers */,
+ unsigned int * /* modifiers_return */,
+ KeySym * /* keysym_return */
+);
+
+extern int XkbLookupKeyBinding(
+ Display * /* dpy */,
+ KeySym /* sym_rtrn */,
+ unsigned int /* mods */,
+ char * /* buffer */,
+ int /* nbytes */,
+ int * /* extra_rtrn */
+);
+
+extern Bool XkbTranslateKeyCode(
+ XkbDescPtr /* xkb */,
+ KeyCode /* keycode */,
+ unsigned int /* modifiers */,
+ unsigned int * /* modifiers_return */,
+ KeySym * /* keysym_return */
+);
+
+extern int XkbTranslateKeySym(
+ Display * /* dpy */,
+ register KeySym * /* sym_return */,
+ unsigned int /* modifiers */,
+ char * /* buffer */,
+ int /* nbytes */,
+ int * /* extra_rtrn */
+);
+
+extern Bool XkbSetAutoRepeatRate(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* delay */,
+ unsigned int /* interval */
+);
+
+extern Bool XkbGetAutoRepeatRate(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int * /* delayRtrn */,
+ unsigned int * /* intervalRtrn */
+);
+
+extern Bool XkbChangeEnabledControls(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* affect */,
+ unsigned int /* values */
+);
+
+extern Bool XkbDeviceBell(
+ Display * /* dpy */,
+ Window /* win */,
+ int /* deviceSpec */,
+ int /* bellClass */,
+ int /* bellID */,
+ int /* percent */,
+ Atom /* name */
+);
+
+extern Bool XkbForceDeviceBell(
+ Display * /* dpy */,
+ int /* deviceSpec */,
+ int /* bellClass */,
+ int /* bellID */,
+ int /* percent */
+);
+
+extern Bool XkbDeviceBellEvent(
+ Display * /* dpy */,
+ Window /* win */,
+ int /* deviceSpec */,
+ int /* bellClass */,
+ int /* bellID */,
+ int /* percent */,
+ Atom /* name */
+);
+
+extern Bool XkbBell(
+ Display * /* dpy */,
+ Window /* win */,
+ int /* percent */,
+ Atom /* name */
+);
+
+extern Bool XkbForceBell(
+ Display * /* dpy */,
+ int /* percent */
+);
+
+extern Bool XkbBellEvent(
+ Display * /* dpy */,
+ Window /* win */,
+ int /* percent */,
+ Atom /* name */
+);
+
+extern Bool XkbSelectEvents(
+ Display * /* dpy */,
+ unsigned int /* deviceID */,
+ unsigned int /* affect */,
+ unsigned int /* values */
+);
+
+extern Bool XkbSelectEventDetails(
+ Display * /* dpy */,
+ unsigned int /* deviceID */,
+ unsigned int /* eventType */,
+ unsigned long /* affect */,
+ unsigned long /* details */
+);
+
+extern void XkbNoteMapChanges(
+ XkbMapChangesPtr /* old */,
+ XkbMapNotifyEvent * /* new */,
+ unsigned int /* wanted */
+);
+
+extern void XkbNoteNameChanges(
+ XkbNameChangesPtr /* old */,
+ XkbNamesNotifyEvent * /* new */,
+ unsigned int /* wanted */
+);
+
+extern Status XkbGetIndicatorState(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int * /* pStateRtrn */
+);
+
+extern Status XkbGetDeviceIndicatorState(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* ledClass */,
+ unsigned int /* ledID */,
+ unsigned int * /* pStateRtrn */
+);
+
+extern Status XkbGetIndicatorMap(
+ Display * /* dpy */,
+ unsigned long /* which */,
+ XkbDescPtr /* desc */
+);
+
+extern Bool XkbSetIndicatorMap(
+ Display * /* dpy */,
+ unsigned long /* which */,
+ XkbDescPtr /* desc */
+);
+
+#define XkbNoteIndicatorMapChanges(o,n,w) \
+ ((o)->map_changes|=((n)->map_changes&(w)))
+#define XkbNoteIndicatorStateChanges(o,n,w)\
+ ((o)->state_changes|=((n)->state_changes&(w)))
+#define XkbGetIndicatorMapChanges(d,x,c) \
+ (XkbGetIndicatorMap((d),(c)->map_changes,x))
+#define XkbChangeIndicatorMaps(d,x,c) \
+ (XkbSetIndicatorMap((d),(c)->map_changes,x))
+
+extern Bool XkbGetNamedIndicator(
+ Display * /* dpy */,
+ Atom /* name */,
+ int * /* pNdxRtrn */,
+ Bool * /* pStateRtrn */,
+ XkbIndicatorMapPtr /* pMapRtrn */,
+ Bool * /* pRealRtrn */
+);
+
+extern Bool XkbGetNamedDeviceIndicator(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* ledClass */,
+ unsigned int /* ledID */,
+ Atom /* name */,
+ int * /* pNdxRtrn */,
+ Bool * /* pStateRtrn */,
+ XkbIndicatorMapPtr /* pMapRtrn */,
+ Bool * /* pRealRtrn */
+);
+
+extern Bool XkbSetNamedIndicator(
+ Display * /* dpy */,
+ Atom /* name */,
+ Bool /* changeState */,
+ Bool /* state */,
+ Bool /* createNewMap */,
+ XkbIndicatorMapPtr /* pMap */
+);
+
+extern Bool XkbSetNamedDeviceIndicator(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* ledClass */,
+ unsigned int /* ledID */,
+ Atom /* name */,
+ Bool /* changeState */,
+ Bool /* state */,
+ Bool /* createNewMap */,
+ XkbIndicatorMapPtr /* pMap */
+);
+
+extern Bool XkbLockModifiers(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* affect */,
+ unsigned int /* values */
+);
+
+extern Bool XkbLatchModifiers(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* affect */,
+ unsigned int /* values */
+);
+
+extern Bool XkbLockGroup(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* group */
+);
+
+extern Bool XkbLatchGroup(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* group */
+);
+
+extern Bool XkbSetServerInternalMods(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* affectReal */,
+ unsigned int /* realValues */,
+ unsigned int /* affectVirtual */,
+ unsigned int /* virtualValues */
+);
+
+extern Bool XkbSetIgnoreLockMods(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* affectReal */,
+ unsigned int /* realValues */,
+ unsigned int /* affectVirtual */,
+ unsigned int /* virtualValues */
+);
+
+
+extern Bool XkbVirtualModsToReal(
+ XkbDescPtr /* xkb */,
+ unsigned int /* virtual_mask */,
+ unsigned int * /* mask_rtrn */
+);
+
+extern Bool XkbComputeEffectiveMap(
+ XkbDescPtr /* xkb */,
+ XkbKeyTypePtr /* type */,
+ unsigned char * /* map_rtrn */
+);
+
+extern Status XkbInitCanonicalKeyTypes(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ int /* keypadVMod */
+);
+
+extern XkbDescPtr XkbAllocKeyboard(
+ void
+);
+
+extern void XkbFreeKeyboard(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ Bool /* freeDesc */
+);
+
+extern Status XkbAllocClientMap(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ unsigned int /* nTypes */
+);
+
+extern Status XkbAllocServerMap(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ unsigned int /* nActions */
+);
+
+extern void XkbFreeClientMap(
+ XkbDescPtr /* xkb */,
+ unsigned int /* what */,
+ Bool /* freeMap */
+);
+
+extern void XkbFreeServerMap(
+ XkbDescPtr /* xkb */,
+ unsigned int /* what */,
+ Bool /* freeMap */
+);
+
+extern XkbKeyTypePtr XkbAddKeyType(
+ XkbDescPtr /* xkb */,
+ Atom /* name */,
+ int /* map_count */,
+ Bool /* want_preserve */,
+ int /* num_lvls */
+);
+
+extern Status XkbAllocIndicatorMaps(
+ XkbDescPtr /* xkb */
+);
+
+extern void XkbFreeIndicatorMaps(
+ XkbDescPtr /* xkb */
+);
+
+extern XkbDescPtr XkbGetMap(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ unsigned int /* deviceSpec */
+);
+
+extern Status XkbGetUpdatedMap(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ XkbDescPtr /* desc */
+);
+
+extern Status XkbGetMapChanges(
+ Display * /* dpy */,
+ XkbDescPtr /* xkb */,
+ XkbMapChangesPtr /* changes */
+);
+
+
+extern Status XkbRefreshKeyboardMapping(
+ XkbMapNotifyEvent * /* event */
+);
+
+extern Status XkbGetKeyTypes(
+ Display * /* dpy */,
+ unsigned int /* first */,
+ unsigned int /* num */,
+ XkbDescPtr /* xkb */
+);
+
+extern Status XkbGetKeySyms(
+ Display * /* dpy */,
+ unsigned int /* first */,
+ unsigned int /* num */,
+ XkbDescPtr /* xkb */
+);
+
+extern Status XkbGetKeyActions(
+ Display * /* dpy */,
+ unsigned int /* first */,
+ unsigned int /* num */,
+ XkbDescPtr /* xkb */
+);
+
+extern Status XkbGetKeyBehaviors(
+ Display * /* dpy */,
+ unsigned int /* firstKey */,
+ unsigned int /* nKeys */,
+ XkbDescPtr /* desc */
+);
+
+extern Status XkbGetVirtualMods(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ XkbDescPtr /* desc */
+);
+
+extern Status XkbGetKeyExplicitComponents(
+ Display * /* dpy */,
+ unsigned int /* firstKey */,
+ unsigned int /* nKeys */,
+ XkbDescPtr /* desc */
+);
+
+extern Status XkbGetKeyModifierMap(
+ Display * /* dpy */,
+ unsigned int /* firstKey */,
+ unsigned int /* nKeys */,
+ XkbDescPtr /* desc */
+);
+
+extern Status XkbGetKeyVirtualModMap(
+ Display * /* dpy */,
+ unsigned int /* first */,
+ unsigned int /* num */,
+ XkbDescPtr /* xkb */
+);
+
+extern Status XkbAllocControls(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which*/
+);
+
+extern void XkbFreeControls(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ Bool /* freeMap */
+);
+
+extern Status XkbGetControls(
+ Display * /* dpy */,
+ unsigned long /* which */,
+ XkbDescPtr /* desc */
+);
+
+extern Bool XkbSetControls(
+ Display * /* dpy */,
+ unsigned long /* which */,
+ XkbDescPtr /* desc */
+);
+
+extern void XkbNoteControlsChanges(
+ XkbControlsChangesPtr /* old */,
+ XkbControlsNotifyEvent * /* new */,
+ unsigned int /* wanted */
+);
+
+#define XkbGetControlsChanges(d,x,c) XkbGetControls(d,(c)->changed_ctrls,x)
+#define XkbChangeControls(d,x,c) XkbSetControls(d,(c)->changed_ctrls,x)
+
+extern Status XkbAllocCompatMap(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ unsigned int /* nInterpret */
+);
+
+extern void XkbFreeCompatMap(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ Bool /* freeMap */
+);
+
+extern Status XkbGetCompatMap(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ XkbDescPtr /* xkb */
+);
+
+extern Bool XkbSetCompatMap(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ XkbDescPtr /* xkb */,
+ Bool /* updateActions */
+);
+
+extern XkbSymInterpretPtr XkbAddSymInterpret(
+ XkbDescPtr /* xkb */,
+ XkbSymInterpretPtr /* si */,
+ Bool /* updateMap */,
+ XkbChangesPtr /* changes */
+);
+
+extern Status XkbAllocNames(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ int /* nTotalRG */,
+ int /* nTotalAliases */
+);
+
+extern Status XkbGetNames(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ XkbDescPtr /* desc */
+);
+
+extern Bool XkbSetNames(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ unsigned int /* firstType */,
+ unsigned int /* nTypes */,
+ XkbDescPtr /* desc */
+);
+
+extern Bool XkbChangeNames(
+ Display * /* dpy */,
+ XkbDescPtr /* xkb */,
+ XkbNameChangesPtr /* changes */
+);
+
+extern void XkbFreeNames(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ Bool /* freeMap */
+);
+
+
+extern Status XkbGetState(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ XkbStatePtr /* rtrnState */
+);
+
+extern Bool XkbSetMap(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ XkbDescPtr /* desc */
+);
+
+extern Bool XkbChangeMap(
+ Display* /* dpy */,
+ XkbDescPtr /* desc */,
+ XkbMapChangesPtr /* changes */
+);
+
+extern Bool XkbSetDetectableAutoRepeat(
+ Display * /* dpy */,
+ Bool /* detectable */,
+ Bool * /* supported */
+);
+
+extern Bool XkbGetDetectableAutoRepeat(
+ Display * /* dpy */,
+ Bool * /* supported */
+);
+
+extern Bool XkbSetAutoResetControls(
+ Display * /* dpy */,
+ unsigned int /* changes */,
+ unsigned int * /* auto_ctrls */,
+ unsigned int * /* auto_values */
+);
+
+extern Bool XkbGetAutoResetControls(
+ Display * /* dpy */,
+ unsigned int * /* auto_ctrls */,
+ unsigned int * /* auto_ctrl_values */
+);
+
+extern Bool XkbSetPerClientControls(
+ Display * /* dpy */,
+ unsigned int /* change */,
+ unsigned int * /* values */
+);
+
+extern Bool XkbGetPerClientControls(
+ Display * /* dpy */,
+ unsigned int * /* ctrls */
+);
+
+extern Status XkbCopyKeyType(
+ XkbKeyTypePtr /* from */,
+ XkbKeyTypePtr /* into */
+);
+
+extern Status XkbCopyKeyTypes(
+ XkbKeyTypePtr /* from */,
+ XkbKeyTypePtr /* into */,
+ int /* num_types */
+);
+
+extern Status XkbResizeKeyType(
+ XkbDescPtr /* xkb */,
+ int /* type_ndx */,
+ int /* map_count */,
+ Bool /* want_preserve */,
+ int /* new_num_lvls */
+);
+
+extern KeySym *XkbResizeKeySyms(
+ XkbDescPtr /* desc */,
+ int /* forKey */,
+ int /* symsNeeded */
+);
+
+extern XkbAction *XkbResizeKeyActions(
+ XkbDescPtr /* desc */,
+ int /* forKey */,
+ int /* actsNeeded */
+);
+
+extern Status XkbChangeTypesOfKey(
+ XkbDescPtr /* xkb */,
+ int /* key */,
+ int /* num_groups */,
+ unsigned int /* groups */,
+ int * /* newTypes */,
+ XkbMapChangesPtr /* pChanges */
+);
+
+extern Status XkbChangeKeycodeRange(
+ XkbDescPtr /* xkb */,
+ int /* minKC */,
+ int /* maxKC */,
+ XkbChangesPtr /* changes */
+);
+
+/***====================================================================***/
+
+extern XkbComponentListPtr XkbListComponents(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ XkbComponentNamesPtr /* ptrns */,
+ int * /* max_inout */
+);
+
+extern void XkbFreeComponentList(
+ XkbComponentListPtr /* list */
+);
+
+extern XkbDescPtr XkbGetKeyboard(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ unsigned int /* deviceSpec */
+);
+
+extern XkbDescPtr XkbGetKeyboardByName(
+ Display * /* dpy */,
+ unsigned int /* deviceSpec */,
+ XkbComponentNamesPtr /* names */,
+ unsigned int /* want */,
+ unsigned int /* need */,
+ Bool /* load */
+);
+
+/***====================================================================***/
+
+extern int XkbKeyTypesForCoreSymbols( /* returns # of groups */
+ XkbDescPtr /* xkb */, /* keyboard device */
+ int /* map_width */, /* width of core KeySym array */
+ KeySym * /* core_syms */, /* always mapWidth symbols */
+ unsigned int /* protected */, /* explicit key types */
+ int * /* types_inout */, /* always four type indices */
+ KeySym * /* xkb_syms_rtrn */ /* must have enough space */
+);
+
+extern Bool XkbApplyCompatMapToKey( /* False only on error */
+ XkbDescPtr /* xkb */, /* keymap to be edited */
+ KeyCode /* key */, /* key to be updated */
+ XkbChangesPtr /* changes */ /* resulting changes to map */
+);
+
+extern Bool XkbUpdateMapFromCore( /* False only on error */
+ XkbDescPtr /* xkb */, /* XKB keyboard to be edited */
+ KeyCode /* first_key */, /* first changed key */
+ int /* num_keys */, /* number of changed keys */
+ int /* map_width */, /* width of core keymap */
+ KeySym * /* core_keysyms */, /* symbols from core keymap */
+ XkbChangesPtr /* changes */ /* resulting changes */
+);
+
+/***====================================================================***/
+
+extern XkbDeviceLedInfoPtr XkbAddDeviceLedInfo(
+ XkbDeviceInfoPtr /* devi */,
+ unsigned int /* ledClass */,
+ unsigned int /* ledId */
+);
+
+extern Status XkbResizeDeviceButtonActions(
+ XkbDeviceInfoPtr /* devi */,
+ unsigned int /* newTotal */
+);
+
+extern XkbDeviceInfoPtr XkbAllocDeviceInfo(
+ unsigned int /* deviceSpec */,
+ unsigned int /* nButtons */,
+ unsigned int /* szLeds */
+);
+
+extern void XkbFreeDeviceInfo(
+ XkbDeviceInfoPtr /* devi */,
+ unsigned int /* which */,
+ Bool /* freeDevI */
+);
+
+extern void XkbNoteDeviceChanges(
+ XkbDeviceChangesPtr /* old */,
+ XkbExtensionDeviceNotifyEvent * /* new */,
+ unsigned int /* wanted */
+);
+
+extern XkbDeviceInfoPtr XkbGetDeviceInfo(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ unsigned int /* deviceSpec */,
+ unsigned int /* ledClass */,
+ unsigned int /* ledID */
+);
+
+extern Status XkbGetDeviceInfoChanges(
+ Display * /* dpy */,
+ XkbDeviceInfoPtr /* devi */,
+ XkbDeviceChangesPtr /* changes */
+);
+
+extern Status XkbGetDeviceButtonActions(
+ Display * /* dpy */,
+ XkbDeviceInfoPtr /* devi */,
+ Bool /* all */,
+ unsigned int /* first */,
+ unsigned int /* nBtns */
+);
+
+extern Status XkbGetDeviceLedInfo(
+ Display * /* dpy */,
+ XkbDeviceInfoPtr /* devi */,
+ unsigned int /* ledClass (class, XIDflt, XIAll) */,
+ unsigned int /* ledId (id, XIDflt, XIAll) */,
+ unsigned int /* which (XkbXI_Indicator{Names,Map}Mask */
+);
+
+extern Bool XkbSetDeviceInfo(
+ Display * /* dpy */,
+ unsigned int /* which */,
+ XkbDeviceInfoPtr /* devi */
+);
+
+extern Bool XkbChangeDeviceInfo(
+ Display* /* dpy */,
+ XkbDeviceInfoPtr /* desc */,
+ XkbDeviceChangesPtr /* changes */
+);
+
+extern Bool XkbSetDeviceLedInfo(
+ Display * /* dpy */,
+ XkbDeviceInfoPtr /* devi */,
+ unsigned int /* ledClass */,
+ unsigned int /* ledID */,
+ unsigned int /* which */
+);
+
+extern Bool XkbSetDeviceButtonActions(
+ Display * /* dpy */,
+ XkbDeviceInfoPtr /* devi */,
+ unsigned int /* first */,
+ unsigned int /* nBtns */
+);
+
+/***====================================================================***/
+
+extern char XkbToControl(
+ char /* c */
+);
+
+/***====================================================================***/
+
+extern Bool XkbSetDebuggingFlags(
+ Display * /* dpy */,
+ unsigned int /* mask */,
+ unsigned int /* flags */,
+ char * /* msg */,
+ unsigned int /* ctrls_mask */,
+ unsigned int /* ctrls */,
+ unsigned int * /* rtrn_flags */,
+ unsigned int * /* rtrn_ctrls */
+);
+
+extern Bool XkbApplyVirtualModChanges(
+ XkbDescPtr /* xkb */,
+ unsigned int /* changed */,
+ XkbChangesPtr /* changes */
+);
+
+extern Bool XkbUpdateActionVirtualMods(
+ XkbDescPtr /* xkb */,
+ XkbAction * /* act */,
+ unsigned int /* changed */
+);
+
+extern void XkbUpdateKeyTypeVirtualMods(
+ XkbDescPtr /* xkb */,
+ XkbKeyTypePtr /* type */,
+ unsigned int /* changed */,
+ XkbChangesPtr /* changes */
+);
+
+_XFUNCPROTOEND
+
+#endif /* _X11_XKBLIB_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/XWDFile.h b/stream-servers/apigen-codec-common/X11/XWDFile.h
new file mode 100644
index 0000000..50e17df
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/XWDFile.h
@@ -0,0 +1,113 @@
+/*
+
+Copyright 1985, 1986, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+
+/*
+ * XWDFile.h MIT Project Athena, X Window system window raster
+ * image dumper, dump file format header file.
+ *
+ * Author: Tony Della Fera, DEC
+ * 27-Jun-85
+ *
+ * Modifier: William F. Wyatt, SAO
+ * 18-Nov-86 - version 6 for saving/restoring color maps
+ */
+
+#ifndef XWDFILE_H
+#define XWDFILE_H
+
+#include <X11/Xmd.h>
+
+#define XWD_FILE_VERSION 7
+#define sz_XWDheader 100
+#define sz_XWDColor 12
+
+typedef CARD32 xwdval; /* for old broken programs */
+
+/* Values in the file are most significant byte first. */
+
+typedef struct _xwd_file_header {
+ /* header_size = SIZEOF(XWDheader) + length of null-terminated
+ * window name. */
+ CARD32 header_size B32;
+
+ CARD32 file_version B32; /* = XWD_FILE_VERSION above */
+ CARD32 pixmap_format B32; /* ZPixmap or XYPixmap */
+ CARD32 pixmap_depth B32; /* Pixmap depth */
+ CARD32 pixmap_width B32; /* Pixmap width */
+ CARD32 pixmap_height B32; /* Pixmap height */
+ CARD32 xoffset B32; /* Bitmap x offset, normally 0 */
+ CARD32 byte_order B32; /* of image data: MSBFirst, LSBFirst */
+
+ /* bitmap_unit applies to bitmaps (depth 1 format XY) only.
+ * It is the number of bits that each scanline is padded to. */
+ CARD32 bitmap_unit B32;
+
+ CARD32 bitmap_bit_order B32; /* bitmaps only: MSBFirst, LSBFirst */
+
+ /* bitmap_pad applies to pixmaps (non-bitmaps) only.
+ * It is the number of bits that each scanline is padded to. */
+ CARD32 bitmap_pad B32;
+
+ CARD32 bits_per_pixel B32; /* Bits per pixel */
+
+ /* bytes_per_line is pixmap_width padded to bitmap_unit (bitmaps)
+ * or bitmap_pad (pixmaps). It is the delta (in bytes) to get
+ * to the same x position on an adjacent row. */
+ CARD32 bytes_per_line B32;
+ CARD32 visual_class B32; /* Class of colormap */
+ CARD32 red_mask B32; /* Z red mask */
+ CARD32 green_mask B32; /* Z green mask */
+ CARD32 blue_mask B32; /* Z blue mask */
+ CARD32 bits_per_rgb B32; /* Log2 of distinct color values */
+ CARD32 colormap_entries B32; /* Number of entries in colormap; not used? */
+ CARD32 ncolors B32; /* Number of XWDColor structures */
+ CARD32 window_width B32; /* Window width */
+ CARD32 window_height B32; /* Window height */
+ CARD32 window_x B32; /* Window upper left X coordinate */
+ CARD32 window_y B32; /* Window upper left Y coordinate */
+ CARD32 window_bdrwidth B32; /* Window border width */
+} XWDFileHeader;
+
+/* Null-terminated window name follows the above structure. */
+
+/* Next comes XWDColor structures, at offset XWDFileHeader.header_size in
+ * the file. XWDFileHeader.ncolors tells how many XWDColor structures
+ * there are.
+ */
+
+typedef struct {
+ CARD32 pixel B32;
+ CARD16 red B16;
+ CARD16 green B16;
+ CARD16 blue B16;
+ CARD8 flags;
+ CARD8 pad;
+} XWDColor;
+
+/* Last comes the image data in the format described by XWDFileHeader. */
+
+#endif /* XWDFILE_H */
+
diff --git a/stream-servers/apigen-codec-common/X11/Xalloca.h b/stream-servers/apigen-codec-common/X11/Xalloca.h
new file mode 100644
index 0000000..1919884
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/Xalloca.h
@@ -0,0 +1,121 @@
+/*
+
+Copyright 1995, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+*/
+/*
+ * The purpose of this header is to define the macros ALLOCATE_LOCAL and
+ * DEALLOCATE_LOCAL appropriately for the platform being compiled on.
+ * These macros are used to make fast, function-local memory allocations.
+ * Their characteristics are as follows:
+ *
+ * void *ALLOCATE_LOCAL(int size)
+ * Returns a pointer to size bytes of memory, or NULL if the allocation
+ * failed. The memory must be freed with DEALLOCATE_LOCAL before the
+ * function that made the allocation returns. You should not ask for
+ * large blocks of memory with this function, since on many platforms
+ * the memory comes from the stack, which may have limited size.
+ *
+ * void DEALLOCATE_LOCAL(void *)
+ * Frees the memory allocated by ALLOCATE_LOCAL. Omission of this
+ * step may be harmless on some platforms, but will result in
+ * memory leaks or worse on others.
+ *
+ * Before including this file, you should define two macros,
+ * ALLOCATE_LOCAL_FALLBACK and DEALLOCATE_LOCAL_FALLBACK, that have the
+ * same characteristics as ALLOCATE_LOCAL and DEALLOCATE_LOCAL. The
+ * header uses the fallbacks if it doesn't know a "better" way to define
+ * ALLOCATE_LOCAL and DEALLOCATE_LOCAL. Typical usage would be:
+ *
+ * #define ALLOCATE_LOCAL_FALLBACK(_size) malloc(_size)
+ * #define DEALLOCATE_LOCAL_FALLBACK(_ptr) free(_ptr)
+ * #include "Xalloca.h"
+ */
+
+#ifndef XALLOCA_H
+#define XALLOCA_H 1
+
+#ifndef INCLUDE_ALLOCA_H
+/* Need to add more here to match Imake *.cf's */
+# if defined(HAVE_ALLOCA_H) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
+# define INCLUDE_ALLOCA_H
+# endif
+#endif
+
+#ifdef INCLUDE_ALLOCA_H
+# include <alloca.h>
+#endif
+
+#ifndef NO_ALLOCA
+/*
+ * os-dependent definition of local allocation and deallocation
+ * If you want something other than (DE)ALLOCATE_LOCAL_FALLBACK
+ * for ALLOCATE/DEALLOCATE_LOCAL then you add that in here.
+ */
+
+
+# ifdef __GNUC__
+# ifndef alloca
+# define alloca __builtin_alloca
+# endif /* !alloca */
+# define ALLOCATE_LOCAL(size) alloca((int)(size))
+# else /* ! __GNUC__ */
+
+/*
+ * warning: old mips alloca (pre 2.10) is unusable, new one is built in
+ * Test is easy, the new one is named __builtin_alloca and comes
+ * from alloca.h which #defines alloca.
+ */
+# if defined(__sun) || defined(alloca)
+/*
+ * Some System V boxes extract alloca.o from /lib/libPW.a; if you
+ * decide that you don't want to use alloca, you might want to fix it here.
+ */
+/* alloca might be a macro taking one arg (hi, Sun!), so give it one. */
+# if !defined(__cplusplus)
+# define __Xnullarg /* as nothing */
+ extern void *alloca(__Xnullarg);
+# endif
+# define ALLOCATE_LOCAL(size) alloca((int)(size))
+# endif /* who does alloca */
+# endif /* __GNUC__ */
+
+#endif /* NO_ALLOCA */
+
+#if !defined(ALLOCATE_LOCAL)
+# if defined(ALLOCATE_LOCAL_FALLBACK) && defined(DEALLOCATE_LOCAL_FALLBACK)
+# define ALLOCATE_LOCAL(_size) ALLOCATE_LOCAL_FALLBACK(_size)
+# define DEALLOCATE_LOCAL(_ptr) DEALLOCATE_LOCAL_FALLBACK(_ptr)
+# else /* no fallbacks supplied; error */
+# define ALLOCATE_LOCAL(_size) ALLOCATE_LOCAL_FALLBACK undefined!
+# define DEALLOCATE_LOCAL(_ptr) DEALLOCATE_LOCAL_FALLBACK undefined!
+# endif /* defined(ALLOCATE_LOCAL_FALLBACK && DEALLOCATE_LOCAL_FALLBACK) */
+#else
+# if !defined(DEALLOCATE_LOCAL)
+# define DEALLOCATE_LOCAL(_ptr) do {} while(0)
+# endif
+#endif /* defined(ALLOCATE_LOCAL) */
+
+#endif /* XALLOCA_H */
diff --git a/stream-servers/apigen-codec-common/X11/Xarch.h b/stream-servers/apigen-codec-common/X11/Xarch.h
new file mode 100644
index 0000000..f80c580
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/Xarch.h
@@ -0,0 +1,94 @@
+#ifndef _XARCH_H_
+# define _XARCH_H_
+
+/*
+ * Copyright 1997 Metro Link Incorporated
+ *
+ * All Rights Reserved
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the names of the above listed copyright holder(s)
+ * not be used in advertising or publicity pertaining to distribution of
+ * the software without specific, written prior permission. The above listed
+ * copyright holder(s) make(s) no representations about the suitability of
+ * this software for any purpose. It is provided "as is" without express or
+ * implied warranty.
+ *
+ * THE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM(S) ALL WARRANTIES WITH REGARD
+ * TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE
+ * LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
+ * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
+ * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+
+/*
+ * Determine the machine's byte order.
+ */
+
+/* See if it is set in the imake config first */
+# ifdef X_BYTE_ORDER
+
+# define X_BIG_ENDIAN 4321
+# define X_LITTLE_ENDIAN 1234
+
+# else
+
+# if defined(SVR4) || defined(__SVR4)
+# include <sys/types.h>
+# include <sys/byteorder.h>
+# elif defined(CSRG_BASED)
+# if defined(__NetBSD__) || defined(__OpenBSD__)
+# include <sys/types.h>
+# endif
+# include <machine/endian.h>
+# elif defined(linux)
+# if defined __STRICT_ANSI__
+# undef __STRICT_ANSI__
+# include <endian.h>
+# define __STRICT_ANSI__
+# else
+# include <endian.h>
+# endif
+/* 'endian.h' might have been included before 'Xarch.h' */
+# if !defined(LITTLE_ENDIAN) && defined(__LITTLE_ENDIAN)
+# define LITTLE_ENDIAN __LITTLE_ENDIAN
+# endif
+# if !defined(BIG_ENDIAN) && defined(__BIG_ENDIAN)
+# define BIG_ENDIAN __BIG_ENDIAN
+# endif
+# if !defined(PDP_ENDIAN) && defined(__PDP_ENDIAN)
+# define PDP_ENDIAN __PDP_ENDIAN
+# endif
+# if !defined(BYTE_ORDER) && defined(__BYTE_ORDER)
+# define BYTE_ORDER __BYTE_ORDER
+# endif
+# endif
+
+# ifndef BYTE_ORDER
+# define LITTLE_ENDIAN 1234
+# define BIG_ENDIAN 4321
+
+# if defined(__sun) && defined(__SVR4)
+# include <sys/isa_defs.h>
+# ifdef _LITTLE_ENDIAN
+# define BYTE_ORDER LITTLE_ENDIAN
+# endif
+# ifdef _BIG_ENDIAN
+# define BYTE_ORDER BIG_ENDIAN
+# endif
+# endif /* sun */
+# endif /* BYTE_ORDER */
+
+# define X_BYTE_ORDER BYTE_ORDER
+# define X_BIG_ENDIAN BIG_ENDIAN
+# define X_LITTLE_ENDIAN LITTLE_ENDIAN
+
+# endif /* not in imake config */
+
+#endif /* _XARCH_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/Xatom.h b/stream-servers/apigen-codec-common/X11/Xatom.h
new file mode 100644
index 0000000..485a423
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/Xatom.h
@@ -0,0 +1,79 @@
+#ifndef XATOM_H
+#define XATOM_H 1
+
+/* THIS IS A GENERATED FILE
+ *
+ * Do not change! Changing this file implies a protocol change!
+ */
+
+#define XA_PRIMARY ((Atom) 1)
+#define XA_SECONDARY ((Atom) 2)
+#define XA_ARC ((Atom) 3)
+#define XA_ATOM ((Atom) 4)
+#define XA_BITMAP ((Atom) 5)
+#define XA_CARDINAL ((Atom) 6)
+#define XA_COLORMAP ((Atom) 7)
+#define XA_CURSOR ((Atom) 8)
+#define XA_CUT_BUFFER0 ((Atom) 9)
+#define XA_CUT_BUFFER1 ((Atom) 10)
+#define XA_CUT_BUFFER2 ((Atom) 11)
+#define XA_CUT_BUFFER3 ((Atom) 12)
+#define XA_CUT_BUFFER4 ((Atom) 13)
+#define XA_CUT_BUFFER5 ((Atom) 14)
+#define XA_CUT_BUFFER6 ((Atom) 15)
+#define XA_CUT_BUFFER7 ((Atom) 16)
+#define XA_DRAWABLE ((Atom) 17)
+#define XA_FONT ((Atom) 18)
+#define XA_INTEGER ((Atom) 19)
+#define XA_PIXMAP ((Atom) 20)
+#define XA_POINT ((Atom) 21)
+#define XA_RECTANGLE ((Atom) 22)
+#define XA_RESOURCE_MANAGER ((Atom) 23)
+#define XA_RGB_COLOR_MAP ((Atom) 24)
+#define XA_RGB_BEST_MAP ((Atom) 25)
+#define XA_RGB_BLUE_MAP ((Atom) 26)
+#define XA_RGB_DEFAULT_MAP ((Atom) 27)
+#define XA_RGB_GRAY_MAP ((Atom) 28)
+#define XA_RGB_GREEN_MAP ((Atom) 29)
+#define XA_RGB_RED_MAP ((Atom) 30)
+#define XA_STRING ((Atom) 31)
+#define XA_VISUALID ((Atom) 32)
+#define XA_WINDOW ((Atom) 33)
+#define XA_WM_COMMAND ((Atom) 34)
+#define XA_WM_HINTS ((Atom) 35)
+#define XA_WM_CLIENT_MACHINE ((Atom) 36)
+#define XA_WM_ICON_NAME ((Atom) 37)
+#define XA_WM_ICON_SIZE ((Atom) 38)
+#define XA_WM_NAME ((Atom) 39)
+#define XA_WM_NORMAL_HINTS ((Atom) 40)
+#define XA_WM_SIZE_HINTS ((Atom) 41)
+#define XA_WM_ZOOM_HINTS ((Atom) 42)
+#define XA_MIN_SPACE ((Atom) 43)
+#define XA_NORM_SPACE ((Atom) 44)
+#define XA_MAX_SPACE ((Atom) 45)
+#define XA_END_SPACE ((Atom) 46)
+#define XA_SUPERSCRIPT_X ((Atom) 47)
+#define XA_SUPERSCRIPT_Y ((Atom) 48)
+#define XA_SUBSCRIPT_X ((Atom) 49)
+#define XA_SUBSCRIPT_Y ((Atom) 50)
+#define XA_UNDERLINE_POSITION ((Atom) 51)
+#define XA_UNDERLINE_THICKNESS ((Atom) 52)
+#define XA_STRIKEOUT_ASCENT ((Atom) 53)
+#define XA_STRIKEOUT_DESCENT ((Atom) 54)
+#define XA_ITALIC_ANGLE ((Atom) 55)
+#define XA_X_HEIGHT ((Atom) 56)
+#define XA_QUAD_WIDTH ((Atom) 57)
+#define XA_WEIGHT ((Atom) 58)
+#define XA_POINT_SIZE ((Atom) 59)
+#define XA_RESOLUTION ((Atom) 60)
+#define XA_COPYRIGHT ((Atom) 61)
+#define XA_NOTICE ((Atom) 62)
+#define XA_FONT_NAME ((Atom) 63)
+#define XA_FAMILY_NAME ((Atom) 64)
+#define XA_FULL_NAME ((Atom) 65)
+#define XA_CAP_HEIGHT ((Atom) 66)
+#define XA_WM_CLASS ((Atom) 67)
+#define XA_WM_TRANSIENT_FOR ((Atom) 68)
+
+#define XA_LAST_PREDEFINED ((Atom) 68)
+#endif /* XATOM_H */
diff --git a/stream-servers/apigen-codec-common/X11/Xcms.h b/stream-servers/apigen-codec-common/X11/Xcms.h
new file mode 100644
index 0000000..8151fd1
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/Xcms.h
@@ -0,0 +1,803 @@
+
+/*
+ * Code and supporting documentation (c) Copyright 1990 1991 Tektronix, Inc.
+ * All Rights Reserved
+ *
+ * This file is a component of an X Window System-specific implementation
+ * of Xcms based on the TekColor Color Management System. Permission is
+ * hereby granted to use, copy, modify, sell, and otherwise distribute this
+ * software and its documentation for any purpose and without fee, provided
+ * that this copyright, permission, and disclaimer notice is reproduced in
+ * all copies of this software and in supporting documentation. TekColor
+ * is a trademark of Tektronix, Inc.
+ *
+ * Tektronix makes no representation about the suitability of this software
+ * for any purpose. It is provided "as is" and with all faults.
+ *
+ * TEKTRONIX DISCLAIMS ALL WARRANTIES APPLICABLE TO THIS SOFTWARE,
+ * INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+ * PARTICULAR PURPOSE. IN NO EVENT SHALL TEKTRONIX BE LIABLE FOR ANY
+ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+ * RESULTING FROM LOSS OF USE, DATA, OR PROFITS, WHETHER IN AN ACTION OF
+ * CONTRACT, NEGLIGENCE, OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR THE PERFORMANCE OF THIS SOFTWARE.
+ *
+ *
+ * DESCRIPTION
+ * Public include file for X Color Management System
+ */
+#ifndef _X11_XCMS_H_
+#define _X11_XCMS_H_
+
+#include <X11/Xlib.h>
+
+ /*
+ * XCMS Status Values
+ */
+#define XcmsFailure 0
+#define XcmsSuccess 1
+#define XcmsSuccessWithCompression 2
+
+ /*
+ * Color Space Format ID's
+ * Color Space ID's are of XcmsColorFormat type.
+ *
+ * bit 31
+ * 0 == Device-Independent
+ * 1 == Device-Dependent
+ *
+ * bit 30:
+ * 0 == Registered with X Consortium
+ * 1 == Unregistered
+ */
+#define XcmsUndefinedFormat (XcmsColorFormat)0x00000000
+#define XcmsCIEXYZFormat (XcmsColorFormat)0x00000001
+#define XcmsCIEuvYFormat (XcmsColorFormat)0x00000002
+#define XcmsCIExyYFormat (XcmsColorFormat)0x00000003
+#define XcmsCIELabFormat (XcmsColorFormat)0x00000004
+#define XcmsCIELuvFormat (XcmsColorFormat)0x00000005
+#define XcmsTekHVCFormat (XcmsColorFormat)0x00000006
+#define XcmsRGBFormat (XcmsColorFormat)0x80000000
+#define XcmsRGBiFormat (XcmsColorFormat)0x80000001
+
+ /*
+ * State of XcmsPerScrnInfo
+ */
+#define XcmsInitNone 0x00 /* no initialization attempted */
+#define XcmsInitSuccess 0x01 /* initialization successful */
+#define XcmsInitFailure 0xff /* failure, use defaults */
+
+#define DisplayOfCCC(ccc) ((ccc)->dpy)
+#define ScreenNumberOfCCC(ccc) ((ccc)->screenNumber)
+#define VisualOfCCC(ccc) ((ccc)->visual)
+#define ClientWhitePointOfCCC(ccc) (&(ccc)->clientWhitePt)
+#define ScreenWhitePointOfCCC(ccc) (&(ccc)->pPerScrnInfo->screenWhitePt)
+#define FunctionSetOfCCC(ccc) ((ccc)->pPerScrnInfo->functionSet)
+
+typedef unsigned long XcmsColorFormat; /* Color Space Format ID */
+
+typedef double XcmsFloat;
+
+ /*
+ * Device RGB
+ */
+typedef struct {
+ unsigned short red; /* scaled from 0x0000 to 0xffff */
+ unsigned short green; /* scaled from 0x0000 to 0xffff */
+ unsigned short blue; /* scaled from 0x0000 to 0xffff */
+} XcmsRGB;
+
+ /*
+ * RGB Intensity
+ */
+typedef struct {
+ XcmsFloat red; /* 0.0 - 1.0 */
+ XcmsFloat green; /* 0.0 - 1.0 */
+ XcmsFloat blue; /* 0.0 - 1.0 */
+} XcmsRGBi;
+
+ /*
+ * CIE XYZ
+ */
+typedef struct {
+ XcmsFloat X;
+ XcmsFloat Y;
+ XcmsFloat Z;
+} XcmsCIEXYZ;
+
+ /*
+ * CIE u'v'Y
+ */
+typedef struct {
+ XcmsFloat u_prime; /* 0.0 - 1.0 */
+ XcmsFloat v_prime; /* 0.0 - 1.0 */
+ XcmsFloat Y; /* 0.0 - 1.0 */
+} XcmsCIEuvY;
+
+ /*
+ * CIE xyY
+ */
+typedef struct {
+ XcmsFloat x; /* 0.0 - 1.0 */
+ XcmsFloat y; /* 0.0 - 1.0 */
+ XcmsFloat Y; /* 0.0 - 1.0 */
+} XcmsCIExyY;
+
+ /*
+ * CIE L*a*b*
+ */
+typedef struct {
+ XcmsFloat L_star; /* 0.0 - 100.0 */
+ XcmsFloat a_star;
+ XcmsFloat b_star;
+} XcmsCIELab;
+
+ /*
+ * CIE L*u*v*
+ */
+typedef struct {
+ XcmsFloat L_star; /* 0.0 - 100.0 */
+ XcmsFloat u_star;
+ XcmsFloat v_star;
+} XcmsCIELuv;
+
+ /*
+ * TekHVC
+ */
+typedef struct {
+ XcmsFloat H; /* 0.0 - 360.0 */
+ XcmsFloat V; /* 0.0 - 100.0 */
+ XcmsFloat C; /* 0.0 - 100.0 */
+} XcmsTekHVC;
+
+ /*
+ * PAD
+ */
+typedef struct {
+ XcmsFloat pad0;
+ XcmsFloat pad1;
+ XcmsFloat pad2;
+ XcmsFloat pad3;
+} XcmsPad;
+
+
+ /*
+ * XCMS Color Structure
+ */
+typedef struct {
+ union {
+ XcmsRGB RGB;
+ XcmsRGBi RGBi;
+ XcmsCIEXYZ CIEXYZ;
+ XcmsCIEuvY CIEuvY;
+ XcmsCIExyY CIExyY;
+ XcmsCIELab CIELab;
+ XcmsCIELuv CIELuv;
+ XcmsTekHVC TekHVC;
+ XcmsPad Pad;
+ } spec; /* the color specification */
+ unsigned long pixel; /* pixel value (as needed) */
+ XcmsColorFormat format; /* the specification format */
+} XcmsColor;
+
+
+ /*
+ * XCMS Per Screen related data
+ */
+
+typedef struct _XcmsPerScrnInfo {
+ XcmsColor screenWhitePt; /* Screen White point */
+ XPointer functionSet; /* pointer to Screen Color Characterization */
+ /* Function Set structure */
+ XPointer screenData; /* pointer to corresponding Screen Color*/
+ /* Characterization Data */
+ unsigned char state; /* XcmsInitNone, XcmsInitSuccess, XcmsInitFailure */
+ char pad[3];
+} XcmsPerScrnInfo;
+
+typedef struct _XcmsCCC *XcmsCCC;
+
+typedef Status (*XcmsCompressionProc)( /* Gamut Compression Proc */
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ unsigned int /* index */,
+ Bool* /* compression_flags_return */
+);
+
+typedef Status (*XcmsWhiteAdjustProc)( /* White Point Adjust Proc */
+ XcmsCCC /* ccc */,
+ XcmsColor* /* initial_white_point*/,
+ XcmsColor* /* target_white_point*/,
+ XcmsColorFormat /* target_format */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ Bool* /* compression_flags_return */
+);
+
+ /*
+ * XCMS Color Conversion Context
+ */
+typedef struct _XcmsCCC {
+ Display *dpy; /* X Display */
+ int screenNumber; /* X screen number */
+ Visual *visual; /* X Visual */
+ XcmsColor clientWhitePt; /* Client White Point */
+ XcmsCompressionProc gamutCompProc; /* Gamut Compression Function */
+ XPointer gamutCompClientData; /* Gamut Comp Func Client Data */
+ XcmsWhiteAdjustProc whitePtAdjProc; /* White Point Adjustment Function */
+ XPointer whitePtAdjClientData; /* White Pt Adj Func Client Data */
+ XcmsPerScrnInfo *pPerScrnInfo; /* pointer to per screen information */
+ /* associated with the above display */
+ /* screenNumber */
+} XcmsCCCRec;
+
+typedef Status (*XcmsScreenInitProc)( /* Screen Initialization Proc */
+ Display* /* dpy */,
+ int /* screen_number */,
+ XcmsPerScrnInfo* /* screen_info */
+);
+
+typedef void (*XcmsScreenFreeProc)(
+ XPointer /* screenData */
+);
+
+ /*
+ * Function List Pointer -- pointer to an array of function pointers.
+ * The end of list is indicated by a NULL pointer.
+ */
+/*
+ * XXX: The use of the XcmsConversionProc type is broken. The
+ * device-independent colour conversion code uses it as:
+
+typedef Status (*XcmsConversionProc)(XcmsCCC, XcmsColor *, XcmsColor *,
+ unsigned int);
+
+ * while the device-dependent code uses it as:
+
+typedef Status (*XcmsConversionProc)(XcmsCCC, XcmsColor *, unsigned int,
+ Bool *);
+
+ * Until this is reworked, it's probably best to leave it unprotoized.
+ * The code works regardless.
+ */
+typedef Status (*XcmsDDConversionProc)( /* using device-dependent version */
+ XcmsCCC /* ccc */,
+ XcmsColor* /* pcolors_in_out */,
+ unsigned int /* ncolors */,
+ Bool* /* pCompressed */
+ );
+
+typedef Status (*XcmsDIConversionProc)( /* using device-independent version */
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* pcolors_in_out */,
+ unsigned int /* ncolors */
+ );
+
+typedef XcmsDIConversionProc XcmsConversionProc;
+typedef XcmsConversionProc *XcmsFuncListPtr;
+
+typedef int (*XcmsParseStringProc)( /* Color String Parsing Proc */
+ char* /* color_string */,
+ XcmsColor* /* color_return */
+);
+
+ /*
+ * Color Space -- per Color Space related data (Device-Independent
+ * or Device-Dependent)
+ */
+typedef struct _XcmsColorSpace {
+ const char *prefix; /* Prefix of string format. */
+ XcmsColorFormat id; /* Format ID number. */
+ XcmsParseStringProc parseString;
+ /* String format parsing function */
+ XcmsFuncListPtr to_CIEXYZ; /* Pointer to an array of function */
+ /* pointers such that when the */
+ /* functions are executed in sequence */
+ /* will convert a XcmsColor structure */
+ /* from this color space to CIEXYZ */
+ /* space. */
+ XcmsFuncListPtr from_CIEXYZ;/* Pointer to an array of function */
+ /* pointers such that when the */
+ /* functions are executed in sequence */
+ /* will convert a XcmsColor structure */
+ /* from CIEXYZ space to this color */
+ /* space. */
+ int inverse_flag; /* If 1, indicates that for 0 <= i < n */
+ /* where n is the number of function */
+ /* pointers in the lists to_CIEXYZ */
+ /* and from_CIEXYZ; for each function */
+ /* to_CIEXYZ[i] its inverse function */
+ /* is from_CIEXYZ[n - i]. */
+
+} XcmsColorSpace;
+
+ /*
+ * Screen Color Characterization Function Set -- per device class
+ * color space conversion functions.
+ */
+typedef struct _XcmsFunctionSet {
+ XcmsColorSpace **DDColorSpaces;
+ /* Pointer to an array of pointers to */
+ /* Device-DEPENDENT color spaces */
+ /* understood by this SCCFuncSet. */
+ XcmsScreenInitProc screenInitProc;
+ /* Screen initialization function that */
+ /* reads Screen Color Characterization*/
+ /* Data off properties on the screen's*/
+ /* root window. */
+ XcmsScreenFreeProc screenFreeProc;
+ /* Function that frees the SCCData */
+ /* structures. */
+} XcmsFunctionSet;
+
+_XFUNCPROTOBEGIN
+
+extern Status XcmsAddColorSpace (
+ XcmsColorSpace* /* pColorSpace */
+);
+
+extern Status XcmsAddFunctionSet (
+ XcmsFunctionSet* /* functionSet */
+);
+
+extern Status XcmsAllocColor (
+ Display* /* dpy */,
+ Colormap /* colormap */,
+ XcmsColor* /* color_in_out */,
+ XcmsColorFormat /* result_format */
+);
+
+extern Status XcmsAllocNamedColor (
+ Display* /* dpy */,
+ Colormap /* colormap */,
+ _Xconst char* /* color_string */,
+ XcmsColor* /* color_scrn_return */,
+ XcmsColor* /* color_exact_return */,
+ XcmsColorFormat /* result_format */
+);
+
+extern XcmsCCC XcmsCCCOfColormap (
+ Display* /* dpy */,
+ Colormap /* colormap */
+);
+
+extern Status XcmsCIELabClipab(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ unsigned int /* index */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsCIELabClipL(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ unsigned int /* index */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsCIELabClipLab(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ unsigned int /* index */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsCIELabQueryMaxC (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue_angle */,
+ XcmsFloat /* L_star */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsCIELabQueryMaxL (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue_angle */,
+ XcmsFloat /* chroma */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsCIELabQueryMaxLC (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue_angle */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsCIELabQueryMinL (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue_angle */,
+ XcmsFloat /* chroma */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsCIELabToCIEXYZ (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */
+);
+
+extern Status XcmsCIELabWhiteShiftColors(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* initial_white_point*/,
+ XcmsColor* /* target_white_point*/,
+ XcmsColorFormat /* target_format */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsCIELuvClipL(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ unsigned int /* index */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsCIELuvClipLuv(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ unsigned int /* index */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsCIELuvClipuv(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ unsigned int /* index */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsCIELuvQueryMaxC (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue_angle */,
+ XcmsFloat /* L_star */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsCIELuvQueryMaxL (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue_angle */,
+ XcmsFloat /* chroma */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsCIELuvQueryMaxLC (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue_angle */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsCIELuvQueryMinL (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue_angle */,
+ XcmsFloat /* chroma */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsCIELuvToCIEuvY (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */
+);
+
+extern Status XcmsCIELuvWhiteShiftColors(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* initial_white_point*/,
+ XcmsColor* /* target_white_point*/,
+ XcmsColorFormat /* target_format */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsCIEXYZToCIELab (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */
+);
+
+extern Status XcmsCIEXYZToCIEuvY (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */
+);
+
+extern Status XcmsCIEXYZToCIExyY (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */
+);
+
+extern Status XcmsCIEXYZToRGBi (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsCIEuvYToCIELuv (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */
+);
+
+extern Status XcmsCIEuvYToCIEXYZ (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */
+);
+
+extern Status XcmsCIEuvYToTekHVC (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */
+);
+
+extern Status XcmsCIExyYToCIEXYZ (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */
+);
+
+extern XcmsColor *XcmsClientWhitePointOfCCC (
+ XcmsCCC /* ccc */
+);
+
+extern Status XcmsConvertColors (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colorArry_in_out */,
+ unsigned int /* nColors */,
+ XcmsColorFormat /* targetFormat */,
+ Bool* /* compArry_return */
+);
+
+extern XcmsCCC XcmsCreateCCC (
+ Display* /* dpy */,
+ int /* screenNumber */,
+ Visual* /* visual */,
+ XcmsColor* /* clientWhitePt */,
+ XcmsCompressionProc /* gamutCompProc */,
+ XPointer /* gamutCompClientData */,
+ XcmsWhiteAdjustProc /* whitePtAdjProc */,
+ XPointer /* whitePtAdjClientData */
+);
+
+extern XcmsCCC XcmsDefaultCCC (
+ Display* /* dpy */,
+ int /* screenNumber */
+);
+
+extern Display *XcmsDisplayOfCCC (
+ XcmsCCC /* ccc */
+);
+
+extern XcmsColorFormat XcmsFormatOfPrefix (
+ char* /* prefix */
+);
+
+extern void XcmsFreeCCC (
+ XcmsCCC /* ccc */
+);
+
+extern Status XcmsLookupColor (
+ Display* /* dpy */,
+ Colormap /* colormap */,
+ _Xconst char* /* color_string */,
+ XcmsColor* /* pColor_exact_in_out */,
+ XcmsColor* /* pColor_scrn_in_out */,
+ XcmsColorFormat /* result_format */
+);
+
+extern char *XcmsPrefixOfFormat (
+ XcmsColorFormat /* id */
+);
+
+extern Status XcmsQueryBlack (
+ XcmsCCC /* ccc */,
+ XcmsColorFormat /* target_format */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsQueryBlue (
+ XcmsCCC /* ccc */,
+ XcmsColorFormat /* target_format */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsQueryColor (
+ Display* /* dpy */,
+ Colormap /* colormap */,
+ XcmsColor* /* pColor_in_out */,
+ XcmsColorFormat /* result_format */
+);
+
+extern Status XcmsQueryColors (
+ Display* /* dpy */,
+ Colormap /* colormap */,
+ XcmsColor* /* colorArry_in_out */,
+ unsigned int /* nColors */,
+ XcmsColorFormat /* result_format */
+);
+
+extern Status XcmsQueryGreen (
+ XcmsCCC /* ccc */,
+ XcmsColorFormat /* target_format */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsQueryRed (
+ XcmsCCC /* ccc */,
+ XcmsColorFormat /* target_format */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsQueryWhite (
+ XcmsCCC /* ccc */,
+ XcmsColorFormat /* target_format */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsRGBiToCIEXYZ (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsRGBiToRGB (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsRGBToRGBi (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */,
+ Bool* /* compression_flags_return */
+);
+
+extern int XcmsScreenNumberOfCCC (
+ XcmsCCC /* ccc */
+);
+
+extern XcmsColor *XcmsScreenWhitePointOfCCC (
+ XcmsCCC /* ccc */
+);
+
+extern XcmsCCC XcmsSetCCCOfColormap(
+ Display* /* dpy */,
+ Colormap /* colormap */,
+ XcmsCCC /* ccc */
+);
+
+extern XcmsCompressionProc XcmsSetCompressionProc (
+ XcmsCCC /* ccc */,
+ XcmsCompressionProc /* compression_proc */,
+ XPointer /* client_data */
+);
+
+extern XcmsWhiteAdjustProc XcmsSetWhiteAdjustProc (
+ XcmsCCC /* ccc */,
+ XcmsWhiteAdjustProc /* white_adjust_proc */,
+ XPointer /* client_data */
+);
+
+extern Status XcmsSetWhitePoint (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* color */
+);
+
+extern Status XcmsStoreColor (
+ Display* /* dpy */,
+ Colormap /* colormap */,
+ XcmsColor* /* pColor_in */
+);
+
+extern Status XcmsStoreColors (
+ Display* /* dpy */,
+ Colormap /* colormap */,
+ XcmsColor* /* colorArry_in */,
+ unsigned int /* nColors */,
+ Bool* /* compArry_return */
+);
+
+extern Status XcmsTekHVCClipC(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ unsigned int /* index */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsTekHVCClipV(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ unsigned int /* index */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsTekHVCClipVC(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ unsigned int /* index */,
+ Bool* /* compression_flags_return */
+);
+
+extern Status XcmsTekHVCQueryMaxC (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue */,
+ XcmsFloat /* value */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsTekHVCQueryMaxV (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue */,
+ XcmsFloat /* chroma */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsTekHVCQueryMaxVC (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsTekHVCQueryMaxVSamples (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue */,
+ XcmsColor* /* colors_return */,
+ unsigned int /* nsamples */
+);
+
+extern Status XcmsTekHVCQueryMinV (
+ XcmsCCC /* ccc */,
+ XcmsFloat /* hue */,
+ XcmsFloat /* chroma */,
+ XcmsColor* /* color_return */
+);
+
+extern Status XcmsTekHVCToCIEuvY (
+ XcmsCCC /* ccc */,
+ XcmsColor* /* white_point */,
+ XcmsColor* /* colors */,
+ unsigned int /* ncolors */
+);
+
+extern Status XcmsTekHVCWhiteShiftColors(
+ XcmsCCC /* ccc */,
+ XcmsColor* /* initial_white_point*/,
+ XcmsColor* /* target_white_point*/,
+ XcmsColorFormat /* target_format */,
+ XcmsColor* /* colors_in_out */,
+ unsigned int /* ncolors */,
+ Bool* /* compression_flags_return */
+);
+
+extern Visual *XcmsVisualOfCCC (
+ XcmsCCC /* ccc */
+);
+
+_XFUNCPROTOEND
+
+#endif /* _X11_XCMS_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/Xdefs.h b/stream-servers/apigen-codec-common/X11/Xdefs.h
new file mode 100644
index 0000000..46ffdad
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/Xdefs.h
@@ -0,0 +1,108 @@
+/***********************************************************
+
+Copyright (c) 1999 The XFree86 Project Inc.
+
+All Rights Reserved.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The XFree86 Project
+Inc. shall not be used in advertising or otherwise to promote the
+sale, use or other dealings in this Software without prior written
+authorization from The XFree86 Project Inc..
+
+*/
+
+/**
+ ** Types definitions shared between server and clients
+ **/
+
+#ifndef _XDEFS_H
+#define _XDEFS_H
+
+#ifdef _XSERVER64
+#include <X11/Xmd.h>
+#endif
+
+#ifndef _XTYPEDEF_ATOM
+# define _XTYPEDEF_ATOM
+# ifndef _XSERVER64
+typedef unsigned long Atom;
+# else
+typedef CARD32 Atom;
+# endif
+#endif
+
+#ifndef Bool
+# ifndef _XTYPEDEF_BOOL
+# define _XTYPEDEF_BOOL
+typedef int Bool;
+# endif
+#endif
+
+#ifndef _XTYPEDEF_POINTER
+# define _XTYPEDEF_POINTER
+typedef void *pointer;
+#endif
+
+#ifndef _XTYPEDEF_CLIENTPTR
+typedef struct _Client *ClientPtr;
+# define _XTYPEDEF_CLIENTPTR
+#endif
+
+#ifndef _XTYPEDEF_XID
+# define _XTYPEDEF_XID
+# ifndef _XSERVER64
+typedef unsigned long XID;
+# else
+typedef CARD32 XID;
+# endif
+#endif
+
+#ifndef _XTYPEDEF_MASK
+# define _XTYPEDEF_MASK
+# ifndef _XSERVER64
+typedef unsigned long Mask;
+# else
+typedef CARD32 Mask;
+# endif
+#endif
+
+#ifndef _XTYPEDEF_FONTPTR
+# define _XTYPEDEF_FONTPTR
+typedef struct _Font *FontPtr; /* also in fonts/include/font.h */
+#endif
+
+#ifndef _XTYPEDEF_FONT
+# define _XTYPEDEF_FONT
+typedef XID Font;
+#endif
+
+#ifndef _XTYPEDEF_FSID
+# ifndef _XSERVER64
+typedef unsigned long FSID;
+# else
+typedef CARD32 FSID;
+# endif
+#endif
+
+typedef FSID AccContext;
+
+/* OS independent time value
+ XXX Should probably go in Xos.h */
+typedef struct timeval **OSTimePtr;
+
+
+typedef void (* BlockHandlerProcPtr)(pointer /* blockData */,
+ OSTimePtr /* pTimeout */,
+ pointer /* pReadmask */);
+
+#endif
diff --git a/stream-servers/apigen-codec-common/X11/Xfuncproto.h b/stream-servers/apigen-codec-common/X11/Xfuncproto.h
new file mode 100644
index 0000000..40f66c0
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/Xfuncproto.h
@@ -0,0 +1,174 @@
+/* Xfuncproto.h. Generated from Xfuncproto.h.in by configure. */
+/*
+ *
+Copyright 1989, 1991, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+ *
+ */
+
+/* Definitions to make function prototypes manageable */
+
+#ifndef _XFUNCPROTO_H_
+#define _XFUNCPROTO_H_
+
+#ifndef NeedFunctionPrototypes
+#define NeedFunctionPrototypes 1
+#endif /* NeedFunctionPrototypes */
+
+#ifndef NeedVarargsPrototypes
+#define NeedVarargsPrototypes 1
+#endif /* NeedVarargsPrototypes */
+
+#if NeedFunctionPrototypes
+
+#ifndef NeedNestedPrototypes
+#define NeedNestedPrototypes 1
+#endif /* NeedNestedPrototypes */
+
+#ifndef _Xconst
+#define _Xconst const
+#endif /* _Xconst */
+
+/* Function prototype configuration (see configure for more info) */
+#ifndef NARROWPROTO
+#define NARROWPROTO /**/
+#endif
+#ifndef FUNCPROTO
+#define FUNCPROTO 15
+#endif
+
+#ifndef NeedWidePrototypes
+#ifdef NARROWPROTO
+#define NeedWidePrototypes 0
+#else
+#define NeedWidePrototypes 1 /* default to make interropt. easier */
+#endif
+#endif /* NeedWidePrototypes */
+
+#endif /* NeedFunctionPrototypes */
+
+#ifndef _XFUNCPROTOBEGIN
+#if defined(__cplusplus) || defined(c_plusplus) /* for C++ V2.0 */
+#define _XFUNCPROTOBEGIN extern "C" { /* do not leave open across includes */
+#define _XFUNCPROTOEND }
+#else
+#define _XFUNCPROTOBEGIN
+#define _XFUNCPROTOEND
+#endif
+#endif /* _XFUNCPROTOBEGIN */
+
+/* Added in X11R6.9, so available in any version of modular xproto */
+#if defined(__GNUC__) && (__GNUC__ >= 4)
+# define _X_SENTINEL(x) __attribute__ ((__sentinel__(x)))
+#else
+# define _X_SENTINEL(x)
+#endif /* GNUC >= 4 */
+
+/* Added in X11R6.9, so available in any version of modular xproto */
+#if defined(__GNUC__) && (__GNUC__ >= 4) && !defined(__CYGWIN__)
+# define _X_EXPORT __attribute__((visibility("default")))
+# define _X_HIDDEN __attribute__((visibility("hidden")))
+# define _X_INTERNAL __attribute__((visibility("internal")))
+#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550)
+# define _X_EXPORT __global
+# define _X_HIDDEN __hidden
+# define _X_INTERNAL __hidden
+#else /* not gcc >= 4 and not Sun Studio >= 8 */
+# define _X_EXPORT
+# define _X_HIDDEN
+# define _X_INTERNAL
+#endif /* GNUC >= 4 */
+
+/* requires xproto >= 7.0.9 */
+#if defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 303)
+# define _X_LIKELY(x) __builtin_expect(!!(x), 1)
+# define _X_UNLIKELY(x) __builtin_expect(!!(x), 0)
+#else /* not gcc >= 3.3 */
+# define _X_LIKELY(x) (x)
+# define _X_UNLIKELY(x) (x)
+#endif
+
+/* Added in X11R6.9, so available in any version of modular xproto */
+#if defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 301)
+# define _X_DEPRECATED __attribute__((deprecated))
+#else /* not gcc >= 3.1 */
+# define _X_DEPRECATED
+#endif
+
+/* requires xproto >= 7.0.17 */
+#if (defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 205)) \
+ || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590))
+# define _X_NORETURN __attribute((noreturn))
+#else
+# define _X_NORETURN
+#endif /* GNUC */
+
+/* Added in X11R6.9, so available in any version of modular xproto */
+#if defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 203)
+# define _X_ATTRIBUTE_PRINTF(x,y) __attribute__((__format__(__printf__,x,y)))
+#else /* not gcc >= 2.3 */
+# define _X_ATTRIBUTE_PRINTF(x,y)
+#endif
+
+/* requires xproto >= 7.0.22 - since this uses either gcc or C99 variable
+ argument macros, must be only used inside #ifdef _X_NONNULL guards, as
+ many legacy X clients are compiled in C89 mode still. */
+#if defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 303)
+#define _X_NONNULL(args...) __attribute__((nonnull(args)))
+#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ - 0 >= 199901L) /* C99 */
+#define _X_NONNULL(...) /* */
+#endif
+
+/* requires xproto >= 7.0.22 */
+#if defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 205)
+#define _X_UNUSED __attribute__((__unused__))
+#else
+#define _X_UNUSED /* */
+#endif
+
+/* C99 keyword "inline" or equivalent extensions in pre-C99 compilers */
+/* requires xproto >= 7.0.9
+ (introduced in 7.0.8 but didn't support all compilers until 7.0.9) */
+#if defined(inline) /* assume autoconf set it correctly */ || \
+ (defined(__STDC_VERSION__) && (__STDC_VERSION__ - 0 >= 199901L)) /* C99 */ || \
+ (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550))
+# define _X_INLINE inline
+#elif defined(__GNUC__) && !defined(__STRICT_ANSI__) /* gcc w/C89+extensions */
+# define _X_INLINE __inline__
+#else
+# define _X_INLINE
+#endif
+
+/* C99 keyword "restrict" or equivalent extensions in pre-C99 compilers */
+/* requires xproto >= 7.0.21 */
+#ifndef _X_RESTRICT_KYWD
+# if defined(restrict) /* assume autoconf set it correctly */ || \
+ (defined(__STDC_VERSION__) && (__STDC_VERSION__ - 0 >= 199901L)) /* C99 */
+# define _X_RESTRICT_KYWD restrict
+# elif defined(__GNUC__) && !defined(__STRICT_ANSI__) /* gcc w/C89+extensions */
+# define _X_RESTRICT_KYWD __restrict__
+# else
+# define _X_RESTRICT_KYWD
+# endif
+#endif
+
+#endif /* _XFUNCPROTO_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/Xfuncs.h b/stream-servers/apigen-codec-common/X11/Xfuncs.h
new file mode 100644
index 0000000..2bcf991
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/Xfuncs.h
@@ -0,0 +1,69 @@
+/*
+ *
+Copyright 1990, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+ *
+ */
+
+#ifndef _XFUNCS_H_
+# define _XFUNCS_H_
+
+# include <X11/Xosdefs.h>
+
+/* the old Xfuncs.h, for pre-R6 */
+# if !(defined(XFree86LOADER) && defined(IN_MODULE))
+
+# ifdef X_USEBFUNCS
+void bcopy();
+void bzero();
+int bcmp();
+# else
+# if defined(SYSV) && !defined(__SCO__) && !defined(__sun) && !defined(__UNIXWARE__)
+# include <memory.h>
+void bcopy();
+# define bzero(b,len) memset(b, 0, len)
+# define bcmp(b1,b2,len) memcmp(b1, b2, len)
+# else
+# include <string.h>
+# if defined(__SCO__) || defined(__sun) || defined(__UNIXWARE__) || defined(__CYGWIN__)
+# include <strings.h>
+# endif
+# define _XFUNCS_H_INCLUDED_STRING_H
+# endif
+# endif /* X_USEBFUNCS */
+
+/* the new Xfuncs.h */
+
+/* the ANSI C way */
+# ifndef _XFUNCS_H_INCLUDED_STRING_H
+# include <string.h>
+# endif
+# undef bzero
+# define bzero(b,len) memset(b,0,len)
+
+# if defined WIN32 && defined __MINGW32__
+# define bcopy(b1,b2,len) memmove(b2, b1, (size_t)(len))
+# endif
+
+# endif /* !(defined(XFree86LOADER) && defined(IN_MODULE)) */
+
+#endif /* _XFUNCS_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/Xlib.h b/stream-servers/apigen-codec-common/X11/Xlib.h
new file mode 100644
index 0000000..dd4c7c4
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/Xlib.h
@@ -0,0 +1,4024 @@
+/*
+
+Copyright 1985, 1986, 1987, 1991, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+
+
+/*
+ * Xlib.h - Header definition and support file for the C subroutine
+ * interface library (Xlib) to the X Window System Protocol (V11).
+ * Structures and symbols starting with "_" are private to the library.
+ */
+#ifndef _X11_XLIB_H_
+#define _X11_XLIB_H_
+
+#define XlibSpecificationRelease 6
+
+#include <sys/types.h>
+
+#if defined(__SCO__) || defined(__UNIXWARE__)
+#include <stdint.h>
+#endif
+
+#include <X11/X.h>
+
+/* applications should not depend on these two headers being included! */
+#include <X11/Xfuncproto.h>
+#include <X11/Xosdefs.h>
+
+#ifndef X_WCHAR
+#include <stddef.h>
+#else
+#ifdef __UNIXOS2__
+#include <stdlib.h>
+#else
+/* replace this with #include or typedef appropriate for your system */
+typedef unsigned long wchar_t;
+#endif
+#endif
+
+#if defined(ISC) && defined(USE_XMBTOWC)
+#define wctomb(a,b) _Xwctomb(a,b)
+#define mblen(a,b) _Xmblen(a,b)
+#ifndef USE_XWCHAR_STRING
+#define mbtowc(a,b,c) _Xmbtowc(a,b,c)
+#endif
+#endif
+
+extern int
+_Xmblen(
+#ifdef ISC
+ char const *str,
+ size_t len
+#else
+ char *str,
+ int len
+#endif
+ );
+
+/* API mentioning "UTF8" or "utf8" is an XFree86 extension, introduced in
+ November 2000. Its presence is indicated through the following macro. */
+#define X_HAVE_UTF8_STRING 1
+
+typedef char *XPointer;
+
+#define Bool int
+#define Status int
+#define True 1
+#define False 0
+
+#define QueuedAlready 0
+#define QueuedAfterReading 1
+#define QueuedAfterFlush 2
+
+#define ConnectionNumber(dpy) (((_XPrivDisplay)dpy)->fd)
+#define RootWindow(dpy, scr) (ScreenOfDisplay(dpy,scr)->root)
+#define DefaultScreen(dpy) (((_XPrivDisplay)dpy)->default_screen)
+#define DefaultRootWindow(dpy) (ScreenOfDisplay(dpy,DefaultScreen(dpy))->root)
+#define DefaultVisual(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_visual)
+#define DefaultGC(dpy, scr) (ScreenOfDisplay(dpy,scr)->default_gc)
+#define BlackPixel(dpy, scr) (ScreenOfDisplay(dpy,scr)->black_pixel)
+#define WhitePixel(dpy, scr) (ScreenOfDisplay(dpy,scr)->white_pixel)
+#define AllPlanes ((unsigned long)~0L)
+#define QLength(dpy) (((_XPrivDisplay)dpy)->qlen)
+#define DisplayWidth(dpy, scr) (ScreenOfDisplay(dpy,scr)->width)
+#define DisplayHeight(dpy, scr) (ScreenOfDisplay(dpy,scr)->height)
+#define DisplayWidthMM(dpy, scr)(ScreenOfDisplay(dpy,scr)->mwidth)
+#define DisplayHeightMM(dpy, scr)(ScreenOfDisplay(dpy,scr)->mheight)
+#define DisplayPlanes(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_depth)
+#define DisplayCells(dpy, scr) (DefaultVisual(dpy,scr)->map_entries)
+#define ScreenCount(dpy) (((_XPrivDisplay)dpy)->nscreens)
+#define ServerVendor(dpy) (((_XPrivDisplay)dpy)->vendor)
+#define ProtocolVersion(dpy) (((_XPrivDisplay)dpy)->proto_major_version)
+#define ProtocolRevision(dpy) (((_XPrivDisplay)dpy)->proto_minor_version)
+#define VendorRelease(dpy) (((_XPrivDisplay)dpy)->release)
+#define DisplayString(dpy) (((_XPrivDisplay)dpy)->display_name)
+#define DefaultDepth(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_depth)
+#define DefaultColormap(dpy, scr)(ScreenOfDisplay(dpy,scr)->cmap)
+#define BitmapUnit(dpy) (((_XPrivDisplay)dpy)->bitmap_unit)
+#define BitmapBitOrder(dpy) (((_XPrivDisplay)dpy)->bitmap_bit_order)
+#define BitmapPad(dpy) (((_XPrivDisplay)dpy)->bitmap_pad)
+#define ImageByteOrder(dpy) (((_XPrivDisplay)dpy)->byte_order)
+#ifdef CRAY /* unable to get WORD64 without pulling in other symbols */
+#define NextRequest(dpy) XNextRequest(dpy)
+#else
+#define NextRequest(dpy) (((_XPrivDisplay)dpy)->request + 1)
+#endif
+#define LastKnownRequestProcessed(dpy) (((_XPrivDisplay)dpy)->last_request_read)
+
+/* macros for screen oriented applications (toolkit) */
+#define ScreenOfDisplay(dpy, scr)(&((_XPrivDisplay)dpy)->screens[scr])
+#define DefaultScreenOfDisplay(dpy) ScreenOfDisplay(dpy,DefaultScreen(dpy))
+#define DisplayOfScreen(s) ((s)->display)
+#define RootWindowOfScreen(s) ((s)->root)
+#define BlackPixelOfScreen(s) ((s)->black_pixel)
+#define WhitePixelOfScreen(s) ((s)->white_pixel)
+#define DefaultColormapOfScreen(s)((s)->cmap)
+#define DefaultDepthOfScreen(s) ((s)->root_depth)
+#define DefaultGCOfScreen(s) ((s)->default_gc)
+#define DefaultVisualOfScreen(s)((s)->root_visual)
+#define WidthOfScreen(s) ((s)->width)
+#define HeightOfScreen(s) ((s)->height)
+#define WidthMMOfScreen(s) ((s)->mwidth)
+#define HeightMMOfScreen(s) ((s)->mheight)
+#define PlanesOfScreen(s) ((s)->root_depth)
+#define CellsOfScreen(s) (DefaultVisualOfScreen((s))->map_entries)
+#define MinCmapsOfScreen(s) ((s)->min_maps)
+#define MaxCmapsOfScreen(s) ((s)->max_maps)
+#define DoesSaveUnders(s) ((s)->save_unders)
+#define DoesBackingStore(s) ((s)->backing_store)
+#define EventMaskOfScreen(s) ((s)->root_input_mask)
+
+/*
+ * Extensions need a way to hang private data on some structures.
+ */
+typedef struct _XExtData {
+ int number; /* number returned by XRegisterExtension */
+ struct _XExtData *next; /* next item on list of data for structure */
+ int (*free_private)( /* called to free private storage */
+ struct _XExtData *extension
+ );
+ XPointer private_data; /* data private to this extension. */
+} XExtData;
+
+/*
+ * This file contains structures used by the extension mechanism.
+ */
+typedef struct { /* public to extension, cannot be changed */
+ int extension; /* extension number */
+ int major_opcode; /* major op-code assigned by server */
+ int first_event; /* first event number for the extension */
+ int first_error; /* first error number for the extension */
+} XExtCodes;
+
+/*
+ * Data structure for retrieving info about pixmap formats.
+ */
+
+typedef struct {
+ int depth;
+ int bits_per_pixel;
+ int scanline_pad;
+} XPixmapFormatValues;
+
+
+/*
+ * Data structure for setting graphics context.
+ */
+typedef struct {
+ int function; /* logical operation */
+ unsigned long plane_mask;/* plane mask */
+ unsigned long foreground;/* foreground pixel */
+ unsigned long background;/* background pixel */
+ int line_width; /* line width */
+ int line_style; /* LineSolid, LineOnOffDash, LineDoubleDash */
+ int cap_style; /* CapNotLast, CapButt,
+ CapRound, CapProjecting */
+ int join_style; /* JoinMiter, JoinRound, JoinBevel */
+ int fill_style; /* FillSolid, FillTiled,
+ FillStippled, FillOpaeueStippled */
+ int fill_rule; /* EvenOddRule, WindingRule */
+ int arc_mode; /* ArcChord, ArcPieSlice */
+ Pixmap tile; /* tile pixmap for tiling operations */
+ Pixmap stipple; /* stipple 1 plane pixmap for stipping */
+ int ts_x_origin; /* offset for tile or stipple operations */
+ int ts_y_origin;
+ Font font; /* default text font for text operations */
+ int subwindow_mode; /* ClipByChildren, IncludeInferiors */
+ Bool graphics_exposures;/* boolean, should exposures be generated */
+ int clip_x_origin; /* origin for clipping */
+ int clip_y_origin;
+ Pixmap clip_mask; /* bitmap clipping; other calls for rects */
+ int dash_offset; /* patterned/dashed line information */
+ char dashes;
+} XGCValues;
+
+/*
+ * Graphics context. The contents of this structure are implementation
+ * dependent. A GC should be treated as opaque by application code.
+ */
+
+typedef struct _XGC
+#ifdef XLIB_ILLEGAL_ACCESS
+{
+ XExtData *ext_data; /* hook for extension to hang data */
+ GContext gid; /* protocol ID for graphics context */
+ /* there is more to this structure, but it is private to Xlib */
+}
+#endif
+*GC;
+
+/*
+ * Visual structure; contains information about colormapping possible.
+ */
+typedef struct {
+ XExtData *ext_data; /* hook for extension to hang data */
+ VisualID visualid; /* visual id of this visual */
+#if defined(__cplusplus) || defined(c_plusplus)
+ int c_class; /* C++ class of screen (monochrome, etc.) */
+#else
+ int class; /* class of screen (monochrome, etc.) */
+#endif
+ unsigned long red_mask, green_mask, blue_mask; /* mask values */
+ int bits_per_rgb; /* log base 2 of distinct color values */
+ int map_entries; /* color map entries */
+} Visual;
+
+/*
+ * Depth structure; contains information for each possible depth.
+ */
+typedef struct {
+ int depth; /* this depth (Z) of the depth */
+ int nvisuals; /* number of Visual types at this depth */
+ Visual *visuals; /* list of visuals possible at this depth */
+} Depth;
+
+/*
+ * Information about the screen. The contents of this structure are
+ * implementation dependent. A Screen should be treated as opaque
+ * by application code.
+ */
+
+struct _XDisplay; /* Forward declare before use for C++ */
+
+typedef struct {
+ XExtData *ext_data; /* hook for extension to hang data */
+ struct _XDisplay *display;/* back pointer to display structure */
+ Window root; /* Root window id. */
+ int width, height; /* width and height of screen */
+ int mwidth, mheight; /* width and height of in millimeters */
+ int ndepths; /* number of depths possible */
+ Depth *depths; /* list of allowable depths on the screen */
+ int root_depth; /* bits per pixel */
+ Visual *root_visual; /* root visual */
+ GC default_gc; /* GC for the root root visual */
+ Colormap cmap; /* default color map */
+ unsigned long white_pixel;
+ unsigned long black_pixel; /* White and Black pixel values */
+ int max_maps, min_maps; /* max and min color maps */
+ int backing_store; /* Never, WhenMapped, Always */
+ Bool save_unders;
+ long root_input_mask; /* initial root input mask */
+} Screen;
+
+/*
+ * Format structure; describes ZFormat data the screen will understand.
+ */
+typedef struct {
+ XExtData *ext_data; /* hook for extension to hang data */
+ int depth; /* depth of this image format */
+ int bits_per_pixel; /* bits/pixel at this depth */
+ int scanline_pad; /* scanline must padded to this multiple */
+} ScreenFormat;
+
+/*
+ * Data structure for setting window attributes.
+ */
+typedef struct {
+ Pixmap background_pixmap; /* background or None or ParentRelative */
+ unsigned long background_pixel; /* background pixel */
+ Pixmap border_pixmap; /* border of the window */
+ unsigned long border_pixel; /* border pixel value */
+ int bit_gravity; /* one of bit gravity values */
+ int win_gravity; /* one of the window gravity values */
+ int backing_store; /* NotUseful, WhenMapped, Always */
+ unsigned long backing_planes;/* planes to be preseved if possible */
+ unsigned long backing_pixel;/* value to use in restoring planes */
+ Bool save_under; /* should bits under be saved? (popups) */
+ long event_mask; /* set of events that should be saved */
+ long do_not_propagate_mask; /* set of events that should not propagate */
+ Bool override_redirect; /* boolean value for override-redirect */
+ Colormap colormap; /* color map to be associated with window */
+ Cursor cursor; /* cursor to be displayed (or None) */
+} XSetWindowAttributes;
+
+typedef struct {
+ int x, y; /* location of window */
+ int width, height; /* width and height of window */
+ int border_width; /* border width of window */
+ int depth; /* depth of window */
+ Visual *visual; /* the associated visual structure */
+ Window root; /* root of screen containing window */
+#if defined(__cplusplus) || defined(c_plusplus)
+ int c_class; /* C++ InputOutput, InputOnly*/
+#else
+ int class; /* InputOutput, InputOnly*/
+#endif
+ int bit_gravity; /* one of bit gravity values */
+ int win_gravity; /* one of the window gravity values */
+ int backing_store; /* NotUseful, WhenMapped, Always */
+ unsigned long backing_planes;/* planes to be preserved if possible */
+ unsigned long backing_pixel;/* value to be used when restoring planes */
+ Bool save_under; /* boolean, should bits under be saved? */
+ Colormap colormap; /* color map to be associated with window */
+ Bool map_installed; /* boolean, is color map currently installed*/
+ int map_state; /* IsUnmapped, IsUnviewable, IsViewable */
+ long all_event_masks; /* set of events all people have interest in*/
+ long your_event_mask; /* my event mask */
+ long do_not_propagate_mask; /* set of events that should not propagate */
+ Bool override_redirect; /* boolean value for override-redirect */
+ Screen *screen; /* back pointer to correct screen */
+} XWindowAttributes;
+
+/*
+ * Data structure for host setting; getting routines.
+ *
+ */
+
+typedef struct {
+ int family; /* for example FamilyInternet */
+ int length; /* length of address, in bytes */
+ char *address; /* pointer to where to find the bytes */
+} XHostAddress;
+
+/*
+ * Data structure for ServerFamilyInterpreted addresses in host routines
+ */
+typedef struct {
+ int typelength; /* length of type string, in bytes */
+ int valuelength; /* length of value string, in bytes */
+ char *type; /* pointer to where to find the type string */
+ char *value; /* pointer to where to find the address */
+} XServerInterpretedAddress;
+
+/*
+ * Data structure for "image" data, used by image manipulation routines.
+ */
+typedef struct _XImage {
+ int width, height; /* size of image */
+ int xoffset; /* number of pixels offset in X direction */
+ int format; /* XYBitmap, XYPixmap, ZPixmap */
+ char *data; /* pointer to image data */
+ int byte_order; /* data byte order, LSBFirst, MSBFirst */
+ int bitmap_unit; /* quant. of scanline 8, 16, 32 */
+ int bitmap_bit_order; /* LSBFirst, MSBFirst */
+ int bitmap_pad; /* 8, 16, 32 either XY or ZPixmap */
+ int depth; /* depth of image */
+ int bytes_per_line; /* accelarator to next line */
+ int bits_per_pixel; /* bits per pixel (ZPixmap) */
+ unsigned long red_mask; /* bits in z arrangment */
+ unsigned long green_mask;
+ unsigned long blue_mask;
+ XPointer obdata; /* hook for the object routines to hang on */
+ struct funcs { /* image manipulation routines */
+ struct _XImage *(*create_image)(
+ struct _XDisplay* /* display */,
+ Visual* /* visual */,
+ unsigned int /* depth */,
+ int /* format */,
+ int /* offset */,
+ char* /* data */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ int /* bitmap_pad */,
+ int /* bytes_per_line */);
+ int (*destroy_image) (struct _XImage *);
+ unsigned long (*get_pixel) (struct _XImage *, int, int);
+ int (*put_pixel) (struct _XImage *, int, int, unsigned long);
+ struct _XImage *(*sub_image)(struct _XImage *, int, int, unsigned int, unsigned int);
+ int (*add_pixel) (struct _XImage *, long);
+ } f;
+} XImage;
+
+/*
+ * Data structure for XReconfigureWindow
+ */
+typedef struct {
+ int x, y;
+ int width, height;
+ int border_width;
+ Window sibling;
+ int stack_mode;
+} XWindowChanges;
+
+/*
+ * Data structure used by color operations
+ */
+typedef struct {
+ unsigned long pixel;
+ unsigned short red, green, blue;
+ char flags; /* do_red, do_green, do_blue */
+ char pad;
+} XColor;
+
+/*
+ * Data structures for graphics operations. On most machines, these are
+ * congruent with the wire protocol structures, so reformatting the data
+ * can be avoided on these architectures.
+ */
+typedef struct {
+ short x1, y1, x2, y2;
+} XSegment;
+
+typedef struct {
+ short x, y;
+} XPoint;
+
+typedef struct {
+ short x, y;
+ unsigned short width, height;
+} XRectangle;
+
+typedef struct {
+ short x, y;
+ unsigned short width, height;
+ short angle1, angle2;
+} XArc;
+
+
+/* Data structure for XChangeKeyboardControl */
+
+typedef struct {
+ int key_click_percent;
+ int bell_percent;
+ int bell_pitch;
+ int bell_duration;
+ int led;
+ int led_mode;
+ int key;
+ int auto_repeat_mode; /* On, Off, Default */
+} XKeyboardControl;
+
+/* Data structure for XGetKeyboardControl */
+
+typedef struct {
+ int key_click_percent;
+ int bell_percent;
+ unsigned int bell_pitch, bell_duration;
+ unsigned long led_mask;
+ int global_auto_repeat;
+ char auto_repeats[32];
+} XKeyboardState;
+
+/* Data structure for XGetMotionEvents. */
+
+typedef struct {
+ Time time;
+ short x, y;
+} XTimeCoord;
+
+/* Data structure for X{Set,Get}ModifierMapping */
+
+typedef struct {
+ int max_keypermod; /* The server's max # of keys per modifier */
+ KeyCode *modifiermap; /* An 8 by max_keypermod array of modifiers */
+} XModifierKeymap;
+
+
+/*
+ * Display datatype maintaining display specific data.
+ * The contents of this structure are implementation dependent.
+ * A Display should be treated as opaque by application code.
+ */
+#ifndef XLIB_ILLEGAL_ACCESS
+typedef struct _XDisplay Display;
+#endif
+
+struct _XPrivate; /* Forward declare before use for C++ */
+struct _XrmHashBucketRec;
+
+typedef struct
+#ifdef XLIB_ILLEGAL_ACCESS
+_XDisplay
+#endif
+{
+ XExtData *ext_data; /* hook for extension to hang data */
+ struct _XPrivate *private1;
+ int fd; /* Network socket. */
+ int private2;
+ int proto_major_version;/* major version of server's X protocol */
+ int proto_minor_version;/* minor version of servers X protocol */
+ char *vendor; /* vendor of the server hardware */
+ XID private3;
+ XID private4;
+ XID private5;
+ int private6;
+ XID (*resource_alloc)( /* allocator function */
+ struct _XDisplay*
+ );
+ int byte_order; /* screen byte order, LSBFirst, MSBFirst */
+ int bitmap_unit; /* padding and data requirements */
+ int bitmap_pad; /* padding requirements on bitmaps */
+ int bitmap_bit_order; /* LeastSignificant or MostSignificant */
+ int nformats; /* number of pixmap formats in list */
+ ScreenFormat *pixmap_format; /* pixmap format list */
+ int private8;
+ int release; /* release of the server */
+ struct _XPrivate *private9, *private10;
+ int qlen; /* Length of input event queue */
+ unsigned long last_request_read; /* seq number of last event read */
+ unsigned long request; /* sequence number of last request. */
+ XPointer private11;
+ XPointer private12;
+ XPointer private13;
+ XPointer private14;
+ unsigned max_request_size; /* maximum number 32 bit words in request*/
+ struct _XrmHashBucketRec *db;
+ int (*private15)(
+ struct _XDisplay*
+ );
+ char *display_name; /* "host:display" string used on this connect*/
+ int default_screen; /* default screen for operations */
+ int nscreens; /* number of screens on this server*/
+ Screen *screens; /* pointer to list of screens */
+ unsigned long motion_buffer; /* size of motion buffer */
+ unsigned long private16;
+ int min_keycode; /* minimum defined keycode */
+ int max_keycode; /* maximum defined keycode */
+ XPointer private17;
+ XPointer private18;
+ int private19;
+ char *xdefaults; /* contents of defaults from server */
+ /* there is more to this structure, but it is private to Xlib */
+}
+#ifdef XLIB_ILLEGAL_ACCESS
+Display,
+#endif
+*_XPrivDisplay;
+
+#undef _XEVENT_
+#ifndef _XEVENT_
+/*
+ * Definitions of specific events.
+ */
+typedef struct {
+ int type; /* of event */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window; /* "event" window it is reported relative to */
+ Window root; /* root window that the event occurred on */
+ Window subwindow; /* child window */
+ Time time; /* milliseconds */
+ int x, y; /* pointer x, y coordinates in event window */
+ int x_root, y_root; /* coordinates relative to root */
+ unsigned int state; /* key or button mask */
+ unsigned int keycode; /* detail */
+ Bool same_screen; /* same screen flag */
+} XKeyEvent;
+typedef XKeyEvent XKeyPressedEvent;
+typedef XKeyEvent XKeyReleasedEvent;
+
+typedef struct {
+ int type; /* of event */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window; /* "event" window it is reported relative to */
+ Window root; /* root window that the event occurred on */
+ Window subwindow; /* child window */
+ Time time; /* milliseconds */
+ int x, y; /* pointer x, y coordinates in event window */
+ int x_root, y_root; /* coordinates relative to root */
+ unsigned int state; /* key or button mask */
+ unsigned int button; /* detail */
+ Bool same_screen; /* same screen flag */
+} XButtonEvent;
+typedef XButtonEvent XButtonPressedEvent;
+typedef XButtonEvent XButtonReleasedEvent;
+
+typedef struct {
+ int type; /* of event */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window; /* "event" window reported relative to */
+ Window root; /* root window that the event occurred on */
+ Window subwindow; /* child window */
+ Time time; /* milliseconds */
+ int x, y; /* pointer x, y coordinates in event window */
+ int x_root, y_root; /* coordinates relative to root */
+ unsigned int state; /* key or button mask */
+ char is_hint; /* detail */
+ Bool same_screen; /* same screen flag */
+} XMotionEvent;
+typedef XMotionEvent XPointerMovedEvent;
+
+typedef struct {
+ int type; /* of event */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window; /* "event" window reported relative to */
+ Window root; /* root window that the event occurred on */
+ Window subwindow; /* child window */
+ Time time; /* milliseconds */
+ int x, y; /* pointer x, y coordinates in event window */
+ int x_root, y_root; /* coordinates relative to root */
+ int mode; /* NotifyNormal, NotifyGrab, NotifyUngrab */
+ int detail;
+ /*
+ * NotifyAncestor, NotifyVirtual, NotifyInferior,
+ * NotifyNonlinear,NotifyNonlinearVirtual
+ */
+ Bool same_screen; /* same screen flag */
+ Bool focus; /* boolean focus */
+ unsigned int state; /* key or button mask */
+} XCrossingEvent;
+typedef XCrossingEvent XEnterWindowEvent;
+typedef XCrossingEvent XLeaveWindowEvent;
+
+typedef struct {
+ int type; /* FocusIn or FocusOut */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window; /* window of event */
+ int mode; /* NotifyNormal, NotifyWhileGrabbed,
+ NotifyGrab, NotifyUngrab */
+ int detail;
+ /*
+ * NotifyAncestor, NotifyVirtual, NotifyInferior,
+ * NotifyNonlinear,NotifyNonlinearVirtual, NotifyPointer,
+ * NotifyPointerRoot, NotifyDetailNone
+ */
+} XFocusChangeEvent;
+typedef XFocusChangeEvent XFocusInEvent;
+typedef XFocusChangeEvent XFocusOutEvent;
+
+/* generated on EnterWindow and FocusIn when KeyMapState selected */
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window;
+ char key_vector[32];
+} XKeymapEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window;
+ int x, y;
+ int width, height;
+ int count; /* if non-zero, at least this many more */
+} XExposeEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Drawable drawable;
+ int x, y;
+ int width, height;
+ int count; /* if non-zero, at least this many more */
+ int major_code; /* core is CopyArea or CopyPlane */
+ int minor_code; /* not defined in the core */
+} XGraphicsExposeEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Drawable drawable;
+ int major_code; /* core is CopyArea or CopyPlane */
+ int minor_code; /* not defined in the core */
+} XNoExposeEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window;
+ int state; /* Visibility state */
+} XVisibilityEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window parent; /* parent of the window */
+ Window window; /* window id of window created */
+ int x, y; /* window location */
+ int width, height; /* size of window */
+ int border_width; /* border width */
+ Bool override_redirect; /* creation should be overridden */
+} XCreateWindowEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window event;
+ Window window;
+} XDestroyWindowEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window event;
+ Window window;
+ Bool from_configure;
+} XUnmapEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window event;
+ Window window;
+ Bool override_redirect; /* boolean, is override set... */
+} XMapEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window parent;
+ Window window;
+} XMapRequestEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window event;
+ Window window;
+ Window parent;
+ int x, y;
+ Bool override_redirect;
+} XReparentEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window event;
+ Window window;
+ int x, y;
+ int width, height;
+ int border_width;
+ Window above;
+ Bool override_redirect;
+} XConfigureEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window event;
+ Window window;
+ int x, y;
+} XGravityEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window;
+ int width, height;
+} XResizeRequestEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window parent;
+ Window window;
+ int x, y;
+ int width, height;
+ int border_width;
+ Window above;
+ int detail; /* Above, Below, TopIf, BottomIf, Opposite */
+ unsigned long value_mask;
+} XConfigureRequestEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window event;
+ Window window;
+ int place; /* PlaceOnTop, PlaceOnBottom */
+} XCirculateEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window parent;
+ Window window;
+ int place; /* PlaceOnTop, PlaceOnBottom */
+} XCirculateRequestEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window;
+ Atom atom;
+ Time time;
+ int state; /* NewValue, Deleted */
+} XPropertyEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window;
+ Atom selection;
+ Time time;
+} XSelectionClearEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window owner;
+ Window requestor;
+ Atom selection;
+ Atom target;
+ Atom property;
+ Time time;
+} XSelectionRequestEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window requestor;
+ Atom selection;
+ Atom target;
+ Atom property; /* ATOM or None */
+ Time time;
+} XSelectionEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window;
+ Colormap colormap; /* COLORMAP or None */
+#if defined(__cplusplus) || defined(c_plusplus)
+ Bool c_new; /* C++ */
+#else
+ Bool new;
+#endif
+ int state; /* ColormapInstalled, ColormapUninstalled */
+} XColormapEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window;
+ Atom message_type;
+ int format;
+ union {
+ char b[20];
+ short s[10];
+ long l[5];
+ } data;
+} XClientMessageEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window; /* unused */
+ int request; /* one of MappingModifier, MappingKeyboard,
+ MappingPointer */
+ int first_keycode; /* first keycode */
+ int count; /* defines range of change w. first_keycode*/
+} XMappingEvent;
+
+typedef struct {
+ int type;
+ Display *display; /* Display the event was read from */
+ XID resourceid; /* resource id */
+ unsigned long serial; /* serial number of failed request */
+ unsigned char error_code; /* error code of failed request */
+ unsigned char request_code; /* Major op-code of failed request */
+ unsigned char minor_code; /* Minor op-code of failed request */
+} XErrorEvent;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display;/* Display the event was read from */
+ Window window; /* window on which event was requested in event mask */
+} XAnyEvent;
+
+
+/***************************************************************
+ *
+ * GenericEvent. This event is the standard event for all newer extensions.
+ */
+
+typedef struct
+ {
+ int type; /* of event. Always GenericEvent */
+ unsigned long serial; /* # of last request processed */
+ Bool send_event; /* true if from SendEvent request */
+ Display *display; /* Display the event was read from */
+ int extension; /* major opcode of extension that caused the event */
+ int evtype; /* actual event type. */
+ } XGenericEvent;
+
+typedef struct {
+ int type; /* of event. Always GenericEvent */
+ unsigned long serial; /* # of last request processed */
+ Bool send_event; /* true if from SendEvent request */
+ Display *display; /* Display the event was read from */
+ int extension; /* major opcode of extension that caused the event */
+ int evtype; /* actual event type. */
+ unsigned int cookie;
+ void *data;
+} XGenericEventCookie;
+
+/*
+ * this union is defined so Xlib can always use the same sized
+ * event structure internally, to avoid memory fragmentation.
+ */
+typedef union _XEvent {
+ int type; /* must not be changed; first element */
+ XAnyEvent xany;
+ XKeyEvent xkey;
+ XButtonEvent xbutton;
+ XMotionEvent xmotion;
+ XCrossingEvent xcrossing;
+ XFocusChangeEvent xfocus;
+ XExposeEvent xexpose;
+ XGraphicsExposeEvent xgraphicsexpose;
+ XNoExposeEvent xnoexpose;
+ XVisibilityEvent xvisibility;
+ XCreateWindowEvent xcreatewindow;
+ XDestroyWindowEvent xdestroywindow;
+ XUnmapEvent xunmap;
+ XMapEvent xmap;
+ XMapRequestEvent xmaprequest;
+ XReparentEvent xreparent;
+ XConfigureEvent xconfigure;
+ XGravityEvent xgravity;
+ XResizeRequestEvent xresizerequest;
+ XConfigureRequestEvent xconfigurerequest;
+ XCirculateEvent xcirculate;
+ XCirculateRequestEvent xcirculaterequest;
+ XPropertyEvent xproperty;
+ XSelectionClearEvent xselectionclear;
+ XSelectionRequestEvent xselectionrequest;
+ XSelectionEvent xselection;
+ XColormapEvent xcolormap;
+ XClientMessageEvent xclient;
+ XMappingEvent xmapping;
+ XErrorEvent xerror;
+ XKeymapEvent xkeymap;
+ XGenericEvent xgeneric;
+ XGenericEventCookie xcookie;
+ long pad[24];
+} XEvent;
+#endif
+
+#define XAllocID(dpy) ((*((_XPrivDisplay)dpy)->resource_alloc)((dpy)))
+
+/*
+ * per character font metric information.
+ */
+typedef struct {
+ short lbearing; /* origin to left edge of raster */
+ short rbearing; /* origin to right edge of raster */
+ short width; /* advance to next char's origin */
+ short ascent; /* baseline to top edge of raster */
+ short descent; /* baseline to bottom edge of raster */
+ unsigned short attributes; /* per char flags (not predefined) */
+} XCharStruct;
+
+/*
+ * To allow arbitrary information with fonts, there are additional properties
+ * returned.
+ */
+typedef struct {
+ Atom name;
+ unsigned long card32;
+} XFontProp;
+
+typedef struct {
+ XExtData *ext_data; /* hook for extension to hang data */
+ Font fid; /* Font id for this font */
+ unsigned direction; /* hint about direction the font is painted */
+ unsigned min_char_or_byte2;/* first character */
+ unsigned max_char_or_byte2;/* last character */
+ unsigned min_byte1; /* first row that exists */
+ unsigned max_byte1; /* last row that exists */
+ Bool all_chars_exist;/* flag if all characters have non-zero size*/
+ unsigned default_char; /* char to print for undefined character */
+ int n_properties; /* how many properties there are */
+ XFontProp *properties; /* pointer to array of additional properties*/
+ XCharStruct min_bounds; /* minimum bounds over all existing char*/
+ XCharStruct max_bounds; /* maximum bounds over all existing char*/
+ XCharStruct *per_char; /* first_char to last_char information */
+ int ascent; /* log. extent above baseline for spacing */
+ int descent; /* log. descent below baseline for spacing */
+} XFontStruct;
+
+/*
+ * PolyText routines take these as arguments.
+ */
+typedef struct {
+ char *chars; /* pointer to string */
+ int nchars; /* number of characters */
+ int delta; /* delta between strings */
+ Font font; /* font to print it in, None don't change */
+} XTextItem;
+
+typedef struct { /* normal 16 bit characters are two bytes */
+ unsigned char byte1;
+ unsigned char byte2;
+} XChar2b;
+
+typedef struct {
+ XChar2b *chars; /* two byte characters */
+ int nchars; /* number of characters */
+ int delta; /* delta between strings */
+ Font font; /* font to print it in, None don't change */
+} XTextItem16;
+
+
+typedef union { Display *display;
+ GC gc;
+ Visual *visual;
+ Screen *screen;
+ ScreenFormat *pixmap_format;
+ XFontStruct *font; } XEDataObject;
+
+typedef struct {
+ XRectangle max_ink_extent;
+ XRectangle max_logical_extent;
+} XFontSetExtents;
+
+/* unused:
+typedef void (*XOMProc)();
+ */
+
+typedef struct _XOM *XOM;
+typedef struct _XOC *XOC, *XFontSet;
+
+typedef struct {
+ char *chars;
+ int nchars;
+ int delta;
+ XFontSet font_set;
+} XmbTextItem;
+
+typedef struct {
+ wchar_t *chars;
+ int nchars;
+ int delta;
+ XFontSet font_set;
+} XwcTextItem;
+
+#define XNRequiredCharSet "requiredCharSet"
+#define XNQueryOrientation "queryOrientation"
+#define XNBaseFontName "baseFontName"
+#define XNOMAutomatic "omAutomatic"
+#define XNMissingCharSet "missingCharSet"
+#define XNDefaultString "defaultString"
+#define XNOrientation "orientation"
+#define XNDirectionalDependentDrawing "directionalDependentDrawing"
+#define XNContextualDrawing "contextualDrawing"
+#define XNFontInfo "fontInfo"
+
+typedef struct {
+ int charset_count;
+ char **charset_list;
+} XOMCharSetList;
+
+typedef enum {
+ XOMOrientation_LTR_TTB,
+ XOMOrientation_RTL_TTB,
+ XOMOrientation_TTB_LTR,
+ XOMOrientation_TTB_RTL,
+ XOMOrientation_Context
+} XOrientation;
+
+typedef struct {
+ int num_orientation;
+ XOrientation *orientation; /* Input Text description */
+} XOMOrientation;
+
+typedef struct {
+ int num_font;
+ XFontStruct **font_struct_list;
+ char **font_name_list;
+} XOMFontInfo;
+
+typedef struct _XIM *XIM;
+typedef struct _XIC *XIC;
+
+typedef void (*XIMProc)(
+ XIM,
+ XPointer,
+ XPointer
+);
+
+typedef Bool (*XICProc)(
+ XIC,
+ XPointer,
+ XPointer
+);
+
+typedef void (*XIDProc)(
+ Display*,
+ XPointer,
+ XPointer
+);
+
+typedef unsigned long XIMStyle;
+
+typedef struct {
+ unsigned short count_styles;
+ XIMStyle *supported_styles;
+} XIMStyles;
+
+#define XIMPreeditArea 0x0001L
+#define XIMPreeditCallbacks 0x0002L
+#define XIMPreeditPosition 0x0004L
+#define XIMPreeditNothing 0x0008L
+#define XIMPreeditNone 0x0010L
+#define XIMStatusArea 0x0100L
+#define XIMStatusCallbacks 0x0200L
+#define XIMStatusNothing 0x0400L
+#define XIMStatusNone 0x0800L
+
+#define XNVaNestedList "XNVaNestedList"
+#define XNQueryInputStyle "queryInputStyle"
+#define XNClientWindow "clientWindow"
+#define XNInputStyle "inputStyle"
+#define XNFocusWindow "focusWindow"
+#define XNResourceName "resourceName"
+#define XNResourceClass "resourceClass"
+#define XNGeometryCallback "geometryCallback"
+#define XNDestroyCallback "destroyCallback"
+#define XNFilterEvents "filterEvents"
+#define XNPreeditStartCallback "preeditStartCallback"
+#define XNPreeditDoneCallback "preeditDoneCallback"
+#define XNPreeditDrawCallback "preeditDrawCallback"
+#define XNPreeditCaretCallback "preeditCaretCallback"
+#define XNPreeditStateNotifyCallback "preeditStateNotifyCallback"
+#define XNPreeditAttributes "preeditAttributes"
+#define XNStatusStartCallback "statusStartCallback"
+#define XNStatusDoneCallback "statusDoneCallback"
+#define XNStatusDrawCallback "statusDrawCallback"
+#define XNStatusAttributes "statusAttributes"
+#define XNArea "area"
+#define XNAreaNeeded "areaNeeded"
+#define XNSpotLocation "spotLocation"
+#define XNColormap "colorMap"
+#define XNStdColormap "stdColorMap"
+#define XNForeground "foreground"
+#define XNBackground "background"
+#define XNBackgroundPixmap "backgroundPixmap"
+#define XNFontSet "fontSet"
+#define XNLineSpace "lineSpace"
+#define XNCursor "cursor"
+
+#define XNQueryIMValuesList "queryIMValuesList"
+#define XNQueryICValuesList "queryICValuesList"
+#define XNVisiblePosition "visiblePosition"
+#define XNR6PreeditCallback "r6PreeditCallback"
+#define XNStringConversionCallback "stringConversionCallback"
+#define XNStringConversion "stringConversion"
+#define XNResetState "resetState"
+#define XNHotKey "hotKey"
+#define XNHotKeyState "hotKeyState"
+#define XNPreeditState "preeditState"
+#define XNSeparatorofNestedList "separatorofNestedList"
+
+#define XBufferOverflow -1
+#define XLookupNone 1
+#define XLookupChars 2
+#define XLookupKeySym 3
+#define XLookupBoth 4
+
+typedef void *XVaNestedList;
+
+typedef struct {
+ XPointer client_data;
+ XIMProc callback;
+} XIMCallback;
+
+typedef struct {
+ XPointer client_data;
+ XICProc callback;
+} XICCallback;
+
+typedef unsigned long XIMFeedback;
+
+#define XIMReverse 1L
+#define XIMUnderline (1L<<1)
+#define XIMHighlight (1L<<2)
+#define XIMPrimary (1L<<5)
+#define XIMSecondary (1L<<6)
+#define XIMTertiary (1L<<7)
+#define XIMVisibleToForward (1L<<8)
+#define XIMVisibleToBackword (1L<<9)
+#define XIMVisibleToCenter (1L<<10)
+
+typedef struct _XIMText {
+ unsigned short length;
+ XIMFeedback *feedback;
+ Bool encoding_is_wchar;
+ union {
+ char *multi_byte;
+ wchar_t *wide_char;
+ } string;
+} XIMText;
+
+typedef unsigned long XIMPreeditState;
+
+#define XIMPreeditUnKnown 0L
+#define XIMPreeditEnable 1L
+#define XIMPreeditDisable (1L<<1)
+
+typedef struct _XIMPreeditStateNotifyCallbackStruct {
+ XIMPreeditState state;
+} XIMPreeditStateNotifyCallbackStruct;
+
+typedef unsigned long XIMResetState;
+
+#define XIMInitialState 1L
+#define XIMPreserveState (1L<<1)
+
+typedef unsigned long XIMStringConversionFeedback;
+
+#define XIMStringConversionLeftEdge (0x00000001)
+#define XIMStringConversionRightEdge (0x00000002)
+#define XIMStringConversionTopEdge (0x00000004)
+#define XIMStringConversionBottomEdge (0x00000008)
+#define XIMStringConversionConcealed (0x00000010)
+#define XIMStringConversionWrapped (0x00000020)
+
+typedef struct _XIMStringConversionText {
+ unsigned short length;
+ XIMStringConversionFeedback *feedback;
+ Bool encoding_is_wchar;
+ union {
+ char *mbs;
+ wchar_t *wcs;
+ } string;
+} XIMStringConversionText;
+
+typedef unsigned short XIMStringConversionPosition;
+
+typedef unsigned short XIMStringConversionType;
+
+#define XIMStringConversionBuffer (0x0001)
+#define XIMStringConversionLine (0x0002)
+#define XIMStringConversionWord (0x0003)
+#define XIMStringConversionChar (0x0004)
+
+typedef unsigned short XIMStringConversionOperation;
+
+#define XIMStringConversionSubstitution (0x0001)
+#define XIMStringConversionRetrieval (0x0002)
+
+typedef enum {
+ XIMForwardChar, XIMBackwardChar,
+ XIMForwardWord, XIMBackwardWord,
+ XIMCaretUp, XIMCaretDown,
+ XIMNextLine, XIMPreviousLine,
+ XIMLineStart, XIMLineEnd,
+ XIMAbsolutePosition,
+ XIMDontChange
+} XIMCaretDirection;
+
+typedef struct _XIMStringConversionCallbackStruct {
+ XIMStringConversionPosition position;
+ XIMCaretDirection direction;
+ XIMStringConversionOperation operation;
+ unsigned short factor;
+ XIMStringConversionText *text;
+} XIMStringConversionCallbackStruct;
+
+typedef struct _XIMPreeditDrawCallbackStruct {
+ int caret; /* Cursor offset within pre-edit string */
+ int chg_first; /* Starting change position */
+ int chg_length; /* Length of the change in character count */
+ XIMText *text;
+} XIMPreeditDrawCallbackStruct;
+
+typedef enum {
+ XIMIsInvisible, /* Disable caret feedback */
+ XIMIsPrimary, /* UI defined caret feedback */
+ XIMIsSecondary /* UI defined caret feedback */
+} XIMCaretStyle;
+
+typedef struct _XIMPreeditCaretCallbackStruct {
+ int position; /* Caret offset within pre-edit string */
+ XIMCaretDirection direction; /* Caret moves direction */
+ XIMCaretStyle style; /* Feedback of the caret */
+} XIMPreeditCaretCallbackStruct;
+
+typedef enum {
+ XIMTextType,
+ XIMBitmapType
+} XIMStatusDataType;
+
+typedef struct _XIMStatusDrawCallbackStruct {
+ XIMStatusDataType type;
+ union {
+ XIMText *text;
+ Pixmap bitmap;
+ } data;
+} XIMStatusDrawCallbackStruct;
+
+typedef struct _XIMHotKeyTrigger {
+ KeySym keysym;
+ int modifier;
+ int modifier_mask;
+} XIMHotKeyTrigger;
+
+typedef struct _XIMHotKeyTriggers {
+ int num_hot_key;
+ XIMHotKeyTrigger *key;
+} XIMHotKeyTriggers;
+
+typedef unsigned long XIMHotKeyState;
+
+#define XIMHotKeyStateON (0x0001L)
+#define XIMHotKeyStateOFF (0x0002L)
+
+typedef struct {
+ unsigned short count_values;
+ char **supported_values;
+} XIMValuesList;
+
+_XFUNCPROTOBEGIN
+
+#if defined(WIN32) && !defined(_XLIBINT_)
+#define _Xdebug (*_Xdebug_p)
+#endif
+
+extern int _Xdebug;
+
+extern XFontStruct *XLoadQueryFont(
+ Display* /* display */,
+ _Xconst char* /* name */
+);
+
+extern XFontStruct *XQueryFont(
+ Display* /* display */,
+ XID /* font_ID */
+);
+
+
+extern XTimeCoord *XGetMotionEvents(
+ Display* /* display */,
+ Window /* w */,
+ Time /* start */,
+ Time /* stop */,
+ int* /* nevents_return */
+);
+
+extern XModifierKeymap *XDeleteModifiermapEntry(
+ XModifierKeymap* /* modmap */,
+#if NeedWidePrototypes
+ unsigned int /* keycode_entry */,
+#else
+ KeyCode /* keycode_entry */,
+#endif
+ int /* modifier */
+);
+
+extern XModifierKeymap *XGetModifierMapping(
+ Display* /* display */
+);
+
+extern XModifierKeymap *XInsertModifiermapEntry(
+ XModifierKeymap* /* modmap */,
+#if NeedWidePrototypes
+ unsigned int /* keycode_entry */,
+#else
+ KeyCode /* keycode_entry */,
+#endif
+ int /* modifier */
+);
+
+extern XModifierKeymap *XNewModifiermap(
+ int /* max_keys_per_mod */
+);
+
+extern XImage *XCreateImage(
+ Display* /* display */,
+ Visual* /* visual */,
+ unsigned int /* depth */,
+ int /* format */,
+ int /* offset */,
+ char* /* data */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ int /* bitmap_pad */,
+ int /* bytes_per_line */
+);
+extern Status XInitImage(
+ XImage* /* image */
+);
+extern XImage *XGetImage(
+ Display* /* display */,
+ Drawable /* d */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned long /* plane_mask */,
+ int /* format */
+);
+extern XImage *XGetSubImage(
+ Display* /* display */,
+ Drawable /* d */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned long /* plane_mask */,
+ int /* format */,
+ XImage* /* dest_image */,
+ int /* dest_x */,
+ int /* dest_y */
+);
+
+/*
+ * X function declarations.
+ */
+extern Display *XOpenDisplay(
+ _Xconst char* /* display_name */
+);
+
+extern void XrmInitialize(
+ void
+);
+
+extern char *XFetchBytes(
+ Display* /* display */,
+ int* /* nbytes_return */
+);
+extern char *XFetchBuffer(
+ Display* /* display */,
+ int* /* nbytes_return */,
+ int /* buffer */
+);
+extern char *XGetAtomName(
+ Display* /* display */,
+ Atom /* atom */
+);
+extern Status XGetAtomNames(
+ Display* /* dpy */,
+ Atom* /* atoms */,
+ int /* count */,
+ char** /* names_return */
+);
+extern char *XGetDefault(
+ Display* /* display */,
+ _Xconst char* /* program */,
+ _Xconst char* /* option */
+);
+extern char *XDisplayName(
+ _Xconst char* /* string */
+);
+extern char *XKeysymToString(
+ KeySym /* keysym */
+);
+
+extern int (*XSynchronize(
+ Display* /* display */,
+ Bool /* onoff */
+))(
+ Display* /* display */
+);
+extern int (*XSetAfterFunction(
+ Display* /* display */,
+ int (*) (
+ Display* /* display */
+ ) /* procedure */
+))(
+ Display* /* display */
+);
+extern Atom XInternAtom(
+ Display* /* display */,
+ _Xconst char* /* atom_name */,
+ Bool /* only_if_exists */
+);
+extern Status XInternAtoms(
+ Display* /* dpy */,
+ char** /* names */,
+ int /* count */,
+ Bool /* onlyIfExists */,
+ Atom* /* atoms_return */
+);
+extern Colormap XCopyColormapAndFree(
+ Display* /* display */,
+ Colormap /* colormap */
+);
+extern Colormap XCreateColormap(
+ Display* /* display */,
+ Window /* w */,
+ Visual* /* visual */,
+ int /* alloc */
+);
+extern Cursor XCreatePixmapCursor(
+ Display* /* display */,
+ Pixmap /* source */,
+ Pixmap /* mask */,
+ XColor* /* foreground_color */,
+ XColor* /* background_color */,
+ unsigned int /* x */,
+ unsigned int /* y */
+);
+extern Cursor XCreateGlyphCursor(
+ Display* /* display */,
+ Font /* source_font */,
+ Font /* mask_font */,
+ unsigned int /* source_char */,
+ unsigned int /* mask_char */,
+ XColor _Xconst * /* foreground_color */,
+ XColor _Xconst * /* background_color */
+);
+extern Cursor XCreateFontCursor(
+ Display* /* display */,
+ unsigned int /* shape */
+);
+extern Font XLoadFont(
+ Display* /* display */,
+ _Xconst char* /* name */
+);
+extern GC XCreateGC(
+ Display* /* display */,
+ Drawable /* d */,
+ unsigned long /* valuemask */,
+ XGCValues* /* values */
+);
+extern GContext XGContextFromGC(
+ GC /* gc */
+);
+extern void XFlushGC(
+ Display* /* display */,
+ GC /* gc */
+);
+extern Pixmap XCreatePixmap(
+ Display* /* display */,
+ Drawable /* d */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned int /* depth */
+);
+extern Pixmap XCreateBitmapFromData(
+ Display* /* display */,
+ Drawable /* d */,
+ _Xconst char* /* data */,
+ unsigned int /* width */,
+ unsigned int /* height */
+);
+extern Pixmap XCreatePixmapFromBitmapData(
+ Display* /* display */,
+ Drawable /* d */,
+ char* /* data */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned long /* fg */,
+ unsigned long /* bg */,
+ unsigned int /* depth */
+);
+extern Window XCreateSimpleWindow(
+ Display* /* display */,
+ Window /* parent */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned int /* border_width */,
+ unsigned long /* border */,
+ unsigned long /* background */
+);
+extern Window XGetSelectionOwner(
+ Display* /* display */,
+ Atom /* selection */
+);
+extern Window XCreateWindow(
+ Display* /* display */,
+ Window /* parent */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned int /* border_width */,
+ int /* depth */,
+ unsigned int /* class */,
+ Visual* /* visual */,
+ unsigned long /* valuemask */,
+ XSetWindowAttributes* /* attributes */
+);
+extern Colormap *XListInstalledColormaps(
+ Display* /* display */,
+ Window /* w */,
+ int* /* num_return */
+);
+extern char **XListFonts(
+ Display* /* display */,
+ _Xconst char* /* pattern */,
+ int /* maxnames */,
+ int* /* actual_count_return */
+);
+extern char **XListFontsWithInfo(
+ Display* /* display */,
+ _Xconst char* /* pattern */,
+ int /* maxnames */,
+ int* /* count_return */,
+ XFontStruct** /* info_return */
+);
+extern char **XGetFontPath(
+ Display* /* display */,
+ int* /* npaths_return */
+);
+extern char **XListExtensions(
+ Display* /* display */,
+ int* /* nextensions_return */
+);
+extern Atom *XListProperties(
+ Display* /* display */,
+ Window /* w */,
+ int* /* num_prop_return */
+);
+extern XHostAddress *XListHosts(
+ Display* /* display */,
+ int* /* nhosts_return */,
+ Bool* /* state_return */
+);
+_X_DEPRECATED
+extern KeySym XKeycodeToKeysym(
+ Display* /* display */,
+#if NeedWidePrototypes
+ unsigned int /* keycode */,
+#else
+ KeyCode /* keycode */,
+#endif
+ int /* index */
+);
+extern KeySym XLookupKeysym(
+ XKeyEvent* /* key_event */,
+ int /* index */
+);
+extern KeySym *XGetKeyboardMapping(
+ Display* /* display */,
+#if NeedWidePrototypes
+ unsigned int /* first_keycode */,
+#else
+ KeyCode /* first_keycode */,
+#endif
+ int /* keycode_count */,
+ int* /* keysyms_per_keycode_return */
+);
+extern KeySym XStringToKeysym(
+ _Xconst char* /* string */
+);
+extern long XMaxRequestSize(
+ Display* /* display */
+);
+extern long XExtendedMaxRequestSize(
+ Display* /* display */
+);
+extern char *XResourceManagerString(
+ Display* /* display */
+);
+extern char *XScreenResourceString(
+ Screen* /* screen */
+);
+extern unsigned long XDisplayMotionBufferSize(
+ Display* /* display */
+);
+extern VisualID XVisualIDFromVisual(
+ Visual* /* visual */
+);
+
+/* multithread routines */
+
+extern Status XInitThreads(
+ void
+);
+
+extern void XLockDisplay(
+ Display* /* display */
+);
+
+extern void XUnlockDisplay(
+ Display* /* display */
+);
+
+/* routines for dealing with extensions */
+
+extern XExtCodes *XInitExtension(
+ Display* /* display */,
+ _Xconst char* /* name */
+);
+
+extern XExtCodes *XAddExtension(
+ Display* /* display */
+);
+extern XExtData *XFindOnExtensionList(
+ XExtData** /* structure */,
+ int /* number */
+);
+extern XExtData **XEHeadOfExtensionList(
+ XEDataObject /* object */
+);
+
+/* these are routines for which there are also macros */
+extern Window XRootWindow(
+ Display* /* display */,
+ int /* screen_number */
+);
+extern Window XDefaultRootWindow(
+ Display* /* display */
+);
+extern Window XRootWindowOfScreen(
+ Screen* /* screen */
+);
+extern Visual *XDefaultVisual(
+ Display* /* display */,
+ int /* screen_number */
+);
+extern Visual *XDefaultVisualOfScreen(
+ Screen* /* screen */
+);
+extern GC XDefaultGC(
+ Display* /* display */,
+ int /* screen_number */
+);
+extern GC XDefaultGCOfScreen(
+ Screen* /* screen */
+);
+extern unsigned long XBlackPixel(
+ Display* /* display */,
+ int /* screen_number */
+);
+extern unsigned long XWhitePixel(
+ Display* /* display */,
+ int /* screen_number */
+);
+extern unsigned long XAllPlanes(
+ void
+);
+extern unsigned long XBlackPixelOfScreen(
+ Screen* /* screen */
+);
+extern unsigned long XWhitePixelOfScreen(
+ Screen* /* screen */
+);
+extern unsigned long XNextRequest(
+ Display* /* display */
+);
+extern unsigned long XLastKnownRequestProcessed(
+ Display* /* display */
+);
+extern char *XServerVendor(
+ Display* /* display */
+);
+extern char *XDisplayString(
+ Display* /* display */
+);
+extern Colormap XDefaultColormap(
+ Display* /* display */,
+ int /* screen_number */
+);
+extern Colormap XDefaultColormapOfScreen(
+ Screen* /* screen */
+);
+extern Display *XDisplayOfScreen(
+ Screen* /* screen */
+);
+extern Screen *XScreenOfDisplay(
+ Display* /* display */,
+ int /* screen_number */
+);
+extern Screen *XDefaultScreenOfDisplay(
+ Display* /* display */
+);
+extern long XEventMaskOfScreen(
+ Screen* /* screen */
+);
+
+extern int XScreenNumberOfScreen(
+ Screen* /* screen */
+);
+
+typedef int (*XErrorHandler) ( /* WARNING, this type not in Xlib spec */
+ Display* /* display */,
+ XErrorEvent* /* error_event */
+);
+
+extern XErrorHandler XSetErrorHandler (
+ XErrorHandler /* handler */
+);
+
+
+typedef int (*XIOErrorHandler) ( /* WARNING, this type not in Xlib spec */
+ Display* /* display */
+);
+
+extern XIOErrorHandler XSetIOErrorHandler (
+ XIOErrorHandler /* handler */
+);
+
+
+extern XPixmapFormatValues *XListPixmapFormats(
+ Display* /* display */,
+ int* /* count_return */
+);
+extern int *XListDepths(
+ Display* /* display */,
+ int /* screen_number */,
+ int* /* count_return */
+);
+
+/* ICCCM routines for things that don't require special include files; */
+/* other declarations are given in Xutil.h */
+extern Status XReconfigureWMWindow(
+ Display* /* display */,
+ Window /* w */,
+ int /* screen_number */,
+ unsigned int /* mask */,
+ XWindowChanges* /* changes */
+);
+
+extern Status XGetWMProtocols(
+ Display* /* display */,
+ Window /* w */,
+ Atom** /* protocols_return */,
+ int* /* count_return */
+);
+extern Status XSetWMProtocols(
+ Display* /* display */,
+ Window /* w */,
+ Atom* /* protocols */,
+ int /* count */
+);
+extern Status XIconifyWindow(
+ Display* /* display */,
+ Window /* w */,
+ int /* screen_number */
+);
+extern Status XWithdrawWindow(
+ Display* /* display */,
+ Window /* w */,
+ int /* screen_number */
+);
+extern Status XGetCommand(
+ Display* /* display */,
+ Window /* w */,
+ char*** /* argv_return */,
+ int* /* argc_return */
+);
+extern Status XGetWMColormapWindows(
+ Display* /* display */,
+ Window /* w */,
+ Window** /* windows_return */,
+ int* /* count_return */
+);
+extern Status XSetWMColormapWindows(
+ Display* /* display */,
+ Window /* w */,
+ Window* /* colormap_windows */,
+ int /* count */
+);
+extern void XFreeStringList(
+ char** /* list */
+);
+extern int XSetTransientForHint(
+ Display* /* display */,
+ Window /* w */,
+ Window /* prop_window */
+);
+
+/* The following are given in alphabetical order */
+
+extern int XActivateScreenSaver(
+ Display* /* display */
+);
+
+extern int XAddHost(
+ Display* /* display */,
+ XHostAddress* /* host */
+);
+
+extern int XAddHosts(
+ Display* /* display */,
+ XHostAddress* /* hosts */,
+ int /* num_hosts */
+);
+
+extern int XAddToExtensionList(
+ struct _XExtData** /* structure */,
+ XExtData* /* ext_data */
+);
+
+extern int XAddToSaveSet(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern Status XAllocColor(
+ Display* /* display */,
+ Colormap /* colormap */,
+ XColor* /* screen_in_out */
+);
+
+extern Status XAllocColorCells(
+ Display* /* display */,
+ Colormap /* colormap */,
+ Bool /* contig */,
+ unsigned long* /* plane_masks_return */,
+ unsigned int /* nplanes */,
+ unsigned long* /* pixels_return */,
+ unsigned int /* npixels */
+);
+
+extern Status XAllocColorPlanes(
+ Display* /* display */,
+ Colormap /* colormap */,
+ Bool /* contig */,
+ unsigned long* /* pixels_return */,
+ int /* ncolors */,
+ int /* nreds */,
+ int /* ngreens */,
+ int /* nblues */,
+ unsigned long* /* rmask_return */,
+ unsigned long* /* gmask_return */,
+ unsigned long* /* bmask_return */
+);
+
+extern Status XAllocNamedColor(
+ Display* /* display */,
+ Colormap /* colormap */,
+ _Xconst char* /* color_name */,
+ XColor* /* screen_def_return */,
+ XColor* /* exact_def_return */
+);
+
+extern int XAllowEvents(
+ Display* /* display */,
+ int /* event_mode */,
+ Time /* time */
+);
+
+extern int XAutoRepeatOff(
+ Display* /* display */
+);
+
+extern int XAutoRepeatOn(
+ Display* /* display */
+);
+
+extern int XBell(
+ Display* /* display */,
+ int /* percent */
+);
+
+extern int XBitmapBitOrder(
+ Display* /* display */
+);
+
+extern int XBitmapPad(
+ Display* /* display */
+);
+
+extern int XBitmapUnit(
+ Display* /* display */
+);
+
+extern int XCellsOfScreen(
+ Screen* /* screen */
+);
+
+extern int XChangeActivePointerGrab(
+ Display* /* display */,
+ unsigned int /* event_mask */,
+ Cursor /* cursor */,
+ Time /* time */
+);
+
+extern int XChangeGC(
+ Display* /* display */,
+ GC /* gc */,
+ unsigned long /* valuemask */,
+ XGCValues* /* values */
+);
+
+extern int XChangeKeyboardControl(
+ Display* /* display */,
+ unsigned long /* value_mask */,
+ XKeyboardControl* /* values */
+);
+
+extern int XChangeKeyboardMapping(
+ Display* /* display */,
+ int /* first_keycode */,
+ int /* keysyms_per_keycode */,
+ KeySym* /* keysyms */,
+ int /* num_codes */
+);
+
+extern int XChangePointerControl(
+ Display* /* display */,
+ Bool /* do_accel */,
+ Bool /* do_threshold */,
+ int /* accel_numerator */,
+ int /* accel_denominator */,
+ int /* threshold */
+);
+
+extern int XChangeProperty(
+ Display* /* display */,
+ Window /* w */,
+ Atom /* property */,
+ Atom /* type */,
+ int /* format */,
+ int /* mode */,
+ _Xconst unsigned char* /* data */,
+ int /* nelements */
+);
+
+extern int XChangeSaveSet(
+ Display* /* display */,
+ Window /* w */,
+ int /* change_mode */
+);
+
+extern int XChangeWindowAttributes(
+ Display* /* display */,
+ Window /* w */,
+ unsigned long /* valuemask */,
+ XSetWindowAttributes* /* attributes */
+);
+
+extern Bool XCheckIfEvent(
+ Display* /* display */,
+ XEvent* /* event_return */,
+ Bool (*) (
+ Display* /* display */,
+ XEvent* /* event */,
+ XPointer /* arg */
+ ) /* predicate */,
+ XPointer /* arg */
+);
+
+extern Bool XCheckMaskEvent(
+ Display* /* display */,
+ long /* event_mask */,
+ XEvent* /* event_return */
+);
+
+extern Bool XCheckTypedEvent(
+ Display* /* display */,
+ int /* event_type */,
+ XEvent* /* event_return */
+);
+
+extern Bool XCheckTypedWindowEvent(
+ Display* /* display */,
+ Window /* w */,
+ int /* event_type */,
+ XEvent* /* event_return */
+);
+
+extern Bool XCheckWindowEvent(
+ Display* /* display */,
+ Window /* w */,
+ long /* event_mask */,
+ XEvent* /* event_return */
+);
+
+extern int XCirculateSubwindows(
+ Display* /* display */,
+ Window /* w */,
+ int /* direction */
+);
+
+extern int XCirculateSubwindowsDown(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XCirculateSubwindowsUp(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XClearArea(
+ Display* /* display */,
+ Window /* w */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ Bool /* exposures */
+);
+
+extern int XClearWindow(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XCloseDisplay(
+ Display* /* display */
+);
+
+extern int XConfigureWindow(
+ Display* /* display */,
+ Window /* w */,
+ unsigned int /* value_mask */,
+ XWindowChanges* /* values */
+);
+
+extern int XConnectionNumber(
+ Display* /* display */
+);
+
+extern int XConvertSelection(
+ Display* /* display */,
+ Atom /* selection */,
+ Atom /* target */,
+ Atom /* property */,
+ Window /* requestor */,
+ Time /* time */
+);
+
+extern int XCopyArea(
+ Display* /* display */,
+ Drawable /* src */,
+ Drawable /* dest */,
+ GC /* gc */,
+ int /* src_x */,
+ int /* src_y */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ int /* dest_x */,
+ int /* dest_y */
+);
+
+extern int XCopyGC(
+ Display* /* display */,
+ GC /* src */,
+ unsigned long /* valuemask */,
+ GC /* dest */
+);
+
+extern int XCopyPlane(
+ Display* /* display */,
+ Drawable /* src */,
+ Drawable /* dest */,
+ GC /* gc */,
+ int /* src_x */,
+ int /* src_y */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ int /* dest_x */,
+ int /* dest_y */,
+ unsigned long /* plane */
+);
+
+extern int XDefaultDepth(
+ Display* /* display */,
+ int /* screen_number */
+);
+
+extern int XDefaultDepthOfScreen(
+ Screen* /* screen */
+);
+
+extern int XDefaultScreen(
+ Display* /* display */
+);
+
+extern int XDefineCursor(
+ Display* /* display */,
+ Window /* w */,
+ Cursor /* cursor */
+);
+
+extern int XDeleteProperty(
+ Display* /* display */,
+ Window /* w */,
+ Atom /* property */
+);
+
+extern int XDestroyWindow(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XDestroySubwindows(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XDoesBackingStore(
+ Screen* /* screen */
+);
+
+extern Bool XDoesSaveUnders(
+ Screen* /* screen */
+);
+
+extern int XDisableAccessControl(
+ Display* /* display */
+);
+
+
+extern int XDisplayCells(
+ Display* /* display */,
+ int /* screen_number */
+);
+
+extern int XDisplayHeight(
+ Display* /* display */,
+ int /* screen_number */
+);
+
+extern int XDisplayHeightMM(
+ Display* /* display */,
+ int /* screen_number */
+);
+
+extern int XDisplayKeycodes(
+ Display* /* display */,
+ int* /* min_keycodes_return */,
+ int* /* max_keycodes_return */
+);
+
+extern int XDisplayPlanes(
+ Display* /* display */,
+ int /* screen_number */
+);
+
+extern int XDisplayWidth(
+ Display* /* display */,
+ int /* screen_number */
+);
+
+extern int XDisplayWidthMM(
+ Display* /* display */,
+ int /* screen_number */
+);
+
+extern int XDrawArc(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ int /* angle1 */,
+ int /* angle2 */
+);
+
+extern int XDrawArcs(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ XArc* /* arcs */,
+ int /* narcs */
+);
+
+extern int XDrawImageString(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ _Xconst char* /* string */,
+ int /* length */
+);
+
+extern int XDrawImageString16(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ _Xconst XChar2b* /* string */,
+ int /* length */
+);
+
+extern int XDrawLine(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x1 */,
+ int /* y1 */,
+ int /* x2 */,
+ int /* y2 */
+);
+
+extern int XDrawLines(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ XPoint* /* points */,
+ int /* npoints */,
+ int /* mode */
+);
+
+extern int XDrawPoint(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */
+);
+
+extern int XDrawPoints(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ XPoint* /* points */,
+ int /* npoints */,
+ int /* mode */
+);
+
+extern int XDrawRectangle(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */
+);
+
+extern int XDrawRectangles(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ XRectangle* /* rectangles */,
+ int /* nrectangles */
+);
+
+extern int XDrawSegments(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ XSegment* /* segments */,
+ int /* nsegments */
+);
+
+extern int XDrawString(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ _Xconst char* /* string */,
+ int /* length */
+);
+
+extern int XDrawString16(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ _Xconst XChar2b* /* string */,
+ int /* length */
+);
+
+extern int XDrawText(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ XTextItem* /* items */,
+ int /* nitems */
+);
+
+extern int XDrawText16(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ XTextItem16* /* items */,
+ int /* nitems */
+);
+
+extern int XEnableAccessControl(
+ Display* /* display */
+);
+
+extern int XEventsQueued(
+ Display* /* display */,
+ int /* mode */
+);
+
+extern Status XFetchName(
+ Display* /* display */,
+ Window /* w */,
+ char** /* window_name_return */
+);
+
+extern int XFillArc(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ int /* angle1 */,
+ int /* angle2 */
+);
+
+extern int XFillArcs(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ XArc* /* arcs */,
+ int /* narcs */
+);
+
+extern int XFillPolygon(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ XPoint* /* points */,
+ int /* npoints */,
+ int /* shape */,
+ int /* mode */
+);
+
+extern int XFillRectangle(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */
+);
+
+extern int XFillRectangles(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ XRectangle* /* rectangles */,
+ int /* nrectangles */
+);
+
+extern int XFlush(
+ Display* /* display */
+);
+
+extern int XForceScreenSaver(
+ Display* /* display */,
+ int /* mode */
+);
+
+extern int XFree(
+ void* /* data */
+);
+
+extern int XFreeColormap(
+ Display* /* display */,
+ Colormap /* colormap */
+);
+
+extern int XFreeColors(
+ Display* /* display */,
+ Colormap /* colormap */,
+ unsigned long* /* pixels */,
+ int /* npixels */,
+ unsigned long /* planes */
+);
+
+extern int XFreeCursor(
+ Display* /* display */,
+ Cursor /* cursor */
+);
+
+extern int XFreeExtensionList(
+ char** /* list */
+);
+
+extern int XFreeFont(
+ Display* /* display */,
+ XFontStruct* /* font_struct */
+);
+
+extern int XFreeFontInfo(
+ char** /* names */,
+ XFontStruct* /* free_info */,
+ int /* actual_count */
+);
+
+extern int XFreeFontNames(
+ char** /* list */
+);
+
+extern int XFreeFontPath(
+ char** /* list */
+);
+
+extern int XFreeGC(
+ Display* /* display */,
+ GC /* gc */
+);
+
+extern int XFreeModifiermap(
+ XModifierKeymap* /* modmap */
+);
+
+extern int XFreePixmap(
+ Display* /* display */,
+ Pixmap /* pixmap */
+);
+
+extern int XGeometry(
+ Display* /* display */,
+ int /* screen */,
+ _Xconst char* /* position */,
+ _Xconst char* /* default_position */,
+ unsigned int /* bwidth */,
+ unsigned int /* fwidth */,
+ unsigned int /* fheight */,
+ int /* xadder */,
+ int /* yadder */,
+ int* /* x_return */,
+ int* /* y_return */,
+ int* /* width_return */,
+ int* /* height_return */
+);
+
+extern int XGetErrorDatabaseText(
+ Display* /* display */,
+ _Xconst char* /* name */,
+ _Xconst char* /* message */,
+ _Xconst char* /* default_string */,
+ char* /* buffer_return */,
+ int /* length */
+);
+
+extern int XGetErrorText(
+ Display* /* display */,
+ int /* code */,
+ char* /* buffer_return */,
+ int /* length */
+);
+
+extern Bool XGetFontProperty(
+ XFontStruct* /* font_struct */,
+ Atom /* atom */,
+ unsigned long* /* value_return */
+);
+
+extern Status XGetGCValues(
+ Display* /* display */,
+ GC /* gc */,
+ unsigned long /* valuemask */,
+ XGCValues* /* values_return */
+);
+
+extern Status XGetGeometry(
+ Display* /* display */,
+ Drawable /* d */,
+ Window* /* root_return */,
+ int* /* x_return */,
+ int* /* y_return */,
+ unsigned int* /* width_return */,
+ unsigned int* /* height_return */,
+ unsigned int* /* border_width_return */,
+ unsigned int* /* depth_return */
+);
+
+extern Status XGetIconName(
+ Display* /* display */,
+ Window /* w */,
+ char** /* icon_name_return */
+);
+
+extern int XGetInputFocus(
+ Display* /* display */,
+ Window* /* focus_return */,
+ int* /* revert_to_return */
+);
+
+extern int XGetKeyboardControl(
+ Display* /* display */,
+ XKeyboardState* /* values_return */
+);
+
+extern int XGetPointerControl(
+ Display* /* display */,
+ int* /* accel_numerator_return */,
+ int* /* accel_denominator_return */,
+ int* /* threshold_return */
+);
+
+extern int XGetPointerMapping(
+ Display* /* display */,
+ unsigned char* /* map_return */,
+ int /* nmap */
+);
+
+extern int XGetScreenSaver(
+ Display* /* display */,
+ int* /* timeout_return */,
+ int* /* interval_return */,
+ int* /* prefer_blanking_return */,
+ int* /* allow_exposures_return */
+);
+
+extern Status XGetTransientForHint(
+ Display* /* display */,
+ Window /* w */,
+ Window* /* prop_window_return */
+);
+
+extern int XGetWindowProperty(
+ Display* /* display */,
+ Window /* w */,
+ Atom /* property */,
+ long /* long_offset */,
+ long /* long_length */,
+ Bool /* delete */,
+ Atom /* req_type */,
+ Atom* /* actual_type_return */,
+ int* /* actual_format_return */,
+ unsigned long* /* nitems_return */,
+ unsigned long* /* bytes_after_return */,
+ unsigned char** /* prop_return */
+);
+
+extern Status XGetWindowAttributes(
+ Display* /* display */,
+ Window /* w */,
+ XWindowAttributes* /* window_attributes_return */
+);
+
+extern int XGrabButton(
+ Display* /* display */,
+ unsigned int /* button */,
+ unsigned int /* modifiers */,
+ Window /* grab_window */,
+ Bool /* owner_events */,
+ unsigned int /* event_mask */,
+ int /* pointer_mode */,
+ int /* keyboard_mode */,
+ Window /* confine_to */,
+ Cursor /* cursor */
+);
+
+extern int XGrabKey(
+ Display* /* display */,
+ int /* keycode */,
+ unsigned int /* modifiers */,
+ Window /* grab_window */,
+ Bool /* owner_events */,
+ int /* pointer_mode */,
+ int /* keyboard_mode */
+);
+
+extern int XGrabKeyboard(
+ Display* /* display */,
+ Window /* grab_window */,
+ Bool /* owner_events */,
+ int /* pointer_mode */,
+ int /* keyboard_mode */,
+ Time /* time */
+);
+
+extern int XGrabPointer(
+ Display* /* display */,
+ Window /* grab_window */,
+ Bool /* owner_events */,
+ unsigned int /* event_mask */,
+ int /* pointer_mode */,
+ int /* keyboard_mode */,
+ Window /* confine_to */,
+ Cursor /* cursor */,
+ Time /* time */
+);
+
+extern int XGrabServer(
+ Display* /* display */
+);
+
+extern int XHeightMMOfScreen(
+ Screen* /* screen */
+);
+
+extern int XHeightOfScreen(
+ Screen* /* screen */
+);
+
+extern int XIfEvent(
+ Display* /* display */,
+ XEvent* /* event_return */,
+ Bool (*) (
+ Display* /* display */,
+ XEvent* /* event */,
+ XPointer /* arg */
+ ) /* predicate */,
+ XPointer /* arg */
+);
+
+extern int XImageByteOrder(
+ Display* /* display */
+);
+
+extern int XInstallColormap(
+ Display* /* display */,
+ Colormap /* colormap */
+);
+
+extern KeyCode XKeysymToKeycode(
+ Display* /* display */,
+ KeySym /* keysym */
+);
+
+extern int XKillClient(
+ Display* /* display */,
+ XID /* resource */
+);
+
+extern Status XLookupColor(
+ Display* /* display */,
+ Colormap /* colormap */,
+ _Xconst char* /* color_name */,
+ XColor* /* exact_def_return */,
+ XColor* /* screen_def_return */
+);
+
+extern int XLowerWindow(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XMapRaised(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XMapSubwindows(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XMapWindow(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XMaskEvent(
+ Display* /* display */,
+ long /* event_mask */,
+ XEvent* /* event_return */
+);
+
+extern int XMaxCmapsOfScreen(
+ Screen* /* screen */
+);
+
+extern int XMinCmapsOfScreen(
+ Screen* /* screen */
+);
+
+extern int XMoveResizeWindow(
+ Display* /* display */,
+ Window /* w */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */
+);
+
+extern int XMoveWindow(
+ Display* /* display */,
+ Window /* w */,
+ int /* x */,
+ int /* y */
+);
+
+extern int XNextEvent(
+ Display* /* display */,
+ XEvent* /* event_return */
+);
+
+extern int XNoOp(
+ Display* /* display */
+);
+
+extern Status XParseColor(
+ Display* /* display */,
+ Colormap /* colormap */,
+ _Xconst char* /* spec */,
+ XColor* /* exact_def_return */
+);
+
+extern int XParseGeometry(
+ _Xconst char* /* parsestring */,
+ int* /* x_return */,
+ int* /* y_return */,
+ unsigned int* /* width_return */,
+ unsigned int* /* height_return */
+);
+
+extern int XPeekEvent(
+ Display* /* display */,
+ XEvent* /* event_return */
+);
+
+extern int XPeekIfEvent(
+ Display* /* display */,
+ XEvent* /* event_return */,
+ Bool (*) (
+ Display* /* display */,
+ XEvent* /* event */,
+ XPointer /* arg */
+ ) /* predicate */,
+ XPointer /* arg */
+);
+
+extern int XPending(
+ Display* /* display */
+);
+
+extern int XPlanesOfScreen(
+ Screen* /* screen */
+);
+
+extern int XProtocolRevision(
+ Display* /* display */
+);
+
+extern int XProtocolVersion(
+ Display* /* display */
+);
+
+
+extern int XPutBackEvent(
+ Display* /* display */,
+ XEvent* /* event */
+);
+
+extern int XPutImage(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ XImage* /* image */,
+ int /* src_x */,
+ int /* src_y */,
+ int /* dest_x */,
+ int /* dest_y */,
+ unsigned int /* width */,
+ unsigned int /* height */
+);
+
+extern int XQLength(
+ Display* /* display */
+);
+
+extern Status XQueryBestCursor(
+ Display* /* display */,
+ Drawable /* d */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned int* /* width_return */,
+ unsigned int* /* height_return */
+);
+
+extern Status XQueryBestSize(
+ Display* /* display */,
+ int /* class */,
+ Drawable /* which_screen */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned int* /* width_return */,
+ unsigned int* /* height_return */
+);
+
+extern Status XQueryBestStipple(
+ Display* /* display */,
+ Drawable /* which_screen */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned int* /* width_return */,
+ unsigned int* /* height_return */
+);
+
+extern Status XQueryBestTile(
+ Display* /* display */,
+ Drawable /* which_screen */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned int* /* width_return */,
+ unsigned int* /* height_return */
+);
+
+extern int XQueryColor(
+ Display* /* display */,
+ Colormap /* colormap */,
+ XColor* /* def_in_out */
+);
+
+extern int XQueryColors(
+ Display* /* display */,
+ Colormap /* colormap */,
+ XColor* /* defs_in_out */,
+ int /* ncolors */
+);
+
+extern Bool XQueryExtension(
+ Display* /* display */,
+ _Xconst char* /* name */,
+ int* /* major_opcode_return */,
+ int* /* first_event_return */,
+ int* /* first_error_return */
+);
+
+extern int XQueryKeymap(
+ Display* /* display */,
+ char [32] /* keys_return */
+);
+
+extern Bool XQueryPointer(
+ Display* /* display */,
+ Window /* w */,
+ Window* /* root_return */,
+ Window* /* child_return */,
+ int* /* root_x_return */,
+ int* /* root_y_return */,
+ int* /* win_x_return */,
+ int* /* win_y_return */,
+ unsigned int* /* mask_return */
+);
+
+extern int XQueryTextExtents(
+ Display* /* display */,
+ XID /* font_ID */,
+ _Xconst char* /* string */,
+ int /* nchars */,
+ int* /* direction_return */,
+ int* /* font_ascent_return */,
+ int* /* font_descent_return */,
+ XCharStruct* /* overall_return */
+);
+
+extern int XQueryTextExtents16(
+ Display* /* display */,
+ XID /* font_ID */,
+ _Xconst XChar2b* /* string */,
+ int /* nchars */,
+ int* /* direction_return */,
+ int* /* font_ascent_return */,
+ int* /* font_descent_return */,
+ XCharStruct* /* overall_return */
+);
+
+extern Status XQueryTree(
+ Display* /* display */,
+ Window /* w */,
+ Window* /* root_return */,
+ Window* /* parent_return */,
+ Window** /* children_return */,
+ unsigned int* /* nchildren_return */
+);
+
+extern int XRaiseWindow(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XReadBitmapFile(
+ Display* /* display */,
+ Drawable /* d */,
+ _Xconst char* /* filename */,
+ unsigned int* /* width_return */,
+ unsigned int* /* height_return */,
+ Pixmap* /* bitmap_return */,
+ int* /* x_hot_return */,
+ int* /* y_hot_return */
+);
+
+extern int XReadBitmapFileData(
+ _Xconst char* /* filename */,
+ unsigned int* /* width_return */,
+ unsigned int* /* height_return */,
+ unsigned char** /* data_return */,
+ int* /* x_hot_return */,
+ int* /* y_hot_return */
+);
+
+extern int XRebindKeysym(
+ Display* /* display */,
+ KeySym /* keysym */,
+ KeySym* /* list */,
+ int /* mod_count */,
+ _Xconst unsigned char* /* string */,
+ int /* bytes_string */
+);
+
+extern int XRecolorCursor(
+ Display* /* display */,
+ Cursor /* cursor */,
+ XColor* /* foreground_color */,
+ XColor* /* background_color */
+);
+
+extern int XRefreshKeyboardMapping(
+ XMappingEvent* /* event_map */
+);
+
+extern int XRemoveFromSaveSet(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XRemoveHost(
+ Display* /* display */,
+ XHostAddress* /* host */
+);
+
+extern int XRemoveHosts(
+ Display* /* display */,
+ XHostAddress* /* hosts */,
+ int /* num_hosts */
+);
+
+extern int XReparentWindow(
+ Display* /* display */,
+ Window /* w */,
+ Window /* parent */,
+ int /* x */,
+ int /* y */
+);
+
+extern int XResetScreenSaver(
+ Display* /* display */
+);
+
+extern int XResizeWindow(
+ Display* /* display */,
+ Window /* w */,
+ unsigned int /* width */,
+ unsigned int /* height */
+);
+
+extern int XRestackWindows(
+ Display* /* display */,
+ Window* /* windows */,
+ int /* nwindows */
+);
+
+extern int XRotateBuffers(
+ Display* /* display */,
+ int /* rotate */
+);
+
+extern int XRotateWindowProperties(
+ Display* /* display */,
+ Window /* w */,
+ Atom* /* properties */,
+ int /* num_prop */,
+ int /* npositions */
+);
+
+extern int XScreenCount(
+ Display* /* display */
+);
+
+extern int XSelectInput(
+ Display* /* display */,
+ Window /* w */,
+ long /* event_mask */
+);
+
+extern Status XSendEvent(
+ Display* /* display */,
+ Window /* w */,
+ Bool /* propagate */,
+ long /* event_mask */,
+ XEvent* /* event_send */
+);
+
+extern int XSetAccessControl(
+ Display* /* display */,
+ int /* mode */
+);
+
+extern int XSetArcMode(
+ Display* /* display */,
+ GC /* gc */,
+ int /* arc_mode */
+);
+
+extern int XSetBackground(
+ Display* /* display */,
+ GC /* gc */,
+ unsigned long /* background */
+);
+
+extern int XSetClipMask(
+ Display* /* display */,
+ GC /* gc */,
+ Pixmap /* pixmap */
+);
+
+extern int XSetClipOrigin(
+ Display* /* display */,
+ GC /* gc */,
+ int /* clip_x_origin */,
+ int /* clip_y_origin */
+);
+
+extern int XSetClipRectangles(
+ Display* /* display */,
+ GC /* gc */,
+ int /* clip_x_origin */,
+ int /* clip_y_origin */,
+ XRectangle* /* rectangles */,
+ int /* n */,
+ int /* ordering */
+);
+
+extern int XSetCloseDownMode(
+ Display* /* display */,
+ int /* close_mode */
+);
+
+extern int XSetCommand(
+ Display* /* display */,
+ Window /* w */,
+ char** /* argv */,
+ int /* argc */
+);
+
+extern int XSetDashes(
+ Display* /* display */,
+ GC /* gc */,
+ int /* dash_offset */,
+ _Xconst char* /* dash_list */,
+ int /* n */
+);
+
+extern int XSetFillRule(
+ Display* /* display */,
+ GC /* gc */,
+ int /* fill_rule */
+);
+
+extern int XSetFillStyle(
+ Display* /* display */,
+ GC /* gc */,
+ int /* fill_style */
+);
+
+extern int XSetFont(
+ Display* /* display */,
+ GC /* gc */,
+ Font /* font */
+);
+
+extern int XSetFontPath(
+ Display* /* display */,
+ char** /* directories */,
+ int /* ndirs */
+);
+
+extern int XSetForeground(
+ Display* /* display */,
+ GC /* gc */,
+ unsigned long /* foreground */
+);
+
+extern int XSetFunction(
+ Display* /* display */,
+ GC /* gc */,
+ int /* function */
+);
+
+extern int XSetGraphicsExposures(
+ Display* /* display */,
+ GC /* gc */,
+ Bool /* graphics_exposures */
+);
+
+extern int XSetIconName(
+ Display* /* display */,
+ Window /* w */,
+ _Xconst char* /* icon_name */
+);
+
+extern int XSetInputFocus(
+ Display* /* display */,
+ Window /* focus */,
+ int /* revert_to */,
+ Time /* time */
+);
+
+extern int XSetLineAttributes(
+ Display* /* display */,
+ GC /* gc */,
+ unsigned int /* line_width */,
+ int /* line_style */,
+ int /* cap_style */,
+ int /* join_style */
+);
+
+extern int XSetModifierMapping(
+ Display* /* display */,
+ XModifierKeymap* /* modmap */
+);
+
+extern int XSetPlaneMask(
+ Display* /* display */,
+ GC /* gc */,
+ unsigned long /* plane_mask */
+);
+
+extern int XSetPointerMapping(
+ Display* /* display */,
+ _Xconst unsigned char* /* map */,
+ int /* nmap */
+);
+
+extern int XSetScreenSaver(
+ Display* /* display */,
+ int /* timeout */,
+ int /* interval */,
+ int /* prefer_blanking */,
+ int /* allow_exposures */
+);
+
+extern int XSetSelectionOwner(
+ Display* /* display */,
+ Atom /* selection */,
+ Window /* owner */,
+ Time /* time */
+);
+
+extern int XSetState(
+ Display* /* display */,
+ GC /* gc */,
+ unsigned long /* foreground */,
+ unsigned long /* background */,
+ int /* function */,
+ unsigned long /* plane_mask */
+);
+
+extern int XSetStipple(
+ Display* /* display */,
+ GC /* gc */,
+ Pixmap /* stipple */
+);
+
+extern int XSetSubwindowMode(
+ Display* /* display */,
+ GC /* gc */,
+ int /* subwindow_mode */
+);
+
+extern int XSetTSOrigin(
+ Display* /* display */,
+ GC /* gc */,
+ int /* ts_x_origin */,
+ int /* ts_y_origin */
+);
+
+extern int XSetTile(
+ Display* /* display */,
+ GC /* gc */,
+ Pixmap /* tile */
+);
+
+extern int XSetWindowBackground(
+ Display* /* display */,
+ Window /* w */,
+ unsigned long /* background_pixel */
+);
+
+extern int XSetWindowBackgroundPixmap(
+ Display* /* display */,
+ Window /* w */,
+ Pixmap /* background_pixmap */
+);
+
+extern int XSetWindowBorder(
+ Display* /* display */,
+ Window /* w */,
+ unsigned long /* border_pixel */
+);
+
+extern int XSetWindowBorderPixmap(
+ Display* /* display */,
+ Window /* w */,
+ Pixmap /* border_pixmap */
+);
+
+extern int XSetWindowBorderWidth(
+ Display* /* display */,
+ Window /* w */,
+ unsigned int /* width */
+);
+
+extern int XSetWindowColormap(
+ Display* /* display */,
+ Window /* w */,
+ Colormap /* colormap */
+);
+
+extern int XStoreBuffer(
+ Display* /* display */,
+ _Xconst char* /* bytes */,
+ int /* nbytes */,
+ int /* buffer */
+);
+
+extern int XStoreBytes(
+ Display* /* display */,
+ _Xconst char* /* bytes */,
+ int /* nbytes */
+);
+
+extern int XStoreColor(
+ Display* /* display */,
+ Colormap /* colormap */,
+ XColor* /* color */
+);
+
+extern int XStoreColors(
+ Display* /* display */,
+ Colormap /* colormap */,
+ XColor* /* color */,
+ int /* ncolors */
+);
+
+extern int XStoreName(
+ Display* /* display */,
+ Window /* w */,
+ _Xconst char* /* window_name */
+);
+
+extern int XStoreNamedColor(
+ Display* /* display */,
+ Colormap /* colormap */,
+ _Xconst char* /* color */,
+ unsigned long /* pixel */,
+ int /* flags */
+);
+
+extern int XSync(
+ Display* /* display */,
+ Bool /* discard */
+);
+
+extern int XTextExtents(
+ XFontStruct* /* font_struct */,
+ _Xconst char* /* string */,
+ int /* nchars */,
+ int* /* direction_return */,
+ int* /* font_ascent_return */,
+ int* /* font_descent_return */,
+ XCharStruct* /* overall_return */
+);
+
+extern int XTextExtents16(
+ XFontStruct* /* font_struct */,
+ _Xconst XChar2b* /* string */,
+ int /* nchars */,
+ int* /* direction_return */,
+ int* /* font_ascent_return */,
+ int* /* font_descent_return */,
+ XCharStruct* /* overall_return */
+);
+
+extern int XTextWidth(
+ XFontStruct* /* font_struct */,
+ _Xconst char* /* string */,
+ int /* count */
+);
+
+extern int XTextWidth16(
+ XFontStruct* /* font_struct */,
+ _Xconst XChar2b* /* string */,
+ int /* count */
+);
+
+extern Bool XTranslateCoordinates(
+ Display* /* display */,
+ Window /* src_w */,
+ Window /* dest_w */,
+ int /* src_x */,
+ int /* src_y */,
+ int* /* dest_x_return */,
+ int* /* dest_y_return */,
+ Window* /* child_return */
+);
+
+extern int XUndefineCursor(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XUngrabButton(
+ Display* /* display */,
+ unsigned int /* button */,
+ unsigned int /* modifiers */,
+ Window /* grab_window */
+);
+
+extern int XUngrabKey(
+ Display* /* display */,
+ int /* keycode */,
+ unsigned int /* modifiers */,
+ Window /* grab_window */
+);
+
+extern int XUngrabKeyboard(
+ Display* /* display */,
+ Time /* time */
+);
+
+extern int XUngrabPointer(
+ Display* /* display */,
+ Time /* time */
+);
+
+extern int XUngrabServer(
+ Display* /* display */
+);
+
+extern int XUninstallColormap(
+ Display* /* display */,
+ Colormap /* colormap */
+);
+
+extern int XUnloadFont(
+ Display* /* display */,
+ Font /* font */
+);
+
+extern int XUnmapSubwindows(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XUnmapWindow(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern int XVendorRelease(
+ Display* /* display */
+);
+
+extern int XWarpPointer(
+ Display* /* display */,
+ Window /* src_w */,
+ Window /* dest_w */,
+ int /* src_x */,
+ int /* src_y */,
+ unsigned int /* src_width */,
+ unsigned int /* src_height */,
+ int /* dest_x */,
+ int /* dest_y */
+);
+
+extern int XWidthMMOfScreen(
+ Screen* /* screen */
+);
+
+extern int XWidthOfScreen(
+ Screen* /* screen */
+);
+
+extern int XWindowEvent(
+ Display* /* display */,
+ Window /* w */,
+ long /* event_mask */,
+ XEvent* /* event_return */
+);
+
+extern int XWriteBitmapFile(
+ Display* /* display */,
+ _Xconst char* /* filename */,
+ Pixmap /* bitmap */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ int /* x_hot */,
+ int /* y_hot */
+);
+
+extern Bool XSupportsLocale (void);
+
+extern char *XSetLocaleModifiers(
+ const char* /* modifier_list */
+);
+
+extern XOM XOpenOM(
+ Display* /* display */,
+ struct _XrmHashBucketRec* /* rdb */,
+ _Xconst char* /* res_name */,
+ _Xconst char* /* res_class */
+);
+
+extern Status XCloseOM(
+ XOM /* om */
+);
+
+extern char *XSetOMValues(
+ XOM /* om */,
+ ...
+) _X_SENTINEL(0);
+
+extern char *XGetOMValues(
+ XOM /* om */,
+ ...
+) _X_SENTINEL(0);
+
+extern Display *XDisplayOfOM(
+ XOM /* om */
+);
+
+extern char *XLocaleOfOM(
+ XOM /* om */
+);
+
+extern XOC XCreateOC(
+ XOM /* om */,
+ ...
+) _X_SENTINEL(0);
+
+extern void XDestroyOC(
+ XOC /* oc */
+);
+
+extern XOM XOMOfOC(
+ XOC /* oc */
+);
+
+extern char *XSetOCValues(
+ XOC /* oc */,
+ ...
+) _X_SENTINEL(0);
+
+extern char *XGetOCValues(
+ XOC /* oc */,
+ ...
+) _X_SENTINEL(0);
+
+extern XFontSet XCreateFontSet(
+ Display* /* display */,
+ _Xconst char* /* base_font_name_list */,
+ char*** /* missing_charset_list */,
+ int* /* missing_charset_count */,
+ char** /* def_string */
+);
+
+extern void XFreeFontSet(
+ Display* /* display */,
+ XFontSet /* font_set */
+);
+
+extern int XFontsOfFontSet(
+ XFontSet /* font_set */,
+ XFontStruct*** /* font_struct_list */,
+ char*** /* font_name_list */
+);
+
+extern char *XBaseFontNameListOfFontSet(
+ XFontSet /* font_set */
+);
+
+extern char *XLocaleOfFontSet(
+ XFontSet /* font_set */
+);
+
+extern Bool XContextDependentDrawing(
+ XFontSet /* font_set */
+);
+
+extern Bool XDirectionalDependentDrawing(
+ XFontSet /* font_set */
+);
+
+extern Bool XContextualDrawing(
+ XFontSet /* font_set */
+);
+
+extern XFontSetExtents *XExtentsOfFontSet(
+ XFontSet /* font_set */
+);
+
+extern int XmbTextEscapement(
+ XFontSet /* font_set */,
+ _Xconst char* /* text */,
+ int /* bytes_text */
+);
+
+extern int XwcTextEscapement(
+ XFontSet /* font_set */,
+ _Xconst wchar_t* /* text */,
+ int /* num_wchars */
+);
+
+extern int Xutf8TextEscapement(
+ XFontSet /* font_set */,
+ _Xconst char* /* text */,
+ int /* bytes_text */
+);
+
+extern int XmbTextExtents(
+ XFontSet /* font_set */,
+ _Xconst char* /* text */,
+ int /* bytes_text */,
+ XRectangle* /* overall_ink_return */,
+ XRectangle* /* overall_logical_return */
+);
+
+extern int XwcTextExtents(
+ XFontSet /* font_set */,
+ _Xconst wchar_t* /* text */,
+ int /* num_wchars */,
+ XRectangle* /* overall_ink_return */,
+ XRectangle* /* overall_logical_return */
+);
+
+extern int Xutf8TextExtents(
+ XFontSet /* font_set */,
+ _Xconst char* /* text */,
+ int /* bytes_text */,
+ XRectangle* /* overall_ink_return */,
+ XRectangle* /* overall_logical_return */
+);
+
+extern Status XmbTextPerCharExtents(
+ XFontSet /* font_set */,
+ _Xconst char* /* text */,
+ int /* bytes_text */,
+ XRectangle* /* ink_extents_buffer */,
+ XRectangle* /* logical_extents_buffer */,
+ int /* buffer_size */,
+ int* /* num_chars */,
+ XRectangle* /* overall_ink_return */,
+ XRectangle* /* overall_logical_return */
+);
+
+extern Status XwcTextPerCharExtents(
+ XFontSet /* font_set */,
+ _Xconst wchar_t* /* text */,
+ int /* num_wchars */,
+ XRectangle* /* ink_extents_buffer */,
+ XRectangle* /* logical_extents_buffer */,
+ int /* buffer_size */,
+ int* /* num_chars */,
+ XRectangle* /* overall_ink_return */,
+ XRectangle* /* overall_logical_return */
+);
+
+extern Status Xutf8TextPerCharExtents(
+ XFontSet /* font_set */,
+ _Xconst char* /* text */,
+ int /* bytes_text */,
+ XRectangle* /* ink_extents_buffer */,
+ XRectangle* /* logical_extents_buffer */,
+ int /* buffer_size */,
+ int* /* num_chars */,
+ XRectangle* /* overall_ink_return */,
+ XRectangle* /* overall_logical_return */
+);
+
+extern void XmbDrawText(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ XmbTextItem* /* text_items */,
+ int /* nitems */
+);
+
+extern void XwcDrawText(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ XwcTextItem* /* text_items */,
+ int /* nitems */
+);
+
+extern void Xutf8DrawText(
+ Display* /* display */,
+ Drawable /* d */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ XmbTextItem* /* text_items */,
+ int /* nitems */
+);
+
+extern void XmbDrawString(
+ Display* /* display */,
+ Drawable /* d */,
+ XFontSet /* font_set */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ _Xconst char* /* text */,
+ int /* bytes_text */
+);
+
+extern void XwcDrawString(
+ Display* /* display */,
+ Drawable /* d */,
+ XFontSet /* font_set */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ _Xconst wchar_t* /* text */,
+ int /* num_wchars */
+);
+
+extern void Xutf8DrawString(
+ Display* /* display */,
+ Drawable /* d */,
+ XFontSet /* font_set */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ _Xconst char* /* text */,
+ int /* bytes_text */
+);
+
+extern void XmbDrawImageString(
+ Display* /* display */,
+ Drawable /* d */,
+ XFontSet /* font_set */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ _Xconst char* /* text */,
+ int /* bytes_text */
+);
+
+extern void XwcDrawImageString(
+ Display* /* display */,
+ Drawable /* d */,
+ XFontSet /* font_set */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ _Xconst wchar_t* /* text */,
+ int /* num_wchars */
+);
+
+extern void Xutf8DrawImageString(
+ Display* /* display */,
+ Drawable /* d */,
+ XFontSet /* font_set */,
+ GC /* gc */,
+ int /* x */,
+ int /* y */,
+ _Xconst char* /* text */,
+ int /* bytes_text */
+);
+
+extern XIM XOpenIM(
+ Display* /* dpy */,
+ struct _XrmHashBucketRec* /* rdb */,
+ char* /* res_name */,
+ char* /* res_class */
+);
+
+extern Status XCloseIM(
+ XIM /* im */
+);
+
+extern char *XGetIMValues(
+ XIM /* im */, ...
+) _X_SENTINEL(0);
+
+extern char *XSetIMValues(
+ XIM /* im */, ...
+) _X_SENTINEL(0);
+
+extern Display *XDisplayOfIM(
+ XIM /* im */
+);
+
+extern char *XLocaleOfIM(
+ XIM /* im*/
+);
+
+extern XIC XCreateIC(
+ XIM /* im */, ...
+) _X_SENTINEL(0);
+
+extern void XDestroyIC(
+ XIC /* ic */
+);
+
+extern void XSetICFocus(
+ XIC /* ic */
+);
+
+extern void XUnsetICFocus(
+ XIC /* ic */
+);
+
+extern wchar_t *XwcResetIC(
+ XIC /* ic */
+);
+
+extern char *XmbResetIC(
+ XIC /* ic */
+);
+
+extern char *Xutf8ResetIC(
+ XIC /* ic */
+);
+
+extern char *XSetICValues(
+ XIC /* ic */, ...
+) _X_SENTINEL(0);
+
+extern char *XGetICValues(
+ XIC /* ic */, ...
+) _X_SENTINEL(0);
+
+extern XIM XIMOfIC(
+ XIC /* ic */
+);
+
+extern Bool XFilterEvent(
+ XEvent* /* event */,
+ Window /* window */
+);
+
+extern int XmbLookupString(
+ XIC /* ic */,
+ XKeyPressedEvent* /* event */,
+ char* /* buffer_return */,
+ int /* bytes_buffer */,
+ KeySym* /* keysym_return */,
+ Status* /* status_return */
+);
+
+extern int XwcLookupString(
+ XIC /* ic */,
+ XKeyPressedEvent* /* event */,
+ wchar_t* /* buffer_return */,
+ int /* wchars_buffer */,
+ KeySym* /* keysym_return */,
+ Status* /* status_return */
+);
+
+extern int Xutf8LookupString(
+ XIC /* ic */,
+ XKeyPressedEvent* /* event */,
+ char* /* buffer_return */,
+ int /* bytes_buffer */,
+ KeySym* /* keysym_return */,
+ Status* /* status_return */
+);
+
+extern XVaNestedList XVaCreateNestedList(
+ int /*unused*/, ...
+) _X_SENTINEL(0);
+
+/* internal connections for IMs */
+
+extern Bool XRegisterIMInstantiateCallback(
+ Display* /* dpy */,
+ struct _XrmHashBucketRec* /* rdb */,
+ char* /* res_name */,
+ char* /* res_class */,
+ XIDProc /* callback */,
+ XPointer /* client_data */
+);
+
+extern Bool XUnregisterIMInstantiateCallback(
+ Display* /* dpy */,
+ struct _XrmHashBucketRec* /* rdb */,
+ char* /* res_name */,
+ char* /* res_class */,
+ XIDProc /* callback */,
+ XPointer /* client_data */
+);
+
+typedef void (*XConnectionWatchProc)(
+ Display* /* dpy */,
+ XPointer /* client_data */,
+ int /* fd */,
+ Bool /* opening */, /* open or close flag */
+ XPointer* /* watch_data */ /* open sets, close uses */
+);
+
+
+extern Status XInternalConnectionNumbers(
+ Display* /* dpy */,
+ int** /* fd_return */,
+ int* /* count_return */
+);
+
+extern void XProcessInternalConnection(
+ Display* /* dpy */,
+ int /* fd */
+);
+
+extern Status XAddConnectionWatch(
+ Display* /* dpy */,
+ XConnectionWatchProc /* callback */,
+ XPointer /* client_data */
+);
+
+extern void XRemoveConnectionWatch(
+ Display* /* dpy */,
+ XConnectionWatchProc /* callback */,
+ XPointer /* client_data */
+);
+
+extern void XSetAuthorization(
+ char * /* name */,
+ int /* namelen */,
+ char * /* data */,
+ int /* datalen */
+);
+
+extern int _Xmbtowc(
+ wchar_t * /* wstr */,
+#ifdef ISC
+ char const * /* str */,
+ size_t /* len */
+#else
+ char * /* str */,
+ int /* len */
+#endif
+);
+
+extern int _Xwctomb(
+ char * /* str */,
+ wchar_t /* wc */
+);
+
+extern Bool XGetEventData(
+ Display* /* dpy */,
+ XGenericEventCookie* /* cookie*/
+);
+
+extern void XFreeEventData(
+ Display* /* dpy */,
+ XGenericEventCookie* /* cookie*/
+);
+
+_XFUNCPROTOEND
+
+#endif /* _X11_XLIB_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/XlibConf.h b/stream-servers/apigen-codec-common/X11/XlibConf.h
new file mode 100644
index 0000000..9f9b940
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/XlibConf.h
@@ -0,0 +1,38 @@
+/* include/X11/XlibConf.h. Generated from XlibConf.h.in by configure. */
+/*
+ * Copyright © 2005 Keith Packard
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Keith Packard not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission. Keith Packard makes no
+ * representations about the suitability of this software for any purpose. It
+ * is provided "as is" without express or implied warranty.
+ *
+ * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifndef _XLIBCONF_H_
+#define _XLIBCONF_H_
+/*
+ * This header file exports defines necessary to correctly
+ * use Xlibint.h both inside Xlib and by external libraries
+ * such as extensions.
+ */
+
+/* Threading support? */
+#define XTHREADS 1
+
+/* Use multi-threaded libc functions? */
+#define XUSE_MTSAFE_API 1
+
+#endif /* _XLIBCONF_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/Xlibint.h b/stream-servers/apigen-codec-common/X11/Xlibint.h
new file mode 100644
index 0000000..80edeec
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/Xlibint.h
@@ -0,0 +1,1369 @@
+
+/*
+
+Copyright 1984, 1985, 1987, 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+*/
+
+#ifndef _X11_XLIBINT_H_
+#define _X11_XLIBINT_H_ 1
+
+/*
+ * Xlibint.h - Header definition and support file for the internal
+ * support routines used by the C subroutine interface
+ * library (Xlib) to the X Window System.
+ *
+ * Warning, there be dragons here....
+ */
+
+#include <X11/Xlib.h>
+#include <X11/Xproto.h> /* to declare xEvent */
+#include <X11/XlibConf.h> /* for configured options like XTHREADS */
+
+#ifdef WIN32
+#define _XFlush _XFlushIt
+#endif
+
+/*
+ * If your BytesReadable correctly detects broken connections, then
+ * you should NOT define XCONN_CHECK_FREQ.
+ */
+#ifndef XCONN_CHECK_FREQ
+#define XCONN_CHECK_FREQ 256
+#endif
+
+struct _XGC
+{
+ XExtData *ext_data; /* hook for extension to hang data */
+ GContext gid; /* protocol ID for graphics context */
+ Bool rects; /* boolean: TRUE if clipmask is list of rectangles */
+ Bool dashes; /* boolean: TRUE if dash-list is really a list */
+ unsigned long dirty;/* cache dirty bits */
+ XGCValues values; /* shadow structure of values */
+};
+
+struct _XDisplay
+{
+ XExtData *ext_data; /* hook for extension to hang data */
+ struct _XFreeFuncs *free_funcs; /* internal free functions */
+ int fd; /* Network socket. */
+ int conn_checker; /* ugly thing used by _XEventsQueued */
+ int proto_major_version;/* maj. version of server's X protocol */
+ int proto_minor_version;/* minor version of server's X protocol */
+ char *vendor; /* vendor of the server hardware */
+ XID resource_base; /* resource ID base */
+ XID resource_mask; /* resource ID mask bits */
+ XID resource_id; /* allocator current ID */
+ int resource_shift; /* allocator shift to correct bits */
+ XID (*resource_alloc)( /* allocator function */
+ struct _XDisplay*
+ );
+ int byte_order; /* screen byte order, LSBFirst, MSBFirst */
+ int bitmap_unit; /* padding and data requirements */
+ int bitmap_pad; /* padding requirements on bitmaps */
+ int bitmap_bit_order; /* LeastSignificant or MostSignificant */
+ int nformats; /* number of pixmap formats in list */
+ ScreenFormat *pixmap_format; /* pixmap format list */
+ int vnumber; /* Xlib's X protocol version number. */
+ int release; /* release of the server */
+ struct _XSQEvent *head, *tail; /* Input event queue. */
+ int qlen; /* Length of input event queue */
+ unsigned long last_request_read; /* seq number of last event read */
+ unsigned long request; /* sequence number of last request. */
+ char *last_req; /* beginning of last request, or dummy */
+ char *buffer; /* Output buffer starting address. */
+ char *bufptr; /* Output buffer index pointer. */
+ char *bufmax; /* Output buffer maximum+1 address. */
+ unsigned max_request_size; /* maximum number 32 bit words in request*/
+ struct _XrmHashBucketRec *db;
+ int (*synchandler)( /* Synchronization handler */
+ struct _XDisplay*
+ );
+ char *display_name; /* "host:display" string used on this connect*/
+ int default_screen; /* default screen for operations */
+ int nscreens; /* number of screens on this server*/
+ Screen *screens; /* pointer to list of screens */
+ unsigned long motion_buffer; /* size of motion buffer */
+ volatile unsigned long flags; /* internal connection flags */
+ int min_keycode; /* minimum defined keycode */
+ int max_keycode; /* maximum defined keycode */
+ KeySym *keysyms; /* This server's keysyms */
+ XModifierKeymap *modifiermap; /* This server's modifier keymap */
+ int keysyms_per_keycode;/* number of rows */
+ char *xdefaults; /* contents of defaults from server */
+ char *scratch_buffer; /* place to hang scratch buffer */
+ unsigned long scratch_length; /* length of scratch buffer */
+ int ext_number; /* extension number on this display */
+ struct _XExten *ext_procs; /* extensions initialized on this display */
+ /*
+ * the following can be fixed size, as the protocol defines how
+ * much address space is available.
+ * While this could be done using the extension vector, there
+ * may be MANY events processed, so a search through the extension
+ * list to find the right procedure for each event might be
+ * expensive if many extensions are being used.
+ */
+ Bool (*event_vec[128])( /* vector for wire to event */
+ Display * /* dpy */,
+ XEvent * /* re */,
+ xEvent * /* event */
+ );
+ Status (*wire_vec[128])( /* vector for event to wire */
+ Display * /* dpy */,
+ XEvent * /* re */,
+ xEvent * /* event */
+ );
+ KeySym lock_meaning; /* for XLookupString */
+ struct _XLockInfo *lock; /* multi-thread state, display lock */
+ struct _XInternalAsync *async_handlers; /* for internal async */
+ unsigned long bigreq_size; /* max size of big requests */
+ struct _XLockPtrs *lock_fns; /* pointers to threads functions */
+ void (*idlist_alloc)( /* XID list allocator function */
+ Display * /* dpy */,
+ XID * /* ids */,
+ int /* count */
+ );
+ /* things above this line should not move, for binary compatibility */
+ struct _XKeytrans *key_bindings; /* for XLookupString */
+ Font cursor_font; /* for XCreateFontCursor */
+ struct _XDisplayAtoms *atoms; /* for XInternAtom */
+ unsigned int mode_switch; /* keyboard group modifiers */
+ unsigned int num_lock; /* keyboard numlock modifiers */
+ struct _XContextDB *context_db; /* context database */
+ Bool (**error_vec)( /* vector for wire to error */
+ Display * /* display */,
+ XErrorEvent * /* he */,
+ xError * /* we */
+ );
+ /*
+ * Xcms information
+ */
+ struct {
+ XPointer defaultCCCs; /* pointer to an array of default XcmsCCC */
+ XPointer clientCmaps; /* pointer to linked list of XcmsCmapRec */
+ XPointer perVisualIntensityMaps;
+ /* linked list of XcmsIntensityMap */
+ } cms;
+ struct _XIMFilter *im_filters;
+ struct _XSQEvent *qfree; /* unallocated event queue elements */
+ unsigned long next_event_serial_num; /* inserted into next queue elt */
+ struct _XExten *flushes; /* Flush hooks */
+ struct _XConnectionInfo *im_fd_info; /* _XRegisterInternalConnection */
+ int im_fd_length; /* number of im_fd_info */
+ struct _XConnWatchInfo *conn_watchers; /* XAddConnectionWatch */
+ int watcher_count; /* number of conn_watchers */
+ XPointer filedes; /* struct pollfd cache for _XWaitForReadable */
+ int (*savedsynchandler)( /* user synchandler when Xlib usurps */
+ Display * /* dpy */
+ );
+ XID resource_max; /* allocator max ID */
+ int xcmisc_opcode; /* major opcode for XC-MISC */
+ struct _XkbInfoRec *xkb_info; /* XKB info */
+ struct _XtransConnInfo *trans_conn; /* transport connection object */
+ struct _X11XCBPrivate *xcb; /* XCB glue private data */
+
+ /* Generic event cookie handling */
+ unsigned int next_cookie; /* next event cookie */
+ /* vector for wire to generic event, index is (extension - 128) */
+ Bool (*generic_event_vec[128])(
+ Display * /* dpy */,
+ XGenericEventCookie * /* Xlib event */,
+ xEvent * /* wire event */);
+ /* vector for event copy, index is (extension - 128) */
+ Bool (*generic_event_copy_vec[128])(
+ Display * /* dpy */,
+ XGenericEventCookie * /* in */,
+ XGenericEventCookie * /* out*/);
+ void *cookiejar; /* cookie events returned but not claimed */
+};
+
+#define XAllocIDs(dpy,ids,n) (*(dpy)->idlist_alloc)(dpy,ids,n)
+
+/*
+ * define the following if you want the Data macro to be a procedure instead
+ */
+#ifdef CRAY
+#define DataRoutineIsProcedure
+#endif /* CRAY */
+
+#ifndef _XEVENT_
+/*
+ * _QEvent datatype for use in input queueing.
+ */
+typedef struct _XSQEvent
+{
+ struct _XSQEvent *next;
+ XEvent event;
+ unsigned long qserial_num; /* so multi-threaded code can find new ones */
+} _XQEvent;
+#endif
+
+#include <X11/Xproto.h>
+#ifdef __sgi
+#define _SGI_MP_SOURCE /* turn this on to get MP safe errno */
+#endif
+#include <errno.h>
+#define _XBCOPYFUNC _Xbcopy
+#include <X11/Xfuncs.h>
+#include <X11/Xosdefs.h>
+
+/* Utek leaves kernel macros around in include files (bleah) */
+#ifdef dirty
+#undef dirty
+#endif
+
+#include <stdlib.h>
+#include <string.h>
+
+#include <X11/Xfuncproto.h>
+
+_XFUNCPROTOBEGIN
+
+/*
+ * The following definitions can be used for locking requests in multi-threaded
+ * address spaces.
+ */
+#ifdef XTHREADS
+/* Author: Stephen Gildea, MIT X Consortium
+ *
+ * declarations for C Threads locking
+ */
+
+typedef struct _LockInfoRec *LockInfoPtr;
+
+/* interfaces for locking.c */
+struct _XLockPtrs {
+ /* used by all, including extensions; do not move */
+ void (*lock_display)(
+ Display *dpy
+#if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE)
+ , char *file
+ , int line
+#endif
+ );
+ void (*unlock_display)(
+ Display *dpy
+#if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE)
+ , char *file
+ , int line
+#endif
+ );
+};
+
+#if defined(WIN32) && !defined(_XLIBINT_)
+#define _XCreateMutex_fn (*_XCreateMutex_fn_p)
+#define _XFreeMutex_fn (*_XFreeMutex_fn_p)
+#define _XLockMutex_fn (*_XLockMutex_fn_p)
+#define _XUnlockMutex_fn (*_XUnlockMutex_fn_p)
+#define _Xglobal_lock (*_Xglobal_lock_p)
+#endif
+
+/* in XlibInt.c */
+extern void (*_XCreateMutex_fn)(
+ LockInfoPtr /* lock */
+);
+extern void (*_XFreeMutex_fn)(
+ LockInfoPtr /* lock */
+);
+extern void (*_XLockMutex_fn)(
+ LockInfoPtr /* lock */
+#if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE)
+ , char * /* file */
+ , int /* line */
+#endif
+);
+extern void (*_XUnlockMutex_fn)(
+ LockInfoPtr /* lock */
+#if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE)
+ , char * /* file */
+ , int /* line */
+#endif
+);
+
+extern LockInfoPtr _Xglobal_lock;
+
+#if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE)
+#define LockDisplay(d) if ((d)->lock_fns) (*(d)->lock_fns->lock_display)((d),__FILE__,__LINE__)
+#define UnlockDisplay(d) if ((d)->lock_fns) (*(d)->lock_fns->unlock_display)((d),__FILE__,__LINE__)
+#define _XLockMutex(lock) if (_XLockMutex_fn) (*_XLockMutex_fn)(lock,__FILE__,__LINE__)
+#define _XUnlockMutex(lock) if (_XUnlockMutex_fn) (*_XUnlockMutex_fn)(lock,__FILE__,__LINE__)
+#else
+/* used everywhere, so must be fast if not using threads */
+#define LockDisplay(d) if ((d)->lock_fns) (*(d)->lock_fns->lock_display)(d)
+#define UnlockDisplay(d) if ((d)->lock_fns) (*(d)->lock_fns->unlock_display)(d)
+#define _XLockMutex(lock) if (_XLockMutex_fn) (*_XLockMutex_fn)(lock)
+#define _XUnlockMutex(lock) if (_XUnlockMutex_fn) (*_XUnlockMutex_fn)(lock)
+#endif
+#define _XCreateMutex(lock) if (_XCreateMutex_fn) (*_XCreateMutex_fn)(lock);
+#define _XFreeMutex(lock) if (_XFreeMutex_fn) (*_XFreeMutex_fn)(lock);
+
+#else /* XTHREADS */
+#define LockDisplay(dis)
+#define _XLockMutex(lock)
+#define _XUnlockMutex(lock)
+#define UnlockDisplay(dis)
+#define _XCreateMutex(lock)
+#define _XFreeMutex(lock)
+#endif
+
+#define Xfree(ptr) free((ptr))
+
+/*
+ * Note that some machines do not return a valid pointer for malloc(0), in
+ * which case we provide an alternate under the control of the
+ * define MALLOC_0_RETURNS_NULL. This is necessary because some
+ * Xlib code expects malloc(0) to return a valid pointer to storage.
+ */
+#if defined(MALLOC_0_RETURNS_NULL) || defined(__clang_analyzer__)
+
+# define Xmalloc(size) malloc(((size) == 0 ? 1 : (size)))
+# define Xrealloc(ptr, size) realloc((ptr), ((size) == 0 ? 1 : (size)))
+# define Xcalloc(nelem, elsize) calloc(((nelem) == 0 ? 1 : (nelem)), (elsize))
+
+#else
+
+# define Xmalloc(size) malloc((size))
+# define Xrealloc(ptr, size) realloc((ptr), (size))
+# define Xcalloc(nelem, elsize) calloc((nelem), (elsize))
+
+#endif
+
+#include <stddef.h>
+
+#define LOCKED 1
+#define UNLOCKED 0
+
+#ifndef BUFSIZE
+#define BUFSIZE 2048 /* X output buffer size. */
+#endif
+#ifndef PTSPERBATCH
+#define PTSPERBATCH 1024 /* point batching */
+#endif
+#ifndef WLNSPERBATCH
+#define WLNSPERBATCH 50 /* wide line batching */
+#endif
+#ifndef ZLNSPERBATCH
+#define ZLNSPERBATCH 1024 /* thin line batching */
+#endif
+#ifndef WRCTSPERBATCH
+#define WRCTSPERBATCH 10 /* wide line rectangle batching */
+#endif
+#ifndef ZRCTSPERBATCH
+#define ZRCTSPERBATCH 256 /* thin line rectangle batching */
+#endif
+#ifndef FRCTSPERBATCH
+#define FRCTSPERBATCH 256 /* filled rectangle batching */
+#endif
+#ifndef FARCSPERBATCH
+#define FARCSPERBATCH 256 /* filled arc batching */
+#endif
+#ifndef CURSORFONT
+#define CURSORFONT "cursor" /* standard cursor fonts */
+#endif
+
+/*
+ * Display flags
+ */
+#define XlibDisplayIOError (1L << 0)
+#define XlibDisplayClosing (1L << 1)
+#define XlibDisplayNoXkb (1L << 2)
+#define XlibDisplayPrivSync (1L << 3)
+#define XlibDisplayProcConni (1L << 4) /* in _XProcessInternalConnection */
+#define XlibDisplayReadEvents (1L << 5) /* in _XReadEvents */
+#define XlibDisplayReply (1L << 5) /* in _XReply */
+#define XlibDisplayWriting (1L << 6) /* in _XFlushInt, _XSend */
+#define XlibDisplayDfltRMDB (1L << 7) /* mark if RM db from XGetDefault */
+
+/*
+ * X Protocol packetizing macros.
+ */
+
+/* Need to start requests on 64 bit word boundaries
+ * on a CRAY computer so add a NoOp (127) if needed.
+ * A character pointer on a CRAY computer will be non-zero
+ * after shifting right 61 bits of it is not pointing to
+ * a word boundary.
+ */
+#ifdef WORD64
+#define WORD64ALIGN if ((long)dpy->bufptr >> 61) {\
+ dpy->last_req = dpy->bufptr;\
+ *(dpy->bufptr) = X_NoOperation;\
+ *(dpy->bufptr+1) = 0;\
+ *(dpy->bufptr+2) = 0;\
+ *(dpy->bufptr+3) = 1;\
+ dpy->request++;\
+ dpy->bufptr += 4;\
+ }
+#else /* else does not require alignment on 64-bit boundaries */
+#define WORD64ALIGN
+#endif /* WORD64 */
+
+/**
+ * Return a len-sized request buffer for the request type. This function may
+ * flush the output queue.
+ *
+ * @param dpy The display connection
+ * @param type The request type
+ * @param len Length of the request in bytes
+ *
+ * @returns A pointer to the request buffer with a few default values
+ * initialized.
+ */
+extern void *_XGetRequest(Display *dpy, CARD8 type, size_t len);
+
+/* GetReqSized is the same as GetReq but allows the caller to specify the
+ * size in bytes. 'sz' must be a multiple of 4! */
+
+#if !defined(UNIXCPP) || defined(ANSICPP)
+#define GetReqSized(name, sz, req) \
+ req = (x##name##Req *) _XGetRequest(dpy, X_##name, sz)
+#else
+#define GetReqSized(name, sz, req) \
+ req = (x/**/name/**/Req *) _XGetRequest(dpy, X_/**/name, sz)
+#endif
+
+
+/*
+ * GetReq - Get the next available X request packet in the buffer and
+ * return it.
+ *
+ * "name" is the name of the request, e.g. CreatePixmap, OpenFont, etc.
+ * "req" is the name of the request pointer.
+ *
+ */
+
+#if !defined(UNIXCPP) || defined(ANSICPP)
+#define GetReq(name, req) \
+ GetReqSized(name, SIZEOF(x##name##Req), req)
+#else /* non-ANSI C uses empty comment instead of "##" for token concatenation */
+#define GetReq(name, req) \
+ GetReqSized(name, SIZEOF(x/**/name/**/Req), req)
+#endif
+
+/* GetReqExtra is the same as GetReq, but allocates "n" additional
+ bytes after the request. "n" must be a multiple of 4! */
+
+#if !defined(UNIXCPP) || defined(ANSICPP)
+#define GetReqExtra(name, n, req) \
+ GetReqSized(name, SIZEOF(x##name##Req) + n, req)
+#else
+#define GetReqExtra(name, n, req) \
+ GetReqSized(name, SIZEOF(x/**/name/**/Req) + n, req)
+#endif
+
+
+/*
+ * GetResReq is for those requests that have a resource ID
+ * (Window, Pixmap, GContext, etc.) as their single argument.
+ * "rid" is the name of the resource.
+ */
+
+#if !defined(UNIXCPP) || defined(ANSICPP)
+#define GetResReq(name, rid, req) \
+ req = (xResourceReq *) _XGetRequest(dpy, X_##name, SIZEOF(xResourceReq)); \
+ req->id = (rid)
+#else
+#define GetResReq(name, rid, req) \
+ req = (xResourceReq *) _XGetRequest(dpy, X_/**/name, SIZEOF(xResourceReq)); \
+ req->id = (rid)
+#endif
+
+/*
+ * GetEmptyReq is for those requests that have no arguments
+ * at all.
+ */
+#if !defined(UNIXCPP) || defined(ANSICPP)
+#define GetEmptyReq(name, req) \
+ req = (xReq *) _XGetRequest(dpy, X_##name, SIZEOF(xReq))
+#else
+#define GetEmptyReq(name, req) \
+ req = (xReq *) _XGetRequest(dpy, X_/**/name, SIZEOF(xReq))
+#endif
+
+#ifdef WORD64
+#define MakeBigReq(req,n) \
+ { \
+ char _BRdat[4]; \
+ unsigned long _BRlen = req->length - 1; \
+ req->length = 0; \
+ memcpy(_BRdat, ((char *)req) + (_BRlen << 2), 4); \
+ memmove(((char *)req) + 8, ((char *)req) + 4, _BRlen << 2); \
+ memcpy(((char *)req) + 4, _BRdat, 4); \
+ Data32(dpy, (long *)&_BRdat, 4); \
+ }
+#else
+#ifdef LONG64
+#define MakeBigReq(req,n) \
+ { \
+ CARD64 _BRdat; \
+ CARD32 _BRlen = req->length - 1; \
+ req->length = 0; \
+ _BRdat = ((CARD32 *)req)[_BRlen]; \
+ memmove(((char *)req) + 8, ((char *)req) + 4, _BRlen << 2); \
+ ((CARD32 *)req)[1] = _BRlen + n + 2; \
+ Data32(dpy, &_BRdat, 4); \
+ }
+#else
+#define MakeBigReq(req,n) \
+ { \
+ CARD32 _BRdat; \
+ CARD32 _BRlen = req->length - 1; \
+ req->length = 0; \
+ _BRdat = ((CARD32 *)req)[_BRlen]; \
+ memmove(((char *)req) + 8, ((char *)req) + 4, _BRlen << 2); \
+ ((CARD32 *)req)[1] = _BRlen + n + 2; \
+ Data32(dpy, &_BRdat, 4); \
+ }
+#endif
+#endif
+
+#ifndef __clang_analyzer__
+#define SetReqLen(req,n,badlen) \
+ if ((req->length + n) > (unsigned)65535) { \
+ if (dpy->bigreq_size) { \
+ MakeBigReq(req,n) \
+ } else { \
+ n = badlen; \
+ req->length += n; \
+ } \
+ } else \
+ req->length += n
+#else
+#define SetReqLen(req,n,badlen) \
+ req->length += n
+#endif
+
+#define SyncHandle() \
+ if (dpy->synchandler) (*dpy->synchandler)(dpy)
+
+extern void _XFlushGCCache(Display *dpy, GC gc);
+#define FlushGC(dpy, gc) \
+ if ((gc)->dirty) _XFlushGCCache((dpy), (gc))
+/*
+ * Data - Place data in the buffer and pad the end to provide
+ * 32 bit word alignment. Transmit if the buffer fills.
+ *
+ * "dpy" is a pointer to a Display.
+ * "data" is a pinter to a data buffer.
+ * "len" is the length of the data buffer.
+ */
+#ifndef DataRoutineIsProcedure
+#define Data(dpy, data, len) {\
+ if (dpy->bufptr + (len) <= dpy->bufmax) {\
+ memcpy(dpy->bufptr, data, (int)len);\
+ dpy->bufptr += ((len) + 3) & ~3;\
+ } else\
+ _XSend(dpy, data, len);\
+ }
+#endif /* DataRoutineIsProcedure */
+
+
+/* Allocate bytes from the buffer. No padding is done, so if
+ * the length is not a multiple of 4, the caller must be
+ * careful to leave the buffer aligned after sending the
+ * current request.
+ *
+ * "type" is the type of the pointer being assigned to.
+ * "ptr" is the pointer being assigned to.
+ * "n" is the number of bytes to allocate.
+ *
+ * Example:
+ * xTextElt *elt;
+ * BufAlloc (xTextElt *, elt, nbytes)
+ */
+
+#define BufAlloc(type, ptr, n) \
+ if (dpy->bufptr + (n) > dpy->bufmax) \
+ _XFlush (dpy); \
+ ptr = (type) dpy->bufptr; \
+ memset(ptr, '\0', n); \
+ dpy->bufptr += (n);
+
+#ifdef WORD64
+#define Data16(dpy, data, len) _XData16(dpy, (short *)data, len)
+#define Data32(dpy, data, len) _XData32(dpy, (long *)data, len)
+#else
+#define Data16(dpy, data, len) Data((dpy), (char *)(data), (len))
+#define _XRead16Pad(dpy, data, len) _XReadPad((dpy), (char *)(data), (len))
+#define _XRead16(dpy, data, len) _XRead((dpy), (char *)(data), (len))
+#ifdef LONG64
+#define Data32(dpy, data, len) _XData32(dpy, (long *)data, len)
+extern int _XData32(
+ Display *dpy,
+ register long *data,
+ unsigned len
+);
+extern void _XRead32(
+ Display *dpy,
+ register long *data,
+ long len
+);
+#else
+#define Data32(dpy, data, len) Data((dpy), (char *)(data), (len))
+#define _XRead32(dpy, data, len) _XRead((dpy), (char *)(data), (len))
+#endif
+#endif /* not WORD64 */
+
+#define PackData16(dpy,data,len) Data16 (dpy, data, len)
+#define PackData32(dpy,data,len) Data32 (dpy, data, len)
+
+/* Xlib manual is bogus */
+#define PackData(dpy,data,len) PackData16 (dpy, data, len)
+
+#define min(a,b) (((a) < (b)) ? (a) : (b))
+#define max(a,b) (((a) > (b)) ? (a) : (b))
+
+#define CI_NONEXISTCHAR(cs) (((cs)->width == 0) && \
+ (((cs)->rbearing|(cs)->lbearing| \
+ (cs)->ascent|(cs)->descent) == 0))
+
+/*
+ * CI_GET_CHAR_INFO_1D - return the charinfo struct for the indicated 8bit
+ * character. If the character is in the column and exists, then return the
+ * appropriate metrics (note that fonts with common per-character metrics will
+ * return min_bounds). If none of these hold true, try again with the default
+ * char.
+ */
+#define CI_GET_CHAR_INFO_1D(fs,col,def,cs) \
+{ \
+ cs = def; \
+ if (col >= fs->min_char_or_byte2 && col <= fs->max_char_or_byte2) { \
+ if (fs->per_char == NULL) { \
+ cs = &fs->min_bounds; \
+ } else { \
+ cs = &fs->per_char[(col - fs->min_char_or_byte2)]; \
+ if (CI_NONEXISTCHAR(cs)) cs = def; \
+ } \
+ } \
+}
+
+#define CI_GET_DEFAULT_INFO_1D(fs,cs) \
+ CI_GET_CHAR_INFO_1D (fs, fs->default_char, NULL, cs)
+
+
+
+/*
+ * CI_GET_CHAR_INFO_2D - return the charinfo struct for the indicated row and
+ * column. This is used for fonts that have more than row zero.
+ */
+#define CI_GET_CHAR_INFO_2D(fs,row,col,def,cs) \
+{ \
+ cs = def; \
+ if (row >= fs->min_byte1 && row <= fs->max_byte1 && \
+ col >= fs->min_char_or_byte2 && col <= fs->max_char_or_byte2) { \
+ if (fs->per_char == NULL) { \
+ cs = &fs->min_bounds; \
+ } else { \
+ cs = &fs->per_char[((row - fs->min_byte1) * \
+ (fs->max_char_or_byte2 - \
+ fs->min_char_or_byte2 + 1)) + \
+ (col - fs->min_char_or_byte2)]; \
+ if (CI_NONEXISTCHAR(cs)) cs = def; \
+ } \
+ } \
+}
+
+#define CI_GET_DEFAULT_INFO_2D(fs,cs) \
+{ \
+ unsigned int r = (fs->default_char >> 8); \
+ unsigned int c = (fs->default_char & 0xff); \
+ CI_GET_CHAR_INFO_2D (fs, r, c, NULL, cs); \
+}
+
+
+#ifdef MUSTCOPY
+
+/* for when 32-bit alignment is not good enough */
+#define OneDataCard32(dpy,dstaddr,srcvar) \
+ { dpy->bufptr -= 4; Data32 (dpy, (char *) &(srcvar), 4); }
+
+#else
+
+/* srcvar must be a variable for large architecture version */
+#define OneDataCard32(dpy,dstaddr,srcvar) \
+ { *(CARD32 *)(dstaddr) = (srcvar); }
+
+#endif /* MUSTCOPY */
+
+typedef struct _XInternalAsync {
+ struct _XInternalAsync *next;
+ /*
+ * handler arguments:
+ * rep is the generic reply that caused this handler
+ * to be invoked. It must also be passed to _XGetAsyncReply.
+ * buf and len are opaque values that must be passed to
+ * _XGetAsyncReply or _XGetAsyncData.
+ * data is the closure stored in this struct.
+ * The handler returns True iff it handled this reply.
+ */
+ Bool (*handler)(
+ Display* /* dpy */,
+ xReply* /* rep */,
+ char* /* buf */,
+ int /* len */,
+ XPointer /* data */
+ );
+ XPointer data;
+} _XAsyncHandler;
+
+typedef struct _XAsyncEState {
+ unsigned long min_sequence_number;
+ unsigned long max_sequence_number;
+ unsigned char error_code;
+ unsigned char major_opcode;
+ unsigned short minor_opcode;
+ unsigned char last_error_received;
+ int error_count;
+} _XAsyncErrorState;
+
+extern void _XDeqAsyncHandler(Display *dpy, _XAsyncHandler *handler);
+#define DeqAsyncHandler(dpy,handler) { \
+ if (dpy->async_handlers == (handler)) \
+ dpy->async_handlers = (handler)->next; \
+ else \
+ _XDeqAsyncHandler(dpy, handler); \
+ }
+
+typedef void (*FreeFuncType) (
+ Display* /* display */
+);
+
+typedef int (*FreeModmapType) (
+ XModifierKeymap* /* modmap */
+);
+
+/*
+ * This structure is private to the library.
+ */
+typedef struct _XFreeFuncs {
+ FreeFuncType atoms; /* _XFreeAtomTable */
+ FreeModmapType modifiermap; /* XFreeModifiermap */
+ FreeFuncType key_bindings; /* _XFreeKeyBindings */
+ FreeFuncType context_db; /* _XFreeContextDB */
+ FreeFuncType defaultCCCs; /* _XcmsFreeDefaultCCCs */
+ FreeFuncType clientCmaps; /* _XcmsFreeClientCmaps */
+ FreeFuncType intensityMaps; /* _XcmsFreeIntensityMaps */
+ FreeFuncType im_filters; /* _XFreeIMFilters */
+ FreeFuncType xkb; /* _XkbFreeInfo */
+} _XFreeFuncRec;
+
+/* types for InitExt.c */
+typedef int (*CreateGCType) (
+ Display* /* display */,
+ GC /* gc */,
+ XExtCodes* /* codes */
+);
+
+typedef int (*CopyGCType)(
+ Display* /* display */,
+ GC /* gc */,
+ XExtCodes* /* codes */
+);
+
+typedef int (*FlushGCType) (
+ Display* /* display */,
+ GC /* gc */,
+ XExtCodes* /* codes */
+);
+
+typedef int (*FreeGCType) (
+ Display* /* display */,
+ GC /* gc */,
+ XExtCodes* /* codes */
+);
+
+typedef int (*CreateFontType) (
+ Display* /* display */,
+ XFontStruct* /* fs */,
+ XExtCodes* /* codes */
+);
+
+typedef int (*FreeFontType) (
+ Display* /* display */,
+ XFontStruct* /* fs */,
+ XExtCodes* /* codes */
+);
+
+typedef int (*CloseDisplayType) (
+ Display* /* display */,
+ XExtCodes* /* codes */
+);
+
+typedef int (*ErrorType) (
+ Display* /* display */,
+ xError* /* err */,
+ XExtCodes* /* codes */,
+ int* /* ret_code */
+);
+
+typedef char* (*ErrorStringType) (
+ Display* /* display */,
+ int /* code */,
+ XExtCodes* /* codes */,
+ char* /* buffer */,
+ int /* nbytes */
+);
+
+typedef void (*PrintErrorType)(
+ Display* /* display */,
+ XErrorEvent* /* ev */,
+ void* /* fp */
+);
+
+typedef void (*BeforeFlushType)(
+ Display* /* display */,
+ XExtCodes* /* codes */,
+ _Xconst char* /* data */,
+ long /* len */
+);
+
+/*
+ * This structure is private to the library.
+ */
+typedef struct _XExten { /* private to extension mechanism */
+ struct _XExten *next; /* next in list */
+ XExtCodes codes; /* public information, all extension told */
+ CreateGCType create_GC; /* routine to call when GC created */
+ CopyGCType copy_GC; /* routine to call when GC copied */
+ FlushGCType flush_GC; /* routine to call when GC flushed */
+ FreeGCType free_GC; /* routine to call when GC freed */
+ CreateFontType create_Font; /* routine to call when Font created */
+ FreeFontType free_Font; /* routine to call when Font freed */
+ CloseDisplayType close_display; /* routine to call when connection closed */
+ ErrorType error; /* who to call when an error occurs */
+ ErrorStringType error_string; /* routine to supply error string */
+ char *name; /* name of this extension */
+ PrintErrorType error_values; /* routine to supply error values */
+ BeforeFlushType before_flush; /* routine to call when sending data */
+ struct _XExten *next_flush; /* next in list of those with flushes */
+} _XExtension;
+
+/* extension hooks */
+
+#ifdef DataRoutineIsProcedure
+extern void Data(Display *dpy, char *data, long len);
+#endif
+extern int _XError(
+ Display* /* dpy */,
+ xError* /* rep */
+);
+extern int _XIOError(
+ Display* /* dpy */
+) _X_NORETURN;
+extern int (*_XIOErrorFunction)(
+ Display* /* dpy */
+);
+extern int (*_XErrorFunction)(
+ Display* /* dpy */,
+ XErrorEvent* /* error_event */
+);
+extern void _XEatData(
+ Display* /* dpy */,
+ unsigned long /* n */
+);
+extern char *_XAllocScratch(
+ Display* /* dpy */,
+ unsigned long /* nbytes */
+);
+extern char *_XAllocTemp(
+ Display* /* dpy */,
+ unsigned long /* nbytes */
+);
+extern void _XFreeTemp(
+ Display* /* dpy */,
+ char* /* buf */,
+ unsigned long /* nbytes */
+);
+extern Visual *_XVIDtoVisual(
+ Display* /* dpy */,
+ VisualID /* id */
+);
+extern unsigned long _XSetLastRequestRead(
+ Display* /* dpy */,
+ xGenericReply* /* rep */
+);
+extern int _XGetHostname(
+ char* /* buf */,
+ int /* maxlen */
+);
+extern Screen *_XScreenOfWindow(
+ Display* /* dpy */,
+ Window /* w */
+);
+extern Bool _XAsyncErrorHandler(
+ Display* /* dpy */,
+ xReply* /* rep */,
+ char* /* buf */,
+ int /* len */,
+ XPointer /* data */
+);
+extern char *_XGetAsyncReply(
+ Display* /* dpy */,
+ char* /* replbuf */,
+ xReply* /* rep */,
+ char* /* buf */,
+ int /* len */,
+ int /* extra */,
+ Bool /* discard */
+);
+extern void _XGetAsyncData(
+ Display* /* dpy */,
+ char * /* data */,
+ char * /* buf */,
+ int /* len */,
+ int /* skip */,
+ int /* datalen */,
+ int /* discardtotal */
+);
+extern void _XFlush(
+ Display* /* dpy */
+);
+extern int _XEventsQueued(
+ Display* /* dpy */,
+ int /* mode */
+);
+extern void _XReadEvents(
+ Display* /* dpy */
+);
+extern int _XRead(
+ Display* /* dpy */,
+ char* /* data */,
+ long /* size */
+);
+extern void _XReadPad(
+ Display* /* dpy */,
+ char* /* data */,
+ long /* size */
+);
+extern void _XSend(
+ Display* /* dpy */,
+ _Xconst char* /* data */,
+ long /* size */
+);
+extern Status _XReply(
+ Display* /* dpy */,
+ xReply* /* rep */,
+ int /* extra */,
+ Bool /* discard */
+);
+extern void _XEnq(
+ Display* /* dpy */,
+ xEvent* /* event */
+);
+extern void _XDeq(
+ Display* /* dpy */,
+ _XQEvent* /* prev */,
+ _XQEvent* /* qelt */
+);
+
+extern Bool _XUnknownWireEvent(
+ Display* /* dpy */,
+ XEvent* /* re */,
+ xEvent* /* event */
+);
+
+extern Bool _XUnknownWireEventCookie(
+ Display* /* dpy */,
+ XGenericEventCookie* /* re */,
+ xEvent* /* event */
+);
+
+extern Bool _XUnknownCopyEventCookie(
+ Display* /* dpy */,
+ XGenericEventCookie* /* in */,
+ XGenericEventCookie* /* out */
+);
+
+extern Status _XUnknownNativeEvent(
+ Display* /* dpy */,
+ XEvent* /* re */,
+ xEvent* /* event */
+);
+
+extern Bool _XWireToEvent(Display *dpy, XEvent *re, xEvent *event);
+extern Bool _XDefaultWireError(Display *display, XErrorEvent *he, xError *we);
+extern Bool _XPollfdCacheInit(Display *dpy);
+extern void _XPollfdCacheAdd(Display *dpy, int fd);
+extern void _XPollfdCacheDel(Display *dpy, int fd);
+extern XID _XAllocID(Display *dpy);
+extern void _XAllocIDs(Display *dpy, XID *ids, int count);
+
+extern int _XFreeExtData(
+ XExtData* /* extension */
+);
+
+extern int (*XESetCreateGC(
+ Display* /* display */,
+ int /* extension */,
+ int (*) (
+ Display* /* display */,
+ GC /* gc */,
+ XExtCodes* /* codes */
+ ) /* proc */
+))(
+ Display*, GC, XExtCodes*
+);
+
+extern int (*XESetCopyGC(
+ Display* /* display */,
+ int /* extension */,
+ int (*) (
+ Display* /* display */,
+ GC /* gc */,
+ XExtCodes* /* codes */
+ ) /* proc */
+))(
+ Display*, GC, XExtCodes*
+);
+
+extern int (*XESetFlushGC(
+ Display* /* display */,
+ int /* extension */,
+ int (*) (
+ Display* /* display */,
+ GC /* gc */,
+ XExtCodes* /* codes */
+ ) /* proc */
+))(
+ Display*, GC, XExtCodes*
+);
+
+extern int (*XESetFreeGC(
+ Display* /* display */,
+ int /* extension */,
+ int (*) (
+ Display* /* display */,
+ GC /* gc */,
+ XExtCodes* /* codes */
+ ) /* proc */
+))(
+ Display*, GC, XExtCodes*
+);
+
+extern int (*XESetCreateFont(
+ Display* /* display */,
+ int /* extension */,
+ int (*) (
+ Display* /* display */,
+ XFontStruct* /* fs */,
+ XExtCodes* /* codes */
+ ) /* proc */
+))(
+ Display*, XFontStruct*, XExtCodes*
+);
+
+extern int (*XESetFreeFont(
+ Display* /* display */,
+ int /* extension */,
+ int (*) (
+ Display* /* display */,
+ XFontStruct* /* fs */,
+ XExtCodes* /* codes */
+ ) /* proc */
+))(
+ Display*, XFontStruct*, XExtCodes*
+);
+
+extern int (*XESetCloseDisplay(
+ Display* /* display */,
+ int /* extension */,
+ int (*) (
+ Display* /* display */,
+ XExtCodes* /* codes */
+ ) /* proc */
+))(
+ Display*, XExtCodes*
+);
+
+extern int (*XESetError(
+ Display* /* display */,
+ int /* extension */,
+ int (*) (
+ Display* /* display */,
+ xError* /* err */,
+ XExtCodes* /* codes */,
+ int* /* ret_code */
+ ) /* proc */
+))(
+ Display*, xError*, XExtCodes*, int*
+);
+
+extern char* (*XESetErrorString(
+ Display* /* display */,
+ int /* extension */,
+ char* (*) (
+ Display* /* display */,
+ int /* code */,
+ XExtCodes* /* codes */,
+ char* /* buffer */,
+ int /* nbytes */
+ ) /* proc */
+))(
+ Display*, int, XExtCodes*, char*, int
+);
+
+extern void (*XESetPrintErrorValues (
+ Display* /* display */,
+ int /* extension */,
+ void (*)(
+ Display* /* display */,
+ XErrorEvent* /* ev */,
+ void* /* fp */
+ ) /* proc */
+))(
+ Display*, XErrorEvent*, void*
+);
+
+extern Bool (*XESetWireToEvent(
+ Display* /* display */,
+ int /* event_number */,
+ Bool (*) (
+ Display* /* display */,
+ XEvent* /* re */,
+ xEvent* /* event */
+ ) /* proc */
+))(
+ Display*, XEvent*, xEvent*
+);
+
+extern Bool (*XESetWireToEventCookie(
+ Display* /* display */,
+ int /* extension */,
+ Bool (*) (
+ Display* /* display */,
+ XGenericEventCookie* /* re */,
+ xEvent* /* event */
+ ) /* proc */
+))(
+ Display*, XGenericEventCookie*, xEvent*
+);
+
+extern Bool (*XESetCopyEventCookie(
+ Display* /* display */,
+ int /* extension */,
+ Bool (*) (
+ Display* /* display */,
+ XGenericEventCookie* /* in */,
+ XGenericEventCookie* /* out */
+ ) /* proc */
+))(
+ Display*, XGenericEventCookie*, XGenericEventCookie*
+);
+
+
+extern Status (*XESetEventToWire(
+ Display* /* display */,
+ int /* event_number */,
+ Status (*) (
+ Display* /* display */,
+ XEvent* /* re */,
+ xEvent* /* event */
+ ) /* proc */
+))(
+ Display*, XEvent*, xEvent*
+);
+
+extern Bool (*XESetWireToError(
+ Display* /* display */,
+ int /* error_number */,
+ Bool (*) (
+ Display* /* display */,
+ XErrorEvent* /* he */,
+ xError* /* we */
+ ) /* proc */
+))(
+ Display*, XErrorEvent*, xError*
+);
+
+extern void (*XESetBeforeFlush(
+ Display* /* display */,
+ int /* error_number */,
+ void (*) (
+ Display* /* display */,
+ XExtCodes* /* codes */,
+ _Xconst char* /* data */,
+ long /* len */
+ ) /* proc */
+))(
+ Display*, XExtCodes*, _Xconst char*, long
+);
+
+/* internal connections for IMs */
+
+typedef void (*_XInternalConnectionProc)(
+ Display* /* dpy */,
+ int /* fd */,
+ XPointer /* call_data */
+);
+
+
+extern Status _XRegisterInternalConnection(
+ Display* /* dpy */,
+ int /* fd */,
+ _XInternalConnectionProc /* callback */,
+ XPointer /* call_data */
+);
+
+extern void _XUnregisterInternalConnection(
+ Display* /* dpy */,
+ int /* fd */
+);
+
+extern void _XProcessInternalConnection(
+ Display* /* dpy */,
+ struct _XConnectionInfo* /* conn_info */
+);
+
+/* Display structure has pointers to these */
+
+struct _XConnectionInfo { /* info from _XRegisterInternalConnection */
+ int fd;
+ _XInternalConnectionProc read_callback;
+ XPointer call_data;
+ XPointer *watch_data; /* set/used by XConnectionWatchProc */
+ struct _XConnectionInfo *next;
+};
+
+struct _XConnWatchInfo { /* info from XAddConnectionWatch */
+ XConnectionWatchProc fn;
+ XPointer client_data;
+ struct _XConnWatchInfo *next;
+};
+
+#ifdef __UNIXOS2__
+extern char* __XOS2RedirRoot(
+ char*
+);
+#endif
+
+extern int _XTextHeight(
+ XFontStruct* /* font_struct */,
+ _Xconst char* /* string */,
+ int /* count */
+);
+
+extern int _XTextHeight16(
+ XFontStruct* /* font_struct */,
+ _Xconst XChar2b* /* string */,
+ int /* count */
+);
+
+#if defined(WIN32)
+
+extern int _XOpenFile(
+ _Xconst char* /* path */,
+ int /* flags */
+);
+
+extern int _XOpenFileMode(
+ _Xconst char* /* path */,
+ int /* flags */,
+ mode_t /* mode */
+);
+
+extern void* _XFopenFile(
+ _Xconst char* /* path */,
+ _Xconst char* /* mode */
+);
+
+extern int _XAccessFile(
+ _Xconst char* /* path */
+);
+#else
+#define _XOpenFile(path,flags) open(path,flags)
+#define _XOpenFileMode(path,flags,mode) open(path,flags,mode)
+#define _XFopenFile(path,mode) fopen(path,mode)
+#endif
+
+/* EvToWire.c */
+extern Status _XEventToWire(Display *dpy, XEvent *re, xEvent *event);
+
+extern int _XF86LoadQueryLocaleFont(
+ Display* /* dpy */,
+ _Xconst char* /* name*/,
+ XFontStruct** /* xfp*/,
+ Font* /* fidp */
+);
+
+extern void _XProcessWindowAttributes (
+ register Display *dpy,
+ xChangeWindowAttributesReq *req,
+ register unsigned long valuemask,
+ register XSetWindowAttributes *attributes);
+
+extern int _XDefaultError(
+ Display *dpy,
+ XErrorEvent *event);
+
+extern int _XDefaultIOError(
+ Display *dpy);
+
+extern void _XSetClipRectangles (
+ register Display *dpy,
+ GC gc,
+ int clip_x_origin, int clip_y_origin,
+ XRectangle *rectangles,
+ int n,
+ int ordering);
+
+Status _XGetWindowAttributes(
+ register Display *dpy,
+ Window w,
+ XWindowAttributes *attr);
+
+int _XPutBackEvent (
+ register Display *dpy,
+ register XEvent *event);
+
+extern Bool _XIsEventCookie(
+ Display *dpy,
+ XEvent *ev);
+
+extern void _XFreeEventCookies(
+ Display *dpy);
+
+extern void _XStoreEventCookie(
+ Display *dpy,
+ XEvent *ev);
+
+extern Bool _XFetchEventCookie(
+ Display *dpy,
+ XGenericEventCookie *ev);
+
+extern Bool _XCopyEventCookie(
+ Display *dpy,
+ XGenericEventCookie *in,
+ XGenericEventCookie *out);
+
+/* lcFile.c */
+
+extern void xlocaledir(
+ char *buf,
+ int buf_len
+);
+
+_XFUNCPROTOEND
+
+#endif /* _X11_XLIBINT_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/Xlocale.h b/stream-servers/apigen-codec-common/X11/Xlocale.h
new file mode 100644
index 0000000..98946e5
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/Xlocale.h
@@ -0,0 +1,59 @@
+/*
+
+Copyright 1991, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+*/
+
+#ifndef _X11_XLOCALE_H_
+#define _X11_XLOCALE_H_
+
+#include <X11/Xfuncproto.h>
+#include <X11/Xosdefs.h>
+
+#ifndef X_LOCALE
+#include <locale.h>
+#else
+
+#define LC_ALL 0
+#define LC_COLLATE 1
+#define LC_CTYPE 2
+#define LC_MONETARY 3
+#define LC_NUMERIC 4
+#define LC_TIME 5
+
+_XFUNCPROTOBEGIN
+extern char *_Xsetlocale(
+ int /* category */,
+ _Xconst char* /* name */
+);
+_XFUNCPROTOEND
+
+#define setlocale _Xsetlocale
+
+#include <stddef.h>
+
+#endif /* X_LOCALE */
+
+#endif /* _X11_XLOCALE_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/Xmd.h b/stream-servers/apigen-codec-common/X11/Xmd.h
new file mode 100644
index 0000000..f3868b3
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/Xmd.h
@@ -0,0 +1,185 @@
+/***********************************************************
+
+Copyright 1987, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+#ifndef XMD_H
+# define XMD_H 1
+/*
+ * Xmd.h: MACHINE DEPENDENT DECLARATIONS.
+ */
+
+/*
+ * Special per-machine configuration flags.
+ */
+# if defined(__sun) && defined(__SVR4)
+# include <sys/isa_defs.h> /* Solaris: defines _LP64 if necessary */
+# endif
+
+# if defined (_LP64) || defined(__LP64__) || \
+ defined(__alpha) || defined(__alpha__) || \
+ defined(__ia64__) || defined(ia64) || \
+ defined(__sparc64__) || \
+ defined(__s390x__) || \
+ defined(__amd64__) || defined(amd64) || \
+ defined(__powerpc64__)
+# define LONG64 /* 32/64-bit architecture */
+# endif
+
+/*
+ * Stuff to handle large architecture machines; the constants were generated
+ * on a 32-bit machine and must correspond to the protocol.
+ */
+# ifdef WORD64
+# define MUSTCOPY
+# endif /* WORD64 */
+
+
+/*
+ * Definition of macro used to set constants for size of network structures;
+ * machines with preprocessors that can't handle all of the sz_ symbols
+ * can define this macro to be sizeof(x) if and only if their compiler doesn't
+ * pad out structures (esp. the xTextElt structure which contains only two
+ * one-byte fields). Network structures should always define sz_symbols.
+ *
+ * The sz_ prefix is used instead of something more descriptive so that the
+ * symbols are no more than 32 characters long (which causes problems for some
+ * compilers and preprocessors).
+ *
+ * The extra indirection is to get macro arguments to expand correctly before
+ * the concatenation, rather than afterward.
+ */
+# define _SIZEOF(x) sz_##x
+# define SIZEOF(x) _SIZEOF(x)
+
+/*
+ * Bitfield suffixes for the protocol structure elements, if you
+ * need them. Note that bitfields are not guaranteed to be signed
+ * (or even unsigned) according to ANSI C.
+ */
+# ifdef WORD64
+typedef long INT64;
+typedef unsigned long CARD64;
+# define B32 :32
+# define B16 :16
+# ifdef UNSIGNEDBITFIELDS
+typedef unsigned int INT32;
+typedef unsigned int INT16;
+# else
+typedef signed int INT32;
+typedef signed int INT16;
+# endif
+# else
+# define B32
+# define B16
+# ifdef LONG64
+typedef long INT64;
+typedef int INT32;
+# else
+typedef long INT32;
+# endif
+typedef short INT16;
+# endif
+
+typedef signed char INT8;
+
+# ifdef LONG64
+typedef unsigned long CARD64;
+typedef unsigned int CARD32;
+# else
+typedef unsigned long CARD32;
+# endif
+# if !defined(WORD64) && !defined(LONG64)
+typedef unsigned long long CARD64;
+# endif
+typedef unsigned short CARD16;
+typedef unsigned char CARD8;
+
+typedef CARD32 BITS32;
+typedef CARD16 BITS16;
+
+typedef CARD8 BYTE;
+typedef CARD8 BOOL;
+
+/*
+ * definitions for sign-extending bitfields on 64-bit architectures
+ */
+# if defined(WORD64) && defined(UNSIGNEDBITFIELDS)
+# define cvtINT8toInt(val) (((val) & 0x00000080) ? ((val) | 0xffffffffffffff00) : (val))
+# define cvtINT16toInt(val) (((val) & 0x00008000) ? ((val) | 0xffffffffffff0000) : (val))
+# define cvtINT32toInt(val) (((val) & 0x80000000) ? ((val) | 0xffffffff00000000) : (val))
+# define cvtINT8toShort(val) cvtINT8toInt(val)
+# define cvtINT16toShort(val) cvtINT16toInt(val)
+# define cvtINT32toShort(val) cvtINT32toInt(val)
+# define cvtINT8toLong(val) cvtINT8toInt(val)
+# define cvtINT16toLong(val) cvtINT16toInt(val)
+# define cvtINT32toLong(val) cvtINT32toInt(val)
+# else
+# define cvtINT8toInt(val) (val)
+# define cvtINT16toInt(val) (val)
+# define cvtINT32toInt(val) (val)
+# define cvtINT8toShort(val) (val)
+# define cvtINT16toShort(val) (val)
+# define cvtINT32toShort(val) (val)
+# define cvtINT8toLong(val) (val)
+# define cvtINT16toLong(val) (val)
+# define cvtINT32toLong(val) (val)
+# endif /* WORD64 and UNSIGNEDBITFIELDS */
+
+
+
+# ifdef MUSTCOPY
+/*
+ * This macro must not cast or else pointers will get aligned and be wrong
+ */
+# define NEXTPTR(p,t) (((char *) p) + SIZEOF(t))
+# else /* else not MUSTCOPY, this is used for 32-bit machines */
+/*
+ * this version should leave result of type (t *), but that should only be
+ * used when not in MUSTCOPY
+ */
+# define NEXTPTR(p,t) (((t *)(p)) + 1)
+# endif /* MUSTCOPY - used machines whose C structs don't line up with proto */
+
+#endif /* XMD_H */
diff --git a/stream-servers/apigen-codec-common/X11/Xos.h b/stream-servers/apigen-codec-common/X11/Xos.h
new file mode 100644
index 0000000..044d22b
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/Xos.h
@@ -0,0 +1,148 @@
+/*
+ *
+Copyright 1987, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+ *
+ * The X Window System is a Trademark of The Open Group.
+ *
+ */
+
+/* This is a collection of things to try and minimize system dependencies
+ * in a "significant" number of source files.
+ */
+
+#ifndef _XOS_H_
+# define _XOS_H_
+
+# include <X11/Xosdefs.h>
+
+/*
+ * Get major data types (esp. caddr_t)
+ */
+
+# include <sys/types.h>
+
+# if defined(__SCO__) || defined(__UNIXWARE__)
+# include <stdint.h>
+# endif
+
+
+/*
+ * Just about everyone needs the strings routines. We provide both forms here,
+ * index/rindex and strchr/strrchr, so any systems that don't provide them all
+ * need to have #defines here.
+ *
+ * These macros are defined this way, rather than, e.g.:
+ * #defined index(s,c) strchr(s,c)
+ * because someone might be using them as function pointers, and such
+ * a change would break compatibility for anyone who's relying on them
+ * being the way they currently are. So we're stuck with them this way,
+ * which can be really inconvenient. :-(
+ */
+
+# include <string.h>
+# if defined(__SCO__) || defined(__UNIXWARE__) || defined(__sun) || defined(__CYGWIN__)
+# include <strings.h>
+# else
+# ifndef index
+# define index(s,c) (strchr((s),(c)))
+# endif
+# ifndef rindex
+# define rindex(s,c) (strrchr((s),(c)))
+# endif
+# endif
+
+/*
+ * Get open(2) constants
+ */
+# if defined(X_NOT_POSIX)
+# include <fcntl.h>
+# if defined(USL) || defined(__i386__) && (defined(SYSV) || defined(SVR4))
+# include <unistd.h>
+# endif
+# ifdef WIN32
+# include <X11/Xw32defs.h>
+# else
+# include <sys/file.h>
+# endif
+# else /* X_NOT_POSIX */
+# include <fcntl.h>
+# include <unistd.h>
+# endif /* X_NOT_POSIX else */
+
+/*
+ * Get struct timeval and struct tm
+ */
+
+# if defined(_POSIX_SOURCE) && defined(SVR4)
+/* need to omit _POSIX_SOURCE in order to get what we want in SVR4 */
+# undef _POSIX_SOURCE
+# include <sys/time.h>
+# define _POSIX_SOURCE
+# elif defined(WIN32)
+# include <time.h>
+# if !defined(_WINSOCKAPI_) && !defined(_WILLWINSOCK_) && !defined(_TIMEVAL_DEFINED) && !defined(_STRUCT_TIMEVAL)
+struct timeval {
+ long tv_sec; /* seconds */
+ long tv_usec; /* and microseconds */
+};
+# define _TIMEVAL_DEFINED
+# endif
+# include <sys/timeb.h>
+# define gettimeofday(t) \
+{ \
+ struct _timeb _gtodtmp; \
+ _ftime (&_gtodtmp); \
+ (t)->tv_sec = _gtodtmp.time; \
+ (t)->tv_usec = _gtodtmp.millitm * 1000; \
+}
+# else
+# include <sys/time.h>
+# include <time.h>
+# endif /* defined(_POSIX_SOURCE) && defined(SVR4) */
+
+/* define X_GETTIMEOFDAY macro, a portable gettimeofday() */
+# if defined(_XOPEN_XPG4) || defined(_XOPEN_UNIX) /* _XOPEN_UNIX is XPG4.2 */
+# define X_GETTIMEOFDAY(t) gettimeofday(t, (struct timezone*)0)
+# else
+# if defined(SVR4) || defined(__SVR4) || defined(WIN32)
+# define X_GETTIMEOFDAY(t) gettimeofday(t)
+# else
+# define X_GETTIMEOFDAY(t) gettimeofday(t, (struct timezone*)0)
+# endif
+# endif /* XPG4 else */
+
+
+# ifdef __GNU__
+# define PATH_MAX 4096
+# define MAXPATHLEN 4096
+# define OPEN_MAX 256 /* We define a reasonable limit. */
+# endif
+
+/* use POSIX name for signal */
+# if defined(X_NOT_POSIX) && defined(SYSV) && !defined(SIGCHLD)
+# define SIGCHLD SIGCLD
+# endif
+
+# include <X11/Xarch.h>
+
+#endif /* _XOS_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/Xos_r.h b/stream-servers/apigen-codec-common/X11/Xos_r.h
new file mode 100644
index 0000000..f963b64
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/Xos_r.h
@@ -0,0 +1,1095 @@
+/*
+Copyright 1996, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+*/
+
+/*
+ * Various and sundry Thread-Safe functions used by X11, Motif, and CDE.
+ *
+ * Use this file in MT-safe code where you would have included
+ * <dirent.h> for readdir()
+ * <grp.h> for getgrgid() or getgrnam()
+ * <netdb.h> for gethostbyname(), gethostbyaddr(), or getservbyname()
+ * <pwd.h> for getpwnam() or getpwuid()
+ * <string.h> for strtok()
+ * <time.h> for asctime(), ctime(), localtime(), or gmtime()
+ * <unistd.h> for getlogin() or ttyname()
+ * or their thread-safe analogs.
+ *
+ * If you are on a platform that defines XTHREADS but does not have
+ * MT-safe system API (e.g. UnixWare) you must define _Xos_processLock
+ * and _Xos_processUnlock macros before including this header.
+ *
+ * For convenience XOS_USE_XLIB_LOCKING or XOS_USE_XT_LOCKING may be defined
+ * to obtain either Xlib-only or Xt-based versions of these macros. These
+ * macros won't result in truly thread-safe calls, but they are better than
+ * nothing. If you do not want locking in this situation define
+ * XOS_USE_NO_LOCKING.
+ *
+ * NOTE: On systems lacking appropriate _r functions Gethostbyname(),
+ * Gethostbyaddr(), and Getservbyname() do NOT copy the host or
+ * protocol lists!
+ *
+ * NOTE: On systems lacking appropriate _r functions Getgrgid() and
+ * Getgrnam() do NOT copy the list of group members!
+ *
+ * This header is nominally intended to simplify porting X11, Motif, and
+ * CDE; it may be useful to other people too. The structure below is
+ * complicated, mostly because P1003.1c (the IEEE POSIX Threads spec)
+ * went through lots of drafts, and some vendors shipped systems based
+ * on draft API that were changed later. Unfortunately POSIX did not
+ * provide a feature-test macro for distinguishing each of the drafts.
+ */
+
+/*
+ * This header has several parts. Search for "Effective prototypes"
+ * to locate the beginning of a section.
+ */
+
+/* This header can be included multiple times with different defines! */
+#ifndef _XOS_R_H_
+# define _XOS_R_H_
+
+# include <X11/Xos.h>
+# include <X11/Xfuncs.h>
+
+# ifndef X_NOT_POSIX
+# ifdef _POSIX_SOURCE
+# include <limits.h>
+# else
+# define _POSIX_SOURCE
+# include <limits.h>
+# undef _POSIX_SOURCE
+# endif
+# ifndef LINE_MAX
+# define X_LINE_MAX 2048
+# else
+# define X_LINE_MAX LINE_MAX
+# endif
+# endif
+#endif /* _XOS_R_H */
+
+#ifndef WIN32
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+# if defined(XOS_USE_XLIB_LOCKING)
+# ifndef XAllocIDs /* Xlibint.h does not have multiple include protection */
+typedef struct _LockInfoRec *LockInfoPtr;
+extern LockInfoPtr _Xglobal_lock;
+# endif
+# ifndef _Xos_isThreadInitialized
+# define _Xos_isThreadInitialized (_Xglobal_lock)
+# endif
+# if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE)
+# ifndef XAllocIDs /* Xlibint.h does not have multiple include protection */
+# include <X11/Xfuncproto.h> /* for NeedFunctionPrototypes */
+extern void (*_XLockMutex_fn)(
+# if NeedFunctionPrototypes
+ LockInfoPtr /* lock */, char * /* file */, int /* line */
+# endif
+);
+extern void (*_XUnlockMutex_fn)(
+# if NeedFunctionPrototypes
+ LockInfoPtr /* lock */, char * /* file */, int /* line */
+# endif
+);
+# endif
+# ifndef _Xos_processLock
+# define _Xos_processLock \
+ (_XLockMutex_fn ? (*_XLockMutex_fn)(_Xglobal_lock,__FILE__,__LINE__) : 0)
+# endif
+# ifndef _Xos_processUnlock
+# define _Xos_processUnlock \
+ (_XUnlockMutex_fn ? (*_XUnlockMutex_fn)(_Xglobal_lock,__FILE__,__LINE__) : 0)
+# endif
+# else
+# ifndef XAllocIDs /* Xlibint.h does not have multiple include protection */
+# include <X11/Xfuncproto.h> /* for NeedFunctionPrototypes */
+extern void (*_XLockMutex_fn)(
+# if NeedFunctionPrototypes
+ LockInfoPtr /* lock */
+# endif
+);
+extern void (*_XUnlockMutex_fn)(
+# if NeedFunctionPrototypes
+ LockInfoPtr /* lock */
+# endif
+);
+# endif
+# ifndef _Xos_processLock
+# define _Xos_processLock \
+ (_XLockMutex_fn ? ((*_XLockMutex_fn)(_Xglobal_lock), 0) : 0)
+# endif
+# ifndef _Xos_processUnlock
+# define _Xos_processUnlock \
+ (_XUnlockMutex_fn ? ((*_XUnlockMutex_fn)(_Xglobal_lock), 0) : 0)
+# endif
+# endif
+# elif defined(XOS_USE_XT_LOCKING)
+# ifndef _XtThreadsI_h
+extern void (*_XtProcessLock)(void);
+# endif
+# ifndef _XtintrinsicP_h
+# include <X11/Xfuncproto.h> /* for NeedFunctionPrototypes */
+extern void XtProcessLock(
+# if NeedFunctionPrototypes
+ void
+# endif
+);
+extern void XtProcessUnlock(
+# if NeedFunctionPrototypes
+ void
+# endif
+);
+# endif
+# ifndef _Xos_isThreadInitialized
+# define _Xos_isThreadInitialized _XtProcessLock
+# endif
+# ifndef _Xos_processLock
+# define _Xos_processLock XtProcessLock()
+# endif
+# ifndef _Xos_processUnlock
+# define _Xos_processUnlock XtProcessUnlock()
+# endif
+# elif defined(XOS_USE_NO_LOCKING)
+# ifndef _Xos_isThreadInitialized
+# define _Xos_isThreadInitialized 0
+# endif
+# ifndef _Xos_processLock
+# define _Xos_processLock 0
+# endif
+# ifndef _Xos_processUnlock
+# define _Xos_processUnlock 0
+# endif
+# endif
+
+#endif /* !defined WIN32 */
+
+/*
+ * Solaris defines the POSIX thread-safe feature test macro, but
+ * uses the older SVR4 thread-safe functions unless the POSIX ones
+ * are specifically requested. Fix the feature test macro.
+ */
+#if defined(__sun) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && \
+ (_POSIX_C_SOURCE - 0 < 199506L) && !defined(_POSIX_PTHREAD_SEMANTICS)
+# undef _POSIX_THREAD_SAFE_FUNCTIONS
+#endif
+
+/***** <pwd.h> wrappers *****/
+
+/*
+ * Effective prototypes for <pwd.h> wrappers:
+ *
+ * #define X_INCLUDE_PWD_H
+ * #define XOS_USE_..._LOCKING
+ * #include <X11/Xos_r.h>
+ *
+ * typedef ... _Xgetpwparams;
+ *
+ * struct passwd* _XGetpwnam(const char *name, _Xgetpwparams);
+ * struct passwd* _XGetpwuid(uid_t uid, _Xgetpwparams);
+ */
+
+#if defined(X_INCLUDE_PWD_H) && !defined(_XOS_INCLUDED_PWD_H)
+# include <pwd.h>
+# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_PWDAPI)
+# define XOS_USE_MTSAFE_PWDAPI 1
+# endif
+#endif
+
+#undef X_NEEDS_PWPARAMS
+#if !defined(X_INCLUDE_PWD_H) || defined(_XOS_INCLUDED_PWD_H)
+/* Do nothing */
+
+#elif !defined(XTHREADS) && !defined(X_FORCE_USE_MTSAFE_API)
+/* Use regular, unsafe API. */
+# if defined(X_NOT_POSIX) && !defined(__i386__) && !defined(SYSV)
+extern struct passwd *getpwuid(), *getpwnam();
+# endif
+typedef int _Xgetpwparams; /* dummy */
+# define _XGetpwuid(u,p) getpwuid((u))
+# define _XGetpwnam(u,p) getpwnam((u))
+
+#elif !defined(XOS_USE_MTSAFE_PWDAPI) || defined(XNO_MTSAFE_PWDAPI)
+/* UnixWare 2.0, or other systems with thread support but no _r API. */
+# define X_NEEDS_PWPARAMS
+typedef struct {
+ struct passwd pws;
+ char pwbuf[1024];
+ struct passwd* pwp;
+ size_t len;
+} _Xgetpwparams;
+
+/*
+ * NetBSD and FreeBSD, at least, are missing several of the unixware passwd
+ * fields.
+ */
+
+#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+ defined(__APPLE__) || defined(__DragonFly__)
+static __inline__ void _Xpw_copyPasswd(_Xgetpwparams p)
+{
+ memcpy(&(p).pws, (p).pwp, sizeof(struct passwd));
+
+ (p).pws.pw_name = (p).pwbuf;
+ (p).len = strlen((p).pwp->pw_name);
+ strcpy((p).pws.pw_name, (p).pwp->pw_name);
+
+ (p).pws.pw_passwd = (p).pws.pw_name + (p).len + 1;
+ (p).len = strlen((p).pwp->pw_passwd);
+ strcpy((p).pws.pw_passwd,(p).pwp->pw_passwd);
+
+ (p).pws.pw_class = (p).pws.pw_passwd + (p).len + 1;
+ (p).len = strlen((p).pwp->pw_class);
+ strcpy((p).pws.pw_class, (p).pwp->pw_class);
+
+ (p).pws.pw_gecos = (p).pws.pw_class + (p).len + 1;
+ (p).len = strlen((p).pwp->pw_gecos);
+ strcpy((p).pws.pw_gecos, (p).pwp->pw_gecos);
+
+ (p).pws.pw_dir = (p).pws.pw_gecos + (p).len + 1;
+ (p).len = strlen((p).pwp->pw_dir);
+ strcpy((p).pws.pw_dir, (p).pwp->pw_dir);
+
+ (p).pws.pw_shell = (p).pws.pw_dir + (p).len + 1;
+ (p).len = strlen((p).pwp->pw_shell);
+ strcpy((p).pws.pw_shell, (p).pwp->pw_shell);
+
+ (p).pwp = &(p).pws;
+}
+
+#else
+# define _Xpw_copyPasswd(p) \
+ (memcpy(&(p).pws, (p).pwp, sizeof(struct passwd)), \
+ ((p).pws.pw_name = (p).pwbuf), \
+ ((p).len = strlen((p).pwp->pw_name)), \
+ strcpy((p).pws.pw_name, (p).pwp->pw_name), \
+ ((p).pws.pw_passwd = (p).pws.pw_name + (p).len + 1), \
+ ((p).len = strlen((p).pwp->pw_passwd)), \
+ strcpy((p).pws.pw_passwd,(p).pwp->pw_passwd), \
+ ((p).pws.pw_age = (p).pws.pw_passwd + (p).len + 1), \
+ ((p).len = strlen((p).pwp->pw_age)), \
+ strcpy((p).pws.pw_age, (p).pwp->pw_age), \
+ ((p).pws.pw_comment = (p).pws.pw_age + (p).len + 1), \
+ ((p).len = strlen((p).pwp->pw_comment)), \
+ strcpy((p).pws.pw_comment, (p).pwp->pw_comment), \
+ ((p).pws.pw_gecos = (p).pws.pw_comment + (p).len + 1), \
+ ((p).len = strlen((p).pwp->pw_gecos)), \
+ strcpy((p).pws.pw_gecos, (p).pwp->pw_gecos), \
+ ((p).pws.pw_dir = (p).pws.pw_comment + (p).len + 1), \
+ ((p).len = strlen((p).pwp->pw_dir)), \
+ strcpy((p).pws.pw_dir, (p).pwp->pw_dir), \
+ ((p).pws.pw_shell = (p).pws.pw_dir + (p).len + 1), \
+ ((p).len = strlen((p).pwp->pw_shell)), \
+ strcpy((p).pws.pw_shell, (p).pwp->pw_shell), \
+ ((p).pwp = &(p).pws), \
+ 0 )
+#endif
+# define _XGetpwuid(u,p) \
+( (_Xos_processLock), \
+ (((p).pwp = getpwuid((u))) ? _Xpw_copyPasswd(p), 0 : 0), \
+ (_Xos_processUnlock), \
+ (p).pwp )
+# define _XGetpwnam(u,p) \
+( (_Xos_processLock), \
+ (((p).pwp = getpwnam((u))) ? _Xpw_copyPasswd(p), 0 : 0), \
+ (_Xos_processUnlock), \
+ (p).pwp )
+
+#elif !defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(__APPLE__)
+# define X_NEEDS_PWPARAMS
+typedef struct {
+ struct passwd pws;
+ char pwbuf[X_LINE_MAX];
+} _Xgetpwparams;
+# if defined(_POSIX_REENTRANT_FUNCTIONS) || !defined(SVR4)
+# define _XGetpwuid(u,p) \
+((getpwuid_r((u),&(p).pws,(p).pwbuf,sizeof((p).pwbuf)) == -1) ? NULL : &(p).pws)
+# define _XGetpwnam(u,p) \
+((getpwnam_r((u),&(p).pws,(p).pwbuf,sizeof((p).pwbuf)) == -1) ? NULL : &(p).pws)
+# else /* SVR4 */
+# define _XGetpwuid(u,p) \
+((getpwuid_r((u),&(p).pws,(p).pwbuf,sizeof((p).pwbuf)) == NULL) ? NULL : &(p).pws)
+# define _XGetpwnam(u,p) \
+((getpwnam_r((u),&(p).pws,(p).pwbuf,sizeof((p).pwbuf)) == NULL) ? NULL : &(p).pws)
+# endif /* SVR4 */
+
+#else /* _POSIX_THREAD_SAFE_FUNCTIONS */
+# define X_NEEDS_PWPARAMS
+typedef struct {
+ struct passwd pws;
+ char pwbuf[X_LINE_MAX];
+ struct passwd* pwp;
+} _Xgetpwparams;
+typedef int _Xgetpwret;
+# define _XGetpwuid(u,p) \
+((getpwuid_r((u),&(p).pws,(p).pwbuf,sizeof((p).pwbuf),&(p).pwp) == 0) ? \
+ (p).pwp : NULL)
+# define _XGetpwnam(u,p) \
+((getpwnam_r((u),&(p).pws,(p).pwbuf,sizeof((p).pwbuf),&(p).pwp) == 0) ? \
+ (p).pwp : NULL)
+#endif /* X_INCLUDE_PWD_H */
+
+#if defined(X_INCLUDE_PWD_H) && !defined(_XOS_INCLUDED_PWD_H)
+# define _XOS_INCLUDED_PWD_H
+#endif
+
+
+/***** <netdb.h> wrappers *****/
+
+/*
+ * Effective prototypes for <netdb.h> wrappers:
+ *
+ * NOTE: On systems lacking the appropriate _r functions Gethostbyname(),
+ * Gethostbyaddr(), and Getservbyname() do NOT copy the host or
+ * protocol lists!
+ *
+ * #define X_INCLUDE_NETDB_H
+ * #define XOS_USE_..._LOCKING
+ * #include <X11/Xos_r.h>
+ *
+ * typedef ... _Xgethostbynameparams;
+ * typedef ... _Xgetservbynameparams;
+ *
+ * struct hostent* _XGethostbyname(const char* name,_Xgethostbynameparams);
+ * struct hostent* _XGethostbyaddr(const char* addr, int len, int type,
+ * _Xgethostbynameparams);
+ * struct servent* _XGetservbyname(const char* name, const char* proto,
+ * _Xgetservbynameparams);
+ */
+
+#undef XTHREADS_NEEDS_BYNAMEPARAMS
+#if defined(X_INCLUDE_NETDB_H) && !defined(_XOS_INCLUDED_NETDB_H) \
+ && !defined(WIN32)
+# include <netdb.h>
+# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_NETDBAPI)
+# define XOS_USE_MTSAFE_NETDBAPI 1
+# endif
+#endif
+
+#if !defined(X_INCLUDE_NETDB_H) || defined(_XOS_INCLUDED_NETDB_H)
+/* Do nothing. */
+
+#elif !defined(XTHREADS) && !defined(X_FORCE_USE_MTSAFE_API)
+/* Use regular, unsafe API. */
+typedef int _Xgethostbynameparams; /* dummy */
+typedef int _Xgetservbynameparams; /* dummy */
+# define _XGethostbyname(h,hp) gethostbyname((h))
+# define _XGethostbyaddr(a,al,t,hp) gethostbyaddr((a),(al),(t))
+# define _XGetservbyname(s,p,sp) getservbyname((s),(p))
+
+#elif !defined(XOS_USE_MTSAFE_NETDBAPI) || defined(XNO_MTSAFE_NETDBAPI)
+/* WARNING: The h_addr_list and s_aliases values are *not* copied! */
+
+#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__)
+#include <sys/param.h>
+#endif
+
+typedef struct {
+ struct hostent hent;
+ char h_name[MAXHOSTNAMELEN];
+ struct hostent *hptr;
+} _Xgethostbynameparams;
+typedef struct {
+ struct servent sent;
+ char s_name[255];
+ char s_proto[255];
+ struct servent *sptr;
+} _Xgetservbynameparams;
+
+# define XTHREADS_NEEDS_BYNAMEPARAMS
+
+# define _Xg_copyHostent(hp) \
+ (memcpy(&(hp).hent, (hp).hptr, sizeof(struct hostent)), \
+ strcpy((hp).h_name, (hp).hptr->h_name), \
+ ((hp).hent.h_name = (hp).h_name), \
+ ((hp).hptr = &(hp).hent), \
+ 0 )
+# define _Xg_copyServent(sp) \
+ (memcpy(&(sp).sent, (sp).sptr, sizeof(struct servent)), \
+ strcpy((sp).s_name, (sp).sptr->s_name), \
+ ((sp).sent.s_name = (sp).s_name), \
+ strcpy((sp).s_proto, (sp).sptr->s_proto), \
+ ((sp).sent.s_proto = (sp).s_proto), \
+ ((sp).sptr = &(sp).sent), \
+ 0 )
+# define _XGethostbyname(h,hp) \
+ ((_Xos_processLock), \
+ (((hp).hptr = gethostbyname((h))) ? _Xg_copyHostent(hp) : 0), \
+ (_Xos_processUnlock), \
+ (hp).hptr )
+# define _XGethostbyaddr(a,al,t,hp) \
+ ((_Xos_processLock), \
+ (((hp).hptr = gethostbyaddr((a),(al),(t))) ? _Xg_copyHostent(hp) : 0), \
+ (_Xos_processUnlock), \
+ (hp).hptr )
+# define _XGetservbyname(s,p,sp) \
+ ((_Xos_processLock), \
+ (((sp).sptr = getservbyname((s),(p))) ? _Xg_copyServent(sp) : 0), \
+ (_Xos_processUnlock), \
+ (sp).sptr )
+
+#elif defined(XUSE_NETDB_R_API)
+/*
+ * POSIX does not specify _r equivalents for <netdb.h> API, but some
+ * vendors provide them anyway. Use them only when explicitly asked.
+ */
+# ifdef _POSIX_REENTRANT_FUNCTIONS
+# ifndef _POSIX_THREAD_SAFE_FUNCTIONS
+# endif
+# endif
+# ifdef _POSIX_THREAD_SAFE_FUNCTIONS
+# define X_POSIX_THREAD_SAFE_FUNCTIONS 1
+# endif
+
+# define XTHREADS_NEEDS_BYNAMEPARAMS
+
+# ifndef X_POSIX_THREAD_SAFE_FUNCTIONS
+typedef struct {
+ struct hostent hent;
+ char hbuf[X_LINE_MAX];
+ int herr;
+} _Xgethostbynameparams;
+typedef struct {
+ struct servent sent;
+ char sbuf[X_LINE_MAX];
+} _Xgetservbynameparams;
+# define _XGethostbyname(h,hp) \
+ gethostbyname_r((h),&(hp).hent,(hp).hbuf,sizeof((hp).hbuf),&(hp).herr)
+# define _XGethostbyaddr(a,al,t,hp) \
+ gethostbyaddr_r((a),(al),(t),&(hp).hent,(hp).hbuf,sizeof((hp).hbuf),&(hp).herr)
+# define _XGetservbyname(s,p,sp) \
+ getservbyname_r((s),(p),&(sp).sent,(sp).sbuf,sizeof((sp).sbuf))
+# else
+typedef struct {
+ struct hostent hent;
+ struct hostent_data hdata;
+} _Xgethostbynameparams;
+typedef struct {
+ struct servent sent;
+ struct servent_data sdata;
+} _Xgetservbynameparams;
+# define _XGethostbyname(h,hp) \
+ (bzero((char*)&(hp).hdata,sizeof((hp).hdata)), \
+ ((gethostbyname_r((h),&(hp).hent,&(hp).hdata) == -1) ? NULL : &(hp).hent))
+# define _XGethostbyaddr(a,al,t,hp) \
+ (bzero((char*)&(hp).hdata,sizeof((hp).hdata)), \
+ ((gethostbyaddr_r((a),(al),(t),&(hp).hent,&(hp).hdata) == -1) ? NULL : &(hp).hent))
+# define _XGetservbyname(s,p,sp) \
+ (bzero((char*)&(sp).sdata,sizeof((sp).sdata)), \
+ ((getservbyname_r((s),(p),&(sp).sent,&(sp).sdata) == -1) ? NULL : &(sp).sent) )
+# endif
+# ifdef X_POSIX_THREAD_SAFE_FUNCTIONS
+# undef X_POSIX_THREAD_SAFE_FUNCTIONS
+# endif
+
+#else
+/* The regular API is assumed to be MT-safe under POSIX. */
+typedef int _Xgethostbynameparams; /* dummy */
+typedef int _Xgetservbynameparams; /* dummy */
+# define _XGethostbyname(h,hp) gethostbyname((h))
+# define _XGethostbyaddr(a,al,t,hp) gethostbyaddr((a),(al),(t))
+# define _XGetservbyname(s,p,sp) getservbyname((s),(p))
+#endif /* X_INCLUDE_NETDB_H */
+
+#if defined(X_INCLUDE_NETDB_H) && !defined(_XOS_INCLUDED_NETDB_H)
+# define _XOS_INCLUDED_NETDB_H
+#endif
+
+
+/***** <dirent.h> wrappers *****/
+
+/*
+ * Effective prototypes for <dirent.h> wrappers:
+ *
+ * #define X_INCLUDE_DIRENT_H
+ * #define XOS_USE_..._LOCKING
+ * #include <X11/Xos_r.h>
+ *
+ * typedef ... _Xreaddirparams;
+ *
+ * struct dirent *_XReaddir(DIR *dir_pointer, _Xreaddirparams);
+ */
+
+#if defined(X_INCLUDE_DIRENT_H) && !defined(_XOS_INCLUDED_DIRENT_H)
+# include <sys/types.h>
+# if !defined(X_NOT_POSIX) || defined(SYSV)
+# include <dirent.h>
+# else
+# include <sys/dir.h>
+# ifndef dirent
+# define dirent direct
+# endif
+# endif
+# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_DIRENTAPI)
+# define XOS_USE_MTSAFE_DIRENTAPI 1
+# endif
+#endif
+
+#if !defined(X_INCLUDE_DIRENT_H) || defined(_XOS_INCLUDED_DIRENT_H)
+/* Do nothing. */
+
+#elif !defined(XTHREADS) && !defined(X_FORCE_USE_MTSAFE_API)
+/* Use regular, unsafe API. */
+typedef int _Xreaddirparams; /* dummy */
+# define _XReaddir(d,p) readdir(d)
+
+#elif !defined(XOS_USE_MTSAFE_DIRENTAPI) || defined(XNO_MTSAFE_DIRENTAPI)
+/* Systems with thread support but no _r API. */
+typedef struct {
+ struct dirent *result;
+ struct dirent dir_entry;
+# ifdef _POSIX_PATH_MAX
+ char buf[_POSIX_PATH_MAX];
+# elif defined(NAME_MAX)
+ char buf[NAME_MAX];
+# else
+ char buf[255];
+# endif
+} _Xreaddirparams;
+
+# define _XReaddir(d,p) \
+ ( (_Xos_processLock), \
+ (((p).result = readdir((d))) ? \
+ (memcpy(&((p).dir_entry), (p).result, (p).result->d_reclen), \
+ ((p).result = &(p).dir_entry), 0) : \
+ 0), \
+ (_Xos_processUnlock), \
+ (p).result )
+
+#else
+typedef struct {
+ struct dirent *result;
+ struct dirent dir_entry;
+# ifdef _POSIX_PATH_MAX
+ char buf[_POSIX_PATH_MAX];
+# elif defined(NAME_MAX)
+ char buf[NAME_MAX];
+# else
+ char buf[255];
+# endif
+} _Xreaddirparams;
+
+# if defined(_POSIX_THREAD_SAFE_FUNCTIONS) || defined(__APPLE__)
+/* POSIX final API, returns (int)0 on success. */
+# define _XReaddir(d,p) \
+ (readdir_r((d), &((p).dir_entry), &((p).result)) ? NULL : (p).result)
+# elif defined(_POSIX_REENTRANT_FUNCTIONS)
+/* POSIX draft API, returns (int)0 on success. */
+# define _XReaddir(d,p) \
+ (readdir_r((d),&((p).dir_entry)) ? NULL : &((p).dir_entry))
+# elif defined(SVR4)
+/* Pre-POSIX API, returns non-NULL on success. */
+# define _XReaddir(d,p) (readdir_r((d), &(p).dir_entry))
+# else
+/* We have no idea what is going on. Fake it all using process locks. */
+# define _XReaddir(d,p) \
+ ( (_Xos_processLock), \
+ (((p).result = readdir((d))) ? \
+ (memcpy(&((p).dir_entry), (p).result, (p).result->d_reclen), \
+ ((p).result = &(p).dir_entry), 0) : \
+ 0), \
+ (_Xos_processUnlock), \
+ (p).result )
+# endif
+#endif /* X_INCLUDE_DIRENT_H */
+
+#if defined(X_INCLUDE_DIRENT_H) && !defined(_XOS_INCLUDED_DIRENT_H)
+# define _XOS_INCLUDED_DIRENT_H
+#endif
+
+
+/***** <unistd.h> wrappers *****/
+
+/*
+ * Effective prototypes for <unistd.h> wrappers:
+ *
+ * #define X_INCLUDE_UNISTD_H
+ * #define XOS_USE_..._LOCKING
+ * #include <X11/Xos_r.h>
+ *
+ * typedef ... _Xgetloginparams;
+ * typedef ... _Xttynameparams;
+ *
+ * char *_XGetlogin(_Xgetloginparams);
+ * char *_XTtyname(int, _Xttynameparams);
+ */
+
+#if defined(X_INCLUDE_UNISTD_H) && !defined(_XOS_INCLUDED_UNISTD_H)
+/* <unistd.h> already included by <X11/Xos.h> */
+# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_UNISTDAPI)
+# define XOS_USE_MTSAFE_UNISTDAPI 1
+# endif
+#endif
+
+#if !defined(X_INCLUDE_UNISTD_H) || defined(_XOS_INCLUDED_UNISTD_H)
+/* Do nothing. */
+
+#elif !defined(XTHREADS) && !defined(X_FORCE_USE_MTSAFE_API)
+/* Use regular, unsafe API. */
+typedef int _Xgetloginparams; /* dummy */
+typedef int _Xttynameparams; /* dummy */
+# define _XGetlogin(p) getlogin()
+# define _XTtyname(f) ttyname((f))
+
+#elif !defined(XOS_USE_MTSAFE_UNISTDAPI) || defined(XNO_MTSAFE_UNISTDAPI)
+/* Systems with thread support but no _r API. */
+typedef struct {
+ char *result;
+# if defined(MAXLOGNAME)
+ char buf[MAXLOGNAME];
+# elif defined(LOGIN_NAME_MAX)
+ char buf[LOGIN_NAME_MAX];
+# else
+ char buf[64];
+# endif
+} _Xgetloginparams;
+typedef struct {
+ char *result;
+# ifdef TTY_NAME_MAX
+ char buf[TTY_NAME_MAX];
+# elif defined(_POSIX_TTY_NAME_MAX)
+ char buf[_POSIX_TTY_NAME_MAX];
+# elif defined(_POSIX_PATH_MAX)
+ char buf[_POSIX_PATH_MAX];
+# else
+ char buf[256];
+# endif
+} _Xttynameparams;
+
+# define _XGetlogin(p) \
+ ( (_Xos_processLock), \
+ (((p).result = getlogin()) ? \
+ (strncpy((p).buf, (p).result, sizeof((p).buf)), \
+ ((p).buf[sizeof((p).buf)-1] = '\0'), \
+ ((p).result = (p).buf), 0) : 0), \
+ (_Xos_processUnlock), \
+ (p).result )
+#define _XTtyname(f,p) \
+ ( (_Xos_processLock), \
+ (((p).result = ttyname(f)) ? \
+ (strncpy((p).buf, (p).result, sizeof((p).buf)), \
+ ((p).buf[sizeof((p).buf)-1] = '\0'), \
+ ((p).result = (p).buf), 0) : 0), \
+ (_Xos_processUnlock), \
+ (p).result )
+
+#elif defined(_POSIX_THREAD_SAFE_FUNCTIONS) || defined(_POSIX_REENTRANT_FUNCTIONS)
+/* POSIX API.
+ *
+ * extern int getlogin_r(char *, size_t);
+ * extern int ttyname_r(int, char *, size_t);
+ */
+typedef struct {
+# if defined(MAXLOGNAME)
+ char buf[MAXLOGNAME];
+# elif defined(LOGIN_NAME_MAX)
+ char buf[LOGIN_NAME_MAX];
+# else
+ char buf[64];
+# endif
+} _Xgetloginparams;
+typedef struct {
+# ifdef TTY_NAME_MAX
+ char buf[TTY_NAME_MAX];
+# elif defined(_POSIX_TTY_NAME_MAX)
+ char buf[_POSIX_TTY_NAME_MAX];
+# elif defined(_POSIX_PATH_MAX)
+ char buf[_POSIX_PATH_MAX];
+# else
+ char buf[256];
+# endif
+} _Xttynameparams;
+
+# define _XGetlogin(p) (getlogin_r((p).buf, sizeof((p).buf)) ? NULL : (p).buf)
+# define _XTtyname(f,p) \
+ (ttyname_r((f), (p).buf, sizeof((p).buf)) ? NULL : (p).buf)
+
+#else
+/* Pre-POSIX API.
+ *
+ * extern char *getlogin_r(char *, size_t);
+ * extern char *ttyname_r(int, char *, size_t);
+ */
+typedef struct {
+# if defined(MAXLOGNAME)
+ char buf[MAXLOGNAME];
+# elif defined(LOGIN_NAME_MAX)
+ char buf[LOGIN_NAME_MAX];
+# else
+ char buf[64];
+# endif
+} _Xgetloginparams;
+typedef struct {
+# ifdef TTY_NAME_MAX
+ char buf[TTY_NAME_MAX];
+# elif defined(_POSIX_TTY_NAME_MAX)
+ char buf[_POSIX_TTY_NAME_MAX];
+# elif defined(_POSIX_PATH_MAX)
+ char buf[_POSIX_PATH_MAX];
+# else
+ char buf[256];
+# endif
+} _Xttynameparams;
+
+# define _XGetlogin(p) getlogin_r((p).buf, sizeof((p).buf))
+# define _XTtyname(f,p) ttyname_r((f), (p).buf, sizeof((p).buf))
+#endif /* X_INCLUDE_UNISTD_H */
+
+#if defined(X_INCLUDE_UNISTD_H) && !defined(_XOS_INCLUDED_UNISTD_H)
+# define _XOS_INCLUDED_UNISTD_H
+#endif
+
+
+/***** <string.h> wrappers *****/
+
+/*
+ * Effective prototypes for <string.h> wrappers:
+ *
+ * #define X_INCLUDE_STRING_H
+ * #define XOS_USE_..._LOCKING
+ * #include <X11/Xos_r.h>
+ *
+ * typedef ... _Xstrtokparams;
+ *
+ * char *_XStrtok(char *, const char*, _Xstrtokparams);
+ */
+
+#if defined(X_INCLUDE_STRING_H) && !defined(_XOS_INCLUDED_STRING_H)
+/* <string.h> has already been included by <X11/Xos.h> */
+# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_STRINGAPI)
+# define XOS_USE_MTSAFE_STRINGAPI 1
+# endif
+#endif
+
+#if !defined(X_INCLUDE_STRING_H) || defined(_XOS_INCLUDED_STRING_H)
+/* Do nothing. */
+
+#elif !defined(XTHREADS) && !defined(X_FORCE_USE_MTSAFE_API)
+/* Use regular, unsafe API. */
+typedef int _Xstrtokparams; /* dummy */
+# define _XStrtok(s1,s2,p) \
+ ( p = 0, (void)p, strtok((s1),(s2)) )
+
+#elif !defined(XOS_USE_MTSAFE_STRINGAPI) || defined(XNO_MTSAFE_STRINGAPI)
+/* Systems with thread support but no _r API. */
+typedef char *_Xstrtokparams;
+# define _XStrtok(s1,s2,p) \
+ ( (_Xos_processLock), \
+ ((p) = strtok((s1),(s2))), \
+ (_Xos_processUnlock), \
+ (p) )
+
+#else
+/* POSIX or pre-POSIX API. */
+typedef char * _Xstrtokparams;
+# define _XStrtok(s1,s2,p) strtok_r((s1),(s2),&(p))
+#endif /* X_INCLUDE_STRING_H */
+
+
+/***** <time.h> wrappers *****/
+
+/*
+ * Effective prototypes for <time.h> wrappers:
+ *
+ * #define X_INCLUDE_TIME_H
+ * #define XOS_USE_..._LOCKING
+ * #include <X11/Xos_r.h>
+ *
+ * typedef ... _Xatimeparams;
+ * typedef ... _Xctimeparams;
+ * typedef ... _Xgtimeparams;
+ * typedef ... _Xltimeparams;
+ *
+ * char *_XAsctime(const struct tm *, _Xatimeparams);
+ * char *_XCtime(const time_t *, _Xctimeparams);
+ * struct tm *_XGmtime(const time_t *, _Xgtimeparams);
+ * struct tm *_XLocaltime(const time_t *, _Xltimeparams);
+ */
+
+#if defined(X_INCLUDE_TIME_H) && !defined(_XOS_INCLUDED_TIME_H)
+# include <time.h>
+# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_TIMEAPI)
+# define XOS_USE_MTSAFE_TIMEAPI 1
+# endif
+#endif
+
+#if !defined(X_INCLUDE_TIME_H) || defined(_XOS_INCLUDED_TIME_H)
+/* Do nothing. */
+
+#elif !defined(XTHREADS) && !defined(X_FORCE_USE_MTSAFE_API)
+/* Use regular, unsafe API. */
+typedef int _Xatimeparams; /* dummy */
+# define _XAsctime(t,p) asctime((t))
+typedef int _Xctimeparams; /* dummy */
+# define _XCtime(t,p) ctime((t))
+typedef int _Xgtimeparams; /* dummy */
+# define _XGmtime(t,p) gmtime((t))
+typedef int _Xltimeparams; /* dummy */
+# define _XLocaltime(t,p) localtime((t))
+
+#elif !defined(XOS_USE_MTSAFE_TIMEAPI) || defined(XNO_MTSAFE_TIMEAPI)
+/* Systems with thread support but no _r API. */
+typedef struct {
+# ifdef TIMELEN
+ char buf[TIMELEN];
+# else
+ char buf[26];
+# endif
+ char *result;
+} _Xctimeparams, _Xatimeparams;
+typedef struct {
+ struct tm buf;
+ struct tm *result;
+} _Xgtimeparams, _Xltimeparams;
+# define _XAsctime(t,p) \
+ ( (_Xos_processLock), \
+ (((p).result = asctime((t))) ? \
+ (strncpy((p).buf, (p).result, sizeof((p).buf)), (p).result = &(p).buf) : \
+ 0), \
+ (_Xos_processUnlock), \
+ (p).result )
+# define _XCtime(t,p) \
+ ( (_Xos_processLock), \
+ (((p).result = ctime((t))) ? \
+ (strncpy((p).buf, (p).result, sizeof((p).buf)), (p).result = &(p).buf) : \
+ 0), \
+ (_Xos_processUnlock), \
+ (p).result )
+# define _XGmtime(t,p) \
+ ( (_Xos_processLock), \
+ (((p).result = gmtime(t)) ? \
+ (memcpy(&(p).buf, (p).result, sizeof((p).buf)), (p).result = &(p).buf) : \
+ 0), \
+ (_Xos_processUnlock), \
+ (p).result )
+# define _XLocaltime(t,p) \
+ ( (_Xos_processLock), \
+ (((p).result = localtime(t)) ? \
+ (memcpy(&(p).buf, (p).result, sizeof((p).buf)), (p).result = &(p).buf) : \
+ 0), \
+ (_Xos_processUnlock), \
+ (p).result )
+
+#elif !defined(_POSIX_THREAD_SAFE_FUNCTIONS) && defined(hpV4)
+/* Returns (int)0 on success.
+ *
+ * extern int asctime_r(const struct tm *timeptr, char *buffer, int buflen);
+ * extern int ctime_r(const time_t *timer, char *buffer, int buflen);
+ * extern int gmtime_r(const time_t *timer, struct tm *result);
+ * extern int localtime_r(const time_t *timer, struct tm *result);
+ */
+# ifdef TIMELEN
+typedef char _Xatimeparams[TIMELEN];
+typedef char _Xctimeparams[TIMELEN];
+# else
+typedef char _Xatimeparams[26];
+typedef char _Xctimeparams[26];
+# endif
+typedef struct tm _Xgtimeparams;
+typedef struct tm _Xltimeparams;
+# define _XAsctime(t,p) (asctime_r((t),(p),sizeof((p))) ? NULL : (p))
+# define _XCtime(t,p) (ctime_r((t),(p),sizeof((p))) ? NULL : (p))
+# define _XGmtime(t,p) (gmtime_r((t),&(p)) ? NULL : &(p))
+# define _XLocaltime(t,p) (localtime_r((t),&(p)) ? NULL : &(p))
+
+#elif !defined(_POSIX_THREAD_SAFE_FUNCTIONS) && defined(__sun)
+/* Returns NULL on failure. Solaris 2.5
+ *
+ * extern char *asctime_r(const struct tm *tm,char *buf, int buflen);
+ * extern char *ctime_r(const time_t *clock, char *buf, int buflen);
+ * extern struct tm *gmtime_r(const time_t *clock, struct tm *res);
+ * extern struct tm *localtime_r(const time_t *clock, struct tm *res);
+ */
+# ifdef TIMELEN
+typedef char _Xatimeparams[TIMELEN];
+typedef char _Xctimeparams[TIMELEN];
+# else
+typedef char _Xatimeparams[26];
+typedef char _Xctimeparams[26];
+# endif
+typedef struct tm _Xgtimeparams;
+typedef struct tm _Xltimeparams;
+# define _XAsctime(t,p) asctime_r((t),(p),sizeof((p)))
+# define _XCtime(t,p) ctime_r((t),(p),sizeof((p)))
+# define _XGmtime(t,p) gmtime_r((t),&(p))
+# define _XLocaltime(t,p) localtime_r((t),&(p))
+
+#else /* defined(_POSIX_THREAD_SAFE_FUNCTIONS) */
+/* POSIX final API.
+ * extern char *asctime_r(const struct tm *timeptr, char *buffer);
+ * extern char *ctime_r(const time_t *timer, char *buffer);
+ * extern struct tm *gmtime_r(const time_t *timer, struct tm *result);
+ * extern struct tm *localtime_r(const time_t *timer, struct tm *result);
+ */
+# ifdef TIMELEN
+typedef char _Xatimeparams[TIMELEN];
+typedef char _Xctimeparams[TIMELEN];
+# else
+typedef char _Xatimeparams[26];
+typedef char _Xctimeparams[26];
+# endif
+typedef struct tm _Xgtimeparams;
+typedef struct tm _Xltimeparams;
+# define _XAsctime(t,p) asctime_r((t),(p))
+# define _XCtime(t,p) ctime_r((t),(p))
+# define _XGmtime(t,p) gmtime_r((t),&(p))
+# define _XLocaltime(t,p) localtime_r((t),&(p))
+#endif /* X_INCLUDE_TIME_H */
+
+#if defined(X_INCLUDE_TIME_H) && !defined(_XOS_INCLUDED_TIME_H)
+# define _XOS_INCLUDED_TIME_H
+#endif
+
+
+/***** <grp.h> wrappers *****/
+
+/*
+ * Effective prototypes for <grp.h> wrappers:
+ *
+ * NOTE: On systems lacking appropriate _r functions Getgrgid() and
+ * Getgrnam() do NOT copy the list of group members!
+ *
+ * Remember that fgetgrent(), setgrent(), getgrent(), and endgrent()
+ * are not included in POSIX.
+ *
+ * #define X_INCLUDE_GRP_H
+ * #define XOS_USE_..._LOCKING
+ * #include <X11/Xos_r.h>
+ *
+ * typedef ... _Xgetgrparams;
+ *
+ * struct group *_XGetgrgid(gid_t, _Xgetgrparams);
+ * struct group *_XGetgrnam(const char *, _Xgetgrparams);
+ */
+
+#if defined(X_INCLUDE_GRP_H) && !defined(_XOS_INCLUDED_GRP_H)
+# include <grp.h>
+# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_GRPAPI)
+# define XOS_USE_MTSAFE_GRPAPI 1
+# endif
+#endif
+
+#if !defined(X_INCLUDE_GRP_H) || defined(_XOS_INCLUDED_GRP_H)
+/* Do nothing. */
+
+#elif !defined(XTHREADS) && !defined(X_FORCE_USE_MTSAFE_API)
+/* Use regular, unsafe API. */
+typedef int _Xgetgrparams; /* dummy */
+#define _XGetgrgid(g,p) getgrgid((g))
+#define _XGetgrnam(n,p) getgrnam((n))
+
+#elif !defined(XOS_USE_MTSAFE_GRPAPI) || defined(XNO_MTSAFE_GRPAPI)
+/* Systems with thread support but no _r API. UnixWare 2.0. */
+typedef struct {
+ struct group grp;
+ char buf[X_LINE_MAX]; /* Should be sysconf(_SC_GETGR_R_SIZE_MAX)? */
+ struct group *pgrp;
+ size_t len;
+} _Xgetgrparams;
+#ifdef SVR4
+/* Copy the gr_passwd field too. */
+# define _Xgrp_copyGroup(p) \
+ ( memcpy(&(p).grp, (p).pgrp, sizeof(struct group)), \
+ ((p).grp.gr_name = (p).buf), \
+ ((p).len = strlen((p).pgrp->gr_name)), \
+ strcpy((p).grp.gr_name, (p).pgrp->gr_name), \
+ ((p).grp.gr_passwd = (p).grp.gr_name + (p).len + 1), \
+ ((p).pgrp = &(p).grp), \
+ 0 )
+#else
+# define _Xgrp_copyGroup(p) \
+ ( memcpy(&(p).grp, (p).pgrp, sizeof(struct group)), \
+ ((p).grp.gr_name = (p).buf), \
+ strcpy((p).grp.gr_name, (p).pgrp->gr_name), \
+ ((p).pgrp = &(p).grp), \
+ 0 )
+#endif
+#define _XGetgrgid(g,p) \
+ ( (_Xos_processLock), \
+ (((p).pgrp = getgrgid((g))) ? _Xgrp_copyGroup(p) : 0), \
+ (_Xos_processUnlock), \
+ (p).pgrp )
+#define _XGetgrnam(n,p) \
+ ( (_Xos_processLock), \
+ (((p).pgrp = getgrnam((n))) ? _Xgrp_copyGroup(p) : 0), \
+ (_Xos_processUnlock), \
+ (p).pgrp )
+
+#elif !defined(_POSIX_THREAD_SAFE_FUNCTIONS) && defined(__sun)
+/* Non-POSIX API. Solaris.
+ *
+ * extern struct group *getgrgid_r(gid_t, struct group *, char *, int);
+ * extern struct group *getgrnam_r(const char *, struct group *, char *, int);
+ */
+typedef struct {
+ struct group grp;
+ char buf[X_LINE_MAX]; /* Should be sysconf(_SC_GETGR_R_SIZE_MAX)? */
+} _Xgetgrparams;
+#define _XGetgrgid(g,p) getgrgid_r((g), &(p).grp, (p).buf, sizeof((p).buf))
+#define _XGetgrnam(n,p) getgrnam_r((n), &(p).grp, (p).buf, sizeof((p).buf))
+
+#elif !defined(_POSIX_THREAD_SAFE_FUNCTIONS)
+/* Non-POSIX API.
+ * extern int getgrgid_r(gid_t, struct group *, char *, int);
+ * extern int getgrnam_r(const char *, struct group *, char *, int);
+ */
+typedef struct {
+ struct group grp;
+ char buf[X_LINE_MAX]; /* Should be sysconf(_SC_GETGR_R_SIZE_MAX)? */
+} _Xgetgrparams;
+#define _XGetgrgid(g,p) \
+ ((getgrgid_r((g), &(p).grp, (p).buf, sizeof((p).buf)) ? NULL : &(p).grp))
+#define _XGetgrnam(n,p) \
+ ((getgrnam_r((n), &(p).grp, (p).buf, sizeof((p).buf)) ? NULL : &(p).grp))
+
+#else
+/* POSIX final API.
+ *
+ * int getgrgid_r(gid_t, struct group *, char *, size_t, struct group **);
+ * int getgrnam_r(const char *, struct group *, char *, size_t, struct group **);
+ */
+typedef struct {
+ struct group grp;
+ char buf[X_LINE_MAX]; /* Should be sysconf(_SC_GETGR_R_SIZE_MAX)? */
+ struct group *result;
+} _Xgetgrparams;
+
+#define _XGetgrgid(g,p) \
+ ((getgrgid_r((g), &(p).grp, (p).buf, sizeof((p).buf), &(p).result) ? \
+ NULL : (p).result))
+#define _XGetgrnam(n,p) \
+ ((getgrnam_r((n), &(p).grp, (p).buf, sizeof((p).buf), &(p).result) ? \
+ NULL : (p).result))
+#endif
+
+#if defined(X_INCLUDE_GRP_H) && !defined(_XOS_INCLUDED_GRP_H)
+# define _XOS_INCLUDED_GRP_H
+#endif
+
+
+#ifdef __cplusplus
+} /* Close scope of 'extern "C"' declaration which encloses file. */
+#endif
diff --git a/stream-servers/apigen-codec-common/X11/Xosdefs.h b/stream-servers/apigen-codec-common/X11/Xosdefs.h
new file mode 100644
index 0000000..33eaee4
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/Xosdefs.h
@@ -0,0 +1,116 @@
+/*
+ * O/S-dependent (mis)feature macro definitions
+ *
+Copyright 1991, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+ */
+
+#ifndef _XOSDEFS_H_
+# define _XOSDEFS_H_
+
+/*
+ * X_NOT_POSIX means does not have POSIX header files. Lack of this
+ * symbol does NOT mean that the POSIX environment is the default.
+ * You may still have to define _POSIX_SOURCE to get it.
+ */
+
+
+# ifdef _SCO_DS
+# ifndef __SCO__
+# define __SCO__
+# endif
+# endif
+
+# ifdef __i386__
+# ifdef SYSV
+# if !defined(__SCO__) && \
+ !defined(__UNIXWARE__) && !defined(__sun)
+# if !defined(_POSIX_SOURCE)
+# define X_NOT_POSIX
+# endif
+# endif
+# endif
+# endif
+
+# ifdef __sun
+/* Imake configs define SVR4 on Solaris, but cc & gcc only define __SVR4
+ * This check allows non-Imake configured programs to build correctly.
+ */
+# if defined(__SVR4) && !defined(SVR4)
+# define SVR4 1
+# endif
+# ifdef SVR4
+/* define this to whatever it needs to be */
+# define X_POSIX_C_SOURCE 199300L
+# endif
+# endif
+
+# ifdef WIN32
+# ifndef _POSIX_
+# define X_NOT_POSIX
+# endif
+# endif
+
+
+# ifdef __APPLE__
+# define NULL_NOT_ZERO
+
+/* Defining any of these will sanitize the namespace to JUST want is defined by
+ * that particular standard. If that happens, we don't get some expected
+ * prototypes, typedefs, etc (like fd_mask). We can define _DARWIN_C_SOURCE to
+ * loosen our belts a tad.
+ */
+# if defined(_XOPEN_SOURCE) || defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE)
+# ifndef _DARWIN_C_SOURCE
+# define _DARWIN_C_SOURCE
+# endif
+# endif
+
+# endif
+
+# ifdef __GNU__
+# ifndef PATH_MAX
+# define PATH_MAX 4096
+# endif
+# ifndef MAXPATHLEN
+# define MAXPATHLEN 4096
+# endif
+# endif
+
+# if defined(__SCO__) || defined(__UNIXWARE__)
+# ifndef PATH_MAX
+# define PATH_MAX 1024
+# endif
+# ifndef MAXPATHLEN
+# define MAXPATHLEN 1024
+# endif
+# endif
+
+# if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) \
+ || defined(__APPLE__) || defined(__DragonFly__)
+# ifndef CSRG_BASED
+# define CSRG_BASED
+# endif
+# endif
+
+#endif /* _XOSDEFS_H_ */
+
diff --git a/stream-servers/apigen-codec-common/X11/Xpoll.h b/stream-servers/apigen-codec-common/X11/Xpoll.h
new file mode 100644
index 0000000..e96ea12
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/Xpoll.h
@@ -0,0 +1,218 @@
+/*
+
+Copyright 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+*/
+
+/*
+ * Copyright © 2005 Daniel Stone
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Daniel Stone not be used in advertising
+ * or publicity pertaining to distribution of the software without specific,
+ * written prior permission. Daniel Stone makes no representations about the
+ * suitability of this software for any purpose. It is provided "as is"
+ * without express or implied warranty.
+ *
+ * DANIEL STONE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+ * DANIEL STONE BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
+ * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+*/
+
+#ifndef _XPOLL_H_
+#define _XPOLL_H_
+
+#ifndef WIN32
+
+#ifndef USE_POLL
+
+#include <X11/Xos.h>
+
+#include <sys/select.h> /* Get the FD_* macros. */
+
+#include <X11/Xmd.h>
+
+#ifdef CSRG_BASED
+#include <sys/param.h>
+# if BSD < 199103
+typedef long fd_mask;
+# endif
+#endif
+
+#define XFD_SETSIZE 256
+
+#ifndef FD_SETSIZE
+#define FD_SETSIZE XFD_SETSIZE
+#endif
+
+#ifndef NBBY
+#define NBBY 8 /* number of bits in a byte */
+#endif
+
+#ifndef NFDBITS
+#define NFDBITS (sizeof(fd_mask) * NBBY) /* bits per mask */
+#endif
+
+#ifndef howmany
+#define howmany(x,y) (((x)+((y)-1))/(y))
+#endif
+
+#if defined(BSD) && BSD < 198911
+typedef struct fd_set {
+ fd_mask fds_bits[howmany(FD_SETSIZE, NFDBITS)];
+} fd_set;
+#endif
+
+# define Select(n,r,w,e,t) select(n,(fd_set*)r,(fd_set*)w,(fd_set*)e,(struct timeval*)t)
+
+#define __X_FDS_BITS __fds_bits
+
+#ifndef __FDS_BITS
+# define __FDS_BITS(p) ((p)->__X_FDS_BITS)
+#endif
+
+#define __XFDS_BITS(p, n) (__FDS_BITS(p))[n]
+
+#ifndef FD_SET
+#define FD_SET(n, p) (__XFDS_BITS(p, ((n)/NFDBITS)) |= ((fd_mask)1 << ((n) % NFDBITS)))
+#endif
+#ifndef FD_CLR
+#define FD_CLR(n, p) (__XFDS_BITS((p), ((n)/NFDBITS)) &= ~((fd_mask)1 << ((n) % NFDBITS)))
+#endif
+#ifndef FD_ISSET
+#define FD_ISSET(n, p) ((__XFDS_BITS((p), ((n)/NFDBITS))) & ((fd_mask)1 << ((n) % NFDBITS)))
+#endif
+#ifndef FD_ZERO
+#define FD_ZERO(p) bzero((char *)(p), sizeof(*(p)))
+#endif
+
+/*
+ * The howmany(FD_SETSIZE, NFDBITS) computes the number of elements in the
+ * array. before accessing an element in the array we check it exists.
+ * If it does not exist then the compiler discards the code to access it.
+ */
+#define XFD_ANYSET(p) \
+ ((howmany(FD_SETSIZE, NFDBITS) > 0 && (__XFDS_BITS(p, 0))) || \
+ (howmany(FD_SETSIZE, NFDBITS) > 1 && (__XFDS_BITS(p, 1))) || \
+ (howmany(FD_SETSIZE, NFDBITS) > 2 && (__XFDS_BITS(p, 2))) || \
+ (howmany(FD_SETSIZE, NFDBITS) > 3 && (__XFDS_BITS(p, 3))) || \
+ (howmany(FD_SETSIZE, NFDBITS) > 4 && (__XFDS_BITS(p, 4))) || \
+ (howmany(FD_SETSIZE, NFDBITS) > 5 && (__XFDS_BITS(p, 5))) || \
+ (howmany(FD_SETSIZE, NFDBITS) > 6 && (__XFDS_BITS(p, 6))) || \
+ (howmany(FD_SETSIZE, NFDBITS) > 7 && (__XFDS_BITS(p, 7))))
+
+#define XFD_COPYSET(src,dst) { \
+ int __i__; \
+ for (__i__ = 0; __i__ < howmany(FD_SETSIZE, NFDBITS); __i__++) \
+ __XFDS_BITS((dst), __i__) = __XFDS_BITS((src), __i__); \
+ }
+#define XFD_ANDSET(dst,b1,b2) { \
+ int __i__; \
+ for (__i__ = 0; __i__ < howmany(FD_SETSIZE, NFDBITS); __i__++) \
+ __XFDS_BITS((dst), __i__) = ((__XFDS_BITS((b1), __i__)) & (__XFDS_BITS((b2), __i__))); \
+ }
+#define XFD_ORSET(dst,b1,b2) { \
+ int __i__; \
+ for (__i__ = 0; __i__ < howmany(FD_SETSIZE, NFDBITS); __i__++) \
+ __XFDS_BITS((dst), __i__) = ((__XFDS_BITS((b1), __i__)) | (__XFDS_BITS((b2), __i__))); \
+ }
+#define XFD_UNSET(dst,b1) { \
+ int __i__; \
+ for (__i__ = 0; __i__ < howmany(FD_SETSIZE, NFDBITS); __i__++) \
+ __XFDS_BITS((dst), __i__) &= ~(__XFDS_BITS((b1), __i__)); \
+ }
+
+#else /* USE_POLL */
+#include <sys/poll.h>
+#endif /* USE_POLL */
+
+#else /* WIN32 */
+
+#define XFD_SETSIZE 256
+#ifndef FD_SETSIZE
+#define FD_SETSIZE XFD_SETSIZE
+#endif
+#include <X11/Xwinsock.h>
+
+#define Select(n,r,w,e,t) select(0,(fd_set*)r,(fd_set*)w,(fd_set*)e,(struct timeval*)t)
+
+#define XFD_SETCOUNT(p) (((fd_set FAR *)(p))->fd_count)
+#define XFD_FD(p,i) (((fd_set FAR *)(p))->fd_array[i])
+#define XFD_ANYSET(p) XFD_SETCOUNT(p)
+
+#define XFD_COPYSET(src,dst) { \
+ u_int __i; \
+ FD_ZERO(dst); \
+ for (__i = 0; __i < XFD_SETCOUNT(src) ; __i++) { \
+ XFD_FD(dst,__i) = XFD_FD(src,__i); \
+ } \
+ XFD_SETCOUNT(dst) = XFD_SETCOUNT(src); \
+}
+
+#define XFD_ANDSET(dst,b1,b2) { \
+ u_int __i; \
+ FD_ZERO(dst); \
+ for (__i = 0; __i < XFD_SETCOUNT(b1) ; __i++) { \
+ if (FD_ISSET(XFD_FD(b1,__i), b2)) \
+ FD_SET(XFD_FD(b1,__i), dst); \
+ } \
+}
+
+#define XFD_ORSET(dst,b1,b2) { \
+ u_int __i; \
+ if (dst != b1) XFD_COPYSET(b1,dst); \
+ for (__i = 0; __i < XFD_SETCOUNT(b2) ; __i++) { \
+ if (!FD_ISSET(XFD_FD(b2,__i), dst)) \
+ FD_SET(XFD_FD(b2,__i), dst); \
+ } \
+}
+
+/* this one is really sub-optimal */
+#define XFD_UNSET(dst,b1) { \
+ u_int __i; \
+ for (__i = 0; __i < XFD_SETCOUNT(b1) ; __i++) { \
+ FD_CLR(XFD_FD(b1,__i), dst); \
+ } \
+}
+
+/* we have to pay the price of having an array here, unlike with bitmasks
+ calling twice FD_SET with the same fd is not transparent, so be careful */
+#undef FD_SET
+#define FD_SET(fd,set) do { \
+ if (XFD_SETCOUNT(set) < FD_SETSIZE && !FD_ISSET(fd,set)) \
+ XFD_FD(set,XFD_SETCOUNT(set)++)=(fd); \
+} while(0)
+
+#define getdtablesize() FD_SETSIZE
+
+#endif /* WIN32 */
+
+#endif /* _XPOLL_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/Xproto.h b/stream-servers/apigen-codec-common/X11/Xproto.h
new file mode 100644
index 0000000..495d441
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/Xproto.h
@@ -0,0 +1,2157 @@
+/* Definitions for the X window system used by server and c bindings */
+
+/*
+ * This packet-construction scheme makes the following assumptions:
+ *
+ * 1. The compiler is able
+ * to generate code which addresses one- and two-byte quantities.
+ * In the worst case, this would be done with bit-fields. If bit-fields
+ * are used it may be necessary to reorder the request fields in this file,
+ * depending on the order in which the machine assigns bit fields to
+ * machine words. There may also be a problem with sign extension,
+ * as K+R specify that bitfields are always unsigned.
+ *
+ * 2. 2- and 4-byte fields in packet structures must be ordered by hand
+ * such that they are naturally-aligned, so that no compiler will ever
+ * insert padding bytes.
+ *
+ * 3. All packets are hand-padded to a multiple of 4 bytes, for
+ * the same reason.
+ */
+
+#ifndef XPROTO_H
+#define XPROTO_H
+
+/***********************************************************
+
+Copyright 1987, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+#include <X11/Xmd.h>
+#include <X11/Xprotostr.h>
+
+/*
+ * Define constants for the sizes of the network packets. The sz_ prefix is
+ * used instead of something more descriptive so that the symbols are no more
+ * than 32 characters in length (which causes problems for some compilers).
+ */
+#define sz_xSegment 8
+#define sz_xPoint 4
+#define sz_xRectangle 8
+#define sz_xArc 12
+#define sz_xConnClientPrefix 12
+#define sz_xConnSetupPrefix 8
+#define sz_xConnSetup 32
+#define sz_xPixmapFormat 8
+#define sz_xDepth 8
+#define sz_xVisualType 24
+#define sz_xWindowRoot 40
+#define sz_xTimecoord 8
+#define sz_xHostEntry 4
+#define sz_xCharInfo 12
+#define sz_xFontProp 8
+#define sz_xTextElt 2
+#define sz_xColorItem 12
+#define sz_xrgb 8
+#define sz_xGenericReply 32
+#define sz_xGetWindowAttributesReply 44
+#define sz_xGetGeometryReply 32
+#define sz_xQueryTreeReply 32
+#define sz_xInternAtomReply 32
+#define sz_xGetAtomNameReply 32
+#define sz_xGetPropertyReply 32
+#define sz_xListPropertiesReply 32
+#define sz_xGetSelectionOwnerReply 32
+#define sz_xGrabPointerReply 32
+#define sz_xQueryPointerReply 32
+#define sz_xGetMotionEventsReply 32
+#define sz_xTranslateCoordsReply 32
+#define sz_xGetInputFocusReply 32
+#define sz_xQueryKeymapReply 40
+#define sz_xQueryFontReply 60
+#define sz_xQueryTextExtentsReply 32
+#define sz_xListFontsReply 32
+#define sz_xGetFontPathReply 32
+#define sz_xGetImageReply 32
+#define sz_xListInstalledColormapsReply 32
+#define sz_xAllocColorReply 32
+#define sz_xAllocNamedColorReply 32
+#define sz_xAllocColorCellsReply 32
+#define sz_xAllocColorPlanesReply 32
+#define sz_xQueryColorsReply 32
+#define sz_xLookupColorReply 32
+#define sz_xQueryBestSizeReply 32
+#define sz_xQueryExtensionReply 32
+#define sz_xListExtensionsReply 32
+#define sz_xSetMappingReply 32
+#define sz_xGetKeyboardControlReply 52
+#define sz_xGetPointerControlReply 32
+#define sz_xGetScreenSaverReply 32
+#define sz_xListHostsReply 32
+#define sz_xSetModifierMappingReply 32
+#define sz_xError 32
+#define sz_xEvent 32
+#define sz_xKeymapEvent 32
+#define sz_xReq 4
+#define sz_xResourceReq 8
+#define sz_xCreateWindowReq 32
+#define sz_xChangeWindowAttributesReq 12
+#define sz_xChangeSaveSetReq 8
+#define sz_xReparentWindowReq 16
+#define sz_xConfigureWindowReq 12
+#define sz_xCirculateWindowReq 8
+#define sz_xInternAtomReq 8
+#define sz_xChangePropertyReq 24
+#define sz_xDeletePropertyReq 12
+#define sz_xGetPropertyReq 24
+#define sz_xSetSelectionOwnerReq 16
+#define sz_xConvertSelectionReq 24
+#define sz_xSendEventReq 44
+#define sz_xGrabPointerReq 24
+#define sz_xGrabButtonReq 24
+#define sz_xUngrabButtonReq 12
+#define sz_xChangeActivePointerGrabReq 16
+#define sz_xGrabKeyboardReq 16
+#define sz_xGrabKeyReq 16
+#define sz_xUngrabKeyReq 12
+#define sz_xAllowEventsReq 8
+#define sz_xGetMotionEventsReq 16
+#define sz_xTranslateCoordsReq 16
+#define sz_xWarpPointerReq 24
+#define sz_xSetInputFocusReq 12
+#define sz_xOpenFontReq 12
+#define sz_xQueryTextExtentsReq 8
+#define sz_xListFontsReq 8
+#define sz_xSetFontPathReq 8
+#define sz_xCreatePixmapReq 16
+#define sz_xCreateGCReq 16
+#define sz_xChangeGCReq 12
+#define sz_xCopyGCReq 16
+#define sz_xSetDashesReq 12
+#define sz_xSetClipRectanglesReq 12
+#define sz_xCopyAreaReq 28
+#define sz_xCopyPlaneReq 32
+#define sz_xPolyPointReq 12
+#define sz_xPolySegmentReq 12
+#define sz_xFillPolyReq 16
+#define sz_xPutImageReq 24
+#define sz_xGetImageReq 20
+#define sz_xPolyTextReq 16
+#define sz_xImageTextReq 16
+#define sz_xCreateColormapReq 16
+#define sz_xCopyColormapAndFreeReq 12
+#define sz_xAllocColorReq 16
+#define sz_xAllocNamedColorReq 12
+#define sz_xAllocColorCellsReq 12
+#define sz_xAllocColorPlanesReq 16
+#define sz_xFreeColorsReq 12
+#define sz_xStoreColorsReq 8
+#define sz_xStoreNamedColorReq 16
+#define sz_xQueryColorsReq 8
+#define sz_xLookupColorReq 12
+#define sz_xCreateCursorReq 32
+#define sz_xCreateGlyphCursorReq 32
+#define sz_xRecolorCursorReq 20
+#define sz_xQueryBestSizeReq 12
+#define sz_xQueryExtensionReq 8
+#define sz_xChangeKeyboardControlReq 8
+#define sz_xBellReq 4
+#define sz_xChangePointerControlReq 12
+#define sz_xSetScreenSaverReq 12
+#define sz_xChangeHostsReq 8
+#define sz_xListHostsReq 4
+#define sz_xChangeModeReq 4
+#define sz_xRotatePropertiesReq 12
+#define sz_xReply 32
+#define sz_xGrabKeyboardReply 32
+#define sz_xListFontsWithInfoReply 60
+#define sz_xSetPointerMappingReply 32
+#define sz_xGetKeyboardMappingReply 32
+#define sz_xGetPointerMappingReply 32
+#define sz_xGetModifierMappingReply 32
+#define sz_xListFontsWithInfoReq 8
+#define sz_xPolyLineReq 12
+#define sz_xPolyArcReq 12
+#define sz_xPolyRectangleReq 12
+#define sz_xPolyFillRectangleReq 12
+#define sz_xPolyFillArcReq 12
+#define sz_xPolyText8Req 16
+#define sz_xPolyText16Req 16
+#define sz_xImageText8Req 16
+#define sz_xImageText16Req 16
+#define sz_xSetPointerMappingReq 4
+#define sz_xForceScreenSaverReq 4
+#define sz_xSetCloseDownModeReq 4
+#define sz_xClearAreaReq 16
+#define sz_xSetAccessControlReq 4
+#define sz_xGetKeyboardMappingReq 8
+#define sz_xSetModifierMappingReq 4
+#define sz_xPropIconSize 24
+#define sz_xChangeKeyboardMappingReq 8
+
+
+/* For the purpose of the structure definitions in this file,
+we must redefine the following types in terms of Xmd.h's types, which may
+include bit fields. All of these are #undef'd at the end of this file,
+restoring the definitions in X.h. */
+
+#define Window CARD32
+#define Drawable CARD32
+#define Font CARD32
+#define Pixmap CARD32
+#define Cursor CARD32
+#define Colormap CARD32
+#define GContext CARD32
+#define Atom CARD32
+#define VisualID CARD32
+#define Time CARD32
+#define KeyCode CARD8
+#define KeySym CARD32
+
+#define X_TCP_PORT 6000 /* add display number */
+
+#define xTrue 1
+#define xFalse 0
+
+
+typedef CARD16 KeyButMask;
+
+/*****************
+ connection setup structure. This is followed by
+ numRoots xWindowRoot structs.
+*****************/
+
+typedef struct {
+ CARD8 byteOrder;
+ BYTE pad;
+ CARD16 majorVersion B16, minorVersion B16;
+ CARD16 nbytesAuthProto B16; /* Authorization protocol */
+ CARD16 nbytesAuthString B16; /* Authorization string */
+ CARD16 pad2 B16;
+} xConnClientPrefix;
+
+typedef struct {
+ CARD8 success;
+ BYTE lengthReason; /*num bytes in string following if failure */
+ CARD16 majorVersion B16,
+ minorVersion B16;
+ CARD16 length B16; /* 1/4 additional bytes in setup info */
+} xConnSetupPrefix;
+
+
+typedef struct {
+ CARD32 release B32;
+ CARD32 ridBase B32,
+ ridMask B32;
+ CARD32 motionBufferSize B32;
+ CARD16 nbytesVendor B16; /* number of bytes in vendor string */
+ CARD16 maxRequestSize B16;
+ CARD8 numRoots; /* number of roots structs to follow */
+ CARD8 numFormats; /* number of pixmap formats */
+ CARD8 imageByteOrder; /* LSBFirst, MSBFirst */
+ CARD8 bitmapBitOrder; /* LeastSignificant, MostSign...*/
+ CARD8 bitmapScanlineUnit, /* 8, 16, 32 */
+ bitmapScanlinePad; /* 8, 16, 32 */
+ KeyCode minKeyCode, maxKeyCode;
+ CARD32 pad2 B32;
+} xConnSetup;
+
+typedef struct {
+ CARD8 depth;
+ CARD8 bitsPerPixel;
+ CARD8 scanLinePad;
+ CARD8 pad1;
+ CARD32 pad2 B32;
+} xPixmapFormat;
+
+/* window root */
+
+typedef struct {
+ CARD8 depth;
+ CARD8 pad1;
+ CARD16 nVisuals B16; /* number of xVisualType structures following */
+ CARD32 pad2 B32;
+ } xDepth;
+
+typedef struct {
+ VisualID visualID B32;
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class;
+#else
+ CARD8 class;
+#endif
+ CARD8 bitsPerRGB;
+ CARD16 colormapEntries B16;
+ CARD32 redMask B32, greenMask B32, blueMask B32;
+ CARD32 pad B32;
+ } xVisualType;
+
+typedef struct {
+ Window windowId B32;
+ Colormap defaultColormap B32;
+ CARD32 whitePixel B32, blackPixel B32;
+ CARD32 currentInputMask B32;
+ CARD16 pixWidth B16, pixHeight B16;
+ CARD16 mmWidth B16, mmHeight B16;
+ CARD16 minInstalledMaps B16, maxInstalledMaps B16;
+ VisualID rootVisualID B32;
+ CARD8 backingStore;
+ BOOL saveUnders;
+ CARD8 rootDepth;
+ CARD8 nDepths; /* number of xDepth structures following */
+} xWindowRoot;
+
+
+/*****************************************************************
+ * Structure Defns
+ * Structures needed for replies
+ *****************************************************************/
+
+/* Used in GetMotionEvents */
+
+typedef struct {
+ CARD32 time B32;
+ INT16 x B16, y B16;
+} xTimecoord;
+
+typedef struct {
+ CARD8 family;
+ BYTE pad;
+ CARD16 length B16;
+} xHostEntry;
+
+typedef struct {
+ INT16 leftSideBearing B16,
+ rightSideBearing B16,
+ characterWidth B16,
+ ascent B16,
+ descent B16;
+ CARD16 attributes B16;
+} xCharInfo;
+
+typedef struct {
+ Atom name B32;
+ CARD32 value B32;
+} xFontProp;
+
+/*
+ * non-aligned big-endian font ID follows this struct
+ */
+typedef struct { /* followed by string */
+ CARD8 len; /* number of *characters* in string, or FontChange (255)
+ for font change, or 0 if just delta given */
+ INT8 delta;
+} xTextElt;
+
+
+typedef struct {
+ CARD32 pixel B32;
+ CARD16 red B16, green B16, blue B16;
+ CARD8 flags; /* DoRed, DoGreen, DoBlue booleans */
+ CARD8 pad;
+} xColorItem;
+
+
+typedef struct {
+ CARD16 red B16, green B16, blue B16, pad B16;
+} xrgb;
+
+typedef CARD8 KEYCODE;
+
+
+/*****************
+ * XRep:
+ * meant to be 32 byte quantity
+ *****************/
+
+/* GenericReply is the common format of all replies. The "data" items
+ are specific to each individual reply type. */
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE data1; /* depends on reply type */
+ CARD16 sequenceNumber B16; /* of last request received by server */
+ CARD32 length B32; /* 4 byte quantities beyond size of GenericReply */
+ CARD32 data00 B32;
+ CARD32 data01 B32;
+ CARD32 data02 B32;
+ CARD32 data03 B32;
+ CARD32 data04 B32;
+ CARD32 data05 B32;
+ } xGenericReply;
+
+/* Individual reply formats. */
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 backingStore;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* NOT 0; this is an extra-large reply */
+ VisualID visualID B32;
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD16 c_class B16;
+#else
+ CARD16 class B16;
+#endif
+ CARD8 bitGravity;
+ CARD8 winGravity;
+ CARD32 backingBitPlanes B32;
+ CARD32 backingPixel B32;
+ BOOL saveUnder;
+ BOOL mapInstalled;
+ CARD8 mapState;
+ BOOL override;
+ Colormap colormap B32;
+ CARD32 allEventMasks B32;
+ CARD32 yourEventMask B32;
+ CARD16 doNotPropagateMask B16;
+ CARD16 pad B16;
+ } xGetWindowAttributesReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 depth;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ Window root B32;
+ INT16 x B16, y B16;
+ CARD16 width B16, height B16;
+ CARD16 borderWidth B16;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ } xGetGeometryReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ Window root B32, parent B32;
+ CARD16 nChildren B16;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ } xQueryTreeReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ Atom atom B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ } xInternAtomReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* of additional bytes */
+ CARD16 nameLength B16; /* # of characters in name */
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xGetAtomNameReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 format;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* of additional bytes */
+ Atom propertyType B32;
+ CARD32 bytesAfter B32;
+ CARD32 nItems B32; /* # of 8, 16, or 32-bit entities in reply */
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ } xGetPropertyReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 nProperties B16;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xListPropertiesReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ Window owner B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ } xGetSelectionOwnerReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE status;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ } xGrabPointerReply;
+
+typedef xGrabPointerReply xGrabKeyboardReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL sameScreen;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ Window root B32, child B32;
+ INT16 rootX B16, rootY B16, winX B16, winY B16;
+ CARD16 mask B16;
+ CARD16 pad1 B16;
+ CARD32 pad B32;
+ } xQueryPointerReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 nEvents B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ } xGetMotionEventsReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL sameScreen;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ Window child B32;
+ INT16 dstX B16, dstY B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ } xTranslateCoordsReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 revertTo;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ Window focus B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ } xGetInputFocusReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 2, NOT 0; this is an extra-large reply */
+ BYTE map[32];
+ } xQueryKeymapReply;
+
+/* Warning: this MUST match (up to component renaming) xListFontsWithInfoReply */
+typedef struct _xQueryFontReply {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* definitely > 0, even if "nCharInfos" is 0 */
+ xCharInfo minBounds;
+#ifndef WORD64
+ CARD32 walign1 B32;
+#endif
+ xCharInfo maxBounds;
+#ifndef WORD64
+ CARD32 walign2 B32;
+#endif
+ CARD16 minCharOrByte2 B16, maxCharOrByte2 B16;
+ CARD16 defaultChar B16;
+ CARD16 nFontProps B16; /* followed by this many xFontProp structures */
+ CARD8 drawDirection;
+ CARD8 minByte1, maxByte1;
+ BOOL allCharsExist;
+ INT16 fontAscent B16, fontDescent B16;
+ CARD32 nCharInfos B32; /* followed by this many xCharInfo structures */
+} xQueryFontReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 drawDirection;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ INT16 fontAscent B16, fontDescent B16;
+ INT16 overallAscent B16, overallDescent B16;
+ INT32 overallWidth B32, overallLeft B32, overallRight B32;
+ CARD32 pad B32;
+ } xQueryTextExtentsReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 nFonts B16;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xListFontsReply;
+
+/* Warning: this MUST match (up to component renaming) xQueryFontReply */
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 nameLength; /* 0 indicates end-of-reply-sequence */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* definitely > 0, even if "nameLength" is 0 */
+ xCharInfo minBounds;
+#ifndef WORD64
+ CARD32 walign1 B32;
+#endif
+ xCharInfo maxBounds;
+#ifndef WORD64
+ CARD32 walign2 B32;
+#endif
+ CARD16 minCharOrByte2 B16, maxCharOrByte2 B16;
+ CARD16 defaultChar B16;
+ CARD16 nFontProps B16; /* followed by this many xFontProp structures */
+ CARD8 drawDirection;
+ CARD8 minByte1, maxByte1;
+ BOOL allCharsExist;
+ INT16 fontAscent B16, fontDescent B16;
+ CARD32 nReplies B32; /* hint as to how many more replies might be coming */
+} xListFontsWithInfoReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 nPaths B16;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xGetFontPathReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 depth;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ VisualID visual B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xGetImageReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 nColormaps B16;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xListInstalledColormapsReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ CARD16 red B16, green B16, blue B16;
+ CARD16 pad2 B16;
+ CARD32 pixel B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ } xAllocColorReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ CARD32 pixel B32;
+ CARD16 exactRed B16, exactGreen B16, exactBlue B16;
+ CARD16 screenRed B16, screenGreen B16, screenBlue B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ } xAllocNamedColorReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 nPixels B16, nMasks B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xAllocColorCellsReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 nPixels B16;
+ CARD16 pad2 B16;
+ CARD32 redMask B32, greenMask B32, blueMask B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ } xAllocColorPlanesReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 nColors B16;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xQueryColorsReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ CARD16 exactRed B16, exactGreen B16, exactBlue B16;
+ CARD16 screenRed B16, screenGreen B16, screenBlue B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ } xLookupColorReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ CARD16 width B16, height B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xQueryBestSizeReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ BOOL present;
+ CARD8 major_opcode;
+ CARD8 first_event;
+ CARD8 first_error;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xQueryExtensionReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 nExtensions;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xListExtensionsReply;
+
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 success;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xSetMappingReply;
+typedef xSetMappingReply xSetPointerMappingReply;
+typedef xSetMappingReply xSetModifierMappingReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 nElts; /* how many elements does the map have */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xGetPointerMappingReply;
+
+typedef struct {
+ BYTE type;
+ CARD8 keySymsPerKeyCode;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+} xGetKeyboardMappingReply;
+
+typedef struct {
+ BYTE type;
+ CARD8 numKeyPerModifier;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xGetModifierMappingReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL globalAutoRepeat;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 5 */
+ CARD32 ledMask B32;
+ CARD8 keyClickPercent, bellPercent;
+ CARD16 bellPitch B16, bellDuration B16;
+ CARD16 pad B16;
+ BYTE map[32]; /* bit masks start here */
+ } xGetKeyboardControlReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ CARD16 accelNumerator B16, accelDenominator B16;
+ CARD16 threshold B16;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ } xGetPointerControlReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ CARD16 timeout B16, interval B16;
+ BOOL preferBlanking;
+ BOOL allowExposures;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ } xGetScreenSaverReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL enabled;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 nHosts B16;
+ CARD16 pad1 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xListHostsReply;
+
+
+
+
+/*****************************************************************
+ * Xerror
+ * All errors are 32 bytes
+ *****************************************************************/
+
+typedef struct {
+ BYTE type; /* X_Error */
+ BYTE errorCode;
+ CARD16 sequenceNumber B16; /* the nth request from this client */
+ CARD32 resourceID B32;
+ CARD16 minorCode B16;
+ CARD8 majorCode;
+ BYTE pad1;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+} xError;
+
+/*****************************************************************
+ * xEvent
+ * All events are 32 bytes
+ *****************************************************************/
+
+typedef struct _xEvent {
+ union {
+ struct {
+ BYTE type;
+ BYTE detail;
+ CARD16 sequenceNumber B16;
+ } u;
+ struct {
+ CARD32 pad00 B32;
+ Time time B32;
+ Window root B32, event B32, child B32;
+ INT16 rootX B16, rootY B16, eventX B16, eventY B16;
+ KeyButMask state B16;
+ BOOL sameScreen;
+ BYTE pad1;
+ } keyButtonPointer;
+ struct {
+ CARD32 pad00 B32;
+ Time time B32;
+ Window root B32, event B32, child B32;
+ INT16 rootX B16, rootY B16, eventX B16, eventY B16;
+ KeyButMask state B16;
+ BYTE mode; /* really XMode */
+ BYTE flags; /* sameScreen and focus booleans, packed together */
+#define ELFlagFocus (1<<0)
+#define ELFlagSameScreen (1<<1)
+ } enterLeave;
+ struct {
+ CARD32 pad00 B32;
+ Window window B32;
+ BYTE mode; /* really XMode */
+ BYTE pad1, pad2, pad3;
+ } focus;
+ struct {
+ CARD32 pad00 B32;
+ Window window B32;
+ CARD16 x B16, y B16, width B16, height B16;
+ CARD16 count B16;
+ CARD16 pad2 B16;
+ } expose;
+ struct {
+ CARD32 pad00 B32;
+ Drawable drawable B32;
+ CARD16 x B16, y B16, width B16, height B16;
+ CARD16 minorEvent B16;
+ CARD16 count B16;
+ BYTE majorEvent;
+ BYTE pad1, pad2, pad3;
+ } graphicsExposure;
+ struct {
+ CARD32 pad00 B32;
+ Drawable drawable B32;
+ CARD16 minorEvent B16;
+ BYTE majorEvent;
+ BYTE bpad;
+ } noExposure;
+ struct {
+ CARD32 pad00 B32;
+ Window window B32;
+ CARD8 state;
+ BYTE pad1, pad2, pad3;
+ } visibility;
+ struct {
+ CARD32 pad00 B32;
+ Window parent B32, window B32;
+ INT16 x B16, y B16;
+ CARD16 width B16, height B16, borderWidth B16;
+ BOOL override;
+ BYTE bpad;
+ } createNotify;
+/*
+ * The event fields in the structures for DestroyNotify, UnmapNotify,
+ * MapNotify, ReparentNotify, ConfigureNotify, CirculateNotify, GravityNotify,
+ * must be at the same offset because server internal code is depending upon
+ * this to patch up the events before they are delivered.
+ * Also note that MapRequest, ConfigureRequest and CirculateRequest have
+ * the same offset for the event window.
+ */
+ struct {
+ CARD32 pad00 B32;
+ Window event B32, window B32;
+ } destroyNotify;
+ struct {
+ CARD32 pad00 B32;
+ Window event B32, window B32;
+ BOOL fromConfigure;
+ BYTE pad1, pad2, pad3;
+ } unmapNotify;
+ struct {
+ CARD32 pad00 B32;
+ Window event B32, window B32;
+ BOOL override;
+ BYTE pad1, pad2, pad3;
+ } mapNotify;
+ struct {
+ CARD32 pad00 B32;
+ Window parent B32, window B32;
+ } mapRequest;
+ struct {
+ CARD32 pad00 B32;
+ Window event B32, window B32, parent B32;
+ INT16 x B16, y B16;
+ BOOL override;
+ BYTE pad1, pad2, pad3;
+ } reparent;
+ struct {
+ CARD32 pad00 B32;
+ Window event B32, window B32, aboveSibling B32;
+ INT16 x B16, y B16;
+ CARD16 width B16, height B16, borderWidth B16;
+ BOOL override;
+ BYTE bpad;
+ } configureNotify;
+ struct {
+ CARD32 pad00 B32;
+ Window parent B32, window B32, sibling B32;
+ INT16 x B16, y B16;
+ CARD16 width B16, height B16, borderWidth B16;
+ CARD16 valueMask B16;
+ CARD32 pad1 B32;
+ } configureRequest;
+ struct {
+ CARD32 pad00 B32;
+ Window event B32, window B32;
+ INT16 x B16, y B16;
+ CARD32 pad1 B32, pad2 B32, pad3 B32, pad4 B32;
+ } gravity;
+ struct {
+ CARD32 pad00 B32;
+ Window window B32;
+ CARD16 width B16, height B16;
+ } resizeRequest;
+ struct {
+/* The event field in the circulate record is really the parent when this
+ is used as a CirculateRequest instead of a CirculateNotify */
+ CARD32 pad00 B32;
+ Window event B32, window B32, parent B32;
+ BYTE place; /* Top or Bottom */
+ BYTE pad1, pad2, pad3;
+ } circulate;
+ struct {
+ CARD32 pad00 B32;
+ Window window B32;
+ Atom atom B32;
+ Time time B32;
+ BYTE state; /* NewValue or Deleted */
+ BYTE pad1;
+ CARD16 pad2 B16;
+ } property;
+ struct {
+ CARD32 pad00 B32;
+ Time time B32;
+ Window window B32;
+ Atom atom B32;
+ } selectionClear;
+ struct {
+ CARD32 pad00 B32;
+ Time time B32;
+ Window owner B32, requestor B32;
+ Atom selection B32, target B32, property B32;
+ } selectionRequest;
+ struct {
+ CARD32 pad00 B32;
+ Time time B32;
+ Window requestor B32;
+ Atom selection B32, target B32, property B32;
+ } selectionNotify;
+ struct {
+ CARD32 pad00 B32;
+ Window window B32;
+ Colormap colormap B32;
+#if defined(__cplusplus) || defined(c_plusplus)
+ BOOL c_new;
+#else
+ BOOL new;
+#endif
+ BYTE state; /* Installed or UnInstalled */
+ BYTE pad1, pad2;
+ } colormap;
+ struct {
+ CARD32 pad00 B32;
+ CARD8 request;
+ KeyCode firstKeyCode;
+ CARD8 count;
+ BYTE pad1;
+ } mappingNotify;
+ struct {
+ CARD32 pad00 B32;
+ Window window B32;
+ union {
+ struct {
+ Atom type B32;
+ INT32 longs0 B32;
+ INT32 longs1 B32;
+ INT32 longs2 B32;
+ INT32 longs3 B32;
+ INT32 longs4 B32;
+ } l;
+ struct {
+ Atom type B32;
+ INT16 shorts0 B16;
+ INT16 shorts1 B16;
+ INT16 shorts2 B16;
+ INT16 shorts3 B16;
+ INT16 shorts4 B16;
+ INT16 shorts5 B16;
+ INT16 shorts6 B16;
+ INT16 shorts7 B16;
+ INT16 shorts8 B16;
+ INT16 shorts9 B16;
+ } s;
+ struct {
+ Atom type B32;
+ INT8 bytes[20];
+ } b;
+ } u;
+ } clientMessage;
+ } u;
+} xEvent;
+
+/*********************************************************
+ *
+ * Generic event
+ *
+ * Those events are not part of the core protocol spec and can be used by
+ * various extensions.
+ * type is always GenericEvent
+ * extension is the minor opcode of the extension the event belongs to.
+ * evtype is the actual event type, unique __per extension__.
+ *
+ * GenericEvents can be longer than 32 bytes, with the length field
+ * specifying the number of 4 byte blocks after the first 32 bytes.
+ *
+ *
+ */
+typedef struct
+{
+ BYTE type;
+ CARD8 extension;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 evtype B16;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+} xGenericEvent;
+
+
+
+/* KeymapNotify events are not included in the above union because they
+ are different from all other events: they do not have a "detail"
+ or "sequenceNumber", so there is room for a 248-bit key mask. */
+
+typedef struct {
+ BYTE type;
+ BYTE map[31];
+ } xKeymapEvent;
+
+#define XEventSize (sizeof(xEvent))
+
+/* XReply is the union of all the replies above whose "fixed part"
+fits in 32 bytes. It does NOT include GetWindowAttributesReply,
+QueryFontReply, QueryKeymapReply, or GetKeyboardControlReply
+ListFontsWithInfoReply */
+
+typedef union {
+ xGenericReply generic;
+ xGetGeometryReply geom;
+ xQueryTreeReply tree;
+ xInternAtomReply atom;
+ xGetAtomNameReply atomName;
+ xGetPropertyReply property;
+ xListPropertiesReply listProperties;
+ xGetSelectionOwnerReply selection;
+ xGrabPointerReply grabPointer;
+ xGrabKeyboardReply grabKeyboard;
+ xQueryPointerReply pointer;
+ xGetMotionEventsReply motionEvents;
+ xTranslateCoordsReply coords;
+ xGetInputFocusReply inputFocus;
+ xQueryTextExtentsReply textExtents;
+ xListFontsReply fonts;
+ xGetFontPathReply fontPath;
+ xGetImageReply image;
+ xListInstalledColormapsReply colormaps;
+ xAllocColorReply allocColor;
+ xAllocNamedColorReply allocNamedColor;
+ xAllocColorCellsReply colorCells;
+ xAllocColorPlanesReply colorPlanes;
+ xQueryColorsReply colors;
+ xLookupColorReply lookupColor;
+ xQueryBestSizeReply bestSize;
+ xQueryExtensionReply extension;
+ xListExtensionsReply extensions;
+ xSetModifierMappingReply setModifierMapping;
+ xGetModifierMappingReply getModifierMapping;
+ xSetPointerMappingReply setPointerMapping;
+ xGetKeyboardMappingReply getKeyboardMapping;
+ xGetPointerMappingReply getPointerMapping;
+ xGetPointerControlReply pointerControl;
+ xGetScreenSaverReply screenSaver;
+ xListHostsReply hosts;
+ xError error;
+ xEvent event;
+} xReply;
+
+
+
+/*****************************************************************
+ * REQUESTS
+ *****************************************************************/
+
+
+/* Request structure */
+
+typedef struct _xReq {
+ CARD8 reqType;
+ CARD8 data; /* meaning depends on request type */
+ CARD16 length B16; /* length in 4 bytes quantities
+ of whole request, including this header */
+} xReq;
+
+/*****************************************************************
+ * structures that follow request.
+ *****************************************************************/
+
+/* ResourceReq is used for any request which has a resource ID
+ (or Atom or Time) as its one and only argument. */
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ CARD32 id B32; /* a Window, Drawable, Font, GContext, Pixmap, etc. */
+ } xResourceReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 depth;
+ CARD16 length B16;
+ Window wid B32, parent B32;
+ INT16 x B16, y B16;
+ CARD16 width B16, height B16, borderWidth B16;
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD16 c_class B16;
+#else
+ CARD16 class B16;
+#endif
+ VisualID visual B32;
+ CARD32 mask B32;
+} xCreateWindowReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Window window B32;
+ CARD32 valueMask B32;
+} xChangeWindowAttributesReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE mode;
+ CARD16 length B16;
+ Window window B32;
+} xChangeSaveSetReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Window window B32, parent B32;
+ INT16 x B16, y B16;
+} xReparentWindowReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 pad;
+ CARD16 length B16;
+ Window window B32;
+ CARD16 mask B16;
+ CARD16 pad2 B16;
+} xConfigureWindowReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 direction;
+ CARD16 length B16;
+ Window window B32;
+} xCirculateWindowReq;
+
+typedef struct { /* followed by padded string */
+ CARD8 reqType;
+ BOOL onlyIfExists;
+ CARD16 length B16;
+ CARD16 nbytes B16; /* number of bytes in string */
+ CARD16 pad B16;
+} xInternAtomReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 mode;
+ CARD16 length B16;
+ Window window B32;
+ Atom property B32, type B32;
+ CARD8 format;
+ BYTE pad[3];
+ CARD32 nUnits B32; /* length of stuff following, depends on format */
+} xChangePropertyReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Window window B32;
+ Atom property B32;
+} xDeletePropertyReq;
+
+typedef struct {
+ CARD8 reqType;
+#if defined(__cplusplus) || defined(c_plusplus)
+ BOOL c_delete;
+#else
+ BOOL delete;
+#endif
+ CARD16 length B16;
+ Window window B32;
+ Atom property B32, type B32;
+ CARD32 longOffset B32;
+ CARD32 longLength B32;
+} xGetPropertyReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Window window B32;
+ Atom selection B32;
+ Time time B32;
+} xSetSelectionOwnerReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Window requestor B32;
+ Atom selection B32, target B32, property B32;
+ Time time B32;
+ } xConvertSelectionReq;
+
+typedef struct {
+ CARD8 reqType;
+ BOOL propagate;
+ CARD16 length B16;
+ Window destination B32;
+ CARD32 eventMask B32;
+#ifdef WORD64
+ /* the structure should have been quad-aligned */
+ BYTE eventdata[SIZEOF(xEvent)];
+#else
+ xEvent event;
+#endif /* WORD64 */
+} xSendEventReq;
+
+typedef struct {
+ CARD8 reqType;
+ BOOL ownerEvents;
+ CARD16 length B16;
+ Window grabWindow B32;
+ CARD16 eventMask B16;
+ BYTE pointerMode, keyboardMode;
+ Window confineTo B32;
+ Cursor cursor B32;
+ Time time B32;
+} xGrabPointerReq;
+
+typedef struct {
+ CARD8 reqType;
+ BOOL ownerEvents;
+ CARD16 length B16;
+ Window grabWindow B32;
+ CARD16 eventMask B16;
+ BYTE pointerMode, keyboardMode;
+ Window confineTo B32;
+ Cursor cursor B32;
+ CARD8 button;
+ BYTE pad;
+ CARD16 modifiers B16;
+} xGrabButtonReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 button;
+ CARD16 length B16;
+ Window grabWindow B32;
+ CARD16 modifiers B16;
+ CARD16 pad B16;
+} xUngrabButtonReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Cursor cursor B32;
+ Time time B32;
+ CARD16 eventMask B16;
+ CARD16 pad2 B16;
+} xChangeActivePointerGrabReq;
+
+typedef struct {
+ CARD8 reqType;
+ BOOL ownerEvents;
+ CARD16 length B16;
+ Window grabWindow B32;
+ Time time B32;
+ BYTE pointerMode, keyboardMode;
+ CARD16 pad B16;
+} xGrabKeyboardReq;
+
+typedef struct {
+ CARD8 reqType;
+ BOOL ownerEvents;
+ CARD16 length B16;
+ Window grabWindow B32;
+ CARD16 modifiers B16;
+ CARD8 key;
+ BYTE pointerMode, keyboardMode;
+ BYTE pad1, pad2, pad3;
+} xGrabKeyReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 key;
+ CARD16 length B16;
+ Window grabWindow B32;
+ CARD16 modifiers B16;
+ CARD16 pad B16;
+} xUngrabKeyReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 mode;
+ CARD16 length B16;
+ Time time B32;
+} xAllowEventsReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Window window B32;
+ Time start B32, stop B32;
+} xGetMotionEventsReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Window srcWid B32, dstWid B32;
+ INT16 srcX B16, srcY B16;
+} xTranslateCoordsReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Window srcWid B32, dstWid B32;
+ INT16 srcX B16, srcY B16;
+ CARD16 srcWidth B16, srcHeight B16;
+ INT16 dstX B16, dstY B16;
+} xWarpPointerReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 revertTo;
+ CARD16 length B16;
+ Window focus B32;
+ Time time B32;
+} xSetInputFocusReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Font fid B32;
+ CARD16 nbytes B16;
+ BYTE pad1, pad2; /* string follows on word boundary */
+} xOpenFontReq;
+
+typedef struct {
+ CARD8 reqType;
+ BOOL oddLength;
+ CARD16 length B16;
+ Font fid B32;
+ } xQueryTextExtentsReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ CARD16 maxNames B16;
+ CARD16 nbytes B16; /* followed immediately by string bytes */
+} xListFontsReq;
+
+typedef xListFontsReq xListFontsWithInfoReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ CARD16 nFonts B16;
+ BYTE pad1, pad2; /* LISTofSTRING8 follows on word boundary */
+} xSetFontPathReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 depth;
+ CARD16 length B16;
+ Pixmap pid B32;
+ Drawable drawable B32;
+ CARD16 width B16, height B16;
+} xCreatePixmapReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ GContext gc B32;
+ Drawable drawable B32;
+ CARD32 mask B32;
+} xCreateGCReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ GContext gc B32;
+ CARD32 mask B32;
+} xChangeGCReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ GContext srcGC B32, dstGC B32;
+ CARD32 mask B32;
+} xCopyGCReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ GContext gc B32;
+ CARD16 dashOffset B16;
+ CARD16 nDashes B16; /* length LISTofCARD8 of values following */
+} xSetDashesReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE ordering;
+ CARD16 length B16;
+ GContext gc B32;
+ INT16 xOrigin B16, yOrigin B16;
+} xSetClipRectanglesReq;
+
+typedef struct {
+ CARD8 reqType;
+ BOOL exposures;
+ CARD16 length B16;
+ Window window B32;
+ INT16 x B16, y B16;
+ CARD16 width B16, height B16;
+} xClearAreaReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Drawable srcDrawable B32, dstDrawable B32;
+ GContext gc B32;
+ INT16 srcX B16, srcY B16, dstX B16, dstY B16;
+ CARD16 width B16, height B16;
+} xCopyAreaReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Drawable srcDrawable B32, dstDrawable B32;
+ GContext gc B32;
+ INT16 srcX B16, srcY B16, dstX B16, dstY B16;
+ CARD16 width B16, height B16;
+ CARD32 bitPlane B32;
+} xCopyPlaneReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE coordMode;
+ CARD16 length B16;
+ Drawable drawable B32;
+ GContext gc B32;
+} xPolyPointReq;
+
+typedef xPolyPointReq xPolyLineReq; /* same request structure */
+
+/* The following used for PolySegment, PolyRectangle, PolyArc, PolyFillRectangle, PolyFillArc */
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Drawable drawable B32;
+ GContext gc B32;
+} xPolySegmentReq;
+
+typedef xPolySegmentReq xPolyArcReq;
+typedef xPolySegmentReq xPolyRectangleReq;
+typedef xPolySegmentReq xPolyFillRectangleReq;
+typedef xPolySegmentReq xPolyFillArcReq;
+
+typedef struct _FillPolyReq {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Drawable drawable B32;
+ GContext gc B32;
+ BYTE shape;
+ BYTE coordMode;
+ CARD16 pad1 B16;
+} xFillPolyReq;
+
+
+typedef struct _PutImageReq {
+ CARD8 reqType;
+ CARD8 format;
+ CARD16 length B16;
+ Drawable drawable B32;
+ GContext gc B32;
+ CARD16 width B16, height B16;
+ INT16 dstX B16, dstY B16;
+ CARD8 leftPad;
+ CARD8 depth;
+ CARD16 pad B16;
+} xPutImageReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 format;
+ CARD16 length B16;
+ Drawable drawable B32;
+ INT16 x B16, y B16;
+ CARD16 width B16, height B16;
+ CARD32 planeMask B32;
+} xGetImageReq;
+
+/* the following used by PolyText8 and PolyText16 */
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 pad;
+ CARD16 length B16;
+ Drawable drawable B32;
+ GContext gc B32;
+ INT16 x B16, y B16; /* items (xTextElt) start after struct */
+} xPolyTextReq;
+
+typedef xPolyTextReq xPolyText8Req;
+typedef xPolyTextReq xPolyText16Req;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE nChars;
+ CARD16 length B16;
+ Drawable drawable B32;
+ GContext gc B32;
+ INT16 x B16, y B16;
+} xImageTextReq;
+
+typedef xImageTextReq xImageText8Req;
+typedef xImageTextReq xImageText16Req;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE alloc;
+ CARD16 length B16;
+ Colormap mid B32;
+ Window window B32;
+ VisualID visual B32;
+} xCreateColormapReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Colormap mid B32;
+ Colormap srcCmap B32;
+} xCopyColormapAndFreeReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Colormap cmap B32;
+ CARD16 red B16, green B16, blue B16;
+ CARD16 pad2 B16;
+} xAllocColorReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Colormap cmap B32;
+ CARD16 nbytes B16; /* followed by structure */
+ BYTE pad1, pad2;
+} xAllocNamedColorReq;
+
+typedef struct {
+ CARD8 reqType;
+ BOOL contiguous;
+ CARD16 length B16;
+ Colormap cmap B32;
+ CARD16 colors B16, planes B16;
+} xAllocColorCellsReq;
+
+typedef struct {
+ CARD8 reqType;
+ BOOL contiguous;
+ CARD16 length B16;
+ Colormap cmap B32;
+ CARD16 colors B16, red B16, green B16, blue B16;
+} xAllocColorPlanesReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Colormap cmap B32;
+ CARD32 planeMask B32;
+} xFreeColorsReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Colormap cmap B32;
+} xStoreColorsReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 flags; /* DoRed, DoGreen, DoBlue, as in xColorItem */
+ CARD16 length B16;
+ Colormap cmap B32;
+ CARD32 pixel B32;
+ CARD16 nbytes B16; /* number of name string bytes following structure */
+ BYTE pad1, pad2;
+ } xStoreNamedColorReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Colormap cmap B32;
+} xQueryColorsReq;
+
+typedef struct { /* followed by string of length len */
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Colormap cmap B32;
+ CARD16 nbytes B16; /* number of string bytes following structure*/
+ BYTE pad1, pad2;
+} xLookupColorReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Cursor cid B32;
+ Pixmap source B32, mask B32;
+ CARD16 foreRed B16, foreGreen B16, foreBlue B16;
+ CARD16 backRed B16, backGreen B16, backBlue B16;
+ CARD16 x B16, y B16;
+} xCreateCursorReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Cursor cid B32;
+ Font source B32, mask B32;
+ CARD16 sourceChar B16, maskChar B16;
+ CARD16 foreRed B16, foreGreen B16, foreBlue B16;
+ CARD16 backRed B16, backGreen B16, backBlue B16;
+} xCreateGlyphCursorReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Cursor cursor B32;
+ CARD16 foreRed B16, foreGreen B16, foreBlue B16;
+ CARD16 backRed B16, backGreen B16, backBlue B16;
+} xRecolorCursorReq;
+
+typedef struct {
+ CARD8 reqType;
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class;
+#else
+ CARD8 class;
+#endif
+ CARD16 length B16;
+ Drawable drawable B32;
+ CARD16 width B16, height B16;
+} xQueryBestSizeReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ CARD16 nbytes B16; /* number of string bytes following structure */
+ BYTE pad1, pad2;
+} xQueryExtensionReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 numKeyPerModifier;
+ CARD16 length B16;
+} xSetModifierMappingReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 nElts; /* how many elements in the map */
+ CARD16 length B16;
+} xSetPointerMappingReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ KeyCode firstKeyCode;
+ CARD8 count;
+ CARD16 pad1 B16;
+} xGetKeyboardMappingReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 keyCodes;
+ CARD16 length B16;
+ KeyCode firstKeyCode;
+ CARD8 keySymsPerKeyCode;
+ CARD16 pad1 B16;
+} xChangeKeyboardMappingReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ CARD32 mask B32;
+} xChangeKeyboardControlReq;
+
+typedef struct {
+ CARD8 reqType;
+ INT8 percent; /* -100 to 100 */
+ CARD16 length B16;
+} xBellReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ INT16 accelNum B16, accelDenum B16;
+ INT16 threshold B16;
+ BOOL doAccel, doThresh;
+} xChangePointerControlReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ INT16 timeout B16, interval B16;
+ BYTE preferBlank, allowExpose;
+ CARD16 pad2 B16;
+} xSetScreenSaverReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE mode;
+ CARD16 length B16;
+ CARD8 hostFamily;
+ BYTE pad;
+ CARD16 hostLength B16;
+} xChangeHostsReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ } xListHostsReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE mode;
+ CARD16 length B16;
+ } xChangeModeReq;
+
+typedef xChangeModeReq xSetAccessControlReq;
+typedef xChangeModeReq xSetCloseDownModeReq;
+typedef xChangeModeReq xForceScreenSaverReq;
+
+typedef struct { /* followed by LIST of ATOM */
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Window window B32;
+ CARD16 nAtoms B16;
+ INT16 nPositions B16;
+ } xRotatePropertiesReq;
+
+
+
+/* Reply codes */
+
+#define X_Reply 1 /* Normal reply */
+#define X_Error 0 /* Error */
+
+/* Request codes */
+
+#define X_CreateWindow 1
+#define X_ChangeWindowAttributes 2
+#define X_GetWindowAttributes 3
+#define X_DestroyWindow 4
+#define X_DestroySubwindows 5
+#define X_ChangeSaveSet 6
+#define X_ReparentWindow 7
+#define X_MapWindow 8
+#define X_MapSubwindows 9
+#define X_UnmapWindow 10
+#define X_UnmapSubwindows 11
+#define X_ConfigureWindow 12
+#define X_CirculateWindow 13
+#define X_GetGeometry 14
+#define X_QueryTree 15
+#define X_InternAtom 16
+#define X_GetAtomName 17
+#define X_ChangeProperty 18
+#define X_DeleteProperty 19
+#define X_GetProperty 20
+#define X_ListProperties 21
+#define X_SetSelectionOwner 22
+#define X_GetSelectionOwner 23
+#define X_ConvertSelection 24
+#define X_SendEvent 25
+#define X_GrabPointer 26
+#define X_UngrabPointer 27
+#define X_GrabButton 28
+#define X_UngrabButton 29
+#define X_ChangeActivePointerGrab 30
+#define X_GrabKeyboard 31
+#define X_UngrabKeyboard 32
+#define X_GrabKey 33
+#define X_UngrabKey 34
+#define X_AllowEvents 35
+#define X_GrabServer 36
+#define X_UngrabServer 37
+#define X_QueryPointer 38
+#define X_GetMotionEvents 39
+#define X_TranslateCoords 40
+#define X_WarpPointer 41
+#define X_SetInputFocus 42
+#define X_GetInputFocus 43
+#define X_QueryKeymap 44
+#define X_OpenFont 45
+#define X_CloseFont 46
+#define X_QueryFont 47
+#define X_QueryTextExtents 48
+#define X_ListFonts 49
+#define X_ListFontsWithInfo 50
+#define X_SetFontPath 51
+#define X_GetFontPath 52
+#define X_CreatePixmap 53
+#define X_FreePixmap 54
+#define X_CreateGC 55
+#define X_ChangeGC 56
+#define X_CopyGC 57
+#define X_SetDashes 58
+#define X_SetClipRectangles 59
+#define X_FreeGC 60
+#define X_ClearArea 61
+#define X_CopyArea 62
+#define X_CopyPlane 63
+#define X_PolyPoint 64
+#define X_PolyLine 65
+#define X_PolySegment 66
+#define X_PolyRectangle 67
+#define X_PolyArc 68
+#define X_FillPoly 69
+#define X_PolyFillRectangle 70
+#define X_PolyFillArc 71
+#define X_PutImage 72
+#define X_GetImage 73
+#define X_PolyText8 74
+#define X_PolyText16 75
+#define X_ImageText8 76
+#define X_ImageText16 77
+#define X_CreateColormap 78
+#define X_FreeColormap 79
+#define X_CopyColormapAndFree 80
+#define X_InstallColormap 81
+#define X_UninstallColormap 82
+#define X_ListInstalledColormaps 83
+#define X_AllocColor 84
+#define X_AllocNamedColor 85
+#define X_AllocColorCells 86
+#define X_AllocColorPlanes 87
+#define X_FreeColors 88
+#define X_StoreColors 89
+#define X_StoreNamedColor 90
+#define X_QueryColors 91
+#define X_LookupColor 92
+#define X_CreateCursor 93
+#define X_CreateGlyphCursor 94
+#define X_FreeCursor 95
+#define X_RecolorCursor 96
+#define X_QueryBestSize 97
+#define X_QueryExtension 98
+#define X_ListExtensions 99
+#define X_ChangeKeyboardMapping 100
+#define X_GetKeyboardMapping 101
+#define X_ChangeKeyboardControl 102
+#define X_GetKeyboardControl 103
+#define X_Bell 104
+#define X_ChangePointerControl 105
+#define X_GetPointerControl 106
+#define X_SetScreenSaver 107
+#define X_GetScreenSaver 108
+#define X_ChangeHosts 109
+#define X_ListHosts 110
+#define X_SetAccessControl 111
+#define X_SetCloseDownMode 112
+#define X_KillClient 113
+#define X_RotateProperties 114
+#define X_ForceScreenSaver 115
+#define X_SetPointerMapping 116
+#define X_GetPointerMapping 117
+#define X_SetModifierMapping 118
+#define X_GetModifierMapping 119
+#define X_NoOperation 127
+
+/* restore these definitions back to the typedefs in X.h */
+#undef Window
+#undef Drawable
+#undef Font
+#undef Pixmap
+#undef Cursor
+#undef Colormap
+#undef GContext
+#undef Atom
+#undef VisualID
+#undef Time
+#undef KeyCode
+#undef KeySym
+
+#endif /* XPROTO_H */
diff --git a/stream-servers/apigen-codec-common/X11/Xprotostr.h b/stream-servers/apigen-codec-common/X11/Xprotostr.h
new file mode 100644
index 0000000..a9e854d
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/Xprotostr.h
@@ -0,0 +1,77 @@
+#ifndef XPROTOSTRUCTS_H
+#define XPROTOSTRUCTS_H
+
+/***********************************************************
+
+Copyright 1987, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+#include <X11/Xmd.h>
+
+/* Used by PolySegment */
+
+typedef struct _xSegment {
+ INT16 x1 B16, y1 B16, x2 B16, y2 B16;
+} xSegment;
+
+/* POINT */
+
+typedef struct _xPoint {
+ INT16 x B16, y B16;
+} xPoint;
+
+typedef struct _xRectangle {
+ INT16 x B16, y B16;
+ CARD16 width B16, height B16;
+} xRectangle;
+
+/* ARC */
+
+typedef struct _xArc {
+ INT16 x B16, y B16;
+ CARD16 width B16, height B16;
+ INT16 angle1 B16, angle2 B16;
+} xArc;
+
+#endif /* XPROTOSTRUCTS_H */
diff --git a/stream-servers/apigen-codec-common/X11/Xregion.h b/stream-servers/apigen-codec-common/X11/Xregion.h
new file mode 100644
index 0000000..c25d70b
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/Xregion.h
@@ -0,0 +1,189 @@
+/************************************************************************
+
+Copyright 1987, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+************************************************************************/
+
+#ifndef _X11_XREGION_H_
+#define _X11_XREGION_H_
+
+typedef struct {
+ short x1, x2, y1, y2;
+} Box, BOX, BoxRec, *BoxPtr;
+
+typedef struct {
+ short x, y, width, height;
+}RECTANGLE, RectangleRec, *RectanglePtr;
+
+#define TRUE 1
+#define FALSE 0
+#define MAXSHORT 32767
+#define MINSHORT -MAXSHORT
+#ifndef MAX
+#define MAX(a,b) (((a) > (b)) ? (a) : (b))
+#endif
+#ifndef MIN
+#define MIN(a,b) (((a) < (b)) ? (a) : (b))
+#endif
+
+
+/*
+ * clip region
+ */
+
+typedef struct _XRegion {
+ long size;
+ long numRects;
+ BOX *rects;
+ BOX extents;
+} REGION;
+
+/* Xutil.h contains the declaration:
+ * typedef struct _XRegion *Region;
+ */
+
+/* 1 if two BOXs overlap.
+ * 0 if two BOXs do not overlap.
+ * Remember, x2 and y2 are not in the region
+ */
+#define EXTENTCHECK(r1, r2) \
+ ((r1)->x2 > (r2)->x1 && \
+ (r1)->x1 < (r2)->x2 && \
+ (r1)->y2 > (r2)->y1 && \
+ (r1)->y1 < (r2)->y2)
+
+/*
+ * update region extents
+ */
+#define EXTENTS(r,idRect){\
+ if((r)->x1 < (idRect)->extents.x1)\
+ (idRect)->extents.x1 = (r)->x1;\
+ if((r)->y1 < (idRect)->extents.y1)\
+ (idRect)->extents.y1 = (r)->y1;\
+ if((r)->x2 > (idRect)->extents.x2)\
+ (idRect)->extents.x2 = (r)->x2;\
+ if((r)->y2 > (idRect)->extents.y2)\
+ (idRect)->extents.y2 = (r)->y2;\
+ }
+
+/*
+ * Check to see if there is enough memory in the present region.
+ */
+#define MEMCHECK(reg, rect, firstrect){\
+ if ((reg)->numRects >= ((reg)->size - 1)){\
+ (firstrect) = (BOX *) Xrealloc \
+ ((char *)(firstrect), (unsigned) (2 * (sizeof(BOX)) * ((reg)->size)));\
+ if ((firstrect) == 0)\
+ return(0);\
+ (reg)->size *= 2;\
+ (rect) = &(firstrect)[(reg)->numRects];\
+ }\
+ }
+
+/* this routine checks to see if the previous rectangle is the same
+ * or subsumes the new rectangle to add.
+ */
+
+#define CHECK_PREVIOUS(Reg, R, Rx1, Ry1, Rx2, Ry2)\
+ (!(((Reg)->numRects > 0)&&\
+ ((R-1)->y1 == (Ry1)) &&\
+ ((R-1)->y2 == (Ry2)) &&\
+ ((R-1)->x1 <= (Rx1)) &&\
+ ((R-1)->x2 >= (Rx2))))
+
+/* add a rectangle to the given Region */
+#define ADDRECT(reg, r, rx1, ry1, rx2, ry2){\
+ if (((rx1) < (rx2)) && ((ry1) < (ry2)) &&\
+ CHECK_PREVIOUS((reg), (r), (rx1), (ry1), (rx2), (ry2))){\
+ (r)->x1 = (rx1);\
+ (r)->y1 = (ry1);\
+ (r)->x2 = (rx2);\
+ (r)->y2 = (ry2);\
+ EXTENTS((r), (reg));\
+ (reg)->numRects++;\
+ (r)++;\
+ }\
+ }
+
+
+
+/* add a rectangle to the given Region */
+#define ADDRECTNOX(reg, r, rx1, ry1, rx2, ry2){\
+ if ((rx1 < rx2) && (ry1 < ry2) &&\
+ CHECK_PREVIOUS((reg), (r), (rx1), (ry1), (rx2), (ry2))){\
+ (r)->x1 = (rx1);\
+ (r)->y1 = (ry1);\
+ (r)->x2 = (rx2);\
+ (r)->y2 = (ry2);\
+ (reg)->numRects++;\
+ (r)++;\
+ }\
+ }
+
+#define EMPTY_REGION(pReg) pReg->numRects = 0
+
+#define REGION_NOT_EMPTY(pReg) pReg->numRects
+
+#define INBOX(r, x, y) \
+ ( ( ((r).x2 > x)) && \
+ ( ((r).x1 <= x)) && \
+ ( ((r).y2 > y)) && \
+ ( ((r).y1 <= y)) )
+
+/*
+ * number of points to buffer before sending them off
+ * to scanlines() : Must be an even number
+ */
+#define NUMPTSTOBUFFER 200
+
+/*
+ * used to allocate buffers for points and link
+ * the buffers together
+ */
+typedef struct _POINTBLOCK {
+ XPoint pts[NUMPTSTOBUFFER];
+ struct _POINTBLOCK *next;
+} POINTBLOCK;
+
+#endif /* _X11_XREGION_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/Xresource.h b/stream-servers/apigen-codec-common/X11/Xresource.h
new file mode 100644
index 0000000..6dbb3ce
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/Xresource.h
@@ -0,0 +1,358 @@
+
+/***********************************************************
+
+Copyright 1987, 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+#ifndef _X11_XRESOURCE_H_
+#define _X11_XRESOURCE_H_
+
+#ifndef _XP_PRINT_SERVER_
+#include <X11/Xlib.h>
+#endif
+
+/****************************************************************
+ ****************************************************************
+ *** ***
+ *** ***
+ *** X Resource Manager Intrinsics ***
+ *** ***
+ *** ***
+ ****************************************************************
+ ****************************************************************/
+
+_XFUNCPROTOBEGIN
+
+/****************************************************************
+ *
+ * Memory Management
+ *
+ ****************************************************************/
+
+extern char *Xpermalloc(
+ unsigned int /* size */
+);
+
+/****************************************************************
+ *
+ * Quark Management
+ *
+ ****************************************************************/
+
+typedef int XrmQuark, *XrmQuarkList;
+#define NULLQUARK ((XrmQuark) 0)
+
+typedef char *XrmString;
+#define NULLSTRING ((XrmString) 0)
+
+/* find quark for string, create new quark if none already exists */
+extern XrmQuark XrmStringToQuark(
+ _Xconst char* /* string */
+);
+
+extern XrmQuark XrmPermStringToQuark(
+ _Xconst char* /* string */
+);
+
+/* find string for quark */
+extern XrmString XrmQuarkToString(
+ XrmQuark /* quark */
+);
+
+extern XrmQuark XrmUniqueQuark(
+ void
+);
+
+#define XrmStringsEqual(a1, a2) (strcmp(a1, a2) == 0)
+
+
+/****************************************************************
+ *
+ * Conversion of Strings to Lists
+ *
+ ****************************************************************/
+
+typedef enum {XrmBindTightly, XrmBindLoosely} XrmBinding, *XrmBindingList;
+
+extern void XrmStringToQuarkList(
+ _Xconst char* /* string */,
+ XrmQuarkList /* quarks_return */
+);
+
+extern void XrmStringToBindingQuarkList(
+ _Xconst char* /* string */,
+ XrmBindingList /* bindings_return */,
+ XrmQuarkList /* quarks_return */
+);
+
+/****************************************************************
+ *
+ * Name and Class lists.
+ *
+ ****************************************************************/
+
+typedef XrmQuark XrmName;
+typedef XrmQuarkList XrmNameList;
+#define XrmNameToString(name) XrmQuarkToString(name)
+#define XrmStringToName(string) XrmStringToQuark(string)
+#define XrmStringToNameList(str, name) XrmStringToQuarkList(str, name)
+
+typedef XrmQuark XrmClass;
+typedef XrmQuarkList XrmClassList;
+#define XrmClassToString(c_class) XrmQuarkToString(c_class)
+#define XrmStringToClass(c_class) XrmStringToQuark(c_class)
+#define XrmStringToClassList(str,c_class) XrmStringToQuarkList(str, c_class)
+
+
+
+/****************************************************************
+ *
+ * Resource Representation Types and Values
+ *
+ ****************************************************************/
+
+typedef XrmQuark XrmRepresentation;
+#define XrmStringToRepresentation(string) XrmStringToQuark(string)
+#define XrmRepresentationToString(type) XrmQuarkToString(type)
+
+typedef struct {
+ unsigned int size;
+ XPointer addr;
+} XrmValue, *XrmValuePtr;
+
+
+/****************************************************************
+ *
+ * Resource Manager Functions
+ *
+ ****************************************************************/
+
+typedef struct _XrmHashBucketRec *XrmHashBucket;
+typedef XrmHashBucket *XrmHashTable;
+typedef XrmHashTable XrmSearchList[];
+typedef struct _XrmHashBucketRec *XrmDatabase;
+
+
+extern void XrmDestroyDatabase(
+ XrmDatabase /* database */
+);
+
+extern void XrmQPutResource(
+ XrmDatabase* /* database */,
+ XrmBindingList /* bindings */,
+ XrmQuarkList /* quarks */,
+ XrmRepresentation /* type */,
+ XrmValue* /* value */
+);
+
+extern void XrmPutResource(
+ XrmDatabase* /* database */,
+ _Xconst char* /* specifier */,
+ _Xconst char* /* type */,
+ XrmValue* /* value */
+);
+
+extern void XrmQPutStringResource(
+ XrmDatabase* /* database */,
+ XrmBindingList /* bindings */,
+ XrmQuarkList /* quarks */,
+ _Xconst char* /* value */
+);
+
+extern void XrmPutStringResource(
+ XrmDatabase* /* database */,
+ _Xconst char* /* specifier */,
+ _Xconst char* /* value */
+);
+
+extern void XrmPutLineResource(
+ XrmDatabase* /* database */,
+ _Xconst char* /* line */
+);
+
+extern Bool XrmQGetResource(
+ XrmDatabase /* database */,
+ XrmNameList /* quark_name */,
+ XrmClassList /* quark_class */,
+ XrmRepresentation* /* quark_type_return */,
+ XrmValue* /* value_return */
+);
+
+extern Bool XrmGetResource(
+ XrmDatabase /* database */,
+ _Xconst char* /* str_name */,
+ _Xconst char* /* str_class */,
+ char** /* str_type_return */,
+ XrmValue* /* value_return */
+);
+
+extern Bool XrmQGetSearchList(
+ XrmDatabase /* database */,
+ XrmNameList /* names */,
+ XrmClassList /* classes */,
+ XrmSearchList /* list_return */,
+ int /* list_length */
+);
+
+extern Bool XrmQGetSearchResource(
+ XrmSearchList /* list */,
+ XrmName /* name */,
+ XrmClass /* class */,
+ XrmRepresentation* /* type_return */,
+ XrmValue* /* value_return */
+);
+
+/****************************************************************
+ *
+ * Resource Database Management
+ *
+ ****************************************************************/
+
+#ifndef _XP_PRINT_SERVER_
+
+extern void XrmSetDatabase(
+ Display* /* display */,
+ XrmDatabase /* database */
+);
+
+extern XrmDatabase XrmGetDatabase(
+ Display* /* display */
+);
+
+#endif /* !_XP_PRINT_SERVER_ */
+
+extern XrmDatabase XrmGetFileDatabase(
+ _Xconst char* /* filename */
+);
+
+extern Status XrmCombineFileDatabase(
+ _Xconst char* /* filename */,
+ XrmDatabase* /* target */,
+ Bool /* override */
+);
+
+extern XrmDatabase XrmGetStringDatabase(
+ _Xconst char* /* data */ /* null terminated string */
+);
+
+extern void XrmPutFileDatabase(
+ XrmDatabase /* database */,
+ _Xconst char* /* filename */
+);
+
+extern void XrmMergeDatabases(
+ XrmDatabase /* source_db */,
+ XrmDatabase* /* target_db */
+);
+
+extern void XrmCombineDatabase(
+ XrmDatabase /* source_db */,
+ XrmDatabase* /* target_db */,
+ Bool /* override */
+);
+
+#define XrmEnumAllLevels 0
+#define XrmEnumOneLevel 1
+
+extern Bool XrmEnumerateDatabase(
+ XrmDatabase /* db */,
+ XrmNameList /* name_prefix */,
+ XrmClassList /* class_prefix */,
+ int /* mode */,
+ Bool (*)(
+ XrmDatabase* /* db */,
+ XrmBindingList /* bindings */,
+ XrmQuarkList /* quarks */,
+ XrmRepresentation* /* type */,
+ XrmValue* /* value */,
+ XPointer /* closure */
+ ) /* proc */,
+ XPointer /* closure */
+);
+
+extern const char *XrmLocaleOfDatabase(
+ XrmDatabase /* database */
+);
+
+
+/****************************************************************
+ *
+ * Command line option mapping to resource entries
+ *
+ ****************************************************************/
+
+typedef enum {
+ XrmoptionNoArg, /* Value is specified in OptionDescRec.value */
+ XrmoptionIsArg, /* Value is the option string itself */
+ XrmoptionStickyArg, /* Value is characters immediately following option */
+ XrmoptionSepArg, /* Value is next argument in argv */
+ XrmoptionResArg, /* Resource and value in next argument in argv */
+ XrmoptionSkipArg, /* Ignore this option and the next argument in argv */
+ XrmoptionSkipLine, /* Ignore this option and the rest of argv */
+ XrmoptionSkipNArgs /* Ignore this option and the next
+ OptionDescRes.value arguments in argv */
+} XrmOptionKind;
+
+typedef struct {
+ char *option; /* Option abbreviation in argv */
+ char *specifier; /* Resource specifier */
+ XrmOptionKind argKind; /* Which style of option it is */
+ XPointer value; /* Value to provide if XrmoptionNoArg */
+} XrmOptionDescRec, *XrmOptionDescList;
+
+
+extern void XrmParseCommand(
+ XrmDatabase* /* database */,
+ XrmOptionDescList /* table */,
+ int /* table_count */,
+ _Xconst char* /* name */,
+ int* /* argc_in_out */,
+ char** /* argv_in_out */
+);
+
+_XFUNCPROTOEND
+
+#endif /* _X11_XRESOURCE_H_ */
+/* DON'T ADD STUFF AFTER THIS #endif */
diff --git a/stream-servers/apigen-codec-common/X11/Xthreads.h b/stream-servers/apigen-codec-common/X11/Xthreads.h
new file mode 100644
index 0000000..3d44208
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/Xthreads.h
@@ -0,0 +1,313 @@
+/*
+ *
+Copyright 1993, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+ * *
+ */
+
+#ifndef _XTHREADS_H_
+# define _XTHREADS_H_
+
+/* Redefine these to XtMalloc/XtFree or whatever you want before including
+ * this header file.
+ */
+# ifndef xmalloc
+# define xmalloc malloc
+# endif
+# ifndef xfree
+# define xfree free
+# endif
+
+# ifdef CTHREADS
+# include <cthreads.h>
+typedef cthread_t xthread_t;
+typedef struct condition xcondition_rec;
+typedef struct mutex xmutex_rec;
+# define xthread_init() cthread_init()
+# define xthread_self cthread_self
+# define xthread_fork(func,closure) cthread_fork(func,closure)
+# define xthread_yield() cthread_yield()
+# define xthread_exit(v) cthread_exit(v)
+# define xthread_set_name(t,str) cthread_set_name(t,str)
+# define xmutex_init(m) mutex_init(m)
+# define xmutex_clear(m) mutex_clear(m)
+# define xmutex_lock(m) mutex_lock(m)
+# define xmutex_unlock(m) mutex_unlock(m)
+# define xmutex_set_name(m,str) mutex_set_name(m,str)
+# define xcondition_init(cv) condition_init(cv)
+# define xcondition_clear(cv) condition_clear(cv)
+# define xcondition_wait(cv,m) condition_wait(cv,m)
+# define xcondition_signal(cv) condition_signal(cv)
+# define xcondition_broadcast(cv) condition_broadcast(cv)
+# define xcondition_set_name(cv,str) condition_set_name(cv,str)
+# else /* !CTHREADS */
+# if defined(SVR4)
+# include <thread.h>
+# include <synch.h>
+typedef thread_t xthread_t;
+typedef thread_key_t xthread_key_t;
+typedef cond_t xcondition_rec;
+typedef mutex_t xmutex_rec;
+# if defined(__UNIXWARE__)
+extern xthread_t (*_x11_thr_self)();
+# define xthread_self (_x11_thr_self)
+# else
+# define xthread_self thr_self
+# endif
+# define xthread_fork(func,closure) thr_create(NULL,0,func,closure,THR_NEW_LWP|THR_DETACHED,NULL)
+# define xthread_yield() thr_yield()
+# define xthread_exit(v) thr_exit(v)
+# define xthread_key_create(kp,d) thr_keycreate(kp,d)
+# ifdef __sun
+# define xthread_key_delete(k) 0
+# else
+# define xthread_key_delete(k) thr_keydelete(k)
+# endif
+# define xthread_set_specific(k,v) thr_setspecific(k,v)
+# define xthread_get_specific(k,vp) thr_getspecific(k,vp)
+# define xmutex_init(m) mutex_init(m,USYNC_THREAD,0)
+# define xmutex_clear(m) mutex_destroy(m)
+# define xmutex_lock(m) mutex_lock(m)
+# define xmutex_unlock(m) mutex_unlock(m)
+# define xcondition_init(cv) cond_init(cv,USYNC_THREAD,0)
+# define xcondition_clear(cv) cond_destroy(cv)
+# define xcondition_wait(cv,m) cond_wait(cv,m)
+# define xcondition_signal(cv) cond_signal(cv)
+# define xcondition_broadcast(cv) cond_broadcast(cv)
+# else /* !SVR4 */
+# ifdef WIN32
+# include <X11/Xwindows.h>
+typedef DWORD xthread_t;
+typedef DWORD xthread_key_t;
+struct _xthread_waiter {
+ HANDLE sem;
+ struct _xthread_waiter *next;
+};
+typedef struct {
+ CRITICAL_SECTION cs;
+ struct _xthread_waiter *waiters;
+} xcondition_rec;
+typedef CRITICAL_SECTION xmutex_rec;
+# define xthread_init() _Xthread_init()
+# define xthread_self GetCurrentThreadId
+# define xthread_fork(func,closure) { \
+ DWORD _tmptid; \
+ CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)func, (LPVOID)closure, 0, \
+ &_tmptid); \
+}
+# define xthread_yield() Sleep(0)
+# define xthread_exit(v) ExitThread((DWORD)(v))
+# define xthread_key_create(kp,d) *(kp) = TlsAlloc()
+# define xthread_key_delete(k) TlsFree(k)
+# define xthread_set_specific(k,v) TlsSetValue(k,v)
+# define xthread_get_specific(k,vp) TlsGetValue(k)
+# define xmutex_init(m) InitializeCriticalSection(m)
+# define xmutex_clear(m) DeleteCriticalSection(m)
+# define _XMUTEX_NESTS
+# define xmutex_lock(m) EnterCriticalSection(m)
+# define xmutex_unlock(m) LeaveCriticalSection(m)
+# define xcondition_init(cv) { \
+ InitializeCriticalSection(&(cv)->cs); \
+ (cv)->waiters = NULL; \
+}
+# define xcondition_clear(cv) DeleteCriticalSection(&(cv)->cs)
+extern struct _xthread_waiter *_Xthread_waiter();
+# define xcondition_wait(cv,m) { \
+ struct _xthread_waiter *_tmpthr = _Xthread_waiter(); \
+ EnterCriticalSection(&(cv)->cs); \
+ _tmpthr->next = (cv)->waiters; \
+ (cv)->waiters = _tmpthr; \
+ LeaveCriticalSection(&(cv)->cs); \
+ LeaveCriticalSection(m); \
+ WaitForSingleObject(_tmpthr->sem, INFINITE); \
+ EnterCriticalSection(m); \
+}
+# define xcondition_signal(cv) { \
+ EnterCriticalSection(&(cv)->cs); \
+ if ((cv)->waiters) { \
+ ReleaseSemaphore((cv)->waiters->sem, 1, NULL); \
+ (cv)->waiters = (cv)->waiters->next; \
+ } \
+ LeaveCriticalSection(&(cv)->cs); \
+}
+# define xcondition_broadcast(cv) { \
+ struct _xthread_waiter *_tmpthr; \
+ EnterCriticalSection(&(cv)->cs); \
+ for (_tmpthr = (cv)->waiters; _tmpthr; _tmpthr = _tmpthr->next) \
+ ReleaseSemaphore(_tmpthr->sem, 1, NULL); \
+ (cv)->waiters = NULL; \
+ LeaveCriticalSection(&(cv)->cs); \
+}
+# else /* !WIN32 */
+# ifdef USE_TIS_SUPPORT
+/*
+ * TIS support is intended for thread safe libraries.
+ * This should not be used for general client programming.
+ */
+# include <tis.h>
+typedef pthread_t xthread_t;
+typedef pthread_key_t xthread_key_t;
+typedef pthread_cond_t xcondition_rec;
+typedef pthread_mutex_t xmutex_rec;
+# define xthread_self tis_self
+# define xthread_fork(func,closure) { pthread_t _tmpxthr; \
+ pthread_create(&_tmpxthr,NULL,func,closure); }
+# define xthread_yield() pthread_yield_np()
+# define xthread_exit(v) pthread_exit(v)
+# define xthread_key_create(kp,d) tis_key_create(kp,d)
+# define xthread_key_delete(k) tis_key_delete(k)
+# define xthread_set_specific(k,v) tis_setspecific(k,v)
+# define xthread_get_specific(k,vp) *(vp) = tis_getspecific(k)
+# define XMUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER
+# define xmutex_init(m) tis_mutex_init(m)
+# define xmutex_clear(m) tis_mutex_destroy(m)
+# define xmutex_lock(m) tis_mutex_lock(m)
+# define xmutex_unlock(m) tis_mutex_unlock(m)
+# define xcondition_init(c) tis_cond_init(c)
+# define xcondition_clear(c) tis_cond_destroy(c)
+# define xcondition_wait(c,m) tis_cond_wait(c,m)
+# define xcondition_signal(c) tis_cond_signal(c)
+# define xcondition_broadcast(c) tis_cond_broadcast(c)
+# else
+# ifdef USE_NBSD_THREADLIB
+/*
+ * NetBSD threadlib support is intended for thread safe libraries.
+ * This should not be used for general client programming.
+ */
+# include <threadlib.h>
+typedef thr_t xthread_t;
+typedef thread_key_t xthread_key_t;
+typedef cond_t xcondition_rec;
+typedef mutex_t xmutex_rec;
+# define xthread_self thr_self
+# define xthread_fork(func,closure) { thr_t _tmpxthr; \
+ /* XXX Create it detached? --thorpej */ \
+ thr_create(&_tmpxthr,NULL,func,closure); }
+# define xthread_yield() thr_yield()
+# define xthread_exit(v) thr_exit(v)
+# define xthread_key_create(kp,d) thr_keycreate(kp,d)
+# define xthread_key_delete(k) thr_keydelete(k)
+# define xthread_set_specific(k,v) thr_setspecific(k,v)
+# define xthread_get_specific(k,vp) *(vp) = thr_getspecific(k)
+# define XMUTEX_INITIALIZER MUTEX_INITIALIZER
+# define xmutex_init(m) mutex_init(m, 0)
+# define xmutex_clear(m) mutex_destroy(m)
+# define xmutex_lock(m) mutex_lock(m)
+# define xmutex_unlock(m) mutex_unlock(m)
+# define xcondition_init(c) cond_init(c, 0, 0)
+# define xcondition_clear(c) cond_destroy(c)
+# define xcondition_wait(c,m) cond_wait(c,m)
+# define xcondition_signal(c) cond_signal(c)
+# define xcondition_broadcast(c) cond_broadcast(c)
+# else
+# include <pthread.h>
+typedef pthread_t xthread_t;
+typedef pthread_key_t xthread_key_t;
+typedef pthread_cond_t xcondition_rec;
+typedef pthread_mutex_t xmutex_rec;
+# define xthread_self pthread_self
+# define xthread_yield() pthread_yield()
+# define xthread_exit(v) pthread_exit(v)
+# define xthread_set_specific(k,v) pthread_setspecific(k,v)
+# define xmutex_clear(m) pthread_mutex_destroy(m)
+# define xmutex_lock(m) pthread_mutex_lock(m)
+# define xmutex_unlock(m) pthread_mutex_unlock(m)
+# ifndef XPRE_STANDARD_API
+# define xthread_key_create(kp,d) pthread_key_create(kp,d)
+# define xthread_key_delete(k) pthread_key_delete(k)
+# define xthread_get_specific(k,vp) *(vp) = pthread_getspecific(k)
+# define xthread_fork(func,closure) { pthread_t _tmpxthr; \
+ pthread_create(&_tmpxthr,NULL,func,closure); }
+# define XMUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER
+# define xmutex_init(m) pthread_mutex_init(m, NULL)
+# define xcondition_init(c) pthread_cond_init(c, NULL)
+# else /* XPRE_STANDARD_API */
+# define xthread_key_create(kp,d) pthread_keycreate(kp,d)
+# define xthread_key_delete(k) 0
+# define xthread_get_specific(k,vp) pthread_getspecific(k,vp)
+# define xthread_fork(func,closure) { pthread_t _tmpxthr; \
+ pthread_create(&_tmpxthr,pthread_attr_default,func,closure); }
+# define xmutex_init(m) pthread_mutex_init(m, pthread_mutexattr_default)
+# define xcondition_init(c) pthread_cond_init(c, pthread_condattr_default)
+# endif /* XPRE_STANDARD_API */
+# define xcondition_clear(c) pthread_cond_destroy(c)
+# define xcondition_wait(c,m) pthread_cond_wait(c,m)
+# define xcondition_signal(c) pthread_cond_signal(c)
+# define xcondition_broadcast(c) pthread_cond_broadcast(c)
+# if defined(_DECTHREADS_)
+static xthread_t _X_no_thread_id;
+# define xthread_have_id(id) !pthread_equal(id, _X_no_thread_id)
+# define xthread_clear_id(id) id = _X_no_thread_id
+# define xthread_equal(id1,id2) pthread_equal(id1, id2)
+# endif /* _DECTHREADS_ */
+# if defined(__linux__)
+# define xthread_have_id(id) !pthread_equal(id, 0)
+# define xthread_clear_id(id) id = 0
+# define xthread_equal(id1,id2) pthread_equal(id1, id2)
+# endif /* linux */
+# if defined(_CMA_VENDOR_) && defined(_CMA__IBM) && (_CMA_VENDOR_ == _CMA__IBM)
+# ifdef DEBUG /* too much of a hack to enable normally */
+/* see also cma__obj_set_name() */
+# define xmutex_set_name(m,str) ((char**)(m)->field1)[5] = (str)
+# define xcondition_set_name(cv,str) ((char**)(cv)->field1)[5] = (str)
+# endif /* DEBUG */
+# endif /* _CMA_VENDOR_ == _CMA__IBM */
+# endif /* USE_NBSD_THREADLIB */
+# endif /* USE_TIS_SUPPORT */
+# endif /* WIN32 */
+# endif /* SVR4 */
+# endif /* CTHREADS */
+typedef xcondition_rec *xcondition_t;
+typedef xmutex_rec *xmutex_t;
+# ifndef xcondition_malloc
+# define xcondition_malloc() (xcondition_t)xmalloc(sizeof(xcondition_rec))
+# endif
+# ifndef xcondition_free
+# define xcondition_free(c) xfree((char *)c)
+# endif
+# ifndef xmutex_malloc
+# define xmutex_malloc() (xmutex_t)xmalloc(sizeof(xmutex_rec))
+# endif
+# ifndef xmutex_free
+# define xmutex_free(m) xfree((char *)m)
+# endif
+# ifndef xthread_have_id
+# define xthread_have_id(id) id
+# endif
+# ifndef xthread_clear_id
+# define xthread_clear_id(id) id = 0
+# endif
+# ifndef xthread_equal
+# define xthread_equal(id1,id2) ((id1) == (id2))
+# endif
+/* aids understood by some debuggers */
+# ifndef xthread_set_name
+# define xthread_set_name(t,str)
+# endif
+# ifndef xmutex_set_name
+# define xmutex_set_name(m,str)
+# endif
+# ifndef xcondition_set_name
+# define xcondition_set_name(cv,str)
+# endif
+
+#endif /* _XTHREADS_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/Xutil.h b/stream-servers/apigen-codec-common/X11/Xutil.h
new file mode 100644
index 0000000..8cab50e
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/Xutil.h
@@ -0,0 +1,826 @@
+
+/***********************************************************
+
+Copyright 1987, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+#ifndef _X11_XUTIL_H_
+#define _X11_XUTIL_H_
+
+/* You must include <X11/Xlib.h> before including this file */
+#include <X11/Xlib.h>
+#include <X11/keysym.h>
+
+/*
+ * Bitmask returned by XParseGeometry(). Each bit tells if the corresponding
+ * value (x, y, width, height) was found in the parsed string.
+ */
+#define NoValue 0x0000
+#define XValue 0x0001
+#define YValue 0x0002
+#define WidthValue 0x0004
+#define HeightValue 0x0008
+#define AllValues 0x000F
+#define XNegative 0x0010
+#define YNegative 0x0020
+
+/*
+ * new version containing base_width, base_height, and win_gravity fields;
+ * used with WM_NORMAL_HINTS.
+ */
+typedef struct {
+ long flags; /* marks which fields in this structure are defined */
+ int x, y; /* obsolete for new window mgrs, but clients */
+ int width, height; /* should set so old wm's don't mess up */
+ int min_width, min_height;
+ int max_width, max_height;
+ int width_inc, height_inc;
+ struct {
+ int x; /* numerator */
+ int y; /* denominator */
+ } min_aspect, max_aspect;
+ int base_width, base_height; /* added by ICCCM version 1 */
+ int win_gravity; /* added by ICCCM version 1 */
+} XSizeHints;
+
+/*
+ * The next block of definitions are for window manager properties that
+ * clients and applications use for communication.
+ */
+
+/* flags argument in size hints */
+#define USPosition (1L << 0) /* user specified x, y */
+#define USSize (1L << 1) /* user specified width, height */
+
+#define PPosition (1L << 2) /* program specified position */
+#define PSize (1L << 3) /* program specified size */
+#define PMinSize (1L << 4) /* program specified minimum size */
+#define PMaxSize (1L << 5) /* program specified maximum size */
+#define PResizeInc (1L << 6) /* program specified resize increments */
+#define PAspect (1L << 7) /* program specified min and max aspect ratios */
+#define PBaseSize (1L << 8) /* program specified base for incrementing */
+#define PWinGravity (1L << 9) /* program specified window gravity */
+
+/* obsolete */
+#define PAllHints (PPosition|PSize|PMinSize|PMaxSize|PResizeInc|PAspect)
+
+
+
+typedef struct {
+ long flags; /* marks which fields in this structure are defined */
+ Bool input; /* does this application rely on the window manager to
+ get keyboard input? */
+ int initial_state; /* see below */
+ Pixmap icon_pixmap; /* pixmap to be used as icon */
+ Window icon_window; /* window to be used as icon */
+ int icon_x, icon_y; /* initial position of icon */
+ Pixmap icon_mask; /* icon mask bitmap */
+ XID window_group; /* id of related window group */
+ /* this structure may be extended in the future */
+} XWMHints;
+
+/* definition for flags of XWMHints */
+
+#define InputHint (1L << 0)
+#define StateHint (1L << 1)
+#define IconPixmapHint (1L << 2)
+#define IconWindowHint (1L << 3)
+#define IconPositionHint (1L << 4)
+#define IconMaskHint (1L << 5)
+#define WindowGroupHint (1L << 6)
+#define AllHints (InputHint|StateHint|IconPixmapHint|IconWindowHint| \
+IconPositionHint|IconMaskHint|WindowGroupHint)
+#define XUrgencyHint (1L << 8)
+
+/* definitions for initial window state */
+#define WithdrawnState 0 /* for windows that are not mapped */
+#define NormalState 1 /* most applications want to start this way */
+#define IconicState 3 /* application wants to start as an icon */
+
+/*
+ * Obsolete states no longer defined by ICCCM
+ */
+#define DontCareState 0 /* don't know or care */
+#define ZoomState 2 /* application wants to start zoomed */
+#define InactiveState 4 /* application believes it is seldom used; */
+ /* some wm's may put it on inactive menu */
+
+
+/*
+ * new structure for manipulating TEXT properties; used with WM_NAME,
+ * WM_ICON_NAME, WM_CLIENT_MACHINE, and WM_COMMAND.
+ */
+typedef struct {
+ unsigned char *value; /* same as Property routines */
+ Atom encoding; /* prop type */
+ int format; /* prop data format: 8, 16, or 32 */
+ unsigned long nitems; /* number of data items in value */
+} XTextProperty;
+
+#define XNoMemory -1
+#define XLocaleNotSupported -2
+#define XConverterNotFound -3
+
+typedef enum {
+ XStringStyle, /* STRING */
+ XCompoundTextStyle, /* COMPOUND_TEXT */
+ XTextStyle, /* text in owner's encoding (current locale)*/
+ XStdICCTextStyle, /* STRING, else COMPOUND_TEXT */
+ /* The following is an XFree86 extension, introduced in November 2000 */
+ XUTF8StringStyle /* UTF8_STRING */
+} XICCEncodingStyle;
+
+typedef struct {
+ int min_width, min_height;
+ int max_width, max_height;
+ int width_inc, height_inc;
+} XIconSize;
+
+typedef struct {
+ char *res_name;
+ char *res_class;
+} XClassHint;
+
+#ifdef XUTIL_DEFINE_FUNCTIONS
+extern int XDestroyImage(
+ XImage *ximage);
+extern unsigned long XGetPixel(
+ XImage *ximage,
+ int x, int y);
+extern int XPutPixel(
+ XImage *ximage,
+ int x, int y,
+ unsigned long pixel);
+extern XImage *XSubImage(
+ XImage *ximage,
+ int x, int y,
+ unsigned int width, unsigned int height);
+extern int XAddPixel(
+ XImage *ximage,
+ long value);
+#else
+/*
+ * These macros are used to give some sugar to the image routines so that
+ * naive people are more comfortable with them.
+ */
+#define XDestroyImage(ximage) \
+ ((*((ximage)->f.destroy_image))((ximage)))
+#define XGetPixel(ximage, x, y) \
+ ((*((ximage)->f.get_pixel))((ximage), (x), (y)))
+#define XPutPixel(ximage, x, y, pixel) \
+ ((*((ximage)->f.put_pixel))((ximage), (x), (y), (pixel)))
+#define XSubImage(ximage, x, y, width, height) \
+ ((*((ximage)->f.sub_image))((ximage), (x), (y), (width), (height)))
+#define XAddPixel(ximage, value) \
+ ((*((ximage)->f.add_pixel))((ximage), (value)))
+#endif
+
+/*
+ * Compose sequence status structure, used in calling XLookupString.
+ */
+typedef struct _XComposeStatus {
+ XPointer compose_ptr; /* state table pointer */
+ int chars_matched; /* match state */
+} XComposeStatus;
+
+/*
+ * Keysym macros, used on Keysyms to test for classes of symbols
+ */
+#define IsKeypadKey(keysym) \
+ (((KeySym)(keysym) >= XK_KP_Space) && ((KeySym)(keysym) <= XK_KP_Equal))
+
+#define IsPrivateKeypadKey(keysym) \
+ (((KeySym)(keysym) >= 0x11000000) && ((KeySym)(keysym) <= 0x1100FFFF))
+
+#define IsCursorKey(keysym) \
+ (((KeySym)(keysym) >= XK_Home) && ((KeySym)(keysym) < XK_Select))
+
+#define IsPFKey(keysym) \
+ (((KeySym)(keysym) >= XK_KP_F1) && ((KeySym)(keysym) <= XK_KP_F4))
+
+#define IsFunctionKey(keysym) \
+ (((KeySym)(keysym) >= XK_F1) && ((KeySym)(keysym) <= XK_F35))
+
+#define IsMiscFunctionKey(keysym) \
+ (((KeySym)(keysym) >= XK_Select) && ((KeySym)(keysym) <= XK_Break))
+
+#ifdef XK_XKB_KEYS
+#define IsModifierKey(keysym) \
+ ((((KeySym)(keysym) >= XK_Shift_L) && ((KeySym)(keysym) <= XK_Hyper_R)) \
+ || (((KeySym)(keysym) >= XK_ISO_Lock) && \
+ ((KeySym)(keysym) <= XK_ISO_Level5_Lock)) \
+ || ((KeySym)(keysym) == XK_Mode_switch) \
+ || ((KeySym)(keysym) == XK_Num_Lock))
+#else
+#define IsModifierKey(keysym) \
+ ((((KeySym)(keysym) >= XK_Shift_L) && ((KeySym)(keysym) <= XK_Hyper_R)) \
+ || ((KeySym)(keysym) == XK_Mode_switch) \
+ || ((KeySym)(keysym) == XK_Num_Lock))
+#endif
+/*
+ * opaque reference to Region data type
+ */
+typedef struct _XRegion *Region;
+
+/* Return values from XRectInRegion() */
+
+#define RectangleOut 0
+#define RectangleIn 1
+#define RectanglePart 2
+
+
+/*
+ * Information used by the visual utility routines to find desired visual
+ * type from the many visuals a display may support.
+ */
+
+typedef struct {
+ Visual *visual;
+ VisualID visualid;
+ int screen;
+ int depth;
+#if defined(__cplusplus) || defined(c_plusplus)
+ int c_class; /* C++ */
+#else
+ int class;
+#endif
+ unsigned long red_mask;
+ unsigned long green_mask;
+ unsigned long blue_mask;
+ int colormap_size;
+ int bits_per_rgb;
+} XVisualInfo;
+
+#define VisualNoMask 0x0
+#define VisualIDMask 0x1
+#define VisualScreenMask 0x2
+#define VisualDepthMask 0x4
+#define VisualClassMask 0x8
+#define VisualRedMaskMask 0x10
+#define VisualGreenMaskMask 0x20
+#define VisualBlueMaskMask 0x40
+#define VisualColormapSizeMask 0x80
+#define VisualBitsPerRGBMask 0x100
+#define VisualAllMask 0x1FF
+
+/*
+ * This defines a window manager property that clients may use to
+ * share standard color maps of type RGB_COLOR_MAP:
+ */
+typedef struct {
+ Colormap colormap;
+ unsigned long red_max;
+ unsigned long red_mult;
+ unsigned long green_max;
+ unsigned long green_mult;
+ unsigned long blue_max;
+ unsigned long blue_mult;
+ unsigned long base_pixel;
+ VisualID visualid; /* added by ICCCM version 1 */
+ XID killid; /* added by ICCCM version 1 */
+} XStandardColormap;
+
+#define ReleaseByFreeingColormap ((XID) 1L) /* for killid field above */
+
+
+/*
+ * return codes for XReadBitmapFile and XWriteBitmapFile
+ */
+#define BitmapSuccess 0
+#define BitmapOpenFailed 1
+#define BitmapFileInvalid 2
+#define BitmapNoMemory 3
+
+/****************************************************************
+ *
+ * Context Management
+ *
+ ****************************************************************/
+
+
+/* Associative lookup table return codes */
+
+#define XCSUCCESS 0 /* No error. */
+#define XCNOMEM 1 /* Out of memory */
+#define XCNOENT 2 /* No entry in table */
+
+typedef int XContext;
+
+#define XUniqueContext() ((XContext) XrmUniqueQuark())
+#define XStringToContext(string) ((XContext) XrmStringToQuark(string))
+
+_XFUNCPROTOBEGIN
+
+/* The following declarations are alphabetized. */
+
+extern XClassHint *XAllocClassHint (
+ void
+);
+
+extern XIconSize *XAllocIconSize (
+ void
+);
+
+extern XSizeHints *XAllocSizeHints (
+ void
+);
+
+extern XStandardColormap *XAllocStandardColormap (
+ void
+);
+
+extern XWMHints *XAllocWMHints (
+ void
+);
+
+extern int XClipBox(
+ Region /* r */,
+ XRectangle* /* rect_return */
+);
+
+extern Region XCreateRegion(
+ void
+);
+
+extern const char *XDefaultString (void);
+
+extern int XDeleteContext(
+ Display* /* display */,
+ XID /* rid */,
+ XContext /* context */
+);
+
+extern int XDestroyRegion(
+ Region /* r */
+);
+
+extern int XEmptyRegion(
+ Region /* r */
+);
+
+extern int XEqualRegion(
+ Region /* r1 */,
+ Region /* r2 */
+);
+
+extern int XFindContext(
+ Display* /* display */,
+ XID /* rid */,
+ XContext /* context */,
+ XPointer* /* data_return */
+);
+
+extern Status XGetClassHint(
+ Display* /* display */,
+ Window /* w */,
+ XClassHint* /* class_hints_return */
+);
+
+extern Status XGetIconSizes(
+ Display* /* display */,
+ Window /* w */,
+ XIconSize** /* size_list_return */,
+ int* /* count_return */
+);
+
+extern Status XGetNormalHints(
+ Display* /* display */,
+ Window /* w */,
+ XSizeHints* /* hints_return */
+);
+
+extern Status XGetRGBColormaps(
+ Display* /* display */,
+ Window /* w */,
+ XStandardColormap** /* stdcmap_return */,
+ int* /* count_return */,
+ Atom /* property */
+);
+
+extern Status XGetSizeHints(
+ Display* /* display */,
+ Window /* w */,
+ XSizeHints* /* hints_return */,
+ Atom /* property */
+);
+
+extern Status XGetStandardColormap(
+ Display* /* display */,
+ Window /* w */,
+ XStandardColormap* /* colormap_return */,
+ Atom /* property */
+);
+
+extern Status XGetTextProperty(
+ Display* /* display */,
+ Window /* window */,
+ XTextProperty* /* text_prop_return */,
+ Atom /* property */
+);
+
+extern XVisualInfo *XGetVisualInfo(
+ Display* /* display */,
+ long /* vinfo_mask */,
+ XVisualInfo* /* vinfo_template */,
+ int* /* nitems_return */
+);
+
+extern Status XGetWMClientMachine(
+ Display* /* display */,
+ Window /* w */,
+ XTextProperty* /* text_prop_return */
+);
+
+extern XWMHints *XGetWMHints(
+ Display* /* display */,
+ Window /* w */
+);
+
+extern Status XGetWMIconName(
+ Display* /* display */,
+ Window /* w */,
+ XTextProperty* /* text_prop_return */
+);
+
+extern Status XGetWMName(
+ Display* /* display */,
+ Window /* w */,
+ XTextProperty* /* text_prop_return */
+);
+
+extern Status XGetWMNormalHints(
+ Display* /* display */,
+ Window /* w */,
+ XSizeHints* /* hints_return */,
+ long* /* supplied_return */
+);
+
+extern Status XGetWMSizeHints(
+ Display* /* display */,
+ Window /* w */,
+ XSizeHints* /* hints_return */,
+ long* /* supplied_return */,
+ Atom /* property */
+);
+
+extern Status XGetZoomHints(
+ Display* /* display */,
+ Window /* w */,
+ XSizeHints* /* zhints_return */
+);
+
+extern int XIntersectRegion(
+ Region /* sra */,
+ Region /* srb */,
+ Region /* dr_return */
+);
+
+extern void XConvertCase(
+ KeySym /* sym */,
+ KeySym* /* lower */,
+ KeySym* /* upper */
+);
+
+extern int XLookupString(
+ XKeyEvent* /* event_struct */,
+ char* /* buffer_return */,
+ int /* bytes_buffer */,
+ KeySym* /* keysym_return */,
+ XComposeStatus* /* status_in_out */
+);
+
+extern Status XMatchVisualInfo(
+ Display* /* display */,
+ int /* screen */,
+ int /* depth */,
+ int /* class */,
+ XVisualInfo* /* vinfo_return */
+);
+
+extern int XOffsetRegion(
+ Region /* r */,
+ int /* dx */,
+ int /* dy */
+);
+
+extern Bool XPointInRegion(
+ Region /* r */,
+ int /* x */,
+ int /* y */
+);
+
+extern Region XPolygonRegion(
+ XPoint* /* points */,
+ int /* n */,
+ int /* fill_rule */
+);
+
+extern int XRectInRegion(
+ Region /* r */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */
+);
+
+extern int XSaveContext(
+ Display* /* display */,
+ XID /* rid */,
+ XContext /* context */,
+ _Xconst char* /* data */
+);
+
+extern int XSetClassHint(
+ Display* /* display */,
+ Window /* w */,
+ XClassHint* /* class_hints */
+);
+
+extern int XSetIconSizes(
+ Display* /* display */,
+ Window /* w */,
+ XIconSize* /* size_list */,
+ int /* count */
+);
+
+extern int XSetNormalHints(
+ Display* /* display */,
+ Window /* w */,
+ XSizeHints* /* hints */
+);
+
+extern void XSetRGBColormaps(
+ Display* /* display */,
+ Window /* w */,
+ XStandardColormap* /* stdcmaps */,
+ int /* count */,
+ Atom /* property */
+);
+
+extern int XSetSizeHints(
+ Display* /* display */,
+ Window /* w */,
+ XSizeHints* /* hints */,
+ Atom /* property */
+);
+
+extern int XSetStandardProperties(
+ Display* /* display */,
+ Window /* w */,
+ _Xconst char* /* window_name */,
+ _Xconst char* /* icon_name */,
+ Pixmap /* icon_pixmap */,
+ char** /* argv */,
+ int /* argc */,
+ XSizeHints* /* hints */
+);
+
+extern void XSetTextProperty(
+ Display* /* display */,
+ Window /* w */,
+ XTextProperty* /* text_prop */,
+ Atom /* property */
+);
+
+extern void XSetWMClientMachine(
+ Display* /* display */,
+ Window /* w */,
+ XTextProperty* /* text_prop */
+);
+
+extern int XSetWMHints(
+ Display* /* display */,
+ Window /* w */,
+ XWMHints* /* wm_hints */
+);
+
+extern void XSetWMIconName(
+ Display* /* display */,
+ Window /* w */,
+ XTextProperty* /* text_prop */
+);
+
+extern void XSetWMName(
+ Display* /* display */,
+ Window /* w */,
+ XTextProperty* /* text_prop */
+);
+
+extern void XSetWMNormalHints(
+ Display* /* display */,
+ Window /* w */,
+ XSizeHints* /* hints */
+);
+
+extern void XSetWMProperties(
+ Display* /* display */,
+ Window /* w */,
+ XTextProperty* /* window_name */,
+ XTextProperty* /* icon_name */,
+ char** /* argv */,
+ int /* argc */,
+ XSizeHints* /* normal_hints */,
+ XWMHints* /* wm_hints */,
+ XClassHint* /* class_hints */
+);
+
+extern void XmbSetWMProperties(
+ Display* /* display */,
+ Window /* w */,
+ _Xconst char* /* window_name */,
+ _Xconst char* /* icon_name */,
+ char** /* argv */,
+ int /* argc */,
+ XSizeHints* /* normal_hints */,
+ XWMHints* /* wm_hints */,
+ XClassHint* /* class_hints */
+);
+
+extern void Xutf8SetWMProperties(
+ Display* /* display */,
+ Window /* w */,
+ _Xconst char* /* window_name */,
+ _Xconst char* /* icon_name */,
+ char** /* argv */,
+ int /* argc */,
+ XSizeHints* /* normal_hints */,
+ XWMHints* /* wm_hints */,
+ XClassHint* /* class_hints */
+);
+
+extern void XSetWMSizeHints(
+ Display* /* display */,
+ Window /* w */,
+ XSizeHints* /* hints */,
+ Atom /* property */
+);
+
+extern int XSetRegion(
+ Display* /* display */,
+ GC /* gc */,
+ Region /* r */
+);
+
+extern void XSetStandardColormap(
+ Display* /* display */,
+ Window /* w */,
+ XStandardColormap* /* colormap */,
+ Atom /* property */
+);
+
+extern int XSetZoomHints(
+ Display* /* display */,
+ Window /* w */,
+ XSizeHints* /* zhints */
+);
+
+extern int XShrinkRegion(
+ Region /* r */,
+ int /* dx */,
+ int /* dy */
+);
+
+extern Status XStringListToTextProperty(
+ char** /* list */,
+ int /* count */,
+ XTextProperty* /* text_prop_return */
+);
+
+extern int XSubtractRegion(
+ Region /* sra */,
+ Region /* srb */,
+ Region /* dr_return */
+);
+
+extern int XmbTextListToTextProperty(
+ Display* display,
+ char** list,
+ int count,
+ XICCEncodingStyle style,
+ XTextProperty* text_prop_return
+);
+
+extern int XwcTextListToTextProperty(
+ Display* display,
+ wchar_t** list,
+ int count,
+ XICCEncodingStyle style,
+ XTextProperty* text_prop_return
+);
+
+extern int Xutf8TextListToTextProperty(
+ Display* display,
+ char** list,
+ int count,
+ XICCEncodingStyle style,
+ XTextProperty* text_prop_return
+);
+
+extern void XwcFreeStringList(
+ wchar_t** list
+);
+
+extern Status XTextPropertyToStringList(
+ XTextProperty* /* text_prop */,
+ char*** /* list_return */,
+ int* /* count_return */
+);
+
+extern int XmbTextPropertyToTextList(
+ Display* display,
+ const XTextProperty* text_prop,
+ char*** list_return,
+ int* count_return
+);
+
+extern int XwcTextPropertyToTextList(
+ Display* display,
+ const XTextProperty* text_prop,
+ wchar_t*** list_return,
+ int* count_return
+);
+
+extern int Xutf8TextPropertyToTextList(
+ Display* display,
+ const XTextProperty* text_prop,
+ char*** list_return,
+ int* count_return
+);
+
+extern int XUnionRectWithRegion(
+ XRectangle* /* rectangle */,
+ Region /* src_region */,
+ Region /* dest_region_return */
+);
+
+extern int XUnionRegion(
+ Region /* sra */,
+ Region /* srb */,
+ Region /* dr_return */
+);
+
+extern int XWMGeometry(
+ Display* /* display */,
+ int /* screen_number */,
+ _Xconst char* /* user_geometry */,
+ _Xconst char* /* default_geometry */,
+ unsigned int /* border_width */,
+ XSizeHints* /* hints */,
+ int* /* x_return */,
+ int* /* y_return */,
+ int* /* width_return */,
+ int* /* height_return */,
+ int* /* gravity_return */
+);
+
+extern int XXorRegion(
+ Region /* sra */,
+ Region /* srb */,
+ Region /* dr_return */
+);
+
+_XFUNCPROTOEND
+
+#endif /* _X11_XUTIL_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/Xw32defs.h b/stream-servers/apigen-codec-common/X11/Xw32defs.h
new file mode 100644
index 0000000..b2e4b33
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/Xw32defs.h
@@ -0,0 +1,79 @@
+#ifndef _XW32DEFS_H
+# define _XW32DEFS_H
+
+# ifdef __GNUC__ /* mingw is more close to unix than msvc */
+# if !defined(__daddr_t_defined)
+typedef char *caddr_t;
+# endif
+# define lstat stat
+
+# else
+typedef char *caddr_t;
+
+# define access _access
+# define alloca _alloca
+# define chdir _chdir
+# define chmod _chmod
+# define close _close
+# define creat _creat
+# define dup _dup
+# define dup2 _dup2
+# define environ _environ
+# define execl _execl
+# define execle _execle
+# define execlp _execlp
+# define execlpe _execlpe
+# define execv _execv
+# define execve _execve
+# define execvp _execvp
+# define execvpe _execvpe
+# define fdopen _fdopen
+# define fileno _fileno
+# define fstat _fstat
+# define getcwd _getcwd
+# define getpid _getpid
+# define hypot _hypot
+# define isascii __isascii
+# define isatty _isatty
+# define lseek _lseek
+# define mkdir _mkdir
+# define mktemp _mktemp
+# define open _open
+# define putenv _putenv
+# define read _read
+# define rmdir _rmdir
+# define sleep(x) Sleep((x) * 1000)
+# define stat _stat
+# define sys_errlist _sys_errlist
+# define sys_nerr _sys_nerr
+# define umask _umask
+# define unlink _unlink
+# define write _write
+# define random rand
+# define srandom srand
+
+# define O_RDONLY _O_RDONLY
+# define O_WRONLY _O_WRONLY
+# define O_RDWR _O_RDWR
+# define O_APPEND _O_APPEND
+# define O_CREAT _O_CREAT
+# define O_TRUNC _O_TRUNC
+# define O_EXCL _O_EXCL
+# define O_TEXT _O_TEXT
+# define O_BINARY _O_BINARY
+# define O_RAW _O_BINARY
+
+# define S_IFMT _S_IFMT
+# define S_IFDIR _S_IFDIR
+# define S_IFCHR _S_IFCHR
+# define S_IFREG _S_IFREG
+# define S_IREAD _S_IREAD
+# define S_IWRITE _S_IWRITE
+# define S_IEXEC _S_IEXEC
+
+# define F_OK 0
+# define X_OK 1
+# define W_OK 2
+# define R_OK 4
+# endif /* __GNUC__ */
+#endif
diff --git a/stream-servers/apigen-codec-common/X11/Xwindows.h b/stream-servers/apigen-codec-common/X11/Xwindows.h
new file mode 100644
index 0000000..6318155
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/Xwindows.h
@@ -0,0 +1,91 @@
+/*
+
+Copyright 1996, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
+ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
+SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABIL-
+ITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization from
+The Open Group.
+
+*/
+
+/*
+ * This header file has the sole purpose of allowing the inclusion of
+ * windows.h without getting any name conflicts with X headers code, by
+ * renaming the conflicting definitions from windows.h
+ *
+ * Some (non-Microsoft) versions of the Windows API headers actually avoid
+ * making the conflicting definitions if XFree86Server is defined, so we
+ * need to remember if that was defined and undefine it during including
+ * windows.h (so the conflicting definitions get wrapped correctly), and
+ * then redefine it afterwards...
+ *
+ * There doesn't seem to be a good way to wrap the min/max macros from
+ * windows.h, so we simply avoid defining them completely, allowing any
+ * pre-existing definition to stand.
+ *
+ */
+
+#undef _XFree86Server
+#ifdef XFree86Server
+# define _XFree86Server
+# undef XFree86Server
+#endif
+
+#define NOMINMAX
+#define BOOL wBOOL
+#define INT32 wINT32
+#undef Status
+#define Status wStatus
+#define ATOM wATOM
+#define BYTE wBYTE
+#define FreeResource wFreeResource
+#include <windows.h>
+#undef NOMINMAX
+#undef Status
+#define Status int
+#undef BYTE
+#undef BOOL
+#undef INT32
+#undef ATOM
+#undef FreeResource
+#undef CreateWindowA
+
+#ifdef RESOURCE_H
+# undef RT_FONT
+# undef RT_CURSOR
+# define RT_FONT ((RESTYPE)4)
+# define RT_CURSOR ((RESTYPE)5)
+#endif
+
+#ifndef __CYGWIN__
+#define sleep(x) Sleep((x) * 1000)
+#endif
+
+#if defined(WIN32) && (!defined(PATH_MAX) || PATH_MAX < 1024)
+# undef PATH_MAX
+# define PATH_MAX 1024
+#endif
+
+#ifdef _XFree86Server
+# define XFree86Server
+# undef _XFree86Server
+#endif
+
diff --git a/stream-servers/apigen-codec-common/X11/Xwinsock.h b/stream-servers/apigen-codec-common/X11/Xwinsock.h
new file mode 100644
index 0000000..e6ca7b5
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/Xwinsock.h
@@ -0,0 +1,65 @@
+/*
+
+Copyright 1996, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
+ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
+SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABIL-
+ITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization from
+The Open Group.
+
+*/
+
+/*
+ * This header file has for sole purpose to allow to include winsock.h
+ * without getting any name conflicts with our code.
+ * Conflicts come from the fact that including winsock.h actually pulls
+ * in the whole Windows API...
+ */
+
+#undef _XFree86Server
+#ifdef XFree86Server
+# define _XFree86Server
+# undef XFree86Server
+#endif
+
+#define BOOL wBOOL
+#define INT32 wINT32
+#undef Status
+#define Status wStatus
+#define ATOM wATOM
+#define BYTE wBYTE
+#define FreeResource wFreeResource
+#include <winsock2.h>
+#undef Status
+#define Status int
+#undef BYTE
+#undef BOOL
+#undef INT32
+#undef ATOM
+#undef FreeResource
+#undef CreateWindowA
+#undef RT_FONT
+#undef RT_CURSOR
+
+#ifdef _XFree86Server
+# define XFree86Server
+# undef _XFree86Server
+#endif
+
diff --git a/stream-servers/apigen-codec-common/X11/ap_keysym.h b/stream-servers/apigen-codec-common/X11/ap_keysym.h
new file mode 100644
index 0000000..9a11971
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/ap_keysym.h
@@ -0,0 +1,51 @@
+/******************************************************************
+Copyright 1987 by Apollo Computer Inc., Chelmsford, Massachusetts.
+Copyright 1989 by Hewlett-Packard Company.
+
+ All Rights Reserved
+
+Permission to use, duplicate, change, and distribute this software and
+its documentation for any purpose and without fee is granted, provided
+that the above copyright notice appear in such copy and that this
+copyright notice appear in all supporting documentation, and that the
+names of Apollo Computer Inc., the Hewlett-Packard Company, or the X
+Consortium not be used in advertising or publicity pertaining to
+distribution of the software without written prior permission.
+
+HEWLETT-PACKARD MAKES NO WARRANTY OF ANY KIND WITH REGARD
+TO THIS SOFWARE, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. Hewlett-Packard shall not be liable for errors
+contained herein or direct, indirect, special, incidental or
+consequential damages in connection with the furnishing,
+performance, or use of this material.
+
+This software is not subject to any license of the American
+Telephone and Telegraph Company or of the Regents of the
+University of California.
+******************************************************************/
+
+#define apXK_LineDel 0x1000FF00
+#define apXK_CharDel 0x1000FF01
+#define apXK_Copy 0x1000FF02
+#define apXK_Cut 0x1000FF03
+#define apXK_Paste 0x1000FF04
+#define apXK_Move 0x1000FF05
+#define apXK_Grow 0x1000FF06
+#define apXK_Cmd 0x1000FF07
+#define apXK_Shell 0x1000FF08
+#define apXK_LeftBar 0x1000FF09
+#define apXK_RightBar 0x1000FF0A
+#define apXK_LeftBox 0x1000FF0B
+#define apXK_RightBox 0x1000FF0C
+#define apXK_UpBox 0x1000FF0D
+#define apXK_DownBox 0x1000FF0E
+#define apXK_Pop 0x1000FF0F
+#define apXK_Read 0x1000FF10
+#define apXK_Edit 0x1000FF11
+#define apXK_Save 0x1000FF12
+#define apXK_Exit 0x1000FF13
+#define apXK_Repeat 0x1000FF14
+
+#define apXK_KP_parenleft 0x1000FFA8
+#define apXK_KP_parenright 0x1000FFA9
diff --git a/stream-servers/apigen-codec-common/X11/cursorfont.h b/stream-servers/apigen-codec-common/X11/cursorfont.h
new file mode 100644
index 0000000..c69d508
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/cursorfont.h
@@ -0,0 +1,111 @@
+/*
+
+Copyright 1987, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+*/
+
+#ifndef _X11_CURSORFONT_H_
+#define _X11_CURSORFONT_H_
+
+#define XC_num_glyphs 154
+#define XC_X_cursor 0
+#define XC_arrow 2
+#define XC_based_arrow_down 4
+#define XC_based_arrow_up 6
+#define XC_boat 8
+#define XC_bogosity 10
+#define XC_bottom_left_corner 12
+#define XC_bottom_right_corner 14
+#define XC_bottom_side 16
+#define XC_bottom_tee 18
+#define XC_box_spiral 20
+#define XC_center_ptr 22
+#define XC_circle 24
+#define XC_clock 26
+#define XC_coffee_mug 28
+#define XC_cross 30
+#define XC_cross_reverse 32
+#define XC_crosshair 34
+#define XC_diamond_cross 36
+#define XC_dot 38
+#define XC_dotbox 40
+#define XC_double_arrow 42
+#define XC_draft_large 44
+#define XC_draft_small 46
+#define XC_draped_box 48
+#define XC_exchange 50
+#define XC_fleur 52
+#define XC_gobbler 54
+#define XC_gumby 56
+#define XC_hand1 58
+#define XC_hand2 60
+#define XC_heart 62
+#define XC_icon 64
+#define XC_iron_cross 66
+#define XC_left_ptr 68
+#define XC_left_side 70
+#define XC_left_tee 72
+#define XC_leftbutton 74
+#define XC_ll_angle 76
+#define XC_lr_angle 78
+#define XC_man 80
+#define XC_middlebutton 82
+#define XC_mouse 84
+#define XC_pencil 86
+#define XC_pirate 88
+#define XC_plus 90
+#define XC_question_arrow 92
+#define XC_right_ptr 94
+#define XC_right_side 96
+#define XC_right_tee 98
+#define XC_rightbutton 100
+#define XC_rtl_logo 102
+#define XC_sailboat 104
+#define XC_sb_down_arrow 106
+#define XC_sb_h_double_arrow 108
+#define XC_sb_left_arrow 110
+#define XC_sb_right_arrow 112
+#define XC_sb_up_arrow 114
+#define XC_sb_v_double_arrow 116
+#define XC_shuttle 118
+#define XC_sizing 120
+#define XC_spider 122
+#define XC_spraycan 124
+#define XC_star 126
+#define XC_target 128
+#define XC_tcross 130
+#define XC_top_left_arrow 132
+#define XC_top_left_corner 134
+#define XC_top_right_corner 136
+#define XC_top_side 138
+#define XC_top_tee 140
+#define XC_trek 142
+#define XC_ul_angle 144
+#define XC_umbrella 146
+#define XC_ur_angle 148
+#define XC_watch 150
+#define XC_xterm 152
+
+#endif /* _X11_CURSORFONT_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/extensions/EVI.h b/stream-servers/apigen-codec-common/X11/extensions/EVI.h
new file mode 100644
index 0000000..7f3f733
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/EVI.h
@@ -0,0 +1,36 @@
+/************************************************************
+Copyright (c) 1997 by Silicon Graphics Computer Systems, Inc.
+Permission to use, copy, modify, and distribute this
+software and its documentation for any purpose and without
+fee is hereby granted, provided that the above copyright
+notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting
+documentation, and that the name of Silicon Graphics not be
+used in advertising or publicity pertaining to distribution
+of the software without specific prior written permission.
+Silicon Graphics makes no representation about the suitability
+of this software for any purpose. It is provided "as is"
+without any express or implied warranty.
+SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
+DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
+THE USE OR PERFORMANCE OF THIS SOFTWARE.
+********************************************************/
+
+#ifndef _EVI_H_
+#define _EVI_H_
+
+#define XEVI_TRANSPARENCY_NONE 0
+#define XEVI_TRANSPARENCY_PIXEL 1
+#define XEVI_TRANSPARENCY_MASK 2
+
+#define EVINAME "Extended-Visual-Information"
+
+#define XEVI_MAJOR_VERSION 1 /* current version numbers */
+#define XEVI_MINOR_VERSION 0
+
+#endif
diff --git a/stream-servers/apigen-codec-common/X11/extensions/EVIproto.h b/stream-servers/apigen-codec-common/X11/extensions/EVIproto.h
new file mode 100644
index 0000000..afa282a
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/EVIproto.h
@@ -0,0 +1,96 @@
+/************************************************************
+Copyright (c) 1997 by Silicon Graphics Computer Systems, Inc.
+Permission to use, copy, modify, and distribute this
+software and its documentation for any purpose and without
+fee is hereby granted, provided that the above copyright
+notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting
+documentation, and that the name of Silicon Graphics not be
+used in advertising or publicity pertaining to distribution
+of the software without specific prior written permission.
+Silicon Graphics makes no representation about the suitability
+of this software for any purpose. It is provided "as is"
+without any express or implied warranty.
+SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
+DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
+THE USE OR PERFORMANCE OF THIS SOFTWARE.
+********************************************************/
+
+#ifndef _EVIPROTO_H_
+#define _EVIPROTO_H_
+
+#include <X11/extensions/EVI.h>
+
+#define X_EVIQueryVersion 0
+#define X_EVIGetVisualInfo 1
+
+#define VisualID CARD32
+
+typedef CARD32 VisualID32;
+#define sz_VisualID32 4
+
+typedef struct _xExtendedVisualInfo {
+ VisualID core_visual_id B32;
+ INT8 screen;
+ INT8 level;
+ CARD8 transparency_type;
+ CARD8 pad0;
+ CARD32 transparency_value B32;
+ CARD8 min_hw_colormaps;
+ CARD8 max_hw_colormaps;
+ CARD16 num_colormap_conflicts B16;
+} xExtendedVisualInfo;
+#define sz_xExtendedVisualInfo 16
+
+typedef struct _XEVIQueryVersion {
+ CARD8 reqType; /* always XEVIReqCode */
+ CARD8 xeviReqType; /* always X_EVIQueryVersion */
+ CARD16 length B16;
+} xEVIQueryVersionReq;
+#define sz_xEVIQueryVersionReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 majorVersion B16; /* major version of EVI protocol */
+ CARD16 minorVersion B16; /* minor version of EVI protocol */
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xEVIQueryVersionReply;
+#define sz_xEVIQueryVersionReply 32
+
+typedef struct _XEVIGetVisualInfoReq {
+ CARD8 reqType; /* always XEVIReqCode */
+ CARD8 xeviReqType; /* always X_EVIGetVisualInfo */
+ CARD16 length B16;
+ CARD32 n_visual B32;
+} xEVIGetVisualInfoReq;
+#define sz_xEVIGetVisualInfoReq 8
+
+typedef struct _XEVIGetVisualInfoReply {
+ BYTE type; /* X_Reply */
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 n_info B32;
+ CARD32 n_conflicts B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+} xEVIGetVisualInfoReply;
+#define sz_xEVIGetVisualInfoReply 32
+
+#undef VisualID
+
+#endif /* _EVIPROTO_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/extensions/MITMisc.h b/stream-servers/apigen-codec-common/X11/extensions/MITMisc.h
new file mode 100644
index 0000000..4cfb334
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/MITMisc.h
@@ -0,0 +1,54 @@
+/************************************************************
+
+Copyright 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+********************************************************/
+
+/* RANDOM CRUFT! THIS HAS NO OFFICIAL X CONSORTIUM OR X PROJECT TEAM BLESSING */
+
+#ifndef _XMITMISC_H_
+#define _XMITMISC_H_
+
+#include <X11/Xfuncproto.h>
+#include <X11/extensions/mitmiscconst.h>
+
+_XFUNCPROTOBEGIN
+
+Bool XMITMiscQueryExtension(
+ Display* /* dpy */,
+ int* /* event_basep */,
+ int* /* error_basep */
+);
+
+Status XMITMiscSetBugMode(
+ Display* /* dpy */,
+ Bool /* onOff */
+);
+
+Bool XMITMiscGetBugMode(
+ Display* /* dpy */
+);
+
+_XFUNCPROTOEND
+
+#endif
diff --git a/stream-servers/apigen-codec-common/X11/extensions/XEVI.h b/stream-servers/apigen-codec-common/X11/extensions/XEVI.h
new file mode 100644
index 0000000..9ca4412
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/XEVI.h
@@ -0,0 +1,61 @@
+/************************************************************
+Copyright (c) 1997 by Silicon Graphics Computer Systems, Inc.
+Permission to use, copy, modify, and distribute this
+software and its documentation for any purpose and without
+fee is hereby granted, provided that the above copyright
+notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting
+documentation, and that the name of Silicon Graphics not be
+used in advertising or publicity pertaining to distribution
+of the software without specific prior written permission.
+Silicon Graphics makes no representation about the suitability
+of this software for any purpose. It is provided "as is"
+without any express or implied warranty.
+SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
+DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
+THE USE OR PERFORMANCE OF THIS SOFTWARE.
+********************************************************/
+
+#ifndef _XEVI_H_
+#define _XEVI_H_
+#include <X11/Xfuncproto.h>
+#include <X11/extensions/EVI.h>
+
+typedef struct {
+ VisualID core_visual_id;
+ int screen;
+ int level;
+ unsigned int transparency_type;
+ unsigned int transparency_value;
+ unsigned int min_hw_colormaps;
+ unsigned int max_hw_colormaps;
+ unsigned int num_colormap_conflicts;
+ VisualID* colormap_conflicts;
+} ExtendedVisualInfo;
+
+_XFUNCPROTOBEGIN
+
+Bool XeviQueryExtension(
+ Display* /* dpy */
+);
+Status XeviQueryVersion(
+ Display* /* dpy */,
+ int* /* majorVersion */,
+ int* /* minorVersion */
+);
+Status XeviGetVisualInfo(
+ Display* /* dpy */,
+ VisualID* /* visual_query */,
+ int /* nVisual_query */,
+ ExtendedVisualInfo** /* extendedVisualInfo_return */,
+ int* /* nInfo_return */
+);
+
+_XFUNCPROTOEND
+
+#endif
diff --git a/stream-servers/apigen-codec-common/X11/extensions/XI.h b/stream-servers/apigen-codec-common/X11/extensions/XI.h
new file mode 100644
index 0000000..7b44399
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/XI.h
@@ -0,0 +1,308 @@
+/************************************************************
+
+Copyright 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+Copyright 1989 by Hewlett-Packard Company, Palo Alto, California.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Hewlett-Packard not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+HEWLETT-PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+HEWLETT-PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+********************************************************/
+
+/* Definitions used by the server, library and client */
+
+#ifndef _XI_H_
+#define _XI_H_
+
+#define sz_xGetExtensionVersionReq 8
+#define sz_xGetExtensionVersionReply 32
+#define sz_xListInputDevicesReq 4
+#define sz_xListInputDevicesReply 32
+#define sz_xOpenDeviceReq 8
+#define sz_xOpenDeviceReply 32
+#define sz_xCloseDeviceReq 8
+#define sz_xSetDeviceModeReq 8
+#define sz_xSetDeviceModeReply 32
+#define sz_xSelectExtensionEventReq 12
+#define sz_xGetSelectedExtensionEventsReq 8
+#define sz_xGetSelectedExtensionEventsReply 32
+#define sz_xChangeDeviceDontPropagateListReq 12
+#define sz_xGetDeviceDontPropagateListReq 8
+#define sz_xGetDeviceDontPropagateListReply 32
+#define sz_xGetDeviceMotionEventsReq 16
+#define sz_xGetDeviceMotionEventsReply 32
+#define sz_xChangeKeyboardDeviceReq 8
+#define sz_xChangeKeyboardDeviceReply 32
+#define sz_xChangePointerDeviceReq 8
+#define sz_xChangePointerDeviceReply 32
+#define sz_xGrabDeviceReq 20
+#define sz_xGrabDeviceReply 32
+#define sz_xUngrabDeviceReq 12
+#define sz_xGrabDeviceKeyReq 20
+#define sz_xGrabDeviceKeyReply 32
+#define sz_xUngrabDeviceKeyReq 16
+#define sz_xGrabDeviceButtonReq 20
+#define sz_xGrabDeviceButtonReply 32
+#define sz_xUngrabDeviceButtonReq 16
+#define sz_xAllowDeviceEventsReq 12
+#define sz_xGetDeviceFocusReq 8
+#define sz_xGetDeviceFocusReply 32
+#define sz_xSetDeviceFocusReq 16
+#define sz_xGetFeedbackControlReq 8
+#define sz_xGetFeedbackControlReply 32
+#define sz_xChangeFeedbackControlReq 12
+#define sz_xGetDeviceKeyMappingReq 8
+#define sz_xGetDeviceKeyMappingReply 32
+#define sz_xChangeDeviceKeyMappingReq 8
+#define sz_xGetDeviceModifierMappingReq 8
+#define sz_xSetDeviceModifierMappingReq 8
+#define sz_xSetDeviceModifierMappingReply 32
+#define sz_xGetDeviceButtonMappingReq 8
+#define sz_xGetDeviceButtonMappingReply 32
+#define sz_xSetDeviceButtonMappingReq 8
+#define sz_xSetDeviceButtonMappingReply 32
+#define sz_xQueryDeviceStateReq 8
+#define sz_xQueryDeviceStateReply 32
+#define sz_xSendExtensionEventReq 16
+#define sz_xDeviceBellReq 8
+#define sz_xSetDeviceValuatorsReq 8
+#define sz_xSetDeviceValuatorsReply 32
+#define sz_xGetDeviceControlReq 8
+#define sz_xGetDeviceControlReply 32
+#define sz_xChangeDeviceControlReq 8
+#define sz_xChangeDeviceControlReply 32
+#define sz_xListDevicePropertiesReq 8
+#define sz_xListDevicePropertiesReply 32
+#define sz_xChangeDevicePropertyReq 20
+#define sz_xDeleteDevicePropertyReq 12
+#define sz_xGetDevicePropertyReq 24
+#define sz_xGetDevicePropertyReply 32
+
+#define INAME "XInputExtension"
+
+#define XI_KEYBOARD "KEYBOARD"
+#define XI_MOUSE "MOUSE"
+#define XI_TABLET "TABLET"
+#define XI_TOUCHSCREEN "TOUCHSCREEN"
+#define XI_TOUCHPAD "TOUCHPAD"
+#define XI_BARCODE "BARCODE"
+#define XI_BUTTONBOX "BUTTONBOX"
+#define XI_KNOB_BOX "KNOB_BOX"
+#define XI_ONE_KNOB "ONE_KNOB"
+#define XI_NINE_KNOB "NINE_KNOB"
+#define XI_TRACKBALL "TRACKBALL"
+#define XI_QUADRATURE "QUADRATURE"
+#define XI_ID_MODULE "ID_MODULE"
+#define XI_SPACEBALL "SPACEBALL"
+#define XI_DATAGLOVE "DATAGLOVE"
+#define XI_EYETRACKER "EYETRACKER"
+#define XI_CURSORKEYS "CURSORKEYS"
+#define XI_FOOTMOUSE "FOOTMOUSE"
+#define XI_JOYSTICK "JOYSTICK"
+
+/* Indices into the versions[] array (XExtInt.c). Used as a index to
+ * retrieve the minimum version of XI from _XiCheckExtInit */
+#define Dont_Check 0
+#define XInput_Initial_Release 1
+#define XInput_Add_XDeviceBell 2
+#define XInput_Add_XSetDeviceValuators 3
+#define XInput_Add_XChangeDeviceControl 4
+#define XInput_Add_DevicePresenceNotify 5
+#define XInput_Add_DeviceProperties 6
+/* DO NOT ADD TO HERE -> XI2 */
+
+#define XI_Absent 0
+#define XI_Present 1
+
+#define XI_Initial_Release_Major 1
+#define XI_Initial_Release_Minor 0
+
+#define XI_Add_XDeviceBell_Major 1
+#define XI_Add_XDeviceBell_Minor 1
+
+#define XI_Add_XSetDeviceValuators_Major 1
+#define XI_Add_XSetDeviceValuators_Minor 2
+
+#define XI_Add_XChangeDeviceControl_Major 1
+#define XI_Add_XChangeDeviceControl_Minor 3
+
+#define XI_Add_DevicePresenceNotify_Major 1
+#define XI_Add_DevicePresenceNotify_Minor 4
+
+#define XI_Add_DeviceProperties_Major 1
+#define XI_Add_DeviceProperties_Minor 5
+
+#define DEVICE_RESOLUTION 1
+#define DEVICE_ABS_CALIB 2
+#define DEVICE_CORE 3
+#define DEVICE_ENABLE 4
+#define DEVICE_ABS_AREA 5
+
+#define NoSuchExtension 1
+
+#define COUNT 0
+#define CREATE 1
+
+#define NewPointer 0
+#define NewKeyboard 1
+
+#define XPOINTER 0
+#define XKEYBOARD 1
+
+#define UseXKeyboard 0xFF
+
+#define IsXPointer 0
+#define IsXKeyboard 1
+#define IsXExtensionDevice 2
+#define IsXExtensionKeyboard 3
+#define IsXExtensionPointer 4
+
+#define AsyncThisDevice 0
+#define SyncThisDevice 1
+#define ReplayThisDevice 2
+#define AsyncOtherDevices 3
+#define AsyncAll 4
+#define SyncAll 5
+
+#define FollowKeyboard 3
+#ifndef RevertToFollowKeyboard
+#define RevertToFollowKeyboard 3
+#endif
+
+#define DvAccelNum (1L << 0)
+#define DvAccelDenom (1L << 1)
+#define DvThreshold (1L << 2)
+
+#define DvKeyClickPercent (1L<<0)
+#define DvPercent (1L<<1)
+#define DvPitch (1L<<2)
+#define DvDuration (1L<<3)
+#define DvLed (1L<<4)
+#define DvLedMode (1L<<5)
+#define DvKey (1L<<6)
+#define DvAutoRepeatMode (1L<<7)
+
+#define DvString (1L << 0)
+
+#define DvInteger (1L << 0)
+
+#define DeviceMode (1L << 0)
+#define Relative 0
+#define Absolute 1
+
+#define ProximityState (1L << 1)
+#define InProximity (0L << 1)
+#define OutOfProximity (1L << 1)
+
+#define AddToList 0
+#define DeleteFromList 1
+
+#define KeyClass 0
+#define ButtonClass 1
+#define ValuatorClass 2
+#define FeedbackClass 3
+#define ProximityClass 4
+#define FocusClass 5
+#define OtherClass 6
+#define AttachClass 7
+
+#define KbdFeedbackClass 0
+#define PtrFeedbackClass 1
+#define StringFeedbackClass 2
+#define IntegerFeedbackClass 3
+#define LedFeedbackClass 4
+#define BellFeedbackClass 5
+
+#define _devicePointerMotionHint 0
+#define _deviceButton1Motion 1
+#define _deviceButton2Motion 2
+#define _deviceButton3Motion 3
+#define _deviceButton4Motion 4
+#define _deviceButton5Motion 5
+#define _deviceButtonMotion 6
+#define _deviceButtonGrab 7
+#define _deviceOwnerGrabButton 8
+#define _noExtensionEvent 9
+
+#define _devicePresence 0
+
+#define _deviceEnter 0
+#define _deviceLeave 1
+
+/* Device presence notify states */
+#define DeviceAdded 0
+#define DeviceRemoved 1
+#define DeviceEnabled 2
+#define DeviceDisabled 3
+#define DeviceUnrecoverable 4
+#define DeviceControlChanged 5
+
+/* XI Errors */
+#define XI_BadDevice 0
+#define XI_BadEvent 1
+#define XI_BadMode 2
+#define XI_DeviceBusy 3
+#define XI_BadClass 4
+
+/*
+ * Make XEventClass be a CARD32 for 64 bit servers. Don't affect client
+ * definition of XEventClass since that would be a library interface change.
+ * See the top of X.h for more _XSERVER64 magic.
+ *
+ * But, don't actually use the CARD32 type. We can't get it defined here
+ * without polluting the namespace.
+ */
+#ifdef _XSERVER64
+typedef unsigned int XEventClass;
+#else
+typedef unsigned long XEventClass;
+#endif
+
+/*******************************************************************
+ *
+ * Extension version structure.
+ *
+ */
+
+typedef struct {
+ int present;
+ short major_version;
+ short minor_version;
+} XExtensionVersion;
+
+#endif /* _XI_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/extensions/XI2.h b/stream-servers/apigen-codec-common/X11/extensions/XI2.h
new file mode 100644
index 0000000..b1498a7
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/XI2.h
@@ -0,0 +1,245 @@
+/*
+ * Copyright © 2009 Red Hat, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ */
+
+#ifndef _XI2_H_
+#define _XI2_H_
+
+#define XInput_2_0 7
+/* DO NOT ADD TO THIS LIST. These are libXi-specific defines.
+ See commit libXi-1.4.2-21-ge8531dd */
+
+#define XI_2_Major 2
+#define XI_2_Minor 3
+
+/* Property event flags */
+#define XIPropertyDeleted 0
+#define XIPropertyCreated 1
+#define XIPropertyModified 2
+
+/* Property modes */
+#define XIPropModeReplace 0
+#define XIPropModePrepend 1
+#define XIPropModeAppend 2
+
+/* Special property type used for XIGetProperty */
+#define XIAnyPropertyType 0L
+
+/* Enter/Leave and Focus In/Out modes */
+#define XINotifyNormal 0
+#define XINotifyGrab 1
+#define XINotifyUngrab 2
+#define XINotifyWhileGrabbed 3
+#define XINotifyPassiveGrab 4
+#define XINotifyPassiveUngrab 5
+
+/* Enter/Leave and focus In/out detail */
+#define XINotifyAncestor 0
+#define XINotifyVirtual 1
+#define XINotifyInferior 2
+#define XINotifyNonlinear 3
+#define XINotifyNonlinearVirtual 4
+#define XINotifyPointer 5
+#define XINotifyPointerRoot 6
+#define XINotifyDetailNone 7
+
+/* Grab modes */
+#define XIGrabModeSync 0
+#define XIGrabModeAsync 1
+#define XIGrabModeTouch 2
+
+/* Grab reply status codes */
+#define XIGrabSuccess 0
+#define XIAlreadyGrabbed 1
+#define XIGrabInvalidTime 2
+#define XIGrabNotViewable 3
+#define XIGrabFrozen 4
+
+/* Grab owner events values */
+#define XIOwnerEvents True
+#define XINoOwnerEvents False
+
+/* Passive grab types */
+#define XIGrabtypeButton 0
+#define XIGrabtypeKeycode 1
+#define XIGrabtypeEnter 2
+#define XIGrabtypeFocusIn 3
+#define XIGrabtypeTouchBegin 4
+
+/* Passive grab modifier */
+#define XIAnyModifier (1U << 31)
+#define XIAnyButton 0
+#define XIAnyKeycode 0
+
+/* XIAllowEvents event-modes */
+#define XIAsyncDevice 0
+#define XISyncDevice 1
+#define XIReplayDevice 2
+#define XIAsyncPairedDevice 3
+#define XIAsyncPair 4
+#define XISyncPair 5
+#define XIAcceptTouch 6
+#define XIRejectTouch 7
+
+/* DeviceChangedEvent change reasons */
+#define XISlaveSwitch 1
+#define XIDeviceChange 2
+
+/* Hierarchy flags */
+#define XIMasterAdded (1 << 0)
+#define XIMasterRemoved (1 << 1)
+#define XISlaveAdded (1 << 2)
+#define XISlaveRemoved (1 << 3)
+#define XISlaveAttached (1 << 4)
+#define XISlaveDetached (1 << 5)
+#define XIDeviceEnabled (1 << 6)
+#define XIDeviceDisabled (1 << 7)
+
+/* ChangeHierarchy constants */
+#define XIAddMaster 1
+#define XIRemoveMaster 2
+#define XIAttachSlave 3
+#define XIDetachSlave 4
+
+#define XIAttachToMaster 1
+#define XIFloating 2
+
+/* Valuator modes */
+#define XIModeRelative 0
+#define XIModeAbsolute 1
+
+/* Device types */
+#define XIMasterPointer 1
+#define XIMasterKeyboard 2
+#define XISlavePointer 3
+#define XISlaveKeyboard 4
+#define XIFloatingSlave 5
+
+/* Device classes: classes that are not identical to Xi 1.x classes must be
+ * numbered starting from 8. */
+#define XIKeyClass 0
+#define XIButtonClass 1
+#define XIValuatorClass 2
+#define XIScrollClass 3
+#define XITouchClass 8
+
+/* Scroll class types */
+#define XIScrollTypeVertical 1
+#define XIScrollTypeHorizontal 2
+
+/* Scroll class flags */
+#define XIScrollFlagNoEmulation (1 << 0)
+#define XIScrollFlagPreferred (1 << 1)
+
+/* Device event flags (common) */
+/* Device event flags (key events only) */
+#define XIKeyRepeat (1 << 16)
+/* Device event flags (pointer events only) */
+#define XIPointerEmulated (1 << 16)
+/* Device event flags (touch events only) */
+#define XITouchPendingEnd (1 << 16)
+#define XITouchEmulatingPointer (1 << 17)
+
+/* Barrier event flags */
+#define XIBarrierPointerReleased (1 << 0)
+#define XIBarrierDeviceIsGrabbed (1 << 1)
+
+
+/* Touch modes */
+#define XIDirectTouch 1
+#define XIDependentTouch 2
+
+/* XI2 event mask macros */
+#define XISetMask(ptr, event) (((unsigned char*)(ptr))[(event)>>3] |= (1 << ((event) & 7)))
+#define XIClearMask(ptr, event) (((unsigned char*)(ptr))[(event)>>3] &= ~(1 << ((event) & 7)))
+#define XIMaskIsSet(ptr, event) (((unsigned char*)(ptr))[(event)>>3] & (1 << ((event) & 7)))
+#define XIMaskLen(event) (((event) >> 3) + 1)
+
+/* Fake device ID's for event selection */
+#define XIAllDevices 0
+#define XIAllMasterDevices 1
+
+/* Event types */
+#define XI_DeviceChanged 1
+#define XI_KeyPress 2
+#define XI_KeyRelease 3
+#define XI_ButtonPress 4
+#define XI_ButtonRelease 5
+#define XI_Motion 6
+#define XI_Enter 7
+#define XI_Leave 8
+#define XI_FocusIn 9
+#define XI_FocusOut 10
+#define XI_HierarchyChanged 11
+#define XI_PropertyEvent 12
+#define XI_RawKeyPress 13
+#define XI_RawKeyRelease 14
+#define XI_RawButtonPress 15
+#define XI_RawButtonRelease 16
+#define XI_RawMotion 17
+#define XI_TouchBegin 18 /* XI 2.2 */
+#define XI_TouchUpdate 19
+#define XI_TouchEnd 20
+#define XI_TouchOwnership 21
+#define XI_RawTouchBegin 22
+#define XI_RawTouchUpdate 23
+#define XI_RawTouchEnd 24
+#define XI_BarrierHit 25 /* XI 2.3 */
+#define XI_BarrierLeave 26
+#define XI_LASTEVENT XI_BarrierLeave
+/* NOTE: XI2LASTEVENT in xserver/include/inputstr.h must be the same value
+ * as XI_LASTEVENT if the server is supposed to handle masks etc. for this
+ * type of event. */
+
+/* Event masks.
+ * Note: the protocol spec defines a mask to be of (1 << type). Clients are
+ * free to create masks by bitshifting instead of using these defines.
+ */
+#define XI_DeviceChangedMask (1 << XI_DeviceChanged)
+#define XI_KeyPressMask (1 << XI_KeyPress)
+#define XI_KeyReleaseMask (1 << XI_KeyRelease)
+#define XI_ButtonPressMask (1 << XI_ButtonPress)
+#define XI_ButtonReleaseMask (1 << XI_ButtonRelease)
+#define XI_MotionMask (1 << XI_Motion)
+#define XI_EnterMask (1 << XI_Enter)
+#define XI_LeaveMask (1 << XI_Leave)
+#define XI_FocusInMask (1 << XI_FocusIn)
+#define XI_FocusOutMask (1 << XI_FocusOut)
+#define XI_HierarchyChangedMask (1 << XI_HierarchyChanged)
+#define XI_PropertyEventMask (1 << XI_PropertyEvent)
+#define XI_RawKeyPressMask (1 << XI_RawKeyPress)
+#define XI_RawKeyReleaseMask (1 << XI_RawKeyRelease)
+#define XI_RawButtonPressMask (1 << XI_RawButtonPress)
+#define XI_RawButtonReleaseMask (1 << XI_RawButtonRelease)
+#define XI_RawMotionMask (1 << XI_RawMotion)
+#define XI_TouchBeginMask (1 << XI_TouchBegin)
+#define XI_TouchEndMask (1 << XI_TouchEnd)
+#define XI_TouchOwnershipChangedMask (1 << XI_TouchOwnershipChanged)
+#define XI_TouchUpdateMask (1 << XI_TouchUpdate)
+#define XI_RawTouchBeginMask (1 << XI_RawTouchBegin)
+#define XI_RawTouchEndMask (1 << XI_RawTouchEnd)
+#define XI_RawTouchUpdateMask (1 << XI_RawTouchUpdate)
+#define XI_BarrierHitMask (1 << XI_BarrierHit)
+#define XI_BarrierLeaveMask (1 << XI_BarrierLeave)
+
+#endif /* _XI2_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/extensions/XI2proto.h b/stream-servers/apigen-codec-common/X11/extensions/XI2proto.h
new file mode 100644
index 0000000..4cdaa0d
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/XI2proto.h
@@ -0,0 +1,1091 @@
+/*
+ * Copyright © 2009 Red Hat, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ */
+
+/* Conventions for this file:
+ * Names:
+ * structs: always typedef'd, prefixed with xXI, CamelCase
+ * struct members: lower_case_with_underscores
+ * Exceptions: reqType, ReqType, repType, RepType, sequenceNumber are
+ * named as such for historical reasons.
+ * request opcodes: X_XIRequestName as CamelCase
+ * defines: defines used in client applications must go in XI2.h
+ * defines used only in protocol handling: XISOMENAME
+ *
+ * Data types: unless there is a historical name for a datatype (e.g.
+ * Window), use stdint types specifying the size of the datatype.
+ * historical data type names must be defined and undefined at the top and
+ * end of the file.
+ *
+ * General:
+ * spaces, not tabs.
+ * structs specific to a request or reply added before the request
+ * definition. structs used in more than one request, reply or event
+ * appended to the common structs section before the definition of the
+ * first request.
+ * members of structs vertically aligned on column 16 if datatypes permit.
+ * otherwise alingned on next available 8n column.
+ */
+
+/**
+ * Protocol definitions for the XI2 protocol.
+ * This file should not be included by clients that merely use XI2, but do not
+ * need the wire protocol. Such clients should include XI2.h, or the matching
+ * header from the library.
+ *
+ */
+#ifndef _XI2PROTO_H_
+#define _XI2PROTO_H_
+
+#include <X11/Xproto.h>
+#include <X11/X.h>
+#include <X11/extensions/XI2.h>
+#include <stdint.h>
+
+/* make sure types have right sizes for protocol structures. */
+#define Window uint32_t
+#define Time uint32_t
+#define Atom uint32_t
+#define Cursor uint32_t
+#define Barrier uint32_t
+
+/**
+ * XI2 Request opcodes
+ */
+#define X_XIQueryPointer 40
+#define X_XIWarpPointer 41
+#define X_XIChangeCursor 42
+#define X_XIChangeHierarchy 43
+#define X_XISetClientPointer 44
+#define X_XIGetClientPointer 45
+#define X_XISelectEvents 46
+#define X_XIQueryVersion 47
+#define X_XIQueryDevice 48
+#define X_XISetFocus 49
+#define X_XIGetFocus 50
+#define X_XIGrabDevice 51
+#define X_XIUngrabDevice 52
+#define X_XIAllowEvents 53
+#define X_XIPassiveGrabDevice 54
+#define X_XIPassiveUngrabDevice 55
+#define X_XIListProperties 56
+#define X_XIChangeProperty 57
+#define X_XIDeleteProperty 58
+#define X_XIGetProperty 59
+#define X_XIGetSelectedEvents 60
+#define X_XIBarrierReleasePointer 61
+
+/** Number of XI requests */
+#define XI2REQUESTS (X_XIBarrierReleasePointer - X_XIQueryPointer + 1)
+/** Number of XI2 events */
+#define XI2EVENTS (XI_LASTEVENT + 1)
+
+/*************************************************************************************
+ * *
+ * COMMON STRUCTS *
+ * *
+ *************************************************************************************/
+/** Fixed point 16.16 */
+typedef int32_t FP1616;
+
+/** Fixed point 32.32 */
+typedef struct {
+ int32_t integral;
+ uint32_t frac;
+} FP3232;
+
+/**
+ * Struct to describe a device.
+ *
+ * For a MasterPointer or a MasterKeyboard, 'attachment' specifies the
+ * paired master device.
+ * For a SlaveKeyboard or SlavePointer, 'attachment' specifies the master
+ * device this device is attached to.
+ * For a FloatingSlave, 'attachment' is undefined.
+ */
+typedef struct {
+ uint16_t deviceid;
+ uint16_t use; /**< ::XIMasterPointer, ::XIMasterKeyboard,
+ ::XISlavePointer, ::XISlaveKeyboard,
+ ::XIFloatingSlave */
+ uint16_t attachment; /**< Current attachment or pairing.*/
+ uint16_t num_classes; /**< Number of classes following this struct. */
+ uint16_t name_len; /**< Length of name in bytes. */
+ uint8_t enabled; /**< TRUE if device is enabled. */
+ uint8_t pad;
+} xXIDeviceInfo;
+
+/**
+ * Default template for a device class.
+ * A device class is equivalent to a device's capabilities. Multiple classes
+ * are supported per device.
+ */
+typedef struct {
+ uint16_t type; /**< One of *class */
+ uint16_t length; /**< Length in 4 byte units */
+ uint16_t sourceid; /**< source device for this class */
+ uint16_t pad;
+} xXIAnyInfo;
+
+/**
+ * Denotes button capability on a device.
+ * Struct is followed by num_buttons * Atom that names the buttons in the
+ * device-native setup (i.e. ignoring button mappings).
+ */
+typedef struct {
+ uint16_t type; /**< Always ButtonClass */
+ uint16_t length; /**< Length in 4 byte units */
+ uint16_t sourceid; /**< source device for this class */
+ uint16_t num_buttons; /**< Number of buttons provided */
+} xXIButtonInfo;
+
+/**
+ * Denotes key capability on a device.
+ * Struct is followed by num_keys * CARD32 that lists the keycodes available
+ * on the device.
+ */
+typedef struct {
+ uint16_t type; /**< Always KeyClass */
+ uint16_t length; /**< Length in 4 byte units */
+ uint16_t sourceid; /**< source device for this class */
+ uint16_t num_keycodes; /**< Number of keys provided */
+} xXIKeyInfo;
+
+/**
+ * Denotes an valuator capability on a device.
+ * One XIValuatorInfo describes exactly one valuator (axis) on the device.
+ */
+typedef struct {
+ uint16_t type; /**< Always ValuatorClass */
+ uint16_t length; /**< Length in 4 byte units */
+ uint16_t sourceid; /**< source device for this class */
+ uint16_t number; /**< Valuator number */
+ Atom label; /**< Axis label */
+ FP3232 min; /**< Min value */
+ FP3232 max; /**< Max value */
+ FP3232 value; /**< Last published value */
+ uint32_t resolution; /**< Resolutions in units/m */
+ uint8_t mode; /**< ModeRelative or ModeAbsolute */
+ uint8_t pad1;
+ uint16_t pad2;
+} xXIValuatorInfo;
+
+/***
+ * Denotes a scroll valuator on a device.
+ * One XIScrollInfo describes exactly one scroll valuator that must have a
+ * XIValuatorInfo struct.
+ */
+typedef struct {
+ uint16_t type; /**< Always ValuatorClass */
+ uint16_t length; /**< Length in 4 byte units */
+ uint16_t sourceid; /**< source device for this class */
+ uint16_t number; /**< Valuator number */
+ uint16_t scroll_type; /**< ::XIScrollTypeVertical, ::XIScrollTypeHorizontal */
+ uint16_t pad0;
+ uint32_t flags; /**< ::XIScrollFlagEmulate, ::XIScrollFlagPreferred */
+ FP3232 increment; /**< Increment for one unit of scrolling */
+} xXIScrollInfo;
+
+/**
+ * Denotes multitouch capability on a device.
+ */
+typedef struct {
+ uint16_t type; /**< Always TouchClass */
+ uint16_t length; /**< Length in 4 byte units */
+ uint16_t sourceid; /**< source device for this class */
+ uint8_t mode; /**< DirectTouch or DependentTouch */
+ uint8_t num_touches; /**< Maximum number of touches (0==unlimited) */
+} xXITouchInfo;
+
+/**
+ * Used to select for events on a given window.
+ * Struct is followed by (mask_len * CARD8), with each bit set representing
+ * the event mask for the given type. A mask bit represents an event type if
+ * (mask == (1 << type)).
+ */
+typedef struct {
+ uint16_t deviceid; /**< Device id to select for */
+ uint16_t mask_len; /**< Length of mask in 4 byte units */
+} xXIEventMask;
+
+/**
+ * XKB modifier information.
+ * The effective modifier is a binary mask of base, latched, and locked
+ * modifiers.
+ */
+typedef struct
+{
+ uint32_t base_mods; /**< Logically pressed modifiers */
+ uint32_t latched_mods; /**< Logically latched modifiers */
+ uint32_t locked_mods; /**< Logically locked modifiers */
+ uint32_t effective_mods; /**< Effective modifiers */
+} xXIModifierInfo;
+
+/**
+ * XKB group information.
+ * The effective group is the mathematical sum of base, latched, and locked
+ * group after group wrapping is taken into account.
+ */
+typedef struct
+{
+ uint8_t base_group; /**< Logically "pressed" group */
+ uint8_t latched_group; /**< Logically latched group */
+ uint8_t locked_group; /**< Logically locked group */
+ uint8_t effective_group; /**< Effective group */
+} xXIGroupInfo;
+
+
+/*************************************************************************************
+ * *
+ * REQUESTS *
+ * *
+ *************************************************************************************/
+
+/**
+ * Query the server for the supported X Input extension version.
+ */
+
+typedef struct {
+ uint8_t reqType; /**< Input extension major code */
+ uint8_t ReqType; /**< Always ::X_XIQueryVersion */
+ uint16_t length; /**< Length in 4 byte units */
+ uint16_t major_version;
+ uint16_t minor_version;
+} xXIQueryVersionReq;
+#define sz_xXIQueryVersionReq 8
+
+typedef struct {
+ uint8_t repType; /**< ::X_Reply */
+ uint8_t RepType; /**< Always ::X_XIQueryVersion */
+ uint16_t sequenceNumber;
+ uint32_t length;
+ uint16_t major_version;
+ uint16_t minor_version;
+ uint32_t pad1;
+ uint32_t pad2;
+ uint32_t pad3;
+ uint32_t pad4;
+ uint32_t pad5;
+} xXIQueryVersionReply;
+#define sz_xXIQueryVersionReply 32
+
+/**
+ * Query the server for information about a specific device or all input
+ * devices.
+ */
+typedef struct {
+ uint8_t reqType; /**< Input extension major code */
+ uint8_t ReqType; /**< Always ::X_XIQueryDevice */
+ uint16_t length; /**< Length in 4 byte units */
+ uint16_t deviceid;
+ uint16_t pad;
+} xXIQueryDeviceReq;
+#define sz_xXIQueryDeviceReq 8
+
+typedef struct {
+ uint8_t repType; /**< ::X_Reply */
+ uint8_t RepType; /**< Always ::X_XIQueryDevice */
+ uint16_t sequenceNumber;
+ uint32_t length;
+ uint16_t num_devices;
+ uint16_t pad0;
+ uint32_t pad1;
+ uint32_t pad2;
+ uint32_t pad3;
+ uint32_t pad4;
+ uint32_t pad5;
+} xXIQueryDeviceReply;
+#define sz_xXIQueryDeviceReply 32
+
+/**
+ * Select for events on a given window.
+ */
+typedef struct {
+ uint8_t reqType; /**< Input extension major code */
+ uint8_t ReqType; /**< Always ::X_XISelectEvents */
+ uint16_t length; /**< Length in 4 byte units */
+ Window win;
+ uint16_t num_masks;
+ uint16_t pad;
+} xXISelectEventsReq;
+#define sz_xXISelectEventsReq 12
+
+/**
+ * Query for selected events on a given window.
+ */
+typedef struct {
+ uint8_t reqType; /**< Input extension major code */
+ uint8_t ReqType; /**< Always ::X_XIGetSelectedEvents */
+ uint16_t length; /**< Length in 4 byte units */
+ Window win;
+} xXIGetSelectedEventsReq;
+#define sz_xXIGetSelectedEventsReq 8
+
+typedef struct {
+ uint8_t repType; /**< Input extension major opcode */
+ uint8_t RepType; /**< Always ::X_XIGetSelectedEvents */
+ uint16_t sequenceNumber;
+ uint32_t length;
+ uint16_t num_masks; /**< Number of xXIEventMask structs
+ trailing the reply */
+ uint16_t pad0;
+ uint32_t pad1;
+ uint32_t pad2;
+ uint32_t pad3;
+ uint32_t pad4;
+ uint32_t pad5;
+} xXIGetSelectedEventsReply;
+#define sz_xXIGetSelectedEventsReply 32
+
+/**
+ * Query the given device's screen/window coordinates.
+ */
+
+typedef struct {
+ uint8_t reqType; /**< Input extension major code */
+ uint8_t ReqType; /**< Always ::X_XIQueryPointer */
+ uint16_t length; /**< Length in 4 byte units */
+ Window win;
+ uint16_t deviceid;
+ uint16_t pad1;
+} xXIQueryPointerReq;
+#define sz_xXIQueryPointerReq 12
+
+
+typedef struct {
+ uint8_t repType; /**< Input extension major opcode */
+ uint8_t RepType; /**< Always ::X_XIQueryPointer */
+ uint16_t sequenceNumber;
+ uint32_t length;
+ Window root;
+ Window child;
+ FP1616 root_x;
+ FP1616 root_y;
+ FP1616 win_x;
+ FP1616 win_y;
+ uint8_t same_screen;
+ uint8_t pad0;
+ uint16_t buttons_len;
+ xXIModifierInfo mods;
+ xXIGroupInfo group;
+} xXIQueryPointerReply;
+#define sz_xXIQueryPointerReply 56
+
+/**
+ * Warp the given device's pointer to the specified position.
+ */
+
+typedef struct {
+ uint8_t reqType; /**< Input extension major code */
+ uint8_t ReqType; /**< Always ::X_XIWarpPointer */
+ uint16_t length; /**< Length in 4 byte units */
+ Window src_win;
+ Window dst_win;
+ FP1616 src_x;
+ FP1616 src_y;
+ uint16_t src_width;
+ uint16_t src_height;
+ FP1616 dst_x;
+ FP1616 dst_y;
+ uint16_t deviceid;
+ uint16_t pad1;
+} xXIWarpPointerReq;
+#define sz_xXIWarpPointerReq 36
+
+/**
+ * Change the given device's sprite to the given cursor.
+ */
+
+typedef struct {
+ uint8_t reqType; /**< Input extension major code */
+ uint8_t ReqType; /**< Always ::X_XIChangeCursor */
+ uint16_t length; /**< Length in 4 byte units */
+ Window win;
+ Cursor cursor;
+ uint16_t deviceid;
+ uint16_t pad1;
+} xXIChangeCursorReq;
+#define sz_xXIChangeCursorReq 16
+
+/**
+ * Modify the device hierarchy.
+ */
+
+typedef struct {
+ uint8_t reqType; /**< Input extension major code */
+ uint8_t ReqType; /**< Always ::X_XIChangeHierarchy */
+ uint16_t length; /**< Length in 4 byte units */
+ uint8_t num_changes;
+ uint8_t pad0;
+ uint16_t pad1;
+} xXIChangeHierarchyReq;
+#define sz_xXIChangeHierarchyReq 8
+
+/**
+ * Generic header for any hierarchy change.
+ */
+typedef struct {
+ uint16_t type;
+ uint16_t length; /**< Length in 4 byte units */
+} xXIAnyHierarchyChangeInfo;
+
+/**
+ * Create a new master device.
+ * Name of new master follows struct (4-byte padded)
+ */
+typedef struct {
+ uint16_t type; /**< Always ::XIAddMaster */
+ uint16_t length; /**< 2 + (namelen + padding)/4 */
+ uint16_t name_len;
+ uint8_t send_core;
+ uint8_t enable;
+} xXIAddMasterInfo;
+
+/**
+ * Delete a master device. Will automatically delete the master device paired
+ * with the given master device.
+ */
+typedef struct {
+ uint16_t type; /**< Always ::XIRemoveMaster */
+ uint16_t length; /**< 3 */
+ uint16_t deviceid;
+ uint8_t return_mode; /**< ::XIAttachToMaster, ::XIFloating */
+ uint8_t pad;
+ uint16_t return_pointer; /**< Pointer to attach slave ptr devices to */
+ uint16_t return_keyboard; /**< keyboard to attach slave keybd devices to*/
+} xXIRemoveMasterInfo;
+
+/**
+ * Attach an SD to a new device.
+ * NewMaster has to be of same type (pointer->pointer, keyboard->keyboard);
+ */
+typedef struct {
+ uint16_t type; /**< Always ::XIAttachSlave */
+ uint16_t length; /**< 2 */
+ uint16_t deviceid;
+ uint16_t new_master; /**< id of new master device */
+} xXIAttachSlaveInfo;
+
+/**
+ * Detach an SD from its current master device.
+ */
+typedef struct {
+ uint16_t type; /**< Always ::XIDetachSlave */
+ uint16_t length; /**< 2 */
+ uint16_t deviceid;
+ uint16_t pad;
+} xXIDetachSlaveInfo;
+
+
+/**
+ * Set the window/client's ClientPointer.
+ */
+typedef struct {
+ uint8_t reqType;
+ uint8_t ReqType; /**< Always ::X_XISetClientPointer */
+ uint16_t length; /**< Length in 4 byte units */
+ Window win;
+ uint16_t deviceid;
+ uint16_t pad1;
+} xXISetClientPointerReq;
+#define sz_xXISetClientPointerReq 12
+
+/**
+ * Query the given window/client's ClientPointer setting.
+ */
+typedef struct {
+ uint8_t reqType;
+ uint8_t ReqType; /**< Always ::X_GetClientPointer */
+ uint16_t length; /**< Length in 4 byte units */
+ Window win;
+} xXIGetClientPointerReq;
+#define sz_xXIGetClientPointerReq 8
+
+typedef struct {
+ uint8_t repType; /**< Input extension major opcode */
+ uint8_t RepType; /**< Always ::X_GetClientPointer */
+ uint16_t sequenceNumber;
+ uint32_t length;
+ BOOL set; /**< client pointer is set? */
+ uint8_t pad0;
+ uint16_t deviceid;
+ uint32_t pad1;
+ uint32_t pad2;
+ uint32_t pad3;
+ uint32_t pad4;
+ uint32_t pad5;
+} xXIGetClientPointerReply;
+#define sz_xXIGetClientPointerReply 32
+
+/**
+ * Set the input focus to the specified window.
+ */
+typedef struct {
+ uint8_t reqType;
+ uint8_t ReqType; /**< Always ::X_XISetFocus */
+ uint16_t length; /**< Length in 4 byte units */
+ Window focus;
+ Time time;
+ uint16_t deviceid;
+ uint16_t pad0;
+} xXISetFocusReq;
+#define sz_xXISetFocusReq 16
+
+/**
+ * Query the current input focus.
+ */
+typedef struct {
+ uint8_t reqType;
+ uint8_t ReqType; /**< Always ::X_XIGetDeviceFocus */
+ uint16_t length; /**< Length in 4 byte units */
+ uint16_t deviceid;
+ uint16_t pad0;
+} xXIGetFocusReq;
+#define sz_xXIGetFocusReq 8
+
+typedef struct {
+ uint8_t repType; /**< Input extension major opcode */
+ uint8_t RepType; /**< Always ::X_XIGetFocus */
+ uint16_t sequenceNumber;
+ uint32_t length;
+ Window focus;
+ uint32_t pad1;
+ uint32_t pad2;
+ uint32_t pad3;
+ uint32_t pad4;
+ uint32_t pad5;
+} xXIGetFocusReply;
+#define sz_xXIGetFocusReply 32
+
+
+/**
+ * Grab the given device.
+ */
+typedef struct {
+ uint8_t reqType;
+ uint8_t ReqType; /**< Always ::X_XIGrabDevice */
+ uint16_t length; /**< Length in 4 byte units */
+ Window grab_window;
+ Time time;
+ Cursor cursor;
+ uint16_t deviceid;
+ uint8_t grab_mode;
+ uint8_t paired_device_mode;
+ uint8_t owner_events;
+ uint8_t pad;
+ uint16_t mask_len;
+} xXIGrabDeviceReq;
+#define sz_xXIGrabDeviceReq 24
+
+/**
+ * Return codes from a XIPassiveGrabDevice request.
+ */
+typedef struct {
+ uint32_t modifiers; /**< Modifier state */
+ uint8_t status; /**< Grab status code */
+ uint8_t pad0;
+ uint16_t pad1;
+} xXIGrabModifierInfo;
+
+typedef struct {
+ uint8_t repType; /**< Input extension major opcode */
+ uint8_t RepType; /**< Always ::X_XIGrabDevice */
+ uint16_t sequenceNumber;
+ uint32_t length;
+ uint8_t status;
+ uint8_t pad0;
+ uint16_t pad1;
+ uint32_t pad2;
+ uint32_t pad3;
+ uint32_t pad4;
+ uint32_t pad5;
+ uint32_t pad6;
+} xXIGrabDeviceReply;
+#define sz_xXIGrabDeviceReply 32
+
+/**
+ * Ungrab the specified device.
+ *
+ */
+typedef struct {
+ uint8_t reqType;
+ uint8_t ReqType; /**< Always ::X_XIUngrabDevice */
+ uint16_t length; /**< Length in 4 byte units */
+ Time time;
+ uint16_t deviceid;
+ uint16_t pad;
+} xXIUngrabDeviceReq;
+#define sz_xXIUngrabDeviceReq 12
+
+
+/**
+ * Allow or replay events on the specified grabbed device.
+ */
+typedef struct {
+ uint8_t reqType;
+ uint8_t ReqType; /**< Always ::X_XIAllowEvents */
+ uint16_t length; /**< Length in 4 byte units */
+ Time time;
+ uint16_t deviceid;
+ uint8_t mode;
+ uint8_t pad;
+} xXIAllowEventsReq;
+#define sz_xXIAllowEventsReq 12
+
+/**
+ * Allow or replay events on the specified grabbed device.
+ * Since XI 2.2
+ */
+typedef struct {
+ uint8_t reqType;
+ uint8_t ReqType; /**< Always ::X_XIAllowEvents */
+ uint16_t length; /**< Length in 4 byte units */
+ Time time;
+ uint16_t deviceid;
+ uint8_t mode;
+ uint8_t pad;
+ uint32_t touchid; /**< Since XI 2.2 */
+ Window grab_window; /**< Since XI 2.2 */
+} xXI2_2AllowEventsReq;
+#define sz_xXI2_2AllowEventsReq 20
+
+
+/**
+ * Passively grab the device.
+ */
+typedef struct {
+ uint8_t reqType;
+ uint8_t ReqType; /**< Always ::X_XIPassiveGrabDevice */
+ uint16_t length; /**< Length in 4 byte units */
+ Time time;
+ Window grab_window;
+ Cursor cursor;
+ uint32_t detail;
+ uint16_t deviceid;
+ uint16_t num_modifiers;
+ uint16_t mask_len;
+ uint8_t grab_type;
+ uint8_t grab_mode;
+ uint8_t paired_device_mode;
+ uint8_t owner_events;
+ uint16_t pad1;
+} xXIPassiveGrabDeviceReq;
+#define sz_xXIPassiveGrabDeviceReq 32
+
+typedef struct {
+ uint8_t repType; /**< Input extension major opcode */
+ uint8_t RepType; /**< Always ::X_XIPassiveGrabDevice */
+ uint16_t sequenceNumber;
+ uint32_t length;
+ uint16_t num_modifiers;
+ uint16_t pad1;
+ uint32_t pad2;
+ uint32_t pad3;
+ uint32_t pad4;
+ uint32_t pad5;
+ uint32_t pad6;
+} xXIPassiveGrabDeviceReply;
+#define sz_xXIPassiveGrabDeviceReply 32
+
+/**
+ * Delete a passive grab for the given device.
+ */
+typedef struct {
+ uint8_t reqType;
+ uint8_t ReqType; /**< Always ::X_XIPassiveUngrabDevice */
+ uint16_t length; /**< Length in 4 byte units */
+ Window grab_window;
+ uint32_t detail;
+ uint16_t deviceid;
+ uint16_t num_modifiers;
+ uint8_t grab_type;
+ uint8_t pad0;
+ uint16_t pad1;
+} xXIPassiveUngrabDeviceReq;
+#define sz_xXIPassiveUngrabDeviceReq 20
+
+/**
+ * List all device properties on the specified device.
+ */
+typedef struct {
+ uint8_t reqType;
+ uint8_t ReqType; /**< Always ::X_XIListProperties */
+ uint16_t length; /**< Length in 4 byte units */
+ uint16_t deviceid;
+ uint16_t pad;
+} xXIListPropertiesReq;
+#define sz_xXIListPropertiesReq 8
+
+typedef struct {
+ uint8_t repType; /**< Input extension major opcode */
+ uint8_t RepType; /**< Always ::X_XIListProperties */
+ uint16_t sequenceNumber;
+ uint32_t length;
+ uint16_t num_properties;
+ uint16_t pad0;
+ uint32_t pad1;
+ uint32_t pad2;
+ uint32_t pad3;
+ uint32_t pad4;
+ uint32_t pad5;
+} xXIListPropertiesReply;
+#define sz_xXIListPropertiesReply 32
+
+/**
+ * Change a property on the specified device.
+ */
+typedef struct {
+ uint8_t reqType;
+ uint8_t ReqType; /**< Always ::X_XIChangeProperty */
+ uint16_t length; /**< Length in 4 byte units */
+ uint16_t deviceid;
+ uint8_t mode;
+ uint8_t format;
+ Atom property;
+ Atom type;
+ uint32_t num_items;
+} xXIChangePropertyReq;
+#define sz_xXIChangePropertyReq 20
+
+/**
+ * Delete the specified property.
+ */
+typedef struct {
+ uint8_t reqType;
+ uint8_t ReqType; /**< Always X_XIDeleteProperty */
+ uint16_t length; /**< Length in 4 byte units */
+ uint16_t deviceid;
+ uint16_t pad0;
+ Atom property;
+} xXIDeletePropertyReq;
+#define sz_xXIDeletePropertyReq 12
+
+/**
+ * Query the specified property's values.
+ */
+typedef struct {
+ uint8_t reqType;
+ uint8_t ReqType; /**< Always X_XIGetProperty */
+ uint16_t length; /**< Length in 4 byte units */
+ uint16_t deviceid;
+#if defined(__cplusplus) || defined(c_plusplus)
+ uint8_t c_delete;
+#else
+ uint8_t delete;
+#endif
+ uint8_t pad0;
+ Atom property;
+ Atom type;
+ uint32_t offset;
+ uint32_t len;
+} xXIGetPropertyReq;
+#define sz_xXIGetPropertyReq 24
+
+typedef struct {
+ uint8_t repType; /**< Input extension major opcode */
+ uint8_t RepType; /**< Always X_XIGetProperty */
+ uint16_t sequenceNumber;
+ uint32_t length;
+ Atom type;
+ uint32_t bytes_after;
+ uint32_t num_items;
+ uint8_t format;
+ uint8_t pad0;
+ uint16_t pad1;
+ uint32_t pad2;
+ uint32_t pad3;
+} xXIGetPropertyReply;
+#define sz_xXIGetPropertyReply 32
+
+typedef struct {
+ uint16_t deviceid;
+ uint16_t pad;
+ Barrier barrier;
+ uint32_t eventid;
+} xXIBarrierReleasePointerInfo;
+
+typedef struct {
+ uint8_t reqType; /**< Input extension major opcode */
+ uint8_t ReqType; /**< Always X_XIBarrierReleasePointer */
+ uint16_t length;
+ uint32_t num_barriers;
+ /* array of xXIBarrierReleasePointerInfo */
+} xXIBarrierReleasePointerReq;
+#define sz_xXIBarrierReleasePointerReq 8
+
+/*************************************************************************************
+ * *
+ * EVENTS *
+ * *
+ *************************************************************************************/
+
+/**
+ * Generic XI2 event header. All XI2 events use the same header.
+ */
+typedef struct
+{
+ uint8_t type;
+ uint8_t extension; /**< XI extension offset */
+ uint16_t sequenceNumber;
+ uint32_t length;
+ uint16_t evtype;
+ uint16_t deviceid;
+ Time time;
+} xXIGenericDeviceEvent;
+
+/**
+ * Device hierarchy information.
+ */
+typedef struct
+{
+ uint16_t deviceid;
+ uint16_t attachment; /**< ID of master or paired device */
+ uint8_t use; /**< ::XIMasterKeyboard,
+ ::XIMasterPointer,
+ ::XISlaveKeyboard,
+ ::XISlavePointer,
+ ::XIFloatingSlave */
+ BOOL enabled; /**< TRUE if the device is enabled */
+ uint16_t pad;
+ uint32_t flags; /**< ::XIMasterAdded, ::XIMasterRemoved,
+ ::XISlaveAttached, ::XISlaveDetached,
+ ::XISlaveAdded, ::XISlaveRemoved,
+ ::XIDeviceEnabled, ::XIDeviceDisabled */
+} xXIHierarchyInfo;
+
+/**
+ * The device hierarchy has been modified. This event includes the device
+ * hierarchy after the modification has been applied.
+ */
+typedef struct
+{
+ uint8_t type; /**< Always GenericEvent */
+ uint8_t extension; /**< XI extension offset */
+ uint16_t sequenceNumber;
+ uint32_t length; /**< Length in 4 byte units */
+ uint16_t evtype; /**< ::XI_Hierarchy */
+ uint16_t deviceid;
+ Time time;
+ uint32_t flags; /**< ::XIMasterAdded, ::XIMasterDeleted,
+ ::XISlaveAttached, ::XISlaveDetached,
+ ::XISlaveAdded, ::XISlaveRemoved,
+ ::XIDeviceEnabled, ::XIDeviceDisabled */
+ uint16_t num_info;
+ uint16_t pad0;
+ uint32_t pad1;
+ uint32_t pad2;
+} xXIHierarchyEvent;
+
+/**
+ * A device has changed capabilities.
+ */
+typedef struct
+{
+ uint8_t type; /**< Always GenericEvent */
+ uint8_t extension; /**< XI extension offset */
+ uint16_t sequenceNumber;
+ uint32_t length; /**< Length in 4 byte units */
+ uint16_t evtype; /**< XI_DeviceChanged */
+ uint16_t deviceid; /**< Device that has changed */
+ Time time;
+ uint16_t num_classes; /**< Number of classes that have changed */
+ uint16_t sourceid; /**< Source of the new classes */
+ uint8_t reason; /**< ::XISlaveSwitch, ::XIDeviceChange */
+ uint8_t pad0;
+ uint16_t pad1;
+ uint32_t pad2;
+ uint32_t pad3;
+} xXIDeviceChangedEvent;
+
+/**
+ * The owner of a touch stream has passed on ownership to another client.
+ */
+typedef struct
+{
+ uint8_t type; /**< Always GenericEvent */
+ uint8_t extension; /**< XI extension offset */
+ uint16_t sequenceNumber;
+ uint32_t length; /**< Length in 4 byte units */
+ uint16_t evtype; /**< XI_TouchOwnership */
+ uint16_t deviceid; /**< Device that has changed */
+ Time time;
+ uint32_t touchid;
+ Window root;
+ Window event;
+ Window child;
+/* └──────── 32 byte boundary ────────┘ */
+ uint16_t sourceid;
+ uint16_t pad0;
+ uint32_t flags;
+ uint32_t pad1;
+ uint32_t pad2;
+} xXITouchOwnershipEvent;
+
+/**
+ * Default input event for pointer, keyboard or touch input.
+ */
+typedef struct
+{
+ uint8_t type; /**< Always GenericEvent */
+ uint8_t extension; /**< XI extension offset */
+ uint16_t sequenceNumber;
+ uint32_t length; /**< Length in 4 byte uints */
+ uint16_t evtype;
+ uint16_t deviceid;
+ Time time;
+ uint32_t detail; /**< Keycode or button */
+ Window root;
+ Window event;
+ Window child;
+/* └──────── 32 byte boundary ────────┘ */
+ FP1616 root_x; /**< Always screen coords, 16.16 fixed point */
+ FP1616 root_y;
+ FP1616 event_x; /**< Always screen coords, 16.16 fixed point */
+ FP1616 event_y;
+ uint16_t buttons_len; /**< Len of button flags in 4 b units */
+ uint16_t valuators_len; /**< Len of val. flags in 4 b units */
+ uint16_t sourceid; /**< The source device */
+ uint16_t pad0;
+ uint32_t flags; /**< ::XIKeyRepeat */
+ xXIModifierInfo mods;
+ xXIGroupInfo group;
+} xXIDeviceEvent;
+
+
+/**
+ * Sent when an input event is generated. RawEvents include valuator
+ * information in both device-specific data (i.e. unaccelerated) and
+ * processed data (i.e. accelerated, if applicable).
+ */
+typedef struct
+{
+ uint8_t type; /**< Always GenericEvent */
+ uint8_t extension; /**< XI extension offset */
+ uint16_t sequenceNumber;
+ uint32_t length; /**< Length in 4 byte uints */
+ uint16_t evtype; /**< ::XI_RawEvent */
+ uint16_t deviceid;
+ Time time;
+ uint32_t detail;
+ uint16_t sourceid; /**< The source device (XI 2.1) */
+ uint16_t valuators_len; /**< Length of trailing valuator
+ mask in 4 byte units */
+ uint32_t flags; /**< ::XIKeyRepeat */
+ uint32_t pad2;
+} xXIRawEvent;
+
+/**
+ * Note that the layout of root, event, child, root_x, root_y, event_x,
+ * event_y must be identical to the xXIDeviceEvent.
+ */
+typedef struct
+{
+ uint8_t type; /**< Always GenericEvent */
+ uint8_t extension; /**< XI extension offset */
+ uint16_t sequenceNumber;
+ uint32_t length; /**< Length in 4 byte uints */
+ uint16_t evtype; /**< ::XI_Enter */
+ uint16_t deviceid;
+ Time time;
+ uint16_t sourceid;
+ uint8_t mode;
+ uint8_t detail;
+ Window root;
+ Window event;
+ Window child;
+/* └──────── 32 byte boundary ────────┘ */
+ FP1616 root_x;
+ FP1616 root_y;
+ FP1616 event_x;
+ FP1616 event_y;
+ BOOL same_screen;
+ BOOL focus;
+ uint16_t buttons_len; /**< Length of trailing button mask
+ in 4 byte units */
+ xXIModifierInfo mods;
+ xXIGroupInfo group;
+} xXIEnterEvent;
+
+typedef xXIEnterEvent xXILeaveEvent;
+typedef xXIEnterEvent xXIFocusInEvent;
+typedef xXIEnterEvent xXIFocusOutEvent;
+
+/**
+ * Sent when a device property is created, modified or deleted. Does not
+ * include property data, the client is required to query the data.
+ */
+typedef struct
+{
+ uint8_t type; /**< Always GenericEvent */
+ uint8_t extension; /**< XI extension offset */
+ uint16_t sequenceNumber;
+ uint32_t length; /**< Length in 4 byte units */
+ uint16_t evtype; /**< ::XI_PropertyEvent */
+ uint16_t deviceid;
+ Time time;
+ Atom property;
+ uint8_t what; /**< ::XIPropertyDeleted,
+ ::XIPropertyCreated,
+ ::XIPropertyMotified */
+ uint8_t pad0;
+ uint16_t pad1;
+ uint32_t pad2;
+ uint32_t pad3;
+} xXIPropertyEvent;
+
+typedef struct
+{
+ uint8_t type; /**< Always GenericEvent */
+ uint8_t extension; /**< XI extension offset */
+ uint16_t sequenceNumber;
+ uint32_t length; /**< Length in 4 byte units */
+ uint16_t evtype; /**< ::XI_BarrierHit or ::XI_BarrierLeave */
+ uint16_t deviceid;
+ Time time;
+ uint32_t eventid;
+ Window root;
+ Window event;
+ Barrier barrier;
+/* └──────── 32 byte boundary ────────┘ */
+ uint32_t dtime;
+ uint32_t flags; /**< ::XIBarrierPointerReleased
+ ::XIBarrierDeviceIsGrabbed */
+ uint16_t sourceid;
+ int16_t pad;
+ FP1616 root_x;
+ FP1616 root_y;
+ FP3232 dx;
+ FP3232 dy;
+} xXIBarrierEvent;
+
+typedef xXIBarrierEvent xXIBarrierHitEvent;
+typedef xXIBarrierEvent xXIBarrierPointerReleasedEvent;
+typedef xXIBarrierEvent xXIBarrierLeaveEvent;
+
+#undef Window
+#undef Time
+#undef Atom
+#undef Cursor
+#undef Barrier
+
+#endif /* _XI2PROTO_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/extensions/XInput.h b/stream-servers/apigen-codec-common/X11/extensions/XInput.h
new file mode 100644
index 0000000..b17f388
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/XInput.h
@@ -0,0 +1,1277 @@
+/************************************************************
+
+Copyright 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+Copyright 1989 by Hewlett-Packard Company, Palo Alto, California.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Hewlett-Packard not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+HEWLETT-PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+HEWLETT-PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+********************************************************/
+
+/* Definitions used by the library and client */
+
+#ifndef _XINPUT_H_
+#define _XINPUT_H_
+
+#include <X11/Xlib.h>
+#include <X11/extensions/XI.h>
+
+#define _deviceKeyPress 0
+#define _deviceKeyRelease 1
+
+#define _deviceButtonPress 0
+#define _deviceButtonRelease 1
+
+#define _deviceMotionNotify 0
+
+#define _deviceFocusIn 0
+#define _deviceFocusOut 1
+
+#define _proximityIn 0
+#define _proximityOut 1
+
+#define _deviceStateNotify 0
+#define _deviceMappingNotify 1
+#define _changeDeviceNotify 2
+/* Space of 3 between is necessary! Reserved for DeviceKeyStateNotify,
+ DeviceButtonStateNotify, DevicePresenceNotify (essentially unused). This
+ code has to be in sync with FixExtensionEvents() in xserver/Xi/extinit.c */
+#define _propertyNotify 6
+
+#define FindTypeAndClass(d,type,_class,classid,offset) \
+ { int _i; XInputClassInfo *_ip; \
+ type = 0; _class = 0; \
+ for (_i=0, _ip= ((XDevice *) d)->classes; \
+ _i< ((XDevice *) d)->num_classes; \
+ _i++, _ip++) \
+ if (_ip->input_class == classid) \
+ {type = _ip->event_type_base + offset; \
+ _class = ((XDevice *) d)->device_id << 8 | type;}}
+
+#define DeviceKeyPress(d,type,_class) \
+ FindTypeAndClass(d, type, _class, KeyClass, _deviceKeyPress)
+
+#define DeviceKeyRelease(d,type,_class) \
+ FindTypeAndClass(d, type, _class, KeyClass, _deviceKeyRelease)
+
+#define DeviceButtonPress(d,type,_class) \
+ FindTypeAndClass(d, type, _class, ButtonClass, _deviceButtonPress)
+
+#define DeviceButtonRelease(d,type,_class) \
+ FindTypeAndClass(d, type, _class, ButtonClass, _deviceButtonRelease)
+
+#define DeviceMotionNotify(d,type,_class) \
+ FindTypeAndClass(d, type, _class, ValuatorClass, _deviceMotionNotify)
+
+#define DeviceFocusIn(d,type,_class) \
+ FindTypeAndClass(d, type, _class, FocusClass, _deviceFocusIn)
+
+#define DeviceFocusOut(d,type,_class) \
+ FindTypeAndClass(d, type, _class, FocusClass, _deviceFocusOut)
+
+#define ProximityIn(d,type,_class) \
+ FindTypeAndClass(d, type, _class, ProximityClass, _proximityIn)
+
+#define ProximityOut(d,type,_class) \
+ FindTypeAndClass(d, type, _class, ProximityClass, _proximityOut)
+
+#define DeviceStateNotify(d,type,_class) \
+ FindTypeAndClass(d, type, _class, OtherClass, _deviceStateNotify)
+
+#define DeviceMappingNotify(d,type,_class) \
+ FindTypeAndClass(d, type, _class, OtherClass, _deviceMappingNotify)
+
+#define ChangeDeviceNotify(d,type,_class) \
+ FindTypeAndClass(d, type, _class, OtherClass, _changeDeviceNotify)
+
+#define DevicePropertyNotify(d, type, _class) \
+ FindTypeAndClass(d, type, _class, OtherClass, _propertyNotify)
+
+#define DevicePointerMotionHint(d,type,_class) \
+ { _class = ((XDevice *) d)->device_id << 8 | _devicePointerMotionHint;}
+
+#define DeviceButton1Motion(d,type,_class) \
+ { _class = ((XDevice *) d)->device_id << 8 | _deviceButton1Motion;}
+
+#define DeviceButton2Motion(d,type,_class) \
+ { _class = ((XDevice *) d)->device_id << 8 | _deviceButton2Motion;}
+
+#define DeviceButton3Motion(d,type,_class) \
+ { _class = ((XDevice *) d)->device_id << 8 | _deviceButton3Motion;}
+
+#define DeviceButton4Motion(d,type, _class) \
+ { _class = ((XDevice *) d)->device_id << 8 | _deviceButton4Motion;}
+
+#define DeviceButton5Motion(d,type,_class) \
+ { _class = ((XDevice *) d)->device_id << 8 | _deviceButton5Motion;}
+
+#define DeviceButtonMotion(d,type, _class) \
+ { _class = ((XDevice *) d)->device_id << 8 | _deviceButtonMotion;}
+
+#define DeviceOwnerGrabButton(d,type,_class) \
+ { _class = ((XDevice *) d)->device_id << 8 | _deviceOwnerGrabButton;}
+
+#define DeviceButtonPressGrab(d,type,_class) \
+ { _class = ((XDevice *) d)->device_id << 8 | _deviceButtonGrab;}
+
+#define NoExtensionEvent(d,type,_class) \
+ { _class = ((XDevice *) d)->device_id << 8 | _noExtensionEvent;}
+
+
+/* We need the declaration for DevicePresence. */
+#if defined(__cplusplus) || defined(c_plusplus)
+extern "C" {
+#endif
+ extern int _XiGetDevicePresenceNotifyEvent(Display *);
+ extern void _xibaddevice( Display *dpy, int *error);
+ extern void _xibadclass( Display *dpy, int *error);
+ extern void _xibadevent( Display *dpy, int *error);
+ extern void _xibadmode( Display *dpy, int *error);
+ extern void _xidevicebusy( Display *dpy, int *error);
+#if defined(__cplusplus) || defined(c_plusplus)
+}
+#endif
+
+#define DevicePresence(dpy, type, _class) \
+ { \
+ type = _XiGetDevicePresenceNotifyEvent(dpy); \
+ _class = (0x10000 | _devicePresence); \
+ }
+
+/* Errors */
+#define BadDevice(dpy,error) _xibaddevice(dpy, &error)
+
+#define BadClass(dpy,error) _xibadclass(dpy, &error)
+
+#define BadEvent(dpy,error) _xibadevent(dpy, &error)
+
+#define BadMode(dpy,error) _xibadmode(dpy, &error)
+
+#define DeviceBusy(dpy,error) _xidevicebusy(dpy, &error)
+
+typedef struct _XAnyClassinfo *XAnyClassPtr;
+
+/***************************************************************
+ *
+ * DeviceKey events. These events are sent by input devices that
+ * support input class Keys.
+ * The location of the X pointer is reported in the coordinate
+ * fields of the x,y and x_root,y_root fields.
+ *
+ */
+
+typedef struct
+ {
+ int type; /* of event */
+ unsigned long serial; /* # of last request processed */
+ Bool send_event; /* true if from SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window; /* "event" window reported relative to */
+ XID deviceid;
+ Window root; /* root window event occured on */
+ Window subwindow; /* child window */
+ Time time; /* milliseconds */
+ int x, y; /* x, y coordinates in event window */
+ int x_root; /* coordinates relative to root */
+ int y_root; /* coordinates relative to root */
+ unsigned int state; /* key or button mask */
+ unsigned int keycode; /* detail */
+ Bool same_screen; /* same screen flag */
+ unsigned int device_state; /* device key or button mask */
+ unsigned char axes_count;
+ unsigned char first_axis;
+ int axis_data[6];
+ } XDeviceKeyEvent;
+
+typedef XDeviceKeyEvent XDeviceKeyPressedEvent;
+typedef XDeviceKeyEvent XDeviceKeyReleasedEvent;
+
+/*******************************************************************
+ *
+ * DeviceButton events. These events are sent by extension devices
+ * that support input class Buttons.
+ *
+ */
+
+typedef struct {
+ int type; /* of event */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window; /* "event" window reported relative to */
+ XID deviceid;
+ Window root; /* root window that the event occured on */
+ Window subwindow; /* child window */
+ Time time; /* milliseconds */
+ int x, y; /* x, y coordinates in event window */
+ int x_root; /* coordinates relative to root */
+ int y_root; /* coordinates relative to root */
+ unsigned int state; /* key or button mask */
+ unsigned int button; /* detail */
+ Bool same_screen; /* same screen flag */
+ unsigned int device_state; /* device key or button mask */
+ unsigned char axes_count;
+ unsigned char first_axis;
+ int axis_data[6];
+ } XDeviceButtonEvent;
+
+typedef XDeviceButtonEvent XDeviceButtonPressedEvent;
+typedef XDeviceButtonEvent XDeviceButtonReleasedEvent;
+
+/*******************************************************************
+ *
+ * DeviceMotionNotify event. These events are sent by extension devices
+ * that support input class Valuators.
+ *
+ */
+
+typedef struct
+ {
+ int type; /* of event */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window; /* "event" window reported relative to */
+ XID deviceid;
+ Window root; /* root window that the event occured on */
+ Window subwindow; /* child window */
+ Time time; /* milliseconds */
+ int x, y; /* x, y coordinates in event window */
+ int x_root; /* coordinates relative to root */
+ int y_root; /* coordinates relative to root */
+ unsigned int state; /* key or button mask */
+ char is_hint; /* detail */
+ Bool same_screen; /* same screen flag */
+ unsigned int device_state; /* device key or button mask */
+ unsigned char axes_count;
+ unsigned char first_axis;
+ int axis_data[6];
+ } XDeviceMotionEvent;
+
+/*******************************************************************
+ *
+ * DeviceFocusChange events. These events are sent when the focus
+ * of an extension device that can be focused is changed.
+ *
+ */
+
+typedef struct
+ {
+ int type; /* of event */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window; /* "event" window reported relative to */
+ XID deviceid;
+ int mode; /* NotifyNormal, NotifyGrab, NotifyUngrab */
+ int detail;
+ /*
+ * NotifyAncestor, NotifyVirtual, NotifyInferior,
+ * NotifyNonLinear,NotifyNonLinearVirtual, NotifyPointer,
+ * NotifyPointerRoot, NotifyDetailNone
+ */
+ Time time;
+ } XDeviceFocusChangeEvent;
+
+typedef XDeviceFocusChangeEvent XDeviceFocusInEvent;
+typedef XDeviceFocusChangeEvent XDeviceFocusOutEvent;
+
+/*******************************************************************
+ *
+ * ProximityNotify events. These events are sent by those absolute
+ * positioning devices that are capable of generating proximity information.
+ *
+ */
+
+typedef struct
+ {
+ int type; /* ProximityIn or ProximityOut */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window;
+ XID deviceid;
+ Window root;
+ Window subwindow;
+ Time time;
+ int x, y;
+ int x_root, y_root;
+ unsigned int state;
+ Bool same_screen;
+ unsigned int device_state; /* device key or button mask */
+ unsigned char axes_count;
+ unsigned char first_axis;
+ int axis_data[6];
+ } XProximityNotifyEvent;
+typedef XProximityNotifyEvent XProximityInEvent;
+typedef XProximityNotifyEvent XProximityOutEvent;
+
+/*******************************************************************
+ *
+ * DeviceStateNotify events are generated on EnterWindow and FocusIn
+ * for those clients who have selected DeviceState.
+ *
+ */
+
+typedef struct
+ {
+#if defined(__cplusplus) || defined(c_plusplus)
+ unsigned char c_class;
+#else
+ unsigned char class;
+#endif
+ unsigned char length;
+ } XInputClass;
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window;
+ XID deviceid;
+ Time time;
+ int num_classes;
+ char data[64];
+} XDeviceStateNotifyEvent;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ unsigned char c_class;
+#else
+ unsigned char class;
+#endif
+ unsigned char length;
+ unsigned char num_valuators;
+ unsigned char mode;
+ int valuators[6];
+} XValuatorStatus;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ unsigned char c_class;
+#else
+ unsigned char class;
+#endif
+ unsigned char length;
+ short num_keys;
+ char keys[32];
+} XKeyStatus;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ unsigned char c_class;
+#else
+ unsigned char class;
+#endif
+ unsigned char length;
+ short num_buttons;
+ char buttons[32];
+} XButtonStatus;
+
+/*******************************************************************
+ *
+ * DeviceMappingNotify event. This event is sent when the key mapping,
+ * modifier mapping, or button mapping of an extension device is changed.
+ *
+ */
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window; /* unused */
+ XID deviceid;
+ Time time;
+ int request; /* one of MappingModifier, MappingKeyboard,
+ MappingPointer */
+ int first_keycode;/* first keycode */
+ int count; /* defines range of change w. first_keycode*/
+} XDeviceMappingEvent;
+
+/*******************************************************************
+ *
+ * ChangeDeviceNotify event. This event is sent when an
+ * XChangeKeyboard or XChangePointer request is made.
+ *
+ */
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window; /* unused */
+ XID deviceid;
+ Time time;
+ int request; /* NewPointer or NewKeyboard */
+} XChangeDeviceNotifyEvent;
+
+/*******************************************************************
+ *
+ * DevicePresenceNotify event. This event is sent when the list of
+ * input devices changes, in which case devchange will be false, and
+ * no information about the change will be contained in the event;
+ * the client should use XListInputDevices() to learn what has changed.
+ *
+ * If devchange is true, an attribute that the server believes is
+ * important has changed on a device, and the client should use
+ * XGetDeviceControl to examine the device. If control is non-zero,
+ * then that control has changed meaningfully.
+ */
+
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window; /* unused */
+ Time time;
+ Bool devchange;
+ XID deviceid;
+ XID control;
+} XDevicePresenceNotifyEvent;
+
+/*
+ * Notifies the client that a property on a device has changed value. The
+ * client is expected to query the server for updated value of the property.
+ */
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window; /* unused */
+ Time time;
+ XID deviceid; /* id of the device that changed */
+ Atom atom; /* the property that changed */
+ int state; /* PropertyNewValue or PropertyDeleted */
+} XDevicePropertyNotifyEvent;
+
+
+/*******************************************************************
+ *
+ * Control structures for input devices that support input class
+ * Feedback. These are used by the XGetFeedbackControl and
+ * XChangeFeedbackControl functions.
+ *
+ */
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ XID c_class;
+#else
+ XID class;
+#endif
+ int length;
+ XID id;
+} XFeedbackState;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ XID c_class;
+#else
+ XID class;
+#endif
+ int length;
+ XID id;
+ int click;
+ int percent;
+ int pitch;
+ int duration;
+ int led_mask;
+ int global_auto_repeat;
+ char auto_repeats[32];
+} XKbdFeedbackState;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ XID c_class;
+#else
+ XID class;
+#endif
+ int length;
+ XID id;
+ int accelNum;
+ int accelDenom;
+ int threshold;
+} XPtrFeedbackState;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ XID c_class;
+#else
+ XID class;
+#endif
+ int length;
+ XID id;
+ int resolution;
+ int minVal;
+ int maxVal;
+} XIntegerFeedbackState;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ XID c_class;
+#else
+ XID class;
+#endif
+ int length;
+ XID id;
+ int max_symbols;
+ int num_syms_supported;
+ KeySym *syms_supported;
+} XStringFeedbackState;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ XID c_class;
+#else
+ XID class;
+#endif
+ int length;
+ XID id;
+ int percent;
+ int pitch;
+ int duration;
+} XBellFeedbackState;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ XID c_class;
+#else
+ XID class;
+#endif
+ int length;
+ XID id;
+ int led_values;
+ int led_mask;
+} XLedFeedbackState;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ XID c_class;
+#else
+ XID class;
+#endif
+ int length;
+ XID id;
+} XFeedbackControl;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ XID c_class;
+#else
+ XID class;
+#endif
+ int length;
+ XID id;
+ int accelNum;
+ int accelDenom;
+ int threshold;
+} XPtrFeedbackControl;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ XID c_class;
+#else
+ XID class;
+#endif
+ int length;
+ XID id;
+ int click;
+ int percent;
+ int pitch;
+ int duration;
+ int led_mask;
+ int led_value;
+ int key;
+ int auto_repeat_mode;
+} XKbdFeedbackControl;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ XID c_class;
+#else
+ XID class;
+#endif
+ int length;
+ XID id;
+ int num_keysyms;
+ KeySym *syms_to_display;
+} XStringFeedbackControl;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ XID c_class;
+#else
+ XID class;
+#endif
+ int length;
+ XID id;
+ int int_to_display;
+} XIntegerFeedbackControl;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ XID c_class;
+#else
+ XID class;
+#endif
+ int length;
+ XID id;
+ int percent;
+ int pitch;
+ int duration;
+} XBellFeedbackControl;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ XID c_class;
+#else
+ XID class;
+#endif
+ int length;
+ XID id;
+ int led_mask;
+ int led_values;
+} XLedFeedbackControl;
+
+/*******************************************************************
+ *
+ * Device control structures.
+ *
+ */
+
+typedef struct {
+ XID control;
+ int length;
+} XDeviceControl;
+
+typedef struct {
+ XID control;
+ int length;
+ int first_valuator;
+ int num_valuators;
+ int *resolutions;
+} XDeviceResolutionControl;
+
+typedef struct {
+ XID control;
+ int length;
+ int num_valuators;
+ int *resolutions;
+ int *min_resolutions;
+ int *max_resolutions;
+} XDeviceResolutionState;
+
+typedef struct {
+ XID control;
+ int length;
+ int min_x;
+ int max_x;
+ int min_y;
+ int max_y;
+ int flip_x;
+ int flip_y;
+ int rotation;
+ int button_threshold;
+} XDeviceAbsCalibControl, XDeviceAbsCalibState;
+
+typedef struct {
+ XID control;
+ int length;
+ int offset_x;
+ int offset_y;
+ int width;
+ int height;
+ int screen;
+ XID following;
+} XDeviceAbsAreaControl, XDeviceAbsAreaState;
+
+typedef struct {
+ XID control;
+ int length;
+ int status;
+} XDeviceCoreControl;
+
+typedef struct {
+ XID control;
+ int length;
+ int status;
+ int iscore;
+} XDeviceCoreState;
+
+typedef struct {
+ XID control;
+ int length;
+ int enable;
+} XDeviceEnableControl, XDeviceEnableState;
+
+/*******************************************************************
+ *
+ * An array of XDeviceList structures is returned by the
+ * XListInputDevices function. Each entry contains information
+ * about one input device. Among that information is an array of
+ * pointers to structures that describe the characteristics of
+ * the input device.
+ *
+ */
+
+typedef struct _XAnyClassinfo {
+#if defined(__cplusplus) || defined(c_plusplus)
+ XID c_class;
+#else
+ XID class;
+#endif
+ int length;
+ } XAnyClassInfo;
+
+typedef struct _XDeviceInfo *XDeviceInfoPtr;
+
+typedef struct _XDeviceInfo
+ {
+ XID id;
+ Atom type;
+ char *name;
+ int num_classes;
+ int use;
+ XAnyClassPtr inputclassinfo;
+ } XDeviceInfo;
+
+typedef struct _XKeyInfo *XKeyInfoPtr;
+
+typedef struct _XKeyInfo
+ {
+#if defined(__cplusplus) || defined(c_plusplus)
+ XID c_class;
+#else
+ XID class;
+#endif
+ int length;
+ unsigned short min_keycode;
+ unsigned short max_keycode;
+ unsigned short num_keys;
+ } XKeyInfo;
+
+typedef struct _XButtonInfo *XButtonInfoPtr;
+
+typedef struct _XButtonInfo {
+#if defined(__cplusplus) || defined(c_plusplus)
+ XID c_class;
+#else
+ XID class;
+#endif
+ int length;
+ short num_buttons;
+ } XButtonInfo;
+
+typedef struct _XAxisInfo *XAxisInfoPtr;
+
+typedef struct _XAxisInfo {
+ int resolution;
+ int min_value;
+ int max_value;
+ } XAxisInfo;
+
+typedef struct _XValuatorInfo *XValuatorInfoPtr;
+
+typedef struct _XValuatorInfo
+ {
+#if defined(__cplusplus) || defined(c_plusplus)
+ XID c_class;
+#else
+ XID class;
+#endif
+ int length;
+ unsigned char num_axes;
+ unsigned char mode;
+ unsigned long motion_buffer;
+ XAxisInfoPtr axes;
+ } XValuatorInfo;
+
+/*******************************************************************
+ *
+ * An XDevice structure is returned by the XOpenDevice function.
+ * It contains an array of pointers to XInputClassInfo structures.
+ * Each contains information about a class of input supported by the
+ * device, including a pointer to an array of data for each type of event
+ * the device reports.
+ *
+ */
+
+
+typedef struct {
+ unsigned char input_class;
+ unsigned char event_type_base;
+} XInputClassInfo;
+
+typedef struct {
+ XID device_id;
+ int num_classes;
+ XInputClassInfo *classes;
+} XDevice;
+
+
+/*******************************************************************
+ *
+ * The following structure is used to return information for the
+ * XGetSelectedExtensionEvents function.
+ *
+ */
+
+typedef struct {
+ XEventClass event_type;
+ XID device;
+} XEventList;
+
+/*******************************************************************
+ *
+ * The following structure is used to return motion history data from
+ * an input device that supports the input class Valuators.
+ * This information is returned by the XGetDeviceMotionEvents function.
+ *
+ */
+
+typedef struct {
+ Time time;
+ int *data;
+} XDeviceTimeCoord;
+
+
+/*******************************************************************
+ *
+ * Device state structure.
+ * This is returned by the XQueryDeviceState request.
+ *
+ */
+
+typedef struct {
+ XID device_id;
+ int num_classes;
+ XInputClass *data;
+} XDeviceState;
+
+/*******************************************************************
+ *
+ * Note that the mode field is a bitfield that reports the Proximity
+ * status of the device as well as the mode. The mode field should
+ * be OR'd with the mask DeviceMode and compared with the values
+ * Absolute and Relative to determine the mode, and should be OR'd
+ * with the mask ProximityState and compared with the values InProximity
+ * and OutOfProximity to determine the proximity state.
+ *
+ */
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ unsigned char c_class;
+#else
+ unsigned char class;
+#endif
+ unsigned char length;
+ unsigned char num_valuators;
+ unsigned char mode;
+ int *valuators;
+} XValuatorState;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ unsigned char c_class;
+#else
+ unsigned char class;
+#endif
+ unsigned char length;
+ short num_keys;
+ char keys[32];
+} XKeyState;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ unsigned char c_class;
+#else
+ unsigned char class;
+#endif
+ unsigned char length;
+ short num_buttons;
+ char buttons[32];
+} XButtonState;
+
+
+
+/*******************************************************************
+ *
+ * Function definitions.
+ *
+ */
+
+_XFUNCPROTOBEGIN
+
+extern int XChangeKeyboardDevice(
+ Display* /* display */,
+ XDevice* /* device */
+);
+
+extern int XChangePointerDevice(
+ Display* /* display */,
+ XDevice* /* device */,
+ int /* xaxis */,
+ int /* yaxis */
+);
+
+extern int XGrabDevice(
+ Display* /* display */,
+ XDevice* /* device */,
+ Window /* grab_window */,
+ Bool /* ownerEvents */,
+ int /* event count */,
+ XEventClass* /* event_list */,
+ int /* this_device_mode */,
+ int /* other_devices_mode */,
+ Time /* time */
+);
+
+extern int XUngrabDevice(
+ Display* /* display */,
+ XDevice* /* device */,
+ Time /* time */
+);
+
+extern int XGrabDeviceKey(
+ Display* /* display */,
+ XDevice* /* device */,
+ unsigned int /* key */,
+ unsigned int /* modifiers */,
+ XDevice* /* modifier_device */,
+ Window /* grab_window */,
+ Bool /* owner_events */,
+ unsigned int /* event_count */,
+ XEventClass* /* event_list */,
+ int /* this_device_mode */,
+ int /* other_devices_mode */
+);
+
+extern int XUngrabDeviceKey(
+ Display* /* display */,
+ XDevice* /* device */,
+ unsigned int /* key */,
+ unsigned int /* modifiers */,
+ XDevice* /* modifier_dev */,
+ Window /* grab_window */
+);
+
+extern int XGrabDeviceButton(
+ Display* /* display */,
+ XDevice* /* device */,
+ unsigned int /* button */,
+ unsigned int /* modifiers */,
+ XDevice* /* modifier_device */,
+ Window /* grab_window */,
+ Bool /* owner_events */,
+ unsigned int /* event_count */,
+ XEventClass* /* event_list */,
+ int /* this_device_mode */,
+ int /* other_devices_mode */
+);
+
+extern int XUngrabDeviceButton(
+ Display* /* display */,
+ XDevice* /* device */,
+ unsigned int /* button */,
+ unsigned int /* modifiers */,
+ XDevice* /* modifier_dev */,
+ Window /* grab_window */
+);
+
+extern int XAllowDeviceEvents(
+ Display* /* display */,
+ XDevice* /* device */,
+ int /* event_mode */,
+ Time /* time */
+);
+
+extern int XGetDeviceFocus(
+ Display* /* display */,
+ XDevice* /* device */,
+ Window* /* focus */,
+ int* /* revert_to */,
+ Time* /* time */
+);
+
+extern int XSetDeviceFocus(
+ Display* /* display */,
+ XDevice* /* device */,
+ Window /* focus */,
+ int /* revert_to */,
+ Time /* time */
+);
+
+extern XFeedbackState *XGetFeedbackControl(
+ Display* /* display */,
+ XDevice* /* device */,
+ int* /* num_feedbacks */
+);
+
+extern void XFreeFeedbackList(
+ XFeedbackState* /* list */
+);
+
+extern int XChangeFeedbackControl(
+ Display* /* display */,
+ XDevice* /* device */,
+ unsigned long /* mask */,
+ XFeedbackControl* /* f */
+);
+
+extern int XDeviceBell(
+ Display* /* display */,
+ XDevice* /* device */,
+ XID /* feedbackclass */,
+ XID /* feedbackid */,
+ int /* percent */
+);
+
+extern KeySym *XGetDeviceKeyMapping(
+ Display* /* display */,
+ XDevice* /* device */,
+#if NeedWidePrototypes
+ unsigned int /* first */,
+#else
+ KeyCode /* first */,
+#endif
+ int /* keycount */,
+ int* /* syms_per_code */
+);
+
+extern int XChangeDeviceKeyMapping(
+ Display* /* display */,
+ XDevice* /* device */,
+ int /* first */,
+ int /* syms_per_code */,
+ KeySym* /* keysyms */,
+ int /* count */
+);
+
+extern XModifierKeymap *XGetDeviceModifierMapping(
+ Display* /* display */,
+ XDevice* /* device */
+);
+
+extern int XSetDeviceModifierMapping(
+ Display* /* display */,
+ XDevice* /* device */,
+ XModifierKeymap* /* modmap */
+);
+
+extern int XSetDeviceButtonMapping(
+ Display* /* display */,
+ XDevice* /* device */,
+ unsigned char* /* map[] */,
+ int /* nmap */
+);
+
+extern int XGetDeviceButtonMapping(
+ Display* /* display */,
+ XDevice* /* device */,
+ unsigned char* /* map[] */,
+ unsigned int /* nmap */
+);
+
+extern XDeviceState *XQueryDeviceState(
+ Display* /* display */,
+ XDevice* /* device */
+);
+
+extern void XFreeDeviceState(
+ XDeviceState* /* list */
+);
+
+extern XExtensionVersion *XGetExtensionVersion(
+ Display* /* display */,
+ _Xconst char* /* name */
+);
+
+extern XDeviceInfo *XListInputDevices(
+ Display* /* display */,
+ int* /* ndevices */
+);
+
+extern void XFreeDeviceList(
+ XDeviceInfo* /* list */
+);
+
+extern XDevice *XOpenDevice(
+ Display* /* display */,
+ XID /* id */
+);
+
+extern int XCloseDevice(
+ Display* /* display */,
+ XDevice* /* device */
+);
+
+extern int XSetDeviceMode(
+ Display* /* display */,
+ XDevice* /* device */,
+ int /* mode */
+);
+
+extern int XSetDeviceValuators(
+ Display* /* display */,
+ XDevice* /* device */,
+ int* /* valuators */,
+ int /* first_valuator */,
+ int /* num_valuators */
+);
+
+extern XDeviceControl *XGetDeviceControl(
+ Display* /* display */,
+ XDevice* /* device */,
+ int /* control */
+);
+
+extern int XChangeDeviceControl(
+ Display* /* display */,
+ XDevice* /* device */,
+ int /* control */,
+ XDeviceControl* /* d */
+);
+
+extern int XSelectExtensionEvent(
+ Display* /* display */,
+ Window /* w */,
+ XEventClass* /* event_list */,
+ int /* count */
+);
+
+extern int XGetSelectedExtensionEvents(
+ Display* /* display */,
+ Window /* w */,
+ int* /* this_client_count */,
+ XEventClass** /* this_client_list */,
+ int* /* all_clients_count */,
+ XEventClass** /* all_clients_list */
+);
+
+extern int XChangeDeviceDontPropagateList(
+ Display* /* display */,
+ Window /* window */,
+ int /* count */,
+ XEventClass* /* events */,
+ int /* mode */
+);
+
+extern XEventClass *XGetDeviceDontPropagateList(
+ Display* /* display */,
+ Window /* window */,
+ int* /* count */
+);
+
+extern Status XSendExtensionEvent(
+ Display* /* display */,
+ XDevice* /* device */,
+ Window /* dest */,
+ Bool /* prop */,
+ int /* count */,
+ XEventClass* /* list */,
+ XEvent* /* event */
+);
+
+extern XDeviceTimeCoord *XGetDeviceMotionEvents(
+ Display* /* display */,
+ XDevice* /* device */,
+ Time /* start */,
+ Time /* stop */,
+ int* /* nEvents */,
+ int* /* mode */,
+ int* /* axis_count */
+);
+
+extern void XFreeDeviceMotionEvents(
+ XDeviceTimeCoord* /* events */
+);
+
+extern void XFreeDeviceControl(
+ XDeviceControl* /* control */
+);
+
+extern Atom* XListDeviceProperties(
+ Display* /* dpy */,
+ XDevice* /* dev */,
+ int* /* nprops_return */
+);
+
+extern void XChangeDeviceProperty(
+ Display* /* dpy */,
+ XDevice* /* dev */,
+ Atom /* property */,
+ Atom /* type */,
+ int /* format */,
+ int /* mode */,
+ _Xconst unsigned char * /*data */,
+ int /* nelements */
+);
+
+extern void
+XDeleteDeviceProperty(
+ Display* /* dpy */,
+ XDevice* /* dev */,
+ Atom /* property */
+);
+
+extern Status
+XGetDeviceProperty(
+ Display* /* dpy*/,
+ XDevice* /* dev*/,
+ Atom /* property*/,
+ long /* offset*/,
+ long /* length*/,
+ Bool /* delete*/,
+ Atom /* req_type*/,
+ Atom* /* actual_type*/,
+ int* /* actual_format*/,
+ unsigned long* /* nitems*/,
+ unsigned long* /* bytes_after*/,
+ unsigned char** /* prop*/
+);
+
+_XFUNCPROTOEND
+
+#endif /* _XINPUT_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/extensions/XInput2.h b/stream-servers/apigen-codec-common/X11/extensions/XInput2.h
new file mode 100644
index 0000000..26de695
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/XInput2.h
@@ -0,0 +1,610 @@
+/*
+ * Copyright © 2009 Red Hat, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ */
+
+/* Definitions used by the library and client */
+
+#ifndef _XINPUT2_H_
+#define _XINPUT2_H_
+
+#include <X11/Xlib.h>
+#include <X11/extensions/XI2.h>
+#include <X11/extensions/Xge.h>
+
+/*******************************************************************
+ *
+ */
+typedef struct {
+ int type;
+ char* name;
+ Bool send_core;
+ Bool enable;
+} XIAddMasterInfo;
+
+typedef struct {
+ int type;
+ int deviceid;
+ int return_mode; /* AttachToMaster, Floating */
+ int return_pointer;
+ int return_keyboard;
+} XIRemoveMasterInfo;
+
+typedef struct {
+ int type;
+ int deviceid;
+ int new_master;
+} XIAttachSlaveInfo;
+
+typedef struct {
+ int type;
+ int deviceid;
+} XIDetachSlaveInfo;
+
+typedef union {
+ int type; /* must be first element */
+ XIAddMasterInfo add;
+ XIRemoveMasterInfo remove;
+ XIAttachSlaveInfo attach;
+ XIDetachSlaveInfo detach;
+} XIAnyHierarchyChangeInfo;
+
+typedef struct
+{
+ int base;
+ int latched;
+ int locked;
+ int effective;
+} XIModifierState;
+
+typedef XIModifierState XIGroupState;
+
+typedef struct {
+ int mask_len;
+ unsigned char *mask;
+} XIButtonState;
+
+typedef struct {
+ int mask_len;
+ unsigned char *mask;
+ double *values;
+} XIValuatorState;
+
+
+typedef struct
+{
+ int deviceid;
+ int mask_len;
+ unsigned char* mask;
+} XIEventMask;
+
+typedef struct
+{
+ int type;
+ int sourceid;
+} XIAnyClassInfo;
+
+typedef struct
+{
+ int type;
+ int sourceid;
+ int num_buttons;
+ Atom *labels;
+ XIButtonState state;
+} XIButtonClassInfo;
+
+typedef struct
+{
+ int type;
+ int sourceid;
+ int num_keycodes;
+ int *keycodes;
+} XIKeyClassInfo;
+
+typedef struct
+{
+ int type;
+ int sourceid;
+ int number;
+ Atom label;
+ double min;
+ double max;
+ double value;
+ int resolution;
+ int mode;
+} XIValuatorClassInfo;
+
+/* new in XI 2.1 */
+typedef struct
+{
+ int type;
+ int sourceid;
+ int number;
+ int scroll_type;
+ double increment;
+ int flags;
+} XIScrollClassInfo;
+
+typedef struct
+{
+ int type;
+ int sourceid;
+ int mode;
+ int num_touches;
+} XITouchClassInfo;
+
+typedef struct
+{
+ int deviceid;
+ char *name;
+ int use;
+ int attachment;
+ Bool enabled;
+ int num_classes;
+ XIAnyClassInfo **classes;
+} XIDeviceInfo;
+
+typedef struct
+{
+ int modifiers;
+ int status;
+} XIGrabModifiers;
+
+/**
+ * Generic XI2 event. All XI2 events have the same header.
+ */
+typedef struct {
+ int type; /* GenericEvent */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ int extension; /* XI extension offset */
+ int evtype;
+ Time time;
+} XIEvent;
+
+
+typedef struct {
+ int deviceid;
+ int attachment;
+ int use;
+ Bool enabled;
+ int flags;
+} XIHierarchyInfo;
+
+/*
+ * Notifies the client that the device hierarchy has been changed. The client
+ * is expected to re-query the server for the device hierarchy.
+ */
+typedef struct {
+ int type; /* GenericEvent */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ int extension; /* XI extension offset */
+ int evtype; /* XI_HierarchyChanged */
+ Time time;
+ int flags;
+ int num_info;
+ XIHierarchyInfo *info;
+} XIHierarchyEvent;
+
+/*
+ * Notifies the client that the classes have been changed. This happens when
+ * the slave device that sends through the master changes.
+ */
+typedef struct {
+ int type; /* GenericEvent */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ int extension; /* XI extension offset */
+ int evtype; /* XI_DeviceChanged */
+ Time time;
+ int deviceid; /* id of the device that changed */
+ int sourceid; /* Source for the new classes. */
+ int reason; /* Reason for the change */
+ int num_classes;
+ XIAnyClassInfo **classes; /* same as in XIDeviceInfo */
+} XIDeviceChangedEvent;
+
+typedef struct {
+ int type; /* GenericEvent */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ int extension; /* XI extension offset */
+ int evtype;
+ Time time;
+ int deviceid;
+ int sourceid;
+ int detail;
+ Window root;
+ Window event;
+ Window child;
+ double root_x;
+ double root_y;
+ double event_x;
+ double event_y;
+ int flags;
+ XIButtonState buttons;
+ XIValuatorState valuators;
+ XIModifierState mods;
+ XIGroupState group;
+} XIDeviceEvent;
+
+typedef struct {
+ int type; /* GenericEvent */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ int extension; /* XI extension offset */
+ int evtype; /* XI_RawKeyPress, XI_RawKeyRelease, etc. */
+ Time time;
+ int deviceid;
+ int sourceid; /* Bug: Always 0. https://bugs.freedesktop.org//show_bug.cgi?id=34240 */
+ int detail;
+ int flags;
+ XIValuatorState valuators;
+ double *raw_values;
+} XIRawEvent;
+
+typedef struct {
+ int type; /* GenericEvent */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ int extension; /* XI extension offset */
+ int evtype;
+ Time time;
+ int deviceid;
+ int sourceid;
+ int detail;
+ Window root;
+ Window event;
+ Window child;
+ double root_x;
+ double root_y;
+ double event_x;
+ double event_y;
+ int mode;
+ Bool focus;
+ Bool same_screen;
+ XIButtonState buttons;
+ XIModifierState mods;
+ XIGroupState group;
+} XIEnterEvent;
+
+typedef XIEnterEvent XILeaveEvent;
+typedef XIEnterEvent XIFocusInEvent;
+typedef XIEnterEvent XIFocusOutEvent;
+
+typedef struct {
+ int type; /* GenericEvent */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ int extension; /* XI extension offset */
+ int evtype; /* XI_PropertyEvent */
+ Time time;
+ int deviceid; /* id of the device that changed */
+ Atom property;
+ int what;
+} XIPropertyEvent;
+
+typedef struct {
+ int type; /* GenericEvent */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ int extension; /* XI extension offset */
+ int evtype;
+ Time time;
+ int deviceid;
+ int sourceid;
+ unsigned int touchid;
+ Window root;
+ Window event;
+ Window child;
+ int flags;
+} XITouchOwnershipEvent;
+
+_XFUNCPROTOBEGIN
+
+extern Bool XIQueryPointer(
+ Display* display,
+ int deviceid,
+ Window win,
+ Window* root,
+ Window* child,
+ double* root_x,
+ double* root_y,
+ double* win_x,
+ double* win_y,
+ XIButtonState *buttons,
+ XIModifierState *mods,
+ XIGroupState *group
+);
+
+extern Bool XIWarpPointer(
+ Display* display,
+ int deviceid,
+ Window src_win,
+ Window dst_win,
+ double src_x,
+ double src_y,
+ unsigned int src_width,
+ unsigned int src_height,
+ double dst_x,
+ double dst_y
+);
+
+extern Status XIDefineCursor(
+ Display* display,
+ int deviceid,
+ Window win,
+ Cursor cursor
+);
+
+extern Status XIUndefineCursor(
+ Display* display,
+ int deviceid,
+ Window win
+);
+
+extern Status XIChangeHierarchy(
+ Display* display,
+ XIAnyHierarchyChangeInfo* changes,
+ int num_changes
+);
+
+extern Status XISetClientPointer(
+ Display* dpy,
+ Window win,
+ int deviceid
+);
+
+extern Bool XIGetClientPointer(
+ Display* dpy,
+ Window win,
+ int* deviceid
+);
+
+extern int XISelectEvents(
+ Display* dpy,
+ Window win,
+ XIEventMask *masks,
+ int num_masks
+);
+
+extern XIEventMask *XIGetSelectedEvents(
+ Display* dpy,
+ Window win,
+ int *num_masks_return
+);
+
+extern Status XIQueryVersion(
+ Display* dpy,
+ int* major_version_inout,
+ int* minor_version_inout
+);
+
+extern XIDeviceInfo* XIQueryDevice(
+ Display* dpy,
+ int deviceid,
+ int* ndevices_return
+);
+
+extern Status XISetFocus(
+ Display* dpy,
+ int deviceid,
+ Window focus,
+ Time time
+);
+
+extern Status XIGetFocus(
+ Display* dpy,
+ int deviceid,
+ Window *focus_return);
+
+extern Status XIGrabDevice(
+ Display* dpy,
+ int deviceid,
+ Window grab_window,
+ Time time,
+ Cursor cursor,
+ int grab_mode,
+ int paired_device_mode,
+ Bool owner_events,
+ XIEventMask *mask
+);
+
+extern Status XIUngrabDevice(
+ Display* dpy,
+ int deviceid,
+ Time time
+);
+
+extern Status XIAllowEvents(
+ Display* display,
+ int deviceid,
+ int event_mode,
+ Time time
+);
+
+extern Status XIAllowTouchEvents(
+ Display* display,
+ int deviceid,
+ unsigned int touchid,
+ Window grab_window,
+ int event_mode
+);
+
+extern int XIGrabButton(
+ Display* display,
+ int deviceid,
+ int button,
+ Window grab_window,
+ Cursor cursor,
+ int grab_mode,
+ int paired_device_mode,
+ int owner_events,
+ XIEventMask *mask,
+ int num_modifiers,
+ XIGrabModifiers *modifiers_inout
+);
+
+extern int XIGrabKeycode(
+ Display* display,
+ int deviceid,
+ int keycode,
+ Window grab_window,
+ int grab_mode,
+ int paired_device_mode,
+ int owner_events,
+ XIEventMask *mask,
+ int num_modifiers,
+ XIGrabModifiers *modifiers_inout
+);
+
+extern int XIGrabEnter(
+ Display* display,
+ int deviceid,
+ Window grab_window,
+ Cursor cursor,
+ int grab_mode,
+ int paired_device_mode,
+ int owner_events,
+ XIEventMask *mask,
+ int num_modifiers,
+ XIGrabModifiers *modifiers_inout
+);
+
+extern int XIGrabFocusIn(
+ Display* display,
+ int deviceid,
+ Window grab_window,
+ int grab_mode,
+ int paired_device_mode,
+ int owner_events,
+ XIEventMask *mask,
+ int num_modifiers,
+ XIGrabModifiers *modifiers_inout
+);
+
+extern int XIGrabTouchBegin(
+ Display* display,
+ int deviceid,
+ Window grab_window,
+ int owner_events,
+ XIEventMask *mask,
+ int num_modifiers,
+ XIGrabModifiers *modifiers_inout
+);
+
+extern Status XIUngrabButton(
+ Display* display,
+ int deviceid,
+ int button,
+ Window grab_window,
+ int num_modifiers,
+ XIGrabModifiers *modifiers
+);
+
+extern Status XIUngrabKeycode(
+ Display* display,
+ int deviceid,
+ int keycode,
+ Window grab_window,
+ int num_modifiers,
+ XIGrabModifiers *modifiers
+);
+
+extern Status XIUngrabEnter(
+ Display* display,
+ int deviceid,
+ Window grab_window,
+ int num_modifiers,
+ XIGrabModifiers *modifiers
+);
+
+extern Status XIUngrabFocusIn(
+ Display* display,
+ int deviceid,
+ Window grab_window,
+ int num_modifiers,
+ XIGrabModifiers *modifiers
+);
+
+extern Status XIUngrabTouchBegin(
+ Display* display,
+ int deviceid,
+ Window grab_window,
+ int num_modifiers,
+ XIGrabModifiers *modifiers
+);
+
+extern Atom *XIListProperties(
+ Display* display,
+ int deviceid,
+ int *num_props_return
+);
+
+extern void XIChangeProperty(
+ Display* display,
+ int deviceid,
+ Atom property,
+ Atom type,
+ int format,
+ int mode,
+ unsigned char *data,
+ int num_items
+);
+
+extern void
+XIDeleteProperty(
+ Display* display,
+ int deviceid,
+ Atom property
+);
+
+extern Status
+XIGetProperty(
+ Display* display,
+ int deviceid,
+ Atom property,
+ long offset,
+ long length,
+ Bool delete_property,
+ Atom type,
+ Atom *type_return,
+ int *format_return,
+ unsigned long *num_items_return,
+ unsigned long *bytes_after_return,
+ unsigned char **data
+);
+
+extern void XIFreeDeviceInfo(XIDeviceInfo *info);
+
+_XFUNCPROTOEND
+
+#endif /* XINPUT2_H */
diff --git a/stream-servers/apigen-codec-common/X11/extensions/XIproto.h b/stream-servers/apigen-codec-common/X11/extensions/XIproto.h
new file mode 100644
index 0000000..e00ab61
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/XIproto.h
@@ -0,0 +1,1756 @@
+/************************************************************
+
+Copyright 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+Copyright 1989 by Hewlett-Packard Company, Palo Alto, California.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Hewlett-Packard not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+HEWLETT-PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+HEWLETT-PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+********************************************************/
+
+#ifndef _XIPROTO_H
+#define _XIPROTO_H
+
+#include <X11/Xproto.h>
+#include <X11/X.h>
+
+/* make sure types have right sizes for protocol structures. */
+#define Window CARD32
+#define Time CARD32
+#define KeyCode CARD8
+#define Mask CARD32
+#define Atom CARD32
+#define Cursor CARD32
+
+/*********************************************************
+ *
+ * number of events, errors, and extension name.
+ *
+ */
+
+#define MORE_EVENTS 0x80
+#define DEVICE_BITS 0x7F
+
+#define InputClassBits 0x3F /* bits in mode field for input classes */
+#define ModeBitsShift 6 /* amount to shift the remaining bits */
+
+#define numInputClasses 7
+
+#define IEVENTS 17 /* does NOT include generic events */
+#define IERRORS 5
+#define IREQUESTS 39
+
+#define CLIENT_REQ 1
+
+typedef struct _XExtEventInfo
+ {
+ Mask mask;
+ BYTE type;
+ BYTE word;
+ } XExtEventInfo;
+
+typedef unsigned char *Pointer;
+
+struct tmask
+ {
+ Mask mask;
+ Pointer dev;
+ };
+
+/*********************************************************
+ *
+ * Event constants used by library.
+ *
+ */
+
+#define XI_DeviceValuator 0
+#define XI_DeviceKeyPress 1
+#define XI_DeviceKeyRelease 2
+#define XI_DeviceButtonPress 3
+#define XI_DeviceButtonRelease 4
+#define XI_DeviceMotionNotify 5
+#define XI_DeviceFocusIn 6
+#define XI_DeviceFocusOut 7
+#define XI_ProximityIn 8
+#define XI_ProximityOut 9
+#define XI_DeviceStateNotify 10
+#define XI_DeviceMappingNotify 11
+#define XI_ChangeDeviceNotify 12
+#define XI_DeviceKeystateNotify 13
+#define XI_DeviceButtonstateNotify 14
+#define XI_DevicePresenceNotify 15
+#define XI_DevicePropertyNotify 16
+
+/*********************************************************
+ *
+ * Protocol request constants
+ *
+ */
+
+#define X_GetExtensionVersion 1
+#define X_ListInputDevices 2
+#define X_OpenDevice 3
+#define X_CloseDevice 4
+#define X_SetDeviceMode 5
+#define X_SelectExtensionEvent 6
+#define X_GetSelectedExtensionEvents 7
+#define X_ChangeDeviceDontPropagateList 8
+#define X_GetDeviceDontPropagateList 9
+#define X_GetDeviceMotionEvents 10
+#define X_ChangeKeyboardDevice 11
+#define X_ChangePointerDevice 12
+#define X_GrabDevice 13
+#define X_UngrabDevice 14
+#define X_GrabDeviceKey 15
+#define X_UngrabDeviceKey 16
+#define X_GrabDeviceButton 17
+#define X_UngrabDeviceButton 18
+#define X_AllowDeviceEvents 19
+#define X_GetDeviceFocus 20
+#define X_SetDeviceFocus 21
+#define X_GetFeedbackControl 22
+#define X_ChangeFeedbackControl 23
+#define X_GetDeviceKeyMapping 24
+#define X_ChangeDeviceKeyMapping 25
+#define X_GetDeviceModifierMapping 26
+#define X_SetDeviceModifierMapping 27
+#define X_GetDeviceButtonMapping 28
+#define X_SetDeviceButtonMapping 29
+#define X_QueryDeviceState 30
+#define X_SendExtensionEvent 31
+#define X_DeviceBell 32
+#define X_SetDeviceValuators 33
+#define X_GetDeviceControl 34
+#define X_ChangeDeviceControl 35
+/* XI 1.5 */
+#define X_ListDeviceProperties 36
+#define X_ChangeDeviceProperty 37
+#define X_DeleteDeviceProperty 38
+#define X_GetDeviceProperty 39
+
+/*********************************************************
+ *
+ * Protocol request and reply structures.
+ *
+ * GetExtensionVersion.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_GetExtensionVersion */
+ CARD16 length B16;
+ CARD16 nbytes B16;
+ CARD8 pad1, pad2;
+} xGetExtensionVersionReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_GetExtensionVersion */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 major_version B16;
+ CARD16 minor_version B16;
+ BOOL present;
+ CARD8 pad1, pad2, pad3;
+ CARD32 pad01 B32;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ CARD32 pad04 B32;
+} xGetExtensionVersionReply;
+
+/*********************************************************
+ *
+ * ListInputDevices.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_ListInputDevices */
+ CARD16 length B16;
+} xListInputDevicesReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_ListInputDevices */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD8 ndevices;
+ CARD8 pad1, pad2, pad3;
+ CARD32 pad01 B32;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ CARD32 pad04 B32;
+ CARD32 pad05 B32;
+} xListInputDevicesReply;
+
+typedef struct _xDeviceInfo *xDeviceInfoPtr;
+
+typedef struct _xAnyClassinfo *xAnyClassPtr;
+
+typedef struct _xAnyClassinfo {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class;
+#else
+ CARD8 class;
+#endif
+ CARD8 length;
+ } xAnyClassInfo;
+
+typedef struct _xDeviceInfo {
+ CARD32 type B32;
+ CARD8 id;
+ CARD8 num_classes;
+ CARD8 use; /* IsXPointer | IsXKeyboard | IsXExtension... */
+ CARD8 attached; /* id of master dev (if IsXExtension..) */
+ } xDeviceInfo;
+
+typedef struct _xKeyInfo *xKeyInfoPtr;
+
+typedef struct _xKeyInfo {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class;
+#else
+ CARD8 class;
+#endif
+ CARD8 length;
+ KeyCode min_keycode;
+ KeyCode max_keycode;
+ CARD16 num_keys B16;
+ CARD8 pad1,pad2;
+ } xKeyInfo;
+
+typedef struct _xButtonInfo *xButtonInfoPtr;
+
+typedef struct _xButtonInfo {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class;
+#else
+ CARD8 class;
+#endif
+ CARD8 length;
+ CARD16 num_buttons B16;
+ } xButtonInfo;
+
+typedef struct _xValuatorInfo *xValuatorInfoPtr;
+
+typedef struct _xValuatorInfo {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class;
+#else
+ CARD8 class;
+#endif
+ CARD8 length;
+ CARD8 num_axes;
+ CARD8 mode;
+ CARD32 motion_buffer_size B32;
+ } xValuatorInfo;
+
+typedef struct _xAxisInfo *xAxisInfoPtr;
+
+typedef struct _xAxisInfo {
+ CARD32 resolution B32;
+ CARD32 min_value B32;
+ CARD32 max_value B32;
+ } xAxisInfo;
+
+/*********************************************************
+ *
+ * OpenDevice.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_OpenDevice */
+ CARD16 length B16;
+ CARD8 deviceid;
+ BYTE pad1, pad2, pad3;
+} xOpenDeviceReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_OpenDevice */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD8 num_classes;
+ BYTE pad1, pad2, pad3;
+ CARD32 pad00 B32;
+ CARD32 pad01 B32;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ CARD32 pad04 B32;
+ } xOpenDeviceReply;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class;
+#else
+ CARD8 class;
+#endif
+ CARD8 event_type_base;
+ } xInputClassInfo;
+
+/*********************************************************
+ *
+ * CloseDevice.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_CloseDevice */
+ CARD16 length B16;
+ CARD8 deviceid;
+ BYTE pad1, pad2, pad3;
+} xCloseDeviceReq;
+
+/*********************************************************
+ *
+ * SetDeviceMode.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_SetDeviceMode */
+ CARD16 length B16;
+ CARD8 deviceid;
+ CARD8 mode;
+ BYTE pad1, pad2;
+} xSetDeviceModeReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_SetDeviceMode */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD8 status;
+ BYTE pad1, pad2, pad3;
+ CARD32 pad01 B32;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ CARD32 pad04 B32;
+ CARD32 pad05 B32;
+} xSetDeviceModeReply;
+
+/*********************************************************
+ *
+ * SelectExtensionEvent.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_SelectExtensionEvent */
+ CARD16 length B16;
+ Window window B32;
+ CARD16 count B16;
+ CARD16 pad00 B16;
+} xSelectExtensionEventReq;
+
+/*********************************************************
+ *
+ * GetSelectedExtensionEvent.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* X_GetSelectedExtensionEvents */
+ CARD16 length B16;
+ Window window B32;
+} xGetSelectedExtensionEventsReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* GetSelectedExtensionEvents */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 this_client_count B16;
+ CARD16 all_clients_count B16;
+ CARD32 pad01 B32;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ CARD32 pad04 B32;
+ CARD32 pad05 B32;
+} xGetSelectedExtensionEventsReply;
+
+/*********************************************************
+ *
+ * ChangeDeviceDontPropagateList.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* X_ChangeDeviceDontPropagateList */
+ CARD16 length B16;
+ Window window B32;
+ CARD16 count B16;
+ CARD8 mode;
+ BYTE pad;
+} xChangeDeviceDontPropagateListReq;
+
+/*********************************************************
+ *
+ * GetDeviceDontPropagateList.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* X_GetDeviceDontPropagateList */
+ CARD16 length B16;
+ Window window B32;
+} xGetDeviceDontPropagateListReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* GetDeviceDontPropagateList */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 count B16;
+ CARD16 pad00 B16;
+ CARD32 pad01 B32;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ CARD32 pad04 B32;
+ CARD32 pad05 B32;
+ } xGetDeviceDontPropagateListReply;
+
+/*********************************************************
+ *
+ * GetDeviceMotionEvents.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_GetDeviceMotionEvents*/
+ CARD16 length B16;
+ Time start B32;
+ Time stop B32;
+ CARD8 deviceid;
+ BYTE pad1, pad2, pad3;
+} xGetDeviceMotionEventsReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_GetDeviceMotionEvents */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 nEvents B32;
+ CARD8 axes;
+ CARD8 mode;
+ BYTE pad1, pad2;
+ CARD32 pad01 B32;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ CARD32 pad04 B32;
+} xGetDeviceMotionEventsReply;
+
+/*********************************************************
+ *
+ * ChangeKeyboardDevice.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* X_ChangeKeyboardDevice */
+ CARD16 length B16;
+ CARD8 deviceid;
+ BYTE pad1, pad2, pad3;
+} xChangeKeyboardDeviceReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_ChangeKeyboardDevice*/
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ CARD8 status;
+ BYTE pad1, pad2, pad3;
+ CARD32 pad01 B32;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ CARD32 pad04 B32;
+ CARD32 pad05 B32;
+ } xChangeKeyboardDeviceReply;
+
+/*********************************************************
+ *
+ * ChangePointerDevice.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* X_ChangePointerDevice */
+ CARD16 length B16;
+ CARD8 xaxis;
+ CARD8 yaxis;
+ CARD8 deviceid;
+ BYTE pad1;
+} xChangePointerDeviceReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_ChangePointerDevice */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ CARD8 status;
+ BYTE pad1, pad2, pad3;
+ CARD32 pad01 B32;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ CARD32 pad04 B32;
+ CARD32 pad05 B32;
+ } xChangePointerDeviceReply;
+
+/*********************************************************
+ *
+ * GrabDevice.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_GrabDevice */
+ CARD16 length B16;
+ Window grabWindow B32;
+ Time time B32;
+ CARD16 event_count B16;
+ CARD8 this_device_mode;
+ CARD8 other_devices_mode;
+ BOOL ownerEvents;
+ CARD8 deviceid;
+ CARD16 pad01 B16;
+} xGrabDeviceReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_GrabDevice */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ CARD8 status;
+ BYTE pad1, pad2, pad3;
+ CARD32 pad01 B32;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ CARD32 pad04 B32;
+ CARD32 pad05 B32;
+ } xGrabDeviceReply;
+
+/*********************************************************
+ *
+ * UngrabDevice.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_UnGrabDevice */
+ CARD16 length B16;
+ Time time B32;
+ CARD8 deviceid;
+ BYTE pad1, pad2, pad3;
+} xUngrabDeviceReq;
+
+/*********************************************************
+ *
+ * GrabDeviceKey.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_GrabDeviceKey */
+ CARD16 length B16;
+ Window grabWindow B32;
+ CARD16 event_count B16;
+ CARD16 modifiers B16;
+ CARD8 modifier_device;
+ CARD8 grabbed_device;
+ CARD8 key;
+ BYTE this_device_mode;
+ BYTE other_devices_mode;
+ BOOL ownerEvents;
+ BYTE pad1, pad2;
+} xGrabDeviceKeyReq;
+
+/*********************************************************
+ *
+ * UngrabDeviceKey.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_UngrabDeviceKey */
+ CARD16 length B16;
+ Window grabWindow B32;
+ CARD16 modifiers B16;
+ CARD8 modifier_device;
+ CARD8 key;
+ CARD8 grabbed_device;
+ BYTE pad1, pad2, pad3;
+} xUngrabDeviceKeyReq;
+
+/*********************************************************
+ *
+ * GrabDeviceButton.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_GrabDeviceButton */
+ CARD16 length B16;
+ Window grabWindow B32;
+ CARD8 grabbed_device;
+ CARD8 modifier_device;
+ CARD16 event_count B16;
+ CARD16 modifiers B16;
+ BYTE this_device_mode;
+ BYTE other_devices_mode;
+ CARD8 button;
+ BOOL ownerEvents;
+ BYTE pad1, pad2;
+} xGrabDeviceButtonReq;
+
+/*********************************************************
+ *
+ * UngrabDeviceButton.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_UngrabDeviceButton */
+ CARD16 length B16;
+ Window grabWindow B32;
+ CARD16 modifiers B16;
+ CARD8 modifier_device;
+ CARD8 button;
+ CARD8 grabbed_device;
+ BYTE pad1, pad2, pad3;
+} xUngrabDeviceButtonReq;
+
+/*********************************************************
+ *
+ * AllowDeviceEvents.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_AllowDeviceEvents */
+ CARD16 length B16;
+ Time time B32;
+ CARD8 mode;
+ CARD8 deviceid;
+ BYTE pad1, pad2;
+} xAllowDeviceEventsReq;
+
+/*********************************************************
+ *
+ * GetDeviceFocus.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_GetDeviceFocus */
+ CARD16 length B16;
+ CARD8 deviceid;
+ BYTE pad1, pad2, pad3;
+} xGetDeviceFocusReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_GetDeviceFocus */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 focus B32;
+ Time time B32;
+ CARD8 revertTo;
+ BYTE pad1, pad2, pad3;
+ CARD32 pad01 B32;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ } xGetDeviceFocusReply;
+
+/*********************************************************
+ *
+ * SetDeviceFocus.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_SetDeviceFocus */
+ CARD16 length B16;
+ Window focus B32;
+ Time time B32;
+ CARD8 revertTo;
+ CARD8 device;
+ CARD16 pad01 B16;
+} xSetDeviceFocusReq;
+
+/*********************************************************
+ *
+ * GetFeedbackControl.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* X_GetFeedbackControl */
+ CARD16 length B16;
+ CARD8 deviceid;
+ BYTE pad1, pad2, pad3;
+} xGetFeedbackControlReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_GetFeedbackControl */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 num_feedbacks B16;
+ CARD16 pad01 B16;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ CARD32 pad04 B32;
+ CARD32 pad05 B32;
+ CARD32 pad06 B32;
+} xGetFeedbackControlReply;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class; /* feedback class */
+#else
+ CARD8 class; /* feedback class */
+#endif
+ CARD8 id; /* feedback id */
+ CARD16 length B16; /* feedback length */
+} xFeedbackState;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class;
+#else
+ CARD8 class;
+#endif
+ CARD8 id;
+ CARD16 length B16;
+ CARD16 pitch B16;
+ CARD16 duration B16;
+ CARD32 led_mask B32;
+ CARD32 led_values B32;
+ BOOL global_auto_repeat;
+ CARD8 click;
+ CARD8 percent;
+ BYTE pad;
+ BYTE auto_repeats[32];
+} xKbdFeedbackState;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class;
+#else
+ CARD8 class;
+#endif
+ CARD8 id;
+ CARD16 length B16;
+ CARD8 pad1,pad2;
+ CARD16 accelNum B16;
+ CARD16 accelDenom B16;
+ CARD16 threshold B16;
+} xPtrFeedbackState;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class; /* feedback class id */
+#else
+ CARD8 class; /* feedback class id */
+#endif
+ CARD8 id;
+ CARD16 length B16; /* feedback length */
+ CARD32 resolution B32;
+ INT32 min_value B32;
+ INT32 max_value B32;
+} xIntegerFeedbackState;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class; /* feedback class id */
+#else
+ CARD8 class; /* feedback class id */
+#endif
+ CARD8 id;
+ CARD16 length B16; /* feedback length */
+ CARD16 max_symbols B16;
+ CARD16 num_syms_supported B16;
+} xStringFeedbackState;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class; /* feedback class id */
+#else
+ CARD8 class; /* feedback class id */
+#endif
+ CARD8 id;
+ CARD16 length B16; /* feedback length */
+ CARD8 percent;
+ BYTE pad1, pad2, pad3;
+ CARD16 pitch B16;
+ CARD16 duration B16;
+} xBellFeedbackState;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class; /* feedback class id */
+#else
+ CARD8 class; /* feedback class id */
+#endif
+ CARD8 id;
+ CARD16 length B16; /* feedback length */
+ CARD32 led_mask B32;
+ CARD32 led_values B32;
+} xLedFeedbackState;
+
+/*********************************************************
+ *
+ * ChangeFeedbackControl.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* X_ChangeFeedbackControl */
+ CARD16 length B16;
+ CARD32 mask B32;
+ CARD8 deviceid;
+ CARD8 feedbackid;
+ BYTE pad1, pad2;
+} xChangeFeedbackControlReq;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class; /* feedback class id */
+#else
+ CARD8 class; /* feedback class id */
+#endif
+ CARD8 id; /* feedback id */
+ CARD16 length B16; /* feedback length */
+} xFeedbackCtl;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class; /* feedback class id */
+#else
+ CARD8 class; /* feedback class id */
+#endif
+ CARD8 id; /* feedback length */
+ CARD16 length B16; /* feedback length */
+ KeyCode key;
+ CARD8 auto_repeat_mode;
+ INT8 click;
+ INT8 percent;
+ INT16 pitch B16;
+ INT16 duration B16;
+ CARD32 led_mask B32;
+ CARD32 led_values B32;
+} xKbdFeedbackCtl;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class; /* feedback class id */
+#else
+ CARD8 class; /* feedback class id */
+#endif
+ CARD8 id; /* feedback id */
+ CARD16 length B16; /* feedback length */
+ CARD8 pad1,pad2;
+ INT16 num B16;
+ INT16 denom B16;
+ INT16 thresh B16;
+} xPtrFeedbackCtl;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class; /* feedback class id */
+#else
+ CARD8 class; /* feedback class id */
+#endif
+ CARD8 id; /* feedback id */
+ CARD16 length B16; /* feedback length */
+ INT32 int_to_display B32;
+} xIntegerFeedbackCtl;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class; /* feedback class id */
+#else
+ CARD8 class; /* feedback class id */
+#endif
+ CARD8 id; /* feedback id */
+ CARD16 length B16; /* feedback length */
+ CARD8 pad1,pad2;
+ CARD16 num_keysyms B16;
+} xStringFeedbackCtl;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class; /* feedback class id */
+#else
+ CARD8 class; /* feedback class id */
+#endif
+ CARD8 id; /* feedback id */
+ CARD16 length B16; /* feedback length */
+ INT8 percent;
+ BYTE pad1, pad2, pad3;
+ INT16 pitch B16;
+ INT16 duration B16;
+} xBellFeedbackCtl;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class; /* feedback class id */
+#else
+ CARD8 class; /* feedback class id */
+#endif
+ CARD8 id; /* feedback id */
+ CARD16 length B16; /* feedback length */
+ CARD32 led_mask B32;
+ CARD32 led_values B32;
+} xLedFeedbackCtl;
+
+/*********************************************************
+ *
+ * GetDeviceKeyMapping.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_GetDeviceKeyMapping */
+ CARD16 length B16;
+ CARD8 deviceid;
+ KeyCode firstKeyCode;
+ CARD8 count;
+ BYTE pad1;
+} xGetDeviceKeyMappingReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_GetDeviceKeyMapping */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD8 keySymsPerKeyCode;
+ CARD8 pad0;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xGetDeviceKeyMappingReply;
+
+/*********************************************************
+ *
+ * ChangeDeviceKeyMapping.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_ChangeDeviceKeyMapping */
+ CARD16 length B16;
+ CARD8 deviceid;
+ KeyCode firstKeyCode;
+ CARD8 keySymsPerKeyCode;
+ CARD8 keyCodes;
+} xChangeDeviceKeyMappingReq;
+
+/*********************************************************
+ *
+ * GetDeviceModifierMapping.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_GetDeviceModifierMapping */
+ CARD16 length B16;
+ CARD8 deviceid;
+ BYTE pad1, pad2, pad3;
+} xGetDeviceModifierMappingReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_GetDeviceModifierMapping */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD8 numKeyPerModifier;
+ CARD8 pad0;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xGetDeviceModifierMappingReply;
+
+/*********************************************************
+ *
+ * SetDeviceModifierMapping.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_SetDeviceModifierMapping */
+ CARD16 length B16;
+ CARD8 deviceid;
+ CARD8 numKeyPerModifier;
+ CARD16 pad1 B16;
+} xSetDeviceModifierMappingReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_SetDeviceModifierMapping */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD8 success;
+ CARD8 pad0;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xSetDeviceModifierMappingReply;
+
+/*********************************************************
+ *
+ * GetDeviceButtonMapping.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* X_GetDeviceButtonMapping */
+ CARD16 length B16;
+ CARD8 deviceid;
+ BYTE pad1, pad2, pad3;
+} xGetDeviceButtonMappingReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_GetDeviceButtonMapping */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD8 nElts;
+ BYTE pad1, pad2, pad3;
+ CARD32 pad01 B32;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ CARD32 pad04 B32;
+ CARD32 pad05 B32;
+} xGetDeviceButtonMappingReply;
+
+/*********************************************************
+ *
+ * SetDeviceButtonMapping.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* X_SetDeviceButtonMapping */
+ CARD16 length B16;
+ CARD8 deviceid;
+ CARD8 map_length;
+ BYTE pad1, pad2;
+} xSetDeviceButtonMappingReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_SetDeviceButtonMapping */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD8 status;
+ BYTE pad0;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xSetDeviceButtonMappingReply;
+
+/*********************************************************
+ *
+ * QueryDeviceState.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 ReqType; /* always X_QueryDeviceState */
+ CARD16 length B16;
+ CARD8 deviceid;
+ BYTE pad1, pad2, pad3;
+} xQueryDeviceStateReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_QueryDeviceState */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD8 num_classes;
+ BYTE pad0;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xQueryDeviceStateReply;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class;
+#else
+ CARD8 class;
+#endif
+ CARD8 length;
+ CARD8 num_keys;
+ BYTE pad1;
+ CARD8 keys[32];
+} xKeyState;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class;
+#else
+ CARD8 class;
+#endif
+ CARD8 length;
+ CARD8 num_buttons;
+ BYTE pad1;
+ CARD8 buttons[32];
+} xButtonState;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class;
+#else
+ CARD8 class;
+#endif
+ CARD8 length;
+ CARD8 num_valuators;
+ CARD8 mode;
+} xValuatorState;
+
+/*********************************************************
+ *
+ * SendExtensionEvent.
+ * THIS REQUEST MUST BE KEPT A MULTIPLE OF 8 BYTES IN LENGTH!
+ * MORE EVENTS MAY FOLLOW AND THEY MUST BE QUAD-ALIGNED!
+ *
+ */
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 ReqType; /* always X_SendExtensionEvent */
+ CARD16 length B16;
+ Window destination B32;
+ CARD8 deviceid;
+ BOOL propagate;
+ CARD16 count B16;
+ CARD8 num_events;
+ BYTE pad1,pad2,pad3;
+} xSendExtensionEventReq;
+
+/*********************************************************
+ *
+ * DeviceBell.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 ReqType; /* always X_DeviceBell */
+ CARD16 length B16;
+ CARD8 deviceid;
+ CARD8 feedbackid;
+ CARD8 feedbackclass;
+ INT8 percent;
+} xDeviceBellReq;
+
+/*********************************************************
+ *
+ * SetDeviceValuators.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_SetDeviceValuators */
+ CARD16 length B16;
+ CARD8 deviceid;
+ CARD8 first_valuator;
+ CARD8 num_valuators;
+ BYTE pad1;
+} xSetDeviceValuatorsReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_SetDeviceValuators */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD8 status;
+ BYTE pad1, pad2, pad3;
+ CARD32 pad01 B32;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ CARD32 pad04 B32;
+ CARD32 pad05 B32;
+} xSetDeviceValuatorsReply;
+
+/*********************************************************
+ *
+ * GetDeviceControl.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_GetDeviceControl */
+ CARD16 length B16;
+ CARD16 control B16;
+ CARD8 deviceid;
+ BYTE pad2;
+} xGetDeviceControlReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_GetDeviceControl */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD8 status;
+ BYTE pad1, pad2, pad3;
+ CARD32 pad01 B32;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ CARD32 pad04 B32;
+ CARD32 pad05 B32;
+} xGetDeviceControlReply;
+
+typedef struct {
+ CARD16 control B16; /* control type */
+ CARD16 length B16; /* control length */
+} xDeviceState;
+
+typedef struct {
+ CARD16 control B16; /* control type */
+ CARD16 length B16; /* control length */
+ CARD32 num_valuators B32; /* number of valuators */
+} xDeviceResolutionState;
+
+typedef struct {
+ CARD16 control B16;
+ CARD16 length B16;
+ INT32 min_x B32;
+ INT32 max_x B32;
+ INT32 min_y B32;
+ INT32 max_y B32;
+ CARD32 flip_x B32;
+ CARD32 flip_y B32;
+ CARD32 rotation B32;
+ CARD32 button_threshold B32;
+} xDeviceAbsCalibState;
+
+typedef struct {
+ CARD16 control B16;
+ CARD16 length B16;
+ CARD32 offset_x B32;
+ CARD32 offset_y B32;
+ CARD32 width B32;
+ CARD32 height B32;
+ CARD32 screen B32;
+ CARD32 following B32;
+} xDeviceAbsAreaState;
+
+typedef struct {
+ CARD16 control B16; /* control type */
+ CARD16 length B16; /* control length */
+ CARD8 status;
+ CARD8 iscore;
+ CARD16 pad1 B16;
+} xDeviceCoreState;
+
+typedef struct {
+ CARD16 control B16; /* control type */
+ CARD16 length B16; /* control length */
+ CARD8 enable;
+ CARD8 pad0;
+ CARD16 pad1 B16;
+} xDeviceEnableState;
+
+/*********************************************************
+ *
+ * ChangeDeviceControl.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_ChangeDeviceControl */
+ CARD16 length B16;
+ CARD16 control B16;
+ CARD8 deviceid;
+ BYTE pad0;
+} xChangeDeviceControlReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_ChangeDeviceControl */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD8 status;
+ BYTE pad1, pad2, pad3;
+ CARD32 pad01 B32;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ CARD32 pad04 B32;
+ CARD32 pad05 B32;
+} xChangeDeviceControlReply;
+
+typedef struct {
+ CARD16 control B16; /* control type */
+ CARD16 length B16; /* control length */
+} xDeviceCtl;
+
+typedef struct {
+ CARD16 control B16; /* control type */
+ CARD16 length B16; /* control length */
+ CARD8 first_valuator; /* first valuator to change */
+ CARD8 num_valuators; /* number of valuators to change*/
+ CARD8 pad1,pad2;
+} xDeviceResolutionCtl;
+
+typedef struct {
+ CARD16 control B16;
+ CARD16 length B16;
+ INT32 min_x;
+ INT32 max_x;
+ INT32 min_y;
+ INT32 max_y;
+ CARD32 flip_x;
+ CARD32 flip_y;
+ CARD32 rotation;
+ CARD32 button_threshold;
+} xDeviceAbsCalibCtl;
+
+typedef struct {
+ CARD16 control B16;
+ CARD16 length B16;
+ CARD32 offset_x;
+ CARD32 offset_y;
+ INT32 width;
+ INT32 height;
+ INT32 screen;
+ CARD32 following;
+} xDeviceAbsAreaCtl;
+
+typedef struct {
+ CARD16 control B16;
+ CARD16 length B16;
+ CARD8 status;
+ CARD8 pad0;
+ CARD16 pad1 B16;
+} xDeviceCoreCtl;
+
+typedef struct {
+ CARD16 control B16;
+ CARD16 length B16;
+ CARD8 enable;
+ CARD8 pad0;
+ CARD16 pad1 B16;
+} xDeviceEnableCtl;
+
+/* XI 1.5 */
+
+/*********************************************************
+ *
+ * ListDeviceProperties.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major opcode */
+ CARD8 ReqType; /* always X_ListDeviceProperties */
+ CARD16 length B16;
+ CARD8 deviceid;
+ CARD8 pad0;
+ CARD16 pad1 B16;
+} xListDevicePropertiesReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_ListDeviceProperties */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 nAtoms B16;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xListDevicePropertiesReply;
+
+/*********************************************************
+ *
+ * ChangeDeviceProperty.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major opcode */
+ CARD8 ReqType; /* always X_ChangeDeviceProperty */
+ CARD16 length B16;
+ Atom property B32;
+ Atom type B32;
+ CARD8 deviceid;
+ CARD8 format;
+ CARD8 mode;
+ CARD8 pad;
+ CARD32 nUnits B32;
+} xChangeDevicePropertyReq;
+
+/*********************************************************
+ *
+ * DeleteDeviceProperty.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major opcode */
+ CARD8 ReqType; /* always X_DeleteDeviceProperty */
+ CARD16 length B16;
+ Atom property B32;
+ CARD8 deviceid;
+ CARD8 pad0;
+ CARD16 pad1 B16;
+} xDeleteDevicePropertyReq;
+
+/*********************************************************
+ *
+ * GetDeviceProperty.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major opcode */
+ CARD8 ReqType; /* always X_GetDeviceProperty */
+ CARD16 length B16;
+ Atom property B32;
+ Atom type B32;
+ CARD32 longOffset B32;
+ CARD32 longLength B32;
+ CARD8 deviceid;
+#if defined(__cplusplus) || defined(c_plusplus)
+ BOOL c_delete;
+#else
+ BOOL delete;
+#endif
+ CARD16 pad;
+} xGetDevicePropertyReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_GetDeviceProperty */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ Atom propertyType B32;
+ CARD32 bytesAfter B32;
+ CARD32 nItems B32;
+ CARD8 format;
+ CARD8 deviceid;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+} xGetDevicePropertyReply;
+
+
+/**********************************************************
+ *
+ * Input extension events.
+ *
+ * DeviceValuator
+ *
+ */
+
+typedef struct
+ {
+ BYTE type;
+ CARD8 deviceid;
+ CARD16 sequenceNumber B16;
+ KeyButMask device_state B16;
+ CARD8 num_valuators;
+ CARD8 first_valuator;
+ INT32 valuator0 B32;
+ INT32 valuator1 B32;
+ INT32 valuator2 B32;
+ INT32 valuator3 B32;
+ INT32 valuator4 B32;
+ INT32 valuator5 B32;
+ } deviceValuator;
+
+/**********************************************************
+ *
+ * DeviceKeyButtonPointer.
+ *
+ * Used for: DeviceKeyPress, DeviceKeyRelease,
+ * DeviceButtonPress, DeviceButtonRelease,
+ * ProximityIn, ProximityOut
+ * DeviceMotionNotify,
+ *
+ */
+
+typedef struct
+ {
+ BYTE type;
+ BYTE detail;
+ CARD16 sequenceNumber B16;
+ Time time B32;
+ Window root B32;
+ Window event B32;
+ Window child B32;
+ INT16 root_x B16;
+ INT16 root_y B16;
+ INT16 event_x B16;
+ INT16 event_y B16;
+ KeyButMask state B16;
+ BOOL same_screen;
+ CARD8 deviceid;
+ } deviceKeyButtonPointer;
+
+/**********************************************************
+ *
+ * DeviceFocus.
+ *
+ */
+
+typedef struct
+ {
+ BYTE type;
+ BYTE detail;
+ CARD16 sequenceNumber B16;
+ Time time B32;
+ Window window B32;
+ BYTE mode;
+ CARD8 deviceid;
+ BYTE pad1, pad2;
+ CARD32 pad00 B32;
+ CARD32 pad01 B32;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ } deviceFocus;
+
+/**********************************************************
+ *
+ * DeviceStateNotify.
+ *
+ * Note that the two high-order bits in the classes_reported
+ * field are the proximity state (InProximity or OutOfProximity),
+ * and the device mode (Absolute or Relative), respectively.
+ *
+ */
+
+typedef struct
+ {
+ BYTE type;
+ BYTE deviceid;
+ CARD16 sequenceNumber B16;
+ Time time B32;
+ CARD8 num_keys;
+ CARD8 num_buttons;
+ CARD8 num_valuators;
+ CARD8 classes_reported;
+ CARD8 buttons[4];
+ CARD8 keys[4];
+ INT32 valuator0 B32;
+ INT32 valuator1 B32;
+ INT32 valuator2 B32;
+ } deviceStateNotify;
+
+/**********************************************************
+ *
+ * DeviceKeyStateNotify.
+ *
+ */
+
+typedef struct
+ {
+ BYTE type;
+ BYTE deviceid;
+ CARD16 sequenceNumber B16;
+ CARD8 keys[28];
+ } deviceKeyStateNotify;
+
+/**********************************************************
+ *
+ * DeviceButtonStateNotify.
+ *
+ */
+
+typedef struct
+ {
+ BYTE type;
+ BYTE deviceid;
+ CARD16 sequenceNumber B16;
+ CARD8 buttons[28];
+ } deviceButtonStateNotify;
+
+/**********************************************************
+ *
+ * DeviceMappingNotify.
+ * Fields must be kept in sync with core mappingnotify event.
+ *
+ */
+
+typedef struct
+ {
+ BYTE type;
+ BYTE deviceid;
+ CARD16 sequenceNumber B16;
+ CARD8 request;
+ KeyCode firstKeyCode;
+ CARD8 count;
+ BYTE pad1;
+ Time time B32;
+ CARD32 pad00 B32;
+ CARD32 pad01 B32;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ CARD32 pad04 B32;
+ } deviceMappingNotify;
+
+/**********************************************************
+ *
+ * ChangeDeviceNotify.
+ *
+ */
+
+typedef struct
+ {
+ BYTE type;
+ BYTE deviceid;
+ CARD16 sequenceNumber B16;
+ Time time B32;
+ CARD8 request;
+ BYTE pad1, pad2, pad3;
+ CARD32 pad00 B32;
+ CARD32 pad01 B32;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ CARD32 pad04 B32;
+ } changeDeviceNotify;
+
+/**********************************************************
+ *
+ * devicePresenceNotify.
+ *
+ */
+
+typedef struct
+ {
+ BYTE type;
+ BYTE pad00;
+ CARD16 sequenceNumber B16;
+ Time time B32;
+ BYTE devchange; /* Device{Added|Removed|Enabled|Disabled|ControlChanged} */
+ BYTE deviceid;
+ CARD16 control B16;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ CARD32 pad04 B32;
+ CARD32 pad05 B32;
+ CARD32 pad06 B32;
+ } devicePresenceNotify;
+
+
+/*********************************************************
+ * DevicePropertyNotifyEvent
+ *
+ * Sent whenever a device's property changes.
+ *
+ */
+
+typedef struct
+ {
+ BYTE type;
+ BYTE state; /* NewValue or Deleted */
+ CARD16 sequenceNumber B16;
+ CARD32 time B32;
+ Atom atom B32; /* affected property */
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD16 pad5 B16;
+ CARD8 pad4;
+ CARD8 deviceid; /* id of device */
+ } devicePropertyNotify;
+
+#undef Window
+#undef Time
+#undef KeyCode
+#undef Mask
+#undef Atom
+#undef Cursor
+
+#endif
diff --git a/stream-servers/apigen-codec-common/X11/extensions/XKB.h b/stream-servers/apigen-codec-common/X11/extensions/XKB.h
new file mode 100644
index 0000000..ee4f740
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/XKB.h
@@ -0,0 +1,786 @@
+/************************************************************
+Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc.
+
+Permission to use, copy, modify, and distribute this
+software and its documentation for any purpose and without
+fee is hereby granted, provided that the above copyright
+notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting
+documentation, and that the name of Silicon Graphics not be
+used in advertising or publicity pertaining to distribution
+of the software without specific prior written permission.
+Silicon Graphics makes no representation about the suitability
+of this software for any purpose. It is provided "as is"
+without any express or implied warranty.
+
+SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
+DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
+THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+********************************************************/
+
+#ifndef _XKB_H_
+#define _XKB_H_
+
+ /*
+ * XKB request codes, used in:
+ * - xkbReqType field of all requests
+ * - requestMinor field of some events
+ */
+#define X_kbUseExtension 0
+#define X_kbSelectEvents 1
+#define X_kbBell 3
+#define X_kbGetState 4
+#define X_kbLatchLockState 5
+#define X_kbGetControls 6
+#define X_kbSetControls 7
+#define X_kbGetMap 8
+#define X_kbSetMap 9
+#define X_kbGetCompatMap 10
+#define X_kbSetCompatMap 11
+#define X_kbGetIndicatorState 12
+#define X_kbGetIndicatorMap 13
+#define X_kbSetIndicatorMap 14
+#define X_kbGetNamedIndicator 15
+#define X_kbSetNamedIndicator 16
+#define X_kbGetNames 17
+#define X_kbSetNames 18
+#define X_kbGetGeometry 19
+#define X_kbSetGeometry 20
+#define X_kbPerClientFlags 21
+#define X_kbListComponents 22
+#define X_kbGetKbdByName 23
+#define X_kbGetDeviceInfo 24
+#define X_kbSetDeviceInfo 25
+#define X_kbSetDebuggingFlags 101
+
+ /*
+ * In the X sense, XKB reports only one event.
+ * The type field of all XKB events is XkbEventCode
+ */
+#define XkbEventCode 0
+#define XkbNumberEvents (XkbEventCode+1)
+
+ /*
+ * XKB has a minor event code so it can use one X event code for
+ * multiple purposes.
+ * - reported in the xkbType field of all XKB events.
+ * - XkbSelectEventDetails: Indicates the event for which event details
+ * are being changed
+ */
+#define XkbNewKeyboardNotify 0
+#define XkbMapNotify 1
+#define XkbStateNotify 2
+#define XkbControlsNotify 3
+#define XkbIndicatorStateNotify 4
+#define XkbIndicatorMapNotify 5
+#define XkbNamesNotify 6
+#define XkbCompatMapNotify 7
+#define XkbBellNotify 8
+#define XkbActionMessage 9
+#define XkbAccessXNotify 10
+#define XkbExtensionDeviceNotify 11
+
+ /*
+ * Event Mask:
+ * - XkbSelectEvents: Specifies event interest.
+ */
+#define XkbNewKeyboardNotifyMask (1L << 0)
+#define XkbMapNotifyMask (1L << 1)
+#define XkbStateNotifyMask (1L << 2)
+#define XkbControlsNotifyMask (1L << 3)
+#define XkbIndicatorStateNotifyMask (1L << 4)
+#define XkbIndicatorMapNotifyMask (1L << 5)
+#define XkbNamesNotifyMask (1L << 6)
+#define XkbCompatMapNotifyMask (1L << 7)
+#define XkbBellNotifyMask (1L << 8)
+#define XkbActionMessageMask (1L << 9)
+#define XkbAccessXNotifyMask (1L << 10)
+#define XkbExtensionDeviceNotifyMask (1L << 11)
+#define XkbAllEventsMask (0xFFF)
+
+ /*
+ * NewKeyboardNotify event details:
+ */
+#define XkbNKN_KeycodesMask (1L << 0)
+#define XkbNKN_GeometryMask (1L << 1)
+#define XkbNKN_DeviceIDMask (1L << 2)
+#define XkbAllNewKeyboardEventsMask (0x7)
+
+ /*
+ * AccessXNotify event types:
+ * - The 'what' field of AccessXNotify events reports the
+ * reason that the event was generated.
+ */
+#define XkbAXN_SKPress 0
+#define XkbAXN_SKAccept 1
+#define XkbAXN_SKReject 2
+#define XkbAXN_SKRelease 3
+#define XkbAXN_BKAccept 4
+#define XkbAXN_BKReject 5
+#define XkbAXN_AXKWarning 6
+
+ /*
+ * AccessXNotify details:
+ * - Used as an event detail mask to limit the conditions under which
+ * AccessXNotify events are reported
+ */
+#define XkbAXN_SKPressMask (1L << 0)
+#define XkbAXN_SKAcceptMask (1L << 1)
+#define XkbAXN_SKRejectMask (1L << 2)
+#define XkbAXN_SKReleaseMask (1L << 3)
+#define XkbAXN_BKAcceptMask (1L << 4)
+#define XkbAXN_BKRejectMask (1L << 5)
+#define XkbAXN_AXKWarningMask (1L << 6)
+#define XkbAllAccessXEventsMask (0x7f)
+
+ /*
+ * Miscellaneous event details:
+ * - event detail masks for assorted events that don't reall
+ * have any details.
+ */
+#define XkbAllStateEventsMask XkbAllStateComponentsMask
+#define XkbAllMapEventsMask XkbAllMapComponentsMask
+#define XkbAllControlEventsMask XkbAllControlsMask
+#define XkbAllIndicatorEventsMask XkbAllIndicatorsMask
+#define XkbAllNameEventsMask XkbAllNamesMask
+#define XkbAllCompatMapEventsMask XkbAllCompatMask
+#define XkbAllBellEventsMask (1L << 0)
+#define XkbAllActionMessagesMask (1L << 0)
+
+ /*
+ * XKB reports one error: BadKeyboard
+ * A further reason for the error is encoded into to most significant
+ * byte of the resourceID for the error:
+ * XkbErr_BadDevice - the device in question was not found
+ * XkbErr_BadClass - the device was found but it doesn't belong to
+ * the appropriate class.
+ * XkbErr_BadId - the device was found and belongs to the right
+ * class, but not feedback with a matching id was
+ * found.
+ * The low byte of the resourceID for this error contains the device
+ * id, class specifier or feedback id that failed.
+ */
+#define XkbKeyboard 0
+#define XkbNumberErrors 1
+
+#define XkbErr_BadDevice 0xff
+#define XkbErr_BadClass 0xfe
+#define XkbErr_BadId 0xfd
+
+ /*
+ * Keyboard Components Mask:
+ * - Specifies the components that follow a GetKeyboardByNameReply
+ */
+#define XkbClientMapMask (1L << 0)
+#define XkbServerMapMask (1L << 1)
+#define XkbCompatMapMask (1L << 2)
+#define XkbIndicatorMapMask (1L << 3)
+#define XkbNamesMask (1L << 4)
+#define XkbGeometryMask (1L << 5)
+#define XkbControlsMask (1L << 6)
+#define XkbAllComponentsMask (0x7f)
+
+ /*
+ * State detail mask:
+ * - The 'changed' field of StateNotify events reports which of
+ * the keyboard state components have changed.
+ * - Used as an event detail mask to limit the conditions under
+ * which StateNotify events are reported.
+ */
+#define XkbModifierStateMask (1L << 0)
+#define XkbModifierBaseMask (1L << 1)
+#define XkbModifierLatchMask (1L << 2)
+#define XkbModifierLockMask (1L << 3)
+#define XkbGroupStateMask (1L << 4)
+#define XkbGroupBaseMask (1L << 5)
+#define XkbGroupLatchMask (1L << 6)
+#define XkbGroupLockMask (1L << 7)
+#define XkbCompatStateMask (1L << 8)
+#define XkbGrabModsMask (1L << 9)
+#define XkbCompatGrabModsMask (1L << 10)
+#define XkbLookupModsMask (1L << 11)
+#define XkbCompatLookupModsMask (1L << 12)
+#define XkbPointerButtonMask (1L << 13)
+#define XkbAllStateComponentsMask (0x3fff)
+
+ /*
+ * Controls detail masks:
+ * The controls specified in XkbAllControlsMask:
+ * - The 'changed' field of ControlsNotify events reports which of
+ * the keyboard controls have changed.
+ * - The 'changeControls' field of the SetControls request specifies
+ * the controls for which values are to be changed.
+ * - Used as an event detail mask to limit the conditions under
+ * which ControlsNotify events are reported.
+ *
+ * The controls specified in the XkbAllBooleanCtrlsMask:
+ * - The 'enabledControls' field of ControlsNotify events reports the
+ * current status of the boolean controls.
+ * - The 'enabledControlsChanges' field of ControlsNotify events reports
+ * any boolean controls that have been turned on or off.
+ * - The 'affectEnabledControls' and 'enabledControls' fields of the
+ * kbSetControls request change the set of enabled controls.
+ * - The 'accessXTimeoutMask' and 'accessXTimeoutValues' fields of
+ * an XkbControlsRec specify the controls to be changed if the keyboard
+ * times out and the values to which they should be changed.
+ * - The 'autoCtrls' and 'autoCtrlsValues' fields of the PerClientFlags
+ * request specifies the specify the controls to be reset when the
+ * client exits and the values to which they should be reset.
+ * - The 'ctrls' field of an indicator map specifies the controls
+ * that drive the indicator.
+ * - Specifies the boolean controls affected by the SetControls and
+ * LockControls key actions.
+ */
+#define XkbRepeatKeysMask (1L << 0)
+#define XkbSlowKeysMask (1L << 1)
+#define XkbBounceKeysMask (1L << 2)
+#define XkbStickyKeysMask (1L << 3)
+#define XkbMouseKeysMask (1L << 4)
+#define XkbMouseKeysAccelMask (1L << 5)
+#define XkbAccessXKeysMask (1L << 6)
+#define XkbAccessXTimeoutMask (1L << 7)
+#define XkbAccessXFeedbackMask (1L << 8)
+#define XkbAudibleBellMask (1L << 9)
+#define XkbOverlay1Mask (1L << 10)
+#define XkbOverlay2Mask (1L << 11)
+#define XkbIgnoreGroupLockMask (1L << 12)
+#define XkbGroupsWrapMask (1L << 27)
+#define XkbInternalModsMask (1L << 28)
+#define XkbIgnoreLockModsMask (1L << 29)
+#define XkbPerKeyRepeatMask (1L << 30)
+#define XkbControlsEnabledMask (1L << 31)
+
+#define XkbAccessXOptionsMask (XkbStickyKeysMask|XkbAccessXFeedbackMask)
+
+#define XkbAllBooleanCtrlsMask (0x00001FFF)
+#define XkbAllControlsMask (0xF8001FFF)
+#define XkbAllControlEventsMask XkbAllControlsMask
+
+ /*
+ * AccessX Options Mask
+ * - The 'accessXOptions' field of an XkbControlsRec specifies the
+ * AccessX options that are currently in effect.
+ * - The 'accessXTimeoutOptionsMask' and 'accessXTimeoutOptionsValues'
+ * fields of an XkbControlsRec specify the Access X options to be
+ * changed if the keyboard times out and the values to which they
+ * should be changed.
+ */
+#define XkbAX_SKPressFBMask (1L << 0)
+#define XkbAX_SKAcceptFBMask (1L << 1)
+#define XkbAX_FeatureFBMask (1L << 2)
+#define XkbAX_SlowWarnFBMask (1L << 3)
+#define XkbAX_IndicatorFBMask (1L << 4)
+#define XkbAX_StickyKeysFBMask (1L << 5)
+#define XkbAX_TwoKeysMask (1L << 6)
+#define XkbAX_LatchToLockMask (1L << 7)
+#define XkbAX_SKReleaseFBMask (1L << 8)
+#define XkbAX_SKRejectFBMask (1L << 9)
+#define XkbAX_BKRejectFBMask (1L << 10)
+#define XkbAX_DumbBellFBMask (1L << 11)
+#define XkbAX_FBOptionsMask (0xF3F)
+#define XkbAX_SKOptionsMask (0x0C0)
+#define XkbAX_AllOptionsMask (0xFFF)
+
+ /*
+ * XkbUseCoreKbd is used to specify the core keyboard without having
+ * to look up its X input extension identifier.
+ * XkbUseCorePtr is used to specify the core pointer without having
+ * to look up its X input extension identifier.
+ * XkbDfltXIClass is used to specify "don't care" any place that the
+ * XKB protocol is looking for an X Input Extension
+ * device class.
+ * XkbDfltXIId is used to specify "don't care" any place that the
+ * XKB protocol is looking for an X Input Extension
+ * feedback identifier.
+ * XkbAllXIClasses is used to get information about all device indicators,
+ * whether they're part of the indicator feedback class
+ * or the keyboard feedback class.
+ * XkbAllXIIds is used to get information about all device indicator
+ * feedbacks without having to list them.
+ * XkbXINone is used to indicate that no class or id has been specified.
+ * XkbLegalXILedClass(c) True if 'c' specifies a legal class with LEDs
+ * XkbLegalXIBellClass(c) True if 'c' specifies a legal class with bells
+ * XkbExplicitXIDevice(d) True if 'd' explicitly specifies a device
+ * XkbExplicitXIClass(c) True if 'c' explicitly specifies a device class
+ * XkbExplicitXIId(c) True if 'i' explicitly specifies a device id
+ * XkbSingleXIClass(c) True if 'c' specifies exactly one device class,
+ * including the default.
+ * XkbSingleXIId(i) True if 'i' specifies exactly one device
+ * identifier, including the default.
+ */
+#define XkbUseCoreKbd 0x0100
+#define XkbUseCorePtr 0x0200
+#define XkbDfltXIClass 0x0300
+#define XkbDfltXIId 0x0400
+#define XkbAllXIClasses 0x0500
+#define XkbAllXIIds 0x0600
+#define XkbXINone 0xff00
+
+#define XkbLegalXILedClass(c) (((c)==KbdFeedbackClass)||\
+ ((c)==LedFeedbackClass)||\
+ ((c)==XkbDfltXIClass)||\
+ ((c)==XkbAllXIClasses))
+#define XkbLegalXIBellClass(c) (((c)==KbdFeedbackClass)||\
+ ((c)==BellFeedbackClass)||\
+ ((c)==XkbDfltXIClass)||\
+ ((c)==XkbAllXIClasses))
+#define XkbExplicitXIDevice(c) (((c)&(~0xff))==0)
+#define XkbExplicitXIClass(c) (((c)&(~0xff))==0)
+#define XkbExplicitXIId(c) (((c)&(~0xff))==0)
+#define XkbSingleXIClass(c) ((((c)&(~0xff))==0)||((c)==XkbDfltXIClass))
+#define XkbSingleXIId(c) ((((c)&(~0xff))==0)||((c)==XkbDfltXIId))
+
+#define XkbNoModifier 0xff
+#define XkbNoShiftLevel 0xff
+#define XkbNoShape 0xff
+#define XkbNoIndicator 0xff
+
+#define XkbNoModifierMask 0
+#define XkbAllModifiersMask 0xff
+#define XkbAllVirtualModsMask 0xffff
+
+#define XkbNumKbdGroups 4
+#define XkbMaxKbdGroup (XkbNumKbdGroups-1)
+
+#define XkbMaxMouseKeysBtn 4
+
+ /*
+ * Group Index and Mask:
+ * - Indices into the kt_index array of a key type.
+ * - Mask specifies types to be changed for XkbChangeTypesOfKey
+ */
+#define XkbGroup1Index 0
+#define XkbGroup2Index 1
+#define XkbGroup3Index 2
+#define XkbGroup4Index 3
+#define XkbAnyGroup 254
+#define XkbAllGroups 255
+
+#define XkbGroup1Mask (1<<0)
+#define XkbGroup2Mask (1<<1)
+#define XkbGroup3Mask (1<<2)
+#define XkbGroup4Mask (1<<3)
+#define XkbAnyGroupMask (1<<7)
+#define XkbAllGroupsMask (0xf)
+
+ /*
+ * BuildCoreState: Given a keyboard group and a modifier state,
+ * construct the value to be reported an event.
+ * GroupForCoreState: Given the state reported in an event,
+ * determine the keyboard group.
+ * IsLegalGroup: Returns TRUE if 'g' is a valid group index.
+ */
+#define XkbBuildCoreState(m,g) ((((g)&0x3)<<13)|((m)&0xff))
+#define XkbGroupForCoreState(s) (((s)>>13)&0x3)
+#define XkbIsLegalGroup(g) (((g)>=0)&&((g)<XkbNumKbdGroups))
+
+ /*
+ * GroupsWrap values:
+ * - The 'groupsWrap' field of an XkbControlsRec specifies the
+ * treatment of out of range groups.
+ * - Bits 6 and 7 of the group info field of a key symbol map
+ * specify the interpretation of out of range groups for the
+ * corresponding key.
+ */
+#define XkbWrapIntoRange (0x00)
+#define XkbClampIntoRange (0x40)
+#define XkbRedirectIntoRange (0x80)
+
+ /*
+ * Action flags: Reported in the 'flags' field of most key actions.
+ * Interpretation depends on the type of the action; not all actions
+ * accept all flags.
+ *
+ * Option Used for Actions
+ * ------ ----------------
+ * ClearLocks SetMods, LatchMods, SetGroup, LatchGroup
+ * LatchToLock SetMods, LatchMods, SetGroup, LatchGroup
+ * LockNoLock LockMods, ISOLock, LockPtrBtn, LockDeviceBtn
+ * LockNoUnlock LockMods, ISOLock, LockPtrBtn, LockDeviceBtn
+ * UseModMapMods SetMods, LatchMods, LockMods, ISOLock
+ * GroupAbsolute SetGroup, LatchGroup, LockGroup, ISOLock
+ * UseDfltButton PtrBtn, LockPtrBtn
+ * NoAcceleration MovePtr
+ * MoveAbsoluteX MovePtr
+ * MoveAbsoluteY MovePtr
+ * ISODfltIsGroup ISOLock
+ * ISONoAffectMods ISOLock
+ * ISONoAffectGroup ISOLock
+ * ISONoAffectPtr ISOLock
+ * ISONoAffectCtrls ISOLock
+ * MessageOnPress ActionMessage
+ * MessageOnRelease ActionMessage
+ * MessageGenKeyEvent ActionMessage
+ * AffectDfltBtn SetPtrDflt
+ * DfltBtnAbsolute SetPtrDflt
+ * SwitchApplication SwitchScreen
+ * SwitchAbsolute SwitchScreen
+ */
+
+#define XkbSA_ClearLocks (1L << 0)
+#define XkbSA_LatchToLock (1L << 1)
+
+#define XkbSA_LockNoLock (1L << 0)
+#define XkbSA_LockNoUnlock (1L << 1)
+
+#define XkbSA_UseModMapMods (1L << 2)
+
+#define XkbSA_GroupAbsolute (1L << 2)
+#define XkbSA_UseDfltButton 0
+
+#define XkbSA_NoAcceleration (1L << 0)
+#define XkbSA_MoveAbsoluteX (1L << 1)
+#define XkbSA_MoveAbsoluteY (1L << 2)
+
+#define XkbSA_ISODfltIsGroup (1L << 7)
+#define XkbSA_ISONoAffectMods (1L << 6)
+#define XkbSA_ISONoAffectGroup (1L << 5)
+#define XkbSA_ISONoAffectPtr (1L << 4)
+#define XkbSA_ISONoAffectCtrls (1L << 3)
+#define XkbSA_ISOAffectMask (0x78)
+
+#define XkbSA_MessageOnPress (1L << 0)
+#define XkbSA_MessageOnRelease (1L << 1)
+#define XkbSA_MessageGenKeyEvent (1L << 2)
+
+#define XkbSA_AffectDfltBtn 1
+#define XkbSA_DfltBtnAbsolute (1L << 2)
+
+#define XkbSA_SwitchApplication (1L << 0)
+#define XkbSA_SwitchAbsolute (1L << 2)
+
+ /*
+ * The following values apply to the SA_DeviceValuator
+ * action only. Valuator operations specify the action
+ * to be taken. Values specified in the action are
+ * multiplied by 2^scale before they are applied.
+ */
+#define XkbSA_IgnoreVal (0x00)
+#define XkbSA_SetValMin (0x10)
+#define XkbSA_SetValCenter (0x20)
+#define XkbSA_SetValMax (0x30)
+#define XkbSA_SetValRelative (0x40)
+#define XkbSA_SetValAbsolute (0x50)
+#define XkbSA_ValOpMask (0x70)
+#define XkbSA_ValScaleMask (0x07)
+#define XkbSA_ValOp(a) ((a)&XkbSA_ValOpMask)
+#define XkbSA_ValScale(a) ((a)&XkbSA_ValScaleMask)
+
+ /*
+ * Action types: specifies the type of a key action. Reported in the
+ * type field of all key actions.
+ */
+#define XkbSA_NoAction 0x00
+#define XkbSA_SetMods 0x01
+#define XkbSA_LatchMods 0x02
+#define XkbSA_LockMods 0x03
+#define XkbSA_SetGroup 0x04
+#define XkbSA_LatchGroup 0x05
+#define XkbSA_LockGroup 0x06
+#define XkbSA_MovePtr 0x07
+#define XkbSA_PtrBtn 0x08
+#define XkbSA_LockPtrBtn 0x09
+#define XkbSA_SetPtrDflt 0x0a
+#define XkbSA_ISOLock 0x0b
+#define XkbSA_Terminate 0x0c
+#define XkbSA_SwitchScreen 0x0d
+#define XkbSA_SetControls 0x0e
+#define XkbSA_LockControls 0x0f
+#define XkbSA_ActionMessage 0x10
+#define XkbSA_RedirectKey 0x11
+#define XkbSA_DeviceBtn 0x12
+#define XkbSA_LockDeviceBtn 0x13
+#define XkbSA_DeviceValuator 0x14
+#define XkbSA_LastAction XkbSA_DeviceValuator
+#define XkbSA_NumActions (XkbSA_LastAction+1)
+
+#define XkbSA_XFree86Private 0x86
+
+ /*
+ * Specifies the key actions that clear latched groups or modifiers.
+ */
+#define XkbSA_BreakLatch \
+ ((1<<XkbSA_NoAction)|(1<<XkbSA_PtrBtn)|(1<<XkbSA_LockPtrBtn)|\
+ (1<<XkbSA_Terminate)|(1<<XkbSA_SwitchScreen)|(1<<XkbSA_SetControls)|\
+ (1<<XkbSA_LockControls)|(1<<XkbSA_ActionMessage)|\
+ (1<<XkbSA_RedirectKey)|(1<<XkbSA_DeviceBtn)|(1<<XkbSA_LockDeviceBtn))
+
+ /*
+ * Macros to classify key actions
+ */
+#define XkbIsModAction(a) (((a)->type>=Xkb_SASetMods)&&((a)->type<=XkbSA_LockMods))
+#define XkbIsGroupAction(a) (((a)->type>=XkbSA_SetGroup)&&((a)->type<=XkbSA_LockGroup))
+#define XkbIsPtrAction(a) (((a)->type>=XkbSA_MovePtr)&&((a)->type<=XkbSA_SetPtrDflt))
+
+
+ /*
+ * Key Behavior Qualifier:
+ * KB_Permanent indicates that the behavior describes an unalterable
+ * characteristic of the keyboard, not an XKB software-simulation of
+ * the listed behavior.
+ * Key Behavior Types:
+ * Specifies the behavior of the underlying key.
+ */
+#define XkbKB_Permanent 0x80
+#define XkbKB_OpMask 0x7f
+
+#define XkbKB_Default 0x00
+#define XkbKB_Lock 0x01
+#define XkbKB_RadioGroup 0x02
+#define XkbKB_Overlay1 0x03
+#define XkbKB_Overlay2 0x04
+
+#define XkbKB_RGAllowNone 0x80
+
+ /*
+ * Various macros which describe the range of legal keycodes.
+ */
+#define XkbMinLegalKeyCode 8
+#define XkbMaxLegalKeyCode 255
+#define XkbMaxKeyCount (XkbMaxLegalKeyCode-XkbMinLegalKeyCode+1)
+#define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8)
+/* Seems kinda silly to check that an unsigned char is <= 255... */
+#define XkbIsLegalKeycode(k) ((k)>=XkbMinLegalKeyCode)
+
+ /*
+ * Assorted constants and limits.
+ */
+#define XkbNumModifiers 8
+#define XkbNumVirtualMods 16
+#define XkbNumIndicators 32
+#define XkbAllIndicatorsMask (0xffffffff)
+#define XkbMaxRadioGroups 32
+#define XkbAllRadioGroupsMask (0xffffffff)
+#define XkbMaxShiftLevel 63
+#define XkbMaxSymsPerKey (XkbMaxShiftLevel*XkbNumKbdGroups)
+#define XkbRGMaxMembers 12
+#define XkbActionMessageLength 6
+#define XkbKeyNameLength 4
+#define XkbMaxRedirectCount 8
+
+#define XkbGeomPtsPerMM 10
+#define XkbGeomMaxColors 32
+#define XkbGeomMaxLabelColors 3
+#define XkbGeomMaxPriority 255
+
+ /*
+ * Key Type index and mask for the four standard key types.
+ */
+#define XkbOneLevelIndex 0
+#define XkbTwoLevelIndex 1
+#define XkbAlphabeticIndex 2
+#define XkbKeypadIndex 3
+#define XkbLastRequiredType XkbKeypadIndex
+#define XkbNumRequiredTypes (XkbLastRequiredType+1)
+#define XkbMaxKeyTypes 255
+
+#define XkbOneLevelMask (1<<0)
+#define XkbTwoLevelMask (1<<1)
+#define XkbAlphabeticMask (1<<2)
+#define XkbKeypadMask (1<<3)
+#define XkbAllRequiredTypes (0xf)
+
+#define XkbShiftLevel(n) ((n)-1)
+#define XkbShiftLevelMask(n) (1<<((n)-1))
+
+ /*
+ * Extension name and version information
+ */
+#define XkbName "XKEYBOARD"
+#define XkbMajorVersion 1
+#define XkbMinorVersion 0
+
+ /*
+ * Explicit map components:
+ * - Used in the 'explicit' field of an XkbServerMap. Specifies
+ * the keyboard components that should _not_ be updated automatically
+ * in response to core protocol keyboard mapping requests.
+ */
+#define XkbExplicitKeyTypesMask (0x0f)
+#define XkbExplicitKeyType1Mask (1<<0)
+#define XkbExplicitKeyType2Mask (1<<1)
+#define XkbExplicitKeyType3Mask (1<<2)
+#define XkbExplicitKeyType4Mask (1<<3)
+#define XkbExplicitInterpretMask (1<<4)
+#define XkbExplicitAutoRepeatMask (1<<5)
+#define XkbExplicitBehaviorMask (1<<6)
+#define XkbExplicitVModMapMask (1<<7)
+#define XkbAllExplicitMask (0xff)
+
+ /*
+ * Map components masks:
+ * Those in AllMapComponentsMask:
+ * - Specifies the individual fields to be loaded or changed for the
+ * GetMap and SetMap requests.
+ * Those in ClientInfoMask:
+ * - Specifies the components to be allocated by XkbAllocClientMap.
+ * Those in ServerInfoMask:
+ * - Specifies the components to be allocated by XkbAllocServerMap.
+ */
+#define XkbKeyTypesMask (1<<0)
+#define XkbKeySymsMask (1<<1)
+#define XkbModifierMapMask (1<<2)
+#define XkbExplicitComponentsMask (1<<3)
+#define XkbKeyActionsMask (1<<4)
+#define XkbKeyBehaviorsMask (1<<5)
+#define XkbVirtualModsMask (1<<6)
+#define XkbVirtualModMapMask (1<<7)
+
+#define XkbAllClientInfoMask (XkbKeyTypesMask|XkbKeySymsMask|XkbModifierMapMask)
+#define XkbAllServerInfoMask (XkbExplicitComponentsMask|XkbKeyActionsMask|XkbKeyBehaviorsMask|XkbVirtualModsMask|XkbVirtualModMapMask)
+#define XkbAllMapComponentsMask (XkbAllClientInfoMask|XkbAllServerInfoMask)
+
+ /*
+ * Symbol interpretations flags:
+ * - Used in the flags field of a symbol interpretation
+ */
+#define XkbSI_AutoRepeat (1<<0)
+#define XkbSI_LockingKey (1<<1)
+
+ /*
+ * Symbol interpretations match specification:
+ * - Used in the match field of a symbol interpretation to specify
+ * the conditions under which an interpretation is used.
+ */
+#define XkbSI_LevelOneOnly (0x80)
+#define XkbSI_OpMask (0x7f)
+#define XkbSI_NoneOf (0)
+#define XkbSI_AnyOfOrNone (1)
+#define XkbSI_AnyOf (2)
+#define XkbSI_AllOf (3)
+#define XkbSI_Exactly (4)
+
+ /*
+ * Indicator map flags:
+ * - Used in the flags field of an indicator map to indicate the
+ * conditions under which and indicator can be changed and the
+ * effects of changing the indicator.
+ */
+#define XkbIM_NoExplicit (1L << 7)
+#define XkbIM_NoAutomatic (1L << 6)
+#define XkbIM_LEDDrivesKB (1L << 5)
+
+ /*
+ * Indicator map component specifications:
+ * - Used by the 'which_groups' and 'which_mods' fields of an indicator
+ * map to specify which keyboard components should be used to drive
+ * the indicator.
+ */
+#define XkbIM_UseBase (1L << 0)
+#define XkbIM_UseLatched (1L << 1)
+#define XkbIM_UseLocked (1L << 2)
+#define XkbIM_UseEffective (1L << 3)
+#define XkbIM_UseCompat (1L << 4)
+
+#define XkbIM_UseNone 0
+#define XkbIM_UseAnyGroup (XkbIM_UseBase|XkbIM_UseLatched|XkbIM_UseLocked\
+ |XkbIM_UseEffective)
+#define XkbIM_UseAnyMods (XkbIM_UseAnyGroup|XkbIM_UseCompat)
+
+ /*
+ * Compatibility Map Compontents:
+ * - Specifies the components to be allocated in XkbAllocCompatMap.
+ */
+#define XkbSymInterpMask (1<<0)
+#define XkbGroupCompatMask (1<<1)
+#define XkbAllCompatMask (0x3)
+
+ /*
+ * Names component mask:
+ * - Specifies the names to be loaded or changed for the GetNames and
+ * SetNames requests.
+ * - Specifies the names that have changed in a NamesNotify event.
+ * - Specifies the names components to be allocated by XkbAllocNames.
+ */
+#define XkbKeycodesNameMask (1<<0)
+#define XkbGeometryNameMask (1<<1)
+#define XkbSymbolsNameMask (1<<2)
+#define XkbPhysSymbolsNameMask (1<<3)
+#define XkbTypesNameMask (1<<4)
+#define XkbCompatNameMask (1<<5)
+#define XkbKeyTypeNamesMask (1<<6)
+#define XkbKTLevelNamesMask (1<<7)
+#define XkbIndicatorNamesMask (1<<8)
+#define XkbKeyNamesMask (1<<9)
+#define XkbKeyAliasesMask (1<<10)
+#define XkbVirtualModNamesMask (1<<11)
+#define XkbGroupNamesMask (1<<12)
+#define XkbRGNamesMask (1<<13)
+#define XkbComponentNamesMask (0x3f)
+#define XkbAllNamesMask (0x3fff)
+
+ /*
+ * GetByName components:
+ * - Specifies desired or necessary components to GetKbdByName request.
+ * - Reports the components that were found in a GetKbdByNameReply
+ */
+#define XkbGBN_TypesMask (1L << 0)
+#define XkbGBN_CompatMapMask (1L << 1)
+#define XkbGBN_ClientSymbolsMask (1L << 2)
+#define XkbGBN_ServerSymbolsMask (1L << 3)
+#define XkbGBN_SymbolsMask (XkbGBN_ClientSymbolsMask|XkbGBN_ServerSymbolsMask)
+#define XkbGBN_IndicatorMapMask (1L << 4)
+#define XkbGBN_KeyNamesMask (1L << 5)
+#define XkbGBN_GeometryMask (1L << 6)
+#define XkbGBN_OtherNamesMask (1L << 7)
+#define XkbGBN_AllComponentsMask (0xff)
+
+ /*
+ * ListComponents flags
+ */
+#define XkbLC_Hidden (1L << 0)
+#define XkbLC_Default (1L << 1)
+#define XkbLC_Partial (1L << 2)
+
+#define XkbLC_AlphanumericKeys (1L << 8)
+#define XkbLC_ModifierKeys (1L << 9)
+#define XkbLC_KeypadKeys (1L << 10)
+#define XkbLC_FunctionKeys (1L << 11)
+#define XkbLC_AlternateGroup (1L << 12)
+
+ /*
+ * X Input Extension Interactions
+ * - Specifies the possible interactions between XKB and the X input
+ * extension
+ * - Used to request (XkbGetDeviceInfo) or change (XKbSetDeviceInfo)
+ * XKB information about an extension device.
+ * - Reports the list of supported optional features in the reply to
+ * XkbGetDeviceInfo or in an XkbExtensionDeviceNotify event.
+ * XkbXI_UnsupportedFeature is reported in XkbExtensionDeviceNotify
+ * events to indicate an attempt to use an unsupported feature.
+ */
+#define XkbXI_KeyboardsMask (1L << 0)
+#define XkbXI_ButtonActionsMask (1L << 1)
+#define XkbXI_IndicatorNamesMask (1L << 2)
+#define XkbXI_IndicatorMapsMask (1L << 3)
+#define XkbXI_IndicatorStateMask (1L << 4)
+#define XkbXI_UnsupportedFeatureMask (1L << 15)
+#define XkbXI_AllFeaturesMask (0x001f)
+#define XkbXI_AllDeviceFeaturesMask (0x001e)
+
+#define XkbXI_IndicatorsMask (0x001c)
+#define XkbAllExtensionDeviceEventsMask (0x801f)
+
+ /*
+ * Per-Client Flags:
+ * - Specifies flags to be changed by the PerClientFlags request.
+ */
+#define XkbPCF_DetectableAutoRepeatMask (1L << 0)
+#define XkbPCF_GrabsUseXKBStateMask (1L << 1)
+#define XkbPCF_AutoResetControlsMask (1L << 2)
+#define XkbPCF_LookupStateWhenGrabbed (1L << 3)
+#define XkbPCF_SendEventUsesXKBState (1L << 4)
+#define XkbPCF_AllFlagsMask (0x1F)
+
+ /*
+ * Debugging flags and controls
+ */
+#define XkbDF_DisableLocks (1<<0)
+
+#endif /* _XKB_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/extensions/XKBgeom.h b/stream-servers/apigen-codec-common/X11/extensions/XKBgeom.h
new file mode 100644
index 0000000..f603852
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/XKBgeom.h
@@ -0,0 +1,657 @@
+/************************************************************
+Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc.
+
+Permission to use, copy, modify, and distribute this
+software and its documentation for any purpose and without
+fee is hereby granted, provided that the above copyright
+notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting
+documentation, and that the name of Silicon Graphics not be
+used in advertising or publicity pertaining to distribution
+of the software without specific prior written permission.
+Silicon Graphics makes no representation about the suitability
+of this software for any purpose. It is provided "as is"
+without any express or implied warranty.
+
+SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
+DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
+THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+********************************************************/
+
+#ifndef _XKBGEOM_H_
+#define _XKBGEOM_H_
+
+#include <X11/extensions/XKBstr.h>
+
+#ifdef XKB_IN_SERVER
+#define XkbAddGeomKeyAlias SrvXkbAddGeomKeyAlias
+#define XkbAddGeomColor SrvXkbAddGeomColor
+#define XkbAddGeomDoodad SrvXkbAddGeomDoodad
+#define XkbAddGeomKey SrvXkbAddGeomKey
+#define XkbAddGeomOutline SrvXkbAddGeomOutline
+#define XkbAddGeomOverlay SrvXkbAddGeomOverlay
+#define XkbAddGeomOverlayRow SrvXkbAddGeomOverlayRow
+#define XkbAddGeomOverlayKey SrvXkbAddGeomOverlayKey
+#define XkbAddGeomProperty SrvXkbAddGeomProperty
+#define XkbAddGeomRow SrvXkbAddGeomRow
+#define XkbAddGeomSection SrvXkbAddGeomSection
+#define XkbAddGeomShape SrvXkbAddGeomShape
+#define XkbAllocGeomKeyAliases SrvXkbAllocGeomKeyAliases
+#define XkbAllocGeomColors SrvXkbAllocGeomColors
+#define XkbAllocGeomDoodads SrvXkbAllocGeomDoodads
+#define XkbAllocGeomKeys SrvXkbAllocGeomKeys
+#define XkbAllocGeomOutlines SrvXkbAllocGeomOutlines
+#define XkbAllocGeomPoints SrvXkbAllocGeomPoints
+#define XkbAllocGeomProps SrvXkbAllocGeomProps
+#define XkbAllocGeomRows SrvXkbAllocGeomRows
+#define XkbAllocGeomSectionDoodads SrvXkbAllocGeomSectionDoodads
+#define XkbAllocGeomSections SrvXkbAllocGeomSections
+#define XkbAllocGeomOverlays SrvXkbAllocGeomOverlays
+#define XkbAllocGeomOverlayRows SrvXkbAllocGeomOverlayRows
+#define XkbAllocGeomOverlayKeys SrvXkbAllocGeomOverlayKeys
+#define XkbAllocGeomShapes SrvXkbAllocGeomShapes
+#define XkbAllocGeometry SrvXkbAllocGeometry
+#define XkbFreeGeomKeyAliases SrvXkbFreeGeomKeyAliases
+#define XkbFreeGeomColors SrvXkbFreeGeomColors
+#define XkbFreeGeomDoodads SrvXkbFreeGeomDoodads
+#define XkbFreeGeomProperties SrvXkbFreeGeomProperties
+#define XkbFreeGeomOverlayKeys SrvXkbFreeGeomOverlayKeys
+#define XkbFreeGeomOverlayRows SrvXkbFreeGeomOverlayRows
+#define XkbFreeGeomOverlays SrvXkbFreeGeomOverlays
+#define XkbFreeGeomKeys SrvXkbFreeGeomKeys
+#define XkbFreeGeomRows SrvXkbFreeGeomRows
+#define XkbFreeGeomSections SrvXkbFreeGeomSections
+#define XkbFreeGeomPoints SrvXkbFreeGeomPoints
+#define XkbFreeGeomOutlines SrvXkbFreeGeomOutlines
+#define XkbFreeGeomShapes SrvXkbFreeGeomShapes
+#define XkbFreeGeometry SrvXkbFreeGeometry
+#endif
+
+typedef struct _XkbProperty {
+ char *name;
+ char *value;
+} XkbPropertyRec,*XkbPropertyPtr;
+
+typedef struct _XkbColor {
+ unsigned int pixel;
+ char * spec;
+} XkbColorRec,*XkbColorPtr;
+
+typedef struct _XkbPoint {
+ short x;
+ short y;
+} XkbPointRec, *XkbPointPtr;
+
+typedef struct _XkbBounds {
+ short x1,y1;
+ short x2,y2;
+} XkbBoundsRec, *XkbBoundsPtr;
+#define XkbBoundsWidth(b) (((b)->x2)-((b)->x1))
+#define XkbBoundsHeight(b) (((b)->y2)-((b)->y1))
+
+typedef struct _XkbOutline {
+ unsigned short num_points;
+ unsigned short sz_points;
+ unsigned short corner_radius;
+ XkbPointPtr points;
+} XkbOutlineRec, *XkbOutlinePtr;
+
+typedef struct _XkbShape {
+ Atom name;
+ unsigned short num_outlines;
+ unsigned short sz_outlines;
+ XkbOutlinePtr outlines;
+ XkbOutlinePtr approx;
+ XkbOutlinePtr primary;
+ XkbBoundsRec bounds;
+} XkbShapeRec, *XkbShapePtr;
+#define XkbOutlineIndex(s,o) ((int)((o)-&(s)->outlines[0]))
+
+typedef struct _XkbShapeDoodad {
+ Atom name;
+ unsigned char type;
+ unsigned char priority;
+ short top;
+ short left;
+ short angle;
+ unsigned short color_ndx;
+ unsigned short shape_ndx;
+} XkbShapeDoodadRec, *XkbShapeDoodadPtr;
+#define XkbShapeDoodadColor(g,d) (&(g)->colors[(d)->color_ndx])
+#define XkbShapeDoodadShape(g,d) (&(g)->shapes[(d)->shape_ndx])
+#define XkbSetShapeDoodadColor(g,d,c) ((d)->color_ndx= (c)-&(g)->colors[0])
+#define XkbSetShapeDoodadShape(g,d,s) ((d)->shape_ndx= (s)-&(g)->shapes[0])
+
+typedef struct _XkbTextDoodad {
+ Atom name;
+ unsigned char type;
+ unsigned char priority;
+ short top;
+ short left;
+ short angle;
+ short width;
+ short height;
+ unsigned short color_ndx;
+ char * text;
+ char * font;
+} XkbTextDoodadRec, *XkbTextDoodadPtr;
+#define XkbTextDoodadColor(g,d) (&(g)->colors[(d)->color_ndx])
+#define XkbSetTextDoodadColor(g,d,c) ((d)->color_ndx= (c)-&(g)->colors[0])
+
+typedef struct _XkbIndicatorDoodad {
+ Atom name;
+ unsigned char type;
+ unsigned char priority;
+ short top;
+ short left;
+ short angle;
+ unsigned short shape_ndx;
+ unsigned short on_color_ndx;
+ unsigned short off_color_ndx;
+} XkbIndicatorDoodadRec, *XkbIndicatorDoodadPtr;
+#define XkbIndicatorDoodadShape(g,d) (&(g)->shapes[(d)->shape_ndx])
+#define XkbIndicatorDoodadOnColor(g,d) (&(g)->colors[(d)->on_color_ndx])
+#define XkbIndicatorDoodadOffColor(g,d) (&(g)->colors[(d)->off_color_ndx])
+#define XkbSetIndicatorDoodadOnColor(g,d,c) \
+ ((d)->on_color_ndx= (c)-&(g)->colors[0])
+#define XkbSetIndicatorDoodadOffColor(g,d,c) \
+ ((d)->off_color_ndx= (c)-&(g)->colors[0])
+#define XkbSetIndicatorDoodadShape(g,d,s) \
+ ((d)->shape_ndx= (s)-&(g)->shapes[0])
+
+typedef struct _XkbLogoDoodad {
+ Atom name;
+ unsigned char type;
+ unsigned char priority;
+ short top;
+ short left;
+ short angle;
+ unsigned short color_ndx;
+ unsigned short shape_ndx;
+ char * logo_name;
+} XkbLogoDoodadRec, *XkbLogoDoodadPtr;
+#define XkbLogoDoodadColor(g,d) (&(g)->colors[(d)->color_ndx])
+#define XkbLogoDoodadShape(g,d) (&(g)->shapes[(d)->shape_ndx])
+#define XkbSetLogoDoodadColor(g,d,c) ((d)->color_ndx= (c)-&(g)->colors[0])
+#define XkbSetLogoDoodadShape(g,d,s) ((d)->shape_ndx= (s)-&(g)->shapes[0])
+
+typedef struct _XkbAnyDoodad {
+ Atom name;
+ unsigned char type;
+ unsigned char priority;
+ short top;
+ short left;
+ short angle;
+} XkbAnyDoodadRec, *XkbAnyDoodadPtr;
+
+typedef union _XkbDoodad {
+ XkbAnyDoodadRec any;
+ XkbShapeDoodadRec shape;
+ XkbTextDoodadRec text;
+ XkbIndicatorDoodadRec indicator;
+ XkbLogoDoodadRec logo;
+} XkbDoodadRec, *XkbDoodadPtr;
+
+#define XkbUnknownDoodad 0
+#define XkbOutlineDoodad 1
+#define XkbSolidDoodad 2
+#define XkbTextDoodad 3
+#define XkbIndicatorDoodad 4
+#define XkbLogoDoodad 5
+
+typedef struct _XkbKey {
+ XkbKeyNameRec name;
+ short gap;
+ unsigned char shape_ndx;
+ unsigned char color_ndx;
+} XkbKeyRec, *XkbKeyPtr;
+#define XkbKeyShape(g,k) (&(g)->shapes[(k)->shape_ndx])
+#define XkbKeyColor(g,k) (&(g)->colors[(k)->color_ndx])
+#define XkbSetKeyShape(g,k,s) ((k)->shape_ndx= (s)-&(g)->shapes[0])
+#define XkbSetKeyColor(g,k,c) ((k)->color_ndx= (c)-&(g)->colors[0])
+
+typedef struct _XkbRow {
+ short top;
+ short left;
+ unsigned short num_keys;
+ unsigned short sz_keys;
+ int vertical;
+ XkbKeyPtr keys;
+ XkbBoundsRec bounds;
+} XkbRowRec, *XkbRowPtr;
+
+typedef struct _XkbSection {
+ Atom name;
+ unsigned char priority;
+ short top;
+ short left;
+ unsigned short width;
+ unsigned short height;
+ short angle;
+ unsigned short num_rows;
+ unsigned short num_doodads;
+ unsigned short num_overlays;
+ unsigned short sz_rows;
+ unsigned short sz_doodads;
+ unsigned short sz_overlays;
+ XkbRowPtr rows;
+ XkbDoodadPtr doodads;
+ XkbBoundsRec bounds;
+ struct _XkbOverlay *overlays;
+} XkbSectionRec, *XkbSectionPtr;
+
+typedef struct _XkbOverlayKey {
+ XkbKeyNameRec over;
+ XkbKeyNameRec under;
+} XkbOverlayKeyRec,*XkbOverlayKeyPtr;
+
+typedef struct _XkbOverlayRow {
+ unsigned short row_under;
+ unsigned short num_keys;
+ unsigned short sz_keys;
+ XkbOverlayKeyPtr keys;
+} XkbOverlayRowRec,*XkbOverlayRowPtr;
+
+typedef struct _XkbOverlay {
+ Atom name;
+ XkbSectionPtr section_under;
+ unsigned short num_rows;
+ unsigned short sz_rows;
+ XkbOverlayRowPtr rows;
+ XkbBoundsPtr bounds;
+} XkbOverlayRec,*XkbOverlayPtr;
+
+typedef struct _XkbGeometry {
+ Atom name;
+ unsigned short width_mm;
+ unsigned short height_mm;
+ char * label_font;
+ XkbColorPtr label_color;
+ XkbColorPtr base_color;
+ unsigned short sz_properties;
+ unsigned short sz_colors;
+ unsigned short sz_shapes;
+ unsigned short sz_sections;
+ unsigned short sz_doodads;
+ unsigned short sz_key_aliases;
+ unsigned short num_properties;
+ unsigned short num_colors;
+ unsigned short num_shapes;
+ unsigned short num_sections;
+ unsigned short num_doodads;
+ unsigned short num_key_aliases;
+ XkbPropertyPtr properties;
+ XkbColorPtr colors;
+ XkbShapePtr shapes;
+ XkbSectionPtr sections;
+ XkbDoodadPtr doodads;
+ XkbKeyAliasPtr key_aliases;
+} XkbGeometryRec;
+#define XkbGeomColorIndex(g,c) ((int)((c)-&(g)->colors[0]))
+
+#define XkbGeomPropertiesMask (1<<0)
+#define XkbGeomColorsMask (1<<1)
+#define XkbGeomShapesMask (1<<2)
+#define XkbGeomSectionsMask (1<<3)
+#define XkbGeomDoodadsMask (1<<4)
+#define XkbGeomKeyAliasesMask (1<<5)
+#define XkbGeomAllMask (0x3f)
+
+typedef struct _XkbGeometrySizes {
+ unsigned int which;
+ unsigned short num_properties;
+ unsigned short num_colors;
+ unsigned short num_shapes;
+ unsigned short num_sections;
+ unsigned short num_doodads;
+ unsigned short num_key_aliases;
+} XkbGeometrySizesRec,*XkbGeometrySizesPtr;
+
+_XFUNCPROTOBEGIN
+
+extern XkbPropertyPtr
+XkbAddGeomProperty(
+ XkbGeometryPtr /* geom */,
+ char * /* name */,
+ char * /* value */
+);
+
+extern XkbKeyAliasPtr
+XkbAddGeomKeyAlias(
+ XkbGeometryPtr /* geom */,
+ char * /* alias */,
+ char * /* real */
+);
+
+extern XkbColorPtr
+XkbAddGeomColor(
+ XkbGeometryPtr /* geom */,
+ char * /* spec */,
+ unsigned int /* pixel */
+);
+
+extern XkbOutlinePtr
+XkbAddGeomOutline(
+ XkbShapePtr /* shape */,
+ int /* sz_points */
+);
+
+extern XkbShapePtr
+XkbAddGeomShape(
+ XkbGeometryPtr /* geom */,
+ Atom /* name */,
+ int /* sz_outlines */
+);
+
+extern XkbKeyPtr
+XkbAddGeomKey(
+ XkbRowPtr /* row */
+);
+
+extern XkbRowPtr
+XkbAddGeomRow(
+ XkbSectionPtr /* section */,
+ int /* sz_keys */
+);
+
+extern XkbSectionPtr
+XkbAddGeomSection(
+ XkbGeometryPtr /* geom */,
+ Atom /* name */,
+ int /* sz_rows */,
+ int /* sz_doodads */,
+ int /* sz_overlays */
+);
+
+extern XkbOverlayPtr
+XkbAddGeomOverlay(
+ XkbSectionPtr /* section */,
+ Atom /* name */,
+ int /* sz_rows */
+);
+
+extern XkbOverlayRowPtr
+XkbAddGeomOverlayRow(
+ XkbOverlayPtr /* overlay */,
+ int /* row_under */,
+ int /* sz_keys */
+);
+
+extern XkbOverlayKeyPtr
+XkbAddGeomOverlayKey(
+ XkbOverlayPtr /* overlay */,
+ XkbOverlayRowPtr /* row */,
+ char * /* over */,
+ char * /* under */
+);
+
+extern XkbDoodadPtr
+XkbAddGeomDoodad(
+ XkbGeometryPtr /* geom */,
+ XkbSectionPtr /* section */,
+ Atom /* name */
+);
+
+
+extern void
+XkbFreeGeomKeyAliases(
+ XkbGeometryPtr /* geom */,
+ int /* first */,
+ int /* count */,
+ Bool /* freeAll */
+);
+
+extern void
+XkbFreeGeomColors(
+ XkbGeometryPtr /* geom */,
+ int /* first */,
+ int /* count */,
+ Bool /* freeAll */
+);
+
+extern void
+XkbFreeGeomDoodads(
+ XkbDoodadPtr /* doodads */,
+ int /* nDoodads */,
+ Bool /* freeAll */
+);
+
+
+extern void
+XkbFreeGeomProperties(
+ XkbGeometryPtr /* geom */,
+ int /* first */,
+ int /* count */,
+ Bool /* freeAll */
+);
+
+extern void
+XkbFreeGeomOverlayKeys(
+ XkbOverlayRowPtr /* row */,
+ int /* first */,
+ int /* count */,
+ Bool /* freeAll */
+);
+
+extern void
+XkbFreeGeomOverlayRows(
+ XkbOverlayPtr /* overlay */,
+ int /* first */,
+ int /* count */,
+ Bool /* freeAll */
+);
+
+extern void
+XkbFreeGeomOverlays(
+ XkbSectionPtr /* section */,
+ int /* first */,
+ int /* count */,
+ Bool /* freeAll */
+);
+
+extern void
+XkbFreeGeomKeys(
+ XkbRowPtr /* row */,
+ int /* first */,
+ int /* count */,
+ Bool /* freeAll */
+);
+
+extern void
+XkbFreeGeomRows(
+ XkbSectionPtr /* section */,
+ int /* first */,
+ int /* count */,
+ Bool /* freeAll */
+);
+
+extern void
+XkbFreeGeomSections(
+ XkbGeometryPtr /* geom */,
+ int /* first */,
+ int /* count */,
+ Bool /* freeAll */
+);
+
+
+extern void
+XkbFreeGeomPoints(
+ XkbOutlinePtr /* outline */,
+ int /* first */,
+ int /* count */,
+ Bool /* freeAll */
+);
+
+extern void
+XkbFreeGeomOutlines(
+ XkbShapePtr /* shape */,
+ int /* first */,
+ int /* count */,
+ Bool /* freeAll */
+);
+
+extern void
+XkbFreeGeomShapes(
+ XkbGeometryPtr /* geom */,
+ int /* first */,
+ int /* count */,
+ Bool /* freeAll */
+);
+
+extern void
+XkbFreeGeometry(
+ XkbGeometryPtr /* geom */,
+ unsigned int /* which */,
+ Bool /* freeMap */
+);
+
+extern Status
+XkbAllocGeomProps(
+ XkbGeometryPtr /* geom */,
+ int /* nProps */
+);
+
+extern Status
+XkbAllocGeomKeyAliases(
+ XkbGeometryPtr /* geom */,
+ int /* nAliases */
+);
+
+extern Status
+XkbAllocGeomColors(
+ XkbGeometryPtr /* geom */,
+ int /* nColors */
+);
+
+extern Status
+XkbAllocGeomShapes(
+ XkbGeometryPtr /* geom */,
+ int /* nShapes */
+);
+
+extern Status
+XkbAllocGeomSections(
+ XkbGeometryPtr /* geom */,
+ int /* nSections */
+);
+
+extern Status
+XkbAllocGeomOverlays(
+ XkbSectionPtr /* section */,
+ int /* num_needed */
+);
+
+extern Status
+XkbAllocGeomOverlayRows(
+ XkbOverlayPtr /* overlay */,
+ int /* num_needed */
+);
+
+extern Status
+XkbAllocGeomOverlayKeys(
+ XkbOverlayRowPtr /* row */,
+ int /* num_needed */
+);
+
+extern Status
+XkbAllocGeomDoodads(
+ XkbGeometryPtr /* geom */,
+ int /* nDoodads */
+);
+
+extern Status
+XkbAllocGeomSectionDoodads(
+ XkbSectionPtr /* section */,
+ int /* nDoodads */
+);
+
+extern Status
+XkbAllocGeomOutlines(
+ XkbShapePtr /* shape */,
+ int /* nOL */
+);
+
+extern Status
+XkbAllocGeomRows(
+ XkbSectionPtr /* section */,
+ int /* nRows */
+);
+
+extern Status
+XkbAllocGeomPoints(
+ XkbOutlinePtr /* ol */,
+ int /* nPts */
+);
+
+extern Status
+XkbAllocGeomKeys(
+ XkbRowPtr /* row */,
+ int /* nKeys */
+);
+
+extern Status
+XkbAllocGeometry(
+ XkbDescPtr /* xkb */,
+ XkbGeometrySizesPtr /* sizes */
+);
+
+extern Status
+XkbSetGeometry(
+ Display * /* dpy */,
+ unsigned /* deviceSpec */,
+ XkbGeometryPtr /* geom */
+);
+
+extern Bool
+XkbComputeShapeTop(
+ XkbShapePtr /* shape */,
+ XkbBoundsPtr /* bounds */
+);
+
+extern Bool
+XkbComputeShapeBounds(
+ XkbShapePtr /* shape */
+);
+
+extern Bool
+XkbComputeRowBounds(
+ XkbGeometryPtr /* geom */,
+ XkbSectionPtr /* section */,
+ XkbRowPtr /* row */
+);
+
+extern Bool
+XkbComputeSectionBounds(
+ XkbGeometryPtr /* geom */,
+ XkbSectionPtr /* section */
+);
+
+extern char *
+XkbFindOverlayForKey(
+ XkbGeometryPtr /* geom */,
+ XkbSectionPtr /* wanted */,
+ char * /* under */
+);
+
+extern Status
+XkbGetGeometry(
+ Display * /* dpy */,
+ XkbDescPtr /* xkb */
+);
+
+extern Status
+XkbGetNamedGeometry(
+ Display * /* dpy */,
+ XkbDescPtr /* xkb */,
+ Atom /* name */
+);
+
+_XFUNCPROTOEND
+
+#endif /* _XKBSTR_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/extensions/XKBproto.h b/stream-servers/apigen-codec-common/X11/extensions/XKBproto.h
new file mode 100644
index 0000000..b867659
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/XKBproto.h
@@ -0,0 +1,1281 @@
+/************************************************************
+Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc.
+
+Permission to use, copy, modify, and distribute this
+software and its documentation for any purpose and without
+fee is hereby granted, provided that the above copyright
+notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting
+documentation, and that the name of Silicon Graphics not be
+used in advertising or publicity pertaining to distribution
+of the software without specific prior written permission.
+Silicon Graphics makes no representation about the suitability
+of this software for any purpose. It is provided "as is"
+without any express or implied warranty.
+
+SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
+DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
+THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+********************************************************/
+
+#ifndef _XKBPROTO_H_
+#define _XKBPROTO_H_
+
+#include <X11/Xmd.h>
+#include <X11/extensions/XKB.h>
+
+#define Window CARD32
+#define Atom CARD32
+#define Time CARD32
+#define KeyCode CARD8
+#define KeySym CARD32
+
+#define XkbPaddedSize(n) ((((unsigned int)(n)+3) >> 2) << 2)
+
+typedef struct _xkbUseExtension {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBUseExtension */
+ CARD16 length B16;
+ CARD16 wantedMajor B16;
+ CARD16 wantedMinor B16;
+} xkbUseExtensionReq;
+#define sz_xkbUseExtensionReq 8
+
+typedef struct _xkbUseExtensionReply {
+ BYTE type; /* X_Reply */
+ BOOL supported;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 serverMajor B16;
+ CARD16 serverMinor B16;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xkbUseExtensionReply;
+#define sz_xkbUseExtensionReply 32
+
+typedef struct _xkbSelectEvents {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* X_KBSelectEvents */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD16 affectWhich B16;
+ CARD16 clear B16;
+ CARD16 selectAll B16;
+ CARD16 affectMap B16;
+ CARD16 map B16;
+} xkbSelectEventsReq;
+#define sz_xkbSelectEventsReq 16
+
+typedef struct _xkbBell {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* X_KBBell */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD16 bellClass B16;
+ CARD16 bellID B16;
+ INT8 percent;
+ BOOL forceSound;
+ BOOL eventOnly;
+ CARD8 pad1;
+ INT16 pitch B16;
+ INT16 duration B16;
+ CARD16 pad2 B16;
+ Atom name B32;
+ Window window B32;
+} xkbBellReq;
+#define sz_xkbBellReq 28
+
+typedef struct _xkbGetState {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBGetState */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD16 pad B16;
+} xkbGetStateReq;
+#define sz_xkbGetStateReq 8
+
+typedef struct _xkbGetStateReply {
+ BYTE type;
+ BYTE deviceID;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD8 mods;
+ CARD8 baseMods;
+ CARD8 latchedMods;
+ CARD8 lockedMods;
+ CARD8 group;
+ CARD8 lockedGroup;
+ INT16 baseGroup B16;
+ INT16 latchedGroup B16;
+ CARD8 compatState;
+ CARD8 grabMods;
+ CARD8 compatGrabMods;
+ CARD8 lookupMods;
+ CARD8 compatLookupMods;
+ CARD8 pad1;
+ CARD16 ptrBtnState B16;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+} xkbGetStateReply;
+#define sz_xkbGetStateReply 32
+
+typedef struct _xkbLatchLockState {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBLatchLockState */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD8 affectModLocks;
+ CARD8 modLocks;
+ BOOL lockGroup;
+ CARD8 groupLock;
+ CARD8 affectModLatches;
+ CARD8 modLatches;
+ CARD8 pad;
+ BOOL latchGroup;
+ INT16 groupLatch B16;
+} xkbLatchLockStateReq;
+#define sz_xkbLatchLockStateReq 16
+
+typedef struct _xkbGetControls {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBGetControls */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD16 pad B16;
+} xkbGetControlsReq;
+#define sz_xkbGetControlsReq 8
+
+typedef struct _xkbGetControlsReply {
+ BYTE type; /* X_Reply */
+ CARD8 deviceID;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD8 mkDfltBtn;
+ CARD8 numGroups;
+ CARD8 groupsWrap;
+ CARD8 internalMods;
+ CARD8 ignoreLockMods;
+ CARD8 internalRealMods;
+ CARD8 ignoreLockRealMods;
+ CARD8 pad1;
+ CARD16 internalVMods B16;
+ CARD16 ignoreLockVMods B16;
+ CARD16 repeatDelay B16;
+ CARD16 repeatInterval B16;
+ CARD16 slowKeysDelay B16;
+ CARD16 debounceDelay B16;
+ CARD16 mkDelay B16;
+ CARD16 mkInterval B16;
+ CARD16 mkTimeToMax B16;
+ CARD16 mkMaxSpeed B16;
+ INT16 mkCurve B16;
+ CARD16 axOptions B16;
+ CARD16 axTimeout B16;
+ CARD16 axtOptsMask B16;
+ CARD16 axtOptsValues B16;
+ CARD16 pad2 B16;
+ CARD32 axtCtrlsMask B32;
+ CARD32 axtCtrlsValues B32;
+ CARD32 enabledCtrls B32;
+ BYTE perKeyRepeat[XkbPerKeyBitArraySize];
+} xkbGetControlsReply;
+#define sz_xkbGetControlsReply 92
+
+typedef struct _xkbSetControls {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBSetControls */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD8 affectInternalMods;
+ CARD8 internalMods;
+ CARD8 affectIgnoreLockMods;
+ CARD8 ignoreLockMods;
+ CARD16 affectInternalVMods B16;
+ CARD16 internalVMods B16;
+ CARD16 affectIgnoreLockVMods B16;
+ CARD16 ignoreLockVMods B16;
+ CARD8 mkDfltBtn;
+ CARD8 groupsWrap;
+ CARD16 axOptions B16;
+ CARD16 pad1 B16;
+ CARD32 affectEnabledCtrls B32;
+ CARD32 enabledCtrls B32;
+ CARD32 changeCtrls B32;
+ CARD16 repeatDelay B16;
+ CARD16 repeatInterval B16;
+ CARD16 slowKeysDelay B16;
+ CARD16 debounceDelay B16;
+ CARD16 mkDelay B16;
+ CARD16 mkInterval B16;
+ CARD16 mkTimeToMax B16;
+ CARD16 mkMaxSpeed B16;
+ INT16 mkCurve B16;
+ CARD16 axTimeout B16;
+ CARD32 axtCtrlsMask B32;
+ CARD32 axtCtrlsValues B32;
+ CARD16 axtOptsMask B16;
+ CARD16 axtOptsValues B16;
+ BYTE perKeyRepeat[XkbPerKeyBitArraySize];
+} xkbSetControlsReq;
+#define sz_xkbSetControlsReq 100
+
+typedef struct _xkbKTMapEntryWireDesc {
+ BOOL active;
+ CARD8 mask;
+ CARD8 level;
+ CARD8 realMods;
+ CARD16 virtualMods B16;
+ CARD16 pad B16;
+} xkbKTMapEntryWireDesc;
+#define sz_xkbKTMapEntryWireDesc 8
+
+typedef struct _xkbKTSetMapEntryWireDesc {
+ CARD8 level;
+ CARD8 realMods;
+ CARD16 virtualMods B16;
+} xkbKTSetMapEntryWireDesc;
+#define sz_xkbKTSetMapEntryWireDesc 4
+
+typedef struct _xkbModsWireDesc {
+ CARD8 mask; /* GetMap only */
+ CARD8 realMods;
+ CARD16 virtualMods B16;
+} xkbModsWireDesc;
+#define sz_xkbModsWireDesc 4
+
+typedef struct _xkbKeyTypeWireDesc {
+ CARD8 mask;
+ CARD8 realMods;
+ CARD16 virtualMods B16;
+ CARD8 numLevels;
+ CARD8 nMapEntries;
+ BOOL preserve;
+ CARD8 pad;
+} xkbKeyTypeWireDesc;
+#define sz_xkbKeyTypeWireDesc 8
+
+typedef struct _xkbSymMapWireDesc {
+ CARD8 ktIndex[XkbNumKbdGroups];
+ CARD8 groupInfo;
+ CARD8 width;
+ CARD16 nSyms B16;
+} xkbSymMapWireDesc;
+#define sz_xkbSymMapWireDesc 8
+
+typedef struct _xkbVModMapWireDesc {
+ KeyCode key;
+ CARD8 pad;
+ CARD16 vmods B16;
+} xkbVModMapWireDesc;
+#define sz_xkbVModMapWireDesc 4
+
+typedef struct _xkbBehaviorWireDesc {
+ CARD8 key;
+ CARD8 type;
+ CARD8 data;
+ CARD8 pad;
+} xkbBehaviorWireDesc;
+#define sz_xkbBehaviorWireDesc 4
+
+typedef struct _xkbActionWireDesc {
+ CARD8 type;
+ CARD8 data[7];
+} xkbActionWireDesc;
+#define sz_xkbActionWireDesc 8
+
+typedef struct _xkbGetMap {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBGetMap */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD16 full B16;
+ CARD16 partial B16;
+ CARD8 firstType;
+ CARD8 nTypes;
+ KeyCode firstKeySym;
+ CARD8 nKeySyms;
+ KeyCode firstKeyAct;
+ CARD8 nKeyActs;
+ KeyCode firstKeyBehavior;
+ CARD8 nKeyBehaviors;
+ CARD16 virtualMods B16;
+ KeyCode firstKeyExplicit;
+ CARD8 nKeyExplicit;
+ KeyCode firstModMapKey;
+ CARD8 nModMapKeys;
+ KeyCode firstVModMapKey;
+ CARD8 nVModMapKeys;
+ CARD16 pad1 B16;
+} xkbGetMapReq;
+#define sz_xkbGetMapReq 28
+
+typedef struct _xkbGetMapReply {
+ CARD8 type; /* always X_Reply */
+ CARD8 deviceID;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 pad1 B16;
+ KeyCode minKeyCode;
+ KeyCode maxKeyCode;
+ CARD16 present B16;
+ CARD8 firstType;
+ CARD8 nTypes;
+ CARD8 totalTypes;
+ KeyCode firstKeySym;
+ CARD16 totalSyms B16;
+ CARD8 nKeySyms;
+ KeyCode firstKeyAct;
+ CARD16 totalActs B16;
+ CARD8 nKeyActs;
+ KeyCode firstKeyBehavior;
+ CARD8 nKeyBehaviors;
+ CARD8 totalKeyBehaviors;
+ KeyCode firstKeyExplicit;
+ CARD8 nKeyExplicit;
+ CARD8 totalKeyExplicit;
+ KeyCode firstModMapKey;
+ CARD8 nModMapKeys;
+ CARD8 totalModMapKeys;
+ KeyCode firstVModMapKey;
+ CARD8 nVModMapKeys;
+ CARD8 totalVModMapKeys;
+ CARD8 pad2;
+ CARD16 virtualMods B16;
+} xkbGetMapReply;
+#define sz_xkbGetMapReply 40
+
+#define XkbSetMapResizeTypes (1L<<0)
+#define XkbSetMapRecomputeActions (1L<<1)
+#define XkbSetMapAllFlags (0x3)
+
+typedef struct _xkbSetMap {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBSetMap */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD16 present B16;
+ CARD16 flags B16;
+ KeyCode minKeyCode;
+ KeyCode maxKeyCode;
+ CARD8 firstType;
+ CARD8 nTypes;
+ KeyCode firstKeySym;
+ CARD8 nKeySyms;
+ CARD16 totalSyms B16;
+ KeyCode firstKeyAct;
+ CARD8 nKeyActs;
+ CARD16 totalActs B16;
+ KeyCode firstKeyBehavior;
+ CARD8 nKeyBehaviors;
+ CARD8 totalKeyBehaviors;
+ KeyCode firstKeyExplicit;
+ CARD8 nKeyExplicit;
+ CARD8 totalKeyExplicit;
+ KeyCode firstModMapKey;
+ CARD8 nModMapKeys;
+ CARD8 totalModMapKeys;
+ KeyCode firstVModMapKey;
+ CARD8 nVModMapKeys;
+ CARD8 totalVModMapKeys;
+ CARD16 virtualMods B16;
+} xkbSetMapReq;
+#define sz_xkbSetMapReq 36
+
+typedef struct _xkbSymInterpretWireDesc {
+ CARD32 sym B32;
+ CARD8 mods;
+ CARD8 match;
+ CARD8 virtualMod;
+ CARD8 flags;
+ xkbActionWireDesc act;
+} xkbSymInterpretWireDesc;
+#define sz_xkbSymInterpretWireDesc 16
+
+typedef struct _xkbGetCompatMap {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBGetCompatMap */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD8 groups;
+ BOOL getAllSI;
+ CARD16 firstSI B16;
+ CARD16 nSI B16;
+} xkbGetCompatMapReq;
+#define sz_xkbGetCompatMapReq 12
+
+typedef struct _xkbGetCompatMapReply {
+ CARD8 type; /* always X_Reply */
+ CARD8 deviceID;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD8 groups;
+ CARD8 pad1;
+ CARD16 firstSI B16;
+ CARD16 nSI B16;
+ CARD16 nTotalSI B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xkbGetCompatMapReply;
+#define sz_xkbGetCompatMapReply 32
+
+typedef struct _xkbSetCompatMap {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBSetCompatMap */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD8 pad1;
+ BOOL recomputeActions;
+ BOOL truncateSI;
+ CARD8 groups;
+ CARD16 firstSI B16;
+ CARD16 nSI B16;
+ CARD16 pad2 B16;
+} xkbSetCompatMapReq;
+#define sz_xkbSetCompatMapReq 16
+
+typedef struct _xkbGetIndicatorState {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBGetIndicatorState */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD16 pad1 B16;
+} xkbGetIndicatorStateReq;
+#define sz_xkbGetIndicatorStateReq 8
+
+typedef struct _xkbGetIndicatorStateReply {
+ CARD8 type; /* always X_Reply */
+ CARD8 deviceID;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 state B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xkbGetIndicatorStateReply;
+#define sz_xkbGetIndicatorStateReply 32
+
+typedef struct _xkbGetIndicatorMap {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBGetIndicatorMap */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD16 pad B16;
+ CARD32 which B32;
+} xkbGetIndicatorMapReq;
+#define sz_xkbGetIndicatorMapReq 12
+
+typedef struct _xkbGetIndicatorMapReply {
+ CARD8 type; /* always X_Reply */
+ CARD8 deviceID;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 which B32;
+ CARD32 realIndicators B32;
+ CARD8 nIndicators;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xkbGetIndicatorMapReply;
+#define sz_xkbGetIndicatorMapReply 32
+
+typedef struct _xkbIndicatorMapWireDesc {
+ CARD8 flags;
+ CARD8 whichGroups;
+ CARD8 groups;
+ CARD8 whichMods;
+ CARD8 mods;
+ CARD8 realMods;
+ CARD16 virtualMods B16;
+ CARD32 ctrls B32;
+} xkbIndicatorMapWireDesc;
+#define sz_xkbIndicatorMapWireDesc 12
+
+typedef struct _xkbSetIndicatorMap {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBSetIndicatorMap */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD16 pad1 B16;
+ CARD32 which B32;
+} xkbSetIndicatorMapReq;
+#define sz_xkbSetIndicatorMapReq 12
+
+typedef struct _xkbGetNamedIndicator {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* X_KBGetNamedIndicator */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD16 ledClass B16;
+ CARD16 ledID B16;
+ CARD16 pad1 B16;
+ Atom indicator B32;
+} xkbGetNamedIndicatorReq;
+#define sz_xkbGetNamedIndicatorReq 16
+
+typedef struct _xkbGetNamedIndicatorReply {
+ BYTE type;
+ BYTE deviceID;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ Atom indicator B32;
+ BOOL found;
+ BOOL on;
+ BOOL realIndicator;
+ CARD8 ndx;
+ CARD8 flags;
+ CARD8 whichGroups;
+ CARD8 groups;
+ CARD8 whichMods;
+ CARD8 mods;
+ CARD8 realMods;
+ CARD16 virtualMods B16;
+ CARD32 ctrls B32;
+ BOOL supported;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+} xkbGetNamedIndicatorReply;
+#define sz_xkbGetNamedIndicatorReply 32
+
+typedef struct _xkbSetNamedIndicator {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* X_KBSetNamedIndicator */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD16 ledClass B16;
+ CARD16 ledID B16;
+ CARD16 pad1 B16;
+ Atom indicator B32;
+ BOOL setState;
+ BOOL on;
+ BOOL setMap;
+ BOOL createMap;
+ CARD8 pad2;
+ CARD8 flags;
+ CARD8 whichGroups;
+ CARD8 groups;
+ CARD8 whichMods;
+ CARD8 realMods;
+ CARD16 virtualMods B16;
+ CARD32 ctrls B32;
+} xkbSetNamedIndicatorReq;
+#define sz_xkbSetNamedIndicatorReq 32
+
+typedef struct _xkbGetNames {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBGetNames */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD16 pad B16;
+ CARD32 which B32;
+} xkbGetNamesReq;
+#define sz_xkbGetNamesReq 12
+
+typedef struct _xkbGetNamesReply {
+ BYTE type;
+ BYTE deviceID;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 which B32;
+ KeyCode minKeyCode;
+ KeyCode maxKeyCode;
+ CARD8 nTypes;
+ CARD8 groupNames;
+ CARD16 virtualMods B16;
+ KeyCode firstKey;
+ CARD8 nKeys;
+ CARD32 indicators B32;
+ CARD8 nRadioGroups;
+ CARD8 nKeyAliases;
+ CARD16 nKTLevels B16;
+ CARD32 pad3 B32;
+} xkbGetNamesReply;
+#define sz_xkbGetNamesReply 32
+
+typedef struct _xkbSetNames {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBSetNames */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD16 virtualMods B16;
+ CARD32 which B32;
+ CARD8 firstType;
+ CARD8 nTypes;
+ CARD8 firstKTLevel;
+ CARD8 nKTLevels;
+ CARD32 indicators B32;
+ CARD8 groupNames;
+ CARD8 nRadioGroups;
+ KeyCode firstKey;
+ CARD8 nKeys;
+ CARD8 nKeyAliases;
+ CARD8 pad1;
+ CARD16 totalKTLevelNames B16;
+} xkbSetNamesReq;
+#define sz_xkbSetNamesReq 28
+
+typedef struct _xkbPointWireDesc {
+ INT16 x B16;
+ INT16 y B16;
+} xkbPointWireDesc;
+#define sz_xkbPointWireDesc 4
+
+typedef struct _xkbOutlineWireDesc {
+ CARD8 nPoints;
+ CARD8 cornerRadius;
+ CARD16 pad B16;
+} xkbOutlineWireDesc;
+#define sz_xkbOutlineWireDesc 4
+
+typedef struct _xkbShapeWireDesc {
+ Atom name B32;
+ CARD8 nOutlines;
+ CARD8 primaryNdx;
+ CARD8 approxNdx;
+ CARD8 pad;
+} xkbShapeWireDesc;
+#define sz_xkbShapeWireDesc 8
+
+typedef struct _xkbSectionWireDesc {
+ Atom name B32;
+ INT16 top B16;
+ INT16 left B16;
+ CARD16 width B16;
+ CARD16 height B16;
+ INT16 angle B16;
+ CARD8 priority;
+ CARD8 nRows;
+ CARD8 nDoodads;
+ CARD8 nOverlays;
+ CARD16 pad B16;
+} xkbSectionWireDesc;
+#define sz_xkbSectionWireDesc 20
+
+typedef struct _xkbRowWireDesc {
+ INT16 top B16;
+ INT16 left B16;
+ CARD8 nKeys;
+ BOOL vertical;
+ CARD16 pad B16;
+} xkbRowWireDesc;
+#define sz_xkbRowWireDesc 8
+
+typedef struct _xkbKeyWireDesc {
+ CARD8 name[XkbKeyNameLength];
+ INT16 gap B16;
+ CARD8 shapeNdx;
+ CARD8 colorNdx;
+} xkbKeyWireDesc;
+#define sz_xkbKeyWireDesc 8
+
+typedef struct _xkbOverlayWireDesc {
+ Atom name B32;
+ CARD8 nRows;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+} xkbOverlayWireDesc;
+#define sz_xkbOverlayWireDesc 8
+
+typedef struct _xkbOverlayRowWireDesc {
+ CARD8 rowUnder;
+ CARD8 nKeys;
+ CARD16 pad1 B16;
+} xkbOverlayRowWireDesc;
+#define sz_xkbOverlayRowWireDesc 4
+
+typedef struct _xkbOverlayKeyWireDesc {
+ CARD8 over[XkbKeyNameLength];
+ CARD8 under[XkbKeyNameLength];
+} xkbOverlayKeyWireDesc;
+#define sz_xkbOverlayKeyWireDesc 8
+
+typedef struct _xkbShapeDoodadWireDesc {
+ Atom name B32;
+ CARD8 type;
+ CARD8 priority;
+ INT16 top B16;
+ INT16 left B16;
+ INT16 angle B16;
+ CARD8 colorNdx;
+ CARD8 shapeNdx;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+} xkbShapeDoodadWireDesc;
+#define sz_xkbShapeDoodadWireDesc 20
+
+typedef struct _xkbTextDoodadWireDesc {
+ Atom name B32;
+ CARD8 type;
+ CARD8 priority;
+ INT16 top B16;
+ INT16 left B16;
+ INT16 angle B16;
+ CARD16 width B16;
+ CARD16 height B16;
+ CARD8 colorNdx;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+} xkbTextDoodadWireDesc;
+#define sz_xkbTextDoodadWireDesc 20
+
+typedef struct _xkbIndicatorDoodadWireDesc {
+ Atom name B32;
+ CARD8 type;
+ CARD8 priority;
+ INT16 top B16;
+ INT16 left B16;
+ INT16 angle B16;
+ CARD8 shapeNdx;
+ CARD8 onColorNdx;
+ CARD8 offColorNdx;
+ CARD8 pad1;
+ CARD32 pad2 B32;
+} xkbIndicatorDoodadWireDesc;
+#define sz_xkbIndicatorDoodadWireDesc 20
+
+typedef struct _xkbLogoDoodadWireDesc {
+ Atom name B32;
+ CARD8 type;
+ CARD8 priority;
+ INT16 top B16;
+ INT16 left B16;
+ INT16 angle B16;
+ CARD8 colorNdx;
+ CARD8 shapeNdx;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+} xkbLogoDoodadWireDesc;
+#define sz_xkbLogoDoodadWireDesc 20
+
+typedef struct _xkbAnyDoodadWireDesc {
+ Atom name B32;
+ CARD8 type;
+ CARD8 priority;
+ INT16 top B16;
+ INT16 left B16;
+ INT16 angle B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+} xkbAnyDoodadWireDesc;
+#define sz_xkbAnyDoodadWireDesc 20
+
+typedef union _xkbDoodadWireDesc {
+ xkbAnyDoodadWireDesc any;
+ xkbShapeDoodadWireDesc shape;
+ xkbTextDoodadWireDesc text;
+ xkbIndicatorDoodadWireDesc indicator;
+ xkbLogoDoodadWireDesc logo;
+} xkbDoodadWireDesc;
+#define sz_xkbDoodadWireDesc 20
+
+typedef struct _xkbGetGeometry {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBGetGeometry */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD16 pad B16;
+ Atom name B32;
+} xkbGetGeometryReq;
+#define sz_xkbGetGeometryReq 12
+
+typedef struct _xkbGetGeometryReply {
+ CARD8 type; /* always X_Reply */
+ CARD8 deviceID;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ Atom name B32;
+ BOOL found;
+ CARD8 pad;
+ CARD16 widthMM B16;
+ CARD16 heightMM B16;
+ CARD16 nProperties B16;
+ CARD16 nColors B16;
+ CARD16 nShapes B16;
+ CARD16 nSections B16;
+ CARD16 nDoodads B16;
+ CARD16 nKeyAliases B16;
+ CARD8 baseColorNdx;
+ CARD8 labelColorNdx;
+} xkbGetGeometryReply;
+#define sz_xkbGetGeometryReply 32
+
+typedef struct _xkbSetGeometry {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBSetGeometry */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD8 nShapes;
+ CARD8 nSections;
+ Atom name B32;
+ CARD16 widthMM B16;
+ CARD16 heightMM B16;
+ CARD16 nProperties B16;
+ CARD16 nColors B16;
+ CARD16 nDoodads B16;
+ CARD16 nKeyAliases B16;
+ CARD8 baseColorNdx;
+ CARD8 labelColorNdx;
+ CARD16 pad B16;
+} xkbSetGeometryReq;
+#define sz_xkbSetGeometryReq 28
+
+typedef struct _xkbPerClientFlags {
+ CARD8 reqType;
+ CARD8 xkbReqType;/* always X_KBPerClientFlags */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD16 pad1 B16;
+ CARD32 change B32;
+ CARD32 value B32;
+ CARD32 ctrlsToChange B32;
+ CARD32 autoCtrls B32;
+ CARD32 autoCtrlValues B32;
+} xkbPerClientFlagsReq;
+#define sz_xkbPerClientFlagsReq 28
+
+typedef struct _xkbPerClientFlagsReply {
+ CARD8 type; /* always X_Reply */
+ CARD8 deviceID;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 supported B32;
+ CARD32 value B32;
+ CARD32 autoCtrls B32;
+ CARD32 autoCtrlValues B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+} xkbPerClientFlagsReply;
+#define sz_xkbPerClientFlagsReply 32
+
+typedef struct _xkbListComponents {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBListComponents */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD16 maxNames B16;
+} xkbListComponentsReq;
+#define sz_xkbListComponentsReq 8
+
+typedef struct _xkbListComponentsReply {
+ CARD8 type; /* always X_Reply */
+ CARD8 deviceID;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 nKeymaps B16;
+ CARD16 nKeycodes B16;
+ CARD16 nTypes B16;
+ CARD16 nCompatMaps B16;
+ CARD16 nSymbols B16;
+ CARD16 nGeometries B16;
+ CARD16 extra B16;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+} xkbListComponentsReply;
+#define sz_xkbListComponentsReply 32
+
+typedef struct _xkbGetKbdByName {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBGetKbdByName */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD16 need B16; /* combination of XkbGBN_* */
+ CARD16 want B16; /* combination of XkbGBN_* */
+ BOOL load;
+ CARD8 pad;
+} xkbGetKbdByNameReq;
+#define sz_xkbGetKbdByNameReq 12
+
+typedef struct _xkbGetKbdByNameReply {
+ CARD8 type; /* always X_Reply */
+ CARD8 deviceID;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ KeyCode minKeyCode;
+ KeyCode maxKeyCode;
+ BOOL loaded;
+ BOOL newKeyboard;
+ CARD16 found B16; /* combination of XkbGBN_* */
+ CARD16 reported B16; /* combination of XkbAllComponents */
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xkbGetKbdByNameReply;
+#define sz_xkbGetKbdByNameReply 32
+
+typedef struct _xkbDeviceLedsWireDesc {
+ CARD16 ledClass B16;
+ CARD16 ledID B16;
+ CARD32 namesPresent B32;
+ CARD32 mapsPresent B32;
+ CARD32 physIndicators B32;
+ CARD32 state B32;
+} xkbDeviceLedsWireDesc;
+#define sz_xkbDeviceLedsWireDesc 20
+
+typedef struct _xkbGetDeviceInfo {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBGetDeviceInfo */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD16 wanted B16;
+ BOOL allBtns;
+ CARD8 firstBtn;
+ CARD8 nBtns;
+ CARD8 pad;
+ CARD16 ledClass B16;
+ CARD16 ledID B16;
+} xkbGetDeviceInfoReq;
+#define sz_xkbGetDeviceInfoReq 16
+
+typedef struct _xkbGetDeviceInfoReply {
+ CARD8 type; /* always X_Reply */
+ CARD8 deviceID;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 present B16;
+ CARD16 supported B16;
+ CARD16 unsupported B16;
+ CARD16 nDeviceLedFBs B16;
+ CARD8 firstBtnWanted;
+ CARD8 nBtnsWanted;
+ CARD8 firstBtnRtrn;
+ CARD8 nBtnsRtrn;
+ CARD8 totalBtns;
+ BOOL hasOwnState;
+ CARD16 dfltKbdFB B16;
+ CARD16 dfltLedFB B16;
+ CARD16 pad B16;
+ Atom devType B32;
+} xkbGetDeviceInfoReply;
+#define sz_xkbGetDeviceInfoReply 32
+
+typedef struct _xkbSetDeviceInfo {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBSetDeviceInfo */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD8 firstBtn;
+ CARD8 nBtns;
+ CARD16 change B16;
+ CARD16 nDeviceLedFBs B16;
+} xkbSetDeviceInfoReq;
+#define sz_xkbSetDeviceInfoReq 12
+
+typedef struct _xkbSetDebuggingFlags {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBSetDebuggingFlags */
+ CARD16 length B16;
+ CARD16 msgLength B16;
+ CARD16 pad B16;
+ CARD32 affectFlags B32;
+ CARD32 flags B32;
+ CARD32 affectCtrls B32;
+ CARD32 ctrls B32;
+} xkbSetDebuggingFlagsReq;
+#define sz_xkbSetDebuggingFlagsReq 24
+
+typedef struct _xkbSetDebuggingFlagsReply {
+ BYTE type; /* X_Reply */
+ CARD8 pad0;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 currentFlags B32;
+ CARD32 currentCtrls B32;
+ CARD32 supportedFlags B32;
+ CARD32 supportedCtrls B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+} xkbSetDebuggingFlagsReply;
+#define sz_xkbSetDebuggingFlagsReply 32
+
+ /*
+ * X KEYBOARD EXTENSION EVENT STRUCTURES
+ */
+
+typedef struct _xkbAnyEvent {
+ BYTE type;
+ BYTE xkbType;
+ CARD16 sequenceNumber B16;
+ Time time B32;
+ CARD8 deviceID;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+} xkbAnyEvent;
+#define sz_xkbAnyEvent 32
+
+typedef struct _xkbNewKeyboardNotify {
+ BYTE type;
+ BYTE xkbType;
+ CARD16 sequenceNumber B16;
+ Time time B32;
+ CARD8 deviceID;
+ CARD8 oldDeviceID;
+ KeyCode minKeyCode;
+ KeyCode maxKeyCode;
+ KeyCode oldMinKeyCode;
+ KeyCode oldMaxKeyCode;
+ CARD8 requestMajor;
+ CARD8 requestMinor;
+ CARD16 changed B16;
+ CARD8 detail;
+ CARD8 pad1;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xkbNewKeyboardNotify;
+#define sz_xkbNewKeyboardNotify 32
+
+typedef struct _xkbMapNotify {
+ BYTE type;
+ BYTE xkbType;
+ CARD16 sequenceNumber B16;
+ Time time B32;
+ CARD8 deviceID;
+ CARD8 ptrBtnActions;
+ CARD16 changed B16;
+ KeyCode minKeyCode;
+ KeyCode maxKeyCode;
+ CARD8 firstType;
+ CARD8 nTypes;
+ KeyCode firstKeySym;
+ CARD8 nKeySyms;
+ KeyCode firstKeyAct;
+ CARD8 nKeyActs;
+ KeyCode firstKeyBehavior;
+ CARD8 nKeyBehaviors;
+ KeyCode firstKeyExplicit;
+ CARD8 nKeyExplicit;
+ KeyCode firstModMapKey;
+ CARD8 nModMapKeys;
+ KeyCode firstVModMapKey;
+ CARD8 nVModMapKeys;
+ CARD16 virtualMods B16;
+ CARD16 pad1 B16;
+} xkbMapNotify;
+#define sz_xkbMapNotify 32
+
+typedef struct _xkbStateNotify {
+ BYTE type;
+ BYTE xkbType;
+ CARD16 sequenceNumber B16;
+ Time time B32;
+ CARD8 deviceID;
+ CARD8 mods;
+ CARD8 baseMods;
+ CARD8 latchedMods;
+ CARD8 lockedMods;
+ CARD8 group;
+ INT16 baseGroup B16;
+ INT16 latchedGroup B16;
+ CARD8 lockedGroup;
+ CARD8 compatState;
+ CARD8 grabMods;
+ CARD8 compatGrabMods;
+ CARD8 lookupMods;
+ CARD8 compatLookupMods;
+ CARD16 ptrBtnState B16;
+ CARD16 changed B16;
+ KeyCode keycode;
+ CARD8 eventType;
+ CARD8 requestMajor;
+ CARD8 requestMinor;
+} xkbStateNotify;
+#define sz_xkbStateNotify 32
+
+typedef struct _xkbControlsNotify {
+ BYTE type;
+ BYTE xkbType;
+ CARD16 sequenceNumber B16;
+ Time time B32;
+ CARD8 deviceID;
+ CARD8 numGroups;
+ CARD16 pad1 B16;
+ CARD32 changedControls B32;
+ CARD32 enabledControls B32;
+ CARD32 enabledControlChanges B32;
+ KeyCode keycode;
+ CARD8 eventType;
+ CARD8 requestMajor;
+ CARD8 requestMinor;
+ CARD32 pad2 B32;
+} xkbControlsNotify;
+#define sz_xkbControlsNotify 32
+
+typedef struct _xkbIndicatorNotify {
+ BYTE type;
+ BYTE xkbType;
+ CARD16 sequenceNumber B16;
+ Time time B32;
+ CARD8 deviceID;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+ CARD32 state B32;
+ CARD32 changed B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xkbIndicatorNotify;
+#define sz_xkbIndicatorNotify 32
+
+typedef struct _xkbNamesNotify {
+ BYTE type;
+ BYTE xkbType;
+ CARD16 sequenceNumber B16;
+ Time time B32;
+ CARD8 deviceID;
+ CARD8 pad1;
+ CARD16 changed B16;
+ CARD8 firstType;
+ CARD8 nTypes;
+ CARD8 firstLevelName;
+ CARD8 nLevelNames;
+ CARD8 pad2;
+ CARD8 nRadioGroups;
+ CARD8 nAliases;
+ CARD8 changedGroupNames;
+ CARD16 changedVirtualMods B16;
+ CARD8 firstKey;
+ CARD8 nKeys;
+ CARD32 changedIndicators B32;
+ CARD32 pad3 B32;
+} xkbNamesNotify;
+#define sz_xkbNamesNotify 32
+
+typedef struct _xkbCompatMapNotify {
+ BYTE type;
+ BYTE xkbType;
+ CARD16 sequenceNumber B16;
+ Time time B32;
+ CARD8 deviceID;
+ CARD8 changedGroups;
+ CARD16 firstSI B16;
+ CARD16 nSI B16;
+ CARD16 nTotalSI B16;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xkbCompatMapNotify;
+#define sz_xkbCompatMapNotify 32
+
+typedef struct _xkbBellNotify {
+ BYTE type;
+ BYTE xkbType;
+ CARD16 sequenceNumber B16;
+ Time time B32;
+ CARD8 deviceID;
+ CARD8 bellClass;
+ CARD8 bellID;
+ CARD8 percent;
+ CARD16 pitch B16;
+ CARD16 duration B16;
+ Atom name B32;
+ Window window B32;
+ BOOL eventOnly;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+} xkbBellNotify;
+#define sz_xkbBellNotify 32
+
+typedef struct _xkbActionMessage {
+ BYTE type;
+ BYTE xkbType;
+ CARD16 sequenceNumber B16;
+ Time time B32;
+ CARD8 deviceID;
+ KeyCode keycode;
+ BOOL press;
+ BOOL keyEventFollows;
+ CARD8 mods;
+ CARD8 group;
+ CARD8 message[8];
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+} xkbActionMessage;
+#define sz_xkbActionMessage 32
+
+typedef struct _xkbAccessXNotify {
+ BYTE type;
+ BYTE xkbType;
+ CARD16 sequenceNumber B16;
+ Time time B32;
+ CARD8 deviceID;
+ KeyCode keycode;
+ CARD16 detail B16;
+ CARD16 slowKeysDelay B16;
+ CARD16 debounceDelay B16;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xkbAccessXNotify;
+#define sz_xkbAccessXNotify 32
+
+typedef struct _xkbExtensionDeviceNotify {
+ BYTE type;
+ BYTE xkbType;
+ CARD16 sequenceNumber B16;
+ Time time B32;
+ CARD8 deviceID;
+ CARD8 pad1;
+ CARD16 reason B16;
+ CARD16 ledClass B16;
+ CARD16 ledID B16;
+ CARD32 ledsDefined B32;
+ CARD32 ledState B32;
+ CARD8 firstBtn;
+ CARD8 nBtns;
+ CARD16 supported B16;
+ CARD16 unsupported B16;
+ CARD16 pad3 B16;
+} xkbExtensionDeviceNotify;
+#define sz_xkbExtensionDeviceNotify 32
+
+typedef struct _xkbEvent {
+ union {
+ xkbAnyEvent any;
+ xkbNewKeyboardNotify new_kbd;
+ xkbMapNotify map;
+ xkbStateNotify state;
+ xkbControlsNotify ctrls;
+ xkbIndicatorNotify indicators;
+ xkbNamesNotify names;
+ xkbCompatMapNotify compat;
+ xkbBellNotify bell;
+ xkbActionMessage message;
+ xkbAccessXNotify accessx;
+ xkbExtensionDeviceNotify device;
+ } u;
+} xkbEvent;
+#define sz_xkbEvent 32
+
+#undef Window
+#undef Atom
+#undef Time
+#undef KeyCode
+#undef KeySym
+
+#endif /* _XKBPROTO_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/extensions/XKBsrv.h b/stream-servers/apigen-codec-common/X11/extensions/XKBsrv.h
new file mode 100644
index 0000000..be7e978
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/XKBsrv.h
@@ -0,0 +1,1184 @@
+/************************************************************
+Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc.
+
+Permission to use, copy, modify, and distribute this
+software and its documentation for any purpose and without
+fee is hereby granted, provided that the above copyright
+notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting
+documentation, and that the name of Silicon Graphics not be
+used in advertising or publicity pertaining to distribution
+of the software without specific prior written permission.
+Silicon Graphics makes no representation about the suitability
+of this software for any purpose. It is provided "as is"
+without any express or implied warranty.
+
+SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
+DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
+THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+********************************************************/
+
+#ifndef _XKBSRV_H_
+#define _XKBSRV_H_
+
+#ifdef XKB_IN_SERVER
+#define XkbAllocClientMap SrvXkbAllocClientMap
+#define XkbAllocServerMap SrvXkbAllocServerMap
+#define XkbChangeTypesOfKey SrvXkbChangeTypesOfKey
+#define XkbAddKeyType SrvXkbAddKeyType
+#define XkbCopyKeyType SrvXkbCopyKeyType
+#define XkbCopyKeyTypes SrvXkbCopyKeyTypes
+#define XkbFreeClientMap SrvXkbFreeClientMap
+#define XkbFreeServerMap SrvXkbFreeServerMap
+#define XkbInitCanonicalKeyTypes SrvXkbInitCanonicalKeyTypes
+#define XkbKeyTypesForCoreSymbols SrvXkbKeyTypesForCoreSymbols
+#define XkbApplyCompatMapToKey SrvXkbApplyCompatMapToKey
+#define XkbUpdateMapFromCore SrvXkbUpdateMapFromCore
+#define XkbResizeKeyActions SrvXkbResizeKeyActions
+#define XkbResizeKeySyms SrvXkbResizeKeySyms
+#define XkbResizeKeyType SrvXkbResizeKeyType
+#define XkbAllocCompatMap SrvXkbAllocCompatMap
+#define XkbAllocControls SrvXkbAllocControls
+#define XkbAllocIndicatorMaps SrvXkbAllocIndicatorMaps
+#define XkbAllocKeyboard SrvXkbAllocKeyboard
+#define XkbAllocNames SrvXkbAllocNames
+#define XkbFreeCompatMap SrvXkbFreeCompatMap
+#define XkbFreeControls SrvXkbFreeControls
+#define XkbFreeIndicatorMaps SrvXkbFreeIndicatorMaps
+#define XkbFreeKeyboard SrvXkbFreeKeyboard
+#define XkbFreeNames SrvXkbFreeNames
+#define XkbAddDeviceLedInfo SrvXkbAddDeviceLedInfo
+#define XkbAllocDeviceInfo SrvXkbAllocDeviceInfo
+#define XkbFreeDeviceInfo SrvXkbFreeDeviceInfo
+#define XkbResizeDeviceButtonActions SrvXkbResizeDeviceButtonActions
+#define XkbLatchModifiers SrvXkbLatchModifiers
+#define XkbLatchGroup SrvXkbLatchGroup
+#define XkbVirtualModsToReal SrvXkbVirtualModsToReal
+#define XkbChangeKeycodeRange SrvXkbChangeKeycodeRange
+#define XkbApplyVirtualModChanges SrvXkbApplyVirtualModChanges
+#define XkbUpdateActionVirtualMods SrvXkbUpdateActionVirtualMods
+#define XkbUpdateKeyTypeVirtualMods SrvXkbUpdateKeyTypeVirtualMods
+#endif
+
+#include <X11/extensions/XKBstr.h>
+#include <X11/extensions/XKBproto.h>
+#include "inputstr.h"
+
+typedef struct _XkbInterest {
+ DeviceIntPtr dev;
+ ClientPtr client;
+ XID resource;
+ struct _XkbInterest * next;
+ CARD16 extDevNotifyMask;
+ CARD16 stateNotifyMask;
+ CARD16 namesNotifyMask;
+ CARD32 ctrlsNotifyMask;
+ CARD8 compatNotifyMask;
+ BOOL bellNotifyMask;
+ BOOL actionMessageMask;
+ CARD16 accessXNotifyMask;
+ CARD32 iStateNotifyMask;
+ CARD32 iMapNotifyMask;
+ CARD16 altSymsNotifyMask;
+ CARD32 autoCtrls;
+ CARD32 autoCtrlValues;
+} XkbInterestRec,*XkbInterestPtr;
+
+typedef struct _XkbRadioGroup {
+ CARD8 flags;
+ CARD8 nMembers;
+ CARD8 dfltDown;
+ CARD8 currentDown;
+ CARD8 members[XkbRGMaxMembers];
+} XkbRadioGroupRec, *XkbRadioGroupPtr;
+
+typedef struct _XkbEventCause {
+ CARD8 kc;
+ CARD8 event;
+ CARD8 mjr;
+ CARD8 mnr;
+ ClientPtr client;
+} XkbEventCauseRec,*XkbEventCausePtr;
+#define XkbSetCauseKey(c,k,e) { (c)->kc= (k),(c)->event= (e),\
+ (c)->mjr= (c)->mnr= 0; \
+ (c)->client= NULL; }
+#define XkbSetCauseReq(c,j,n,cl) { (c)->kc= (c)->event= 0,\
+ (c)->mjr= (j),(c)->mnr= (n);\
+ (c)->client= (cl); }
+#define XkbSetCauseCoreReq(c,e,cl) XkbSetCauseReq(c,e,0,cl)
+#define XkbSetCauseXkbReq(c,e,cl) XkbSetCauseReq(c,XkbReqCode,e,cl)
+#define XkbSetCauseUnknown(c) XkbSetCauseKey(c,0,0)
+
+#define _OFF_TIMER 0
+#define _KRG_WARN_TIMER 1
+#define _KRG_TIMER 2
+#define _SK_TIMEOUT_TIMER 3
+#define _ALL_TIMEOUT_TIMER 4
+
+#define _BEEP_NONE 0
+#define _BEEP_FEATURE_ON 1
+#define _BEEP_FEATURE_OFF 2
+#define _BEEP_FEATURE_CHANGE 3
+#define _BEEP_SLOW_WARN 4
+#define _BEEP_SLOW_PRESS 5
+#define _BEEP_SLOW_ACCEPT 6
+#define _BEEP_SLOW_REJECT 7
+#define _BEEP_SLOW_RELEASE 8
+#define _BEEP_STICKY_LATCH 9
+#define _BEEP_STICKY_LOCK 10
+#define _BEEP_STICKY_UNLOCK 11
+#define _BEEP_LED_ON 12
+#define _BEEP_LED_OFF 13
+#define _BEEP_LED_CHANGE 14
+#define _BEEP_BOUNCE_REJECT 15
+
+typedef struct _XkbSrvInfo {
+ XkbStateRec prev_state;
+ XkbStateRec state;
+ XkbDescPtr desc;
+
+ DeviceIntPtr device;
+ KbdCtrlProcPtr kbdProc;
+
+ XkbRadioGroupPtr radioGroups;
+ CARD8 nRadioGroups;
+ CARD8 clearMods;
+ CARD8 setMods;
+ INT16 groupChange;
+
+ CARD16 dfltPtrDelta;
+
+ double mouseKeysCurve;
+ double mouseKeysCurveFactor;
+ INT16 mouseKeysDX;
+ INT16 mouseKeysDY;
+ CARD8 mouseKeysFlags;
+ Bool mouseKeysAccel;
+ CARD8 mouseKeysCounter;
+
+ CARD8 lockedPtrButtons;
+ CARD8 shiftKeyCount;
+ KeyCode mouseKey;
+ KeyCode inactiveKey;
+ KeyCode slowKey;
+ KeyCode repeatKey;
+ CARD8 krgTimerActive;
+ CARD8 beepType;
+ CARD8 beepCount;
+
+ CARD32 flags;
+ CARD32 lastPtrEventTime;
+ CARD32 lastShiftEventTime;
+ OsTimerPtr beepTimer;
+ OsTimerPtr mouseKeyTimer;
+ OsTimerPtr slowKeysTimer;
+ OsTimerPtr bounceKeysTimer;
+ OsTimerPtr repeatKeyTimer;
+ OsTimerPtr krgTimer;
+} XkbSrvInfoRec, *XkbSrvInfoPtr;
+
+#define XkbSLI_IsDefault (1L<<0)
+#define XkbSLI_HasOwnState (1L<<1)
+
+typedef struct _XkbSrvLedInfo {
+ CARD16 flags;
+ CARD16 class;
+ CARD16 id;
+ union {
+ KbdFeedbackPtr kf;
+ LedFeedbackPtr lf;
+ } fb;
+
+ CARD32 physIndicators;
+ CARD32 autoState;
+ CARD32 explicitState;
+ CARD32 effectiveState;
+
+ CARD32 mapsPresent;
+ CARD32 namesPresent;
+ XkbIndicatorMapPtr maps;
+ Atom * names;
+
+ CARD32 usesBase;
+ CARD32 usesLatched;
+ CARD32 usesLocked;
+ CARD32 usesEffective;
+ CARD32 usesCompat;
+ CARD32 usesControls;
+
+ CARD32 usedComponents;
+} XkbSrvLedInfoRec, *XkbSrvLedInfoPtr;
+
+/*
+ * Settings for xkbClientFlags field (used by DIX)
+ * These flags _must_ not overlap with XkbPCF_*
+ */
+#define _XkbClientInitialized (1<<15)
+
+#define _XkbWantsDetectableAutoRepeat(c)\
+ ((c)->xkbClientFlags&XkbPCF_DetectableAutoRepeatMask)
+
+/*
+ * Settings for flags field
+ */
+#define _XkbStateNotifyInProgress (1<<0)
+
+typedef struct
+{
+ ProcessInputProc processInputProc;
+ ProcessInputProc realInputProc;
+ DeviceUnwrapProc unwrapProc;
+} xkbDeviceInfoRec, *xkbDeviceInfoPtr;
+
+#define WRAP_PROCESS_INPUT_PROC(device, oldprocs, proc, unwrapproc) \
+ device->public.processInputProc = proc; \
+ oldprocs->processInputProc = \
+ oldprocs->realInputProc = device->public.realInputProc; \
+ device->public.realInputProc = proc; \
+ oldprocs->unwrapProc = device->unwrapProc; \
+ device->unwrapProc = unwrapproc;
+
+#define COND_WRAP_PROCESS_INPUT_PROC(device, oldprocs, proc, unwrapproc) \
+ if (device->public.processInputProc == device->public.realInputProc)\
+ device->public.processInputProc = proc; \
+ oldprocs->processInputProc = \
+ oldprocs->realInputProc = device->public.realInputProc; \
+ device->public.realInputProc = proc; \
+ oldprocs->unwrapProc = device->unwrapProc; \
+ device->unwrapProc = unwrapproc;
+
+#define UNWRAP_PROCESS_INPUT_PROC(device, oldprocs) \
+ device->public.processInputProc = oldprocs->processInputProc; \
+ device->public.realInputProc = oldprocs->realInputProc; \
+ device->unwrapProc = oldprocs->unwrapProc;
+
+#define XKBDEVICEINFO(dev) ((xkbDeviceInfoPtr) (dev)->devPrivates[xkbDevicePrivateIndex].ptr)
+
+/***====================================================================***/
+
+
+/***====================================================================***/
+
+#define XkbAX_KRGMask (XkbSlowKeysMask|XkbBounceKeysMask)
+#define XkbAllFilteredEventsMask \
+ (XkbAccessXKeysMask|XkbRepeatKeysMask|XkbMouseKeysAccelMask|XkbAX_KRGMask)
+
+/***====================================================================***/
+
+extern int XkbReqCode;
+extern int XkbEventBase;
+extern int XkbKeyboardErrorCode;
+extern int XkbDisableLockActions;
+extern char * XkbBaseDirectory;
+extern char * XkbBinDirectory;
+extern char * XkbInitialMap;
+extern int _XkbClientMajor;
+extern int _XkbClientMinor;
+extern unsigned int XkbXIUnsupported;
+
+extern char * XkbModelUsed,*XkbLayoutUsed,*XkbVariantUsed,*XkbOptionsUsed;
+extern Bool noXkbExtension;
+extern Bool XkbWantRulesProp;
+
+extern pointer XkbLastRepeatEvent;
+
+extern CARD32 xkbDebugFlags;
+extern CARD32 xkbDebugCtrls;
+
+#define _XkbAlloc(s) xalloc((s))
+#define _XkbCalloc(n,s) Xcalloc((n)*(s))
+#define _XkbRealloc(o,s) Xrealloc((o),(s))
+#define _XkbTypedAlloc(t) ((t *)xalloc(sizeof(t)))
+#define _XkbTypedCalloc(n,t) ((t *)Xcalloc((n)*sizeof(t)))
+#define _XkbTypedRealloc(o,n,t) \
+ ((o)?(t *)Xrealloc((o),(n)*sizeof(t)):_XkbTypedCalloc(n,t))
+#define _XkbClearElems(a,f,l,t) bzero(&(a)[f],((l)-(f)+1)*sizeof(t))
+#define _XkbFree(p) Xfree(p)
+
+#define _XkbLibError(c,l,d) \
+ { _XkbErrCode= (c); _XkbErrLocation= (l); _XkbErrData= (d); }
+#define _XkbErrCode2(a,b) ((XID)((((unsigned int)(a))<<24)|((b)&0xffffff)))
+#define _XkbErrCode3(a,b,c) _XkbErrCode2(a,(((unsigned int)(b))<<16)|(c))
+#define _XkbErrCode4(a,b,c,d) _XkbErrCode3(a,b,((((unsigned int)(c))<<8)|(d)))
+
+extern int DeviceKeyPress,DeviceKeyRelease;
+extern int DeviceButtonPress,DeviceButtonRelease;
+
+#ifdef XINPUT
+#define _XkbIsPressEvent(t) (((t)==KeyPress)||((t)==DeviceKeyPress))
+#define _XkbIsReleaseEvent(t) (((t)==KeyRelease)||((t)==DeviceKeyRelease))
+#else
+#define _XkbIsPressEvent(t) ((t)==KeyPress)
+#define _XkbIsReleaseEvent(t) ((t)==KeyRelease)
+#endif
+
+#define _XkbCoreKeycodeInRange(c,k) (((k)>=(c)->curKeySyms.minKeyCode)&&\
+ ((k)<=(c)->curKeySyms.maxKeyCode))
+#define _XkbCoreNumKeys(c) ((c)->curKeySyms.maxKeyCode-\
+ (c)->curKeySyms.minKeyCode+1)
+
+#define XConvertCase(s,l,u) XkbConvertCase(s,l,u)
+#undef IsKeypadKey
+#define IsKeypadKey(s) XkbKSIsKeypad(s)
+
+typedef int Status;
+typedef pointer XPointer;
+typedef struct _XDisplay Display;
+
+#ifndef True
+#define True 1
+#define False 0
+#endif
+
+#ifndef PATH_MAX
+#ifdef MAXPATHLEN
+#define PATH_MAX MAXPATHLEN
+#else
+#define PATH_MAX 1024
+#endif
+#endif
+
+_XFUNCPROTOBEGIN
+
+extern void XkbUseMsg(
+ void
+);
+
+extern int XkbProcessArguments(
+ int /* argc */,
+ char ** /* argv */,
+ int /* i */
+);
+
+extern void XkbSetExtension(DeviceIntPtr device, ProcessInputProc proc);
+
+extern void XkbFreeCompatMap(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ Bool /* freeMap */
+);
+
+extern void XkbFreeNames(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ Bool /* freeMap */
+);
+
+extern DeviceIntPtr _XkbLookupAnyDevice(
+ int /* id */,
+ int * /* why_rtrn */
+);
+
+extern DeviceIntPtr _XkbLookupKeyboard(
+ int /* id */,
+ int * /* why_rtrn */
+);
+
+extern DeviceIntPtr _XkbLookupBellDevice(
+ int /* id */,
+ int * /* why_rtrn */
+);
+
+extern DeviceIntPtr _XkbLookupLedDevice(
+ int /* id */,
+ int * /* why_rtrn */
+);
+
+extern DeviceIntPtr _XkbLookupButtonDevice(
+ int /* id */,
+ int * /* why_rtrn */
+);
+
+extern XkbDescPtr XkbAllocKeyboard(
+ void
+);
+
+extern Status XkbAllocClientMap(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ unsigned int /* nTypes */
+);
+
+extern Status XkbAllocServerMap(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ unsigned int /* nNewActions */
+);
+
+extern void XkbFreeClientMap(
+ XkbDescPtr /* xkb */,
+ unsigned int /* what */,
+ Bool /* freeMap */
+);
+
+extern void XkbFreeServerMap(
+ XkbDescPtr /* xkb */,
+ unsigned int /* what */,
+ Bool /* freeMap */
+);
+
+extern Status XkbAllocIndicatorMaps(
+ XkbDescPtr /* xkb */
+);
+
+extern Status XkbAllocCompatMap(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ unsigned int /* nInterpret */
+);
+
+extern Status XkbAllocNames(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ int /* nTotalRG */,
+ int /* nTotalAliases */
+);
+
+extern Status XkbAllocControls(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which*/
+);
+
+extern Status XkbCopyKeyType(
+ XkbKeyTypePtr /* from */,
+ XkbKeyTypePtr /* into */
+);
+
+extern Status XkbCopyKeyTypes(
+ XkbKeyTypePtr /* from */,
+ XkbKeyTypePtr /* into */,
+ int /* num_types */
+);
+
+extern Status XkbResizeKeyType(
+ XkbDescPtr /* xkb */,
+ int /* type_ndx */,
+ int /* map_count */,
+ Bool /* want_preserve */,
+ int /* new_num_lvls */
+);
+
+extern void XkbFreeKeyboard(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ Bool /* freeDesc */
+);
+
+extern void XkbSetActionKeyMods(
+ XkbDescPtr /* xkb */,
+ XkbAction * /* act */,
+ unsigned int /* mods */
+);
+
+extern Bool XkbCheckActionVMods(
+ XkbDescPtr /* xkb */,
+ XkbAction * /* act */,
+ unsigned int /* changed */
+);
+
+extern Bool XkbApplyVModChanges(
+ XkbSrvInfoPtr /* xkbi */,
+ unsigned int /* changed */,
+ XkbChangesPtr /* pChanges */,
+ unsigned int * /* needChecksRtrn */,
+ XkbEventCausePtr /* cause */
+);
+
+extern void XkbApplyVModChangesToAllDevices(
+ DeviceIntPtr /* dev */,
+ XkbDescPtr /* xkb */,
+ unsigned int /* changed */,
+ XkbEventCausePtr /* cause */
+);
+
+extern unsigned int XkbMaskForVMask(
+ XkbDescPtr /* xkb */,
+ unsigned int /* vmask */
+);
+
+extern Bool XkbVirtualModsToReal(
+ XkbDescPtr /* xkb */,
+ unsigned int /* virtua_mask */,
+ unsigned int * /* mask_rtrn */
+);
+
+extern unsigned int XkbAdjustGroup(
+ int /* group */,
+ XkbControlsPtr /* ctrls */
+);
+
+extern KeySym *XkbResizeKeySyms(
+ XkbDescPtr /* xkb */,
+ int /* key */,
+ int /* needed */
+);
+
+extern XkbAction *XkbResizeKeyActions(
+ XkbDescPtr /* xkb */,
+ int /* key */,
+ int /* needed */
+);
+
+extern void XkbUpdateKeyTypesFromCore(
+ DeviceIntPtr /* pXDev */,
+ KeyCode /* first */,
+ CARD8 /* num */,
+ XkbChangesPtr /* pChanges */
+);
+
+extern void XkbUpdateDescActions(
+ XkbDescPtr /* xkb */,
+ KeyCode /* first */,
+ CARD8 /* num */,
+ XkbChangesPtr /* changes */
+);
+
+extern void XkbUpdateActions(
+ DeviceIntPtr /* pXDev */,
+ KeyCode /* first */,
+ CARD8 /* num */,
+ XkbChangesPtr /* pChanges */,
+ unsigned int * /* needChecksRtrn */,
+ XkbEventCausePtr /* cause */
+);
+
+extern void XkbUpdateCoreDescription(
+ DeviceIntPtr /* keybd */,
+ Bool /* resize */
+);
+
+extern void XkbApplyMappingChange(
+ DeviceIntPtr /* pXDev */,
+ CARD8 /* request */,
+ KeyCode /* firstKey */,
+ CARD8 /* num */,
+ ClientPtr /* client */
+);
+
+extern void XkbSetIndicators(
+ DeviceIntPtr /* pXDev */,
+ CARD32 /* affect */,
+ CARD32 /* values */,
+ XkbEventCausePtr /* cause */
+);
+
+extern void XkbUpdateIndicators(
+ DeviceIntPtr /* keybd */,
+ CARD32 /* changed */,
+ Bool /* check_edevs */,
+ XkbChangesPtr /* pChanges */,
+ XkbEventCausePtr /* cause */
+);
+
+extern XkbSrvLedInfoPtr XkbAllocSrvLedInfo(
+ DeviceIntPtr /* dev */,
+ KbdFeedbackPtr /* kf */,
+ LedFeedbackPtr /* lf */,
+ unsigned int /* needed_parts */
+);
+
+extern XkbSrvLedInfoPtr XkbFindSrvLedInfo(
+ DeviceIntPtr /* dev */,
+ unsigned int /* class */,
+ unsigned int /* id */,
+ unsigned int /* needed_parts */
+);
+
+extern void XkbApplyLedNameChanges(
+ DeviceIntPtr /* dev */,
+ XkbSrvLedInfoPtr /* sli */,
+ unsigned int /* changed_names */,
+ xkbExtensionDeviceNotify * /* ed */,
+ XkbChangesPtr /* changes */,
+ XkbEventCausePtr /* cause */
+);
+
+extern void XkbApplyLedMapChanges(
+ DeviceIntPtr /* dev */,
+ XkbSrvLedInfoPtr /* sli */,
+ unsigned int /* changed_maps */,
+ xkbExtensionDeviceNotify * /* ed */,
+ XkbChangesPtr /* changes */,
+ XkbEventCausePtr /* cause */
+);
+
+extern void XkbApplyLedStateChanges(
+ DeviceIntPtr /* dev */,
+ XkbSrvLedInfoPtr /* sli */,
+ unsigned int /* changed_leds */,
+ xkbExtensionDeviceNotify * /* ed */,
+ XkbChangesPtr /* changes */,
+ XkbEventCausePtr /* cause */
+);
+
+extern void XkbUpdateLedAutoState(
+ DeviceIntPtr /* dev */,
+ XkbSrvLedInfoPtr /* sli */,
+ unsigned int /* maps_to_check */,
+ xkbExtensionDeviceNotify * /* ed */,
+ XkbChangesPtr /* changes */,
+ XkbEventCausePtr /* cause */
+);
+
+extern void XkbFlushLedEvents(
+ DeviceIntPtr /* dev */,
+ DeviceIntPtr /* kbd */,
+ XkbSrvLedInfoPtr /* sli */,
+ xkbExtensionDeviceNotify * /* ed */,
+ XkbChangesPtr /* changes */,
+ XkbEventCausePtr /* cause */
+);
+
+extern void XkbUpdateAllDeviceIndicators(
+ XkbChangesPtr /* changes */,
+ XkbEventCausePtr /* cause */
+);
+
+extern unsigned int XkbIndicatorsToUpdate(
+ DeviceIntPtr /* dev */,
+ unsigned long /* state_changes */,
+ Bool /* enabled_ctrl_changes */
+);
+
+extern void XkbComputeDerivedState(
+ XkbSrvInfoPtr /* xkbi */
+);
+
+extern void XkbCheckSecondaryEffects(
+ XkbSrvInfoPtr /* xkbi */,
+ unsigned int /* which */,
+ XkbChangesPtr /* changes */,
+ XkbEventCausePtr /* cause */
+);
+
+extern void XkbCheckIndicatorMaps(
+ DeviceIntPtr /* dev */,
+ XkbSrvLedInfoPtr /* sli */,
+ unsigned int /* which */
+);
+
+extern unsigned int XkbStateChangedFlags(
+ XkbStatePtr /* old */,
+ XkbStatePtr /* new */
+);
+
+extern void XkbSendStateNotify(
+ DeviceIntPtr /* kbd */,
+ xkbStateNotify * /* pSN */
+);
+
+extern void XkbSendMapNotify(
+ DeviceIntPtr /* kbd */,
+ xkbMapNotify * /* ev */
+);
+
+extern int XkbComputeControlsNotify(
+ DeviceIntPtr /* kbd */,
+ XkbControlsPtr /* old */,
+ XkbControlsPtr /* new */,
+ xkbControlsNotify * /* pCN */,
+ Bool /* forceCtrlProc */
+);
+
+extern void XkbSendControlsNotify(
+ DeviceIntPtr /* kbd */,
+ xkbControlsNotify * /* ev */
+);
+
+extern void XkbSendCompatMapNotify(
+ DeviceIntPtr /* kbd */,
+ xkbCompatMapNotify * /* ev */
+);
+
+extern void XkbSendIndicatorNotify(
+ DeviceIntPtr /* kbd */,
+ int /* xkbType */,
+ xkbIndicatorNotify * /* ev */
+);
+
+extern void XkbHandleBell(
+ BOOL /* force */,
+ BOOL /* eventOnly */,
+ DeviceIntPtr /* kbd */,
+ CARD8 /* percent */,
+ pointer /* ctrl */,
+ CARD8 /* class */,
+ Atom /* name */,
+ WindowPtr /* pWin */,
+ ClientPtr /* pClient */
+);
+
+extern void XkbSendAccessXNotify(
+ DeviceIntPtr /* kbd */,
+ xkbAccessXNotify * /* pEv */
+);
+
+extern void XkbSendNamesNotify(
+ DeviceIntPtr /* kbd */,
+ xkbNamesNotify * /* ev */
+);
+
+extern void XkbSendCompatNotify(
+ DeviceIntPtr /* kbd */,
+ xkbCompatMapNotify * /* ev */
+);
+
+extern void XkbSendActionMessage(
+ DeviceIntPtr /* kbd */,
+ xkbActionMessage * /* ev */
+);
+
+extern void XkbSendExtensionDeviceNotify(
+ DeviceIntPtr /* kbd */,
+ ClientPtr /* client */,
+ xkbExtensionDeviceNotify * /* ev */
+);
+
+extern void XkbSendNotification(
+ DeviceIntPtr /* kbd */,
+ XkbChangesPtr /* pChanges */,
+ XkbEventCausePtr /* cause */
+);
+
+extern void XkbProcessKeyboardEvent(
+ struct _xEvent * /* xE */,
+ DeviceIntPtr /* keybd */,
+ int /* count */
+);
+
+extern void XkbProcessOtherEvent(
+ struct _xEvent * /* xE */,
+ DeviceIntPtr /* keybd */,
+ int /* count */
+);
+
+extern void XkbHandleActions(
+ DeviceIntPtr /* dev */,
+ DeviceIntPtr /* kbd */,
+ struct _xEvent * /* xE */,
+ int /* count */
+);
+
+extern Bool XkbEnableDisableControls(
+ XkbSrvInfoPtr /* xkbi */,
+ unsigned long /* change */,
+ unsigned long /* newValues */,
+ XkbChangesPtr /* changes */,
+ XkbEventCausePtr /* cause */
+);
+
+extern void AccessXInit(
+ DeviceIntPtr /* dev */
+);
+
+extern Bool AccessXFilterPressEvent(
+ register struct _xEvent * /* xE */,
+ register DeviceIntPtr /* keybd */,
+ int /* count */
+);
+
+extern Bool AccessXFilterReleaseEvent(
+ register struct _xEvent * /* xE */,
+ register DeviceIntPtr /* keybd */,
+ int /* count */
+);
+
+extern void AccessXCancelRepeatKey(
+ XkbSrvInfoPtr /* xkbi */,
+ KeyCode /* key */
+);
+
+extern void AccessXComputeCurveFactor(
+ XkbSrvInfoPtr /* xkbi */,
+ XkbControlsPtr /* ctrls */
+);
+
+extern XkbDeviceLedInfoPtr XkbAddDeviceLedInfo(
+ XkbDeviceInfoPtr /* devi */,
+ unsigned int /* ledClass */,
+ unsigned int /* ledId */
+);
+
+extern XkbDeviceInfoPtr XkbAllocDeviceInfo(
+ unsigned int /* deviceSpec */,
+ unsigned int /* nButtons */,
+ unsigned int /* szLeds */
+);
+
+extern void XkbFreeDeviceInfo(
+ XkbDeviceInfoPtr /* devi */,
+ unsigned int /* which */,
+ Bool /* freeDevI */
+);
+
+extern Status XkbResizeDeviceButtonActions(
+ XkbDeviceInfoPtr /* devi */,
+ unsigned int /* newTotal */
+);
+
+extern XkbInterestPtr XkbFindClientResource(
+ DevicePtr /* inDev */,
+ ClientPtr /* client */
+);
+
+extern XkbInterestPtr XkbAddClientResource(
+ DevicePtr /* inDev */,
+ ClientPtr /* client */,
+ XID /* id */
+);
+
+extern int XkbRemoveClient(
+ DevicePtr /* inDev */,
+ ClientPtr /* client */
+);
+
+extern int XkbRemoveResourceClient(
+ DevicePtr /* inDev */,
+ XID /* id */
+);
+
+extern int XkbDDXInitDevice(
+ DeviceIntPtr /* dev */
+);
+
+extern int XkbDDXAccessXBeep(
+ DeviceIntPtr /* dev */,
+ unsigned int /* what */,
+ unsigned int /* which */
+);
+
+extern void XkbDDXKeyClick(
+ DeviceIntPtr /* dev */,
+ int /* keycode */,
+ int /* synthetic */
+);
+
+extern int XkbDDXUsesSoftRepeat(
+ DeviceIntPtr /* dev */
+);
+
+extern void XkbDDXKeybdCtrlProc(
+ DeviceIntPtr /* dev */,
+ KeybdCtrl * /* ctrl */
+);
+
+extern void XkbDDXChangeControls(
+ DeviceIntPtr /* dev */,
+ XkbControlsPtr /* old */,
+ XkbControlsPtr /* new */
+);
+
+extern void XkbDDXUpdateIndicators(
+ DeviceIntPtr /* keybd */,
+ CARD32 /* newState */
+);
+
+extern void XkbDDXUpdateDeviceIndicators(
+ DeviceIntPtr /* dev */,
+ XkbSrvLedInfoPtr /* sli */,
+ CARD32 /* newState */
+);
+
+extern void XkbDDXFakePointerButton(
+ int /* event */,
+ int /* button */
+);
+
+extern void XkbDDXFakePointerMotion(
+ unsigned int /* flags */,
+ int /* x */,
+ int /* y */
+);
+
+extern void XkbDDXFakeDeviceButton(
+ DeviceIntPtr /* dev */,
+ Bool /* press */,
+ int /* button */
+);
+
+extern int XkbDDXTerminateServer(
+ DeviceIntPtr /* dev */,
+ KeyCode /* key */,
+ XkbAction * /* act */
+);
+
+extern int XkbDDXSwitchScreen(
+ DeviceIntPtr /* dev */,
+ KeyCode /* key */,
+ XkbAction * /* act */
+);
+
+extern int XkbDDXPrivate(
+ DeviceIntPtr /* dev */,
+ KeyCode /* key */,
+ XkbAction * /* act */
+);
+
+extern void XkbDisableComputedAutoRepeats(
+ DeviceIntPtr /* pXDev */,
+ unsigned int /* key */
+);
+
+extern void XkbSetRepeatKeys(
+ DeviceIntPtr /* pXDev */,
+ int /* key */,
+ int /* onoff */
+);
+
+extern int XkbLatchModifiers(
+ DeviceIntPtr /* pXDev */,
+ CARD8 /* mask */,
+ CARD8 /* latches */
+);
+
+extern int XkbLatchGroup(
+ DeviceIntPtr /* pXDev */,
+ int /* group */
+);
+
+extern void XkbClearAllLatchesAndLocks(
+ DeviceIntPtr /* dev */,
+ XkbSrvInfoPtr /* xkbi */,
+ Bool /* genEv */,
+ XkbEventCausePtr /* cause */
+);
+
+extern void XkbSetRulesDflts(
+ char * /* rulesFile */,
+ char * /* model */,
+ char * /* layout */,
+ char * /* variant */,
+ char * /* options */
+);
+
+extern void XkbInitDevice(
+ DeviceIntPtr /* pXDev */
+);
+
+extern Bool XkbInitKeyboardDeviceStruct(
+ DeviceIntPtr /* pXDev */,
+ XkbComponentNamesPtr /* pNames */,
+ KeySymsPtr /* pSyms */,
+ CARD8 /* pMods */[],
+ BellProcPtr /* bellProc */,
+ KbdCtrlProcPtr /* ctrlProc */
+);
+
+extern int SProcXkbDispatch(
+ ClientPtr /* client */
+);
+
+extern XkbGeometryPtr XkbLookupNamedGeometry(
+ DeviceIntPtr /* dev */,
+ Atom /* name */,
+ Bool * /* shouldFree */
+);
+
+extern char * _XkbDupString(
+ char * /* str */
+);
+
+extern void XkbConvertCase(
+ KeySym /* sym */,
+ KeySym * /* lower */,
+ KeySym * /* upper */
+);
+
+extern Status XkbChangeKeycodeRange(
+ XkbDescPtr /* xkb */,
+ int /* minKC */,
+ int /* maxKC */,
+ XkbChangesPtr /* changes */
+);
+
+extern int XkbFinishDeviceInit(
+ DeviceIntPtr /* pXDev */
+);
+
+extern void XkbFreeSrvLedInfo(
+ XkbSrvLedInfoPtr /* sli */
+);
+
+extern void XkbFreeInfo(
+ XkbSrvInfoPtr /* xkbi */
+);
+
+extern Status XkbChangeTypesOfKey(
+ XkbDescPtr /* xkb */,
+ int /* key */,
+ int /* nGroups */,
+ unsigned int /* groups */,
+ int * /* newTypesIn */,
+ XkbMapChangesPtr /* changes */
+);
+
+extern XkbKeyTypePtr XkbAddKeyType(
+ XkbDescPtr /* xkb */,
+ Atom /* name */,
+ int /* map_count */,
+ Bool /* want_preserve */,
+ int /* num_lvls */
+);
+
+extern Status XkbInitCanonicalKeyTypes(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ int /* keypadVMod */
+);
+
+extern int XkbKeyTypesForCoreSymbols(
+ XkbDescPtr /* xkb */,
+ int /* map_width */,
+ KeySym * /* core_syms */,
+ unsigned int /* protected */,
+ int * /* types_inout */,
+ KeySym * /* xkb_syms_rtrn */
+);
+
+extern Bool XkbApplyCompatMapToKey(
+ XkbDescPtr /* xkb */,
+ KeyCode /* key */,
+ XkbChangesPtr /* changes */
+);
+
+extern Bool XkbUpdateMapFromCore(
+ XkbDescPtr /* xkb */,
+ KeyCode /* first_key */,
+ int /* num_keys */,
+ int /* map_width */,
+ KeySym * /* core_keysyms */,
+ XkbChangesPtr /* changes */
+);
+
+extern void XkbFreeControls(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ Bool /* freeMap */
+);
+
+extern void XkbFreeIndicatorMaps(
+ XkbDescPtr /* xkb */
+);
+
+extern Bool XkbApplyVirtualModChanges(
+ XkbDescPtr /* xkb */,
+ unsigned int /* changed */,
+ XkbChangesPtr /* changes */
+);
+
+extern Bool XkbUpdateActionVirtualMods(
+ XkbDescPtr /* xkb */,
+ XkbAction * /* act */,
+ unsigned int /* changed */
+);
+
+extern void XkbUpdateKeyTypeVirtualMods(
+ XkbDescPtr /* xkb */,
+ XkbKeyTypePtr /* type */,
+ unsigned int /* changed */,
+ XkbChangesPtr /* changes */
+);
+
+extern void XkbSendNewKeyboardNotify(
+ DeviceIntPtr /* kbd */,
+ xkbNewKeyboardNotify * /* pNKN */
+);
+
+#ifdef XKBSRV_NEED_FILE_FUNCS
+
+#include <X11/extensions/XKMformat.h>
+#include <X11/extensions/XKBfile.h>
+#include <X11/extensions/XKBrules.h>
+
+#define _XkbListKeymaps 0
+#define _XkbListKeycodes 1
+#define _XkbListTypes 2
+#define _XkbListCompat 3
+#define _XkbListSymbols 4
+#define _XkbListGeometry 5
+#define _XkbListNumComponents 6
+
+typedef struct _XkbSrvListInfo {
+ int szPool;
+ int nPool;
+ char * pool;
+
+ int maxRtrn;
+ int nTotal;
+
+ char * pattern[_XkbListNumComponents];
+ int nFound[_XkbListNumComponents];
+} XkbSrvListInfoRec,*XkbSrvListInfoPtr;
+
+char *
+XkbGetRulesDflts(
+ XkbRF_VarDefsPtr /* defs */
+);
+
+extern void XkbSetRulesUsed(
+ XkbRF_VarDefsPtr /* defs */
+);
+
+
+extern Status XkbDDXList(
+ DeviceIntPtr /* dev */,
+ XkbSrvListInfoPtr /* listing */,
+ ClientPtr /* client */
+);
+
+extern unsigned int XkbDDXLoadKeymapByNames(
+ DeviceIntPtr /* keybd */,
+ XkbComponentNamesPtr /* names */,
+ unsigned int /* want */,
+ unsigned int /* need */,
+ XkbFileInfoPtr /* finfoRtrn */,
+ char * /* keymapNameRtrn */,
+ int /* keymapNameRtrnLen */
+);
+
+extern Bool XkbDDXNamesFromRules(
+ DeviceIntPtr /* keybd */,
+ char * /* rules */,
+ XkbRF_VarDefsPtr /* defs */,
+ XkbComponentNamesPtr /* names */
+);
+
+extern FILE *XkbDDXOpenConfigFile(
+ char * /* mapName */,
+ char * /* fileNameRtrn */,
+ int /* fileNameRtrnLen */
+);
+
+extern Bool XkbDDXApplyConfig(
+ XPointer /* cfg_in */,
+ XkbSrvInfoPtr /* xkbi */
+);
+
+extern XPointer XkbDDXPreloadConfig(
+ char ** /* rulesFileRtrn */,
+ XkbRF_VarDefsPtr /* defs */,
+ XkbComponentNamesPtr /* names */,
+ DeviceIntPtr /* dev */
+);
+
+extern int _XkbStrCaseCmp(
+ char * /* str1 */,
+ char * /* str2 */
+);
+
+#endif /* XKBSRV_NEED_FILE_FUNCS */
+
+
+_XFUNCPROTOEND
+
+#define XkbAtomGetString(d,s) NameForAtom(s)
+
+#endif /* _XKBSRV_H_ */
+
+
diff --git a/stream-servers/apigen-codec-common/X11/extensions/XKBstr.h b/stream-servers/apigen-codec-common/X11/extensions/XKBstr.h
new file mode 100644
index 0000000..e519e65
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/XKBstr.h
@@ -0,0 +1,613 @@
+/************************************************************
+Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc.
+
+Permission to use, copy, modify, and distribute this
+software and its documentation for any purpose and without
+fee is hereby granted, provided that the above copyright
+notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting
+documentation, and that the name of Silicon Graphics not be
+used in advertising or publicity pertaining to distribution
+of the software without specific prior written permission.
+Silicon Graphics makes no representation about the suitability
+of this software for any purpose. It is provided "as is"
+without any express or implied warranty.
+
+SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
+DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
+THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+********************************************************/
+
+#ifndef _XKBSTR_H_
+#define _XKBSTR_H_
+
+#include <X11/extensions/XKB.h>
+
+#define XkbCharToInt(v) ((v)&0x80?(int)((v)|(~0xff)):(int)((v)&0x7f))
+#define XkbIntTo2Chars(i,h,l) (((h)=((i>>8)&0xff)),((l)=((i)&0xff)))
+
+#if defined(WORD64) && defined(UNSIGNEDBITFIELDS)
+#define Xkb2CharsToInt(h,l) ((h)&0x80?(int)(((h)<<8)|(l)|(~0xffff)):\
+ (int)(((h)<<8)|(l)&0x7fff))
+#else
+#define Xkb2CharsToInt(h,l) ((short)(((h)<<8)|(l)))
+#endif
+
+ /*
+ * Common data structures and access macros
+ */
+
+typedef struct _XkbStateRec {
+ unsigned char group;
+ unsigned char locked_group;
+ unsigned short base_group;
+ unsigned short latched_group;
+ unsigned char mods;
+ unsigned char base_mods;
+ unsigned char latched_mods;
+ unsigned char locked_mods;
+ unsigned char compat_state;
+ unsigned char grab_mods;
+ unsigned char compat_grab_mods;
+ unsigned char lookup_mods;
+ unsigned char compat_lookup_mods;
+ unsigned short ptr_buttons;
+} XkbStateRec,*XkbStatePtr;
+#define XkbModLocks(s) ((s)->locked_mods)
+#define XkbStateMods(s) ((s)->base_mods|(s)->latched_mods|XkbModLocks(s))
+#define XkbGroupLock(s) ((s)->locked_group)
+#define XkbStateGroup(s) ((s)->base_group+(s)->latched_group+XkbGroupLock(s))
+#define XkbStateFieldFromRec(s) XkbBuildCoreState((s)->lookup_mods,(s)->group)
+#define XkbGrabStateFromRec(s) XkbBuildCoreState((s)->grab_mods,(s)->group)
+
+typedef struct _XkbMods {
+ unsigned char mask; /* effective mods */
+ unsigned char real_mods;
+ unsigned short vmods;
+} XkbModsRec,*XkbModsPtr;
+
+typedef struct _XkbKTMapEntry {
+ Bool active;
+ unsigned char level;
+ XkbModsRec mods;
+} XkbKTMapEntryRec,*XkbKTMapEntryPtr;
+
+typedef struct _XkbKeyType {
+ XkbModsRec mods;
+ unsigned char num_levels;
+ unsigned char map_count;
+ XkbKTMapEntryPtr map;
+ XkbModsPtr preserve;
+ Atom name;
+ Atom * level_names;
+} XkbKeyTypeRec, *XkbKeyTypePtr;
+
+#define XkbNumGroups(g) ((g)&0x0f)
+#define XkbOutOfRangeGroupInfo(g) ((g)&0xf0)
+#define XkbOutOfRangeGroupAction(g) ((g)&0xc0)
+#define XkbOutOfRangeGroupNumber(g) (((g)&0x30)>>4)
+#define XkbSetGroupInfo(g,w,n) (((w)&0xc0)|(((n)&3)<<4)|((g)&0x0f))
+#define XkbSetNumGroups(g,n) (((g)&0xf0)|((n)&0x0f))
+
+ /*
+ * Structures and access macros used primarily by the server
+ */
+
+typedef struct _XkbBehavior {
+ unsigned char type;
+ unsigned char data;
+} XkbBehavior;
+
+#define XkbAnyActionDataSize 7
+typedef struct _XkbAnyAction {
+ unsigned char type;
+ unsigned char data[XkbAnyActionDataSize];
+} XkbAnyAction;
+
+typedef struct _XkbModAction {
+ unsigned char type;
+ unsigned char flags;
+ unsigned char mask;
+ unsigned char real_mods;
+ unsigned char vmods1;
+ unsigned char vmods2;
+} XkbModAction;
+#define XkbModActionVMods(a) \
+ ((short)(((a)->vmods1<<8)|((a)->vmods2)))
+#define XkbSetModActionVMods(a,v) \
+ (((a)->vmods1=(((v)>>8)&0xff)),(a)->vmods2=((v)&0xff))
+
+typedef struct _XkbGroupAction {
+ unsigned char type;
+ unsigned char flags;
+ char group_XXX;
+} XkbGroupAction;
+#define XkbSAGroup(a) (XkbCharToInt((a)->group_XXX))
+#define XkbSASetGroup(a,g) ((a)->group_XXX=(g))
+
+typedef struct _XkbISOAction {
+ unsigned char type;
+ unsigned char flags;
+ unsigned char mask;
+ unsigned char real_mods;
+ char group_XXX;
+ unsigned char affect;
+ unsigned char vmods1;
+ unsigned char vmods2;
+} XkbISOAction;
+
+typedef struct _XkbPtrAction {
+ unsigned char type;
+ unsigned char flags;
+ unsigned char high_XXX;
+ unsigned char low_XXX;
+ unsigned char high_YYY;
+ unsigned char low_YYY;
+} XkbPtrAction;
+#define XkbPtrActionX(a) (Xkb2CharsToInt((a)->high_XXX,(a)->low_XXX))
+#define XkbPtrActionY(a) (Xkb2CharsToInt((a)->high_YYY,(a)->low_YYY))
+#define XkbSetPtrActionX(a,x) (XkbIntTo2Chars(x,(a)->high_XXX,(a)->low_XXX))
+#define XkbSetPtrActionY(a,y) (XkbIntTo2Chars(y,(a)->high_YYY,(a)->low_YYY))
+
+typedef struct _XkbPtrBtnAction {
+ unsigned char type;
+ unsigned char flags;
+ unsigned char count;
+ unsigned char button;
+} XkbPtrBtnAction;
+
+typedef struct _XkbPtrDfltAction {
+ unsigned char type;
+ unsigned char flags;
+ unsigned char affect;
+ char valueXXX;
+} XkbPtrDfltAction;
+#define XkbSAPtrDfltValue(a) (XkbCharToInt((a)->valueXXX))
+#define XkbSASetPtrDfltValue(a,c) ((a)->valueXXX= ((c)&0xff))
+
+typedef struct _XkbSwitchScreenAction {
+ unsigned char type;
+ unsigned char flags;
+ char screenXXX;
+} XkbSwitchScreenAction;
+#define XkbSAScreen(a) (XkbCharToInt((a)->screenXXX))
+#define XkbSASetScreen(a,s) ((a)->screenXXX= ((s)&0xff))
+
+typedef struct _XkbCtrlsAction {
+ unsigned char type;
+ unsigned char flags;
+ unsigned char ctrls3;
+ unsigned char ctrls2;
+ unsigned char ctrls1;
+ unsigned char ctrls0;
+} XkbCtrlsAction;
+#define XkbActionSetCtrls(a,c) (((a)->ctrls3=(((c)>>24)&0xff)),\
+ ((a)->ctrls2=(((c)>>16)&0xff)),\
+ ((a)->ctrls1=(((c)>>8)&0xff)),\
+ ((a)->ctrls0=((c)&0xff)))
+#define XkbActionCtrls(a) ((((unsigned int)(a)->ctrls3)<<24)|\
+ (((unsigned int)(a)->ctrls2)<<16)|\
+ (((unsigned int)(a)->ctrls1)<<8)|\
+ ((unsigned int)((a)->ctrls0)))
+
+typedef struct _XkbMessageAction {
+ unsigned char type;
+ unsigned char flags;
+ unsigned char message[6];
+} XkbMessageAction;
+
+typedef struct _XkbRedirectKeyAction {
+ unsigned char type;
+ unsigned char new_key;
+ unsigned char mods_mask;
+ unsigned char mods;
+ unsigned char vmods_mask0;
+ unsigned char vmods_mask1;
+ unsigned char vmods0;
+ unsigned char vmods1;
+} XkbRedirectKeyAction;
+
+#define XkbSARedirectVMods(a) ((((unsigned int)(a)->vmods1)<<8)|\
+ ((unsigned int)(a)->vmods0))
+#define XkbSARedirectSetVMods(a,m) (((a)->vmods_mask1=(((m)>>8)&0xff)),\
+ ((a)->vmods_mask0=((m)&0xff)))
+#define XkbSARedirectVModsMask(a) ((((unsigned int)(a)->vmods_mask1)<<8)|\
+ ((unsigned int)(a)->vmods_mask0))
+#define XkbSARedirectSetVModsMask(a,m) (((a)->vmods_mask1=(((m)>>8)&0xff)),\
+ ((a)->vmods_mask0=((m)&0xff)))
+
+typedef struct _XkbDeviceBtnAction {
+ unsigned char type;
+ unsigned char flags;
+ unsigned char count;
+ unsigned char button;
+ unsigned char device;
+} XkbDeviceBtnAction;
+
+typedef struct _XkbDeviceValuatorAction {
+ unsigned char type;
+ unsigned char device;
+ unsigned char v1_what;
+ unsigned char v1_ndx;
+ unsigned char v1_value;
+ unsigned char v2_what;
+ unsigned char v2_ndx;
+ unsigned char v2_value;
+} XkbDeviceValuatorAction;
+
+typedef union _XkbAction {
+ XkbAnyAction any;
+ XkbModAction mods;
+ XkbGroupAction group;
+ XkbISOAction iso;
+ XkbPtrAction ptr;
+ XkbPtrBtnAction btn;
+ XkbPtrDfltAction dflt;
+ XkbSwitchScreenAction screen;
+ XkbCtrlsAction ctrls;
+ XkbMessageAction msg;
+ XkbRedirectKeyAction redirect;
+ XkbDeviceBtnAction devbtn;
+ XkbDeviceValuatorAction devval;
+ unsigned char type;
+} XkbAction;
+
+typedef struct _XkbControls {
+ unsigned char mk_dflt_btn;
+ unsigned char num_groups;
+ unsigned char groups_wrap;
+ XkbModsRec internal;
+ XkbModsRec ignore_lock;
+ unsigned int enabled_ctrls;
+ unsigned short repeat_delay;
+ unsigned short repeat_interval;
+ unsigned short slow_keys_delay;
+ unsigned short debounce_delay;
+ unsigned short mk_delay;
+ unsigned short mk_interval;
+ unsigned short mk_time_to_max;
+ unsigned short mk_max_speed;
+ short mk_curve;
+ unsigned short ax_options;
+ unsigned short ax_timeout;
+ unsigned short axt_opts_mask;
+ unsigned short axt_opts_values;
+ unsigned int axt_ctrls_mask;
+ unsigned int axt_ctrls_values;
+ unsigned char per_key_repeat[XkbPerKeyBitArraySize];
+} XkbControlsRec, *XkbControlsPtr;
+
+#define XkbAX_AnyFeedback(c) ((c)->enabled_ctrls&XkbAccessXFeedbackMask)
+#define XkbAX_NeedOption(c,w) ((c)->ax_options&(w))
+#define XkbAX_NeedFeedback(c,w) (XkbAX_AnyFeedback(c)&&XkbAX_NeedOption(c,w))
+
+typedef struct _XkbServerMapRec {
+ unsigned short num_acts;
+ unsigned short size_acts;
+ XkbAction *acts;
+
+ XkbBehavior *behaviors;
+ unsigned short *key_acts;
+#if defined(__cplusplus) || defined(c_plusplus)
+ /* explicit is a C++ reserved word */
+ unsigned char *c_explicit;
+#else
+ unsigned char *explicit;
+#endif
+ unsigned char vmods[XkbNumVirtualMods];
+ unsigned short *vmodmap;
+} XkbServerMapRec, *XkbServerMapPtr;
+
+#define XkbSMKeyActionsPtr(m,k) (&(m)->acts[(m)->key_acts[k]])
+
+ /*
+ * Structures and access macros used primarily by clients
+ */
+
+typedef struct _XkbSymMapRec {
+ unsigned char kt_index[XkbNumKbdGroups];
+ unsigned char group_info;
+ unsigned char width;
+ unsigned short offset;
+} XkbSymMapRec, *XkbSymMapPtr;
+
+typedef struct _XkbClientMapRec {
+ unsigned char size_types;
+ unsigned char num_types;
+ XkbKeyTypePtr types;
+
+ unsigned short size_syms;
+ unsigned short num_syms;
+ KeySym *syms;
+ XkbSymMapPtr key_sym_map;
+
+ unsigned char *modmap;
+} XkbClientMapRec, *XkbClientMapPtr;
+
+#define XkbCMKeyGroupInfo(m,k) ((m)->key_sym_map[k].group_info)
+#define XkbCMKeyNumGroups(m,k) (XkbNumGroups((m)->key_sym_map[k].group_info))
+#define XkbCMKeyGroupWidth(m,k,g) (XkbCMKeyType(m,k,g)->num_levels)
+#define XkbCMKeyGroupsWidth(m,k) ((m)->key_sym_map[k].width)
+#define XkbCMKeyTypeIndex(m,k,g) ((m)->key_sym_map[k].kt_index[g&0x3])
+#define XkbCMKeyType(m,k,g) (&(m)->types[XkbCMKeyTypeIndex(m,k,g)])
+#define XkbCMKeyNumSyms(m,k) (XkbCMKeyGroupsWidth(m,k)*XkbCMKeyNumGroups(m,k))
+#define XkbCMKeySymsOffset(m,k) ((m)->key_sym_map[k].offset)
+#define XkbCMKeySymsPtr(m,k) (&(m)->syms[XkbCMKeySymsOffset(m,k)])
+
+ /*
+ * Compatibility structures and access macros
+ */
+
+typedef struct _XkbSymInterpretRec {
+ KeySym sym;
+ unsigned char flags;
+ unsigned char match;
+ unsigned char mods;
+ unsigned char virtual_mod;
+ XkbAnyAction act;
+} XkbSymInterpretRec,*XkbSymInterpretPtr;
+
+typedef struct _XkbCompatMapRec {
+ XkbSymInterpretPtr sym_interpret;
+ XkbModsRec groups[XkbNumKbdGroups];
+ unsigned short num_si;
+ unsigned short size_si;
+} XkbCompatMapRec, *XkbCompatMapPtr;
+
+typedef struct _XkbIndicatorMapRec {
+ unsigned char flags;
+ unsigned char which_groups;
+ unsigned char groups;
+ unsigned char which_mods;
+ XkbModsRec mods;
+ unsigned int ctrls;
+} XkbIndicatorMapRec, *XkbIndicatorMapPtr;
+
+#define XkbIM_IsAuto(i) ((((i)->flags&XkbIM_NoAutomatic)==0)&&\
+ (((i)->which_groups&&(i)->groups)||\
+ ((i)->which_mods&&(i)->mods.mask)||\
+ ((i)->ctrls)))
+#define XkbIM_InUse(i) (((i)->flags)||((i)->which_groups)||\
+ ((i)->which_mods)||((i)->ctrls))
+
+
+typedef struct _XkbIndicatorRec {
+ unsigned long phys_indicators;
+ XkbIndicatorMapRec maps[XkbNumIndicators];
+} XkbIndicatorRec,*XkbIndicatorPtr;
+
+typedef struct _XkbKeyNameRec {
+ char name[XkbKeyNameLength];
+} XkbKeyNameRec,*XkbKeyNamePtr;
+
+typedef struct _XkbKeyAliasRec {
+ char real[XkbKeyNameLength];
+ char alias[XkbKeyNameLength];
+} XkbKeyAliasRec,*XkbKeyAliasPtr;
+
+ /*
+ * Names for everything
+ */
+typedef struct _XkbNamesRec {
+ Atom keycodes;
+ Atom geometry;
+ Atom symbols;
+ Atom types;
+ Atom compat;
+ Atom vmods[XkbNumVirtualMods];
+ Atom indicators[XkbNumIndicators];
+ Atom groups[XkbNumKbdGroups];
+ XkbKeyNamePtr keys;
+ XkbKeyAliasPtr key_aliases;
+ Atom *radio_groups;
+ Atom phys_symbols;
+
+ unsigned char num_keys;
+ unsigned char num_key_aliases;
+ unsigned short num_rg;
+} XkbNamesRec,*XkbNamesPtr;
+
+typedef struct _XkbGeometry *XkbGeometryPtr;
+ /*
+ * Tie it all together into one big keyboard description
+ */
+typedef struct _XkbDesc {
+ struct _XDisplay * dpy;
+ unsigned short flags;
+ unsigned short device_spec;
+ KeyCode min_key_code;
+ KeyCode max_key_code;
+
+ XkbControlsPtr ctrls;
+ XkbServerMapPtr server;
+ XkbClientMapPtr map;
+ XkbIndicatorPtr indicators;
+ XkbNamesPtr names;
+ XkbCompatMapPtr compat;
+ XkbGeometryPtr geom;
+} XkbDescRec, *XkbDescPtr;
+#define XkbKeyKeyTypeIndex(d,k,g) (XkbCMKeyTypeIndex((d)->map,k,g))
+#define XkbKeyKeyType(d,k,g) (XkbCMKeyType((d)->map,k,g))
+#define XkbKeyGroupWidth(d,k,g) (XkbCMKeyGroupWidth((d)->map,k,g))
+#define XkbKeyGroupsWidth(d,k) (XkbCMKeyGroupsWidth((d)->map,k))
+#define XkbKeyGroupInfo(d,k) (XkbCMKeyGroupInfo((d)->map,(k)))
+#define XkbKeyNumGroups(d,k) (XkbCMKeyNumGroups((d)->map,(k)))
+#define XkbKeyNumSyms(d,k) (XkbCMKeyNumSyms((d)->map,(k)))
+#define XkbKeySymsPtr(d,k) (XkbCMKeySymsPtr((d)->map,(k)))
+#define XkbKeySym(d,k,n) (XkbKeySymsPtr(d,k)[n])
+#define XkbKeySymEntry(d,k,sl,g) \
+ (XkbKeySym(d,k,((XkbKeyGroupsWidth(d,k)*(g))+(sl))))
+#define XkbKeyAction(d,k,n) \
+ (XkbKeyHasActions(d,k)?&XkbKeyActionsPtr(d,k)[n]:NULL)
+#define XkbKeyActionEntry(d,k,sl,g) \
+ (XkbKeyHasActions(d,k)?\
+ XkbKeyAction(d,k,((XkbKeyGroupsWidth(d,k)*(g))+(sl))):NULL)
+
+#define XkbKeyHasActions(d,k) ((d)->server->key_acts[k]!=0)
+#define XkbKeyNumActions(d,k) (XkbKeyHasActions(d,k)?XkbKeyNumSyms(d,k):1)
+#define XkbKeyActionsPtr(d,k) (XkbSMKeyActionsPtr((d)->server,k))
+#define XkbKeycodeInRange(d,k) (((k)>=(d)->min_key_code)&&\
+ ((k)<=(d)->max_key_code))
+#define XkbNumKeys(d) ((d)->max_key_code-(d)->min_key_code+1)
+
+
+ /*
+ * The following structures can be used to track changes
+ * to a keyboard device
+ */
+typedef struct _XkbMapChanges {
+ unsigned short changed;
+ KeyCode min_key_code;
+ KeyCode max_key_code;
+ unsigned char first_type;
+ unsigned char num_types;
+ KeyCode first_key_sym;
+ unsigned char num_key_syms;
+ KeyCode first_key_act;
+ unsigned char num_key_acts;
+ KeyCode first_key_behavior;
+ unsigned char num_key_behaviors;
+ KeyCode first_key_explicit;
+ unsigned char num_key_explicit;
+ KeyCode first_modmap_key;
+ unsigned char num_modmap_keys;
+ KeyCode first_vmodmap_key;
+ unsigned char num_vmodmap_keys;
+ unsigned char pad;
+ unsigned short vmods;
+} XkbMapChangesRec,*XkbMapChangesPtr;
+
+typedef struct _XkbControlsChanges {
+ unsigned int changed_ctrls;
+ unsigned int enabled_ctrls_changes;
+ Bool num_groups_changed;
+} XkbControlsChangesRec,*XkbControlsChangesPtr;
+
+typedef struct _XkbIndicatorChanges {
+ unsigned int state_changes;
+ unsigned int map_changes;
+} XkbIndicatorChangesRec,*XkbIndicatorChangesPtr;
+
+typedef struct _XkbNameChanges {
+ unsigned int changed;
+ unsigned char first_type;
+ unsigned char num_types;
+ unsigned char first_lvl;
+ unsigned char num_lvls;
+ unsigned char num_aliases;
+ unsigned char num_rg;
+ unsigned char first_key;
+ unsigned char num_keys;
+ unsigned short changed_vmods;
+ unsigned long changed_indicators;
+ unsigned char changed_groups;
+} XkbNameChangesRec,*XkbNameChangesPtr;
+
+typedef struct _XkbCompatChanges {
+ unsigned char changed_groups;
+ unsigned short first_si;
+ unsigned short num_si;
+} XkbCompatChangesRec,*XkbCompatChangesPtr;
+
+typedef struct _XkbChanges {
+ unsigned short device_spec;
+ unsigned short state_changes;
+ XkbMapChangesRec map;
+ XkbControlsChangesRec ctrls;
+ XkbIndicatorChangesRec indicators;
+ XkbNameChangesRec names;
+ XkbCompatChangesRec compat;
+} XkbChangesRec, *XkbChangesPtr;
+
+ /*
+ * These data structures are used to construct a keymap from
+ * a set of components or to list components in the server
+ * database.
+ */
+typedef struct _XkbComponentNames {
+ char * keymap;
+ char * keycodes;
+ char * types;
+ char * compat;
+ char * symbols;
+ char * geometry;
+} XkbComponentNamesRec, *XkbComponentNamesPtr;
+
+typedef struct _XkbComponentName {
+ unsigned short flags;
+ char * name;
+} XkbComponentNameRec,*XkbComponentNamePtr;
+
+typedef struct _XkbComponentList {
+ int num_keymaps;
+ int num_keycodes;
+ int num_types;
+ int num_compat;
+ int num_symbols;
+ int num_geometry;
+ XkbComponentNamePtr keymaps;
+ XkbComponentNamePtr keycodes;
+ XkbComponentNamePtr types;
+ XkbComponentNamePtr compat;
+ XkbComponentNamePtr symbols;
+ XkbComponentNamePtr geometry;
+} XkbComponentListRec, *XkbComponentListPtr;
+
+ /*
+ * The following data structures describe and track changes to a
+ * non-keyboard extension device
+ */
+typedef struct _XkbDeviceLedInfo {
+ unsigned short led_class;
+ unsigned short led_id;
+ unsigned int phys_indicators;
+ unsigned int maps_present;
+ unsigned int names_present;
+ unsigned int state;
+ Atom names[XkbNumIndicators];
+ XkbIndicatorMapRec maps[XkbNumIndicators];
+} XkbDeviceLedInfoRec,*XkbDeviceLedInfoPtr;
+
+typedef struct _XkbDeviceInfo {
+ char * name;
+ Atom type;
+ unsigned short device_spec;
+ Bool has_own_state;
+ unsigned short supported;
+ unsigned short unsupported;
+
+ unsigned short num_btns;
+ XkbAction * btn_acts;
+
+ unsigned short sz_leds;
+ unsigned short num_leds;
+ unsigned short dflt_kbd_fb;
+ unsigned short dflt_led_fb;
+ XkbDeviceLedInfoPtr leds;
+} XkbDeviceInfoRec,*XkbDeviceInfoPtr;
+
+#define XkbXI_DevHasBtnActs(d) (((d)->num_btns>0)&&((d)->btn_acts!=NULL))
+#define XkbXI_LegalDevBtn(d,b) (XkbXI_DevHasBtnActs(d)&&((b)<(d)->num_btns))
+#define XkbXI_DevHasLeds(d) (((d)->num_leds>0)&&((d)->leds!=NULL))
+
+typedef struct _XkbDeviceLedChanges {
+ unsigned short led_class;
+ unsigned short led_id;
+ unsigned int defined; /* names or maps changed */
+ struct _XkbDeviceLedChanges *next;
+} XkbDeviceLedChangesRec,*XkbDeviceLedChangesPtr;
+
+typedef struct _XkbDeviceChanges {
+ unsigned int changed;
+ unsigned short first_btn;
+ unsigned short num_btns;
+ XkbDeviceLedChangesRec leds;
+} XkbDeviceChangesRec,*XkbDeviceChangesPtr;
+
+#endif /* _XKBSTR_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/extensions/XLbx.h b/stream-servers/apigen-codec-common/X11/extensions/XLbx.h
new file mode 100644
index 0000000..1af4f9c
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/XLbx.h
@@ -0,0 +1,50 @@
+/*
+ * Copyright 1992 Network Computing Devices
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of NCD. not be used in advertising or
+ * publicity pertaining to distribution of the software without specific,
+ * written prior permission. NCD. makes no representations about the
+ * suitability of this software for any purpose. It is provided "as is"
+ * without express or implied warranty.
+ *
+ * NCD. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL NCD.
+ * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ */
+
+#ifndef _XLBX_H_
+#define _XLBX_H_
+
+#include <X11/Xfuncproto.h>
+#include <X11/Xdefs.h>
+#include <X11/Xlib.h>
+#include <X11/extensions/lbx.h>
+
+_XFUNCPROTOBEGIN
+
+Bool XLbxQueryExtension(
+ Display* /* dpy */,
+ int* /* requestp */,
+ int* /* event_basep */,
+ int* /* error_basep */
+);
+
+Bool XLbxQueryVersion(
+ Display* /* dpy */,
+ int* /* majorVersion */,
+ int* /* minorVersion */
+);
+
+int XLbxGetEventBase(Display *dpy);
+
+_XFUNCPROTOEND
+
+#endif
diff --git a/stream-servers/apigen-codec-common/X11/extensions/XShm.h b/stream-servers/apigen-codec-common/X11/extensions/XShm.h
new file mode 100644
index 0000000..23f0651
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/XShm.h
@@ -0,0 +1,135 @@
+/************************************************************
+
+Copyright 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+********************************************************/
+
+/* THIS IS NOT AN X CONSORTIUM STANDARD OR AN X PROJECT TEAM SPECIFICATION */
+
+#ifndef _XSHM_H_
+#define _XSHM_H_
+
+#include <X11/Xfuncproto.h>
+#include <X11/extensions/shm.h>
+
+#ifndef _XSHM_SERVER_
+typedef unsigned long ShmSeg;
+
+typedef struct {
+ int type; /* of event */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came frome a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Drawable drawable; /* drawable of request */
+ int major_code; /* ShmReqCode */
+ int minor_code; /* X_ShmPutImage */
+ ShmSeg shmseg; /* the ShmSeg used in the request */
+ unsigned long offset; /* the offset into ShmSeg used in the request */
+} XShmCompletionEvent;
+
+typedef struct {
+ ShmSeg shmseg; /* resource id */
+ int shmid; /* kernel id */
+ char *shmaddr; /* address in client */
+ Bool readOnly; /* how the server should attach it */
+} XShmSegmentInfo;
+
+_XFUNCPROTOBEGIN
+
+Bool XShmQueryExtension(
+ Display* /* dpy */
+);
+
+int XShmGetEventBase(
+ Display* /* dpy */
+);
+
+Bool XShmQueryVersion(
+ Display* /* dpy */,
+ int* /* majorVersion */,
+ int* /* minorVersion */,
+ Bool* /* sharedPixmaps */
+);
+
+int XShmPixmapFormat(
+ Display* /* dpy */
+);
+
+Bool XShmAttach(
+ Display* /* dpy */,
+ XShmSegmentInfo* /* shminfo */
+);
+
+Bool XShmDetach(
+ Display* /* dpy */,
+ XShmSegmentInfo* /* shminfo */
+);
+
+Bool XShmPutImage(
+ Display* /* dpy */,
+ Drawable /* d */,
+ GC /* gc */,
+ XImage* /* image */,
+ int /* src_x */,
+ int /* src_y */,
+ int /* dst_x */,
+ int /* dst_y */,
+ unsigned int /* src_width */,
+ unsigned int /* src_height */,
+ Bool /* send_event */
+);
+
+Bool XShmGetImage(
+ Display* /* dpy */,
+ Drawable /* d */,
+ XImage* /* image */,
+ int /* x */,
+ int /* y */,
+ unsigned long /* plane_mask */
+);
+
+XImage *XShmCreateImage(
+ Display* /* dpy */,
+ Visual* /* visual */,
+ unsigned int /* depth */,
+ int /* format */,
+ char* /* data */,
+ XShmSegmentInfo* /* shminfo */,
+ unsigned int /* width */,
+ unsigned int /* height */
+);
+
+Pixmap XShmCreatePixmap(
+ Display* /* dpy */,
+ Drawable /* d */,
+ char* /* data */,
+ XShmSegmentInfo* /* shminfo */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned int /* depth */
+);
+
+_XFUNCPROTOEND
+#endif /* _XSHM_SERVER_ */
+
+#endif
diff --git a/stream-servers/apigen-codec-common/X11/extensions/Xag.h b/stream-servers/apigen-codec-common/X11/extensions/Xag.h
new file mode 100644
index 0000000..9f69f78
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/Xag.h
@@ -0,0 +1,90 @@
+/*
+Copyright 1996, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+*/
+
+#ifndef _XAG_H_
+#define _XAG_H_
+
+#include <X11/extensions/ag.h>
+#include <X11/Xfuncproto.h>
+
+#include <stdarg.h>
+
+_XFUNCPROTOBEGIN
+
+typedef XID XAppGroup;
+
+Bool XagQueryVersion(
+ Display* /* dpy */,
+ int* /* major_version */,
+ int* /* minor_version */
+);
+
+Status XagCreateEmbeddedApplicationGroup(
+ Display* /* dpy */,
+ VisualID /* root_visual */,
+ Colormap /* default_colormap */,
+ unsigned long /* black_pixel */,
+ unsigned long /* white_pixel */,
+ XAppGroup* /* app_group_return */
+);
+
+Status XagCreateNonembeddedApplicationGroup(
+ Display* /* dpy */,
+ XAppGroup* /* app_group_return */
+);
+
+Status XagDestroyApplicationGroup(
+ Display* /* dpy */,
+ XAppGroup /* app_group */
+);
+
+Status XagGetApplicationGroupAttributes(
+ Display* /* dpy */,
+ XAppGroup /* app_group */,
+ ...
+);
+
+Status XagQueryApplicationGroup(
+ Display* /* dpy */,
+ XID /* resource_base */,
+ XAppGroup* /* app_group_ret */
+);
+
+Status XagCreateAssociation(
+ Display* /* dpy */,
+ Window* /* window_ret */,
+ void* /* system_window */
+);
+
+Status XagDestroyAssociation(
+ Display* /* dpy */,
+ Window /* window */
+);
+
+_XFUNCPROTOEND
+
+#endif /* _XAG_H_ */
+
diff --git a/stream-servers/apigen-codec-common/X11/extensions/Xcup.h b/stream-servers/apigen-codec-common/X11/extensions/Xcup.h
new file mode 100644
index 0000000..c8074cf
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/Xcup.h
@@ -0,0 +1,58 @@
+/*
+
+Copyright 1987, 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+
+#ifndef _XCUP_H_
+#define _XCUP_H_
+
+#include <X11/Xfuncproto.h>
+#include <X11/extensions/cup.h>
+
+_XFUNCPROTOBEGIN
+
+Bool XcupQueryVersion(
+ Display* /* dpy */,
+ int* /* major_version */,
+ int* /* minor_version */
+);
+
+Status XcupGetReservedColormapEntries(
+ Display* /* dpy */,
+ int /* screen */,
+ XColor** /* colors_out */,
+ int* /* ncolors */
+);
+
+Status XcupStoreColors(
+ Display* /* dpy */,
+ Colormap /* colormap */,
+ XColor* /* colors */,
+ int /* ncolors */
+);
+
+_XFUNCPROTOEND
+
+#endif /* _XCUP_H_ */
+
diff --git a/stream-servers/apigen-codec-common/X11/extensions/Xdbe.h b/stream-servers/apigen-codec-common/X11/extensions/Xdbe.h
new file mode 100644
index 0000000..5c842a4
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/Xdbe.h
@@ -0,0 +1,138 @@
+/******************************************************************************
+ *
+ * Copyright (c) 1994, 1995 Hewlett-Packard Company
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ * IN NO EVENT SHALL HEWLETT-PACKARD COMPANY BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the name of the Hewlett-Packard
+ * Company shall not be used in advertising or otherwise to promote the
+ * sale, use or other dealings in this Software without prior written
+ * authorization from the Hewlett-Packard Company.
+ *
+ * Header file for Xlib-related DBE
+ *
+ *****************************************************************************/
+
+#ifndef XDBE_H
+#define XDBE_H
+
+#include <X11/Xfuncproto.h>
+#include <X11/extensions/dbe.h>
+
+typedef struct
+{
+ VisualID visual; /* one visual ID that supports double-buffering */
+ int depth; /* depth of visual in bits */
+ int perflevel; /* performance level of visual */
+}
+XdbeVisualInfo;
+
+typedef struct
+{
+ int count; /* number of items in visual_depth */
+ XdbeVisualInfo *visinfo; /* list of visuals & depths for scrn */
+}
+XdbeScreenVisualInfo;
+
+
+typedef Drawable XdbeBackBuffer;
+
+typedef unsigned char XdbeSwapAction;
+
+typedef struct
+{
+ Window swap_window; /* window for which to swap buffers */
+ XdbeSwapAction swap_action; /* swap action to use for swap_window */
+}
+XdbeSwapInfo;
+
+typedef struct
+{
+ Window window; /* window that buffer belongs to */
+}
+XdbeBackBufferAttributes;
+
+typedef struct
+{
+ int type;
+ Display *display; /* display the event was read from */
+ XdbeBackBuffer buffer; /* resource id */
+ unsigned long serial; /* serial number of failed request */
+ unsigned char error_code; /* error base + XdbeBadBuffer */
+ unsigned char request_code; /* major opcode of failed request */
+ unsigned char minor_code; /* minor opcode of failed request */
+}
+XdbeBufferError;
+
+/* _XFUNCPROTOBEGIN and _XFUNCPROTOEND are defined as noops
+ * (for non-C++ builds) in X11/Xfuncproto.h.
+ */
+_XFUNCPROTOBEGIN
+
+extern Status XdbeQueryExtension(
+ Display* /* dpy */,
+ int* /* major_version_return */,
+ int* /* minor_version_return */
+);
+
+extern XdbeBackBuffer XdbeAllocateBackBufferName(
+ Display* /* dpy */,
+ Window /* window */,
+ XdbeSwapAction /* swap_action */
+);
+
+extern Status XdbeDeallocateBackBufferName(
+ Display* /* dpy */,
+ XdbeBackBuffer /* buffer */
+);
+
+extern Status XdbeSwapBuffers(
+ Display* /* dpy */,
+ XdbeSwapInfo* /* swap_info */,
+ int /* num_windows */
+);
+
+extern Status XdbeBeginIdiom(
+ Display* /* dpy */
+);
+
+extern Status XdbeEndIdiom(
+ Display* /* dpy */
+);
+
+extern XdbeScreenVisualInfo *XdbeGetVisualInfo(
+ Display* /* dpy */,
+ Drawable* /* screen_specifiers */,
+ int* /* num_screens */
+);
+
+extern void XdbeFreeVisualInfo(
+ XdbeScreenVisualInfo* /* visual_info */
+);
+
+extern XdbeBackBufferAttributes *XdbeGetBackBufferAttributes(
+ Display* /* dpy */,
+ XdbeBackBuffer /* buffer */
+);
+
+_XFUNCPROTOEND
+
+#endif /* XDBE_H */
+
diff --git a/stream-servers/apigen-codec-common/X11/extensions/Xext.h b/stream-servers/apigen-codec-common/X11/extensions/Xext.h
new file mode 100644
index 0000000..858592b
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/Xext.h
@@ -0,0 +1,53 @@
+/*
+ *
+Copyright 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+ */
+
+#ifndef _XEXT_H_
+#define _XEXT_H_
+
+#include <X11/Xfuncproto.h>
+
+_XFUNCPROTOBEGIN
+
+typedef int (*XextErrorHandler) (
+ Display * /* dpy */,
+ _Xconst char* /* ext_name */,
+ _Xconst char* /* reason */
+);
+
+extern XextErrorHandler XSetExtensionErrorHandler(
+ XextErrorHandler /* handler */
+);
+
+extern int XMissingExtension(
+ Display* /* dpy */,
+ _Xconst char* /* ext_name */
+);
+
+_XFUNCPROTOEND
+
+#define X_EXTENSION_UNKNOWN "unknown"
+#define X_EXTENSION_MISSING "missing"
+
+#endif /* _XEXT_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/extensions/Xfixes.h b/stream-servers/apigen-codec-common/X11/extensions/Xfixes.h
new file mode 100644
index 0000000..0c69ecb
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/Xfixes.h
@@ -0,0 +1,306 @@
+/*
+ * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright 2011 Red Hat, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+/*
+ * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc.
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Keith Packard not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission. Keith Packard makes no
+ * representations about the suitability of this software for any purpose. It
+ * is provided "as is" without express or implied warranty.
+ *
+ * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifndef _XFIXES_H_
+#define _XFIXES_H_
+
+#include <X11/extensions/xfixeswire.h>
+
+#include <X11/Xfuncproto.h>
+#include <X11/Xlib.h>
+
+/*
+ * This revision number also appears in configure.ac, they have
+ * to be manually synchronized
+ */
+#define XFIXES_REVISION 1
+#define XFIXES_VERSION ((XFIXES_MAJOR * 10000) + (XFIXES_MINOR * 100) + (XFIXES_REVISION))
+
+typedef struct {
+ int type; /* event base */
+ unsigned long serial;
+ Bool send_event;
+ Display *display;
+ Window window;
+ int subtype;
+ Window owner;
+ Atom selection;
+ Time timestamp;
+ Time selection_timestamp;
+} XFixesSelectionNotifyEvent;
+
+typedef struct {
+ int type; /* event base */
+ unsigned long serial;
+ Bool send_event;
+ Display *display;
+ Window window;
+ int subtype;
+ unsigned long cursor_serial;
+ Time timestamp;
+ Atom cursor_name;
+} XFixesCursorNotifyEvent;
+
+typedef struct {
+ short x, y;
+ unsigned short width, height;
+ unsigned short xhot, yhot;
+ unsigned long cursor_serial;
+ unsigned long *pixels;
+#if XFIXES_MAJOR >= 2
+ Atom atom; /* Version >= 2 only */
+ const char *name; /* Version >= 2 only */
+#endif
+} XFixesCursorImage;
+
+#if XFIXES_MAJOR >= 2
+/* Version 2 types */
+
+typedef XID XserverRegion;
+
+typedef struct {
+ short x, y;
+ unsigned short width, height;
+ unsigned short xhot, yhot;
+ unsigned long cursor_serial;
+ unsigned long *pixels;
+ Atom atom;
+ const char *name;
+} XFixesCursorImageAndName;
+
+#endif
+
+_XFUNCPROTOBEGIN
+
+Bool XFixesQueryExtension (Display *dpy,
+ int *event_base_return,
+ int *error_base_return);
+Status XFixesQueryVersion (Display *dpy,
+ int *major_version_return,
+ int *minor_version_return);
+
+int XFixesVersion (void);
+
+void
+XFixesChangeSaveSet (Display *dpy,
+ Window win,
+ int mode,
+ int target,
+ int map);
+
+void
+XFixesSelectSelectionInput (Display *dpy,
+ Window win,
+ Atom selection,
+ unsigned long eventMask);
+
+void
+XFixesSelectCursorInput (Display *dpy,
+ Window win,
+ unsigned long eventMask);
+
+XFixesCursorImage *
+XFixesGetCursorImage (Display *dpy);
+
+#if XFIXES_MAJOR >= 2
+/* Version 2 functions */
+
+XserverRegion
+XFixesCreateRegion (Display *dpy, XRectangle *rectangles, int nrectangles);
+
+XserverRegion
+XFixesCreateRegionFromBitmap (Display *dpy, Pixmap bitmap);
+
+XserverRegion
+XFixesCreateRegionFromWindow (Display *dpy, Window window, int kind);
+
+XserverRegion
+XFixesCreateRegionFromGC (Display *dpy, GC gc);
+
+XserverRegion
+XFixesCreateRegionFromPicture (Display *dpy, XID picture);
+
+void
+XFixesDestroyRegion (Display *dpy, XserverRegion region);
+
+void
+XFixesSetRegion (Display *dpy, XserverRegion region,
+ XRectangle *rectangles, int nrectangles);
+
+void
+XFixesCopyRegion (Display *dpy, XserverRegion dst, XserverRegion src);
+
+void
+XFixesUnionRegion (Display *dpy, XserverRegion dst,
+ XserverRegion src1, XserverRegion src2);
+
+void
+XFixesIntersectRegion (Display *dpy, XserverRegion dst,
+ XserverRegion src1, XserverRegion src2);
+
+void
+XFixesSubtractRegion (Display *dpy, XserverRegion dst,
+ XserverRegion src1, XserverRegion src2);
+
+void
+XFixesInvertRegion (Display *dpy, XserverRegion dst,
+ XRectangle *rect, XserverRegion src);
+
+void
+XFixesTranslateRegion (Display *dpy, XserverRegion region, int dx, int dy);
+
+void
+XFixesRegionExtents (Display *dpy, XserverRegion dst, XserverRegion src);
+
+XRectangle *
+XFixesFetchRegion (Display *dpy, XserverRegion region, int *nrectanglesRet);
+
+XRectangle *
+XFixesFetchRegionAndBounds (Display *dpy, XserverRegion region,
+ int *nrectanglesRet,
+ XRectangle *bounds);
+
+void
+XFixesSetGCClipRegion (Display *dpy, GC gc,
+ int clip_x_origin, int clip_y_origin,
+ XserverRegion region);
+
+void
+XFixesSetWindowShapeRegion (Display *dpy, Window win, int shape_kind,
+ int x_off, int y_off, XserverRegion region);
+
+void
+XFixesSetPictureClipRegion (Display *dpy, XID picture,
+ int clip_x_origin, int clip_y_origin,
+ XserverRegion region);
+
+void
+XFixesSetCursorName (Display *dpy, Cursor cursor, const char *name);
+
+const char *
+XFixesGetCursorName (Display *dpy, Cursor cursor, Atom *atom);
+
+void
+XFixesChangeCursor (Display *dpy, Cursor source, Cursor destination);
+
+void
+XFixesChangeCursorByName (Display *dpy, Cursor source, const char *name);
+
+#endif /* XFIXES_MAJOR >= 2 */
+
+#if XFIXES_MAJOR >= 3
+
+void
+XFixesExpandRegion (Display *dpy, XserverRegion dst, XserverRegion src,
+ unsigned left, unsigned right,
+ unsigned top, unsigned bottom);
+
+#endif /* XFIXES_MAJOR >= 3 */
+
+#if XFIXES_MAJOR >= 4
+/* Version 4.0 externs */
+
+void
+XFixesHideCursor (Display *dpy, Window win);
+
+void
+XFixesShowCursor (Display *dpy, Window win);
+
+#endif /* XFIXES_MAJOR >= 4 */
+
+#if XFIXES_MAJOR >= 5
+
+typedef XID PointerBarrier;
+
+PointerBarrier
+XFixesCreatePointerBarrier(Display *dpy, Window w, int x1, int y1,
+ int x2, int y2, int directions,
+ int num_devices, int *devices);
+
+PointerBarrier
+XFixesCreatePointerBarrierVelocity(Display *dpy, Window w, int x1, int y1,
+ int x2, int y2, int directions, int velocity,
+ int num_devices, int *devices);
+
+void
+XFixesDestroyPointerBarrier(Display *dpy, PointerBarrier b);
+
+#endif /* XFIXES_MAJOR >= 5 */
+
+#if XFIXES_MAJOR >= 6
+
+typedef int32_t BarrierEventID;
+
+typedef struct {
+ int type; /* event base */
+ unsigned long serial;
+ Bool send_event;
+ Display *display;
+ Window window;
+ int subtype;
+ BarrierEventID event_id;
+ int directions;
+ PointerBarrier barrier;
+ int x;
+ int y;
+ int velocity;
+ Time timestamp;
+} XFixesBarrierNotifyEvent;
+
+void
+XFixesSelectBarrierInput (Display *dpy,
+ Window win,
+ unsigned long eventMask);
+
+void
+XFixesBarrierReleasePointer(Display *dpy,
+ PointerBarrier b,
+ BarrierEventID event_id);
+
+#endif
+
+_XFUNCPROTOEND
+
+#endif /* _XFIXES_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/extensions/Xge.h b/stream-servers/apigen-codec-common/X11/extensions/Xge.h
new file mode 100644
index 0000000..76b5a6a
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/Xge.h
@@ -0,0 +1,57 @@
+/*
+ * Copyright © 2007-2008 Peter Hutterer
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Authors: Peter Hutterer, University of South Australia, NICTA
+ *
+ */
+
+
+/* XGE Client interfaces */
+
+#ifndef _XGE_H_
+#define _XGE_H_
+
+#include <X11/Xlib.h>
+#include <X11/Xfuncproto.h>
+
+_XFUNCPROTOBEGIN
+
+/**
+ * Generic Event mask.
+ * To be used whenever a list of masks per extension has to be provided.
+ *
+ * But, don't actually use the CARD{8,16,32} types. We can't get them them
+ * defined here without polluting the namespace.
+ */
+typedef struct {
+ unsigned char extension;
+ unsigned char pad0;
+ unsigned short pad1;
+ unsigned int evmask;
+} XGenericEventMask;
+
+Bool XGEQueryExtension(Display* dpy, int *event_basep, int *err_basep);
+Bool XGEQueryVersion(Display* dpy, int *major, int* minor);
+
+_XFUNCPROTOEND
+
+#endif /* _XGE_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/extensions/ag.h b/stream-servers/apigen-codec-common/X11/extensions/ag.h
new file mode 100644
index 0000000..be5883a
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/ag.h
@@ -0,0 +1,52 @@
+/*
+Copyright 1996, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+*/
+
+#ifndef _AG_H_
+#define _AG_H_
+
+#define XAGNAME "XC-APPGROUP"
+
+#define XAG_MAJOR_VERSION 1 /* current version numbers */
+#define XAG_MINOR_VERSION 0
+
+#define XagWindowTypeX11 0
+#define XagWindowTypeMacintosh 1
+#define XagWindowTypeWin32 2
+#define XagWindowTypeWin16 3
+
+#define XagBadAppGroup 0
+#define XagNumberErrors (XagBadAppGroup + 1)
+
+#define XagNsingleScreen 7
+#define XagNdefaultRoot 1
+#define XagNrootVisual 2
+#define XagNdefaultColormap 3
+#define XagNblackPixel 4
+#define XagNwhitePixel 5
+#define XagNappGroupLeader 6
+
+#endif /* _AG_H_ */
+
diff --git a/stream-servers/apigen-codec-common/X11/extensions/agproto.h b/stream-servers/apigen-codec-common/X11/extensions/agproto.h
new file mode 100644
index 0000000..1086661
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/agproto.h
@@ -0,0 +1,178 @@
+/*
+Copyright 1996, 1998, 2001 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+*/
+
+#ifndef _AGPROTO_H_ /* { */
+#define _AGPROTO_H_
+
+#include <X11/extensions/ag.h>
+
+#define X_XagQueryVersion 0
+#define X_XagCreate 1
+#define X_XagDestroy 2
+#define X_XagGetAttr 3
+#define X_XagQuery 4
+#define X_XagCreateAssoc 5
+#define X_XagDestroyAssoc 6
+
+#define XAppGroup CARD32
+
+/*
+* Redefine some basic types used by structures defined herein. This allows
+* both the library and server to view communicated data as 32-bit entities,
+* thus preventing problems on 64-bit architectures where libXext sees this
+* data as 64 bits and the server sees it as 32 bits.
+*/
+
+#define Colormap CARD32
+#define VisualID CARD32
+#define Window CARD32
+
+typedef struct _XagQueryVersion {
+ CARD8 reqType; /* always XagReqCode */
+ CARD8 xagReqType; /* always X_XagQueryVersion */
+ CARD16 length B16;
+ CARD16 client_major_version B16;
+ CARD16 client_minor_version B16;
+} xXagQueryVersionReq;
+#define sz_xXagQueryVersionReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequence_number B16;
+ CARD32 length B32;
+ CARD16 server_major_version B16;
+ CARD16 server_minor_version B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xXagQueryVersionReply;
+#define sz_xXagQueryVersionReply 32
+
+/* Set AppGroup Attributes masks */
+#define XagSingleScreenMask 1 << 0
+#define XagDefaultRootMask 1 << XagNdefaultRoot
+#define XagRootVisualMask 1 << XagNrootVisual
+#define XagDefaultColormapMask 1 << XagNdefaultColormap
+#define XagBlackPixelMask 1 << XagNblackPixel
+#define XagWhitePixelMask 1 << XagNwhitePixel
+#define XagAppGroupLeaderMask 1 << XagNappGroupLeader
+
+typedef struct _XagCreate {
+ CARD8 reqType; /* always XagReqCode */
+ CARD8 xagReqType; /* always X_XagCreate */
+ CARD16 length B16;
+ XAppGroup app_group B32;
+ CARD32 attrib_mask B32; /* LISTofVALUE follows */
+} xXagCreateReq;
+#define sz_xXagCreateReq 12
+
+typedef struct _XagDestroy {
+ CARD8 reqType; /* always XagReqCode */
+ CARD8 xagReqType; /* always X_XagDestroy */
+ CARD16 length B16;
+ XAppGroup app_group B32;
+} xXagDestroyReq;
+#define sz_xXagDestroyReq 8
+
+typedef struct _XagGetAttr {
+ CARD8 reqType; /* always XagReqCode */
+ CARD8 xagReqType; /* always X_XagGetAttr */
+ CARD16 length B16;
+ XAppGroup app_group B32;
+} xXagGetAttrReq;
+#define sz_xXagGetAttrReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequence_number B16;
+ CARD32 length B32;
+ Window default_root B32;
+ VisualID root_visual B32;
+ Colormap default_colormap B32;
+ CARD32 black_pixel B32;
+ CARD32 white_pixel B32;
+ BOOL single_screen;
+ BOOL app_group_leader;
+ CARD16 pad2 B16;
+} xXagGetAttrReply;
+#define sz_xXagGetAttrReply 32
+
+typedef struct _XagQuery {
+ CARD8 reqType; /* always XagReqCode */
+ CARD8 xagReqType; /* always X_XagQuery */
+ CARD16 length B16;
+ CARD32 resource B32;
+} xXagQueryReq;
+#define sz_xXagQueryReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequence_number B16;
+ CARD32 length B32;
+ XAppGroup app_group B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xXagQueryReply;
+#define sz_xXagQueryReply 32
+
+typedef struct _XagCreateAssoc {
+ CARD8 reqType; /* always XagReqCode */
+ CARD8 xagReqType; /* always X_XagCreateAssoc */
+ CARD16 length B16;
+ Window window B32;
+ CARD16 window_type B16;
+ CARD16 system_window_len B16; /* LISTofCARD8 follows */
+} xXagCreateAssocReq;
+#define sz_xXagCreateAssocReq 12
+
+typedef struct _XagDestroyAssoc {
+ CARD8 reqType; /* always XagReqCode */
+ CARD8 xagReqType; /* always X_XagDestroyAssoc */
+ CARD16 length B16;
+ Window window B32;
+} xXagDestroyAssocReq;
+#define sz_xXagDestroyAssocReq 8
+
+#undef XAppGroup
+/*
+ * Cancel the previous redefinition of the basic types, thus restoring their
+ * X.h definitions.
+ */
+
+#undef Window
+#undef Colormap
+#undef VisualID
+
+#endif /* } _AGPROTO_H_ */
+
diff --git a/stream-servers/apigen-codec-common/X11/extensions/cup.h b/stream-servers/apigen-codec-common/X11/extensions/cup.h
new file mode 100644
index 0000000..cbbc34b
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/cup.h
@@ -0,0 +1,38 @@
+/*
+
+Copyright 1987, 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+
+#ifndef _CUP_H_
+#define _CUP_H_
+
+#define XCUPNAME "TOG-CUP"
+
+#define XCUP_MAJOR_VERSION 1 /* current version numbers */
+#define XCUP_MINOR_VERSION 0
+
+#define XcupNumberErrors 0
+
+#endif /* _CUP_H_ */
+
diff --git a/stream-servers/apigen-codec-common/X11/extensions/cupproto.h b/stream-servers/apigen-codec-common/X11/extensions/cupproto.h
new file mode 100644
index 0000000..f61c9f0
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/cupproto.h
@@ -0,0 +1,105 @@
+/*
+
+Copyright 1987, 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+
+#ifndef _XCUPPROTO_H_ /* { */
+#define _XCUPPROTO_H_
+
+#include <X11/extensions/cup.h>
+
+#define X_XcupQueryVersion 0
+#define X_XcupGetReservedColormapEntries 1
+#define X_XcupStoreColors 2
+
+typedef struct _XcupQueryVersion {
+ CARD8 reqType; /* always XcupReqCode */
+ CARD8 xcupReqType; /* always X_XcupQueryVersion */
+ CARD16 length B16;
+ CARD16 client_major_version B16;
+ CARD16 client_minor_version B16;
+} xXcupQueryVersionReq;
+#define sz_xXcupQueryVersionReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequence_number B16;
+ CARD32 length B32;
+ CARD16 server_major_version B16;
+ CARD16 server_minor_version B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xXcupQueryVersionReply;
+#define sz_xXcupQueryVersionReply 32
+
+typedef struct _XcupGetReservedColormapEntries {
+ CARD8 reqType; /* always XcupReqCode */
+ CARD8 xcupReqType; /* always X_XcupGetReservedColormapEntries */
+ CARD16 length B16;
+ CARD32 screen B32;
+} xXcupGetReservedColormapEntriesReq;
+#define sz_xXcupGetReservedColormapEntriesReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequence_number B16;
+ CARD32 length B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+} xXcupGetReservedColormapEntriesReply;
+#define sz_xXcupGetReservedColormapEntriesReply 32
+
+typedef struct _XcupStoreColors {
+ CARD8 reqType; /* always XcupReqCode */
+ CARD8 xcupReqType; /* always X_XcupStoreColors */
+ CARD16 length B16;
+ CARD32 cmap B32;
+} xXcupStoreColorsReq;
+#define sz_xXcupStoreColorsReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequence_number B16;
+ CARD32 length B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+} xXcupStoreColorsReply;
+#define sz_xXcupStoreColorsReply 32
+
+#endif /* } _XCUPPROTO_H_ */
+
diff --git a/stream-servers/apigen-codec-common/X11/extensions/dbe.h b/stream-servers/apigen-codec-common/X11/extensions/dbe.h
new file mode 100644
index 0000000..7968552
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/dbe.h
@@ -0,0 +1,57 @@
+/******************************************************************************
+ *
+ * Copyright (c) 1994, 1995 Hewlett-Packard Company
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ * IN NO EVENT SHALL HEWLETT-PACKARD COMPANY BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the name of the Hewlett-Packard
+ * Company shall not be used in advertising or otherwise to promote the
+ * sale, use or other dealings in this Software without prior written
+ * authorization from the Hewlett-Packard Company.
+ *
+ * Header file for Xlib-related DBE
+ *
+ *****************************************************************************/
+
+#ifndef DBE_H
+#define DBE_H
+
+/* Values for swap_action field of XdbeSwapInfo structure */
+#define XdbeUndefined 0
+#define XdbeBackground 1
+#define XdbeUntouched 2
+#define XdbeCopied 3
+
+/* Errors */
+#define XdbeBadBuffer 0
+
+#define DBE_PROTOCOL_NAME "DOUBLE-BUFFER"
+
+/* Current version numbers */
+#define DBE_MAJOR_VERSION 1
+#define DBE_MINOR_VERSION 0
+
+/* Used when adding extension; also used in Xdbe macros */
+#define DbeNumberEvents 0
+#define DbeBadBuffer 0
+#define DbeNumberErrors (DbeBadBuffer + 1)
+
+#endif /* DBE_H */
+
diff --git a/stream-servers/apigen-codec-common/X11/extensions/dbeproto.h b/stream-servers/apigen-codec-common/X11/extensions/dbeproto.h
new file mode 100644
index 0000000..784926e
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/dbeproto.h
@@ -0,0 +1,224 @@
+/******************************************************************************
+ *
+ * Copyright (c) 1994, 1995 Hewlett-Packard Company
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ * IN NO EVENT SHALL HEWLETT-PACKARD COMPANY BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the name of the Hewlett-Packard
+ * Company shall not be used in advertising or otherwise to promote the
+ * sale, use or other dealings in this Software without prior written
+ * authorization from the Hewlett-Packard Company.
+ *
+ * Header file for Xlib-related DBE
+ *
+ *****************************************************************************/
+
+#ifndef DBE_PROTO_H
+#define DBE_PROTO_H
+
+#include <X11/extensions/dbe.h>
+
+/* Request values used in (S)ProcDbeDispatch() */
+#define X_DbeGetVersion 0
+#define X_DbeAllocateBackBufferName 1
+#define X_DbeDeallocateBackBufferName 2
+#define X_DbeSwapBuffers 3
+#define X_DbeBeginIdiom 4
+#define X_DbeEndIdiom 5
+#define X_DbeGetVisualInfo 6
+#define X_DbeGetBackBufferAttributes 7
+
+typedef CARD8 xDbeSwapAction;
+typedef CARD32 xDbeBackBuffer;
+
+/* TYPEDEFS */
+
+/* Protocol data types */
+
+typedef struct
+{
+ CARD32 window B32; /* window */
+ xDbeSwapAction swapAction; /* swap action */
+ CARD8 pad1; /* unused */
+ CARD16 pad2 B16;
+
+} xDbeSwapInfo;
+
+typedef struct
+{
+ CARD32 visualID B32; /* associated visual */
+ CARD8 depth; /* depth of visual */
+ CARD8 perfLevel; /* performance level hint */
+ CARD16 pad1 B16;
+
+} xDbeVisInfo;
+#define sz_xDbeVisInfo 8
+
+typedef struct
+{
+ CARD32 n B32; /* number of visual info items in list */
+
+} xDbeScreenVisInfo; /* followed by n xDbeVisInfo items */
+
+typedef struct
+{
+ CARD32 window B32; /* window */
+
+} xDbeBufferAttributes;
+
+
+/* Requests and replies */
+
+typedef struct
+{
+ CARD8 reqType; /* major-opcode: always codes->major_opcode */
+ CARD8 dbeReqType; /* minor-opcode: always X_DbeGetVersion (0) */
+ CARD16 length B16; /* request length: (2) */
+ CARD8 majorVersion; /* client-major-version */
+ CARD8 minorVersion; /* client-minor-version */
+ CARD16 unused B16; /* unused */
+
+} xDbeGetVersionReq;
+#define sz_xDbeGetVersionReq 8
+
+typedef struct
+{
+ BYTE type; /* Reply: X_Reply (1) */
+ CARD8 unused; /* unused */
+ CARD16 sequenceNumber B16; /* sequence number */
+ CARD32 length B32; /* reply length: (0) */
+ CARD8 majorVersion; /* server-major-version */
+ CARD8 minorVersion; /* server-minor-version */
+ CARD16 pad1 B16; /* unused */
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+
+} xDbeGetVersionReply;
+#define sz_xDbeGetVersionReply 32
+
+typedef struct
+{
+ CARD8 reqType; /* major-opcode: codes->major_opcode */
+ CARD8 dbeReqType; /* X_DbeAllocateBackBufferName (1) */
+ CARD16 length B16; /* request length: (4) */
+ CARD32 window B32; /* window */
+ xDbeBackBuffer buffer B32; /* back buffer name */
+ xDbeSwapAction swapAction; /* swap action hint */
+ CARD8 pad1; /* unused */
+ CARD16 pad2 B16;
+
+} xDbeAllocateBackBufferNameReq;
+#define sz_xDbeAllocateBackBufferNameReq 16
+
+typedef struct
+{
+ CARD8 reqType; /* major-opcode: codes->major_opcode */
+ CARD8 dbeReqType; /* X_DbeDeallocateBackBufferName (2) */
+ CARD16 length B16; /* request length: (2) */
+ xDbeBackBuffer buffer B32; /* back buffer name */
+
+} xDbeDeallocateBackBufferNameReq;
+#define sz_xDbeDeallocateBackBufferNameReq 8
+
+typedef struct
+{
+ CARD8 reqType; /* major-opcode: always codes->major_opcode */
+ CARD8 dbeReqType; /* minor-opcode: always X_DbeSwapBuffers (3) */
+ CARD16 length B16; /* request length: (2+2n) */
+ CARD32 n B32; /* n, number of window/swap action pairs */
+
+} xDbeSwapBuffersReq; /* followed by n window/swap action pairs */
+#define sz_xDbeSwapBuffersReq 8
+
+typedef struct
+{
+ CARD8 reqType; /* major-opcode: always codes->major_opcode */
+ CARD8 dbeReqType; /* minor-opcode: always X_DbeBeginIdom (4) */
+ CARD16 length B16; /* request length: (1) */
+
+} xDbeBeginIdiomReq;
+#define sz_xDbeBeginIdiomReq 4
+
+typedef struct
+{
+ CARD8 reqType; /* major-opcode: always codes->major_opcode */
+ CARD8 dbeReqType; /* minor-opcode: always X_DbeEndIdom (5) */
+ CARD16 length B16; /* request length: (1) */
+
+} xDbeEndIdiomReq;
+#define sz_xDbeEndIdiomReq 4
+
+typedef struct
+{
+ CARD8 reqType; /* always codes->major_opcode */
+ CARD8 dbeReqType; /* always X_DbeGetVisualInfo (6) */
+ CARD16 length B16; /* request length: (2+n) */
+ CARD32 n B32; /* n, number of drawables in list */
+
+} xDbeGetVisualInfoReq; /* followed by n drawables */
+#define sz_xDbeGetVisualInfoReq 8
+
+typedef struct
+{
+ BYTE type; /* Reply: X_Reply (1) */
+ CARD8 unused; /* unused */
+ CARD16 sequenceNumber B16; /* sequence number */
+ CARD32 length B32; /* reply length */
+ CARD32 m; /* m, number of visual infos in list */
+ CARD32 pad1 B32; /* unused */
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+
+} xDbeGetVisualInfoReply; /* followed by m visual infos */
+#define sz_xDbeGetVisualInfoReply 32
+
+typedef struct
+{
+ CARD8 reqType; /* always codes->major_opcode */
+ CARD8 dbeReqType; /* X_DbeGetBackBufferAttributes (7) */
+ CARD16 length B16; /* request length: (2) */
+ xDbeBackBuffer buffer B32; /* back buffer name */
+
+} xDbeGetBackBufferAttributesReq;
+#define sz_xDbeGetBackBufferAttributesReq 8
+
+typedef struct
+{
+ BYTE type; /* Reply: X_Reply (1) */
+ CARD8 unused; /* unused */
+ CARD16 sequenceNumber B16; /* sequence number */
+ CARD32 length B32; /* reply length: (0) */
+ CARD32 attributes; /* attributes */
+ CARD32 pad1 B32; /* unused */
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+
+} xDbeGetBackBufferAttributesReply;
+#define sz_xDbeGetBackBufferAttributesReply 32
+
+#endif /* DBE_PROTO_H */
+
diff --git a/stream-servers/apigen-codec-common/X11/extensions/dpms.h b/stream-servers/apigen-codec-common/X11/extensions/dpms.h
new file mode 100644
index 0000000..f85e6a7
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/dpms.h
@@ -0,0 +1,53 @@
+/*****************************************************************
+
+Copyright (c) 1996 Digital Equipment Corporation, Maynard, Massachusetts.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING,
+BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
+IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of Digital Equipment Corporation
+shall not be used in advertising or otherwise to promote the sale, use or other
+dealings in this Software without prior written authorization from Digital
+Equipment Corporation.
+
+******************************************************************/
+
+#ifndef _X11_EXTENSIONS_DPMS_H
+#define _X11_EXTENSIONS_DPMS_H 1
+
+#include <X11/X.h>
+#include <X11/Xmd.h>
+#include <X11/extensions/dpmsconst.h>
+
+#ifndef DPMS_SERVER
+_XFUNCPROTOBEGIN
+
+extern Bool DPMSQueryExtension(Display *, int *, int *);
+extern Status DPMSGetVersion(Display *, int *, int *);
+extern Bool DPMSCapable(Display *);
+extern Status DPMSSetTimeouts(Display *, CARD16, CARD16, CARD16);
+extern Bool DPMSGetTimeouts(Display *, CARD16 *, CARD16 *, CARD16 *);
+extern Status DPMSEnable(Display *);
+extern Status DPMSDisable(Display *);
+extern Status DPMSForceLevel(Display *, CARD16);
+extern Status DPMSInfo(Display *, CARD16 *, BOOL *);
+
+_XFUNCPROTOEND
+#endif
+
+#endif /* !_X11_EXTENSIONS_DPMS_H */
+
diff --git a/stream-servers/apigen-codec-common/X11/extensions/dpmsconst.h b/stream-servers/apigen-codec-common/X11/extensions/dpmsconst.h
new file mode 100644
index 0000000..75f0586
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/dpmsconst.h
@@ -0,0 +1,43 @@
+/*****************************************************************
+
+Copyright (c) 1996 Digital Equipment Corporation, Maynard, Massachusetts.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING,
+BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
+IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of Digital Equipment Corporation
+shall not be used in advertising or otherwise to promote the sale, use or other
+dealings in this Software without prior written authorization from Digital
+Equipment Corporation.
+
+******************************************************************/
+
+#ifndef _DPMSCONST_H
+#define _DPMSCONST_H 1
+
+#define DPMSMajorVersion 1
+#define DPMSMinorVersion 1
+
+#define DPMSExtensionName "DPMS"
+
+#define DPMSModeOn 0
+#define DPMSModeStandby 1
+#define DPMSModeSuspend 2
+#define DPMSModeOff 3
+
+#endif /* !_DPMSCONST_H */
+
diff --git a/stream-servers/apigen-codec-common/X11/extensions/dpmsproto.h b/stream-servers/apigen-codec-common/X11/extensions/dpmsproto.h
new file mode 100644
index 0000000..63fd3fc
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/dpmsproto.h
@@ -0,0 +1,175 @@
+/*****************************************************************
+
+Copyright (c) 1996 Digital Equipment Corporation, Maynard, Massachusetts.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING,
+BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
+IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of Digital Equipment Corporation
+shall not be used in advertising or otherwise to promote the sale, use or other
+dealings in this Software without prior written authorization from Digital
+Equipment Corporation.
+
+******************************************************************/
+
+#ifndef _DPMSPROTO_H_
+#define _DPMSPROTO_H_
+
+#include <X11/extensions/dpmsconst.h>
+
+#define X_DPMSGetVersion 0
+#define X_DPMSCapable 1
+#define X_DPMSGetTimeouts 2
+#define X_DPMSSetTimeouts 3
+#define X_DPMSEnable 4
+#define X_DPMSDisable 5
+#define X_DPMSForceLevel 6
+#define X_DPMSInfo 7
+
+#define DPMSNumberEvents 0
+
+#define DPMSNumberErrors 0
+
+
+typedef struct {
+ CARD8 reqType; /* always DPMSCode */
+ CARD8 dpmsReqType; /* always X_DPMSGetVersion */
+ CARD16 length B16;
+ CARD16 majorVersion B16;
+ CARD16 minorVersion B16;
+} xDPMSGetVersionReq;
+#define sz_xDPMSGetVersionReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 pad0;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 majorVersion B16;
+ CARD16 minorVersion B16;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xDPMSGetVersionReply;
+#define sz_xDPMSGetVersionReply 32
+
+typedef struct {
+ CARD8 reqType; /* always DPMSCode */
+ CARD8 dpmsReqType; /* always X_DPMSCapable */
+ CARD16 length B16;
+} xDPMSCapableReq;
+#define sz_xDPMSCapableReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 pad0;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ BOOL capable;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+} xDPMSCapableReply;
+#define sz_xDPMSCapableReply 32
+
+typedef struct {
+ CARD8 reqType; /* always DPMSCode */
+ CARD8 dpmsReqType; /* always X_DPMSGetTimeouts */
+ CARD16 length B16;
+} xDPMSGetTimeoutsReq;
+#define sz_xDPMSGetTimeoutsReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 pad0;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 standby B16;
+ CARD16 suspend B16;
+ CARD16 off B16;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xDPMSGetTimeoutsReply;
+#define sz_xDPMSGetTimeoutsReply 32
+
+typedef struct {
+ CARD8 reqType; /* always DPMSCode */
+ CARD8 dpmsReqType; /* always X_DPMSSetTimeouts */
+ CARD16 length B16;
+ CARD16 standby B16;
+ CARD16 suspend B16;
+ CARD16 off B16;
+ CARD16 pad0 B16;
+} xDPMSSetTimeoutsReq;
+#define sz_xDPMSSetTimeoutsReq 12
+
+typedef struct {
+ CARD8 reqType; /* always DPMSCode */
+ CARD8 dpmsReqType; /* always X_DPMSEnable */
+ CARD16 length B16;
+} xDPMSEnableReq;
+#define sz_xDPMSEnableReq 4
+
+typedef struct {
+ CARD8 reqType; /* always DPMSCode */
+ CARD8 dpmsReqType; /* always X_DPMSDisable */
+ CARD16 length B16;
+} xDPMSDisableReq;
+#define sz_xDPMSDisableReq 4
+
+typedef struct {
+ CARD8 reqType; /* always DPMSCode */
+ CARD8 dpmsReqType; /* always X_DPMSForceLevel */
+ CARD16 length B16;
+ CARD16 level B16; /* power level requested */
+ CARD16 pad0 B16;
+} xDPMSForceLevelReq;
+#define sz_xDPMSForceLevelReq 8
+
+typedef struct {
+ CARD8 reqType; /* always DPMSCode */
+ CARD8 dpmsReqType; /* always X_DPMSInfo */
+ CARD16 length B16;
+} xDPMSInfoReq;
+#define sz_xDPMSInfoReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 pad0;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 power_level B16;
+ BOOL state;
+ CARD8 pad1;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xDPMSInfoReply;
+#define sz_xDPMSInfoReply 32
+
+#endif /* _DPMSPROTO_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/extensions/extutil.h b/stream-servers/apigen-codec-common/X11/extensions/extutil.h
new file mode 100644
index 0000000..29404d5
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/extutil.h
@@ -0,0 +1,190 @@
+/*
+ *
+Copyright 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+ *
+ * Author: Jim Fulton, MIT The Open Group
+ *
+ * Xlib Extension-Writing Utilities
+ *
+ * This package contains utilities for writing the client API for various
+ * protocol extensions. THESE INTERFACES ARE NOT PART OF THE X STANDARD AND
+ * ARE SUBJECT TO CHANGE!
+ */
+
+#ifndef _EXTUTIL_H_
+#define _EXTUTIL_H_
+
+#include <X11/extensions/Xext.h>
+
+/*
+ * We need to keep a list of open displays since the Xlib display list isn't
+ * public. We also have to per-display info in a separate block since it isn't
+ * stored directly in the Display structure.
+ */
+typedef struct _XExtDisplayInfo {
+ struct _XExtDisplayInfo *next; /* keep a linked list */
+ Display *display; /* which display this is */
+ XExtCodes *codes; /* the extension protocol codes */
+ XPointer data; /* extra data for extension to use */
+} XExtDisplayInfo;
+
+typedef struct _XExtensionInfo {
+ XExtDisplayInfo *head; /* start of list */
+ XExtDisplayInfo *cur; /* most recently used */
+ int ndisplays; /* number of displays */
+} XExtensionInfo;
+
+typedef struct _XExtensionHooks {
+ int (*create_gc)(
+ Display* /* display */,
+ GC /* gc */,
+ XExtCodes* /* codes */
+);
+ int (*copy_gc)(
+ Display* /* display */,
+ GC /* gc */,
+ XExtCodes* /* codes */
+);
+ int (*flush_gc)(
+ Display* /* display */,
+ GC /* gc */,
+ XExtCodes* /* codes */
+);
+ int (*free_gc)(
+ Display* /* display */,
+ GC /* gc */,
+ XExtCodes* /* codes */
+);
+ int (*create_font)(
+ Display* /* display */,
+ XFontStruct* /* fs */,
+ XExtCodes* /* codes */
+);
+ int (*free_font)(
+ Display* /* display */,
+ XFontStruct* /* fs */,
+ XExtCodes* /* codes */
+);
+ int (*close_display)(
+ Display* /* display */,
+ XExtCodes* /* codes */
+);
+ Bool (*wire_to_event)(
+ Display* /* display */,
+ XEvent* /* re */,
+ xEvent* /* event */
+);
+ Status (*event_to_wire)(
+ Display* /* display */,
+ XEvent* /* re */,
+ xEvent* /* event */
+);
+ int (*error)(
+ Display* /* display */,
+ xError* /* err */,
+ XExtCodes* /* codes */,
+ int* /* ret_code */
+);
+ char *(*error_string)(
+ Display* /* display */,
+ int /* code */,
+ XExtCodes* /* codes */,
+ char* /* buffer */,
+ int /* nbytes */
+);
+} XExtensionHooks;
+
+extern XExtensionInfo *XextCreateExtension(
+ void
+);
+extern void XextDestroyExtension(
+ XExtensionInfo* /* info */
+);
+extern XExtDisplayInfo *XextAddDisplay(
+ XExtensionInfo* /* extinfo */,
+ Display* /* dpy */,
+ _Xconst char* /* ext_name */,
+ XExtensionHooks* /* hooks */,
+ int /* nevents */,
+ XPointer /* data */
+);
+extern int XextRemoveDisplay(
+ XExtensionInfo* /* extinfo */,
+ Display* /* dpy */
+);
+extern XExtDisplayInfo *XextFindDisplay(
+ XExtensionInfo* /* extinfo */,
+ Display* /* dpy */
+);
+
+#define XextHasExtension(i) ((i) && ((i)->codes))
+#define XextCheckExtension(dpy,i,name,val) \
+ if (!XextHasExtension(i)) { XMissingExtension (dpy, name); return val; }
+#define XextSimpleCheckExtension(dpy,i,name) \
+ if (!XextHasExtension(i)) { XMissingExtension (dpy, name); return; }
+
+
+/*
+ * helper macros to generate code that is common to all extensions; caller
+ * should prefix it with static if extension source is in one file; this
+ * could be a utility function, but have to stack 6 unused arguments for
+ * something that is called many, many times would be bad.
+ */
+#define XEXT_GENERATE_FIND_DISPLAY(proc,extinfo,extname,hooks,nev,data) \
+XExtDisplayInfo *proc (Display *dpy) \
+{ \
+ XExtDisplayInfo *dpyinfo; \
+ if (!extinfo) { if (!(extinfo = XextCreateExtension())) return NULL; } \
+ if (!(dpyinfo = XextFindDisplay (extinfo, dpy))) \
+ dpyinfo = XextAddDisplay (extinfo,dpy,extname,hooks,nev,data); \
+ return dpyinfo; \
+}
+
+#define XEXT_FIND_DISPLAY_PROTO(proc) \
+ XExtDisplayInfo *proc(Display *dpy)
+
+#define XEXT_GENERATE_CLOSE_DISPLAY(proc,extinfo) \
+int proc (Display *dpy, XExtCodes *codes) \
+{ \
+ return XextRemoveDisplay (extinfo, dpy); \
+}
+
+#define XEXT_CLOSE_DISPLAY_PROTO(proc) \
+ int proc(Display *dpy, XExtCodes *codes)
+
+#define XEXT_GENERATE_ERROR_STRING(proc,extname,nerr,errl) \
+char *proc (Display *dpy, int code, XExtCodes *codes, char *buf, int n) \
+{ \
+ code -= codes->first_error; \
+ if (code >= 0 && code < nerr) { \
+ char tmp[256]; \
+ sprintf (tmp, "%s.%d", extname, code); \
+ XGetErrorDatabaseText (dpy, "XProtoError", tmp, errl[code], buf, n); \
+ return buf; \
+ } \
+ return (char *)0; \
+}
+
+#define XEXT_ERROR_STRING_PROTO(proc) \
+ char *proc(Display *dpy, int code, XExtCodes *codes, char *buf, int n)
+#endif
diff --git a/stream-servers/apigen-codec-common/X11/extensions/ge.h b/stream-servers/apigen-codec-common/X11/extensions/ge.h
new file mode 100644
index 0000000..aca1d8a
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/ge.h
@@ -0,0 +1,60 @@
+/*
+ * Copyright © 2007-2008 Peter Hutterer
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Authors: Peter Hutterer, University of South Australia, NICTA
+ *
+ */
+
+#ifndef _GE_H_
+#define _GE_H_
+
+#define GE_NAME "Generic Event Extension"
+#define GE_MAJOR 1
+#define GE_MINOR 0
+
+/*********************************************************
+ *
+ * Requests
+ *
+ */
+
+#define X_GEQueryVersion 0
+
+#define GENumberRequests (X_GEQueryVersion + 1)
+
+/*********************************************************
+ *
+ * Events
+ *
+ */
+
+#define GENumberEvents 0
+
+/*********************************************************
+ *
+ * Errors
+ *
+ */
+
+#define GENumberErrors 0
+
+#endif /* _GE_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/extensions/geproto.h b/stream-servers/apigen-codec-common/X11/extensions/geproto.h
new file mode 100644
index 0000000..c8860dd
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/geproto.h
@@ -0,0 +1,85 @@
+/*
+ * Copyright © 2007-2008 Peter Hutterer
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Authors: Peter Hutterer, University of South Australia, NICTA
+ *
+ */
+
+#ifndef _GEPROTO_H_
+#define _GEPROTO_H_
+
+#include<X11/Xproto.h>
+#include<X11/X.h>
+#include<X11/extensions/ge.h>
+
+
+/*********************************************************
+ *
+ * Protocol request constants
+ *
+ */
+
+#define X_GEGetExtensionVersion 1
+
+/*********************************************************
+ *
+ * XGE protocol requests/replies
+ *
+ */
+
+/* generic request */
+typedef struct {
+ CARD8 reqType;
+ CARD8 ReqType;
+ CARD16 length B16;
+} xGEReq;
+
+
+/* QueryVersion */
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_GEQueryVersion */
+ CARD16 length B16;
+ CARD16 majorVersion B16;
+ CARD16 minorVersion B16;
+} xGEQueryVersionReq;
+
+#define sz_xGEQueryVersionReq 8
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_GEQueryVersion */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 majorVersion B16;
+ CARD16 minorVersion B16;
+ CARD32 pad00 B32;
+ CARD32 pad01 B32;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ CARD32 pad04 B32;
+} xGEQueryVersionReply;
+
+#define sz_xGEQueryVersionReply 32
+
+#endif /* _GEPROTO_H_ */
+
diff --git a/stream-servers/apigen-codec-common/X11/extensions/lbx.h b/stream-servers/apigen-codec-common/X11/extensions/lbx.h
new file mode 100644
index 0000000..ecd24ff
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/lbx.h
@@ -0,0 +1,73 @@
+/*
+ * Copyright 1992 Network Computing Devices
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of NCD. not be used in advertising or
+ * publicity pertaining to distribution of the software without specific,
+ * written prior permission. NCD. makes no representations about the
+ * suitability of this software for any purpose. It is provided "as is"
+ * without express or implied warranty.
+ *
+ * NCD. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL NCD.
+ * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ */
+
+#ifndef _LBX_H_
+#define _LBX_H_
+
+#define LBXNAME "LBX"
+
+#define LBX_MAJOR_VERSION 1
+#define LBX_MINOR_VERSION 0
+
+#define LbxNumberReqs 44
+#define LbxEvent 0
+#define LbxQuickMotionDeltaEvent 1
+#define LbxNumberEvents 2
+
+/* This is always the master client */
+#define LbxMasterClientIndex 0
+
+/* LbxEvent lbxType sub-fields */
+#define LbxSwitchEvent 0
+#define LbxCloseEvent 1
+#define LbxDeltaEvent 2
+#define LbxInvalidateTagEvent 3
+#define LbxSendTagDataEvent 4
+#define LbxListenToOne 5
+#define LbxListenToAll 6
+#define LbxMotionDeltaEvent 7
+#define LbxReleaseCmapEvent 8
+#define LbxFreeCellsEvent 9
+
+/*
+ * Lbx image compression methods
+ *
+ * No compression is always assigned the value of 0.
+ *
+ * The rest of the compression method opcodes are assigned dynamically
+ * at option negotiation time.
+ */
+
+#define LbxImageCompressNone 0
+
+
+#define BadLbxClient 0
+#define LbxNumberErrors (BadLbxClient + 1)
+
+/* tagged data types */
+#define LbxTagTypeModmap 1
+#define LbxTagTypeKeymap 2
+#define LbxTagTypeProperty 3
+#define LbxTagTypeFont 4
+#define LbxTagTypeConnInfo 5
+
+#endif
diff --git a/stream-servers/apigen-codec-common/X11/extensions/lbxproto.h b/stream-servers/apigen-codec-common/X11/extensions/lbxproto.h
new file mode 100644
index 0000000..a1ae62b
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/lbxproto.h
@@ -0,0 +1,975 @@
+/*
+ * Copyright 1992 Network Computing Devices
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of NCD. not be used in advertising or
+ * publicity pertaining to distribution of the software without specific,
+ * written prior permission. NCD. makes no representations about the
+ * suitability of this software for any purpose. It is provided "as is"
+ * without express or implied warranty.
+ *
+ * NCD. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL NCD.
+ * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ */
+
+#ifndef _LBXPROTO_H_
+#define _LBXPROTO_H_
+
+#include <X11/extensions/lbx.h>
+/*
+ * NOTE: any changes or additions to the opcodes needs to be reflected
+ * in the lbxCacheable array in Xserver/lbx/lbxmain.c
+ */
+
+#define X_LbxQueryVersion 0
+#define X_LbxStartProxy 1
+#define X_LbxStopProxy 2
+#define X_LbxSwitch 3
+#define X_LbxNewClient 4
+#define X_LbxCloseClient 5
+#define X_LbxModifySequence 6
+#define X_LbxAllowMotion 7
+#define X_LbxIncrementPixel 8
+#define X_LbxDelta 9
+#define X_LbxGetModifierMapping 10
+#define X_LbxInvalidateTag 12
+#define X_LbxPolyPoint 13
+#define X_LbxPolyLine 14
+#define X_LbxPolySegment 15
+#define X_LbxPolyRectangle 16
+#define X_LbxPolyArc 17
+#define X_LbxFillPoly 18
+#define X_LbxPolyFillRectangle 19
+#define X_LbxPolyFillArc 20
+#define X_LbxGetKeyboardMapping 21
+#define X_LbxQueryFont 22
+#define X_LbxChangeProperty 23
+#define X_LbxGetProperty 24
+#define X_LbxTagData 25
+
+#define X_LbxCopyArea 26
+#define X_LbxCopyPlane 27
+#define X_LbxPolyText8 28
+#define X_LbxPolyText16 29
+#define X_LbxImageText8 30
+#define X_LbxImageText16 31
+
+#define X_LbxQueryExtension 32
+#define X_LbxPutImage 33
+#define X_LbxGetImage 34
+
+#define X_LbxBeginLargeRequest 35
+#define X_LbxLargeRequestData 36
+#define X_LbxEndLargeRequest 37
+
+#define X_LbxInternAtoms 38
+#define X_LbxGetWinAttrAndGeom 39
+
+#define X_LbxGrabCmap 40
+#define X_LbxReleaseCmap 41
+#define X_LbxAllocColor 42
+
+#define X_LbxSync 43
+
+/*
+ * Redefine some basic types used by structures defined herein. This removes
+ * any possibility on 64-bit architectures of one entity viewing communicated
+ * data as 32-bit quantities and another entity viewing the same data as 64-bit
+ * quantities.
+ */
+#define XID CARD32
+#define Atom CARD32
+#define Colormap CARD32
+#define Drawable CARD32
+#define VisualID CARD32
+#define Window CARD32
+
+typedef struct {
+ BOOL success; /* TRUE */
+ BOOL changeType;
+ CARD16 majorVersion B16,
+ minorVersion B16;
+ CARD16 length B16; /* 1/4 additional bytes in setup info */
+ CARD32 tag B32;
+} xLbxConnSetupPrefix;
+
+typedef struct _LbxQueryVersion {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxQueryVersion */
+ CARD16 length B16;
+} xLbxQueryVersionReq;
+#define sz_xLbxQueryVersionReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 majorVersion B16; /* major version of LBX protocol */
+ CARD16 minorVersion B16; /* minor version of LBX protocol */
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xLbxQueryVersionReply;
+#define sz_xLbxQueryVersionReply 32
+
+typedef struct _LbxStartProxy {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxStartProxy */
+ CARD16 length B16;
+} xLbxStartProxyReq;
+#define sz_xLbxStartProxyReq 4
+
+typedef struct _LbxStopProxy {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxStopProxy */
+ CARD16 length B16;
+} xLbxStopProxyReq;
+#define sz_xLbxStopProxyReq 4
+
+typedef struct _LbxSwitch {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxSwitch */
+ CARD16 length B16;
+ CARD32 client B32; /* new client */
+} xLbxSwitchReq;
+#define sz_xLbxSwitchReq 8
+
+typedef struct _LbxNewClient {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxNewClient */
+ CARD16 length B16;
+ CARD32 client B32; /* new client */
+} xLbxNewClientReq;
+#define sz_xLbxNewClientReq 8
+
+typedef struct _LbxCloseClient {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxCloseClient */
+ CARD16 length B16;
+ CARD32 client B32; /* new client */
+} xLbxCloseClientReq;
+#define sz_xLbxCloseClientReq 8
+
+typedef struct _LbxModifySequence {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxModifySequence */
+ CARD16 length B16;
+ CARD32 adjust B32;
+} xLbxModifySequenceReq;
+#define sz_xLbxModifySequenceReq 8
+
+typedef struct _LbxAllowMotion {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxAllowMotion */
+ CARD16 length B16;
+ CARD32 num B32;
+} xLbxAllowMotionReq;
+#define sz_xLbxAllowMotionReq 8
+
+typedef struct {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxGrabCmap */
+ CARD16 length B16;
+ Colormap cmap B32;
+} xLbxGrabCmapReq;
+#define sz_xLbxGrabCmapReq 8
+
+#define LBX_SMART_GRAB 0x80
+#define LBX_AUTO_RELEASE 0x40
+#define LBX_3CHANNELS 0x20
+#define LBX_2BYTE_PIXELS 0x10
+#define LBX_RGB_BITS_MASK 0x0f
+
+#define LBX_LIST_END 0
+#define LBX_PIXEL_PRIVATE 1
+#define LBX_PIXEL_SHARED 2
+#define LBX_PIXEL_RANGE_PRIVATE 3
+#define LBX_PIXEL_RANGE_SHARED 4
+#define LBX_NEXT_CHANNEL 5
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 flags;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad0 B16;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B16;
+} xLbxGrabCmapReply;
+#define sz_xLbxGrabCmapReply 32
+#define sz_xLbxGrabCmapReplyHdr 8
+
+
+typedef struct {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxReleaseCmap */
+ CARD16 length B16;
+ Colormap cmap B32;
+} xLbxReleaseCmapReq;
+#define sz_xLbxReleaseCmapReq 8
+
+typedef struct {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxAllocColor */
+ CARD16 length B16;
+ Colormap cmap B32;
+ CARD32 pixel B32;
+ CARD16 red B16, green B16, blue B16;
+ CARD16 pad B16;
+} xLbxAllocColorReq;
+#define sz_xLbxAllocColorReq 20
+
+typedef struct _LbxIncrementPixel {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxIncrementPixel */
+ CARD16 length B16;
+ CARD32 cmap B32;
+ CARD32 pixel B32;
+} xLbxIncrementPixelReq;
+#define sz_xLbxIncrementPixelReq 12
+
+typedef struct _LbxDelta {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxDelta */
+ CARD16 length B16;
+ CARD8 diffs; /* number of diffs */
+ CARD8 cindex; /* cache index */
+ /* list of diffs follows */
+} xLbxDeltaReq;
+#define sz_xLbxDeltaReq 6
+
+typedef struct _LbxGetModifierMapping {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxGetModifierMapping */
+ CARD16 length B16;
+} xLbxGetModifierMappingReq;
+#define sz_xLbxGetModifierMappingReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 keyspermod;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 tag B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xLbxGetModifierMappingReply;
+#define sz_xLbxGetModifierMappingReply 32
+
+typedef struct _LbxGetKeyboardMapping {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxGetKeyboardMapping */
+ CARD16 length B16;
+ KeyCode firstKeyCode;
+ CARD8 count;
+ CARD16 pad1 B16;
+} xLbxGetKeyboardMappingReq;
+#define sz_xLbxGetKeyboardMappingReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 keysperkeycode;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 tag B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xLbxGetKeyboardMappingReply;
+#define sz_xLbxGetKeyboardMappingReply 32
+
+typedef struct _LbxQueryFont {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxQueryFont */
+ CARD16 length B16;
+ CARD32 fid B32;
+} xLbxQueryFontReq;
+#define sz_xLbxQueryFontReq 8
+
+typedef struct _LbxInternAtoms {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxInternAtoms */
+ CARD16 length B16;
+ CARD16 num B16;
+} xLbxInternAtomsReq;
+#define sz_xLbxInternAtomsReq 6
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 atomsStart B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xLbxInternAtomsReply;
+#define sz_xLbxInternAtomsReply 32
+#define sz_xLbxInternAtomsReplyHdr 8
+
+
+typedef struct _LbxGetWinAttrAndGeom {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxGetWinAttrAndGeom */
+ CARD16 length B16;
+ CARD32 id B32; /* window id */
+} xLbxGetWinAttrAndGeomReq;
+#define sz_xLbxGetWinAttrAndGeomReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 backingStore;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* NOT 0; this is an extra-large reply */
+ VisualID visualID B32;
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD16 c_class B16;
+#else
+ CARD16 class B16;
+#endif
+ CARD8 bitGravity;
+ CARD8 winGravity;
+ CARD32 backingBitPlanes B32;
+ CARD32 backingPixel B32;
+ BOOL saveUnder;
+ BOOL mapInstalled;
+ CARD8 mapState;
+ BOOL override;
+ Colormap colormap B32;
+ CARD32 allEventMasks B32;
+ CARD32 yourEventMask B32;
+ CARD16 doNotPropagateMask B16;
+ CARD16 pad1 B16;
+ Window root B32;
+ INT16 x B16, y B16;
+ CARD16 width B16, height B16;
+ CARD16 borderWidth B16;
+ CARD8 depth;
+ CARD8 pad2;
+} xLbxGetWinAttrAndGeomReply;
+#define sz_xLbxGetWinAttrAndGeomReply 60
+
+
+typedef struct {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxSync */
+ CARD16 length B16;
+} xLbxSyncReq;
+#define sz_xLbxSyncReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 pad0;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xLbxSyncReply;
+#define sz_xLbxSyncReply 32
+
+
+/* an LBX squished charinfo packs the data in a CARD32 as follows */
+#define LBX_WIDTH_SHIFT 26
+#define LBX_LEFT_SHIFT 20
+#define LBX_RIGHT_SHIFT 13
+#define LBX_ASCENT_SHIFT 7
+#define LBX_DESCENT_SHIFT 0
+
+#define LBX_WIDTH_BITS 6
+#define LBX_LEFT_BITS 6
+#define LBX_RIGHT_BITS 7
+#define LBX_ASCENT_BITS 6
+#define LBX_DESCENT_BITS 7
+
+#define LBX_WIDTH_MASK 0xfc000000
+#define LBX_LEFT_MASK 0x03f00000
+#define LBX_RIGHT_MASK 0x000fe000
+#define LBX_ASCENT_MASK 0x00001f80
+#define LBX_DESCENT_MASK 0x0000007f
+
+#define LBX_MASK_BITS(val, n) ((unsigned int) ((val) & ((1 << (n)) - 1)))
+
+typedef struct {
+ CARD32 metrics B32;
+} xLbxCharInfo;
+
+/* note that this is identical to xQueryFontReply except for missing
+ * first 2 words
+ */
+typedef struct {
+ xCharInfo minBounds;
+/* XXX do we need to leave this gunk? */
+#ifndef WORD64
+ CARD32 walign1 B32;
+#endif
+ xCharInfo maxBounds;
+#ifndef WORD64
+ CARD32 walign2 B32;
+#endif
+ CARD16 minCharOrByte2 B16, maxCharOrByte2 B16;
+ CARD16 defaultChar B16;
+ CARD16 nFontProps B16; /* followed by this many xFontProp structures */
+ CARD8 drawDirection;
+ CARD8 minByte1, maxByte1;
+ BOOL allCharsExist;
+ INT16 fontAscent B16, fontDescent B16;
+ CARD32 nCharInfos B32; /* followed by this many xLbxCharInfo structures */
+} xLbxFontInfo;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 compression;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 tag B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ /* X_QueryFont sticks much of the data in the base reply packet,
+ * but we hope that it won't be needed, (and it won't fit in 32 bytes
+ * with the tag anyways)
+ *
+ * if any additional data is needed, its sent in a xLbxFontInfo
+ */
+} xLbxQueryFontReply;
+#define sz_xLbxQueryFontReply 32
+
+typedef struct _LbxChangeProperty {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxChangeProperty */
+ CARD16 length B16;
+ Window window B32;
+ Atom property B32;
+ Atom type B32;
+ CARD8 format;
+ CARD8 mode;
+ BYTE pad[2];
+ CARD32 nUnits B32;
+} xLbxChangePropertyReq;
+#define sz_xLbxChangePropertyReq 24
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 pad;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 tag B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xLbxChangePropertyReply;
+#define sz_xLbxChangePropertyReply 32
+
+typedef struct _LbxGetProperty {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxGetProperty */
+ CARD16 length B16;
+ Window window B32;
+ Atom property B32;
+ Atom type B32;
+ CARD8 delete;
+ BYTE pad[3];
+ CARD32 longOffset B32;
+ CARD32 longLength B32;
+} xLbxGetPropertyReq;
+#define sz_xLbxGetPropertyReq 28
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 format;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ Atom propertyType B32;
+ CARD32 bytesAfter B32;
+ CARD32 nItems B32;
+ CARD32 tag B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+} xLbxGetPropertyReply;
+#define sz_xLbxGetPropertyReply 32
+
+typedef struct _LbxTagData {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxTagData */
+ CARD16 length B16;
+ XID tag B32;
+ CARD32 real_length B32;
+ /* data */
+} xLbxTagDataReq;
+#define sz_xLbxTagDataReq 12
+
+typedef struct _LbxInvalidateTag {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxInvalidateTag */
+ CARD16 length B16;
+ CARD32 tag B32;
+} xLbxInvalidateTagReq;
+#define sz_xLbxInvalidateTagReq 8
+
+typedef struct _LbxPutImage {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxPutImage */
+ CARD16 length B16;
+ CARD8 compressionMethod;
+ CARD8 cacheEnts;
+ CARD8 bitPacked;
+ /* rest is variable */
+} xLbxPutImageReq;
+#define sz_xLbxPutImageReq 7
+
+typedef struct {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxGetImage */
+ CARD16 length B16;
+ Drawable drawable B32;
+ INT16 x B16, y B16;
+ CARD16 width B16, height B16;
+ CARD32 planeMask B32;
+ CARD8 format;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+} xLbxGetImageReq;
+
+#define sz_xLbxGetImageReq 24
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 depth;
+ CARD16 sequenceNumber B16;
+ CARD32 lbxLength B32;
+ CARD32 xLength B32;
+ VisualID visual B32;
+ CARD8 compressionMethod;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xLbxGetImageReply;
+
+#define sz_xLbxGetImageReply 32
+
+/* Following used for LbxPolyPoint, LbxPolyLine, LbxPolySegment,
+ LbxPolyRectangle, LbxPolyArc, LbxPolyFillRectangle and LbxPolyFillArc */
+
+#define GFX_CACHE_SIZE 15
+
+#define GFXdCacheEnt(e) ((e) & 0xf)
+#define GFXgCacheEnt(e) (((e) >> 4) & 0xf)
+#define GFXCacheEnts(d,g) (((d) & 0xf) | (((g) & 0xf) << 4))
+
+#define GFXCacheNone 0xf
+
+typedef struct _LbxPolyPoint {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType;
+ CARD16 length B16;
+ CARD8 cacheEnts;
+ CARD8 padBytes;
+} xLbxPolyPointReq;
+
+#define sz_xLbxPolyPointReq 6
+
+typedef xLbxPolyPointReq xLbxPolyLineReq;
+typedef xLbxPolyPointReq xLbxPolySegmentReq;
+typedef xLbxPolyPointReq xLbxPolyRectangleReq;
+typedef xLbxPolyPointReq xLbxPolyArcReq;
+typedef xLbxPolyPointReq xLbxPolyFillRectangleReq;
+typedef xLbxPolyPointReq xLbxPolyFillArcReq;
+
+#define sz_xLbxPolyLineReq sz_xLbxPolyPointReq
+#define sz_xLbxPolySegmentReq sz_xLbxPolyPointReq
+#define sz_xLbxPolyRectangleReq sz_xLbxPolyPointReq
+#define sz_xLbxPolyArcReq sz_xLbxPolyPointReq
+#define sz_xLbxPolyFillRectangleReq sz_xLbxPolyPointReq
+#define sz_xLbxPolyFillArc sz_xLbxPolyPointReq
+
+typedef struct _LbxFillPoly {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType;
+ CARD16 length B16;
+ CARD8 cacheEnts;
+ BYTE shape;
+ CARD8 padBytes;
+} xLbxFillPolyReq;
+#define sz_xLbxFillPolyReq 7
+
+typedef struct _LbxCopyArea {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType;
+ CARD16 length B16;
+ CARD8 srcCache; /* source drawable */
+ CARD8 cacheEnts; /* dest drawable and gc */
+ /* followed by encoded src x, src y, dst x, dst y, width, height */
+} xLbxCopyAreaReq;
+
+#define sz_xLbxCopyAreaReq 6
+
+typedef struct _LbxCopyPlane {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType;
+ CARD16 length B16;
+ CARD32 bitPlane B32;
+ CARD8 srcCache; /* source drawable */
+ CARD8 cacheEnts; /* dest drawable and gc */
+ /* followed by encoded src x, src y, dst x, dst y, width, height */
+} xLbxCopyPlaneReq;
+
+#define sz_xLbxCopyPlaneReq 10
+
+typedef struct _LbxPolyText {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType;
+ CARD16 length B16;
+ CARD8 cacheEnts;
+ /* followed by encoded src x, src y coordinates and text elts */
+} xLbxPolyTextReq;
+
+#define sz_xLbxPolyTextReq 5
+
+typedef xLbxPolyTextReq xLbxPolyText8Req;
+typedef xLbxPolyTextReq xLbxPolyText16Req;
+
+#define sz_xLbxPolyTextReq 5
+#define sz_xLbxPolyText8Req 5
+#define sz_xLbxPolyText16Req 5
+
+typedef struct _LbxImageText {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType;
+ CARD16 length B16;
+ CARD8 cacheEnts;
+ CARD8 nChars;
+ /* followed by encoded src x, src y coordinates and string */
+} xLbxImageTextReq;
+
+typedef xLbxImageTextReq xLbxImageText8Req;
+typedef xLbxImageTextReq xLbxImageText16Req;
+
+#define sz_xLbxImageTextReq 6
+#define sz_xLbxImageText8Req 6
+#define sz_xLbxImageText16Req 6
+
+typedef struct {
+ CARD8 offset;
+ CARD8 diff;
+} xLbxDiffItem;
+#define sz_xLbxDiffItem 2
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 nOpts;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 optDataStart B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xLbxStartReply;
+#define sz_xLbxStartReply 32
+#define sz_xLbxStartReplyHdr 8
+
+typedef struct _LbxQueryExtension {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxQueryExtension */
+ CARD16 length B16;
+ CARD32 nbytes B32;
+} xLbxQueryExtensionReq;
+#define sz_xLbxQueryExtensionReq 8
+
+typedef struct _LbxQueryExtensionReply {
+ BYTE type; /* X_Reply */
+ CARD8 numReqs;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ BOOL present;
+ CARD8 major_opcode;
+ CARD8 first_event;
+ CARD8 first_error;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+
+ /* reply & event generating requests */
+} xLbxQueryExtensionReply;
+#define sz_xLbxQueryExtensionReply 32
+
+
+typedef struct _LbxBeginLargeRequest {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxBeginLargeRequest */
+ CARD16 length B16;
+ CARD32 largeReqLength B32;
+} xLbxBeginLargeRequestReq;
+#define sz_BeginLargeRequestReq 8
+
+typedef struct _LbxLargeRequestData {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxLargeRequestData */
+ CARD16 length B16;
+ /* followed by LISTofCARD8 data */
+} xLbxLargeRequestDataReq;
+#define sz_LargeRequestDataReq 4
+
+typedef struct _LbxEndLargeRequest {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxEndLargeRequest */
+ CARD16 length B16;
+} xLbxEndLargeRequestReq;
+#define sz_EndLargeRequestReq 4
+
+
+
+typedef struct _LbxSwitchEvent {
+ BYTE type; /* always eventBase + LbxEvent */
+ BYTE lbxType; /* LbxSwitchEvent */
+ CARD16 pad B16;
+ CARD32 client B32;
+} xLbxSwitchEvent;
+#define sz_xLbxSwitchEvent 8
+
+typedef struct _LbxCloseEvent {
+ BYTE type; /* always eventBase + LbxEvent */
+ BYTE lbxType; /* LbxCloseEvent */
+ CARD16 sequenceNumber B16;
+ CARD32 client B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xLbxCloseEvent;
+#define sz_xLbxCloseEvent 32
+
+typedef struct _LbxInvalidateTagEvent {
+ BYTE type; /* always eventBase + LbxEvent */
+ BYTE lbxType; /* LbxInvalidateTagEvent */
+ CARD16 sequenceNumber B16;
+ CARD32 tag B32;
+ CARD32 tagType B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xLbxInvalidateTagEvent;
+#define sz_xLbxInvalidateTagEvent 32
+
+typedef struct _LbxSendTagDataEvent {
+ BYTE type; /* always eventBase + LbxEvent */
+ BYTE lbxType; /* LbxSendTagDataEvent */
+ CARD16 sequenceNumber B16;
+ CARD32 tag B32;
+ CARD32 tagType B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xLbxSendTagDataEvent;
+#define sz_xLbxSendTagDataEvent 32
+
+typedef struct _LbxListenToOneEvent {
+ BYTE type; /* always eventBase + LbxEvent */
+ BYTE lbxType; /* LbxListenToOneEvent */
+ CARD16 sequenceNumber B16;
+ CARD32 client B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xLbxListenToOneEvent;
+#define sz_xLbxListenToOneEvent 32
+
+typedef struct _LbxListenToAllEvent {
+ BYTE type; /* always eventBase + LbxEvent */
+ BYTE lbxType; /* LbxListenToAllEvent */
+ CARD16 sequenceNumber B16;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+} xLbxListenToAllEvent;
+#define sz_xLbxListenToOneEvent 32
+
+typedef struct _LbxReleaseCmapEvent {
+ BYTE type; /* always eventBase + LbxEvent */
+ BYTE lbxType; /* LbxReleaseCmapEvent */
+ CARD16 sequenceNumber B16;
+ Colormap colormap B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xLbxReleaseCmapEvent;
+#define sz_xLbxReleaseCmapEvent 32
+
+
+typedef struct _LbxFreeCellsEvent {
+ BYTE type; /* always eventBase + LbxEvent */
+ BYTE lbxType; /* LbxFreeCellsEvent */
+ CARD16 sequenceNumber B16;
+ Colormap colormap B32;
+ CARD32 pixelStart B32;
+ CARD32 pixelEnd B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xLbxFreeCellsEvent;
+#define sz_xLbxFreeCellsEvent 32
+
+
+/*
+ * squished X event sizes. If these change, be sure to update lbxquish.c
+ * and unsquish.c appropriately
+ *
+ * lbxsz_* is the padded squished length
+ * lbxupsz_* is the unpadded squished length
+ */
+
+#define lbxsz_KeyButtonEvent 32
+#define lbxupsz_KeyButtonEvent 31
+
+#define lbxsz_EnterLeaveEvent 32
+#define lbxupsz_EnterLeaveEvent 32
+
+#define lbxsz_FocusEvent 12
+#define lbxupsz_FocusEvent 9
+
+#define lbxsz_KeymapEvent 32
+#define lbxupsz_KeymapEvent 32
+
+#define lbxsz_ExposeEvent 20
+#define lbxupsz_ExposeEvent 18
+
+#define lbxsz_GfxExposeEvent 24
+#define lbxupsz_GfxExposeEvent 21
+
+#define lbxsz_NoExposeEvent 12
+#define lbxupsz_NoExposeEvent 11
+
+#define lbxsz_VisibilityEvent 12
+#define lbxupsz_VisibilityEvent 9
+
+#define lbxsz_CreateNotifyEvent 24
+#define lbxupsz_CreateNotifyEvent 23
+
+#define lbxsz_DestroyNotifyEvent 12
+#define lbxupsz_DestroyNotifyEvent 12
+
+#define lbxsz_UnmapNotifyEvent 16
+#define lbxupsz_UnmapNotifyEvent 13
+
+#define lbxsz_MapNotifyEvent 16
+#define lbxupsz_MapNotifyEvent 13
+
+#define lbxsz_MapRequestEvent 12
+#define lbxupsz_MapRequestEvent 12
+
+#define lbxsz_ReparentEvent 24
+#define lbxupsz_ReparentEvent 21
+
+#define lbxsz_ConfigureNotifyEvent 28
+#define lbxupsz_ConfigureNotifyEvent 27
+
+#define lbxsz_ConfigureRequestEvent 28
+#define lbxupsz_ConfigureRequestEvent 28
+
+#define lbxsz_GravityEvent 16
+#define lbxupsz_GravityEvent 16
+
+#define lbxsz_ResizeRequestEvent 12
+#define lbxupsz_ResizeRequestEvent 12
+
+#define lbxsz_CirculateEvent 20
+#define lbxupsz_CirculateEvent 17
+
+#define lbxsz_PropertyEvent 20
+#define lbxupsz_PropertyEvent 17
+
+#define lbxsz_SelectionClearEvent 16
+#define lbxupsz_SelectionClearEvent 16
+
+#define lbxsz_SelectionRequestEvent 28
+#define lbxupsz_SelectionRequestEvent 28
+
+#define lbxsz_SelectionNotifyEvent 24
+#define lbxupsz_SelectionNotifyEvent 24
+
+#define lbxsz_ColormapEvent 16
+#define lbxupsz_ColormapEvent 14
+
+#define lbxsz_MappingNotifyEvent 8
+#define lbxupsz_MappingNotifyEvent 7
+
+#define lbxsz_ClientMessageEvent 32
+#define lbxupsz_ClientMessageEvent 32
+
+#define lbxsz_UnknownEvent 32
+
+#ifdef DEBUG
+
+#define DBG_SWITCH 0x00000001
+#define DBG_CLOSE 0x00000002
+#define DBG_IO 0x00000004
+#define DBG_READ_REQ 0x00000008
+#define DBG_LEN 0x00000010
+#define DBG_BLOCK 0x00000020
+#define DBG_CLIENT 0x00000040
+#define DBG_DELTA 0x00000080
+#endif
+/*
+ * Cancel the previous redefinition of the basic types, thus restoring their
+ * X.h definitions.
+ */
+
+#undef XID
+#undef Atom
+#undef Colormap
+#undef Drawable
+#undef VisualID
+#undef Window
+
+#endif /* _LBXPROTO_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/extensions/mitmiscconst.h b/stream-servers/apigen-codec-common/X11/extensions/mitmiscconst.h
new file mode 100644
index 0000000..adc5f94
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/mitmiscconst.h
@@ -0,0 +1,38 @@
+/************************************************************
+
+Copyright 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+********************************************************/
+
+/* RANDOM CRUFT! THIS HAS NO OFFICIAL X CONSORTIUM OR X PROJECT TEAM BLESSING */
+
+
+#ifndef _MITMISCCONST_H_
+#define _MITMISCCONST_H_
+
+#define MITMiscNumberEvents 0
+#define MITMiscNumberErrors 0
+
+#define MITMISCNAME "MIT-SUNDRY-NONSTANDARD"
+
+#endif
diff --git a/stream-servers/apigen-codec-common/X11/extensions/mitmiscproto.h b/stream-servers/apigen-codec-common/X11/extensions/mitmiscproto.h
new file mode 100644
index 0000000..18c202a
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/mitmiscproto.h
@@ -0,0 +1,68 @@
+/************************************************************
+
+Copyright 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+********************************************************/
+
+/* RANDOM CRUFT! THIS HAS NO OFFICIAL X CONSORTIUM OR X PROJECT TEAM BLESSING */
+
+#ifndef _MITMISCPROTO_H_
+#define _MITMISCPROTO_H_
+
+#include <X11/extensions/mitmiscconst.h>
+
+#define X_MITSetBugMode 0
+#define X_MITGetBugMode 1
+
+typedef struct _SetBugMode {
+ CARD8 reqType; /* always MITReqCode */
+ CARD8 mitReqType; /* always X_MITSetBugMode */
+ CARD16 length B16;
+ BOOL onOff;
+ BYTE pad0;
+ CARD16 pad1;
+} xMITSetBugModeReq;
+#define sz_xMITSetBugModeReq 8
+
+typedef struct _GetBugMode {
+ CARD8 reqType; /* always MITReqCode */
+ CARD8 mitReqType; /* always X_MITGetBugMode */
+ CARD16 length B16;
+} xMITGetBugModeReq;
+#define sz_xMITGetBugModeReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL onOff;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xMITGetBugModeReply;
+#define sz_xMITGetBugModeReply 32
+
+#endif /* _MITMISCPROTO_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/extensions/multibuf.h b/stream-servers/apigen-codec-common/X11/extensions/multibuf.h
new file mode 100644
index 0000000..12fda35
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/multibuf.h
@@ -0,0 +1,213 @@
+/*
+ *
+Copyright 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+ */
+
+#ifndef _MULTIBUF_H_
+#define _MULTIBUF_H_
+
+#include <X11/Xfuncproto.h>
+
+#include <X11/extensions/multibufconst.h>
+
+#if !defined(UNIXCPP) || defined(ANSICPP)
+#define MbufGetReq(name,req,info) GetReq (name, req); \
+ req->reqType = info->codes->major_opcode; \
+ req->mbufReqType = X_##name;
+#else
+#define MbufGetReq(name,req,info) GetReq (name, req); \
+ req->reqType = info->codes->major_opcode; \
+ req->mbufReqType = X_/**/name;
+#endif
+
+/*
+ * Extra definitions that will only be needed in the client
+ */
+typedef XID Multibuffer;
+
+typedef struct {
+ int type; /* of event */
+ unsigned long serial; /* # of last request processed by server */
+ int send_event; /* true if this came frome a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Multibuffer buffer; /* buffer of event */
+ int state; /* see Clobbered constants above */
+} XmbufClobberNotifyEvent;
+
+typedef struct {
+ int type; /* of event */
+ unsigned long serial; /* # of last request processed by server */
+ int send_event; /* true if this came frome a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Multibuffer buffer; /* buffer of event */
+} XmbufUpdateNotifyEvent;
+
+
+/*
+ * per-window attributes that can be got
+ */
+typedef struct {
+ int displayed_index; /* which buffer is being displayed */
+ int update_action; /* Undefined, Background, Untouched, Copied */
+ int update_hint; /* Frequent, Intermittent, Static */
+ int window_mode; /* Mono, Stereo */
+ int nbuffers; /* Number of buffers */
+ Multibuffer *buffers; /* Buffers */
+} XmbufWindowAttributes;
+
+/*
+ * per-window attributes that can be set
+ */
+typedef struct {
+ int update_hint; /* Frequent, Intermittent, Static */
+} XmbufSetWindowAttributes;
+
+
+/*
+ * per-buffer attributes that can be got
+ */
+typedef struct {
+ Window window; /* which window this belongs to */
+ unsigned long event_mask; /* events that have been selected */
+ int buffer_index; /* which buffer is this */
+ int side; /* Mono, Left, Right */
+} XmbufBufferAttributes;
+
+/*
+ * per-buffer attributes that can be set
+ */
+typedef struct {
+ unsigned long event_mask; /* events that have been selected */
+} XmbufSetBufferAttributes;
+
+
+/*
+ * per-screen buffer info (there will be lists of them)
+ */
+typedef struct {
+ VisualID visualid; /* visual usuable at this depth */
+ int max_buffers; /* most buffers for this visual */
+ int depth; /* depth of buffers to be created */
+} XmbufBufferInfo;
+
+_XFUNCPROTOBEGIN
+
+extern Bool XmbufQueryExtension(
+ Display* /* dpy */,
+ int* /* event_base_return */,
+ int* /* error_base_return */
+);
+
+extern Status XmbufGetVersion(
+ Display* /* dpy */,
+ int* /* major_version_return */,
+ int* /* minor_version_return */
+);
+
+extern int XmbufCreateBuffers(
+ Display* /* dpy */,
+ Window /* w */,
+ int /* count */,
+ int /* update_action */,
+ int /* update_hint */,
+ Multibuffer* /* buffers */
+);
+
+extern void XmbufDestroyBuffers(
+ Display* /* dpy */,
+ Window /* window */
+);
+
+extern void XmbufDisplayBuffers(
+ Display* /* dpy */,
+ int /* count */,
+ Multibuffer* /* buffers */,
+ int /* min_delay */,
+ int /* max_delay */
+);
+
+extern Status XmbufGetWindowAttributes(
+ Display* /* dpy */,
+ Window /* w */,
+ XmbufWindowAttributes* /* attr */
+);
+
+extern void XmbufChangeWindowAttributes(
+ Display* /* dpy */,
+ Window /* w */,
+ unsigned long /* valuemask */,
+ XmbufSetWindowAttributes* /* attr */
+);
+
+extern Status XmbufGetBufferAttributes(
+ Display* /* dpy */,
+ Multibuffer /* b */,
+ XmbufBufferAttributes* /* attr */
+);
+
+extern void XmbufChangeBufferAttributes(
+ Display* /* dpy */,
+ Multibuffer /* b */,
+ unsigned long /* valuemask */,
+ XmbufSetBufferAttributes* /* attr */
+);
+
+extern Status XmbufGetScreenInfo(
+ Display* /* dpy */,
+ Drawable /* d */,
+ int* /* nmono_return */,
+ XmbufBufferInfo** /* mono_info_return */,
+ int* /* nstereo_return */,
+ XmbufBufferInfo** /* stereo_info_return */
+);
+
+extern Window XmbufCreateStereoWindow(
+ Display* /* dpy */,
+ Window /* parent */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ unsigned int /* border_width */,
+ int /* depth */,
+ unsigned int /* class */,
+ Visual* /* visual */,
+ unsigned long /* valuemask */,
+ XSetWindowAttributes* /* attr */,
+ Multibuffer* /* leftp */,
+ Multibuffer* /* rightp */
+);
+
+extern void XmbufClearBufferArea(
+ Display* /* dpy */,
+ Multibuffer /* buffer */,
+ int /* x */,
+ int /* y */,
+ unsigned int /* width */,
+ unsigned int /* height */,
+ Bool /* exposures */
+);
+
+_XFUNCPROTOEND
+
+#endif /* _MULTIBUF_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/extensions/multibufconst.h b/stream-servers/apigen-codec-common/X11/extensions/multibufconst.h
new file mode 100644
index 0000000..2d1238c
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/multibufconst.h
@@ -0,0 +1,83 @@
+/*
+Copyright 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+ */
+
+#ifndef _MULTIBUFCONST_H_
+#define _MULTIBUFCONST_H_
+
+#define MULTIBUFFER_PROTOCOL_NAME "Multi-Buffering"
+
+#define MULTIBUFFER_MAJOR_VERSION 1 /* current version numbers */
+#define MULTIBUFFER_MINOR_VERSION 1 /* has ClearImageBufferArea */
+
+/*
+ * update_action field
+ */
+#define MultibufferUpdateActionUndefined 0
+#define MultibufferUpdateActionBackground 1
+#define MultibufferUpdateActionUntouched 2
+#define MultibufferUpdateActionCopied 3
+
+/*
+ * update_hint field
+ */
+#define MultibufferUpdateHintFrequent 0
+#define MultibufferUpdateHintIntermittent 1
+#define MultibufferUpdateHintStatic 2
+
+/*
+ * valuemask fields
+ */
+#define MultibufferWindowUpdateHint (1L << 0)
+#define MultibufferBufferEventMask (1L << 0)
+
+/*
+ * mono vs. stereo and left vs. right
+ */
+#define MultibufferModeMono 0
+#define MultibufferModeStereo 1
+#define MultibufferSideMono 0
+#define MultibufferSideLeft 1
+#define MultibufferSideRight 2
+
+/*
+ * clobber state
+ */
+#define MultibufferUnclobbered 0
+#define MultibufferPartiallyClobbered 1
+#define MultibufferFullyClobbered 2
+
+/*
+ * event stuff
+ */
+#define MultibufferClobberNotifyMask 0x02000000
+#define MultibufferUpdateNotifyMask 0x04000000
+
+#define MultibufferClobberNotify 0
+#define MultibufferUpdateNotify 1
+#define MultibufferNumberEvents (MultibufferUpdateNotify + 1)
+
+#define MultibufferBadBuffer 0
+#define MultibufferNumberErrors (MultibufferBadBuffer + 1)
+
+#endif /* _MULTIBUFCONST_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/extensions/multibufproto.h b/stream-servers/apigen-codec-common/X11/extensions/multibufproto.h
new file mode 100644
index 0000000..e2184d3
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/multibufproto.h
@@ -0,0 +1,295 @@
+/*
+Copyright 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+ */
+
+#ifndef _MULTIBUFPROTO_H_
+#define _MULTIBUFPROTO_H_
+
+#include <X11/extensions/multibufconst.h>
+
+/*
+ * Protocol requests constants and alignment values
+ */
+
+#define Window CARD32
+#define Drawable CARD32
+#define VisualID CARD32
+#define Multibuffer CARD32
+
+#define X_MbufGetBufferVersion 0
+#define X_MbufCreateImageBuffers 1
+#define X_MbufDestroyImageBuffers 2
+#define X_MbufDisplayImageBuffers 3
+#define X_MbufSetMBufferAttributes 4
+#define X_MbufGetMBufferAttributes 5
+#define X_MbufSetBufferAttributes 6
+#define X_MbufGetBufferAttributes 7
+#define X_MbufGetBufferInfo 8
+#define X_MbufCreateStereoWindow 9
+#define X_MbufClearImageBufferArea 10
+
+
+typedef struct xMbufBufferInfo {
+ CARD32 visualID B32; /* associated visual */
+ CARD16 maxBuffers B16; /* maximum supported buffers */
+ CARD8 depth; /* depth of visual (redundant) */
+ CARD8 unused;
+} xMbufBufferInfo;
+#define sz_xMbufBufferInfo 8
+
+typedef struct {
+ BYTE type;
+ BYTE unused;
+ CARD16 sequenceNumber B16;
+ CARD32 buffer B32; /* affected buffer */
+ BYTE state; /* current status */
+ CARD8 unused1;
+ CARD16 unused2 B16;
+ CARD32 unused3 B32;
+ CARD32 unused4 B32;
+ CARD32 unused5 B32;
+ CARD32 unused6 B32;
+ CARD32 unused7 B32;
+} xMbufClobberNotifyEvent;
+
+typedef struct {
+ BYTE type;
+ BYTE unused;
+ CARD16 sequenceNumber B16;
+ CARD32 buffer B32; /* affected buffer */
+ CARD32 timeStamp B32; /* update time */
+ CARD32 unused1 B32;
+ CARD32 unused2 B32;
+ CARD32 unused3 B32;
+ CARD32 unused4 B32;
+ CARD32 unused5 B32;
+ CARD32 unused6 B32;
+} xMbufUpdateNotifyEvent;
+
+typedef struct {
+ CARD8 reqType; /* always codes->major_opcode */
+ CARD8 mbufReqType; /* always X_MbufGetBufferVersion */
+ CARD16 length B16;
+} xMbufGetBufferVersionReq;
+#define sz_xMbufGetBufferVersionReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD8 majorVersion; /* major version of Multi-Buffering protocol */
+ CARD8 minorVersion; /* minor version of Multi-Buffering protocol */
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xMbufGetBufferVersionReply;
+#define sz_xMbufGetBufferVersionReply 32
+
+typedef struct {
+ CARD8 reqType; /* always codes->major_opcode */
+ CARD8 mbufReqType; /* always X_MbufCreateImageBuffers */
+ CARD16 length B16;
+ CARD32 window B32; /* associated window */
+ CARD8 updateAction; /* action at update */
+ CARD8 updateHint; /* hint as to frequency of updates */
+ CARD16 unused;
+} xMbufCreateImageBuffersReq; /* followed by buffer ids */
+#define sz_xMbufCreateImageBuffersReq 12
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 numberBuffer B16; /* number successfully allocated */
+ CARD16 unused1 B16;
+ CARD32 unused2 B32;
+ CARD32 unused3 B32;
+ CARD32 unused4 B32;
+ CARD32 unused5 B32;
+ CARD32 unused6 B32;
+} xMbufCreateImageBuffersReply;
+#define sz_xMbufCreateImageBuffersReply 32
+
+typedef struct {
+ CARD8 reqType; /* always codes->major_opcode */
+ CARD8 mbufReqType; /* always X_MbufDestroyImageBuffers */
+ CARD16 length B16;
+ CARD32 window B32; /* associated window */
+} xMbufDestroyImageBuffersReq;
+#define sz_xMbufDestroyImageBuffersReq 8
+
+typedef struct {
+ CARD8 reqType; /* always codes->major_opcode */
+ CARD8 mbufReqType; /* always X_MbufDisplayImageBuffers */
+ CARD16 length B16;
+ CARD16 minDelay B16; /* minimum time between last update and now */
+ CARD16 maxDelay B16; /* maximum time between last update and now */
+} xMbufDisplayImageBuffersReq; /* followed by list of buffers */
+#define sz_xMbufDisplayImageBuffersReq 8
+
+typedef struct {
+ CARD8 reqType; /* always codes->major_opcode */
+ CARD8 mbufReqType; /* always X_MbufSetMBufferAttributes */
+ CARD16 length B16;
+ CARD32 window B32; /* associated window */
+ CARD32 valueMask B32; /* modified entries */
+} xMbufSetMBufferAttributesReq; /* followed by values */
+#define sz_xMbufSetMBufferAttributesReq 12
+
+typedef struct {
+ CARD8 reqType; /* always codes->major_opcode */
+ CARD8 mbufReqType; /* always X_MbufGetMBufferAttributes */
+ CARD16 length B16;
+ CARD32 window B32; /* associated window */
+} xMbufGetMBufferAttributesReq;
+#define sz_xMbufGetMBufferAttributesReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 displayedBuffer B16; /* currently visible buffer */
+ CARD8 updateAction;
+ CARD8 updateHint;
+ CARD8 windowMode;
+ CARD8 unused0;
+ CARD16 unused1 B16;
+ CARD32 unused2 B32;
+ CARD32 unused3 B32;
+ CARD32 unused4 B32;
+ CARD32 unused5 B32;
+} xMbufGetMBufferAttributesReply;
+#define sz_xMbufGetMBufferAttributesReply 32
+
+typedef struct {
+ CARD8 reqType; /* always codes->major_opcode */
+ CARD8 mbufReqType; /* always X_MbufSetBufferAttributes */
+ CARD16 length B16;
+ CARD32 buffer B32;
+ CARD32 valueMask B32;
+} xMbufSetBufferAttributesReq; /* followed by values */
+#define sz_xMbufSetBufferAttributesReq 12
+
+typedef struct {
+ CARD8 reqType; /* always codes->major_opcode */
+ CARD8 mbufReqType; /* always X_MbufGetBufferAttributes */
+ CARD16 length B16;
+ CARD32 buffer B32;
+} xMbufGetBufferAttributesReq;
+#define sz_xMbufGetBufferAttributesReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 window B32;
+ CARD32 eventMask B32;
+ CARD16 bufferIndex B16;
+ CARD8 side;
+ CARD8 unused0;
+ CARD32 unused1 B32;
+ CARD32 unused2 B32;
+ CARD32 unused3 B32;
+} xMbufGetBufferAttributesReply;
+#define sz_xMbufGetBufferAttributesReply 32
+
+typedef struct {
+ CARD8 reqType; /* always codes->major_opcode */
+ CARD8 mbufReqType; /* always X_MbufGetBufferInfo */
+ CARD16 length B16;
+ Drawable drawable B32;
+} xMbufGetBufferInfoReq;
+#define sz_xMbufGetBufferInfoReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 normalInfo B16;
+ CARD16 stereoInfo B16;
+ CARD32 unused1 B32;
+ CARD32 unused2 B32;
+ CARD32 unused3 B32;
+ CARD32 unused4 B32;
+ CARD32 unused5 B32;
+} xMbufGetBufferInfoReply; /* followed by buffer infos */
+#define sz_xMbufGetBufferInfoReply 32
+
+
+typedef struct {
+ CARD8 reqType; /* always codes->major_opcode */
+ CARD8 mbufReqType; /* always X_MbufCreateStereoWindow */
+ CARD16 length B16;
+ CARD8 unused0;
+ CARD8 unused1;
+ CARD8 unused2;
+ CARD8 depth;
+ Window wid B32;
+ Window parent B32;
+ Multibuffer left B32; /* associated buffers */
+ Multibuffer right B32;
+ INT16 x B16;
+ INT16 y B16;
+ CARD16 width B16;
+ CARD16 height B16;
+ CARD16 borderWidth B16;
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD16 c_class B16;
+#else
+ CARD16 class B16;
+#endif
+ VisualID visual B32;
+ CARD32 mask B32;
+} xMbufCreateStereoWindowReq; /* followed by value list */
+#define sz_xMbufCreateStereoWindowReq 44
+
+typedef struct {
+ CARD8 reqType; /* always codes->major_opcode */
+ CARD8 mbufReqType; /* always X_MbufClearImageBufferArea */
+ CARD16 length B16;
+ Multibuffer buffer B32;
+ INT16 x B16;
+ INT16 y B16;
+ CARD16 width B16;
+ CARD16 height B16;
+ CARD8 unused0;
+ CARD8 unused1;
+ CARD8 unused2;
+ BOOL exposures;
+} xMbufClearImageBufferAreaReq;
+#define sz_xMbufClearImageBufferAreaReq 20
+
+#undef Window
+#undef Drawable
+#undef VisualID
+#undef Multibuffer
+
+#endif /* _MULTIBUFPROTO_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/extensions/secur.h b/stream-servers/apigen-codec-common/X11/extensions/secur.h
new file mode 100644
index 0000000..ca27b29
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/secur.h
@@ -0,0 +1,61 @@
+/*
+Copyright 1996, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+*/
+
+#ifndef _SECUR_H
+#define _SECUR_H
+
+#define SECURITY_EXTENSION_NAME "SECURITY"
+#define SECURITY_MAJOR_VERSION 1
+#define SECURITY_MINOR_VERSION 0
+
+#define XSecurityNumberEvents 1
+#define XSecurityNumberErrors 2
+#define XSecurityBadAuthorization 0
+#define XSecurityBadAuthorizationProtocol 1
+
+/* trust levels */
+#define XSecurityClientTrusted 0
+#define XSecurityClientUntrusted 1
+
+/* authorization attribute masks */
+#define XSecurityTimeout (1<<0)
+#define XSecurityTrustLevel (1<<1)
+#define XSecurityGroup (1<<2)
+#define XSecurityEventMask (1<<3)
+#define XSecurityAllAuthorizationAttributes \
+ (XSecurityTimeout | XSecurityTrustLevel | XSecurityGroup | XSecurityEventMask)
+
+/* event masks */
+#define XSecurityAuthorizationRevokedMask (1<<0)
+#define XSecurityAllEventMasks XSecurityAuthorizationRevokedMask
+
+/* event offsets */
+#define XSecurityAuthorizationRevoked 0
+
+#define XSecurityAuthorizationName "XC-QUERY-SECURITY-1"
+#define XSecurityAuthorizationNameLen 19
+
+#endif /* _SECUR_H */
diff --git a/stream-servers/apigen-codec-common/X11/extensions/security.h b/stream-servers/apigen-codec-common/X11/extensions/security.h
new file mode 100644
index 0000000..f554131
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/security.h
@@ -0,0 +1,77 @@
+/*
+Copyright 1996, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+*/
+
+#ifndef _SECURITY_H
+#define _SECURITY_H
+
+#define _XAUTH_STRUCT_ONLY
+#include <X11/Xauth.h>
+
+#include <X11/extensions/secur.h>
+
+_XFUNCPROTOBEGIN
+
+Status XSecurityQueryExtension (
+ Display *dpy,
+ int *major_version_return,
+ int *minor_version_return);
+
+Xauth *XSecurityAllocXauth(void);
+
+void XSecurityFreeXauth(Xauth *auth);
+
+/* type for returned auth ids */
+typedef unsigned long XSecurityAuthorization;
+
+typedef struct {
+ unsigned int timeout;
+ unsigned int trust_level;
+ XID group;
+ long event_mask;
+} XSecurityAuthorizationAttributes;
+
+Xauth *XSecurityGenerateAuthorization(
+ Display *dpy,
+ Xauth *auth_in,
+ unsigned long valuemask,
+ XSecurityAuthorizationAttributes *attributes,
+ XSecurityAuthorization *auth_id_return);
+
+Status XSecurityRevokeAuthorization(
+ Display *dpy,
+ XSecurityAuthorization auth_id);
+
+_XFUNCPROTOEND
+
+typedef struct {
+ int type; /* event base + XSecurityAuthorizationRevoked */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ XSecurityAuthorization auth_id; /* revoked authorization id */
+} XSecurityAuthorizationRevokedEvent;
+
+#endif /* _SECURITY_H */
diff --git a/stream-servers/apigen-codec-common/X11/extensions/securproto.h b/stream-servers/apigen-codec-common/X11/extensions/securproto.h
new file mode 100644
index 0000000..409a4c5
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/securproto.h
@@ -0,0 +1,110 @@
+/*
+Copyright 1996, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+*/
+
+#ifndef _SECURPROTO_H
+#define _SECURPROTO_H
+
+#include <X11/extensions/secur.h>
+
+#define X_SecurityQueryVersion 0
+#define X_SecurityGenerateAuthorization 1
+#define X_SecurityRevokeAuthorization 2
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 securityReqType;
+ CARD16 length B16;
+ CARD16 majorVersion B16;
+ CARD16 minorVersion B16;
+} xSecurityQueryVersionReq;
+#define sz_xSecurityQueryVersionReq 8
+
+typedef struct {
+ CARD8 type;
+ CARD8 pad0;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 majorVersion B16;
+ CARD16 minorVersion B16;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ } xSecurityQueryVersionReply;
+#define sz_xSecurityQueryVersionReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 securityReqType;
+ CARD16 length B16;
+ CARD16 nbytesAuthProto B16;
+ CARD16 nbytesAuthData B16;
+ CARD32 valueMask B32;
+ /* auth protocol name padded to 4 bytes */
+ /* auth protocol data padded to 4 bytes */
+ /* list of CARD32 values, if any */
+} xSecurityGenerateAuthorizationReq;
+#define sz_xSecurityGenerateAuthorizationReq 12
+
+typedef struct {
+ CARD8 type;
+ CARD8 pad0;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 authId B32;
+ CARD16 dataLength B16;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ } xSecurityGenerateAuthorizationReply;
+#define sz_xSecurityGenerateAuthorizationReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 securityReqType;
+ CARD16 length B16;
+ CARD32 authId B32;
+} xSecurityRevokeAuthorizationReq;
+#define sz_xSecurityRevokeAuthorizationReq 8
+
+typedef struct _xSecurityAuthorizationRevokedEvent {
+ BYTE type;
+ BYTE detail;
+ CARD16 sequenceNumber B16;
+ CARD32 authId B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xSecurityAuthorizationRevokedEvent;
+#define sz_xSecurityAuthorizationRevokedEvent 32
+
+#endif /* _SECURPROTO_H */
diff --git a/stream-servers/apigen-codec-common/X11/extensions/shape.h b/stream-servers/apigen-codec-common/X11/extensions/shape.h
new file mode 100644
index 0000000..66af5b1
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/shape.h
@@ -0,0 +1,152 @@
+/************************************************************
+
+Copyright 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+********************************************************/
+
+#ifndef _SHAPE_H_
+#define _SHAPE_H_
+
+#include <X11/Xfuncproto.h>
+#include <X11/extensions/shapeconst.h>
+
+#ifndef _SHAPE_SERVER_
+#include <X11/Xutil.h>
+
+typedef struct {
+ int type; /* of event */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came frome a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window; /* window of event */
+ int kind; /* ShapeBounding or ShapeClip */
+ int x, y; /* extents of new region */
+ unsigned width, height;
+ Time time; /* server timestamp when region changed */
+ Bool shaped; /* true if the region exists */
+} XShapeEvent;
+
+_XFUNCPROTOBEGIN
+
+extern Bool XShapeQueryExtension (
+ Display* /* display */,
+ int* /* event_base */,
+ int* /* error_base */
+);
+
+extern Status XShapeQueryVersion (
+ Display* /* display */,
+ int* /* major_version */,
+ int* /* minor_version */
+);
+
+extern void XShapeCombineRegion (
+ Display* /* display */,
+ Window /* dest */,
+ int /* dest_kind */,
+ int /* x_off */,
+ int /* y_off */,
+ Region /* region */,
+ int /* op */
+);
+
+extern void XShapeCombineRectangles (
+ Display* /* display */,
+ Window /* dest */,
+ int /* dest_kind */,
+ int /* x_off */,
+ int /* y_off */,
+ XRectangle* /* rectangles */,
+ int /* n_rects */,
+ int /* op */,
+ int /* ordering */
+);
+
+extern void XShapeCombineMask (
+ Display* /* display */,
+ Window /* dest */,
+ int /* dest_kind */,
+ int /* x_off */,
+ int /* y_off */,
+ Pixmap /* src */,
+ int /* op */
+);
+
+extern void XShapeCombineShape (
+ Display* /* display */,
+ Window /* dest */,
+ int /* dest_kind */,
+ int /* x_off */,
+ int /* y_off */,
+ Window /* src */,
+ int /* src_kind */,
+ int /* op */
+);
+
+extern void XShapeOffsetShape (
+ Display* /* display */,
+ Window /* dest */,
+ int /* dest_kind */,
+ int /* x_off */,
+ int /* y_off */
+);
+
+extern Status XShapeQueryExtents (
+ Display* /* display */,
+ Window /* window */,
+ Bool* /* bounding_shaped */,
+ int* /* x_bounding */,
+ int* /* y_bounding */,
+ unsigned int* /* w_bounding */,
+ unsigned int* /* h_bounding */,
+ Bool* /* clip_shaped */,
+ int* /* x_clip */,
+ int* /* y_clip */,
+ unsigned int* /* w_clip */,
+ unsigned int* /* h_clip */
+);
+
+extern void XShapeSelectInput (
+ Display* /* display */,
+ Window /* window */,
+ unsigned long /* mask */
+);
+
+extern unsigned long XShapeInputSelected (
+ Display* /* display */,
+ Window /* window */
+);
+
+extern XRectangle *XShapeGetRectangles (
+ Display* /* display */,
+ Window /* window */,
+ int /* kind */,
+ int* /* count */,
+ int* /* ordering */
+);
+
+_XFUNCPROTOEND
+
+#endif /* !_SHAPE_SERVER_ */
+
+#endif /* _SHAPE_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/extensions/shapeconst.h b/stream-servers/apigen-codec-common/X11/extensions/shapeconst.h
new file mode 100644
index 0000000..9088956
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/shapeconst.h
@@ -0,0 +1,55 @@
+/************************************************************
+
+Copyright 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+********************************************************/
+
+#ifndef _SHAPECONST_H_
+#define _SHAPECONST_H_
+
+/*
+ * Protocol requests constants and alignment values
+ * These would really be in SHAPE's X.h and Xproto.h equivalents
+ */
+
+#define SHAPENAME "SHAPE"
+
+#define SHAPE_MAJOR_VERSION 1 /* current version numbers */
+#define SHAPE_MINOR_VERSION 1
+
+#define ShapeSet 0
+#define ShapeUnion 1
+#define ShapeIntersect 2
+#define ShapeSubtract 3
+#define ShapeInvert 4
+
+#define ShapeBounding 0
+#define ShapeClip 1
+#define ShapeInput 2
+
+#define ShapeNotifyMask (1L << 0)
+#define ShapeNotify 0
+
+#define ShapeNumberEvents (ShapeNotify + 1)
+
+#endif /* _SHAPECONST_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/extensions/shapeproto.h b/stream-servers/apigen-codec-common/X11/extensions/shapeproto.h
new file mode 100644
index 0000000..49bd1a1
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/shapeproto.h
@@ -0,0 +1,237 @@
+/************************************************************
+
+Copyright 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+********************************************************/
+
+#ifndef _SHAPEPROTO_H_
+#define _SHAPEPROTO_H_
+
+#include <X11/extensions/shapeconst.h>
+
+/*
+ * Protocol requests constants and alignment values
+ * These would really be in SHAPE's X.h and Xproto.h equivalents
+ */
+
+#define Window CARD32
+#define Time CARD32
+
+#define X_ShapeQueryVersion 0
+#define X_ShapeRectangles 1
+#define X_ShapeMask 2
+#define X_ShapeCombine 3
+#define X_ShapeOffset 4
+#define X_ShapeQueryExtents 5
+#define X_ShapeSelectInput 6
+#define X_ShapeInputSelected 7
+#define X_ShapeGetRectangles 8
+
+typedef struct _ShapeQueryVersion {
+ CARD8 reqType; /* always ShapeReqCode */
+ CARD8 shapeReqType; /* always X_ShapeQueryVersion */
+ CARD16 length B16;
+} xShapeQueryVersionReq;
+#define sz_xShapeQueryVersionReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 majorVersion B16; /* major version of SHAPE protocol */
+ CARD16 minorVersion B16; /* minor version of SHAPE protocol */
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xShapeQueryVersionReply;
+#define sz_xShapeQueryVersionReply 32
+
+typedef struct _ShapeRectangles {
+ CARD8 reqType; /* always ShapeReqCode */
+ CARD8 shapeReqType; /* always X_ShapeRectangles */
+ CARD16 length B16;
+ CARD8 op; /* Set, ... */
+ CARD8 destKind; /* ShapeBounding or ShapeClip */
+ CARD8 ordering; /* UnSorted, YSorted, YXSorted, YXBanded */
+ CARD8 pad0; /* not used */
+ Window dest B32;
+ INT16 xOff B16;
+ INT16 yOff B16;
+} xShapeRectanglesReq; /* followed by xRects */
+#define sz_xShapeRectanglesReq 16
+
+typedef struct _ShapeMask {
+ CARD8 reqType; /* always ShapeReqCode */
+ CARD8 shapeReqType; /* always X_ShapeMask */
+ CARD16 length B16;
+
+ CARD8 op; /* Set, ... */
+ CARD8 destKind; /* ShapeBounding or ShapeClip */
+ CARD16 junk B16; /* not used */
+
+ Window dest B32;
+ INT16 xOff B16;
+ INT16 yOff B16;
+ CARD32 src B32; /* 1 bit pixmap */
+} xShapeMaskReq;
+#define sz_xShapeMaskReq 20
+
+typedef struct _ShapeCombine {
+ CARD8 reqType; /* always ShapeReqCode */
+ CARD8 shapeReqType; /* always X_ShapeCombine */
+ CARD16 length B16;
+ CARD8 op; /* Set, ... */
+ CARD8 destKind; /* ShapeBounding or ShapeClip */
+ CARD8 srcKind; /* ShapeBounding or ShapeClip */
+ CARD8 junk; /* not used */
+ Window dest B32;
+ INT16 xOff B16;
+ INT16 yOff B16;
+ Window src B32;
+} xShapeCombineReq;
+#define sz_xShapeCombineReq 20
+
+typedef struct _ShapeOffset {
+ CARD8 reqType; /* always ShapeReqCode */
+ CARD8 shapeReqType; /* always X_ShapeOffset */
+ CARD16 length B16;
+ CARD8 destKind; /* ShapeBounding or ShapeClip */
+ CARD8 junk1; /* not used */
+ CARD16 junk2 B16; /* not used */
+ Window dest B32;
+ INT16 xOff B16;
+ INT16 yOff B16;
+} xShapeOffsetReq;
+#define sz_xShapeOffsetReq 16
+
+typedef struct _ShapeQueryExtents {
+ CARD8 reqType; /* always ShapeReqCode */
+ CARD8 shapeReqType; /* always X_ShapeQueryExtents */
+ CARD16 length B16;
+ Window window B32;
+} xShapeQueryExtentsReq;
+#define sz_xShapeQueryExtentsReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ CARD8 boundingShaped; /* window has bounding shape */
+ CARD8 clipShaped; /* window has clip shape */
+ CARD16 unused1 B16;
+ INT16 xBoundingShape B16; /* extents of bounding shape */
+ INT16 yBoundingShape B16;
+ CARD16 widthBoundingShape B16;
+ CARD16 heightBoundingShape B16;
+ INT16 xClipShape B16; /* extents of clip shape */
+ INT16 yClipShape B16;
+ CARD16 widthClipShape B16;
+ CARD16 heightClipShape B16;
+ CARD32 pad1 B32;
+} xShapeQueryExtentsReply;
+#define sz_xShapeQueryExtentsReply 32
+
+typedef struct _ShapeSelectInput {
+ CARD8 reqType; /* always ShapeReqCode */
+ CARD8 shapeReqType; /* always X_ShapeSelectInput */
+ CARD16 length B16;
+ Window window B32;
+ BYTE enable; /* xTrue -> send events */
+ BYTE pad1;
+ CARD16 pad2 B16;
+} xShapeSelectInputReq;
+#define sz_xShapeSelectInputReq 12
+
+typedef struct _ShapeNotify {
+ BYTE type; /* always eventBase + ShapeNotify */
+ BYTE kind; /* either ShapeBounding or ShapeClip */
+ CARD16 sequenceNumber B16;
+ Window window B32;
+ INT16 x B16;
+ INT16 y B16; /* extents of new shape */
+ CARD16 width B16;
+ CARD16 height B16;
+ Time time B32; /* time of change */
+ BYTE shaped; /* set when a shape actual exists */
+ BYTE pad0;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+} xShapeNotifyEvent;
+#define sz_xShapeNotifyEvent 32
+
+typedef struct _ShapeInputSelected {
+ CARD8 reqType; /* always ShapeReqCode */
+ CARD8 shapeReqType; /* always X_ShapeInputSelected */
+ CARD16 length B16;
+ Window window B32;
+} xShapeInputSelectedReq;
+#define sz_xShapeInputSelectedReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 enabled; /* current status */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ CARD32 pad1 B32; /* unused */
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xShapeInputSelectedReply;
+#define sz_xShapeInputSelectedReply 32
+
+typedef struct _ShapeGetRectangles {
+ CARD8 reqType; /* always ShapeReqCode */
+ CARD8 shapeReqType; /* always X_ShapeGetRectangles */
+ CARD16 length B16;
+ Window window B32;
+ CARD8 kind; /* ShapeBounding or ShapeClip */
+ CARD8 junk1;
+ CARD16 junk2 B16;
+} xShapeGetRectanglesReq;
+#define sz_xShapeGetRectanglesReq 12
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 ordering; /* UnSorted, YSorted, YXSorted, YXBanded */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* not zero */
+ CARD32 nrects B32; /* number of rectangles */
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xShapeGetRectanglesReply; /* followed by xRectangles */
+#define sz_xShapeGetRectanglesReply 32
+
+#undef Window
+#undef Time
+
+#endif /* _SHAPEPROTO_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/extensions/shapestr.h b/stream-servers/apigen-codec-common/X11/extensions/shapestr.h
new file mode 100644
index 0000000..20fde1d
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/shapestr.h
@@ -0,0 +1,8 @@
+#ifndef _SHAPESTR_H_
+#define _SHAPESTR_H_
+
+#warning "shapestr.h is obsolete and may be removed in the future."
+#warning "include <X11/extensions/shapeproto.h> for the protocol defines."
+#include <X11/extensions/shapeproto.h>
+
+#endif /* _SHAPESTR_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/extensions/shm.h b/stream-servers/apigen-codec-common/X11/extensions/shm.h
new file mode 100644
index 0000000..e076402
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/shm.h
@@ -0,0 +1,44 @@
+/************************************************************
+
+Copyright 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+********************************************************/
+
+/* THIS IS NOT AN X CONSORTIUM STANDARD OR AN X PROJECT TEAM SPECIFICATION */
+
+#ifndef _SHM_H_
+#define _SHM_H_
+
+#define SHMNAME "MIT-SHM"
+
+#define SHM_MAJOR_VERSION 1 /* current version numbers */
+#define SHM_MINOR_VERSION 1
+
+#define ShmCompletion 0
+#define ShmNumberEvents (ShmCompletion + 1)
+
+#define BadShmSeg 0
+#define ShmNumberErrors (BadShmSeg + 1)
+
+
+#endif /* _SHM_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/extensions/shmproto.h b/stream-servers/apigen-codec-common/X11/extensions/shmproto.h
new file mode 100644
index 0000000..e5de377
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/shmproto.h
@@ -0,0 +1,187 @@
+/************************************************************
+
+Copyright 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+********************************************************/
+
+/* THIS IS NOT AN X CONSORTIUM STANDARD OR AN X PROJECT TEAM SPECIFICATION */
+
+#ifndef _SHMPROTO_H_
+#define _SHMPROTO_H_
+
+#include <X11/extensions/shm.h>
+
+#define ShmSeg CARD32
+#define Drawable CARD32
+#define VisualID CARD32
+#define GContext CARD32
+#define Pixmap CARD32
+
+#define X_ShmQueryVersion 0
+#define X_ShmAttach 1
+#define X_ShmDetach 2
+#define X_ShmPutImage 3
+#define X_ShmGetImage 4
+#define X_ShmCreatePixmap 5
+
+typedef struct _ShmQueryVersion {
+ CARD8 reqType; /* always ShmReqCode */
+ CARD8 shmReqType; /* always X_ShmQueryVersion */
+ CARD16 length B16;
+} xShmQueryVersionReq;
+#define sz_xShmQueryVersionReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL sharedPixmaps;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 majorVersion B16; /* major version of SHM protocol */
+ CARD16 minorVersion B16; /* minor version of SHM protocol */
+ CARD16 uid B16;
+ CARD16 gid B16;
+ CARD8 pixmapFormat;
+ CARD8 pad0;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xShmQueryVersionReply;
+#define sz_xShmQueryVersionReply 32
+
+typedef struct _ShmAttach {
+ CARD8 reqType; /* always ShmReqCode */
+ CARD8 shmReqType; /* always X_ShmAttach */
+ CARD16 length B16;
+ ShmSeg shmseg B32;
+ CARD32 shmid B32;
+ BOOL readOnly;
+ BYTE pad0;
+ CARD16 pad1 B16;
+} xShmAttachReq;
+#define sz_xShmAttachReq 16
+
+typedef struct _ShmDetach {
+ CARD8 reqType; /* always ShmReqCode */
+ CARD8 shmReqType; /* always X_ShmDetach */
+ CARD16 length B16;
+ ShmSeg shmseg B32;
+} xShmDetachReq;
+#define sz_xShmDetachReq 8
+
+typedef struct _ShmPutImage {
+ CARD8 reqType; /* always ShmReqCode */
+ CARD8 shmReqType; /* always X_ShmPutImage */
+ CARD16 length B16;
+ Drawable drawable B32;
+ GContext gc B32;
+ CARD16 totalWidth B16;
+ CARD16 totalHeight B16;
+ CARD16 srcX B16;
+ CARD16 srcY B16;
+ CARD16 srcWidth B16;
+ CARD16 srcHeight B16;
+ INT16 dstX B16;
+ INT16 dstY B16;
+ CARD8 depth;
+ CARD8 format;
+ CARD8 sendEvent;
+ CARD8 bpad;
+ ShmSeg shmseg B32;
+ CARD32 offset B32;
+} xShmPutImageReq;
+#define sz_xShmPutImageReq 40
+
+typedef struct _ShmGetImage {
+ CARD8 reqType; /* always ShmReqCode */
+ CARD8 shmReqType; /* always X_ShmGetImage */
+ CARD16 length B16;
+ Drawable drawable B32;
+ INT16 x B16;
+ INT16 y B16;
+ CARD16 width B16;
+ CARD16 height B16;
+ CARD32 planeMask B32;
+ CARD8 format;
+ CARD8 pad0;
+ CARD8 pad1;
+ CARD8 pad2;
+ ShmSeg shmseg B32;
+ CARD32 offset B32;
+} xShmGetImageReq;
+#define sz_xShmGetImageReq 32
+
+typedef struct _ShmGetImageReply {
+ BYTE type; /* X_Reply */
+ CARD8 depth;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ VisualID visual B32;
+ CARD32 size B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+} xShmGetImageReply;
+#define sz_xShmGetImageReply 32
+
+typedef struct _ShmCreatePixmap {
+ CARD8 reqType; /* always ShmReqCode */
+ CARD8 shmReqType; /* always X_ShmCreatePixmap */
+ CARD16 length B16;
+ Pixmap pid B32;
+ Drawable drawable B32;
+ CARD16 width B16;
+ CARD16 height B16;
+ CARD8 depth;
+ CARD8 pad0;
+ CARD8 pad1;
+ CARD8 pad2;
+ ShmSeg shmseg B32;
+ CARD32 offset B32;
+} xShmCreatePixmapReq;
+#define sz_xShmCreatePixmapReq 28
+
+typedef struct _ShmCompletion {
+ BYTE type; /* always eventBase + ShmCompletion */
+ BYTE bpad0;
+ CARD16 sequenceNumber B16;
+ Drawable drawable B32;
+ CARD16 minorEvent B16;
+ BYTE majorEvent;
+ BYTE bpad1;
+ ShmSeg shmseg B32;
+ CARD32 offset B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+} xShmCompletionEvent;
+#define sz_xShmCompletionEvent 32
+
+#undef ShmSeg
+#undef Drawable
+#undef VisualID
+#undef GContext
+#undef Pixmap
+
+#endif /* _SHMPROTO_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/extensions/shmstr.h b/stream-servers/apigen-codec-common/X11/extensions/shmstr.h
new file mode 100644
index 0000000..78f3759
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/shmstr.h
@@ -0,0 +1,63 @@
+/************************************************************
+
+Copyright 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+********************************************************/
+
+/* THIS IS NOT AN X CONSORTIUM STANDARD OR AN X PROJECT TEAM SPECIFICATION */
+
+#ifndef _SHMSTR_H_
+#define _SHMSTR_H_
+
+#include <X11/extensions/shmproto.h>
+
+#ifdef _XSHM_SERVER_
+#define XSHM_PUT_IMAGE_ARGS \
+ DrawablePtr /* dst */, \
+ GCPtr /* pGC */, \
+ int /* depth */, \
+ unsigned int /* format */, \
+ int /* w */, \
+ int /* h */, \
+ int /* sx */, \
+ int /* sy */, \
+ int /* sw */, \
+ int /* sh */, \
+ int /* dx */, \
+ int /* dy */, \
+ char * /* data */
+
+#define XSHM_CREATE_PIXMAP_ARGS \
+ ScreenPtr /* pScreen */, \
+ int /* width */, \
+ int /* height */, \
+ int /* depth */, \
+ char * /* addr */
+
+typedef struct _ShmFuncs {
+ PixmapPtr (* CreatePixmap)(XSHM_CREATE_PIXMAP_ARGS);
+ void (* PutImage)(XSHM_PUT_IMAGE_ARGS);
+} ShmFuncs, *ShmFuncsPtr;
+#endif
+
+#endif /* _SHMSTR_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/extensions/sync.h b/stream-servers/apigen-codec-common/X11/extensions/sync.h
new file mode 100644
index 0000000..d3a239f
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/sync.h
@@ -0,0 +1,375 @@
+/*
+
+Copyright 1991, 1993, 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+
+/***********************************************************
+Copyright 1991,1993 by Digital Equipment Corporation, Maynard, Massachusetts,
+and Olivetti Research Limited, Cambridge, England.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the names of Digital or Olivetti
+not be used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL AND OLIVETTI DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS, IN NO EVENT SHALL THEY BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
+USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+******************************************************************/
+
+#ifndef _SYNC_H_
+#define _SYNC_H_
+
+#include <X11/Xfuncproto.h>
+#include <X11/extensions/syncconst.h>
+
+#ifdef _SYNC_SERVER
+#include <X11/extensions/syncproto.h>
+#else
+
+_XFUNCPROTOBEGIN
+/* get rid of macros so we can define corresponding functions */
+#undef XSyncIntToValue
+#undef XSyncIntsToValue
+#undef XSyncValueGreaterThan
+#undef XSyncValueLessThan
+#undef XSyncValueGreaterOrEqual
+#undef XSyncValueLessOrEqual
+#undef XSyncValueEqual
+#undef XSyncValueIsNegative
+#undef XSyncValueIsZero
+#undef XSyncValueIsPositive
+#undef XSyncValueLow32
+#undef XSyncValueHigh32
+#undef XSyncValueAdd
+#undef XSyncValueSubtract
+#undef XSyncMaxValue
+#undef XSyncMinValue
+
+extern void XSyncIntToValue(
+ XSyncValue* /*pv*/,
+ int /*i*/
+);
+
+extern void XSyncIntsToValue(
+ XSyncValue* /*pv*/,
+ unsigned int /*l*/,
+ int /*h*/
+);
+
+extern Bool XSyncValueGreaterThan(
+ XSyncValue /*a*/,
+ XSyncValue /*b*/
+);
+
+extern Bool XSyncValueLessThan(
+ XSyncValue /*a*/,
+ XSyncValue /*b*/
+);
+
+extern Bool XSyncValueGreaterOrEqual(
+ XSyncValue /*a*/,
+ XSyncValue /*b*/
+);
+
+extern Bool XSyncValueLessOrEqual(
+ XSyncValue /*a*/,
+ XSyncValue /*b*/
+);
+
+extern Bool XSyncValueEqual(
+ XSyncValue /*a*/,
+ XSyncValue /*b*/
+);
+
+extern Bool XSyncValueIsNegative(
+ XSyncValue /*v*/
+);
+
+extern Bool XSyncValueIsZero(
+ XSyncValue /*a*/
+);
+
+extern Bool XSyncValueIsPositive(
+ XSyncValue /*v*/
+);
+
+extern unsigned int XSyncValueLow32(
+ XSyncValue /*v*/
+);
+
+extern int XSyncValueHigh32(
+ XSyncValue /*v*/
+);
+
+extern void XSyncValueAdd(
+ XSyncValue* /*presult*/,
+ XSyncValue /*a*/,
+ XSyncValue /*b*/,
+ int* /*poverflow*/
+);
+
+extern void XSyncValueSubtract(
+ XSyncValue* /*presult*/,
+ XSyncValue /*a*/,
+ XSyncValue /*b*/,
+ int* /*poverflow*/
+);
+
+extern void XSyncMaxValue(
+ XSyncValue* /*pv*/
+);
+
+extern void XSyncMinValue(
+ XSyncValue* /*pv*/
+);
+
+_XFUNCPROTOEND
+
+
+typedef struct _XSyncSystemCounter {
+ char *name; /* null-terminated name of system counter */
+ XSyncCounter counter; /* counter id of this system counter */
+ XSyncValue resolution; /* resolution of this system counter */
+} XSyncSystemCounter;
+
+
+typedef struct {
+ XSyncCounter counter; /* counter to trigger on */
+ XSyncValueType value_type; /* absolute/relative */
+ XSyncValue wait_value; /* value to compare counter to */
+ XSyncTestType test_type; /* pos/neg comparison/transtion */
+} XSyncTrigger;
+
+typedef struct {
+ XSyncTrigger trigger; /* trigger for await */
+ XSyncValue event_threshold; /* send event if past threshold */
+} XSyncWaitCondition;
+
+
+typedef struct {
+ XSyncTrigger trigger;
+ XSyncValue delta;
+ Bool events;
+ XSyncAlarmState state;
+} XSyncAlarmAttributes;
+
+/*
+ * Events
+ */
+
+typedef struct {
+ int type; /* event base + XSyncCounterNotify */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ XSyncCounter counter; /* counter involved in await */
+ XSyncValue wait_value; /* value being waited for */
+ XSyncValue counter_value; /* counter value when this event was sent */
+ Time time; /* milliseconds */
+ int count; /* how many more events to come */
+ Bool destroyed; /* True if counter was destroyed */
+} XSyncCounterNotifyEvent;
+
+typedef struct {
+ int type; /* event base + XSyncCounterNotify */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ XSyncAlarm alarm; /* alarm that triggered */
+ XSyncValue counter_value; /* value that triggered the alarm */
+ XSyncValue alarm_value; /* test value of trigger in alarm */
+ Time time; /* milliseconds */
+ XSyncAlarmState state; /* new state of alarm */
+} XSyncAlarmNotifyEvent;
+
+/*
+ * Errors
+ */
+
+typedef struct {
+ int type;
+ Display *display; /* Display the event was read from */
+ XSyncAlarm alarm; /* resource id */
+ unsigned long serial; /* serial number of failed request */
+ unsigned char error_code; /* error base + XSyncBadAlarm */
+ unsigned char request_code; /* Major op-code of failed request */
+ unsigned char minor_code; /* Minor op-code of failed request */
+} XSyncAlarmError;
+
+typedef struct {
+ int type;
+ Display *display; /* Display the event was read from */
+ XSyncCounter counter; /* resource id */
+ unsigned long serial; /* serial number of failed request */
+ unsigned char error_code; /* error base + XSyncBadCounter */
+ unsigned char request_code; /* Major op-code of failed request */
+ unsigned char minor_code; /* Minor op-code of failed request */
+} XSyncCounterError;
+
+/*
+ * Prototypes
+ */
+
+_XFUNCPROTOBEGIN
+
+extern Status XSyncQueryExtension(
+ Display* /*dpy*/,
+ int* /*event_base_return*/,
+ int* /*error_base_return*/
+);
+
+extern Status XSyncInitialize(
+ Display* /*dpy*/,
+ int* /*major_version_return*/,
+ int* /*minor_version_return*/
+);
+
+extern XSyncSystemCounter *XSyncListSystemCounters(
+ Display* /*dpy*/,
+ int* /*n_counters_return*/
+);
+
+extern void XSyncFreeSystemCounterList(
+ XSyncSystemCounter* /*list*/
+);
+
+extern XSyncCounter XSyncCreateCounter(
+ Display* /*dpy*/,
+ XSyncValue /*initial_value*/
+);
+
+extern Status XSyncSetCounter(
+ Display* /*dpy*/,
+ XSyncCounter /*counter*/,
+ XSyncValue /*value*/
+);
+
+extern Status XSyncChangeCounter(
+ Display* /*dpy*/,
+ XSyncCounter /*counter*/,
+ XSyncValue /*value*/
+);
+
+extern Status XSyncDestroyCounter(
+ Display* /*dpy*/,
+ XSyncCounter /*counter*/
+);
+
+extern Status XSyncQueryCounter(
+ Display* /*dpy*/,
+ XSyncCounter /*counter*/,
+ XSyncValue* /*value_return*/
+);
+
+extern Status XSyncAwait(
+ Display* /*dpy*/,
+ XSyncWaitCondition* /*wait_list*/,
+ int /*n_conditions*/
+);
+
+extern XSyncAlarm XSyncCreateAlarm(
+ Display* /*dpy*/,
+ unsigned long /*values_mask*/,
+ XSyncAlarmAttributes* /*values*/
+);
+
+extern Status XSyncDestroyAlarm(
+ Display* /*dpy*/,
+ XSyncAlarm /*alarm*/
+);
+
+extern Status XSyncQueryAlarm(
+ Display* /*dpy*/,
+ XSyncAlarm /*alarm*/,
+ XSyncAlarmAttributes* /*values_return*/
+);
+
+extern Status XSyncChangeAlarm(
+ Display* /*dpy*/,
+ XSyncAlarm /*alarm*/,
+ unsigned long /*values_mask*/,
+ XSyncAlarmAttributes* /*values*/
+);
+
+extern Status XSyncSetPriority(
+ Display* /*dpy*/,
+ XID /*client_resource_id*/,
+ int /*priority*/
+);
+
+extern Status XSyncGetPriority(
+ Display* /*dpy*/,
+ XID /*client_resource_id*/,
+ int* /*return_priority*/
+);
+
+extern XSyncFence XSyncCreateFence(
+ Display* /*dpy*/,
+ Drawable /*d*/,
+ Bool /*initially_triggered*/
+);
+
+extern Bool XSyncTriggerFence(
+ Display* /*dpy*/,
+ XSyncFence /*fence*/
+);
+
+extern Bool XSyncResetFence(
+ Display* /*dpy*/,
+ XSyncFence /*fence*/
+);
+
+extern Bool XSyncDestroyFence(
+ Display* /*dpy*/,
+ XSyncFence /*fence*/
+);
+
+extern Bool XSyncQueryFence(
+ Display* /*dpy*/,
+ XSyncFence /*fence*/,
+ Bool* /*triggered*/
+);
+
+extern Bool XSyncAwaitFence(
+ Display* /*dpy*/,
+ const XSyncFence* /*fence_list*/,
+ int /*n_fences*/
+);
+
+_XFUNCPROTOEND
+
+#endif /* _SYNC_SERVER */
+
+#endif /* _SYNC_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/extensions/syncconst.h b/stream-servers/apigen-codec-common/X11/extensions/syncconst.h
new file mode 100644
index 0000000..3acc387
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/syncconst.h
@@ -0,0 +1,181 @@
+/*
+
+Copyright 1991, 1993, 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+
+/***********************************************************
+Copyright 1991,1993 by Digital Equipment Corporation, Maynard, Massachusetts,
+and Olivetti Research Limited, Cambridge, England.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the names of Digital or Olivetti
+not be used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL AND OLIVETTI DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS, IN NO EVENT SHALL THEY BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
+USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+******************************************************************/
+
+#ifndef _SYNCCONST_H_
+#define _SYNCCONST_H_
+
+#define SYNC_NAME "SYNC"
+
+#define SYNC_MAJOR_VERSION 3
+#define SYNC_MINOR_VERSION 1
+
+
+#define XSyncCounterNotify 0
+#define XSyncAlarmNotify 1
+#define XSyncAlarmNotifyMask (1L << XSyncAlarmNotify)
+
+#define XSyncNumberEvents 2L
+
+#define XSyncBadCounter 0L
+#define XSyncBadAlarm 1L
+#define XSyncBadFence 2L
+#define XSyncNumberErrors (XSyncBadFence + 1)
+
+/*
+ * Flags for Alarm Attributes
+ */
+#define XSyncCACounter (1L<<0)
+#define XSyncCAValueType (1L<<1)
+#define XSyncCAValue (1L<<2)
+#define XSyncCATestType (1L<<3)
+#define XSyncCADelta (1L<<4)
+#define XSyncCAEvents (1L<<5)
+
+/* The _XSync macros below are for library internal use only. They exist
+ * so that if we have to make a fix, we can change it in this one place
+ * and have both the macro and function variants inherit the fix.
+ */
+
+#define _XSyncIntToValue(pv, i) ((pv)->hi=((i<0)?~0:0),(pv)->lo=(i))
+#define _XSyncIntsToValue(pv, l, h) ((pv)->lo = (l), (pv)->hi = (h))
+#define _XSyncValueGreaterThan(a, b)\
+ ((a).hi>(b).hi || ((a).hi==(b).hi && (a).lo>(b).lo))
+#define _XSyncValueLessThan(a, b)\
+ ((a).hi<(b).hi || ((a).hi==(b).hi && (a).lo<(b).lo))
+#define _XSyncValueGreaterOrEqual(a, b)\
+ ((a).hi>(b).hi || ((a).hi==(b).hi && (a).lo>=(b).lo))
+#define _XSyncValueLessOrEqual(a, b)\
+ ((a).hi<(b).hi || ((a).hi==(b).hi && (a).lo<=(b).lo))
+#define _XSyncValueEqual(a, b) ((a).lo==(b).lo && (a).hi==(b).hi)
+#define _XSyncValueIsNegative(v) (((v).hi & 0x80000000) ? 1 : 0)
+#define _XSyncValueIsZero(a) ((a).lo==0 && (a).hi==0)
+#define _XSyncValueIsPositive(v) (((v).hi & 0x80000000) ? 0 : 1)
+#define _XSyncValueLow32(v) ((v).lo)
+#define _XSyncValueHigh32(v) ((v).hi)
+#define _XSyncValueAdd(presult,a,b,poverflow) {\
+ int t = (a).lo;\
+ Bool signa = XSyncValueIsNegative(a);\
+ Bool signb = XSyncValueIsNegative(b);\
+ ((presult)->lo = (a).lo + (b).lo);\
+ ((presult)->hi = (a).hi + (b).hi);\
+ if (t>(presult)->lo) (presult)->hi++;\
+ *poverflow = ((signa == signb) && !(signa == XSyncValueIsNegative(*presult)));\
+ }
+#define _XSyncValueSubtract(presult,a,b,poverflow) {\
+ int t = (a).lo;\
+ Bool signa = XSyncValueIsNegative(a);\
+ Bool signb = XSyncValueIsNegative(b);\
+ ((presult)->lo = (a).lo - (b).lo);\
+ ((presult)->hi = (a).hi - (b).hi);\
+ if (t<(presult)->lo) (presult)->hi--;\
+ *poverflow = ((signa == signb) && !(signa == XSyncValueIsNegative(*presult)));\
+ }
+#define _XSyncMaxValue(pv) ((pv)->hi = 0x7fffffff, (pv)->lo = 0xffffffff)
+#define _XSyncMinValue(pv) ((pv)->hi = 0x80000000, (pv)->lo = 0)
+
+/*
+ * These are the publically usable macros. If you want the function version
+ * of one of these, just #undef the macro to uncover the function.
+ * (This is the same convention that the ANSI C library uses.)
+ */
+
+#define XSyncIntToValue(pv, i) _XSyncIntToValue(pv, i)
+#define XSyncIntsToValue(pv, l, h) _XSyncIntsToValue(pv, l, h)
+#define XSyncValueGreaterThan(a, b) _XSyncValueGreaterThan(a, b)
+#define XSyncValueLessThan(a, b) _XSyncValueLessThan(a, b)
+#define XSyncValueGreaterOrEqual(a, b) _XSyncValueGreaterOrEqual(a, b)
+#define XSyncValueLessOrEqual(a, b) _XSyncValueLessOrEqual(a, b)
+#define XSyncValueEqual(a, b) _XSyncValueEqual(a, b)
+#define XSyncValueIsNegative(v) _XSyncValueIsNegative(v)
+#define XSyncValueIsZero(a) _XSyncValueIsZero(a)
+#define XSyncValueIsPositive(v) _XSyncValueIsPositive(v)
+#define XSyncValueLow32(v) _XSyncValueLow32(v)
+#define XSyncValueHigh32(v) _XSyncValueHigh32(v)
+#define XSyncValueAdd(presult,a,b,poverflow) _XSyncValueAdd(presult,a,b,poverflow)
+#define XSyncValueSubtract(presult,a,b,poverflow) _XSyncValueSubtract(presult,a,b,poverflow)
+#define XSyncMaxValue(pv) _XSyncMaxValue(pv)
+#define XSyncMinValue(pv) _XSyncMinValue(pv)
+
+/*
+ * Constants for the value_type argument of various requests
+ */
+typedef enum {
+ XSyncAbsolute,
+ XSyncRelative
+} XSyncValueType;
+
+/*
+ * Alarm Test types
+ */
+typedef enum {
+ XSyncPositiveTransition,
+ XSyncNegativeTransition,
+ XSyncPositiveComparison,
+ XSyncNegativeComparison
+} XSyncTestType;
+
+/*
+ * Alarm state constants
+ */
+typedef enum {
+ XSyncAlarmActive,
+ XSyncAlarmInactive,
+ XSyncAlarmDestroyed
+} XSyncAlarmState;
+
+
+typedef XID XSyncCounter;
+typedef XID XSyncAlarm;
+typedef XID XSyncFence;
+typedef struct _XSyncValue {
+ int hi;
+ unsigned int lo;
+} XSyncValue;
+#endif /* _SYNCCONST_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/extensions/syncproto.h b/stream-servers/apigen-codec-common/X11/extensions/syncproto.h
new file mode 100644
index 0000000..1453e44
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/syncproto.h
@@ -0,0 +1,474 @@
+/*
+
+Copyright 1991, 1993, 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+
+/***********************************************************
+Copyright 1991,1993 by Digital Equipment Corporation, Maynard, Massachusetts,
+and Olivetti Research Limited, Cambridge, England.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the names of Digital or Olivetti
+not be used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL AND OLIVETTI DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS, IN NO EVENT SHALL THEY BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
+USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+******************************************************************/
+
+#ifndef _SYNCPROTO_H_
+#define _SYNCPROTO_H_
+
+#include <X11/extensions/syncconst.h>
+
+#define X_SyncInitialize 0
+#define X_SyncListSystemCounters 1
+#define X_SyncCreateCounter 2
+#define X_SyncSetCounter 3
+#define X_SyncChangeCounter 4
+#define X_SyncQueryCounter 5
+#define X_SyncDestroyCounter 6
+#define X_SyncAwait 7
+#define X_SyncCreateAlarm 8
+#define X_SyncChangeAlarm 9
+#define X_SyncQueryAlarm 10
+#define X_SyncDestroyAlarm 11
+#define X_SyncSetPriority 12
+#define X_SyncGetPriority 13
+#define X_SyncCreateFence 14
+#define X_SyncTriggerFence 15
+#define X_SyncResetFence 16
+#define X_SyncDestroyFence 17
+#define X_SyncQueryFence 18
+#define X_SyncAwaitFence 19
+
+/* cover up types from sync.h to make sure they're the right size for
+ * protocol packaging. These will be undef'ed after all the protocol
+ * structures are defined.
+ */
+#define XSyncCounter CARD32
+#define XSyncAlarm CARD32
+#define XSyncFence CARD32
+#define Drawable CARD32
+
+/*
+ * Initialize
+ */
+typedef struct _xSyncInitialize {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ CARD8 majorVersion;
+ CARD8 minorVersion;
+ CARD16 pad B16;
+} xSyncInitializeReq;
+#define sz_xSyncInitializeReq 8
+
+typedef struct {
+ BYTE type;
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD8 majorVersion;
+ CARD8 minorVersion;
+ CARD16 pad B16;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xSyncInitializeReply;
+#define sz_xSyncInitializeReply 32
+
+/*
+ * ListSystemCounters
+ */
+typedef struct _xSyncListSystemCounters
+{
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+} xSyncListSystemCountersReq;
+#define sz_xSyncListSystemCountersReq 4
+
+typedef struct {
+ BYTE type;
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ INT32 nCounters B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xSyncListSystemCountersReply;
+#define sz_xSyncListSystemCountersReply 32
+
+typedef struct {
+ XSyncCounter counter B32;
+ INT32 resolution_hi B32;
+ CARD32 resolution_lo B32;
+ CARD16 name_length B16;
+} xSyncSystemCounter;
+#define sz_xSyncSystemCounter 14
+
+/*
+ * Create Counter
+ */
+typedef struct _xSyncCreateCounterReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ XSyncCounter cid B32;
+ INT32 initial_value_hi B32;
+ CARD32 initial_value_lo B32;
+} xSyncCreateCounterReq;
+#define sz_xSyncCreateCounterReq 16
+
+/*
+ * Change Counter
+ */
+typedef struct _xSyncChangeCounterReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ XSyncCounter cid B32;
+ INT32 value_hi B32;
+ CARD32 value_lo B32;
+} xSyncChangeCounterReq;
+#define sz_xSyncChangeCounterReq 16
+
+/*
+ * Set Counter
+ */
+typedef struct _xSyncSetCounterReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ XSyncCounter cid B32;
+ INT32 value_hi B32;
+ CARD32 value_lo B32;
+} xSyncSetCounterReq;
+#define sz_xSyncSetCounterReq 16
+
+/*
+ * Destroy Counter
+ */
+typedef struct _xSyncDestroyCounterReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ XSyncCounter counter B32;
+} xSyncDestroyCounterReq;
+#define sz_xSyncDestroyCounterReq 8
+
+/*
+ * Query Counter
+ */
+typedef struct _xSyncQueryCounterReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ XSyncCounter counter B32;
+} xSyncQueryCounterReq;
+#define sz_xSyncQueryCounterReq 8
+
+
+typedef struct {
+ BYTE type;
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ INT32 value_hi B32;
+ CARD32 value_lo B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+} xSyncQueryCounterReply;
+#define sz_xSyncQueryCounterReply 32
+
+/*
+ * Await
+ */
+typedef struct _xSyncAwaitReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+} xSyncAwaitReq;
+#define sz_xSyncAwaitReq 4
+
+typedef struct _xSyncWaitCondition {
+ XSyncCounter counter B32;
+ CARD32 value_type B32;
+ INT32 wait_value_hi B32;
+ CARD32 wait_value_lo B32;
+ CARD32 test_type B32;
+ INT32 event_threshold_hi B32;
+ CARD32 event_threshold_lo B32;
+} xSyncWaitCondition;
+#define sz_xSyncWaitCondition 28
+
+/*
+ * Create Alarm
+ */
+typedef struct _xSyncCreateAlarmReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ XSyncAlarm id B32;
+ CARD32 valueMask B32;
+} xSyncCreateAlarmReq;
+#define sz_xSyncCreateAlarmReq 12
+
+/*
+ * Destroy Alarm
+ */
+typedef struct _xSyncDestroyAlarmReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ XSyncAlarm alarm B32;
+} xSyncDestroyAlarmReq;
+#define sz_xSyncDestroyAlarmReq 8
+
+/*
+ * Query Alarm
+ */
+typedef struct _xSyncQueryAlarmReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ XSyncAlarm alarm B32;
+} xSyncQueryAlarmReq;
+#define sz_xSyncQueryAlarmReq 8
+
+typedef struct {
+ BYTE type;
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ XSyncCounter counter B32;
+ CARD32 value_type B32;
+ INT32 wait_value_hi B32;
+ CARD32 wait_value_lo B32;
+ CARD32 test_type B32;
+ INT32 delta_hi B32;
+ CARD32 delta_lo B32;
+ BOOL events;
+ BYTE state;
+ BYTE pad0;
+ BYTE pad1;
+} xSyncQueryAlarmReply;
+#define sz_xSyncQueryAlarmReply 40
+
+/*
+ * Change Alarm
+ */
+typedef struct _xSyncChangeAlarmReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ XSyncAlarm alarm B32;
+ CARD32 valueMask B32;
+} xSyncChangeAlarmReq;
+#define sz_xSyncChangeAlarmReq 12
+
+/*
+ * SetPriority
+ */
+typedef struct _xSyncSetPriority{
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ CARD32 id B32;
+ INT32 priority B32;
+} xSyncSetPriorityReq;
+#define sz_xSyncSetPriorityReq 12
+
+/*
+ * Get Priority
+ */
+typedef struct _xSyncGetPriority{
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ CARD32 id B32; /*XXX XID? */
+} xSyncGetPriorityReq;
+#define sz_xSyncGetPriorityReq 8
+
+typedef struct {
+ BYTE type;
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ INT32 priority B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xSyncGetPriorityReply;
+#define sz_xSyncGetPriorityReply 32
+
+/*
+ * Create Fence
+ */
+typedef struct _xSyncCreateFenceReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ Drawable d B32;
+ XSyncFence fid B32;
+ BOOL initially_triggered;
+ CARD8 pad0;
+ CARD16 pad1;
+} xSyncCreateFenceReq;
+#define sz_xSyncCreateFenceReq 16
+
+/*
+ * Put a fence object in the "triggered" state.
+ */
+typedef struct _xSyncTriggerFenceReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ XSyncFence fid B32;
+} xSyncTriggerFenceReq;
+#define sz_xSyncTriggerFenceReq 8
+
+/*
+ * Put a fence in the "untriggered" state.
+ */
+typedef struct _xSyncResetFenceReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ XSyncFence fid B32;
+} xSyncResetFenceReq;
+#define sz_xSyncResetFenceReq 8
+
+/*
+ * Destroy a fence object
+ */
+typedef struct _xSyncDestroyFenceReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ XSyncFence fid B32;
+} xSyncDestroyFenceReq;
+#define sz_xSyncDestroyFenceReq 8
+
+/*
+ * Query a fence object
+ */
+typedef struct _xSyncQueryFenceReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ XSyncFence fid B32;
+} xSyncQueryFenceReq;
+#define sz_xSyncQueryFenceReq 8
+
+/*
+ * Wait for any of a list of fence sync objects
+ * to reach the "triggered" state.
+ */
+typedef struct _xSyncAwaitFenceReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+} xSyncAwaitFenceReq;
+#define sz_xSyncAwaitFenceReq 4
+
+typedef struct {
+ BYTE type;
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ BOOL triggered;
+ BYTE pad0;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xSyncQueryFenceReply;
+#define sz_xSyncQueryFenceReply 32
+
+/*
+ * Events
+ */
+
+typedef struct _xSyncCounterNotifyEvent {
+ BYTE type;
+ BYTE kind;
+ CARD16 sequenceNumber B16;
+ XSyncCounter counter B32;
+ INT32 wait_value_hi B32;
+ CARD32 wait_value_lo B32;
+ INT32 counter_value_hi B32;
+ CARD32 counter_value_lo B32;
+ CARD32 time B32;
+ CARD16 count B16;
+ BOOL destroyed;
+ BYTE pad0;
+} xSyncCounterNotifyEvent;
+
+typedef struct _xSyncAlarmNotifyEvent {
+ BYTE type;
+ BYTE kind;
+ CARD16 sequenceNumber B16;
+ XSyncAlarm alarm B32;
+ INT32 counter_value_hi B32;
+ CARD32 counter_value_lo B32;
+ INT32 alarm_value_hi B32;
+ CARD32 alarm_value_lo B32;
+ CARD32 time B32;
+ CARD8 state;
+ BYTE pad0;
+ BYTE pad1;
+ BYTE pad2;
+} xSyncAlarmNotifyEvent;
+
+#undef XSyncCounter
+#undef XSyncAlarm
+#undef XSyncFence
+#undef Drawable
+
+
+#endif /* _SYNCPROTO_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/extensions/syncstr.h b/stream-servers/apigen-codec-common/X11/extensions/syncstr.h
new file mode 100644
index 0000000..25a4827
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/syncstr.h
@@ -0,0 +1,182 @@
+/*
+
+Copyright 1991, 1993, 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+
+/***********************************************************
+Copyright 1991,1993 by Digital Equipment Corporation, Maynard, Massachusetts,
+and Olivetti Research Limited, Cambridge, England.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the names of Digital or Olivetti
+not be used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL AND OLIVETTI DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS, IN NO EVENT SHALL THEY BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
+USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+******************************************************************/
+
+#ifndef _SYNCSTR_H_
+#define _SYNCSTR_H_
+
+#include <X11/extensions/syncproto.h>
+
+#ifdef _SYNC_SERVER
+
+#define CARD64 XSyncValue /* XXX temporary! need real 64 bit values for Alpha */
+
+typedef struct _SyncCounter {
+ ClientPtr client; /* Owning client. 0 for system counters */
+ XSyncCounter id; /* resource ID */
+ CARD64 value; /* counter value */
+ struct _SyncTriggerList *pTriglist; /* list of triggers */
+ Bool beingDestroyed; /* in process of going away */
+ struct _SysCounterInfo *pSysCounterInfo; /* NULL if not a system counter */
+} SyncCounter;
+
+/*
+ * The System Counter interface
+ */
+
+typedef enum {
+ XSyncCounterNeverChanges,
+ XSyncCounterNeverIncreases,
+ XSyncCounterNeverDecreases,
+ XSyncCounterUnrestricted
+} SyncCounterType;
+
+typedef struct _SysCounterInfo {
+ char *name;
+ CARD64 resolution;
+ CARD64 bracket_greater;
+ CARD64 bracket_less;
+ SyncCounterType counterType; /* how can this counter change */
+ void (*QueryValue)(
+ pointer /*pCounter*/,
+ CARD64 * /*freshvalue*/
+);
+ void (*BracketValues)(
+ pointer /*pCounter*/,
+ CARD64 * /*lessthan*/,
+ CARD64 * /*greaterthan*/
+);
+} SysCounterInfo;
+
+
+
+typedef struct _SyncTrigger {
+ SyncCounter *pCounter;
+ CARD64 wait_value; /* wait value */
+ unsigned int value_type; /* Absolute or Relative */
+ unsigned int test_type; /* transition or Comparision type */
+ CARD64 test_value; /* trigger event threshold value */
+ Bool (*CheckTrigger)(
+ struct _SyncTrigger * /*pTrigger*/,
+ CARD64 /*newval*/
+ );
+ void (*TriggerFired)(
+ struct _SyncTrigger * /*pTrigger*/
+ );
+ void (*CounterDestroyed)(
+ struct _SyncTrigger * /*pTrigger*/
+ );
+} SyncTrigger;
+
+typedef struct _SyncTriggerList {
+ SyncTrigger *pTrigger;
+ struct _SyncTriggerList *next;
+} SyncTriggerList;
+
+typedef struct _SyncAlarmClientList {
+ ClientPtr client;
+ XID delete_id;
+ struct _SyncAlarmClientList *next;
+} SyncAlarmClientList;
+
+typedef struct _SyncAlarm {
+ SyncTrigger trigger;
+ ClientPtr client;
+ XSyncAlarm alarm_id;
+ CARD64 delta;
+ int events;
+ int state;
+ SyncAlarmClientList *pEventClients;
+} SyncAlarm;
+
+typedef struct {
+ ClientPtr client;
+ CARD32 delete_id;
+ int num_waitconditions;
+} SyncAwaitHeader;
+
+typedef struct {
+ SyncTrigger trigger;
+ CARD64 event_threshold;
+ SyncAwaitHeader *pHeader;
+} SyncAwait;
+
+typedef union {
+ SyncAwaitHeader header;
+ SyncAwait await;
+} SyncAwaitUnion;
+
+
+extern pointer SyncCreateSystemCounter(
+ char * /* name */,
+ CARD64 /* inital_value */,
+ CARD64 /* resolution */,
+ SyncCounterType /* change characterization */,
+ void (* /*QueryValue*/ ) (
+ pointer /* pCounter */,
+ CARD64 * /* pValue_return */), /* XXX prototype */
+ void (* /*BracketValues*/) (
+ pointer /* pCounter */,
+ CARD64 * /* pbracket_less */,
+ CARD64 * /* pbracket_greater */)
+);
+
+extern void SyncChangeCounter(
+ SyncCounter * /* pCounter*/,
+ CARD64 /* new_value */
+);
+
+extern void SyncDestroySystemCounter(
+ pointer pCounter
+);
+extern void InitServertime(void);
+
+#endif /* _SYNC_SERVER */
+
+#endif /* _SYNCSTR_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/extensions/xfixesproto.h b/stream-servers/apigen-codec-common/X11/extensions/xfixesproto.h
new file mode 100644
index 0000000..9189c19
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/xfixesproto.h
@@ -0,0 +1,608 @@
+/*
+ * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright 2010 Red Hat, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+/*
+ * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc.
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Keith Packard not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission. Keith Packard makes no
+ * representations about the suitability of this software for any purpose. It
+ * is provided "as is" without express or implied warranty.
+ *
+ * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifndef _XFIXESPROTO_H_
+#define _XFIXESPROTO_H_
+
+#include <X11/Xmd.h>
+#include <X11/extensions/xfixeswire.h>
+#include <X11/extensions/shapeconst.h>
+
+#define Window CARD32
+#define Drawable CARD32
+#define Font CARD32
+#define Pixmap CARD32
+#define Cursor CARD32
+#define Colormap CARD32
+#define GContext CARD32
+#define Atom CARD32
+#define VisualID CARD32
+#define Time CARD32
+#define KeyCode CARD8
+#define KeySym CARD32
+#define Picture CARD32
+
+/*************** Version 1 ******************/
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+} xXFixesReq;
+
+/*
+ * requests and replies
+ */
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ CARD32 majorVersion B32;
+ CARD32 minorVersion B32;
+} xXFixesQueryVersionReq;
+
+#define sz_xXFixesQueryVersionReq 12
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 majorVersion B32;
+ CARD32 minorVersion B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xXFixesQueryVersionReply;
+
+#define sz_xXFixesQueryVersionReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ BYTE mode; /* SetModeInsert/SetModeDelete*/
+ BYTE target; /* SaveSetNearest/SaveSetRoot*/
+ BYTE map; /* SaveSetMap/SaveSetUnmap */
+ BYTE pad1;
+ Window window;
+} xXFixesChangeSaveSetReq;
+
+#define sz_xXFixesChangeSaveSetReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Window window B32;
+ Atom selection B32;
+ CARD32 eventMask B32;
+} xXFixesSelectSelectionInputReq;
+
+#define sz_xXFixesSelectSelectionInputReq 16
+
+typedef struct {
+ CARD8 type;
+ CARD8 subtype;
+ CARD16 sequenceNumber B16;
+ Window window B32;
+ Window owner B32;
+ Atom selection B32;
+ Time timestamp B32;
+ Time selectionTimestamp B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+} xXFixesSelectionNotifyEvent;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Window window B32;
+ CARD32 eventMask B32;
+} xXFixesSelectCursorInputReq;
+
+#define sz_xXFixesSelectCursorInputReq 12
+
+typedef struct {
+ CARD8 type;
+ CARD8 subtype;
+ CARD16 sequenceNumber B16;
+ Window window B32;
+ CARD32 cursorSerial B32;
+ Time timestamp;
+ Atom name B32; /* Version 2 */
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+} xXFixesCursorNotifyEvent;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+} xXFixesGetCursorImageReq;
+
+#define sz_xXFixesGetCursorImageReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ INT16 x B16;
+ INT16 y B16;
+ CARD16 width B16;
+ CARD16 height B16;
+ CARD16 xhot B16;
+ CARD16 yhot B16;
+ CARD32 cursorSerial B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+} xXFixesGetCursorImageReply;
+
+#define sz_xXFixesGetCursorImageReply 32
+
+/*************** Version 2 ******************/
+
+#define Region CARD32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Region region B32;
+ /* LISTofRECTANGLE */
+} xXFixesCreateRegionReq;
+
+#define sz_xXFixesCreateRegionReq 8
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Region region B32;
+ Pixmap bitmap B32;
+} xXFixesCreateRegionFromBitmapReq;
+
+#define sz_xXFixesCreateRegionFromBitmapReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Region region B32;
+ Window window B32;
+ CARD8 kind;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+} xXFixesCreateRegionFromWindowReq;
+
+#define sz_xXFixesCreateRegionFromWindowReq 16
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Region region B32;
+ GContext gc B32;
+} xXFixesCreateRegionFromGCReq;
+
+#define sz_xXFixesCreateRegionFromGCReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Region region B32;
+ Picture picture B32;
+} xXFixesCreateRegionFromPictureReq;
+
+#define sz_xXFixesCreateRegionFromPictureReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Region region B32;
+} xXFixesDestroyRegionReq;
+
+#define sz_xXFixesDestroyRegionReq 8
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Region region B32;
+ /* LISTofRECTANGLE */
+} xXFixesSetRegionReq;
+
+#define sz_xXFixesSetRegionReq 8
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Region source B32;
+ Region destination B32;
+} xXFixesCopyRegionReq;
+
+#define sz_xXFixesCopyRegionReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Region source1 B32;
+ Region source2 B32;
+ Region destination B32;
+} xXFixesCombineRegionReq,
+ xXFixesUnionRegionReq,
+ xXFixesIntersectRegionReq,
+ xXFixesSubtractRegionReq;
+
+#define sz_xXFixesCombineRegionReq 16
+#define sz_xXFixesUnionRegionReq sz_xXFixesCombineRegionReq
+#define sz_xXFixesIntersectRegionReq sz_xXFixesCombineRegionReq
+#define sz_xXFixesSubtractRegionReq sz_xXFixesCombineRegionReq
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Region source B32;
+ INT16 x B16, y B16;
+ CARD16 width B16, height B16;
+ Region destination B32;
+} xXFixesInvertRegionReq;
+
+#define sz_xXFixesInvertRegionReq 20
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Region region B32;
+ INT16 dx B16, dy B16;
+} xXFixesTranslateRegionReq;
+
+#define sz_xXFixesTranslateRegionReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Region source B32;
+ Region destination B32;
+} xXFixesRegionExtentsReq;
+
+#define sz_xXFixesRegionExtentsReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Region region B32;
+} xXFixesFetchRegionReq;
+
+#define sz_xXFixesFetchRegionReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ INT16 x B16, y B16;
+ CARD16 width B16, height B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xXFixesFetchRegionReply;
+
+#define sz_xXFixesFetchRegionReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ GContext gc B32;
+ Region region B32;
+ INT16 xOrigin B16, yOrigin B16;
+} xXFixesSetGCClipRegionReq;
+
+#define sz_xXFixesSetGCClipRegionReq 16
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Window dest;
+ BYTE destKind;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+ INT16 xOff B16, yOff B16;
+ Region region;
+} xXFixesSetWindowShapeRegionReq;
+
+#define sz_xXFixesSetWindowShapeRegionReq 20
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Picture picture B32;
+ Region region B32;
+ INT16 xOrigin B16, yOrigin B16;
+} xXFixesSetPictureClipRegionReq;
+
+#define sz_xXFixesSetPictureClipRegionReq 16
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Cursor cursor B32;
+ CARD16 nbytes B16;
+ CARD16 pad B16;
+} xXFixesSetCursorNameReq;
+
+#define sz_xXFixesSetCursorNameReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Cursor cursor B32;
+} xXFixesGetCursorNameReq;
+
+#define sz_xXFixesGetCursorNameReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ Atom atom B32;
+ CARD16 nbytes B16;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xXFixesGetCursorNameReply;
+
+#define sz_xXFixesGetCursorNameReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+} xXFixesGetCursorImageAndNameReq;
+
+#define sz_xXFixesGetCursorImageAndNameReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ INT16 x B16;
+ INT16 y B16;
+ CARD16 width B16;
+ CARD16 height B16;
+ CARD16 xhot B16;
+ CARD16 yhot B16;
+ CARD32 cursorSerial B32;
+ Atom cursorName B32;
+ CARD16 nbytes B16;
+ CARD16 pad B16;
+} xXFixesGetCursorImageAndNameReply;
+
+#define sz_xXFixesGetCursorImageAndNameReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Cursor source B32;
+ Cursor destination B32;
+} xXFixesChangeCursorReq;
+
+#define sz_xXFixesChangeCursorReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Cursor source B32;
+ CARD16 nbytes;
+ CARD16 pad;
+} xXFixesChangeCursorByNameReq;
+
+#define sz_xXFixesChangeCursorByNameReq 12
+
+/*************** Version 3 ******************/
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Region source B32;
+ Region destination B32;
+ CARD16 left B16;
+ CARD16 right B16;
+ CARD16 top B16;
+ CARD16 bottom B16;
+} xXFixesExpandRegionReq;
+
+#define sz_xXFixesExpandRegionReq 20
+
+/*************** Version 4.0 ******************/
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Window window B32;
+} xXFixesHideCursorReq;
+
+#define sz_xXFixesHideCursorReq sizeof(xXFixesHideCursorReq)
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Window window B32;
+} xXFixesShowCursorReq;
+
+#define sz_xXFixesShowCursorReq sizeof(xXFixesShowCursorReq)
+
+/*************** Version 5.0 ******************/
+
+#define Barrier CARD32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Barrier barrier B32;
+ Window window B32;
+ INT16 x1 B16;
+ INT16 y1 B16;
+ INT16 x2 B16;
+ INT16 y2 B16;
+ CARD32 directions;
+ CARD16 pad B16;
+ CARD16 num_devices B16;
+ /* array of CARD16 devices */
+} xXFixesCreatePointerBarrierReq;
+
+#define sz_xXFixesCreatePointerBarrierReq 28
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Barrier barrier B32;
+} xXFixesDestroyPointerBarrierReq;
+
+#define sz_xXFixesDestroyPointerBarrierReq 8
+
+/*************** Version 6.0 ******************/
+
+#define BarrierEventID CARD32
+
+typedef struct {
+ CARD8 type;
+ CARD8 subtype;
+ CARD16 sequenceNumber B16;
+ Window window; B32;
+ BarrierEventID event_id B32;
+ Barrier barrier;
+ Time timestamp B32;
+ CARD32 velocity B32;
+ INT16 x B16;
+ INT16 y B16;
+} xXFixesBarrierNotifyEvent;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Barrier barrier B32;
+ Window window B32;
+ INT16 x1 B16;
+ INT16 y1 B16;
+ INT16 x2 B16;
+ INT16 y2 B16;
+ CARD32 directions;
+ CARD32 velocity;
+ CARD16 pad B16;
+ CARD16 num_devices B16;
+ /* array of CARD16 devices */
+} xXFixesCreatePointerBarrierVelocityReq;
+
+#define sz_xXFixesCreatePointerBarrierVelocityReq 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Window window B32;
+ CARD32 eventMask B32;
+} xXFixesSelectBarrierInputReq;
+
+#define sz_xXFixesSelectBarrierInputReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Barrier barrier B32;
+ BarrierEventID event_id B32;
+} xXFixesBarrierReleasePointerReq;
+
+#define sz_xXFixesBarrierReleasePointerReq 12
+
+#undef BarrierEventID
+#undef Barrier
+#undef Region
+#undef Picture
+#undef Window
+#undef Drawable
+#undef Font
+#undef Pixmap
+#undef Cursor
+#undef Colormap
+#undef GContext
+#undef Atom
+#undef VisualID
+#undef Time
+#undef KeyCode
+#undef KeySym
+
+#endif /* _XFIXESPROTO_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/extensions/xfixeswire.h b/stream-servers/apigen-codec-common/X11/extensions/xfixeswire.h
new file mode 100644
index 0000000..0230595
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/xfixeswire.h
@@ -0,0 +1,154 @@
+/*
+ * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright 2010 Red Hat, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+/*
+ * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc.
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Keith Packard not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission. Keith Packard makes no
+ * representations about the suitability of this software for any purpose. It
+ * is provided "as is" without express or implied warranty.
+ *
+ * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+
+#ifndef _XFIXESWIRE_H_
+#define _XFIXESWIRE_H_
+
+#define XFIXES_NAME "XFIXES"
+#define XFIXES_MAJOR 6
+#define XFIXES_MINOR 0
+
+/*************** Version 1 ******************/
+#define X_XFixesQueryVersion 0
+#define X_XFixesChangeSaveSet 1
+#define X_XFixesSelectSelectionInput 2
+#define X_XFixesSelectCursorInput 3
+#define X_XFixesGetCursorImage 4
+/*************** Version 2 ******************/
+#define X_XFixesCreateRegion 5
+#define X_XFixesCreateRegionFromBitmap 6
+#define X_XFixesCreateRegionFromWindow 7
+#define X_XFixesCreateRegionFromGC 8
+#define X_XFixesCreateRegionFromPicture 9
+#define X_XFixesDestroyRegion 10
+#define X_XFixesSetRegion 11
+#define X_XFixesCopyRegion 12
+#define X_XFixesUnionRegion 13
+#define X_XFixesIntersectRegion 14
+#define X_XFixesSubtractRegion 15
+#define X_XFixesInvertRegion 16
+#define X_XFixesTranslateRegion 17
+#define X_XFixesRegionExtents 18
+#define X_XFixesFetchRegion 19
+#define X_XFixesSetGCClipRegion 20
+#define X_XFixesSetWindowShapeRegion 21
+#define X_XFixesSetPictureClipRegion 22
+#define X_XFixesSetCursorName 23
+#define X_XFixesGetCursorName 24
+#define X_XFixesGetCursorImageAndName 25
+#define X_XFixesChangeCursor 26
+#define X_XFixesChangeCursorByName 27
+/*************** Version 3 ******************/
+#define X_XFixesExpandRegion 28
+/*************** Version 4 ******************/
+#define X_XFixesHideCursor 29
+#define X_XFixesShowCursor 30
+/*************** Version 5 ******************/
+#define X_XFixesCreatePointerBarrier 31
+#define X_XFixesDestroyPointerBarrier 32
+/*************** Version 6 ******************/
+#define X_XFixesCreatePointerBarrierVelocity 33
+#define X_XFixesSelectBarrierInput 34
+#define X_XFixesBarrierReleasePointer 35
+
+#define XFixesNumberRequests (X_XFixesBarrierReleasePointer+1)
+
+/* Selection events share one event number */
+#define XFixesSelectionNotify 0
+
+/* Within the selection, the 'subtype' field distinguishes */
+#define XFixesSetSelectionOwnerNotify 0
+#define XFixesSelectionWindowDestroyNotify 1
+#define XFixesSelectionClientCloseNotify 2
+
+#define XFixesSetSelectionOwnerNotifyMask (1L << 0)
+#define XFixesSelectionWindowDestroyNotifyMask (1L << 1)
+#define XFixesSelectionClientCloseNotifyMask (1L << 2)
+
+/* There's only one cursor event so far */
+#define XFixesCursorNotify 1
+
+#define XFixesDisplayCursorNotify 0
+
+#define XFixesDisplayCursorNotifyMask (1L << 0)
+
+/* errors */
+#define BadRegion 0
+#define BadBarrier 1
+#define XFixesNumberErrors (BadBarrier+1)
+
+#define SaveSetNearest 0
+#define SaveSetRoot 1
+
+#define SaveSetMap 0
+#define SaveSetUnmap 1
+
+/*************** Version 2 ******************/
+
+#define WindowRegionBounding 0
+#define WindowRegionClip 1
+
+/*************** Version 5 ******************/
+
+#define BarrierPositiveX (1L << 0)
+#define BarrierPositiveY (1L << 1)
+#define BarrierNegativeX (1L << 2)
+#define BarrierNegativeY (1L << 3)
+
+/*************** Version 6 ******************/
+
+#define XFixesBarrierNotify 2
+
+#define XFixesBarrierHitNotify 0
+#define XFixesBarrierThresholdExceededNotify 1
+
+#define XFixesBarrierHitNotifyMask (1L << 0)
+#define XFixesBarrierThresholdExceededNotifyMask (1L << 1)
+
+#define XFixesNumberEvents (XFixesBarrierNotify+1)
+
+
+#endif /* _XFIXESWIRE_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/extensions/xtestconst.h b/stream-servers/apigen-codec-common/X11/extensions/xtestconst.h
new file mode 100644
index 0000000..e74b904
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/xtestconst.h
@@ -0,0 +1,41 @@
+/*
+
+Copyright 1992, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+
+#ifndef _XTEST_CONST_H_
+#define _XTEST_CONST_H_
+
+#define XTestNumberEvents 0
+
+#define XTestNumberErrors 0
+
+#define XTestCurrentCursor ((Cursor)1)
+
+#define XTestMajorVersion 2
+#define XTestMinorVersion 2
+
+#define XTestExtensionName "XTEST"
+
+#endif
diff --git a/stream-servers/apigen-codec-common/X11/extensions/xtestext1.h b/stream-servers/apigen-codec-common/X11/extensions/xtestext1.h
new file mode 100644
index 0000000..67d015b
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/xtestext1.h
@@ -0,0 +1,98 @@
+/*
+ * xtestext1.h
+ *
+ * X11 Input Synthesis Extension include file
+ */
+
+/*
+
+
+Copyright 1986, 1987, 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1986, 1987, 1988 by Hewlett-Packard Corporation
+
+Permission to use, copy, modify, and distribute this
+software and its documentation for any purpose and without
+fee is hereby granted, provided that the above copyright
+notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting
+documentation, and that the name of Hewlett-Packard not be used in
+advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+Hewlett-Packard makes no representations about the
+suitability of this software for any purpose. It is provided
+"as is" without express or implied warranty.
+
+This software is not subject to any license of the American
+Telephone and Telegraph Company or of the Regents of the
+University of California.
+
+*/
+
+#ifndef _XTESTEXT1_H
+#define _XTESTEXT1_H
+/*
+ * the typedefs for CARD8, CARD16, and CARD32 are defined in Xmd.h
+ */
+
+#include <X11/extensions/xtestext1const.h>
+/*
+ * This is the definition for the input action host format event structure.
+ * This is the form that a client using this extension will see when
+ * it receives an input action event.
+ */
+typedef struct {
+ int type; /* always XTestInputActionType */
+ Display *display;
+ Window window;
+ CARD8 actions[XTestACTIONS_SIZE];
+} XTestInputActionEvent;
+
+/*
+ * This is the definition for the xTestFakeAck host format event structure.
+ * This is the form that a client using this extension will see when
+ * it receives an XTestFakeAck event.
+ */
+typedef struct {
+ int type; /* always XTestFakeAckType */
+ Display *display;
+ Window window;
+} XTestFakeAckEvent;
+
+_XFUNCPROTOBEGIN
+
+int XTestFakeInput(register Display *dpy, char *action_list_addr, int action_list_size, int ack_flag);
+int XTestGetInput(register Display *dpy, int action_handling);
+int XTestQueryInputSize(register Display *dpy, unsigned long *size_return);
+int XTestPressKey(Display *display, int device_id, unsigned long delay, unsigned int keycode, unsigned int key_action);
+int XTestPressButton(Display * display, int device_id, unsigned long delay, unsigned int button_number, unsigned int button_action);
+int XTestMovePointer(Display *display, int device_id, unsigned long delay[], int x[], int y[], unsigned int count);
+int XTestFlush(Display *display);
+int XTestStopInput(register Display *dpy);
+int XTestReset(register Display *dpy);
+
+_XFUNCPROTOEND
+
+#endif /* _XTESTEXT1_H */
diff --git a/stream-servers/apigen-codec-common/X11/extensions/xtestext1const.h b/stream-servers/apigen-codec-common/X11/extensions/xtestext1const.h
new file mode 100644
index 0000000..656edc6
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/xtestext1const.h
@@ -0,0 +1,160 @@
+/*
+ * xtestext1.h
+ *
+ * X11 Input Synthesis Extension include file
+ */
+
+/*
+
+
+Copyright 1986, 1987, 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1986, 1987, 1988 by Hewlett-Packard Corporation
+
+Permission to use, copy, modify, and distribute this
+software and its documentation for any purpose and without
+fee is hereby granted, provided that the above copyright
+notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting
+documentation, and that the name of Hewlett-Packard not be used in
+advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+Hewlett-Packard makes no representations about the
+suitability of this software for any purpose. It is provided
+"as is" without express or implied warranty.
+
+This software is not subject to any license of the American
+Telephone and Telegraph Company or of the Regents of the
+University of California.
+
+*/
+
+#ifndef _XTESTEXT1CONST_H
+#define _XTESTEXT1CONST_H 1
+
+#define XTestMAX_ACTION_LIST_SIZE 64
+#define XTestACTIONS_SIZE 28
+
+
+/*
+ * used in the XTestPressButton and XTestPressKey functions
+ */
+#define XTestPRESS 1 << 0
+#define XTestRELEASE 1 << 1
+#define XTestSTROKE 1 << 2
+
+/*
+ * When doing a key or button stroke, the number of milliseconds
+ * to delay between the press and the release of a key or button
+ * in the XTestPressButton and XTestPressKey functions.
+ */
+
+#define XTestSTROKE_DELAY_TIME 10
+
+/*
+ * used in the XTestGetInput function
+ */
+#define XTestEXCLUSIVE 1 << 0
+#define XTestPACKED_ACTIONS 1 << 1
+#define XTestPACKED_MOTION 1 << 2
+
+/*
+ * used in the XTestFakeInput function
+ */
+#define XTestFAKE_ACK_NOT_NEEDED 0
+#define XTestFAKE_ACK_REQUEST 1
+
+/*
+ * used in the XTest extension initialization routine
+ */
+#define XTestEXTENSION_NAME "XTestExtension1"
+#define XTestEVENT_COUNT 2
+
+/*
+ * This is the definition for the format of the header byte
+ * in the input action structures.
+ */
+#define XTestACTION_TYPE_MASK 0x03 /* bits 0 and 1 */
+#define XTestKEY_STATE_MASK 0x04 /* bit 2 (key action) */
+#define XTestX_SIGN_BIT_MASK 0x04 /* bit 2 (motion action) */
+#define XTestY_SIGN_BIT_MASK 0x08 /* bit 3 (motion action) */
+#define XTestDEVICE_ID_MASK 0xf0 /* bits 4 through 7 */
+
+#define XTestMAX_DEVICE_ID 0x0f
+#define XTestPackDeviceID(x) (((x) & XTestMAX_DEVICE_ID) << 4)
+#define XTestUnpackDeviceID(x) (((x) & XTestDEVICE_ID_MASK) >> 4)
+
+/*
+ * These are the possible action types.
+ */
+#define XTestDELAY_ACTION 0
+#define XTestKEY_ACTION 1
+#define XTestMOTION_ACTION 2
+#define XTestJUMP_ACTION 3
+
+/*
+ * These are the definitions for key/button motion input actions.
+ */
+#define XTestKEY_UP 0x04
+#define XTestKEY_DOWN 0x00
+
+/*
+ * These are the definitions for pointer relative motion input
+ * actions.
+ *
+ * The sign bits for the x and y relative motions are contained
+ * in the header byte. The x and y relative motions are packed
+ * into one byte to make things fit in 32 bits. If the relative
+ * motion range is larger than +/-15, use the pointer jump action.
+ */
+#define XTestMOTION_MAX 15
+#define XTestMOTION_MIN -15
+
+#define XTestX_NEGATIVE 0x04
+#define XTestY_NEGATIVE 0x08
+
+#define XTestX_MOTION_MASK 0x0f
+#define XTestY_MOTION_MASK 0xf0
+
+#define XTestPackXMotionValue(x) ((x) & XTestX_MOTION_MASK)
+#define XTestPackYMotionValue(x) (((x) << 4) & XTestY_MOTION_MASK)
+
+#define XTestUnpackXMotionValue(x) ((x) & XTestX_MOTION_MASK)
+#define XTestUnpackYMotionValue(x) (((x) & XTestY_MOTION_MASK) >> 4)
+/*
+ * These are the definitions for a long delay input action. It is
+ * used when more than XTestSHORT_DELAY_TIME milliseconds of delay
+ * (approximately one minute) is needed.
+ *
+ * The device ID for a delay is always set to XTestDELAY_DEVICE_ID.
+ * This guarantees that a header byte with a value of 0 is not
+ * a valid header, so it can be used as a flag to indicate that
+ * there are no more input actions in an XTestInputAction event.
+ */
+
+#define XTestSHORT_DELAY_TIME 0xffff
+#define XTestDELAY_DEVICE_ID 0x0f
+
+#endif /* _XTESTEXT1CONST_H */
diff --git a/stream-servers/apigen-codec-common/X11/extensions/xtestext1proto.h b/stream-servers/apigen-codec-common/X11/extensions/xtestext1proto.h
new file mode 100644
index 0000000..e9bdee0
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/xtestext1proto.h
@@ -0,0 +1,221 @@
+/*
+ * xtestext1.h
+ *
+ * X11 Input Synthesis Extension include file
+ */
+
+/*
+Copyright 1986, 1987, 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1986, 1987, 1988 by Hewlett-Packard Corporation
+
+Permission to use, copy, modify, and distribute this
+software and its documentation for any purpose and without
+fee is hereby granted, provided that the above copyright
+notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting
+documentation, and that the name of Hewlett-Packard not be used in
+advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+Hewlett-Packard makes no representations about the
+suitability of this software for any purpose. It is provided
+"as is" without express or implied warranty.
+
+This software is not subject to any license of the American
+Telephone and Telegraph Company or of the Regents of the
+University of California.
+
+*/
+
+#ifndef _XTESTEXT1PROTO_H
+#define _XTESTEXT1PROTO_H 1
+
+#include <X11/extensions/xtestext1const.h>
+
+/*
+ * the typedefs for CARD8, CARD16, and CARD32 are defined in Xmd.h
+ */
+
+/*
+ * XTest request type values
+ *
+ * used in the XTest extension protocol requests
+ */
+#define X_TestFakeInput 1
+#define X_TestGetInput 2
+#define X_TestStopInput 3
+#define X_TestReset 4
+#define X_TestQueryInputSize 5
+
+/*
+ * This defines the maximum size of a list of input actions
+ * to be sent to the server. It should always be a multiple of
+ * 4 so that the entire xTestFakeInputReq structure size is a
+ * multiple of 4.
+ */
+
+typedef struct {
+ CARD8 reqType; /* always XTestReqCode */
+ CARD8 XTestReqType; /* always X_TestFakeInput */
+ CARD16 length B16; /* 2 + XTestMAX_ACTION_LIST_SIZE/4 */
+ CARD32 ack B32;
+ CARD8 action_list[XTestMAX_ACTION_LIST_SIZE];
+} xTestFakeInputReq;
+#define sz_xTestFakeInputReq (XTestMAX_ACTION_LIST_SIZE + 8)
+
+typedef struct {
+ CARD8 reqType; /* always XTestReqCode */
+ CARD8 XTestReqType; /* always X_TestGetInput */
+ CARD16 length B16; /* 2 */
+ CARD32 mode B32;
+} xTestGetInputReq;
+#define sz_xTestGetInputReq 8
+
+typedef struct {
+ CARD8 reqType; /* always XTestReqCode */
+ CARD8 XTestReqType; /* always X_TestStopInput */
+ CARD16 length B32; /* 1 */
+} xTestStopInputReq;
+#define sz_xTestStopInputReq 4
+
+typedef struct {
+ CARD8 reqType; /* always XTestReqCode */
+ CARD8 XTestReqType; /* always X_TestReset */
+ CARD16 length B16; /* 1 */
+} xTestResetReq;
+#define sz_xTestResetReq 4
+
+typedef struct {
+ CARD8 reqType; /* always XTestReqCode */
+ CARD8 XTestReqType; /* always X_TestQueryInputSize */
+ CARD16 length B16; /* 1 */
+} xTestQueryInputSizeReq;
+#define sz_xTestQueryInputSizeReq 4
+
+/*
+ * This is the definition of the reply for the xTestQueryInputSize
+ * request. It should remain the same minimum size as other replies
+ * (32 bytes).
+ */
+typedef struct {
+ CARD8 type; /* always X_Reply */
+ CARD8 pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* always 0 */
+ CARD32 size_return B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xTestQueryInputSizeReply;
+
+/*
+ * This is the definition for the input action wire event structure.
+ * This event is sent to the client when the server has one or
+ * more user input actions to report to the client. It must
+ * remain the same size as all other wire events (32 bytes).
+ */
+typedef struct {
+ CARD8 type; /* always XTestInputActionType */
+ CARD8 pad00;
+ CARD16 sequenceNumber B16;
+ CARD8 actions[XTestACTIONS_SIZE];
+} xTestInputActionEvent;
+
+/*
+ * This is the definition for the xTestFakeAck wire event structure.
+ * This event is sent to the client when the server has completely
+ * processed its input action buffer, and is ready for more.
+ * It must remain the same size as all other wire events (32 bytes).
+ */
+typedef struct {
+ CARD8 type; /* always XTestFakeAckType */
+ CARD8 pad00;
+ CARD16 sequenceNumber B16;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ CARD32 pad04 B32;
+ CARD32 pad05 B32;
+ CARD32 pad06 B32;
+ CARD32 pad07 B32;
+ CARD32 pad08 B32;
+} xTestFakeAckEvent;
+
+/*
+ * These are the definitions for key/button motion input actions.
+ */
+typedef struct {
+ CARD8 header; /* which device, key up/down */
+ CARD8 keycode; /* which key/button to move */
+ CARD16 delay_time B16; /* how long to delay (in ms) */
+} XTestKeyInfo;
+
+/*
+ * This is the definition for pointer jump input actions.
+ */
+typedef struct {
+ CARD8 header; /* which pointer */
+ CARD8 pad1; /* unused padding byte */
+ CARD16 jumpx B16; /* x coord to jump to */
+ CARD16 jumpy B16; /* y coord to jump to */
+ CARD16 delay_time B16; /* how long to delay (in ms) */
+} XTestJumpInfo;
+
+/*
+ * These are the definitions for pointer relative motion input
+ * actions.
+ *
+ * The sign bits for the x and y relative motions are contained
+ * in the header byte. The x and y relative motions are packed
+ * into one byte to make things fit in 32 bits. If the relative
+ * motion range is larger than +/-15, use the pointer jump action.
+ */
+
+typedef struct {
+ CARD8 header; /* which pointer */
+ CARD8 motion_data; /* x,y relative motion */
+ CARD16 delay_time B16; /* how long to delay (in ms) */
+} XTestMotionInfo;
+
+/*
+ * These are the definitions for a long delay input action. It is
+ * used when more than XTestSHORT_DELAY_TIME milliseconds of delay
+ * (approximately one minute) is needed.
+ *
+ * The device ID for a delay is always set to XTestDELAY_DEVICE_ID.
+ * This guarantees that a header byte with a value of 0 is not
+ * a valid header, so it can be used as a flag to indicate that
+ * there are no more input actions in an XTestInputAction event.
+ */
+
+typedef struct {
+ CARD8 header; /* always XTestDELAY_DEVICE_ID */
+ CARD8 pad1; /* unused padding byte */
+ CARD16 pad2 B16; /* unused padding word */
+ CARD32 delay_time B32; /* how long to delay (in ms) */
+} XTestDelayInfo;
+
+#endif /* _XTESTEXT1PROTO_H */
diff --git a/stream-servers/apigen-codec-common/X11/extensions/xtestproto.h b/stream-servers/apigen-codec-common/X11/extensions/xtestproto.h
new file mode 100644
index 0000000..4f8db26
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/extensions/xtestproto.h
@@ -0,0 +1,124 @@
+/*
+
+Copyright 1992, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+
+#ifndef _XTESTPROTO_H_
+#define _XTESTPROTO_H_
+
+#include <X11/extensions/xtestconst.h>
+
+#define Window CARD32
+#define Time CARD32
+#define Cursor CARD32
+
+#define X_XTestGetVersion 0
+#define X_XTestCompareCursor 1
+#define X_XTestFakeInput 2
+#define X_XTestGrabControl 3
+
+typedef struct {
+ CARD8 reqType; /* always XTestReqCode */
+ CARD8 xtReqType; /* always X_XTestGetVersion */
+ CARD16 length B16;
+ CARD8 majorVersion;
+ CARD8 pad;
+ CARD16 minorVersion B16;
+} xXTestGetVersionReq;
+#define sz_xXTestGetVersionReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 majorVersion;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 minorVersion B16;
+ CARD16 pad0 B16;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xXTestGetVersionReply;
+#define sz_xXTestGetVersionReply 32
+
+typedef struct {
+ CARD8 reqType; /* always XTestReqCode */
+ CARD8 xtReqType; /* always X_XTestCompareCursor */
+ CARD16 length B16;
+ Window window B32;
+ Cursor cursor B32;
+} xXTestCompareCursorReq;
+#define sz_xXTestCompareCursorReq 12
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL same;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xXTestCompareCursorReply;
+#define sz_xXTestCompareCursorReply 32
+
+/* used only on the client side */
+typedef struct {
+ CARD8 reqType; /* always XTestReqCode */
+ CARD8 xtReqType; /* always X_XTestFakeInput */
+ CARD16 length B16;
+ BYTE type;
+ BYTE detail;
+ CARD16 pad0 B16;
+ Time time B32;
+ Window root B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ INT16 rootX B16, rootY B16;
+ CARD32 pad3 B32;
+ CARD16 pad4 B16;
+ CARD8 pad5;
+ CARD8 deviceid;
+} xXTestFakeInputReq;
+#define sz_xXTestFakeInputReq 36
+
+typedef struct {
+ CARD8 reqType; /* always XTestReqCode */
+ CARD8 xtReqType; /* always X_XTestGrabControl */
+ CARD16 length B16;
+ BOOL impervious;
+ CARD8 pad0;
+ CARD8 pad1;
+ CARD8 pad2;
+} xXTestGrabControlReq;
+#define sz_xXTestGrabControlReq 8
+
+#undef Window
+#undef Time
+#undef Cursor
+
+#endif /* _XTESTPROTO_H_ */
diff --git a/stream-servers/apigen-codec-common/X11/keysym.h b/stream-servers/apigen-codec-common/X11/keysym.h
new file mode 100644
index 0000000..4f58488
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/keysym.h
@@ -0,0 +1,74 @@
+/***********************************************************
+
+Copyright 1987, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+/* default keysyms */
+#define XK_MISCELLANY
+#define XK_XKB_KEYS
+#define XK_LATIN1
+#define XK_LATIN2
+#define XK_LATIN3
+#define XK_LATIN4
+#define XK_LATIN8
+#define XK_LATIN9
+#define XK_CAUCASUS
+#define XK_GREEK
+#define XK_KATAKANA
+#define XK_ARABIC
+#define XK_CYRILLIC
+#define XK_HEBREW
+#define XK_THAI
+#define XK_KOREAN
+#define XK_ARMENIAN
+#define XK_GEORGIAN
+#define XK_VIETNAMESE
+#define XK_CURRENCY
+#define XK_MATHEMATICAL
+#define XK_BRAILLE
+#define XK_SINHALA
+
+#include <X11/keysymdef.h>
+
diff --git a/stream-servers/apigen-codec-common/X11/keysymdef.h b/stream-servers/apigen-codec-common/X11/keysymdef.h
new file mode 100644
index 0000000..ae73977
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11/keysymdef.h
@@ -0,0 +1,2491 @@
+/***********************************************************
+Copyright 1987, 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+/*
+ * The "X11 Window System Protocol" standard defines in Appendix A the
+ * keysym codes. These 29-bit integer values identify characters or
+ * functions associated with each key (e.g., via the visible
+ * engraving) of a keyboard layout. This file assigns mnemonic macro
+ * names for these keysyms.
+ *
+ * This file is also compiled (by src/util/makekeys.c in libX11) into
+ * hash tables that can be accessed with X11 library functions such as
+ * XStringToKeysym() and XKeysymToString().
+ *
+ * Where a keysym corresponds one-to-one to an ISO 10646 / Unicode
+ * character, this is noted in a comment that provides both the U+xxxx
+ * Unicode position, as well as the official Unicode name of the
+ * character.
+ *
+ * Where the correspondence is either not one-to-one or semantically
+ * unclear, the Unicode position and name are enclosed in
+ * parentheses. Such legacy keysyms should be considered deprecated
+ * and are not recommended for use in future keyboard mappings.
+ *
+ * For any future extension of the keysyms with characters already
+ * found in ISO 10646 / Unicode, the following algorithm shall be
+ * used. The new keysym code position will simply be the character's
+ * Unicode number plus 0x01000000. The keysym values in the range
+ * 0x01000100 to 0x0110ffff are reserved to represent Unicode
+ * characters in the range U+0100 to U+10FFFF.
+ *
+ * While most newer Unicode-based X11 clients do already accept
+ * Unicode-mapped keysyms in the range 0x01000100 to 0x0110ffff, it
+ * will remain necessary for clients -- in the interest of
+ * compatibility with existing servers -- to also understand the
+ * existing legacy keysym values in the range 0x0100 to 0x20ff.
+ *
+ * Where several mnemonic names are defined for the same keysym in this
+ * file, all but the first one listed should be considered deprecated.
+ *
+ * Mnemonic names for keysyms are defined in this file with lines
+ * that match one of these Perl regular expressions:
+ *
+ * /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*\/\* U+([0-9A-F]{4,6}) (.*) \*\/\s*$/
+ * /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*\/\*\(U+([0-9A-F]{4,6}) (.*)\)\*\/\s*$/
+ * /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*(\/\*\s*(.*)\s*\*\/)?\s*$/
+ *
+ * Before adding new keysyms, please do consider the following: In
+ * addition to the keysym names defined in this file, the
+ * XStringToKeysym() and XKeysymToString() functions will also handle
+ * any keysym string of the form "U0020" to "U007E" and "U00A0" to
+ * "U10FFFF" for all possible Unicode characters. In other words,
+ * every possible Unicode character has already a keysym string
+ * defined algorithmically, even if it is not listed here. Therefore,
+ * defining an additional keysym macro is only necessary where a
+ * non-hexadecimal mnemonic name is needed, or where the new keysym
+ * does not represent any existing Unicode character.
+ *
+ * When adding new keysyms to this file, do not forget to also update the
+ * following as needed:
+ *
+ * - the mappings in src/KeyBind.c in the repo
+ * git://anongit.freedesktop.org/xorg/lib/libX11.git
+ *
+ * - the protocol specification in specs/keysyms.xml
+ * in the repo git://anongit.freedesktop.org/xorg/proto/x11proto.git
+ *
+ */
+
+#define XK_VoidSymbol 0xffffff /* Void symbol */
+
+#ifdef XK_MISCELLANY
+/*
+ * TTY function keys, cleverly chosen to map to ASCII, for convenience of
+ * programming, but could have been arbitrary (at the cost of lookup
+ * tables in client code).
+ */
+
+#define XK_BackSpace 0xff08 /* Back space, back char */
+#define XK_Tab 0xff09
+#define XK_Linefeed 0xff0a /* Linefeed, LF */
+#define XK_Clear 0xff0b
+#define XK_Return 0xff0d /* Return, enter */
+#define XK_Pause 0xff13 /* Pause, hold */
+#define XK_Scroll_Lock 0xff14
+#define XK_Sys_Req 0xff15
+#define XK_Escape 0xff1b
+#define XK_Delete 0xffff /* Delete, rubout */
+
+
+
+/* International & multi-key character composition */
+
+#define XK_Multi_key 0xff20 /* Multi-key character compose */
+#define XK_Codeinput 0xff37
+#define XK_SingleCandidate 0xff3c
+#define XK_MultipleCandidate 0xff3d
+#define XK_PreviousCandidate 0xff3e
+
+/* Japanese keyboard support */
+
+#define XK_Kanji 0xff21 /* Kanji, Kanji convert */
+#define XK_Muhenkan 0xff22 /* Cancel Conversion */
+#define XK_Henkan_Mode 0xff23 /* Start/Stop Conversion */
+#define XK_Henkan 0xff23 /* Alias for Henkan_Mode */
+#define XK_Romaji 0xff24 /* to Romaji */
+#define XK_Hiragana 0xff25 /* to Hiragana */
+#define XK_Katakana 0xff26 /* to Katakana */
+#define XK_Hiragana_Katakana 0xff27 /* Hiragana/Katakana toggle */
+#define XK_Zenkaku 0xff28 /* to Zenkaku */
+#define XK_Hankaku 0xff29 /* to Hankaku */
+#define XK_Zenkaku_Hankaku 0xff2a /* Zenkaku/Hankaku toggle */
+#define XK_Touroku 0xff2b /* Add to Dictionary */
+#define XK_Massyo 0xff2c /* Delete from Dictionary */
+#define XK_Kana_Lock 0xff2d /* Kana Lock */
+#define XK_Kana_Shift 0xff2e /* Kana Shift */
+#define XK_Eisu_Shift 0xff2f /* Alphanumeric Shift */
+#define XK_Eisu_toggle 0xff30 /* Alphanumeric toggle */
+#define XK_Kanji_Bangou 0xff37 /* Codeinput */
+#define XK_Zen_Koho 0xff3d /* Multiple/All Candidate(s) */
+#define XK_Mae_Koho 0xff3e /* Previous Candidate */
+
+/* 0xff31 thru 0xff3f are under XK_KOREAN */
+
+/* Cursor control & motion */
+
+#define XK_Home 0xff50
+#define XK_Left 0xff51 /* Move left, left arrow */
+#define XK_Up 0xff52 /* Move up, up arrow */
+#define XK_Right 0xff53 /* Move right, right arrow */
+#define XK_Down 0xff54 /* Move down, down arrow */
+#define XK_Prior 0xff55 /* Prior, previous */
+#define XK_Page_Up 0xff55
+#define XK_Next 0xff56 /* Next */
+#define XK_Page_Down 0xff56
+#define XK_End 0xff57 /* EOL */
+#define XK_Begin 0xff58 /* BOL */
+
+
+/* Misc functions */
+
+#define XK_Select 0xff60 /* Select, mark */
+#define XK_Print 0xff61
+#define XK_Execute 0xff62 /* Execute, run, do */
+#define XK_Insert 0xff63 /* Insert, insert here */
+#define XK_Undo 0xff65
+#define XK_Redo 0xff66 /* Redo, again */
+#define XK_Menu 0xff67
+#define XK_Find 0xff68 /* Find, search */
+#define XK_Cancel 0xff69 /* Cancel, stop, abort, exit */
+#define XK_Help 0xff6a /* Help */
+#define XK_Break 0xff6b
+#define XK_Mode_switch 0xff7e /* Character set switch */
+#define XK_script_switch 0xff7e /* Alias for mode_switch */
+#define XK_Num_Lock 0xff7f
+
+/* Keypad functions, keypad numbers cleverly chosen to map to ASCII */
+
+#define XK_KP_Space 0xff80 /* Space */
+#define XK_KP_Tab 0xff89
+#define XK_KP_Enter 0xff8d /* Enter */
+#define XK_KP_F1 0xff91 /* PF1, KP_A, ... */
+#define XK_KP_F2 0xff92
+#define XK_KP_F3 0xff93
+#define XK_KP_F4 0xff94
+#define XK_KP_Home 0xff95
+#define XK_KP_Left 0xff96
+#define XK_KP_Up 0xff97
+#define XK_KP_Right 0xff98
+#define XK_KP_Down 0xff99
+#define XK_KP_Prior 0xff9a
+#define XK_KP_Page_Up 0xff9a
+#define XK_KP_Next 0xff9b
+#define XK_KP_Page_Down 0xff9b
+#define XK_KP_End 0xff9c
+#define XK_KP_Begin 0xff9d
+#define XK_KP_Insert 0xff9e
+#define XK_KP_Delete 0xff9f
+#define XK_KP_Equal 0xffbd /* Equals */
+#define XK_KP_Multiply 0xffaa
+#define XK_KP_Add 0xffab
+#define XK_KP_Separator 0xffac /* Separator, often comma */
+#define XK_KP_Subtract 0xffad
+#define XK_KP_Decimal 0xffae
+#define XK_KP_Divide 0xffaf
+
+#define XK_KP_0 0xffb0
+#define XK_KP_1 0xffb1
+#define XK_KP_2 0xffb2
+#define XK_KP_3 0xffb3
+#define XK_KP_4 0xffb4
+#define XK_KP_5 0xffb5
+#define XK_KP_6 0xffb6
+#define XK_KP_7 0xffb7
+#define XK_KP_8 0xffb8
+#define XK_KP_9 0xffb9
+
+
+
+/*
+ * Auxiliary functions; note the duplicate definitions for left and right
+ * function keys; Sun keyboards and a few other manufacturers have such
+ * function key groups on the left and/or right sides of the keyboard.
+ * We've not found a keyboard with more than 35 function keys total.
+ */
+
+#define XK_F1 0xffbe
+#define XK_F2 0xffbf
+#define XK_F3 0xffc0
+#define XK_F4 0xffc1
+#define XK_F5 0xffc2
+#define XK_F6 0xffc3
+#define XK_F7 0xffc4
+#define XK_F8 0xffc5
+#define XK_F9 0xffc6
+#define XK_F10 0xffc7
+#define XK_F11 0xffc8
+#define XK_L1 0xffc8
+#define XK_F12 0xffc9
+#define XK_L2 0xffc9
+#define XK_F13 0xffca
+#define XK_L3 0xffca
+#define XK_F14 0xffcb
+#define XK_L4 0xffcb
+#define XK_F15 0xffcc
+#define XK_L5 0xffcc
+#define XK_F16 0xffcd
+#define XK_L6 0xffcd
+#define XK_F17 0xffce
+#define XK_L7 0xffce
+#define XK_F18 0xffcf
+#define XK_L8 0xffcf
+#define XK_F19 0xffd0
+#define XK_L9 0xffd0
+#define XK_F20 0xffd1
+#define XK_L10 0xffd1
+#define XK_F21 0xffd2
+#define XK_R1 0xffd2
+#define XK_F22 0xffd3
+#define XK_R2 0xffd3
+#define XK_F23 0xffd4
+#define XK_R3 0xffd4
+#define XK_F24 0xffd5
+#define XK_R4 0xffd5
+#define XK_F25 0xffd6
+#define XK_R5 0xffd6
+#define XK_F26 0xffd7
+#define XK_R6 0xffd7
+#define XK_F27 0xffd8
+#define XK_R7 0xffd8
+#define XK_F28 0xffd9
+#define XK_R8 0xffd9
+#define XK_F29 0xffda
+#define XK_R9 0xffda
+#define XK_F30 0xffdb
+#define XK_R10 0xffdb
+#define XK_F31 0xffdc
+#define XK_R11 0xffdc
+#define XK_F32 0xffdd
+#define XK_R12 0xffdd
+#define XK_F33 0xffde
+#define XK_R13 0xffde
+#define XK_F34 0xffdf
+#define XK_R14 0xffdf
+#define XK_F35 0xffe0
+#define XK_R15 0xffe0
+
+/* Modifiers */
+
+#define XK_Shift_L 0xffe1 /* Left shift */
+#define XK_Shift_R 0xffe2 /* Right shift */
+#define XK_Control_L 0xffe3 /* Left control */
+#define XK_Control_R 0xffe4 /* Right control */
+#define XK_Caps_Lock 0xffe5 /* Caps lock */
+#define XK_Shift_Lock 0xffe6 /* Shift lock */
+
+#define XK_Meta_L 0xffe7 /* Left meta */
+#define XK_Meta_R 0xffe8 /* Right meta */
+#define XK_Alt_L 0xffe9 /* Left alt */
+#define XK_Alt_R 0xffea /* Right alt */
+#define XK_Super_L 0xffeb /* Left super */
+#define XK_Super_R 0xffec /* Right super */
+#define XK_Hyper_L 0xffed /* Left hyper */
+#define XK_Hyper_R 0xffee /* Right hyper */
+#endif /* XK_MISCELLANY */
+
+/*
+ * Keyboard (XKB) Extension function and modifier keys
+ * (from Appendix C of "The X Keyboard Extension: Protocol Specification")
+ * Byte 3 = 0xfe
+ */
+
+#ifdef XK_XKB_KEYS
+#define XK_ISO_Lock 0xfe01
+#define XK_ISO_Level2_Latch 0xfe02
+#define XK_ISO_Level3_Shift 0xfe03
+#define XK_ISO_Level3_Latch 0xfe04
+#define XK_ISO_Level3_Lock 0xfe05
+#define XK_ISO_Level5_Shift 0xfe11
+#define XK_ISO_Level5_Latch 0xfe12
+#define XK_ISO_Level5_Lock 0xfe13
+#define XK_ISO_Group_Shift 0xff7e /* Alias for mode_switch */
+#define XK_ISO_Group_Latch 0xfe06
+#define XK_ISO_Group_Lock 0xfe07
+#define XK_ISO_Next_Group 0xfe08
+#define XK_ISO_Next_Group_Lock 0xfe09
+#define XK_ISO_Prev_Group 0xfe0a
+#define XK_ISO_Prev_Group_Lock 0xfe0b
+#define XK_ISO_First_Group 0xfe0c
+#define XK_ISO_First_Group_Lock 0xfe0d
+#define XK_ISO_Last_Group 0xfe0e
+#define XK_ISO_Last_Group_Lock 0xfe0f
+
+#define XK_ISO_Left_Tab 0xfe20
+#define XK_ISO_Move_Line_Up 0xfe21
+#define XK_ISO_Move_Line_Down 0xfe22
+#define XK_ISO_Partial_Line_Up 0xfe23
+#define XK_ISO_Partial_Line_Down 0xfe24
+#define XK_ISO_Partial_Space_Left 0xfe25
+#define XK_ISO_Partial_Space_Right 0xfe26
+#define XK_ISO_Set_Margin_Left 0xfe27
+#define XK_ISO_Set_Margin_Right 0xfe28
+#define XK_ISO_Release_Margin_Left 0xfe29
+#define XK_ISO_Release_Margin_Right 0xfe2a
+#define XK_ISO_Release_Both_Margins 0xfe2b
+#define XK_ISO_Fast_Cursor_Left 0xfe2c
+#define XK_ISO_Fast_Cursor_Right 0xfe2d
+#define XK_ISO_Fast_Cursor_Up 0xfe2e
+#define XK_ISO_Fast_Cursor_Down 0xfe2f
+#define XK_ISO_Continuous_Underline 0xfe30
+#define XK_ISO_Discontinuous_Underline 0xfe31
+#define XK_ISO_Emphasize 0xfe32
+#define XK_ISO_Center_Object 0xfe33
+#define XK_ISO_Enter 0xfe34
+
+#define XK_dead_grave 0xfe50
+#define XK_dead_acute 0xfe51
+#define XK_dead_circumflex 0xfe52
+#define XK_dead_tilde 0xfe53
+#define XK_dead_perispomeni 0xfe53 /* alias for dead_tilde */
+#define XK_dead_macron 0xfe54
+#define XK_dead_breve 0xfe55
+#define XK_dead_abovedot 0xfe56
+#define XK_dead_diaeresis 0xfe57
+#define XK_dead_abovering 0xfe58
+#define XK_dead_doubleacute 0xfe59
+#define XK_dead_caron 0xfe5a
+#define XK_dead_cedilla 0xfe5b
+#define XK_dead_ogonek 0xfe5c
+#define XK_dead_iota 0xfe5d
+#define XK_dead_voiced_sound 0xfe5e
+#define XK_dead_semivoiced_sound 0xfe5f
+#define XK_dead_belowdot 0xfe60
+#define XK_dead_hook 0xfe61
+#define XK_dead_horn 0xfe62
+#define XK_dead_stroke 0xfe63
+#define XK_dead_abovecomma 0xfe64
+#define XK_dead_psili 0xfe64 /* alias for dead_abovecomma */
+#define XK_dead_abovereversedcomma 0xfe65
+#define XK_dead_dasia 0xfe65 /* alias for dead_abovereversedcomma */
+#define XK_dead_doublegrave 0xfe66
+#define XK_dead_belowring 0xfe67
+#define XK_dead_belowmacron 0xfe68
+#define XK_dead_belowcircumflex 0xfe69
+#define XK_dead_belowtilde 0xfe6a
+#define XK_dead_belowbreve 0xfe6b
+#define XK_dead_belowdiaeresis 0xfe6c
+#define XK_dead_invertedbreve 0xfe6d
+#define XK_dead_belowcomma 0xfe6e
+#define XK_dead_currency 0xfe6f
+
+/* dead vowels for universal syllable entry */
+#define XK_dead_a 0xfe80
+#define XK_dead_A 0xfe81
+#define XK_dead_e 0xfe82
+#define XK_dead_E 0xfe83
+#define XK_dead_i 0xfe84
+#define XK_dead_I 0xfe85
+#define XK_dead_o 0xfe86
+#define XK_dead_O 0xfe87
+#define XK_dead_u 0xfe88
+#define XK_dead_U 0xfe89
+#define XK_dead_small_schwa 0xfe8a
+#define XK_dead_capital_schwa 0xfe8b
+
+#define XK_dead_greek 0xfe8c
+
+#define XK_First_Virtual_Screen 0xfed0
+#define XK_Prev_Virtual_Screen 0xfed1
+#define XK_Next_Virtual_Screen 0xfed2
+#define XK_Last_Virtual_Screen 0xfed4
+#define XK_Terminate_Server 0xfed5
+
+#define XK_AccessX_Enable 0xfe70
+#define XK_AccessX_Feedback_Enable 0xfe71
+#define XK_RepeatKeys_Enable 0xfe72
+#define XK_SlowKeys_Enable 0xfe73
+#define XK_BounceKeys_Enable 0xfe74
+#define XK_StickyKeys_Enable 0xfe75
+#define XK_MouseKeys_Enable 0xfe76
+#define XK_MouseKeys_Accel_Enable 0xfe77
+#define XK_Overlay1_Enable 0xfe78
+#define XK_Overlay2_Enable 0xfe79
+#define XK_AudibleBell_Enable 0xfe7a
+
+#define XK_Pointer_Left 0xfee0
+#define XK_Pointer_Right 0xfee1
+#define XK_Pointer_Up 0xfee2
+#define XK_Pointer_Down 0xfee3
+#define XK_Pointer_UpLeft 0xfee4
+#define XK_Pointer_UpRight 0xfee5
+#define XK_Pointer_DownLeft 0xfee6
+#define XK_Pointer_DownRight 0xfee7
+#define XK_Pointer_Button_Dflt 0xfee8
+#define XK_Pointer_Button1 0xfee9
+#define XK_Pointer_Button2 0xfeea
+#define XK_Pointer_Button3 0xfeeb
+#define XK_Pointer_Button4 0xfeec
+#define XK_Pointer_Button5 0xfeed
+#define XK_Pointer_DblClick_Dflt 0xfeee
+#define XK_Pointer_DblClick1 0xfeef
+#define XK_Pointer_DblClick2 0xfef0
+#define XK_Pointer_DblClick3 0xfef1
+#define XK_Pointer_DblClick4 0xfef2
+#define XK_Pointer_DblClick5 0xfef3
+#define XK_Pointer_Drag_Dflt 0xfef4
+#define XK_Pointer_Drag1 0xfef5
+#define XK_Pointer_Drag2 0xfef6
+#define XK_Pointer_Drag3 0xfef7
+#define XK_Pointer_Drag4 0xfef8
+#define XK_Pointer_Drag5 0xfefd
+
+#define XK_Pointer_EnableKeys 0xfef9
+#define XK_Pointer_Accelerate 0xfefa
+#define XK_Pointer_DfltBtnNext 0xfefb
+#define XK_Pointer_DfltBtnPrev 0xfefc
+
+/* Single-Stroke Multiple-Character N-Graph Keysyms For The X Input Method */
+
+#define XK_ch 0xfea0
+#define XK_Ch 0xfea1
+#define XK_CH 0xfea2
+#define XK_c_h 0xfea3
+#define XK_C_h 0xfea4
+#define XK_C_H 0xfea5
+
+#endif /* XK_XKB_KEYS */
+
+/*
+ * 3270 Terminal Keys
+ * Byte 3 = 0xfd
+ */
+
+#ifdef XK_3270
+#define XK_3270_Duplicate 0xfd01
+#define XK_3270_FieldMark 0xfd02
+#define XK_3270_Right2 0xfd03
+#define XK_3270_Left2 0xfd04
+#define XK_3270_BackTab 0xfd05
+#define XK_3270_EraseEOF 0xfd06
+#define XK_3270_EraseInput 0xfd07
+#define XK_3270_Reset 0xfd08
+#define XK_3270_Quit 0xfd09
+#define XK_3270_PA1 0xfd0a
+#define XK_3270_PA2 0xfd0b
+#define XK_3270_PA3 0xfd0c
+#define XK_3270_Test 0xfd0d
+#define XK_3270_Attn 0xfd0e
+#define XK_3270_CursorBlink 0xfd0f
+#define XK_3270_AltCursor 0xfd10
+#define XK_3270_KeyClick 0xfd11
+#define XK_3270_Jump 0xfd12
+#define XK_3270_Ident 0xfd13
+#define XK_3270_Rule 0xfd14
+#define XK_3270_Copy 0xfd15
+#define XK_3270_Play 0xfd16
+#define XK_3270_Setup 0xfd17
+#define XK_3270_Record 0xfd18
+#define XK_3270_ChangeScreen 0xfd19
+#define XK_3270_DeleteWord 0xfd1a
+#define XK_3270_ExSelect 0xfd1b
+#define XK_3270_CursorSelect 0xfd1c
+#define XK_3270_PrintScreen 0xfd1d
+#define XK_3270_Enter 0xfd1e
+#endif /* XK_3270 */
+
+/*
+ * Latin 1
+ * (ISO/IEC 8859-1 = Unicode U+0020..U+00FF)
+ * Byte 3 = 0
+ */
+#ifdef XK_LATIN1
+#define XK_space 0x0020 /* U+0020 SPACE */
+#define XK_exclam 0x0021 /* U+0021 EXCLAMATION MARK */
+#define XK_quotedbl 0x0022 /* U+0022 QUOTATION MARK */
+#define XK_numbersign 0x0023 /* U+0023 NUMBER SIGN */
+#define XK_dollar 0x0024 /* U+0024 DOLLAR SIGN */
+#define XK_percent 0x0025 /* U+0025 PERCENT SIGN */
+#define XK_ampersand 0x0026 /* U+0026 AMPERSAND */
+#define XK_apostrophe 0x0027 /* U+0027 APOSTROPHE */
+#define XK_quoteright 0x0027 /* deprecated */
+#define XK_parenleft 0x0028 /* U+0028 LEFT PARENTHESIS */
+#define XK_parenright 0x0029 /* U+0029 RIGHT PARENTHESIS */
+#define XK_asterisk 0x002a /* U+002A ASTERISK */
+#define XK_plus 0x002b /* U+002B PLUS SIGN */
+#define XK_comma 0x002c /* U+002C COMMA */
+#define XK_minus 0x002d /* U+002D HYPHEN-MINUS */
+#define XK_period 0x002e /* U+002E FULL STOP */
+#define XK_slash 0x002f /* U+002F SOLIDUS */
+#define XK_0 0x0030 /* U+0030 DIGIT ZERO */
+#define XK_1 0x0031 /* U+0031 DIGIT ONE */
+#define XK_2 0x0032 /* U+0032 DIGIT TWO */
+#define XK_3 0x0033 /* U+0033 DIGIT THREE */
+#define XK_4 0x0034 /* U+0034 DIGIT FOUR */
+#define XK_5 0x0035 /* U+0035 DIGIT FIVE */
+#define XK_6 0x0036 /* U+0036 DIGIT SIX */
+#define XK_7 0x0037 /* U+0037 DIGIT SEVEN */
+#define XK_8 0x0038 /* U+0038 DIGIT EIGHT */
+#define XK_9 0x0039 /* U+0039 DIGIT NINE */
+#define XK_colon 0x003a /* U+003A COLON */
+#define XK_semicolon 0x003b /* U+003B SEMICOLON */
+#define XK_less 0x003c /* U+003C LESS-THAN SIGN */
+#define XK_equal 0x003d /* U+003D EQUALS SIGN */
+#define XK_greater 0x003e /* U+003E GREATER-THAN SIGN */
+#define XK_question 0x003f /* U+003F QUESTION MARK */
+#define XK_at 0x0040 /* U+0040 COMMERCIAL AT */
+#define XK_A 0x0041 /* U+0041 LATIN CAPITAL LETTER A */
+#define XK_B 0x0042 /* U+0042 LATIN CAPITAL LETTER B */
+#define XK_C 0x0043 /* U+0043 LATIN CAPITAL LETTER C */
+#define XK_D 0x0044 /* U+0044 LATIN CAPITAL LETTER D */
+#define XK_E 0x0045 /* U+0045 LATIN CAPITAL LETTER E */
+#define XK_F 0x0046 /* U+0046 LATIN CAPITAL LETTER F */
+#define XK_G 0x0047 /* U+0047 LATIN CAPITAL LETTER G */
+#define XK_H 0x0048 /* U+0048 LATIN CAPITAL LETTER H */
+#define XK_I 0x0049 /* U+0049 LATIN CAPITAL LETTER I */
+#define XK_J 0x004a /* U+004A LATIN CAPITAL LETTER J */
+#define XK_K 0x004b /* U+004B LATIN CAPITAL LETTER K */
+#define XK_L 0x004c /* U+004C LATIN CAPITAL LETTER L */
+#define XK_M 0x004d /* U+004D LATIN CAPITAL LETTER M */
+#define XK_N 0x004e /* U+004E LATIN CAPITAL LETTER N */
+#define XK_O 0x004f /* U+004F LATIN CAPITAL LETTER O */
+#define XK_P 0x0050 /* U+0050 LATIN CAPITAL LETTER P */
+#define XK_Q 0x0051 /* U+0051 LATIN CAPITAL LETTER Q */
+#define XK_R 0x0052 /* U+0052 LATIN CAPITAL LETTER R */
+#define XK_S 0x0053 /* U+0053 LATIN CAPITAL LETTER S */
+#define XK_T 0x0054 /* U+0054 LATIN CAPITAL LETTER T */
+#define XK_U 0x0055 /* U+0055 LATIN CAPITAL LETTER U */
+#define XK_V 0x0056 /* U+0056 LATIN CAPITAL LETTER V */
+#define XK_W 0x0057 /* U+0057 LATIN CAPITAL LETTER W */
+#define XK_X 0x0058 /* U+0058 LATIN CAPITAL LETTER X */
+#define XK_Y 0x0059 /* U+0059 LATIN CAPITAL LETTER Y */
+#define XK_Z 0x005a /* U+005A LATIN CAPITAL LETTER Z */
+#define XK_bracketleft 0x005b /* U+005B LEFT SQUARE BRACKET */
+#define XK_backslash 0x005c /* U+005C REVERSE SOLIDUS */
+#define XK_bracketright 0x005d /* U+005D RIGHT SQUARE BRACKET */
+#define XK_asciicircum 0x005e /* U+005E CIRCUMFLEX ACCENT */
+#define XK_underscore 0x005f /* U+005F LOW LINE */
+#define XK_grave 0x0060 /* U+0060 GRAVE ACCENT */
+#define XK_quoteleft 0x0060 /* deprecated */
+#define XK_a 0x0061 /* U+0061 LATIN SMALL LETTER A */
+#define XK_b 0x0062 /* U+0062 LATIN SMALL LETTER B */
+#define XK_c 0x0063 /* U+0063 LATIN SMALL LETTER C */
+#define XK_d 0x0064 /* U+0064 LATIN SMALL LETTER D */
+#define XK_e 0x0065 /* U+0065 LATIN SMALL LETTER E */
+#define XK_f 0x0066 /* U+0066 LATIN SMALL LETTER F */
+#define XK_g 0x0067 /* U+0067 LATIN SMALL LETTER G */
+#define XK_h 0x0068 /* U+0068 LATIN SMALL LETTER H */
+#define XK_i 0x0069 /* U+0069 LATIN SMALL LETTER I */
+#define XK_j 0x006a /* U+006A LATIN SMALL LETTER J */
+#define XK_k 0x006b /* U+006B LATIN SMALL LETTER K */
+#define XK_l 0x006c /* U+006C LATIN SMALL LETTER L */
+#define XK_m 0x006d /* U+006D LATIN SMALL LETTER M */
+#define XK_n 0x006e /* U+006E LATIN SMALL LETTER N */
+#define XK_o 0x006f /* U+006F LATIN SMALL LETTER O */
+#define XK_p 0x0070 /* U+0070 LATIN SMALL LETTER P */
+#define XK_q 0x0071 /* U+0071 LATIN SMALL LETTER Q */
+#define XK_r 0x0072 /* U+0072 LATIN SMALL LETTER R */
+#define XK_s 0x0073 /* U+0073 LATIN SMALL LETTER S */
+#define XK_t 0x0074 /* U+0074 LATIN SMALL LETTER T */
+#define XK_u 0x0075 /* U+0075 LATIN SMALL LETTER U */
+#define XK_v 0x0076 /* U+0076 LATIN SMALL LETTER V */
+#define XK_w 0x0077 /* U+0077 LATIN SMALL LETTER W */
+#define XK_x 0x0078 /* U+0078 LATIN SMALL LETTER X */
+#define XK_y 0x0079 /* U+0079 LATIN SMALL LETTER Y */
+#define XK_z 0x007a /* U+007A LATIN SMALL LETTER Z */
+#define XK_braceleft 0x007b /* U+007B LEFT CURLY BRACKET */
+#define XK_bar 0x007c /* U+007C VERTICAL LINE */
+#define XK_braceright 0x007d /* U+007D RIGHT CURLY BRACKET */
+#define XK_asciitilde 0x007e /* U+007E TILDE */
+
+#define XK_nobreakspace 0x00a0 /* U+00A0 NO-BREAK SPACE */
+#define XK_exclamdown 0x00a1 /* U+00A1 INVERTED EXCLAMATION MARK */
+#define XK_cent 0x00a2 /* U+00A2 CENT SIGN */
+#define XK_sterling 0x00a3 /* U+00A3 POUND SIGN */
+#define XK_currency 0x00a4 /* U+00A4 CURRENCY SIGN */
+#define XK_yen 0x00a5 /* U+00A5 YEN SIGN */
+#define XK_brokenbar 0x00a6 /* U+00A6 BROKEN BAR */
+#define XK_section 0x00a7 /* U+00A7 SECTION SIGN */
+#define XK_diaeresis 0x00a8 /* U+00A8 DIAERESIS */
+#define XK_copyright 0x00a9 /* U+00A9 COPYRIGHT SIGN */
+#define XK_ordfeminine 0x00aa /* U+00AA FEMININE ORDINAL INDICATOR */
+#define XK_guillemotleft 0x00ab /* U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */
+#define XK_notsign 0x00ac /* U+00AC NOT SIGN */
+#define XK_hyphen 0x00ad /* U+00AD SOFT HYPHEN */
+#define XK_registered 0x00ae /* U+00AE REGISTERED SIGN */
+#define XK_macron 0x00af /* U+00AF MACRON */
+#define XK_degree 0x00b0 /* U+00B0 DEGREE SIGN */
+#define XK_plusminus 0x00b1 /* U+00B1 PLUS-MINUS SIGN */
+#define XK_twosuperior 0x00b2 /* U+00B2 SUPERSCRIPT TWO */
+#define XK_threesuperior 0x00b3 /* U+00B3 SUPERSCRIPT THREE */
+#define XK_acute 0x00b4 /* U+00B4 ACUTE ACCENT */
+#define XK_mu 0x00b5 /* U+00B5 MICRO SIGN */
+#define XK_paragraph 0x00b6 /* U+00B6 PILCROW SIGN */
+#define XK_periodcentered 0x00b7 /* U+00B7 MIDDLE DOT */
+#define XK_cedilla 0x00b8 /* U+00B8 CEDILLA */
+#define XK_onesuperior 0x00b9 /* U+00B9 SUPERSCRIPT ONE */
+#define XK_masculine 0x00ba /* U+00BA MASCULINE ORDINAL INDICATOR */
+#define XK_guillemotright 0x00bb /* U+00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */
+#define XK_onequarter 0x00bc /* U+00BC VULGAR FRACTION ONE QUARTER */
+#define XK_onehalf 0x00bd /* U+00BD VULGAR FRACTION ONE HALF */
+#define XK_threequarters 0x00be /* U+00BE VULGAR FRACTION THREE QUARTERS */
+#define XK_questiondown 0x00bf /* U+00BF INVERTED QUESTION MARK */
+#define XK_Agrave 0x00c0 /* U+00C0 LATIN CAPITAL LETTER A WITH GRAVE */
+#define XK_Aacute 0x00c1 /* U+00C1 LATIN CAPITAL LETTER A WITH ACUTE */
+#define XK_Acircumflex 0x00c2 /* U+00C2 LATIN CAPITAL LETTER A WITH CIRCUMFLEX */
+#define XK_Atilde 0x00c3 /* U+00C3 LATIN CAPITAL LETTER A WITH TILDE */
+#define XK_Adiaeresis 0x00c4 /* U+00C4 LATIN CAPITAL LETTER A WITH DIAERESIS */
+#define XK_Aring 0x00c5 /* U+00C5 LATIN CAPITAL LETTER A WITH RING ABOVE */
+#define XK_AE 0x00c6 /* U+00C6 LATIN CAPITAL LETTER AE */
+#define XK_Ccedilla 0x00c7 /* U+00C7 LATIN CAPITAL LETTER C WITH CEDILLA */
+#define XK_Egrave 0x00c8 /* U+00C8 LATIN CAPITAL LETTER E WITH GRAVE */
+#define XK_Eacute 0x00c9 /* U+00C9 LATIN CAPITAL LETTER E WITH ACUTE */
+#define XK_Ecircumflex 0x00ca /* U+00CA LATIN CAPITAL LETTER E WITH CIRCUMFLEX */
+#define XK_Ediaeresis 0x00cb /* U+00CB LATIN CAPITAL LETTER E WITH DIAERESIS */
+#define XK_Igrave 0x00cc /* U+00CC LATIN CAPITAL LETTER I WITH GRAVE */
+#define XK_Iacute 0x00cd /* U+00CD LATIN CAPITAL LETTER I WITH ACUTE */
+#define XK_Icircumflex 0x00ce /* U+00CE LATIN CAPITAL LETTER I WITH CIRCUMFLEX */
+#define XK_Idiaeresis 0x00cf /* U+00CF LATIN CAPITAL LETTER I WITH DIAERESIS */
+#define XK_ETH 0x00d0 /* U+00D0 LATIN CAPITAL LETTER ETH */
+#define XK_Eth 0x00d0 /* deprecated */
+#define XK_Ntilde 0x00d1 /* U+00D1 LATIN CAPITAL LETTER N WITH TILDE */
+#define XK_Ograve 0x00d2 /* U+00D2 LATIN CAPITAL LETTER O WITH GRAVE */
+#define XK_Oacute 0x00d3 /* U+00D3 LATIN CAPITAL LETTER O WITH ACUTE */
+#define XK_Ocircumflex 0x00d4 /* U+00D4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX */
+#define XK_Otilde 0x00d5 /* U+00D5 LATIN CAPITAL LETTER O WITH TILDE */
+#define XK_Odiaeresis 0x00d6 /* U+00D6 LATIN CAPITAL LETTER O WITH DIAERESIS */
+#define XK_multiply 0x00d7 /* U+00D7 MULTIPLICATION SIGN */
+#define XK_Oslash 0x00d8 /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */
+#define XK_Ooblique 0x00d8 /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */
+#define XK_Ugrave 0x00d9 /* U+00D9 LATIN CAPITAL LETTER U WITH GRAVE */
+#define XK_Uacute 0x00da /* U+00DA LATIN CAPITAL LETTER U WITH ACUTE */
+#define XK_Ucircumflex 0x00db /* U+00DB LATIN CAPITAL LETTER U WITH CIRCUMFLEX */
+#define XK_Udiaeresis 0x00dc /* U+00DC LATIN CAPITAL LETTER U WITH DIAERESIS */
+#define XK_Yacute 0x00dd /* U+00DD LATIN CAPITAL LETTER Y WITH ACUTE */
+#define XK_THORN 0x00de /* U+00DE LATIN CAPITAL LETTER THORN */
+#define XK_Thorn 0x00de /* deprecated */
+#define XK_ssharp 0x00df /* U+00DF LATIN SMALL LETTER SHARP S */
+#define XK_agrave 0x00e0 /* U+00E0 LATIN SMALL LETTER A WITH GRAVE */
+#define XK_aacute 0x00e1 /* U+00E1 LATIN SMALL LETTER A WITH ACUTE */
+#define XK_acircumflex 0x00e2 /* U+00E2 LATIN SMALL LETTER A WITH CIRCUMFLEX */
+#define XK_atilde 0x00e3 /* U+00E3 LATIN SMALL LETTER A WITH TILDE */
+#define XK_adiaeresis 0x00e4 /* U+00E4 LATIN SMALL LETTER A WITH DIAERESIS */
+#define XK_aring 0x00e5 /* U+00E5 LATIN SMALL LETTER A WITH RING ABOVE */
+#define XK_ae 0x00e6 /* U+00E6 LATIN SMALL LETTER AE */
+#define XK_ccedilla 0x00e7 /* U+00E7 LATIN SMALL LETTER C WITH CEDILLA */
+#define XK_egrave 0x00e8 /* U+00E8 LATIN SMALL LETTER E WITH GRAVE */
+#define XK_eacute 0x00e9 /* U+00E9 LATIN SMALL LETTER E WITH ACUTE */
+#define XK_ecircumflex 0x00ea /* U+00EA LATIN SMALL LETTER E WITH CIRCUMFLEX */
+#define XK_ediaeresis 0x00eb /* U+00EB LATIN SMALL LETTER E WITH DIAERESIS */
+#define XK_igrave 0x00ec /* U+00EC LATIN SMALL LETTER I WITH GRAVE */
+#define XK_iacute 0x00ed /* U+00ED LATIN SMALL LETTER I WITH ACUTE */
+#define XK_icircumflex 0x00ee /* U+00EE LATIN SMALL LETTER I WITH CIRCUMFLEX */
+#define XK_idiaeresis 0x00ef /* U+00EF LATIN SMALL LETTER I WITH DIAERESIS */
+#define XK_eth 0x00f0 /* U+00F0 LATIN SMALL LETTER ETH */
+#define XK_ntilde 0x00f1 /* U+00F1 LATIN SMALL LETTER N WITH TILDE */
+#define XK_ograve 0x00f2 /* U+00F2 LATIN SMALL LETTER O WITH GRAVE */
+#define XK_oacute 0x00f3 /* U+00F3 LATIN SMALL LETTER O WITH ACUTE */
+#define XK_ocircumflex 0x00f4 /* U+00F4 LATIN SMALL LETTER O WITH CIRCUMFLEX */
+#define XK_otilde 0x00f5 /* U+00F5 LATIN SMALL LETTER O WITH TILDE */
+#define XK_odiaeresis 0x00f6 /* U+00F6 LATIN SMALL LETTER O WITH DIAERESIS */
+#define XK_division 0x00f7 /* U+00F7 DIVISION SIGN */
+#define XK_oslash 0x00f8 /* U+00F8 LATIN SMALL LETTER O WITH STROKE */
+#define XK_ooblique 0x00f8 /* U+00F8 LATIN SMALL LETTER O WITH STROKE */
+#define XK_ugrave 0x00f9 /* U+00F9 LATIN SMALL LETTER U WITH GRAVE */
+#define XK_uacute 0x00fa /* U+00FA LATIN SMALL LETTER U WITH ACUTE */
+#define XK_ucircumflex 0x00fb /* U+00FB LATIN SMALL LETTER U WITH CIRCUMFLEX */
+#define XK_udiaeresis 0x00fc /* U+00FC LATIN SMALL LETTER U WITH DIAERESIS */
+#define XK_yacute 0x00fd /* U+00FD LATIN SMALL LETTER Y WITH ACUTE */
+#define XK_thorn 0x00fe /* U+00FE LATIN SMALL LETTER THORN */
+#define XK_ydiaeresis 0x00ff /* U+00FF LATIN SMALL LETTER Y WITH DIAERESIS */
+#endif /* XK_LATIN1 */
+
+/*
+ * Latin 2
+ * Byte 3 = 1
+ */
+
+#ifdef XK_LATIN2
+#define XK_Aogonek 0x01a1 /* U+0104 LATIN CAPITAL LETTER A WITH OGONEK */
+#define XK_breve 0x01a2 /* U+02D8 BREVE */
+#define XK_Lstroke 0x01a3 /* U+0141 LATIN CAPITAL LETTER L WITH STROKE */
+#define XK_Lcaron 0x01a5 /* U+013D LATIN CAPITAL LETTER L WITH CARON */
+#define XK_Sacute 0x01a6 /* U+015A LATIN CAPITAL LETTER S WITH ACUTE */
+#define XK_Scaron 0x01a9 /* U+0160 LATIN CAPITAL LETTER S WITH CARON */
+#define XK_Scedilla 0x01aa /* U+015E LATIN CAPITAL LETTER S WITH CEDILLA */
+#define XK_Tcaron 0x01ab /* U+0164 LATIN CAPITAL LETTER T WITH CARON */
+#define XK_Zacute 0x01ac /* U+0179 LATIN CAPITAL LETTER Z WITH ACUTE */
+#define XK_Zcaron 0x01ae /* U+017D LATIN CAPITAL LETTER Z WITH CARON */
+#define XK_Zabovedot 0x01af /* U+017B LATIN CAPITAL LETTER Z WITH DOT ABOVE */
+#define XK_aogonek 0x01b1 /* U+0105 LATIN SMALL LETTER A WITH OGONEK */
+#define XK_ogonek 0x01b2 /* U+02DB OGONEK */
+#define XK_lstroke 0x01b3 /* U+0142 LATIN SMALL LETTER L WITH STROKE */
+#define XK_lcaron 0x01b5 /* U+013E LATIN SMALL LETTER L WITH CARON */
+#define XK_sacute 0x01b6 /* U+015B LATIN SMALL LETTER S WITH ACUTE */
+#define XK_caron 0x01b7 /* U+02C7 CARON */
+#define XK_scaron 0x01b9 /* U+0161 LATIN SMALL LETTER S WITH CARON */
+#define XK_scedilla 0x01ba /* U+015F LATIN SMALL LETTER S WITH CEDILLA */
+#define XK_tcaron 0x01bb /* U+0165 LATIN SMALL LETTER T WITH CARON */
+#define XK_zacute 0x01bc /* U+017A LATIN SMALL LETTER Z WITH ACUTE */
+#define XK_doubleacute 0x01bd /* U+02DD DOUBLE ACUTE ACCENT */
+#define XK_zcaron 0x01be /* U+017E LATIN SMALL LETTER Z WITH CARON */
+#define XK_zabovedot 0x01bf /* U+017C LATIN SMALL LETTER Z WITH DOT ABOVE */
+#define XK_Racute 0x01c0 /* U+0154 LATIN CAPITAL LETTER R WITH ACUTE */
+#define XK_Abreve 0x01c3 /* U+0102 LATIN CAPITAL LETTER A WITH BREVE */
+#define XK_Lacute 0x01c5 /* U+0139 LATIN CAPITAL LETTER L WITH ACUTE */
+#define XK_Cacute 0x01c6 /* U+0106 LATIN CAPITAL LETTER C WITH ACUTE */
+#define XK_Ccaron 0x01c8 /* U+010C LATIN CAPITAL LETTER C WITH CARON */
+#define XK_Eogonek 0x01ca /* U+0118 LATIN CAPITAL LETTER E WITH OGONEK */
+#define XK_Ecaron 0x01cc /* U+011A LATIN CAPITAL LETTER E WITH CARON */
+#define XK_Dcaron 0x01cf /* U+010E LATIN CAPITAL LETTER D WITH CARON */
+#define XK_Dstroke 0x01d0 /* U+0110 LATIN CAPITAL LETTER D WITH STROKE */
+#define XK_Nacute 0x01d1 /* U+0143 LATIN CAPITAL LETTER N WITH ACUTE */
+#define XK_Ncaron 0x01d2 /* U+0147 LATIN CAPITAL LETTER N WITH CARON */
+#define XK_Odoubleacute 0x01d5 /* U+0150 LATIN CAPITAL LETTER O WITH DOUBLE ACUTE */
+#define XK_Rcaron 0x01d8 /* U+0158 LATIN CAPITAL LETTER R WITH CARON */
+#define XK_Uring 0x01d9 /* U+016E LATIN CAPITAL LETTER U WITH RING ABOVE */
+#define XK_Udoubleacute 0x01db /* U+0170 LATIN CAPITAL LETTER U WITH DOUBLE ACUTE */
+#define XK_Tcedilla 0x01de /* U+0162 LATIN CAPITAL LETTER T WITH CEDILLA */
+#define XK_racute 0x01e0 /* U+0155 LATIN SMALL LETTER R WITH ACUTE */
+#define XK_abreve 0x01e3 /* U+0103 LATIN SMALL LETTER A WITH BREVE */
+#define XK_lacute 0x01e5 /* U+013A LATIN SMALL LETTER L WITH ACUTE */
+#define XK_cacute 0x01e6 /* U+0107 LATIN SMALL LETTER C WITH ACUTE */
+#define XK_ccaron 0x01e8 /* U+010D LATIN SMALL LETTER C WITH CARON */
+#define XK_eogonek 0x01ea /* U+0119 LATIN SMALL LETTER E WITH OGONEK */
+#define XK_ecaron 0x01ec /* U+011B LATIN SMALL LETTER E WITH CARON */
+#define XK_dcaron 0x01ef /* U+010F LATIN SMALL LETTER D WITH CARON */
+#define XK_dstroke 0x01f0 /* U+0111 LATIN SMALL LETTER D WITH STROKE */
+#define XK_nacute 0x01f1 /* U+0144 LATIN SMALL LETTER N WITH ACUTE */
+#define XK_ncaron 0x01f2 /* U+0148 LATIN SMALL LETTER N WITH CARON */
+#define XK_odoubleacute 0x01f5 /* U+0151 LATIN SMALL LETTER O WITH DOUBLE ACUTE */
+#define XK_rcaron 0x01f8 /* U+0159 LATIN SMALL LETTER R WITH CARON */
+#define XK_uring 0x01f9 /* U+016F LATIN SMALL LETTER U WITH RING ABOVE */
+#define XK_udoubleacute 0x01fb /* U+0171 LATIN SMALL LETTER U WITH DOUBLE ACUTE */
+#define XK_tcedilla 0x01fe /* U+0163 LATIN SMALL LETTER T WITH CEDILLA */
+#define XK_abovedot 0x01ff /* U+02D9 DOT ABOVE */
+#endif /* XK_LATIN2 */
+
+/*
+ * Latin 3
+ * Byte 3 = 2
+ */
+
+#ifdef XK_LATIN3
+#define XK_Hstroke 0x02a1 /* U+0126 LATIN CAPITAL LETTER H WITH STROKE */
+#define XK_Hcircumflex 0x02a6 /* U+0124 LATIN CAPITAL LETTER H WITH CIRCUMFLEX */
+#define XK_Iabovedot 0x02a9 /* U+0130 LATIN CAPITAL LETTER I WITH DOT ABOVE */
+#define XK_Gbreve 0x02ab /* U+011E LATIN CAPITAL LETTER G WITH BREVE */
+#define XK_Jcircumflex 0x02ac /* U+0134 LATIN CAPITAL LETTER J WITH CIRCUMFLEX */
+#define XK_hstroke 0x02b1 /* U+0127 LATIN SMALL LETTER H WITH STROKE */
+#define XK_hcircumflex 0x02b6 /* U+0125 LATIN SMALL LETTER H WITH CIRCUMFLEX */
+#define XK_idotless 0x02b9 /* U+0131 LATIN SMALL LETTER DOTLESS I */
+#define XK_gbreve 0x02bb /* U+011F LATIN SMALL LETTER G WITH BREVE */
+#define XK_jcircumflex 0x02bc /* U+0135 LATIN SMALL LETTER J WITH CIRCUMFLEX */
+#define XK_Cabovedot 0x02c5 /* U+010A LATIN CAPITAL LETTER C WITH DOT ABOVE */
+#define XK_Ccircumflex 0x02c6 /* U+0108 LATIN CAPITAL LETTER C WITH CIRCUMFLEX */
+#define XK_Gabovedot 0x02d5 /* U+0120 LATIN CAPITAL LETTER G WITH DOT ABOVE */
+#define XK_Gcircumflex 0x02d8 /* U+011C LATIN CAPITAL LETTER G WITH CIRCUMFLEX */
+#define XK_Ubreve 0x02dd /* U+016C LATIN CAPITAL LETTER U WITH BREVE */
+#define XK_Scircumflex 0x02de /* U+015C LATIN CAPITAL LETTER S WITH CIRCUMFLEX */
+#define XK_cabovedot 0x02e5 /* U+010B LATIN SMALL LETTER C WITH DOT ABOVE */
+#define XK_ccircumflex 0x02e6 /* U+0109 LATIN SMALL LETTER C WITH CIRCUMFLEX */
+#define XK_gabovedot 0x02f5 /* U+0121 LATIN SMALL LETTER G WITH DOT ABOVE */
+#define XK_gcircumflex 0x02f8 /* U+011D LATIN SMALL LETTER G WITH CIRCUMFLEX */
+#define XK_ubreve 0x02fd /* U+016D LATIN SMALL LETTER U WITH BREVE */
+#define XK_scircumflex 0x02fe /* U+015D LATIN SMALL LETTER S WITH CIRCUMFLEX */
+#endif /* XK_LATIN3 */
+
+
+/*
+ * Latin 4
+ * Byte 3 = 3
+ */
+
+#ifdef XK_LATIN4
+#define XK_kra 0x03a2 /* U+0138 LATIN SMALL LETTER KRA */
+#define XK_kappa 0x03a2 /* deprecated */
+#define XK_Rcedilla 0x03a3 /* U+0156 LATIN CAPITAL LETTER R WITH CEDILLA */
+#define XK_Itilde 0x03a5 /* U+0128 LATIN CAPITAL LETTER I WITH TILDE */
+#define XK_Lcedilla 0x03a6 /* U+013B LATIN CAPITAL LETTER L WITH CEDILLA */
+#define XK_Emacron 0x03aa /* U+0112 LATIN CAPITAL LETTER E WITH MACRON */
+#define XK_Gcedilla 0x03ab /* U+0122 LATIN CAPITAL LETTER G WITH CEDILLA */
+#define XK_Tslash 0x03ac /* U+0166 LATIN CAPITAL LETTER T WITH STROKE */
+#define XK_rcedilla 0x03b3 /* U+0157 LATIN SMALL LETTER R WITH CEDILLA */
+#define XK_itilde 0x03b5 /* U+0129 LATIN SMALL LETTER I WITH TILDE */
+#define XK_lcedilla 0x03b6 /* U+013C LATIN SMALL LETTER L WITH CEDILLA */
+#define XK_emacron 0x03ba /* U+0113 LATIN SMALL LETTER E WITH MACRON */
+#define XK_gcedilla 0x03bb /* U+0123 LATIN SMALL LETTER G WITH CEDILLA */
+#define XK_tslash 0x03bc /* U+0167 LATIN SMALL LETTER T WITH STROKE */
+#define XK_ENG 0x03bd /* U+014A LATIN CAPITAL LETTER ENG */
+#define XK_eng 0x03bf /* U+014B LATIN SMALL LETTER ENG */
+#define XK_Amacron 0x03c0 /* U+0100 LATIN CAPITAL LETTER A WITH MACRON */
+#define XK_Iogonek 0x03c7 /* U+012E LATIN CAPITAL LETTER I WITH OGONEK */
+#define XK_Eabovedot 0x03cc /* U+0116 LATIN CAPITAL LETTER E WITH DOT ABOVE */
+#define XK_Imacron 0x03cf /* U+012A LATIN CAPITAL LETTER I WITH MACRON */
+#define XK_Ncedilla 0x03d1 /* U+0145 LATIN CAPITAL LETTER N WITH CEDILLA */
+#define XK_Omacron 0x03d2 /* U+014C LATIN CAPITAL LETTER O WITH MACRON */
+#define XK_Kcedilla 0x03d3 /* U+0136 LATIN CAPITAL LETTER K WITH CEDILLA */
+#define XK_Uogonek 0x03d9 /* U+0172 LATIN CAPITAL LETTER U WITH OGONEK */
+#define XK_Utilde 0x03dd /* U+0168 LATIN CAPITAL LETTER U WITH TILDE */
+#define XK_Umacron 0x03de /* U+016A LATIN CAPITAL LETTER U WITH MACRON */
+#define XK_amacron 0x03e0 /* U+0101 LATIN SMALL LETTER A WITH MACRON */
+#define XK_iogonek 0x03e7 /* U+012F LATIN SMALL LETTER I WITH OGONEK */
+#define XK_eabovedot 0x03ec /* U+0117 LATIN SMALL LETTER E WITH DOT ABOVE */
+#define XK_imacron 0x03ef /* U+012B LATIN SMALL LETTER I WITH MACRON */
+#define XK_ncedilla 0x03f1 /* U+0146 LATIN SMALL LETTER N WITH CEDILLA */
+#define XK_omacron 0x03f2 /* U+014D LATIN SMALL LETTER O WITH MACRON */
+#define XK_kcedilla 0x03f3 /* U+0137 LATIN SMALL LETTER K WITH CEDILLA */
+#define XK_uogonek 0x03f9 /* U+0173 LATIN SMALL LETTER U WITH OGONEK */
+#define XK_utilde 0x03fd /* U+0169 LATIN SMALL LETTER U WITH TILDE */
+#define XK_umacron 0x03fe /* U+016B LATIN SMALL LETTER U WITH MACRON */
+#endif /* XK_LATIN4 */
+
+/*
+ * Latin 8
+ */
+#ifdef XK_LATIN8
+#define XK_Wcircumflex 0x1000174 /* U+0174 LATIN CAPITAL LETTER W WITH CIRCUMFLEX */
+#define XK_wcircumflex 0x1000175 /* U+0175 LATIN SMALL LETTER W WITH CIRCUMFLEX */
+#define XK_Ycircumflex 0x1000176 /* U+0176 LATIN CAPITAL LETTER Y WITH CIRCUMFLEX */
+#define XK_ycircumflex 0x1000177 /* U+0177 LATIN SMALL LETTER Y WITH CIRCUMFLEX */
+#define XK_Babovedot 0x1001e02 /* U+1E02 LATIN CAPITAL LETTER B WITH DOT ABOVE */
+#define XK_babovedot 0x1001e03 /* U+1E03 LATIN SMALL LETTER B WITH DOT ABOVE */
+#define XK_Dabovedot 0x1001e0a /* U+1E0A LATIN CAPITAL LETTER D WITH DOT ABOVE */
+#define XK_dabovedot 0x1001e0b /* U+1E0B LATIN SMALL LETTER D WITH DOT ABOVE */
+#define XK_Fabovedot 0x1001e1e /* U+1E1E LATIN CAPITAL LETTER F WITH DOT ABOVE */
+#define XK_fabovedot 0x1001e1f /* U+1E1F LATIN SMALL LETTER F WITH DOT ABOVE */
+#define XK_Mabovedot 0x1001e40 /* U+1E40 LATIN CAPITAL LETTER M WITH DOT ABOVE */
+#define XK_mabovedot 0x1001e41 /* U+1E41 LATIN SMALL LETTER M WITH DOT ABOVE */
+#define XK_Pabovedot 0x1001e56 /* U+1E56 LATIN CAPITAL LETTER P WITH DOT ABOVE */
+#define XK_pabovedot 0x1001e57 /* U+1E57 LATIN SMALL LETTER P WITH DOT ABOVE */
+#define XK_Sabovedot 0x1001e60 /* U+1E60 LATIN CAPITAL LETTER S WITH DOT ABOVE */
+#define XK_sabovedot 0x1001e61 /* U+1E61 LATIN SMALL LETTER S WITH DOT ABOVE */
+#define XK_Tabovedot 0x1001e6a /* U+1E6A LATIN CAPITAL LETTER T WITH DOT ABOVE */
+#define XK_tabovedot 0x1001e6b /* U+1E6B LATIN SMALL LETTER T WITH DOT ABOVE */
+#define XK_Wgrave 0x1001e80 /* U+1E80 LATIN CAPITAL LETTER W WITH GRAVE */
+#define XK_wgrave 0x1001e81 /* U+1E81 LATIN SMALL LETTER W WITH GRAVE */
+#define XK_Wacute 0x1001e82 /* U+1E82 LATIN CAPITAL LETTER W WITH ACUTE */
+#define XK_wacute 0x1001e83 /* U+1E83 LATIN SMALL LETTER W WITH ACUTE */
+#define XK_Wdiaeresis 0x1001e84 /* U+1E84 LATIN CAPITAL LETTER W WITH DIAERESIS */
+#define XK_wdiaeresis 0x1001e85 /* U+1E85 LATIN SMALL LETTER W WITH DIAERESIS */
+#define XK_Ygrave 0x1001ef2 /* U+1EF2 LATIN CAPITAL LETTER Y WITH GRAVE */
+#define XK_ygrave 0x1001ef3 /* U+1EF3 LATIN SMALL LETTER Y WITH GRAVE */
+#endif /* XK_LATIN8 */
+
+/*
+ * Latin 9
+ * Byte 3 = 0x13
+ */
+
+#ifdef XK_LATIN9
+#define XK_OE 0x13bc /* U+0152 LATIN CAPITAL LIGATURE OE */
+#define XK_oe 0x13bd /* U+0153 LATIN SMALL LIGATURE OE */
+#define XK_Ydiaeresis 0x13be /* U+0178 LATIN CAPITAL LETTER Y WITH DIAERESIS */
+#endif /* XK_LATIN9 */
+
+/*
+ * Katakana
+ * Byte 3 = 4
+ */
+
+#ifdef XK_KATAKANA
+#define XK_overline 0x047e /* U+203E OVERLINE */
+#define XK_kana_fullstop 0x04a1 /* U+3002 IDEOGRAPHIC FULL STOP */
+#define XK_kana_openingbracket 0x04a2 /* U+300C LEFT CORNER BRACKET */
+#define XK_kana_closingbracket 0x04a3 /* U+300D RIGHT CORNER BRACKET */
+#define XK_kana_comma 0x04a4 /* U+3001 IDEOGRAPHIC COMMA */
+#define XK_kana_conjunctive 0x04a5 /* U+30FB KATAKANA MIDDLE DOT */
+#define XK_kana_middledot 0x04a5 /* deprecated */
+#define XK_kana_WO 0x04a6 /* U+30F2 KATAKANA LETTER WO */
+#define XK_kana_a 0x04a7 /* U+30A1 KATAKANA LETTER SMALL A */
+#define XK_kana_i 0x04a8 /* U+30A3 KATAKANA LETTER SMALL I */
+#define XK_kana_u 0x04a9 /* U+30A5 KATAKANA LETTER SMALL U */
+#define XK_kana_e 0x04aa /* U+30A7 KATAKANA LETTER SMALL E */
+#define XK_kana_o 0x04ab /* U+30A9 KATAKANA LETTER SMALL O */
+#define XK_kana_ya 0x04ac /* U+30E3 KATAKANA LETTER SMALL YA */
+#define XK_kana_yu 0x04ad /* U+30E5 KATAKANA LETTER SMALL YU */
+#define XK_kana_yo 0x04ae /* U+30E7 KATAKANA LETTER SMALL YO */
+#define XK_kana_tsu 0x04af /* U+30C3 KATAKANA LETTER SMALL TU */
+#define XK_kana_tu 0x04af /* deprecated */
+#define XK_prolongedsound 0x04b0 /* U+30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK */
+#define XK_kana_A 0x04b1 /* U+30A2 KATAKANA LETTER A */
+#define XK_kana_I 0x04b2 /* U+30A4 KATAKANA LETTER I */
+#define XK_kana_U 0x04b3 /* U+30A6 KATAKANA LETTER U */
+#define XK_kana_E 0x04b4 /* U+30A8 KATAKANA LETTER E */
+#define XK_kana_O 0x04b5 /* U+30AA KATAKANA LETTER O */
+#define XK_kana_KA 0x04b6 /* U+30AB KATAKANA LETTER KA */
+#define XK_kana_KI 0x04b7 /* U+30AD KATAKANA LETTER KI */
+#define XK_kana_KU 0x04b8 /* U+30AF KATAKANA LETTER KU */
+#define XK_kana_KE 0x04b9 /* U+30B1 KATAKANA LETTER KE */
+#define XK_kana_KO 0x04ba /* U+30B3 KATAKANA LETTER KO */
+#define XK_kana_SA 0x04bb /* U+30B5 KATAKANA LETTER SA */
+#define XK_kana_SHI 0x04bc /* U+30B7 KATAKANA LETTER SI */
+#define XK_kana_SU 0x04bd /* U+30B9 KATAKANA LETTER SU */
+#define XK_kana_SE 0x04be /* U+30BB KATAKANA LETTER SE */
+#define XK_kana_SO 0x04bf /* U+30BD KATAKANA LETTER SO */
+#define XK_kana_TA 0x04c0 /* U+30BF KATAKANA LETTER TA */
+#define XK_kana_CHI 0x04c1 /* U+30C1 KATAKANA LETTER TI */
+#define XK_kana_TI 0x04c1 /* deprecated */
+#define XK_kana_TSU 0x04c2 /* U+30C4 KATAKANA LETTER TU */
+#define XK_kana_TU 0x04c2 /* deprecated */
+#define XK_kana_TE 0x04c3 /* U+30C6 KATAKANA LETTER TE */
+#define XK_kana_TO 0x04c4 /* U+30C8 KATAKANA LETTER TO */
+#define XK_kana_NA 0x04c5 /* U+30CA KATAKANA LETTER NA */
+#define XK_kana_NI 0x04c6 /* U+30CB KATAKANA LETTER NI */
+#define XK_kana_NU 0x04c7 /* U+30CC KATAKANA LETTER NU */
+#define XK_kana_NE 0x04c8 /* U+30CD KATAKANA LETTER NE */
+#define XK_kana_NO 0x04c9 /* U+30CE KATAKANA LETTER NO */
+#define XK_kana_HA 0x04ca /* U+30CF KATAKANA LETTER HA */
+#define XK_kana_HI 0x04cb /* U+30D2 KATAKANA LETTER HI */
+#define XK_kana_FU 0x04cc /* U+30D5 KATAKANA LETTER HU */
+#define XK_kana_HU 0x04cc /* deprecated */
+#define XK_kana_HE 0x04cd /* U+30D8 KATAKANA LETTER HE */
+#define XK_kana_HO 0x04ce /* U+30DB KATAKANA LETTER HO */
+#define XK_kana_MA 0x04cf /* U+30DE KATAKANA LETTER MA */
+#define XK_kana_MI 0x04d0 /* U+30DF KATAKANA LETTER MI */
+#define XK_kana_MU 0x04d1 /* U+30E0 KATAKANA LETTER MU */
+#define XK_kana_ME 0x04d2 /* U+30E1 KATAKANA LETTER ME */
+#define XK_kana_MO 0x04d3 /* U+30E2 KATAKANA LETTER MO */
+#define XK_kana_YA 0x04d4 /* U+30E4 KATAKANA LETTER YA */
+#define XK_kana_YU 0x04d5 /* U+30E6 KATAKANA LETTER YU */
+#define XK_kana_YO 0x04d6 /* U+30E8 KATAKANA LETTER YO */
+#define XK_kana_RA 0x04d7 /* U+30E9 KATAKANA LETTER RA */
+#define XK_kana_RI 0x04d8 /* U+30EA KATAKANA LETTER RI */
+#define XK_kana_RU 0x04d9 /* U+30EB KATAKANA LETTER RU */
+#define XK_kana_RE 0x04da /* U+30EC KATAKANA LETTER RE */
+#define XK_kana_RO 0x04db /* U+30ED KATAKANA LETTER RO */
+#define XK_kana_WA 0x04dc /* U+30EF KATAKANA LETTER WA */
+#define XK_kana_N 0x04dd /* U+30F3 KATAKANA LETTER N */
+#define XK_voicedsound 0x04de /* U+309B KATAKANA-HIRAGANA VOICED SOUND MARK */
+#define XK_semivoicedsound 0x04df /* U+309C KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK */
+#define XK_kana_switch 0xff7e /* Alias for mode_switch */
+#endif /* XK_KATAKANA */
+
+/*
+ * Arabic
+ * Byte 3 = 5
+ */
+
+#ifdef XK_ARABIC
+#define XK_Farsi_0 0x10006f0 /* U+06F0 EXTENDED ARABIC-INDIC DIGIT ZERO */
+#define XK_Farsi_1 0x10006f1 /* U+06F1 EXTENDED ARABIC-INDIC DIGIT ONE */
+#define XK_Farsi_2 0x10006f2 /* U+06F2 EXTENDED ARABIC-INDIC DIGIT TWO */
+#define XK_Farsi_3 0x10006f3 /* U+06F3 EXTENDED ARABIC-INDIC DIGIT THREE */
+#define XK_Farsi_4 0x10006f4 /* U+06F4 EXTENDED ARABIC-INDIC DIGIT FOUR */
+#define XK_Farsi_5 0x10006f5 /* U+06F5 EXTENDED ARABIC-INDIC DIGIT FIVE */
+#define XK_Farsi_6 0x10006f6 /* U+06F6 EXTENDED ARABIC-INDIC DIGIT SIX */
+#define XK_Farsi_7 0x10006f7 /* U+06F7 EXTENDED ARABIC-INDIC DIGIT SEVEN */
+#define XK_Farsi_8 0x10006f8 /* U+06F8 EXTENDED ARABIC-INDIC DIGIT EIGHT */
+#define XK_Farsi_9 0x10006f9 /* U+06F9 EXTENDED ARABIC-INDIC DIGIT NINE */
+#define XK_Arabic_percent 0x100066a /* U+066A ARABIC PERCENT SIGN */
+#define XK_Arabic_superscript_alef 0x1000670 /* U+0670 ARABIC LETTER SUPERSCRIPT ALEF */
+#define XK_Arabic_tteh 0x1000679 /* U+0679 ARABIC LETTER TTEH */
+#define XK_Arabic_peh 0x100067e /* U+067E ARABIC LETTER PEH */
+#define XK_Arabic_tcheh 0x1000686 /* U+0686 ARABIC LETTER TCHEH */
+#define XK_Arabic_ddal 0x1000688 /* U+0688 ARABIC LETTER DDAL */
+#define XK_Arabic_rreh 0x1000691 /* U+0691 ARABIC LETTER RREH */
+#define XK_Arabic_comma 0x05ac /* U+060C ARABIC COMMA */
+#define XK_Arabic_fullstop 0x10006d4 /* U+06D4 ARABIC FULL STOP */
+#define XK_Arabic_0 0x1000660 /* U+0660 ARABIC-INDIC DIGIT ZERO */
+#define XK_Arabic_1 0x1000661 /* U+0661 ARABIC-INDIC DIGIT ONE */
+#define XK_Arabic_2 0x1000662 /* U+0662 ARABIC-INDIC DIGIT TWO */
+#define XK_Arabic_3 0x1000663 /* U+0663 ARABIC-INDIC DIGIT THREE */
+#define XK_Arabic_4 0x1000664 /* U+0664 ARABIC-INDIC DIGIT FOUR */
+#define XK_Arabic_5 0x1000665 /* U+0665 ARABIC-INDIC DIGIT FIVE */
+#define XK_Arabic_6 0x1000666 /* U+0666 ARABIC-INDIC DIGIT SIX */
+#define XK_Arabic_7 0x1000667 /* U+0667 ARABIC-INDIC DIGIT SEVEN */
+#define XK_Arabic_8 0x1000668 /* U+0668 ARABIC-INDIC DIGIT EIGHT */
+#define XK_Arabic_9 0x1000669 /* U+0669 ARABIC-INDIC DIGIT NINE */
+#define XK_Arabic_semicolon 0x05bb /* U+061B ARABIC SEMICOLON */
+#define XK_Arabic_question_mark 0x05bf /* U+061F ARABIC QUESTION MARK */
+#define XK_Arabic_hamza 0x05c1 /* U+0621 ARABIC LETTER HAMZA */
+#define XK_Arabic_maddaonalef 0x05c2 /* U+0622 ARABIC LETTER ALEF WITH MADDA ABOVE */
+#define XK_Arabic_hamzaonalef 0x05c3 /* U+0623 ARABIC LETTER ALEF WITH HAMZA ABOVE */
+#define XK_Arabic_hamzaonwaw 0x05c4 /* U+0624 ARABIC LETTER WAW WITH HAMZA ABOVE */
+#define XK_Arabic_hamzaunderalef 0x05c5 /* U+0625 ARABIC LETTER ALEF WITH HAMZA BELOW */
+#define XK_Arabic_hamzaonyeh 0x05c6 /* U+0626 ARABIC LETTER YEH WITH HAMZA ABOVE */
+#define XK_Arabic_alef 0x05c7 /* U+0627 ARABIC LETTER ALEF */
+#define XK_Arabic_beh 0x05c8 /* U+0628 ARABIC LETTER BEH */
+#define XK_Arabic_tehmarbuta 0x05c9 /* U+0629 ARABIC LETTER TEH MARBUTA */
+#define XK_Arabic_teh 0x05ca /* U+062A ARABIC LETTER TEH */
+#define XK_Arabic_theh 0x05cb /* U+062B ARABIC LETTER THEH */
+#define XK_Arabic_jeem 0x05cc /* U+062C ARABIC LETTER JEEM */
+#define XK_Arabic_hah 0x05cd /* U+062D ARABIC LETTER HAH */
+#define XK_Arabic_khah 0x05ce /* U+062E ARABIC LETTER KHAH */
+#define XK_Arabic_dal 0x05cf /* U+062F ARABIC LETTER DAL */
+#define XK_Arabic_thal 0x05d0 /* U+0630 ARABIC LETTER THAL */
+#define XK_Arabic_ra 0x05d1 /* U+0631 ARABIC LETTER REH */
+#define XK_Arabic_zain 0x05d2 /* U+0632 ARABIC LETTER ZAIN */
+#define XK_Arabic_seen 0x05d3 /* U+0633 ARABIC LETTER SEEN */
+#define XK_Arabic_sheen 0x05d4 /* U+0634 ARABIC LETTER SHEEN */
+#define XK_Arabic_sad 0x05d5 /* U+0635 ARABIC LETTER SAD */
+#define XK_Arabic_dad 0x05d6 /* U+0636 ARABIC LETTER DAD */
+#define XK_Arabic_tah 0x05d7 /* U+0637 ARABIC LETTER TAH */
+#define XK_Arabic_zah 0x05d8 /* U+0638 ARABIC LETTER ZAH */
+#define XK_Arabic_ain 0x05d9 /* U+0639 ARABIC LETTER AIN */
+#define XK_Arabic_ghain 0x05da /* U+063A ARABIC LETTER GHAIN */
+#define XK_Arabic_tatweel 0x05e0 /* U+0640 ARABIC TATWEEL */
+#define XK_Arabic_feh 0x05e1 /* U+0641 ARABIC LETTER FEH */
+#define XK_Arabic_qaf 0x05e2 /* U+0642 ARABIC LETTER QAF */
+#define XK_Arabic_kaf 0x05e3 /* U+0643 ARABIC LETTER KAF */
+#define XK_Arabic_lam 0x05e4 /* U+0644 ARABIC LETTER LAM */
+#define XK_Arabic_meem 0x05e5 /* U+0645 ARABIC LETTER MEEM */
+#define XK_Arabic_noon 0x05e6 /* U+0646 ARABIC LETTER NOON */
+#define XK_Arabic_ha 0x05e7 /* U+0647 ARABIC LETTER HEH */
+#define XK_Arabic_heh 0x05e7 /* deprecated */
+#define XK_Arabic_waw 0x05e8 /* U+0648 ARABIC LETTER WAW */
+#define XK_Arabic_alefmaksura 0x05e9 /* U+0649 ARABIC LETTER ALEF MAKSURA */
+#define XK_Arabic_yeh 0x05ea /* U+064A ARABIC LETTER YEH */
+#define XK_Arabic_fathatan 0x05eb /* U+064B ARABIC FATHATAN */
+#define XK_Arabic_dammatan 0x05ec /* U+064C ARABIC DAMMATAN */
+#define XK_Arabic_kasratan 0x05ed /* U+064D ARABIC KASRATAN */
+#define XK_Arabic_fatha 0x05ee /* U+064E ARABIC FATHA */
+#define XK_Arabic_damma 0x05ef /* U+064F ARABIC DAMMA */
+#define XK_Arabic_kasra 0x05f0 /* U+0650 ARABIC KASRA */
+#define XK_Arabic_shadda 0x05f1 /* U+0651 ARABIC SHADDA */
+#define XK_Arabic_sukun 0x05f2 /* U+0652 ARABIC SUKUN */
+#define XK_Arabic_madda_above 0x1000653 /* U+0653 ARABIC MADDAH ABOVE */
+#define XK_Arabic_hamza_above 0x1000654 /* U+0654 ARABIC HAMZA ABOVE */
+#define XK_Arabic_hamza_below 0x1000655 /* U+0655 ARABIC HAMZA BELOW */
+#define XK_Arabic_jeh 0x1000698 /* U+0698 ARABIC LETTER JEH */
+#define XK_Arabic_veh 0x10006a4 /* U+06A4 ARABIC LETTER VEH */
+#define XK_Arabic_keheh 0x10006a9 /* U+06A9 ARABIC LETTER KEHEH */
+#define XK_Arabic_gaf 0x10006af /* U+06AF ARABIC LETTER GAF */
+#define XK_Arabic_noon_ghunna 0x10006ba /* U+06BA ARABIC LETTER NOON GHUNNA */
+#define XK_Arabic_heh_doachashmee 0x10006be /* U+06BE ARABIC LETTER HEH DOACHASHMEE */
+#define XK_Farsi_yeh 0x10006cc /* U+06CC ARABIC LETTER FARSI YEH */
+#define XK_Arabic_farsi_yeh 0x10006cc /* U+06CC ARABIC LETTER FARSI YEH */
+#define XK_Arabic_yeh_baree 0x10006d2 /* U+06D2 ARABIC LETTER YEH BARREE */
+#define XK_Arabic_heh_goal 0x10006c1 /* U+06C1 ARABIC LETTER HEH GOAL */
+#define XK_Arabic_switch 0xff7e /* Alias for mode_switch */
+#endif /* XK_ARABIC */
+
+/*
+ * Cyrillic
+ * Byte 3 = 6
+ */
+#ifdef XK_CYRILLIC
+#define XK_Cyrillic_GHE_bar 0x1000492 /* U+0492 CYRILLIC CAPITAL LETTER GHE WITH STROKE */
+#define XK_Cyrillic_ghe_bar 0x1000493 /* U+0493 CYRILLIC SMALL LETTER GHE WITH STROKE */
+#define XK_Cyrillic_ZHE_descender 0x1000496 /* U+0496 CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER */
+#define XK_Cyrillic_zhe_descender 0x1000497 /* U+0497 CYRILLIC SMALL LETTER ZHE WITH DESCENDER */
+#define XK_Cyrillic_KA_descender 0x100049a /* U+049A CYRILLIC CAPITAL LETTER KA WITH DESCENDER */
+#define XK_Cyrillic_ka_descender 0x100049b /* U+049B CYRILLIC SMALL LETTER KA WITH DESCENDER */
+#define XK_Cyrillic_KA_vertstroke 0x100049c /* U+049C CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE */
+#define XK_Cyrillic_ka_vertstroke 0x100049d /* U+049D CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE */
+#define XK_Cyrillic_EN_descender 0x10004a2 /* U+04A2 CYRILLIC CAPITAL LETTER EN WITH DESCENDER */
+#define XK_Cyrillic_en_descender 0x10004a3 /* U+04A3 CYRILLIC SMALL LETTER EN WITH DESCENDER */
+#define XK_Cyrillic_U_straight 0x10004ae /* U+04AE CYRILLIC CAPITAL LETTER STRAIGHT U */
+#define XK_Cyrillic_u_straight 0x10004af /* U+04AF CYRILLIC SMALL LETTER STRAIGHT U */
+#define XK_Cyrillic_U_straight_bar 0x10004b0 /* U+04B0 CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE */
+#define XK_Cyrillic_u_straight_bar 0x10004b1 /* U+04B1 CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE */
+#define XK_Cyrillic_HA_descender 0x10004b2 /* U+04B2 CYRILLIC CAPITAL LETTER HA WITH DESCENDER */
+#define XK_Cyrillic_ha_descender 0x10004b3 /* U+04B3 CYRILLIC SMALL LETTER HA WITH DESCENDER */
+#define XK_Cyrillic_CHE_descender 0x10004b6 /* U+04B6 CYRILLIC CAPITAL LETTER CHE WITH DESCENDER */
+#define XK_Cyrillic_che_descender 0x10004b7 /* U+04B7 CYRILLIC SMALL LETTER CHE WITH DESCENDER */
+#define XK_Cyrillic_CHE_vertstroke 0x10004b8 /* U+04B8 CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE */
+#define XK_Cyrillic_che_vertstroke 0x10004b9 /* U+04B9 CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE */
+#define XK_Cyrillic_SHHA 0x10004ba /* U+04BA CYRILLIC CAPITAL LETTER SHHA */
+#define XK_Cyrillic_shha 0x10004bb /* U+04BB CYRILLIC SMALL LETTER SHHA */
+
+#define XK_Cyrillic_SCHWA 0x10004d8 /* U+04D8 CYRILLIC CAPITAL LETTER SCHWA */
+#define XK_Cyrillic_schwa 0x10004d9 /* U+04D9 CYRILLIC SMALL LETTER SCHWA */
+#define XK_Cyrillic_I_macron 0x10004e2 /* U+04E2 CYRILLIC CAPITAL LETTER I WITH MACRON */
+#define XK_Cyrillic_i_macron 0x10004e3 /* U+04E3 CYRILLIC SMALL LETTER I WITH MACRON */
+#define XK_Cyrillic_O_bar 0x10004e8 /* U+04E8 CYRILLIC CAPITAL LETTER BARRED O */
+#define XK_Cyrillic_o_bar 0x10004e9 /* U+04E9 CYRILLIC SMALL LETTER BARRED O */
+#define XK_Cyrillic_U_macron 0x10004ee /* U+04EE CYRILLIC CAPITAL LETTER U WITH MACRON */
+#define XK_Cyrillic_u_macron 0x10004ef /* U+04EF CYRILLIC SMALL LETTER U WITH MACRON */
+
+#define XK_Serbian_dje 0x06a1 /* U+0452 CYRILLIC SMALL LETTER DJE */
+#define XK_Macedonia_gje 0x06a2 /* U+0453 CYRILLIC SMALL LETTER GJE */
+#define XK_Cyrillic_io 0x06a3 /* U+0451 CYRILLIC SMALL LETTER IO */
+#define XK_Ukrainian_ie 0x06a4 /* U+0454 CYRILLIC SMALL LETTER UKRAINIAN IE */
+#define XK_Ukranian_je 0x06a4 /* deprecated */
+#define XK_Macedonia_dse 0x06a5 /* U+0455 CYRILLIC SMALL LETTER DZE */
+#define XK_Ukrainian_i 0x06a6 /* U+0456 CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I */
+#define XK_Ukranian_i 0x06a6 /* deprecated */
+#define XK_Ukrainian_yi 0x06a7 /* U+0457 CYRILLIC SMALL LETTER YI */
+#define XK_Ukranian_yi 0x06a7 /* deprecated */
+#define XK_Cyrillic_je 0x06a8 /* U+0458 CYRILLIC SMALL LETTER JE */
+#define XK_Serbian_je 0x06a8 /* deprecated */
+#define XK_Cyrillic_lje 0x06a9 /* U+0459 CYRILLIC SMALL LETTER LJE */
+#define XK_Serbian_lje 0x06a9 /* deprecated */
+#define XK_Cyrillic_nje 0x06aa /* U+045A CYRILLIC SMALL LETTER NJE */
+#define XK_Serbian_nje 0x06aa /* deprecated */
+#define XK_Serbian_tshe 0x06ab /* U+045B CYRILLIC SMALL LETTER TSHE */
+#define XK_Macedonia_kje 0x06ac /* U+045C CYRILLIC SMALL LETTER KJE */
+#define XK_Ukrainian_ghe_with_upturn 0x06ad /* U+0491 CYRILLIC SMALL LETTER GHE WITH UPTURN */
+#define XK_Byelorussian_shortu 0x06ae /* U+045E CYRILLIC SMALL LETTER SHORT U */
+#define XK_Cyrillic_dzhe 0x06af /* U+045F CYRILLIC SMALL LETTER DZHE */
+#define XK_Serbian_dze 0x06af /* deprecated */
+#define XK_numerosign 0x06b0 /* U+2116 NUMERO SIGN */
+#define XK_Serbian_DJE 0x06b1 /* U+0402 CYRILLIC CAPITAL LETTER DJE */
+#define XK_Macedonia_GJE 0x06b2 /* U+0403 CYRILLIC CAPITAL LETTER GJE */
+#define XK_Cyrillic_IO 0x06b3 /* U+0401 CYRILLIC CAPITAL LETTER IO */
+#define XK_Ukrainian_IE 0x06b4 /* U+0404 CYRILLIC CAPITAL LETTER UKRAINIAN IE */
+#define XK_Ukranian_JE 0x06b4 /* deprecated */
+#define XK_Macedonia_DSE 0x06b5 /* U+0405 CYRILLIC CAPITAL LETTER DZE */
+#define XK_Ukrainian_I 0x06b6 /* U+0406 CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I */
+#define XK_Ukranian_I 0x06b6 /* deprecated */
+#define XK_Ukrainian_YI 0x06b7 /* U+0407 CYRILLIC CAPITAL LETTER YI */
+#define XK_Ukranian_YI 0x06b7 /* deprecated */
+#define XK_Cyrillic_JE 0x06b8 /* U+0408 CYRILLIC CAPITAL LETTER JE */
+#define XK_Serbian_JE 0x06b8 /* deprecated */
+#define XK_Cyrillic_LJE 0x06b9 /* U+0409 CYRILLIC CAPITAL LETTER LJE */
+#define XK_Serbian_LJE 0x06b9 /* deprecated */
+#define XK_Cyrillic_NJE 0x06ba /* U+040A CYRILLIC CAPITAL LETTER NJE */
+#define XK_Serbian_NJE 0x06ba /* deprecated */
+#define XK_Serbian_TSHE 0x06bb /* U+040B CYRILLIC CAPITAL LETTER TSHE */
+#define XK_Macedonia_KJE 0x06bc /* U+040C CYRILLIC CAPITAL LETTER KJE */
+#define XK_Ukrainian_GHE_WITH_UPTURN 0x06bd /* U+0490 CYRILLIC CAPITAL LETTER GHE WITH UPTURN */
+#define XK_Byelorussian_SHORTU 0x06be /* U+040E CYRILLIC CAPITAL LETTER SHORT U */
+#define XK_Cyrillic_DZHE 0x06bf /* U+040F CYRILLIC CAPITAL LETTER DZHE */
+#define XK_Serbian_DZE 0x06bf /* deprecated */
+#define XK_Cyrillic_yu 0x06c0 /* U+044E CYRILLIC SMALL LETTER YU */
+#define XK_Cyrillic_a 0x06c1 /* U+0430 CYRILLIC SMALL LETTER A */
+#define XK_Cyrillic_be 0x06c2 /* U+0431 CYRILLIC SMALL LETTER BE */
+#define XK_Cyrillic_tse 0x06c3 /* U+0446 CYRILLIC SMALL LETTER TSE */
+#define XK_Cyrillic_de 0x06c4 /* U+0434 CYRILLIC SMALL LETTER DE */
+#define XK_Cyrillic_ie 0x06c5 /* U+0435 CYRILLIC SMALL LETTER IE */
+#define XK_Cyrillic_ef 0x06c6 /* U+0444 CYRILLIC SMALL LETTER EF */
+#define XK_Cyrillic_ghe 0x06c7 /* U+0433 CYRILLIC SMALL LETTER GHE */
+#define XK_Cyrillic_ha 0x06c8 /* U+0445 CYRILLIC SMALL LETTER HA */
+#define XK_Cyrillic_i 0x06c9 /* U+0438 CYRILLIC SMALL LETTER I */
+#define XK_Cyrillic_shorti 0x06ca /* U+0439 CYRILLIC SMALL LETTER SHORT I */
+#define XK_Cyrillic_ka 0x06cb /* U+043A CYRILLIC SMALL LETTER KA */
+#define XK_Cyrillic_el 0x06cc /* U+043B CYRILLIC SMALL LETTER EL */
+#define XK_Cyrillic_em 0x06cd /* U+043C CYRILLIC SMALL LETTER EM */
+#define XK_Cyrillic_en 0x06ce /* U+043D CYRILLIC SMALL LETTER EN */
+#define XK_Cyrillic_o 0x06cf /* U+043E CYRILLIC SMALL LETTER O */
+#define XK_Cyrillic_pe 0x06d0 /* U+043F CYRILLIC SMALL LETTER PE */
+#define XK_Cyrillic_ya 0x06d1 /* U+044F CYRILLIC SMALL LETTER YA */
+#define XK_Cyrillic_er 0x06d2 /* U+0440 CYRILLIC SMALL LETTER ER */
+#define XK_Cyrillic_es 0x06d3 /* U+0441 CYRILLIC SMALL LETTER ES */
+#define XK_Cyrillic_te 0x06d4 /* U+0442 CYRILLIC SMALL LETTER TE */
+#define XK_Cyrillic_u 0x06d5 /* U+0443 CYRILLIC SMALL LETTER U */
+#define XK_Cyrillic_zhe 0x06d6 /* U+0436 CYRILLIC SMALL LETTER ZHE */
+#define XK_Cyrillic_ve 0x06d7 /* U+0432 CYRILLIC SMALL LETTER VE */
+#define XK_Cyrillic_softsign 0x06d8 /* U+044C CYRILLIC SMALL LETTER SOFT SIGN */
+#define XK_Cyrillic_yeru 0x06d9 /* U+044B CYRILLIC SMALL LETTER YERU */
+#define XK_Cyrillic_ze 0x06da /* U+0437 CYRILLIC SMALL LETTER ZE */
+#define XK_Cyrillic_sha 0x06db /* U+0448 CYRILLIC SMALL LETTER SHA */
+#define XK_Cyrillic_e 0x06dc /* U+044D CYRILLIC SMALL LETTER E */
+#define XK_Cyrillic_shcha 0x06dd /* U+0449 CYRILLIC SMALL LETTER SHCHA */
+#define XK_Cyrillic_che 0x06de /* U+0447 CYRILLIC SMALL LETTER CHE */
+#define XK_Cyrillic_hardsign 0x06df /* U+044A CYRILLIC SMALL LETTER HARD SIGN */
+#define XK_Cyrillic_YU 0x06e0 /* U+042E CYRILLIC CAPITAL LETTER YU */
+#define XK_Cyrillic_A 0x06e1 /* U+0410 CYRILLIC CAPITAL LETTER A */
+#define XK_Cyrillic_BE 0x06e2 /* U+0411 CYRILLIC CAPITAL LETTER BE */
+#define XK_Cyrillic_TSE 0x06e3 /* U+0426 CYRILLIC CAPITAL LETTER TSE */
+#define XK_Cyrillic_DE 0x06e4 /* U+0414 CYRILLIC CAPITAL LETTER DE */
+#define XK_Cyrillic_IE 0x06e5 /* U+0415 CYRILLIC CAPITAL LETTER IE */
+#define XK_Cyrillic_EF 0x06e6 /* U+0424 CYRILLIC CAPITAL LETTER EF */
+#define XK_Cyrillic_GHE 0x06e7 /* U+0413 CYRILLIC CAPITAL LETTER GHE */
+#define XK_Cyrillic_HA 0x06e8 /* U+0425 CYRILLIC CAPITAL LETTER HA */
+#define XK_Cyrillic_I 0x06e9 /* U+0418 CYRILLIC CAPITAL LETTER I */
+#define XK_Cyrillic_SHORTI 0x06ea /* U+0419 CYRILLIC CAPITAL LETTER SHORT I */
+#define XK_Cyrillic_KA 0x06eb /* U+041A CYRILLIC CAPITAL LETTER KA */
+#define XK_Cyrillic_EL 0x06ec /* U+041B CYRILLIC CAPITAL LETTER EL */
+#define XK_Cyrillic_EM 0x06ed /* U+041C CYRILLIC CAPITAL LETTER EM */
+#define XK_Cyrillic_EN 0x06ee /* U+041D CYRILLIC CAPITAL LETTER EN */
+#define XK_Cyrillic_O 0x06ef /* U+041E CYRILLIC CAPITAL LETTER O */
+#define XK_Cyrillic_PE 0x06f0 /* U+041F CYRILLIC CAPITAL LETTER PE */
+#define XK_Cyrillic_YA 0x06f1 /* U+042F CYRILLIC CAPITAL LETTER YA */
+#define XK_Cyrillic_ER 0x06f2 /* U+0420 CYRILLIC CAPITAL LETTER ER */
+#define XK_Cyrillic_ES 0x06f3 /* U+0421 CYRILLIC CAPITAL LETTER ES */
+#define XK_Cyrillic_TE 0x06f4 /* U+0422 CYRILLIC CAPITAL LETTER TE */
+#define XK_Cyrillic_U 0x06f5 /* U+0423 CYRILLIC CAPITAL LETTER U */
+#define XK_Cyrillic_ZHE 0x06f6 /* U+0416 CYRILLIC CAPITAL LETTER ZHE */
+#define XK_Cyrillic_VE 0x06f7 /* U+0412 CYRILLIC CAPITAL LETTER VE */
+#define XK_Cyrillic_SOFTSIGN 0x06f8 /* U+042C CYRILLIC CAPITAL LETTER SOFT SIGN */
+#define XK_Cyrillic_YERU 0x06f9 /* U+042B CYRILLIC CAPITAL LETTER YERU */
+#define XK_Cyrillic_ZE 0x06fa /* U+0417 CYRILLIC CAPITAL LETTER ZE */
+#define XK_Cyrillic_SHA 0x06fb /* U+0428 CYRILLIC CAPITAL LETTER SHA */
+#define XK_Cyrillic_E 0x06fc /* U+042D CYRILLIC CAPITAL LETTER E */
+#define XK_Cyrillic_SHCHA 0x06fd /* U+0429 CYRILLIC CAPITAL LETTER SHCHA */
+#define XK_Cyrillic_CHE 0x06fe /* U+0427 CYRILLIC CAPITAL LETTER CHE */
+#define XK_Cyrillic_HARDSIGN 0x06ff /* U+042A CYRILLIC CAPITAL LETTER HARD SIGN */
+#endif /* XK_CYRILLIC */
+
+/*
+ * Greek
+ * (based on an early draft of, and not quite identical to, ISO/IEC 8859-7)
+ * Byte 3 = 7
+ */
+
+#ifdef XK_GREEK
+#define XK_Greek_ALPHAaccent 0x07a1 /* U+0386 GREEK CAPITAL LETTER ALPHA WITH TONOS */
+#define XK_Greek_EPSILONaccent 0x07a2 /* U+0388 GREEK CAPITAL LETTER EPSILON WITH TONOS */
+#define XK_Greek_ETAaccent 0x07a3 /* U+0389 GREEK CAPITAL LETTER ETA WITH TONOS */
+#define XK_Greek_IOTAaccent 0x07a4 /* U+038A GREEK CAPITAL LETTER IOTA WITH TONOS */
+#define XK_Greek_IOTAdieresis 0x07a5 /* U+03AA GREEK CAPITAL LETTER IOTA WITH DIALYTIKA */
+#define XK_Greek_IOTAdiaeresis 0x07a5 /* old typo */
+#define XK_Greek_OMICRONaccent 0x07a7 /* U+038C GREEK CAPITAL LETTER OMICRON WITH TONOS */
+#define XK_Greek_UPSILONaccent 0x07a8 /* U+038E GREEK CAPITAL LETTER UPSILON WITH TONOS */
+#define XK_Greek_UPSILONdieresis 0x07a9 /* U+03AB GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA */
+#define XK_Greek_OMEGAaccent 0x07ab /* U+038F GREEK CAPITAL LETTER OMEGA WITH TONOS */
+#define XK_Greek_accentdieresis 0x07ae /* U+0385 GREEK DIALYTIKA TONOS */
+#define XK_Greek_horizbar 0x07af /* U+2015 HORIZONTAL BAR */
+#define XK_Greek_alphaaccent 0x07b1 /* U+03AC GREEK SMALL LETTER ALPHA WITH TONOS */
+#define XK_Greek_epsilonaccent 0x07b2 /* U+03AD GREEK SMALL LETTER EPSILON WITH TONOS */
+#define XK_Greek_etaaccent 0x07b3 /* U+03AE GREEK SMALL LETTER ETA WITH TONOS */
+#define XK_Greek_iotaaccent 0x07b4 /* U+03AF GREEK SMALL LETTER IOTA WITH TONOS */
+#define XK_Greek_iotadieresis 0x07b5 /* U+03CA GREEK SMALL LETTER IOTA WITH DIALYTIKA */
+#define XK_Greek_iotaaccentdieresis 0x07b6 /* U+0390 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS */
+#define XK_Greek_omicronaccent 0x07b7 /* U+03CC GREEK SMALL LETTER OMICRON WITH TONOS */
+#define XK_Greek_upsilonaccent 0x07b8 /* U+03CD GREEK SMALL LETTER UPSILON WITH TONOS */
+#define XK_Greek_upsilondieresis 0x07b9 /* U+03CB GREEK SMALL LETTER UPSILON WITH DIALYTIKA */
+#define XK_Greek_upsilonaccentdieresis 0x07ba /* U+03B0 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS */
+#define XK_Greek_omegaaccent 0x07bb /* U+03CE GREEK SMALL LETTER OMEGA WITH TONOS */
+#define XK_Greek_ALPHA 0x07c1 /* U+0391 GREEK CAPITAL LETTER ALPHA */
+#define XK_Greek_BETA 0x07c2 /* U+0392 GREEK CAPITAL LETTER BETA */
+#define XK_Greek_GAMMA 0x07c3 /* U+0393 GREEK CAPITAL LETTER GAMMA */
+#define XK_Greek_DELTA 0x07c4 /* U+0394 GREEK CAPITAL LETTER DELTA */
+#define XK_Greek_EPSILON 0x07c5 /* U+0395 GREEK CAPITAL LETTER EPSILON */
+#define XK_Greek_ZETA 0x07c6 /* U+0396 GREEK CAPITAL LETTER ZETA */
+#define XK_Greek_ETA 0x07c7 /* U+0397 GREEK CAPITAL LETTER ETA */
+#define XK_Greek_THETA 0x07c8 /* U+0398 GREEK CAPITAL LETTER THETA */
+#define XK_Greek_IOTA 0x07c9 /* U+0399 GREEK CAPITAL LETTER IOTA */
+#define XK_Greek_KAPPA 0x07ca /* U+039A GREEK CAPITAL LETTER KAPPA */
+#define XK_Greek_LAMDA 0x07cb /* U+039B GREEK CAPITAL LETTER LAMDA */
+#define XK_Greek_LAMBDA 0x07cb /* U+039B GREEK CAPITAL LETTER LAMDA */
+#define XK_Greek_MU 0x07cc /* U+039C GREEK CAPITAL LETTER MU */
+#define XK_Greek_NU 0x07cd /* U+039D GREEK CAPITAL LETTER NU */
+#define XK_Greek_XI 0x07ce /* U+039E GREEK CAPITAL LETTER XI */
+#define XK_Greek_OMICRON 0x07cf /* U+039F GREEK CAPITAL LETTER OMICRON */
+#define XK_Greek_PI 0x07d0 /* U+03A0 GREEK CAPITAL LETTER PI */
+#define XK_Greek_RHO 0x07d1 /* U+03A1 GREEK CAPITAL LETTER RHO */
+#define XK_Greek_SIGMA 0x07d2 /* U+03A3 GREEK CAPITAL LETTER SIGMA */
+#define XK_Greek_TAU 0x07d4 /* U+03A4 GREEK CAPITAL LETTER TAU */
+#define XK_Greek_UPSILON 0x07d5 /* U+03A5 GREEK CAPITAL LETTER UPSILON */
+#define XK_Greek_PHI 0x07d6 /* U+03A6 GREEK CAPITAL LETTER PHI */
+#define XK_Greek_CHI 0x07d7 /* U+03A7 GREEK CAPITAL LETTER CHI */
+#define XK_Greek_PSI 0x07d8 /* U+03A8 GREEK CAPITAL LETTER PSI */
+#define XK_Greek_OMEGA 0x07d9 /* U+03A9 GREEK CAPITAL LETTER OMEGA */
+#define XK_Greek_alpha 0x07e1 /* U+03B1 GREEK SMALL LETTER ALPHA */
+#define XK_Greek_beta 0x07e2 /* U+03B2 GREEK SMALL LETTER BETA */
+#define XK_Greek_gamma 0x07e3 /* U+03B3 GREEK SMALL LETTER GAMMA */
+#define XK_Greek_delta 0x07e4 /* U+03B4 GREEK SMALL LETTER DELTA */
+#define XK_Greek_epsilon 0x07e5 /* U+03B5 GREEK SMALL LETTER EPSILON */
+#define XK_Greek_zeta 0x07e6 /* U+03B6 GREEK SMALL LETTER ZETA */
+#define XK_Greek_eta 0x07e7 /* U+03B7 GREEK SMALL LETTER ETA */
+#define XK_Greek_theta 0x07e8 /* U+03B8 GREEK SMALL LETTER THETA */
+#define XK_Greek_iota 0x07e9 /* U+03B9 GREEK SMALL LETTER IOTA */
+#define XK_Greek_kappa 0x07ea /* U+03BA GREEK SMALL LETTER KAPPA */
+#define XK_Greek_lamda 0x07eb /* U+03BB GREEK SMALL LETTER LAMDA */
+#define XK_Greek_lambda 0x07eb /* U+03BB GREEK SMALL LETTER LAMDA */
+#define XK_Greek_mu 0x07ec /* U+03BC GREEK SMALL LETTER MU */
+#define XK_Greek_nu 0x07ed /* U+03BD GREEK SMALL LETTER NU */
+#define XK_Greek_xi 0x07ee /* U+03BE GREEK SMALL LETTER XI */
+#define XK_Greek_omicron 0x07ef /* U+03BF GREEK SMALL LETTER OMICRON */
+#define XK_Greek_pi 0x07f0 /* U+03C0 GREEK SMALL LETTER PI */
+#define XK_Greek_rho 0x07f1 /* U+03C1 GREEK SMALL LETTER RHO */
+#define XK_Greek_sigma 0x07f2 /* U+03C3 GREEK SMALL LETTER SIGMA */
+#define XK_Greek_finalsmallsigma 0x07f3 /* U+03C2 GREEK SMALL LETTER FINAL SIGMA */
+#define XK_Greek_tau 0x07f4 /* U+03C4 GREEK SMALL LETTER TAU */
+#define XK_Greek_upsilon 0x07f5 /* U+03C5 GREEK SMALL LETTER UPSILON */
+#define XK_Greek_phi 0x07f6 /* U+03C6 GREEK SMALL LETTER PHI */
+#define XK_Greek_chi 0x07f7 /* U+03C7 GREEK SMALL LETTER CHI */
+#define XK_Greek_psi 0x07f8 /* U+03C8 GREEK SMALL LETTER PSI */
+#define XK_Greek_omega 0x07f9 /* U+03C9 GREEK SMALL LETTER OMEGA */
+#define XK_Greek_switch 0xff7e /* Alias for mode_switch */
+#endif /* XK_GREEK */
+
+/*
+ * Technical
+ * (from the DEC VT330/VT420 Technical Character Set, http://vt100.net/charsets/technical.html)
+ * Byte 3 = 8
+ */
+
+#ifdef XK_TECHNICAL
+#define XK_leftradical 0x08a1 /* U+23B7 RADICAL SYMBOL BOTTOM */
+#define XK_topleftradical 0x08a2 /*(U+250C BOX DRAWINGS LIGHT DOWN AND RIGHT)*/
+#define XK_horizconnector 0x08a3 /*(U+2500 BOX DRAWINGS LIGHT HORIZONTAL)*/
+#define XK_topintegral 0x08a4 /* U+2320 TOP HALF INTEGRAL */
+#define XK_botintegral 0x08a5 /* U+2321 BOTTOM HALF INTEGRAL */
+#define XK_vertconnector 0x08a6 /*(U+2502 BOX DRAWINGS LIGHT VERTICAL)*/
+#define XK_topleftsqbracket 0x08a7 /* U+23A1 LEFT SQUARE BRACKET UPPER CORNER */
+#define XK_botleftsqbracket 0x08a8 /* U+23A3 LEFT SQUARE BRACKET LOWER CORNER */
+#define XK_toprightsqbracket 0x08a9 /* U+23A4 RIGHT SQUARE BRACKET UPPER CORNER */
+#define XK_botrightsqbracket 0x08aa /* U+23A6 RIGHT SQUARE BRACKET LOWER CORNER */
+#define XK_topleftparens 0x08ab /* U+239B LEFT PARENTHESIS UPPER HOOK */
+#define XK_botleftparens 0x08ac /* U+239D LEFT PARENTHESIS LOWER HOOK */
+#define XK_toprightparens 0x08ad /* U+239E RIGHT PARENTHESIS UPPER HOOK */
+#define XK_botrightparens 0x08ae /* U+23A0 RIGHT PARENTHESIS LOWER HOOK */
+#define XK_leftmiddlecurlybrace 0x08af /* U+23A8 LEFT CURLY BRACKET MIDDLE PIECE */
+#define XK_rightmiddlecurlybrace 0x08b0 /* U+23AC RIGHT CURLY BRACKET MIDDLE PIECE */
+#define XK_topleftsummation 0x08b1
+#define XK_botleftsummation 0x08b2
+#define XK_topvertsummationconnector 0x08b3
+#define XK_botvertsummationconnector 0x08b4
+#define XK_toprightsummation 0x08b5
+#define XK_botrightsummation 0x08b6
+#define XK_rightmiddlesummation 0x08b7
+#define XK_lessthanequal 0x08bc /* U+2264 LESS-THAN OR EQUAL TO */
+#define XK_notequal 0x08bd /* U+2260 NOT EQUAL TO */
+#define XK_greaterthanequal 0x08be /* U+2265 GREATER-THAN OR EQUAL TO */
+#define XK_integral 0x08bf /* U+222B INTEGRAL */
+#define XK_therefore 0x08c0 /* U+2234 THEREFORE */
+#define XK_variation 0x08c1 /* U+221D PROPORTIONAL TO */
+#define XK_infinity 0x08c2 /* U+221E INFINITY */
+#define XK_nabla 0x08c5 /* U+2207 NABLA */
+#define XK_approximate 0x08c8 /* U+223C TILDE OPERATOR */
+#define XK_similarequal 0x08c9 /* U+2243 ASYMPTOTICALLY EQUAL TO */
+#define XK_ifonlyif 0x08cd /* U+21D4 LEFT RIGHT DOUBLE ARROW */
+#define XK_implies 0x08ce /* U+21D2 RIGHTWARDS DOUBLE ARROW */
+#define XK_identical 0x08cf /* U+2261 IDENTICAL TO */
+#define XK_radical 0x08d6 /* U+221A SQUARE ROOT */
+#define XK_includedin 0x08da /* U+2282 SUBSET OF */
+#define XK_includes 0x08db /* U+2283 SUPERSET OF */
+#define XK_intersection 0x08dc /* U+2229 INTERSECTION */
+#define XK_union 0x08dd /* U+222A UNION */
+#define XK_logicaland 0x08de /* U+2227 LOGICAL AND */
+#define XK_logicalor 0x08df /* U+2228 LOGICAL OR */
+#define XK_partialderivative 0x08ef /* U+2202 PARTIAL DIFFERENTIAL */
+#define XK_function 0x08f6 /* U+0192 LATIN SMALL LETTER F WITH HOOK */
+#define XK_leftarrow 0x08fb /* U+2190 LEFTWARDS ARROW */
+#define XK_uparrow 0x08fc /* U+2191 UPWARDS ARROW */
+#define XK_rightarrow 0x08fd /* U+2192 RIGHTWARDS ARROW */
+#define XK_downarrow 0x08fe /* U+2193 DOWNWARDS ARROW */
+#endif /* XK_TECHNICAL */
+
+/*
+ * Special
+ * (from the DEC VT100 Special Graphics Character Set)
+ * Byte 3 = 9
+ */
+
+#ifdef XK_SPECIAL
+#define XK_blank 0x09df
+#define XK_soliddiamond 0x09e0 /* U+25C6 BLACK DIAMOND */
+#define XK_checkerboard 0x09e1 /* U+2592 MEDIUM SHADE */
+#define XK_ht 0x09e2 /* U+2409 SYMBOL FOR HORIZONTAL TABULATION */
+#define XK_ff 0x09e3 /* U+240C SYMBOL FOR FORM FEED */
+#define XK_cr 0x09e4 /* U+240D SYMBOL FOR CARRIAGE RETURN */
+#define XK_lf 0x09e5 /* U+240A SYMBOL FOR LINE FEED */
+#define XK_nl 0x09e8 /* U+2424 SYMBOL FOR NEWLINE */
+#define XK_vt 0x09e9 /* U+240B SYMBOL FOR VERTICAL TABULATION */
+#define XK_lowrightcorner 0x09ea /* U+2518 BOX DRAWINGS LIGHT UP AND LEFT */
+#define XK_uprightcorner 0x09eb /* U+2510 BOX DRAWINGS LIGHT DOWN AND LEFT */
+#define XK_upleftcorner 0x09ec /* U+250C BOX DRAWINGS LIGHT DOWN AND RIGHT */
+#define XK_lowleftcorner 0x09ed /* U+2514 BOX DRAWINGS LIGHT UP AND RIGHT */
+#define XK_crossinglines 0x09ee /* U+253C BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL */
+#define XK_horizlinescan1 0x09ef /* U+23BA HORIZONTAL SCAN LINE-1 */
+#define XK_horizlinescan3 0x09f0 /* U+23BB HORIZONTAL SCAN LINE-3 */
+#define XK_horizlinescan5 0x09f1 /* U+2500 BOX DRAWINGS LIGHT HORIZONTAL */
+#define XK_horizlinescan7 0x09f2 /* U+23BC HORIZONTAL SCAN LINE-7 */
+#define XK_horizlinescan9 0x09f3 /* U+23BD HORIZONTAL SCAN LINE-9 */
+#define XK_leftt 0x09f4 /* U+251C BOX DRAWINGS LIGHT VERTICAL AND RIGHT */
+#define XK_rightt 0x09f5 /* U+2524 BOX DRAWINGS LIGHT VERTICAL AND LEFT */
+#define XK_bott 0x09f6 /* U+2534 BOX DRAWINGS LIGHT UP AND HORIZONTAL */
+#define XK_topt 0x09f7 /* U+252C BOX DRAWINGS LIGHT DOWN AND HORIZONTAL */
+#define XK_vertbar 0x09f8 /* U+2502 BOX DRAWINGS LIGHT VERTICAL */
+#endif /* XK_SPECIAL */
+
+/*
+ * Publishing
+ * (these are probably from a long forgotten DEC Publishing
+ * font that once shipped with DECwrite)
+ * Byte 3 = 0x0a
+ */
+
+#ifdef XK_PUBLISHING
+#define XK_emspace 0x0aa1 /* U+2003 EM SPACE */
+#define XK_enspace 0x0aa2 /* U+2002 EN SPACE */
+#define XK_em3space 0x0aa3 /* U+2004 THREE-PER-EM SPACE */
+#define XK_em4space 0x0aa4 /* U+2005 FOUR-PER-EM SPACE */
+#define XK_digitspace 0x0aa5 /* U+2007 FIGURE SPACE */
+#define XK_punctspace 0x0aa6 /* U+2008 PUNCTUATION SPACE */
+#define XK_thinspace 0x0aa7 /* U+2009 THIN SPACE */
+#define XK_hairspace 0x0aa8 /* U+200A HAIR SPACE */
+#define XK_emdash 0x0aa9 /* U+2014 EM DASH */
+#define XK_endash 0x0aaa /* U+2013 EN DASH */
+#define XK_signifblank 0x0aac /*(U+2423 OPEN BOX)*/
+#define XK_ellipsis 0x0aae /* U+2026 HORIZONTAL ELLIPSIS */
+#define XK_doubbaselinedot 0x0aaf /* U+2025 TWO DOT LEADER */
+#define XK_onethird 0x0ab0 /* U+2153 VULGAR FRACTION ONE THIRD */
+#define XK_twothirds 0x0ab1 /* U+2154 VULGAR FRACTION TWO THIRDS */
+#define XK_onefifth 0x0ab2 /* U+2155 VULGAR FRACTION ONE FIFTH */
+#define XK_twofifths 0x0ab3 /* U+2156 VULGAR FRACTION TWO FIFTHS */
+#define XK_threefifths 0x0ab4 /* U+2157 VULGAR FRACTION THREE FIFTHS */
+#define XK_fourfifths 0x0ab5 /* U+2158 VULGAR FRACTION FOUR FIFTHS */
+#define XK_onesixth 0x0ab6 /* U+2159 VULGAR FRACTION ONE SIXTH */
+#define XK_fivesixths 0x0ab7 /* U+215A VULGAR FRACTION FIVE SIXTHS */
+#define XK_careof 0x0ab8 /* U+2105 CARE OF */
+#define XK_figdash 0x0abb /* U+2012 FIGURE DASH */
+#define XK_leftanglebracket 0x0abc /*(U+27E8 MATHEMATICAL LEFT ANGLE BRACKET)*/
+#define XK_decimalpoint 0x0abd /*(U+002E FULL STOP)*/
+#define XK_rightanglebracket 0x0abe /*(U+27E9 MATHEMATICAL RIGHT ANGLE BRACKET)*/
+#define XK_marker 0x0abf
+#define XK_oneeighth 0x0ac3 /* U+215B VULGAR FRACTION ONE EIGHTH */
+#define XK_threeeighths 0x0ac4 /* U+215C VULGAR FRACTION THREE EIGHTHS */
+#define XK_fiveeighths 0x0ac5 /* U+215D VULGAR FRACTION FIVE EIGHTHS */
+#define XK_seveneighths 0x0ac6 /* U+215E VULGAR FRACTION SEVEN EIGHTHS */
+#define XK_trademark 0x0ac9 /* U+2122 TRADE MARK SIGN */
+#define XK_signaturemark 0x0aca /*(U+2613 SALTIRE)*/
+#define XK_trademarkincircle 0x0acb
+#define XK_leftopentriangle 0x0acc /*(U+25C1 WHITE LEFT-POINTING TRIANGLE)*/
+#define XK_rightopentriangle 0x0acd /*(U+25B7 WHITE RIGHT-POINTING TRIANGLE)*/
+#define XK_emopencircle 0x0ace /*(U+25CB WHITE CIRCLE)*/
+#define XK_emopenrectangle 0x0acf /*(U+25AF WHITE VERTICAL RECTANGLE)*/
+#define XK_leftsinglequotemark 0x0ad0 /* U+2018 LEFT SINGLE QUOTATION MARK */
+#define XK_rightsinglequotemark 0x0ad1 /* U+2019 RIGHT SINGLE QUOTATION MARK */
+#define XK_leftdoublequotemark 0x0ad2 /* U+201C LEFT DOUBLE QUOTATION MARK */
+#define XK_rightdoublequotemark 0x0ad3 /* U+201D RIGHT DOUBLE QUOTATION MARK */
+#define XK_prescription 0x0ad4 /* U+211E PRESCRIPTION TAKE */
+#define XK_permille 0x0ad5 /* U+2030 PER MILLE SIGN */
+#define XK_minutes 0x0ad6 /* U+2032 PRIME */
+#define XK_seconds 0x0ad7 /* U+2033 DOUBLE PRIME */
+#define XK_latincross 0x0ad9 /* U+271D LATIN CROSS */
+#define XK_hexagram 0x0ada
+#define XK_filledrectbullet 0x0adb /*(U+25AC BLACK RECTANGLE)*/
+#define XK_filledlefttribullet 0x0adc /*(U+25C0 BLACK LEFT-POINTING TRIANGLE)*/
+#define XK_filledrighttribullet 0x0add /*(U+25B6 BLACK RIGHT-POINTING TRIANGLE)*/
+#define XK_emfilledcircle 0x0ade /*(U+25CF BLACK CIRCLE)*/
+#define XK_emfilledrect 0x0adf /*(U+25AE BLACK VERTICAL RECTANGLE)*/
+#define XK_enopencircbullet 0x0ae0 /*(U+25E6 WHITE BULLET)*/
+#define XK_enopensquarebullet 0x0ae1 /*(U+25AB WHITE SMALL SQUARE)*/
+#define XK_openrectbullet 0x0ae2 /*(U+25AD WHITE RECTANGLE)*/
+#define XK_opentribulletup 0x0ae3 /*(U+25B3 WHITE UP-POINTING TRIANGLE)*/
+#define XK_opentribulletdown 0x0ae4 /*(U+25BD WHITE DOWN-POINTING TRIANGLE)*/
+#define XK_openstar 0x0ae5 /*(U+2606 WHITE STAR)*/
+#define XK_enfilledcircbullet 0x0ae6 /*(U+2022 BULLET)*/
+#define XK_enfilledsqbullet 0x0ae7 /*(U+25AA BLACK SMALL SQUARE)*/
+#define XK_filledtribulletup 0x0ae8 /*(U+25B2 BLACK UP-POINTING TRIANGLE)*/
+#define XK_filledtribulletdown 0x0ae9 /*(U+25BC BLACK DOWN-POINTING TRIANGLE)*/
+#define XK_leftpointer 0x0aea /*(U+261C WHITE LEFT POINTING INDEX)*/
+#define XK_rightpointer 0x0aeb /*(U+261E WHITE RIGHT POINTING INDEX)*/
+#define XK_club 0x0aec /* U+2663 BLACK CLUB SUIT */
+#define XK_diamond 0x0aed /* U+2666 BLACK DIAMOND SUIT */
+#define XK_heart 0x0aee /* U+2665 BLACK HEART SUIT */
+#define XK_maltesecross 0x0af0 /* U+2720 MALTESE CROSS */
+#define XK_dagger 0x0af1 /* U+2020 DAGGER */
+#define XK_doubledagger 0x0af2 /* U+2021 DOUBLE DAGGER */
+#define XK_checkmark 0x0af3 /* U+2713 CHECK MARK */
+#define XK_ballotcross 0x0af4 /* U+2717 BALLOT X */
+#define XK_musicalsharp 0x0af5 /* U+266F MUSIC SHARP SIGN */
+#define XK_musicalflat 0x0af6 /* U+266D MUSIC FLAT SIGN */
+#define XK_malesymbol 0x0af7 /* U+2642 MALE SIGN */
+#define XK_femalesymbol 0x0af8 /* U+2640 FEMALE SIGN */
+#define XK_telephone 0x0af9 /* U+260E BLACK TELEPHONE */
+#define XK_telephonerecorder 0x0afa /* U+2315 TELEPHONE RECORDER */
+#define XK_phonographcopyright 0x0afb /* U+2117 SOUND RECORDING COPYRIGHT */
+#define XK_caret 0x0afc /* U+2038 CARET */
+#define XK_singlelowquotemark 0x0afd /* U+201A SINGLE LOW-9 QUOTATION MARK */
+#define XK_doublelowquotemark 0x0afe /* U+201E DOUBLE LOW-9 QUOTATION MARK */
+#define XK_cursor 0x0aff
+#endif /* XK_PUBLISHING */
+
+/*
+ * APL
+ * Byte 3 = 0x0b
+ */
+
+#ifdef XK_APL
+#define XK_leftcaret 0x0ba3 /*(U+003C LESS-THAN SIGN)*/
+#define XK_rightcaret 0x0ba6 /*(U+003E GREATER-THAN SIGN)*/
+#define XK_downcaret 0x0ba8 /*(U+2228 LOGICAL OR)*/
+#define XK_upcaret 0x0ba9 /*(U+2227 LOGICAL AND)*/
+#define XK_overbar 0x0bc0 /*(U+00AF MACRON)*/
+#define XK_downtack 0x0bc2 /* U+22A4 DOWN TACK */
+#define XK_upshoe 0x0bc3 /*(U+2229 INTERSECTION)*/
+#define XK_downstile 0x0bc4 /* U+230A LEFT FLOOR */
+#define XK_underbar 0x0bc6 /*(U+005F LOW LINE)*/
+#define XK_jot 0x0bca /* U+2218 RING OPERATOR */
+#define XK_quad 0x0bcc /* U+2395 APL FUNCTIONAL SYMBOL QUAD */
+#define XK_uptack 0x0bce /* U+22A5 UP TACK */
+#define XK_circle 0x0bcf /* U+25CB WHITE CIRCLE */
+#define XK_upstile 0x0bd3 /* U+2308 LEFT CEILING */
+#define XK_downshoe 0x0bd6 /*(U+222A UNION)*/
+#define XK_rightshoe 0x0bd8 /*(U+2283 SUPERSET OF)*/
+#define XK_leftshoe 0x0bda /*(U+2282 SUBSET OF)*/
+#define XK_lefttack 0x0bdc /* U+22A3 LEFT TACK */
+#define XK_righttack 0x0bfc /* U+22A2 RIGHT TACK */
+#endif /* XK_APL */
+
+/*
+ * Hebrew
+ * Byte 3 = 0x0c
+ */
+
+#ifdef XK_HEBREW
+#define XK_hebrew_doublelowline 0x0cdf /* U+2017 DOUBLE LOW LINE */
+#define XK_hebrew_aleph 0x0ce0 /* U+05D0 HEBREW LETTER ALEF */
+#define XK_hebrew_bet 0x0ce1 /* U+05D1 HEBREW LETTER BET */
+#define XK_hebrew_beth 0x0ce1 /* deprecated */
+#define XK_hebrew_gimel 0x0ce2 /* U+05D2 HEBREW LETTER GIMEL */
+#define XK_hebrew_gimmel 0x0ce2 /* deprecated */
+#define XK_hebrew_dalet 0x0ce3 /* U+05D3 HEBREW LETTER DALET */
+#define XK_hebrew_daleth 0x0ce3 /* deprecated */
+#define XK_hebrew_he 0x0ce4 /* U+05D4 HEBREW LETTER HE */
+#define XK_hebrew_waw 0x0ce5 /* U+05D5 HEBREW LETTER VAV */
+#define XK_hebrew_zain 0x0ce6 /* U+05D6 HEBREW LETTER ZAYIN */
+#define XK_hebrew_zayin 0x0ce6 /* deprecated */
+#define XK_hebrew_chet 0x0ce7 /* U+05D7 HEBREW LETTER HET */
+#define XK_hebrew_het 0x0ce7 /* deprecated */
+#define XK_hebrew_tet 0x0ce8 /* U+05D8 HEBREW LETTER TET */
+#define XK_hebrew_teth 0x0ce8 /* deprecated */
+#define XK_hebrew_yod 0x0ce9 /* U+05D9 HEBREW LETTER YOD */
+#define XK_hebrew_finalkaph 0x0cea /* U+05DA HEBREW LETTER FINAL KAF */
+#define XK_hebrew_kaph 0x0ceb /* U+05DB HEBREW LETTER KAF */
+#define XK_hebrew_lamed 0x0cec /* U+05DC HEBREW LETTER LAMED */
+#define XK_hebrew_finalmem 0x0ced /* U+05DD HEBREW LETTER FINAL MEM */
+#define XK_hebrew_mem 0x0cee /* U+05DE HEBREW LETTER MEM */
+#define XK_hebrew_finalnun 0x0cef /* U+05DF HEBREW LETTER FINAL NUN */
+#define XK_hebrew_nun 0x0cf0 /* U+05E0 HEBREW LETTER NUN */
+#define XK_hebrew_samech 0x0cf1 /* U+05E1 HEBREW LETTER SAMEKH */
+#define XK_hebrew_samekh 0x0cf1 /* deprecated */
+#define XK_hebrew_ayin 0x0cf2 /* U+05E2 HEBREW LETTER AYIN */
+#define XK_hebrew_finalpe 0x0cf3 /* U+05E3 HEBREW LETTER FINAL PE */
+#define XK_hebrew_pe 0x0cf4 /* U+05E4 HEBREW LETTER PE */
+#define XK_hebrew_finalzade 0x0cf5 /* U+05E5 HEBREW LETTER FINAL TSADI */
+#define XK_hebrew_finalzadi 0x0cf5 /* deprecated */
+#define XK_hebrew_zade 0x0cf6 /* U+05E6 HEBREW LETTER TSADI */
+#define XK_hebrew_zadi 0x0cf6 /* deprecated */
+#define XK_hebrew_qoph 0x0cf7 /* U+05E7 HEBREW LETTER QOF */
+#define XK_hebrew_kuf 0x0cf7 /* deprecated */
+#define XK_hebrew_resh 0x0cf8 /* U+05E8 HEBREW LETTER RESH */
+#define XK_hebrew_shin 0x0cf9 /* U+05E9 HEBREW LETTER SHIN */
+#define XK_hebrew_taw 0x0cfa /* U+05EA HEBREW LETTER TAV */
+#define XK_hebrew_taf 0x0cfa /* deprecated */
+#define XK_Hebrew_switch 0xff7e /* Alias for mode_switch */
+#endif /* XK_HEBREW */
+
+/*
+ * Thai
+ * Byte 3 = 0x0d
+ */
+
+#ifdef XK_THAI
+#define XK_Thai_kokai 0x0da1 /* U+0E01 THAI CHARACTER KO KAI */
+#define XK_Thai_khokhai 0x0da2 /* U+0E02 THAI CHARACTER KHO KHAI */
+#define XK_Thai_khokhuat 0x0da3 /* U+0E03 THAI CHARACTER KHO KHUAT */
+#define XK_Thai_khokhwai 0x0da4 /* U+0E04 THAI CHARACTER KHO KHWAI */
+#define XK_Thai_khokhon 0x0da5 /* U+0E05 THAI CHARACTER KHO KHON */
+#define XK_Thai_khorakhang 0x0da6 /* U+0E06 THAI CHARACTER KHO RAKHANG */
+#define XK_Thai_ngongu 0x0da7 /* U+0E07 THAI CHARACTER NGO NGU */
+#define XK_Thai_chochan 0x0da8 /* U+0E08 THAI CHARACTER CHO CHAN */
+#define XK_Thai_choching 0x0da9 /* U+0E09 THAI CHARACTER CHO CHING */
+#define XK_Thai_chochang 0x0daa /* U+0E0A THAI CHARACTER CHO CHANG */
+#define XK_Thai_soso 0x0dab /* U+0E0B THAI CHARACTER SO SO */
+#define XK_Thai_chochoe 0x0dac /* U+0E0C THAI CHARACTER CHO CHOE */
+#define XK_Thai_yoying 0x0dad /* U+0E0D THAI CHARACTER YO YING */
+#define XK_Thai_dochada 0x0dae /* U+0E0E THAI CHARACTER DO CHADA */
+#define XK_Thai_topatak 0x0daf /* U+0E0F THAI CHARACTER TO PATAK */
+#define XK_Thai_thothan 0x0db0 /* U+0E10 THAI CHARACTER THO THAN */
+#define XK_Thai_thonangmontho 0x0db1 /* U+0E11 THAI CHARACTER THO NANGMONTHO */
+#define XK_Thai_thophuthao 0x0db2 /* U+0E12 THAI CHARACTER THO PHUTHAO */
+#define XK_Thai_nonen 0x0db3 /* U+0E13 THAI CHARACTER NO NEN */
+#define XK_Thai_dodek 0x0db4 /* U+0E14 THAI CHARACTER DO DEK */
+#define XK_Thai_totao 0x0db5 /* U+0E15 THAI CHARACTER TO TAO */
+#define XK_Thai_thothung 0x0db6 /* U+0E16 THAI CHARACTER THO THUNG */
+#define XK_Thai_thothahan 0x0db7 /* U+0E17 THAI CHARACTER THO THAHAN */
+#define XK_Thai_thothong 0x0db8 /* U+0E18 THAI CHARACTER THO THONG */
+#define XK_Thai_nonu 0x0db9 /* U+0E19 THAI CHARACTER NO NU */
+#define XK_Thai_bobaimai 0x0dba /* U+0E1A THAI CHARACTER BO BAIMAI */
+#define XK_Thai_popla 0x0dbb /* U+0E1B THAI CHARACTER PO PLA */
+#define XK_Thai_phophung 0x0dbc /* U+0E1C THAI CHARACTER PHO PHUNG */
+#define XK_Thai_fofa 0x0dbd /* U+0E1D THAI CHARACTER FO FA */
+#define XK_Thai_phophan 0x0dbe /* U+0E1E THAI CHARACTER PHO PHAN */
+#define XK_Thai_fofan 0x0dbf /* U+0E1F THAI CHARACTER FO FAN */
+#define XK_Thai_phosamphao 0x0dc0 /* U+0E20 THAI CHARACTER PHO SAMPHAO */
+#define XK_Thai_moma 0x0dc1 /* U+0E21 THAI CHARACTER MO MA */
+#define XK_Thai_yoyak 0x0dc2 /* U+0E22 THAI CHARACTER YO YAK */
+#define XK_Thai_rorua 0x0dc3 /* U+0E23 THAI CHARACTER RO RUA */
+#define XK_Thai_ru 0x0dc4 /* U+0E24 THAI CHARACTER RU */
+#define XK_Thai_loling 0x0dc5 /* U+0E25 THAI CHARACTER LO LING */
+#define XK_Thai_lu 0x0dc6 /* U+0E26 THAI CHARACTER LU */
+#define XK_Thai_wowaen 0x0dc7 /* U+0E27 THAI CHARACTER WO WAEN */
+#define XK_Thai_sosala 0x0dc8 /* U+0E28 THAI CHARACTER SO SALA */
+#define XK_Thai_sorusi 0x0dc9 /* U+0E29 THAI CHARACTER SO RUSI */
+#define XK_Thai_sosua 0x0dca /* U+0E2A THAI CHARACTER SO SUA */
+#define XK_Thai_hohip 0x0dcb /* U+0E2B THAI CHARACTER HO HIP */
+#define XK_Thai_lochula 0x0dcc /* U+0E2C THAI CHARACTER LO CHULA */
+#define XK_Thai_oang 0x0dcd /* U+0E2D THAI CHARACTER O ANG */
+#define XK_Thai_honokhuk 0x0dce /* U+0E2E THAI CHARACTER HO NOKHUK */
+#define XK_Thai_paiyannoi 0x0dcf /* U+0E2F THAI CHARACTER PAIYANNOI */
+#define XK_Thai_saraa 0x0dd0 /* U+0E30 THAI CHARACTER SARA A */
+#define XK_Thai_maihanakat 0x0dd1 /* U+0E31 THAI CHARACTER MAI HAN-AKAT */
+#define XK_Thai_saraaa 0x0dd2 /* U+0E32 THAI CHARACTER SARA AA */
+#define XK_Thai_saraam 0x0dd3 /* U+0E33 THAI CHARACTER SARA AM */
+#define XK_Thai_sarai 0x0dd4 /* U+0E34 THAI CHARACTER SARA I */
+#define XK_Thai_saraii 0x0dd5 /* U+0E35 THAI CHARACTER SARA II */
+#define XK_Thai_saraue 0x0dd6 /* U+0E36 THAI CHARACTER SARA UE */
+#define XK_Thai_sarauee 0x0dd7 /* U+0E37 THAI CHARACTER SARA UEE */
+#define XK_Thai_sarau 0x0dd8 /* U+0E38 THAI CHARACTER SARA U */
+#define XK_Thai_sarauu 0x0dd9 /* U+0E39 THAI CHARACTER SARA UU */
+#define XK_Thai_phinthu 0x0dda /* U+0E3A THAI CHARACTER PHINTHU */
+#define XK_Thai_maihanakat_maitho 0x0dde
+#define XK_Thai_baht 0x0ddf /* U+0E3F THAI CURRENCY SYMBOL BAHT */
+#define XK_Thai_sarae 0x0de0 /* U+0E40 THAI CHARACTER SARA E */
+#define XK_Thai_saraae 0x0de1 /* U+0E41 THAI CHARACTER SARA AE */
+#define XK_Thai_sarao 0x0de2 /* U+0E42 THAI CHARACTER SARA O */
+#define XK_Thai_saraaimaimuan 0x0de3 /* U+0E43 THAI CHARACTER SARA AI MAIMUAN */
+#define XK_Thai_saraaimaimalai 0x0de4 /* U+0E44 THAI CHARACTER SARA AI MAIMALAI */
+#define XK_Thai_lakkhangyao 0x0de5 /* U+0E45 THAI CHARACTER LAKKHANGYAO */
+#define XK_Thai_maiyamok 0x0de6 /* U+0E46 THAI CHARACTER MAIYAMOK */
+#define XK_Thai_maitaikhu 0x0de7 /* U+0E47 THAI CHARACTER MAITAIKHU */
+#define XK_Thai_maiek 0x0de8 /* U+0E48 THAI CHARACTER MAI EK */
+#define XK_Thai_maitho 0x0de9 /* U+0E49 THAI CHARACTER MAI THO */
+#define XK_Thai_maitri 0x0dea /* U+0E4A THAI CHARACTER MAI TRI */
+#define XK_Thai_maichattawa 0x0deb /* U+0E4B THAI CHARACTER MAI CHATTAWA */
+#define XK_Thai_thanthakhat 0x0dec /* U+0E4C THAI CHARACTER THANTHAKHAT */
+#define XK_Thai_nikhahit 0x0ded /* U+0E4D THAI CHARACTER NIKHAHIT */
+#define XK_Thai_leksun 0x0df0 /* U+0E50 THAI DIGIT ZERO */
+#define XK_Thai_leknung 0x0df1 /* U+0E51 THAI DIGIT ONE */
+#define XK_Thai_leksong 0x0df2 /* U+0E52 THAI DIGIT TWO */
+#define XK_Thai_leksam 0x0df3 /* U+0E53 THAI DIGIT THREE */
+#define XK_Thai_leksi 0x0df4 /* U+0E54 THAI DIGIT FOUR */
+#define XK_Thai_lekha 0x0df5 /* U+0E55 THAI DIGIT FIVE */
+#define XK_Thai_lekhok 0x0df6 /* U+0E56 THAI DIGIT SIX */
+#define XK_Thai_lekchet 0x0df7 /* U+0E57 THAI DIGIT SEVEN */
+#define XK_Thai_lekpaet 0x0df8 /* U+0E58 THAI DIGIT EIGHT */
+#define XK_Thai_lekkao 0x0df9 /* U+0E59 THAI DIGIT NINE */
+#endif /* XK_THAI */
+
+/*
+ * Korean
+ * Byte 3 = 0x0e
+ */
+
+#ifdef XK_KOREAN
+
+#define XK_Hangul 0xff31 /* Hangul start/stop(toggle) */
+#define XK_Hangul_Start 0xff32 /* Hangul start */
+#define XK_Hangul_End 0xff33 /* Hangul end, English start */
+#define XK_Hangul_Hanja 0xff34 /* Start Hangul->Hanja Conversion */
+#define XK_Hangul_Jamo 0xff35 /* Hangul Jamo mode */
+#define XK_Hangul_Romaja 0xff36 /* Hangul Romaja mode */
+#define XK_Hangul_Codeinput 0xff37 /* Hangul code input mode */
+#define XK_Hangul_Jeonja 0xff38 /* Jeonja mode */
+#define XK_Hangul_Banja 0xff39 /* Banja mode */
+#define XK_Hangul_PreHanja 0xff3a /* Pre Hanja conversion */
+#define XK_Hangul_PostHanja 0xff3b /* Post Hanja conversion */
+#define XK_Hangul_SingleCandidate 0xff3c /* Single candidate */
+#define XK_Hangul_MultipleCandidate 0xff3d /* Multiple candidate */
+#define XK_Hangul_PreviousCandidate 0xff3e /* Previous candidate */
+#define XK_Hangul_Special 0xff3f /* Special symbols */
+#define XK_Hangul_switch 0xff7e /* Alias for mode_switch */
+
+/* Hangul Consonant Characters */
+#define XK_Hangul_Kiyeog 0x0ea1
+#define XK_Hangul_SsangKiyeog 0x0ea2
+#define XK_Hangul_KiyeogSios 0x0ea3
+#define XK_Hangul_Nieun 0x0ea4
+#define XK_Hangul_NieunJieuj 0x0ea5
+#define XK_Hangul_NieunHieuh 0x0ea6
+#define XK_Hangul_Dikeud 0x0ea7
+#define XK_Hangul_SsangDikeud 0x0ea8
+#define XK_Hangul_Rieul 0x0ea9
+#define XK_Hangul_RieulKiyeog 0x0eaa
+#define XK_Hangul_RieulMieum 0x0eab
+#define XK_Hangul_RieulPieub 0x0eac
+#define XK_Hangul_RieulSios 0x0ead
+#define XK_Hangul_RieulTieut 0x0eae
+#define XK_Hangul_RieulPhieuf 0x0eaf
+#define XK_Hangul_RieulHieuh 0x0eb0
+#define XK_Hangul_Mieum 0x0eb1
+#define XK_Hangul_Pieub 0x0eb2
+#define XK_Hangul_SsangPieub 0x0eb3
+#define XK_Hangul_PieubSios 0x0eb4
+#define XK_Hangul_Sios 0x0eb5
+#define XK_Hangul_SsangSios 0x0eb6
+#define XK_Hangul_Ieung 0x0eb7
+#define XK_Hangul_Jieuj 0x0eb8
+#define XK_Hangul_SsangJieuj 0x0eb9
+#define XK_Hangul_Cieuc 0x0eba
+#define XK_Hangul_Khieuq 0x0ebb
+#define XK_Hangul_Tieut 0x0ebc
+#define XK_Hangul_Phieuf 0x0ebd
+#define XK_Hangul_Hieuh 0x0ebe
+
+/* Hangul Vowel Characters */
+#define XK_Hangul_A 0x0ebf
+#define XK_Hangul_AE 0x0ec0
+#define XK_Hangul_YA 0x0ec1
+#define XK_Hangul_YAE 0x0ec2
+#define XK_Hangul_EO 0x0ec3
+#define XK_Hangul_E 0x0ec4
+#define XK_Hangul_YEO 0x0ec5
+#define XK_Hangul_YE 0x0ec6
+#define XK_Hangul_O 0x0ec7
+#define XK_Hangul_WA 0x0ec8
+#define XK_Hangul_WAE 0x0ec9
+#define XK_Hangul_OE 0x0eca
+#define XK_Hangul_YO 0x0ecb
+#define XK_Hangul_U 0x0ecc
+#define XK_Hangul_WEO 0x0ecd
+#define XK_Hangul_WE 0x0ece
+#define XK_Hangul_WI 0x0ecf
+#define XK_Hangul_YU 0x0ed0
+#define XK_Hangul_EU 0x0ed1
+#define XK_Hangul_YI 0x0ed2
+#define XK_Hangul_I 0x0ed3
+
+/* Hangul syllable-final (JongSeong) Characters */
+#define XK_Hangul_J_Kiyeog 0x0ed4
+#define XK_Hangul_J_SsangKiyeog 0x0ed5
+#define XK_Hangul_J_KiyeogSios 0x0ed6
+#define XK_Hangul_J_Nieun 0x0ed7
+#define XK_Hangul_J_NieunJieuj 0x0ed8
+#define XK_Hangul_J_NieunHieuh 0x0ed9
+#define XK_Hangul_J_Dikeud 0x0eda
+#define XK_Hangul_J_Rieul 0x0edb
+#define XK_Hangul_J_RieulKiyeog 0x0edc
+#define XK_Hangul_J_RieulMieum 0x0edd
+#define XK_Hangul_J_RieulPieub 0x0ede
+#define XK_Hangul_J_RieulSios 0x0edf
+#define XK_Hangul_J_RieulTieut 0x0ee0
+#define XK_Hangul_J_RieulPhieuf 0x0ee1
+#define XK_Hangul_J_RieulHieuh 0x0ee2
+#define XK_Hangul_J_Mieum 0x0ee3
+#define XK_Hangul_J_Pieub 0x0ee4
+#define XK_Hangul_J_PieubSios 0x0ee5
+#define XK_Hangul_J_Sios 0x0ee6
+#define XK_Hangul_J_SsangSios 0x0ee7
+#define XK_Hangul_J_Ieung 0x0ee8
+#define XK_Hangul_J_Jieuj 0x0ee9
+#define XK_Hangul_J_Cieuc 0x0eea
+#define XK_Hangul_J_Khieuq 0x0eeb
+#define XK_Hangul_J_Tieut 0x0eec
+#define XK_Hangul_J_Phieuf 0x0eed
+#define XK_Hangul_J_Hieuh 0x0eee
+
+/* Ancient Hangul Consonant Characters */
+#define XK_Hangul_RieulYeorinHieuh 0x0eef
+#define XK_Hangul_SunkyeongeumMieum 0x0ef0
+#define XK_Hangul_SunkyeongeumPieub 0x0ef1
+#define XK_Hangul_PanSios 0x0ef2
+#define XK_Hangul_KkogjiDalrinIeung 0x0ef3
+#define XK_Hangul_SunkyeongeumPhieuf 0x0ef4
+#define XK_Hangul_YeorinHieuh 0x0ef5
+
+/* Ancient Hangul Vowel Characters */
+#define XK_Hangul_AraeA 0x0ef6
+#define XK_Hangul_AraeAE 0x0ef7
+
+/* Ancient Hangul syllable-final (JongSeong) Characters */
+#define XK_Hangul_J_PanSios 0x0ef8
+#define XK_Hangul_J_KkogjiDalrinIeung 0x0ef9
+#define XK_Hangul_J_YeorinHieuh 0x0efa
+
+/* Korean currency symbol */
+#define XK_Korean_Won 0x0eff /*(U+20A9 WON SIGN)*/
+
+#endif /* XK_KOREAN */
+
+/*
+ * Armenian
+ */
+
+#ifdef XK_ARMENIAN
+#define XK_Armenian_ligature_ew 0x1000587 /* U+0587 ARMENIAN SMALL LIGATURE ECH YIWN */
+#define XK_Armenian_full_stop 0x1000589 /* U+0589 ARMENIAN FULL STOP */
+#define XK_Armenian_verjaket 0x1000589 /* U+0589 ARMENIAN FULL STOP */
+#define XK_Armenian_separation_mark 0x100055d /* U+055D ARMENIAN COMMA */
+#define XK_Armenian_but 0x100055d /* U+055D ARMENIAN COMMA */
+#define XK_Armenian_hyphen 0x100058a /* U+058A ARMENIAN HYPHEN */
+#define XK_Armenian_yentamna 0x100058a /* U+058A ARMENIAN HYPHEN */
+#define XK_Armenian_exclam 0x100055c /* U+055C ARMENIAN EXCLAMATION MARK */
+#define XK_Armenian_amanak 0x100055c /* U+055C ARMENIAN EXCLAMATION MARK */
+#define XK_Armenian_accent 0x100055b /* U+055B ARMENIAN EMPHASIS MARK */
+#define XK_Armenian_shesht 0x100055b /* U+055B ARMENIAN EMPHASIS MARK */
+#define XK_Armenian_question 0x100055e /* U+055E ARMENIAN QUESTION MARK */
+#define XK_Armenian_paruyk 0x100055e /* U+055E ARMENIAN QUESTION MARK */
+#define XK_Armenian_AYB 0x1000531 /* U+0531 ARMENIAN CAPITAL LETTER AYB */
+#define XK_Armenian_ayb 0x1000561 /* U+0561 ARMENIAN SMALL LETTER AYB */
+#define XK_Armenian_BEN 0x1000532 /* U+0532 ARMENIAN CAPITAL LETTER BEN */
+#define XK_Armenian_ben 0x1000562 /* U+0562 ARMENIAN SMALL LETTER BEN */
+#define XK_Armenian_GIM 0x1000533 /* U+0533 ARMENIAN CAPITAL LETTER GIM */
+#define XK_Armenian_gim 0x1000563 /* U+0563 ARMENIAN SMALL LETTER GIM */
+#define XK_Armenian_DA 0x1000534 /* U+0534 ARMENIAN CAPITAL LETTER DA */
+#define XK_Armenian_da 0x1000564 /* U+0564 ARMENIAN SMALL LETTER DA */
+#define XK_Armenian_YECH 0x1000535 /* U+0535 ARMENIAN CAPITAL LETTER ECH */
+#define XK_Armenian_yech 0x1000565 /* U+0565 ARMENIAN SMALL LETTER ECH */
+#define XK_Armenian_ZA 0x1000536 /* U+0536 ARMENIAN CAPITAL LETTER ZA */
+#define XK_Armenian_za 0x1000566 /* U+0566 ARMENIAN SMALL LETTER ZA */
+#define XK_Armenian_E 0x1000537 /* U+0537 ARMENIAN CAPITAL LETTER EH */
+#define XK_Armenian_e 0x1000567 /* U+0567 ARMENIAN SMALL LETTER EH */
+#define XK_Armenian_AT 0x1000538 /* U+0538 ARMENIAN CAPITAL LETTER ET */
+#define XK_Armenian_at 0x1000568 /* U+0568 ARMENIAN SMALL LETTER ET */
+#define XK_Armenian_TO 0x1000539 /* U+0539 ARMENIAN CAPITAL LETTER TO */
+#define XK_Armenian_to 0x1000569 /* U+0569 ARMENIAN SMALL LETTER TO */
+#define XK_Armenian_ZHE 0x100053a /* U+053A ARMENIAN CAPITAL LETTER ZHE */
+#define XK_Armenian_zhe 0x100056a /* U+056A ARMENIAN SMALL LETTER ZHE */
+#define XK_Armenian_INI 0x100053b /* U+053B ARMENIAN CAPITAL LETTER INI */
+#define XK_Armenian_ini 0x100056b /* U+056B ARMENIAN SMALL LETTER INI */
+#define XK_Armenian_LYUN 0x100053c /* U+053C ARMENIAN CAPITAL LETTER LIWN */
+#define XK_Armenian_lyun 0x100056c /* U+056C ARMENIAN SMALL LETTER LIWN */
+#define XK_Armenian_KHE 0x100053d /* U+053D ARMENIAN CAPITAL LETTER XEH */
+#define XK_Armenian_khe 0x100056d /* U+056D ARMENIAN SMALL LETTER XEH */
+#define XK_Armenian_TSA 0x100053e /* U+053E ARMENIAN CAPITAL LETTER CA */
+#define XK_Armenian_tsa 0x100056e /* U+056E ARMENIAN SMALL LETTER CA */
+#define XK_Armenian_KEN 0x100053f /* U+053F ARMENIAN CAPITAL LETTER KEN */
+#define XK_Armenian_ken 0x100056f /* U+056F ARMENIAN SMALL LETTER KEN */
+#define XK_Armenian_HO 0x1000540 /* U+0540 ARMENIAN CAPITAL LETTER HO */
+#define XK_Armenian_ho 0x1000570 /* U+0570 ARMENIAN SMALL LETTER HO */
+#define XK_Armenian_DZA 0x1000541 /* U+0541 ARMENIAN CAPITAL LETTER JA */
+#define XK_Armenian_dza 0x1000571 /* U+0571 ARMENIAN SMALL LETTER JA */
+#define XK_Armenian_GHAT 0x1000542 /* U+0542 ARMENIAN CAPITAL LETTER GHAD */
+#define XK_Armenian_ghat 0x1000572 /* U+0572 ARMENIAN SMALL LETTER GHAD */
+#define XK_Armenian_TCHE 0x1000543 /* U+0543 ARMENIAN CAPITAL LETTER CHEH */
+#define XK_Armenian_tche 0x1000573 /* U+0573 ARMENIAN SMALL LETTER CHEH */
+#define XK_Armenian_MEN 0x1000544 /* U+0544 ARMENIAN CAPITAL LETTER MEN */
+#define XK_Armenian_men 0x1000574 /* U+0574 ARMENIAN SMALL LETTER MEN */
+#define XK_Armenian_HI 0x1000545 /* U+0545 ARMENIAN CAPITAL LETTER YI */
+#define XK_Armenian_hi 0x1000575 /* U+0575 ARMENIAN SMALL LETTER YI */
+#define XK_Armenian_NU 0x1000546 /* U+0546 ARMENIAN CAPITAL LETTER NOW */
+#define XK_Armenian_nu 0x1000576 /* U+0576 ARMENIAN SMALL LETTER NOW */
+#define XK_Armenian_SHA 0x1000547 /* U+0547 ARMENIAN CAPITAL LETTER SHA */
+#define XK_Armenian_sha 0x1000577 /* U+0577 ARMENIAN SMALL LETTER SHA */
+#define XK_Armenian_VO 0x1000548 /* U+0548 ARMENIAN CAPITAL LETTER VO */
+#define XK_Armenian_vo 0x1000578 /* U+0578 ARMENIAN SMALL LETTER VO */
+#define XK_Armenian_CHA 0x1000549 /* U+0549 ARMENIAN CAPITAL LETTER CHA */
+#define XK_Armenian_cha 0x1000579 /* U+0579 ARMENIAN SMALL LETTER CHA */
+#define XK_Armenian_PE 0x100054a /* U+054A ARMENIAN CAPITAL LETTER PEH */
+#define XK_Armenian_pe 0x100057a /* U+057A ARMENIAN SMALL LETTER PEH */
+#define XK_Armenian_JE 0x100054b /* U+054B ARMENIAN CAPITAL LETTER JHEH */
+#define XK_Armenian_je 0x100057b /* U+057B ARMENIAN SMALL LETTER JHEH */
+#define XK_Armenian_RA 0x100054c /* U+054C ARMENIAN CAPITAL LETTER RA */
+#define XK_Armenian_ra 0x100057c /* U+057C ARMENIAN SMALL LETTER RA */
+#define XK_Armenian_SE 0x100054d /* U+054D ARMENIAN CAPITAL LETTER SEH */
+#define XK_Armenian_se 0x100057d /* U+057D ARMENIAN SMALL LETTER SEH */
+#define XK_Armenian_VEV 0x100054e /* U+054E ARMENIAN CAPITAL LETTER VEW */
+#define XK_Armenian_vev 0x100057e /* U+057E ARMENIAN SMALL LETTER VEW */
+#define XK_Armenian_TYUN 0x100054f /* U+054F ARMENIAN CAPITAL LETTER TIWN */
+#define XK_Armenian_tyun 0x100057f /* U+057F ARMENIAN SMALL LETTER TIWN */
+#define XK_Armenian_RE 0x1000550 /* U+0550 ARMENIAN CAPITAL LETTER REH */
+#define XK_Armenian_re 0x1000580 /* U+0580 ARMENIAN SMALL LETTER REH */
+#define XK_Armenian_TSO 0x1000551 /* U+0551 ARMENIAN CAPITAL LETTER CO */
+#define XK_Armenian_tso 0x1000581 /* U+0581 ARMENIAN SMALL LETTER CO */
+#define XK_Armenian_VYUN 0x1000552 /* U+0552 ARMENIAN CAPITAL LETTER YIWN */
+#define XK_Armenian_vyun 0x1000582 /* U+0582 ARMENIAN SMALL LETTER YIWN */
+#define XK_Armenian_PYUR 0x1000553 /* U+0553 ARMENIAN CAPITAL LETTER PIWR */
+#define XK_Armenian_pyur 0x1000583 /* U+0583 ARMENIAN SMALL LETTER PIWR */
+#define XK_Armenian_KE 0x1000554 /* U+0554 ARMENIAN CAPITAL LETTER KEH */
+#define XK_Armenian_ke 0x1000584 /* U+0584 ARMENIAN SMALL LETTER KEH */
+#define XK_Armenian_O 0x1000555 /* U+0555 ARMENIAN CAPITAL LETTER OH */
+#define XK_Armenian_o 0x1000585 /* U+0585 ARMENIAN SMALL LETTER OH */
+#define XK_Armenian_FE 0x1000556 /* U+0556 ARMENIAN CAPITAL LETTER FEH */
+#define XK_Armenian_fe 0x1000586 /* U+0586 ARMENIAN SMALL LETTER FEH */
+#define XK_Armenian_apostrophe 0x100055a /* U+055A ARMENIAN APOSTROPHE */
+#endif /* XK_ARMENIAN */
+
+/*
+ * Georgian
+ */
+
+#ifdef XK_GEORGIAN
+#define XK_Georgian_an 0x10010d0 /* U+10D0 GEORGIAN LETTER AN */
+#define XK_Georgian_ban 0x10010d1 /* U+10D1 GEORGIAN LETTER BAN */
+#define XK_Georgian_gan 0x10010d2 /* U+10D2 GEORGIAN LETTER GAN */
+#define XK_Georgian_don 0x10010d3 /* U+10D3 GEORGIAN LETTER DON */
+#define XK_Georgian_en 0x10010d4 /* U+10D4 GEORGIAN LETTER EN */
+#define XK_Georgian_vin 0x10010d5 /* U+10D5 GEORGIAN LETTER VIN */
+#define XK_Georgian_zen 0x10010d6 /* U+10D6 GEORGIAN LETTER ZEN */
+#define XK_Georgian_tan 0x10010d7 /* U+10D7 GEORGIAN LETTER TAN */
+#define XK_Georgian_in 0x10010d8 /* U+10D8 GEORGIAN LETTER IN */
+#define XK_Georgian_kan 0x10010d9 /* U+10D9 GEORGIAN LETTER KAN */
+#define XK_Georgian_las 0x10010da /* U+10DA GEORGIAN LETTER LAS */
+#define XK_Georgian_man 0x10010db /* U+10DB GEORGIAN LETTER MAN */
+#define XK_Georgian_nar 0x10010dc /* U+10DC GEORGIAN LETTER NAR */
+#define XK_Georgian_on 0x10010dd /* U+10DD GEORGIAN LETTER ON */
+#define XK_Georgian_par 0x10010de /* U+10DE GEORGIAN LETTER PAR */
+#define XK_Georgian_zhar 0x10010df /* U+10DF GEORGIAN LETTER ZHAR */
+#define XK_Georgian_rae 0x10010e0 /* U+10E0 GEORGIAN LETTER RAE */
+#define XK_Georgian_san 0x10010e1 /* U+10E1 GEORGIAN LETTER SAN */
+#define XK_Georgian_tar 0x10010e2 /* U+10E2 GEORGIAN LETTER TAR */
+#define XK_Georgian_un 0x10010e3 /* U+10E3 GEORGIAN LETTER UN */
+#define XK_Georgian_phar 0x10010e4 /* U+10E4 GEORGIAN LETTER PHAR */
+#define XK_Georgian_khar 0x10010e5 /* U+10E5 GEORGIAN LETTER KHAR */
+#define XK_Georgian_ghan 0x10010e6 /* U+10E6 GEORGIAN LETTER GHAN */
+#define XK_Georgian_qar 0x10010e7 /* U+10E7 GEORGIAN LETTER QAR */
+#define XK_Georgian_shin 0x10010e8 /* U+10E8 GEORGIAN LETTER SHIN */
+#define XK_Georgian_chin 0x10010e9 /* U+10E9 GEORGIAN LETTER CHIN */
+#define XK_Georgian_can 0x10010ea /* U+10EA GEORGIAN LETTER CAN */
+#define XK_Georgian_jil 0x10010eb /* U+10EB GEORGIAN LETTER JIL */
+#define XK_Georgian_cil 0x10010ec /* U+10EC GEORGIAN LETTER CIL */
+#define XK_Georgian_char 0x10010ed /* U+10ED GEORGIAN LETTER CHAR */
+#define XK_Georgian_xan 0x10010ee /* U+10EE GEORGIAN LETTER XAN */
+#define XK_Georgian_jhan 0x10010ef /* U+10EF GEORGIAN LETTER JHAN */
+#define XK_Georgian_hae 0x10010f0 /* U+10F0 GEORGIAN LETTER HAE */
+#define XK_Georgian_he 0x10010f1 /* U+10F1 GEORGIAN LETTER HE */
+#define XK_Georgian_hie 0x10010f2 /* U+10F2 GEORGIAN LETTER HIE */
+#define XK_Georgian_we 0x10010f3 /* U+10F3 GEORGIAN LETTER WE */
+#define XK_Georgian_har 0x10010f4 /* U+10F4 GEORGIAN LETTER HAR */
+#define XK_Georgian_hoe 0x10010f5 /* U+10F5 GEORGIAN LETTER HOE */
+#define XK_Georgian_fi 0x10010f6 /* U+10F6 GEORGIAN LETTER FI */
+#endif /* XK_GEORGIAN */
+
+/*
+ * Azeri (and other Turkic or Caucasian languages)
+ */
+
+#ifdef XK_CAUCASUS
+/* latin */
+#define XK_Xabovedot 0x1001e8a /* U+1E8A LATIN CAPITAL LETTER X WITH DOT ABOVE */
+#define XK_Ibreve 0x100012c /* U+012C LATIN CAPITAL LETTER I WITH BREVE */
+#define XK_Zstroke 0x10001b5 /* U+01B5 LATIN CAPITAL LETTER Z WITH STROKE */
+#define XK_Gcaron 0x10001e6 /* U+01E6 LATIN CAPITAL LETTER G WITH CARON */
+#define XK_Ocaron 0x10001d1 /* U+01D2 LATIN CAPITAL LETTER O WITH CARON */
+#define XK_Obarred 0x100019f /* U+019F LATIN CAPITAL LETTER O WITH MIDDLE TILDE */
+#define XK_xabovedot 0x1001e8b /* U+1E8B LATIN SMALL LETTER X WITH DOT ABOVE */
+#define XK_ibreve 0x100012d /* U+012D LATIN SMALL LETTER I WITH BREVE */
+#define XK_zstroke 0x10001b6 /* U+01B6 LATIN SMALL LETTER Z WITH STROKE */
+#define XK_gcaron 0x10001e7 /* U+01E7 LATIN SMALL LETTER G WITH CARON */
+#define XK_ocaron 0x10001d2 /* U+01D2 LATIN SMALL LETTER O WITH CARON */
+#define XK_obarred 0x1000275 /* U+0275 LATIN SMALL LETTER BARRED O */
+#define XK_SCHWA 0x100018f /* U+018F LATIN CAPITAL LETTER SCHWA */
+#define XK_schwa 0x1000259 /* U+0259 LATIN SMALL LETTER SCHWA */
+#define XK_EZH 0x10001b7 /* U+01B7 LATIN CAPITAL LETTER EZH */
+#define XK_ezh 0x1000292 /* U+0292 LATIN SMALL LETTER EZH */
+/* those are not really Caucasus */
+/* For Inupiak */
+#define XK_Lbelowdot 0x1001e36 /* U+1E36 LATIN CAPITAL LETTER L WITH DOT BELOW */
+#define XK_lbelowdot 0x1001e37 /* U+1E37 LATIN SMALL LETTER L WITH DOT BELOW */
+#endif /* XK_CAUCASUS */
+
+/*
+ * Vietnamese
+ */
+
+#ifdef XK_VIETNAMESE
+#define XK_Abelowdot 0x1001ea0 /* U+1EA0 LATIN CAPITAL LETTER A WITH DOT BELOW */
+#define XK_abelowdot 0x1001ea1 /* U+1EA1 LATIN SMALL LETTER A WITH DOT BELOW */
+#define XK_Ahook 0x1001ea2 /* U+1EA2 LATIN CAPITAL LETTER A WITH HOOK ABOVE */
+#define XK_ahook 0x1001ea3 /* U+1EA3 LATIN SMALL LETTER A WITH HOOK ABOVE */
+#define XK_Acircumflexacute 0x1001ea4 /* U+1EA4 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE */
+#define XK_acircumflexacute 0x1001ea5 /* U+1EA5 LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE */
+#define XK_Acircumflexgrave 0x1001ea6 /* U+1EA6 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE */
+#define XK_acircumflexgrave 0x1001ea7 /* U+1EA7 LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE */
+#define XK_Acircumflexhook 0x1001ea8 /* U+1EA8 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE */
+#define XK_acircumflexhook 0x1001ea9 /* U+1EA9 LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE */
+#define XK_Acircumflextilde 0x1001eaa /* U+1EAA LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE */
+#define XK_acircumflextilde 0x1001eab /* U+1EAB LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE */
+#define XK_Acircumflexbelowdot 0x1001eac /* U+1EAC LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW */
+#define XK_acircumflexbelowdot 0x1001ead /* U+1EAD LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW */
+#define XK_Abreveacute 0x1001eae /* U+1EAE LATIN CAPITAL LETTER A WITH BREVE AND ACUTE */
+#define XK_abreveacute 0x1001eaf /* U+1EAF LATIN SMALL LETTER A WITH BREVE AND ACUTE */
+#define XK_Abrevegrave 0x1001eb0 /* U+1EB0 LATIN CAPITAL LETTER A WITH BREVE AND GRAVE */
+#define XK_abrevegrave 0x1001eb1 /* U+1EB1 LATIN SMALL LETTER A WITH BREVE AND GRAVE */
+#define XK_Abrevehook 0x1001eb2 /* U+1EB2 LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE */
+#define XK_abrevehook 0x1001eb3 /* U+1EB3 LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE */
+#define XK_Abrevetilde 0x1001eb4 /* U+1EB4 LATIN CAPITAL LETTER A WITH BREVE AND TILDE */
+#define XK_abrevetilde 0x1001eb5 /* U+1EB5 LATIN SMALL LETTER A WITH BREVE AND TILDE */
+#define XK_Abrevebelowdot 0x1001eb6 /* U+1EB6 LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW */
+#define XK_abrevebelowdot 0x1001eb7 /* U+1EB7 LATIN SMALL LETTER A WITH BREVE AND DOT BELOW */
+#define XK_Ebelowdot 0x1001eb8 /* U+1EB8 LATIN CAPITAL LETTER E WITH DOT BELOW */
+#define XK_ebelowdot 0x1001eb9 /* U+1EB9 LATIN SMALL LETTER E WITH DOT BELOW */
+#define XK_Ehook 0x1001eba /* U+1EBA LATIN CAPITAL LETTER E WITH HOOK ABOVE */
+#define XK_ehook 0x1001ebb /* U+1EBB LATIN SMALL LETTER E WITH HOOK ABOVE */
+#define XK_Etilde 0x1001ebc /* U+1EBC LATIN CAPITAL LETTER E WITH TILDE */
+#define XK_etilde 0x1001ebd /* U+1EBD LATIN SMALL LETTER E WITH TILDE */
+#define XK_Ecircumflexacute 0x1001ebe /* U+1EBE LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE */
+#define XK_ecircumflexacute 0x1001ebf /* U+1EBF LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE */
+#define XK_Ecircumflexgrave 0x1001ec0 /* U+1EC0 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE */
+#define XK_ecircumflexgrave 0x1001ec1 /* U+1EC1 LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE */
+#define XK_Ecircumflexhook 0x1001ec2 /* U+1EC2 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE */
+#define XK_ecircumflexhook 0x1001ec3 /* U+1EC3 LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE */
+#define XK_Ecircumflextilde 0x1001ec4 /* U+1EC4 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE */
+#define XK_ecircumflextilde 0x1001ec5 /* U+1EC5 LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE */
+#define XK_Ecircumflexbelowdot 0x1001ec6 /* U+1EC6 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW */
+#define XK_ecircumflexbelowdot 0x1001ec7 /* U+1EC7 LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW */
+#define XK_Ihook 0x1001ec8 /* U+1EC8 LATIN CAPITAL LETTER I WITH HOOK ABOVE */
+#define XK_ihook 0x1001ec9 /* U+1EC9 LATIN SMALL LETTER I WITH HOOK ABOVE */
+#define XK_Ibelowdot 0x1001eca /* U+1ECA LATIN CAPITAL LETTER I WITH DOT BELOW */
+#define XK_ibelowdot 0x1001ecb /* U+1ECB LATIN SMALL LETTER I WITH DOT BELOW */
+#define XK_Obelowdot 0x1001ecc /* U+1ECC LATIN CAPITAL LETTER O WITH DOT BELOW */
+#define XK_obelowdot 0x1001ecd /* U+1ECD LATIN SMALL LETTER O WITH DOT BELOW */
+#define XK_Ohook 0x1001ece /* U+1ECE LATIN CAPITAL LETTER O WITH HOOK ABOVE */
+#define XK_ohook 0x1001ecf /* U+1ECF LATIN SMALL LETTER O WITH HOOK ABOVE */
+#define XK_Ocircumflexacute 0x1001ed0 /* U+1ED0 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE */
+#define XK_ocircumflexacute 0x1001ed1 /* U+1ED1 LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE */
+#define XK_Ocircumflexgrave 0x1001ed2 /* U+1ED2 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE */
+#define XK_ocircumflexgrave 0x1001ed3 /* U+1ED3 LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE */
+#define XK_Ocircumflexhook 0x1001ed4 /* U+1ED4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE */
+#define XK_ocircumflexhook 0x1001ed5 /* U+1ED5 LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE */
+#define XK_Ocircumflextilde 0x1001ed6 /* U+1ED6 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE */
+#define XK_ocircumflextilde 0x1001ed7 /* U+1ED7 LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE */
+#define XK_Ocircumflexbelowdot 0x1001ed8 /* U+1ED8 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW */
+#define XK_ocircumflexbelowdot 0x1001ed9 /* U+1ED9 LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW */
+#define XK_Ohornacute 0x1001eda /* U+1EDA LATIN CAPITAL LETTER O WITH HORN AND ACUTE */
+#define XK_ohornacute 0x1001edb /* U+1EDB LATIN SMALL LETTER O WITH HORN AND ACUTE */
+#define XK_Ohorngrave 0x1001edc /* U+1EDC LATIN CAPITAL LETTER O WITH HORN AND GRAVE */
+#define XK_ohorngrave 0x1001edd /* U+1EDD LATIN SMALL LETTER O WITH HORN AND GRAVE */
+#define XK_Ohornhook 0x1001ede /* U+1EDE LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE */
+#define XK_ohornhook 0x1001edf /* U+1EDF LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE */
+#define XK_Ohorntilde 0x1001ee0 /* U+1EE0 LATIN CAPITAL LETTER O WITH HORN AND TILDE */
+#define XK_ohorntilde 0x1001ee1 /* U+1EE1 LATIN SMALL LETTER O WITH HORN AND TILDE */
+#define XK_Ohornbelowdot 0x1001ee2 /* U+1EE2 LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW */
+#define XK_ohornbelowdot 0x1001ee3 /* U+1EE3 LATIN SMALL LETTER O WITH HORN AND DOT BELOW */
+#define XK_Ubelowdot 0x1001ee4 /* U+1EE4 LATIN CAPITAL LETTER U WITH DOT BELOW */
+#define XK_ubelowdot 0x1001ee5 /* U+1EE5 LATIN SMALL LETTER U WITH DOT BELOW */
+#define XK_Uhook 0x1001ee6 /* U+1EE6 LATIN CAPITAL LETTER U WITH HOOK ABOVE */
+#define XK_uhook 0x1001ee7 /* U+1EE7 LATIN SMALL LETTER U WITH HOOK ABOVE */
+#define XK_Uhornacute 0x1001ee8 /* U+1EE8 LATIN CAPITAL LETTER U WITH HORN AND ACUTE */
+#define XK_uhornacute 0x1001ee9 /* U+1EE9 LATIN SMALL LETTER U WITH HORN AND ACUTE */
+#define XK_Uhorngrave 0x1001eea /* U+1EEA LATIN CAPITAL LETTER U WITH HORN AND GRAVE */
+#define XK_uhorngrave 0x1001eeb /* U+1EEB LATIN SMALL LETTER U WITH HORN AND GRAVE */
+#define XK_Uhornhook 0x1001eec /* U+1EEC LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE */
+#define XK_uhornhook 0x1001eed /* U+1EED LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE */
+#define XK_Uhorntilde 0x1001eee /* U+1EEE LATIN CAPITAL LETTER U WITH HORN AND TILDE */
+#define XK_uhorntilde 0x1001eef /* U+1EEF LATIN SMALL LETTER U WITH HORN AND TILDE */
+#define XK_Uhornbelowdot 0x1001ef0 /* U+1EF0 LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW */
+#define XK_uhornbelowdot 0x1001ef1 /* U+1EF1 LATIN SMALL LETTER U WITH HORN AND DOT BELOW */
+#define XK_Ybelowdot 0x1001ef4 /* U+1EF4 LATIN CAPITAL LETTER Y WITH DOT BELOW */
+#define XK_ybelowdot 0x1001ef5 /* U+1EF5 LATIN SMALL LETTER Y WITH DOT BELOW */
+#define XK_Yhook 0x1001ef6 /* U+1EF6 LATIN CAPITAL LETTER Y WITH HOOK ABOVE */
+#define XK_yhook 0x1001ef7 /* U+1EF7 LATIN SMALL LETTER Y WITH HOOK ABOVE */
+#define XK_Ytilde 0x1001ef8 /* U+1EF8 LATIN CAPITAL LETTER Y WITH TILDE */
+#define XK_ytilde 0x1001ef9 /* U+1EF9 LATIN SMALL LETTER Y WITH TILDE */
+#define XK_Ohorn 0x10001a0 /* U+01A0 LATIN CAPITAL LETTER O WITH HORN */
+#define XK_ohorn 0x10001a1 /* U+01A1 LATIN SMALL LETTER O WITH HORN */
+#define XK_Uhorn 0x10001af /* U+01AF LATIN CAPITAL LETTER U WITH HORN */
+#define XK_uhorn 0x10001b0 /* U+01B0 LATIN SMALL LETTER U WITH HORN */
+
+#endif /* XK_VIETNAMESE */
+
+#ifdef XK_CURRENCY
+#define XK_EcuSign 0x10020a0 /* U+20A0 EURO-CURRENCY SIGN */
+#define XK_ColonSign 0x10020a1 /* U+20A1 COLON SIGN */
+#define XK_CruzeiroSign 0x10020a2 /* U+20A2 CRUZEIRO SIGN */
+#define XK_FFrancSign 0x10020a3 /* U+20A3 FRENCH FRANC SIGN */
+#define XK_LiraSign 0x10020a4 /* U+20A4 LIRA SIGN */
+#define XK_MillSign 0x10020a5 /* U+20A5 MILL SIGN */
+#define XK_NairaSign 0x10020a6 /* U+20A6 NAIRA SIGN */
+#define XK_PesetaSign 0x10020a7 /* U+20A7 PESETA SIGN */
+#define XK_RupeeSign 0x10020a8 /* U+20A8 RUPEE SIGN */
+#define XK_WonSign 0x10020a9 /* U+20A9 WON SIGN */
+#define XK_NewSheqelSign 0x10020aa /* U+20AA NEW SHEQEL SIGN */
+#define XK_DongSign 0x10020ab /* U+20AB DONG SIGN */
+#define XK_EuroSign 0x20ac /* U+20AC EURO SIGN */
+#endif /* XK_CURRENCY */
+
+#ifdef XK_MATHEMATICAL
+/* one, two and three are defined above. */
+#define XK_zerosuperior 0x1002070 /* U+2070 SUPERSCRIPT ZERO */
+#define XK_foursuperior 0x1002074 /* U+2074 SUPERSCRIPT FOUR */
+#define XK_fivesuperior 0x1002075 /* U+2075 SUPERSCRIPT FIVE */
+#define XK_sixsuperior 0x1002076 /* U+2076 SUPERSCRIPT SIX */
+#define XK_sevensuperior 0x1002077 /* U+2077 SUPERSCRIPT SEVEN */
+#define XK_eightsuperior 0x1002078 /* U+2078 SUPERSCRIPT EIGHT */
+#define XK_ninesuperior 0x1002079 /* U+2079 SUPERSCRIPT NINE */
+#define XK_zerosubscript 0x1002080 /* U+2080 SUBSCRIPT ZERO */
+#define XK_onesubscript 0x1002081 /* U+2081 SUBSCRIPT ONE */
+#define XK_twosubscript 0x1002082 /* U+2082 SUBSCRIPT TWO */
+#define XK_threesubscript 0x1002083 /* U+2083 SUBSCRIPT THREE */
+#define XK_foursubscript 0x1002084 /* U+2084 SUBSCRIPT FOUR */
+#define XK_fivesubscript 0x1002085 /* U+2085 SUBSCRIPT FIVE */
+#define XK_sixsubscript 0x1002086 /* U+2086 SUBSCRIPT SIX */
+#define XK_sevensubscript 0x1002087 /* U+2087 SUBSCRIPT SEVEN */
+#define XK_eightsubscript 0x1002088 /* U+2088 SUBSCRIPT EIGHT */
+#define XK_ninesubscript 0x1002089 /* U+2089 SUBSCRIPT NINE */
+#define XK_partdifferential 0x1002202 /* U+2202 PARTIAL DIFFERENTIAL */
+#define XK_emptyset 0x1002205 /* U+2205 NULL SET */
+#define XK_elementof 0x1002208 /* U+2208 ELEMENT OF */
+#define XK_notelementof 0x1002209 /* U+2209 NOT AN ELEMENT OF */
+#define XK_containsas 0x100220B /* U+220B CONTAINS AS MEMBER */
+#define XK_squareroot 0x100221A /* U+221A SQUARE ROOT */
+#define XK_cuberoot 0x100221B /* U+221B CUBE ROOT */
+#define XK_fourthroot 0x100221C /* U+221C FOURTH ROOT */
+#define XK_dintegral 0x100222C /* U+222C DOUBLE INTEGRAL */
+#define XK_tintegral 0x100222D /* U+222D TRIPLE INTEGRAL */
+#define XK_because 0x1002235 /* U+2235 BECAUSE */
+#define XK_approxeq 0x1002248 /* U+2245 ALMOST EQUAL TO */
+#define XK_notapproxeq 0x1002247 /* U+2247 NOT ALMOST EQUAL TO */
+#define XK_notidentical 0x1002262 /* U+2262 NOT IDENTICAL TO */
+#define XK_stricteq 0x1002263 /* U+2263 STRICTLY EQUIVALENT TO */
+#endif /* XK_MATHEMATICAL */
+
+#ifdef XK_BRAILLE
+#define XK_braille_dot_1 0xfff1
+#define XK_braille_dot_2 0xfff2
+#define XK_braille_dot_3 0xfff3
+#define XK_braille_dot_4 0xfff4
+#define XK_braille_dot_5 0xfff5
+#define XK_braille_dot_6 0xfff6
+#define XK_braille_dot_7 0xfff7
+#define XK_braille_dot_8 0xfff8
+#define XK_braille_dot_9 0xfff9
+#define XK_braille_dot_10 0xfffa
+#define XK_braille_blank 0x1002800 /* U+2800 BRAILLE PATTERN BLANK */
+#define XK_braille_dots_1 0x1002801 /* U+2801 BRAILLE PATTERN DOTS-1 */
+#define XK_braille_dots_2 0x1002802 /* U+2802 BRAILLE PATTERN DOTS-2 */
+#define XK_braille_dots_12 0x1002803 /* U+2803 BRAILLE PATTERN DOTS-12 */
+#define XK_braille_dots_3 0x1002804 /* U+2804 BRAILLE PATTERN DOTS-3 */
+#define XK_braille_dots_13 0x1002805 /* U+2805 BRAILLE PATTERN DOTS-13 */
+#define XK_braille_dots_23 0x1002806 /* U+2806 BRAILLE PATTERN DOTS-23 */
+#define XK_braille_dots_123 0x1002807 /* U+2807 BRAILLE PATTERN DOTS-123 */
+#define XK_braille_dots_4 0x1002808 /* U+2808 BRAILLE PATTERN DOTS-4 */
+#define XK_braille_dots_14 0x1002809 /* U+2809 BRAILLE PATTERN DOTS-14 */
+#define XK_braille_dots_24 0x100280a /* U+280a BRAILLE PATTERN DOTS-24 */
+#define XK_braille_dots_124 0x100280b /* U+280b BRAILLE PATTERN DOTS-124 */
+#define XK_braille_dots_34 0x100280c /* U+280c BRAILLE PATTERN DOTS-34 */
+#define XK_braille_dots_134 0x100280d /* U+280d BRAILLE PATTERN DOTS-134 */
+#define XK_braille_dots_234 0x100280e /* U+280e BRAILLE PATTERN DOTS-234 */
+#define XK_braille_dots_1234 0x100280f /* U+280f BRAILLE PATTERN DOTS-1234 */
+#define XK_braille_dots_5 0x1002810 /* U+2810 BRAILLE PATTERN DOTS-5 */
+#define XK_braille_dots_15 0x1002811 /* U+2811 BRAILLE PATTERN DOTS-15 */
+#define XK_braille_dots_25 0x1002812 /* U+2812 BRAILLE PATTERN DOTS-25 */
+#define XK_braille_dots_125 0x1002813 /* U+2813 BRAILLE PATTERN DOTS-125 */
+#define XK_braille_dots_35 0x1002814 /* U+2814 BRAILLE PATTERN DOTS-35 */
+#define XK_braille_dots_135 0x1002815 /* U+2815 BRAILLE PATTERN DOTS-135 */
+#define XK_braille_dots_235 0x1002816 /* U+2816 BRAILLE PATTERN DOTS-235 */
+#define XK_braille_dots_1235 0x1002817 /* U+2817 BRAILLE PATTERN DOTS-1235 */
+#define XK_braille_dots_45 0x1002818 /* U+2818 BRAILLE PATTERN DOTS-45 */
+#define XK_braille_dots_145 0x1002819 /* U+2819 BRAILLE PATTERN DOTS-145 */
+#define XK_braille_dots_245 0x100281a /* U+281a BRAILLE PATTERN DOTS-245 */
+#define XK_braille_dots_1245 0x100281b /* U+281b BRAILLE PATTERN DOTS-1245 */
+#define XK_braille_dots_345 0x100281c /* U+281c BRAILLE PATTERN DOTS-345 */
+#define XK_braille_dots_1345 0x100281d /* U+281d BRAILLE PATTERN DOTS-1345 */
+#define XK_braille_dots_2345 0x100281e /* U+281e BRAILLE PATTERN DOTS-2345 */
+#define XK_braille_dots_12345 0x100281f /* U+281f BRAILLE PATTERN DOTS-12345 */
+#define XK_braille_dots_6 0x1002820 /* U+2820 BRAILLE PATTERN DOTS-6 */
+#define XK_braille_dots_16 0x1002821 /* U+2821 BRAILLE PATTERN DOTS-16 */
+#define XK_braille_dots_26 0x1002822 /* U+2822 BRAILLE PATTERN DOTS-26 */
+#define XK_braille_dots_126 0x1002823 /* U+2823 BRAILLE PATTERN DOTS-126 */
+#define XK_braille_dots_36 0x1002824 /* U+2824 BRAILLE PATTERN DOTS-36 */
+#define XK_braille_dots_136 0x1002825 /* U+2825 BRAILLE PATTERN DOTS-136 */
+#define XK_braille_dots_236 0x1002826 /* U+2826 BRAILLE PATTERN DOTS-236 */
+#define XK_braille_dots_1236 0x1002827 /* U+2827 BRAILLE PATTERN DOTS-1236 */
+#define XK_braille_dots_46 0x1002828 /* U+2828 BRAILLE PATTERN DOTS-46 */
+#define XK_braille_dots_146 0x1002829 /* U+2829 BRAILLE PATTERN DOTS-146 */
+#define XK_braille_dots_246 0x100282a /* U+282a BRAILLE PATTERN DOTS-246 */
+#define XK_braille_dots_1246 0x100282b /* U+282b BRAILLE PATTERN DOTS-1246 */
+#define XK_braille_dots_346 0x100282c /* U+282c BRAILLE PATTERN DOTS-346 */
+#define XK_braille_dots_1346 0x100282d /* U+282d BRAILLE PATTERN DOTS-1346 */
+#define XK_braille_dots_2346 0x100282e /* U+282e BRAILLE PATTERN DOTS-2346 */
+#define XK_braille_dots_12346 0x100282f /* U+282f BRAILLE PATTERN DOTS-12346 */
+#define XK_braille_dots_56 0x1002830 /* U+2830 BRAILLE PATTERN DOTS-56 */
+#define XK_braille_dots_156 0x1002831 /* U+2831 BRAILLE PATTERN DOTS-156 */
+#define XK_braille_dots_256 0x1002832 /* U+2832 BRAILLE PATTERN DOTS-256 */
+#define XK_braille_dots_1256 0x1002833 /* U+2833 BRAILLE PATTERN DOTS-1256 */
+#define XK_braille_dots_356 0x1002834 /* U+2834 BRAILLE PATTERN DOTS-356 */
+#define XK_braille_dots_1356 0x1002835 /* U+2835 BRAILLE PATTERN DOTS-1356 */
+#define XK_braille_dots_2356 0x1002836 /* U+2836 BRAILLE PATTERN DOTS-2356 */
+#define XK_braille_dots_12356 0x1002837 /* U+2837 BRAILLE PATTERN DOTS-12356 */
+#define XK_braille_dots_456 0x1002838 /* U+2838 BRAILLE PATTERN DOTS-456 */
+#define XK_braille_dots_1456 0x1002839 /* U+2839 BRAILLE PATTERN DOTS-1456 */
+#define XK_braille_dots_2456 0x100283a /* U+283a BRAILLE PATTERN DOTS-2456 */
+#define XK_braille_dots_12456 0x100283b /* U+283b BRAILLE PATTERN DOTS-12456 */
+#define XK_braille_dots_3456 0x100283c /* U+283c BRAILLE PATTERN DOTS-3456 */
+#define XK_braille_dots_13456 0x100283d /* U+283d BRAILLE PATTERN DOTS-13456 */
+#define XK_braille_dots_23456 0x100283e /* U+283e BRAILLE PATTERN DOTS-23456 */
+#define XK_braille_dots_123456 0x100283f /* U+283f BRAILLE PATTERN DOTS-123456 */
+#define XK_braille_dots_7 0x1002840 /* U+2840 BRAILLE PATTERN DOTS-7 */
+#define XK_braille_dots_17 0x1002841 /* U+2841 BRAILLE PATTERN DOTS-17 */
+#define XK_braille_dots_27 0x1002842 /* U+2842 BRAILLE PATTERN DOTS-27 */
+#define XK_braille_dots_127 0x1002843 /* U+2843 BRAILLE PATTERN DOTS-127 */
+#define XK_braille_dots_37 0x1002844 /* U+2844 BRAILLE PATTERN DOTS-37 */
+#define XK_braille_dots_137 0x1002845 /* U+2845 BRAILLE PATTERN DOTS-137 */
+#define XK_braille_dots_237 0x1002846 /* U+2846 BRAILLE PATTERN DOTS-237 */
+#define XK_braille_dots_1237 0x1002847 /* U+2847 BRAILLE PATTERN DOTS-1237 */
+#define XK_braille_dots_47 0x1002848 /* U+2848 BRAILLE PATTERN DOTS-47 */
+#define XK_braille_dots_147 0x1002849 /* U+2849 BRAILLE PATTERN DOTS-147 */
+#define XK_braille_dots_247 0x100284a /* U+284a BRAILLE PATTERN DOTS-247 */
+#define XK_braille_dots_1247 0x100284b /* U+284b BRAILLE PATTERN DOTS-1247 */
+#define XK_braille_dots_347 0x100284c /* U+284c BRAILLE PATTERN DOTS-347 */
+#define XK_braille_dots_1347 0x100284d /* U+284d BRAILLE PATTERN DOTS-1347 */
+#define XK_braille_dots_2347 0x100284e /* U+284e BRAILLE PATTERN DOTS-2347 */
+#define XK_braille_dots_12347 0x100284f /* U+284f BRAILLE PATTERN DOTS-12347 */
+#define XK_braille_dots_57 0x1002850 /* U+2850 BRAILLE PATTERN DOTS-57 */
+#define XK_braille_dots_157 0x1002851 /* U+2851 BRAILLE PATTERN DOTS-157 */
+#define XK_braille_dots_257 0x1002852 /* U+2852 BRAILLE PATTERN DOTS-257 */
+#define XK_braille_dots_1257 0x1002853 /* U+2853 BRAILLE PATTERN DOTS-1257 */
+#define XK_braille_dots_357 0x1002854 /* U+2854 BRAILLE PATTERN DOTS-357 */
+#define XK_braille_dots_1357 0x1002855 /* U+2855 BRAILLE PATTERN DOTS-1357 */
+#define XK_braille_dots_2357 0x1002856 /* U+2856 BRAILLE PATTERN DOTS-2357 */
+#define XK_braille_dots_12357 0x1002857 /* U+2857 BRAILLE PATTERN DOTS-12357 */
+#define XK_braille_dots_457 0x1002858 /* U+2858 BRAILLE PATTERN DOTS-457 */
+#define XK_braille_dots_1457 0x1002859 /* U+2859 BRAILLE PATTERN DOTS-1457 */
+#define XK_braille_dots_2457 0x100285a /* U+285a BRAILLE PATTERN DOTS-2457 */
+#define XK_braille_dots_12457 0x100285b /* U+285b BRAILLE PATTERN DOTS-12457 */
+#define XK_braille_dots_3457 0x100285c /* U+285c BRAILLE PATTERN DOTS-3457 */
+#define XK_braille_dots_13457 0x100285d /* U+285d BRAILLE PATTERN DOTS-13457 */
+#define XK_braille_dots_23457 0x100285e /* U+285e BRAILLE PATTERN DOTS-23457 */
+#define XK_braille_dots_123457 0x100285f /* U+285f BRAILLE PATTERN DOTS-123457 */
+#define XK_braille_dots_67 0x1002860 /* U+2860 BRAILLE PATTERN DOTS-67 */
+#define XK_braille_dots_167 0x1002861 /* U+2861 BRAILLE PATTERN DOTS-167 */
+#define XK_braille_dots_267 0x1002862 /* U+2862 BRAILLE PATTERN DOTS-267 */
+#define XK_braille_dots_1267 0x1002863 /* U+2863 BRAILLE PATTERN DOTS-1267 */
+#define XK_braille_dots_367 0x1002864 /* U+2864 BRAILLE PATTERN DOTS-367 */
+#define XK_braille_dots_1367 0x1002865 /* U+2865 BRAILLE PATTERN DOTS-1367 */
+#define XK_braille_dots_2367 0x1002866 /* U+2866 BRAILLE PATTERN DOTS-2367 */
+#define XK_braille_dots_12367 0x1002867 /* U+2867 BRAILLE PATTERN DOTS-12367 */
+#define XK_braille_dots_467 0x1002868 /* U+2868 BRAILLE PATTERN DOTS-467 */
+#define XK_braille_dots_1467 0x1002869 /* U+2869 BRAILLE PATTERN DOTS-1467 */
+#define XK_braille_dots_2467 0x100286a /* U+286a BRAILLE PATTERN DOTS-2467 */
+#define XK_braille_dots_12467 0x100286b /* U+286b BRAILLE PATTERN DOTS-12467 */
+#define XK_braille_dots_3467 0x100286c /* U+286c BRAILLE PATTERN DOTS-3467 */
+#define XK_braille_dots_13467 0x100286d /* U+286d BRAILLE PATTERN DOTS-13467 */
+#define XK_braille_dots_23467 0x100286e /* U+286e BRAILLE PATTERN DOTS-23467 */
+#define XK_braille_dots_123467 0x100286f /* U+286f BRAILLE PATTERN DOTS-123467 */
+#define XK_braille_dots_567 0x1002870 /* U+2870 BRAILLE PATTERN DOTS-567 */
+#define XK_braille_dots_1567 0x1002871 /* U+2871 BRAILLE PATTERN DOTS-1567 */
+#define XK_braille_dots_2567 0x1002872 /* U+2872 BRAILLE PATTERN DOTS-2567 */
+#define XK_braille_dots_12567 0x1002873 /* U+2873 BRAILLE PATTERN DOTS-12567 */
+#define XK_braille_dots_3567 0x1002874 /* U+2874 BRAILLE PATTERN DOTS-3567 */
+#define XK_braille_dots_13567 0x1002875 /* U+2875 BRAILLE PATTERN DOTS-13567 */
+#define XK_braille_dots_23567 0x1002876 /* U+2876 BRAILLE PATTERN DOTS-23567 */
+#define XK_braille_dots_123567 0x1002877 /* U+2877 BRAILLE PATTERN DOTS-123567 */
+#define XK_braille_dots_4567 0x1002878 /* U+2878 BRAILLE PATTERN DOTS-4567 */
+#define XK_braille_dots_14567 0x1002879 /* U+2879 BRAILLE PATTERN DOTS-14567 */
+#define XK_braille_dots_24567 0x100287a /* U+287a BRAILLE PATTERN DOTS-24567 */
+#define XK_braille_dots_124567 0x100287b /* U+287b BRAILLE PATTERN DOTS-124567 */
+#define XK_braille_dots_34567 0x100287c /* U+287c BRAILLE PATTERN DOTS-34567 */
+#define XK_braille_dots_134567 0x100287d /* U+287d BRAILLE PATTERN DOTS-134567 */
+#define XK_braille_dots_234567 0x100287e /* U+287e BRAILLE PATTERN DOTS-234567 */
+#define XK_braille_dots_1234567 0x100287f /* U+287f BRAILLE PATTERN DOTS-1234567 */
+#define XK_braille_dots_8 0x1002880 /* U+2880 BRAILLE PATTERN DOTS-8 */
+#define XK_braille_dots_18 0x1002881 /* U+2881 BRAILLE PATTERN DOTS-18 */
+#define XK_braille_dots_28 0x1002882 /* U+2882 BRAILLE PATTERN DOTS-28 */
+#define XK_braille_dots_128 0x1002883 /* U+2883 BRAILLE PATTERN DOTS-128 */
+#define XK_braille_dots_38 0x1002884 /* U+2884 BRAILLE PATTERN DOTS-38 */
+#define XK_braille_dots_138 0x1002885 /* U+2885 BRAILLE PATTERN DOTS-138 */
+#define XK_braille_dots_238 0x1002886 /* U+2886 BRAILLE PATTERN DOTS-238 */
+#define XK_braille_dots_1238 0x1002887 /* U+2887 BRAILLE PATTERN DOTS-1238 */
+#define XK_braille_dots_48 0x1002888 /* U+2888 BRAILLE PATTERN DOTS-48 */
+#define XK_braille_dots_148 0x1002889 /* U+2889 BRAILLE PATTERN DOTS-148 */
+#define XK_braille_dots_248 0x100288a /* U+288a BRAILLE PATTERN DOTS-248 */
+#define XK_braille_dots_1248 0x100288b /* U+288b BRAILLE PATTERN DOTS-1248 */
+#define XK_braille_dots_348 0x100288c /* U+288c BRAILLE PATTERN DOTS-348 */
+#define XK_braille_dots_1348 0x100288d /* U+288d BRAILLE PATTERN DOTS-1348 */
+#define XK_braille_dots_2348 0x100288e /* U+288e BRAILLE PATTERN DOTS-2348 */
+#define XK_braille_dots_12348 0x100288f /* U+288f BRAILLE PATTERN DOTS-12348 */
+#define XK_braille_dots_58 0x1002890 /* U+2890 BRAILLE PATTERN DOTS-58 */
+#define XK_braille_dots_158 0x1002891 /* U+2891 BRAILLE PATTERN DOTS-158 */
+#define XK_braille_dots_258 0x1002892 /* U+2892 BRAILLE PATTERN DOTS-258 */
+#define XK_braille_dots_1258 0x1002893 /* U+2893 BRAILLE PATTERN DOTS-1258 */
+#define XK_braille_dots_358 0x1002894 /* U+2894 BRAILLE PATTERN DOTS-358 */
+#define XK_braille_dots_1358 0x1002895 /* U+2895 BRAILLE PATTERN DOTS-1358 */
+#define XK_braille_dots_2358 0x1002896 /* U+2896 BRAILLE PATTERN DOTS-2358 */
+#define XK_braille_dots_12358 0x1002897 /* U+2897 BRAILLE PATTERN DOTS-12358 */
+#define XK_braille_dots_458 0x1002898 /* U+2898 BRAILLE PATTERN DOTS-458 */
+#define XK_braille_dots_1458 0x1002899 /* U+2899 BRAILLE PATTERN DOTS-1458 */
+#define XK_braille_dots_2458 0x100289a /* U+289a BRAILLE PATTERN DOTS-2458 */
+#define XK_braille_dots_12458 0x100289b /* U+289b BRAILLE PATTERN DOTS-12458 */
+#define XK_braille_dots_3458 0x100289c /* U+289c BRAILLE PATTERN DOTS-3458 */
+#define XK_braille_dots_13458 0x100289d /* U+289d BRAILLE PATTERN DOTS-13458 */
+#define XK_braille_dots_23458 0x100289e /* U+289e BRAILLE PATTERN DOTS-23458 */
+#define XK_braille_dots_123458 0x100289f /* U+289f BRAILLE PATTERN DOTS-123458 */
+#define XK_braille_dots_68 0x10028a0 /* U+28a0 BRAILLE PATTERN DOTS-68 */
+#define XK_braille_dots_168 0x10028a1 /* U+28a1 BRAILLE PATTERN DOTS-168 */
+#define XK_braille_dots_268 0x10028a2 /* U+28a2 BRAILLE PATTERN DOTS-268 */
+#define XK_braille_dots_1268 0x10028a3 /* U+28a3 BRAILLE PATTERN DOTS-1268 */
+#define XK_braille_dots_368 0x10028a4 /* U+28a4 BRAILLE PATTERN DOTS-368 */
+#define XK_braille_dots_1368 0x10028a5 /* U+28a5 BRAILLE PATTERN DOTS-1368 */
+#define XK_braille_dots_2368 0x10028a6 /* U+28a6 BRAILLE PATTERN DOTS-2368 */
+#define XK_braille_dots_12368 0x10028a7 /* U+28a7 BRAILLE PATTERN DOTS-12368 */
+#define XK_braille_dots_468 0x10028a8 /* U+28a8 BRAILLE PATTERN DOTS-468 */
+#define XK_braille_dots_1468 0x10028a9 /* U+28a9 BRAILLE PATTERN DOTS-1468 */
+#define XK_braille_dots_2468 0x10028aa /* U+28aa BRAILLE PATTERN DOTS-2468 */
+#define XK_braille_dots_12468 0x10028ab /* U+28ab BRAILLE PATTERN DOTS-12468 */
+#define XK_braille_dots_3468 0x10028ac /* U+28ac BRAILLE PATTERN DOTS-3468 */
+#define XK_braille_dots_13468 0x10028ad /* U+28ad BRAILLE PATTERN DOTS-13468 */
+#define XK_braille_dots_23468 0x10028ae /* U+28ae BRAILLE PATTERN DOTS-23468 */
+#define XK_braille_dots_123468 0x10028af /* U+28af BRAILLE PATTERN DOTS-123468 */
+#define XK_braille_dots_568 0x10028b0 /* U+28b0 BRAILLE PATTERN DOTS-568 */
+#define XK_braille_dots_1568 0x10028b1 /* U+28b1 BRAILLE PATTERN DOTS-1568 */
+#define XK_braille_dots_2568 0x10028b2 /* U+28b2 BRAILLE PATTERN DOTS-2568 */
+#define XK_braille_dots_12568 0x10028b3 /* U+28b3 BRAILLE PATTERN DOTS-12568 */
+#define XK_braille_dots_3568 0x10028b4 /* U+28b4 BRAILLE PATTERN DOTS-3568 */
+#define XK_braille_dots_13568 0x10028b5 /* U+28b5 BRAILLE PATTERN DOTS-13568 */
+#define XK_braille_dots_23568 0x10028b6 /* U+28b6 BRAILLE PATTERN DOTS-23568 */
+#define XK_braille_dots_123568 0x10028b7 /* U+28b7 BRAILLE PATTERN DOTS-123568 */
+#define XK_braille_dots_4568 0x10028b8 /* U+28b8 BRAILLE PATTERN DOTS-4568 */
+#define XK_braille_dots_14568 0x10028b9 /* U+28b9 BRAILLE PATTERN DOTS-14568 */
+#define XK_braille_dots_24568 0x10028ba /* U+28ba BRAILLE PATTERN DOTS-24568 */
+#define XK_braille_dots_124568 0x10028bb /* U+28bb BRAILLE PATTERN DOTS-124568 */
+#define XK_braille_dots_34568 0x10028bc /* U+28bc BRAILLE PATTERN DOTS-34568 */
+#define XK_braille_dots_134568 0x10028bd /* U+28bd BRAILLE PATTERN DOTS-134568 */
+#define XK_braille_dots_234568 0x10028be /* U+28be BRAILLE PATTERN DOTS-234568 */
+#define XK_braille_dots_1234568 0x10028bf /* U+28bf BRAILLE PATTERN DOTS-1234568 */
+#define XK_braille_dots_78 0x10028c0 /* U+28c0 BRAILLE PATTERN DOTS-78 */
+#define XK_braille_dots_178 0x10028c1 /* U+28c1 BRAILLE PATTERN DOTS-178 */
+#define XK_braille_dots_278 0x10028c2 /* U+28c2 BRAILLE PATTERN DOTS-278 */
+#define XK_braille_dots_1278 0x10028c3 /* U+28c3 BRAILLE PATTERN DOTS-1278 */
+#define XK_braille_dots_378 0x10028c4 /* U+28c4 BRAILLE PATTERN DOTS-378 */
+#define XK_braille_dots_1378 0x10028c5 /* U+28c5 BRAILLE PATTERN DOTS-1378 */
+#define XK_braille_dots_2378 0x10028c6 /* U+28c6 BRAILLE PATTERN DOTS-2378 */
+#define XK_braille_dots_12378 0x10028c7 /* U+28c7 BRAILLE PATTERN DOTS-12378 */
+#define XK_braille_dots_478 0x10028c8 /* U+28c8 BRAILLE PATTERN DOTS-478 */
+#define XK_braille_dots_1478 0x10028c9 /* U+28c9 BRAILLE PATTERN DOTS-1478 */
+#define XK_braille_dots_2478 0x10028ca /* U+28ca BRAILLE PATTERN DOTS-2478 */
+#define XK_braille_dots_12478 0x10028cb /* U+28cb BRAILLE PATTERN DOTS-12478 */
+#define XK_braille_dots_3478 0x10028cc /* U+28cc BRAILLE PATTERN DOTS-3478 */
+#define XK_braille_dots_13478 0x10028cd /* U+28cd BRAILLE PATTERN DOTS-13478 */
+#define XK_braille_dots_23478 0x10028ce /* U+28ce BRAILLE PATTERN DOTS-23478 */
+#define XK_braille_dots_123478 0x10028cf /* U+28cf BRAILLE PATTERN DOTS-123478 */
+#define XK_braille_dots_578 0x10028d0 /* U+28d0 BRAILLE PATTERN DOTS-578 */
+#define XK_braille_dots_1578 0x10028d1 /* U+28d1 BRAILLE PATTERN DOTS-1578 */
+#define XK_braille_dots_2578 0x10028d2 /* U+28d2 BRAILLE PATTERN DOTS-2578 */
+#define XK_braille_dots_12578 0x10028d3 /* U+28d3 BRAILLE PATTERN DOTS-12578 */
+#define XK_braille_dots_3578 0x10028d4 /* U+28d4 BRAILLE PATTERN DOTS-3578 */
+#define XK_braille_dots_13578 0x10028d5 /* U+28d5 BRAILLE PATTERN DOTS-13578 */
+#define XK_braille_dots_23578 0x10028d6 /* U+28d6 BRAILLE PATTERN DOTS-23578 */
+#define XK_braille_dots_123578 0x10028d7 /* U+28d7 BRAILLE PATTERN DOTS-123578 */
+#define XK_braille_dots_4578 0x10028d8 /* U+28d8 BRAILLE PATTERN DOTS-4578 */
+#define XK_braille_dots_14578 0x10028d9 /* U+28d9 BRAILLE PATTERN DOTS-14578 */
+#define XK_braille_dots_24578 0x10028da /* U+28da BRAILLE PATTERN DOTS-24578 */
+#define XK_braille_dots_124578 0x10028db /* U+28db BRAILLE PATTERN DOTS-124578 */
+#define XK_braille_dots_34578 0x10028dc /* U+28dc BRAILLE PATTERN DOTS-34578 */
+#define XK_braille_dots_134578 0x10028dd /* U+28dd BRAILLE PATTERN DOTS-134578 */
+#define XK_braille_dots_234578 0x10028de /* U+28de BRAILLE PATTERN DOTS-234578 */
+#define XK_braille_dots_1234578 0x10028df /* U+28df BRAILLE PATTERN DOTS-1234578 */
+#define XK_braille_dots_678 0x10028e0 /* U+28e0 BRAILLE PATTERN DOTS-678 */
+#define XK_braille_dots_1678 0x10028e1 /* U+28e1 BRAILLE PATTERN DOTS-1678 */
+#define XK_braille_dots_2678 0x10028e2 /* U+28e2 BRAILLE PATTERN DOTS-2678 */
+#define XK_braille_dots_12678 0x10028e3 /* U+28e3 BRAILLE PATTERN DOTS-12678 */
+#define XK_braille_dots_3678 0x10028e4 /* U+28e4 BRAILLE PATTERN DOTS-3678 */
+#define XK_braille_dots_13678 0x10028e5 /* U+28e5 BRAILLE PATTERN DOTS-13678 */
+#define XK_braille_dots_23678 0x10028e6 /* U+28e6 BRAILLE PATTERN DOTS-23678 */
+#define XK_braille_dots_123678 0x10028e7 /* U+28e7 BRAILLE PATTERN DOTS-123678 */
+#define XK_braille_dots_4678 0x10028e8 /* U+28e8 BRAILLE PATTERN DOTS-4678 */
+#define XK_braille_dots_14678 0x10028e9 /* U+28e9 BRAILLE PATTERN DOTS-14678 */
+#define XK_braille_dots_24678 0x10028ea /* U+28ea BRAILLE PATTERN DOTS-24678 */
+#define XK_braille_dots_124678 0x10028eb /* U+28eb BRAILLE PATTERN DOTS-124678 */
+#define XK_braille_dots_34678 0x10028ec /* U+28ec BRAILLE PATTERN DOTS-34678 */
+#define XK_braille_dots_134678 0x10028ed /* U+28ed BRAILLE PATTERN DOTS-134678 */
+#define XK_braille_dots_234678 0x10028ee /* U+28ee BRAILLE PATTERN DOTS-234678 */
+#define XK_braille_dots_1234678 0x10028ef /* U+28ef BRAILLE PATTERN DOTS-1234678 */
+#define XK_braille_dots_5678 0x10028f0 /* U+28f0 BRAILLE PATTERN DOTS-5678 */
+#define XK_braille_dots_15678 0x10028f1 /* U+28f1 BRAILLE PATTERN DOTS-15678 */
+#define XK_braille_dots_25678 0x10028f2 /* U+28f2 BRAILLE PATTERN DOTS-25678 */
+#define XK_braille_dots_125678 0x10028f3 /* U+28f3 BRAILLE PATTERN DOTS-125678 */
+#define XK_braille_dots_35678 0x10028f4 /* U+28f4 BRAILLE PATTERN DOTS-35678 */
+#define XK_braille_dots_135678 0x10028f5 /* U+28f5 BRAILLE PATTERN DOTS-135678 */
+#define XK_braille_dots_235678 0x10028f6 /* U+28f6 BRAILLE PATTERN DOTS-235678 */
+#define XK_braille_dots_1235678 0x10028f7 /* U+28f7 BRAILLE PATTERN DOTS-1235678 */
+#define XK_braille_dots_45678 0x10028f8 /* U+28f8 BRAILLE PATTERN DOTS-45678 */
+#define XK_braille_dots_145678 0x10028f9 /* U+28f9 BRAILLE PATTERN DOTS-145678 */
+#define XK_braille_dots_245678 0x10028fa /* U+28fa BRAILLE PATTERN DOTS-245678 */
+#define XK_braille_dots_1245678 0x10028fb /* U+28fb BRAILLE PATTERN DOTS-1245678 */
+#define XK_braille_dots_345678 0x10028fc /* U+28fc BRAILLE PATTERN DOTS-345678 */
+#define XK_braille_dots_1345678 0x10028fd /* U+28fd BRAILLE PATTERN DOTS-1345678 */
+#define XK_braille_dots_2345678 0x10028fe /* U+28fe BRAILLE PATTERN DOTS-2345678 */
+#define XK_braille_dots_12345678 0x10028ff /* U+28ff BRAILLE PATTERN DOTS-12345678 */
+#endif /* XK_BRAILLE */
+
+/*
+ * Sinhala (http://unicode.org/charts/PDF/U0D80.pdf)
+ * http://www.nongnu.org/sinhala/doc/transliteration/sinhala-transliteration_6.html
+ */
+
+#ifdef XK_SINHALA
+#define XK_Sinh_ng 0x1000d82 /* U+0D82 SINHALA ANUSVARAYA */
+#define XK_Sinh_h2 0x1000d83 /* U+0D83 SINHALA VISARGAYA */
+#define XK_Sinh_a 0x1000d85 /* U+0D85 SINHALA AYANNA */
+#define XK_Sinh_aa 0x1000d86 /* U+0D86 SINHALA AAYANNA */
+#define XK_Sinh_ae 0x1000d87 /* U+0D87 SINHALA AEYANNA */
+#define XK_Sinh_aee 0x1000d88 /* U+0D88 SINHALA AEEYANNA */
+#define XK_Sinh_i 0x1000d89 /* U+0D89 SINHALA IYANNA */
+#define XK_Sinh_ii 0x1000d8a /* U+0D8A SINHALA IIYANNA */
+#define XK_Sinh_u 0x1000d8b /* U+0D8B SINHALA UYANNA */
+#define XK_Sinh_uu 0x1000d8c /* U+0D8C SINHALA UUYANNA */
+#define XK_Sinh_ri 0x1000d8d /* U+0D8D SINHALA IRUYANNA */
+#define XK_Sinh_rii 0x1000d8e /* U+0D8E SINHALA IRUUYANNA */
+#define XK_Sinh_lu 0x1000d8f /* U+0D8F SINHALA ILUYANNA */
+#define XK_Sinh_luu 0x1000d90 /* U+0D90 SINHALA ILUUYANNA */
+#define XK_Sinh_e 0x1000d91 /* U+0D91 SINHALA EYANNA */
+#define XK_Sinh_ee 0x1000d92 /* U+0D92 SINHALA EEYANNA */
+#define XK_Sinh_ai 0x1000d93 /* U+0D93 SINHALA AIYANNA */
+#define XK_Sinh_o 0x1000d94 /* U+0D94 SINHALA OYANNA */
+#define XK_Sinh_oo 0x1000d95 /* U+0D95 SINHALA OOYANNA */
+#define XK_Sinh_au 0x1000d96 /* U+0D96 SINHALA AUYANNA */
+#define XK_Sinh_ka 0x1000d9a /* U+0D9A SINHALA KAYANNA */
+#define XK_Sinh_kha 0x1000d9b /* U+0D9B SINHALA MAHA. KAYANNA */
+#define XK_Sinh_ga 0x1000d9c /* U+0D9C SINHALA GAYANNA */
+#define XK_Sinh_gha 0x1000d9d /* U+0D9D SINHALA MAHA. GAYANNA */
+#define XK_Sinh_ng2 0x1000d9e /* U+0D9E SINHALA KANTAJA NAASIKYAYA */
+#define XK_Sinh_nga 0x1000d9f /* U+0D9F SINHALA SANYAKA GAYANNA */
+#define XK_Sinh_ca 0x1000da0 /* U+0DA0 SINHALA CAYANNA */
+#define XK_Sinh_cha 0x1000da1 /* U+0DA1 SINHALA MAHA. CAYANNA */
+#define XK_Sinh_ja 0x1000da2 /* U+0DA2 SINHALA JAYANNA */
+#define XK_Sinh_jha 0x1000da3 /* U+0DA3 SINHALA MAHA. JAYANNA */
+#define XK_Sinh_nya 0x1000da4 /* U+0DA4 SINHALA TAALUJA NAASIKYAYA */
+#define XK_Sinh_jnya 0x1000da5 /* U+0DA5 SINHALA TAALUJA SANYOOGA NAASIKYAYA */
+#define XK_Sinh_nja 0x1000da6 /* U+0DA6 SINHALA SANYAKA JAYANNA */
+#define XK_Sinh_tta 0x1000da7 /* U+0DA7 SINHALA TTAYANNA */
+#define XK_Sinh_ttha 0x1000da8 /* U+0DA8 SINHALA MAHA. TTAYANNA */
+#define XK_Sinh_dda 0x1000da9 /* U+0DA9 SINHALA DDAYANNA */
+#define XK_Sinh_ddha 0x1000daa /* U+0DAA SINHALA MAHA. DDAYANNA */
+#define XK_Sinh_nna 0x1000dab /* U+0DAB SINHALA MUURDHAJA NAYANNA */
+#define XK_Sinh_ndda 0x1000dac /* U+0DAC SINHALA SANYAKA DDAYANNA */
+#define XK_Sinh_tha 0x1000dad /* U+0DAD SINHALA TAYANNA */
+#define XK_Sinh_thha 0x1000dae /* U+0DAE SINHALA MAHA. TAYANNA */
+#define XK_Sinh_dha 0x1000daf /* U+0DAF SINHALA DAYANNA */
+#define XK_Sinh_dhha 0x1000db0 /* U+0DB0 SINHALA MAHA. DAYANNA */
+#define XK_Sinh_na 0x1000db1 /* U+0DB1 SINHALA DANTAJA NAYANNA */
+#define XK_Sinh_ndha 0x1000db3 /* U+0DB3 SINHALA SANYAKA DAYANNA */
+#define XK_Sinh_pa 0x1000db4 /* U+0DB4 SINHALA PAYANNA */
+#define XK_Sinh_pha 0x1000db5 /* U+0DB5 SINHALA MAHA. PAYANNA */
+#define XK_Sinh_ba 0x1000db6 /* U+0DB6 SINHALA BAYANNA */
+#define XK_Sinh_bha 0x1000db7 /* U+0DB7 SINHALA MAHA. BAYANNA */
+#define XK_Sinh_ma 0x1000db8 /* U+0DB8 SINHALA MAYANNA */
+#define XK_Sinh_mba 0x1000db9 /* U+0DB9 SINHALA AMBA BAYANNA */
+#define XK_Sinh_ya 0x1000dba /* U+0DBA SINHALA YAYANNA */
+#define XK_Sinh_ra 0x1000dbb /* U+0DBB SINHALA RAYANNA */
+#define XK_Sinh_la 0x1000dbd /* U+0DBD SINHALA DANTAJA LAYANNA */
+#define XK_Sinh_va 0x1000dc0 /* U+0DC0 SINHALA VAYANNA */
+#define XK_Sinh_sha 0x1000dc1 /* U+0DC1 SINHALA TAALUJA SAYANNA */
+#define XK_Sinh_ssha 0x1000dc2 /* U+0DC2 SINHALA MUURDHAJA SAYANNA */
+#define XK_Sinh_sa 0x1000dc3 /* U+0DC3 SINHALA DANTAJA SAYANNA */
+#define XK_Sinh_ha 0x1000dc4 /* U+0DC4 SINHALA HAYANNA */
+#define XK_Sinh_lla 0x1000dc5 /* U+0DC5 SINHALA MUURDHAJA LAYANNA */
+#define XK_Sinh_fa 0x1000dc6 /* U+0DC6 SINHALA FAYANNA */
+#define XK_Sinh_al 0x1000dca /* U+0DCA SINHALA AL-LAKUNA */
+#define XK_Sinh_aa2 0x1000dcf /* U+0DCF SINHALA AELA-PILLA */
+#define XK_Sinh_ae2 0x1000dd0 /* U+0DD0 SINHALA AEDA-PILLA */
+#define XK_Sinh_aee2 0x1000dd1 /* U+0DD1 SINHALA DIGA AEDA-PILLA */
+#define XK_Sinh_i2 0x1000dd2 /* U+0DD2 SINHALA IS-PILLA */
+#define XK_Sinh_ii2 0x1000dd3 /* U+0DD3 SINHALA DIGA IS-PILLA */
+#define XK_Sinh_u2 0x1000dd4 /* U+0DD4 SINHALA PAA-PILLA */
+#define XK_Sinh_uu2 0x1000dd6 /* U+0DD6 SINHALA DIGA PAA-PILLA */
+#define XK_Sinh_ru2 0x1000dd8 /* U+0DD8 SINHALA GAETTA-PILLA */
+#define XK_Sinh_e2 0x1000dd9 /* U+0DD9 SINHALA KOMBUVA */
+#define XK_Sinh_ee2 0x1000dda /* U+0DDA SINHALA DIGA KOMBUVA */
+#define XK_Sinh_ai2 0x1000ddb /* U+0DDB SINHALA KOMBU DEKA */
+#define XK_Sinh_o2 0x1000ddc /* U+0DDC SINHALA KOMBUVA HAA AELA-PILLA*/
+#define XK_Sinh_oo2 0x1000ddd /* U+0DDD SINHALA KOMBUVA HAA DIGA AELA-PILLA*/
+#define XK_Sinh_au2 0x1000dde /* U+0DDE SINHALA KOMBUVA HAA GAYANUKITTA */
+#define XK_Sinh_lu2 0x1000ddf /* U+0DDF SINHALA GAYANUKITTA */
+#define XK_Sinh_ruu2 0x1000df2 /* U+0DF2 SINHALA DIGA GAETTA-PILLA */
+#define XK_Sinh_luu2 0x1000df3 /* U+0DF3 SINHALA DIGA GAYANUKITTA */
+#define XK_Sinh_kunddaliya 0x1000df4 /* U+0DF4 SINHALA KUNDDALIYA */
+#endif /* XK_SINHALA */
diff --git a/stream-servers/apigen-codec-common/X11Support.cpp b/stream-servers/apigen-codec-common/X11Support.cpp
new file mode 100644
index 0000000..e4a5787
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11Support.cpp
@@ -0,0 +1,81 @@
+#include "X11Support.h"
+
+#include "base/SharedLibrary.h"
+
+#define DEFINE_DUMMY_IMPL(rettype, funcname, args) \
+ static rettype dummy_##funcname args { \
+ return (rettype)0; \
+ } \
+
+LIST_XLIB_FUNCTYPES(DEFINE_DUMMY_IMPL)
+LIST_GLX_FUNCTYPES(DEFINE_DUMMY_IMPL)
+
+class X11FunctionGetter {
+ public:
+ X11FunctionGetter() :
+ mX11Lib(android::base::SharedLibrary::open("libX11")),
+ mXextLib(android::base::SharedLibrary::open("libXext")) {
+
+#define X11_ASSIGN_DUMMY_IMPL(funcname) mApi.funcname = dummy_##funcname;
+
+ LIST_XLIB_FUNCS(X11_ASSIGN_DUMMY_IMPL)
+
+ if (!mX11Lib) return;
+ if (!mXextLib) return;
+
+#define X11_GET_FUNC(funcname) \
+ { \
+ auto f = mX11Lib->findSymbol(#funcname); \
+ if (f) mApi.funcname = (funcname##_t)f; \
+ } \
+
+ LIST_XLIB_FUNCS(X11_GET_FUNC);
+
+ }
+
+ X11Api* getApi() { return &mApi; }
+ private:
+ android::base::SharedLibrary* mX11Lib;
+ android::base::SharedLibrary* mXextLib;
+
+ X11Api mApi;
+};
+
+class GlxFunctionGetter {
+ public:
+ GlxFunctionGetter() :
+ mGlxLib(android::base::SharedLibrary::open("libGL")) {
+
+#define GLX_ASSIGN_DUMMY_IMPL(funcname) mApi.funcname = dummy_##funcname;
+
+ LIST_GLX_FUNCS(GLX_ASSIGN_DUMMY_IMPL)
+
+ if (!mGlxLib) return;
+
+#define GLX_GET_FUNC(funcname) \
+ { \
+ auto f = mGlxLib->findSymbol(#funcname); \
+ if (f) mApi.funcname = (funcname##_t)f; \
+ } \
+
+ LIST_GLX_FUNCS(GLX_GET_FUNC);
+
+ }
+
+ GlxApi* getApi() { return &mApi; }
+
+ private:
+ android::base::SharedLibrary* mGlxLib;
+
+ GlxApi mApi;
+};
+
+struct X11Api* getX11Api() {
+ static X11FunctionGetter* g = new X11FunctionGetter;
+ return g->getApi();
+}
+
+struct GlxApi* getGlxApi() {
+ static GlxFunctionGetter* g = new GlxFunctionGetter;
+ return g->getApi();
+}
diff --git a/stream-servers/apigen-codec-common/X11Support.h b/stream-servers/apigen-codec-common/X11Support.h
new file mode 100644
index 0000000..a61a922
--- /dev/null
+++ b/stream-servers/apigen-codec-common/X11Support.h
@@ -0,0 +1,139 @@
+#pragma once
+
+#include <X11/Xlib.h>
+#include <GL/glx.h>
+
+// GLX
+#define LIST_GLX_FUNCS(f) \
+ f(glXQueryVersion) \
+ f(glXGetFBConfigs) \
+ f(glXGetFBConfigAttrib) \
+ f(glXCreatePbuffer) \
+ f(glXDestroyPbuffer) \
+ f(glXCreateNewContext) \
+ f(glXDestroyContext) \
+ f(glXMakeContextCurrent) \
+ f(glXSwapBuffers) \
+
+#define LIST_GLX_FUNCTYPES(f) \
+f( Bool, glXQueryVersion, ( Display *dpy, int *maj, int *min )) \
+f( GLXFBConfig*, glXGetFBConfigs, ( Display *dpy, int screen, int *nelements )) \
+f( int, glXGetFBConfigAttrib, ( Display *dpy, GLXFBConfig config, int attribute, int *value )) \
+f( GLXPbuffer, glXCreatePbuffer, ( Display *dpy, GLXFBConfig config, const int *attribList )) \
+f( void, glXDestroyPbuffer, ( Display *dpy, GLXPbuffer pbuf )) \
+f( GLXContext, glXCreateNewContext, ( Display *dpy, GLXFBConfig config, int renderType, GLXContext shareList, Bool direct )) \
+f( void, glXDestroyContext, ( Display *dpy, GLXContext ctx )) \
+f( Bool, glXMakeContextCurrent, ( Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx )) \
+f( void, glXSwapBuffers, (Display *dpy, GLXDrawable drawable )) \
+
+// X11
+#define LIST_XLIB_FUNCS(f) \
+ f(XOpenDisplay) \
+ f(XCreateWindow) \
+ f(XMapWindow) \
+ f(XSetWindowBackground) \
+ f(XIfEvent) \
+ f(XDestroyWindow) \
+ f(XGetWindowAttributes) \
+ f(XSetWindowBackgroundPixmap) \
+ f(XMoveResizeWindow) \
+ f(XCloseDisplay) \
+ f(XGetGeometry) \
+ f(XFree) \
+ f(XSync) \
+ f(XSetErrorHandler) \
+
+#define LIST_XLIB_FUNCTYPES(f) \
+f( Display*, XOpenDisplay, (_Xconst char*)) \
+f( Window, XCreateWindow, ( \
+ Display* /* display */, \
+ Window /* parent */, \
+ int /* x */, \
+ int /* y */, \
+ unsigned int /* width */, \
+ unsigned int /* height */, \
+ unsigned int /* border_width */, \
+ int /* depth */, \
+ unsigned int /* class */, \
+ Visual* /* visual */, \
+ unsigned long /* valuemask */, \
+ XSetWindowAttributes* /* attributes */)) \
+f( int, XMapWindow, ( \
+ Display* /* display */, \
+ Window /* w */ \
+ )) \
+f( int, XSetWindowBackground, ( \
+ Display* /* display */, \
+ Window /* w */, \
+ unsigned long /* background_pixel */ \
+ )) \
+f( int, XIfEvent, ( \
+ Display* /* display */, \
+ XEvent* /* event_return */, \
+ Bool (*) ( \
+ Display* /* display */, \
+ XEvent* /* event */, \
+ XPointer /* arg */ \
+ ) /* predicate */, \
+ XPointer /* arg */ \
+ )) \
+f( int, XDestroyWindow, ( \
+ Display* /* display */, \
+ Window /* w */ \
+ )) \
+f( Status, XGetWindowAttributes, ( \
+ Display* /* display */, \
+ Window /* w */, \
+ XWindowAttributes* /* window_attributes_return */ \
+ )) \
+f( int, XSetWindowBackgroundPixmap, ( \
+ Display* /* display */, \
+ Window /* w */, \
+ Pixmap /* background_pixmap */ \
+ )) \
+f( int, XMoveResizeWindow, ( \
+ Display* /* display */, \
+ Window /* w */, \
+ int /* x */, \
+ int /* y */, \
+ unsigned int /* width */, \
+ unsigned int /* height */ \
+ )) \
+f( int, XCloseDisplay, ( \
+ Display* /* display */ \
+ )) \
+f( Status, XGetGeometry, ( \
+ Display* /* display */, \
+ Drawable /* d */, \
+ Window* /* root_return */, \
+ int* /* x_return */, \
+ int* /* y_return */, \
+ unsigned int* /* width_return */, \
+ unsigned int* /* height_return */, \
+ unsigned int* /* border_width_return */, \
+ unsigned int* /* depth_return */ \
+ )) \
+f( int, XFree, (void*)) \
+f( int, XSync, (Display*, Bool)) \
+f( XErrorHandler, XSetErrorHandler, (XErrorHandler)) \
+
+#define DECLARE_FUNCTION_TYPEDEF(rettype, name, args) \
+ typedef rettype (*name##_t)args;
+
+#define DECLARE_API_STRUCT_MEMBER(funcname) \
+ funcname##_t funcname;
+
+LIST_XLIB_FUNCTYPES(DECLARE_FUNCTION_TYPEDEF)
+
+LIST_GLX_FUNCTYPES(DECLARE_FUNCTION_TYPEDEF)
+
+struct X11Api {
+LIST_XLIB_FUNCS(DECLARE_API_STRUCT_MEMBER)
+};
+
+struct GlxApi {
+LIST_GLX_FUNCS(DECLARE_API_STRUCT_MEMBER)
+};
+
+struct X11Api* getX11Api();
+struct GlxApi* getGlxApi();
diff --git a/stream-servers/compressedTextureFormats/Android.bp b/stream-servers/compressedTextureFormats/Android.bp
new file mode 100644
index 0000000..294943d
--- /dev/null
+++ b/stream-servers/compressedTextureFormats/Android.bp
@@ -0,0 +1,5 @@
+cc_library_static {
+ name: "gfxstream_compressedTextures",
+ defaults: [ "gfxstream_defaults" ],
+ srcs: [ "etc.cpp", ],
+}
diff --git a/stream-servers/gles1_dec/Android.bp b/stream-servers/gles1_dec/Android.bp
new file mode 100644
index 0000000..51fe9b1
--- /dev/null
+++ b/stream-servers/gles1_dec/Android.bp
@@ -0,0 +1,13 @@
+cc_library_static {
+ name: "gfxstream_gles1_dec",
+ defaults: [ "gfxstream_defaults" ],
+ static_libs: [
+ "gfxstream_apigen_codec_common",
+ "gfxstream_glsnapshot",
+ ],
+ srcs: [
+ "gles1_dec.cpp",
+ "gles1_server_context.cpp",
+ "GLESv1Decoder.cpp",
+ ],
+}
diff --git a/stream-servers/gles2_dec/Android.bp b/stream-servers/gles2_dec/Android.bp
new file mode 100644
index 0000000..ac50c44
--- /dev/null
+++ b/stream-servers/gles2_dec/Android.bp
@@ -0,0 +1,13 @@
+cc_library_static {
+ name: "gfxstream_gles2_dec",
+ defaults: [ "gfxstream_defaults" ],
+ static_libs: [
+ "gfxstream_apigen_codec_common",
+ "gfxstream_glsnapshot",
+ ],
+ srcs: [
+ "gles2_dec.cpp",
+ "gles2_server_context.cpp",
+ "GLESv2Decoder.cpp",
+ ],
+}
diff --git a/stream-servers/glestranslator/EGL/Android.bp b/stream-servers/glestranslator/EGL/Android.bp
new file mode 100644
index 0000000..074ce47
--- /dev/null
+++ b/stream-servers/glestranslator/EGL/Android.bp
@@ -0,0 +1,35 @@
+cc_library_static {
+ name: "gfxstream_translator_egl",
+ defaults: [ "gfxstream_defaults" ],
+ static_libs: [
+ "gfxstream_base",
+ "gfxstream_astc_codec",
+ "gfxstream_apigen_codec_common",
+ "gfxstream_translator_glcommon",
+ "gfxstream_translator_glescm",
+ "gfxstream_translator_glesv2",
+ ],
+ cflags: [
+ "-fvisibility=hidden",
+ "-Wno-inconsistent-missing-override",
+ ],
+ srcs:
+ [
+ "ClientAPIExts.cpp",
+ "EglConfig.cpp",
+ "EglContext.cpp",
+ "EglDisplay.cpp",
+ "EglGlobalInfo.cpp",
+ "EglImp.cpp",
+ "EglPbufferSurface.cpp",
+ "EglSurface.cpp",
+ "EglThreadInfo.cpp",
+ "EglValidate.cpp",
+ "EglWindowSurface.cpp",
+ "ThreadInfo.cpp",
+ "CoreProfileConfigs_linux.cpp",
+ "EglOsApi_egl.cpp",
+ "EglOsApi_glx.cpp",
+ ],
+}
+
diff --git a/stream-servers/glestranslator/EGL/EglOsApi_egl.cpp b/stream-servers/glestranslator/EGL/EglOsApi_egl.cpp
index 0bd43ed..8806e5c 100644
--- a/stream-servers/glestranslator/EGL/EglOsApi_egl.cpp
+++ b/stream-servers/glestranslator/EGL/EglOsApi_egl.cpp
@@ -20,6 +20,9 @@
#include "base/SharedLibrary.h"
#include "GLcommon/GLLibrary.h"
#include "apigen-codec-common/ErrorLog.h"
+#ifdef __linux__
+#include "apigen-codec-common/X11Support.h"
+#endif
#include <EGL/egl.h>
#include <GLES2/gl2.h>
@@ -296,13 +299,13 @@
#ifdef __linux__
if (mHeadless) mGlxDisplay = nullptr;
- else mGlxDisplay = XOpenDisplay(0);
+ else mGlxDisplay = getX11Api()->XOpenDisplay(0);
#endif // __linux__
};
EglOsEglDisplay::~EglOsEglDisplay() {
#ifdef __linux__
- if (mGlxDisplay) XCloseDisplay(mGlxDisplay);
+ if (mGlxDisplay) getX11Api()->XCloseDisplay(mGlxDisplay);
#endif // __linux__
}
@@ -543,7 +546,7 @@
Window root;
int t;
unsigned int u;
- return XGetGeometry(mGlxDisplay, win, &root, &t, &t, &u, &u, &u, &u) != 0;
+ return getX11Api()->XGetGeometry(mGlxDisplay, win, &root, &t, &t, &u, &u, &u, &u) != 0;
#else // __APPLE__
unsigned int width, height;
return nsGetWinDims(win, &width, &height);
@@ -567,7 +570,7 @@
unsigned int depth, border;
int x, y;
Window root;
- return XGetGeometry(
+ return getX11Api()->XGetGeometry(
mGlxDisplay, win, &root, &x, &y, width, height, &border, &depth);
#else // __APPLE__
bool ret = nsGetWinDims(win, width, height);
diff --git a/stream-servers/glestranslator/EGL/EglOsApi_glx.cpp b/stream-servers/glestranslator/EGL/EglOsApi_glx.cpp
index d3000eb..5b1c687 100644
--- a/stream-servers/glestranslator/EGL/EglOsApi_glx.cpp
+++ b/stream-servers/glestranslator/EGL/EglOsApi_glx.cpp
@@ -22,6 +22,7 @@
#include "GLcommon/GLLibrary.h"
#include "apigen-codec-common/ErrorLog.h"
+#include "apigen-codec-common/X11Support.h"
#include <string.h>
#include <X11/Xlib.h>
@@ -63,14 +64,14 @@
ErrorHandler::ErrorHandler(EGLNativeDisplayType dpy) {
android::base::AutoLock mutex(s_lock);
- XSync(dpy,False);
+ getX11Api()->XSync(dpy,False);
s_lastErrorCode = 0;
- m_oldErrorHandler = XSetErrorHandler(errorHandlerProc);
+ m_oldErrorHandler = getX11Api()->XSetErrorHandler(errorHandlerProc);
}
ErrorHandler::~ErrorHandler() {
android::base::AutoLock mutex(s_lock);
- XSetErrorHandler(m_oldErrorHandler);
+ getX11Api()->XSetErrorHandler(m_oldErrorHandler);
s_lastErrorCode = 0;
}
@@ -195,7 +196,9 @@
memset(&info, 0, sizeof(info));
- EXIT_IF_FALSE(glXGetFBConfigAttrib(dpy, frmt, GLX_TRANSPARENT_TYPE, &tmp));
+ auto glx = getGlxApi();
+
+ EXIT_IF_FALSE(glx->glXGetFBConfigAttrib(dpy, frmt, GLX_TRANSPARENT_TYPE, &tmp));
if (tmp == GLX_TRANSPARENT_INDEX) {
return; // not supporting transparent index
} else if (tmp == GLX_NONE) {
@@ -206,11 +209,11 @@
} else {
info.transparent_type = EGL_TRANSPARENT_RGB;
- EXIT_IF_FALSE(glXGetFBConfigAttrib(
+ EXIT_IF_FALSE(glx->glXGetFBConfigAttrib(
dpy, frmt, GLX_TRANSPARENT_RED_VALUE, &info.trans_red_val));
- EXIT_IF_FALSE(glXGetFBConfigAttrib(
+ EXIT_IF_FALSE(glx->glXGetFBConfigAttrib(
dpy, frmt, GLX_TRANSPARENT_GREEN_VALUE, &info.trans_green_val));
- EXIT_IF_FALSE(glXGetFBConfigAttrib(
+ EXIT_IF_FALSE(glx->glXGetFBConfigAttrib(
dpy, frmt, GLX_TRANSPARENT_BLUE_VALUE, &info.trans_blue_val));
}
@@ -218,40 +221,40 @@
// filter out single buffer configurations
//
int doubleBuffer = 0;
- EXIT_IF_FALSE(glXGetFBConfigAttrib(
+ EXIT_IF_FALSE(glx->glXGetFBConfigAttrib(
dpy, frmt, GLX_DOUBLEBUFFER, &doubleBuffer));
if (!doubleBuffer) {
return;
}
- EXIT_IF_FALSE(glXGetFBConfigAttrib(
+ EXIT_IF_FALSE(glx->glXGetFBConfigAttrib(
dpy ,frmt, GLX_RED_SIZE, &info.red_size));
- EXIT_IF_FALSE(glXGetFBConfigAttrib(
+ EXIT_IF_FALSE(glx->glXGetFBConfigAttrib(
dpy ,frmt, GLX_GREEN_SIZE, &info.green_size));
- EXIT_IF_FALSE(glXGetFBConfigAttrib(
+ EXIT_IF_FALSE(glx->glXGetFBConfigAttrib(
dpy ,frmt, GLX_BLUE_SIZE, &info.blue_size));
- EXIT_IF_FALSE(glXGetFBConfigAttrib(
+ EXIT_IF_FALSE(glx->glXGetFBConfigAttrib(
dpy ,frmt, GLX_ALPHA_SIZE, &info.alpha_size));
- EXIT_IF_FALSE(glXGetFBConfigAttrib(
+ EXIT_IF_FALSE(glx->glXGetFBConfigAttrib(
dpy ,frmt, GLX_DEPTH_SIZE, &info.depth_size));
- EXIT_IF_FALSE(glXGetFBConfigAttrib(
+ EXIT_IF_FALSE(glx->glXGetFBConfigAttrib(
dpy ,frmt, GLX_STENCIL_SIZE, &info.stencil_size));
info.renderable_type = renderableType;
int nativeRenderable = 0;
- EXIT_IF_FALSE(glXGetFBConfigAttrib(
+ EXIT_IF_FALSE(glx->glXGetFBConfigAttrib(
dpy, frmt, GLX_X_RENDERABLE, &nativeRenderable));
info.native_renderable = !!nativeRenderable;
- EXIT_IF_FALSE(glXGetFBConfigAttrib(
+ EXIT_IF_FALSE(glx->glXGetFBConfigAttrib(
dpy, frmt, GLX_X_VISUAL_TYPE, &info.native_visual_type));
- EXIT_IF_FALSE(glXGetFBConfigAttrib(
+ EXIT_IF_FALSE(glx->glXGetFBConfigAttrib(
dpy, frmt, GLX_VISUAL_ID, &info.native_visual_id));
//supported surfaces types
info.surface_type = 0;
- EXIT_IF_FALSE(glXGetFBConfigAttrib(dpy, frmt, GLX_DRAWABLE_TYPE, &tmp));
+ EXIT_IF_FALSE(glx->glXGetFBConfigAttrib(dpy, frmt, GLX_DRAWABLE_TYPE, &tmp));
if (tmp & GLX_WINDOW_BIT && info.native_visual_id != 0) {
info.surface_type |= EGL_WINDOW_BIT;
} else {
@@ -263,7 +266,7 @@
}
info.caveat = 0;
- EXIT_IF_FALSE(glXGetFBConfigAttrib(dpy, frmt, GLX_CONFIG_CAVEAT, &tmp));
+ EXIT_IF_FALSE(glx->glXGetFBConfigAttrib(dpy, frmt, GLX_CONFIG_CAVEAT, &tmp));
if (tmp == GLX_NONE) {
info.caveat = EGL_NONE;
} else if (tmp == GLX_SLOW_CONFIG) {
@@ -271,21 +274,21 @@
} else if (tmp == GLX_NON_CONFORMANT_CONFIG) {
info.caveat = EGL_NON_CONFORMANT_CONFIG;
}
- EXIT_IF_FALSE(glXGetFBConfigAttrib(
+ EXIT_IF_FALSE(glx->glXGetFBConfigAttrib(
dpy, frmt, GLX_MAX_PBUFFER_WIDTH, &info.max_pbuffer_width));
- EXIT_IF_FALSE(glXGetFBConfigAttrib(
+ EXIT_IF_FALSE(glx->glXGetFBConfigAttrib(
dpy, frmt, GLX_MAX_PBUFFER_HEIGHT, &info.max_pbuffer_height));
- EXIT_IF_FALSE(glXGetFBConfigAttrib(
+ EXIT_IF_FALSE(glx->glXGetFBConfigAttrib(
dpy, frmt, GLX_MAX_PBUFFER_HEIGHT, &info.max_pbuffer_size));
- EXIT_IF_FALSE(glXGetFBConfigAttrib(
+ EXIT_IF_FALSE(glx->glXGetFBConfigAttrib(
dpy, frmt, GLX_LEVEL, &info.frame_buffer_level));
- EXIT_IF_FALSE(glXGetFBConfigAttrib(
+ EXIT_IF_FALSE(glx->glXGetFBConfigAttrib(
dpy, frmt, GLX_SAMPLES, &info.samples_per_pixel));
// Filter out configs that do not support RGBA
- EXIT_IF_FALSE(glXGetFBConfigAttrib(dpy, frmt, GLX_RENDER_TYPE, &tmp));
+ EXIT_IF_FALSE(glx->glXGetFBConfigAttrib(dpy, frmt, GLX_RENDER_TYPE, &tmp));
if (!(tmp & GLX_RGBA_BIT)) {
return;
}
@@ -312,7 +315,7 @@
~GlxContext() {
PROFILE_SLOW("~GlxContext()");
- glXDestroyContext(mDisplay, mContext);
+ getGlxApi()->glXDestroyContext(mDisplay, mContext);
}
static GLXContext contextFor(EglOS::Context* context) {
@@ -334,19 +337,19 @@
for (auto it : mLivePbufs) {
for (auto surf : it.second) {
- glXDestroyPbuffer(mDisplay,
+ getGlxApi()->glXDestroyPbuffer(mDisplay,
GlxSurface::drawableFor(surf));
}
}
for (auto it : mFreePbufs) {
for (auto surf : it.second) {
- glXDestroyPbuffer(mDisplay,
+ getGlxApi()->glXDestroyPbuffer(mDisplay,
GlxSurface::drawableFor(surf));
}
}
- XCloseDisplay(mDisplay);
+ getX11Api()->XCloseDisplay(mDisplay);
}
virtual EglOS::GlesVersion getMaxGlesVersion() {
@@ -362,7 +365,9 @@
EglOS::AddConfigCallback* addConfigFunc,
void* addConfigOpaque) {
int n;
- GLXFBConfig* frmtList = glXGetFBConfigs(mDisplay, DefaultScreen(mDisplay), &n);
+ auto glx = getGlxApi();
+
+ GLXFBConfig* frmtList = glx->glXGetFBConfigs(mDisplay, DefaultScreen(mDisplay), &n);
if (frmtList) {
mFBConfigs.assign(frmtList, frmtList + n);
for(int i = 0; i < n; i++) {
@@ -373,12 +378,12 @@
addConfigFunc,
addConfigOpaque);
}
- XFree(frmtList);
+ getX11Api()->XFree(frmtList);
}
int glxMaj, glxMin;
bool successQueryVersion =
- glXQueryVersion(mDisplay,
+ glx->glXQueryVersion(mDisplay,
&glxMaj,
&glxMin);
@@ -407,7 +412,7 @@
int t;
unsigned int u;
ErrorHandler handler(mDisplay);
- if (!XGetGeometry(mDisplay, win, &root, &t, &t, &u, &u, &u, &u)) {
+ if (!getX11Api()->XGetGeometry(mDisplay, win, &root, &t, &t, &u, &u, &u, &u)) {
return false;
}
return handler.getLastError() == 0;
@@ -422,16 +427,17 @@
unsigned int depth, configDepth, border;
int r, g, b, x, y;
GLXFBConfig fbconfig = GlxPixelFormat::from(pixelFormat);
+ auto glx = getGlxApi();
- IS_SUCCESS(glXGetFBConfigAttrib(
+ IS_SUCCESS(glx->glXGetFBConfigAttrib(
mDisplay, fbconfig, GLX_RED_SIZE, &r));
- IS_SUCCESS(glXGetFBConfigAttrib(
+ IS_SUCCESS(glx->glXGetFBConfigAttrib(
mDisplay, fbconfig, GLX_GREEN_SIZE, &g));
- IS_SUCCESS(glXGetFBConfigAttrib(
+ IS_SUCCESS(glx->glXGetFBConfigAttrib(
mDisplay, fbconfig, GLX_BLUE_SIZE, &b));
configDepth = r + g + b;
Window root;
- if (!XGetGeometry(
+ if (!getX11Api()->XGetGeometry(
mDisplay, win, &root, &x, &y, width, height, &border, &depth)) {
return false;
}
@@ -449,6 +455,8 @@
ErrorHandler handler(mDisplay);
+ auto glx = getGlxApi();
+
GLXContext ctx;
if (useCoreProfile) {
ctx = mCreateContextAttribs(
@@ -458,7 +466,7 @@
True /* try direct (supposed to fall back to indirect) */,
mCoreProfileCtxAttribs);
} else {
- ctx = glXCreateNewContext(
+ ctx = glx->glXCreateNewContext(
mDisplay,
GlxPixelFormat::from(pixelFormat),
GLX_RGBA_TYPE,
@@ -475,7 +483,7 @@
virtual bool destroyContext(EglOS::Context* context) {
PROFILE_SLOW("destroyContext");
- glXDestroyContext(mDisplay, GlxContext::contextFor(context));
+ getGlxApi()->glXDestroyContext(mDisplay, GlxContext::contextFor(context));
return true;
}
@@ -566,12 +574,14 @@
PROFILE_SLOW("makeCurrent");
ErrorHandler handler(mDisplay);
bool retval = false;
+ auto glx = getGlxApi();
+
if (!context && !read && !draw) {
// unbind
- retval = glXMakeContextCurrent(mDisplay, 0, 0, NULL);
+ retval = glx->glXMakeContextCurrent(mDisplay, 0, 0, NULL);
}
else if (context && read && draw) {
- retval = glXMakeContextCurrent(
+ retval = glx->glXMakeContextCurrent(
mDisplay,
GlxSurface::drawableFor(draw),
GlxSurface::drawableFor(read),
@@ -596,7 +606,7 @@
virtual void swapBuffers(EglOS::Surface* srfc) {
if (srfc) {
- glXSwapBuffers(mDisplay, GlxSurface::drawableFor(srfc));
+ getGlxApi()->glXSwapBuffers(mDisplay, GlxSurface::drawableFor(srfc));
}
}
@@ -642,7 +652,7 @@
mCoreProfileCtxAttribs = attribs;
getCoreProfileCtxAttribsVersion(
attribs, &mCoreMajorVersion, &mCoreMinorVersion);
- glXDestroyContext(mDisplay, testContext);
+ getGlxApi()->glXDestroyContext(mDisplay, testContext);
return;
}
}
@@ -659,10 +669,10 @@
};
GLXPbuffer pb;
- pb = glXCreatePbuffer(
- mDisplay,
- config,
- pbufferImplAttribs);
+ pb = getGlxApi()->glXCreatePbuffer(
+ mDisplay,
+ config,
+ pbufferImplAttribs);
return new GlxSurface(pb, config, GlxSurface::PBUFFER);
}
@@ -688,7 +698,7 @@
public:
virtual EglOS::Display* getDefaultDisplay() {
Display* disp =
- XOpenDisplay(0 /* default display or $DISPLAY env var */);
+ getX11Api()->XOpenDisplay(0 /* default display or $DISPLAY env var */);
if (!disp) {
fprintf(stderr,
"GlxEngine%s: Failed to open display 0. DISPLAY: [%s]\n",
diff --git a/stream-servers/glestranslator/GLES_CM/Android.bp b/stream-servers/glestranslator/GLES_CM/Android.bp
new file mode 100644
index 0000000..c4fcd90
--- /dev/null
+++ b/stream-servers/glestranslator/GLES_CM/Android.bp
@@ -0,0 +1,20 @@
+cc_library_static {
+ name: "gfxstream_translator_glescm",
+ defaults: [ "gfxstream_defaults" ],
+ static_libs: [
+ "gfxstream_base",
+ "gfxstream_apigen_codec_common",
+ "gfxstream_translator_glcommon",
+ ],
+ cflags: [
+ "-fvisibility=hidden",
+ "-Wno-inconsistent-missing-override",
+ ],
+ srcs: [
+ "CoreProfileEngine.cpp",
+ "GLEScmContext.cpp",
+ "GLEScmImp.cpp",
+ "GLEScmUtils.cpp",
+ "GLEScmValidate.cpp",
+ ],
+}
diff --git a/stream-servers/glestranslator/GLES_V2/Android.bp b/stream-servers/glestranslator/GLES_V2/Android.bp
new file mode 100644
index 0000000..b3233ac
--- /dev/null
+++ b/stream-servers/glestranslator/GLES_V2/Android.bp
@@ -0,0 +1,25 @@
+cc_library_static {
+ name: "gfxstream_translator_glesv2",
+ defaults: [ "gfxstream_defaults" ],
+ static_libs: [
+ "gfxstream_base",
+ "gfxstream_apigen_codec_common",
+ "gfxstream_translator_glcommon",
+ "gfxstream_angle_stub",
+ ],
+ cflags: [
+ "-fvisibility=hidden",
+ "-Wno-inconsistent-missing-override",
+ ],
+ srcs: [
+ "ANGLEShaderParser.cpp",
+ "GLESv2Context.cpp",
+ "GLESv2Imp.cpp",
+ "GLESv2Validate.cpp",
+ "ProgramData.cpp",
+ "SamplerData.cpp",
+ "ShaderParser.cpp",
+ "ShaderValidator.cpp",
+ "TransformFeedbackData.cpp",
+ ],
+}
diff --git a/stream-servers/glestranslator/GLcommon/Android.bp b/stream-servers/glestranslator/GLcommon/Android.bp
new file mode 100644
index 0000000..f49a8a9
--- /dev/null
+++ b/stream-servers/glestranslator/GLcommon/Android.bp
@@ -0,0 +1,38 @@
+cc_library_static {
+ name: "gfxstream_translator_glcommon",
+ defaults: [ "gfxstream_defaults" ],
+ cflags: [
+ "-fvisibility=hidden",
+ "-Wno-inconsistent-missing-override",
+ "-Wno-unused-parameter",
+ "-Wno-unused-function",
+ ],
+ header_libs: [
+ "gfxstream_astc_codec_headers",
+ ],
+ static_libs: [
+ "gfxstream_base",
+ "gfxstream_astc_codec",
+ ],
+ srcs: [
+ "etc.cpp",
+ "FramebufferData.cpp",
+ "GLBackgroundLoader.cpp",
+ "GLDispatch.cpp",
+ "GLESbuffer.cpp",
+ "GLEScontext.cpp",
+ "GLESpointer.cpp",
+ "GLESvalidate.cpp",
+ "GLutils.cpp",
+ "NamedObject.cpp",
+ "ObjectData.cpp",
+ "ObjectNameSpace.cpp",
+ "PaletteTexture.cpp",
+ "RangeManip.cpp",
+ "SaveableTexture.cpp",
+ "ScopedGLState.cpp",
+ "ShareGroup.cpp",
+ "TextureData.cpp",
+ "TextureUtils.cpp",
+ ],
+}
diff --git a/stream-servers/libGLSnapshot/Android.bp b/stream-servers/libGLSnapshot/Android.bp
new file mode 100644
index 0000000..139d9da
--- /dev/null
+++ b/stream-servers/libGLSnapshot/Android.bp
@@ -0,0 +1,6 @@
+cc_library_static {
+ name: "gfxstream_glsnapshot",
+ defaults: [ "gfxstream_defaults" ],
+ srcs: [ "GLSnapshot.cpp", ],
+ export_include_dirs: [ "." ],
+}
diff --git a/stream-servers/renderControl_dec/Android.bp b/stream-servers/renderControl_dec/Android.bp
new file mode 100644
index 0000000..f159b29
--- /dev/null
+++ b/stream-servers/renderControl_dec/Android.bp
@@ -0,0 +1,11 @@
+cc_library_static {
+ name: "gfxstream_renderControl_dec",
+ defaults: [ "gfxstream_defaults" ],
+ static_libs: [
+ "gfxstream_apigen_codec_common",
+ ],
+ srcs: [
+ "renderControl_dec.cpp",
+ "renderControl_server_context.cpp",
+ ],
+}
diff --git a/stream-servers/vulkan/Android.bp b/stream-servers/vulkan/Android.bp
new file mode 100644
index 0000000..5f296ec
--- /dev/null
+++ b/stream-servers/vulkan/Android.bp
@@ -0,0 +1,33 @@
+cc_library_static {
+ name: "gfxstream_vulkan_server",
+ defaults: [ "gfxstream_defaults" ],
+ static_libs: [
+ "gfxstream_base",
+ "gfxstream_compressedTextures",
+ "gfxstream_apigen_codec_common",
+ "gfxstream_vulkan_cereal_host",
+ ],
+ cflags: [
+ "-fvisibility=hidden",
+ "-Wno-inconsistent-missing-override",
+ "-Wno-unused-value",
+ "-Wno-return-type",
+ "-Wno-return-type-c-linkage",
+ "-Wno-unused-parameter",
+ "-Wno-unused-variable",
+ "-Wno-unused-function",
+ "-Wno-uninitialized",
+ "-Wno-unreachable-code-loop-increment",
+ ],
+ srcs: [
+ "VkAndroidNativeBuffer.cpp",
+ "VkCommonOperations.cpp",
+ "VkDecoder.cpp",
+ "VkDecoderGlobalState.cpp",
+ "VkDecoderSnapshot.cpp",
+ "VkReconstruction.cpp",
+ "VulkanDispatch.cpp",
+ "VulkanHandleMapping.cpp",
+ "VulkanStream.cpp",
+ ],
+}
diff --git a/stream-servers/vulkan/VkReconstruction.cpp b/stream-servers/vulkan/VkReconstruction.cpp
index 5071c1d..104520e 100644
--- a/stream-servers/vulkan/VkReconstruction.cpp
+++ b/stream-servers/vulkan/VkReconstruction.cpp
@@ -224,7 +224,7 @@
return nullptr;
}
virtual void onSave(android::base::Stream* stream) { }
- virtual unsigned char* onLoad(android::base::Stream* stream) { }
+ virtual unsigned char* onLoad(android::base::Stream* stream) { return nullptr; }
};
void VkReconstruction::load(android::base::Stream* stream) {
diff --git a/stream-servers/vulkan/cereal/Android.bp b/stream-servers/vulkan/cereal/Android.bp
new file mode 100644
index 0000000..3ab2721
--- /dev/null
+++ b/stream-servers/vulkan/cereal/Android.bp
@@ -0,0 +1,19 @@
+cc_library_static {
+ name: "gfxstream_vulkan_cereal_host",
+ defaults: [ "gfxstream_defaults" ],
+ static_libs: [ "gfxstream_base" ],
+ srcs: [
+ "common/goldfish_vk_extension_structs.cpp",
+ "common/goldfish_vk_marshaling.cpp",
+ "common/goldfish_vk_testing.cpp",
+ "common/goldfish_vk_deepcopy.cpp",
+ "common/goldfish_vk_handlemap.cpp",
+ "common/goldfish_vk_dispatch.cpp",
+ "common/goldfish_vk_transform.cpp",
+ ],
+ cflags: [
+ "-DVK_ANDROID_native_buffer",
+ "-DVK_GOOGLE_address_space",
+ ],
+ export_include_dirs: [ "." ],
+}
diff --git a/third-party/angle/Android.bp b/third-party/angle/Android.bp
new file mode 100644
index 0000000..b1c022c
--- /dev/null
+++ b/third-party/angle/Android.bp
@@ -0,0 +1,8 @@
+cc_library_static {
+ name: "gfxstream_angle_stub",
+ defaults: ["gfxstream_defaults"],
+ srcs: [
+ "gfxstreamAngleShaderTranslatorStub.cpp",
+ ],
+ export_include_dirs: [ "src/libShaderTranslator", ],
+}
diff --git a/third-party/angle/gfxstreamAngleShaderTranslatorStub.cpp b/third-party/angle/gfxstreamAngleShaderTranslatorStub.cpp
new file mode 100644
index 0000000..4098488
--- /dev/null
+++ b/third-party/angle/gfxstreamAngleShaderTranslatorStub.cpp
@@ -0,0 +1,25 @@
+#include "src/libShaderTranslator/ShaderTranslator.h"
+
+ANGLE_EXPORT void STInitialize(void) { }
+ANGLE_EXPORT void STFinalize(void) { }
+
+ANGLE_EXPORT ST_BuiltInResources*
+STGenerateResources(ST_BuiltInResources *pResources) { return nullptr; }
+
+ANGLE_EXPORT void STCompileAndResolve(
+ const ST_ShaderCompileInfo* pInfo,
+ ST_ShaderCompileResult** ppResult) { }
+
+ANGLE_EXPORT void STFreeShaderResolveState(
+ ST_ShaderCompileResult* state) { }
+
+ANGLE_EXPORT ST_ShaderVariable STCopyVariable(const ST_ShaderVariable* pInput) {
+ ST_ShaderVariable v; return v;
+}
+
+ANGLE_EXPORT ST_InterfaceBlock STCopyInterfaceBlock(const ST_InterfaceBlock* pInput) {
+ ST_InterfaceBlock i; return i;
+}
+
+ANGLE_EXPORT void STDestroyVariable(ST_ShaderVariable* pInput) { }
+ANGLE_EXPORT void STDestroyInterfaceBlock(ST_InterfaceBlock* pInput) { }
diff --git a/third-party/angle/src/libShaderTranslator/ShaderTranslator.h b/third-party/angle/src/libShaderTranslator/ShaderTranslator.h
index 5b65385..cf33991 100644
--- a/third-party/angle/src/libShaderTranslator/ShaderTranslator.h
+++ b/third-party/angle/src/libShaderTranslator/ShaderTranslator.h
@@ -1,5 +1,8 @@
#pragma once
+#include <inttypes.h>
+#include <stddef.h>
+
#if defined(_WIN32)
# define ANGLE_EXPORT __declspec(dllexport)
#elif defined(__GNUC__)
diff --git a/third-party/astc-codec/Android.bp b/third-party/astc-codec/Android.bp
new file mode 100644
index 0000000..f95669b
--- /dev/null
+++ b/third-party/astc-codec/Android.bp
@@ -0,0 +1,6 @@
+cc_library_headers {
+ name: "gfxstream_astc_codec_headers",
+ defaults: ["gfxstream_defaults"],
+ host_supported: true,
+ export_include_dirs: [ ".", "include" ],
+}
diff --git a/third-party/astc-codec/src/decoder/Android.bp b/third-party/astc-codec/src/decoder/Android.bp
new file mode 100644
index 0000000..4c161d0
--- /dev/null
+++ b/third-party/astc-codec/src/decoder/Android.bp
@@ -0,0 +1,18 @@
+cc_library_static {
+ name: "gfxstream_astc_codec",
+ defaults: [ "gfxstream_defaults" ],
+ header_libs: [ "gfxstream_astc_codec_headers" ],
+ srcs: [
+ "footprint.cc",
+ "astc_file.cc",
+ "endpoint_codec.cc",
+ "integer_sequence_codec.cc",
+ "intermediate_astc_block.cc",
+ "logical_astc_block.cc",
+ "partition.cc",
+ "physical_astc_block.cc",
+ "quantization.cc",
+ "weight_infill.cc",
+ "codec.cc",
+ ],
+}
diff --git a/third-party/lz4/Android.bp b/third-party/lz4/Android.bp
new file mode 100644
index 0000000..a7ade56
--- /dev/null
+++ b/third-party/lz4/Android.bp
@@ -0,0 +1,11 @@
+cc_library_static {
+ name: "gfxstream_lz4",
+ defaults: ["gfxstream_defaults"],
+ srcs: [
+ "lz4.c",
+ "lz4frame.c",
+ "lz4hc.c",
+ "xxhash.c",
+ ],
+ export_include_dirs: [ "." ],
+}