From 5000b14a2c71ae4b95cfcbb77e647c764a1a43e5 Mon Sep 17 00:00:00 2001 From: BigRedEye Date: Mon, 1 Jul 2019 18:08:39 +0300 Subject: [PATCH 001/138] cmake: adds ON_DEMAND option --- cmake/CMakeLists.txt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 3f3b6a78..8da2f674 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -82,7 +82,7 @@ endfunction() # Calculate the argument and generated files for the "c" subparser for glad function(__glad_c_library CARGS CFILES) - cmake_parse_arguments(GGC "ALIAS;DEBUG;HEADERONLY;LOADER;MX;MXGLOBAL" "" "API" ${ARGN}) + cmake_parse_arguments(GGC "ALIAS;DEBUG;HEADERONLY;LOADER;MX;MXGLOBAL;ON_DEMAND" "" "API" ${ARGN}) if(NOT GGC_API) message(FATAL_ERROR "Need API") @@ -168,6 +168,10 @@ function(__glad_c_library CARGS CFILES) list(APPEND GGC_ARGS "--mx-global") endif() + if(GGC_ON_DEMAND) + list(APPEND GGC_ARGS "--on-demand") + endif() + set("${CARGS}" "${GGC_ARGS}" PARENT_SCOPE) set("${CFILES}" "${GGC_FILES}" PARENT_SCOPE) endfunction() From f55b4f9f8cdfddf0f2a9690799b408df3719699c Mon Sep 17 00:00:00 2001 From: David Herberth Date: Sat, 6 Jul 2019 17:19:18 +0200 Subject: [PATCH 002/138] c: implements on-demand for WGL --- glad/generator/c/__init__.py | 28 ++++++++++++++++++++-- glad/generator/c/templates/base_template.c | 2 +- glad/generator/c/templates/wgl.c | 8 ------- 3 files changed, 27 insertions(+), 11 deletions(-) diff --git a/glad/generator/c/__init__.py b/glad/generator/c/__init__.py index 3b9afdd0..f7e16e33 100644 --- a/glad/generator/c/__init__.py +++ b/glad/generator/c/__init__.py @@ -17,7 +17,7 @@ find_extensions_with_aliases ) from glad.parse import Type -from glad.specification import VK, GL +from glad.specification import VK, GL, WGL import glad.util _ARRAY_RE = re.compile(r'\[[\d\w]*\]') @@ -137,6 +137,29 @@ def pfn(context, value): return 'PFN' + value.upper() + 'PROC' +@jinja2.contextfilter +def c_commands(context, commands): + """ + The c in c_commands refers to the c file. + + This function filters a list of commands for the generated .c file. + WGL core functions are not dynamically loaded but need to be linked, + this functions filters out wgl core functions for the .c file. + + :param context: jinja context + :param commands: list of commands + :return: commands filtered + """ + spec = context['spec'] + if not spec.name == WGL.NAME: + return commands + + feature_set = context['feature_set'] + core = feature_set.features[0].get_requirements(spec, feature_set=feature_set) + + return [command for command in commands if not command in core] + + _CPP_STYLE_COMMENT_RE = re.compile(r'(^|\s|\))//(?P.*)$', flags=re.MULTILINE) @@ -231,7 +254,8 @@ def __init__(self, *args, **kwargs): param_names=param_names, pfn=pfn, ctx=ctx, - no_prefix=jinja2.contextfilter(lambda ctx, value: strip_specification_prefix(value, ctx['spec'])) + no_prefix=jinja2.contextfilter(lambda ctx, value: strip_specification_prefix(value, ctx['spec'])), + c_commands=c_commands ) self.environment.tests.update( diff --git a/glad/generator/c/templates/base_template.c b/glad/generator/c/templates/base_template.c index 3969f447..ee465077 100644 --- a/glad/generator/c/templates/base_template.c +++ b/glad/generator/c/templates/base_template.c @@ -96,7 +96,7 @@ void gladSet{{ feature_set.name|api }}PostCallback(GLADpostcallback cb) { {% if not options.mx %} {% block commands %} -{% for command in feature_set.commands %} +{% for command in feature_set.commands|c_commands %} {% call template_utils.protect(command) %} {% if options.on_demand %} static {{ command.proto.ret|type_to_c }} GLAD_API_PTR glad_on_demand_impl_{{ command.name }}({{ command.params|params_to_c }}) { diff --git a/glad/generator/c/templates/wgl.c b/glad/generator/c/templates/wgl.c index 5f288600..231bf928 100644 --- a/glad/generator/c/templates/wgl.c +++ b/glad/generator/c/templates/wgl.c @@ -1,13 +1,5 @@ {% extends 'base_template.c' %} -{% set blacklist = feature_set.features[0].get_requirements(spec, feature_set=feature_set).commands %} - -{% block commands %} -{% for command in feature_set.commands|reject('existsin', blacklist) %} -{{ command.name|pfn }} glad_{{ command.name }}; -{% endfor %} -{% endblock %} - {% block extension_loaders %} {% for extension, commands in loadable((feature_set.features[1:], feature_set.extensions)) %} static void glad_wgl_load_{{ extension.name }}(GLADuserptrloadfunc load, void *userptr) { From c6dcf51ebb8963217df1000756da0d7ff44e8b69 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Sat, 6 Jul 2019 17:37:53 +0200 Subject: [PATCH 003/138] files: update to latest specifications. --- glad/files/egl.xml | 184 ++- glad/files/eglplatform.h | 30 +- glad/files/gl.xml | 1483 ++++++++++++++++++---- glad/files/glx.xml | 27 +- glad/files/khrplatform.h | 12 +- glad/files/vk.xml | 2536 +++++++++++++++++++++++++++++++++----- glad/files/wgl.xml | 14 +- 7 files changed, 3728 insertions(+), 558 deletions(-) diff --git a/glad/files/egl.xml b/glad/files/egl.xml index c271846a..e079e7bc 100644 --- a/glad/files/egl.xml +++ b/glad/files/egl.xml @@ -468,8 +468,20 @@ - - + + + + + + + + + + + + + + @@ -536,8 +548,23 @@ - - + + + + + + + + + + + + + + + + + @@ -617,7 +644,9 @@ - + + + @@ -705,8 +734,23 @@ - - + + + + + + + + + + + + + + + + + @@ -714,8 +758,10 @@ - - + + + + @@ -772,7 +818,8 @@ - + + @@ -803,7 +850,18 @@ - + + + + + + + + + + + + @@ -833,8 +891,54 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -892,6 +996,10 @@ + + + + - - + + @@ -1222,6 +1330,14 @@ EGLDisplay eglGetDisplay EGLNativeDisplayType display_id + + char *eglGetDisplayDriverConfig + EGLDisplay dpy + + + const char *eglGetDisplayDriverName + EGLDisplay dpy + EGLint eglGetError @@ -2126,6 +2242,7 @@ + @@ -2197,6 +2314,7 @@ + @@ -2249,6 +2367,11 @@ + + + + + @@ -2841,6 +2964,12 @@ + + + + + + @@ -2915,6 +3044,11 @@ + + + + + @@ -3072,6 +3206,11 @@ + + + + + @@ -3116,5 +3255,20 @@ + + + + + + + + + + + + + + + diff --git a/glad/files/eglplatform.h b/glad/files/eglplatform.h index b0541d52..29ab288b 100644 --- a/glad/files/eglplatform.h +++ b/glad/files/eglplatform.h @@ -77,11 +77,17 @@ typedef HDC EGLNativeDisplayType; typedef HBITMAP EGLNativePixmapType; typedef HWND EGLNativeWindowType; +#elif defined(__EMSCRIPTEN__) + +typedef int EGLNativeDisplayType; +typedef int EGLNativePixmapType; +typedef int EGLNativeWindowType; + #elif defined(__WINSCW__) || defined(__SYMBIAN32__) /* Symbian */ typedef int EGLNativeDisplayType; -typedef void *EGLNativeWindowType; typedef void *EGLNativePixmapType; +typedef void *EGLNativeWindowType; #elif defined(WL_EGL_PLATFORM) @@ -100,25 +106,17 @@ typedef void *EGLNativeWindowType; struct ANativeWindow; struct egl_native_pixmap_t; -typedef struct ANativeWindow* EGLNativeWindowType; -typedef struct egl_native_pixmap_t* EGLNativePixmapType; typedef void* EGLNativeDisplayType; +typedef struct egl_native_pixmap_t* EGLNativePixmapType; +typedef struct ANativeWindow* EGLNativeWindowType; #elif defined(USE_OZONE) typedef intptr_t EGLNativeDisplayType; -typedef intptr_t EGLNativeWindowType; typedef intptr_t EGLNativePixmapType; +typedef intptr_t EGLNativeWindowType; -#elif defined(__unix__) || defined(__APPLE__) - -#if defined(MESA_EGL_NO_X11_HEADERS) - -typedef void *EGLNativeDisplayType; -typedef khronos_uintptr_t EGLNativePixmapType; -typedef khronos_uintptr_t EGLNativeWindowType; - -#else +#elif defined(__unix__) || defined(USE_X11) /* X11 (tentative) */ #include @@ -128,7 +126,11 @@ typedef Display *EGLNativeDisplayType; typedef Pixmap EGLNativePixmapType; typedef Window EGLNativeWindowType; -#endif /* MESA_EGL_NO_X11_HEADERS */ +#elif defined(__APPLE__) + +typedef int EGLNativeDisplayType; +typedef void *EGLNativePixmapType; +typedef void *EGLNativeWindowType; #elif defined(__HAIKU__) diff --git a/glad/files/gl.xml b/glad/files/gl.xml index 3628bb28..463cdfed 100644 --- a/glad/files/gl.xml +++ b/glad/files/gl.xml @@ -27,60 +27,22 @@ can always be found in the Khronos Registry at - #include <stddef.h> #include <KHR/khrplatform.h> - #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 typedef unsigned int GLenum; typedef unsigned char GLboolean; typedef unsigned int GLbitfield; typedef void GLvoid; - typedef signed char GLbyte; - typedef short GLshort; + typedef khronos_int8_t GLbyte; + typedef khronos_uint8_t GLubyte; + typedef khronos_int16_t GLshort; + typedef khronos_uint16_t GLushort; typedef int GLint; - typedef int GLclampx; - typedef unsigned char GLubyte; - typedef unsigned short GLushort; typedef unsigned int GLuint; + typedef khronos_int32_t GLclampx; typedef int GLsizei; - typedef float GLfloat; - typedef float GLclampf; + typedef khronos_float_t GLfloat; + typedef khronos_float_t GLclampf; typedef double GLdouble; typedef double GLclampd; typedef void *GLeglClientBufferEXT; @@ -92,53 +54,24 @@ typedef void *GLhandleARB; #else typedef unsigned int GLhandleARB; #endif - typedef unsigned short GLhalfARB; - typedef unsigned short GLhalf; - typedef GLint GLfixed; + typedef khronos_uint16_t GLhalf; + typedef khronos_uint16_t GLhalfARB; + typedef khronos_int32_t GLfixed; typedef khronos_intptr_t GLintptr; + typedef khronos_intptr_t GLintptrARB; typedef khronos_ssize_t GLsizeiptr; - typedef int64_t GLint64; - typedef uint64_t GLuint64; - typedef ptrdiff_t GLintptrARB; - typedef ptrdiff_t GLsizeiptrARB; - typedef int64_t GLint64EXT; - typedef uint64_t GLuint64EXT; + typedef khronos_ssize_t GLsizeiptrARB; + typedef khronos_int64_t GLint64; + typedef khronos_int64_t GLint64EXT; + typedef khronos_uint64_t GLuint64; + typedef khronos_uint64_t GLuint64EXT; typedef struct __GLsync *GLsync; struct _cl_context; struct _cl_event; typedef void ( *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); typedef void ( *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); typedef void ( *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); - - typedef khronos_int32_t GLclampx; - - typedef khronos_int8_t GLbyte; - typedef khronos_uint8_t GLubyte; - typedef khronos_float_t GLfloat; - typedef khronos_float_t GLclampf; - typedef khronos_int32_t GLfixed; - typedef khronos_int64_t GLint64; - typedef khronos_uint64_t GLuint64; - typedef khronos_intptr_t GLintptr; - typedef khronos_ssize_t GLsizeiptr; - - typedef khronos_int8_t GLbyte; - typedef khronos_uint8_t GLubyte; - typedef khronos_float_t GLfloat; - typedef khronos_float_t GLclampf; - typedef khronos_int32_t GLfixed; - typedef khronos_int64_t GLint64; - typedef khronos_uint64_t GLuint64; - typedef khronos_int64_t GLint64EXT; - typedef khronos_uint64_t GLuint64EXT; - typedef khronos_intptr_t GLintptr; - typedef khronos_ssize_t GLsizeiptr; - - - typedef khronos_uint8_t GLubyte; - typedef khronos_float_t GLfloat; - typedef khronos_intptr_t GLintptr; - typedef khronos_ssize_t GLsizeiptr; + typedef void ( *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,void *userParam); typedef unsigned short GLhalfNV; @@ -149,6 +82,432 @@ typedef unsigned int GLhandleARB; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -199,15 +558,16 @@ typedef unsigned int GLhandleARB; + + + - + + - - - @@ -265,6 +625,7 @@ typedef unsigned int GLhandleARB; + @@ -285,23 +646,22 @@ typedef unsigned int GLhandleARB; - + + + + + - - - - - - - - + + + @@ -456,6 +816,22 @@ typedef unsigned int GLhandleARB; + + + + + + + + + + + + + + + + @@ -473,6 +849,14 @@ typedef unsigned int GLhandleARB; + + + + + + + + @@ -486,6 +870,9 @@ typedef unsigned int GLhandleARB; + + + @@ -501,6 +888,7 @@ typedef unsigned int GLhandleARB; + @@ -537,6 +925,7 @@ typedef unsigned int GLhandleARB; + @@ -550,11 +939,20 @@ typedef unsigned int GLhandleARB; + + + + + + + + + @@ -566,6 +964,7 @@ typedef unsigned int GLhandleARB; + @@ -1469,8 +1868,6 @@ typedef unsigned int GLhandleARB; - - @@ -1595,11 +1992,7 @@ typedef unsigned int GLhandleARB; - - - - - + @@ -1616,9 +2009,6 @@ typedef unsigned int GLhandleARB; - - - @@ -1748,18 +2138,30 @@ typedef unsigned int GLhandleARB; + + + + + + + + + + + + @@ -1951,7 +2353,6 @@ typedef unsigned int GLhandleARB; - @@ -2228,6 +2629,22 @@ typedef unsigned int GLhandleARB; + + + + + + + + + + + + + + + + @@ -2286,7 +2703,9 @@ typedef unsigned int GLhandleARB; + + @@ -2529,6 +2948,8 @@ typedef unsigned int GLhandleARB; + + @@ -2546,6 +2967,8 @@ typedef unsigned int GLhandleARB; + + @@ -2627,6 +3050,7 @@ typedef unsigned int GLhandleARB; + @@ -2676,11 +3100,15 @@ typedef unsigned int GLhandleARB; - + + + + + @@ -2731,6 +3159,14 @@ typedef unsigned int GLhandleARB; + + + + + + + + @@ -2926,6 +3362,7 @@ typedef unsigned int GLhandleARB; + @@ -2981,17 +3418,21 @@ typedef unsigned int GLhandleARB; - + + + + + + - - + @@ -3030,7 +3471,6 @@ typedef unsigned int GLhandleARB; - @@ -3214,24 +3654,6 @@ typedef unsigned int GLhandleARB; - - - - - - - - - - - - - - - - - - @@ -3246,6 +3668,87 @@ typedef unsigned int GLhandleARB; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3544,6 +4047,182 @@ typedef unsigned int GLhandleARB; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3579,8 +4258,17 @@ typedef unsigned int GLhandleARB; - - + + + + + + + + + + + @@ -3610,7 +4298,7 @@ typedef unsigned int GLhandleARB; - + @@ -3627,15 +4315,6 @@ typedef unsigned int GLhandleARB; - - - - - - - - - @@ -3700,6 +4379,8 @@ typedef unsigned int GLhandleARB; + + @@ -3835,6 +4516,7 @@ typedef unsigned int GLhandleARB; + @@ -6653,6 +7335,7 @@ typedef unsigned int GLhandleARB; + @@ -8814,7 +9497,22 @@ typedef unsigned int GLhandleARB; - + + + + + + + + + + + + + + + + @@ -9063,7 +9761,8 @@ typedef unsigned int GLhandleARB; - + + @@ -9832,7 +10531,7 @@ typedef unsigned int GLhandleARB; - + @@ -9995,7 +10694,7 @@ typedef unsigned int GLhandleARB; - + @@ -10004,7 +10703,36 @@ typedef unsigned int GLhandleARB; - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -10134,11 +10862,21 @@ typedef unsigned int GLhandleARB; - + + + + + + + + + + + - + @@ -10156,9 +10894,39 @@ typedef unsigned int GLhandleARB; - + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -10187,7 +10955,14 @@ typedef unsigned int GLhandleARB; - + + + + + + + + @@ -10198,7 +10973,10 @@ typedef unsigned int GLhandleARB; - + + + + @@ -10229,7 +11007,8 @@ typedef unsigned int GLhandleARB; - + + + VkBool32 shaderFloat16 + VkBool32 shaderInt8 + + + VkStructureType sType + void* pNext + VkBool32 separateDenormSettings + VkBool32 separateRoundingModeSettings + VkBool32 shaderSignedZeroInfNanPreserveFloat16 + VkBool32 shaderSignedZeroInfNanPreserveFloat32 + VkBool32 shaderSignedZeroInfNanPreserveFloat64 + VkBool32 shaderDenormPreserveFloat16 + VkBool32 shaderDenormPreserveFloat32 + VkBool32 shaderDenormPreserveFloat64 + VkBool32 shaderDenormFlushToZeroFloat16 + VkBool32 shaderDenormFlushToZeroFloat32 + VkBool32 shaderDenormFlushToZeroFloat64 + VkBool32 shaderRoundingModeRTEFloat16 + VkBool32 shaderRoundingModeRTEFloat32 + VkBool32 shaderRoundingModeRTEFloat64 + VkBool32 shaderRoundingModeRTZFloat16 + VkBool32 shaderRoundingModeRTZFloat32 + VkBool32 shaderRoundingModeRTZFloat64 + + + VkStructureType sType + void* pNext + VkBool32 hostQueryReset + VkStructureType sType const void* pNext @@ -2957,11 +3089,11 @@ server. int32_t messageIdNumber const char* pMessage uint32_t queueLabelCount - VkDebugUtilsLabelEXT* pQueueLabels + const VkDebugUtilsLabelEXT* pQueueLabels uint32_t cmdBufLabelCount - VkDebugUtilsLabelEXT* pCmdBufLabels - uint32_t objectCount - VkDebugUtilsObjectNameInfoEXT* pObjects + const VkDebugUtilsLabelEXT* pCmdBufLabels + uint32_t objectCount + const VkDebugUtilsObjectNameInfoEXT* pObjects VkStructureType sType @@ -2969,17 +3101,17 @@ server. VkExternalMemoryHandleTypeFlagBits handleType void* pHostPointer - + VkStructureType sType void* pNext uint32_t memoryTypeBits - + VkStructureType sType void* pNext VkDeviceSize minImportedHostPointerAlignment - + VkStructureType sType void* pNextPointer to next structure float primitiveOverestimationSizeThe size in pixels the primitive is enlarged at each edge during conservative rasterization @@ -2992,15 +3124,20 @@ server. VkBool32 fullyCoveredFragmentShaderInputVariabletrue if the implementation supports the FullyCoveredEXT SPIR-V builtin fragment shader input variable VkBool32 conservativeRasterizationPostDepthCoveragetrue if the implementation supports both conservative rasterization and post depth coverage sample coverage mask + + VkStructureType sType + const void* pNext + VkTimeDomainEXT timeDomain + VkStructureType sType void* pNextPointer to next structure uint32_t shaderEngineCountnumber of shader engines uint32_t shaderArraysPerEngineCountnumber of shader arrays - uint32_t computeUnitsPerShaderArraynumber of CUs per shader array + uint32_t computeUnitsPerShaderArraynumber of physical CUs per shader array uint32_t simdPerComputeUnitnumber of SIMDs per compute unit uint32_t wavefrontsPerSimdnumber of wavefront slots in each SIMD - uint32_t wavefrontSizenumber of threads per wavefront + uint32_t wavefrontSizemaximum number of threads per wavefront uint32_t sgprsPerSimdnumber of physical SGPRs per SIMD uint32_t minSgprAllocationminimum number of SGPRs that can be allocated by a wave uint32_t maxSgprAllocationnumber of available SGPRs @@ -3072,7 +3209,7 @@ server. VkStructureType sType const void* pNext uint32_t bindingCount - const VkDescriptorBindingFlagsEXT* pBindingFlags + const VkDescriptorBindingFlagsEXT* pBindingFlags VkStructureType sType @@ -3135,7 +3272,7 @@ server. VkStructureType sType const void* pNext - VkRenderPassCreateFlags flags + VkRenderPassCreateFlags flags uint32_t attachmentCount const VkAttachmentDescription2KHR* pAttachments uint32_t subpassCount @@ -3164,11 +3301,19 @@ server. uint32_t vertexBindingDivisorCount const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors - + VkStructureType sType void* pNext uint32_t maxVertexAttribDivisormax value of vertex attribute divisor + + VkStructureType sType + void* pNext + uint32_t pciDomain + uint32_t pciBus + uint32_t pciDevice + uint32_t pciFunction + VkStructureType sType const void* pNext @@ -3225,11 +3370,18 @@ server. VkBool32 conditionalRendering VkBool32 inheritedConditionalRendering - + VkStructureType sType void* pNext VkBool32 vulkanMemoryModel VkBool32 vulkanMemoryModelDeviceScope + VkBool32 vulkanMemoryModelAvailabilityVisibilityChains + + + VkStructureType sType + void* pNext + VkBool32 shaderBufferInt64Atomics + VkBool32 shaderSharedInt64Atomics VkStructureType sType @@ -3248,6 +3400,21 @@ server. VkPipelineStageFlagBits stage void* pCheckpointMarker + + VkStructureType sType + void* pNext + VkResolveModeFlagsKHR supportedDepthResolveModessupported depth resolve modes + VkResolveModeFlagsKHR supportedStencilResolveModessupported stencil resolve modes + VkBool32 independentResolveNonedepth and stencil resolve modes can be set independently if one of them is none + VkBool32 independentResolvedepth and stencil resolve modes can be set independently + + + VkStructureType sType + const void* pNext + VkResolveModeFlagBitsKHR depthResolveModedepth resolve mode + VkResolveModeFlagBitsKHR stencilResolveModestencil resolve mode + const VkAttachmentReference2KHR* pDepthStencilResolveAttachmentdepth/stencil resolve attachment + VkStructureType sType const void* pNext @@ -3258,6 +3425,563 @@ server. void* pNext VkBool32 decodeModeSharedExponent + + VkStructureType sType + void* pNext + VkBool32 transformFeedback + VkBool32 geometryStreams + + + VkStructureType sType + void* pNext + uint32_t maxTransformFeedbackStreams + uint32_t maxTransformFeedbackBuffers + VkDeviceSize maxTransformFeedbackBufferSize + uint32_t maxTransformFeedbackStreamDataSize + uint32_t maxTransformFeedbackBufferDataSize + uint32_t maxTransformFeedbackBufferDataStride + VkBool32 transformFeedbackQueries + VkBool32 transformFeedbackStreamsLinesTriangles + VkBool32 transformFeedbackRasterizationStreamSelect + VkBool32 transformFeedbackDraw + + + VkStructureType sType + const void* pNext + VkPipelineRasterizationStateStreamCreateFlagsEXT flags + uint32_t rasterizationStream + + + VkStructureTypesType + void* pNext + VkBool32 representativeFragmentTest + + + VkStructureType sType + const void* pNext + VkBool32 representativeFragmentTestEnable + + + VkStructureType sType + void* pNext + VkBool32 exclusiveScissor + + + VkStructureType sType + const void* pNext + uint32_t exclusiveScissorCount + const VkRect2D* pExclusiveScissors + + + VkStructureType sType + void* pNext + VkBool32 cornerSampledImage + + + VkStructureType sType + void* pNext + VkBool32 computeDerivativeGroupQuads + VkBool32 computeDerivativeGroupLinear + + + VkStructureType sType + void* pNext + VkBool32 fragmentShaderBarycentric + + + VkStructureType sType + void* pNext + VkBool32 imageFootprint + + + VkStructureType sType + void* pNext + VkBool32 dedicatedAllocationImageAliasing + + + uint32_t shadingRatePaletteEntryCount + const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries + + + VkStructureType sType + const void* pNext + VkBool32 shadingRateImageEnable + uint32_t viewportCount + const VkShadingRatePaletteNV* pShadingRatePalettes + + + VkStructureType sType + void* pNext + VkBool32 shadingRateImage + VkBool32 shadingRateCoarseSampleOrder + + + VkStructureType sType + void* pNext + VkExtent2D shadingRateTexelSize + uint32_t shadingRatePaletteSize + uint32_t shadingRateMaxCoarseSamples + + + uint32_t pixelX + uint32_t pixelY + uint32_t sample + + + VkShadingRatePaletteEntryNV shadingRate + uint32_t sampleCount + uint32_t sampleLocationCount + const VkCoarseSampleLocationNV* pSampleLocations + + + VkStructureType sType + const void* pNext + VkCoarseSampleOrderTypeNV sampleOrderType + uint32_t customSampleOrderCount + const VkCoarseSampleOrderCustomNV* pCustomSampleOrders + + + VkStructureType sType + void* pNext + VkBool32 taskShader + VkBool32 meshShader + + + VkStructureType sType + void* pNext + uint32_t maxDrawMeshTasksCount + uint32_t maxTaskWorkGroupInvocations + uint32_t maxTaskWorkGroupSize[3] + uint32_t maxTaskTotalMemorySize + uint32_t maxTaskOutputCount + uint32_t maxMeshWorkGroupInvocations + uint32_t maxMeshWorkGroupSize[3] + uint32_t maxMeshTotalMemorySize + uint32_t maxMeshOutputVertices + uint32_t maxMeshOutputPrimitives + uint32_t maxMeshMultiviewViewCount + uint32_t meshOutputPerVertexGranularity + uint32_t meshOutputPerPrimitiveGranularity + + + uint32_t taskCount + uint32_t firstTask + + + VkStructureType sType + const void* pNext + VkRayTracingShaderGroupTypeNV type + uint32_t generalShader + uint32_t closestHitShader + uint32_t anyHitShader + uint32_t intersectionShader + + + VkStructureType sType + const void* pNext + VkPipelineCreateFlags flagsPipeline creation flags + uint32_t stageCount + const VkPipelineShaderStageCreateInfo* pStagesOne entry for each active shader stage + uint32_t groupCount + const VkRayTracingShaderGroupCreateInfoNV* pGroups + uint32_t maxRecursionDepth + VkPipelineLayout layoutInterface layout of the pipeline + VkPipeline basePipelineHandleIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is nonzero, it specifies the handle of the base pipeline this is a derivative of + int32_t basePipelineIndexIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is not -1, it specifies an index into pCreateInfos of the base pipeline this is a derivative of + + + VkStructureType sType + const void* pNext + VkBuffer vertexData + VkDeviceSize vertexOffset + uint32_t vertexCount + VkDeviceSize vertexStride + VkFormat vertexFormat + VkBuffer indexData + VkDeviceSize indexOffset + uint32_t indexCount + VkIndexType indexType + VkBuffer transformDataOptional reference to array of floats representing a 3x4 row major affine transformation matrix. + VkDeviceSize transformOffset + + + VkStructureType sType + const void* pNext + VkBuffer aabbData + uint32_t numAABBs + uint32_t strideStride in bytes between AABBs + VkDeviceSize offsetOffset in bytes of the first AABB in aabbData + + + VkGeometryTrianglesNV triangles + VkGeometryAABBNV aabbs + + + VkStructureType sType + const void* pNext + VkGeometryTypeNV geometryType + VkGeometryDataNV geometry + VkGeometryFlagsNV flags + + + VkStructureType sType + const void* pNext + VkAccelerationStructureTypeNV type + VkBuildAccelerationStructureFlagsNVflags + uint32_t instanceCount + uint32_t geometryCount + const VkGeometryNV* pGeometries + + + VkStructureType sType + const void* pNext + VkDeviceSize compactedSize + VkAccelerationStructureInfoNV info + + + VkStructureType sType + const void* pNext + VkAccelerationStructureNV accelerationStructure + VkDeviceMemory memory + VkDeviceSize memoryOffset + uint32_t deviceIndexCount + const uint32_t* pDeviceIndices + + + VkStructureType sType + const void* pNext + uint32_t accelerationStructureCount + const VkAccelerationStructureNV* pAccelerationStructures + + + VkStructureType sType + const void* pNext + VkAccelerationStructureMemoryRequirementsTypeNV type + VkAccelerationStructureNV accelerationStructure + + + VkStructureType sType + void* pNext + uint32_t shaderGroupHandleSize + uint32_t maxRecursionDepth + uint32_t maxShaderGroupStride + uint32_t shaderGroupBaseAlignment + uint64_t maxGeometryCount + uint64_t maxInstanceCount + uint64_t maxTriangleCount + uint32_t maxDescriptorSetAccelerationStructures + + + VkStructureType sType + void* pNext + uint32_t drmFormatModifierCount + VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties + + + uint64_t drmFormatModifier + uint32_t drmFormatModifierPlaneCount + VkFormatFeatureFlags drmFormatModifierTilingFeatures + + + VkStructureType sType + const void* pNext + uint64_t drmFormatModifier + VkSharingMode sharingMode + uint32_t queueFamilyIndexCount + const uint32_t* pQueueFamilyIndices + + + VkStructureType sType + const void* pNext + uint32_t drmFormatModifierCount + const uint64_t* pDrmFormatModifiers + + + VkStructureType sType + const void* pNext + uint64_t drmFormatModifier + uint32_t drmFormatModifierPlaneCount + const VkSubresourceLayout* pPlaneLayouts + + + VkStructureType sType + void* pNext + uint64_t drmFormatModifier + + + VkStructureType sType + const void* pNext + VkImageUsageFlags stencilUsage + + + VkStructureType sType + const void* pNext + VkMemoryOverallocationBehaviorAMD overallocationBehavior + + + VkStructureType sType + void* pNext + VkBool32 fragmentDensityMap + VkBool32 fragmentDensityMapDynamic + VkBool32 fragmentDensityMapNonSubsampledImages + + + VkStructureType sType + void* pNext + VkExtent2D minFragmentDensityTexelSize + VkExtent2D maxFragmentDensityTexelSize + VkBool32 fragmentDensityInvocations + + + VkStructureType sType + const void* pNext + VkAttachmentReference fragmentDensityMapAttachment + + + VkStructureType sType + void* pNext + VkBool32 scalarBlockLayout + + + VkStructureType sType + const void* pNext + VkBool32 supportsProtectedRepresents if surface can be protected + + + VkStructureType sType + void* pNext + VkBool32 uniformBufferStandardLayout + + + VkStructureType sType + void* pNextPointer to next structure + VkBool32 depthClipEnable + + + VkStructureType sType + const void* pNext + VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags + VkBool32 depthClipEnable + + + VkStructureType sType + void* pNext + VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS] + VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS] + + + VkStructureType sType + void* pNext + VkBool32 memoryPriority + + + VkStructureType sType + const void* pNext + float priority + + + VkStructureType sType + void* pNext + VkBool32 bufferDeviceAddress + VkBool32 bufferDeviceAddressCaptureReplay + VkBool32 bufferDeviceAddressMultiDevice + + + + VkStructureType sType + const void* pNext + VkBuffer buffer + + + VkStructureType sType + const void* pNext + VkDeviceAddress deviceAddress + + + VkStructureType sType + void* pNext + VkImageViewType imageViewType + + + VkStructureType sType + void* pNext + VkBool32 filterCubic + VkBool32 filterCubicMinmax + + + VkStructureType sType + void* pNext + VkBool32 cooperativeMatrix + VkBool32 cooperativeMatrixRobustBufferAccess + + + VkStructureType sType + void* pNext + VkShaderStageFlags cooperativeMatrixSupportedStages + + + VkStructureType sType + void* pNext + uint32_t MSize + uint32_t NSize + uint32_t KSize + VkComponentTypeNV AType + VkComponentTypeNV BType + VkComponentTypeNV CType + VkComponentTypeNV DType + VkScopeNV scope + + + VkStructureType sType + void* pNext + VkBool32 ycbcrImageArrays + + + VkStructureType sType + const void* pNext + VkImageView imageView + VkDescriptorType descriptorType + VkSampler sampler + + + VkStructureType sType + const void* pNext + GgpFrameToken frameToken + + + VkPipelineCreationFeedbackFlagsEXT flags + uint64_t duration + + + VkStructureType sType + const void* pNext + VkPipelineCreationFeedbackEXT* pPipelineCreationFeedbackOutput pipeline creation feedback. + uint32_t pipelineStageCreationFeedbackCount + VkPipelineCreationFeedbackEXT* pPipelineStageCreationFeedbacksOne entry for each shader stage specified in the parent Vk*PipelineCreateInfo struct + + + VkStructureType sType + void* pNext + VkFullScreenExclusiveEXT fullScreenExclusive + + + VkStructureType sType + const void* pNext + HMONITOR hmonitor + + + VkStructureType sType + void* pNext + VkBool32 fullScreenExclusiveSupported + + + VkStructureType sType + const void* pNext + VkHeadlessSurfaceCreateFlagsEXT flags + + + VkStructureTypesType + void* pNext + VkBool32 coverageReductionMode + + + VkStructureType sType + const void* pNext + VkPipelineCoverageReductionStateCreateFlagsNV flags + VkCoverageReductionModeNV coverageReductionMode + + + VkStructureType sType + void* pNext + VkCoverageReductionModeNV coverageReductionMode + VkSampleCountFlagBits rasterizationSamples + VkSampleCountFlags depthStencilSamples + VkSampleCountFlags colorSamples + + + VkStructureType sType + void* pNext + VkBool32 shaderIntegerFunctions2 + + + uint32_t value32 + uint64_t value64 + float valueFloat + VkBool32 valueBool + const char* valueString + + + VkPerformanceValueTypeINTEL type + VkPerformanceValueDataINTEL data + + + VkStructureType sType + const void* pNext + void* pUserData + + + VkStructureType sType + const void* pNext + VkQueryPoolSamplingModeINTEL performanceCountersSampling + + + VkStructureType sType + const void* pNext + uint64_t marker + + + VkStructureType sType + const void* pNext + uint32_t marker + + + VkStructureType sType + const void* pNext + VkPerformanceOverrideTypeINTEL type + VkBool32 enable + uint64_t parameter + + + VkStructureType sType + const void* pNext + VkPerformanceConfigurationTypeINTEL type + + + VkStructureType sType + void* pNext + uint32_t shaderSMCount + uint32_t shaderWarpsPerSM + + + VkStructureTypesType + void* pNext + VkBool32 shaderSMBuiltins + + + VkStructureType sType + void* pNextPointer to next structure + VkBool32 fragmentShaderSampleInterlock + VkBool32 fragmentShaderPixelInterlock + VkBool32 fragmentShaderShadingRateInterlock + + + VkStructureType sType + void* pNext + VkBool32 shaderDemoteToHelperInvocation + + + VkStructureType sType + void* pNext + VkBool32 texelBufferAlignment + + + VkStructureType sType + void* pNext + VkDeviceSize storageTexelBufferOffsetAlignmentBytes + VkBool32 storageTexelBufferOffsetSingleTexelAlignment + VkDeviceSize uniformTexelBufferOffsetAlignmentBytes + VkBool32 uniformTexelBufferOffsetSingleTexelAlignment + Vulkan enumerant (token) definitions @@ -3285,6 +4009,9 @@ server. + + + @@ -3837,6 +4564,7 @@ server. + @@ -3910,6 +4638,10 @@ server. + + + + @@ -4067,6 +4799,12 @@ server. + + + + + + @@ -4132,6 +4870,21 @@ server. Placeholder for validation enums to be defined for VK_EXT_Validation_flags extension + + + + Placeholder for validation feature enable enums to be defined for VK_EXT_validation_features extension + + + + + + + + + + Placeholder for validation feature disable enums to be defined for VK_EXT_validation_features extension + @@ -4298,6 +5051,10 @@ server. + + + + @@ -4343,9 +5100,148 @@ server. + + Driver IDs are now represented as enums instead of the old + <driverids> tag, allowing them to be included in the + API headers. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4463,12 +5359,12 @@ server. VkResult vkQueueSubmit VkQueue queue uint32_t submitCount - const VkSubmitInfo* pSubmits + const VkSubmitInfo* pSubmits VkFence fence VkResult vkQueueWaitIdle - VkQueue queue + VkQueue queue VkResult vkDeviceWaitIdle @@ -4570,7 +5466,7 @@ server. VkResult vkQueueBindSparse VkQueue queue uint32_t bindInfoCount - const VkBindSparseInfo* pBindInfo + const VkBindSparseInfo* pBindInfo VkFence fence @@ -4670,7 +5566,14 @@ server. VkDeviceSize stride VkQueryResultFlags flags - + + void vkResetQueryPoolEXT + VkDevice device + VkQueryPool queryPool + uint32_t firstQuery + uint32_t queryCount + + VkResult vkCreateBuffer VkDevice device const VkBufferCreateInfo* pCreateInfo @@ -5370,19 +6273,6 @@ server. const VkAllocationCallbacks* pAllocator VkSwapchainKHR* pSwapchains - - VkResult vkCreateMirSurfaceKHR - VkInstance instance - const VkMirSurfaceCreateInfoKHR* pCreateInfo - const VkAllocationCallbacks* pAllocator - VkSurfaceKHR* pSurface - - - VkBool32 vkGetPhysicalDeviceMirPresentationSupportKHR - VkPhysicalDevice physicalDevice - uint32_t queueFamilyIndex - MirConnection* connection - void vkDestroySurfaceKHR VkInstance instance @@ -5416,7 +6306,7 @@ server. uint32_t* pPresentModeCount VkPresentModeKHR* pPresentModes - + VkResult vkCreateSwapchainKHR VkDevice device const VkSwapchainCreateInfoKHR* pCreateInfo @@ -5436,7 +6326,7 @@ server. uint32_t* pSwapchainImageCount VkImage* pSwapchainImages - + VkResult vkAcquireNextImageKHR VkDevice device VkSwapchainKHR swapchain @@ -5445,7 +6335,7 @@ server. VkFence fence uint32_t* pImageIndex - + VkResult vkQueuePresentKHR VkQueue queue const VkPresentInfoKHR* pPresentInfo @@ -5510,6 +6400,20 @@ server. xcb_connection_t* connection xcb_visualid_t visual_id + + VkResult vkCreateImagePipeSurfaceFUCHSIA + VkInstance instance + const VkImagePipeSurfaceCreateInfoFUCHSIA* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkSurfaceKHR* pSurface + + + VkResult vkCreateStreamDescriptorSurfaceGGP + VkInstance instance + const VkStreamDescriptorSurfaceCreateInfoGGP* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkSurfaceKHR* pSurface + VkResult vkCreateDebugReportCallbackEXT VkInstance instance @@ -5576,33 +6480,13 @@ server. VkExternalMemoryHandleTypeFlagsNV handleType HANDLE* pHandle - - void vkCmdDrawIndirectCountAMD + + void vkCmdProcessCommandsNVX VkCommandBuffer commandBuffer - VkBuffer buffer - VkDeviceSize offset - VkBuffer countBuffer - VkDeviceSize countBufferOffset - uint32_t maxDrawCount - uint32_t stride + const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo - - void vkCmdDrawIndexedIndirectCountAMD - VkCommandBuffer commandBuffer - VkBuffer buffer - VkDeviceSize offset - VkBuffer countBuffer - VkDeviceSize countBufferOffset - uint32_t maxDrawCount - uint32_t stride - - - void vkCmdProcessCommandsNVX - VkCommandBuffer commandBuffer - const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo - - - void vkCmdReserveSpaceForCommandsNVX + + void vkCmdReserveSpaceForCommandsNVX VkCommandBuffer commandBuffer const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo @@ -5907,7 +6791,7 @@ server. VkSurfaceKHR surface VkDeviceGroupPresentModeFlagsKHR* pModes - + VkResult vkAcquireNextImage2KHR VkDevice device const VkAcquireNextImageInfoKHR* pAcquireInfo @@ -5937,7 +6821,7 @@ server. const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo const VkAllocationCallbacks* pAllocator VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate - + void vkDestroyDescriptorUpdateTemplate @@ -5969,7 +6853,7 @@ server. const VkSwapchainKHR* pSwapchains const VkHdrMetadataEXT* pMetadata - + VkResult vkGetSwapchainStatusKHR VkDevice device VkSwapchainKHR swapchain @@ -6001,6 +6885,13 @@ server. const VkAllocationCallbacks* pAllocator VkSurfaceKHR* pSurface + + VkResult vkCreateMetalSurfaceEXT + VkInstance instance + const VkMetalSurfaceCreateInfoEXT* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkSurfaceKHR* pSurface + void vkCmdSetViewportWScalingNV VkCommandBuffer commandBuffer @@ -6173,6 +7064,26 @@ server. size_t* pInfoSize void* pInfo + + void vkSetLocalDimmingAMD + VkDevice device + VkSwapchainKHR swapChain + VkBool32 localDimmingEnable + + + VkResult vkGetPhysicalDeviceCalibrateableTimeDomainsEXT + VkPhysicalDevice physicalDevice + uint32_t* pTimeDomainCount + VkTimeDomainEXT* pTimeDomains + + + VkResult vkGetCalibratedTimestampsEXT + VkDevice device + uint32_t timestampCount + const VkCalibratedTimestampInfoEXT* pTimestampInfos + uint64_t* pTimestamps + uint64_t* pMaxDeviation + VkResult vkSetDebugUtilsObjectNameEXT VkDevice device @@ -6292,6 +7203,7 @@ server. uint32_t maxDrawCount uint32_t stride + void vkCmdDrawIndexedIndirectCountKHR VkCommandBuffer commandBuffer @@ -6302,6 +7214,7 @@ server. uint32_t maxDrawCount uint32_t stride + void vkCmdSetCheckpointNV VkCommandBuffer commandBuffer @@ -6313,6 +7226,313 @@ server. uint32_t* pCheckpointDataCount VkCheckpointDataNV* pCheckpointData + + void vkCmdBindTransformFeedbackBuffersEXT + VkCommandBuffer commandBuffer + uint32_t firstBinding + uint32_t bindingCount + const VkBuffer* pBuffers + const VkDeviceSize* pOffsets + const VkDeviceSize* pSizes + + + void vkCmdBeginTransformFeedbackEXT + VkCommandBuffer commandBuffer + uint32_t firstCounterBuffer + uint32_t counterBufferCount + const VkBuffer* pCounterBuffers + const VkDeviceSize* pCounterBufferOffsets + + + void vkCmdEndTransformFeedbackEXT + VkCommandBuffer commandBuffer + uint32_t firstCounterBuffer + uint32_t counterBufferCount + const VkBuffer* pCounterBuffers + const VkDeviceSize* pCounterBufferOffsets + + + void vkCmdBeginQueryIndexedEXT + VkCommandBuffer commandBuffer + VkQueryPool queryPool + uint32_t query + VkQueryControlFlags flags + uint32_t index + + + void vkCmdEndQueryIndexedEXT + VkCommandBuffer commandBuffer + VkQueryPool queryPool + uint32_t query + uint32_t index + + + void vkCmdDrawIndirectByteCountEXT + VkCommandBuffer commandBuffer + uint32_t instanceCount + uint32_t firstInstance + VkBuffer counterBuffer + VkDeviceSize counterBufferOffset + uint32_t counterOffset + uint32_t vertexStride + + + void vkCmdSetExclusiveScissorNV + VkCommandBuffer commandBuffer + uint32_t firstExclusiveScissor + uint32_t exclusiveScissorCount + const VkRect2D* pExclusiveScissors + + + void vkCmdBindShadingRateImageNV + VkCommandBuffer commandBuffer + VkImageView imageView + VkImageLayout imageLayout + + + void vkCmdSetViewportShadingRatePaletteNV + VkCommandBuffer commandBuffer + uint32_t firstViewport + uint32_t viewportCount + const VkShadingRatePaletteNV* pShadingRatePalettes + + + void vkCmdSetCoarseSampleOrderNV + VkCommandBuffer commandBuffer + VkCoarseSampleOrderTypeNV sampleOrderType + uint32_t customSampleOrderCount + const VkCoarseSampleOrderCustomNV* pCustomSampleOrders + + + void vkCmdDrawMeshTasksNV + VkCommandBuffer commandBuffer + uint32_t taskCount + uint32_t firstTask + + + void vkCmdDrawMeshTasksIndirectNV + VkCommandBuffer commandBuffer + VkBuffer buffer + VkDeviceSize offset + uint32_t drawCount + uint32_t stride + + + void vkCmdDrawMeshTasksIndirectCountNV + VkCommandBuffer commandBuffer + VkBuffer buffer + VkDeviceSize offset + VkBuffer countBuffer + VkDeviceSize countBufferOffset + uint32_t maxDrawCount + uint32_t stride + + + VkResult vkCompileDeferredNV + VkDevice device + VkPipeline pipeline + uint32_t shader + + + VkResult vkCreateAccelerationStructureNV + VkDevice device + const VkAccelerationStructureCreateInfoNV* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkAccelerationStructureNV* pAccelerationStructure + + + void vkDestroyAccelerationStructureNV + VkDevice device + VkAccelerationStructureNV accelerationStructure + const VkAllocationCallbacks* pAllocator + + + void vkGetAccelerationStructureMemoryRequirementsNV + VkDevice device + const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo + VkMemoryRequirements2KHR* pMemoryRequirements + + + VkResult vkBindAccelerationStructureMemoryNV + VkDevice device + uint32_t bindInfoCount + const VkBindAccelerationStructureMemoryInfoNV* pBindInfos + + + void vkCmdCopyAccelerationStructureNV + VkCommandBuffer commandBuffer + VkAccelerationStructureNV dst + VkAccelerationStructureNV src + VkCopyAccelerationStructureModeNV mode + + + void vkCmdWriteAccelerationStructuresPropertiesNV + VkCommandBuffer commandBuffer + uint32_t accelerationStructureCount + const VkAccelerationStructureNV* pAccelerationStructures + VkQueryType queryType + VkQueryPool queryPool + uint32_t firstQuery + + + void vkCmdBuildAccelerationStructureNV + VkCommandBuffer commandBuffer + const VkAccelerationStructureInfoNV* pInfo + VkBuffer instanceData + VkDeviceSize instanceOffset + VkBool32 update + VkAccelerationStructureNV dst + VkAccelerationStructureNV src + VkBuffer scratch + VkDeviceSize scratchOffset + + + void vkCmdTraceRaysNV + VkCommandBuffer commandBuffer + VkBuffer raygenShaderBindingTableBuffer + VkDeviceSize raygenShaderBindingOffset + VkBuffer missShaderBindingTableBuffer + VkDeviceSize missShaderBindingOffset + VkDeviceSize missShaderBindingStride + VkBuffer hitShaderBindingTableBuffer + VkDeviceSize hitShaderBindingOffset + VkDeviceSize hitShaderBindingStride + VkBuffer callableShaderBindingTableBuffer + VkDeviceSize callableShaderBindingOffset + VkDeviceSize callableShaderBindingStride + uint32_t width + uint32_t height + uint32_t depth + + + VkResult vkGetRayTracingShaderGroupHandlesNV + VkDevice device + VkPipeline pipeline + uint32_t firstGroup + uint32_t groupCount + size_t dataSize + void* pData + + + VkResult vkGetAccelerationStructureHandleNV + VkDevice device + VkAccelerationStructureNV accelerationStructure + size_t dataSize + void* pData + + + VkResult vkCreateRayTracingPipelinesNV + VkDevice device + VkPipelineCache pipelineCache + uint32_t createInfoCount + const VkRayTracingPipelineCreateInfoNV* pCreateInfos + const VkAllocationCallbacks* pAllocator + VkPipeline* pPipelines + + + VkResult vkGetImageDrmFormatModifierPropertiesEXT + VkDevice device + VkImage image + VkImageDrmFormatModifierPropertiesEXT* pProperties + + + VkDeviceAddress vkGetBufferDeviceAddressEXT + VkDevice device + const VkBufferDeviceAddressInfoEXT* pInfo + + + VkResult vkGetPhysicalDeviceCooperativeMatrixPropertiesNV + VkPhysicalDevice physicalDevice + uint32_t* pPropertyCount + VkCooperativeMatrixPropertiesNV* pProperties + + + uint32_t vkGetImageViewHandleNVX + VkDevice device + const VkImageViewHandleInfoNVX* pInfo + + + VkResult vkGetPhysicalDeviceSurfacePresentModes2EXT + VkPhysicalDevice physicalDevice + const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo + uint32_t* pPresentModeCount + VkPresentModeKHR* pPresentModes + + + VkResult vkGetDeviceGroupSurfacePresentModes2EXT + VkDevice device + const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo + VkDeviceGroupPresentModeFlagsKHR* pModes + + + VkResult vkAcquireFullScreenExclusiveModeEXT + VkDevice device + VkSwapchainKHR swapchain + + + VkResult vkReleaseFullScreenExclusiveModeEXT + VkDevice device + VkSwapchainKHR swapchain + + + VkResult vkCreateHeadlessSurfaceEXT + VkInstance instance + const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkSurfaceKHR* pSurface + + + VkResult vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV + VkPhysicalDevice physicalDevice + uint32_t* pCombinationCount + VkFramebufferMixedSamplesCombinationNV* pCombinations + + + VkResult vkInitializePerformanceApiINTEL + VkDevice device + const VkInitializePerformanceApiInfoINTEL* pInitializeInfo + + + void vkUninitializePerformanceApiINTEL + VkDevice device + + + VkResult vkCmdSetPerformanceMarkerINTEL + VkCommandBuffer commandBuffer + const VkPerformanceMarkerInfoINTEL* pMarkerInfo + + + VkResult vkCmdSetPerformanceStreamMarkerINTEL + VkCommandBuffer commandBuffer + const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo + + + VkResult vkCmdSetPerformanceOverrideINTEL + VkCommandBuffer commandBuffer + const VkPerformanceOverrideInfoINTEL* pOverrideInfo + + + VkResult vkAcquirePerformanceConfigurationINTEL + VkDevice device + const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo + VkPerformanceConfigurationINTEL* pConfiguration + + + VkResult vkReleasePerformanceConfigurationINTEL + VkDevice device + VkPerformanceConfigurationINTEL configuration + + + VkResult vkQueueSetPerformanceConfigurationINTEL + VkQueue queue + VkPerformanceConfigurationINTEL configuration + + + VkResult vkGetPerformanceParameterINTEL + VkDevice device + VkPerformanceParameterTypeINTEL parameter + VkPerformanceValueINTEL* pValue + @@ -6625,6 +7845,7 @@ server. + @@ -6694,8 +7915,10 @@ server. - + + + @@ -6864,8 +8087,10 @@ server. - + + + @@ -6994,15 +8219,11 @@ server. - + + - - - - - @@ -7029,6 +8250,7 @@ server. + VK_ANDROID_native_buffer is used between the Android Vulkan loader and drivers to implement the WSI extensions. It isn't exposed to applications and uses types that aren't part of Android's stable public API, so it is left disabled to keep it out of the standard Vulkan headers. @@ -7146,14 +8368,38 @@ server. - - + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + @@ -7180,10 +8426,37 @@ server. - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -7192,10 +8465,13 @@ server. - + - - + + + + + @@ -7230,9 +8506,9 @@ server. - + - + @@ -7314,17 +8590,23 @@ server. - + - - + + + + + + - + - - - + + + + + @@ -7763,10 +9045,12 @@ server. - + - - + + + + @@ -8009,10 +9293,15 @@ server. - + - - + + + + + + + @@ -8023,11 +9312,11 @@ server. - + - + @@ -8039,6 +9328,7 @@ server. + @@ -8220,7 +9510,9 @@ server. + + @@ -8360,9 +9652,9 @@ server. - + - + @@ -8435,7 +9727,7 @@ server. - + @@ -8591,10 +9883,14 @@ server. - + - - + + + + + + @@ -8699,10 +9995,35 @@ server. - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -8760,36 +10081,114 @@ server. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -8817,16 +10216,24 @@ server. - + - - + + + + + + + + + + @@ -8895,10 +10302,12 @@ server. - + - - + + + + @@ -8919,10 +10328,15 @@ server. - + - - + + + + + + + @@ -8951,10 +10365,13 @@ server. - + - - + + + + + @@ -8970,16 +10387,23 @@ server. - + - - + + + + - + - - + + + + + + + @@ -9000,16 +10424,24 @@ server. - + - - + + + + + + + + - + - - + + + + @@ -9019,50 +10451,76 @@ server. - + - - + + + + + + + - + - - + + + - + - - + + + + - + - - - - - - + + + + + + + + + + + + + + - + - - + + + + - + - - + + + + - + - - + + + + + + + + @@ -9089,42 +10547,87 @@ server. - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - - + + + + - + - - + + + + + + + + - + - - + + + + + + @@ -9139,21 +10642,35 @@ server. - + - - + + + + + + - + - - - - - - - + + + + + + + + + + + + + + + + + @@ -9162,5 +10679,462 @@ server. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/glad/files/wgl.xml b/glad/files/wgl.xml index 094feada..c3b36302 100644 --- a/glad/files/wgl.xml +++ b/glad/files/wgl.xml @@ -427,6 +427,7 @@ Registry at + @@ -537,7 +538,7 @@ Registry at BOOL wglBindVideoDeviceNV - HDC hDC + HDC hDc unsigned int uVideoSlot HVIDEOOUTPUTDEVICENV hVideoDevice const int *piAttribList @@ -780,7 +781,7 @@ Registry at int wglEnumerateVideoDevicesNV - HDC hDC + HDC hDc HVIDEOOUTPUTDEVICENV *phDeviceList @@ -911,7 +912,7 @@ Registry at INT wglGetGPUInfoAMD UINT id - int property + INT property GLenum dataType UINT size void *data @@ -1234,7 +1235,7 @@ Registry at INT64 wglSwapLayerBuffersMscOML HDC hdc - int fuPlanes + INT fuPlanes INT64 target_msc INT64 divisor INT64 remainder @@ -1627,6 +1628,11 @@ Registry at + + + + + From f9d011c04a7d7f696a702a6a745d9990cd4d8f1b Mon Sep 17 00:00:00 2001 From: David Herberth Date: Sat, 6 Jul 2019 18:39:12 +0200 Subject: [PATCH 004/138] glad: fixes test failures. --- test/c/compile/gl/debug/001/test.c | 1 + test/c/compile/gl/mx+mx-global/007/test.c | 1 + test/c/compile/vulkan/default/004/test.c | 1 + test/rust/compile/vulkan/default/001/Cargo.toml | 2 +- 4 files changed, 4 insertions(+), 1 deletion(-) diff --git a/test/c/compile/gl/debug/001/test.c b/test/c/compile/gl/debug/001/test.c index 64a8a5f7..f39e8e8b 100644 --- a/test/c/compile/gl/debug/001/test.c +++ b/test/c/compile/gl/debug/001/test.c @@ -7,6 +7,7 @@ */ #include +#include int main(void) { gladSetGLPreCallback(NULL); diff --git a/test/c/compile/gl/mx+mx-global/007/test.c b/test/c/compile/gl/mx+mx-global/007/test.c index b7ee09a1..5e38e3c3 100644 --- a/test/c/compile/gl/mx+mx-global/007/test.c +++ b/test/c/compile/gl/mx+mx-global/007/test.c @@ -7,6 +7,7 @@ */ #include +#include typedef void (*VOID_FUNCPTR)(void); diff --git a/test/c/compile/vulkan/default/004/test.c b/test/c/compile/vulkan/default/004/test.c index 24d9dfc1..d5853beb 100644 --- a/test/c/compile/vulkan/default/004/test.c +++ b/test/c/compile/vulkan/default/004/test.c @@ -7,6 +7,7 @@ */ #include +#include int main(void) { (void) gladLoaderLoadVulkan(NULL, NULL, NULL); diff --git a/test/rust/compile/vulkan/default/001/Cargo.toml b/test/rust/compile/vulkan/default/001/Cargo.toml index 68f03de0..5f9bb005 100644 --- a/test/rust/compile/vulkan/default/001/Cargo.toml +++ b/test/rust/compile/vulkan/default/001/Cargo.toml @@ -7,4 +7,4 @@ path = "test.rs" name = "test" [dependencies] -glad-vulkan = { path = "./glad-vulkan/", features = ["xcb", "macos", "xlib_xrandr", "xlib", "ios", "win32", "wayland", "vi", "android", "mir"] } +glad-vulkan = { path = "./glad-vulkan/", features = ["xcb", "macos", "xlib_xrandr", "xlib", "ios", "win32", "wayland", "vi", "android"] } From 0c83e53819b1f063fab91ef67f137f023db70de7 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Sat, 6 Jul 2019 18:34:07 +0200 Subject: [PATCH 005/138] c: implements runtime install/uninstall-ing of debug functions closes #68 --- example/c/gl_glfw_on_demand.c | 27 ++++++++++++++++++++-- glad/generator/c/templates/base_template.c | 14 +++++++++++ glad/generator/c/templates/base_template.h | 3 +++ test/c/compile/gl/debug/001/test.c | 2 ++ test/c/run/gl/debug/001/test.c | 7 ++++++ 5 files changed, 51 insertions(+), 2 deletions(-) diff --git a/example/c/gl_glfw_on_demand.c b/example/c/gl_glfw_on_demand.c index 5477c2ba..ea2d388b 100644 --- a/example/c/gl_glfw_on_demand.c +++ b/example/c/gl_glfw_on_demand.c @@ -1,4 +1,4 @@ -// This example requires you to generate glad with the --on-demand option and optionally --loader. +// This example requires you to generate glad with the --on-demand option and optionally --loader and --debug. // gcc -o gl_glfw_on_demand example/c/gl_glfw_on_demand.c build/src/gl.c -Ibuild/include -ldl -lglfw #include #include @@ -10,9 +10,27 @@ const GLuint WIDTH = 800, HEIGHT = 600; + +static void pre_call_gl_callback(const char *name, GLADapiproc apiproc, int len_args, ...) { + printf("about to call gl func: %s\n", name); +} + void key_callback(GLFWwindow* window, int key, int scancode, int action, int mode) { - if (key == GLFW_KEY_ESCAPE && action == GLFW_PRESS) + if (action != GLFW_PRESS) { + return; + } + + if (key == GLFW_KEY_ESCAPE) { glfwSetWindowShouldClose(window, GL_TRUE); +#ifdef GLAD_OPTION_GL_DEBUG + } else if (key == GLFW_KEY_H) { + printf("Installing glad debug function pointers\n"); + gladInstallGLDebug(); + } else if (key == GLFW_KEY_J) { + printf("Uninstalling glad debug function pointers\n"); + gladUninstallGLDebug(); +#endif + } } int main(void) { @@ -35,6 +53,11 @@ int main(void) { gladSetGLOnDemandLoader(glfwGetProcAddress); #endif +#ifdef GLAD_OPTION_GL_DEBUG + gladUninstallGLDebug(); + gladSetGLPreCallback(pre_call_gl_callback); +#endif + while (!glfwWindowShouldClose(window)) { glfwPollEvents(); diff --git a/glad/generator/c/templates/base_template.c b/glad/generator/c/templates/base_template.c index ee465077..6402f713 100644 --- a/glad/generator/c/templates/base_template.c +++ b/glad/generator/c/templates/base_template.c @@ -160,6 +160,20 @@ static void glad_{{ spec.name }}_resolve_aliases({{ template_utils.context_arg(d {% endblock %} {% endif %} {# options.on_demand #} +{% if options.debug %} +void gladInstall{{ feature_set.name|api }}Debug() { +{% for command in feature_set.commands|c_commands %} + glad_debug_{{ command.name }} = glad_debug_impl_{{ command.name }}; +{% endfor %} +} + +void gladUninstall{{ feature_set.name|api }}Debug() { +{% for command in feature_set.commands|c_commands %} + glad_debug_{{ command.name }} = glad_{{ command.name }}; +{% endfor %} +} +{% endif %} + {% if options.loader %} {% block loader_impl %} {% for api in feature_set.info.apis %} diff --git a/glad/generator/c/templates/base_template.h b/glad/generator/c/templates/base_template.h index f1fe0386..2e0a5fe7 100644 --- a/glad/generator/c/templates/base_template.h +++ b/glad/generator/c/templates/base_template.h @@ -108,6 +108,9 @@ GLAD_API_CALL void gladSet{{ feature_set.name|api }}Context(Glad{{ feature_set.n {% if options.debug %} GLAD_API_CALL void gladSet{{ feature_set.name|api }}PreCallback(GLADprecallback cb); GLAD_API_CALL void gladSet{{ feature_set.name|api }}PostCallback(GLADpostcallback cb); + +GLAD_API_CALL void gladInstall{{ feature_set.name|api }}Debug(void); +GLAD_API_CALL void gladUninstall{{ feature_set.name|api }}Debug(void); {% endif %} {% endblock %} diff --git a/test/c/compile/gl/debug/001/test.c b/test/c/compile/gl/debug/001/test.c index f39e8e8b..7dbb0c99 100644 --- a/test/c/compile/gl/debug/001/test.c +++ b/test/c/compile/gl/debug/001/test.c @@ -12,5 +12,7 @@ int main(void) { gladSetGLPreCallback(NULL); gladSetGLPostCallback(NULL); + gladInstallGLDebug(); + gladUninstallGLDebug(); return 0; } diff --git a/test/c/run/gl/debug/001/test.c b/test/c/run/gl/debug/001/test.c index 85961b5a..0872358f 100644 --- a/test/c/run/gl/debug/001/test.c +++ b/test/c/run/gl/debug/001/test.c @@ -79,6 +79,13 @@ int main(void) { gladSetGLPostCallback(post_call_gl_callback); glClear(GL_COLOR_BUFFER_BIT); + + /* make sure install/uninstall is working as expected */ + gladUninstallGLDebug(); + glViewport(0, 0, WIDTH, HEIGHT); + glClear(GL_COLOR_BUFFER_BIT); + gladInstallGLDebug(); + glClear(GL_DEPTH_BUFFER_BIT); ASSERT(pre == 2, "pre callback called %d times, expected twice", pre); From c309b8f86829fadf0dc25cff607cb0842986e701 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Sun, 8 Dec 2019 18:09:56 +0100 Subject: [PATCH 006/138] c: fixes missing APIENTRY on C callbacks. Signed-off-by: David Herberth --- glad/parse.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/glad/parse.py b/glad/parse.py index 80b98463..1a3a354f 100644 --- a/glad/parse.py +++ b/glad/parse.py @@ -738,13 +738,14 @@ class Type(IdentifiedByName): def register(category, type_factory): Type._FACTORIES[category] = type_factory - def __init__(self, name, api=None, category=None, alias=None, requires=None, raw=None): + def __init__(self, name, api=None, category=None, alias=None, requires=None, apientry=False, raw=None): self.name = name self.api = api self.category = category self.alias = alias self.requires = requires or [] + self.apientry = apientry self._raw = raw @@ -754,6 +755,11 @@ def factory(cls, element, name, data): @staticmethod def from_element(element): + apientry = element.find('apientry') + if apientry is not None: + # not so great workaround to get APIENTRY included in the raw output + apientry.text = 'APIENTRY' + raw = ''.join(element.itertext()) api = element.get('api') category = element.get('category') @@ -767,7 +773,14 @@ def from_element(element): if element.get('requires'): requires.add(element.get('requires')) - data = dict(api=api, category=category, alias=alias, requires=requires, raw=raw) + data = dict( + api=api, + category=category, + alias=alias, + requires=requires, + apientry=apientry is not None, + raw=raw + ) factory = Type._FACTORIES.get(category, Type.factory) return factory(element, name, data) From 434695fa99db397a8edc4617207c7983684cd93e Mon Sep 17 00:00:00 2001 From: Tom Hochstein Date: Tue, 10 Dec 2019 14:37:38 -0600 Subject: [PATCH 007/138] glad: Fix EGL loading for EGL_NO_DISPLAY on EGL 1.5 and above EGL loading was failing for a display of EGL_NO_DISPLAY. Allow loading EGL 1.5 and above since eglQueryString supports EGL_NO_DISPLAY in this case. --- glad/generator/c/templates/egl.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/glad/generator/c/templates/egl.c b/glad/generator/c/templates/egl.c index 3df43780..529d600a 100644 --- a/glad/generator/c/templates/egl.c +++ b/glad/generator/c/templates/egl.c @@ -60,9 +60,11 @@ static int glad_egl_find_core_{{ api|lower }}(EGLDisplay display) { display = eglGetDisplay(EGL_DEFAULT_DISPLAY); } #endif +#ifndef EGL_VERSION_1_5 if (display == EGL_NO_DISPLAY) { return 0; } +#endif version = eglQueryString(display, EGL_VERSION); (void) eglGetError(); From abf0099cf23ba5dea6749c9321a88a33c977593e Mon Sep 17 00:00:00 2001 From: David Herberth Date: Mon, 23 Dec 2019 15:43:48 +0100 Subject: [PATCH 008/138] c: fixes invalid calling convention in WGL loader. `wglGetProcAddress` is `APIENTRY` and gets casted into a non APIENTRY function pointer, which leads to issues on platforms that actually use APIENTRY (e.g. win32) closes: #240 --- glad/generator/c/templates/loader/wgl.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/glad/generator/c/templates/loader/wgl.c b/glad/generator/c/templates/loader/wgl.c index 586bd05d..f70e3e54 100644 --- a/glad/generator/c/templates/loader/wgl.c +++ b/glad/generator/c/templates/loader/wgl.c @@ -1,8 +1,13 @@ #ifdef GLAD_WGL {% if not options.on_demand %} +static GLADapiproc glad_wgl_get_proc(void *vuserptr, const char* name) { + (void) vuserptr; + return GLAD_GNUC_EXTENSION (GLADapiproc) wglGetProcAddress(name); +} + int gladLoaderLoadWGL(HDC hdc) { - return gladLoadWGLUserPtr(hdc, glad_wgl_get_proc_from_userptr, GLAD_GNUC_EXTENSION (void*) wglGetProcAddress); + return gladLoadWGLUserPtr(hdc, glad_wgl_get_proc, NULL); } {% endif %} From 2e24389a1d4a39522757fe431f2bc806239c0b8d Mon Sep 17 00:00:00 2001 From: David Herberth Date: Sun, 19 Jan 2020 18:19:45 +0100 Subject: [PATCH 009/138] glad: updates parser and generators to support vk 1.2. also: * updates all the bundled specifications * adds missing Rust types see gh: #243 --- example/c/vulkan_tri_glfw/CMakeLists.txt | 4 +- glad/files/egl.xml | 90 +- glad/files/eglplatform.h | 12 + glad/files/gl.xml | 1063 +++++++-- glad/files/glx.xml | 16 +- glad/files/vk.xml | 2127 ++++++++++++++---- glad/files/vk_platform.h | 2 +- glad/files/wgl.xml | 18 +- glad/generator/c/__init__.py | 36 +- glad/generator/c/templates/template_utils.h | 2 +- glad/generator/rust/templates/types/egl.rs | 5 + glad/generator/rust/templates/types/vk.rs | 1 + glad/parse.py | 42 +- test/rust/compile/vulkan/default/001/test.rs | 1 - 14 files changed, 2856 insertions(+), 563 deletions(-) diff --git a/example/c/vulkan_tri_glfw/CMakeLists.txt b/example/c/vulkan_tri_glfw/CMakeLists.txt index a95947a9..58260667 100644 --- a/example/c/vulkan_tri_glfw/CMakeLists.txt +++ b/example/c/vulkan_tri_glfw/CMakeLists.txt @@ -6,12 +6,12 @@ add_subdirectory("${GLAD_SOURCES_DIR}/cmake" glad_cmake) find_package(glfw3 REQUIRED) -glad_add_library(glad_vulkan_11 REPRODUCIBLE LOADER API vulkan=1.1) +glad_add_library(glad_vulkan_12 REPRODUCIBLE LOADER API vulkan=1.2) add_executable(vulkan_tri_glfw vulkan_tri_glfw.c ) target_link_libraries(vulkan_tri_glfw PUBLIC - glad_vulkan_11 + glad_vulkan_12 glfw ) diff --git a/glad/files/egl.xml b/glad/files/egl.xml index e079e7bc..8dca4133 100644 --- a/glad/files/egl.xml +++ b/glad/files/egl.xml @@ -49,6 +49,9 @@ struct AHardwareBuffer; + struct wl_buffer; + struct wl_display; + struct wl_resource; @@ -89,7 +92,13 @@ EGLint iHeight; EGLint iStride; }; + typedef void ( *EGLDEBUGPROCKHR)(EGLenum error,const char *command,EGLint messageType,EGLLabelKHR threadLabel,EGLLabelKHR objectLabel,const char* message); + #define PFNEGLBINDWAYLANDDISPLAYWL PFNEGLBINDWAYLANDDISPLAYWLPROC + #define PFNEGLUNBINDWAYLANDDISPLAYWL PFNEGLUNBINDWAYLANDDISPLAYWLPROC + #define PFNEGLQUERYWAYLANDBUFFERWL PFNEGLQUERYWAYLANDBUFFERWLPROC + #define PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWL PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWLPROC @@ -581,11 +590,27 @@ - + + + + + + + + + + + + @@ -861,7 +886,9 @@ - + + + @@ -1000,6 +1027,9 @@ + + + - - + + @@ -1898,6 +1928,28 @@ EGLint external_win_id EGLint policy + + EGLBoolean eglBindWaylandDisplayWL + EGLDisplay dpy + struct wl_display *display + + + EGLBoolean eglUnbindWaylandDisplayWL + EGLDisplay dpy + struct wl_display *display + + + EGLBoolean eglQueryWaylandBufferWL + EGLDisplay dpy + struct wl_resource *buffer + EGLint attribute + EGLint *value + + + struct wl_buffer *eglCreateWaylandBufferFromImageWL + EGLDisplay dpy + EGLImageKHR image + @@ -3089,6 +3141,12 @@ + + + + + + @@ -3270,5 +3328,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/glad/files/eglplatform.h b/glad/files/eglplatform.h index 29ab288b..eaac469f 100644 --- a/glad/files/eglplatform.h +++ b/glad/files/eglplatform.h @@ -116,6 +116,12 @@ typedef intptr_t EGLNativeDisplayType; typedef intptr_t EGLNativePixmapType; typedef intptr_t EGLNativeWindowType; +#elif defined(__unix__) && defined(EGL_NO_X11) + +typedef void *EGLNativeDisplayType; +typedef khronos_uintptr_t EGLNativePixmapType; +typedef khronos_uintptr_t EGLNativeWindowType; + #elif defined(__unix__) || defined(USE_X11) /* X11 (tentative) */ @@ -140,6 +146,12 @@ typedef void *EGLNativeDisplayType; typedef khronos_uintptr_t EGLNativePixmapType; typedef khronos_uintptr_t EGLNativeWindowType; +#elif defined(__Fuchsia__) + +typedef void *EGLNativeDisplayType; +typedef khronos_uintptr_t EGLNativePixmapType; +typedef khronos_uintptr_t EGLNativeWindowType; + #else #error "Platform not recognized" #endif diff --git a/glad/files/gl.xml b/glad/files/gl.xml index 463cdfed..3228ec1f 100644 --- a/glad/files/gl.xml +++ b/glad/files/gl.xml @@ -1,7 +1,7 @@ -Copyright (c) 2013-2018 The Khronos Group Inc. +Copyright (c) 2013-2019 The Khronos Group Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -79,9 +79,247 @@ typedef unsigned int GLhandleARB; typedef void ( *GLVULKANPROCNV)(void); - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -161,10 +399,6 @@ typedef unsigned int GLhandleARB; - - - - @@ -193,10 +427,6 @@ typedef unsigned int GLhandleARB; - - - - @@ -234,10 +464,6 @@ typedef unsigned int GLhandleARB; - - - - @@ -330,14 +556,14 @@ typedef unsigned int GLhandleARB; - - - - - - - - + + + + + + + + @@ -662,6 +888,7 @@ typedef unsigned int GLhandleARB; + @@ -832,6 +1059,22 @@ typedef unsigned int GLhandleARB; + + + + + + + + + + + + + + + + @@ -2286,6 +2529,7 @@ typedef unsigned int GLhandleARB; + @@ -2364,6 +2608,20 @@ typedef unsigned int GLhandleARB; + + + + + + + + + + + + + + @@ -2399,6 +2657,83 @@ typedef unsigned int GLhandleARB; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2617,6 +2952,8 @@ typedef unsigned int GLhandleARB; + + @@ -2973,6 +3310,18 @@ typedef unsigned int GLhandleARB; + + + + + + + + + + + + @@ -2981,9 +3330,6 @@ typedef unsigned int GLhandleARB; - - - @@ -3053,14 +3399,97 @@ typedef unsigned int GLhandleARB; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3201,15 +3630,41 @@ typedef unsigned int GLhandleARB; + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3324,6 +3779,20 @@ typedef unsigned int GLhandleARB; + + + + + + + + + + + + + + @@ -3628,18 +4097,28 @@ typedef unsigned int GLhandleARB; + + + + + + + + + + @@ -3666,6 +4145,106 @@ typedef unsigned int GLhandleARB; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3694,12 +4273,12 @@ typedef unsigned int GLhandleARB; - - - - - - + + + + + + @@ -3725,22 +4304,22 @@ typedef unsigned int GLhandleARB; - - - - - - - - - + + + + + + + + + - - - - + + + + @@ -3831,13 +4410,33 @@ typedef unsigned int GLhandleARB; + + - + + + + + + + - + + + + + + + + + + + + + @@ -3870,6 +4469,10 @@ typedef unsigned int GLhandleARB; + + + + @@ -4385,6 +4988,18 @@ typedef unsigned int GLhandleARB; + + + + + + + + + + + + @@ -10862,7 +11477,10 @@ typedef unsigned int GLhandleARB; - + + + + @@ -10883,7 +11501,8 @@ typedef unsigned int GLhandleARB; - + + @@ -11011,6 +11630,10 @@ typedef unsigned int GLhandleARB; + + + + - - + + @@ -11202,7 +11825,7 @@ typedef unsigned int GLhandleARB; GLenum mode - GLboolean glAcquireKeyedMutexWin32EXT + GLboolean glAcquireKeyedMutexWin32EXT GLuint memory GLuint64 key GLuint timeout @@ -11246,6 +11869,48 @@ typedef unsigned int GLhandleARB; GLuint buffer GLuint offset + + GLuint glAsyncCopyBufferSubDataNVX + GLsizei waitSemaphoreCount + const GLuint *waitSemaphoreArray + const GLuint64 *fenceValueArray + GLuint readGpu + GLbitfield writeGpuMask + GLuint readBuffer + GLuint writeBuffer + GLintptr readOffset + GLintptr writeOffset + GLsizeiptr size + GLsizei signalSemaphoreCount + const GLuint *signalSemaphoreArray + const GLuint64 *signalValueArray + + + GLuint glAsyncCopyImageSubDataNVX + GLsizei waitSemaphoreCount + const GLuint *waitSemaphoreArray + const GLuint64 *waitValueArray + GLuint srcGpu + GLbitfield dstGpuMask + 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 + GLsizei signalSemaphoreCount + const GLuint *signalSemaphoreArray + const GLuint64 *signalValueArray + void glAsyncMarkerSGIX GLuint marker @@ -11542,7 +12207,7 @@ typedef unsigned int GLhandleARB; void glBindProgramARB - GLenum target + GLenum target GLuint program @@ -12126,7 +12791,7 @@ typedef unsigned int GLhandleARB; GLenum target GLintptr offset GLsizeiptr size - GLboolean commit + GLboolean commit void glBufferParameteriAPPLE @@ -12510,6 +13175,12 @@ typedef unsigned int GLhandleARB; void glClientAttribDefaultEXT GLbitfield mask + + void glClientWaitSemaphoreui64NVX + GLsizei fenceObjectCount + const GLuint *semaphoreArray + const GLuint64 *fenceValueArray + GLenum glClientWaitSync GLsync sync @@ -13792,13 +14463,13 @@ typedef unsigned int GLhandleARB; void glCopyImageSubData GLuint srcName - GLenum srcTarget + GLenum srcTarget GLint srcLevel GLint srcX GLint srcY GLint srcZ GLuint dstName - GLenum dstTarget + GLenum dstTarget GLint dstLevel GLint dstX GLint dstY @@ -14206,7 +14877,7 @@ typedef unsigned int GLhandleARB; void glCoverageMaskNV - GLboolean mask + GLboolean mask void glCoverageModulationNV @@ -14258,6 +14929,9 @@ typedef unsigned int GLhandleARB; GLsizei n GLuint *pipelines + + GLuint glCreateProgressFenceNVX + void glCreateQueries GLenum target @@ -14399,7 +15073,7 @@ typedef unsigned int GLhandleARB; GLenum severity GLsizei count const GLuint *ids - GLboolean enabled + GLboolean enabled @@ -14927,9 +15601,9 @@ typedef unsigned int GLhandleARB; void glDiscardFramebufferEXT - GLenum target + GLenum target GLsizei numAttachments - const GLenum *attachments + const GLenum *attachments void glDispatchCompute @@ -15860,7 +16534,7 @@ typedef unsigned int GLhandleARB; GLint *numTextures - GLboolean glExtIsProgramBinaryQCOM + GLboolean glExtIsProgramBinaryQCOM GLuint program @@ -16823,18 +17497,18 @@ typedef unsigned int GLhandleARB; GLuint program GLenum shadertype GLuint index - GLsizei bufsize + GLsizei bufSize GLsizei *length - GLchar *name + GLchar *name void glGetActiveSubroutineUniformName GLuint program GLenum shadertype GLuint index - GLsizei bufsize + GLsizei bufSize GLsizei *length - GLchar *name + GLchar *name void glGetActiveSubroutineUniformiv @@ -17269,7 +17943,7 @@ typedef unsigned int GLhandleARB; void glGetCoverageModulationTableNV - GLsizei bufsize + GLsizei bufSize GLfloat *v @@ -17286,12 +17960,12 @@ typedef unsigned int GLhandleARB; GLuint glGetDebugMessageLogAMD GLuint count - GLsizei bufsize + GLsizei bufSize GLenum *categories GLuint *severities GLuint *ids GLsizei *lengths - GLchar *message + GLchar *message GLuint glGetDebugMessageLogARB @@ -17615,7 +18289,7 @@ typedef unsigned int GLhandleARB; GLuint64 glGetImageHandleARB GLuint texture GLint level - GLboolean layered + GLboolean layered GLint layer GLenum format @@ -17667,6 +18341,12 @@ typedef unsigned int GLhandleARB; GLint64 *params + + void glGetInteger64vEXT + GLenum pname + GLint64 *data + + void glGetIntegerIndexedvEXT GLenum target @@ -17710,24 +18390,24 @@ typedef unsigned int GLhandleARB; GLenum internalformat GLsizei samples GLenum pname - GLsizei bufSize - GLint *params + GLsizei count + GLint *params void glGetInternalformati64v GLenum target GLenum internalformat GLenum pname - GLsizei bufSize - GLint64 *params + GLsizei count + GLint64 *params void glGetInternalformativ GLenum target GLenum internalformat GLenum pname - GLsizei bufSize - GLint *params + GLsizei count + GLint *params void glGetInvariantBooleanvEXT @@ -18594,13 +19274,13 @@ typedef unsigned int GLhandleARB; void glGetProgramEnvParameterdvARB - GLenum target + GLenum target GLuint index GLdouble *params void glGetProgramEnvParameterfvARB - GLenum target + GLenum target GLuint index GLfloat *params @@ -18633,13 +19313,13 @@ typedef unsigned int GLhandleARB; void glGetProgramLocalParameterdvARB - GLenum target + GLenum target GLuint index GLdouble *params void glGetProgramLocalParameterfvARB - GLenum target + GLenum target GLuint index GLfloat *params @@ -18741,9 +19421,9 @@ typedef unsigned int GLhandleARB; GLuint index GLsizei propCount const GLenum *props - GLsizei bufSize - GLsizei *length - GLfloat *params + GLsizei count + GLsizei *length + GLfloat *params void glGetProgramResourceiv @@ -18752,9 +19432,9 @@ typedef unsigned int GLhandleARB; GLuint index GLsizei propCount const GLenum *props - GLsizei bufSize + GLsizei count GLsizei *length - GLint *params + GLint *params void glGetProgramStageiv @@ -18765,8 +19445,8 @@ typedef unsigned int GLhandleARB; void glGetProgramStringARB - GLenum target - GLenum pname + GLenum target + GLenum pname void *string @@ -18791,7 +19471,7 @@ typedef unsigned int GLhandleARB; void glGetProgramivARB - GLenum target + GLenum target GLenum pname GLint *params @@ -19113,17 +19793,17 @@ typedef unsigned int GLhandleARB; void glGetSynciv GLsync sync GLenum pname - GLsizei bufSize + GLsizei count GLsizei *length - GLint *values + GLint *values void glGetSyncivAPPLE GLsync sync GLenum pname - GLsizei bufSize + GLsizei count GLsizei *length - GLint *values + GLint *values @@ -19518,7 +20198,7 @@ typedef unsigned int GLhandleARB; void glGetTranslatedShaderSourceANGLE GLuint shader - GLsizei bufsize + GLsizei bufSize GLsizei *length GLchar *source @@ -19989,7 +20669,7 @@ typedef unsigned int GLhandleARB; void glGetnHistogram GLenum target - GLboolean reset + GLboolean reset GLenum format GLenum type GLsizei bufSize @@ -20049,7 +20729,7 @@ typedef unsigned int GLhandleARB; void glGetnMinmax GLenum target - GLboolean reset + GLboolean reset GLenum format GLenum type GLsizei bufSize @@ -20541,7 +21221,7 @@ typedef unsigned int GLhandleARB; void glInvalidateFramebuffer GLenum target GLsizei numAttachments - const GLenum *attachments + const GLenum *attachments void glInvalidateNamedFramebufferData @@ -20563,7 +21243,7 @@ typedef unsigned int GLhandleARB; void glInvalidateSubFramebuffer GLenum target GLsizei numAttachments - const GLenum *attachments + const GLenum *attachments GLint x GLint y GLsizei width @@ -20603,7 +21283,7 @@ typedef unsigned int GLhandleARB; GLenum target - GLboolean glIsCommandListNV + GLboolean glIsCommandListNV GLuint list @@ -20662,11 +21342,11 @@ typedef unsigned int GLhandleARB; - GLboolean glIsFramebufferOES + GLboolean glIsFramebufferOES GLuint framebuffer - GLboolean glIsImageHandleResidentARB + GLboolean glIsImageHandleResidentARB GLuint64 handle @@ -20742,7 +21422,7 @@ typedef unsigned int GLhandleARB; GLuint pipeline - GLboolean glIsProgramPipelineEXT + GLboolean glIsProgramPipelineEXT GLuint pipeline @@ -20756,7 +21436,7 @@ typedef unsigned int GLhandleARB; - GLboolean glIsQueryEXT + GLboolean glIsQueryEXT GLuint id @@ -20771,7 +21451,7 @@ typedef unsigned int GLhandleARB; - GLboolean glIsRenderbufferOES + GLboolean glIsRenderbufferOES GLuint renderbuffer @@ -20788,7 +21468,7 @@ typedef unsigned int GLhandleARB; - GLboolean glIsStateNV + GLboolean glIsStateNV GLuint state @@ -20796,7 +21476,7 @@ typedef unsigned int GLhandleARB; GLsync sync - GLboolean glIsSyncAPPLE + GLboolean glIsSyncAPPLE GLsync sync @@ -20811,7 +21491,7 @@ typedef unsigned int GLhandleARB; - GLboolean glIsTextureHandleResidentARB + GLboolean glIsTextureHandleResidentARB GLuint64 handle @@ -20843,7 +21523,7 @@ typedef unsigned int GLhandleARB; - GLboolean glIsVertexArrayOES + GLboolean glIsVertexArrayOES GLuint array @@ -21783,7 +22463,7 @@ typedef unsigned int GLhandleARB; void glMultiDrawArrays GLenum mode - const GLint *first + const GLint *first const GLsizei *count GLsizei drawcount @@ -22974,6 +23654,27 @@ typedef unsigned int GLhandleARB; GLenum pname GLuint *params + + void glMulticastScissorArrayvNVX + GLuint gpu + GLuint first + GLsizei count + const GLint *v + + + void glMulticastViewportArrayvNVX + GLuint gpu + GLuint first + GLsizei count + const GLfloat *v + + + void glMulticastViewportPositionWScaleNVX + GLuint gpu + GLuint index + GLfloat xcoeff + GLfloat ycoeff + void glMulticastWaitSyncNV GLuint signalGpu @@ -23004,14 +23705,14 @@ typedef unsigned int GLhandleARB; GLuint buffer GLintptr offset GLsizeiptr size - GLboolean commit + GLboolean commit void glNamedBufferPageCommitmentEXT GLuint buffer GLintptr offset GLsizeiptr size - GLboolean commit + GLboolean commit void glNamedBufferStorage @@ -24367,7 +25068,7 @@ typedef unsigned int GLhandleARB; void glProgramEnvParameter4dARB - GLenum target + GLenum target GLuint index GLdouble x GLdouble y @@ -24377,13 +25078,13 @@ typedef unsigned int GLhandleARB; void glProgramEnvParameter4dvARB - GLenum target + GLenum target GLuint index const GLdouble *params void glProgramEnvParameter4fARB - GLenum target + GLenum target GLuint index GLfloat x GLfloat y @@ -24393,7 +25094,7 @@ typedef unsigned int GLhandleARB; void glProgramEnvParameter4fvARB - GLenum target + GLenum target GLuint index const GLfloat *params @@ -24431,7 +25132,7 @@ typedef unsigned int GLhandleARB; void glProgramEnvParameters4fvEXT - GLenum target + GLenum target GLuint index GLsizei count const GLfloat *params @@ -24453,7 +25154,7 @@ typedef unsigned int GLhandleARB; void glProgramLocalParameter4dARB - GLenum target + GLenum target GLuint index GLdouble x GLdouble y @@ -24463,13 +25164,13 @@ typedef unsigned int GLhandleARB; void glProgramLocalParameter4dvARB - GLenum target + GLenum target GLuint index const GLdouble *params void glProgramLocalParameter4fARB - GLenum target + GLenum target GLuint index GLfloat x GLfloat y @@ -24479,7 +25180,7 @@ typedef unsigned int GLhandleARB; void glProgramLocalParameter4fvARB - GLenum target + GLenum target GLuint index const GLfloat *params @@ -24517,7 +25218,7 @@ typedef unsigned int GLhandleARB; void glProgramLocalParameters4fvEXT - GLenum target + GLenum target GLuint index GLsizei count const GLfloat *params @@ -24655,8 +25356,8 @@ typedef unsigned int GLhandleARB; void glProgramStringARB - GLenum target - GLenum format + GLenum target + GLenum format GLsizei len const void *string @@ -25820,8 +26521,8 @@ typedef unsigned int GLhandleARB; GLint glQueryResourceNV GLenum queryType GLint tagId - GLuint bufSize - GLint *buffer + GLuint count + GLint *buffer void glQueryResourceTagNV @@ -26005,7 +26706,7 @@ typedef unsigned int GLhandleARB; void glRasterSamplesEXT GLuint samples - GLboolean fixedsamplelocations + GLboolean fixedsamplelocations void glReadBuffer @@ -26086,7 +26787,7 @@ typedef unsigned int GLhandleARB; - GLboolean glReleaseKeyedMutexWin32EXT + GLboolean glReleaseKeyedMutexWin32EXT GLuint memory GLuint64 key @@ -26533,12 +27234,12 @@ typedef unsigned int GLhandleARB; void glSampleCoveragex GLclampx value - GLboolean invert + GLboolean invert void glSampleCoveragexOES GLclampx value - GLboolean invert + GLboolean invert void glSampleMapATI @@ -27146,7 +27847,7 @@ typedef unsigned int GLhandleARB; void glShadingRateImageBarrierNV - GLboolean synchronize + GLboolean synchronize void glShadingRateImagePaletteNV @@ -27181,6 +27882,13 @@ typedef unsigned int GLhandleARB; const GLuint *textures const GLenum *dstLayouts + + void glSignalSemaphoreui64NVX + GLuint signalGpu + GLsizei fenceObjectCount + const GLuint *semaphoreArray + const GLuint64 *fenceValueArray + void glSpecializeShader GLuint shader @@ -28346,7 +29054,7 @@ typedef unsigned int GLhandleARB; GLsizei width GLsizei height GLsizei depth - GLboolean commit + GLboolean commit void glTexPageCommitmentEXT @@ -28358,7 +29066,7 @@ typedef unsigned int GLhandleARB; GLsizei width GLsizei height GLsizei depth - GLboolean commit + GLboolean commit @@ -28567,7 +29275,7 @@ typedef unsigned int GLhandleARB; GLenum internalFormat GLsizei width GLsizei height - GLboolean fixedSampleLocations + GLboolean fixedSampleLocations GLuint memory GLuint64 offset @@ -28590,7 +29298,7 @@ typedef unsigned int GLhandleARB; GLsizei width GLsizei height GLsizei depth - GLboolean fixedSampleLocations + GLboolean fixedSampleLocations GLuint memory GLuint64 offset @@ -28887,7 +29595,7 @@ typedef unsigned int GLhandleARB; GLsizei width GLsizei height GLsizei depth - GLboolean commit + GLboolean commit void glTextureParameterIiv @@ -29020,7 +29728,7 @@ typedef unsigned int GLhandleARB; GLenum internalformat GLsizei width GLsizei height - GLboolean fixedsamplelocations + GLboolean fixedsamplelocations void glTextureStorage2DMultisampleEXT @@ -29059,7 +29767,7 @@ typedef unsigned int GLhandleARB; GLsizei width GLsizei height GLsizei depth - GLboolean fixedsamplelocations + GLboolean fixedsamplelocations void glTextureStorage3DMultisampleEXT @@ -29098,7 +29806,7 @@ typedef unsigned int GLhandleARB; GLenum internalFormat GLsizei width GLsizei height - GLboolean fixedSampleLocations + GLboolean fixedSampleLocations GLuint memory GLuint64 offset @@ -29121,7 +29829,7 @@ typedef unsigned int GLhandleARB; GLsizei width GLsizei height GLsizei depth - GLboolean fixedSampleLocations + GLboolean fixedSampleLocations GLuint memory GLuint64 offset @@ -30194,12 +30902,12 @@ typedef unsigned int GLhandleARB; - GLboolean glUnmapBufferOES + GLboolean glUnmapBufferOES GLenum target - GLboolean glUnmapNamedBuffer + GLboolean glUnmapNamedBuffer GLuint buffer @@ -30223,6 +30931,10 @@ typedef unsigned int GLhandleARB; const void *pointer GLenum preserve + + void glUploadGpuMaskNVX + GLbitfield mask + void glUseProgram GLuint program @@ -30256,9 +30968,9 @@ typedef unsigned int GLhandleARB; void glVDPAUGetSurfaceivNV GLvdpauSurfaceNV surface GLenum pname - GLsizei bufSize + GLsizei count GLsizei *length - GLint *values + GLint *values void glVDPAUInitNV @@ -30266,7 +30978,7 @@ typedef unsigned int GLhandleARB; const void *getProcAddress - GLboolean glVDPAUIsSurfaceNV + GLboolean glVDPAUIsSurfaceNV GLvdpauSurfaceNV surface @@ -30631,7 +31343,7 @@ typedef unsigned int GLhandleARB; GLuint attribindex GLint size GLenum type - GLboolean normalized + GLboolean normalized GLuint relativeoffset @@ -30816,7 +31528,7 @@ typedef unsigned int GLhandleARB; GLuint index GLint size GLenum type - GLboolean normalized + GLboolean normalized GLsizei stride GLintptr offset @@ -32806,6 +33518,13 @@ typedef unsigned int GLhandleARB; const GLuint *textures const GLenum *srcLayouts + + void glWaitSemaphoreui64NVX + GLuint waitGpu + GLsizei fenceObjectCount + const GLuint *semaphoreArray + const GLuint64 *fenceValueArray + void glWaitSync GLsync sync @@ -33281,6 +34000,18 @@ typedef unsigned int GLhandleARB; void glSignalVkFenceNV GLuint64 vkFence + + void glFramebufferParameteriMESA + GLenum target + GLenum pname + GLint param + + + void glGetFramebufferParameterivMESA + GLenum target + GLenum pname + GLint *params + @@ -43702,6 +44433,7 @@ typedef unsigned int GLhandleARB; + @@ -44403,6 +45135,7 @@ typedef unsigned int GLhandleARB; + @@ -46853,6 +47586,22 @@ typedef unsigned int GLhandleARB; + + + + + + + + + + + + + + + + @@ -46935,9 +47684,11 @@ typedef unsigned int GLhandleARB; - + + + @@ -47793,6 +48544,25 @@ typedef unsigned int GLhandleARB; + + + + + + + + + + + + + + + + + + + @@ -48453,6 +49223,11 @@ typedef unsigned int GLhandleARB; + + + + + diff --git a/glad/files/glx.xml b/glad/files/glx.xml index 0ce9cba6..4ddd2f64 100644 --- a/glad/files/glx.xml +++ b/glad/files/glx.xml @@ -1,7 +1,7 @@ -Copyright (c) 2013-2018 The Khronos Group Inc. +Copyright (c) 2013-2019 The Khronos Group Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -387,6 +387,11 @@ typedef unsigned __int64 uint64_t; + + + + + @@ -2198,5 +2203,14 @@ typedef unsigned __int64 uint64_t; + + + + + + + + + diff --git a/glad/files/vk.xml b/glad/files/vk.xml index fd8d8382..88d421ac 100644 --- a/glad/files/vk.xml +++ b/glad/files/vk.xml @@ -1,7 +1,7 @@ -Copyright (c) 2015-2019 The Khronos Group Inc. +Copyright (c) 2015-2020 The Khronos Group Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -153,8 +153,10 @@ server. #define VK_API_VERSION_1_0 VK_MAKE_VERSION(1, 0, 0)// Patch version should always be set to 0 // Vulkan 1.1 version number #define VK_API_VERSION_1_1 VK_MAKE_VERSION(1, 1, 0)// Patch version should always be set to 0 + // Vulkan 1.2 version number +#define VK_API_VERSION_1_2 VK_MAKE_VERSION(1, 2, 0)// Patch version should always be set to 0 // Version of this file -#define VK_HEADER_VERSION 113 +#define VK_HEADER_VERSION 131 #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object; @@ -190,18 +192,20 @@ typedef void CAMetalLayer; + + Bitmask types - typedef VkFlags VkFramebufferCreateFlags; + typedef VkFlags VkFramebufferCreateFlags; typedef VkFlags VkQueryPoolCreateFlags; - typedef VkFlags VkRenderPassCreateFlags; + typedef VkFlags VkRenderPassCreateFlags; typedef VkFlags VkSamplerCreateFlags; typedef VkFlags VkPipelineLayoutCreateFlags; typedef VkFlags VkPipelineCacheCreateFlags; @@ -214,7 +218,7 @@ typedef void CAMetalLayer; typedef VkFlags VkPipelineTessellationStateCreateFlags; typedef VkFlags VkPipelineInputAssemblyStateCreateFlags; typedef VkFlags VkPipelineVertexInputStateCreateFlags; - typedef VkFlags VkPipelineShaderStageCreateFlags; + typedef VkFlags VkPipelineShaderStageCreateFlags; typedef VkFlags VkDescriptorSetLayoutCreateFlags; typedef VkFlags VkBufferViewCreateFlags; typedef VkFlags VkInstanceCreateFlags; @@ -237,7 +241,7 @@ typedef void CAMetalLayer; typedef VkFlags VkFormatFeatureFlags; typedef VkFlags VkQueryControlFlags; typedef VkFlags VkQueryResultFlags; - typedef VkFlags VkShaderModuleCreateFlags; + typedef VkFlags VkShaderModuleCreateFlags; typedef VkFlags VkEventCreateFlags; typedef VkFlags VkCommandPoolCreateFlags; typedef VkFlags VkCommandPoolResetFlags; @@ -267,6 +271,12 @@ typedef void CAMetalLayer; typedef VkFlags VkDescriptorUpdateTemplateCreateFlags; typedef VkFlags VkPipelineCreationFeedbackFlagsEXT; + typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR; + typedef VkFlags VkAcquireProfilingLockFlagsKHR; + typedef VkFlags VkSemaphoreWaitFlags; + + typedef VkFlags VkPipelineCompilerControlFlagsAMD; + typedef VkFlags VkShaderCorePropertiesFlagsAMD; WSI extensions typedef VkFlags VkCompositeAlphaFlagsKHR; @@ -326,12 +336,15 @@ typedef void CAMetalLayer; typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT; typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT; typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT; - typedef VkFlags VkDescriptorBindingFlagsEXT; + typedef VkFlags VkDescriptorBindingFlags; + typedef VkFlags VkConditionalRenderingFlagsEXT; - typedef VkFlags VkResolveModeFlagsKHR; + typedef VkFlags VkResolveModeFlags; + typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT; typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT; - + typedef VkFlags VkSwapchainImageUsageFlagsANDROID; + typedef VkFlags VkToolPurposeFlagsEXT; Types which can be void pointers or class pointers, selected at compile time VK_DEFINE_HANDLE(VkInstance) @@ -466,8 +479,6 @@ typedef void CAMetalLayer; - - Extensions @@ -488,7 +499,13 @@ typedef void CAMetalLayer; - + + + + + + + @@ -501,11 +518,23 @@ typedef void CAMetalLayer; + + + + + + + + + + + + WSI extensions @@ -556,17 +585,23 @@ typedef void CAMetalLayer; - + + + + + Enumerated types in the header, but not used by the API - + + + The PFN_vk*Function types are used by VkAllocationCallbacks below typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)( @@ -874,8 +909,8 @@ typedef void CAMetalLayer; VkStructureType sType const void* pNext - VkAccessFlags srcAccessMaskMemory accesses from the source of the dependency to synchronize - VkAccessFlags dstAccessMaskMemory accesses from the destination of the dependency to synchronize + VkAccessFlags srcAccessMaskMemory accesses from the source of the dependency to synchronize + VkAccessFlags dstAccessMaskMemory accesses from the destination of the dependency to synchronize uint32_t srcQueueFamilyIndexQueue family to transition ownership from uint32_t dstQueueFamilyIndexQueue family to transition ownership to VkBuffer bufferBuffer to sync @@ -885,8 +920,8 @@ typedef void CAMetalLayer; VkStructureType sType const void* pNext - VkAccessFlags srcAccessMaskMemory accesses from the source of the dependency to synchronize - VkAccessFlags dstAccessMaskMemory accesses from the destination of the dependency to synchronize + VkAccessFlags srcAccessMaskMemory accesses from the source of the dependency to synchronize + VkAccessFlags dstAccessMaskMemory accesses from the destination of the dependency to synchronize VkImageLayout oldLayoutCurrent layout of the image VkImageLayout newLayoutNew layout to transition the image to uint32_t srcQueueFamilyIndexQueue family to transition ownership from @@ -1349,7 +1384,7 @@ typedef void CAMetalLayer; VkStructureType sType const void* pNext - VkRenderPassCreateFlags flags + VkRenderPassCreateFlags flags uint32_t attachmentCount const VkAttachmentDescription* pAttachments uint32_t subpassCount @@ -1567,7 +1602,7 @@ typedef void CAMetalLayer; VkFramebufferCreateFlags flags VkRenderPass renderPass uint32_t attachmentCount - const VkImageView* pAttachments + const VkImageView* pAttachments uint32_t width uint32_t height uint32_t layers @@ -2027,20 +2062,22 @@ typedef void CAMetalLayer; void* pNext uint32_t maxPushDescriptors - + uint8_t major uint8_t minor uint8_t subminor uint8_t patch - - VkStructureType sType + + + VkStructureType sType void* pNext - VkDriverIdKHR driverID - char driverName[VK_MAX_DRIVER_NAME_SIZE_KHR] - char driverInfo[VK_MAX_DRIVER_INFO_SIZE_KHR] - VkConformanceVersionKHR conformanceVersion + VkDriverId driverID + char driverName[VK_MAX_DRIVER_NAME_SIZE] + char driverInfo[VK_MAX_DRIVER_INFO_SIZE] + VkConformanceVersion conformanceVersion + VkStructureType sType const void* pNext @@ -2499,7 +2536,7 @@ typedef void CAMetalLayer; uint32_t descriptorUpdateEntryCountNumber of descriptor update entries to use for the update template const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntriesDescriptor update entries for the template VkDescriptorUpdateTemplateType templateType - VkDescriptorSetLayout descriptorSetLayout + VkDescriptorSetLayout descriptorSetLayout VkPipelineBindPoint pipelineBindPoint VkPipelineLayoutpipelineLayoutIf used for push descriptors, this is the only allowed layout uint32_t set @@ -2690,6 +2727,12 @@ typedef void CAMetalLayer; VkSubgroupFeatureFlags supportedOperationsBitfield of what subgroup operations are supported. VkBool32 quadOperationsInAllStagesFlag to specify whether quad operations are available in all stages. + + VkStructureType sType + void* pNext + VkBool32 shaderSubgroupExtendedTypesFlag to specify whether subgroup operations with extended types are supported + + VkStructureType sType const void* pNext @@ -2825,7 +2868,7 @@ typedef void CAMetalLayer; VkStructureType sType const void* pNext - VkDeviceQueueCreateFlags flags + VkDeviceQueueCreateFlags flags uint32_t queueFamilyIndex uint32_t queueIndex @@ -2836,12 +2879,13 @@ typedef void CAMetalLayer; VkBool32 coverageToColorEnable uint32_t coverageToColorLocation - - VkStructureType sType + + VkStructureType sType void* pNext VkBool32 filterMinmaxSingleComponentFormats VkBool32 filterMinmaxImageComponentMapping + float x float y @@ -2890,11 +2934,12 @@ typedef void CAMetalLayer; void* pNext VkExtent2D maxSampleLocationGridSize - - VkStructureType sType - const void* pNext - VkSamplerReductionModeEXT reductionMode + + VkStructureType sType + const void* pNext + VkSamplerReductionMode reductionMode + VkStructureType sType void* pNext @@ -2952,12 +2997,13 @@ typedef void CAMetalLayer; uint32_t coverageModulationTableCount const float* pCoverageModulationTable - - VkStructureType sType - const void* pNext + + VkStructureType sType + const void* pNext uint32_t viewFormatCount - const VkFormat* pViewFormats + const VkFormat* pViewFormats + VkStructureType sType const void* pNext @@ -2989,38 +3035,46 @@ typedef void CAMetalLayer; VkBool32 shaderDrawParameters - - VkStructureType sType - void* pNext - VkBool32 shaderFloat16 - VkBool32 shaderInt8 - - - VkStructureType sType + + VkStructureType sType + void* pNext + VkBool32 shaderFloat1616-bit floats (halfs) in shaders + VkBool32 shaderInt88-bit integers in shaders + + + + + VkStructureType sType void* pNext - VkBool32 separateDenormSettings - VkBool32 separateRoundingModeSettings - VkBool32 shaderSignedZeroInfNanPreserveFloat16 - VkBool32 shaderSignedZeroInfNanPreserveFloat32 - VkBool32 shaderSignedZeroInfNanPreserveFloat64 - VkBool32 shaderDenormPreserveFloat16 - VkBool32 shaderDenormPreserveFloat32 - VkBool32 shaderDenormPreserveFloat64 - VkBool32 shaderDenormFlushToZeroFloat16 - VkBool32 shaderDenormFlushToZeroFloat32 - VkBool32 shaderDenormFlushToZeroFloat64 - VkBool32 shaderRoundingModeRTEFloat16 - VkBool32 shaderRoundingModeRTEFloat32 - VkBool32 shaderRoundingModeRTEFloat64 - VkBool32 shaderRoundingModeRTZFloat16 - VkBool32 shaderRoundingModeRTZFloat32 - VkBool32 shaderRoundingModeRTZFloat64 - - - VkStructureType sType + VkShaderFloatControlsIndependence denormBehaviorIndependence + VkShaderFloatControlsIndependence roundingModeIndependence + VkBool32 shaderSignedZeroInfNanPreserveFloat16An implementation can preserve signed zero, nan, inf + VkBool32 shaderSignedZeroInfNanPreserveFloat32An implementation can preserve signed zero, nan, inf + VkBool32 shaderSignedZeroInfNanPreserveFloat64An implementation can preserve signed zero, nan, inf + VkBool32 shaderDenormPreserveFloat16An implementation can preserve denormals + VkBool32 shaderDenormPreserveFloat32An implementation can preserve denormals + VkBool32 shaderDenormPreserveFloat64An implementation can preserve denormals + VkBool32 shaderDenormFlushToZeroFloat16An implementation can flush to zero denormals + VkBool32 shaderDenormFlushToZeroFloat32An implementation can flush to zero denormals + VkBool32 shaderDenormFlushToZeroFloat64An implementation can flush to zero denormals + VkBool32 shaderRoundingModeRTEFloat16An implementation can support RTE + VkBool32 shaderRoundingModeRTEFloat32An implementation can support RTE + VkBool32 shaderRoundingModeRTEFloat64An implementation can support RTE + VkBool32 shaderRoundingModeRTZFloat16An implementation can support RTZ + VkBool32 shaderRoundingModeRTZFloat32An implementation can support RTZ + VkBool32 shaderRoundingModeRTZFloat64An implementation can support RTZ + + + + VkStructureType sType void* pNext VkBool32 hostQueryReset + + + uint64_t consumer + uint64_t producer + VkStructureType sType const void* pNext @@ -3028,6 +3082,17 @@ typedef void CAMetalLayer; int stride int format int usage + VkNativeBufferUsage2ANDROID usage2 + + + VkStructureType sType + const void* pNext + VkSwapchainImageUsageFlagsANDROID usage + + + VkStructureType sType + const void* pNext + VkBool32 sharedImage uint32_t numUsedVgprs @@ -3113,7 +3178,7 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNextPointer to next structure + void* pNext float primitiveOverestimationSizeThe size in pixels the primitive is enlarged at each edge during conservative rasterization float maxExtraPrimitiveOverestimationSizeThe maximum additional overestimation the client can specify in the pipeline state float extraPrimitiveOverestimationSizeGranularityThe granularity of extra overestimation sizes the implementations supports between 0 and maxExtraOverestimationSize @@ -3131,7 +3196,7 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNextPointer to next structure + void* pNext uint32_t shaderEngineCountnumber of shader engines uint32_t shaderArraysPerEngineCountnumber of shader arrays uint32_t computeUnitsPerShaderArraynumber of physical CUs per shader array @@ -3147,15 +3212,21 @@ typedef void CAMetalLayer; uint32_t maxVgprAllocationnumber of available VGPRs uint32_t vgprAllocationGranularityVGPRs are allocated in groups of this size + + VkStructureType sType + void* pNextPointer to next structure + VkShaderCorePropertiesFlagsAMD shaderCoreFeaturesfeatures supported by the shader core + uint32_t activeComputeUnitCountnumber of active compute units across all shader engines/arrays + VkStructureType sType - const void* pNext - VkPipelineRasterizationConservativeStateCreateFlagsEXT flags - VkConservativeRasterizationModeEXT conservativeRasterizationMode - float extraPrimitiveOverestimationSize + const void* pNext + VkPipelineRasterizationConservativeStateCreateFlagsEXT flagsReserved + VkConservativeRasterizationModeEXT conservativeRasterizationModeConservative rasterization mode + float extraPrimitiveOverestimationSizeExtra overestimation to add to the primitive - - VkStructureType sType + + VkStructureType sType void* pNext VkBool32 shaderInputAttachmentArrayDynamicIndexing VkBool32 shaderUniformTexelBufferArrayDynamicIndexing @@ -3178,8 +3249,9 @@ typedef void CAMetalLayer; VkBool32 descriptorBindingVariableDescriptorCount VkBool32 runtimeDescriptorArray - - VkStructureType sType + + + VkStructureType sType void* pNext uint32_t maxUpdateAfterBindDescriptorsInAllPools VkBool32 shaderUniformBufferArrayNonUniformIndexingNative @@ -3205,25 +3277,29 @@ typedef void CAMetalLayer; uint32_t maxDescriptorSetUpdateAfterBindStorageImages uint32_t maxDescriptorSetUpdateAfterBindInputAttachments - - VkStructureType sType - const void* pNext - uint32_t bindingCount - const VkDescriptorBindingFlagsEXT* pBindingFlags + + + VkStructureType sType + const void* pNext + uint32_t bindingCount + const VkDescriptorBindingFlags* pBindingFlags - - VkStructureType sType - const void* pNext + + + VkStructureType sType + const void* pNext uint32_t descriptorSetCount const uint32_t* pDescriptorCounts - - VkStructureType sType + + + VkStructureType sType void* pNext uint32_t maxVariableDescriptorCount - - VkStructureType sType + + + VkStructureType sType const void* pNext VkAttachmentDescriptionFlags flags VkFormat format @@ -3235,30 +3311,33 @@ typedef void CAMetalLayer; VkImageLayout initialLayout VkImageLayout finalLayout - - VkStructureType sType + + + VkStructureType sType const void* pNext uint32_t attachment VkImageLayout layout VkImageAspectFlags aspectMask - - VkStructureType sType + + + VkStructureType sType const void* pNext VkSubpassDescriptionFlags flags VkPipelineBindPoint pipelineBindPoint uint32_t viewMask uint32_t inputAttachmentCount - const VkAttachmentReference2KHR* pInputAttachments + const VkAttachmentReference2* pInputAttachments uint32_t colorAttachmentCount - const VkAttachmentReference2KHR* pColorAttachments - const VkAttachmentReference2KHR* pResolveAttachments - const VkAttachmentReference2KHR* pDepthStencilAttachment + const VkAttachmentReference2* pColorAttachments + const VkAttachmentReference2* pResolveAttachments + const VkAttachmentReference2* pDepthStencilAttachment uint32_t preserveAttachmentCount const uint32_t* pPreserveAttachments - - VkStructureType sType + + + VkStructureType sType const void* pNext uint32_t srcSubpass uint32_t dstSubpass @@ -3269,28 +3348,76 @@ typedef void CAMetalLayer; VkDependencyFlags dependencyFlags int32_t viewOffset - - VkStructureType sType + + + VkStructureType sType const void* pNext - VkRenderPassCreateFlags flags + VkRenderPassCreateFlags flags uint32_t attachmentCount - const VkAttachmentDescription2KHR* pAttachments + const VkAttachmentDescription2* pAttachments uint32_t subpassCount - const VkSubpassDescription2KHR* pSubpasses + const VkSubpassDescription2* pSubpasses uint32_t dependencyCount - const VkSubpassDependency2KHR* pDependencies + const VkSubpassDependency2* pDependencies uint32_t correlatedViewMaskCount const uint32_t* pCorrelatedViewMasks - - VkStructureType sType + + + VkStructureType sType const void* pNext VkSubpassContents contents - - VkStructureType sType + + + VkStructureType sType + const void* pNext + + + + VkStructureType sType + void* pNext + VkBool32 timelineSemaphore + + + + VkStructureType sType + void* pNext + uint64_t maxTimelineSemaphoreValueDifference + + + + VkStructureType sType const void* pNext + VkSemaphoreType semaphoreType + uint64_t initialValue + + + VkStructureType sType + const void* pNext + uint32_t waitSemaphoreValueCount + const uint64_t* pWaitSemaphoreValues + uint32_t signalSemaphoreValueCount + const uint64_t* pSignalSemaphoreValues + + + + VkStructureType sType + const void* pNext + VkSemaphoreWaitFlags flags + uint32_t semaphoreCount + const VkSemaphore* pSemaphores + const uint64_t* pValues + + + + VkStructureType sType + const void* pNext + VkSemaphore semaphore + uint64_t value + + uint32_t binding uint32_t divisor @@ -3357,32 +3484,35 @@ typedef void CAMetalLayer; void* pNext uint64_t externalFormat - - VkStructureType sType + + VkStructureType sType void* pNext VkBool32 storageBuffer8BitAccess8-bit integer variables supported in StorageBuffer VkBool32 uniformAndStorageBuffer8BitAccess8-bit integer variables supported in StorageBuffer and Uniform VkBool32 storagePushConstant88-bit integer variables supported in PushConstant + VkStructureType sType void* pNext VkBool32 conditionalRendering VkBool32 inheritedConditionalRendering - - VkStructureType sType + + VkStructureType sType void* pNext VkBool32 vulkanMemoryModel VkBool32 vulkanMemoryModelDeviceScope VkBool32 vulkanMemoryModelAvailabilityVisibilityChains - - VkStructureType sType + + + VkStructureType sType void* pNext VkBool32 shaderBufferInt64Atomics VkBool32 shaderSharedInt64Atomics + VkStructureType sType void* pNext @@ -3400,21 +3530,23 @@ typedef void CAMetalLayer; VkPipelineStageFlagBits stage void* pCheckpointMarker - - VkStructureType sType + + VkStructureType sType void* pNext - VkResolveModeFlagsKHR supportedDepthResolveModessupported depth resolve modes - VkResolveModeFlagsKHR supportedStencilResolveModessupported stencil resolve modes + VkResolveModeFlags supportedDepthResolveModessupported depth resolve modes + VkResolveModeFlags supportedStencilResolveModessupported stencil resolve modes VkBool32 independentResolveNonedepth and stencil resolve modes can be set independently if one of them is none VkBool32 independentResolvedepth and stencil resolve modes can be set independently - - VkStructureType sType + + + VkStructureType sType const void* pNext - VkResolveModeFlagBitsKHR depthResolveModedepth resolve mode - VkResolveModeFlagBitsKHR stencilResolveModestencil resolve mode - const VkAttachmentReference2KHR* pDepthStencilResolveAttachmentdepth/stencil resolve attachment + VkResolveModeFlagBits depthResolveModedepth resolve mode + VkResolveModeFlagBits stencilResolveModestencil resolve mode + const VkAttachmentReference2* pDepthStencilResolveAttachmentdepth/stencil resolve attachment + VkStructureType sType const void* pNext @@ -3708,11 +3840,12 @@ typedef void CAMetalLayer; void* pNext uint64_t drmFormatModifier - - VkStructureType sType + + VkStructureType sType const void* pNext VkImageUsageFlags stencilUsage + VkStructureType sType const void* pNext @@ -3732,35 +3865,37 @@ typedef void CAMetalLayer; VkExtent2D maxFragmentDensityTexelSize VkBool32 fragmentDensityInvocations - + VkStructureType sType const void* pNext VkAttachmentReference fragmentDensityMapAttachment - - VkStructureType sType + + VkStructureType sType void* pNext VkBool32 scalarBlockLayout + VkStructureType sType const void* pNext VkBool32 supportsProtectedRepresents if surface can be protected - - VkStructureType sType + + VkStructureType sType void* pNext VkBool32 uniformBufferStandardLayout + VkStructureType sType - void* pNextPointer to next structure + void* pNext VkBool32 depthClipEnable VkStructureType sType - const void* pNext - VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags + const void* pNext + VkPipelineRasterizationDepthClipStateCreateFlagsEXT flagsReserved VkBool32 depthClipEnable @@ -3779,6 +3914,14 @@ typedef void CAMetalLayer; const void* pNext float priority + + VkStructureType sType + void* pNext + VkBool32 bufferDeviceAddress + VkBool32 bufferDeviceAddressCaptureReplay + VkBool32 bufferDeviceAddressMultiDevice + + VkStructureType sType void* pNext @@ -3786,12 +3929,20 @@ typedef void CAMetalLayer; VkBool32 bufferDeviceAddressCaptureReplay VkBool32 bufferDeviceAddressMultiDevice - - - VkStructureType sType + + + VkStructureType sType const void* pNext VkBuffer buffer + + + + VkStructureType sType + const void* pNext + uint64_t opaqueCaptureAddress + + VkStructureType sType const void* pNext @@ -3805,8 +3956,45 @@ typedef void CAMetalLayer; VkStructureType sType void* pNext - VkBool32 filterCubic - VkBool32 filterCubicMinmax + VkBool32 filterCubicThe combinations of format, image type (and image view type if provided) can be filtered with VK_FILTER_CUBIC_EXT + VkBool32 filterCubicMinmaxThe combination of format, image type (and image view type if provided) can be filtered with VK_FILTER_CUBIC_EXT and ReductionMode of Min or Max + + + VkStructureType sType + void* pNext + VkBool32 imagelessFramebuffer + + + + VkStructureType sType + const void* pNext + uint32_t attachmentImageInfoCount + const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos + + + + VkStructureType sType + const void* pNext + VkImageCreateFlags flagsImage creation flags + VkImageUsageFlags usageImage usage flags + uint32_t width + uint32_t height + uint32_t layerCount + uint32_t viewFormatCount + const VkFormat* pViewFormats + + + + VkStructureType sType + const void* pNext + uint32_t attachmentCount + const VkImageView* pAttachments + + + + VkStructureType sType + void* pNext + VkBool32 textureCompressionASTC_HDR VkStructureType sType @@ -3874,6 +4062,58 @@ typedef void CAMetalLayer; void* pNext VkBool32 fullScreenExclusiveSupported + + VkStructureType sType + void* pNext + VkBool32 performanceCounterQueryPoolsperformance counters supported in query pools + VkBool32 performanceCounterMultipleQueryPoolsperformance counters from multiple query pools can be accessed in the same primary command buffer + + VkStructureType sType + void* pNext + VkBool32 allowCommandBufferQueryCopiesFlag to specify whether performance queries are allowed to be used in vkCmdCopyQueryPoolResults + + + VkStructureType sType + const void* pNext + VkPerformanceCounterUnitKHR unit + VkPerformanceCounterScopeKHR scope + VkPerformanceCounterStorageKHR storage + uint8_t uuid[VK_UUID_SIZE] + + + VkStructureType sType + const void* pNext + VkPerformanceCounterDescriptionFlagsKHR flags + char name[VK_MAX_DESCRIPTION_SIZE] + char category[VK_MAX_DESCRIPTION_SIZE] + char description[VK_MAX_DESCRIPTION_SIZE] + + + VkStructureType sType + const void* pNext + uint32_t queueFamilyIndex + uint32_t counterIndexCount + const uint32_t* pCounterIndices + + + int32_t int32 + int64_t int64 + uint32_t uint32 + uint64_t uint64 + float float32 + double float64 + + + VkStructureType sType + const void* pNext + VkAcquireProfilingLockFlagsKHR flagsAcquire profiling lock flags + uint64_t timeout + + + VkStructureType sType + const void* pNext + uint32_t counterPassIndexIndex for which counter pass to submit + VkStructureType sType const void* pNext @@ -3898,8 +4138,8 @@ typedef void CAMetalLayer; VkSampleCountFlags depthStencilSamples VkSampleCountFlags colorSamples - - VkStructureType sType + + VkStructureType sType void* pNext VkBool32 shaderIntegerFunctions2 @@ -3946,6 +4186,17 @@ typedef void CAMetalLayer; const void* pNext VkPerformanceConfigurationTypeINTEL type + + VkStructureType sType + void* pNext + VkBool32 shaderSubgroupClock + VkBool32 shaderDeviceClock + + + VkStructureType sType + void* pNext + VkBool32 indexTypeUint8 + VkStructureType sType void* pNext @@ -3964,6 +4215,72 @@ typedef void CAMetalLayer; VkBool32 fragmentShaderPixelInterlock VkBool32 fragmentShaderShadingRateInterlock + + VkStructureTypesType + void* pNext + VkBool32 separateDepthStencilLayouts + + + + VkStructureTypesType + void* pNext + VkImageLayout stencilLayout + + + + VkStructureTypesType + void* pNext + VkImageLayout stencilInitialLayout + VkImageLayout stencilFinalLayout + + + + VkStructureType sType + void* pNext + VkBool32 pipelineExecutableInfo + + + VkStructureType sType + const void* pNext + VkPipeline pipeline + + + VkStructureType sType + void* pNext + VkShaderStageFlags stages + char name[VK_MAX_DESCRIPTION_SIZE] + char description[VK_MAX_DESCRIPTION_SIZE] + uint32_t subgroupSize + + + VkStructureType sType + const void* pNext + VkPipeline pipeline + uint32_t executableIndex + + + VkBool32 b32 + int64_t i64 + uint64_t u64 + double f64 + + + VkStructureType sType + void* pNext + char name[VK_MAX_DESCRIPTION_SIZE] + char description[VK_MAX_DESCRIPTION_SIZE] + VkPipelineExecutableStatisticFormatKHR format + VkPipelineExecutableStatisticValueKHR value + + + VkStructureType sType + void* pNext + char name[VK_MAX_DESCRIPTION_SIZE] + char description[VK_MAX_DESCRIPTION_SIZE] + VkBool32 isText + size_t dataSize + void* pData + VkStructureType sType void* pNext @@ -3974,7 +4291,7 @@ typedef void CAMetalLayer; void* pNext VkBool32 texelBufferAlignment - + VkStructureType sType void* pNext VkDeviceSize storageTexelBufferOffsetAlignmentBytes @@ -3982,6 +4299,221 @@ typedef void CAMetalLayer; VkDeviceSize uniformTexelBufferOffsetAlignmentBytes VkBool32 uniformTexelBufferOffsetSingleTexelAlignment + + VkStructureType sType + void* pNext + VkBool32 subgroupSizeControl + VkBool32 computeFullSubgroups + + + VkStructureType sType + void* pNext + uint32_t minSubgroupSizeThe minimum subgroup size supported by this device + uint32_t maxSubgroupSizeThe maximum subgroup size supported by this device + uint32_t maxComputeWorkgroupSubgroupsThe maximum number of subgroups supported in a workgroup + VkShaderStageFlags requiredSubgroupSizeStagesThe shader stages that support specifying a subgroup size + + + VkStructureType sType + void* pNext + uint32_t requiredSubgroupSize + + + VkStructureType sType + const void* pNext + uint64_t opaqueCaptureAddress + + + + VkStructureType sType + const void* pNext + VkDeviceMemory memory + + + + VkStructureType sType + void* pNext + VkBool32 rectangularLines + VkBool32 bresenhamLines + VkBool32 smoothLines + VkBool32 stippledRectangularLines + VkBool32 stippledBresenhamLines + VkBool32 stippledSmoothLines + + + VkStructureType sType + void* pNext + uint32_t lineSubPixelPrecisionBits + + + VkStructureType sType + const void* pNext + VkLineRasterizationModeEXT lineRasterizationMode + VkBool32 stippledLineEnable + uint32_t lineStippleFactor + uint16_t lineStipplePattern + + + VkStructureTypesType + void* pNext + VkBool32 storageBuffer16BitAccess16-bit integer/floating-point variables supported in BufferBlock + VkBool32 uniformAndStorageBuffer16BitAccess16-bit integer/floating-point variables supported in BufferBlock and Block + VkBool32 storagePushConstant1616-bit integer/floating-point variables supported in PushConstant + VkBool32 storageInputOutput1616-bit integer/floating-point variables supported in shader inputs and outputs + VkBool32 multiviewMultiple views in a renderpass + VkBool32 multiviewGeometryShaderMultiple views in a renderpass w/ geometry shader + VkBool32 multiviewTessellationShaderMultiple views in a renderpass w/ tessellation shader + VkBool32 variablePointersStorageBuffer + VkBool32 variablePointers + VkBool32 protectedMemory + VkBool32 samplerYcbcrConversionSampler color conversion supported + VkBool32 shaderDrawParameters + + + VkStructureTypesType + void* pNext + uint8_t deviceUUID[VK_UUID_SIZE] + uint8_t driverUUID[VK_UUID_SIZE] + uint8_t deviceLUID[VK_LUID_SIZE] + uint32_t deviceNodeMask + VkBool32 deviceLUIDValid + uint32_t subgroupSizeThe size of a subgroup for this queue. + VkShaderStageFlags subgroupSupportedStagesBitfield of what shader stages support subgroup operations + VkSubgroupFeatureFlags subgroupSupportedOperationsBitfield of what subgroup operations are supported. + VkBool32 subgroupQuadOperationsInAllStagesFlag to specify whether quad operations are available in all stages. + VkPointClippingBehavior pointClippingBehavior + uint32_t maxMultiviewViewCountmax number of views in a subpass + uint32_t maxMultiviewInstanceIndexmax instance index for a draw in a multiview subpass + VkBool32 protectedNoFault + uint32_t maxPerSetDescriptors + VkDeviceSize maxMemoryAllocationSize + + + VkStructureTypesType + void* pNext + VkBool32 samplerMirrorClampToEdge + VkBool32 drawIndirectCount + VkBool32 storageBuffer8BitAccess8-bit integer variables supported in StorageBuffer + VkBool32 uniformAndStorageBuffer8BitAccess8-bit integer variables supported in StorageBuffer and Uniform + VkBool32 storagePushConstant88-bit integer variables supported in PushConstant + VkBool32 shaderBufferInt64Atomics + VkBool32 shaderSharedInt64Atomics + VkBool32 shaderFloat1616-bit floats (halfs) in shaders + VkBool32 shaderInt88-bit integers in shaders + VkBool32 descriptorIndexing + VkBool32 shaderInputAttachmentArrayDynamicIndexing + VkBool32 shaderUniformTexelBufferArrayDynamicIndexing + VkBool32 shaderStorageTexelBufferArrayDynamicIndexing + VkBool32 shaderUniformBufferArrayNonUniformIndexing + VkBool32 shaderSampledImageArrayNonUniformIndexing + VkBool32 shaderStorageBufferArrayNonUniformIndexing + VkBool32 shaderStorageImageArrayNonUniformIndexing + VkBool32 shaderInputAttachmentArrayNonUniformIndexing + VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing + VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing + VkBool32 descriptorBindingUniformBufferUpdateAfterBind + VkBool32 descriptorBindingSampledImageUpdateAfterBind + VkBool32 descriptorBindingStorageImageUpdateAfterBind + VkBool32 descriptorBindingStorageBufferUpdateAfterBind + VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind + VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind + VkBool32 descriptorBindingUpdateUnusedWhilePending + VkBool32 descriptorBindingPartiallyBound + VkBool32 descriptorBindingVariableDescriptorCount + VkBool32 runtimeDescriptorArray + VkBool32 samplerFilterMinmax + VkBool32 scalarBlockLayout + VkBool32 imagelessFramebuffer + VkBool32 uniformBufferStandardLayout + VkBool32 shaderSubgroupExtendedTypes + VkBool32 separateDepthStencilLayouts + VkBool32 hostQueryReset + VkBool32 timelineSemaphore + VkBool32 bufferDeviceAddress + VkBool32 bufferDeviceAddressCaptureReplay + VkBool32 bufferDeviceAddressMultiDevice + VkBool32 vulkanMemoryModel + VkBool32 vulkanMemoryModelDeviceScope + VkBool32 vulkanMemoryModelAvailabilityVisibilityChains + VkBool32 shaderOutputViewportIndex + VkBool32 shaderOutputLayer + VkBool32 subgroupBroadcastDynamicId + + + VkStructureTypesType + void* pNext + VkDriverId driverID + char driverName[VK_MAX_DRIVER_NAME_SIZE] + char driverInfo[VK_MAX_DRIVER_INFO_SIZE] + VkConformanceVersion conformanceVersion + VkShaderFloatControlsIndependencedenormBehaviorIndependence + VkShaderFloatControlsIndependenceroundingModeIndependence + VkBool32 shaderSignedZeroInfNanPreserveFloat16An implementation can preserve signed zero, nan, inf + VkBool32 shaderSignedZeroInfNanPreserveFloat32An implementation can preserve signed zero, nan, inf + VkBool32 shaderSignedZeroInfNanPreserveFloat64An implementation can preserve signed zero, nan, inf + VkBool32 shaderDenormPreserveFloat16An implementation can preserve denormals + VkBool32 shaderDenormPreserveFloat32An implementation can preserve denormals + VkBool32 shaderDenormPreserveFloat64An implementation can preserve denormals + VkBool32 shaderDenormFlushToZeroFloat16An implementation can flush to zero denormals + VkBool32 shaderDenormFlushToZeroFloat32An implementation can flush to zero denormals + VkBool32 shaderDenormFlushToZeroFloat64An implementation can flush to zero denormals + VkBool32 shaderRoundingModeRTEFloat16An implementation can support RTE + VkBool32 shaderRoundingModeRTEFloat32An implementation can support RTE + VkBool32 shaderRoundingModeRTEFloat64An implementation can support RTE + VkBool32 shaderRoundingModeRTZFloat16An implementation can support RTZ + VkBool32 shaderRoundingModeRTZFloat32An implementation can support RTZ + VkBool32 shaderRoundingModeRTZFloat64An implementation can support RTZ + uint32_t maxUpdateAfterBindDescriptorsInAllPools + VkBool32 shaderUniformBufferArrayNonUniformIndexingNative + VkBool32 shaderSampledImageArrayNonUniformIndexingNative + VkBool32 shaderStorageBufferArrayNonUniformIndexingNative + VkBool32 shaderStorageImageArrayNonUniformIndexingNative + VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative + VkBool32 robustBufferAccessUpdateAfterBind + VkBool32 quadDivergentImplicitLod + uint32_t maxPerStageDescriptorUpdateAfterBindSamplers + uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers + uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers + uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages + uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages + uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments + uint32_t maxPerStageUpdateAfterBindResources + uint32_t maxDescriptorSetUpdateAfterBindSamplers + uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers + uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic + uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers + uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic + uint32_t maxDescriptorSetUpdateAfterBindSampledImages + uint32_t maxDescriptorSetUpdateAfterBindStorageImages + uint32_t maxDescriptorSetUpdateAfterBindInputAttachments + VkResolveModeFlags supportedDepthResolveModessupported depth resolve modes + VkResolveModeFlags supportedStencilResolveModessupported stencil resolve modes + VkBool32 independentResolveNonedepth and stencil resolve modes can be set independently if one of them is none + VkBool32 independentResolvedepth and stencil resolve modes can be set independently + VkBool32 filterMinmaxSingleComponentFormats + VkBool32 filterMinmaxImageComponentMapping + uint64_t maxTimelineSemaphoreValueDifference + VkSampleCountFlags framebufferIntegerColorSampleCounts + + + VkStructureType sType + const void* pNext + VkPipelineCompilerControlFlagsAMD compilerControlFlags + + + VkStructureType sType + void* pNext + VkBool32 deviceCoherentMemory + + + VkStructureType sType + void* pNext + char name[VK_MAX_EXTENSION_NAME_SIZE] + char version[VK_MAX_EXTENSION_NAME_SIZE] + VkToolPurposeFlagsEXT purposes + char description[VK_MAX_DESCRIPTION_SIZE] + char layer[VK_MAX_EXTENSION_NAME_SIZE] + Vulkan enumerant (token) definitions @@ -4009,8 +4541,10 @@ typedef void CAMetalLayer; - - + + + + @@ -4512,7 +5046,8 @@ typedef void CAMetalLayer; - + + @@ -4647,6 +5182,8 @@ typedef void CAMetalLayer; + + @@ -4656,6 +5193,8 @@ typedef void CAMetalLayer; + + @@ -4756,7 +5295,8 @@ typedef void CAMetalLayer; - + + @@ -4764,6 +5304,13 @@ typedef void CAMetalLayer; + + + + + + + WSI Extensions @@ -4799,6 +5346,9 @@ typedef void CAMetalLayer; + + + @@ -4868,12 +5418,11 @@ typedef void CAMetalLayer; - Placeholder for validation enums to be defined for VK_EXT_Validation_flags extension - Placeholder for validation feature enable enums to be defined for VK_EXT_validation_features extension + @@ -4883,7 +5432,6 @@ typedef void CAMetalLayer; - Placeholder for validation feature disable enums to be defined for VK_EXT_validation_features extension @@ -5016,10 +5564,10 @@ typedef void CAMetalLayer; - - - - + + + + @@ -5085,11 +5633,11 @@ typedef void CAMetalLayer; - - - - - + + + + + Vendor IDs are now represented as enums instead of the old @@ -5100,32 +5648,32 @@ typedef void CAMetalLayer; - + Driver IDs are now represented as enums instead of the old <driverids> tag, allowing them to be included in the API headers. - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - + + + + + + @@ -5191,6 +5739,8 @@ typedef void CAMetalLayer; + + @@ -5221,6 +5771,43 @@ typedef void CAMetalLayer; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5242,6 +5829,34 @@ typedef void CAMetalLayer; + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5373,7 +5988,7 @@ typedef void CAMetalLayer; all sname:VkQueue objects created from pname:device - + VkResult vkAllocateMemory VkDevice device const VkMemoryAllocateInfo* pAllocateInfo @@ -5424,7 +6039,7 @@ typedef void CAMetalLayer; VkBuffer buffer VkMemoryRequirements* pMemoryRequirements - + VkResult vkBindBufferMemory VkDevice device VkBuffer buffer @@ -5567,13 +6182,14 @@ typedef void CAMetalLayer; VkQueryResultFlags flags - void vkResetQueryPoolEXT + void vkResetQueryPool VkDevice device VkQueryPool queryPool uint32_t firstQuery uint32_t queryCount - + + VkResult vkCreateBuffer VkDevice device const VkBufferCreateInfo* pCreateInfo @@ -5748,7 +6364,7 @@ typedef void CAMetalLayer; VkDescriptorPool descriptorPool const VkAllocationCallbacks* pAllocator - + VkResult vkResetDescriptorPool VkDevice device VkDescriptorPool descriptorPool @@ -5763,7 +6379,7 @@ typedef void CAMetalLayer; const VkDescriptorSetAllocateInfo* pAllocateInfo VkDescriptorSet* pDescriptorSets - + VkResult vkFreeDescriptorSets VkDevice device VkDescriptorPool descriptorPool @@ -6640,7 +7256,7 @@ typedef void CAMetalLayer; const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo VkExternalSemaphoreProperties* pExternalSemaphoreProperties - + VkResult vkGetSemaphoreWin32HandleKHR VkDevice device @@ -6669,7 +7285,7 @@ typedef void CAMetalLayer; const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo VkExternalFenceProperties* pExternalFenceProperties - + VkResult vkGetFenceWin32HandleKHR VkDevice device @@ -6760,7 +7376,7 @@ typedef void CAMetalLayer; VkPeerMemoryFeatureFlags* pPeerMemoryFeatures - + VkResult vkBindBufferMemory2 VkDevice device uint32_t bindInfoCount @@ -7039,6 +7655,15 @@ typedef void CAMetalLayer; VkImageUsageFlags imageUsage int* grallocUsage + + VkResult vkGetSwapchainGrallocUsage2ANDROID + VkDevice device + VkFormat format + VkImageUsageFlags imageUsage + VkSwapchainImageUsageFlagsANDROID swapchainImageUsage + uint64_t* grallocConsumerUsage + uint64_t* grallocProducerUsage + VkResult vkAcquireImageANDROID VkDevice device @@ -7158,29 +7783,53 @@ typedef void CAMetalLayer; uint32_t marker - VkResult vkCreateRenderPass2KHR + VkResult vkCreateRenderPass2 VkDevice device - const VkRenderPassCreateInfo2KHR* pCreateInfo + const VkRenderPassCreateInfo2* pCreateInfo const VkAllocationCallbacks* pAllocator VkRenderPass* pRenderPass + - void vkCmdBeginRenderPass2KHR + void vkCmdBeginRenderPass2 VkCommandBuffer commandBuffer const VkRenderPassBeginInfo* pRenderPassBegin - const VkSubpassBeginInfoKHR* pSubpassBeginInfo + const VkSubpassBeginInfo* pSubpassBeginInfo + - void vkCmdNextSubpass2KHR + void vkCmdNextSubpass2 VkCommandBuffer commandBuffer - const VkSubpassBeginInfoKHR* pSubpassBeginInfo - const VkSubpassEndInfoKHR* pSubpassEndInfo + const VkSubpassBeginInfo* pSubpassBeginInfo + const VkSubpassEndInfo* pSubpassEndInfo + - void vkCmdEndRenderPass2KHR + void vkCmdEndRenderPass2 VkCommandBuffer commandBuffer - const VkSubpassEndInfoKHR* pSubpassEndInfo + const VkSubpassEndInfo* pSubpassEndInfo + + + + VkResult vkGetSemaphoreCounterValue + VkDevice device + VkSemaphore semaphore + uint64_t* pValue + + + + VkResult vkWaitSemaphores + VkDevice device + const VkSemaphoreWaitInfo* pWaitInfo + uint64_t timeout + + + VkResult vkSignalSemaphore + VkDevice device + const VkSemaphoreSignalInfo* pSignalInfo + + VkResult vkGetAndroidHardwareBufferPropertiesANDROID VkDevice device @@ -7194,7 +7843,7 @@ typedef void CAMetalLayer; struct AHardwareBuffer** pBuffer - void vkCmdDrawIndirectCountKHR + void vkCmdDrawIndirectCount VkCommandBuffer commandBuffer VkBuffer buffer VkDeviceSize offset @@ -7203,9 +7852,10 @@ typedef void CAMetalLayer; uint32_t maxDrawCount uint32_t stride - + + - void vkCmdDrawIndexedIndirectCountKHR + void vkCmdDrawIndexedIndirectCount VkCommandBuffer commandBuffer VkBuffer buffer VkDeviceSize offset @@ -7214,7 +7864,8 @@ typedef void CAMetalLayer; uint32_t maxDrawCount uint32_t stride - + + void vkCmdSetCheckpointNV VkCommandBuffer commandBuffer @@ -7358,14 +8009,14 @@ typedef void CAMetalLayer; uint32_t bindInfoCount const VkBindAccelerationStructureMemoryInfoNV* pBindInfos - + void vkCmdCopyAccelerationStructureNV VkCommandBuffer commandBuffer VkAccelerationStructureNV dst VkAccelerationStructureNV src VkCopyAccelerationStructureModeNV mode - + void vkCmdWriteAccelerationStructuresPropertiesNV VkCommandBuffer commandBuffer uint32_t accelerationStructureCount @@ -7374,7 +8025,7 @@ typedef void CAMetalLayer; VkQueryPool queryPool uint32_t firstQuery - + void vkCmdBuildAccelerationStructureNV VkCommandBuffer commandBuffer const VkAccelerationStructureInfoNV* pInfo @@ -7386,7 +8037,7 @@ typedef void CAMetalLayer; VkBuffer scratch VkDeviceSize scratchOffset - + void vkCmdTraceRaysNV VkCommandBuffer commandBuffer VkBuffer raygenShaderBindingTableBuffer @@ -7429,17 +8080,6 @@ typedef void CAMetalLayer; const VkAllocationCallbacks* pAllocator VkPipeline* pPipelines - - VkResult vkGetImageDrmFormatModifierPropertiesEXT - VkDevice device - VkImage image - VkImageDrmFormatModifierPropertiesEXT* pProperties - - - VkDeviceAddress vkGetBufferDeviceAddressEXT - VkDevice device - const VkBufferDeviceAddressInfoEXT* pInfo - VkResult vkGetPhysicalDeviceCooperativeMatrixPropertiesNV VkPhysicalDevice physicalDevice @@ -7474,6 +8114,48 @@ typedef void CAMetalLayer; VkDevice device VkSwapchainKHR swapchain + + VkResult vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR + VkPhysicalDevice physicalDevice + uint32_t queueFamilyIndex + uint32_t* pCounterCount + VkPerformanceCounterKHR* pCounters + VkPerformanceCounterDescriptionKHR* pCounterDescriptions + + + void vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR + VkPhysicalDevice physicalDevice + const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo + uint32_t* pNumPasses + + + VkResult vkAcquireProfilingLockKHR + VkDevice device + const VkAcquireProfilingLockInfoKHR* pInfo + + + void vkReleaseProfilingLockKHR + VkDevice device + + + VkResult vkGetImageDrmFormatModifierPropertiesEXT + VkDevice device + VkImage image + VkImageDrmFormatModifierPropertiesEXT* pProperties + + + uint64_t vkGetBufferOpaqueCaptureAddress + VkDevice device + const VkBufferDeviceAddressInfo* pInfo + + + + VkDeviceAddress vkGetBufferDeviceAddress + VkDevice device + const VkBufferDeviceAddressInfo* pInfo + + + VkResult vkCreateHeadlessSurfaceEXT VkInstance instance @@ -7533,6 +8215,45 @@ typedef void CAMetalLayer; VkPerformanceParameterTypeINTEL parameter VkPerformanceValueINTEL* pValue + + uint64_t vkGetDeviceMemoryOpaqueCaptureAddress + VkDevice device + const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo + + + + VkResult vkGetPipelineExecutablePropertiesKHR + VkDevice device + const VkPipelineInfoKHR* pPipelineInfo + uint32_t* pExecutableCount + VkPipelineExecutablePropertiesKHR* pProperties + + + VkResult vkGetPipelineExecutableStatisticsKHR + VkDevice device + const VkPipelineExecutableInfoKHR* pExecutableInfo + uint32_t* pStatisticCount + VkPipelineExecutableStatisticKHR* pStatistics + + + VkResult vkGetPipelineExecutableInternalRepresentationsKHR + VkDevice device + const VkPipelineExecutableInfoKHR* pExecutableInfo + uint32_t* pInternalRepresentationCount + VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations + + + void vkCmdSetLineStippleEXT + VkCommandBuffer commandBuffer + uint32_t lineStippleFactor + uint16_t lineStipplePattern + + + VkResult vkGetPhysicalDeviceToolPropertiesEXT + VkPhysicalDevice physicalDevice + uint32_t* pToolCount + VkPhysicalDeviceToolPropertiesEXT* pToolProperties + @@ -7749,7 +8470,7 @@ typedef void CAMetalLayer; - + @@ -7817,7 +8538,8 @@ typedef void CAMetalLayer; - + + @@ -8093,7 +8815,200 @@ typedef void CAMetalLayer; - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -8102,7 +9017,7 @@ typedef void CAMetalLayer; - + @@ -8152,12 +9067,12 @@ typedef void CAMetalLayer; - + - - + + @@ -8178,7 +9093,7 @@ typedef void CAMetalLayer; - + @@ -8219,8 +9134,7 @@ typedef void CAMetalLayer; - - + @@ -8251,24 +9165,32 @@ typedef void CAMetalLayer; VK_ANDROID_native_buffer is used between the Android Vulkan loader and drivers to implement the WSI extensions. It isn't exposed to applications and uses types that aren't part of Android's stable public API, so it is left disabled to keep it out of the standard Vulkan headers. - + + + + + + + + + - + - + @@ -8294,11 +9216,12 @@ typedef void CAMetalLayer; - + - + + @@ -8348,7 +9271,7 @@ typedef void CAMetalLayer; - + @@ -8426,7 +9349,7 @@ typedef void CAMetalLayer; - + @@ -8488,7 +9411,7 @@ typedef void CAMetalLayer; - + @@ -8544,7 +9467,7 @@ typedef void CAMetalLayer; - + @@ -8609,10 +9532,12 @@ typedef void CAMetalLayer; - + - - + + + + @@ -8634,7 +9559,7 @@ typedef void CAMetalLayer; - + @@ -8683,7 +9608,7 @@ typedef void CAMetalLayer; - + @@ -8691,7 +9616,7 @@ typedef void CAMetalLayer; - + @@ -8722,7 +9647,7 @@ typedef void CAMetalLayer; - + @@ -8781,9 +9706,9 @@ typedef void CAMetalLayer; - + - + @@ -8817,10 +9742,26 @@ typedef void CAMetalLayer; - - - - + + + + + + + + + + + + + + + + + + + + @@ -9028,15 +9969,15 @@ typedef void CAMetalLayer; - + - - + + @@ -9045,11 +9986,13 @@ typedef void CAMetalLayer; - + - + + + @@ -9108,8 +10051,8 @@ typedef void CAMetalLayer; - - + + @@ -9283,17 +10226,17 @@ typedef void CAMetalLayer; - - - - + + + + - + @@ -9328,12 +10271,12 @@ typedef void CAMetalLayer; - + - + @@ -9353,27 +10296,43 @@ typedef void CAMetalLayer; - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -9454,10 +10413,37 @@ typedef void CAMetalLayer; - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -9585,7 +10571,7 @@ typedef void CAMetalLayer; - + @@ -9594,7 +10580,7 @@ typedef void CAMetalLayer; - + @@ -9634,13 +10620,16 @@ typedef void CAMetalLayer; - + - + - - - + + + + + + @@ -9777,11 +10766,11 @@ typedef void CAMetalLayer; - + - + @@ -9858,6 +10847,12 @@ typedef void CAMetalLayer; + + + + + + @@ -9901,7 +10896,7 @@ typedef void CAMetalLayer; - + @@ -10050,26 +11045,32 @@ typedef void CAMetalLayer; - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - + @@ -10143,6 +11144,7 @@ typedef void CAMetalLayer; + @@ -10183,7 +11185,7 @@ typedef void CAMetalLayer; - + @@ -10208,17 +11210,17 @@ typedef void CAMetalLayer; - + - - + + - + @@ -10240,6 +11242,9 @@ typedef void CAMetalLayer; + + + @@ -10258,10 +11263,12 @@ typedef void CAMetalLayer; - + - - + + + + @@ -10270,11 +11277,11 @@ typedef void CAMetalLayer; - + - - - + + + @@ -10295,25 +11302,27 @@ typedef void CAMetalLayer; - + - + - + - + - - + + + + @@ -10322,10 +11331,14 @@ typedef void CAMetalLayer; - + - - + + + + + + @@ -10341,7 +11354,7 @@ typedef void CAMetalLayer; - + @@ -10395,7 +11408,7 @@ typedef void CAMetalLayer; - + @@ -10424,24 +11437,40 @@ typedef void CAMetalLayer; - + - - - + + + + + + + + + + + + + + + - + - - - + + + + + + + @@ -10451,15 +11480,21 @@ typedef void CAMetalLayer; - + - - + + + + + + + + @@ -10505,7 +11540,7 @@ typedef void CAMetalLayer; - + @@ -10535,10 +11570,31 @@ typedef void CAMetalLayer; - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -10549,13 +11605,13 @@ typedef void CAMetalLayer; - - - - + + + + - + @@ -10592,11 +11648,11 @@ typedef void CAMetalLayer; - + - + @@ -10686,18 +11742,18 @@ typedef void CAMetalLayer; - + - - + + - - + + @@ -10712,10 +11768,18 @@ typedef void CAMetalLayer; - + - - + + + + + + + + + + @@ -10724,10 +11788,14 @@ typedef void CAMetalLayer; - + - - + + + + + + @@ -10736,10 +11804,14 @@ typedef void CAMetalLayer; - + - - + + + + + + @@ -10778,10 +11850,10 @@ typedef void CAMetalLayer; - + - - + + @@ -10818,10 +11890,20 @@ typedef void CAMetalLayer; - + - - + + + + + + + + + + + + @@ -10836,17 +11918,17 @@ typedef void CAMetalLayer; - + - - + + - - - + + + @@ -10854,23 +11936,38 @@ typedef void CAMetalLayer; - + - - + + + + + + + + + + + + + + + + + - + - + - + - + @@ -10928,12 +12025,12 @@ typedef void CAMetalLayer; - + - + @@ -10944,7 +12041,7 @@ typedef void CAMetalLayer; - + @@ -10967,9 +12064,9 @@ typedef void CAMetalLayer; - + - + @@ -10977,10 +12074,28 @@ typedef void CAMetalLayer; - - - - + + + + + + + + + + + + + + + + + + + + + + @@ -10989,10 +12104,19 @@ typedef void CAMetalLayer; - + - - + + + + + + + + + + + @@ -11001,11 +12125,11 @@ typedef void CAMetalLayer; - + - + @@ -11028,10 +12152,13 @@ typedef void CAMetalLayer; - + - - + + + + + @@ -11052,10 +12179,29 @@ typedef void CAMetalLayer; - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -11096,7 +12242,7 @@ typedef void CAMetalLayer; - + @@ -11136,5 +12282,176 @@ typedef void CAMetalLayer; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/glad/files/vk_platform.h b/glad/files/vk_platform.h index 72892992..dbb01128 100644 --- a/glad/files/vk_platform.h +++ b/glad/files/vk_platform.h @@ -2,7 +2,7 @@ // File: vk_platform.h // /* -** Copyright (c) 2014-2017 The Khronos Group Inc. +** Copyright (c) 2014-2020 The Khronos Group Inc. ** ** Licensed under the Apache License, Version 2.0 (the "License"); ** you may not use this file except in compliance with the License. diff --git a/glad/files/wgl.xml b/glad/files/wgl.xml index c3b36302..88922eb1 100644 --- a/glad/files/wgl.xml +++ b/glad/files/wgl.xml @@ -1,7 +1,7 @@ -Copyright (c) 2013-2018 The Khronos Group Inc. +Copyright (c) 2013-2019 The Khronos Group Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -384,7 +384,12 @@ Registry at - + + + + + + @@ -1985,5 +1990,14 @@ Registry at + + + + + + + + + diff --git a/glad/generator/c/__init__.py b/glad/generator/c/__init__.py index f7e16e33..51b213bb 100644 --- a/glad/generator/c/__init__.py +++ b/glad/generator/c/__init__.py @@ -160,6 +160,39 @@ def c_commands(context, commands): return [command for command in commands if not command in core] +@jinja2.contextfunction +def enum_member(context, type_, member): + if member.alias is None: + return member.value + + feature_set = context['feature_set'] + enums_of_type = type_.enums_for(feature_set) + + def is_enum_before(target, before): + for enum in enums_of_type: + if enum.name == target: + return True + if enum.name == before: + return False + + if is_enum_before(member.alias, member.name): + return member.alias + + # This is the part where the spec is annoying again + # an enum that has been moved into core in a later version + # loses its _KHR postfix, but in an earlier version this still requires an extension... + # Luckily glad automatically adds the necessary enum to the feature set, + # but it doesn't get generated, because it is not actually part of the selected feature set. + # Just have to get the actual value now + def resolve(target): + target = feature_set.find_enum(target) + if target.alias is None: + return target.value + return resolve(target.alias) + + return resolve(member.alias) + + _CPP_STYLE_COMMENT_RE = re.compile(r'(^|\s|\))//(?P.*)$', flags=re.MULTILINE) @@ -244,7 +277,8 @@ def __init__(self, *args, **kwargs): self.environment.globals.update( get_debug_impl=get_debug_impl, loadable=loadable, - chain=itertools.chain, + enum_member=enum_member, + chain=itertools.chain ) self.environment.filters.update( diff --git a/glad/generator/c/templates/template_utils.h b/glad/generator/c/templates/template_utils.h index f765d637..759a2db9 100644 --- a/glad/generator/c/templates/template_utils.h +++ b/glad/generator/c/templates/template_utils.h @@ -48,7 +48,7 @@ GLAD_API_CALL int GLAD_{{ extension.name }}; {%- if type.enums_for(feature_set) -%} typedef enum {{ type.name }} { {% for member in type.enums_for(feature_set) %} - {{ member.name }} = {{ member.alias if member.alias else member.value }}{{ ',' if not loop.last }} + {{ member.name }} = {{ enum_member(type, member) }}{{ ',' if not loop.last }} {% endfor %} } {{ type.name }}; {%- endif -%} diff --git a/glad/generator/rust/templates/types/egl.rs b/glad/generator/rust/templates/types/egl.rs index a6d32e58..f6283b7b 100644 --- a/glad/generator/rust/templates/types/egl.rs +++ b/glad/generator/rust/templates/types/egl.rs @@ -75,3 +75,8 @@ pub struct EGLClientPixmapHI { iStride: EGLint, } +pub type wl_display = std::os::raw::c_void; +pub type wl_surface = std::os::raw::c_void; +pub type wl_buffer = std::os::raw::c_void; +pub type wl_resource = std::os::raw::c_void; + diff --git a/glad/generator/rust/templates/types/vk.rs b/glad/generator/rust/templates/types/vk.rs index 926f09bb..03a48be2 100644 --- a/glad/generator/rust/templates/types/vk.rs +++ b/glad/generator/rust/templates/types/vk.rs @@ -18,6 +18,7 @@ pub type BOOL = std::os::raw::c_int; pub type DWORD = std::os::raw::c_ulong; pub type LPVOID = *mut std::os::raw::c_void; pub type HANDLE = *mut std::os::raw::c_void; +pub type HMONITOR = *mut std::os::raw::c_void; pub type WCHAR = u16; pub type LPCWSTR = *const WCHAR; pub type HINSTANCE = *mut std::os::raw::c_void; diff --git a/glad/parse.py b/glad/parse.py index 1a3a354f..f90457dc 100644 --- a/glad/parse.py +++ b/glad/parse.py @@ -372,7 +372,9 @@ def commands(self): # fixup aliases for command in chain.from_iterable(commands.values()): if command.alias is not None and command.proto is None: - aliased_command = next(c for c in commands[command.alias] if c.api == command.api) + aliased_command = command + while aliased_command.proto is None: + aliased_command = next(c for c in commands[aliased_command.alias] if c.api == command.api) command.proto = Proto(command.name, copy.deepcopy(aliased_command.proto.ret)) command.params = copy.deepcopy(aliased_command.params) @@ -562,6 +564,44 @@ def find(self, require, api, profile, recursive=False): yield best_match + @property + @memoize() + def _all_enums(self): + """ + Vulkan introduced grouping of enumerations, they turned from + basic `#define`'s into actual enumerations `enum Foo { ... }`. + + Glad interprets the "actual" enumerations as types, it's + an enumeration type with values. But sometimes it is necessary + to just have all enumerations without grouping information + available (e.g. for quickly looking up a value). This lives + under the assumption that enum names are unique. + + :return: a dictionary of name:enum pairs. + """ + result = dict() + + for type_ in self.types.values(): + type_ = type_[0] + if type_.category == 'enum': + for enum in type_.enums: + result[enum.name] = enum + + return result + + def find_enum(self, name, default=None): + """ + Finds any enum, this includes enums that are part of + types, by its name. + + :param name: name of the enum + :param default: default value to return if not found + :return: the enum if found or else the default + """ + if name is None: + return default + return self._all_enums.get(name, default) + @staticmethod def split_types(iterable, types): result = tuple(set() for _ in types) diff --git a/test/rust/compile/vulkan/default/001/test.rs b/test/rust/compile/vulkan/default/001/test.rs index bef5cd25..22ee6a6a 100644 --- a/test/rust/compile/vulkan/default/001/test.rs +++ b/test/rust/compile/vulkan/default/001/test.rs @@ -20,7 +20,6 @@ fn main() { vk::CreateViSurfaceNN; vk::CreateIOSSurfaceMVK; vk::GetRandROutputDisplayEXT; - vk::CreateMirSurfaceKHR; vk::GetPhysicalDeviceXcbPresentationSupportKHR; vk::GetMemoryAndroidHardwareBufferANDROID; } From bba732efa30523b51527de66d6bbe8e9b66413b7 Mon Sep 17 00:00:00 2001 From: AlexApps99 Date: Wed, 4 Mar 2020 21:20:45 +1300 Subject: [PATCH 010/138] rust: disables Clippy to silence warnings current warnings: * clippy::missing_safety_doc * clippy::too_many_arguments * clippy::unused_unit * clippy::unreadable_literal disables all warnings to prevent future issues closes: #249 --- glad/generator/rust/templates/lib.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/glad/generator/rust/templates/lib.rs b/glad/generator/rust/templates/lib.rs index 1d428e38..dc8011ab 100644 --- a/glad/generator/rust/templates/lib.rs +++ b/glad/generator/rust/templates/lib.rs @@ -1 +1,2 @@ +#[allow(clippy::all)] pub mod {{ spec.name }}; \ No newline at end of file From 231c175e3f9e51cd19a6e48ab45f73e219c16827 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Sat, 7 Mar 2020 08:45:24 +0100 Subject: [PATCH 011/138] cmake: fixes extension parsing (multiple and NONE) closes: #252 --- cmake/CMakeLists.txt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 8da2f674..513af641 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -197,10 +197,11 @@ function(glad_add_library TARGET) if(GG_EXTENSIONS) list(FIND GG_EXTENSIONS NONE GG_EXT_NONE) - if(GG_EXT_NONE EQUAL -1) - set(GLAD_EXTENSIONS "") + if(GG_EXT_NONE GREATER -1) + set(GLAD_EXTENSIONS "''") else() - string(REPLACE ";" "," GLAD_EXTENSIONS ${GG_EXTENSIONS}) + list(REMOVE_DUPLICATES GG_EXTENSIONS) + list(JOIN GG_EXTENSIONS "," GLAD_EXTENSIONS) endif() list(APPEND GLAD_ARGS --extensions "${GLAD_EXTENSIONS}") endif() From 19cc25da596eab8bd9fd15b4e1a9837726043389 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Mon, 23 Mar 2020 12:52:02 +0100 Subject: [PATCH 012/138] glad: makes order of aliases predictable --- glad/generator/util.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/glad/generator/util.py b/glad/generator/util.py index a4d6d9b4..52ed1a8f 100644 --- a/glad/generator/util.py +++ b/glad/generator/util.py @@ -1,3 +1,5 @@ +from collections import OrderedDict + def is_device_command(self): """ @@ -70,7 +72,10 @@ def collect_alias_information(commands): if len(alias[command.name]) == 1: del alias[command.name] - return alias + return OrderedDict( + (command.name, sorted(alias[command.name])) + for command in commands if command.name in alias + ) def find_extensions_with_aliases(spec, api, version, profile, extensions): From b3409f1a6d6a2dbdc562ea0567a7d15bd722f049 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Fri, 3 Apr 2020 16:09:51 +0200 Subject: [PATCH 013/138] c: silences clang "reserved-id-macro" warning in gl headers closes: #142 --- glad/generator/c/templates/gl.h | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/glad/generator/c/templates/gl.h b/glad/generator/c/templates/gl.h index 31821fbc..87a8666b 100644 --- a/glad/generator/c/templates/gl.h +++ b/glad/generator/c/templates/gl.h @@ -1,6 +1,10 @@ {% extends 'base_template.h' %} {% block header %} +#ifdef __clang__ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wreserved-id-macro" +#endif {% set header_data = [ ('gl', '__gl_h_', 'OpenGL'), ('gles1', '__gl_h_', 'OpenGL ES 1'), ('gles2', '__gl2_h_', 'OpenGL ES 2'), ('gles2', '__gl3_h_', 'OpenGL ES 3') @@ -9,9 +13,12 @@ {% for api, header_name, name in header_data %} {% if api in feature_set.info.apis and header_name not in written -%} {{ template_utils.header_error(api, header_name, name) }} - {% do written.append(header_name) %} - {%- endif %} -{% endfor %} + {%- do written.append(header_name) -%} + {%- endif -%} +{%- endfor -%} +#ifdef __clang__ +#pragma clang diagnostic pop +#endif {% endblock %} From 135087c8b8a331c9d8a62b1605f2109ef639f1eb Mon Sep 17 00:00:00 2001 From: David Herberth Date: Fri, 3 Apr 2020 16:40:36 +0200 Subject: [PATCH 014/138] c: extends gl guards to gl3, glext, glext3 closes: #258 --- glad/generator/c/templates/gl.h | 4 +++- glad/generator/c/templates/template_utils.h | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/glad/generator/c/templates/gl.h b/glad/generator/c/templates/gl.h index 87a8666b..be7d3e6d 100644 --- a/glad/generator/c/templates/gl.h +++ b/glad/generator/c/templates/gl.h @@ -6,7 +6,9 @@ #pragma clang diagnostic ignored "-Wreserved-id-macro" #endif {% set header_data = [ - ('gl', '__gl_h_', 'OpenGL'), ('gles1', '__gl_h_', 'OpenGL ES 1'), + ('gl', '__gl_h_', 'OpenGL (gl.h)'), ('gl', '__gl3_h_', 'OpenGL (gl3.h)'), + ('gl', '__glext_h_', 'OpenGL (glext.h)'), ('gl', '__gl3ext_h_', 'OpenGL (gl3ext.h)'), + ('gles1', '__gl_h_', 'OpenGL ES 1'), ('gles2', '__gl2_h_', 'OpenGL ES 2'), ('gles2', '__gl3_h_', 'OpenGL ES 3') ] %} {% set written = [] %} diff --git a/glad/generator/c/templates/template_utils.h b/glad/generator/c/templates/template_utils.h index 759a2db9..aec4b166 100644 --- a/glad/generator/c/templates/template_utils.h +++ b/glad/generator/c/templates/template_utils.h @@ -1,6 +1,6 @@ {% macro header_error(api, header_name, name) %} #ifdef {{ header_name }} - #error {{ name }} header already included (API: {{ api }}), remove previous include! + #error {{ name }} header already included (API: {{ api }}), remove previous include! #endif #define {{ header_name }} 1 {% endmacro %} From dcd1e7fd432e5f107dfe81a8046af48e497dcb02 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Fri, 3 Apr 2020 17:36:52 +0200 Subject: [PATCH 015/138] glad: clarifies licensing in LICENSE file and readme gh: #253 --- LICENSE | 83 +++++++++++++++++++++++++++++++++++++++++-------------- README.md | 10 +++++++ 2 files changed, 73 insertions(+), 20 deletions(-) diff --git a/LICENSE b/LICENSE index b6e2ca25..90b8a99d 100644 --- a/LICENSE +++ b/LICENSE @@ -1,20 +1,63 @@ -The MIT License (MIT) - -Copyright (c) 2013-2018 David Herberth - -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 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. +The glad source code: + + The MIT License (MIT) + + Copyright (c) 2013-2020 David Herberth + + 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 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. + + +The Khronos Specifications: + + Copyright (c) 2013-2020 The Khronos Group 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. + + +The EGL Specification and various headers: + + Copyright (c) 2007-2016 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. diff --git a/README.md b/README.md index 148e5e03..000ef5be 100644 --- a/README.md +++ b/README.md @@ -65,3 +65,13 @@ Examples can be found [in the example directory](/example). Some examples: * [GL GLFW](example/rust/gl-glfw/) + +## License + +For the source code and various Khronos files see [LICENSE](/LICENSE). + +The generated code from glad is any of Public Domain, WTFPL or CC0. +Now Khronos has some of their specifications under Apache Version 2.0 +license which may have an impact on the generated code, +[see this clarifying comment](https://github.com/KhronosGroup/OpenGL-Registry/issues/376#issuecomment-596187053) +on the Khronos / OpenGL-Specification issue tracker. From a3bbb2d35689c28a586a99a99d09cd6050f045af Mon Sep 17 00:00:00 2001 From: David Herberth Date: Fri, 3 Apr 2020 19:32:00 +0200 Subject: [PATCH 016/138] c: wraps code in `extern "C"` for C++ compilers closes: #227 --- glad/generator/c/templates/base_template.c | 16 +++++++++------- glad/generator/c/templates/loader/egl.c | 3 ++- glad/generator/c/templates/loader/gl.c | 2 +- glad/generator/c/templates/loader/gles1.c | 2 +- glad/generator/c/templates/loader/gles2.c | 2 +- glad/generator/c/templates/loader/vulkan.c | 2 +- glad/generator/c/templates/template_utils.h | 8 ++++++++ test/c/run/gl/mx/003/test.c | 2 +- test/c/run/gl/mx/004/test.c | 2 +- 9 files changed, 25 insertions(+), 14 deletions(-) diff --git a/glad/generator/c/templates/base_template.c b/glad/generator/c/templates/base_template.c index 6402f713..85f6cfc9 100644 --- a/glad/generator/c/templates/base_template.c +++ b/glad/generator/c/templates/base_template.c @@ -12,17 +12,15 @@ {% include 'impl_util.c' %} {% endblock %} +#ifdef __cplusplus +extern "C" { +#endif -{%- set global_context = 'glad_' + feature_set.name + '_context' -%} - +{% set global_context = 'glad_' + feature_set.name + '_context' -%} {% block variables %} {% if options.mx_global %} -#ifdef __cplusplus -Glad{{ feature_set.name|api }}Context {{ global_context }} = {}; -#else -Glad{{ feature_set.name|api }}Context {{ global_context }} = { 0 }; -#endif +{% call template_utils.zero_initialized() %}Glad{{ feature_set.name|api }}Context {{ global_context }}{% endcall %} {% endif %} {% endblock %} @@ -181,3 +179,7 @@ void gladUninstall{{ feature_set.name|api }}Debug() { {% endfor %} {% endblock %} {% endif %} + +#ifdef __cplusplus +} +#endif diff --git a/glad/generator/c/templates/loader/egl.c b/glad/generator/c/templates/loader/egl.c index e9d3a3e3..1a3a47fb 100644 --- a/glad/generator/c/templates/loader/egl.c +++ b/glad/generator/c/templates/loader/egl.c @@ -1,3 +1,4 @@ +{% import "template_utils.h" as template_utils with context %} #ifdef GLAD_EGL {% include 'loader/library.c' %} @@ -70,7 +71,7 @@ int gladLoaderLoadEGL(EGLDisplay display) { {% endif %} {% if options.on_demand %} -static struct _glad_egl_userptr glad_egl_internal_loader_global_userptr = {0}; +{% call template_utils.zero_initialized() %}static struct _glad_egl_userptr glad_egl_internal_loader_global_userptr{% endcall %} static GLADapiproc glad_egl_internal_loader_get_proc(const char *name) { if (glad_egl_internal_loader_global_userptr.handle == NULL) { glad_egl_internal_loader_global_userptr = glad_egl_build_userptr(glad_egl_dlopen_handle()); diff --git a/glad/generator/c/templates/loader/gl.c b/glad/generator/c/templates/loader/gl.c index 7ee63d55..52a98ad9 100644 --- a/glad/generator/c/templates/loader/gl.c +++ b/glad/generator/c/templates/loader/gl.c @@ -93,7 +93,7 @@ int gladLoaderLoadGL{{ 'Context' if options.mx }}({{ template_utils.context_arg( {% endif %} {% if options.on_demand %} -static struct _glad_gl_userptr glad_gl_internal_loader_global_userptr = {0}; +{% call template_utils.zero_initialized() %}static struct _glad_gl_userptr glad_gl_internal_loader_global_userptr{% endcall %} static GLADapiproc glad_gl_internal_loader_get_proc(const char *name) { if (glad_gl_internal_loader_global_userptr.handle == NULL) { glad_gl_internal_loader_global_userptr = glad_gl_build_userptr(glad_gl_dlopen_handle()); diff --git a/glad/generator/c/templates/loader/gles1.c b/glad/generator/c/templates/loader/gles1.c index b4f4f00e..2abd5f42 100644 --- a/glad/generator/c/templates/loader/gles1.c +++ b/glad/generator/c/templates/loader/gles1.c @@ -77,7 +77,7 @@ int gladLoaderLoadGLES1{{ 'Context' if options.mx }}({{ template_utils.context_a {% endif %} {% if options.on_demand %} -static struct _glad_gles1_userptr glad_gles1_internal_loader_global_userptr = {0}; +{% call template_utils.zero_initialized() %}static struct _glad_gles1_userptr glad_gles1_internal_loader_global_userptr{% endcall %} static GLADapiproc glad_gles1_internal_loader_get_proc(const char *name) { if (glad_gles1_internal_loader_global_userptr.handle == NULL) { glad_gles1_internal_loader_global_userptr = glad_gles1_build_userptr(glad_gles1_dlopen_handle()); diff --git a/glad/generator/c/templates/loader/gles2.c b/glad/generator/c/templates/loader/gles2.c index 2e6d0cd1..cb545e83 100644 --- a/glad/generator/c/templates/loader/gles2.c +++ b/glad/generator/c/templates/loader/gles2.c @@ -99,7 +99,7 @@ int gladLoaderLoadGLES2{{ 'Context' if options.mx }}({{ template_utils.context_a {% endif %} {% if options.on_demand %} -static struct _glad_gles2_userptr glad_gles2_internal_loader_global_userptr = {0}; +{% call template_utils.zero_initialized() %}static struct _glad_gles2_userptr glad_gles2_internal_loader_global_userptr{% endcall %} static GLADapiproc glad_gles2_internal_loader_get_proc(const char *name) { if (glad_gles2_internal_loader_global_userptr.get_proc_address_ptr == NULL) { glad_gles2_internal_loader_global_userptr = glad_gles2_build_userptr(glad_gles2_dlopen_handle()); diff --git a/glad/generator/c/templates/loader/vulkan.c b/glad/generator/c/templates/loader/vulkan.c index 3355e4da..62988a5e 100644 --- a/glad/generator/c/templates/loader/vulkan.c +++ b/glad/generator/c/templates/loader/vulkan.c @@ -114,7 +114,7 @@ int gladLoaderLoadVulkan{{ 'Context' if options.mx }}({{ template_utils.context_ {% endif %} {% if options.on_demand %} -static struct _glad_vulkan_userptr glad_vulkan_internal_loader_global_userptr = {0}; +{% call template_utils.zero_initialized() %}static struct _glad_vulkan_userptr glad_vulkan_internal_loader_global_userptr{% endcall %} void gladLoaderSetVulkanInstance(VkInstance instance) { glad_vulkan_internal_loader_global_userptr.vk_instance = instance; diff --git a/glad/generator/c/templates/template_utils.h b/glad/generator/c/templates/template_utils.h index aec4b166..8ff4b3df 100644 --- a/glad/generator/c/templates/template_utils.h +++ b/glad/generator/c/templates/template_utils.h @@ -103,3 +103,11 @@ GLAD_API_CALL {{ command.name|pfn }} glad_debug_{{ command.name }}; {% endcall %} {% endfor %} {% endmacro %} + +{% macro zero_initialized(s) %} +#ifdef __cplusplus +{{ caller() }} = {}; +#else +{{ caller() }} = { 0 }; +#endif +{% endmacro %} \ No newline at end of file diff --git a/test/c/run/gl/mx/003/test.c b/test/c/run/gl/mx/003/test.c index 6a6af586..1b95be0e 100644 --- a/test/c/run/gl/mx/003/test.c +++ b/test/c/run/gl/mx/003/test.c @@ -28,7 +28,7 @@ GLFWwindow* create_window(void) { } void run(GLFWwindow *window) { - GladGLContext context = { 0 }; + GladGLContext context; context.userptr = (void*) &context; glfwMakeContextCurrent(window); diff --git a/test/c/run/gl/mx/004/test.c b/test/c/run/gl/mx/004/test.c index ac6f635f..957dda72 100644 --- a/test/c/run/gl/mx/004/test.c +++ b/test/c/run/gl/mx/004/test.c @@ -28,7 +28,7 @@ GLFWwindow* create_window(void) { } void run(GLFWwindow *window) { - GladGLContext context = { 0 }; + GladGLContext context; context.userptr = (void*) &context; glfwMakeContextCurrent(window); From 6e4758ec20204a643194762e8decba0639828cdc Mon Sep 17 00:00:00 2001 From: David Herberth Date: Sun, 5 Apr 2020 19:01:00 +0200 Subject: [PATCH 017/138] parse: properly parses "new" group attribute on enum elements gh: #241 --- glad/parse.py | 39 ++++++++++++++++++++++++++++++++++----- 1 file changed, 34 insertions(+), 5 deletions(-) diff --git a/glad/parse.py b/glad/parse.py index f90457dc..e87210a0 100644 --- a/glad/parse.py +++ b/glad/parse.py @@ -23,6 +23,7 @@ def xml_parse(path): import copy import logging import os.path +import warnings from collections import defaultdict, OrderedDict, namedtuple, deque from contextlib import closing from itertools import chain @@ -277,6 +278,7 @@ def comment(self): @property def groups(self): + warnings.warn('the groups have been deprecated in the spec', DeprecationWarning) if self._groups is None: self._groups = dict((element.attrib['name'], Group(element)) for element in self.root.find('groups')) @@ -316,7 +318,7 @@ def types(self): enums_element = enums_element[0] kwargs = dict(namespace=enums_element.get('namespace'), - group=enums_element.get('group'), + parent_group=enums_element.get('group'), vendor=enums_element.get('vendor'), comment=enums_element.get('comment', '')) @@ -402,7 +404,7 @@ def enums(self): name = enum.attrib['name'] enums.setdefault(name, []).append( - Enum.from_element(enum, namespace=namespace, group=group, vendor=vendor, comment=comment) + Enum.from_element(enum, namespace=namespace, parent_group=group, vendor=vendor, comment=comment) ) # add enums added through a @@ -971,8 +973,23 @@ class Enum(IdentifiedByName): EXTENSION_NUMBER_OFFSET = -1 def __init__(self, name, value, bitpos, api, type_, - alias=None, namespace=None, group=None, vendor=None, - comment='', parent_type=None, extended_by=None): + alias=None, namespace=None, group=None, parent_group=None, + vendor=None, comment='', parent_type=None, extended_by=None): + """ + :param name: name of the enum + :param value: value of the enum + :param bitpos: alternative way of specifying the value + :param api: api as specified on the enum + :param type_: type of the enum as specified on the element + :param alias: alias of the enum + :param namespace: namespace of the group e.g. GL + :param group: group specified in on the enum, comma separated for multiple + :param parent_group: if the enum was defined in an group + :param vendor: vendor specified on group + :param comment: comment specified on the group + :param parent_type: parent type if the enums is grouped and not just a global define (Foo.BAR) + :param extended_by: list of enums this is extended by + """ self.name = name self.value = value if self.value is None and bitpos is not None: @@ -985,6 +1002,7 @@ def __init__(self, name, value, bitpos, api, type_, self.namespace = namespace self.group = group + self.parent_group = parent_group self.vendor = vendor self.comment = comment @@ -999,6 +1017,16 @@ def also_extended_by(self, name): def is_equivalent(self, other): return self.name == other.name and self.value == other.value + @property + def groups(self): + """ + Returns a list of parsed groups, group is a comma separated value + as used in the XML. + + :return: empty list or list of groups + """ + return [] if self.group is None else self.group.split(',') + def __str__(self): return self.name @@ -1012,6 +1040,7 @@ def from_element(cls, element, extnumber=None, **kwargs): bitpos = element.get('bitpos') api = element.get('api') type_ = element.get('type') + group = element.get('group') alias = element.get('alias') @@ -1031,7 +1060,7 @@ def from_element(cls, element, extnumber=None, **kwargs): if value is not None: value = str(value) - return cls(name, value, bitpos, api, type_, alias=alias, **kwargs) + return cls(name, value, bitpos, api, type_, alias=alias, group=group, **kwargs) class Command(IdentifiedByName): From 8f28e90d496b13c9bb3492859f7d1cf427a8bc1d Mon Sep 17 00:00:00 2001 From: David Herberth Date: Mon, 6 Apr 2020 23:43:33 +0200 Subject: [PATCH 018/138] glad: fixes memory leak within memoize utility Memoize has an uncapped cache size, the cache is scoped to the global function and never expiring, this attaches the cache to the class instance instead of the function/method. This makes it so the GC has a chance of collecting the instance and with it the cache. --- glad/parse.py | 17 ++++++++--------- glad/util.py | 52 ++++++++++++++++++++++++++++++++++++++++++++------- 2 files changed, 53 insertions(+), 16 deletions(-) diff --git a/glad/parse.py b/glad/parse.py index e87210a0..140cd41c 100644 --- a/glad/parse.py +++ b/glad/parse.py @@ -106,7 +106,7 @@ def __hash__(self): )) @property - @memoize() + @memoize(method=True) def _all_enums(self): """ Vulkan introduced grouping of enumerations, they turned from @@ -285,7 +285,7 @@ def groups(self): return self._groups @property - @memoize() + @memoize(method=True) def platforms(self): platforms = dict() @@ -300,7 +300,7 @@ def platforms(self): return platforms @property - @memoize() + @memoize(method=True) def types(self): types = OrderedDict() for element in filter(lambda e: e.tag == 'type', iter(self.root.find('types'))): @@ -384,7 +384,7 @@ def commands(self): return commands @property - @memoize() + @memoize(method=True) def enums(self): enums = dict() for element in self.root.iter('enums'): @@ -419,7 +419,7 @@ def enums(self): return enums @property - @memoize() + @memoize(method=True) def features(self): features = defaultdict(dict) for element in self.root.iter('feature'): @@ -435,7 +435,7 @@ def highest_version(self, api): return sorted(self.features[api].keys(), reverse=True)[0] @property - @memoize() + @memoize(method=True) def extensions(self): extensions = defaultdict(dict) for element in self.root.find('extensions'): @@ -567,7 +567,7 @@ def find(self, require, api, profile, recursive=False): yield best_match @property - @memoize() + @memoize(method=True) def _all_enums(self): """ Vulkan introduced grouping of enumerations, they turned from @@ -1183,7 +1183,6 @@ def from_string(cls, raw): raw=raw) @classmethod - @memoize(key=lambda cls, element: tuple(element.itertext())) def from_element(cls, element): # assume just one comment element comment = ' '.join(c.text for c in element.iter('comment')) @@ -1281,7 +1280,7 @@ def supports(self, api): def is_equivalent(self, other): return self.requires == other.requires - @memoize() + @memoize(method=True) def get_requirements(self, spec, api=None, profile=None, feature_set=None): """ Find all types, enums and commands/functions which are required diff --git a/glad/util.py b/glad/util.py index 112300e2..cc040d12 100644 --- a/glad/util.py +++ b/glad/util.py @@ -2,7 +2,7 @@ import os import re import sys -from collections import namedtuple +from collections import namedtuple, defaultdict if sys.version_info >= (3, 0, 0): @@ -110,18 +110,56 @@ def topological_sort(items, key, dependencies): emitted = next_emitted -def memoize(key=None): - def _default_key_func(*args, **kwargs): - return tuple(args), tuple(kwargs.items()) +class _HashedSeq(list): + __slots__ = 'hashvalue' - key_func = _default_key_func if key is None else key + # noinspection PyMissingConstructor + def __init__(self, tup, hash=hash): + self[:] = tup + self.hashvalue = hash(tup) + + def __hash__(self): + return self.hashvalue + + +def _default_key_func(*args, **kwargs): + key = (tuple(args), tuple(kwargs.items())) + return _HashedSeq(key) + + +def memoize(key=None, method=False): + """ + Memoize decorator for functions and methods. + + :param key: a cache-key transformation function + :param method: whether the cache should be attached to the `self` parameter + """ + key_func = key or _default_key_func def memoize_decorator(func): - cache = dict() + _cache = dict() @functools.wraps(func) def memoized(*args, **kwargs): - key = key_func(*args, **kwargs) + cache_args = args + if method: + # This is an attempt to bind the cache to the instance of the currently + # executed method. The idea is to not hoard references to the instance + # and other values (arguments) to not prevent the GC from collecting those. + # If we don't attach it this leaks memory all over the place, + # especially since this implementation currently has an uncapped cache. + self = args[0] + cache_args = args[1:] + try: + funcs_cache = self._memoize_cache + except AttributeError: + funcs_cache = defaultdict(dict) + self._memoize_cache = funcs_cache + cache = funcs_cache[func] + else: + cache = _cache + + key = key_func(*cache_args, **kwargs) if key not in cache: cache[key] = func(*args, **kwargs) return cache[key] From 91c7599d09e376a311d320b521d00f2f5c84f690 Mon Sep 17 00:00:00 2001 From: solarane Date: Sat, 14 Mar 2020 05:48:05 -0400 Subject: [PATCH 019/138] rust: adds multi-context support closes: #256 --- glad/generator/rust/__init__.py | 5 +++ glad/generator/rust/templates/impl.rs | 54 +++++++++++++++++++++++++-- 2 files changed, 55 insertions(+), 4 deletions(-) diff --git a/glad/generator/rust/__init__.py b/glad/generator/rust/__init__.py index 36a7de88..979456db 100644 --- a/glad/generator/rust/__init__.py +++ b/glad/generator/rust/__init__.py @@ -163,6 +163,11 @@ class RustConfig(Config): description='Automatically adds all extensions that ' + 'provide aliases for the current feature set.' ) + MX = ConfigOption( + converter=bool, + default=False, + description='Enables support for multiple GL contexts' + ) class RustGenerator(JinjaGenerator): diff --git a/glad/generator/rust/templates/impl.rs b/glad/generator/rust/templates/impl.rs index 685165ed..47b7d0ef 100644 --- a/glad/generator/rust/templates/impl.rs +++ b/glad/generator/rust/templates/impl.rs @@ -1,17 +1,29 @@ {% import 'template_utils.rs' as template_utils with context %} - pub use self::types::*; pub use self::enumerations::*; pub use self::functions::*; use std::os::raw; +{% if options.mx %} +struct FnPtr { +{% else %} pub struct FnPtr { +{% endif %} ptr: *const raw::c_void, is_loaded: bool } impl FnPtr { + {% if options.mx %} + pub fn new(loaded: *const raw::c_void) -> FnPtr { + if !loaded.is_null() { + FnPtr { ptr: loaded, is_loaded: true } + } else { + FnPtr { ptr: FnPtr::not_initialized as *const raw::c_void, is_loaded: false } + } + } + {% else %} pub fn empty() -> FnPtr { FnPtr { ptr: FnPtr::not_initialized as *const raw::c_void, is_loaded: false } } @@ -26,7 +38,9 @@ impl FnPtr { self.is_loaded = false; }; } - + + {% endif %} + #[allow(dead_code)] pub fn aliased(&mut self, other: &FnPtr) { if !self.is_loaded && other.is_loaded { self.ptr = other.ptr; @@ -58,14 +72,26 @@ pub mod functions { use std; use std::mem; - use super::storage; + {{ 'use super::FnPtr;' if options.mx else 'use super::storage;' }} use super::types::*; + {% if options.mx %} + pub struct Gl { + {% for command in feature_set.commands %} + {{ template_utils.protect(command) }} pub(super) _{{ command.name|no_prefix }}: FnPtr, + {% endfor %} + } + impl Gl { + {% endif %} + {% for command in feature_set.commands %} - {{ template_utils.protect(command) }} #[inline] pub unsafe fn {{ command.name|no_prefix }}({{ command|params }}) -> {{ command.proto.ret|type }} { mem::transmute::<_, extern "system" fn({{ command|params('types') }}) -> {{ command.proto.ret|type }}>(storage::{{ command.name|no_prefix }}.ptr)({{ command|params('names') }}) } + {{ template_utils.protect(command) }} #[inline] pub unsafe fn {{ command.name|no_prefix }}({{ '&self, ' if options.mx }}{{ command|params }}) -> {{ command.proto.ret|type }} { mem::transmute::<_, extern "system" fn({{ command|params('types') }}) -> {{ command.proto.ret|type }}>({{ 'self._' if options.mx else 'storage::' }}{{ command.name|no_prefix }}.ptr)({{ command|params('names') }}) } {% endfor %} + + {{ '}' if options.mx }} } +{% if not options.mx %} mod storage { #![allow(non_snake_case, non_upper_case_globals)] @@ -76,7 +102,26 @@ mod storage { {{ template_utils.protect(command) }} pub static mut {{ command.name|no_prefix }}: FnPtr = FnPtr { ptr: FnPtr::not_initialized as *const raw::c_void, is_loaded: false }; {% endfor %} } +{% endif %} + +{% if options.mx %} +#[allow(unused_mut)] +pub fn load(mut loadfn: F) -> functions::Gl where F: FnMut(&'static str) -> *const raw::c_void { + let mut gl = Gl { + {% for command in feature_set.commands %} + {{ template_utils.protect(command.name) }} _{{ command.name|no_prefix }}: FnPtr::new(loadfn("{{ command.name }}")), + {% endfor %} + }; + {% for command, caliases in aliases|dictsort %} + {% for alias in caliases|reject('equalto', command) %} + {{ template_utils.protect(command) }} gl._{{ command|no_prefix }}.aliased(&gl._{{ alias|no_prefix }}); + {% endfor %} + {% endfor %} + + gl +} +{% else %} pub fn load(mut loadfn: F) where F: FnMut(&'static str) -> *const raw::c_void { unsafe { {% for command in feature_set.commands %} @@ -90,4 +135,5 @@ pub fn load(mut loadfn: F) where F: FnMut(&'static str) -> *const raw::c_void {% endfor %} } } +{% endif %} From b8072c1cb6a204631c338249041e6ea170c06f1d Mon Sep 17 00:00:00 2001 From: David Herberth Date: Mon, 23 Mar 2020 12:44:32 +0100 Subject: [PATCH 020/138] rust: adds mx example and minor impl polishing --- example/rust/gl-glfw-mx/Cargo.toml | 8 ++++ example/rust/gl-glfw-mx/README.md | 34 +++++++++++++++ example/rust/gl-glfw-mx/init.sh | 9 ++++ example/rust/gl-glfw-mx/src/main.rs | 63 +++++++++++++++++++++++++++ example/rust/gl-glfw/Cargo.toml | 2 +- glad/generator/rust/templates/impl.rs | 11 +---- 6 files changed, 117 insertions(+), 10 deletions(-) create mode 100644 example/rust/gl-glfw-mx/Cargo.toml create mode 100644 example/rust/gl-glfw-mx/README.md create mode 100755 example/rust/gl-glfw-mx/init.sh create mode 100644 example/rust/gl-glfw-mx/src/main.rs diff --git a/example/rust/gl-glfw-mx/Cargo.toml b/example/rust/gl-glfw-mx/Cargo.toml new file mode 100644 index 00000000..202dccc3 --- /dev/null +++ b/example/rust/gl-glfw-mx/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "gl-glfw" +version = "0.1.0" + +[dependencies] +glfw = "0.37.0" +glad-gl = { path = "./build/glad-gl" } + diff --git a/example/rust/gl-glfw-mx/README.md b/example/rust/gl-glfw-mx/README.md new file mode 100644 index 00000000..dda8a069 --- /dev/null +++ b/example/rust/gl-glfw-mx/README.md @@ -0,0 +1,34 @@ +Example: gl-glfw-mx +================ + + +This is basic example showcasing `glad-gl` in combination with +[`glfw`](https://crates.io/crates/glfw). And multiple OpenGL contexts +in different windows. + +To run the example use the following command: + +```sh +./init.sh && cargo run +``` + +The `init.sh` script is just a small utility used to generate +the `glad-gl` crate into the `build/` directory. The `Cargo.toml` +references the dependency using: + +```toml +[dependencies] +glad-gl = { path = "./build/glad-gl" } +``` + +This example is the basic example of the +[glfw crate](https://crates.io/crates/glfw) with some +OpenGL instructions added and just one additional line +to initialize `glad`: + +```rust + gl::load(|e| glfw.get_proc_address_raw(e) as *const std::os::raw::c_void); +``` + +That's all that is needed to initialize and use OpenGL using `glad`! + diff --git a/example/rust/gl-glfw-mx/init.sh b/example/rust/gl-glfw-mx/init.sh new file mode 100755 index 00000000..2fff231d --- /dev/null +++ b/example/rust/gl-glfw-mx/init.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +BASE_PATH="$(dirname $(realpath $0))" + + +cd "${BASE_PATH}/../../../" + +python -m glad --out-path "${BASE_PATH}/build" --extensions="" --api="gl:core=3.3" rust --mx + diff --git a/example/rust/gl-glfw-mx/src/main.rs b/example/rust/gl-glfw-mx/src/main.rs new file mode 100644 index 00000000..3f4341e2 --- /dev/null +++ b/example/rust/gl-glfw-mx/src/main.rs @@ -0,0 +1,63 @@ +extern crate glfw; +extern crate glad_gl; +use std::sync::mpsc::Receiver; +use glfw::{Action, Context, Key}; +use glad_gl::gl; + + +struct Window { + source: glfw::Window, + events: Receiver<(f64, glfw::WindowEvent)>, + gl: gl::Gl +} + +fn main() { + let mut glfw = glfw::init(glfw::FAIL_ON_ERRORS).unwrap(); + + let mut w1 = create_window(&mut glfw); + let mut w2 = create_window(&mut glfw); + + while !w1.source.should_close() && !w2.source.should_close() { + glfw.poll_events(); + + draw(&mut w1); + draw(&mut w2); + } +} + +fn create_window(glfw: &mut glfw::Glfw) -> Window { + let (mut window, events) = glfw + .create_window(300, 300, "[glad] Rust - OpenGL with GLFW", glfw::WindowMode::Windowed) + .expect("Failed to create GLFW window."); + + window.set_key_polling(true); + window.make_current(); + + let gl = gl::load(|e| glfw.get_proc_address_raw(e) as *const std::os::raw::c_void); + + Window { + source: window, events, gl + } +} + +fn draw(window: &mut Window) { + for (_, event) in glfw::flush_messages(&window.events) { + handle_window_event(&mut window.source, event); + } + + window.source.make_current(); + unsafe { + window.gl.ClearColor(0.7, 0.9, 0.1, 1.0); + window.gl.Clear(gl::GL_COLOR_BUFFER_BIT); + } + window.source.swap_buffers(); +} + +fn handle_window_event(window: &mut glfw::Window, event: glfw::WindowEvent) { + match event { + glfw::WindowEvent::Key(Key::Escape, _, Action::Press, _) => { + window.set_should_close(true) + } + _ => {} + } +} diff --git a/example/rust/gl-glfw/Cargo.toml b/example/rust/gl-glfw/Cargo.toml index 53bad948..202dccc3 100644 --- a/example/rust/gl-glfw/Cargo.toml +++ b/example/rust/gl-glfw/Cargo.toml @@ -3,6 +3,6 @@ name = "gl-glfw" version = "0.1.0" [dependencies] -glfw = "0.23.0" +glfw = "0.37.0" glad-gl = { path = "./build/glad-gl" } diff --git a/glad/generator/rust/templates/impl.rs b/glad/generator/rust/templates/impl.rs index 47b7d0ef..474c9422 100644 --- a/glad/generator/rust/templates/impl.rs +++ b/glad/generator/rust/templates/impl.rs @@ -5,11 +5,7 @@ pub use self::functions::*; use std::os::raw; -{% if options.mx %} struct FnPtr { -{% else %} -pub struct FnPtr { -{% endif %} ptr: *const raw::c_void, is_loaded: bool } @@ -24,9 +20,6 @@ impl FnPtr { } } {% else %} - pub fn empty() -> FnPtr { - FnPtr { ptr: FnPtr::not_initialized as *const raw::c_void, is_loaded: false } - } pub fn load(&mut self, loadfn: &mut F, name: &'static str) where F: FnMut(&'static str) -> *const raw::c_void { let loaded = loadfn(name); @@ -99,14 +92,14 @@ mod storage { use std::os::raw; {% for command in feature_set.commands %} - {{ template_utils.protect(command) }} pub static mut {{ command.name|no_prefix }}: FnPtr = FnPtr { ptr: FnPtr::not_initialized as *const raw::c_void, is_loaded: false }; + {{ template_utils.protect(command) }} pub(super) static mut {{ command.name|no_prefix }}: FnPtr = FnPtr { ptr: FnPtr::not_initialized as *const raw::c_void, is_loaded: false }; {% endfor %} } {% endif %} {% if options.mx %} -#[allow(unused_mut)] pub fn load(mut loadfn: F) -> functions::Gl where F: FnMut(&'static str) -> *const raw::c_void { + #[allow(unused_mut)] let mut gl = Gl { {% for command in feature_set.commands %} {{ template_utils.protect(command.name) }} _{{ command.name|no_prefix }}: FnPtr::new(loadfn("{{ command.name }}")), From 850e4f1d7f569cc9a23dfc3a5628a4cd0881347b Mon Sep 17 00:00:00 2001 From: David Herberth Date: Sat, 18 Apr 2020 12:42:56 +0200 Subject: [PATCH 021/138] main: mentions `{subcommand} --help` in global help string gh: #264 --- glad/__main__.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/glad/__main__.py b/glad/__main__.py index 0933fc92..435ee9d8 100644 --- a/glad/__main__.py +++ b/glad/__main__.py @@ -3,6 +3,9 @@ """ Uses the official Khronos-XML specs to generate a Vulkan/GL/GLES/EGL/GLX/WGL Loader made for your needs. + + +Subcommands have additional help information, query with: `{subcommand} --help` """ from itertools import groupby From fba011939eeacf32a5bc1bd42585c3861dd4b8ea Mon Sep 17 00:00:00 2001 From: David Herberth Date: Sat, 25 Apr 2020 13:51:58 +0200 Subject: [PATCH 022/138] rust: implements Send and Sync traits for FnPtr gh: #265 --- README.md | 3 ++- glad/generator/rust/templates/impl.rs | 3 +++ test/rust/gen/mx/001/Cargo.toml | 10 ++++++++++ test/rust/gen/mx/001/test.rs | 22 ++++++++++++++++++++++ 4 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 test/rust/gen/mx/001/Cargo.toml create mode 100644 test/rust/gen/mx/001/test.rs diff --git a/README.md b/README.md index 000ef5be..30169e1c 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,7 @@ Examples can be found [in the example directory](/example). Some examples: * C/C++ * [GL GLFW](example/c/gl_glfw.c) * [GL GLFW On-Demand loading](example/c/gl_glfw_on_demand.c) - * [GL GLFW Multiple Windows](example/c++/multiwin_mx/) + * [GL GLFW Multiple Windows/Contexts](example/c++/multiwin_mx/) * [GL SDL2](example/c/gl_sdl2.c) * [Vulkan GLFW](example/c/vulkan_tri_glfw/) * [GLX](example/c/glx.c) @@ -63,6 +63,7 @@ Examples can be found [in the example directory](/example). Some examples: * [EGL X11](example/c/egl_x11/) * Rust * [GL GLFW](example/rust/gl-glfw/) + * [GL GLFW Multiple Windows/Contexts](example/rust/gl-glfw-mx/) diff --git a/glad/generator/rust/templates/impl.rs b/glad/generator/rust/templates/impl.rs index 474c9422..c8feff7d 100644 --- a/glad/generator/rust/templates/impl.rs +++ b/glad/generator/rust/templates/impl.rs @@ -45,6 +45,9 @@ impl FnPtr { fn not_initialized() -> ! { panic!("{{ feature_set.name }}: function not initialized") } } +unsafe impl Sync for FnPtr {} +unsafe impl Send for FnPtr {} + pub mod types { {% include 'types/' + spec.name + '.rs' ignore missing with context %} } diff --git a/test/rust/gen/mx/001/Cargo.toml b/test/rust/gen/mx/001/Cargo.toml new file mode 100644 index 00000000..9a5bea67 --- /dev/null +++ b/test/rust/gen/mx/001/Cargo.toml @@ -0,0 +1,10 @@ +[package] +name = "gen-mx-001" +version = "0.1.0" + +[[bin]] +path = "test.rs" +name = "test" + +[dependencies] +glad-gl = { path = "./glad-gl/" } diff --git a/test/rust/gen/mx/001/test.rs b/test/rust/gen/mx/001/test.rs new file mode 100644 index 00000000..9a647adb --- /dev/null +++ b/test/rust/gen/mx/001/test.rs @@ -0,0 +1,22 @@ +#![deny(warnings)] +/** + * Make sure the generated context struct is Send + Sync + * + * GLAD: $GLAD --out-path=$tmp --api="gl:core=" rust --mx + * COMPILE: cp -r $test_dir/. $tmp && cd $tmp && cargo build + * RUN: cargo run + */ +extern crate glad_gl; +use glad_gl::gl; +use std::mem::MaybeUninit; + +fn requires_sync(_x: &T) {} +fn requires_send(_x: &T) {} + +#[allow(path_statements)] +fn main() { + let gl: gl::Gl = unsafe { MaybeUninit::uninit().assume_init() }; + + requires_send(&gl); + requires_sync(&gl); +} From 26229dfa38d75e25217deb17e26c95f122c7ee72 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Sat, 25 Apr 2020 14:10:14 +0200 Subject: [PATCH 023/138] test: silences rust/gen/mx/001 test warning on recent rust compiler --- test/rust/gen/mx/001/test.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/test/rust/gen/mx/001/test.rs b/test/rust/gen/mx/001/test.rs index 9a647adb..e23f0978 100644 --- a/test/rust/gen/mx/001/test.rs +++ b/test/rust/gen/mx/001/test.rs @@ -15,6 +15,7 @@ fn requires_send(_x: &T) {} #[allow(path_statements)] fn main() { + #[allow(invalid_value)] let gl: gl::Gl = unsafe { MaybeUninit::uninit().assume_init() }; requires_send(&gl); From e8a8dd359a4f959d9c8f1934f41322a94544a0ff Mon Sep 17 00:00:00 2001 From: nickclark2016 Date: Thu, 21 May 2020 17:46:58 -0400 Subject: [PATCH 024/138] c: fixes generation of struct aliases gh: #271, #272 --- glad/generator/c/templates/template_utils.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glad/generator/c/templates/template_utils.h b/glad/generator/c/templates/template_utils.h index 8ff4b3df..18f2122c 100644 --- a/glad/generator/c/templates/template_utils.h +++ b/glad/generator/c/templates/template_utils.h @@ -53,7 +53,7 @@ typedef enum {{ type.name }} { } {{ type.name }}; {%- endif -%} {%- elif type.category in ('struct', 'union') -%} -typedef {{ type.category }} {{ type.name }} {% if type.members %}{ +typedef {{ type.category }} {% if type.alias %}{{ type.alias }}{% else %}{{ type.name }}{% endif %} {% if type.members %}{ {% for member in type.members %} {{ member.type._raw }}; {% endfor %} From b0f164384093dff3aa0c83970304c098c0572813 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Fri, 5 Jun 2020 12:10:40 +0200 Subject: [PATCH 025/138] parse: fixes aliased enum types closes: #274 --- glad/generator/c/templates/template_utils.h | 2 + glad/parse.py | 76 +++++++++++---------- 2 files changed, 41 insertions(+), 37 deletions(-) diff --git a/glad/generator/c/templates/template_utils.h b/glad/generator/c/templates/template_utils.h index 18f2122c..5ffa3787 100644 --- a/glad/generator/c/templates/template_utils.h +++ b/glad/generator/c/templates/template_utils.h @@ -51,6 +51,8 @@ typedef enum {{ type.name }} { {{ member.name }} = {{ enum_member(type, member) }}{{ ',' if not loop.last }} {% endfor %} } {{ type.name }}; +{%- elif type.alias -%} +typedef enum {{ type.alias }} {{ type.name }}; {%- endif -%} {%- elif type.category in ('struct', 'union') -%} typedef {{ type.category }} {% if type.alias %}{{ type.alias }}{% else %}{{ type.name }}{% endif %} {% if type.members %}{ diff --git a/glad/parse.py b/glad/parse.py index 140cd41c..e95a2a1b 100644 --- a/glad/parse.py +++ b/glad/parse.py @@ -309,45 +309,47 @@ def types(self): if t.category == 'enum': enums_element = self.root.findall('.//enums[@type][@name="{}"]'.format(t.name)) if len(enums_element) == 0: - # yep the type exists but there is actually no enum for it... - logger.debug('type {} with category enum but without '.format(t.name)) - continue - if not len(enums_element) == 1: + if t.alias is None: + # yep the type exists but there is actually no enum for it... + logger.debug('type {} with category enum but without '.format(t.name)) + continue + elif len(enums_element) > 1: # this should never happen, if it does ... well shit raise ValueError('multiple enums with type attribute and name {}'.format(t.name)) - enums_element = enums_element[0] - - kwargs = dict(namespace=enums_element.get('namespace'), - parent_group=enums_element.get('group'), - vendor=enums_element.get('vendor'), - comment=enums_element.get('comment', '')) - - enums = OrderedDict() - for e in (Enum.from_element(e, parent_type=t.name, **kwargs) for e in enums_element.findall('enum')): - enums[e.name] = e - - for extension in self.root.findall('.//require/enum[@extends="{}"]/../..'.format(t.name)): - try: - extnumber = int(extension.attrib['number']) - except ValueError: - # Most likely a feature, if that happens every extending enum needs - # to specify its own extnumber - extnumber = None - - for extending_enum in extension.findall('.//require/enum[@extends="{}"]'.format(t.name)): - enum = Enum.from_element(extending_enum, extnumber=extnumber, parent_type=t.name) - - if enum.name not in enums: - enums[enum.name] = enum - else: - # technically not required, but better throw more - # than generate broken code because of a broken specification - if not enum.value == enums[enum.name].value: - raise ValueError('extension enum {} required multiple times ' - 'with different values'.format(e.name)) - - enums[enum.name].also_extended_by(extension.attrib['name']) - t.enums = list(enums.values()) + else: + enums_element = enums_element[0] + + kwargs = dict(namespace=enums_element.get('namespace'), + parent_group=enums_element.get('group'), + vendor=enums_element.get('vendor'), + comment=enums_element.get('comment', '')) + + enums = OrderedDict() + for e in (Enum.from_element(e, parent_type=t.name, **kwargs) for e in enums_element.findall('enum')): + enums[e.name] = e + + for extension in self.root.findall('.//require/enum[@extends="{}"]/../..'.format(t.name)): + try: + extnumber = int(extension.attrib['number']) + except ValueError: + # Most likely a feature, if that happens every extending enum needs + # to specify its own extnumber + extnumber = None + + for extending_enum in extension.findall('.//require/enum[@extends="{}"]'.format(t.name)): + enum = Enum.from_element(extending_enum, extnumber=extnumber, parent_type=t.name) + + if enum.name not in enums: + enums[enum.name] = enum + else: + # technically not required, but better throw more + # than generate broken code because of a broken specification + if not enum.value == enums[enum.name].value: + raise ValueError('extension enum {} required multiple times ' + 'with different values'.format(e.name)) + + enums[enum.name].also_extended_by(extension.attrib['name']) + t.enums = list(enums.values()) if t.name not in types: types[t.name] = list() From ca498fbead4bff1110ccf828f5c84cac9bf052f7 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Thu, 18 Jun 2020 19:39:48 +0200 Subject: [PATCH 026/138] files: updates to latest specifications --- glad/files/egl.xml | 78 +- glad/files/gl.xml | 6535 ++++++++++--------- glad/files/glx.xml | 2 +- glad/files/khrplatform.h | 2 +- glad/files/vk.xml | 2327 +++++-- glad/files/vk_platform.h | 12 +- glad/generator/c/templates/base_template.c | 2 + glad/generator/c/templates/template_utils.h | 3 +- glad/generator/rust/__init__.py | 3 + glad/generator/rust/templates/impl.rs | 2 +- glad/generator/rust/templates/types/vk.rs | 3 - 11 files changed, 5166 insertions(+), 3803 deletions(-) diff --git a/glad/files/egl.xml b/glad/files/egl.xml index 8dca4133..5ab8d66f 100644 --- a/glad/files/egl.xml +++ b/glad/files/egl.xml @@ -95,10 +95,10 @@ typedef void ( *EGLDEBUGPROCKHR)(EGLenum error,const char *command,EGLint messageType,EGLLabelKHR threadLabel,EGLLabelKHR objectLabel,const char* message); - #define PFNEGLBINDWAYLANDDISPLAYWL PFNEGLBINDWAYLANDDISPLAYWLPROC - #define PFNEGLUNBINDWAYLANDDISPLAYWL PFNEGLUNBINDWAYLANDDISPLAYWLPROC - #define PFNEGLQUERYWAYLANDBUFFERWL PFNEGLQUERYWAYLANDBUFFERWLPROC - #define PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWL PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWLPROC + #define PFNEGLBINDWAYLANDDISPLAYWL PFNEGLBINDWAYLANDDISPLAYWLPROC + #define PFNEGLUNBINDWAYLANDDISPLAYWL PFNEGLUNBINDWAYLANDDISPLAYWLPROC + #define PFNEGLQUERYWAYLANDBUFFERWL PFNEGLQUERYWAYLANDBUFFERWLPROC + #define PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWL PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWLPROC @@ -744,7 +744,9 @@ - + + + @@ -888,7 +890,11 @@ - + + + + + @@ -1031,6 +1037,10 @@ + + + + - - + + @@ -1824,14 +1834,14 @@ EGLBoolean eglSwapBuffersWithDamageEXT EGLDisplay dpy EGLSurface surface - EGLint *rects + const EGLint *rects EGLint n_rects EGLBoolean eglSwapBuffersWithDamageKHR EGLDisplay dpy EGLSurface surface - EGLint *rects + const EGLint *rects EGLint n_rects @@ -1950,6 +1960,36 @@ EGLDisplay dpy EGLImageKHR image + + EGLBoolean eglStreamImageConsumerConnectNV + EGLDisplay dpy + EGLStreamKHR stream + EGLint num_modifiers + EGLuint64KHR *modifiers + EGLAttrib *attrib_list + + + EGLint eglQueryStreamConsumerEventNV + EGLDisplay dpy + EGLStreamKHR stream + EGLTime timeout + EGLenum *event + EGLAttrib *aux + + + EGLBoolean eglStreamAcquireImageNV + EGLDisplay dpy + EGLStreamKHR stream + EGLImage *pImage + EGLSync sync + + + EGLBoolean eglStreamReleaseImageNV + EGLDisplay dpy + EGLStreamKHR stream + EGLImage image + EGLSync sync + @@ -3146,6 +3186,18 @@ + + + + + + + + + + + + @@ -3352,5 +3404,11 @@ + + + + + + diff --git a/glad/files/gl.xml b/glad/files/gl.xml index 3228ec1f..288ba4a8 100644 --- a/glad/files/gl.xml +++ b/glad/files/gl.xml @@ -1,4 +1,4 @@ - + Copyright (c) 2013-2019 The Khronos Group Inc. @@ -86,18 +86,17 @@ typedef unsigned int GLhandleARB; ES specifications, and the many extensions to those specifications. As such, they may not be a reliable source for enumeration info. - We welcome assistance from the community in achieving and - maintaining the completeness of the enum groups. Khronos does not - use the enum group information, and the OpenGL Working Group does - not have internal resources to bring it up to date. + As of Wednesday 8th January 2020, these group blocks have been + deprecated in favour of group attributes declared inline with + the enumerant itself. --> - + - + @@ -107,7 +106,7 @@ typedef unsigned int GLhandleARB; - + @@ -118,36 +117,36 @@ typedef unsigned int GLhandleARB; - + - + - + - + - + - + - + @@ -157,20 +156,20 @@ typedef unsigned int GLhandleARB; - + - + - + @@ -181,7 +180,7 @@ typedef unsigned int GLhandleARB; - + @@ -320,16 +319,16 @@ typedef unsigned int GLhandleARB; - + - + - + @@ -343,7 +342,7 @@ typedef unsigned int GLhandleARB; - + @@ -353,26 +352,26 @@ typedef unsigned int GLhandleARB; - + - + - + - + @@ -399,14 +398,14 @@ typedef unsigned int GLhandleARB; - + - + @@ -422,17 +421,17 @@ typedef unsigned int GLhandleARB; - + - + - + @@ -448,7 +447,7 @@ typedef unsigned int GLhandleARB; - + @@ -457,64 +456,64 @@ typedef unsigned int GLhandleARB; - + - + - + - + - + - + - + - + - + - + - + @@ -533,7 +532,7 @@ typedef unsigned int GLhandleARB; - + @@ -544,11 +543,11 @@ typedef unsigned int GLhandleARB; - + - + @@ -566,14 +565,14 @@ typedef unsigned int GLhandleARB; - + - + @@ -586,58 +585,58 @@ typedef unsigned int GLhandleARB; - + - + - + - + - + - + - + - + - + - + - + @@ -648,7 +647,7 @@ typedef unsigned int GLhandleARB; - + @@ -658,7 +657,7 @@ typedef unsigned int GLhandleARB; - + @@ -668,25 +667,25 @@ typedef unsigned int GLhandleARB; - + - + - + - + - + @@ -734,7 +733,7 @@ typedef unsigned int GLhandleARB; - + @@ -742,7 +741,7 @@ typedef unsigned int GLhandleARB; - + @@ -770,7 +769,7 @@ typedef unsigned int GLhandleARB; - + @@ -781,7 +780,7 @@ typedef unsigned int GLhandleARB; - + @@ -796,12 +795,12 @@ typedef unsigned int GLhandleARB; - + - + @@ -836,25 +835,25 @@ typedef unsigned int GLhandleARB; - + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + @@ -866,13 +865,13 @@ typedef unsigned int GLhandleARB; - + - + @@ -891,7 +890,7 @@ typedef unsigned int GLhandleARB; - + @@ -899,13 +898,13 @@ typedef unsigned int GLhandleARB; - + - + @@ -922,13 +921,13 @@ typedef unsigned int GLhandleARB; - + - + @@ -936,7 +935,7 @@ typedef unsigned int GLhandleARB; - + @@ -947,14 +946,14 @@ typedef unsigned int GLhandleARB; - + - + @@ -971,7 +970,7 @@ typedef unsigned int GLhandleARB; - + @@ -982,17 +981,17 @@ typedef unsigned int GLhandleARB; - + - + - + @@ -1001,14 +1000,14 @@ typedef unsigned int GLhandleARB; - + - + @@ -1016,7 +1015,7 @@ typedef unsigned int GLhandleARB; - + @@ -1027,7 +1026,7 @@ typedef unsigned int GLhandleARB; - + @@ -1077,13 +1076,13 @@ typedef unsigned int GLhandleARB; - + - + @@ -1215,7 +1214,7 @@ typedef unsigned int GLhandleARB; - + @@ -1231,7 +1230,7 @@ typedef unsigned int GLhandleARB; - + @@ -1242,7 +1241,7 @@ typedef unsigned int GLhandleARB; - + @@ -1250,7 +1249,7 @@ typedef unsigned int GLhandleARB; - + @@ -1263,24 +1262,24 @@ typedef unsigned int GLhandleARB; - + - + - + - + @@ -1290,33 +1289,33 @@ typedef unsigned int GLhandleARB; - + - + - + - + - + - + @@ -1339,7 +1338,7 @@ typedef unsigned int GLhandleARB; - + @@ -1359,7 +1358,7 @@ typedef unsigned int GLhandleARB; - + @@ -1386,13 +1385,13 @@ typedef unsigned int GLhandleARB; - + - + @@ -1401,7 +1400,7 @@ typedef unsigned int GLhandleARB; - + @@ -1414,7 +1413,7 @@ typedef unsigned int GLhandleARB; - + @@ -1969,7 +1968,7 @@ typedef unsigned int GLhandleARB; - + @@ -1989,7 +1988,7 @@ typedef unsigned int GLhandleARB; - + @@ -2046,13 +2045,13 @@ typedef unsigned int GLhandleARB; - + - + @@ -2106,21 +2105,21 @@ typedef unsigned int GLhandleARB; - + - + - + @@ -2137,24 +2136,24 @@ typedef unsigned int GLhandleARB; - + - + - + - + @@ -2162,7 +2161,7 @@ typedef unsigned int GLhandleARB; - + @@ -2181,7 +2180,7 @@ typedef unsigned int GLhandleARB; - + @@ -2194,12 +2193,12 @@ typedef unsigned int GLhandleARB; - + - + @@ -2212,11 +2211,11 @@ typedef unsigned int GLhandleARB; - + - + @@ -2235,7 +2234,7 @@ typedef unsigned int GLhandleARB; - + @@ -2254,7 +2253,7 @@ typedef unsigned int GLhandleARB; - + @@ -2277,19 +2276,19 @@ typedef unsigned int GLhandleARB; - + - + - + @@ -2299,14 +2298,14 @@ typedef unsigned int GLhandleARB; - + - + @@ -2340,28 +2339,28 @@ typedef unsigned int GLhandleARB; - + - + - + - + - + @@ -2369,7 +2368,7 @@ typedef unsigned int GLhandleARB; - + @@ -2378,7 +2377,7 @@ typedef unsigned int GLhandleARB; - + @@ -2736,7 +2735,7 @@ typedef unsigned int GLhandleARB; - + @@ -2749,7 +2748,7 @@ typedef unsigned int GLhandleARB; - + @@ -2791,19 +2790,19 @@ typedef unsigned int GLhandleARB; - + - + - + @@ -2815,12 +2814,12 @@ typedef unsigned int GLhandleARB; - + - + @@ -2869,7 +2868,7 @@ typedef unsigned int GLhandleARB; - + @@ -2890,7 +2889,7 @@ typedef unsigned int GLhandleARB; - + @@ -2909,13 +2908,13 @@ typedef unsigned int GLhandleARB; - + - + @@ -2943,7 +2942,7 @@ typedef unsigned int GLhandleARB; - + @@ -2951,7 +2950,7 @@ typedef unsigned int GLhandleARB; - + @@ -2984,13 +2983,13 @@ typedef unsigned int GLhandleARB; - + - + @@ -3007,27 +3006,27 @@ typedef unsigned int GLhandleARB; - + - + - + - + - + @@ -3038,7 +3037,7 @@ typedef unsigned int GLhandleARB; - + @@ -3049,7 +3048,7 @@ typedef unsigned int GLhandleARB; - + @@ -3057,26 +3056,26 @@ typedef unsigned int GLhandleARB; - + - + - + - + @@ -3085,20 +3084,20 @@ typedef unsigned int GLhandleARB; - + - + - + - + @@ -3108,7 +3107,7 @@ typedef unsigned int GLhandleARB; - + @@ -3118,7 +3117,7 @@ typedef unsigned int GLhandleARB; - + @@ -3133,7 +3132,7 @@ typedef unsigned int GLhandleARB; - + @@ -3150,7 +3149,7 @@ typedef unsigned int GLhandleARB; - + @@ -3225,11 +3224,11 @@ typedef unsigned int GLhandleARB; - + - + @@ -3276,7 +3275,7 @@ typedef unsigned int GLhandleARB; - + @@ -3289,7 +3288,7 @@ typedef unsigned int GLhandleARB; - + @@ -3310,7 +3309,7 @@ typedef unsigned int GLhandleARB; - + @@ -3322,14 +3321,14 @@ typedef unsigned int GLhandleARB; - + - + @@ -3404,7 +3403,7 @@ typedef unsigned int GLhandleARB; - + @@ -3482,19 +3481,19 @@ typedef unsigned int GLhandleARB; - - - + + + - - - - - + + + + + - + @@ -3529,7 +3528,7 @@ typedef unsigned int GLhandleARB; - + @@ -3540,7 +3539,7 @@ typedef unsigned int GLhandleARB; - + @@ -3554,7 +3553,7 @@ typedef unsigned int GLhandleARB; - + @@ -3567,21 +3566,21 @@ typedef unsigned int GLhandleARB; - + - + - + @@ -3594,29 +3593,29 @@ typedef unsigned int GLhandleARB; - + - + - + - + - + @@ -3628,7 +3627,7 @@ typedef unsigned int GLhandleARB; - + @@ -3667,7 +3666,7 @@ typedef unsigned int GLhandleARB; - + @@ -3679,7 +3678,7 @@ typedef unsigned int GLhandleARB; - + @@ -3687,12 +3686,12 @@ typedef unsigned int GLhandleARB; - + - + @@ -3714,16 +3713,16 @@ typedef unsigned int GLhandleARB; - + - + - + @@ -3740,29 +3739,29 @@ typedef unsigned int GLhandleARB; - + - + - + - + - + @@ -3779,7 +3778,7 @@ typedef unsigned int GLhandleARB; - + @@ -3793,7 +3792,7 @@ typedef unsigned int GLhandleARB; - + @@ -3804,7 +3803,7 @@ typedef unsigned int GLhandleARB; - + @@ -3814,7 +3813,7 @@ typedef unsigned int GLhandleARB; - + @@ -3827,7 +3826,7 @@ typedef unsigned int GLhandleARB; - + @@ -3835,11 +3834,11 @@ typedef unsigned int GLhandleARB; - + - + @@ -3848,7 +3847,7 @@ typedef unsigned int GLhandleARB; - + @@ -3861,7 +3860,7 @@ typedef unsigned int GLhandleARB; - + @@ -3875,7 +3874,7 @@ typedef unsigned int GLhandleARB; - + @@ -3887,7 +3886,7 @@ typedef unsigned int GLhandleARB; - + @@ -3897,25 +3896,25 @@ typedef unsigned int GLhandleARB; - + - + - + - + @@ -3929,7 +3928,7 @@ typedef unsigned int GLhandleARB; - + @@ -3974,13 +3973,13 @@ typedef unsigned int GLhandleARB; - + - + @@ -3992,7 +3991,7 @@ typedef unsigned int GLhandleARB; - + @@ -4000,14 +3999,14 @@ typedef unsigned int GLhandleARB; - + - + @@ -4015,19 +4014,19 @@ typedef unsigned int GLhandleARB; - + - + - + @@ -4035,7 +4034,7 @@ typedef unsigned int GLhandleARB; - + @@ -4045,7 +4044,7 @@ typedef unsigned int GLhandleARB; - + @@ -4068,7 +4067,7 @@ typedef unsigned int GLhandleARB; - + @@ -4080,7 +4079,7 @@ typedef unsigned int GLhandleARB; - + @@ -4096,7 +4095,7 @@ typedef unsigned int GLhandleARB; - + @@ -4247,7 +4246,7 @@ typedef unsigned int GLhandleARB; - + @@ -4328,7 +4327,7 @@ typedef unsigned int GLhandleARB; - + @@ -4402,7 +4401,7 @@ typedef unsigned int GLhandleARB; - + @@ -4439,14 +4438,14 @@ typedef unsigned int GLhandleARB; - + - + @@ -4455,7 +4454,7 @@ typedef unsigned int GLhandleARB; - + @@ -4475,14 +4474,14 @@ typedef unsigned int GLhandleARB; - + - + @@ -4496,65 +4495,65 @@ typedef unsigned int GLhandleARB; - - - + + + - - - - + + + + - - - + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - + + + + + + - + @@ -4566,89 +4565,89 @@ typedef unsigned int GLhandleARB; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4765,7 +4764,7 @@ typedef unsigned int GLhandleARB; - + @@ -4774,11 +4773,11 @@ typedef unsigned int GLhandleARB; - + - + @@ -4811,13 +4810,13 @@ typedef unsigned int GLhandleARB; - + - + @@ -4834,309 +4833,309 @@ typedef unsigned int GLhandleARB; sometimes reused for other purposes --> - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - + - + - - - + + + - - - - - - - - + + + + + + + + - - + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - + - - - + + + - - - - - - - + + + + + + + - - - + + + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + @@ -5144,96 +5143,96 @@ typedef unsigned int GLhandleARB; used for indexed access. --> - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - - + + + - - - - - - - + + + + + + + @@ -5264,635 +5263,635 @@ typedef unsigned int GLhandleARB; - - - - - - - - - + + + + + + + + + - - - - - + + + + + - - - + + + - - - + + + - - - + + + - - + + - - - - - + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - + + + + - + - - - - + + + + - - - - - + + + + + - - - - - - - - + + + + + + + + - - + + - - + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - + - + - - - + + + - - - - - - - - - - + + + + + + + + + + - - + + - - - - - - - - + + + + + + + + - + - + - - - + + + - + - - - - + + + + - - - - - - - + + + + + + + - - - - - - - - - + + + + + + + + + - - - - + + + + - + - + - + - + - - - - - - + + + + + + - - - - - - + + + + + + - + - + - - - - - + + + + + - + - + - + - - + + - - - + + + - - + + - - - - + + + + - - - - + + + + - - - - + + + + - - + + - - + + - + - + - + - + - + - - + + - - + + - - - - + + + + - - - - + + + + - - + + - - + + - + - + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - + + + + + + + + @@ -5900,410 +5899,410 @@ typedef unsigned int GLhandleARB; - - + + - + - + - + - - - - + + + + - - - - + + + + - + - + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - + - + - + - + - + - - - - - - - - - + + + + + + + + + - + - - + + - + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - + + + + + + - + - + - + - + - + - + - + - + - + - - + + - + - - + + - + - + - - + + - + - - + + - + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - + + - - + + - - + + - + - - - - - + + + + + - + - + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - + - + - + - + @@ -6313,44 +6312,44 @@ typedef unsigned int GLhandleARB; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + @@ -6359,110 +6358,110 @@ typedef unsigned int GLhandleARB; - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - + @@ -6472,21 +6471,21 @@ typedef unsigned int GLhandleARB; - + - - - - - - - - - - + + + + + + + + + + - + @@ -6499,55 +6498,55 @@ typedef unsigned int GLhandleARB; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - - - - + + + + + + @@ -6556,23 +6555,23 @@ typedef unsigned int GLhandleARB; - - - - + + + + - - - + + + - - - + + + - - + + @@ -6587,8 +6586,8 @@ typedef unsigned int GLhandleARB; - - + + @@ -6646,21 +6645,21 @@ typedef unsigned int GLhandleARB; - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + @@ -6670,138 +6669,138 @@ typedef unsigned int GLhandleARB; - + - - - - - - - - - - + + + + + + + + + + - + - - - - - - + + + + + + - + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -6809,28 +6808,28 @@ typedef unsigned int GLhandleARB; - - + + - + - + - + - + - + - + - + @@ -6842,99 +6841,99 @@ typedef unsigned int GLhandleARB; - - - - - - + + + + + + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - + + + + - - - - - - + + + + + + @@ -6964,13 +6963,13 @@ typedef unsigned int GLhandleARB; - - - - - - - + + + + + + + @@ -6984,37 +6983,37 @@ typedef unsigned int GLhandleARB; - + - + - + - + - + - + - + - + - + - + - + - + @@ -7050,7 +7049,7 @@ typedef unsigned int GLhandleARB; - + @@ -7061,9 +7060,9 @@ typedef unsigned int GLhandleARB; - - - + + + @@ -7071,22 +7070,22 @@ typedef unsigned int GLhandleARB; - + - - - + + + - - - - + + + + @@ -7106,21 +7105,21 @@ typedef unsigned int GLhandleARB; - - + + - - - + + + - - - + + + @@ -7128,13 +7127,13 @@ typedef unsigned int GLhandleARB; - - - - - - - + + + + + + + @@ -7148,11 +7147,11 @@ typedef unsigned int GLhandleARB; - + - - - + + + @@ -7169,7 +7168,7 @@ typedef unsigned int GLhandleARB; conflicts. They have never reported using any values in this range. Lesson: assigned ranges belong to vendors, not engineers! --> - + @@ -7215,19 +7214,19 @@ typedef unsigned int GLhandleARB; - - + + - - + + - + - + @@ -7243,33 +7242,33 @@ typedef unsigned int GLhandleARB; - - - - - - + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - + + + - - + + @@ -7312,18 +7311,18 @@ typedef unsigned int GLhandleARB; - - - + + + - + - + @@ -7369,8 +7368,8 @@ typedef unsigned int GLhandleARB; - - + + @@ -7389,71 +7388,71 @@ typedef unsigned int GLhandleARB; - - - - - + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -7471,7 +7470,7 @@ typedef unsigned int GLhandleARB; - + @@ -7482,60 +7481,60 @@ typedef unsigned int GLhandleARB; - + - + - - + + - - - - - - + + + + + + - + - - - - + + + + - - - - + + + + - + - + - + - + - + @@ -7557,42 +7556,42 @@ typedef unsigned int GLhandleARB; - + - + - + - + - + - + - + - + - - - - + + + + @@ -7601,45 +7600,45 @@ typedef unsigned int GLhandleARB; - + - - - - - - - + + + + + + + - - - - - + + + + + - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + @@ -7651,14 +7650,14 @@ typedef unsigned int GLhandleARB; - - - - - - - - + + + + + + + + @@ -7701,11 +7700,11 @@ typedef unsigned int GLhandleARB; - + - + @@ -7733,7 +7732,7 @@ typedef unsigned int GLhandleARB; - + @@ -7766,11 +7765,11 @@ typedef unsigned int GLhandleARB; - - - - - + + + + + @@ -7781,17 +7780,17 @@ typedef unsigned int GLhandleARB; - + - + - - + + @@ -7803,10 +7802,10 @@ typedef unsigned int GLhandleARB; - + - - + + @@ -7874,26 +7873,26 @@ typedef unsigned int GLhandleARB; - + - + - + - + - + - + - + @@ -7928,16 +7927,16 @@ typedef unsigned int GLhandleARB; - + - + - - + + @@ -7948,7 +7947,7 @@ typedef unsigned int GLhandleARB; - + @@ -8009,11 +8008,11 @@ typedef unsigned int GLhandleARB; - + - + - + @@ -8048,11 +8047,11 @@ typedef unsigned int GLhandleARB; - - - - - + + + + + @@ -8188,7 +8187,7 @@ typedef unsigned int GLhandleARB; - + @@ -8202,12 +8201,12 @@ typedef unsigned int GLhandleARB; - + - + @@ -8229,35 +8228,35 @@ typedef unsigned int GLhandleARB; - - - - - - - - - - + + + + + + + + + + - - - - - - - - + + + + + + + + - - - - + + + + @@ -8265,30 +8264,30 @@ typedef unsigned int GLhandleARB; - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + @@ -8325,13 +8324,13 @@ typedef unsigned int GLhandleARB; - - - - - - - + + + + + + + @@ -8348,26 +8347,26 @@ typedef unsigned int GLhandleARB; - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + @@ -8376,9 +8375,9 @@ typedef unsigned int GLhandleARB; - - - + + + @@ -8388,19 +8387,19 @@ typedef unsigned int GLhandleARB; - + - + - + - + - + - + - + @@ -8414,12 +8413,12 @@ typedef unsigned int GLhandleARB; - - - + + + - + @@ -8439,14 +8438,14 @@ typedef unsigned int GLhandleARB; - - - + + + - - - + + + @@ -8469,7 +8468,7 @@ typedef unsigned int GLhandleARB; - + @@ -8558,7 +8557,7 @@ typedef unsigned int GLhandleARB; - + @@ -8588,18 +8587,18 @@ typedef unsigned int GLhandleARB; - + - + - + - + - + @@ -8630,25 +8629,25 @@ typedef unsigned int GLhandleARB; - + - + - - + + - - + + - + - + @@ -8663,17 +8662,17 @@ typedef unsigned int GLhandleARB; - + - + - - + + @@ -8700,13 +8699,13 @@ typedef unsigned int GLhandleARB; - + - + - + - + @@ -8728,7 +8727,7 @@ typedef unsigned int GLhandleARB; - + @@ -8754,24 +8753,24 @@ typedef unsigned int GLhandleARB; - + - + - + - - + + - - + + - - + + - + @@ -8805,46 +8804,46 @@ typedef unsigned int GLhandleARB; - + - + - + - + - + - + - + - + - + - + - + - + - + - - - + + + @@ -8854,28 +8853,28 @@ typedef unsigned int GLhandleARB; - + - + - + - + - - + + - + - + - + - + @@ -8886,29 +8885,29 @@ typedef unsigned int GLhandleARB; - + - + - + - + - + - + - - - - - - - + + + + + + + @@ -8977,17 +8976,17 @@ typedef unsigned int GLhandleARB; - - - - - - - - - - - + + + + + + + + + + + @@ -8997,10 +8996,10 @@ typedef unsigned int GLhandleARB; - - - - + + + + @@ -9011,8 +9010,8 @@ typedef unsigned int GLhandleARB; - - + + @@ -9044,15 +9043,15 @@ typedef unsigned int GLhandleARB; - - + + - + @@ -9067,41 +9066,41 @@ typedef unsigned int GLhandleARB; - - - - - + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + @@ -9128,10 +9127,10 @@ typedef unsigned int GLhandleARB; - - - - + + + + @@ -9144,112 +9143,112 @@ typedef unsigned int GLhandleARB; - + - + - - + + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - - - - + + + + - + @@ -9265,9 +9264,9 @@ typedef unsigned int GLhandleARB; - + - + @@ -9291,7 +9290,9 @@ typedef unsigned int GLhandleARB; - + + + @@ -9358,38 +9359,38 @@ typedef unsigned int GLhandleARB; - + - - - + + + - - - + + + - + - + - + - + - + - + @@ -9399,40 +9400,40 @@ typedef unsigned int GLhandleARB; - + - + - - - - + + + + - - - + + + - - - - - - - - - + + + + + + + + + @@ -9445,21 +9446,21 @@ typedef unsigned int GLhandleARB; - + - + - + - + - + - + @@ -9468,7 +9469,7 @@ typedef unsigned int GLhandleARB; - + @@ -9478,7 +9479,7 @@ typedef unsigned int GLhandleARB; - + @@ -9486,24 +9487,24 @@ typedef unsigned int GLhandleARB; - + - + - + - + - + - + @@ -9512,36 +9513,37 @@ typedef unsigned int GLhandleARB; - + - + - + - + - + + - + - + - - - - + + + + @@ -9550,33 +9552,33 @@ typedef unsigned int GLhandleARB; - + - + - + - + - - - - - - - - + + + + + + + + @@ -9585,29 +9587,29 @@ typedef unsigned int GLhandleARB; - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - + - + @@ -9617,13 +9619,13 @@ typedef unsigned int GLhandleARB; - + - + - + @@ -9631,126 +9633,126 @@ typedef unsigned int GLhandleARB; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - + - - + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -9774,83 +9776,83 @@ typedef unsigned int GLhandleARB; - - + + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -9858,11 +9860,11 @@ typedef unsigned int GLhandleARB; - - - - - + + + + + @@ -9870,80 +9872,80 @@ typedef unsigned int GLhandleARB; - - + + - + - - - - + + + + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -9957,7 +9959,7 @@ typedef unsigned int GLhandleARB; - + @@ -9972,8 +9974,8 @@ typedef unsigned int GLhandleARB; - - + + @@ -9985,39 +9987,39 @@ typedef unsigned int GLhandleARB; - - - - - - + + + + + + - - - - - + + + + + - + - + - + - + - + - - - - + + + + @@ -10029,20 +10031,20 @@ typedef unsigned int GLhandleARB; - + - + - + - + @@ -10052,36 +10054,36 @@ typedef unsigned int GLhandleARB; - + - + - + - + - + - - - - - + + + + + - + - + - + - + - + - + @@ -10091,7 +10093,7 @@ typedef unsigned int GLhandleARB; - + @@ -10130,12 +10132,12 @@ typedef unsigned int GLhandleARB; - + - + - + @@ -10191,29 +10193,29 @@ typedef unsigned int GLhandleARB; - + - + - + - + - + - + - + - + @@ -10276,10 +10278,10 @@ typedef unsigned int GLhandleARB; - + - + @@ -10297,30 +10299,30 @@ typedef unsigned int GLhandleARB; - + - + - + - + - + - + - + - + - + - + @@ -10340,7 +10342,8 @@ typedef unsigned int GLhandleARB; - + + @@ -10356,21 +10359,21 @@ typedef unsigned int GLhandleARB; - - - - - - - - - - + + + + + + + + + + - - + + @@ -10378,7 +10381,7 @@ typedef unsigned int GLhandleARB; - + @@ -10403,11 +10406,11 @@ typedef unsigned int GLhandleARB; - + - + - + @@ -10417,21 +10420,21 @@ typedef unsigned int GLhandleARB; - + - + - + - + - + - + @@ -10445,29 +10448,29 @@ typedef unsigned int GLhandleARB; - - - - + + + + - - - + + + - + - + - + @@ -10527,152 +10530,152 @@ typedef unsigned int GLhandleARB; - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - - - - + + + + + + - + - + - + - - - - - - - - - + + + + + + + + + - - + + - - - + + + - + @@ -10680,12 +10683,12 @@ typedef unsigned int GLhandleARB; - + - + @@ -10702,36 +10705,36 @@ typedef unsigned int GLhandleARB; - - - - - - + + + + + + - + - + - - - - + + + + - + - - + + - - - - + + + + @@ -10739,72 +10742,72 @@ typedef unsigned int GLhandleARB; - + - - - + + + - - - + + + - - - - + + + + - + - + - - - - + + + + - + - + - + - + - + - + - + - + - + - - - - - + + + + + - + - - + + @@ -10820,7 +10823,7 @@ typedef unsigned int GLhandleARB; - + @@ -10832,7 +10835,7 @@ typedef unsigned int GLhandleARB; - + @@ -10849,15 +10852,15 @@ typedef unsigned int GLhandleARB; - + - + - + @@ -10880,11 +10883,11 @@ typedef unsigned int GLhandleARB; - + - + @@ -10912,7 +10915,7 @@ typedef unsigned int GLhandleARB; - + @@ -10936,20 +10939,20 @@ typedef unsigned int GLhandleARB; - + - + - - + + - - + + @@ -10987,25 +10990,25 @@ typedef unsigned int GLhandleARB; - + - + - + - + - + - + - + - + - + - + @@ -11103,18 +11106,18 @@ typedef unsigned int GLhandleARB; - - + + - - - - - - - - + + + + + + + + @@ -11127,97 +11130,97 @@ typedef unsigned int GLhandleARB; - - + + - + - + - - + + - - - + + + - + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - - - - - - + + + + + + - - - + + + - - - - - + + + + + - + @@ -11245,7 +11248,7 @@ typedef unsigned int GLhandleARB; - + @@ -11257,9 +11260,9 @@ typedef unsigned int GLhandleARB; - - - + + + @@ -11279,12 +11282,12 @@ typedef unsigned int GLhandleARB; - + - + - + @@ -11313,7 +11316,7 @@ typedef unsigned int GLhandleARB; - + @@ -11362,85 +11365,85 @@ typedef unsigned int GLhandleARB; - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + @@ -11475,8 +11478,8 @@ typedef unsigned int GLhandleARB; - - + + @@ -11546,34 +11549,34 @@ typedef unsigned int GLhandleARB; - - + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + @@ -11599,9 +11602,9 @@ typedef unsigned int GLhandleARB; - + - + @@ -11623,17 +11626,32 @@ typedef unsigned int GLhandleARB; - + - + - + + + + + + + + + + + + + + + + - - + + @@ -11680,30 +11698,30 @@ typedef unsigned int GLhandleARB; - - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + @@ -15431,6 +15449,12 @@ typedef unsigned int GLhandleARB; GLdouble f + + void glDepthRangeArraydvNV + GLuint first + GLsizei count + const GLdouble *v + void glDepthRangeArrayfvNV GLuint first @@ -15455,6 +15479,12 @@ typedef unsigned int GLhandleARB; GLdouble n GLdouble f + + void glDepthRangeIndexeddNV + GLuint index + GLdouble n + GLdouble f + void glDepthRangeIndexedfNV GLuint index @@ -18749,37 +18779,37 @@ typedef unsigned int GLhandleARB; void glGetNamedBufferParameteri64v GLuint buffer - GLenum pname + GLenum pname GLint64 *params void glGetNamedBufferParameteriv GLuint buffer - GLenum pname + GLenum pname GLint *params void glGetNamedBufferParameterivEXT GLuint buffer - GLenum pname + GLenum pname GLint *params void glGetNamedBufferParameterui64vNV GLuint buffer - GLenum pname + GLenum pname GLuint64EXT *params void glGetNamedBufferPointerv GLuint buffer - GLenum pname + GLenum pname void **params void glGetNamedBufferPointervEXT GLuint buffer - GLenum pname + GLenum pname void **params @@ -19766,6 +19796,11 @@ typedef unsigned int GLhandleARB; GLushort glGetStageIndexNV GLenum shadertype + const GLubyte *glGetString GLenum name @@ -20154,7 +20189,7 @@ typedef unsigned int GLhandleARB; GLsizei bufSize GLsizei *length GLsizei *size - GLenum *type + GLenum *type GLchar *name @@ -20165,7 +20200,7 @@ typedef unsigned int GLhandleARB; GLsizei bufSize GLsizei *length GLsizei *size - GLenum *type + GLenum *type GLchar *name @@ -21002,8 +21037,8 @@ typedef unsigned int GLhandleARB; void glIglooInterfaceSGIX - GLenum pname - const void *params + GLenum pname + const void *params @@ -27849,6 +27884,10 @@ typedef unsigned int GLhandleARB; void glShadingRateImageBarrierNV GLboolean synchronize + + void glShadingRateQCOM + GLenum rate + void glShadingRateImagePaletteNV GLuint viewport @@ -28833,6 +28872,19 @@ typedef unsigned int GLhandleARB; GLenum pname const GLfixed *params + + void glTexEstimateMotionQCOM + GLuint ref + GLuint target + GLuint output + + + void glTexEstimateMotionRegionsQCOM + GLuint ref + GLuint target + GLuint output + GLuint mask + void glTexFilterFuncSGIS GLenum target @@ -29995,7 +30047,7 @@ typedef unsigned int GLhandleARB; GLuint program GLsizei count const GLchar *const*varyings - GLenum bufferMode + GLenum bufferMode @@ -32647,7 +32699,7 @@ typedef unsigned int GLhandleARB; void glVertexAttribIPointer GLuint index GLint size - GLenum type + GLenum type GLsizei stride const void *pointer @@ -32655,7 +32707,7 @@ typedef unsigned int GLhandleARB; void glVertexAttribIPointerEXT GLuint index GLint size - GLenum type + GLenum type GLsizei stride const void *pointer @@ -32880,7 +32932,7 @@ typedef unsigned int GLhandleARB; void glVertexAttribLPointer GLuint index GLint size - GLenum type + GLenum type GLsizei stride const void *pointer @@ -32888,7 +32940,7 @@ typedef unsigned int GLhandleARB; void glVertexAttribLPointerEXT GLuint index GLint size - GLenum type + GLenum type GLsizei stride const void *pointer @@ -44025,6 +44077,10 @@ typedef unsigned int GLhandleARB; + + + + @@ -44064,6 +44120,11 @@ typedef unsigned int GLhandleARB; + + + + + @@ -47684,6 +47745,11 @@ typedef unsigned int GLhandleARB; + + + + + @@ -47691,6 +47757,11 @@ typedef unsigned int GLhandleARB; + + + + + @@ -48022,7 +48093,7 @@ typedef unsigned int GLhandleARB; - + @@ -50916,6 +50987,15 @@ typedef unsigned int GLhandleARB; + + + + + + + + + @@ -50947,6 +51027,19 @@ typedef unsigned int GLhandleARB; + + + + + + + + + + + + + diff --git a/glad/files/glx.xml b/glad/files/glx.xml index 4ddd2f64..4ee1cae7 100644 --- a/glad/files/glx.xml +++ b/glad/files/glx.xml @@ -1406,7 +1406,7 @@ typedef unsigned __int64 uint64_t; GLboolean glXSet3DfxModeMESA - GLint mode + GLint mode void glXSwapBuffers diff --git a/glad/files/khrplatform.h b/glad/files/khrplatform.h index 5b55ea2b..dd22d927 100644 --- a/glad/files/khrplatform.h +++ b/glad/files/khrplatform.h @@ -119,7 +119,7 @@ * This follows the return type of the function and precedes the function * name in the function prototype. */ -#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(KHRONOS_STATIC) +#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__) /* Win32 but not WinCE */ # define KHRONOS_APIENTRY __stdcall #else diff --git a/glad/files/vk.xml b/glad/files/vk.xml index 88d421ac..ec74598e 100644 --- a/glad/files/vk.xml +++ b/glad/files/vk.xml @@ -3,33 +3,7 @@ Copyright (c) 2015-2020 The Khronos Group 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. - ----- Exceptions to the Apache 2.0 License: ---- - -As an exception, if you use this Software to generate code and portions of -this Software are embedded into the generated code as a result, you may -redistribute such product without providing attribution as would otherwise -be required by Sections 4(a), 4(b) and 4(d) of the License. - -In addition, if you combine or link code generated by this Software with -software that is licensed under the GPLv2 or the LGPL v2.0 or 2.1 -("`Combined Software`") and if a court of competent jurisdiction determines -that the patent provision (Section 3), the indemnity provision (Section 9) -or other Section of the License conflicts with the conditions of the -applicable GPL or LGPL license, you may retroactively and prospectively -choose to deem waived or otherwise exclude such Section(s) of the License, -but only in their entirety and only with respect to the Combined Software. +SPDX-License-Identifier: Apache-2.0 OR MIT @@ -57,6 +31,7 @@ server. + @@ -142,7 +117,7 @@ server. #define VK_MAKE_VERSION(major, minor, patch) \ - (((major) << 22) | ((minor) << 12) | (patch)) + ((((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch))) #define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22) #define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff) #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff) @@ -156,7 +131,9 @@ server. // Vulkan 1.2 version number #define VK_API_VERSION_1_2 VK_MAKE_VERSION(1, 2, 0)// Patch version should always be set to 0 // Version of this file -#define VK_HEADER_VERSION 131 +#define VK_HEADER_VERSION 144 + // Complete version of this file +#define VK_HEADER_VERSION_COMPLETE VK_MAKE_VERSION(1, 2, VK_HEADER_VERSION) #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object; @@ -173,9 +150,9 @@ server. #define VK_NULL_HANDLE 0 - struct ANativeWindow; - struct AHardwareBuffer; - + struct ANativeWindow; + struct AHardwareBuffer; + #ifdef __OBJC__ @class CAMetalLayer; #else @@ -208,7 +185,7 @@ typedef void CAMetalLayer; typedef VkFlags VkRenderPassCreateFlags; typedef VkFlags VkSamplerCreateFlags; typedef VkFlags VkPipelineLayoutCreateFlags; - typedef VkFlags VkPipelineCacheCreateFlags; + typedef VkFlags VkPipelineCacheCreateFlags; typedef VkFlags VkPipelineDepthStencilStateCreateFlags; typedef VkFlags VkPipelineDynamicStateCreateFlags; typedef VkFlags VkPipelineColorBlendStateCreateFlags; @@ -243,10 +220,10 @@ typedef void CAMetalLayer; typedef VkFlags VkQueryResultFlags; typedef VkFlags VkShaderModuleCreateFlags; typedef VkFlags VkEventCreateFlags; - typedef VkFlags VkCommandPoolCreateFlags; - typedef VkFlags VkCommandPoolResetFlags; - typedef VkFlags VkCommandBufferResetFlags; - typedef VkFlags VkCommandBufferUsageFlags; + typedef VkFlags VkCommandPoolCreateFlags; + typedef VkFlags VkCommandPoolResetFlags; + typedef VkFlags VkCommandBufferResetFlags; + typedef VkFlags VkCommandBufferUsageFlags; typedef VkFlags VkQueryPipelineStatisticFlags; typedef VkFlags VkMemoryMapFlags; typedef VkFlags VkImageAspectFlags; @@ -262,21 +239,25 @@ typedef void CAMetalLayer; typedef VkFlags VkDescriptorPoolResetFlags; typedef VkFlags VkDependencyFlags; typedef VkFlags VkSubgroupFeatureFlags; - typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNVX; - typedef VkFlags VkObjectEntryUsageFlagsNVX; - typedef VkFlags VkGeometryFlagsNV; - typedef VkFlags VkGeometryInstanceFlagsNV; - typedef VkFlags VkBuildAccelerationStructureFlagsNV; - + typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNV; + typedef VkFlags VkIndirectStateFlagsNV; + typedef VkFlags VkGeometryFlagsKHR; + + typedef VkFlags VkGeometryInstanceFlagsKHR; + + typedef VkFlags VkBuildAccelerationStructureFlagsKHR; + + typedef VkFlags VkPrivateDataSlotCreateFlagsEXT; typedef VkFlags VkDescriptorUpdateTemplateCreateFlags; typedef VkFlags VkPipelineCreationFeedbackFlagsEXT; typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR; - typedef VkFlags VkAcquireProfilingLockFlagsKHR; + typedef VkFlags VkAcquireProfilingLockFlagsKHR; typedef VkFlags VkSemaphoreWaitFlags; typedef VkFlags VkPipelineCompilerControlFlagsAMD; typedef VkFlags VkShaderCorePropertiesFlagsAMD; + typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV; WSI extensions typedef VkFlags VkCompositeAlphaFlagsKHR; @@ -297,20 +278,20 @@ typedef void CAMetalLayer; typedef VkFlags VkImagePipeSurfaceCreateFlagsFUCHSIA; typedef VkFlags VkStreamDescriptorSurfaceCreateFlagsGGP; typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT; - typedef VkFlags VkPeerMemoryFeatureFlags; + typedef VkFlags VkPeerMemoryFeatureFlags; - typedef VkFlags VkMemoryAllocateFlags; + typedef VkFlags VkMemoryAllocateFlags; typedef VkFlags VkDeviceGroupPresentModeFlagsKHR; - typedef VkFlags VkDebugReportFlagsEXT; + typedef VkFlags VkDebugReportFlagsEXT; typedef VkFlags VkCommandPoolTrimFlags; typedef VkFlags VkExternalMemoryHandleTypeFlagsNV; typedef VkFlags VkExternalMemoryFeatureFlagsNV; typedef VkFlags VkExternalMemoryHandleTypeFlags; - typedef VkFlags VkExternalMemoryFeatureFlags; + typedef VkFlags VkExternalMemoryFeatureFlags; typedef VkFlags VkExternalSemaphoreHandleTypeFlags; @@ -320,9 +301,9 @@ typedef void CAMetalLayer; typedef VkFlags VkExternalFenceHandleTypeFlags; - typedef VkFlags VkExternalFenceFeatureFlags; + typedef VkFlags VkExternalFenceFeatureFlags; - typedef VkFlags VkFenceImportFlags; + typedef VkFlags VkFenceImportFlags; typedef VkFlags VkSurfaceCounterFlagsEXT; typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV; @@ -331,14 +312,14 @@ typedef void CAMetalLayer; typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV; typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV; typedef VkFlags VkValidationCacheCreateFlagsEXT; - typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT; - typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT; + typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT; + typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT; typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT; typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT; typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT; typedef VkFlags VkDescriptorBindingFlags; - typedef VkFlags VkConditionalRenderingFlagsEXT; + typedef VkFlags VkConditionalRenderingFlagsEXT; typedef VkFlags VkResolveModeFlags; typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT; @@ -372,19 +353,21 @@ typedef void CAMetalLayer; VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkObjectTableNVX) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNVX) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlotEXT) WSI extensions - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT) @@ -401,20 +384,9 @@ typedef void CAMetalLayer; - - - - - - - - - - - @@ -481,10 +453,10 @@ typedef void CAMetalLayer; Extensions - - - - + + + + @@ -506,17 +478,27 @@ typedef void CAMetalLayer; - - - - - - - - + + + + + + + + + + + + + + + + + + @@ -831,7 +813,7 @@ typedef void CAMetalLayer; VkDeviceSize maxResourceSizemax size (in bytes) of this resource type - VkBuffer bufferBuffer used for this descriptor slot. + VkBuffer bufferBuffer used for this descriptor slot. VkDeviceSize offsetBase offset from buffer start in bytes to update in the descriptor set. VkDeviceSize rangeSize in bytes of the buffer resource for this descriptor update. @@ -1559,7 +1541,7 @@ typedef void CAMetalLayer; VkSampleCountFlags framebufferColorSampleCountssupported color sample counts for a framebuffer VkSampleCountFlags framebufferDepthSampleCountssupported depth sample counts for a framebuffer VkSampleCountFlags framebufferStencilSampleCountssupported stencil sample counts for a framebuffer - VkSampleCountFlags framebufferNoAttachmentsSampleCountssupported sample counts for a framebuffer with no attachments + VkSampleCountFlags framebufferNoAttachmentsSampleCountssupported sample counts for a subpass which uses no attachments uint32_t maxColorAttachmentsmax number of color attachments per subpass VkSampleCountFlags sampledImageColorSampleCountssupported color sample counts for a non-integer sampled image VkSampleCountFlags sampledImageIntegerSampleCountssupported sample counts for an integer image @@ -1895,105 +1877,126 @@ typedef void CAMetalLayer; const VkDeviceMemory* pReleaseSyncs const uint64_t* pReleaseKeys - - VkStructureType sType - const void* pNext - VkBool32 computeBindingPointSupport + + VkStructureTypesType + void* pNext + VkBool32 deviceGeneratedCommands - - VkStructureType sType - const void* pNext - uint32_t maxIndirectCommandsLayoutTokenCount - uint32_t maxObjectEntryCounts - uint32_t minSequenceCountBufferOffsetAlignment - uint32_t minSequenceIndexBufferOffsetAlignment - uint32_t minCommandsTokenBufferOffsetAlignment - - - VkIndirectCommandsTokenTypeNVX tokenType - VkBuffer bufferbuffer containing tableEntries and additional data for indirectCommands - VkDeviceSize offsetoffset from the base address of the buffer - - - VkIndirectCommandsTokenTypeNVX tokenType - uint32_t bindingUnitBinding unit for vertex attribute / descriptor set, offset for pushconstants - uint32_t dynamicCountNumber of variable dynamic values for descriptor set / push constants - uint32_t divisorRate the which the array is advanced per element (must be power of 2, minimum 1) - - - VkStructureType sType - const void* pNext - VkPipelineBindPoint pipelineBindPoint - VkIndirectCommandsLayoutUsageFlagsNVX flags - uint32_t tokenCount - const VkIndirectCommandsLayoutTokenNVX* pTokens + + VkStructureType sType + const void* pNext + uint32_t privateDataSlotRequestCount - - VkStructureType sType - const void* pNext - VkObjectTableNVX objectTable - VkIndirectCommandsLayoutNVX indirectCommandsLayout - uint32_t indirectCommandsTokenCount - const VkIndirectCommandsTokenNVX* pIndirectCommandsTokens - uint32_t maxSequencesCount - VkCommandBuffer targetCommandBuffer - VkBuffer sequencesCountBuffer - VkDeviceSize sequencesCountOffset - VkBuffer sequencesIndexBuffer - VkDeviceSize sequencesIndexOffset - - - VkStructureType sType - const void* pNext - VkObjectTableNVX objectTable - VkIndirectCommandsLayoutNVX indirectCommandsLayout - uint32_t maxSequencesCount + + VkStructureType sType + const void* pNext + VkPrivateDataSlotCreateFlagsEXT flags - - VkStructureType sType - const void* pNext - uint32_t objectCount - const VkObjectEntryTypeNVX* pObjectEntryTypes - const uint32_t* pObjectEntryCounts - const VkObjectEntryUsageFlagsNVX* pObjectEntryUsageFlags - - uint32_t maxUniformBuffersPerDescriptor - uint32_t maxStorageBuffersPerDescriptor - uint32_t maxStorageImagesPerDescriptor - uint32_t maxSampledImagesPerDescriptor - uint32_t maxPipelineLayouts - - - VkObjectEntryTypeNVX type - VkObjectEntryUsageFlagsNVX flags - - - VkObjectEntryTypeNVX type - VkObjectEntryUsageFlagsNVX flags - VkPipeline pipeline - - - VkObjectEntryTypeNVX type - VkObjectEntryUsageFlagsNVX flags - VkPipelineLayout pipelineLayout - VkDescriptorSet descriptorSet - - - VkObjectEntryTypeNVX type - VkObjectEntryUsageFlagsNVX flags - VkBuffer buffer - - - VkObjectEntryTypeNVX type - VkObjectEntryUsageFlagsNVX flags - VkBuffer buffer - VkIndexType indexType - - - VkObjectEntryTypeNVX type - VkObjectEntryUsageFlagsNVX flags - VkPipelineLayout pipelineLayout - VkShaderStageFlags stageFlags + + VkStructureType sType + void* pNext + VkBool32 privateData + + + VkStructureType sType + void* pNext + uint32_t maxGraphicsShaderGroupCount + uint32_t maxIndirectSequenceCount + uint32_t maxIndirectCommandsTokenCount + uint32_t maxIndirectCommandsStreamCount + uint32_t maxIndirectCommandsTokenOffset + uint32_t maxIndirectCommandsStreamStride + uint32_t minSequencesCountBufferOffsetAlignment + uint32_t minSequencesIndexBufferOffsetAlignment + uint32_t minIndirectCommandsBufferOffsetAlignment + + + VkStructureType sType + const void* pNext + uint32_t stageCount + const VkPipelineShaderStageCreateInfo* pStages + const VkPipelineVertexInputStateCreateInfo* pVertexInputState + const VkPipelineTessellationStateCreateInfo* pTessellationState + + + VkStructureType sType + const void* pNext + uint32_t groupCount + const VkGraphicsShaderGroupCreateInfoNV* pGroups + uint32_t pipelineCount + const VkPipeline* pPipelines + + + uint32_t groupIndex + + + VkDeviceAddress bufferAddress + uint32_t size + VkIndexType indexType + + + VkDeviceAddress bufferAddress + uint32_t size + uint32_t stride + + + uint32_t data + + + VkBuffer buffer + VkDeviceSize offset + + + VkStructureType sType + const void* pNext + VkIndirectCommandsTokenTypeNV tokenType + uint32_t stream + uint32_t offset + uint32_t vertexBindingUnit + VkBool32 vertexDynamicStride + VkPipelineLayout pushconstantPipelineLayout + VkShaderStageFlags pushconstantShaderStageFlags + uint32_t pushconstantOffset + uint32_t pushconstantSize + VkIndirectStateFlagsNV indirectStateFlags + uint32_t indexTypeCount + const VkIndexType* pIndexTypes + const uint32_t* pIndexTypeValues + + + VkStructureType sType + const void* pNext + VkIndirectCommandsLayoutUsageFlagsNV flags + VkPipelineBindPoint pipelineBindPoint + uint32_t tokenCount + const VkIndirectCommandsLayoutTokenNV* pTokens + uint32_t streamCount + const uint32_t* pStreamStrides + + + VkStructureType sType + const void* pNext + VkPipelineBindPoint pipelineBindPoint + VkPipeline pipeline + VkIndirectCommandsLayoutNV indirectCommandsLayout + uint32_t streamCount + const VkIndirectCommandsStreamNV* pStreams + uint32_t sequencesCount + VkBuffer preprocessBuffer + VkDeviceSize preprocessOffset + VkDeviceSize preprocessSize + VkBuffer sequencesCountBuffer + VkDeviceSize sequencesCountOffset + VkBuffer sequencesIndexBuffer + VkDeviceSize sequencesIndexOffset + + + VkStructureType sType + const void* pNext + VkPipelineBindPoint pipelineBindPoint + VkPipeline pipeline + VkIndirectCommandsLayoutNV indirectCommandsLayout + uint32_t maxSequencesCount VkStructureType sType @@ -2640,11 +2643,11 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext - VkPipelineDiscardRectangleStateCreateFlagsEXT flags - VkDiscardRectangleModeEXT discardRectangleMode - uint32_t discardRectangleCount - const VkRect2D* pDiscardRectangles + const void* pNext + VkPipelineDiscardRectangleStateCreateFlagsEXT flags + VkDiscardRectangleModeEXT discardRectangleMode + uint32_t discardRectangleCount + const VkRect2D* pDiscardRectangles VkStructureType sType @@ -3600,9 +3603,9 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext - uint32_t exclusiveScissorCount - const VkRect2D* pExclusiveScissors + const void* pNext + uint32_t exclusiveScissorCount + const VkRect2D* pExclusiveScissors VkStructureType sType @@ -3636,10 +3639,10 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext - VkBool32 shadingRateImageEnable - uint32_t viewportCount - const VkShadingRatePaletteNV* pShadingRatePalettes + const void* pNext + VkBool32 shadingRateImageEnable + uint32_t viewportCount + const VkShadingRatePaletteNV* pShadingRatePalettes VkStructureType sType @@ -3702,11 +3705,21 @@ typedef void CAMetalLayer; VkStructureType sType const void* pNext - VkRayTracingShaderGroupTypeNV type + VkRayTracingShaderGroupTypeKHR type + uint32_t generalShader + uint32_t closestHitShader + uint32_t anyHitShader + uint32_t intersectionShader + + + VkStructureType sType + const void* pNext + VkRayTracingShaderGroupTypeKHR type uint32_t generalShader uint32_t closestHitShader uint32_t anyHitShader uint32_t intersectionShader + const void* pShaderGroupCaptureReplayHandle VkStructureType sType @@ -3721,6 +3734,21 @@ typedef void CAMetalLayer; VkPipeline basePipelineHandleIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is nonzero, it specifies the handle of the base pipeline this is a derivative of int32_t basePipelineIndexIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is not -1, it specifies an index into pCreateInfos of the base pipeline this is a derivative of + + VkStructureType sType + const void* pNext + VkPipelineCreateFlags flagsPipeline creation flags + uint32_t stageCount + const VkPipelineShaderStageCreateInfo* pStagesOne entry for each active shader stage + uint32_t groupCount + const VkRayTracingShaderGroupCreateInfoKHR* pGroups + uint32_t maxRecursionDepth + VkPipelineLibraryCreateInfoKHR libraries + const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface + VkPipelineLayout layoutInterface layout of the pipeline + VkPipeline basePipelineHandleIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is nonzero, it specifies the handle of the base pipeline this is a derivative of + int32_t basePipelineIndexIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is not -1, it specifies an index into pCreateInfos of the base pipeline this is a derivative of + VkStructureType sType const void* pNext @@ -3750,10 +3778,10 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext - VkGeometryTypeNV geometryType - VkGeometryDataNV geometry - VkGeometryFlagsNV flags + const void* pNext + VkGeometryTypeKHR geometryType + VkGeometryDataNV geometry + VkGeometryFlagsKHR flags VkStructureType sType @@ -3770,26 +3798,61 @@ typedef void CAMetalLayer; VkDeviceSize compactedSize VkAccelerationStructureInfoNV info - - VkStructureType sType + + VkStructureType sType const void* pNext - VkAccelerationStructureNV accelerationStructure + VkAccelerationStructureKHR accelerationStructure VkDeviceMemory memory VkDeviceSize memoryOffset uint32_t deviceIndexCount const uint32_t* pDeviceIndices - - VkStructureType sType + + + VkStructureType sType const void* pNext uint32_t accelerationStructureCount - const VkAccelerationStructureNV* pAccelerationStructures + const VkAccelerationStructureKHR* pAccelerationStructures + + + + VkStructureType sType + const void* pNext + VkAccelerationStructureMemoryRequirementsTypeKHR type + VkAccelerationStructureBuildTypeKHR buildType + VkAccelerationStructureKHR accelerationStructure VkStructureType sType const void* pNext - VkAccelerationStructureMemoryRequirementsTypeNV type - VkAccelerationStructureNV accelerationStructure + VkAccelerationStructureMemoryRequirementsTypeNV type + VkAccelerationStructureNV accelerationStructure + + + VkStructureType sType + void* pNext + VkBool32 rayTracing + VkBool32 rayTracingShaderGroupHandleCaptureReplay + VkBool32 rayTracingShaderGroupHandleCaptureReplayMixed + VkBool32 rayTracingAccelerationStructureCaptureReplay + VkBool32 rayTracingIndirectTraceRays + VkBool32 rayTracingIndirectAccelerationStructureBuild + VkBool32 rayTracingHostAccelerationStructureCommands + VkBool32 rayQuery + VkBool32 rayTracingPrimitiveCulling + + + VkStructureType sType + void* pNext + uint32_t shaderGroupHandleSize + uint32_t maxRecursionDepth + uint32_t maxShaderGroupStride + uint32_t shaderGroupBaseAlignment + uint64_t maxGeometryCount + uint64_t maxInstanceCount + uint64_t maxPrimitiveCount + uint32_t maxDescriptorSetAccelerationStructures + uint32_t shaderGroupHandleCaptureReplaySize VkStructureType sType @@ -3803,6 +3866,17 @@ typedef void CAMetalLayer; uint64_t maxTriangleCount uint32_t maxDescriptorSetAccelerationStructures + + VkBuffer buffer + VkDeviceSize offset + VkDeviceSize stride + VkDeviceSize size + + + uint32_t width + uint32_t height + uint32_t depth + VkStructureType sType void* pNext @@ -4031,6 +4105,12 @@ typedef void CAMetalLayer; VkDescriptorType descriptorType VkSampler sampler + + VkStructureType sType + void* pNext + VkDeviceAddress deviceAddress + VkDeviceSize size + VkStructureType sType const void* pNext @@ -4040,7 +4120,7 @@ typedef void CAMetalLayer; VkPipelineCreationFeedbackFlagsEXT flags uint64_t duration - + VkStructureType sType const void* pNext VkPipelineCreationFeedbackEXT* pPipelineCreationFeedbackOutput pipeline creation feedback. @@ -4144,26 +4224,27 @@ typedef void CAMetalLayer; VkBool32 shaderIntegerFunctions2 - uint32_t value32 - uint64_t value64 - float valueFloat - VkBool32 valueBool - const char* valueString + uint32_t value32 + uint64_t value64 + float valueFloat + VkBool32 valueBool + const char* valueString VkPerformanceValueTypeINTEL type - VkPerformanceValueDataINTEL data + VkPerformanceValueDataINTEL data VkStructureType sType const void* pNext void* pUserData - - VkStructureType sType + + VkStructureType sType const void* pNext VkQueryPoolSamplingModeINTEL performanceCountersSampling + VkStructureType sType const void* pNext @@ -4259,10 +4340,10 @@ typedef void CAMetalLayer; uint32_t executableIndex - VkBool32 b32 - int64_t i64 - uint64_t u64 - double f64 + VkBool32 b32 + int64_t i64 + uint64_t u64 + double f64 VkStructureType sType @@ -4270,7 +4351,7 @@ typedef void CAMetalLayer; char name[VK_MAX_DESCRIPTION_SIZE] char description[VK_MAX_DESCRIPTION_SIZE] VkPipelineExecutableStatisticFormatKHR format - VkPipelineExecutableStatisticValueKHR value + VkPipelineExecutableStatisticValueKHR value VkStructureType sType @@ -4353,6 +4434,11 @@ typedef void CAMetalLayer; uint32_t lineStippleFactor uint16_t lineStipplePattern + + VkStructureType sType + void* pNext + VkBool32 pipelineCreationCacheControl + VkStructureTypesType void* pNext @@ -4369,7 +4455,7 @@ typedef void CAMetalLayer; VkBool32 samplerYcbcrConversionSampler color conversion supported VkBool32 shaderDrawParameters - + VkStructureTypesType void* pNext uint8_t deviceUUID[VK_UUID_SIZE] @@ -4439,7 +4525,7 @@ typedef void CAMetalLayer; VkBool32 shaderOutputLayer VkBool32 subgroupBroadcastDynamicId - + VkStructureTypesType void* pNext VkDriverId driverID @@ -4514,6 +4600,210 @@ typedef void CAMetalLayer; char description[VK_MAX_DESCRIPTION_SIZE] char layer[VK_MAX_EXTENSION_NAME_SIZE] + + VkStructureType sType + const void* pNext + VkClearColorValue customBorderColor + VkFormat format + + + VkStructureType sType + void* pNext + uint32_t maxCustomBorderColorSamplers + + + VkStructureType sType + void* pNext + VkBool32 customBorderColors + VkBool32 customBorderColorWithoutFormat + + + VkDeviceAddress deviceAddress + void* hostAddress + + + VkDeviceAddress deviceAddress + const void* hostAddress + + + VkStructureType sType + const void* pNext + VkFormat vertexFormat + VkDeviceOrHostAddressConstKHR vertexData + VkDeviceSize vertexStride + VkIndexType indexType + VkDeviceOrHostAddressConstKHR indexData + VkDeviceOrHostAddressConstKHR transformData + + + VkStructureType sType + const void* pNext + VkDeviceOrHostAddressConstKHR data + VkDeviceSize stride + + + VkStructureType sType + const void* pNext + VkBool32 arrayOfPointers + VkDeviceOrHostAddressConstKHR data + + + VkAccelerationStructureGeometryTrianglesDataKHR triangles + VkAccelerationStructureGeometryAabbsDataKHR aabbs + VkAccelerationStructureGeometryInstancesDataKHR instances + + + VkStructureType sType + const void* pNext + VkGeometryTypeKHR geometryType + VkAccelerationStructureGeometryDataKHR geometry + VkGeometryFlagsKHR flags + + + VkStructureType sType + const void* pNext + VkAccelerationStructureTypeKHR type + VkBuildAccelerationStructureFlagsKHR flags + VkBool32 update + VkAccelerationStructureKHR srcAccelerationStructure + VkAccelerationStructureKHR dstAccelerationStructure + VkBool32 geometryArrayOfPointers + uint32_t geometryCount + const VkAccelerationStructureGeometryKHR* const* ppGeometries + VkDeviceOrHostAddressKHR scratchData + + + uint32_t primitiveCount + uint32_t primitiveOffset + uint32_t firstVertex + uint32_t transformOffset + + + VkStructureType sType + const void* pNext + VkGeometryTypeKHR geometryType + uint32_t maxPrimitiveCount + VkIndexType indexType + uint32_t maxVertexCount + VkFormat vertexFormat + VkBool32 allowsTransforms + + + VkStructureType sType + const void* pNext + VkDeviceSize compactedSize + VkAccelerationStructureTypeKHR type + VkBuildAccelerationStructureFlagsKHR flags + uint32_t maxGeometryCount + const VkAccelerationStructureCreateGeometryTypeInfoKHR* pGeometryInfos + VkDeviceAddress deviceAddress + + + float minX + float minY + float minZ + float maxX + float maxY + float maxZ + + + + float matrix[3][4] + + + + The bitfields in this structure are non-normative since bitfield ordering is implementation-defined in C. The specification defines the normative layout. + VkTransformMatrixKHR transform + uint32_t instanceCustomIndex:24 + uint32_t mask:8 + uint32_t instanceShaderBindingTableRecordOffset:24 + VkGeometryInstanceFlagsKHR flags:8 + uint64_t accelerationStructureReference + + + + VkStructureType sType + const void* pNext + VkAccelerationStructureKHR accelerationStructure + + + VkStructureType sType + const void* pNext + const uint8_t* versionData + + + VkStructureType sType + const void* pNext + VkAccelerationStructureKHR src + VkAccelerationStructureKHR dst + VkCopyAccelerationStructureModeKHR mode + + + VkStructureType sType + const void* pNext + VkAccelerationStructureKHR src + VkDeviceOrHostAddressKHR dst + VkCopyAccelerationStructureModeKHR mode + + + VkStructureType sType + const void* pNext + VkDeviceOrHostAddressConstKHR src + VkAccelerationStructureKHR dst + VkCopyAccelerationStructureModeKHR mode + + + VkStructureType sType + const void* pNext + uint32_t maxPayloadSize + uint32_t maxAttributeSize + uint32_t maxCallableSize + + + VkStructureType sType + const void* pNext + VkDeferredOperationKHR operationHandle + + + VkStructureType sType + const void* pNext + uint32_t libraryCount + const VkPipeline* pLibraries + + + VkStructureType sType + void* pNextPointer to next structure + VkSurfaceTransformFlagBitsKHR transform + + + VkStructureType sType + void* pNextPointer to next structure + VkSurfaceTransformFlagBitsKHR transform + VkRect2D renderArea + + + VkStructureTypesType + void* pNext + VkBool32 diagnosticsConfig + + + VkStructureType sType + const void* pNext + VkDeviceDiagnosticsConfigFlagsNV flags + + + VkStructureType sType + void* pNext + VkBool32 robustBufferAccess2 + VkBool32 robustImageAccess2 + VkBool32 nullDescriptor + + + VkStructureType sType + void* pNext + VkDeviceSize robustStorageBufferAccessSizeAlignment + VkDeviceSize robustUniformBufferAccessSizeAlignment + Vulkan enumerant (token) definitions @@ -4545,7 +4835,8 @@ typedef void CAMetalLayer; - + + @@ -4641,6 +4932,7 @@ typedef void CAMetalLayer; + @@ -5395,8 +5687,8 @@ typedef void CAMetalLayer; - - + + @@ -5423,6 +5715,7 @@ typedef void CAMetalLayer; + @@ -5443,32 +5736,25 @@ typedef void CAMetalLayer; - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -5646,7 +5932,9 @@ typedef void CAMetalLayer; - + + + Driver IDs are now represented as enums instead of the old @@ -5664,6 +5952,7 @@ typedef void CAMetalLayer; + @@ -5695,44 +5984,51 @@ typedef void CAMetalLayer; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5760,6 +6056,11 @@ typedef void CAMetalLayer; + + + + + @@ -5869,6 +6170,9 @@ typedef void CAMetalLayer; void vkDestroyInstance VkInstance instance const VkAllocationCallbacks* pAllocator + + all sname:VkPhysicalDevice objects enumerated from pname:instance + VkResult vkEnumeratePhysicalDevices @@ -5934,8 +6238,11 @@ typedef void CAMetalLayer; void vkDestroyDevice VkDevice device const VkAllocationCallbacks* pAllocator + + all sname:VkQueue objects received from pname:device + - + VkResult vkEnumerateInstanceVersion uint32_t* pApiVersion @@ -6288,7 +6595,7 @@ typedef void CAMetalLayer; uint32_t srcCacheCount const VkPipelineCache* pSrcCaches - + VkResult vkCreateGraphicsPipelines VkDevice device VkPipelineCache pipelineCache @@ -6297,7 +6604,7 @@ typedef void CAMetalLayer; const VkAllocationCallbacks* pAllocator VkPipeline* pPipelines - + VkResult vkCreateComputePipelines VkDevice device VkPipelineCache pipelineCache @@ -6376,8 +6683,8 @@ typedef void CAMetalLayer; VkResult vkAllocateDescriptorSets VkDevice device - const VkDescriptorSetAllocateInfo* pAllocateInfo - VkDescriptorSet* pDescriptorSets + const VkDescriptorSetAllocateInfo* pAllocateInfo + VkDescriptorSet* pDescriptorSets VkResult vkFreeDescriptorSets @@ -6448,8 +6755,8 @@ typedef void CAMetalLayer; VkResult vkAllocateCommandBuffers VkDevice device - const VkCommandBufferAllocateInfo* pAllocateInfo - VkCommandBuffer* pCommandBuffers + const VkCommandBufferAllocateInfo* pAllocateInfo + VkCommandBuffer* pCommandBuffers void vkFreeCommandBuffers @@ -6562,7 +6869,7 @@ typedef void CAMetalLayer; VkCommandBuffer commandBuffer uint32_t firstBinding uint32_t bindingCount - const VkBuffer* pBuffers + const VkBuffer* pBuffers const VkDeviceSize* pOffsets @@ -6925,7 +7232,7 @@ typedef void CAMetalLayer; VkResult vkCreateSwapchainKHR VkDevice device - const VkSwapchainCreateInfoKHR* pCreateInfo + const VkSwapchainCreateInfoKHR* pCreateInfo const VkAllocationCallbacks* pAllocator VkSwapchainKHR* pSwapchain @@ -6954,7 +7261,7 @@ typedef void CAMetalLayer; VkResult vkQueuePresentKHR VkQueue queue - const VkPresentInfoKHR* pPresentInfo + const VkPresentInfoKHR* pPresentInfo VkResult vkCreateViSurfaceNN @@ -7040,7 +7347,7 @@ typedef void CAMetalLayer; void vkDestroyDebugReportCallbackEXT VkInstance instance - VkDebugReportCallbackEXT callback + VkDebugReportCallbackEXT callback const VkAllocationCallbacks* pAllocator @@ -7057,25 +7364,25 @@ typedef void CAMetalLayer; VkResult vkDebugMarkerSetObjectNameEXT VkDevice device - const VkDebugMarkerObjectNameInfoEXT* pNameInfo + const VkDebugMarkerObjectNameInfoEXT* pNameInfo VkResult vkDebugMarkerSetObjectTagEXT VkDevice device - const VkDebugMarkerObjectTagInfoEXT* pTagInfo + const VkDebugMarkerObjectTagInfoEXT* pTagInfo void vkCmdDebugMarkerBeginEXT - VkCommandBuffer commandBuffer + VkCommandBuffer commandBuffer const VkDebugMarkerMarkerInfoEXT* pMarkerInfo void vkCmdDebugMarkerEndEXT - VkCommandBuffer commandBuffer + VkCommandBuffer commandBuffer void vkCmdDebugMarkerInsertEXT - VkCommandBuffer commandBuffer + VkCommandBuffer commandBuffer const VkDebugMarkerMarkerInfoEXT* pMarkerInfo @@ -7097,63 +7404,42 @@ typedef void CAMetalLayer; HANDLE* pHandle - void vkCmdProcessCommandsNVX + void vkCmdExecuteGeneratedCommandsNV VkCommandBuffer commandBuffer - const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo + VkBool32 isPreprocessed + const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo - - void vkCmdReserveSpaceForCommandsNVX + + void vkCmdPreprocessGeneratedCommandsNV VkCommandBuffer commandBuffer - const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo + const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo - - VkResult vkCreateIndirectCommandsLayoutNVX - VkDevice device - const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo - const VkAllocationCallbacks* pAllocator - VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout + + void vkCmdBindPipelineShaderGroupNV + VkCommandBuffer commandBuffer + VkPipelineBindPoint pipelineBindPoint + VkPipeline pipeline + uint32_t groupIndex - void vkDestroyIndirectCommandsLayoutNVX + void vkGetGeneratedCommandsMemoryRequirementsNV VkDevice device - VkIndirectCommandsLayoutNVX indirectCommandsLayout - const VkAllocationCallbacks* pAllocator + const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo + VkMemoryRequirements2* pMemoryRequirements - VkResult vkCreateObjectTableNVX + VkResult vkCreateIndirectCommandsLayoutNV VkDevice device - const VkObjectTableCreateInfoNVX* pCreateInfo + const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo const VkAllocationCallbacks* pAllocator - VkObjectTableNVX* pObjectTable + VkIndirectCommandsLayoutNV* pIndirectCommandsLayout - void vkDestroyObjectTableNVX + void vkDestroyIndirectCommandsLayoutNV VkDevice device - VkObjectTableNVX objectTable + VkIndirectCommandsLayoutNV indirectCommandsLayout 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 - void vkGetPhysicalDeviceFeatures2 VkPhysicalDevice physicalDevice @@ -7676,7 +7962,7 @@ typedef void CAMetalLayer; VkResult vkQueueSignalReleaseImageANDROID VkQueue queue uint32_t waitSemaphoreCount - const VkSemaphore* pWaitSemaphores + const VkSemaphore* pWaitSemaphores VkImage image int* pNativeFenceFd @@ -7712,12 +7998,12 @@ typedef void CAMetalLayer; VkResult vkSetDebugUtilsObjectNameEXT VkDevice device - const VkDebugUtilsObjectNameInfoEXT* pNameInfo + const VkDebugUtilsObjectNameInfoEXT* pNameInfo VkResult vkSetDebugUtilsObjectTagEXT VkDevice device - const VkDebugUtilsObjectTagInfoEXT* pTagInfo + const VkDebugUtilsObjectTagInfoEXT* pTagInfo void vkQueueBeginDebugUtilsLabelEXT @@ -7735,16 +8021,16 @@ typedef void CAMetalLayer; void vkCmdBeginDebugUtilsLabelEXT - VkCommandBuffer commandBuffer + VkCommandBuffer commandBuffer const VkDebugUtilsLabelEXT* pLabelInfo void vkCmdEndDebugUtilsLabelEXT - VkCommandBuffer commandBuffer + VkCommandBuffer commandBuffer void vkCmdInsertDebugUtilsLabelEXT - VkCommandBuffer commandBuffer + VkCommandBuffer commandBuffer const VkDebugUtilsLabelEXT* pLabelInfo @@ -7757,7 +8043,7 @@ typedef void CAMetalLayer; void vkDestroyDebugUtilsMessengerEXT VkInstance instance - VkDebugUtilsMessengerEXT messenger + VkDebugUtilsMessengerEXT messenger const VkAllocationCallbacks* pAllocator @@ -7865,10 +8151,10 @@ typedef void CAMetalLayer; uint32_t stride - + void vkCmdSetCheckpointNV - VkCommandBuffer commandBuffer + VkCommandBuffer commandBuffer const void* pCheckpointMarker @@ -7884,7 +8170,7 @@ typedef void CAMetalLayer; uint32_t bindingCount const VkBuffer* pBuffers const VkDeviceSize* pOffsets - const VkDeviceSize* pSizes + const VkDeviceSize* pSizes void vkCmdBeginTransformFeedbackEXT @@ -7992,11 +8278,18 @@ typedef void CAMetalLayer; VkAccelerationStructureNV* pAccelerationStructure - void vkDestroyAccelerationStructureNV + void vkDestroyAccelerationStructureKHR VkDevice device - VkAccelerationStructureNV accelerationStructure + VkAccelerationStructureKHR accelerationStructure const VkAllocationCallbacks* pAllocator + + + void vkGetAccelerationStructureMemoryRequirementsKHR + VkDevice device + const VkAccelerationStructureMemoryRequirementsInfoKHR* pInfo + VkMemoryRequirements2* pMemoryRequirements + void vkGetAccelerationStructureMemoryRequirementsNV VkDevice device @@ -8004,42 +8297,95 @@ typedef void CAMetalLayer; VkMemoryRequirements2KHR* pMemoryRequirements - VkResult vkBindAccelerationStructureMemoryNV + VkResult vkBindAccelerationStructureMemoryKHR VkDevice device uint32_t bindInfoCount - const VkBindAccelerationStructureMemoryInfoNV* pBindInfos + const VkBindAccelerationStructureMemoryInfoKHR* pBindInfos + void vkCmdCopyAccelerationStructureNV - VkCommandBuffer commandBuffer - VkAccelerationStructureNV dst - VkAccelerationStructureNV src - VkCopyAccelerationStructureModeNV mode + VkCommandBuffer commandBuffer + VkAccelerationStructureKHR dst + VkAccelerationStructureKHR src + VkCopyAccelerationStructureModeKHR mode - void vkCmdWriteAccelerationStructuresPropertiesNV - VkCommandBuffer commandBuffer + void vkCmdCopyAccelerationStructureKHR + VkCommandBuffer commandBuffer + const VkCopyAccelerationStructureInfoKHR* pInfo + + + VkResult vkCopyAccelerationStructureKHR + VkDevice device + const VkCopyAccelerationStructureInfoKHR* pInfo + + + void vkCmdCopyAccelerationStructureToMemoryKHR + VkCommandBuffer commandBuffer + const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo + + + VkResult vkCopyAccelerationStructureToMemoryKHR + VkDevice device + const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo + + + void vkCmdCopyMemoryToAccelerationStructureKHR + VkCommandBuffer commandBuffer + const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo + + + VkResult vkCopyMemoryToAccelerationStructureKHR + VkDevice device + const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo + + + void vkCmdWriteAccelerationStructuresPropertiesKHR + VkCommandBuffer commandBuffer uint32_t accelerationStructureCount - const VkAccelerationStructureNV* pAccelerationStructures + const VkAccelerationStructureKHR* pAccelerationStructures VkQueryType queryType VkQueryPool queryPool uint32_t firstQuery + void vkCmdBuildAccelerationStructureNV - VkCommandBuffer commandBuffer + VkCommandBuffer commandBuffer const VkAccelerationStructureInfoNV* pInfo VkBuffer instanceData VkDeviceSize instanceOffset VkBool32 update - VkAccelerationStructureNV dst - VkAccelerationStructureNV src + VkAccelerationStructureKHR dst + VkAccelerationStructureKHR src VkBuffer scratch VkDeviceSize scratchOffset + + VkResult vkWriteAccelerationStructuresPropertiesKHR + VkDevice device + uint32_t accelerationStructureCount + const VkAccelerationStructureKHR* pAccelerationStructures + VkQueryType queryType + size_t dataSize + void* pData + size_t stride + + + void vkCmdTraceRaysKHR + VkCommandBuffer commandBuffer + const VkStridedBufferRegionKHR* pRaygenShaderBindingTable + const VkStridedBufferRegionKHR* pMissShaderBindingTable + const VkStridedBufferRegionKHR* pHitShaderBindingTable + const VkStridedBufferRegionKHR* pCallableShaderBindingTable + uint32_t width + uint32_t height + uint32_t depth + void vkCmdTraceRaysNV - VkCommandBuffer commandBuffer + VkCommandBuffer commandBuffer VkBuffer raygenShaderBindingTableBuffer VkDeviceSize raygenShaderBindingOffset VkBuffer missShaderBindingTableBuffer @@ -8056,7 +8402,17 @@ typedef void CAMetalLayer; uint32_t depth - VkResult vkGetRayTracingShaderGroupHandlesNV + VkResult vkGetRayTracingShaderGroupHandlesKHR + VkDevice device + VkPipeline pipeline + uint32_t firstGroup + uint32_t groupCount + size_t dataSize + void* pData + + + + VkResult vkGetRayTracingCaptureReplayShaderGroupHandlesKHR VkDevice device VkPipeline pipeline uint32_t firstGroup @@ -8067,11 +8423,11 @@ typedef void CAMetalLayer; VkResult vkGetAccelerationStructureHandleNV VkDevice device - VkAccelerationStructureNV accelerationStructure + VkAccelerationStructureKHR accelerationStructure size_t dataSize void* pData - + VkResult vkCreateRayTracingPipelinesNV VkDevice device VkPipelineCache pipelineCache @@ -8080,17 +8436,47 @@ typedef void CAMetalLayer; const VkAllocationCallbacks* pAllocator VkPipeline* pPipelines + + VkResult vkCreateRayTracingPipelinesKHR + VkDevice device + VkPipelineCache pipelineCache + uint32_t createInfoCount + const VkRayTracingPipelineCreateInfoKHR* pCreateInfos + const VkAllocationCallbacks* pAllocator + VkPipeline* pPipelines + VkResult vkGetPhysicalDeviceCooperativeMatrixPropertiesNV VkPhysicalDevice physicalDevice uint32_t* pPropertyCount VkCooperativeMatrixPropertiesNV* pProperties + + void vkCmdTraceRaysIndirectKHR + VkCommandBuffer commandBuffer + const VkStridedBufferRegionKHR* pRaygenShaderBindingTable + const VkStridedBufferRegionKHR* pMissShaderBindingTable + const VkStridedBufferRegionKHR* pHitShaderBindingTable + const VkStridedBufferRegionKHR* pCallableShaderBindingTable + VkBuffer buffer + VkDeviceSize offset + + + VkResult vkGetDeviceAccelerationStructureCompatibilityKHR + VkDevice device + const VkAccelerationStructureVersionKHR* version + uint32_t vkGetImageViewHandleNVX VkDevice device const VkImageViewHandleInfoNVX* pInfo + + VkResult vkGetImageViewAddressNVX + VkDevice device + VkImageView imageView + VkImageViewAddressPropertiesNVX* pProperties + VkResult vkGetPhysicalDeviceSurfacePresentModes2EXT VkPhysicalDevice physicalDevice @@ -8180,17 +8566,17 @@ typedef void CAMetalLayer; VkResult vkCmdSetPerformanceMarkerINTEL - VkCommandBuffer commandBuffer + VkCommandBuffer commandBuffer const VkPerformanceMarkerInfoINTEL* pMarkerInfo VkResult vkCmdSetPerformanceStreamMarkerINTEL - VkCommandBuffer commandBuffer + VkCommandBuffer commandBuffer const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo VkResult vkCmdSetPerformanceOverrideINTEL - VkCommandBuffer commandBuffer + VkCommandBuffer commandBuffer const VkPerformanceOverrideInfoINTEL* pOverrideInfo @@ -8251,37 +8637,199 @@ typedef void CAMetalLayer; VkResult vkGetPhysicalDeviceToolPropertiesEXT VkPhysicalDevice physicalDevice - uint32_t* pToolCount + uint32_t* pToolCount VkPhysicalDeviceToolPropertiesEXT* pToolProperties + + VkResult vkCreateAccelerationStructureKHR + VkDevice device + const VkAccelerationStructureCreateInfoKHR* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkAccelerationStructureKHR* pAccelerationStructure + + + void vkCmdBuildAccelerationStructureKHR + VkCommandBuffer commandBuffer + uint32_t infoCount + const VkAccelerationStructureBuildGeometryInfoKHR* pInfos + const VkAccelerationStructureBuildOffsetInfoKHR* const* ppOffsetInfos + + + void vkCmdBuildAccelerationStructureIndirectKHR + VkCommandBuffer commandBuffer + const VkAccelerationStructureBuildGeometryInfoKHR* pInfo + VkBuffer indirectBuffer + VkDeviceSize indirectOffset + uint32_t indirectStride + + + VkResult vkBuildAccelerationStructureKHR + VkDevice device + uint32_t infoCount + const VkAccelerationStructureBuildGeometryInfoKHR* pInfos + const VkAccelerationStructureBuildOffsetInfoKHR* const* ppOffsetInfos + + + VkDeviceAddress vkGetAccelerationStructureDeviceAddressKHR + VkDevice device + const VkAccelerationStructureDeviceAddressInfoKHR* pInfo + + + VkResult vkCreateDeferredOperationKHR + VkDevice device + const VkAllocationCallbacks* pAllocator + VkDeferredOperationKHR* pDeferredOperation + + + void vkDestroyDeferredOperationKHR + VkDevice device + VkDeferredOperationKHR operation + const VkAllocationCallbacks* pAllocator + + + uint32_t vkGetDeferredOperationMaxConcurrencyKHR + VkDevice device + VkDeferredOperationKHR operation + + + VkResult vkGetDeferredOperationResultKHR + VkDevice device + VkDeferredOperationKHR operation + + + VkResult vkDeferredOperationJoinKHR + VkDevice device + VkDeferredOperationKHR operation + + + VkResult vkCreatePrivateDataSlotEXT + VkDevice device + const VkPrivateDataSlotCreateInfoEXT* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkPrivateDataSlotEXT* pPrivateDataSlot + + + void vkDestroyPrivateDataSlotEXT + VkDevice device + VkPrivateDataSlotEXT privateDataSlot + const VkAllocationCallbacks* pAllocator + + + VkResult vkSetPrivateDataEXT + VkDevice device + VkObjectType objectType + uint64_t objectHandle + VkPrivateDataSlotEXT privateDataSlot + uint64_t data + + + void vkGetPrivateDataEXT + VkDevice device + VkObjectType objectType + uint64_t objectHandle + VkPrivateDataSlotEXT privateDataSlot + uint64_t* pData + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -8295,24 +8843,39 @@ typedef void CAMetalLayer; + + + + + + + + - + + + + + + + + @@ -8322,17 +8885,38 @@ typedef void CAMetalLayer; + + + + + + + + + + + + + + + + + + + + + @@ -8340,10 +8924,16 @@ typedef void CAMetalLayer; + + + + + + @@ -8351,51 +8941,169 @@ typedef void CAMetalLayer; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -8406,6 +9114,29 @@ typedef void CAMetalLayer; + + + + + + + + + + + + + + + + + + + + + + + @@ -8413,11 +9144,28 @@ typedef void CAMetalLayer; + + + + + + + + + + + + + + + + + @@ -8425,6 +9173,22 @@ typedef void CAMetalLayer; + + + + + + + + + + + + + + + + @@ -8470,18 +9234,6 @@ typedef void CAMetalLayer; - - - - - - - - - - - - @@ -8567,7 +9319,6 @@ typedef void CAMetalLayer; - @@ -8883,6 +9634,7 @@ typedef void CAMetalLayer; + @@ -8934,6 +9686,7 @@ typedef void CAMetalLayer; + @@ -9018,6 +9771,14 @@ typedef void CAMetalLayer; + + + + + + + + @@ -9035,6 +9796,11 @@ typedef void CAMetalLayer; + + + + + @@ -9073,15 +9839,20 @@ typedef void CAMetalLayer; - - - + + + + - + + + + + @@ -9168,6 +9939,7 @@ typedef void CAMetalLayer; + @@ -9191,6 +9963,10 @@ typedef void CAMetalLayer; + + + + @@ -9296,7 +10072,10 @@ typedef void CAMetalLayer; + @@ -9390,11 +10169,14 @@ typedef void CAMetalLayer; - + + + + @@ -9712,6 +10494,7 @@ typedef void CAMetalLayer; + @@ -9730,13 +10513,13 @@ typedef void CAMetalLayer; - + - + @@ -9896,6 +10679,7 @@ typedef void CAMetalLayer; + @@ -9966,6 +10750,10 @@ typedef void CAMetalLayer; + + + + @@ -10038,52 +10826,10 @@ typedef void CAMetalLayer; - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -10359,6 +11105,7 @@ typedef void CAMetalLayer; + @@ -10495,8 +11242,8 @@ typedef void CAMetalLayer; - - + + @@ -10573,7 +11320,7 @@ typedef void CAMetalLayer; - + @@ -10581,11 +11328,19 @@ typedef void CAMetalLayer; - - + + + + + + + + + + @@ -10599,7 +11354,7 @@ typedef void CAMetalLayer; - + @@ -10618,6 +11373,7 @@ typedef void CAMetalLayer; + @@ -10843,16 +11599,122 @@ typedef void CAMetalLayer; - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -11112,63 +11974,89 @@ typedef void CAMetalLayer; - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + + - + + + + + + + + + + + + - + + + + + + + + @@ -11197,6 +12085,7 @@ typedef void CAMetalLayer; + @@ -11230,12 +12119,12 @@ typedef void CAMetalLayer; - + - - - - + + + + @@ -11294,8 +12183,6 @@ typedef void CAMetalLayer; - - @@ -11613,9 +12500,10 @@ typedef void CAMetalLayer; - + - + + @@ -11632,6 +12520,7 @@ typedef void CAMetalLayer; + @@ -11706,6 +12595,7 @@ typedef void CAMetalLayer; + @@ -11786,6 +12676,7 @@ typedef void CAMetalLayer; + @@ -11967,10 +12858,12 @@ typedef void CAMetalLayer; - + + + @@ -12173,13 +13066,26 @@ typedef void CAMetalLayer; - + - - + + + + + + + + + + + + + + + - + @@ -12248,10 +13154,48 @@ typedef void CAMetalLayer; - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -12282,11 +13226,16 @@ typedef void CAMetalLayer; - + - - - + + + + + + + + @@ -12307,16 +13256,28 @@ typedef void CAMetalLayer; - + - - + + + + + + - + - - + + + + + + + + + + @@ -12331,12 +13292,13 @@ typedef void CAMetalLayer; - + - - - - + + + + + @@ -12351,10 +13313,10 @@ typedef void CAMetalLayer; - + - - + + @@ -12363,10 +13325,24 @@ typedef void CAMetalLayer; - + - - + + + + + + + + + + + + + + + + @@ -12376,14 +13352,22 @@ typedef void CAMetalLayer; - + - - - - - - + + + + + + + + + @@ -12398,16 +13382,23 @@ typedef void CAMetalLayer; - + - - + + + + + + + + - + - - + + + @@ -12442,8 +13433,8 @@ typedef void CAMetalLayer; - - + + @@ -12453,5 +13444,235 @@ typedef void CAMetalLayer; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/glad/files/vk_platform.h b/glad/files/vk_platform.h index dbb01128..048322d9 100644 --- a/glad/files/vk_platform.h +++ b/glad/files/vk_platform.h @@ -4,17 +4,7 @@ /* ** Copyright (c) 2014-2020 The Khronos Group 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. +** SPDX-License-Identifier: Apache-2.0 */ diff --git a/glad/generator/c/templates/base_template.c b/glad/generator/c/templates/base_template.c index 85f6cfc9..ab632ba4 100644 --- a/glad/generator/c/templates/base_template.c +++ b/glad/generator/c/templates/base_template.c @@ -146,7 +146,9 @@ static void glad_{{ spec.name }}_resolve_aliases({{ template_utils.context_arg(d {% for command in feature_set.commands|sort(attribute='name') %} {% call template_utils.protect(command) %} {% for alias in aliases.get(command.name, [])|reject('equalto', command.name) %} +{% call template_utils.protect(alias) %} if ({{ command.name|ctx }} == NULL && {{ alias|ctx }} != NULL) {{ command.name|ctx }} = ({{ command.name|pfn }}){{ alias|ctx }}; +{% endcall %} {% endfor %} {% endcall %} {% endfor %} diff --git a/glad/generator/c/templates/template_utils.h b/glad/generator/c/templates/template_utils.h index 5ffa3787..cf3ba0ec 100644 --- a/glad/generator/c/templates/template_utils.h +++ b/glad/generator/c/templates/template_utils.h @@ -17,8 +17,7 @@ #if {{ protections|map('defined')|join(' || ') }} {% endif %} {{ caller() }} -{%- if protections %} - +{% if protections %} #endif {% endif %} {% endmacro %} diff --git a/glad/generator/rust/__init__.py b/glad/generator/rust/__init__.py index 979456db..ad83912c 100644 --- a/glad/generator/rust/__init__.py +++ b/glad/generator/rust/__init__.py @@ -116,6 +116,9 @@ def enum_value(enum, feature_set): def to_rust_type(type_): + if type_ is None: + return 'std::os::raw::c_void' + parsed_type = type_ if isinstance(type_, ParsedType) else ParsedType.from_string(type_) if not parsed_type.is_pointer and parsed_type.type == 'void': diff --git a/glad/generator/rust/templates/impl.rs b/glad/generator/rust/templates/impl.rs index c8feff7d..82ecf523 100644 --- a/glad/generator/rust/templates/impl.rs +++ b/glad/generator/rust/templates/impl.rs @@ -126,7 +126,7 @@ pub fn load(mut loadfn: F) where F: FnMut(&'static str) -> *const raw::c_void {% for command, caliases in aliases|dictsort %} {% for alias in caliases|reject('equalto', command) %} - {{ template_utils.protect(command) }} storage::{{ command|no_prefix }}.aliased(&storage::{{ alias|no_prefix }}); + {{ template_utils.protect(command) }}{{ template_utils.protect(alias) }} storage::{{ command|no_prefix }}.aliased(&storage::{{ alias|no_prefix }}); {% endfor %} {% endfor %} } diff --git a/glad/generator/rust/templates/types/vk.rs b/glad/generator/rust/templates/types/vk.rs index 03a48be2..ce138101 100644 --- a/glad/generator/rust/templates/types/vk.rs +++ b/glad/generator/rust/templates/types/vk.rs @@ -33,9 +33,6 @@ pub struct SECURITY_ATTRIBUTES { // types required for: wayland pub type wl_display = std::os::raw::c_void; pub type wl_surface = std::os::raw::c_void; -// types required for: android -pub type AHardwareBuffer = std::os::raw::c_void; -pub type ANativeWindow = std::os::raw::c_void; // types required for: mir pub type MirConnection = std::os::raw::c_void; pub type MirSurface = std::os::raw::c_void; From 6467cd6ecea7525038fdf524b98ba1868f18b94b Mon Sep 17 00:00:00 2001 From: David Herberth Date: Thu, 18 Jun 2020 19:38:41 +0200 Subject: [PATCH 027/138] parse: honors api in require instruction The API in the require was honored before, but when the symbol from one API require referenced the symbol from a different API require through an alias, it was still brought in. gh: #281 --- glad/parse.py | 16 +++++++++++----- test/c/parse/002/test.c | 18 ++++++++++++++++++ test/c/parse/003/test.c | 18 ++++++++++++++++++ test/c/parse/004/test.c | 18 ++++++++++++++++++ 4 files changed, 65 insertions(+), 5 deletions(-) create mode 100644 test/c/parse/002/test.c create mode 100644 test/c/parse/003/test.c create mode 100644 test/c/parse/004/test.c diff --git a/glad/parse.py b/glad/parse.py index e95a2a1b..889485d8 100644 --- a/glad/parse.py +++ b/glad/parse.py @@ -560,11 +560,17 @@ def find(self, require, api, profile, recursive=False): requirements.update(new_requirements) open_requirements.extend(new_requirements) - alias = getattr(best_match, 'alias', None) - if recursive and alias is not None: - if alias not in requirements: - requirements.add(alias) - open_requirements.append(alias) + # Everything that is not a command alias is generated as a define, typedef etc. + # and not "copy-pasted", this means we have to resolve the alias of a type in order + # to be able to alias it properly. + # Commands are simply generated again instead of aliased. + # The `isinstance` check can be replaced with `if not alias in self.commands`. + if not isinstance(best_match, Command): + alias = getattr(best_match, 'alias', None) + if recursive and alias is not None: + if alias not in requirements: + requirements.add(alias) + open_requirements.append(alias) yield best_match diff --git a/test/c/parse/002/test.c b/test/c/parse/002/test.c new file mode 100644 index 00000000..2474da7e --- /dev/null +++ b/test/c/parse/002/test.c @@ -0,0 +1,18 @@ +/* + * VK_NV_ray_tracing depends on a type which depends on an aliased type. + * The aliased type is not part of the feature set. + * Make sure the aliased type is part generated, since the alias is done through a typedef. + * + * GLAD: $GLAD --out-path=$tmp --api="vulkan=1.1" --extensions="VK_NV_ray_tracing" c + * COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/vulkan.c -ldl + * RUN: $tmp/test + */ + +#include + +int main(void) { + /* make sure something is referenced so stuff doesn't just get optimized away */ + VkAccelerationStructureMemoryRequirementsInfoNV unused; + (void) unused; + return 0; +} diff --git a/test/c/parse/003/test.c b/test/c/parse/003/test.c new file mode 100644 index 00000000..db277106 --- /dev/null +++ b/test/c/parse/003/test.c @@ -0,0 +1,18 @@ +/* + * The GL_KHR_debug has suffixed symbols for GLES but symbols without suffix for GL. + * Make sure only the suffixed symbols appear in the generated output for gles. + * Related Issues: #281 + * + * See also: 004 + * + * GLAD: $GLAD --out-path=$tmp --api="gles2=3.1" --extensions="GL_KHR_debug" c + * COMPILE: ! $GCC $test -o $tmp/test -I$tmp/include $tmp/src/gles2.c -ldl + * RUN: true + */ + +#include + +int main(void) { + (void) glObjectLabel; + return 0; +} diff --git a/test/c/parse/004/test.c b/test/c/parse/004/test.c new file mode 100644 index 00000000..78f11a90 --- /dev/null +++ b/test/c/parse/004/test.c @@ -0,0 +1,18 @@ +/* + * The GL_KHR_debug has suffixed symbols for GLES but symbols without suffix for GL. + * Make sure only the symbols without suffix appear in the generated output for gl. + * Related Issues: #281 + * + * See also: 003 + * + * GLAD: $GLAD --out-path=$tmp --api="gl:core=3.3" --extensions="GL_KHR_debug" c + * COMPILE: ! $GCC $test -o $tmp/test -I$tmp/include $tmp/src/gl.c -ldl + * RUN: true + */ + +#include + +int main(void) { + (void) glObjectLabelKHR; + return 0; +} From cd06d9af975ffc5edafc777619070a9d8108735a Mon Sep 17 00:00:00 2001 From: David Herberth Date: Thu, 18 Jun 2020 22:05:06 +0200 Subject: [PATCH 028/138] c: fixes surplus of empty lines --- glad/generator/c/templates/template_utils.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/glad/generator/c/templates/template_utils.h b/glad/generator/c/templates/template_utils.h index cf3ba0ec..26a8e931 100644 --- a/glad/generator/c/templates/template_utils.h +++ b/glad/generator/c/templates/template_utils.h @@ -17,7 +17,7 @@ #if {{ protections|map('defined')|join(' || ') }} {% endif %} {{ caller() }} -{% if protections %} +{%- if protections %} #endif {% endif %} {% endmacro %} @@ -50,20 +50,20 @@ typedef enum {{ type.name }} { {{ member.name }} = {{ enum_member(type, member) }}{{ ',' if not loop.last }} {% endfor %} } {{ type.name }}; -{%- elif type.alias -%} +{% elif type.alias -%} typedef enum {{ type.alias }} {{ type.name }}; -{%- endif -%} -{%- elif type.category in ('struct', 'union') -%} +{% endif -%} +{% elif type.category in ('struct', 'union') -%} typedef {{ type.category }} {% if type.alias %}{{ type.alias }}{% else %}{{ type.name }}{% endif %} {% if type.members %}{ {% for member in type.members %} {{ member.type._raw }}; {% endfor %} }{% endif %} {{ type.name }}; -{%- elif type.alias %} +{% elif type.alias %} #define {{ type.name }} {{ type.alias }} -{%- elif type._raw|trim -%} +{% elif type._raw|trim -%} {{ type._raw|trim|replace('APIENTRY', 'GLAD_API_PTR') }} -{%- endif %} +{% endif %} {% endcall %} {% endmacro %} From 12f9daaee1992f2f865aafe3719fe692ec5b8572 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Thu, 18 Jun 2020 22:33:54 +0200 Subject: [PATCH 029/138] c: stops generating glLoad* for on-demand this is just a quick fix, if custom_declarations is later required to be always generated, it probably makes sense to have a separate block with better naming gh: #279 --- glad/generator/c/templates/base_template.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/glad/generator/c/templates/base_template.h b/glad/generator/c/templates/base_template.h index 2e0a5fe7..5a4d688d 100644 --- a/glad/generator/c/templates/base_template.h +++ b/glad/generator/c/templates/base_template.h @@ -114,8 +114,10 @@ GLAD_API_CALL void gladUninstall{{ feature_set.name|api }}Debug(void); {% endif %} {% endblock %} +{% if not options.on_demand %} {% block custom_declarations %} {% endblock %} +{% endif %} {% if options.loader %} {% block loader_impl %} From b405ebfe3783d2f39f3d8fad8fbf1d3766fcfc33 Mon Sep 17 00:00:00 2001 From: huki Date: Tue, 1 Sep 2020 01:30:11 +0530 Subject: [PATCH 030/138] c: better error handling in glad_vk_get_extensions closes: #293, #294, #209 --- glad/generator/c/templates/vk.c | 46 +++++++++++++++++++++++---------- 1 file changed, 32 insertions(+), 14 deletions(-) diff --git a/glad/generator/c/templates/vk.c b/glad/generator/c/templates/vk.c index 8969debd..1e70b53a 100644 --- a/glad/generator/c/templates/vk.c +++ b/glad/generator/c/templates/vk.c @@ -6,10 +6,10 @@ static int glad_vk_get_extensions({{ template_utils.context_arg(',') }} VkPhysic uint32_t i; uint32_t instance_extension_count = 0; uint32_t device_extension_count = 0; - uint32_t max_extension_count; - uint32_t total_extension_count; - char **extensions; - VkExtensionProperties *ext_properties; + uint32_t max_extension_count = 0; + uint32_t total_extension_count = 0; + char **extensions = NULL; + VkExtensionProperties *ext_properties = NULL; VkResult result; if ({{ 'vkEnumerateInstanceExtensionProperties'|ctx }} == NULL || (physical_device != NULL && {{ 'vkEnumerateDeviceExtensionProperties'|ctx }} == NULL)) { @@ -29,24 +29,26 @@ static int glad_vk_get_extensions({{ template_utils.context_arg(',') }} VkPhysic } total_extension_count = instance_extension_count + device_extension_count; + if (!total_extension_count) { + return 0; + } + max_extension_count = instance_extension_count > device_extension_count ? instance_extension_count : device_extension_count; ext_properties = (VkExtensionProperties*) malloc(max_extension_count * sizeof(VkExtensionProperties)); if (ext_properties == NULL) { - return 0; + goto error; } result = {{ 'vkEnumerateInstanceExtensionProperties'|ctx }}(NULL, &instance_extension_count, ext_properties); if (result != VK_SUCCESS) { - free((void*) ext_properties); - return 0; + goto error; } extensions = (char**) calloc(total_extension_count, sizeof(char*)); if (extensions == NULL) { - free((void*) ext_properties); - return 0; + goto error; } for (i = 0; i < instance_extension_count; ++i) { @@ -54,17 +56,16 @@ static int glad_vk_get_extensions({{ template_utils.context_arg(',') }} VkPhysic size_t extension_name_length = strlen(ext.extensionName) + 1; extensions[i] = (char*) malloc(extension_name_length * sizeof(char)); + if (extensions[i] == NULL) { + goto error; + } memcpy(extensions[i], ext.extensionName, extension_name_length * sizeof(char)); } if (physical_device != NULL) { result = {{ 'vkEnumerateDeviceExtensionProperties'|ctx }}(physical_device, NULL, &device_extension_count, ext_properties); if (result != VK_SUCCESS) { - for (i = 0; i < instance_extension_count; ++i) { - free((void*) extensions[i]); - } - free(extensions); - return 0; + goto error; } for (i = 0; i < device_extension_count; ++i) { @@ -72,6 +73,9 @@ static int glad_vk_get_extensions({{ template_utils.context_arg(',') }} VkPhysic size_t extension_name_length = strlen(ext.extensionName) + 1; extensions[instance_extension_count + i] = (char*) malloc(extension_name_length * sizeof(char)); + if (extensions[instance_extension_count + i] == NULL) { + goto error; + } memcpy(extensions[instance_extension_count + i], ext.extensionName, extension_name_length * sizeof(char)); } } @@ -82,6 +86,20 @@ static int glad_vk_get_extensions({{ template_utils.context_arg(',') }} VkPhysic *out_extensions = extensions; return 1; + +error: + if (ext_properties != NULL) { + free((void*) ext_properties); + } + if (extensions != NULL) { + for (i = 0; i < total_extension_count; ++i) { + if (extensions[i] != NULL) { + free((void*) extensions[i]); + } + } + free(extensions); + } + return 0; } static void glad_vk_free_extensions(uint32_t extension_count, char **extensions) { From 4518abcc4a798a6dd07f5023ac72edb323ce7ed8 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Tue, 1 Sep 2020 20:05:30 +0200 Subject: [PATCH 031/138] c: scopes goto and removes unnecessary null checks --- glad/generator/c/templates/vk.c | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/glad/generator/c/templates/vk.c b/glad/generator/c/templates/vk.c index 1e70b53a..b96778f8 100644 --- a/glad/generator/c/templates/vk.c +++ b/glad/generator/c/templates/vk.c @@ -29,7 +29,7 @@ static int glad_vk_get_extensions({{ template_utils.context_arg(',') }} VkPhysic } total_extension_count = instance_extension_count + device_extension_count; - if (!total_extension_count) { + if (total_extension_count <= 0) { return 0; } @@ -38,17 +38,17 @@ static int glad_vk_get_extensions({{ template_utils.context_arg(',') }} VkPhysic ext_properties = (VkExtensionProperties*) malloc(max_extension_count * sizeof(VkExtensionProperties)); if (ext_properties == NULL) { - goto error; + goto glad_vk_get_extensions_error; } result = {{ 'vkEnumerateInstanceExtensionProperties'|ctx }}(NULL, &instance_extension_count, ext_properties); if (result != VK_SUCCESS) { - goto error; + goto glad_vk_get_extensions_error; } extensions = (char**) calloc(total_extension_count, sizeof(char*)); if (extensions == NULL) { - goto error; + goto glad_vk_get_extensions_error; } for (i = 0; i < instance_extension_count; ++i) { @@ -57,7 +57,7 @@ static int glad_vk_get_extensions({{ template_utils.context_arg(',') }} VkPhysic size_t extension_name_length = strlen(ext.extensionName) + 1; extensions[i] = (char*) malloc(extension_name_length * sizeof(char)); if (extensions[i] == NULL) { - goto error; + goto glad_vk_get_extensions_error; } memcpy(extensions[i], ext.extensionName, extension_name_length * sizeof(char)); } @@ -65,7 +65,7 @@ static int glad_vk_get_extensions({{ template_utils.context_arg(',') }} VkPhysic if (physical_device != NULL) { result = {{ 'vkEnumerateDeviceExtensionProperties'|ctx }}(physical_device, NULL, &device_extension_count, ext_properties); if (result != VK_SUCCESS) { - goto error; + goto glad_vk_get_extensions_error; } for (i = 0; i < device_extension_count; ++i) { @@ -74,7 +74,7 @@ static int glad_vk_get_extensions({{ template_utils.context_arg(',') }} VkPhysic size_t extension_name_length = strlen(ext.extensionName) + 1; extensions[instance_extension_count + i] = (char*) malloc(extension_name_length * sizeof(char)); if (extensions[instance_extension_count + i] == NULL) { - goto error; + goto glad_vk_get_extensions_error; } memcpy(extensions[instance_extension_count + i], ext.extensionName, extension_name_length * sizeof(char)); } @@ -87,15 +87,11 @@ static int glad_vk_get_extensions({{ template_utils.context_arg(',') }} VkPhysic return 1; -error: - if (ext_properties != NULL) { - free((void*) ext_properties); - } +glad_vk_get_extensions_error: + free((void*) ext_properties); if (extensions != NULL) { for (i = 0; i < total_extension_count; ++i) { - if (extensions[i] != NULL) { - free((void*) extensions[i]); - } + free((void*) extensions[i]); } free(extensions); } From 1d7b6e9e908e32e3237caad55836134af92a32f6 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Tue, 15 Sep 2020 22:50:48 +0200 Subject: [PATCH 032/138] c: fixes potential segfault in vulkan extensions logic. Due to a bug in Vulkan, two calls to vkEnumerateDeviceExtensionProperties can return a different extension count, making it possible that the extensions array is too big and will end up containing NULL elements. see: https://github.com/KhronosGroup/Vulkan-Loader/issues/348 fixes: #298 --- glad/generator/c/templates/vk.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glad/generator/c/templates/vk.c b/glad/generator/c/templates/vk.c index b96778f8..2f93bbce 100644 --- a/glad/generator/c/templates/vk.c +++ b/glad/generator/c/templates/vk.c @@ -112,7 +112,7 @@ static int glad_vk_has_extension(const char *name, uint32_t extension_count, cha uint32_t i; for (i = 0; i < extension_count; ++i) { - if(strcmp(name, extensions[i]) == 0) { + if(extensions[i] != NULL && strcmp(name, extensions[i]) == 0) { return 1; } } From 70fe2c072d0b3ab82deec57c890f8b7958375e4b Mon Sep 17 00:00:00 2001 From: Rackoon <32634987+WildRackoon@users.noreply.github.com> Date: Wed, 21 Apr 2021 13:19:32 +0200 Subject: [PATCH 033/138] cmake: improves cmake * switches over `add_custom_command()` to create a file-based dependency with `OUTPUT ${GLAD_FILES} ${GLAD_ARGS_PATH}` on which added libraries depend on. * fixes shared library building * cmake version bump to 3.2 * allows interface libraries for those with CMake 3.19+ * removes unused LIBTYPE closes: #320, #319 --- cmake/CMakeLists.txt | 87 +++++++++++++++++-------------------------- cmake/WriteFile.cmake | 2 - 2 files changed, 34 insertions(+), 55 deletions(-) delete mode 100644 cmake/WriteFile.cmake diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 513af641..b395f538 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -6,24 +6,20 @@ # GLAD_SOURCES_DIR: path to the sources of glad (=python module) # # -# glad_add_library( [SHARED|STATIC|MODULE] [EXCLUDE_FROM_ALL] [MERGE] [QUIET] [KEEP_SOURCES] [LOCATION ] +# glad_add_library( [SHARED|STATIC|MODULE|INTERFACE] [EXCLUDE_FROM_ALL] [MERGE] [QUIET] [LOCATION ] # [LANGUAGE ] [API [ ...]] [EXTENSIONS [ [ ...]]]) # - # Name of the TARGET -# - SHARED|STATIC|MODULE -# Type of the library +# - SHARED|STATIC|MODULE|INTERFACE +# Type of the library, if none is specified, default BUILD_SHARED_LIBS behavior is honored # - EXCLUDE_FROM_ALL # Exclude building the library from the all target # - MERGE # Merge multiple APIs of the same specitifation into one file. # - QUIET # Disable logging -# - KEEP_SOURCES -# After generating the sources, do not let a clean step remove the sources. -# This is useful for adding the glad sources to your scm. # - LOCATION # Set the location where the generated glad should be saved. -# If KEEP_SOURCES is also defined, this path can be inside the source path. # - LANGUAGE # Language of the generated glad sources. # - API [ ...]] @@ -42,13 +38,13 @@ # ``` # - create a static glad library with the vulkan=1.1 -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.2) project(glad C) find_package(PythonInterp REQUIRED) set(GLAD_CMAKE_DIR "${CMAKE_CURRENT_LIST_DIR}" CACHE STRING "Directory containing glad generator CMakeLists.txt") -set(GLAD_SOURCES_DIR "${GLAD_CMAKE_DIR}/../" CACHE STRING "Directory containing glad sources (python modules), used as working directory") +set(GLAD_SOURCES_DIR "${GLAD_CMAKE_DIR}/../" CACHE STRING "Directory containing glad sources (python modules), used as working directory") mark_as_advanced(GLAD_CMAKE_DIR) # Extract specification, profile and version from a string @@ -178,8 +174,10 @@ endfunction() # Create a glad library named "${TARGET}" function(glad_add_library TARGET) - cmake_parse_arguments(GG "MERGE;QUIET;REPRODUCIBLE;KEEP_SOURCES;STATIC;SHARED;MODULE;EXCLUDE_FROM_ALL" "LOCATION;LANGUAGE" "API;EXTENSIONS" ${ARGN}) - + message(STATUS "Glad Library \'${TARGET}\'") + + cmake_parse_arguments(GG "MERGE;QUIET;REPRODUCIBLE;STATIC;SHARED;MODULE;INTERFACE;EXCLUDE_FROM_ALL" "LOCATION;LANGUAGE" "API;EXTENSIONS" ${ARGN}) + if(NOT GG_LOCATION) set(GG_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/gladsources/${TARGET}") endif() @@ -230,65 +228,40 @@ function(glad_add_library TARGET) endif() list(APPEND GLAD_ARGS ${GLAD_LANGUAGE} ${LANG_ARGS}) - # allows: - # - bootstrap: generate sources when non-existent - # - do not remove the sources when cleaning - # BUG: running clean directly after an initial make without sources present, removes the sources - - if(GG_KEEP_SOURCES) - string(REPLACE "${GLAD_DIR}" GLAD_DIRECTORY GLAD_ARGS_UNIVERSAL "${GLAD_ARGS}") - set(GLAD_ADD_CUSTOM_COMMAND OFF) - set(GLAD_ARGS_PATH "${GLAD_DIR}/args.txt") - if(NOT EXISTS "${GLAD_ARGS_PATH}") - set(GLAD_ADD_CUSTOM_COMMAND ON) - else() - file(READ "${GLAD_ARGS_PATH}" GLAD_ARGS_FILE) - if(NOT GLAD_ARGS_UNIVERSAL STREQUAL GLAD_ARGS_FILE) - set(GLAD_ADD_CUSTOM_COMMAND ON) - endif() - endif() - list(APPEND GLAD_EXTRA_COMMANDS - COMMAND "${CMAKE_COMMAND}" "-DPATH=${GLAD_ARGS_PATH}" "-DTEXT=\"${GLAD_ARGS_UNIVERSAL}\"" -P "${GLAD_CMAKE_DIR}/WriteFile.cmake" - COMMAND "${CMAKE_COMMAND}" -E sleep 1 - COMMAND "${CMAKE_COMMAND}" -E touch "${GLAD_CMAKE_DIR}/CMakeLists.txt" - ) - else() - set(GLAD_ADD_CUSTOM_COMMAND ON) - endif() - - if(GLAD_ADD_CUSTOM_COMMAND) - add_custom_command(OUTPUT ${GLAD_FILES} ${GLAD_ARGS_PATH} - COMMAND "${CMAKE_COMMAND}" -E remove_directory "${GLAD_DIR}" - COMMAND "${PYTHON_EXECUTABLE}" -m glad ${GLAD_ARGS} - ${GLAD_EXTRA_COMMANDS} - WORKING_DIRECTORY "${GLAD_SOURCES_DIR}" - ) - endif() + string(REPLACE "${GLAD_DIR}" GLAD_DIRECTORY GLAD_ARGS_UNIVERSAL "${GLAD_ARGS}") + set(GLAD_ARGS_PATH "${GLAD_DIR}/args.txt") # add make custom target - add_custom_target("regenerate_${TARGET}" - COMMAND "${CMAKE_COMMAND}" -E remove_directory "${GLAD_DIR}" - COMMAND "${PYTHON_EXECUTABLE}" -m glad ${GLAD_ARGS} - ${GLAD_EXTRA_COMMANDS} - WORKING_DIRECTORY "${GLAD_SOURCES_DIR}" - COMMENT "Regenerating glad source files for ${TARGET}..." + add_custom_command( + OUTPUT ${GLAD_FILES} ${GLAD_ARGS_PATH} + COMMAND echo Cleaning ${GLAD_DIR} + COMMAND ${CMAKE_COMMAND} -E remove_directory ${GLAD_DIR} + COMMAND ${CMAKE_COMMAND} -E make_directory ${GLAD_DIR} + COMMAND echo Generating with args ${GLAD_ARGS} + COMMAND ${PYTHON_EXECUTABLE} -m glad ${GLAD_ARGS} + COMMAND echo Writing ${GLAD_ARGS_PATH} + COMMAND echo ${GLAD_ARGS} > ${GLAD_ARGS_PATH} + WORKING_DIRECTORY ${GLAD_SOURCES_DIR} + COMMENT "${TARGET}-generate" + USES_TERMINAL ) set(GLAD_ADD_LIBRARY_ARGS "") - if(GG_SHARED) list(APPEND GLAD_ADD_LIBRARY_ARGS SHARED) elseif(GG_STATIC) list(APPEND GLAD_ADD_LIBRARY_ARGS STATIC) elseif(GG_MODULE) list(APPEND GLAD_ADD_LIBRARY_ARGS MODULE) + elseif(GG_INTERFACE) + list(APPEND GLAD_ADD_LIBRARY_ARGS INTERFACE) endif() if(GG_EXCLUDE_FROM_ALL) list(APPEND GLAD_ADD_LIBRARY_ARGS EXCLUDE_FROM_ALL) endif() - add_library("${TARGET}" ${LIBTYPE} ${GLAD_ADD_LIBRARY_ARGS} + add_library("${TARGET}" ${GLAD_ADD_LIBRARY_ARGS} ${GLAD_FILES} ) @@ -301,4 +274,12 @@ function(glad_add_library TARGET) PUBLIC ${CMAKE_DL_LIBS} ) + + if(GG_SHARED) + target_compile_definitions("${TARGET}" PUBLIC GLAD_API_CALL_EXPORT) + set_target_properties("${TARGET}" + PROPERTIES + DEFINE_SYMBOL "GLAD_API_CALL_EXPORT_BUILD" + ) + endif() endfunction() diff --git a/cmake/WriteFile.cmake b/cmake/WriteFile.cmake deleted file mode 100644 index 22d623af..00000000 --- a/cmake/WriteFile.cmake +++ /dev/null @@ -1,2 +0,0 @@ -# Helper cmake script to write the string "${TEXT}" to the file "${FILE}" -file(WRITE "${PATH}" "${TEXT}") From 994aa6e4506286131a1383b61c552bc940959917 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Wed, 21 Apr 2021 13:21:42 +0200 Subject: [PATCH 034/138] test: fixes cmake test after recent changes --- test/c/cmake/CMakeLists.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/test/c/cmake/CMakeLists.txt b/test/c/cmake/CMakeLists.txt index 8048a355..aa53332b 100644 --- a/test/c/cmake/CMakeLists.txt +++ b/test/c/cmake/CMakeLists.txt @@ -52,7 +52,6 @@ foreach(API ${APIS}) glad_add_library("${TARGET}" EXCLUDE_FROM_ALL LOCATION "${PROJECT_BINARY_DIR}/external/glad_${API}_${NAME_SUFFIX}" API ${APISTR}=${VERSION} - KEEP_SOURCES ) if(CMAKE_SYSTEM_NAME IN_LIST "${API}_SYSTEMS") add_test( From 0bd4a89180c50afe99e4fc227c51b1552b22c2e4 Mon Sep 17 00:00:00 2001 From: Theodore Cipicchio Date: Thu, 15 Jul 2021 16:23:38 +0300 Subject: [PATCH 035/138] c: zero-initializes parsed GL version numbers If an unsupported GL_VERSION prefix string is encountered, the sscanf() call used to parse the version number values may fail. When this occurs, "major" and "minor" will be left uninitialized, which leads to undefined behavior when using these values later. This change addresses the issue by making sure "major" and "minor" are initialized to zero. If the sscanf() call fails, subsequent checks against these version number values will at least have consistent results. --- glad/generator/c/templates/gl.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/glad/generator/c/templates/gl.c b/glad/generator/c/templates/gl.c index 798a0a70..b90995b3 100644 --- a/glad/generator/c/templates/gl.c +++ b/glad/generator/c/templates/gl.c @@ -153,7 +153,7 @@ static int glad_gl_find_extensions_{{ api|lower }}({{ template_utils.context_arg } static int glad_gl_find_core_{{ api|lower }}({{ template_utils.context_arg(def='void') }}) { - int i, major, minor; + int i; const char* version; const char* prefixes[] = { "OpenGL ES-CM ", @@ -161,6 +161,8 @@ static int glad_gl_find_core_{{ api|lower }}({{ template_utils.context_arg(def=' "OpenGL ES ", NULL }; + int major = 0; + int minor = 0; version = (const char*) {{ 'glGetString'|ctx }}(GL_VERSION); if (!version) return 0; for (i = 0; prefixes[i]; i++) { From f427c4040dda9d084d6027b39473227ba6656ed3 Mon Sep 17 00:00:00 2001 From: Theodore Cipicchio Date: Thu, 15 Jul 2021 16:34:11 +0300 Subject: [PATCH 036/138] glad: adds OpenGL SC support for GL_VERSION string parsing OpenGL SC drivers return GL_VERSION strings with the format "OpenGL SC N.M vendor-specific information", so the string "OpenGL SC " should be included in the list of prefixes checked when parsing the GL_VERSION string. --- glad/generator/c/templates/gl.c | 1 + glad/generator/d/templates/loader/gl.d | 1 + glad/generator/volt/templates/loader/gl.volt | 1 + 3 files changed, 3 insertions(+) diff --git a/glad/generator/c/templates/gl.c b/glad/generator/c/templates/gl.c index b90995b3..9cf9bceb 100644 --- a/glad/generator/c/templates/gl.c +++ b/glad/generator/c/templates/gl.c @@ -159,6 +159,7 @@ static int glad_gl_find_core_{{ api|lower }}({{ template_utils.context_arg(def=' "OpenGL ES-CM ", "OpenGL ES-CL ", "OpenGL ES ", + "OpenGL SC ", NULL }; int major = 0; diff --git a/glad/generator/d/templates/loader/gl.d b/glad/generator/d/templates/loader/gl.d index ac4e65ff..8685a1c6 100644 --- a/glad/generator/d/templates/loader/gl.d +++ b/glad/generator/d/templates/loader/gl.d @@ -73,6 +73,7 @@ void find_core{{ feature_set.api|api }}() { "OpenGL ES-CM ".ptr, "OpenGL ES-CL ".ptr, "OpenGL ES ".ptr, + "OpenGL SC ".ptr, ]; glversion = cast(const(char)*)glGetString(GL_VERSION); diff --git a/glad/generator/volt/templates/loader/gl.volt b/glad/generator/volt/templates/loader/gl.volt index 3ae2f990..0000bf4c 100644 --- a/glad/generator/volt/templates/loader/gl.volt +++ b/glad/generator/volt/templates/loader/gl.volt @@ -75,6 +75,7 @@ fn find_core{{ feature_set.api|api }}() { "OpenGL ES-CM ".ptr, "OpenGL ES-CL ".ptr, "OpenGL ES ".ptr, + "OpenGL SC ".ptr, ]; glversion = cast(const(char)*)glGetString(GL_VERSION); From 45320653be31b2e66dba3bb908c23261daca722d Mon Sep 17 00:00:00 2001 From: David Herberth Date: Thu, 15 Jul 2021 18:34:03 +0200 Subject: [PATCH 037/138] github: adds github actions --- .github/workflows/glad2.yaml | 36 ++++++++++++++++++++++++++++++++++++ utility/test.sh | 3 +++ 2 files changed, 39 insertions(+) create mode 100644 .github/workflows/glad2.yaml diff --git a/.github/workflows/glad2.yaml b/.github/workflows/glad2.yaml new file mode 100644 index 00000000..2feeaa4d --- /dev/null +++ b/.github/workflows/glad2.yaml @@ -0,0 +1,36 @@ +on: [push, pull_request] + +name: glad2 + +jobs: + test: + name: Test + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: 3 + - name: Install Python dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + pip install -r requirements-test.txt + - name: Install dependencies + run: sudo apt-get install gcc g++ gcc-mingw-w64 g++-mingw-w64 rustc libglfw3-dev wine winetricks xvfb libxxf86vm-dev libxi-dev libxcursor-dev libxinerama-dev + - name: Setup environment + run: | + mkdir .wine + export WINEPREFIX="$(pwd)/.wine" + export WINEDLLOVERRIDES="mscoree,mshtml=" + + winetricks nocrashdialog + - name: Run Tests + run: PRINT_MESSAGE=1 xvfb-run --auto-servernum ./utility/test.sh + - name: Publish Test Results + uses: EnricoMi/publish-unit-test-result-action@v1 + if: always() + with: + files: test-report.xml + comment_mode: off diff --git a/utility/test.sh b/utility/test.sh index 949e129b..57161bdf 100755 --- a/utility/test.sh +++ b/utility/test.sh @@ -165,3 +165,6 @@ report_end echo echo "Total tests: $_tests_total, Tests ran: $_tests_ran, Tests failed: $_tests_failed" +if [ $_tests_failed -gt 0 ]; then + exit 1 +fi From cab4e15941f3071881b586fa3f6379606754e197 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Mon, 19 Jul 2021 17:34:20 +0200 Subject: [PATCH 038/138] glad: fixes alias extension resolution we cannot limit the result set of `get_requirements` to the list of already existing commands from the feature set, this way we will not get any new commands to resolve aliases for -> there wont be any new aliases closes: #334 --- glad/generator/util.py | 4 ++-- test/c/compile/gl/alias/007/test.c | 14 ++++++++++++++ test/c/compile/gles2/alias/001/test.c | 16 ++++++++++++++++ 3 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 test/c/compile/gl/alias/007/test.c create mode 100644 test/c/compile/gles2/alias/001/test.c diff --git a/glad/generator/util.py b/glad/generator/util.py index 52ed1a8f..41ae09e8 100644 --- a/glad/generator/util.py +++ b/glad/generator/util.py @@ -96,14 +96,14 @@ def find_extensions_with_aliases(spec, api, version, profile, extensions): """ feature_set = spec.select(api, version, profile, extensions) - command_names = [command.name for command in feature_set.commands] + command_names = set(command.name for command in feature_set.commands) new_extensions = set() for extension in spec.extensions[api].values(): if extension in feature_set.extensions: continue - for command in extension.get_requirements(spec, api, profile, feature_set=feature_set).commands: + for command in extension.get_requirements(spec, api, profile).commands: # find all extensions which have an alias to a selected function if command.alias and command.alias in command_names: new_extensions.add(extension.name) diff --git a/test/c/compile/gl/alias/007/test.c b/test/c/compile/gl/alias/007/test.c new file mode 100644 index 00000000..2df55a23 --- /dev/null +++ b/test/c/compile/gl/alias/007/test.c @@ -0,0 +1,14 @@ +/* + * GL 4.6 No extensions, with aliasing + * + * GLAD: $GLAD --out-path=$tmp --api="gl:core=4.6" --extensions="" c --alias + * COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/gl.c -ldl + * RUN: $tmp/test + */ + +#include + +int main(void) { + (void) glActiveTextureARB; + return 0; +} diff --git a/test/c/compile/gles2/alias/001/test.c b/test/c/compile/gles2/alias/001/test.c new file mode 100644 index 00000000..5a4ecd23 --- /dev/null +++ b/test/c/compile/gles2/alias/001/test.c @@ -0,0 +1,16 @@ +/* + * GLES2 No extensions, with aliasing + * + * Issue: https://github.com/Dav1dde/glad/issues/334 + * + * GLAD: $GLAD --out-path=$tmp --api="gles2=3.2" --extensions="" c --alias + * COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/gles2.c -ldl + * RUN: $tmp/test + */ + +#include + +int main(void) { + (void) glGenVertexArraysOES; + return 0; +} From 99f308804343ad70d67d7eddd70c5ed44fe68aad Mon Sep 17 00:00:00 2001 From: David Herberth Date: Mon, 19 Jul 2021 19:14:29 +0200 Subject: [PATCH 039/138] test: removes reference to test container --- test/README.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/test/README.md b/test/README.md index 560fd62a..92a2f5be 100644 --- a/test/README.md +++ b/test/README.md @@ -18,8 +18,4 @@ There are a few requirements for actually running the test suite: * mingw * wine -Depending on future generators being added there may be more. To run the complete -suite with minimal effort you can use the [`glad-test`](https://hub.docker.com/r/dav1d/glad-test/) -Docker image: - - docker run --rm -t -v /path/to/glad:/mnt --user $(id -u):$(id -g) dav1d/glad-test \ No newline at end of file +Depending on future generators being added there may be more. From 6278602f9b961fbc7ed75a6d13f84d7b8cf157ce Mon Sep 17 00:00:00 2001 From: David Herberth Date: Mon, 2 Aug 2021 21:08:36 +0200 Subject: [PATCH 040/138] c: fixes platform protection for debug builds Platform protections were not fully considered for debug builds, gladInstall/gladUninstall did not respect protections. Also the extension function (e.g. `glad_vk_has_extension`) was unused when there was only one extension which is platform protected. closes: #335 --- glad/generator/c/templates/base_template.c | 4 ++++ glad/generator/c/templates/vk.c | 5 +++-- test/c/compile/vulkan/debug/001/test.c | 13 +++++++++++++ 3 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 test/c/compile/vulkan/debug/001/test.c diff --git a/glad/generator/c/templates/base_template.c b/glad/generator/c/templates/base_template.c index ab632ba4..640d183c 100644 --- a/glad/generator/c/templates/base_template.c +++ b/glad/generator/c/templates/base_template.c @@ -163,13 +163,17 @@ static void glad_{{ spec.name }}_resolve_aliases({{ template_utils.context_arg(d {% if options.debug %} void gladInstall{{ feature_set.name|api }}Debug() { {% for command in feature_set.commands|c_commands %} +{% call template_utils.protect(command) %} glad_debug_{{ command.name }} = glad_debug_impl_{{ command.name }}; +{% endcall %} {% endfor %} } void gladUninstall{{ feature_set.name|api }}Debug() { {% for command in feature_set.commands|c_commands %} +{% call template_utils.protect(command) %} glad_debug_{{ command.name }} = glad_{{ command.name }}; +{% endcall %} {% endfor %} } {% endif %} diff --git a/glad/generator/c/templates/vk.c b/glad/generator/c/templates/vk.c index 2f93bbce..822f2cc6 100644 --- a/glad/generator/c/templates/vk.c +++ b/glad/generator/c/templates/vk.c @@ -134,10 +134,11 @@ static int glad_vk_find_extensions_{{ api|lower }}({{ template_utils.context_arg {% call template_utils.protect(extension) %} {{ ('GLAD_' + extension.name)|ctx(name_only=True) }} = glad_vk_has_extension("{{ extension.name }}", extension_count, extensions); {% endcall %} -{% else %} - (void) glad_vk_has_extension; {% endfor %} + {# Special case: only one extension which is protected -> unused at compile time only on some platforms #} + (void) glad_vk_has_extension; + glad_vk_free_extensions(extension_count, extensions); return 1; diff --git a/test/c/compile/vulkan/debug/001/test.c b/test/c/compile/vulkan/debug/001/test.c new file mode 100644 index 00000000..8306d742 --- /dev/null +++ b/test/c/compile/vulkan/debug/001/test.c @@ -0,0 +1,13 @@ +/* + * Issue #335. Debug functions are not guarded/protected by platform. + * + * GLAD: $GLAD --out-path=$tmp --api="vulkan=1.1" --extensions=VK_KHR_external_memory_win32 c --debug + * COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/vulkan.c -ldl + * RUN: $tmp/test + */ + +#include + +int main(void) { + return 0; +} From 3970b3f0d6416f2c8a7208a03ec9aeabd8d8179e Mon Sep 17 00:00:00 2001 From: David Herberth Date: Sun, 22 Aug 2021 19:05:07 +0200 Subject: [PATCH 041/138] github: runs apt-get update before install --- .github/workflows/glad2.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/glad2.yaml b/.github/workflows/glad2.yaml index 2feeaa4d..e6f3e39d 100644 --- a/.github/workflows/glad2.yaml +++ b/.github/workflows/glad2.yaml @@ -18,7 +18,9 @@ jobs: pip install -r requirements.txt pip install -r requirements-test.txt - name: Install dependencies - run: sudo apt-get install gcc g++ gcc-mingw-w64 g++-mingw-w64 rustc libglfw3-dev wine winetricks xvfb libxxf86vm-dev libxi-dev libxcursor-dev libxinerama-dev + run: | + sudo apt-get update + sudo apt-get install gcc g++ gcc-mingw-w64 g++-mingw-w64 rustc libglfw3-dev wine winetricks xvfb libxxf86vm-dev libxi-dev libxcursor-dev libxinerama-dev - name: Setup environment run: | mkdir .wine From aa38f7ad83e809bbf3b1aa7a014fa65692f66275 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Sun, 22 Aug 2021 16:51:55 +0200 Subject: [PATCH 042/138] rust: strips spec prefix from enumerations gh: #336 --- example/rust/gl-glfw-mx/src/main.rs | 2 +- example/rust/gl-glfw/src/main.rs | 2 +- glad/generator/rust/templates/impl.rs | 2 +- glad/generator/rust/templates/types/glx.rs | 8 ++++---- test/rust/compile/gl/default/003/Cargo.toml | 10 ++++++++++ test/rust/compile/gl/default/003/test.rs | 16 ++++++++++++++++ test/rust/run/gl/default/001/test.rs | 2 +- 7 files changed, 34 insertions(+), 8 deletions(-) create mode 100644 test/rust/compile/gl/default/003/Cargo.toml create mode 100644 test/rust/compile/gl/default/003/test.rs diff --git a/example/rust/gl-glfw-mx/src/main.rs b/example/rust/gl-glfw-mx/src/main.rs index 3f4341e2..53294fd9 100644 --- a/example/rust/gl-glfw-mx/src/main.rs +++ b/example/rust/gl-glfw-mx/src/main.rs @@ -48,7 +48,7 @@ fn draw(window: &mut Window) { window.source.make_current(); unsafe { window.gl.ClearColor(0.7, 0.9, 0.1, 1.0); - window.gl.Clear(gl::GL_COLOR_BUFFER_BIT); + window.gl.Clear(gl::COLOR_BUFFER_BIT); } window.source.swap_buffers(); } diff --git a/example/rust/gl-glfw/src/main.rs b/example/rust/gl-glfw/src/main.rs index e3edcfdf..c37a279a 100644 --- a/example/rust/gl-glfw/src/main.rs +++ b/example/rust/gl-glfw/src/main.rs @@ -23,7 +23,7 @@ fn main() { unsafe { gl::ClearColor(0.7, 0.9, 0.1, 1.0); - gl::Clear(gl::GL_COLOR_BUFFER_BIT); + gl::Clear(gl::COLOR_BUFFER_BIT); } window.swap_buffers(); diff --git a/glad/generator/rust/templates/impl.rs b/glad/generator/rust/templates/impl.rs index 82ecf523..771eaab4 100644 --- a/glad/generator/rust/templates/impl.rs +++ b/glad/generator/rust/templates/impl.rs @@ -59,7 +59,7 @@ pub mod enumerations { use super::types::*; {% for enum in feature_set.enums %} - pub const {{ enum.name }}: {{ enum|enum_type }} = {{ enum|enum_value }}; + pub const {{ enum.name|no_prefix }}: {{ enum|enum_type }} = {{ enum|enum_value }}; {% endfor %} } diff --git a/glad/generator/rust/templates/types/glx.rs b/glad/generator/rust/templates/types/glx.rs index af5b300b..f2d08e7e 100644 --- a/glad/generator/rust/templates/types/glx.rs +++ b/glad/generator/rust/templates/types/glx.rs @@ -99,14 +99,14 @@ pub struct GLXBufferClobberEventSGIX { #[repr(C)] #[derive(Copy, Clone)] pub struct GLXHyperpipeNetworkSGIX { - pub pipeName: [std::os::raw::c_char; super::enumerations::GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX as usize], + pub pipeName: [std::os::raw::c_char; super::enumerations::HYPERPIPE_PIPE_NAME_LENGTH_SGIX as usize], pub networkId: std::os::raw::c_int, } #[repr(C)] #[derive(Copy, Clone)] pub struct GLXHyperpipeConfigSGIX { - pub pipeName: [std::os::raw::c_char; super::enumerations::GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX as usize], + pub pipeName: [std::os::raw::c_char; super::enumerations::HYPERPIPE_PIPE_NAME_LENGTH_SGIX as usize], pub channel: std::os::raw::c_int, pub participationType: std::os::raw::c_uint, pub timeSlice: std::os::raw::c_int, @@ -115,7 +115,7 @@ pub struct GLXHyperpipeConfigSGIX { #[repr(C)] #[derive(Copy, Clone)] pub struct GLXPipeRect { - pub pipeName: [std::os::raw::c_char; super::enumerations::GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX as usize], + pub pipeName: [std::os::raw::c_char; super::enumerations::HYPERPIPE_PIPE_NAME_LENGTH_SGIX as usize], pub srcXOrigin: std::os::raw::c_int, pub srcYOrigin: std::os::raw::c_int, pub srcWidth: std::os::raw::c_int, @@ -129,7 +129,7 @@ pub struct GLXPipeRect { #[repr(C)] #[derive(Copy, Clone)] pub struct GLXPipeRectLimits { - pub pipeName: [std::os::raw::c_char; super::enumerations::GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX as usize], + pub pipeName: [std::os::raw::c_char; super::enumerations::HYPERPIPE_PIPE_NAME_LENGTH_SGIX as usize], pub XOrigin: std::os::raw::c_int, pub YOrigin: std::os::raw::c_int, pub maxHeight: std::os::raw::c_int, diff --git a/test/rust/compile/gl/default/003/Cargo.toml b/test/rust/compile/gl/default/003/Cargo.toml new file mode 100644 index 00000000..a2d023e0 --- /dev/null +++ b/test/rust/compile/gl/default/003/Cargo.toml @@ -0,0 +1,10 @@ +[package] +name = "compile-gl-default-003" +version = "0.1.0" + +[[bin]] +path = "test.rs" +name = "test" + +[dependencies] +glad-gl = { path = "./glad-gl/" } diff --git a/test/rust/compile/gl/default/003/test.rs b/test/rust/compile/gl/default/003/test.rs new file mode 100644 index 00000000..b1701ca1 --- /dev/null +++ b/test/rust/compile/gl/default/003/test.rs @@ -0,0 +1,16 @@ +#![deny(warnings)] +/** + * Enums / Constants should not be prefixed. + * + * GLAD: $GLAD --out-path=$tmp --api="gl:core=" rust + * COMPILE: cp -r $test_dir/. $tmp && cd $tmp && cargo build + * RUN: cargo run + */ +extern crate glad_gl; +use glad_gl::gl; + +#[allow(path_statements)] +fn main() { + gl::_1PASS_EXT; + gl::ALPHA; +} diff --git a/test/rust/run/gl/default/001/test.rs b/test/rust/run/gl/default/001/test.rs index 6bb0f5b8..f8f2f1be 100644 --- a/test/rust/run/gl/default/001/test.rs +++ b/test/rust/run/gl/default/001/test.rs @@ -29,7 +29,7 @@ fn main() { unsafe { gl::Viewport(0, 0, 300, 300); gl::ClearColor(0.7, 0.9, 0.1, 1.0); - gl::Clear(gl::GL_COLOR_BUFFER_BIT); + gl::Clear(gl::COLOR_BUFFER_BIT); } window.swap_buffers(); From 2f31a7eaa468c36d1f36478d43c310476fe93292 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Sun, 22 Aug 2021 17:04:31 +0200 Subject: [PATCH 043/138] rust: reduces generated code by more specific imports --- glad/generator/rust/__init__.py | 26 ++++++++++----------- glad/generator/rust/templates/impl.rs | 28 +++++++++++------------ glad/generator/rust/templates/types/vk.rs | 1 + 3 files changed, 28 insertions(+), 27 deletions(-) diff --git a/glad/generator/rust/__init__.py b/glad/generator/rust/__init__.py index ad83912c..e00a81cb 100644 --- a/glad/generator/rust/__init__.py +++ b/glad/generator/rust/__init__.py @@ -13,13 +13,13 @@ _RUST_TYPE_MAPPING = { - 'void': 'std::os::raw::c_void', - 'char': 'std::os::raw::c_char', - 'uchar': 'std::os::raw::c_uchar', - 'float': 'std::os::raw::c_float', - 'double': 'std::os::raw::c_double', - 'int': 'std::os::raw::c_int', - 'long': 'std::os::raw::c_long', + 'void': 'c_void', + 'char': 'c_char', + 'uchar': 'c_uchar', + 'float': 'c_float', + 'double': 'c_double', + 'int': 'c_int', + 'long': 'c_long', 'int8_t': 'i8', 'uint8_t': 'u8', 'int16_t': 'i16', @@ -54,19 +54,19 @@ def enum_type(enum, feature_set): if enum.type: return { 'ull': 'u64', - }.get(enum.type, 'std::os::raw::c_uint') + }.get(enum.type, 'c_uint') if enum.value.startswith('0x'): - return 'u64' if len(enum.value[2:]) > 8 else 'std::os::raw::c_uint' + return 'u64' if len(enum.value[2:]) > 8 else 'c_uint' if enum.name in ('GL_TRUE', 'GL_FALSE'): - return 'std::os::raw::c_uchar' + return 'c_uchar' if enum.value.startswith('-'): - return 'std::os::raw::c_int' + return 'c_int' if enum.value.endswith('f'): - return 'std::os::raw::c_float' + return 'c_float' if enum.value.startswith('"'): # TODO figure out correct type @@ -80,7 +80,7 @@ def enum_type(enum, feature_set): # EGL_CAST(type,value) -> type return enum.value.split('(', 1)[1].split(',')[0] - return 'std::os::raw::c_uint' + return 'c_uint' def enum_value(enum, feature_set): diff --git a/glad/generator/rust/templates/impl.rs b/glad/generator/rust/templates/impl.rs index 771eaab4..2bb59cdc 100644 --- a/glad/generator/rust/templates/impl.rs +++ b/glad/generator/rust/templates/impl.rs @@ -3,31 +3,31 @@ pub use self::types::*; pub use self::enumerations::*; pub use self::functions::*; -use std::os::raw; +use std::os::raw::c_void; struct FnPtr { - ptr: *const raw::c_void, + ptr: *const c_void, is_loaded: bool } impl FnPtr { {% if options.mx %} - pub fn new(loaded: *const raw::c_void) -> FnPtr { + pub fn new(loaded: *const c_void) -> FnPtr { if !loaded.is_null() { FnPtr { ptr: loaded, is_loaded: true } } else { - FnPtr { ptr: FnPtr::not_initialized as *const raw::c_void, is_loaded: false } + FnPtr { ptr: FnPtr::not_initialized as *const c_void, is_loaded: false } } } {% else %} - pub fn load(&mut self, loadfn: &mut F, name: &'static str) where F: FnMut(&'static str) -> *const raw::c_void { + pub fn load(&mut self, loadfn: &mut F, name: &'static str) where F: FnMut(&'static str) -> *const c_void { let loaded = loadfn(name); if !loaded.is_null() { self.ptr = loaded; self.is_loaded = true; } else { - self.ptr = FnPtr::not_initialized as *const raw::c_void; + self.ptr = FnPtr::not_initialized as *const c_void; self.is_loaded = false; }; } @@ -55,7 +55,7 @@ pub mod types { pub mod enumerations { #![allow(dead_code, non_upper_case_globals, unused_imports)] - use std; + use std::os::raw::*; use super::types::*; {% for enum in feature_set.enums %} @@ -66,8 +66,8 @@ pub mod enumerations { pub mod functions { #![allow(non_snake_case, unused_variables, dead_code)] - use std; - use std::mem; + use std::mem::transmute; + use std::os::raw::*; {{ 'use super::FnPtr;' if options.mx else 'use super::storage;' }} use super::types::*; @@ -81,7 +81,7 @@ pub mod functions { {% endif %} {% for command in feature_set.commands %} - {{ template_utils.protect(command) }} #[inline] pub unsafe fn {{ command.name|no_prefix }}({{ '&self, ' if options.mx }}{{ command|params }}) -> {{ command.proto.ret|type }} { mem::transmute::<_, extern "system" fn({{ command|params('types') }}) -> {{ command.proto.ret|type }}>({{ 'self._' if options.mx else 'storage::' }}{{ command.name|no_prefix }}.ptr)({{ command|params('names') }}) } + {{ template_utils.protect(command) }} #[inline] pub unsafe fn {{ command.name|no_prefix }}({{ '&self, ' if options.mx }}{{ command|params }}) -> {{ command.proto.ret|type }} { transmute::<_, extern "system" fn({{ command|params('types') }}) -> {{ command.proto.ret|type }}>({{ 'self._' if options.mx else 'storage::' }}{{ command.name|no_prefix }}.ptr)({{ command|params('names') }}) } {% endfor %} {{ '}' if options.mx }} @@ -92,16 +92,16 @@ mod storage { #![allow(non_snake_case, non_upper_case_globals)] use super::FnPtr; - use std::os::raw; + use std::os::raw::*; {% for command in feature_set.commands %} - {{ template_utils.protect(command) }} pub(super) static mut {{ command.name|no_prefix }}: FnPtr = FnPtr { ptr: FnPtr::not_initialized as *const raw::c_void, is_loaded: false }; + {{ template_utils.protect(command) }} pub(super) static mut {{ command.name|no_prefix }}: FnPtr = FnPtr { ptr: FnPtr::not_initialized as *const c_void, is_loaded: false }; {% endfor %} } {% endif %} {% if options.mx %} -pub fn load(mut loadfn: F) -> functions::Gl where F: FnMut(&'static str) -> *const raw::c_void { +pub fn load(mut loadfn: F) -> functions::Gl where F: FnMut(&'static str) -> *const c_void { #[allow(unused_mut)] let mut gl = Gl { {% for command in feature_set.commands %} @@ -118,7 +118,7 @@ pub fn load(mut loadfn: F) -> functions::Gl where F: FnMut(&'static str) -> * gl } {% else %} -pub fn load(mut loadfn: F) where F: FnMut(&'static str) -> *const raw::c_void { +pub fn load(mut loadfn: F) where F: FnMut(&'static str) -> *const c_void { unsafe { {% for command in feature_set.commands %} {{ template_utils.protect(command) }} storage::{{ command.name | no_prefix }}.load(&mut loadfn, "{{ command.name }}"); diff --git a/glad/generator/rust/templates/types/vk.rs b/glad/generator/rust/templates/types/vk.rs index ce138101..7e01c29d 100644 --- a/glad/generator/rust/templates/types/vk.rs +++ b/glad/generator/rust/templates/types/vk.rs @@ -3,6 +3,7 @@ {% import 'template_utils.rs' as template_utils with context %} use std; +use std::os::raw::*; // types required for: xcb pub type xcb_connection_t = std::os::raw::c_void; From 30368fe7ac297cae50acced001fbea2ed8ad9a97 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Sun, 22 Aug 2021 18:31:27 +0200 Subject: [PATCH 044/138] rust: uses more macros for readability --- glad/generator/rust/templates/impl.rs | 51 +++++++++++++++------------ 1 file changed, 28 insertions(+), 23 deletions(-) diff --git a/glad/generator/rust/templates/impl.rs b/glad/generator/rust/templates/impl.rs index 2bb59cdc..af4e6fd6 100644 --- a/glad/generator/rust/templates/impl.rs +++ b/glad/generator/rust/templates/impl.rs @@ -5,39 +5,30 @@ pub use self::functions::*; use std::os::raw::c_void; +#[derive(Copy, Clone)] struct FnPtr { ptr: *const c_void, is_loaded: bool } +#[allow(dead_code)] impl FnPtr { - {% if options.mx %} - pub fn new(loaded: *const c_void) -> FnPtr { + fn new(loaded: *const c_void) -> FnPtr { if !loaded.is_null() { FnPtr { ptr: loaded, is_loaded: true } } else { FnPtr { ptr: FnPtr::not_initialized as *const c_void, is_loaded: false } } } - {% else %} - pub fn load(&mut self, loadfn: &mut F, name: &'static str) where F: FnMut(&'static str) -> *const c_void { + fn load(&mut self, loadfn: &mut F, name: &'static str) where F: FnMut(&'static str) -> *const c_void { let loaded = loadfn(name); - if !loaded.is_null() { - self.ptr = loaded; - self.is_loaded = true; - } else { - self.ptr = FnPtr::not_initialized as *const c_void; - self.is_loaded = false; - }; + *self = Self::new(loaded); } - {% endif %} - #[allow(dead_code)] - pub fn aliased(&mut self, other: &FnPtr) { + fn aliased(&mut self, other: &FnPtr) { if !self.is_loaded && other.is_loaded { - self.ptr = other.ptr; - self.is_loaded = other.is_loaded; + *self = *other; } } @@ -64,24 +55,32 @@ pub mod enumerations { } pub mod functions { - #![allow(non_snake_case, unused_variables, dead_code)] + #![allow(non_snake_case, unused_variables, dead_code, unused_imports)] use std::mem::transmute; use std::os::raw::*; - {{ 'use super::FnPtr;' if options.mx else 'use super::storage;' }} + use super::*; use super::types::*; + macro_rules! func { + ($fun:ident, $ret:ty, $($name:ident: $typ:ty),*) => { + #[inline] pub unsafe fn $fun({{ '&self, ' if options.mx }}$($name: $typ),*) -> $ret { + transmute::<_, extern "system" fn($($typ),*) -> $ret>({{ 'self.' if options.mx else 'storage::' }}$fun.ptr)($($name),*) + } + } + } + {% if options.mx %} pub struct Gl { {% for command in feature_set.commands %} - {{ template_utils.protect(command) }} pub(super) _{{ command.name|no_prefix }}: FnPtr, + {{ template_utils.protect(command) }} pub(super) {{ command.name|no_prefix }}: FnPtr, {% endfor %} } impl Gl { {% endif %} {% for command in feature_set.commands %} - {{ template_utils.protect(command) }} #[inline] pub unsafe fn {{ command.name|no_prefix }}({{ '&self, ' if options.mx }}{{ command|params }}) -> {{ command.proto.ret|type }} { transmute::<_, extern "system" fn({{ command|params('types') }}) -> {{ command.proto.ret|type }}>({{ 'self._' if options.mx else 'storage::' }}{{ command.name|no_prefix }}.ptr)({{ command|params('names') }}) } + {{ template_utils.protect(command) }} func!({{ command.name|no_prefix }}, {{ command.proto.ret|type }}, {{ command|params }}); {% endfor %} {{ '}' if options.mx }} @@ -94,8 +93,14 @@ mod storage { use super::FnPtr; use std::os::raw::*; + macro_rules! store { + ($name:ident) => { + pub(super) static mut $name: FnPtr = FnPtr { ptr: FnPtr::not_initialized as *const c_void, is_loaded: false }; + } + } + {% for command in feature_set.commands %} - {{ template_utils.protect(command) }} pub(super) static mut {{ command.name|no_prefix }}: FnPtr = FnPtr { ptr: FnPtr::not_initialized as *const c_void, is_loaded: false }; + {{ template_utils.protect(command) }} store!({{ command.name|no_prefix }}); {% endfor %} } {% endif %} @@ -105,13 +110,13 @@ pub fn load(mut loadfn: F) -> functions::Gl where F: FnMut(&'static str) -> * #[allow(unused_mut)] let mut gl = Gl { {% for command in feature_set.commands %} - {{ template_utils.protect(command.name) }} _{{ command.name|no_prefix }}: FnPtr::new(loadfn("{{ command.name }}")), + {{ template_utils.protect(command.name) }} {{ command.name|no_prefix }}: FnPtr::new(loadfn("{{ command.name }}")), {% endfor %} }; {% for command, caliases in aliases|dictsort %} {% for alias in caliases|reject('equalto', command) %} - {{ template_utils.protect(command) }} gl._{{ command|no_prefix }}.aliased(&gl._{{ alias|no_prefix }}); + {{ template_utils.protect(command) }} gl.{{ command|no_prefix }}.aliased(&gl.{{ alias|no_prefix }}); {% endfor %} {% endfor %} From 369fba4abbbec831eada35d3f6b08e16a80e665a Mon Sep 17 00:00:00 2001 From: David Herberth Date: Sat, 11 Sep 2021 13:54:00 +0200 Subject: [PATCH 045/138] rust: fixes hardcoded mx ctx name --- glad/generator/rust/__init__.py | 2 +- glad/generator/rust/templates/impl.rs | 32 ++++++++++++++++----------- 2 files changed, 20 insertions(+), 14 deletions(-) diff --git a/glad/generator/rust/__init__.py b/glad/generator/rust/__init__.py index e00a81cb..8aa18367 100644 --- a/glad/generator/rust/__init__.py +++ b/glad/generator/rust/__init__.py @@ -219,6 +219,6 @@ def get_templates(self, spec, feature_set, config): return [ ('Cargo.toml', 'glad-{}/Cargo.toml'.format(feature_set.name)), ('lib.rs', 'glad-{}/src/lib.rs'.format(feature_set.name)), - ('impl.rs'.format(spec.name), 'glad-{}/src/{}.rs'.format(feature_set.name, spec.name)) + ('impl.rs', 'glad-{}/src/{}.rs'.format(feature_set.name, spec.name)) ] diff --git a/glad/generator/rust/templates/impl.rs b/glad/generator/rust/templates/impl.rs index af4e6fd6..1bb78ecd 100644 --- a/glad/generator/rust/templates/impl.rs +++ b/glad/generator/rust/templates/impl.rs @@ -5,6 +5,8 @@ pub use self::functions::*; use std::os::raw::c_void; +{% set ctx_name = feature_set.name | capitalize %} + #[derive(Copy, Clone)] struct FnPtr { ptr: *const c_void, @@ -13,17 +15,16 @@ struct FnPtr { #[allow(dead_code)] impl FnPtr { - fn new(loaded: *const c_void) -> FnPtr { - if !loaded.is_null() { - FnPtr { ptr: loaded, is_loaded: true } + fn new(ptr: *const c_void) -> FnPtr { + if !ptr.is_null() { + FnPtr { ptr, is_loaded: true } } else { FnPtr { ptr: FnPtr::not_initialized as *const c_void, is_loaded: false } } } - fn load(&mut self, loadfn: &mut F, name: &'static str) where F: FnMut(&'static str) -> *const c_void { - let loaded = loadfn(name); - *self = Self::new(loaded); + fn set_ptr(&mut self, ptr: *const c_void) { + *self = Self::new(ptr); } fn aliased(&mut self, other: &FnPtr) { @@ -71,12 +72,17 @@ pub mod functions { } {% if options.mx %} - pub struct Gl { + pub struct {{ ctx_name }} { {% for command in feature_set.commands %} {{ template_utils.protect(command) }} pub(super) {{ command.name|no_prefix }}: FnPtr, {% endfor %} } - impl Gl { + + {% if not spec.name | capitalize == ctx_name %} + pub type {{ spec.name | capitalize }} = {{ ctx_name }}; + {% endif %} + + impl {{ ctx_name }} { {% endif %} {% for command in feature_set.commands %} @@ -106,9 +112,9 @@ mod storage { {% endif %} {% if options.mx %} -pub fn load(mut loadfn: F) -> functions::Gl where F: FnMut(&'static str) -> *const c_void { +pub fn load(mut loadfn: F) -> functions::{{ ctx_name }} where F: FnMut(&'static str) -> *const c_void { #[allow(unused_mut)] - let mut gl = Gl { + let mut ctx = {{ ctx_name }} { {% for command in feature_set.commands %} {{ template_utils.protect(command.name) }} {{ command.name|no_prefix }}: FnPtr::new(loadfn("{{ command.name }}")), {% endfor %} @@ -116,17 +122,17 @@ pub fn load(mut loadfn: F) -> functions::Gl where F: FnMut(&'static str) -> * {% for command, caliases in aliases|dictsort %} {% for alias in caliases|reject('equalto', command) %} - {{ template_utils.protect(command) }} gl.{{ command|no_prefix }}.aliased(&gl.{{ alias|no_prefix }}); + {{ template_utils.protect(command) }} ctx.{{ command|no_prefix }}.aliased(&ctx.{{ alias|no_prefix }}); {% endfor %} {% endfor %} - gl + ctx } {% else %} pub fn load(mut loadfn: F) where F: FnMut(&'static str) -> *const c_void { unsafe { {% for command in feature_set.commands %} - {{ template_utils.protect(command) }} storage::{{ command.name | no_prefix }}.load(&mut loadfn, "{{ command.name }}"); + {{ template_utils.protect(command) }} storage::{{ command.name | no_prefix }}.set_ptr(loadfn("{{ command.name }}")); {% endfor %} {% for command, caliases in aliases|dictsort %} From 5fc92d7057913ddab9d9e4565502067dff1dcb9e Mon Sep 17 00:00:00 2001 From: Attractadore <28895114+Attractadore@users.noreply.github.com> Date: Tue, 9 Nov 2021 17:57:47 +0300 Subject: [PATCH 046/138] cmake: fix extensions parsing in PowerShell When EXTENSIONS is NONE, PowerShell passes a literary '' as an argument instead of an empty string. Use a string consisting of a single whitespace instead. --- cmake/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index b395f538..92bc5a2b 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -196,7 +196,7 @@ function(glad_add_library TARGET) if(GG_EXTENSIONS) list(FIND GG_EXTENSIONS NONE GG_EXT_NONE) if(GG_EXT_NONE GREATER -1) - set(GLAD_EXTENSIONS "''") + set(GLAD_EXTENSIONS " ") else() list(REMOVE_DUPLICATES GG_EXTENSIONS) list(JOIN GG_EXTENSIONS "," GLAD_EXTENSIONS) From 2f498c3258dfde1ac84e3c105af0159d8b5aa69d Mon Sep 17 00:00:00 2001 From: David Herberth Date: Tue, 21 Dec 2021 19:18:42 +0100 Subject: [PATCH 047/138] glad: updates specification urls gh: #347 --- glad/specification.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/glad/specification.py b/glad/specification.py index 60f342e4..8030ee1e 100644 --- a/glad/specification.py +++ b/glad/specification.py @@ -4,7 +4,7 @@ class EGL(Specification): DISPLAY_NAME = 'EGL' - API = 'https://raw.githubusercontent.com/KhronosGroup/EGL-Registry/master/api/' + API = 'https://raw.githubusercontent.com/KhronosGroup/EGL-Registry/main/api/' NAME = 'egl' def protections(self, symbol, api=None, profile=None, feature_set=None): @@ -14,7 +14,7 @@ def protections(self, symbol, api=None, profile=None, feature_set=None): class GL(Specification): DISPLAY_NAME = 'OpenGL' - API = 'https://raw.githubusercontent.com/KhronosGroup/OpenGL-Registry/master/xml/' + API = 'https://raw.githubusercontent.com/KhronosGroup/OpenGL-Registry/main/xml/' NAME = 'gl' def _magic_require(self, api, profile): @@ -33,7 +33,7 @@ def protections(self, symbol, api=None, profile=None, feature_set=None): class GLX(Specification): DISPLAY_NAME = 'GLX' - API = 'https://raw.githubusercontent.com/KhronosGroup/OpenGL-Registry/master/xml/' + API = 'https://raw.githubusercontent.com/KhronosGroup/OpenGL-Registry/main/xml/' NAME = 'glx' def protections(self, symbol, api=None, profile=None, feature_set=None): @@ -43,7 +43,7 @@ def protections(self, symbol, api=None, profile=None, feature_set=None): class WGL(Specification): DISPLAY_NAME = 'WGL' - API = 'https://raw.githubusercontent.com/KhronosGroup/OpenGL-Registry/master/xml/' + API = 'https://raw.githubusercontent.com/KhronosGroup/OpenGL-Registry/main/xml/' NAME = 'wgl' def protections(self, symbol, api=None, profile=None, feature_set=None): @@ -53,7 +53,7 @@ def protections(self, symbol, api=None, profile=None, feature_set=None): class VK(Specification): DISPLAY_NAME = 'Vulkan' - API = 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Docs/master/xml/' + API = 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Docs/main/xml/' NAME = 'vk' def _magic_require(self, api, profile): From 1cf7de053a6c4d20a978b994aa55a7a45293676e Mon Sep 17 00:00:00 2001 From: David Herberth Date: Tue, 21 Dec 2021 19:25:23 +0100 Subject: [PATCH 048/138] files: updates to latest specifications --- glad/files/egl.xml | 160 +- glad/files/eglplatform.h | 49 +- glad/files/gl.xml | 8140 ++++++++------------------------ glad/files/glx.xml | 25 +- glad/files/khrplatform.h | 27 +- glad/files/vk.xml | 9514 +++++++++++++++++++++++++++++++------- glad/files/vk_platform.h | 8 +- glad/files/wgl.xml | 28 +- utility/download.sh | 16 +- 9 files changed, 9800 insertions(+), 8167 deletions(-) diff --git a/glad/files/egl.xml b/glad/files/egl.xml index 5ab8d66f..1c181564 100644 --- a/glad/files/egl.xml +++ b/glad/files/egl.xml @@ -1,27 +1,9 @@ + Copyright 2013-2020 The Khronos Group Inc. + SPDX-License-Identifier: Apache-2.0 + --> - - + + @@ -1381,6 +1395,13 @@ EGLint eglGetError + + EGLBoolean eglGetMscRateANGLE + EGLDisplay dpy + EGLSurface surface + EGLint *numerator + EGLint *denominator + EGLClientBuffer eglGetNativeClientBufferANDROID const struct AHardwareBuffer *buffer @@ -1692,6 +1713,15 @@ EGLDisplay dpy EGLint name + + EGLBoolean eglQuerySupportedCompressionRatesEXT + EGLDisplay dpy + EGLConfig *configs + const EGLAttrib *attrib_list + EGLint *rates + EGLint rate_size + EGLint *num_rates + EGLBoolean eglQuerySurface EGLDisplay dpy @@ -1990,6 +2020,14 @@ EGLImage image EGLSync sync + + EGLBoolean eglQueryDeviceBinaryEXT + EGLDeviceEXT device + EGLint name + EGLint max_size + void *value + EGLint *size + @@ -2356,6 +2394,11 @@ + + + + + @@ -2384,6 +2427,11 @@ + + + + + @@ -2417,6 +2465,7 @@ + @@ -2580,6 +2629,17 @@ + + + + + + + + + + + @@ -3353,6 +3413,28 @@ + + + + + + + + + + + + + + + + + + + + + + @@ -3410,5 +3492,23 @@ + + + + + + + + + + + + + + + + + + diff --git a/glad/files/eglplatform.h b/glad/files/eglplatform.h index eaac469f..99362a23 100644 --- a/glad/files/eglplatform.h +++ b/glad/files/eglplatform.h @@ -2,36 +2,17 @@ #define __eglplatform_h_ /* -** Copyright (c) 2007-2016 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. +** Copyright 2007-2020 The Khronos Group Inc. +** SPDX-License-Identifier: Apache-2.0 */ /* Platform-specific types and definitions for egl.h - * $Revision: 30994 $ on $Date: 2015-04-30 13:36:48 -0700 (Thu, 30 Apr 2015) $ * * Adopters may modify khrplatform.h and this file to suit their platform. * You are encouraged to submit all modifications to the Khronos group so that * they can be included in future versions of this file. Please submit changes - * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla) - * by filing a bug against product "EGL" component "Registry". + * by filing an issue or pull request on the public Khronos EGL Registry, at + * https://www.github.com/KhronosGroup/EGL-Registry/ */ #include @@ -67,7 +48,13 @@ * implementations. */ -#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */ +#if defined(EGL_NO_PLATFORM_SPECIFIC_TYPES) + +typedef void *EGLNativeDisplayType; +typedef void *EGLNativePixmapType; +typedef void *EGLNativeWindowType; + +#elif defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */ #ifndef WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN 1 #endif @@ -116,13 +103,7 @@ typedef intptr_t EGLNativeDisplayType; typedef intptr_t EGLNativePixmapType; typedef intptr_t EGLNativeWindowType; -#elif defined(__unix__) && defined(EGL_NO_X11) - -typedef void *EGLNativeDisplayType; -typedef khronos_uintptr_t EGLNativePixmapType; -typedef khronos_uintptr_t EGLNativeWindowType; - -#elif defined(__unix__) || defined(USE_X11) +#elif defined(USE_X11) /* X11 (tentative) */ #include @@ -132,6 +113,12 @@ typedef Display *EGLNativeDisplayType; typedef Pixmap EGLNativePixmapType; typedef Window EGLNativeWindowType; +#elif defined(__unix__) + +typedef void *EGLNativeDisplayType; +typedef khronos_uintptr_t EGLNativePixmapType; +typedef khronos_uintptr_t EGLNativeWindowType; + #elif defined(__APPLE__) typedef int EGLNativeDisplayType; diff --git a/glad/files/gl.xml b/glad/files/gl.xml index 288ba4a8..60696d62 100644 --- a/glad/files/gl.xml +++ b/glad/files/gl.xml @@ -1,4831 +1,70 @@  -Copyright (c) 2013-2019 The Khronos Group Inc. +Copyright 2013-2020 The Khronos Group Inc. +SPDX-License-Identifier: Apache-2.0 -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - ------------------------------------------------------------------------- - -This file, gl.xml, is the OpenGL and OpenGL API Registry. The canonical -version of the registry, together with documentation, schema, and Python -generator scripts used to generate C header files for OpenGL and OpenGL ES, -can always be found in the Khronos Registry at - https://github.com/KhronosGroup/OpenGL-Registry - - - - - - #include <KHR/khrplatform.h> - - typedef unsigned int GLenum; - typedef unsigned char GLboolean; - typedef unsigned int GLbitfield; - typedef void GLvoid; - typedef khronos_int8_t GLbyte; - typedef khronos_uint8_t GLubyte; - typedef khronos_int16_t GLshort; - typedef khronos_uint16_t GLushort; - typedef int GLint; - typedef unsigned int GLuint; - typedef khronos_int32_t GLclampx; - typedef int GLsizei; - typedef khronos_float_t GLfloat; - typedef khronos_float_t GLclampf; - typedef double GLdouble; - typedef double GLclampd; - typedef void *GLeglClientBufferEXT; - typedef void *GLeglImageOES; - typedef char GLchar; - typedef char GLcharARB; - #ifdef __APPLE__ -typedef void *GLhandleARB; -#else -typedef unsigned int GLhandleARB; -#endif - typedef khronos_uint16_t GLhalf; - typedef khronos_uint16_t GLhalfARB; - typedef khronos_int32_t GLfixed; - typedef khronos_intptr_t GLintptr; - typedef khronos_intptr_t GLintptrARB; - typedef khronos_ssize_t GLsizeiptr; - typedef khronos_ssize_t GLsizeiptrARB; - typedef khronos_int64_t GLint64; - typedef khronos_int64_t GLint64EXT; - typedef khronos_uint64_t GLuint64; - typedef khronos_uint64_t GLuint64EXT; - typedef struct __GLsync *GLsync; - struct _cl_context; - struct _cl_event; - typedef void ( *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); - typedef void ( *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); - typedef void ( *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); - - - typedef void ( *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,void *userParam); - typedef unsigned short GLhalfNV; - typedef GLintptr GLvdpauSurfaceNV; - typedef void ( *GLVULKANPROCNV)(void); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +This file, gl.xml, is the OpenGL and OpenGL API Registry. The canonical +version of the registry, together with documentation, schema, and Python +generator scripts used to generate C header files for OpenGL and OpenGL ES, +can always be found in the Khronos Registry at +https://github.com/KhronosGroup/OpenGL-Registry + - - - - - - - - + + + + #include <KHR/khrplatform.h> + + typedef unsigned int GLenum; + typedef unsigned char GLboolean; + typedef unsigned int GLbitfield; + typedef void GLvoid; + typedef khronos_int8_t GLbyte; + typedef khronos_uint8_t GLubyte; + typedef khronos_int16_t GLshort; + typedef khronos_uint16_t GLushort; + typedef int GLint; + typedef unsigned int GLuint; + typedef khronos_int32_t GLclampx; + typedef int GLsizei; + typedef khronos_float_t GLfloat; + typedef khronos_float_t GLclampf; + typedef double GLdouble; + typedef double GLclampd; + typedef void *GLeglClientBufferEXT; + typedef void *GLeglImageOES; + typedef char GLchar; + typedef char GLcharARB; + #ifdef __APPLE__ +typedef void *GLhandleARB; +#else +typedef unsigned int GLhandleARB; +#endif + typedef khronos_uint16_t GLhalf; + typedef khronos_uint16_t GLhalfARB; + typedef khronos_int32_t GLfixed; + typedef khronos_intptr_t GLintptr; + typedef khronos_intptr_t GLintptrARB; + typedef khronos_ssize_t GLsizeiptr; + typedef khronos_ssize_t GLsizeiptrARB; + typedef khronos_int64_t GLint64; + typedef khronos_int64_t GLint64EXT; + typedef khronos_uint64_t GLuint64; + typedef khronos_uint64_t GLuint64EXT; + typedef struct __GLsync *GLsync; + struct _cl_context; + struct _cl_event; + typedef void ( *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); + typedef void ( *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); + typedef void ( *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); - + + typedef void ( *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,void *userParam); + typedef unsigned short GLhalfNV; + typedef GLintptr GLvdpauSurfaceNV; + typedef void ( *GLVULKANPROCNV)(void); + @@ -5244,22 +483,22 @@ typedef unsigned int GLhandleARB; extensions and API versions). --> - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + @@ -5742,9 +981,9 @@ typedef unsigned int GLhandleARB; - + - + @@ -5830,7 +1069,7 @@ typedef unsigned int GLhandleARB; - + @@ -5937,7 +1176,7 @@ typedef unsigned int GLhandleARB; - + @@ -5973,9 +1212,9 @@ typedef unsigned int GLhandleARB; - + - + @@ -5993,7 +1232,7 @@ typedef unsigned int GLhandleARB; - + @@ -6018,79 +1257,79 @@ typedef unsigned int GLhandleARB; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6312,37 +1551,37 @@ typedef unsigned int GLhandleARB; - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -6555,18 +1794,18 @@ typedef unsigned int GLhandleARB; - - - - - - - - - - - - + + + + + + + + + + + + @@ -6687,7 +1926,7 @@ typedef unsigned int GLhandleARB; - + @@ -6706,34 +1945,34 @@ typedef unsigned int GLhandleARB; - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -7221,12 +2460,12 @@ typedef unsigned int GLhandleARB; - - - - - - + + + + + + @@ -7495,12 +2734,12 @@ typedef unsigned int GLhandleARB; - - - + + + - - + + @@ -7518,7 +2757,7 @@ typedef unsigned int GLhandleARB; - + @@ -7556,14 +2795,14 @@ typedef unsigned int GLhandleARB; - - - - + + + + - - - + + + @@ -7682,85 +2921,85 @@ typedef unsigned int GLhandleARB; - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + @@ -8413,14 +3652,14 @@ typedef unsigned int GLhandleARB; - - - + + + - - - + + + @@ -8438,14 +3677,14 @@ typedef unsigned int GLhandleARB; - - - + + + - - - + + + @@ -8841,9 +4080,9 @@ typedef unsigned int GLhandleARB; - - - + + + @@ -9135,8 +4374,8 @@ typedef unsigned int GLhandleARB; - - + + @@ -9148,7 +4387,7 @@ typedef unsigned int GLhandleARB; - + @@ -9337,7 +4576,7 @@ typedef unsigned int GLhandleARB; - + @@ -9410,16 +4649,16 @@ typedef unsigned int GLhandleARB; - - - + + + - - - + + + @@ -9427,13 +4666,13 @@ typedef unsigned int GLhandleARB; - - - + + + - - + + @@ -9454,14 +4693,14 @@ typedef unsigned int GLhandleARB; - - - - - - - - + + + + + + + + @@ -9577,8 +4816,8 @@ typedef unsigned int GLhandleARB; - - + + @@ -9630,9 +4869,9 @@ typedef unsigned int GLhandleARB; - - - + + + @@ -9698,7 +4937,7 @@ typedef unsigned int GLhandleARB; - + @@ -9709,7 +4948,7 @@ typedef unsigned int GLhandleARB; - + @@ -9722,17 +4961,17 @@ typedef unsigned int GLhandleARB; - - - - - - - - - - - + + + + + + + + + + + @@ -9768,10 +5007,10 @@ typedef unsigned int GLhandleARB; - - + + - + @@ -9785,54 +5024,54 @@ typedef unsigned int GLhandleARB; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -9872,8 +5111,8 @@ typedef unsigned int GLhandleARB; - - + + @@ -9882,14 +5121,14 @@ typedef unsigned int GLhandleARB; - - - - - - - - + + + + + + + + @@ -9995,7 +5234,7 @@ typedef unsigned int GLhandleARB; - + @@ -10206,18 +5445,18 @@ typedef unsigned int GLhandleARB; - - - - - - - - - - - - + + + + + + + + + + + + @@ -10332,18 +5571,20 @@ typedef unsigned int GLhandleARB; - + - - + + - + + + @@ -10359,18 +5600,18 @@ typedef unsigned int GLhandleARB; - - - - - - - - - - - - + + + + + + + + + + + + @@ -10388,13 +5629,13 @@ typedef unsigned int GLhandleARB; - - + + - + @@ -10606,7 +5847,7 @@ typedef unsigned int GLhandleARB; - + @@ -10977,7 +6218,7 @@ typedef unsigned int GLhandleARB; - + @@ -10985,31 +6226,31 @@ typedef unsigned int GLhandleARB; - + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + @@ -11365,85 +6606,85 @@ typedef unsigned int GLhandleARB; - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + @@ -11510,7 +6751,7 @@ typedef unsigned int GLhandleARB; - + @@ -11571,6 +6812,7 @@ typedef unsigned int GLhandleARB; + @@ -11598,7 +6840,13 @@ typedef unsigned int GLhandleARB; - + + + + + + + @@ -11627,7 +6875,8 @@ typedef unsigned int GLhandleARB; - + + @@ -11649,7 +6898,26 @@ typedef unsigned int GLhandleARB; - + + + + + + + + + + + + + + + + + + + + - - + + @@ -11741,17 +7009,17 @@ typedef unsigned int GLhandleARB; void glActiveProgramEXT - GLuint program + GLuint program void glActiveShaderProgram - GLuint pipeline - GLuint program + GLuint pipeline + GLuint program void glActiveShaderProgramEXT - GLuint pipeline - GLuint program + GLuint pipeline + GLuint program void glActiveStencilFaceEXT @@ -11771,7 +7039,7 @@ typedef unsigned int GLhandleARB; void glActiveVaryingNV - GLuint program + GLuint program const GLchar *name @@ -11851,21 +7119,21 @@ typedef unsigned int GLhandleARB; GLboolean glAreProgramsResidentNV GLsizei n - const GLuint *programs + const GLuint *programs GLboolean *residences GLboolean glAreTexturesResident GLsizei n - const GLuint *textures + const GLuint *textures GLboolean *residences GLboolean glAreTexturesResidentEXT GLsizei n - const GLuint *textures + const GLuint *textures GLboolean *residences @@ -11884,7 +7152,7 @@ typedef unsigned int GLhandleARB; GLint size GLenum type GLsizei stride - GLuint buffer + GLuint buffer GLuint offset @@ -11894,8 +7162,8 @@ typedef unsigned int GLhandleARB; const GLuint64 *fenceValueArray GLuint readGpu GLbitfield writeGpuMask - GLuint readBuffer - GLuint writeBuffer + GLuint readBuffer + GLuint writeBuffer GLintptr readOffset GLintptr writeOffset GLsizeiptr size @@ -11941,8 +7209,8 @@ typedef unsigned int GLhandleARB; void glAttachShader - GLuint program - GLuint shader + GLuint program + GLuint shader void glBegin @@ -11983,25 +7251,25 @@ typedef unsigned int GLhandleARB; void glBeginQuery GLenum target - GLuint id + GLuint id void glBeginQueryARB - GLenum target - GLuint id + GLenum target + GLuint id void glBeginQueryEXT GLenum target - GLuint id + GLuint id void glBeginQueryIndexed GLenum target GLuint index - GLuint id + GLuint id void glBeginTransformFeedback @@ -12027,7 +7295,7 @@ typedef unsigned int GLhandleARB; void glBindAttribLocation - GLuint program + GLuint program GLuint index const GLchar *name @@ -12041,47 +7309,47 @@ typedef unsigned int GLhandleARB; void glBindBuffer GLenum target - GLuint buffer + GLuint buffer void glBindBufferARB GLenum target - GLuint buffer + GLuint buffer void glBindBufferBase GLenum target GLuint index - GLuint buffer + GLuint buffer void glBindBufferBaseEXT GLenum target GLuint index - GLuint buffer + GLuint buffer void glBindBufferBaseNV GLenum target GLuint index - GLuint buffer + GLuint buffer void glBindBufferOffsetEXT GLenum target GLuint index - GLuint buffer + GLuint buffer GLintptr offset void glBindBufferOffsetNV GLenum target GLuint index - GLuint buffer + GLuint buffer GLintptr offset @@ -12089,7 +7357,7 @@ typedef unsigned int GLhandleARB; void glBindBufferRange GLenum target GLuint index - GLuint buffer + GLuint buffer GLintptr offset GLsizeiptr size @@ -12098,7 +7366,7 @@ typedef unsigned int GLhandleARB; void glBindBufferRangeEXT GLenum target GLuint index - GLuint buffer + GLuint buffer GLintptr offset GLsizeiptr size @@ -12107,7 +7375,7 @@ typedef unsigned int GLhandleARB; void glBindBufferRangeNV GLenum target GLuint index - GLuint buffer + GLuint buffer GLintptr offset GLsizeiptr size @@ -12117,40 +7385,40 @@ typedef unsigned int GLhandleARB; GLenum target GLuint first GLsizei count - const GLuint *buffers + const GLuint *buffers void glBindBuffersRange GLenum target GLuint first GLsizei count - const GLuint *buffers + const GLuint *buffers const GLintptr *offsets const GLsizeiptr *sizes void glBindFragDataLocation - GLuint program + GLuint program GLuint color const GLchar *name void glBindFragDataLocationEXT - GLuint program + GLuint program GLuint color const GLchar *name void glBindFragDataLocationIndexed - GLuint program + GLuint program GLuint colorNumber GLuint index const GLchar *name void glBindFragDataLocationIndexedEXT - GLuint program + GLuint program GLuint colorNumber GLuint index const GLchar *name @@ -12163,24 +7431,24 @@ typedef unsigned int GLhandleARB; void glBindFramebuffer GLenum target - GLuint framebuffer + GLuint framebuffer void glBindFramebufferEXT GLenum target - GLuint framebuffer + GLuint framebuffer void glBindFramebufferOES GLenum target - GLuint framebuffer + GLuint framebuffer void glBindImageTexture GLuint unit - GLuint texture + GLuint texture GLint level GLboolean layered GLint layer @@ -12190,7 +7458,7 @@ typedef unsigned int GLhandleARB; void glBindImageTextureEXT GLuint index - GLuint texture + GLuint texture GLint level GLboolean layered GLint layer @@ -12201,7 +7469,7 @@ typedef unsigned int GLhandleARB; void glBindImageTextures GLuint first GLsizei count - const GLuint *textures + const GLuint *textures GLuint glBindLightParameterEXT @@ -12217,7 +7485,7 @@ typedef unsigned int GLhandleARB; void glBindMultiTextureEXT GLenum texunit GLenum target - GLuint texture + GLuint texture GLuint glBindParameterEXT @@ -12226,55 +7494,55 @@ typedef unsigned int GLhandleARB; void glBindProgramARB GLenum target - GLuint program + GLuint program void glBindProgramNV GLenum target - GLuint id + GLuint id void glBindProgramPipeline - GLuint pipeline + GLuint pipeline void glBindProgramPipelineEXT - GLuint pipeline + GLuint pipeline void glBindRenderbuffer GLenum target - GLuint renderbuffer + GLuint renderbuffer void glBindRenderbufferEXT GLenum target - GLuint renderbuffer + GLuint renderbuffer void glBindRenderbufferOES GLenum target - GLuint renderbuffer + GLuint renderbuffer void glBindSampler GLuint unit - GLuint sampler + GLuint sampler void glBindSamplers GLuint first GLsizei count - const GLuint *samplers + const GLuint *samplers void glBindShadingRateImageNV - GLuint texture + GLuint texture GLuint glBindTexGenParameterEXT @@ -12285,20 +7553,20 @@ typedef unsigned int GLhandleARB; void glBindTexture GLenum target - GLuint texture + GLuint texture void glBindTextureEXT GLenum target - GLuint texture + GLuint texture void glBindTextureUnit GLuint unit - GLuint texture + GLuint texture GLuint glBindTextureUnitParameterEXT @@ -12309,36 +7577,36 @@ typedef unsigned int GLhandleARB; void glBindTextures GLuint first GLsizei count - const GLuint *textures + const GLuint *textures void glBindTransformFeedback GLenum target - GLuint id + GLuint id void glBindTransformFeedbackNV GLenum target - GLuint id + GLuint id void glBindVertexArray - GLuint array + GLuint array void glBindVertexArrayAPPLE - GLuint array + GLuint array void glBindVertexArrayOES - GLuint array + GLuint array void glBindVertexBuffer GLuint bindingindex - GLuint buffer + GLuint buffer GLintptr offset GLsizei stride @@ -12346,7 +7614,7 @@ typedef unsigned int GLhandleARB; void glBindVertexBuffers GLuint first GLsizei count - const GLuint *buffers + const GLuint *buffers const GLintptr *offsets const GLsizei *strides @@ -12367,7 +7635,7 @@ typedef unsigned int GLhandleARB; GLuint stream GLenum frame_region GLenum target - GLuint texture + GLuint texture void glBinormal3bEXT @@ -12763,8 +8031,8 @@ typedef unsigned int GLhandleARB; void glBlitNamedFramebuffer - GLuint readFramebuffer - GLuint drawFramebuffer + GLuint readFramebuffer + GLuint drawFramebuffer GLint srcX0 GLint srcY0 GLint srcX1 @@ -12811,6 +8079,15 @@ typedef unsigned int GLhandleARB; GLsizeiptr size GLboolean commit + + void glBufferPageCommitmentMemNV + GLenum target + GLintptr offset + GLsizeiptr size + GLuint memory + GLuint64 memOffset + GLboolean commit + void glBufferParameteriAPPLE GLenum target @@ -12895,12 +8172,12 @@ typedef unsigned int GLhandleARB; GLenum glCheckNamedFramebufferStatus - GLuint framebuffer + GLuint framebuffer GLenum target GLenum glCheckNamedFramebufferStatusEXT - GLuint framebuffer + GLuint framebuffer GLenum target @@ -12939,7 +8216,7 @@ typedef unsigned int GLhandleARB; void glClearBufferData GLenum target - GLenum internalformat + GLenum internalformat GLenum format GLenum type const void *data @@ -12947,7 +8224,7 @@ typedef unsigned int GLhandleARB; void glClearBufferSubData GLenum target - GLenum internalformat + GLenum internalformat GLintptr offset GLsizeiptr size GLenum format @@ -13056,24 +8333,24 @@ typedef unsigned int GLhandleARB; void glClearNamedBufferData - GLuint buffer - GLenum internalformat + GLuint buffer + GLenum internalformat GLenum format GLenum type const void *data void glClearNamedBufferDataEXT - GLuint buffer - GLenum internalformat + GLuint buffer + GLenum internalformat GLenum format GLenum type const void *data void glClearNamedBufferSubData - GLuint buffer - GLenum internalformat + GLuint buffer + GLenum internalformat GLintptr offset GLsizeiptr size GLenum format @@ -13082,8 +8359,8 @@ typedef unsigned int GLhandleARB; void glClearNamedBufferSubDataEXT - GLuint buffer - GLenum internalformat + GLuint buffer + GLenum internalformat GLsizeiptr offset GLsizeiptr size GLenum format @@ -13092,7 +8369,7 @@ typedef unsigned int GLhandleARB; void glClearNamedFramebufferfi - GLuint framebuffer + GLuint framebuffer GLenum buffer GLint drawbuffer GLfloat depth @@ -13100,21 +8377,21 @@ typedef unsigned int GLhandleARB; void glClearNamedFramebufferfv - GLuint framebuffer + GLuint framebuffer GLenum buffer GLint drawbuffer const GLfloat *value void glClearNamedFramebufferiv - GLuint framebuffer + GLuint framebuffer GLenum buffer GLint drawbuffer const GLint *value void glClearNamedFramebufferuiv - GLuint framebuffer + GLuint framebuffer GLenum buffer GLint drawbuffer const GLuint *value @@ -13132,7 +8409,7 @@ typedef unsigned int GLhandleARB; void glClearTexImage - GLuint texture + GLuint texture GLint level GLenum format GLenum type @@ -13140,7 +8417,7 @@ typedef unsigned int GLhandleARB; void glClearTexImageEXT - GLuint texture + GLuint texture GLint level GLenum format GLenum type @@ -13149,7 +8426,7 @@ typedef unsigned int GLhandleARB; void glClearTexSubImage - GLuint texture + GLuint texture GLint level GLint xoffset GLint yoffset @@ -13163,7 +8440,7 @@ typedef unsigned int GLhandleARB; void glClearTexSubImageEXT - GLuint texture + GLuint texture GLint level GLint xoffset GLint yoffset @@ -13201,13 +8478,13 @@ typedef unsigned int GLhandleARB; GLenum glClientWaitSync - GLsync sync + GLsync sync GLbitfield flags GLuint64 timeout GLenum glClientWaitSyncAPPLE - GLsync sync + GLsync sync GLbitfield flags GLuint64 timeout @@ -13867,7 +9144,7 @@ typedef unsigned int GLhandleARB; void glCompileShader - GLuint shader + GLuint shader void glCompileShaderARB @@ -13876,7 +9153,7 @@ typedef unsigned int GLhandleARB; void glCompileShaderIncludeARB - GLuint shader + GLuint shader GLsizei count const GLchar *const*path const GLint *length @@ -13924,7 +9201,7 @@ typedef unsigned int GLhandleARB; GLint level GLint xoffset GLsizei width - GLenum format + GLenum format GLsizei imageSize const void *bits @@ -13937,7 +9214,7 @@ typedef unsigned int GLhandleARB; GLint yoffset GLsizei width GLsizei height - GLenum format + GLenum format GLsizei imageSize const void *bits @@ -13952,7 +9229,7 @@ typedef unsigned int GLhandleARB; GLsizei width GLsizei height GLsizei depth - GLenum format + GLenum format GLsizei imageSize const void *bits @@ -14052,7 +9329,7 @@ typedef unsigned int GLhandleARB; GLint level GLint xoffset GLsizei width - GLenum format + GLenum format GLsizei imageSize const void *data @@ -14064,7 +9341,7 @@ typedef unsigned int GLhandleARB; GLint level GLint xoffset GLsizei width - GLenum format + GLenum format GLsizei imageSize const void *data @@ -14078,7 +9355,7 @@ typedef unsigned int GLhandleARB; GLint yoffset GLsizei width GLsizei height - GLenum format + GLenum format GLsizei imageSize const void *data @@ -14092,7 +9369,7 @@ typedef unsigned int GLhandleARB; GLint yoffset GLsizei width GLsizei height - GLenum format + GLenum format GLsizei imageSize const void *data @@ -14108,7 +9385,7 @@ typedef unsigned int GLhandleARB; GLsizei width GLsizei height GLsizei depth - GLenum format + GLenum format GLsizei imageSize const void *data @@ -14124,7 +9401,7 @@ typedef unsigned int GLhandleARB; GLsizei width GLsizei height GLsizei depth - GLenum format + GLenum format GLsizei imageSize const void *data @@ -14140,13 +9417,13 @@ typedef unsigned int GLhandleARB; GLsizei width GLsizei height GLsizei depth - GLenum format + GLenum format GLsizei imageSize const void *data void glCompressedTextureImage1DEXT - GLuint texture + GLuint texture GLenum target GLint level GLenum internalformat @@ -14157,7 +9434,7 @@ typedef unsigned int GLhandleARB; void glCompressedTextureImage2DEXT - GLuint texture + GLuint texture GLenum target GLint level GLenum internalformat @@ -14169,7 +9446,7 @@ typedef unsigned int GLhandleARB; void glCompressedTextureImage3DEXT - GLuint texture + GLuint texture GLenum target GLint level GLenum internalformat @@ -14182,53 +9459,53 @@ typedef unsigned int GLhandleARB; void glCompressedTextureSubImage1D - GLuint texture + GLuint texture GLint level GLint xoffset GLsizei width - GLenum format + GLenum format GLsizei imageSize const void *data void glCompressedTextureSubImage1DEXT - GLuint texture + GLuint texture GLenum target GLint level GLint xoffset GLsizei width - GLenum format + GLenum format GLsizei imageSize const void *bits void glCompressedTextureSubImage2D - GLuint texture + GLuint texture GLint level GLint xoffset GLint yoffset GLsizei width GLsizei height - GLenum format + GLenum format GLsizei imageSize const void *data void glCompressedTextureSubImage2DEXT - GLuint texture + GLuint texture GLenum target GLint level GLint xoffset GLint yoffset GLsizei width GLsizei height - GLenum format + GLenum format GLsizei imageSize const void *bits void glCompressedTextureSubImage3D - GLuint texture + GLuint texture GLint level GLint xoffset GLint yoffset @@ -14236,13 +9513,13 @@ typedef unsigned int GLhandleARB; GLsizei width GLsizei height GLsizei depth - GLenum format + GLenum format GLsizei imageSize const void *data void glCompressedTextureSubImage3DEXT - GLuint texture + GLuint texture GLenum target GLint level GLint xoffset @@ -14251,7 +9528,7 @@ typedef unsigned int GLhandleARB; GLsizei width GLsizei height GLsizei depth - GLenum format + GLenum format GLsizei imageSize const void *bits @@ -14613,8 +9890,8 @@ typedef unsigned int GLhandleARB; void glCopyNamedBufferSubData - GLuint readBuffer - GLuint writeBuffer + GLuint readBuffer + GLuint writeBuffer GLintptr readOffset GLintptr writeOffset GLsizeiptr size @@ -14768,7 +10045,7 @@ typedef unsigned int GLhandleARB; void glCopyTextureImage1DEXT - GLuint texture + GLuint texture GLenum target GLint level GLenum internalformat @@ -14779,7 +10056,7 @@ typedef unsigned int GLhandleARB; void glCopyTextureImage2DEXT - GLuint texture + GLuint texture GLenum target GLint level GLenum internalformat @@ -14798,7 +10075,7 @@ typedef unsigned int GLhandleARB; void glCopyTextureSubImage1D - GLuint texture + GLuint texture GLint level GLint xoffset GLint x @@ -14807,7 +10084,7 @@ typedef unsigned int GLhandleARB; void glCopyTextureSubImage1DEXT - GLuint texture + GLuint texture GLenum target GLint level GLint xoffset @@ -14817,7 +10094,7 @@ typedef unsigned int GLhandleARB; void glCopyTextureSubImage2D - GLuint texture + GLuint texture GLint level GLint xoffset GLint yoffset @@ -14828,7 +10105,7 @@ typedef unsigned int GLhandleARB; void glCopyTextureSubImage2DEXT - GLuint texture + GLuint texture GLenum target GLint level GLint xoffset @@ -14840,7 +10117,7 @@ typedef unsigned int GLhandleARB; void glCopyTextureSubImage3D - GLuint texture + GLuint texture GLint level GLint xoffset GLint yoffset @@ -14852,7 +10129,7 @@ typedef unsigned int GLhandleARB; void glCopyTextureSubImage3DEXT - GLuint texture + GLuint texture GLenum target GLint level GLint xoffset @@ -14913,7 +10190,7 @@ typedef unsigned int GLhandleARB; void glCreateBuffers GLsizei n - GLuint *buffers + GLuint *buffers void glCreateCommandListsNV @@ -14923,7 +10200,7 @@ typedef unsigned int GLhandleARB; void glCreateFramebuffers GLsizei n - GLuint *framebuffers + GLuint *framebuffers void glCreateMemoryObjectsEXT @@ -14936,7 +10213,7 @@ typedef unsigned int GLhandleARB; GLuint *queryHandle - GLuint glCreateProgram + GLuint glCreateProgram GLhandleARB glCreateProgramObjectARB @@ -14945,7 +10222,7 @@ typedef unsigned int GLhandleARB; void glCreateProgramPipelines GLsizei n - GLuint *pipelines + GLuint *pipelines GLuint glCreateProgressFenceNVX @@ -14954,20 +10231,25 @@ typedef unsigned int GLhandleARB; void glCreateQueries GLenum target GLsizei n - GLuint *ids + GLuint *ids void glCreateRenderbuffers GLsizei n - GLuint *renderbuffers + GLuint *renderbuffers void glCreateSamplers GLsizei n - GLuint *samplers + GLuint *samplers + + + void glCreateSemaphoresNV + GLsizei n + GLuint *semaphores - GLuint glCreateShader + GLuint glCreateShader GLenum type @@ -14976,18 +10258,18 @@ typedef unsigned int GLhandleARB; - GLuint glCreateShaderProgramEXT + GLuint glCreateShaderProgramEXT GLenum type const GLchar *string - GLuint glCreateShaderProgramv + GLuint glCreateShaderProgramv GLenum type GLsizei count const GLchar *const*strings - GLuint glCreateShaderProgramvEXT + GLuint glCreateShaderProgramvEXT GLenum type GLsizei count const GLchar **strings @@ -14998,7 +10280,7 @@ typedef unsigned int GLhandleARB; GLuint *states - GLsync glCreateSyncFromCLeventARB + GLsync glCreateSyncFromCLeventARB struct _cl_context *context struct _cl_event *event GLbitfield flags @@ -15007,17 +10289,17 @@ typedef unsigned int GLhandleARB; void glCreateTextures GLenum target GLsizei n - GLuint *textures + GLuint *textures void glCreateTransformFeedbacks GLsizei n - GLuint *ids + GLuint *ids void glCreateVertexArrays GLsizei n - GLuint *arrays + GLuint *arrays void glCullFace @@ -15188,12 +10470,12 @@ typedef unsigned int GLhandleARB; void glDeleteBuffers GLsizei n - const GLuint *buffers + const GLuint *buffers void glDeleteBuffersARB GLsizei n - const GLuint *buffers + const GLuint *buffers @@ -15219,24 +10501,24 @@ typedef unsigned int GLhandleARB; void glDeleteFramebuffers GLsizei n - const GLuint *framebuffers + const GLuint *framebuffers void glDeleteFramebuffersEXT GLsizei n - const GLuint *framebuffers + const GLuint *framebuffers void glDeleteFramebuffersOES GLsizei n - const GLuint *framebuffers + const GLuint *framebuffers void glDeleteLists - GLuint list + GLuint list GLsizei range @@ -15281,48 +10563,48 @@ typedef unsigned int GLhandleARB; void glDeleteProgram - GLuint program + GLuint program void glDeleteProgramPipelines GLsizei n - const GLuint *pipelines + const GLuint *pipelines void glDeleteProgramPipelinesEXT GLsizei n - const GLuint *pipelines + const GLuint *pipelines void glDeleteProgramsARB GLsizei n - const GLuint *programs + const GLuint *programs void glDeleteProgramsNV GLsizei n - const GLuint *programs + const GLuint *programs void glDeleteQueries GLsizei n - const GLuint *ids + const GLuint *ids void glDeleteQueriesARB GLsizei n - const GLuint *ids + const GLuint *ids void glDeleteQueriesEXT GLsizei n - const GLuint *ids + const GLuint *ids void glDeleteQueryResourceTagNV @@ -15332,25 +10614,25 @@ typedef unsigned int GLhandleARB; void glDeleteRenderbuffers GLsizei n - const GLuint *renderbuffers + const GLuint *renderbuffers void glDeleteRenderbuffersEXT GLsizei n - const GLuint *renderbuffers + const GLuint *renderbuffers void glDeleteRenderbuffersOES GLsizei n - const GLuint *renderbuffers + const GLuint *renderbuffers void glDeleteSamplers GLsizei count - const GLuint *samplers + const GLuint *samplers void glDeleteSemaphoresEXT @@ -15359,7 +10641,7 @@ typedef unsigned int GLhandleARB; void glDeleteShader - GLuint shader + GLuint shader @@ -15369,52 +10651,52 @@ typedef unsigned int GLhandleARB; void glDeleteSync - GLsync sync + GLsync sync void glDeleteSyncAPPLE - GLsync sync + GLsync sync void glDeleteTextures GLsizei n - const GLuint *textures + const GLuint *textures void glDeleteTexturesEXT GLsizei n - const GLuint *textures + const GLuint *textures void glDeleteTransformFeedbacks GLsizei n - const GLuint *ids + const GLuint *ids void glDeleteTransformFeedbacksNV GLsizei n - const GLuint *ids + const GLuint *ids void glDeleteVertexArrays GLsizei n - const GLuint *arrays + const GLuint *arrays void glDeleteVertexArraysAPPLE GLsizei n - const GLuint *arrays + const GLuint *arrays void glDeleteVertexArraysOES GLsizei n - const GLuint *arrays + const GLuint *arrays @@ -15533,8 +10815,8 @@ typedef unsigned int GLhandleARB; void glDetachShader - GLuint program - GLuint shader + GLuint program + GLuint shader void glDetailTexFuncSGIS @@ -15579,17 +10861,17 @@ typedef unsigned int GLhandleARB; void glDisableVertexArrayAttrib - GLuint vaobj + GLuint vaobj GLuint index void glDisableVertexArrayAttribEXT - GLuint vaobj + GLuint vaobj GLuint index void glDisableVertexArrayEXT - GLuint vaobj + GLuint vaobj GLenum array @@ -15796,7 +11078,7 @@ typedef unsigned int GLhandleARB; void glDrawCommandsStatesNV - GLuint buffer + GLuint buffer const GLintptr *indirects const GLsizei *sizes const GLuint *states @@ -16099,8 +11381,8 @@ typedef unsigned int GLhandleARB; void glDrawTextureNV - GLuint texture - GLuint sampler + GLuint texture + GLuint sampler GLfloat x0 GLfloat y0 GLfloat x1 @@ -16127,43 +11409,43 @@ typedef unsigned int GLhandleARB; void glDrawTransformFeedback GLenum mode - GLuint id + GLuint id void glDrawTransformFeedbackEXT GLenum mode - GLuint id + GLuint id void glDrawTransformFeedbackInstanced GLenum mode - GLuint id + GLuint id GLsizei instancecount void glDrawTransformFeedbackInstancedEXT GLenum mode - GLuint id + GLuint id GLsizei instancecount void glDrawTransformFeedbackNV GLenum mode - GLuint id + GLuint id void glDrawTransformFeedbackStream GLenum mode - GLuint id + GLuint id GLuint stream void glDrawTransformFeedbackStreamInstanced GLenum mode - GLuint id + GLuint id GLuint stream GLsizei instancecount @@ -16185,7 +11467,7 @@ typedef unsigned int GLhandleARB; void glEGLImageTargetTextureStorageEXT - GLuint texture + GLuint texture GLeglImageOES image const GLint* attrib_list @@ -16266,17 +11548,17 @@ typedef unsigned int GLhandleARB; void glEnableVertexArrayAttrib - GLuint vaobj + GLuint vaobj GLuint index void glEnableVertexArrayAttribEXT - GLuint vaobj + GLuint vaobj GLuint index void glEnableVertexArrayEXT - GLuint vaobj + GLuint vaobj GLenum array @@ -16496,48 +11778,48 @@ typedef unsigned int GLhandleARB; void glExtGetBufferPointervQCOM GLenum target - void **params + void **params void glExtGetBuffersQCOM - GLuint *buffers + GLuint *buffers GLint maxBuffers GLint *numBuffers void glExtGetFramebuffersQCOM - GLuint *framebuffers + GLuint *framebuffers GLint maxFramebuffers GLint *numFramebuffers void glExtGetProgramBinarySourceQCOM - GLuint program + GLuint program GLenum shadertype - GLchar *source + GLchar *source GLint *length void glExtGetProgramsQCOM - GLuint *programs + GLuint *programs GLint maxPrograms GLint *numPrograms void glExtGetRenderbuffersQCOM - GLuint *renderbuffers + GLuint *renderbuffers GLint maxRenderbuffers GLint *numRenderbuffers void glExtGetShadersQCOM - GLuint *shaders + GLuint *shaders GLint maxShaders GLint *numShaders void glExtGetTexLevelParameterivQCOM - GLuint texture + GLuint texture GLenum face GLint level GLenum pname @@ -16559,13 +11841,13 @@ typedef unsigned int GLhandleARB; void glExtGetTexturesQCOM - GLuint *textures + GLuint *textures GLint maxTextures GLint *numTextures GLboolean glExtIsProgramBinaryQCOM - GLuint program + GLuint program void glExtTexObjectStateOverrideiQCOM @@ -16593,14 +11875,14 @@ typedef unsigned int GLhandleARB; const GLfixed *buffer - GLsync glFenceSync + GLsync glFenceSync GLenum condition - GLbitfield flags + GLbitfield flags - GLsync glFenceSyncAPPLE + GLsync glFenceSyncAPPLE GLenum condition - GLbitfield flags + GLbitfield flags @@ -16662,13 +11944,13 @@ typedef unsigned int GLhandleARB; void glFlushMappedNamedBufferRange - GLuint buffer + GLuint buffer GLintptr offset GLsizeiptr length void glFlushMappedNamedBufferRangeEXT - GLuint buffer + GLuint buffer GLintptr offset GLsizeiptr length @@ -16908,12 +12190,12 @@ typedef unsigned int GLhandleARB; void glFramebufferDrawBufferEXT - GLuint framebuffer + GLuint framebuffer GLenum mode void glFramebufferDrawBuffersEXT - GLuint framebuffer + GLuint framebuffer GLsizei n const GLenum *bufs @@ -16925,7 +12207,7 @@ typedef unsigned int GLhandleARB; void glFramebufferFoveationConfigQCOM - GLuint framebuffer + GLuint framebuffer GLuint numLayers GLuint focalPointsPerLayer GLuint requestedFeatures @@ -16933,7 +12215,7 @@ typedef unsigned int GLhandleARB; void glFramebufferFoveationParametersQCOM - GLuint framebuffer + GLuint framebuffer GLuint layer GLuint focalPoint GLfloat focalX @@ -16955,7 +12237,7 @@ typedef unsigned int GLhandleARB; void glFramebufferReadBufferEXT - GLuint framebuffer + GLuint framebuffer GLenum mode @@ -16963,7 +12245,7 @@ typedef unsigned int GLhandleARB; GLenum target GLenum attachment GLenum renderbuffertarget - GLuint renderbuffer + GLuint renderbuffer @@ -16971,7 +12253,7 @@ typedef unsigned int GLhandleARB; GLenum target GLenum attachment GLenum renderbuffertarget - GLuint renderbuffer + GLuint renderbuffer @@ -16980,7 +12262,7 @@ typedef unsigned int GLhandleARB; GLenum target GLenum attachment GLenum renderbuffertarget - GLuint renderbuffer + GLuint renderbuffer void glFramebufferSampleLocationsfvARB @@ -17007,7 +12289,7 @@ typedef unsigned int GLhandleARB; void glFramebufferTexture GLenum target GLenum attachment - GLuint texture + GLuint texture GLint level @@ -17015,7 +12297,7 @@ typedef unsigned int GLhandleARB; GLenum target GLenum attachment GLenum textarget - GLuint texture + GLuint texture GLint level @@ -17024,7 +12306,7 @@ typedef unsigned int GLhandleARB; GLenum target GLenum attachment GLenum textarget - GLuint texture + GLuint texture GLint level @@ -17034,7 +12316,7 @@ typedef unsigned int GLhandleARB; GLenum target GLenum attachment GLenum textarget - GLuint texture + GLuint texture GLint level @@ -17043,7 +12325,7 @@ typedef unsigned int GLhandleARB; GLenum target GLenum attachment GLenum textarget - GLuint texture + GLuint texture GLint level @@ -17053,7 +12335,7 @@ typedef unsigned int GLhandleARB; GLenum target GLenum attachment GLenum textarget - GLuint texture + GLuint texture GLint level GLint xscale GLint yscale @@ -17063,7 +12345,7 @@ typedef unsigned int GLhandleARB; GLenum target GLenum attachment GLenum textarget - GLuint texture + GLuint texture GLint level GLsizei samples @@ -17072,7 +12354,7 @@ typedef unsigned int GLhandleARB; GLenum target GLenum attachment GLenum textarget - GLuint texture + GLuint texture GLint level GLsizei samples @@ -17081,7 +12363,7 @@ typedef unsigned int GLhandleARB; GLenum target GLenum attachment GLenum textarget - GLuint texture + GLuint texture GLint level @@ -17089,7 +12371,7 @@ typedef unsigned int GLhandleARB; GLenum target GLenum attachment GLenum textarget - GLuint texture + GLuint texture GLint level GLint zoffset @@ -17099,7 +12381,7 @@ typedef unsigned int GLhandleARB; GLenum target GLenum attachment GLenum textarget - GLuint texture + GLuint texture GLint level GLint zoffset @@ -17110,7 +12392,7 @@ typedef unsigned int GLhandleARB; GLenum target GLenum attachment GLenum textarget - GLuint texture + GLuint texture GLint level GLint zoffset @@ -17118,7 +12400,7 @@ typedef unsigned int GLhandleARB; void glFramebufferTextureARB GLenum target GLenum attachment - GLuint texture + GLuint texture GLint level @@ -17126,7 +12408,7 @@ typedef unsigned int GLhandleARB; void glFramebufferTextureEXT GLenum target GLenum attachment - GLuint texture + GLuint texture GLint level @@ -17134,7 +12416,7 @@ typedef unsigned int GLhandleARB; void glFramebufferTextureFaceARB GLenum target GLenum attachment - GLuint texture + GLuint texture GLint level GLenum face @@ -17142,7 +12424,7 @@ typedef unsigned int GLhandleARB; void glFramebufferTextureFaceEXT GLenum target GLenum attachment - GLuint texture + GLuint texture GLint level GLenum face @@ -17151,7 +12433,7 @@ typedef unsigned int GLhandleARB; void glFramebufferTextureLayer GLenum target GLenum attachment - GLuint texture + GLuint texture GLint level GLint layer @@ -17160,7 +12442,7 @@ typedef unsigned int GLhandleARB; void glFramebufferTextureLayerARB GLenum target GLenum attachment - GLuint texture + GLuint texture GLint level GLint layer @@ -17169,7 +12451,7 @@ typedef unsigned int GLhandleARB; void glFramebufferTextureLayerEXT GLenum target GLenum attachment - GLuint texture + GLuint texture GLint level GLint layer @@ -17178,7 +12460,7 @@ typedef unsigned int GLhandleARB; void glFramebufferTextureLayerDownsampleIMG GLenum target GLenum attachment - GLuint texture + GLuint texture GLint level GLint layer GLint xscale @@ -17188,7 +12470,7 @@ typedef unsigned int GLhandleARB; void glFramebufferTextureMultisampleMultiviewOVR GLenum target GLenum attachment - GLuint texture + GLuint texture GLint level GLsizei samples GLint baseViewIndex @@ -17198,7 +12480,7 @@ typedef unsigned int GLhandleARB; void glFramebufferTextureMultiviewOVR GLenum target GLenum attachment - GLuint texture + GLuint texture GLint level GLint baseViewIndex GLsizei numViews @@ -17207,13 +12489,13 @@ typedef unsigned int GLhandleARB; void glFramebufferTextureOES GLenum target GLenum attachment - GLuint texture + GLuint texture GLint level void glFreeObjectBufferATI - GLuint buffer + GLuint buffer void glFrontFace @@ -17274,12 +12556,12 @@ typedef unsigned int GLhandleARB; void glGenBuffers GLsizei n - GLuint *buffers + GLuint *buffers void glGenBuffersARB GLsizei n - GLuint *buffers + GLuint *buffers @@ -17300,23 +12582,23 @@ typedef unsigned int GLhandleARB; void glGenFramebuffers GLsizei n - GLuint *framebuffers + GLuint *framebuffers void glGenFramebuffersEXT GLsizei n - GLuint *framebuffers + GLuint *framebuffers void glGenFramebuffersOES GLsizei n - GLuint *framebuffers + GLuint *framebuffers - GLuint glGenLists + GLuint glGenLists GLsizei range @@ -17343,42 +12625,42 @@ typedef unsigned int GLhandleARB; void glGenProgramPipelines GLsizei n - GLuint *pipelines + GLuint *pipelines void glGenProgramPipelinesEXT GLsizei n - GLuint *pipelines + GLuint *pipelines void glGenProgramsARB GLsizei n - GLuint *programs + GLuint *programs void glGenProgramsNV GLsizei n - GLuint *programs + GLuint *programs void glGenQueries GLsizei n - GLuint *ids + GLuint *ids void glGenQueriesARB GLsizei n - GLuint *ids + GLuint *ids void glGenQueriesEXT GLsizei n - GLuint *ids + GLuint *ids void glGenQueryResourceTagNV @@ -17388,25 +12670,25 @@ typedef unsigned int GLhandleARB; void glGenRenderbuffers GLsizei n - GLuint *renderbuffers + GLuint *renderbuffers void glGenRenderbuffersEXT GLsizei n - GLuint *renderbuffers + GLuint *renderbuffers void glGenRenderbuffersOES GLsizei n - GLuint *renderbuffers + GLuint *renderbuffers void glGenSamplers GLsizei count - GLuint *samplers + GLuint *samplers void glGenSemaphoresEXT @@ -17423,42 +12705,42 @@ typedef unsigned int GLhandleARB; void glGenTextures GLsizei n - GLuint *textures + GLuint *textures void glGenTexturesEXT GLsizei n - GLuint *textures + GLuint *textures void glGenTransformFeedbacks GLsizei n - GLuint *ids + GLuint *ids void glGenTransformFeedbacksNV GLsizei n - GLuint *ids + GLuint *ids void glGenVertexArrays GLsizei n - GLuint *arrays + GLuint *arrays void glGenVertexArraysAPPLE GLsizei n - GLuint *arrays + GLuint *arrays void glGenVertexArraysOES GLsizei n - GLuint *arrays + GLuint *arrays @@ -17487,23 +12769,23 @@ typedef unsigned int GLhandleARB; void glGenerateTextureMipmap - GLuint texture + GLuint texture void glGenerateTextureMipmapEXT - GLuint texture + GLuint texture GLenum target void glGetActiveAtomicCounterBufferiv - GLuint program + GLuint program GLuint bufferIndex GLenum pname GLint *params void glGetActiveAttrib - GLuint program + GLuint program GLuint index GLsizei bufSize GLsizei *length @@ -17524,7 +12806,7 @@ typedef unsigned int GLhandleARB; void glGetActiveSubroutineName - GLuint program + GLuint program GLenum shadertype GLuint index GLsizei bufSize @@ -17533,7 +12815,7 @@ typedef unsigned int GLhandleARB; void glGetActiveSubroutineUniformName - GLuint program + GLuint program GLenum shadertype GLuint index GLsizei bufSize @@ -17542,7 +12824,7 @@ typedef unsigned int GLhandleARB; void glGetActiveSubroutineUniformiv - GLuint program + GLuint program GLenum shadertype GLuint index GLenum pname @@ -17550,7 +12832,7 @@ typedef unsigned int GLhandleARB; void glGetActiveUniform - GLuint program + GLuint program GLuint index GLsizei bufSize GLsizei *length @@ -17571,7 +12853,7 @@ typedef unsigned int GLhandleARB; void glGetActiveUniformBlockName - GLuint program + GLuint program GLuint uniformBlockIndex GLsizei bufSize GLsizei *length @@ -17580,7 +12862,7 @@ typedef unsigned int GLhandleARB; void glGetActiveUniformBlockiv - GLuint program + GLuint program GLuint uniformBlockIndex GLenum pname GLint *params @@ -17588,7 +12870,7 @@ typedef unsigned int GLhandleARB; void glGetActiveUniformName - GLuint program + GLuint program GLuint uniformIndex GLsizei bufSize GLsizei *length @@ -17597,7 +12879,7 @@ typedef unsigned int GLhandleARB; void glGetActiveUniformsiv - GLuint program + GLuint program GLsizei uniformCount const GLuint *uniformIndices GLenum pname @@ -17606,13 +12888,13 @@ typedef unsigned int GLhandleARB; void glGetActiveVaryingNV - GLuint program + GLuint program GLuint index GLsizei bufSize GLsizei *length GLsizei *size GLenum *type - GLchar *name + GLchar *name void glGetArrayObjectfvATI @@ -17635,14 +12917,14 @@ typedef unsigned int GLhandleARB; void glGetAttachedShaders - GLuint program + GLuint program GLsizei maxCount GLsizei *count - GLuint *shaders + GLuint *shaders GLint glGetAttribLocation - GLuint program + GLuint program const GLchar *name @@ -17713,7 +12995,7 @@ typedef unsigned int GLhandleARB; void glGetBufferPointervOES GLenum target GLenum pname - void **params + void **params @@ -17895,21 +13177,21 @@ typedef unsigned int GLhandleARB; void glGetCompressedTextureImage - GLuint texture + GLuint texture GLint level GLsizei bufSize void *pixels void glGetCompressedTextureImageEXT - GLuint texture + GLuint texture GLenum target GLint lod void *img void glGetCompressedTextureSubImage - GLuint texture + GLuint texture GLint level GLint xoffset GLint yoffset @@ -18029,20 +13311,20 @@ typedef unsigned int GLhandleARB; void glGetDoubleIndexedvEXT - GLenum target + GLenum target GLuint index GLdouble *data void glGetDoublei_v - GLenum target + GLenum target GLuint index GLdouble *data void glGetDoublei_vEXT - GLenum pname + GLenum pname GLuint index GLdouble *params @@ -18107,34 +13389,34 @@ typedef unsigned int GLhandleARB; void glGetFloatIndexedvEXT - GLenum target + GLenum target GLuint index GLfloat *data void glGetFloati_v - GLenum target + GLenum target GLuint index GLfloat *data void glGetFloati_vEXT - GLenum pname + GLenum pname GLuint index GLfloat *params void glGetFloati_vNV - GLenum target + GLenum target GLuint index GLfloat *data void glGetFloati_vOES - GLenum target + GLenum target GLuint index GLfloat *data @@ -18151,23 +13433,23 @@ typedef unsigned int GLhandleARB; GLint glGetFragDataIndex - GLuint program + GLuint program const GLchar *name GLint glGetFragDataIndexEXT - GLuint program + GLuint program const GLchar *name GLint glGetFragDataLocation - GLuint program + GLuint program const GLchar *name GLint glGetFragDataLocationEXT - GLuint program + GLuint program const GLchar *name @@ -18236,7 +13518,7 @@ typedef unsigned int GLhandleARB; void glGetFramebufferParameterivEXT - GLuint framebuffer + GLuint framebuffer GLenum pname GLint *params @@ -18317,7 +13599,7 @@ typedef unsigned int GLhandleARB; GLuint64 glGetImageHandleARB - GLuint texture + GLuint texture GLint level GLboolean layered GLint layer @@ -18325,7 +13607,7 @@ typedef unsigned int GLhandleARB; GLuint64 glGetImageHandleNV - GLuint texture + GLuint texture GLint level GLboolean layered GLint layer @@ -18356,7 +13638,7 @@ typedef unsigned int GLhandleARB; void glGetInteger64i_v - GLenum target + GLenum target GLuint index GLint64 *data @@ -18379,7 +13661,7 @@ typedef unsigned int GLhandleARB; void glGetIntegerIndexedvEXT - GLenum target + GLenum target GLuint index GLint *data @@ -18387,13 +13669,13 @@ typedef unsigned int GLhandleARB; void glGetIntegeri_v - GLenum target + GLenum target GLuint index GLint *data void glGetIntegeri_vEXT - GLenum target + GLenum target GLuint index GLint *data @@ -18778,57 +14060,57 @@ typedef unsigned int GLhandleARB; void glGetNamedBufferParameteri64v - GLuint buffer + GLuint buffer GLenum pname GLint64 *params void glGetNamedBufferParameteriv - GLuint buffer + GLuint buffer GLenum pname GLint *params void glGetNamedBufferParameterivEXT - GLuint buffer + GLuint buffer GLenum pname GLint *params void glGetNamedBufferParameterui64vNV - GLuint buffer + GLuint buffer GLenum pname GLuint64EXT *params void glGetNamedBufferPointerv - GLuint buffer + GLuint buffer GLenum pname - void **params + void **params void glGetNamedBufferPointervEXT - GLuint buffer + GLuint buffer GLenum pname void **params void glGetNamedBufferSubData - GLuint buffer + GLuint buffer GLintptr offset GLsizeiptr size void *data void glGetNamedBufferSubDataEXT - GLuint buffer + GLuint buffer GLintptr offset GLsizeiptr size void *data void glGetNamedFramebufferParameterfvAMD - GLuint framebuffer + GLuint framebuffer GLenum pname GLuint numsamples GLuint pixelindex @@ -18837,81 +14119,81 @@ typedef unsigned int GLhandleARB; void glGetNamedFramebufferAttachmentParameteriv - GLuint framebuffer + GLuint framebuffer GLenum attachment GLenum pname GLint *params void glGetNamedFramebufferAttachmentParameterivEXT - GLuint framebuffer + GLuint framebuffer GLenum attachment GLenum pname GLint *params void glGetNamedFramebufferParameteriv - GLuint framebuffer + GLuint framebuffer GLenum pname GLint *param void glGetNamedFramebufferParameterivEXT - GLuint framebuffer + GLuint framebuffer GLenum pname GLint *params void glGetNamedProgramLocalParameterIivEXT - GLuint program + GLuint program GLenum target GLuint index GLint *params void glGetNamedProgramLocalParameterIuivEXT - GLuint program + GLuint program GLenum target GLuint index GLuint *params void glGetNamedProgramLocalParameterdvEXT - GLuint program + GLuint program GLenum target GLuint index GLdouble *params void glGetNamedProgramLocalParameterfvEXT - GLuint program + GLuint program GLenum target GLuint index GLfloat *params void glGetNamedProgramStringEXT - GLuint program + GLuint program GLenum target GLenum pname void *string void glGetNamedProgramivEXT - GLuint program + GLuint program GLenum target GLenum pname GLint *params void glGetNamedRenderbufferParameteriv - GLuint renderbuffer + GLuint renderbuffer GLenum pname GLint *params void glGetNamedRenderbufferParameterivEXT - GLuint renderbuffer + GLuint renderbuffer GLenum pname GLint *params @@ -18937,13 +14219,13 @@ typedef unsigned int GLhandleARB; void glGetObjectBufferfvATI - GLuint buffer + GLuint buffer GLenum pname GLfloat *params void glGetObjectBufferivATI - GLuint buffer + GLuint buffer GLenum pname GLint *params @@ -19110,9 +14392,9 @@ typedef unsigned int GLhandleARB; GLuint queryId GLuint counterId GLuint counterNameLength - GLchar *counterName + GLchar *counterName GLuint counterDescLength - GLchar *counterDesc + GLchar *counterDesc GLuint *counterOffset GLuint *counterDataSize GLuint *counterTypeEnum @@ -19124,7 +14406,7 @@ typedef unsigned int GLhandleARB; GLuint monitor GLenum pname GLsizei dataSize - GLuint *data + GLuint *data GLint *bytesWritten @@ -19180,7 +14462,7 @@ typedef unsigned int GLhandleARB; void glGetPerfQueryInfoINTEL GLuint queryId GLuint queryNameLength - GLchar *queryName + GLchar *queryName GLuint *dataSize GLuint *noCounters GLuint *noInstances @@ -19264,7 +14546,7 @@ typedef unsigned int GLhandleARB; void glGetPointervKHR GLenum pname - void **params + void **params @@ -19275,7 +14557,7 @@ typedef unsigned int GLhandleARB; void glGetProgramBinary - GLuint program + GLuint program GLsizei bufSize GLsizei *length GLenum *binaryFormat @@ -19283,7 +14565,7 @@ typedef unsigned int GLhandleARB; void glGetProgramBinaryOES - GLuint program + GLuint program GLsizei bufSize GLsizei *length GLenum *binaryFormat @@ -19316,7 +14598,7 @@ typedef unsigned int GLhandleARB; void glGetProgramInfoLog - GLuint program + GLuint program GLsizei bufSize GLsizei *length GLchar *infoLog @@ -19324,7 +14606,7 @@ typedef unsigned int GLhandleARB; void glGetProgramInterfaceiv - GLuint program + GLuint program GLenum programInterface GLenum pname GLint *params @@ -19355,7 +14637,7 @@ typedef unsigned int GLhandleARB; void glGetProgramNamedParameterdvNV - GLuint id + GLuint id GLsizei len const GLubyte *name GLdouble *params @@ -19363,7 +14645,7 @@ typedef unsigned int GLhandleARB; void glGetProgramNamedParameterfvNV - GLuint id + GLuint id GLsizei len const GLubyte *name GLfloat *params @@ -19387,57 +14669,57 @@ typedef unsigned int GLhandleARB; void glGetProgramPipelineInfoLog - GLuint pipeline + GLuint pipeline GLsizei bufSize GLsizei *length GLchar *infoLog void glGetProgramPipelineInfoLogEXT - GLuint pipeline + GLuint pipeline GLsizei bufSize GLsizei *length GLchar *infoLog void glGetProgramPipelineiv - GLuint pipeline + GLuint pipeline GLenum pname GLint *params void glGetProgramPipelineivEXT - GLuint pipeline + GLuint pipeline GLenum pname GLint *params GLuint glGetProgramResourceIndex - GLuint program + GLuint program GLenum programInterface const GLchar *name GLint glGetProgramResourceLocation - GLuint program + GLuint program GLenum programInterface const GLchar *name GLint glGetProgramResourceLocationIndex - GLuint program + GLuint program GLenum programInterface const GLchar *name GLint glGetProgramResourceLocationIndexEXT - GLuint program + GLuint program GLenum programInterface const GLchar *name void glGetProgramResourceName - GLuint program + GLuint program GLenum programInterface GLuint index GLsizei bufSize @@ -19446,7 +14728,7 @@ typedef unsigned int GLhandleARB; void glGetProgramResourcefvNV - GLuint program + GLuint program GLenum programInterface GLuint index GLsizei propCount @@ -19457,7 +14739,7 @@ typedef unsigned int GLhandleARB; void glGetProgramResourceiv - GLuint program + GLuint program GLenum programInterface GLuint index GLsizei propCount @@ -19468,7 +14750,7 @@ typedef unsigned int GLhandleARB; void glGetProgramStageiv - GLuint program + GLuint program GLenum shadertype GLenum pname GLint *values @@ -19481,7 +14763,7 @@ typedef unsigned int GLhandleARB; void glGetProgramStringNV - GLuint id + GLuint id GLenum pname GLubyte *program @@ -19494,7 +14776,7 @@ typedef unsigned int GLhandleARB; void glGetProgramiv - GLuint program + GLuint program GLenum pname GLint *params @@ -19507,36 +14789,36 @@ typedef unsigned int GLhandleARB; void glGetProgramivNV - GLuint id + GLuint id GLenum pname GLint *params void glGetQueryBufferObjecti64v - GLuint id - GLuint buffer + GLuint id + GLuint buffer GLenum pname GLintptr offset void glGetQueryBufferObjectiv - GLuint id - GLuint buffer + GLuint id + GLuint buffer GLenum pname GLintptr offset void glGetQueryBufferObjectui64v - GLuint id - GLuint buffer + GLuint id + GLuint buffer GLenum pname GLintptr offset void glGetQueryBufferObjectuiv - GLuint id - GLuint buffer + GLuint id + GLuint buffer GLenum pname GLintptr offset @@ -19549,13 +14831,13 @@ typedef unsigned int GLhandleARB; void glGetQueryObjecti64v - GLuint id + GLuint id GLenum pname GLint64 *params void glGetQueryObjecti64vEXT - GLuint id + GLuint id GLenum pname GLint64 *params @@ -19563,34 +14845,34 @@ typedef unsigned int GLhandleARB; void glGetQueryObjectiv - GLuint id + GLuint id GLenum pname GLint *params void glGetQueryObjectivARB - GLuint id + GLuint id GLenum pname GLint *params void glGetQueryObjectivEXT - GLuint id + GLuint id GLenum pname GLint *params void glGetQueryObjectui64v - GLuint id + GLuint id GLenum pname GLuint64 *params void glGetQueryObjectui64vEXT - GLuint id + GLuint id GLenum pname GLuint64 *params @@ -19598,21 +14880,21 @@ typedef unsigned int GLhandleARB; void glGetQueryObjectuiv - GLuint id + GLuint id GLenum pname GLuint *params void glGetQueryObjectuivARB - GLuint id + GLuint id GLenum pname GLuint *params void glGetQueryObjectuivEXT - GLuint id + GLuint id GLenum pname GLuint *params @@ -19659,56 +14941,62 @@ typedef unsigned int GLhandleARB; void glGetSamplerParameterIiv - GLuint sampler + GLuint sampler GLenum pname GLint *params void glGetSamplerParameterIivEXT - GLuint sampler + GLuint sampler GLenum pname GLint *params void glGetSamplerParameterIivOES - GLuint sampler + GLuint sampler GLenum pname GLint *params void glGetSamplerParameterIuiv - GLuint sampler + GLuint sampler GLenum pname GLuint *params void glGetSamplerParameterIuivEXT - GLuint sampler + GLuint sampler GLenum pname GLuint *params void glGetSamplerParameterIuivOES - GLuint sampler + GLuint sampler GLenum pname GLuint *params void glGetSamplerParameterfv - GLuint sampler + GLuint sampler GLenum pname GLfloat *params void glGetSamplerParameteriv - GLuint sampler + GLuint sampler GLenum pname GLint *params + + void glGetSemaphoreParameterivNV + GLuint semaphore + GLenum pname + GLint *params + void glGetSemaphoreParameterui64vEXT GLuint semaphore @@ -19738,7 +15026,7 @@ typedef unsigned int GLhandleARB; void glGetShaderInfoLog - GLuint shader + GLuint shader GLsizei bufSize GLsizei *length GLchar *infoLog @@ -19753,7 +15041,7 @@ typedef unsigned int GLhandleARB; void glGetShaderSource - GLuint shader + GLuint shader GLsizei bufSize GLsizei *length GLchar *source @@ -19768,7 +15056,7 @@ typedef unsigned int GLhandleARB; void glGetShaderiv - GLuint shader + GLuint shader GLenum pname GLint *params @@ -19814,19 +15102,19 @@ typedef unsigned int GLhandleARB; GLuint glGetSubroutineIndex - GLuint program + GLuint program GLenum shadertype const GLchar *name GLint glGetSubroutineUniformLocation - GLuint program + GLuint program GLenum shadertype const GLchar *name void glGetSynciv - GLsync sync + GLsync sync GLenum pname GLsizei count GLsizei *length @@ -19834,7 +15122,7 @@ typedef unsigned int GLhandleARB; void glGetSyncivAPPLE - GLsync sync + GLsync sync GLenum pname GLsizei count GLsizei *length @@ -20032,20 +15320,20 @@ typedef unsigned int GLhandleARB; GLuint64 glGetTextureHandleARB - GLuint texture + GLuint texture GLuint64 glGetTextureHandleIMG - GLuint texture + GLuint texture GLuint64 glGetTextureHandleNV - GLuint texture + GLuint texture void glGetTextureImage - GLuint texture + GLuint texture GLint level GLenum format GLenum type @@ -20054,7 +15342,7 @@ typedef unsigned int GLhandleARB; void glGetTextureImageEXT - GLuint texture + GLuint texture GLenum target GLint level GLenum format @@ -20063,14 +15351,14 @@ typedef unsigned int GLhandleARB; void glGetTextureLevelParameterfv - GLuint texture + GLuint texture GLint level GLenum pname GLfloat *params void glGetTextureLevelParameterfvEXT - GLuint texture + GLuint texture GLenum target GLint level GLenum pname @@ -20078,14 +15366,14 @@ typedef unsigned int GLhandleARB; void glGetTextureLevelParameteriv - GLuint texture + GLuint texture GLint level GLenum pname GLint *params void glGetTextureLevelParameterivEXT - GLuint texture + GLuint texture GLenum target GLint level GLenum pname @@ -20093,75 +15381,75 @@ typedef unsigned int GLhandleARB; void glGetTextureParameterIiv - GLuint texture + GLuint texture GLenum pname GLint *params void glGetTextureParameterIivEXT - GLuint texture + GLuint texture GLenum target GLenum pname GLint *params void glGetTextureParameterIuiv - GLuint texture + GLuint texture GLenum pname GLuint *params void glGetTextureParameterIuivEXT - GLuint texture + GLuint texture GLenum target GLenum pname GLuint *params void glGetTextureParameterfv - GLuint texture + GLuint texture GLenum pname GLfloat *params void glGetTextureParameterfvEXT - GLuint texture + GLuint texture GLenum target GLenum pname GLfloat *params void glGetTextureParameteriv - GLuint texture + GLuint texture GLenum pname GLint *params void glGetTextureParameterivEXT - GLuint texture + GLuint texture GLenum target GLenum pname GLint *params GLuint64 glGetTextureSamplerHandleARB - GLuint texture - GLuint sampler + GLuint texture + GLuint sampler GLuint64 glGetTextureSamplerHandleIMG - GLuint texture - GLuint sampler + GLuint texture + GLuint sampler GLuint64 glGetTextureSamplerHandleNV - GLuint texture - GLuint sampler + GLuint texture + GLuint sampler void glGetTextureSubImage - GLuint texture + GLuint texture GLint level GLint xoffset GLint yoffset @@ -20184,7 +15472,7 @@ typedef unsigned int GLhandleARB; void glGetTransformFeedbackVarying - GLuint program + GLuint program GLuint index GLsizei bufSize GLsizei *length @@ -20195,7 +15483,7 @@ typedef unsigned int GLhandleARB; void glGetTransformFeedbackVaryingEXT - GLuint program + GLuint program GLuint index GLsizei bufSize GLsizei *length @@ -20206,51 +15494,51 @@ typedef unsigned int GLhandleARB; void glGetTransformFeedbackVaryingNV - GLuint program + GLuint program GLuint index GLint *location void glGetTransformFeedbacki64_v - GLuint xfb + GLuint xfb GLenum pname GLuint index GLint64 *param void glGetTransformFeedbacki_v - GLuint xfb + GLuint xfb GLenum pname GLuint index GLint *param void glGetTransformFeedbackiv - GLuint xfb + GLuint xfb GLenum pname GLint *param void glGetTranslatedShaderSourceANGLE - GLuint shader + GLuint shader GLsizei bufSize GLsizei *length - GLchar *source + GLchar *source GLuint glGetUniformBlockIndex - GLuint program + GLuint program const GLchar *uniformBlockName GLint glGetUniformBufferSizeEXT - GLuint program + GLuint program GLint location void glGetUniformIndices - GLuint program + GLuint program GLsizei uniformCount const GLchar *const*uniformNames GLuint *uniformIndices @@ -20258,7 +15546,7 @@ typedef unsigned int GLhandleARB; GLint glGetUniformLocation - GLuint program + GLuint program const GLchar *name @@ -20269,7 +15557,7 @@ typedef unsigned int GLhandleARB; GLintptr glGetUniformOffsetEXT - GLuint program + GLuint program GLint location @@ -20280,13 +15568,13 @@ typedef unsigned int GLhandleARB; void glGetUniformdv - GLuint program + GLuint program GLint location GLdouble *params void glGetUniformfv - GLuint program + GLuint program GLint location GLfloat *params @@ -20299,19 +15587,19 @@ typedef unsigned int GLhandleARB; void glGetUniformi64vARB - GLuint program + GLuint program GLint location GLint64 *params void glGetUniformi64vNV - GLuint program + GLuint program GLint location GLint64EXT *params void glGetUniformiv - GLuint program + GLuint program GLint location GLint *params @@ -20324,25 +15612,25 @@ typedef unsigned int GLhandleARB; void glGetUniformui64vARB - GLuint program + GLuint program GLint location GLuint64 *params void glGetUniformui64vNV - GLuint program + GLuint program GLint location GLuint64EXT *params void glGetUniformuiv - GLuint program + GLuint program GLint location GLuint *params void glGetUniformuivEXT - GLuint program + GLuint program GLint location GLuint *params @@ -20396,52 +15684,52 @@ typedef unsigned int GLhandleARB; GLint glGetVaryingLocationNV - GLuint program + GLuint program const GLchar *name void glGetVertexArrayIndexed64iv - GLuint vaobj + GLuint vaobj GLuint index GLenum pname GLint64 *param void glGetVertexArrayIndexediv - GLuint vaobj + GLuint vaobj GLuint index GLenum pname GLint *param void glGetVertexArrayIntegeri_vEXT - GLuint vaobj + GLuint vaobj GLuint index GLenum pname GLint *param void glGetVertexArrayIntegervEXT - GLuint vaobj + GLuint vaobj GLenum pname GLint *param void glGetVertexArrayPointeri_vEXT - GLuint vaobj + GLuint vaobj GLuint index GLenum pname - void **param + void **param void glGetVertexArrayPointervEXT - GLuint vaobj + GLuint vaobj GLenum pname void **param void glGetVertexArrayiv - GLuint vaobj + GLuint vaobj GLenum pname GLint *param @@ -20661,7 +15949,7 @@ typedef unsigned int GLhandleARB; GLenum format GLenum type GLsizei bufSize - void *table + void *table void glGetnColorTableARB @@ -20676,7 +15964,7 @@ typedef unsigned int GLhandleARB; GLenum target GLint lod GLsizei bufSize - void *pixels + void *pixels void glGetnCompressedTexImageARB @@ -20691,7 +15979,7 @@ typedef unsigned int GLhandleARB; GLenum format GLenum type GLsizei bufSize - void *image + void *image void glGetnConvolutionFilterARB @@ -20703,12 +15991,12 @@ typedef unsigned int GLhandleARB; void glGetnHistogram - GLenum target + GLenum target GLboolean reset GLenum format GLenum type GLsizei bufSize - void *values + void *values void glGetnHistogramARB @@ -20724,14 +16012,14 @@ typedef unsigned int GLhandleARB; GLenum target GLenum query GLsizei bufSize - GLdouble *v + GLdouble *v void glGetnMapdvARB GLenum target GLenum query GLsizei bufSize - GLdouble *v + GLdouble *v void glGetnMapfv @@ -20763,12 +16051,12 @@ typedef unsigned int GLhandleARB; void glGetnMinmax - GLenum target + GLenum target GLboolean reset GLenum format GLenum type GLsizei bufSize - void *values + void *values void glGetnMinmaxARB @@ -20783,13 +16071,13 @@ typedef unsigned int GLhandleARB; void glGetnPixelMapfv GLenum map GLsizei bufSize - GLfloat *values + GLfloat *values void glGetnPixelMapfvARB GLenum map GLsizei bufSize - GLfloat *values + GLfloat *values void glGetnPixelMapuiv @@ -20818,7 +16106,7 @@ typedef unsigned int GLhandleARB; void glGetnPolygonStipple GLsizei bufSize - GLubyte *pattern + GLubyte *pattern void glGetnPolygonStippleARB @@ -20827,14 +16115,14 @@ typedef unsigned int GLhandleARB; void glGetnSeparableFilter - GLenum target + GLenum target GLenum format GLenum type GLsizei rowBufSize - void *row + void *row GLsizei columnBufSize - void *column - void *span + void *column + void *span void glGetnSeparableFilterARB @@ -20867,112 +16155,112 @@ typedef unsigned int GLhandleARB; void glGetnUniformdv - GLuint program + GLuint program GLint location GLsizei bufSize - GLdouble *params + GLdouble *params void glGetnUniformdvARB - GLuint program + GLuint program GLint location GLsizei bufSize - GLdouble *params + GLdouble *params void glGetnUniformfv - GLuint program + GLuint program GLint location GLsizei bufSize - GLfloat *params + GLfloat *params void glGetnUniformfvARB - GLuint program + GLuint program GLint location GLsizei bufSize - GLfloat *params + GLfloat *params void glGetnUniformfvEXT - GLuint program + GLuint program GLint location GLsizei bufSize - GLfloat *params + GLfloat *params void glGetnUniformfvKHR - GLuint program + GLuint program GLint location GLsizei bufSize - GLfloat *params + GLfloat *params void glGetnUniformi64vARB - GLuint program + GLuint program GLint location GLsizei bufSize - GLint64 *params + GLint64 *params void glGetnUniformiv - GLuint program + GLuint program GLint location GLsizei bufSize - GLint *params + GLint *params void glGetnUniformivARB - GLuint program + GLuint program GLint location GLsizei bufSize - GLint *params + GLint *params void glGetnUniformivEXT - GLuint program + GLuint program GLint location GLsizei bufSize - GLint *params + GLint *params void glGetnUniformivKHR - GLuint program + GLuint program GLint location GLsizei bufSize - GLint *params + GLint *params void glGetnUniformui64vARB - GLuint program + GLuint program GLint location GLsizei bufSize - GLuint64 *params + GLuint64 *params void glGetnUniformuiv - GLuint program + GLuint program GLint location GLsizei bufSize - GLuint *params + GLuint *params void glGetnUniformuivARB - GLuint program + GLuint program GLint location GLsizei bufSize - GLuint *params + GLuint *params void glGetnUniformuivKHR - GLuint program + GLuint program GLint location GLsizei bufSize - GLuint *params + GLuint *params @@ -21105,7 +16393,7 @@ typedef unsigned int GLhandleARB; const void *name - GLsync glImportSyncEXT + GLsync glImportSyncEXT GLenum external_sync_type GLintptr external_sync GLbitfield flags @@ -21244,11 +16532,11 @@ typedef unsigned int GLhandleARB; void glInvalidateBufferData - GLuint buffer + GLuint buffer void glInvalidateBufferSubData - GLuint buffer + GLuint buffer GLintptr offset GLsizeiptr length @@ -21260,13 +16548,13 @@ typedef unsigned int GLhandleARB; void glInvalidateNamedFramebufferData - GLuint framebuffer + GLuint framebuffer GLsizei numAttachments const GLenum *attachments void glInvalidateNamedFramebufferSubData - GLuint framebuffer + GLuint framebuffer GLsizei numAttachments const GLenum *attachments GLint x @@ -21286,12 +16574,12 @@ typedef unsigned int GLhandleARB; void glInvalidateTexImage - GLuint texture + GLuint texture GLint level void glInvalidateTexSubImage - GLuint texture + GLuint texture GLint level GLint xoffset GLint yoffset @@ -21306,11 +16594,11 @@ typedef unsigned int GLhandleARB; GLboolean glIsBuffer - GLuint buffer + GLuint buffer GLboolean glIsBufferARB - GLuint buffer + GLuint buffer @@ -21367,18 +16655,18 @@ typedef unsigned int GLhandleARB; GLboolean glIsFramebuffer - GLuint framebuffer + GLuint framebuffer GLboolean glIsFramebufferEXT - GLuint framebuffer + GLuint framebuffer GLboolean glIsFramebufferOES - GLuint framebuffer + GLuint framebuffer GLboolean glIsImageHandleResidentARB @@ -21390,7 +16678,7 @@ typedef unsigned int GLhandleARB; GLboolean glIsList - GLuint list + GLuint list @@ -21404,7 +16692,7 @@ typedef unsigned int GLhandleARB; GLboolean glIsNamedBufferResidentNV - GLuint buffer + GLuint buffer GLboolean glIsNamedStringARB @@ -21413,7 +16701,7 @@ typedef unsigned int GLhandleARB; GLboolean glIsObjectBufferATI - GLuint buffer + GLuint buffer GLboolean glIsOcclusionQueryNV @@ -21438,56 +16726,56 @@ typedef unsigned int GLhandleARB; GLboolean glIsProgram - GLuint program + GLuint program GLboolean glIsProgramARB - GLuint program + GLuint program GLboolean glIsProgramNV - GLuint id + GLuint id GLboolean glIsProgramPipeline - GLuint pipeline + GLuint pipeline GLboolean glIsProgramPipelineEXT - GLuint pipeline + GLuint pipeline GLboolean glIsQuery - GLuint id + GLuint id GLboolean glIsQueryARB - GLuint id + GLuint id GLboolean glIsQueryEXT - GLuint id + GLuint id GLboolean glIsRenderbuffer - GLuint renderbuffer + GLuint renderbuffer GLboolean glIsRenderbufferEXT - GLuint renderbuffer + GLuint renderbuffer GLboolean glIsRenderbufferOES - GLuint renderbuffer + GLuint renderbuffer GLboolean glIsSemaphoreEXT @@ -21495,11 +16783,11 @@ typedef unsigned int GLhandleARB; GLboolean glIsSampler - GLuint sampler + GLuint sampler GLboolean glIsShader - GLuint shader + GLuint shader @@ -21508,21 +16796,21 @@ typedef unsigned int GLhandleARB; GLboolean glIsSync - GLsync sync + GLsync sync GLboolean glIsSyncAPPLE - GLsync sync + GLsync sync GLboolean glIsTexture - GLuint texture + GLuint texture GLboolean glIsTextureEXT - GLuint texture + GLuint texture @@ -21535,11 +16823,11 @@ typedef unsigned int GLhandleARB; GLboolean glIsTransformFeedback - GLuint id + GLuint id GLboolean glIsTransformFeedbackNV - GLuint id + GLuint id @@ -21549,17 +16837,17 @@ typedef unsigned int GLhandleARB; GLboolean glIsVertexArray - GLuint array + GLuint array GLboolean glIsVertexArrayAPPLE - GLuint array + GLuint array GLboolean glIsVertexArrayOES - GLuint array + GLuint array @@ -21593,7 +16881,7 @@ typedef unsigned int GLhandleARB; void glLGPUNamedBufferSubDataNVX GLbitfield gpuMask - GLuint buffer + GLuint buffer GLintptr offset GLsizeiptr size const void *data @@ -21727,7 +17015,7 @@ typedef unsigned int GLhandleARB; void glLinkProgram - GLuint program + GLuint program void glLinkProgramARB @@ -21743,10 +17031,10 @@ typedef unsigned int GLhandleARB; void glListDrawCommandsStatesClientNV GLuint list GLuint segment - const void **indirects - const GLsizei *sizes - const GLuint *states - const GLuint *fbos + const void **indirects + const GLsizei *sizes + const GLuint *states + const GLuint *fbos GLuint count @@ -21881,11 +17169,11 @@ typedef unsigned int GLhandleARB; void glMakeNamedBufferNonResidentNV - GLuint buffer + GLuint buffer void glMakeNamedBufferResidentNV - GLuint buffer + GLuint buffer GLenum access @@ -22069,31 +17357,31 @@ typedef unsigned int GLhandleARB; void *glMapNamedBuffer - GLuint buffer + GLuint buffer GLenum access void *glMapNamedBufferEXT - GLuint buffer + GLuint buffer GLenum access void *glMapNamedBufferRange - GLuint buffer + GLuint buffer GLintptr offset GLsizeiptr length GLbitfield access void *glMapNamedBufferRangeEXT - GLuint buffer + GLuint buffer GLintptr offset GLsizeiptr length GLbitfield access void *glMapObjectBufferATI - GLuint buffer + GLuint buffer void glMapParameterfvNV @@ -22109,7 +17397,7 @@ typedef unsigned int GLhandleARB; void *glMapTexture2DINTEL - GLuint texture + GLuint texture GLint level GLbitfield access GLint *stride @@ -22498,15 +17786,15 @@ typedef unsigned int GLhandleARB; void glMultiDrawArrays GLenum mode - const GLint *first - const GLsizei *count + const GLint *first + const GLsizei *count GLsizei drawcount void glMultiDrawArraysEXT GLenum mode - const GLint *first - const GLsizei *count + const GLint *first + const GLsizei *count GLsizei primcount @@ -22520,7 +17808,7 @@ typedef unsigned int GLhandleARB; void glMultiDrawArraysIndirectAMD GLenum mode - const void *indirect + const void *indirect GLsizei primcount GLsizei stride @@ -22577,36 +17865,36 @@ typedef unsigned int GLhandleARB; void glMultiDrawElements GLenum mode - const GLsizei *count + const GLsizei *count GLenum type - const void *const*indices + const void *const*indices GLsizei drawcount void glMultiDrawElementsBaseVertex GLenum mode - const GLsizei *count + const GLsizei *count GLenum type - const void *const*indices + const void *const*indices GLsizei drawcount - const GLint *basevertex + const GLint *basevertex void glMultiDrawElementsBaseVertexEXT GLenum mode - const GLsizei *count + const GLsizei *count GLenum type - const void *const*indices - GLsizei primcount - const GLint *basevertex + const void *const*indices + GLsizei drawcount + const GLint *basevertex void glMultiDrawElementsEXT GLenum mode - const GLsizei *count + const GLsizei *count GLenum type - const void *const*indices + const void *const*indices GLsizei primcount @@ -22622,7 +17910,7 @@ typedef unsigned int GLhandleARB; void glMultiDrawElementsIndirectAMD GLenum mode GLenum type - const void *indirect + const void *indirect GLsizei primcount GLsizei stride @@ -22698,18 +17986,18 @@ typedef unsigned int GLhandleARB; void glMultiModeDrawArraysIBM - const GLenum *mode - const GLint *first - const GLsizei *count + const GLenum *mode + const GLint *first + const GLsizei *count GLsizei primcount GLint modestride void glMultiModeDrawElementsIBM - const GLenum *mode - const GLsizei *count + const GLenum *mode + const GLsizei *count GLenum type - const void *const*indices + const void *const*indices GLsizei primcount GLint modestride @@ -22717,8 +18005,8 @@ typedef unsigned int GLhandleARB; void glMultiTexBufferEXT GLenum texunit GLenum target - GLenum internalformat - GLuint buffer + GLenum internalformat + GLuint buffer void glMultiTexCoord1bOES @@ -23556,7 +18844,7 @@ typedef unsigned int GLhandleARB; void glMultiTexRenderbufferEXT GLenum texunit GLenum target - GLuint renderbuffer + GLuint renderbuffer void glMultiTexSubImage1DEXT @@ -23618,7 +18906,7 @@ typedef unsigned int GLhandleARB; void glMulticastBufferSubDataNV GLbitfield gpuMask - GLuint buffer + GLuint buffer GLintptr offset GLsizeiptr size const void *data @@ -23627,8 +18915,8 @@ typedef unsigned int GLhandleARB; void glMulticastCopyBufferSubDataNV GLuint readGpu GLbitfield writeGpuMask - GLuint readBuffer - GLuint writeBuffer + GLuint readBuffer + GLuint writeBuffer GLintptr readOffset GLintptr writeOffset GLsizeiptr size @@ -23656,7 +18944,7 @@ typedef unsigned int GLhandleARB; void glMulticastFramebufferSampleLocationsfvNV GLuint gpu - GLuint framebuffer + GLuint framebuffer GLuint start GLsizei count const GLfloat *v @@ -23717,48 +19005,57 @@ typedef unsigned int GLhandleARB; void glNamedBufferAttachMemoryNV - GLuint buffer + GLuint buffer GLuint memory GLuint64 offset void glNamedBufferData - GLuint buffer + GLuint buffer GLsizeiptr size const void *data GLenum usage void glNamedBufferDataEXT - GLuint buffer + GLuint buffer GLsizeiptr size const void *data GLenum usage void glNamedBufferPageCommitmentARB - GLuint buffer + GLuint buffer GLintptr offset GLsizeiptr size GLboolean commit void glNamedBufferPageCommitmentEXT - GLuint buffer + GLuint buffer + GLintptr offset + GLsizeiptr size + GLboolean commit + + + void glNamedBufferPageCommitmentMemNV + GLuint buffer GLintptr offset GLsizeiptr size + GLuint memory + GLuint64 memOffset GLboolean commit void glNamedBufferStorage - GLuint buffer + GLuint buffer GLsizeiptr size const void *data GLbitfield flags void glNamedBufferStorageExternalEXT - GLuint buffer + GLuint buffer GLintptr offset GLsizeiptr size GLeglClientBufferEXT clientBuffer @@ -23766,7 +19063,7 @@ typedef unsigned int GLhandleARB; void glNamedBufferStorageEXT - GLuint buffer + GLuint buffer GLsizeiptr size const void *data GLbitfield flags @@ -23774,21 +19071,21 @@ typedef unsigned int GLhandleARB; void glNamedBufferStorageMemEXT - GLuint buffer + GLuint buffer GLsizeiptr size GLuint memory GLuint64 offset void glNamedBufferSubData - GLuint buffer + GLuint buffer GLintptr offset GLsizeiptr size const void *data void glNamedBufferSubDataEXT - GLuint buffer + GLuint buffer GLintptr offset GLsizeiptr size const void *data @@ -23796,141 +19093,141 @@ typedef unsigned int GLhandleARB; void glNamedCopyBufferSubDataEXT - GLuint readBuffer - GLuint writeBuffer + GLuint readBuffer + GLuint writeBuffer GLintptr readOffset GLintptr writeOffset GLsizeiptr size void glNamedFramebufferDrawBuffer - GLuint framebuffer + GLuint framebuffer GLenum buf void glNamedFramebufferDrawBuffers - GLuint framebuffer + GLuint framebuffer GLsizei n const GLenum *bufs void glNamedFramebufferParameteri - GLuint framebuffer + GLuint framebuffer GLenum pname GLint param void glNamedFramebufferParameteriEXT - GLuint framebuffer + GLuint framebuffer GLenum pname GLint param void glNamedFramebufferReadBuffer - GLuint framebuffer + GLuint framebuffer GLenum src void glNamedFramebufferRenderbuffer - GLuint framebuffer + GLuint framebuffer GLenum attachment GLenum renderbuffertarget - GLuint renderbuffer + GLuint renderbuffer void glNamedFramebufferRenderbufferEXT - GLuint framebuffer + GLuint framebuffer GLenum attachment GLenum renderbuffertarget - GLuint renderbuffer + GLuint renderbuffer void glNamedFramebufferSampleLocationsfvARB - GLuint framebuffer + GLuint framebuffer GLuint start GLsizei count const GLfloat *v void glNamedFramebufferSampleLocationsfvNV - GLuint framebuffer + GLuint framebuffer GLuint start GLsizei count const GLfloat *v void glNamedFramebufferTexture - GLuint framebuffer + GLuint framebuffer GLenum attachment - GLuint texture + GLuint texture GLint level void glNamedFramebufferSamplePositionsfvAMD - GLuint framebuffer + GLuint framebuffer GLuint numsamples GLuint pixelindex const GLfloat *values void glNamedFramebufferTexture1DEXT - GLuint framebuffer + GLuint framebuffer GLenum attachment GLenum textarget - GLuint texture + GLuint texture GLint level void glNamedFramebufferTexture2DEXT - GLuint framebuffer + GLuint framebuffer GLenum attachment GLenum textarget - GLuint texture + GLuint texture GLint level void glNamedFramebufferTexture3DEXT - GLuint framebuffer + GLuint framebuffer GLenum attachment GLenum textarget - GLuint texture + GLuint texture GLint level GLint zoffset void glNamedFramebufferTextureEXT - GLuint framebuffer + GLuint framebuffer GLenum attachment - GLuint texture + GLuint texture GLint level void glNamedFramebufferTextureFaceEXT - GLuint framebuffer + GLuint framebuffer GLenum attachment - GLuint texture + GLuint texture GLint level GLenum face void glNamedFramebufferTextureLayer - GLuint framebuffer + GLuint framebuffer GLenum attachment - GLuint texture + GLuint texture GLint level GLint layer void glNamedFramebufferTextureLayerEXT - GLuint framebuffer + GLuint framebuffer GLenum attachment - GLuint texture + GLuint texture GLint level GLint layer void glNamedProgramLocalParameter4dEXT - GLuint program + GLuint program GLenum target GLuint index GLdouble x @@ -23941,14 +19238,14 @@ typedef unsigned int GLhandleARB; void glNamedProgramLocalParameter4dvEXT - GLuint program + GLuint program GLenum target GLuint index const GLdouble *params void glNamedProgramLocalParameter4fEXT - GLuint program + GLuint program GLenum target GLuint index GLfloat x @@ -23959,14 +19256,14 @@ typedef unsigned int GLhandleARB; void glNamedProgramLocalParameter4fvEXT - GLuint program + GLuint program GLenum target GLuint index const GLfloat *params void glNamedProgramLocalParameterI4iEXT - GLuint program + GLuint program GLenum target GLuint index GLint x @@ -23977,14 +19274,14 @@ typedef unsigned int GLhandleARB; void glNamedProgramLocalParameterI4ivEXT - GLuint program + GLuint program GLenum target GLuint index const GLint *params void glNamedProgramLocalParameterI4uiEXT - GLuint program + GLuint program GLenum target GLuint index GLuint x @@ -23995,14 +19292,14 @@ typedef unsigned int GLhandleARB; void glNamedProgramLocalParameterI4uivEXT - GLuint program + GLuint program GLenum target GLuint index const GLuint *params void glNamedProgramLocalParameters4fvEXT - GLuint program + GLuint program GLenum target GLuint index GLsizei count @@ -24010,7 +19307,7 @@ typedef unsigned int GLhandleARB; void glNamedProgramLocalParametersI4ivEXT - GLuint program + GLuint program GLenum target GLuint index GLsizei count @@ -24018,7 +19315,7 @@ typedef unsigned int GLhandleARB; void glNamedProgramLocalParametersI4uivEXT - GLuint program + GLuint program GLenum target GLuint index GLsizei count @@ -24026,7 +19323,7 @@ typedef unsigned int GLhandleARB; void glNamedProgramStringEXT - GLuint program + GLuint program GLenum target GLenum format GLsizei len @@ -24034,21 +19331,21 @@ typedef unsigned int GLhandleARB; void glNamedRenderbufferStorage - GLuint renderbuffer + GLuint renderbuffer GLenum internalformat GLsizei width GLsizei height void glNamedRenderbufferStorageEXT - GLuint renderbuffer + GLuint renderbuffer GLenum internalformat GLsizei width GLsizei height void glNamedRenderbufferStorageMultisample - GLuint renderbuffer + GLuint renderbuffer GLsizei samples GLenum internalformat GLsizei width @@ -24056,7 +19353,7 @@ typedef unsigned int GLhandleARB; void glNamedRenderbufferStorageMultisampleAdvancedAMD - GLuint renderbuffer + GLuint renderbuffer GLsizei samples GLsizei storageSamples GLenum internalformat @@ -24065,7 +19362,7 @@ typedef unsigned int GLhandleARB; void glNamedRenderbufferStorageMultisampleCoverageEXT - GLuint renderbuffer + GLuint renderbuffer GLsizei coverageSamples GLsizei colorSamples GLenum internalformat @@ -24074,7 +19371,7 @@ typedef unsigned int GLhandleARB; void glNamedRenderbufferStorageMultisampleEXT - GLuint renderbuffer + GLuint renderbuffer GLsizei samples GLenum internalformat GLsizei width @@ -24491,7 +19788,7 @@ typedef unsigned int GLhandleARB; GLbitfield fontStyle GLuint pathParameterTemplate GLfloat emScale - GLuint baseAndCount[2] + GLuint *baseAndCount void glPathGlyphRangeNV @@ -25044,14 +20341,14 @@ typedef unsigned int GLhandleARB; void glPrioritizeTextures GLsizei n - const GLuint *textures + const GLuint *textures const GLfloat *priorities void glPrioritizeTexturesEXT GLsizei n - const GLuint *textures + const GLuint *textures const GLclampf *priorities @@ -25059,19 +20356,19 @@ typedef unsigned int GLhandleARB; void glPrioritizeTexturesxOES GLsizei n - const GLuint *textures + const GLuint *textures const GLfixed *priorities void glProgramBinary - GLuint program + GLuint program GLenum binaryFormat const void *binary GLsizei length void glProgramBinaryOES - GLuint program + GLuint program GLenum binaryFormat const void *binary GLint length @@ -25275,7 +20572,7 @@ typedef unsigned int GLhandleARB; void glProgramNamedParameter4dNV - GLuint id + GLuint id GLsizei len const GLubyte *name GLdouble x @@ -25286,7 +20583,7 @@ typedef unsigned int GLhandleARB; void glProgramNamedParameter4dvNV - GLuint id + GLuint id GLsizei len const GLubyte *name const GLdouble *v @@ -25294,7 +20591,7 @@ typedef unsigned int GLhandleARB; void glProgramNamedParameter4fNV - GLuint id + GLuint id GLsizei len const GLubyte *name GLfloat x @@ -25305,7 +20602,7 @@ typedef unsigned int GLhandleARB; void glProgramNamedParameter4fvNV - GLuint id + GLuint id GLsizei len const GLubyte *name const GLfloat *v @@ -25347,20 +20644,20 @@ typedef unsigned int GLhandleARB; void glProgramParameteri - GLuint program + GLuint program GLenum pname GLint value void glProgramParameteriARB - GLuint program + GLuint program GLenum pname GLint value void glProgramParameteriEXT - GLuint program + GLuint program GLenum pname GLint value @@ -25383,7 +20680,7 @@ typedef unsigned int GLhandleARB; void glProgramPathFragmentInputGenNV - GLuint program + GLuint program GLint location GLenum genMode GLint components @@ -25404,53 +20701,53 @@ typedef unsigned int GLhandleARB; void glProgramUniform1d - GLuint program + GLuint program GLint location GLdouble v0 void glProgramUniform1dEXT - GLuint program + GLuint program GLint location GLdouble x void glProgramUniform1dv - GLuint program + GLuint program GLint location GLsizei count const GLdouble *value void glProgramUniform1dvEXT - GLuint program + GLuint program GLint location GLsizei count const GLdouble *value void glProgramUniform1f - GLuint program + GLuint program GLint location GLfloat v0 void glProgramUniform1fEXT - GLuint program + GLuint program GLint location GLfloat v0 void glProgramUniform1fv - GLuint program + GLuint program GLint location GLsizei count const GLfloat *value void glProgramUniform1fvEXT - GLuint program + GLuint program GLint location GLsizei count const GLfloat *value @@ -25458,53 +20755,53 @@ typedef unsigned int GLhandleARB; void glProgramUniform1i - GLuint program + GLuint program GLint location GLint v0 void glProgramUniform1i64ARB - GLuint program + GLuint program GLint location GLint64 x void glProgramUniform1i64NV - GLuint program + GLuint program GLint location GLint64EXT x void glProgramUniform1i64vARB - GLuint program + GLuint program GLint location GLsizei count const GLint64 *value void glProgramUniform1i64vNV - GLuint program + GLuint program GLint location GLsizei count const GLint64EXT *value void glProgramUniform1iEXT - GLuint program + GLuint program GLint location GLint v0 void glProgramUniform1iv - GLuint program + GLuint program GLint location GLsizei count const GLint *value void glProgramUniform1ivEXT - GLuint program + GLuint program GLint location GLsizei count const GLint *value @@ -25512,53 +20809,53 @@ typedef unsigned int GLhandleARB; void glProgramUniform1ui - GLuint program + GLuint program GLint location GLuint v0 void glProgramUniform1ui64ARB - GLuint program + GLuint program GLint location GLuint64 x void glProgramUniform1ui64NV - GLuint program + GLuint program GLint location GLuint64EXT x void glProgramUniform1ui64vARB - GLuint program + GLuint program GLint location GLsizei count const GLuint64 *value void glProgramUniform1ui64vNV - GLuint program + GLuint program GLint location GLsizei count const GLuint64EXT *value void glProgramUniform1uiEXT - GLuint program + GLuint program GLint location GLuint v0 void glProgramUniform1uiv - GLuint program + GLuint program GLint location GLsizei count const GLuint *value void glProgramUniform1uivEXT - GLuint program + GLuint program GLint location GLsizei count const GLuint *value @@ -25566,42 +20863,42 @@ typedef unsigned int GLhandleARB; void glProgramUniform2d - GLuint program + GLuint program GLint location GLdouble v0 GLdouble v1 void glProgramUniform2dEXT - GLuint program + GLuint program GLint location GLdouble x GLdouble y void glProgramUniform2dv - GLuint program + GLuint program GLint location GLsizei count const GLdouble *value void glProgramUniform2dvEXT - GLuint program + GLuint program GLint location GLsizei count const GLdouble *value void glProgramUniform2f - GLuint program + GLuint program GLint location GLfloat v0 GLfloat v1 void glProgramUniform2fEXT - GLuint program + GLuint program GLint location GLfloat v0 GLfloat v1 @@ -25609,14 +20906,14 @@ typedef unsigned int GLhandleARB; void glProgramUniform2fv - GLuint program + GLuint program GLint location GLsizei count const GLfloat *value void glProgramUniform2fvEXT - GLuint program + GLuint program GLint location GLsizei count const GLfloat *value @@ -25624,42 +20921,42 @@ typedef unsigned int GLhandleARB; void glProgramUniform2i - GLuint program + GLuint program GLint location GLint v0 GLint v1 void glProgramUniform2i64ARB - GLuint program + GLuint program GLint location GLint64 x GLint64 y void glProgramUniform2i64NV - GLuint program + GLuint program GLint location GLint64EXT x GLint64EXT y void glProgramUniform2i64vARB - GLuint program + GLuint program GLint location GLsizei count const GLint64 *value void glProgramUniform2i64vNV - GLuint program + GLuint program GLint location GLsizei count const GLint64EXT *value void glProgramUniform2iEXT - GLuint program + GLuint program GLint location GLint v0 GLint v1 @@ -25667,14 +20964,14 @@ typedef unsigned int GLhandleARB; void glProgramUniform2iv - GLuint program + GLuint program GLint location GLsizei count const GLint *value void glProgramUniform2ivEXT - GLuint program + GLuint program GLint location GLsizei count const GLint *value @@ -25682,42 +20979,42 @@ typedef unsigned int GLhandleARB; void glProgramUniform2ui - GLuint program + GLuint program GLint location GLuint v0 GLuint v1 void glProgramUniform2ui64ARB - GLuint program + GLuint program GLint location GLuint64 x GLuint64 y void glProgramUniform2ui64NV - GLuint program + GLuint program GLint location GLuint64EXT x GLuint64EXT y void glProgramUniform2ui64vARB - GLuint program + GLuint program GLint location GLsizei count const GLuint64 *value void glProgramUniform2ui64vNV - GLuint program + GLuint program GLint location GLsizei count const GLuint64EXT *value void glProgramUniform2uiEXT - GLuint program + GLuint program GLint location GLuint v0 GLuint v1 @@ -25725,14 +21022,14 @@ typedef unsigned int GLhandleARB; void glProgramUniform2uiv - GLuint program + GLuint program GLint location GLsizei count const GLuint *value void glProgramUniform2uivEXT - GLuint program + GLuint program GLint location GLsizei count const GLuint *value @@ -25740,7 +21037,7 @@ typedef unsigned int GLhandleARB; void glProgramUniform3d - GLuint program + GLuint program GLint location GLdouble v0 GLdouble v1 @@ -25748,7 +21045,7 @@ typedef unsigned int GLhandleARB; void glProgramUniform3dEXT - GLuint program + GLuint program GLint location GLdouble x GLdouble y @@ -25756,21 +21053,21 @@ typedef unsigned int GLhandleARB; void glProgramUniform3dv - GLuint program + GLuint program GLint location GLsizei count const GLdouble *value void glProgramUniform3dvEXT - GLuint program + GLuint program GLint location GLsizei count const GLdouble *value void glProgramUniform3f - GLuint program + GLuint program GLint location GLfloat v0 GLfloat v1 @@ -25778,7 +21075,7 @@ typedef unsigned int GLhandleARB; void glProgramUniform3fEXT - GLuint program + GLuint program GLint location GLfloat v0 GLfloat v1 @@ -25787,14 +21084,14 @@ typedef unsigned int GLhandleARB; void glProgramUniform3fv - GLuint program + GLuint program GLint location GLsizei count const GLfloat *value void glProgramUniform3fvEXT - GLuint program + GLuint program GLint location GLsizei count const GLfloat *value @@ -25802,7 +21099,7 @@ typedef unsigned int GLhandleARB; void glProgramUniform3i - GLuint program + GLuint program GLint location GLint v0 GLint v1 @@ -25810,7 +21107,7 @@ typedef unsigned int GLhandleARB; void glProgramUniform3i64ARB - GLuint program + GLuint program GLint location GLint64 x GLint64 y @@ -25818,7 +21115,7 @@ typedef unsigned int GLhandleARB; void glProgramUniform3i64NV - GLuint program + GLuint program GLint location GLint64EXT x GLint64EXT y @@ -25826,21 +21123,21 @@ typedef unsigned int GLhandleARB; void glProgramUniform3i64vARB - GLuint program + GLuint program GLint location GLsizei count const GLint64 *value void glProgramUniform3i64vNV - GLuint program + GLuint program GLint location GLsizei count const GLint64EXT *value void glProgramUniform3iEXT - GLuint program + GLuint program GLint location GLint v0 GLint v1 @@ -25849,14 +21146,14 @@ typedef unsigned int GLhandleARB; void glProgramUniform3iv - GLuint program + GLuint program GLint location GLsizei count const GLint *value void glProgramUniform3ivEXT - GLuint program + GLuint program GLint location GLsizei count const GLint *value @@ -25864,7 +21161,7 @@ typedef unsigned int GLhandleARB; void glProgramUniform3ui - GLuint program + GLuint program GLint location GLuint v0 GLuint v1 @@ -25872,7 +21169,7 @@ typedef unsigned int GLhandleARB; void glProgramUniform3ui64ARB - GLuint program + GLuint program GLint location GLuint64 x GLuint64 y @@ -25880,7 +21177,7 @@ typedef unsigned int GLhandleARB; void glProgramUniform3ui64NV - GLuint program + GLuint program GLint location GLuint64EXT x GLuint64EXT y @@ -25888,21 +21185,21 @@ typedef unsigned int GLhandleARB; void glProgramUniform3ui64vARB - GLuint program + GLuint program GLint location GLsizei count const GLuint64 *value void glProgramUniform3ui64vNV - GLuint program + GLuint program GLint location GLsizei count const GLuint64EXT *value void glProgramUniform3uiEXT - GLuint program + GLuint program GLint location GLuint v0 GLuint v1 @@ -25911,14 +21208,14 @@ typedef unsigned int GLhandleARB; void glProgramUniform3uiv - GLuint program + GLuint program GLint location GLsizei count const GLuint *value void glProgramUniform3uivEXT - GLuint program + GLuint program GLint location GLsizei count const GLuint *value @@ -25926,7 +21223,7 @@ typedef unsigned int GLhandleARB; void glProgramUniform4d - GLuint program + GLuint program GLint location GLdouble v0 GLdouble v1 @@ -25935,7 +21232,7 @@ typedef unsigned int GLhandleARB; void glProgramUniform4dEXT - GLuint program + GLuint program GLint location GLdouble x GLdouble y @@ -25944,21 +21241,21 @@ typedef unsigned int GLhandleARB; void glProgramUniform4dv - GLuint program + GLuint program GLint location GLsizei count const GLdouble *value void glProgramUniform4dvEXT - GLuint program + GLuint program GLint location GLsizei count const GLdouble *value void glProgramUniform4f - GLuint program + GLuint program GLint location GLfloat v0 GLfloat v1 @@ -25967,7 +21264,7 @@ typedef unsigned int GLhandleARB; void glProgramUniform4fEXT - GLuint program + GLuint program GLint location GLfloat v0 GLfloat v1 @@ -25977,14 +21274,14 @@ typedef unsigned int GLhandleARB; void glProgramUniform4fv - GLuint program + GLuint program GLint location GLsizei count const GLfloat *value void glProgramUniform4fvEXT - GLuint program + GLuint program GLint location GLsizei count const GLfloat *value @@ -25992,7 +21289,7 @@ typedef unsigned int GLhandleARB; void glProgramUniform4i - GLuint program + GLuint program GLint location GLint v0 GLint v1 @@ -26001,7 +21298,7 @@ typedef unsigned int GLhandleARB; void glProgramUniform4i64ARB - GLuint program + GLuint program GLint location GLint64 x GLint64 y @@ -26010,7 +21307,7 @@ typedef unsigned int GLhandleARB; void glProgramUniform4i64NV - GLuint program + GLuint program GLint location GLint64EXT x GLint64EXT y @@ -26019,21 +21316,21 @@ typedef unsigned int GLhandleARB; void glProgramUniform4i64vARB - GLuint program + GLuint program GLint location GLsizei count const GLint64 *value void glProgramUniform4i64vNV - GLuint program + GLuint program GLint location GLsizei count const GLint64EXT *value void glProgramUniform4iEXT - GLuint program + GLuint program GLint location GLint v0 GLint v1 @@ -26043,14 +21340,14 @@ typedef unsigned int GLhandleARB; void glProgramUniform4iv - GLuint program + GLuint program GLint location GLsizei count const GLint *value void glProgramUniform4ivEXT - GLuint program + GLuint program GLint location GLsizei count const GLint *value @@ -26058,7 +21355,7 @@ typedef unsigned int GLhandleARB; void glProgramUniform4ui - GLuint program + GLuint program GLint location GLuint v0 GLuint v1 @@ -26067,7 +21364,7 @@ typedef unsigned int GLhandleARB; void glProgramUniform4ui64ARB - GLuint program + GLuint program GLint location GLuint64 x GLuint64 y @@ -26076,7 +21373,7 @@ typedef unsigned int GLhandleARB; void glProgramUniform4ui64NV - GLuint program + GLuint program GLint location GLuint64EXT x GLuint64EXT y @@ -26085,21 +21382,21 @@ typedef unsigned int GLhandleARB; void glProgramUniform4ui64vARB - GLuint program + GLuint program GLint location GLsizei count const GLuint64 *value void glProgramUniform4ui64vNV - GLuint program + GLuint program GLint location GLsizei count const GLuint64EXT *value void glProgramUniform4uiEXT - GLuint program + GLuint program GLint location GLuint v0 GLuint v1 @@ -26109,14 +21406,14 @@ typedef unsigned int GLhandleARB; void glProgramUniform4uiv - GLuint program + GLuint program GLint location GLsizei count const GLuint *value void glProgramUniform4uivEXT - GLuint program + GLuint program GLint location GLsizei count const GLuint *value @@ -26124,33 +21421,33 @@ typedef unsigned int GLhandleARB; void glProgramUniformHandleui64ARB - GLuint program + GLuint program GLint location GLuint64 value void glProgramUniformHandleui64IMG - GLuint program + GLuint program GLint location GLuint64 value void glProgramUniformHandleui64NV - GLuint program + GLuint program GLint location GLuint64 value void glProgramUniformHandleui64vARB - GLuint program + GLuint program GLint location GLsizei count const GLuint64 *values void glProgramUniformHandleui64vIMG - GLuint program + GLuint program GLint location GLsizei count const GLuint64 *values @@ -26158,14 +21455,14 @@ typedef unsigned int GLhandleARB; void glProgramUniformHandleui64vNV - GLuint program + GLuint program GLint location GLsizei count const GLuint64 *values void glProgramUniformMatrix2dv - GLuint program + GLuint program GLint location GLsizei count GLboolean transpose @@ -26173,7 +21470,7 @@ typedef unsigned int GLhandleARB; void glProgramUniformMatrix2dvEXT - GLuint program + GLuint program GLint location GLsizei count GLboolean transpose @@ -26181,7 +21478,7 @@ typedef unsigned int GLhandleARB; void glProgramUniformMatrix2fv - GLuint program + GLuint program GLint location GLsizei count GLboolean transpose @@ -26189,7 +21486,7 @@ typedef unsigned int GLhandleARB; void glProgramUniformMatrix2fvEXT - GLuint program + GLuint program GLint location GLsizei count GLboolean transpose @@ -26198,7 +21495,7 @@ typedef unsigned int GLhandleARB; void glProgramUniformMatrix2x3dv - GLuint program + GLuint program GLint location GLsizei count GLboolean transpose @@ -26206,7 +21503,7 @@ typedef unsigned int GLhandleARB; void glProgramUniformMatrix2x3dvEXT - GLuint program + GLuint program GLint location GLsizei count GLboolean transpose @@ -26214,7 +21511,7 @@ typedef unsigned int GLhandleARB; void glProgramUniformMatrix2x3fv - GLuint program + GLuint program GLint location GLsizei count GLboolean transpose @@ -26222,7 +21519,7 @@ typedef unsigned int GLhandleARB; void glProgramUniformMatrix2x3fvEXT - GLuint program + GLuint program GLint location GLsizei count GLboolean transpose @@ -26231,7 +21528,7 @@ typedef unsigned int GLhandleARB; void glProgramUniformMatrix2x4dv - GLuint program + GLuint program GLint location GLsizei count GLboolean transpose @@ -26239,7 +21536,7 @@ typedef unsigned int GLhandleARB; void glProgramUniformMatrix2x4dvEXT - GLuint program + GLuint program GLint location GLsizei count GLboolean transpose @@ -26247,7 +21544,7 @@ typedef unsigned int GLhandleARB; void glProgramUniformMatrix2x4fv - GLuint program + GLuint program GLint location GLsizei count GLboolean transpose @@ -26255,7 +21552,7 @@ typedef unsigned int GLhandleARB; void glProgramUniformMatrix2x4fvEXT - GLuint program + GLuint program GLint location GLsizei count GLboolean transpose @@ -26264,7 +21561,7 @@ typedef unsigned int GLhandleARB; void glProgramUniformMatrix3dv - GLuint program + GLuint program GLint location GLsizei count GLboolean transpose @@ -26272,7 +21569,7 @@ typedef unsigned int GLhandleARB; void glProgramUniformMatrix3dvEXT - GLuint program + GLuint program GLint location GLsizei count GLboolean transpose @@ -26280,7 +21577,7 @@ typedef unsigned int GLhandleARB; void glProgramUniformMatrix3fv - GLuint program + GLuint program GLint location GLsizei count GLboolean transpose @@ -26288,7 +21585,7 @@ typedef unsigned int GLhandleARB; void glProgramUniformMatrix3fvEXT - GLuint program + GLuint program GLint location GLsizei count GLboolean transpose @@ -26297,7 +21594,7 @@ typedef unsigned int GLhandleARB; void glProgramUniformMatrix3x2dv - GLuint program + GLuint program GLint location GLsizei count GLboolean transpose @@ -26305,7 +21602,7 @@ typedef unsigned int GLhandleARB; void glProgramUniformMatrix3x2dvEXT - GLuint program + GLuint program GLint location GLsizei count GLboolean transpose @@ -26313,7 +21610,7 @@ typedef unsigned int GLhandleARB; void glProgramUniformMatrix3x2fv - GLuint program + GLuint program GLint location GLsizei count GLboolean transpose @@ -26321,7 +21618,7 @@ typedef unsigned int GLhandleARB; void glProgramUniformMatrix3x2fvEXT - GLuint program + GLuint program GLint location GLsizei count GLboolean transpose @@ -26330,7 +21627,7 @@ typedef unsigned int GLhandleARB; void glProgramUniformMatrix3x4dv - GLuint program + GLuint program GLint location GLsizei count GLboolean transpose @@ -26338,7 +21635,7 @@ typedef unsigned int GLhandleARB; void glProgramUniformMatrix3x4dvEXT - GLuint program + GLuint program GLint location GLsizei count GLboolean transpose @@ -26346,7 +21643,7 @@ typedef unsigned int GLhandleARB; void glProgramUniformMatrix3x4fv - GLuint program + GLuint program GLint location GLsizei count GLboolean transpose @@ -26354,7 +21651,7 @@ typedef unsigned int GLhandleARB; void glProgramUniformMatrix3x4fvEXT - GLuint program + GLuint program GLint location GLsizei count GLboolean transpose @@ -26363,7 +21660,7 @@ typedef unsigned int GLhandleARB; void glProgramUniformMatrix4dv - GLuint program + GLuint program GLint location GLsizei count GLboolean transpose @@ -26371,7 +21668,7 @@ typedef unsigned int GLhandleARB; void glProgramUniformMatrix4dvEXT - GLuint program + GLuint program GLint location GLsizei count GLboolean transpose @@ -26379,7 +21676,7 @@ typedef unsigned int GLhandleARB; void glProgramUniformMatrix4fv - GLuint program + GLuint program GLint location GLsizei count GLboolean transpose @@ -26387,7 +21684,7 @@ typedef unsigned int GLhandleARB; void glProgramUniformMatrix4fvEXT - GLuint program + GLuint program GLint location GLsizei count GLboolean transpose @@ -26396,7 +21693,7 @@ typedef unsigned int GLhandleARB; void glProgramUniformMatrix4x2dv - GLuint program + GLuint program GLint location GLsizei count GLboolean transpose @@ -26404,7 +21701,7 @@ typedef unsigned int GLhandleARB; void glProgramUniformMatrix4x2dvEXT - GLuint program + GLuint program GLint location GLsizei count GLboolean transpose @@ -26412,7 +21709,7 @@ typedef unsigned int GLhandleARB; void glProgramUniformMatrix4x2fv - GLuint program + GLuint program GLint location GLsizei count GLboolean transpose @@ -26420,7 +21717,7 @@ typedef unsigned int GLhandleARB; void glProgramUniformMatrix4x2fvEXT - GLuint program + GLuint program GLint location GLsizei count GLboolean transpose @@ -26429,7 +21726,7 @@ typedef unsigned int GLhandleARB; void glProgramUniformMatrix4x3dv - GLuint program + GLuint program GLint location GLsizei count GLboolean transpose @@ -26437,7 +21734,7 @@ typedef unsigned int GLhandleARB; void glProgramUniformMatrix4x3dvEXT - GLuint program + GLuint program GLint location GLsizei count GLboolean transpose @@ -26445,7 +21742,7 @@ typedef unsigned int GLhandleARB; void glProgramUniformMatrix4x3fv - GLuint program + GLuint program GLint location GLsizei count GLboolean transpose @@ -26453,7 +21750,7 @@ typedef unsigned int GLhandleARB; void glProgramUniformMatrix4x3fvEXT - GLuint program + GLuint program GLint location GLsizei count GLboolean transpose @@ -26462,13 +21759,13 @@ typedef unsigned int GLhandleARB; void glProgramUniformui64NV - GLuint program + GLuint program GLint location GLuint64EXT value void glProgramUniformui64vNV - GLuint program + GLuint program GLint location GLsizei count const GLuint64EXT *value @@ -26531,12 +21828,12 @@ typedef unsigned int GLhandleARB; void glQueryCounter - GLuint id + GLuint id GLenum target void glQueryCounterEXT - GLuint id + GLuint id GLenum target @@ -26548,7 +21845,7 @@ typedef unsigned int GLhandleARB; void glQueryObjectParameteruiAMD GLenum target - GLuint id + GLuint id GLenum pname GLuint param @@ -27178,7 +22475,7 @@ typedef unsigned int GLhandleARB; void glRequestResidentProgramsNV GLsizei n - const GLuint *programs + const GLuint *programs @@ -27316,65 +22613,65 @@ typedef unsigned int GLhandleARB; void glSamplerParameterIiv - GLuint sampler + GLuint sampler GLenum pname const GLint *param void glSamplerParameterIivEXT - GLuint sampler + GLuint sampler GLenum pname const GLint *param void glSamplerParameterIivOES - GLuint sampler + GLuint sampler GLenum pname const GLint *param void glSamplerParameterIuiv - GLuint sampler + GLuint sampler GLenum pname const GLuint *param void glSamplerParameterIuivEXT - GLuint sampler + GLuint sampler GLenum pname const GLuint *param void glSamplerParameterIuivOES - GLuint sampler + GLuint sampler GLenum pname const GLuint *param void glSamplerParameterf - GLuint sampler + GLuint sampler GLenum pname GLfloat param void glSamplerParameterfv - GLuint sampler + GLuint sampler GLenum pname const GLfloat *param void glSamplerParameteri - GLuint sampler + GLuint sampler GLenum pname GLint param void glSamplerParameteriv - GLuint sampler + GLuint sampler GLenum pname const GLint *param @@ -27761,6 +23058,12 @@ typedef unsigned int GLhandleARB; GLint numCounters GLuint *counterList + + void glSemaphoreParameterivNV + GLuint semaphore + GLenum pname + const GLint *params + void glSemaphoreParameterui64vEXT GLuint semaphore @@ -27833,8 +23136,8 @@ typedef unsigned int GLhandleARB; void glShaderBinary GLsizei count - const GLuint *shaders - GLenum binaryformat + const GLuint *shaders + GLenum binaryFormat const void *binary GLsizei length @@ -27861,7 +23164,7 @@ typedef unsigned int GLhandleARB; void glShaderSource - GLuint shader + GLuint shader GLsizei count const GLchar *const*string const GLint *length @@ -27876,7 +23179,7 @@ typedef unsigned int GLhandleARB; void glShaderStorageBlockBinding - GLuint program + GLuint program GLuint storageBlockIndex GLuint storageBlockBinding @@ -27916,9 +23219,9 @@ typedef unsigned int GLhandleARB; void glSignalSemaphoreEXT GLuint semaphore GLuint numBufferBarriers - const GLuint *buffers + const GLuint *buffers GLuint numTextureBarriers - const GLuint *textures + const GLuint *textures const GLenum *dstLayouts @@ -27930,7 +23233,7 @@ typedef unsigned int GLhandleARB; void glSpecializeShader - GLuint shader + GLuint shader const GLchar *pEntryPoint GLuint numSpecializationConstants const GLuint *pConstantIndex @@ -27938,7 +23241,7 @@ typedef unsigned int GLhandleARB; void glSpecializeShaderARB - GLuint shader + GLuint shader const GLchar *pEntryPoint GLuint numSpecializationConstants const GLuint *pConstantIndex @@ -28148,7 +23451,7 @@ typedef unsigned int GLhandleARB; void glSyncTextureINTEL - GLuint texture + GLuint texture void glTagSampleBufferSGIX @@ -28250,44 +23553,44 @@ typedef unsigned int GLhandleARB; void glTexBuffer GLenum target - GLenum internalformat - GLuint buffer + GLenum internalformat + GLuint buffer void glTexBufferARB GLenum target - GLenum internalformat - GLuint buffer + GLenum internalformat + GLuint buffer void glTexBufferEXT GLenum target - GLenum internalformat - GLuint buffer + GLenum internalformat + GLuint buffer void glTexBufferOES GLenum target - GLenum internalformat - GLuint buffer + GLenum internalformat + GLuint buffer void glTexBufferRange GLenum target - GLenum internalformat - GLuint buffer + GLenum internalformat + GLuint buffer GLintptr offset GLsizeiptr size void glTexBufferRangeEXT GLenum target - GLenum internalformat - GLuint buffer + GLenum internalformat + GLuint buffer GLintptr offset GLsizeiptr size @@ -28295,8 +23598,8 @@ typedef unsigned int GLhandleARB; void glTexBufferRangeOES GLenum target - GLenum internalformat - GLuint buffer + GLenum internalformat + GLuint buffer GLintptr offset GLsizeiptr size @@ -28874,16 +24177,23 @@ typedef unsigned int GLhandleARB; void glTexEstimateMotionQCOM - GLuint ref - GLuint target - GLuint output + GLuint ref + GLuint target + GLuint output void glTexEstimateMotionRegionsQCOM - GLuint ref - GLuint target - GLuint output - GLuint mask + GLuint ref + GLuint target + GLuint output + GLuint mask + + + void glExtrapolateTex2DQCOM + GLuint src1 + GLuint src2 + GLuint output + GLfloat scaleFactor void glTexFilterFuncSGIS @@ -29012,7 +24322,7 @@ typedef unsigned int GLhandleARB; GLenum target GLsizei coverageSamples GLsizei colorSamples - GLint internalFormat + GLint internalFormat GLsizei width GLsizei height GLboolean fixedSampleLocations @@ -29062,7 +24372,7 @@ typedef unsigned int GLhandleARB; GLenum target GLsizei coverageSamples GLsizei colorSamples - GLint internalFormat + GLint internalFormat GLsizei width GLsizei height GLsizei depth @@ -29121,6 +24431,21 @@ typedef unsigned int GLhandleARB; GLboolean commit + + void glTexPageCommitmentMemNV + GLenum target + GLint layer + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLsizei width + GLsizei height + GLsizei depth + GLuint memory + GLuint64 offset + GLboolean commit + void glTexParameterIiv GLenum target @@ -29218,20 +24543,20 @@ typedef unsigned int GLhandleARB; void glTexRenderbufferNV GLenum target - GLuint renderbuffer + GLuint renderbuffer void glTexStorage1D GLenum target GLsizei levels - GLenum internalformat + GLenum internalformat GLsizei width void glTexStorage1DEXT GLenum target GLsizei levels - GLenum internalformat + GLenum internalformat GLsizei width @@ -29239,7 +24564,7 @@ typedef unsigned int GLhandleARB; void glTexStorage2D GLenum target GLsizei levels - GLenum internalformat + GLenum internalformat GLsizei width GLsizei height @@ -29247,7 +24572,7 @@ typedef unsigned int GLhandleARB; void glTexStorage2DEXT GLenum target GLsizei levels - GLenum internalformat + GLenum internalformat GLsizei width GLsizei height @@ -29256,7 +24581,7 @@ typedef unsigned int GLhandleARB; void glTexStorage2DMultisample GLenum target GLsizei samples - GLenum internalformat + GLenum internalformat GLsizei width GLsizei height GLboolean fixedsamplelocations @@ -29265,7 +24590,7 @@ typedef unsigned int GLhandleARB; void glTexStorage3D GLenum target GLsizei levels - GLenum internalformat + GLenum internalformat GLsizei width GLsizei height GLsizei depth @@ -29274,7 +24599,7 @@ typedef unsigned int GLhandleARB; void glTexStorage3DEXT GLenum target GLsizei levels - GLenum internalformat + GLenum internalformat GLsizei width GLsizei height GLsizei depth @@ -29284,7 +24609,7 @@ typedef unsigned int GLhandleARB; void glTexStorage3DMultisample GLenum target GLsizei samples - GLenum internalformat + GLenum internalformat GLsizei width GLsizei height GLsizei depth @@ -29294,18 +24619,37 @@ typedef unsigned int GLhandleARB; void glTexStorage3DMultisampleOES GLenum target GLsizei samples - GLenum internalformat + GLenum internalformat GLsizei width GLsizei height GLsizei depth GLboolean fixedsamplelocations + + void TexStorageAttribs2DEXT + GLenum target + GLsizei levels + GLenum internalformat + GLsizei width + GLsizei height + const int *attrib_list + + + void TexStorageAttribs3DEXT + GLenum target + GLsizei levels + GLenum internalformat + GLsizei width + GLsizei height + GLsizei depth + const int *attrib_list + void glTexStorageMem1DEXT GLenum target GLsizei levels - GLenum internalFormat + GLenum internalFormat GLsizei width GLuint memory GLuint64 offset @@ -29314,7 +24658,7 @@ typedef unsigned int GLhandleARB; void glTexStorageMem2DEXT GLenum target GLsizei levels - GLenum internalFormat + GLenum internalFormat GLsizei width GLsizei height GLuint memory @@ -29324,7 +24668,7 @@ typedef unsigned int GLhandleARB; void glTexStorageMem2DMultisampleEXT GLenum target GLsizei samples - GLenum internalFormat + GLenum internalFormat GLsizei width GLsizei height GLboolean fixedSampleLocations @@ -29335,7 +24679,7 @@ typedef unsigned int GLhandleARB; void glTexStorageMem3DEXT GLenum target GLsizei levels - GLenum internalFormat + GLenum internalFormat GLsizei width GLsizei height GLsizei depth @@ -29346,7 +24690,7 @@ typedef unsigned int GLhandleARB; void glTexStorageMem3DMultisampleEXT GLenum target GLsizei samples - GLenum internalFormat + GLenum internalFormat GLsizei width GLsizei height GLsizei depth @@ -29357,7 +24701,7 @@ typedef unsigned int GLhandleARB; void glTexStorageSparseAMD GLenum target - GLenum internalFormat + GLenum internalFormat GLsizei width GLsizei height GLsizei depth @@ -29481,7 +24825,7 @@ typedef unsigned int GLhandleARB; void glTextureAttachMemoryNV - GLuint texture + GLuint texture GLuint memory GLuint64 offset @@ -29494,31 +24838,31 @@ typedef unsigned int GLhandleARB; void glTextureBuffer - GLuint texture - GLenum internalformat - GLuint buffer + GLuint texture + GLenum internalformat + GLuint buffer void glTextureBufferEXT - GLuint texture + GLuint texture GLenum target - GLenum internalformat - GLuint buffer + GLenum internalformat + GLuint buffer void glTextureBufferRange - GLuint texture - GLenum internalformat - GLuint buffer + GLuint texture + GLenum internalformat + GLuint buffer GLintptr offset GLsizeiptr size void glTextureBufferRangeEXT - GLuint texture + GLuint texture GLenum target - GLenum internalformat - GLuint buffer + GLenum internalformat + GLuint buffer GLintptr offset GLsizeiptr size @@ -29532,7 +24876,7 @@ typedef unsigned int GLhandleARB; void glTextureFoveationParametersQCOM - GLuint texture + GLuint texture GLuint layer GLuint focalPoint GLfloat focalX @@ -29543,7 +24887,7 @@ typedef unsigned int GLhandleARB; void glTextureImage1DEXT - GLuint texture + GLuint texture GLenum target GLint level GLint internalformat @@ -29555,7 +24899,7 @@ typedef unsigned int GLhandleARB; void glTextureImage2DEXT - GLuint texture + GLuint texture GLenum target GLint level GLint internalformat @@ -29568,28 +24912,28 @@ typedef unsigned int GLhandleARB; void glTextureImage2DMultisampleCoverageNV - GLuint texture + GLuint texture GLenum target GLsizei coverageSamples GLsizei colorSamples - GLint internalFormat + GLint internalFormat GLsizei width GLsizei height GLboolean fixedSampleLocations void glTextureImage2DMultisampleNV - GLuint texture + GLuint texture GLenum target GLsizei samples - GLint internalFormat + GLint internalFormat GLsizei width GLsizei height GLboolean fixedSampleLocations void glTextureImage3DEXT - GLuint texture + GLuint texture GLenum target GLint level GLint internalformat @@ -29603,11 +24947,11 @@ typedef unsigned int GLhandleARB; void glTextureImage3DMultisampleCoverageNV - GLuint texture + GLuint texture GLenum target GLsizei coverageSamples GLsizei colorSamples - GLint internalFormat + GLint internalFormat GLsizei width GLsizei height GLsizei depth @@ -29615,10 +24959,10 @@ typedef unsigned int GLhandleARB; void glTextureImage3DMultisampleNV - GLuint texture + GLuint texture GLenum target GLsizei samples - GLint internalFormat + GLint internalFormat GLsizei width GLsizei height GLsizei depth @@ -29639,7 +24983,7 @@ typedef unsigned int GLhandleARB; void glTexturePageCommitmentEXT - GLuint texture + GLuint texture GLint level GLint xoffset GLint yoffset @@ -29649,41 +24993,56 @@ typedef unsigned int GLhandleARB; GLsizei depth GLboolean commit + + void glTexturePageCommitmentMemNV + GLuint texture + GLint layer + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLsizei width + GLsizei height + GLsizei depth + GLuint memory + GLuint64 offset + GLboolean commit + void glTextureParameterIiv - GLuint texture + GLuint texture GLenum pname const GLint *params void glTextureParameterIivEXT - GLuint texture + GLuint texture GLenum target GLenum pname const GLint *params void glTextureParameterIuiv - GLuint texture + GLuint texture GLenum pname const GLuint *params void glTextureParameterIuivEXT - GLuint texture + GLuint texture GLenum target GLenum pname const GLuint *params void glTextureParameterf - GLuint texture + GLuint texture GLenum pname GLfloat param void glTextureParameterfEXT - GLuint texture + GLuint texture GLenum target GLenum pname GLfloat param @@ -29691,26 +25050,26 @@ typedef unsigned int GLhandleARB; void glTextureParameterfv - GLuint texture + GLuint texture GLenum pname const GLfloat *param void glTextureParameterfvEXT - GLuint texture + GLuint texture GLenum target GLenum pname const GLfloat *params void glTextureParameteri - GLuint texture + GLuint texture GLenum pname GLint param void glTextureParameteriEXT - GLuint texture + GLuint texture GLenum target GLenum pname GLint param @@ -29718,13 +25077,13 @@ typedef unsigned int GLhandleARB; void glTextureParameteriv - GLuint texture + GLuint texture GLenum pname const GLint *param void glTextureParameterivEXT - GLuint texture + GLuint texture GLenum target GLenum pname const GLint *params @@ -29737,85 +25096,85 @@ typedef unsigned int GLhandleARB; void glTextureRenderbufferEXT - GLuint texture + GLuint texture GLenum target - GLuint renderbuffer + GLuint renderbuffer void glTextureStorage1D - GLuint texture + GLuint texture GLsizei levels - GLenum internalformat + GLenum internalformat GLsizei width void glTextureStorage1DEXT - GLuint texture + GLuint texture GLenum target GLsizei levels - GLenum internalformat + GLenum internalformat GLsizei width void glTextureStorage2D - GLuint texture + GLuint texture GLsizei levels - GLenum internalformat + GLenum internalformat GLsizei width GLsizei height void glTextureStorage2DEXT - GLuint texture + GLuint texture GLenum target GLsizei levels - GLenum internalformat + GLenum internalformat GLsizei width GLsizei height void glTextureStorage2DMultisample - GLuint texture + GLuint texture GLsizei samples - GLenum internalformat + GLenum internalformat GLsizei width GLsizei height GLboolean fixedsamplelocations void glTextureStorage2DMultisampleEXT - GLuint texture + GLuint texture GLenum target GLsizei samples - GLenum internalformat + GLenum internalformat GLsizei width GLsizei height GLboolean fixedsamplelocations void glTextureStorage3D - GLuint texture + GLuint texture GLsizei levels - GLenum internalformat + GLenum internalformat GLsizei width GLsizei height GLsizei depth void glTextureStorage3DEXT - GLuint texture + GLuint texture GLenum target GLsizei levels - GLenum internalformat + GLenum internalformat GLsizei width GLsizei height GLsizei depth void glTextureStorage3DMultisample - GLuint texture + GLuint texture GLsizei samples - GLenum internalformat + GLenum internalformat GLsizei width GLsizei height GLsizei depth @@ -29823,10 +25182,10 @@ typedef unsigned int GLhandleARB; void glTextureStorage3DMultisampleEXT - GLuint texture + GLuint texture GLenum target GLsizei samples - GLenum internalformat + GLenum internalformat GLsizei width GLsizei height GLsizei depth @@ -29834,18 +25193,18 @@ typedef unsigned int GLhandleARB; void glTextureStorageMem1DEXT - GLuint texture + GLuint texture GLsizei levels - GLenum internalFormat + GLenum internalFormat GLsizei width GLuint memory GLuint64 offset void glTextureStorageMem2DEXT - GLuint texture + GLuint texture GLsizei levels - GLenum internalFormat + GLenum internalFormat GLsizei width GLsizei height GLuint memory @@ -29853,9 +25212,9 @@ typedef unsigned int GLhandleARB; void glTextureStorageMem2DMultisampleEXT - GLuint texture + GLuint texture GLsizei samples - GLenum internalFormat + GLenum internalFormat GLsizei width GLsizei height GLboolean fixedSampleLocations @@ -29864,9 +25223,9 @@ typedef unsigned int GLhandleARB; void glTextureStorageMem3DEXT - GLuint texture + GLuint texture GLsizei levels - GLenum internalFormat + GLenum internalFormat GLsizei width GLsizei height GLsizei depth @@ -29875,9 +25234,9 @@ typedef unsigned int GLhandleARB; void glTextureStorageMem3DMultisampleEXT - GLuint texture + GLuint texture GLsizei samples - GLenum internalFormat + GLenum internalFormat GLsizei width GLsizei height GLsizei depth @@ -29887,9 +25246,9 @@ typedef unsigned int GLhandleARB; void glTextureStorageSparseAMD - GLuint texture + GLuint texture GLenum target - GLenum internalFormat + GLenum internalFormat GLsizei width GLsizei height GLsizei depth @@ -29898,7 +25257,7 @@ typedef unsigned int GLhandleARB; void glTextureSubImage1D - GLuint texture + GLuint texture GLint level GLint xoffset GLsizei width @@ -29908,7 +25267,7 @@ typedef unsigned int GLhandleARB; void glTextureSubImage1DEXT - GLuint texture + GLuint texture GLenum target GLint level GLint xoffset @@ -29919,7 +25278,7 @@ typedef unsigned int GLhandleARB; void glTextureSubImage2D - GLuint texture + GLuint texture GLint level GLint xoffset GLint yoffset @@ -29931,7 +25290,7 @@ typedef unsigned int GLhandleARB; void glTextureSubImage2DEXT - GLuint texture + GLuint texture GLenum target GLint level GLint xoffset @@ -29944,7 +25303,7 @@ typedef unsigned int GLhandleARB; void glTextureSubImage3D - GLuint texture + GLuint texture GLint level GLint xoffset GLint yoffset @@ -29958,7 +25317,7 @@ typedef unsigned int GLhandleARB; void glTextureSubImage3DEXT - GLuint texture + GLuint texture GLenum target GLint level GLint xoffset @@ -29973,10 +25332,10 @@ typedef unsigned int GLhandleARB; void glTextureView - GLuint texture + GLuint texture GLenum target - GLuint origtexture - GLenum internalformat + GLuint origtexture + GLenum internalformat GLuint minlevel GLuint numlevels GLuint minlayer @@ -29984,10 +25343,10 @@ typedef unsigned int GLhandleARB; void glTextureViewEXT - GLuint texture + GLuint texture GLenum target - GLuint origtexture - GLenum internalformat + GLuint origtexture + GLenum internalformat GLuint minlevel GLuint numlevels GLuint minlayer @@ -29996,10 +25355,10 @@ typedef unsigned int GLhandleARB; void glTextureViewOES - GLuint texture + GLuint texture GLenum target - GLuint origtexture - GLenum internalformat + GLuint origtexture + GLenum internalformat GLuint minlevel GLuint numlevels GLuint minlayer @@ -30022,15 +25381,15 @@ typedef unsigned int GLhandleARB; void glTransformFeedbackBufferBase - GLuint xfb + GLuint xfb GLuint index - GLuint buffer + GLuint buffer void glTransformFeedbackBufferRange - GLuint xfb + GLuint xfb GLuint index - GLuint buffer + GLuint buffer GLintptr offset GLsizeiptr size @@ -30044,7 +25403,7 @@ typedef unsigned int GLhandleARB; void glTransformFeedbackVaryings - GLuint program + GLuint program GLsizei count const GLchar *const*varyings GLenum bufferMode @@ -30052,7 +25411,7 @@ typedef unsigned int GLhandleARB; void glTransformFeedbackVaryingsEXT - GLuint program + GLuint program GLsizei count const GLchar *const*varyings GLenum bufferMode @@ -30060,7 +25419,7 @@ typedef unsigned int GLhandleARB; void glTransformFeedbackVaryingsNV - GLuint program + GLuint program GLsizei count const GLint *locations GLenum bufferMode @@ -30674,16 +26033,16 @@ typedef unsigned int GLhandleARB; void glUniformBlockBinding - GLuint program + GLuint program GLuint uniformBlockIndex GLuint uniformBlockBinding void glUniformBufferEXT - GLuint program + GLuint program GLint location - GLuint buffer + GLuint buffer void glUniformHandleui64ARB @@ -30960,24 +26319,24 @@ typedef unsigned int GLhandleARB; GLboolean glUnmapNamedBuffer - GLuint buffer + GLuint buffer GLboolean glUnmapNamedBufferEXT - GLuint buffer + GLuint buffer void glUnmapObjectBufferATI - GLuint buffer + GLuint buffer void glUnmapTexture2DINTEL - GLuint texture + GLuint texture GLint level void glUpdateObjectBufferATI - GLuint buffer + GLuint buffer GLuint offset GLsizei size const void *pointer @@ -30989,7 +26348,7 @@ typedef unsigned int GLhandleARB; void glUseProgram - GLuint program + GLuint program void glUseProgramObjectARB @@ -30998,20 +26357,20 @@ typedef unsigned int GLhandleARB; void glUseProgramStages - GLuint pipeline + GLuint pipeline GLbitfield stages - GLuint program + GLuint program void glUseProgramStagesEXT - GLuint pipeline + GLuint pipeline GLbitfield stages - GLuint program + GLuint program void glUseShaderProgramEXT GLenum type - GLuint program + GLuint program void glVDPAUFiniNV @@ -31076,7 +26435,7 @@ typedef unsigned int GLhandleARB; void glValidateProgram - GLuint program + GLuint program void glValidateProgramARB @@ -31085,18 +26444,18 @@ typedef unsigned int GLhandleARB; void glValidateProgramPipeline - GLuint pipeline + GLuint pipeline void glValidateProgramPipelineEXT - GLuint pipeline + GLuint pipeline void glVariantArrayObjectATI GLuint id GLenum type GLsizei stride - GLuint buffer + GLuint buffer GLuint offset @@ -31385,13 +26744,13 @@ typedef unsigned int GLhandleARB; void glVertexArrayAttribBinding - GLuint vaobj + GLuint vaobj GLuint attribindex GLuint bindingindex void glVertexArrayAttribFormat - GLuint vaobj + GLuint vaobj GLuint attribindex GLint size GLenum type @@ -31400,7 +26759,7 @@ typedef unsigned int GLhandleARB; void glVertexArrayAttribIFormat - GLuint vaobj + GLuint vaobj GLuint attribindex GLint size GLenum type @@ -31408,7 +26767,7 @@ typedef unsigned int GLhandleARB; void glVertexArrayAttribLFormat - GLuint vaobj + GLuint vaobj GLuint attribindex GLint size GLenum type @@ -31416,22 +26775,22 @@ typedef unsigned int GLhandleARB; void glVertexArrayBindVertexBufferEXT - GLuint vaobj + GLuint vaobj GLuint bindingindex - GLuint buffer + GLuint buffer GLintptr offset GLsizei stride void glVertexArrayBindingDivisor - GLuint vaobj + GLuint vaobj GLuint bindingindex GLuint divisor void glVertexArrayColorOffsetEXT - GLuint vaobj - GLuint buffer + GLuint vaobj + GLuint buffer GLint size GLenum type GLsizei stride @@ -31439,36 +26798,36 @@ typedef unsigned int GLhandleARB; void glVertexArrayEdgeFlagOffsetEXT - GLuint vaobj - GLuint buffer + GLuint vaobj + GLuint buffer GLsizei stride GLintptr offset void glVertexArrayElementBuffer - GLuint vaobj - GLuint buffer + GLuint vaobj + GLuint buffer void glVertexArrayFogCoordOffsetEXT - GLuint vaobj - GLuint buffer + GLuint vaobj + GLuint buffer GLenum type GLsizei stride GLintptr offset void glVertexArrayIndexOffsetEXT - GLuint vaobj - GLuint buffer + GLuint vaobj + GLuint buffer GLenum type GLsizei stride GLintptr offset void glVertexArrayMultiTexCoordOffsetEXT - GLuint vaobj - GLuint buffer + GLuint vaobj + GLuint buffer GLenum texunit GLint size GLenum type @@ -31477,8 +26836,8 @@ typedef unsigned int GLhandleARB; void glVertexArrayNormalOffsetEXT - GLuint vaobj - GLuint buffer + GLuint vaobj + GLuint buffer GLenum type GLsizei stride GLintptr offset @@ -31500,8 +26859,8 @@ typedef unsigned int GLhandleARB; void glVertexArraySecondaryColorOffsetEXT - GLuint vaobj - GLuint buffer + GLuint vaobj + GLuint buffer GLint size GLenum type GLsizei stride @@ -31509,8 +26868,8 @@ typedef unsigned int GLhandleARB; void glVertexArrayTexCoordOffsetEXT - GLuint vaobj - GLuint buffer + GLuint vaobj + GLuint buffer GLint size GLenum type GLsizei stride @@ -31518,19 +26877,19 @@ typedef unsigned int GLhandleARB; void glVertexArrayVertexAttribBindingEXT - GLuint vaobj + GLuint vaobj GLuint attribindex GLuint bindingindex void glVertexArrayVertexAttribDivisorEXT - GLuint vaobj + GLuint vaobj GLuint index GLuint divisor void glVertexArrayVertexAttribFormatEXT - GLuint vaobj + GLuint vaobj GLuint attribindex GLint size GLenum type @@ -31539,7 +26898,7 @@ typedef unsigned int GLhandleARB; void glVertexArrayVertexAttribIFormatEXT - GLuint vaobj + GLuint vaobj GLuint attribindex GLint size GLenum type @@ -31547,8 +26906,8 @@ typedef unsigned int GLhandleARB; void glVertexArrayVertexAttribIOffsetEXT - GLuint vaobj - GLuint buffer + GLuint vaobj + GLuint buffer GLuint index GLint size GLenum type @@ -31557,7 +26916,7 @@ typedef unsigned int GLhandleARB; void glVertexArrayVertexAttribLFormatEXT - GLuint vaobj + GLuint vaobj GLuint attribindex GLint size GLenum type @@ -31565,8 +26924,8 @@ typedef unsigned int GLhandleARB; void glVertexArrayVertexAttribLOffsetEXT - GLuint vaobj - GLuint buffer + GLuint vaobj + GLuint buffer GLuint index GLint size GLenum type @@ -31575,8 +26934,8 @@ typedef unsigned int GLhandleARB; void glVertexArrayVertexAttribOffsetEXT - GLuint vaobj - GLuint buffer + GLuint vaobj + GLuint buffer GLuint index GLint size GLenum type @@ -31586,31 +26945,31 @@ typedef unsigned int GLhandleARB; void glVertexArrayVertexBindingDivisorEXT - GLuint vaobj + GLuint vaobj GLuint bindingindex GLuint divisor void glVertexArrayVertexBuffer - GLuint vaobj + GLuint vaobj GLuint bindingindex - GLuint buffer + GLuint buffer GLintptr offset GLsizei stride void glVertexArrayVertexBuffers - GLuint vaobj + GLuint vaobj GLuint first GLsizei count - const GLuint *buffers + const GLuint *buffers const GLintptr *offsets const GLsizei *strides void glVertexArrayVertexOffsetEXT - GLuint vaobj - GLuint buffer + GLuint vaobj + GLuint buffer GLint size GLenum type GLsizei stride @@ -32368,7 +27727,7 @@ typedef unsigned int GLhandleARB; GLenum type GLboolean normalized GLsizei stride - GLuint buffer + GLuint buffer GLuint offset @@ -33565,9 +28924,9 @@ typedef unsigned int GLhandleARB; void glWaitSemaphoreEXT GLuint semaphore GLuint numBufferBarriers - const GLuint *buffers + const GLuint *buffers GLuint numTextureBarriers - const GLuint *textures + const GLuint *textures const GLenum *srcLayouts @@ -33579,14 +28938,14 @@ typedef unsigned int GLhandleARB; void glWaitSync - GLsync sync - GLbitfield flags + GLsync sync + GLbitfield flags GLuint64 timeout void glWaitSyncAPPLE - GLsync sync - GLbitfield flags + GLsync sync + GLbitfield flags GLuint64 timeout @@ -34025,7 +29384,7 @@ typedef unsigned int GLhandleARB; void glDrawVkImageNV GLuint64 vkImage - GLuint sampler + GLuint sampler GLfloat x0 GLfloat y0 GLfloat x1 @@ -38091,6 +33450,20 @@ typedef unsigned int GLhandleARB; + + + + + + + + + + + + + + @@ -40433,7 +35806,6 @@ typedef unsigned int GLhandleARB; - @@ -44494,6 +39866,13 @@ typedef unsigned int GLhandleARB; + + + + + + + @@ -45512,7 +40891,6 @@ typedef unsigned int GLhandleARB; - @@ -45552,6 +40930,32 @@ typedef unsigned int GLhandleARB; + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -45761,6 +41165,10 @@ typedef unsigned int GLhandleARB; + + + + @@ -46106,7 +41514,6 @@ typedef unsigned int GLhandleARB; - @@ -46732,7 +42139,7 @@ typedef unsigned int GLhandleARB; - + @@ -46780,7 +42187,7 @@ typedef unsigned int GLhandleARB; - + @@ -46815,6 +42222,28 @@ typedef unsigned int GLhandleARB; + + + + + + + + + + + + + + + + + + + + + + @@ -46839,6 +42268,18 @@ typedef unsigned int GLhandleARB; + + + + + + + + + + + + @@ -47745,6 +43186,13 @@ typedef unsigned int GLhandleARB; + + + + + + + @@ -48049,7 +43497,6 @@ typedef unsigned int GLhandleARB; - @@ -48656,6 +44103,16 @@ typedef unsigned int GLhandleARB; + + + + + + + + + + @@ -49103,6 +44560,12 @@ typedef unsigned int GLhandleARB; + + + + + + @@ -49335,7 +44798,6 @@ typedef unsigned int GLhandleARB; - @@ -49869,7 +45331,7 @@ typedef unsigned int GLhandleARB; - + @@ -50996,6 +46458,13 @@ typedef unsigned int GLhandleARB; + + + + + + + @@ -51008,6 +46477,11 @@ typedef unsigned int GLhandleARB; + + + + + diff --git a/glad/files/glx.xml b/glad/files/glx.xml index 4ee1cae7..698b7af0 100644 --- a/glad/files/glx.xml +++ b/glad/files/glx.xml @@ -1,27 +1,13 @@ -Copyright (c) 2013-2019 The Khronos Group 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. - ------------------------------------------------------------------------- +Copyright 2013-2020 The Khronos Group Inc. +SPDX-License-Identifier: Apache-2.0 This file, glx.xml, is the GLX API Registry. The canonical version of the registry, together with documentation, schema, and Python generator scripts used to generate C header files for GLX, can always be found in the Khronos -Registry at - https://github.com/KhronosGroup/OpenGL-Registry +Registry at https://github.com/KhronosGroup/OpenGL-Registry @@ -1775,6 +1761,11 @@ typedef unsigned __int64 uint64_t; + + + + + diff --git a/glad/files/khrplatform.h b/glad/files/khrplatform.h index dd22d927..01646449 100644 --- a/glad/files/khrplatform.h +++ b/glad/files/khrplatform.h @@ -153,6 +153,20 @@ typedef int64_t khronos_int64_t; typedef uint64_t khronos_uint64_t; #define KHRONOS_SUPPORT_INT64 1 #define KHRONOS_SUPPORT_FLOAT 1 +/* + * To support platform where unsigned long cannot be used interchangeably with + * inptr_t (e.g. CHERI-extended ISAs), we can use the stdint.h intptr_t. + * Ideally, we could just use (u)intptr_t everywhere, but this could result in + * ABI breakage if khronos_uintptr_t is changed from unsigned long to + * unsigned long long or similar (this results in different C++ name mangling). + * To avoid changes for existing platforms, we restrict usage of intptr_t to + * platforms where the size of a pointer is larger than the size of long. + */ +#if defined(__SIZEOF_LONG__) && defined(__SIZEOF_POINTER__) +#if __SIZEOF_POINTER__ > __SIZEOF_LONG__ +#define KHRONOS_USE_INTPTR_T +#endif +#endif #elif defined(__VMS ) || defined(__sgi) @@ -235,14 +249,21 @@ typedef unsigned short int khronos_uint16_t; * pointers are 64 bits, but 'long' is still 32 bits. Win64 appears * to be the only LLP64 architecture in current use. */ -#ifdef _WIN64 +#ifdef KHRONOS_USE_INTPTR_T +typedef intptr_t khronos_intptr_t; +typedef uintptr_t khronos_uintptr_t; +#elif defined(_WIN64) typedef signed long long int khronos_intptr_t; typedef unsigned long long int khronos_uintptr_t; -typedef signed long long int khronos_ssize_t; -typedef unsigned long long int khronos_usize_t; #else typedef signed long int khronos_intptr_t; typedef unsigned long int khronos_uintptr_t; +#endif + +#if defined(_WIN64) +typedef signed long long int khronos_ssize_t; +typedef unsigned long long int khronos_usize_t; +#else typedef signed long int khronos_ssize_t; typedef unsigned long int khronos_usize_t; #endif diff --git a/glad/files/vk.xml b/glad/files/vk.xml index ec74598e..6a8d05e9 100644 --- a/glad/files/vk.xml +++ b/glad/files/vk.xml @@ -1,7 +1,7 @@ -Copyright (c) 2015-2020 The Khronos Group Inc. +Copyright 2015-2021 The Khronos Group Inc. SPDX-License-Identifier: Apache-2.0 OR MIT @@ -13,9 +13,9 @@ machine-readable definition of the API, parameter and member validation language incorporated into the Specification and reference pages, and other material which is registered by Khronos, such as tags used by extension and layer authors. The authoritative public version of vk.xml is maintained in -the master branch of the Khronos Vulkan GitHub project. The authoritative -private version is maintained in the master branch of the member gitlab -server. +the default branch (currently named main) of the Khronos Vulkan GitHub +project. The authoritative private version is maintained in the default +branch of the member gitlab server. @@ -23,6 +23,7 @@ server. + @@ -32,6 +33,7 @@ server. + @@ -49,10 +51,10 @@ server. - + - + @@ -65,6 +67,11 @@ server. + + + + + @@ -77,8 +84,10 @@ server. + + In the current header structure, each platform's interfaces are confined to a platform-specific header (vulkan_xlib.h, @@ -112,44 +121,79 @@ server. + + + + - #define VK_MAKE_VERSION(major, minor, patch) \ + // DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead. +#define VK_MAKE_VERSION(major, minor, patch) \ ((((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch))) - #define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22) - #define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff) - #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff) + // DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead. +#define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22) + // DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead. +#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3FFU) + // DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead. +#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU) + + #define VK_MAKE_API_VERSION(variant, major, minor, patch) \ + ((((uint32_t)(variant)) << 29) | (((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch))) + #define VK_API_VERSION_VARIANT(version) ((uint32_t)(version) >> 29) + #define VK_API_VERSION_MAJOR(version) (((uint32_t)(version) >> 22) & 0x7FU) + #define VK_API_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3FFU) + #define VK_API_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU) // DEPRECATED: This define has been removed. Specific version defines (e.g. VK_API_VERSION_1_0), or the VK_MAKE_VERSION macro, should be used instead. //#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) // Patch version should always be set to 0 - // Vulkan 1.0 version number -#define VK_API_VERSION_1_0 VK_MAKE_VERSION(1, 0, 0)// Patch version should always be set to 0 - // Vulkan 1.1 version number -#define VK_API_VERSION_1_1 VK_MAKE_VERSION(1, 1, 0)// Patch version should always be set to 0 - // Vulkan 1.2 version number -#define VK_API_VERSION_1_2 VK_MAKE_VERSION(1, 2, 0)// Patch version should always be set to 0 + // Vulkan 1.0 version number +#define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0 + // Vulkan 1.1 version number +#define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0 + // Vulkan 1.2 version number +#define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0 // Version of this file -#define VK_HEADER_VERSION 144 +#define VK_HEADER_VERSION 203 // Complete version of this file -#define VK_HEADER_VERSION_COMPLETE VK_MAKE_VERSION(1, 2, VK_HEADER_VERSION) +#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 2, VK_HEADER_VERSION) #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object; - -#if !defined(VK_DEFINE_NON_DISPATCHABLE_HANDLE) -#if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__) + +#ifndef VK_USE_64_BIT_PTR_DEFINES + #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__) + #define VK_USE_64_BIT_PTR_DEFINES 1 + #else + #define VK_USE_64_BIT_PTR_DEFINES 0 + #endif +#endif + +#ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE + #if (VK_USE_64_BIT_PTR_DEFINES==1) + #if (defined(__cplusplus) && (__cplusplus >= 201103L)) || (defined(_MSVC_LANG) && (_MSVC_LANG >= 201103L)) + #define VK_NULL_HANDLE nullptr + #else + #define VK_NULL_HANDLE ((void*)0) + #endif + #else + #define VK_NULL_HANDLE 0ULL + #endif +#endif +#ifndef VK_NULL_HANDLE + #define VK_NULL_HANDLE 0 +#endif + +#ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE + #if (VK_USE_64_BIT_PTR_DEFINES==1) #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object; -#else + #else #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object; -#endif + #endif #endif - -#define VK_NULL_HANDLE 0 - struct ANativeWindow; struct AHardwareBuffer; @@ -162,6 +206,7 @@ typedef void CAMetalLayer; typedef uint32_t VkSampleMask; typedef uint32_t VkBool32; typedef uint32_t VkFlags; + typedef uint64_t VkFlags64; typedef uint64_t VkDeviceSize; typedef uint64_t VkDeviceAddress; @@ -170,7 +215,9 @@ typedef void CAMetalLayer; + + @@ -186,9 +233,9 @@ typedef void CAMetalLayer; typedef VkFlags VkSamplerCreateFlags; typedef VkFlags VkPipelineLayoutCreateFlags; typedef VkFlags VkPipelineCacheCreateFlags; - typedef VkFlags VkPipelineDepthStencilStateCreateFlags; + typedef VkFlags VkPipelineDepthStencilStateCreateFlags; typedef VkFlags VkPipelineDynamicStateCreateFlags; - typedef VkFlags VkPipelineColorBlendStateCreateFlags; + typedef VkFlags VkPipelineColorBlendStateCreateFlags; typedef VkFlags VkPipelineMultisampleStateCreateFlags; typedef VkFlags VkPipelineRasterizationStateCreateFlags; typedef VkFlags VkPipelineViewportStateCreateFlags; @@ -218,8 +265,8 @@ typedef void CAMetalLayer; typedef VkFlags VkFormatFeatureFlags; typedef VkFlags VkQueryControlFlags; typedef VkFlags VkQueryResultFlags; - typedef VkFlags VkShaderModuleCreateFlags; - typedef VkFlags VkEventCreateFlags; + typedef VkFlags VkShaderModuleCreateFlags; + typedef VkFlags VkEventCreateFlags; typedef VkFlags VkCommandPoolCreateFlags; typedef VkFlags VkCommandPoolResetFlags; typedef VkFlags VkCommandBufferResetFlags; @@ -248,6 +295,7 @@ typedef void CAMetalLayer; typedef VkFlags VkBuildAccelerationStructureFlagsKHR; typedef VkFlags VkPrivateDataSlotCreateFlagsEXT; + typedef VkFlags VkAccelerationStructureCreateFlagsKHR; typedef VkFlags VkDescriptorUpdateTemplateCreateFlags; typedef VkFlags VkPipelineCreationFeedbackFlagsEXT; @@ -258,6 +306,12 @@ typedef void CAMetalLayer; typedef VkFlags VkPipelineCompilerControlFlagsAMD; typedef VkFlags VkShaderCorePropertiesFlagsAMD; typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV; + typedef VkFlags64 VkAccessFlags2KHR; + typedef VkFlags64 VkPipelineStageFlags2KHR; + typedef VkFlags VkAccelerationStructureMotionInfoFlagsNV; + typedef VkFlags VkAccelerationStructureMotionInstanceFlagsNV; + typedef VkFlags64 VkFormatFeatureFlags2KHR; + typedef VkFlags VkRenderingFlagsKHR; WSI extensions typedef VkFlags VkCompositeAlphaFlagsKHR; @@ -272,12 +326,14 @@ typedef void CAMetalLayer; typedef VkFlags VkWin32SurfaceCreateFlagsKHR; typedef VkFlags VkXlibSurfaceCreateFlagsKHR; typedef VkFlags VkXcbSurfaceCreateFlagsKHR; + typedef VkFlags VkDirectFBSurfaceCreateFlagsEXT; typedef VkFlags VkIOSSurfaceCreateFlagsMVK; typedef VkFlags VkMacOSSurfaceCreateFlagsMVK; typedef VkFlags VkMetalSurfaceCreateFlagsEXT; typedef VkFlags VkImagePipeSurfaceCreateFlagsFUCHSIA; typedef VkFlags VkStreamDescriptorSurfaceCreateFlagsGGP; typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT; + typedef VkFlags VkScreenSurfaceCreateFlagsQNX; typedef VkFlags VkPeerMemoryFeatureFlags; typedef VkFlags VkMemoryAllocateFlags; @@ -316,6 +372,7 @@ typedef void CAMetalLayer; typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT; typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT; typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT; + typedef VkFlags VkDeviceMemoryReportFlagsEXT; typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT; typedef VkFlags VkDescriptorBindingFlags; @@ -326,52 +383,103 @@ typedef void CAMetalLayer; typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT; typedef VkFlags VkSwapchainImageUsageFlagsANDROID; typedef VkFlags VkToolPurposeFlagsEXT; + typedef VkFlags VkSubmitFlagsKHR; + typedef VkFlags VkImageFormatConstraintsFlagsFUCHSIA; + typedef VkFlags VkImageConstraintsInfoFlagsFUCHSIA; + + Video Core extension + typedef VkFlags VkVideoCodecOperationFlagsKHR; + typedef VkFlags VkVideoCapabilityFlagsKHR; + typedef VkFlags VkVideoSessionCreateFlagsKHR; + typedef VkFlags VkVideoBeginCodingFlagsKHR; + typedef VkFlags VkVideoEndCodingFlagsKHR; + typedef VkFlags VkVideoCodingQualityPresetFlagsKHR; + typedef VkFlags VkVideoCodingControlFlagsKHR; + + Video Decode Core extension + typedef VkFlags VkVideoDecodeFlagsKHR; + + Video Decode H.264 extension + typedef VkFlags VkVideoDecodeH264PictureLayoutFlagsEXT; + typedef VkFlags VkVideoDecodeH264CreateFlagsEXT; + + Video Decode H.265 extension + typedef VkFlags VkVideoDecodeH265CreateFlagsEXT; + + Video Encode Core extension + typedef VkFlags VkVideoEncodeFlagsKHR; + typedef VkFlags VkVideoEncodeRateControlFlagsKHR; + typedef VkFlags VkVideoEncodeRateControlModeFlagsKHR; + typedef VkFlags VkVideoChromaSubsamplingFlagsKHR; + typedef VkFlags VkVideoComponentBitDepthFlagsKHR; + + Video Encode H.264 extension + typedef VkFlags VkVideoEncodeH264CapabilityFlagsEXT; + typedef VkFlags VkVideoEncodeH264InputModeFlagsEXT; + typedef VkFlags VkVideoEncodeH264OutputModeFlagsEXT; + typedef VkFlags VkVideoEncodeH264CreateFlagsEXT; + typedef VkFlags VkVideoEncodeH264RateControlStructureFlagsEXT; + + Video Encode H.265 extension + typedef VkFlags VkVideoEncodeH265CapabilityFlagsEXT; + typedef VkFlags VkVideoEncodeH265InputModeFlagsEXT; + typedef VkFlags VkVideoEncodeH265OutputModeFlagsEXT; + typedef VkFlags VkVideoEncodeH265CreateFlagsEXT; + typedef VkFlags VkVideoEncodeH265CtbSizeFlagsEXT; + typedef VkFlags VkVideoEncodeH265RateControlStructureFlagsEXT; Types which can be void pointers or class pointers, selected at compile time - VK_DEFINE_HANDLE(VkInstance) - VK_DEFINE_HANDLE(VkPhysicalDevice) - VK_DEFINE_HANDLE(VkDevice) - VK_DEFINE_HANDLE(VkQueue) - VK_DEFINE_HANDLE(VkCommandBuffer) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate) + VK_DEFINE_HANDLE(VkInstance) + VK_DEFINE_HANDLE(VkPhysicalDevice) + VK_DEFINE_HANDLE(VkDevice) + VK_DEFINE_HANDLE(VkQueue) + VK_DEFINE_HANDLE(VkCommandBuffer) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR) - - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlotEXT) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferCollectionFUCHSIA) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlotEXT) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuModuleNVX) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuFunctionNVX) WSI extensions - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT) + + Video extensions + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionKHR) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionParametersKHR) Types generated from corresponding enums tags below @@ -451,6 +559,9 @@ typedef void CAMetalLayer; + + + Extensions @@ -484,6 +595,8 @@ typedef void CAMetalLayer; + + @@ -492,9 +605,10 @@ typedef void CAMetalLayer; - - + + + @@ -517,6 +631,17 @@ typedef void CAMetalLayer; + + + + + + + + + + + WSI extensions @@ -526,6 +651,7 @@ typedef void CAMetalLayer; + @@ -576,6 +702,8 @@ typedef void CAMetalLayer; + + Enumerated types in the header, but not used by the API @@ -585,6 +713,42 @@ typedef void CAMetalLayer; + Video Core extensions + + + + + + + + + + Video Decode extensions + + + Video H.264 Decode extensions + + + Video H.265 Decode extensions + + Video Encode extensions + + + + + Video H.264 Encode extensions + + + + + + + Video H.265 Encode extensions + + + + + The PFN_vk*Function types are used by VkAllocationCallbacks below typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)( void* pUserData, @@ -632,14 +796,19 @@ typedef void CAMetalLayer; const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData, void* pUserData); + The PFN_vkDeviceMemoryReportCallbackEXT type is used by the VK_EXT_device_memory_report extension + typedef void (VKAPI_PTR *PFN_vkDeviceMemoryReportCallbackEXT)( + const VkDeviceMemoryReportCallbackDataEXT* pCallbackData, + void* pUserData); + Struct types VkStructureType sType - struct VkBaseOutStructure* pNext + struct VkBaseOutStructure* pNext VkStructureType sType - const struct VkBaseInStructure* pNext + const struct VkBaseInStructure* pNext int32_t x @@ -683,15 +852,15 @@ typedef void CAMetalLayer; VkComponentSwizzle a - uint32_t apiVersion - uint32_t driverVersion - uint32_t vendorID - uint32_t deviceID - VkPhysicalDeviceType deviceType - char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE] - uint8_t pipelineCacheUUID[VK_UUID_SIZE] - VkPhysicalDeviceLimits limits - VkPhysicalDeviceSparseProperties sparseProperties + uint32_t apiVersion + uint32_t driverVersion + uint32_t vendorID + uint32_t deviceID + VkPhysicalDeviceType deviceType + char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE] + uint8_t pipelineCacheUUID[VK_UUID_SIZE] + VkPhysicalDeviceLimits limits + VkPhysicalDeviceSparseProperties sparseProperties char extensionName[VK_MAX_EXTENSION_NAME_SIZE]extension name @@ -705,7 +874,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext const char* pApplicationName uint32_t applicationVersion const char* pEngineName @@ -722,7 +891,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkDeviceQueueCreateFlags flags uint32_t queueFamilyIndex uint32_t queueCount @@ -730,7 +899,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkDeviceCreateFlags flags uint32_t queueCreateInfoCount const VkDeviceQueueCreateInfo* pQueueCreateInfos @@ -742,7 +911,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkInstanceCreateFlags flags const VkApplicationInfo* pApplicationInfo uint32_t enabledLayerCount @@ -764,7 +933,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkDeviceSize allocationSizeSize of memory allocation uint32_t memoryTypeIndexIndex of the of the memory type to allocate from @@ -795,7 +964,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkDeviceMemory memoryMapped memory object VkDeviceSize offsetOffset within the memory object where the range starts VkDeviceSize sizeSize of the range within the memory object @@ -824,7 +993,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkDescriptorSet dstSetDestination descriptor set uint32_t dstBindingBinding within the destination descriptor set to write uint32_t dstArrayElementArray element within the destination binding to write @@ -836,7 +1005,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkDescriptorSet srcSetSource descriptor set uint32_t srcBindingBinding within the source descriptor set to copy from uint32_t srcArrayElementArray element within the source binding to copy from @@ -847,7 +1016,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkBufferCreateFlags flagsBuffer creation flags VkDeviceSize sizeSpecified in bytes VkBufferUsageFlags usageBuffer usage flags @@ -857,7 +1026,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkBufferViewCreateFlagsflags VkBuffer buffer VkFormat formatOptionally specifies format of elements @@ -884,13 +1053,13 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkAccessFlags srcAccessMaskMemory accesses from the source of the dependency to synchronize VkAccessFlags dstAccessMaskMemory accesses from the destination of the dependency to synchronize VkStructureType sType - const void* pNext + const void* pNext VkAccessFlags srcAccessMaskMemory accesses from the source of the dependency to synchronize VkAccessFlags dstAccessMaskMemory accesses from the destination of the dependency to synchronize uint32_t srcQueueFamilyIndexQueue family to transition ownership from @@ -901,7 +1070,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkAccessFlags srcAccessMaskMemory accesses from the source of the dependency to synchronize VkAccessFlags dstAccessMaskMemory accesses from the destination of the dependency to synchronize VkImageLayout oldLayoutCurrent layout of the image @@ -913,7 +1082,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkImageCreateFlags flagsImage creation flags VkImageType imageType VkFormat format @@ -937,7 +1106,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkImageViewCreateFlags flags VkImage image VkImageViewType viewType @@ -982,7 +1151,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext uint32_t waitSemaphoreCount const VkSemaphore* pWaitSemaphores uint32_t bufferBindCount @@ -1024,7 +1193,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkShaderModuleCreateFlags flags size_t codeSizeSpecified in bytes const uint32_t* pCodeBinary code of size codeSize @@ -1038,7 +1207,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkDescriptorSetLayoutCreateFlags flags uint32_t bindingCountNumber of bindings in the descriptor set layout const VkDescriptorSetLayoutBinding* pBindingsArray of descriptor set layout bindings @@ -1049,7 +1218,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkDescriptorPoolCreateFlags flags uint32_t maxSets uint32_t poolSizeCount @@ -1057,7 +1226,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkDescriptorPool descriptorPool uint32_t descriptorSetCount const VkDescriptorSetLayout* pSetLayouts @@ -1075,7 +1244,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkPipelineShaderStageCreateFlags flags VkShaderStageFlagBits stageShader stage VkShaderModule moduleModule containing entry point @@ -1084,7 +1253,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkPipelineCreateFlags flagsPipeline creation flags VkPipelineShaderStageCreateInfo stage VkPipelineLayout layoutInterface layout of the pipeline @@ -1104,7 +1273,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkPipelineVertexInputStateCreateFlags flags uint32_t vertexBindingDescriptionCountnumber of bindings const VkVertexInputBindingDescription* pVertexBindingDescriptions @@ -1113,29 +1282,29 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkPipelineInputAssemblyStateCreateFlags flags VkPrimitiveTopology topology VkBool32 primitiveRestartEnable VkStructureType sType - const void* pNext + const void* pNext VkPipelineTessellationStateCreateFlags flags uint32_t patchControlPoints VkStructureType sType - const void* pNext + const void* pNext VkPipelineViewportStateCreateFlags flags - uint32_t viewportCount + uint32_t viewportCount const VkViewport* pViewports - uint32_t scissorCount + uint32_t scissorCount const VkRect2D* pScissors VkStructureType sType - const void* pNext + const void* pNext VkPipelineRasterizationStateCreateFlags flags VkBool32 depthClampEnable VkBool32 rasterizerDiscardEnable @@ -1150,7 +1319,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkPipelineMultisampleStateCreateFlags flags VkSampleCountFlagBits rasterizationSamplesNumber of samples used for rasterization VkBool32 sampleShadingEnableoptional (GL45) @@ -1171,7 +1340,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkPipelineColorBlendStateCreateFlags flags VkBool32 logicOpEnable VkLogicOp logicOp @@ -1181,7 +1350,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkPipelineDynamicStateCreateFlags flags uint32_t dynamicStateCount const VkDynamicState* pDynamicStates @@ -1197,7 +1366,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkPipelineDepthStencilStateCreateFlags flags VkBool32 depthTestEnable VkBool32 depthWriteEnable @@ -1211,7 +1380,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkPipelineCreateFlags flagsPipeline creation flags uint32_t stageCount const VkPipelineShaderStageCreateInfo* pStagesOne entry for each active shader stage @@ -1225,18 +1394,26 @@ typedef void CAMetalLayer; const VkPipelineColorBlendStateCreateInfo* pColorBlendState const VkPipelineDynamicStateCreateInfo* pDynamicState VkPipelineLayout layoutInterface layout of the pipeline - VkRenderPass renderPass + VkRenderPass renderPass uint32_t subpass VkPipeline basePipelineHandleIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is nonzero, it specifies the handle of the base pipeline this is a derivative of int32_t basePipelineIndexIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is not -1, it specifies an index into pCreateInfos of the base pipeline this is a derivative of VkStructureType sType - const void* pNext + const void* pNext VkPipelineCacheCreateFlags flags size_t initialDataSizeSize of initial data to populate cache, in bytes const void* pInitialDataInitial data to populate cache + + The fields in this structure are non-normative since structure packing is implementation-defined in C. The specification defines the normative layout. + uint32_t headerSize + VkPipelineCacheHeaderVersion headerVersion + uint32_t vendorID + uint32_t deviceID + uint8_t pipelineCacheUUID[VK_UUID_SIZE] + VkShaderStageFlags stageFlagsWhich stages use the range uint32_t offsetStart of the range, in bytes @@ -1244,7 +1421,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkPipelineLayoutCreateFlags flags uint32_t setLayoutCountNumber of descriptor sets interfaced by the pipeline const VkDescriptorSetLayout* pSetLayoutsArray of setCount number of descriptor set layout objects defining the layout of the @@ -1253,7 +1430,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkSamplerCreateFlags flags VkFilter magFilterFilter mode for magnification VkFilter minFilterFilter mode for minifiation @@ -1273,20 +1450,20 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkCommandPoolCreateFlags flagsCommand pool creation flags uint32_t queueFamilyIndex VkStructureType sType - const void* pNext + const void* pNext VkCommandPool commandPool VkCommandBufferLevel level uint32_t commandBufferCount VkStructureType sType - const void* pNext + const void* pNext VkRenderPass renderPassRender pass for secondary command buffers uint32_t subpass VkFramebuffer framebufferFramebuffer for secondary command buffers @@ -1296,18 +1473,18 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkCommandBufferUsageFlags flagsCommand buffer usage flags const VkCommandBufferInheritanceInfo* pInheritanceInfoPointer to inheritance info for secondary command buffers VkStructureType sType - const void* pNext + const void* pNext VkRenderPass renderPass VkFramebuffer framebuffer VkRect2D renderArea uint32_t clearValueCount - const VkClearValue* pClearValues + const VkClearValue* pClearValues float float32[4] @@ -1319,13 +1496,13 @@ typedef void CAMetalLayer; uint32_t stencil - VkClearColorValue color + VkClearColorValue color VkClearDepthStencilValue depthStencil VkImageAspectFlags aspectMask uint32_t colorAttachment - VkClearValue clearValue + VkClearValue clearValue VkAttachmentDescriptionFlags flags @@ -1357,15 +1534,15 @@ typedef void CAMetalLayer; uint32_t srcSubpass uint32_t dstSubpass - VkPipelineStageFlags srcStageMask - VkPipelineStageFlags dstStageMask + VkPipelineStageFlags srcStageMask + VkPipelineStageFlags dstStageMask VkAccessFlags srcAccessMaskMemory accesses from the source of the dependency to synchronize VkAccessFlags dstAccessMaskMemory accesses from the destination of the dependency to synchronize VkDependencyFlags dependencyFlags VkStructureType sType - const void* pNext + const void* pNext VkRenderPassCreateFlags flags uint32_t attachmentCount const VkAttachmentDescription* pAttachments @@ -1376,12 +1553,12 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkEventCreateFlags flagsEvent creation flags VkStructureType sType - const void* pNext + const void* pNext VkFenceCreateFlags flagsFence creation flags @@ -1395,7 +1572,7 @@ typedef void CAMetalLayer; VkBool32 dualSrcBlendblend operations which take two sources VkBool32 logicOplogic operations VkBool32 multiDrawIndirectmulti draw indirect - VkBool32 drawIndirectFirstInstanceindirect draws can use non-zero firstInstance + VkBool32 drawIndirectFirstInstanceindirect drawing can use non-zero firstInstance VkBool32 depthClampdepth clamping VkBool32 depthBiasClampdepth bias clamping VkBool32 fillModeNonSolidpoint and wireframe fill modes @@ -1442,137 +1619,137 @@ typedef void CAMetalLayer; VkBool32 inheritedQueriesQueries may be inherited from primary to secondary command buffers - VkBool32 residencyStandard2DBlockShapeSparse resources support: GPU will access all 2D (single sample) sparse resources using the standard sparse image block shapes (based on pixel format) - VkBool32 residencyStandard2DMultisampleBlockShapeSparse resources support: GPU will access all 2D (multisample) sparse resources using the standard sparse image block shapes (based on pixel format) - VkBool32 residencyStandard3DBlockShapeSparse resources support: GPU will access all 3D sparse resources using the standard sparse image block shapes (based on pixel format) - VkBool32 residencyAlignedMipSizeSparse resources support: Images with mip level dimensions that are NOT a multiple of the sparse image block dimensions will be placed in the mip tail - VkBool32 residencyNonResidentStrictSparse resources support: GPU can consistently access non-resident regions of a resource, all reads return as if data is 0, writes are discarded + VkBool32 residencyStandard2DBlockShapeSparse resources support: GPU will access all 2D (single sample) sparse resources using the standard sparse image block shapes (based on pixel format) + VkBool32 residencyStandard2DMultisampleBlockShapeSparse resources support: GPU will access all 2D (multisample) sparse resources using the standard sparse image block shapes (based on pixel format) + VkBool32 residencyStandard3DBlockShapeSparse resources support: GPU will access all 3D sparse resources using the standard sparse image block shapes (based on pixel format) + VkBool32 residencyAlignedMipSizeSparse resources support: Images with mip level dimensions that are NOT a multiple of the sparse image block dimensions will be placed in the mip tail + VkBool32 residencyNonResidentStrictSparse resources support: GPU can consistently access non-resident regions of a resource, all reads return as if data is 0, writes are discarded resource maximum sizes - uint32_t maxImageDimension1Dmax 1D image dimension - uint32_t maxImageDimension2Dmax 2D image dimension - uint32_t maxImageDimension3Dmax 3D image dimension - uint32_t maxImageDimensionCubemax cubemap image dimension - uint32_t maxImageArrayLayersmax layers for image arrays - uint32_t maxTexelBufferElementsmax texel buffer size (fstexels) - uint32_t maxUniformBufferRangemax uniform buffer range (bytes) - uint32_t maxStorageBufferRangemax storage buffer range (bytes) - uint32_t maxPushConstantsSizemax size of the push constants pool (bytes) + uint32_t maxImageDimension1Dmax 1D image dimension + uint32_t maxImageDimension2Dmax 2D image dimension + uint32_t maxImageDimension3Dmax 3D image dimension + uint32_t maxImageDimensionCubemax cubemap image dimension + uint32_t maxImageArrayLayersmax layers for image arrays + uint32_t maxTexelBufferElementsmax texel buffer size (fstexels) + uint32_t maxUniformBufferRangemax uniform buffer range (bytes) + uint32_t maxStorageBufferRangemax storage buffer range (bytes) + uint32_t maxPushConstantsSizemax size of the push constants pool (bytes) memory limits - uint32_t maxMemoryAllocationCountmax number of device memory allocations supported - uint32_t maxSamplerAllocationCountmax number of samplers that can be allocated on a device - VkDeviceSize bufferImageGranularityGranularity (in bytes) at which buffers and images can be bound to adjacent memory for simultaneous usage - VkDeviceSize sparseAddressSpaceSizeTotal address space available for sparse allocations (bytes) + uint32_t maxMemoryAllocationCountmax number of device memory allocations supported + uint32_t maxSamplerAllocationCountmax number of samplers that can be allocated on a device + VkDeviceSize bufferImageGranularityGranularity (in bytes) at which buffers and images can be bound to adjacent memory for simultaneous usage + VkDeviceSize sparseAddressSpaceSizeTotal address space available for sparse allocations (bytes) descriptor set limits - uint32_t maxBoundDescriptorSetsmax number of descriptors sets that can be bound to a pipeline - uint32_t maxPerStageDescriptorSamplersmax number of samplers allowed per-stage in a descriptor set - uint32_t maxPerStageDescriptorUniformBuffersmax number of uniform buffers allowed per-stage in a descriptor set - uint32_t maxPerStageDescriptorStorageBuffersmax number of storage buffers allowed per-stage in a descriptor set - uint32_t maxPerStageDescriptorSampledImagesmax number of sampled images allowed per-stage in a descriptor set - uint32_t maxPerStageDescriptorStorageImagesmax number of storage images allowed per-stage in a descriptor set - uint32_t maxPerStageDescriptorInputAttachmentsmax number of input attachments allowed per-stage in a descriptor set - uint32_t maxPerStageResourcesmax number of resources allowed by a single stage - uint32_t maxDescriptorSetSamplersmax number of samplers allowed in all stages in a descriptor set - uint32_t maxDescriptorSetUniformBuffersmax number of uniform buffers allowed in all stages in a descriptor set - uint32_t maxDescriptorSetUniformBuffersDynamicmax number of dynamic uniform buffers allowed in all stages in a descriptor set - uint32_t maxDescriptorSetStorageBuffersmax number of storage buffers allowed in all stages in a descriptor set - uint32_t maxDescriptorSetStorageBuffersDynamicmax number of dynamic storage buffers allowed in all stages in a descriptor set - uint32_t maxDescriptorSetSampledImagesmax number of sampled images allowed in all stages in a descriptor set - uint32_t maxDescriptorSetStorageImagesmax number of storage images allowed in all stages in a descriptor set - uint32_t maxDescriptorSetInputAttachmentsmax number of input attachments allowed in all stages in a descriptor set + uint32_t maxBoundDescriptorSetsmax number of descriptors sets that can be bound to a pipeline + uint32_t maxPerStageDescriptorSamplersmax number of samplers allowed per-stage in a descriptor set + uint32_t maxPerStageDescriptorUniformBuffersmax number of uniform buffers allowed per-stage in a descriptor set + uint32_t maxPerStageDescriptorStorageBuffersmax number of storage buffers allowed per-stage in a descriptor set + uint32_t maxPerStageDescriptorSampledImagesmax number of sampled images allowed per-stage in a descriptor set + uint32_t maxPerStageDescriptorStorageImagesmax number of storage images allowed per-stage in a descriptor set + uint32_t maxPerStageDescriptorInputAttachmentsmax number of input attachments allowed per-stage in a descriptor set + uint32_t maxPerStageResourcesmax number of resources allowed by a single stage + uint32_t maxDescriptorSetSamplersmax number of samplers allowed in all stages in a descriptor set + uint32_t maxDescriptorSetUniformBuffersmax number of uniform buffers allowed in all stages in a descriptor set + uint32_t maxDescriptorSetUniformBuffersDynamicmax number of dynamic uniform buffers allowed in all stages in a descriptor set + uint32_t maxDescriptorSetStorageBuffersmax number of storage buffers allowed in all stages in a descriptor set + uint32_t maxDescriptorSetStorageBuffersDynamicmax number of dynamic storage buffers allowed in all stages in a descriptor set + uint32_t maxDescriptorSetSampledImagesmax number of sampled images allowed in all stages in a descriptor set + uint32_t maxDescriptorSetStorageImagesmax number of storage images allowed in all stages in a descriptor set + uint32_t maxDescriptorSetInputAttachmentsmax number of input attachments allowed in all stages in a descriptor set vertex stage limits - uint32_t maxVertexInputAttributesmax number of vertex input attribute slots - uint32_t maxVertexInputBindingsmax number of vertex input binding slots - uint32_t maxVertexInputAttributeOffsetmax vertex input attribute offset added to vertex buffer offset - uint32_t maxVertexInputBindingStridemax vertex input binding stride - uint32_t maxVertexOutputComponentsmax number of output components written by vertex shader + uint32_t maxVertexInputAttributesmax number of vertex input attribute slots + uint32_t maxVertexInputBindingsmax number of vertex input binding slots + uint32_t maxVertexInputAttributeOffsetmax vertex input attribute offset added to vertex buffer offset + uint32_t maxVertexInputBindingStridemax vertex input binding stride + uint32_t maxVertexOutputComponentsmax number of output components written by vertex shader tessellation control stage limits - uint32_t maxTessellationGenerationLevelmax level supported by tessellation primitive generator - uint32_t maxTessellationPatchSizemax patch size (vertices) - uint32_t maxTessellationControlPerVertexInputComponentsmax number of input components per-vertex in TCS - uint32_t maxTessellationControlPerVertexOutputComponentsmax number of output components per-vertex in TCS - uint32_t maxTessellationControlPerPatchOutputComponentsmax number of output components per-patch in TCS - uint32_t maxTessellationControlTotalOutputComponentsmax total number of per-vertex and per-patch output components in TCS + uint32_t maxTessellationGenerationLevelmax level supported by tessellation primitive generator + uint32_t maxTessellationPatchSizemax patch size (vertices) + uint32_t maxTessellationControlPerVertexInputComponentsmax number of input components per-vertex in TCS + uint32_t maxTessellationControlPerVertexOutputComponentsmax number of output components per-vertex in TCS + uint32_t maxTessellationControlPerPatchOutputComponentsmax number of output components per-patch in TCS + uint32_t maxTessellationControlTotalOutputComponentsmax total number of per-vertex and per-patch output components in TCS tessellation evaluation stage limits - uint32_t maxTessellationEvaluationInputComponentsmax number of input components per vertex in TES - uint32_t maxTessellationEvaluationOutputComponentsmax number of output components per vertex in TES + uint32_t maxTessellationEvaluationInputComponentsmax number of input components per vertex in TES + uint32_t maxTessellationEvaluationOutputComponentsmax number of output components per vertex in TES geometry stage limits - uint32_t maxGeometryShaderInvocationsmax invocation count supported in geometry shader - uint32_t maxGeometryInputComponentsmax number of input components read in geometry stage - uint32_t maxGeometryOutputComponentsmax number of output components written in geometry stage - uint32_t maxGeometryOutputVerticesmax number of vertices that can be emitted in geometry stage - uint32_t maxGeometryTotalOutputComponentsmax total number of components (all vertices) written in geometry stage + uint32_t maxGeometryShaderInvocationsmax invocation count supported in geometry shader + uint32_t maxGeometryInputComponentsmax number of input components read in geometry stage + uint32_t maxGeometryOutputComponentsmax number of output components written in geometry stage + uint32_t maxGeometryOutputVerticesmax number of vertices that can be emitted in geometry stage + uint32_t maxGeometryTotalOutputComponentsmax total number of components (all vertices) written in geometry stage fragment stage limits - uint32_t maxFragmentInputComponentsmax number of input components read in fragment stage - uint32_t maxFragmentOutputAttachmentsmax number of output attachments written in fragment stage - uint32_t maxFragmentDualSrcAttachmentsmax number of output attachments written when using dual source blending - uint32_t maxFragmentCombinedOutputResourcesmax total number of storage buffers, storage images and output buffers + uint32_t maxFragmentInputComponentsmax number of input components read in fragment stage + uint32_t maxFragmentOutputAttachmentsmax number of output attachments written in fragment stage + uint32_t maxFragmentDualSrcAttachmentsmax number of output attachments written when using dual source blending + uint32_t maxFragmentCombinedOutputResourcesmax total number of storage buffers, storage images and output buffers compute stage limits - uint32_t maxComputeSharedMemorySizemax total storage size of work group local storage (bytes) - uint32_t maxComputeWorkGroupCount[3]max num of compute work groups that may be dispatched by a single command (x,y,z) - uint32_t maxComputeWorkGroupInvocationsmax total compute invocations in a single local work group - uint32_t maxComputeWorkGroupSize[3]max local size of a compute work group (x,y,z) - uint32_t subPixelPrecisionBitsnumber bits of subpixel precision in screen x and y - uint32_t subTexelPrecisionBitsnumber bits of precision for selecting texel weights - uint32_t mipmapPrecisionBitsnumber bits of precision for selecting mipmap weights - uint32_t maxDrawIndexedIndexValuemax index value for indexed draw calls (for 32-bit indices) - uint32_t maxDrawIndirectCountmax draw count for indirect draw calls - float maxSamplerLodBiasmax absolute sampler LOD bias - float maxSamplerAnisotropymax degree of sampler anisotropy - uint32_t maxViewportsmax number of active viewports - uint32_t maxViewportDimensions[2]max viewport dimensions (x,y) - float viewportBoundsRange[2]viewport bounds range (min,max) - uint32_t viewportSubPixelBitsnumber bits of subpixel precision for viewport - size_t minMemoryMapAlignmentmin required alignment of pointers returned by MapMemory (bytes) - VkDeviceSize minTexelBufferOffsetAlignmentmin required alignment for texel buffer offsets (bytes) - VkDeviceSize minUniformBufferOffsetAlignmentmin required alignment for uniform buffer sizes and offsets (bytes) - VkDeviceSize minStorageBufferOffsetAlignmentmin required alignment for storage buffer offsets (bytes) - int32_t minTexelOffsetmin texel offset for OpTextureSampleOffset - uint32_t maxTexelOffsetmax texel offset for OpTextureSampleOffset - int32_t minTexelGatherOffsetmin texel offset for OpTextureGatherOffset - uint32_t maxTexelGatherOffsetmax texel offset for OpTextureGatherOffset - float minInterpolationOffsetfurthest negative offset for interpolateAtOffset - float maxInterpolationOffsetfurthest positive offset for interpolateAtOffset - uint32_t subPixelInterpolationOffsetBitsnumber of subpixel bits for interpolateAtOffset - uint32_t maxFramebufferWidthmax width for a framebuffer - uint32_t maxFramebufferHeightmax height for a framebuffer - uint32_t maxFramebufferLayersmax layer count for a layered framebuffer - VkSampleCountFlags framebufferColorSampleCountssupported color sample counts for a framebuffer - VkSampleCountFlags framebufferDepthSampleCountssupported depth sample counts for a framebuffer - VkSampleCountFlags framebufferStencilSampleCountssupported stencil sample counts for a framebuffer - VkSampleCountFlags framebufferNoAttachmentsSampleCountssupported sample counts for a subpass which uses no attachments - uint32_t maxColorAttachmentsmax number of color attachments per subpass - VkSampleCountFlags sampledImageColorSampleCountssupported color sample counts for a non-integer sampled image - VkSampleCountFlags sampledImageIntegerSampleCountssupported sample counts for an integer image - VkSampleCountFlags sampledImageDepthSampleCountssupported depth sample counts for a sampled image - VkSampleCountFlags sampledImageStencilSampleCountssupported stencil sample counts for a sampled image - VkSampleCountFlags storageImageSampleCountssupported sample counts for a storage image - uint32_t maxSampleMaskWordsmax number of sample mask words - VkBool32 timestampComputeAndGraphicstimestamps on graphics and compute queues - float timestampPeriodnumber of nanoseconds it takes for timestamp query value to increment by 1 - uint32_t maxClipDistancesmax number of clip distances - uint32_t maxCullDistancesmax number of cull distances - uint32_t maxCombinedClipAndCullDistancesmax combined number of user clipping - uint32_t discreteQueuePrioritiesdistinct queue priorities available - float pointSizeRange[2]range (min,max) of supported point sizes - float lineWidthRange[2]range (min,max) of supported line widths - float pointSizeGranularitygranularity of supported point sizes - float lineWidthGranularitygranularity of supported line widths - VkBool32 strictLinesline rasterization follows preferred rules - VkBool32 standardSampleLocationssupports standard sample locations for all supported sample counts - VkDeviceSize optimalBufferCopyOffsetAlignmentoptimal offset of buffer copies - VkDeviceSize optimalBufferCopyRowPitchAlignmentoptimal pitch of buffer copies - VkDeviceSize nonCoherentAtomSizeminimum size and alignment for non-coherent host-mapped device memory access + uint32_t maxComputeSharedMemorySizemax total storage size of work group local storage (bytes) + uint32_t maxComputeWorkGroupCount[3]max num of compute work groups that may be dispatched by a single command (x,y,z) + uint32_t maxComputeWorkGroupInvocationsmax total compute invocations in a single local work group + uint32_t maxComputeWorkGroupSize[3]max local size of a compute work group (x,y,z) + uint32_t subPixelPrecisionBitsnumber bits of subpixel precision in screen x and y + uint32_t subTexelPrecisionBitsnumber bits of precision for selecting texel weights + uint32_t mipmapPrecisionBitsnumber bits of precision for selecting mipmap weights + uint32_t maxDrawIndexedIndexValuemax index value for indexed draw calls (for 32-bit indices) + uint32_t maxDrawIndirectCountmax draw count for indirect drawing calls + float maxSamplerLodBiasmax absolute sampler LOD bias + float maxSamplerAnisotropymax degree of sampler anisotropy + uint32_t maxViewportsmax number of active viewports + uint32_t maxViewportDimensions[2]max viewport dimensions (x,y) + float viewportBoundsRange[2]viewport bounds range (min,max) + uint32_t viewportSubPixelBitsnumber bits of subpixel precision for viewport + size_t minMemoryMapAlignmentmin required alignment of pointers returned by MapMemory (bytes) + VkDeviceSize minTexelBufferOffsetAlignmentmin required alignment for texel buffer offsets (bytes) + VkDeviceSize minUniformBufferOffsetAlignmentmin required alignment for uniform buffer sizes and offsets (bytes) + VkDeviceSize minStorageBufferOffsetAlignmentmin required alignment for storage buffer offsets (bytes) + int32_t minTexelOffsetmin texel offset for OpTextureSampleOffset + uint32_t maxTexelOffsetmax texel offset for OpTextureSampleOffset + int32_t minTexelGatherOffsetmin texel offset for OpTextureGatherOffset + uint32_t maxTexelGatherOffsetmax texel offset for OpTextureGatherOffset + float minInterpolationOffsetfurthest negative offset for interpolateAtOffset + float maxInterpolationOffsetfurthest positive offset for interpolateAtOffset + uint32_t subPixelInterpolationOffsetBitsnumber of subpixel bits for interpolateAtOffset + uint32_t maxFramebufferWidthmax width for a framebuffer + uint32_t maxFramebufferHeightmax height for a framebuffer + uint32_t maxFramebufferLayersmax layer count for a layered framebuffer + VkSampleCountFlags framebufferColorSampleCountssupported color sample counts for a framebuffer + VkSampleCountFlags framebufferDepthSampleCountssupported depth sample counts for a framebuffer + VkSampleCountFlags framebufferStencilSampleCountssupported stencil sample counts for a framebuffer + VkSampleCountFlags framebufferNoAttachmentsSampleCountssupported sample counts for a subpass which uses no attachments + uint32_t maxColorAttachmentsmax number of color attachments per subpass + VkSampleCountFlags sampledImageColorSampleCountssupported color sample counts for a non-integer sampled image + VkSampleCountFlags sampledImageIntegerSampleCountssupported sample counts for an integer image + VkSampleCountFlags sampledImageDepthSampleCountssupported depth sample counts for a sampled image + VkSampleCountFlags sampledImageStencilSampleCountssupported stencil sample counts for a sampled image + VkSampleCountFlags storageImageSampleCountssupported sample counts for a storage image + uint32_t maxSampleMaskWordsmax number of sample mask words + VkBool32 timestampComputeAndGraphicstimestamps on graphics and compute queues + float timestampPeriodnumber of nanoseconds it takes for timestamp query value to increment by 1 + uint32_t maxClipDistancesmax number of clip distances + uint32_t maxCullDistancesmax number of cull distances + uint32_t maxCombinedClipAndCullDistancesmax combined number of user clipping + uint32_t discreteQueuePrioritiesdistinct queue priorities available + float pointSizeRange[2]range (min,max) of supported point sizes + float lineWidthRange[2]range (min,max) of supported line widths + float pointSizeGranularitygranularity of supported point sizes + float lineWidthGranularitygranularity of supported line widths + VkBool32 strictLinesline rasterization follows preferred rules + VkBool32 standardSampleLocationssupports standard sample locations for all supported sample counts + VkDeviceSize optimalBufferCopyOffsetAlignmentoptimal offset of buffer copies + VkDeviceSize optimalBufferCopyRowPitchAlignmentoptimal pitch of buffer copies + VkDeviceSize nonCoherentAtomSizeminimum size and alignment for non-coherent host-mapped device memory access VkStructureType sType - const void* pNext + const void* pNext VkSemaphoreCreateFlags flagsSemaphore creation flags VkStructureType sType - const void* pNext + const void* pNext VkQueryPoolCreateFlags flags VkQueryType queryType uint32_t queryCount @@ -1580,9 +1757,9 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkFramebufferCreateFlags flags - VkRenderPass renderPass + VkRenderPass renderPass uint32_t attachmentCount const VkImageView* pAttachments uint32_t width @@ -1607,9 +1784,18 @@ typedef void CAMetalLayer; uint32_t y uint32_t z + + uint32_t firstVertex + uint32_t vertexCount + + + uint32_t firstIndex + uint32_t indexCount + int32_t vertexOffset + VkStructureType sType - const void* pNext + const void* pNext uint32_t waitSemaphoreCount const VkSemaphore* pWaitSemaphores const VkPipelineStageFlags* pWaitDstStageMask @@ -1642,7 +1828,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkDisplayModeCreateFlagsKHR flags VkDisplayModeParametersKHR parametersThe parameters this mode uses. @@ -1659,7 +1845,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkDisplaySurfaceCreateFlagsKHR flags VkDisplayModeKHR displayModeThe mode to use when displaying this surface uint32_t planeIndexThe plane on which this surface appears. Must be between 0 and the value returned by vkGetPhysicalDeviceDisplayPlanePropertiesKHR() in pPropertyCount. @@ -1671,7 +1857,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkRect2D srcRectRectangle within the presentable image to read pixel data from when presenting to the display. VkRect2D dstRectRectangle within the current display mode's visible region to display srcRectangle in. VkBool32 persistentFor smart displays, use buffered mode. If the display properties member "persistentMode" is VK_FALSE, this member must always be VK_FALSE. @@ -1683,70 +1869,84 @@ typedef void CAMetalLayer; VkExtent2D minImageExtentSupported minimum image width and height for the surface VkExtent2D maxImageExtentSupported maximum image width and height for the surface uint32_t maxImageArrayLayersSupported maximum number of image layers for the surface - VkSurfaceTransformFlagsKHR supportedTransforms1 or more bits representing the transforms supported + VkSurfaceTransformFlagsKHR supportedTransforms1 or more bits representing the transforms supported VkSurfaceTransformFlagBitsKHR currentTransformThe surface's current transform relative to the device's natural orientation - VkCompositeAlphaFlagsKHR supportedCompositeAlpha1 or more bits representing the alpha compositing modes supported - VkImageUsageFlags supportedUsageFlagsSupported image usage flags for the surface + VkCompositeAlphaFlagsKHR supportedCompositeAlpha1 or more bits representing the alpha compositing modes supported + VkImageUsageFlags supportedUsageFlagsSupported image usage flags for the surface VkStructureType sType - const void* pNext + const void* pNext VkAndroidSurfaceCreateFlagsKHR flags struct ANativeWindow* window VkStructureType sType - const void* pNext + const void* pNext VkViSurfaceCreateFlagsNN flags void* window VkStructureType sType - const void* pNext + const void* pNext VkWaylandSurfaceCreateFlagsKHR flags struct wl_display* display struct wl_surface* surface VkStructureType sType - const void* pNext + const void* pNext VkWin32SurfaceCreateFlagsKHR flags HINSTANCE hinstance HWND hwnd VkStructureType sType - const void* pNext + const void* pNext VkXlibSurfaceCreateFlagsKHR flags Display* dpy Window window VkStructureType sType - const void* pNext + const void* pNext VkXcbSurfaceCreateFlagsKHR flags xcb_connection_t* connection xcb_window_t window + + VkStructureType sType + const void* pNext + VkDirectFBSurfaceCreateFlagsEXT flags + IDirectFB* dfb + IDirectFBSurface* surface + VkStructureType sType - const void* pNext + const void* pNext VkImagePipeSurfaceCreateFlagsFUCHSIA flags zx_handle_t imagePipeHandle VkStructureType sType - const void* pNext + const void* pNext VkStreamDescriptorSurfaceCreateFlagsGGP flags GgpStreamDescriptor streamDescriptor + + VkStructureType sType + const void* pNext + VkScreenSurfaceCreateFlagsQNX flags + struct _screen_context* context + struct _screen_window* window + VkFormat formatSupported pair of rendering format VkColorSpaceKHR colorSpaceand color space for the surface VkStructureType sType - const void* pNext + const void* pNext VkSwapchainCreateFlagsKHR flags VkSurfaceKHR surfaceThe swapchain's target surface uint32_t minImageCountMinimum number of presentation images the application needs @@ -1766,7 +1966,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext uint32_t waitSemaphoreCountNumber of semaphores to wait for before presenting const VkSemaphore* pWaitSemaphoresSemaphores to wait for before presenting uint32_t swapchainCountNumber of swapchains to present in this call @@ -1776,20 +1976,20 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkDebugReportFlagsEXT flagsIndicates which events call this callback PFN_vkDebugReportCallbackEXT pfnCallbackFunction pointer of a callback function void* pUserDataUser data provided to callback function VkStructureType sTypeMust be VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT - const void* pNext + const void* pNext uint32_t disabledValidationCheckCountNumber of validation checks to disable const VkValidationCheckEXT* pDisabledValidationChecksValidation checks to disable VkStructureType sTypeMust be VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT - const void* pNext + const void* pNext uint32_t enabledValidationFeatureCountNumber of validation features to enable const VkValidationFeatureEnableEXT* pEnabledValidationFeaturesValidation features to enable uint32_t disabledValidationFeatureCountNumber of validation features to disable @@ -1797,44 +1997,44 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkRasterizationOrderAMD rasterizationOrderRasterization order to use for the pipeline VkStructureType sType - const void* pNext + const void* pNext VkDebugReportObjectTypeEXT objectTypeThe type of the object - uint64_t objectThe handle of the object, cast to uint64_t + uint64_t objectThe handle of the object, cast to uint64_t const char* pObjectNameName to apply to the object VkStructureType sType - const void* pNext + const void* pNext VkDebugReportObjectTypeEXT objectTypeThe type of the object - uint64_t objectThe handle of the object, cast to uint64_t + uint64_t objectThe handle of the object, cast to uint64_t uint64_t tagNameThe name of the tag to set on the object size_t tagSizeThe length in bytes of the tag data const void* pTagTag data to attach to the object VkStructureType sType - const void* pNext + const void* pNext const char* pMarkerNameName of the debug marker - float color[4]Optional color for debug marker + float color[4]Optional color for debug marker VkStructureType sType - const void* pNext + const void* pNext VkBool32 dedicatedAllocationWhether this image uses a dedicated allocation VkStructureType sType - const void* pNext + const void* pNext VkBool32 dedicatedAllocationWhether this buffer uses a dedicated allocation VkStructureType sType - const void* pNext + const void* pNext VkImage imageImage that this allocation will be bound to VkBuffer bufferBuffer that this allocation will be bound to @@ -1846,29 +2046,29 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkExternalMemoryHandleTypeFlagsNV handleTypes VkStructureType sType - const void* pNext + const void* pNext VkExternalMemoryHandleTypeFlagsNV handleTypes VkStructureType sType - const void* pNext + const void* pNext VkExternalMemoryHandleTypeFlagsNV handleType HANDLE handle VkStructureType sType - const void* pNext + const void* pNext const SECURITY_ATTRIBUTES* pAttributes DWORD dwAccess - + VkStructureType sType - const void* pNext + const void* pNext uint32_t acquireCount const VkDeviceMemory* pAcquireSyncs const uint64_t* pAcquireKeys @@ -1879,40 +2079,45 @@ typedef void CAMetalLayer; VkStructureTypesType - void* pNext + void* pNext VkBool32 deviceGeneratedCommands VkStructureType sType - const void* pNext + const void* pNext uint32_t privateDataSlotRequestCount VkStructureType sType - const void* pNext + const void* pNext VkPrivateDataSlotCreateFlagsEXT flags VkStructureType sType - void* pNext + void* pNext VkBool32 privateData VkStructureType sType - void* pNext - uint32_t maxGraphicsShaderGroupCount - uint32_t maxIndirectSequenceCount - uint32_t maxIndirectCommandsTokenCount - uint32_t maxIndirectCommandsStreamCount - uint32_t maxIndirectCommandsTokenOffset - uint32_t maxIndirectCommandsStreamStride - uint32_t minSequencesCountBufferOffsetAlignment - uint32_t minSequencesIndexBufferOffsetAlignment - uint32_t minIndirectCommandsBufferOffsetAlignment + void* pNext + uint32_t maxGraphicsShaderGroupCount + uint32_t maxIndirectSequenceCount + uint32_t maxIndirectCommandsTokenCount + uint32_t maxIndirectCommandsStreamCount + uint32_t maxIndirectCommandsTokenOffset + uint32_t maxIndirectCommandsStreamStride + uint32_t minSequencesCountBufferOffsetAlignment + uint32_t minSequencesIndexBufferOffsetAlignment + uint32_t minIndirectCommandsBufferOffsetAlignment + + + VkStructureType sType + void* pNext + uint32_t maxMultiDrawCount VkStructureType sType - const void* pNext + const void* pNext uint32_t stageCount const VkPipelineShaderStageCreateInfo* pStages const VkPipelineVertexInputStateCreateInfo* pVertexInputState @@ -1920,7 +2125,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext uint32_t groupCount const VkGraphicsShaderGroupCreateInfoNV* pGroups uint32_t pipelineCount @@ -1948,7 +2153,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkIndirectCommandsTokenTypeNV tokenType uint32_t stream uint32_t offset @@ -1965,8 +2170,8 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext - VkIndirectCommandsLayoutUsageFlagsNV flags + const void* pNext + VkIndirectCommandsLayoutUsageFlagsNV flags VkPipelineBindPoint pipelineBindPoint uint32_t tokenCount const VkIndirectCommandsLayoutTokenNV* pTokens @@ -1975,7 +2180,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkPipelineBindPoint pipelineBindPoint VkPipeline pipeline VkIndirectCommandsLayoutNV indirectCommandsLayout @@ -1986,13 +2191,13 @@ typedef void CAMetalLayer; VkDeviceSize preprocessOffset VkDeviceSize preprocessSize VkBuffer sequencesCountBuffer - VkDeviceSize sequencesCountOffset + VkDeviceSize sequencesCountOffset VkBuffer sequencesIndexBuffer - VkDeviceSize sequencesIndexOffset + VkDeviceSize sequencesIndexOffset VkStructureType sType - const void* pNext + const void* pNext VkPipelineBindPoint pipelineBindPoint VkPipeline pipeline VkIndirectCommandsLayoutNV indirectCommandsLayout @@ -2000,31 +2205,31 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext + void* pNext VkPhysicalDeviceFeatures features VkStructureType sType - void* pNext - VkPhysicalDeviceProperties properties + void* pNext + VkPhysicalDeviceProperties properties VkStructureType sType - void* pNext + void* pNext VkFormatProperties formatProperties VkStructureType sType - void* pNext + void* pNext VkImageFormatProperties imageFormatProperties VkStructureType sType - const void* pNext + const void* pNext VkFormat format VkImageType type VkImageTiling tiling @@ -2034,25 +2239,25 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext + void* pNext VkQueueFamilyProperties queueFamilyProperties VkStructureType sType - void* pNext + void* pNext VkPhysicalDeviceMemoryProperties memoryProperties VkStructureType sType - void* pNext + void* pNext VkSparseImageFormatProperties properties VkStructureType sType - const void* pNext + const void* pNext VkFormat format VkImageType type VkSampleCountFlagBits samples @@ -2062,8 +2267,8 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext - uint32_t maxPushDescriptors + void* pNext + uint32_t maxPushDescriptors uint8_t major @@ -2074,16 +2279,16 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext - VkDriverId driverID - char driverName[VK_MAX_DRIVER_NAME_SIZE] - char driverInfo[VK_MAX_DRIVER_INFO_SIZE] - VkConformanceVersion conformanceVersion + void* pNext + VkDriverId driverID + char driverName[VK_MAX_DRIVER_NAME_SIZE] + char driverInfo[VK_MAX_DRIVER_INFO_SIZE] + VkConformanceVersion conformanceVersion VkStructureType sType - const void* pNext + const void* pNext uint32_t swapchainCountCopy of VkPresentInfoKHR::swapchainCount const VkPresentRegionKHR* pRegionsThe regions that have changed @@ -2098,7 +2303,7 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext + void* pNext VkBool32 variablePointersStorageBuffer VkBool32 variablePointers @@ -2113,19 +2318,19 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkExternalMemoryHandleTypeFlagBits handleType VkStructureType sType - void* pNext + void* pNext VkExternalMemoryProperties externalMemoryProperties VkStructureType sType - const void* pNext + const void* pNext VkBufferCreateFlags flags VkBufferUsageFlags usage VkExternalMemoryHandleTypeFlagBits handleType @@ -2133,83 +2338,100 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext + void* pNext VkExternalMemoryProperties externalMemoryProperties VkStructureType sType - void* pNext - uint8_t deviceUUID[VK_UUID_SIZE] - uint8_t driverUUID[VK_UUID_SIZE] - uint8_t deviceLUID[VK_LUID_SIZE] - uint32_t deviceNodeMask - VkBool32 deviceLUIDValid + void* pNext + uint8_t deviceUUID[VK_UUID_SIZE] + uint8_t driverUUID[VK_UUID_SIZE] + uint8_t deviceLUID[VK_LUID_SIZE] + uint32_t deviceNodeMask + VkBool32 deviceLUIDValid VkStructureType sType - const void* pNext - VkExternalMemoryHandleTypeFlags handleTypes + const void* pNext + VkExternalMemoryHandleTypeFlags handleTypes VkStructureType sType - const void* pNext + const void* pNext VkExternalMemoryHandleTypeFlags handleTypes VkStructureType sType - const void* pNext + const void* pNext VkExternalMemoryHandleTypeFlags handleTypes VkStructureType sType - const void* pNext + const void* pNext VkExternalMemoryHandleTypeFlagBits handleType HANDLE handle LPCWSTR name VkStructureType sType - const void* pNext + const void* pNext const SECURITY_ATTRIBUTES* pAttributes DWORD dwAccess LPCWSTR name + + VkStructureType sType + const void* pNext + VkExternalMemoryHandleTypeFlagBits handleType + zx_handle_t handle + + + VkStructureType sType + void* pNext + uint32_t memoryTypeBits + + + VkStructureType sType + const void* pNext + VkDeviceMemory memory + VkExternalMemoryHandleTypeFlagBits handleType + VkStructureType sType - void* pNext + void* pNext uint32_t memoryTypeBits VkStructureType sType - const void* pNext + const void* pNext VkDeviceMemory memory VkExternalMemoryHandleTypeFlagBits handleType VkStructureType sType - const void* pNext + const void* pNext VkExternalMemoryHandleTypeFlagBits handleType int fd VkStructureType sType - void* pNext + void* pNext uint32_t memoryTypeBits VkStructureType sType - const void* pNext + const void* pNext VkDeviceMemory memory VkExternalMemoryHandleTypeFlagBits handleType - + VkStructureType sType - const void* pNext + const void* pNext uint32_t acquireCount const VkDeviceMemory* pAcquireSyncs const uint64_t* pAcquireKeys @@ -2220,13 +2442,13 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkExternalSemaphoreHandleTypeFlagBits handleType VkStructureType sType - void* pNext + void* pNext VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures @@ -2234,29 +2456,29 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkExternalSemaphoreHandleTypeFlags handleTypes VkStructureType sType - const void* pNext + const void* pNext VkSemaphore semaphore VkSemaphoreImportFlags flags - VkExternalSemaphoreHandleTypeFlagBits handleType + VkExternalSemaphoreHandleTypeFlagBits handleType HANDLE handle LPCWSTR name VkStructureType sType - const void* pNext + const void* pNext const SECURITY_ATTRIBUTES* pAttributes DWORD dwAccess LPCWSTR name VkStructureType sType - const void* pNext + const void* pNext uint32_t waitSemaphoreValuesCount const uint64_t* pWaitSemaphoreValues uint32_t signalSemaphoreValuesCount @@ -2264,13 +2486,13 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkSemaphore semaphore VkExternalSemaphoreHandleTypeFlagBits handleType VkStructureType sType - const void* pNext + const void* pNext VkSemaphore semaphore VkSemaphoreImportFlags flags VkExternalSemaphoreHandleTypeFlagBits handleType @@ -2278,19 +2500,33 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext + VkSemaphore semaphore + VkExternalSemaphoreHandleTypeFlagBits handleType + + + VkStructureType sType + const void* pNext + VkSemaphore semaphore + VkSemaphoreImportFlags flags + VkExternalSemaphoreHandleTypeFlagBits handleType + zx_handle_t zirconHandle + + + VkStructureType sType + const void* pNext VkSemaphore semaphore VkExternalSemaphoreHandleTypeFlagBits handleType VkStructureType sType - const void* pNext + const void* pNext VkExternalFenceHandleTypeFlagBits handleType VkStructureType sType - void* pNext + void* pNext VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes VkExternalFenceHandleTypeFlags compatibleHandleTypes VkExternalFenceFeatureFlags externalFenceFeatures @@ -2298,35 +2534,35 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkExternalFenceHandleTypeFlags handleTypes VkStructureType sType - const void* pNext + const void* pNext VkFence fence VkFenceImportFlags flags - VkExternalFenceHandleTypeFlagBits handleType + VkExternalFenceHandleTypeFlagBits handleType HANDLE handle LPCWSTR name VkStructureType sType - const void* pNext + const void* pNext const SECURITY_ATTRIBUTES* pAttributes DWORD dwAccess LPCWSTR name VkStructureType sType - const void* pNext + const void* pNext VkFence fence VkExternalFenceHandleTypeFlagBits handleType VkStructureType sType - const void* pNext + const void* pNext VkFence fence VkFenceImportFlags flags VkExternalFenceHandleTypeFlagBits handleType @@ -2334,13 +2570,13 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkFence fence VkExternalFenceHandleTypeFlagBits handleType VkStructureType sType - void* pNext + void* pNext VkBool32 multiviewMultiple views in a renderpass VkBool32 multiviewGeometryShaderMultiple views in a renderpass w/ geometry shader VkBool32 multiviewTessellationShaderMultiple views in a renderpass w/ tessellation shader @@ -2348,14 +2584,14 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext - uint32_t maxMultiviewViewCountmax number of views in a subpass - uint32_t maxMultiviewInstanceIndexmax instance index for a draw in a multiview subpass + void* pNext + uint32_t maxMultiviewViewCountmax number of views in a subpass + uint32_t maxMultiviewInstanceIndexmax instance index for a draw in a multiview subpass VkStructureType sType - const void* pNext + const void* pNext uint32_t subpassCount const uint32_t* pViewMasks uint32_t dependencyCount @@ -2366,42 +2602,42 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext + void* pNext uint32_t minImageCountSupported minimum number of images for the surface uint32_t maxImageCountSupported maximum number of images for the surface, 0 for unlimited VkExtent2D currentExtentCurrent image width and height for the surface, (0, 0) if undefined VkExtent2D minImageExtentSupported minimum image width and height for the surface VkExtent2D maxImageExtentSupported maximum image width and height for the surface uint32_t maxImageArrayLayersSupported maximum number of image layers for the surface - VkSurfaceTransformFlagsKHR supportedTransforms1 or more bits representing the transforms supported + VkSurfaceTransformFlagsKHR supportedTransforms1 or more bits representing the transforms supported VkSurfaceTransformFlagBitsKHR currentTransformThe surface's current transform relative to the device's natural orientation - VkCompositeAlphaFlagsKHR supportedCompositeAlpha1 or more bits representing the alpha compositing modes supported - VkImageUsageFlags supportedUsageFlagsSupported image usage flags for the surface + VkCompositeAlphaFlagsKHR supportedCompositeAlpha1 or more bits representing the alpha compositing modes supported + VkImageUsageFlags supportedUsageFlagsSupported image usage flags for the surface VkSurfaceCounterFlagsEXT supportedSurfaceCounters VkStructureType sType - const void* pNext + const void* pNext VkDisplayPowerStateEXT powerState VkStructureType sType - const void* pNext + const void* pNext VkDeviceEventTypeEXT deviceEvent VkStructureType sType - const void* pNext + const void* pNext VkDisplayEventTypeEXT displayEvent VkStructureType sType - const void* pNext + const void* pNext VkSurfaceCounterFlagsEXT surfaceCounters VkStructureType sType - void* pNext + void* pNext uint32_t physicalDeviceCount VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE] VkBool32 subsetAllocation @@ -2409,14 +2645,14 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkMemoryAllocateFlags flags uint32_t deviceMask VkStructureType sType - const void* pNext + const void* pNext VkBuffer buffer VkDeviceMemory memory VkDeviceSize memoryOffset @@ -2424,14 +2660,14 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext uint32_t deviceIndexCount const uint32_t* pDeviceIndices VkStructureType sType - const void* pNext + const void* pNext VkImage image VkDeviceMemory memory VkDeviceSize memoryOffset @@ -2439,16 +2675,16 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext uint32_t deviceIndexCount const uint32_t* pDeviceIndices uint32_t splitInstanceBindRegionCount const VkRect2D* pSplitInstanceBindRegions - + VkStructureType sType - const void* pNext + const void* pNext uint32_t deviceMask uint32_t deviceRenderAreaCount const VkRect2D* pDeviceRenderAreas @@ -2456,13 +2692,13 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext uint32_t deviceMask VkStructureType sType - const void* pNext + const void* pNext uint32_t waitSemaphoreCount const uint32_t* pWaitSemaphoreDeviceIndices uint32_t commandBufferCount @@ -2473,31 +2709,31 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext uint32_t resourceDeviceIndex uint32_t memoryDeviceIndex VkStructureType sType - const void* pNext + void* pNext uint32_t presentMask[VK_MAX_DEVICE_GROUP_SIZE] VkDeviceGroupPresentModeFlagsKHR modes VkStructureType sType - const void* pNext + const void* pNext VkSwapchainKHR swapchain VkStructureType sType - const void* pNext + const void* pNext VkSwapchainKHR swapchain uint32_t imageIndex VkStructureType sType - const void* pNext + const void* pNext VkSwapchainKHR swapchain uint64_t timeout VkSemaphore semaphore @@ -2506,21 +2742,21 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext uint32_t swapchainCount const uint32_t* pDeviceMasks VkDeviceGroupPresentModeFlagBitsKHR mode VkStructureType sType - const void* pNext + const void* pNext uint32_t physicalDeviceCount const VkPhysicalDevice* pPhysicalDevices VkStructureType sType - const void* pNext + const void* pNext VkDeviceGroupPresentModeFlagsKHR modes @@ -2534,7 +2770,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkDescriptorUpdateTemplateCreateFlags flags uint32_t descriptorUpdateEntryCountNumber of descriptor update entries to use for the update template const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntriesDescriptor update entries for the template @@ -2549,10 +2785,26 @@ typedef void CAMetalLayer; float x float y + + VkStructureType sType + void* pNext + VkBool32 presentIdPresent ID in VkPresentInfoKHR + + + VkStructureType sType + const void* pNext + uint32_t swapchainCountCopy of VkPresentInfoKHR::swapchainCount + const uint64_t* pPresentIdsPresent ID values for each swapchain + + + VkStructureType sType + void* pNext + VkBool32 presentWaitvkWaitForPresentKHR is supported + Display primary in chromaticity coordinates VkStructureType sType - const void* pNext + const void* pNext From SMPTE 2086 VkXYColorEXT displayPrimaryRedDisplay primary's Red VkXYColorEXT displayPrimaryGreenDisplay primary's Green @@ -2566,12 +2818,12 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext + void* pNext VkBool32 localDimmingSupport VkStructureType sType - const void* pNext + const void* pNext VkBool32 localDimmingEnable @@ -2586,7 +2838,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext uint32_t swapchainCountCopy of VkPresentInfoKHR::swapchainCount const VkPresentTimeGOOGLE* pTimesThe earliest times to present images @@ -2596,19 +2848,19 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkIOSSurfaceCreateFlagsMVK flags const void* pView VkStructureType sType - const void* pNext + const void* pNext VkMacOSSurfaceCreateFlagsMVK flags const void* pView VkStructureType sType - const void* pNext + const void* pNext VkMetalSurfaceCreateFlagsEXT flags const CAMetalLayer* pLayer @@ -2618,7 +2870,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkBool32 viewportWScalingEnable uint32_t viewportCount const VkViewportWScalingNV* pViewportWScalings @@ -2631,19 +2883,19 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkPipelineViewportSwizzleStateCreateFlagsNV flags uint32_t viewportCount const VkViewportSwizzleNV* pViewportSwizzles VkStructureType sType - void* pNext - uint32_t maxDiscardRectanglesmax number of active discard rectangles + void* pNext + uint32_t maxDiscardRectanglesmax number of active discard rectangles VkStructureType sType - const void* pNext + const void* pNext VkPipelineDiscardRectangleStateCreateFlagsEXT flags VkDiscardRectangleModeEXT discardRectangleMode uint32_t discardRectangleCount @@ -2651,8 +2903,8 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext - VkBool32 perViewPositionAllComponents + void* pNext + VkBool32 perViewPositionAllComponents uint32_t subpass @@ -2662,60 +2914,60 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext uint32_t aspectReferenceCount const VkInputAttachmentAspectReference* pAspectReferences VkStructureType sType - const void* pNext - VkSurfaceKHR surface + const void* pNext + VkSurfaceKHR surface VkStructureType sType - void* pNext + void* pNext VkSurfaceCapabilitiesKHR surfaceCapabilities VkStructureType sType - void* pNext + void* pNext VkSurfaceFormatKHR surfaceFormat VkStructureType sType - void* pNext + void* pNext VkDisplayPropertiesKHR displayProperties VkStructureType sType - void* pNext + void* pNext VkDisplayPlanePropertiesKHR displayPlaneProperties VkStructureType sType - void* pNext + void* pNext VkDisplayModePropertiesKHR displayModeProperties VkStructureType sType - const void* pNext + const void* pNext VkDisplayModeKHR mode uint32_t planeIndex VkStructureType sType - void* pNext + void* pNext VkDisplayPlaneCapabilitiesKHR capabilities VkStructureType sType - void* pNext + void* pNext VkImageUsageFlags sharedPresentSupportedUsageFlagsSupported image usage flags if swapchain created using a shared present mode VkStructureType sType - void* pNext + void* pNext VkBool32 storageBuffer16BitAccess16-bit integer/floating-point variables supported in BufferBlock VkBool32 uniformAndStorageBuffer16BitAccess16-bit integer/floating-point variables supported in BufferBlock and Block VkBool32 storagePushConstant1616-bit integer/floating-point variables supported in PushConstant @@ -2724,89 +2976,100 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext - uint32_t subgroupSizeThe size of a subgroup for this queue. - VkShaderStageFlags supportedStagesBitfield of what shader stages support subgroup operations - VkSubgroupFeatureFlags supportedOperationsBitfield of what subgroup operations are supported. - VkBool32 quadOperationsInAllStagesFlag to specify whether quad operations are available in all stages. + void* pNext + uint32_t subgroupSizeThe size of a subgroup for this queue. + VkShaderStageFlags supportedStagesBitfield of what shader stages support subgroup operations + VkSubgroupFeatureFlags supportedOperationsBitfield of what subgroup operations are supported. + VkBool32 quadOperationsInAllStagesFlag to specify whether quad operations are available in all stages. - VkStructureType sType - void* pNext - VkBool32 shaderSubgroupExtendedTypesFlag to specify whether subgroup operations with extended types are supported + VkStructureType sType + void* pNext + VkBool32 shaderSubgroupExtendedTypesFlag to specify whether subgroup operations with extended types are supported VkStructureType sType - const void* pNext + const void* pNext VkBuffer buffer + + VkStructureType sType + const void* pNext + const VkBufferCreateInfo* pCreateInfo + VkStructureType sType - const void* pNext + const void* pNext VkImage image VkStructureType sType - const void* pNext + const void* pNext VkImage image + + VkStructureType sType + const void* pNext + const VkImageCreateInfo* pCreateInfo + VkImageAspectFlagBits planeAspect + VkStructureType sType - void* pNext + void* pNext VkMemoryRequirements memoryRequirements VkStructureType sType - void* pNext + void* pNext VkSparseImageMemoryRequirements memoryRequirements VkStructureType sType - void* pNext - VkPointClippingBehavior pointClippingBehavior + void* pNext + VkPointClippingBehavior pointClippingBehavior VkStructureType sType - void* pNext + void* pNext VkBool32 prefersDedicatedAllocation VkBool32 requiresDedicatedAllocation VkStructureType sType - const void* pNext + const void* pNext VkImage imageImage that this allocation will be bound to VkBuffer bufferBuffer that this allocation will be bound to VkStructureType sType - const void* pNext + const void* pNext VkImageUsageFlags usage VkStructureType sType - const void* pNext + const void* pNext VkTessellationDomainOrigin domainOrigin VkStructureType sType - const void* pNext + const void* pNext VkSamplerYcbcrConversion conversion VkStructureType sType - const void* pNext + const void* pNext VkFormat format VkSamplerYcbcrModelConversion ycbcrModel VkSamplerYcbcrRange ycbcrRange @@ -2819,84 +3082,84 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkImageAspectFlagBits planeAspect VkStructureType sType - const void* pNext + const void* pNext VkImageAspectFlagBits planeAspect VkStructureType sType - void* pNext + void* pNext VkBool32 samplerYcbcrConversionSampler color conversion supported VkStructureType sType - void* pNext + void* pNext uint32_t combinedImageSamplerDescriptorCount VkStructureType sType - void* pNext + void* pNext VkBool32 supportsTextureGatherLODBiasAMD VkStructureType sType - const void* pNext + const void* pNext VkBuffer buffer VkDeviceSize offset VkConditionalRenderingFlagsEXT flags VkStructureType sType - const void* pNext + const void* pNext VkBool32 protectedSubmitSubmit protected command buffers VkStructureType sType - void* pNext + void* pNext VkBool32 protectedMemory VkStructureType sType - void* pNext - VkBool32 protectedNoFault + void* pNext + VkBool32 protectedNoFault VkStructureType sType - const void* pNext + const void* pNext VkDeviceQueueCreateFlags flags uint32_t queueFamilyIndex uint32_t queueIndex VkStructureType sType - const void* pNext + const void* pNext VkPipelineCoverageToColorStateCreateFlagsNV flags VkBool32 coverageToColorEnable uint32_t coverageToColorLocation VkStructureType sType - void* pNext - VkBool32 filterMinmaxSingleComponentFormats - VkBool32 filterMinmaxImageComponentMapping + void* pNext + VkBool32 filterMinmaxSingleComponentFormats + VkBool32 filterMinmaxImageComponentMapping float x float y - + VkStructureType sType - const void* pNext - VkSampleCountFlagBits sampleLocationsPerPixel + const void* pNext + VkSampleCountFlagBits sampleLocationsPerPixel VkExtent2D sampleLocationGridSize uint32_t sampleLocationsCount const VkSampleLocationEXT* pSampleLocations @@ -2911,7 +3174,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext uint32_t attachmentInitialSampleLocationsCount const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations uint32_t postSubpassSampleLocationsCount @@ -2919,81 +3182,86 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkBool32 sampleLocationsEnable VkSampleLocationsInfoEXT sampleLocationsInfo VkStructureType sType - void* pNext - VkSampleCountFlags sampleLocationSampleCounts - VkExtent2D maxSampleLocationGridSize - float sampleLocationCoordinateRange[2] - uint32_t sampleLocationSubPixelBits - VkBool32 variableSampleLocations + void* pNext + VkSampleCountFlags sampleLocationSampleCounts + VkExtent2D maxSampleLocationGridSize + float sampleLocationCoordinateRange[2] + uint32_t sampleLocationSubPixelBits + VkBool32 variableSampleLocations VkStructureType sType - void* pNext + void* pNext VkExtent2D maxSampleLocationGridSize VkStructureType sType - const void* pNext + const void* pNext VkSamplerReductionMode reductionMode VkStructureType sType - void* pNext + void* pNext VkBool32 advancedBlendCoherentOperations + + VkStructureType sType + void* pNext + VkBool32 multiDraw + VkStructureType sType - void* pNext - uint32_t advancedBlendMaxColorAttachments - VkBool32 advancedBlendIndependentBlend - VkBool32 advancedBlendNonPremultipliedSrcColor - VkBool32 advancedBlendNonPremultipliedDstColor - VkBool32 advancedBlendCorrelatedOverlap - VkBool32 advancedBlendAllOperations + void* pNext + uint32_t advancedBlendMaxColorAttachments + VkBool32 advancedBlendIndependentBlend + VkBool32 advancedBlendNonPremultipliedSrcColor + VkBool32 advancedBlendNonPremultipliedDstColor + VkBool32 advancedBlendCorrelatedOverlap + VkBool32 advancedBlendAllOperations VkStructureType sType - const void* pNext + const void* pNext VkBool32 srcPremultiplied VkBool32 dstPremultiplied VkBlendOverlapEXT blendOverlap VkStructureType sType - void* pNext + void* pNext VkBool32 inlineUniformBlock VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind VkStructureType sType - void* pNext - uint32_t maxInlineUniformBlockSize - uint32_t maxPerStageDescriptorInlineUniformBlocks - uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks - uint32_t maxDescriptorSetInlineUniformBlocks - uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks + void* pNext + uint32_t maxInlineUniformBlockSize + uint32_t maxPerStageDescriptorInlineUniformBlocks + uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks + uint32_t maxDescriptorSetInlineUniformBlocks + uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks VkStructureType sType - const void* pNext + const void* pNext uint32_t dataSize const void* pData VkStructureType sType - const void* pNext + const void* pNext uint32_t maxInlineUniformBlockBindings VkStructureType sType - const void* pNext + const void* pNext VkPipelineCoverageModulationStateCreateFlagsNV flags VkCoverageModulationModeNV coverageModulationMode VkBool32 coverageModulationTableEnable @@ -3002,45 +3270,55 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext uint32_t viewFormatCount const VkFormat* pViewFormats VkStructureType sType - const void* pNext + const void* pNext VkValidationCacheCreateFlagsEXT flags size_t initialDataSize const void* pInitialData VkStructureType sType - const void* pNext + const void* pNext VkValidationCacheEXT validationCache VkStructureType sType - void* pNext - uint32_t maxPerSetDescriptors - VkDeviceSize maxMemoryAllocationSize + void* pNext + uint32_t maxPerSetDescriptors + VkDeviceSize maxMemoryAllocationSize + + VkStructureType sType + void* pNext + VkBool32 maintenance4 + + + VkStructureType sType + void* pNext + VkDeviceSize maxBufferSize + VkStructureType sType - void* pNext + void* pNext VkBool32 supported VkStructureType sType - void* pNext + void* pNext VkBool32 shaderDrawParameters VkStructureType sType - void* pNext + void* pNext VkBool32 shaderFloat1616-bit floats (halfs) in shaders VkBool32 shaderInt88-bit integers in shaders @@ -3048,29 +3326,29 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext - VkShaderFloatControlsIndependence denormBehaviorIndependence - VkShaderFloatControlsIndependence roundingModeIndependence - VkBool32 shaderSignedZeroInfNanPreserveFloat16An implementation can preserve signed zero, nan, inf - VkBool32 shaderSignedZeroInfNanPreserveFloat32An implementation can preserve signed zero, nan, inf - VkBool32 shaderSignedZeroInfNanPreserveFloat64An implementation can preserve signed zero, nan, inf - VkBool32 shaderDenormPreserveFloat16An implementation can preserve denormals - VkBool32 shaderDenormPreserveFloat32An implementation can preserve denormals - VkBool32 shaderDenormPreserveFloat64An implementation can preserve denormals - VkBool32 shaderDenormFlushToZeroFloat16An implementation can flush to zero denormals - VkBool32 shaderDenormFlushToZeroFloat32An implementation can flush to zero denormals - VkBool32 shaderDenormFlushToZeroFloat64An implementation can flush to zero denormals - VkBool32 shaderRoundingModeRTEFloat16An implementation can support RTE - VkBool32 shaderRoundingModeRTEFloat32An implementation can support RTE - VkBool32 shaderRoundingModeRTEFloat64An implementation can support RTE - VkBool32 shaderRoundingModeRTZFloat16An implementation can support RTZ - VkBool32 shaderRoundingModeRTZFloat32An implementation can support RTZ - VkBool32 shaderRoundingModeRTZFloat64An implementation can support RTZ + void* pNext + VkShaderFloatControlsIndependence denormBehaviorIndependence + VkShaderFloatControlsIndependence roundingModeIndependence + VkBool32 shaderSignedZeroInfNanPreserveFloat16An implementation can preserve signed zero, nan, inf + VkBool32 shaderSignedZeroInfNanPreserveFloat32An implementation can preserve signed zero, nan, inf + VkBool32 shaderSignedZeroInfNanPreserveFloat64An implementation can preserve signed zero, nan, inf + VkBool32 shaderDenormPreserveFloat16An implementation can preserve denormals + VkBool32 shaderDenormPreserveFloat32An implementation can preserve denormals + VkBool32 shaderDenormPreserveFloat64An implementation can preserve denormals + VkBool32 shaderDenormFlushToZeroFloat16An implementation can flush to zero denormals + VkBool32 shaderDenormFlushToZeroFloat32An implementation can flush to zero denormals + VkBool32 shaderDenormFlushToZeroFloat64An implementation can flush to zero denormals + VkBool32 shaderRoundingModeRTEFloat16An implementation can support RTE + VkBool32 shaderRoundingModeRTEFloat32An implementation can support RTE + VkBool32 shaderRoundingModeRTEFloat64An implementation can support RTE + VkBool32 shaderRoundingModeRTZFloat16An implementation can support RTZ + VkBool32 shaderRoundingModeRTZFloat32An implementation can support RTZ + VkBool32 shaderRoundingModeRTZFloat64An implementation can support RTZ VkStructureType sType - void* pNext + void* pNext VkBool32 hostQueryReset @@ -3080,7 +3358,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext const void* handle int stride int format @@ -3089,12 +3367,12 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkSwapchainImageUsageFlagsANDROID usage VkStructureType sType - const void* pNext + const void* pNext VkBool32 sharedImage @@ -3115,34 +3393,45 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkQueueGlobalPriorityEXT globalPriority + + VkStructureType sType + void* pNext + VkBool32 globalPriorityQuery + + + VkStructureType sType + void* pNext + uint32_t priorityCount + VkQueueGlobalPriorityEXT priorities[VK_MAX_GLOBAL_PRIORITY_SIZE_EXT] + VkStructureType sType - const void* pNext + const void* pNext VkObjectType objectType - uint64_t objectHandle + uint64_t objectHandle const char* pObjectName VkStructureType sType - const void* pNext + const void* pNext VkObjectType objectType - uint64_t objectHandle + uint64_t objectHandle uint64_t tagName size_t tagSize const void* pTag VkStructureType sType - const void* pNext + const void* pNext const char* pLabelName - float color[4] + float color[4] - + VkStructureType sType - const void* pNext + const void* pNext VkDebugUtilsMessengerCreateFlagsEXT flags VkDebugUtilsMessageSeverityFlagsEXT messageSeverity VkDebugUtilsMessageTypeFlagsEXT messageType @@ -3154,7 +3443,7 @@ typedef void CAMetalLayer; const void* pNext VkDebugUtilsMessengerCallbackDataFlagsEXT flags const char* pMessageIdName - int32_t messageIdNumber + int32_t messageIdNumber const char* pMessage uint32_t queueLabelCount const VkDebugUtilsLabelEXT* pQueueLabels @@ -3163,74 +3452,97 @@ typedef void CAMetalLayer; uint32_t objectCount const VkDebugUtilsObjectNameInfoEXT* pObjects + + VkStructureType sType + void* pNext + VkBool32 deviceMemoryReport + + + VkStructureType sType + const void* pNext + VkDeviceMemoryReportFlagsEXT flags + PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback + void* pUserData + + + VkStructureType sType + void* pNext + VkDeviceMemoryReportFlagsEXT flags + VkDeviceMemoryReportEventTypeEXT type + uint64_t memoryObjectId + VkDeviceSize size + VkObjectType objectType + uint64_t objectHandle + uint32_t heapIndex + VkStructureType sType - const void* pNext + const void* pNext VkExternalMemoryHandleTypeFlagBits handleType void* pHostPointer VkStructureType sType - void* pNext + void* pNext uint32_t memoryTypeBits VkStructureType sType - void* pNext - VkDeviceSize minImportedHostPointerAlignment + void* pNext + VkDeviceSize minImportedHostPointerAlignment VkStructureType sType - void* pNext - float primitiveOverestimationSizeThe size in pixels the primitive is enlarged at each edge during conservative rasterization - float maxExtraPrimitiveOverestimationSizeThe maximum additional overestimation the client can specify in the pipeline state - float extraPrimitiveOverestimationSizeGranularityThe granularity of extra overestimation sizes the implementations supports between 0 and maxExtraOverestimationSize - VkBool32 primitiveUnderestimationtrue if the implementation supports conservative rasterization underestimation mode - VkBool32 conservativePointAndLineRasterizationtrue if conservative rasterization also applies to points and lines - VkBool32 degenerateTrianglesRasterizedtrue if degenerate triangles (those with zero area after snap) are rasterized - VkBool32 degenerateLinesRasterizedtrue if degenerate lines (those with zero length after snap) are rasterized - VkBool32 fullyCoveredFragmentShaderInputVariabletrue if the implementation supports the FullyCoveredEXT SPIR-V builtin fragment shader input variable - VkBool32 conservativeRasterizationPostDepthCoveragetrue if the implementation supports both conservative rasterization and post depth coverage sample coverage mask + void* pNext + float primitiveOverestimationSizeThe size in pixels the primitive is enlarged at each edge during conservative rasterization + float maxExtraPrimitiveOverestimationSizeThe maximum additional overestimation the client can specify in the pipeline state + float extraPrimitiveOverestimationSizeGranularityThe granularity of extra overestimation sizes the implementations supports between 0 and maxExtraOverestimationSize + VkBool32 primitiveUnderestimationtrue if the implementation supports conservative rasterization underestimation mode + VkBool32 conservativePointAndLineRasterizationtrue if conservative rasterization also applies to points and lines + VkBool32 degenerateTrianglesRasterizedtrue if degenerate triangles (those with zero area after snap) are rasterized + VkBool32 degenerateLinesRasterizedtrue if degenerate lines (those with zero length after snap) are rasterized + VkBool32 fullyCoveredFragmentShaderInputVariabletrue if the implementation supports the FullyCoveredEXT SPIR-V builtin fragment shader input variable + VkBool32 conservativeRasterizationPostDepthCoveragetrue if the implementation supports both conservative rasterization and post depth coverage sample coverage mask VkStructureType sType - const void* pNext + const void* pNext VkTimeDomainEXT timeDomain VkStructureType sType - void* pNext - uint32_t shaderEngineCountnumber of shader engines - uint32_t shaderArraysPerEngineCountnumber of shader arrays - uint32_t computeUnitsPerShaderArraynumber of physical CUs per shader array - uint32_t simdPerComputeUnitnumber of SIMDs per compute unit - uint32_t wavefrontsPerSimdnumber of wavefront slots in each SIMD - uint32_t wavefrontSizemaximum number of threads per wavefront - uint32_t sgprsPerSimdnumber of physical SGPRs per SIMD - uint32_t minSgprAllocationminimum number of SGPRs that can be allocated by a wave - uint32_t maxSgprAllocationnumber of available SGPRs - uint32_t sgprAllocationGranularitySGPRs are allocated in groups of this size - uint32_t vgprsPerSimdnumber of physical VGPRs per SIMD - uint32_t minVgprAllocationminimum number of VGPRs that can be allocated by a wave - uint32_t maxVgprAllocationnumber of available VGPRs - uint32_t vgprAllocationGranularityVGPRs are allocated in groups of this size + void* pNext + uint32_t shaderEngineCountnumber of shader engines + uint32_t shaderArraysPerEngineCountnumber of shader arrays + uint32_t computeUnitsPerShaderArraynumber of physical CUs per shader array + uint32_t simdPerComputeUnitnumber of SIMDs per compute unit + uint32_t wavefrontsPerSimdnumber of wavefront slots in each SIMD + uint32_t wavefrontSizemaximum number of threads per wavefront + uint32_t sgprsPerSimdnumber of physical SGPRs per SIMD + uint32_t minSgprAllocationminimum number of SGPRs that can be allocated by a wave + uint32_t maxSgprAllocationnumber of available SGPRs + uint32_t sgprAllocationGranularitySGPRs are allocated in groups of this size + uint32_t vgprsPerSimdnumber of physical VGPRs per SIMD + uint32_t minVgprAllocationminimum number of VGPRs that can be allocated by a wave + uint32_t maxVgprAllocationnumber of available VGPRs + uint32_t vgprAllocationGranularityVGPRs are allocated in groups of this size VkStructureType sType - void* pNextPointer to next structure - VkShaderCorePropertiesFlagsAMD shaderCoreFeaturesfeatures supported by the shader core - uint32_t activeComputeUnitCountnumber of active compute units across all shader engines/arrays + void* pNextPointer to next structure + VkShaderCorePropertiesFlagsAMD shaderCoreFeaturesfeatures supported by the shader core + uint32_t activeComputeUnitCountnumber of active compute units across all shader engines/arrays VkStructureType sType - const void* pNext + const void* pNext VkPipelineRasterizationConservativeStateCreateFlagsEXT flagsReserved VkConservativeRasterizationModeEXT conservativeRasterizationModeConservative rasterization mode float extraPrimitiveOverestimationSizeExtra overestimation to add to the primitive VkStructureType sType - void* pNext + void* pNext VkBool32 shaderInputAttachmentArrayDynamicIndexing VkBool32 shaderUniformTexelBufferArrayDynamicIndexing VkBool32 shaderStorageTexelBufferArrayDynamicIndexing @@ -3255,55 +3567,55 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext - uint32_t maxUpdateAfterBindDescriptorsInAllPools - VkBool32 shaderUniformBufferArrayNonUniformIndexingNative - VkBool32 shaderSampledImageArrayNonUniformIndexingNative - VkBool32 shaderStorageBufferArrayNonUniformIndexingNative - VkBool32 shaderStorageImageArrayNonUniformIndexingNative - VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative - VkBool32 robustBufferAccessUpdateAfterBind - VkBool32 quadDivergentImplicitLod - uint32_t maxPerStageDescriptorUpdateAfterBindSamplers - uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers - uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers - uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages - uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages - uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments - uint32_t maxPerStageUpdateAfterBindResources - uint32_t maxDescriptorSetUpdateAfterBindSamplers - uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers - uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic - uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers - uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic - uint32_t maxDescriptorSetUpdateAfterBindSampledImages - uint32_t maxDescriptorSetUpdateAfterBindStorageImages - uint32_t maxDescriptorSetUpdateAfterBindInputAttachments + void* pNext + uint32_t maxUpdateAfterBindDescriptorsInAllPools + VkBool32 shaderUniformBufferArrayNonUniformIndexingNative + VkBool32 shaderSampledImageArrayNonUniformIndexingNative + VkBool32 shaderStorageBufferArrayNonUniformIndexingNative + VkBool32 shaderStorageImageArrayNonUniformIndexingNative + VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative + VkBool32 robustBufferAccessUpdateAfterBind + VkBool32 quadDivergentImplicitLod + uint32_t maxPerStageDescriptorUpdateAfterBindSamplers + uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers + uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers + uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages + uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages + uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments + uint32_t maxPerStageUpdateAfterBindResources + uint32_t maxDescriptorSetUpdateAfterBindSamplers + uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers + uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic + uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers + uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic + uint32_t maxDescriptorSetUpdateAfterBindSampledImages + uint32_t maxDescriptorSetUpdateAfterBindStorageImages + uint32_t maxDescriptorSetUpdateAfterBindInputAttachments VkStructureType sType - const void* pNext + const void* pNext uint32_t bindingCount - const VkDescriptorBindingFlags* pBindingFlags + const VkDescriptorBindingFlags* pBindingFlags VkStructureType sType - const void* pNext + const void* pNext uint32_t descriptorSetCount const uint32_t* pDescriptorCounts VkStructureType sType - void* pNext + void* pNext uint32_t maxVariableDescriptorCount VkStructureType sType - const void* pNext + const void* pNext VkAttachmentDescriptionFlags flags VkFormat format VkSampleCountFlagBits samples @@ -3317,7 +3629,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext uint32_t attachment VkImageLayout layout VkImageAspectFlags aspectMask @@ -3325,7 +3637,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkSubpassDescriptionFlags flags VkPipelineBindPoint pipelineBindPoint uint32_t viewMask @@ -3341,20 +3653,20 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext uint32_t srcSubpass uint32_t dstSubpass - VkPipelineStageFlags srcStageMask - VkPipelineStageFlags dstStageMask + VkPipelineStageFlags srcStageMask + VkPipelineStageFlags dstStageMask VkAccessFlags srcAccessMask VkAccessFlags dstAccessMask VkDependencyFlags dependencyFlags - int32_t viewOffset + int32_t viewOffset VkStructureType sType - const void* pNext + const void* pNext VkRenderPassCreateFlags flags uint32_t attachmentCount const VkAttachmentDescription2* pAttachments @@ -3368,37 +3680,37 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkSubpassContents contents VkStructureType sType - const void* pNext + const void* pNext VkStructureType sType - void* pNext + void* pNext VkBool32 timelineSemaphore VkStructureType sType - void* pNext - uint64_t maxTimelineSemaphoreValueDifference + void* pNext + uint64_t maxTimelineSemaphoreValueDifference VkStructureType sType - const void* pNext + const void* pNext VkSemaphoreType semaphoreType uint64_t initialValue VkStructureType sType - const void* pNext + const void* pNext uint32_t waitSemaphoreValueCount const uint64_t* pWaitSemaphoreValues uint32_t signalSemaphoreValueCount @@ -3407,7 +3719,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkSemaphoreWaitFlags flags uint32_t semaphoreCount const VkSemaphore* pSemaphores @@ -3416,7 +3728,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkSemaphore semaphore uint64_t value @@ -3427,47 +3739,47 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext uint32_t vertexBindingDivisorCount const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors VkStructureType sType - void* pNext - uint32_t maxVertexAttribDivisormax value of vertex attribute divisor + void* pNext + uint32_t maxVertexAttribDivisormax value of vertex attribute divisor VkStructureType sType - void* pNext - uint32_t pciDomain - uint32_t pciBus - uint32_t pciDevice - uint32_t pciFunction + void* pNext + uint32_t pciDomain + uint32_t pciBus + uint32_t pciDevice + uint32_t pciFunction VkStructureType sType - const void* pNext + const void* pNext struct AHardwareBuffer* buffer VkStructureType sType - void* pNext + void* pNext uint64_t androidHardwareBufferUsage VkStructureType sType - void* pNext + void* pNext VkDeviceSize allocationSize uint32_t memoryTypeBits VkStructureType sType - const void* pNext + const void* pNext VkDeviceMemory memory VkStructureType sType - void* pNext + void* pNext VkFormat format uint64_t externalFormat VkFormatFeatureFlags formatFeatures @@ -3479,17 +3791,17 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkBool32 conditionalRenderingEnableWhether this secondary command buffer may be executed during an active conditional rendering VkStructureType sType - void* pNext + void* pNext uint64_t externalFormat VkStructureType sType - void* pNext + void* pNext VkBool32 storageBuffer8BitAccess8-bit integer variables supported in StorageBuffer VkBool32 uniformAndStorageBuffer8BitAccess8-bit integer variables supported in StorageBuffer and Uniform VkBool32 storagePushConstant88-bit integer variables supported in PushConstant @@ -3497,13 +3809,13 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext + void* pNext VkBool32 conditionalRendering VkBool32 inheritedConditionalRendering VkStructureType sType - void* pNext + void* pNext VkBool32 vulkanMemoryModel VkBool32 vulkanMemoryModelDeviceScope VkBool32 vulkanMemoryModelAvailabilityVisibilityChains @@ -3511,126 +3823,158 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext + void* pNext VkBool32 shaderBufferInt64Atomics VkBool32 shaderSharedInt64Atomics + + VkStructureType sType + void* pNext + VkBool32 shaderBufferFloat32Atomics + VkBool32 shaderBufferFloat32AtomicAdd + VkBool32 shaderBufferFloat64Atomics + VkBool32 shaderBufferFloat64AtomicAdd + VkBool32 shaderSharedFloat32Atomics + VkBool32 shaderSharedFloat32AtomicAdd + VkBool32 shaderSharedFloat64Atomics + VkBool32 shaderSharedFloat64AtomicAdd + VkBool32 shaderImageFloat32Atomics + VkBool32 shaderImageFloat32AtomicAdd + VkBool32 sparseImageFloat32Atomics + VkBool32 sparseImageFloat32AtomicAdd + + + VkStructureType sType + void* pNext + VkBool32 shaderBufferFloat16Atomics + VkBool32 shaderBufferFloat16AtomicAdd + VkBool32 shaderBufferFloat16AtomicMinMax + VkBool32 shaderBufferFloat32AtomicMinMax + VkBool32 shaderBufferFloat64AtomicMinMax + VkBool32 shaderSharedFloat16Atomics + VkBool32 shaderSharedFloat16AtomicAdd + VkBool32 shaderSharedFloat16AtomicMinMax + VkBool32 shaderSharedFloat32AtomicMinMax + VkBool32 shaderSharedFloat64AtomicMinMax + VkBool32 shaderImageFloat32AtomicMinMax + VkBool32 sparseImageFloat32AtomicMinMax + VkStructureType sType - void* pNext + void* pNext VkBool32 vertexAttributeInstanceRateDivisor VkBool32 vertexAttributeInstanceRateZeroDivisor VkStructureType sType - void* pNext + void* pNext VkPipelineStageFlags checkpointExecutionStageMask VkStructureType sType - void* pNext + void* pNext VkPipelineStageFlagBits stage void* pCheckpointMarker VkStructureType sType - void* pNext - VkResolveModeFlags supportedDepthResolveModessupported depth resolve modes - VkResolveModeFlags supportedStencilResolveModessupported stencil resolve modes - VkBool32 independentResolveNonedepth and stencil resolve modes can be set independently if one of them is none - VkBool32 independentResolvedepth and stencil resolve modes can be set independently + void* pNext + VkResolveModeFlags supportedDepthResolveModessupported depth resolve modes + VkResolveModeFlags supportedStencilResolveModessupported stencil resolve modes + VkBool32 independentResolveNonedepth and stencil resolve modes can be set independently if one of them is none + VkBool32 independentResolvedepth and stencil resolve modes can be set independently VkStructureType sType - const void* pNext - VkResolveModeFlagBits depthResolveModedepth resolve mode - VkResolveModeFlagBits stencilResolveModestencil resolve mode + const void* pNext + VkResolveModeFlagBits depthResolveModedepth resolve mode + VkResolveModeFlagBits stencilResolveModestencil resolve mode const VkAttachmentReference2* pDepthStencilResolveAttachmentdepth/stencil resolve attachment VkStructureType sType - const void* pNext + const void* pNext VkFormat decodeMode VkStructureType sType - void* pNext + void* pNext VkBool32 decodeModeSharedExponent VkStructureType sType - void* pNext + void* pNext VkBool32 transformFeedback VkBool32 geometryStreams VkStructureType sType - void* pNext - uint32_t maxTransformFeedbackStreams - uint32_t maxTransformFeedbackBuffers - VkDeviceSize maxTransformFeedbackBufferSize - uint32_t maxTransformFeedbackStreamDataSize - uint32_t maxTransformFeedbackBufferDataSize - uint32_t maxTransformFeedbackBufferDataStride - VkBool32 transformFeedbackQueries - VkBool32 transformFeedbackStreamsLinesTriangles - VkBool32 transformFeedbackRasterizationStreamSelect - VkBool32 transformFeedbackDraw + void* pNext + uint32_t maxTransformFeedbackStreams + uint32_t maxTransformFeedbackBuffers + VkDeviceSize maxTransformFeedbackBufferSize + uint32_t maxTransformFeedbackStreamDataSize + uint32_t maxTransformFeedbackBufferDataSize + uint32_t maxTransformFeedbackBufferDataStride + VkBool32 transformFeedbackQueries + VkBool32 transformFeedbackStreamsLinesTriangles + VkBool32 transformFeedbackRasterizationStreamSelect + VkBool32 transformFeedbackDraw VkStructureType sType - const void* pNext + const void* pNext VkPipelineRasterizationStateStreamCreateFlagsEXT flags uint32_t rasterizationStream VkStructureTypesType - void* pNext + void* pNext VkBool32 representativeFragmentTest VkStructureType sType - const void* pNext + const void* pNext VkBool32 representativeFragmentTestEnable VkStructureType sType - void* pNext + void* pNext VkBool32 exclusiveScissor VkStructureType sType - const void* pNext + const void* pNext uint32_t exclusiveScissorCount const VkRect2D* pExclusiveScissors VkStructureType sType - void* pNext + void* pNext VkBool32 cornerSampledImage VkStructureType sType - void* pNext + void* pNext VkBool32 computeDerivativeGroupQuads VkBool32 computeDerivativeGroupLinear VkStructureType sType - void* pNext + void* pNext VkBool32 fragmentShaderBarycentric VkStructureType sType - void* pNext + void* pNext VkBool32 imageFootprint VkStructureType sType - void* pNext + void* pNext VkBool32 dedicatedAllocationImageAliasing @@ -3639,23 +3983,28 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkBool32 shadingRateImageEnable - uint32_t viewportCount + uint32_t viewportCount const VkShadingRatePaletteNV* pShadingRatePalettes VkStructureType sType - void* pNext + void* pNext VkBool32 shadingRateImage VkBool32 shadingRateCoarseSampleOrder VkStructureType sType - void* pNext - VkExtent2D shadingRateTexelSize - uint32_t shadingRatePaletteSize - uint32_t shadingRateMaxCoarseSamples + void* pNext + VkExtent2D shadingRateTexelSize + uint32_t shadingRatePaletteSize + uint32_t shadingRateMaxCoarseSamples + + + VkStructureType sType + void* pNext + VkBool32 invocationMask uint32_t pixelX @@ -3670,33 +4019,33 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkCoarseSampleOrderTypeNV sampleOrderType uint32_t customSampleOrderCount const VkCoarseSampleOrderCustomNV* pCustomSampleOrders VkStructureType sType - void* pNext + void* pNext VkBool32 taskShader VkBool32 meshShader VkStructureType sType - void* pNext - uint32_t maxDrawMeshTasksCount - uint32_t maxTaskWorkGroupInvocations - uint32_t maxTaskWorkGroupSize[3] - uint32_t maxTaskTotalMemorySize - uint32_t maxTaskOutputCount - uint32_t maxMeshWorkGroupInvocations - uint32_t maxMeshWorkGroupSize[3] - uint32_t maxMeshTotalMemorySize - uint32_t maxMeshOutputVertices - uint32_t maxMeshOutputPrimitives - uint32_t maxMeshMultiviewViewCount - uint32_t meshOutputPerVertexGranularity - uint32_t meshOutputPerPrimitiveGranularity + void* pNext + uint32_t maxDrawMeshTasksCount + uint32_t maxTaskWorkGroupInvocations + uint32_t maxTaskWorkGroupSize[3] + uint32_t maxTaskTotalMemorySize + uint32_t maxTaskOutputCount + uint32_t maxMeshWorkGroupInvocations + uint32_t maxMeshWorkGroupSize[3] + uint32_t maxMeshTotalMemorySize + uint32_t maxMeshOutputVertices + uint32_t maxMeshOutputPrimitives + uint32_t maxMeshMultiviewViewCount + uint32_t meshOutputPerVertexGranularity + uint32_t meshOutputPerPrimitiveGranularity uint32_t taskCount @@ -3704,7 +4053,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkRayTracingShaderGroupTypeKHR type uint32_t generalShader uint32_t closestHitShader @@ -3713,7 +4062,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkRayTracingShaderGroupTypeKHR type uint32_t generalShader uint32_t closestHitShader @@ -3723,7 +4072,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkPipelineCreateFlags flagsPipeline creation flags uint32_t stageCount const VkPipelineShaderStageCreateInfo* pStagesOne entry for each active shader stage @@ -3736,22 +4085,23 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkPipelineCreateFlags flagsPipeline creation flags uint32_t stageCount const VkPipelineShaderStageCreateInfo* pStagesOne entry for each active shader stage uint32_t groupCount const VkRayTracingShaderGroupCreateInfoKHR* pGroups - uint32_t maxRecursionDepth - VkPipelineLibraryCreateInfoKHR libraries + uint32_t maxPipelineRayRecursionDepth + const VkPipelineLibraryCreateInfoKHR* pLibraryInfo const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface + const VkPipelineDynamicStateCreateInfo* pDynamicState VkPipelineLayout layoutInterface layout of the pipeline VkPipeline basePipelineHandleIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is nonzero, it specifies the handle of the base pipeline this is a derivative of int32_t basePipelineIndexIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is not -1, it specifies an index into pCreateInfos of the base pipeline this is a derivative of VkStructureType sType - const void* pNext + const void* pNext VkBuffer vertexData VkDeviceSize vertexOffset uint32_t vertexCount @@ -3766,7 +4116,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkBuffer aabbData uint32_t numAABBs uint32_t strideStride in bytes between AABBs @@ -3778,14 +4128,14 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkGeometryTypeKHR geometryType VkGeometryDataNV geometry VkGeometryFlagsKHR flags VkStructureType sType - const void* pNext + const void* pNext VkAccelerationStructureTypeNV type VkBuildAccelerationStructureFlagsNVflags uint32_t instanceCount @@ -3794,81 +4144,98 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkDeviceSize compactedSize VkAccelerationStructureInfoNV info - - VkStructureType sType - const void* pNext - VkAccelerationStructureKHR accelerationStructure + + VkStructureType sType + const void* pNext + VkAccelerationStructureNV accelerationStructure VkDeviceMemory memory VkDeviceSize memoryOffset uint32_t deviceIndexCount const uint32_t* pDeviceIndices - VkStructureType sType - const void* pNext + const void* pNext uint32_t accelerationStructureCount - const VkAccelerationStructureKHR* pAccelerationStructures + const VkAccelerationStructureKHR* pAccelerationStructures - - - VkStructureType sType - const void* pNext - VkAccelerationStructureMemoryRequirementsTypeKHR type - VkAccelerationStructureBuildTypeKHR buildType - VkAccelerationStructureKHR accelerationStructure + + VkStructureType sType + const void* pNext + uint32_t accelerationStructureCount + const VkAccelerationStructureNV* pAccelerationStructures VkStructureType sType - const void* pNext + const void* pNext VkAccelerationStructureMemoryRequirementsTypeNV type VkAccelerationStructureNV accelerationStructure - - VkStructureType sType - void* pNext - VkBool32 rayTracing - VkBool32 rayTracingShaderGroupHandleCaptureReplay - VkBool32 rayTracingShaderGroupHandleCaptureReplayMixed - VkBool32 rayTracingAccelerationStructureCaptureReplay - VkBool32 rayTracingIndirectTraceRays - VkBool32 rayTracingIndirectAccelerationStructureBuild - VkBool32 rayTracingHostAccelerationStructureCommands + + VkStructureType sType + void* pNext + VkBool32 accelerationStructure + VkBool32 accelerationStructureCaptureReplay + VkBool32 accelerationStructureIndirectBuild + VkBool32 accelerationStructureHostCommands + VkBool32 descriptorBindingAccelerationStructureUpdateAfterBind + + + VkStructureType sType + void* pNext + VkBool32 rayTracingPipeline + VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplay + VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed + VkBool32 rayTracingPipelineTraceRaysIndirect + VkBool32 rayTraversalPrimitiveCulling + + + VkStructureType sType + void* pNext VkBool32 rayQuery - VkBool32 rayTracingPrimitiveCulling - - - VkStructureType sType - void* pNext - uint32_t shaderGroupHandleSize - uint32_t maxRecursionDepth - uint32_t maxShaderGroupStride - uint32_t shaderGroupBaseAlignment - uint64_t maxGeometryCount - uint64_t maxInstanceCount - uint64_t maxPrimitiveCount - uint32_t maxDescriptorSetAccelerationStructures - uint32_t shaderGroupHandleCaptureReplaySize + + + VkStructureType sType + void* pNext + uint64_t maxGeometryCount + uint64_t maxInstanceCount + uint64_t maxPrimitiveCount + uint32_t maxPerStageDescriptorAccelerationStructures + uint32_t maxPerStageDescriptorUpdateAfterBindAccelerationStructures + uint32_t maxDescriptorSetAccelerationStructures + uint32_t maxDescriptorSetUpdateAfterBindAccelerationStructures + uint32_t minAccelerationStructureScratchOffsetAlignment + + + VkStructureType sType + void* pNext + uint32_t shaderGroupHandleSize + uint32_t maxRayRecursionDepth + uint32_t maxShaderGroupStride + uint32_t shaderGroupBaseAlignment + uint32_t shaderGroupHandleCaptureReplaySize + uint32_t maxRayDispatchInvocationCount + uint32_t shaderGroupHandleAlignment + uint32_t maxRayHitAttributeSize VkStructureType sType - void* pNext - uint32_t shaderGroupHandleSize - uint32_t maxRecursionDepth - uint32_t maxShaderGroupStride - uint32_t shaderGroupBaseAlignment - uint64_t maxGeometryCount - uint64_t maxInstanceCount - uint64_t maxTriangleCount - uint32_t maxDescriptorSetAccelerationStructures - - - VkBuffer buffer - VkDeviceSize offset + void* pNext + uint32_t shaderGroupHandleSize + uint32_t maxRecursionDepth + uint32_t maxShaderGroupStride + uint32_t shaderGroupBaseAlignment + uint64_t maxGeometryCount + uint64_t maxInstanceCount + uint64_t maxTriangleCount + uint32_t maxDescriptorSetAccelerationStructures + + + VkDeviceAddress deviceAddress VkDeviceSize stride VkDeviceSize size @@ -3879,7 +4246,7 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext + void* pNext uint32_t drmFormatModifierCount VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties @@ -3890,7 +4257,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext uint64_t drmFormatModifier VkSharingMode sharingMode uint32_t queueFamilyIndexCount @@ -3898,99 +4265,133 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext uint32_t drmFormatModifierCount const uint64_t* pDrmFormatModifiers VkStructureType sType - const void* pNext + const void* pNext uint64_t drmFormatModifier uint32_t drmFormatModifierPlaneCount const VkSubresourceLayout* pPlaneLayouts VkStructureType sType - void* pNext + void* pNext uint64_t drmFormatModifier VkStructureType sType - const void* pNext + const void* pNext VkImageUsageFlags stencilUsage VkStructureType sType - const void* pNext + const void* pNext VkMemoryOverallocationBehaviorAMD overallocationBehavior - + VkStructureType sType - void* pNext + void* pNext VkBool32 fragmentDensityMap VkBool32 fragmentDensityMapDynamic VkBool32 fragmentDensityMapNonSubsampledImages + + VkStructureType sType + void* pNext + VkBool32 fragmentDensityMapDeferred + + + VkStructureType sType + void* pNext + VkBool32 fragmentDensityMapOffset + VkStructureType sType - void* pNext - VkExtent2D minFragmentDensityTexelSize - VkExtent2D maxFragmentDensityTexelSize - VkBool32 fragmentDensityInvocations + void* pNext + VkExtent2D minFragmentDensityTexelSize + VkExtent2D maxFragmentDensityTexelSize + VkBool32 fragmentDensityInvocations + + + VkStructureType sType + void* pNext + VkBool32 subsampledLoads + VkBool32 subsampledCoarseReconstructionEarlyAccess + uint32_t maxSubsampledArrayLayers + uint32_t maxDescriptorSetSubsampledSamplers + + + VkStructureType sType + void* pNext + VkExtent2D fragmentDensityOffsetGranularity VkStructureType sType - const void* pNext + const void* pNext VkAttachmentReference fragmentDensityMapAttachment + + VkStructureType sType + const void* pNext + uint32_t fragmentDensityOffsetCount + const VkOffset2D* pFragmentDensityOffsets + VkStructureType sType - void* pNext + void* pNext VkBool32 scalarBlockLayout VkStructureType sType - const void* pNext + const void* pNext VkBool32 supportsProtectedRepresents if surface can be protected VkStructureType sType - void* pNext + void* pNext VkBool32 uniformBufferStandardLayout VkStructureType sType - void* pNext + void* pNext VkBool32 depthClipEnable VkStructureType sType - const void* pNext + const void* pNext VkPipelineRasterizationDepthClipStateCreateFlagsEXT flagsReserved VkBool32 depthClipEnable VkStructureType sType - void* pNext + void* pNext VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS] VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS] VkStructureType sType - void* pNext + void* pNext VkBool32 memoryPriority VkStructureType sType - const void* pNext + const void* pNext float priority + + VkStructureType sType + void* pNext + VkBool32 pageableDeviceLocalMemory + VkStructureType sType - void* pNext + void* pNext VkBool32 bufferDeviceAddress VkBool32 bufferDeviceAddressCaptureReplay VkBool32 bufferDeviceAddressMultiDevice @@ -3998,7 +4399,7 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext + void* pNext VkBool32 bufferDeviceAddress VkBool32 bufferDeviceAddressCaptureReplay VkBool32 bufferDeviceAddressMultiDevice @@ -4006,49 +4407,49 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkBuffer buffer VkStructureType sType - const void* pNext + const void* pNext uint64_t opaqueCaptureAddress VkStructureType sType - const void* pNext + const void* pNext VkDeviceAddress deviceAddress VkStructureType sType - void* pNext + void* pNext VkImageViewType imageViewType VkStructureType sType - void* pNext + void* pNext VkBool32 filterCubicThe combinations of format, image type (and image view type if provided) can be filtered with VK_FILTER_CUBIC_EXT VkBool32 filterCubicMinmaxThe combination of format, image type (and image view type if provided) can be filtered with VK_FILTER_CUBIC_EXT and ReductionMode of Min or Max VkStructureType sType - void* pNext + void* pNext VkBool32 imagelessFramebuffer VkStructureType sType - const void* pNext + const void* pNext uint32_t attachmentImageInfoCount const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos VkStructureType sType - const void* pNext + const void* pNext VkImageCreateFlags flagsImage creation flags VkImageUsageFlags usageImage usage flags uint32_t width @@ -4060,30 +4461,30 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext uint32_t attachmentCount const VkImageView* pAttachments VkStructureType sType - void* pNext + void* pNext VkBool32 textureCompressionASTC_HDR VkStructureType sType - void* pNext + void* pNext VkBool32 cooperativeMatrix VkBool32 cooperativeMatrixRobustBufferAccess VkStructureType sType - void* pNext - VkShaderStageFlags cooperativeMatrixSupportedStages + void* pNext + VkShaderStageFlags cooperativeMatrixSupportedStages VkStructureType sType - void* pNext + void* pNext uint32_t MSize uint32_t NSize uint32_t KSize @@ -4095,25 +4496,25 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext + void* pNext VkBool32 ycbcrImageArrays VkStructureType sType - const void* pNext + const void* pNext VkImageView imageView VkDescriptorType descriptorType VkSampler sampler VkStructureType sType - void* pNext + void* pNext VkDeviceAddress deviceAddress VkDeviceSize size VkStructureType sType - const void* pNext + const void* pNext GgpFrameToken frameToken @@ -4122,39 +4523,40 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkPipelineCreationFeedbackEXT* pPipelineCreationFeedbackOutput pipeline creation feedback. uint32_t pipelineStageCreationFeedbackCount VkPipelineCreationFeedbackEXT* pPipelineStageCreationFeedbacksOne entry for each shader stage specified in the parent Vk*PipelineCreateInfo struct VkStructureType sType - void* pNext + void* pNext VkFullScreenExclusiveEXT fullScreenExclusive VkStructureType sType - const void* pNext + const void* pNext HMONITOR hmonitor VkStructureType sType - void* pNext + void* pNext VkBool32 fullScreenExclusiveSupported VkStructureType sType - void* pNext + void* pNext VkBool32 performanceCounterQueryPoolsperformance counters supported in query pools - VkBool32 performanceCounterMultipleQueryPoolsperformance counters from multiple query pools can be accessed in the same primary command buffer + VkBool32 performanceCounterMultipleQueryPoolsperformance counters from multiple query pools can be accessed in the same primary command buffer + - VkStructureType sType - void* pNext - VkBool32 allowCommandBufferQueryCopiesFlag to specify whether performance queries are allowed to be used in vkCmdCopyQueryPoolResults + VkStructureType sType + void* pNext + VkBool32 allowCommandBufferQueryCopiesFlag to specify whether performance queries are allowed to be used in vkCmdCopyQueryPoolResults VkStructureType sType - const void* pNext + void* pNext VkPerformanceCounterUnitKHR unit VkPerformanceCounterScopeKHR scope VkPerformanceCounterStorageKHR storage @@ -4162,7 +4564,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + void* pNext VkPerformanceCounterDescriptionFlagsKHR flags char name[VK_MAX_DESCRIPTION_SIZE] char category[VK_MAX_DESCRIPTION_SIZE] @@ -4170,7 +4572,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext uint32_t queueFamilyIndex uint32_t counterIndexCount const uint32_t* pCounterIndices @@ -4185,34 +4587,34 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkAcquireProfilingLockFlagsKHR flagsAcquire profiling lock flags uint64_t timeout - + VkStructureType sType - const void* pNext + const void* pNext uint32_t counterPassIndexIndex for which counter pass to submit VkStructureType sType - const void* pNext + const void* pNext VkHeadlessSurfaceCreateFlagsEXT flags VkStructureTypesType - void* pNext + void* pNext VkBool32 coverageReductionMode VkStructureType sType - const void* pNext + const void* pNext VkPipelineCoverageReductionStateCreateFlagsNV flags VkCoverageReductionModeNV coverageReductionMode VkStructureType sType - void* pNext + void* pNext VkCoverageReductionModeNV coverageReductionMode VkSampleCountFlagBits rasterizationSamples VkSampleCountFlags depthStencilSamples @@ -4220,7 +4622,7 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext + void* pNext VkBool32 shaderIntegerFunctions2 @@ -4232,102 +4634,108 @@ typedef void CAMetalLayer; VkPerformanceValueTypeINTEL type - VkPerformanceValueDataINTEL data + VkPerformanceValueDataINTEL data VkStructureType sType - const void* pNext - void* pUserData + const void* pNext + void* pUserData VkStructureType sType - const void* pNext + const void* pNext VkQueryPoolSamplingModeINTEL performanceCountersSampling VkStructureType sType - const void* pNext + const void* pNext uint64_t marker VkStructureType sType - const void* pNext + const void* pNext uint32_t marker VkStructureType sType - const void* pNext + const void* pNext VkPerformanceOverrideTypeINTEL type VkBool32 enable uint64_t parameter VkStructureType sType - const void* pNext + const void* pNext VkPerformanceConfigurationTypeINTEL type VkStructureType sType - void* pNext + void* pNext VkBool32 shaderSubgroupClock VkBool32 shaderDeviceClock VkStructureType sType - void* pNext + void* pNext VkBool32 indexTypeUint8 VkStructureType sType - void* pNext - uint32_t shaderSMCount - uint32_t shaderWarpsPerSM + void* pNext + uint32_t shaderSMCount + uint32_t shaderWarpsPerSM VkStructureTypesType - void* pNext + void* pNext VkBool32 shaderSMBuiltins VkStructureType sType - void* pNextPointer to next structure + void* pNextPointer to next structure VkBool32 fragmentShaderSampleInterlock VkBool32 fragmentShaderPixelInterlock VkBool32 fragmentShaderShadingRateInterlock VkStructureTypesType - void* pNext + void* pNext VkBool32 separateDepthStencilLayouts VkStructureTypesType - void* pNext + void* pNext VkImageLayout stencilLayout + + VkStructureType sType + void* pNext + VkBool32 primitiveTopologyListRestart + VkBool32 primitiveTopologyPatchListRestart + VkStructureTypesType - void* pNext + void* pNext VkImageLayout stencilInitialLayout VkImageLayout stencilFinalLayout VkStructureType sType - void* pNext + void* pNext VkBool32 pipelineExecutableInfo VkStructureType sType - const void* pNext + const void* pNext VkPipeline pipeline VkStructureType sType - void* pNext + void* pNext VkShaderStageFlags stages char name[VK_MAX_DESCRIPTION_SIZE] char description[VK_MAX_DESCRIPTION_SIZE] @@ -4335,7 +4743,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkPipeline pipeline uint32_t executableIndex @@ -4347,73 +4755,84 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext + void* pNext char name[VK_MAX_DESCRIPTION_SIZE] char description[VK_MAX_DESCRIPTION_SIZE] VkPipelineExecutableStatisticFormatKHR format - VkPipelineExecutableStatisticValueKHR value + VkPipelineExecutableStatisticValueKHR value VkStructureType sType - void* pNext + void* pNext char name[VK_MAX_DESCRIPTION_SIZE] char description[VK_MAX_DESCRIPTION_SIZE] VkBool32 isText - size_t dataSize + size_t dataSize void* pData VkStructureType sType - void* pNext + void* pNext VkBool32 shaderDemoteToHelperInvocation VkStructureType sType - void* pNext + void* pNext VkBool32 texelBufferAlignment VkStructureType sType - void* pNext - VkDeviceSize storageTexelBufferOffsetAlignmentBytes - VkBool32 storageTexelBufferOffsetSingleTexelAlignment - VkDeviceSize uniformTexelBufferOffsetAlignmentBytes - VkBool32 uniformTexelBufferOffsetSingleTexelAlignment + void* pNext + VkDeviceSize storageTexelBufferOffsetAlignmentBytes + VkBool32 storageTexelBufferOffsetSingleTexelAlignment + VkDeviceSize uniformTexelBufferOffsetAlignmentBytes + VkBool32 uniformTexelBufferOffsetSingleTexelAlignment - VkStructureType sType - void* pNext - VkBool32 subgroupSizeControl - VkBool32 computeFullSubgroups + VkStructureType sType + void* pNext + VkBool32 subgroupSizeControl + VkBool32 computeFullSubgroups - VkStructureType sType - void* pNext - uint32_t minSubgroupSizeThe minimum subgroup size supported by this device - uint32_t maxSubgroupSizeThe maximum subgroup size supported by this device - uint32_t maxComputeWorkgroupSubgroupsThe maximum number of subgroups supported in a workgroup - VkShaderStageFlags requiredSubgroupSizeStagesThe shader stages that support specifying a subgroup size + VkStructureType sType + void* pNext + uint32_t minSubgroupSizeThe minimum subgroup size supported by this device + uint32_t maxSubgroupSizeThe maximum subgroup size supported by this device + uint32_t maxComputeWorkgroupSubgroupsThe maximum number of subgroups supported in a workgroup + VkShaderStageFlags requiredSubgroupSizeStagesThe shader stages that support specifying a subgroup size VkStructureType sType - void* pNext + void* pNext uint32_t requiredSubgroupSize + + VkStructureType sType + void* pNext + VkRenderPass renderPass + uint32_t subpass + + + VkStructureType sType + void* pNext + uint32_t maxSubpassShadingWorkgroupSizeAspectRatio + VkStructureType sType - const void* pNext + const void* pNext uint64_t opaqueCaptureAddress VkStructureType sType - const void* pNext + const void* pNext VkDeviceMemory memory VkStructureType sType - void* pNext + void* pNext VkBool32 rectangularLines VkBool32 bresenhamLines VkBool32 smoothLines @@ -4423,25 +4842,25 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext - uint32_t lineSubPixelPrecisionBits + void* pNext + uint32_t lineSubPixelPrecisionBits VkStructureType sType - const void* pNext + const void* pNext VkLineRasterizationModeEXT lineRasterizationMode VkBool32 stippledLineEnable - uint32_t lineStippleFactor - uint16_t lineStipplePattern + uint32_t lineStippleFactor + uint16_t lineStipplePattern VkStructureType sType - void* pNext + void* pNext VkBool32 pipelineCreationCacheControl VkStructureTypesType - void* pNext + void* pNext VkBool32 storageBuffer16BitAccess16-bit integer/floating-point variables supported in BufferBlock VkBool32 uniformAndStorageBuffer16BitAccess16-bit integer/floating-point variables supported in BufferBlock and Block VkBool32 storagePushConstant1616-bit integer/floating-point variables supported in PushConstant @@ -4457,26 +4876,26 @@ typedef void CAMetalLayer; VkStructureTypesType - void* pNext - uint8_t deviceUUID[VK_UUID_SIZE] - uint8_t driverUUID[VK_UUID_SIZE] - uint8_t deviceLUID[VK_LUID_SIZE] - uint32_t deviceNodeMask - VkBool32 deviceLUIDValid - uint32_t subgroupSizeThe size of a subgroup for this queue. - VkShaderStageFlags subgroupSupportedStagesBitfield of what shader stages support subgroup operations - VkSubgroupFeatureFlags subgroupSupportedOperationsBitfield of what subgroup operations are supported. - VkBool32 subgroupQuadOperationsInAllStagesFlag to specify whether quad operations are available in all stages. - VkPointClippingBehavior pointClippingBehavior - uint32_t maxMultiviewViewCountmax number of views in a subpass - uint32_t maxMultiviewInstanceIndexmax instance index for a draw in a multiview subpass - VkBool32 protectedNoFault - uint32_t maxPerSetDescriptors - VkDeviceSize maxMemoryAllocationSize + void* pNext + uint8_t deviceUUID[VK_UUID_SIZE] + uint8_t driverUUID[VK_UUID_SIZE] + uint8_t deviceLUID[VK_LUID_SIZE] + uint32_t deviceNodeMask + VkBool32 deviceLUIDValid + uint32_t subgroupSizeThe size of a subgroup for this queue. + VkShaderStageFlags subgroupSupportedStagesBitfield of what shader stages support subgroup operations + VkSubgroupFeatureFlags subgroupSupportedOperationsBitfield of what subgroup operations are supported. + VkBool32 subgroupQuadOperationsInAllStagesFlag to specify whether quad operations are available in all stages. + VkPointClippingBehavior pointClippingBehavior + uint32_t maxMultiviewViewCountmax number of views in a subpass + uint32_t maxMultiviewInstanceIndexmax instance index for a draw in a multiview subpass + VkBool32 protectedNoFault + uint32_t maxPerSetDescriptors + VkDeviceSize maxMemoryAllocationSize VkStructureTypesType - void* pNext + void* pNext VkBool32 samplerMirrorClampToEdge VkBool32 drawIndirectCount VkBool32 storageBuffer8BitAccess8-bit integer variables supported in StorageBuffer @@ -4527,73 +4946,73 @@ typedef void CAMetalLayer; VkStructureTypesType - void* pNext - VkDriverId driverID - char driverName[VK_MAX_DRIVER_NAME_SIZE] - char driverInfo[VK_MAX_DRIVER_INFO_SIZE] - VkConformanceVersion conformanceVersion - VkShaderFloatControlsIndependencedenormBehaviorIndependence - VkShaderFloatControlsIndependenceroundingModeIndependence - VkBool32 shaderSignedZeroInfNanPreserveFloat16An implementation can preserve signed zero, nan, inf - VkBool32 shaderSignedZeroInfNanPreserveFloat32An implementation can preserve signed zero, nan, inf - VkBool32 shaderSignedZeroInfNanPreserveFloat64An implementation can preserve signed zero, nan, inf - VkBool32 shaderDenormPreserveFloat16An implementation can preserve denormals - VkBool32 shaderDenormPreserveFloat32An implementation can preserve denormals - VkBool32 shaderDenormPreserveFloat64An implementation can preserve denormals - VkBool32 shaderDenormFlushToZeroFloat16An implementation can flush to zero denormals - VkBool32 shaderDenormFlushToZeroFloat32An implementation can flush to zero denormals - VkBool32 shaderDenormFlushToZeroFloat64An implementation can flush to zero denormals - VkBool32 shaderRoundingModeRTEFloat16An implementation can support RTE - VkBool32 shaderRoundingModeRTEFloat32An implementation can support RTE - VkBool32 shaderRoundingModeRTEFloat64An implementation can support RTE - VkBool32 shaderRoundingModeRTZFloat16An implementation can support RTZ - VkBool32 shaderRoundingModeRTZFloat32An implementation can support RTZ - VkBool32 shaderRoundingModeRTZFloat64An implementation can support RTZ - uint32_t maxUpdateAfterBindDescriptorsInAllPools - VkBool32 shaderUniformBufferArrayNonUniformIndexingNative - VkBool32 shaderSampledImageArrayNonUniformIndexingNative - VkBool32 shaderStorageBufferArrayNonUniformIndexingNative - VkBool32 shaderStorageImageArrayNonUniformIndexingNative - VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative - VkBool32 robustBufferAccessUpdateAfterBind - VkBool32 quadDivergentImplicitLod - uint32_t maxPerStageDescriptorUpdateAfterBindSamplers - uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers - uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers - uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages - uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages - uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments - uint32_t maxPerStageUpdateAfterBindResources - uint32_t maxDescriptorSetUpdateAfterBindSamplers - uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers - uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic - uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers - uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic - uint32_t maxDescriptorSetUpdateAfterBindSampledImages - uint32_t maxDescriptorSetUpdateAfterBindStorageImages - uint32_t maxDescriptorSetUpdateAfterBindInputAttachments - VkResolveModeFlags supportedDepthResolveModessupported depth resolve modes - VkResolveModeFlags supportedStencilResolveModessupported stencil resolve modes - VkBool32 independentResolveNonedepth and stencil resolve modes can be set independently if one of them is none - VkBool32 independentResolvedepth and stencil resolve modes can be set independently - VkBool32 filterMinmaxSingleComponentFormats - VkBool32 filterMinmaxImageComponentMapping - uint64_t maxTimelineSemaphoreValueDifference - VkSampleCountFlags framebufferIntegerColorSampleCounts + void* pNext + VkDriverId driverID + char driverName[VK_MAX_DRIVER_NAME_SIZE] + char driverInfo[VK_MAX_DRIVER_INFO_SIZE] + VkConformanceVersion conformanceVersion + VkShaderFloatControlsIndependencedenormBehaviorIndependence + VkShaderFloatControlsIndependenceroundingModeIndependence + VkBool32 shaderSignedZeroInfNanPreserveFloat16An implementation can preserve signed zero, nan, inf + VkBool32 shaderSignedZeroInfNanPreserveFloat32An implementation can preserve signed zero, nan, inf + VkBool32 shaderSignedZeroInfNanPreserveFloat64An implementation can preserve signed zero, nan, inf + VkBool32 shaderDenormPreserveFloat16An implementation can preserve denormals + VkBool32 shaderDenormPreserveFloat32An implementation can preserve denormals + VkBool32 shaderDenormPreserveFloat64An implementation can preserve denormals + VkBool32 shaderDenormFlushToZeroFloat16An implementation can flush to zero denormals + VkBool32 shaderDenormFlushToZeroFloat32An implementation can flush to zero denormals + VkBool32 shaderDenormFlushToZeroFloat64An implementation can flush to zero denormals + VkBool32 shaderRoundingModeRTEFloat16An implementation can support RTE + VkBool32 shaderRoundingModeRTEFloat32An implementation can support RTE + VkBool32 shaderRoundingModeRTEFloat64An implementation can support RTE + VkBool32 shaderRoundingModeRTZFloat16An implementation can support RTZ + VkBool32 shaderRoundingModeRTZFloat32An implementation can support RTZ + VkBool32 shaderRoundingModeRTZFloat64An implementation can support RTZ + uint32_t maxUpdateAfterBindDescriptorsInAllPools + VkBool32 shaderUniformBufferArrayNonUniformIndexingNative + VkBool32 shaderSampledImageArrayNonUniformIndexingNative + VkBool32 shaderStorageBufferArrayNonUniformIndexingNative + VkBool32 shaderStorageImageArrayNonUniformIndexingNative + VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative + VkBool32 robustBufferAccessUpdateAfterBind + VkBool32 quadDivergentImplicitLod + uint32_t maxPerStageDescriptorUpdateAfterBindSamplers + uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers + uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers + uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages + uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages + uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments + uint32_t maxPerStageUpdateAfterBindResources + uint32_t maxDescriptorSetUpdateAfterBindSamplers + uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers + uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic + uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers + uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic + uint32_t maxDescriptorSetUpdateAfterBindSampledImages + uint32_t maxDescriptorSetUpdateAfterBindStorageImages + uint32_t maxDescriptorSetUpdateAfterBindInputAttachments + VkResolveModeFlags supportedDepthResolveModessupported depth resolve modes + VkResolveModeFlags supportedStencilResolveModessupported stencil resolve modes + VkBool32 independentResolveNonedepth and stencil resolve modes can be set independently if one of them is none + VkBool32 independentResolvedepth and stencil resolve modes can be set independently + VkBool32 filterMinmaxSingleComponentFormats + VkBool32 filterMinmaxImageComponentMapping + uint64_t maxTimelineSemaphoreValueDifference + VkSampleCountFlags framebufferIntegerColorSampleCounts VkStructureType sType - const void* pNext + const void* pNext VkPipelineCompilerControlFlagsAMD compilerControlFlags VkStructureType sType - void* pNext + void* pNext VkBool32 deviceCoherentMemory VkStructureType sType - void* pNext + void* pNext char name[VK_MAX_EXTENSION_NAME_SIZE] char version[VK_MAX_EXTENSION_NAME_SIZE] VkToolPurposeFlagsEXT purposes @@ -4602,21 +5021,33 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext - VkClearColorValue customBorderColor + const void* pNext + VkClearColorValue customBorderColor VkFormat format VkStructureType sType - void* pNext - uint32_t maxCustomBorderColorSamplers + void* pNext + uint32_t maxCustomBorderColorSamplers VkStructureType sType - void* pNext + void* pNext VkBool32 customBorderColors VkBool32 customBorderColorWithoutFormat + + VkStructureType sType + const void* pNext + VkComponentMapping components + VkBool32 srgb + + + VkStructureType sType + void* pNext + VkBool32 borderColorSwizzle + VkBool32 borderColorSwizzleFromImage + VkDeviceAddress deviceAddress void* hostAddress @@ -4627,25 +5058,26 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkFormat vertexFormat - VkDeviceOrHostAddressConstKHR vertexData + VkDeviceOrHostAddressConstKHR vertexData VkDeviceSize vertexStride + uint32_t maxVertex VkIndexType indexType - VkDeviceOrHostAddressConstKHR indexData - VkDeviceOrHostAddressConstKHR transformData + VkDeviceOrHostAddressConstKHR indexData + VkDeviceOrHostAddressConstKHR transformData VkStructureType sType - const void* pNext - VkDeviceOrHostAddressConstKHR data + const void* pNext + VkDeviceOrHostAddressConstKHR data VkDeviceSize stride VkStructureType sType - const void* pNext + const void* pNext VkBool32 arrayOfPointers - VkDeviceOrHostAddressConstKHR data + VkDeviceOrHostAddressConstKHR data VkAccelerationStructureGeometryTrianglesDataKHR triangles @@ -4654,48 +5086,38 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkGeometryTypeKHR geometryType VkAccelerationStructureGeometryDataKHR geometry VkGeometryFlagsKHR flags VkStructureType sType - const void* pNext + const void* pNext VkAccelerationStructureTypeKHR type VkBuildAccelerationStructureFlagsKHR flags - VkBool32 update - VkAccelerationStructureKHR srcAccelerationStructure - VkAccelerationStructureKHR dstAccelerationStructure - VkBool32 geometryArrayOfPointers + VkBuildAccelerationStructureModeKHR mode + VkAccelerationStructureKHR srcAccelerationStructure + VkAccelerationStructureKHR dstAccelerationStructure uint32_t geometryCount - const VkAccelerationStructureGeometryKHR* const* ppGeometries - VkDeviceOrHostAddressKHR scratchData + const VkAccelerationStructureGeometryKHR* pGeometries + const VkAccelerationStructureGeometryKHR* const* ppGeometries + VkDeviceOrHostAddressKHR scratchData - + uint32_t primitiveCount uint32_t primitiveOffset - uint32_t firstVertex - uint32_t transformOffset - - - VkStructureType sType - const void* pNext - VkGeometryTypeKHR geometryType - uint32_t maxPrimitiveCount - VkIndexType indexType - uint32_t maxVertexCount - VkFormat vertexFormat - VkBool32 allowsTransforms + uint32_t firstVertex + uint32_t transformOffset VkStructureType sType - const void* pNext - VkDeviceSize compactedSize + const void* pNext + VkAccelerationStructureCreateFlagsKHR createFlags + VkBuffer buffer + VkDeviceSize offsetSpecified in bytes + VkDeviceSize size VkAccelerationStructureTypeKHR type - VkBuildAccelerationStructureFlagsKHR flags - uint32_t maxGeometryCount - const VkAccelerationStructureCreateGeometryTypeInfoKHR* pGeometryInfos VkDeviceAddress deviceAddress @@ -4723,120 +5145,1472 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkAccelerationStructureKHR accelerationStructure - - VkStructureType sType - const void* pNext - const uint8_t* versionData + + VkStructureType sType + const void* pNext + const uint8_t* pVersionData VkStructureType sType - const void* pNext + const void* pNext VkAccelerationStructureKHR src VkAccelerationStructureKHR dst VkCopyAccelerationStructureModeKHR mode VkStructureType sType - const void* pNext + const void* pNext VkAccelerationStructureKHR src - VkDeviceOrHostAddressKHR dst + VkDeviceOrHostAddressKHR dst VkCopyAccelerationStructureModeKHR mode VkStructureType sType - const void* pNext - VkDeviceOrHostAddressConstKHR src + const void* pNext + VkDeviceOrHostAddressConstKHR src VkAccelerationStructureKHR dst VkCopyAccelerationStructureModeKHR mode VkStructureType sType - const void* pNext - uint32_t maxPayloadSize - uint32_t maxAttributeSize - uint32_t maxCallableSize - - - VkStructureType sType - const void* pNext - VkDeferredOperationKHR operationHandle + const void* pNext + uint32_t maxPipelineRayPayloadSize + uint32_t maxPipelineRayHitAttributeSize VkStructureType sType - const void* pNext + const void* pNext uint32_t libraryCount const VkPipeline* pLibraries + + VkStructureType sType + void* pNext + VkBool32 extendedDynamicState + + + VkStructureType sType + void* pNext + VkBool32 extendedDynamicState2 + VkBool32 extendedDynamicState2LogicOp + VkBool32 extendedDynamicState2PatchControlPoints + VkStructureType sType - void* pNextPointer to next structure + void* pNextPointer to next structure + VkSurfaceTransformFlagBitsKHR transform + + + VkStructureType sType + const void* pNext VkSurfaceTransformFlagBitsKHR transform VkStructureType sType - void* pNextPointer to next structure + void* pNextPointer to next structure VkSurfaceTransformFlagBitsKHR transform VkRect2D renderArea VkStructureTypesType - void* pNext + void* pNext VkBool32 diagnosticsConfig VkStructureType sType - const void* pNext + const void* pNext VkDeviceDiagnosticsConfigFlagsNV flags + + VkStructureType sType + void* pNext + VkBool32 shaderZeroInitializeWorkgroupMemory + + + VkStructureType sType + void* pNext + VkBool32 shaderSubgroupUniformControlFlow + VkStructureType sType - void* pNext + void* pNext VkBool32 robustBufferAccess2 VkBool32 robustImageAccess2 VkBool32 nullDescriptor VkStructureType sType - void* pNext - VkDeviceSize robustStorageBufferAccessSizeAlignment - VkDeviceSize robustUniformBufferAccessSizeAlignment + void* pNext + VkDeviceSize robustStorageBufferAccessSizeAlignment + VkDeviceSize robustUniformBufferAccessSizeAlignment + + + VkStructureType sType + void* pNext + VkBool32 robustImageAccess + + + VkStructureType sType + void* pNext + VkBool32 workgroupMemoryExplicitLayout + VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout + VkBool32 workgroupMemoryExplicitLayout8BitAccess + VkBool32 workgroupMemoryExplicitLayout16BitAccess + + + VkStructureType sType + void* pNext + VkBool32 constantAlphaColorBlendFactors + VkBool32 events + VkBool32 imageViewFormatReinterpretation + VkBool32 imageViewFormatSwizzle + VkBool32 imageView2DOn3DImage + VkBool32 multisampleArrayImage + VkBool32 mutableComparisonSamplers + VkBool32 pointPolygons + VkBool32 samplerMipLodBias + VkBool32 separateStencilMaskRef + VkBool32 shaderSampleRateInterpolationFunctions + VkBool32 tessellationIsolines + VkBool32 tessellationPointMode + VkBool32 triangleFans + VkBool32 vertexAttributeAccessBeyondStride + + + VkStructureType sType + void* pNext + uint32_t minVertexInputBindingStrideAlignment + + + VkStructureType sType + void* pNext + VkBool32 formatA4R4G4B4 + VkBool32 formatA4B4G4R4 + + + VkStructureType sType + void* pNext + VkBool32 subpassShading + + + VkStructureType sType + const void* pNext + VkDeviceSize srcOffsetSpecified in bytes + VkDeviceSize dstOffsetSpecified in bytes + VkDeviceSize sizeSpecified in bytes + + + VkStructureType sType + const void* pNext + VkImageSubresourceLayers srcSubresource + VkOffset3D srcOffsetSpecified in pixels for both compressed and uncompressed images + VkImageSubresourceLayers dstSubresource + VkOffset3D dstOffsetSpecified in pixels for both compressed and uncompressed images + VkExtent3D extentSpecified in pixels for both compressed and uncompressed images + + + VkStructureType sType + const void* pNext + VkImageSubresourceLayers srcSubresource + VkOffset3D srcOffsets[2]Specified in pixels for both compressed and uncompressed images + VkImageSubresourceLayers dstSubresource + VkOffset3D dstOffsets[2]Specified in pixels for both compressed and uncompressed images + + + VkStructureType sType + const void* pNext + VkDeviceSize bufferOffsetSpecified in bytes + uint32_t bufferRowLengthSpecified in texels + uint32_t bufferImageHeight + VkImageSubresourceLayers imageSubresource + VkOffset3D imageOffsetSpecified in pixels for both compressed and uncompressed images + VkExtent3D imageExtentSpecified in pixels for both compressed and uncompressed images + + + VkStructureType sType + const void* pNext + VkImageSubresourceLayers srcSubresource + VkOffset3D srcOffset + VkImageSubresourceLayers dstSubresource + VkOffset3D dstOffset + VkExtent3D extent + + + VkStructureType sType + const void* pNext + VkBuffer srcBuffer + VkBuffer dstBuffer + uint32_t regionCount + const VkBufferCopy2KHR* pRegions + + + VkStructureType sType + const void* pNext + VkImage srcImage + VkImageLayout srcImageLayout + VkImage dstImage + VkImageLayout dstImageLayout + uint32_t regionCount + const VkImageCopy2KHR* pRegions + + + VkStructureType sType + const void* pNext + VkImage srcImage + VkImageLayout srcImageLayout + VkImage dstImage + VkImageLayout dstImageLayout + uint32_t regionCount + const VkImageBlit2KHR* pRegions + VkFilter filter + + + VkStructureType sType + const void* pNext + VkBuffer srcBuffer + VkImage dstImage + VkImageLayout dstImageLayout + uint32_t regionCount + const VkBufferImageCopy2KHR* pRegions + + + VkStructureType sType + const void* pNext + VkImage srcImage + VkImageLayout srcImageLayout + VkBuffer dstBuffer + uint32_t regionCount + const VkBufferImageCopy2KHR* pRegions + + + VkStructureType sType + const void* pNext + VkImage srcImage + VkImageLayout srcImageLayout + VkImage dstImage + VkImageLayout dstImageLayout + uint32_t regionCount + const VkImageResolve2KHR* pRegions + + + VkStructureType sType + void* pNext + VkBool32 shaderImageInt64Atomics + VkBool32 sparseImageInt64Atomics + + + VkStructureType sType + const void* pNext + const VkAttachmentReference2* pFragmentShadingRateAttachment + VkExtent2D shadingRateAttachmentTexelSize + + + VkStructureType sType + const void* pNext + VkExtent2D fragmentSize + VkFragmentShadingRateCombinerOpKHR combinerOps[2] + + + VkStructureType sType + void* pNext + VkBool32 pipelineFragmentShadingRate + VkBool32 primitiveFragmentShadingRate + VkBool32 attachmentFragmentShadingRate + + + VkStructureType sType + void* pNext + VkExtent2D minFragmentShadingRateAttachmentTexelSize + VkExtent2D maxFragmentShadingRateAttachmentTexelSize + uint32_t maxFragmentShadingRateAttachmentTexelSizeAspectRatio + VkBool32 primitiveFragmentShadingRateWithMultipleViewports + VkBool32 layeredShadingRateAttachments + VkBool32 fragmentShadingRateNonTrivialCombinerOps + VkExtent2D maxFragmentSize + uint32_t maxFragmentSizeAspectRatio + uint32_t maxFragmentShadingRateCoverageSamples + VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples + VkBool32 fragmentShadingRateWithShaderDepthStencilWrites + VkBool32 fragmentShadingRateWithSampleMask + VkBool32 fragmentShadingRateWithShaderSampleMask + VkBool32 fragmentShadingRateWithConservativeRasterization + VkBool32 fragmentShadingRateWithFragmentShaderInterlock + VkBool32 fragmentShadingRateWithCustomSampleLocations + VkBool32 fragmentShadingRateStrictMultiplyCombiner + + + VkStructureType sType + void* pNext + VkSampleCountFlags sampleCounts + VkExtent2D fragmentSize + + + VkStructureTypesType + void* pNext + VkBool32 shaderTerminateInvocation + + + VkStructureType sType + void* pNext + VkBool32 fragmentShadingRateEnums + VkBool32 supersampleFragmentShadingRates + VkBool32 noInvocationFragmentShadingRates + + + VkStructureType sType + void* pNext + VkSampleCountFlagBits maxFragmentShadingRateInvocationCount + + + VkStructureType sType + const void* pNext + VkFragmentShadingRateTypeNV shadingRateType + VkFragmentShadingRateNV shadingRate + VkFragmentShadingRateCombinerOpKHR combinerOps[2] + + + VkStructureType sType + const void* pNext + VkDeviceSize accelerationStructureSize + VkDeviceSize updateScratchSize + VkDeviceSize buildScratchSize + + + VkStructureType sType + void* pNext + VkBool32 mutableDescriptorType + + + uint32_t descriptorTypeCount + const VkDescriptorType* pDescriptorTypes + + + VkStructureType sType + const void* pNext + uint32_t mutableDescriptorTypeListCount + const VkMutableDescriptorTypeListVALVE* pMutableDescriptorTypeLists + + + VkStructureType sType + void* pNext + VkBool32 depthClipControl + + + VkStructureType sType + const void* pNext + VkBool32 negativeOneToOne + + + VkStructureType sType + void* pNext + VkBool32 vertexInputDynamicState + + + VkStructureType sType + void* pNext + VkBool32 externalMemoryRDMA + + + VkStructureTypesType + void* pNext + uint32_t binding + uint32_t stride + VkVertexInputRate inputRate + uint32_t divisor + + + VkStructureTypesType + void* pNext + uint32_t locationlocation of the shader vertex attrib + uint32_t bindingVertex buffer binding id + VkFormat formatformat of source data + uint32_t offsetOffset of first element in bytes from base of vertex + + + VkStructureType sType + void* pNext + VkBool32 colorWriteEnable + + + VkStructureType sType + const void* pNext + uint32_t attachmentCount# of pAttachments + const VkBool32* pColorWriteEnables + + + VkStructureType sType + const void* pNext + VkPipelineStageFlags2KHR srcStageMask + VkAccessFlags2KHR srcAccessMask + VkPipelineStageFlags2KHR dstStageMask + VkAccessFlags2KHR dstAccessMask + + + VkStructureType sType + const void* pNext + VkPipelineStageFlags2KHR srcStageMask + VkAccessFlags2KHR srcAccessMask + VkPipelineStageFlags2KHR dstStageMask + VkAccessFlags2KHR dstAccessMask + VkImageLayout oldLayout + VkImageLayout newLayout + uint32_t srcQueueFamilyIndex + uint32_t dstQueueFamilyIndex + VkImage image + VkImageSubresourceRange subresourceRange + + + VkStructureType sType + const void* pNext + VkPipelineStageFlags2KHR srcStageMask + VkAccessFlags2KHR srcAccessMask + VkPipelineStageFlags2KHR dstStageMask + VkAccessFlags2KHR dstAccessMask + uint32_t srcQueueFamilyIndex + uint32_t dstQueueFamilyIndex + VkBuffer buffer + VkDeviceSize offset + VkDeviceSize size + + + VkStructureType sType + const void* pNext + VkDependencyFlags dependencyFlags + uint32_t memoryBarrierCount + const VkMemoryBarrier2KHR* pMemoryBarriers + uint32_t bufferMemoryBarrierCount + const VkBufferMemoryBarrier2KHR* pBufferMemoryBarriers + uint32_t imageMemoryBarrierCount + const VkImageMemoryBarrier2KHR* pImageMemoryBarriers + + + VkStructureType sType + const void* pNext + VkSemaphore semaphore + uint64_t value + VkPipelineStageFlags2KHR stageMask + uint32_t deviceIndex + + + VkStructureType sType + const void* pNext + VkCommandBuffer commandBuffer + uint32_t deviceMask + + + VkStructureType sType + const void* pNext + VkSubmitFlagsKHR flags + uint32_t waitSemaphoreInfoCount + const VkSemaphoreSubmitInfoKHR* pWaitSemaphoreInfos + uint32_t commandBufferInfoCount + const VkCommandBufferSubmitInfoKHR* pCommandBufferInfos + uint32_t signalSemaphoreInfoCount + const VkSemaphoreSubmitInfoKHR* pSignalSemaphoreInfos + + + VkStructureType sType + void* pNext + VkPipelineStageFlags2KHR checkpointExecutionStageMask + + + VkStructureType sType + void* pNext + VkPipelineStageFlags2KHR stage + void* pCheckpointMarker + + + VkStructureType sType + void* pNext + VkBool32 synchronization2 + + + VkStructureTypesType + void* pNext + VkVideoCodecOperationFlagsKHR videoCodecOperations + + + VkStructureTypesType + void* pNext + VkBool32 supported + + + VkStructureTypesType + void* pNext + uint32_t profileCount + const VkVideoProfileKHR* pProfiles + + + VkStructureTypesType + void* pNext + VkImageUsageFlags imageUsage + const VkVideoProfilesKHR* pVideoProfiles + + + VkStructureTypesType + void* pNext + VkFormat format + + + VkStructureTypesType + void* pNext + VkVideoCodecOperationFlagBitsKHR videoCodecOperation + VkVideoChromaSubsamplingFlagsKHR chromaSubsampling + VkVideoComponentBitDepthFlagsKHR lumaBitDepth + VkVideoComponentBitDepthFlagsKHR chromaBitDepth + + + VkStructureTypesType + void* pNext + VkVideoCapabilityFlagsKHR capabilityFlags + VkDeviceSize minBitstreamBufferOffsetAlignment + VkDeviceSize minBitstreamBufferSizeAlignment + VkExtent2D videoPictureExtentGranularity + VkExtent2D minExtent + VkExtent2D maxExtent + uint32_t maxReferencePicturesSlotsCount + uint32_t maxReferencePicturesActiveCount + + + VkStructureTypesType + const void* pNext + uint32_t memoryBindIndex + VkMemoryRequirements2* pMemoryRequirements + + + VkStructureTypesType + const void* pNext + uint32_t memoryBindIndex + VkDeviceMemory memory + VkDeviceSize memoryOffset + VkDeviceSize memorySize + + + VkStructureTypesType + const void* pNext + VkOffset2D codedOffsetThe offset to be used for the picture resource, currently only used in field mode + VkExtent2D codedExtentThe extent to be used for the picture resource + uint32_t baseArrayLayerTThe first array layer to be accessed for the Decode or Encode Operations + VkImageView imageViewBindingThe ImageView binding of the resource + + + VkStructureTypesType + const void* pNext + int8_t slotIndexThe reference slot index + const VkVideoPictureResourceKHR* pPictureResourceThe reference picture resource + + + VkStructureTypesType + const void* pNext + VkVideoDecodeFlagsKHR flags + VkOffset2D codedOffset + VkExtent2D codedExtent + VkBuffer srcBuffer + VkDeviceSize srcBufferOffset + VkDeviceSize srcBufferRange + VkVideoPictureResourceKHR dstPictureResource + const VkVideoReferenceSlotKHR* pSetupReferenceSlot + uint32_t referenceSlotCount + const VkVideoReferenceSlotKHR* pReferenceSlots + + Video Decode Codec Standard specific structures + #include "vk_video/vulkan_video_codec_h264std.h" + + + + + + + + + + + + + + + + + + + #include "vk_video/vulkan_video_codec_h264std_decode.h" + + + + + + + + + VkStructureTypesType + const void* pNext + StdVideoH264ProfileIdc stdProfileIdc + VkVideoDecodeH264PictureLayoutFlagsEXT pictureLayout + + + VkStructureTypesType + void* pNext + uint32_t maxLevel + VkOffset2D fieldOffsetGranularity + VkExtensionProperties stdExtensionVersion + + + VkStructureTypesType + const void* pNext + VkVideoDecodeH264CreateFlagsEXT flags + const VkExtensionProperties* pStdExtensionVersion + + + + + VkStructureTypesType + const void* pNext + uint32_t spsStdCount + const StdVideoH264SequenceParameterSet* pSpsStd + uint32_t ppsStdCount + const StdVideoH264PictureParameterSet* pPpsStdList of Picture Parameters associated with the spsStd, above + + + VkStructureTypesType + const void* pNext + uint32_t maxSpsStdCount + uint32_t maxPpsStdCount + const VkVideoDecodeH264SessionParametersAddInfoEXT* pParametersAddInfo + + + VkStructureTypesType + const void* pNext + const StdVideoDecodeH264PictureInfo* pStdPictureInfo + uint32_t slicesCount + const uint32_t* pSlicesDataOffsets + + + VkStructureTypesType + const void* pNext + const StdVideoDecodeH264ReferenceInfo* pStdReferenceInfo + + + VkStructureTypesType + const void*pNext + const StdVideoDecodeH264Mvc* pStdMvc + + #include "vk_video/vulkan_video_codec_h265std.h" + + + + + + + + + + + + + + + + + + + #include "vk_video/vulkan_video_codec_h265std_decode.h" + + + + + + VkStructureTypesType + const void* pNext + StdVideoH265ProfileIdc stdProfileIdc + + + VkStructureTypesType + void* pNext + uint32_t maxLevel + VkExtensionProperties stdExtensionVersion + + + VkStructureTypesType + const void* pNext + VkVideoDecodeH265CreateFlagsEXT flags + const VkExtensionProperties* pStdExtensionVersion + + + VkStructureTypesType + const void* pNext + uint32_t spsStdCount + const StdVideoH265SequenceParameterSet* pSpsStd + uint32_t ppsStdCount + const StdVideoH265PictureParameterSet* pPpsStdList of Picture Parameters associated with the spsStd, above + + + VkStructureTypesType + const void* pNext + uint32_t maxSpsStdCount + uint32_t maxPpsStdCount + const VkVideoDecodeH265SessionParametersAddInfoEXT* pParametersAddInfo + + + VkStructureTypesType + const void* pNext + StdVideoDecodeH265PictureInfo* pStdPictureInfo + uint32_t slicesCount + const uint32_t* pSlicesDataOffsets + + + VkStructureTypesType + const void* pNext + const StdVideoDecodeH265ReferenceInfo* pStdReferenceInfo + + + VkStructureTypesType + const void* pNext + uint32_t queueFamilyIndex + VkVideoSessionCreateFlagsKHR flags + const VkVideoProfileKHR* pVideoProfile + VkFormat pictureFormat + VkExtent2D maxCodedExtent + VkFormat referencePicturesFormat + uint32_t maxReferencePicturesSlotsCount + uint32_t maxReferencePicturesActiveCount + + + VkStructureTypesType + const void* pNext + VkVideoSessionParametersKHR videoSessionParametersTemplate + VkVideoSessionKHR videoSession + + + VkStructureTypesType + const void* pNext + uint32_t updateSequenceCount + + + VkStructureTypesType + const void* pNext + VkVideoBeginCodingFlagsKHR flags + VkVideoCodingQualityPresetFlagsKHR codecQualityPreset + VkVideoSessionKHR videoSession + VkVideoSessionParametersKHR videoSessionParameters + uint32_t referenceSlotCount + const VkVideoReferenceSlotKHR* pReferenceSlots + + + VkStructureTypesType + const void* pNext + VkVideoEndCodingFlagsKHR flags + + + VkStructureTypesType + const void* pNext + VkVideoCodingControlFlagsKHR flags + + + VkStructureTypesType + const void* pNext + VkVideoEncodeFlagsKHR flags + uint32_t qualityLevel + VkExtent2D codedExtent + VkBuffer dstBitstreamBuffer + VkDeviceSize dstBitstreamBufferOffset + VkDeviceSize dstBitstreamBufferMaxRange + VkVideoPictureResourceKHR srcPictureResource + const VkVideoReferenceSlotKHR* pSetupReferenceSlot + uint32_t referenceSlotCount + const VkVideoReferenceSlotKHR* pReferenceSlots + uint32_t precedingExternallyEncodedBytes + + + VkStructureTypesType + const void* pNext + VkVideoEncodeRateControlFlagsKHR flags + VkVideoEncodeRateControlModeFlagBitsKHR rateControlMode + uint8_t layerCount + const VkVideoEncodeRateControlLayerInfoKHR* pLayerConfigs + + + VkStructureTypesType + const void* pNext + uint32_t averageBitrate + uint32_t maxBitrate + uint32_t frameRateNumerator + uint32_t frameRateDenominator + uint32_t virtualBufferSizeInMs + uint32_t initialVirtualBufferSizeInMs + + + VkStructureTypesType + const void* pNext + VkVideoEncodeH264CapabilityFlagsEXT flags + VkVideoEncodeH264InputModeFlagsEXT inputModeFlags + VkVideoEncodeH264OutputModeFlagsEXT outputModeFlags + VkExtent2D minPictureSizeInMbs + VkExtent2D maxPictureSizeInMbs + VkExtent2D inputImageDataAlignment + uint8_t maxNumL0ReferenceForP + uint8_t maxNumL0ReferenceForB + uint8_t maxNumL1Reference + uint8_t qualityLevelCount + VkExtensionProperties stdExtensionVersion + + + VkStructureTypesType + const void* pNext + VkVideoEncodeH264CreateFlagsEXT flags + VkExtent2D maxPictureSizeInMbs + const VkExtensionProperties* pStdExtensionVersion + + #include "vk_video/vulkan_video_codec_h264std_encode.h" + + + + + + + + + + VkStructureTypesType + const void* pNext + uint32_t spsStdCount + const StdVideoH264SequenceParameterSet* pSpsStd + uint32_t ppsStdCount + const StdVideoH264PictureParameterSet* pPpsStdList of Picture Parameters associated with the spsStd, above + + + VkStructureTypesType + const void* pNext + uint32_t maxSpsStdCount + uint32_t maxPpsStdCount + const VkVideoEncodeH264SessionParametersAddInfoEXT* pParametersAddInfo + + + VkStructureTypesType + const void* pNext + int8_t slotIndex + const StdVideoEncodeH264PictureInfo* pStdPictureInfo + + + VkStructureTypesType + const void* pNext + uint8_t refDefaultFinalList0EntryCount + const VkVideoEncodeH264DpbSlotInfoEXT* pRefDefaultFinalList0Entries + uint8_t refDefaultFinalList1EntryCount + const VkVideoEncodeH264DpbSlotInfoEXT* pRefDefaultFinalList1Entries + uint32_t naluSliceEntryCount + const VkVideoEncodeH264NaluSliceEXT* pNaluSliceEntries + const VkVideoEncodeH264DpbSlotInfoEXT* pCurrentPictureInfo + + + VkStructureTypesType + const void* pNext + uint8_t spsId + VkBool32 emitSpsEnable + uint32_t ppsIdEntryCount + const uint8_t* ppsIdEntries + + + VkStructureTypesType + const void* pNext + StdVideoH264ProfileIdc stdProfileIdc + + + VkStructureTypesType + const void* pNext + const StdVideoEncodeH264SliceHeader* pSliceHeaderStd + uint32_t mbCount + uint8_t refFinalList0EntryCount + const VkVideoEncodeH264DpbSlotInfoEXT* pRefFinalList0Entries + uint8_t refFinalList1EntryCount + const VkVideoEncodeH264DpbSlotInfoEXT* pRefFinalList1Entries + + + VkStructureTypesType + const void* pNext + uint32_t gopFrameCount + uint32_t idrPeriod + uint32_t consecutiveBFrameCount + VkVideoEncodeH264RateControlStructureFlagBitsEXT rateControlStructure + uint8_t temporalLayerCount + + + int32_t qpI + int32_t qpP + int32_t qpB + + + uint32_t frameISize + uint32_t framePSize + uint32_t frameBSize + + + VkStructureTypesType + const void* pNext + uint8_t temporalLayerId + VkBool32 useInitialRcQp + VkVideoEncodeH264QpEXT initialRcQp + VkBool32 useMinQp + VkVideoEncodeH264QpEXT minQp + VkBool32 useMaxQp + VkVideoEncodeH264QpEXT maxQp + VkBool32 useMaxFrameSize + VkVideoEncodeH264FrameSizeEXT maxFrameSize + + + VkStructureTypesType + const void* pNext + VkVideoEncodeH265CapabilityFlagsEXT flags + VkVideoEncodeH265InputModeFlagsEXT inputModeFlags + VkVideoEncodeH265OutputModeFlagsEXT outputModeFlags + VkVideoEncodeH265CtbSizeFlagsEXT ctbSizes + VkExtent2D inputImageDataAlignment + uint8_t maxNumL0ReferenceForP + uint8_t maxNumL0ReferenceForB + uint8_t maxNumL1Reference + uint8_t maxNumSubLayers + uint8_t qualityLevelCount + VkExtensionProperties stdExtensionVersion + + + VkStructureTypesType + const void* pNext + VkVideoEncodeH265CreateFlagsEXT flags + const VkExtensionProperties* pStdExtensionVersion + + #include "vk_video/vulkan_video_codec_h265std_encode.h" + + + + + + + + + + VkStructureTypesType + const void* pNext + uint32_t vpsStdCount + const StdVideoH265VideoParameterSet* pVpsStd + uint32_t spsStdCount + const StdVideoH265SequenceParameterSet* pSpsStd + uint32_t ppsStdCount + const StdVideoH265PictureParameterSet* pPpsStdList of Picture Parameters associated with the spsStd, above + + + VkStructureTypesType + const void* pNext + uint32_t maxVpsStdCount + uint32_t maxSpsStdCount + uint32_t maxPpsStdCount + const VkVideoEncodeH265SessionParametersAddInfoEXT* pParametersAddInfo + + + VkStructureTypesType + const void* pNext + const VkVideoEncodeH265ReferenceListsEXT* pReferenceFinalLists + uint32_t naluSliceEntryCount + const VkVideoEncodeH265NaluSliceEXT* pNaluSliceEntries + const StdVideoEncodeH265PictureInfo* pCurrentPictureInfo + + + VkStructureTypesType + const void* pNext + uint8_t vpsId + uint8_t spsId + VkBool32 emitVpsEnable + VkBool32 emitSpsEnable + uint32_t ppsIdEntryCount + const uint8_t* ppsIdEntries + + + VkStructureTypesType + const void* pNext + uint32_t ctbCount + const VkVideoEncodeH265ReferenceListsEXT* pReferenceFinalLists + const StdVideoEncodeH265SliceHeader* pSliceHeaderStd + + + VkStructureTypesType + const void* pNext + uint32_t gopFrameCount + uint32_t idrPeriod + uint32_t consecutiveBFrameCount + VkVideoEncodeH265RateControlStructureFlagBitsEXT rateControlStructure + uint8_t subLayerCount + + + int32_t qpI + int32_t qpP + int32_t qpB + + + uint32_t frameISize + uint32_t framePSize + uint32_t frameBSize + + + VkStructureTypesType + const void* pNext + uint8_t temporalId + VkBool32 useInitialRcQp + VkVideoEncodeH265QpEXT initialRcQp + VkBool32 useMinQp + VkVideoEncodeH265QpEXT minQp + VkBool32 useMaxQp + VkVideoEncodeH265QpEXT maxQp + VkBool32 useMaxFrameSize + VkVideoEncodeH265FrameSizeEXT maxFrameSize + + + VkStructureTypesType + const void* pNext + StdVideoH265ProfileIdc stdProfileIdc + + + VkStructureTypesType + const void* pNext + int8_t slotIndex + const StdVideoEncodeH265ReferenceInfo* pStdReferenceInfo + + + VkStructureTypesType + const void* pNext + uint8_t referenceList0EntryCount + const VkVideoEncodeH265DpbSlotInfoEXT* pReferenceList0Entries + uint8_t referenceList1EntryCount + const VkVideoEncodeH265DpbSlotInfoEXT* pReferenceList1Entries + const StdVideoEncodeH265ReferenceModifications* pReferenceModifications + + + VkStructureType sType + void* pNext + VkBool32 inheritedViewportScissor2D + + + VkStructureType sType + const void* pNext + VkBool32 viewportScissor2D + uint32_t viewportDepthCount + const VkViewport* pViewportDepths + + + VkStructureType sType + void* pNext + VkBool32 ycbcr2plane444Formats + + + VkStructureType sType + void* pNext + VkBool32 provokingVertexLast + VkBool32 transformFeedbackPreservesProvokingVertex + + + VkStructureType sType + void* pNext + VkBool32 provokingVertexModePerPipeline + VkBool32 transformFeedbackPreservesTriangleFanProvokingVertex + + + VkStructureType sType + const void* pNext + VkProvokingVertexModeEXT provokingVertexMode + + + VkStructureType sType + const void* pNext + size_t dataSize + const void* pData + + + VkStructureType sType + const void* pNext + VkCuModuleNVX module + const char* pName + + + VkStructureType sType + const void* pNext + VkCuFunctionNVX function + uint32_t gridDimX + uint32_t gridDimY + uint32_t gridDimZ + uint32_t blockDimX + uint32_t blockDimY + uint32_t blockDimZ + uint32_t sharedMemBytes + size_t paramCount + const void* const * pParams + size_t extraCount + const void* const * pExtras + + + VkStructureType sType + void* pNext + VkBool32 shaderIntegerDotProduct + + + VkStructureType sType + void* pNext + VkBool32 integerDotProduct8BitUnsignedAccelerated + VkBool32 integerDotProduct8BitSignedAccelerated + VkBool32 integerDotProduct8BitMixedSignednessAccelerated + VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated + VkBool32 integerDotProduct4x8BitPackedSignedAccelerated + VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated + VkBool32 integerDotProduct16BitUnsignedAccelerated + VkBool32 integerDotProduct16BitSignedAccelerated + VkBool32 integerDotProduct16BitMixedSignednessAccelerated + VkBool32 integerDotProduct32BitUnsignedAccelerated + VkBool32 integerDotProduct32BitSignedAccelerated + VkBool32 integerDotProduct32BitMixedSignednessAccelerated + VkBool32 integerDotProduct64BitUnsignedAccelerated + VkBool32 integerDotProduct64BitSignedAccelerated + VkBool32 integerDotProduct64BitMixedSignednessAccelerated + VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated + VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated + VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated + VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated + VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated + + + VkStructureType sType + void* pNext + VkBool32 hasPrimary + VkBool32 hasRender + int64_t primaryMajor + int64_t primaryMinor + int64_t renderMajor + int64_t renderMinor + + + VkStructureType sType + void* pNext + VkBool32 rayTracingMotionBlur + VkBool32 rayTracingMotionBlurPipelineTraceRaysIndirect + + + + VkStructureType sType + const void* pNext + VkDeviceOrHostAddressConstKHR vertexData + + + VkStructureType sType + const void* pNext + uint32_t maxInstances + VkAccelerationStructureMotionInfoFlagsNV flags + + + float sx + float a + float b + float pvx + float sy + float c + float pvy + float sz + float pvz + float qx + float qy + float qz + float qw + float tx + float ty + float tz + + + The bitfields in this structure are non-normative since bitfield ordering is implementation-defined in C. The specification defines the normative layout. + VkSRTDataNV transformT0 + VkSRTDataNV transformT1 + uint32_t instanceCustomIndex:24 + uint32_t mask:8 + uint32_t instanceShaderBindingTableRecordOffset:24 + VkGeometryInstanceFlagsKHR flags:8 + uint64_t accelerationStructureReference + + + The bitfields in this structure are non-normative since bitfield ordering is implementation-defined in C. The specification defines the normative layout. + VkTransformMatrixKHR transformT0 + VkTransformMatrixKHR transformT1 + uint32_t instanceCustomIndex:24 + uint32_t mask:8 + uint32_t instanceShaderBindingTableRecordOffset:24 + VkGeometryInstanceFlagsKHR flags:8 + uint64_t accelerationStructureReference + + + VkAccelerationStructureInstanceKHR staticInstance + VkAccelerationStructureMatrixMotionInstanceNV matrixMotionInstance + VkAccelerationStructureSRTMotionInstanceNV srtMotionInstance + + + VkAccelerationStructureMotionInstanceTypeNV type + VkAccelerationStructureMotionInstanceFlagsNV flags + VkAccelerationStructureMotionInstanceDataNV data + + typedef void* VkRemoteAddressNV; + + VkStructureType sType + const void* pNext + VkDeviceMemory memory + VkExternalMemoryHandleTypeFlagBits handleType + + + VkStructureType sType + const void* pNext + VkBufferCollectionFUCHSIA collection + uint32_t index + + + VkStructureType sType + const void* pNext + VkBufferCollectionFUCHSIA collection + uint32_t index + + + VkStructureType sType + const void* pNext + VkBufferCollectionFUCHSIA collection + uint32_t index + + + VkStructureType sType + const void* pNext + zx_handle_t collectionToken + + + VkStructureType sType + void* pNext + uint32_t memoryTypeBits + uint32_t bufferCount + uint32_t createInfoIndex + uint64_t sysmemPixelFormat + VkFormatFeatureFlags formatFeatures + VkSysmemColorSpaceFUCHSIA sysmemColorSpaceIndex + VkComponentMapping samplerYcbcrConversionComponents + VkSamplerYcbcrModelConversion suggestedYcbcrModel + VkSamplerYcbcrRange suggestedYcbcrRange + VkChromaLocation suggestedXChromaOffset + VkChromaLocation suggestedYChromaOffset + + + VkStructureType sType + const void* pNext + VkBufferCreateInfo createInfo + VkFormatFeatureFlags requiredFormatFeatures + VkBufferCollectionConstraintsInfoFUCHSIA bufferCollectionConstraints + + + VkStructureType sType + const void* pNext + uint32_t colorSpace + + + VkStructureType sType + const void* pNext + VkImageCreateInfo imageCreateInfo + VkFormatFeatureFlags requiredFormatFeatures + VkImageFormatConstraintsFlagsFUCHSIA flags + uint64_t sysmemPixelFormat + uint32_t colorSpaceCount + const VkSysmemColorSpaceFUCHSIA* pColorSpaces + + + VkStructureType sType + const void* pNext + uint32_t formatConstraintsCount + const VkImageFormatConstraintsInfoFUCHSIA* pFormatConstraints + VkBufferCollectionConstraintsInfoFUCHSIA bufferCollectionConstraints + VkImageConstraintsInfoFlagsFUCHSIA flags + + + VkStructureType sType + const void* pNext + uint32_t minBufferCount + uint32_t maxBufferCount + uint32_t minBufferCountForCamping + uint32_t minBufferCountForDedicatedSlack + uint32_t minBufferCountForSharedSlack + + + VkStructureType sType + void* pNext + VkBool32 formatRgba10x6WithoutYCbCrSampler + + + VkStructureType sType + void* pNext + VkFormatFeatureFlags2KHR linearTilingFeatures + VkFormatFeatureFlags2KHR optimalTilingFeatures + VkFormatFeatureFlags2KHR bufferFeatures + + + VkStructureType sType + void* pNext + uint32_t drmFormatModifierCount + VkDrmFormatModifierProperties2EXT* pDrmFormatModifierProperties + + + uint64_t drmFormatModifier + uint32_t drmFormatModifierPlaneCount + VkFormatFeatureFlags2KHR drmFormatModifierTilingFeatures + + + VkStructureType sType + void* pNext + VkFormat format + uint64_t externalFormat + VkFormatFeatureFlags2KHR formatFeatures + VkComponentMapping samplerYcbcrConversionComponents + VkSamplerYcbcrModelConversion suggestedYcbcrModel + VkSamplerYcbcrRange suggestedYcbcrRange + VkChromaLocation suggestedXChromaOffset + VkChromaLocation suggestedYChromaOffset + + + VkStructureType sType + const void* pNext + uint32_t viewMask + uint32_t colorAttachmentCount + const VkFormat* pColorAttachmentFormats + VkFormat depthAttachmentFormat + VkFormat stencilAttachmentFormat + + + VkStructureType sType + const void* pNext + VkRenderingFlagsKHR flags + VkRect2D renderArea + uint32_t layerCount + uint32_t viewMask + uint32_t colorAttachmentCount + const VkRenderingAttachmentInfoKHR* pColorAttachments + const VkRenderingAttachmentInfoKHR* pDepthAttachment + const VkRenderingAttachmentInfoKHR* pStencilAttachment + + + VkStructureType sType + const void* pNext + VkImageView imageView + VkImageLayout imageLayout + VkResolveModeFlagBits resolveMode + VkImageView resolveImageView + VkImageLayout resolveImageLayout + VkAttachmentLoadOp loadOp + VkAttachmentStoreOp storeOp + VkClearValue clearValue + + + VkStructureType sType + const void* pNext + VkImageView imageView + VkImageLayout imageLayout + VkExtent2D shadingRateAttachmentTexelSize + + + VkStructureType sType + const void* pNext + VkImageView imageView + VkImageLayout imageLayout + + + VkStructureType sType + void* pNext + VkBool32 dynamicRendering + + + VkStructureType sType + const void* pNext + VkRenderingFlagsKHR flags + uint32_t viewMask + uint32_t colorAttachmentCount + const VkFormat* pColorAttachmentFormats + VkFormat depthAttachmentFormat + VkFormat stencilAttachmentFormat + VkSampleCountFlagBits rasterizationSamples + + + VkStructureType sType + const void* pNext + uint32_t colorAttachmentCount + const VkSampleCountFlagBits* pColorAttachmentSamples + VkSampleCountFlagBits depthStencilAttachmentSamples + + + + VkStructureType sType + const void* pNext + VkBool32 perViewAttributes + VkBool32 perViewAttributesPositionXOnly + + + VkStructureType sType + void* pNext + VkBool32 minLod + + + VkStructureType sType + const void* pNext + float minLod + + + VkStructureType sType + const void* pNext + VkBool32 rasterizationOrderColorAttachmentAccess + VkBool32 rasterizationOrderDepthAttachmentAccess + VkBool32 rasterizationOrderStencilAttachmentAccess + + + VkStructureType sType + void* pNext + VkBool32 linearColorAttachment - Vulkan enumerant (token) definitions - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4932,7 +6706,8 @@ typedef void CAMetalLayer; - + + @@ -4988,12 +6763,6 @@ typedef void CAMetalLayer; - - - - - - @@ -5355,33 +7124,33 @@ typedef void CAMetalLayer; - + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + Flags @@ -5391,8 +7160,16 @@ typedef void CAMetalLayer; - - + + + + + + + + + + @@ -5436,7 +7213,7 @@ typedef void CAMetalLayer; - + @@ -5461,7 +7238,7 @@ typedef void CAMetalLayer; - + @@ -5469,7 +7246,7 @@ typedef void CAMetalLayer; - + @@ -5588,7 +7365,7 @@ typedef void CAMetalLayer; - + @@ -5692,6 +7469,13 @@ typedef void CAMetalLayer; + + + + + + + @@ -5716,6 +7500,7 @@ typedef void CAMetalLayer; + @@ -5725,6 +7510,7 @@ typedef void CAMetalLayer; + @@ -5777,6 +7563,7 @@ typedef void CAMetalLayer; + @@ -5800,7 +7587,8 @@ typedef void CAMetalLayer; - + + @@ -5934,7 +7722,8 @@ typedef void CAMetalLayer; - + + Driver IDs are now represented as enums instead of the old @@ -5953,6 +7742,14 @@ typedef void CAMetalLayer; + + + + + + + + @@ -5986,9 +7783,10 @@ typedef void CAMetalLayer; - + + @@ -6001,24 +7799,33 @@ typedef void CAMetalLayer; + + + + + + + + + - - - - + + + + @@ -6030,6 +7837,16 @@ typedef void CAMetalLayer; + + + + + + + + + + @@ -6076,9 +7893,9 @@ typedef void CAMetalLayer; - - - + + + @@ -6102,8 +7919,10 @@ typedef void CAMetalLayer; - - + + + + @@ -6158,6 +7977,261 @@ typedef void CAMetalLayer; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6239,7 +8313,7 @@ typedef void CAMetalLayer; VkDevice device const VkAllocationCallbacks* pAllocator - all sname:VkQueue objects received from pname:device + all sname:VkQueue objects created from pname:device @@ -6295,7 +8369,7 @@ typedef void CAMetalLayer; all sname:VkQueue objects created from pname:device - + VkResult vkAllocateMemory VkDevice device const VkMemoryAllocateInfo* pAllocateInfo @@ -6404,7 +8478,7 @@ typedef void CAMetalLayer; VkFence fence const VkAllocationCallbacks* pAllocator - + VkResult vkResetFences VkDevice device uint32_t fenceCount @@ -6459,7 +8533,7 @@ typedef void CAMetalLayer; VkDevice device VkEvent event - + VkResult vkResetEvent VkDevice device VkEvent event @@ -6613,6 +8687,12 @@ typedef void CAMetalLayer; const VkAllocationCallbacks* pAllocator VkPipeline* pPipelines + + VkResult vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI + VkDevice device + VkRenderPass renderpass + VkExtent2D* pMaxWorkgroupSize + void vkDestroyPipeline VkDevice device @@ -6632,7 +8712,7 @@ typedef void CAMetalLayer; VkPipelineLayout pipelineLayout const VkAllocationCallbacks* pAllocator - + VkResult vkCreateSampler VkDevice device const VkSamplerCreateInfo* pCreateInfo @@ -6746,7 +8826,7 @@ typedef void CAMetalLayer; VkCommandPool commandPool const VkAllocationCallbacks* pAllocator - + VkResult vkResetCommandPool VkDevice device VkCommandPool commandPool @@ -6780,10 +8860,13 @@ typedef void CAMetalLayer; the sname:VkCommandPool that pname:commandBuffer was allocated from - + VkResult vkResetCommandBuffer VkCommandBuffer commandBuffer VkCommandBufferResetFlags flags + + the sname:VkCommandPool that pname:commandBuffer was allocated from + void vkCmdBindPipeline @@ -6872,7 +8955,7 @@ typedef void CAMetalLayer; const VkBuffer* pBuffers const VkDeviceSize* pOffsets - + void vkCmdDraw VkCommandBuffer commandBuffer uint32_t vertexCount @@ -6880,7 +8963,7 @@ typedef void CAMetalLayer; uint32_t firstVertex uint32_t firstInstance - + void vkCmdDrawIndexed VkCommandBuffer commandBuffer uint32_t indexCount @@ -6889,7 +8972,26 @@ typedef void CAMetalLayer; int32_t vertexOffset uint32_t firstInstance - + + void vkCmdDrawMultiEXT + VkCommandBuffer commandBuffer + uint32_t drawCount + const VkMultiDrawInfoEXT* pVertexInfo + uint32_t instanceCount + uint32_t firstInstance + uint32_t stride + + + void vkCmdDrawMultiIndexedEXT + VkCommandBuffer commandBuffer + uint32_t drawCount + const VkMultiDrawIndexedInfoEXT* pIndexInfo + uint32_t instanceCount + uint32_t firstInstance + uint32_t stride + const int32_t* pVertexOffset + + void vkCmdDrawIndirect VkCommandBuffer commandBuffer VkBuffer buffer @@ -6897,7 +8999,7 @@ typedef void CAMetalLayer; uint32_t drawCount uint32_t stride - + void vkCmdDrawIndexedIndirect VkCommandBuffer commandBuffer VkBuffer buffer @@ -6905,20 +9007,24 @@ typedef void CAMetalLayer; 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 vkCmdSubpassShadingHUAWEI + VkCommandBuffer commandBuffer + + void vkCmdCopyBuffer VkCommandBuffer commandBuffer VkBuffer srcBuffer @@ -6926,7 +9032,7 @@ typedef void CAMetalLayer; uint32_t regionCount const VkBufferCopy* pRegions - + void vkCmdCopyImage VkCommandBuffer commandBuffer VkImage srcImage @@ -6936,7 +9042,7 @@ typedef void CAMetalLayer; uint32_t regionCount const VkImageCopy* pRegions - + void vkCmdBlitImage VkCommandBuffer commandBuffer VkImage srcImage @@ -6947,7 +9053,7 @@ typedef void CAMetalLayer; const VkImageBlit* pRegions VkFilter filter - + void vkCmdCopyBufferToImage VkCommandBuffer commandBuffer VkBuffer srcBuffer @@ -6956,7 +9062,7 @@ typedef void CAMetalLayer; uint32_t regionCount const VkBufferImageCopy* pRegions - + void vkCmdCopyImageToBuffer VkCommandBuffer commandBuffer VkImage srcImage @@ -6965,7 +9071,7 @@ typedef void CAMetalLayer; uint32_t regionCount const VkBufferImageCopy* pRegions - + void vkCmdUpdateBuffer VkCommandBuffer commandBuffer VkBuffer dstBuffer @@ -6973,7 +9079,7 @@ typedef void CAMetalLayer; VkDeviceSize dataSize const void* pData - + void vkCmdFillBuffer VkCommandBuffer commandBuffer VkBuffer dstBuffer @@ -6981,16 +9087,16 @@ typedef void CAMetalLayer; VkDeviceSize size uint32_t data - + void vkCmdClearColorImage VkCommandBuffer commandBuffer VkImage image VkImageLayout imageLayout - const VkClearColorValue* pColor + const VkClearColorValue* pColor uint32_t rangeCount const VkImageSubresourceRange* pRanges - + void vkCmdClearDepthStencilImage VkCommandBuffer commandBuffer VkImage image @@ -6999,7 +9105,7 @@ typedef void CAMetalLayer; uint32_t rangeCount const VkImageSubresourceRange* pRanges - + void vkCmdClearAttachments VkCommandBuffer commandBuffer uint32_t attachmentCount @@ -7007,7 +9113,7 @@ typedef void CAMetalLayer; uint32_t rectCount const VkClearRect* pRects - + void vkCmdResolveImage VkCommandBuffer commandBuffer VkImage srcImage @@ -7021,21 +9127,21 @@ typedef void CAMetalLayer; void vkCmdSetEvent VkCommandBuffer commandBuffer VkEvent event - VkPipelineStageFlags stageMask + VkPipelineStageFlags stageMask void vkCmdResetEvent VkCommandBuffer commandBuffer VkEvent event - VkPipelineStageFlags stageMask + VkPipelineStageFlags stageMask void vkCmdWaitEvents VkCommandBuffer commandBuffer uint32_t eventCount const VkEvent* pEvents - VkPipelineStageFlags srcStageMask - VkPipelineStageFlags dstStageMask + VkPipelineStageFlags srcStageMask + VkPipelineStageFlags dstStageMask uint32_t memoryBarrierCount const VkMemoryBarrier* pMemoryBarriers uint32_t bufferMemoryBarrierCount @@ -7046,8 +9152,8 @@ typedef void CAMetalLayer; void vkCmdPipelineBarrier VkCommandBuffer commandBuffer - VkPipelineStageFlags srcStageMask - VkPipelineStageFlags dstStageMask + VkPipelineStageFlags srcStageMask + VkPipelineStageFlags dstStageMask VkDependencyFlags dependencyFlags uint32_t memoryBarrierCount const VkMemoryBarrier* pMemoryBarriers @@ -7056,14 +9162,14 @@ typedef void CAMetalLayer; uint32_t imageMemoryBarrierCount const VkImageMemoryBarrier* pImageMemoryBarriers - + void vkCmdBeginQuery VkCommandBuffer commandBuffer VkQueryPool queryPool uint32_t query VkQueryControlFlags flags - + void vkCmdEndQuery VkCommandBuffer commandBuffer VkQueryPool queryPool @@ -7078,21 +9184,21 @@ typedef void CAMetalLayer; void vkCmdEndConditionalRenderingEXT VkCommandBuffer commandBuffer - + 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 @@ -7112,18 +9218,18 @@ typedef void CAMetalLayer; 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 @@ -7218,14 +9324,14 @@ typedef void CAMetalLayer; VkResult vkGetPhysicalDeviceSurfaceFormatsKHR VkPhysicalDevice physicalDevice - VkSurfaceKHR surface + VkSurfaceKHR surface uint32_t* pSurfaceFormatCount VkSurfaceFormatKHR* pSurfaceFormats VkResult vkGetPhysicalDeviceSurfacePresentModesKHR VkPhysicalDevice physicalDevice - VkSurfaceKHR surface + VkSurfaceKHR surface uint32_t* pPresentModeCount VkPresentModeKHR* pPresentModes @@ -7323,6 +9429,19 @@ typedef void CAMetalLayer; xcb_connection_t* connection xcb_visualid_t visual_id + + VkResult vkCreateDirectFBSurfaceEXT + VkInstance instance + const VkDirectFBSurfaceCreateInfoEXT* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkSurfaceKHR* pSurface + + + VkBool32 vkGetPhysicalDeviceDirectFBPresentationSupportEXT + VkPhysicalDevice physicalDevice + uint32_t queueFamilyIndex + IDirectFB* dfb + VkResult vkCreateImagePipeSurfaceFUCHSIA VkInstance instance @@ -7337,12 +9456,25 @@ typedef void CAMetalLayer; const VkAllocationCallbacks* pAllocator VkSurfaceKHR* pSurface - - VkResult vkCreateDebugReportCallbackEXT + + VkResult vkCreateScreenSurfaceQNX VkInstance instance - const VkDebugReportCallbackCreateInfoEXT* pCreateInfo + const VkScreenSurfaceCreateInfoQNX* pCreateInfo const VkAllocationCallbacks* pAllocator - VkDebugReportCallbackEXT* pCallback + VkSurfaceKHR* pSurface + + + VkBool32 vkGetPhysicalDeviceScreenPresentationSupportQNX + VkPhysicalDevice physicalDevice + uint32_t queueFamilyIndex + struct _screen_window* window + + + VkResult vkCreateDebugReportCallbackEXT + VkInstance instance + const VkDebugReportCallbackCreateInfoEXT* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkDebugReportCallbackEXT* pCallback void vkDestroyDebugReportCallbackEXT @@ -7355,7 +9487,7 @@ typedef void CAMetalLayer; VkInstance instance VkDebugReportFlagsEXT flags VkDebugReportObjectTypeEXT objectType - uint64_t object + uint64_t object size_t location int32_t messageCode const char* pLayerPrefix @@ -7516,7 +9648,7 @@ typedef void CAMetalLayer; const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo HANDLE* pHandle - + VkResult vkGetMemoryWin32HandlePropertiesKHR VkDevice device VkExternalMemoryHandleTypeFlagBits handleType @@ -7529,13 +9661,32 @@ typedef void CAMetalLayer; const VkMemoryGetFdInfoKHR* pGetFdInfo int* pFd - + VkResult vkGetMemoryFdPropertiesKHR VkDevice device VkExternalMemoryHandleTypeFlagBits handleType int fd VkMemoryFdPropertiesKHR* pMemoryFdProperties + + VkResult vkGetMemoryZirconHandleFUCHSIA + VkDevice device + const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo + zx_handle_t* pZirconHandle + + + VkResult vkGetMemoryZirconHandlePropertiesFUCHSIA + VkDevice device + VkExternalMemoryHandleTypeFlagBits handleType + zx_handle_t zirconHandle + VkMemoryZirconHandlePropertiesFUCHSIA* pMemoryZirconHandleProperties + + + VkResult vkGetMemoryRemoteAddressNV + VkDevice device + const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo + VkRemoteAddressNV* pAddress + void vkGetPhysicalDeviceExternalSemaphoreProperties VkPhysicalDevice physicalDevice @@ -7565,6 +9716,17 @@ typedef void CAMetalLayer; VkDevice device const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo + + VkResult vkGetSemaphoreZirconHandleFUCHSIA + VkDevice device + const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo + zx_handle_t* pZirconHandle + + + VkResult vkImportSemaphoreZirconHandleFUCHSIA + VkDevice device + const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo + void vkGetPhysicalDeviceExternalFenceProperties VkPhysicalDevice physicalDevice @@ -7599,33 +9761,44 @@ typedef void CAMetalLayer; VkPhysicalDevice physicalDevice VkDisplayKHR display - + VkResult vkAcquireXlibDisplayEXT VkPhysicalDevice physicalDevice Display* dpy VkDisplayKHR display - + VkResult vkGetRandROutputDisplayEXT VkPhysicalDevice physicalDevice Display* dpy RROutput rrOutput VkDisplayKHR* pDisplay - + + VkResult vkAcquireWinrtDisplayNV + VkPhysicalDevice physicalDevice + VkDisplayKHR display + + + VkResult vkGetWinrtDisplayNV + VkPhysicalDevice physicalDevice + uint32_t deviceRelativeId + VkDisplayKHR* pDisplay + + 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 @@ -7633,7 +9806,7 @@ typedef void CAMetalLayer; const VkAllocationCallbacks* pAllocator VkFence* pFence - + VkResult vkGetSwapchainCounterEXT VkDevice device VkSwapchainKHR swapchain @@ -7760,13 +9933,13 @@ typedef void CAMetalLayer; VkDevice device VkSwapchainKHR swapchain - + VkResult vkGetRefreshCycleDurationGOOGLE VkDevice device VkSwapchainKHR swapchain VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties - + VkResult vkGetPastPresentationTimingGOOGLE VkDevice device VkSwapchainKHR swapchain @@ -7878,6 +10051,25 @@ typedef void CAMetalLayer; uint32_t* pSparseMemoryRequirementCount VkSparseImageMemoryRequirements2* pSparseMemoryRequirements + + void vkGetDeviceBufferMemoryRequirementsKHR + VkDevice device + const VkDeviceBufferMemoryRequirementsKHR* pInfo + VkMemoryRequirements2* pMemoryRequirements + + + void vkGetDeviceImageMemoryRequirementsKHR + VkDevice device + const VkDeviceImageMemoryRequirementsKHR* pInfo + VkMemoryRequirements2* pMemoryRequirements + + + void vkGetDeviceImageSparseMemoryRequirementsKHR + VkDevice device + const VkDeviceImageMemoryRequirementsKHR* pInfo + uint32_t* pSparseMemoryRequirementCount + VkSparseImageMemoryRequirements2* pSparseMemoryRequirements + VkResult vkCreateSamplerYcbcrConversion @@ -8053,17 +10245,17 @@ typedef void CAMetalLayer; VkDebugUtilsMessageTypeFlagsEXT messageTypes const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData - + VkResult vkGetMemoryHostPointerPropertiesEXT VkDevice device VkExternalMemoryHandleTypeFlagBits handleType const void* pHostPointer VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties - + void vkCmdWriteBufferMarkerAMD VkCommandBuffer commandBuffer - VkPipelineStageFlagBits pipelineStage + VkPipelineStageFlagBits pipelineStage VkBuffer dstBuffer VkDeviceSize dstOffset uint32_t marker @@ -8076,21 +10268,21 @@ typedef void CAMetalLayer; VkRenderPass* pRenderPass - + void vkCmdBeginRenderPass2 VkCommandBuffer commandBuffer const VkRenderPassBeginInfo* pRenderPassBegin const VkSubpassBeginInfo* pSubpassBeginInfo - + void vkCmdNextSubpass2 VkCommandBuffer commandBuffer const VkSubpassBeginInfo* pSubpassBeginInfo const VkSubpassEndInfo* pSubpassEndInfo - + void vkCmdEndRenderPass2 VkCommandBuffer commandBuffer const VkSubpassEndInfo* pSubpassEndInfo @@ -8116,7 +10308,7 @@ typedef void CAMetalLayer; const VkSemaphoreSignalInfo* pSignalInfo - + VkResult vkGetAndroidHardwareBufferPropertiesANDROID VkDevice device const struct AHardwareBuffer* buffer @@ -8128,7 +10320,7 @@ typedef void CAMetalLayer; const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo struct AHardwareBuffer** pBuffer - + void vkCmdDrawIndirectCount VkCommandBuffer commandBuffer VkBuffer buffer @@ -8140,7 +10332,7 @@ typedef void CAMetalLayer; - + void vkCmdDrawIndexedIndirectCount VkCommandBuffer commandBuffer VkBuffer buffer @@ -8203,7 +10395,7 @@ typedef void CAMetalLayer; uint32_t query uint32_t index - + void vkCmdDrawIndirectByteCountEXT VkCommandBuffer commandBuffer uint32_t instanceCount @@ -8240,13 +10432,13 @@ typedef void CAMetalLayer; uint32_t customSampleOrderCount const VkCoarseSampleOrderCustomNV* pCustomSampleOrders - + void vkCmdDrawMeshTasksNV VkCommandBuffer commandBuffer uint32_t taskCount uint32_t firstTask - + void vkCmdDrawMeshTasksIndirectNV VkCommandBuffer commandBuffer VkBuffer buffer @@ -8254,7 +10446,7 @@ typedef void CAMetalLayer; uint32_t drawCount uint32_t stride - + void vkCmdDrawMeshTasksIndirectCountNV VkCommandBuffer commandBuffer VkBuffer buffer @@ -8277,18 +10469,23 @@ typedef void CAMetalLayer; const VkAllocationCallbacks* pAllocator VkAccelerationStructureNV* pAccelerationStructure + + void vkCmdBindInvocationMaskHUAWEI + VkCommandBuffer commandBuffer + VkImageView imageView + VkImageLayout imageLayout + void vkDestroyAccelerationStructureKHR VkDevice device VkAccelerationStructureKHR accelerationStructure const VkAllocationCallbacks* pAllocator - - void vkGetAccelerationStructureMemoryRequirementsKHR + void vkDestroyAccelerationStructureNV VkDevice device - const VkAccelerationStructureMemoryRequirementsInfoKHR* pInfo - VkMemoryRequirements2* pMemoryRequirements + VkAccelerationStructureNV accelerationStructure + const VkAllocationCallbacks* pAllocator void vkGetAccelerationStructureMemoryRequirementsNV @@ -8297,17 +10494,16 @@ typedef void CAMetalLayer; VkMemoryRequirements2KHR* pMemoryRequirements - VkResult vkBindAccelerationStructureMemoryKHR + VkResult vkBindAccelerationStructureMemoryNV VkDevice device uint32_t bindInfoCount - const VkBindAccelerationStructureMemoryInfoKHR* pBindInfos + const VkBindAccelerationStructureMemoryInfoNV* pBindInfos - void vkCmdCopyAccelerationStructureNV VkCommandBuffer commandBuffer - VkAccelerationStructureKHR dst - VkAccelerationStructureKHR src + VkAccelerationStructureNV dst + VkAccelerationStructureNV src VkCopyAccelerationStructureModeKHR mode @@ -8318,6 +10514,7 @@ typedef void CAMetalLayer; VkResult vkCopyAccelerationStructureKHR VkDevice device + VkDeferredOperationKHR deferredOperation const VkCopyAccelerationStructureInfoKHR* pInfo @@ -8328,6 +10525,7 @@ typedef void CAMetalLayer; VkResult vkCopyAccelerationStructureToMemoryKHR VkDevice device + VkDeferredOperationKHR deferredOperation const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo @@ -8338,6 +10536,7 @@ typedef void CAMetalLayer; VkResult vkCopyMemoryToAccelerationStructureKHR VkDevice device + VkDeferredOperationKHR deferredOperation const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo @@ -8349,7 +10548,15 @@ typedef void CAMetalLayer; VkQueryPool queryPool uint32_t firstQuery - + + void vkCmdWriteAccelerationStructuresPropertiesNV + VkCommandBuffer commandBuffer + uint32_t accelerationStructureCount + const VkAccelerationStructureNV* pAccelerationStructures + VkQueryType queryType + VkQueryPool queryPool + uint32_t firstQuery + void vkCmdBuildAccelerationStructureNV VkCommandBuffer commandBuffer @@ -8357,8 +10564,8 @@ typedef void CAMetalLayer; VkBuffer instanceData VkDeviceSize instanceOffset VkBool32 update - VkAccelerationStructureKHR dst - VkAccelerationStructureKHR src + VkAccelerationStructureNV dst + VkAccelerationStructureNV src VkBuffer scratch VkDeviceSize scratchOffset @@ -8375,10 +10582,10 @@ typedef void CAMetalLayer; void vkCmdTraceRaysKHR VkCommandBuffer commandBuffer - const VkStridedBufferRegionKHR* pRaygenShaderBindingTable - const VkStridedBufferRegionKHR* pMissShaderBindingTable - const VkStridedBufferRegionKHR* pHitShaderBindingTable - const VkStridedBufferRegionKHR* pCallableShaderBindingTable + const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable + const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable + const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable + const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable uint32_t width uint32_t height uint32_t depth @@ -8423,7 +10630,7 @@ typedef void CAMetalLayer; VkResult vkGetAccelerationStructureHandleNV VkDevice device - VkAccelerationStructureKHR accelerationStructure + VkAccelerationStructureNV accelerationStructure size_t dataSize void* pData @@ -8439,6 +10646,7 @@ typedef void CAMetalLayer; VkResult vkCreateRayTracingPipelinesKHR VkDevice device + VkDeferredOperationKHR deferredOperation VkPipelineCache pipelineCache uint32_t createInfoCount const VkRayTracingPipelineCreateInfoKHR* pCreateInfos @@ -8454,24 +10662,36 @@ typedef void CAMetalLayer; void vkCmdTraceRaysIndirectKHR VkCommandBuffer commandBuffer - const VkStridedBufferRegionKHR* pRaygenShaderBindingTable - const VkStridedBufferRegionKHR* pMissShaderBindingTable - const VkStridedBufferRegionKHR* pHitShaderBindingTable - const VkStridedBufferRegionKHR* pCallableShaderBindingTable - VkBuffer buffer - VkDeviceSize offset + const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable + const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable + const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable + const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable + VkDeviceAddress indirectDeviceAddress + + + void vkGetDeviceAccelerationStructureCompatibilityKHR + VkDevice device + const VkAccelerationStructureVersionInfoKHR* pVersionInfo + VkAccelerationStructureCompatibilityKHR* pCompatibility - - VkResult vkGetDeviceAccelerationStructureCompatibilityKHR + + VkDeviceSize vkGetRayTracingShaderGroupStackSizeKHR VkDevice device - const VkAccelerationStructureVersionKHR* version + VkPipeline pipeline + uint32_t group + VkShaderGroupShaderKHR groupShader + + + void vkCmdSetRayTracingPipelineStackSizeKHR + VkCommandBuffer commandBuffer + uint32_t pipelineStackSize uint32_t vkGetImageViewHandleNVX VkDevice device const VkImageViewHandleInfoNVX* pInfo - + VkResult vkGetImageViewAddressNVX VkDevice device VkImageView imageView @@ -8514,7 +10734,7 @@ typedef void CAMetalLayer; const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo uint32_t* pNumPasses - + VkResult vkAcquireProfilingLockKHR VkDevice device const VkAcquireProfilingLockInfoKHR* pInfo @@ -8523,7 +10743,7 @@ typedef void CAMetalLayer; void vkReleaseProfilingLockKHR VkDevice device - + VkResult vkGetImageDrmFormatModifierPropertiesEXT VkDevice device VkImage image @@ -8588,7 +10808,7 @@ typedef void CAMetalLayer; VkResult vkReleasePerformanceConfigurationINTEL VkDevice device - VkPerformanceConfigurationINTEL configuration + VkPerformanceConfigurationINTEL configuration VkResult vkQueueSetPerformanceConfigurationINTEL @@ -8634,7 +10854,7 @@ typedef void CAMetalLayer; uint32_t lineStippleFactor uint16_t lineStipplePattern - + VkResult vkGetPhysicalDeviceToolPropertiesEXT VkPhysicalDevice physicalDevice uint32_t* pToolCount @@ -8648,26 +10868,28 @@ typedef void CAMetalLayer; VkAccelerationStructureKHR* pAccelerationStructure - void vkCmdBuildAccelerationStructureKHR + void vkCmdBuildAccelerationStructuresKHR VkCommandBuffer commandBuffer uint32_t infoCount const VkAccelerationStructureBuildGeometryInfoKHR* pInfos - const VkAccelerationStructureBuildOffsetInfoKHR* const* ppOffsetInfos + const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos - void vkCmdBuildAccelerationStructureIndirectKHR + void vkCmdBuildAccelerationStructuresIndirectKHR VkCommandBuffer commandBuffer - const VkAccelerationStructureBuildGeometryInfoKHR* pInfo - VkBuffer indirectBuffer - VkDeviceSize indirectOffset - uint32_t indirectStride + uint32_t infoCount + const VkAccelerationStructureBuildGeometryInfoKHR* pInfos + const VkDeviceAddress* pIndirectDeviceAddresses + const uint32_t* pIndirectStrides + const uint32_t* const* ppMaxPrimitiveCounts - VkResult vkBuildAccelerationStructureKHR + VkResult vkBuildAccelerationStructuresKHR VkDevice device + VkDeferredOperationKHR deferredOperation uint32_t infoCount const VkAccelerationStructureBuildGeometryInfoKHR* pInfos - const VkAccelerationStructureBuildOffsetInfoKHR* const* ppOffsetInfos + const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos VkDeviceAddress vkGetAccelerationStructureDeviceAddressKHR @@ -8687,19 +10909,115 @@ typedef void CAMetalLayer; const VkAllocationCallbacks* pAllocator - uint32_t vkGetDeferredOperationMaxConcurrencyKHR - VkDevice device - VkDeferredOperationKHR operation + uint32_t vkGetDeferredOperationMaxConcurrencyKHR + VkDevice device + VkDeferredOperationKHR operation - VkResult vkGetDeferredOperationResultKHR - VkDevice device - VkDeferredOperationKHR operation + VkResult vkGetDeferredOperationResultKHR + VkDevice device + VkDeferredOperationKHR operation - VkResult vkDeferredOperationJoinKHR - VkDevice device - VkDeferredOperationKHR operation + VkResult vkDeferredOperationJoinKHR + VkDevice device + VkDeferredOperationKHR operation + + + void vkCmdSetCullModeEXT + VkCommandBuffer commandBuffer + VkCullModeFlags cullMode + + + void vkCmdSetFrontFaceEXT + VkCommandBuffer commandBuffer + VkFrontFace frontFace + + + void vkCmdSetPrimitiveTopologyEXT + VkCommandBuffer commandBuffer + VkPrimitiveTopology primitiveTopology + + + void vkCmdSetViewportWithCountEXT + VkCommandBuffer commandBuffer + uint32_t viewportCount + const VkViewport* pViewports + + + void vkCmdSetScissorWithCountEXT + VkCommandBuffer commandBuffer + uint32_t scissorCount + const VkRect2D* pScissors + + + void vkCmdBindVertexBuffers2EXT + VkCommandBuffer commandBuffer + uint32_t firstBinding + uint32_t bindingCount + const VkBuffer* pBuffers + const VkDeviceSize* pOffsets + const VkDeviceSize* pSizes + const VkDeviceSize* pStrides + + + void vkCmdSetDepthTestEnableEXT + VkCommandBuffer commandBuffer + VkBool32 depthTestEnable + + + void vkCmdSetDepthWriteEnableEXT + VkCommandBuffer commandBuffer + VkBool32 depthWriteEnable + + + void vkCmdSetDepthCompareOpEXT + VkCommandBuffer commandBuffer + VkCompareOp depthCompareOp + + + void vkCmdSetDepthBoundsTestEnableEXT + VkCommandBuffer commandBuffer + VkBool32 depthBoundsTestEnable + + + void vkCmdSetStencilTestEnableEXT + VkCommandBuffer commandBuffer + VkBool32 stencilTestEnable + + + void vkCmdSetStencilOpEXT + VkCommandBuffer commandBuffer + VkStencilFaceFlags faceMask + VkStencilOp failOp + VkStencilOp passOp + VkStencilOp depthFailOp + VkCompareOp compareOp + + + void vkCmdSetPatchControlPointsEXT + VkCommandBuffer commandBuffer + uint32_t patchControlPoints + + + void vkCmdSetRasterizerDiscardEnableEXT + VkCommandBuffer commandBuffer + VkBool32 rasterizerDiscardEnable + + + void vkCmdSetDepthBiasEnableEXT + VkCommandBuffer commandBuffer + VkBool32 depthBiasEnable + + + void vkCmdSetLogicOpEXT + VkCommandBuffer commandBuffer + VkLogicOp logicOp + + + void vkCmdSetPrimitiveRestartEnableEXT + VkCommandBuffer commandBuffer + VkBool32 primitiveRestartEnable VkResult vkCreatePrivateDataSlotEXT @@ -8718,7 +11036,7 @@ typedef void CAMetalLayer; VkResult vkSetPrivateDataEXT VkDevice device VkObjectType objectType - uint64_t objectHandle + uint64_t objectHandle VkPrivateDataSlotEXT privateDataSlot uint64_t data @@ -8726,109 +11044,418 @@ typedef void CAMetalLayer; void vkGetPrivateDataEXT VkDevice device VkObjectType objectType - uint64_t objectHandle + uint64_t objectHandle VkPrivateDataSlotEXT privateDataSlot uint64_t* pData - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + void vkCmdCopyBuffer2KHR + VkCommandBuffer commandBuffer + const VkCopyBufferInfo2KHR* pCopyBufferInfo + + + void vkCmdCopyImage2KHR + VkCommandBuffer commandBuffer + const VkCopyImageInfo2KHR* pCopyImageInfo + + + void vkCmdBlitImage2KHR + VkCommandBuffer commandBuffer + const VkBlitImageInfo2KHR* pBlitImageInfo + + + void vkCmdCopyBufferToImage2KHR + VkCommandBuffer commandBuffer + const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo + + + void vkCmdCopyImageToBuffer2KHR + VkCommandBuffer commandBuffer + const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo + + + void vkCmdResolveImage2KHR + VkCommandBuffer commandBuffer + const VkResolveImageInfo2KHR* pResolveImageInfo + + + void vkCmdSetFragmentShadingRateKHR + VkCommandBuffer commandBuffer + const VkExtent2D* pFragmentSize + const VkFragmentShadingRateCombinerOpKHR combinerOps[2] + + + VkResult vkGetPhysicalDeviceFragmentShadingRatesKHR + VkPhysicalDevice physicalDevice + uint32_t* pFragmentShadingRateCount + VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates + + + void vkCmdSetFragmentShadingRateEnumNV + VkCommandBuffer commandBuffer + VkFragmentShadingRateNV shadingRate + const VkFragmentShadingRateCombinerOpKHR combinerOps[2] + + + void vkGetAccelerationStructureBuildSizesKHR + VkDevice device + VkAccelerationStructureBuildTypeKHR buildType + const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo + const uint32_t* pMaxPrimitiveCounts + VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo + + + void vkCmdSetVertexInputEXT + VkCommandBuffer commandBuffer + uint32_t vertexBindingDescriptionCount + const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions + uint32_t vertexAttributeDescriptionCount + const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions + + + void vkCmdSetColorWriteEnableEXT + VkCommandBuffer commandBuffer + uint32_t attachmentCount + const VkBool32* pColorWriteEnables + + + void vkCmdSetEvent2KHR + VkCommandBuffer commandBuffer + VkEvent event + const VkDependencyInfoKHR* pDependencyInfo + + + void vkCmdResetEvent2KHR + VkCommandBuffer commandBuffer + VkEvent event + VkPipelineStageFlags2KHR stageMask + + + void vkCmdWaitEvents2KHR + VkCommandBuffer commandBuffer + uint32_t eventCount + const VkEvent* pEvents + const VkDependencyInfoKHR* pDependencyInfos + + + void vkCmdPipelineBarrier2KHR + VkCommandBuffer commandBuffer + const VkDependencyInfoKHR* pDependencyInfo + + + VkResult vkQueueSubmit2KHR + VkQueue queue + uint32_t submitCount + const VkSubmitInfo2KHR* pSubmits + VkFence fence + + + void vkCmdWriteTimestamp2KHR + VkCommandBuffer commandBuffer + VkPipelineStageFlags2KHR stage + VkQueryPool queryPool + uint32_t query + + + void vkCmdWriteBufferMarker2AMD + VkCommandBuffer commandBuffer + VkPipelineStageFlags2KHR stage + VkBuffer dstBuffer + VkDeviceSize dstOffset + uint32_t marker + + + void vkGetQueueCheckpointData2NV + VkQueue queue + uint32_t* pCheckpointDataCount + VkCheckpointData2NV* pCheckpointData + + + VkResult vkGetPhysicalDeviceVideoCapabilitiesKHR + VkPhysicalDevice physicalDevice + const VkVideoProfileKHR* pVideoProfile + VkVideoCapabilitiesKHR* pCapabilities + + + VkResult vkGetPhysicalDeviceVideoFormatPropertiesKHR + VkPhysicalDevice physicalDevice + const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo + uint32_t* pVideoFormatPropertyCount + VkVideoFormatPropertiesKHR* pVideoFormatProperties + + + VkResult vkCreateVideoSessionKHR + VkDevice device + const VkVideoSessionCreateInfoKHR* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkVideoSessionKHR* pVideoSession + + + void vkDestroyVideoSessionKHR + VkDevice device + VkVideoSessionKHR videoSession + const VkAllocationCallbacks* pAllocator + + + VkResult vkCreateVideoSessionParametersKHR + VkDevice device + const VkVideoSessionParametersCreateInfoKHR* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkVideoSessionParametersKHR* pVideoSessionParameters + + + VkResult vkUpdateVideoSessionParametersKHR + VkDevice device + VkVideoSessionParametersKHR videoSessionParameters + const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo + + + void vkDestroyVideoSessionParametersKHR + VkDevice device + VkVideoSessionParametersKHR videoSessionParameters + const VkAllocationCallbacks* pAllocator + + + VkResult vkGetVideoSessionMemoryRequirementsKHR + VkDevice device + VkVideoSessionKHR videoSession + uint32_t* pVideoSessionMemoryRequirementsCount + VkVideoGetMemoryPropertiesKHR* pVideoSessionMemoryRequirements + + + VkResult vkBindVideoSessionMemoryKHR + VkDevice device + VkVideoSessionKHR videoSession + uint32_t videoSessionBindMemoryCount + const VkVideoBindMemoryKHR* pVideoSessionBindMemories + + + void vkCmdDecodeVideoKHR + VkCommandBuffer commandBuffer + const VkVideoDecodeInfoKHR* pFrameInfo + + + void vkCmdBeginVideoCodingKHR + VkCommandBuffer commandBuffer + const VkVideoBeginCodingInfoKHR* pBeginInfo + + + void vkCmdControlVideoCodingKHR + VkCommandBuffer commandBuffer + const VkVideoCodingControlInfoKHR* pCodingControlInfo + + + void vkCmdEndVideoCodingKHR + VkCommandBuffer commandBuffer + const VkVideoEndCodingInfoKHR* pEndCodingInfo + + + void vkCmdEncodeVideoKHR + VkCommandBuffer commandBuffer + const VkVideoEncodeInfoKHR* pEncodeInfo + + + VkResult vkCreateCuModuleNVX + VkDevice device + const VkCuModuleCreateInfoNVX* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkCuModuleNVX* pModule + + + VkResult vkCreateCuFunctionNVX + VkDevice device + const VkCuFunctionCreateInfoNVX* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkCuFunctionNVX* pFunction + + + void vkDestroyCuModuleNVX + VkDevice device + VkCuModuleNVX module + const VkAllocationCallbacks* pAllocator + + + void vkDestroyCuFunctionNVX + VkDevice device + VkCuFunctionNVX function + const VkAllocationCallbacks* pAllocator + + + void vkCmdCuLaunchKernelNVX + VkCommandBuffer commandBuffer + const VkCuLaunchInfoNVX* pLaunchInfo + + + void vkSetDeviceMemoryPriorityEXT + VkDevice device + VkDeviceMemory memory + float priority + + + VkResult vkAcquireDrmDisplayEXT + VkPhysicalDevice physicalDevice + int32_t drmFd + VkDisplayKHR display + + + VkResult vkGetDrmDisplayEXT + VkPhysicalDevice physicalDevice + int32_t drmFd + uint32_t connectorId + VkDisplayKHR* display + + + VkResult vkWaitForPresentKHR + VkDevice device + VkSwapchainKHR swapchain + uint64_t presentId + uint64_t timeout + + + VkResult vkCreateBufferCollectionFUCHSIA + VkDevice device + const VkBufferCollectionCreateInfoFUCHSIA* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkBufferCollectionFUCHSIA* pCollection + + + VkResult vkSetBufferCollectionBufferConstraintsFUCHSIA + VkDevice device + VkBufferCollectionFUCHSIA collection + const VkBufferConstraintsInfoFUCHSIA* pBufferConstraintsInfo + + + VkResult vkSetBufferCollectionImageConstraintsFUCHSIA + VkDevice device + VkBufferCollectionFUCHSIA collection + const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo + + + void vkDestroyBufferCollectionFUCHSIA + VkDevice device + VkBufferCollectionFUCHSIA collection + const VkAllocationCallbacks* pAllocator + + + VkResult vkGetBufferCollectionPropertiesFUCHSIA + VkDevice device + VkBufferCollectionFUCHSIA collection + VkBufferCollectionPropertiesFUCHSIA* pProperties + + + void vkCmdBeginRenderingKHR + VkCommandBuffer commandBuffer + const VkRenderingInfoKHR* pRenderingInfo + + + void vkCmdEndRenderingKHR + VkCommandBuffer commandBuffer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -8844,10 +11471,9 @@ typedef void CAMetalLayer; - + - - + @@ -8925,7 +11551,7 @@ typedef void CAMetalLayer; - + @@ -8933,6 +11559,7 @@ typedef void CAMetalLayer; + @@ -8944,7 +11571,7 @@ typedef void CAMetalLayer; - + @@ -8966,7 +11593,7 @@ typedef void CAMetalLayer; - + @@ -8994,7 +11621,6 @@ typedef void CAMetalLayer; - @@ -9002,8 +11628,7 @@ typedef void CAMetalLayer; - - + @@ -9025,29 +11650,29 @@ typedef void CAMetalLayer; - + - + - + - + - - + + - + - + - + - + @@ -9393,13 +12018,14 @@ typedef void CAMetalLayer; - + + @@ -9682,7 +12308,6 @@ typedef void CAMetalLayer; - @@ -9770,7 +12395,7 @@ typedef void CAMetalLayer; - + @@ -9795,7 +12420,7 @@ typedef void CAMetalLayer; - + @@ -9837,8 +12462,8 @@ typedef void CAMetalLayer; - - + + @@ -9935,11 +12560,11 @@ typedef void CAMetalLayer; - VK_ANDROID_native_buffer is used between the Android Vulkan loader and drivers to implement the WSI extensions. It isn't exposed to applications and uses types that aren't part of Android's stable public API, so it is left disabled to keep it out of the standard Vulkan headers. + VK_ANDROID_native_buffer is used between the Android Vulkan loader and drivers to implement the WSI extensions. It is not exposed to applications and uses types that are not part of Android's stable public API, so it is left disabled to keep it out of the standard Vulkan headers. - - + + @@ -9957,12 +12582,12 @@ typedef void CAMetalLayer; - + - + @@ -10065,43 +12690,118 @@ typedef void CAMetalLayer; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -10125,7 +12825,7 @@ typedef void CAMetalLayer; - + @@ -10145,8 +12845,8 @@ typedef void CAMetalLayer; - - + + @@ -10161,13 +12861,30 @@ typedef void CAMetalLayer; - + - - + + + + + + + + + + + + + + + + + + + - + @@ -10223,22 +12940,117 @@ typedef void CAMetalLayer; - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -10265,10 +13077,49 @@ typedef void CAMetalLayer; - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -10527,9 +13378,9 @@ typedef void CAMetalLayer; - - - + + + @@ -10549,10 +13400,10 @@ typedef void CAMetalLayer; - - - - + + + + @@ -10565,8 +13416,10 @@ typedef void CAMetalLayer; - - + + + + @@ -10776,10 +13629,10 @@ typedef void CAMetalLayer; - - - - + + + + @@ -10794,7 +13647,7 @@ typedef void CAMetalLayer; - + @@ -10904,7 +13757,11 @@ typedef void CAMetalLayer; - + + + + + @@ -10925,8 +13782,10 @@ typedef void CAMetalLayer; - - + + + + @@ -11017,7 +13876,7 @@ typedef void CAMetalLayer; - + @@ -11195,8 +14054,10 @@ typedef void CAMetalLayer; - - + + + + @@ -11250,13 +14111,13 @@ typedef void CAMetalLayer; - - - - - - - + + + + + + + @@ -11268,9 +14129,9 @@ typedef void CAMetalLayer; - + - + @@ -11278,9 +14139,9 @@ typedef void CAMetalLayer; - + - + @@ -11327,7 +14188,7 @@ typedef void CAMetalLayer; - + @@ -11356,7 +14217,7 @@ typedef void CAMetalLayer; - + @@ -11375,6 +14236,10 @@ typedef void CAMetalLayer; + + + + @@ -11435,13 +14300,13 @@ typedef void CAMetalLayer; - - - - - - - + + + + + + + @@ -11501,7 +14366,11 @@ typedef void CAMetalLayer; - + + + + + @@ -11599,65 +14468,41 @@ typedef void CAMetalLayer; - + - - - - - + + + - - - + - - - - + + - - - - - - - - + - - - + - - - - + + + + - - - - - - - - + + - - - - + @@ -11672,34 +14517,30 @@ typedef void CAMetalLayer; - - - - - - + + - - - + - + + + + + - - - - - + + + @@ -11707,14 +14548,66 @@ typedef void CAMetalLayer; - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + @@ -11854,34 +14747,32 @@ typedef void CAMetalLayer; - + - - - - - - - - - - - - - - - - - + + + + + + + + + + + - + + + + + @@ -11895,7 +14786,7 @@ typedef void CAMetalLayer; - + @@ -11938,10 +14829,14 @@ typedef void CAMetalLayer; - + - - + + + + + + @@ -11951,11 +14846,11 @@ typedef void CAMetalLayer; - + - - - + + + @@ -11972,7 +14867,7 @@ typedef void CAMetalLayer; - + @@ -11982,8 +14877,8 @@ typedef void CAMetalLayer; - - + + @@ -11996,15 +14891,15 @@ typedef void CAMetalLayer; - + - + - + - - + + @@ -12054,9 +14949,6 @@ typedef void CAMetalLayer; - - - @@ -12083,15 +14975,16 @@ typedef void CAMetalLayer; - - - + + - - + + + + @@ -12107,7 +15000,7 @@ typedef void CAMetalLayer; - + @@ -12129,8 +15022,8 @@ typedef void CAMetalLayer; - - + + @@ -12138,8 +15031,8 @@ typedef void CAMetalLayer; - - + + @@ -12162,8 +15055,8 @@ typedef void CAMetalLayer; - - + + @@ -12214,8 +15107,8 @@ typedef void CAMetalLayer; - - + + @@ -12228,9 +15121,9 @@ typedef void CAMetalLayer; - + - + @@ -12249,20 +15142,38 @@ typedef void CAMetalLayer; - - + + - + - - + + + + + + + + + + + + + + + + + + + + - - + + @@ -12322,6 +15233,8 @@ typedef void CAMetalLayer; + @@ -12503,7 +15416,7 @@ typedef void CAMetalLayer; - + @@ -12575,16 +15488,18 @@ typedef void CAMetalLayer; - + - - + + + + - - + + @@ -12600,7 +15515,7 @@ typedef void CAMetalLayer; - + @@ -12618,6 +15533,9 @@ typedef void CAMetalLayer; + + + @@ -12648,8 +15566,10 @@ typedef void CAMetalLayer; - - + + + + @@ -12672,11 +15592,32 @@ typedef void CAMetalLayer; - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -12729,10 +15670,12 @@ typedef void CAMetalLayer; - + - - + + + + @@ -12858,7 +15801,7 @@ typedef void CAMetalLayer; - + @@ -12866,10 +15809,13 @@ typedef void CAMetalLayer; - + - - + + + + + @@ -12926,10 +15872,17 @@ typedef void CAMetalLayer; - + - - + + + + + + + + + @@ -13012,10 +15965,12 @@ typedef void CAMetalLayer; - + - - + + + + @@ -13029,8 +15984,8 @@ typedef void CAMetalLayer; - - + + @@ -13057,23 +16012,47 @@ typedef void CAMetalLayer; - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - @@ -13113,37 +16092,39 @@ typedef void CAMetalLayer; - + - + - + - + - - + + + + - + - + @@ -13154,8 +16135,12 @@ typedef void CAMetalLayer; - + + + This extension requires buffer_device_address functionality. + VK_EXT_buffer_device_address is also acceptable, but since it is deprecated the KHR version is preferred. + @@ -13170,7 +16155,7 @@ typedef void CAMetalLayer; - + @@ -13198,22 +16183,30 @@ typedef void CAMetalLayer; - + - - + + + + + + - + - + - - + + + + + + @@ -13228,12 +16221,11 @@ typedef void CAMetalLayer; - + - @@ -13241,19 +16233,30 @@ typedef void CAMetalLayer; - + - + - - + + + + + + + + + + + - + - - + + + + @@ -13266,7 +16269,7 @@ typedef void CAMetalLayer; - + @@ -13282,8 +16285,43 @@ typedef void CAMetalLayer; + + These enums are present only to inform downstream + consumers like KTX2. There is no actual Vulkan extension + corresponding to the enums. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13292,7 +16330,7 @@ typedef void CAMetalLayer; - + @@ -13319,10 +16357,14 @@ typedef void CAMetalLayer; - + - - + + + + + + @@ -13368,24 +16410,63 @@ typedef void CAMetalLayer; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + - + @@ -13396,39 +16477,39 @@ typedef void CAMetalLayer; - - - + + + - - + + - - + + - - + + - - + + - - + + @@ -13441,13 +16522,12 @@ typedef void CAMetalLayer; - - - + + @@ -13475,10 +16555,102 @@ typedef void CAMetalLayer; - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13491,6 +16663,13 @@ typedef void CAMetalLayer; + + + + + + + @@ -13503,6 +16682,8 @@ typedef void CAMetalLayer; + + @@ -13515,6 +16696,9 @@ typedef void CAMetalLayer; + + + @@ -13529,10 +16713,12 @@ typedef void CAMetalLayer; - + - - + + + + @@ -13541,25 +16727,53 @@ typedef void CAMetalLayer; - + - - + + + + - + - - + + + + + + + + + + + - + - - + + + + + + + + + + + + + + + + + + + - + @@ -13571,10 +16785,16 @@ typedef void CAMetalLayer; - + - - + + + + + + + + @@ -13583,17 +16803,23 @@ typedef void CAMetalLayer; - + - - - + + + + + + + - + - - + + + + @@ -13602,22 +16828,54 @@ typedef void CAMetalLayer; - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13630,12 +16888,17 @@ typedef void CAMetalLayer; + - + - - + + + + + + @@ -13644,10 +16907,20 @@ typedef void CAMetalLayer; - + - - + + + + + + + + + + + + @@ -13656,23 +16929,2824 @@ typedef void CAMetalLayer; - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - - + + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/glad/files/vk_platform.h b/glad/files/vk_platform.h index 048322d9..5e1a95d0 100644 --- a/glad/files/vk_platform.h +++ b/glad/files/vk_platform.h @@ -2,7 +2,7 @@ // File: vk_platform.h // /* -** Copyright (c) 2014-2020 The Khronos Group Inc. +** Copyright 2014-2021 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ @@ -42,7 +42,7 @@ extern "C" #define VKAPI_CALL __stdcall #define VKAPI_PTR VKAPI_CALL #elif defined(__ANDROID__) && defined(__ARM_ARCH) && __ARM_ARCH < 7 - #error "Vulkan isn't supported for the 'armeabi' NDK ABI" + #error "Vulkan is not supported for the 'armeabi' NDK ABI" #elif defined(__ANDROID__) && defined(__ARM_ARCH) && __ARM_ARCH >= 7 && defined(__ARM_32BIT_STATE) // On Android 32-bit ARM targets, Vulkan functions use the "hardfloat" // calling convention, i.e. float parameters are passed in registers. This @@ -58,7 +58,9 @@ extern "C" #define VKAPI_PTR #endif -#include +#if !defined(VK_NO_STDDEF_H) + #include +#endif // !defined(VK_NO_STDDEF_H) #if !defined(VK_NO_STDINT_H) #if defined(_MSC_VER) && (_MSC_VER < 1600) diff --git a/glad/files/wgl.xml b/glad/files/wgl.xml index 88922eb1..189b3695 100644 --- a/glad/files/wgl.xml +++ b/glad/files/wgl.xml @@ -1,29 +1,13 @@ -Copyright (c) 2013-2019 The Khronos Group Inc. +Copyright 2013-2020 The Khronos Group Inc. +SPDX-License-Identifier: Apache-2.0 -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - ------------------------------------------------------------------------- - -This file, wgl.xml, is the WGL API Registry. The older ".spec" file -format has been retired and will no longer be updated with new -extensions and API versions. The canonical version of the registry, -together with documentation, schema, and Python generator scripts used -to generate C header files for WGL, can always be found in the Khronos -Registry at - https://github.com/KhronosGroup/OpenGL-Registry +This file, wgl.xml, is the WGL API Registry. The canonical version of the +registry, together with documentation, schema, and Python generator scripts +used to generate C header files for WGL, can always be found in the Khronos +Registry at https://github.com/KhronosGroup/OpenGL-Registry diff --git a/utility/download.sh b/utility/download.sh index 8c0b7f27..f6ee8f1f 100755 --- a/utility/download.sh +++ b/utility/download.sh @@ -7,25 +7,25 @@ TARGET=${TARGET:="."} rm -f "${TARGET}/egl.xml" -wget -O "${TARGET}/egl.xml" https://raw.githubusercontent.com/KhronosGroup/EGL-Registry/master/api/egl.xml +wget -O "${TARGET}/egl.xml" https://raw.githubusercontent.com/KhronosGroup/EGL-Registry/main/api/egl.xml rm -f "${TARGET}/gl.xml" -wget -O "${TARGET}/gl.xml" https://raw.githubusercontent.com/KhronosGroup/OpenGL-Registry/master/xml/gl.xml +wget -O "${TARGET}/gl.xml" https://raw.githubusercontent.com/KhronosGroup/OpenGL-Registry/main/xml/gl.xml rm -f "${TARGET}/glx.xml" -wget -O "${TARGET}/glx.xml" https://raw.githubusercontent.com/KhronosGroup/OpenGL-Registry/master/xml/glx.xml +wget -O "${TARGET}/glx.xml" https://raw.githubusercontent.com/KhronosGroup/OpenGL-Registry/main/xml/glx.xml rm -f "${TARGET}/wgl.xml" -wget -O "${TARGET}/wgl.xml" https://raw.githubusercontent.com/KhronosGroup/OpenGL-Registry/master/xml/wgl.xml +wget -O "${TARGET}/wgl.xml" https://raw.githubusercontent.com/KhronosGroup/OpenGL-Registry/main/xml/wgl.xml rm -f "${TARGET}/vk.xml" -wget -O "${TARGET}/vk.xml" https://raw.githubusercontent.com/KhronosGroup/Vulkan-Docs/master/xml/vk.xml +wget -O "${TARGET}/vk.xml" https://raw.githubusercontent.com/KhronosGroup/Vulkan-Docs/main/xml/vk.xml rm -f "${TARGET}/khrplatform.h" -wget -O "${TARGET}/khrplatform.h" https://raw.githubusercontent.com/KhronosGroup/EGL-Registry/master/api/KHR/khrplatform.h +wget -O "${TARGET}/khrplatform.h" https://raw.githubusercontent.com/KhronosGroup/EGL-Registry/main/api/KHR/khrplatform.h rm -f "${TARGET}/eglplatform.h" -wget -O "${TARGET}/eglplatform.h" https://raw.githubusercontent.com/KhronosGroup/EGL-Registry/master/api/EGL/eglplatform.h +wget -O "${TARGET}/eglplatform.h" https://raw.githubusercontent.com/KhronosGroup/EGL-Registry/main/api/EGL/eglplatform.h rm -f "${TARGET}/vk_platform.h" -wget -O "${TARGET}/vk_platform.h" https://raw.githubusercontent.com/KhronosGroup/Vulkan-Docs/master/include/vulkan/vk_platform.h +wget -O "${TARGET}/vk_platform.h" https://raw.githubusercontent.com/KhronosGroup/Vulkan-Docs/main/include/vulkan/vk_platform.h From a4420caa43775df0d74e0bf458aaa69d4bdc54d4 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Wed, 22 Dec 2021 17:01:01 +0100 Subject: [PATCH 049/138] glad: fixes remaining resource URLs --- glad/generator/c/__init__.py | 6 +++--- utility/compiletest.sh | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/glad/generator/c/__init__.py b/glad/generator/c/__init__.py index 51b213bb..96202446 100644 --- a/glad/generator/c/__init__.py +++ b/glad/generator/c/__init__.py @@ -255,17 +255,17 @@ class CGenerator(JinjaGenerator): Header( 'khrplatform', 'KHR/khrplatform.h', - 'https://raw.githubusercontent.com/KhronosGroup/EGL-Registry/master/api/KHR/khrplatform.h' + 'https://raw.githubusercontent.com/KhronosGroup/EGL-Registry/main/api/KHR/khrplatform.h' ), Header( 'eglplatform', 'EGL/eglplatform.h', - 'https://raw.githubusercontent.com/KhronosGroup/EGL-Registry/master/api/EGL/eglplatform.h' + 'https://raw.githubusercontent.com/KhronosGroup/EGL-Registry/main/api/EGL/eglplatform.h' ), Header( 'vk_platform', 'vk_platform.h', - 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Docs/master/include/vulkan/vk_platform.h' + 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Docs/main/include/vulkan/vk_platform.h' ), ] diff --git a/utility/compiletest.sh b/utility/compiletest.sh index b1a09d1f..de1e124a 100755 --- a/utility/compiletest.sh +++ b/utility/compiletest.sh @@ -58,8 +58,8 @@ function download_if_required { echo -e "====================== Generating and compiling C/C++: ======================" rm -rf build -download_if_required build/include/EGL/eglplatform.h "https://raw.githubusercontent.com/KhronosGroup/EGL-Registry/master/api/EGL/eglplatform.h" -download_if_required build/include/KHR/khrplatform.h "https://raw.githubusercontent.com/KhronosGroup/EGL-Registry/master/api/KHR/khrplatform.h" +download_if_required build/include/EGL/eglplatform.h "https://raw.githubusercontent.com/KhronosGroup/EGL-Registry/main/api/EGL/eglplatform.h" +download_if_required build/include/KHR/khrplatform.h "https://raw.githubusercontent.com/KhronosGroup/EGL-Registry/main/api/KHR/khrplatform.h" ${PYTHON} -m glad --api="egl" --out-path=build c c_compile -Ibuild/include build/src/egl.c ${GCC_FLAGS} cpp_compile -Ibuild/include build/src/egl.c ${GPP_FLAGS} @@ -102,8 +102,8 @@ mingwcpp_compile -Ibuild/include build/src/wgl.c ${GPP_FLAGS} echo -e "====================== Generating and compiling C/C++ Debug: ======================" rm -rf build -download_if_required build/include/EGL/eglplatform.h "https://raw.githubusercontent.com/KhronosGroup/EGL-Registry/master/api/EGL/eglplatform.h" -download_if_required build/include/KHR/khrplatform.h "https://raw.githubusercontent.com/KhronosGroup/EGL-Registry/master/api/KHR/khrplatform.h" +download_if_required build/include/EGL/eglplatform.h "https://raw.githubusercontent.com/KhronosGroup/EGL-Registry/main/api/EGL/eglplatform.h" +download_if_required build/include/KHR/khrplatform.h "https://raw.githubusercontent.com/KhronosGroup/EGL-Registry/main/api/KHR/khrplatform.h" ${PYTHON} -m glad --api="egl" --out-path=build c --debug c_compile -Ibuild/include build/src/egl.c ${GCC_FLAGS} cpp_compile -Ibuild/include build/src/egl.c ${GPP_FLAGS} From 568d0e6c51c3c2611e61249f7f69f407c7981cc6 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Wed, 22 Dec 2021 18:39:01 +0100 Subject: [PATCH 050/138] glad: adds support for bitwidth=64 enums --- glad/generator/c/templates/template_utils.h | 12 ++++++++++-- glad/parse.py | 15 ++++++++++----- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/glad/generator/c/templates/template_utils.h b/glad/generator/c/templates/template_utils.h index 26a8e931..3b1e6819 100644 --- a/glad/generator/c/templates/template_utils.h +++ b/glad/generator/c/templates/template_utils.h @@ -18,6 +18,7 @@ {% endif %} {{ caller() }} {%- if protections %} + #endif {% endif %} {% endmacro %} @@ -44,6 +45,12 @@ GLAD_API_CALL int GLAD_{{ extension.name }}; {% macro write_type(type) %} {% call protect(type) %} {% if type.category == 'enum' -%} +{% if type.bitwidth == '64' %} +typedef uint64_t {{ type.name }}; +{% for member in type.enums_for(feature_set) %} +static const {{ member.parent_type }} {{ member.name }} = {{ enum_member(type, member) }}; +{% endfor %} +{% else %} {%- if type.enums_for(feature_set) -%} typedef enum {{ type.name }} { {% for member in type.enums_for(feature_set) %} @@ -52,6 +59,7 @@ typedef enum {{ type.name }} { } {{ type.name }}; {% elif type.alias -%} typedef enum {{ type.alias }} {{ type.name }}; +{%- endif -%} {% endif -%} {% elif type.category in ('struct', 'union') -%} typedef {{ type.category }} {% if type.alias %}{{ type.alias }}{% else %}{{ type.name }}{% endif %} {% if type.members %}{ @@ -61,9 +69,9 @@ typedef {{ type.category }} {% if type.alias %}{{ type.alias }}{% else %}{{ type }{% endif %} {{ type.name }}; {% elif type.alias %} #define {{ type.name }} {{ type.alias }} -{% elif type._raw|trim -%} +{%- elif type._raw|trim -%} {{ type._raw|trim|replace('APIENTRY', 'GLAD_API_PTR') }} -{% endif %} +{%- endif -%} {% endcall %} {% endmacro %} diff --git a/glad/parse.py b/glad/parse.py index 889485d8..f0c0a59a 100644 --- a/glad/parse.py +++ b/glad/parse.py @@ -319,6 +319,8 @@ def types(self): else: enums_element = enums_element[0] + t.bitwidth = enums_element.get('bitwidth') + kwargs = dict(namespace=enums_element.get('namespace'), parent_group=enums_element.get('group'), vendor=enums_element.get('vendor'), @@ -359,6 +361,7 @@ def _type_dependencies(item): # all requirements of all types (types can exist more than once, e.g. specialized for an API) # but only requirements that are types as well requirements = set(r for r in chain.from_iterable(t.requires for t in item[1]) if r in types) + # requirements.add(r.parent_type) aliases = set(t.alias for t in item[1] if t.alias and t.alias in types) dependencies = requirements.union(aliases) dependencies.discard(item[0]) @@ -398,6 +401,7 @@ def enums(self): group = element.get('group') vendor = element.get('vendor') comment = element.get('comment', '') + bitwidth = element.get('bitwidth') for enum in element: if enum.tag in ('unused', 'comment'): @@ -405,9 +409,9 @@ def enums(self): assert enum.tag == 'enum' name = enum.attrib['name'] - enums.setdefault(name, []).append( - Enum.from_element(enum, namespace=namespace, parent_group=group, vendor=vendor, comment=comment) - ) + enums.setdefault(name, []).append(Enum.from_element( + enum, namespace=namespace, parent_group=group, vendor=vendor, comment=comment, bitwidth=bitwidth + )) # add enums added through a for element in self.root.findall('.//require/enum'): @@ -901,10 +905,11 @@ class StructType(MemberType): class EnumType(Type): - def __init__(self, name, enums=None, **kwargs): + def __init__(self, name, enums=None, bitwidth=None, **kwargs): Type.__init__(self, name, **kwargs) self.enums = enums or [] + self.bitwidth = bitwidth def enums_for(self, feature_set): relevant = set(feature_set.features) | set(feature_set.extensions) @@ -981,7 +986,7 @@ class Enum(IdentifiedByName): EXTENSION_NUMBER_OFFSET = -1 def __init__(self, name, value, bitpos, api, type_, - alias=None, namespace=None, group=None, parent_group=None, + alias=None, bitwidth=None, namespace=None, group=None, parent_group=None, vendor=None, comment='', parent_type=None, extended_by=None): """ :param name: name of the enum From 01ca2d262dd41f065d680db31124f5588f7d8164 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Wed, 22 Dec 2021 18:46:03 +0100 Subject: [PATCH 051/138] test: fixes C egl tests --- test/c/compile/egl/default/001/test.c | 1 + test/c/compile/egl/default/002/test.c | 1 + 2 files changed, 2 insertions(+) diff --git a/test/c/compile/egl/default/001/test.c b/test/c/compile/egl/default/001/test.c index cc1d86fe..7d5abf2a 100644 --- a/test/c/compile/egl/default/001/test.c +++ b/test/c/compile/egl/default/001/test.c @@ -7,6 +7,7 @@ */ #include +#include int main(void) { EGLDisplay display = NULL; diff --git a/test/c/compile/egl/default/002/test.c b/test/c/compile/egl/default/002/test.c index 3964284c..ec7cdb28 100644 --- a/test/c/compile/egl/default/002/test.c +++ b/test/c/compile/egl/default/002/test.c @@ -7,6 +7,7 @@ */ #include +#include int main(void) { EGLDisplay display = NULL; From 2c472aeddbda3ca81af5e4a1b82aba0dfbdeff79 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Wed, 22 Dec 2021 18:56:15 +0100 Subject: [PATCH 052/138] c: fixes include requirements for vulkan closes: #348 --- glad/generator/c/templates/template_utils.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/glad/generator/c/templates/template_utils.h b/glad/generator/c/templates/template_utils.h index 3b1e6819..e0263f0a 100644 --- a/glad/generator/c/templates/template_utils.h +++ b/glad/generator/c/templates/template_utils.h @@ -71,6 +71,8 @@ typedef {{ type.category }} {% if type.alias %}{{ type.alias }}{% else %}{{ type #define {{ type.name }} {{ type.alias }} {%- elif type._raw|trim -%} {{ type._raw|trim|replace('APIENTRY', 'GLAD_API_PTR') }} +{%- elif type.category == 'include' %} +#include <{{ type.name }}> {%- endif -%} {% endcall %} {% endmacro %} From 83ba9fb15f839e3d864db7b2a303642d4f3400cd Mon Sep 17 00:00:00 2001 From: David Herberth Date: Wed, 22 Dec 2021 19:08:52 +0100 Subject: [PATCH 053/138] rust: implements bitwidth for enums --- glad/generator/rust/__init__.py | 12 +++++++----- glad/generator/rust/templates/types/vk.rs | 2 +- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/glad/generator/rust/__init__.py b/glad/generator/rust/__init__.py index 8aa18367..c6bae03c 100644 --- a/glad/generator/rust/__init__.py +++ b/glad/generator/rust/__init__.py @@ -28,7 +28,8 @@ 'int64_t': 'i32', 'uint32_t': 'u32', 'uint64_t': 'u64', - 'size_t': 'usize' + 'size_t': 'usize', + 'ull': 'u64', } @@ -52,9 +53,7 @@ def enum_type(enum, feature_set): # this makes handling types for different specifications # easier, since we don't have to swap types. GLenum -> XXenum. if enum.type: - return { - 'ull': 'u64', - }.get(enum.type, 'c_uint') + _RUST_TYPE_MAPPING.get(enum.type, 'c_uint') if enum.value.startswith('0x'): return 'u64' if len(enum.value[2:]) > 8 else 'c_uint' @@ -65,7 +64,7 @@ def enum_type(enum, feature_set): if enum.value.startswith('-'): return 'c_int' - if enum.value.endswith('f'): + if enum.value.endswith('f') or enum.value.endswith('F'): return 'c_float' if enum.value.startswith('"'): @@ -108,6 +107,9 @@ def enum_value(enum, feature_set): type_, value = enum.value.split('(', 1)[1].rsplit(')', 1)[0].split(',') return '{} as {}'.format(value, type_) + if enum.type == 'float' and value.endswith('F'): + value = value[:-1] + for old, new in (('(', ''), (')', ''), ('f', ''), ('U', ''), ('L', ''), ('~', '!')): value = value.replace(old, new) diff --git a/glad/generator/rust/templates/types/vk.rs b/glad/generator/rust/templates/types/vk.rs index 7e01c29d..ca6cc4e8 100644 --- a/glad/generator/rust/templates/types/vk.rs +++ b/glad/generator/rust/templates/types/vk.rs @@ -80,7 +80,7 @@ pub type {{ type.name }} = {{ type.type|type }}; {% set members = type.enums_for(feature_set) %} {% if members %} {{ template_utils.protect(type) }} -#[repr(i32)] +#[repr(i{{ type.bitwidth or '32' }})] #[derive(Copy, Clone, Eq, PartialEq, Debug)] pub enum {{ type.name }} { {% for member in members %} From f30283160481238dc04d35aab096bab5677ec156 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Mon, 31 Jan 2022 17:20:06 +0100 Subject: [PATCH 054/138] c: fixes bitwidth and empty enum aliasing --- glad/generator/c/__init__.py | 33 ++++++++++++++++++++- glad/generator/c/templates/template_utils.h | 10 +++++-- glad/parse.py | 1 + 3 files changed, 40 insertions(+), 4 deletions(-) diff --git a/glad/generator/c/__init__.py b/glad/generator/c/__init__.py index 96202446..bffd4231 100644 --- a/glad/generator/c/__init__.py +++ b/glad/generator/c/__init__.py @@ -16,7 +16,7 @@ collect_alias_information, find_extensions_with_aliases ) -from glad.parse import Type +from glad.parse import Type, EnumType from glad.specification import VK, GL, WGL import glad.util @@ -360,6 +360,7 @@ def modify_feature_set(self, spec, feature_set, config): self._fix_issue_70(feature_set) self._fix_cpp_style_comments(feature_set) + self._fixup_enums(feature_set) self._replace_included_headers(feature_set, config) return feature_set @@ -394,6 +395,36 @@ def _fix_cpp_style_comments(self, feature_set): new_type._raw = replace_cpp_style_comments(new_type._raw) feature_set.types[i] = new_type + def _fixup_enums(self, feature_set): + """ + There are some enums which are simply empty: + https://github.com/KhronosGroup/Vulkan-Docs/issues/1754 + they need to be removed, we need to also remove any type which is an alias to that empty enum. + + Additionally we need to extend type information for enum alias types, + if the alias points to an enum with bitwidth 64 copy over the + bitwidth information so we can later produce the correct typedef. + """ + bitwidth_64 = set() + to_remove = set() + + for typ in (t for t in feature_set.types if isinstance(t, EnumType)): + if typ.bitwidth == '64': + bitwidth_64.add(typ.name) + if typ.alias is None and not typ.enums_for(feature_set): + to_remove.add(typ.name) + + new_types = [] + for typ in feature_set.types: + if typ.alias: + if typ.alias in bitwidth_64: + typ.bitwidth = '64' + + if typ.name not in to_remove and typ.alias not in to_remove: + new_types.append(typ) + + feature_set.types = new_types + def _replace_included_headers(self, feature_set, config): if not config['HEADER_ONLY']: return feature_set diff --git a/glad/generator/c/templates/template_utils.h b/glad/generator/c/templates/template_utils.h index e0263f0a..e34d4a72 100644 --- a/glad/generator/c/templates/template_utils.h +++ b/glad/generator/c/templates/template_utils.h @@ -45,7 +45,13 @@ GLAD_API_CALL int GLAD_{{ extension.name }}; {% macro write_type(type) %} {% call protect(type) %} {% if type.category == 'enum' -%} -{% if type.bitwidth == '64' %} +{% if type.alias -%} +{% if type.bitwidth == '64' -%} +typedef {{ type.alias }} {{ type.name }}; +{% else -%} +typedef enum {{ type.alias }} {{ type.name }}; +{% endif %} +{% elif type.bitwidth == '64' %} typedef uint64_t {{ type.name }}; {% for member in type.enums_for(feature_set) %} static const {{ member.parent_type }} {{ member.name }} = {{ enum_member(type, member) }}; @@ -57,8 +63,6 @@ typedef enum {{ type.name }} { {{ member.name }} = {{ enum_member(type, member) }}{{ ',' if not loop.last }} {% endfor %} } {{ type.name }}; -{% elif type.alias -%} -typedef enum {{ type.alias }} {{ type.name }}; {%- endif -%} {% endif -%} {% elif type.category in ('struct', 'union') -%} diff --git a/glad/parse.py b/glad/parse.py index f0c0a59a..c6523b56 100644 --- a/glad/parse.py +++ b/glad/parse.py @@ -911,6 +911,7 @@ def __init__(self, name, enums=None, bitwidth=None, **kwargs): self.enums = enums or [] self.bitwidth = bitwidth + @memoize(method=True) def enums_for(self, feature_set): relevant = set(feature_set.features) | set(feature_set.extensions) From 0148445ecc4d73e63bab01b2d1da1d218dad6a11 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Mon, 31 Jan 2022 17:22:36 +0100 Subject: [PATCH 055/138] files: updates to latest specifications closes: #355 --- glad/files/egl.xml | 16 +- glad/files/gl.xml | 8 +- glad/files/vk.xml | 2011 ++++++++++++++++++++++++-------------- glad/files/vk_platform.h | 2 +- 4 files changed, 1307 insertions(+), 730 deletions(-) diff --git a/glad/files/egl.xml b/glad/files/egl.xml index 1c181564..e41aee53 100644 --- a/glad/files/egl.xml +++ b/glad/files/egl.xml @@ -1055,6 +1055,14 @@ + + + + + + + + - - + + @@ -1995,8 +2003,8 @@ EGLDisplay dpy EGLStreamKHR stream EGLint num_modifiers - EGLuint64KHR *modifiers - EGLAttrib *attrib_list + const EGLuint64KHR *modifiers + const EGLAttrib *attrib_list EGLint eglQueryStreamConsumerEventNV diff --git a/glad/files/gl.xml b/glad/files/gl.xml index 60696d62..f4aa9486 100644 --- a/glad/files/gl.xml +++ b/glad/files/gl.xml @@ -6920,6 +6920,10 @@ typedef unsigned int GLhandleARB; + + + + - - + + diff --git a/glad/files/vk.xml b/glad/files/vk.xml index 6a8d05e9..9477feae 100644 --- a/glad/files/vk.xml +++ b/glad/files/vk.xml @@ -1,7 +1,7 @@ -Copyright 2015-2021 The Khronos Group Inc. +Copyright 2015-2022 The Khronos Group Inc. SPDX-License-Identifier: Apache-2.0 OR MIT @@ -154,10 +154,12 @@ branch of the member gitlab server. #define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0 // Vulkan 1.2 version number #define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0 + // Vulkan 1.3 version number +#define VK_API_VERSION_1_3 VK_MAKE_API_VERSION(0, 1, 3, 0)// Patch version should always be set to 0 // Version of this file -#define VK_HEADER_VERSION 203 +#define VK_HEADER_VERSION 204 // Complete version of this file -#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 2, VK_HEADER_VERSION) +#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object; @@ -294,11 +296,13 @@ typedef void CAMetalLayer; typedef VkFlags VkBuildAccelerationStructureFlagsKHR; - typedef VkFlags VkPrivateDataSlotCreateFlagsEXT; + typedef VkFlags VkPrivateDataSlotCreateFlags; + typedef VkFlags VkAccelerationStructureCreateFlagsKHR; typedef VkFlags VkDescriptorUpdateTemplateCreateFlags; - typedef VkFlags VkPipelineCreationFeedbackFlagsEXT; + typedef VkFlags VkPipelineCreationFeedbackFlags; + typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR; typedef VkFlags VkAcquireProfilingLockFlagsKHR; typedef VkFlags VkSemaphoreWaitFlags; @@ -306,12 +310,16 @@ typedef void CAMetalLayer; typedef VkFlags VkPipelineCompilerControlFlagsAMD; typedef VkFlags VkShaderCorePropertiesFlagsAMD; typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV; - typedef VkFlags64 VkAccessFlags2KHR; - typedef VkFlags64 VkPipelineStageFlags2KHR; - typedef VkFlags VkAccelerationStructureMotionInfoFlagsNV; - typedef VkFlags VkAccelerationStructureMotionInstanceFlagsNV; - typedef VkFlags64 VkFormatFeatureFlags2KHR; - typedef VkFlags VkRenderingFlagsKHR; + typedef VkFlags64 VkAccessFlags2; + + typedef VkFlags64 VkPipelineStageFlags2; + + typedef VkFlags VkAccelerationStructureMotionInfoFlagsNV; + typedef VkFlags VkAccelerationStructureMotionInstanceFlagsNV; + typedef VkFlags64 VkFormatFeatureFlags2; + + typedef VkFlags VkRenderingFlags; + WSI extensions typedef VkFlags VkCompositeAlphaFlagsKHR; @@ -382,10 +390,12 @@ typedef void CAMetalLayer; typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT; typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT; typedef VkFlags VkSwapchainImageUsageFlagsANDROID; - typedef VkFlags VkToolPurposeFlagsEXT; - typedef VkFlags VkSubmitFlagsKHR; + typedef VkFlags VkToolPurposeFlags; + + typedef VkFlags VkSubmitFlags; + typedef VkFlags VkImageFormatConstraintsFlagsFUCHSIA; - typedef VkFlags VkImageConstraintsInfoFlagsFUCHSIA; + typedef VkFlags VkImageConstraintsInfoFlagsFUCHSIA; Video Core extension typedef VkFlags VkVideoCodecOperationFlagsKHR; @@ -465,7 +475,8 @@ typedef void CAMetalLayer; VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferCollectionFUCHSIA) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlotEXT) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlot) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuModuleNVX) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuFunctionNVX) @@ -567,7 +578,8 @@ typedef void CAMetalLayer; - + + @@ -579,7 +591,8 @@ typedef void CAMetalLayer; - + + @@ -613,7 +626,8 @@ typedef void CAMetalLayer; - + + @@ -630,16 +644,21 @@ typedef void CAMetalLayer; - + + - - + + + + - - + + + + @@ -703,7 +722,8 @@ typedef void CAMetalLayer; - + + Enumerated types in the header, but not used by the API @@ -2066,7 +2086,7 @@ typedef void CAMetalLayer; const SECURITY_ATTRIBUTES* pAttributes DWORD dwAccess - + VkStructureType sType const void* pNext uint32_t acquireCount @@ -2082,21 +2102,24 @@ typedef void CAMetalLayer; void* pNext VkBool32 deviceGeneratedCommands - - VkStructureType sType + + VkStructureType sType const void* pNext uint32_t privateDataSlotRequestCount - - VkStructureType sType + + + VkStructureType sType const void* pNext - VkPrivateDataSlotCreateFlagsEXT flags + VkPrivateDataSlotCreateFlags flags - - VkStructureType sType + + + VkStructureType sType void* pNext VkBool32 privateData + VkStructureType sType void* pNext @@ -2429,7 +2452,7 @@ typedef void CAMetalLayer; VkDeviceMemory memory VkExternalMemoryHandleTypeFlagBits handleType - + VkStructureType sType const void* pNext uint32_t acquireCount @@ -2682,7 +2705,7 @@ typedef void CAMetalLayer; const VkRect2D* pSplitInstanceBindRegions - + VkStructureType sType const void* pNext uint32_t deviceMask @@ -2994,11 +3017,12 @@ typedef void CAMetalLayer; VkBuffer buffer - - VkStructureType sType + + VkStructureType sType const void* pNext const VkBufferCreateInfo* pCreateInfo + VkStructureType sType const void* pNext @@ -3011,12 +3035,13 @@ typedef void CAMetalLayer; VkImage image - - VkStructureType sType + + VkStructureType sType const void* pNext const VkImageCreateInfo* pCreateInfo VkImageAspectFlagBits planeAspect + VkStructureType sType void* pNext @@ -3233,14 +3258,15 @@ typedef void CAMetalLayer; VkBool32 dstPremultiplied VkBlendOverlapEXT blendOverlap - - VkStructureType sType - void* pNext + + VkStructureType sType + void* pNext VkBool32 inlineUniformBlock VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind - - VkStructureType sType + + + VkStructureType sType void* pNext uint32_t maxInlineUniformBlockSize uint32_t maxPerStageDescriptorInlineUniformBlocks @@ -3248,17 +3274,20 @@ typedef void CAMetalLayer; uint32_t maxDescriptorSetInlineUniformBlocks uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks - - VkStructureType sType - const void* pNext - uint32_t dataSize - const void* pData + + + VkStructureType sType + const void* pNext + uint32_t dataSize + const void* pData - - VkStructureType sType - const void* pNext - uint32_t maxInlineUniformBlockBindings + + + VkStructureType sType + const void* pNext + uint32_t maxInlineUniformBlockBindings + VkStructureType sType const void* pNext @@ -3294,16 +3323,18 @@ typedef void CAMetalLayer; VkDeviceSize maxMemoryAllocationSize - - VkStructureType sType + + VkStructureType sType void* pNext VkBool32 maintenance4 - - VkStructureType sType + + + VkStructureType sType void* pNext VkDeviceSize maxBufferSize + VkStructureType sType void* pNext @@ -3391,22 +3422,25 @@ typedef void CAMetalLayer; uint32_t numAvailableSgprs uint32_t computeWorkGroupSize[3] - - VkStructureType sType + + VkStructureType sType const void* pNext - VkQueueGlobalPriorityEXT globalPriority + VkQueueGlobalPriorityKHR globalPriority - - VkStructureType sType + + + VkStructureType sType void* pNext VkBool32 globalPriorityQuery - - VkStructureType sType + + + VkStructureType sType void* pNext uint32_t priorityCount - VkQueueGlobalPriorityEXT priorities[VK_MAX_GLOBAL_PRIORITY_SIZE_EXT] + VkQueueGlobalPriorityKHR priorities[VK_MAX_GLOBAL_PRIORITY_SIZE_KHR] + VkStructureType sType const void* pNext @@ -4466,11 +4500,12 @@ typedef void CAMetalLayer; const VkImageView* pAttachments - - VkStructureType sType - void* pNext + + VkStructureType sType + void* pNext VkBool32 textureCompressionASTC_HDR + VkStructureType sType void* pNext @@ -4517,17 +4552,19 @@ typedef void CAMetalLayer; const void* pNext GgpFrameToken frameToken - - VkPipelineCreationFeedbackFlagsEXT flags + + VkPipelineCreationFeedbackFlags flags uint64_t duration - - VkStructureType sType - const void* pNext - VkPipelineCreationFeedbackEXT* pPipelineCreationFeedbackOutput pipeline creation feedback. + + + VkStructureType sType + const void* pNext + VkPipelineCreationFeedback* pPipelineCreationFeedbackOutput pipeline creation feedback. uint32_t pipelineStageCreationFeedbackCount - VkPipelineCreationFeedbackEXT* pPipelineStageCreationFeedbacksOne entry for each shader stage specified in the parent Vk*PipelineCreateInfo struct + VkPipelineCreationFeedback* pPipelineStageCreationFeedbacksOne entry for each shader stage specified in the parent Vk*PipelineCreateInfo struct + VkStructureType sType void* pNext @@ -4591,7 +4628,7 @@ typedef void CAMetalLayer; VkAcquireProfilingLockFlagsKHR flagsAcquire profiling lock flags uint64_t timeout - + VkStructureType sType const void* pNext uint32_t counterPassIndexIndex for which counter pass to submit @@ -4770,43 +4807,48 @@ typedef void CAMetalLayer; size_t dataSize void* pData - - VkStructureType sType - void* pNext - VkBool32 shaderDemoteToHelperInvocation + + VkStructureType sType + void* pNext + VkBool32 shaderDemoteToHelperInvocation + VkStructureType sType void* pNext VkBool32 texelBufferAlignment - - VkStructureType sType + + VkStructureType sType void* pNext VkDeviceSize storageTexelBufferOffsetAlignmentBytes VkBool32 storageTexelBufferOffsetSingleTexelAlignment VkDeviceSize uniformTexelBufferOffsetAlignmentBytes VkBool32 uniformTexelBufferOffsetSingleTexelAlignment - - VkStructureType sType - void* pNext - VkBool32 subgroupSizeControl - VkBool32 computeFullSubgroups + + + VkStructureType sType + void* pNext + VkBool32 subgroupSizeControl + VkBool32 computeFullSubgroups - - VkStructureType sType + + + VkStructureType sType void* pNext uint32_t minSubgroupSizeThe minimum subgroup size supported by this device uint32_t maxSubgroupSizeThe maximum subgroup size supported by this device uint32_t maxComputeWorkgroupSubgroupsThe maximum number of subgroups supported in a workgroup - VkShaderStageFlags requiredSubgroupSizeStagesThe shader stages that support specifying a subgroup size + VkShaderStageFlags requiredSubgroupSizeStagesThe shader stages that support specifying a subgroup size - - VkStructureType sType - void* pNext + + + VkStructureType sType + void* pNext uint32_t requiredSubgroupSize + VkStructureType sType void* pNext @@ -4853,11 +4895,12 @@ typedef void CAMetalLayer; uint32_t lineStippleFactor uint16_t lineStipplePattern - - VkStructureType sType + + VkStructureType sType void* pNext - VkBool32 pipelineCreationCacheControl + VkBool32 pipelineCreationCacheControl + VkStructureTypesType void* pNext @@ -5000,6 +5043,74 @@ typedef void CAMetalLayer; uint64_t maxTimelineSemaphoreValueDifference VkSampleCountFlags framebufferIntegerColorSampleCounts + + VkStructureTypesType + void* pNext + VkBool32 robustImageAccess + VkBool32 inlineUniformBlock + VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind + VkBool32 pipelineCreationCacheControl + VkBool32 privateData + VkBool32 shaderDemoteToHelperInvocation + VkBool32 shaderTerminateInvocation + VkBool32 subgroupSizeControl + VkBool32 computeFullSubgroups + VkBool32 synchronization2 + VkBool32 textureCompressionASTC_HDR + VkBool32 shaderZeroInitializeWorkgroupMemory + VkBool32 dynamicRendering + VkBool32 shaderIntegerDotProduct + VkBool32 maintenance4 + + + VkStructureTypesType + void* pNext + uint32_t minSubgroupSizeThe minimum subgroup size supported by this device + uint32_t maxSubgroupSizeThe maximum subgroup size supported by this device + uint32_t maxComputeWorkgroupSubgroupsThe maximum number of subgroups supported in a workgroup + VkShaderStageFlags requiredSubgroupSizeStagesThe shader stages that support specifying a subgroup size + uint32_t maxInlineUniformBlockSize + uint32_t maxPerStageDescriptorInlineUniformBlocks + uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks + uint32_t maxDescriptorSetInlineUniformBlocks + uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks + uint32_t maxInlineUniformTotalSize + VkBool32 integerDotProduct8BitUnsignedAccelerated + VkBool32 integerDotProduct8BitSignedAccelerated + VkBool32 integerDotProduct8BitMixedSignednessAccelerated + VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated + VkBool32 integerDotProduct4x8BitPackedSignedAccelerated + VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated + VkBool32 integerDotProduct16BitUnsignedAccelerated + VkBool32 integerDotProduct16BitSignedAccelerated + VkBool32 integerDotProduct16BitMixedSignednessAccelerated + VkBool32 integerDotProduct32BitUnsignedAccelerated + VkBool32 integerDotProduct32BitSignedAccelerated + VkBool32 integerDotProduct32BitMixedSignednessAccelerated + VkBool32 integerDotProduct64BitUnsignedAccelerated + VkBool32 integerDotProduct64BitSignedAccelerated + VkBool32 integerDotProduct64BitMixedSignednessAccelerated + VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated + VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated + VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated + VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated + VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated + VkDeviceSize storageTexelBufferOffsetAlignmentBytes + VkBool32 storageTexelBufferOffsetSingleTexelAlignment + VkDeviceSize uniformTexelBufferOffsetAlignmentBytes + VkBool32 uniformTexelBufferOffsetSingleTexelAlignment + VkDeviceSize maxBufferSize + VkStructureType sType const void* pNext @@ -5010,15 +5121,16 @@ typedef void CAMetalLayer; void* pNext VkBool32 deviceCoherentMemory - - VkStructureType sType + + VkStructureType sType void* pNext - char name[VK_MAX_EXTENSION_NAME_SIZE] - char version[VK_MAX_EXTENSION_NAME_SIZE] - VkToolPurposeFlagsEXT purposes - char description[VK_MAX_DESCRIPTION_SIZE] - char layer[VK_MAX_EXTENSION_NAME_SIZE] + char name[VK_MAX_EXTENSION_NAME_SIZE] + char version[VK_MAX_EXTENSION_NAME_SIZE] + VkToolPurposeFlags purposes + char description[VK_MAX_DESCRIPTION_SIZE] + char layer[VK_MAX_EXTENSION_NAME_SIZE] + VkStructureType sType const void* pNext @@ -5224,11 +5336,12 @@ typedef void CAMetalLayer; const void* pNext VkDeviceDiagnosticsConfigFlagsNV flags - - VkStructureType sType + + VkStructureType sType void* pNext VkBool32 shaderZeroInitializeWorkgroupMemory + VkStructureType sType void* pNext @@ -5236,22 +5349,23 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext + void* pNext VkBool32 robustBufferAccess2 VkBool32 robustImageAccess2 VkBool32 nullDescriptor VkStructureType sType - void* pNext - VkDeviceSize robustStorageBufferAccessSizeAlignment - VkDeviceSize robustUniformBufferAccessSizeAlignment + void* pNext + VkDeviceSize robustStorageBufferAccessSizeAlignment + VkDeviceSize robustUniformBufferAccessSizeAlignment - - VkStructureType sType - void* pNext + + VkStructureType sType + void* pNext VkBool32 robustImageAccess + VkStructureType sType void* pNext @@ -5282,119 +5396,130 @@ typedef void CAMetalLayer; VkStructureType sType void* pNext - uint32_t minVertexInputBindingStrideAlignment + uint32_t minVertexInputBindingStrideAlignment VkStructureType sType - void* pNext + void* pNext VkBool32 formatA4R4G4B4 VkBool32 formatA4B4G4R4 VkStructureType sType - void* pNext + void* pNext VkBool32 subpassShading - - VkStructureType sType - const void* pNext - VkDeviceSize srcOffsetSpecified in bytes - VkDeviceSize dstOffsetSpecified in bytes + + VkStructureType sType + const void* pNext + VkDeviceSize srcOffsetSpecified in bytes + VkDeviceSize dstOffsetSpecified in bytes VkDeviceSize sizeSpecified in bytes - - VkStructureType sType - const void* pNext - VkImageSubresourceLayers srcSubresource - VkOffset3D srcOffsetSpecified in pixels for both compressed and uncompressed images - VkImageSubresourceLayers dstSubresource - VkOffset3D dstOffsetSpecified in pixels for both compressed and uncompressed images - VkExtent3D extentSpecified in pixels for both compressed and uncompressed images - - - VkStructureType sType - const void* pNext - VkImageSubresourceLayers srcSubresource - VkOffset3D srcOffsets[2]Specified in pixels for both compressed and uncompressed images - VkImageSubresourceLayers dstSubresource - VkOffset3D dstOffsets[2]Specified in pixels for both compressed and uncompressed images - - - VkStructureType sType - const void* pNext - VkDeviceSize bufferOffsetSpecified in bytes - uint32_t bufferRowLengthSpecified in texels - uint32_t bufferImageHeight - VkImageSubresourceLayers imageSubresource - VkOffset3D imageOffsetSpecified in pixels for both compressed and uncompressed images - VkExtent3D imageExtentSpecified in pixels for both compressed and uncompressed images - - - VkStructureType sType - const void* pNext - VkImageSubresourceLayers srcSubresource - VkOffset3D srcOffset - VkImageSubresourceLayers dstSubresource - VkOffset3D dstOffset - VkExtent3D extent - - - VkStructureType sType - const void* pNext - VkBuffer srcBuffer - VkBuffer dstBuffer - uint32_t regionCount - const VkBufferCopy2KHR* pRegions - - - VkStructureType sType - const void* pNext - VkImage srcImage - VkImageLayout srcImageLayout - VkImage dstImage - VkImageLayout dstImageLayout - uint32_t regionCount - const VkImageCopy2KHR* pRegions - - - VkStructureType sType - const void* pNext - VkImage srcImage - VkImageLayout srcImageLayout - VkImage dstImage - VkImageLayout dstImageLayout - uint32_t regionCount - const VkImageBlit2KHR* pRegions - VkFilter filter - - - VkStructureType sType - const void* pNext - VkBuffer srcBuffer - VkImage dstImage - VkImageLayout dstImageLayout - uint32_t regionCount - const VkBufferImageCopy2KHR* pRegions - - - VkStructureType sType - const void* pNext - VkImage srcImage - VkImageLayout srcImageLayout - VkBuffer dstBuffer - uint32_t regionCount - const VkBufferImageCopy2KHR* pRegions - - - VkStructureType sType - const void* pNext - VkImage srcImage - VkImageLayout srcImageLayout - VkImage dstImage - VkImageLayout dstImageLayout - uint32_t regionCount - const VkImageResolve2KHR* pRegions - + + + VkStructureType sType + const void* pNext + VkImageSubresourceLayers srcSubresource + VkOffset3D srcOffsetSpecified in pixels for both compressed and uncompressed images + VkImageSubresourceLayers dstSubresource + VkOffset3D dstOffsetSpecified in pixels for both compressed and uncompressed images + VkExtent3D extentSpecified in pixels for both compressed and uncompressed images + + + + VkStructureType sType + const void* pNext + VkImageSubresourceLayers srcSubresource + VkOffset3D srcOffsets[2]Specified in pixels for both compressed and uncompressed images + VkImageSubresourceLayers dstSubresource + VkOffset3D dstOffsets[2]Specified in pixels for both compressed and uncompressed images + + + + VkStructureType sType + const void* pNext + VkDeviceSize bufferOffsetSpecified in bytes + uint32_t bufferRowLengthSpecified in texels + uint32_t bufferImageHeight + VkImageSubresourceLayers imageSubresource + VkOffset3D imageOffsetSpecified in pixels for both compressed and uncompressed images + VkExtent3D imageExtentSpecified in pixels for both compressed and uncompressed images + + + + VkStructureType sType + const void* pNext + VkImageSubresourceLayers srcSubresource + VkOffset3D srcOffset + VkImageSubresourceLayers dstSubresource + VkOffset3D dstOffset + VkExtent3D extent + + + + VkStructureType sType + const void* pNext + VkBuffer srcBuffer + VkBuffer dstBuffer + uint32_t regionCount + const VkBufferCopy2* pRegions + + + + VkStructureType sType + const void* pNext + VkImage srcImage + VkImageLayout srcImageLayout + VkImage dstImage + VkImageLayout dstImageLayout + uint32_t regionCount + const VkImageCopy2* pRegions + + + + VkStructureType sType + const void* pNext + VkImage srcImage + VkImageLayout srcImageLayout + VkImage dstImage + VkImageLayout dstImageLayout + uint32_t regionCount + const VkImageBlit2* pRegions + VkFilter filter + + + + VkStructureType sType + const void* pNext + VkBuffer srcBuffer + VkImage dstImage + VkImageLayout dstImageLayout + uint32_t regionCount + const VkBufferImageCopy2* pRegions + + + + VkStructureType sType + const void* pNext + VkImage srcImage + VkImageLayout srcImageLayout + VkBuffer dstBuffer + uint32_t regionCount + const VkBufferImageCopy2* pRegions + + + + VkStructureType sType + const void* pNext + VkImage srcImage + VkImageLayout srcImageLayout + VkImage dstImage + VkImageLayout dstImageLayout + uint32_t regionCount + const VkImageResolve2* pRegions + + VkStructureType sType void* pNext @@ -5447,14 +5572,15 @@ typedef void CAMetalLayer; VkSampleCountFlags sampleCounts VkExtent2D fragmentSize - - VkStructureTypesType + + VkStructureTypesType void* pNext - VkBool32 shaderTerminateInvocation + VkBool32 shaderTerminateInvocation + VkStructureType sType - void* pNext + void* pNext VkBool32 fragmentShadingRateEnums VkBool32 supersampleFragmentShadingRates VkBool32 noInvocationFragmentShadingRates @@ -5540,93 +5666,101 @@ typedef void CAMetalLayer; uint32_t attachmentCount# of pAttachments const VkBool32* pColorWriteEnables - - VkStructureType sType - const void* pNext - VkPipelineStageFlags2KHR srcStageMask - VkAccessFlags2KHR srcAccessMask - VkPipelineStageFlags2KHR dstStageMask - VkAccessFlags2KHR dstAccessMask - - - VkStructureType sType - const void* pNext - VkPipelineStageFlags2KHR srcStageMask - VkAccessFlags2KHR srcAccessMask - VkPipelineStageFlags2KHR dstStageMask - VkAccessFlags2KHR dstAccessMask - VkImageLayout oldLayout - VkImageLayout newLayout - uint32_t srcQueueFamilyIndex - uint32_t dstQueueFamilyIndex - VkImage image - VkImageSubresourceRange subresourceRange - - - VkStructureType sType - const void* pNext - VkPipelineStageFlags2KHR srcStageMask - VkAccessFlags2KHR srcAccessMask - VkPipelineStageFlags2KHR dstStageMask - VkAccessFlags2KHR dstAccessMask - uint32_t srcQueueFamilyIndex - uint32_t dstQueueFamilyIndex - VkBuffer buffer - VkDeviceSize offset - VkDeviceSize size - - - VkStructureType sType - const void* pNext - VkDependencyFlags dependencyFlags - uint32_t memoryBarrierCount - const VkMemoryBarrier2KHR* pMemoryBarriers - uint32_t bufferMemoryBarrierCount - const VkBufferMemoryBarrier2KHR* pBufferMemoryBarriers - uint32_t imageMemoryBarrierCount - const VkImageMemoryBarrier2KHR* pImageMemoryBarriers - - - VkStructureType sType + + VkStructureType sType + const void* pNext + VkPipelineStageFlags2 srcStageMask + VkAccessFlags2 srcAccessMask + VkPipelineStageFlags2 dstStageMask + VkAccessFlags2 dstAccessMask + + + + VkStructureType sType + const void* pNext + VkPipelineStageFlags2 srcStageMask + VkAccessFlags2 srcAccessMask + VkPipelineStageFlags2 dstStageMask + VkAccessFlags2 dstAccessMask + VkImageLayout oldLayout + VkImageLayout newLayout + uint32_t srcQueueFamilyIndex + uint32_t dstQueueFamilyIndex + VkImage image + VkImageSubresourceRange subresourceRange + + + + VkStructureType sType + const void* pNext + VkPipelineStageFlags2 srcStageMask + VkAccessFlags2 srcAccessMask + VkPipelineStageFlags2 dstStageMask + VkAccessFlags2 dstAccessMask + uint32_t srcQueueFamilyIndex + uint32_t dstQueueFamilyIndex + VkBuffer buffer + VkDeviceSize offset + VkDeviceSize size + + + + VkStructureType sType + const void* pNext + VkDependencyFlags dependencyFlags + uint32_t memoryBarrierCount + const VkMemoryBarrier2* pMemoryBarriers + uint32_t bufferMemoryBarrierCount + const VkBufferMemoryBarrier2* pBufferMemoryBarriers + uint32_t imageMemoryBarrierCount + const VkImageMemoryBarrier2* pImageMemoryBarriers + + + + VkStructureType sType const void* pNext VkSemaphore semaphore uint64_t value - VkPipelineStageFlags2KHR stageMask + VkPipelineStageFlags2 stageMask uint32_t deviceIndex - - VkStructureType sType + + + VkStructureType sType const void* pNext VkCommandBuffer commandBuffer uint32_t deviceMask - - VkStructureType sType + + + VkStructureType sType const void* pNext - VkSubmitFlagsKHR flags + VkSubmitFlags flags uint32_t waitSemaphoreInfoCount - const VkSemaphoreSubmitInfoKHR* pWaitSemaphoreInfos + const VkSemaphoreSubmitInfo* pWaitSemaphoreInfos uint32_t commandBufferInfoCount - const VkCommandBufferSubmitInfoKHR* pCommandBufferInfos + const VkCommandBufferSubmitInfo* pCommandBufferInfos uint32_t signalSemaphoreInfoCount - const VkSemaphoreSubmitInfoKHR* pSignalSemaphoreInfos + const VkSemaphoreSubmitInfo* pSignalSemaphoreInfos + VkStructureType sType void* pNext - VkPipelineStageFlags2KHR checkpointExecutionStageMask + VkPipelineStageFlags2 checkpointExecutionStageMask VkStructureType sType void* pNext - VkPipelineStageFlags2KHR stage + VkPipelineStageFlags2 stage void* pCheckpointMarker - - VkStructureType sType + + VkStructureType sType void* pNext VkBool32 synchronization2 + VkStructureTypesType void* pNext @@ -6246,13 +6380,14 @@ typedef void CAMetalLayer; size_t extraCount const void* const * pExtras - - VkStructureType sType + + VkStructureType sType void* pNext VkBool32 shaderIntegerDotProduct - - VkStructureType sType + + + VkStructureType sType void* pNext VkBool32 integerDotProduct8BitUnsignedAccelerated VkBool32 integerDotProduct8BitSignedAccelerated @@ -6285,6 +6420,7 @@ typedef void CAMetalLayer; VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated + VkStructureType sType void* pNext @@ -6450,13 +6586,14 @@ typedef void CAMetalLayer; void* pNext VkBool32 formatRgba10x6WithoutYCbCrSampler - - VkStructureType sType + + VkStructureType sType void* pNext - VkFormatFeatureFlags2KHR linearTilingFeatures - VkFormatFeatureFlags2KHR optimalTilingFeatures - VkFormatFeatureFlags2KHR bufferFeatures + VkFormatFeatureFlags2 linearTilingFeatures + VkFormatFeatureFlags2 optimalTilingFeatures + VkFormatFeatureFlags2 bufferFeatures + VkStructureType sType void* pNext @@ -6466,22 +6603,22 @@ typedef void CAMetalLayer; uint64_t drmFormatModifier uint32_t drmFormatModifierPlaneCount - VkFormatFeatureFlags2KHR drmFormatModifierTilingFeatures + VkFormatFeatureFlags2 drmFormatModifierTilingFeatures VkStructureType sType void* pNext VkFormat format uint64_t externalFormat - VkFormatFeatureFlags2KHR formatFeatures + VkFormatFeatureFlags2 formatFeatures VkComponentMapping samplerYcbcrConversionComponents VkSamplerYcbcrModelConversion suggestedYcbcrModel VkSamplerYcbcrRange suggestedYcbcrRange VkChromaLocation suggestedXChromaOffset VkChromaLocation suggestedYChromaOffset - - VkStructureType sType + + VkStructureType sType const void* pNext uint32_t viewMask uint32_t colorAttachmentCount @@ -6489,20 +6626,22 @@ typedef void CAMetalLayer; VkFormat depthAttachmentFormat VkFormat stencilAttachmentFormat - - VkStructureType sType + + + VkStructureType sType const void* pNext - VkRenderingFlagsKHR flags + VkRenderingFlags flags VkRect2D renderArea uint32_t layerCount uint32_t viewMask uint32_t colorAttachmentCount - const VkRenderingAttachmentInfoKHR* pColorAttachments - const VkRenderingAttachmentInfoKHR* pDepthAttachment - const VkRenderingAttachmentInfoKHR* pStencilAttachment + const VkRenderingAttachmentInfo* pColorAttachments + const VkRenderingAttachmentInfo* pDepthAttachment + const VkRenderingAttachmentInfo* pStencilAttachment - - VkStructureType sType + + + VkStructureType sType const void* pNext VkImageView imageView VkImageLayout imageLayout @@ -6513,28 +6652,30 @@ typedef void CAMetalLayer; VkAttachmentStoreOp storeOp VkClearValue clearValue - + + VkStructureType sType const void* pNext VkImageView imageView VkImageLayout imageLayout VkExtent2D shadingRateAttachmentTexelSize - + VkStructureType sType const void* pNext VkImageView imageView VkImageLayout imageLayout - - VkStructureType sType + + VkStructureType sType void* pNext VkBool32 dynamicRendering - - VkStructureType sType + + + VkStructureType sType const void* pNext - VkRenderingFlagsKHR flags + VkRenderingFlags flags uint32_t viewMask uint32_t colorAttachmentCount const VkFormat* pColorAttachmentFormats @@ -6542,6 +6683,7 @@ typedef void CAMetalLayer; VkFormat stencilAttachmentFormat VkSampleCountFlagBits rasterizationSamples + VkStructureType sType const void* pNext @@ -6550,7 +6692,7 @@ typedef void CAMetalLayer; VkSampleCountFlagBits depthStencilAttachmentSamples - + VkStructureType sType const void* pNext VkBool32 perViewAttributes @@ -6610,7 +6752,8 @@ typedef void CAMetalLayer; - + + @@ -7540,7 +7683,7 @@ typedef void CAMetalLayer; - + @@ -7685,11 +7828,15 @@ typedef void CAMetalLayer; - - - - - + + + + + + + + + @@ -7750,6 +7897,7 @@ typedef void CAMetalLayer; + @@ -7878,10 +8026,13 @@ typedef void CAMetalLayer; - - - - + + + + + + + @@ -7970,12 +8121,17 @@ typedef void CAMetalLayer; - - - - - - + + + + + + + + + + + @@ -8002,61 +8158,109 @@ typedef void CAMetalLayer; - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + + + + + + + - - + + + @@ -8177,34 +8381,69 @@ typedef void CAMetalLayer; - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -8222,11 +8461,6 @@ typedef void CAMetalLayer; - - - - - @@ -10051,26 +10285,29 @@ typedef void CAMetalLayer; uint32_t* pSparseMemoryRequirementCount VkSparseImageMemoryRequirements2* pSparseMemoryRequirements + - void vkGetDeviceBufferMemoryRequirementsKHR + void vkGetDeviceBufferMemoryRequirements VkDevice device - const VkDeviceBufferMemoryRequirementsKHR* pInfo + const VkDeviceBufferMemoryRequirements* pInfo VkMemoryRequirements2* pMemoryRequirements + - void vkGetDeviceImageMemoryRequirementsKHR + void vkGetDeviceImageMemoryRequirements VkDevice device - const VkDeviceImageMemoryRequirementsKHR* pInfo + const VkDeviceImageMemoryRequirements* pInfo VkMemoryRequirements2* pMemoryRequirements + - void vkGetDeviceImageSparseMemoryRequirementsKHR + void vkGetDeviceImageSparseMemoryRequirements VkDevice device - const VkDeviceImageMemoryRequirementsKHR* pInfo + const VkDeviceImageMemoryRequirements* pInfo uint32_t* pSparseMemoryRequirementCount VkSparseImageMemoryRequirements2* pSparseMemoryRequirements - + VkResult vkCreateSamplerYcbcrConversion VkDevice device @@ -10855,11 +11092,12 @@ typedef void CAMetalLayer; uint16_t lineStipplePattern - VkResult vkGetPhysicalDeviceToolPropertiesEXT + VkResult vkGetPhysicalDeviceToolProperties VkPhysicalDevice physicalDevice uint32_t* pToolCount - VkPhysicalDeviceToolPropertiesEXT* pToolProperties + VkPhysicalDeviceToolProperties* pToolProperties + VkResult vkCreateAccelerationStructureKHR VkDevice device @@ -10924,34 +11162,39 @@ typedef void CAMetalLayer; VkDeferredOperationKHR operation - void vkCmdSetCullModeEXT + void vkCmdSetCullMode VkCommandBuffer commandBuffer VkCullModeFlags cullMode + - void vkCmdSetFrontFaceEXT + void vkCmdSetFrontFace VkCommandBuffer commandBuffer VkFrontFace frontFace + - void vkCmdSetPrimitiveTopologyEXT + void vkCmdSetPrimitiveTopology VkCommandBuffer commandBuffer VkPrimitiveTopology primitiveTopology + - void vkCmdSetViewportWithCountEXT + void vkCmdSetViewportWithCount VkCommandBuffer commandBuffer uint32_t viewportCount const VkViewport* pViewports + - void vkCmdSetScissorWithCountEXT + void vkCmdSetScissorWithCount VkCommandBuffer commandBuffer uint32_t scissorCount const VkRect2D* pScissors + - void vkCmdBindVertexBuffers2EXT + void vkCmdBindVertexBuffers2 VkCommandBuffer commandBuffer uint32_t firstBinding uint32_t bindingCount @@ -10960,33 +11203,39 @@ typedef void CAMetalLayer; const VkDeviceSize* pSizes const VkDeviceSize* pStrides + - void vkCmdSetDepthTestEnableEXT + void vkCmdSetDepthTestEnable VkCommandBuffer commandBuffer VkBool32 depthTestEnable + - void vkCmdSetDepthWriteEnableEXT + void vkCmdSetDepthWriteEnable VkCommandBuffer commandBuffer VkBool32 depthWriteEnable + - void vkCmdSetDepthCompareOpEXT + void vkCmdSetDepthCompareOp VkCommandBuffer commandBuffer VkCompareOp depthCompareOp + - void vkCmdSetDepthBoundsTestEnableEXT + void vkCmdSetDepthBoundsTestEnable VkCommandBuffer commandBuffer VkBool32 depthBoundsTestEnable + - void vkCmdSetStencilTestEnableEXT + void vkCmdSetStencilTestEnable VkCommandBuffer commandBuffer VkBool32 stencilTestEnable + - void vkCmdSetStencilOpEXT + void vkCmdSetStencilOp VkCommandBuffer commandBuffer VkStencilFaceFlags faceMask VkStencilOp failOp @@ -10994,90 +11243,104 @@ typedef void CAMetalLayer; VkStencilOp depthFailOp VkCompareOp compareOp + void vkCmdSetPatchControlPointsEXT VkCommandBuffer commandBuffer uint32_t patchControlPoints - void vkCmdSetRasterizerDiscardEnableEXT + void vkCmdSetRasterizerDiscardEnable VkCommandBuffer commandBuffer VkBool32 rasterizerDiscardEnable + - void vkCmdSetDepthBiasEnableEXT + void vkCmdSetDepthBiasEnable VkCommandBuffer commandBuffer VkBool32 depthBiasEnable + void vkCmdSetLogicOpEXT VkCommandBuffer commandBuffer VkLogicOp logicOp - void vkCmdSetPrimitiveRestartEnableEXT + void vkCmdSetPrimitiveRestartEnable VkCommandBuffer commandBuffer VkBool32 primitiveRestartEnable + - VkResult vkCreatePrivateDataSlotEXT + VkResult vkCreatePrivateDataSlot VkDevice device - const VkPrivateDataSlotCreateInfoEXT* pCreateInfo + const VkPrivateDataSlotCreateInfo* pCreateInfo const VkAllocationCallbacks* pAllocator - VkPrivateDataSlotEXT* pPrivateDataSlot + VkPrivateDataSlot* pPrivateDataSlot + - void vkDestroyPrivateDataSlotEXT + void vkDestroyPrivateDataSlot VkDevice device - VkPrivateDataSlotEXT privateDataSlot + VkPrivateDataSlot privateDataSlot const VkAllocationCallbacks* pAllocator + - VkResult vkSetPrivateDataEXT + VkResult vkSetPrivateData VkDevice device VkObjectType objectType uint64_t objectHandle - VkPrivateDataSlotEXT privateDataSlot + VkPrivateDataSlot privateDataSlot uint64_t data + - void vkGetPrivateDataEXT + void vkGetPrivateData VkDevice device VkObjectType objectType uint64_t objectHandle - VkPrivateDataSlotEXT privateDataSlot + VkPrivateDataSlot privateDataSlot uint64_t* pData + - void vkCmdCopyBuffer2KHR + void vkCmdCopyBuffer2 VkCommandBuffer commandBuffer - const VkCopyBufferInfo2KHR* pCopyBufferInfo + const VkCopyBufferInfo2* pCopyBufferInfo + - void vkCmdCopyImage2KHR + void vkCmdCopyImage2 VkCommandBuffer commandBuffer - const VkCopyImageInfo2KHR* pCopyImageInfo + const VkCopyImageInfo2* pCopyImageInfo + - void vkCmdBlitImage2KHR + void vkCmdBlitImage2 VkCommandBuffer commandBuffer - const VkBlitImageInfo2KHR* pBlitImageInfo + const VkBlitImageInfo2* pBlitImageInfo + - void vkCmdCopyBufferToImage2KHR + void vkCmdCopyBufferToImage2 VkCommandBuffer commandBuffer - const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo + const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo + - void vkCmdCopyImageToBuffer2KHR + void vkCmdCopyImageToBuffer2 VkCommandBuffer commandBuffer - const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo + const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo + - void vkCmdResolveImage2KHR + void vkCmdResolveImage2 VkCommandBuffer commandBuffer - const VkResolveImageInfo2KHR* pResolveImageInfo + const VkResolveImageInfo2* pResolveImageInfo + void vkCmdSetFragmentShadingRateKHR VkCommandBuffer commandBuffer @@ -11119,47 +11382,53 @@ typedef void CAMetalLayer; const VkBool32* pColorWriteEnables - void vkCmdSetEvent2KHR + void vkCmdSetEvent2 VkCommandBuffer commandBuffer VkEvent event - const VkDependencyInfoKHR* pDependencyInfo + const VkDependencyInfo* pDependencyInfo + - void vkCmdResetEvent2KHR + void vkCmdResetEvent2 VkCommandBuffer commandBuffer VkEvent event - VkPipelineStageFlags2KHR stageMask + VkPipelineStageFlags2 stageMask + - void vkCmdWaitEvents2KHR + void vkCmdWaitEvents2 VkCommandBuffer commandBuffer uint32_t eventCount const VkEvent* pEvents - const VkDependencyInfoKHR* pDependencyInfos + const VkDependencyInfo* pDependencyInfos + - void vkCmdPipelineBarrier2KHR + void vkCmdPipelineBarrier2 VkCommandBuffer commandBuffer - const VkDependencyInfoKHR* pDependencyInfo + const VkDependencyInfo* pDependencyInfo + - VkResult vkQueueSubmit2KHR + VkResult vkQueueSubmit2 VkQueue queue uint32_t submitCount - const VkSubmitInfo2KHR* pSubmits + const VkSubmitInfo2* pSubmits VkFence fence + - void vkCmdWriteTimestamp2KHR + void vkCmdWriteTimestamp2 VkCommandBuffer commandBuffer - VkPipelineStageFlags2KHR stage + VkPipelineStageFlags2 stage VkQueryPool queryPool uint32_t query + void vkCmdWriteBufferMarker2AMD VkCommandBuffer commandBuffer - VkPipelineStageFlags2KHR stage + VkPipelineStageFlags2 stage VkBuffer dstBuffer VkDeviceSize dstOffset uint32_t marker @@ -11343,14 +11612,16 @@ typedef void CAMetalLayer; VkBufferCollectionPropertiesFUCHSIA* pProperties - void vkCmdBeginRenderingKHR + void vkCmdBeginRendering VkCommandBuffer commandBuffer - const VkRenderingInfoKHR* pRenderingInfo + const VkRenderingInfo* pRenderingInfo + - void vkCmdEndRenderingKHR + void vkCmdEndRendering VkCommandBuffer commandBuffer + @@ -12387,6 +12658,268 @@ typedef void CAMetalLayer; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -12779,9 +13312,9 @@ typedef void CAMetalLayer; - - - + + + @@ -12800,8 +13333,8 @@ typedef void CAMetalLayer; - - + + @@ -13077,18 +13610,18 @@ typedef void CAMetalLayer; - + - - - - - - + + + + + + @@ -13098,19 +13631,19 @@ typedef void CAMetalLayer; - + - + - + - + - + @@ -13118,7 +13651,7 @@ typedef void CAMetalLayer; - + @@ -13376,26 +13909,26 @@ typedef void CAMetalLayer; - + - + - - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -14298,15 +14831,15 @@ typedef void CAMetalLayer; - + - - - - - + + + + + @@ -14554,7 +15087,7 @@ typedef void CAMetalLayer; - + @@ -15035,12 +15568,12 @@ typedef void CAMetalLayer; - + - - + + @@ -15170,10 +15703,19 @@ typedef void CAMetalLayer; - + - - + + + + + + + + + + + @@ -15206,11 +15748,11 @@ typedef void CAMetalLayer; - + - + - + @@ -15488,11 +16030,11 @@ typedef void CAMetalLayer; - + - + @@ -15534,7 +16076,7 @@ typedef void CAMetalLayer; - + @@ -15578,18 +16120,18 @@ typedef void CAMetalLayer; - + - - - - - - - - - - + + + + + + + + + + @@ -15617,7 +16159,7 @@ typedef void CAMetalLayer; - + @@ -15770,25 +16312,25 @@ typedef void CAMetalLayer; - + - + - + - + - - + + @@ -16015,24 +16557,24 @@ typedef void CAMetalLayer; - + - - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -16127,11 +16669,11 @@ typedef void CAMetalLayer; - + - + @@ -16199,23 +16741,23 @@ typedef void CAMetalLayer; - + - - + + - + - - - + + + @@ -16351,7 +16893,7 @@ typedef void CAMetalLayer; - + @@ -16367,14 +16909,14 @@ typedef void CAMetalLayer; - + - - - - + + + + @@ -16394,22 +16936,17 @@ typedef void CAMetalLayer; - + - - - + + + - - - - - + + + + + @@ -16426,9 +16963,9 @@ typedef void CAMetalLayer; - - - + + + @@ -16459,8 +16996,8 @@ typedef void CAMetalLayer; - - + + @@ -16479,7 +17016,7 @@ typedef void CAMetalLayer; - + @@ -16555,23 +17092,23 @@ typedef void CAMetalLayer; - + - - - - - - - - - - - - - + + + + + + + + + + + + + @@ -16595,52 +17132,52 @@ typedef void CAMetalLayer; - - - - + + + + - - + + - - - + + + - - + + - - + + - - - + + + - + - - - - + + + + - - + + - + - - + + @@ -16669,7 +17206,7 @@ typedef void CAMetalLayer; - + @@ -16727,11 +17264,11 @@ typedef void CAMetalLayer; - + - + - + @@ -16785,15 +17322,20 @@ typedef void CAMetalLayer; - + + + VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT and + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT + were not promoted to Vulkan 1.3. + - - - - + + + + @@ -16828,11 +17370,11 @@ typedef void CAMetalLayer; - + - + @@ -16844,21 +17386,21 @@ typedef void CAMetalLayer; - + - - - - - - - - - - - + + + + + + + + + + + @@ -16891,13 +17433,18 @@ typedef void CAMetalLayer; - + + + VkPhysicalDevice4444FormatsFeaturesEXT and + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT + were not promoted to Vulkan 1.3. + - - + + @@ -17048,11 +17595,11 @@ typedef void CAMetalLayer; - + - + @@ -17162,7 +17709,7 @@ typedef void CAMetalLayer; - + @@ -17176,9 +17723,9 @@ typedef void CAMetalLayer; - + - + @@ -17232,21 +17779,21 @@ typedef void CAMetalLayer; - + - - - - - - - - - + + + + + + + + + - + @@ -17313,8 +17860,8 @@ typedef void CAMetalLayer; - - + + @@ -17323,12 +17870,12 @@ typedef void CAMetalLayer; - + - - + + @@ -17418,7 +17965,7 @@ typedef void CAMetalLayer; - + @@ -17500,15 +18047,15 @@ typedef void CAMetalLayer; - + - - - - - - - + + + + + + + @@ -17624,13 +18171,13 @@ typedef void CAMetalLayer; - - - - + + + + - + @@ -17683,23 +18230,23 @@ typedef void CAMetalLayer; - - - - + + + + - - - - - - - - - + + + + + + + + + @@ -17763,6 +18310,12 @@ typedef void CAMetalLayer; + + + + + + @@ -19007,125 +19560,125 @@ typedef void CAMetalLayer; - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -19279,18 +19832,21 @@ typedef void CAMetalLayer; + + + @@ -19304,6 +19860,7 @@ typedef void CAMetalLayer; + @@ -19313,6 +19870,7 @@ typedef void CAMetalLayer; + @@ -19449,10 +20007,12 @@ typedef void CAMetalLayer; + + @@ -19720,6 +20280,7 @@ typedef void CAMetalLayer; + @@ -19737,15 +20298,19 @@ typedef void CAMetalLayer; + + + + diff --git a/glad/files/vk_platform.h b/glad/files/vk_platform.h index 5e1a95d0..3ff8c5d1 100644 --- a/glad/files/vk_platform.h +++ b/glad/files/vk_platform.h @@ -2,7 +2,7 @@ // File: vk_platform.h // /* -** Copyright 2014-2021 The Khronos Group Inc. +** Copyright 2014-2022 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ From 7a3c14c31df49b2f7f62e91d0ed4eb82379d7d6d Mon Sep 17 00:00:00 2001 From: David Herberth Date: Mon, 31 Jan 2022 17:47:25 +0100 Subject: [PATCH 056/138] rust: fixes aliases to empty enums --- glad/generator/rust/__init__.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/glad/generator/rust/__init__.py b/glad/generator/rust/__init__.py index c6bae03c..8e1f11f3 100644 --- a/glad/generator/rust/__init__.py +++ b/glad/generator/rust/__init__.py @@ -8,7 +8,7 @@ collect_alias_information, find_extensions_with_aliases ) -from glad.parse import ParsedType +from glad.parse import ParsedType, EnumType from glad.sink import LoggingSink @@ -224,3 +224,21 @@ def get_templates(self, spec, feature_set, config): ('impl.rs', 'glad-{}/src/{}.rs'.format(feature_set.name, spec.name)) ] + def modify_feature_set(self, spec, feature_set, config): + self._remove_empty_enums(feature_set) + + return feature_set + + def _remove_empty_enums(self, feature_set): + """ + There are some enums which are simply empty: + https://github.com/KhronosGroup/Vulkan-Docs/issues/1754 + they need to be removed, we need to also remove any type which is an alias to that empty enum. + """ + to_remove = set() + + for typ in (t for t in feature_set.types if isinstance(t, EnumType)): + if typ.alias is None and not typ.enums_for(feature_set): + to_remove.add(typ.name) + + feature_set.types = [t for t in feature_set.types if t.name not in to_remove and t.alias not in to_remove] From 056ad455f6597fabc70e4d96db746649918dd8c7 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Tue, 8 Mar 2022 18:29:14 +0100 Subject: [PATCH 057/138] c: stops referencing global enum variables by name gh: #358 --- glad/generator/c/__init__.py | 7 ++++--- glad/generator/c/templates/template_utils.h | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/glad/generator/c/__init__.py b/glad/generator/c/__init__.py index bffd4231..05a2c908 100644 --- a/glad/generator/c/__init__.py +++ b/glad/generator/c/__init__.py @@ -161,7 +161,7 @@ def c_commands(context, commands): @jinja2.contextfunction -def enum_member(context, type_, member): +def enum_member(context, type_, member, require_value=False): if member.alias is None: return member.value @@ -175,8 +175,9 @@ def is_enum_before(target, before): if enum.name == before: return False - if is_enum_before(member.alias, member.name): - return member.alias + if not require_value: + if is_enum_before(member.alias, member.name): + return member.alias # This is the part where the spec is annoying again # an enum that has been moved into core in a later version diff --git a/glad/generator/c/templates/template_utils.h b/glad/generator/c/templates/template_utils.h index e34d4a72..a23d09a8 100644 --- a/glad/generator/c/templates/template_utils.h +++ b/glad/generator/c/templates/template_utils.h @@ -54,7 +54,7 @@ typedef enum {{ type.alias }} {{ type.name }}; {% elif type.bitwidth == '64' %} typedef uint64_t {{ type.name }}; {% for member in type.enums_for(feature_set) %} -static const {{ member.parent_type }} {{ member.name }} = {{ enum_member(type, member) }}; +static const {{ member.parent_type }} {{ member.name }} = {{ enum_member(type, member, require_value=True) }}; {% endfor %} {% else %} {%- if type.enums_for(feature_set) -%} From e3c15735d9d352284c1aa3389dd67b9727bdaf18 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Thu, 31 Mar 2022 10:17:12 +0200 Subject: [PATCH 058/138] glad: fixes compatibility with jinja 3.1 closes: #361 --- glad/generator/c/__init__.py | 14 ++++++++------ glad/generator/util.py | 8 ++++++++ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/glad/generator/c/__init__.py b/glad/generator/c/__init__.py index 05a2c908..8d80cc7a 100644 --- a/glad/generator/c/__init__.py +++ b/glad/generator/c/__init__.py @@ -14,7 +14,9 @@ is_device_command, strip_specification_prefix, collect_alias_information, - find_extensions_with_aliases + find_extensions_with_aliases, + jinja2_contextfunction, + jinja2_contextfilter ) from glad.parse import Type, EnumType from glad.specification import VK, GL, WGL @@ -51,7 +53,7 @@ def param_names(params): return ', '.join(param.name for param in params) -@jinja2.contextfunction +@jinja2_contextfunction def loadable(context, extensions=None, api=None): spec = context['spec'] feature_set = context['feature_set'] @@ -105,7 +107,7 @@ def get_debug_impl(command, command_code_name=None): return DebugArguments(impl, func, pre_callback, post_callback, ret) -@jinja2.contextfilter +@jinja2_contextfilter def ctx(jinja_context, name, context='context', raw=False, name_only=False, member=False): options = jinja_context['options'] @@ -129,7 +131,7 @@ def ctx(jinja_context, name, context='context', raw=False, name_only=False, memb return prefix + name -@jinja2.contextfilter +@jinja2_contextfilter def pfn(context, value): spec = context['spec'] if spec.name in (VK.NAME,): @@ -137,7 +139,7 @@ def pfn(context, value): return 'PFN' + value.upper() + 'PROC' -@jinja2.contextfilter +@jinja2_contextfilter def c_commands(context, commands): """ The c in c_commands refers to the c file. @@ -160,7 +162,7 @@ def c_commands(context, commands): return [command for command in commands if not command in core] -@jinja2.contextfunction +@jinja2_contextfunction def enum_member(context, type_, member, require_value=False): if member.alias is None: return member.value diff --git a/glad/generator/util.py b/glad/generator/util.py index 41ae09e8..775fd49e 100644 --- a/glad/generator/util.py +++ b/glad/generator/util.py @@ -1,4 +1,12 @@ from collections import OrderedDict +import jinja2 + +if hasattr(jinja2, 'pass_context'): + jinja2_contextfunction = jinja2.pass_context + jinja2_contextfilter = jinja2.pass_context +else: + jinja2_contextfunction = jinja2.contextfunction + jinja2_contextfilter = jinja2.contextfilter def is_device_command(self): From cb8171c34dfd979cd4560e1d0185654268bb4bc5 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Thu, 31 Mar 2022 10:23:13 +0200 Subject: [PATCH 059/138] glad: bumps jinja2 version to range 2.7-3 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 9f6fa4b8..c9ae643a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1 @@ -Jinja2>=2.7,<3.0 +Jinja2>=2.7,<4.0 From 68c595d307697a60749a41425e64a1e2120b5716 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Thu, 31 Mar 2022 10:26:57 +0200 Subject: [PATCH 060/138] glad: actually fixes compatibility with jinja 3.1 gh: #361 --- glad/generator/c/__init__.py | 2 +- glad/generator/rust/__init__.py | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/glad/generator/c/__init__.py b/glad/generator/c/__init__.py index 8d80cc7a..c6d78de2 100644 --- a/glad/generator/c/__init__.py +++ b/glad/generator/c/__init__.py @@ -291,7 +291,7 @@ def __init__(self, *args, **kwargs): param_names=param_names, pfn=pfn, ctx=ctx, - no_prefix=jinja2.contextfilter(lambda ctx, value: strip_specification_prefix(value, ctx['spec'])), + no_prefix=jinja2_contextfilter(lambda ctx, value: strip_specification_prefix(value, ctx['spec'])), c_commands=c_commands ) diff --git a/glad/generator/rust/__init__.py b/glad/generator/rust/__init__.py index 8e1f11f3..a75efa47 100644 --- a/glad/generator/rust/__init__.py +++ b/glad/generator/rust/__init__.py @@ -6,7 +6,8 @@ from glad.generator.util import ( strip_specification_prefix, collect_alias_information, - find_extensions_with_aliases + find_extensions_with_aliases, + jinja2_contextfilter ) from glad.parse import ParsedType, EnumType from glad.sink import LoggingSink @@ -186,12 +187,12 @@ def __init__(self, *args, **kwargs): self.environment.filters.update( feature=lambda x: 'feature = "{}"'.format(x), - enum_type=jinja2.contextfilter(lambda ctx, enum: enum_type(enum, ctx['feature_set'])), - enum_value=jinja2.contextfilter(lambda ctx, enum: enum_value(enum, ctx['feature_set'])), + enum_type=jinja2_contextfilter(lambda ctx, enum: enum_type(enum, ctx['feature_set'])), + enum_value=jinja2_contextfilter(lambda ctx, enum: enum_value(enum, ctx['feature_set'])), type=to_rust_type, params=to_rust_params, identifier=identifier, - no_prefix=jinja2.contextfilter(lambda ctx, value: strip_specification_prefix(value, ctx['spec'])) + no_prefix=jinja2_contextfilter(lambda ctx, value: strip_specification_prefix(value, ctx['spec'])) ) @property From df20d05bae31d1ffd16838db093a8520e899988f Mon Sep 17 00:00:00 2001 From: David Herberth Date: Fri, 29 Apr 2022 09:14:12 +0200 Subject: [PATCH 061/138] c: implements _MAX_ENUM values closes: #350 --- glad/generator/c/templates/template_utils.h | 3 ++- glad/generator/util.py | 1 + glad/parse.py | 13 ++++++++++--- glad/util.py | 19 +++++++++++++++++++ test/c/compile/vulkan/default/006/test.c | 17 +++++++++++++++++ 5 files changed, 49 insertions(+), 4 deletions(-) create mode 100644 test/c/compile/vulkan/default/006/test.c diff --git a/glad/generator/c/templates/template_utils.h b/glad/generator/c/templates/template_utils.h index a23d09a8..d2396e62 100644 --- a/glad/generator/c/templates/template_utils.h +++ b/glad/generator/c/templates/template_utils.h @@ -60,8 +60,9 @@ static const {{ member.parent_type }} {{ member.name }} = {{ enum_member(type, m {%- if type.enums_for(feature_set) -%} typedef enum {{ type.name }} { {% for member in type.enums_for(feature_set) %} - {{ member.name }} = {{ enum_member(type, member) }}{{ ',' if not loop.last }} + {{ member.name }} = {{ enum_member(type, member) }}, {% endfor %} + {{ '{}_MAX_ENUM{}'.format(*type.expanded_name) }} = 0x7FFFFFFF } {{ type.name }}; {%- endif -%} {% endif -%} diff --git a/glad/generator/util.py b/glad/generator/util.py index 775fd49e..a56c7bf6 100644 --- a/glad/generator/util.py +++ b/glad/generator/util.py @@ -1,5 +1,6 @@ from collections import OrderedDict import jinja2 +import re if hasattr(jinja2, 'pass_context'): jinja2_contextfunction = jinja2.pass_context diff --git a/glad/parse.py b/glad/parse.py index c6523b56..8b1374f5 100644 --- a/glad/parse.py +++ b/glad/parse.py @@ -401,7 +401,6 @@ def enums(self): group = element.get('group') vendor = element.get('vendor') comment = element.get('comment', '') - bitwidth = element.get('bitwidth') for enum in element: if enum.tag in ('unused', 'comment'): @@ -410,7 +409,7 @@ def enums(self): name = enum.attrib['name'] enums.setdefault(name, []).append(Enum.from_element( - enum, namespace=namespace, parent_group=group, vendor=vendor, comment=comment, bitwidth=bitwidth + enum, namespace=namespace, parent_group=group, vendor=vendor, comment=comment )) # add enums added through a @@ -911,6 +910,10 @@ def __init__(self, name, enums=None, bitwidth=None, **kwargs): self.enums = enums or [] self.bitwidth = bitwidth + @property + def expanded_name(self): + return glad.util.expand_type_name(self.name) + @memoize(method=True) def enums_for(self, feature_set): relevant = set(feature_set.features) | set(feature_set.extensions) @@ -987,7 +990,7 @@ class Enum(IdentifiedByName): EXTENSION_NUMBER_OFFSET = -1 def __init__(self, name, value, bitpos, api, type_, - alias=None, bitwidth=None, namespace=None, group=None, parent_group=None, + alias=None, namespace=None, group=None, parent_group=None, vendor=None, comment='', parent_type=None, extended_by=None): """ :param name: name of the enum @@ -1025,6 +1028,10 @@ def __init__(self, name, value, bitpos, api, type_, self.extended_by = set(extended_by) if extended_by else set() + @property + def expanded_name(self): + return glad.util.expand_type_name(self.name) + def also_extended_by(self, name): self.extended_by.add(name) diff --git a/glad/util.py b/glad/util.py index cc040d12..99f543e2 100644 --- a/glad/util.py +++ b/glad/util.py @@ -10,6 +10,7 @@ Version = namedtuple('Version', ['major', 'minor']) +ExpandedName = namedtuple('ExpandedName', ['prefix', 'suffix']) _API_NAMES = { @@ -182,3 +183,21 @@ def itertext(element, ignore=()): if e.tail: yield e.tail + +def expand_type_name(name): + """ + Transforms a type name into its expanded version, e.g. + expands the type `VkShaderInfoTypeAMD` to the tuple `('VK_SHADER_INFO_TYPE', '_AMD')`. + + See: https://github.com/KhronosGroup/Vulkan-Docs/blob/main/scripts/generator.py#L60 buildEnumCDecl_Enum + """ + upper_name = re.sub(r'([0-9]+|[a-z_])([A-Z0-9])', r'\1_\2', name).upper() + (prefix, suffix) = (upper_name, '') + + suffix_match = re.search(r'[A-Z][A-Z]+$', name) + if suffix_match: + suffix = '_' + suffix_match.group() + # Strip off the suffix from the prefix + prefix = upper_name.rsplit(suffix, 1)[0] + + return ExpandedName(prefix, suffix) diff --git a/test/c/compile/vulkan/default/006/test.c b/test/c/compile/vulkan/default/006/test.c new file mode 100644 index 00000000..1a5f765e --- /dev/null +++ b/test/c/compile/vulkan/default/006/test.c @@ -0,0 +1,17 @@ +/* + * Issue #350, missing ENUM_MAX values + * + * GLAD: $GLAD --out-path=$tmp --api="vulkan=1.1" c + * COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/vulkan.c -ldl + * RUN: $tmp/test + */ + +#include + +int main(void) { + VkDeviceGroupPresentModeFlagBitsKHR a = VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR; + VkSubgroupFeatureFlagBits b = VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM; + (void) a; + (void) b; + return 0; +} From b1051403cf81b984f9fc11cc5916adb5afd34766 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Fri, 29 Apr 2022 09:51:33 +0200 Subject: [PATCH 062/138] c: fixes aliasing for egl, glx and wgl closes: #362 --- glad/generator/c/templates/egl.c | 4 ++++ glad/generator/c/templates/glx.c | 4 ++++ glad/generator/c/templates/wgl.c | 4 ++++ test/c/compile/egl/alias/001/test.c | 14 ++++++++++++++ test/c/compile/glx/alias/001/test.c | 14 ++++++++++++++ test/c/run/wgl/default/001/test.c | 2 +- 6 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 test/c/compile/egl/alias/001/test.c create mode 100644 test/c/compile/glx/alias/001/test.c diff --git a/glad/generator/c/templates/egl.c b/glad/generator/c/templates/egl.c index 529d600a..b75d6798 100644 --- a/glad/generator/c/templates/egl.c +++ b/glad/generator/c/templates/egl.c @@ -102,6 +102,10 @@ int gladLoad{{ api|api }}UserPtr(EGLDisplay display, GLADuserptrloadfunc load, v glad_egl_load_{{ extension.name }}(load, userptr); {% endfor %} +{% if options.alias %} + glad_egl_resolve_aliases(); +{% endif %} + return version; } diff --git a/glad/generator/c/templates/glx.c b/glad/generator/c/templates/glx.c index cccbc939..d40cdba3 100644 --- a/glad/generator/c/templates/glx.c +++ b/glad/generator/c/templates/glx.c @@ -88,6 +88,10 @@ int gladLoad{{ api|api }}UserPtr(Display *display, int screen, GLADuserptrloadfu glad_glx_load_{{ extension.name }}(load, userptr); {% endfor %} +{% if options.alias %} + glad_glx_resolve_aliases(); +{% endif %} + return version; } diff --git a/glad/generator/c/templates/wgl.c b/glad/generator/c/templates/wgl.c index 231bf928..190179f5 100644 --- a/glad/generator/c/templates/wgl.c +++ b/glad/generator/c/templates/wgl.c @@ -84,6 +84,10 @@ int gladLoad{{ api|api }}UserPtr(HDC hdc, GLADuserptrloadfunc load, void *userpt glad_wgl_load_{{ extension.name }}(load, userptr); {% endfor %} +{% if options.alias %} + glad_wgl_resolve_aliases(); +{% endif %} + return version; } diff --git a/test/c/compile/egl/alias/001/test.c b/test/c/compile/egl/alias/001/test.c new file mode 100644 index 00000000..df5da373 --- /dev/null +++ b/test/c/compile/egl/alias/001/test.c @@ -0,0 +1,14 @@ +/* + * Issue #362, aliasing func is not called. + * Note this does not actually verify the functions get properly initialized only that it compiles + * + * GLAD: $GLAD --out-path=$tmp --api="egl=" c --alias + * COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/egl.c -ldl + * RUN: $tmp/test + */ + +#include + +int main(void) { + return 0; +} diff --git a/test/c/compile/glx/alias/001/test.c b/test/c/compile/glx/alias/001/test.c new file mode 100644 index 00000000..4464aca4 --- /dev/null +++ b/test/c/compile/glx/alias/001/test.c @@ -0,0 +1,14 @@ +/* + * Issue #362, aliasing func is not called. + * Note this does not actually verify the functions get properly initialized only that it compiles + * + * GLAD: $GLAD --out-path=$tmp --api="glx,gl:core" c --alias + * COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/glx.c -ldl -lX11 + * RUN: $tmp/test + */ + +#include + +int main(void) { + return 0; +} diff --git a/test/c/run/wgl/default/001/test.c b/test/c/run/wgl/default/001/test.c index c9521d3b..ab03125e 100644 --- a/test/c/run/wgl/default/001/test.c +++ b/test/c/run/wgl/default/001/test.c @@ -1,7 +1,7 @@ /* * Full WGL, see examples/c/wgl.c for more information * - * GLAD: $GLAD --out-path=$tmp --api="wgl,gl:core" c --loader + * GLAD: $GLAD --out-path=$tmp --api="wgl,gl:core" c --loader --alias * COMPILE: $MINGW_GCC -Wno-pedantic $test -o $tmp/test.exe -I$tmp/include $tmp/src/wgl.c $tmp/src/gl.c -lgdi32 -lopengl32 * RUN: $WINE $tmp/test.exe */ From e0b64d99e75e814f481a0062d42a65e7fe9fdf5c Mon Sep 17 00:00:00 2001 From: Niklas Haas Date: Fri, 21 Oct 2022 15:50:09 +0200 Subject: [PATCH 063/138] c: store mx-global context as a pointer Instead of a separate struct that needs to be copied by-value. This will reduce the risk of accidentally ending up with an inconsistent context state. We still need a default context in the even that a user loads an `mx-global` context without ever supplying a custom struct, but this is easy enough to return in an ad-hoc fashion whenever `gladGet*Context` is called without a context otherwise being bound. (Incidentally, the way this logic is implemented also lets you recover the global context by explicitly calling `gladSet*Context(NULL)`) --- glad/generator/c/templates/base_template.c | 2 +- glad/generator/c/templates/base_template.h | 6 +++--- glad/generator/c/templates/gl.c | 7 +++++-- glad/generator/c/templates/vk.c | 7 +++++-- 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/glad/generator/c/templates/base_template.c b/glad/generator/c/templates/base_template.c index 640d183c..df04d193 100644 --- a/glad/generator/c/templates/base_template.c +++ b/glad/generator/c/templates/base_template.c @@ -20,7 +20,7 @@ extern "C" { {% block variables %} {% if options.mx_global %} -{% call template_utils.zero_initialized() %}Glad{{ feature_set.name|api }}Context {{ global_context }}{% endcall %} +Glad{{ feature_set.name|api }}Context* {{ global_context }}; {% endif %} {% endblock %} diff --git a/glad/generator/c/templates/base_template.h b/glad/generator/c/templates/base_template.h index 5a4d688d..7f9d0338 100644 --- a/glad/generator/c/templates/base_template.h +++ b/glad/generator/c/templates/base_template.h @@ -79,14 +79,14 @@ typedef struct Glad{{ feature_set.name|api }}Context { } Glad{{ feature_set.name|api }}Context; {% if options.mx_global %} -GLAD_API_CALL Glad{{ feature_set.name|api }}Context glad_{{ feature_set.name }}_context; +GLAD_API_CALL Glad{{ feature_set.name|api }}Context* glad_{{ feature_set.name }}_context; {% for extension in chain(feature_set.features, feature_set.extensions) %} -#define GLAD_{{ extension.name }} (glad_{{ feature_set.name }}_context.{{ extension.name|no_prefix }}) +#define GLAD_{{ extension.name }} (glad_{{ feature_set.name }}_context->{{ extension.name|no_prefix }}) {% endfor %} {% for command in feature_set.commands %} -#define {{ command.name }} (glad_{{ feature_set.name }}_context.{{ command.name|no_prefix }}) +#define {{ command.name }} (glad_{{ feature_set.name }}_context->{{ command.name|no_prefix }}) {% endfor %} {% endif %} diff --git a/glad/generator/c/templates/gl.c b/glad/generator/c/templates/gl.c index 9cf9bceb..cea5f5ff 100644 --- a/glad/generator/c/templates/gl.c +++ b/glad/generator/c/templates/gl.c @@ -230,11 +230,14 @@ int gladLoad{{ api|api }}(GLADloadfunc load) { {% if options.mx_global %} Glad{{ feature_set.name|api }}Context* gladGet{{ feature_set.name|api }}Context() { - return &{{ global_context }}; + static Glad{{ feature_set.name|api }}Context default_context; + if (!{{ global_context }}) + {{ global_context }} = &default_context; + return {{ global_context }}; } void gladSet{{ feature_set.name|api }}Context(Glad{{ feature_set.name|api }}Context *context) { - {{ global_context }} = *context; + {{ global_context }} = context; } {% endif %} diff --git a/glad/generator/c/templates/vk.c b/glad/generator/c/templates/vk.c index 822f2cc6..ccb2ead3 100644 --- a/glad/generator/c/templates/vk.c +++ b/glad/generator/c/templates/vk.c @@ -228,11 +228,14 @@ int gladLoad{{ api|api }}(VkPhysicalDevice physical_device, GLADloadfunc load) { {% if options.mx_global %} Glad{{ feature_set.name|api }}Context* gladGet{{ feature_set.name|api }}Context() { - return &{{ global_context }}; + static Glad{{ feature_set.name|api }}Context default_context; + if (!{{ global_context }}) + {{ global_context }} = &default_context; + return {{ global_context }}; } void gladSet{{ feature_set.name|api }}Context(Glad{{ feature_set.name|api }}Context *context) { - {{ global_context }} = *context; + {{ global_context }} = context; } {% endif %} From 24ddbba4e7b6b25c8815b1999ef2e8e649c5507d Mon Sep 17 00:00:00 2001 From: David Herberth Date: Fri, 21 Oct 2022 16:30:42 +0200 Subject: [PATCH 064/138] c: moves global static handle out of getter, initializes handle by default --- glad/generator/c/templates/base_template.c | 3 ++- glad/generator/c/templates/gl.c | 3 --- glad/generator/c/templates/vk.c | 3 --- 3 files changed, 2 insertions(+), 7 deletions(-) diff --git a/glad/generator/c/templates/base_template.c b/glad/generator/c/templates/base_template.c index df04d193..72d1c56c 100644 --- a/glad/generator/c/templates/base_template.c +++ b/glad/generator/c/templates/base_template.c @@ -20,7 +20,8 @@ extern "C" { {% block variables %} {% if options.mx_global %} -Glad{{ feature_set.name|api }}Context* {{ global_context }}; +{% call template_utils.zero_initialized() %}Glad{{ feature_set.name|api }}Context {{ global_context }}_static{% endcall %} +Glad{{ feature_set.name|api }}Context* {{ global_context }} = &{{ global_context }}_static; {% endif %} {% endblock %} diff --git a/glad/generator/c/templates/gl.c b/glad/generator/c/templates/gl.c index cea5f5ff..218cfd68 100644 --- a/glad/generator/c/templates/gl.c +++ b/glad/generator/c/templates/gl.c @@ -230,9 +230,6 @@ int gladLoad{{ api|api }}(GLADloadfunc load) { {% if options.mx_global %} Glad{{ feature_set.name|api }}Context* gladGet{{ feature_set.name|api }}Context() { - static Glad{{ feature_set.name|api }}Context default_context; - if (!{{ global_context }}) - {{ global_context }} = &default_context; return {{ global_context }}; } diff --git a/glad/generator/c/templates/vk.c b/glad/generator/c/templates/vk.c index ccb2ead3..54018f51 100644 --- a/glad/generator/c/templates/vk.c +++ b/glad/generator/c/templates/vk.c @@ -228,9 +228,6 @@ int gladLoad{{ api|api }}(VkPhysicalDevice physical_device, GLADloadfunc load) { {% if options.mx_global %} Glad{{ feature_set.name|api }}Context* gladGet{{ feature_set.name|api }}Context() { - static Glad{{ feature_set.name|api }}Context default_context; - if (!{{ global_context }}) - {{ global_context }} = &default_context; return {{ global_context }}; } From e4015c52a4417dbb541b674a6b49b79ba30fd27f Mon Sep 17 00:00:00 2001 From: Niklas Haas Date: Fri, 21 Oct 2022 17:32:23 +0200 Subject: [PATCH 065/138] c: store handles inside mx struct * test: 0-initialize context struct This bug flew under the radar because the struct does not actually need to be initialized so far, but adding handles here requires it. Update all of the tests, even the compile-only tests, for consistency reasons. (And to prevent copy/paste disasters in the future) * example: zero-initialize context structs See previous commit. * c: add handle field to mx context This can be used to store the handle when combining the internal loader with an MX context, in a way that doesn't require static global state. * c: store _gl_handle in mx context * c: store _gles2_handle in mx context * c: store _gles1_handle in mx context * c: store _vulkan_handle in mx context closes: #385 --- example/c++/hellowindow2_macro.cpp | 2 +- example/c++/hellowindow2_mx.cpp | 2 +- example/c++/multiwin_mx/multiwin_mx.cpp | 2 +- glad/generator/c/templates/base_template.h | 4 +++ glad/generator/c/templates/loader/gl.c | 26 ++++++++++--------- glad/generator/c/templates/loader/gl.h | 2 +- glad/generator/c/templates/loader/gles1.c | 26 ++++++++++--------- glad/generator/c/templates/loader/gles1.h | 2 +- glad/generator/c/templates/loader/gles2.c | 26 ++++++++++--------- glad/generator/c/templates/loader/gles2.h | 2 +- glad/generator/c/templates/loader/vulkan.c | 26 ++++++++++--------- glad/generator/c/templates/loader/vulkan.h | 2 +- glad/generator/c/templates/template_utils.h | 6 ++++- test/c/compile/gl/header-only+mx/001/test.c | 2 +- test/c/compile/gl/header-only+mx/002/test.c | 2 +- test/c/compile/gl/header-only+mx/003/test.c | 2 +- test/c/compile/gl/header-only+mx/004/test.c | 2 +- test/c/compile/gl/header-only+mx/005/test.c | 2 +- test/c/compile/gl/header-only+mx/006/test.c | 2 +- test/c/compile/gl/header-only+mx/007/test.c | 2 +- test/c/compile/gl/mx+mx-global/001/test.c | 2 +- test/c/compile/gl/mx+mx-global/002/test.c | 2 +- test/c/compile/gl/mx+mx-global/003/test.c | 2 +- test/c/compile/gl/mx+mx-global/004/test.c | 2 +- test/c/compile/gl/mx+mx-global/005/test.c | 2 +- test/c/compile/gl/mx+mx-global/006/test.c | 2 +- test/c/compile/gl/mx+mx-global/007/test.c | 2 +- .../compile/vulkan/header-only+mx/001/test.c | 2 +- .../compile/vulkan/header-only+mx/002/test.c | 2 +- test/c/compile/vulkan/mx+mx-global/001/test.c | 2 +- test/c/compile/vulkan/mx+mx-global/002/test.c | 2 +- test/c/run/gl/mx/001/test.c | 2 +- test/c/run/gl/mx/002/test.c | 2 +- test/c/run/gl/mx/003/test.c | 2 +- test/c/run/gl/mx/004/test.c | 2 +- 35 files changed, 94 insertions(+), 78 deletions(-) diff --git a/example/c++/hellowindow2_macro.cpp b/example/c++/hellowindow2_macro.cpp index 18971567..0d56808a 100644 --- a/example/c++/hellowindow2_macro.cpp +++ b/example/c++/hellowindow2_macro.cpp @@ -64,7 +64,7 @@ int main() #endif #ifdef GLAD_OPTION_GL_MX - GladGLContext context; + GladGLContext context = {}; #ifdef GLAD_OPTION_GL_LOADER int version = gladLoaderLoadGLContext(&context); #else diff --git a/example/c++/hellowindow2_mx.cpp b/example/c++/hellowindow2_mx.cpp index d0b96df8..bf4c86d3 100644 --- a/example/c++/hellowindow2_mx.cpp +++ b/example/c++/hellowindow2_mx.cpp @@ -48,7 +48,7 @@ int main() // Set the required callback functions glfwSetKeyCallback(window, key_callback); - GladGLContext context; + GladGLContext context = {}; int version = gladLoadGLContext(&context, glfwGetProcAddress); if (version == 0) { diff --git a/example/c++/multiwin_mx/multiwin_mx.cpp b/example/c++/multiwin_mx/multiwin_mx.cpp index 550b707e..5db6ad87 100644 --- a/example/c++/multiwin_mx/multiwin_mx.cpp +++ b/example/c++/multiwin_mx/multiwin_mx.cpp @@ -78,7 +78,7 @@ GLFWwindow* create_window(const char *name, int major, int minor) { GladGLContext* create_context(GLFWwindow *window) { glfwMakeContextCurrent(window); - GladGLContext* context = (GladGLContext*) malloc(sizeof(GladGLContext)); + GladGLContext* context = (GladGLContext*) calloc(1, sizeof(GladGLContext)); if (!context) return NULL; int version = gladLoadGLContext(context, glfwGetProcAddress); diff --git a/glad/generator/c/templates/base_template.h b/glad/generator/c/templates/base_template.h index 7f9d0338..4583ef7c 100644 --- a/glad/generator/c/templates/base_template.h +++ b/glad/generator/c/templates/base_template.h @@ -76,6 +76,10 @@ typedef struct Glad{{ feature_set.name|api }}Context { {{ command.name|pfn }} {{ command.name|ctx(member=True) }}; {% endcall %} {% endfor %} + +{% if options.loader %} + void* glad_loader_handle; +{% endif %} } Glad{{ feature_set.name|api }}Context; {% if options.mx_global %} diff --git a/glad/generator/c/templates/loader/gl.c b/glad/generator/c/templates/loader/gl.c index 52a98ad9..9da45e41 100644 --- a/glad/generator/c/templates/loader/gl.c +++ b/glad/generator/c/templates/loader/gl.c @@ -23,9 +23,11 @@ static GLADapiproc glad_gl_get_proc(void *vuserptr, const char *name) { return result; } -static void* _gl_handle = NULL; +{% if not options.mx %} +static void* {{ template_utils.handle() }} = NULL; +{% endif %} -static void* glad_gl_dlopen_handle(void) { +static void* glad_gl_dlopen_handle({{ template_utils.context_arg(def='void') }}) { #if GLAD_PLATFORM_APPLE static const char *NAMES[] = { "../Frameworks/OpenGL.framework/OpenGL", @@ -45,11 +47,11 @@ static void* glad_gl_dlopen_handle(void) { }; #endif - if (_gl_handle == NULL) { - _gl_handle = glad_get_dlopen_handle(NAMES, sizeof(NAMES) / sizeof(NAMES[0])); + if ({{ template_utils.handle() }} == NULL) { + {{ template_utils.handle() }} = glad_get_dlopen_handle(NAMES, sizeof(NAMES) / sizeof(NAMES[0])); } - return _gl_handle; + return {{ template_utils.handle() }}; } static struct _glad_gl_userptr glad_gl_build_userptr(void *handle) { @@ -76,15 +78,15 @@ int gladLoaderLoadGL{{ 'Context' if options.mx }}({{ template_utils.context_arg( int did_load = 0; struct _glad_gl_userptr userptr; - did_load = _gl_handle == NULL; - handle = glad_gl_dlopen_handle(); + did_load = {{ template_utils.handle() }} == NULL; + handle = glad_gl_dlopen_handle({{ 'context' if options.mx }}); if (handle) { userptr = glad_gl_build_userptr(handle); version = gladLoadGL{{ 'Context' if options.mx }}UserPtr({{ 'context,' if options.mx }}glad_gl_get_proc, &userptr); if (did_load) { - gladLoaderUnloadGL(); + gladLoaderUnloadGL{{ 'Context' if options.mx }}({{ 'context' if options.mx }}); } } @@ -109,10 +111,10 @@ int gladLoaderLoadGL(void) { } {% endif %} -void gladLoaderUnloadGL(void) { - if (_gl_handle != NULL) { - glad_close_dlopen_handle(_gl_handle); - _gl_handle = NULL; +void gladLoaderUnloadGL{{ 'Context' if options.mx }}({{ template_utils.context_arg(def='void') }}) { + if ({{ template_utils.handle() }} != NULL) { + glad_close_dlopen_handle({{ template_utils.handle() }}); + {{ template_utils.handle() }} = NULL; {% if options.on_demand %} glad_gl_internal_loader_global_userptr.handle = NULL; {% endif %} diff --git a/glad/generator/c/templates/loader/gl.h b/glad/generator/c/templates/loader/gl.h index d7f01735..5d9db059 100644 --- a/glad/generator/c/templates/loader/gl.h +++ b/glad/generator/c/templates/loader/gl.h @@ -7,6 +7,6 @@ GLAD_API_CALL int gladLoaderLoadGL{{ 'Context' if options.mx }}({{ template_util {% if options.mx_global %} GLAD_API_CALL int gladLoaderLoadGL(void); {% endif %} -GLAD_API_CALL void gladLoaderUnloadGL(void); +GLAD_API_CALL void gladLoaderUnloadGL{{ 'Context' if options.mx }}({{ template_utils.context_arg(def='void') }}); #endif diff --git a/glad/generator/c/templates/loader/gles1.c b/glad/generator/c/templates/loader/gles1.c index 2abd5f42..b6f8cf71 100644 --- a/glad/generator/c/templates/loader/gles1.c +++ b/glad/generator/c/templates/loader/gles1.c @@ -24,9 +24,11 @@ static GLADapiproc glad_gles1_get_proc(void *vuserptr, const char* name) { return result; } -static void* _gles1_handle = NULL; +{% if not options.mx %} +static void* {{ template_utils.handle() }} = NULL; +{% endif %} -static void* glad_gles1_dlopen_handle(void) { +static void* glad_gles1_dlopen_handle({{ template_utils.context_arg(def='void') }}) { #if GLAD_PLATFORM_APPLE static const char *NAMES[] = {"libGLESv1_CM.dylib"}; #elif GLAD_PLATFORM_WIN32 @@ -35,11 +37,11 @@ static void* glad_gles1_dlopen_handle(void) { static const char *NAMES[] = {"libGLESv1_CM.so.1", "libGLESv1_CM.so", "libGLES_CM.so.1"}; #endif - if (_gles1_handle == NULL) { - _gles1_handle = glad_get_dlopen_handle(NAMES, sizeof(NAMES) / sizeof(NAMES[0])); + if ({{ template_utils.handle() }} == NULL) { + {{ template_utils.handle() }} = glad_get_dlopen_handle(NAMES, sizeof(NAMES) / sizeof(NAMES[0])); } - return _gles1_handle; + return {{ template_utils.handle() }}; } static struct _glad_gles1_userptr glad_gles1_build_userptr(void *handle) { @@ -60,15 +62,15 @@ int gladLoaderLoadGLES1{{ 'Context' if options.mx }}({{ template_utils.context_a return 0; } - did_load = _gles1_handle == NULL; - handle = glad_gles1_dlopen_handle(); + did_load = {{ template_utils.handle() }} == NULL; + handle = glad_gles1_dlopen_handle({{ 'context' if options.mx }}); if (handle != NULL) { userptr = glad_gles1_build_userptr(handle); version = gladLoadGLES1{{ 'Context' if options.mx }}UserPtr({{ 'context, ' if options.mx }}glad_gles1_get_proc, &userptr); if (!version && did_load) { - gladLoaderUnloadGLES1(); + gladLoaderUnloadGLES1{{ 'Context' if options.mx }}({{ 'context' if options.mx }}); } } @@ -93,10 +95,10 @@ int gladLoaderLoadGLES1(void) { } {% endif %} -void gladLoaderUnloadGLES1(void) { - if (_gles1_handle != NULL) { - glad_close_dlopen_handle(_gles1_handle); - _gles1_handle = NULL; +void gladLoaderUnloadGLES1{{ 'Context' if options.mx }}({{ template_utils.context_arg(def='void') }}) { + if ({{ template_utils.handle() }} != NULL) { + glad_close_dlopen_handle({{ template_utils.handle() }}); + {{ template_utils.handle() }} = NULL; {% if options.on_demand %} glad_gles1_internal_loader_global_userptr.handle = NULL; {% endif %} diff --git a/glad/generator/c/templates/loader/gles1.h b/glad/generator/c/templates/loader/gles1.h index 2c0da482..46dfa75f 100644 --- a/glad/generator/c/templates/loader/gles1.h +++ b/glad/generator/c/templates/loader/gles1.h @@ -12,6 +12,6 @@ GLAD_API_CALL int gladLoaderLoadGLES1{{ 'Context' if options.mx }}({{ template_u {% if options.mx_global %} GLAD_API_CALL int gladLoaderLoadGLES1(void); {% endif %} -GLAD_API_CALL void gladLoaderUnloadGLES1(void); +GLAD_API_CALL void gladLoaderUnloadGLES1{{ 'Context' if options.mx }}({{ template_utils.context_arg(def='void') }}); #endif /* GLAD_GLES1 */ diff --git a/glad/generator/c/templates/loader/gles2.c b/glad/generator/c/templates/loader/gles2.c index cb545e83..996da543 100644 --- a/glad/generator/c/templates/loader/gles2.c +++ b/glad/generator/c/templates/loader/gles2.c @@ -32,9 +32,11 @@ static GLADapiproc glad_gles2_get_proc(void *vuserptr, const char* name) { return result; } -static void* _gles2_handle = NULL; +{% if not options.mx %} +static void* {{ template_utils.handle() }} = NULL; +{% endif %} -static void* glad_gles2_dlopen_handle(void) { +static void* glad_gles2_dlopen_handle({{ template_utils.context_arg(def='void') }}) { #if GLAD_PLATFORM_EMSCRIPTEN #elif GLAD_PLATFORM_APPLE static const char *NAMES[] = {"libGLESv2.dylib"}; @@ -47,11 +49,11 @@ static void* glad_gles2_dlopen_handle(void) { #if GLAD_PLATFORM_EMSCRIPTEN return NULL; #else - if (_gles2_handle == NULL) { - _gles2_handle = glad_get_dlopen_handle(NAMES, sizeof(NAMES) / sizeof(NAMES[0])); + if ({{ template_utils.handle() }} == NULL) { + {{ template_utils.handle() }} = glad_get_dlopen_handle(NAMES, sizeof(NAMES) / sizeof(NAMES[0])); } - return _gles2_handle; + return {{ template_utils.handle() }}; #endif } @@ -81,15 +83,15 @@ int gladLoaderLoadGLES2{{ 'Context' if options.mx }}({{ template_utils.context_a return 0; } - did_load = _gles2_handle == NULL; - handle = glad_gles2_dlopen_handle(); + did_load = {{ template_utils.handle() }} == NULL; + handle = glad_gles2_dlopen_handle({{ 'context' if options.mx }}); if (handle != NULL) { userptr = glad_gles2_build_userptr(handle); version = gladLoadGLES2{{ 'Context' if options.mx }}UserPtr({{ 'context, ' if options.mx }}glad_gles2_get_proc, &userptr); if (!version && did_load) { - gladLoaderUnloadGLES2(); + gladLoaderUnloadGLES2{{ 'Context' if options.mx }}({{ 'context' if options.mx }}); } } #endif @@ -115,10 +117,10 @@ int gladLoaderLoadGLES2(void) { } {% endif %} -void gladLoaderUnloadGLES2(void) { - if (_gles2_handle != NULL) { - glad_close_dlopen_handle(_gles2_handle); - _gles2_handle = NULL; +void gladLoaderUnloadGLES2{{ 'Context' if options.mx }}({{ template_utils.context_arg(def='void') }}) { + if ({{ template_utils.handle() }} != NULL) { + glad_close_dlopen_handle({{ template_utils.handle() }}); + {{ template_utils.handle() }} = NULL; {% if options.on_demand %} glad_gles2_internal_loader_global_userptr.get_proc_address_ptr = NULL; {% endif %} diff --git a/glad/generator/c/templates/loader/gles2.h b/glad/generator/c/templates/loader/gles2.h index cc509369..7e673982 100644 --- a/glad/generator/c/templates/loader/gles2.h +++ b/glad/generator/c/templates/loader/gles2.h @@ -12,7 +12,7 @@ GLAD_API_CALL int gladLoaderLoadGLES2{{ 'Context' if options.mx }}({{ template_u {% if options.mx_global %} GLAD_API_CALL int gladLoaderLoadGLES2(void); {% endif %} -GLAD_API_CALL void gladLoaderUnloadGLES2(void); +GLAD_API_CALL void gladLoaderUnloadGLES2{{ 'Context' if options.mx }}({{ template_utils.context_arg(def='void') }}); #endif /* GLAD_GLES2 */ diff --git a/glad/generator/c/templates/loader/vulkan.c b/glad/generator/c/templates/loader/vulkan.c index 62988a5e..caf2886c 100644 --- a/glad/generator/c/templates/loader/vulkan.c +++ b/glad/generator/c/templates/loader/vulkan.c @@ -56,9 +56,11 @@ static GLADapiproc glad_vulkan_get_proc(void *vuserptr, const char *name) { } -static void* _vulkan_handle; +{% if not options.mx %} +static void* {{ template_utils.handle() }} = NULL; +{% endif %} -static void* glad_vulkan_dlopen_handle(void) { +static void* glad_vulkan_dlopen_handle({{ template_utils.context_arg(def='void') }}) { static const char *NAMES[] = { #if GLAD_PLATFORM_APPLE "libvulkan.1.dylib", @@ -71,11 +73,11 @@ static void* glad_vulkan_dlopen_handle(void) { #endif }; - if (_vulkan_handle == NULL) { - _vulkan_handle = glad_get_dlopen_handle(NAMES, sizeof(NAMES) / sizeof(NAMES[0])); + if ({{ template_utils.handle() }} == NULL) { + {{ template_utils.handle() }} = glad_get_dlopen_handle(NAMES, sizeof(NAMES) / sizeof(NAMES[0])); } - return _vulkan_handle; + return {{ template_utils.handle() }}; } static struct _glad_vulkan_userptr glad_vulkan_build_userptr(void *handle, VkInstance instance, VkDevice device) { @@ -95,8 +97,8 @@ int gladLoaderLoadVulkan{{ 'Context' if options.mx }}({{ template_utils.context_ int did_load = 0; struct _glad_vulkan_userptr userptr; - did_load = _vulkan_handle == NULL; - handle = glad_vulkan_dlopen_handle(); + did_load = {{ template_utils.handle() }} == NULL; + handle = glad_vulkan_dlopen_handle({{ 'context' if options.mx }}); if (handle != NULL) { userptr = glad_vulkan_build_userptr(handle, instance, device); @@ -105,7 +107,7 @@ int gladLoaderLoadVulkan{{ 'Context' if options.mx }}({{ template_utils.context_ } if (!version && did_load) { - gladLoaderUnloadVulkan(); + gladLoaderUnloadVulkan{{ 'Context' if options.mx }}({{ 'context' if options.mx }}); } } @@ -139,10 +141,10 @@ int gladLoaderLoadVulkan(VkInstance instance, VkPhysicalDevice physical_device, } {% endif %} -void gladLoaderUnloadVulkan(void) { - if (_vulkan_handle != NULL) { - glad_close_dlopen_handle(_vulkan_handle); - _vulkan_handle = NULL; +void gladLoaderUnloadVulkan{{ 'Context' if options.mx }}({{ template_utils.context_arg(def='void') }}) { + if ({{ template_utils.handle() }} != NULL) { + glad_close_dlopen_handle({{ template_utils.handle() }}); + {{ template_utils.handle() }} = NULL; {% if options.on_demand %} glad_vulkan_internal_loader_global_userptr.vk_handle = NULL; {% endif %} diff --git a/glad/generator/c/templates/loader/vulkan.h b/glad/generator/c/templates/loader/vulkan.h index fadaeac7..4e3c99de 100644 --- a/glad/generator/c/templates/loader/vulkan.h +++ b/glad/generator/c/templates/loader/vulkan.h @@ -7,7 +7,7 @@ GLAD_API_CALL int gladLoaderLoadVulkan{{ 'Context' if options.mx }}({{ template_ {% if options.mx_global %} GLAD_API_CALL int gladLoaderLoadVulkan(VkInstance instance, VkPhysicalDevice physical_device, VkDevice device); {% endif %} -GLAD_API_CALL void gladLoaderUnloadVulkan(void); +GLAD_API_CALL void gladLoaderUnloadVulkan{{ 'Context' if options.mx }}({{ template_utils.context_arg(def='void') }}); {% if options.on_demand %} GLAD_API_CALL void gladLoaderSetVulkanInstance(VkInstance instance); diff --git a/glad/generator/c/templates/template_utils.h b/glad/generator/c/templates/template_utils.h index d2396e62..cc958644 100644 --- a/glad/generator/c/templates/template_utils.h +++ b/glad/generator/c/templates/template_utils.h @@ -10,6 +10,10 @@ {{ 'Glad' + feature_set.name|api + 'Context *context' + suffix if options.mx else def }} {%- endmacro %} +{% macro handle() -%} +{{ 'context->glad' if options.mx else '_glad_' + feature_set.name|api }}_loader_handle +{%- endmacro %} + {% macro protect(symbol) %} {% set protections = spec.protections(symbol, feature_set=feature_set) %} @@ -126,4 +130,4 @@ GLAD_API_CALL {{ command.name|pfn }} glad_debug_{{ command.name }}; #else {{ caller() }} = { 0 }; #endif -{% endmacro %} \ No newline at end of file +{% endmacro %} diff --git a/test/c/compile/gl/header-only+mx/001/test.c b/test/c/compile/gl/header-only+mx/001/test.c index 3972b564..02b2b120 100644 --- a/test/c/compile/gl/header-only+mx/001/test.c +++ b/test/c/compile/gl/header-only+mx/001/test.c @@ -10,7 +10,7 @@ #include int main(void) { - GladGLContext gl; + GladGLContext gl = {0}; (void) gladLoaderLoadGL(); (void) gladLoaderLoadGLContext(&gl); return 0; diff --git a/test/c/compile/gl/header-only+mx/002/test.c b/test/c/compile/gl/header-only+mx/002/test.c index 5619ea4e..ee2cf3de 100644 --- a/test/c/compile/gl/header-only+mx/002/test.c +++ b/test/c/compile/gl/header-only+mx/002/test.c @@ -10,7 +10,7 @@ #include int main(void) { - GladGLContext gl; + GladGLContext gl = {0}; (void) gladLoaderLoadGL(); (void) gladLoaderLoadGLContext(&gl); return 0; diff --git a/test/c/compile/gl/header-only+mx/003/test.c b/test/c/compile/gl/header-only+mx/003/test.c index 1ad0d9e1..f55e20b2 100644 --- a/test/c/compile/gl/header-only+mx/003/test.c +++ b/test/c/compile/gl/header-only+mx/003/test.c @@ -10,7 +10,7 @@ #include int main(void) { - GladGLContext gl; + GladGLContext gl = {0}; (void) gladLoaderLoadGL(); (void) gladLoaderLoadGLContext(&gl); return 0; diff --git a/test/c/compile/gl/header-only+mx/004/test.c b/test/c/compile/gl/header-only+mx/004/test.c index 1af88b71..a39c3648 100644 --- a/test/c/compile/gl/header-only+mx/004/test.c +++ b/test/c/compile/gl/header-only+mx/004/test.c @@ -10,7 +10,7 @@ #include int main(void) { - GladGLContext gl; + GladGLContext gl = {0}; (void) gladLoaderLoadGL(); (void) gladLoaderLoadGLContext(&gl); return 0; diff --git a/test/c/compile/gl/header-only+mx/005/test.c b/test/c/compile/gl/header-only+mx/005/test.c index 1161c01f..0eeaf3d2 100644 --- a/test/c/compile/gl/header-only+mx/005/test.c +++ b/test/c/compile/gl/header-only+mx/005/test.c @@ -10,7 +10,7 @@ #include int main(void) { - GladGLContext gl; + GladGLContext gl = {0}; (void) gladLoaderLoadGL(); (void) gladLoaderLoadGLContext(&gl); return 0; diff --git a/test/c/compile/gl/header-only+mx/006/test.c b/test/c/compile/gl/header-only+mx/006/test.c index 298845ec..8182d0b3 100644 --- a/test/c/compile/gl/header-only+mx/006/test.c +++ b/test/c/compile/gl/header-only+mx/006/test.c @@ -10,7 +10,7 @@ #include int main(void) { - GladGLContext gl; + GladGLContext gl = {0}; (void) gladLoaderLoadGL(); (void) gladLoaderLoadGLContext(&gl); return 0; diff --git a/test/c/compile/gl/header-only+mx/007/test.c b/test/c/compile/gl/header-only+mx/007/test.c index ea121d7c..25298c9b 100644 --- a/test/c/compile/gl/header-only+mx/007/test.c +++ b/test/c/compile/gl/header-only+mx/007/test.c @@ -23,7 +23,7 @@ VOID_FUNCPTR loader(const char *name) { } int main(void) { - GladGLContext gl; + GladGLContext gl = {0}; gladLoadGLContextUserPtr(&gl, loader_userptr, NULL); gladLoadGLContext(&gl, loader); diff --git a/test/c/compile/gl/mx+mx-global/001/test.c b/test/c/compile/gl/mx+mx-global/001/test.c index 5429cbd9..3f95ffc5 100644 --- a/test/c/compile/gl/mx+mx-global/001/test.c +++ b/test/c/compile/gl/mx+mx-global/001/test.c @@ -9,7 +9,7 @@ #include int main(void) { - GladGLContext gl; + GladGLContext gl = {0}; (void) gladLoaderLoadGL(); (void) gladLoaderLoadGLContext(&gl); return 0; diff --git a/test/c/compile/gl/mx+mx-global/002/test.c b/test/c/compile/gl/mx+mx-global/002/test.c index 9f7b3b4c..3eeeab6a 100644 --- a/test/c/compile/gl/mx+mx-global/002/test.c +++ b/test/c/compile/gl/mx+mx-global/002/test.c @@ -9,7 +9,7 @@ #include int main(void) { - GladGLContext gl; + GladGLContext gl = {0}; (void) gladLoaderLoadGL(); (void) gladLoaderLoadGLContext(&gl); return 0; diff --git a/test/c/compile/gl/mx+mx-global/003/test.c b/test/c/compile/gl/mx+mx-global/003/test.c index ed0a1971..e447678a 100644 --- a/test/c/compile/gl/mx+mx-global/003/test.c +++ b/test/c/compile/gl/mx+mx-global/003/test.c @@ -9,7 +9,7 @@ #include int main(void) { - GladGLContext gl; + GladGLContext gl = {0}; (void) gladLoaderLoadGL(); (void) gladLoaderLoadGLContext(&gl); return 0; diff --git a/test/c/compile/gl/mx+mx-global/004/test.c b/test/c/compile/gl/mx+mx-global/004/test.c index 89d34a37..d496d23a 100644 --- a/test/c/compile/gl/mx+mx-global/004/test.c +++ b/test/c/compile/gl/mx+mx-global/004/test.c @@ -9,7 +9,7 @@ #include int main(void) { - GladGLContext gl; + GladGLContext gl = {0}; (void) gladLoaderLoadGL(); (void) gladLoaderLoadGLContext(&gl); return 0; diff --git a/test/c/compile/gl/mx+mx-global/005/test.c b/test/c/compile/gl/mx+mx-global/005/test.c index ad221001..87a68037 100644 --- a/test/c/compile/gl/mx+mx-global/005/test.c +++ b/test/c/compile/gl/mx+mx-global/005/test.c @@ -9,7 +9,7 @@ #include int main(void) { - GladGLContext gl; + GladGLContext gl = {0}; (void) gladLoaderLoadGL(); (void) gladLoaderLoadGLContext(&gl); return 0; diff --git a/test/c/compile/gl/mx+mx-global/006/test.c b/test/c/compile/gl/mx+mx-global/006/test.c index 50317714..aedef2f1 100644 --- a/test/c/compile/gl/mx+mx-global/006/test.c +++ b/test/c/compile/gl/mx+mx-global/006/test.c @@ -9,7 +9,7 @@ #include int main(void) { - GladGLContext gl; + GladGLContext gl = {0}; (void) gladLoaderLoadGL(); (void) gladLoaderLoadGLContext(&gl); return 0; diff --git a/test/c/compile/gl/mx+mx-global/007/test.c b/test/c/compile/gl/mx+mx-global/007/test.c index 5e38e3c3..a4d18e32 100644 --- a/test/c/compile/gl/mx+mx-global/007/test.c +++ b/test/c/compile/gl/mx+mx-global/007/test.c @@ -23,7 +23,7 @@ VOID_FUNCPTR loader(const char *name) { } int main(void) { - GladGLContext gl; + GladGLContext gl = {0}; gladLoadGLContextUserPtr(&gl, loader_userptr, NULL); gladLoadGLContext(&gl, loader); diff --git a/test/c/compile/vulkan/header-only+mx/001/test.c b/test/c/compile/vulkan/header-only+mx/001/test.c index 8fc1b2ee..483655ce 100644 --- a/test/c/compile/vulkan/header-only+mx/001/test.c +++ b/test/c/compile/vulkan/header-only+mx/001/test.c @@ -14,7 +14,7 @@ VOID_FUNCPTR loader_userptr(void *userptr, const char *name) { (void) name; (voi VOID_FUNCPTR loader(const char *name) { (void) name; return NULL; } int main(void) { - GladVulkanContext context; + GladVulkanContext context = {0}; (void) gladLoadVulkanUserPtr(NULL, loader_userptr, NULL); (void) gladLoadVulkanContextUserPtr(&context, NULL, loader_userptr, NULL); (void) gladLoadVulkan(NULL, loader); diff --git a/test/c/compile/vulkan/header-only+mx/002/test.c b/test/c/compile/vulkan/header-only+mx/002/test.c index 33b4288a..368bf85c 100644 --- a/test/c/compile/vulkan/header-only+mx/002/test.c +++ b/test/c/compile/vulkan/header-only+mx/002/test.c @@ -14,7 +14,7 @@ VOID_FUNCPTR loader_userptr(void *userptr, const char *name) { (void) name; (voi VOID_FUNCPTR loader(const char *name) { (void) name; return NULL; } int main(void) { - GladVulkanContext context; + GladVulkanContext context = {0}; (void) gladLoadVulkanUserPtr(NULL, loader_userptr, NULL); (void) gladLoadVulkanContextUserPtr(&context, NULL, loader_userptr, NULL); (void) gladLoadVulkan(NULL, loader); diff --git a/test/c/compile/vulkan/mx+mx-global/001/test.c b/test/c/compile/vulkan/mx+mx-global/001/test.c index 4c9fb857..ecbac275 100644 --- a/test/c/compile/vulkan/mx+mx-global/001/test.c +++ b/test/c/compile/vulkan/mx+mx-global/001/test.c @@ -13,7 +13,7 @@ VOID_FUNCPTR loader_userptr(void *userptr, const char *name) { (void) name; (voi VOID_FUNCPTR loader(const char *name) { (void) name; return NULL; } int main(void) { - GladVulkanContext context; + GladVulkanContext context = {0}; (void) gladLoadVulkanUserPtr(NULL, loader_userptr, NULL); (void) gladLoadVulkanContextUserPtr(&context, NULL, loader_userptr, NULL); (void) gladLoadVulkan(NULL, loader); diff --git a/test/c/compile/vulkan/mx+mx-global/002/test.c b/test/c/compile/vulkan/mx+mx-global/002/test.c index 96574ad5..220b6af8 100644 --- a/test/c/compile/vulkan/mx+mx-global/002/test.c +++ b/test/c/compile/vulkan/mx+mx-global/002/test.c @@ -13,7 +13,7 @@ VOID_FUNCPTR loader_userptr(void *userptr, const char *name) { (void) name; (voi VOID_FUNCPTR loader(const char *name) { (void) name; return NULL; } int main(void) { - GladVulkanContext context; + GladVulkanContext context = {0}; (void) gladLoadVulkanUserPtr(NULL, loader_userptr, NULL); (void) gladLoadVulkanContextUserPtr(&context, NULL, loader_userptr, NULL); (void) gladLoadVulkan(NULL, loader); diff --git a/test/c/run/gl/mx/001/test.c b/test/c/run/gl/mx/001/test.c index b76fe990..8ca0677b 100644 --- a/test/c/run/gl/mx/001/test.c +++ b/test/c/run/gl/mx/001/test.c @@ -26,7 +26,7 @@ GLFWwindow* create_window(void) { } void run(GLFWwindow *window) { - GladGLContext context; + GladGLContext context = {0}; glfwMakeContextCurrent(window); diff --git a/test/c/run/gl/mx/002/test.c b/test/c/run/gl/mx/002/test.c index 0248984c..57b6a3d2 100644 --- a/test/c/run/gl/mx/002/test.c +++ b/test/c/run/gl/mx/002/test.c @@ -26,7 +26,7 @@ GLFWwindow* create_window(void) { } void run(GLFWwindow *window) { - GladGLContext context; + GladGLContext context = {0}; glfwMakeContextCurrent(window); diff --git a/test/c/run/gl/mx/003/test.c b/test/c/run/gl/mx/003/test.c index 1b95be0e..374f0339 100644 --- a/test/c/run/gl/mx/003/test.c +++ b/test/c/run/gl/mx/003/test.c @@ -28,7 +28,7 @@ GLFWwindow* create_window(void) { } void run(GLFWwindow *window) { - GladGLContext context; + GladGLContext context = {0}; context.userptr = (void*) &context; glfwMakeContextCurrent(window); diff --git a/test/c/run/gl/mx/004/test.c b/test/c/run/gl/mx/004/test.c index 957dda72..602543ca 100644 --- a/test/c/run/gl/mx/004/test.c +++ b/test/c/run/gl/mx/004/test.c @@ -28,7 +28,7 @@ GLFWwindow* create_window(void) { } void run(GLFWwindow *window) { - GladGLContext context; + GladGLContext context = {0}; context.userptr = (void*) &context; glfwMakeContextCurrent(window); From 41ab48e21ab873d3ab18efd8dc4d55bc73eae062 Mon Sep 17 00:00:00 2001 From: "Christopher W. Nicholson" Date: Tue, 31 May 2022 18:16:03 +0000 Subject: [PATCH 066/138] glad: expose Type's parent and Member's enum --- glad/parse.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/glad/parse.py b/glad/parse.py index 8b1374f5..930119f9 100644 --- a/glad/parse.py +++ b/glad/parse.py @@ -791,13 +791,14 @@ class Type(IdentifiedByName): def register(category, type_factory): Type._FACTORIES[category] = type_factory - def __init__(self, name, api=None, category=None, alias=None, requires=None, apientry=False, raw=None): + def __init__(self, name, api=None, category=None, alias=None, requires=None, parent=None, apientry=False, raw=None): self.name = name self.api = api self.category = category self.alias = alias self.requires = requires or [] + self.parent = parent self.apientry = apientry self._raw = raw @@ -819,6 +820,7 @@ def from_element(element): name = element.get('name') or element.find('name').text alias = element.get('alias') + parent = element.get('parent') # a type referenced by a struct/funcptr is required by this type requires = set(t.text for t in element.iter('type') if t is not element) @@ -831,6 +833,7 @@ def from_element(element): category=category, alias=alias, requires=requires, + parent=parent, apientry=apientry is not None, raw=raw ) @@ -969,15 +972,20 @@ class BitmaskType(TypedType): class Member(IdentifiedByName): - def __init__(self, name, type): + def __init__(self, name, type, enum=None): self.name = name self.type = type + if enum is not None: + self.enum = enum.text + else: + self.enum = None @classmethod def from_element(cls, element): type_ = ParsedType.from_element(element) + enum = element.find('enum') - return Member(type_.name, type_) + return Member(type_.name, type_, enum=enum) def __str__(self): return 'Member(name={self.name}, type={self.type})'.format(self=self) From c469e783941afd9ab0e8b9d988baf44e20dd5eb7 Mon Sep 17 00:00:00 2001 From: exhaust pipe inhaler Date: Fri, 10 Jun 2022 18:02:24 +0100 Subject: [PATCH 067/138] glad: add is_descendant method to Type --- glad/parse.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/glad/parse.py b/glad/parse.py index 930119f9..47c132fc 100644 --- a/glad/parse.py +++ b/glad/parse.py @@ -844,6 +844,17 @@ def from_element(element): def is_equivalent(self, other): return self._raw == other._raw + def is_descendant(self, basetype, typeslist): + if self.name == basetype: + return True + + cur = self + while cur.parent is not None: + if cur.parent == basetype: + return True + cur = typeslist[cur.parent][0] + return False; + def __str__(self): return self.name From cf4badba596a555ef92003dc2c0c5edfc5934b2a Mon Sep 17 00:00:00 2001 From: David Herberth Date: Fri, 21 Oct 2022 17:34:39 +0200 Subject: [PATCH 068/138] c: disables MX_GLOBAL --- glad/generator/c/__init__.py | 12 ++++++------ test/c/compile/gl/header-only+mx/001/test.c | 3 +-- test/c/compile/gl/header-only+mx/002/test.c | 3 +-- test/c/compile/gl/header-only+mx/003/test.c | 3 +-- test/c/compile/gl/header-only+mx/004/test.c | 3 +-- test/c/compile/gl/header-only+mx/005/test.c | 3 +-- test/c/compile/gl/header-only+mx/006/test.c | 3 +-- test/c/compile/gl/header-only+mx/007/test.c | 9 +-------- .../gl/mx+mx-global/001/{test.c => test_disabled.c} | 0 .../gl/mx+mx-global/002/{test.c => test_disabled.c} | 0 .../gl/mx+mx-global/003/{test.c => test_disabled.c} | 0 .../gl/mx+mx-global/004/{test.c => test_disabled.c} | 0 .../gl/mx+mx-global/005/{test.c => test_disabled.c} | 0 .../gl/mx+mx-global/006/{test.c => test_disabled.c} | 0 .../gl/mx+mx-global/007/{test.c => test_disabled.c} | 0 .../gl/mx+mx-global/008/{test.c => test_disabled.c} | 0 test/c/compile/vulkan/header-only+mx/001/test.c | 5 +---- test/c/compile/vulkan/header-only+mx/002/test.c | 5 +---- .../mx+mx-global/001/{test.c => test_disabled.c} | 0 .../mx+mx-global/002/{test.c => test_disabled.c} | 0 test/c/run/gl/mx/003/{test.c => test_disabled.c} | 0 test/c/run/gl/mx/004/{test.c => test_disabled.c} | 0 test/c/run/gl/mx/005/{test.c => test_disabled.c} | 0 test/c/run/gl/mx/006/{test.c => test_disabled.c} | 0 24 files changed, 15 insertions(+), 34 deletions(-) rename test/c/compile/gl/mx+mx-global/001/{test.c => test_disabled.c} (100%) rename test/c/compile/gl/mx+mx-global/002/{test.c => test_disabled.c} (100%) rename test/c/compile/gl/mx+mx-global/003/{test.c => test_disabled.c} (100%) rename test/c/compile/gl/mx+mx-global/004/{test.c => test_disabled.c} (100%) rename test/c/compile/gl/mx+mx-global/005/{test.c => test_disabled.c} (100%) rename test/c/compile/gl/mx+mx-global/006/{test.c => test_disabled.c} (100%) rename test/c/compile/gl/mx+mx-global/007/{test.c => test_disabled.c} (100%) rename test/c/compile/gl/mx+mx-global/008/{test.c => test_disabled.c} (100%) rename test/c/compile/vulkan/mx+mx-global/001/{test.c => test_disabled.c} (100%) rename test/c/compile/vulkan/mx+mx-global/002/{test.c => test_disabled.c} (100%) rename test/c/run/gl/mx/003/{test.c => test_disabled.c} (100%) rename test/c/run/gl/mx/004/{test.c => test_disabled.c} (100%) rename test/c/run/gl/mx/005/{test.c => test_disabled.c} (100%) rename test/c/run/gl/mx/006/{test.c => test_disabled.c} (100%) diff --git a/glad/generator/c/__init__.py b/glad/generator/c/__init__.py index c6d78de2..16ab283e 100644 --- a/glad/generator/c/__init__.py +++ b/glad/generator/c/__init__.py @@ -219,11 +219,11 @@ class CConfig(Config): default=False, description='Enables support for multiple GL contexts' ) - MX_GLOBAL = ConfigOption( - converter=bool, - default=False, - description='Mimic global GL functions with context switching' - ) + # MX_GLOBAL = ConfigOption( + # converter=bool, + # default=False, + # description='Mimic global GL functions with context switching' + # ) HEADER_ONLY = ConfigOption( converter=bool, default=False, @@ -241,7 +241,7 @@ class CConfig(Config): ) __constraints__ = [ - RequirementConstraint(['MX_GLOBAL'], 'MX'), + # RequirementConstraint(['MX_GLOBAL'], 'MX'), UnsupportedConstraint(['MX'], 'DEBUG'), # RequirementConstraint(['MX', 'DEBUG'], 'MX_GLOBAL') UnsupportedConstraint(['MX'], 'ON_DEMAND') diff --git a/test/c/compile/gl/header-only+mx/001/test.c b/test/c/compile/gl/header-only+mx/001/test.c index 02b2b120..f2a85da4 100644 --- a/test/c/compile/gl/header-only+mx/001/test.c +++ b/test/c/compile/gl/header-only+mx/001/test.c @@ -1,7 +1,7 @@ /* * Full compatibility GL MX header only * - * GLAD: $GLAD --out-path=$tmp --api="gl:compatibility" c --loader --mx --mx-global --header-only + * GLAD: $GLAD --out-path=$tmp --api="gl:compatibility" c --loader --mx --header-only * COMPILE: $GCC $test -o $tmp/test -I$tmp/include -ldl * RUN: $tmp/test */ @@ -11,7 +11,6 @@ int main(void) { GladGLContext gl = {0}; - (void) gladLoaderLoadGL(); (void) gladLoaderLoadGLContext(&gl); return 0; } diff --git a/test/c/compile/gl/header-only+mx/002/test.c b/test/c/compile/gl/header-only+mx/002/test.c index ee2cf3de..5cffec63 100644 --- a/test/c/compile/gl/header-only+mx/002/test.c +++ b/test/c/compile/gl/header-only+mx/002/test.c @@ -1,7 +1,7 @@ /* * Full core GL MX header only * - * GLAD: $GLAD --out-path=$tmp --api="gl:core" c --loader --mx --mx-global --header-only + * GLAD: $GLAD --out-path=$tmp --api="gl:core" c --loader --mx --header-only * COMPILE: $GCC $test -o $tmp/test -I$tmp/include -ldl * RUN: $tmp/test */ @@ -11,7 +11,6 @@ int main(void) { GladGLContext gl = {0}; - (void) gladLoaderLoadGL(); (void) gladLoaderLoadGLContext(&gl); return 0; } diff --git a/test/c/compile/gl/header-only+mx/003/test.c b/test/c/compile/gl/header-only+mx/003/test.c index f55e20b2..b4b1cd8d 100644 --- a/test/c/compile/gl/header-only+mx/003/test.c +++ b/test/c/compile/gl/header-only+mx/003/test.c @@ -1,7 +1,7 @@ /* * No extensions compatibility GL MX header only * - * GLAD: $GLAD --out-path=$tmp --api="gl:compatibility" --extensions="" c --loader --mx --mx-global --header-only + * GLAD: $GLAD --out-path=$tmp --api="gl:compatibility" --extensions="" c --loader --mx --header-only * COMPILE: $GCC $test -o $tmp/test -I$tmp/include -ldl * RUN: $tmp/test */ @@ -11,7 +11,6 @@ int main(void) { GladGLContext gl = {0}; - (void) gladLoaderLoadGL(); (void) gladLoaderLoadGLContext(&gl); return 0; } diff --git a/test/c/compile/gl/header-only+mx/004/test.c b/test/c/compile/gl/header-only+mx/004/test.c index a39c3648..f9d77cce 100644 --- a/test/c/compile/gl/header-only+mx/004/test.c +++ b/test/c/compile/gl/header-only+mx/004/test.c @@ -1,7 +1,7 @@ /* * No extensions core GL MX header only * - * GLAD: $GLAD --out-path=$tmp --api="gl:core" --extensions="" c --loader --mx --mx-global --header-only + * GLAD: $GLAD --out-path=$tmp --api="gl:core" --extensions="" c --loader --mx --header-only * COMPILE: $GCC $test -o $tmp/test -I$tmp/include -ldl * RUN: $tmp/test */ @@ -11,7 +11,6 @@ int main(void) { GladGLContext gl = {0}; - (void) gladLoaderLoadGL(); (void) gladLoaderLoadGLContext(&gl); return 0; } diff --git a/test/c/compile/gl/header-only+mx/005/test.c b/test/c/compile/gl/header-only+mx/005/test.c index 0eeaf3d2..c97de05c 100644 --- a/test/c/compile/gl/header-only+mx/005/test.c +++ b/test/c/compile/gl/header-only+mx/005/test.c @@ -1,7 +1,7 @@ /* * MX header only GL 2.1 All extensions * - * GLAD: $GLAD --out-path=$tmp --api="gl:compatibility=2.1" c --loader --mx --mx-global --header-only + * GLAD: $GLAD --out-path=$tmp --api="gl:compatibility=2.1" c --loader --mx --header-only * COMPILE: $GCC $test -o $tmp/test -I$tmp/include -ldl * RUN: $tmp/test */ @@ -11,7 +11,6 @@ int main(void) { GladGLContext gl = {0}; - (void) gladLoaderLoadGL(); (void) gladLoaderLoadGLContext(&gl); return 0; } diff --git a/test/c/compile/gl/header-only+mx/006/test.c b/test/c/compile/gl/header-only+mx/006/test.c index 8182d0b3..23280b12 100644 --- a/test/c/compile/gl/header-only+mx/006/test.c +++ b/test/c/compile/gl/header-only+mx/006/test.c @@ -1,7 +1,7 @@ /* * MX header only GL 2.1 No extensions * - * GLAD: $GLAD --out-path=$tmp --api="gl:compatibility=2.1" --extensions="" c --loader --mx --mx-global --header-only + * GLAD: $GLAD --out-path=$tmp --api="gl:compatibility=2.1" --extensions="" c --loader --mx --header-only * COMPILE: $GCC $test -o $tmp/test -I$tmp/include -ldl * RUN: $tmp/test */ @@ -11,7 +11,6 @@ int main(void) { GladGLContext gl = {0}; - (void) gladLoaderLoadGL(); (void) gladLoaderLoadGLContext(&gl); return 0; } diff --git a/test/c/compile/gl/header-only+mx/007/test.c b/test/c/compile/gl/header-only+mx/007/test.c index 25298c9b..f7c60998 100644 --- a/test/c/compile/gl/header-only+mx/007/test.c +++ b/test/c/compile/gl/header-only+mx/007/test.c @@ -1,7 +1,7 @@ /* * MX header only, global generation, should compile basic API * - * GLAD: $GLAD --out-path=$tmp --api="gl:compatibility" c --loader --mx --mx-global --header-only + * GLAD: $GLAD --out-path=$tmp --api="gl:compatibility" c --loader --mx --header-only * COMPILE: $GCC $test -o $tmp/test -I$tmp/include -ldl * RUN: $tmp/test */ @@ -26,14 +26,7 @@ int main(void) { GladGLContext gl = {0}; gladLoadGLContextUserPtr(&gl, loader_userptr, NULL); - gladLoadGLContext(&gl, loader); gladLoaderLoadGLContext(&gl); - gladLoadGLUserPtr(loader_userptr, NULL); - gladLoadGL(loader); - gladLoaderLoadGL(); - - gladSetGLContext(&gl); - (void) gladGetGLContext(); return 0; } diff --git a/test/c/compile/gl/mx+mx-global/001/test.c b/test/c/compile/gl/mx+mx-global/001/test_disabled.c similarity index 100% rename from test/c/compile/gl/mx+mx-global/001/test.c rename to test/c/compile/gl/mx+mx-global/001/test_disabled.c diff --git a/test/c/compile/gl/mx+mx-global/002/test.c b/test/c/compile/gl/mx+mx-global/002/test_disabled.c similarity index 100% rename from test/c/compile/gl/mx+mx-global/002/test.c rename to test/c/compile/gl/mx+mx-global/002/test_disabled.c diff --git a/test/c/compile/gl/mx+mx-global/003/test.c b/test/c/compile/gl/mx+mx-global/003/test_disabled.c similarity index 100% rename from test/c/compile/gl/mx+mx-global/003/test.c rename to test/c/compile/gl/mx+mx-global/003/test_disabled.c diff --git a/test/c/compile/gl/mx+mx-global/004/test.c b/test/c/compile/gl/mx+mx-global/004/test_disabled.c similarity index 100% rename from test/c/compile/gl/mx+mx-global/004/test.c rename to test/c/compile/gl/mx+mx-global/004/test_disabled.c diff --git a/test/c/compile/gl/mx+mx-global/005/test.c b/test/c/compile/gl/mx+mx-global/005/test_disabled.c similarity index 100% rename from test/c/compile/gl/mx+mx-global/005/test.c rename to test/c/compile/gl/mx+mx-global/005/test_disabled.c diff --git a/test/c/compile/gl/mx+mx-global/006/test.c b/test/c/compile/gl/mx+mx-global/006/test_disabled.c similarity index 100% rename from test/c/compile/gl/mx+mx-global/006/test.c rename to test/c/compile/gl/mx+mx-global/006/test_disabled.c diff --git a/test/c/compile/gl/mx+mx-global/007/test.c b/test/c/compile/gl/mx+mx-global/007/test_disabled.c similarity index 100% rename from test/c/compile/gl/mx+mx-global/007/test.c rename to test/c/compile/gl/mx+mx-global/007/test_disabled.c diff --git a/test/c/compile/gl/mx+mx-global/008/test.c b/test/c/compile/gl/mx+mx-global/008/test_disabled.c similarity index 100% rename from test/c/compile/gl/mx+mx-global/008/test.c rename to test/c/compile/gl/mx+mx-global/008/test_disabled.c diff --git a/test/c/compile/vulkan/header-only+mx/001/test.c b/test/c/compile/vulkan/header-only+mx/001/test.c index 483655ce..daf922ed 100644 --- a/test/c/compile/vulkan/header-only+mx/001/test.c +++ b/test/c/compile/vulkan/header-only+mx/001/test.c @@ -1,7 +1,7 @@ /* * Full vulkan, header only, mx * - * GLAD: $GLAD --out-path=$tmp --api="vulkan" c --loader --header-only --mx --mx-global + * GLAD: $GLAD --out-path=$tmp --api="vulkan" c --loader --header-only --mx * COMPILE: $GCC $test -o $tmp/test -I$tmp/include -ldl * RUN: $tmp/test */ @@ -15,11 +15,8 @@ VOID_FUNCPTR loader(const char *name) { (void) name; return NULL; } int main(void) { GladVulkanContext context = {0}; - (void) gladLoadVulkanUserPtr(NULL, loader_userptr, NULL); (void) gladLoadVulkanContextUserPtr(&context, NULL, loader_userptr, NULL); - (void) gladLoadVulkan(NULL, loader); (void) gladLoadVulkanContext(&context, NULL, loader); - (void) gladLoaderLoadVulkan(NULL, NULL, NULL); (void) gladLoaderLoadVulkanContext(&context, NULL, NULL, NULL); return 0; } diff --git a/test/c/compile/vulkan/header-only+mx/002/test.c b/test/c/compile/vulkan/header-only+mx/002/test.c index 368bf85c..9b29c42c 100644 --- a/test/c/compile/vulkan/header-only+mx/002/test.c +++ b/test/c/compile/vulkan/header-only+mx/002/test.c @@ -1,7 +1,7 @@ /* * Full vulkan without extensions, header only, mx * - * GLAD: $GLAD --out-path=$tmp --api="vulkan" --extensions="" c --loader --header-only --mx --mx-global + * GLAD: $GLAD --out-path=$tmp --api="vulkan" --extensions="" c --loader --header-only --mx * COMPILE: $GCC $test -o $tmp/test -I$tmp/include -ldl * RUN: $tmp/test */ @@ -15,11 +15,8 @@ VOID_FUNCPTR loader(const char *name) { (void) name; return NULL; } int main(void) { GladVulkanContext context = {0}; - (void) gladLoadVulkanUserPtr(NULL, loader_userptr, NULL); (void) gladLoadVulkanContextUserPtr(&context, NULL, loader_userptr, NULL); - (void) gladLoadVulkan(NULL, loader); (void) gladLoadVulkanContext(&context, NULL, loader); - (void) gladLoaderLoadVulkan(NULL, NULL, NULL); (void) gladLoaderLoadVulkanContext(&context, NULL, NULL, NULL); return 0; } diff --git a/test/c/compile/vulkan/mx+mx-global/001/test.c b/test/c/compile/vulkan/mx+mx-global/001/test_disabled.c similarity index 100% rename from test/c/compile/vulkan/mx+mx-global/001/test.c rename to test/c/compile/vulkan/mx+mx-global/001/test_disabled.c diff --git a/test/c/compile/vulkan/mx+mx-global/002/test.c b/test/c/compile/vulkan/mx+mx-global/002/test_disabled.c similarity index 100% rename from test/c/compile/vulkan/mx+mx-global/002/test.c rename to test/c/compile/vulkan/mx+mx-global/002/test_disabled.c diff --git a/test/c/run/gl/mx/003/test.c b/test/c/run/gl/mx/003/test_disabled.c similarity index 100% rename from test/c/run/gl/mx/003/test.c rename to test/c/run/gl/mx/003/test_disabled.c diff --git a/test/c/run/gl/mx/004/test.c b/test/c/run/gl/mx/004/test_disabled.c similarity index 100% rename from test/c/run/gl/mx/004/test.c rename to test/c/run/gl/mx/004/test_disabled.c diff --git a/test/c/run/gl/mx/005/test.c b/test/c/run/gl/mx/005/test_disabled.c similarity index 100% rename from test/c/run/gl/mx/005/test.c rename to test/c/run/gl/mx/005/test_disabled.c diff --git a/test/c/run/gl/mx/006/test.c b/test/c/run/gl/mx/006/test_disabled.c similarity index 100% rename from test/c/run/gl/mx/006/test.c rename to test/c/run/gl/mx/006/test_disabled.c From d7cd6b4ccb90d1a20108c5c83692c6f3ce743644 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Fri, 21 Oct 2022 17:49:37 +0200 Subject: [PATCH 069/138] glad: minor cleanup of member type --- glad/parse.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/glad/parse.py b/glad/parse.py index 47c132fc..e0f2d5cd 100644 --- a/glad/parse.py +++ b/glad/parse.py @@ -986,17 +986,14 @@ class Member(IdentifiedByName): def __init__(self, name, type, enum=None): self.name = name self.type = type - if enum is not None: - self.enum = enum.text - else: - self.enum = None + self.enum = enum @classmethod def from_element(cls, element): type_ = ParsedType.from_element(element) enum = element.find('enum') - return Member(type_.name, type_, enum=enum) + return Member(type_.name, type_, enum=enum.text if enum is not None else None) def __str__(self): return 'Member(name={self.name}, type={self.type})'.format(self=self) From 07045ac33388f9043918611870f21a19f8da3d0f Mon Sep 17 00:00:00 2001 From: David Herberth Date: Fri, 21 Oct 2022 18:01:58 +0200 Subject: [PATCH 070/138] glad: removes broken/usupported generators --- glad/generator/d/__init__.py | 95 ---------- glad/generator/d/templates/enumerations.d | 9 - glad/generator/d/templates/functions.d | 20 -- glad/generator/d/templates/loader.d | 27 --- glad/generator/d/templates/loader/egl.d | 1 - glad/generator/d/templates/loader/gl.d | 105 ----------- glad/generator/d/templates/loader/glx.d | 1 - glad/generator/d/templates/loader/wgl.d | 1 - glad/generator/d/templates/types.d | 3 - glad/generator/d/templates/types/egl.d | 81 -------- glad/generator/d/templates/types/gl.d | 43 ----- glad/generator/d/templates/types/glx.d | 164 ----------------- glad/generator/d/templates/types/wgl.d | 131 ------------- glad/generator/volt/__init__.py | 106 ----------- .../volt/templates/enumerations.volt | 9 - glad/generator/volt/templates/functions.volt | 13 -- glad/generator/volt/templates/loader.volt | 27 --- glad/generator/volt/templates/loader/egl.volt | 1 - glad/generator/volt/templates/loader/gl.volt | 108 ----------- glad/generator/volt/templates/loader/glx.volt | 1 - glad/generator/volt/templates/loader/wgl.volt | 1 - glad/generator/volt/templates/package.volt | 9 - glad/generator/volt/templates/types.volt | 3 - glad/generator/volt/templates/types/egl.volt | 83 --------- glad/generator/volt/templates/types/gl.volt | 46 ----- glad/generator/volt/templates/types/glx.volt | 173 ------------------ glad/generator/volt/templates/types/wgl.volt | 131 ------------- setup.py | 8 +- 28 files changed, 5 insertions(+), 1395 deletions(-) delete mode 100644 glad/generator/d/__init__.py delete mode 100644 glad/generator/d/templates/enumerations.d delete mode 100644 glad/generator/d/templates/functions.d delete mode 100644 glad/generator/d/templates/loader.d delete mode 100644 glad/generator/d/templates/loader/egl.d delete mode 100644 glad/generator/d/templates/loader/gl.d delete mode 100644 glad/generator/d/templates/loader/glx.d delete mode 100644 glad/generator/d/templates/loader/wgl.d delete mode 100644 glad/generator/d/templates/types.d delete mode 100644 glad/generator/d/templates/types/egl.d delete mode 100644 glad/generator/d/templates/types/gl.d delete mode 100644 glad/generator/d/templates/types/glx.d delete mode 100644 glad/generator/d/templates/types/wgl.d delete mode 100644 glad/generator/volt/__init__.py delete mode 100644 glad/generator/volt/templates/enumerations.volt delete mode 100644 glad/generator/volt/templates/functions.volt delete mode 100644 glad/generator/volt/templates/loader.volt delete mode 100644 glad/generator/volt/templates/loader/egl.volt delete mode 100644 glad/generator/volt/templates/loader/gl.volt delete mode 100644 glad/generator/volt/templates/loader/glx.volt delete mode 100644 glad/generator/volt/templates/loader/wgl.volt delete mode 100644 glad/generator/volt/templates/package.volt delete mode 100644 glad/generator/volt/templates/types.volt delete mode 100644 glad/generator/volt/templates/types/egl.volt delete mode 100644 glad/generator/volt/templates/types/gl.volt delete mode 100644 glad/generator/volt/templates/types/glx.volt delete mode 100644 glad/generator/volt/templates/types/wgl.volt diff --git a/glad/generator/d/__init__.py b/glad/generator/d/__init__.py deleted file mode 100644 index bbb8f240..00000000 --- a/glad/generator/d/__init__.py +++ /dev/null @@ -1,95 +0,0 @@ -import itertools -from collections import namedtuple - -from glad.config import Config -from glad.generator import JinjaGenerator - - -DEnum = namedtuple('DEnum', ['type', 'value']) - - -def type_to_d(ogl_type): - if ogl_type.is_pointer > 1 and ogl_type.is_const: - s = 'const({}{}*)'.format('u' if ogl_type.is_unsigned else '', ogl_type.type) - s += '*' * (ogl_type.is_pointer - 1) - else: - t = '{}{}'.format('u' if ogl_type.is_unsigned else '', ogl_type.type) - s = 'const({})'.format(t) if ogl_type.is_const else t - s += '*' * ogl_type.is_pointer - return s.replace('struct ', '') - - -def params_to_d(params): - return ', '.join(type_to_d(param.type) for param in params) - - -def enum_to_d(enum, default_type='uint'): - result = _enum_to_d(enum, default_type=default_type) - - if isinstance(result, tuple): - return DEnum(*result) - return DEnum(result, enum.value) - - -def _enum_to_d(enum, default_type='uint'): - if '"' in enum.value: - return 'const(char)*' - - if enum.type: - return { - 'u': 'uint', - 'ull': 'ulong', - 'bitmask': 'uint' - }[enum.type] - - if enum.value.startswith('0x'): - if len(enum.value[2:]) > 8: - return 'ulong' - return 'uint' - - if enum.name in ('GL_TRUE', 'GL_FALSE'): - return 'ubyte' - - if enum.value.startswith('-'): - return 'int' - - if enum.value.startswith('(('): - # '((Type)value)' -> 'Type' - type_ = enum.value.split(')')[0][2:] - # '((Type)value)' -> cast(Type)value - value = 'cast{}'.format(enum.value[1:-1]) - return type_, value - - return default_type - - -class DConfig(Config): - pass - - -class DGenerator(JinjaGenerator): - TEMPLATES = ['glad.generator.d'] - Config = DConfig - - def __init__(self, *args, **kwargs): - JinjaGenerator.__init__(self, *args, **kwargs) - - self.environment.globals.update( - type_to_d=type_to_d, - params_to_d=params_to_d, - enum_to_d=enum_to_d, - chain=itertools.chain - ) - - def get_templates(self, spec, feature_set, options): - templates = [ - 'enumerations.d', 'functions.d', 'loader.d', 'types.d' - ] - - ret = list() - for template in templates: - ret.append(( - template, 'glad/{}/{}'.format(feature_set.api, template) - )) - - return ret diff --git a/glad/generator/d/templates/enumerations.d b/glad/generator/d/templates/enumerations.d deleted file mode 100644 index d54c1b95..00000000 --- a/glad/generator/d/templates/enumerations.d +++ /dev/null @@ -1,9 +0,0 @@ -module glad.{{ feature_set.api }}.enumerations; - - -private import glad.{{ feature_set.api }}.types; - -{% for enum in feature_set.enums %} -{% set d_enum = enum_to_d(enum) %} -enum {{ d_enum.type }} {{ enum.name }} = {{ d_enum.value }}; -{% endfor %} diff --git a/glad/generator/d/templates/functions.d b/glad/generator/d/templates/functions.d deleted file mode 100644 index ecba1425..00000000 --- a/glad/generator/d/templates/functions.d +++ /dev/null @@ -1,20 +0,0 @@ -module glad.{{ feature_set.api }}.functions; - -private import glad.{{ feature_set.api }}.types; - -{% for extension in chain(feature_set.features, feature_set.extensions) %} -bool {{ extension.name }}; -{% endfor %} - -nothrow @nogc extern(System) { -{% for command in feature_set.commands %} -alias fp_{{ command.name }} = {{ type_to_d(command.proto.ret) }} function({{ params_to_d(command.params) }}); -{% endfor %} -} - -__gshared { -{% for command in feature_set.commands %} -fp_{{ command.name }} {{ command.name }}; -{% endfor %} -} - diff --git a/glad/generator/d/templates/loader.d b/glad/generator/d/templates/loader.d deleted file mode 100644 index e47f3c1e..00000000 --- a/glad/generator/d/templates/loader.d +++ /dev/null @@ -1,27 +0,0 @@ -module glad.{{ feature_set.api }}.loader; - -private { - import glad.{{ feature_set.api }}.functions; - import glad.{{ feature_set.api }}.enumerations; - import glad.{{ feature_set.api }}.types; -} - - -alias Loader = void* delegate(const(char)*); - - -{% include 'loader/' + spec.name + '.d' %} - -private { -{% for extension in chain(feature_set.features, feature_set.extensions) %} -void load_{{ extension.name }}(Loader load) { - {% set commands = extension.get_requirements(spec, feature_set=feature_set).commands %} - {% if commands %} - if (!{{ extension.name }}) return; - {% for command in commands %} - {{ command.name }} = cast(typeof({{ command.name }}))load("{{ command.name }}"); - {% endfor %} - {% endif %} -} -{% endfor %} -} \ No newline at end of file diff --git a/glad/generator/d/templates/loader/egl.d b/glad/generator/d/templates/loader/egl.d deleted file mode 100644 index 48e70a7e..00000000 --- a/glad/generator/d/templates/loader/egl.d +++ /dev/null @@ -1 +0,0 @@ -/* TODO */ \ No newline at end of file diff --git a/glad/generator/d/templates/loader/gl.d b/glad/generator/d/templates/loader/gl.d deleted file mode 100644 index 8685a1c6..00000000 --- a/glad/generator/d/templates/loader/gl.d +++ /dev/null @@ -1,105 +0,0 @@ -bool gladLoad{{ feature_set.api|api }}(Loader load) { - glGetString = cast(typeof(glGetString))load("glGetString"); - if(glGetString is null) { return false; } - if(glGetString(GL_VERSION) is null) { return false; } - - find_core{{ feature_set.api|api }}(); - {% for feature in feature_set.features %} - load_{{ feature.name }}(load); - {% endfor %} - - find_extensions{{ feature_set.api|api }}(); - {% for extension in feature_set.extensions %} - load_{{ extension.name }}(load); - {% endfor %} - - return GLVersion.major != 0 || GLVersion.minor != 0; -} - -static struct GLVersion { static int major = 0; static int minor = 0; } - - -private { - -private extern(C) char* strstr(const(char)*, const(char)*) @nogc; -private extern(C) int strcmp(const(char)*, const(char)*) @nogc; -private extern(C) int strncmp(const(char)*, const(char)*, size_t) @nogc; -private extern(C) size_t strlen(const(char)*) @nogc; -private bool has_ext(const(char)* ext) @nogc { - if(GLVersion.major < 3) { - const(char)* extensions = cast(const(char)*)glGetString(GL_EXTENSIONS); - const(char)* loc; - const(char)* terminator; - - if(extensions is null || ext is null) { - return false; - } - - while(1) { - loc = strstr(extensions, ext); - if(loc is null) { - return false; - } - - terminator = loc + strlen(ext); - if((loc is extensions || *(loc - 1) == ' ') && - (*terminator == ' ' || *terminator == '\0')) { - return true; - } - extensions = terminator; - } - } else { - int num; - glGetIntegerv(GL_NUM_EXTENSIONS, &num); - - for(uint i=0; i < cast(uint)num; i++) { - if(strcmp(cast(const(char)*)glGetStringi(GL_EXTENSIONS, i), ext) == 0) { - return true; - } - } - } - - return false; -} - -void find_core{{ feature_set.api|api }}() { - - // Thank you @elmindreda - // https://github.com/elmindreda/greg/blob/master/templates/greg.c.in#L176 - // https://github.com/glfw/glfw/blob/master/src/context.c#L36 - int i; - const(char)* glversion; - const(char)*[] prefixes = [ - "OpenGL ES-CM ".ptr, - "OpenGL ES-CL ".ptr, - "OpenGL ES ".ptr, - "OpenGL SC ".ptr, - ]; - - glversion = cast(const(char)*)glGetString(GL_VERSION); - if (glversion is null) return; - - foreach(prefix; prefixes) { - size_t length = strlen(prefix); - if (strncmp(glversion, prefix, length) == 0) { - glversion += length; - break; - } - } - - int major = glversion[0] - '0'; - int minor = glversion[2] - '0'; - GLVersion.major = major; GLVersion.minor = minor; - {% for feature in feature_set.features %} - {{ feature.name }} = (major == {{ feature.version.major }} && minor >= {{ feature.version.minor }}) || major > {{ feature.version.major }}; - {% endfor %} return; -} - -void find_extensions{{ feature_set.api|api }}() { - {% for extension in extensions %} - {{ extension.name }} = has_ext("{{ extension.name }}"); - {% endfor %} - return; -} - -} /* private */ \ No newline at end of file diff --git a/glad/generator/d/templates/loader/glx.d b/glad/generator/d/templates/loader/glx.d deleted file mode 100644 index 48e70a7e..00000000 --- a/glad/generator/d/templates/loader/glx.d +++ /dev/null @@ -1 +0,0 @@ -/* TODO */ \ No newline at end of file diff --git a/glad/generator/d/templates/loader/wgl.d b/glad/generator/d/templates/loader/wgl.d deleted file mode 100644 index 48e70a7e..00000000 --- a/glad/generator/d/templates/loader/wgl.d +++ /dev/null @@ -1 +0,0 @@ -/* TODO */ \ No newline at end of file diff --git a/glad/generator/d/templates/types.d b/glad/generator/d/templates/types.d deleted file mode 100644 index f9b595da..00000000 --- a/glad/generator/d/templates/types.d +++ /dev/null @@ -1,3 +0,0 @@ -module glad.{{ feature_set.api }}.types; - -{% include 'types/' + spec.name + '.d' %} \ No newline at end of file diff --git a/glad/generator/d/templates/types/egl.d b/glad/generator/d/templates/types/egl.d deleted file mode 100644 index aa456c8e..00000000 --- a/glad/generator/d/templates/types/egl.d +++ /dev/null @@ -1,81 +0,0 @@ -import core.stdc.stdint : intptr_t; - -alias EGLConfig = void*; -alias EGLClientBuffer = void*; -alias EGLNativeFileDescriptorKHR = int; -alias EGLuint64KHR = ulong; -alias EGLTimeKHR = ulong; -alias EGLOutputLayerEXT = void*; -alias EGLsizeiANDROID = ptrdiff_t; -alias EGLBoolean = uint; -alias EGLAttribKHR = intptr_t; -alias EGLDisplay = void*; -alias EGLint = int; -alias EGLSyncKHR = void*; -alias EGLTimeNV = ulong; -alias EGLDeviceEXT = void*; -alias EGLImageKHR = void*; -alias EGLSurface = void*; -alias __eglMustCastToProperFunctionPointerType = void function(); -alias EGLAttrib = intptr_t; -alias EGLContext = void*; -alias EGLuint64MESA = ulong; -alias EGLenum = uint; -alias EGLImage = void*; -alias EGLSyncNV = void*; -alias EGLStreamKHR = void*; -alias EGLSync = void*; -alias EGLOutputPortEXT = void*; -alias EGLuint64NV = ulong; -alias EGLTime = ulong; - -// Thanks to @jpf91 (github) for these declarations -version(Windows) { - import core.sys.windows.windows; - alias EGLNativeDisplayType = HDC; - alias EGLNativePixmapType = HBITMAP; - alias EGLNativeWindowType = HWND; -} else version(Symbian) { - alias EGLNativeDisplayType = int; - alias EGLNativeWindowType = void*; - alias EGLNativePixmapType = void*; -} else version(Android) { - //import android.native_window; - //struct egl_native_pixmap_t; - struct _egl_native_pixmap_t; alias egl_native_pixmap_t = _egl_native_pixmap_t*; - - //alias ANativeWindow* EGLNativeWindowType; - //alias egl_native_pixmap_t* EGLNativePixmapType; - alias EGLNativeWindowType = void*; - alias EGLNativePixmapType = void*; - alias EGLNativeDisplayType = void*; -} else version(linux) { - version(Xlib) { - import X11.Xlib; - import X11.Xutil; - alias EGLNativeDisplayType = Display*; - alias EGLNativePixmapType = Pixmap; - alias EGLNativeWindowType = Window; - } else { - alias EGLNativeDisplayType = void*; - alias EGLNativePixmapType = uint; - alias EGLNativeWindowType = uint; - } -} -alias EGLObjectKHR = void*; -alias EGLLabelKHR = void*; - -extern(System) { -alias EGLSetBlobFuncANDROID = void function(const(void)*, EGLsizeiANDROID, const(void)*, EGLsizeiANDROID); -alias EGLGetBlobFuncANDROID = EGLsizeiANDROID function(const(void)*, EGLsizeiANDROID, const(void)* EGLsizeiANDROID); -struct EGLClientPixmapHI { - void *pData; - EGLint iWidth; - EGLint iHeight; - EGLint iStride; -} -alias EGLDEBUGPROCKHR = void function(EGLenum error,const char *command,EGLint messageType,EGLLabelKHR threadLabel,EGLLabelKHR objectLabel,const char* message); -} -extern(System) { -struct __cl_event; alias _cl_event = __cl_event*; -} \ No newline at end of file diff --git a/glad/generator/d/templates/types/gl.d b/glad/generator/d/templates/types/gl.d deleted file mode 100644 index 29a1215d..00000000 --- a/glad/generator/d/templates/types/gl.d +++ /dev/null @@ -1,43 +0,0 @@ -alias GLvoid = void; -alias GLintptr = ptrdiff_t; -alias GLsizei = int; -alias GLchar = char; -alias GLcharARB = byte; -alias GLushort = ushort; -alias GLint64EXT = long; -alias GLshort = short; -alias GLuint64 = ulong; -alias GLhalfARB = ushort; -alias GLubyte = ubyte; -alias GLdouble = double; -alias GLhandleARB = uint; -alias GLint64 = long; -alias GLenum = uint; -alias GLeglImageOES = void*; -alias GLintptrARB = ptrdiff_t; -alias GLsizeiptr = ptrdiff_t; -alias GLint = int; -alias GLboolean = ubyte; -alias GLbitfield = uint; -alias GLsizeiptrARB = ptrdiff_t; -alias GLfloat = float; -alias GLuint64EXT = ulong; -alias GLclampf = float; -alias GLbyte = byte; -alias GLclampd = double; -alias GLuint = uint; -alias GLvdpauSurfaceNV = ptrdiff_t; -alias GLfixed = int; -alias GLhalf = ushort; -alias GLclampx = int; -alias GLhalfNV = ushort; -struct ___GLsync; alias __GLsync = ___GLsync*; -alias GLsync = __GLsync*; -struct __cl_context; alias _cl_context = __cl_context*; -struct __cl_event; alias _cl_event = __cl_event*; -extern(System) { -alias GLDEBUGPROC = void function(GLenum, GLenum, GLuint, GLenum, GLsizei, in GLchar*, GLvoid*); -alias GLDEBUGPROCARB = GLDEBUGPROC; -alias GLDEBUGPROCKHR = GLDEBUGPROC; -alias GLDEBUGPROCAMD = void function(GLuint, GLenum, GLenum, GLsizei, in GLchar*, GLvoid*); -} \ No newline at end of file diff --git a/glad/generator/d/templates/types/glx.d b/glad/generator/d/templates/types/glx.d deleted file mode 100644 index e8517101..00000000 --- a/glad/generator/d/templates/types/glx.d +++ /dev/null @@ -1,164 +0,0 @@ -alias GLenum = uint; -alias GLfloat = float; -alias GLsizei = int; -alias GLsizeiptr = ptrdiff_t; -alias GLubyte = ubyte; -alias GLint = int; -alias GLboolean = ubyte; -alias GLuint = uint; -alias GLbitfield = uint; -alias GLintptr = ptrdiff_t; - -version(Xlib) { - import X11.Xlib; - import X11.Xutil; -} else { - alias Bool = int; - alias Status = int; - alias VisualID = uint; - alias XPointer = byte*; - alias XID = uint; - alias Colormap = XID; - alias Display = void; - alias Font = XID; - alias Window = XID; - alias Drawable = XID; - alias Pixmap = XID; - alias Cursor = XID; - alias GContext = XID; - alias KeySym = XID; - - extern(System) { - // Borrowed from derelict - struct XExtData { - int number; - XExtData* next; - extern(C) int function(XExtData*) free_private; - XPointer private_data; - } - - struct Visual { - XExtData* ext_data; - VisualID visualid; - int _class; - uint red_mask, green_mask, blue_mask; - int bits_per_rgb; - int map_entries; - } - - struct XVisualInfo { - Visual *visual; - VisualID visualid; - int screen; - int depth; - int _class; - uint red_mask; - uint green_mask; - uint blue_mask; - int colormap_size; - int bits_per_rgb; - } - } -} - -alias DMbuffer = void*; -alias DMparams = void*; -alias VLNode = void*; -alias VLPath = void*; -alias VLServer = void*; - -alias int64_t = long; -alias uint64_t = ulong; -alias int32_t = int; - -alias GLXContextID = uint; -alias GLXPixmap = uint; -alias GLXDrawable = uint; -alias GLXPbuffer = uint; -alias GLXWindow = uint; -alias GLXFBConfigID = uint; -alias GLXVideoCaptureDeviceNV = XID; -alias GLXPbufferSGIX = XID; -alias GLXVideoSourceSGIX = XID; -alias GLXVideoDeviceNV = uint; - - -extern(System) { - alias __GLXextFuncPtr = void function(); - - struct GLXPbufferClobberEvent { - int event_type; /* GLX_DAMAGED or GLX_SAVED */ - int draw_type; /* GLX_WINDOW or GLX_PBUFFER */ - ulong 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 */ - uint buffer_mask; /* mask indicating which buffers are affected */ - uint aux_buffer; /* which aux buffer was affected */ - int x, y; - int width, height; - int count; /* if nonzero, at least this many more */ - } - - struct GLXBufferSwapComplete { - int type; - ulong 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; - long ust; - long msc; - long sbc; - } - - union GLXEvent { - GLXPbufferClobberEvent glxpbufferclobber; - GLXBufferSwapComplete glxbufferswapcomplete; - int[24] pad; - } - - struct GLXBufferClobberEventSGIX { - int type; - ulong 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 */ - uint mask; /* mask indicating which buffers are affected*/ - int x, y; - int width, height; - int count; /* if nonzero, at least this many more */ - } - - struct GLXHyperpipeNetworkSGIX { - char[80] pipeName; /* Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX] */ - int networkId; - } - - struct GLXHyperpipeConfigSGIX { - char[80] pipeName; /* Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX] */ - int channel; - uint participationType; - int timeSlice; - } - - struct GLXPipeRect { - char[80] pipeName; /* Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX] */ - int srcXOrigin, srcYOrigin, srcWidth, srcHeight; - int destXOrigin, destYOrigin, destWidth, destHeight; - } - - struct GLXPipeRectLimits { - char[80] pipeName; /* Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX] */ - int XOrigin, YOrigin, maxHeight, maxWidth; - } -} -extern(System) { -struct ___GLXcontextRec; alias __GLXcontextRec = ___GLXcontextRec*; -alias GLXContext = __GLXcontextRec*; -struct ___GLXFBConfigRec; alias __GLXFBConfigRec = ___GLXFBConfigRec*; -alias GLXFBConfig = __GLXFBConfigRec*; -alias GLXFBConfigSGIX = __GLXFBConfigRec*; -} diff --git a/glad/generator/d/templates/types/wgl.d b/glad/generator/d/templates/types/wgl.d deleted file mode 100644 index 446c20e7..00000000 --- a/glad/generator/d/templates/types/wgl.d +++ /dev/null @@ -1,131 +0,0 @@ -alias GLenum = uint; -alias INT32 = int; -alias GLfloat = float; -alias GLsizei = int; -alias GLushort = ushort; -alias GLuint = uint; -alias GLint = int; -alias GLboolean = ubyte; -alias GLbitfield = uint; -alias INT64 = long; - -version(Windows) { - public import core.sys.windows.windows; -} else { - alias BOOL = int; - alias CHAR = char; - alias WORD = ushort; - alias DWORD = uint; - alias FLOAT = float; - alias HANDLE = void*; - alias HDC = HANDLE; - alias HGLRC = HANDLE; - alias INT = int; - alias LPCSTR = const(CHAR)*; - alias LPVOID = void*; - alias UINT = uint; - alias USHORT = ushort; - alias VOID = void; - alias COLORREF = DWORD; - alias HENHMETAFILE = HANDLE; - alias BYTE = byte; -} - -alias PROC = HANDLE; - -extern(System) { - struct RECT { - int left; - int top; - int right; - int bottom; - } - - struct LAYERPLANEDESCRIPTOR { - WORD nSize; - WORD nVersion; - DWORD dwFlags; - BYTE iPixelType; - BYTE cColorBits; - BYTE cRedBits; - BYTE cRedShift; - BYTE cGreenBits; - BYTE cGreenShift; - BYTE cBlueBits; - BYTE cBlueShift; - BYTE cAlphaBits; - BYTE cAlphaShift; - BYTE cAccumBits; - BYTE cAccumRedBits; - BYTE cAccumGreenBits; - BYTE cAccumBlueBits; - BYTE cAccumAlphaBits; - BYTE cDepthBits; - BYTE cStencilBits; - BYTE cAuxBuffers; - BYTE iLayerType; - BYTE bReserved; - COLORREF crTransparent; - } - - struct PIXELFORMATDESCRIPTOR { - WORD nSize; - WORD nVersion; - DWORD dwFlags; - BYTE iPixelType; - BYTE cColorBits; - BYTE cRedBits; - BYTE cRedShift; - BYTE cGreenBits; - BYTE cGreenShift; - BYTE cBlueBits; - BYTE cBlueShift; - BYTE cAlphaBits; - BYTE cAlphaShift; - BYTE cAccumBits; - BYTE cAccumRedBits; - BYTE cAccumGreenBits; - BYTE cAccumBlueBits; - BYTE cAccumAlphaBits; - BYTE cDepthBits; - BYTE cStencilBits; - BYTE cAuxBuffers; - BYTE iLayerType; - BYTE bReserved; - DWORD dwLayerMask; - DWORD dwVisibleMask; - DWORD dwDamageMask; - } - - struct POINTFLOAT { - FLOAT x; - FLOAT y; - } - - struct GLYPHMETRICSFLOAT { - FLOAT gmfBlackBoxX; - FLOAT gmfBlackBoxY; - POINTFLOAT gmfptGlyphOrigin; - FLOAT gmfCellIncX; - FLOAT gmfCellIncY; - } - alias PGLYPHMETRICSFLOAT = GLYPHMETRICSFLOAT*; - alias LPGLYPHMETRICSFLOAT = GLYPHMETRICSFLOAT; - - struct GPU_DEVICE { - DWORD cb; - CHAR[32] DeviceName; - CHAR[128] DeviceString; - DWORD Flags; - RECT rcVirtualScreen; - } - - alias PGPU_DEVICE = GPU_DEVICE; -} -struct _HPBUFFERARB; alias HPBUFFERARB = _HPBUFFERARB*; -struct _HPBUFFEREXT; alias HPBUFFEREXT = _HPBUFFEREXT*; -struct _HVIDEOOUTPUTDEVICENV; alias HVIDEOOUTPUTDEVICENV = _HVIDEOOUTPUTDEVICENV*; -struct _HPVIDEODEV; alias HPVIDEODEV = _HPVIDEODEV*; -struct _HPGPUNV; alias HPGPUNV = _HPGPUNV*; -struct _HGPUNV; alias HGPUNV = _HGPUNV*; -struct _HVIDEOINPUTDEVICENV; alias HVIDEOINPUTDEVICENV = _HVIDEOINPUTDEVICENV*; \ No newline at end of file diff --git a/glad/generator/volt/__init__.py b/glad/generator/volt/__init__.py deleted file mode 100644 index b22b023d..00000000 --- a/glad/generator/volt/__init__.py +++ /dev/null @@ -1,106 +0,0 @@ -import itertools -from collections import namedtuple - -from glad.config import Config -from glad.generator import JinjaGenerator - - -VoltEnum = namedtuple('VoltEnum', ['type', 'value']) - - -def type_to_volt(ogl_type): - if ogl_type.is_pointer > 1 and ogl_type.is_const: - s = 'const({}{}*)'.format('u' if ogl_type.is_unsigned else '', ogl_type.type) - s += '*' * (ogl_type.is_pointer - 1) - else: - t = '{}{}'.format('u' if ogl_type.is_unsigned else '', ogl_type.type) - s = 'const({})'.format(t) if ogl_type.is_const else t - s += '*' * ogl_type.is_pointer - return s.replace('struct ', '') - - -def params_to_volt(params): - return ', '.join(type_to_volt(param.type) for param in params) - - -def enum_to_volt(enum, default_type='uint'): - result = _enum_to_volt(enum, default_type=default_type) - - if isinstance(result, tuple): - return VoltEnum(*result) - else: - value = enum.value - if enum.value.startswith('0x'): - value += 'U' - if len(enum.value.lstrip('0x')) > 8: - value += 'L' - - return VoltEnum(result, value) - - -def _enum_to_volt(enum, default_type='u32'): - if '"' in enum.value: - return 'const(char)*' - - if enum.type: - return { - 'u': 'u32', - 'ull': 'u64', - 'bitmask': 'u32' - }[enum.type] - - if enum.value.startswith('0x'): - if len(enum.value[2:]) > 8: - return 'u64' - return 'u32' - - if enum.name in ('GL_TRUE', 'GL_FALSE'): - return 'u8' - - if enum.value.startswith('-'): - return 'u32' - - if enum.value.startswith('(('): - # '((Type)value)' -> 'Type' - type_ = enum.value.split(')')[0][2:] - # '((Type)value)' -> cast(Type)value - value = 'cast{}'.format(enum.value[1:-1]) - return type_, value - - return default_type - - -class VoltConfig(Config): - pass - - -class VoltGenerator(JinjaGenerator): - TEMPLATES = ['glad.generator.volt'] - Config = VoltConfig - - def __init__(self, *args, **kwargs): - JinjaGenerator.__init__(self, *args, **kwargs) - - self.environment.globals.update( - type_to_volt=type_to_volt, - params_to_volt=params_to_volt, - enum_to_volt=enum_to_volt, - chain=itertools.chain - ) - - def get_templates(self, spec, feature_set, options): - templates = [ - 'package.volt', - 'enumerations.volt', - 'functions.volt', - 'loader.volt', - 'types.volt' - ] - - ret = list() - for template in templates: - ret.append(( - template, 'amp/{}/{}'.format(feature_set.api, template) - )) - - return ret diff --git a/glad/generator/volt/templates/enumerations.volt b/glad/generator/volt/templates/enumerations.volt deleted file mode 100644 index fae9ce8f..00000000 --- a/glad/generator/volt/templates/enumerations.volt +++ /dev/null @@ -1,9 +0,0 @@ -module amp.{{ feature_set.api }}.enumerations; - - -private import amp.{{ feature_set.api }}.types; - -{% for enum in feature_set.enums %} -{% set volt_enum = enum_to_volt(enum) %} -enum {{ volt_enum.type }} {{ enum.name }} = {{ volt_enum.value }}; -{% endfor %} diff --git a/glad/generator/volt/templates/functions.volt b/glad/generator/volt/templates/functions.volt deleted file mode 100644 index 68c0d530..00000000 --- a/glad/generator/volt/templates/functions.volt +++ /dev/null @@ -1,13 +0,0 @@ -module amp.{{ feature_set.api }}.functions; - -private import amp.{{ feature_set.api }}.types; - -{% for extension in chain(feature_set.features, feature_set.extensions) %} -bool {{ extension.name }}; -{% endfor %} - -extern(System) @loadDynamic { -{% for command in feature_set.commands %} -fn {{ command.name }}({{ params_to_volt(command.params) }}) {{ type_to_volt(command.proto.ret) }}; -{% endfor %} -} diff --git a/glad/generator/volt/templates/loader.volt b/glad/generator/volt/templates/loader.volt deleted file mode 100644 index bd5c8560..00000000 --- a/glad/generator/volt/templates/loader.volt +++ /dev/null @@ -1,27 +0,0 @@ -module amp.{{ feature_set.api }}.loader; - -private { - import amp.{{ feature_set.api }}.functions; - import amp.{{ feature_set.api }}.enumerations; - import amp.{{ feature_set.api }}.types; -} - - -alias Loader = void* delegate(const(char)*); - - -{% include 'loader/' + spec.name + '.volt' %} - -private { -{% for extension in chain(feature_set.features, feature_set.extensions) %} -fn load_{{ extension.name }}(load : Loader) { - {% set commands = extension.get_requirements(spec, feature_set=feature_set).commands %} - {% if commands %} - if (!{{ extension.name }}) return; - {% for command in commands %} - {{ command.name }} = cast(typeof({{ command.name }}))load("{{ command.name }}"); - {% endfor %} - {% endif %} -} -{% endfor %} -} \ No newline at end of file diff --git a/glad/generator/volt/templates/loader/egl.volt b/glad/generator/volt/templates/loader/egl.volt deleted file mode 100644 index 48e70a7e..00000000 --- a/glad/generator/volt/templates/loader/egl.volt +++ /dev/null @@ -1 +0,0 @@ -/* TODO */ \ No newline at end of file diff --git a/glad/generator/volt/templates/loader/gl.volt b/glad/generator/volt/templates/loader/gl.volt deleted file mode 100644 index 0000bf4c..00000000 --- a/glad/generator/volt/templates/loader/gl.volt +++ /dev/null @@ -1,108 +0,0 @@ - -global int GL_MAJOR = 0; -global int GL_MINOR = 0; - -fn gladLoad{{ feature_set.api|api }}(load : Loader) bool { - glGetString = cast(typeof(glGetString))load("glGetString"); - if(glGetString is null) { return false; } - if(glGetString(GL_VERSION) is null) { return false; } - - find_core{{ feature_set.api|api }}(); - {% for feature in feature_set.features %} - load_{{ feature.name }}(load); - {% endfor %} - - find_extensions{{ feature_set.api|api }}(); - {% for extension in feature_set.extensions %} - load_{{ extension.name }}(load); - {% endfor %} - - return GL_MAJOR != 0 || GL_MINOR != 0; -} - - -private { - -private fn!C strstr(const(char)*, const(char)*) char*; -private fn!C strcmp(const(char)*, const(char)*) i32; -private fn!C strncmp(const(char)*, const(char)*, size_t) i32; -private fn!C strlen(const(char)*) size_t; -private fn has_ext(ext : const(char)*) bool { - if(GL_MAJOR < 3) { - extensions : const(char)* = cast(const(char)*)glGetString(GL_EXTENSIONS); - loc : const(char)*; - terminator : const(char)*; - - if(extensions is null || ext is null) { - return false; - } - - while(1) { - loc = strstr(extensions, ext); - if(loc is null) { - return false; - } - - terminator = loc + strlen(ext); - if((loc is extensions || *(loc - 1) == ' ') && - (*terminator == ' ' || *terminator == '\0')) { - return true; - } - extensions = terminator; - } - } else { - int num; - glGetIntegerv(GL_NUM_EXTENSIONS, &num); - - for(u32 i=0; i < cast(u32)num; i++) { - if(strcmp(cast(const(char)*)glGetStringi(GL_EXTENSIONS, i), ext) == 0) { - return true; - } - } - } - - return false; -} - -fn find_core{{ feature_set.api|api }}() { - - // Thank you @elmindreda - // https://github.com/elmindreda/greg/blob/master/templates/greg.c.in#L176 - // https://github.com/glfw/glfw/blob/master/src/context.c#L36 - i : int; - glversion : const(char)*; - prefixes : const(char)*[] = [ - "OpenGL ES-CM ".ptr, - "OpenGL ES-CL ".ptr, - "OpenGL ES ".ptr, - "OpenGL SC ".ptr, - ]; - - glversion = cast(const(char)*)glGetString(GL_VERSION); - if (glversion is null) return; - - foreach(prefix; prefixes) { - size_t length = strlen(prefix); - if (strncmp(glversion, prefix, length) == 0) { - glversion += length; - break; - } - } - - major : i32 = glversion[0] - '0'; - minor : i32 = glversion[2] - '0'; - GL_MAJOR = major; GL_MINOR = minor; - {% for feature in feature_set.features %} - {{ feature.name }} = (major == {{ feature.version.major }} && minor >= {{ feature.version.minor }}) || major > {{ feature.version.major }}; - {% endfor %} - return; -} - -fn find_extensions{{ feature_set.api|api }}() { - {% for extension in extensions %} - {{ extension.name }} = has_ext("{{ extension.name }}"); - {% endfor %} - return; -} - -} /* private */ \ No newline at end of file diff --git a/glad/generator/volt/templates/loader/glx.volt b/glad/generator/volt/templates/loader/glx.volt deleted file mode 100644 index 48e70a7e..00000000 --- a/glad/generator/volt/templates/loader/glx.volt +++ /dev/null @@ -1 +0,0 @@ -/* TODO */ \ No newline at end of file diff --git a/glad/generator/volt/templates/loader/wgl.volt b/glad/generator/volt/templates/loader/wgl.volt deleted file mode 100644 index 48e70a7e..00000000 --- a/glad/generator/volt/templates/loader/wgl.volt +++ /dev/null @@ -1 +0,0 @@ -/* TODO */ \ No newline at end of file diff --git a/glad/generator/volt/templates/package.volt b/glad/generator/volt/templates/package.volt deleted file mode 100644 index 20c237eb..00000000 --- a/glad/generator/volt/templates/package.volt +++ /dev/null @@ -1,9 +0,0 @@ -package amp.{{ feature_set.api }}; - - -public { - import amp.{{ feature_set.api }}.enumerations; - import amp.{{ feature_set.api }}.functions; - import amp.{{ feature_set.api }}.loader; - import amp.{{ feature_set.api }}.types; -} \ No newline at end of file diff --git a/glad/generator/volt/templates/types.volt b/glad/generator/volt/templates/types.volt deleted file mode 100644 index 3eae6d73..00000000 --- a/glad/generator/volt/templates/types.volt +++ /dev/null @@ -1,3 +0,0 @@ -module amp.{{ feature_set.api }}.types; - -{% include 'types/' + spec.name + '.volt' %} \ No newline at end of file diff --git a/glad/generator/volt/templates/types/egl.volt b/glad/generator/volt/templates/types/egl.volt deleted file mode 100644 index 44f89fca..00000000 --- a/glad/generator/volt/templates/types/egl.volt +++ /dev/null @@ -1,83 +0,0 @@ -// good enough ... -alias intptr_t = size_t*; - -alias EGLConfig = void*; -alias EGLClientBuffer = void*; -alias EGLNativeFileDescriptorKHR = i32; -alias EGLuint64KHR = u64; -alias EGLTimeKHR = u64; -alias EGLOutputLayerEXT = void*; -alias EGLsizeiANDROID = ptrdiff_t; -alias EGLBoolean = u32; -alias EGLAttribKHR = intptr_t; -alias EGLDisplay = void*; -alias EGLint = i32; -alias EGLSyncKHR = void*; -alias EGLTimeNV = u64; -alias EGLDeviceEXT = void*; -alias EGLImageKHR = void*; -alias EGLSurface = void*; -alias __eglMustCastToProperFunctionPointerType = void function(); -alias EGLAttrib = i32ptr_t; -alias EGLContext = void*; -alias EGLuint64MESA = u64; -alias EGLenum = u32; -alias EGLImage = void*; -alias EGLSyncNV = void*; -alias EGLStreamKHR = void*; -alias EGLSync = void*; -alias EGLOutputPortEXT = void*; -alias EGLuint64NV = u64; -alias EGLTime = u64; - -// Thanks to @jpf91 (github) for these declarations -version(Windows) { - import core.sys.windows.windows; - alias EGLNativeDisplayType = HDC; - alias EGLNativePixmapType = HBITMAP; - alias EGLNativeWindowType = HWND; -} else version(Symbian) { - alias EGLNativeDisplayType = i32; - alias EGLNativeWindowType = void*; - alias EGLNativePixmapType = void*; -} else version(Android) { - //import android.native_window; - //struct egl_native_pixmap_t; - struct _egl_native_pixmap_t; alias egl_native_pixmap_t = _egl_native_pixmap_t*; - - //alias ANativeWindow* EGLNativeWindowType; - //alias egl_native_pixmap_t* EGLNativePixmapType; - alias EGLNativeWindowType = void*; - alias EGLNativePixmapType = void*; - alias EGLNativeDisplayType = void*; -} else version(linux) { - version(Xlib) { - import X11.Xlib; - import X11.Xutil; - alias EGLNativeDisplayType = Display*; - alias EGLNativePixmapType = Pixmap; - alias EGLNativeWindowType = Window; - } else { - alias EGLNativeDisplayType = void*; - alias EGLNativePixmapType = u32; - alias EGLNativeWindowType = u32; - } -} -alias EGLObjectKHR = void*; -alias EGLLabelKHR = void*; - -extern(System) { -alias EGLSetBlobFuncANDROID = void function(const(void)*, EGLsizeiANDROID, const(void)*, EGLsizeiANDROID); -alias EGLGetBlobFuncANDROID = EGLsizeiANDROID function(const(void)*, EGLsizeiANDROID, const(void)* EGLsizeiANDROID); -struct EGLClientPixmapHI { - pData : void*; - iWidth : EGLint; - iHeight : EGLint; - iStride : EGLint; -} -alias EGLDEBUGPROCKHR = void function(EGLenum error,const char *command,EGLint messageType,EGLLabelKHR threadLabel,EGLLabelKHR objectLabel,const char* message); -} -extern(System) { -struct __cl_event {} -alias _cl_event = __cl_event*; -} \ No newline at end of file diff --git a/glad/generator/volt/templates/types/gl.volt b/glad/generator/volt/templates/types/gl.volt deleted file mode 100644 index 490eddd4..00000000 --- a/glad/generator/volt/templates/types/gl.volt +++ /dev/null @@ -1,46 +0,0 @@ -alias GLvoid = void; -alias GLintptr = ptrdiff_t; -alias GLsizei = i32; -alias GLchar = char; -alias GLcharARB = i8; -alias GLushort = u16; -alias GLint64EXT = i64; -alias GLshort = i16; -alias GLuint64 = u64; -alias GLhalfARB = u16; -alias GLubyte = u8; -alias GLdouble = f64; -alias GLhandleARB = u32; -alias GLint64 = i64; -alias GLenum = u32; -alias GLeglImageOES = void*; -alias GLintptrARB = ptrdiff_t; -alias GLsizeiptr = ptrdiff_t; -alias GLint = i32; -alias GLboolean = u8; -alias GLbitfield = u32; -alias GLsizeiptrARB = ptrdiff_t; -alias GLfloat = f32; -alias GLuint64EXT = u64; -alias GLclampf = f32; -alias GLbyte= i8; -alias GLclampd = f64; -alias GLuint = u32; -alias GLvdpauSurfaceNV = ptrdiff_t; -alias GLfixed = i32; -alias GLhalf= u16; -alias GLclampx = i32; -alias GLhalfNV= u16; -struct ___GLsync {} -alias __GLsync = ___GLsync*; -alias GLsync = __GLsync*; -struct __cl_context {} -alias _cl_context = __cl_context*; -struct __cl_event {} -alias _cl_event = __cl_event*; -extern(System) { -alias GLDEBUGPROC = void function(GLenum, GLenum, GLuint, GLenum, GLsizei, in GLchar*, GLvoid*); -alias GLDEBUGPROCARB = GLDEBUGPROC; -alias GLDEBUGPROCKHR = GLDEBUGPROC; -alias GLDEBUGPROCAMD = void function(GLuint, GLenum, GLenum, GLsizei, in GLchar*, GLvoid*); -} \ No newline at end of file diff --git a/glad/generator/volt/templates/types/glx.volt b/glad/generator/volt/templates/types/glx.volt deleted file mode 100644 index 0a88b7a7..00000000 --- a/glad/generator/volt/templates/types/glx.volt +++ /dev/null @@ -1,173 +0,0 @@ -alias GLenum = u32; -alias GLfloat = f32; -alias GLsizei = i32; -alias GLsizeiptr = ptrdiff_t; -alias GLubyte = u8; -alias GLint = i32; -alias GLboolean = u8; -alias GLuint = u32; -alias GLbitfield = u32; -alias GLintptr = ptrdiff_t; - -version(Xlib) { - import X11.Xlib; - import X11.Xutil; -} else { - alias Bool = i32; - alias Status = i32; - alias VisualID = u32; - alias XPointer = i8*; - alias XID = u32; - alias Colormap = XID; - alias Display = void; - alias Font = XID; - alias Window = XID; - alias Drawable = XID; - alias Pixmap = XID; - alias Cursor = XID; - alias GContext = XID; - alias KeySym = XID; - - extern(System) { - // Borrowed from derelict - struct XExtData { - number : int; - next : XExtData*; - free_private : fn!C (XExtData*) i32; - private_data : XPointer; - } - - struct Visual { - ext_data : XExtData*; - visualid : VisualID; - _class : i32; - red_mask : u32; - green_mask : u32; - blue_mask : u32; - bits_per_rgb : i32; - map_entries : i32; - } - - struct XVisualInfo { - visual : Visual*; - visualid : VisualID; - screen : i32; - depth : i32; - _class : i32; - red_mask : u32; - green_mask : u32; - blue_mask : u32; - colormap_size : i32; - bits_per_rgb : i32; - } - } -} - -alias DMbuffer = void*; -alias DMparams = void*; -alias VLNode = void*; -alias VLPath = void*; -alias VLServer = void*; - -alias int64_t = i64; -alias uint64_t = u64; -alias int32_t = i32; - -alias GLXContextID = u32; -alias GLXPixmap = u32; -alias GLXDrawable = u32; -alias GLXPbuffer = u32; -alias GLXWindow = u32; -alias GLXFBConfigID = u32; -alias GLXVideoCaptureDeviceNV = XID; -alias GLXPbufferSGIX = XID; -alias GLXVideoSourceSGIX = XID; -alias GLXVideoDeviceNV = u32; - - -extern(System) { - alias __GLXextFuncPtr = void function(); - - struct GLXPbufferClobberEvent { - event_type : i32; /* GLX_DAMAGED or GLX_SAVED */ - draw_type : i32; /* GLX_WINDOW or GLX_PBUFFER */ - serial : u64; /* # of last request processed by server */ - send_event : Bool; /* true if this came for SendEvent request */ - display : Display*; /* display the event was read from */ - drawable : GLXDrawable; /* XID of Drawable */ - buffer_mask : u32; /* mask indicating which buffers are affected */ - aux_buffer : u32; /* which aux buffer was affected */ - x : i32; - y : i32; - width : i32; - height : i32; - count : i32; /* if nonzero, at least this many more */ - } - - struct GLXBufferSwapComplete { - type : i32; - serial : u64; /* # of last request processed by server */ - send_event : Bool; /* true if this came from a SendEvent request */ - display : Display*; /* Display the event was read from */ - drawable : GLXDrawable; /* drawable on which event was requested in event mask */ - event_type : i32; - ust : u64; - msc : u64; - sbc : u64; - } - - union GLXEvent { - glxpbufferclobber : GLXPbufferClobberEvent; - glxbufferswapcomplete : GLXBufferSwapComplete; - pad : i32[24]; - } - - struct GLXBufferClobberEventSGIX { - type : i32; - serial : u64; /* # of last request processed by server */ - send_event : Bool; /* true if this came for SendEvent request */ - display : Display*; /* display the event was read from */ - drawable : GLXDrawable; /* i.d. of Drawable */ - event_type : i32; /* GLX_DAMAGED_SGIX or GLX_SAVED_SGIX */ - draw_type : i32; /* GLX_WINDOW_SGIX or GLX_PBUFFER_SGIX */ - mask : u32; /* mask indicating which buffers are affected*/ - aux_buffer : u32; /* which aux buffer was affected */ - x : i32; - y : i32; - width : i32; - height : i32; - count : i32; /* if nonzero, at least this many more */ - } - - struct GLXHyperpipeNetworkSGIX { - pipeName : char[80]; /* Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX] */ - networkId : i32; - } - - struct GLXHyperpipeConfigSGIX { - pipeName : char[80]; /* Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX] */ - channel : i32; - participationType : u32; - timeSlice : i32; - } - - struct GLXPipeRect { - pipeName : char[80]; /* Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX] */ - srcXOrigin, srcYOrigin, srcWidth, srcHeight : i32; - destXOrigin, destYOrigin, destWidth, destHeight : i32; - } - - struct GLXPipeRectLimits { - pipeName : char[80]; /* Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX] */ - XOrigin, YOrigin, maxHeight, maxWidth : i32; - } -} -extern(System) { -struct ___GLXcontextRec {} -alias __GLXcontextRec = ___GLXcontextRec*; -alias GLXContext = __GLXcontextRec*; -struct ___GLXFBConfigRec {} -alias __GLXFBConfigRec = ___GLXFBConfigRec*; -alias GLXFBConfig = __GLXFBConfigRec*; -alias GLXFBConfigSGIX = __GLXFBConfigRec*; -} diff --git a/glad/generator/volt/templates/types/wgl.volt b/glad/generator/volt/templates/types/wgl.volt deleted file mode 100644 index 50c16805..00000000 --- a/glad/generator/volt/templates/types/wgl.volt +++ /dev/null @@ -1,131 +0,0 @@ -alias GLenum = u32; -alias INT32 = i32; -alias GLfloat = f32; -alias GLsizei = i32; -alias GLushort = u16; -alias GLuint = u32; -alias GLint = i32; -alias GLboolean = u8; -alias GLbitfield = u32; -alias INT64 = i64; - -version(Windows) { - public import core.windows.windows; -} else { - alias BOOL= i32; - alias CHAR = char; - alias WORD = u16; - alias DWORD = u32; - alias FLOAT = f32; - alias HANDLE = void*; - alias HDC = HANDLE; - alias HGLRC = HANDLE; - alias INT= i32; - alias LPCSTR = const(CHAR)*; - alias LPVOID = void*; - alias UINT= u32; - alias USHORT= u16; - alias VOID = void; - alias COLORREF = DWORD; - alias HENHMETAFILE = HANDLE; - alias BYTE= i8; -} - -alias PROC = HANDLE; - -extern(System) { - struct RECT { - i32 left; - i32 top; - i32 right; - ii32 bottom; - } - - struct LAYERPLANEDESCRIPTOR { - WORD nSize; - WORD nVersion; - DWORD dwFlags; - BYTE iPixelType; - BYTE cColorBits; - BYTE cRedBits; - BYTE cRedShift; - BYTE cGreenBits; - BYTE cGreenShift; - BYTE cBlueBits; - BYTE cBlueShift; - BYTE cAlphaBits; - BYTE cAlphaShift; - BYTE cAccumBits; - BYTE cAccumRedBits; - BYTE cAccumGreenBits; - BYTE cAccumBlueBits; - BYTE cAccumAlphaBits; - BYTE cDepthBits; - BYTE cStencilBits; - BYTE cAuxBuffers; - BYTE iLayerType; - BYTE bReserved; - COLORREF crTransparent; - } - - struct PIXELFORMATDESCRIPTOR { - WORD nSize; - WORD nVersion; - DWORD dwFlags; - BYTE iPixelType; - BYTE cColorBits; - BYTE cRedBits; - BYTE cRedShift; - BYTE cGreenBits; - BYTE cGreenShift; - BYTE cBlueBits; - BYTE cBlueShift; - BYTE cAlphaBits; - BYTE cAlphaShift; - BYTE cAccumBits; - BYTE cAccumRedBits; - BYTE cAccumGreenBits; - BYTE cAccumBlueBits; - BYTE cAccumAlphaBits; - BYTE cDepthBits; - BYTE cStencilBits; - BYTE cAuxBuffers; - BYTE iLayerType; - BYTE bReserved; - DWORD dwLayerMask; - DWORD dwVisibleMask; - DWORD dwDamageMask; - } - - struct POINTFLOAT { - FLOAT x; - FLOAT y; - } - - struct GLYPHMETRICSFLOAT { - FLOAT gmfBlackBoxX; - FLOAT gmfBlackBoxY; - POINTFLOAT gmfptGlyphOrigin; - FLOAT gmfCellIncX; - FLOAT gmfCellIncY; - } - alias PGLYPHMETRICSFLOAT = GLYPHMETRICSFLOAT*; - alias LPGLYPHMETRICSFLOAT = GLYPHMETRICSFLOAT; - - struct GPU_DEVICE { - DWORD cb; - CHAR[32] DeviceName; - CHAR[128] DeviceString; - DWORD Flags; - RECT rcVirtualScreen; - } - - alias PGPU_DEVICE = GPU_DEVICE; -} -struct _HPBUFFERARB; alias HPBUFFERARB = _HPBUFFERARB*; -struct _HPBUFFEREXT; alias HPBUFFEREXT = _HPBUFFEREXT*; -struct _HVIDEOOUTPUTDEVICENV; alias HVIDEOOUTPUTDEVICENV = _HVIDEOOUTPUTDEVICENV*; -struct _HPVIDEODEV; alias HPVIDEODEV = _HPVIDEODEV*; -struct _HPGPUNV; alias HPGPUNV = _HPGPUNV*; -struct _HGPUNV; alias HGPUNV = _HGPUNV*; -struct _HVIDEOINPUTDEVICENV; alias HVIDEOINPUTDEVICENV = _HVIDEOINPUTDEVICENV*; \ No newline at end of file diff --git a/setup.py b/setup.py index 25adf3f0..4c81a4e7 100644 --- a/setup.py +++ b/setup.py @@ -39,7 +39,6 @@ 'glad.generator': [ 'c = glad.generator.c.__init__:CGenerator', 'rust = glad.generator.rust.__init__:RustGenerator' - # TODO re-enable other languages ], 'glad.specification': [ 'egl = glad.specification:EGL', @@ -61,7 +60,10 @@ 'Programming Language :: Python :: 2', 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.4', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9', + 'Programming Language :: Python :: 3.10', 'Topic :: Games/Entertainment', 'Topic :: Multimedia :: Graphics', 'Topic :: Multimedia :: Graphics :: 3D Rendering', @@ -71,7 +73,7 @@ ], keywords='opengl glad generator gl wgl egl gles glx', author='David Herberth', - author_email='admin@dav1d.de', + author_email='github@dav1d.de', url='https://github.com/Dav1dde/glad', license='MIT', platforms='any' From 11f5ac799abebed3be6c11dfdb54de85fef7f6a5 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Fri, 21 Oct 2022 18:07:41 +0200 Subject: [PATCH 071/138] glad: adds SPDX license identifiers closes: #365 --- glad/generator/c/templates/base_template.c | 3 +++ glad/generator/c/templates/base_template.h | 2 ++ glad/generator/rust/templates/Cargo.toml | 1 + 3 files changed, 6 insertions(+) diff --git a/glad/generator/c/templates/base_template.c b/glad/generator/c/templates/base_template.c index 72d1c56c..8c493df1 100644 --- a/glad/generator/c/templates/base_template.c +++ b/glad/generator/c/templates/base_template.c @@ -1,4 +1,7 @@ {% import 'template_utils.h' as template_utils with context %} +/** + * SPDX-License-Identifier: (WTFPL OR CC0-1.0) AND Apache-2.0 + */ {% block includes %} #include #include diff --git a/glad/generator/c/templates/base_template.h b/glad/generator/c/templates/base_template.h index 4583ef7c..5b1a81f7 100644 --- a/glad/generator/c/templates/base_template.h +++ b/glad/generator/c/templates/base_template.h @@ -3,6 +3,8 @@ /** * Loader generated by glad {{ gen_info.version }} on {{ gen_info.when }} * + * SPDX-License-Identifier: (WTFPL OR CC0-1.0) AND Apache-2.0 + * * Generator: {{ gen_info.generator_name }} * Specification: {{ gen_info.specification }} * Extensions: {{ gen_info.extensions|length }} diff --git a/glad/generator/rust/templates/Cargo.toml b/glad/generator/rust/templates/Cargo.toml index 14cd0f1b..048c6bd3 100644 --- a/glad/generator/rust/templates/Cargo.toml +++ b/glad/generator/rust/templates/Cargo.toml @@ -2,6 +2,7 @@ name = "glad-{{ feature_set.name }}" version = "{{ version }}" authors = ["David Herberth "] +license = "(WTFPL OR CC0-1.0) AND Apache-2.0" [features] {% for platform in spec.platforms.values() %} From 4639f1afcbd3228f4761bb7c9c05e03d12d0f280 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Fri, 21 Oct 2022 18:21:33 +0200 Subject: [PATCH 072/138] c: adds GLAD_UNUSED macro this hopefully also gets rid of MSVC warnings, if not unlucky closes: #363 --- glad/generator/c/templates/base_template.c | 14 +++++++------- glad/generator/c/templates/egl.c | 2 +- glad/generator/c/templates/gl.c | 16 ++++++++-------- glad/generator/c/templates/glx.c | 10 +++++----- glad/generator/c/templates/loader/wgl.c | 2 +- glad/generator/c/templates/platform.h | 2 ++ glad/generator/c/templates/vk.c | 2 +- glad/generator/c/templates/wgl.c | 2 +- 8 files changed, 26 insertions(+), 24 deletions(-) diff --git a/glad/generator/c/templates/base_template.c b/glad/generator/c/templates/base_template.c index 8c493df1..f3f4f48a 100644 --- a/glad/generator/c/templates/base_template.c +++ b/glad/generator/c/templates/base_template.c @@ -71,17 +71,17 @@ static GLADapiproc glad_{{ spec.name }}_on_demand_loader(const char *name) { {% if options.debug %} {% block debug_default_pre %} static void _pre_call_{{ feature_set.name }}_callback_default(const char *name, GLADapiproc apiproc, int len_args, ...) { - (void) name; - (void) apiproc; - (void) len_args; + GLAD_UNUSED(name); + GLAD_UNUSED(apiproc); + GLAD_UNUSED(len_args); } {% endblock %} {% block debug_default_post %} static void _post_call_{{ feature_set.name }}_callback_default(void *ret, const char *name, GLADapiproc apiproc, int len_args, ...) { - (void) ret; - (void) name; - (void) apiproc; - (void) len_args; + GLAD_UNUSED(ret); + GLAD_UNUSED(name); + GLAD_UNUSED(apiproc); + GLAD_UNUSED(len_args); } {% endblock %} diff --git a/glad/generator/c/templates/egl.c b/glad/generator/c/templates/egl.c index b75d6798..5e03827a 100644 --- a/glad/generator/c/templates/egl.c +++ b/glad/generator/c/templates/egl.c @@ -39,7 +39,7 @@ static int glad_egl_find_extensions_{{ api|lower }}(EGLDisplay display) { {% for extension in feature_set.extensions %} GLAD_{{ extension.name }} = glad_egl_has_extension(extensions, "{{ extension.name }}"); {% else %} - (void) glad_egl_has_extension; + GLAD_UNUSED(glad_egl_has_extension); {% endfor %} return 1; diff --git a/glad/generator/c/templates/gl.c b/glad/generator/c/templates/gl.c index 218cfd68..25819a78 100644 --- a/glad/generator/c/templates/gl.c +++ b/glad/generator/c/templates/gl.c @@ -3,7 +3,7 @@ {% block debug_default_pre %} static void _pre_call_{{ feature_set.name }}_callback_default(const char *name, GLADapiproc apiproc, int len_args, ...) { - (void) len_args; + GLAD_UNUSED(len_args); if (apiproc == NULL) { fprintf(stderr, "GLAD: ERROR %s is NULL!\n", name); @@ -22,9 +22,9 @@ static void _pre_call_{{ feature_set.name }}_callback_default(const char *name, static void _post_call_{{ feature_set.name }}_callback_default(void *ret, const char *name, GLADapiproc apiproc, int len_args, ...) { GLenum error_code; - (void) ret; - (void) apiproc; - (void) len_args; + GLAD_UNUSED(ret); + GLAD_UNUSED(apiproc); + GLAD_UNUSED(len_args); error_code = glad_glGetError(); @@ -46,9 +46,9 @@ static int glad_gl_get_extensions({{ template_utils.context_arg(',') }} int vers #if GLAD_GL_IS_SOME_NEW_VERSION if(GLAD_VERSION_MAJOR(version) < 3) { #else - (void) version; - (void) out_num_exts_i; - (void) out_exts_i; + GLAD_UNUSED(version); + GLAD_UNUSED(out_num_exts_i); + GLAD_UNUSED(out_exts_i); #endif if ({{ 'glGetString'|ctx }} == NULL) { return 0; @@ -144,7 +144,7 @@ static int glad_gl_find_extensions_{{ api|lower }}({{ template_utils.context_arg {% for extension in feature_set.extensions|select('supports', api) %} {{ ('GLAD_' + extension.name)|ctx(name_only=True) }} = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "{{ extension.name }}"); {% else %} - (void) glad_gl_has_extension; + GLAD_UNUSED(glad_gl_has_extension); {% endfor %} glad_gl_free_extensions(exts_i, num_exts_i); diff --git a/glad/generator/c/templates/glx.c b/glad/generator/c/templates/glx.c index d40cdba3..c5665502 100644 --- a/glad/generator/c/templates/glx.c +++ b/glad/generator/c/templates/glx.c @@ -3,9 +3,9 @@ {% block loader %} static int glad_glx_has_extension(Display *display, int screen, const char *ext) { #ifndef GLX_VERSION_1_1 - (void) display; - (void) screen; - (void) ext; + GLAD_UNUSED(display); + GLAD_UNUSED(screen); + GLAD_UNUSED(ext); #else const char *terminator; const char *loc; @@ -47,7 +47,7 @@ static int glad_glx_find_extensions(Display *display, int screen) { {% for extension in feature_set.extensions %} GLAD_{{ extension.name }} = glad_glx_has_extension(display, screen, "{{ extension.name }}"); {% else %} - (void) glad_glx_has_extension; + GLAD_UNUSED(glad_glx_has_extension); {% endfor %} return 1; } @@ -56,7 +56,7 @@ static int glad_glx_find_core_{{ api|lower }}(Display **display, int *screen) { int major = 0, minor = 0; if(*display == NULL) { #ifdef GLAD_GLX_NO_X11 - (void) screen; + GLAD_UNUSED(screen); return 0; #else *display = XOpenDisplay(0); diff --git a/glad/generator/c/templates/loader/wgl.c b/glad/generator/c/templates/loader/wgl.c index f70e3e54..d6dc52a4 100644 --- a/glad/generator/c/templates/loader/wgl.c +++ b/glad/generator/c/templates/loader/wgl.c @@ -2,7 +2,7 @@ {% if not options.on_demand %} static GLADapiproc glad_wgl_get_proc(void *vuserptr, const char* name) { - (void) vuserptr; + GLAD_UNUSED(vuserptr); return GLAD_GNUC_EXTENSION (GLADapiproc) wglGetProcAddress(name); } diff --git a/glad/generator/c/templates/platform.h b/glad/generator/c/templates/platform.h index 732e1809..d321982e 100644 --- a/glad/generator/c/templates/platform.h +++ b/glad/generator/c/templates/platform.h @@ -54,6 +54,8 @@ #define GLAD_GNUC_EXTENSION #endif +#define GLAD_UNUSED(x) (void)(x) + #ifndef GLAD_API_CALL #if defined(GLAD_API_CALL_EXPORT) #if GLAD_PLATFORM_WIN32 || defined(__CYGWIN__) diff --git a/glad/generator/c/templates/vk.c b/glad/generator/c/templates/vk.c index 54018f51..2861a933 100644 --- a/glad/generator/c/templates/vk.c +++ b/glad/generator/c/templates/vk.c @@ -137,7 +137,7 @@ static int glad_vk_find_extensions_{{ api|lower }}({{ template_utils.context_arg {% endfor %} {# Special case: only one extension which is protected -> unused at compile time only on some platforms #} - (void) glad_vk_has_extension; + GLAD_UNUSED(glad_vk_has_extension); glad_vk_free_extensions(extension_count, extensions); diff --git a/glad/generator/c/templates/wgl.c b/glad/generator/c/templates/wgl.c index 190179f5..7586d028 100644 --- a/glad/generator/c/templates/wgl.c +++ b/glad/generator/c/templates/wgl.c @@ -54,7 +54,7 @@ static int glad_wgl_find_extensions_{{ api|lower }}(HDC hdc) { {% for extension in feature_set.extensions %} GLAD_{{ extension.name }} = glad_wgl_has_extension(hdc, "{{ extension.name }}"); {% else %} - (void) glad_wgl_has_extension; + GLAD_UNUSED(glad_wgl_has_extension); {% endfor %} return 1; } From 5548cef01ec042d8f16a9a0635d39561835a8908 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Fri, 21 Oct 2022 18:33:24 +0200 Subject: [PATCH 073/138] c: adds more GLES include guards closes: #273 --- glad/generator/c/templates/gl.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/glad/generator/c/templates/gl.h b/glad/generator/c/templates/gl.h index be7d3e6d..12a758e6 100644 --- a/glad/generator/c/templates/gl.h +++ b/glad/generator/c/templates/gl.h @@ -8,8 +8,9 @@ {% set header_data = [ ('gl', '__gl_h_', 'OpenGL (gl.h)'), ('gl', '__gl3_h_', 'OpenGL (gl3.h)'), ('gl', '__glext_h_', 'OpenGL (glext.h)'), ('gl', '__gl3ext_h_', 'OpenGL (gl3ext.h)'), - ('gles1', '__gl_h_', 'OpenGL ES 1'), - ('gles2', '__gl2_h_', 'OpenGL ES 2'), ('gles2', '__gl3_h_', 'OpenGL ES 3') + ('gles1', '__gl_h_', 'OpenGL ES 1'), ('gles1', '__gles1_gl_h_', 'OpenGL ES 1'), + ('gles2', '__gl2_h_', 'OpenGL ES 2'), ('gles2', '__gles2_gl2_h_', 'OpenGL ES 2'), + ('gles2', '__gl3_h_', 'OpenGL ES 3'), ('gles2', '__gles2_gl3_h_', 'OpenGL ES 3'), ] %} {% set written = [] %} {% for api, header_name, name in header_data %} From 55b21bfad1ac10719ea39ff393cf7a15c9f7579c Mon Sep 17 00:00:00 2001 From: David Herberth Date: Fri, 21 Oct 2022 18:45:10 +0200 Subject: [PATCH 074/138] glad: updates bundled specifications --- glad/files/egl.xml | 21 +- glad/files/gl.xml | 1409 +++++++------- glad/files/vk.xml | 4419 +++++++++++++++++++++++++++++++++----------- glad/files/wgl.xml | 9 +- 4 files changed, 4070 insertions(+), 1788 deletions(-) diff --git a/glad/files/egl.xml b/glad/files/egl.xml index e41aee53..9ced66d5 100644 --- a/glad/files/egl.xml +++ b/glad/files/egl.xml @@ -1063,6 +1063,16 @@ + + + + + + + + + + - - + + @@ -1724,7 +1734,7 @@ EGLBoolean eglQuerySupportedCompressionRatesEXT EGLDisplay dpy - EGLConfig *configs + EGLConfig config const EGLAttrib *attrib_list EGLint *rates EGLint rate_size @@ -3518,5 +3528,10 @@ + + + + + diff --git a/glad/files/gl.xml b/glad/files/gl.xml index f4aa9486..9a1b2e34 100644 --- a/glad/files/gl.xml +++ b/glad/files/gl.xml @@ -1,4 +1,4 @@ - + Copyright 2013-2020 The Khronos Group Inc. @@ -251,7 +251,7 @@ typedef unsigned int GLhandleARB; - + @@ -485,11 +485,11 @@ typedef unsigned int GLhandleARB; - - + + - + @@ -564,11 +564,11 @@ typedef unsigned int GLhandleARB; - - + + - + @@ -760,16 +760,16 @@ typedef unsigned int GLhandleARB; - - - - - - - - - - + + + + + + + + + + @@ -919,21 +919,21 @@ typedef unsigned int GLhandleARB; - - - + + + - + - - - - + + + + @@ -984,18 +984,18 @@ typedef unsigned int GLhandleARB; - + - + - + - - - - - + + + + + @@ -1043,7 +1043,7 @@ typedef unsigned int GLhandleARB; - + @@ -1156,9 +1156,9 @@ typedef unsigned int GLhandleARB; - + - + @@ -1178,24 +1178,24 @@ typedef unsigned int GLhandleARB; - - - - - - + + + + + + - - - - - - - - - - + + + + + + + + + + @@ -1563,34 +1563,34 @@ typedef unsigned int GLhandleARB; - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + - - + + @@ -1636,22 +1636,22 @@ typedef unsigned int GLhandleARB; - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + @@ -1691,7 +1691,7 @@ typedef unsigned int GLhandleARB; - + @@ -1710,7 +1710,7 @@ typedef unsigned int GLhandleARB; - + @@ -1760,10 +1760,9 @@ typedef unsigned int GLhandleARB; - - - - + + + @@ -1931,9 +1930,9 @@ typedef unsigned int GLhandleARB; - + - + @@ -2373,21 +2372,21 @@ typedef unsigned int GLhandleARB; - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + @@ -2477,7 +2476,7 @@ typedef unsigned int GLhandleARB; - + @@ -2557,11 +2556,11 @@ typedef unsigned int GLhandleARB; - - - - - + + + + + @@ -2627,69 +2626,69 @@ typedef unsigned int GLhandleARB; - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -2750,10 +2749,10 @@ typedef unsigned int GLhandleARB; - - - - + + + + @@ -2785,16 +2784,16 @@ typedef unsigned int GLhandleARB; - - - - - - - - - - + + + + + + + + + + @@ -2804,36 +2803,36 @@ typedef unsigned int GLhandleARB; - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + @@ -2920,86 +2919,86 @@ typedef unsigned int GLhandleARB; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + @@ -3471,10 +3470,10 @@ typedef unsigned int GLhandleARB; - + - + @@ -3999,10 +3998,10 @@ typedef unsigned int GLhandleARB; - + - + @@ -4150,83 +4149,83 @@ typedef unsigned int GLhandleARB; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4400,61 +4399,61 @@ typedef unsigned int GLhandleARB; - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -4652,16 +4651,16 @@ typedef unsigned int GLhandleARB; - - - + + + - - - + + + @@ -4795,12 +4794,12 @@ typedef unsigned int GLhandleARB; - + - + @@ -4874,53 +4873,53 @@ typedef unsigned int GLhandleARB; - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -4945,7 +4944,7 @@ typedef unsigned int GLhandleARB; - + @@ -5005,7 +5004,7 @@ typedef unsigned int GLhandleARB; - + @@ -5113,8 +5112,8 @@ typedef unsigned int GLhandleARB; - - + + @@ -5129,59 +5128,59 @@ typedef unsigned int GLhandleARB; - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -5284,7 +5283,7 @@ typedef unsigned int GLhandleARB; - + @@ -5464,7 +5463,10 @@ typedef unsigned int GLhandleARB; - + + + + @@ -5545,11 +5547,11 @@ typedef unsigned int GLhandleARB; - + - + - + @@ -5584,7 +5586,7 @@ typedef unsigned int GLhandleARB; - + @@ -5671,11 +5673,11 @@ typedef unsigned int GLhandleARB; - + - + - + @@ -5699,19 +5701,19 @@ typedef unsigned int GLhandleARB; - + - + - + - + @@ -5771,77 +5773,77 @@ typedef unsigned int GLhandleARB; - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -5999,14 +6001,14 @@ typedef unsigned int GLhandleARB; - - - - + + + + - + - + @@ -6037,9 +6039,9 @@ typedef unsigned int GLhandleARB; - - - + + + @@ -6386,7 +6388,7 @@ typedef unsigned int GLhandleARB; - + @@ -6877,7 +6879,7 @@ typedef unsigned int GLhandleARB; - + @@ -6890,6 +6892,15 @@ typedef unsigned int GLhandleARB; + + + + + + + + + @@ -6899,7 +6910,7 @@ typedef unsigned int GLhandleARB; - + @@ -6917,7 +6928,22 @@ typedef unsigned int GLhandleARB; - + + + + + + + + + + + + + + + + @@ -7027,7 +7053,7 @@ typedef unsigned int GLhandleARB; void glActiveStencilFaceEXT - GLenum face + GLenum face @@ -7048,39 +7074,39 @@ typedef unsigned int GLhandleARB; void glAlphaFragmentOp1ATI - GLenum op - GLuint dst - GLuint dstMod - GLuint arg1 - GLuint arg1Rep - GLuint arg1Mod + GLenum op + GLuint dst + GLuint dstMod + GLuint arg1 + GLuint arg1Rep + GLuint arg1Mod void glAlphaFragmentOp2ATI - GLenum op - GLuint dst - GLuint dstMod - GLuint arg1 - GLuint arg1Rep - GLuint arg1Mod - GLuint arg2 - GLuint arg2Rep - GLuint arg2Mod + GLenum op + GLuint dst + GLuint dstMod + GLuint arg1 + GLuint arg1Rep + GLuint arg1Mod + GLuint arg2 + GLuint arg2Rep + GLuint arg2Mod void 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 + GLenum op + GLuint dst + GLuint dstMod + GLuint arg1 + GLuint arg1Rep + GLuint arg1Mod + GLuint arg2 + GLuint arg2Rep + GLuint arg2Mod + GLuint arg3 + GLuint arg3Rep + GLuint arg3Mod void glAlphaFunc @@ -7482,7 +7508,7 @@ typedef unsigned int GLhandleARB; GLuint glBindMaterialParameterEXT - GLenum face + GLenum face GLenum value @@ -8384,21 +8410,21 @@ typedef unsigned int GLhandleARB; GLuint framebuffer GLenum buffer GLint drawbuffer - const GLfloat *value + const GLfloat *value void glClearNamedFramebufferiv GLuint framebuffer GLenum buffer GLint drawbuffer - const GLint *value + const GLint *value void glClearNamedFramebufferuiv GLuint framebuffer GLenum buffer GLint drawbuffer - const GLuint *value + const GLuint *value void glClearPixelLocalStorageuiEXT @@ -8864,42 +8890,42 @@ typedef unsigned int GLhandleARB; void glColorFragmentOp1ATI - GLenum op - GLuint dst - GLuint dstMask - GLuint dstMod - GLuint arg1 - GLuint arg1Rep - GLuint arg1Mod + GLenum op + GLuint dst + GLuint dstMask + GLuint dstMod + GLuint arg1 + GLuint arg1Rep + GLuint arg1Mod void glColorFragmentOp2ATI - GLenum op - GLuint dst - GLuint dstMask - GLuint dstMod - GLuint arg1 - GLuint arg1Rep - GLuint arg1Mod - GLuint arg2 - GLuint arg2Rep - GLuint arg2Mod + GLenum op + GLuint dst + GLuint dstMask + GLuint dstMod + GLuint arg1 + GLuint arg1Rep + GLuint arg1Mod + GLuint arg2 + GLuint arg2Rep + GLuint arg2Mod void 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 + 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 void glColorMask @@ -8947,7 +8973,7 @@ typedef unsigned int GLhandleARB; void glColorMaterial - GLenum face + GLenum face GLenum mode @@ -9045,14 +9071,14 @@ typedef unsigned int GLhandleARB; void glColorTableParameterfv GLenum target - GLenum pname + GLenum pname const GLfloat *params void glColorTableParameterfvSGI GLenum target - GLenum pname + GLenum pname const GLfloat *params @@ -9060,14 +9086,14 @@ typedef unsigned int GLhandleARB; void glColorTableParameteriv GLenum target - GLenum pname + GLenum pname const GLint *params void glColorTableParameterivSGI GLenum target - GLenum pname + GLenum pname const GLint *params @@ -9595,14 +9621,14 @@ typedef unsigned int GLhandleARB; void glConvolutionParameterf GLenum target - GLenum pname + GLenum pname GLfloat params void glConvolutionParameterfEXT GLenum target - GLenum pname + GLenum pname GLfloat params @@ -9610,14 +9636,14 @@ typedef unsigned int GLhandleARB; void glConvolutionParameterfv GLenum target - GLenum pname + GLenum pname const GLfloat *params void glConvolutionParameterfvEXT GLenum target - GLenum pname + GLenum pname const GLfloat *params @@ -9625,14 +9651,14 @@ typedef unsigned int GLhandleARB; void glConvolutionParameteri GLenum target - GLenum pname + GLenum pname GLint params void glConvolutionParameteriEXT GLenum target - GLenum pname + GLenum pname GLint params @@ -9640,14 +9666,14 @@ typedef unsigned int GLhandleARB; void glConvolutionParameteriv GLenum target - GLenum pname + GLenum pname const GLint *params void glConvolutionParameterivEXT GLenum target - GLenum pname + GLenum pname const GLint *params @@ -9655,13 +9681,13 @@ typedef unsigned int GLhandleARB; void glConvolutionParameterxOES GLenum target - GLenum pname + GLenum pname GLfixed param void glConvolutionParameterxvOES GLenum target - GLenum pname + GLenum pname const GLfixed *params @@ -10307,7 +10333,7 @@ typedef unsigned int GLhandleARB; void glCullFace - GLenum mode + GLenum mode @@ -12109,7 +12135,7 @@ typedef unsigned int GLhandleARB; void glFragmentColorMaterialSGIX - GLenum face + GLenum face GLenum mode @@ -12162,25 +12188,25 @@ typedef unsigned int GLhandleARB; void glFragmentMaterialfSGIX - GLenum face + GLenum face GLenum pname GLfloat param void glFragmentMaterialfvSGIX - GLenum face + GLenum face GLenum pname const GLfloat *params void glFragmentMaterialiSGIX - GLenum face + GLenum face GLenum pname GLint param void glFragmentMaterialivSGIX - GLenum face + GLenum face GLenum pname const GLint *params @@ -12289,6 +12315,16 @@ typedef unsigned int GLhandleARB; GLuint pixelindex const GLfloat *values + + void glFramebufferShadingRateEXT + GLenum target + GLenum attachment + GLuint texture + GLint baseLayer + GLsizei numLayers + GLsizei texelWidth + GLsizei texelHeight + void glFramebufferTexture GLenum target @@ -13064,42 +13100,42 @@ typedef unsigned int GLhandleARB; void glGetColorTableParameterfv GLenum target - GLenum pname + GLenum pname GLfloat *params void glGetColorTableParameterfvEXT GLenum target - GLenum pname + GLenum pname GLfloat *params void glGetColorTableParameterfvSGI GLenum target - GLenum pname + GLenum pname GLfloat *params void glGetColorTableParameteriv GLenum target - GLenum pname + GLenum pname GLint *params void glGetColorTableParameterivEXT GLenum target - GLenum pname + GLenum pname GLint *params void glGetColorTableParameterivSGI GLenum target - GLenum pname + GLenum pname GLint *params @@ -13153,7 +13189,7 @@ typedef unsigned int GLhandleARB; GLuint glGetCommandHeaderNV - GLenum tokenID + GLenum tokenID GLuint size @@ -13184,7 +13220,7 @@ typedef unsigned int GLhandleARB; GLuint texture GLint level GLsizei bufSize - void *pixels + void *pixels void glGetCompressedTextureImageEXT @@ -13204,7 +13240,7 @@ typedef unsigned int GLhandleARB; GLsizei height GLsizei depth GLsizei bufSize - void *pixels + void *pixels void glGetConvolutionFilter @@ -13226,28 +13262,28 @@ typedef unsigned int GLhandleARB; void glGetConvolutionParameterfv GLenum target - GLenum pname + GLenum pname GLfloat *params void glGetConvolutionParameterfvEXT GLenum target - GLenum pname + GLenum pname GLfloat *params void glGetConvolutionParameteriv GLenum target - GLenum pname + GLenum pname GLint *params void glGetConvolutionParameterivEXT GLenum target - GLenum pname + GLenum pname GLint *params @@ -13278,7 +13314,7 @@ typedef unsigned int GLhandleARB; GLuint count GLsizei bufSize GLenum *categories - GLuint *severities + GLenum *severities GLuint *ids GLsizei *lengths GLchar *message @@ -13471,16 +13507,23 @@ typedef unsigned int GLhandleARB; void glGetFragmentMaterialfvSGIX - GLenum face + GLenum face GLenum pname GLfloat *params void glGetFragmentMaterialivSGIX - GLenum face + GLenum face GLenum pname GLint *params + + void glGetFragmentShadingRatesEXT + GLsizei samples + GLsizei maxCount + GLsizei *count + GLenum *shadingRates + void glGetFramebufferAttachmentParameteriv GLenum target @@ -13546,7 +13589,7 @@ typedef unsigned int GLhandleARB; GLhandleARB glGetHandleARB - GLenum pname + GLenum pname void glGetHistogram @@ -13870,33 +13913,33 @@ typedef unsigned int GLhandleARB; void glGetMaterialfv - GLenum face + GLenum face GLenum pname GLfloat *params void glGetMaterialiv - GLenum face + GLenum face GLenum pname GLint *params void glGetMaterialxOES - GLenum face + GLenum face GLenum pname GLfixed param void glGetMaterialxv - GLenum face + GLenum face GLenum pname GLfixed *params void glGetMaterialxvOES - GLenum face + GLenum face GLenum pname GLfixed *params @@ -14470,7 +14513,7 @@ typedef unsigned int GLhandleARB; GLuint *dataSize GLuint *noCounters GLuint *noInstances - GLuint *capsMask + GLuint *capsMask void glGetPixelMapfv @@ -15342,7 +15385,7 @@ typedef unsigned int GLhandleARB; GLenum format GLenum type GLsizei bufSize - void *pixels + void *pixels void glGetTextureImageEXT @@ -15464,7 +15507,7 @@ typedef unsigned int GLhandleARB; GLenum format GLenum type GLsizei bufSize - void *pixels + void *pixels void glGetTrackMatrixivNV @@ -16308,7 +16351,7 @@ typedef unsigned int GLhandleARB; void glHintPGI GLenum target - GLint mode + GLint mode void glHistogram @@ -16419,7 +16462,7 @@ typedef unsigned int GLhandleARB; void glIndexMaterialEXT - GLenum face + GLenum face GLenum mode @@ -16554,13 +16597,13 @@ typedef unsigned int GLhandleARB; void glInvalidateNamedFramebufferData GLuint framebuffer GLsizei numAttachments - const GLenum *attachments + const GLenum *attachments void glInvalidateNamedFramebufferSubData GLuint framebuffer GLsizei numAttachments - const GLenum *attachments + const GLenum *attachments GLint x GLint y GLsizei width @@ -16900,7 +16943,7 @@ typedef unsigned int GLhandleARB; void glLightEnviSGIX GLenum pname - GLint param + GLint param void glLightModelf @@ -17457,53 +17500,53 @@ typedef unsigned int GLhandleARB; void glMaterialf - GLenum face + GLenum face GLenum pname GLfloat param void glMaterialfv - GLenum face + GLenum face GLenum pname const GLfloat *params void glMateriali - GLenum face + GLenum face GLenum pname GLint param void glMaterialiv - GLenum face + GLenum face GLenum pname const GLint *params void glMaterialx - GLenum face + GLenum face GLenum pname GLfixed param void glMaterialxOES - GLenum face + GLenum face GLenum pname GLfixed param void glMaterialxv - GLenum face + GLenum face GLenum pname const GLfixed *param void glMaterialxvOES - GLenum face + GLenum face GLenum pname const GLfixed *param @@ -19017,7 +19060,7 @@ typedef unsigned int GLhandleARB; void glNamedBufferData GLuint buffer GLsizeiptr size - const void *data + const void *data GLenum usage @@ -19085,7 +19128,7 @@ typedef unsigned int GLhandleARB; GLuint buffer GLintptr offset GLsizeiptr size - const void *data + const void *data void glNamedBufferSubDataEXT @@ -19112,7 +19155,7 @@ typedef unsigned int GLhandleARB; void glNamedFramebufferDrawBuffers GLuint framebuffer GLsizei n - const GLenum *bufs + const GLenum *bufs void glNamedFramebufferParameteri @@ -19702,8 +19745,8 @@ typedef unsigned int GLhandleARB; void glPassTexCoordATI - GLuint dst - GLuint coord + GLuint dst + GLuint coord GLenum swizzle @@ -20175,13 +20218,13 @@ typedef unsigned int GLhandleARB; void glPolygonMode - GLenum face + GLenum face GLenum mode void glPolygonModeNV - GLenum face + GLenum face GLenum mode @@ -22322,7 +22365,7 @@ typedef unsigned int GLhandleARB; void glReplacementCodeuiColor3fVertex3fSUN - GLuint rc + GLuint rc GLfloat r GLfloat g GLfloat b @@ -22332,13 +22375,13 @@ typedef unsigned int GLhandleARB; void glReplacementCodeuiColor3fVertex3fvSUN - const GLuint *rc + const GLuint *rc const GLfloat *c const GLfloat *v void glReplacementCodeuiColor4fNormal3fVertex3fSUN - GLuint rc + GLuint rc GLfloat r GLfloat g GLfloat b @@ -22352,14 +22395,14 @@ typedef unsigned int GLhandleARB; void glReplacementCodeuiColor4fNormal3fVertex3fvSUN - const GLuint *rc + const GLuint *rc const GLfloat *c const GLfloat *n const GLfloat *v void glReplacementCodeuiColor4ubVertex3fSUN - GLuint rc + GLuint rc GLubyte r GLubyte g GLubyte b @@ -22370,13 +22413,13 @@ typedef unsigned int GLhandleARB; void glReplacementCodeuiColor4ubVertex3fvSUN - const GLuint *rc + const GLuint *rc const GLubyte *c const GLfloat *v void glReplacementCodeuiNormal3fVertex3fSUN - GLuint rc + GLuint rc GLfloat nx GLfloat ny GLfloat nz @@ -22386,17 +22429,17 @@ typedef unsigned int GLhandleARB; void glReplacementCodeuiNormal3fVertex3fvSUN - const GLuint *rc + const GLuint *rc const GLfloat *n const GLfloat *v void glReplacementCodeuiSUN - GLuint code + GLuint code void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN - GLuint rc + GLuint rc GLfloat s GLfloat t GLfloat r @@ -22412,7 +22455,7 @@ typedef unsigned int GLhandleARB; void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN - const GLuint *rc + const GLuint *rc const GLfloat *tc const GLfloat *c const GLfloat *n @@ -22420,7 +22463,7 @@ typedef unsigned int GLhandleARB; void glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN - GLuint rc + GLuint rc GLfloat s GLfloat t GLfloat nx @@ -22432,14 +22475,14 @@ typedef unsigned int GLhandleARB; void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN - const GLuint *rc + const GLuint *rc const GLfloat *tc const GLfloat *n const GLfloat *v void glReplacementCodeuiTexCoord2fVertex3fSUN - GLuint rc + GLuint rc GLfloat s GLfloat t GLfloat x @@ -22448,25 +22491,25 @@ typedef unsigned int GLhandleARB; void glReplacementCodeuiTexCoord2fVertex3fvSUN - const GLuint *rc + const GLuint *rc const GLfloat *tc const GLfloat *v void glReplacementCodeuiVertex3fSUN - GLuint rc + GLuint rc GLfloat x GLfloat y GLfloat z void glReplacementCodeuiVertex3fvSUN - const GLuint *rc + const GLuint *rc const GLfloat *v void glReplacementCodeuivSUN - const GLuint *code + const GLuint *code void glReplacementCodeusSUN @@ -22579,8 +22622,8 @@ typedef unsigned int GLhandleARB; void glSampleMapATI - GLuint dst - GLuint interp + GLuint dst + GLuint interp GLenum swizzle @@ -23111,7 +23154,7 @@ typedef unsigned int GLhandleARB; void glSetFragmentShaderConstantATI - GLuint dst + GLuint dst const GLfloat *value @@ -23187,6 +23230,15 @@ typedef unsigned int GLhandleARB; GLuint storageBlockIndex GLuint storageBlockBinding + + void glShadingRateEXT + GLenum rate + + + void glShadingRateCombinerOpsEXT + GLenum combinerOp0 + GLenum combinerOp1 + void glShadingRateImageBarrierNV GLboolean synchronize @@ -23240,8 +23292,8 @@ typedef unsigned int GLhandleARB; GLuint shader const GLchar *pEntryPoint GLuint numSpecializationConstants - const GLuint *pConstantIndex - const GLuint *pConstantValue + const GLuint *pConstantIndex + const GLuint *pConstantValue void glSpecializeShaderARB @@ -23325,7 +23377,7 @@ typedef unsigned int GLhandleARB; void glStencilFuncSeparate - GLenum face + GLenum face GLenum func GLint ref GLuint mask @@ -23344,7 +23396,7 @@ typedef unsigned int GLhandleARB; void glStencilMaskSeparate - GLenum face + GLenum face GLuint mask @@ -23356,14 +23408,14 @@ typedef unsigned int GLhandleARB; void glStencilOpSeparate - GLenum face + GLenum face GLenum sfail GLenum dpfail GLenum dppass void glStencilOpSeparateATI - GLenum face + GLenum face GLenum sfail GLenum dpfail GLenum dppass @@ -23371,7 +23423,7 @@ typedef unsigned int GLhandleARB; void glStencilOpValueAMD - GLenum face + GLenum face GLuint value @@ -24631,23 +24683,23 @@ typedef unsigned int GLhandleARB; - void TexStorageAttribs2DEXT + void glTexStorageAttribs2DEXT GLenum target GLsizei levels GLenum internalformat GLsizei width GLsizei height - const int *attrib_list + const GLint* attrib_list - void TexStorageAttribs3DEXT + void glTexStorageAttribs3DEXT GLenum target GLsizei levels GLenum internalformat GLsizei width GLsizei height GLsizei depth - const int *attrib_list + const GLint* attrib_list void glTexStorageMem1DEXT @@ -24978,7 +25030,7 @@ typedef unsigned int GLhandleARB; void glTextureMaterialEXT - GLenum face + GLenum face GLenum mode @@ -25016,7 +25068,7 @@ typedef unsigned int GLhandleARB; void glTextureParameterIiv GLuint texture GLenum pname - const GLint *params + const GLint *params void glTextureParameterIivEXT @@ -25029,7 +25081,7 @@ typedef unsigned int GLhandleARB; void glTextureParameterIuiv GLuint texture GLenum pname - const GLuint *params + const GLuint *params void glTextureParameterIuivEXT @@ -25056,7 +25108,7 @@ typedef unsigned int GLhandleARB; void glTextureParameterfv GLuint texture GLenum pname - const GLfloat *param + const GLfloat *param void glTextureParameterfvEXT @@ -25083,7 +25135,7 @@ typedef unsigned int GLhandleARB; void glTextureParameteriv GLuint texture GLenum pname - const GLint *param + const GLint *param void glTextureParameterivEXT @@ -25418,15 +25470,15 @@ typedef unsigned int GLhandleARB; GLuint program GLsizei count const GLchar *const*varyings - GLenum bufferMode + GLenum bufferMode void glTransformFeedbackVaryingsNV GLuint program GLsizei count - const GLint *locations - GLenum bufferMode + const GLint *locations + GLenum bufferMode void glTransformPathNV @@ -26966,9 +27018,9 @@ typedef unsigned int GLhandleARB; GLuint vaobj GLuint first GLsizei count - const GLuint *buffers - const GLintptr *offsets - const GLsizei *strides + const GLuint *buffers + const GLintptr *offsets + const GLsizei *strides void glVertexArrayVertexOffsetEXT @@ -40722,6 +40774,40 @@ typedef unsigned int GLhandleARB; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -41464,6 +41550,7 @@ typedef unsigned int GLhandleARB; + @@ -41628,6 +41715,7 @@ typedef unsigned int GLhandleARB; + @@ -42244,8 +42332,8 @@ typedef unsigned int GLhandleARB; - - + + @@ -42808,6 +42896,13 @@ typedef unsigned int GLhandleARB; + + + + + + + diff --git a/glad/files/vk.xml b/glad/files/vk.xml index 9477feae..9d6cc21c 100644 --- a/glad/files/vk.xml +++ b/glad/files/vk.xml @@ -56,6 +56,7 @@ branch of the member gitlab server. + @@ -67,11 +68,12 @@ branch of the member gitlab server. - + + @@ -157,7 +159,7 @@ branch of the member gitlab server. // Vulkan 1.3 version number #define VK_API_VERSION_1_3 VK_MAKE_API_VERSION(0, 1, 3, 0)// Patch version should always be set to 0 // Version of this file -#define VK_HEADER_VERSION 204 +#define VK_HEADER_VERSION 231 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) @@ -198,12 +200,42 @@ branch of the member gitlab server. struct ANativeWindow; struct AHardwareBuffer; - -#ifdef __OBJC__ + #ifdef __OBJC__ @class CAMetalLayer; #else typedef void CAMetalLayer; #endif + #ifdef __OBJC__ +@protocol MTLDevice; +typedef id<MTLDevice> MTLDevice_id; +#else +typedef void* MTLDevice_id; +#endif + #ifdef __OBJC__ +@protocol MTLCommandQueue; +typedef id<MTLCommandQueue> MTLCommandQueue_id; +#else +typedef void* MTLCommandQueue_id; +#endif + #ifdef __OBJC__ +@protocol MTLBuffer; +typedef id<MTLBuffer> MTLBuffer_id; +#else +typedef void* MTLBuffer_id; +#endif + #ifdef __OBJC__ +@protocol MTLTexture; +typedef id<MTLTexture> MTLTexture_id; +#else +typedef void* MTLTexture_id; +#endif + #ifdef __OBJC__ +@protocol MTLSharedEvent; +typedef id<MTLSharedEvent> MTLSharedEvent_id; +#else +typedef void* MTLSharedEvent_id; +#endif + typedef struct __IOSurface* IOSurfaceRef; typedef uint32_t VkSampleMask; typedef uint32_t VkBool32; @@ -233,7 +265,7 @@ typedef void CAMetalLayer; typedef VkFlags VkQueryPoolCreateFlags; typedef VkFlags VkRenderPassCreateFlags; typedef VkFlags VkSamplerCreateFlags; - typedef VkFlags VkPipelineLayoutCreateFlags; + typedef VkFlags VkPipelineLayoutCreateFlags; typedef VkFlags VkPipelineCacheCreateFlags; typedef VkFlags VkPipelineDepthStencilStateCreateFlags; typedef VkFlags VkPipelineDynamicStateCreateFlags; @@ -247,7 +279,7 @@ typedef void CAMetalLayer; typedef VkFlags VkPipelineShaderStageCreateFlags; typedef VkFlags VkDescriptorSetLayoutCreateFlags; typedef VkFlags VkBufferViewCreateFlags; - typedef VkFlags VkInstanceCreateFlags; + typedef VkFlags VkInstanceCreateFlags; typedef VkFlags VkDeviceCreateFlags; typedef VkFlags VkDeviceQueueCreateFlags; typedef VkFlags VkQueueFlags; @@ -296,7 +328,7 @@ typedef void CAMetalLayer; typedef VkFlags VkBuildAccelerationStructureFlagsKHR; - typedef VkFlags VkPrivateDataSlotCreateFlags; + typedef VkFlags VkPrivateDataSlotCreateFlags; typedef VkFlags VkAccelerationStructureCreateFlagsKHR; typedef VkFlags VkDescriptorUpdateTemplateCreateFlags; @@ -320,6 +352,9 @@ typedef void CAMetalLayer; typedef VkFlags VkRenderingFlags; + typedef VkFlags VkBuildMicromapFlagsEXT; + typedef VkFlags VkMicromapCreateFlagsEXT; + WSI extensions typedef VkFlags VkCompositeAlphaFlagsKHR; @@ -396,29 +431,39 @@ typedef void CAMetalLayer; typedef VkFlags VkImageFormatConstraintsFlagsFUCHSIA; typedef VkFlags VkImageConstraintsInfoFlagsFUCHSIA; + typedef VkFlags VkGraphicsPipelineLibraryFlagsEXT; + typedef VkFlags VkImageCompressionFlagsEXT; + typedef VkFlags VkImageCompressionFixedRateFlagsEXT; + typedef VkFlags VkExportMetalObjectTypeFlagsEXT; + typedef VkFlags VkDeviceAddressBindingFlagsEXT; + typedef VkFlags VkOpticalFlowGridSizeFlagsNV; + typedef VkFlags VkOpticalFlowUsageFlagsNV; + typedef VkFlags VkOpticalFlowSessionCreateFlagsNV; + typedef VkFlags VkOpticalFlowExecuteFlagsNV; Video Core extension typedef VkFlags VkVideoCodecOperationFlagsKHR; typedef VkFlags VkVideoCapabilityFlagsKHR; typedef VkFlags VkVideoSessionCreateFlagsKHR; + typedef VkFlags VkVideoSessionParametersCreateFlagsKHR; typedef VkFlags VkVideoBeginCodingFlagsKHR; typedef VkFlags VkVideoEndCodingFlagsKHR; - typedef VkFlags VkVideoCodingQualityPresetFlagsKHR; typedef VkFlags VkVideoCodingControlFlagsKHR; Video Decode Core extension - typedef VkFlags VkVideoDecodeFlagsKHR; + typedef VkFlags VkVideoDecodeUsageFlagsKHR; + typedef VkFlags VkVideoDecodeCapabilityFlagsKHR; + typedef VkFlags VkVideoDecodeFlagsKHR; Video Decode H.264 extension typedef VkFlags VkVideoDecodeH264PictureLayoutFlagsEXT; - typedef VkFlags VkVideoDecodeH264CreateFlagsEXT; - - Video Decode H.265 extension - typedef VkFlags VkVideoDecodeH265CreateFlagsEXT; Video Encode Core extension - typedef VkFlags VkVideoEncodeFlagsKHR; - typedef VkFlags VkVideoEncodeRateControlFlagsKHR; + typedef VkFlags VkVideoEncodeFlagsKHR; + typedef VkFlags VkVideoEncodeUsageFlagsKHR; + typedef VkFlags VkVideoEncodeContentFlagsKHR; + typedef VkFlags VkVideoEncodeCapabilityFlagsKHR; + typedef VkFlags VkVideoEncodeRateControlFlagsKHR; typedef VkFlags VkVideoEncodeRateControlModeFlagsKHR; typedef VkFlags VkVideoChromaSubsamplingFlagsKHR; typedef VkFlags VkVideoComponentBitDepthFlagsKHR; @@ -427,16 +472,13 @@ typedef void CAMetalLayer; typedef VkFlags VkVideoEncodeH264CapabilityFlagsEXT; typedef VkFlags VkVideoEncodeH264InputModeFlagsEXT; typedef VkFlags VkVideoEncodeH264OutputModeFlagsEXT; - typedef VkFlags VkVideoEncodeH264CreateFlagsEXT; - typedef VkFlags VkVideoEncodeH264RateControlStructureFlagsEXT; Video Encode H.265 extension - typedef VkFlags VkVideoEncodeH265CapabilityFlagsEXT; + typedef VkFlags VkVideoEncodeH265CapabilityFlagsEXT; typedef VkFlags VkVideoEncodeH265InputModeFlagsEXT; typedef VkFlags VkVideoEncodeH265OutputModeFlagsEXT; - typedef VkFlags VkVideoEncodeH265CreateFlagsEXT; typedef VkFlags VkVideoEncodeH265CtbSizeFlagsEXT; - typedef VkFlags VkVideoEncodeH265RateControlStructureFlagsEXT; + typedef VkFlags VkVideoEncodeH265TransformBlockSizeFlagsEXT; Types which can be void pointers or class pointers, selected at compile time VK_DEFINE_HANDLE(VkInstance) @@ -479,6 +521,8 @@ typedef void CAMetalLayer; VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuModuleNVX) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuFunctionNVX) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkOpticalFlowSessionNV) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkMicromapEXT) WSI extensions VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR) @@ -648,6 +692,7 @@ typedef void CAMetalLayer; + @@ -661,6 +706,21 @@ typedef void CAMetalLayer; + + + + + + + + + + + + + + + WSI extensions @@ -724,6 +784,14 @@ typedef void CAMetalLayer; + + + + + + + + Enumerated types in the header, but not used by the API @@ -739,12 +807,12 @@ typedef void CAMetalLayer; - Video Decode extensions - + + Video H.264 Decode extensions @@ -752,22 +820,25 @@ typedef void CAMetalLayer; Video H.265 Decode extensions Video Encode extensions - - + + + + Video H.264 Encode extensions - - + Video H.265 Encode extensions + + - + The PFN_vk*Function types are used by VkAllocationCallbacks below typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)( @@ -940,10 +1011,10 @@ typedef void CAMetalLayer; const char* const* ppEnabledExtensionNamesExtension names to be enabled - VkQueueFlags queueFlagsQueue flags - uint32_t queueCount - uint32_t timestampValidBits - VkExtent3D minImageTransferGranularityMinimum alignment requirement for image transfers + VkQueueFlags queueFlagsQueue flags + uint32_t queueCount + uint32_t timestampValidBits + VkExtent3D minImageTransferGranularityMinimum alignment requirement for image transfers uint32_t memoryTypeCount @@ -963,9 +1034,9 @@ typedef void CAMetalLayer; uint32_t memoryTypeBitsBitmask of the allowed memory type indices into memoryTypes[] for this object - VkImageAspectFlags aspectMask - VkExtent3D imageGranularity - VkSparseImageFormatFlags flags + VkImageAspectFlags aspectMask + VkExtent3D imageGranularity + VkSparseImageFormatFlags flags VkSparseImageFormatProperties formatProperties @@ -990,9 +1061,9 @@ typedef void CAMetalLayer; VkDeviceSize sizeSize of the range within the memory object - VkFormatFeatureFlags linearTilingFeaturesFormat features in case of linear tiling - VkFormatFeatureFlags optimalTilingFeaturesFormat features in case of optimal tiling - VkFormatFeatureFlags bufferFeaturesFormat features supported by buffers + VkFormatFeatureFlags linearTilingFeaturesFormat features in case of linear tiling + VkFormatFeatureFlags optimalTilingFeaturesFormat features in case of optimal tiling + VkFormatFeatureFlags bufferFeaturesFormat features supported by buffers VkExtent3D maxExtentmax image dimensions for this resource type @@ -1047,7 +1118,7 @@ typedef void CAMetalLayer; VkStructureType sType const void* pNext - VkBufferViewCreateFlagsflags + VkBufferViewCreateFlags flags VkBuffer buffer VkFormat formatOptionally specifies format of elements VkDeviceSize offsetSpecified in bytes @@ -1144,7 +1215,7 @@ typedef void CAMetalLayer; VkDeviceSize sizeSpecified in bytes VkDeviceMemory memory VkDeviceSize memoryOffsetSpecified in bytes - VkSparseMemoryBindFlagsflags + VkSparseMemoryBindFlags flags VkImageSubresource subresource @@ -1152,7 +1223,7 @@ typedef void CAMetalLayer; VkExtent3D extent VkDeviceMemory memory VkDeviceSize memoryOffsetSpecified in bytes - VkSparseMemoryBindFlagsflags + VkSparseMemoryBindFlags flags VkBuffer buffer @@ -1211,9 +1282,9 @@ typedef void CAMetalLayer; VkOffset3D dstOffset VkExtent3D extent - + VkStructureType sType - const void* pNext + const void* pNextnoautovalidity because this structure can be either an explicit parameter, or passed in a pNext chain VkShaderModuleCreateFlags flags size_t codeSizeSpecified in bytes const uint32_t* pCodeBinary code of size codeSize @@ -1241,7 +1312,7 @@ typedef void CAMetalLayer; const void* pNext VkDescriptorPoolCreateFlags flags uint32_t maxSets - uint32_t poolSizeCount + uint32_t poolSizeCount const VkDescriptorPoolSize* pPoolSizes @@ -1267,7 +1338,7 @@ typedef void CAMetalLayer; const void* pNext VkPipelineShaderStageCreateFlags flags VkShaderStageFlagBits stageShader stage - VkShaderModule moduleModule containing entry point + VkShaderModule moduleModule containing entry point const char* pNameNull-terminated entry point name const VkSpecializationInfo* pSpecializationInfo @@ -1365,7 +1436,7 @@ typedef void CAMetalLayer; VkBool32 logicOpEnable VkLogicOp logicOp uint32_t attachmentCount# of pAttachments - const VkPipelineColorBlendAttachmentState* pAttachments + const VkPipelineColorBlendAttachmentState* pAttachments float blendConstants[4] @@ -1402,20 +1473,20 @@ typedef void CAMetalLayer; VkStructureType sType const void* pNext VkPipelineCreateFlags flagsPipeline creation flags - uint32_t stageCount - const VkPipelineShaderStageCreateInfo* pStagesOne entry for each active shader stage + uint32_t stageCount + const VkPipelineShaderStageCreateInfo* pStagesOne entry for each active shader stage const VkPipelineVertexInputStateCreateInfo* pVertexInputState const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState const VkPipelineTessellationStateCreateInfo* pTessellationState const VkPipelineViewportStateCreateInfo* pViewportState - const VkPipelineRasterizationStateCreateInfo* pRasterizationState + const VkPipelineRasterizationStateCreateInfo* pRasterizationState const VkPipelineMultisampleStateCreateInfo* pMultisampleState const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState const VkPipelineColorBlendStateCreateInfo* pColorBlendState const VkPipelineDynamicStateCreateInfo* pDynamicState - VkPipelineLayout layoutInterface layout of the pipeline - VkRenderPass renderPass - uint32_t subpass + VkPipelineLayout layoutInterface layout of the pipeline + VkRenderPass renderPass + uint32_t subpass VkPipeline basePipelineHandleIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is nonzero, it specifies the handle of the base pipeline this is a derivative of int32_t basePipelineIndexIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is not -1, it specifies an index into pCreateInfos of the base pipeline this is a derivative of @@ -1444,7 +1515,7 @@ typedef void CAMetalLayer; const void* pNext VkPipelineLayoutCreateFlags flags uint32_t setLayoutCountNumber of descriptor sets interfaced by the pipeline - const VkDescriptorSetLayout* pSetLayoutsArray of setCount number of descriptor set layout objects defining the layout of the + const VkDescriptorSetLayout* pSetLayoutsArray of setCount number of descriptor set layout objects defining the layout of the uint32_t pushConstantRangeCountNumber of push-constant ranges used by the pipeline const VkPushConstantRange* pPushConstantRangesArray of pushConstantRangeCount number of ranges used by various shader stages @@ -1639,11 +1710,11 @@ typedef void CAMetalLayer; VkBool32 inheritedQueriesQueries may be inherited from primary to secondary command buffers - VkBool32 residencyStandard2DBlockShapeSparse resources support: GPU will access all 2D (single sample) sparse resources using the standard sparse image block shapes (based on pixel format) - VkBool32 residencyStandard2DMultisampleBlockShapeSparse resources support: GPU will access all 2D (multisample) sparse resources using the standard sparse image block shapes (based on pixel format) - VkBool32 residencyStandard3DBlockShapeSparse resources support: GPU will access all 3D sparse resources using the standard sparse image block shapes (based on pixel format) - VkBool32 residencyAlignedMipSizeSparse resources support: Images with mip level dimensions that are NOT a multiple of the sparse image block dimensions will be placed in the mip tail - VkBool32 residencyNonResidentStrictSparse resources support: GPU can consistently access non-resident regions of a resource, all reads return as if data is 0, writes are discarded + VkBool32 residencyStandard2DBlockShapeSparse resources support: GPU will access all 2D (single sample) sparse resources using the standard sparse image block shapes (based on pixel format) + VkBool32 residencyStandard2DMultisampleBlockShapeSparse resources support: GPU will access all 2D (multisample) sparse resources using the standard sparse image block shapes (based on pixel format) + VkBool32 residencyStandard3DBlockShapeSparse resources support: GPU will access all 3D sparse resources using the standard sparse image block shapes (based on pixel format) + VkBool32 residencyAlignedMipSizeSparse resources support: Images with mip level dimensions that are NOT a multiple of the sparse image block dimensions will be placed in the mip tail + VkBool32 residencyNonResidentStrictSparse resources support: GPU can consistently access non-resident regions of a resource, all reads return as if data is 0, writes are discarded resource maximum sizes @@ -1659,7 +1730,7 @@ typedef void CAMetalLayer; memory limits uint32_t maxMemoryAllocationCountmax number of device memory allocations supported uint32_t maxSamplerAllocationCountmax number of samplers that can be allocated on a device - VkDeviceSize bufferImageGranularityGranularity (in bytes) at which buffers and images can be bound to adjacent memory for simultaneous usage + VkDeviceSize bufferImageGranularityGranularity (in bytes) at which buffers and images can be bound to adjacent memory for simultaneous usage VkDeviceSize sparseAddressSpaceSizeTotal address space available for sparse allocations (bytes) descriptor set limits uint32_t maxBoundDescriptorSetsmax number of descriptors sets that can be bound to a pipeline @@ -1710,28 +1781,28 @@ typedef void CAMetalLayer; uint32_t maxComputeWorkGroupCount[3]max num of compute work groups that may be dispatched by a single command (x,y,z) uint32_t maxComputeWorkGroupInvocationsmax total compute invocations in a single local work group uint32_t maxComputeWorkGroupSize[3]max local size of a compute work group (x,y,z) - uint32_t subPixelPrecisionBitsnumber bits of subpixel precision in screen x and y - uint32_t subTexelPrecisionBitsnumber bits of precision for selecting texel weights - uint32_t mipmapPrecisionBitsnumber bits of precision for selecting mipmap weights + uint32_t subPixelPrecisionBitsnumber bits of subpixel precision in screen x and y + uint32_t subTexelPrecisionBitsnumber bits of precision for selecting texel weights + uint32_t mipmapPrecisionBitsnumber bits of precision for selecting mipmap weights uint32_t maxDrawIndexedIndexValuemax index value for indexed draw calls (for 32-bit indices) uint32_t maxDrawIndirectCountmax draw count for indirect drawing calls float maxSamplerLodBiasmax absolute sampler LOD bias float maxSamplerAnisotropymax degree of sampler anisotropy uint32_t maxViewportsmax number of active viewports uint32_t maxViewportDimensions[2]max viewport dimensions (x,y) - float viewportBoundsRange[2]viewport bounds range (min,max) - uint32_t viewportSubPixelBitsnumber bits of subpixel precision for viewport - size_t minMemoryMapAlignmentmin required alignment of pointers returned by MapMemory (bytes) - VkDeviceSize minTexelBufferOffsetAlignmentmin required alignment for texel buffer offsets (bytes) - VkDeviceSize minUniformBufferOffsetAlignmentmin required alignment for uniform buffer sizes and offsets (bytes) - VkDeviceSize minStorageBufferOffsetAlignmentmin required alignment for storage buffer offsets (bytes) + float viewportBoundsRange[2]viewport bounds range (min,max) + uint32_t viewportSubPixelBitsnumber bits of subpixel precision for viewport + size_t minMemoryMapAlignmentmin required alignment of pointers returned by MapMemory (bytes) + VkDeviceSize minTexelBufferOffsetAlignmentmin required alignment for texel buffer offsets (bytes) + VkDeviceSize minUniformBufferOffsetAlignmentmin required alignment for uniform buffer sizes and offsets (bytes) + VkDeviceSize minStorageBufferOffsetAlignmentmin required alignment for storage buffer offsets (bytes) int32_t minTexelOffsetmin texel offset for OpTextureSampleOffset uint32_t maxTexelOffsetmax texel offset for OpTextureSampleOffset int32_t minTexelGatherOffsetmin texel offset for OpTextureGatherOffset uint32_t maxTexelGatherOffsetmax texel offset for OpTextureGatherOffset float minInterpolationOffsetfurthest negative offset for interpolateAtOffset float maxInterpolationOffsetfurthest positive offset for interpolateAtOffset - uint32_t subPixelInterpolationOffsetBitsnumber of subpixel bits for interpolateAtOffset + uint32_t subPixelInterpolationOffsetBitsnumber of subpixel bits for interpolateAtOffset uint32_t maxFramebufferWidthmax width for a framebuffer uint32_t maxFramebufferHeightmax height for a framebuffer uint32_t maxFramebufferLayersmax layer count for a layered framebuffer @@ -1739,28 +1810,28 @@ typedef void CAMetalLayer; VkSampleCountFlags framebufferDepthSampleCountssupported depth sample counts for a framebuffer VkSampleCountFlags framebufferStencilSampleCountssupported stencil sample counts for a framebuffer VkSampleCountFlags framebufferNoAttachmentsSampleCountssupported sample counts for a subpass which uses no attachments - uint32_t maxColorAttachmentsmax number of color attachments per subpass + uint32_t maxColorAttachmentsmax number of color attachments per subpass VkSampleCountFlags sampledImageColorSampleCountssupported color sample counts for a non-integer sampled image VkSampleCountFlags sampledImageIntegerSampleCountssupported sample counts for an integer image VkSampleCountFlags sampledImageDepthSampleCountssupported depth sample counts for a sampled image VkSampleCountFlags sampledImageStencilSampleCountssupported stencil sample counts for a sampled image VkSampleCountFlags storageImageSampleCountssupported sample counts for a storage image uint32_t maxSampleMaskWordsmax number of sample mask words - VkBool32 timestampComputeAndGraphicstimestamps on graphics and compute queues - float timestampPeriodnumber of nanoseconds it takes for timestamp query value to increment by 1 + VkBool32 timestampComputeAndGraphicstimestamps on graphics and compute queues + float timestampPeriodnumber of nanoseconds it takes for timestamp query value to increment by 1 uint32_t maxClipDistancesmax number of clip distances uint32_t maxCullDistancesmax number of cull distances uint32_t maxCombinedClipAndCullDistancesmax combined number of user clipping uint32_t discreteQueuePrioritiesdistinct queue priorities available - float pointSizeRange[2]range (min,max) of supported point sizes - float lineWidthRange[2]range (min,max) of supported line widths - float pointSizeGranularitygranularity of supported point sizes - float lineWidthGranularitygranularity of supported line widths - VkBool32 strictLinesline rasterization follows preferred rules - VkBool32 standardSampleLocationssupports standard sample locations for all supported sample counts - VkDeviceSize optimalBufferCopyOffsetAlignmentoptimal offset of buffer copies - VkDeviceSize optimalBufferCopyRowPitchAlignmentoptimal pitch of buffer copies - VkDeviceSize nonCoherentAtomSizeminimum size and alignment for non-coherent host-mapped device memory access + float pointSizeRange[2]range (min,max) of supported point sizes + float lineWidthRange[2]range (min,max) of supported line widths + float pointSizeGranularitygranularity of supported point sizes + float lineWidthGranularitygranularity of supported line widths + VkBool32 strictLinesline rasterization follows preferred rules + VkBool32 standardSampleLocationssupports standard sample locations for all supported sample counts + VkDeviceSize optimalBufferCopyOffsetAlignmentoptimal offset of buffer copies + VkDeviceSize optimalBufferCopyRowPitchAlignmentoptimal pitch of buffer copies + VkDeviceSize nonCoherentAtomSizeminimum size and alignment for non-coherent host-mapped device memory access VkStructureType sType @@ -1818,7 +1889,7 @@ typedef void CAMetalLayer; const void* pNext uint32_t waitSemaphoreCount const VkSemaphore* pWaitSemaphores - const VkPipelineStageFlags* pWaitDstStageMask + const VkPipelineStageFlags* pWaitDstStageMask uint32_t commandBufferCount const VkCommandBuffer* pCommandBuffers uint32_t signalSemaphoreCount @@ -2098,7 +2169,7 @@ typedef void CAMetalLayer; const uint64_t* pReleaseKeys - VkStructureTypesType + VkStructureType sType void* pNext VkBool32 deviceGeneratedCommands @@ -2129,9 +2200,9 @@ typedef void CAMetalLayer; uint32_t maxIndirectCommandsStreamCount uint32_t maxIndirectCommandsTokenOffset uint32_t maxIndirectCommandsStreamStride - uint32_t minSequencesCountBufferOffsetAlignment - uint32_t minSequencesIndexBufferOffsetAlignment - uint32_t minIndirectCommandsBufferOffsetAlignment + uint32_t minSequencesCountBufferOffsetAlignment + uint32_t minSequencesIndexBufferOffsetAlignment + uint32_t minIndirectCommandsBufferOffsetAlignment VkStructureType sType @@ -2148,8 +2219,8 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext - uint32_t groupCount + const void* pNext + uint32_t groupCount const VkGraphicsShaderGroupCreateInfoNV* pGroups uint32_t pipelineCount const VkPipeline* pPipelines @@ -2263,7 +2334,7 @@ typedef void CAMetalLayer; VkStructureType sType void* pNext - VkQueueFamilyProperties queueFamilyProperties + VkQueueFamilyProperties queueFamilyProperties @@ -2275,7 +2346,7 @@ typedef void CAMetalLayer; VkStructureType sType void* pNext - VkSparseImageFormatProperties properties + VkSparseImageFormatProperties properties @@ -2303,10 +2374,10 @@ typedef void CAMetalLayer; VkStructureType sType void* pNext - VkDriverId driverID - char driverName[VK_MAX_DRIVER_NAME_SIZE] - char driverInfo[VK_MAX_DRIVER_INFO_SIZE] - VkConformanceVersion conformanceVersion + VkDriverId driverID + char driverName[VK_MAX_DRIVER_NAME_SIZE] + char driverInfo[VK_MAX_DRIVER_INFO_SIZE] + VkConformanceVersion conformanceVersion @@ -2368,11 +2439,11 @@ typedef void CAMetalLayer; VkStructureType sType void* pNext - uint8_t deviceUUID[VK_UUID_SIZE] - uint8_t driverUUID[VK_UUID_SIZE] - uint8_t deviceLUID[VK_LUID_SIZE] - uint32_t deviceNodeMask - VkBool32 deviceLUIDValid + uint8_t deviceUUID[VK_UUID_SIZE] + uint8_t driverUUID[VK_UUID_SIZE] + uint8_t deviceLUID[VK_LUID_SIZE] + uint32_t deviceNodeMask + VkBool32 deviceLUIDValid @@ -2800,7 +2871,7 @@ typedef void CAMetalLayer; VkDescriptorUpdateTemplateType templateType VkDescriptorSetLayout descriptorSetLayout VkPipelineBindPoint pipelineBindPoint - VkPipelineLayoutpipelineLayoutIf used for push descriptors, this is the only allowed layout + VkPipelineLayout pipelineLayoutIf used for push descriptors, this is the only allowed layout uint32_t set @@ -3000,7 +3071,7 @@ typedef void CAMetalLayer; VkStructureType sType void* pNext - uint32_t subgroupSizeThe size of a subgroup for this queue. + uint32_t subgroupSizeThe size of a subgroup for this queue. VkShaderStageFlags supportedStagesBitfield of what shader stages support subgroup operations VkSubgroupFeatureFlags supportedOperationsBitfield of what subgroup operations are supported. VkBool32 quadOperationsInAllStagesFlag to specify whether quad operations are available in all stages. @@ -3039,7 +3110,7 @@ typedef void CAMetalLayer; VkStructureType sType const void* pNext const VkImageCreateInfo* pCreateInfo - VkImageAspectFlagBits planeAspect + VkImageAspectFlagBits planeAspect @@ -3057,7 +3128,7 @@ typedef void CAMetalLayer; VkStructureType sType void* pNext - VkPointClippingBehavior pointClippingBehavior + VkPointClippingBehavior pointClippingBehavior @@ -3154,7 +3225,7 @@ typedef void CAMetalLayer; VkStructureType sType void* pNext - VkBool32 protectedNoFault + VkBool32 protectedNoFault VkStructureType sType @@ -3181,7 +3252,7 @@ typedef void CAMetalLayer; float x float y - + VkStructureType sType const void* pNext VkSampleCountFlagBits sampleLocationsPerPixel @@ -3217,7 +3288,7 @@ typedef void CAMetalLayer; VkSampleCountFlags sampleLocationSampleCounts VkExtent2D maxSampleLocationGridSize float sampleLocationCoordinateRange[2] - uint32_t sampleLocationSubPixelBits + uint32_t sampleLocationSubPixelBits VkBool32 variableSampleLocations @@ -3311,7 +3382,7 @@ typedef void CAMetalLayer; size_t initialDataSize const void* pInitialData - + VkStructureType sType const void* pNext VkValidationCacheEXT validationCache @@ -3358,8 +3429,8 @@ typedef void CAMetalLayer; VkStructureType sType void* pNext - VkShaderFloatControlsIndependence denormBehaviorIndependence - VkShaderFloatControlsIndependence roundingModeIndependence + VkShaderFloatControlsIndependence denormBehaviorIndependence + VkShaderFloatControlsIndependence roundingModeIndependence VkBool32 shaderSignedZeroInfNanPreserveFloat16An implementation can preserve signed zero, nan, inf VkBool32 shaderSignedZeroInfNanPreserveFloat32An implementation can preserve signed zero, nan, inf VkBool32 shaderSignedZeroInfNanPreserveFloat64An implementation can preserve signed zero, nan, inf @@ -3437,11 +3508,11 @@ typedef void CAMetalLayer; VkStructureType sType void* pNext - uint32_t priorityCount - VkQueueGlobalPriorityKHR priorities[VK_MAX_GLOBAL_PRIORITY_SIZE_KHR] + uint32_t priorityCount + VkQueueGlobalPriorityKHR priorities[VK_MAX_GLOBAL_PRIORITY_SIZE_KHR] - + VkStructureType sType const void* pNext VkObjectType objectType @@ -3506,7 +3577,7 @@ typedef void CAMetalLayer; uint64_t memoryObjectId VkDeviceSize size VkObjectType objectType - uint64_t objectHandle + uint64_t objectHandle uint32_t heapIndex @@ -3523,18 +3594,18 @@ typedef void CAMetalLayer; VkStructureType sType void* pNext - VkDeviceSize minImportedHostPointerAlignment + VkDeviceSize minImportedHostPointerAlignment VkStructureType sType void* pNext - float primitiveOverestimationSizeThe size in pixels the primitive is enlarged at each edge during conservative rasterization - float maxExtraPrimitiveOverestimationSizeThe maximum additional overestimation the client can specify in the pipeline state - float extraPrimitiveOverestimationSizeGranularityThe granularity of extra overestimation sizes the implementations supports between 0 and maxExtraOverestimationSize + float primitiveOverestimationSizeThe size in pixels the primitive is enlarged at each edge during conservative rasterization + float maxExtraPrimitiveOverestimationSizeThe maximum additional overestimation the client can specify in the pipeline state + float extraPrimitiveOverestimationSizeGranularityThe granularity of extra overestimation sizes the implementations supports between 0 and maxExtraOverestimationSize VkBool32 primitiveUnderestimationtrue if the implementation supports conservative rasterization underestimation mode - VkBool32 conservativePointAndLineRasterizationtrue if conservative rasterization also applies to points and lines - VkBool32 degenerateTrianglesRasterizedtrue if degenerate triangles (those with zero area after snap) are rasterized - VkBool32 degenerateLinesRasterizedtrue if degenerate lines (those with zero length after snap) are rasterized + VkBool32 conservativePointAndLineRasterizationtrue if conservative rasterization also applies to points and lines + VkBool32 degenerateTrianglesRasterizedtrue if degenerate triangles (those with zero area after snap) are rasterized + VkBool32 degenerateLinesRasterizedtrue if degenerate lines (those with zero length after snap) are rasterized VkBool32 fullyCoveredFragmentShaderInputVariabletrue if the implementation supports the FullyCoveredEXT SPIR-V builtin fragment shader input variable VkBool32 conservativeRasterizationPostDepthCoveragetrue if the implementation supports both conservative rasterization and post depth coverage sample coverage mask @@ -3546,20 +3617,20 @@ typedef void CAMetalLayer; VkStructureType sType void* pNext - uint32_t shaderEngineCountnumber of shader engines - uint32_t shaderArraysPerEngineCountnumber of shader arrays - uint32_t computeUnitsPerShaderArraynumber of physical CUs per shader array - uint32_t simdPerComputeUnitnumber of SIMDs per compute unit - uint32_t wavefrontsPerSimdnumber of wavefront slots in each SIMD - uint32_t wavefrontSizemaximum number of threads per wavefront - uint32_t sgprsPerSimdnumber of physical SGPRs per SIMD - uint32_t minSgprAllocationminimum number of SGPRs that can be allocated by a wave - uint32_t maxSgprAllocationnumber of available SGPRs - uint32_t sgprAllocationGranularitySGPRs are allocated in groups of this size - uint32_t vgprsPerSimdnumber of physical VGPRs per SIMD - uint32_t minVgprAllocationminimum number of VGPRs that can be allocated by a wave - uint32_t maxVgprAllocationnumber of available VGPRs - uint32_t vgprAllocationGranularityVGPRs are allocated in groups of this size + uint32_t shaderEngineCountnumber of shader engines + uint32_t shaderArraysPerEngineCountnumber of shader arrays + uint32_t computeUnitsPerShaderArraynumber of physical CUs per shader array + uint32_t simdPerComputeUnitnumber of SIMDs per compute unit + uint32_t wavefrontsPerSimdnumber of wavefront slots in each SIMD + uint32_t wavefrontSizemaximum number of threads per wavefront + uint32_t sgprsPerSimdnumber of physical SGPRs per SIMD + uint32_t minSgprAllocationminimum number of SGPRs that can be allocated by a wave + uint32_t maxSgprAllocationnumber of available SGPRs + uint32_t sgprAllocationGranularitySGPRs are allocated in groups of this size + uint32_t vgprsPerSimdnumber of physical VGPRs per SIMD + uint32_t minVgprAllocationminimum number of VGPRs that can be allocated by a wave + uint32_t maxVgprAllocationnumber of available VGPRs + uint32_t vgprAllocationGranularityVGPRs are allocated in groups of this size VkStructureType sType @@ -3903,7 +3974,7 @@ typedef void CAMetalLayer; VkStructureType sType void* pNext - VkPipelineStageFlags checkpointExecutionStageMask + VkPipelineStageFlags checkpointExecutionStageMask VkStructureType sType @@ -3952,7 +4023,7 @@ typedef void CAMetalLayer; VkDeviceSize maxTransformFeedbackBufferSize uint32_t maxTransformFeedbackStreamDataSize uint32_t maxTransformFeedbackBufferDataSize - uint32_t maxTransformFeedbackBufferDataStride + uint32_t maxTransformFeedbackBufferDataStride VkBool32 transformFeedbackQueries VkBool32 transformFeedbackStreamsLinesTriangles VkBool32 transformFeedbackRasterizationStreamSelect @@ -3965,7 +4036,7 @@ typedef void CAMetalLayer; uint32_t rasterizationStream - VkStructureTypesType + VkStructureType sType void* pNext VkBool32 representativeFragmentTest @@ -3996,11 +4067,7 @@ typedef void CAMetalLayer; VkBool32 computeDerivativeGroupQuads VkBool32 computeDerivativeGroupLinear - - VkStructureType sType - void* pNext - VkBool32 fragmentShaderBarycentric - + VkStructureType sType void* pNext @@ -4031,7 +4098,7 @@ typedef void CAMetalLayer; VkStructureType sType void* pNext - VkExtent2D shadingRateTexelSize + VkExtent2D shadingRateTexelSize uint32_t shadingRatePaletteSize uint32_t shadingRateMaxCoarseSamples @@ -4078,13 +4145,59 @@ typedef void CAMetalLayer; uint32_t maxMeshOutputVertices uint32_t maxMeshOutputPrimitives uint32_t maxMeshMultiviewViewCount - uint32_t meshOutputPerVertexGranularity - uint32_t meshOutputPerPrimitiveGranularity + uint32_t meshOutputPerVertexGranularity + uint32_t meshOutputPerPrimitiveGranularity uint32_t taskCount uint32_t firstTask + + VkStructureType sType + void* pNext + VkBool32 taskShader + VkBool32 meshShader + VkBool32 multiviewMeshShader + VkBool32 primitiveFragmentShadingRateMeshShader + VkBool32 meshShaderQueries + + + VkStructureType sType + void* pNext + uint32_t maxTaskWorkGroupTotalCount + uint32_t maxTaskWorkGroupCount[3] + uint32_t maxTaskWorkGroupInvocations + uint32_t maxTaskWorkGroupSize[3] + uint32_t maxTaskPayloadSize + uint32_t maxTaskSharedMemorySize + uint32_t maxTaskPayloadAndSharedMemorySize + uint32_t maxMeshWorkGroupTotalCount + uint32_t maxMeshWorkGroupCount[3] + uint32_t maxMeshWorkGroupInvocations + uint32_t maxMeshWorkGroupSize[3] + uint32_t maxMeshSharedMemorySize + uint32_t maxMeshPayloadAndSharedMemorySize + uint32_t maxMeshOutputMemorySize + uint32_t maxMeshPayloadAndOutputMemorySize + uint32_t maxMeshOutputComponents + uint32_t maxMeshOutputVertices + uint32_t maxMeshOutputPrimitives + uint32_t maxMeshOutputLayers + uint32_t maxMeshMultiviewViewCount + uint32_t meshOutputPerVertexGranularity + uint32_t meshOutputPerPrimitiveGranularity + uint32_t maxPreferredTaskWorkGroupInvocations + uint32_t maxPreferredMeshWorkGroupInvocations + VkBool32 prefersLocalInvocationVertexOutput + VkBool32 prefersLocalInvocationPrimitiveOutput + VkBool32 prefersCompactVertexOutput + VkBool32 prefersCompactPrimitiveOutput + + + uint32_t groupCountX + uint32_t groupCountY + uint32_t groupCountZ + VkStructureType sType const void* pNext @@ -4171,7 +4284,7 @@ typedef void CAMetalLayer; VkStructureType sType const void* pNext VkAccelerationStructureTypeNV type - VkBuildAccelerationStructureFlagsNVflags + VkBuildAccelerationStructureFlagsNV flags uint32_t instanceCount uint32_t geometryCount const VkGeometryNV* pGeometries @@ -4247,22 +4360,22 @@ typedef void CAMetalLayer; VkStructureType sType void* pNext - uint32_t shaderGroupHandleSize + uint32_t shaderGroupHandleSize uint32_t maxRayRecursionDepth uint32_t maxShaderGroupStride - uint32_t shaderGroupBaseAlignment - uint32_t shaderGroupHandleCaptureReplaySize + uint32_t shaderGroupBaseAlignment + uint32_t shaderGroupHandleCaptureReplaySize uint32_t maxRayDispatchInvocationCount - uint32_t shaderGroupHandleAlignment + uint32_t shaderGroupHandleAlignment uint32_t maxRayHitAttributeSize VkStructureType sType void* pNext - uint32_t shaderGroupHandleSize + uint32_t shaderGroupHandleSize uint32_t maxRecursionDepth uint32_t maxShaderGroupStride - uint32_t shaderGroupBaseAlignment + uint32_t shaderGroupBaseAlignment uint64_t maxGeometryCount uint64_t maxInstanceCount uint64_t maxTriangleCount @@ -4278,11 +4391,33 @@ typedef void CAMetalLayer; uint32_t height uint32_t depth + + VkDeviceAddress raygenShaderRecordAddress + VkDeviceSize raygenShaderRecordSize + VkDeviceAddress missShaderBindingTableAddress + VkDeviceSize missShaderBindingTableSize + VkDeviceSize missShaderBindingTableStride + VkDeviceAddress hitShaderBindingTableAddress + VkDeviceSize hitShaderBindingTableSize + VkDeviceSize hitShaderBindingTableStride + VkDeviceAddress callableShaderBindingTableAddress + VkDeviceSize callableShaderBindingTableSize + VkDeviceSize callableShaderBindingTableStride + uint32_t width + uint32_t height + uint32_t depth + + + VkStructureType sType + void* pNext + VkBool32 rayTracingMaintenance1 + VkBool32 rayTracingPipelineTraceRaysIndirect2 + VkStructureType sType void* pNext uint32_t drmFormatModifierCount - VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties + VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties uint64_t drmFormatModifier @@ -4353,15 +4488,15 @@ typedef void CAMetalLayer; VkStructureType sType void* pNext - VkBool32 subsampledLoads - VkBool32 subsampledCoarseReconstructionEarlyAccess + VkBool32 subsampledLoads + VkBool32 subsampledCoarseReconstructionEarlyAccess uint32_t maxSubsampledArrayLayers uint32_t maxDescriptorSetSubsampledSamplers VkStructureType sType void* pNext - VkExtent2D fragmentDensityOffsetGranularity + VkExtent2D fragmentDensityOffsetGranularity VkStructureType sType @@ -4561,7 +4696,7 @@ typedef void CAMetalLayer; VkStructureType sType const void* pNext VkPipelineCreationFeedback* pPipelineCreationFeedbackOutput pipeline creation feedback. - uint32_t pipelineStageCreationFeedbackCount + uint32_t pipelineStageCreationFeedbackCount VkPipelineCreationFeedback* pPipelineStageCreationFeedbacksOne entry for each shader stage specified in the parent Vk*PipelineCreateInfo struct @@ -4580,6 +4715,21 @@ typedef void CAMetalLayer; void* pNext VkBool32 fullScreenExclusiveSupported + + VkStructureType sType + void* pNext + VkBool32 presentBarrier + + + VkStructureType sType + void* pNext + VkBool32 presentBarrierSupported + + + VkStructureType sType + void* pNext + VkBool32 presentBarrierEnable + VkStructureType sType void* pNext @@ -4639,7 +4789,7 @@ typedef void CAMetalLayer; VkHeadlessSurfaceCreateFlagsEXT flags - VkStructureTypesType + VkStructureType sType void* pNext VkBool32 coverageReductionMode @@ -4724,7 +4874,7 @@ typedef void CAMetalLayer; uint32_t shaderWarpsPerSM - VkStructureTypesType + VkStructureType sType void* pNext VkBool32 shaderSMBuiltins @@ -4736,13 +4886,13 @@ typedef void CAMetalLayer; VkBool32 fragmentShaderShadingRateInterlock - VkStructureTypesType + VkStructureType sType void* pNext VkBool32 separateDepthStencilLayouts - VkStructureTypesType + VkStructureType sType void* pNext VkImageLayout stencilLayout @@ -4754,7 +4904,7 @@ typedef void CAMetalLayer; - VkStructureTypesType + VkStructureType sType void* pNext VkImageLayout stencilInitialLayout VkImageLayout stencilFinalLayout @@ -4770,6 +4920,7 @@ typedef void CAMetalLayer; const void* pNext VkPipeline pipeline + VkStructureType sType void* pNext @@ -4821,10 +4972,10 @@ typedef void CAMetalLayer; VkStructureType sType void* pNext - VkDeviceSize storageTexelBufferOffsetAlignmentBytes - VkBool32 storageTexelBufferOffsetSingleTexelAlignment - VkDeviceSize uniformTexelBufferOffsetAlignmentBytes - VkBool32 uniformTexelBufferOffsetSingleTexelAlignment + VkDeviceSize storageTexelBufferOffsetAlignmentBytes + VkBool32 storageTexelBufferOffsetSingleTexelAlignment + VkDeviceSize uniformTexelBufferOffsetAlignmentBytes + VkBool32 uniformTexelBufferOffsetSingleTexelAlignment @@ -4837,8 +4988,8 @@ typedef void CAMetalLayer; VkStructureType sType void* pNext - uint32_t minSubgroupSizeThe minimum subgroup size supported by this device - uint32_t maxSubgroupSizeThe maximum subgroup size supported by this device + uint32_t minSubgroupSizeThe minimum subgroup size supported by this device + uint32_t maxSubgroupSizeThe maximum subgroup size supported by this device uint32_t maxComputeWorkgroupSubgroupsThe maximum number of subgroups supported in a workgroup VkShaderStageFlags requiredSubgroupSizeStagesThe shader stages that support specifying a subgroup size @@ -4858,7 +5009,7 @@ typedef void CAMetalLayer; VkStructureType sType void* pNext - uint32_t maxSubpassShadingWorkgroupSizeAspectRatio + uint32_t maxSubpassShadingWorkgroupSizeAspectRatio VkStructureType sType @@ -4885,7 +5036,7 @@ typedef void CAMetalLayer; VkStructureType sType void* pNext - uint32_t lineSubPixelPrecisionBits + uint32_t lineSubPixelPrecisionBits VkStructureType sType @@ -4902,7 +5053,7 @@ typedef void CAMetalLayer; - VkStructureTypesType + VkStructureType sType void* pNext VkBool32 storageBuffer16BitAccess16-bit integer/floating-point variables supported in BufferBlock VkBool32 uniformAndStorageBuffer16BitAccess16-bit integer/floating-point variables supported in BufferBlock and Block @@ -4918,26 +5069,26 @@ typedef void CAMetalLayer; VkBool32 shaderDrawParameters - VkStructureTypesType + VkStructureType sType void* pNext - uint8_t deviceUUID[VK_UUID_SIZE] - uint8_t driverUUID[VK_UUID_SIZE] - uint8_t deviceLUID[VK_LUID_SIZE] - uint32_t deviceNodeMask - VkBool32 deviceLUIDValid - uint32_t subgroupSizeThe size of a subgroup for this queue. + uint8_t deviceUUID[VK_UUID_SIZE] + uint8_t driverUUID[VK_UUID_SIZE] + uint8_t deviceLUID[VK_LUID_SIZE] + uint32_t deviceNodeMask + VkBool32 deviceLUIDValid + uint32_t subgroupSizeThe size of a subgroup for this queue. VkShaderStageFlags subgroupSupportedStagesBitfield of what shader stages support subgroup operations VkSubgroupFeatureFlags subgroupSupportedOperationsBitfield of what subgroup operations are supported. VkBool32 subgroupQuadOperationsInAllStagesFlag to specify whether quad operations are available in all stages. - VkPointClippingBehavior pointClippingBehavior + VkPointClippingBehavior pointClippingBehavior uint32_t maxMultiviewViewCountmax number of views in a subpass uint32_t maxMultiviewInstanceIndexmax instance index for a draw in a multiview subpass - VkBool32 protectedNoFault + VkBool32 protectedNoFault uint32_t maxPerSetDescriptors VkDeviceSize maxMemoryAllocationSize - VkStructureTypesType + VkStructureType sType void* pNext VkBool32 samplerMirrorClampToEdge VkBool32 drawIndirectCount @@ -4988,14 +5139,14 @@ typedef void CAMetalLayer; VkBool32 subgroupBroadcastDynamicId - VkStructureTypesType + VkStructureType sType void* pNext VkDriverId driverID char driverName[VK_MAX_DRIVER_NAME_SIZE] char driverInfo[VK_MAX_DRIVER_INFO_SIZE] VkConformanceVersion conformanceVersion - VkShaderFloatControlsIndependencedenormBehaviorIndependence - VkShaderFloatControlsIndependenceroundingModeIndependence + VkShaderFloatControlsIndependence denormBehaviorIndependence + VkShaderFloatControlsIndependence roundingModeIndependence VkBool32 shaderSignedZeroInfNanPreserveFloat16An implementation can preserve signed zero, nan, inf VkBool32 shaderSignedZeroInfNanPreserveFloat32An implementation can preserve signed zero, nan, inf VkBool32 shaderSignedZeroInfNanPreserveFloat64An implementation can preserve signed zero, nan, inf @@ -5044,7 +5195,7 @@ typedef void CAMetalLayer; VkSampleCountFlags framebufferIntegerColorSampleCounts - VkStructureTypesType + VkStructureType sType void* pNext VkBool32 robustImageAccess VkBool32 inlineUniformBlock @@ -5063,10 +5214,10 @@ typedef void CAMetalLayer; VkBool32 maintenance4 - VkStructureTypesType + VkStructureType sType void* pNext - uint32_t minSubgroupSizeThe minimum subgroup size supported by this device - uint32_t maxSubgroupSizeThe maximum subgroup size supported by this device + uint32_t minSubgroupSizeThe minimum subgroup size supported by this device + uint32_t maxSubgroupSizeThe maximum subgroup size supported by this device uint32_t maxComputeWorkgroupSubgroupsThe maximum number of subgroups supported in a workgroup VkShaderStageFlags requiredSubgroupSizeStagesThe shader stages that support specifying a subgroup size uint32_t maxInlineUniformBlockSize @@ -5105,10 +5256,10 @@ typedef void CAMetalLayer; VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated - VkDeviceSize storageTexelBufferOffsetAlignmentBytes - VkBool32 storageTexelBufferOffsetSingleTexelAlignment - VkDeviceSize uniformTexelBufferOffsetAlignmentBytes - VkBool32 uniformTexelBufferOffsetSingleTexelAlignment + VkDeviceSize storageTexelBufferOffsetAlignmentBytes + VkBool32 storageTexelBufferOffsetSingleTexelAlignment + VkDeviceSize uniformTexelBufferOffsetAlignmentBytes + VkBool32 uniformTexelBufferOffsetSingleTexelAlignment VkDeviceSize maxBufferSize @@ -5292,7 +5443,7 @@ typedef void CAMetalLayer; uint32_t maxPipelineRayPayloadSize uint32_t maxPipelineRayHitAttributeSize - + VkStructureType sType const void* pNext uint32_t libraryCount @@ -5310,12 +5461,67 @@ typedef void CAMetalLayer; VkBool32 extendedDynamicState2LogicOp VkBool32 extendedDynamicState2PatchControlPoints + + VkStructureType sType + void* pNext + VkBool32 extendedDynamicState3TessellationDomainOrigin + VkBool32 extendedDynamicState3DepthClampEnable + VkBool32 extendedDynamicState3PolygonMode + VkBool32 extendedDynamicState3RasterizationSamples + VkBool32 extendedDynamicState3SampleMask + VkBool32 extendedDynamicState3AlphaToCoverageEnable + VkBool32 extendedDynamicState3AlphaToOneEnable + VkBool32 extendedDynamicState3LogicOpEnable + VkBool32 extendedDynamicState3ColorBlendEnable + VkBool32 extendedDynamicState3ColorBlendEquation + VkBool32 extendedDynamicState3ColorWriteMask + VkBool32 extendedDynamicState3RasterizationStream + VkBool32 extendedDynamicState3ConservativeRasterizationMode + VkBool32 extendedDynamicState3ExtraPrimitiveOverestimationSize + VkBool32 extendedDynamicState3DepthClipEnable + VkBool32 extendedDynamicState3SampleLocationsEnable + VkBool32 extendedDynamicState3ColorBlendAdvanced + VkBool32 extendedDynamicState3ProvokingVertexMode + VkBool32 extendedDynamicState3LineRasterizationMode + VkBool32 extendedDynamicState3LineStippleEnable + VkBool32 extendedDynamicState3DepthClipNegativeOneToOne + VkBool32 extendedDynamicState3ViewportWScalingEnable + VkBool32 extendedDynamicState3ViewportSwizzle + VkBool32 extendedDynamicState3CoverageToColorEnable + VkBool32 extendedDynamicState3CoverageToColorLocation + VkBool32 extendedDynamicState3CoverageModulationMode + VkBool32 extendedDynamicState3CoverageModulationTableEnable + VkBool32 extendedDynamicState3CoverageModulationTable + VkBool32 extendedDynamicState3CoverageReductionMode + VkBool32 extendedDynamicState3RepresentativeFragmentTestEnable + VkBool32 extendedDynamicState3ShadingRateImageEnable + + + VkStructureType sType + void* pNext + VkBool32 dynamicPrimitiveTopologyUnrestricted + + + VkBlendFactor srcColorBlendFactor + VkBlendFactor dstColorBlendFactor + VkBlendOp colorBlendOp + VkBlendFactor srcAlphaBlendFactor + VkBlendFactor dstAlphaBlendFactor + VkBlendOp alphaBlendOp + + + VkBlendOp advancedBlendOp + VkBool32 srcPremultiplied + VkBool32 dstPremultiplied + VkBlendOverlapEXT blendOverlap + VkBool32 clampResults + VkStructureType sType void* pNextPointer to next structure VkSurfaceTransformFlagBitsKHR transform - + VkStructureType sType const void* pNext VkSurfaceTransformFlagBitsKHR transform @@ -5327,7 +5533,7 @@ typedef void CAMetalLayer; VkRect2D renderArea - VkStructureTypesType + VkStructureType sType void* pNext VkBool32 diagnosticsConfig @@ -5357,8 +5563,8 @@ typedef void CAMetalLayer; VkStructureType sType void* pNext - VkDeviceSize robustStorageBufferAccessSizeAlignment - VkDeviceSize robustUniformBufferAccessSizeAlignment + VkDeviceSize robustStorageBufferAccessSizeAlignment + VkDeviceSize robustUniformBufferAccessSizeAlignment VkStructureType sType @@ -5396,7 +5602,7 @@ typedef void CAMetalLayer; VkStructureType sType void* pNext - uint32_t minVertexInputBindingStrideAlignment + uint32_t minVertexInputBindingStrideAlignment VkStructureType sType @@ -5536,7 +5742,7 @@ typedef void CAMetalLayer; VkStructureType sType const void* pNext VkExtent2D fragmentSize - VkFragmentShadingRateCombinerOpKHR combinerOps[2] + VkFragmentShadingRateCombinerOpKHR combinerOps[2] VkStructureType sType @@ -5550,13 +5756,13 @@ typedef void CAMetalLayer; void* pNext VkExtent2D minFragmentShadingRateAttachmentTexelSize VkExtent2D maxFragmentShadingRateAttachmentTexelSize - uint32_t maxFragmentShadingRateAttachmentTexelSizeAspectRatio + uint32_t maxFragmentShadingRateAttachmentTexelSizeAspectRatio VkBool32 primitiveFragmentShadingRateWithMultipleViewports VkBool32 layeredShadingRateAttachments VkBool32 fragmentShadingRateNonTrivialCombinerOps VkExtent2D maxFragmentSize - uint32_t maxFragmentSizeAspectRatio - uint32_t maxFragmentShadingRateCoverageSamples + uint32_t maxFragmentSizeAspectRatio + uint32_t maxFragmentShadingRateCoverageSamples VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples VkBool32 fragmentShadingRateWithShaderDepthStencilWrites VkBool32 fragmentShadingRateWithSampleMask @@ -5573,7 +5779,7 @@ typedef void CAMetalLayer; VkExtent2D fragmentSize - VkStructureTypesType + VkStructureType sType void* pNext VkBool32 shaderTerminateInvocation @@ -5588,14 +5794,14 @@ typedef void CAMetalLayer; VkStructureType sType void* pNext - VkSampleCountFlagBits maxFragmentShadingRateInvocationCount + VkSampleCountFlagBits maxFragmentShadingRateInvocationCount VkStructureType sType const void* pNext - VkFragmentShadingRateTypeNV shadingRateType - VkFragmentShadingRateNV shadingRate - VkFragmentShadingRateCombinerOpKHR combinerOps[2] + VkFragmentShadingRateTypeNV shadingRateType + VkFragmentShadingRateNV shadingRate + VkFragmentShadingRateCombinerOpKHR combinerOps[2] VkStructureType sType @@ -5604,21 +5810,30 @@ typedef void CAMetalLayer; VkDeviceSize updateScratchSize VkDeviceSize buildScratchSize - - VkStructureType sType + + VkStructureType sType void* pNext + VkBool32 image2DViewOf3D + VkBool32 sampler2DViewOf3D + + + VkStructureType sType + void* pNext VkBool32 mutableDescriptorType - - uint32_t descriptorTypeCount + + + uint32_t descriptorTypeCount const VkDescriptorType* pDescriptorTypes - - VkStructureType sType - const void* pNext - uint32_t mutableDescriptorTypeListCount - const VkMutableDescriptorTypeListVALVE* pMutableDescriptorTypeLists + + + VkStructureType sType + const void* pNext + uint32_t mutableDescriptorTypeListCount + const VkMutableDescriptorTypeListEXT* pMutableDescriptorTypeLists + VkStructureType sType void* pNext @@ -5640,7 +5855,7 @@ typedef void CAMetalLayer; VkBool32 externalMemoryRDMA - VkStructureTypesType + VkStructureType sType void* pNext uint32_t binding uint32_t stride @@ -5648,7 +5863,7 @@ typedef void CAMetalLayer; uint32_t divisor - VkStructureTypesType + VkStructureType sType void* pNext uint32_t locationlocation of the shader vertex attrib uint32_t bindingVertex buffer binding id @@ -5747,7 +5962,7 @@ typedef void CAMetalLayer; VkStructureType sType void* pNext - VkPipelineStageFlags2 checkpointExecutionStageMask + VkPipelineStageFlags2 checkpointExecutionStageMask VkStructureType sType @@ -5761,99 +5976,145 @@ typedef void CAMetalLayer; VkBool32 synchronization2 - - VkStructureTypesType - void* pNext - VkVideoCodecOperationFlagsKHR videoCodecOperations + + VkStructureType sType + void* pNext + VkBool32 primitivesGeneratedQuery + VkBool32 primitivesGeneratedQueryWithRasterizerDiscard + VkBool32 primitivesGeneratedQueryWithNonZeroStreams - - VkStructureTypesType - void* pNext - VkBool32 supported + + VkStructureType sType + void* pNext + VkBool32 legacyDithering - - VkStructureTypesType - void* pNext - uint32_t profileCount - const VkVideoProfileKHR* pProfiles + + VkStructureType sType + void* pNext + VkBool32 multisampledRenderToSingleSampled - - VkStructureTypesType - void* pNext - VkImageUsageFlags imageUsage - const VkVideoProfilesKHR* pVideoProfiles + + VkStructureType sType + void* pNext + VkBool32 optimal - - VkStructureTypesType + + VkStructureType sType + const void* pNext + VkBool32 multisampledRenderToSingleSampledEnable + VkSampleCountFlagBits rasterizationSamples + + + VkStructureType sType + void* pNext + VkBool32 pipelineProtectedAccess + + + VkStructureType sType void* pNext - VkFormat format + VkVideoCodecOperationFlagsKHR videoCodecOperations - - VkStructureTypesType + + VkStructureType sType void* pNext + VkBool32 queryResultStatusSupport + + + VkStructureType sType + const void* pNext + uint32_t profileCount + const VkVideoProfileInfoKHR* pProfiles + + + VkStructureType sType + const void* pNext + VkImageUsageFlags imageUsage + + + VkStructureType sType + void* pNext + VkFormat format + VkComponentMapping componentMapping + VkImageCreateFlags imageCreateFlags + VkImageType imageType + VkImageTiling imageTiling + VkImageUsageFlags imageUsageFlags + + + VkStructureType sType + const void* pNext VkVideoCodecOperationFlagBitsKHR videoCodecOperation VkVideoChromaSubsamplingFlagsKHR chromaSubsampling VkVideoComponentBitDepthFlagsKHR lumaBitDepth - VkVideoComponentBitDepthFlagsKHR chromaBitDepth + VkVideoComponentBitDepthFlagsKHR chromaBitDepth - VkStructureTypesType - void* pNext - VkVideoCapabilityFlagsKHR capabilityFlags + VkStructureType sType + void* pNext + VkVideoCapabilityFlagsKHR flags VkDeviceSize minBitstreamBufferOffsetAlignment VkDeviceSize minBitstreamBufferSizeAlignment - VkExtent2D videoPictureExtentGranularity - VkExtent2D minExtent - VkExtent2D maxExtent - uint32_t maxReferencePicturesSlotsCount - uint32_t maxReferencePicturesActiveCount - - - VkStructureTypesType - const void* pNext + VkExtent2D pictureAccessGranularity + VkExtent2D minCodedExtent + VkExtent2D maxCodedExtent + uint32_t maxDpbSlots + uint32_t maxActiveReferencePictures + VkExtensionProperties stdHeaderVersion + + + VkStructureType sType + void* pNext uint32_t memoryBindIndex - VkMemoryRequirements2* pMemoryRequirements + VkMemoryRequirements memoryRequirements - - VkStructureTypesType - const void* pNext + + VkStructureType sType + const void* pNext uint32_t memoryBindIndex VkDeviceMemory memory VkDeviceSize memoryOffset VkDeviceSize memorySize - - VkStructureTypesType + + VkStructureType sType const void* pNext VkOffset2D codedOffsetThe offset to be used for the picture resource, currently only used in field mode VkExtent2D codedExtentThe extent to be used for the picture resource - uint32_t baseArrayLayerTThe first array layer to be accessed for the Decode or Encode Operations + uint32_t baseArrayLayerThe first array layer to be accessed for the Decode or Encode Operations VkImageView imageViewBindingThe ImageView binding of the resource - - VkStructureTypesType + + VkStructureType sType const void* pNext - int8_t slotIndexThe reference slot index - const VkVideoPictureResourceKHR* pPictureResourceThe reference picture resource + int32_t slotIndexThe reference slot index + const VkVideoPictureResourceInfoKHR* pPictureResourceThe reference picture resource + + + VkStructureType sType + void* pNext + VkVideoDecodeCapabilityFlagsKHR flags + + + VkStructureType sType + const void* pNext + VkVideoDecodeUsageFlagsKHR videoUsageHints - VkStructureTypesType + VkStructureType sType const void* pNext VkVideoDecodeFlagsKHR flags - VkOffset2D codedOffset - VkExtent2D codedExtent VkBuffer srcBuffer VkDeviceSize srcBufferOffset VkDeviceSize srcBufferRange - VkVideoPictureResourceKHR dstPictureResource - const VkVideoReferenceSlotKHR* pSetupReferenceSlot + VkVideoPictureResourceInfoKHR dstPictureResource + const VkVideoReferenceSlotInfoKHR* pSetupReferenceSlot uint32_t referenceSlotCount - const VkVideoReferenceSlotKHR* pReferenceSlots + const VkVideoReferenceSlotInfoKHR* pReferenceSlots Video Decode Codec Standard specific structures #include "vk_video/vulkan_video_codec_h264std.h" - + @@ -5873,64 +6134,49 @@ typedef void CAMetalLayer; #include "vk_video/vulkan_video_codec_h264std_decode.h" - - - - - VkStructureTypesType - const void* pNext - StdVideoH264ProfileIdc stdProfileIdc - VkVideoDecodeH264PictureLayoutFlagsEXT pictureLayout + + VkStructureType sType + const void* pNext + StdVideoH264ProfileIdc stdProfileIdc + VkVideoDecodeH264PictureLayoutFlagBitsEXT pictureLayout - VkStructureTypesType - void* pNext - uint32_t maxLevel + VkStructureType sType + void* pNext + StdVideoH264LevelIdc maxLevelIdc VkOffset2D fieldOffsetGranularity - VkExtensionProperties stdExtensionVersion - - - VkStructureTypesType - const void* pNext - VkVideoDecodeH264CreateFlagsEXT flags - const VkExtensionProperties* pStdExtensionVersion - VkStructureTypesType - const void* pNext - uint32_t spsStdCount - const StdVideoH264SequenceParameterSet* pSpsStd - uint32_t ppsStdCount - const StdVideoH264PictureParameterSet* pPpsStdList of Picture Parameters associated with the spsStd, above + VkStructureType sType + const void* pNext + uint32_t stdSPSCount + const StdVideoH264SequenceParameterSet* pStdSPSs + uint32_t stdPPSCount + const StdVideoH264PictureParameterSet* pStdPPSsList of Picture Parameters associated with the spsStd, above - VkStructureTypesType - const void* pNext - uint32_t maxSpsStdCount - uint32_t maxPpsStdCount + VkStructureType sType + const void* pNext + uint32_t maxStdSPSCount + uint32_t maxStdPPSCount const VkVideoDecodeH264SessionParametersAddInfoEXT* pParametersAddInfo - VkStructureTypesType - const void* pNext + VkStructureType sType + const void* pNext const StdVideoDecodeH264PictureInfo* pStdPictureInfo - uint32_t slicesCount - const uint32_t* pSlicesDataOffsets + uint32_t sliceCount + const uint32_t* pSliceOffsets - - VkStructureTypesType - const void* pNext + + VkStructureType sType + const void* pNext const StdVideoDecodeH264ReferenceInfo* pStdReferenceInfo - - VkStructureTypesType - const void*pNext - const StdVideoDecodeH264Mvc* pStdMvc - #include "vk_video/vulkan_video_codec_h265std.h" @@ -5939,7 +6185,7 @@ typedef void CAMetalLayer; - + @@ -5955,118 +6201,121 @@ typedef void CAMetalLayer; - - VkStructureTypesType + + VkStructureType sType const void* pNext StdVideoH265ProfileIdc stdProfileIdc - VkStructureTypesType + VkStructureType sType void* pNext - uint32_t maxLevel - VkExtensionProperties stdExtensionVersion - - - VkStructureTypesType - const void* pNext - VkVideoDecodeH265CreateFlagsEXT flags - const VkExtensionProperties* pStdExtensionVersion + StdVideoH265LevelIdc maxLevelIdc - VkStructureTypesType - const void* pNext - uint32_t spsStdCount - const StdVideoH265SequenceParameterSet* pSpsStd - uint32_t ppsStdCount - const StdVideoH265PictureParameterSet* pPpsStdList of Picture Parameters associated with the spsStd, above + VkStructureType sType + const void* pNext + uint32_t stdVPSCount + const StdVideoH265VideoParameterSet* pStdVPSs + uint32_t stdSPSCount + const StdVideoH265SequenceParameterSet* pStdSPSs + uint32_t stdPPSCount + const StdVideoH265PictureParameterSet* pStdPPSsList of Picture Parameters associated with the spsStd, above - VkStructureTypesType - const void* pNext - uint32_t maxSpsStdCount - uint32_t maxPpsStdCount + VkStructureType sType + const void* pNext + uint32_t maxStdVPSCount + uint32_t maxStdSPSCount + uint32_t maxStdPPSCount const VkVideoDecodeH265SessionParametersAddInfoEXT* pParametersAddInfo - VkStructureTypesType - const void* pNext + VkStructureType sType + const void* pNext StdVideoDecodeH265PictureInfo* pStdPictureInfo - uint32_t slicesCount - const uint32_t* pSlicesDataOffsets + uint32_t sliceCount + const uint32_t* pSliceOffsets - - VkStructureTypesType - const void* pNext + + VkStructureType sType + const void* pNext const StdVideoDecodeH265ReferenceInfo* pStdReferenceInfo - VkStructureTypesType - const void* pNext + VkStructureType sType + const void* pNext uint32_t queueFamilyIndex VkVideoSessionCreateFlagsKHR flags - const VkVideoProfileKHR* pVideoProfile + const VkVideoProfileInfoKHR* pVideoProfile VkFormat pictureFormat VkExtent2D maxCodedExtent - VkFormat referencePicturesFormat - uint32_t maxReferencePicturesSlotsCount - uint32_t maxReferencePicturesActiveCount + VkFormat referencePictureFormat + uint32_t maxDpbSlots + uint32_t maxActiveReferencePictures + const VkExtensionProperties* pStdHeaderVersion - VkStructureTypesType - const void* pNext + VkStructureType sType + const void* pNext + VkVideoSessionParametersCreateFlagsKHR flags VkVideoSessionParametersKHR videoSessionParametersTemplate VkVideoSessionKHR videoSession - VkStructureTypesType + VkStructureType sType const void* pNext uint32_t updateSequenceCount - VkStructureTypesType + VkStructureType sType const void* pNext VkVideoBeginCodingFlagsKHR flags - VkVideoCodingQualityPresetFlagsKHR codecQualityPreset VkVideoSessionKHR videoSession VkVideoSessionParametersKHR videoSessionParameters uint32_t referenceSlotCount - const VkVideoReferenceSlotKHR* pReferenceSlots + const VkVideoReferenceSlotInfoKHR* pReferenceSlots - VkStructureTypesType + VkStructureType sType const void* pNext VkVideoEndCodingFlagsKHR flags - VkStructureTypesType - const void* pNext - VkVideoCodingControlFlagsKHR flags + VkStructureType sType + const void* pNext + VkVideoCodingControlFlagsKHR flags + + + VkStructureType sType + const void* pNext + VkVideoEncodeUsageFlagsKHR videoUsageHints + VkVideoEncodeContentFlagsKHR videoContentHints + VkVideoEncodeTuningModeKHR tuningMode - VkStructureTypesType + VkStructureType sType const void* pNext VkVideoEncodeFlagsKHR flags uint32_t qualityLevel - VkExtent2D codedExtent VkBuffer dstBitstreamBuffer VkDeviceSize dstBitstreamBufferOffset VkDeviceSize dstBitstreamBufferMaxRange - VkVideoPictureResourceKHR srcPictureResource - const VkVideoReferenceSlotKHR* pSetupReferenceSlot + VkVideoPictureResourceInfoKHR srcPictureResource + const VkVideoReferenceSlotInfoKHR* pSetupReferenceSlot uint32_t referenceSlotCount - const VkVideoReferenceSlotKHR* pReferenceSlots + const VkVideoReferenceSlotInfoKHR* pReferenceSlots uint32_t precedingExternallyEncodedBytes - VkStructureTypesType + VkStructureType sType const void* pNext - VkVideoEncodeRateControlFlagsKHR flags + VkVideoEncodeRateControlFlagsKHR flags VkVideoEncodeRateControlModeFlagBitsKHR rateControlMode uint8_t layerCount const VkVideoEncodeRateControlLayerInfoKHR* pLayerConfigs - VkStructureTypesType + VkStructureType sType const void* pNext uint32_t averageBitrate uint32_t maxBitrate @@ -6075,99 +6324,106 @@ typedef void CAMetalLayer; uint32_t virtualBufferSizeInMs uint32_t initialVirtualBufferSizeInMs - - VkStructureTypesType - const void* pNext - VkVideoEncodeH264CapabilityFlagsEXT flags - VkVideoEncodeH264InputModeFlagsEXT inputModeFlags - VkVideoEncodeH264OutputModeFlagsEXT outputModeFlags - VkExtent2D minPictureSizeInMbs - VkExtent2D maxPictureSizeInMbs - VkExtent2D inputImageDataAlignment - uint8_t maxNumL0ReferenceForP - uint8_t maxNumL0ReferenceForB - uint8_t maxNumL1Reference + + VkStructureType sType + void* pNext + VkVideoEncodeCapabilityFlagsKHR flags + VkVideoEncodeRateControlModeFlagsKHR rateControlModes + uint8_t rateControlLayerCount uint8_t qualityLevelCount - VkExtensionProperties stdExtensionVersion + VkExtent2D inputImageDataFillAlignment - - VkStructureTypesType - const void* pNext - VkVideoEncodeH264CreateFlagsEXT flags - VkExtent2D maxPictureSizeInMbs - const VkExtensionProperties* pStdExtensionVersion + + VkStructureType sType + void* pNext + VkVideoEncodeH264CapabilityFlagsEXT flags + VkVideoEncodeH264InputModeFlagsEXT inputModeFlags + VkVideoEncodeH264OutputModeFlagsEXT outputModeFlags + uint8_t maxPPictureL0ReferenceCount + uint8_t maxBPictureL0ReferenceCount + uint8_t maxL1ReferenceCount + VkBool32 motionVectorsOverPicBoundariesFlag + uint32_t maxBytesPerPicDenom + uint32_t maxBitsPerMbDenom + uint32_t log2MaxMvLengthHorizontal + uint32_t log2MaxMvLengthVertical #include "vk_video/vulkan_video_codec_h264std_encode.h" + + - VkStructureTypesType + VkStructureType sType const void* pNext - uint32_t spsStdCount - const StdVideoH264SequenceParameterSet* pSpsStd - uint32_t ppsStdCount - const StdVideoH264PictureParameterSet* pPpsStdList of Picture Parameters associated with the spsStd, above + uint32_t stdSPSCount + const StdVideoH264SequenceParameterSet* pStdSPSs + uint32_t stdPPSCount + const StdVideoH264PictureParameterSet* pStdPPSsList of Picture Parameters associated with the spsStd, above - VkStructureTypesType + VkStructureType sType const void* pNext - uint32_t maxSpsStdCount - uint32_t maxPpsStdCount + uint32_t maxStdSPSCount + uint32_t maxStdPPSCount const VkVideoEncodeH264SessionParametersAddInfoEXT* pParametersAddInfo - VkStructureTypesType + VkStructureType sType const void* pNext int8_t slotIndex - const StdVideoEncodeH264PictureInfo* pStdPictureInfo + const StdVideoEncodeH264ReferenceInfo* pStdReferenceInfo - VkStructureTypesType - const void* pNext - uint8_t refDefaultFinalList0EntryCount - const VkVideoEncodeH264DpbSlotInfoEXT* pRefDefaultFinalList0Entries - uint8_t refDefaultFinalList1EntryCount - const VkVideoEncodeH264DpbSlotInfoEXT* pRefDefaultFinalList1Entries - uint32_t naluSliceEntryCount - const VkVideoEncodeH264NaluSliceEXT* pNaluSliceEntries - const VkVideoEncodeH264DpbSlotInfoEXT* pCurrentPictureInfo - - - VkStructureTypesType - const void* pNext + VkStructureType sType + const void* pNext + const VkVideoEncodeH264ReferenceListsInfoEXT* pReferenceFinalLists + uint32_t naluSliceEntryCount + const VkVideoEncodeH264NaluSliceInfoEXT* pNaluSliceEntries + const StdVideoEncodeH264PictureInfo* pCurrentPictureInfo + + + VkStructureType sType + const void* pNext + uint8_t referenceList0EntryCount + const VkVideoEncodeH264DpbSlotInfoEXT* pReferenceList0Entries + uint8_t referenceList1EntryCount + const VkVideoEncodeH264DpbSlotInfoEXT* pReferenceList1Entries + const StdVideoEncodeH264RefMemMgmtCtrlOperations* pMemMgmtCtrlOperations + + + VkStructureType sType + const void* pNext uint8_t spsId VkBool32 emitSpsEnable uint32_t ppsIdEntryCount - const uint8_t* ppsIdEntries + const uint8_t* ppsIdEntries - - VkStructureTypesType - const void* pNext - StdVideoH264ProfileIdc stdProfileIdc + + VkStructureType sType + const void* pNext + StdVideoH264ProfileIdc stdProfileIdc - - VkStructureTypesType - const void* pNext - const StdVideoEncodeH264SliceHeader* pSliceHeaderStd + + VkStructureType sType + const void* pNext uint32_t mbCount - uint8_t refFinalList0EntryCount - const VkVideoEncodeH264DpbSlotInfoEXT* pRefFinalList0Entries - uint8_t refFinalList1EntryCount - const VkVideoEncodeH264DpbSlotInfoEXT* pRefFinalList1Entries + const VkVideoEncodeH264ReferenceListsInfoEXT* pReferenceFinalLists + const StdVideoEncodeH264SliceHeader* pSliceHeaderStd - - VkStructureTypesType + + VkStructureType sType const void* pNext uint32_t gopFrameCount uint32_t idrPeriod uint32_t consecutiveBFrameCount - VkVideoEncodeH264RateControlStructureFlagBitsEXT rateControlStructure + VkVideoEncodeH264RateControlStructureEXT rateControlStructure uint8_t temporalLayerCount @@ -6180,8 +6436,8 @@ typedef void CAMetalLayer; uint32_t framePSize uint32_t frameBSize - - VkStructureTypesType + + VkStructureType sType const void* pNext uint8_t temporalLayerId VkBool32 useInitialRcQp @@ -6193,64 +6449,67 @@ typedef void CAMetalLayer; VkBool32 useMaxFrameSize VkVideoEncodeH264FrameSizeEXT maxFrameSize - - VkStructureTypesType - const void* pNext - VkVideoEncodeH265CapabilityFlagsEXT flags + + VkStructureType sType + void* pNext + VkVideoEncodeH265CapabilityFlagsEXT flags VkVideoEncodeH265InputModeFlagsEXT inputModeFlags VkVideoEncodeH265OutputModeFlagsEXT outputModeFlags VkVideoEncodeH265CtbSizeFlagsEXT ctbSizes - VkExtent2D inputImageDataAlignment - uint8_t maxNumL0ReferenceForP - uint8_t maxNumL0ReferenceForB - uint8_t maxNumL1Reference - uint8_t maxNumSubLayers - uint8_t qualityLevelCount - VkExtensionProperties stdExtensionVersion - - - VkStructureTypesType - const void* pNext - VkVideoEncodeH265CreateFlagsEXT flags - const VkExtensionProperties* pStdExtensionVersion + VkVideoEncodeH265TransformBlockSizeFlagsEXT transformBlockSizes + uint8_t maxPPictureL0ReferenceCount + uint8_t maxBPictureL0ReferenceCount + uint8_t maxL1ReferenceCount + uint8_t maxSubLayersCount + uint8_t minLog2MinLumaCodingBlockSizeMinus3 + uint8_t maxLog2MinLumaCodingBlockSizeMinus3 + uint8_t minLog2MinLumaTransformBlockSizeMinus2 + uint8_t maxLog2MinLumaTransformBlockSizeMinus2 + uint8_t minMaxTransformHierarchyDepthInter + uint8_t maxMaxTransformHierarchyDepthInter + uint8_t minMaxTransformHierarchyDepthIntra + uint8_t maxMaxTransformHierarchyDepthIntra + uint8_t maxDiffCuQpDeltaDepth + uint8_t minMaxNumMergeCand + uint8_t maxMaxNumMergeCand #include "vk_video/vulkan_video_codec_h265std_encode.h" - + - + - VkStructureTypesType + VkStructureType sType const void* pNext - uint32_t vpsStdCount - const StdVideoH265VideoParameterSet* pVpsStd - uint32_t spsStdCount - const StdVideoH265SequenceParameterSet* pSpsStd - uint32_t ppsStdCount - const StdVideoH265PictureParameterSet* pPpsStdList of Picture Parameters associated with the spsStd, above + uint32_t stdVPSCount + const StdVideoH265VideoParameterSet* pStdVPSs + uint32_t stdSPSCount + const StdVideoH265SequenceParameterSet* pStdSPSs + uint32_t stdPPSCount + const StdVideoH265PictureParameterSet* pStdPPSsList of Picture Parameters associated with the spsStd, above - VkStructureTypesType + VkStructureType sType const void* pNext - uint32_t maxVpsStdCount - uint32_t maxSpsStdCount - uint32_t maxPpsStdCount + uint32_t maxStdVPSCount + uint32_t maxStdSPSCount + uint32_t maxStdPPSCount const VkVideoEncodeH265SessionParametersAddInfoEXT* pParametersAddInfo - VkStructureTypesType + VkStructureType sType const void* pNext - const VkVideoEncodeH265ReferenceListsEXT* pReferenceFinalLists - uint32_t naluSliceEntryCount - const VkVideoEncodeH265NaluSliceEXT* pNaluSliceEntries + const VkVideoEncodeH265ReferenceListsInfoEXT* pReferenceFinalLists + uint32_t naluSliceSegmentEntryCount + const VkVideoEncodeH265NaluSliceSegmentInfoEXT* pNaluSliceSegmentEntries const StdVideoEncodeH265PictureInfo* pCurrentPictureInfo - - VkStructureTypesType + + VkStructureType sType const void* pNext uint8_t vpsId uint8_t spsId @@ -6259,20 +6518,20 @@ typedef void CAMetalLayer; uint32_t ppsIdEntryCount const uint8_t* ppsIdEntries - - VkStructureTypesType + + VkStructureType sType const void* pNext uint32_t ctbCount - const VkVideoEncodeH265ReferenceListsEXT* pReferenceFinalLists - const StdVideoEncodeH265SliceHeader* pSliceHeaderStd + const VkVideoEncodeH265ReferenceListsInfoEXT* pReferenceFinalLists + const StdVideoEncodeH265SliceSegmentHeader* pSliceSegmentHeaderStd - - VkStructureTypesType + + VkStructureType sType const void* pNext uint32_t gopFrameCount uint32_t idrPeriod uint32_t consecutiveBFrameCount - VkVideoEncodeH265RateControlStructureFlagBitsEXT rateControlStructure + VkVideoEncodeH265RateControlStructureEXT rateControlStructure uint8_t subLayerCount @@ -6285,8 +6544,8 @@ typedef void CAMetalLayer; uint32_t framePSize uint32_t frameBSize - - VkStructureTypesType + + VkStructureType sType const void* pNext uint8_t temporalId VkBool32 useInitialRcQp @@ -6298,19 +6557,19 @@ typedef void CAMetalLayer; VkBool32 useMaxFrameSize VkVideoEncodeH265FrameSizeEXT maxFrameSize - - VkStructureTypesType + + VkStructureType sType const void* pNext StdVideoH265ProfileIdc stdProfileIdc - VkStructureTypesType + VkStructureType sType const void* pNext int8_t slotIndex const StdVideoEncodeH265ReferenceInfo* pStdReferenceInfo - - VkStructureTypesType + + VkStructureType sType const void* pNext uint8_t referenceList0EntryCount const VkVideoEncodeH265DpbSlotInfoEXT* pReferenceList0Entries @@ -6386,7 +6645,7 @@ typedef void CAMetalLayer; VkBool32 shaderIntegerDotProduct - + VkStructureType sType void* pNext VkBool32 integerDotProduct8BitUnsignedAccelerated @@ -6431,6 +6690,16 @@ typedef void CAMetalLayer; int64_t renderMajor int64_t renderMinor + + VkStructureType sType + void* pNext + VkBool32 fragmentShaderBarycentric + + + VkStructureType sType + void* pNext + VkBool32 triStripVertexOrderIndependentOfProvokingVertex + VkStructureType sType void* pNext @@ -6562,7 +6831,7 @@ typedef void CAMetalLayer; VkImageFormatConstraintsFlagsFUCHSIA flags uint64_t sysmemPixelFormat uint32_t colorSpaceCount - const VkSysmemColorSpaceFUCHSIA* pColorSpaces + const VkSysmemColorSpaceFUCHSIA* pColorSpaces VkStructureType sType @@ -6589,16 +6858,16 @@ typedef void CAMetalLayer; VkStructureType sType void* pNext - VkFormatFeatureFlags2 linearTilingFeatures - VkFormatFeatureFlags2 optimalTilingFeatures - VkFormatFeatureFlags2 bufferFeatures + VkFormatFeatureFlags2 linearTilingFeatures + VkFormatFeatureFlags2 optimalTilingFeatures + VkFormatFeatureFlags2 bufferFeatures VkStructureType sType void* pNext uint32_t drmFormatModifierCount - VkDrmFormatModifierProperties2EXT* pDrmFormatModifierProperties + VkDrmFormatModifierProperties2EXT* pDrmFormatModifierProperties uint64_t drmFormatModifier @@ -6622,9 +6891,9 @@ typedef void CAMetalLayer; const void* pNext uint32_t viewMask uint32_t colorAttachmentCount - const VkFormat* pColorAttachmentFormats - VkFormat depthAttachmentFormat - VkFormat stencilAttachmentFormat + const VkFormat* pColorAttachmentFormats + VkFormat depthAttachmentFormat + VkFormat stencilAttachmentFormat @@ -6687,9 +6956,9 @@ typedef void CAMetalLayer; VkStructureType sType const void* pNext - uint32_t colorAttachmentCount - const VkSampleCountFlagBits* pColorAttachmentSamples - VkSampleCountFlagBits depthStencilAttachmentSamples + uint32_t colorAttachmentCount + const VkSampleCountFlagBits* pColorAttachmentSamples + VkSampleCountFlagBits depthStencilAttachmentSamples @@ -6708,123 +6977,625 @@ typedef void CAMetalLayer; const void* pNext float minLod - - VkStructureType sType - const void* pNext + + VkStructureType sType + void* pNext VkBool32 rasterizationOrderColorAttachmentAccess VkBool32 rasterizationOrderDepthAttachmentAccess VkBool32 rasterizationOrderStencilAttachmentAccess + VkStructureType sType void* pNext VkBool32 linearColorAttachment - - Vulkan enumerant (token) definitions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Unlike OpenGL, most tokens in Vulkan are actual typed enumerants in - their own numeric namespaces. The "name" attribute is the C enum - type name, and is pulled in from a type tag definition above - (slightly clunky, but retains the type / enum distinction). "type" - attributes of "enum" or "bitmask" indicate that these values should - be generated inside an appropriate definition. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + VkStructureType sType + void* pNext + VkBool32 graphicsPipelineLibrary + + + VkStructureType sType + void* pNext + VkBool32 graphicsPipelineLibraryFastLinking + VkBool32 graphicsPipelineLibraryIndependentInterpolationDecoration + + + VkStructureType sType + void* pNext + VkGraphicsPipelineLibraryFlagsEXT flags + + + VkStructureType sType + void* pNext + VkBool32 descriptorSetHostMapping + + + VkStructureType sType + const void* pNext + VkDescriptorSetLayout descriptorSetLayout + uint32_t binding + + + VkStructureType sType + void* pNext + size_t descriptorOffset + uint32_t descriptorSize + + + VkStructureType sType + void* pNext + VkBool32 shaderModuleIdentifier + + + VkStructureType sType + void* pNext + uint8_t shaderModuleIdentifierAlgorithmUUID[VK_UUID_SIZE] + + + VkStructureType sType + const void* pNext + uint32_t identifierSize + const uint8_t* pIdentifier + + + VkStructureType sType + void* pNext + uint32_t identifierSize + uint8_t identifier[VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT] + + + VkStructureType sType + const void* pNext + VkImageCompressionFlagsEXT flags + uint32_t compressionControlPlaneCount + VkImageCompressionFixedRateFlagsEXT* pFixedRateFlags + + + VkStructureType sType + void* pNext + VkBool32 imageCompressionControl + + + VkStructureType sType + void* pNext + VkImageCompressionFlagsEXT imageCompressionFlags + VkImageCompressionFixedRateFlagsEXT imageCompressionFixedRateFlags + + + VkStructureType sType + void* pNext + VkBool32 imageCompressionControlSwapchain + + + VkStructureType sType + void* pNext + VkImageSubresource imageSubresource + + + VkStructureType sType + void* pNext + VkSubresourceLayout subresourceLayout + + + VkStructureType sType + const void* pNext + VkBool32 disallowMerging + + + uint32_t postMergeSubpassCount + + + VkStructureType sType + const void* pNext + VkRenderPassCreationFeedbackInfoEXT* pRenderPassFeedback + + + VkSubpassMergeStatusEXT subpassMergeStatus + char description[VK_MAX_DESCRIPTION_SIZE] + uint32_t postMergeIndex + + + VkStructureType sType + const void* pNext + VkRenderPassSubpassFeedbackInfoEXT* pSubpassFeedback + + + VkStructureType sType + void* pNext + VkBool32 subpassMergeFeedback + + + VkStructureType sType + const void* pNext + VkMicromapTypeEXT type + VkBuildMicromapFlagsEXT flags + VkBuildMicromapModeEXT mode + VkMicromapEXT dstMicromap + uint32_t usageCountsCount + const VkMicromapUsageEXT* pUsageCounts + const VkMicromapUsageEXT* const* ppUsageCounts + VkDeviceOrHostAddressConstKHR data + VkDeviceOrHostAddressKHR scratchData + VkDeviceOrHostAddressConstKHR triangleArray + VkDeviceSize triangleArrayStride + + + VkStructureType sType + const void* pNext + VkMicromapCreateFlagsEXT createFlags + VkBuffer buffer + VkDeviceSize offsetSpecified in bytes + VkDeviceSize size + VkMicromapTypeEXT type + VkDeviceAddress deviceAddress + + + VkStructureType sType + const void* pNext + const uint8_t* pVersionData + + + VkStructureType sType + const void* pNext + VkMicromapEXT src + VkMicromapEXT dst + VkCopyMicromapModeEXT mode + + + VkStructureType sType + const void* pNext + VkMicromapEXT src + VkDeviceOrHostAddressKHR dst + VkCopyMicromapModeEXT mode + + + VkStructureType sType + const void* pNext + VkDeviceOrHostAddressConstKHR src + VkMicromapEXT dst + VkCopyMicromapModeEXT mode + + + VkStructureType sType + const void* pNext + VkDeviceSize micromapSize + VkDeviceSize buildScratchSize + VkBool32 discardable + + + uint32_t count + uint32_t subdivisionLevel + uint32_t formatInterpretation depends on parent type + + + uint32_t dataOffsetSpecified in bytes + uint16_t subdivisionLevel + uint16_t format + + + VkStructureType sType + void* pNext + VkBool32 micromap + VkBool32 micromapCaptureReplay + VkBool32 micromapHostCommands + + + VkStructureType sType + void* pNext + uint32_t maxOpacity2StateSubdivisionLevel + uint32_t maxOpacity4StateSubdivisionLevel + + + VkStructureType sType + void* pNext + VkIndexType indexType + VkDeviceOrHostAddressConstKHR indexBuffer + VkDeviceSize indexStride + uint32_t baseTriangle + uint32_t usageCountsCount + const VkMicromapUsageEXT* pUsageCounts + const VkMicromapUsageEXT* const* ppUsageCounts + VkMicromapEXT micromap + + + VkStructureType sType + void* pNext + uint8_t pipelineIdentifier[VK_UUID_SIZE] + + + VkStructureType sType + void* pNext + VkBool32 pipelinePropertiesIdentifier + + + VkStructureType sType + void* pNext + VkBool32 shaderEarlyAndLateFragmentTests + + + VkStructureType sType + const void* pNext + VkExportMetalObjectTypeFlagBitsEXT exportObjectType + + + VkStructureType sType + const void* pNext + + + VkStructureType sType + const void* pNext + MTLDevice_id mtlDevice + + + VkStructureType sType + const void* pNext + VkQueue queue + MTLCommandQueue_id mtlCommandQueue + + + VkStructureType sType + const void* pNext + VkDeviceMemory memory + MTLBuffer_id mtlBuffer + + + VkStructureType sType + const void* pNext + MTLBuffer_id mtlBuffer + + + VkStructureType sType + const void* pNext + VkImage image + VkImageView imageView + VkBufferView bufferView + VkImageAspectFlagBits plane + MTLTexture_id mtlTexture + + + VkStructureType sType + const void* pNext + VkImageAspectFlagBits plane + MTLTexture_id mtlTexture + + + VkStructureType sType + const void* pNext + VkImage image + IOSurfaceRef ioSurface + + + VkStructureType sType + const void* pNext + IOSurfaceRef ioSurface + + + VkStructureType sType + const void* pNext + VkSemaphore semaphore + VkEvent event + MTLSharedEvent_id mtlSharedEvent + + + VkStructureType sType + const void* pNext + MTLSharedEvent_id mtlSharedEvent + + + VkStructureType sType + void* pNext + VkBool32 nonSeamlessCubeMap + + + VkStructureType sType + void* pNext + VkBool32 pipelineRobustness + + + VkStructureType sType + const void* pNext + VkPipelineRobustnessBufferBehaviorEXT storageBuffers + VkPipelineRobustnessBufferBehaviorEXT uniformBuffers + VkPipelineRobustnessBufferBehaviorEXT vertexInputs + VkPipelineRobustnessImageBehaviorEXT images + + + VkStructureType sType + void* pNext + VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessStorageBuffers + VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessUniformBuffers + VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessVertexInputs + VkPipelineRobustnessImageBehaviorEXT defaultRobustnessImages + + + VkStructureType sType + const void* pNext + VkOffset2D filterCenter + VkExtent2D filterSize + uint32_t numPhases + + + VkStructureType sType + void* pNext + VkBool32 textureSampleWeighted + VkBool32 textureBoxFilter + VkBool32 textureBlockMatch + + + VkStructureType sType + void* pNext + uint32_t maxWeightFilterPhases + VkExtent2D maxWeightFilterDimension + VkExtent2D maxBlockMatchRegion + VkExtent2D maxBoxFilterBlockSize + + + VkStructureType sType + void* pNext + VkBool32 tileProperties + + + VkStructureType sType + void* pNext + VkExtent3D tileSize + VkExtent2D apronSize + VkOffset2D origin + + + VkStructureType sType + void* pNext + VkBool32 amigoProfiling + + + VkStructureType sType + const void* pNext + uint64_t firstDrawTimestamp + uint64_t swapBufferTimestamp + + + VkStructureType sType + void* pNext + VkBool32 attachmentFeedbackLoopLayout + + + VkStructureType sType + void* pNext + VkBool32 depthClampZeroOne + + + VkStructureType sType + void* pNext + VkBool32 reportAddressBinding + + + VkStructureType sType + void* pNext + VkDeviceAddressBindingFlagsEXT flags + VkDeviceAddress baseAddress + VkDeviceSize size + VkDeviceAddressBindingTypeEXT bindingType + + + VkStructureType sType + void* pNext + VkBool32 opticalFlow + + + VkStructureType sType + void* pNext + VkOpticalFlowGridSizeFlagsNV supportedOutputGridSizes + VkOpticalFlowGridSizeFlagsNV supportedHintGridSizes + VkBool32 hintSupported + VkBool32 costSupported + VkBool32 bidirectionalFlowSupported + VkBool32 globalFlowSupported + uint32_t minWidth + uint32_t minHeight + uint32_t maxWidth + uint32_t maxHeight + uint32_t maxNumRegionsOfInterest + + + VkStructureType sType + const void* pNext + VkOpticalFlowUsageFlagsNV usage + + + VkStructureType sType + const void* pNext + VkFormat format + + + VkStructureType sType + void* pNext + uint32_t width + uint32_t height + VkFormat imageFormat + VkFormat flowVectorFormat + VkFormat costFormat + VkOpticalFlowGridSizeFlagsNV outputGridSize + VkOpticalFlowGridSizeFlagsNV hintGridSize + VkOpticalFlowPerformanceLevelNV performanceLevel + VkOpticalFlowSessionCreateFlagsNV flags + + NV internal use only + VkStructureType sType + void* pNext + uint32_t id + uint32_t size + const void* pPrivateData + + + VkStructureType sType + void* pNext + VkOpticalFlowExecuteFlagsNV flags + uint32_t regionCount + const VkRect2D* pRegions + + + VkStructureType sType + void* pNext + VkBool32 deviceFault + VkBool32 deviceFaultVendorBinary + + + VkDeviceFaultAddressTypeEXT addressType + VkDeviceAddress reportedAddress + VkDeviceSize addressPrecision + + + char description[VK_MAX_DESCRIPTION_SIZE]Free-form description of the fault + uint64_t vendorFaultCode + uint64_t vendorFaultData + + + VkStructureType sType + void* pNext + uint32_t addressInfoCount + uint32_t vendorInfoCount + VkDeviceSize vendorBinarySizeSpecified in bytes + + + VkStructureType sType + void* pNext + char description[VK_MAX_DESCRIPTION_SIZE]Free-form description of the fault + VkDeviceFaultAddressInfoEXT* pAddressInfos + VkDeviceFaultVendorInfoEXT* pVendorInfos + void* pVendorBinaryData + + + The fields in this structure are non-normative since structure packing is implementation-defined in C. The specification defines the normative layout. + uint32_t headerSize + VkDeviceFaultVendorBinaryHeaderVersionEXT headerVersion + uint32_t vendorID + uint32_t deviceID + uint32_t driverVersion + uint8_t pipelineCacheUUID[VK_UUID_SIZE] + uint32_t applicationNameOffset + uint32_t applicationVersion + uint32_t engineNameOffset + + + VkStructureType sType + void* pNext + uint32_t shaderCoreCount + uint32_t shaderWarpsPerCore + + + VkStructureType sType + void* pNext + VkBool32 shaderCoreBuiltins + + + + + Vulkan enumerant (token) definitions + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unlike OpenGL, most tokens in Vulkan are actual typed enumerants in + their own numeric namespaces. The "name" attribute is the C enum + type name, and is pulled in from a type tag definition above + (slightly clunky, but retains the type / enum distinction). "type" + attributes of "enum" or "bitmask" indicate that these values should + be generated inside an appropriate definition. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -7240,7 +8011,7 @@ typedef void CAMetalLayer; Error codes (negative values) - + @@ -7607,8 +8378,10 @@ typedef void CAMetalLayer; - - + NVX_device_generated_commands formerly used these enum values, but that extension has been removed + value 31 / name VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT + value 32 / name VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT + @@ -7898,6 +8671,7 @@ typedef void CAMetalLayer; + @@ -8025,6 +8799,7 @@ typedef void CAMetalLayer; + @@ -8158,6 +8933,22 @@ typedef void CAMetalLayer; + + + + + + + + + + + + + + + + @@ -8195,7 +8986,7 @@ typedef void CAMetalLayer; - + bitpos 17-31 are specified by extensions to the original VkAccessFlagBits enum @@ -8233,7 +9024,7 @@ typedef void CAMetalLayer; - + @@ -8242,7 +9033,7 @@ typedef void CAMetalLayer; - + bitpos 17-31 are specified by extensions to the original VkPipelineStageFlagBits enum @@ -8279,12 +9070,25 @@ typedef void CAMetalLayer; + + + + + + + + + + + + + - + - + @@ -8301,21 +9105,14 @@ typedef void CAMetalLayer; - - - - - - - @@ -8323,17 +9120,38 @@ typedef void CAMetalLayer; - - - + + + + + + + + + + + + + + + + - - - + + + + + - - - + + + + + + + + + @@ -8341,17 +9159,31 @@ typedef void CAMetalLayer; - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -8363,14 +9195,10 @@ typedef void CAMetalLayer; - - - - - + - - + + @@ -8445,28 +9273,199 @@ typedef void CAMetalLayer; - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + - - - - - + + + + + - - - - + + + + + + + + + + + - VkResult vkCreateInstance @@ -8696,7 +9695,7 @@ typedef void CAMetalLayer; VkResult vkQueueBindSparse VkQueue queue uint32_t bindInfoCount - const VkBindSparseInfo* pBindInfo + const VkBindSparseInfo* pBindInfo VkFence fence @@ -8830,7 +9829,7 @@ typedef void CAMetalLayer; VkBufferView bufferView const VkAllocationCallbacks* pAllocator - + VkResult vkCreateImage VkDevice device const VkImageCreateInfo* pCreateInfo @@ -9011,9 +10010,9 @@ typedef void CAMetalLayer; void vkUpdateDescriptorSets VkDevice device uint32_t descriptorWriteCount - const VkWriteDescriptorSet* pDescriptorWrites + const VkWriteDescriptorSet* pDescriptorWrites uint32_t descriptorCopyCount - const VkCopyDescriptorSet* pDescriptorCopies + const VkCopyDescriptorSet* pDescriptorCopies VkResult vkCreateFramebuffer @@ -9102,86 +10101,86 @@ typedef void CAMetalLayer; the sname:VkCommandPool that pname:commandBuffer was allocated from - + 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 + 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 @@ -9189,7 +10188,7 @@ typedef void CAMetalLayer; const VkBuffer* pBuffers const VkDeviceSize* pOffsets - + void vkCmdDraw VkCommandBuffer commandBuffer uint32_t vertexCount @@ -9197,7 +10196,7 @@ typedef void CAMetalLayer; uint32_t firstVertex uint32_t firstInstance - + void vkCmdDrawIndexed VkCommandBuffer commandBuffer uint32_t indexCount @@ -9206,26 +10205,26 @@ typedef void CAMetalLayer; int32_t vertexOffset uint32_t firstInstance - + void vkCmdDrawMultiEXT VkCommandBuffer commandBuffer uint32_t drawCount - const VkMultiDrawInfoEXT* pVertexInfo + const VkMultiDrawInfoEXT* pVertexInfo uint32_t instanceCount uint32_t firstInstance uint32_t stride - + void vkCmdDrawMultiIndexedEXT VkCommandBuffer commandBuffer uint32_t drawCount - const VkMultiDrawIndexedInfoEXT* pIndexInfo + const VkMultiDrawIndexedInfoEXT* pIndexInfo uint32_t instanceCount uint32_t firstInstance uint32_t stride const int32_t* pVertexOffset - + void vkCmdDrawIndirect VkCommandBuffer commandBuffer VkBuffer buffer @@ -9233,7 +10232,7 @@ typedef void CAMetalLayer; uint32_t drawCount uint32_t stride - + void vkCmdDrawIndexedIndirect VkCommandBuffer commandBuffer VkBuffer buffer @@ -9241,24 +10240,24 @@ typedef void CAMetalLayer; 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 vkCmdSubpassShadingHUAWEI VkCommandBuffer commandBuffer - + void vkCmdCopyBuffer VkCommandBuffer commandBuffer VkBuffer srcBuffer @@ -9266,7 +10265,7 @@ typedef void CAMetalLayer; uint32_t regionCount const VkBufferCopy* pRegions - + void vkCmdCopyImage VkCommandBuffer commandBuffer VkImage srcImage @@ -9276,7 +10275,7 @@ typedef void CAMetalLayer; uint32_t regionCount const VkImageCopy* pRegions - + void vkCmdBlitImage VkCommandBuffer commandBuffer VkImage srcImage @@ -9287,7 +10286,7 @@ typedef void CAMetalLayer; const VkImageBlit* pRegions VkFilter filter - + void vkCmdCopyBufferToImage VkCommandBuffer commandBuffer VkBuffer srcBuffer @@ -9296,7 +10295,7 @@ typedef void CAMetalLayer; uint32_t regionCount const VkBufferImageCopy* pRegions - + void vkCmdCopyImageToBuffer VkCommandBuffer commandBuffer VkImage srcImage @@ -9305,7 +10304,7 @@ typedef void CAMetalLayer; uint32_t regionCount const VkBufferImageCopy* pRegions - + void vkCmdUpdateBuffer VkCommandBuffer commandBuffer VkBuffer dstBuffer @@ -9313,7 +10312,7 @@ typedef void CAMetalLayer; VkDeviceSize dataSize const void* pData - + void vkCmdFillBuffer VkCommandBuffer commandBuffer VkBuffer dstBuffer @@ -9321,7 +10320,7 @@ typedef void CAMetalLayer; VkDeviceSize size uint32_t data - + void vkCmdClearColorImage VkCommandBuffer commandBuffer VkImage image @@ -9330,7 +10329,7 @@ typedef void CAMetalLayer; uint32_t rangeCount const VkImageSubresourceRange* pRanges - + void vkCmdClearDepthStencilImage VkCommandBuffer commandBuffer VkImage image @@ -9339,7 +10338,7 @@ typedef void CAMetalLayer; uint32_t rangeCount const VkImageSubresourceRange* pRanges - + void vkCmdClearAttachments VkCommandBuffer commandBuffer uint32_t attachmentCount @@ -9347,7 +10346,7 @@ typedef void CAMetalLayer; uint32_t rectCount const VkClearRect* pRects - + void vkCmdResolveImage VkCommandBuffer commandBuffer VkImage srcImage @@ -9357,19 +10356,19 @@ typedef void CAMetalLayer; 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 @@ -9383,7 +10382,7 @@ typedef void CAMetalLayer; uint32_t imageMemoryBarrierCount const VkImageMemoryBarrier* pImageMemoryBarriers - + void vkCmdPipelineBarrier VkCommandBuffer commandBuffer VkPipelineStageFlags srcStageMask @@ -9396,43 +10395,43 @@ typedef void CAMetalLayer; 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 vkCmdBeginConditionalRenderingEXT VkCommandBuffer commandBuffer const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin - + void vkCmdEndConditionalRenderingEXT VkCommandBuffer commandBuffer - + 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 @@ -9443,7 +10442,7 @@ typedef void CAMetalLayer; VkDeviceSize stride VkQueryResultFlags flags - + void vkCmdPushConstants VkCommandBuffer commandBuffer VkPipelineLayout layout @@ -9452,22 +10451,22 @@ typedef void CAMetalLayer; 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 @@ -9569,7 +10568,7 @@ typedef void CAMetalLayer; uint32_t* pPresentModeCount VkPresentModeKHR* pPresentModes - + VkResult vkCreateSwapchainKHR VkDevice device const VkSwapchainCreateInfoKHR* pCreateInfo @@ -9737,16 +10736,16 @@ typedef void CAMetalLayer; VkDevice device const VkDebugMarkerObjectTagInfoEXT* pTagInfo - + void vkCmdDebugMarkerBeginEXT VkCommandBuffer commandBuffer const VkDebugMarkerMarkerInfoEXT* pMarkerInfo - + void vkCmdDebugMarkerEndEXT VkCommandBuffer commandBuffer - + void vkCmdDebugMarkerInsertEXT VkCommandBuffer commandBuffer const VkDebugMarkerMarkerInfoEXT* pMarkerInfo @@ -9769,18 +10768,18 @@ typedef void CAMetalLayer; VkExternalMemoryHandleTypeFlagsNV handleType HANDLE* pHandle - + void vkCmdExecuteGeneratedCommandsNV VkCommandBuffer commandBuffer VkBool32 isPreprocessed const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo - + void vkCmdPreprocessGeneratedCommandsNV VkCommandBuffer commandBuffer const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo - + void vkCmdBindPipelineShaderGroupNV VkCommandBuffer commandBuffer VkPipelineBindPoint pipelineBindPoint @@ -9825,7 +10824,7 @@ typedef void CAMetalLayer; VkFormatProperties2* pFormatProperties - + VkResult vkGetPhysicalDeviceImageFormatProperties2 VkPhysicalDevice physicalDevice const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo @@ -9853,7 +10852,7 @@ typedef void CAMetalLayer; VkSparseImageFormatProperties2* pProperties - + void vkCmdPushDescriptorSetKHR VkCommandBuffer commandBuffer VkPipelineBindPoint pipelineBindPoint @@ -10083,7 +11082,7 @@ typedef void CAMetalLayer; const VkBindImageMemoryInfo* pBindInfos - + void vkCmdSetDeviceMask VkCommandBuffer commandBuffer uint32_t deviceMask @@ -10106,7 +11105,7 @@ typedef void CAMetalLayer; const VkAcquireNextImageInfoKHR* pAcquireInfo uint32_t* pImageIndex - + void vkCmdDispatchBase VkCommandBuffer commandBuffer uint32_t baseGroupX @@ -10142,12 +11141,12 @@ typedef void CAMetalLayer; void vkUpdateDescriptorSetWithTemplate VkDevice device - VkDescriptorSet descriptorSet + VkDescriptorSet descriptorSet VkDescriptorUpdateTemplate descriptorUpdateTemplate const void* pData - + void vkCmdPushDescriptorSetWithTemplateKHR VkCommandBuffer commandBuffer VkDescriptorUpdateTemplate descriptorUpdateTemplate @@ -10201,21 +11200,21 @@ typedef void CAMetalLayer; const VkAllocationCallbacks* pAllocator VkSurfaceKHR* pSurface - + void vkCmdSetViewportWScalingNV VkCommandBuffer commandBuffer uint32_t firstViewport uint32_t viewportCount const VkViewportWScalingNV* pViewportWScalings - + void vkCmdSetDiscardRectangleEXT VkCommandBuffer commandBuffer uint32_t firstDiscardRectangle uint32_t discardRectangleCount const VkRect2D* pDiscardRectangles - + void vkCmdSetSampleLocationsEXT VkCommandBuffer commandBuffer const VkSampleLocationsInfoEXT* pSampleLocationsInfo @@ -10448,16 +11447,16 @@ typedef void CAMetalLayer; VkQueue queue const VkDebugUtilsLabelEXT* pLabelInfo - + void vkCmdBeginDebugUtilsLabelEXT VkCommandBuffer commandBuffer const VkDebugUtilsLabelEXT* pLabelInfo - + void vkCmdEndDebugUtilsLabelEXT VkCommandBuffer commandBuffer - + void vkCmdInsertDebugUtilsLabelEXT VkCommandBuffer commandBuffer const VkDebugUtilsLabelEXT* pLabelInfo @@ -10489,7 +11488,7 @@ typedef void CAMetalLayer; const void* pHostPointer VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties - + void vkCmdWriteBufferMarkerAMD VkCommandBuffer commandBuffer VkPipelineStageFlagBits pipelineStage @@ -10505,21 +11504,21 @@ typedef void CAMetalLayer; VkRenderPass* pRenderPass - + void vkCmdBeginRenderPass2 VkCommandBuffer commandBuffer const VkRenderPassBeginInfo* pRenderPassBegin const VkSubpassBeginInfo* pSubpassBeginInfo - + void vkCmdNextSubpass2 VkCommandBuffer commandBuffer const VkSubpassBeginInfo* pSubpassBeginInfo const VkSubpassEndInfo* pSubpassEndInfo - + void vkCmdEndRenderPass2 VkCommandBuffer commandBuffer const VkSubpassEndInfo* pSubpassEndInfo @@ -10557,7 +11556,7 @@ typedef void CAMetalLayer; const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo struct AHardwareBuffer** pBuffer - + void vkCmdDrawIndirectCount VkCommandBuffer commandBuffer VkBuffer buffer @@ -10569,7 +11568,7 @@ typedef void CAMetalLayer; - + void vkCmdDrawIndexedIndirectCount VkCommandBuffer commandBuffer VkBuffer buffer @@ -10581,7 +11580,7 @@ typedef void CAMetalLayer; - + void vkCmdSetCheckpointNV VkCommandBuffer commandBuffer const void* pCheckpointMarker @@ -10592,7 +11591,7 @@ typedef void CAMetalLayer; uint32_t* pCheckpointDataCount VkCheckpointDataNV* pCheckpointData - + void vkCmdBindTransformFeedbackBuffersEXT VkCommandBuffer commandBuffer uint32_t firstBinding @@ -10601,7 +11600,7 @@ typedef void CAMetalLayer; const VkDeviceSize* pOffsets const VkDeviceSize* pSizes - + void vkCmdBeginTransformFeedbackEXT VkCommandBuffer commandBuffer uint32_t firstCounterBuffer @@ -10609,7 +11608,7 @@ typedef void CAMetalLayer; const VkBuffer* pCounterBuffers const VkDeviceSize* pCounterBufferOffsets - + void vkCmdEndTransformFeedbackEXT VkCommandBuffer commandBuffer uint32_t firstCounterBuffer @@ -10617,7 +11616,7 @@ typedef void CAMetalLayer; const VkBuffer* pCounterBuffers const VkDeviceSize* pCounterBufferOffsets - + void vkCmdBeginQueryIndexedEXT VkCommandBuffer commandBuffer VkQueryPool queryPool @@ -10625,14 +11624,14 @@ typedef void CAMetalLayer; VkQueryControlFlags flags uint32_t index - + void vkCmdEndQueryIndexedEXT VkCommandBuffer commandBuffer VkQueryPool queryPool uint32_t query uint32_t index - + void vkCmdDrawIndirectByteCountEXT VkCommandBuffer commandBuffer uint32_t instanceCount @@ -10642,40 +11641,40 @@ typedef void CAMetalLayer; uint32_t counterOffset uint32_t vertexStride - + void vkCmdSetExclusiveScissorNV VkCommandBuffer commandBuffer uint32_t firstExclusiveScissor uint32_t exclusiveScissorCount const VkRect2D* pExclusiveScissors - + void vkCmdBindShadingRateImageNV VkCommandBuffer commandBuffer VkImageView imageView VkImageLayout imageLayout - + void vkCmdSetViewportShadingRatePaletteNV VkCommandBuffer commandBuffer uint32_t firstViewport uint32_t viewportCount const VkShadingRatePaletteNV* pShadingRatePalettes - + void vkCmdSetCoarseSampleOrderNV VkCommandBuffer commandBuffer VkCoarseSampleOrderTypeNV sampleOrderType uint32_t customSampleOrderCount const VkCoarseSampleOrderCustomNV* pCustomSampleOrders - + void vkCmdDrawMeshTasksNV VkCommandBuffer commandBuffer uint32_t taskCount uint32_t firstTask - + void vkCmdDrawMeshTasksIndirectNV VkCommandBuffer commandBuffer VkBuffer buffer @@ -10683,7 +11682,7 @@ typedef void CAMetalLayer; uint32_t drawCount uint32_t stride - + void vkCmdDrawMeshTasksIndirectCountNV VkCommandBuffer commandBuffer VkBuffer buffer @@ -10693,6 +11692,31 @@ typedef void CAMetalLayer; uint32_t maxDrawCount uint32_t stride + + void vkCmdDrawMeshTasksEXT + VkCommandBuffer commandBuffer + uint32_t groupCountX + uint32_t groupCountY + uint32_t groupCountZ + + + void vkCmdDrawMeshTasksIndirectEXT + VkCommandBuffer commandBuffer + VkBuffer buffer + VkDeviceSize offset + uint32_t drawCount + uint32_t stride + + + void vkCmdDrawMeshTasksIndirectCountEXT + VkCommandBuffer commandBuffer + VkBuffer buffer + VkDeviceSize offset + VkBuffer countBuffer + VkDeviceSize countBufferOffset + uint32_t maxDrawCount + uint32_t stride + VkResult vkCompileDeferredNV VkDevice device @@ -10706,7 +11730,7 @@ typedef void CAMetalLayer; const VkAllocationCallbacks* pAllocator VkAccelerationStructureNV* pAccelerationStructure - + void vkCmdBindInvocationMaskHUAWEI VkCommandBuffer commandBuffer VkImageView imageView @@ -10736,14 +11760,14 @@ typedef void CAMetalLayer; uint32_t bindInfoCount const VkBindAccelerationStructureMemoryInfoNV* pBindInfos - + void vkCmdCopyAccelerationStructureNV VkCommandBuffer commandBuffer VkAccelerationStructureNV dst VkAccelerationStructureNV src VkCopyAccelerationStructureModeKHR mode - + void vkCmdCopyAccelerationStructureKHR VkCommandBuffer commandBuffer const VkCopyAccelerationStructureInfoKHR* pInfo @@ -10754,7 +11778,7 @@ typedef void CAMetalLayer; VkDeferredOperationKHR deferredOperation const VkCopyAccelerationStructureInfoKHR* pInfo - + void vkCmdCopyAccelerationStructureToMemoryKHR VkCommandBuffer commandBuffer const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo @@ -10765,7 +11789,7 @@ typedef void CAMetalLayer; VkDeferredOperationKHR deferredOperation const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo - + void vkCmdCopyMemoryToAccelerationStructureKHR VkCommandBuffer commandBuffer const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo @@ -10776,7 +11800,7 @@ typedef void CAMetalLayer; VkDeferredOperationKHR deferredOperation const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo - + void vkCmdWriteAccelerationStructuresPropertiesKHR VkCommandBuffer commandBuffer uint32_t accelerationStructureCount @@ -10785,7 +11809,7 @@ typedef void CAMetalLayer; VkQueryPool queryPool uint32_t firstQuery - + void vkCmdWriteAccelerationStructuresPropertiesNV VkCommandBuffer commandBuffer uint32_t accelerationStructureCount @@ -10794,7 +11818,7 @@ typedef void CAMetalLayer; VkQueryPool queryPool uint32_t firstQuery - + void vkCmdBuildAccelerationStructureNV VkCommandBuffer commandBuffer const VkAccelerationStructureInfoNV* pInfo @@ -10816,7 +11840,7 @@ typedef void CAMetalLayer; void* pData size_t stride - + void vkCmdTraceRaysKHR VkCommandBuffer commandBuffer const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable @@ -10827,7 +11851,7 @@ typedef void CAMetalLayer; uint32_t height uint32_t depth - + void vkCmdTraceRaysNV VkCommandBuffer commandBuffer VkBuffer raygenShaderBindingTableBuffer @@ -10896,7 +11920,7 @@ typedef void CAMetalLayer; uint32_t* pPropertyCount VkCooperativeMatrixPropertiesNV* pProperties - + void vkCmdTraceRaysIndirectKHR VkCommandBuffer commandBuffer const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable @@ -10905,6 +11929,11 @@ typedef void CAMetalLayer; const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable VkDeviceAddress indirectDeviceAddress + + void vkCmdTraceRaysIndirect2KHR + VkCommandBuffer commandBuffer + VkDeviceAddress indirectDeviceAddress + void vkGetDeviceAccelerationStructureCompatibilityKHR VkDevice device @@ -10918,7 +11947,7 @@ typedef void CAMetalLayer; uint32_t group VkShaderGroupShaderKHR groupShader - + void vkCmdSetRayTracingPipelineStackSizeKHR VkCommandBuffer commandBuffer uint32_t pipelineStackSize @@ -11021,17 +12050,17 @@ typedef void CAMetalLayer; void vkUninitializePerformanceApiINTEL VkDevice device - + VkResult vkCmdSetPerformanceMarkerINTEL VkCommandBuffer commandBuffer const VkPerformanceMarkerInfoINTEL* pMarkerInfo - + VkResult vkCmdSetPerformanceStreamMarkerINTEL VkCommandBuffer commandBuffer const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo - + VkResult vkCmdSetPerformanceOverrideINTEL VkCommandBuffer commandBuffer const VkPerformanceOverrideInfoINTEL* pOverrideInfo @@ -11085,7 +12114,7 @@ typedef void CAMetalLayer; uint32_t* pInternalRepresentationCount VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations - + void vkCmdSetLineStippleEXT VkCommandBuffer commandBuffer uint32_t lineStippleFactor @@ -11105,14 +12134,14 @@ typedef void CAMetalLayer; const VkAllocationCallbacks* pAllocator VkAccelerationStructureKHR* pAccelerationStructure - + void vkCmdBuildAccelerationStructuresKHR VkCommandBuffer commandBuffer uint32_t infoCount const VkAccelerationStructureBuildGeometryInfoKHR* pInfos const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos - + void vkCmdBuildAccelerationStructuresIndirectKHR VkCommandBuffer commandBuffer uint32_t infoCount @@ -11161,39 +12190,39 @@ typedef void CAMetalLayer; VkDevice device VkDeferredOperationKHR operation - + void vkCmdSetCullMode VkCommandBuffer commandBuffer VkCullModeFlags cullMode - + void vkCmdSetFrontFace VkCommandBuffer commandBuffer VkFrontFace frontFace - + void vkCmdSetPrimitiveTopology VkCommandBuffer commandBuffer VkPrimitiveTopology primitiveTopology - + void vkCmdSetViewportWithCount VkCommandBuffer commandBuffer uint32_t viewportCount const VkViewport* pViewports - + void vkCmdSetScissorWithCount VkCommandBuffer commandBuffer uint32_t scissorCount const VkRect2D* pScissors - + void vkCmdBindVertexBuffers2 VkCommandBuffer commandBuffer uint32_t firstBinding @@ -11204,37 +12233,37 @@ typedef void CAMetalLayer; const VkDeviceSize* pStrides - + void vkCmdSetDepthTestEnable VkCommandBuffer commandBuffer VkBool32 depthTestEnable - + void vkCmdSetDepthWriteEnable VkCommandBuffer commandBuffer VkBool32 depthWriteEnable - + void vkCmdSetDepthCompareOp VkCommandBuffer commandBuffer VkCompareOp depthCompareOp - + void vkCmdSetDepthBoundsTestEnable VkCommandBuffer commandBuffer VkBool32 depthBoundsTestEnable - + void vkCmdSetStencilTestEnable VkCommandBuffer commandBuffer VkBool32 stencilTestEnable - + void vkCmdSetStencilOp VkCommandBuffer commandBuffer VkStencilFaceFlags faceMask @@ -11244,29 +12273,29 @@ typedef void CAMetalLayer; VkCompareOp compareOp - + void vkCmdSetPatchControlPointsEXT VkCommandBuffer commandBuffer uint32_t patchControlPoints - + void vkCmdSetRasterizerDiscardEnable VkCommandBuffer commandBuffer VkBool32 rasterizerDiscardEnable - + void vkCmdSetDepthBiasEnable VkCommandBuffer commandBuffer VkBool32 depthBiasEnable - + void vkCmdSetLogicOpEXT VkCommandBuffer commandBuffer VkLogicOp logicOp - + void vkCmdSetPrimitiveRestartEnable VkCommandBuffer commandBuffer VkBool32 primitiveRestartEnable @@ -11279,6 +12308,174 @@ typedef void CAMetalLayer; const VkAllocationCallbacks* pAllocator VkPrivateDataSlot* pPrivateDataSlot + + + void vkCmdSetTessellationDomainOriginEXT + VkCommandBuffer commandBuffer + VkTessellationDomainOrigin domainOrigin + + + void vkCmdSetDepthClampEnableEXT + VkCommandBuffer commandBuffer + VkBool32 depthClampEnable + + + void vkCmdSetPolygonModeEXT + VkCommandBuffer commandBuffer + VkPolygonMode polygonMode + + + void vkCmdSetRasterizationSamplesEXT + VkCommandBuffer commandBuffer + VkSampleCountFlagBits rasterizationSamples + + + void vkCmdSetSampleMaskEXT + VkCommandBuffer commandBuffer + VkSampleCountFlagBits samples + const VkSampleMask* pSampleMask + + + void vkCmdSetAlphaToCoverageEnableEXT + VkCommandBuffer commandBuffer + VkBool32 alphaToCoverageEnable + + + void vkCmdSetAlphaToOneEnableEXT + VkCommandBuffer commandBuffer + VkBool32 alphaToOneEnable + + + void vkCmdSetLogicOpEnableEXT + VkCommandBuffer commandBuffer + VkBool32 logicOpEnable + + + void vkCmdSetColorBlendEnableEXT + VkCommandBuffer commandBuffer + uint32_t firstAttachment + uint32_t attachmentCount + const VkBool32* pColorBlendEnables + + + void vkCmdSetColorBlendEquationEXT + VkCommandBuffer commandBuffer + uint32_t firstAttachment + uint32_t attachmentCount + const VkColorBlendEquationEXT* pColorBlendEquations + + + void vkCmdSetColorWriteMaskEXT + VkCommandBuffer commandBuffer + uint32_t firstAttachment + uint32_t attachmentCount + const VkColorComponentFlags* pColorWriteMasks + + + void vkCmdSetRasterizationStreamEXT + VkCommandBuffer commandBuffer + uint32_t rasterizationStream + + + void vkCmdSetConservativeRasterizationModeEXT + VkCommandBuffer commandBuffer + VkConservativeRasterizationModeEXT conservativeRasterizationMode + + + void vkCmdSetExtraPrimitiveOverestimationSizeEXT + VkCommandBuffer commandBuffer + float extraPrimitiveOverestimationSize + + + void vkCmdSetDepthClipEnableEXT + VkCommandBuffer commandBuffer + VkBool32 depthClipEnable + + + void vkCmdSetSampleLocationsEnableEXT + VkCommandBuffer commandBuffer + VkBool32 sampleLocationsEnable + + + void vkCmdSetColorBlendAdvancedEXT + VkCommandBuffer commandBuffer + uint32_t firstAttachment + uint32_t attachmentCount + const VkColorBlendAdvancedEXT* pColorBlendAdvanced + + + void vkCmdSetProvokingVertexModeEXT + VkCommandBuffer commandBuffer + VkProvokingVertexModeEXT provokingVertexMode + + + void vkCmdSetLineRasterizationModeEXT + VkCommandBuffer commandBuffer + VkLineRasterizationModeEXT lineRasterizationMode + + + void vkCmdSetLineStippleEnableEXT + VkCommandBuffer commandBuffer + VkBool32 stippledLineEnable + + + void vkCmdSetDepthClipNegativeOneToOneEXT + VkCommandBuffer commandBuffer + VkBool32 negativeOneToOne + + + void vkCmdSetViewportWScalingEnableNV + VkCommandBuffer commandBuffer + VkBool32 viewportWScalingEnable + + + void vkCmdSetViewportSwizzleNV + VkCommandBuffer commandBuffer + uint32_t firstViewport + uint32_t viewportCount + const VkViewportSwizzleNV* pViewportSwizzles + + + void vkCmdSetCoverageToColorEnableNV + VkCommandBuffer commandBuffer + VkBool32 coverageToColorEnable + + + void vkCmdSetCoverageToColorLocationNV + VkCommandBuffer commandBuffer + uint32_t coverageToColorLocation + + + void vkCmdSetCoverageModulationModeNV + VkCommandBuffer commandBuffer + VkCoverageModulationModeNV coverageModulationMode + + + void vkCmdSetCoverageModulationTableEnableNV + VkCommandBuffer commandBuffer + VkBool32 coverageModulationTableEnable + + + void vkCmdSetCoverageModulationTableNV + VkCommandBuffer commandBuffer + uint32_t coverageModulationTableCount + const float* pCoverageModulationTable + + + void vkCmdSetShadingRateImageEnableNV + VkCommandBuffer commandBuffer + VkBool32 shadingRateImageEnable + + + void vkCmdSetCoverageReductionModeNV + VkCommandBuffer commandBuffer + VkCoverageReductionModeNV coverageReductionMode + + + void vkCmdSetRepresentativeFragmentTestEnableNV + VkCommandBuffer commandBuffer + VkBool32 representativeFragmentTestEnable + void vkDestroyPrivateDataSlot @@ -11305,43 +12502,43 @@ typedef void CAMetalLayer; uint64_t* pData - + void vkCmdCopyBuffer2 VkCommandBuffer commandBuffer const VkCopyBufferInfo2* pCopyBufferInfo - + void vkCmdCopyImage2 VkCommandBuffer commandBuffer const VkCopyImageInfo2* pCopyImageInfo - + void vkCmdBlitImage2 VkCommandBuffer commandBuffer const VkBlitImageInfo2* pBlitImageInfo - + void vkCmdCopyBufferToImage2 VkCommandBuffer commandBuffer const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo - + void vkCmdCopyImageToBuffer2 VkCommandBuffer commandBuffer const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo - + void vkCmdResolveImage2 VkCommandBuffer commandBuffer const VkResolveImageInfo2* pResolveImageInfo - + void vkCmdSetFragmentShadingRateKHR VkCommandBuffer commandBuffer const VkExtent2D* pFragmentSize @@ -11353,7 +12550,7 @@ typedef void CAMetalLayer; uint32_t* pFragmentShadingRateCount VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates - + void vkCmdSetFragmentShadingRateEnumNV VkCommandBuffer commandBuffer VkFragmentShadingRateNV shadingRate @@ -11367,7 +12564,7 @@ typedef void CAMetalLayer; const uint32_t* pMaxPrimitiveCounts VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo - + void vkCmdSetVertexInputEXT VkCommandBuffer commandBuffer uint32_t vertexBindingDescriptionCount @@ -11375,27 +12572,27 @@ typedef void CAMetalLayer; uint32_t vertexAttributeDescriptionCount const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions - + void vkCmdSetColorWriteEnableEXT VkCommandBuffer commandBuffer uint32_t attachmentCount const VkBool32* pColorWriteEnables - + void vkCmdSetEvent2 VkCommandBuffer commandBuffer VkEvent event const VkDependencyInfo* pDependencyInfo - + void vkCmdResetEvent2 VkCommandBuffer commandBuffer VkEvent event VkPipelineStageFlags2 stageMask - + void vkCmdWaitEvents2 VkCommandBuffer commandBuffer uint32_t eventCount @@ -11403,7 +12600,7 @@ typedef void CAMetalLayer; const VkDependencyInfo* pDependencyInfos - + void vkCmdPipelineBarrier2 VkCommandBuffer commandBuffer const VkDependencyInfo* pDependencyInfo @@ -11417,7 +12614,7 @@ typedef void CAMetalLayer; VkFence fence - + void vkCmdWriteTimestamp2 VkCommandBuffer commandBuffer VkPipelineStageFlags2 stage @@ -11425,7 +12622,7 @@ typedef void CAMetalLayer; uint32_t query - + void vkCmdWriteBufferMarker2AMD VkCommandBuffer commandBuffer VkPipelineStageFlags2 stage @@ -11439,20 +12636,20 @@ typedef void CAMetalLayer; uint32_t* pCheckpointDataCount VkCheckpointData2NV* pCheckpointData - + VkResult vkGetPhysicalDeviceVideoCapabilitiesKHR VkPhysicalDevice physicalDevice - const VkVideoProfileKHR* pVideoProfile + const VkVideoProfileInfoKHR* pVideoProfile VkVideoCapabilitiesKHR* pCapabilities - + VkResult vkGetPhysicalDeviceVideoFormatPropertiesKHR VkPhysicalDevice physicalDevice const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo uint32_t* pVideoFormatPropertyCount VkVideoFormatPropertiesKHR* pVideoFormatProperties - + VkResult vkCreateVideoSessionKHR VkDevice device const VkVideoSessionCreateInfoKHR* pCreateInfo @@ -11462,7 +12659,7 @@ typedef void CAMetalLayer; void vkDestroyVideoSessionKHR VkDevice device - VkVideoSessionKHR videoSession + VkVideoSessionKHR videoSession const VkAllocationCallbacks* pAllocator @@ -11481,46 +12678,46 @@ typedef void CAMetalLayer; void vkDestroyVideoSessionParametersKHR VkDevice device - VkVideoSessionParametersKHR videoSessionParameters + VkVideoSessionParametersKHR videoSessionParameters const VkAllocationCallbacks* pAllocator VkResult vkGetVideoSessionMemoryRequirementsKHR VkDevice device VkVideoSessionKHR videoSession - uint32_t* pVideoSessionMemoryRequirementsCount - VkVideoGetMemoryPropertiesKHR* pVideoSessionMemoryRequirements + uint32_t* pMemoryRequirementsCount + VkVideoSessionMemoryRequirementsKHR* pMemoryRequirements VkResult vkBindVideoSessionMemoryKHR VkDevice device - VkVideoSessionKHR videoSession - uint32_t videoSessionBindMemoryCount - const VkVideoBindMemoryKHR* pVideoSessionBindMemories + VkVideoSessionKHR videoSession + uint32_t bindSessionMemoryInfoCount + const VkBindVideoSessionMemoryInfoKHR* pBindSessionMemoryInfos - + void vkCmdDecodeVideoKHR - VkCommandBuffer commandBuffer - const VkVideoDecodeInfoKHR* pFrameInfo + VkCommandBuffer commandBuffer + const VkVideoDecodeInfoKHR* pDecodeInfo - + void vkCmdBeginVideoCodingKHR - VkCommandBuffer commandBuffer + VkCommandBuffer commandBuffer const VkVideoBeginCodingInfoKHR* pBeginInfo - + void vkCmdControlVideoCodingKHR - VkCommandBuffer commandBuffer + VkCommandBuffer commandBuffer const VkVideoCodingControlInfoKHR* pCodingControlInfo - + void vkCmdEndVideoCodingKHR - VkCommandBuffer commandBuffer + VkCommandBuffer commandBuffer const VkVideoEndCodingInfoKHR* pEndCodingInfo - + void vkCmdEncodeVideoKHR - VkCommandBuffer commandBuffer + VkCommandBuffer commandBuffer const VkVideoEncodeInfoKHR* pEncodeInfo @@ -11538,90 +12735,277 @@ typedef void CAMetalLayer; VkCuFunctionNVX* pFunction - void vkDestroyCuModuleNVX - VkDevice device - VkCuModuleNVX module - const VkAllocationCallbacks* pAllocator + void vkDestroyCuModuleNVX + VkDevice device + VkCuModuleNVX module + const VkAllocationCallbacks* pAllocator + + + void vkDestroyCuFunctionNVX + VkDevice device + VkCuFunctionNVX function + const VkAllocationCallbacks* pAllocator + + + void vkCmdCuLaunchKernelNVX + VkCommandBuffer commandBuffer + const VkCuLaunchInfoNVX* pLaunchInfo + + + void vkSetDeviceMemoryPriorityEXT + VkDevice device + VkDeviceMemory memory + float priority + + + VkResult vkAcquireDrmDisplayEXT + VkPhysicalDevice physicalDevice + int32_t drmFd + VkDisplayKHR display + + + VkResult vkGetDrmDisplayEXT + VkPhysicalDevice physicalDevice + int32_t drmFd + uint32_t connectorId + VkDisplayKHR* display + + + VkResult vkWaitForPresentKHR + VkDevice device + VkSwapchainKHR swapchain + uint64_t presentId + uint64_t timeout + + + VkResult vkCreateBufferCollectionFUCHSIA + VkDevice device + const VkBufferCollectionCreateInfoFUCHSIA* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkBufferCollectionFUCHSIA* pCollection + + + VkResult vkSetBufferCollectionBufferConstraintsFUCHSIA + VkDevice device + VkBufferCollectionFUCHSIA collection + const VkBufferConstraintsInfoFUCHSIA* pBufferConstraintsInfo + + + VkResult vkSetBufferCollectionImageConstraintsFUCHSIA + VkDevice device + VkBufferCollectionFUCHSIA collection + const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo + + + void vkDestroyBufferCollectionFUCHSIA + VkDevice device + VkBufferCollectionFUCHSIA collection + const VkAllocationCallbacks* pAllocator + + + VkResult vkGetBufferCollectionPropertiesFUCHSIA + VkDevice device + VkBufferCollectionFUCHSIA collection + VkBufferCollectionPropertiesFUCHSIA* pProperties + + + void vkCmdBeginRendering + VkCommandBuffer commandBuffer + const VkRenderingInfo* pRenderingInfo + + + + void vkCmdEndRendering + VkCommandBuffer commandBuffer + + + + + void vkGetDescriptorSetLayoutHostMappingInfoVALVE + VkDevice device + const VkDescriptorSetBindingReferenceVALVE* pBindingReference + VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping + + + void vkGetDescriptorSetHostMappingVALVE + VkDevice device + VkDescriptorSet descriptorSet + void** ppData + + + VkResult vkCreateMicromapEXT + VkDevice device + const VkMicromapCreateInfoEXT* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkMicromapEXT* pMicromap + + + void vkCmdBuildMicromapsEXT + VkCommandBuffer commandBuffer + uint32_t infoCount + const VkMicromapBuildInfoEXT* pInfos + + + VkResult vkBuildMicromapsEXT + VkDevice device + VkDeferredOperationKHR deferredOperation + uint32_t infoCount + const VkMicromapBuildInfoEXT* pInfos + + + void vkDestroyMicromapEXT + VkDevice device + VkMicromapEXT micromap + const VkAllocationCallbacks* pAllocator + + + void vkCmdCopyMicromapEXT + VkCommandBuffer commandBuffer + const VkCopyMicromapInfoEXT* pInfo + + + VkResult vkCopyMicromapEXT + VkDevice device + VkDeferredOperationKHR deferredOperation + const VkCopyMicromapInfoEXT* pInfo + + + void vkCmdCopyMicromapToMemoryEXT + VkCommandBuffer commandBuffer + const VkCopyMicromapToMemoryInfoEXT* pInfo + + + VkResult vkCopyMicromapToMemoryEXT + VkDevice device + VkDeferredOperationKHR deferredOperation + const VkCopyMicromapToMemoryInfoEXT* pInfo + + + void vkCmdCopyMemoryToMicromapEXT + VkCommandBuffer commandBuffer + const VkCopyMemoryToMicromapInfoEXT* pInfo + + + VkResult vkCopyMemoryToMicromapEXT + VkDevice device + VkDeferredOperationKHR deferredOperation + const VkCopyMemoryToMicromapInfoEXT* pInfo + + + void vkCmdWriteMicromapsPropertiesEXT + VkCommandBuffer commandBuffer + uint32_t micromapCount + const VkMicromapEXT* pMicromaps + VkQueryType queryType + VkQueryPool queryPool + uint32_t firstQuery + + + VkResult vkWriteMicromapsPropertiesEXT + VkDevice device + uint32_t micromapCount + const VkMicromapEXT* pMicromaps + VkQueryType queryType + size_t dataSize + void* pData + size_t stride + + + void vkGetDeviceMicromapCompatibilityEXT + VkDevice device + const VkMicromapVersionInfoEXT* pVersionInfo + VkAccelerationStructureCompatibilityKHR* pCompatibility + + + void vkGetMicromapBuildSizesEXT + VkDevice device + VkAccelerationStructureBuildTypeKHR buildType + const VkMicromapBuildInfoEXT* pBuildInfo + VkMicromapBuildSizesInfoEXT* pSizeInfo - void vkDestroyCuFunctionNVX + void vkGetShaderModuleIdentifierEXT VkDevice device - VkCuFunctionNVX function - const VkAllocationCallbacks* pAllocator - - - void vkCmdCuLaunchKernelNVX - VkCommandBuffer commandBuffer - const VkCuLaunchInfoNVX* pLaunchInfo + VkShaderModule shaderModule + VkShaderModuleIdentifierEXT* pIdentifier - void vkSetDeviceMemoryPriorityEXT - VkDevice device - VkDeviceMemory memory - float priority + void vkGetShaderModuleCreateInfoIdentifierEXT + VkDevice device + const VkShaderModuleCreateInfo* pCreateInfo + VkShaderModuleIdentifierEXT* pIdentifier - - VkResult vkAcquireDrmDisplayEXT - VkPhysicalDevice physicalDevice - int32_t drmFd - VkDisplayKHR display + + void vkGetImageSubresourceLayout2EXT + VkDevice device + VkImage image + const VkImageSubresource2EXT* pSubresource + VkSubresourceLayout2EXT* pLayout - - VkResult vkGetDrmDisplayEXT - VkPhysicalDevice physicalDevice - int32_t drmFd - uint32_t connectorId - VkDisplayKHR* display + + VkResult vkGetPipelinePropertiesEXT + VkDevice device + const VkPipelineInfoEXT* pPipelineInfo + VkBaseOutStructure* pPipelineProperties - - VkResult vkWaitForPresentKHR + + void vkExportMetalObjectsEXT VkDevice device - VkSwapchainKHR swapchain - uint64_t presentId - uint64_t timeout + VkExportMetalObjectsInfoEXT* pMetalObjectsInfo - - VkResult vkCreateBufferCollectionFUCHSIA + + VkResult vkGetFramebufferTilePropertiesQCOM VkDevice device - const VkBufferCollectionCreateInfoFUCHSIA* pCreateInfo - const VkAllocationCallbacks* pAllocator - VkBufferCollectionFUCHSIA* pCollection + VkFramebuffer framebuffer + uint32_t* pPropertiesCount + VkTilePropertiesQCOM* pProperties - - VkResult vkSetBufferCollectionBufferConstraintsFUCHSIA + + VkResult vkGetDynamicRenderingTilePropertiesQCOM VkDevice device - VkBufferCollectionFUCHSIA collection - const VkBufferConstraintsInfoFUCHSIA* pBufferConstraintsInfo + const VkRenderingInfo* pRenderingInfo + VkTilePropertiesQCOM* pProperties - - VkResult vkSetBufferCollectionImageConstraintsFUCHSIA + + VkResult vkGetPhysicalDeviceOpticalFlowImageFormatsNV + VkPhysicalDevice physicalDevice + const VkOpticalFlowImageFormatInfoNV* pOpticalFlowImageFormatInfo + uint32_t* pFormatCount + VkOpticalFlowImageFormatPropertiesNV* pImageFormatProperties + + + VkResult vkCreateOpticalFlowSessionNV VkDevice device - VkBufferCollectionFUCHSIA collection - const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo + const VkOpticalFlowSessionCreateInfoNV* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkOpticalFlowSessionNV* pSession - void vkDestroyBufferCollectionFUCHSIA + void vkDestroyOpticalFlowSessionNV VkDevice device - VkBufferCollectionFUCHSIA collection + VkOpticalFlowSessionNV session const VkAllocationCallbacks* pAllocator - VkResult vkGetBufferCollectionPropertiesFUCHSIA + VkResult vkBindOpticalFlowSessionImageNV VkDevice device - VkBufferCollectionFUCHSIA collection - VkBufferCollectionPropertiesFUCHSIA* pProperties + VkOpticalFlowSessionNV session + VkOpticalFlowSessionBindingPointNV bindingPoint + VkImageView view + VkImageLayout layout - - void vkCmdBeginRendering - VkCommandBuffer commandBuffer - const VkRenderingInfo* pRenderingInfo + + void vkCmdOpticalFlowExecuteNV + VkCommandBuffer commandBuffer + VkOpticalFlowSessionNV session + const VkOpticalFlowExecuteInfoNV* pExecuteInfo - - - void vkCmdEndRendering - VkCommandBuffer commandBuffer + + VkResult vkGetDeviceFaultInfoEXT + VkDevice device + VkDeviceFaultCountsEXT* pFaultCounts + VkDeviceFaultInfoEXT* pFaultInfo - @@ -11645,6 +13029,24 @@ typedef void CAMetalLayer; + + + + + + + + + + + + + + + + + + @@ -11673,18 +13075,6 @@ typedef void CAMetalLayer; - - - - - - - - - - - - @@ -11706,7 +13096,8 @@ typedef void CAMetalLayer; - + + @@ -12662,6 +14053,9 @@ typedef void CAMetalLayer; + + + @@ -12701,8 +14095,7 @@ typedef void CAMetalLayer; - - + @@ -12838,7 +14231,6 @@ typedef void CAMetalLayer; - @@ -12911,6 +14303,7 @@ typedef void CAMetalLayer; + @@ -13162,8 +14555,8 @@ typedef void CAMetalLayer; - - + + @@ -13223,27 +14616,27 @@ typedef void CAMetalLayer; - + - + - + - - - + + + - - - + + + - + @@ -13251,6 +14644,13 @@ typedef void CAMetalLayer; + + + + + + + @@ -13264,26 +14664,25 @@ typedef void CAMetalLayer; + - - - + - - - + + + - - - - + + + + @@ -13308,10 +14707,13 @@ typedef void CAMetalLayer; - + + + + @@ -13326,7 +14728,14 @@ typedef void CAMetalLayer; - + + + + + + + + @@ -13475,19 +14884,19 @@ typedef void CAMetalLayer; - + - - - - - - - - - - + + + + + + + + + + @@ -13496,20 +14905,17 @@ typedef void CAMetalLayer; - - - - + + - - + + - - + @@ -13517,44 +14923,43 @@ typedef void CAMetalLayer; - + - - - - - - - - - - - + + + + + + + + + + + - + + - - + - - - + + + - - + @@ -13562,27 +14967,22 @@ typedef void CAMetalLayer; - + - - - - - - - + + + + + - - + - - @@ -13610,7 +15010,7 @@ typedef void CAMetalLayer; - + @@ -13702,8 +15102,6 @@ typedef void CAMetalLayer; - - @@ -13941,10 +15339,18 @@ typedef void CAMetalLayer; - + - - + + + + + + + + + + @@ -14449,7 +15855,7 @@ typedef void CAMetalLayer; - + @@ -14750,7 +16156,7 @@ typedef void CAMetalLayer; - + @@ -14811,6 +16217,7 @@ typedef void CAMetalLayer; + @@ -14932,7 +16339,7 @@ typedef void CAMetalLayer; - + @@ -15537,8 +16944,8 @@ typedef void CAMetalLayer; - - + + @@ -15681,21 +17088,18 @@ typedef void CAMetalLayer; - + - - - - - - + + + + + - - + - @@ -15860,10 +17264,10 @@ typedef void CAMetalLayer; - - - - + + + + @@ -15872,11 +17276,11 @@ typedef void CAMetalLayer; - + - + @@ -16286,6 +17690,7 @@ typedef void CAMetalLayer; + @@ -16490,6 +17895,10 @@ typedef void CAMetalLayer; + + + + @@ -16635,6 +18044,7 @@ typedef void CAMetalLayer; + @@ -16763,7 +18173,7 @@ typedef void CAMetalLayer; - + @@ -16887,10 +18297,16 @@ typedef void CAMetalLayer; - + - - + + + + + + + + @@ -16921,8 +18337,7 @@ typedef void CAMetalLayer; - - + @@ -16959,17 +18374,22 @@ typedef void CAMetalLayer; - + - + + + + + + @@ -16982,17 +18402,26 @@ typedef void CAMetalLayer; - - + + + + + + + + + + + - + @@ -17002,7 +18431,7 @@ typedef void CAMetalLayer; - + @@ -17074,10 +18503,43 @@ typedef void CAMetalLayer; - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -17176,8 +18638,8 @@ typedef void CAMetalLayer; - - + + @@ -17189,6 +18651,10 @@ typedef void CAMetalLayer; + + + + @@ -17201,12 +18667,16 @@ typedef void CAMetalLayer; + - + + + + @@ -17229,25 +18699,40 @@ typedef void CAMetalLayer; - + - - - - - + + + + + + + + + + + + + + - + - - + + + + - + - - + + + + + + @@ -17310,10 +18795,28 @@ typedef void CAMetalLayer; - - - - + + + + + + + + + + + + + + + + + + + + + + @@ -17420,17 +18923,39 @@ typedef void CAMetalLayer; - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -17448,26 +18973,36 @@ typedef void CAMetalLayer; - + - - + + + + + + + + + + + + + + - + - + - - - - - - - - + + + + + + @@ -17515,15 +19050,15 @@ typedef void CAMetalLayer; - + - - - - - + + + + + @@ -17553,10 +19088,18 @@ typedef void CAMetalLayer; - + - - + + + + + + + + + + @@ -17597,7 +19140,7 @@ typedef void CAMetalLayer; - + @@ -17701,7 +19244,7 @@ typedef void CAMetalLayer; - + @@ -17718,7 +19261,7 @@ typedef void CAMetalLayer; - + @@ -17744,10 +19287,17 @@ typedef void CAMetalLayer; - + - - + + + + + + + + + @@ -17757,7 +19307,6 @@ typedef void CAMetalLayer; - @@ -17773,10 +19322,17 @@ typedef void CAMetalLayer; - + - - + + + + + + + + + @@ -17832,10 +19388,13 @@ typedef void CAMetalLayer; - + - - + + + + + @@ -17856,12 +19415,25 @@ typedef void CAMetalLayer; - + - - - - + + + + + + + + + + + + + + + + + @@ -17917,17 +19489,20 @@ typedef void CAMetalLayer; - + - - - + + + + + - + - - + + + @@ -17936,16 +19511,79 @@ typedef void CAMetalLayer; - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -18055,7 +19693,7 @@ typedef void CAMetalLayer; - + @@ -18093,6 +19731,7 @@ typedef void CAMetalLayer; + @@ -18101,23 +19740,35 @@ typedef void CAMetalLayer; - + - - + + + + + + + + + + - + - - + + + + - + - - - + + + + + @@ -18194,7 +19845,7 @@ typedef void CAMetalLayer; - + @@ -18216,10 +19867,12 @@ typedef void CAMetalLayer; - + - - + + + + @@ -18236,17 +19889,27 @@ typedef void CAMetalLayer; - + - - + + + + + - - - - - - + + + + + + + + + + + + + @@ -18290,6 +19953,7 @@ typedef void CAMetalLayer; + @@ -18316,6 +19980,462 @@ typedef void CAMetalLayer; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NV internal use only + + + + + + + + + + + + + + + + + + + + + + + + + + NV internal use only + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -19684,6 +21804,10 @@ typedef void CAMetalLayer; + + + + @@ -19803,6 +21927,9 @@ typedef void CAMetalLayer; + + + @@ -19859,6 +21986,9 @@ typedef void CAMetalLayer; + + + @@ -19873,6 +22003,19 @@ typedef void CAMetalLayer; + + + + + + + + + + + + + @@ -20167,6 +22310,9 @@ typedef void CAMetalLayer; + + + @@ -20240,6 +22386,10 @@ typedef void CAMetalLayer; + + + + @@ -20313,5 +22463,26 @@ typedef void CAMetalLayer; + + + + + + + + + + + + + + + + + + + + + diff --git a/glad/files/wgl.xml b/glad/files/wgl.xml index 189b3695..cc0afb8a 100644 --- a/glad/files/wgl.xml +++ b/glad/files/wgl.xml @@ -472,7 +472,7 @@ Registry at https://github.com/KhronosGroup/OpenGL-Registry HDC hdc int ipfd UINT cjpfd - const PIXELFORMATDESCRIPTOR *ppfd + PIXELFORMATDESCRIPTOR *ppfd int GetPixelFormat @@ -684,7 +684,7 @@ Registry at https://github.com/KhronosGroup/OpenGL-Registry int pixelFormat int layerPlane UINT nBytes - const LAYERPLANEDESCRIPTOR *plpd + LAYERPLANEDESCRIPTOR *plpd VOID wglDestroyDisplayColorTableEXT @@ -846,7 +846,8 @@ Registry at https://github.com/KhronosGroup/OpenGL-Registry UINT GetEnhMetaFilePixelFormat HENHMETAFILE hemf - const PIXELFORMATDESCRIPTOR *ppfd + UINT cbBuffer + PIXELFORMATDESCRIPTOR *ppfd const char *wglGetExtensionsStringARB @@ -912,7 +913,7 @@ Registry at https://github.com/KhronosGroup/OpenGL-Registry int iLayerPlane int iStart int cEntries - const COLORREF *pcr + COLORREF *pcr BOOL wglGetMscRateOML From 4a1168280e4c56e8d488f4de082a83bbc91c4fc4 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Fri, 21 Oct 2022 18:59:15 +0200 Subject: [PATCH 075/138] glad: preparations for glad2 release --- LICENSE | 2 +- README.md | 5 ++--- setup.py | 2 +- utility/bump_version.sh | 44 +++++++++++++++++++++++++++++++++++++++++ 4 files changed, 48 insertions(+), 5 deletions(-) create mode 100755 utility/bump_version.sh diff --git a/LICENSE b/LICENSE index 90b8a99d..4965a6bf 100644 --- a/LICENSE +++ b/LICENSE @@ -2,7 +2,7 @@ The glad source code: The MIT License (MIT) - Copyright (c) 2013-2020 David Herberth + Copyright (c) 2013-2022 David Herberth 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 diff --git a/README.md b/README.md index 30169e1c..c64a376e 100644 --- a/README.md +++ b/README.md @@ -2,13 +2,12 @@ glad ==== Vulkan/GL/GLES/EGL/GLX/WGL Loader-Generator based on the official specifications -for multiple languages, including C/C++/Rust/D/Nim/Volt/Pascal. +for multiple languages. Check out the [webservice for glad2](https://glad.sh) to generate the files you need! -**NOTE:** The 2.0 branch is currently a beta version, the beta version number will -not be updated and refers to the git *HEAD*. +**NOTE:** This is the 2.0 branch, which adds more functionality but changes the API. Some languages are only available in the [glad1 generator](https://glad.dav1d.de). diff --git a/setup.py b/setup.py index 4c81a4e7..a4405b67 100644 --- a/setup.py +++ b/setup.py @@ -25,7 +25,7 @@ if __name__ == '__main__': setup( - name='glad', + name='glad2', version=version, description='Multi-Language GL/GLES/EGL/GLX/WGL Loader-Generator based on the official specifications.', long_description=__doc__, diff --git a/utility/bump_version.sh b/utility/bump_version.sh new file mode 100755 index 00000000..a4da865a --- /dev/null +++ b/utility/bump_version.sh @@ -0,0 +1,44 @@ +#!/bin/bash -e + +if [ -z "$1" ]; then + echo "No version supplied" + exit 1 +fi + +VERSION="$1" +VERSION_PYTHON="__version__ = '${VERSION}'" + +OLD_VERSION=$(python -c "import glad; print(glad.__version__)") + +echo "Old Version: $OLD_VERSION" +echo "New Version: $VERSION" +echo + +if [ "$VERSION" == "$OLD_VERSION" ] +then + echo "Version equals the old version" + exit 1 +fi + +echo "Python: $VERSION_PYTHON" +read -p "Do you want to update to version $VERSION? [y/n]: " -n 1 -r +echo + +if [[ ! $REPLY =~ ^[Yy]$ ]] +then + echo "Aborted" + exit 1 +fi + + +echo -e "\n$VERSION_PYTHON\n" > glad/__init__.py + +git commit -am "setup: Bumped version: $VERSION." +git tag "v$VERSION" + +rm -rf build/ +rm -rf dist/ + +python setup.py sdist bdist_wheel +twine upload dist/* + From dcc4f69620ce15e3d40b3e8d907d293bd297dbe1 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Fri, 21 Oct 2022 19:04:06 +0200 Subject: [PATCH 076/138] setup: Bumped version: 2.0.0. --- glad/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glad/__init__.py b/glad/__init__.py index 0101a047..a2c82a5c 100644 --- a/glad/__init__.py +++ b/glad/__init__.py @@ -1,3 +1,3 @@ -__version__ = '2.0.0-beta' +__version__ = '2.0.0' From 0ef9e4e5d91289b4057e8b28840dc9d6b707990c Mon Sep 17 00:00:00 2001 From: David Herberth Date: Mon, 24 Oct 2022 18:04:57 +0200 Subject: [PATCH 077/138] c: fixes gles2 loader issues * in header only mode for emscripten combined with a previous include of egl.h compilation could fail because of an invalid redefinition of PFNEGLGETPROCADDRESSPROC * gles2 with emscripten produced a bunch of unused errors closes: #387 --- glad/generator/c/templates/loader/gles2.c | 16 +++++++++++++--- test/c/compile/gles2/default/003/test.c | 17 +++++++++++++++++ 2 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 test/c/compile/gles2/default/003/test.c diff --git a/glad/generator/c/templates/loader/gles2.c b/glad/generator/c/templates/loader/gles2.c index 996da543..997923e9 100644 --- a/glad/generator/c/templates/loader/gles2.c +++ b/glad/generator/c/templates/loader/gles2.c @@ -4,8 +4,10 @@ {% include 'loader/library.c' %} #if GLAD_PLATFORM_EMSCRIPTEN - typedef void* (GLAD_API_PTR *PFNEGLGETPROCADDRESSPROC)(const char *name); - extern void* emscripten_GetProcAddress(const char *name); +#ifndef GLAD_EGL_H_ + typedef __eglMustCastToProperFunctionPointerType (GLAD_API_PTR *PFNEGLGETPROCADDRESSPROC)(const char *name); +#endif + extern __eglMustCastToProperFunctionPointerType emscripten_GetProcAddress(const char *name); #else #include #endif @@ -21,7 +23,9 @@ static GLADapiproc glad_gles2_get_proc(void *vuserptr, const char* name) { struct _glad_gles2_userptr userptr = *(struct _glad_gles2_userptr*) vuserptr; GLADapiproc result = NULL; -#if !GLAD_PLATFORM_EMSCRIPTEN +#if GLAD_PLATFORM_EMSCRIPTEN + GLAD_UNUSED(glad_dlsym_handle); +#else {# /* dlsym first, since some implementations don't return function pointers for core functions */ #} result = glad_dlsym_handle(userptr.handle, name); #endif @@ -47,6 +51,7 @@ static void* glad_gles2_dlopen_handle({{ template_utils.context_arg(def='void') #endif #if GLAD_PLATFORM_EMSCRIPTEN + GLAD_UNUSED(glad_get_dlopen_handle); return NULL; #else if ({{ template_utils.handle() }} == NULL) { @@ -60,6 +65,7 @@ static void* glad_gles2_dlopen_handle({{ template_utils.context_arg(def='void') static struct _glad_gles2_userptr glad_gles2_build_userptr(void *handle) { struct _glad_gles2_userptr userptr; #if GLAD_PLATFORM_EMSCRIPTEN + GLAD_UNUSED(handle); userptr.get_proc_address_ptr = emscripten_GetProcAddress; #else userptr.handle = handle; @@ -76,6 +82,10 @@ int gladLoaderLoadGLES2{{ 'Context' if options.mx }}({{ template_utils.context_a struct _glad_gles2_userptr userptr; #if GLAD_PLATFORM_EMSCRIPTEN + GLAD_UNUSED(handle); + GLAD_UNUSED(did_load); + GLAD_UNUSED(glad_gles2_dlopen_handle); + GLAD_UNUSED(glad_gles2_build_userptr); userptr.get_proc_address_ptr = emscripten_GetProcAddress; version = gladLoadGLES2{{ 'Context' if options.mx }}UserPtr({{ 'context, ' if options.mx }}glad_gles2_get_proc, &userptr); #else diff --git a/test/c/compile/gles2/default/003/test.c b/test/c/compile/gles2/default/003/test.c new file mode 100644 index 00000000..1d89ceba --- /dev/null +++ b/test/c/compile/gles2/default/003/test.c @@ -0,0 +1,17 @@ +/* + * Emscripten GLES2 + EGL header only. + * Related Issues: #387 + * + * GLAD: $GLAD --out-path=$tmp --api="egl,gles2" c --loader --header-only + * COMPILE: $GCC $test -o $tmp/test -I$tmp/include -ldl + * RUN: $tmp/test + */ + +#define GLAD_GLES2_IMPLEMENTATION +#define GLAD_PLATFORM_EMSCRIPTEN 1 +#include +#include + +int main(void) { + return 0; +} From d5e41c6f4da7acb4405097041d1e1f616c578063 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Mon, 24 Oct 2022 18:27:39 +0200 Subject: [PATCH 078/138] c: properly fixes gles2 loader closes: #387 --- glad/generator/c/templates/loader/gles2.c | 1 + test/c/compile/gles2/default/003/test.c | 9 +++++++- test/c/compile/gles2/default/004/test.c | 28 +++++++++++++++++++++++ test/c/compile/gles2/default/005/test.c | 23 +++++++++++++++++++ 4 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 test/c/compile/gles2/default/004/test.c create mode 100644 test/c/compile/gles2/default/005/test.c diff --git a/glad/generator/c/templates/loader/gles2.c b/glad/generator/c/templates/loader/gles2.c index 997923e9..57f8f2e4 100644 --- a/glad/generator/c/templates/loader/gles2.c +++ b/glad/generator/c/templates/loader/gles2.c @@ -5,6 +5,7 @@ #if GLAD_PLATFORM_EMSCRIPTEN #ifndef GLAD_EGL_H_ + typedef void (*__eglMustCastToProperFunctionPointerType)(void); typedef __eglMustCastToProperFunctionPointerType (GLAD_API_PTR *PFNEGLGETPROCADDRESSPROC)(const char *name); #endif extern __eglMustCastToProperFunctionPointerType emscripten_GetProcAddress(const char *name); diff --git a/test/c/compile/gles2/default/003/test.c b/test/c/compile/gles2/default/003/test.c index 1d89ceba..2c606622 100644 --- a/test/c/compile/gles2/default/003/test.c +++ b/test/c/compile/gles2/default/003/test.c @@ -7,11 +7,18 @@ * RUN: $tmp/test */ +#include + #define GLAD_GLES2_IMPLEMENTATION #define GLAD_PLATFORM_EMSCRIPTEN 1 -#include +#include /* egl before gles2 */ #include +__eglMustCastToProperFunctionPointerType emscripten_GetProcAddress(const char *name) { + GLAD_UNUSED(name); + return GLAD_GNUC_EXTENSION (__eglMustCastToProperFunctionPointerType) NULL; +} + int main(void) { return 0; } diff --git a/test/c/compile/gles2/default/004/test.c b/test/c/compile/gles2/default/004/test.c new file mode 100644 index 00000000..d736acab --- /dev/null +++ b/test/c/compile/gles2/default/004/test.c @@ -0,0 +1,28 @@ +/* + * Emscripten GLES2 + header only. See also 003. + * Related Issues: #387 + * + * GLAD: $GLAD --out-path=$tmp --api="egl,gles2" c --loader --header-only + * COMPILE: $GCC $test -o $tmp/test -I$tmp/include -ldl -Wno-pedantic + * RUN: $tmp/test + */ + +#include + +#define GLAD_GLES2_IMPLEMENTATION +#define GLAD_PLATFORM_EMSCRIPTEN 1 +#include +/* + * egl after gles2 + * this is not correct, that's why we disable pedantic but it should still compile without + */ +#include + +__eglMustCastToProperFunctionPointerType emscripten_GetProcAddress(const char *name) { + GLAD_UNUSED(name); + return GLAD_GNUC_EXTENSION (__eglMustCastToProperFunctionPointerType) NULL; +} + +int main(void) { + return 0; +} diff --git a/test/c/compile/gles2/default/005/test.c b/test/c/compile/gles2/default/005/test.c new file mode 100644 index 00000000..cc5ab467 --- /dev/null +++ b/test/c/compile/gles2/default/005/test.c @@ -0,0 +1,23 @@ +/* + * Emscripten GLES2 + header only. See also 003. + * Related Issues: #387 + * + * GLAD: $GLAD --out-path=$tmp --api="gles2" c --loader --header-only + * COMPILE: $GCC $test -o $tmp/test -I$tmp/include -ldl + * RUN: $tmp/test + */ + +#include + +#define GLAD_GLES2_IMPLEMENTATION +#define GLAD_PLATFORM_EMSCRIPTEN 1 +#include + +__eglMustCastToProperFunctionPointerType emscripten_GetProcAddress(const char *name) { + GLAD_UNUSED(name); + return GLAD_GNUC_EXTENSION (__eglMustCastToProperFunctionPointerType) NULL; +} + +int main(void) { + return 0; +} From 525eddb7e04bc4008b691fb38a6d31bf3cad684c Mon Sep 17 00:00:00 2001 From: David Herberth Date: Tue, 25 Oct 2022 19:50:59 +0200 Subject: [PATCH 079/138] setup: Bumped version: 2.0.1. --- glad/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glad/__init__.py b/glad/__init__.py index a2c82a5c..1c0a24e3 100644 --- a/glad/__init__.py +++ b/glad/__init__.py @@ -1,3 +1,3 @@ -__version__ = '2.0.0' +__version__ = '2.0.1' From d7f961eb5b70fd9c8d3d114375ece45cd2ce1bb5 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Fri, 28 Oct 2022 09:26:58 +0200 Subject: [PATCH 080/138] glad: switches from pkg_resources to importlib.metadata closes: #389 --- glad/plugin.py | 30 ++++++++++++++++++------------ setup.py | 4 +--- 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/glad/plugin.py b/glad/plugin.py index b7d233ce..a8f4cc1e 100644 --- a/glad/plugin.py +++ b/glad/plugin.py @@ -1,11 +1,22 @@ import logging -import pkg_resources +import inspect +try: + from importlib.metadata import entry_points +except ImportError: + try: + from importlib_metadata import entry_points + except ImportError: + import pkg_resources + + def entry_points(group=None): + return pkg_resources.iter_entry_points(group=group, name=None) import glad.specification from glad.generator.c import CGenerator from glad.generator.rust import RustGenerator from glad.parse import Specification + logger = logging.getLogger(__name__) @@ -16,33 +27,28 @@ DEFAULT_GENERATORS = dict( c=CGenerator, rust=RustGenerator - # TODO fix those - # d=DGenerator, - # volt=VoltGenerator ) - DEFAULT_SPECIFICATIONS = dict() -import inspect for name, cls in inspect.getmembers(glad.specification, inspect.isclass): if issubclass(cls, Specification) and cls is not Specification: DEFAULT_SPECIFICATIONS[cls.NAME] = cls -def find_generators(default=DEFAULT_GENERATORS, entry_point=GENERATOR_ENTRY_POINT): - generators = dict(default) +def find_generators(default=None, entry_point=GENERATOR_ENTRY_POINT): + generators = dict(DEFAULT_GENERATORS if default is None else default) - for entry_point in pkg_resources.iter_entry_points(group=entry_point, name=None): + for entry_point in entry_points(group=entry_point): generators[entry_point.name] = entry_point.load() logger.debug('loaded language %s: %s', entry_point.name, generators[entry_point.name]) return generators -def find_specifications(default=DEFAULT_SPECIFICATIONS, entry_point=SPECIFICATION_ENTRY_POINT): - specifications = dict(default) +def find_specifications(default=None, entry_point=SPECIFICATION_ENTRY_POINT): + specifications = dict(DEFAULT_SPECIFICATIONS if default is None else default) - for entry_point in pkg_resources.iter_entry_points(group=entry_point, name=None): + for entry_point in entry_points(group=entry_point): specifications[entry_point.name] = entry_point.load() logger.debug('loaded specification %s: %s', entry_point.name, specifications[entry_point.name]) diff --git a/setup.py b/setup.py index a4405b67..c687805f 100644 --- a/setup.py +++ b/setup.py @@ -57,13 +57,11 @@ 'License :: OSI Approved :: MIT License', 'Natural Language :: English', 'Operating System :: OS Independent', - 'Programming Language :: Python :: 2', - 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: 3.10', + 'Programming Language :: Python :: 3.11', 'Topic :: Games/Entertainment', 'Topic :: Multimedia :: Graphics', 'Topic :: Multimedia :: Graphics :: 3D Rendering', From 0106fe74209b4785b55092c96a6116247962c2d7 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Fri, 28 Oct 2022 09:53:48 +0200 Subject: [PATCH 081/138] glad: improves compatibility for importlib.metadata --- glad/plugin.py | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/glad/plugin.py b/glad/plugin.py index a8f4cc1e..f1ae79f6 100644 --- a/glad/plugin.py +++ b/glad/plugin.py @@ -1,15 +1,16 @@ +import sys import logging import inspect try: - from importlib.metadata import entry_points + from importlib.metadata import entry_points as imp_entry_points + ENTRY_POINTS = 'importlib' except ImportError: try: - from importlib_metadata import entry_points + from importlib_metadata import entry_points as imp_entry_points + ENTRY_POINTS = 'importlib' except ImportError: - import pkg_resources - - def entry_points(group=None): - return pkg_resources.iter_entry_points(group=group, name=None) + from pkg_resources import iter_entry_points + ENTRY_POINTS = 'pkg_resources' import glad.specification from glad.generator.c import CGenerator @@ -17,6 +18,16 @@ def entry_points(group=None): from glad.parse import Specification +def _entry_points(group=None): + if ENTRY_POINTS == 'importlib': + if sys.version_info < (3, 10): + return imp_entry_points()[group] + else: + return imp_entry_points(group=group) + else: + return iter_entry_points(group=group, name=None) + + logger = logging.getLogger(__name__) @@ -38,7 +49,7 @@ def entry_points(group=None): def find_generators(default=None, entry_point=GENERATOR_ENTRY_POINT): generators = dict(DEFAULT_GENERATORS if default is None else default) - for entry_point in entry_points(group=entry_point): + for entry_point in _entry_points(group=entry_point): generators[entry_point.name] = entry_point.load() logger.debug('loaded language %s: %s', entry_point.name, generators[entry_point.name]) @@ -48,7 +59,7 @@ def find_generators(default=None, entry_point=GENERATOR_ENTRY_POINT): def find_specifications(default=None, entry_point=SPECIFICATION_ENTRY_POINT): specifications = dict(DEFAULT_SPECIFICATIONS if default is None else default) - for entry_point in entry_points(group=entry_point): + for entry_point in _entry_points(group=entry_point): specifications[entry_point.name] = entry_point.load() logger.debug('loaded specification %s: %s', entry_point.name, specifications[entry_point.name]) From 74e6688e2bf48887ce5f67e81642298805fdb360 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Fri, 28 Oct 2022 10:17:03 +0200 Subject: [PATCH 082/138] glad: improves importlib.metadata fallbacks No more checks for importlib_metadata backports, if you have to install a backport you can also install setuptools. --- glad/plugin.py | 30 ++++++++++-------------------- 1 file changed, 10 insertions(+), 20 deletions(-) diff --git a/glad/plugin.py b/glad/plugin.py index f1ae79f6..440d4ad6 100644 --- a/glad/plugin.py +++ b/glad/plugin.py @@ -2,15 +2,15 @@ import logging import inspect try: - from importlib.metadata import entry_points as imp_entry_points - ENTRY_POINTS = 'importlib' + from importlib.metadata import entry_points + + if sys.version_info < (3, 10): + _entry_points = entry_points + + def entry_points(group=None): + return _entry_points()[group] except ImportError: - try: - from importlib_metadata import entry_points as imp_entry_points - ENTRY_POINTS = 'importlib' - except ImportError: - from pkg_resources import iter_entry_points - ENTRY_POINTS = 'pkg_resources' + from pkg_resources import iter_entry_points as entry_points import glad.specification from glad.generator.c import CGenerator @@ -18,16 +18,6 @@ from glad.parse import Specification -def _entry_points(group=None): - if ENTRY_POINTS == 'importlib': - if sys.version_info < (3, 10): - return imp_entry_points()[group] - else: - return imp_entry_points(group=group) - else: - return iter_entry_points(group=group, name=None) - - logger = logging.getLogger(__name__) @@ -49,7 +39,7 @@ def _entry_points(group=None): def find_generators(default=None, entry_point=GENERATOR_ENTRY_POINT): generators = dict(DEFAULT_GENERATORS if default is None else default) - for entry_point in _entry_points(group=entry_point): + for entry_point in entry_points(group=entry_point): generators[entry_point.name] = entry_point.load() logger.debug('loaded language %s: %s', entry_point.name, generators[entry_point.name]) @@ -59,7 +49,7 @@ def find_generators(default=None, entry_point=GENERATOR_ENTRY_POINT): def find_specifications(default=None, entry_point=SPECIFICATION_ENTRY_POINT): specifications = dict(DEFAULT_SPECIFICATIONS if default is None else default) - for entry_point in _entry_points(group=entry_point): + for entry_point in entry_points(group=entry_point): specifications[entry_point.name] = entry_point.load() logger.debug('loaded specification %s: %s', entry_point.name, specifications[entry_point.name]) From f237a2bfcec0d9b82b90ec9af4af265c40de7183 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Fri, 28 Oct 2022 10:24:16 +0200 Subject: [PATCH 083/138] setup: Bumped version: 2.0.2. --- glad/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glad/__init__.py b/glad/__init__.py index 1c0a24e3..5f4a28a7 100644 --- a/glad/__init__.py +++ b/glad/__init__.py @@ -1,3 +1,3 @@ -__version__ = '2.0.1' +__version__ = '2.0.2' From e576e95d95ad407084f61ec02e1d3823d7b06c9f Mon Sep 17 00:00:00 2001 From: David Herberth Date: Tue, 3 Jan 2023 17:42:42 +0100 Subject: [PATCH 084/138] glad: fixes plugin issues with pytho 3.8 and 3.9 closes: #401 --- glad/plugin.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glad/plugin.py b/glad/plugin.py index 440d4ad6..ec5afe1e 100644 --- a/glad/plugin.py +++ b/glad/plugin.py @@ -8,7 +8,7 @@ _entry_points = entry_points def entry_points(group=None): - return _entry_points()[group] + return _entry_points().get(group, []) except ImportError: from pkg_resources import iter_entry_points as entry_points From 47c20c165760d7802470cf9b2198bf023a5c7941 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Tue, 3 Jan 2023 17:51:04 +0100 Subject: [PATCH 085/138] setup: Bumped version: 2.0.3. --- glad/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glad/__init__.py b/glad/__init__.py index 5f4a28a7..3fe9f6fb 100644 --- a/glad/__init__.py +++ b/glad/__init__.py @@ -1,3 +1,3 @@ -__version__ = '2.0.2' +__version__ = '2.0.3' From 3e07944bd7c40f8cf00513fb17460057b86d2c4c Mon Sep 17 00:00:00 2001 From: David Herberth Date: Fri, 3 Feb 2023 14:23:47 +0100 Subject: [PATCH 086/138] test: removes old unittests closes: #406 --- .github/workflows/glad2.yaml | 1 - Jenkinsfile | 32 -------------------------------- requirements-test.txt | 2 -- test/README.md | 2 -- tests/README.md | 19 ------------------- tests/test____main__.py | 36 ------------------------------------ 6 files changed, 92 deletions(-) delete mode 100644 Jenkinsfile delete mode 100644 requirements-test.txt delete mode 100644 tests/README.md delete mode 100644 tests/test____main__.py diff --git a/.github/workflows/glad2.yaml b/.github/workflows/glad2.yaml index e6f3e39d..463e8663 100644 --- a/.github/workflows/glad2.yaml +++ b/.github/workflows/glad2.yaml @@ -16,7 +16,6 @@ jobs: run: | python -m pip install --upgrade pip pip install -r requirements.txt - pip install -r requirements-test.txt - name: Install dependencies run: | sudo apt-get update diff --git a/Jenkinsfile b/Jenkinsfile deleted file mode 100644 index ff4df559..00000000 --- a/Jenkinsfile +++ /dev/null @@ -1,32 +0,0 @@ -pipeline { - agent any - stages { - stage('Setup') { - steps { - sh 'git reset --hard HEAD' - sh 'git clean -xffd' - } - } - stage('Test') { - parallel { - stage('Unit') { - steps { - withPythonEnv('python2') { - sh 'python -m pip install -r requirements.txt' - sh 'python -m pip install -r requirements-test.txt' - sh 'python -m nose --with-xunit || true' - junit 'nosetests.xml' - } - } - } - stage('Integration') { - steps { - sh 'docker pull dav1d/glad-test' - sh 'docker run --rm -t -v "$WORKSPACE:/mnt" --user "$(id -u):$(id -g)" dav1d/glad-test || true' - junit 'test-report.xml' - } - } - } - } - } -} diff --git a/requirements-test.txt b/requirements-test.txt deleted file mode 100644 index a2dc6a12..00000000 --- a/requirements-test.txt +++ /dev/null @@ -1,2 +0,0 @@ -nose>=1.3.0,<2.0.0 -mock>=2.0.0,<3.0.0 diff --git a/test/README.md b/test/README.md index 92a2f5be..def3533e 100644 --- a/test/README.md +++ b/test/README.md @@ -4,8 +4,6 @@ Test This directory contains integration tests ran by the [`/utility/test.sh`](../utility/test.sh) script. These tests are mainly for testing the generators. -Python unit tests can be found in the [`/tests`](../tests) directory. - ## Execution diff --git a/tests/README.md b/tests/README.md deleted file mode 100644 index cccfa7ba..00000000 --- a/tests/README.md +++ /dev/null @@ -1,19 +0,0 @@ -Tests -===== - -Directory containing a small collection of unit tests for glad. Unit testing glad -is rather hard to do since it would require many hand crafted test specifications. - -So most of the testing is done using integration tests which can be found in -[`/test`](../test) directory. - - -## Execution - -Run with: - - python -m unittest discover tests/ - -or: - - nosetests diff --git a/tests/test____main__.py b/tests/test____main__.py deleted file mode 100644 index 19b5f7f4..00000000 --- a/tests/test____main__.py +++ /dev/null @@ -1,36 +0,0 @@ -import unittest -import mock - - -class Cli(unittest.TestCase): - def setUp(self): - for name, path in [('c_generator', 'glad.generator.c.CGenerator'), - ('gl_from_url', 'glad.specification.GL.from_url')]: - patcher = mock.patch(path) - setattr(self, name, patcher.start()) - self.addCleanup(patcher.stop) - - self.gl = self.gl_from_url() - self.gl_extensions = type(self.gl).extensions = mock.PropertyMock() - - # import as late as possible so global instances/references aren't initialized yet - import glad.__main__ - self.main = glad.__main__ - - def tearDown(self): - self.c_generator.stop() - - def test_help__should_exit_with_0(self): - with self.assertRaises(SystemExit) as cm: - self.main.main(['--help']) - self.assertEqual(cm.exception.code, 0) - - def test_valid_extension__should_not_error(self): - self.gl_extensions.return_value = dict(gl=set(['GL_SOME_ext'])) - self.main.main(['--out-path=/tmp', '--api', 'gl:core=4.3', '--extensions', 'GL_SOME_ext', 'c']) - - def test_invalid_extension__should_exit_with_error(self): - self.gl_extensions.return_value = dict(gl=set(['GL_SOME_ext'])) - with self.assertRaises(SystemExit) as cm: - self.main.main(['--out-path=/tmp', '--api', 'gl:core=4.3', '--extensions', 'GL_SOME_other', 'c']) - self.assertEqual(cm.exception.code, 11) From 101c01c743824d037cab17fe6c17e448c5ab3056 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Fri, 17 Feb 2023 17:06:19 +0100 Subject: [PATCH 087/138] glad: adds support for nested api attributes API selector attributes are now allowed/used on sub-attributes like command params, enum and struct members. Glad now duplicates enums, types and commands for each found sub-api. The selection algorithm could already deal with that (used in GL). closes: #411 --- glad/parse.py | 238 ++++++++++++++++++++++++++++++++------------------ 1 file changed, 154 insertions(+), 84 deletions(-) diff --git a/glad/parse.py b/glad/parse.py index e0f2d5cd..3396da3c 100644 --- a/glad/parse.py +++ b/glad/parse.py @@ -124,9 +124,18 @@ def _all_enums(self): for enum in self.enums: result[enum.name] = enum + apis = [info.api for info in self.info] for type_ in self.types: if type_.category == 'enum': for enum in type_.enums: + # Safety check, this should never happen. + # Even though this could happen if you go by the spec, + # glad generates duplicate types (and commands) with different APIs + # attributes. So the only way this could happen by merging multiple + # APIs, but the merging code already makes sure it selects + # one of the candidates and not both + if enum.name in result: + raise ValueError('duplicate enum {} in feature set'.format(enum.name)) result[enum.name] = enum return result @@ -304,58 +313,87 @@ def platforms(self): def types(self): types = OrderedDict() for element in filter(lambda e: e.tag == 'type', iter(self.root.find('types'))): - t = Type.from_element(element) - - if t.category == 'enum': - enums_element = self.root.findall('.//enums[@type][@name="{}"]'.format(t.name)) - if len(enums_element) == 0: - if t.alias is None: - # yep the type exists but there is actually no enum for it... - logger.debug('type {} with category enum but without '.format(t.name)) - continue - elif len(enums_element) > 1: - # this should never happen, if it does ... well shit - raise ValueError('multiple enums with type attribute and name {}'.format(t.name)) - else: - enums_element = enums_element[0] - - t.bitwidth = enums_element.get('bitwidth') - - kwargs = dict(namespace=enums_element.get('namespace'), - parent_group=enums_element.get('group'), - vendor=enums_element.get('vendor'), - comment=enums_element.get('comment', '')) - - enums = OrderedDict() - for e in (Enum.from_element(e, parent_type=t.name, **kwargs) for e in enums_element.findall('enum')): - enums[e.name] = e - - for extension in self.root.findall('.//require/enum[@extends="{}"]/../..'.format(t.name)): - try: - extnumber = int(extension.attrib['number']) - except ValueError: - # Most likely a feature, if that happens every extending enum needs - # to specify its own extnumber - extnumber = None - - for extending_enum in extension.findall('.//require/enum[@extends="{}"]'.format(t.name)): - enum = Enum.from_element(extending_enum, extnumber=extnumber, parent_type=t.name) - - if enum.name not in enums: - enums[enum.name] = enum - else: - # technically not required, but better throw more - # than generate broken code because of a broken specification - if not enum.value == enums[enum.name].value: - raise ValueError('extension enum {} required multiple times ' - 'with different values'.format(e.name)) - - enums[enum.name].also_extended_by(extension.attrib['name']) - t.enums = list(enums.values()) - - if t.name not in types: - types[t.name] = list() - types[t.name].append(t) + name = element.get('name') or element.find('name').text + + if name == 'VkAccelerationStructureTypeNV': + print('asd', element.get('category')) + + if element.get('category') != 'enum': + types.setdefault(name, list()).extend(Type.from_element(element)) + continue + + if name == 'VkAccelerationStructureTypeNV': + print('yo', element.get('category')) + + # Enum special handling + enums_element = self.root.findall('.//enums[@type][@name="{}"]'.format(name)) + if len(enums_element) == 0: + if element.get('alias') is None: + # yep the type exists but there is actually no enum for it... + logger.debug('type {} with category enum but without '.format(name)) + continue + # It's just a simple alias, add it + types.setdefault(name, list()).extend(Type.from_element(element)) + continue + elif len(enums_element) > 1: + # this should never happen, if it does ... well shit + raise ValueError('multiple enums with type attribute and name {}'.format(name)) + enums_element = enums_element[0] + + # Copy the type for each API it is used in + apis = set(e.get('api') for e in self.root.findall('.//require/enum[@extends="{}"]'.format(name))) + + if name == 'VkAccelerationStructureTypeNV': + print(Type.from_element(element), apis or [None], enums_element) + + for api in apis or [None]: + # Hack: Enum Type always returns only one element, + # because we do the special handling here + t = EnumType.from_element(element)[0] + + # Assumption for now that enum types do not have an API + # if there ever is one, the `apis` list needs to be adjusted to only contain t.api + assert t.api is None + t.api = api + t.bitwidth = enums_element.get('bitwidth') + + kwargs = dict(namespace=enums_element.get('namespace'), + parent_group=enums_element.get('group'), + vendor=enums_element.get('vendor'), + comment=enums_element.get('comment', '')) + + enums = OrderedDict() + for e in (Enum.from_element(e, parent_type=t.name, **kwargs) for e in enums_element.findall('enum')): + enums[e.name] = e + + for extension in self.root.findall('.//require/enum[@extends="{}"]/../..'.format(t.name)): + try: + extnumber = int(extension.attrib['number']) + except ValueError: + # Most likely a feature, if that happens every extending enum needs + # to specify its own extnumber + extnumber = None + + for extending_enum in extension.findall('.//require/enum[@extends="{}"]'.format(t.name)): + enum = Enum.from_element(extending_enum, extnumber=extnumber, parent_type=t.name) + # Make sure this enum is relevant for the current API + if not enum.api == api and enum.api is not None: + continue + + if enum.name not in enums: + enums[enum.name] = enum + else: + # technically not required, but better throw more + # than generate broken code because of a broken specification + if not enum.value == enums[enum.name].value: + raise ValueError('extension enum {} required multiple times ' + 'with different values'.format(e.name)) + + enums[enum.name].also_extended_by(extension.attrib['name']) + + t.enums = list(enums.values()) + + types.setdefault(t.name, list()).append(t) def _type_dependencies(item): # all requirements of all types (types can exist more than once, e.g. specialized for an API) @@ -373,8 +411,9 @@ def _type_dependencies(item): def commands(self): commands = dict() for element in self.root.find('commands'): - command = Command(element) - commands.setdefault(command.name, []).append(command) + parsed = Command.from_element(element) + if len(parsed) > 0: + commands.setdefault(parsed[0].name, []).extend(parsed) # fixup aliases for command in chain.from_iterable(commands.values()): @@ -429,7 +468,8 @@ def features(self): features = defaultdict(dict) for element in self.root.iter('feature'): num = Version(*map(int, element.attrib['number'].split('.'))) - features[element.attrib['api']][num] = Feature.from_element(element) + for api in element.attrib['api'].split(','): + features[api][num] = Feature.from_element(element) for api, api_features in features.items(): features[api] = OrderedDict(sorted(api_features.items(), key=lambda x: x[0])) @@ -805,7 +845,7 @@ def __init__(self, name, api=None, category=None, alias=None, requires=None, par @classmethod def factory(cls, element, name, data): - return cls(name, **data) + return [cls(name, **data)] @staticmethod def from_element(element): @@ -853,7 +893,7 @@ def is_descendant(self, basetype, typeslist): if cur.parent == basetype: return True cur = typeslist[cur.parent][0] - return False; + return False def __str__(self): return self.name @@ -894,7 +934,7 @@ def factory(cls, element, name, data): type_.replace(' ', ''), pname.strip() ) - return cls(name, ret=ret, parameters=parameters, **data) + return [cls(name, ret=ret, parameters=parameters, **data)] class MemberType(Type): @@ -906,7 +946,18 @@ def __init__(self, name, members=None, **kwargs): @classmethod def factory(cls, element, name, data): members = [Member.from_element(e) for e in element.findall('member')] - return cls(name, members=members, **data) + + # May not have members at all (struct with only an alias) + if len(members) == 0: + return [cls(name, **data)] + + result = list() + for api in set(member.api for member in members): + api_members = [member for member in members if member.api is None or member.api == api] + t = cls(name, members=api_members, **data) + t.api = api + result.append(t) + return result class UnionType(MemberType): @@ -958,7 +1009,7 @@ def factory(cls, element, name, data): # may be none if the handle is just aliased type_element = element.find('type') type_ = type_element.text if type_element is not None else None - return cls(name, type=type_, **data) + return [cls(name, type=type_, **data)] class HandleType(TypedType): @@ -983,17 +1034,19 @@ class BitmaskType(TypedType): class Member(IdentifiedByName): - def __init__(self, name, type, enum=None): + def __init__(self, name, type_, api=None, enum=None): self.name = name - self.type = type + self.type = type_ + self.api = api self.enum = enum @classmethod def from_element(cls, element): type_ = ParsedType.from_element(element) enum = element.find('enum') + api = element.get('api') - return Member(type_.name, type_, enum=enum.text if enum is not None else None) + return Member(type_.name, type_, api=api, enum=enum.text if enum is not None else None) def __str__(self): return 'Member(name={self.name}, type={self.type})'.format(self=self) @@ -1101,26 +1154,45 @@ def from_element(cls, element, extnumber=None, **kwargs): class Command(IdentifiedByName): - def __init__(self, element): - self.proto = None - self.params = None + def __init__(self, name, api=None, proto=None, params=None, alias=None): + self.name = name + self.api = api + self.proto = proto + self.params = params + self.alias = alias + if self.alias is None and self.proto is None: + raise ValueError("command is neither a full command nor an alias") + + @classmethod + def from_element(cls, element): + params = None proto = element.find('proto') if proto is not None: - self.proto = Proto.from_element(proto) - self.params = [Param(ele) for ele in filter(lambda e: e.tag == 'param', iter(element))] + proto = Proto.from_element(proto) + params = [Param(ele) for ele in filter(lambda e: e.tag == 'param', iter(element))] - self.alias = element.get('alias') - self._name = element.get('name') + alias = element.get('alias') + if alias is None: + alias_element = element.find('alias') + if alias_element is not None: + alias = alias_element.attrib['name'] - alias = element.find('alias') - if alias is not None: - self.alias = alias.attrib['name'] + api = element.get('api') - self.api = element.get('api') + name = element.get('name') or proto.name - if self.alias is None and self.proto is None: - raise ValueError("command is neither a full command nor an alias") + # Only alias or no members + if params is None or len(params) == 0: + return [cls(name, api=api, proto=proto, params=params, alias=alias)] + + result = list() + apis = set(param.api for param in params) + for api in apis: + api_params = [param for param in params if param.api is None or param.api == api] + result.append(cls(name, api=api, proto=proto, params=api_params, alias=alias)) + + return result @property def requires(self): @@ -1132,10 +1204,6 @@ def requires(self): requires.append(self.proto.ret.original_type) return requires - @property - def name(self): - return self._name or self.proto.name - def is_equivalent(self, other): return self.proto == other.proto and self.params == other.params @@ -1168,6 +1236,7 @@ def __init__(self, element): self.group = element.get('group') self.type = ParsedType.from_element(element) self.name = element.find('name').text.strip('*') + self.api = element.get('api') def is_equivalent(self, other): return self.type == other.type @@ -1300,7 +1369,8 @@ def __init__(self, name, supported=None, requires=None, @classmethod def from_element(cls, element): name = element.attrib['name'] - supported = element.attrib['supported'].split('|') + # Vulkan uses `,` and GL uses `|` + supported = element.attrib['supported'].replace('|', ',').split(',') requires = [Require.from_element(require) for require in element.findall('require')] @@ -1377,9 +1447,9 @@ def is_equivalent(self, other): return Extension.is_equivalent(self, other) and self.removes == other.removes @classmethod - def from_element(cls, element): + def from_element(cls, element, api=None): name = element.attrib['name'] - api = element.attrib['api'] + api = set(element.attrib['api'].split(',')) version = Version(*tuple(map(int, element.attrib['number'].split('.')))) requires = [Require.from_element(require) for require in element.findall('require')] @@ -1389,7 +1459,7 @@ def from_element(cls, element): protect = [p.strip() for p in element.get('protect', '').split(',') if p.strip()] platform = element.get('platform') - return cls(name, api, version, supported=[api], requires=requires, + return cls(name, api, version, supported=api, requires=requires, removes=removes, type_=type_, protect=protect, platform=platform) def __str__(self): From 3c2e433c45af54bb25453619bb53a1e38009f4b2 Mon Sep 17 00:00:00 2001 From: Sebastian Weiss Date: Mon, 6 Feb 2023 17:36:32 +0100 Subject: [PATCH 088/138] cmake: fixes "duplicate build rules" error When building cmake-projects using ninja as generator and if multiple APIs are specified, `khrplatform.h` is added multiple times to the list of files to compile. This triggers an error in ninja: "duplicate build rules". Simply removing duplicate files from the `GGC_FILES` list fixes this issue. --- cmake/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 92bc5a2b..028a9247 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -138,6 +138,7 @@ function(__glad_c_library CARGS CFILES) message(FATAL_ERROR "Unknown SPEC: '${SPEC}'") endif() endforeach() + list(REMOVE_DUPLICATES GGC_FILES) set(GGC_ARGS "") if(GGC_ALIAS) From da4747c6beea310ed970a801f5ddb2702e7ad35d Mon Sep 17 00:00:00 2001 From: David Herberth Date: Fri, 17 Feb 2023 19:14:23 +0100 Subject: [PATCH 089/138] files: updates to latest specifications --- glad/files/gl.xml | 50 +- glad/files/vk.xml | 2637 +++++++++++++++++++++++++++++--------- glad/files/vk_platform.h | 2 +- 3 files changed, 2045 insertions(+), 644 deletions(-) diff --git a/glad/files/gl.xml b/glad/files/gl.xml index 9a1b2e34..afa06a84 100644 --- a/glad/files/gl.xml +++ b/glad/files/gl.xml @@ -811,7 +811,7 @@ typedef unsigned int GLhandleARB; - + @@ -1014,7 +1014,7 @@ typedef unsigned int GLhandleARB; - + @@ -1697,9 +1697,9 @@ typedef unsigned int GLhandleARB; - - - + + + @@ -2760,9 +2760,9 @@ typedef unsigned int GLhandleARB; - + - + @@ -2920,7 +2920,7 @@ typedef unsigned int GLhandleARB; - + @@ -3857,11 +3857,11 @@ typedef unsigned int GLhandleARB; - + - + @@ -8367,7 +8367,7 @@ typedef unsigned int GLhandleARB; GLenum internalformat GLenum format GLenum type - const void *data + const void *data void glClearNamedBufferDataEXT @@ -8385,7 +8385,7 @@ typedef unsigned int GLhandleARB; GLsizeiptr size GLenum format GLenum type - const void *data + const void *data void glClearNamedBufferSubDataEXT @@ -9495,7 +9495,7 @@ typedef unsigned int GLhandleARB; GLsizei width GLenum format GLsizei imageSize - const void *data + const void *data void glCompressedTextureSubImage1DEXT @@ -9518,7 +9518,7 @@ typedef unsigned int GLhandleARB; GLsizei height GLenum format GLsizei imageSize - const void *data + const void *data void glCompressedTextureSubImage2DEXT @@ -9545,7 +9545,7 @@ typedef unsigned int GLhandleARB; GLsizei depth GLenum format GLsizei imageSize - const void *data + const void *data void glCompressedTextureSubImage3DEXT @@ -10302,7 +10302,7 @@ typedef unsigned int GLhandleARB; GLuint glCreateShaderProgramvEXT GLenum type GLsizei count - const GLchar **strings + const GLchar *const*strings void glCreateStatesNV @@ -11177,7 +11177,7 @@ typedef unsigned int GLhandleARB; void glDrawElementsInstancedANGLE GLenum mode GLsizei count - GLenum type + GLenum type const void *indices GLsizei primcount @@ -11195,7 +11195,7 @@ typedef unsigned int GLhandleARB; void glDrawElementsInstancedBaseInstance GLenum mode GLsizei count - GLenum type + GLenum type const void *indices GLsizei instancecount GLuint baseinstance @@ -11204,7 +11204,7 @@ typedef unsigned int GLhandleARB; void glDrawElementsInstancedBaseInstanceEXT GLenum mode GLsizei count - GLenum type + GLenum type const void *indices GLsizei instancecount GLuint baseinstance @@ -11273,7 +11273,7 @@ typedef unsigned int GLhandleARB; void glDrawElementsInstancedNV GLenum mode GLsizei count - GLenum type + GLenum type const void *indices GLsizei primcount @@ -14146,7 +14146,7 @@ typedef unsigned int GLhandleARB; GLuint buffer GLintptr offset GLsizeiptr size - void *data + void *data void glGetNamedBufferSubDataEXT @@ -23307,25 +23307,25 @@ typedef unsigned int GLhandleARB; void glSpriteParameterfSGIX GLenum pname - GLfloat param + GLfloat param void glSpriteParameterfvSGIX GLenum pname - const GLfloat *params + const GLfloat *params void glSpriteParameteriSGIX GLenum pname - GLint param + GLint param void glSpriteParameterivSGIX GLenum pname - const GLint *params + const GLint *params diff --git a/glad/files/vk.xml b/glad/files/vk.xml index 9d6cc21c..8693f9d3 100644 --- a/glad/files/vk.xml +++ b/glad/files/vk.xml @@ -1,7 +1,7 @@ -Copyright 2015-2022 The Khronos Group Inc. +Copyright 2015-2023 The Khronos Group Inc. SPDX-License-Identifier: Apache-2.0 OR MIT @@ -32,6 +32,7 @@ branch of the member gitlab server. + @@ -66,7 +67,7 @@ branch of the member gitlab server. - + @@ -90,6 +91,8 @@ branch of the member gitlab server. + + In the current header structure, each platform's interfaces are confined to a platform-specific header (vulkan_xlib.h, @@ -130,41 +133,56 @@ branch of the member gitlab server. + + + + + - // DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead. + // DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead. #define VK_MAKE_VERSION(major, minor, patch) \ - ((((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch))) - // DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead. -#define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22) - // DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead. -#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3FFU) - // DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead. + ((((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch))) + // DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead. +#define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22U) + // DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead. +#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU) + // DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead. #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU) #define VK_MAKE_API_VERSION(variant, major, minor, patch) \ - ((((uint32_t)(variant)) << 29) | (((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch))) - #define VK_API_VERSION_VARIANT(version) ((uint32_t)(version) >> 29) - #define VK_API_VERSION_MAJOR(version) (((uint32_t)(version) >> 22) & 0x7FU) - #define VK_API_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3FFU) + ((((uint32_t)(variant)) << 29U) | (((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch))) + #define VK_API_VERSION_VARIANT(version) ((uint32_t)(version) >> 29U) + #define VK_API_VERSION_MAJOR(version) (((uint32_t)(version) >> 22U) & 0x7FU) + #define VK_API_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU) #define VK_API_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU) + // Vulkan SC variant number +#define VKSC_API_VARIANT 1 + // DEPRECATED: This define has been removed. Specific version defines (e.g. VK_API_VERSION_1_0), or the VK_MAKE_VERSION macro, should be used instead. -//#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) // Patch version should always be set to 0 - // Vulkan 1.0 version number +//#define VK_API_VERSION VK_MAKE_API_VERSION(0, 1, 0, 0) // Patch version should always be set to 0 + // Vulkan 1.0 version number #define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0 - // Vulkan 1.1 version number + // Vulkan 1.1 version number #define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0 - // Vulkan 1.2 version number + // Vulkan 1.2 version number #define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0 // Vulkan 1.3 version number #define VK_API_VERSION_1_3 VK_MAKE_API_VERSION(0, 1, 3, 0)// Patch version should always be set to 0 - // Version of this file -#define VK_HEADER_VERSION 231 - // Complete version of this file + // Vulkan SC 1.0 version number +#define VKSC_API_VERSION_1_0 VK_MAKE_API_VERSION(VKSC_API_VARIANT, 1, 0, 0)// Patch version should always be set to 0 + + // Version of this file +#define VK_HEADER_VERSION 241 + // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) + // Version of this file +#define VK_HEADER_VERSION 12 + // Complete version of this file +#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(VKSC_API_VARIANT, 1, 0, VK_HEADER_VERSION) -#define VK_DEFINE_HANDLE(object) typedef struct object##_T* object; +#define VK_DEFINE_HANDLE(object) typedef struct object##_T* (object); #ifndef VK_USE_64_BIT_PTR_DEFINES @@ -192,9 +210,9 @@ branch of the member gitlab server. #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE #if (VK_USE_64_BIT_PTR_DEFINES==1) - #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object; + #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *(object); #else - #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object; + #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t (object); #endif #endif @@ -267,9 +285,11 @@ typedef void* MTLSharedEvent_id; typedef VkFlags VkSamplerCreateFlags; typedef VkFlags VkPipelineLayoutCreateFlags; typedef VkFlags VkPipelineCacheCreateFlags; - typedef VkFlags VkPipelineDepthStencilStateCreateFlags; + typedef VkFlags VkPipelineDepthStencilStateCreateFlags; + typedef VkFlags VkPipelineDepthStencilStateCreateFlags; typedef VkFlags VkPipelineDynamicStateCreateFlags; - typedef VkFlags VkPipelineColorBlendStateCreateFlags; + typedef VkFlags VkPipelineColorBlendStateCreateFlags; + typedef VkFlags VkPipelineColorBlendStateCreateFlags; typedef VkFlags VkPipelineMultisampleStateCreateFlags; typedef VkFlags VkPipelineRasterizationStateCreateFlags; typedef VkFlags VkPipelineViewportStateCreateFlags; @@ -342,6 +362,7 @@ typedef void* MTLSharedEvent_id; typedef VkFlags VkPipelineCompilerControlFlagsAMD; typedef VkFlags VkShaderCorePropertiesFlagsAMD; typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV; + typedef VkFlags VkRefreshObjectFlagsKHR; typedef VkFlags64 VkAccessFlags2; typedef VkFlags64 VkPipelineStageFlags2; @@ -351,10 +372,11 @@ typedef void* MTLSharedEvent_id; typedef VkFlags64 VkFormatFeatureFlags2; typedef VkFlags VkRenderingFlags; + typedef VkFlags64 VkMemoryDecompressionMethodFlagsNV; typedef VkFlags VkBuildMicromapFlagsEXT; typedef VkFlags VkMicromapCreateFlagsEXT; - + typedef VkFlags VkDirectDriverLoadingFlagsLUNARG; WSI extensions typedef VkFlags VkCompositeAlphaFlagsKHR; @@ -440,6 +462,8 @@ typedef void* MTLSharedEvent_id; typedef VkFlags VkOpticalFlowUsageFlagsNV; typedef VkFlags VkOpticalFlowSessionCreateFlagsNV; typedef VkFlags VkOpticalFlowExecuteFlagsNV; + typedef VkFlags VkPresentScalingFlagsEXT; + typedef VkFlags VkPresentGravityFlagsEXT; Video Core extension typedef VkFlags VkVideoCodecOperationFlagsKHR; @@ -456,7 +480,7 @@ typedef void* MTLSharedEvent_id; typedef VkFlags VkVideoDecodeFlagsKHR; Video Decode H.264 extension - typedef VkFlags VkVideoDecodeH264PictureLayoutFlagsEXT; + typedef VkFlags VkVideoDecodeH264PictureLayoutFlagsKHR; Video Encode Core extension typedef VkFlags VkVideoEncodeFlagsKHR; @@ -528,7 +552,7 @@ typedef void* MTLSharedEvent_id; VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT) @@ -536,6 +560,9 @@ typedef void* MTLSharedEvent_id; VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionKHR) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionParametersKHR) + VK_NV_external_sci_sync2 + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphoreSciSyncPoolNV) + Types generated from corresponding enums tags below @@ -617,6 +644,7 @@ typedef void* MTLSharedEvent_id; + Extensions @@ -688,6 +716,13 @@ typedef void* MTLSharedEvent_id; + + + + + + + @@ -698,6 +733,7 @@ typedef void* MTLSharedEvent_id; + @@ -721,6 +757,8 @@ typedef void* MTLSharedEvent_id; + + WSI extensions @@ -792,6 +830,8 @@ typedef void* MTLSharedEvent_id; + + Enumerated types in the header, but not used by the API @@ -815,7 +855,7 @@ typedef void* MTLSharedEvent_id; Video H.264 Decode extensions - + Video H.265 Decode extensions @@ -887,11 +927,26 @@ typedef void* MTLSharedEvent_id; const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData, void* pUserData); + The PFN_vkFaultCallbackFunction type is used by VKSC_VERSION_1_0 + typedef void (VKAPI_PTR *PFN_vkFaultCallbackFunction)( + VkBool32 unrecordedFaults, + uint32_t faultCount, + const VkFaultData* pFaults); + The PFN_vkDeviceMemoryReportCallbackEXT type is used by the VK_EXT_device_memory_report extension typedef void (VKAPI_PTR *PFN_vkDeviceMemoryReportCallbackEXT)( const VkDeviceMemoryReportCallbackDataEXT* pCallbackData, void* pUserData); + The PFN_vkGetInstanceProcAddrLUNARG type is used by the + VkDirectDriverLoadingInfoLUNARG structure. + We cannot introduce an explicit dependency on the + equivalent PFN_vkGetInstanceProcAddr type, even though + it is implicitly generated in the C header, because + that results in multiple definitions. + typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddrLUNARG)( + VkInstance instance, const char* pName); + Struct types VkStructureType sType @@ -994,8 +1049,8 @@ typedef void* MTLSharedEvent_id; VkDeviceCreateFlags flags uint32_t queueCreateInfoCount const VkDeviceQueueCreateInfo* pQueueCreateInfos - uint32_t enabledLayerCount - const char* const* ppEnabledLayerNamesOrdered list of layer names to be enabled + uint32_t enabledLayerCount + const char* const* ppEnabledLayerNamesOrdered list of layer names to be enabled uint32_t enabledExtensionCount const char* const* ppEnabledExtensionNames const VkPhysicalDeviceFeatures* pEnabledFeatures @@ -1188,7 +1243,7 @@ typedef void* MTLSharedEvent_id; const uint32_t* pQueueFamilyIndicesArray of queue family indices to share across VkImageLayout initialLayoutInitial image layout for all subresources - + VkDeviceSize offsetSpecified in bytes VkDeviceSize sizeSpecified in bytes VkDeviceSize rowPitchSpecified in bytes @@ -1275,6 +1330,19 @@ typedef void* MTLSharedEvent_id; VkOffset3D imageOffsetSpecified in pixels for both compressed and uncompressed images VkExtent3D imageExtentSpecified in pixels for both compressed and uncompressed images + + VkDeviceAddress srcAddress + VkDeviceAddress dstAddress + VkDeviceSize sizeSpecified in bytes + + + VkDeviceAddress srcAddress + uint32_t bufferRowLengthSpecified in texels + uint32_t bufferImageHeight + VkImageSubresourceLayers imageSubresource + VkOffset3D imageOffsetSpecified in pixels for both compressed and uncompressed images + VkExtent3D imageExtentSpecified in pixels for both compressed and uncompressed images + VkImageSubresourceLayers srcSubresource VkOffset3D srcOffset @@ -1338,8 +1406,9 @@ typedef void* MTLSharedEvent_id; const void* pNext VkPipelineShaderStageCreateFlags flags VkShaderStageFlagBits stageShader stage - VkShaderModule moduleModule containing entry point - const char* pNameNull-terminated entry point name + VkShaderModule moduleModule containing entry point + const char* pNameNull-terminated entry point name + const char* pNameNull-terminated entry point name const VkSpecializationInfo* pSpecializationInfo @@ -1473,8 +1542,9 @@ typedef void* MTLSharedEvent_id; VkStructureType sType const void* pNext VkPipelineCreateFlags flagsPipeline creation flags - uint32_t stageCount - const VkPipelineShaderStageCreateInfo* pStagesOne entry for each active shader stage + uint32_t stageCount + const VkPipelineShaderStageCreateInfo* pStagesOne entry for each active shader stage + const VkPipelineShaderStageCreateInfo* pStagesOne entry for each active shader stage const VkPipelineVertexInputStateCreateInfo* pVertexInputState const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState const VkPipelineTessellationStateCreateInfo* pTessellationState @@ -1494,7 +1564,8 @@ typedef void* MTLSharedEvent_id; VkStructureType sType const void* pNext VkPipelineCacheCreateFlags flags - size_t initialDataSizeSize of initial data to populate cache, in bytes + size_t initialDataSizeSize of initial data to populate cache, in bytes + size_t initialDataSizeSize of initial data to populate cache, in bytes const void* pInitialDataInitial data to populate cache @@ -1505,6 +1576,30 @@ typedef void* MTLSharedEvent_id; uint32_t deviceID uint8_t pipelineCacheUUID[VK_UUID_SIZE] + + The fields in this structure are non-normative since structure packing is implementation-defined in C. The specification defines the normative layout. + uint64_t codeSize + uint64_t codeOffset + + + The fields in this structure are non-normative since structure packing is implementation-defined in C. The specification defines the normative layout. + uint8_t pipelineIdentifier[VK_UUID_SIZE] + uint64_t pipelineMemorySize + uint64_t jsonSize + uint64_t jsonOffset + uint32_t stageIndexCount + uint32_t stageIndexStride + uint64_t stageIndexOffset + + + The fields in this structure are non-normative since structure packing is implementation-defined in C. The specification defines the normative layout. + VkPipelineCacheHeaderVersionOne headerVersionOne + VkPipelineCacheValidationVersion validationVersion + uint32_t implementationData + uint32_t pipelineIndexCount + uint32_t pipelineIndexStride + uint64_t pipelineIndexOffset + VkShaderStageFlags stageFlagsWhich stages use the range uint32_t offsetStart of the range, in bytes @@ -2053,7 +2148,8 @@ typedef void* MTLSharedEvent_id; VkCompositeAlphaFlagBitsKHR compositeAlphaThe alpha blending mode used when compositing this surface with other surfaces in the window system VkPresentModeKHR presentModeWhich presentation mode to use for presents on this swap chain VkBool32 clippedSpecifies whether presentable images may be affected by window clip regions - VkSwapchainKHR oldSwapchainExisting swap chain to replace, if any + VkSwapchainKHR oldSwapchainExisting swap chain to replace, if any + VkSwapchainKHR oldSwapchainExisting swap chain to replace, if any VkStructureType sType @@ -2086,6 +2182,14 @@ typedef void* MTLSharedEvent_id; uint32_t disabledValidationFeatureCountNumber of validation features to disable const VkValidationFeatureDisableEXT* pDisabledValidationFeaturesValidation features to disable + + VkStructureType sType + const void* pNext + uint32_t vendorID + uint32_t deviceID + uint32_t key + uint64_t value + VkStructureType sType const void* pNext @@ -2157,6 +2261,35 @@ typedef void* MTLSharedEvent_id; const SECURITY_ATTRIBUTES* pAttributes DWORD dwAccess + + VkStructureType sType + const void* pNext + NvSciBufAttrList pAttributes + + + VkStructureType sType + const void* pNext + VkExternalMemoryHandleTypeFlagBits handleType + NvSciBufObj handle + + + VkStructureType sType + const void* pNext + VkDeviceMemory memory + VkExternalMemoryHandleTypeFlagBits handleType + + + VkStructureType sType + const void* pNext + uint32_t memoryTypeBits + + + VkStructureType sType + void* pNext + VkBool32 sciBufImport + VkBool32 sciBufExport + + VkStructureType sType const void* pNext @@ -2668,6 +2801,80 @@ typedef void* MTLSharedEvent_id; VkFence fence VkExternalFenceHandleTypeFlagBits handleType + + VkStructureType sType + const void* pNext + NvSciSyncAttrList pAttributes + + + VkStructureType sType + const void* pNext + VkFence fence + VkExternalFenceHandleTypeFlagBits handleType + void* handle + + + VkStructureType sType + const void* pNext + VkFence fence + VkExternalFenceHandleTypeFlagBits handleType + + + VkStructureType sType + const void* pNext + NvSciSyncAttrList pAttributes + + + VkStructureType sType + const void* pNext + VkSemaphore semaphore + VkExternalSemaphoreHandleTypeFlagBits handleType + void* handle + + + VkStructureType sType + const void* pNext + VkSemaphore semaphore + VkExternalSemaphoreHandleTypeFlagBits handleType + + + VkStructureType sType + const void* pNext + VkSciSyncClientTypeNV clientType + VkSciSyncPrimitiveTypeNV primitiveType + + + VkStructureType sType + void* pNext + VkBool32 sciSyncFence + VkBool32 sciSyncSemaphore + VkBool32 sciSyncImport + VkBool32 sciSyncExport + + + VkStructureType sType + void* pNext + VkBool32 sciSyncFence + VkBool32 sciSyncSemaphore2 + VkBool32 sciSyncImport + VkBool32 sciSyncExport + + + VkStructureType sType + const void* pNext + NvSciSyncObj handle + + + VkStructureType sType + const void* pNext + VkSemaphoreSciSyncPoolNV semaphorePool + const NvSciSyncFence* pFence + + + VkStructureType sType + const void* pNext + uint32_t semaphoreSciSyncPoolRequestCount + VkStructureType sType void* pNext @@ -3150,6 +3357,12 @@ typedef void* MTLSharedEvent_id; const void* pNext VkImageUsageFlags usage + + VkStructureType sType + const void* pNext + uint32_t sliceOffset + uint32_t sliceCount + VkStructureType sType @@ -4078,6 +4291,27 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 dedicatedAllocationImageAliasing + + VkStructureType sType + void* pNext + VkBool32 indirectCopy + + + VkStructureType sType + void* pNext + VkQueueFlags supportedQueuesBitfield of which queues are supported for indirect copy + + + VkStructureType sType + void* pNext + VkBool32 memoryDecompression + + + VkStructureType sType + void* pNext + VkMemoryDecompressionMethodFlagsNV decompressionMethods + uint64_t maxDecompressionIndirectCount + uint32_t shadingRatePaletteEntryCount const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries @@ -4783,6 +5017,11 @@ typedef void* MTLSharedEvent_id; const void* pNext uint32_t counterPassIndexIndex for which counter pass to submit + + VkStructureType sType + const void* pNext + uint32_t maxPerformanceQueriesPerPoolMaximum number of VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR queries in a query pool + VkStructureType sType const void* pNext @@ -5011,6 +5250,13 @@ typedef void* MTLSharedEvent_id; void* pNext uint32_t maxSubpassShadingWorkgroupSizeAspectRatio + + VkStructureType sType + void* pNext + uint32_t maxWorkGroupCount[3] + uint32_t maxWorkGroupSize[3] + uint32_t maxOutputClusterCount + VkStructureType sType const void* pNext @@ -5272,6 +5518,19 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 deviceCoherentMemory + + VkStructureType sType + void* pNext + VkFaultLevel faultLevel + VkFaultType faultType + + + VkStructureType sType + void* pNext + uint32_t faultCount + VkFaultData*pFaults + PFN_vkFaultCallbackFunction pfnFaultCallback + VkStructureType sType void* pNext @@ -5449,6 +5708,17 @@ typedef void* MTLSharedEvent_id; uint32_t libraryCount const VkPipeline* pLibraries + + VkObjectType objectType + uint64_t objectHandle + VkRefreshObjectFlagsKHR flags + + + VkStructureType sType + const void* pNext + uint32_t objectCount + const VkRefreshObjectKHR* pObjects + VkStructureType sType void* pNext @@ -5542,6 +5812,13 @@ typedef void* MTLSharedEvent_id; const void* pNext VkDeviceDiagnosticsConfigFlagsNV flags + + VkStructureType sType + const void* pNext + uint8_t pipelineIdentifier[VK_UUID_SIZE] + VkPipelineMatchControl matchControl + VkDeviceSize poolEntrySize + VkStructureType sType void* pNext @@ -5615,6 +5892,12 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 subpassShading + + VkStructureType sType + void*pNext + VkBool32 clustercullingShader + VkBool32 multiviewClusterCullingShader + VkStructureType sType const void* pNext @@ -5816,6 +6099,11 @@ typedef void* MTLSharedEvent_id; VkBool32 image2DViewOf3D VkBool32 sampler2DViewOf3D + + VkStructureType sType + void* pNext + VkBool32 imageSlicedViewOf3D + VkStructureType sType void* pNext @@ -5976,6 +6264,97 @@ typedef void* MTLSharedEvent_id; VkBool32 synchronization2 + + VkStructureType sType + void* pNext + VkBool32 deviceNoDynamicHostAllocations + VkBool32 deviceDestroyFreesMemory + VkBool32 commandPoolMultipleCommandBuffersRecording + VkBool32 commandPoolResetCommandBuffer + VkBool32 commandBufferSimultaneousUse + VkBool32 secondaryCommandBufferNullOrImagelessFramebuffer + VkBool32 recycleDescriptorSetMemory + VkBool32 recyclePipelineMemory + uint32_t maxRenderPassSubpasses + uint32_t maxRenderPassDependencies + uint32_t maxSubpassInputAttachments + uint32_t maxSubpassPreserveAttachments + uint32_t maxFramebufferAttachments + uint32_t maxDescriptorSetLayoutBindings + uint32_t maxQueryFaultCount + uint32_t maxCallbackFaultCount + uint32_t maxCommandPoolCommandBuffers + VkDeviceSize maxCommandBufferSize + + + VkStructureType sType + const void* pNext + VkDeviceSize poolEntrySize + uint32_t poolEntryCount + + + VkStructureType sType + const void* pNext + uint32_t pipelineCacheCreateInfoCount + const VkPipelineCacheCreateInfo* pPipelineCacheCreateInfos + uint32_t pipelinePoolSizeCount + const VkPipelinePoolSize* pPipelinePoolSizes + uint32_t semaphoreRequestCount + uint32_t commandBufferRequestCount + uint32_t fenceRequestCount + uint32_t deviceMemoryRequestCount + uint32_t bufferRequestCount + uint32_t imageRequestCount + uint32_t eventRequestCount + uint32_t queryPoolRequestCount + uint32_t bufferViewRequestCount + uint32_t imageViewRequestCount + uint32_t layeredImageViewRequestCount + uint32_t pipelineCacheRequestCount + uint32_t pipelineLayoutRequestCount + uint32_t renderPassRequestCount + uint32_t graphicsPipelineRequestCount + uint32_t computePipelineRequestCount + uint32_t descriptorSetLayoutRequestCount + uint32_t samplerRequestCount + uint32_t descriptorPoolRequestCount + uint32_t descriptorSetRequestCount + uint32_t framebufferRequestCount + uint32_t commandPoolRequestCount + uint32_t samplerYcbcrConversionRequestCount + uint32_t surfaceRequestCount + uint32_t swapchainRequestCount + uint32_t displayModeRequestCount + uint32_t subpassDescriptionRequestCount + uint32_t attachmentDescriptionRequestCount + uint32_t descriptorSetLayoutBindingRequestCount + uint32_t descriptorSetLayoutBindingLimit + uint32_t maxImageViewMipLevels + uint32_t maxImageViewArrayLayers + uint32_t maxLayeredImageViewMipLevels + uint32_t maxOcclusionQueriesPerPool + uint32_t maxPipelineStatisticsQueriesPerPool + uint32_t maxTimestampQueriesPerPool + uint32_t maxImmutableSamplersPerDescriptorSetLayout + + + VkStructureType sType + const void* pNext + VkDeviceSize commandPoolReservedSize + uint32_t commandPoolMaxCommandBuffers + + + VkStructureType sType + void* pNext + VkDeviceSize commandPoolAllocated + VkDeviceSize commandPoolReservedSize + VkDeviceSize commandBufferAllocated + + + VkStructureType sType + void* pNext + VkBool32 shaderAtomicInstructions + VkStructureType sType void* pNext @@ -6026,7 +6405,7 @@ typedef void* MTLSharedEvent_id; const VkVideoProfileInfoKHR* pProfiles - VkStructureType sType + VkStructureType sType const void* pNext VkImageUsageFlags imageUsage @@ -6136,44 +6515,44 @@ typedef void* MTLSharedEvent_id; - - VkStructureType sType + + VkStructureType sType const void* pNext StdVideoH264ProfileIdc stdProfileIdc - VkVideoDecodeH264PictureLayoutFlagBitsEXT pictureLayout + VkVideoDecodeH264PictureLayoutFlagBitsKHR pictureLayout - - VkStructureType sType + + VkStructureType sType void* pNext StdVideoH264LevelIdc maxLevelIdc VkOffset2D fieldOffsetGranularity - - VkStructureType sType + + VkStructureType sType const void* pNext uint32_t stdSPSCount const StdVideoH264SequenceParameterSet* pStdSPSs uint32_t stdPPSCount const StdVideoH264PictureParameterSet* pStdPPSsList of Picture Parameters associated with the spsStd, above - - VkStructureType sType + + VkStructureType sType const void* pNext uint32_t maxStdSPSCount uint32_t maxStdPPSCount - const VkVideoDecodeH264SessionParametersAddInfoEXT* pParametersAddInfo + const VkVideoDecodeH264SessionParametersAddInfoKHR* pParametersAddInfo - - VkStructureType sType + + VkStructureType sType const void* pNext const StdVideoDecodeH264PictureInfo* pStdPictureInfo uint32_t sliceCount const uint32_t* pSliceOffsets - - VkStructureType sType + + VkStructureType sType const void* pNext const StdVideoDecodeH264ReferenceInfo* pStdReferenceInfo @@ -6201,18 +6580,18 @@ typedef void* MTLSharedEvent_id; - - VkStructureType sType + + VkStructureType sType const void* pNext StdVideoH265ProfileIdc stdProfileIdc - - VkStructureType sType + + VkStructureType sType void* pNext StdVideoH265LevelIdc maxLevelIdc - - VkStructureType sType + + VkStructureType sType const void* pNext uint32_t stdVPSCount const StdVideoH265VideoParameterSet* pStdVPSs @@ -6221,23 +6600,23 @@ typedef void* MTLSharedEvent_id; uint32_t stdPPSCount const StdVideoH265PictureParameterSet* pStdPPSsList of Picture Parameters associated with the spsStd, above - - VkStructureType sType + + VkStructureType sType const void* pNext uint32_t maxStdVPSCount uint32_t maxStdSPSCount uint32_t maxStdPPSCount - const VkVideoDecodeH265SessionParametersAddInfoEXT* pParametersAddInfo + const VkVideoDecodeH265SessionParametersAddInfoKHR* pParametersAddInfo - - VkStructureType sType + + VkStructureType sType const void* pNext StdVideoDecodeH265PictureInfo* pStdPictureInfo - uint32_t sliceCount - const uint32_t* pSliceOffsets + uint32_t sliceSegmentCount + const uint32_t* pSliceSegmentOffsets - - VkStructureType sType + + VkStructureType sType const void* pNext const StdVideoDecodeH265ReferenceInfo* pStdReferenceInfo @@ -6639,6 +7018,123 @@ typedef void* MTLSharedEvent_id; size_t extraCount const void* const * pExtras + + VkStructureType sType + void* pNext + VkBool32 descriptorBuffer + VkBool32 descriptorBufferCaptureReplay + VkBool32 descriptorBufferImageLayoutIgnored + VkBool32 descriptorBufferPushDescriptors + + + VkStructureType sType + void* pNext + VkBool32 combinedImageSamplerDescriptorSingleArray + VkBool32 bufferlessPushDescriptors + VkBool32 allowSamplerImageViewPostSubmitCreation + VkDeviceSize descriptorBufferOffsetAlignment + uint32_t maxDescriptorBufferBindings + uint32_t maxResourceDescriptorBufferBindings + uint32_t maxSamplerDescriptorBufferBindings + uint32_t maxEmbeddedImmutableSamplerBindings + uint32_t maxEmbeddedImmutableSamplers + size_t bufferCaptureReplayDescriptorDataSize + size_t imageCaptureReplayDescriptorDataSize + size_t imageViewCaptureReplayDescriptorDataSize + size_t samplerCaptureReplayDescriptorDataSize + size_t accelerationStructureCaptureReplayDescriptorDataSize + size_t samplerDescriptorSize + size_t combinedImageSamplerDescriptorSize + size_t sampledImageDescriptorSize + size_t storageImageDescriptorSize + size_t uniformTexelBufferDescriptorSize + size_t robustUniformTexelBufferDescriptorSize + size_t storageTexelBufferDescriptorSize + size_t robustStorageTexelBufferDescriptorSize + size_t uniformBufferDescriptorSize + size_t robustUniformBufferDescriptorSize + size_t storageBufferDescriptorSize + size_t robustStorageBufferDescriptorSize + size_t inputAttachmentDescriptorSize + size_t accelerationStructureDescriptorSize + VkDeviceSize maxSamplerDescriptorBufferRange + VkDeviceSize maxResourceDescriptorBufferRange + VkDeviceSize samplerDescriptorBufferAddressSpaceSize + VkDeviceSize resourceDescriptorBufferAddressSpaceSize + VkDeviceSize descriptorBufferAddressSpaceSize + + + VkStructureType sType + void* pNext + size_t combinedImageSamplerDensityMapDescriptorSize + + + VkStructureType sType + void* pNext + VkDeviceAddress address + VkDeviceSize range + VkFormat format + + + VkStructureType sType + void* pNext + VkDeviceAddress address + VkBufferUsageFlags usage + + + VkStructureType sType + void* pNext + VkBuffer buffer + + + const VkSampler* pSampler + const VkDescriptorImageInfo* pCombinedImageSampler + const VkDescriptorImageInfo* pInputAttachmentImage + const VkDescriptorImageInfo* pSampledImage + const VkDescriptorImageInfo* pStorageImage + const VkDescriptorAddressInfoEXT* pUniformTexelBuffer + const VkDescriptorAddressInfoEXT* pStorageTexelBuffer + const VkDescriptorAddressInfoEXT* pUniformBuffer + const VkDescriptorAddressInfoEXT* pStorageBuffer + VkDeviceAddress accelerationStructure + + + VkStructureType sType + const void* pNext + VkDescriptorType type + VkDescriptorDataEXT data + + + VkStructureType sType + const void* pNext + VkBuffer buffer + + + VkStructureType sType + const void* pNext + VkImage image + + + VkStructureType sType + const void* pNext + VkImageView imageView + + + VkStructureType sType + const void* pNext + VkSampler sampler + + + VkStructureType sType + const void* pNext + VkAccelerationStructureKHR accelerationStructure + VkAccelerationStructureNV accelerationStructureNV + + + VkStructureType sType + const void* pNext + const void* opaqueCaptureDescriptorData + VkStructureType sType void* pNext @@ -6946,7 +7442,8 @@ typedef void* MTLSharedEvent_id; const void* pNext VkRenderingFlags flags uint32_t viewMask - uint32_t colorAttachmentCount + uint32_t colorAttachmentCount + uint32_t colorAttachmentCount const VkFormat* pColorAttachmentFormats VkFormat depthAttachmentFormat VkFormat stencilAttachmentFormat @@ -7477,9 +7974,22 @@ typedef void* MTLSharedEvent_id; uint32_t applicationVersion uint32_t engineNameOffset + + VkStructureType sType + void* pNext + VkBool32 pipelineLibraryGroupHandles + + + VkDeviceAddress srcAddress + VkDeviceAddress dstAddress + VkDeviceSize compressedSizeSpecified in bytes + VkDeviceSize decompressedSizeSpecified in bytes + VkMemoryDecompressionMethodFlagsNV decompressionMethod + VkStructureType sType void* pNext + uint64_t shaderCoreMask uint32_t shaderCoreCount uint32_t shaderWarpsPerCore @@ -7488,6 +7998,109 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 shaderCoreBuiltins + + VkStructureType sType + void* pNext + VkPresentModeKHR presentMode + + + VkStructureType sType + void* pNext + VkPresentScalingFlagsEXT supportedPresentScaling + VkPresentGravityFlagsEXT supportedPresentGravityX + VkPresentGravityFlagsEXT supportedPresentGravityY + VkExtent2D minScaledImageExtentSupported minimum image width and height for the surface when scaling is used + VkExtent2D maxScaledImageExtentSupported maximum image width and height for the surface when scaling is used + + + VkStructureType sType + void* pNext + uint32_t presentModeCount + VkPresentModeKHR* pPresentModesOutput list of present modes compatible with the one specified in VkSurfacePresentModeEXT + + + VkStructureType sType + void* pNext + VkBool32 swapchainMaintenance1 + + + VkStructureType sType + void* pNext + uint32_t swapchainCountCopy of VkPresentInfoKHR::swapchainCount + const VkFence* pFencesFence to signal for each swapchain + + + VkStructureType sType + void* pNext + uint32_t presentModeCountLength of the pPresentModes array + const VkPresentModeKHR* pPresentModesPresentation modes which will be usable with this swapchain + + + VkStructureType sType + void* pNext + uint32_t swapchainCountCopy of VkPresentInfoKHR::swapchainCount + const VkPresentModeKHR* pPresentModesPresentation mode for each swapchain + + + VkStructureType sType + const void* pNext + VkPresentScalingFlagsEXT scalingBehavior + VkPresentGravityFlagsEXT presentGravityX + VkPresentGravityFlagsEXT presentGravityY + + + VkStructureType sType + const void* pNext + VkSwapchainKHR swapchainSwapchain for which images are being released + uint32_t imageIndexCountNumber of indices to release + const uint32_t* pImageIndicesIndices of which presentable images to release + + + VkStructureType sType + void* pNext + VkBool32 rayTracingInvocationReorder + + + VkStructureType sType + void* pNext + VkRayTracingInvocationReorderModeNV rayTracingInvocationReorderReorderingHint + + + VkStructureType sType + void* pNext + VkDirectDriverLoadingFlagsLUNARG flags + PFN_vkGetInstanceProcAddrLUNARG pfnGetInstanceProcAddr + + + VkStructureType sType + void* pNext + VkDirectDriverLoadingModeLUNARG mode + uint32_t driverCount + const VkDirectDriverLoadingInfoLUNARG* pDrivers + + + VkStructureType sType + void* pNext + VkBool32 multiviewPerViewViewports + + + VkStructureType sType + void* pNext + uint32_t pixelRate + uint32_t texelRate + uint32_t fmaRate + + + VkStructureType sType + void* pNext + VkBool32 multiviewPerViewRenderAreas + + + VkStructureType sType + const void* pNext + uint32_t perViewRenderAreaCount + const VkRect2D* pPerViewRenderAreas + @@ -7505,6 +8118,7 @@ typedef void* MTLSharedEvent_id; + @@ -8066,6 +8680,14 @@ typedef void* MTLSharedEvent_id; + + + + + + + + Flags @@ -8279,7 +8901,7 @@ typedef void* MTLSharedEvent_id; - + @@ -8304,7 +8926,7 @@ typedef void* MTLSharedEvent_id; - + @@ -8375,7 +8997,7 @@ typedef void* MTLSharedEvent_id; - + NVX_device_generated_commands formerly used these enum values, but that extension has been removed @@ -8383,7 +9005,7 @@ typedef void* MTLSharedEvent_id; value 32 / name VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT - + @@ -8504,7 +9126,7 @@ typedef void* MTLSharedEvent_id; - + @@ -8672,6 +9294,8 @@ typedef void* MTLSharedEvent_id; + + @@ -8819,9 +9443,12 @@ typedef void* MTLSharedEvent_id; - - - + + + + + + @@ -8846,14 +9473,16 @@ typedef void* MTLSharedEvent_id; - + - + + + @@ -8896,6 +9525,24 @@ typedef void* MTLSharedEvent_id; + + + + + + + + + + + + + + + + + + @@ -8908,6 +9555,9 @@ typedef void* MTLSharedEvent_id; + + + @@ -9057,10 +9707,22 @@ typedef void* MTLSharedEvent_id; + + + + + + + + + + + + @@ -9083,6 +9745,16 @@ typedef void* MTLSharedEvent_id; + + + + + + + + + + @@ -9107,10 +9779,10 @@ typedef void* MTLSharedEvent_id; - - - - + + + + @@ -9534,7 +10206,14 @@ typedef void* MTLSharedEvent_id; VkImageCreateFlags flags VkImageFormatProperties* pImageFormatProperties - + + VkResult vkCreateDevice + VkPhysicalDevice physicalDevice + const VkDeviceCreateInfo* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkDevice* pDevice + + VkResult vkCreateDevice VkPhysicalDevice physicalDevice const VkDeviceCreateInfo* pCreateInfo @@ -9564,7 +10243,13 @@ typedef void* MTLSharedEvent_id; uint32_t* pPropertyCount VkExtensionProperties* pProperties - + + VkResult vkEnumerateDeviceLayerProperties + VkPhysicalDevice physicalDevice + uint32_t* pPropertyCount + VkLayerProperties* pProperties + + VkResult vkEnumerateDeviceLayerProperties VkPhysicalDevice physicalDevice uint32_t* pPropertyCount @@ -9829,7 +10514,7 @@ typedef void* MTLSharedEvent_id; VkBufferView bufferView const VkAllocationCallbacks* pAllocator - + VkResult vkCreateImage VkDevice device const VkImageCreateInfo* pCreateInfo @@ -9849,7 +10534,7 @@ typedef void* MTLSharedEvent_id; const VkImageSubresource* pSubresource VkSubresourceLayout* pLayout - + VkResult vkCreateImageView VkDevice device const VkImageViewCreateInfo* pCreateInfo @@ -9875,7 +10560,14 @@ typedef void* MTLSharedEvent_id; VkShaderModule shaderModule const VkAllocationCallbacks* pAllocator - + + VkResult vkCreatePipelineCache + VkDevice device + const VkPipelineCacheCreateInfo* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkPipelineCache* pPipelineCache + + VkResult vkCreatePipelineCache VkDevice device const VkPipelineCacheCreateInfo* pCreateInfo @@ -9902,7 +10594,7 @@ typedef void* MTLSharedEvent_id; uint32_t srcCacheCount const VkPipelineCache* pSrcCaches - + VkResult vkCreateGraphicsPipelines VkDevice device VkPipelineCache pipelineCache @@ -9911,7 +10603,16 @@ typedef void* MTLSharedEvent_id; const VkAllocationCallbacks* pAllocator VkPipeline* pPipelines - + + VkResult vkCreateGraphicsPipelines + VkDevice device + VkPipelineCache pipelineCache + uint32_t createInfoCount + const VkGraphicsPipelineCreateInfo* pCreateInfos + const VkAllocationCallbacks* pAllocator + VkPipeline* pPipelines + + VkResult vkCreateComputePipelines VkDevice device VkPipelineCache pipelineCache @@ -9920,6 +10621,15 @@ typedef void* MTLSharedEvent_id; const VkAllocationCallbacks* pAllocator VkPipeline* pPipelines + + VkResult vkCreateComputePipelines + VkDevice device + VkPipelineCache pipelineCache + uint32_t createInfoCount + const VkComputePipelineCreateInfo* pCreateInfos + const VkAllocationCallbacks* pAllocator + VkPipeline* pPipelines + VkResult vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI VkDevice device @@ -9945,7 +10655,7 @@ typedef void* MTLSharedEvent_id; VkPipelineLayout pipelineLayout const VkAllocationCallbacks* pAllocator - + VkResult vkCreateSampler VkDevice device const VkSamplerCreateInfo* pCreateInfo @@ -10257,6 +10967,19 @@ typedef void* MTLSharedEvent_id; void vkCmdSubpassShadingHUAWEI VkCommandBuffer commandBuffer + + void vkCmdDrawClusterHUAWEI + VkCommandBuffer commandBuffer + uint32_t groupCountX + uint32_t groupCountY + uint32_t groupCountZ + + + void vkCmdDrawClusterIndirectHUAWEI + VkCommandBuffer commandBuffer + VkBuffer buffer + VkDeviceSize offset + void vkCmdCopyBuffer VkCommandBuffer commandBuffer @@ -10304,6 +11027,23 @@ typedef void* MTLSharedEvent_id; uint32_t regionCount const VkBufferImageCopy* pRegions + + void vkCmdCopyMemoryIndirectNV + VkCommandBuffer commandBuffer + VkDeviceAddress copyBufferAddress + uint32_t copyCount + uint32_t stride + + + void vkCmdCopyMemoryToImageIndirectNV + VkCommandBuffer commandBuffer + VkDeviceAddress copyBufferAddress + uint32_t copyCount + uint32_t stride + VkImage dstImage + VkImageLayout dstImageLayout + const VkImageSubresourceLayers* pImageSubresources + void vkCmdUpdateBuffer VkCommandBuffer commandBuffer @@ -10417,14 +11157,14 @@ typedef void* MTLSharedEvent_id; void vkCmdEndConditionalRenderingEXT VkCommandBuffer commandBuffer - + void vkCmdResetQueryPool VkCommandBuffer commandBuffer VkQueryPool queryPool uint32_t firstQuery uint32_t queryCount - + void vkCmdWriteTimestamp VkCommandBuffer commandBuffer VkPipelineStageFlagBits pipelineStage @@ -10531,7 +11271,8 @@ typedef void* MTLSharedEvent_id; VkResult vkCreateSharedSwapchainsKHR VkDevice device uint32_t swapchainCount - const VkSwapchainCreateInfoKHR* pCreateInfos + const VkSwapchainCreateInfoKHR* pCreateInfos + const VkSwapchainCreateInfoKHR* pCreateInfos const VkAllocationCallbacks* pAllocator VkSwapchainKHR* pSwapchains @@ -10571,7 +11312,8 @@ typedef void* MTLSharedEvent_id; VkResult vkCreateSwapchainKHR VkDevice device - const VkSwapchainCreateInfoKHR* pCreateInfo + const VkSwapchainCreateInfoKHR* pCreateInfo + const VkSwapchainCreateInfoKHR* pCreateInfo const VkAllocationCallbacks* pAllocator VkSwapchainKHR* pSwapchain @@ -10920,6 +11662,24 @@ typedef void* MTLSharedEvent_id; const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo VkRemoteAddressNV* pAddress + + VkResult vkGetMemorySciBufNV + VkDevice device + const VkMemoryGetSciBufInfoNV* pGetSciBufInfo + NvSciBufObj* pHandle + + + VkResult vkGetPhysicalDeviceExternalMemorySciBufPropertiesNV + VkPhysicalDevice physicalDevice + VkExternalMemoryHandleTypeFlagBits handleType + NvSciBufObj handle + VkMemorySciBufPropertiesNV* pMemorySciBufProperties + + + VkResult vkGetPhysicalDeviceSciBufAttributesNV + VkPhysicalDevice physicalDevice + NvSciBufAttrList pAttributes + void vkGetPhysicalDeviceExternalSemaphoreProperties VkPhysicalDevice physicalDevice @@ -10989,6 +11749,58 @@ typedef void* MTLSharedEvent_id; VkDevice device const VkImportFenceFdInfoKHR* pImportFenceFdInfo + + VkResult vkGetFenceSciSyncFenceNV + VkDevice device + const VkFenceGetSciSyncInfoNV* pGetSciSyncHandleInfo + void* pHandle + + + VkResult vkGetFenceSciSyncObjNV + VkDevice device + const VkFenceGetSciSyncInfoNV* pGetSciSyncHandleInfo + void* pHandle + + + VkResult vkImportFenceSciSyncFenceNV + VkDevice device + const VkImportFenceSciSyncInfoNV* pImportFenceSciSyncInfo + + + VkResult vkImportFenceSciSyncObjNV + VkDevice device + const VkImportFenceSciSyncInfoNV* pImportFenceSciSyncInfo + + + VkResult vkGetSemaphoreSciSyncObjNV + VkDevice device + const VkSemaphoreGetSciSyncInfoNV* pGetSciSyncInfo + void* pHandle + + + VkResult vkImportSemaphoreSciSyncObjNV + VkDevice device + const VkImportSemaphoreSciSyncInfoNV* pImportSemaphoreSciSyncInfo + + + VkResult vkGetPhysicalDeviceSciSyncAttributesNV + VkPhysicalDevice physicalDevice + const VkSciSyncAttributesInfoNV* pSciSyncAttributesInfo + NvSciSyncAttrList pAttributes + + + VkResult vkCreateSemaphoreSciSyncPoolNV + VkDevice device + const VkSemaphoreSciSyncPoolCreateInfoNV* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkSemaphoreSciSyncPoolNV* pSemaphorePool + + + void vkDestroySemaphoreSciSyncPoolNV + VkDevice device + VkSemaphoreSciSyncPoolNV semaphorePool + const VkAllocationCallbacks* pAllocator + VkResult vkReleaseDisplayEXT VkPhysicalDevice physicalDevice @@ -11214,6 +12026,16 @@ typedef void* MTLSharedEvent_id; uint32_t discardRectangleCount const VkRect2D* pDiscardRectangles + + void vkCmdSetDiscardRectangleEnableEXT + VkCommandBuffer commandBuffer + VkBool32 discardRectangleEnable + + + void vkCmdSetDiscardRectangleModeEXT + VkCommandBuffer commandBuffer + VkDiscardRectangleModeEXT discardRectangleMode + void vkCmdSetSampleLocationsEXT VkCommandBuffer commandBuffer @@ -11648,6 +12470,13 @@ typedef void* MTLSharedEvent_id; uint32_t exclusiveScissorCount const VkRect2D* pExclusiveScissors + + void vkCmdSetExclusiveScissorEnableNV + VkCommandBuffer commandBuffer + uint32_t firstExclusiveScissor + uint32_t exclusiveScissorCount + const VkBool32* pExclusiveScissorEnables + void vkCmdBindShadingRateImageNV VkCommandBuffer commandBuffer @@ -11895,7 +12724,7 @@ typedef void* MTLSharedEvent_id; size_t dataSize void* pData - + VkResult vkCreateRayTracingPipelinesNV VkDevice device VkPipelineCache pipelineCache @@ -11904,7 +12733,16 @@ typedef void* MTLSharedEvent_id; const VkAllocationCallbacks* pAllocator VkPipeline* pPipelines - + + VkResult vkCreateRayTracingPipelinesNV + VkDevice device + VkPipelineCache pipelineCache + uint32_t createInfoCount + const VkRayTracingPipelineCreateInfoNV* pCreateInfos + const VkAllocationCallbacks* pAllocator + VkPipeline* pPipelines + + VkResult vkCreateRayTracingPipelinesKHR VkDevice device VkDeferredOperationKHR deferredOperation @@ -11914,6 +12752,16 @@ typedef void* MTLSharedEvent_id; const VkAllocationCallbacks* pAllocator VkPipeline* pPipelines + + VkResult vkCreateRayTracingPipelinesKHR + VkDevice device + VkDeferredOperationKHR deferredOperation + VkPipelineCache pipelineCache + uint32_t createInfoCount + const VkRayTracingPipelineCreateInfoKHR* pCreateInfos + const VkAllocationCallbacks* pAllocator + VkPipeline* pPipelines + VkResult vkGetPhysicalDeviceCooperativeMatrixPropertiesNV VkPhysicalDevice physicalDevice @@ -12120,6 +12968,14 @@ typedef void* MTLSharedEvent_id; uint32_t lineStippleFactor uint16_t lineStipplePattern + + VkResult vkGetFaultData + VkDevice device + VkFaultQueryBehavior faultQueryBehavior + VkBool32* pUnrecordedFaults + uint32_t* pFaultCount + VkFaultData* pFaults + VkResult vkGetPhysicalDeviceToolProperties VkPhysicalDevice physicalDevice @@ -12301,14 +13157,6 @@ typedef void* MTLSharedEvent_id; VkBool32 primitiveRestartEnable - - VkResult vkCreatePrivateDataSlot - VkDevice device - const VkPrivateDataSlotCreateInfo* pCreateInfo - const VkAllocationCallbacks* pAllocator - VkPrivateDataSlot* pPrivateDataSlot - - void vkCmdSetTessellationDomainOriginEXT VkCommandBuffer commandBuffer @@ -12369,7 +13217,7 @@ typedef void* MTLSharedEvent_id; VkCommandBuffer commandBuffer uint32_t firstAttachment uint32_t attachmentCount - const VkColorComponentFlags* pColorWriteMasks + const VkColorComponentFlags* pColorWriteMasks void vkCmdSetRasterizationStreamEXT @@ -12476,6 +13324,13 @@ typedef void* MTLSharedEvent_id; VkCommandBuffer commandBuffer VkBool32 representativeFragmentTestEnable + + VkResult vkCreatePrivateDataSlot + VkDevice device + const VkPrivateDataSlotCreateInfo* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkPrivateDataSlot* pPrivateDataSlot + void vkDestroyPrivateDataSlot @@ -12538,6 +13393,17 @@ typedef void* MTLSharedEvent_id; const VkResolveImageInfo2* pResolveImageInfo + + void vkCmdRefreshObjectsKHR + VkCommandBuffer commandBuffer + const VkRefreshObjectListKHR* pRefreshObjects + + + VkResult vkGetPhysicalDeviceRefreshableObjectTypesKHR + VkPhysicalDevice physicalDevice + uint32_t* pRefreshableObjectTypeCount + VkObjectType* pRefreshableObjectTypes + void vkCmdSetFragmentShadingRateKHR VkCommandBuffer commandBuffer @@ -12636,6 +13502,13 @@ typedef void* MTLSharedEvent_id; uint32_t* pCheckpointDataCount VkCheckpointData2NV* pCheckpointData + + void vkGetCommandPoolMemoryConsumption + VkDevice device + VkCommandPool commandPool + VkCommandBuffer commandBuffer + VkCommandPoolMemoryConsumption* pConsumption + VkResult vkGetPhysicalDeviceVideoCapabilitiesKHR VkPhysicalDevice physicalDevice @@ -12662,14 +13535,14 @@ typedef void* MTLSharedEvent_id; VkVideoSessionKHR videoSession const VkAllocationCallbacks* pAllocator - + VkResult vkCreateVideoSessionParametersKHR VkDevice device const VkVideoSessionParametersCreateInfoKHR* pCreateInfo const VkAllocationCallbacks* pAllocator VkVideoSessionParametersKHR* pVideoSessionParameters - + VkResult vkUpdateVideoSessionParametersKHR VkDevice device VkVideoSessionParametersKHR videoSessionParameters @@ -12681,14 +13554,14 @@ typedef void* MTLSharedEvent_id; VkVideoSessionParametersKHR videoSessionParameters const VkAllocationCallbacks* pAllocator - + VkResult vkGetVideoSessionMemoryRequirementsKHR VkDevice device VkVideoSessionKHR videoSession uint32_t* pMemoryRequirementsCount VkVideoSessionMemoryRequirementsKHR* pMemoryRequirements - + VkResult vkBindVideoSessionMemoryKHR VkDevice device VkVideoSessionKHR videoSession @@ -12720,6 +13593,19 @@ typedef void* MTLSharedEvent_id; VkCommandBuffer commandBuffer const VkVideoEncodeInfoKHR* pEncodeInfo + + void vkCmdDecompressMemoryNV + VkCommandBuffer commandBuffer + uint32_t decompressRegionCount + const VkDecompressMemoryRegionNV* pDecompressMemoryRegions + + + void vkCmdDecompressMemoryIndirectCountNV + VkCommandBuffer commandBuffer + VkDeviceAddress indirectCommandsAddress + VkDeviceAddress indirectCommandsCountAddress + uint32_t stride + VkResult vkCreateCuModuleNVX VkDevice device @@ -12751,6 +13637,79 @@ typedef void* MTLSharedEvent_id; VkCommandBuffer commandBuffer const VkCuLaunchInfoNVX* pLaunchInfo + + void vkGetDescriptorSetLayoutSizeEXT + VkDevice device + VkDescriptorSetLayout layout + VkDeviceSize* pLayoutSizeInBytes + + + void vkGetDescriptorSetLayoutBindingOffsetEXT + VkDevice device + VkDescriptorSetLayout layout + uint32_t binding + VkDeviceSize* pOffset + + + void vkGetDescriptorEXT + VkDevice device + const VkDescriptorGetInfoEXT* pDescriptorInfo + size_t dataSize + void* pDescriptor + + + void vkCmdBindDescriptorBuffersEXT + VkCommandBuffer commandBuffer + uint32_t bufferCount + const VkDescriptorBufferBindingInfoEXT* pBindingInfos + + + void vkCmdSetDescriptorBufferOffsetsEXT + VkCommandBuffer commandBuffer + VkPipelineBindPoint pipelineBindPoint + VkPipelineLayout layout + uint32_t firstSet + uint32_t setCount + const uint32_t* pBufferIndices + const VkDeviceSize* pOffsets + + + void vkCmdBindDescriptorBufferEmbeddedSamplersEXT + VkCommandBuffer commandBuffer + VkPipelineBindPoint pipelineBindPoint + VkPipelineLayout layout + uint32_t set + + + VkResult vkGetBufferOpaqueCaptureDescriptorDataEXT + VkDevice device + const VkBufferCaptureDescriptorDataInfoEXT* pInfo + void* pData + + + VkResult vkGetImageOpaqueCaptureDescriptorDataEXT + VkDevice device + const VkImageCaptureDescriptorDataInfoEXT* pInfo + void* pData + + + VkResult vkGetImageViewOpaqueCaptureDescriptorDataEXT + VkDevice device + const VkImageViewCaptureDescriptorDataInfoEXT* pInfo + void* pData + + + VkResult vkGetSamplerOpaqueCaptureDescriptorDataEXT + VkDevice device + const VkSamplerCaptureDescriptorDataInfoEXT* pInfo + void* pData + + + VkResult vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT + VkDevice device + const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo + void* pData + void vkSetDeviceMemoryPriorityEXT VkDevice device @@ -13006,9 +13965,14 @@ typedef void* MTLSharedEvent_id; VkDeviceFaultCountsEXT* pFaultCounts VkDeviceFaultInfoEXT* pFaultInfo + + VkResult vkReleaseSwapchainImagesEXT + VkDevice device + const VkReleaseSwapchainImagesInfoEXT* pReleaseInfo + - + @@ -13522,7 +14486,7 @@ typedef void* MTLSharedEvent_id; - + @@ -13676,7 +14640,7 @@ typedef void* MTLSharedEvent_id; - + @@ -13849,12 +14813,12 @@ typedef void* MTLSharedEvent_id; - + - + @@ -14049,7 +15013,7 @@ typedef void* MTLSharedEvent_id; - + @@ -14314,8 +15278,144 @@ typedef void* MTLSharedEvent_id; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -14337,7 +15437,7 @@ typedef void* MTLSharedEvent_id; - + @@ -14358,7 +15458,7 @@ typedef void* MTLSharedEvent_id; - + This duplicates definitions in VK_KHR_device_group below @@ -14382,7 +15482,7 @@ typedef void* MTLSharedEvent_id; - + @@ -14413,7 +15513,7 @@ typedef void* MTLSharedEvent_id; - + @@ -14423,7 +15523,7 @@ typedef void* MTLSharedEvent_id; - + @@ -14434,7 +15534,7 @@ typedef void* MTLSharedEvent_id; - + @@ -14445,7 +15545,7 @@ typedef void* MTLSharedEvent_id; - + @@ -14456,13 +15556,13 @@ typedef void* MTLSharedEvent_id; - + - + @@ -14473,7 +15573,7 @@ typedef void* MTLSharedEvent_id; - + @@ -14511,8 +15611,9 @@ typedef void* MTLSharedEvent_id; - - + + + @@ -14524,7 +15625,7 @@ typedef void* MTLSharedEvent_id; - + This duplicates definitions in other extensions, below @@ -14537,7 +15638,7 @@ typedef void* MTLSharedEvent_id; - + @@ -14548,7 +15649,7 @@ typedef void* MTLSharedEvent_id; - + @@ -14598,7 +15699,7 @@ typedef void* MTLSharedEvent_id; - + @@ -14616,40 +15717,40 @@ typedef void* MTLSharedEvent_id; - + - + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - + + - - + + - - - - - - + + + + + + @@ -14705,28 +15806,28 @@ typedef void* MTLSharedEvent_id; - + - + - - - - + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + @@ -14741,9 +15842,9 @@ typedef void* MTLSharedEvent_id; - - - + + + @@ -14770,7 +15871,7 @@ typedef void* MTLSharedEvent_id; - + @@ -14882,7 +15983,7 @@ typedef void* MTLSharedEvent_id; - + @@ -14921,7 +16022,7 @@ typedef void* MTLSharedEvent_id; - + @@ -14965,28 +16066,28 @@ typedef void* MTLSharedEvent_id; - + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - + @@ -15010,7 +16111,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15030,27 +16131,27 @@ typedef void* MTLSharedEvent_id; - + - + - + - + - + - + - + @@ -15079,7 +16180,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15089,7 +16190,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15098,10 +16199,11 @@ typedef void* MTLSharedEvent_id; - + - - + + + @@ -15110,7 +16212,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15123,7 +16225,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15149,7 +16251,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15159,7 +16261,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15170,7 +16272,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15209,7 +16311,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15239,14 +16341,14 @@ typedef void* MTLSharedEvent_id; - + - + @@ -15255,7 +16357,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15279,7 +16381,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15307,7 +16409,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15329,7 +16431,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15339,7 +16441,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15357,8 +16459,8 @@ typedef void* MTLSharedEvent_id; - - + + @@ -15380,7 +16482,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15413,7 +16515,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15427,7 +16529,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15443,7 +16545,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15457,7 +16559,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15465,7 +16567,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15490,7 +16592,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15501,7 +16603,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15517,7 +16619,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15529,7 +16631,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15538,16 +16640,16 @@ typedef void* MTLSharedEvent_id; - + - + - + @@ -15566,7 +16668,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15576,7 +16678,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15584,7 +16686,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15610,11 +16712,11 @@ typedef void* MTLSharedEvent_id; - + - + @@ -15635,14 +16737,14 @@ typedef void* MTLSharedEvent_id; - + - + @@ -15650,19 +16752,19 @@ typedef void* MTLSharedEvent_id; - + - + - + @@ -15683,7 +16785,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15723,11 +16825,11 @@ typedef void* MTLSharedEvent_id; - - + + - + @@ -15748,18 +16850,22 @@ typedef void* MTLSharedEvent_id; - + - + + + + + @@ -15768,7 +16874,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15780,7 +16886,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15795,9 +16901,10 @@ typedef void* MTLSharedEvent_id; + - + @@ -15815,10 +16922,10 @@ typedef void* MTLSharedEvent_id; - + - + @@ -15840,7 +16947,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15855,7 +16962,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15885,7 +16992,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15897,7 +17004,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15921,7 +17028,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15932,7 +17039,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15946,7 +17053,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15958,7 +17065,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15990,13 +17097,17 @@ typedef void* MTLSharedEvent_id; + + + + - - + + @@ -16024,7 +17135,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16038,7 +17149,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16048,7 +17159,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16068,7 +17179,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16078,7 +17189,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16094,21 +17205,21 @@ typedef void* MTLSharedEvent_id; - + - + - + @@ -16118,7 +17229,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16154,7 +17265,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16175,12 +17286,12 @@ typedef void* MTLSharedEvent_id; - + - + @@ -16238,7 +17349,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16259,7 +17370,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16277,7 +17388,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16312,7 +17423,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16331,7 +17442,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16339,7 +17450,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16408,7 +17519,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16493,11 +17604,11 @@ typedef void* MTLSharedEvent_id; - + - + @@ -16542,7 +17653,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16573,7 +17684,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16583,13 +17694,13 @@ typedef void* MTLSharedEvent_id; - + - + @@ -16668,7 +17779,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16685,7 +17796,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16708,7 +17819,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16738,7 +17849,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16769,7 +17880,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16779,7 +17890,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16807,7 +17918,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16903,7 +18014,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16919,12 +18030,12 @@ typedef void* MTLSharedEvent_id; - + - - + + @@ -16940,7 +18051,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16975,17 +18086,17 @@ typedef void* MTLSharedEvent_id; - + - - + + - + @@ -16999,7 +18110,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17007,7 +18118,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17029,7 +18140,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17037,7 +18148,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17061,7 +18172,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17072,7 +18183,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17086,28 +18197,28 @@ typedef void* MTLSharedEvent_id; - + - - - - - - - - - + + + + + + + + + - - + + - - - - + + + + - + @@ -17131,7 +18242,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17144,7 +18255,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17183,7 +18294,7 @@ typedef void* MTLSharedEvent_id; name="VK_PIPELINE_CACHE_CREATE_RESERVED_1_BIT_EXT"/> - + @@ -17207,7 +18318,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17219,14 +18330,14 @@ typedef void* MTLSharedEvent_id; - + - + @@ -17243,14 +18354,14 @@ typedef void* MTLSharedEvent_id; - + - + @@ -17258,7 +18369,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17276,7 +18387,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17284,7 +18395,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17292,19 +18403,21 @@ typedef void* MTLSharedEvent_id; - + - + - + + + - + @@ -17316,7 +18429,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17349,7 +18462,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17362,7 +18475,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17396,7 +18509,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17404,7 +18517,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17412,7 +18525,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17424,7 +18537,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17434,7 +18547,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17448,7 +18561,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17459,7 +18572,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17479,7 +18592,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17496,7 +18609,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17514,8 +18627,8 @@ typedef void* MTLSharedEvent_id; - - + + @@ -17524,7 +18637,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17538,7 +18651,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17562,11 +18675,11 @@ typedef void* MTLSharedEvent_id; - + - + @@ -17582,7 +18695,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17616,7 +18729,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17630,13 +18743,13 @@ typedef void* MTLSharedEvent_id; - + - + @@ -17644,7 +18757,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17654,7 +18767,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17662,7 +18775,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17670,7 +18783,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17699,7 +18812,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17727,13 +18840,13 @@ typedef void* MTLSharedEvent_id; - + - + - + @@ -17746,7 +18859,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17756,7 +18869,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17765,7 +18878,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17780,7 +18893,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17795,7 +18908,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17803,7 +18916,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17811,7 +18924,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17819,7 +18932,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17832,7 +18945,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17846,18 +18959,18 @@ typedef void* MTLSharedEvent_id; - + - + - + - + @@ -17867,7 +18980,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17901,7 +19014,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17916,7 +19029,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17924,7 +19037,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17951,7 +19064,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17966,7 +19079,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18015,7 +19128,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18040,26 +19153,26 @@ typedef void* MTLSharedEvent_id; - + - + - + - + @@ -18067,19 +19180,43 @@ typedef void* MTLSharedEvent_id; - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -18087,7 +19224,7 @@ typedef void* MTLSharedEvent_id; - + This extension requires buffer_device_address functionality. @@ -18135,7 +19272,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18151,7 +19288,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18161,7 +19298,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18171,7 +19308,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18188,7 +19325,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18203,7 +19340,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18211,7 +19348,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18221,7 +19358,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18297,7 +19434,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18315,7 +19452,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18325,7 +19462,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18351,7 +19488,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18365,16 +19502,13 @@ typedef void* MTLSharedEvent_id; - - - - - - - + + + + - + @@ -18424,12 +19558,12 @@ typedef void* MTLSharedEvent_id; - + - + @@ -18484,10 +19618,17 @@ typedef void* MTLSharedEvent_id; - + - - + + + + + + + + + @@ -18554,7 +19695,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18593,65 +19734,65 @@ typedef void* MTLSharedEvent_id; - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -18662,21 +19803,62 @@ typedef void* MTLSharedEvent_id; - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -18699,7 +19881,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18717,7 +19899,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18725,7 +19907,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18735,7 +19917,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18749,7 +19931,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18757,7 +19939,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18772,7 +19954,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18795,7 +19977,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18815,7 +19997,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18825,7 +20007,7 @@ typedef void* MTLSharedEvent_id; - + VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT and @@ -18848,7 +20030,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18859,7 +20041,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18867,13 +20049,13 @@ typedef void* MTLSharedEvent_id; - + - + @@ -18881,7 +20063,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18889,7 +20071,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18923,7 +20105,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18945,7 +20127,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18958,7 +20140,7 @@ typedef void* MTLSharedEvent_id; - + VkPhysicalDevice4444FormatsFeaturesEXT and @@ -18973,7 +20155,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18991,7 +20173,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19011,7 +20193,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19019,7 +20201,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19027,7 +20209,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19038,7 +20220,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19050,7 +20232,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19064,7 +20246,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19078,7 +20260,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19088,7 +20270,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19102,7 +20284,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19112,7 +20294,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19138,7 +20320,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19166,7 +20348,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19181,7 +20363,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19194,7 +20376,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19244,7 +20426,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19261,7 +20443,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19273,7 +20455,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19287,7 +20469,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19300,20 +20482,60 @@ typedef void* MTLSharedEvent_id; - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -19322,7 +20544,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19335,7 +20557,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19353,7 +20575,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19376,7 +20598,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19388,7 +20610,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19415,7 +20637,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19424,14 +20646,14 @@ typedef void* MTLSharedEvent_id; - + - + - + @@ -19442,12 +20664,12 @@ typedef void* MTLSharedEvent_id; - + - - + + @@ -19465,7 +20687,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19475,7 +20697,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19489,7 +20711,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19511,7 +20733,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19624,10 +20846,19 @@ typedef void* MTLSharedEvent_id; - + - - + + + + + + + + + + + @@ -19666,7 +20897,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19676,7 +20907,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19685,7 +20916,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19709,10 +20940,12 @@ typedef void* MTLSharedEvent_id; - + - - + + + + @@ -19727,20 +20960,25 @@ typedef void* MTLSharedEvent_id; - + - - - + + + + + + + + - + @@ -19754,7 +20992,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19762,7 +21000,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19783,7 +21021,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19796,16 +21034,33 @@ typedef void* MTLSharedEvent_id; - + - - + + + + + + + + + + - + - - + + + + + + + + + + + @@ -19820,14 +21075,14 @@ typedef void* MTLSharedEvent_id; - + - + @@ -19843,7 +21098,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19855,10 +21110,12 @@ typedef void* MTLSharedEvent_id; - + - - + + + + @@ -19867,7 +21124,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19889,7 +21146,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19905,7 +21162,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19953,7 +21210,6 @@ typedef void* MTLSharedEvent_id; - @@ -19998,7 +21254,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20084,7 +21340,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20101,10 +21357,17 @@ typedef void* MTLSharedEvent_id; - + - - + + + + + + + + + @@ -20120,7 +21383,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20137,7 +21400,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20153,7 +21416,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20198,17 +21461,22 @@ typedef void* MTLSharedEvent_id; - + - + + + + + + - + @@ -20323,7 +21591,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20336,7 +21604,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20358,22 +21626,62 @@ typedef void* MTLSharedEvent_id; - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -20394,7 +21702,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20420,9 +21728,9 @@ typedef void* MTLSharedEvent_id; - + - + @@ -20430,10 +21738,88 @@ typedef void* MTLSharedEvent_id; - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -21841,6 +23227,9 @@ typedef void* MTLSharedEvent_id; + + + @@ -21891,6 +23280,9 @@ typedef void* MTLSharedEvent_id; + + + @@ -21999,6 +23391,9 @@ typedef void* MTLSharedEvent_id; + + + @@ -22389,7 +23784,7 @@ typedef void* MTLSharedEvent_id; - + @@ -22484,5 +23879,11 @@ typedef void* MTLSharedEvent_id; + + + + + + diff --git a/glad/files/vk_platform.h b/glad/files/vk_platform.h index 3ff8c5d1..ed67a600 100644 --- a/glad/files/vk_platform.h +++ b/glad/files/vk_platform.h @@ -2,7 +2,7 @@ // File: vk_platform.h // /* -** Copyright 2014-2022 The Khronos Group Inc. +** Copyright 2014-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ From a0a1314c72313aecfccdcadf15336dba730a7920 Mon Sep 17 00:00:00 2001 From: scribam Date: Mon, 16 Jan 2023 21:09:34 +0100 Subject: [PATCH 090/138] ci: bump actions versions --- .github/workflows/glad2.yaml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/glad2.yaml b/.github/workflows/glad2.yaml index 463e8663..78e2494d 100644 --- a/.github/workflows/glad2.yaml +++ b/.github/workflows/glad2.yaml @@ -7,11 +7,10 @@ jobs: name: Test runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - name: Set up Python - uses: actions/setup-python@v2 + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 with: - python-version: 3 + python-version: '3.x' - name: Install Python dependencies run: | python -m pip install --upgrade pip @@ -30,7 +29,7 @@ jobs: - name: Run Tests run: PRINT_MESSAGE=1 xvfb-run --auto-servernum ./utility/test.sh - name: Publish Test Results - uses: EnricoMi/publish-unit-test-result-action@v1 + uses: EnricoMi/publish-unit-test-result-action@v2 if: always() with: files: test-report.xml From 71f30638529eedfad3e9c47b0e6940dd1a7cf727 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Fri, 17 Feb 2023 19:52:58 +0100 Subject: [PATCH 091/138] glad: adds missing vulkan headers --- glad/files/vulkan_video_codec_h264std.h | 310 ++++++++++++ .../files/vulkan_video_codec_h264std_decode.h | 75 +++ .../files/vulkan_video_codec_h264std_encode.h | 75 +++ glad/files/vulkan_video_codec_h265std.h | 443 ++++++++++++++++++ .../files/vulkan_video_codec_h265std_decode.h | 65 +++ .../files/vulkan_video_codec_h265std_encode.h | 65 +++ glad/generator/c/__init__.py | 32 +- glad/parse.py | 6 - test/rust/compile/vulkan/default/001/test.rs | 2 +- utility/download.sh | 14 + 10 files changed, 1079 insertions(+), 8 deletions(-) create mode 100644 glad/files/vulkan_video_codec_h264std.h create mode 100644 glad/files/vulkan_video_codec_h264std_decode.h create mode 100644 glad/files/vulkan_video_codec_h264std_encode.h create mode 100644 glad/files/vulkan_video_codec_h265std.h create mode 100644 glad/files/vulkan_video_codec_h265std_decode.h create mode 100644 glad/files/vulkan_video_codec_h265std_encode.h diff --git a/glad/files/vulkan_video_codec_h264std.h b/glad/files/vulkan_video_codec_h264std.h new file mode 100644 index 00000000..21c7b667 --- /dev/null +++ b/glad/files/vulkan_video_codec_h264std.h @@ -0,0 +1,310 @@ +#ifndef VULKAN_VIDEO_CODEC_H264STD_H_ +#define VULKAN_VIDEO_CODEC_H264STD_H_ 1 + +/* +** Copyright 2015-2023 The Khronos Group Inc. +** +** SPDX-License-Identifier: Apache-2.0 +*/ + +/* +** This header is generated from the Khronos Vulkan XML API Registry. +** +*/ + + +#ifdef __cplusplus +extern "C" { +#endif + + + +#define vulkan_video_codec_h264std 1 +#include +#define STD_VIDEO_H264_CPB_CNT_LIST_SIZE 32 +#define STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS 6 +#define STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS 16 +#define STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS 6 +#define STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS 64 +#define STD_VIDEO_H264_MAX_NUM_LIST_REF 32 +#define STD_VIDEO_H264_MAX_CHROMA_PLANES 2 + +typedef enum StdVideoH264ChromaFormatIdc { + STD_VIDEO_H264_CHROMA_FORMAT_IDC_MONOCHROME = 0, + STD_VIDEO_H264_CHROMA_FORMAT_IDC_420 = 1, + STD_VIDEO_H264_CHROMA_FORMAT_IDC_422 = 2, + STD_VIDEO_H264_CHROMA_FORMAT_IDC_444 = 3, + STD_VIDEO_H264_CHROMA_FORMAT_IDC_INVALID = 0x7FFFFFFF, + STD_VIDEO_H264_CHROMA_FORMAT_IDC_MAX_ENUM = 0x7FFFFFFF +} StdVideoH264ChromaFormatIdc; + +typedef enum StdVideoH264ProfileIdc { + STD_VIDEO_H264_PROFILE_IDC_BASELINE = 66, + STD_VIDEO_H264_PROFILE_IDC_MAIN = 77, + STD_VIDEO_H264_PROFILE_IDC_HIGH = 100, + STD_VIDEO_H264_PROFILE_IDC_HIGH_444_PREDICTIVE = 244, + STD_VIDEO_H264_PROFILE_IDC_INVALID = 0x7FFFFFFF, + STD_VIDEO_H264_PROFILE_IDC_MAX_ENUM = 0x7FFFFFFF +} StdVideoH264ProfileIdc; + +typedef enum StdVideoH264LevelIdc { + STD_VIDEO_H264_LEVEL_IDC_1_0 = 0, + STD_VIDEO_H264_LEVEL_IDC_1_1 = 1, + STD_VIDEO_H264_LEVEL_IDC_1_2 = 2, + STD_VIDEO_H264_LEVEL_IDC_1_3 = 3, + STD_VIDEO_H264_LEVEL_IDC_2_0 = 4, + STD_VIDEO_H264_LEVEL_IDC_2_1 = 5, + STD_VIDEO_H264_LEVEL_IDC_2_2 = 6, + STD_VIDEO_H264_LEVEL_IDC_3_0 = 7, + STD_VIDEO_H264_LEVEL_IDC_3_1 = 8, + STD_VIDEO_H264_LEVEL_IDC_3_2 = 9, + STD_VIDEO_H264_LEVEL_IDC_4_0 = 10, + STD_VIDEO_H264_LEVEL_IDC_4_1 = 11, + STD_VIDEO_H264_LEVEL_IDC_4_2 = 12, + STD_VIDEO_H264_LEVEL_IDC_5_0 = 13, + STD_VIDEO_H264_LEVEL_IDC_5_1 = 14, + STD_VIDEO_H264_LEVEL_IDC_5_2 = 15, + STD_VIDEO_H264_LEVEL_IDC_6_0 = 16, + STD_VIDEO_H264_LEVEL_IDC_6_1 = 17, + STD_VIDEO_H264_LEVEL_IDC_6_2 = 18, + STD_VIDEO_H264_LEVEL_IDC_INVALID = 0x7FFFFFFF, + STD_VIDEO_H264_LEVEL_IDC_MAX_ENUM = 0x7FFFFFFF +} StdVideoH264LevelIdc; + +typedef enum StdVideoH264PocType { + STD_VIDEO_H264_POC_TYPE_0 = 0, + STD_VIDEO_H264_POC_TYPE_1 = 1, + STD_VIDEO_H264_POC_TYPE_2 = 2, + STD_VIDEO_H264_POC_TYPE_INVALID = 0x7FFFFFFF, + STD_VIDEO_H264_POC_TYPE_MAX_ENUM = 0x7FFFFFFF +} StdVideoH264PocType; + +typedef enum StdVideoH264AspectRatioIdc { + STD_VIDEO_H264_ASPECT_RATIO_IDC_UNSPECIFIED = 0, + STD_VIDEO_H264_ASPECT_RATIO_IDC_SQUARE = 1, + STD_VIDEO_H264_ASPECT_RATIO_IDC_12_11 = 2, + STD_VIDEO_H264_ASPECT_RATIO_IDC_10_11 = 3, + STD_VIDEO_H264_ASPECT_RATIO_IDC_16_11 = 4, + STD_VIDEO_H264_ASPECT_RATIO_IDC_40_33 = 5, + STD_VIDEO_H264_ASPECT_RATIO_IDC_24_11 = 6, + STD_VIDEO_H264_ASPECT_RATIO_IDC_20_11 = 7, + STD_VIDEO_H264_ASPECT_RATIO_IDC_32_11 = 8, + STD_VIDEO_H264_ASPECT_RATIO_IDC_80_33 = 9, + STD_VIDEO_H264_ASPECT_RATIO_IDC_18_11 = 10, + STD_VIDEO_H264_ASPECT_RATIO_IDC_15_11 = 11, + STD_VIDEO_H264_ASPECT_RATIO_IDC_64_33 = 12, + STD_VIDEO_H264_ASPECT_RATIO_IDC_160_99 = 13, + STD_VIDEO_H264_ASPECT_RATIO_IDC_4_3 = 14, + STD_VIDEO_H264_ASPECT_RATIO_IDC_3_2 = 15, + STD_VIDEO_H264_ASPECT_RATIO_IDC_2_1 = 16, + STD_VIDEO_H264_ASPECT_RATIO_IDC_EXTENDED_SAR = 255, + STD_VIDEO_H264_ASPECT_RATIO_IDC_INVALID = 0x7FFFFFFF, + STD_VIDEO_H264_ASPECT_RATIO_IDC_MAX_ENUM = 0x7FFFFFFF +} StdVideoH264AspectRatioIdc; + +typedef enum StdVideoH264WeightedBipredIdc { + STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_DEFAULT = 0, + STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_EXPLICIT = 1, + STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_IMPLICIT = 2, + STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_INVALID = 0x7FFFFFFF, + STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_MAX_ENUM = 0x7FFFFFFF +} StdVideoH264WeightedBipredIdc; + +typedef enum StdVideoH264ModificationOfPicNumsIdc { + STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_SUBTRACT = 0, + STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_ADD = 1, + STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_LONG_TERM = 2, + STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_END = 3, + STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_INVALID = 0x7FFFFFFF, + STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_MAX_ENUM = 0x7FFFFFFF +} StdVideoH264ModificationOfPicNumsIdc; + +typedef enum StdVideoH264MemMgmtControlOp { + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_END = 0, + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_SHORT_TERM = 1, + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_LONG_TERM = 2, + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_LONG_TERM = 3, + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_SET_MAX_LONG_TERM_INDEX = 4, + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_ALL = 5, + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_CURRENT_AS_LONG_TERM = 6, + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_INVALID = 0x7FFFFFFF, + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MAX_ENUM = 0x7FFFFFFF +} StdVideoH264MemMgmtControlOp; + +typedef enum StdVideoH264CabacInitIdc { + STD_VIDEO_H264_CABAC_INIT_IDC_0 = 0, + STD_VIDEO_H264_CABAC_INIT_IDC_1 = 1, + STD_VIDEO_H264_CABAC_INIT_IDC_2 = 2, + STD_VIDEO_H264_CABAC_INIT_IDC_INVALID = 0x7FFFFFFF, + STD_VIDEO_H264_CABAC_INIT_IDC_MAX_ENUM = 0x7FFFFFFF +} StdVideoH264CabacInitIdc; + +typedef enum StdVideoH264DisableDeblockingFilterIdc { + STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_DISABLED = 0, + STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_ENABLED = 1, + STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_PARTIAL = 2, + STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_INVALID = 0x7FFFFFFF, + STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_MAX_ENUM = 0x7FFFFFFF +} StdVideoH264DisableDeblockingFilterIdc; + +typedef enum StdVideoH264SliceType { + STD_VIDEO_H264_SLICE_TYPE_P = 0, + STD_VIDEO_H264_SLICE_TYPE_B = 1, + STD_VIDEO_H264_SLICE_TYPE_I = 2, + STD_VIDEO_H264_SLICE_TYPE_INVALID = 0x7FFFFFFF, + STD_VIDEO_H264_SLICE_TYPE_MAX_ENUM = 0x7FFFFFFF +} StdVideoH264SliceType; + +typedef enum StdVideoH264PictureType { + STD_VIDEO_H264_PICTURE_TYPE_P = 0, + STD_VIDEO_H264_PICTURE_TYPE_B = 1, + STD_VIDEO_H264_PICTURE_TYPE_I = 2, + STD_VIDEO_H264_PICTURE_TYPE_IDR = 5, + STD_VIDEO_H264_PICTURE_TYPE_INVALID = 0x7FFFFFFF, + STD_VIDEO_H264_PICTURE_TYPE_MAX_ENUM = 0x7FFFFFFF +} StdVideoH264PictureType; + +typedef enum StdVideoH264NonVclNaluType { + STD_VIDEO_H264_NON_VCL_NALU_TYPE_SPS = 0, + STD_VIDEO_H264_NON_VCL_NALU_TYPE_PPS = 1, + STD_VIDEO_H264_NON_VCL_NALU_TYPE_AUD = 2, + STD_VIDEO_H264_NON_VCL_NALU_TYPE_PREFIX = 3, + STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_SEQUENCE = 4, + STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_STREAM = 5, + STD_VIDEO_H264_NON_VCL_NALU_TYPE_PRECODED = 6, + STD_VIDEO_H264_NON_VCL_NALU_TYPE_INVALID = 0x7FFFFFFF, + STD_VIDEO_H264_NON_VCL_NALU_TYPE_MAX_ENUM = 0x7FFFFFFF +} StdVideoH264NonVclNaluType; +typedef struct StdVideoH264SpsVuiFlags { + uint32_t aspect_ratio_info_present_flag : 1; + uint32_t overscan_info_present_flag : 1; + uint32_t overscan_appropriate_flag : 1; + uint32_t video_signal_type_present_flag : 1; + uint32_t video_full_range_flag : 1; + uint32_t color_description_present_flag : 1; + uint32_t chroma_loc_info_present_flag : 1; + uint32_t timing_info_present_flag : 1; + uint32_t fixed_frame_rate_flag : 1; + uint32_t bitstream_restriction_flag : 1; + uint32_t nal_hrd_parameters_present_flag : 1; + uint32_t vcl_hrd_parameters_present_flag : 1; +} StdVideoH264SpsVuiFlags; + +typedef struct StdVideoH264HrdParameters { + uint8_t cpb_cnt_minus1; + uint8_t bit_rate_scale; + uint8_t cpb_size_scale; + uint8_t reserved1; + uint32_t bit_rate_value_minus1[STD_VIDEO_H264_CPB_CNT_LIST_SIZE]; + uint32_t cpb_size_value_minus1[STD_VIDEO_H264_CPB_CNT_LIST_SIZE]; + uint8_t cbr_flag[STD_VIDEO_H264_CPB_CNT_LIST_SIZE]; + uint32_t initial_cpb_removal_delay_length_minus1; + uint32_t cpb_removal_delay_length_minus1; + uint32_t dpb_output_delay_length_minus1; + uint32_t time_offset_length; +} StdVideoH264HrdParameters; + +typedef struct StdVideoH264SequenceParameterSetVui { + StdVideoH264SpsVuiFlags flags; + StdVideoH264AspectRatioIdc aspect_ratio_idc; + uint16_t sar_width; + uint16_t sar_height; + uint8_t video_format; + uint8_t colour_primaries; + uint8_t transfer_characteristics; + uint8_t matrix_coefficients; + uint32_t num_units_in_tick; + uint32_t time_scale; + uint8_t max_num_reorder_frames; + uint8_t max_dec_frame_buffering; + uint8_t chroma_sample_loc_type_top_field; + uint8_t chroma_sample_loc_type_bottom_field; + uint32_t reserved1; + const StdVideoH264HrdParameters* pHrdParameters; +} StdVideoH264SequenceParameterSetVui; + +typedef struct StdVideoH264SpsFlags { + uint32_t constraint_set0_flag : 1; + uint32_t constraint_set1_flag : 1; + uint32_t constraint_set2_flag : 1; + uint32_t constraint_set3_flag : 1; + uint32_t constraint_set4_flag : 1; + uint32_t constraint_set5_flag : 1; + uint32_t direct_8x8_inference_flag : 1; + uint32_t mb_adaptive_frame_field_flag : 1; + uint32_t frame_mbs_only_flag : 1; + uint32_t delta_pic_order_always_zero_flag : 1; + uint32_t separate_colour_plane_flag : 1; + uint32_t gaps_in_frame_num_value_allowed_flag : 1; + uint32_t qpprime_y_zero_transform_bypass_flag : 1; + uint32_t frame_cropping_flag : 1; + uint32_t seq_scaling_matrix_present_flag : 1; + uint32_t vui_parameters_present_flag : 1; +} StdVideoH264SpsFlags; + +typedef struct StdVideoH264ScalingLists { + uint16_t scaling_list_present_mask; + uint16_t use_default_scaling_matrix_mask; + uint8_t ScalingList4x4[STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS][STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS]; + uint8_t ScalingList8x8[STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS][STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS]; +} StdVideoH264ScalingLists; + +typedef struct StdVideoH264SequenceParameterSet { + StdVideoH264SpsFlags flags; + StdVideoH264ProfileIdc profile_idc; + StdVideoH264LevelIdc level_idc; + StdVideoH264ChromaFormatIdc chroma_format_idc; + uint8_t seq_parameter_set_id; + uint8_t bit_depth_luma_minus8; + uint8_t bit_depth_chroma_minus8; + uint8_t log2_max_frame_num_minus4; + StdVideoH264PocType pic_order_cnt_type; + int32_t offset_for_non_ref_pic; + int32_t offset_for_top_to_bottom_field; + uint8_t log2_max_pic_order_cnt_lsb_minus4; + uint8_t num_ref_frames_in_pic_order_cnt_cycle; + uint8_t max_num_ref_frames; + uint8_t reserved1; + uint32_t pic_width_in_mbs_minus1; + uint32_t pic_height_in_map_units_minus1; + uint32_t frame_crop_left_offset; + uint32_t frame_crop_right_offset; + uint32_t frame_crop_top_offset; + uint32_t frame_crop_bottom_offset; + uint32_t reserved2; + const int32_t* pOffsetForRefFrame; + const StdVideoH264ScalingLists* pScalingLists; + const StdVideoH264SequenceParameterSetVui* pSequenceParameterSetVui; +} StdVideoH264SequenceParameterSet; + +typedef struct StdVideoH264PpsFlags { + uint32_t transform_8x8_mode_flag : 1; + uint32_t redundant_pic_cnt_present_flag : 1; + uint32_t constrained_intra_pred_flag : 1; + uint32_t deblocking_filter_control_present_flag : 1; + uint32_t weighted_pred_flag : 1; + uint32_t bottom_field_pic_order_in_frame_present_flag : 1; + uint32_t entropy_coding_mode_flag : 1; + uint32_t pic_scaling_matrix_present_flag : 1; +} StdVideoH264PpsFlags; + +typedef struct StdVideoH264PictureParameterSet { + StdVideoH264PpsFlags flags; + uint8_t seq_parameter_set_id; + uint8_t pic_parameter_set_id; + uint8_t num_ref_idx_l0_default_active_minus1; + uint8_t num_ref_idx_l1_default_active_minus1; + StdVideoH264WeightedBipredIdc weighted_bipred_idc; + int8_t pic_init_qp_minus26; + int8_t pic_init_qs_minus26; + int8_t chroma_qp_index_offset; + int8_t second_chroma_qp_index_offset; + const StdVideoH264ScalingLists* pScalingLists; +} StdVideoH264PictureParameterSet; + + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/glad/files/vulkan_video_codec_h264std_decode.h b/glad/files/vulkan_video_codec_h264std_decode.h new file mode 100644 index 00000000..f7eb8edb --- /dev/null +++ b/glad/files/vulkan_video_codec_h264std_decode.h @@ -0,0 +1,75 @@ +#ifndef VULKAN_VIDEO_CODEC_H264STD_DECODE_H_ +#define VULKAN_VIDEO_CODEC_H264STD_DECODE_H_ 1 + +/* +** Copyright 2015-2023 The Khronos Group Inc. +** +** SPDX-License-Identifier: Apache-2.0 +*/ + +/* +** This header is generated from the Khronos Vulkan XML API Registry. +** +*/ + + +#ifdef __cplusplus +extern "C" { +#endif + + + +#define vulkan_video_codec_h264std_decode 1 + +#define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_1_0_0 VK_MAKE_VIDEO_STD_VERSION(1, 0, 0) + +#define STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE 2 +#define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_1_0_0 +#define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264_decode" + +typedef enum StdVideoDecodeH264FieldOrderCount { + STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_TOP = 0, + STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_BOTTOM = 1, + STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_INVALID = 0x7FFFFFFF, + STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_MAX_ENUM = 0x7FFFFFFF +} StdVideoDecodeH264FieldOrderCount; +typedef struct StdVideoDecodeH264PictureInfoFlags { + uint32_t field_pic_flag : 1; + uint32_t is_intra : 1; + uint32_t IdrPicFlag : 1; + uint32_t bottom_field_flag : 1; + uint32_t is_reference : 1; + uint32_t complementary_field_pair : 1; +} StdVideoDecodeH264PictureInfoFlags; + +typedef struct StdVideoDecodeH264PictureInfo { + StdVideoDecodeH264PictureInfoFlags flags; + uint8_t seq_parameter_set_id; + uint8_t pic_parameter_set_id; + uint8_t reserved1; + uint8_t reserved2; + uint16_t frame_num; + uint16_t idr_pic_id; + int32_t PicOrderCnt[STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE]; +} StdVideoDecodeH264PictureInfo; + +typedef struct StdVideoDecodeH264ReferenceInfoFlags { + uint32_t top_field_flag : 1; + uint32_t bottom_field_flag : 1; + uint32_t used_for_long_term_reference : 1; + uint32_t is_non_existing : 1; +} StdVideoDecodeH264ReferenceInfoFlags; + +typedef struct StdVideoDecodeH264ReferenceInfo { + StdVideoDecodeH264ReferenceInfoFlags flags; + uint16_t FrameNum; + uint16_t reserved; + int32_t PicOrderCnt[STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE]; +} StdVideoDecodeH264ReferenceInfo; + + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/glad/files/vulkan_video_codec_h264std_encode.h b/glad/files/vulkan_video_codec_h264std_encode.h new file mode 100644 index 00000000..f7eb8edb --- /dev/null +++ b/glad/files/vulkan_video_codec_h264std_encode.h @@ -0,0 +1,75 @@ +#ifndef VULKAN_VIDEO_CODEC_H264STD_DECODE_H_ +#define VULKAN_VIDEO_CODEC_H264STD_DECODE_H_ 1 + +/* +** Copyright 2015-2023 The Khronos Group Inc. +** +** SPDX-License-Identifier: Apache-2.0 +*/ + +/* +** This header is generated from the Khronos Vulkan XML API Registry. +** +*/ + + +#ifdef __cplusplus +extern "C" { +#endif + + + +#define vulkan_video_codec_h264std_decode 1 + +#define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_1_0_0 VK_MAKE_VIDEO_STD_VERSION(1, 0, 0) + +#define STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE 2 +#define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_1_0_0 +#define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264_decode" + +typedef enum StdVideoDecodeH264FieldOrderCount { + STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_TOP = 0, + STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_BOTTOM = 1, + STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_INVALID = 0x7FFFFFFF, + STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_MAX_ENUM = 0x7FFFFFFF +} StdVideoDecodeH264FieldOrderCount; +typedef struct StdVideoDecodeH264PictureInfoFlags { + uint32_t field_pic_flag : 1; + uint32_t is_intra : 1; + uint32_t IdrPicFlag : 1; + uint32_t bottom_field_flag : 1; + uint32_t is_reference : 1; + uint32_t complementary_field_pair : 1; +} StdVideoDecodeH264PictureInfoFlags; + +typedef struct StdVideoDecodeH264PictureInfo { + StdVideoDecodeH264PictureInfoFlags flags; + uint8_t seq_parameter_set_id; + uint8_t pic_parameter_set_id; + uint8_t reserved1; + uint8_t reserved2; + uint16_t frame_num; + uint16_t idr_pic_id; + int32_t PicOrderCnt[STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE]; +} StdVideoDecodeH264PictureInfo; + +typedef struct StdVideoDecodeH264ReferenceInfoFlags { + uint32_t top_field_flag : 1; + uint32_t bottom_field_flag : 1; + uint32_t used_for_long_term_reference : 1; + uint32_t is_non_existing : 1; +} StdVideoDecodeH264ReferenceInfoFlags; + +typedef struct StdVideoDecodeH264ReferenceInfo { + StdVideoDecodeH264ReferenceInfoFlags flags; + uint16_t FrameNum; + uint16_t reserved; + int32_t PicOrderCnt[STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE]; +} StdVideoDecodeH264ReferenceInfo; + + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/glad/files/vulkan_video_codec_h265std.h b/glad/files/vulkan_video_codec_h265std.h new file mode 100644 index 00000000..4233bdc8 --- /dev/null +++ b/glad/files/vulkan_video_codec_h265std.h @@ -0,0 +1,443 @@ +#ifndef VULKAN_VIDEO_CODEC_H265STD_H_ +#define VULKAN_VIDEO_CODEC_H265STD_H_ 1 + +/* +** Copyright 2015-2023 The Khronos Group Inc. +** +** SPDX-License-Identifier: Apache-2.0 +*/ + +/* +** This header is generated from the Khronos Vulkan XML API Registry. +** +*/ + + +#ifdef __cplusplus +extern "C" { +#endif + + + +#define vulkan_video_codec_h265std 1 +#define STD_VIDEO_H265_SUBLAYERS_LIST_SIZE 7 +#define STD_VIDEO_H265_CPB_CNT_LIST_SIZE 32 +#define STD_VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS 6 +#define STD_VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS 16 +#define STD_VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS 6 +#define STD_VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS 64 +#define STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS 6 +#define STD_VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS 64 +#define STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS 2 +#define STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS 64 +#define STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE 3 +#define STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE 128 +#define STD_VIDEO_H265_MAX_DPB_SIZE 16 +#define STD_VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS 32 +#define STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE 6 +#define STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE 19 +#define STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE 21 +#define STD_VIDEO_H265_MAX_NUM_LIST_REF 15 +#define STD_VIDEO_H265_MAX_CHROMA_PLANES 2 +#define STD_VIDEO_H265_MAX_SHORT_TERM_REF_PIC_SETS 64 +#define STD_VIDEO_H265_MAX_LONG_TERM_PICS 16 +#define STD_VIDEO_H265_MAX_DELTA_POC 48 + +typedef enum StdVideoH265ChromaFormatIdc { + STD_VIDEO_H265_CHROMA_FORMAT_IDC_MONOCHROME = 0, + STD_VIDEO_H265_CHROMA_FORMAT_IDC_420 = 1, + STD_VIDEO_H265_CHROMA_FORMAT_IDC_422 = 2, + STD_VIDEO_H265_CHROMA_FORMAT_IDC_444 = 3, + STD_VIDEO_H265_CHROMA_FORMAT_IDC_INVALID = 0x7FFFFFFF, + STD_VIDEO_H265_CHROMA_FORMAT_IDC_MAX_ENUM = 0x7FFFFFFF +} StdVideoH265ChromaFormatIdc; + +typedef enum StdVideoH265ProfileIdc { + STD_VIDEO_H265_PROFILE_IDC_MAIN = 1, + STD_VIDEO_H265_PROFILE_IDC_MAIN_10 = 2, + STD_VIDEO_H265_PROFILE_IDC_MAIN_STILL_PICTURE = 3, + STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS = 4, + STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS = 9, + STD_VIDEO_H265_PROFILE_IDC_INVALID = 0x7FFFFFFF, + STD_VIDEO_H265_PROFILE_IDC_MAX_ENUM = 0x7FFFFFFF +} StdVideoH265ProfileIdc; + +typedef enum StdVideoH265LevelIdc { + STD_VIDEO_H265_LEVEL_IDC_1_0 = 0, + STD_VIDEO_H265_LEVEL_IDC_2_0 = 1, + STD_VIDEO_H265_LEVEL_IDC_2_1 = 2, + STD_VIDEO_H265_LEVEL_IDC_3_0 = 3, + STD_VIDEO_H265_LEVEL_IDC_3_1 = 4, + STD_VIDEO_H265_LEVEL_IDC_4_0 = 5, + STD_VIDEO_H265_LEVEL_IDC_4_1 = 6, + STD_VIDEO_H265_LEVEL_IDC_5_0 = 7, + STD_VIDEO_H265_LEVEL_IDC_5_1 = 8, + STD_VIDEO_H265_LEVEL_IDC_5_2 = 9, + STD_VIDEO_H265_LEVEL_IDC_6_0 = 10, + STD_VIDEO_H265_LEVEL_IDC_6_1 = 11, + STD_VIDEO_H265_LEVEL_IDC_6_2 = 12, + STD_VIDEO_H265_LEVEL_IDC_INVALID = 0x7FFFFFFF, + STD_VIDEO_H265_LEVEL_IDC_MAX_ENUM = 0x7FFFFFFF +} StdVideoH265LevelIdc; + +typedef enum StdVideoH265SliceType { + STD_VIDEO_H265_SLICE_TYPE_B = 0, + STD_VIDEO_H265_SLICE_TYPE_P = 1, + STD_VIDEO_H265_SLICE_TYPE_I = 2, + STD_VIDEO_H265_SLICE_TYPE_INVALID = 0x7FFFFFFF, + STD_VIDEO_H265_SLICE_TYPE_MAX_ENUM = 0x7FFFFFFF +} StdVideoH265SliceType; + +typedef enum StdVideoH265PictureType { + STD_VIDEO_H265_PICTURE_TYPE_P = 0, + STD_VIDEO_H265_PICTURE_TYPE_B = 1, + STD_VIDEO_H265_PICTURE_TYPE_I = 2, + STD_VIDEO_H265_PICTURE_TYPE_IDR = 3, + STD_VIDEO_H265_PICTURE_TYPE_INVALID = 0x7FFFFFFF, + STD_VIDEO_H265_PICTURE_TYPE_MAX_ENUM = 0x7FFFFFFF +} StdVideoH265PictureType; + +typedef enum StdVideoH265AspectRatioIdc { + STD_VIDEO_H265_ASPECT_RATIO_IDC_UNSPECIFIED = 0, + STD_VIDEO_H265_ASPECT_RATIO_IDC_SQUARE = 1, + STD_VIDEO_H265_ASPECT_RATIO_IDC_12_11 = 2, + STD_VIDEO_H265_ASPECT_RATIO_IDC_10_11 = 3, + STD_VIDEO_H265_ASPECT_RATIO_IDC_16_11 = 4, + STD_VIDEO_H265_ASPECT_RATIO_IDC_40_33 = 5, + STD_VIDEO_H265_ASPECT_RATIO_IDC_24_11 = 6, + STD_VIDEO_H265_ASPECT_RATIO_IDC_20_11 = 7, + STD_VIDEO_H265_ASPECT_RATIO_IDC_32_11 = 8, + STD_VIDEO_H265_ASPECT_RATIO_IDC_80_33 = 9, + STD_VIDEO_H265_ASPECT_RATIO_IDC_18_11 = 10, + STD_VIDEO_H265_ASPECT_RATIO_IDC_15_11 = 11, + STD_VIDEO_H265_ASPECT_RATIO_IDC_64_33 = 12, + STD_VIDEO_H265_ASPECT_RATIO_IDC_160_99 = 13, + STD_VIDEO_H265_ASPECT_RATIO_IDC_4_3 = 14, + STD_VIDEO_H265_ASPECT_RATIO_IDC_3_2 = 15, + STD_VIDEO_H265_ASPECT_RATIO_IDC_2_1 = 16, + STD_VIDEO_H265_ASPECT_RATIO_IDC_EXTENDED_SAR = 255, + STD_VIDEO_H265_ASPECT_RATIO_IDC_INVALID = 0x7FFFFFFF, + STD_VIDEO_H265_ASPECT_RATIO_IDC_MAX_ENUM = 0x7FFFFFFF +} StdVideoH265AspectRatioIdc; +typedef struct StdVideoH265DecPicBufMgr { + uint32_t max_latency_increase_plus1[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE]; + uint8_t max_dec_pic_buffering_minus1[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE]; + uint8_t max_num_reorder_pics[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE]; +} StdVideoH265DecPicBufMgr; + +typedef struct StdVideoH265SubLayerHrdParameters { + uint32_t bit_rate_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE]; + uint32_t cpb_size_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE]; + uint32_t cpb_size_du_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE]; + uint32_t bit_rate_du_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE]; + uint32_t cbr_flag; +} StdVideoH265SubLayerHrdParameters; + +typedef struct StdVideoH265HrdFlags { + uint32_t nal_hrd_parameters_present_flag : 1; + uint32_t vcl_hrd_parameters_present_flag : 1; + uint32_t sub_pic_hrd_params_present_flag : 1; + uint32_t sub_pic_cpb_params_in_pic_timing_sei_flag : 1; + uint32_t fixed_pic_rate_general_flag : 8; + uint32_t fixed_pic_rate_within_cvs_flag : 8; + uint32_t low_delay_hrd_flag : 8; +} StdVideoH265HrdFlags; + +typedef struct StdVideoH265HrdParameters { + StdVideoH265HrdFlags flags; + uint8_t tick_divisor_minus2; + uint8_t du_cpb_removal_delay_increment_length_minus1; + uint8_t dpb_output_delay_du_length_minus1; + uint8_t bit_rate_scale; + uint8_t cpb_size_scale; + uint8_t cpb_size_du_scale; + uint8_t initial_cpb_removal_delay_length_minus1; + uint8_t au_cpb_removal_delay_length_minus1; + uint8_t dpb_output_delay_length_minus1; + uint8_t cpb_cnt_minus1[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE]; + uint16_t elemental_duration_in_tc_minus1[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE]; + uint16_t reserved[3]; + const StdVideoH265SubLayerHrdParameters* pSubLayerHrdParametersNal; + const StdVideoH265SubLayerHrdParameters* pSubLayerHrdParametersVcl; +} StdVideoH265HrdParameters; + +typedef struct StdVideoH265VpsFlags { + uint32_t vps_temporal_id_nesting_flag : 1; + uint32_t vps_sub_layer_ordering_info_present_flag : 1; + uint32_t vps_timing_info_present_flag : 1; + uint32_t vps_poc_proportional_to_timing_flag : 1; +} StdVideoH265VpsFlags; + +typedef struct StdVideoH265ProfileTierLevelFlags { + uint32_t general_tier_flag : 1; + uint32_t general_progressive_source_flag : 1; + uint32_t general_interlaced_source_flag : 1; + uint32_t general_non_packed_constraint_flag : 1; + uint32_t general_frame_only_constraint_flag : 1; +} StdVideoH265ProfileTierLevelFlags; + +typedef struct StdVideoH265ProfileTierLevel { + StdVideoH265ProfileTierLevelFlags flags; + StdVideoH265ProfileIdc general_profile_idc; + StdVideoH265LevelIdc general_level_idc; +} StdVideoH265ProfileTierLevel; + +typedef struct StdVideoH265VideoParameterSet { + StdVideoH265VpsFlags flags; + uint8_t vps_video_parameter_set_id; + uint8_t vps_max_sub_layers_minus1; + uint8_t reserved1; + uint8_t reserved2; + uint32_t vps_num_units_in_tick; + uint32_t vps_time_scale; + uint32_t vps_num_ticks_poc_diff_one_minus1; + uint32_t reserved3; + const StdVideoH265DecPicBufMgr* pDecPicBufMgr; + const StdVideoH265HrdParameters* pHrdParameters; + const StdVideoH265ProfileTierLevel* pProfileTierLevel; +} StdVideoH265VideoParameterSet; + +typedef struct StdVideoH265ScalingLists { + uint8_t ScalingList4x4[STD_VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS]; + uint8_t ScalingList8x8[STD_VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS]; + uint8_t ScalingList16x16[STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS]; + uint8_t ScalingList32x32[STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS]; + uint8_t ScalingListDCCoef16x16[STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS]; + uint8_t ScalingListDCCoef32x32[STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS]; +} StdVideoH265ScalingLists; + +typedef struct StdVideoH265SpsVuiFlags { + uint32_t aspect_ratio_info_present_flag : 1; + uint32_t overscan_info_present_flag : 1; + uint32_t overscan_appropriate_flag : 1; + uint32_t video_signal_type_present_flag : 1; + uint32_t video_full_range_flag : 1; + uint32_t colour_description_present_flag : 1; + uint32_t chroma_loc_info_present_flag : 1; + uint32_t neutral_chroma_indication_flag : 1; + uint32_t field_seq_flag : 1; + uint32_t frame_field_info_present_flag : 1; + uint32_t default_display_window_flag : 1; + uint32_t vui_timing_info_present_flag : 1; + uint32_t vui_poc_proportional_to_timing_flag : 1; + uint32_t vui_hrd_parameters_present_flag : 1; + uint32_t bitstream_restriction_flag : 1; + uint32_t tiles_fixed_structure_flag : 1; + uint32_t motion_vectors_over_pic_boundaries_flag : 1; + uint32_t restricted_ref_pic_lists_flag : 1; +} StdVideoH265SpsVuiFlags; + +typedef struct StdVideoH265SequenceParameterSetVui { + StdVideoH265SpsVuiFlags flags; + StdVideoH265AspectRatioIdc aspect_ratio_idc; + uint16_t sar_width; + uint16_t sar_height; + uint8_t video_format; + uint8_t colour_primaries; + uint8_t transfer_characteristics; + uint8_t matrix_coeffs; + uint8_t chroma_sample_loc_type_top_field; + uint8_t chroma_sample_loc_type_bottom_field; + uint8_t reserved1; + uint8_t reserved2; + uint16_t def_disp_win_left_offset; + uint16_t def_disp_win_right_offset; + uint16_t def_disp_win_top_offset; + uint16_t def_disp_win_bottom_offset; + uint32_t vui_num_units_in_tick; + uint32_t vui_time_scale; + uint32_t vui_num_ticks_poc_diff_one_minus1; + uint16_t min_spatial_segmentation_idc; + uint16_t reserved3; + uint8_t max_bytes_per_pic_denom; + uint8_t max_bits_per_min_cu_denom; + uint8_t log2_max_mv_length_horizontal; + uint8_t log2_max_mv_length_vertical; + const StdVideoH265HrdParameters* pHrdParameters; +} StdVideoH265SequenceParameterSetVui; + +typedef struct StdVideoH265PredictorPaletteEntries { + uint16_t PredictorPaletteEntries[STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE][STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE]; +} StdVideoH265PredictorPaletteEntries; + +typedef struct StdVideoH265SpsFlags { + uint32_t sps_temporal_id_nesting_flag : 1; + uint32_t separate_colour_plane_flag : 1; + uint32_t conformance_window_flag : 1; + uint32_t sps_sub_layer_ordering_info_present_flag : 1; + uint32_t scaling_list_enabled_flag : 1; + uint32_t sps_scaling_list_data_present_flag : 1; + uint32_t amp_enabled_flag : 1; + uint32_t sample_adaptive_offset_enabled_flag : 1; + uint32_t pcm_enabled_flag : 1; + uint32_t pcm_loop_filter_disabled_flag : 1; + uint32_t long_term_ref_pics_present_flag : 1; + uint32_t sps_temporal_mvp_enabled_flag : 1; + uint32_t strong_intra_smoothing_enabled_flag : 1; + uint32_t vui_parameters_present_flag : 1; + uint32_t sps_extension_present_flag : 1; + uint32_t sps_range_extension_flag : 1; + uint32_t transform_skip_rotation_enabled_flag : 1; + uint32_t transform_skip_context_enabled_flag : 1; + uint32_t implicit_rdpcm_enabled_flag : 1; + uint32_t explicit_rdpcm_enabled_flag : 1; + uint32_t extended_precision_processing_flag : 1; + uint32_t intra_smoothing_disabled_flag : 1; + uint32_t high_precision_offsets_enabled_flag : 1; + uint32_t persistent_rice_adaptation_enabled_flag : 1; + uint32_t cabac_bypass_alignment_enabled_flag : 1; + uint32_t sps_scc_extension_flag : 1; + uint32_t sps_curr_pic_ref_enabled_flag : 1; + uint32_t palette_mode_enabled_flag : 1; + uint32_t sps_palette_predictor_initializers_present_flag : 1; + uint32_t intra_boundary_filtering_disabled_flag : 1; +} StdVideoH265SpsFlags; + +typedef struct StdVideoH265ShortTermRefPicSetFlags { + uint32_t inter_ref_pic_set_prediction_flag : 1; + uint32_t delta_rps_sign : 1; +} StdVideoH265ShortTermRefPicSetFlags; + +typedef struct StdVideoH265ShortTermRefPicSet { + StdVideoH265ShortTermRefPicSetFlags flags; + uint32_t delta_idx_minus1; + uint16_t use_delta_flag; + uint16_t abs_delta_rps_minus1; + uint16_t used_by_curr_pic_flag; + uint16_t used_by_curr_pic_s0_flag; + uint16_t used_by_curr_pic_s1_flag; + uint16_t reserved1; + uint8_t reserved2; + uint8_t reserved3; + uint8_t num_negative_pics; + uint8_t num_positive_pics; + uint16_t delta_poc_s0_minus1[STD_VIDEO_H265_MAX_DPB_SIZE]; + uint16_t delta_poc_s1_minus1[STD_VIDEO_H265_MAX_DPB_SIZE]; +} StdVideoH265ShortTermRefPicSet; + +typedef struct StdVideoH265LongTermRefPicsSps { + uint32_t used_by_curr_pic_lt_sps_flag; + uint32_t lt_ref_pic_poc_lsb_sps[STD_VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS]; +} StdVideoH265LongTermRefPicsSps; + +typedef struct StdVideoH265SequenceParameterSet { + StdVideoH265SpsFlags flags; + StdVideoH265ChromaFormatIdc chroma_format_idc; + uint32_t pic_width_in_luma_samples; + uint32_t pic_height_in_luma_samples; + uint8_t sps_video_parameter_set_id; + uint8_t sps_max_sub_layers_minus1; + uint8_t sps_seq_parameter_set_id; + uint8_t bit_depth_luma_minus8; + uint8_t bit_depth_chroma_minus8; + uint8_t log2_max_pic_order_cnt_lsb_minus4; + uint8_t log2_min_luma_coding_block_size_minus3; + uint8_t log2_diff_max_min_luma_coding_block_size; + uint8_t log2_min_luma_transform_block_size_minus2; + uint8_t log2_diff_max_min_luma_transform_block_size; + uint8_t max_transform_hierarchy_depth_inter; + uint8_t max_transform_hierarchy_depth_intra; + uint8_t num_short_term_ref_pic_sets; + uint8_t num_long_term_ref_pics_sps; + uint8_t pcm_sample_bit_depth_luma_minus1; + uint8_t pcm_sample_bit_depth_chroma_minus1; + uint8_t log2_min_pcm_luma_coding_block_size_minus3; + uint8_t log2_diff_max_min_pcm_luma_coding_block_size; + uint8_t reserved1; + uint8_t reserved2; + uint8_t palette_max_size; + uint8_t delta_palette_max_predictor_size; + uint8_t motion_vector_resolution_control_idc; + uint8_t sps_num_palette_predictor_initializers_minus1; + uint32_t conf_win_left_offset; + uint32_t conf_win_right_offset; + uint32_t conf_win_top_offset; + uint32_t conf_win_bottom_offset; + const StdVideoH265ProfileTierLevel* pProfileTierLevel; + const StdVideoH265DecPicBufMgr* pDecPicBufMgr; + const StdVideoH265ScalingLists* pScalingLists; + const StdVideoH265ShortTermRefPicSet* pShortTermRefPicSet; + const StdVideoH265LongTermRefPicsSps* pLongTermRefPicsSps; + const StdVideoH265SequenceParameterSetVui* pSequenceParameterSetVui; + const StdVideoH265PredictorPaletteEntries* pPredictorPaletteEntries; +} StdVideoH265SequenceParameterSet; + +typedef struct StdVideoH265PpsFlags { + uint32_t dependent_slice_segments_enabled_flag : 1; + uint32_t output_flag_present_flag : 1; + uint32_t sign_data_hiding_enabled_flag : 1; + uint32_t cabac_init_present_flag : 1; + uint32_t constrained_intra_pred_flag : 1; + uint32_t transform_skip_enabled_flag : 1; + uint32_t cu_qp_delta_enabled_flag : 1; + uint32_t pps_slice_chroma_qp_offsets_present_flag : 1; + uint32_t weighted_pred_flag : 1; + uint32_t weighted_bipred_flag : 1; + uint32_t transquant_bypass_enabled_flag : 1; + uint32_t tiles_enabled_flag : 1; + uint32_t entropy_coding_sync_enabled_flag : 1; + uint32_t uniform_spacing_flag : 1; + uint32_t loop_filter_across_tiles_enabled_flag : 1; + uint32_t pps_loop_filter_across_slices_enabled_flag : 1; + uint32_t deblocking_filter_control_present_flag : 1; + uint32_t deblocking_filter_override_enabled_flag : 1; + uint32_t pps_deblocking_filter_disabled_flag : 1; + uint32_t pps_scaling_list_data_present_flag : 1; + uint32_t lists_modification_present_flag : 1; + uint32_t slice_segment_header_extension_present_flag : 1; + uint32_t pps_extension_present_flag : 1; + uint32_t cross_component_prediction_enabled_flag : 1; + uint32_t chroma_qp_offset_list_enabled_flag : 1; + uint32_t pps_curr_pic_ref_enabled_flag : 1; + uint32_t residual_adaptive_colour_transform_enabled_flag : 1; + uint32_t pps_slice_act_qp_offsets_present_flag : 1; + uint32_t pps_palette_predictor_initializers_present_flag : 1; + uint32_t monochrome_palette_flag : 1; + uint32_t pps_range_extension_flag : 1; +} StdVideoH265PpsFlags; + +typedef struct StdVideoH265PictureParameterSet { + StdVideoH265PpsFlags flags; + uint8_t pps_pic_parameter_set_id; + uint8_t pps_seq_parameter_set_id; + uint8_t sps_video_parameter_set_id; + uint8_t num_extra_slice_header_bits; + uint8_t num_ref_idx_l0_default_active_minus1; + uint8_t num_ref_idx_l1_default_active_minus1; + int8_t init_qp_minus26; + uint8_t diff_cu_qp_delta_depth; + int8_t pps_cb_qp_offset; + int8_t pps_cr_qp_offset; + int8_t pps_beta_offset_div2; + int8_t pps_tc_offset_div2; + uint8_t log2_parallel_merge_level_minus2; + uint8_t log2_max_transform_skip_block_size_minus2; + uint8_t diff_cu_chroma_qp_offset_depth; + uint8_t chroma_qp_offset_list_len_minus1; + int8_t cb_qp_offset_list[STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE]; + int8_t cr_qp_offset_list[STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE]; + uint8_t log2_sao_offset_scale_luma; + uint8_t log2_sao_offset_scale_chroma; + int8_t pps_act_y_qp_offset_plus5; + int8_t pps_act_cb_qp_offset_plus5; + int8_t pps_act_cr_qp_offset_plus3; + uint8_t pps_num_palette_predictor_initializers; + uint8_t luma_bit_depth_entry_minus8; + uint8_t chroma_bit_depth_entry_minus8; + uint8_t num_tile_columns_minus1; + uint8_t num_tile_rows_minus1; + uint8_t reserved1; + uint8_t reserved2; + uint16_t column_width_minus1[STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE]; + uint16_t row_height_minus1[STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE]; + uint32_t reserved3; + const StdVideoH265ScalingLists* pScalingLists; + const StdVideoH265PredictorPaletteEntries* pPredictorPaletteEntries; +} StdVideoH265PictureParameterSet; + + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/glad/files/vulkan_video_codec_h265std_decode.h b/glad/files/vulkan_video_codec_h265std_decode.h new file mode 100644 index 00000000..7eee9b38 --- /dev/null +++ b/glad/files/vulkan_video_codec_h265std_decode.h @@ -0,0 +1,65 @@ +#ifndef VULKAN_VIDEO_CODEC_H265STD_DECODE_H_ +#define VULKAN_VIDEO_CODEC_H265STD_DECODE_H_ 1 + +/* +** Copyright 2015-2023 The Khronos Group Inc. +** +** SPDX-License-Identifier: Apache-2.0 +*/ + +/* +** This header is generated from the Khronos Vulkan XML API Registry. +** +*/ + + +#ifdef __cplusplus +extern "C" { +#endif + + + +#define vulkan_video_codec_h265std_decode 1 + +#define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_1_0_0 VK_MAKE_VIDEO_STD_VERSION(1, 0, 0) + +#define STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE 8 +#define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_1_0_0 +#define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h265_decode" +typedef struct StdVideoDecodeH265PictureInfoFlags { + uint32_t IrapPicFlag : 1; + uint32_t IdrPicFlag : 1; + uint32_t IsReference : 1; + uint32_t short_term_ref_pic_set_sps_flag : 1; +} StdVideoDecodeH265PictureInfoFlags; + +typedef struct StdVideoDecodeH265PictureInfo { + StdVideoDecodeH265PictureInfoFlags flags; + uint8_t sps_video_parameter_set_id; + uint8_t pps_seq_parameter_set_id; + uint8_t pps_pic_parameter_set_id; + uint8_t NumDeltaPocsOfRefRpsIdx; + int32_t PicOrderCntVal; + uint16_t NumBitsForSTRefPicSetInSlice; + uint16_t reserved; + uint8_t RefPicSetStCurrBefore[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]; + uint8_t RefPicSetStCurrAfter[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]; + uint8_t RefPicSetLtCurr[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]; +} StdVideoDecodeH265PictureInfo; + +typedef struct StdVideoDecodeH265ReferenceInfoFlags { + uint32_t used_for_long_term_reference : 1; + uint32_t unused_for_reference : 1; +} StdVideoDecodeH265ReferenceInfoFlags; + +typedef struct StdVideoDecodeH265ReferenceInfo { + StdVideoDecodeH265ReferenceInfoFlags flags; + int32_t PicOrderCntVal; +} StdVideoDecodeH265ReferenceInfo; + + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/glad/files/vulkan_video_codec_h265std_encode.h b/glad/files/vulkan_video_codec_h265std_encode.h new file mode 100644 index 00000000..7eee9b38 --- /dev/null +++ b/glad/files/vulkan_video_codec_h265std_encode.h @@ -0,0 +1,65 @@ +#ifndef VULKAN_VIDEO_CODEC_H265STD_DECODE_H_ +#define VULKAN_VIDEO_CODEC_H265STD_DECODE_H_ 1 + +/* +** Copyright 2015-2023 The Khronos Group Inc. +** +** SPDX-License-Identifier: Apache-2.0 +*/ + +/* +** This header is generated from the Khronos Vulkan XML API Registry. +** +*/ + + +#ifdef __cplusplus +extern "C" { +#endif + + + +#define vulkan_video_codec_h265std_decode 1 + +#define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_1_0_0 VK_MAKE_VIDEO_STD_VERSION(1, 0, 0) + +#define STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE 8 +#define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_1_0_0 +#define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h265_decode" +typedef struct StdVideoDecodeH265PictureInfoFlags { + uint32_t IrapPicFlag : 1; + uint32_t IdrPicFlag : 1; + uint32_t IsReference : 1; + uint32_t short_term_ref_pic_set_sps_flag : 1; +} StdVideoDecodeH265PictureInfoFlags; + +typedef struct StdVideoDecodeH265PictureInfo { + StdVideoDecodeH265PictureInfoFlags flags; + uint8_t sps_video_parameter_set_id; + uint8_t pps_seq_parameter_set_id; + uint8_t pps_pic_parameter_set_id; + uint8_t NumDeltaPocsOfRefRpsIdx; + int32_t PicOrderCntVal; + uint16_t NumBitsForSTRefPicSetInSlice; + uint16_t reserved; + uint8_t RefPicSetStCurrBefore[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]; + uint8_t RefPicSetStCurrAfter[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]; + uint8_t RefPicSetLtCurr[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]; +} StdVideoDecodeH265PictureInfo; + +typedef struct StdVideoDecodeH265ReferenceInfoFlags { + uint32_t used_for_long_term_reference : 1; + uint32_t unused_for_reference : 1; +} StdVideoDecodeH265ReferenceInfoFlags; + +typedef struct StdVideoDecodeH265ReferenceInfo { + StdVideoDecodeH265ReferenceInfoFlags flags; + int32_t PicOrderCntVal; +} StdVideoDecodeH265ReferenceInfo; + + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/glad/generator/c/__init__.py b/glad/generator/c/__init__.py index 16ab283e..e662f87a 100644 --- a/glad/generator/c/__init__.py +++ b/glad/generator/c/__init__.py @@ -268,7 +268,37 @@ class CGenerator(JinjaGenerator): Header( 'vk_platform', 'vk_platform.h', - 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Docs/main/include/vulkan/vk_platform.h' + 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vk_platform.h' + ), + Header( + 'vk_video/vulkan_video_codec_h264std.h', + 'vk_video/vulkan_video_codec_h264std.h', + 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codec_h264std.h' + ), + Header( + 'vk_video/vulkan_video_codec_h264std_decode.h', + 'vk_video/vulkan_video_codec_h264std_decode.h', + 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codec_h264std_decode.h' + ), + Header( + 'vk_video/vulkan_video_codec_h264std_encode.h', + 'vk_video/vulkan_video_codec_h264std_encode.h', + 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codec_h264std_encode.h' + ), + Header( + 'vk_video/vulkan_video_codec_h265std.h', + 'vk_video/vulkan_video_codec_h265std.h', + 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codec_h265std.h' + ), + Header( + 'vk_video/vulkan_video_codec_h265std_decode.h', + 'vk_video/vulkan_video_codec_h265std_decode.h', + 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codec_h265std_decode.h' + ), + Header( + 'vk_video/vulkan_video_codec_h265std_encode.h', + 'vk_video/vulkan_video_codec_h265std_encode.h', + 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codec_h265std_encode.h' ), ] diff --git a/glad/parse.py b/glad/parse.py index 3396da3c..69e46d59 100644 --- a/glad/parse.py +++ b/glad/parse.py @@ -315,16 +315,10 @@ def types(self): for element in filter(lambda e: e.tag == 'type', iter(self.root.find('types'))): name = element.get('name') or element.find('name').text - if name == 'VkAccelerationStructureTypeNV': - print('asd', element.get('category')) - if element.get('category') != 'enum': types.setdefault(name, list()).extend(Type.from_element(element)) continue - if name == 'VkAccelerationStructureTypeNV': - print('yo', element.get('category')) - # Enum special handling enums_element = self.root.findall('.//enums[@type][@name="{}"]'.format(name)) if len(enums_element) == 0: diff --git a/test/rust/compile/vulkan/default/001/test.rs b/test/rust/compile/vulkan/default/001/test.rs index 22ee6a6a..92bcb6bb 100644 --- a/test/rust/compile/vulkan/default/001/test.rs +++ b/test/rust/compile/vulkan/default/001/test.rs @@ -2,7 +2,7 @@ /** * Full VK should compile * - * GLAD: $GLAD --out-path=$tmp --api="vulkan=" rust + * GLAD: $GLAD --out-path=$tmp --api="vulkan=" --extensions="VK_KHR_swapchain,VK_NV_external_memory_win32,VK_MVK_macos_surface,VK_KHR_wayland_surface,VK_NN_vi_surface,VK_MVK_ios_surface,VK_EXT_acquire_xlib_display,VK_KHR_xcb_surface,VK_ANDROID_external_memory_android_hardware_buffer" rust * COMPILE: cp -r $test_dir/. $tmp && cd $tmp && cargo build * RUN: cargo run */ diff --git a/utility/download.sh b/utility/download.sh index f6ee8f1f..a9e08b12 100755 --- a/utility/download.sh +++ b/utility/download.sh @@ -29,3 +29,17 @@ wget -O "${TARGET}/eglplatform.h" https://raw.githubusercontent.com/KhronosGroup rm -f "${TARGET}/vk_platform.h" wget -O "${TARGET}/vk_platform.h" https://raw.githubusercontent.com/KhronosGroup/Vulkan-Docs/main/include/vulkan/vk_platform.h + +rm -f "${TARGET}/vulkan_video_codec_h264std.h" +wget -O "${TARGET}/vulkan_video_codec_h264std.h" https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codec_h264std.h +rm -f "${TARGET}/vulkan_video_codec_h264std_decode.h" +wget -O "${TARGET}/vulkan_video_codec_h264std_decode.h" https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codec_h264std_decode.h +rm -f "${TARGET}/vulkan_video_codec_h264std_encode.h" +wget -O "${TARGET}/vulkan_video_codec_h264std_encode.h" https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codec_h264std_decode.h + +rm -f "${TARGET}/vulkan_video_codec_h265std.h" +wget -O "${TARGET}/vulkan_video_codec_h265std.h" https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codec_h265std.h +rm -f "${TARGET}/vulkan_video_codec_h265std_decode.h" +wget -O "${TARGET}/vulkan_video_codec_h265std_decode.h" https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codec_h265std_decode.h +rm -f "${TARGET}/vulkan_video_codec_h265std_encode.h" +wget -O "${TARGET}/vulkan_video_codec_h265std_encode.h" https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codec_h265std_decode.h From d08b1aa01f8fe57498f04d47b5fa8c48725be877 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Fri, 17 Feb 2023 20:03:16 +0100 Subject: [PATCH 092/138] setup: Bumped version: 2.0.4. --- glad/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glad/__init__.py b/glad/__init__.py index 3fe9f6fb..9597bab8 100644 --- a/glad/__init__.py +++ b/glad/__init__.py @@ -1,3 +1,3 @@ -__version__ = '2.0.3' +__version__ = '2.0.4' From 3b95bf4f9a7a034374092d625e391ddac43fe66f Mon Sep 17 00:00:00 2001 From: David Herberth Date: Sat, 18 Feb 2023 09:00:58 +0100 Subject: [PATCH 093/138] glad: removes rogue print statement --- glad/parse.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/glad/parse.py b/glad/parse.py index 69e46d59..692438ae 100644 --- a/glad/parse.py +++ b/glad/parse.py @@ -336,10 +336,6 @@ def types(self): # Copy the type for each API it is used in apis = set(e.get('api') for e in self.root.findall('.//require/enum[@extends="{}"]'.format(name))) - - if name == 'VkAccelerationStructureTypeNV': - print(Type.from_element(element), apis or [None], enums_element) - for api in apis or [None]: # Hack: Enum Type always returns only one element, # because we do the special handling here From 1377964bbb8f30e489e18a016b4b4ef46b5646e4 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Tue, 4 Apr 2023 17:28:58 +0200 Subject: [PATCH 094/138] c: fixes broken newlines in headers when loaded with CRLF line endings closes: #423 --- glad/generator/c/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glad/generator/c/__init__.py b/glad/generator/c/__init__.py index e662f87a..cedfad8d 100644 --- a/glad/generator/c/__init__.py +++ b/glad/generator/c/__init__.py @@ -196,7 +196,7 @@ def resolve(target): return resolve(member.alias) -_CPP_STYLE_COMMENT_RE = re.compile(r'(^|\s|\))//(?P.*)$', flags=re.MULTILINE) +_CPP_STYLE_COMMENT_RE = re.compile(r'(^|\s|\))//(?P[^\r^\n]*)$', flags=re.MULTILINE) def replace_cpp_style_comments(inp): From 2348b07c1ab4504d60398713781d8a57880234fa Mon Sep 17 00:00:00 2001 From: David Herberth Date: Tue, 4 Apr 2023 17:57:32 +0200 Subject: [PATCH 095/138] c: actually fixes newline issue in headers actually fixes the regex (removes leftover '$'), writes as binary and no longer in text mode to prevent newline replacement gh: #423 --- glad/generator/c/__init__.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/glad/generator/c/__init__.py b/glad/generator/c/__init__.py index cedfad8d..3d230f47 100644 --- a/glad/generator/c/__init__.py +++ b/glad/generator/c/__init__.py @@ -196,7 +196,7 @@ def resolve(target): return resolve(member.alias) -_CPP_STYLE_COMMENT_RE = re.compile(r'(^|\s|\))//(?P[^\r^\n]*)$', flags=re.MULTILINE) +_CPP_STYLE_COMMENT_RE = re.compile(r'(^|\s|\))//(?P[^\r^\n]*)', flags=re.MULTILINE) def replace_cpp_style_comments(inp): @@ -491,8 +491,8 @@ def _add_additional_headers(self, feature_set, config): if not os.path.exists(path): content = self._read_header(header.url) - with open(path, 'w') as dest: - dest.write(content) + with open(path, 'wb') as dest: + dest.write(content.encode('utf-8')) def _read_header(self, url): if url not in self._headers: From 08eb15c45fa2692627ce0664401a9d2595c67192 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Tue, 26 Dec 2023 18:17:02 +0100 Subject: [PATCH 096/138] c: fixes merged gl loaders --- glad/generator/c/templates/loader/gl.c | 17 +++++++++-------- glad/generator/c/templates/loader/gles1.c | 17 +++++++++-------- glad/generator/c/templates/loader/gles2.c | 17 +++++++++-------- glad/generator/c/templates/loader/vulkan.c | 17 +++++++++-------- glad/generator/c/templates/template_utils.h | 4 ++-- 5 files changed, 38 insertions(+), 34 deletions(-) diff --git a/glad/generator/c/templates/loader/gl.c b/glad/generator/c/templates/loader/gl.c index 9da45e41..5d0b9cb9 100644 --- a/glad/generator/c/templates/loader/gl.c +++ b/glad/generator/c/templates/loader/gl.c @@ -1,6 +1,7 @@ {% import "template_utils.h" as template_utils with context %} #ifdef GLAD_GL +{% set loader_handle = template_utils.handle('gl') %} {% include 'loader/library.c' %} typedef void* (GLAD_API_PTR *GLADglprocaddrfunc)(const char*); @@ -24,7 +25,7 @@ static GLADapiproc glad_gl_get_proc(void *vuserptr, const char *name) { } {% if not options.mx %} -static void* {{ template_utils.handle() }} = NULL; +static void* {{ loader_handle }} = NULL; {% endif %} static void* glad_gl_dlopen_handle({{ template_utils.context_arg(def='void') }}) { @@ -47,11 +48,11 @@ static void* glad_gl_dlopen_handle({{ template_utils.context_arg(def='void') }}) }; #endif - if ({{ template_utils.handle() }} == NULL) { - {{ template_utils.handle() }} = glad_get_dlopen_handle(NAMES, sizeof(NAMES) / sizeof(NAMES[0])); + if ({{ loader_handle }} == NULL) { + {{ loader_handle }} = glad_get_dlopen_handle(NAMES, sizeof(NAMES) / sizeof(NAMES[0])); } - return {{ template_utils.handle() }}; + return {{ loader_handle }}; } static struct _glad_gl_userptr glad_gl_build_userptr(void *handle) { @@ -78,7 +79,7 @@ int gladLoaderLoadGL{{ 'Context' if options.mx }}({{ template_utils.context_arg( int did_load = 0; struct _glad_gl_userptr userptr; - did_load = {{ template_utils.handle() }} == NULL; + did_load = {{ loader_handle }} == NULL; handle = glad_gl_dlopen_handle({{ 'context' if options.mx }}); if (handle) { userptr = glad_gl_build_userptr(handle); @@ -112,9 +113,9 @@ int gladLoaderLoadGL(void) { {% endif %} void gladLoaderUnloadGL{{ 'Context' if options.mx }}({{ template_utils.context_arg(def='void') }}) { - if ({{ template_utils.handle() }} != NULL) { - glad_close_dlopen_handle({{ template_utils.handle() }}); - {{ template_utils.handle() }} = NULL; + if ({{ loader_handle }} != NULL) { + glad_close_dlopen_handle({{ loader_handle }}); + {{ loader_handle }} = NULL; {% if options.on_demand %} glad_gl_internal_loader_global_userptr.handle = NULL; {% endif %} diff --git a/glad/generator/c/templates/loader/gles1.c b/glad/generator/c/templates/loader/gles1.c index b6f8cf71..68195c27 100644 --- a/glad/generator/c/templates/loader/gles1.c +++ b/glad/generator/c/templates/loader/gles1.c @@ -1,6 +1,7 @@ {% import "template_utils.h" as template_utils with context %} #ifdef GLAD_GLES1 +{% set loader_handle = template_utils.handle('gles1') %} {% include 'loader/library.c' %} #include @@ -25,7 +26,7 @@ static GLADapiproc glad_gles1_get_proc(void *vuserptr, const char* name) { } {% if not options.mx %} -static void* {{ template_utils.handle() }} = NULL; +static void* {{ loader_handle }} = NULL; {% endif %} static void* glad_gles1_dlopen_handle({{ template_utils.context_arg(def='void') }}) { @@ -37,11 +38,11 @@ static void* glad_gles1_dlopen_handle({{ template_utils.context_arg(def='void') static const char *NAMES[] = {"libGLESv1_CM.so.1", "libGLESv1_CM.so", "libGLES_CM.so.1"}; #endif - if ({{ template_utils.handle() }} == NULL) { - {{ template_utils.handle() }} = glad_get_dlopen_handle(NAMES, sizeof(NAMES) / sizeof(NAMES[0])); + if ({{ loader_handle }} == NULL) { + {{ loader_handle }} = glad_get_dlopen_handle(NAMES, sizeof(NAMES) / sizeof(NAMES[0])); } - return {{ template_utils.handle() }}; + return {{ loader_handle }}; } static struct _glad_gles1_userptr glad_gles1_build_userptr(void *handle) { @@ -62,7 +63,7 @@ int gladLoaderLoadGLES1{{ 'Context' if options.mx }}({{ template_utils.context_a return 0; } - did_load = {{ template_utils.handle() }} == NULL; + did_load = {{ loader_handle }} == NULL; handle = glad_gles1_dlopen_handle({{ 'context' if options.mx }}); if (handle != NULL) { userptr = glad_gles1_build_userptr(handle); @@ -96,9 +97,9 @@ int gladLoaderLoadGLES1(void) { {% endif %} void gladLoaderUnloadGLES1{{ 'Context' if options.mx }}({{ template_utils.context_arg(def='void') }}) { - if ({{ template_utils.handle() }} != NULL) { - glad_close_dlopen_handle({{ template_utils.handle() }}); - {{ template_utils.handle() }} = NULL; + if ({{ loader_handle }} != NULL) { + glad_close_dlopen_handle({{ loader_handle }}); + {{ loader_handle }} = NULL; {% if options.on_demand %} glad_gles1_internal_loader_global_userptr.handle = NULL; {% endif %} diff --git a/glad/generator/c/templates/loader/gles2.c b/glad/generator/c/templates/loader/gles2.c index 57f8f2e4..04fc78cc 100644 --- a/glad/generator/c/templates/loader/gles2.c +++ b/glad/generator/c/templates/loader/gles2.c @@ -1,6 +1,7 @@ {% import "template_utils.h" as template_utils with context %} #ifdef GLAD_GLES2 +{% set loader_handle = template_utils.handle('gles2') %} {% include 'loader/library.c' %} #if GLAD_PLATFORM_EMSCRIPTEN @@ -38,7 +39,7 @@ static GLADapiproc glad_gles2_get_proc(void *vuserptr, const char* name) { } {% if not options.mx %} -static void* {{ template_utils.handle() }} = NULL; +static void* {{ loader_handle }} = NULL; {% endif %} static void* glad_gles2_dlopen_handle({{ template_utils.context_arg(def='void') }}) { @@ -55,11 +56,11 @@ static void* glad_gles2_dlopen_handle({{ template_utils.context_arg(def='void') GLAD_UNUSED(glad_get_dlopen_handle); return NULL; #else - if ({{ template_utils.handle() }} == NULL) { - {{ template_utils.handle() }} = glad_get_dlopen_handle(NAMES, sizeof(NAMES) / sizeof(NAMES[0])); + if ({{ loader_handle }} == NULL) { + {{ loader_handle }} = glad_get_dlopen_handle(NAMES, sizeof(NAMES) / sizeof(NAMES[0])); } - return {{ template_utils.handle() }}; + return {{ loader_handle }}; #endif } @@ -94,7 +95,7 @@ int gladLoaderLoadGLES2{{ 'Context' if options.mx }}({{ template_utils.context_a return 0; } - did_load = {{ template_utils.handle() }} == NULL; + did_load = {{ loader_handle }} == NULL; handle = glad_gles2_dlopen_handle({{ 'context' if options.mx }}); if (handle != NULL) { userptr = glad_gles2_build_userptr(handle); @@ -129,9 +130,9 @@ int gladLoaderLoadGLES2(void) { {% endif %} void gladLoaderUnloadGLES2{{ 'Context' if options.mx }}({{ template_utils.context_arg(def='void') }}) { - if ({{ template_utils.handle() }} != NULL) { - glad_close_dlopen_handle({{ template_utils.handle() }}); - {{ template_utils.handle() }} = NULL; + if ({{ loader_handle }} != NULL) { + glad_close_dlopen_handle({{ loader_handle }}); + {{ loader_handle }} = NULL; {% if options.on_demand %} glad_gles2_internal_loader_global_userptr.get_proc_address_ptr = NULL; {% endif %} diff --git a/glad/generator/c/templates/loader/vulkan.c b/glad/generator/c/templates/loader/vulkan.c index caf2886c..255147e3 100644 --- a/glad/generator/c/templates/loader/vulkan.c +++ b/glad/generator/c/templates/loader/vulkan.c @@ -1,6 +1,7 @@ {% import "template_utils.h" as template_utils with context %} #ifdef GLAD_VULKAN +{% set loader_handle = template_utils.handle('vulkan') %} {% include 'loader/library.c' %} @@ -57,7 +58,7 @@ static GLADapiproc glad_vulkan_get_proc(void *vuserptr, const char *name) { {% if not options.mx %} -static void* {{ template_utils.handle() }} = NULL; +static void* {{ loader_handle }} = NULL; {% endif %} static void* glad_vulkan_dlopen_handle({{ template_utils.context_arg(def='void') }}) { @@ -73,11 +74,11 @@ static void* glad_vulkan_dlopen_handle({{ template_utils.context_arg(def='void') #endif }; - if ({{ template_utils.handle() }} == NULL) { - {{ template_utils.handle() }} = glad_get_dlopen_handle(NAMES, sizeof(NAMES) / sizeof(NAMES[0])); + if ({{ loader_handle }} == NULL) { + {{ loader_handle }} = glad_get_dlopen_handle(NAMES, sizeof(NAMES) / sizeof(NAMES[0])); } - return {{ template_utils.handle() }}; + return {{ loader_handle }}; } static struct _glad_vulkan_userptr glad_vulkan_build_userptr(void *handle, VkInstance instance, VkDevice device) { @@ -97,7 +98,7 @@ int gladLoaderLoadVulkan{{ 'Context' if options.mx }}({{ template_utils.context_ int did_load = 0; struct _glad_vulkan_userptr userptr; - did_load = {{ template_utils.handle() }} == NULL; + did_load = {{ loader_handle }} == NULL; handle = glad_vulkan_dlopen_handle({{ 'context' if options.mx }}); if (handle != NULL) { userptr = glad_vulkan_build_userptr(handle, instance, device); @@ -142,9 +143,9 @@ int gladLoaderLoadVulkan(VkInstance instance, VkPhysicalDevice physical_device, {% endif %} void gladLoaderUnloadVulkan{{ 'Context' if options.mx }}({{ template_utils.context_arg(def='void') }}) { - if ({{ template_utils.handle() }} != NULL) { - glad_close_dlopen_handle({{ template_utils.handle() }}); - {{ template_utils.handle() }} = NULL; + if ({{ loader_handle }} != NULL) { + glad_close_dlopen_handle({{ loader_handle }}); + {{ loader_handle }} = NULL; {% if options.on_demand %} glad_vulkan_internal_loader_global_userptr.vk_handle = NULL; {% endif %} diff --git a/glad/generator/c/templates/template_utils.h b/glad/generator/c/templates/template_utils.h index cc958644..cc5b320b 100644 --- a/glad/generator/c/templates/template_utils.h +++ b/glad/generator/c/templates/template_utils.h @@ -10,8 +10,8 @@ {{ 'Glad' + feature_set.name|api + 'Context *context' + suffix if options.mx else def }} {%- endmacro %} -{% macro handle() -%} -{{ 'context->glad' if options.mx else '_glad_' + feature_set.name|api }}_loader_handle +{% macro handle(api_name) -%} +{{ 'context->glad' if options.mx else '_glad_' + api_name|api }}_loader_handle {%- endmacro %} From 41963067d847138c1d6e10fbad41c266a4708e47 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Tue, 26 Dec 2023 18:38:43 +0100 Subject: [PATCH 097/138] c: allow to use system egl for gles2 --- glad/generator/c/templates/loader/gles2.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/glad/generator/c/templates/loader/gles2.c b/glad/generator/c/templates/loader/gles2.c index 04fc78cc..3cbf73a4 100644 --- a/glad/generator/c/templates/loader/gles2.c +++ b/glad/generator/c/templates/loader/gles2.c @@ -10,6 +10,9 @@ typedef __eglMustCastToProperFunctionPointerType (GLAD_API_PTR *PFNEGLGETPROCADDRESSPROC)(const char *name); #endif extern __eglMustCastToProperFunctionPointerType emscripten_GetProcAddress(const char *name); +#elif GLAD_GLES2_USE_SYSTEM_EGL + #include + typedef __eglMustCastToProperFunctionPointerType (GLAD_API_PTR *PFNEGLGETPROCADDRESSPROC)(const char *name); #else #include #endif From e28d1f0eceab3ffe794db680756ac33901116c1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Oszk=C3=A1r=20D=C3=A9nes?= <7050000+gaboroszkar@users.noreply.github.com> Date: Tue, 26 Dec 2023 18:46:18 +0100 Subject: [PATCH 098/138] cmake: use FindPython instead of FindPythonInterp FindPythonInterp is deprecated. The new module finds new way to locate the python environment. In some cases the deprecated FindPythonInterp found the incorrect python interpreter. gh: #429 --- cmake/CMakeLists.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 028a9247..a8770346 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -38,11 +38,9 @@ # ``` # - create a static glad library with the vulkan=1.1 -cmake_minimum_required(VERSION 3.2) +cmake_minimum_required(VERSION 3.12) project(glad C) -find_package(PythonInterp REQUIRED) - set(GLAD_CMAKE_DIR "${CMAKE_CURRENT_LIST_DIR}" CACHE STRING "Directory containing glad generator CMakeLists.txt") set(GLAD_SOURCES_DIR "${GLAD_CMAKE_DIR}/../" CACHE STRING "Directory containing glad sources (python modules), used as working directory") mark_as_advanced(GLAD_CMAKE_DIR) @@ -176,6 +174,8 @@ endfunction() # Create a glad library named "${TARGET}" function(glad_add_library TARGET) message(STATUS "Glad Library \'${TARGET}\'") + + find_package(Python COMPONENTS Interpreter REQUIRED) cmake_parse_arguments(GG "MERGE;QUIET;REPRODUCIBLE;STATIC;SHARED;MODULE;INTERFACE;EXCLUDE_FROM_ALL" "LOCATION;LANGUAGE" "API;EXTENSIONS" ${ARGN}) @@ -239,7 +239,7 @@ function(glad_add_library TARGET) COMMAND ${CMAKE_COMMAND} -E remove_directory ${GLAD_DIR} COMMAND ${CMAKE_COMMAND} -E make_directory ${GLAD_DIR} COMMAND echo Generating with args ${GLAD_ARGS} - COMMAND ${PYTHON_EXECUTABLE} -m glad ${GLAD_ARGS} + COMMAND ${Python_EXECUTABLE} -m glad ${GLAD_ARGS} COMMAND echo Writing ${GLAD_ARGS_PATH} COMMAND echo ${GLAD_ARGS} > ${GLAD_ARGS_PATH} WORKING_DIRECTORY ${GLAD_SOURCES_DIR} From 74b377a127a54ecacb122aeba1c29b2406600fec Mon Sep 17 00:00:00 2001 From: David Herberth Date: Tue, 26 Dec 2023 18:52:45 +0100 Subject: [PATCH 099/138] cmake: honor `BUILD_SHARED_LIBS` closes: #418 --- cmake/CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index a8770346..fbc5cbce 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -182,6 +182,9 @@ function(glad_add_library TARGET) if(NOT GG_LOCATION) set(GG_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/gladsources/${TARGET}") endif() + if(BUILD_SHARED_LIBS) + set(GG_SHARED TRUE) + endif() set(GLAD_DIR "${GG_LOCATION}") if(NOT IS_DIRECTORY "${GLAD_DIR}") file(MAKE_DIRECTORY "${GLAD_DIRECTORY}") From eb4e3f2cc6c18263a5998872ca8ecc8863f64ded Mon Sep 17 00:00:00 2001 From: David Herberth Date: Tue, 26 Dec 2023 18:56:23 +0100 Subject: [PATCH 100/138] cmake: documents `REPRODUCIBLE` option closes: #445 --- cmake/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index fbc5cbce..1127a5e5 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -16,6 +16,8 @@ # Exclude building the library from the all target # - MERGE # Merge multiple APIs of the same specitifation into one file. +# - REPRODUCIBLE +# Makes the build reproducible by not fetching the latest specification from Khronos. # - QUIET # Disable logging # - LOCATION From 4d8a8d6d18a84d03bb896e85824bd9509274b80c Mon Sep 17 00:00:00 2001 From: David Herberth Date: Tue, 26 Dec 2023 19:03:19 +0100 Subject: [PATCH 101/138] cmake: only add C files for non-header closes: #424 --- cmake/CMakeLists.txt | 40 ++++++++++++++++++++++++++-------------- 1 file changed, 26 insertions(+), 14 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 1127a5e5..65061653 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -92,48 +92,60 @@ function(__glad_c_library CARGS CFILES) "${GLAD_DIR}/include/EGL/eglplatform.h" "${GLAD_DIR}/include/KHR/khrplatform.h" "${GLAD_DIR}/include/glad/egl.h" - "${GLAD_DIR}/src/egl.c" ) + if(NOT GGC_HEADERONLY) + list(APPEND GGC_FILES "${GLAD_DIR}/src/egl.c") + endif() elseif(SPEC STREQUAL "vulkan") list(APPEND GGC_FILES "${GLAD_DIR}/include/vk_platform.h" "${GLAD_DIR}/include/glad/vulkan.h" - "${GLAD_DIR}/src/vulkan.c" ) + if(NOT GGC_HEADERONLY) + list(APPEND GGC_FILES "${GLAD_DIR}/src/vulkan.c") + endif() elseif(SPEC STREQUAL "gl") list(APPEND GGC_FILES "${GLAD_DIR}/include/KHR/khrplatform.h" "${GLAD_DIR}/include/glad/gl.h" - "${GLAD_DIR}/src/gl.c" ) + if(NOT GGC_HEADERONLY) + list(APPEND GGC_FILES "${GLAD_DIR}/src/gl.c") + endif() elseif(SPEC STREQUAL "gles1") list(APPEND GGC_FILES "${GLAD_DIR}/include/KHR/khrplatform.h" "${GLAD_DIR}/include/glad/gles1.h" - "${GLAD_DIR}/src/gles1.c" ) + if(NOT GGC_HEADERONLY) + list(APPEND GGC_FILES "${GLAD_DIR}/src/gles1.c") + endif() elseif(SPEC STREQUAL "gles2") list(APPEND GGC_FILES "${GLAD_DIR}/include/KHR/khrplatform.h" "${GLAD_DIR}/include/glad/gles2.h" - "${GLAD_DIR}/src/gles2.c" ) + if(NOT GGC_HEADERONLY) + list(APPEND GGC_FILES "${GLAD_DIR}/src/gles2.c") + endif() elseif(SPEC STREQUAL "glsc2") list(APPEND GGC_FILES "${GLAD_DIR}/include/KHR/khrplatform.h" "${GLAD_DIR}/include/glad/glsc2.h" - "${GLAD_DIR}/src/glsc2.c" ) + if(NOT GGC_HEADERONLY) + list(APPEND GGC_FILES "${GLAD_DIR}/src/glsc2.c") + endif() elseif(SPEC STREQUAL "wgl") - list(APPEND GGC_FILES - "${GLAD_DIR}/include/glad/wgl.h" - "${GLAD_DIR}/src/wgl.c" - ) + list(APPEND GGC_FILES "${GLAD_DIR}/include/glad/wgl.h") + if(NOT GGC_HEADERONLY) + list(APPEND GGC_FILES "${GLAD_DIR}/src/wgl.c") + endif() elseif(SPEC STREQUAL "glx") - list(APPEND GGC_FILES - "${GLAD_DIR}/include/glad/glx.h" - "${GLAD_DIR}/src/glx.c" - ) + list(APPEND GGC_FILES "${GLAD_DIR}/include/glad/glx.h") + if(NOT GGC_HEADERONLY) + list(APPEND GGC_FILES "${GLAD_DIR}/src/glx.c") + endif() else() message(FATAL_ERROR "Unknown SPEC: '${SPEC}'") endif() From d535deefe3833d7172d096631ba109e7dc8ccfd8 Mon Sep 17 00:00:00 2001 From: chloekek <50083900+chloekek@users.noreply.github.com> Date: Tue, 26 Dec 2023 19:09:04 +0100 Subject: [PATCH 102/138] glad: add --version option to command-line interface gh: #417 --- glad/__main__.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/glad/__main__.py b/glad/__main__.py index 435ee9d8..5403809d 100644 --- a/glad/__main__.py +++ b/glad/__main__.py @@ -13,6 +13,7 @@ import os import glad.files +from glad import __version__ from glad.config import Config, ConfigOption from glad.generator import GenerationInfo from glad.sink import LoggingSink @@ -115,6 +116,8 @@ def main(args=None): description = __doc__ parser = ArgumentParser(description=description) + parser.add_argument('--version', action='version', version=__version__) + global_config = GlobalConfig() global_config.init_parser(parser) From f241d94c360708bdc2eec6597a89cf614f035473 Mon Sep 17 00:00:00 2001 From: Zeno Sebastian Endemann Date: Tue, 26 Dec 2023 19:13:22 +0100 Subject: [PATCH 103/138] c: remove one duplicated check for glGetString(GL_VERSION) gh: #402 --- glad/generator/c/templates/gl.c | 1 - 1 file changed, 1 deletion(-) diff --git a/glad/generator/c/templates/gl.c b/glad/generator/c/templates/gl.c index 25819a78..123c51c1 100644 --- a/glad/generator/c/templates/gl.c +++ b/glad/generator/c/templates/gl.c @@ -188,7 +188,6 @@ int gladLoad{{ api|api }}{{ 'Context' if options.mx }}UserPtr({{ template_utils. {{ 'glGetString'|ctx }} = (PFNGLGETSTRINGPROC) load(userptr, "glGetString"); if({{ 'glGetString'|ctx }} == NULL) return 0; - if({{ 'glGetString'|ctx }}(GL_VERSION) == NULL) return 0; version = glad_gl_find_core_{{ api|lower }}({{ 'context' if options.mx }}); {% for feature, _ in loadable(feature_set.features, api=api) %} From eb747c51c9c910fb44513e8c4a234c18cc19b87d Mon Sep 17 00:00:00 2001 From: David Herberth Date: Tue, 26 Dec 2023 19:15:40 +0100 Subject: [PATCH 104/138] cmake: fixes cmake typo creating the wrong dir closes: #392 --- cmake/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 65061653..e439fd49 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -201,7 +201,7 @@ function(glad_add_library TARGET) endif() set(GLAD_DIR "${GG_LOCATION}") if(NOT IS_DIRECTORY "${GLAD_DIR}") - file(MAKE_DIRECTORY "${GLAD_DIRECTORY}") + file(MAKE_DIRECTORY "${GLAD_DIR}") endif() set(GLAD_ARGS --out-path "${GLAD_DIR}") From 7a7c6398b3d6fb5ecec58470db388c4b7ab2034f Mon Sep 17 00:00:00 2001 From: David Herberth Date: Tue, 26 Dec 2023 19:30:49 +0100 Subject: [PATCH 105/138] cmake: adds note that paths should/must be absolute closes: #393 --- cmake/CMakeLists.txt | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index e439fd49..bbeaf021 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -43,8 +43,18 @@ cmake_minimum_required(VERSION 3.12) project(glad C) -set(GLAD_CMAKE_DIR "${CMAKE_CURRENT_LIST_DIR}" CACHE STRING "Directory containing glad generator CMakeLists.txt") -set(GLAD_SOURCES_DIR "${GLAD_CMAKE_DIR}/../" CACHE STRING "Directory containing glad sources (python modules), used as working directory") +set( + GLAD_CMAKE_DIR + "${CMAKE_CURRENT_LIST_DIR}" + CACHE STRING + "Directory containing glad generator CMakeLists.txt. Must be absolute." + ) +set( + GLAD_SOURCES_DIR + "${GLAD_CMAKE_DIR}/../" + CACHE STRING + "Directory containing glad sources (python modules), used as working directory. Must be absolute." + ) mark_as_advanced(GLAD_CMAKE_DIR) # Extract specification, profile and version from a string From 73eaae0aed913cb22871698dc6728436c950ff94 Mon Sep 17 00:00:00 2001 From: Le Philousophe Date: Sun, 31 Dec 2023 11:33:06 +0100 Subject: [PATCH 106/138] c: fix extensions loading and parsing Simplify extension array: Use NULL as array terminator and don't store the count of extensions anymore. Don't use version to detect extensions: Check if functions are usable and fallback on old method if they are not. gh: #448 closes: #446 --- glad/generator/c/templates/gl.c | 92 ++++++++++++++------------------- 1 file changed, 40 insertions(+), 52 deletions(-) diff --git a/glad/generator/c/templates/gl.c b/glad/generator/c/templates/gl.c index 123c51c1..d6b5074b 100644 --- a/glad/generator/c/templates/gl.c +++ b/glad/generator/c/templates/gl.c @@ -36,36 +36,24 @@ static void _post_call_{{ feature_set.name }}_callback_default(void *ret, const {% block loader %} -#if defined(GL_ES_VERSION_3_0) || defined(GL_VERSION_3_0) -#define GLAD_GL_IS_SOME_NEW_VERSION 1 -#else -#define GLAD_GL_IS_SOME_NEW_VERSION 0 -#endif - -static int glad_gl_get_extensions({{ template_utils.context_arg(',') }} int version, const char **out_exts, unsigned int *out_num_exts_i, char ***out_exts_i) { -#if GLAD_GL_IS_SOME_NEW_VERSION - if(GLAD_VERSION_MAJOR(version) < 3) { -#else - GLAD_UNUSED(version); - GLAD_UNUSED(out_num_exts_i); - GLAD_UNUSED(out_exts_i); -#endif - if ({{ 'glGetString'|ctx }} == NULL) { - return 0; +static void glad_gl_free_extensions(char **exts_i) { + if (exts_i != NULL) { + unsigned int index; + for(index = 0; exts_i[index]; index++) { + free((void *) (exts_i[index])); } - *out_exts = (const char *){{ 'glGetString'|ctx }}(GL_EXTENSIONS); -#if GLAD_GL_IS_SOME_NEW_VERSION - } else { + free((void *)exts_i); + exts_i = NULL; + } +} +static int glad_gl_get_extensions({{ template_utils.context_arg(',') }} const char **out_exts, char ***out_exts_i) { +#if defined(GL_ES_VERSION_3_0) || defined(GL_VERSION_3_0) + if ({{ 'glGetStringi'|ctx }} != NULL && {{ 'glGetIntegerv'|ctx }} != NULL) { unsigned int index = 0; unsigned int num_exts_i = 0; char **exts_i = NULL; - if ({{ 'glGetStringi'|ctx }} == NULL || {{ 'glGetIntegerv'|ctx }} == NULL) { - return 0; - } {{ 'glGetIntegerv'|ctx }}(GL_NUM_EXTENSIONS, (int*) &num_exts_i); - if (num_exts_i > 0) { - exts_i = (char **) malloc(num_exts_i * (sizeof *exts_i)); - } + exts_i = (char **) malloc((num_exts_i + 1) * (sizeof *exts_i)); if (exts_i == NULL) { return 0; } @@ -74,31 +62,40 @@ static int glad_gl_get_extensions({{ template_utils.context_arg(',') }} int vers size_t len = strlen(gl_str_tmp) + 1; char *local_str = (char*) malloc(len * sizeof(char)); - if(local_str != NULL) { - memcpy(local_str, gl_str_tmp, len * sizeof(char)); + if(local_str == NULL) { + exts_i[index] = NULL; + glad_gl_free_extensions(exts_i); + return 0; } + memcpy(local_str, gl_str_tmp, len * sizeof(char)); exts_i[index] = local_str; } + exts_i[index] = NULL; - *out_num_exts_i = num_exts_i; *out_exts_i = exts_i; + + return 1; } +#else + GLAD_UNUSED(out_exts_i); #endif + if ({{ 'glGetString'|ctx }} == NULL) { + return 0; + } + *out_exts = (const char *){{ 'glGetString'|ctx }}(GL_EXTENSIONS); return 1; } -static void glad_gl_free_extensions(char **exts_i, unsigned int num_exts_i) { - if (exts_i != NULL) { +static int glad_gl_has_extension(const char *exts, char **exts_i, const char *ext) { + if(exts_i) { unsigned int index; - for(index = 0; index < num_exts_i; index++) { - free((void *) (exts_i[index])); + for(index = 0; exts_i[index]; index++) { + const char *e = exts_i[index]; + if(strcmp(e, ext) == 0) { + return 1; + } } - free((void *)exts_i); - exts_i = NULL; - } -} -static int glad_gl_has_extension(int version, const char *exts, unsigned int num_exts_i, char **exts_i, const char *ext) { - if(GLAD_VERSION_MAJOR(version) < 3 || !GLAD_GL_IS_SOME_NEW_VERSION) { + } else { const char *extensions; const char *loc; const char *terminator; @@ -118,14 +115,6 @@ static int glad_gl_has_extension(int version, const char *exts, unsigned int num } extensions = terminator; } - } else { - unsigned int index; - for(index = 0; index < num_exts_i; index++) { - const char *e = exts_i[index]; - if(strcmp(e, ext) == 0) { - return 1; - } - } } return 0; } @@ -135,19 +124,18 @@ static GLADapiproc glad_gl_get_proc_from_userptr(void *userptr, const char* name } {% for api in feature_set.info.apis %} -static int glad_gl_find_extensions_{{ api|lower }}({{ template_utils.context_arg(',') }} int version) { +static int glad_gl_find_extensions_{{ api|lower }}({{ template_utils.context_arg(def='void') }}) { const char *exts = NULL; - unsigned int num_exts_i = 0; char **exts_i = NULL; - if (!glad_gl_get_extensions({{ 'context, ' if options.mx }}version, &exts, &num_exts_i, &exts_i)) return 0; + if (!glad_gl_get_extensions({{ 'context, ' if options.mx }}&exts, &exts_i)) return 0; {% for extension in feature_set.extensions|select('supports', api) %} - {{ ('GLAD_' + extension.name)|ctx(name_only=True) }} = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "{{ extension.name }}"); + {{ ('GLAD_' + extension.name)|ctx(name_only=True) }} = glad_gl_has_extension(exts, exts_i, "{{ extension.name }}"); {% else %} GLAD_UNUSED(glad_gl_has_extension); {% endfor %} - glad_gl_free_extensions(exts_i, num_exts_i); + glad_gl_free_extensions(exts_i); return 1; } @@ -194,7 +182,7 @@ int gladLoad{{ api|api }}{{ 'Context' if options.mx }}UserPtr({{ template_utils. glad_gl_load_{{ feature.name }}({{'context, ' if options.mx }}load, userptr); {% endfor %} - if (!glad_gl_find_extensions_{{ api|lower }}({{ 'context, ' if options.mx }}version)) return 0; + if (!glad_gl_find_extensions_{{ api|lower }}({{ 'context' if options.mx }})) return 0; {% for extension, _ in loadable(feature_set.extensions, api=api) %} glad_gl_load_{{ extension.name }}({{'context, ' if options.mx }}load, userptr); {% endfor %} From b3a36449c766b6d9bc7b15f54d096e6ac15605de Mon Sep 17 00:00:00 2001 From: Oleg Ageev Date: Sun, 4 Feb 2024 16:48:32 +0300 Subject: [PATCH 107/138] cmake: provide CMake package (#453) closes: #452 --- cmake/CMakeLists.txt | 307 ++--------------------------------------- cmake/GladConfig.cmake | 292 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 300 insertions(+), 299 deletions(-) create mode 100644 cmake/GladConfig.cmake diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index bbeaf021..3b80747c 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -1,313 +1,22 @@ -# This project defines a `glad_add_library` function that will create a glad library. -# The created library will automatically generate the glad sources. -# Consumers can link to the the library. -# # configuration variables: # GLAD_SOURCES_DIR: path to the sources of glad (=python module) -# -# -# glad_add_library( [SHARED|STATIC|MODULE|INTERFACE] [EXCLUDE_FROM_ALL] [MERGE] [QUIET] [LOCATION ] -# [LANGUAGE ] [API [ ...]] [EXTENSIONS [ [ ...]]]) -# - -# Name of the TARGET -# - SHARED|STATIC|MODULE|INTERFACE -# Type of the library, if none is specified, default BUILD_SHARED_LIBS behavior is honored -# - EXCLUDE_FROM_ALL -# Exclude building the library from the all target -# - MERGE -# Merge multiple APIs of the same specitifation into one file. -# - REPRODUCIBLE -# Makes the build reproducible by not fetching the latest specification from Khronos. -# - QUIET -# Disable logging -# - LOCATION -# Set the location where the generated glad should be saved. -# - LANGUAGE -# Language of the generated glad sources. -# - API [ ...]] -# Apis to include in the generated glad library. -# - EXTENSIONS [ [ ...]] -# Extensions to include in the generated glad library. Pass NONE to add no extensions whatsoever. -# -# examples: -# - create a shared glad library of the core profile of opengl 3.3, having all extensions: -# ``` -# glad_add_library(glad_gl_core_33 SHARED API gl:core=3.3) -# ``` -# - create a module glad library of the compatibility profile of opengl 1.0, having only the GL_EXT_COMPRESSION_s3tc extensionsion -# ``` -# glad_add_library(glad_gl_compat_10 MODULE API gl:compatibility=1.0 EXTENSIONS GL_EXT_COMPRESSION_s3tc) -# ``` -# - create a static glad library with the vulkan=1.1 cmake_minimum_required(VERSION 3.12) project(glad C) set( - GLAD_CMAKE_DIR - "${CMAKE_CURRENT_LIST_DIR}" - CACHE STRING + GLAD_CMAKE_DIR + "${CMAKE_CURRENT_LIST_DIR}" + CACHE STRING "Directory containing glad generator CMakeLists.txt. Must be absolute." ) set( - GLAD_SOURCES_DIR - "${GLAD_CMAKE_DIR}/../" - CACHE STRING + GLAD_SOURCES_DIR + "${GLAD_CMAKE_DIR}/../" + CACHE STRING "Directory containing glad sources (python modules), used as working directory. Must be absolute." ) mark_as_advanced(GLAD_CMAKE_DIR) -# Extract specification, profile and version from a string -# examples: -# gl:core=3.3 => SPEC=gl PROFILE=core VERSION=3.3 -# gl:compatibility=4.0 => SPEC=gl PROFILE=compatibility VERSION=4.0 -# vulkan=1.1 => SPEC=vulkan PROFILE="" VERSION=1.1 -function(__glad_extract_spec_profile_version SPEC PROFILE VERSION STRING) - string(REPLACE "=" ";" SPEC_PROFILE_VERSION_LIST "${STRING}") - list(LENGTH SPEC_PROFILE_VERSION_LIST SPV_LENGTH) - if(SPV_LENGTH LESS 2) - message(FATAL_ERROR "${SPEC} is an invalid SPEC") - endif() - list(GET SPEC_PROFILE_VERSION_LIST 0 SPEC_PROFILE_STR) - list(GET SPEC_PROFILE_VERSION_LIST 1 VERSION_STR) - - string(REPLACE ":" ";" SPEC_PROFILE_LIST "${SPEC_PROFILE_STR}") - list(LENGTH SPEC_PROFILE_LIST SP_LENGTH) - if(SP_LENGTH LESS 2) - list(GET SPEC_PROFILE_LIST 0 SPEC_STR) - set(PROFILE_STR "") - else() - list(GET SPEC_PROFILE_LIST 0 SPEC_STR) - list(GET SPEC_PROFILE_LIST 1 PROFILE_STR) - endif() - - set("${SPEC}" "${SPEC_STR}" PARENT_SCOPE) - set("${PROFILE}" "${PROFILE_STR}" PARENT_SCOPE) - set("${VERSION}" "${VERSION_STR}" PARENT_SCOPE) -endfunction() - -# Calculate the argument and generated files for the "c" subparser for glad -function(__glad_c_library CARGS CFILES) - cmake_parse_arguments(GGC "ALIAS;DEBUG;HEADERONLY;LOADER;MX;MXGLOBAL;ON_DEMAND" "" "API" ${ARGN}) - - if(NOT GGC_API) - message(FATAL_ERROR "Need API") - endif() - - set(GGC_FILES "") - foreach(API ${GGC_API}) - __glad_extract_spec_profile_version(SPEC PROFILE VERSION "${API}") - if(SPEC STREQUAL "egl") - list(APPEND GGC_FILES - "${GLAD_DIR}/include/EGL/eglplatform.h" - "${GLAD_DIR}/include/KHR/khrplatform.h" - "${GLAD_DIR}/include/glad/egl.h" - ) - if(NOT GGC_HEADERONLY) - list(APPEND GGC_FILES "${GLAD_DIR}/src/egl.c") - endif() - elseif(SPEC STREQUAL "vulkan") - list(APPEND GGC_FILES - "${GLAD_DIR}/include/vk_platform.h" - "${GLAD_DIR}/include/glad/vulkan.h" - ) - if(NOT GGC_HEADERONLY) - list(APPEND GGC_FILES "${GLAD_DIR}/src/vulkan.c") - endif() - elseif(SPEC STREQUAL "gl") - list(APPEND GGC_FILES - "${GLAD_DIR}/include/KHR/khrplatform.h" - "${GLAD_DIR}/include/glad/gl.h" - ) - if(NOT GGC_HEADERONLY) - list(APPEND GGC_FILES "${GLAD_DIR}/src/gl.c") - endif() - elseif(SPEC STREQUAL "gles1") - list(APPEND GGC_FILES - "${GLAD_DIR}/include/KHR/khrplatform.h" - "${GLAD_DIR}/include/glad/gles1.h" - ) - if(NOT GGC_HEADERONLY) - list(APPEND GGC_FILES "${GLAD_DIR}/src/gles1.c") - endif() - elseif(SPEC STREQUAL "gles2") - list(APPEND GGC_FILES - "${GLAD_DIR}/include/KHR/khrplatform.h" - "${GLAD_DIR}/include/glad/gles2.h" - ) - if(NOT GGC_HEADERONLY) - list(APPEND GGC_FILES "${GLAD_DIR}/src/gles2.c") - endif() - elseif(SPEC STREQUAL "glsc2") - list(APPEND GGC_FILES - "${GLAD_DIR}/include/KHR/khrplatform.h" - "${GLAD_DIR}/include/glad/glsc2.h" - ) - if(NOT GGC_HEADERONLY) - list(APPEND GGC_FILES "${GLAD_DIR}/src/glsc2.c") - endif() - elseif(SPEC STREQUAL "wgl") - list(APPEND GGC_FILES "${GLAD_DIR}/include/glad/wgl.h") - if(NOT GGC_HEADERONLY) - list(APPEND GGC_FILES "${GLAD_DIR}/src/wgl.c") - endif() - elseif(SPEC STREQUAL "glx") - list(APPEND GGC_FILES "${GLAD_DIR}/include/glad/glx.h") - if(NOT GGC_HEADERONLY) - list(APPEND GGC_FILES "${GLAD_DIR}/src/glx.c") - endif() - else() - message(FATAL_ERROR "Unknown SPEC: '${SPEC}'") - endif() - endforeach() - list(REMOVE_DUPLICATES GGC_FILES) - - set(GGC_ARGS "") - if(GGC_ALIAS) - list(APPEND GGC_ARGS "--alias") - endif() - - if(GGC_DEBUG) - list(APPEND GGC_ARGS "--debug") - endif() - - if(GGC_HEADERONLY) - list(APPEND GGC_ARGS "--header-only") - endif() - - if(GGC_LOADER) - list(APPEND GGC_ARGS "--loader") - endif() - - if(GGC_MX) - list(APPEND GGC_ARGS "--mx") - endif() - - if(GGC_MXGLOBAL) - list(APPEND GGC_ARGS "--mx-global") - endif() - - if(GGC_ON_DEMAND) - list(APPEND GGC_ARGS "--on-demand") - endif() - - set("${CARGS}" "${GGC_ARGS}" PARENT_SCOPE) - set("${CFILES}" "${GGC_FILES}" PARENT_SCOPE) -endfunction() - -# Create a glad library named "${TARGET}" -function(glad_add_library TARGET) - message(STATUS "Glad Library \'${TARGET}\'") - - find_package(Python COMPONENTS Interpreter REQUIRED) - - cmake_parse_arguments(GG "MERGE;QUIET;REPRODUCIBLE;STATIC;SHARED;MODULE;INTERFACE;EXCLUDE_FROM_ALL" "LOCATION;LANGUAGE" "API;EXTENSIONS" ${ARGN}) - - if(NOT GG_LOCATION) - set(GG_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/gladsources/${TARGET}") - endif() - if(BUILD_SHARED_LIBS) - set(GG_SHARED TRUE) - endif() - set(GLAD_DIR "${GG_LOCATION}") - if(NOT IS_DIRECTORY "${GLAD_DIR}") - file(MAKE_DIRECTORY "${GLAD_DIR}") - endif() - set(GLAD_ARGS --out-path "${GLAD_DIR}") - - if(NOT GG_API) - message(FATAL_ERROR "Need API") - endif() - string(REPLACE ";" "," GLAD_API "${GG_API}") - list(APPEND GLAD_ARGS --api "${GLAD_API}") - - if(GG_EXTENSIONS) - list(FIND GG_EXTENSIONS NONE GG_EXT_NONE) - if(GG_EXT_NONE GREATER -1) - set(GLAD_EXTENSIONS " ") - else() - list(REMOVE_DUPLICATES GG_EXTENSIONS) - list(JOIN GG_EXTENSIONS "," GLAD_EXTENSIONS) - endif() - list(APPEND GLAD_ARGS --extensions "${GLAD_EXTENSIONS}") - endif() - - if(GG_QUIET) - list(APPEND GLAD_ARGS --quiet) - endif() - - if(GG_MERGE) - list(APPEND GLAD_ARGS --merge) - endif() - - if(GG_REPRODUCIBLE) - list(APPEND GLAD_ARGS --reproducible) - endif() - - set(GLAD_LANGUAGE "c") - if(GG_LANGUAGE) - string(TOLOWER "${GG_LANGUAGE}" "${GLAD_LANGUAGE}") - endif() - - if(GLAD_LANGUAGE STREQUAL "c") - __glad_c_library(LANG_ARGS GLAD_FILES ${GG_UNPARSED_ARGUMENTS} API ${GG_API}) - else() - message(FATAL_ERROR "Unknown LANGUAGE") - endif() - list(APPEND GLAD_ARGS ${GLAD_LANGUAGE} ${LANG_ARGS}) - - string(REPLACE "${GLAD_DIR}" GLAD_DIRECTORY GLAD_ARGS_UNIVERSAL "${GLAD_ARGS}") - set(GLAD_ARGS_PATH "${GLAD_DIR}/args.txt") - - # add make custom target - add_custom_command( - OUTPUT ${GLAD_FILES} ${GLAD_ARGS_PATH} - COMMAND echo Cleaning ${GLAD_DIR} - COMMAND ${CMAKE_COMMAND} -E remove_directory ${GLAD_DIR} - COMMAND ${CMAKE_COMMAND} -E make_directory ${GLAD_DIR} - COMMAND echo Generating with args ${GLAD_ARGS} - COMMAND ${Python_EXECUTABLE} -m glad ${GLAD_ARGS} - COMMAND echo Writing ${GLAD_ARGS_PATH} - COMMAND echo ${GLAD_ARGS} > ${GLAD_ARGS_PATH} - WORKING_DIRECTORY ${GLAD_SOURCES_DIR} - COMMENT "${TARGET}-generate" - USES_TERMINAL - ) - - set(GLAD_ADD_LIBRARY_ARGS "") - if(GG_SHARED) - list(APPEND GLAD_ADD_LIBRARY_ARGS SHARED) - elseif(GG_STATIC) - list(APPEND GLAD_ADD_LIBRARY_ARGS STATIC) - elseif(GG_MODULE) - list(APPEND GLAD_ADD_LIBRARY_ARGS MODULE) - elseif(GG_INTERFACE) - list(APPEND GLAD_ADD_LIBRARY_ARGS INTERFACE) - endif() - - if(GG_EXCLUDE_FROM_ALL) - list(APPEND GLAD_ADD_LIBRARY_ARGS EXCLUDE_FROM_ALL) - endif() - - add_library("${TARGET}" ${GLAD_ADD_LIBRARY_ARGS} - ${GLAD_FILES} - ) - - target_include_directories("${TARGET}" - PUBLIC - "${GLAD_DIR}/include" - ) - - target_link_libraries("${TARGET}" - PUBLIC - ${CMAKE_DL_LIBS} - ) - - if(GG_SHARED) - target_compile_definitions("${TARGET}" PUBLIC GLAD_API_CALL_EXPORT) - set_target_properties("${TARGET}" - PROPERTIES - DEFINE_SYMBOL "GLAD_API_CALL_EXPORT_BUILD" - ) - endif() -endfunction() +list(APPEND CMAKE_PREFIX_PATH ${GLAD_SOURCES_DIR}) +find_package(Glad REQUIRED) diff --git a/cmake/GladConfig.cmake b/cmake/GladConfig.cmake new file mode 100644 index 00000000..c16b75c7 --- /dev/null +++ b/cmake/GladConfig.cmake @@ -0,0 +1,292 @@ +# This project defines a `glad_add_library` function that will create a glad library. +# The created library will automatically generate the glad sources. +# Consumers can link to the the library. +# +# glad_add_library( [SHARED|STATIC|MODULE|INTERFACE] [EXCLUDE_FROM_ALL] [MERGE] [QUIET] [LOCATION ] +# [LANGUAGE ] [API [ ...]] [EXTENSIONS [ [ ...]]]) +# - +# Name of the TARGET +# - SHARED|STATIC|MODULE|INTERFACE +# Type of the library, if none is specified, default BUILD_SHARED_LIBS behavior is honored +# - EXCLUDE_FROM_ALL +# Exclude building the library from the all target +# - MERGE +# Merge multiple APIs of the same specitifation into one file. +# - REPRODUCIBLE +# Makes the build reproducible by not fetching the latest specification from Khronos. +# - QUIET +# Disable logging +# - LOCATION +# Set the location where the generated glad should be saved. +# - LANGUAGE +# Language of the generated glad sources. +# - API [ ...]] +# Apis to include in the generated glad library. +# - EXTENSIONS [ [ ...]] +# Extensions to include in the generated glad library. Pass NONE to add no extensions whatsoever. +# +# examples: +# - create a shared glad library of the core profile of opengl 3.3, having all extensions: +# ``` +# glad_add_library(glad_gl_core_33 SHARED API gl:core=3.3) +# ``` +# - create a module glad library of the compatibility profile of opengl 1.0, having only the GL_EXT_COMPRESSION_s3tc extensionsion +# ``` +# glad_add_library(glad_gl_compat_10 MODULE API gl:compatibility=1.0 EXTENSIONS GL_EXT_COMPRESSION_s3tc) +# ``` +# - create a static glad library with the vulkan=1.1 + +# Extract specification, profile and version from a string +# examples: +# gl:core=3.3 => SPEC=gl PROFILE=core VERSION=3.3 +# gl:compatibility=4.0 => SPEC=gl PROFILE=compatibility VERSION=4.0 +# vulkan=1.1 => SPEC=vulkan PROFILE="" VERSION=1.1 +function(__glad_extract_spec_profile_version SPEC PROFILE VERSION STRING) + string(REPLACE "=" ";" SPEC_PROFILE_VERSION_LIST "${STRING}") + list(LENGTH SPEC_PROFILE_VERSION_LIST SPV_LENGTH) + if(SPV_LENGTH LESS 2) + message(FATAL_ERROR "${SPEC} is an invalid SPEC") + endif() + list(GET SPEC_PROFILE_VERSION_LIST 0 SPEC_PROFILE_STR) + list(GET SPEC_PROFILE_VERSION_LIST 1 VERSION_STR) + + string(REPLACE ":" ";" SPEC_PROFILE_LIST "${SPEC_PROFILE_STR}") + list(LENGTH SPEC_PROFILE_LIST SP_LENGTH) + if(SP_LENGTH LESS 2) + list(GET SPEC_PROFILE_LIST 0 SPEC_STR) + set(PROFILE_STR "") + else() + list(GET SPEC_PROFILE_LIST 0 SPEC_STR) + list(GET SPEC_PROFILE_LIST 1 PROFILE_STR) + endif() + + set("${SPEC}" "${SPEC_STR}" PARENT_SCOPE) + set("${PROFILE}" "${PROFILE_STR}" PARENT_SCOPE) + set("${VERSION}" "${VERSION_STR}" PARENT_SCOPE) +endfunction() + +# Calculate the argument and generated files for the "c" subparser for glad +function(__glad_c_library CARGS CFILES) + cmake_parse_arguments(GGC "ALIAS;DEBUG;HEADERONLY;LOADER;MX;MXGLOBAL;ON_DEMAND" "" "API" ${ARGN}) + + if(NOT GGC_API) + message(FATAL_ERROR "Need API") + endif() + + set(GGC_FILES "") + foreach(API ${GGC_API}) + __glad_extract_spec_profile_version(SPEC PROFILE VERSION "${API}") + if(SPEC STREQUAL "egl") + list(APPEND GGC_FILES + "${GLAD_DIR}/include/EGL/eglplatform.h" + "${GLAD_DIR}/include/KHR/khrplatform.h" + "${GLAD_DIR}/include/glad/egl.h" + ) + if(NOT GGC_HEADERONLY) + list(APPEND GGC_FILES "${GLAD_DIR}/src/egl.c") + endif() + elseif(SPEC STREQUAL "vulkan") + list(APPEND GGC_FILES + "${GLAD_DIR}/include/vk_platform.h" + "${GLAD_DIR}/include/glad/vulkan.h" + ) + if(NOT GGC_HEADERONLY) + list(APPEND GGC_FILES "${GLAD_DIR}/src/vulkan.c") + endif() + elseif(SPEC STREQUAL "gl") + list(APPEND GGC_FILES + "${GLAD_DIR}/include/KHR/khrplatform.h" + "${GLAD_DIR}/include/glad/gl.h" + ) + if(NOT GGC_HEADERONLY) + list(APPEND GGC_FILES "${GLAD_DIR}/src/gl.c") + endif() + elseif(SPEC STREQUAL "gles1") + list(APPEND GGC_FILES + "${GLAD_DIR}/include/KHR/khrplatform.h" + "${GLAD_DIR}/include/glad/gles1.h" + ) + if(NOT GGC_HEADERONLY) + list(APPEND GGC_FILES "${GLAD_DIR}/src/gles1.c") + endif() + elseif(SPEC STREQUAL "gles2") + list(APPEND GGC_FILES + "${GLAD_DIR}/include/KHR/khrplatform.h" + "${GLAD_DIR}/include/glad/gles2.h" + ) + if(NOT GGC_HEADERONLY) + list(APPEND GGC_FILES "${GLAD_DIR}/src/gles2.c") + endif() + elseif(SPEC STREQUAL "glsc2") + list(APPEND GGC_FILES + "${GLAD_DIR}/include/KHR/khrplatform.h" + "${GLAD_DIR}/include/glad/glsc2.h" + ) + if(NOT GGC_HEADERONLY) + list(APPEND GGC_FILES "${GLAD_DIR}/src/glsc2.c") + endif() + elseif(SPEC STREQUAL "wgl") + list(APPEND GGC_FILES "${GLAD_DIR}/include/glad/wgl.h") + if(NOT GGC_HEADERONLY) + list(APPEND GGC_FILES "${GLAD_DIR}/src/wgl.c") + endif() + elseif(SPEC STREQUAL "glx") + list(APPEND GGC_FILES "${GLAD_DIR}/include/glad/glx.h") + if(NOT GGC_HEADERONLY) + list(APPEND GGC_FILES "${GLAD_DIR}/src/glx.c") + endif() + else() + message(FATAL_ERROR "Unknown SPEC: '${SPEC}'") + endif() + endforeach() + list(REMOVE_DUPLICATES GGC_FILES) + + set(GGC_ARGS "") + if(GGC_ALIAS) + list(APPEND GGC_ARGS "--alias") + endif() + + if(GGC_DEBUG) + list(APPEND GGC_ARGS "--debug") + endif() + + if(GGC_HEADERONLY) + list(APPEND GGC_ARGS "--header-only") + endif() + + if(GGC_LOADER) + list(APPEND GGC_ARGS "--loader") + endif() + + if(GGC_MX) + list(APPEND GGC_ARGS "--mx") + endif() + + if(GGC_MXGLOBAL) + list(APPEND GGC_ARGS "--mx-global") + endif() + + if(GGC_ON_DEMAND) + list(APPEND GGC_ARGS "--on-demand") + endif() + + set("${CARGS}" "${GGC_ARGS}" PARENT_SCOPE) + set("${CFILES}" "${GGC_FILES}" PARENT_SCOPE) +endfunction() + +# Create a glad library named "${TARGET}" +function(glad_add_library TARGET) + message(STATUS "Glad Library \'${TARGET}\'") + + find_package(Python COMPONENTS Interpreter REQUIRED) + + cmake_parse_arguments(GG "MERGE;QUIET;REPRODUCIBLE;STATIC;SHARED;MODULE;INTERFACE;EXCLUDE_FROM_ALL" "LOCATION;LANGUAGE" "API;EXTENSIONS" ${ARGN}) + + if(NOT GG_LOCATION) + set(GG_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/gladsources/${TARGET}") + endif() + if(BUILD_SHARED_LIBS) + set(GG_SHARED TRUE) + endif() + set(GLAD_DIR "${GG_LOCATION}") + if(NOT IS_DIRECTORY "${GLAD_DIR}") + file(MAKE_DIRECTORY "${GLAD_DIR}") + endif() + set(GLAD_ARGS --out-path "${GLAD_DIR}") + + if(NOT GG_API) + message(FATAL_ERROR "Need API") + endif() + string(REPLACE ";" "," GLAD_API "${GG_API}") + list(APPEND GLAD_ARGS --api "${GLAD_API}") + + if(GG_EXTENSIONS) + list(FIND GG_EXTENSIONS NONE GG_EXT_NONE) + if(GG_EXT_NONE GREATER -1) + set(GLAD_EXTENSIONS " ") + else() + list(REMOVE_DUPLICATES GG_EXTENSIONS) + list(JOIN GG_EXTENSIONS "," GLAD_EXTENSIONS) + endif() + list(APPEND GLAD_ARGS --extensions "${GLAD_EXTENSIONS}") + endif() + + if(GG_QUIET) + list(APPEND GLAD_ARGS --quiet) + endif() + + if(GG_MERGE) + list(APPEND GLAD_ARGS --merge) + endif() + + if(GG_REPRODUCIBLE) + list(APPEND GLAD_ARGS --reproducible) + endif() + + set(GLAD_LANGUAGE "c") + if(GG_LANGUAGE) + string(TOLOWER "${GG_LANGUAGE}" "${GLAD_LANGUAGE}") + endif() + + if(GLAD_LANGUAGE STREQUAL "c") + __glad_c_library(LANG_ARGS GLAD_FILES ${GG_UNPARSED_ARGUMENTS} API ${GG_API}) + else() + message(FATAL_ERROR "Unknown LANGUAGE") + endif() + list(APPEND GLAD_ARGS ${GLAD_LANGUAGE} ${LANG_ARGS}) + + string(REPLACE "${GLAD_DIR}" GLAD_DIRECTORY GLAD_ARGS_UNIVERSAL "${GLAD_ARGS}") + set(GLAD_ARGS_PATH "${GLAD_DIR}/args.txt") + + # add make custom target + add_custom_command( + OUTPUT ${GLAD_FILES} ${GLAD_ARGS_PATH} + COMMAND echo Cleaning ${GLAD_DIR} + COMMAND ${CMAKE_COMMAND} -E remove_directory ${GLAD_DIR} + COMMAND ${CMAKE_COMMAND} -E make_directory ${GLAD_DIR} + COMMAND echo Generating with args ${GLAD_ARGS} + COMMAND ${Python_EXECUTABLE} -m glad ${GLAD_ARGS} + COMMAND echo Writing ${GLAD_ARGS_PATH} + COMMAND echo ${GLAD_ARGS} > ${GLAD_ARGS_PATH} + WORKING_DIRECTORY $<$:${GLAD_SOURCES_DIR}> + COMMENT "${TARGET}-generate" + USES_TERMINAL + ) + + set(GLAD_ADD_LIBRARY_ARGS "") + if(GG_SHARED) + list(APPEND GLAD_ADD_LIBRARY_ARGS SHARED) + elseif(GG_STATIC) + list(APPEND GLAD_ADD_LIBRARY_ARGS STATIC) + elseif(GG_MODULE) + list(APPEND GLAD_ADD_LIBRARY_ARGS MODULE) + elseif(GG_INTERFACE) + list(APPEND GLAD_ADD_LIBRARY_ARGS INTERFACE) + endif() + + if(GG_EXCLUDE_FROM_ALL) + list(APPEND GLAD_ADD_LIBRARY_ARGS EXCLUDE_FROM_ALL) + endif() + + add_library("${TARGET}" ${GLAD_ADD_LIBRARY_ARGS} + ${GLAD_FILES} + ) + + target_include_directories("${TARGET}" + PUBLIC + "${GLAD_DIR}/include" + ) + + target_link_libraries("${TARGET}" + PUBLIC + ${CMAKE_DL_LIBS} + ) + + if(GG_SHARED) + target_compile_definitions("${TARGET}" PUBLIC GLAD_API_CALL_EXPORT) + set_target_properties("${TARGET}" + PROPERTIES + DEFINE_SYMBOL "GLAD_API_CALL_EXPORT_BUILD" + ) + endif() +endfunction() From 7e52c19d0991b237979eed67e4115b8d182a6c6c Mon Sep 17 00:00:00 2001 From: David Herberth Date: Sun, 4 Feb 2024 16:26:12 +0100 Subject: [PATCH 108/138] c: fixes vulkan video headers closes: #434 --- glad/generator/c/__init__.py | 69 ++++++++++++++++++++++++++++++------ glad/parse.py | 2 -- 2 files changed, 58 insertions(+), 13 deletions(-) diff --git a/glad/generator/c/__init__.py b/glad/generator/c/__init__.py index 3d230f47..ef68b1e1 100644 --- a/glad/generator/c/__init__.py +++ b/glad/generator/c/__init__.py @@ -1,13 +1,12 @@ import copy import itertools -import jinja2 import os.path import re from collections import namedtuple from contextlib import closing -from glad.config import Config, ConfigOption, RequirementConstraint, UnsupportedConstraint +from glad.config import Config, ConfigOption, UnsupportedConstraint from glad.sink import LoggingSink from glad.generator import JinjaGenerator from glad.generator.util import ( @@ -27,7 +26,13 @@ DebugArguments = namedtuple('_DebugParams', ['impl', 'function', 'pre_callback', 'post_callback', 'ret']) DebugReturn = namedtuple('_DebugReturn', ['declaration', 'assignment', 'ret']) -Header = namedtuple('_Header', ['name', 'include', 'url']) + +class Header(object): + def __init__(self, name, include, url, requires=None): + self.name = name + self.include = include + self.url = url + self.requires = requires def type_to_c(parsed_type): @@ -270,35 +275,58 @@ class CGenerator(JinjaGenerator): 'vk_platform.h', 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vk_platform.h' ), + Header( + 'vk_video/vulkan_video_codecs_common.h', + 'vk_video/vulkan_video_codecs_common.h', + 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codecs_common.h' + ), Header( 'vk_video/vulkan_video_codec_h264std.h', 'vk_video/vulkan_video_codec_h264std.h', - 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codec_h264std.h' + 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codec_h264std.h', + requires=['vk_video/vulkan_video_codecs_common.h'] ), Header( 'vk_video/vulkan_video_codec_h264std_decode.h', 'vk_video/vulkan_video_codec_h264std_decode.h', - 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codec_h264std_decode.h' + 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codec_h264std_decode.h', + requires=['vk_video/vulkan_video_codecs_common.h'] ), Header( 'vk_video/vulkan_video_codec_h264std_encode.h', 'vk_video/vulkan_video_codec_h264std_encode.h', - 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codec_h264std_encode.h' + 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codec_h264std_encode.h', + requires=['vk_video/vulkan_video_codecs_common.h'] ), Header( 'vk_video/vulkan_video_codec_h265std.h', 'vk_video/vulkan_video_codec_h265std.h', - 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codec_h265std.h' + 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codec_h265std.h', + requires=['vk_video/vulkan_video_codecs_common.h'] ), Header( 'vk_video/vulkan_video_codec_h265std_decode.h', 'vk_video/vulkan_video_codec_h265std_decode.h', - 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codec_h265std_decode.h' + 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codec_h265std_decode.h', + requires=['vk_video/vulkan_video_codecs_common.h'] ), Header( 'vk_video/vulkan_video_codec_h265std_encode.h', 'vk_video/vulkan_video_codec_h265std_encode.h', - 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codec_h265std_encode.h' + 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codec_h265std_encode.h', + requires=['vk_video/vulkan_video_codecs_common.h'] + ), + Header( + 'vk_video/vulkan_video_codec_av1std.h', + 'vk_video/vulkan_video_codec_av1std.h', + 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codec_av1std.h', + requires=['vk_video/vulkan_video_codecs_common.h'] + ), + Header( + 'vk_video/vulkan_video_codec_av1std_decode.h', + 'vk_video/vulkan_video_codec_av1std_decode.h', + 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codec_av1std_decode.h', + requires=['vk_video/vulkan_video_codecs_common.h'] ), ] @@ -388,12 +416,13 @@ def post_generate(self, spec, feature_set, config): self._add_additional_headers(feature_set, config) def modify_feature_set(self, spec, feature_set, config): - # TODO this takes rather lonng (~30%), maybe drop it? + # TODO this takes rather long (~30%), maybe drop it? feature_set = copy.deepcopy(feature_set) self._fix_issue_70(feature_set) self._fix_cpp_style_comments(feature_set) self._fixup_enums(feature_set) + self._add_header_requirements(feature_set) self._replace_included_headers(feature_set, config) return feature_set @@ -471,10 +500,28 @@ def _replace_included_headers(self, feature_set, config): content = self._read_header(header.url) for pheader in self.ADDITIONAL_HEADERS: - content = re.sub('^#include\\s*<' + pheader.include + '>', r'/* \0 */', content, flags=re.MULTILINE) + name = pheader.name.rsplit('/', 1)[-1] + content = re.sub( + '^(#include\\s*["<]({}|{})[>"])'.format(name, pheader.name), r'/* \1 */', + content, + flags=re.MULTILINE + ) types[type_index] = Type(header.name, raw=content) + def _add_header_requirements(self, feature_set): + added = set() + + for header in self.ADDITIONAL_HEADERS: + if header.name not in feature_set.types: + continue + + for require in (header.requires or []): + if require not in added: + t = Type(require, raw="#include \"{}\"".format(require)) + feature_set.types.insert(0, t) + added.add(require) + def _add_additional_headers(self, feature_set, config): if config['HEADER_ONLY']: return diff --git a/glad/parse.py b/glad/parse.py index 692438ae..3465bca5 100644 --- a/glad/parse.py +++ b/glad/parse.py @@ -37,8 +37,6 @@ def xml_parse(path): _ARRAY_RE = re.compile(r'\[(\d+)\]') -_FeatureExtensionCommands = namedtuple('_FeatureExtensionCommands', ['features', 'commands']) - class FeatureSetInfo(object): class InfoItem(namedtuple('InfoItem', ['api', 'version', 'profile', 'identifier'])): From 1a3611f53cef41d7d6cbf160ee316226da0dee2c Mon Sep 17 00:00:00 2001 From: David Herberth Date: Sun, 4 Feb 2024 14:52:48 +0100 Subject: [PATCH 109/138] files: updates to latest specifications --- glad/files/egl.xml | 43 +- glad/files/eglplatform.h | 6 + glad/files/gl.xml | 4390 +++++++-------- glad/files/glx.xml | 3 +- glad/files/vk.xml | 4770 +++++++++++++---- glad/files/vk_platform.h | 2 +- glad/files/vulkan_video_codec_av1std.h | 392 ++ glad/files/vulkan_video_codec_av1std_decode.h | 109 + glad/files/vulkan_video_codec_h264std.h | 6 +- .../files/vulkan_video_codec_h264std_decode.h | 6 +- .../files/vulkan_video_codec_h264std_encode.h | 166 +- glad/files/vulkan_video_codec_h265std.h | 15 +- .../files/vulkan_video_codec_h265std_decode.h | 6 +- .../files/vulkan_video_codec_h265std_encode.h | 156 +- glad/files/vulkan_video_codecs_common.h | 36 + utility/download.sh | 13 +- 16 files changed, 6923 insertions(+), 3196 deletions(-) create mode 100644 glad/files/vulkan_video_codec_av1std.h create mode 100644 glad/files/vulkan_video_codec_av1std_decode.h create mode 100644 glad/files/vulkan_video_codecs_common.h diff --git a/glad/files/egl.xml b/glad/files/egl.xml index 9ced66d5..f0a9b7d3 100644 --- a/glad/files/egl.xml +++ b/glad/files/egl.xml @@ -885,7 +885,8 @@ - + + @@ -1073,6 +1074,21 @@ + + + + + + + + + + + + + + + - - + + @@ -2496,6 +2512,11 @@ + + + + + @@ -2668,6 +2689,7 @@ + @@ -3533,5 +3555,20 @@ + + + + + + + + + + + + + + + diff --git a/glad/files/eglplatform.h b/glad/files/eglplatform.h index 99362a23..6786afd9 100644 --- a/glad/files/eglplatform.h +++ b/glad/files/eglplatform.h @@ -64,6 +64,12 @@ typedef HDC EGLNativeDisplayType; typedef HBITMAP EGLNativePixmapType; typedef HWND EGLNativeWindowType; +#elif defined(__QNX__) + +typedef khronos_uintptr_t EGLNativeDisplayType; +typedef struct _screen_pixmap* EGLNativePixmapType; /* screen_pixmap_t */ +typedef struct _screen_window* EGLNativeWindowType; /* screen_window_t */ + #elif defined(__EMSCRIPTEN__) typedef int EGLNativeDisplayType; diff --git a/glad/files/gl.xml b/glad/files/gl.xml index afa06a84..3fab601d 100644 --- a/glad/files/gl.xml +++ b/glad/files/gl.xml @@ -66,6 +66,44 @@ typedef unsigned int GLhandleARB; typedef void ( *GLVULKANPROCNV)(void); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + @@ -2470,9 +2514,9 @@ typedef unsigned int GLhandleARB; - - - + + + @@ -4770,7 +4814,9 @@ typedef unsigned int GLhandleARB; - + + + @@ -5466,7 +5512,8 @@ typedef unsigned int GLhandleARB; - + + @@ -5868,7 +5915,7 @@ typedef unsigned int GLhandleARB; - + @@ -5877,9 +5924,9 @@ typedef unsigned int GLhandleARB; - + - + @@ -5894,7 +5941,7 @@ typedef unsigned int GLhandleARB; - + @@ -6216,7 +6263,12 @@ typedef unsigned int GLhandleARB; - + + + + + + @@ -6950,6 +7002,17 @@ typedef unsigned int GLhandleARB; + + + + + + + + + + + - - + + @@ -7029,7 +7092,7 @@ typedef unsigned int GLhandleARB; void glAccum GLenum op - GLfloat value + GLfloat value @@ -7127,7 +7190,7 @@ typedef unsigned int GLhandleARB; void glAlphaFuncxOES GLenum func - GLfixed ref + GLfixed ref void glAlphaToCoverageDitherControlNV @@ -7141,30 +7204,30 @@ typedef unsigned int GLhandleARB; GLenum mode - GLboolean glAcquireKeyedMutexWin32EXT + GLboolean glAcquireKeyedMutexWin32EXT GLuint memory GLuint64 key GLuint timeout - GLboolean glAreProgramsResidentNV + GLboolean glAreProgramsResidentNV GLsizei n const GLuint *programs - GLboolean *residences + GLboolean *residences - GLboolean glAreTexturesResident + GLboolean glAreTexturesResident GLsizei n - const GLuint *textures - GLboolean *residences + const GLuint *textures + GLboolean *residences - GLboolean glAreTexturesResidentEXT + GLboolean glAreTexturesResidentEXT GLsizei n - const GLuint *textures - GLboolean *residences + const GLuint *textures + GLboolean *residences @@ -7233,8 +7296,8 @@ typedef unsigned int GLhandleARB; void glAttachObjectARB - GLhandleARB containerObj - GLhandleARB obj + GLhandleARB containerObj + GLhandleARB obj @@ -7276,7 +7339,7 @@ typedef unsigned int GLhandleARB; void glBeginPerfQueryINTEL - GLuint queryHandle + GLuint queryHandle void glBeginQuery @@ -7331,7 +7394,7 @@ typedef unsigned int GLhandleARB; void glBindAttribLocationARB - GLhandleARB programObj + GLhandleARB programObj GLuint index const GLcharARB *name @@ -7373,14 +7436,14 @@ typedef unsigned int GLhandleARB; GLenum target GLuint index GLuint buffer - GLintptr offset + GLintptr offset void glBindBufferOffsetNV GLenum target GLuint index GLuint buffer - GLintptr offset + GLintptr offset @@ -7388,8 +7451,8 @@ typedef unsigned int GLhandleARB; GLenum target GLuint index GLuint buffer - GLintptr offset - GLsizeiptr size + GLintptr offset + GLsizeiptr size @@ -7397,8 +7460,8 @@ typedef unsigned int GLhandleARB; GLenum target GLuint index GLuint buffer - GLintptr offset - GLsizeiptr size + GLintptr offset + GLsizeiptr size @@ -7406,8 +7469,8 @@ typedef unsigned int GLhandleARB; GLenum target GLuint index GLuint buffer - GLintptr offset - GLsizeiptr size + GLintptr offset + GLsizeiptr size @@ -7480,7 +7543,7 @@ typedef unsigned int GLhandleARB; GLuint unit GLuint texture GLint level - GLboolean layered + GLboolean layered GLint layer GLenum access GLenum format @@ -7490,7 +7553,7 @@ typedef unsigned int GLhandleARB; GLuint index GLuint texture GLint level - GLboolean layered + GLboolean layered GLint layer GLenum access GLint format @@ -7515,7 +7578,7 @@ typedef unsigned int GLhandleARB; void glBindMultiTextureEXT GLenum texunit GLenum target - GLuint texture + GLuint texture GLuint glBindParameterEXT @@ -7583,13 +7646,13 @@ typedef unsigned int GLhandleARB; void glBindTexture GLenum target - GLuint texture + GLuint texture void glBindTextureEXT GLenum target - GLuint texture + GLuint texture @@ -7637,7 +7700,7 @@ typedef unsigned int GLhandleARB; void glBindVertexBuffer GLuint bindingindex GLuint buffer - GLintptr offset + GLintptr offset GLsizei stride @@ -7657,7 +7720,7 @@ typedef unsigned int GLhandleARB; GLuint video_capture_slot GLuint stream GLenum frame_region - GLintptrARB offset + GLintptrARB offset void glBindVideoCaptureStreamTextureNV @@ -7680,25 +7743,25 @@ typedef unsigned int GLhandleARB; void glBinormal3dEXT - GLdouble bx - GLdouble by - GLdouble bz + GLdouble bx + GLdouble by + GLdouble bz void glBinormal3dvEXT - const GLdouble *v + const GLdouble *v void glBinormal3fEXT - GLfloat bx - GLfloat by - GLfloat bz + GLfloat bx + GLfloat by + GLfloat bz void glBinormal3fvEXT - const GLfloat *v + const GLfloat *v void glBinormal3iEXT @@ -7732,10 +7795,10 @@ typedef unsigned int GLhandleARB; void glBitmap GLsizei width GLsizei height - GLfloat xorig - GLfloat yorig - GLfloat xmove - GLfloat ymove + GLfloat xorig + GLfloat yorig + GLfloat xmove + GLfloat ymove const GLubyte *bitmap @@ -7763,27 +7826,27 @@ typedef unsigned int GLhandleARB; void glBlendColor - GLfloat red - GLfloat green - GLfloat blue - GLfloat alpha + GLfloat red + GLfloat green + GLfloat blue + GLfloat alpha void glBlendColorEXT - GLfloat red - GLfloat green - GLfloat blue - GLfloat alpha + GLfloat red + GLfloat green + GLfloat blue + GLfloat alpha void glBlendColorxOES - GLfixed red - GLfixed green - GLfixed blue - GLfixed alpha + GLfixed red + GLfixed green + GLfixed blue + GLfixed alpha void glBlendEquation @@ -8045,6 +8108,34 @@ typedef unsigned int GLhandleARB; + + void glBlitFramebufferLayerEXT + GLint srcX0 + GLint srcY0 + GLint srcX1 + GLint srcY1 + GLint srcLayer + GLint dstX0 + GLint dstY0 + GLint dstX1 + GLint dstY1 + GLint dstLayer + GLbitfield mask + GLenum filter + + + void glBlitFramebufferLayersEXT + GLint srcX0 + GLint srcY0 + GLint srcX1 + GLint srcY1 + GLint dstX0 + GLint dstY0 + GLint dstX1 + GLint dstY1 + GLbitfield mask + GLenum filter + void glBlitFramebufferNV GLint srcX0 @@ -8079,7 +8170,7 @@ typedef unsigned int GLhandleARB; GLenum pname GLuint index GLuint64EXT address - GLsizeiptr length + GLsizeiptr length void glBufferAttachMemoryNV @@ -8090,14 +8181,14 @@ typedef unsigned int GLhandleARB; void glBufferData GLenum target - GLsizeiptr size + GLsizeiptr size const void *data GLenum usage void glBufferDataARB GLenum target - GLsizeiptrARB size + GLsizeiptrARB size const void *data GLenum usage @@ -8107,7 +8198,7 @@ typedef unsigned int GLhandleARB; GLenum target GLintptr offset GLsizeiptr size - GLboolean commit + GLboolean commit void glBufferPageCommitmentMemNV @@ -8116,7 +8207,7 @@ typedef unsigned int GLhandleARB; GLsizeiptr size GLuint memory GLuint64 memOffset - GLboolean commit + GLboolean commit void glBufferParameteriAPPLE @@ -8150,22 +8241,22 @@ typedef unsigned int GLhandleARB; void glBufferStorageMemEXT GLenum target - GLsizeiptr size + GLsizeiptr size GLuint memory GLuint64 offset void glBufferSubData GLenum target - GLintptr offset - GLsizeiptr size + GLintptr offset + GLsizeiptr size const void *data void glBufferSubDataARB GLenum target - GLintptrARB offset - GLsizeiptrARB size + GLintptrARB offset + GLsizeiptrARB size const void *data @@ -8175,7 +8266,7 @@ typedef unsigned int GLhandleARB; void glCallList - GLuint list + GLuint list @@ -8207,7 +8298,7 @@ typedef unsigned int GLhandleARB; GLenum glCheckNamedFramebufferStatusEXT - GLuint framebuffer + GLuint framebuffer GLenum target @@ -8230,18 +8321,18 @@ typedef unsigned int GLhandleARB; void glClearAccum - GLfloat red - GLfloat green - GLfloat blue - GLfloat alpha + GLfloat red + GLfloat green + GLfloat blue + GLfloat alpha void glClearAccumxOES - GLfixed red - GLfixed green - GLfixed blue - GLfixed alpha + GLfixed red + GLfixed green + GLfixed blue + GLfixed alpha void glClearBufferData @@ -8255,8 +8346,8 @@ typedef unsigned int GLhandleARB; void glClearBufferSubData GLenum target GLenum internalformat - GLintptr offset - GLsizeiptr size + GLintptr offset + GLsizeiptr size GLenum format GLenum type const void *data @@ -8264,7 +8355,7 @@ typedef unsigned int GLhandleARB; void glClearBufferfi GLenum buffer - GLint drawbuffer + GLint drawbuffer GLfloat depth GLint stencil @@ -8272,65 +8363,65 @@ typedef unsigned int GLhandleARB; void glClearBufferfv GLenum buffer - GLint drawbuffer + GLint drawbuffer const GLfloat *value void glClearBufferiv GLenum buffer - GLint drawbuffer + GLint drawbuffer const GLint *value void glClearBufferuiv GLenum buffer - GLint drawbuffer + GLint drawbuffer const GLuint *value void glClearColor - GLfloat red - GLfloat green - GLfloat blue - GLfloat alpha + GLfloat red + GLfloat green + GLfloat blue + GLfloat alpha void glClearColorIiEXT - GLint red - GLint green - GLint blue - GLint alpha + GLint red + GLint green + GLint blue + GLint alpha void glClearColorIuiEXT - GLuint red - GLuint green - GLuint blue - GLuint alpha + GLuint red + GLuint green + GLuint blue + GLuint alpha void glClearColorx - GLfixed red - GLfixed green - GLfixed blue - GLfixed alpha + GLfixed red + GLfixed green + GLfixed blue + GLfixed alpha void glClearColorxOES - GLfixed red - GLfixed green - GLfixed blue - GLfixed alpha + GLfixed red + GLfixed green + GLfixed blue + GLfixed alpha void glClearDepth - GLdouble depth + GLdouble depth @@ -8340,25 +8431,25 @@ typedef unsigned int GLhandleARB; void glClearDepthf - GLfloat d + GLfloat d void glClearDepthfOES - GLclampf depth + GLclampf depth void glClearDepthx - GLfixed depth + GLfixed depth void glClearDepthxOES - GLfixed depth + GLfixed depth void glClearIndex - GLfloat c + GLfloat c @@ -8381,8 +8472,8 @@ typedef unsigned int GLhandleARB; void glClearNamedBufferSubData GLuint buffer GLenum internalformat - GLintptr offset - GLsizeiptr size + GLintptr offset + GLsizeiptr size GLenum format GLenum type const void *data @@ -8391,8 +8482,8 @@ typedef unsigned int GLhandleARB; void glClearNamedBufferSubDataEXT GLuint buffer GLenum internalformat - GLsizeiptr offset - GLsizeiptr size + GLsizeiptr offset + GLsizeiptr size GLenum format GLenum type const void *data @@ -8401,29 +8492,29 @@ typedef unsigned int GLhandleARB; void glClearNamedFramebufferfi GLuint framebuffer GLenum buffer - GLint drawbuffer + GLint drawbuffer GLfloat depth - GLint stencil + GLint stencil void glClearNamedFramebufferfv GLuint framebuffer GLenum buffer - GLint drawbuffer + GLint drawbuffer const GLfloat *value void glClearNamedFramebufferiv GLuint framebuffer GLenum buffer - GLint drawbuffer + GLint drawbuffer const GLint *value void glClearNamedFramebufferuiv GLuint framebuffer GLenum buffer - GLint drawbuffer + GLint drawbuffer const GLuint *value @@ -8434,7 +8525,7 @@ typedef unsigned int GLhandleARB; void glClearStencil - GLint s + GLint s @@ -8508,13 +8599,13 @@ typedef unsigned int GLhandleARB; GLenum glClientWaitSync - GLsync sync + GLsync sync GLbitfield flags GLuint64 timeout GLenum glClientWaitSyncAPPLE - GLsync sync + GLsync sync GLbitfield flags GLuint64 timeout @@ -8569,176 +8660,176 @@ typedef unsigned int GLhandleARB; void glColor3b - GLbyte red - GLbyte green - GLbyte blue + GLbyte red + GLbyte green + GLbyte blue void glColor3bv - const GLbyte *v + const GLbyte *v void glColor3d - GLdouble red - GLdouble green - GLdouble blue + GLdouble red + GLdouble green + GLdouble blue void glColor3dv - const GLdouble *v + const GLdouble *v void glColor3f - GLfloat red - GLfloat green - GLfloat blue + GLfloat red + GLfloat green + GLfloat blue void glColor3fVertex3fSUN - GLfloat r - GLfloat g - GLfloat b + GLfloat r + GLfloat g + GLfloat b GLfloat x GLfloat y GLfloat z void glColor3fVertex3fvSUN - const GLfloat *c + const GLfloat *c const GLfloat *v void glColor3fv - const GLfloat *v + const GLfloat *v void glColor3hNV - GLhalfNV red - GLhalfNV green - GLhalfNV blue + GLhalfNV red + GLhalfNV green + GLhalfNV blue void glColor3hvNV - const GLhalfNV *v + const GLhalfNV *v void glColor3i - GLint red - GLint green - GLint blue + GLint red + GLint green + GLint blue void glColor3iv - const GLint *v + const GLint *v void glColor3s - GLshort red - GLshort green - GLshort blue + GLshort red + GLshort green + GLshort blue void glColor3sv - const GLshort *v + const GLshort *v void glColor3ub - GLubyte red - GLubyte green - GLubyte blue + GLubyte red + GLubyte green + GLubyte blue void glColor3ubv - const GLubyte *v + const GLubyte *v void glColor3ui - GLuint red - GLuint green - GLuint blue + GLuint red + GLuint green + GLuint blue void glColor3uiv - const GLuint *v + const GLuint *v void glColor3us - GLushort red - GLushort green - GLushort blue + GLushort red + GLushort green + GLushort blue void glColor3usv - const GLushort *v + const GLushort *v void glColor3xOES - GLfixed red - GLfixed green - GLfixed blue + GLfixed red + GLfixed green + GLfixed blue void glColor3xvOES - const GLfixed *components + const GLfixed *components void glColor4b - GLbyte red - GLbyte green - GLbyte blue - GLbyte alpha + GLbyte red + GLbyte green + GLbyte blue + GLbyte alpha void glColor4bv - const GLbyte *v + const GLbyte *v void glColor4d - GLdouble red - GLdouble green - GLdouble blue - GLdouble alpha + GLdouble red + GLdouble green + GLdouble blue + GLdouble alpha void glColor4dv - const GLdouble *v + const GLdouble *v void glColor4f - GLfloat red - GLfloat green - GLfloat blue - GLfloat alpha + GLfloat red + GLfloat green + GLfloat blue + GLfloat alpha void glColor4fNormal3fVertex3fSUN - GLfloat r - GLfloat g - GLfloat b - GLfloat a + GLfloat r + GLfloat g + GLfloat b + GLfloat a GLfloat nx GLfloat ny GLfloat nz @@ -8748,144 +8839,144 @@ typedef unsigned int GLhandleARB; void glColor4fNormal3fVertex3fvSUN - const GLfloat *c + const GLfloat *c const GLfloat *n const GLfloat *v void glColor4fv - const GLfloat *v + const GLfloat *v void glColor4hNV - GLhalfNV red - GLhalfNV green - GLhalfNV blue - GLhalfNV alpha + GLhalfNV red + GLhalfNV green + GLhalfNV blue + GLhalfNV alpha void glColor4hvNV - const GLhalfNV *v + const GLhalfNV *v void glColor4i - GLint red - GLint green - GLint blue - GLint alpha + GLint red + GLint green + GLint blue + GLint alpha void glColor4iv - const GLint *v + const GLint *v void glColor4s - GLshort red - GLshort green - GLshort blue - GLshort alpha + GLshort red + GLshort green + GLshort blue + GLshort alpha void glColor4sv - const GLshort *v + const GLshort *v void glColor4ub - GLubyte red - GLubyte green - GLubyte blue - GLubyte alpha + GLubyte red + GLubyte green + GLubyte blue + GLubyte alpha void glColor4ubVertex2fSUN - GLubyte r - GLubyte g - GLubyte b - GLubyte a + GLubyte r + GLubyte g + GLubyte b + GLubyte a GLfloat x GLfloat y void glColor4ubVertex2fvSUN - const GLubyte *c + const GLubyte *c const GLfloat *v void glColor4ubVertex3fSUN - GLubyte r - GLubyte g - GLubyte b - GLubyte a + GLubyte r + GLubyte g + GLubyte b + GLubyte a GLfloat x GLfloat y GLfloat z void glColor4ubVertex3fvSUN - const GLubyte *c + const GLubyte *c const GLfloat *v void glColor4ubv - const GLubyte *v + const GLubyte *v void glColor4ui - GLuint red - GLuint green - GLuint blue - GLuint alpha + GLuint red + GLuint green + GLuint blue + GLuint alpha void glColor4uiv - const GLuint *v + const GLuint *v void glColor4us - GLushort red - GLushort green - GLushort blue - GLushort alpha + GLushort red + GLushort green + GLushort blue + GLushort alpha void glColor4usv - const GLushort *v + const GLushort *v void glColor4x - GLfixed red - GLfixed green - GLfixed blue - GLfixed alpha + GLfixed red + GLfixed green + GLfixed blue + GLfixed alpha void glColor4xOES - GLfixed red - GLfixed green - GLfixed blue - GLfixed alpha + GLfixed red + GLfixed green + GLfixed blue + GLfixed alpha void glColor4xvOES - const GLfixed *components + const GLfixed *components void glColorFormatNV GLint size - GLenum type + GLenum type GLsizei stride @@ -8929,46 +9020,46 @@ typedef unsigned int GLhandleARB; void glColorMask - GLboolean red - GLboolean green - GLboolean blue - GLboolean alpha + GLboolean red + GLboolean green + GLboolean blue + GLboolean alpha void glColorMaskIndexedEXT GLuint index - GLboolean r - GLboolean g - GLboolean b - GLboolean a + GLboolean r + GLboolean g + GLboolean b + GLboolean a void glColorMaski GLuint index - GLboolean r - GLboolean g - GLboolean b - GLboolean a + GLboolean r + GLboolean g + GLboolean b + GLboolean a void glColorMaskiEXT GLuint index - GLboolean r - GLboolean g - GLboolean b - GLboolean a + GLboolean r + GLboolean g + GLboolean b + GLboolean a void glColorMaskiOES GLuint index - GLboolean r - GLboolean g - GLboolean b - GLboolean a + GLboolean r + GLboolean g + GLboolean b + GLboolean a @@ -8980,22 +9071,22 @@ typedef unsigned int GLhandleARB; void glColorP3ui GLenum type - GLuint color + GLuint color void glColorP3uiv GLenum type - const GLuint *color + const GLuint *color void glColorP4ui GLenum type - GLuint color + GLuint color void glColorP4uiv GLenum type - const GLuint *color + const GLuint *color void glColorPointer @@ -9072,14 +9163,14 @@ typedef unsigned int GLhandleARB; void glColorTableParameterfv GLenum target GLenum pname - const GLfloat *params + const GLfloat *params void glColorTableParameterfvSGI GLenum target GLenum pname - const GLfloat *params + const GLfloat *params @@ -9087,14 +9178,14 @@ typedef unsigned int GLhandleARB; void glColorTableParameteriv GLenum target GLenum pname - const GLint *params + const GLint *params void glColorTableParameterivSGI GLenum target GLenum pname - const GLint *params + const GLint *params @@ -9128,9 +9219,9 @@ typedef unsigned int GLhandleARB; GLenum sumOutput GLenum scale GLenum bias - GLboolean abDotProduct - GLboolean cdDotProduct - GLboolean muxSum + GLboolean abDotProduct + GLboolean cdDotProduct + GLboolean muxSum @@ -9142,7 +9233,7 @@ typedef unsigned int GLhandleARB; void glCombinerParameterfvNV GLenum pname - const GLfloat *params + const GLfloat *params @@ -9154,14 +9245,14 @@ typedef unsigned int GLhandleARB; void glCombinerParameterivNV GLenum pname - const GLint *params + const GLint *params void glCombinerStageParameterfvNV GLenum stage GLenum pname - const GLfloat *params + const GLfloat *params void glCommandListSegmentsNV @@ -9178,7 +9269,7 @@ typedef unsigned int GLhandleARB; void glCompileShaderARB - GLhandleARB shaderObj + GLhandleARB shaderObj @@ -9192,10 +9283,10 @@ typedef unsigned int GLhandleARB; void glCompressedMultiTexImage1DEXT GLenum texunit GLenum target - GLint level + GLint level GLenum internalformat GLsizei width - GLint border + GLint border GLsizei imageSize const void *bits @@ -9203,11 +9294,11 @@ typedef unsigned int GLhandleARB; void glCompressedMultiTexImage2DEXT GLenum texunit GLenum target - GLint level + GLint level GLenum internalformat GLsizei width GLsizei height - GLint border + GLint border GLsizei imageSize const void *bits @@ -9215,12 +9306,12 @@ typedef unsigned int GLhandleARB; void glCompressedMultiTexImage3DEXT GLenum texunit GLenum target - GLint level + GLint level GLenum internalformat GLsizei width GLsizei height GLsizei depth - GLint border + GLint border GLsizei imageSize const void *bits @@ -9228,8 +9319,8 @@ typedef unsigned int GLhandleARB; void glCompressedMultiTexSubImage1DEXT GLenum texunit GLenum target - GLint level - GLint xoffset + GLint level + GLint xoffset GLsizei width GLenum format GLsizei imageSize @@ -9239,9 +9330,9 @@ typedef unsigned int GLhandleARB; void glCompressedMultiTexSubImage2DEXT GLenum texunit GLenum target - GLint level - GLint xoffset - GLint yoffset + GLint level + GLint xoffset + GLint yoffset GLsizei width GLsizei height GLenum format @@ -9252,10 +9343,10 @@ typedef unsigned int GLhandleARB; void glCompressedMultiTexSubImage3DEXT GLenum texunit GLenum target - GLint level - GLint xoffset - GLint yoffset - GLint zoffset + GLint level + GLint xoffset + GLint yoffset + GLint zoffset GLsizei width GLsizei height GLsizei depth @@ -9266,78 +9357,78 @@ typedef unsigned int GLhandleARB; void glCompressedTexImage1D GLenum target - GLint level + GLint level GLenum internalformat GLsizei width - GLint border + GLint border GLsizei imageSize - const void *data + const void *data void glCompressedTexImage1DARB GLenum target - GLint level + GLint level GLenum internalformat GLsizei width - GLint border + GLint border GLsizei imageSize - const void *data + const void *data void glCompressedTexImage2D GLenum target - GLint level + GLint level GLenum internalformat GLsizei width GLsizei height - GLint border + GLint border GLsizei imageSize - const void *data + const void *data void glCompressedTexImage2DARB GLenum target - GLint level + GLint level GLenum internalformat GLsizei width GLsizei height - GLint border + GLint border GLsizei imageSize - const void *data + const void *data void glCompressedTexImage3D GLenum target - GLint level + GLint level GLenum internalformat GLsizei width GLsizei height GLsizei depth - GLint border + GLint border GLsizei imageSize - const void *data + const void *data void glCompressedTexImage3DARB GLenum target - GLint level + GLint level GLenum internalformat GLsizei width GLsizei height GLsizei depth - GLint border + GLint border GLsizei imageSize - const void *data + const void *data @@ -9356,84 +9447,84 @@ typedef unsigned int GLhandleARB; void glCompressedTexSubImage1D GLenum target - GLint level - GLint xoffset + GLint level + GLint xoffset GLsizei width GLenum format GLsizei imageSize - const void *data + const void *data void glCompressedTexSubImage1DARB GLenum target - GLint level - GLint xoffset + GLint level + GLint xoffset GLsizei width GLenum format GLsizei imageSize - const void *data + const void *data void glCompressedTexSubImage2D GLenum target - GLint level - GLint xoffset - GLint yoffset + GLint level + GLint xoffset + GLint yoffset GLsizei width GLsizei height GLenum format GLsizei imageSize - const void *data + const void *data void glCompressedTexSubImage2DARB GLenum target - GLint level - GLint xoffset - GLint yoffset + GLint level + GLint xoffset + GLint yoffset GLsizei width GLsizei height GLenum format GLsizei imageSize - const void *data + const void *data void glCompressedTexSubImage3D GLenum target - GLint level - GLint xoffset - GLint yoffset - GLint zoffset + GLint level + GLint xoffset + GLint yoffset + GLint zoffset GLsizei width GLsizei height GLsizei depth GLenum format GLsizei imageSize - const void *data + const void *data void glCompressedTexSubImage3DARB GLenum target - GLint level - GLint xoffset - GLint yoffset - GLint zoffset + GLint level + GLint xoffset + GLint yoffset + GLint zoffset GLsizei width GLsizei height GLsizei depth GLenum format GLsizei imageSize - const void *data + const void *data @@ -9453,37 +9544,37 @@ typedef unsigned int GLhandleARB; void glCompressedTextureImage1DEXT - GLuint texture + GLuint texture GLenum target - GLint level + GLint level GLenum internalformat GLsizei width - GLint border + GLint border GLsizei imageSize const void *bits void glCompressedTextureImage2DEXT - GLuint texture + GLuint texture GLenum target - GLint level + GLint level GLenum internalformat GLsizei width GLsizei height - GLint border + GLint border GLsizei imageSize const void *bits void glCompressedTextureImage3DEXT - GLuint texture + GLuint texture GLenum target - GLint level + GLint level GLenum internalformat GLsizei width GLsizei height GLsizei depth - GLint border + GLint border GLsizei imageSize const void *bits @@ -9499,10 +9590,10 @@ typedef unsigned int GLhandleARB; void glCompressedTextureSubImage1DEXT - GLuint texture + GLuint texture GLenum target - GLint level - GLint xoffset + GLint level + GLint xoffset GLsizei width GLenum format GLsizei imageSize @@ -9522,11 +9613,11 @@ typedef unsigned int GLhandleARB; void glCompressedTextureSubImage2DEXT - GLuint texture + GLuint texture GLenum target - GLint level - GLint xoffset - GLint yoffset + GLint level + GLint xoffset + GLint yoffset GLsizei width GLsizei height GLenum format @@ -9549,12 +9640,12 @@ typedef unsigned int GLhandleARB; void glCompressedTextureSubImage3DEXT - GLuint texture + GLuint texture GLenum target - GLint level - GLint xoffset - GLint yoffset - GLint zoffset + GLint level + GLint xoffset + GLint yoffset + GLint zoffset GLsizei width GLsizei height GLsizei depth @@ -9622,14 +9713,14 @@ typedef unsigned int GLhandleARB; void glConvolutionParameterf GLenum target GLenum pname - GLfloat params + GLfloat params void glConvolutionParameterfEXT GLenum target GLenum pname - GLfloat params + GLfloat params @@ -9637,14 +9728,14 @@ typedef unsigned int GLhandleARB; void glConvolutionParameterfv GLenum target GLenum pname - const GLfloat *params + const GLfloat *params void glConvolutionParameterfvEXT GLenum target GLenum pname - const GLfloat *params + const GLfloat *params @@ -9652,14 +9743,14 @@ typedef unsigned int GLhandleARB; void glConvolutionParameteri GLenum target GLenum pname - GLint params + GLint params void glConvolutionParameteriEXT GLenum target GLenum pname - GLint params + GLint params @@ -9667,14 +9758,14 @@ typedef unsigned int GLhandleARB; void glConvolutionParameteriv GLenum target GLenum pname - const GLint *params + const GLint *params void glConvolutionParameterivEXT GLenum target GLenum pname - const GLint *params + const GLint *params @@ -9694,26 +9785,26 @@ typedef unsigned int GLhandleARB; void glCopyBufferSubData GLenum readTarget GLenum writeTarget - GLintptr readOffset - GLintptr writeOffset - GLsizeiptr size + GLintptr readOffset + GLintptr writeOffset + GLsizeiptr size void glCopyBufferSubDataNV GLenum readTarget GLenum writeTarget - GLintptr readOffset - GLintptr writeOffset - GLsizeiptr size + GLintptr readOffset + GLintptr writeOffset + GLsizeiptr size void glCopyColorSubTable GLenum target GLsizei start - GLint x - GLint y + GLint x + GLint y GLsizei width @@ -9721,8 +9812,8 @@ typedef unsigned int GLhandleARB; void glCopyColorSubTableEXT GLenum target GLsizei start - GLint x - GLint y + GLint x + GLint y GLsizei width @@ -9730,8 +9821,8 @@ typedef unsigned int GLhandleARB; void glCopyColorTable GLenum target GLenum internalformat - GLint x - GLint y + GLint x + GLint y GLsizei width @@ -9739,8 +9830,8 @@ typedef unsigned int GLhandleARB; void glCopyColorTableSGI GLenum target GLenum internalformat - GLint x - GLint y + GLint x + GLint y GLsizei width @@ -9749,8 +9840,8 @@ typedef unsigned int GLhandleARB; void glCopyConvolutionFilter1D GLenum target GLenum internalformat - GLint x - GLint y + GLint x + GLint y GLsizei width @@ -9758,8 +9849,8 @@ typedef unsigned int GLhandleARB; void glCopyConvolutionFilter1DEXT GLenum target GLenum internalformat - GLint x - GLint y + GLint x + GLint y GLsizei width @@ -9768,8 +9859,8 @@ typedef unsigned int GLhandleARB; void glCopyConvolutionFilter2D GLenum target GLenum internalformat - GLint x - GLint y + GLint x + GLint y GLsizei width GLsizei height @@ -9778,8 +9869,8 @@ typedef unsigned int GLhandleARB; void glCopyConvolutionFilter2DEXT GLenum target GLenum internalformat - GLint x - GLint y + GLint x + GLint y GLsizei width GLsizei height @@ -9864,44 +9955,44 @@ typedef unsigned int GLhandleARB; void glCopyMultiTexImage1DEXT GLenum texunit GLenum target - GLint level + GLint level GLenum internalformat - GLint x - GLint y + GLint x + GLint y GLsizei width - GLint border + GLint border void glCopyMultiTexImage2DEXT GLenum texunit GLenum target - GLint level + GLint level GLenum internalformat - GLint x - GLint y + GLint x + GLint y GLsizei width GLsizei height - GLint border + GLint border void glCopyMultiTexSubImage1DEXT GLenum texunit GLenum target - GLint level - GLint xoffset - GLint x - GLint y + GLint level + GLint xoffset + GLint x + GLint y GLsizei width void glCopyMultiTexSubImage2DEXT GLenum texunit GLenum target - GLint level - GLint xoffset - GLint yoffset - GLint x - GLint y + GLint level + GLint xoffset + GLint yoffset + GLint x + GLint y GLsizei width GLsizei height @@ -9909,12 +10000,12 @@ typedef unsigned int GLhandleARB; void glCopyMultiTexSubImage3DEXT GLenum texunit GLenum target - GLint level - GLint xoffset - GLint yoffset - GLint zoffset - GLint x - GLint y + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLint x + GLint y GLsizei width GLsizei height @@ -9924,17 +10015,17 @@ typedef unsigned int GLhandleARB; GLuint writeBuffer GLintptr readOffset GLintptr writeOffset - GLsizeiptr size + GLsizeiptr size void glCopyPathNV - GLuint resultPath - GLuint srcPath + GLuint resultPath + GLuint srcPath void glCopyPixels - GLint x - GLint y + GLint x + GLint y GLsizei width GLsizei height GLenum type @@ -9943,68 +10034,68 @@ typedef unsigned int GLhandleARB; void glCopyTexImage1D GLenum target - GLint level + GLint level GLenum internalformat - GLint x - GLint y + GLint x + GLint y GLsizei width - GLint border + GLint border void glCopyTexImage1DEXT GLenum target - GLint level + GLint level GLenum internalformat - GLint x - GLint y + GLint x + GLint y GLsizei width - GLint border + GLint border void glCopyTexImage2D GLenum target - GLint level + GLint level GLenum internalformat - GLint x - GLint y + GLint x + GLint y GLsizei width GLsizei height - GLint border + GLint border void glCopyTexImage2DEXT GLenum target - GLint level + GLint level GLenum internalformat - GLint x - GLint y + GLint x + GLint y GLsizei width GLsizei height - GLint border + GLint border void glCopyTexSubImage1D GLenum target - GLint level - GLint xoffset - GLint x - GLint y + GLint level + GLint xoffset + GLint x + GLint y GLsizei width void glCopyTexSubImage1DEXT GLenum target - GLint level - GLint xoffset - GLint x - GLint y + GLint level + GLint xoffset + GLint x + GLint y GLsizei width @@ -10012,11 +10103,11 @@ typedef unsigned int GLhandleARB; void glCopyTexSubImage2D GLenum target - GLint level - GLint xoffset - GLint yoffset - GLint x - GLint y + GLint level + GLint xoffset + GLint yoffset + GLint x + GLint y GLsizei width GLsizei height @@ -10024,11 +10115,11 @@ typedef unsigned int GLhandleARB; void glCopyTexSubImage2DEXT GLenum target - GLint level - GLint xoffset - GLint yoffset - GLint x - GLint y + GLint level + GLint xoffset + GLint yoffset + GLint x + GLint y GLsizei width GLsizei height @@ -10037,12 +10128,12 @@ typedef unsigned int GLhandleARB; void glCopyTexSubImage3D GLenum target - GLint level - GLint xoffset - GLint yoffset - GLint zoffset - GLint x - GLint y + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLint x + GLint y GLsizei width GLsizei height @@ -10050,12 +10141,12 @@ typedef unsigned int GLhandleARB; void glCopyTexSubImage3DEXT GLenum target - GLint level - GLint xoffset - GLint yoffset - GLint zoffset - GLint x - GLint y + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLint x + GLint y GLsizei width GLsizei height @@ -10075,26 +10166,26 @@ typedef unsigned int GLhandleARB; void glCopyTextureImage1DEXT - GLuint texture + GLuint texture GLenum target - GLint level + GLint level GLenum internalformat - GLint x - GLint y + GLint x + GLint y GLsizei width - GLint border + GLint border void glCopyTextureImage2DEXT - GLuint texture + GLuint texture GLenum target - GLint level + GLint level GLenum internalformat - GLint x - GLint y + GLint x + GLint y GLsizei width GLsizei height - GLint border + GLint border void glCopyTextureLevelsAPPLE @@ -10114,12 +10205,12 @@ typedef unsigned int GLhandleARB; void glCopyTextureSubImage1DEXT - GLuint texture + GLuint texture GLenum target - GLint level - GLint xoffset - GLint x - GLint y + GLint level + GLint xoffset + GLint x + GLint y GLsizei width @@ -10135,13 +10226,13 @@ typedef unsigned int GLhandleARB; void glCopyTextureSubImage2DEXT - GLuint texture + GLuint texture GLenum target - GLint level - GLint xoffset - GLint yoffset - GLint x - GLint y + GLint level + GLint xoffset + GLint yoffset + GLint x + GLint y GLsizei width GLsizei height @@ -10159,14 +10250,14 @@ typedef unsigned int GLhandleARB; void glCopyTextureSubImage3DEXT - GLuint texture + GLuint texture GLenum target - GLint level - GLint xoffset - GLint yoffset - GLint zoffset - GLint x - GLint y + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLint x + GLint y GLsizei width GLsizei height @@ -10174,35 +10265,35 @@ typedef unsigned int GLhandleARB; void glCoverFillPathInstancedNV GLsizei numPaths GLenum pathNameType - const void *paths - GLuint pathBase - GLenum coverMode + const void *paths + GLuint pathBase + GLenum coverMode GLenum transformType const GLfloat *transformValues void glCoverFillPathNV - GLuint path + GLuint path GLenum coverMode void glCoverStrokePathInstancedNV GLsizei numPaths GLenum pathNameType - const void *paths - GLuint pathBase - GLenum coverMode + const void *paths + GLuint pathBase + GLenum coverMode GLenum transformType const GLfloat *transformValues void glCoverStrokePathNV - GLuint path + GLuint path GLenum coverMode void glCoverageMaskNV - GLboolean mask + GLboolean mask void glCoverageModulationNV @@ -10239,14 +10330,14 @@ typedef unsigned int GLhandleARB; void glCreatePerfQueryINTEL - GLuint queryId - GLuint *queryHandle + GLuint queryId + GLuint *queryHandle GLuint glCreateProgram - GLhandleARB glCreateProgramObjectARB + GLhandleARB glCreateProgramObjectARB @@ -10283,7 +10374,7 @@ typedef unsigned int GLhandleARB; GLenum type - GLhandleARB glCreateShaderObjectARB + GLhandleARB glCreateShaderObjectARB GLenum shaderType @@ -10310,9 +10401,9 @@ typedef unsigned int GLhandleARB; GLuint *states - GLsync glCreateSyncFromCLeventARB - struct _cl_context *context - struct _cl_event *event + GLsync glCreateSyncFromCLeventARB + struct _cl_context *context + struct _cl_event *event GLbitfield flags @@ -10384,7 +10475,7 @@ typedef unsigned int GLhandleARB; GLenum severity GLsizei count const GLuint *ids - GLboolean enabled + GLboolean enabled void glDebugMessageControlARB @@ -10393,7 +10484,7 @@ typedef unsigned int GLhandleARB; GLenum severity GLsizei count const GLuint *ids - GLboolean enabled + GLboolean enabled @@ -10403,7 +10494,7 @@ typedef unsigned int GLhandleARB; GLenum severity GLsizei count const GLuint *ids - GLboolean enabled + GLboolean enabled @@ -10412,7 +10503,7 @@ typedef unsigned int GLhandleARB; GLenum severity GLsizei count const GLuint *ids - GLboolean enabled + GLboolean enabled void glDebugMessageInsert @@ -10459,37 +10550,37 @@ typedef unsigned int GLhandleARB; void glDeformationMap3dSGIX GLenum target - GLdouble u1 - GLdouble u2 + GLdouble u1 + GLdouble u2 GLint ustride - GLint uorder - GLdouble v1 - GLdouble v2 + GLint uorder + GLdouble v1 + GLdouble v2 GLint vstride - GLint vorder - GLdouble w1 - GLdouble w2 + GLint vorder + GLdouble w1 + GLdouble w2 GLint wstride - GLint worder - const GLdouble *points + GLint worder + const GLdouble *points void glDeformationMap3fSGIX GLenum target - GLfloat u1 - GLfloat u2 + GLfloat u1 + GLfloat u2 GLint ustride - GLint uorder - GLfloat v1 - GLfloat v2 + GLint uorder + GLfloat v1 + GLfloat v2 GLint vstride - GLint vorder - GLfloat w1 - GLfloat w2 + GLint vorder + GLfloat w1 + GLfloat w2 GLint wstride - GLint worder - const GLfloat *points + GLint worder + const GLfloat *points @@ -10516,12 +10607,12 @@ typedef unsigned int GLhandleARB; void glDeleteFencesAPPLE GLsizei n - const GLuint *fences + const GLuint *fences void glDeleteFencesNV GLsizei n - const GLuint *fences + const GLuint *fences @@ -10548,7 +10639,7 @@ typedef unsigned int GLhandleARB; void glDeleteLists - GLuint list + GLuint list GLsizei range @@ -10570,7 +10661,7 @@ typedef unsigned int GLhandleARB; void glDeleteObjectARB - GLhandleARB obj + GLhandleARB obj void glDeleteOcclusionQueriesNV @@ -10579,7 +10670,7 @@ typedef unsigned int GLhandleARB; void glDeletePathsNV - GLuint path + GLuint path GLsizei range @@ -10589,7 +10680,7 @@ typedef unsigned int GLhandleARB; void glDeletePerfQueryINTEL - GLuint queryHandle + GLuint queryHandle void glDeleteProgram @@ -10681,7 +10772,7 @@ typedef unsigned int GLhandleARB; void glDeleteSync - GLsync sync + GLsync sync void glDeleteSyncAPPLE @@ -10691,13 +10782,13 @@ typedef unsigned int GLhandleARB; void glDeleteTextures GLsizei n - const GLuint *textures + const GLuint *textures void glDeleteTexturesEXT GLsizei n - const GLuint *textures + const GLuint *textures @@ -10735,8 +10826,8 @@ typedef unsigned int GLhandleARB; void glDepthBoundsEXT - GLclampd zmin - GLclampd zmax + GLclampd zmin + GLclampd zmax @@ -10752,7 +10843,7 @@ typedef unsigned int GLhandleARB; void glDepthMask - GLboolean flag + GLboolean flag @@ -10822,8 +10913,8 @@ typedef unsigned int GLhandleARB; void glDepthRangefOES - GLclampf n - GLclampf f + GLclampf n + GLclampf f @@ -10834,13 +10925,13 @@ typedef unsigned int GLhandleARB; void glDepthRangexOES - GLfixed n - GLfixed f + GLfixed n + GLfixed f void glDetachObjectARB - GLhandleARB containerObj - GLhandleARB attachedObj + GLhandleARB containerObj + GLhandleARB attachedObj @@ -10964,7 +11055,7 @@ typedef unsigned int GLhandleARB; void glDispatchComputeIndirect - GLintptr indirect + GLintptr indirect void glDrawArrays @@ -11503,7 +11594,7 @@ typedef unsigned int GLhandleARB; void glEdgeFlag - GLboolean flag + GLboolean flag @@ -11519,17 +11610,17 @@ typedef unsigned int GLhandleARB; void glEdgeFlagPointerEXT GLsizei stride GLsizei count - const GLboolean *pointer + const GLboolean *pointer void glEdgeFlagPointerListIBM GLint stride - const GLboolean **pointer + const GLboolean **pointer GLint ptrstride void glEdgeFlagv - const GLboolean *flag + const GLboolean *flag @@ -11660,7 +11751,7 @@ typedef unsigned int GLhandleARB; void glEndPerfQueryINTEL - GLuint queryHandle + GLuint queryHandle void glEndQuery @@ -11706,22 +11797,22 @@ typedef unsigned int GLhandleARB; void glEvalCoord1d - GLdouble u + GLdouble u void glEvalCoord1dv - const GLdouble *u + const GLdouble *u void glEvalCoord1f - GLfloat u + GLfloat u void glEvalCoord1fv - const GLfloat *u + const GLfloat *u @@ -11734,24 +11825,24 @@ typedef unsigned int GLhandleARB; void glEvalCoord2d - GLdouble u - GLdouble v + GLdouble u + GLdouble v void glEvalCoord2dv - const GLdouble *u + const GLdouble *u void glEvalCoord2f - GLfloat u - GLfloat v + GLfloat u + GLfloat v void glEvalCoord2fv - const GLfloat *u + const GLfloat *u @@ -11771,17 +11862,17 @@ typedef unsigned int GLhandleARB; void glEvalMesh1 GLenum mode - GLint i1 - GLint i2 + GLint i1 + GLint i2 void glEvalMesh2 GLenum mode - GLint i1 - GLint i2 - GLint j1 - GLint j2 + GLint i1 + GLint i2 + GLint j1 + GLint j2 @@ -11791,8 +11882,8 @@ typedef unsigned int GLhandleARB; void glEvalPoint2 - GLint i - GLint j + GLint i + GLint j @@ -11876,7 +11967,7 @@ typedef unsigned int GLhandleARB; GLint *numTextures - GLboolean glExtIsProgramBinaryQCOM + GLboolean glExtIsProgramBinaryQCOM GLuint program @@ -11895,7 +11986,7 @@ typedef unsigned int GLhandleARB; void glFeedbackBuffer GLsizei size GLenum type - GLfloat *buffer + GLfloat *buffer @@ -11905,12 +11996,12 @@ typedef unsigned int GLhandleARB; const GLfixed *buffer - GLsync glFenceSync + GLsync glFenceSync GLenum condition GLbitfield flags - GLsync glFenceSyncAPPLE + GLsync glFenceSyncAPPLE GLenum condition GLbitfield flags @@ -11933,11 +12024,11 @@ typedef unsigned int GLhandleARB; void glFinishFenceAPPLE - GLuint fence + GLuint fence void glFinishFenceNV - GLuint fence + GLuint fence @@ -11955,14 +12046,14 @@ typedef unsigned int GLhandleARB; void glFlushMappedBufferRange GLenum target - GLintptr offset - GLsizeiptr length + GLintptr offset + GLsizeiptr length void glFlushMappedBufferRangeAPPLE GLenum target - GLintptr offset - GLsizeiptr size + GLintptr offset + GLsizeiptr size @@ -11976,7 +12067,7 @@ typedef unsigned int GLhandleARB; void glFlushMappedNamedBufferRange GLuint buffer GLintptr offset - GLsizeiptr length + GLsizeiptr length void glFlushMappedNamedBufferRangeEXT @@ -12031,56 +12122,56 @@ typedef unsigned int GLhandleARB; void glFogCoordd - GLdouble coord + GLdouble coord void glFogCoorddEXT - GLdouble coord + GLdouble coord void glFogCoorddv - const GLdouble *coord + const GLdouble *coord void glFogCoorddvEXT - const GLdouble *coord + const GLdouble *coord void glFogCoordf - GLfloat coord + GLfloat coord void glFogCoordfEXT - GLfloat coord + GLfloat coord void glFogCoordfv - const GLfloat *coord + const GLfloat *coord void glFogCoordfvEXT - const GLfloat *coord + const GLfloat *coord void glFogCoordhNV - GLhalfNV fog + GLhalfNV fog void glFogCoordhvNV - const GLhalfNV *fog + const GLhalfNV *fog @@ -12092,25 +12183,25 @@ typedef unsigned int GLhandleARB; void glFogf GLenum pname - GLfloat param + GLfloat param void glFogfv GLenum pname - const GLfloat *params + const GLfloat *params void glFogi GLenum pname - GLint param + GLint param void glFogiv GLenum pname - const GLint *params + const GLint *params @@ -12145,87 +12236,87 @@ typedef unsigned int GLhandleARB; void glFragmentLightModelfSGIX GLenum pname - GLfloat param + GLfloat param void glFragmentLightModelfvSGIX GLenum pname - const GLfloat *params + const GLfloat *params void glFragmentLightModeliSGIX GLenum pname - GLint param + GLint param void glFragmentLightModelivSGIX GLenum pname - const GLint *params + const GLint *params void glFragmentLightfSGIX GLenum light GLenum pname - GLfloat param + GLfloat param void glFragmentLightfvSGIX GLenum light GLenum pname - const GLfloat *params + const GLfloat *params void glFragmentLightiSGIX GLenum light GLenum pname - GLint param + GLint param void glFragmentLightivSGIX GLenum light GLenum pname - const GLint *params + const GLint *params void glFragmentMaterialfSGIX GLenum face GLenum pname - GLfloat param + GLfloat param void glFragmentMaterialfvSGIX GLenum face GLenum pname - const GLfloat *params + const GLfloat *params void glFragmentMaterialiSGIX GLenum face GLenum pname - GLint param + GLint param void glFragmentMaterialivSGIX GLenum face GLenum pname - const GLint *params + const GLint *params void glFrameTerminatorGREMEDY void glFrameZoomSGIX - GLint factor + GLint factor void glFramebufferDrawBufferEXT - GLuint framebuffer + GLuint framebuffer GLenum mode void glFramebufferDrawBuffersEXT - GLuint framebuffer + GLuint framebuffer GLsizei n const GLenum *bufs @@ -12237,7 +12328,7 @@ typedef unsigned int GLhandleARB; void glFramebufferFoveationConfigQCOM - GLuint framebuffer + GLuint framebuffer GLuint numLayers GLuint focalPointsPerLayer GLuint requestedFeatures @@ -12245,14 +12336,14 @@ typedef unsigned int GLhandleARB; void glFramebufferFoveationParametersQCOM - GLuint framebuffer + GLuint framebuffer GLuint layer GLuint focalPoint - GLfloat focalX - GLfloat focalY - GLfloat gainX - GLfloat gainY - GLfloat foveaArea + GLfloat focalX + GLfloat focalY + GLfloat gainX + GLfloat gainY + GLfloat foveaArea void glFramebufferParameteri @@ -12267,7 +12358,7 @@ typedef unsigned int GLhandleARB; void glFramebufferReadBufferEXT - GLuint framebuffer + GLuint framebuffer GLenum mode @@ -12440,32 +12531,32 @@ typedef unsigned int GLhandleARB; void glFramebufferTextureARB GLenum target GLenum attachment - GLuint texture - GLint level + GLuint texture + GLint level void glFramebufferTextureEXT GLenum target GLenum attachment - GLuint texture - GLint level + GLuint texture + GLint level void glFramebufferTextureFaceARB GLenum target GLenum attachment - GLuint texture - GLint level + GLuint texture + GLint level GLenum face void glFramebufferTextureFaceEXT GLenum target GLenum attachment - GLuint texture - GLint level + GLuint texture + GLint level GLenum face @@ -12473,36 +12564,36 @@ typedef unsigned int GLhandleARB; void glFramebufferTextureLayer GLenum target GLenum attachment - GLuint texture - GLint level - GLint layer + GLuint texture + GLint level + GLint layer void glFramebufferTextureLayerARB GLenum target GLenum attachment - GLuint texture - GLint level - GLint layer + GLuint texture + GLint level + GLint layer void glFramebufferTextureLayerEXT GLenum target GLenum attachment - GLuint texture - GLint level - GLint layer + GLuint texture + GLint level + GLint layer void glFramebufferTextureLayerDownsampleIMG GLenum target GLenum attachment - GLuint texture - GLint level - GLint layer + GLuint texture + GLint level + GLint layer GLint xscale GLint yscale @@ -12510,8 +12601,8 @@ typedef unsigned int GLhandleARB; void glFramebufferTextureMultisampleMultiviewOVR GLenum target GLenum attachment - GLuint texture - GLint level + GLuint texture + GLint level GLsizei samples GLint baseViewIndex GLsizei numViews @@ -12520,8 +12611,8 @@ typedef unsigned int GLhandleARB; void glFramebufferTextureMultiviewOVR GLenum target GLenum attachment - GLuint texture - GLint level + GLuint texture + GLint level GLint baseViewIndex GLsizei numViews @@ -12529,8 +12620,8 @@ typedef unsigned int GLhandleARB; void glFramebufferTextureOES GLenum target GLenum attachment - GLuint texture - GLint level + GLuint texture + GLint level @@ -12607,12 +12698,12 @@ typedef unsigned int GLhandleARB; void glGenFencesAPPLE GLsizei n - GLuint *fences + GLuint *fences void glGenFencesNV GLsizei n - GLuint *fences + GLuint *fences @@ -12638,7 +12729,7 @@ typedef unsigned int GLhandleARB; GLuint *framebuffers - GLuint glGenLists + GLuint glGenLists GLsizei range @@ -12654,7 +12745,7 @@ typedef unsigned int GLhandleARB; GLuint *ids - GLuint glGenPathsNV + GLuint glGenPathsNV GLsizei range @@ -12745,13 +12836,13 @@ typedef unsigned int GLhandleARB; void glGenTextures GLsizei n - GLuint *textures + GLuint *textures void glGenTexturesEXT GLsizei n - GLuint *textures + GLuint *textures @@ -12813,7 +12904,7 @@ typedef unsigned int GLhandleARB; void glGenerateTextureMipmapEXT - GLuint texture + GLuint texture GLenum target @@ -12835,7 +12926,7 @@ typedef unsigned int GLhandleARB; void glGetActiveAttribARB - GLhandleARB programObj + GLhandleARB programObj GLuint index GLsizei maxLength GLsizei *length @@ -12882,7 +12973,7 @@ typedef unsigned int GLhandleARB; void glGetActiveUniformARB - GLhandleARB programObj + GLhandleARB programObj GLuint index GLsizei maxLength GLsizei *length @@ -12950,10 +13041,10 @@ typedef unsigned int GLhandleARB; void glGetAttachedObjectsARB - GLhandleARB containerObj + GLhandleARB containerObj GLsizei maxCount GLsizei *count - GLhandleARB *obj + GLhandleARB *obj void glGetAttachedShaders @@ -12969,7 +13060,7 @@ typedef unsigned int GLhandleARB; GLint glGetAttribLocationARB - GLhandleARB programObj + GLhandleARB programObj const GLcharARB *name @@ -12977,7 +13068,7 @@ typedef unsigned int GLhandleARB; void glGetBooleanIndexedvEXT GLenum target GLuint index - GLboolean *data + GLboolean *data @@ -12985,12 +13076,12 @@ typedef unsigned int GLhandleARB; void glGetBooleani_v GLenum target GLuint index - GLboolean *data + GLboolean *data void glGetBooleanv GLenum pname - GLboolean *data + GLboolean *data @@ -13041,15 +13132,15 @@ typedef unsigned int GLhandleARB; void glGetBufferSubData GLenum target - GLintptr offset - GLsizeiptr size + GLintptr offset + GLsizeiptr size void *data void glGetBufferSubDataARB GLenum target - GLintptrARB offset - GLsizeiptrARB size + GLintptrARB offset + GLsizeiptrARB size void *data @@ -13196,22 +13287,22 @@ typedef unsigned int GLhandleARB; void glGetCompressedMultiTexImageEXT GLenum texunit GLenum target - GLint lod + GLint lod void *img void glGetCompressedTexImage GLenum target - GLint level - void *img + GLint level + void *img void glGetCompressedTexImageARB GLenum target - GLint level - void *img + GLint level + void *img @@ -13224,9 +13315,9 @@ typedef unsigned int GLhandleARB; void glGetCompressedTextureImageEXT - GLuint texture + GLuint texture GLenum target - GLint lod + GLint lod void *img @@ -13394,7 +13485,7 @@ typedef unsigned int GLhandleARB; void glGetFenceivNV - GLuint fence + GLuint fence GLenum pname GLint *params @@ -13415,7 +13506,7 @@ typedef unsigned int GLhandleARB; void glGetFirstPerfQueryIdINTEL - GLuint *queryId + GLuint *queryId void glGetFixedv @@ -13565,7 +13656,7 @@ typedef unsigned int GLhandleARB; void glGetFramebufferParameterivEXT - GLuint framebuffer + GLuint framebuffer GLenum pname GLint *params @@ -13588,13 +13679,13 @@ typedef unsigned int GLhandleARB; - GLhandleARB glGetHandleARB + GLhandleARB glGetHandleARB GLenum pname void glGetHistogram GLenum target - GLboolean reset + GLboolean reset GLenum format GLenum type void *values @@ -13604,7 +13695,7 @@ typedef unsigned int GLhandleARB; void glGetHistogramEXT GLenum target - GLboolean reset + GLboolean reset GLenum format GLenum type void *values @@ -13648,7 +13739,7 @@ typedef unsigned int GLhandleARB; GLuint64 glGetImageHandleARB GLuint texture GLint level - GLboolean layered + GLboolean layered GLint layer GLenum format @@ -13656,7 +13747,7 @@ typedef unsigned int GLhandleARB; GLuint64 glGetImageHandleNV GLuint texture GLint level - GLboolean layered + GLboolean layered GLint layer GLenum format @@ -13674,7 +13765,7 @@ typedef unsigned int GLhandleARB; void glGetInfoLogARB - GLhandleARB obj + GLhandleARB obj GLsizei maxLength GLsizei *length GLcharARB *infoLog @@ -13772,7 +13863,7 @@ typedef unsigned int GLhandleARB; void glGetInvariantBooleanvEXT GLuint id GLenum value - GLboolean *data + GLboolean *data void glGetInvariantFloatvEXT @@ -13820,21 +13911,21 @@ typedef unsigned int GLhandleARB; void glGetListParameterfvSGIX - GLuint list + GLuint list GLenum pname - GLfloat *params + GLfloat *params void glGetListParameterivSGIX - GLuint list + GLuint list GLenum pname - GLint *params + GLint *params void glGetLocalConstantBooleanvEXT GLuint id GLenum value - GLboolean *data + GLboolean *data void glGetLocalConstantFloatvEXT @@ -13869,7 +13960,7 @@ typedef unsigned int GLhandleARB; GLenum type GLsizei ustride GLsizei vstride - GLboolean packed + GLboolean packed void *points @@ -13960,7 +14051,7 @@ typedef unsigned int GLhandleARB; void glGetMinmax GLenum target - GLboolean reset + GLboolean reset GLenum format GLenum type void *values @@ -13970,7 +14061,7 @@ typedef unsigned int GLhandleARB; void glGetMinmaxEXT GLenum target - GLboolean reset + GLboolean reset GLenum format GLenum type void *values @@ -14043,7 +14134,7 @@ typedef unsigned int GLhandleARB; void glGetMultiTexImageEXT GLenum texunit GLenum target - GLint level + GLint level GLenum format GLenum type void *pixels @@ -14052,7 +14143,7 @@ typedef unsigned int GLhandleARB; void glGetMultiTexLevelParameterfvEXT GLenum texunit GLenum target - GLint level + GLint level GLenum pname GLfloat *params @@ -14060,7 +14151,7 @@ typedef unsigned int GLhandleARB; void glGetMultiTexLevelParameterivEXT GLenum texunit GLenum target - GLint level + GLint level GLenum pname GLint *params @@ -14145,7 +14236,7 @@ typedef unsigned int GLhandleARB; void glGetNamedBufferSubData GLuint buffer GLintptr offset - GLsizeiptr size + GLsizeiptr size void *data @@ -14173,7 +14264,7 @@ typedef unsigned int GLhandleARB; void glGetNamedFramebufferAttachmentParameterivEXT - GLuint framebuffer + GLuint framebuffer GLenum attachment GLenum pname GLint *params @@ -14186,7 +14277,7 @@ typedef unsigned int GLhandleARB; void glGetNamedFramebufferParameterivEXT - GLuint framebuffer + GLuint framebuffer GLenum pname GLint *params @@ -14240,7 +14331,7 @@ typedef unsigned int GLhandleARB; void glGetNamedRenderbufferParameterivEXT - GLuint renderbuffer + GLuint renderbuffer GLenum pname GLint *params @@ -14261,8 +14352,8 @@ typedef unsigned int GLhandleARB; void glGetNextPerfQueryIdINTEL - GLuint queryId - GLuint *nextQueryId + GLuint queryId + GLuint *nextQueryId void glGetObjectBufferfvATI @@ -14303,7 +14394,7 @@ typedef unsigned int GLhandleARB; void glGetObjectParameterfvARB - GLhandleARB obj + GLhandleARB obj GLenum pname GLfloat *params @@ -14316,7 +14407,7 @@ typedef unsigned int GLhandleARB; void glGetObjectParameterivARB - GLhandleARB obj + GLhandleARB obj GLenum pname GLint *params @@ -14361,29 +14452,29 @@ typedef unsigned int GLhandleARB; void glGetPathCommandsNV - GLuint path - GLubyte *commands + GLuint path + GLubyte *commands void glGetPathCoordsNV - GLuint path + GLuint path GLfloat *coords void glGetPathDashArrayNV - GLuint path + GLuint path GLfloat *dashArray GLfloat glGetPathLengthNV - GLuint path + GLuint path GLsizei startSegment GLsizei numSegments void glGetPathMetricRangeNV GLbitfield metricQueryMask - GLuint firstPathName + GLuint firstPathName GLsizei numPaths GLsizei stride GLfloat *metrics @@ -14393,20 +14484,20 @@ typedef unsigned int GLhandleARB; GLbitfield metricQueryMask GLsizei numPaths GLenum pathNameType - const void *paths - GLuint pathBase + const void *paths + GLuint pathBase GLsizei stride GLfloat *metrics void glGetPathParameterfvNV - GLuint path + GLuint path GLenum pname GLfloat *value void glGetPathParameterivNV - GLuint path + GLuint path GLenum pname GLint *value @@ -14415,8 +14506,8 @@ typedef unsigned int GLhandleARB; GLenum pathListMode GLsizei numPaths GLenum pathNameType - const void *paths - GLuint pathBase + const void *paths + GLuint pathBase GLfloat advanceScale GLfloat kerningScale GLenum transformType @@ -14436,7 +14527,7 @@ typedef unsigned int GLhandleARB; void glGetPerfCounterInfoINTEL - GLuint queryId + GLuint queryId GLuint counterId GLuint counterNameLength GLchar *counterName @@ -14494,8 +14585,8 @@ typedef unsigned int GLhandleARB; void glGetPerfQueryDataINTEL - GLuint queryHandle - GLuint flags + GLuint queryHandle + GLuint flags GLsizei dataSize void *data GLuint *bytesWritten @@ -14503,11 +14594,11 @@ typedef unsigned int GLhandleARB; void glGetPerfQueryIdByNameINTEL GLchar *queryName - GLuint *queryId + GLuint *queryId void glGetPerfQueryInfoINTEL - GLuint queryId + GLuint queryId GLuint queryNameLength GLchar *queryName GLuint *dataSize @@ -14545,12 +14636,12 @@ typedef unsigned int GLhandleARB; void glGetPixelTexGenParameterfvSGIS GLenum pname - GLfloat *params + GLfloat *params void glGetPixelTexGenParameterivSGIS GLenum pname - GLint *params + GLint *params void glGetPixelTransformParameterfvEXT @@ -14812,7 +14903,7 @@ typedef unsigned int GLhandleARB; void glGetProgramStringNV GLuint id GLenum pname - GLubyte *program + GLubyte *program @@ -15095,7 +15186,7 @@ typedef unsigned int GLhandleARB; void glGetShaderSourceARB - GLhandleARB obj + GLhandleARB obj GLsizei maxLength GLsizei *length GLcharARB *source @@ -15137,12 +15228,12 @@ typedef unsigned int GLhandleARB; using these APIs. For more information, see public issue 363: https://github.com/KhronosGroup/OpenGL-Registry/issues/363 --> - const GLubyte *glGetString + const GLubyte *glGetString GLenum name - const GLubyte *glGetStringi + const GLubyte *glGetStringi GLenum name GLuint index @@ -15161,7 +15252,7 @@ typedef unsigned int GLhandleARB; void glGetSynciv - GLsync sync + GLsync sync GLenum pname GLsizei count GLsizei *length @@ -15261,7 +15352,7 @@ typedef unsigned int GLhandleARB; void glGetTexImage GLenum target - GLint level + GLint level GLenum format GLenum type void *pixels @@ -15271,7 +15362,7 @@ typedef unsigned int GLhandleARB; void glGetTexLevelParameterfv GLenum target - GLint level + GLint level GLenum pname GLfloat *params @@ -15279,7 +15370,7 @@ typedef unsigned int GLhandleARB; void glGetTexLevelParameteriv GLenum target - GLint level + GLint level GLenum pname GLint *params @@ -15389,9 +15480,9 @@ typedef unsigned int GLhandleARB; void glGetTextureImageEXT - GLuint texture + GLuint texture GLenum target - GLint level + GLint level GLenum format GLenum type void *pixels @@ -15405,9 +15496,9 @@ typedef unsigned int GLhandleARB; void glGetTextureLevelParameterfvEXT - GLuint texture + GLuint texture GLenum target - GLint level + GLint level GLenum pname GLfloat *params @@ -15420,9 +15511,9 @@ typedef unsigned int GLhandleARB; void glGetTextureLevelParameterivEXT - GLuint texture + GLuint texture GLenum target - GLint level + GLint level GLenum pname GLint *params @@ -15434,7 +15525,7 @@ typedef unsigned int GLhandleARB; void glGetTextureParameterIivEXT - GLuint texture + GLuint texture GLenum target GLenum pname GLint *params @@ -15447,7 +15538,7 @@ typedef unsigned int GLhandleARB; void glGetTextureParameterIuivEXT - GLuint texture + GLuint texture GLenum target GLenum pname GLuint *params @@ -15460,7 +15551,7 @@ typedef unsigned int GLhandleARB; void glGetTextureParameterfvEXT - GLuint texture + GLuint texture GLenum target GLenum pname GLfloat *params @@ -15473,7 +15564,7 @@ typedef unsigned int GLhandleARB; void glGetTextureParameterivEXT - GLuint texture + GLuint texture GLenum target GLenum pname GLint *params @@ -15598,12 +15689,12 @@ typedef unsigned int GLhandleARB; GLint glGetUniformLocationARB - GLhandleARB programObj + GLhandleARB programObj const GLcharARB *name - GLintptr glGetUniformOffsetEXT + GLintptr glGetUniformOffsetEXT GLuint program GLint location @@ -15627,7 +15718,7 @@ typedef unsigned int GLhandleARB; void glGetUniformfvARB - GLhandleARB programObj + GLhandleARB programObj GLint location GLfloat *params @@ -15652,7 +15743,7 @@ typedef unsigned int GLhandleARB; void glGetUniformivARB - GLhandleARB programObj + GLhandleARB programObj GLint location GLint *params @@ -15709,7 +15800,7 @@ typedef unsigned int GLhandleARB; void glGetVariantBooleanvEXT GLuint id GLenum value - GLboolean *data + GLboolean *data void glGetVariantFloatvEXT @@ -16039,7 +16130,7 @@ typedef unsigned int GLhandleARB; void glGetnHistogram GLenum target - GLboolean reset + GLboolean reset GLenum format GLenum type GLsizei bufSize @@ -16048,7 +16139,7 @@ typedef unsigned int GLhandleARB; void glGetnHistogramARB GLenum target - GLboolean reset + GLboolean reset GLenum format GLenum type GLsizei bufSize @@ -16099,7 +16190,7 @@ typedef unsigned int GLhandleARB; void glGetnMinmax GLenum target - GLboolean reset + GLboolean reset GLenum format GLenum type GLsizei bufSize @@ -16108,7 +16199,7 @@ typedef unsigned int GLhandleARB; void glGetnMinmaxARB GLenum target - GLboolean reset + GLboolean reset GLenum format GLenum type GLsizei bufSize @@ -16358,7 +16449,7 @@ typedef unsigned int GLhandleARB; GLenum target GLsizei width GLenum internalformat - GLboolean sink + GLboolean sink @@ -16366,7 +16457,7 @@ typedef unsigned int GLhandleARB; GLenum target GLsizei width GLenum internalformat - GLboolean sink + GLboolean sink @@ -16440,7 +16531,7 @@ typedef unsigned int GLhandleARB; const void *name - GLsync glImportSyncEXT + GLsync glImportSyncEXT GLenum external_sync_type GLintptr external_sync GLbitfield flags @@ -16453,11 +16544,11 @@ typedef unsigned int GLhandleARB; void glIndexFuncEXT GLenum func - GLclampf ref + GLclampf ref void glIndexMask - GLuint mask + GLuint mask @@ -16487,52 +16578,52 @@ typedef unsigned int GLhandleARB; void glIndexd - GLdouble c + GLdouble c void glIndexdv - const GLdouble *c + const GLdouble *c void glIndexf - GLfloat c + GLfloat c void glIndexfv - const GLfloat *c + const GLfloat *c void glIndexi - GLint c + GLint c void glIndexiv - const GLint *c + const GLint *c void glIndexs - GLshort c + GLshort c void glIndexsv - const GLshort *c + const GLshort *c void glIndexub - GLubyte c + GLubyte c void glIndexubv - const GLubyte *c + const GLubyte *c @@ -16572,9 +16663,9 @@ typedef unsigned int GLhandleARB; void glInterpolatePathsNV - GLuint resultPath - GLuint pathA - GLuint pathB + GLuint resultPath + GLuint pathA + GLuint pathB GLfloat weight @@ -16584,8 +16675,8 @@ typedef unsigned int GLhandleARB; void glInvalidateBufferSubData GLuint buffer - GLintptr offset - GLsizeiptr length + GLintptr offset + GLsizeiptr length void glInvalidateFramebuffer @@ -16636,269 +16727,269 @@ typedef unsigned int GLhandleARB; GLsizei depth - GLboolean glIsAsyncMarkerSGIX + GLboolean glIsAsyncMarkerSGIX GLuint marker - GLboolean glIsBuffer + GLboolean glIsBuffer GLuint buffer - GLboolean glIsBufferARB + GLboolean glIsBufferARB GLuint buffer - GLboolean glIsBufferResidentNV + GLboolean glIsBufferResidentNV GLenum target - GLboolean glIsCommandListNV + GLboolean glIsCommandListNV GLuint list - GLboolean glIsEnabled + GLboolean glIsEnabled GLenum cap - GLboolean glIsEnabledIndexedEXT + GLboolean glIsEnabledIndexedEXT GLenum target GLuint index - GLboolean glIsEnabledi + GLboolean glIsEnabledi GLenum target GLuint index - GLboolean glIsEnablediEXT + GLboolean glIsEnablediEXT GLenum target GLuint index - GLboolean glIsEnablediNV + GLboolean glIsEnablediNV GLenum target GLuint index - GLboolean glIsEnablediOES + GLboolean glIsEnablediOES GLenum target GLuint index - GLboolean glIsFenceAPPLE - GLuint fence + GLboolean glIsFenceAPPLE + GLuint fence - GLboolean glIsFenceNV - GLuint fence + GLboolean glIsFenceNV + GLuint fence - GLboolean glIsFramebuffer + GLboolean glIsFramebuffer GLuint framebuffer - GLboolean glIsFramebufferEXT + GLboolean glIsFramebufferEXT GLuint framebuffer - GLboolean glIsFramebufferOES + GLboolean glIsFramebufferOES GLuint framebuffer - GLboolean glIsImageHandleResidentARB + GLboolean glIsImageHandleResidentARB GLuint64 handle - GLboolean glIsImageHandleResidentNV + GLboolean glIsImageHandleResidentNV GLuint64 handle - GLboolean glIsList - GLuint list + GLboolean glIsList + GLuint list - GLboolean glIsMemoryObjectEXT + GLboolean glIsMemoryObjectEXT GLuint memoryObject - GLboolean glIsNameAMD + GLboolean glIsNameAMD GLenum identifier GLuint name - GLboolean glIsNamedBufferResidentNV + GLboolean glIsNamedBufferResidentNV GLuint buffer - GLboolean glIsNamedStringARB + GLboolean glIsNamedStringARB GLint namelen const GLchar *name - GLboolean glIsObjectBufferATI + GLboolean glIsObjectBufferATI GLuint buffer - GLboolean glIsOcclusionQueryNV + GLboolean glIsOcclusionQueryNV GLuint id - GLboolean glIsPathNV - GLuint path + GLboolean glIsPathNV + GLuint path - GLboolean glIsPointInFillPathNV - GLuint path - GLuint mask + GLboolean glIsPointInFillPathNV + GLuint path + GLuint mask GLfloat x GLfloat y - GLboolean glIsPointInStrokePathNV - GLuint path + GLboolean glIsPointInStrokePathNV + GLuint path GLfloat x GLfloat y - GLboolean glIsProgram + GLboolean glIsProgram GLuint program - GLboolean glIsProgramARB + GLboolean glIsProgramARB GLuint program - GLboolean glIsProgramNV + GLboolean glIsProgramNV GLuint id - GLboolean glIsProgramPipeline + GLboolean glIsProgramPipeline GLuint pipeline - GLboolean glIsProgramPipelineEXT + GLboolean glIsProgramPipelineEXT GLuint pipeline - GLboolean glIsQuery + GLboolean glIsQuery GLuint id - GLboolean glIsQueryARB + GLboolean glIsQueryARB GLuint id - GLboolean glIsQueryEXT + GLboolean glIsQueryEXT GLuint id - GLboolean glIsRenderbuffer + GLboolean glIsRenderbuffer GLuint renderbuffer - GLboolean glIsRenderbufferEXT + GLboolean glIsRenderbufferEXT GLuint renderbuffer - GLboolean glIsRenderbufferOES + GLboolean glIsRenderbufferOES GLuint renderbuffer - GLboolean glIsSemaphoreEXT + GLboolean glIsSemaphoreEXT GLuint semaphore - GLboolean glIsSampler + GLboolean glIsSampler GLuint sampler - GLboolean glIsShader + GLboolean glIsShader GLuint shader - GLboolean glIsStateNV + GLboolean glIsStateNV GLuint state - GLboolean glIsSync - GLsync sync + GLboolean glIsSync + GLsync sync - GLboolean glIsSyncAPPLE + GLboolean glIsSyncAPPLE GLsync sync - GLboolean glIsTexture - GLuint texture + GLboolean glIsTexture + GLuint texture - GLboolean glIsTextureEXT - GLuint texture + GLboolean glIsTextureEXT + GLuint texture - GLboolean glIsTextureHandleResidentARB + GLboolean glIsTextureHandleResidentARB GLuint64 handle - GLboolean glIsTextureHandleResidentNV + GLboolean glIsTextureHandleResidentNV GLuint64 handle - GLboolean glIsTransformFeedback + GLboolean glIsTransformFeedback GLuint id - GLboolean glIsTransformFeedbackNV + GLboolean glIsTransformFeedbackNV GLuint id - GLboolean glIsVariantEnabledEXT + GLboolean glIsVariantEnabledEXT GLuint id GLenum cap - GLboolean glIsVertexArray + GLboolean glIsVertexArray GLuint array - GLboolean glIsVertexArrayAPPLE + GLboolean glIsVertexArrayAPPLE GLuint array - GLboolean glIsVertexArrayOES + GLboolean glIsVertexArrayOES GLuint array - GLboolean glIsVertexAttribEnabledAPPLE + GLboolean glIsVertexAttribEnabledAPPLE GLuint index GLenum pname @@ -16993,28 +17084,28 @@ typedef unsigned int GLhandleARB; void glLightf GLenum light GLenum pname - GLfloat param + GLfloat param void glLightfv GLenum light GLenum pname - const GLfloat *params + const GLfloat *params void glLighti GLenum light GLenum pname - GLint param + GLint param void glLightiv GLenum light GLenum pname - const GLint *params + const GLint *params @@ -17043,13 +17134,13 @@ typedef unsigned int GLhandleARB; void glLineStipple - GLint factor - GLushort pattern + GLint factor + GLushort pattern void glLineWidth - GLfloat width + GLfloat width @@ -17066,12 +17157,12 @@ typedef unsigned int GLhandleARB; void glLinkProgramARB - GLhandleARB programObj + GLhandleARB programObj void glListBase - GLuint base + GLuint base @@ -17086,30 +17177,30 @@ typedef unsigned int GLhandleARB; void glListParameterfSGIX - GLuint list + GLuint list GLenum pname - GLfloat param + GLfloat param void glListParameterfvSGIX - GLuint list + GLuint list GLenum pname - const GLfloat *params + const GLfloat *params void glListParameteriSGIX - GLuint list + GLuint list GLenum pname - GLint param + GLint param void glListParameterivSGIX - GLuint list + GLuint list GLenum pname - const GLint *params + const GLint *params @@ -17141,7 +17232,7 @@ typedef unsigned int GLhandleARB; void glLoadName - GLuint name + GLuint name @@ -17242,21 +17333,21 @@ typedef unsigned int GLhandleARB; void glMap1d GLenum target - GLdouble u1 - GLdouble u2 + GLdouble u1 + GLdouble u2 GLint stride - GLint order - const GLdouble *points + GLint order + const GLdouble *points void glMap1f GLenum target - GLfloat u1 - GLfloat u2 + GLfloat u1 + GLfloat u2 GLint stride - GLint order - const GLfloat *points + GLint order + const GLfloat *points @@ -17271,29 +17362,29 @@ typedef unsigned int GLhandleARB; void glMap2d GLenum target - GLdouble u1 - GLdouble u2 + GLdouble u1 + GLdouble u2 GLint ustride - GLint uorder - GLdouble v1 - GLdouble v2 + GLint uorder + GLdouble v1 + GLdouble v2 GLint vstride - GLint vorder - const GLdouble *points + GLint vorder + const GLdouble *points void glMap2f GLenum target - GLfloat u1 - GLfloat u2 + GLfloat u1 + GLfloat u2 GLint ustride - GLint uorder - GLfloat v1 - GLfloat v2 + GLint uorder + GLfloat v1 + GLfloat v2 GLint vstride - GLint vorder - const GLfloat *points + GLint vorder + const GLfloat *points @@ -17329,8 +17420,8 @@ typedef unsigned int GLhandleARB; void *glMapBufferRange GLenum target - GLintptr offset - GLsizeiptr length + GLintptr offset + GLsizeiptr length GLbitfield access @@ -17349,23 +17440,23 @@ typedef unsigned int GLhandleARB; GLenum type GLsizei ustride GLsizei vstride - GLint uorder - GLint vorder - GLboolean packed + GLint uorder + GLint vorder + GLboolean packed const void *points void glMapGrid1d GLint un - GLdouble u1 - GLdouble u2 + GLdouble u1 + GLdouble u2 void glMapGrid1f GLint un - GLfloat u1 - GLfloat u2 + GLfloat u1 + GLfloat u2 @@ -17377,21 +17468,21 @@ typedef unsigned int GLhandleARB; void glMapGrid2d GLint un - GLdouble u1 - GLdouble u2 + GLdouble u1 + GLdouble u2 GLint vn - GLdouble v1 - GLdouble v2 + GLdouble v1 + GLdouble v2 void glMapGrid2f GLint un - GLfloat u1 - GLfloat u2 + GLfloat u1 + GLfloat u2 GLint vn - GLfloat v1 - GLfloat v2 + GLfloat v1 + GLfloat v2 @@ -17416,7 +17507,7 @@ typedef unsigned int GLhandleARB; void *glMapNamedBufferRange GLuint buffer GLintptr offset - GLsizeiptr length + GLsizeiptr length GLbitfield access @@ -17434,13 +17525,13 @@ typedef unsigned int GLhandleARB; void glMapParameterfvNV GLenum target GLenum pname - const GLfloat *params + const GLfloat *params void glMapParameterivNV GLenum target GLenum pname - const GLint *params + const GLint *params void *glMapTexture2DINTEL @@ -17454,76 +17545,76 @@ typedef unsigned int GLhandleARB; void glMapVertexAttrib1dAPPLE GLuint index GLuint size - GLdouble u1 - GLdouble u2 + GLdouble u1 + GLdouble u2 GLint stride - GLint order - const GLdouble *points + GLint order + const GLdouble *points void glMapVertexAttrib1fAPPLE GLuint index GLuint size - GLfloat u1 - GLfloat u2 + GLfloat u1 + GLfloat u2 GLint stride - GLint order - const GLfloat *points + GLint order + const GLfloat *points void glMapVertexAttrib2dAPPLE GLuint index GLuint size - GLdouble u1 - GLdouble u2 + GLdouble u1 + GLdouble u2 GLint ustride - GLint uorder - GLdouble v1 - GLdouble v2 + GLint uorder + GLdouble v1 + GLdouble v2 GLint vstride - GLint vorder - const GLdouble *points + GLint vorder + const GLdouble *points void glMapVertexAttrib2fAPPLE GLuint index GLuint size - GLfloat u1 - GLfloat u2 + GLfloat u1 + GLfloat u2 GLint ustride - GLint uorder - GLfloat v1 - GLfloat v2 + GLint uorder + GLfloat v1 + GLfloat v2 GLint vstride - GLint vorder - const GLfloat *points + GLint vorder + const GLfloat *points void glMaterialf GLenum face GLenum pname - GLfloat param + GLfloat param void glMaterialfv GLenum face GLenum pname - const GLfloat *params + const GLfloat *params void glMateriali GLenum face GLenum pname - GLint param + GLint param void glMaterialiv GLenum face GLenum pname - const GLint *params + const GLint *params @@ -17733,6 +17824,10 @@ typedef unsigned int GLhandleARB; GLfloat y GLfloat z + + void glMaxActiveShaderCoresARM + GLuint count + void glMaxShaderCompilerThreadsKHR GLuint count @@ -17763,30 +17858,30 @@ typedef unsigned int GLhandleARB; void glMinSampleShading - GLfloat value + GLfloat value void glMinSampleShadingARB - GLfloat value + GLfloat value void glMinSampleShadingOES - GLfloat value + GLfloat value void glMinmax GLenum target GLenum internalformat - GLboolean sink + GLboolean sink void glMinmaxEXT GLenum target GLenum internalformat - GLboolean sink + GLboolean sink @@ -18068,116 +18163,116 @@ typedef unsigned int GLhandleARB; void glMultiTexCoord1d GLenum target - GLdouble s + GLdouble s void glMultiTexCoord1dARB GLenum target - GLdouble s + GLdouble s void glMultiTexCoord1dv GLenum target - const GLdouble *v + const GLdouble *v void glMultiTexCoord1dvARB GLenum target - const GLdouble *v + const GLdouble *v void glMultiTexCoord1f GLenum target - GLfloat s + GLfloat s void glMultiTexCoord1fARB GLenum target - GLfloat s + GLfloat s void glMultiTexCoord1fv GLenum target - const GLfloat *v + const GLfloat *v void glMultiTexCoord1fvARB GLenum target - const GLfloat *v + const GLfloat *v void glMultiTexCoord1hNV GLenum target - GLhalfNV s + GLhalfNV s void glMultiTexCoord1hvNV GLenum target - const GLhalfNV *v + const GLhalfNV *v void glMultiTexCoord1i GLenum target - GLint s + GLint s void glMultiTexCoord1iARB GLenum target - GLint s + GLint s void glMultiTexCoord1iv GLenum target - const GLint *v + const GLint *v void glMultiTexCoord1ivARB GLenum target - const GLint *v + const GLint *v void glMultiTexCoord1s GLenum target - GLshort s + GLshort s void glMultiTexCoord1sARB GLenum target - GLshort s + GLshort s void glMultiTexCoord1sv GLenum target - const GLshort *v + const GLshort *v void glMultiTexCoord1svARB GLenum target - const GLshort *v + const GLshort *v @@ -18205,125 +18300,125 @@ typedef unsigned int GLhandleARB; void glMultiTexCoord2d GLenum target - GLdouble s - GLdouble t + GLdouble s + GLdouble t void glMultiTexCoord2dARB GLenum target - GLdouble s - GLdouble t + GLdouble s + GLdouble t void glMultiTexCoord2dv GLenum target - const GLdouble *v + const GLdouble *v void glMultiTexCoord2dvARB GLenum target - const GLdouble *v + const GLdouble *v void glMultiTexCoord2f GLenum target - GLfloat s - GLfloat t + GLfloat s + GLfloat t void glMultiTexCoord2fARB GLenum target - GLfloat s - GLfloat t + GLfloat s + GLfloat t void glMultiTexCoord2fv GLenum target - const GLfloat *v + const GLfloat *v void glMultiTexCoord2fvARB GLenum target - const GLfloat *v + const GLfloat *v void glMultiTexCoord2hNV GLenum target - GLhalfNV s - GLhalfNV t + GLhalfNV s + GLhalfNV t void glMultiTexCoord2hvNV GLenum target - const GLhalfNV *v + const GLhalfNV *v void glMultiTexCoord2i GLenum target - GLint s - GLint t + GLint s + GLint t void glMultiTexCoord2iARB GLenum target - GLint s - GLint t + GLint s + GLint t void glMultiTexCoord2iv GLenum target - const GLint *v + const GLint *v void glMultiTexCoord2ivARB GLenum target - const GLint *v + const GLint *v void glMultiTexCoord2s GLenum target - GLshort s - GLshort t + GLshort s + GLshort t void glMultiTexCoord2sARB GLenum target - GLshort s - GLshort t + GLshort s + GLshort t void glMultiTexCoord2sv GLenum target - const GLshort *v + const GLshort *v void glMultiTexCoord2svARB GLenum target - const GLshort *v + const GLshort *v @@ -18353,134 +18448,134 @@ typedef unsigned int GLhandleARB; void glMultiTexCoord3d GLenum target - GLdouble s - GLdouble t - GLdouble r + GLdouble s + GLdouble t + GLdouble r void glMultiTexCoord3dARB GLenum target - GLdouble s - GLdouble t - GLdouble r + GLdouble s + GLdouble t + GLdouble r void glMultiTexCoord3dv GLenum target - const GLdouble *v + const GLdouble *v void glMultiTexCoord3dvARB GLenum target - const GLdouble *v + const GLdouble *v void glMultiTexCoord3f GLenum target - GLfloat s - GLfloat t - GLfloat r + GLfloat s + GLfloat t + GLfloat r void glMultiTexCoord3fARB GLenum target - GLfloat s - GLfloat t - GLfloat r + GLfloat s + GLfloat t + GLfloat r void glMultiTexCoord3fv GLenum target - const GLfloat *v + const GLfloat *v void glMultiTexCoord3fvARB GLenum target - const GLfloat *v + const GLfloat *v void glMultiTexCoord3hNV GLenum target - GLhalfNV s - GLhalfNV t - GLhalfNV r + GLhalfNV s + GLhalfNV t + GLhalfNV r void glMultiTexCoord3hvNV GLenum target - const GLhalfNV *v + const GLhalfNV *v void glMultiTexCoord3i GLenum target - GLint s - GLint t - GLint r + GLint s + GLint t + GLint r void glMultiTexCoord3iARB GLenum target - GLint s - GLint t - GLint r + GLint s + GLint t + GLint r void glMultiTexCoord3iv GLenum target - const GLint *v + const GLint *v void glMultiTexCoord3ivARB GLenum target - const GLint *v + const GLint *v void glMultiTexCoord3s GLenum target - GLshort s - GLshort t - GLshort r + GLshort s + GLshort t + GLshort r void glMultiTexCoord3sARB GLenum target - GLshort s - GLshort t - GLshort r + GLshort s + GLshort t + GLshort r void glMultiTexCoord3sv GLenum target - const GLshort *v + const GLshort *v void glMultiTexCoord3svARB GLenum target - const GLshort *v + const GLshort *v @@ -18512,143 +18607,143 @@ typedef unsigned int GLhandleARB; void glMultiTexCoord4d GLenum target - GLdouble s - GLdouble t - GLdouble r - GLdouble q + GLdouble s + GLdouble t + GLdouble r + GLdouble q void glMultiTexCoord4dARB GLenum target - GLdouble s - GLdouble t - GLdouble r - GLdouble q + GLdouble s + GLdouble t + GLdouble r + GLdouble q void glMultiTexCoord4dv GLenum target - const GLdouble *v + const GLdouble *v void glMultiTexCoord4dvARB GLenum target - const GLdouble *v + const GLdouble *v void glMultiTexCoord4f GLenum target - GLfloat s - GLfloat t - GLfloat r - GLfloat q + GLfloat s + GLfloat t + GLfloat r + GLfloat q void glMultiTexCoord4fARB GLenum target - GLfloat s - GLfloat t - GLfloat r - GLfloat q + GLfloat s + GLfloat t + GLfloat r + GLfloat q void glMultiTexCoord4fv GLenum target - const GLfloat *v + const GLfloat *v void glMultiTexCoord4fvARB GLenum target - const GLfloat *v + const GLfloat *v void glMultiTexCoord4hNV GLenum target - GLhalfNV s - GLhalfNV t - GLhalfNV r - GLhalfNV q + GLhalfNV s + GLhalfNV t + GLhalfNV r + GLhalfNV q void glMultiTexCoord4hvNV GLenum target - const GLhalfNV *v + const GLhalfNV *v void glMultiTexCoord4i GLenum target - GLint s - GLint t - GLint r - GLint q + GLint s + GLint t + GLint r + GLint q void glMultiTexCoord4iARB GLenum target - GLint s - GLint t - GLint r - GLint q + GLint s + GLint t + GLint r + GLint q void glMultiTexCoord4iv GLenum target - const GLint *v + const GLint *v void glMultiTexCoord4ivARB GLenum target - const GLint *v + const GLint *v void glMultiTexCoord4s GLenum target - GLshort s - GLshort t - GLshort r - GLshort q + GLshort s + GLshort t + GLshort r + GLshort q void glMultiTexCoord4sARB GLenum target - GLshort s - GLshort t - GLshort r - GLshort q + GLshort s + GLshort t + GLshort r + GLshort q void glMultiTexCoord4sv GLenum target - const GLshort *v + const GLshort *v void glMultiTexCoord4svARB GLenum target - const GLshort *v + const GLshort *v @@ -18734,7 +18829,7 @@ typedef unsigned int GLhandleARB; GLenum texunit GLenum target GLenum pname - GLfloat param + GLfloat param @@ -18742,14 +18837,14 @@ typedef unsigned int GLhandleARB; GLenum texunit GLenum target GLenum pname - const GLfloat *params + const GLfloat *params void glMultiTexEnviEXT GLenum texunit GLenum target GLenum pname - GLint param + GLint param @@ -18757,7 +18852,7 @@ typedef unsigned int GLhandleARB; GLenum texunit GLenum target GLenum pname - const GLint *params + const GLint *params void glMultiTexGendEXT @@ -18779,7 +18874,7 @@ typedef unsigned int GLhandleARB; GLenum texunit GLenum coord GLenum pname - GLfloat param + GLfloat param @@ -18787,14 +18882,14 @@ typedef unsigned int GLhandleARB; GLenum texunit GLenum coord GLenum pname - const GLfloat *params + const GLfloat *params void glMultiTexGeniEXT GLenum texunit GLenum coord GLenum pname - GLint param + GLint param @@ -18802,16 +18897,16 @@ typedef unsigned int GLhandleARB; GLenum texunit GLenum coord GLenum pname - const GLint *params + const GLint *params void glMultiTexImage1DEXT GLenum texunit GLenum target - GLint level + GLint level GLint internalformat GLsizei width - GLint border + GLint border GLenum format GLenum type const void *pixels @@ -18820,11 +18915,11 @@ typedef unsigned int GLhandleARB; void glMultiTexImage2DEXT GLenum texunit GLenum target - GLint level + GLint level GLint internalformat GLsizei width GLsizei height - GLint border + GLint border GLenum format GLenum type const void *pixels @@ -18833,12 +18928,12 @@ typedef unsigned int GLhandleARB; void glMultiTexImage3DEXT GLenum texunit GLenum target - GLint level + GLint level GLint internalformat GLsizei width GLsizei height GLsizei depth - GLint border + GLint border GLenum format GLenum type const void *pixels @@ -18848,7 +18943,7 @@ typedef unsigned int GLhandleARB; GLenum texunit GLenum target GLenum pname - const GLint *params + const GLint *params void glMultiTexParameterIuivEXT @@ -18862,7 +18957,7 @@ typedef unsigned int GLhandleARB; GLenum texunit GLenum target GLenum pname - GLfloat param + GLfloat param @@ -18870,14 +18965,14 @@ typedef unsigned int GLhandleARB; GLenum texunit GLenum target GLenum pname - const GLfloat *params + const GLfloat *params void glMultiTexParameteriEXT GLenum texunit GLenum target GLenum pname - GLint param + GLint param @@ -18885,7 +18980,7 @@ typedef unsigned int GLhandleARB; GLenum texunit GLenum target GLenum pname - const GLint *params + const GLint *params void glMultiTexRenderbufferEXT @@ -18897,8 +18992,8 @@ typedef unsigned int GLhandleARB; void glMultiTexSubImage1DEXT GLenum texunit GLenum target - GLint level - GLint xoffset + GLint level + GLint xoffset GLsizei width GLenum format GLenum type @@ -18908,9 +19003,9 @@ typedef unsigned int GLhandleARB; void glMultiTexSubImage2DEXT GLenum texunit GLenum target - GLint level - GLint xoffset - GLint yoffset + GLint level + GLint xoffset + GLint yoffset GLsizei width GLsizei height GLenum format @@ -18921,10 +19016,10 @@ typedef unsigned int GLhandleARB; void glMultiTexSubImage3DEXT GLenum texunit GLenum target - GLint level - GLint xoffset - GLint yoffset - GLint zoffset + GLint level + GLint xoffset + GLint yoffset + GLint zoffset GLsizei width GLsizei height GLsizei depth @@ -19059,7 +19154,7 @@ typedef unsigned int GLhandleARB; void glNamedBufferData GLuint buffer - GLsizeiptr size + GLsizeiptr size const void *data GLenum usage @@ -19075,14 +19170,14 @@ typedef unsigned int GLhandleARB; GLuint buffer GLintptr offset GLsizeiptr size - GLboolean commit + GLboolean commit void glNamedBufferPageCommitmentEXT GLuint buffer GLintptr offset GLsizeiptr size - GLboolean commit + GLboolean commit void glNamedBufferPageCommitmentMemNV @@ -19091,12 +19186,12 @@ typedef unsigned int GLhandleARB; GLsizeiptr size GLuint memory GLuint64 memOffset - GLboolean commit + GLboolean commit void glNamedBufferStorage GLuint buffer - GLsizeiptr size + GLsizeiptr size const void *data GLbitfield flags @@ -19111,7 +19206,7 @@ typedef unsigned int GLhandleARB; void glNamedBufferStorageEXT GLuint buffer - GLsizeiptr size + GLsizeiptr size const void *data GLbitfield flags @@ -19119,7 +19214,7 @@ typedef unsigned int GLhandleARB; void glNamedBufferStorageMemEXT GLuint buffer - GLsizeiptr size + GLsizeiptr size GLuint memory GLuint64 offset @@ -19127,14 +19222,14 @@ typedef unsigned int GLhandleARB; void glNamedBufferSubData GLuint buffer GLintptr offset - GLsizeiptr size + GLsizeiptr size const void *data void glNamedBufferSubDataEXT GLuint buffer GLintptr offset - GLsizeiptr size + GLsizeiptr size const void *data @@ -19165,7 +19260,7 @@ typedef unsigned int GLhandleARB; void glNamedFramebufferParameteriEXT - GLuint framebuffer + GLuint framebuffer GLenum pname GLint param @@ -19183,10 +19278,10 @@ typedef unsigned int GLhandleARB; void glNamedFramebufferRenderbufferEXT - GLuint framebuffer + GLuint framebuffer GLenum attachment GLenum renderbuffertarget - GLuint renderbuffer + GLuint renderbuffer void glNamedFramebufferSampleLocationsfvARB @@ -19218,42 +19313,42 @@ typedef unsigned int GLhandleARB; void glNamedFramebufferTexture1DEXT - GLuint framebuffer + GLuint framebuffer GLenum attachment GLenum textarget - GLuint texture - GLint level + GLuint texture + GLint level void glNamedFramebufferTexture2DEXT - GLuint framebuffer + GLuint framebuffer GLenum attachment GLenum textarget - GLuint texture - GLint level + GLuint texture + GLint level void glNamedFramebufferTexture3DEXT - GLuint framebuffer + GLuint framebuffer GLenum attachment GLenum textarget - GLuint texture - GLint level - GLint zoffset + GLuint texture + GLint level + GLint zoffset void glNamedFramebufferTextureEXT - GLuint framebuffer + GLuint framebuffer GLenum attachment - GLuint texture - GLint level + GLuint texture + GLint level void glNamedFramebufferTextureFaceEXT - GLuint framebuffer + GLuint framebuffer GLenum attachment - GLuint texture - GLint level + GLuint texture + GLint level GLenum face @@ -19266,11 +19361,11 @@ typedef unsigned int GLhandleARB; void glNamedFramebufferTextureLayerEXT - GLuint framebuffer + GLuint framebuffer GLenum attachment - GLuint texture - GLint level - GLint layer + GLuint texture + GLint level + GLint layer void glNamedProgramLocalParameter4dEXT @@ -19385,7 +19480,7 @@ typedef unsigned int GLhandleARB; void glNamedRenderbufferStorageEXT - GLuint renderbuffer + GLuint renderbuffer GLenum internalformat GLsizei width GLsizei height @@ -19400,7 +19495,7 @@ typedef unsigned int GLhandleARB; void glNamedRenderbufferStorageMultisampleAdvancedAMD - GLuint renderbuffer + GLuint renderbuffer GLsizei samples GLsizei storageSamples GLenum internalformat @@ -19409,7 +19504,7 @@ typedef unsigned int GLhandleARB; void glNamedRenderbufferStorageMultisampleCoverageEXT - GLuint renderbuffer + GLuint renderbuffer GLsizei coverageSamples GLsizei colorSamples GLenum internalformat @@ -19418,7 +19513,7 @@ typedef unsigned int GLhandleARB; void glNamedRenderbufferStorageMultisampleEXT - GLuint renderbuffer + GLuint renderbuffer GLsizei samples GLenum internalformat GLsizei width @@ -19434,7 +19529,7 @@ typedef unsigned int GLhandleARB; void glNewList - GLuint list + GLuint list GLenum mode @@ -19458,21 +19553,21 @@ typedef unsigned int GLhandleARB; void glNormal3d - GLdouble nx - GLdouble ny - GLdouble nz + GLdouble nx + GLdouble ny + GLdouble nz void glNormal3dv - const GLdouble *v + const GLdouble *v void glNormal3f - GLfloat nx - GLfloat ny - GLfloat nz + GLfloat nx + GLfloat ny + GLfloat nz @@ -19491,19 +19586,19 @@ typedef unsigned int GLhandleARB; void glNormal3fv - const GLfloat *v + const GLfloat *v void glNormal3hNV - GLhalfNV nx - GLhalfNV ny - GLhalfNV nz + GLhalfNV nx + GLhalfNV ny + GLhalfNV nz void glNormal3hvNV - const GLhalfNV *v + const GLhalfNV *v @@ -19751,7 +19846,7 @@ typedef unsigned int GLhandleARB; void glPassThrough - GLfloat token + GLfloat token @@ -19789,16 +19884,16 @@ typedef unsigned int GLhandleARB; void glPathCommandsNV - GLuint path + GLuint path GLsizei numCommands - const GLubyte *commands + const GLubyte *commands GLsizei numCoords GLenum coordType const void *coords void glPathCoordsNV - GLuint path + GLuint path GLsizei numCoords GLenum coordType const void *coords @@ -19809,7 +19904,7 @@ typedef unsigned int GLhandleARB; void glPathDashArrayNV - GLuint path + GLuint path GLsizei dashCount const GLfloat *dashArray @@ -19839,19 +19934,19 @@ typedef unsigned int GLhandleARB; void glPathGlyphRangeNV - GLuint firstPathName + GLuint firstPathName GLenum fontTarget const void *fontName GLbitfield fontStyle GLuint firstGlyph GLsizei numGlyphs GLenum handleMissingGlyphs - GLuint pathParameterTemplate + GLuint pathParameterTemplate GLfloat emScale void glPathGlyphsNV - GLuint firstPathName + GLuint firstPathName GLenum fontTarget const void *fontName GLbitfield fontStyle @@ -19859,7 +19954,7 @@ typedef unsigned int GLhandleARB; GLenum type const void *charcodes GLenum handleMissingGlyphs - GLuint pathParameterTemplate + GLuint pathParameterTemplate GLfloat emScale @@ -19876,25 +19971,25 @@ typedef unsigned int GLhandleARB; void glPathParameterfNV - GLuint path + GLuint path GLenum pname GLfloat value void glPathParameterfvNV - GLuint path + GLuint path GLenum pname const GLfloat *value void glPathParameteriNV - GLuint path + GLuint path GLenum pname GLint value void glPathParameterivNV - GLuint path + GLuint path GLenum pname const GLint *value @@ -19906,30 +20001,30 @@ typedef unsigned int GLhandleARB; void glPathStencilFuncNV GLenum func - GLint ref - GLuint mask + GLint ref + GLuint mask void glPathStringNV - GLuint path + GLuint path GLenum format GLsizei length const void *pathString void glPathSubCommandsNV - GLuint path + GLuint path GLsizei commandStart GLsizei commandsToDelete GLsizei numCommands - const GLubyte *commands + const GLubyte *commands GLsizei numCoords GLenum coordType const void *coords void glPathSubCoordsNV - GLuint path + GLuint path GLsizei coordStart GLsizei numCoords GLenum coordType @@ -19958,7 +20053,7 @@ typedef unsigned int GLhandleARB; void glPixelMapfv GLenum map - GLsizei mapsize + GLsizei mapsize const GLfloat *values @@ -19966,7 +20061,7 @@ typedef unsigned int GLhandleARB; void glPixelMapuiv GLenum map - GLsizei mapsize + GLsizei mapsize const GLuint *values @@ -19974,7 +20069,7 @@ typedef unsigned int GLhandleARB; void glPixelMapusv GLenum map - GLsizei mapsize + GLsizei mapsize const GLushort *values @@ -19988,13 +20083,13 @@ typedef unsigned int GLhandleARB; void glPixelStoref GLenum pname - GLfloat param + GLfloat param void glPixelStorei GLenum pname - GLint param + GLint param @@ -20005,22 +20100,22 @@ typedef unsigned int GLhandleARB; void glPixelTexGenParameterfSGIS GLenum pname - GLfloat param + GLfloat param void glPixelTexGenParameterfvSGIS GLenum pname - const GLfloat *params + const GLfloat *params void glPixelTexGenParameteriSGIS GLenum pname - GLint param + GLint param void glPixelTexGenParameterivSGIS GLenum pname - const GLint *params + const GLint *params void glPixelTexGenSGIX @@ -20030,13 +20125,13 @@ typedef unsigned int GLhandleARB; void glPixelTransferf GLenum pname - GLfloat param + GLfloat param void glPixelTransferi GLenum pname - GLint param + GLint param @@ -20082,8 +20177,8 @@ typedef unsigned int GLhandleARB; GLfixed yfactor - GLboolean glPointAlongPathNV - GLuint path + GLboolean glPointAlongPathNV + GLuint path GLsizei startSegment GLsizei numSegments GLfloat distance @@ -20095,51 +20190,51 @@ typedef unsigned int GLhandleARB; void glPointParameterf GLenum pname - GLfloat param + GLfloat param void glPointParameterfARB GLenum pname - GLfloat param + GLfloat param void glPointParameterfEXT GLenum pname - GLfloat param + GLfloat param void glPointParameterfSGIS GLenum pname - GLfloat param + GLfloat param void glPointParameterfv GLenum pname - const GLfloat *params + const GLfloat *params void glPointParameterfvARB GLenum pname - const GLfloat *params + const GLfloat *params void glPointParameterfvEXT GLenum pname - const GLfloat *params + const GLfloat *params void glPointParameterfvSGIS GLenum pname - const GLfloat *params + const GLfloat *params @@ -20190,7 +20285,7 @@ typedef unsigned int GLhandleARB; void glPointSize - GLfloat size + GLfloat size @@ -20388,15 +20483,15 @@ typedef unsigned int GLhandleARB; void glPrioritizeTextures GLsizei n - const GLuint *textures + const GLuint *textures const GLfloat *priorities void glPrioritizeTexturesEXT GLsizei n - const GLuint *textures - const GLclampf *priorities + const GLuint *textures + const GLclampf *priorities @@ -20404,7 +20499,7 @@ typedef unsigned int GLhandleARB; void glPrioritizeTexturesxOES GLsizei n const GLuint *textures - const GLfixed *priorities + const GLfixed *priorities void glProgramBinary @@ -20763,14 +20858,14 @@ typedef unsigned int GLhandleARB; GLuint program GLint location GLsizei count - const GLdouble *value + const GLdouble *value void glProgramUniform1dvEXT GLuint program GLint location GLsizei count - const GLdouble *value + const GLdouble *value void glProgramUniform1f @@ -20790,14 +20885,14 @@ typedef unsigned int GLhandleARB; GLuint program GLint location GLsizei count - const GLfloat *value + const GLfloat *value void glProgramUniform1fvEXT GLuint program GLint location GLsizei count - const GLfloat *value + const GLfloat *value @@ -20823,14 +20918,14 @@ typedef unsigned int GLhandleARB; GLuint program GLint location GLsizei count - const GLint64 *value + const GLint64 *value void glProgramUniform1i64vNV GLuint program GLint location GLsizei count - const GLint64EXT *value + const GLint64EXT *value void glProgramUniform1iEXT @@ -20844,14 +20939,14 @@ typedef unsigned int GLhandleARB; GLuint program GLint location GLsizei count - const GLint *value + const GLint *value void glProgramUniform1ivEXT GLuint program GLint location GLsizei count - const GLint *value + const GLint *value @@ -20877,14 +20972,14 @@ typedef unsigned int GLhandleARB; GLuint program GLint location GLsizei count - const GLuint64 *value + const GLuint64 *value void glProgramUniform1ui64vNV GLuint program GLint location GLsizei count - const GLuint64EXT *value + const GLuint64EXT *value void glProgramUniform1uiEXT @@ -20898,14 +20993,14 @@ typedef unsigned int GLhandleARB; GLuint program GLint location GLsizei count - const GLuint *value + const GLuint *value void glProgramUniform1uivEXT GLuint program GLint location GLsizei count - const GLuint *value + const GLuint *value @@ -20927,14 +21022,14 @@ typedef unsigned int GLhandleARB; GLuint program GLint location GLsizei count - const GLdouble *value + const GLdouble *value void glProgramUniform2dvEXT GLuint program GLint location GLsizei count - const GLdouble *value + const GLdouble *value void glProgramUniform2f @@ -20956,14 +21051,14 @@ typedef unsigned int GLhandleARB; GLuint program GLint location GLsizei count - const GLfloat *value + const GLfloat *value void glProgramUniform2fvEXT GLuint program GLint location GLsizei count - const GLfloat *value + const GLfloat *value @@ -20992,14 +21087,14 @@ typedef unsigned int GLhandleARB; GLuint program GLint location GLsizei count - const GLint64 *value + const GLint64 *value void glProgramUniform2i64vNV GLuint program GLint location GLsizei count - const GLint64EXT *value + const GLint64EXT *value void glProgramUniform2iEXT @@ -21014,14 +21109,14 @@ typedef unsigned int GLhandleARB; GLuint program GLint location GLsizei count - const GLint *value + const GLint *value void glProgramUniform2ivEXT GLuint program GLint location GLsizei count - const GLint *value + const GLint *value @@ -21050,14 +21145,14 @@ typedef unsigned int GLhandleARB; GLuint program GLint location GLsizei count - const GLuint64 *value + const GLuint64 *value void glProgramUniform2ui64vNV GLuint program GLint location GLsizei count - const GLuint64EXT *value + const GLuint64EXT *value void glProgramUniform2uiEXT @@ -21072,14 +21167,14 @@ typedef unsigned int GLhandleARB; GLuint program GLint location GLsizei count - const GLuint *value + const GLuint *value void glProgramUniform2uivEXT GLuint program GLint location GLsizei count - const GLuint *value + const GLuint *value @@ -21103,14 +21198,14 @@ typedef unsigned int GLhandleARB; GLuint program GLint location GLsizei count - const GLdouble *value + const GLdouble *value void glProgramUniform3dvEXT GLuint program GLint location GLsizei count - const GLdouble *value + const GLdouble *value void glProgramUniform3f @@ -21134,14 +21229,14 @@ typedef unsigned int GLhandleARB; GLuint program GLint location GLsizei count - const GLfloat *value + const GLfloat *value void glProgramUniform3fvEXT GLuint program GLint location GLsizei count - const GLfloat *value + const GLfloat *value @@ -21173,14 +21268,14 @@ typedef unsigned int GLhandleARB; GLuint program GLint location GLsizei count - const GLint64 *value + const GLint64 *value void glProgramUniform3i64vNV GLuint program GLint location GLsizei count - const GLint64EXT *value + const GLint64EXT *value void glProgramUniform3iEXT @@ -21196,14 +21291,14 @@ typedef unsigned int GLhandleARB; GLuint program GLint location GLsizei count - const GLint *value + const GLint *value void glProgramUniform3ivEXT GLuint program GLint location GLsizei count - const GLint *value + const GLint *value @@ -21235,14 +21330,14 @@ typedef unsigned int GLhandleARB; GLuint program GLint location GLsizei count - const GLuint64 *value + const GLuint64 *value void glProgramUniform3ui64vNV GLuint program GLint location GLsizei count - const GLuint64EXT *value + const GLuint64EXT *value void glProgramUniform3uiEXT @@ -21258,14 +21353,14 @@ typedef unsigned int GLhandleARB; GLuint program GLint location GLsizei count - const GLuint *value + const GLuint *value void glProgramUniform3uivEXT GLuint program GLint location GLsizei count - const GLuint *value + const GLuint *value @@ -21291,14 +21386,14 @@ typedef unsigned int GLhandleARB; GLuint program GLint location GLsizei count - const GLdouble *value + const GLdouble *value void glProgramUniform4dvEXT GLuint program GLint location GLsizei count - const GLdouble *value + const GLdouble *value void glProgramUniform4f @@ -21324,14 +21419,14 @@ typedef unsigned int GLhandleARB; GLuint program GLint location GLsizei count - const GLfloat *value + const GLfloat *value void glProgramUniform4fvEXT GLuint program GLint location GLsizei count - const GLfloat *value + const GLfloat *value @@ -21366,14 +21461,14 @@ typedef unsigned int GLhandleARB; GLuint program GLint location GLsizei count - const GLint64 *value + const GLint64 *value void glProgramUniform4i64vNV GLuint program GLint location GLsizei count - const GLint64EXT *value + const GLint64EXT *value void glProgramUniform4iEXT @@ -21390,14 +21485,14 @@ typedef unsigned int GLhandleARB; GLuint program GLint location GLsizei count - const GLint *value + const GLint *value void glProgramUniform4ivEXT GLuint program GLint location GLsizei count - const GLint *value + const GLint *value @@ -21432,14 +21527,14 @@ typedef unsigned int GLhandleARB; GLuint program GLint location GLsizei count - const GLuint64 *value + const GLuint64 *value void glProgramUniform4ui64vNV GLuint program GLint location GLsizei count - const GLuint64EXT *value + const GLuint64EXT *value void glProgramUniform4uiEXT @@ -21456,14 +21551,14 @@ typedef unsigned int GLhandleARB; GLuint program GLint location GLsizei count - const GLuint *value + const GLuint *value void glProgramUniform4uivEXT GLuint program GLint location GLsizei count - const GLuint *value + const GLuint *value @@ -21512,32 +21607,32 @@ typedef unsigned int GLhandleARB; GLuint program GLint location GLsizei count - GLboolean transpose - const GLdouble *value + GLboolean transpose + const GLdouble *value void glProgramUniformMatrix2dvEXT GLuint program GLint location GLsizei count - GLboolean transpose - const GLdouble *value + GLboolean transpose + const GLdouble *value void glProgramUniformMatrix2fv GLuint program GLint location GLsizei count - GLboolean transpose - const GLfloat *value + GLboolean transpose + const GLfloat *value void glProgramUniformMatrix2fvEXT GLuint program GLint location GLsizei count - GLboolean transpose - const GLfloat *value + GLboolean transpose + const GLfloat *value @@ -21545,32 +21640,32 @@ typedef unsigned int GLhandleARB; GLuint program GLint location GLsizei count - GLboolean transpose - const GLdouble *value + GLboolean transpose + const GLdouble *value void glProgramUniformMatrix2x3dvEXT GLuint program GLint location GLsizei count - GLboolean transpose - const GLdouble *value + GLboolean transpose + const GLdouble *value void glProgramUniformMatrix2x3fv GLuint program GLint location GLsizei count - GLboolean transpose - const GLfloat *value + GLboolean transpose + const GLfloat *value void glProgramUniformMatrix2x3fvEXT GLuint program GLint location GLsizei count - GLboolean transpose - const GLfloat *value + GLboolean transpose + const GLfloat *value @@ -21578,32 +21673,32 @@ typedef unsigned int GLhandleARB; GLuint program GLint location GLsizei count - GLboolean transpose - const GLdouble *value + GLboolean transpose + const GLdouble *value void glProgramUniformMatrix2x4dvEXT GLuint program GLint location GLsizei count - GLboolean transpose - const GLdouble *value + GLboolean transpose + const GLdouble *value void glProgramUniformMatrix2x4fv GLuint program GLint location GLsizei count - GLboolean transpose - const GLfloat *value + GLboolean transpose + const GLfloat *value void glProgramUniformMatrix2x4fvEXT GLuint program GLint location GLsizei count - GLboolean transpose - const GLfloat *value + GLboolean transpose + const GLfloat *value @@ -21611,32 +21706,32 @@ typedef unsigned int GLhandleARB; GLuint program GLint location GLsizei count - GLboolean transpose - const GLdouble *value + GLboolean transpose + const GLdouble *value void glProgramUniformMatrix3dvEXT GLuint program GLint location GLsizei count - GLboolean transpose - const GLdouble *value + GLboolean transpose + const GLdouble *value void glProgramUniformMatrix3fv GLuint program GLint location GLsizei count - GLboolean transpose - const GLfloat *value + GLboolean transpose + const GLfloat *value void glProgramUniformMatrix3fvEXT GLuint program GLint location GLsizei count - GLboolean transpose - const GLfloat *value + GLboolean transpose + const GLfloat *value @@ -21644,32 +21739,32 @@ typedef unsigned int GLhandleARB; GLuint program GLint location GLsizei count - GLboolean transpose - const GLdouble *value + GLboolean transpose + const GLdouble *value void glProgramUniformMatrix3x2dvEXT GLuint program GLint location GLsizei count - GLboolean transpose - const GLdouble *value + GLboolean transpose + const GLdouble *value void glProgramUniformMatrix3x2fv GLuint program GLint location GLsizei count - GLboolean transpose - const GLfloat *value + GLboolean transpose + const GLfloat *value void glProgramUniformMatrix3x2fvEXT GLuint program GLint location GLsizei count - GLboolean transpose - const GLfloat *value + GLboolean transpose + const GLfloat *value @@ -21677,32 +21772,32 @@ typedef unsigned int GLhandleARB; GLuint program GLint location GLsizei count - GLboolean transpose - const GLdouble *value + GLboolean transpose + const GLdouble *value void glProgramUniformMatrix3x4dvEXT GLuint program GLint location GLsizei count - GLboolean transpose - const GLdouble *value + GLboolean transpose + const GLdouble *value void glProgramUniformMatrix3x4fv GLuint program GLint location GLsizei count - GLboolean transpose - const GLfloat *value + GLboolean transpose + const GLfloat *value void glProgramUniformMatrix3x4fvEXT GLuint program GLint location GLsizei count - GLboolean transpose - const GLfloat *value + GLboolean transpose + const GLfloat *value @@ -21710,32 +21805,32 @@ typedef unsigned int GLhandleARB; GLuint program GLint location GLsizei count - GLboolean transpose - const GLdouble *value + GLboolean transpose + const GLdouble *value void glProgramUniformMatrix4dvEXT GLuint program GLint location GLsizei count - GLboolean transpose - const GLdouble *value + GLboolean transpose + const GLdouble *value void glProgramUniformMatrix4fv GLuint program GLint location GLsizei count - GLboolean transpose - const GLfloat *value + GLboolean transpose + const GLfloat *value void glProgramUniformMatrix4fvEXT GLuint program GLint location GLsizei count - GLboolean transpose - const GLfloat *value + GLboolean transpose + const GLfloat *value @@ -21743,32 +21838,32 @@ typedef unsigned int GLhandleARB; GLuint program GLint location GLsizei count - GLboolean transpose - const GLdouble *value + GLboolean transpose + const GLdouble *value void glProgramUniformMatrix4x2dvEXT GLuint program GLint location GLsizei count - GLboolean transpose - const GLdouble *value + GLboolean transpose + const GLdouble *value void glProgramUniformMatrix4x2fv GLuint program GLint location GLsizei count - GLboolean transpose - const GLfloat *value + GLboolean transpose + const GLfloat *value void glProgramUniformMatrix4x2fvEXT GLuint program GLint location GLsizei count - GLboolean transpose - const GLfloat *value + GLboolean transpose + const GLfloat *value @@ -21776,32 +21871,32 @@ typedef unsigned int GLhandleARB; GLuint program GLint location GLsizei count - GLboolean transpose - const GLdouble *value + GLboolean transpose + const GLdouble *value void glProgramUniformMatrix4x3dvEXT GLuint program GLint location GLsizei count - GLboolean transpose - const GLdouble *value + GLboolean transpose + const GLdouble *value void glProgramUniformMatrix4x3fv GLuint program GLint location GLsizei count - GLboolean transpose - const GLfloat *value + GLboolean transpose + const GLfloat *value void glProgramUniformMatrix4x3fvEXT GLuint program GLint location GLsizei count - GLboolean transpose - const GLfloat *value + GLboolean transpose + const GLfloat *value @@ -21870,7 +21965,7 @@ typedef unsigned int GLhandleARB; void glPushName - GLuint name + GLuint name @@ -21910,46 +22005,46 @@ typedef unsigned int GLhandleARB; void glRasterPos2d - GLdouble x - GLdouble y + GLdouble x + GLdouble y void glRasterPos2dv - const GLdouble *v + const GLdouble *v void glRasterPos2f - GLfloat x - GLfloat y + GLfloat x + GLfloat y void glRasterPos2fv - const GLfloat *v + const GLfloat *v void glRasterPos2i - GLint x - GLint y + GLint x + GLint y void glRasterPos2iv - const GLint *v + const GLint *v void glRasterPos2s - GLshort x - GLshort y + GLshort x + GLshort y void glRasterPos2sv - const GLshort *v + const GLshort *v @@ -21963,50 +22058,50 @@ typedef unsigned int GLhandleARB; void glRasterPos3d - GLdouble x - GLdouble y - GLdouble z + GLdouble x + GLdouble y + GLdouble z void glRasterPos3dv - const GLdouble *v + const GLdouble *v void glRasterPos3f - GLfloat x - GLfloat y - GLfloat z + GLfloat x + GLfloat y + GLfloat z void glRasterPos3fv - const GLfloat *v + const GLfloat *v void glRasterPos3i - GLint x - GLint y - GLint z + GLint x + GLint y + GLint z void glRasterPos3iv - const GLint *v + const GLint *v void glRasterPos3s - GLshort x - GLshort y - GLshort z + GLshort x + GLshort y + GLshort z void glRasterPos3sv - const GLshort *v + const GLshort *v @@ -22021,54 +22116,54 @@ typedef unsigned int GLhandleARB; void glRasterPos4d - GLdouble x - GLdouble y - GLdouble z - GLdouble w + GLdouble x + GLdouble y + GLdouble z + GLdouble w void glRasterPos4dv - const GLdouble *v + const GLdouble *v void glRasterPos4f - GLfloat x - GLfloat y - GLfloat z - GLfloat w + GLfloat x + GLfloat y + GLfloat z + GLfloat w void glRasterPos4fv - const GLfloat *v + const GLfloat *v void glRasterPos4i - GLint x - GLint y - GLint z - GLint w + GLint x + GLint y + GLint z + GLint w void glRasterPos4iv - const GLint *v + const GLint *v void glRasterPos4s - GLshort x - GLshort y - GLshort z - GLshort w + GLshort x + GLshort y + GLshort z + GLshort w void glRasterPos4sv - const GLshort *v + const GLshort *v @@ -22085,7 +22180,7 @@ typedef unsigned int GLhandleARB; void glRasterSamplesEXT GLuint samples - GLboolean fixedsamplelocations + GLboolean fixedsamplelocations void glReadBuffer @@ -22108,8 +22203,8 @@ typedef unsigned int GLhandleARB; void glReadPixels - GLint x - GLint y + GLint x + GLint y GLsizei width GLsizei height GLenum format @@ -22155,8 +22250,8 @@ typedef unsigned int GLhandleARB; void glReadnPixelsKHR - GLint x - GLint y + GLint x + GLint y GLsizei width GLsizei height GLenum format @@ -22166,64 +22261,64 @@ typedef unsigned int GLhandleARB; - GLboolean glReleaseKeyedMutexWin32EXT + GLboolean glReleaseKeyedMutexWin32EXT GLuint memory GLuint64 key void glRectd - GLdouble x1 - GLdouble y1 - GLdouble x2 - GLdouble y2 + GLdouble x1 + GLdouble y1 + GLdouble x2 + GLdouble y2 void glRectdv - const GLdouble *v1 - const GLdouble *v2 + const GLdouble *v1 + const GLdouble *v2 void glRectf - GLfloat x1 - GLfloat y1 - GLfloat x2 - GLfloat y2 + GLfloat x1 + GLfloat y1 + GLfloat x2 + GLfloat y2 void glRectfv - const GLfloat *v1 - const GLfloat *v2 + const GLfloat *v1 + const GLfloat *v2 void glRecti - GLint x1 - GLint y1 - GLint x2 - GLint y2 + GLint x1 + GLint y1 + GLint x2 + GLint y2 void glRectiv - const GLint *v1 - const GLint *v2 + const GLint *v1 + const GLint *v2 void glRects - GLshort x1 - GLshort y1 - GLshort x2 - GLshort y2 + GLshort x1 + GLshort y1 + GLshort x2 + GLshort y2 void glRectsv - const GLshort *v1 - const GLshort *v2 + const GLshort *v1 + const GLshort *v2 @@ -22366,9 +22461,9 @@ typedef unsigned int GLhandleARB; void glReplacementCodeuiColor3fVertex3fSUN GLuint rc - GLfloat r - GLfloat g - GLfloat b + GLfloat r + GLfloat g + GLfloat b GLfloat x GLfloat y GLfloat z @@ -22376,16 +22471,16 @@ typedef unsigned int GLhandleARB; void glReplacementCodeuiColor3fVertex3fvSUN const GLuint *rc - const GLfloat *c + const GLfloat *c const GLfloat *v void glReplacementCodeuiColor4fNormal3fVertex3fSUN GLuint rc - GLfloat r - GLfloat g - GLfloat b - GLfloat a + GLfloat r + GLfloat g + GLfloat b + GLfloat a GLfloat nx GLfloat ny GLfloat nz @@ -22396,17 +22491,17 @@ typedef unsigned int GLhandleARB; void glReplacementCodeuiColor4fNormal3fVertex3fvSUN const GLuint *rc - const GLfloat *c + const GLfloat *c const GLfloat *n const GLfloat *v void glReplacementCodeuiColor4ubVertex3fSUN GLuint rc - GLubyte r - GLubyte g - GLubyte b - GLubyte a + GLubyte r + GLubyte g + GLubyte b + GLubyte a GLfloat x GLfloat y GLfloat z @@ -22414,7 +22509,7 @@ typedef unsigned int GLhandleARB; void glReplacementCodeuiColor4ubVertex3fvSUN const GLuint *rc - const GLubyte *c + const GLubyte *c const GLfloat *v @@ -22442,10 +22537,10 @@ typedef unsigned int GLhandleARB; GLuint rc GLfloat s GLfloat t - GLfloat r - GLfloat g - GLfloat b - GLfloat a + GLfloat r + GLfloat g + GLfloat b + GLfloat a GLfloat nx GLfloat ny GLfloat nz @@ -22457,7 +22552,7 @@ typedef unsigned int GLhandleARB; void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN const GLuint *rc const GLfloat *tc - const GLfloat *c + const GLfloat *c const GLfloat *n const GLfloat *v @@ -22601,24 +22696,24 @@ typedef unsigned int GLhandleARB; void glSampleCoverage GLfloat value - GLboolean invert + GLboolean invert void glSampleCoverageARB GLfloat value - GLboolean invert + GLboolean invert void glSampleCoveragex GLclampx value - GLboolean invert + GLboolean invert void glSampleCoveragexOES GLclampx value - GLboolean invert + GLboolean invert void glSampleMapATI @@ -22628,18 +22723,18 @@ typedef unsigned int GLhandleARB; void glSampleMaskEXT - GLclampf value - GLboolean invert + GLclampf value + GLboolean invert void glSampleMaskIndexedNV GLuint index - GLbitfield mask + GLbitfield mask void glSampleMaskSGIS - GLclampf value - GLboolean invert + GLclampf value + GLboolean invert @@ -22750,8 +22845,8 @@ typedef unsigned int GLhandleARB; void glScissor - GLint x - GLint y + GLint x + GLint y GLsizei width GLsizei height @@ -22784,8 +22879,8 @@ typedef unsigned int GLhandleARB; void glScissorExclusiveNV - GLint x - GLint y + GLint x + GLint y GLsizei width GLsizei height @@ -22834,221 +22929,221 @@ typedef unsigned int GLhandleARB; void glSecondaryColor3b - GLbyte red - GLbyte green - GLbyte blue + GLbyte red + GLbyte green + GLbyte blue void glSecondaryColor3bEXT - GLbyte red - GLbyte green - GLbyte blue + GLbyte red + GLbyte green + GLbyte blue void glSecondaryColor3bv - const GLbyte *v + const GLbyte *v void glSecondaryColor3bvEXT - const GLbyte *v + const GLbyte *v void glSecondaryColor3d - GLdouble red - GLdouble green - GLdouble blue + GLdouble red + GLdouble green + GLdouble blue void glSecondaryColor3dEXT - GLdouble red - GLdouble green - GLdouble blue + GLdouble red + GLdouble green + GLdouble blue void glSecondaryColor3dv - const GLdouble *v + const GLdouble *v void glSecondaryColor3dvEXT - const GLdouble *v + const GLdouble *v void glSecondaryColor3f - GLfloat red - GLfloat green - GLfloat blue + GLfloat red + GLfloat green + GLfloat blue void glSecondaryColor3fEXT - GLfloat red - GLfloat green - GLfloat blue + GLfloat red + GLfloat green + GLfloat blue void glSecondaryColor3fv - const GLfloat *v + const GLfloat *v void glSecondaryColor3fvEXT - const GLfloat *v + const GLfloat *v void glSecondaryColor3hNV - GLhalfNV red - GLhalfNV green - GLhalfNV blue + GLhalfNV red + GLhalfNV green + GLhalfNV blue void glSecondaryColor3hvNV - const GLhalfNV *v + const GLhalfNV *v void glSecondaryColor3i - GLint red - GLint green - GLint blue + GLint red + GLint green + GLint blue void glSecondaryColor3iEXT - GLint red - GLint green - GLint blue + GLint red + GLint green + GLint blue void glSecondaryColor3iv - const GLint *v + const GLint *v void glSecondaryColor3ivEXT - const GLint *v + const GLint *v void glSecondaryColor3s - GLshort red - GLshort green - GLshort blue + GLshort red + GLshort green + GLshort blue void glSecondaryColor3sEXT - GLshort red - GLshort green - GLshort blue + GLshort red + GLshort green + GLshort blue void glSecondaryColor3sv - const GLshort *v + const GLshort *v void glSecondaryColor3svEXT - const GLshort *v + const GLshort *v void glSecondaryColor3ub - GLubyte red - GLubyte green - GLubyte blue + GLubyte red + GLubyte green + GLubyte blue void glSecondaryColor3ubEXT - GLubyte red - GLubyte green - GLubyte blue + GLubyte red + GLubyte green + GLubyte blue void glSecondaryColor3ubv - const GLubyte *v + const GLubyte *v void glSecondaryColor3ubvEXT - const GLubyte *v + const GLubyte *v void glSecondaryColor3ui - GLuint red - GLuint green - GLuint blue + GLuint red + GLuint green + GLuint blue void glSecondaryColor3uiEXT - GLuint red - GLuint green - GLuint blue + GLuint red + GLuint green + GLuint blue void glSecondaryColor3uiv - const GLuint *v + const GLuint *v void glSecondaryColor3uivEXT - const GLuint *v + const GLuint *v void glSecondaryColor3us - GLushort red - GLushort green - GLushort blue + GLushort red + GLushort green + GLushort blue void glSecondaryColor3usEXT - GLushort red - GLushort green - GLushort blue + GLushort red + GLushort green + GLushort blue void glSecondaryColor3usv - const GLushort *v + const GLushort *v void glSecondaryColor3usvEXT - const GLushort *v + const GLushort *v @@ -23061,12 +23156,12 @@ typedef unsigned int GLhandleARB; void glSecondaryColorP3ui GLenum type - GLuint color + GLuint color void glSecondaryColorP3uiv GLenum type - const GLuint *color + const GLuint *color void glSecondaryColorPointer @@ -23094,13 +23189,13 @@ typedef unsigned int GLhandleARB; void glSelectBuffer GLsizei size - GLuint *buffer + GLuint *buffer void glSelectPerfMonitorCountersAMD GLuint monitor - GLboolean enable + GLboolean enable GLuint group GLint numCounters GLuint *counterList @@ -23145,11 +23240,11 @@ typedef unsigned int GLhandleARB; void glSetFenceAPPLE - GLuint fence + GLuint fence void glSetFenceNV - GLuint fence + GLuint fence GLenum condition @@ -23218,7 +23313,7 @@ typedef unsigned int GLhandleARB; void glShaderSourceARB - GLhandleARB shaderObj + GLhandleARB shaderObj GLsizei count const GLcharARB **string const GLint *length @@ -23241,7 +23336,7 @@ typedef unsigned int GLhandleARB; void glShadingRateImageBarrierNV - GLboolean synchronize + GLboolean synchronize void glShadingRateQCOM @@ -23355,49 +23450,49 @@ typedef unsigned int GLhandleARB; void glStencilFillPathInstancedNV GLsizei numPaths GLenum pathNameType - const void *paths - GLuint pathBase + const void *paths + GLuint pathBase GLenum fillMode - GLuint mask + GLuint mask GLenum transformType const GLfloat *transformValues void glStencilFillPathNV - GLuint path + GLuint path GLenum fillMode - GLuint mask + GLuint mask void glStencilFunc GLenum func - GLint ref - GLuint mask + GLint ref + GLuint mask void glStencilFuncSeparate GLenum face GLenum func - GLint ref - GLuint mask + GLint ref + GLuint mask void glStencilFuncSeparateATI GLenum frontfunc GLenum backfunc - GLint ref - GLuint mask + GLint ref + GLuint mask void glStencilMask - GLuint mask + GLuint mask void glStencilMaskSeparate GLenum face - GLuint mask + GLuint mask void glStencilOp @@ -23430,56 +23525,56 @@ typedef unsigned int GLhandleARB; void glStencilStrokePathInstancedNV GLsizei numPaths GLenum pathNameType - const void *paths - GLuint pathBase - GLint reference - GLuint mask + const void *paths + GLuint pathBase + GLint reference + GLuint mask GLenum transformType const GLfloat *transformValues void glStencilStrokePathNV - GLuint path - GLint reference - GLuint mask + GLuint path + GLint reference + GLuint mask void glStencilThenCoverFillPathInstancedNV GLsizei numPaths - GLenum pathNameType - const void *paths - GLuint pathBase - GLenum fillMode - GLuint mask - GLenum coverMode - GLenum transformType - const GLfloat *transformValues + GLenum pathNameType + const void *paths + GLuint pathBase + GLenum fillMode + GLuint mask + GLenum coverMode + GLenum transformType + const GLfloat *transformValues void glStencilThenCoverFillPathNV - GLuint path - GLenum fillMode - GLuint mask - GLenum coverMode + GLuint path + GLenum fillMode + GLuint mask + GLenum coverMode void glStencilThenCoverStrokePathInstancedNV GLsizei numPaths - GLenum pathNameType - const void *paths - GLuint pathBase - GLint reference - GLuint mask - GLenum coverMode - GLenum transformType - const GLfloat *transformValues + GLenum pathNameType + const void *paths + GLuint pathBase + GLint reference + GLuint mask + GLenum coverMode + GLenum transformType + const GLfloat *transformValues void glStencilThenCoverStrokePathNV - GLuint path - GLint reference - GLuint mask - GLenum coverMode + GLuint path + GLint reference + GLuint mask + GLenum coverMode void glStopInstrumentsSGIX @@ -23526,25 +23621,25 @@ typedef unsigned int GLhandleARB; void glTangent3dEXT - GLdouble tx - GLdouble ty - GLdouble tz + GLdouble tx + GLdouble ty + GLdouble tz void glTangent3dvEXT - const GLdouble *v + const GLdouble *v void glTangent3fEXT - GLfloat tx - GLfloat ty - GLfloat tz + GLfloat tx + GLfloat ty + GLfloat tz void glTangent3fvEXT - const GLfloat *v + const GLfloat *v void glTangent3iEXT @@ -23587,16 +23682,16 @@ typedef unsigned int GLhandleARB; GLenum mode - GLboolean glTestFenceAPPLE - GLuint fence + GLboolean glTestFenceAPPLE + GLuint fence - GLboolean glTestFenceNV - GLuint fence + GLboolean glTestFenceNV + GLuint fence - GLboolean glTestObjectAPPLE + GLboolean glTestObjectAPPLE GLenum object GLuint name @@ -23639,16 +23734,16 @@ typedef unsigned int GLhandleARB; GLenum target GLenum internalformat GLuint buffer - GLintptr offset - GLsizeiptr size + GLintptr offset + GLsizeiptr size void glTexBufferRangeEXT GLenum target GLenum internalformat GLuint buffer - GLintptr offset - GLsizeiptr size + GLintptr offset + GLsizeiptr size @@ -23656,8 +23751,8 @@ typedef unsigned int GLhandleARB; GLenum target GLenum internalformat GLuint buffer - GLintptr offset - GLsizeiptr size + GLintptr offset + GLsizeiptr size @@ -23680,52 +23775,52 @@ typedef unsigned int GLhandleARB; void glTexCoord1d - GLdouble s + GLdouble s void glTexCoord1dv - const GLdouble *v + const GLdouble *v void glTexCoord1f - GLfloat s + GLfloat s void glTexCoord1fv - const GLfloat *v + const GLfloat *v void glTexCoord1hNV - GLhalfNV s + GLhalfNV s void glTexCoord1hvNV - const GLhalfNV *v + const GLhalfNV *v void glTexCoord1i - GLint s + GLint s void glTexCoord1iv - const GLint *v + const GLint *v void glTexCoord1s - GLshort s + GLshort s void glTexCoord1sv - const GLshort *v + const GLshort *v @@ -23747,28 +23842,28 @@ typedef unsigned int GLhandleARB; void glTexCoord2d - GLdouble s - GLdouble t + GLdouble s + GLdouble t void glTexCoord2dv - const GLdouble *v + const GLdouble *v void glTexCoord2f - GLfloat s - GLfloat t + GLfloat s + GLfloat t void glTexCoord2fColor3fVertex3fSUN GLfloat s GLfloat t - GLfloat r - GLfloat g - GLfloat b + GLfloat r + GLfloat g + GLfloat b GLfloat x GLfloat y GLfloat z @@ -23776,17 +23871,17 @@ typedef unsigned int GLhandleARB; void glTexCoord2fColor3fVertex3fvSUN const GLfloat *tc - const GLfloat *c + const GLfloat *c const GLfloat *v void glTexCoord2fColor4fNormal3fVertex3fSUN GLfloat s GLfloat t - GLfloat r - GLfloat g - GLfloat b - GLfloat a + GLfloat r + GLfloat g + GLfloat b + GLfloat a GLfloat nx GLfloat ny GLfloat nz @@ -23797,7 +23892,7 @@ typedef unsigned int GLhandleARB; void glTexCoord2fColor4fNormal3fVertex3fvSUN const GLfloat *tc - const GLfloat *c + const GLfloat *c const GLfloat *n const GLfloat *v @@ -23805,10 +23900,10 @@ typedef unsigned int GLhandleARB; void glTexCoord2fColor4ubVertex3fSUN GLfloat s GLfloat t - GLubyte r - GLubyte g - GLubyte b - GLubyte a + GLubyte r + GLubyte g + GLubyte b + GLubyte a GLfloat x GLfloat y GLfloat z @@ -23816,7 +23911,7 @@ typedef unsigned int GLhandleARB; void glTexCoord2fColor4ubVertex3fvSUN const GLfloat *tc - const GLubyte *c + const GLubyte *c const GLfloat *v @@ -23851,40 +23946,40 @@ typedef unsigned int GLhandleARB; void glTexCoord2fv - const GLfloat *v + const GLfloat *v void glTexCoord2hNV - GLhalfNV s - GLhalfNV t + GLhalfNV s + GLhalfNV t void glTexCoord2hvNV - const GLhalfNV *v + const GLhalfNV *v void glTexCoord2i - GLint s - GLint t + GLint s + GLint t void glTexCoord2iv - const GLint *v + const GLint *v void glTexCoord2s - GLshort s - GLshort t + GLshort s + GLshort t void glTexCoord2sv - const GLshort *v + const GLshort *v @@ -23908,62 +24003,62 @@ typedef unsigned int GLhandleARB; void glTexCoord3d - GLdouble s - GLdouble t - GLdouble r + GLdouble s + GLdouble t + GLdouble r void glTexCoord3dv - const GLdouble *v + const GLdouble *v void glTexCoord3f - GLfloat s - GLfloat t - GLfloat r + GLfloat s + GLfloat t + GLfloat r void glTexCoord3fv - const GLfloat *v + const GLfloat *v void glTexCoord3hNV - GLhalfNV s - GLhalfNV t - GLhalfNV r + GLhalfNV s + GLhalfNV t + GLhalfNV r void glTexCoord3hvNV - const GLhalfNV *v + const GLhalfNV *v void glTexCoord3i - GLint s - GLint t - GLint r + GLint s + GLint t + GLint r void glTexCoord3iv - const GLint *v + const GLint *v void glTexCoord3s - GLshort s - GLshort t - GLshort r + GLshort s + GLshort t + GLshort r void glTexCoord3sv - const GLshort *v + const GLshort *v @@ -23989,23 +24084,23 @@ typedef unsigned int GLhandleARB; void glTexCoord4d - GLdouble s - GLdouble t - GLdouble r - GLdouble q + GLdouble s + GLdouble t + GLdouble r + GLdouble q void glTexCoord4dv - const GLdouble *v + const GLdouble *v void glTexCoord4f - GLfloat s - GLfloat t - GLfloat r - GLfloat q + GLfloat s + GLfloat t + GLfloat r + GLfloat q @@ -24014,10 +24109,10 @@ typedef unsigned int GLhandleARB; GLfloat t GLfloat p GLfloat q - GLfloat r - GLfloat g - GLfloat b - GLfloat a + GLfloat r + GLfloat g + GLfloat b + GLfloat a GLfloat nx GLfloat ny GLfloat nz @@ -24029,7 +24124,7 @@ typedef unsigned int GLhandleARB; void glTexCoord4fColor4fNormal3fVertex4fvSUN const GLfloat *tc - const GLfloat *c + const GLfloat *c const GLfloat *n const GLfloat *v @@ -24051,46 +24146,46 @@ typedef unsigned int GLhandleARB; void glTexCoord4fv - const GLfloat *v + const GLfloat *v void glTexCoord4hNV - GLhalfNV s - GLhalfNV t - GLhalfNV r - GLhalfNV q + GLhalfNV s + GLhalfNV t + GLhalfNV r + GLhalfNV q void glTexCoord4hvNV - const GLhalfNV *v + const GLhalfNV *v void glTexCoord4i - GLint s - GLint t - GLint r - GLint q + GLint s + GLint t + GLint r + GLint q void glTexCoord4iv - const GLint *v + const GLint *v void glTexCoord4s - GLshort s - GLshort t - GLshort r - GLshort q + GLshort s + GLshort t + GLshort r + GLshort q void glTexCoord4sv - const GLshort *v + const GLshort *v @@ -24183,28 +24278,28 @@ typedef unsigned int GLhandleARB; void glTexEnvf GLenum target GLenum pname - GLfloat param + GLfloat param void glTexEnvfv GLenum target GLenum pname - const GLfloat *params + const GLfloat *params void glTexEnvi GLenum target GLenum pname - GLint param + GLint param void glTexEnviv GLenum target GLenum pname - const GLint *params + const GLint *params @@ -24233,16 +24328,16 @@ typedef unsigned int GLhandleARB; void glTexEstimateMotionQCOM - GLuint ref - GLuint target - GLuint output + GLuint ref + GLuint target + GLuint output void glTexEstimateMotionRegionsQCOM - GLuint ref - GLuint target - GLuint output - GLuint mask + GLuint ref + GLuint target + GLuint output + GLuint mask void glExtrapolateTex2DQCOM @@ -24277,7 +24372,7 @@ typedef unsigned int GLhandleARB; void glTexGenf GLenum coord GLenum pname - GLfloat param + GLfloat param @@ -24290,7 +24385,7 @@ typedef unsigned int GLhandleARB; void glTexGenfv GLenum coord GLenum pname - const GLfloat *params + const GLfloat *params @@ -24303,7 +24398,7 @@ typedef unsigned int GLhandleARB; void glTexGeni GLenum coord GLenum pname - GLint param + GLint param @@ -24316,7 +24411,7 @@ typedef unsigned int GLhandleARB; void glTexGeniv GLenum coord GLenum pname - const GLint *params + const GLint *params @@ -24340,10 +24435,10 @@ typedef unsigned int GLhandleARB; void glTexImage1D GLenum target - GLint level + GLint level GLint internalformat GLsizei width - GLint border + GLint border GLenum format GLenum type const void *pixels @@ -24353,11 +24448,11 @@ typedef unsigned int GLhandleARB; void glTexImage2D GLenum target - GLint level + GLint level GLint internalformat GLsizei width GLsizei height - GLint border + GLint border GLenum format GLenum type const void *pixels @@ -24371,7 +24466,7 @@ typedef unsigned int GLhandleARB; GLenum internalformat GLsizei width GLsizei height - GLboolean fixedsamplelocations + GLboolean fixedsamplelocations void glTexImage2DMultisampleCoverageNV @@ -24381,17 +24476,17 @@ typedef unsigned int GLhandleARB; GLint internalFormat GLsizei width GLsizei height - GLboolean fixedSampleLocations + GLboolean fixedSampleLocations void glTexImage3D GLenum target - GLint level + GLint level GLint internalformat GLsizei width GLsizei height GLsizei depth - GLint border + GLint border GLenum format GLenum type const void *pixels @@ -24401,12 +24496,12 @@ typedef unsigned int GLhandleARB; void glTexImage3DEXT GLenum target - GLint level + GLint level GLenum internalformat GLsizei width GLsizei height GLsizei depth - GLint border + GLint border GLenum format GLenum type const void *pixels @@ -24421,7 +24516,7 @@ typedef unsigned int GLhandleARB; GLsizei width GLsizei height GLsizei depth - GLboolean fixedsamplelocations + GLboolean fixedsamplelocations void glTexImage3DMultisampleCoverageNV @@ -24432,7 +24527,7 @@ typedef unsigned int GLhandleARB; GLsizei width GLsizei height GLsizei depth - GLboolean fixedSampleLocations + GLboolean fixedSampleLocations void glTexImage3DOES @@ -24450,13 +24545,13 @@ typedef unsigned int GLhandleARB; void glTexImage4DSGIS GLenum target - GLint level + GLint level GLenum internalformat GLsizei width GLsizei height GLsizei depth GLsizei size4d - GLint border + GLint border GLenum format GLenum type const void *pixels @@ -24472,7 +24567,7 @@ typedef unsigned int GLhandleARB; GLsizei width GLsizei height GLsizei depth - GLboolean commit + GLboolean commit void glTexPageCommitmentEXT @@ -24484,7 +24579,7 @@ typedef unsigned int GLhandleARB; GLsizei width GLsizei height GLsizei depth - GLboolean commit + GLboolean commit @@ -24500,7 +24595,7 @@ typedef unsigned int GLhandleARB; GLsizei depth GLuint memory GLuint64 offset - GLboolean commit + GLboolean commit void glTexParameterIiv @@ -24548,28 +24643,28 @@ typedef unsigned int GLhandleARB; void glTexParameterf GLenum target GLenum pname - GLfloat param + GLfloat param void glTexParameterfv GLenum target GLenum pname - const GLfloat *params + const GLfloat *params void glTexParameteri GLenum target GLenum pname - GLint param + GLint param void glTexParameteriv GLenum target GLenum pname - const GLint *params + const GLint *params @@ -24640,7 +24735,7 @@ typedef unsigned int GLhandleARB; GLenum internalformat GLsizei width GLsizei height - GLboolean fixedsamplelocations + GLboolean fixedsamplelocations void glTexStorage3D @@ -24669,7 +24764,7 @@ typedef unsigned int GLhandleARB; GLsizei width GLsizei height GLsizei depth - GLboolean fixedsamplelocations + GLboolean fixedsamplelocations void glTexStorage3DMultisampleOES @@ -24679,7 +24774,7 @@ typedef unsigned int GLhandleARB; GLsizei width GLsizei height GLsizei depth - GLboolean fixedsamplelocations + GLboolean fixedsamplelocations @@ -24727,7 +24822,7 @@ typedef unsigned int GLhandleARB; GLenum internalFormat GLsizei width GLsizei height - GLboolean fixedSampleLocations + GLboolean fixedSampleLocations GLuint memory GLuint64 offset @@ -24750,7 +24845,7 @@ typedef unsigned int GLhandleARB; GLsizei width GLsizei height GLsizei depth - GLboolean fixedSampleLocations + GLboolean fixedSampleLocations GLuint memory GLuint64 offset @@ -24767,8 +24862,8 @@ typedef unsigned int GLhandleARB; void glTexSubImage1D GLenum target - GLint level - GLint xoffset + GLint level + GLint xoffset GLsizei width GLenum format GLenum type @@ -24779,8 +24874,8 @@ typedef unsigned int GLhandleARB; void glTexSubImage1DEXT GLenum target - GLint level - GLint xoffset + GLint level + GLint xoffset GLsizei width GLenum format GLenum type @@ -24791,9 +24886,9 @@ typedef unsigned int GLhandleARB; void glTexSubImage2D GLenum target - GLint level - GLint xoffset - GLint yoffset + GLint level + GLint xoffset + GLint yoffset GLsizei width GLsizei height GLenum format @@ -24805,9 +24900,9 @@ typedef unsigned int GLhandleARB; void glTexSubImage2DEXT GLenum target - GLint level - GLint xoffset - GLint yoffset + GLint level + GLint xoffset + GLint yoffset GLsizei width GLsizei height GLenum format @@ -24819,10 +24914,10 @@ typedef unsigned int GLhandleARB; void glTexSubImage3D GLenum target - GLint level - GLint xoffset - GLint yoffset - GLint zoffset + GLint level + GLint xoffset + GLint yoffset + GLint zoffset GLsizei width GLsizei height GLsizei depth @@ -24835,10 +24930,10 @@ typedef unsigned int GLhandleARB; void glTexSubImage3DEXT GLenum target - GLint level - GLint xoffset - GLint yoffset - GLint zoffset + GLint level + GLint xoffset + GLint yoffset + GLint zoffset GLsizei width GLsizei height GLsizei depth @@ -24865,11 +24960,11 @@ typedef unsigned int GLhandleARB; void glTexSubImage4DSGIS GLenum target - GLint level - GLint xoffset - GLint yoffset - GLint zoffset - GLint woffset + GLint level + GLint xoffset + GLint yoffset + GLint zoffset + GLint woffset GLsizei width GLsizei height GLsizei depth @@ -24900,7 +24995,7 @@ typedef unsigned int GLhandleARB; void glTextureBufferEXT - GLuint texture + GLuint texture GLenum target GLenum internalformat GLuint buffer @@ -24911,57 +25006,57 @@ typedef unsigned int GLhandleARB; GLenum internalformat GLuint buffer GLintptr offset - GLsizeiptr size + GLsizeiptr size void glTextureBufferRangeEXT - GLuint texture + GLuint texture GLenum target GLenum internalformat GLuint buffer - GLintptr offset - GLsizeiptr size + GLintptr offset + GLsizeiptr size void glTextureColorMaskSGIS - GLboolean red - GLboolean green - GLboolean blue - GLboolean alpha + GLboolean red + GLboolean green + GLboolean blue + GLboolean alpha void glTextureFoveationParametersQCOM - GLuint texture + GLuint texture GLuint layer GLuint focalPoint - GLfloat focalX - GLfloat focalY - GLfloat gainX - GLfloat gainY - GLfloat foveaArea + GLfloat focalX + GLfloat focalY + GLfloat gainX + GLfloat gainY + GLfloat foveaArea void glTextureImage1DEXT - GLuint texture + GLuint texture GLenum target - GLint level + GLint level GLint internalformat GLsizei width - GLint border + GLint border GLenum format GLenum type const void *pixels void glTextureImage2DEXT - GLuint texture + GLuint texture GLenum target - GLint level + GLint level GLint internalformat GLsizei width GLsizei height - GLint border + GLint border GLenum format GLenum type const void *pixels @@ -24975,7 +25070,7 @@ typedef unsigned int GLhandleARB; GLint internalFormat GLsizei width GLsizei height - GLboolean fixedSampleLocations + GLboolean fixedSampleLocations void glTextureImage2DMultisampleNV @@ -24985,18 +25080,18 @@ typedef unsigned int GLhandleARB; GLint internalFormat GLsizei width GLsizei height - GLboolean fixedSampleLocations + GLboolean fixedSampleLocations void glTextureImage3DEXT - GLuint texture + GLuint texture GLenum target - GLint level + GLint level GLint internalformat GLsizei width GLsizei height GLsizei depth - GLint border + GLint border GLenum format GLenum type const void *pixels @@ -25011,7 +25106,7 @@ typedef unsigned int GLhandleARB; GLsizei width GLsizei height GLsizei depth - GLboolean fixedSampleLocations + GLboolean fixedSampleLocations void glTextureImage3DMultisampleNV @@ -25022,7 +25117,7 @@ typedef unsigned int GLhandleARB; GLsizei width GLsizei height GLsizei depth - GLboolean fixedSampleLocations + GLboolean fixedSampleLocations void glTextureLightEXT @@ -25047,7 +25142,7 @@ typedef unsigned int GLhandleARB; GLsizei width GLsizei height GLsizei depth - GLboolean commit + GLboolean commit void glTexturePageCommitmentMemNV @@ -25062,7 +25157,7 @@ typedef unsigned int GLhandleARB; GLsizei depth GLuint memory GLuint64 offset - GLboolean commit + GLboolean commit void glTextureParameterIiv @@ -25072,10 +25167,10 @@ typedef unsigned int GLhandleARB; void glTextureParameterIivEXT - GLuint texture + GLuint texture GLenum target GLenum pname - const GLint *params + const GLint *params void glTextureParameterIuiv @@ -25085,7 +25180,7 @@ typedef unsigned int GLhandleARB; void glTextureParameterIuivEXT - GLuint texture + GLuint texture GLenum target GLenum pname const GLuint *params @@ -25098,10 +25193,10 @@ typedef unsigned int GLhandleARB; void glTextureParameterfEXT - GLuint texture + GLuint texture GLenum target GLenum pname - GLfloat param + GLfloat param @@ -25112,10 +25207,10 @@ typedef unsigned int GLhandleARB; void glTextureParameterfvEXT - GLuint texture + GLuint texture GLenum target GLenum pname - const GLfloat *params + const GLfloat *params void glTextureParameteri @@ -25125,10 +25220,10 @@ typedef unsigned int GLhandleARB; void glTextureParameteriEXT - GLuint texture + GLuint texture GLenum target GLenum pname - GLint param + GLint param @@ -25139,10 +25234,10 @@ typedef unsigned int GLhandleARB; void glTextureParameterivEXT - GLuint texture + GLuint texture GLenum target GLenum pname - const GLint *params + const GLint *params void glTextureRangeAPPLE @@ -25152,7 +25247,7 @@ typedef unsigned int GLhandleARB; void glTextureRenderbufferEXT - GLuint texture + GLuint texture GLenum target GLuint renderbuffer @@ -25195,17 +25290,17 @@ typedef unsigned int GLhandleARB; GLenum internalformat GLsizei width GLsizei height - GLboolean fixedsamplelocations + GLboolean fixedsamplelocations void glTextureStorage2DMultisampleEXT - GLuint texture + GLuint texture GLenum target GLsizei samples GLenum internalformat GLsizei width GLsizei height - GLboolean fixedsamplelocations + GLboolean fixedsamplelocations void glTextureStorage3D @@ -25234,7 +25329,7 @@ typedef unsigned int GLhandleARB; GLsizei width GLsizei height GLsizei depth - GLboolean fixedsamplelocations + GLboolean fixedsamplelocations void glTextureStorage3DMultisampleEXT @@ -25245,7 +25340,7 @@ typedef unsigned int GLhandleARB; GLsizei width GLsizei height GLsizei depth - GLboolean fixedsamplelocations + GLboolean fixedsamplelocations void glTextureStorageMem1DEXT @@ -25273,7 +25368,7 @@ typedef unsigned int GLhandleARB; GLenum internalFormat GLsizei width GLsizei height - GLboolean fixedSampleLocations + GLboolean fixedSampleLocations GLuint memory GLuint64 offset @@ -25296,7 +25391,7 @@ typedef unsigned int GLhandleARB; GLsizei width GLsizei height GLsizei depth - GLboolean fixedSampleLocations + GLboolean fixedSampleLocations GLuint memory GLuint64 offset @@ -25323,10 +25418,10 @@ typedef unsigned int GLhandleARB; void glTextureSubImage1DEXT - GLuint texture + GLuint texture GLenum target - GLint level - GLint xoffset + GLint level + GLint xoffset GLsizei width GLenum format GLenum type @@ -25346,11 +25441,11 @@ typedef unsigned int GLhandleARB; void glTextureSubImage2DEXT - GLuint texture + GLuint texture GLenum target - GLint level - GLint xoffset - GLint yoffset + GLint level + GLint xoffset + GLint yoffset GLsizei width GLsizei height GLenum format @@ -25373,12 +25468,12 @@ typedef unsigned int GLhandleARB; void glTextureSubImage3DEXT - GLuint texture + GLuint texture GLenum target - GLint level - GLint xoffset - GLint yoffset - GLint zoffset + GLint level + GLint xoffset + GLint yoffset + GLint zoffset GLsizei width GLsizei height GLsizei depth @@ -25447,7 +25542,7 @@ typedef unsigned int GLhandleARB; GLuint index GLuint buffer GLintptr offset - GLsizeiptr size + GLsizeiptr size void glTransformFeedbackStreamAttribsNV @@ -25482,8 +25577,8 @@ typedef unsigned int GLhandleARB; void glTransformPathNV - GLuint resultPath - GLuint srcPath + GLuint resultPath + GLuint srcPath GLenum transformType const GLfloat *transformValues @@ -25522,7 +25617,7 @@ typedef unsigned int GLhandleARB; void glUniform1dv GLint location GLsizei count - const GLdouble *value + const GLdouble *value void glUniform1f @@ -25539,13 +25634,13 @@ typedef unsigned int GLhandleARB; void glUniform1fv GLint location GLsizei count - const GLfloat *value + const GLfloat *value void glUniform1fvARB GLint location GLsizei count - const GLfloat *value + const GLfloat *value @@ -25567,13 +25662,13 @@ typedef unsigned int GLhandleARB; void glUniform1i64vARB GLint location GLsizei count - const GLint64 *value + const GLint64 *value void glUniform1i64vNV GLint location GLsizei count - const GLint64EXT *value + const GLint64EXT *value void glUniform1iARB @@ -25585,13 +25680,13 @@ typedef unsigned int GLhandleARB; void glUniform1iv GLint location GLsizei count - const GLint *value + const GLint *value void glUniform1ivARB GLint location GLsizei count - const GLint *value + const GLint *value @@ -25613,13 +25708,13 @@ typedef unsigned int GLhandleARB; void glUniform1ui64vARB GLint location GLsizei count - const GLuint64 *value + const GLuint64 *value void glUniform1ui64vNV GLint location GLsizei count - const GLuint64EXT *value + const GLuint64EXT *value void glUniform1uiEXT @@ -25631,13 +25726,13 @@ typedef unsigned int GLhandleARB; void glUniform1uiv GLint location GLsizei count - const GLuint *value + const GLuint *value void glUniform1uivEXT GLint location GLsizei count - const GLuint *value + const GLuint *value @@ -25650,7 +25745,7 @@ typedef unsigned int GLhandleARB; void glUniform2dv GLint location GLsizei count - const GLdouble *value + const GLdouble *value void glUniform2f @@ -25669,13 +25764,13 @@ typedef unsigned int GLhandleARB; void glUniform2fv GLint location GLsizei count - const GLfloat *value + const GLfloat *value void glUniform2fvARB GLint location GLsizei count - const GLfloat *value + const GLfloat *value @@ -25700,13 +25795,13 @@ typedef unsigned int GLhandleARB; void glUniform2i64vARB GLint location GLsizei count - const GLint64 *value + const GLint64 *value void glUniform2i64vNV GLint location GLsizei count - const GLint64EXT *value + const GLint64EXT *value void glUniform2iARB @@ -25719,13 +25814,13 @@ typedef unsigned int GLhandleARB; void glUniform2iv GLint location GLsizei count - const GLint *value + const GLint *value void glUniform2ivARB GLint location GLsizei count - const GLint *value + const GLint *value @@ -25750,13 +25845,13 @@ typedef unsigned int GLhandleARB; void glUniform2ui64vARB GLint location GLsizei count - const GLuint64 *value + const GLuint64 *value void glUniform2ui64vNV GLint location GLsizei count - const GLuint64EXT *value + const GLuint64EXT *value void glUniform2uiEXT @@ -25769,13 +25864,13 @@ typedef unsigned int GLhandleARB; void glUniform2uiv GLint location GLsizei count - const GLuint *value + const GLuint *value void glUniform2uivEXT GLint location GLsizei count - const GLuint *value + const GLuint *value @@ -25789,7 +25884,7 @@ typedef unsigned int GLhandleARB; void glUniform3dv GLint location GLsizei count - const GLdouble *value + const GLdouble *value void glUniform3f @@ -25810,13 +25905,13 @@ typedef unsigned int GLhandleARB; void glUniform3fv GLint location GLsizei count - const GLfloat *value + const GLfloat *value void glUniform3fvARB GLint location GLsizei count - const GLfloat *value + const GLfloat *value @@ -25844,13 +25939,13 @@ typedef unsigned int GLhandleARB; void glUniform3i64vARB GLint location GLsizei count - const GLint64 *value + const GLint64 *value void glUniform3i64vNV GLint location GLsizei count - const GLint64EXT *value + const GLint64EXT *value void glUniform3iARB @@ -25864,13 +25959,13 @@ typedef unsigned int GLhandleARB; void glUniform3iv GLint location GLsizei count - const GLint *value + const GLint *value void glUniform3ivARB GLint location GLsizei count - const GLint *value + const GLint *value @@ -25898,13 +25993,13 @@ typedef unsigned int GLhandleARB; void glUniform3ui64vARB GLint location GLsizei count - const GLuint64 *value + const GLuint64 *value void glUniform3ui64vNV GLint location GLsizei count - const GLuint64EXT *value + const GLuint64EXT *value void glUniform3uiEXT @@ -25918,13 +26013,13 @@ typedef unsigned int GLhandleARB; void glUniform3uiv GLint location GLsizei count - const GLuint *value + const GLuint *value void glUniform3uivEXT GLint location GLsizei count - const GLuint *value + const GLuint *value @@ -25939,7 +26034,7 @@ typedef unsigned int GLhandleARB; void glUniform4dv GLint location GLsizei count - const GLdouble *value + const GLdouble *value void glUniform4f @@ -25962,13 +26057,13 @@ typedef unsigned int GLhandleARB; void glUniform4fv GLint location GLsizei count - const GLfloat *value + const GLfloat *value void glUniform4fvARB GLint location GLsizei count - const GLfloat *value + const GLfloat *value @@ -25999,13 +26094,13 @@ typedef unsigned int GLhandleARB; void glUniform4i64vARB GLint location GLsizei count - const GLint64 *value + const GLint64 *value void glUniform4i64vNV GLint location GLsizei count - const GLint64EXT *value + const GLint64EXT *value void glUniform4iARB @@ -26020,13 +26115,13 @@ typedef unsigned int GLhandleARB; void glUniform4iv GLint location GLsizei count - const GLint *value + const GLint *value void glUniform4ivARB GLint location GLsizei count - const GLint *value + const GLint *value @@ -26057,13 +26152,13 @@ typedef unsigned int GLhandleARB; void glUniform4ui64vARB GLint location GLsizei count - const GLuint64 *value + const GLuint64 *value void glUniform4ui64vNV GLint location GLsizei count - const GLuint64EXT *value + const GLuint64EXT *value void glUniform4uiEXT @@ -26078,13 +26173,13 @@ typedef unsigned int GLhandleARB; void glUniform4uiv GLint location GLsizei count - const GLuint *value + const GLuint *value void glUniform4uivEXT GLint location GLsizei count - const GLuint *value + const GLuint *value @@ -26139,204 +26234,204 @@ typedef unsigned int GLhandleARB; void glUniformMatrix2dv GLint location GLsizei count - GLboolean transpose - const GLdouble *value + GLboolean transpose + const GLdouble *value void glUniformMatrix2fv GLint location GLsizei count - GLboolean transpose - const GLfloat *value + GLboolean transpose + const GLfloat *value void glUniformMatrix2fvARB GLint location GLsizei count - GLboolean transpose - const GLfloat *value + GLboolean transpose + const GLfloat *value void glUniformMatrix2x3dv GLint location GLsizei count - GLboolean transpose - const GLdouble *value + GLboolean transpose + const GLdouble *value void glUniformMatrix2x3fv GLint location GLsizei count - GLboolean transpose - const GLfloat *value + GLboolean transpose + const GLfloat *value void glUniformMatrix2x3fvNV GLint location GLsizei count - GLboolean transpose - const GLfloat *value + GLboolean transpose + const GLfloat *value void glUniformMatrix2x4dv GLint location GLsizei count - GLboolean transpose - const GLdouble *value + GLboolean transpose + const GLdouble *value void glUniformMatrix2x4fv GLint location GLsizei count - GLboolean transpose - const GLfloat *value + GLboolean transpose + const GLfloat *value void glUniformMatrix2x4fvNV GLint location GLsizei count - GLboolean transpose - const GLfloat *value + GLboolean transpose + const GLfloat *value void glUniformMatrix3dv GLint location GLsizei count - GLboolean transpose - const GLdouble *value + GLboolean transpose + const GLdouble *value void glUniformMatrix3fv GLint location GLsizei count - GLboolean transpose - const GLfloat *value + GLboolean transpose + const GLfloat *value void glUniformMatrix3fvARB GLint location GLsizei count - GLboolean transpose - const GLfloat *value + GLboolean transpose + const GLfloat *value void glUniformMatrix3x2dv GLint location GLsizei count - GLboolean transpose - const GLdouble *value + GLboolean transpose + const GLdouble *value void glUniformMatrix3x2fv GLint location GLsizei count - GLboolean transpose - const GLfloat *value + GLboolean transpose + const GLfloat *value void glUniformMatrix3x2fvNV GLint location GLsizei count - GLboolean transpose - const GLfloat *value + GLboolean transpose + const GLfloat *value void glUniformMatrix3x4dv GLint location GLsizei count - GLboolean transpose - const GLdouble *value + GLboolean transpose + const GLdouble *value void glUniformMatrix3x4fv GLint location GLsizei count - GLboolean transpose - const GLfloat *value + GLboolean transpose + const GLfloat *value void glUniformMatrix3x4fvNV GLint location GLsizei count - GLboolean transpose - const GLfloat *value + GLboolean transpose + const GLfloat *value void glUniformMatrix4dv GLint location GLsizei count - GLboolean transpose - const GLdouble *value + GLboolean transpose + const GLdouble *value void glUniformMatrix4fv GLint location GLsizei count - GLboolean transpose - const GLfloat *value + GLboolean transpose + const GLfloat *value void glUniformMatrix4fvARB GLint location GLsizei count - GLboolean transpose - const GLfloat *value + GLboolean transpose + const GLfloat *value void glUniformMatrix4x2dv GLint location GLsizei count - GLboolean transpose - const GLdouble *value + GLboolean transpose + const GLdouble *value void glUniformMatrix4x2fv GLint location GLsizei count - GLboolean transpose - const GLfloat *value + GLboolean transpose + const GLfloat *value void glUniformMatrix4x2fvNV GLint location GLsizei count - GLboolean transpose - const GLfloat *value + GLboolean transpose + const GLfloat *value void glUniformMatrix4x3dv GLint location GLsizei count - GLboolean transpose - const GLdouble *value + GLboolean transpose + const GLdouble *value void glUniformMatrix4x3fv GLint location GLsizei count - GLboolean transpose - const GLfloat *value + GLboolean transpose + const GLfloat *value void glUniformMatrix4x3fvNV GLint location GLsizei count - GLboolean transpose - const GLfloat *value + GLboolean transpose + const GLfloat *value @@ -26360,25 +26455,25 @@ typedef unsigned int GLhandleARB; void glUnlockArraysEXT - GLboolean glUnmapBuffer + GLboolean glUnmapBuffer GLenum target - GLboolean glUnmapBufferARB + GLboolean glUnmapBufferARB GLenum target - GLboolean glUnmapBufferOES + GLboolean glUnmapBufferOES GLenum target - GLboolean glUnmapNamedBuffer + GLboolean glUnmapNamedBuffer GLuint buffer - GLboolean glUnmapNamedBufferEXT + GLboolean glUnmapNamedBufferEXT GLuint buffer @@ -26408,7 +26503,7 @@ typedef unsigned int GLhandleARB; void glUseProgramObjectARB - GLhandleARB programObj + GLhandleARB programObj @@ -26433,7 +26528,7 @@ typedef unsigned int GLhandleARB; void glVDPAUGetSurfaceivNV - GLvdpauSurfaceNV surface + GLvdpauSurfaceNV surface GLenum pname GLsizei count GLsizei *length @@ -26445,49 +26540,49 @@ typedef unsigned int GLhandleARB; const void *getProcAddress - GLboolean glVDPAUIsSurfaceNV - GLvdpauSurfaceNV surface + GLboolean glVDPAUIsSurfaceNV + GLvdpauSurfaceNV surface void glVDPAUMapSurfacesNV GLsizei numSurfaces - const GLvdpauSurfaceNV *surfaces + const GLvdpauSurfaceNV *surfaces - GLvdpauSurfaceNV glVDPAURegisterOutputSurfaceNV + GLvdpauSurfaceNV glVDPAURegisterOutputSurfaceNV const void *vdpSurface GLenum target GLsizei numTextureNames const GLuint *textureNames - GLvdpauSurfaceNV glVDPAURegisterVideoSurfaceNV + GLvdpauSurfaceNV glVDPAURegisterVideoSurfaceNV const void *vdpSurface GLenum target GLsizei numTextureNames const GLuint *textureNames - GLvdpauSurfaceNV glVDPAURegisterVideoSurfaceWithPictureStructureNV + GLvdpauSurfaceNV glVDPAURegisterVideoSurfaceWithPictureStructureNV const void *vdpSurface GLenum target GLsizei numTextureNames const GLuint *textureNames - GLboolean isFrameStructure + GLboolean isFrameStructure void glVDPAUSurfaceAccessNV - GLvdpauSurfaceNV surface + GLvdpauSurfaceNV surface GLenum access void glVDPAUUnmapSurfacesNV GLsizei numSurface - const GLvdpauSurfaceNV *surfaces + const GLvdpauSurfaceNV *surfaces void glVDPAUUnregisterSurfaceNV - GLvdpauSurfaceNV surface + GLvdpauSurfaceNV surface void glValidateProgram @@ -26495,7 +26590,7 @@ typedef unsigned int GLhandleARB; void glValidateProgramARB - GLhandleARB programObj + GLhandleARB programObj @@ -26572,57 +26667,57 @@ typedef unsigned int GLhandleARB; void glVertex2d - GLdouble x - GLdouble y + GLdouble x + GLdouble y void glVertex2dv - const GLdouble *v + const GLdouble *v void glVertex2f - GLfloat x - GLfloat y + GLfloat x + GLfloat y void glVertex2fv - const GLfloat *v + const GLfloat *v void glVertex2hNV - GLhalfNV x - GLhalfNV y + GLhalfNV x + GLhalfNV y void glVertex2hvNV - const GLhalfNV *v + const GLhalfNV *v void glVertex2i - GLint x - GLint y + GLint x + GLint y void glVertex2iv - const GLint *v + const GLint *v void glVertex2s - GLshort x - GLshort y + GLshort x + GLshort y void glVertex2sv - const GLshort *v + const GLshort *v @@ -26645,62 +26740,62 @@ typedef unsigned int GLhandleARB; void glVertex3d - GLdouble x - GLdouble y - GLdouble z + GLdouble x + GLdouble y + GLdouble z void glVertex3dv - const GLdouble *v + const GLdouble *v void glVertex3f - GLfloat x - GLfloat y - GLfloat z + GLfloat x + GLfloat y + GLfloat z void glVertex3fv - const GLfloat *v + const GLfloat *v void glVertex3hNV - GLhalfNV x - GLhalfNV y - GLhalfNV z + GLhalfNV x + GLhalfNV y + GLhalfNV z void glVertex3hvNV - const GLhalfNV *v + const GLhalfNV *v void glVertex3i - GLint x - GLint y - GLint z + GLint x + GLint y + GLint z void glVertex3iv - const GLint *v + const GLint *v void glVertex3s - GLshort x - GLshort y - GLshort z + GLshort x + GLshort y + GLshort z void glVertex3sv - const GLshort *v + const GLshort *v @@ -26725,67 +26820,67 @@ typedef unsigned int GLhandleARB; void glVertex4d - GLdouble x - GLdouble y - GLdouble z - GLdouble w + GLdouble x + GLdouble y + GLdouble z + GLdouble w void glVertex4dv - const GLdouble *v + const GLdouble *v void glVertex4f - GLfloat x - GLfloat y - GLfloat z - GLfloat w + GLfloat x + GLfloat y + GLfloat z + GLfloat w void glVertex4fv - const GLfloat *v + const GLfloat *v void glVertex4hNV - GLhalfNV x - GLhalfNV y - GLhalfNV z - GLhalfNV w + GLhalfNV x + GLhalfNV y + GLhalfNV z + GLhalfNV w void glVertex4hvNV - const GLhalfNV *v + const GLhalfNV *v void glVertex4i - GLint x - GLint y - GLint z - GLint w + GLint x + GLint y + GLint z + GLint w void glVertex4iv - const GLint *v + const GLint *v void glVertex4s - GLshort x - GLshort y - GLshort z - GLshort w + GLshort x + GLshort y + GLshort z + GLshort w void glVertex4sv - const GLshort *v + const GLshort *v @@ -26810,7 +26905,7 @@ typedef unsigned int GLhandleARB; GLuint attribindex GLint size GLenum type - GLboolean normalized + GLboolean normalized GLuint relativeoffset @@ -26834,7 +26929,7 @@ typedef unsigned int GLhandleARB; GLuint vaobj GLuint bindingindex GLuint buffer - GLintptr offset + GLintptr offset GLsizei stride @@ -26949,7 +27044,7 @@ typedef unsigned int GLhandleARB; GLuint attribindex GLint size GLenum type - GLboolean normalized + GLboolean normalized GLuint relativeoffset @@ -26986,7 +27081,7 @@ typedef unsigned int GLhandleARB; GLint size GLenum type GLsizei stride - GLintptr offset + GLintptr offset void glVertexArrayVertexAttribOffsetEXT @@ -26995,7 +27090,7 @@ typedef unsigned int GLhandleARB; GLuint index GLint size GLenum type - GLboolean normalized + GLboolean normalized GLsizei stride GLintptr offset @@ -27114,13 +27209,13 @@ typedef unsigned int GLhandleARB; void glVertexAttrib1hNV GLuint index - GLhalfNV x + GLhalfNV x void glVertexAttrib1hvNV GLuint index - const GLhalfNV *v + const GLhalfNV *v @@ -27252,14 +27347,14 @@ typedef unsigned int GLhandleARB; void glVertexAttrib2hNV GLuint index - GLhalfNV x - GLhalfNV y + GLhalfNV x + GLhalfNV y void glVertexAttrib2hvNV GLuint index - const GLhalfNV *v + const GLhalfNV *v @@ -27400,15 +27495,15 @@ typedef unsigned int GLhandleARB; void glVertexAttrib3hNV GLuint index - GLhalfNV x - GLhalfNV y - GLhalfNV z + GLhalfNV x + GLhalfNV y + GLhalfNV z void glVertexAttrib3hvNV GLuint index - const GLhalfNV *v + const GLhalfNV *v @@ -27654,16 +27749,16 @@ typedef unsigned int GLhandleARB; void glVertexAttrib4hNV GLuint index - GLhalfNV x - GLhalfNV y - GLhalfNV z - GLhalfNV w + GLhalfNV x + GLhalfNV y + GLhalfNV z + GLhalfNV w void glVertexAttrib4hvNV GLuint index - const GLhalfNV *v + const GLhalfNV *v @@ -27729,10 +27824,10 @@ typedef unsigned int GLhandleARB; void glVertexAttrib4ubNV GLuint index - GLubyte x - GLubyte y - GLubyte z - GLubyte w + GLubyte x + GLubyte y + GLubyte z + GLubyte w @@ -27750,7 +27845,7 @@ typedef unsigned int GLhandleARB; void glVertexAttrib4ubvNV GLuint index - const GLubyte *v + const GLubyte *v @@ -27781,7 +27876,7 @@ typedef unsigned int GLhandleARB; GLuint index GLint size GLenum type - GLboolean normalized + GLboolean normalized GLsizei stride GLuint buffer GLuint offset @@ -27825,7 +27920,7 @@ typedef unsigned int GLhandleARB; GLuint attribindex GLint size GLenum type - GLboolean normalized + GLboolean normalized GLuint relativeoffset @@ -27833,7 +27928,7 @@ typedef unsigned int GLhandleARB; GLuint index GLint size GLenum type - GLboolean normalized + GLboolean normalized GLsizei stride @@ -28116,7 +28211,7 @@ typedef unsigned int GLhandleARB; GLint size GLenum type GLsizei stride - const void *pointer + const void *pointer void glVertexAttribIPointerEXT @@ -28124,7 +28219,7 @@ typedef unsigned int GLhandleARB; GLint size GLenum type GLsizei stride - const void *pointer + const void *pointer @@ -28349,7 +28444,7 @@ typedef unsigned int GLhandleARB; GLint size GLenum type GLsizei stride - const void *pointer + const void *pointer void glVertexAttribLPointerEXT @@ -28357,63 +28452,63 @@ typedef unsigned int GLhandleARB; GLint size GLenum type GLsizei stride - const void *pointer + const void *pointer void glVertexAttribP1ui GLuint index GLenum type - GLboolean normalized + GLboolean normalized GLuint value void glVertexAttribP1uiv GLuint index GLenum type - GLboolean normalized + GLboolean normalized const GLuint *value void glVertexAttribP2ui GLuint index GLenum type - GLboolean normalized + GLboolean normalized GLuint value void glVertexAttribP2uiv GLuint index GLenum type - GLboolean normalized + GLboolean normalized const GLuint *value void glVertexAttribP3ui GLuint index GLenum type - GLboolean normalized + GLboolean normalized GLuint value void glVertexAttribP3uiv GLuint index GLenum type - GLboolean normalized + GLboolean normalized const GLuint *value void glVertexAttribP4ui GLuint index GLenum type - GLboolean normalized + GLboolean normalized GLuint value void glVertexAttribP4uiv GLuint index GLenum type - GLboolean normalized + GLboolean normalized const GLuint *value @@ -28427,18 +28522,18 @@ typedef unsigned int GLhandleARB; GLuint index GLint size GLenum type - GLboolean normalized + GLboolean normalized GLsizei stride - const void *pointer + const void *pointer void glVertexAttribPointerARB GLuint index GLint size GLenum type - GLboolean normalized + GLboolean normalized GLsizei stride - const void *pointer + const void *pointer @@ -28467,7 +28562,7 @@ typedef unsigned int GLhandleARB; void glVertexAttribs1hvNV GLuint index GLsizei n - const GLhalfNV *v + const GLhalfNV *v @@ -28495,7 +28590,7 @@ typedef unsigned int GLhandleARB; void glVertexAttribs2hvNV GLuint index GLsizei n - const GLhalfNV *v + const GLhalfNV *v @@ -28523,7 +28618,7 @@ typedef unsigned int GLhandleARB; void glVertexAttribs3hvNV GLuint index GLsizei n - const GLhalfNV *v + const GLhalfNV *v @@ -28551,7 +28646,7 @@ typedef unsigned int GLhandleARB; void glVertexAttribs4hvNV GLuint index GLsizei n - const GLhalfNV *v + const GLhalfNV *v @@ -28565,7 +28660,7 @@ typedef unsigned int GLhandleARB; void glVertexAttribs4ubvNV GLuint index GLsizei count - const GLubyte *v + const GLubyte *v @@ -28856,12 +28951,12 @@ typedef unsigned int GLhandleARB; void glVertexWeighthNV - GLhalfNV weight + GLhalfNV weight void glVertexWeighthvNV - const GLhalfNV *weight + const GLhalfNV *weight @@ -28893,8 +28988,8 @@ typedef unsigned int GLhandleARB; void glViewport - GLint x - GLint y + GLint x + GLint y GLsizei width GLsizei height @@ -28994,7 +29089,7 @@ typedef unsigned int GLhandleARB; void glWaitSync - GLsync sync + GLsync sync GLbitfield flags GLuint64 timeout @@ -29007,9 +29102,9 @@ typedef unsigned int GLhandleARB; void glWeightPathsNV - GLuint resultPath + GLuint resultPath GLsizei numPaths - const GLuint *paths + const GLuint *paths const GLfloat *weights @@ -29076,351 +29171,351 @@ typedef unsigned int GLhandleARB; void glWindowPos2d - GLdouble x - GLdouble y + GLdouble x + GLdouble y void glWindowPos2dARB - GLdouble x - GLdouble y + GLdouble x + GLdouble y void glWindowPos2dMESA - GLdouble x - GLdouble y + GLdouble x + GLdouble y void glWindowPos2dv - const GLdouble *v + const GLdouble *v void glWindowPos2dvARB - const GLdouble *v + const GLdouble *v void glWindowPos2dvMESA - const GLdouble *v + const GLdouble *v void glWindowPos2f - GLfloat x - GLfloat y + GLfloat x + GLfloat y void glWindowPos2fARB - GLfloat x - GLfloat y + GLfloat x + GLfloat y void glWindowPos2fMESA - GLfloat x - GLfloat y + GLfloat x + GLfloat y void glWindowPos2fv - const GLfloat *v + const GLfloat *v void glWindowPos2fvARB - const GLfloat *v + const GLfloat *v void glWindowPos2fvMESA - const GLfloat *v + const GLfloat *v void glWindowPos2i - GLint x - GLint y + GLint x + GLint y void glWindowPos2iARB - GLint x - GLint y + GLint x + GLint y void glWindowPos2iMESA - GLint x - GLint y + GLint x + GLint y void glWindowPos2iv - const GLint *v + const GLint *v void glWindowPos2ivARB - const GLint *v + const GLint *v void glWindowPos2ivMESA - const GLint *v + const GLint *v void glWindowPos2s - GLshort x - GLshort y + GLshort x + GLshort y void glWindowPos2sARB - GLshort x - GLshort y + GLshort x + GLshort y void glWindowPos2sMESA - GLshort x - GLshort y + GLshort x + GLshort y void glWindowPos2sv - const GLshort *v + const GLshort *v void glWindowPos2svARB - const GLshort *v + const GLshort *v void glWindowPos2svMESA - const GLshort *v + const GLshort *v void glWindowPos3d - GLdouble x - GLdouble y - GLdouble z + GLdouble x + GLdouble y + GLdouble z void glWindowPos3dARB - GLdouble x - GLdouble y - GLdouble z + GLdouble x + GLdouble y + GLdouble z void glWindowPos3dMESA - GLdouble x - GLdouble y - GLdouble z + GLdouble x + GLdouble y + GLdouble z void glWindowPos3dv - const GLdouble *v + const GLdouble *v void glWindowPos3dvARB - const GLdouble *v + const GLdouble *v void glWindowPos3dvMESA - const GLdouble *v + const GLdouble *v void glWindowPos3f - GLfloat x - GLfloat y - GLfloat z + GLfloat x + GLfloat y + GLfloat z void glWindowPos3fARB - GLfloat x - GLfloat y - GLfloat z + GLfloat x + GLfloat y + GLfloat z void glWindowPos3fMESA - GLfloat x - GLfloat y - GLfloat z + GLfloat x + GLfloat y + GLfloat z void glWindowPos3fv - const GLfloat *v + const GLfloat *v void glWindowPos3fvARB - const GLfloat *v + const GLfloat *v void glWindowPos3fvMESA - const GLfloat *v + const GLfloat *v void glWindowPos3i - GLint x - GLint y - GLint z + GLint x + GLint y + GLint z void glWindowPos3iARB - GLint x - GLint y - GLint z + GLint x + GLint y + GLint z void glWindowPos3iMESA - GLint x - GLint y - GLint z + GLint x + GLint y + GLint z void glWindowPos3iv - const GLint *v + const GLint *v void glWindowPos3ivARB - const GLint *v + const GLint *v void glWindowPos3ivMESA - const GLint *v + const GLint *v void glWindowPos3s - GLshort x - GLshort y - GLshort z + GLshort x + GLshort y + GLshort z void glWindowPos3sARB - GLshort x - GLshort y - GLshort z + GLshort x + GLshort y + GLshort z void glWindowPos3sMESA - GLshort x - GLshort y - GLshort z + GLshort x + GLshort y + GLshort z void glWindowPos3sv - const GLshort *v + const GLshort *v void glWindowPos3svARB - const GLshort *v + const GLshort *v void glWindowPos3svMESA - const GLshort *v + const GLshort *v void glWindowPos4dMESA - GLdouble x - GLdouble y - GLdouble z - GLdouble w + GLdouble x + GLdouble y + GLdouble z + GLdouble w void glWindowPos4dvMESA - const GLdouble *v + const GLdouble *v void glWindowPos4fMESA - GLfloat x - GLfloat y - GLfloat z - GLfloat w + GLfloat x + GLfloat y + GLfloat z + GLfloat w void glWindowPos4fvMESA - const GLfloat *v + const GLfloat *v void glWindowPos4iMESA - GLint x - GLint y - GLint z - GLint w + GLint x + GLint y + GLint z + GLint w void glWindowPos4ivMESA - const GLint *v + const GLint *v void glWindowPos4sMESA - GLshort x - GLshort y - GLshort z - GLshort w + GLshort x + GLshort y + GLshort z + GLshort w void glWindowPos4svMESA - const GLshort *v + const GLshort *v void glWindowRectanglesEXT @@ -39541,6 +39636,18 @@ typedef unsigned int GLhandleARB; + + + + + + + + + + + + @@ -40817,6 +40924,12 @@ typedef unsigned int GLhandleARB; + + + + + + @@ -42243,6 +42356,7 @@ typedef unsigned int GLhandleARB; + @@ -42903,6 +43017,11 @@ typedef unsigned int GLhandleARB; + + + + + @@ -43324,6 +43443,21 @@ typedef unsigned int GLhandleARB; + + + + + + + + + + + + + + + @@ -44095,12 +44229,6 @@ typedef unsigned int GLhandleARB; - - - - - - @@ -44114,6 +44242,18 @@ typedef unsigned int GLhandleARB; + + + + + + + + + + + + @@ -45153,6 +45293,7 @@ typedef unsigned int GLhandleARB; + @@ -45544,6 +45685,13 @@ typedef unsigned int GLhandleARB; + + + + + + + @@ -46562,8 +46710,8 @@ typedef unsigned int GLhandleARB; - - + + @@ -46587,6 +46735,11 @@ typedef unsigned int GLhandleARB; + + + + + @@ -46598,8 +46751,7 @@ typedef unsigned int GLhandleARB; - - + @@ -46656,8 +46808,7 @@ typedef unsigned int GLhandleARB; - - + @@ -47332,6 +47483,5 @@ typedef unsigned int GLhandleARB; - diff --git a/glad/files/glx.xml b/glad/files/glx.xml index 698b7af0..710310f3 100644 --- a/glad/files/glx.xml +++ b/glad/files/glx.xml @@ -52,7 +52,7 @@ typedef unsigned __int64 uint64_t; #endif]]> - + @@ -61,6 +61,7 @@ typedef unsigned __int64 uint64_t; + diff --git a/glad/files/vk.xml b/glad/files/vk.xml index 8693f9d3..fb92b7c2 100644 --- a/glad/files/vk.xml +++ b/glad/files/vk.xml @@ -1,7 +1,7 @@ -Copyright 2015-2023 The Khronos Group Inc. +Copyright 2015-2024 The Khronos Group Inc. SPDX-License-Identifier: Apache-2.0 OR MIT @@ -38,7 +38,7 @@ branch of the member gitlab server. - + @@ -67,14 +67,15 @@ branch of the member gitlab server. - + - + - + + @@ -133,6 +134,7 @@ branch of the member gitlab server. + @@ -173,20 +175,22 @@ branch of the member gitlab server. #define VKSC_API_VERSION_1_0 VK_MAKE_API_VERSION(VKSC_API_VARIANT, 1, 0, 0)// Patch version should always be set to 0 // Version of this file -#define VK_HEADER_VERSION 241 +#define VK_HEADER_VERSION 277 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) // Version of this file -#define VK_HEADER_VERSION 12 +#define VK_HEADER_VERSION 14 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(VKSC_API_VARIANT, 1, 0, VK_HEADER_VERSION) - + +#define VK_DEFINE_HANDLE(object) typedef struct object##_T* object; + #define VK_DEFINE_HANDLE(object) typedef struct object##_T* (object); #ifndef VK_USE_64_BIT_PTR_DEFINES - #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__) + #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__) || (defined(__riscv) && __riscv_xlen == 64) #define VK_USE_64_BIT_PTR_DEFINES 1 #else #define VK_USE_64_BIT_PTR_DEFINES 0 @@ -207,7 +211,15 @@ branch of the member gitlab server. #ifndef VK_NULL_HANDLE #define VK_NULL_HANDLE 0 #endif - + +#ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE + #if (VK_USE_64_BIT_PTR_DEFINES==1) + #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object; + #else + #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object; + #endif +#endif + #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE #if (VK_USE_64_BIT_PTR_DEFINES==1) #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *(object); @@ -327,6 +339,7 @@ typedef void* MTLSharedEvent_id; typedef VkFlags VkCommandBufferUsageFlags; typedef VkFlags VkQueryPipelineStatisticFlags; typedef VkFlags VkMemoryMapFlags; + typedef VkFlags VkMemoryUnmapFlagsKHR; typedef VkFlags VkImageAspectFlags; typedef VkFlags VkSparseMemoryBindFlags; typedef VkFlags VkSparseImageFormatFlags; @@ -377,6 +390,8 @@ typedef void* MTLSharedEvent_id; typedef VkFlags VkBuildMicromapFlagsEXT; typedef VkFlags VkMicromapCreateFlagsEXT; typedef VkFlags VkDirectDriverLoadingFlagsLUNARG; + typedef VkFlags64 VkPipelineCreateFlags2KHR; + typedef VkFlags64 VkBufferUsageFlags2KHR; WSI extensions typedef VkFlags VkCompositeAlphaFlagsKHR; @@ -452,6 +467,7 @@ typedef void* MTLSharedEvent_id; typedef VkFlags VkSubmitFlags; typedef VkFlags VkImageFormatConstraintsFlagsFUCHSIA; + typedef VkFlags VkHostImageCopyFlagsEXT; typedef VkFlags VkImageConstraintsInfoFlagsFUCHSIA; typedef VkFlags VkGraphicsPipelineLibraryFlagsEXT; typedef VkFlags VkImageCompressionFlagsEXT; @@ -462,8 +478,11 @@ typedef void* MTLSharedEvent_id; typedef VkFlags VkOpticalFlowUsageFlagsNV; typedef VkFlags VkOpticalFlowSessionCreateFlagsNV; typedef VkFlags VkOpticalFlowExecuteFlagsNV; + typedef VkFlags VkFrameBoundaryFlagsEXT; typedef VkFlags VkPresentScalingFlagsEXT; typedef VkFlags VkPresentGravityFlagsEXT; + typedef VkFlags VkShaderCreateFlagsEXT; + typedef VkFlags64 VkPhysicalDeviceSchedulingControlsFlagsARM; Video Core extension typedef VkFlags VkVideoCodecOperationFlagsKHR; @@ -487,22 +506,23 @@ typedef void* MTLSharedEvent_id; typedef VkFlags VkVideoEncodeUsageFlagsKHR; typedef VkFlags VkVideoEncodeContentFlagsKHR; typedef VkFlags VkVideoEncodeCapabilityFlagsKHR; + typedef VkFlags VkVideoEncodeFeedbackFlagsKHR; typedef VkFlags VkVideoEncodeRateControlFlagsKHR; typedef VkFlags VkVideoEncodeRateControlModeFlagsKHR; typedef VkFlags VkVideoChromaSubsamplingFlagsKHR; typedef VkFlags VkVideoComponentBitDepthFlagsKHR; Video Encode H.264 extension - typedef VkFlags VkVideoEncodeH264CapabilityFlagsEXT; - typedef VkFlags VkVideoEncodeH264InputModeFlagsEXT; - typedef VkFlags VkVideoEncodeH264OutputModeFlagsEXT; + typedef VkFlags VkVideoEncodeH264CapabilityFlagsKHR; + typedef VkFlags VkVideoEncodeH264StdFlagsKHR; + typedef VkFlags VkVideoEncodeH264RateControlFlagsKHR; Video Encode H.265 extension - typedef VkFlags VkVideoEncodeH265CapabilityFlagsEXT; - typedef VkFlags VkVideoEncodeH265InputModeFlagsEXT; - typedef VkFlags VkVideoEncodeH265OutputModeFlagsEXT; - typedef VkFlags VkVideoEncodeH265CtbSizeFlagsEXT; - typedef VkFlags VkVideoEncodeH265TransformBlockSizeFlagsEXT; + typedef VkFlags VkVideoEncodeH265CapabilityFlagsKHR; + typedef VkFlags VkVideoEncodeH265StdFlagsKHR; + typedef VkFlags VkVideoEncodeH265RateControlFlagsKHR; + typedef VkFlags VkVideoEncodeH265CtbSizeFlagsKHR; + typedef VkFlags VkVideoEncodeH265TransformBlockSizeFlagsKHR; Types which can be void pointers or class pointers, selected at compile time VK_DEFINE_HANDLE(VkInstance) @@ -547,6 +567,7 @@ typedef void* MTLSharedEvent_id; VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuFunctionNVX) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkOpticalFlowSessionNV) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkMicromapEXT) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderEXT) WSI extensions VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR) @@ -665,7 +686,8 @@ typedef void* MTLSharedEvent_id; - + + @@ -695,8 +717,6 @@ typedef void* MTLSharedEvent_id; - - @@ -712,7 +732,8 @@ typedef void* MTLSharedEvent_id; - + + @@ -735,6 +756,7 @@ typedef void* MTLSharedEvent_id; + @@ -757,8 +779,22 @@ typedef void* MTLSharedEvent_id; + + + + + + + + + + + + + + WSI extensions @@ -832,6 +868,10 @@ typedef void* MTLSharedEvent_id; + + + + Enumerated types in the header, but not used by the API @@ -864,21 +904,20 @@ typedef void* MTLSharedEvent_id; + Video H.264 Encode extensions - - - - + + + Video H.265 Encode extensions - - - - - - + + + + + The PFN_vk*Function types are used by VkAllocationCallbacks below typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)( @@ -1160,12 +1199,17 @@ typedef void* MTLSharedEvent_id; uint32_t dstArrayElementArray element within the destination binding to copy to uint32_t descriptorCountNumber of descriptors to write (determines the size of the array pointed by pDescriptors) + + VkStructureType sType + const void* pNext + VkBufferUsageFlags2KHR usage + VkStructureType sType const void* pNext VkBufferCreateFlags flagsBuffer creation flags VkDeviceSize sizeSpecified in bytes - VkBufferUsageFlags usageBuffer usage flags + VkBufferUsageFlags usageBuffer usage flags VkSharingMode sharingMode uint32_t queueFamilyIndexCount const uint32_t* pQueueFamilyIndices @@ -1414,12 +1458,24 @@ typedef void* MTLSharedEvent_id; VkStructureType sType const void* pNext - VkPipelineCreateFlags flagsPipeline creation flags + VkPipelineCreateFlags flagsPipeline creation flags VkPipelineShaderStageCreateInfo stage VkPipelineLayout layoutInterface layout of the pipeline VkPipeline basePipelineHandleIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is nonzero, it specifies the handle of the base pipeline this is a derivative of int32_t basePipelineIndexIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is not -1, it specifies an index into pCreateInfos of the base pipeline this is a derivative of + + VkStructureType sType + const void* pNext + VkDeviceAddress deviceAddress + VkDeviceSize size + VkDeviceAddress pipelineDeviceAddressCaptureReplay + + + VkStructureType sType + const void* pNext + VkPipelineCreateFlags2KHR flags + uint32_t bindingVertex buffer binding id uint32_t strideDistance between vertices in bytes (0 = no advancement) @@ -1541,7 +1597,7 @@ typedef void* MTLSharedEvent_id; VkStructureType sType const void* pNext - VkPipelineCreateFlags flagsPipeline creation flags + VkPipelineCreateFlags flagsPipeline creation flags uint32_t stageCount const VkPipelineShaderStageCreateInfo* pStagesOne entry for each active shader stage const VkPipelineShaderStageCreateInfo* pStagesOne entry for each active shader stage @@ -1605,7 +1661,7 @@ typedef void* MTLSharedEvent_id; uint32_t offsetStart of the range, in bytes uint32_t sizeSize of the range, in bytes - + VkStructureType sType const void* pNext VkPipelineLayoutCreateFlags flags @@ -1808,7 +1864,7 @@ typedef void* MTLSharedEvent_id; VkBool32 residencyStandard2DBlockShapeSparse resources support: GPU will access all 2D (single sample) sparse resources using the standard sparse image block shapes (based on pixel format) VkBool32 residencyStandard2DMultisampleBlockShapeSparse resources support: GPU will access all 2D (multisample) sparse resources using the standard sparse image block shapes (based on pixel format) VkBool32 residencyStandard3DBlockShapeSparse resources support: GPU will access all 3D sparse resources using the standard sparse image block shapes (based on pixel format) - VkBool32 residencyAlignedMipSizeSparse resources support: Images with mip level dimensions that are NOT a multiple of the sparse image block dimensions will be placed in the mip tail + VkBool32 residencyAlignedMipSizeSparse resources support: Images with mip level dimensions that are NOT a multiple of the sparse image block dimensions will be placed in the mip tail VkBool32 residencyNonResidentStrictSparse resources support: GPU can consistently access non-resident regions of a resource, all reads return as if data is 0, writes are discarded @@ -2182,6 +2238,19 @@ typedef void* MTLSharedEvent_id; uint32_t disabledValidationFeatureCountNumber of validation features to disable const VkValidationFeatureDisableEXT* pDisabledValidationFeaturesValidation features to disable + + VkStructureType sTypeMust be VK_STRUCTURE_TYPE_LAYER_SETTINGS_CREATE_INFO_EXT + const void* pNext + uint32_t settingCountNumber of settings to configure + const VkLayerSettingEXT* pSettingsValidation features to enable + + + const char* pLayerName + const char* pSettingName + VkLayerSettingTypeEXT typeThe type of the object + uint32_t valueCountNumber of values of the setting + const void* pValuesValues to pass for a setting + VkStructureType sType const void* pNext @@ -2306,6 +2375,13 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 deviceGeneratedCommands + + VkStructureType sType + void* pNext + VkBool32 deviceGeneratedCompute + VkBool32 deviceGeneratedComputePipelines + VkBool32 deviceGeneratedComputeCaptureReplay + VkStructureType sType const void* pNext @@ -2426,10 +2502,19 @@ typedef void* MTLSharedEvent_id; VkStructureType sType const void* pNext VkPipelineBindPoint pipelineBindPoint - VkPipeline pipeline + VkPipeline pipeline VkIndirectCommandsLayoutNV indirectCommandsLayout uint32_t maxSequencesCount + + VkStructureType sType + const void* pNext + VkPipelineBindPoint pipelineBindPoint + VkPipeline pipeline + + + VkDeviceAddress pipelineAddress + VkStructureType sType void* pNext @@ -2559,7 +2644,7 @@ typedef void* MTLSharedEvent_id; VkStructureType sType const void* pNext VkBufferCreateFlags flags - VkBufferUsageFlags usage + VkBufferUsageFlags usage VkExternalMemoryHandleTypeFlagBits handleType @@ -2870,7 +2955,7 @@ typedef void* MTLSharedEvent_id; VkSemaphoreSciSyncPoolNV semaphorePool const NvSciSyncFence* pFence - + VkStructureType sType const void* pNext uint32_t semaphoreSciSyncPoolRequestCount @@ -3619,6 +3704,42 @@ typedef void* MTLSharedEvent_id; VkDeviceSize maxBufferSize + + VkStructureType sType + void* pNext + VkBool32 maintenance5 + + + VkStructureType sType + void* pNext + VkBool32 earlyFragmentMultisampleCoverageAfterSampleCounting + VkBool32 earlyFragmentSampleMaskTestBeforeSampleCounting + VkBool32 depthStencilSwizzleOneSupport + VkBool32 polygonModePointSize + VkBool32 nonStrictSinglePixelWideLinesUseParallelogram + VkBool32 nonStrictWideLinesUseParallelogram + + + VkStructureType sType + void* pNext + VkBool32 maintenance6 + + + VkStructureType sType + void* pNext + VkBool32 blockTexelViewCompatibleMultipleLayers + uint32_t maxCombinedImageSamplerDescriptorCount + VkBool32 fragmentShadingRateClampCombinerInputs + + + VkStructureType sType + const void* pNext + uint32_t viewMask + uint32_t colorAttachmentCount + const VkFormat* pColorAttachmentFormats + VkFormat depthAttachmentFormat + VkFormat stencilAttachmentFormat + VkStructureType sType void* pNext @@ -3762,7 +3883,7 @@ typedef void* MTLSharedEvent_id; VkDebugUtilsMessengerCallbackDataFlagsEXT flags const char* pMessageIdName int32_t messageIdNumber - const char* pMessage + const char* pMessage uint32_t queueLabelCount const VkDebugUtilsLabelEXT* pQueueLabels uint32_t cmdBufLabelCount @@ -3797,7 +3918,7 @@ typedef void* MTLSharedEvent_id; VkStructureType sType const void* pNext VkExternalMemoryHandleTypeFlagBits handleType - void* pHostPointer + void* pHostPointer VkStructureType sType @@ -3822,11 +3943,12 @@ typedef void* MTLSharedEvent_id; VkBool32 fullyCoveredFragmentShaderInputVariabletrue if the implementation supports the FullyCoveredEXT SPIR-V builtin fragment shader input variable VkBool32 conservativeRasterizationPostDepthCoveragetrue if the implementation supports both conservative rasterization and post depth coverage sample coverage mask - - VkStructureType sType + + VkStructureType sType const void* pNext - VkTimeDomainEXT timeDomain + VkTimeDomainKHR timeDomain + VkStructureType sType void* pNext @@ -4051,21 +4173,29 @@ typedef void* MTLSharedEvent_id; uint64_t value - + uint32_t binding uint32_t divisor - - VkStructureType sType + + + VkStructureType sType const void* pNext uint32_t vertexBindingDivisorCount - const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors + const VkVertexInputBindingDivisorDescriptionKHR* pVertexBindingDivisors + VkStructureType sType void* pNext uint32_t maxVertexAttribDivisormax value of vertex attribute divisor + + VkStructureType sType + void* pNext + uint32_t maxVertexAttribDivisormax value of vertex attribute divisor + VkBool32 supportsNonZeroFirstInstance + VkStructureType sType void* pNext @@ -4112,7 +4242,7 @@ typedef void* MTLSharedEvent_id; const void* pNext VkBool32 conditionalRenderingEnableWhether this secondary command buffer may be executed during an active conditional rendering - + VkStructureType sType void* pNext uint64_t externalFormat @@ -4178,12 +4308,13 @@ typedef void* MTLSharedEvent_id; VkBool32 shaderImageFloat32AtomicMinMax VkBool32 sparseImageFloat32AtomicMinMax - - VkStructureType sType + + VkStructureType sType void* pNext VkBool32 vertexAttributeInstanceRateDivisor VkBool32 vertexAttributeInstanceRateZeroDivisor + VkStructureType sType void* pNext @@ -4454,7 +4585,7 @@ typedef void* MTLSharedEvent_id; VkStructureType sType const void* pNext - VkPipelineCreateFlags flagsPipeline creation flags + VkPipelineCreateFlags flagsPipeline creation flags uint32_t stageCount const VkPipelineShaderStageCreateInfo* pStagesOne entry for each active shader stage uint32_t groupCount @@ -4467,7 +4598,7 @@ typedef void* MTLSharedEvent_id; VkStructureType sType const void* pNext - VkPipelineCreateFlags flagsPipeline creation flags + VkPipelineCreateFlags flagsPipeline creation flags uint32_t stageCount const VkPipelineShaderStageCreateInfo* pStagesOne entry for each active shader stage uint32_t groupCount @@ -4676,7 +4807,7 @@ typedef void* MTLSharedEvent_id; VkStructureType sType const void* pNext uint64_t drmFormatModifier - uint32_t drmFormatModifierPlaneCount + uint32_t drmFormatModifierPlaneCount const VkSubresourceLayout* pPlaneLayouts @@ -4886,7 +5017,7 @@ typedef void* MTLSharedEvent_id; void* pNext VkShaderStageFlags cooperativeMatrixSupportedStages - + VkStructureType sType void* pNext uint32_t MSize @@ -4926,7 +5057,7 @@ typedef void* MTLSharedEvent_id; uint64_t duration - + VkStructureType sType const void* pNext VkPipelineCreationFeedback* pPipelineCreationFeedbackOutput pipeline creation feedback. @@ -5017,7 +5148,7 @@ typedef void* MTLSharedEvent_id; const void* pNext uint32_t counterPassIndexIndex for which counter pass to submit - + VkStructureType sType const void* pNext uint32_t maxPerformanceQueriesPerPoolMaximum number of VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR queries in a query pool @@ -5101,11 +5232,12 @@ typedef void* MTLSharedEvent_id; VkBool32 shaderSubgroupClock VkBool32 shaderDeviceClock - - VkStructureType sType + + VkStructureType sType void* pNext VkBool32 indexTypeUint8 + VkStructureType sType void* pNext @@ -5233,12 +5365,13 @@ typedef void* MTLSharedEvent_id; VkShaderStageFlags requiredSubgroupSizeStagesThe shader stages that support specifying a subgroup size - + VkStructureType sType void* pNext uint32_t requiredSubgroupSize + VkStructureType sType void* pNext @@ -5256,6 +5389,7 @@ typedef void* MTLSharedEvent_id; uint32_t maxWorkGroupCount[3] uint32_t maxWorkGroupSize[3] uint32_t maxOutputClusterCount + VkDeviceSize indirectBufferOffsetAlignment VkStructureType sType @@ -5269,8 +5403,8 @@ typedef void* MTLSharedEvent_id; VkDeviceMemory memory - - VkStructureType sType + + VkStructureType sType void* pNext VkBool32 rectangularLines VkBool32 bresenhamLines @@ -5279,19 +5413,22 @@ typedef void* MTLSharedEvent_id; VkBool32 stippledBresenhamLines VkBool32 stippledSmoothLines - - VkStructureType sType + + + VkStructureType sType void* pNext uint32_t lineSubPixelPrecisionBits - - VkStructureType sType - const void* pNext - VkLineRasterizationModeEXT lineRasterizationMode + + + VkStructureType sType + const void* pNext + VkLineRasterizationModeKHR lineRasterizationMode VkBool32 stippledLineEnable uint32_t lineStippleFactor uint16_t lineStipplePattern + VkStructureType sType void* pNext @@ -5508,7 +5645,7 @@ typedef void* MTLSharedEvent_id; VkBool32 uniformTexelBufferOffsetSingleTexelAlignment VkDeviceSize maxBufferSize - + VkStructureType sType const void* pNext VkPipelineCompilerControlFlagsAMD compilerControlFlags @@ -5526,7 +5663,7 @@ typedef void* MTLSharedEvent_id; VkStructureType sType - void* pNext + const void* pNext uint32_t faultCount VkFaultData*pFaults PFN_vkFaultCallbackFunction pfnFaultCallback @@ -5578,6 +5715,10 @@ typedef void* MTLSharedEvent_id; VkDeviceAddress deviceAddress const void* hostAddress + + VkDeviceAddress deviceAddress + const void* hostAddress + VkStructureType sType const void* pNext @@ -5897,7 +6038,12 @@ typedef void* MTLSharedEvent_id; void*pNext VkBool32 clustercullingShader VkBool32 multiviewClusterCullingShader - + + + VkStructureType sType + void*pNext + VkBool32 clusterShadingRate + VkStructureType sType const void* pNext @@ -6086,7 +6232,7 @@ typedef void* MTLSharedEvent_id; VkFragmentShadingRateNV shadingRate VkFragmentShadingRateCombinerOpKHR combinerOps[2] - + VkStructureType sType const void* pNext VkDeviceSize accelerationStructureSize @@ -6104,6 +6250,11 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 imageSlicedViewOf3D + + VkStructureType sType + void* pNext + VkBool32 attachmentFeedbackLoopDynamicState + VkStructureType sType void* pNext @@ -6264,6 +6415,89 @@ typedef void* MTLSharedEvent_id; VkBool32 synchronization2 + + VkStructureType sType + void* pNext + VkBool32 hostImageCopy + + + VkStructureType sType + void* pNext + uint32_t copySrcLayoutCount + VkImageLayout* pCopySrcLayouts + uint32_t copyDstLayoutCount + VkImageLayout* pCopyDstLayouts + uint8_t optimalTilingLayoutUUID[VK_UUID_SIZE] + VkBool32 identicalMemoryTypeRequirements + + + VkStructureType sType + const void* pNext + const void* pHostPointer + uint32_t memoryRowLengthSpecified in texels + uint32_t memoryImageHeight + VkImageSubresourceLayers imageSubresource + VkOffset3D imageOffset + VkExtent3D imageExtent + + + VkStructureType sType + const void* pNext + void* pHostPointer + uint32_t memoryRowLengthSpecified in texels + uint32_t memoryImageHeight + VkImageSubresourceLayers imageSubresource + VkOffset3D imageOffset + VkExtent3D imageExtent + + + VkStructureType sType + const void* pNext + VkHostImageCopyFlagsEXT flags + VkImage dstImage + VkImageLayout dstImageLayout + uint32_t regionCount + const VkMemoryToImageCopyEXT* pRegions + + + VkStructureType sType + const void* pNext + VkHostImageCopyFlagsEXT flags + VkImage srcImage + VkImageLayout srcImageLayout + uint32_t regionCount + const VkImageToMemoryCopyEXT* pRegions + + + VkStructureType sType + const void* pNext + VkHostImageCopyFlagsEXT flags + VkImage srcImage + VkImageLayout srcImageLayout + VkImage dstImage + VkImageLayout dstImageLayout + uint32_t regionCount + const VkImageCopy2* pRegions + + + VkStructureType sType + const void* pNext + VkImage image + VkImageLayout oldLayout + VkImageLayout newLayout + VkImageSubresourceRange subresourceRange + + + VkStructureType sType + void* pNext + VkDeviceSize sizeSpecified in bytes + + + VkStructureType sType + void* pNext + VkBool32 optimalDeviceAccessSpecifies if device access is optimal + VkBool32 identicalMemoryLayoutSpecifies if memory layout is identical + VkStructureType sType void* pNext @@ -6340,8 +6574,8 @@ typedef void* MTLSharedEvent_id; VkStructureType sType const void* pNext - VkDeviceSize commandPoolReservedSize - uint32_t commandPoolMaxCommandBuffers + VkDeviceSize commandPoolReservedSize + uint32_t commandPoolMaxCommandBuffers VkStructureType sType @@ -6489,6 +6723,18 @@ typedef void* MTLSharedEvent_id; const VkVideoReferenceSlotInfoKHR* pSetupReferenceSlot uint32_t referenceSlotCount const VkVideoReferenceSlotInfoKHR* pReferenceSlots + + + VkStructureType sType + void* pNext + VkBool32 videoMaintenance1 + + + VkStructureType sType + const void* pNext + VkQueryPool queryPool + uint32_t firstQuery + uint32_t queryCount Video Decode Codec Standard specific structures #include "vk_video/vulkan_video_codec_h264std.h" @@ -6610,16 +6856,54 @@ typedef void* MTLSharedEvent_id; VkStructureType sType - const void* pNext - StdVideoDecodeH265PictureInfo* pStdPictureInfo - uint32_t sliceSegmentCount - const uint32_t* pSliceSegmentOffsets + const void* pNext + const StdVideoDecodeH265PictureInfo* pStdPictureInfo + uint32_t sliceSegmentCount + const uint32_t* pSliceSegmentOffsets VkStructureType sType const void* pNext const StdVideoDecodeH265ReferenceInfo* pStdReferenceInfo + #include "vk_video/vulkan_video_codec_av1std.h" + + + + #include "vk_video/vulkan_video_codec_av1std_decode.h" + + + + VkStructureType sType + const void* pNext + StdVideoAV1Profile stdProfile + VkBool32 filmGrainSupport + + + VkStructureType sType + void* pNext + StdVideoAV1Level maxLevel + + + VkStructureType sType + const void* pNext + const StdVideoAV1SequenceHeader* pStdSequenceHeader + + + VkStructureType sType + const void* pNext + const StdVideoDecodeAV1PictureInfo* pStdPictureInfo + int32_t referenceNameSlotIndices[VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR] + uint32_t frameHeaderOffset + uint32_t tileCount + const uint32_t* pTileOffsets + const uint32_t* pTileSizes + + + VkStructureType sType + const void* pNext + const StdVideoDecodeAV1ReferenceInfo* pStdReferenceInfo + VkStructureType sType const void* pNext @@ -6645,6 +6929,16 @@ typedef void* MTLSharedEvent_id; const void* pNext uint32_t updateSequenceCount + + VkStructureType sType + const void* pNext + VkVideoSessionParametersKHR videoSessionParameters + + + VkStructureType sType + void* pNext + VkBool32 hasOverrides + VkStructureType sType const void* pNext @@ -6662,7 +6956,7 @@ typedef void* MTLSharedEvent_id; VkStructureType sType const void* pNext - VkVideoCodingControlFlagsKHR flags + VkVideoCodingControlFlagsKHR flags VkStructureType sType @@ -6675,287 +6969,345 @@ typedef void* MTLSharedEvent_id; VkStructureType sType const void* pNext VkVideoEncodeFlagsKHR flags - uint32_t qualityLevel - VkBuffer dstBitstreamBuffer - VkDeviceSize dstBitstreamBufferOffset - VkDeviceSize dstBitstreamBufferMaxRange + VkBuffer dstBuffer + VkDeviceSize dstBufferOffset + VkDeviceSize dstBufferRange VkVideoPictureResourceInfoKHR srcPictureResource const VkVideoReferenceSlotInfoKHR* pSetupReferenceSlot uint32_t referenceSlotCount const VkVideoReferenceSlotInfoKHR* pReferenceSlots uint32_t precedingExternallyEncodedBytes - + + VkStructureType sType + const void* pNext + VkVideoEncodeFeedbackFlagsKHR encodeFeedbackFlags + + + VkStructureType sType + const void* pNext + uint32_t qualityLevel + + + VkStructureType sType + const void* pNext + const VkVideoProfileInfoKHR* pVideoProfile + uint32_t qualityLevel + + + VkStructureType sType + void* pNext + VkVideoEncodeRateControlModeFlagBitsKHR preferredRateControlMode + uint32_t preferredRateControlLayerCount + + VkStructureType sType - const void* pNext + const void* pNext VkVideoEncodeRateControlFlagsKHR flags - VkVideoEncodeRateControlModeFlagBitsKHR rateControlMode - uint8_t layerCount - const VkVideoEncodeRateControlLayerInfoKHR* pLayerConfigs + VkVideoEncodeRateControlModeFlagBitsKHR rateControlMode + uint32_t layerCount + const VkVideoEncodeRateControlLayerInfoKHR* pLayers + uint32_t virtualBufferSizeInMs + uint32_t initialVirtualBufferSizeInMs - + VkStructureType sType - const void* pNext - uint32_t averageBitrate - uint32_t maxBitrate - uint32_t frameRateNumerator - uint32_t frameRateDenominator - uint32_t virtualBufferSizeInMs - uint32_t initialVirtualBufferSizeInMs + const void* pNext + uint64_t averageBitrate + uint64_t maxBitrate + uint32_t frameRateNumerator + uint32_t frameRateDenominator VkStructureType sType void* pNext VkVideoEncodeCapabilityFlagsKHR flags VkVideoEncodeRateControlModeFlagsKHR rateControlModes - uint8_t rateControlLayerCount - uint8_t qualityLevelCount - VkExtent2D inputImageDataFillAlignment - - - VkStructureType sType + uint32_t maxRateControlLayers + uint64_t maxBitrate + uint32_t maxQualityLevels + VkExtent2D encodeInputPictureGranularity + VkVideoEncodeFeedbackFlagsKHR supportedEncodeFeedbackFlags + + + VkStructureType sType void* pNext - VkVideoEncodeH264CapabilityFlagsEXT flags - VkVideoEncodeH264InputModeFlagsEXT inputModeFlags - VkVideoEncodeH264OutputModeFlagsEXT outputModeFlags - uint8_t maxPPictureL0ReferenceCount - uint8_t maxBPictureL0ReferenceCount - uint8_t maxL1ReferenceCount - VkBool32 motionVectorsOverPicBoundariesFlag - uint32_t maxBytesPerPicDenom - uint32_t maxBitsPerMbDenom - uint32_t log2MaxMvLengthHorizontal - uint32_t log2MaxMvLengthVertical + VkVideoEncodeH264CapabilityFlagsKHR flags + StdVideoH264LevelIdc maxLevelIdc + uint32_t maxSliceCount + uint32_t maxPPictureL0ReferenceCount + uint32_t maxBPictureL0ReferenceCount + uint32_t maxL1ReferenceCount + uint32_t maxTemporalLayerCount + VkBool32 expectDyadicTemporalLayerPattern + int32_t minQp + int32_t maxQp + VkBool32 prefersGopRemainingFrames + VkBool32 requiresGopRemainingFrames + VkVideoEncodeH264StdFlagsKHR stdSyntaxFlags + + + VkStructureType sType + void* pNext + VkVideoEncodeH264RateControlFlagsKHR preferredRateControlFlags + uint32_t preferredGopFrameCount + uint32_t preferredIdrPeriod + uint32_t preferredConsecutiveBFrameCount + uint32_t preferredTemporalLayerCount + VkVideoEncodeH264QpKHR preferredConstantQp + uint32_t preferredMaxL0ReferenceCount + uint32_t preferredMaxL1ReferenceCount + VkBool32 preferredStdEntropyCodingModeFlag #include "vk_video/vulkan_video_codec_h264std_encode.h" - + - - VkStructureType sType - const void* pNext - uint32_t stdSPSCount + + VkStructureType sType + const void* pNext + VkBool32 useMaxLevelIdc + StdVideoH264LevelIdc maxLevelIdc + + + VkStructureType sType + const void* pNext + uint32_t stdSPSCount const StdVideoH264SequenceParameterSet* pStdSPSs - uint32_t stdPPSCount + uint32_t stdPPSCount const StdVideoH264PictureParameterSet* pStdPPSsList of Picture Parameters associated with the spsStd, above - - VkStructureType sType - const void* pNext + + VkStructureType sType + const void* pNext uint32_t maxStdSPSCount uint32_t maxStdPPSCount - const VkVideoEncodeH264SessionParametersAddInfoEXT* pParametersAddInfo + const VkVideoEncodeH264SessionParametersAddInfoKHR* pParametersAddInfo - - VkStructureType sType - const void* pNext - int8_t slotIndex + + VkStructureType sType + const void* pNext + VkBool32 writeStdSPS + VkBool32 writeStdPPS + uint32_t stdSPSId + uint32_t stdPPSId + + + VkStructureType sType + void* pNext + VkBool32 hasStdSPSOverrides + VkBool32 hasStdPPSOverrides + + + VkStructureType sType + const void* pNext const StdVideoEncodeH264ReferenceInfo* pStdReferenceInfo - - VkStructureType sType + + VkStructureType sType const void* pNext - const VkVideoEncodeH264ReferenceListsInfoEXT* pReferenceFinalLists uint32_t naluSliceEntryCount - const VkVideoEncodeH264NaluSliceInfoEXT* pNaluSliceEntries - const StdVideoEncodeH264PictureInfo* pCurrentPictureInfo - - - VkStructureType sType - const void* pNext - uint8_t referenceList0EntryCount - const VkVideoEncodeH264DpbSlotInfoEXT* pReferenceList0Entries - uint8_t referenceList1EntryCount - const VkVideoEncodeH264DpbSlotInfoEXT* pReferenceList1Entries - const StdVideoEncodeH264RefMemMgmtCtrlOperations* pMemMgmtCtrlOperations - - - VkStructureType sType - const void* pNext - uint8_t spsId - VkBool32 emitSpsEnable - uint32_t ppsIdEntryCount - const uint8_t* ppsIdEntries + const VkVideoEncodeH264NaluSliceInfoKHR* pNaluSliceEntries + const StdVideoEncodeH264PictureInfo* pStdPictureInfo + VkBool32 generatePrefixNalu - - VkStructureType sType + + VkStructureType sType const void* pNext StdVideoH264ProfileIdc stdProfileIdc - - VkStructureType sType + + VkStructureType sType const void* pNext - uint32_t mbCount - const VkVideoEncodeH264ReferenceListsInfoEXT* pReferenceFinalLists - const StdVideoEncodeH264SliceHeader* pSliceHeaderStd + int32_t constantQp + const StdVideoEncodeH264SliceHeader* pStdSliceHeader - - VkStructureType sType + + VkStructureType sType const void* pNext + VkVideoEncodeH264RateControlFlagsKHR flags uint32_t gopFrameCount uint32_t idrPeriod uint32_t consecutiveBFrameCount - VkVideoEncodeH264RateControlStructureEXT rateControlStructure - uint8_t temporalLayerCount + uint32_t temporalLayerCount - + int32_t qpI int32_t qpP int32_t qpB - + uint32_t frameISize uint32_t framePSize uint32_t frameBSize - - VkStructureType sType + + VkStructureType sType + const void* pNext + VkBool32 useGopRemainingFrames + uint32_t gopRemainingI + uint32_t gopRemainingP + uint32_t gopRemainingB + + + VkStructureType sType const void* pNext - uint8_t temporalLayerId - VkBool32 useInitialRcQp - VkVideoEncodeH264QpEXT initialRcQp VkBool32 useMinQp - VkVideoEncodeH264QpEXT minQp + VkVideoEncodeH264QpKHR minQp VkBool32 useMaxQp - VkVideoEncodeH264QpEXT maxQp + VkVideoEncodeH264QpKHR maxQp VkBool32 useMaxFrameSize - VkVideoEncodeH264FrameSizeEXT maxFrameSize + VkVideoEncodeH264FrameSizeKHR maxFrameSize - - VkStructureType sType + + VkStructureType sType void* pNext - VkVideoEncodeH265CapabilityFlagsEXT flags - VkVideoEncodeH265InputModeFlagsEXT inputModeFlags - VkVideoEncodeH265OutputModeFlagsEXT outputModeFlags - VkVideoEncodeH265CtbSizeFlagsEXT ctbSizes - VkVideoEncodeH265TransformBlockSizeFlagsEXT transformBlockSizes - uint8_t maxPPictureL0ReferenceCount - uint8_t maxBPictureL0ReferenceCount - uint8_t maxL1ReferenceCount - uint8_t maxSubLayersCount - uint8_t minLog2MinLumaCodingBlockSizeMinus3 - uint8_t maxLog2MinLumaCodingBlockSizeMinus3 - uint8_t minLog2MinLumaTransformBlockSizeMinus2 - uint8_t maxLog2MinLumaTransformBlockSizeMinus2 - uint8_t minMaxTransformHierarchyDepthInter - uint8_t maxMaxTransformHierarchyDepthInter - uint8_t minMaxTransformHierarchyDepthIntra - uint8_t maxMaxTransformHierarchyDepthIntra - uint8_t maxDiffCuQpDeltaDepth - uint8_t minMaxNumMergeCand - uint8_t maxMaxNumMergeCand + VkVideoEncodeH265CapabilityFlagsKHR flags + StdVideoH265LevelIdc maxLevelIdc + uint32_t maxSliceSegmentCount + VkExtent2D maxTiles + VkVideoEncodeH265CtbSizeFlagsKHR ctbSizes + VkVideoEncodeH265TransformBlockSizeFlagsKHR transformBlockSizes + uint32_t maxPPictureL0ReferenceCount + uint32_t maxBPictureL0ReferenceCount + uint32_t maxL1ReferenceCount + uint32_t maxSubLayerCount + VkBool32 expectDyadicTemporalSubLayerPattern + int32_t minQp + int32_t maxQp + VkBool32 prefersGopRemainingFrames + VkBool32 requiresGopRemainingFrames + VkVideoEncodeH265StdFlagsKHR stdSyntaxFlags + + + VkStructureType sType + void* pNext + VkVideoEncodeH265RateControlFlagsKHR preferredRateControlFlags + uint32_t preferredGopFrameCount + uint32_t preferredIdrPeriod + uint32_t preferredConsecutiveBFrameCount + uint32_t preferredSubLayerCount + VkVideoEncodeH265QpKHR preferredConstantQp + uint32_t preferredMaxL0ReferenceCount + uint32_t preferredMaxL1ReferenceCount #include "vk_video/vulkan_video_codec_h265std_encode.h" - + - - VkStructureType sType + + VkStructureType sType + const void* pNext + VkBool32 useMaxLevelIdc + StdVideoH265LevelIdc maxLevelIdc + + + VkStructureType sType const void* pNext - uint32_t stdVPSCount + uint32_t stdVPSCount const StdVideoH265VideoParameterSet* pStdVPSs - uint32_t stdSPSCount + uint32_t stdSPSCount const StdVideoH265SequenceParameterSet* pStdSPSs - uint32_t stdPPSCount + uint32_t stdPPSCount const StdVideoH265PictureParameterSet* pStdPPSsList of Picture Parameters associated with the spsStd, above - - VkStructureType sType + + VkStructureType sType const void* pNext uint32_t maxStdVPSCount uint32_t maxStdSPSCount uint32_t maxStdPPSCount - const VkVideoEncodeH265SessionParametersAddInfoEXT* pParametersAddInfo + const VkVideoEncodeH265SessionParametersAddInfoKHR* pParametersAddInfo + + + VkStructureType sType + const void* pNext + VkBool32 writeStdVPS + VkBool32 writeStdSPS + VkBool32 writeStdPPS + uint32_t stdVPSId + uint32_t stdSPSId + uint32_t stdPPSId + + + VkStructureType sType + void* pNext + VkBool32 hasStdVPSOverrides + VkBool32 hasStdSPSOverrides + VkBool32 hasStdPPSOverrides - - VkStructureType sType + + VkStructureType sType const void* pNext - const VkVideoEncodeH265ReferenceListsInfoEXT* pReferenceFinalLists uint32_t naluSliceSegmentEntryCount - const VkVideoEncodeH265NaluSliceSegmentInfoEXT* pNaluSliceSegmentEntries - const StdVideoEncodeH265PictureInfo* pCurrentPictureInfo + const VkVideoEncodeH265NaluSliceSegmentInfoKHR* pNaluSliceSegmentEntries + const StdVideoEncodeH265PictureInfo* pStdPictureInfo - - VkStructureType sType - const void* pNext - uint8_t vpsId - uint8_t spsId - VkBool32 emitVpsEnable - VkBool32 emitSpsEnable - uint32_t ppsIdEntryCount - const uint8_t* ppsIdEntries - - - VkStructureType sType + + VkStructureType sType const void* pNext - uint32_t ctbCount - const VkVideoEncodeH265ReferenceListsInfoEXT* pReferenceFinalLists - const StdVideoEncodeH265SliceSegmentHeader* pSliceSegmentHeaderStd + int32_t constantQp + const StdVideoEncodeH265SliceSegmentHeader* pStdSliceSegmentHeader - - VkStructureType sType + + VkStructureType sType const void* pNext + VkVideoEncodeH265RateControlFlagsKHR flags uint32_t gopFrameCount uint32_t idrPeriod uint32_t consecutiveBFrameCount - VkVideoEncodeH265RateControlStructureEXT rateControlStructure - uint8_t subLayerCount + uint32_t subLayerCount - + int32_t qpI int32_t qpP int32_t qpB - + uint32_t frameISize uint32_t framePSize uint32_t frameBSize - - VkStructureType sType + + VkStructureType sType + const void* pNext + VkBool32 useGopRemainingFrames + uint32_t gopRemainingI + uint32_t gopRemainingP + uint32_t gopRemainingB + + + VkStructureType sType const void* pNext - uint8_t temporalId - VkBool32 useInitialRcQp - VkVideoEncodeH265QpEXT initialRcQp VkBool32 useMinQp - VkVideoEncodeH265QpEXT minQp + VkVideoEncodeH265QpKHR minQp VkBool32 useMaxQp - VkVideoEncodeH265QpEXT maxQp + VkVideoEncodeH265QpKHR maxQp VkBool32 useMaxFrameSize - VkVideoEncodeH265FrameSizeEXT maxFrameSize + VkVideoEncodeH265FrameSizeKHR maxFrameSize - - VkStructureType sType + + VkStructureType sType const void* pNext StdVideoH265ProfileIdc stdProfileIdc - - VkStructureType sType + + VkStructureType sType const void* pNext - int8_t slotIndex const StdVideoEncodeH265ReferenceInfo* pStdReferenceInfo - - VkStructureType sType - const void* pNext - uint8_t referenceList0EntryCount - const VkVideoEncodeH265DpbSlotInfoEXT* pReferenceList0Entries - uint8_t referenceList1EntryCount - const VkVideoEncodeH265DpbSlotInfoEXT* pReferenceList1Entries - const StdVideoEncodeH265ReferenceModifications* pReferenceModifications - VkStructureType sType void* pNext @@ -6993,8 +7345,8 @@ typedef void* MTLSharedEvent_id; VkStructureType sType const void* pNext - size_t dataSize - const void* pData + size_t dataSize + const void* pData VkStructureType sType @@ -7079,7 +7431,7 @@ typedef void* MTLSharedEvent_id; VkStructureType sType void* pNext VkDeviceAddress address - VkBufferUsageFlags usage + VkBufferUsageFlags usage VkStructureType sType @@ -7292,7 +7644,7 @@ typedef void* MTLSharedEvent_id; const void* pNext zx_handle_t collectionToken - + VkStructureType sType void* pNext uint32_t memoryTypeBits @@ -7346,6 +7698,36 @@ typedef void* MTLSharedEvent_id; uint32_t minBufferCountForDedicatedSlack uint32_t minBufferCountForSharedSlack + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCudaModuleNV) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCudaFunctionNV) + + VkStructureType sType + const void* pNext + size_t dataSize + const void* pData + + + VkStructureType sType + const void* pNext + VkCudaModuleNV module + const char* pName + + + VkStructureType sType + const void* pNext + VkCudaFunctionNV function + uint32_t gridDimX + uint32_t gridDimY + uint32_t gridDimZ + uint32_t blockDimX + uint32_t blockDimY + uint32_t blockDimZ + uint32_t sharedMemBytes + size_t paramCount + const void* const * pParams + size_t extraCount + const void* const * pExtras + VkStructureType sType void* pNext @@ -7500,7 +7882,7 @@ typedef void* MTLSharedEvent_id; VkStructureType sType - void* pNext + const void* pNext VkGraphicsPipelineLibraryFlagsEXT flags @@ -7520,6 +7902,18 @@ typedef void* MTLSharedEvent_id; size_t descriptorOffset uint32_t descriptorSize + + VkStructureType sType + void* pNext + VkBool32 nestedCommandBuffer + VkBool32 nestedCommandBufferRendering + VkBool32 nestedCommandBufferSimultaneousUse + + + VkStructureType sType + void* pNext + uint32_t maxCommandBufferNestingLevel + VkStructureType sType void* pNext @@ -7554,7 +7948,7 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 imageCompressionControl - + VkStructureType sType void* pNext VkImageCompressionFlagsEXT imageCompressionFlags @@ -7565,16 +7959,18 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 imageCompressionControlSwapchain - - VkStructureType sType + + VkStructureType sType void* pNext VkImageSubresource imageSubresource - - VkStructureType sType + + + VkStructureType sType void* pNext VkSubresourceLayout subresourceLayout + VkStructureType sType const void* pNext @@ -7694,9 +8090,44 @@ typedef void* MTLSharedEvent_id; uint32_t usageCountsCount const VkMicromapUsageEXT* pUsageCounts const VkMicromapUsageEXT* const* ppUsageCounts - VkMicromapEXT micromap + VkMicromapEXT micromap + + + VkStructureType sType + void* pNext + VkBool32 displacementMicromap + + + VkStructureType sType + void* pNext + uint32_t maxDisplacementMicromapSubdivisionLevel + + + VkStructureType sType + void* pNext + + VkFormat displacementBiasAndScaleFormat + VkFormat displacementVectorFormat + + VkDeviceOrHostAddressConstKHR displacementBiasAndScaleBuffer + VkDeviceSize displacementBiasAndScaleStride + VkDeviceOrHostAddressConstKHR displacementVectorBuffer + VkDeviceSize displacementVectorStride + VkDeviceOrHostAddressConstKHR displacedMicromapPrimitiveFlags + VkDeviceSize displacedMicromapPrimitiveFlagsStride + VkIndexType indexType + VkDeviceOrHostAddressConstKHR indexBuffer + VkDeviceSize indexStride + + uint32_t baseTriangle + + uint32_t usageCountsCount + const VkMicromapUsageEXT* pUsageCounts + const VkMicromapUsageEXT* const* ppUsageCounts + + VkMicromapEXT micromap - + VkStructureType sType void* pNext uint8_t pipelineIdentifier[VK_UUID_SIZE] @@ -7711,6 +8142,11 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 shaderEarlyAndLateFragmentTests + + VkStructureType sType + const void* pNext + VkBool32 acquireUnmodifiedMemory + VkStructureType sType const void* pNext @@ -7799,7 +8235,7 @@ typedef void* MTLSharedEvent_id; VkPipelineRobustnessImageBehaviorEXT images - VkStructureType sType + VkStructureType sType void* pNext VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessStorageBuffers VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessUniformBuffers @@ -7954,7 +8390,7 @@ typedef void* MTLSharedEvent_id; uint32_t vendorInfoCount VkDeviceSize vendorBinarySizeSpecified in bytes - + VkStructureType sType void* pNext char description[VK_MAX_DESCRIPTION_SIZE]Free-form description of the fault @@ -7973,12 +8409,27 @@ typedef void* MTLSharedEvent_id; uint32_t applicationNameOffset uint32_t applicationVersion uint32_t engineNameOffset + uint32_t engineVersion + uint32_t apiVersion VkStructureType sType void* pNext VkBool32 pipelineLibraryGroupHandles + + VkStructureType sType + const void* pNext + float depthBiasConstantFactor + float depthBiasClamp + float depthBiasSlopeFactor + + + VkStructureType sType + const void* pNext + VkDepthBiasRepresentationEXT depthBiasRepresentation + VkBool32 depthBiasExact + VkDeviceAddress srcAddress VkDeviceAddress dstAddress @@ -7998,6 +8449,29 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 shaderCoreBuiltins + + VkStructureType sType + const void* pNext + VkFrameBoundaryFlagsEXT flags + uint64_t frameID + uint32_t imageCount + const VkImage* pImages + uint32_t bufferCount + const VkBuffer* pBuffers + uint64_t tagName + size_t tagSize + const void* pTag + + + VkStructureType sType + void* pNext + VkBool32 frameBoundary + + + VkStructureType sType + void* pNext + VkBool32 dynamicRenderingUnusedAttachments + VkStructureType sType void* pNext @@ -8025,19 +8499,19 @@ typedef void* MTLSharedEvent_id; VkStructureType sType - void* pNext + const void* pNext uint32_t swapchainCountCopy of VkPresentInfoKHR::swapchainCount const VkFence* pFencesFence to signal for each swapchain VkStructureType sType - void* pNext + const void* pNext uint32_t presentModeCountLength of the pPresentModes array const VkPresentModeKHR* pPresentModesPresentation modes which will be usable with this swapchain VkStructureType sType - void* pNext + const void* pNext uint32_t swapchainCountCopy of VkPresentInfoKHR::swapchainCount const VkPresentModeKHR* pPresentModesPresentation mode for each swapchain @@ -8055,6 +8529,14 @@ typedef void* MTLSharedEvent_id; uint32_t imageIndexCountNumber of indices to release const uint32_t* pImageIndicesIndices of which presentable images to release + + VkStructureType sType + void* pNext + VkBool32 depthBiasControl + VkBool32 leastRepresentableValueForceUnormRepresentation + VkBool32 floatRepresentation + VkBool32 depthBiasExact + VkStructureType sType void* pNext @@ -8065,6 +8547,18 @@ typedef void* MTLSharedEvent_id; void* pNext VkRayTracingInvocationReorderModeNV rayTracingInvocationReorderReorderingHint + + VkStructureType sType + void* pNext + VkBool32 extendedSparseAddressSpace + + + VkStructureType sType + void* pNext + VkDeviceSize extendedSparseAddressSpaceSizeTotal address space available for extended sparse allocations (bytes) + VkImageUsageFlags extendedSparseImageUsageFlagsBitfield of which image usages are supported for extended sparse allocations + VkBufferUsageFlags extendedSparseBufferUsageFlagsBitfield of which buffer usages are supported for extended sparse allocations + VkStructureType sType void* pNext @@ -8073,7 +8567,7 @@ typedef void* MTLSharedEvent_id; VkStructureType sType - void* pNext + const void* pNext VkDirectDriverLoadingModeLUNARG mode uint32_t driverCount const VkDirectDriverLoadingInfoLUNARG* pDrivers @@ -8083,6 +8577,17 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 multiviewPerViewViewports + + VkStructureType sType + void* pNext + VkBool32 rayTracingPositionFetch + + + VkStructureType sType + const void* pNext + const VkImageCreateInfo* pCreateInfo + const VkImageSubresource2KHR* pSubresource + VkStructureType sType void* pNext @@ -8101,64 +8606,538 @@ typedef void* MTLSharedEvent_id; uint32_t perViewRenderAreaCount const VkRect2D* pPerViewRenderAreas - - - - Vulkan enumerant (token) definitions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Unlike OpenGL, most tokens in Vulkan are actual typed enumerants in - their own numeric namespaces. The "name" attribute is the C enum - type name, and is pulled in from a type tag definition above - (slightly clunky, but retains the type / enum distinction). "type" - attributes of "enum" or "bitmask" indicate that these values should - be generated inside an appropriate definition. - - - - - - - - - - - + + VkStructureType sType + const void* pNext + void* pQueriedLowLatencyData + + + VkStructureType sType + const void* pNext + VkMemoryMapFlags flags + VkDeviceMemory memory + VkDeviceSize offset + VkDeviceSize size + + + VkStructureType sType + const void* pNext + VkMemoryUnmapFlagsKHR flags + VkDeviceMemory memory + + + VkStructureType sType + void* pNext + VkBool32 shaderObject + + + VkStructureType sType + void* pNext + uint8_t shaderBinaryUUID[VK_UUID_SIZE] + uint32_t shaderBinaryVersion + + + VkStructureType sType + const void* pNext + VkShaderCreateFlagsEXT flags + VkShaderStageFlagBits stage + VkShaderStageFlags nextStage + VkShaderCodeTypeEXT codeType + size_t codeSize + const void* pCode + const char* pName + uint32_t setLayoutCount + const VkDescriptorSetLayout* pSetLayouts + uint32_t pushConstantRangeCount + const VkPushConstantRange* pPushConstantRanges + const VkSpecializationInfo* pSpecializationInfo + + + VkStructureType sType + void* pNext + VkBool32 shaderTileImageColorReadAccess + VkBool32 shaderTileImageDepthReadAccess + VkBool32 shaderTileImageStencilReadAccess + + + VkStructureType sType + void* pNext + VkBool32 shaderTileImageCoherentReadAccelerated + VkBool32 shaderTileImageReadSampleFromPixelRateInvocation + VkBool32 shaderTileImageReadFromHelperInvocation + + + VkStructureType sType + const void* pNext + struct _screen_buffer* buffer + + + VkStructureType sType + void* pNext + VkDeviceSize allocationSize + uint32_t memoryTypeBits + + + VkStructureType sType + void* pNext + VkFormat format + uint64_t externalFormat + uint64_t screenUsage + VkFormatFeatureFlags formatFeatures + VkComponentMapping samplerYcbcrConversionComponents + VkSamplerYcbcrModelConversion suggestedYcbcrModel + VkSamplerYcbcrRange suggestedYcbcrRange + VkChromaLocation suggestedXChromaOffset + VkChromaLocation suggestedYChromaOffset + + + VkStructureType sType + void* pNext + uint64_t externalFormat + + + VkStructureType sType + void* pNext + VkBool32 screenBufferImport + + + VkStructureType sType + void* pNext + VkBool32 cooperativeMatrix + VkBool32 cooperativeMatrixRobustBufferAccess + + + VkStructureType sType + void* pNext + uint32_t MSize + uint32_t NSize + uint32_t KSize + VkComponentTypeKHR AType + VkComponentTypeKHR BType + VkComponentTypeKHR CType + VkComponentTypeKHR ResultType + VkBool32 saturatingAccumulation + VkScopeKHR scope + + + VkStructureType sType + void* pNext + VkShaderStageFlags cooperativeMatrixSupportedStages + + + VkStructureType sType + void* pNext + uint32_t maxExecutionGraphDepth + uint32_t maxExecutionGraphShaderOutputNodes + uint32_t maxExecutionGraphShaderPayloadSize + uint32_t maxExecutionGraphShaderPayloadCount + uint32_t executionGraphDispatchAddressAlignment + + + VkStructureType sType + void* pNext + VkBool32 shaderEnqueue + + + VkStructureType sType + const void* pNext + VkPipelineCreateFlags flags + uint32_t stageCount + const VkPipelineShaderStageCreateInfo* pStages + const VkPipelineLibraryCreateInfoKHR* pLibraryInfo + VkPipelineLayout layout + VkPipeline basePipelineHandle + int32_t basePipelineIndex + + + VkStructureType sType + const void* pNext + const char* pName + uint32_t index + + + VkStructureType sType + void* pNext + VkDeviceSize size + + + uint32_t nodeIndex + uint32_t payloadCount + VkDeviceOrHostAddressConstAMDX payloads + uint64_t payloadStride + + + uint32_t count + VkDeviceOrHostAddressConstAMDX infos + uint64_t stride + + + VkStructureType sType + const void* pNext + VkResult* pResult + + + VkStructureType sType + const void* pNext + VkShaderStageFlags stageFlags + VkPipelineLayout layout + uint32_t firstSet + uint32_t descriptorSetCount + const VkDescriptorSet* pDescriptorSets + uint32_t dynamicOffsetCount + const uint32_t* pDynamicOffsets + + + VkStructureType sType + const void* pNext + VkPipelineLayout layout + VkShaderStageFlags stageFlags + uint32_t offset + uint32_t size + const void* pValues + + + VkStructureType sType + const void* pNext + VkShaderStageFlags stageFlags + VkPipelineLayout layout + uint32_t set + uint32_t descriptorWriteCount + const VkWriteDescriptorSet* pDescriptorWrites + + + VkStructureType sType + const void* pNext + VkDescriptorUpdateTemplate descriptorUpdateTemplate + VkPipelineLayout layout + uint32_t set + const void* pData + + + VkStructureType sType + const void* pNext + VkShaderStageFlags stageFlags + VkPipelineLayout layout + uint32_t firstSet + uint32_t setCount + const uint32_t* pBufferIndices + const VkDeviceSize* pOffsets + + + VkStructureType sType + const void* pNext + VkShaderStageFlags stageFlags + VkPipelineLayout layout + uint32_t set + + + VkStructureType sType + void* pNext + VkBool32 cubicRangeClamp + + + VkStructureType sType + void* pNext + VkBool32 ycbcrDegamma + + + VkStructureType sType + void* pNext + VkBool32 enableYDegamma + VkBool32 enableCbCrDegamma + + + VkStructureType sType + void* pNext + VkBool32 selectableCubicWeights + + + VkStructureType sType + const void* pNext + VkCubicFilterWeightsQCOM cubicWeights + + + VkStructureType sType + const void* pNext + VkCubicFilterWeightsQCOM cubicWeights + + + VkStructureType sType + void* pNext + VkBool32 textureBlockMatch2 + + + VkStructureType sType + void* pNext + VkExtent2D maxBlockMatchWindow + + + VkStructureType sType + const void* pNext + VkExtent2D windowExtent + VkBlockMatchWindowCompareModeQCOM windowCompareMode + + + VkStructureType sType + void* pNext + VkBool32 descriptorPoolOverallocation + + + VkStructureType sType + void* pNext + VkLayeredDriverUnderlyingApiMSFT underlyingAPI + + + VkStructureType sType + void* pNext + VkBool32 perStageDescriptorSet + VkBool32 dynamicPipelineLayout + + + VkStructureType sType + void* pNext + VkBool32 externalFormatResolve + + + VkStructureType sType + void* pNext + VkBool32 nullColorAttachmentWithExternalFormatResolve + VkChromaLocation externalFormatResolveChromaOffsetX + VkChromaLocation externalFormatResolveChromaOffsetY + + + VkStructureType sType + void* pNext + VkFormat colorAttachmentFormat + + + VkStructureType sType + const void* pNext + VkBool32 lowLatencyMode + VkBool32 lowLatencyBoost + uint32_t minimumIntervalUs + + + VkStructureType sType + const void* pNext + VkSemaphore signalSemaphore + uint64_t value + + + VkStructureType sType + const void* pNext + uint64_t presentID + VkLatencyMarkerNV marker + + + VkStructureType sType + const void* pNext + uint32_t timingCount + VkLatencyTimingsFrameReportNV* pTimings + + + VkStructureType sType + const void* pNext + uint64_t presentID + uint64_t inputSampleTimeUs + uint64_t simStartTimeUs + uint64_t simEndTimeUs + uint64_t renderSubmitStartTimeUs + uint64_t renderSubmitEndTimeUs + uint64_t presentStartTimeUs + uint64_t presentEndTimeUs + uint64_t driverStartTimeUs + uint64_t driverEndTimeUs + uint64_t osRenderQueueStartTimeUs + uint64_t osRenderQueueEndTimeUs + uint64_t gpuRenderStartTimeUs + uint64_t gpuRenderEndTimeUs + + + VkStructureType sType + const void* pNext + VkOutOfBandQueueTypeNV queueType + + + VkStructureType sType + const void* pNext + uint64_t presentID + + + VkStructureType sType + const void* pNext + VkBool32 latencyModeEnable + + + VkStructureType sType + const void* pNext + uint32_t presentModeCount + VkPresentModeKHR* pPresentModes + + + VkStructureType sType + void* pNext + VkBool32 cudaKernelLaunchFeatures + + + VkStructureType sType + void* pNext + uint32_t computeCapabilityMinor + uint32_t computeCapabilityMajor + + + VkStructureType sType + void* pNext + uint32_t shaderCoreCount + + + VkStructureType sType + void* pNext + VkBool32 schedulingControls + + + VkStructureType sType + void* pNext + VkPhysicalDeviceSchedulingControlsFlagsARM schedulingControlsFlags + + + VkStructureType sType + void* pNext + VkBool32 relaxedLineRasterization + + + VkStructureType sType + void* pNext + VkBool32 renderPassStriped + + + VkStructureType sType + void* pNext + VkExtent2D renderPassStripeGranularity + uint32_t maxRenderPassStripes + + + VkStructureType sType + const void* pNext + VkRect2D stripeArea + + + VkStructureType sType + const void* pNext + uint32_t stripeInfoCount + const VkRenderPassStripeInfoARM* pStripeInfos + + + VkStructureType sType + const void* pNext + uint32_t stripeSemaphoreInfoCount + const VkSemaphoreSubmitInfo* pStripeSemaphoreInfos + + + VkStructureType sType + void* pNext + VkBool32 shaderMaximalReconvergence + + + VkStructureType sType + void* pNext + VkBool32 shaderSubgroupRotate + VkBool32 shaderSubgroupRotateClustered + + + VkStructureType sType + void* pNext + VkBool32 shaderExpectAssume + + + VkStructureType sType + void* pNext + VkBool32 shaderFloatControls2 + + + VkStructureType sType + void* pNext + VkBool32 dynamicRenderingLocalRead + + + VkStructureType sType + const void* pNext + uint32_t colorAttachmentCount + const uint32_t* pColorAttachmentLocations + + + VkStructureType sType + const void* pNext + uint32_t colorAttachmentCount + const uint32_t* pColorAttachmentInputIndices + const uint32_t* pDepthInputAttachmentIndex + const uint32_t* pStencilInputAttachmentIndex + + + VkStructureType sType + void* pNext + VkBool32 shaderQuadControl + + + + + Vulkan enumerant (token) definitions + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unlike OpenGL, most tokens in Vulkan are actual typed enumerants in + their own numeric namespaces. The "name" attribute is the C enum + type name, and is pulled in from a type tag definition above + (slightly clunky, but retains the type / enum distinction). "type" + attributes of "enum" or "bitmask" indicate that these values should + be generated inside an appropriate definition. + + + + + + + + + + + @@ -8746,6 +9725,17 @@ typedef void* MTLSharedEvent_id; + + + + + + + + + + + @@ -8782,11 +9772,16 @@ typedef void* MTLSharedEvent_id; - + + + + + + @@ -8954,11 +9949,11 @@ typedef void* MTLSharedEvent_id; - - - - - + + + + + @@ -9050,6 +10045,16 @@ typedef void* MTLSharedEvent_id; + + + + + + + + + + @@ -9265,7 +10270,8 @@ typedef void* MTLSharedEvent_id; - + + Driver IDs are now represented as enums instead of the old @@ -9296,6 +10302,7 @@ typedef void* MTLSharedEvent_id; + @@ -9400,25 +10407,6 @@ typedef void* MTLSharedEvent_id; - - - - - - - - - - - - - - - - - - - @@ -9515,11 +10503,15 @@ typedef void* MTLSharedEvent_id; - - - - - + + + + + + + + + @@ -9745,6 +10737,9 @@ typedef void* MTLSharedEvent_id; + + + @@ -9755,6 +10750,9 @@ typedef void* MTLSharedEvent_id; + + + @@ -9824,53 +10822,61 @@ typedef void* MTLSharedEvent_id; + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -9945,59 +10951,58 @@ typedef void* MTLSharedEvent_id; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -10126,6 +11131,11 @@ typedef void* MTLSharedEvent_id; + + + + + @@ -10138,6 +11148,70 @@ typedef void* MTLSharedEvent_id; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + VkResult vkCreateInstance @@ -10255,6 +11329,7 @@ typedef void* MTLSharedEvent_id; uint32_t* pPropertyCount VkLayerProperties* pProperties + VkResult vkEnumerateDeviceExtensionProperties VkPhysicalDevice physicalDevice @@ -10756,6 +11831,12 @@ typedef void* MTLSharedEvent_id; VkRenderPass renderPass VkExtent2D* pGranularity + + void vkGetRenderingAreaGranularityKHR + VkDevice device + const VkRenderingAreaInfoKHR* pRenderingAreaInfo + VkExtent2D* pGranularity + VkResult vkCreateCommandPool VkDevice device @@ -10796,7 +11877,7 @@ typedef void* MTLSharedEvent_id; the sname:VkCommandPool that pname:commandBuffer was allocated from - + VkResult vkEndCommandBuffer VkCommandBuffer commandBuffer @@ -10817,6 +11898,11 @@ typedef void* MTLSharedEvent_id; VkPipelineBindPoint pipelineBindPoint VkPipeline pipeline + + void vkCmdSetAttachmentFeedbackLoopEnableEXT + VkCommandBuffer commandBuffer + VkImageAspectFlags aspectMask + void vkCmdSetViewport VkCommandBuffer commandBuffer @@ -10886,7 +11972,7 @@ typedef void* MTLSharedEvent_id; void vkCmdBindIndexBuffer VkCommandBuffer commandBuffer - VkBuffer buffer + VkBuffer buffer VkDeviceSize offset VkIndexType indexType @@ -10980,6 +12066,12 @@ typedef void* MTLSharedEvent_id; VkBuffer buffer VkDeviceSize offset + + void vkCmdUpdatePipelineIndirectBufferNV + VkCommandBuffer commandBuffer + VkPipelineBindPoint pipelineBindPoint + VkPipeline pipeline + void vkCmdCopyBuffer VkCommandBuffer commandBuffer @@ -11206,7 +12298,7 @@ typedef void* MTLSharedEvent_id; void vkCmdEndRenderPass VkCommandBuffer commandBuffer - + void vkCmdExecuteCommands VkCommandBuffer commandBuffer uint32_t commandBufferCount @@ -12205,8 +13297,8 @@ typedef void* MTLSharedEvent_id; VkDevice device VkImage image int nativeFenceFd - VkSemaphore semaphore - VkFence fence + VkSemaphore semaphore + VkFence fence VkResult vkQueueSignalReleaseImageANDROID @@ -12232,19 +13324,21 @@ typedef void* MTLSharedEvent_id; VkBool32 localDimmingEnable - VkResult vkGetPhysicalDeviceCalibrateableTimeDomainsEXT + VkResult vkGetPhysicalDeviceCalibrateableTimeDomainsKHR VkPhysicalDevice physicalDevice uint32_t* pTimeDomainCount - VkTimeDomainEXT* pTimeDomains + VkTimeDomainKHR* pTimeDomains + - VkResult vkGetCalibratedTimestampsEXT + VkResult vkGetCalibratedTimestampsKHR VkDevice device uint32_t timestampCount - const VkCalibratedTimestampInfoEXT* pTimestampInfos + const VkCalibratedTimestampInfoKHR* pTimestampInfos uint64_t* pTimestamps uint64_t* pMaxDeviation + VkResult vkSetDebugUtilsObjectNameEXT VkDevice device @@ -12307,7 +13401,7 @@ typedef void* MTLSharedEvent_id; VkResult vkGetMemoryHostPointerPropertiesEXT VkDevice device VkExternalMemoryHandleTypeFlagBits handleType - const void* pHostPointer + const void* pHostPointer VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties @@ -12963,17 +14057,18 @@ typedef void* MTLSharedEvent_id; VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations - void vkCmdSetLineStippleEXT + void vkCmdSetLineStippleKHR VkCommandBuffer commandBuffer uint32_t lineStippleFactor uint16_t lineStipplePattern + VkResult vkGetFaultData VkDevice device VkFaultQueryBehavior faultQueryBehavior VkBool32* pUnrecordedFaults - uint32_t* pFaultCount + uint32_t* pFaultCount VkFaultData* pFaults @@ -13046,6 +14141,17 @@ typedef void* MTLSharedEvent_id; VkDevice device VkDeferredOperationKHR operation + + void vkGetPipelineIndirectMemoryRequirementsNV + VkDevice device + const VkComputePipelineCreateInfo* pCreateInfo + VkMemoryRequirements2* pMemoryRequirements + + + VkDeviceAddress vkGetPipelineIndirectDeviceAddressNV + VkDevice device + const VkPipelineIndirectDeviceAddressInfoNV* pInfo + void vkCmdSetCullMode VkCommandBuffer commandBuffer @@ -13078,6 +14184,14 @@ typedef void* MTLSharedEvent_id; const VkRect2D* pScissors + + void vkCmdBindIndexBuffer2KHR + VkCommandBuffer commandBuffer + VkBuffer buffer + VkDeviceSize offset + VkDeviceSize size + VkIndexType indexType + void vkCmdBindVertexBuffers2 VkCommandBuffer commandBuffer @@ -13502,6 +14616,27 @@ typedef void* MTLSharedEvent_id; uint32_t* pCheckpointDataCount VkCheckpointData2NV* pCheckpointData + + VkResult vkCopyMemoryToImageEXT + VkDevice device + const VkCopyMemoryToImageInfoEXT* pCopyMemoryToImageInfo + + + VkResult vkCopyImageToMemoryEXT + VkDevice device + const VkCopyImageToMemoryInfoEXT* pCopyImageToMemoryInfo + + + VkResult vkCopyImageToImageEXT + VkDevice device + const VkCopyImageToImageInfoEXT* pCopyImageToImageInfo + + + VkResult vkTransitionImageLayoutEXT + VkDevice device + uint32_t transitionCount + const VkHostImageLayoutTransitionInfoEXT* pTransitions + void vkGetCommandPoolMemoryConsumption VkDevice device @@ -13522,7 +14657,13 @@ typedef void* MTLSharedEvent_id; uint32_t* pVideoFormatPropertyCount VkVideoFormatPropertiesKHR* pVideoFormatProperties - + + VkResult vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR + VkPhysicalDevice physicalDevice + const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR* pQualityLevelInfo + VkVideoEncodeQualityLevelPropertiesKHR* pQualityLevelProperties + + VkResult vkCreateVideoSessionKHR VkDevice device const VkVideoSessionCreateInfoKHR* pCreateInfo @@ -13535,19 +14676,27 @@ typedef void* MTLSharedEvent_id; VkVideoSessionKHR videoSession const VkAllocationCallbacks* pAllocator - + VkResult vkCreateVideoSessionParametersKHR VkDevice device const VkVideoSessionParametersCreateInfoKHR* pCreateInfo const VkAllocationCallbacks* pAllocator VkVideoSessionParametersKHR* pVideoSessionParameters - + VkResult vkUpdateVideoSessionParametersKHR VkDevice device VkVideoSessionParametersKHR videoSessionParameters const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo + + VkResult vkGetEncodedVideoSessionParametersKHR + VkDevice device + const VkVideoEncodeSessionParametersGetInfoKHR* pVideoSessionParametersInfo + VkVideoEncodeSessionParametersFeedbackInfoKHR* pFeedbackInfo + size_t* pDataSize + void* pData + void vkDestroyVideoSessionParametersKHR VkDevice device @@ -13767,6 +14916,44 @@ typedef void* MTLSharedEvent_id; VkBufferCollectionFUCHSIA collection VkBufferCollectionPropertiesFUCHSIA* pProperties + + VkResult vkCreateCudaModuleNV + VkDevice device + const VkCudaModuleCreateInfoNV* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkCudaModuleNV* pModule + + + VkResult vkGetCudaModuleCacheNV + VkDevice device + VkCudaModuleNV module + size_t* pCacheSize + void* pCacheData + + + VkResult vkCreateCudaFunctionNV + VkDevice device + const VkCudaFunctionCreateInfoNV* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkCudaFunctionNV* pFunction + + + void vkDestroyCudaModuleNV + VkDevice device + VkCudaModuleNV module + const VkAllocationCallbacks* pAllocator + + + void vkDestroyCudaFunctionNV + VkDevice device + VkCudaFunctionNV function + const VkAllocationCallbacks* pAllocator + + + void vkCmdCudaLaunchKernelNV + VkCommandBuffer commandBuffer + const VkCudaLaunchInfoNV* pLaunchInfo + void vkCmdBeginRendering VkCommandBuffer commandBuffer @@ -13895,12 +15082,13 @@ typedef void* MTLSharedEvent_id; VkShaderModuleIdentifierEXT* pIdentifier - void vkGetImageSubresourceLayout2EXT - VkDevice device - VkImage image - const VkImageSubresource2EXT* pSubresource - VkSubresourceLayout2EXT* pLayout + void vkGetImageSubresourceLayout2KHR + VkDevice device + VkImage image + const VkImageSubresource2KHR* pSubresource + VkSubresourceLayout2KHR* pLayout + VkResult vkGetPipelinePropertiesEXT VkDevice device @@ -13965,23 +15153,199 @@ typedef void* MTLSharedEvent_id; VkDeviceFaultCountsEXT* pFaultCounts VkDeviceFaultInfoEXT* pFaultInfo + + void vkCmdSetDepthBias2EXT + VkCommandBuffer commandBuffer + const VkDepthBiasInfoEXT* pDepthBiasInfo + VkResult vkReleaseSwapchainImagesEXT VkDevice device const VkReleaseSwapchainImagesInfoEXT* pReleaseInfo - - - - - - - - - - - - + + void vkGetDeviceImageSubresourceLayoutKHR + VkDevice device + const VkDeviceImageSubresourceInfoKHR* pInfo + VkSubresourceLayout2KHR* pLayout + + + VkResult vkMapMemory2KHR + VkDevice device + const VkMemoryMapInfoKHR* pMemoryMapInfo + void** ppData + + + VkResult vkUnmapMemory2KHR + VkDevice device + const VkMemoryUnmapInfoKHR* pMemoryUnmapInfo + + + VkResult vkCreateShadersEXT + VkDevice device + uint32_t createInfoCount + const VkShaderCreateInfoEXT* pCreateInfos + const VkAllocationCallbacks* pAllocator + VkShaderEXT* pShaders + + + void vkDestroyShaderEXT + VkDevice device + VkShaderEXT shader + const VkAllocationCallbacks* pAllocator + + + VkResult vkGetShaderBinaryDataEXT + VkDevice device + VkShaderEXT shader + size_t* pDataSize + void* pData + + + void vkCmdBindShadersEXT + VkCommandBuffer commandBuffer + uint32_t stageCount + const VkShaderStageFlagBits* pStages + const VkShaderEXT* pShaders + + + VkResult vkGetScreenBufferPropertiesQNX + VkDevice device + const struct _screen_buffer* buffer + VkScreenBufferPropertiesQNX* pProperties + + + VkResult vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR + VkPhysicalDevice physicalDevice + uint32_t* pPropertyCount + VkCooperativeMatrixPropertiesKHR* pProperties + + + VkResult vkGetExecutionGraphPipelineScratchSizeAMDX + VkDevice device + VkPipeline executionGraph + VkExecutionGraphPipelineScratchSizeAMDX* pSizeInfo + + + VkResult vkGetExecutionGraphPipelineNodeIndexAMDX + VkDevice device + VkPipeline executionGraph + const VkPipelineShaderStageNodeCreateInfoAMDX* pNodeInfo + uint32_t* pNodeIndex + + + VkResult vkCreateExecutionGraphPipelinesAMDX + VkDevice device + VkPipelineCache pipelineCache + uint32_t createInfoCount + const VkExecutionGraphPipelineCreateInfoAMDX* pCreateInfos + const VkAllocationCallbacks* pAllocator + VkPipeline* pPipelines + + + void vkCmdInitializeGraphScratchMemoryAMDX + VkCommandBuffer commandBuffer + VkDeviceAddress scratch + + + void vkCmdDispatchGraphAMDX + VkCommandBuffer commandBuffer + VkDeviceAddress scratch + const VkDispatchGraphCountInfoAMDX* pCountInfo + + + void vkCmdDispatchGraphIndirectAMDX + VkCommandBuffer commandBuffer + VkDeviceAddress scratch + const VkDispatchGraphCountInfoAMDX* pCountInfo + + + void vkCmdDispatchGraphIndirectCountAMDX + VkCommandBuffer commandBuffer + VkDeviceAddress scratch + VkDeviceAddress countInfo + + + void vkCmdBindDescriptorSets2KHR + VkCommandBuffer commandBuffer + const VkBindDescriptorSetsInfoKHR* pBindDescriptorSetsInfo + + + void vkCmdPushConstants2KHR + VkCommandBuffer commandBuffer + const VkPushConstantsInfoKHR* pPushConstantsInfo + + + void vkCmdPushDescriptorSet2KHR + VkCommandBuffer commandBuffer + const VkPushDescriptorSetInfoKHR* pPushDescriptorSetInfo + + + void vkCmdPushDescriptorSetWithTemplate2KHR + VkCommandBuffer commandBuffer + const VkPushDescriptorSetWithTemplateInfoKHR* pPushDescriptorSetWithTemplateInfo + + + void vkCmdSetDescriptorBufferOffsets2EXT + VkCommandBuffer commandBuffer + const VkSetDescriptorBufferOffsetsInfoEXT* pSetDescriptorBufferOffsetsInfo + + + void vkCmdBindDescriptorBufferEmbeddedSamplers2EXT + VkCommandBuffer commandBuffer + const VkBindDescriptorBufferEmbeddedSamplersInfoEXT* pBindDescriptorBufferEmbeddedSamplersInfo + + + VkResult vkSetLatencySleepModeNV + VkDevice device + VkSwapchainKHR swapchain + const VkLatencySleepModeInfoNV* pSleepModeInfo + + + VkResult vkLatencySleepNV + VkDevice device + VkSwapchainKHR swapchain + const VkLatencySleepInfoNV* pSleepInfo + + + void vkSetLatencyMarkerNV + VkDevice device + VkSwapchainKHR swapchain + const VkSetLatencyMarkerInfoNV* pLatencyMarkerInfo + + + void vkGetLatencyTimingsNV + VkDevice device + VkSwapchainKHR swapchain + VkGetLatencyMarkerInfoNV* pLatencyMarkerInfo + + + void vkQueueNotifyOutOfBandNV + VkQueue queue + const VkOutOfBandQueueTypeInfoNV* pQueueTypeInfo + + + void vkCmdSetRenderingAttachmentLocationsKHR + VkCommandBuffer commandBuffer + const VkRenderingAttachmentLocationInfoKHR* pLocationInfo + + + void vkCmdSetRenderingInputAttachmentIndicesKHR + VkCommandBuffer commandBuffer + const VkRenderingInputAttachmentIndexInfoKHR* pLocationInfo + + + + + + + + + + + + + @@ -15318,7 +16682,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15352,13 +16716,11 @@ typedef void* MTLSharedEvent_id; - - @@ -15415,7 +16777,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15437,7 +16799,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15482,7 +16844,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15513,7 +16875,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15523,7 +16885,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15534,7 +16896,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15545,7 +16907,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15556,13 +16918,13 @@ typedef void* MTLSharedEvent_id; - + - + @@ -15573,7 +16935,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15644,7 +17006,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15717,7 +17079,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15806,9 +17168,9 @@ typedef void* MTLSharedEvent_id; - + - + @@ -15913,8 +17275,6 @@ typedef void* MTLSharedEvent_id; - - @@ -15926,6 +17286,10 @@ typedef void* MTLSharedEvent_id; + + + + @@ -15983,92 +17347,101 @@ typedef void* MTLSharedEvent_id; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16111,7 +17484,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16203,7 +17576,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16212,7 +17585,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16280,7 +17653,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16311,7 +17684,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16372,9 +17745,9 @@ typedef void* MTLSharedEvent_id; - + - + @@ -16391,7 +17764,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16409,7 +17782,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16431,7 +17804,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16455,7 +17828,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16469,7 +17842,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16482,7 +17855,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16515,7 +17888,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16529,7 +17902,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16545,7 +17918,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16559,7 +17932,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16567,7 +17940,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16592,7 +17965,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16603,7 +17976,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16619,7 +17992,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16631,7 +18004,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16668,7 +18041,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16678,7 +18051,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16686,7 +18059,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16696,7 +18069,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16850,7 +18223,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16874,7 +18247,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16886,7 +18259,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16904,7 +18277,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16947,7 +18320,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16962,7 +18335,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16986,13 +18359,15 @@ typedef void* MTLSharedEvent_id; - + - - + + + + - + @@ -17004,7 +18379,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17028,7 +18403,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17039,7 +18414,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17053,7 +18428,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17065,7 +18440,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17102,7 +18477,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17135,7 +18510,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17149,7 +18524,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17159,7 +18534,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17205,21 +18580,21 @@ typedef void* MTLSharedEvent_id; - + - + - + @@ -17306,7 +18681,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17324,17 +18699,50 @@ typedef void* MTLSharedEvent_id; - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -17388,7 +18796,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17411,7 +18819,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17423,7 +18831,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17442,7 +18850,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17450,7 +18858,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17519,7 +18927,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17545,7 +18953,6 @@ typedef void* MTLSharedEvent_id; - @@ -17607,8 +19014,11 @@ typedef void* MTLSharedEvent_id; + + + - + @@ -17653,7 +19063,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17700,7 +19110,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17710,7 +19120,6 @@ typedef void* MTLSharedEvent_id; - @@ -17781,9 +19190,10 @@ typedef void* MTLSharedEvent_id; + - + @@ -17796,7 +19206,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17880,7 +19290,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17950,7 +19360,6 @@ typedef void* MTLSharedEvent_id; - @@ -17995,7 +19404,6 @@ typedef void* MTLSharedEvent_id; - @@ -18013,6 +19421,12 @@ typedef void* MTLSharedEvent_id; + + + + + + @@ -18030,7 +19444,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18043,7 +19457,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18051,7 +19465,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18063,7 +19477,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18071,16 +19485,13 @@ typedef void* MTLSharedEvent_id; - + - - - - + @@ -18096,7 +19507,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18110,7 +19521,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18118,7 +19529,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18140,7 +19551,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18148,7 +19559,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18172,11 +19583,15 @@ typedef void* MTLSharedEvent_id; - + - + + + + + @@ -18197,9 +19612,9 @@ typedef void* MTLSharedEvent_id; - + - + @@ -18218,7 +19633,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18242,13 +19657,13 @@ typedef void* MTLSharedEvent_id; - + - - - - - + + + + + @@ -18290,11 +19705,9 @@ typedef void* MTLSharedEvent_id; - - + @@ -18318,7 +19731,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18337,7 +19750,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18354,7 +19767,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18429,7 +19842,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18509,7 +19922,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18517,7 +19930,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18547,7 +19960,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18651,7 +20064,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18717,10 +20130,19 @@ typedef void* MTLSharedEvent_id; - + - - + + + + + + + + + + + @@ -18729,7 +20151,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18737,19 +20159,21 @@ typedef void* MTLSharedEvent_id; - + - - + + + + - + - + @@ -18767,7 +20191,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18783,7 +20207,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18803,7 +20227,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18859,9 +20283,9 @@ typedef void* MTLSharedEvent_id; - + - + @@ -18869,7 +20293,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18887,7 +20311,22 @@ typedef void* MTLSharedEvent_id; + + + + + + + + + + + + + + + @@ -18908,7 +20347,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18916,7 +20355,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18924,7 +20363,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18980,7 +20419,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19014,14 +20453,14 @@ typedef void* MTLSharedEvent_id; - + - - - - + + + + @@ -19029,7 +20468,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19064,12 +20503,12 @@ typedef void* MTLSharedEvent_id; - + - - + + @@ -19079,7 +20518,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19111,7 +20550,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19128,7 +20567,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19153,17 +20592,55 @@ typedef void* MTLSharedEvent_id; - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + + + + + + + + @@ -19216,7 +20693,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19282,13 +20759,13 @@ typedef void* MTLSharedEvent_id; - + - + @@ -19298,7 +20775,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19308,9 +20785,9 @@ typedef void* MTLSharedEvent_id; - + - + @@ -19319,10 +20796,18 @@ typedef void* MTLSharedEvent_id; - + - - + + + + + + + + + + @@ -19348,7 +20833,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19358,7 +20843,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19419,7 +20904,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19446,13 +20931,13 @@ typedef void* MTLSharedEvent_id; - + - + @@ -19508,33 +20993,43 @@ typedef void* MTLSharedEvent_id; - + - + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -19543,6 +21038,10 @@ typedef void* MTLSharedEvent_id; + + + + @@ -19556,11 +21055,20 @@ typedef void* MTLSharedEvent_id; + + + + + + + + + - - + + @@ -19575,50 +21083,74 @@ typedef void* MTLSharedEvent_id; - + - + - + - + - + - + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -19631,17 +21163,24 @@ typedef void* MTLSharedEvent_id; - + - + + + + + + - + - - + + + + @@ -19695,7 +21234,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19907,7 +21446,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19917,7 +21456,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19931,7 +21470,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20007,7 +21546,7 @@ typedef void* MTLSharedEvent_id; - + VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT and @@ -20041,9 +21580,9 @@ typedef void* MTLSharedEvent_id; - + - + @@ -20055,7 +21594,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20063,7 +21602,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20071,7 +21610,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20113,9 +21652,9 @@ typedef void* MTLSharedEvent_id; - + - + @@ -20127,7 +21666,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20140,7 +21679,7 @@ typedef void* MTLSharedEvent_id; - + VkPhysicalDevice4444FormatsFeaturesEXT and @@ -20157,7 +21696,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20246,7 +21785,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20320,7 +21859,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20382,7 +21921,6 @@ typedef void* MTLSharedEvent_id; - @@ -20412,6 +21950,9 @@ typedef void* MTLSharedEvent_id; + + + @@ -20428,13 +21969,14 @@ typedef void* MTLSharedEvent_id; - + - + + @@ -20538,10 +22080,16 @@ typedef void* MTLSharedEvent_id; - + - - + + + + + + + + @@ -20557,7 +22105,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20598,7 +22146,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20637,7 +22185,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20720,20 +22268,24 @@ typedef void* MTLSharedEvent_id; - + - + - - + + + + + + - + @@ -20799,13 +22351,20 @@ typedef void* MTLSharedEvent_id; - + - - - - - + + + + + + + + + + + + @@ -20820,11 +22379,11 @@ typedef void* MTLSharedEvent_id; - + - - + + @@ -20848,10 +22407,11 @@ typedef void* MTLSharedEvent_id; - + + @@ -20859,6 +22419,7 @@ typedef void* MTLSharedEvent_id; + @@ -20916,7 +22477,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20948,16 +22509,28 @@ typedef void* MTLSharedEvent_id; - + - - + + + + + + - + - - + + + + + + + + + + @@ -21015,10 +22588,20 @@ typedef void* MTLSharedEvent_id; - + - - + + + + + + + + + + + + @@ -21063,10 +22646,23 @@ typedef void* MTLSharedEvent_id; - + - - + + + + + + + + + + + + + + + @@ -21104,10 +22700,12 @@ typedef void* MTLSharedEvent_id; - + - - + + + + @@ -21138,7 +22736,7 @@ typedef void* MTLSharedEvent_id; - + @@ -21146,7 +22744,7 @@ typedef void* MTLSharedEvent_id; - + @@ -21198,6 +22796,7 @@ typedef void* MTLSharedEvent_id; + @@ -21230,37 +22829,49 @@ typedef void* MTLSharedEvent_id; - + - - + + + + + + + + - + + + + + + - + - - + + + + - + - + - @@ -21271,31 +22882,10 @@ typedef void* MTLSharedEvent_id; - - - - - - - - - - - - - - - - - - - - - @@ -21306,35 +22896,89 @@ typedef void* MTLSharedEvent_id; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + @@ -21370,11 +23014,12 @@ typedef void* MTLSharedEvent_id; - + + @@ -21492,10 +23137,19 @@ typedef void* MTLSharedEvent_id; - + - - + + + + + + + + + + + @@ -21504,10 +23158,135 @@ typedef void* MTLSharedEvent_id; - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -21556,6 +23335,7 @@ typedef void* MTLSharedEvent_id; + @@ -21570,44 +23350,166 @@ typedef void* MTLSharedEvent_id; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -21626,7 +23528,7 @@ typedef void* MTLSharedEvent_id; - + @@ -21690,10 +23592,14 @@ typedef void* MTLSharedEvent_id; - + - - + + + + + + @@ -21722,13 +23628,17 @@ typedef void* MTLSharedEvent_id; - + - - + + + + + + - + @@ -21746,10 +23656,12 @@ typedef void* MTLSharedEvent_id; - + - - + + + + @@ -21782,25 +23694,64 @@ typedef void* MTLSharedEvent_id; - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -21812,7 +23763,7 @@ typedef void* MTLSharedEvent_id; - + @@ -21822,6 +23773,444 @@ typedef void* MTLSharedEvent_id; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -21858,8 +24247,8 @@ typedef void* MTLSharedEvent_id; - + @@ -21868,6 +24257,15 @@ typedef void* MTLSharedEvent_id; + + + + + + + + + @@ -22416,15 +24814,15 @@ typedef void* MTLSharedEvent_id; - + - + - + @@ -22462,7 +24860,7 @@ typedef void* MTLSharedEvent_id; - + @@ -22544,15 +24942,15 @@ typedef void* MTLSharedEvent_id; - + - - + + @@ -23351,21 +25749,21 @@ typedef void* MTLSharedEvent_id; - + - + - + @@ -23382,7 +25780,7 @@ typedef void* MTLSharedEvent_id; - + @@ -23395,22 +25793,67 @@ typedef void* MTLSharedEvent_id; - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -23545,12 +25988,12 @@ typedef void* MTLSharedEvent_id; - + - + @@ -23870,6 +26313,9 @@ typedef void* MTLSharedEvent_id; + + + @@ -23885,5 +26331,373 @@ typedef void* MTLSharedEvent_id; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Fragment shader stage is added by the VK_EXT_shader_tile_image extension + + + + + + + Fragment shader stage is added by the VK_EXT_shader_tile_image extension + + + + + + + + + + + + + + + + + + + TODO/Suggestion. Introduce 'synclist' (could be a different name) element + that specifies the list of stages, accesses, etc. This list can be used by + 'syncaccess' or 'syncstage' elements. For example, 'syncsupport' in addition to the + 'stage' attribute can support 'list' attribute to reference 'synclist'. + We can have the lists defined for ALL stages and it can be shared between MEMORY_READ + and MEMORY_WRITE accesses. Similarly, ALL shader stages list is often used. This proposal + is a way to fix duplication problem. When new stage is added multiple places needs to be + updated. It is potential source of bugs. The expectation such setup will produce more + robust system and also more simple structure to review and validate. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT + VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT + VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT + VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT + VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT + VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT + VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT + VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT + VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR + VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT + VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT + VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT + VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT + VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT + VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT + + + VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT + VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT + VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT + VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR + VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT + VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT + VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT + VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT + VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT + VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT + + + VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT + VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT + VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT + + + VK_PIPELINE_STAGE_2_TRANSFER_BIT + + + VK_PIPELINE_STAGE_2_HOST_BIT + + + VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI + + + VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV + + + VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR + + + VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR + + + VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT + + + VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT + VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR + + + VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR + + + VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR + + + VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV + + diff --git a/glad/files/vk_platform.h b/glad/files/vk_platform.h index ed67a600..0ecd4f64 100644 --- a/glad/files/vk_platform.h +++ b/glad/files/vk_platform.h @@ -2,7 +2,7 @@ // File: vk_platform.h // /* -** Copyright 2014-2023 The Khronos Group Inc. +** Copyright 2014-2024 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/glad/files/vulkan_video_codec_av1std.h b/glad/files/vulkan_video_codec_av1std.h new file mode 100644 index 00000000..8ce283e8 --- /dev/null +++ b/glad/files/vulkan_video_codec_av1std.h @@ -0,0 +1,392 @@ +#ifndef VULKAN_VIDEO_CODEC_AV1STD_H_ +#define VULKAN_VIDEO_CODEC_AV1STD_H_ 1 + +/* +** Copyright 2015-2024 The Khronos Group Inc. +** +** SPDX-License-Identifier: Apache-2.0 +*/ + +/* +** This header is generated from the Khronos Vulkan XML API Registry. +** +*/ + + +#ifdef __cplusplus +extern "C" { +#endif + + + +// vulkan_video_codec_av1std is a preprocessor guard. Do not pass it to API calls. +#define vulkan_video_codec_av1std 1 +#include "vulkan_video_codecs_common.h" +#define STD_VIDEO_AV1_NUM_REF_FRAMES 8 +#define STD_VIDEO_AV1_REFS_PER_FRAME 7 +#define STD_VIDEO_AV1_TOTAL_REFS_PER_FRAME 8 +#define STD_VIDEO_AV1_MAX_TILE_COLS 64 +#define STD_VIDEO_AV1_MAX_TILE_ROWS 64 +#define STD_VIDEO_AV1_MAX_SEGMENTS 8 +#define STD_VIDEO_AV1_SEG_LVL_MAX 8 +#define STD_VIDEO_AV1_PRIMARY_REF_NONE 7 +#define STD_VIDEO_AV1_SELECT_INTEGER_MV 2 +#define STD_VIDEO_AV1_SELECT_SCREEN_CONTENT_TOOLS 2 +#define STD_VIDEO_AV1_SKIP_MODE_FRAMES 2 +#define STD_VIDEO_AV1_MAX_LOOP_FILTER_STRENGTHS 4 +#define STD_VIDEO_AV1_LOOP_FILTER_ADJUSTMENTS 2 +#define STD_VIDEO_AV1_MAX_CDEF_FILTER_STRENGTHS 8 +#define STD_VIDEO_AV1_MAX_NUM_PLANES 3 +#define STD_VIDEO_AV1_GLOBAL_MOTION_PARAMS 6 +#define STD_VIDEO_AV1_MAX_NUM_Y_POINTS 14 +#define STD_VIDEO_AV1_MAX_NUM_CB_POINTS 10 +#define STD_VIDEO_AV1_MAX_NUM_CR_POINTS 10 +#define STD_VIDEO_AV1_MAX_NUM_POS_LUMA 24 +#define STD_VIDEO_AV1_MAX_NUM_POS_CHROMA 25 + +typedef enum StdVideoAV1Profile { + STD_VIDEO_AV1_PROFILE_MAIN = 0, + STD_VIDEO_AV1_PROFILE_HIGH = 1, + STD_VIDEO_AV1_PROFILE_PROFESSIONAL = 2, + STD_VIDEO_AV1_PROFILE_INVALID = 0x7FFFFFFF, + STD_VIDEO_AV1_PROFILE_MAX_ENUM = 0x7FFFFFFF +} StdVideoAV1Profile; + +typedef enum StdVideoAV1Level { + STD_VIDEO_AV1_LEVEL_2_0 = 0, + STD_VIDEO_AV1_LEVEL_2_1 = 1, + STD_VIDEO_AV1_LEVEL_2_2 = 2, + STD_VIDEO_AV1_LEVEL_2_3 = 3, + STD_VIDEO_AV1_LEVEL_3_0 = 4, + STD_VIDEO_AV1_LEVEL_3_1 = 5, + STD_VIDEO_AV1_LEVEL_3_2 = 6, + STD_VIDEO_AV1_LEVEL_3_3 = 7, + STD_VIDEO_AV1_LEVEL_4_0 = 8, + STD_VIDEO_AV1_LEVEL_4_1 = 9, + STD_VIDEO_AV1_LEVEL_4_2 = 10, + STD_VIDEO_AV1_LEVEL_4_3 = 11, + STD_VIDEO_AV1_LEVEL_5_0 = 12, + STD_VIDEO_AV1_LEVEL_5_1 = 13, + STD_VIDEO_AV1_LEVEL_5_2 = 14, + STD_VIDEO_AV1_LEVEL_5_3 = 15, + STD_VIDEO_AV1_LEVEL_6_0 = 16, + STD_VIDEO_AV1_LEVEL_6_1 = 17, + STD_VIDEO_AV1_LEVEL_6_2 = 18, + STD_VIDEO_AV1_LEVEL_6_3 = 19, + STD_VIDEO_AV1_LEVEL_7_0 = 20, + STD_VIDEO_AV1_LEVEL_7_1 = 21, + STD_VIDEO_AV1_LEVEL_7_2 = 22, + STD_VIDEO_AV1_LEVEL_7_3 = 23, + STD_VIDEO_AV1_LEVEL_INVALID = 0x7FFFFFFF, + STD_VIDEO_AV1_LEVEL_MAX_ENUM = 0x7FFFFFFF +} StdVideoAV1Level; + +typedef enum StdVideoAV1FrameType { + STD_VIDEO_AV1_FRAME_TYPE_KEY = 0, + STD_VIDEO_AV1_FRAME_TYPE_INTER = 1, + STD_VIDEO_AV1_FRAME_TYPE_INTRA_ONLY = 2, + STD_VIDEO_AV1_FRAME_TYPE_SWITCH = 3, + STD_VIDEO_AV1_FRAME_TYPE_INVALID = 0x7FFFFFFF, + STD_VIDEO_AV1_FRAME_TYPE_MAX_ENUM = 0x7FFFFFFF +} StdVideoAV1FrameType; + +typedef enum StdVideoAV1ReferenceName { + STD_VIDEO_AV1_REFERENCE_NAME_INTRA_FRAME = 0, + STD_VIDEO_AV1_REFERENCE_NAME_LAST_FRAME = 1, + STD_VIDEO_AV1_REFERENCE_NAME_LAST2_FRAME = 2, + STD_VIDEO_AV1_REFERENCE_NAME_LAST3_FRAME = 3, + STD_VIDEO_AV1_REFERENCE_NAME_GOLDEN_FRAME = 4, + STD_VIDEO_AV1_REFERENCE_NAME_BWDREF_FRAME = 5, + STD_VIDEO_AV1_REFERENCE_NAME_ALTREF2_FRAME = 6, + STD_VIDEO_AV1_REFERENCE_NAME_ALTREF_FRAME = 7, + STD_VIDEO_AV1_REFERENCE_NAME_INVALID = 0x7FFFFFFF, + STD_VIDEO_AV1_REFERENCE_NAME_MAX_ENUM = 0x7FFFFFFF +} StdVideoAV1ReferenceName; + +typedef enum StdVideoAV1InterpolationFilter { + STD_VIDEO_AV1_INTERPOLATION_FILTER_EIGHTTAP = 0, + STD_VIDEO_AV1_INTERPOLATION_FILTER_EIGHTTAP_SMOOTH = 1, + STD_VIDEO_AV1_INTERPOLATION_FILTER_EIGHTTAP_SHARP = 2, + STD_VIDEO_AV1_INTERPOLATION_FILTER_BILINEAR = 3, + STD_VIDEO_AV1_INTERPOLATION_FILTER_SWITCHABLE = 4, + STD_VIDEO_AV1_INTERPOLATION_FILTER_INVALID = 0x7FFFFFFF, + STD_VIDEO_AV1_INTERPOLATION_FILTER_MAX_ENUM = 0x7FFFFFFF +} StdVideoAV1InterpolationFilter; + +typedef enum StdVideoAV1TxMode { + STD_VIDEO_AV1_TX_MODE_ONLY_4X4 = 0, + STD_VIDEO_AV1_TX_MODE_LARGEST = 1, + STD_VIDEO_AV1_TX_MODE_SELECT = 2, + STD_VIDEO_AV1_TX_MODE_INVALID = 0x7FFFFFFF, + STD_VIDEO_AV1_TX_MODE_MAX_ENUM = 0x7FFFFFFF +} StdVideoAV1TxMode; + +typedef enum StdVideoAV1FrameRestorationType { + STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_NONE = 0, + STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_WIENER = 1, + STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_SGRPROJ = 2, + STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_SWITCHABLE = 3, + STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_INVALID = 0x7FFFFFFF, + STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_MAX_ENUM = 0x7FFFFFFF +} StdVideoAV1FrameRestorationType; + +typedef enum StdVideoAV1ColorPrimaries { + STD_VIDEO_AV1_COLOR_PRIMARIES_BT_709 = 1, + STD_VIDEO_AV1_COLOR_PRIMARIES_BT_UNSPECIFIED = 2, + STD_VIDEO_AV1_COLOR_PRIMARIES_BT_470_M = 4, + STD_VIDEO_AV1_COLOR_PRIMARIES_BT_470_B_G = 5, + STD_VIDEO_AV1_COLOR_PRIMARIES_BT_601 = 6, + STD_VIDEO_AV1_COLOR_PRIMARIES_SMPTE_240 = 7, + STD_VIDEO_AV1_COLOR_PRIMARIES_GENERIC_FILM = 8, + STD_VIDEO_AV1_COLOR_PRIMARIES_BT_2020 = 9, + STD_VIDEO_AV1_COLOR_PRIMARIES_XYZ = 10, + STD_VIDEO_AV1_COLOR_PRIMARIES_SMPTE_431 = 11, + STD_VIDEO_AV1_COLOR_PRIMARIES_SMPTE_432 = 12, + STD_VIDEO_AV1_COLOR_PRIMARIES_EBU_3213 = 22, + STD_VIDEO_AV1_COLOR_PRIMARIES_INVALID = 0x7FFFFFFF, + STD_VIDEO_AV1_COLOR_PRIMARIES_MAX_ENUM = 0x7FFFFFFF +} StdVideoAV1ColorPrimaries; + +typedef enum StdVideoAV1TransferCharacteristics { + STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_RESERVED_0 = 0, + STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_709 = 1, + STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_UNSPECIFIED = 2, + STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_RESERVED_3 = 3, + STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_470_M = 4, + STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_470_B_G = 5, + STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_601 = 6, + STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_SMPTE_240 = 7, + STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_LINEAR = 8, + STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_LOG_100 = 9, + STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_LOG_100_SQRT10 = 10, + STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_IEC_61966 = 11, + STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_1361 = 12, + STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_SRGB = 13, + STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_2020_10_BIT = 14, + STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_2020_12_BIT = 15, + STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_SMPTE_2084 = 16, + STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_SMPTE_428 = 17, + STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_HLG = 18, + STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_INVALID = 0x7FFFFFFF, + STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_MAX_ENUM = 0x7FFFFFFF +} StdVideoAV1TransferCharacteristics; + +typedef enum StdVideoAV1MatrixCoefficients { + STD_VIDEO_AV1_MATRIX_COEFFICIENTS_IDENTITY = 0, + STD_VIDEO_AV1_MATRIX_COEFFICIENTS_BT_709 = 1, + STD_VIDEO_AV1_MATRIX_COEFFICIENTS_UNSPECIFIED = 2, + STD_VIDEO_AV1_MATRIX_COEFFICIENTS_RESERVED_3 = 3, + STD_VIDEO_AV1_MATRIX_COEFFICIENTS_FCC = 4, + STD_VIDEO_AV1_MATRIX_COEFFICIENTS_BT_470_B_G = 5, + STD_VIDEO_AV1_MATRIX_COEFFICIENTS_BT_601 = 6, + STD_VIDEO_AV1_MATRIX_COEFFICIENTS_SMPTE_240 = 7, + STD_VIDEO_AV1_MATRIX_COEFFICIENTS_SMPTE_YCGCO = 8, + STD_VIDEO_AV1_MATRIX_COEFFICIENTS_BT_2020_NCL = 9, + STD_VIDEO_AV1_MATRIX_COEFFICIENTS_BT_2020_CL = 10, + STD_VIDEO_AV1_MATRIX_COEFFICIENTS_SMPTE_2085 = 11, + STD_VIDEO_AV1_MATRIX_COEFFICIENTS_CHROMAT_NCL = 12, + STD_VIDEO_AV1_MATRIX_COEFFICIENTS_CHROMAT_CL = 13, + STD_VIDEO_AV1_MATRIX_COEFFICIENTS_ICTCP = 14, + STD_VIDEO_AV1_MATRIX_COEFFICIENTS_INVALID = 0x7FFFFFFF, + STD_VIDEO_AV1_MATRIX_COEFFICIENTS_MAX_ENUM = 0x7FFFFFFF +} StdVideoAV1MatrixCoefficients; + +typedef enum StdVideoAV1ChromaSamplePosition { + STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_UNKNOWN = 0, + STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_VERTICAL = 1, + STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_COLOCATED = 2, + STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_RESERVED = 3, + STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_INVALID = 0x7FFFFFFF, + STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_MAX_ENUM = 0x7FFFFFFF +} StdVideoAV1ChromaSamplePosition; +typedef struct StdVideoAV1ColorConfigFlags { + uint32_t mono_chrome : 1; + uint32_t color_range : 1; + uint32_t separate_uv_delta_q : 1; + uint32_t color_description_present_flag : 1; + uint32_t reserved : 28; +} StdVideoAV1ColorConfigFlags; + +typedef struct StdVideoAV1ColorConfig { + StdVideoAV1ColorConfigFlags flags; + uint8_t BitDepth; + uint8_t subsampling_x; + uint8_t subsampling_y; + uint8_t reserved1; + StdVideoAV1ColorPrimaries color_primaries; + StdVideoAV1TransferCharacteristics transfer_characteristics; + StdVideoAV1MatrixCoefficients matrix_coefficients; + StdVideoAV1ChromaSamplePosition chroma_sample_position; +} StdVideoAV1ColorConfig; + +typedef struct StdVideoAV1TimingInfoFlags { + uint32_t equal_picture_interval : 1; + uint32_t reserved : 31; +} StdVideoAV1TimingInfoFlags; + +typedef struct StdVideoAV1TimingInfo { + StdVideoAV1TimingInfoFlags flags; + uint32_t num_units_in_display_tick; + uint32_t time_scale; + uint32_t num_ticks_per_picture_minus_1; +} StdVideoAV1TimingInfo; + +typedef struct StdVideoAV1LoopFilterFlags { + uint32_t loop_filter_delta_enabled : 1; + uint32_t loop_filter_delta_update : 1; + uint32_t reserved : 30; +} StdVideoAV1LoopFilterFlags; + +typedef struct StdVideoAV1LoopFilter { + StdVideoAV1LoopFilterFlags flags; + uint8_t loop_filter_level[STD_VIDEO_AV1_MAX_LOOP_FILTER_STRENGTHS]; + uint8_t loop_filter_sharpness; + uint8_t update_ref_delta; + int8_t loop_filter_ref_deltas[STD_VIDEO_AV1_TOTAL_REFS_PER_FRAME]; + uint8_t update_mode_delta; + int8_t loop_filter_mode_deltas[STD_VIDEO_AV1_LOOP_FILTER_ADJUSTMENTS]; +} StdVideoAV1LoopFilter; + +typedef struct StdVideoAV1QuantizationFlags { + uint32_t using_qmatrix : 1; + uint32_t diff_uv_delta : 1; + uint32_t reserved : 30; +} StdVideoAV1QuantizationFlags; + +typedef struct StdVideoAV1Quantization { + StdVideoAV1QuantizationFlags flags; + uint8_t base_q_idx; + int8_t DeltaQYDc; + int8_t DeltaQUDc; + int8_t DeltaQUAc; + int8_t DeltaQVDc; + int8_t DeltaQVAc; + uint8_t qm_y; + uint8_t qm_u; + uint8_t qm_v; +} StdVideoAV1Quantization; + +typedef struct StdVideoAV1Segmentation { + uint8_t FeatureEnabled[STD_VIDEO_AV1_MAX_SEGMENTS]; + int16_t FeatureData[STD_VIDEO_AV1_MAX_SEGMENTS][STD_VIDEO_AV1_SEG_LVL_MAX]; +} StdVideoAV1Segmentation; + +typedef struct StdVideoAV1TileInfoFlags { + uint32_t uniform_tile_spacing_flag : 1; + uint32_t reserved : 31; +} StdVideoAV1TileInfoFlags; + +typedef struct StdVideoAV1TileInfo { + StdVideoAV1TileInfoFlags flags; + uint8_t TileCols; + uint8_t TileRows; + uint16_t context_update_tile_id; + uint8_t tile_size_bytes_minus_1; + uint8_t reserved1[7]; + const uint16_t* pMiColStarts; + const uint16_t* pMiRowStarts; + const uint16_t* pWidthInSbsMinus1; + const uint16_t* pHeightInSbsMinus1; +} StdVideoAV1TileInfo; + +typedef struct StdVideoAV1CDEF { + uint8_t cdef_damping_minus_3; + uint8_t cdef_bits; + uint8_t cdef_y_pri_strength[STD_VIDEO_AV1_MAX_CDEF_FILTER_STRENGTHS]; + uint8_t cdef_y_sec_strength[STD_VIDEO_AV1_MAX_CDEF_FILTER_STRENGTHS]; + uint8_t cdef_uv_pri_strength[STD_VIDEO_AV1_MAX_CDEF_FILTER_STRENGTHS]; + uint8_t cdef_uv_sec_strength[STD_VIDEO_AV1_MAX_CDEF_FILTER_STRENGTHS]; +} StdVideoAV1CDEF; + +typedef struct StdVideoAV1LoopRestoration { + StdVideoAV1FrameRestorationType FrameRestorationType[STD_VIDEO_AV1_MAX_NUM_PLANES]; + uint16_t LoopRestorationSize[STD_VIDEO_AV1_MAX_NUM_PLANES]; +} StdVideoAV1LoopRestoration; + +typedef struct StdVideoAV1GlobalMotion { + uint8_t GmType[STD_VIDEO_AV1_NUM_REF_FRAMES]; + int32_t gm_params[STD_VIDEO_AV1_NUM_REF_FRAMES][STD_VIDEO_AV1_GLOBAL_MOTION_PARAMS]; +} StdVideoAV1GlobalMotion; + +typedef struct StdVideoAV1FilmGrainFlags { + uint32_t chroma_scaling_from_luma : 1; + uint32_t overlap_flag : 1; + uint32_t clip_to_restricted_range : 1; + uint32_t update_grain : 1; + uint32_t reserved : 28; +} StdVideoAV1FilmGrainFlags; + +typedef struct StdVideoAV1FilmGrain { + StdVideoAV1FilmGrainFlags flags; + uint8_t grain_scaling_minus_8; + uint8_t ar_coeff_lag; + uint8_t ar_coeff_shift_minus_6; + uint8_t grain_scale_shift; + uint16_t grain_seed; + uint8_t film_grain_params_ref_idx; + uint8_t num_y_points; + uint8_t point_y_value[STD_VIDEO_AV1_MAX_NUM_Y_POINTS]; + uint8_t point_y_scaling[STD_VIDEO_AV1_MAX_NUM_Y_POINTS]; + uint8_t num_cb_points; + uint8_t point_cb_value[STD_VIDEO_AV1_MAX_NUM_CB_POINTS]; + uint8_t point_cb_scaling[STD_VIDEO_AV1_MAX_NUM_CB_POINTS]; + uint8_t num_cr_points; + uint8_t point_cr_value[STD_VIDEO_AV1_MAX_NUM_CR_POINTS]; + uint8_t point_cr_scaling[STD_VIDEO_AV1_MAX_NUM_CR_POINTS]; + int8_t ar_coeffs_y_plus_128[STD_VIDEO_AV1_MAX_NUM_POS_LUMA]; + int8_t ar_coeffs_cb_plus_128[STD_VIDEO_AV1_MAX_NUM_POS_CHROMA]; + int8_t ar_coeffs_cr_plus_128[STD_VIDEO_AV1_MAX_NUM_POS_CHROMA]; + uint8_t cb_mult; + uint8_t cb_luma_mult; + uint16_t cb_offset; + uint8_t cr_mult; + uint8_t cr_luma_mult; + uint16_t cr_offset; +} StdVideoAV1FilmGrain; + +typedef struct StdVideoAV1SequenceHeaderFlags { + uint32_t still_picture : 1; + uint32_t reduced_still_picture_header : 1; + uint32_t use_128x128_superblock : 1; + uint32_t enable_filter_intra : 1; + uint32_t enable_intra_edge_filter : 1; + uint32_t enable_interintra_compound : 1; + uint32_t enable_masked_compound : 1; + uint32_t enable_warped_motion : 1; + uint32_t enable_dual_filter : 1; + uint32_t enable_order_hint : 1; + uint32_t enable_jnt_comp : 1; + uint32_t enable_ref_frame_mvs : 1; + uint32_t frame_id_numbers_present_flag : 1; + uint32_t enable_superres : 1; + uint32_t enable_cdef : 1; + uint32_t enable_restoration : 1; + uint32_t film_grain_params_present : 1; + uint32_t timing_info_present_flag : 1; + uint32_t initial_display_delay_present_flag : 1; + uint32_t reserved : 13; +} StdVideoAV1SequenceHeaderFlags; + +typedef struct StdVideoAV1SequenceHeader { + StdVideoAV1SequenceHeaderFlags flags; + StdVideoAV1Profile seq_profile; + uint8_t frame_width_bits_minus_1; + uint8_t frame_height_bits_minus_1; + uint16_t max_frame_width_minus_1; + uint16_t max_frame_height_minus_1; + uint8_t delta_frame_id_length_minus_2; + uint8_t additional_frame_id_length_minus_1; + uint8_t order_hint_bits_minus_1; + uint8_t seq_force_integer_mv; + uint8_t seq_force_screen_content_tools; + uint8_t reserved1[5]; + const StdVideoAV1ColorConfig* pColorConfig; + const StdVideoAV1TimingInfo* pTimingInfo; +} StdVideoAV1SequenceHeader; + + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/glad/files/vulkan_video_codec_av1std_decode.h b/glad/files/vulkan_video_codec_av1std_decode.h new file mode 100644 index 00000000..6b8130cd --- /dev/null +++ b/glad/files/vulkan_video_codec_av1std_decode.h @@ -0,0 +1,109 @@ +#ifndef VULKAN_VIDEO_CODEC_AV1STD_DECODE_H_ +#define VULKAN_VIDEO_CODEC_AV1STD_DECODE_H_ 1 + +/* +** Copyright 2015-2024 The Khronos Group Inc. +** +** SPDX-License-Identifier: Apache-2.0 +*/ + +/* +** This header is generated from the Khronos Vulkan XML API Registry. +** +*/ + + +#ifdef __cplusplus +extern "C" { +#endif + + + +// vulkan_video_codec_av1std_decode is a preprocessor guard. Do not pass it to API calls. +#define vulkan_video_codec_av1std_decode 1 +#include "vulkan_video_codec_av1std.h" + +#define VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_API_VERSION_1_0_0 VK_MAKE_VIDEO_STD_VERSION(1, 0, 0) + +#define VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_API_VERSION_1_0_0 +#define VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_av1_decode" +typedef struct StdVideoDecodeAV1PictureInfoFlags { + uint32_t error_resilient_mode : 1; + uint32_t disable_cdf_update : 1; + uint32_t use_superres : 1; + uint32_t render_and_frame_size_different : 1; + uint32_t allow_screen_content_tools : 1; + uint32_t is_filter_switchable : 1; + uint32_t force_integer_mv : 1; + uint32_t frame_size_override_flag : 1; + uint32_t buffer_removal_time_present_flag : 1; + uint32_t allow_intrabc : 1; + uint32_t frame_refs_short_signaling : 1; + uint32_t allow_high_precision_mv : 1; + uint32_t is_motion_mode_switchable : 1; + uint32_t use_ref_frame_mvs : 1; + uint32_t disable_frame_end_update_cdf : 1; + uint32_t allow_warped_motion : 1; + uint32_t reduced_tx_set : 1; + uint32_t reference_select : 1; + uint32_t skip_mode_present : 1; + uint32_t delta_q_present : 1; + uint32_t delta_lf_present : 1; + uint32_t delta_lf_multi : 1; + uint32_t segmentation_enabled : 1; + uint32_t segmentation_update_map : 1; + uint32_t segmentation_temporal_update : 1; + uint32_t segmentation_update_data : 1; + uint32_t UsesLr : 1; + uint32_t usesChromaLr : 1; + uint32_t apply_grain : 1; + uint32_t reserved : 3; +} StdVideoDecodeAV1PictureInfoFlags; + +typedef struct StdVideoDecodeAV1PictureInfo { + StdVideoDecodeAV1PictureInfoFlags flags; + StdVideoAV1FrameType frame_type; + uint32_t current_frame_id; + uint8_t OrderHint; + uint8_t primary_ref_frame; + uint8_t refresh_frame_flags; + uint8_t reserved1; + StdVideoAV1InterpolationFilter interpolation_filter; + StdVideoAV1TxMode TxMode; + uint8_t delta_q_res; + uint8_t delta_lf_res; + uint8_t SkipModeFrame[STD_VIDEO_AV1_SKIP_MODE_FRAMES]; + uint8_t coded_denom; + uint8_t reserved2[3]; + uint8_t OrderHints[STD_VIDEO_AV1_NUM_REF_FRAMES]; + uint32_t expectedFrameId[STD_VIDEO_AV1_NUM_REF_FRAMES]; + const StdVideoAV1TileInfo* pTileInfo; + const StdVideoAV1Quantization* pQuantization; + const StdVideoAV1Segmentation* pSegmentation; + const StdVideoAV1LoopFilter* pLoopFilter; + const StdVideoAV1CDEF* pCDEF; + const StdVideoAV1LoopRestoration* pLoopRestoration; + const StdVideoAV1GlobalMotion* pGlobalMotion; + const StdVideoAV1FilmGrain* pFilmGrain; +} StdVideoDecodeAV1PictureInfo; + +typedef struct StdVideoDecodeAV1ReferenceInfoFlags { + uint32_t disable_frame_end_update_cdf : 1; + uint32_t segmentation_enabled : 1; + uint32_t reserved : 30; +} StdVideoDecodeAV1ReferenceInfoFlags; + +typedef struct StdVideoDecodeAV1ReferenceInfo { + StdVideoDecodeAV1ReferenceInfoFlags flags; + uint8_t frame_type; + uint8_t RefFrameSignBias; + uint8_t OrderHint; + uint8_t SavedOrderHints[STD_VIDEO_AV1_NUM_REF_FRAMES]; +} StdVideoDecodeAV1ReferenceInfo; + + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/glad/files/vulkan_video_codec_h264std.h b/glad/files/vulkan_video_codec_h264std.h index 21c7b667..6d27af37 100644 --- a/glad/files/vulkan_video_codec_h264std.h +++ b/glad/files/vulkan_video_codec_h264std.h @@ -2,7 +2,7 @@ #define VULKAN_VIDEO_CODEC_H264STD_H_ 1 /* -** Copyright 2015-2023 The Khronos Group Inc. +** Copyright 2015-2024 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ @@ -19,8 +19,9 @@ extern "C" { +// vulkan_video_codec_h264std is a preprocessor guard. Do not pass it to API calls. #define vulkan_video_codec_h264std 1 -#include +#include "vulkan_video_codecs_common.h" #define STD_VIDEO_H264_CPB_CNT_LIST_SIZE 32 #define STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS 6 #define STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS 16 @@ -28,6 +29,7 @@ extern "C" { #define STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS 64 #define STD_VIDEO_H264_MAX_NUM_LIST_REF 32 #define STD_VIDEO_H264_MAX_CHROMA_PLANES 2 +#define STD_VIDEO_H264_NO_REFERENCE_PICTURE 0xFF typedef enum StdVideoH264ChromaFormatIdc { STD_VIDEO_H264_CHROMA_FORMAT_IDC_MONOCHROME = 0, diff --git a/glad/files/vulkan_video_codec_h264std_decode.h b/glad/files/vulkan_video_codec_h264std_decode.h index f7eb8edb..439cb885 100644 --- a/glad/files/vulkan_video_codec_h264std_decode.h +++ b/glad/files/vulkan_video_codec_h264std_decode.h @@ -2,7 +2,7 @@ #define VULKAN_VIDEO_CODEC_H264STD_DECODE_H_ 1 /* -** Copyright 2015-2023 The Khronos Group Inc. +** Copyright 2015-2024 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ @@ -19,13 +19,15 @@ extern "C" { +// vulkan_video_codec_h264std_decode is a preprocessor guard. Do not pass it to API calls. #define vulkan_video_codec_h264std_decode 1 +#include "vulkan_video_codec_h264std.h" #define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_1_0_0 VK_MAKE_VIDEO_STD_VERSION(1, 0, 0) -#define STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE 2 #define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_1_0_0 #define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264_decode" +#define STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE 2 typedef enum StdVideoDecodeH264FieldOrderCount { STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_TOP = 0, diff --git a/glad/files/vulkan_video_codec_h264std_encode.h b/glad/files/vulkan_video_codec_h264std_encode.h index f7eb8edb..9e24aa5d 100644 --- a/glad/files/vulkan_video_codec_h264std_encode.h +++ b/glad/files/vulkan_video_codec_h264std_encode.h @@ -1,8 +1,8 @@ -#ifndef VULKAN_VIDEO_CODEC_H264STD_DECODE_H_ -#define VULKAN_VIDEO_CODEC_H264STD_DECODE_H_ 1 +#ifndef VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_ +#define VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_ 1 /* -** Copyright 2015-2023 The Khronos Group Inc. +** Copyright 2015-2024 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ @@ -19,53 +19,125 @@ extern "C" { -#define vulkan_video_codec_h264std_decode 1 - -#define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_1_0_0 VK_MAKE_VIDEO_STD_VERSION(1, 0, 0) - -#define STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE 2 -#define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_1_0_0 -#define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264_decode" - -typedef enum StdVideoDecodeH264FieldOrderCount { - STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_TOP = 0, - STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_BOTTOM = 1, - STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_INVALID = 0x7FFFFFFF, - STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_MAX_ENUM = 0x7FFFFFFF -} StdVideoDecodeH264FieldOrderCount; -typedef struct StdVideoDecodeH264PictureInfoFlags { - uint32_t field_pic_flag : 1; - uint32_t is_intra : 1; +// vulkan_video_codec_h264std_encode is a preprocessor guard. Do not pass it to API calls. +#define vulkan_video_codec_h264std_encode 1 +#include "vulkan_video_codec_h264std.h" + +#define VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_API_VERSION_1_0_0 VK_MAKE_VIDEO_STD_VERSION(1, 0, 0) + +#define VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_API_VERSION_1_0_0 +#define VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264_encode" +typedef struct StdVideoEncodeH264WeightTableFlags { + uint32_t luma_weight_l0_flag; + uint32_t chroma_weight_l0_flag; + uint32_t luma_weight_l1_flag; + uint32_t chroma_weight_l1_flag; +} StdVideoEncodeH264WeightTableFlags; + +typedef struct StdVideoEncodeH264WeightTable { + StdVideoEncodeH264WeightTableFlags flags; + uint8_t luma_log2_weight_denom; + uint8_t chroma_log2_weight_denom; + int8_t luma_weight_l0[STD_VIDEO_H264_MAX_NUM_LIST_REF]; + int8_t luma_offset_l0[STD_VIDEO_H264_MAX_NUM_LIST_REF]; + int8_t chroma_weight_l0[STD_VIDEO_H264_MAX_NUM_LIST_REF][STD_VIDEO_H264_MAX_CHROMA_PLANES]; + int8_t chroma_offset_l0[STD_VIDEO_H264_MAX_NUM_LIST_REF][STD_VIDEO_H264_MAX_CHROMA_PLANES]; + int8_t luma_weight_l1[STD_VIDEO_H264_MAX_NUM_LIST_REF]; + int8_t luma_offset_l1[STD_VIDEO_H264_MAX_NUM_LIST_REF]; + int8_t chroma_weight_l1[STD_VIDEO_H264_MAX_NUM_LIST_REF][STD_VIDEO_H264_MAX_CHROMA_PLANES]; + int8_t chroma_offset_l1[STD_VIDEO_H264_MAX_NUM_LIST_REF][STD_VIDEO_H264_MAX_CHROMA_PLANES]; +} StdVideoEncodeH264WeightTable; + +typedef struct StdVideoEncodeH264SliceHeaderFlags { + uint32_t direct_spatial_mv_pred_flag : 1; + uint32_t num_ref_idx_active_override_flag : 1; + uint32_t reserved : 30; +} StdVideoEncodeH264SliceHeaderFlags; + +typedef struct StdVideoEncodeH264PictureInfoFlags { uint32_t IdrPicFlag : 1; - uint32_t bottom_field_flag : 1; uint32_t is_reference : 1; - uint32_t complementary_field_pair : 1; -} StdVideoDecodeH264PictureInfoFlags; - -typedef struct StdVideoDecodeH264PictureInfo { - StdVideoDecodeH264PictureInfoFlags flags; - uint8_t seq_parameter_set_id; - uint8_t pic_parameter_set_id; - uint8_t reserved1; - uint8_t reserved2; - uint16_t frame_num; - uint16_t idr_pic_id; - int32_t PicOrderCnt[STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE]; -} StdVideoDecodeH264PictureInfo; - -typedef struct StdVideoDecodeH264ReferenceInfoFlags { - uint32_t top_field_flag : 1; - uint32_t bottom_field_flag : 1; + uint32_t no_output_of_prior_pics_flag : 1; + uint32_t long_term_reference_flag : 1; + uint32_t adaptive_ref_pic_marking_mode_flag : 1; + uint32_t reserved : 27; +} StdVideoEncodeH264PictureInfoFlags; + +typedef struct StdVideoEncodeH264ReferenceInfoFlags { uint32_t used_for_long_term_reference : 1; - uint32_t is_non_existing : 1; -} StdVideoDecodeH264ReferenceInfoFlags; - -typedef struct StdVideoDecodeH264ReferenceInfo { - StdVideoDecodeH264ReferenceInfoFlags flags; - uint16_t FrameNum; - uint16_t reserved; - int32_t PicOrderCnt[STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE]; -} StdVideoDecodeH264ReferenceInfo; + uint32_t reserved : 31; +} StdVideoEncodeH264ReferenceInfoFlags; + +typedef struct StdVideoEncodeH264ReferenceListsInfoFlags { + uint32_t ref_pic_list_modification_flag_l0 : 1; + uint32_t ref_pic_list_modification_flag_l1 : 1; + uint32_t reserved : 30; +} StdVideoEncodeH264ReferenceListsInfoFlags; + +typedef struct StdVideoEncodeH264RefListModEntry { + StdVideoH264ModificationOfPicNumsIdc modification_of_pic_nums_idc; + uint16_t abs_diff_pic_num_minus1; + uint16_t long_term_pic_num; +} StdVideoEncodeH264RefListModEntry; + +typedef struct StdVideoEncodeH264RefPicMarkingEntry { + StdVideoH264MemMgmtControlOp memory_management_control_operation; + uint16_t difference_of_pic_nums_minus1; + uint16_t long_term_pic_num; + uint16_t long_term_frame_idx; + uint16_t max_long_term_frame_idx_plus1; +} StdVideoEncodeH264RefPicMarkingEntry; + +typedef struct StdVideoEncodeH264ReferenceListsInfo { + StdVideoEncodeH264ReferenceListsInfoFlags flags; + uint8_t num_ref_idx_l0_active_minus1; + uint8_t num_ref_idx_l1_active_minus1; + uint8_t RefPicList0[STD_VIDEO_H264_MAX_NUM_LIST_REF]; + uint8_t RefPicList1[STD_VIDEO_H264_MAX_NUM_LIST_REF]; + uint8_t refList0ModOpCount; + uint8_t refList1ModOpCount; + uint8_t refPicMarkingOpCount; + uint8_t reserved1[7]; + const StdVideoEncodeH264RefListModEntry* pRefList0ModOperations; + const StdVideoEncodeH264RefListModEntry* pRefList1ModOperations; + const StdVideoEncodeH264RefPicMarkingEntry* pRefPicMarkingOperations; +} StdVideoEncodeH264ReferenceListsInfo; + +typedef struct StdVideoEncodeH264PictureInfo { + StdVideoEncodeH264PictureInfoFlags flags; + uint8_t seq_parameter_set_id; + uint8_t pic_parameter_set_id; + uint16_t idr_pic_id; + StdVideoH264PictureType primary_pic_type; + uint32_t frame_num; + int32_t PicOrderCnt; + uint8_t temporal_id; + uint8_t reserved1[3]; + const StdVideoEncodeH264ReferenceListsInfo* pRefLists; +} StdVideoEncodeH264PictureInfo; + +typedef struct StdVideoEncodeH264ReferenceInfo { + StdVideoEncodeH264ReferenceInfoFlags flags; + StdVideoH264PictureType primary_pic_type; + uint32_t FrameNum; + int32_t PicOrderCnt; + uint16_t long_term_pic_num; + uint16_t long_term_frame_idx; + uint8_t temporal_id; +} StdVideoEncodeH264ReferenceInfo; + +typedef struct StdVideoEncodeH264SliceHeader { + StdVideoEncodeH264SliceHeaderFlags flags; + uint32_t first_mb_in_slice; + StdVideoH264SliceType slice_type; + int8_t slice_alpha_c0_offset_div2; + int8_t slice_beta_offset_div2; + int8_t slice_qp_delta; + uint8_t reserved1; + StdVideoH264CabacInitIdc cabac_init_idc; + StdVideoH264DisableDeblockingFilterIdc disable_deblocking_filter_idc; + const StdVideoEncodeH264WeightTable* pWeightTable; +} StdVideoEncodeH264SliceHeader; #ifdef __cplusplus diff --git a/glad/files/vulkan_video_codec_h265std.h b/glad/files/vulkan_video_codec_h265std.h index 4233bdc8..d0a1bacb 100644 --- a/glad/files/vulkan_video_codec_h265std.h +++ b/glad/files/vulkan_video_codec_h265std.h @@ -2,7 +2,7 @@ #define VULKAN_VIDEO_CODEC_H265STD_H_ 1 /* -** Copyright 2015-2023 The Khronos Group Inc. +** Copyright 2015-2024 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ @@ -19,9 +19,11 @@ extern "C" { +// vulkan_video_codec_h265std is a preprocessor guard. Do not pass it to API calls. #define vulkan_video_codec_h265std 1 -#define STD_VIDEO_H265_SUBLAYERS_LIST_SIZE 7 +#include "vulkan_video_codecs_common.h" #define STD_VIDEO_H265_CPB_CNT_LIST_SIZE 32 +#define STD_VIDEO_H265_SUBLAYERS_LIST_SIZE 7 #define STD_VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS 6 #define STD_VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS 16 #define STD_VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS 6 @@ -30,18 +32,19 @@ extern "C" { #define STD_VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS 64 #define STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS 2 #define STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS 64 -#define STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE 3 -#define STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE 128 -#define STD_VIDEO_H265_MAX_DPB_SIZE 16 -#define STD_VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS 32 #define STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE 6 #define STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE 19 #define STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE 21 +#define STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE 3 +#define STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE 128 #define STD_VIDEO_H265_MAX_NUM_LIST_REF 15 #define STD_VIDEO_H265_MAX_CHROMA_PLANES 2 #define STD_VIDEO_H265_MAX_SHORT_TERM_REF_PIC_SETS 64 +#define STD_VIDEO_H265_MAX_DPB_SIZE 16 +#define STD_VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS 32 #define STD_VIDEO_H265_MAX_LONG_TERM_PICS 16 #define STD_VIDEO_H265_MAX_DELTA_POC 48 +#define STD_VIDEO_H265_NO_REFERENCE_PICTURE 0xFF typedef enum StdVideoH265ChromaFormatIdc { STD_VIDEO_H265_CHROMA_FORMAT_IDC_MONOCHROME = 0, diff --git a/glad/files/vulkan_video_codec_h265std_decode.h b/glad/files/vulkan_video_codec_h265std_decode.h index 7eee9b38..0178793e 100644 --- a/glad/files/vulkan_video_codec_h265std_decode.h +++ b/glad/files/vulkan_video_codec_h265std_decode.h @@ -2,7 +2,7 @@ #define VULKAN_VIDEO_CODEC_H265STD_DECODE_H_ 1 /* -** Copyright 2015-2023 The Khronos Group Inc. +** Copyright 2015-2024 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ @@ -19,13 +19,15 @@ extern "C" { +// vulkan_video_codec_h265std_decode is a preprocessor guard. Do not pass it to API calls. #define vulkan_video_codec_h265std_decode 1 +#include "vulkan_video_codec_h265std.h" #define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_1_0_0 VK_MAKE_VIDEO_STD_VERSION(1, 0, 0) -#define STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE 8 #define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_1_0_0 #define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h265_decode" +#define STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE 8 typedef struct StdVideoDecodeH265PictureInfoFlags { uint32_t IrapPicFlag : 1; uint32_t IdrPicFlag : 1; diff --git a/glad/files/vulkan_video_codec_h265std_encode.h b/glad/files/vulkan_video_codec_h265std_encode.h index 7eee9b38..ee34491f 100644 --- a/glad/files/vulkan_video_codec_h265std_encode.h +++ b/glad/files/vulkan_video_codec_h265std_encode.h @@ -1,8 +1,8 @@ -#ifndef VULKAN_VIDEO_CODEC_H265STD_DECODE_H_ -#define VULKAN_VIDEO_CODEC_H265STD_DECODE_H_ 1 +#ifndef VULKAN_VIDEO_CODEC_H265STD_ENCODE_H_ +#define VULKAN_VIDEO_CODEC_H265STD_ENCODE_H_ 1 /* -** Copyright 2015-2023 The Khronos Group Inc. +** Copyright 2015-2024 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ @@ -19,43 +19,135 @@ extern "C" { -#define vulkan_video_codec_h265std_decode 1 +// vulkan_video_codec_h265std_encode is a preprocessor guard. Do not pass it to API calls. +#define vulkan_video_codec_h265std_encode 1 +#include "vulkan_video_codec_h265std.h" -#define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_1_0_0 VK_MAKE_VIDEO_STD_VERSION(1, 0, 0) +#define VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_API_VERSION_1_0_0 VK_MAKE_VIDEO_STD_VERSION(1, 0, 0) -#define STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE 8 -#define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_1_0_0 -#define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h265_decode" -typedef struct StdVideoDecodeH265PictureInfoFlags { +#define VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_API_VERSION_1_0_0 +#define VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h265_encode" +typedef struct StdVideoEncodeH265WeightTableFlags { + uint16_t luma_weight_l0_flag; + uint16_t chroma_weight_l0_flag; + uint16_t luma_weight_l1_flag; + uint16_t chroma_weight_l1_flag; +} StdVideoEncodeH265WeightTableFlags; + +typedef struct StdVideoEncodeH265WeightTable { + StdVideoEncodeH265WeightTableFlags flags; + uint8_t luma_log2_weight_denom; + int8_t delta_chroma_log2_weight_denom; + int8_t delta_luma_weight_l0[STD_VIDEO_H265_MAX_NUM_LIST_REF]; + int8_t luma_offset_l0[STD_VIDEO_H265_MAX_NUM_LIST_REF]; + int8_t delta_chroma_weight_l0[STD_VIDEO_H265_MAX_NUM_LIST_REF][STD_VIDEO_H265_MAX_CHROMA_PLANES]; + int8_t delta_chroma_offset_l0[STD_VIDEO_H265_MAX_NUM_LIST_REF][STD_VIDEO_H265_MAX_CHROMA_PLANES]; + int8_t delta_luma_weight_l1[STD_VIDEO_H265_MAX_NUM_LIST_REF]; + int8_t luma_offset_l1[STD_VIDEO_H265_MAX_NUM_LIST_REF]; + int8_t delta_chroma_weight_l1[STD_VIDEO_H265_MAX_NUM_LIST_REF][STD_VIDEO_H265_MAX_CHROMA_PLANES]; + int8_t delta_chroma_offset_l1[STD_VIDEO_H265_MAX_NUM_LIST_REF][STD_VIDEO_H265_MAX_CHROMA_PLANES]; +} StdVideoEncodeH265WeightTable; + +typedef struct StdVideoEncodeH265SliceSegmentHeaderFlags { + uint32_t first_slice_segment_in_pic_flag : 1; + uint32_t dependent_slice_segment_flag : 1; + uint32_t slice_sao_luma_flag : 1; + uint32_t slice_sao_chroma_flag : 1; + uint32_t num_ref_idx_active_override_flag : 1; + uint32_t mvd_l1_zero_flag : 1; + uint32_t cabac_init_flag : 1; + uint32_t cu_chroma_qp_offset_enabled_flag : 1; + uint32_t deblocking_filter_override_flag : 1; + uint32_t slice_deblocking_filter_disabled_flag : 1; + uint32_t collocated_from_l0_flag : 1; + uint32_t slice_loop_filter_across_slices_enabled_flag : 1; + uint32_t reserved : 20; +} StdVideoEncodeH265SliceSegmentHeaderFlags; + +typedef struct StdVideoEncodeH265SliceSegmentHeader { + StdVideoEncodeH265SliceSegmentHeaderFlags flags; + StdVideoH265SliceType slice_type; + uint32_t slice_segment_address; + uint8_t collocated_ref_idx; + uint8_t MaxNumMergeCand; + int8_t slice_cb_qp_offset; + int8_t slice_cr_qp_offset; + int8_t slice_beta_offset_div2; + int8_t slice_tc_offset_div2; + int8_t slice_act_y_qp_offset; + int8_t slice_act_cb_qp_offset; + int8_t slice_act_cr_qp_offset; + int8_t slice_qp_delta; + uint16_t reserved1; + const StdVideoEncodeH265WeightTable* pWeightTable; +} StdVideoEncodeH265SliceSegmentHeader; + +typedef struct StdVideoEncodeH265ReferenceListsInfoFlags { + uint32_t ref_pic_list_modification_flag_l0 : 1; + uint32_t ref_pic_list_modification_flag_l1 : 1; + uint32_t reserved : 30; +} StdVideoEncodeH265ReferenceListsInfoFlags; + +typedef struct StdVideoEncodeH265ReferenceListsInfo { + StdVideoEncodeH265ReferenceListsInfoFlags flags; + uint8_t num_ref_idx_l0_active_minus1; + uint8_t num_ref_idx_l1_active_minus1; + uint8_t RefPicList0[STD_VIDEO_H265_MAX_NUM_LIST_REF]; + uint8_t RefPicList1[STD_VIDEO_H265_MAX_NUM_LIST_REF]; + uint8_t list_entry_l0[STD_VIDEO_H265_MAX_NUM_LIST_REF]; + uint8_t list_entry_l1[STD_VIDEO_H265_MAX_NUM_LIST_REF]; +} StdVideoEncodeH265ReferenceListsInfo; + +typedef struct StdVideoEncodeH265PictureInfoFlags { + uint32_t is_reference : 1; uint32_t IrapPicFlag : 1; - uint32_t IdrPicFlag : 1; - uint32_t IsReference : 1; + uint32_t used_for_long_term_reference : 1; + uint32_t discardable_flag : 1; + uint32_t cross_layer_bla_flag : 1; + uint32_t pic_output_flag : 1; + uint32_t no_output_of_prior_pics_flag : 1; uint32_t short_term_ref_pic_set_sps_flag : 1; -} StdVideoDecodeH265PictureInfoFlags; - -typedef struct StdVideoDecodeH265PictureInfo { - StdVideoDecodeH265PictureInfoFlags flags; - uint8_t sps_video_parameter_set_id; - uint8_t pps_seq_parameter_set_id; - uint8_t pps_pic_parameter_set_id; - uint8_t NumDeltaPocsOfRefRpsIdx; - int32_t PicOrderCntVal; - uint16_t NumBitsForSTRefPicSetInSlice; - uint16_t reserved; - uint8_t RefPicSetStCurrBefore[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]; - uint8_t RefPicSetStCurrAfter[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]; - uint8_t RefPicSetLtCurr[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]; -} StdVideoDecodeH265PictureInfo; - -typedef struct StdVideoDecodeH265ReferenceInfoFlags { + uint32_t slice_temporal_mvp_enabled_flag : 1; + uint32_t reserved : 23; +} StdVideoEncodeH265PictureInfoFlags; + +typedef struct StdVideoEncodeH265LongTermRefPics { + uint8_t num_long_term_sps; + uint8_t num_long_term_pics; + uint8_t lt_idx_sps[STD_VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS]; + uint8_t poc_lsb_lt[STD_VIDEO_H265_MAX_LONG_TERM_PICS]; + uint16_t used_by_curr_pic_lt_flag; + uint8_t delta_poc_msb_present_flag[STD_VIDEO_H265_MAX_DELTA_POC]; + uint8_t delta_poc_msb_cycle_lt[STD_VIDEO_H265_MAX_DELTA_POC]; +} StdVideoEncodeH265LongTermRefPics; + +typedef struct StdVideoEncodeH265PictureInfo { + StdVideoEncodeH265PictureInfoFlags flags; + StdVideoH265PictureType pic_type; + uint8_t sps_video_parameter_set_id; + uint8_t pps_seq_parameter_set_id; + uint8_t pps_pic_parameter_set_id; + uint8_t short_term_ref_pic_set_idx; + int32_t PicOrderCntVal; + uint8_t TemporalId; + uint8_t reserved1[7]; + const StdVideoEncodeH265ReferenceListsInfo* pRefLists; + const StdVideoH265ShortTermRefPicSet* pShortTermRefPicSet; + const StdVideoEncodeH265LongTermRefPics* pLongTermRefPics; +} StdVideoEncodeH265PictureInfo; + +typedef struct StdVideoEncodeH265ReferenceInfoFlags { uint32_t used_for_long_term_reference : 1; uint32_t unused_for_reference : 1; -} StdVideoDecodeH265ReferenceInfoFlags; + uint32_t reserved : 30; +} StdVideoEncodeH265ReferenceInfoFlags; -typedef struct StdVideoDecodeH265ReferenceInfo { - StdVideoDecodeH265ReferenceInfoFlags flags; +typedef struct StdVideoEncodeH265ReferenceInfo { + StdVideoEncodeH265ReferenceInfoFlags flags; + StdVideoH265PictureType pic_type; int32_t PicOrderCntVal; -} StdVideoDecodeH265ReferenceInfo; + uint8_t TemporalId; +} StdVideoEncodeH265ReferenceInfo; #ifdef __cplusplus diff --git a/glad/files/vulkan_video_codecs_common.h b/glad/files/vulkan_video_codecs_common.h new file mode 100644 index 00000000..5e6ef1db --- /dev/null +++ b/glad/files/vulkan_video_codecs_common.h @@ -0,0 +1,36 @@ +#ifndef VULKAN_VIDEO_CODECS_COMMON_H_ +#define VULKAN_VIDEO_CODECS_COMMON_H_ 1 + +/* +** Copyright 2015-2024 The Khronos Group Inc. +** +** SPDX-License-Identifier: Apache-2.0 +*/ + +/* +** This header is generated from the Khronos Vulkan XML API Registry. +** +*/ + + +#ifdef __cplusplus +extern "C" { +#endif + + + +// vulkan_video_codecs_common is a preprocessor guard. Do not pass it to API calls. +#define vulkan_video_codecs_common 1 +#if !defined(VK_NO_STDINT_H) + #include +#endif + +#define VK_MAKE_VIDEO_STD_VERSION(major, minor, patch) \ + ((((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch))) + + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/utility/download.sh b/utility/download.sh index a9e08b12..a80c3a82 100755 --- a/utility/download.sh +++ b/utility/download.sh @@ -30,16 +30,25 @@ wget -O "${TARGET}/eglplatform.h" https://raw.githubusercontent.com/KhronosGroup rm -f "${TARGET}/vk_platform.h" wget -O "${TARGET}/vk_platform.h" https://raw.githubusercontent.com/KhronosGroup/Vulkan-Docs/main/include/vulkan/vk_platform.h +rm -f "${TARGET}/vulkan_video_codecs_common.h" +wget -O "${TARGET}/vulkan_video_codecs_common.h" https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codecs_common.h + rm -f "${TARGET}/vulkan_video_codec_h264std.h" wget -O "${TARGET}/vulkan_video_codec_h264std.h" https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codec_h264std.h rm -f "${TARGET}/vulkan_video_codec_h264std_decode.h" wget -O "${TARGET}/vulkan_video_codec_h264std_decode.h" https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codec_h264std_decode.h rm -f "${TARGET}/vulkan_video_codec_h264std_encode.h" -wget -O "${TARGET}/vulkan_video_codec_h264std_encode.h" https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codec_h264std_decode.h +wget -O "${TARGET}/vulkan_video_codec_h264std_encode.h" https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codec_h264std_encode.h rm -f "${TARGET}/vulkan_video_codec_h265std.h" wget -O "${TARGET}/vulkan_video_codec_h265std.h" https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codec_h265std.h rm -f "${TARGET}/vulkan_video_codec_h265std_decode.h" wget -O "${TARGET}/vulkan_video_codec_h265std_decode.h" https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codec_h265std_decode.h rm -f "${TARGET}/vulkan_video_codec_h265std_encode.h" -wget -O "${TARGET}/vulkan_video_codec_h265std_encode.h" https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codec_h265std_decode.h +wget -O "${TARGET}/vulkan_video_codec_h265std_encode.h" https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codec_h265std_encode.h + + +rm -f "${TARGET}/vulkan_video_codec_av1std.h" +wget -O "${TARGET}/vulkan_video_codec_av1std.h" https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codec_av1std.h +rm -f "${TARGET}/vulkan_video_codec_av1std_decode.h" +wget -O "${TARGET}/vulkan_video_codec_av1std_decode.h" https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codec_av1std_decode.h From f443700dbbe9e0462fccbde825efd4bd7465c7d0 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Sun, 4 Feb 2024 16:45:33 +0100 Subject: [PATCH 110/138] setup: Bumped version: 2.0.5. --- glad/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glad/__init__.py b/glad/__init__.py index 9597bab8..c4dcedf7 100644 --- a/glad/__init__.py +++ b/glad/__init__.py @@ -1,3 +1,3 @@ -__version__ = '2.0.4' +__version__ = '2.0.5' From 821bf3ad577bacf3aca38447412df6f5324f73d3 Mon Sep 17 00:00:00 2001 From: Deal Date: Thu, 15 Feb 2024 02:04:21 +0800 Subject: [PATCH 111/138] c: fixes compile warning when GLAD_GLES2_USE_SYSTEM_EGL is set (#456) --- glad/generator/c/templates/loader/gles2.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/glad/generator/c/templates/loader/gles2.c b/glad/generator/c/templates/loader/gles2.c index 3cbf73a4..aa0293a6 100644 --- a/glad/generator/c/templates/loader/gles2.c +++ b/glad/generator/c/templates/loader/gles2.c @@ -94,10 +94,11 @@ int gladLoaderLoadGLES2{{ 'Context' if options.mx }}({{ template_utils.context_a userptr.get_proc_address_ptr = emscripten_GetProcAddress; version = gladLoadGLES2{{ 'Context' if options.mx }}UserPtr({{ 'context, ' if options.mx }}glad_gles2_get_proc, &userptr); #else +#if !GLAD_GLES2_USE_SYSTEM_EGL if (eglGetProcAddress == NULL) { return 0; } - +#endif did_load = {{ loader_handle }} == NULL; handle = glad_gles2_dlopen_handle({{ 'context' if options.mx }}); if (handle != NULL) { From adc3d7a1d704e099581ca25bc5bbdf728c2db67b Mon Sep 17 00:00:00 2001 From: sean <43609023+spnda@users.noreply.github.com> Date: Fri, 23 Feb 2024 15:55:44 +0100 Subject: [PATCH 112/138] cmake: Use include instead of find_package for CMake config (#457) Co-authored-by: Oleg Ageev --- cmake/CMakeLists.txt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 3b80747c..690282b5 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -18,5 +18,4 @@ set( ) mark_as_advanced(GLAD_CMAKE_DIR) -list(APPEND CMAKE_PREFIX_PATH ${GLAD_SOURCES_DIR}) -find_package(Glad REQUIRED) +include(${GLAD_CMAKE_DIR}/GladConfig.cmake) From 463b2b2f070907ec94361dada69d92ea2b91540d Mon Sep 17 00:00:00 2001 From: Niklas Haas Date: Sat, 16 Mar 2024 18:29:42 +0100 Subject: [PATCH 113/138] c: don't warn on undefined GLAD_GLES2_USE_SYSTEM_EGL (#461) Check for a defined variable instead of a 1/0 flag, for symmetry with GLAD_GL, GLAD_GLES2 and other user-facing defines. --- glad/generator/c/templates/loader/gles2.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/glad/generator/c/templates/loader/gles2.c b/glad/generator/c/templates/loader/gles2.c index aa0293a6..f4248672 100644 --- a/glad/generator/c/templates/loader/gles2.c +++ b/glad/generator/c/templates/loader/gles2.c @@ -10,7 +10,7 @@ typedef __eglMustCastToProperFunctionPointerType (GLAD_API_PTR *PFNEGLGETPROCADDRESSPROC)(const char *name); #endif extern __eglMustCastToProperFunctionPointerType emscripten_GetProcAddress(const char *name); -#elif GLAD_GLES2_USE_SYSTEM_EGL +#elif defined(GLAD_GLES2_USE_SYSTEM_EGL) #include typedef __eglMustCastToProperFunctionPointerType (GLAD_API_PTR *PFNEGLGETPROCADDRESSPROC)(const char *name); #else @@ -94,7 +94,7 @@ int gladLoaderLoadGLES2{{ 'Context' if options.mx }}({{ template_utils.context_a userptr.get_proc_address_ptr = emscripten_GetProcAddress; version = gladLoadGLES2{{ 'Context' if options.mx }}UserPtr({{ 'context, ' if options.mx }}glad_gles2_get_proc, &userptr); #else -#if !GLAD_GLES2_USE_SYSTEM_EGL +#ifndef GLAD_GLES2_USE_SYSTEM_EGL if (eglGetProcAddress == NULL) { return 0; } From 51b787e7805afe820a96838c8d4b5087f8b901c8 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Mon, 18 Mar 2024 18:38:54 +0100 Subject: [PATCH 114/138] c: fixes include header replacement closes: #459 --- glad/generator/c/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/glad/generator/c/__init__.py b/glad/generator/c/__init__.py index ef68b1e1..70f27f8d 100644 --- a/glad/generator/c/__init__.py +++ b/glad/generator/c/__init__.py @@ -502,8 +502,8 @@ def _replace_included_headers(self, feature_set, config): for pheader in self.ADDITIONAL_HEADERS: name = pheader.name.rsplit('/', 1)[-1] content = re.sub( - '^(#include\\s*["<]({}|{})[>"])'.format(name, pheader.name), r'/* \1 */', - content, + '^(#include\\s*["<]({}|{})(\\.h)?[>"])'.format(name, pheader.include), r'/* \1 */', + content, flags=re.MULTILINE ) From f8e93fb176ee307ca21a9831423753743a0673b6 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Mon, 18 Mar 2024 18:45:55 +0100 Subject: [PATCH 115/138] files: updates to latest specifications --- glad/files/gl.xml | 8 +- glad/files/vk.xml | 395 ++++++++++++++++++++++++++++++++-------------- 2 files changed, 280 insertions(+), 123 deletions(-) diff --git a/glad/files/gl.xml b/glad/files/gl.xml index 3fab601d..fc6f7eae 100644 --- a/glad/files/gl.xml +++ b/glad/files/gl.xml @@ -7013,6 +7013,10 @@ typedef unsigned int GLhandleARB; + + + + - - + + diff --git a/glad/files/vk.xml b/glad/files/vk.xml index fb92b7c2..7b2fd073 100644 --- a/glad/files/vk.xml +++ b/glad/files/vk.xml @@ -175,7 +175,7 @@ branch of the member gitlab server. #define VKSC_API_VERSION_1_0 VK_MAKE_API_VERSION(VKSC_API_VARIANT, 1, 0, 0)// Patch version should always be set to 0 // Version of this file -#define VK_HEADER_VERSION 277 +#define VK_HEADER_VERSION 280 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) // Version of this file @@ -338,8 +338,8 @@ typedef void* MTLSharedEvent_id; typedef VkFlags VkCommandBufferResetFlags; typedef VkFlags VkCommandBufferUsageFlags; typedef VkFlags VkQueryPipelineStatisticFlags; - typedef VkFlags VkMemoryMapFlags; - typedef VkFlags VkMemoryUnmapFlagsKHR; + typedef VkFlags VkMemoryMapFlags; + typedef VkFlags VkMemoryUnmapFlagsKHR; typedef VkFlags VkImageAspectFlags; typedef VkFlags VkSparseMemoryBindFlags; typedef VkFlags VkSparseImageFormatFlags; @@ -502,7 +502,7 @@ typedef void* MTLSharedEvent_id; typedef VkFlags VkVideoDecodeH264PictureLayoutFlagsKHR; Video Encode Core extension - typedef VkFlags VkVideoEncodeFlagsKHR; + typedef VkFlags VkVideoEncodeFlagsKHR; typedef VkFlags VkVideoEncodeUsageFlagsKHR; typedef VkFlags VkVideoEncodeContentFlagsKHR; typedef VkFlags VkVideoEncodeCapabilityFlagsKHR; @@ -619,6 +619,7 @@ typedef void* MTLSharedEvent_id; + @@ -872,6 +873,7 @@ typedef void* MTLSharedEvent_id; + Enumerated types in the header, but not used by the API @@ -900,6 +902,7 @@ typedef void* MTLSharedEvent_id; Video H.265 Decode extensions Video Encode extensions + @@ -1042,20 +1045,20 @@ typedef void* MTLSharedEvent_id; uint32_t vendorID uint32_t deviceID VkPhysicalDeviceType deviceType - char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE] + char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE] uint8_t pipelineCacheUUID[VK_UUID_SIZE] VkPhysicalDeviceLimits limits VkPhysicalDeviceSparseProperties sparseProperties - char extensionName[VK_MAX_EXTENSION_NAME_SIZE]extension name - uint32_t specVersionversion of the extension specification implemented + char extensionName[VK_MAX_EXTENSION_NAME_SIZE]extension name + uint32_t specVersionversion of the extension specification implemented - char layerName[VK_MAX_EXTENSION_NAME_SIZE]layer name - uint32_t specVersionversion of the layer specification implemented - uint32_t implementationVersionbuild or release version of the layer's library - char description[VK_MAX_DESCRIPTION_SIZE]Free-form description of the layer + char layerName[VK_MAX_EXTENSION_NAME_SIZE]layer name + uint32_t specVersionversion of the layer specification implemented + uint32_t implementationVersionbuild or release version of the layer's library + char description[VK_MAX_DESCRIPTION_SIZE]Free-form description of the layer VkStructureType sType @@ -1111,10 +1114,10 @@ typedef void* MTLSharedEvent_id; VkExtent3D minImageTransferGranularityMinimum alignment requirement for image transfers - uint32_t memoryTypeCount - VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES] - uint32_t memoryHeapCount - VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS] + uint32_t memoryTypeCount + VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES] + uint32_t memoryHeapCount + VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS] VkStructureType sType @@ -1464,7 +1467,7 @@ typedef void* MTLSharedEvent_id; VkPipeline basePipelineHandleIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is nonzero, it specifies the handle of the base pipeline this is a derivative of int32_t basePipelineIndexIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is not -1, it specifies an index into pCreateInfos of the base pipeline this is a derivative of - + VkStructureType sType const void* pNext VkDeviceAddress deviceAddress @@ -2485,7 +2488,7 @@ typedef void* MTLSharedEvent_id; VkStructureType sType const void* pNext VkPipelineBindPoint pipelineBindPoint - VkPipeline pipeline + VkPipeline pipeline VkIndirectCommandsLayoutNV indirectCommandsLayout uint32_t streamCount const VkIndirectCommandsStreamNV* pStreams @@ -2593,8 +2596,8 @@ typedef void* MTLSharedEvent_id; VkStructureType sType void* pNext VkDriverId driverID - char driverName[VK_MAX_DRIVER_NAME_SIZE] - char driverInfo[VK_MAX_DRIVER_INFO_SIZE] + char driverName[VK_MAX_DRIVER_NAME_SIZE] + char driverInfo[VK_MAX_DRIVER_INFO_SIZE] VkConformanceVersion conformanceVersion @@ -3025,7 +3028,7 @@ typedef void* MTLSharedEvent_id; VkStructureType sType void* pNext uint32_t physicalDeviceCount - VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE] + VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE] VkBool32 subsetAllocation @@ -3308,7 +3311,7 @@ typedef void* MTLSharedEvent_id; VkStructureType sType const void* pNext - VkSurfaceKHR surface + VkSurfaceKHR surface VkStructureType sType @@ -3839,11 +3842,11 @@ typedef void* MTLSharedEvent_id; VkBool32 globalPriorityQuery - + VkStructureType sType - void* pNext - uint32_t priorityCount - VkQueueGlobalPriorityKHR priorities[VK_MAX_GLOBAL_PRIORITY_SIZE_KHR] + void* pNext + uint32_t priorityCount + VkQueueGlobalPriorityKHR priorities[VK_MAX_GLOBAL_PRIORITY_SIZE_KHR] @@ -5118,9 +5121,9 @@ typedef void* MTLSharedEvent_id; VkStructureType sType void* pNext VkPerformanceCounterDescriptionFlagsKHR flags - char name[VK_MAX_DESCRIPTION_SIZE] - char category[VK_MAX_DESCRIPTION_SIZE] - char description[VK_MAX_DESCRIPTION_SIZE] + char name[VK_MAX_DESCRIPTION_SIZE] + char category[VK_MAX_DESCRIPTION_SIZE] + char description[VK_MAX_DESCRIPTION_SIZE] VkStructureType sType @@ -5189,7 +5192,7 @@ typedef void* MTLSharedEvent_id; VkBool32 valueBool const char* valueString - + VkPerformanceValueTypeINTEL type VkPerformanceValueDataINTEL data @@ -5295,10 +5298,10 @@ typedef void* MTLSharedEvent_id; VkStructureType sType void* pNext - VkShaderStageFlags stages - char name[VK_MAX_DESCRIPTION_SIZE] - char description[VK_MAX_DESCRIPTION_SIZE] - uint32_t subgroupSize + VkShaderStageFlags stages + char name[VK_MAX_DESCRIPTION_SIZE] + char description[VK_MAX_DESCRIPTION_SIZE] + uint32_t subgroupSize VkStructureType sType @@ -5314,19 +5317,19 @@ typedef void* MTLSharedEvent_id; VkStructureType sType - void* pNext - char name[VK_MAX_DESCRIPTION_SIZE] - char description[VK_MAX_DESCRIPTION_SIZE] + void* pNext + char name[VK_MAX_DESCRIPTION_SIZE] + char description[VK_MAX_DESCRIPTION_SIZE] VkPipelineExecutableStatisticFormatKHR format VkPipelineExecutableStatisticValueKHR value VkStructureType sType - void* pNext - char name[VK_MAX_DESCRIPTION_SIZE] - char description[VK_MAX_DESCRIPTION_SIZE] - VkBool32 isText - size_t dataSize + void* pNext + char name[VK_MAX_DESCRIPTION_SIZE] + char description[VK_MAX_DESCRIPTION_SIZE] + VkBool32 isText + size_t dataSize void* pData @@ -5372,7 +5375,7 @@ typedef void* MTLSharedEvent_id; - + VkStructureType sType void* pNext VkRenderPass renderPass @@ -5525,56 +5528,56 @@ typedef void* MTLSharedEvent_id; VkStructureType sType void* pNext VkDriverId driverID - char driverName[VK_MAX_DRIVER_NAME_SIZE] - char driverInfo[VK_MAX_DRIVER_INFO_SIZE] + char driverName[VK_MAX_DRIVER_NAME_SIZE] + char driverInfo[VK_MAX_DRIVER_INFO_SIZE] VkConformanceVersion conformanceVersion VkShaderFloatControlsIndependence denormBehaviorIndependence VkShaderFloatControlsIndependence roundingModeIndependence - VkBool32 shaderSignedZeroInfNanPreserveFloat16An implementation can preserve signed zero, nan, inf - VkBool32 shaderSignedZeroInfNanPreserveFloat32An implementation can preserve signed zero, nan, inf - VkBool32 shaderSignedZeroInfNanPreserveFloat64An implementation can preserve signed zero, nan, inf - VkBool32 shaderDenormPreserveFloat16An implementation can preserve denormals - VkBool32 shaderDenormPreserveFloat32An implementation can preserve denormals - VkBool32 shaderDenormPreserveFloat64An implementation can preserve denormals - VkBool32 shaderDenormFlushToZeroFloat16An implementation can flush to zero denormals - VkBool32 shaderDenormFlushToZeroFloat32An implementation can flush to zero denormals - VkBool32 shaderDenormFlushToZeroFloat64An implementation can flush to zero denormals - VkBool32 shaderRoundingModeRTEFloat16An implementation can support RTE - VkBool32 shaderRoundingModeRTEFloat32An implementation can support RTE - VkBool32 shaderRoundingModeRTEFloat64An implementation can support RTE - VkBool32 shaderRoundingModeRTZFloat16An implementation can support RTZ - VkBool32 shaderRoundingModeRTZFloat32An implementation can support RTZ - VkBool32 shaderRoundingModeRTZFloat64An implementation can support RTZ - uint32_t maxUpdateAfterBindDescriptorsInAllPools - VkBool32 shaderUniformBufferArrayNonUniformIndexingNative - VkBool32 shaderSampledImageArrayNonUniformIndexingNative - VkBool32 shaderStorageBufferArrayNonUniformIndexingNative - VkBool32 shaderStorageImageArrayNonUniformIndexingNative - VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative - VkBool32 robustBufferAccessUpdateAfterBind - VkBool32 quadDivergentImplicitLod - uint32_t maxPerStageDescriptorUpdateAfterBindSamplers - uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers - uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers - uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages - uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages - uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments - uint32_t maxPerStageUpdateAfterBindResources - uint32_t maxDescriptorSetUpdateAfterBindSamplers - uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers - uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic - uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers - uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic - uint32_t maxDescriptorSetUpdateAfterBindSampledImages - uint32_t maxDescriptorSetUpdateAfterBindStorageImages - uint32_t maxDescriptorSetUpdateAfterBindInputAttachments - VkResolveModeFlags supportedDepthResolveModessupported depth resolve modes - VkResolveModeFlags supportedStencilResolveModessupported stencil resolve modes - VkBool32 independentResolveNonedepth and stencil resolve modes can be set independently if one of them is none - VkBool32 independentResolvedepth and stencil resolve modes can be set independently - VkBool32 filterMinmaxSingleComponentFormats - VkBool32 filterMinmaxImageComponentMapping - uint64_t maxTimelineSemaphoreValueDifference + VkBool32 shaderSignedZeroInfNanPreserveFloat16An implementation can preserve signed zero, nan, inf + VkBool32 shaderSignedZeroInfNanPreserveFloat32An implementation can preserve signed zero, nan, inf + VkBool32 shaderSignedZeroInfNanPreserveFloat64An implementation can preserve signed zero, nan, inf + VkBool32 shaderDenormPreserveFloat16An implementation can preserve denormals + VkBool32 shaderDenormPreserveFloat32An implementation can preserve denormals + VkBool32 shaderDenormPreserveFloat64An implementation can preserve denormals + VkBool32 shaderDenormFlushToZeroFloat16An implementation can flush to zero denormals + VkBool32 shaderDenormFlushToZeroFloat32An implementation can flush to zero denormals + VkBool32 shaderDenormFlushToZeroFloat64An implementation can flush to zero denormals + VkBool32 shaderRoundingModeRTEFloat16An implementation can support RTE + VkBool32 shaderRoundingModeRTEFloat32An implementation can support RTE + VkBool32 shaderRoundingModeRTEFloat64An implementation can support RTE + VkBool32 shaderRoundingModeRTZFloat16An implementation can support RTZ + VkBool32 shaderRoundingModeRTZFloat32An implementation can support RTZ + VkBool32 shaderRoundingModeRTZFloat64An implementation can support RTZ + uint32_t maxUpdateAfterBindDescriptorsInAllPools + VkBool32 shaderUniformBufferArrayNonUniformIndexingNative + VkBool32 shaderSampledImageArrayNonUniformIndexingNative + VkBool32 shaderStorageBufferArrayNonUniformIndexingNative + VkBool32 shaderStorageImageArrayNonUniformIndexingNative + VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative + VkBool32 robustBufferAccessUpdateAfterBind + VkBool32 quadDivergentImplicitLod + uint32_t maxPerStageDescriptorUpdateAfterBindSamplers + uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers + uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers + uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages + uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages + uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments + uint32_t maxPerStageUpdateAfterBindResources + uint32_t maxDescriptorSetUpdateAfterBindSamplers + uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers + uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic + uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers + uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic + uint32_t maxDescriptorSetUpdateAfterBindSampledImages + uint32_t maxDescriptorSetUpdateAfterBindStorageImages + uint32_t maxDescriptorSetUpdateAfterBindInputAttachments + VkResolveModeFlags supportedDepthResolveModessupported depth resolve modes + VkResolveModeFlags supportedStencilResolveModessupported stencil resolve modes + VkBool32 independentResolveNonedepth and stencil resolve modes can be set independently if one of them is none + VkBool32 independentResolvedepth and stencil resolve modes can be set independently + VkBool32 filterMinmaxSingleComponentFormats + VkBool32 filterMinmaxImageComponentMapping + uint64_t maxTimelineSemaphoreValueDifference VkSampleCountFlags framebufferIntegerColorSampleCounts @@ -5670,12 +5673,12 @@ typedef void* MTLSharedEvent_id; VkStructureType sType - void* pNext - char name[VK_MAX_EXTENSION_NAME_SIZE] - char version[VK_MAX_EXTENSION_NAME_SIZE] - VkToolPurposeFlags purposes - char description[VK_MAX_DESCRIPTION_SIZE] - char layer[VK_MAX_EXTENSION_NAME_SIZE] + void* pNext + char name[VK_MAX_EXTENSION_NAME_SIZE] + char version[VK_MAX_EXTENSION_NAME_SIZE] + VkToolPurposeFlags purposes + char description[VK_MAX_DESCRIPTION_SIZE] + char layer[VK_MAX_EXTENSION_NAME_SIZE] @@ -7554,6 +7557,11 @@ typedef void* MTLSharedEvent_id; VkBool32 rayTracingMotionBlur VkBool32 rayTracingMotionBlurPipelineTraceRaysIndirect + + VkStructureType sType + void* pNext + VkBool32 rayTracingValidation + VkStructureType sType @@ -7934,7 +7942,7 @@ typedef void* MTLSharedEvent_id; VkStructureType sType void* pNext uint32_t identifierSize - uint8_t identifier[VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT] + uint8_t identifier[VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT] VkStructureType sType @@ -7986,7 +7994,7 @@ typedef void* MTLSharedEvent_id; VkSubpassMergeStatusEXT subpassMergeStatus - char description[VK_MAX_DESCRIPTION_SIZE] + char description[VK_MAX_DESCRIPTION_SIZE] uint32_t postMergeIndex @@ -8379,9 +8387,9 @@ typedef void* MTLSharedEvent_id; VkDeviceSize addressPrecision - char description[VK_MAX_DESCRIPTION_SIZE]Free-form description of the fault - uint64_t vendorFaultCode - uint64_t vendorFaultData + char description[VK_MAX_DESCRIPTION_SIZE]Free-form description of the fault + uint64_t vendorFaultCode + uint64_t vendorFaultData VkStructureType sType @@ -8392,11 +8400,11 @@ typedef void* MTLSharedEvent_id; VkStructureType sType - void* pNext - char description[VK_MAX_DESCRIPTION_SIZE]Free-form description of the fault - VkDeviceFaultAddressInfoEXT* pAddressInfos - VkDeviceFaultVendorInfoEXT* pVendorInfos - void* pVendorBinaryData + void* pNext + char description[VK_MAX_DESCRIPTION_SIZE]Free-form description of the fault + VkDeviceFaultAddressInfoEXT* pAddressInfos + VkDeviceFaultVendorInfoEXT* pVendorInfos + void* pVendorBinaryData The fields in this structure are non-normative since structure packing is implementation-defined in C. The specification defines the normative layout. @@ -8935,7 +8943,7 @@ typedef void* MTLSharedEvent_id; uint32_t timingCount VkLatencyTimingsFrameReportNV* pTimings - + VkStructureType sType const void* pNext uint64_t presentID @@ -9078,6 +9086,33 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 shaderQuadControl + + VkStructureType sType + void* pNext + VkBool32 shaderFloat16VectorAtomics + + + VkStructureType sType + void* pNext + VkBool32 memoryMapPlaced + VkBool32 memoryMapRangePlaced + VkBool32 memoryUnmapReserve + + + VkStructureType sType + void* pNext + VkDeviceSize minPlacedMemoryMapAlignment + + + VkStructureType sType + const void* pNext + void* pPlacedAddress + + + VkStructureType sType + void* pNext + VkBool32 shaderRawAccessChains + @@ -9837,6 +9872,8 @@ typedef void* MTLSharedEvent_id; + + @@ -10800,6 +10837,8 @@ typedef void* MTLSharedEvent_id; + + @@ -11211,6 +11250,8 @@ typedef void* MTLSharedEvent_id; + + @@ -11705,11 +11746,11 @@ typedef void* MTLSharedEvent_id; const VkAllocationCallbacks* pAllocator VkPipeline* pPipelines - + VkResult vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI VkDevice device VkRenderPass renderpass - VkExtent2D* pMaxWorkgroupSize + VkExtent2D* pMaxWorkgroupSize void vkDestroyPipeline @@ -15175,12 +15216,12 @@ typedef void* MTLSharedEvent_id; const VkMemoryMapInfoKHR* pMemoryMapInfo void** ppData - + VkResult vkUnmapMemory2KHR VkDevice device const VkMemoryUnmapInfoKHR* pMemoryUnmapInfo - + VkResult vkCreateShadersEXT VkDevice device uint32_t createInfoCount @@ -15491,6 +15532,7 @@ typedef void* MTLSharedEvent_id; + @@ -20638,15 +20680,24 @@ typedef void* MTLSharedEvent_id; + - + - - + + + + + + + + + + @@ -22667,8 +22718,10 @@ typedef void* MTLSharedEvent_id; - - + + + + @@ -23269,8 +23322,8 @@ typedef void* MTLSharedEvent_id; - - + + @@ -23370,7 +23423,8 @@ typedef void* MTLSharedEvent_id; - + + @@ -23590,6 +23644,7 @@ typedef void* MTLSharedEvent_id; + @@ -24137,6 +24192,9 @@ typedef void* MTLSharedEvent_id; + + + @@ -24155,6 +24213,16 @@ typedef void* MTLSharedEvent_id; + + + + + + + + + + @@ -24163,10 +24231,12 @@ typedef void* MTLSharedEvent_id; - + - - + + + + @@ -24211,6 +24281,77 @@ typedef void* MTLSharedEvent_id; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -25789,6 +25930,9 @@ typedef void* MTLSharedEvent_id; + + + @@ -25854,6 +25998,9 @@ typedef void* MTLSharedEvent_id; + + + @@ -25926,6 +26073,9 @@ typedef void* MTLSharedEvent_id; + + + @@ -26364,6 +26514,9 @@ typedef void* MTLSharedEvent_id; + + + From 658f48e72aee3c6582e80b05ac0f8787a64fe6bb Mon Sep 17 00:00:00 2001 From: David Herberth Date: Mon, 18 Mar 2024 18:57:55 +0100 Subject: [PATCH 116/138] setup: Bumped version: 2.0.6. --- glad/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glad/__init__.py b/glad/__init__.py index c4dcedf7..c6eedf1c 100644 --- a/glad/__init__.py +++ b/glad/__init__.py @@ -1,3 +1,3 @@ -__version__ = '2.0.5' +__version__ = '2.0.6' From 5dd44f1f6980d9e890d36a16e55f11819319e08e Mon Sep 17 00:00:00 2001 From: Sarah Evans Date: Sun, 7 Apr 2024 07:49:05 -0500 Subject: [PATCH 117/138] example: defines GLAD_GL_IMPLEMENTATION in GLFW example (#464) --- .gitignore | 3 ++- example/c/gl_glfw.c | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 8cff707d..cc054834 100644 --- a/.gitignore +++ b/.gitignore @@ -17,4 +17,5 @@ dist/ /glad-rs/ /rust/ target/ -Cargo.lock \ No newline at end of file +Cargo.lock +.vscode/ \ No newline at end of file diff --git a/example/c/gl_glfw.c b/example/c/gl_glfw.c index a6d6eb46..9185880f 100644 --- a/example/c/gl_glfw.c +++ b/example/c/gl_glfw.c @@ -1,6 +1,7 @@ #include #include +#define GLAD_GL_IMPLEMENTATION // Necessary for headeronly version. #include #include From 976973c758c526ee880e5a3e99b70b08345e9397 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Mon, 20 May 2024 12:11:06 +0200 Subject: [PATCH 118/138] files: lookup resources via importlib if available --- glad/files/__init__.py | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/glad/files/__init__.py b/glad/files/__init__.py index 90ed017a..fe6216f9 100644 --- a/glad/files/__init__.py +++ b/glad/files/__init__.py @@ -8,13 +8,19 @@ from urllib.parse import urlparse try: - from pkg_resources import resource_exists, resource_stream + from importlib.resources import files + + def resource_open(package, name, *args, **kwargs): + return files(package).joinpath(name).open(*args, **kwargs) except ImportError: - def resource_exists(*args, **kwargs): - return False + try: + from pkg_resources import resource_stream - def resource_stream(*args, **kwargs): - return None + def resource_open(package, name, *args, **kwargs): + return resource_stream(package, name) + except ImportError: + def resource_open(package, name, *args, **kwargs): + raise FileNotFoundError BASE_PATH = os.path.abspath(os.path.dirname(__file__)) @@ -29,12 +35,13 @@ class GladFileException(Exception): def open_local(name, *args, **kwargs): # use pkg_resources when available, makes it work in zipped modules # or other environments - if resource_exists(__name__, name): - logger.info('opening packaged resource: %r', name) - return resource_stream(__name__, name) + try: + return resource_open(__name__, name, *args, **kwargs) + except FileNotFoundError: + pass # fallback to filesystem - logger.info('opening packaged path: %r', name) + logger.info('falling back to packaged path: %r', name) local_path = os.path.normpath(os.path.join(BASE_PATH, os.path.join(name))) if not local_path.startswith(BASE_PATH): raise GladFileException('unsafe file path, won\'t open {!r}'.format(local_path)) From 2ae8255a60f3ca529a4db079161c3f8c120f178d Mon Sep 17 00:00:00 2001 From: scribam Date: Fri, 31 May 2024 09:54:05 +0200 Subject: [PATCH 119/138] ci: bump actions versions (#472) --- .github/workflows/glad2.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/glad2.yaml b/.github/workflows/glad2.yaml index 78e2494d..93636573 100644 --- a/.github/workflows/glad2.yaml +++ b/.github/workflows/glad2.yaml @@ -7,8 +7,8 @@ jobs: name: Test runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: actions/setup-python@v4 + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 with: python-version: '3.x' - name: Install Python dependencies From 92fce6bd6407912a1168f043242c2f58059e0226 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Sat, 24 Aug 2024 20:42:57 +0200 Subject: [PATCH 120/138] c: add missing voids to functions --- glad/generator/c/templates/base_template.c | 4 ++-- glad/generator/c/templates/loader/egl.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/glad/generator/c/templates/base_template.c b/glad/generator/c/templates/base_template.c index f3f4f48a..59deabe8 100644 --- a/glad/generator/c/templates/base_template.c +++ b/glad/generator/c/templates/base_template.c @@ -165,7 +165,7 @@ static void glad_{{ spec.name }}_resolve_aliases({{ template_utils.context_arg(d {% endif %} {# options.on_demand #} {% if options.debug %} -void gladInstall{{ feature_set.name|api }}Debug() { +void gladInstall{{ feature_set.name|api }}Debug(void) { {% for command in feature_set.commands|c_commands %} {% call template_utils.protect(command) %} glad_debug_{{ command.name }} = glad_debug_impl_{{ command.name }}; @@ -173,7 +173,7 @@ void gladInstall{{ feature_set.name|api }}Debug() { {% endfor %} } -void gladUninstall{{ feature_set.name|api }}Debug() { +void gladUninstall{{ feature_set.name|api }}Debug(void) { {% for command in feature_set.commands|c_commands %} {% call template_utils.protect(command) %} glad_debug_{{ command.name }} = glad_{{ command.name }}; diff --git a/glad/generator/c/templates/loader/egl.c b/glad/generator/c/templates/loader/egl.c index 1a3a47fb..4778c668 100644 --- a/glad/generator/c/templates/loader/egl.c +++ b/glad/generator/c/templates/loader/egl.c @@ -81,7 +81,7 @@ static GLADapiproc glad_egl_internal_loader_get_proc(const char *name) { } {% endif %} -void gladLoaderUnloadEGL() { +void gladLoaderUnloadEGL(void) { if (_egl_handle != NULL) { glad_close_dlopen_handle(_egl_handle); _egl_handle = NULL; From 8dc0d4d99ce2a7a3488c0a894b4c2f3fc313e0a2 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Sat, 24 Aug 2024 20:51:58 +0200 Subject: [PATCH 121/138] parse: features are only direct children of the root node --- glad/parse.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glad/parse.py b/glad/parse.py index 3465bca5..b1d26349 100644 --- a/glad/parse.py +++ b/glad/parse.py @@ -454,7 +454,7 @@ def enums(self): @memoize(method=True) def features(self): features = defaultdict(dict) - for element in self.root.iter('feature'): + for element in self.root.iterfind('feature'): num = Version(*map(int, element.attrib['number'].split('.'))) for api in element.attrib['api'].split(','): features[api][num] = Feature.from_element(element) From ce26b54b1b112847f16cc1fede5702c441d38df2 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Thu, 5 Sep 2024 10:17:16 +0200 Subject: [PATCH 122/138] setup: Bumped version: 2.0.7. --- glad/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glad/__init__.py b/glad/__init__.py index c6eedf1c..503973e1 100644 --- a/glad/__init__.py +++ b/glad/__init__.py @@ -1,3 +1,3 @@ -__version__ = '2.0.6' +__version__ = '2.0.7' From 01277173613cdb0339f58de9f6d090474ddbeab2 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Fri, 6 Sep 2024 18:15:05 +0200 Subject: [PATCH 123/138] rust: replace static mut references with addr_of --- glad/generator/rust/templates/impl.rs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/glad/generator/rust/templates/impl.rs b/glad/generator/rust/templates/impl.rs index 1bb78ecd..8432a8bb 100644 --- a/glad/generator/rust/templates/impl.rs +++ b/glad/generator/rust/templates/impl.rs @@ -27,9 +27,11 @@ impl FnPtr { *self = Self::new(ptr); } - fn aliased(&mut self, other: &FnPtr) { - if !self.is_loaded && other.is_loaded { - *self = *other; + fn aliased(&mut self, other: *const FnPtr) { + unsafe { + if !self.is_loaded && (*other).is_loaded { + *self = *other; + } } } @@ -122,7 +124,7 @@ pub fn load(mut loadfn: F) -> functions::{{ ctx_name }} where F: FnMut(&'stat {% for command, caliases in aliases|dictsort %} {% for alias in caliases|reject('equalto', command) %} - {{ template_utils.protect(command) }} ctx.{{ command|no_prefix }}.aliased(&ctx.{{ alias|no_prefix }}); + {{ template_utils.protect(command) }} ctx.{{ command|no_prefix }}.aliased(std::ptr::addr_of!(ctx.{{ alias|no_prefix }})); {% endfor %} {% endfor %} @@ -137,7 +139,7 @@ pub fn load(mut loadfn: F) where F: FnMut(&'static str) -> *const c_void { {% for command, caliases in aliases|dictsort %} {% for alias in caliases|reject('equalto', command) %} - {{ template_utils.protect(command) }}{{ template_utils.protect(alias) }} storage::{{ command|no_prefix }}.aliased(&storage::{{ alias|no_prefix }}); + {{ template_utils.protect(command) }}{{ template_utils.protect(alias) }} storage::{{ command|no_prefix }}.aliased(std::ptr::addr_of!(storage::{{ alias|no_prefix }})); {% endfor %} {% endfor %} } From 7b120b2075349e0d9b9c521decbcc156926afb6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=A9tan=20J=2EA=2EM=2E=20Jalin?= Date: Sun, 29 Sep 2024 11:03:49 +0200 Subject: [PATCH 124/138] glad: replace setup.py with pyproject.toml (#490) --- .gitignore | 3 +- long_description.md | 7 ++++ pyproject.toml | 65 +++++++++++++++++++++++++++++++++++++ setup.py | 78 --------------------------------------------- 4 files changed, 74 insertions(+), 79 deletions(-) create mode 100644 long_description.md create mode 100644 pyproject.toml delete mode 100644 setup.py diff --git a/.gitignore b/.gitignore index cc054834..0168e437 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,7 @@ a.out *.kdev_include_paths main.c *.diff +*.swp .idea dist/ *.egg-info @@ -18,4 +19,4 @@ dist/ /rust/ target/ Cargo.lock -.vscode/ \ No newline at end of file +.vscode/ diff --git a/long_description.md b/long_description.md new file mode 100644 index 00000000..88a251db --- /dev/null +++ b/long_description.md @@ -0,0 +1,7 @@ +Glad +---- + +Glad uses the official Khronos-XML specs to generate a +GL/GLES/EGL/GLX/VK/WGL Loader made for your needs. + +Checkout the GitHub repository: https://github.com/Dav1dde/glad diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 00000000..086488a1 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,65 @@ +[build-system] +requires = ["setuptools>=61.0"] +build-backend = "setuptools.build_meta" + +[project] +name = "glad2" +dynamic = ["version"] +description = "Multi-Language GL/GLES/EGL/GLX/VK/WGL Loader-Generator based on the official specifications." +readme = "long_description.md" +license = {file = "LICENSE"} +authors = [ {name = "David Herberth", email = "github@dav1d.de"} ] +maintainers = [ {name = "David Herberth", email = "github@dav1d.de"} ] +dependencies = ["Jinja2>=2.7,<4.0"] +classifiers = [ + 'Development Status :: 5 - Production/Stable', + 'Environment :: Console', + 'Intended Audience :: Developers', + 'Intended Audience :: Education', + 'Intended Audience :: Science/Research', + 'License :: OSI Approved :: MIT License', + 'Natural Language :: English', + 'Operating System :: OS Independent', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9', + 'Programming Language :: Python :: 3.10', + 'Programming Language :: Python :: 3.11', + 'Topic :: Games/Entertainment', + 'Topic :: Multimedia :: Graphics', + 'Topic :: Multimedia :: Graphics :: 3D Rendering', + 'Topic :: Software Development', + 'Topic :: Software Development :: Build Tools', + 'Topic :: Utilities' +] +keywords = ["opengl", "glad", "generator", "gl", "wgl", "egl", "gles", "vulkan", "vk", "glx"] + +[project.urls] +Source = "https://github.com/Dav1dde/glad" + +[project.scripts] +glad = "glad.__main__:main" + +[project.entry-points."glad.generator"] +c = "glad.generator.c.__init__:CGenerator" +rust = "glad.generator.rust.__init__:RustGenerator" + +[project.entry-points."glad.specification"] +egl = "glad.specification:EGL" +gl = "glad.specification:GL" +glx = "glad.specification:GLX" +wgl = "glad.specification:WGL" +vk = "glad.specification:VK" + +[project.optional-dependencies] +fortran = ["glad2-fortran"] + +[tool.setuptools] +platforms = ["any"] + +[tool.setuptools.dynamic] +version = {attr = "glad.__version__"} + +[tool.setuptools.packages] +find = {} + diff --git a/setup.py b/setup.py deleted file mode 100644 index c687805f..00000000 --- a/setup.py +++ /dev/null @@ -1,78 +0,0 @@ -#!/usr/bin/env python - -""" -Glad ----- - -Glad uses the official Khronos-XML specs to generate a -GL/GLES/EGL/GLX/WGL Loader made for your needs. - -Checkout the GitHub repository: https://github.com/Dav1dde/glad -""" - -from setuptools import setup, find_packages -import ast -import re - - -# Thanks flask: https://github.com/mitsuhiko/flask/blob/master/setup.py -_version_re = re.compile(r'__version__\s+=\s+(.*)') - -with open('glad/__init__.py', 'rb') as f: - version = str(ast.literal_eval(_version_re.search( - f.read().decode('utf-8')).group(1))) - - -if __name__ == '__main__': - setup( - name='glad2', - version=version, - description='Multi-Language GL/GLES/EGL/GLX/WGL Loader-Generator based on the official specifications.', - long_description=__doc__, - packages=find_packages(), - include_package_data=True, - install_requires=['jinja2'], - entry_points={ - 'console_scripts': [ - 'glad = glad.__main__:main' - ], - 'glad.generator': [ - 'c = glad.generator.c.__init__:CGenerator', - 'rust = glad.generator.rust.__init__:RustGenerator' - ], - 'glad.specification': [ - 'egl = glad.specification:EGL', - 'gl = glad.specification:GL', - 'glx = glad.specification:GLX', - 'wgl = glad.specification:WGL', - 'vk = glad.specification:VK' - ] - }, - classifiers=[ - 'Development Status :: 5 - Production/Stable', - 'Environment :: Console', - 'Intended Audience :: Developers', - 'Intended Audience :: Education', - 'Intended Audience :: Science/Research', - 'License :: OSI Approved :: MIT License', - 'Natural Language :: English', - 'Operating System :: OS Independent', - 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.8', - 'Programming Language :: Python :: 3.9', - 'Programming Language :: Python :: 3.10', - 'Programming Language :: Python :: 3.11', - 'Topic :: Games/Entertainment', - 'Topic :: Multimedia :: Graphics', - 'Topic :: Multimedia :: Graphics :: 3D Rendering', - 'Topic :: Software Development', - 'Topic :: Software Development :: Build Tools', - 'Topic :: Utilities' - ], - keywords='opengl glad generator gl wgl egl gles glx', - author='David Herberth', - author_email='github@dav1d.de', - url='https://github.com/Dav1dde/glad', - license='MIT', - platforms='any' - ) From f62a12ae916ec7c7486913daecab41bdfc0bc38d Mon Sep 17 00:00:00 2001 From: David Herberth Date: Sun, 29 Sep 2024 11:13:23 +0200 Subject: [PATCH 125/138] readme: add plugin section --- README.md | 6 ++++++ pyproject.toml | 9 +++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index c64a376e..00d9d6ed 100644 --- a/README.md +++ b/README.md @@ -42,6 +42,12 @@ The full code: [hellowindow2.cpp](example/c++/hellowindow2.cpp) More examples in the [examples directory](example/) of this repository. +## Plugins + +Glad [plugins](https://github.com/Dav1dde/glad/wiki/Extending-Glad) +maintained by the community to add support for more languages: + +- [Fortran](https://github.com/AarnoldGad/glad-fortran). ## Documentation diff --git a/pyproject.toml b/pyproject.toml index 086488a1..6fdae996 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,9 +7,9 @@ name = "glad2" dynamic = ["version"] description = "Multi-Language GL/GLES/EGL/GLX/VK/WGL Loader-Generator based on the official specifications." readme = "long_description.md" -license = {file = "LICENSE"} -authors = [ {name = "David Herberth", email = "github@dav1d.de"} ] -maintainers = [ {name = "David Herberth", email = "github@dav1d.de"} ] +license = { file = "LICENSE" } +authors = [{ name = "David Herberth", email = "github@dav1d.de" }] +maintainers = [{ name = "David Herberth", email = "github@dav1d.de" }] dependencies = ["Jinja2>=2.7,<4.0"] classifiers = [ 'Development Status :: 5 - Production/Stable', @@ -25,6 +25,7 @@ classifiers = [ 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: 3.10', 'Programming Language :: Python :: 3.11', + 'Programming Language :: Python :: 3.12', 'Topic :: Games/Entertainment', 'Topic :: Multimedia :: Graphics', 'Topic :: Multimedia :: Graphics :: 3D Rendering', @@ -58,7 +59,7 @@ fortran = ["glad2-fortran"] platforms = ["any"] [tool.setuptools.dynamic] -version = {attr = "glad.__version__"} +version = { attr = "glad.__version__" } [tool.setuptools.packages] find = {} From b3a6c5c826afa1bbdd1b721dd3a7b3eb75a77cb3 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Sun, 29 Sep 2024 11:14:19 +0200 Subject: [PATCH 126/138] files: updates to latest specifications --- glad/files/egl.xml | 27 +- glad/files/gl.xml | 42 +- glad/files/vk.xml | 2023 ++++++++++++++++++++++++++++++++++---------- 3 files changed, 1654 insertions(+), 438 deletions(-) diff --git a/glad/files/egl.xml b/glad/files/egl.xml index f0a9b7d3..54c75d59 100644 --- a/glad/files/egl.xml +++ b/glad/files/egl.xml @@ -886,7 +886,8 @@ - + + @@ -1089,6 +1090,11 @@ + + + + + - - + + @@ -2062,6 +2068,10 @@ void *value EGLint *size + + EGLBoolean eglDestroyDisplayEXT + EGLDisplay dpy + @@ -2407,6 +2417,11 @@ + + + + + @@ -3570,5 +3585,11 @@ + + + + + + diff --git a/glad/files/gl.xml b/glad/files/gl.xml index fc6f7eae..6297b4ca 100644 --- a/glad/files/gl.xml +++ b/glad/files/gl.xml @@ -6928,9 +6928,9 @@ typedef unsigned int GLhandleARB; - + - + @@ -6953,10 +6953,10 @@ typedef unsigned int GLhandleARB; - + - + @@ -6998,7 +6998,7 @@ typedef unsigned int GLhandleARB; - + @@ -7017,6 +7017,16 @@ typedef unsigned int GLhandleARB; + + + + + + + + + + - - + + @@ -19371,6 +19381,15 @@ typedef unsigned int GLhandleARB; GLint level GLint layer + + void glNamedFramebufferTextureMultiviewOVR + GLuint framebuffer + GLenum attachment + GLuint texture + GLint level + GLint baseViewIndex + GLsizei numViews + void glNamedProgramLocalParameter4dEXT GLuint program @@ -46579,6 +46598,9 @@ typedef unsigned int GLhandleARB; + + + @@ -46739,6 +46761,12 @@ typedef unsigned int GLhandleARB; + + + + + + diff --git a/glad/files/vk.xml b/glad/files/vk.xml index 7b2fd073..00d97f14 100644 --- a/glad/files/vk.xml +++ b/glad/files/vk.xml @@ -55,7 +55,7 @@ branch of the member gitlab server. - + @@ -67,7 +67,7 @@ branch of the member gitlab server. - + @@ -175,11 +175,11 @@ branch of the member gitlab server. #define VKSC_API_VERSION_1_0 VK_MAKE_API_VERSION(VKSC_API_VARIANT, 1, 0, 0)// Patch version should always be set to 0 // Version of this file -#define VK_HEADER_VERSION 280 +#define VK_HEADER_VERSION 296 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) // Version of this file -#define VK_HEADER_VERSION 14 +#define VK_HEADER_VERSION 15 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(VKSC_API_VARIANT, 1, 0, VK_HEADER_VERSION) @@ -237,31 +237,31 @@ typedef void CAMetalLayer; #endif #ifdef __OBJC__ @protocol MTLDevice; -typedef id<MTLDevice> MTLDevice_id; +typedef __unsafe_unretained id<MTLDevice> MTLDevice_id; #else typedef void* MTLDevice_id; #endif #ifdef __OBJC__ @protocol MTLCommandQueue; -typedef id<MTLCommandQueue> MTLCommandQueue_id; +typedef __unsafe_unretained id<MTLCommandQueue> MTLCommandQueue_id; #else typedef void* MTLCommandQueue_id; #endif #ifdef __OBJC__ @protocol MTLBuffer; -typedef id<MTLBuffer> MTLBuffer_id; +typedef __unsafe_unretained id<MTLBuffer> MTLBuffer_id; #else typedef void* MTLBuffer_id; #endif #ifdef __OBJC__ @protocol MTLTexture; -typedef id<MTLTexture> MTLTexture_id; +typedef __unsafe_unretained id<MTLTexture> MTLTexture_id; #else typedef void* MTLTexture_id; #endif #ifdef __OBJC__ @protocol MTLSharedEvent; -typedef id<MTLSharedEvent> MTLSharedEvent_id; +typedef __unsafe_unretained id<MTLSharedEvent> MTLSharedEvent_id; #else typedef void* MTLSharedEvent_id; #endif @@ -389,6 +389,8 @@ typedef void* MTLSharedEvent_id; typedef VkFlags VkBuildMicromapFlagsEXT; typedef VkFlags VkMicromapCreateFlagsEXT; + typedef VkFlags VkIndirectCommandsLayoutUsageFlagsEXT; + typedef VkFlags VkIndirectCommandsInputModeFlagsEXT; typedef VkFlags VkDirectDriverLoadingFlagsLUNARG; typedef VkFlags64 VkPipelineCreateFlags2KHR; typedef VkFlags64 VkBufferUsageFlags2KHR; @@ -502,7 +504,7 @@ typedef void* MTLSharedEvent_id; typedef VkFlags VkVideoDecodeH264PictureLayoutFlagsKHR; Video Encode Core extension - typedef VkFlags VkVideoEncodeFlagsKHR; + typedef VkFlags VkVideoEncodeFlagsKHR; typedef VkFlags VkVideoEncodeUsageFlagsKHR; typedef VkFlags VkVideoEncodeContentFlagsKHR; typedef VkFlags VkVideoEncodeCapabilityFlagsKHR; @@ -550,7 +552,10 @@ typedef void* MTLSharedEvent_id; VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineBinaryKHR) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutEXT) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectExecutionSetEXT) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion) @@ -628,6 +633,7 @@ typedef void* MTLSharedEvent_id; + @@ -780,10 +786,15 @@ typedef void* MTLSharedEvent_id; + + + + + @@ -796,6 +807,8 @@ typedef void* MTLSharedEvent_id; + + WSI extensions @@ -874,6 +887,7 @@ typedef void* MTLSharedEvent_id; + Enumerated types in the header, but not used by the API @@ -1664,7 +1678,55 @@ typedef void* MTLSharedEvent_id; uint32_t offsetStart of the range, in bytes uint32_t sizeSize of the range, in bytes - + + VkStructureType sType + const void* pNext + const VkPipelineBinaryKeysAndDataKHR* pKeysAndDataInfo + VkPipeline pipeline + const VkPipelineCreateInfoKHR* pPipelineCreateInfo + + + VkStructureType sType + const void* pNext + uint32_t pipelineBinaryCount + VkPipelineBinaryKHR* pPipelineBinaries + + + size_t dataSize + void* pData + + + uint32_t binaryCount + const VkPipelineBinaryKeyKHR* pPipelineBinaryKeys + const VkPipelineBinaryDataKHR* pPipelineBinaryData + + + VkStructureType sType + void* pNext + uint32_t keySize + uint8_t key[VK_MAX_PIPELINE_BINARY_KEY_SIZE_KHR] + + + VkStructureType sType + const void* pNext + uint32_t binaryCount + const VkPipelineBinaryKHR* pPipelineBinaries + + + VkStructureType sType + void* pNext + VkPipeline pipeline + + + VkStructureType sType + void* pNext + VkPipelineBinaryKHR pipelineBinary + + + VkStructureType sType + void* pNext + + VkStructureType sType const void* pNext VkPipelineLayoutCreateFlags flags @@ -1731,7 +1793,7 @@ typedef void* MTLSharedEvent_id; uint32_t clearValueCount const VkClearValue* pClearValues - + float float32[4] int32_t int32[4] uint32_t uint32[4] @@ -1835,7 +1897,7 @@ typedef void* MTLSharedEvent_id; VkBool32 vertexPipelineStoresAndAtomicsstores and atomic ops on storage buffers and images are supported in vertex, tessellation, and geometry stages VkBool32 fragmentStoresAndAtomicsstores and atomic ops on storage buffers and images are supported in the fragment stage VkBool32 shaderTessellationAndGeometryPointSizetessellation and geometry stages can export point size - VkBool32 shaderImageGatherExtendedimage gather with run-time values and independent offsets + VkBool32 shaderImageGatherExtendedimage gather with runtime values and independent offsets VkBool32 shaderStorageImageExtendedFormatsthe extended set of formats can be used for storage images VkBool32 shaderStorageImageMultisamplemultisample images can be used for storage images VkBool32 shaderStorageImageReadWithoutFormatread from storage image does not require format qualifier @@ -1875,7 +1937,7 @@ typedef void* MTLSharedEvent_id; uint32_t maxImageDimension1Dmax 1D image dimension uint32_t maxImageDimension2Dmax 2D image dimension uint32_t maxImageDimension3Dmax 3D image dimension - uint32_t maxImageDimensionCubemax cubemap image dimension + uint32_t maxImageDimensionCubemax cube map image dimension uint32_t maxImageArrayLayersmax layers for image arrays uint32_t maxTexelBufferElementsmax texel buffer size (fstexels) uint32_t maxUniformBufferRangemax uniform buffer range (bytes) @@ -2097,7 +2159,7 @@ typedef void* MTLSharedEvent_id; uint32_t planeStackIndexThe z-order of the plane. VkSurfaceTransformFlagBitsKHR transformTransform to apply to the images as part of the scanout operation float globalAlphaGlobal alpha value. Must be between 0 and 1, inclusive. Ignored if alphaMode is not VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR - VkDisplayPlaneAlphaFlagBitsKHR alphaModeWhat type of alpha blending to use. Must be a bit from vkGetDisplayPlanePropertiesKHR::supportedAlpha. + VkDisplayPlaneAlphaFlagBitsKHR alphaModeThe type of alpha blending to use. Must be one of the bits from VkDisplayPlaneCapabilitiesKHR::supportedAlpha for this display plane VkExtent2D imageExtentsize of the images to use with this surface @@ -2225,7 +2287,7 @@ typedef void* MTLSharedEvent_id; const void* pNext VkDebugReportFlagsEXT flagsIndicates which events call this callback PFN_vkDebugReportCallbackEXT pfnCallbackFunction pointer of a callback function - void* pUserDataUser data provided to callback function + void* pUserDataData provided to callback function VkStructureType sTypeMust be VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT @@ -2233,7 +2295,7 @@ typedef void* MTLSharedEvent_id; uint32_t disabledValidationCheckCountNumber of validation checks to disable const VkValidationCheckEXT* pDisabledValidationChecksValidation checks to disable - + VkStructureType sTypeMust be VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT const void* pNext uint32_t enabledValidationFeatureCountNumber of validation features to enable @@ -2252,7 +2314,7 @@ typedef void* MTLSharedEvent_id; const char* pSettingName VkLayerSettingTypeEXT typeThe type of the object uint32_t valueCountNumber of values of the setting - const void* pValuesValues to pass for a setting + const void* pValuesValues to pass for a setting VkStructureType sType @@ -2966,9 +3028,9 @@ typedef void* MTLSharedEvent_id; VkStructureType sType void* pNext - VkBool32 multiviewMultiple views in a renderpass - VkBool32 multiviewGeometryShaderMultiple views in a renderpass w/ geometry shader - VkBool32 multiviewTessellationShaderMultiple views in a renderpass w/ tessellation shader + VkBool32 multiviewMultiple views in a render pass + VkBool32 multiviewGeometryShaderMultiple views in a render pass w/ geometry shader + VkBool32 multiviewTessellationShaderMultiple views in a render pass w/ tessellation shader @@ -3734,6 +3796,42 @@ typedef void* MTLSharedEvent_id; uint32_t maxCombinedImageSamplerDescriptorCount VkBool32 fragmentShadingRateClampCombinerInputs + + VkStructureType sType + void* pNext + VkBool32 maintenance7 + + + VkStructureType sType + void* pNext + VkBool32 robustFragmentShadingRateAttachmentAccess + VkBool32 separateDepthStencilAttachmentAccess + uint32_t maxDescriptorSetTotalUniformBuffersDynamic + uint32_t maxDescriptorSetTotalStorageBuffersDynamic + uint32_t maxDescriptorSetTotalBuffersDynamic + uint32_t maxDescriptorSetUpdateAfterBindTotalUniformBuffersDynamic + uint32_t maxDescriptorSetUpdateAfterBindTotalStorageBuffersDynamic + uint32_t maxDescriptorSetUpdateAfterBindTotalBuffersDynamic + + + VkStructureType sType + void* pNext + uint32_t layeredApiCount + VkPhysicalDeviceLayeredApiPropertiesKHR* pLayeredApisOutput list of layered implementations underneath the physical device + + + VkStructureType sType + void* pNext + uint32_t vendorID + uint32_t deviceID + VkPhysicalDeviceLayeredApiKHR layeredAPI + char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE] + + + VkStructureType sType + void* pNext + VkPhysicalDeviceProperties2 properties + VkStructureType sType const void* pNext @@ -4408,12 +4506,18 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 cornerSampledImage - - VkStructureType sType + + VkStructureType sType void* pNext VkBool32 computeDerivativeGroupQuads VkBool32 computeDerivativeGroupLinear + + + VkStructureType sType + void* pNext + VkBool32 meshAndTaskShaderDerivatives + VkStructureType sType @@ -4883,7 +4987,7 @@ typedef void* MTLSharedEvent_id; VkBool32 scalarBlockLayout - + VkStructureType sType const void* pNext VkBool32 supportsProtectedRepresents if surface can be protected @@ -5078,7 +5182,7 @@ typedef void* MTLSharedEvent_id; const void* pNext HMONITOR hmonitor - + VkStructureType sType void* pNext VkBool32 fullScreenExclusiveSupported @@ -5088,7 +5192,7 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 presentBarrier - + VkStructureType sType void* pNext VkBool32 presentBarrierSupported @@ -5445,9 +5549,9 @@ typedef void* MTLSharedEvent_id; VkBool32 uniformAndStorageBuffer16BitAccess16-bit integer/floating-point variables supported in BufferBlock and Block VkBool32 storagePushConstant1616-bit integer/floating-point variables supported in PushConstant VkBool32 storageInputOutput1616-bit integer/floating-point variables supported in shader inputs and outputs - VkBool32 multiviewMultiple views in a renderpass - VkBool32 multiviewGeometryShaderMultiple views in a renderpass w/ geometry shader - VkBool32 multiviewTessellationShaderMultiple views in a renderpass w/ tessellation shader + VkBool32 multiviewMultiple views in a render pass + VkBool32 multiviewGeometryShaderMultiple views in a render pass w/ geometry shader + VkBool32 multiviewTessellationShaderMultiple views in a render pass w/ tessellation shader VkBool32 variablePointersStorageBuffer VkBool32 variablePointers VkBool32 protectedMemory @@ -6258,6 +6362,16 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 attachmentFeedbackLoopDynamicState + + VkStructureType sType + void* pNext + VkBool32 legacyVertexAttributes + + + VkStructureType sType + void* pNext + VkBool32 nativeUnalignedPerformance + VkStructureType sType void* pNext @@ -6281,11 +6395,172 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 depthClipControl + + VkStructureType sType + void* pNext + VkBool32 deviceGeneratedCommands + VkBool32 dynamicGeneratedPipelineLayout + + + VkStructureType sType + void* pNext + uint32_t maxIndirectPipelineCount + uint32_t maxIndirectShaderObjectCount + uint32_t maxIndirectSequenceCount + uint32_t maxIndirectCommandsTokenCount + uint32_t maxIndirectCommandsTokenOffset + uint32_t maxIndirectCommandsIndirectStride + VkIndirectCommandsInputModeFlagsEXT supportedIndirectCommandsInputModes + VkShaderStageFlags supportedIndirectCommandsShaderStages + VkShaderStageFlags supportedIndirectCommandsShaderStagesPipelineBinding + VkShaderStageFlags supportedIndirectCommandsShaderStagesShaderBinding + VkBool32 deviceGeneratedCommandsTransformFeedback + VkBool32 deviceGeneratedCommandsMultiDrawIndirectCount + + + VkStructureType sType + void* pNext + VkPipeline pipeline + + + VkStructureType sType + void* pNext + uint32_t shaderCount + const VkShaderEXT* pShaders + + + VkStructureType sType + void* pNext + VkIndirectExecutionSetEXT indirectExecutionSet + VkIndirectCommandsLayoutEXT indirectCommandsLayout + uint32_t maxSequenceCount + uint32_t maxDrawCount + + + VkStructureType sType + const void* pNext + VkPipeline initialPipeline + uint32_t maxPipelineCount + + + VkStructureType sType + const void* pNext + uint32_t setLayoutCount + const VkDescriptorSetLayout* pSetLayouts + + + VkStructureType sType + const void* pNext + uint32_t shaderCount + const VkShaderEXT* pInitialShaders + const VkIndirectExecutionSetShaderLayoutInfoEXT* pSetLayoutInfos + uint32_t maxShaderCount + uint32_t pushConstantRangeCount + const VkPushConstantRange* pPushConstantRanges + + + const VkIndirectExecutionSetPipelineInfoEXT* pPipelineInfo + const VkIndirectExecutionSetShaderInfoEXT* pShaderInfo + + + VkStructureType sType + const void* pNext + VkIndirectExecutionSetInfoTypeEXT type + VkIndirectExecutionSetInfoEXT info + + + VkStructureType sType + const void* pNext + VkShaderStageFlags shaderStages + VkIndirectExecutionSetEXT indirectExecutionSet + VkIndirectCommandsLayoutEXT indirectCommandsLayout + VkDeviceAddress indirectAddress + VkDeviceSize indirectAddressSize + VkDeviceAddress preprocessAddress + VkDeviceSize preprocessSize + uint32_t maxSequenceCount + VkDeviceAddress sequenceCountAddress + uint32_t maxDrawCount + + + VkStructureType sType + const void* pNext + uint32_t index + VkPipeline pipeline + + + VkStructureType sType + const void* pNext + uint32_t index + VkShaderEXT shader + + + VkStructureType sType + const void* pNext + VkIndirectCommandsLayoutUsageFlagsEXT flags + VkShaderStageFlags shaderStages + uint32_t indirectStride + VkPipelineLayout pipelineLayout + uint32_t tokenCount + const VkIndirectCommandsLayoutTokenEXT* pTokens + + + VkStructureType sType + const void* pNext + VkIndirectCommandsTokenTypeEXT type + VkIndirectCommandsTokenDataEXT data + uint32_t offset + + + VkDeviceAddress bufferAddress + uint32_t stride + uint32_t commandCount + + + uint32_t vertexBindingUnit + + + VkDeviceAddress bufferAddress + uint32_t size + uint32_t stride + + + VkIndirectCommandsInputModeFlagBitsEXT mode + + + VkDeviceAddress bufferAddress + uint32_t size + VkIndexType indexType + + + VkPushConstantRange updateRange + + + VkIndirectExecutionSetInfoTypeEXT type + VkShaderStageFlags shaderStages + + + const VkIndirectCommandsPushConstantTokenEXT* pPushConstant + const VkIndirectCommandsVertexBufferTokenEXT* pVertexBuffer + const VkIndirectCommandsIndexBufferTokenEXT* pIndexBuffer + const VkIndirectCommandsExecutionSetTokenEXT* pExecutionSet + VkStructureType sType const void* pNext VkBool32 negativeOneToOne + + VkStructureType sType + void* pNext + VkBool32 depthClampControl + + + VkStructureType sType + const void* pNext + VkDepthClampModeEXT depthClampMode + const VkDepthClampRangeEXT* pDepthClampRange + VkStructureType sType void* pNext @@ -6296,6 +6571,11 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 externalMemoryRDMA + + VkStructureType sType + void* pNext + VkBool32 shaderRelaxedExtendedInstruction + VkStructureType sType void* pNext @@ -6649,12 +6929,12 @@ typedef void* MTLSharedEvent_id; VkStructureType sType void* pNext - VkFormat format - VkComponentMapping componentMapping - VkImageCreateFlags imageCreateFlags - VkImageType imageType - VkImageTiling imageTiling - VkImageUsageFlags imageUsageFlags + VkFormat format + VkComponentMapping componentMapping + VkImageCreateFlags imageCreateFlags + VkImageType imageType + VkImageTiling imageTiling + VkImageUsageFlags imageUsageFlags VkStructureType sType @@ -6666,16 +6946,16 @@ typedef void* MTLSharedEvent_id; VkStructureType sType - void* pNext - VkVideoCapabilityFlagsKHR flags - VkDeviceSize minBitstreamBufferOffsetAlignment - VkDeviceSize minBitstreamBufferSizeAlignment - VkExtent2D pictureAccessGranularity - VkExtent2D minCodedExtent - VkExtent2D maxCodedExtent - uint32_t maxDpbSlots - uint32_t maxActiveReferencePictures - VkExtensionProperties stdHeaderVersion + void* pNext + VkVideoCapabilityFlagsKHR flags + VkDeviceSize minBitstreamBufferOffsetAlignment + VkDeviceSize minBitstreamBufferSizeAlignment + VkExtent2D pictureAccessGranularity + VkExtent2D minCodedExtent + VkExtent2D maxCodedExtent + uint32_t maxDpbSlots + uint32_t maxActiveReferencePictures + VkExtensionProperties stdHeaderVersion VkStructureType sType @@ -6708,7 +6988,7 @@ typedef void* MTLSharedEvent_id; VkStructureType sType void* pNext - VkVideoDecodeCapabilityFlagsKHR flags + VkVideoDecodeCapabilityFlagsKHR flags VkStructureType sType @@ -6743,27 +7023,9 @@ typedef void* MTLSharedEvent_id; #include "vk_video/vulkan_video_codec_h264std.h" - - - - - - - - - - - - - - - - #include "vk_video/vulkan_video_codec_h264std_decode.h" - - VkStructureType sType const void* pNext @@ -6772,9 +7034,9 @@ typedef void* MTLSharedEvent_id; VkStructureType sType - void* pNext - StdVideoH264LevelIdc maxLevelIdc - VkOffset2D fieldOffsetGranularity + void* pNext + StdVideoH264LevelIdc maxLevelIdc + VkOffset2D fieldOffsetGranularity @@ -6810,25 +7072,10 @@ typedef void* MTLSharedEvent_id; - - - - - - - - - - - - - #include "vk_video/vulkan_video_codec_h265std_decode.h" - - VkStructureType sType const void* pNext @@ -6837,7 +7084,7 @@ typedef void* MTLSharedEvent_id; VkStructureType sType void* pNext - StdVideoH265LevelIdc maxLevelIdc + StdVideoH265LevelIdc maxLevelIdc VkStructureType sType @@ -6885,7 +7132,7 @@ typedef void* MTLSharedEvent_id; VkStructureType sType void* pNext - StdVideoAV1Level maxLevel + StdVideoAV1Level maxLevel VkStructureType sType @@ -7024,30 +7271,30 @@ typedef void* MTLSharedEvent_id; VkStructureType sType void* pNext - VkVideoEncodeCapabilityFlagsKHR flags - VkVideoEncodeRateControlModeFlagsKHR rateControlModes - uint32_t maxRateControlLayers - uint64_t maxBitrate - uint32_t maxQualityLevels - VkExtent2D encodeInputPictureGranularity - VkVideoEncodeFeedbackFlagsKHR supportedEncodeFeedbackFlags + VkVideoEncodeCapabilityFlagsKHR flags + VkVideoEncodeRateControlModeFlagsKHR rateControlModes + uint32_t maxRateControlLayers + uint64_t maxBitrate + uint32_t maxQualityLevels + VkExtent2D encodeInputPictureGranularity + VkVideoEncodeFeedbackFlagsKHR supportedEncodeFeedbackFlags VkStructureType sType void* pNext - VkVideoEncodeH264CapabilityFlagsKHR flags - StdVideoH264LevelIdc maxLevelIdc - uint32_t maxSliceCount - uint32_t maxPPictureL0ReferenceCount - uint32_t maxBPictureL0ReferenceCount - uint32_t maxL1ReferenceCount - uint32_t maxTemporalLayerCount - VkBool32 expectDyadicTemporalLayerPattern - int32_t minQp - int32_t maxQp - VkBool32 prefersGopRemainingFrames - VkBool32 requiresGopRemainingFrames - VkVideoEncodeH264StdFlagsKHR stdSyntaxFlags + VkVideoEncodeH264CapabilityFlagsKHR flags + StdVideoH264LevelIdc maxLevelIdc + uint32_t maxSliceCount + uint32_t maxPPictureL0ReferenceCount + uint32_t maxBPictureL0ReferenceCount + uint32_t maxL1ReferenceCount + uint32_t maxTemporalLayerCount + VkBool32 expectDyadicTemporalLayerPattern + int32_t minQp + int32_t maxQp + VkBool32 prefersGopRemainingFrames + VkBool32 requiresGopRemainingFrames + VkVideoEncodeH264StdFlagsKHR stdSyntaxFlags VkStructureType sType @@ -7066,13 +7313,6 @@ typedef void* MTLSharedEvent_id; - - - - - - - VkStructureType sType const void* pNext @@ -7172,22 +7412,22 @@ typedef void* MTLSharedEvent_id; VkStructureType sType void* pNext - VkVideoEncodeH265CapabilityFlagsKHR flags - StdVideoH265LevelIdc maxLevelIdc - uint32_t maxSliceSegmentCount - VkExtent2D maxTiles - VkVideoEncodeH265CtbSizeFlagsKHR ctbSizes - VkVideoEncodeH265TransformBlockSizeFlagsKHR transformBlockSizes - uint32_t maxPPictureL0ReferenceCount - uint32_t maxBPictureL0ReferenceCount - uint32_t maxL1ReferenceCount - uint32_t maxSubLayerCount - VkBool32 expectDyadicTemporalSubLayerPattern - int32_t minQp - int32_t maxQp - VkBool32 prefersGopRemainingFrames - VkBool32 requiresGopRemainingFrames - VkVideoEncodeH265StdFlagsKHR stdSyntaxFlags + VkVideoEncodeH265CapabilityFlagsKHR flags + StdVideoH265LevelIdc maxLevelIdc + uint32_t maxSliceSegmentCount + VkExtent2D maxTiles + VkVideoEncodeH265CtbSizeFlagsKHR ctbSizes + VkVideoEncodeH265TransformBlockSizeFlagsKHR transformBlockSizes + uint32_t maxPPictureL0ReferenceCount + uint32_t maxBPictureL0ReferenceCount + uint32_t maxL1ReferenceCount + uint32_t maxSubLayerCount + VkBool32 expectDyadicTemporalSubLayerPattern + int32_t minQp + int32_t maxQp + VkBool32 prefersGopRemainingFrames + VkBool32 requiresGopRemainingFrames + VkVideoEncodeH265StdFlagsKHR stdSyntaxFlags VkStructureType sType @@ -7202,14 +7442,9 @@ typedef void* MTLSharedEvent_id; uint32_t preferredMaxL1ReferenceCount #include "vk_video/vulkan_video_codec_h265std_encode.h" - - - - - VkStructureType sType const void* pNext @@ -7432,13 +7667,13 @@ typedef void* MTLSharedEvent_id; VkStructureType sType - void* pNext + const void* pNext VkDeviceAddress address VkBufferUsageFlags usage VkStructureType sType - void* pNext + const void* pNext VkBuffer buffer @@ -7882,6 +8117,25 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 graphicsPipelineLibrary + + VkStructureType sType + void* pNext + VkBool32 pipelineBinaries + + + VkStructureType sType + const void* pNext + VkBool32 disableInternalCache + + + VkStructureType sType + void* pNext + VkBool32 pipelineBinaryInternalCache + VkBool32 pipelineBinaryInternalCacheControl + VkBool32 pipelineBinaryPrefersInternalCache + VkBool32 pipelineBinaryPrecompiledInternalCache + VkBool32 pipelineBinaryCompressedData + VkStructureType sType void* pNext @@ -8485,7 +8739,7 @@ typedef void* MTLSharedEvent_id; void* pNext VkPresentModeKHR presentMode - + VkStructureType sType void* pNext VkPresentScalingFlagsEXT supportedPresentScaling @@ -8779,6 +9033,24 @@ typedef void* MTLSharedEvent_id; VkDeviceOrHostAddressConstAMDX infos uint64_t stride + + VkStructureType sType + void* pNext + VkBool32 antiLag + + + VkStructureType sType + const void* pNext + VkAntiLagModeAMD mode + uint32_t maxFPS + const VkAntiLagPresentationInfoAMD* pPresentationInfo + + + VkStructureType sType + void* pNext + VkAntiLagStageAMD stage + uint64_t frameIndex + VkStructureType sType const void* pNext @@ -9113,12 +9385,41 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 shaderRawAccessChains + + VkStructureType sType + void* pNext + VkBool32 commandBufferInheritance + + + VkStructureType sType + void* pNext + VkBool32 imageAlignmentControl + + + VkStructureType sType + void* pNext + uint32_t supportedImageAlignmentMask + + + VkStructureType sType + const void* pNext + uint32_t maximumRequestedAlignment + + + VkStructureType sType + void* pNext + VkBool32 shaderReplicatedComposites + + + float minDepthClamp + float maxDepthClamp + Vulkan enumerant (token) definitions - + @@ -9151,6 +9452,7 @@ typedef void* MTLSharedEvent_id; + @@ -9702,6 +10004,15 @@ typedef void* MTLSharedEvent_id; + + + + + + + + + Flags @@ -10301,6 +10612,7 @@ typedef void* MTLSharedEvent_id; Vendor IDs are now represented as enums instead of the old <vendorids> tag, allowing them to be included in the API headers. + @@ -10339,7 +10651,8 @@ typedef void* MTLSharedEvent_id; - + + @@ -11187,6 +11500,30 @@ typedef void* MTLSharedEvent_id; + + + + + + + + + + + + + + + + + + + + + + + + @@ -11228,6 +11565,13 @@ typedef void* MTLSharedEvent_id; + + + + + + + @@ -11252,6 +11596,12 @@ typedef void* MTLSharedEvent_id; + + + + + + @@ -11710,6 +12060,39 @@ typedef void* MTLSharedEvent_id; uint32_t srcCacheCount const VkPipelineCache* pSrcCaches + + VkResult vkCreatePipelineBinariesKHR + VkDevice device + const VkPipelineBinaryCreateInfoKHR* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkPipelineBinaryHandlesInfoKHR* pBinaries + + + void vkDestroyPipelineBinaryKHR + VkDevice device + VkPipelineBinaryKHR pipelineBinary + const VkAllocationCallbacks* pAllocator + + + VkResult vkGetPipelineKeyKHR + VkDevice device + const VkPipelineCreateInfoKHR* pPipelineCreateInfo + VkPipelineBinaryKeyKHR* pPipelineKey + + + VkResult vkGetPipelineBinaryDataKHR + VkDevice device + const VkPipelineBinaryDataInfoKHR* pInfo + VkPipelineBinaryKeyKHR* pPipelineBinaryKey + size_t* pPipelineBinaryDataSize + void* pPipelineBinaryData + + + VkResult vkReleaseCapturedPipelineDataKHR + VkDevice device + const VkReleaseCapturedPipelineDataInfoKHR* pInfo + const VkAllocationCallbacks* pAllocator + VkResult vkCreateGraphicsPipelines VkDevice device @@ -12680,6 +13063,66 @@ typedef void* MTLSharedEvent_id; VkIndirectCommandsLayoutNV indirectCommandsLayout const VkAllocationCallbacks* pAllocator + + + void vkCmdExecuteGeneratedCommandsEXT + VkCommandBuffer commandBuffer + VkBool32 isPreprocessed + const VkGeneratedCommandsInfoEXT* pGeneratedCommandsInfo + + + void vkCmdPreprocessGeneratedCommandsEXT + VkCommandBuffer commandBuffer + const VkGeneratedCommandsInfoEXT* pGeneratedCommandsInfo + VkCommandBuffer stateCommandBuffer + + + void vkGetGeneratedCommandsMemoryRequirementsEXT + VkDevice device + const VkGeneratedCommandsMemoryRequirementsInfoEXT* pInfo + VkMemoryRequirements2* pMemoryRequirements + + + VkResult vkCreateIndirectCommandsLayoutEXT + VkDevice device + const VkIndirectCommandsLayoutCreateInfoEXT* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkIndirectCommandsLayoutEXT* pIndirectCommandsLayout + + + void vkDestroyIndirectCommandsLayoutEXT + VkDevice device + VkIndirectCommandsLayoutEXT indirectCommandsLayout + const VkAllocationCallbacks* pAllocator + + + VkResult vkCreateIndirectExecutionSetEXT + VkDevice device + const VkIndirectExecutionSetCreateInfoEXT* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkIndirectExecutionSetEXT* pIndirectExecutionSet + + + void vkDestroyIndirectExecutionSetEXT + VkDevice device + VkIndirectExecutionSetEXT indirectExecutionSet + const VkAllocationCallbacks* pAllocator + + + void vkUpdateIndirectExecutionSetPipelineEXT + VkDevice device + VkIndirectExecutionSetEXT indirectExecutionSet + uint32_t executionSetWriteCount + const VkWriteIndirectExecutionSetPipelineEXT* pExecutionSetWrites + + + void vkUpdateIndirectExecutionSetShaderEXT + VkDevice device + VkIndirectExecutionSetEXT indirectExecutionSet + uint32_t executionSetWriteCount + const VkWriteIndirectExecutionSetShaderEXT* pExecutionSetWrites + + void vkGetPhysicalDeviceFeatures2 VkPhysicalDevice physicalDevice @@ -12882,35 +13325,35 @@ typedef void* MTLSharedEvent_id; VkDevice device const VkImportFenceFdInfoKHR* pImportFenceFdInfo - + VkResult vkGetFenceSciSyncFenceNV VkDevice device const VkFenceGetSciSyncInfoNV* pGetSciSyncHandleInfo void* pHandle - + VkResult vkGetFenceSciSyncObjNV VkDevice device const VkFenceGetSciSyncInfoNV* pGetSciSyncHandleInfo void* pHandle - + VkResult vkImportFenceSciSyncFenceNV VkDevice device const VkImportFenceSciSyncInfoNV* pImportFenceSciSyncInfo - + VkResult vkImportFenceSciSyncObjNV VkDevice device const VkImportFenceSciSyncInfoNV* pImportFenceSciSyncInfo - + VkResult vkGetSemaphoreSciSyncObjNV VkDevice device const VkSemaphoreGetSciSyncInfoNV* pGetSciSyncInfo void* pHandle - + VkResult vkImportSemaphoreSciSyncObjNV VkDevice device const VkImportSemaphoreSciSyncInfoNV* pImportSemaphoreSciSyncInfo @@ -13940,7 +14383,7 @@ typedef void* MTLSharedEvent_id; VkDevice device const VkImageViewHandleInfoNVX* pInfo - + VkResult vkGetImageViewAddressNVX VkDevice device VkImageView imageView @@ -14193,6 +14636,11 @@ typedef void* MTLSharedEvent_id; VkDevice device const VkPipelineIndirectDeviceAddressInfoNV* pInfo + + void vkAntiLagUpdateAMD + VkDevice device + const VkAntiLagDataAMD* pData + void vkCmdSetCullMode VkCommandBuffer commandBuffer @@ -15342,7 +15790,7 @@ typedef void* MTLSharedEvent_id; VkSwapchainKHR swapchain const VkLatencySleepModeInfoNV* pSleepModeInfo - + VkResult vkLatencySleepNV VkDevice device VkSwapchainKHR swapchain @@ -15373,7 +15821,13 @@ typedef void* MTLSharedEvent_id; void vkCmdSetRenderingInputAttachmentIndicesKHR VkCommandBuffer commandBuffer - const VkRenderingInputAttachmentIndexInfoKHR* pLocationInfo + const VkRenderingInputAttachmentIndexInfoKHR* pInputAttachmentIndexInfo + + + void vkCmdSetDepthClampRangeEXT + VkCommandBuffer commandBuffer + VkDepthClampModeEXT depthClampMode + const VkDepthClampRangeEXT* pDepthClampRange @@ -15499,6 +15953,7 @@ typedef void* MTLSharedEvent_id; + @@ -15892,7 +16347,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16043,6 +16498,7 @@ typedef void* MTLSharedEvent_id; + @@ -16223,8 +16679,11 @@ typedef void* MTLSharedEvent_id; + + + - + @@ -16237,6 +16696,7 @@ typedef void* MTLSharedEvent_id; + @@ -16245,10 +16705,16 @@ typedef void* MTLSharedEvent_id; + + + + + + @@ -16311,6 +16777,9 @@ typedef void* MTLSharedEvent_id; + + + @@ -16324,6 +16793,10 @@ typedef void* MTLSharedEvent_id; + + + + @@ -16336,6 +16809,9 @@ typedef void* MTLSharedEvent_id; + + + @@ -16350,14 +16826,17 @@ typedef void* MTLSharedEvent_id; + + + @@ -16372,11 +16851,13 @@ typedef void* MTLSharedEvent_id; + + @@ -16397,6 +16878,7 @@ typedef void* MTLSharedEvent_id; + @@ -16419,7 +16901,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16442,6 +16924,7 @@ typedef void* MTLSharedEvent_id; + @@ -16453,6 +16936,7 @@ typedef void* MTLSharedEvent_id; + @@ -16470,6 +16954,7 @@ typedef void* MTLSharedEvent_id; + @@ -16478,6 +16963,7 @@ typedef void* MTLSharedEvent_id; + @@ -16513,14 +16999,17 @@ typedef void* MTLSharedEvent_id; + + + @@ -16561,6 +17050,8 @@ typedef void* MTLSharedEvent_id; + + @@ -16617,6 +17108,7 @@ typedef void* MTLSharedEvent_id; + @@ -16649,6 +17141,7 @@ typedef void* MTLSharedEvent_id; + @@ -16681,10 +17174,20 @@ typedef void* MTLSharedEvent_id; + + + + + + + + + + - + @@ -16738,6 +17241,9 @@ typedef void* MTLSharedEvent_id; + + + @@ -16816,6 +17322,11 @@ typedef void* MTLSharedEvent_id; + + + + + @@ -17042,7 +17553,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17121,7 +17632,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17210,7 +17721,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17246,7 +17757,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17275,7 +17786,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17306,6 +17817,7 @@ typedef void* MTLSharedEvent_id; + @@ -17502,7 +18014,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17526,7 +18038,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17545,6 +18057,7 @@ typedef void* MTLSharedEvent_id; + @@ -17605,7 +18118,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17627,7 +18140,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17638,6 +18151,7 @@ typedef void* MTLSharedEvent_id; + @@ -17824,7 +18338,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17844,6 +18358,7 @@ typedef void* MTLSharedEvent_id; + @@ -17856,7 +18371,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17868,6 +18383,7 @@ typedef void* MTLSharedEvent_id; + @@ -17897,7 +18413,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17930,7 +18446,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17944,7 +18460,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17982,7 +18498,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18046,7 +18562,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18055,16 +18571,12 @@ typedef void* MTLSharedEvent_id; - - - - - + - + @@ -18081,9 +18593,10 @@ typedef void* MTLSharedEvent_id; + - + @@ -18093,12 +18606,13 @@ typedef void* MTLSharedEvent_id; - + + @@ -18167,7 +18681,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18179,7 +18693,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18244,7 +18758,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18265,7 +18779,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18289,7 +18803,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18301,7 +18815,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18310,6 +18824,7 @@ typedef void* MTLSharedEvent_id; + @@ -18321,7 +18836,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18331,7 +18846,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18340,9 +18855,9 @@ typedef void* MTLSharedEvent_id; - + - + @@ -18362,7 +18877,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18375,9 +18890,10 @@ typedef void* MTLSharedEvent_id; + - + @@ -18401,12 +18917,13 @@ typedef void* MTLSharedEvent_id; - + + @@ -18421,7 +18938,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18513,6 +19030,7 @@ typedef void* MTLSharedEvent_id; + @@ -18566,7 +19084,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18574,6 +19092,7 @@ typedef void* MTLSharedEvent_id; + @@ -18622,21 +19141,21 @@ typedef void* MTLSharedEvent_id; - + - + - + @@ -18682,7 +19201,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18703,12 +19222,12 @@ typedef void* MTLSharedEvent_id; - + - + @@ -18741,7 +19260,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18768,23 +19287,25 @@ typedef void* MTLSharedEvent_id; + - + - - - - - - + + + + + + + @@ -18799,7 +19320,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18812,6 +19333,10 @@ typedef void* MTLSharedEvent_id; + + + + @@ -18820,7 +19345,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18838,7 +19363,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18900,7 +19425,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18969,7 +19494,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19052,13 +19577,19 @@ typedef void* MTLSharedEvent_id; + + + - + + + + @@ -19103,6 +19634,11 @@ typedef void* MTLSharedEvent_id; + + + + + @@ -19111,6 +19647,7 @@ typedef void* MTLSharedEvent_id; + @@ -19146,13 +19683,13 @@ typedef void* MTLSharedEvent_id; - + - + @@ -19229,6 +19766,7 @@ typedef void* MTLSharedEvent_id; + @@ -19248,7 +19786,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19271,7 +19809,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19301,7 +19839,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19324,6 +19862,21 @@ typedef void* MTLSharedEvent_id; + + + + + + + + + + + + + + + @@ -19332,7 +19885,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19341,8 +19894,11 @@ typedef void* MTLSharedEvent_id; + + + - + @@ -19370,7 +19926,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19463,14 +20019,14 @@ typedef void* MTLSharedEvent_id; - + - + @@ -19486,7 +20042,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19507,7 +20063,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19539,7 +20095,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19555,6 +20111,7 @@ typedef void* MTLSharedEvent_id; + @@ -19563,15 +20120,16 @@ typedef void* MTLSharedEvent_id; - + + - + @@ -19593,12 +20151,13 @@ typedef void* MTLSharedEvent_id; - + + @@ -19607,6 +20166,7 @@ typedef void* MTLSharedEvent_id; + @@ -19625,7 +20185,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19640,7 +20200,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19675,7 +20235,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19688,6 +20248,7 @@ typedef void* MTLSharedEvent_id; + @@ -19699,7 +20260,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19710,6 +20271,7 @@ typedef void* MTLSharedEvent_id; + @@ -19749,7 +20311,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19773,7 +20335,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19792,7 +20354,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19816,15 +20378,15 @@ typedef void* MTLSharedEvent_id; - + - + - + @@ -19841,8 +20403,12 @@ typedef void* MTLSharedEvent_id; + + + + - + @@ -19850,7 +20416,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19858,7 +20424,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19872,7 +20438,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19884,7 +20450,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19909,6 +20475,7 @@ typedef void* MTLSharedEvent_id; + @@ -19917,7 +20484,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19964,15 +20531,16 @@ typedef void* MTLSharedEvent_id; - + + - + @@ -19980,7 +20548,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20008,6 +20576,7 @@ typedef void* MTLSharedEvent_id; + @@ -20027,7 +20596,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20046,8 +20615,9 @@ typedef void* MTLSharedEvent_id; + - + @@ -20064,12 +20634,13 @@ typedef void* MTLSharedEvent_id; - + + @@ -20092,7 +20663,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20104,9 +20675,11 @@ typedef void* MTLSharedEvent_id; + + - + @@ -20129,8 +20702,9 @@ typedef void* MTLSharedEvent_id; + - + @@ -20150,7 +20724,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20158,6 +20732,7 @@ typedef void* MTLSharedEvent_id; + @@ -20172,7 +20747,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20185,6 +20760,7 @@ typedef void* MTLSharedEvent_id; + @@ -20193,12 +20769,14 @@ typedef void* MTLSharedEvent_id; - + + + @@ -20207,6 +20785,7 @@ typedef void* MTLSharedEvent_id; + @@ -20215,7 +20794,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20223,7 +20802,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20231,6 +20810,7 @@ typedef void* MTLSharedEvent_id; + @@ -20241,7 +20821,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20249,7 +20829,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20263,6 +20843,7 @@ typedef void* MTLSharedEvent_id; + @@ -20278,7 +20859,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20342,9 +20923,10 @@ typedef void* MTLSharedEvent_id; + - + @@ -20374,7 +20956,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20397,23 +20979,25 @@ typedef void* MTLSharedEvent_id; - + + - + + - + @@ -20424,9 +21008,10 @@ typedef void* MTLSharedEvent_id; + - + @@ -20444,10 +21029,7 @@ typedef void* MTLSharedEvent_id; - - - - + @@ -20483,9 +21065,10 @@ typedef void* MTLSharedEvent_id; + - + @@ -20510,7 +21093,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20518,13 +21101,14 @@ typedef void* MTLSharedEvent_id; - + + @@ -20552,6 +21136,7 @@ typedef void* MTLSharedEvent_id; + @@ -20560,7 +21145,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20590,6 +21175,7 @@ typedef void* MTLSharedEvent_id; + @@ -20609,7 +21195,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20632,9 +21218,10 @@ typedef void* MTLSharedEvent_id; + - + @@ -20666,10 +21253,10 @@ typedef void* MTLSharedEvent_id; - + @@ -20686,7 +21273,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20698,9 +21285,10 @@ typedef void* MTLSharedEvent_id; + - + @@ -20724,7 +21312,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20742,17 +21330,19 @@ typedef void* MTLSharedEvent_id; + - + + - + This extension requires buffer_device_address functionality. @@ -20798,9 +21388,10 @@ typedef void* MTLSharedEvent_id; + - + @@ -20816,7 +21407,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20824,9 +21415,10 @@ typedef void* MTLSharedEvent_id; + - + @@ -20834,6 +21426,7 @@ typedef void* MTLSharedEvent_id; + @@ -20847,7 +21440,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20859,9 +21452,10 @@ typedef void* MTLSharedEvent_id; + - + @@ -20874,9 +21468,10 @@ typedef void* MTLSharedEvent_id; + - + @@ -20884,7 +21479,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20894,7 +21489,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20906,6 +21501,7 @@ typedef void* MTLSharedEvent_id; + @@ -20970,7 +21566,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20980,6 +21576,7 @@ typedef void* MTLSharedEvent_id; + @@ -20988,7 +21585,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20996,9 +21593,10 @@ typedef void* MTLSharedEvent_id; + - + @@ -21015,6 +21613,7 @@ typedef void* MTLSharedEvent_id; + @@ -21024,7 +21623,7 @@ typedef void* MTLSharedEvent_id; - + @@ -21036,6 +21635,7 @@ typedef void* MTLSharedEvent_id; + @@ -21044,7 +21644,7 @@ typedef void* MTLSharedEvent_id; - + @@ -21117,12 +21717,12 @@ typedef void* MTLSharedEvent_id; - + - + @@ -21236,7 +21836,7 @@ typedef void* MTLSharedEvent_id; - + @@ -21323,6 +21923,7 @@ typedef void* MTLSharedEvent_id; + @@ -21339,6 +21940,11 @@ typedef void* MTLSharedEvent_id; + + + + + @@ -21393,7 +21999,7 @@ typedef void* MTLSharedEvent_id; - + @@ -21444,6 +22050,7 @@ typedef void* MTLSharedEvent_id; + @@ -21471,7 +22078,7 @@ typedef void* MTLSharedEvent_id; - + @@ -21487,17 +22094,19 @@ typedef void* MTLSharedEvent_id; + - + + - + @@ -21513,6 +22122,7 @@ typedef void* MTLSharedEvent_id; + @@ -21521,12 +22131,13 @@ typedef void* MTLSharedEvent_id; - + + @@ -21586,10 +22197,16 @@ typedef void* MTLSharedEvent_id; + + + + + + @@ -21597,7 +22214,7 @@ typedef void* MTLSharedEvent_id; - + VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT and @@ -21612,6 +22229,7 @@ typedef void* MTLSharedEvent_id; + @@ -21631,7 +22249,7 @@ typedef void* MTLSharedEvent_id; - + @@ -21645,23 +22263,25 @@ typedef void* MTLSharedEvent_id; - + + - + + - + @@ -21695,7 +22315,7 @@ typedef void* MTLSharedEvent_id; - + @@ -21715,9 +22335,10 @@ typedef void* MTLSharedEvent_id; + - + @@ -21728,9 +22349,10 @@ typedef void* MTLSharedEvent_id; + - + VkPhysicalDevice4444FormatsFeaturesEXT and @@ -21743,9 +22365,10 @@ typedef void* MTLSharedEvent_id; + - + @@ -21761,9 +22384,10 @@ typedef void* MTLSharedEvent_id; + - + @@ -21783,7 +22407,7 @@ typedef void* MTLSharedEvent_id; - + @@ -21791,7 +22415,7 @@ typedef void* MTLSharedEvent_id; - + @@ -21834,9 +22458,10 @@ typedef void* MTLSharedEvent_id; + - + @@ -21848,9 +22473,10 @@ typedef void* MTLSharedEvent_id; + - + @@ -21860,7 +22486,7 @@ typedef void* MTLSharedEvent_id; - + @@ -21872,9 +22498,10 @@ typedef void* MTLSharedEvent_id; + - + @@ -21882,14 +22509,16 @@ typedef void* MTLSharedEvent_id; + - + + @@ -21910,7 +22539,7 @@ typedef void* MTLSharedEvent_id; - + @@ -21938,7 +22567,7 @@ typedef void* MTLSharedEvent_id; - + @@ -21966,7 +22595,7 @@ typedef void* MTLSharedEvent_id; - + @@ -22018,7 +22647,7 @@ typedef void* MTLSharedEvent_id; - + @@ -22036,7 +22665,7 @@ typedef void* MTLSharedEvent_id; - + @@ -22048,7 +22677,7 @@ typedef void* MTLSharedEvent_id; - + @@ -22062,7 +22691,7 @@ typedef void* MTLSharedEvent_id; - + @@ -22141,9 +22770,10 @@ typedef void* MTLSharedEvent_id; + - + @@ -22154,9 +22784,10 @@ typedef void* MTLSharedEvent_id; + - + @@ -22172,6 +22803,7 @@ typedef void* MTLSharedEvent_id; + @@ -22197,7 +22829,7 @@ typedef void* MTLSharedEvent_id; - + @@ -22207,6 +22839,7 @@ typedef void* MTLSharedEvent_id; + @@ -22216,6 +22849,7 @@ typedef void* MTLSharedEvent_id; + @@ -22244,18 +22878,22 @@ typedef void* MTLSharedEvent_id; + - + - + + + + @@ -22263,7 +22901,7 @@ typedef void* MTLSharedEvent_id; - + @@ -22272,6 +22910,7 @@ typedef void* MTLSharedEvent_id; + @@ -22286,7 +22925,7 @@ typedef void* MTLSharedEvent_id; - + @@ -22294,9 +22933,10 @@ typedef void* MTLSharedEvent_id; + - + @@ -22308,15 +22948,17 @@ typedef void* MTLSharedEvent_id; + - + + @@ -22334,9 +22976,10 @@ typedef void* MTLSharedEvent_id; + - + @@ -22400,6 +23043,7 @@ typedef void* MTLSharedEvent_id; + @@ -22416,6 +23060,7 @@ typedef void* MTLSharedEvent_id; + @@ -22456,7 +23101,7 @@ typedef void* MTLSharedEvent_id; - + @@ -22517,6 +23162,7 @@ typedef void* MTLSharedEvent_id; + @@ -22526,6 +23172,7 @@ typedef void* MTLSharedEvent_id; + @@ -22544,6 +23191,7 @@ typedef void* MTLSharedEvent_id; + @@ -22568,6 +23216,7 @@ typedef void* MTLSharedEvent_id; + @@ -22582,9 +23231,10 @@ typedef void* MTLSharedEvent_id; + - + @@ -22593,6 +23243,7 @@ typedef void* MTLSharedEvent_id; + @@ -22602,7 +23253,7 @@ typedef void* MTLSharedEvent_id; - + @@ -22616,21 +23267,23 @@ typedef void* MTLSharedEvent_id; - + + - + + @@ -22639,7 +23292,7 @@ typedef void* MTLSharedEvent_id; - + @@ -22653,11 +23306,12 @@ typedef void* MTLSharedEvent_id; + - + - + @@ -22668,7 +23322,7 @@ typedef void* MTLSharedEvent_id; - + @@ -22682,7 +23336,7 @@ typedef void* MTLSharedEvent_id; - + @@ -22714,6 +23368,7 @@ typedef void* MTLSharedEvent_id; + @@ -22724,14 +23379,15 @@ typedef void* MTLSharedEvent_id; - + + - + @@ -22759,6 +23415,7 @@ typedef void* MTLSharedEvent_id; + @@ -22781,6 +23438,7 @@ typedef void* MTLSharedEvent_id; + @@ -22797,7 +23455,7 @@ typedef void* MTLSharedEvent_id; - + @@ -22812,8 +23470,11 @@ typedef void* MTLSharedEvent_id; + + + - + @@ -22882,16 +23543,17 @@ typedef void* MTLSharedEvent_id; - + - - + + + @@ -22905,7 +23567,7 @@ typedef void* MTLSharedEvent_id; - + @@ -22913,13 +23575,13 @@ typedef void* MTLSharedEvent_id; - + - + @@ -23037,7 +23699,7 @@ typedef void* MTLSharedEvent_id; - + @@ -23052,6 +23714,7 @@ typedef void* MTLSharedEvent_id; + @@ -23081,7 +23744,7 @@ typedef void* MTLSharedEvent_id; - + @@ -23096,9 +23759,10 @@ typedef void* MTLSharedEvent_id; + - + @@ -23114,7 +23778,7 @@ typedef void* MTLSharedEvent_id; - + @@ -23125,7 +23789,8 @@ typedef void* MTLSharedEvent_id; NV internal use only - + + @@ -23159,22 +23824,21 @@ typedef void* MTLSharedEvent_id; - + - + + - - - - - + + + - + @@ -23182,6 +23846,7 @@ typedef void* MTLSharedEvent_id; + @@ -23200,8 +23865,9 @@ typedef void* MTLSharedEvent_id; + - + @@ -23211,7 +23877,7 @@ typedef void* MTLSharedEvent_id; - + @@ -23233,6 +23899,7 @@ typedef void* MTLSharedEvent_id; + @@ -23281,10 +23948,10 @@ typedef void* MTLSharedEvent_id; - + - + @@ -23372,10 +24039,20 @@ typedef void* MTLSharedEvent_id; - + - - + + + + + + + + + + + + @@ -23410,9 +24087,10 @@ typedef void* MTLSharedEvent_id; + - + @@ -23470,6 +24148,7 @@ typedef void* MTLSharedEvent_id; + @@ -23537,15 +24216,51 @@ typedef void* MTLSharedEvent_id; - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -23555,12 +24270,13 @@ typedef void* MTLSharedEvent_id; + - + - + @@ -23582,12 +24298,13 @@ typedef void* MTLSharedEvent_id; - + + @@ -23655,6 +24372,7 @@ typedef void* MTLSharedEvent_id; + @@ -23675,12 +24393,18 @@ typedef void* MTLSharedEvent_id; + - + - - + + + + + + + @@ -23693,7 +24417,7 @@ typedef void* MTLSharedEvent_id; - + @@ -23709,14 +24433,16 @@ typedef void* MTLSharedEvent_id; + - + + @@ -23747,6 +24473,7 @@ typedef void* MTLSharedEvent_id; + @@ -23780,7 +24507,7 @@ typedef void* MTLSharedEvent_id; - + @@ -23793,6 +24520,7 @@ typedef void* MTLSharedEvent_id; + @@ -23828,10 +24556,15 @@ typedef void* MTLSharedEvent_id; - + - - + + + + + + + @@ -23875,6 +24608,7 @@ typedef void* MTLSharedEvent_id; + @@ -23884,6 +24618,7 @@ typedef void* MTLSharedEvent_id; + @@ -23903,6 +24638,7 @@ typedef void* MTLSharedEvent_id; + @@ -23926,6 +24662,7 @@ typedef void* MTLSharedEvent_id; + @@ -23949,7 +24686,7 @@ typedef void* MTLSharedEvent_id; - + @@ -23957,9 +24694,10 @@ typedef void* MTLSharedEvent_id; + - + @@ -23970,6 +24708,7 @@ typedef void* MTLSharedEvent_id; + @@ -23992,6 +24731,7 @@ typedef void* MTLSharedEvent_id; + @@ -24012,7 +24752,7 @@ typedef void* MTLSharedEvent_id; - + @@ -24033,16 +24773,17 @@ typedef void* MTLSharedEvent_id; - + + - + @@ -24105,7 +24846,7 @@ typedef void* MTLSharedEvent_id; - + @@ -24116,12 +24857,13 @@ typedef void* MTLSharedEvent_id; - + + @@ -24140,6 +24882,7 @@ typedef void* MTLSharedEvent_id; + @@ -24168,6 +24911,7 @@ typedef void* MTLSharedEvent_id; + @@ -24223,6 +24967,8 @@ typedef void* MTLSharedEvent_id; + + @@ -24237,6 +24983,7 @@ typedef void* MTLSharedEvent_id; + @@ -24251,16 +24998,22 @@ typedef void* MTLSharedEvent_id; - + - - + + + + + - + - - + + + + + @@ -24275,10 +25028,24 @@ typedef void* MTLSharedEvent_id; - + - - + + + + + + + + + + + + + + + + @@ -24287,12 +25054,16 @@ typedef void* MTLSharedEvent_id; + - + - - + + + + + @@ -24339,11 +25110,82 @@ typedef void* MTLSharedEvent_id; - + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -24352,6 +25194,227 @@ typedef void* MTLSharedEvent_id; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -25729,9 +26792,9 @@ typedef void* MTLSharedEvent_id; - - - + + + @@ -26001,6 +27064,15 @@ typedef void* MTLSharedEvent_id; + + + + + + + + + @@ -26354,6 +27426,12 @@ typedef void* MTLSharedEvent_id; + + + + + + @@ -26484,6 +27562,9 @@ typedef void* MTLSharedEvent_id; + + + @@ -26511,12 +27592,12 @@ typedef void* MTLSharedEvent_id; - - - + + + @@ -26608,6 +27689,9 @@ typedef void* MTLSharedEvent_id; + + + @@ -26748,6 +27832,12 @@ typedef void* MTLSharedEvent_id; + + + + + + @@ -26827,8 +27917,8 @@ typedef void* MTLSharedEvent_id; VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI - - VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV + + VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_EXT VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR @@ -26853,4 +27943,81 @@ typedef void* MTLSharedEvent_id; VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 8d85f4a289c12202d1361e7d740144d02e13893c Mon Sep 17 00:00:00 2001 From: David Herberth Date: Sun, 29 Sep 2024 12:30:01 +0200 Subject: [PATCH 127/138] utility: use modern version to build package --- utility/bump_version.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utility/bump_version.sh b/utility/bump_version.sh index a4da865a..9529eba6 100755 --- a/utility/bump_version.sh +++ b/utility/bump_version.sh @@ -39,6 +39,6 @@ git tag "v$VERSION" rm -rf build/ rm -rf dist/ -python setup.py sdist bdist_wheel +python -m build twine upload dist/* From 73db193f853e2ee079bf3ca8a64aa2eaf6459043 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Sun, 29 Sep 2024 12:30:44 +0200 Subject: [PATCH 128/138] setup: Bumped version: 2.0.8. --- glad/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glad/__init__.py b/glad/__init__.py index 503973e1..03e716aa 100644 --- a/glad/__init__.py +++ b/glad/__init__.py @@ -1,3 +1,3 @@ -__version__ = '2.0.7' +__version__ = '2.0.8' From f49229523c58ad7698e941f7c51454e77dd9d6a8 Mon Sep 17 00:00:00 2001 From: ltsdw <44977415+ltsdw@users.noreply.github.com> Date: Thu, 17 Oct 2024 05:19:13 -0300 Subject: [PATCH 129/138] cmake: adds missing CMake vulkan example and removes extra white spaces (#494) --- cmake/GladConfig.cmake | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/cmake/GladConfig.cmake b/cmake/GladConfig.cmake index c16b75c7..1065126f 100644 --- a/cmake/GladConfig.cmake +++ b/cmake/GladConfig.cmake @@ -35,6 +35,9 @@ # glad_add_library(glad_gl_compat_10 MODULE API gl:compatibility=1.0 EXTENSIONS GL_EXT_COMPRESSION_s3tc) # ``` # - create a static glad library with the vulkan=1.1 +# ``` +# glad_add_library(glad_vulkan_11 STATIC API vulkan=1.1) +# ``` # Extract specification, profile and version from a string # examples: @@ -179,9 +182,9 @@ function(glad_add_library TARGET) message(STATUS "Glad Library \'${TARGET}\'") find_package(Python COMPONENTS Interpreter REQUIRED) - + cmake_parse_arguments(GG "MERGE;QUIET;REPRODUCIBLE;STATIC;SHARED;MODULE;INTERFACE;EXCLUDE_FROM_ALL" "LOCATION;LANGUAGE" "API;EXTENSIONS" ${ARGN}) - + if(NOT GG_LOCATION) set(GG_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/gladsources/${TARGET}") endif() @@ -281,7 +284,7 @@ function(glad_add_library TARGET) PUBLIC ${CMAKE_DL_LIBS} ) - + if(GG_SHARED) target_compile_definitions("${TARGET}" PUBLIC GLAD_API_CALL_EXPORT) set_target_properties("${TARGET}" From 7acc116b06f40508b82fd90fc58d181be7e65452 Mon Sep 17 00:00:00 2001 From: carsonalh <47074583+carsonalh@users.noreply.github.com> Date: Sat, 25 Jan 2025 21:40:51 +1000 Subject: [PATCH 130/138] example: closes win32 window properly in WGL example (#504) Window did not respond properly to closing via the 'x' button. Tested on Windows 10. --- example/c/wgl.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/example/c/wgl.c b/example/c/wgl.c index 58370c7e..856cdcce 100644 --- a/example/c/wgl.c +++ b/example/c/wgl.c @@ -158,8 +158,10 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLi LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_QUIT: - case WM_DESTROY: case WM_CLOSE: + DestroyWindow(hWnd); + break; + case WM_DESTROY: PostQuitMessage(0); break; default: From 56e406e90a802e963bb18d9c94cf6589e5a6b0a9 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Wed, 26 Mar 2025 09:56:26 +0100 Subject: [PATCH 131/138] c: silence VS 'function call missing argument list' warnings closes: #508 --- glad/generator/c/templates/egl.c | 4 ++-- glad/generator/c/templates/gl.c | 2 +- glad/generator/c/templates/glx.c | 4 ++-- glad/generator/c/templates/loader/gles2.c | 8 ++++---- glad/generator/c/templates/vk.c | 2 +- glad/generator/c/templates/wgl.c | 2 +- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/glad/generator/c/templates/egl.c b/glad/generator/c/templates/egl.c index 5e03827a..3e4a9f2b 100644 --- a/glad/generator/c/templates/egl.c +++ b/glad/generator/c/templates/egl.c @@ -39,7 +39,7 @@ static int glad_egl_find_extensions_{{ api|lower }}(EGLDisplay display) { {% for extension in feature_set.extensions %} GLAD_{{ extension.name }} = glad_egl_has_extension(extensions, "{{ extension.name }}"); {% else %} - GLAD_UNUSED(glad_egl_has_extension); + GLAD_UNUSED(&glad_egl_has_extension); {% endfor %} return 1; @@ -114,4 +114,4 @@ int gladLoad{{ api|api }}(EGLDisplay display, GLADloadfunc load) { } {% endfor %} -{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/glad/generator/c/templates/gl.c b/glad/generator/c/templates/gl.c index d6b5074b..11feead7 100644 --- a/glad/generator/c/templates/gl.c +++ b/glad/generator/c/templates/gl.c @@ -132,7 +132,7 @@ static int glad_gl_find_extensions_{{ api|lower }}({{ template_utils.context_arg {% for extension in feature_set.extensions|select('supports', api) %} {{ ('GLAD_' + extension.name)|ctx(name_only=True) }} = glad_gl_has_extension(exts, exts_i, "{{ extension.name }}"); {% else %} - GLAD_UNUSED(glad_gl_has_extension); + GLAD_UNUSED(&glad_gl_has_extension); {% endfor %} glad_gl_free_extensions(exts_i); diff --git a/glad/generator/c/templates/glx.c b/glad/generator/c/templates/glx.c index c5665502..d9d34194 100644 --- a/glad/generator/c/templates/glx.c +++ b/glad/generator/c/templates/glx.c @@ -47,7 +47,7 @@ static int glad_glx_find_extensions(Display *display, int screen) { {% for extension in feature_set.extensions %} GLAD_{{ extension.name }} = glad_glx_has_extension(display, screen, "{{ extension.name }}"); {% else %} - GLAD_UNUSED(glad_glx_has_extension); + GLAD_UNUSED(&glad_glx_has_extension); {% endfor %} return 1; } @@ -100,4 +100,4 @@ int gladLoad{{ api|api }}(Display *display, int screen, GLADloadfunc load) { } {% endfor %} -{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/glad/generator/c/templates/loader/gles2.c b/glad/generator/c/templates/loader/gles2.c index f4248672..4047b495 100644 --- a/glad/generator/c/templates/loader/gles2.c +++ b/glad/generator/c/templates/loader/gles2.c @@ -29,7 +29,7 @@ static GLADapiproc glad_gles2_get_proc(void *vuserptr, const char* name) { GLADapiproc result = NULL; #if GLAD_PLATFORM_EMSCRIPTEN - GLAD_UNUSED(glad_dlsym_handle); + GLAD_UNUSED(&glad_dlsym_handle); #else {# /* dlsym first, since some implementations don't return function pointers for core functions */ #} result = glad_dlsym_handle(userptr.handle, name); @@ -56,7 +56,7 @@ static void* glad_gles2_dlopen_handle({{ template_utils.context_arg(def='void') #endif #if GLAD_PLATFORM_EMSCRIPTEN - GLAD_UNUSED(glad_get_dlopen_handle); + GLAD_UNUSED(&glad_get_dlopen_handle); return NULL; #else if ({{ loader_handle }} == NULL) { @@ -89,8 +89,8 @@ int gladLoaderLoadGLES2{{ 'Context' if options.mx }}({{ template_utils.context_a #if GLAD_PLATFORM_EMSCRIPTEN GLAD_UNUSED(handle); GLAD_UNUSED(did_load); - GLAD_UNUSED(glad_gles2_dlopen_handle); - GLAD_UNUSED(glad_gles2_build_userptr); + GLAD_UNUSED(&glad_gles2_dlopen_handle); + GLAD_UNUSED(&glad_gles2_build_userptr); userptr.get_proc_address_ptr = emscripten_GetProcAddress; version = gladLoadGLES2{{ 'Context' if options.mx }}UserPtr({{ 'context, ' if options.mx }}glad_gles2_get_proc, &userptr); #else diff --git a/glad/generator/c/templates/vk.c b/glad/generator/c/templates/vk.c index 2861a933..da3bd434 100644 --- a/glad/generator/c/templates/vk.c +++ b/glad/generator/c/templates/vk.c @@ -137,7 +137,7 @@ static int glad_vk_find_extensions_{{ api|lower }}({{ template_utils.context_arg {% endfor %} {# Special case: only one extension which is protected -> unused at compile time only on some platforms #} - GLAD_UNUSED(glad_vk_has_extension); + GLAD_UNUSED(&glad_vk_has_extension); glad_vk_free_extensions(extension_count, extensions); diff --git a/glad/generator/c/templates/wgl.c b/glad/generator/c/templates/wgl.c index 7586d028..8c886687 100644 --- a/glad/generator/c/templates/wgl.c +++ b/glad/generator/c/templates/wgl.c @@ -54,7 +54,7 @@ static int glad_wgl_find_extensions_{{ api|lower }}(HDC hdc) { {% for extension in feature_set.extensions %} GLAD_{{ extension.name }} = glad_wgl_has_extension(hdc, "{{ extension.name }}"); {% else %} - GLAD_UNUSED(glad_wgl_has_extension); + GLAD_UNUSED(&glad_wgl_has_extension); {% endfor %} return 1; } From 431786d8126e4f383a81e36f47b61a5d52a1c20d Mon Sep 17 00:00:00 2001 From: David Herberth Date: Sun, 11 May 2025 21:56:36 +0200 Subject: [PATCH 132/138] rust: makes struct members pub closes: #511 --- glad/generator/rust/templates/types/vk.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glad/generator/rust/templates/types/vk.rs b/glad/generator/rust/templates/types/vk.rs index ca6cc4e8..0d7a9a5f 100644 --- a/glad/generator/rust/templates/types/vk.rs +++ b/glad/generator/rust/templates/types/vk.rs @@ -97,7 +97,7 @@ pub enum {{ type.name }} { #[derive(Copy, Clone)] pub {{ type.category }} {{ type.name }} { {% for member in type.members %} - {{ member.name|identifier }}: {{ member.type|type }}, + pub {{ member.name|identifier }}: {{ member.type|type }}, {% endfor %} } {% elif type.category == 'bitmask' %} From 27bed1181560211b55e39a9b132fef8c5846aae5 Mon Sep 17 00:00:00 2001 From: David Herberth Date: Mon, 27 Oct 2025 14:17:20 -0400 Subject: [PATCH 133/138] vk: pins vulkan spec to working commit See: #526 --- glad/specification.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glad/specification.py b/glad/specification.py index 8030ee1e..b039b6e5 100644 --- a/glad/specification.py +++ b/glad/specification.py @@ -53,7 +53,7 @@ def protections(self, symbol, api=None, profile=None, feature_set=None): class VK(Specification): DISPLAY_NAME = 'Vulkan' - API = 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Docs/main/xml/' + API = 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Docs/ac3d0660c45ecf86b2952b298d125270228150d1/xml/' NAME = 'vk' def _magic_require(self, api, profile): From ff234d8399faea2ea7a45cf37e0cd4723f3226e0 Mon Sep 17 00:00:00 2001 From: RitchielRez <52417892+ritchielrez@users.noreply.github.com> Date: Sun, 18 Jan 2026 07:49:14 -0500 Subject: [PATCH 134/138] example: clarifies EGL loading steps with comments (#531) --- example/c/egl_x11/egl_x11.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/example/c/egl_x11/egl_x11.c b/example/c/egl_x11/egl_x11.c index 097b3654..143903d2 100644 --- a/example/c/egl_x11/egl_x11.c +++ b/example/c/egl_x11/egl_x11.c @@ -47,7 +47,9 @@ int main(void) { printf("Unable to create window.\n"); return 1; } - + // We need to load EGL before `eglInitialize()` and after it. + // Otherwise glad loads EGL 1.0. + // https://github.com/Dav1dde/glad/issues/177 int egl_version = gladLoaderLoadEGL(NULL); if (!egl_version) { printf("Unable to load EGL.\n"); @@ -61,12 +63,14 @@ int main(void) { printf("Got no EGL display.\n"); return 1; } - + if (!eglInitialize(egl_display, NULL, NULL)) { printf("Unable to initialize EGL\n"); return 1; } + // Try to load EGL again after calling `eglInitialize`, this time we pass the + // `egl_display`. egl_version = gladLoaderLoadEGL(egl_display); if (!egl_version) { printf("Unable to reload EGL.\n"); From bc4a7fb6d5bda34050f69288380ebe433d55f9bb Mon Sep 17 00:00:00 2001 From: Eddy Jansson Date: Sat, 31 Jan 2026 12:07:52 +0100 Subject: [PATCH 135/138] example: adds SDL3 example (#532) --- README.md | 1 + example/c/gl_sdl3.c | 68 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 example/c/gl_sdl3.c diff --git a/README.md b/README.md index 00d9d6ed..844ff8d2 100644 --- a/README.md +++ b/README.md @@ -60,6 +60,7 @@ Examples can be found [in the example directory](/example). Some examples: * [GL GLFW](example/c/gl_glfw.c) * [GL GLFW On-Demand loading](example/c/gl_glfw_on_demand.c) * [GL GLFW Multiple Windows/Contexts](example/c++/multiwin_mx/) + * [GL SDL3](example/c/gl_sdl3.c) * [GL SDL2](example/c/gl_sdl2.c) * [Vulkan GLFW](example/c/vulkan_tri_glfw/) * [GLX](example/c/glx.c) diff --git a/example/c/gl_sdl3.c b/example/c/gl_sdl3.c new file mode 100644 index 00000000..b7a52a3e --- /dev/null +++ b/example/c/gl_sdl3.c @@ -0,0 +1,68 @@ +// gcc $(pkg-config --cflags --libs sdl3) -I${GLAD_PATH}/include example/c/gl_sdl3.c ${GLAD_PATH}/src/gl.c +#include +#include + +#include +#include +#include + +const GLuint WIDTH = 800, HEIGHT = 600; + +int main(void) { + // code without checking for errors + SDL_Init(SDL_INIT_VIDEO); + + SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); + SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3); + SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 2); + SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE); + + SDL_Window *window; + SDL_Renderer *renderer; + + SDL_CreateWindowAndRenderer( + "[glad] GL with SDL3", + WIDTH, HEIGHT, + SDL_WINDOW_OPENGL, + &window, &renderer + ); + + SDL_GLContext context = SDL_GL_CreateContext(window); + + int version = gladLoadGL((GLADloadfunc) SDL_GL_GetProcAddress); + printf("GL %d.%d\n", GLAD_VERSION_MAJOR(version), GLAD_VERSION_MINOR(version)); + + int exit = 0; + while(!exit) { + SDL_Event event; + while (SDL_PollEvent(&event)) { + switch(event.type) { + case SDL_EVENT_WINDOW_CLOSE_REQUESTED: + /* fallthrough */ + case SDL_EVENT_QUIT: + exit = 1; + break; + case SDL_EVENT_KEY_DOWN: + if (event.key.key == SDLK_ESCAPE) { + exit = 1; + } + break; + default: + break; + } + } + + glClearColor(0.7f, 0.9f, 0.1f, 1.0f); + glClear(GL_COLOR_BUFFER_BIT); + + SDL_GL_SwapWindow(window); + SDL_Delay(1); + } + + SDL_GL_DestroyContext(context); + SDL_DestroyRenderer(renderer); + SDL_DestroyWindow(window); + SDL_Quit(); + + return 0; +} From a4ca574522ff69d0bb584584977aa9a53ace29d9 Mon Sep 17 00:00:00 2001 From: Eddy Jansson Date: Sat, 31 Jan 2026 17:46:58 +0100 Subject: [PATCH 136/138] example: adds SDL3 example (callback main) (#533) --- README.md | 1 + example/c/gl_sdl3_callbacks.c | 78 +++++++++++++++++++++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 example/c/gl_sdl3_callbacks.c diff --git a/README.md b/README.md index 844ff8d2..b44ff063 100644 --- a/README.md +++ b/README.md @@ -60,6 +60,7 @@ Examples can be found [in the example directory](/example). Some examples: * [GL GLFW](example/c/gl_glfw.c) * [GL GLFW On-Demand loading](example/c/gl_glfw_on_demand.c) * [GL GLFW Multiple Windows/Contexts](example/c++/multiwin_mx/) + * [GL SDL3 Callbacks](example/c/gl_sdl3_callbacks.c) * [GL SDL3](example/c/gl_sdl3.c) * [GL SDL2](example/c/gl_sdl2.c) * [Vulkan GLFW](example/c/vulkan_tri_glfw/) diff --git a/example/c/gl_sdl3_callbacks.c b/example/c/gl_sdl3_callbacks.c new file mode 100644 index 00000000..01739f28 --- /dev/null +++ b/example/c/gl_sdl3_callbacks.c @@ -0,0 +1,78 @@ +// gcc $(pkg-config --cflags --libs sdl3) -I${GLAD_PATH}/include gl_sdl3_callbacks.c ${GLAD_PATH}/src/gl.c +// +// Based on https://examples.libsdl.org/SDL3/renderer/01-clear/ +// +#include +#include + +#define SDL_MAIN_USE_CALLBACKS 1 +#include +#include + +static const GLuint WIDTH = 800, HEIGHT = 600; + +static SDL_Window *window; +static SDL_Renderer *renderer; +static SDL_GLContext GLContext; + +SDL_AppResult SDL_AppInit(void **appstate, int argc, char *argv[]) +{ + SDL_SetAppMetadata("GLAD SDL3 example", "1.0", "sh.glad.gen.sdl3.callbacks"); + + if (!SDL_Init(SDL_INIT_VIDEO)) { + SDL_Log("Couldn't initialize SDL: %s", SDL_GetError()); + return SDL_APP_FAILURE; + } + + SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); + SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3); + SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 2); + SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE); + + if (!SDL_CreateWindowAndRenderer("[glad] GL with SDL3 callback main", WIDTH, HEIGHT, SDL_WINDOW_RESIZABLE | SDL_WINDOW_OPENGL, &window, &renderer)) { + SDL_Log("Couldn't create window/renderer: %s", SDL_GetError()); + return SDL_APP_FAILURE; + } + + GLContext = SDL_GL_CreateContext(window); + + int version = gladLoadGL((GLADloadfunc) SDL_GL_GetProcAddress); + printf("GL %d.%d\n", GLAD_VERSION_MAJOR(version), GLAD_VERSION_MINOR(version)); + + return SDL_APP_CONTINUE; +} + +SDL_AppResult SDL_AppEvent(void *appstate, SDL_Event *event) +{ + if (event->type == SDL_EVENT_QUIT) { + return SDL_APP_SUCCESS; + } + + if (event->type == SDL_EVENT_KEY_DOWN && event->key.key == SDLK_ESCAPE) { + return SDL_APP_SUCCESS; + } + + return SDL_APP_CONTINUE; +} + +SDL_AppResult SDL_AppIterate(void *appstate) +{ + const double now = ((double)SDL_GetTicks()) / SDL_MS_PER_SECOND; + + const float red = (float) (0.5 + 0.5 * SDL_sin(now)); + const float green = (float) (0.5 + 0.5 * SDL_sin(now + SDL_PI_D * 2 / 3)); + const float blue = (float) (0.5 + 0.5 * SDL_sin(now + SDL_PI_D * 4 / 3)); + + glClearColor(red, green, blue, 1.0f); + glClear(GL_COLOR_BUFFER_BIT); + + SDL_GL_SwapWindow(window); + + return SDL_APP_CONTINUE; +} + +void SDL_AppQuit(void *appstate, SDL_AppResult result) +{ + SDL_GL_DestroyContext(GLContext); + /* SDL will clean up the window/renderer for us. */ +} From cef3f890c450a14701407c9fe50f5fd02f7440b7 Mon Sep 17 00:00:00 2001 From: Yao Zi Date: Thu, 9 Apr 2026 06:36:29 +0000 Subject: [PATCH 137/138] c: Try loading OpenGL through EGL if GLX isn't available (#536) On a UNIX system without X11 libraries, it's impossible to have libGL.so and glXGetProcAddressARB(). Currently GLAD would fail to load GL symbols in this case. Try also loading libEGL.so/libEGL.so.1 in OpenGL loader and fallback to eglGetProcAddress() to query GL symbols if glXGetProcAddressARB() isn't available. Since EGL version 1.5 released in 2014, it's required for eglGetProcAddress() to be able to query all client API functions instead of only extensions, which is quite early for a Wayland-only display stack, thus no function check or another fallback logic is added. Signed-off-by: Yao Zi --- glad/generator/c/templates/loader/gl.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/glad/generator/c/templates/loader/gl.c b/glad/generator/c/templates/loader/gl.c index 5d0b9cb9..dfc97d43 100644 --- a/glad/generator/c/templates/loader/gl.c +++ b/glad/generator/c/templates/loader/gl.c @@ -44,7 +44,9 @@ static void* glad_gl_dlopen_handle({{ template_utils.context_arg(def='void') }}) "libGL-1.so", #endif "libGL.so.1", - "libGL.so" + "libGL.so", + "libEGL.so.1", + "libEGL.so" }; #endif @@ -67,6 +69,9 @@ static struct _glad_gl_userptr glad_gl_build_userptr(void *handle) { #else userptr.gl_get_proc_address_ptr = (GLADglprocaddrfunc) glad_dlsym_handle(handle, "glXGetProcAddressARB"); + if (!userptr.gl_get_proc_address_ptr) + userptr.gl_get_proc_address_ptr = + (GLADglprocaddrfunc) glad_dlsym_handle(handle, "eglGetProcAddress"); #endif return userptr; From e3c14f906127dea49ead20ff4d5878294d08b7ab Mon Sep 17 00:00:00 2001 From: scribam Date: Thu, 18 Jun 2026 13:37:32 +0200 Subject: [PATCH 138/138] ci: fix build and bump action versions (#540) --- .github/workflows/glad2.yaml | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/.github/workflows/glad2.yaml b/.github/workflows/glad2.yaml index 93636573..b38b8266 100644 --- a/.github/workflows/glad2.yaml +++ b/.github/workflows/glad2.yaml @@ -6,26 +6,29 @@ jobs: test: name: Test runs-on: ubuntu-latest + env: + WINEDLLOVERRIDES: mscoree,mshtml= steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 + - uses: actions/checkout@v6 + - uses: actions/setup-python@v6 with: python-version: '3.x' + cache: 'pip' - name: Install Python dependencies - run: | - python -m pip install --upgrade pip - pip install -r requirements.txt + run: pip install -r requirements.txt - name: Install dependencies run: | + # Install wine + sudo mkdir -pm755 /etc/apt/keyrings + wget -O - https://dl.winehq.org/wine-builds/winehq.key | sudo gpg --dearmor -o /etc/apt/keyrings/winehq-archive.key - + sudo dpkg --add-architecture i386 + sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/noble/winehq-noble.sources sudo apt-get update - sudo apt-get install gcc g++ gcc-mingw-w64 g++-mingw-w64 rustc libglfw3-dev wine winetricks xvfb libxxf86vm-dev libxi-dev libxcursor-dev libxinerama-dev + sudo apt install --install-recommends winehq-stable + # Install remaining dependencies + sudo apt-get install gcc g++ gcc-mingw-w64 g++-mingw-w64 rustc libglfw3-dev winetricks xvfb libxxf86vm-dev libxi-dev libxcursor-dev libxinerama-dev - name: Setup environment - run: | - mkdir .wine - export WINEPREFIX="$(pwd)/.wine" - export WINEDLLOVERRIDES="mscoree,mshtml=" - - winetricks nocrashdialog + run: winetricks nocrashdialog - name: Run Tests run: PRINT_MESSAGE=1 xvfb-run --auto-servernum ./utility/test.sh - name: Publish Test Results