no message
This commit is contained in:
162
cocos/renderer/gfx-gles-common/GLESCommandPool.h
Normal file
162
cocos/renderer/gfx-gles-common/GLESCommandPool.h
Normal file
@@ -0,0 +1,162 @@
|
||||
/****************************************************************************
|
||||
Copyright (c) 2019-2023 Xiamen Yaji Software Co., Ltd.
|
||||
|
||||
http://www.cocos.com
|
||||
|
||||
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.
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
#include <type_traits>
|
||||
#include "core/memop/CachedArray.h"
|
||||
|
||||
namespace cc {
|
||||
namespace gfx {
|
||||
|
||||
// Multisampled Render to Texture
|
||||
enum class MSRTSupportLevel {
|
||||
NONE,
|
||||
LEVEL1,
|
||||
LEVEL2,
|
||||
};
|
||||
|
||||
// Framebuffer Fetch
|
||||
enum class FBFSupportLevel {
|
||||
NONE,
|
||||
COHERENT,
|
||||
NON_COHERENT_EXT,
|
||||
NON_COHERENT_QCOM,
|
||||
};
|
||||
|
||||
enum class GLESCmdType : uint8_t {
|
||||
BEGIN_RENDER_PASS,
|
||||
END_RENDER_PASS,
|
||||
BIND_STATES,
|
||||
DRAW,
|
||||
UPDATE_BUFFER,
|
||||
COPY_BUFFER_TO_TEXTURE,
|
||||
BLIT_TEXTURE,
|
||||
DISPATCH,
|
||||
BARRIER,
|
||||
QUERY,
|
||||
COUNT,
|
||||
};
|
||||
|
||||
struct GLESBindingMapping {
|
||||
ccstd::vector<int32_t> blockOffsets;
|
||||
ccstd::vector<int32_t> samplerTextureOffsets;
|
||||
uint32_t flexibleSet{0};
|
||||
};
|
||||
|
||||
class GLESCmd {
|
||||
public:
|
||||
GLESCmdType type;
|
||||
uint32_t refCount = 0;
|
||||
|
||||
explicit GLESCmd(GLESCmdType type) : type(type) {}
|
||||
virtual ~GLESCmd() = default;
|
||||
|
||||
virtual void clear() = 0;
|
||||
};
|
||||
|
||||
#define GLES_COMMAND_POOL_INITIAL_CAPACITY 1
|
||||
|
||||
template <typename T, typename = std::enable_if_t<std::is_base_of<GLESCmd, T>::value>>
|
||||
class CommandPool {
|
||||
public:
|
||||
CommandPool() : _freeCmds(GLES_COMMAND_POOL_INITIAL_CAPACITY) {
|
||||
_frees = ccnew T *[GLES_COMMAND_POOL_INITIAL_CAPACITY];
|
||||
_count = GLES_COMMAND_POOL_INITIAL_CAPACITY;
|
||||
_freeIdx = GLES_COMMAND_POOL_INITIAL_CAPACITY - 1;
|
||||
for (uint32_t i = 0; i < _count; ++i) {
|
||||
_frees[i] = ccnew T;
|
||||
}
|
||||
}
|
||||
|
||||
~CommandPool() {
|
||||
for (uint32_t i = 0; i < _count; ++i) {
|
||||
delete _frees[i];
|
||||
}
|
||||
delete[](_frees);
|
||||
|
||||
for (uint32_t i = 0; i < _freeCmds.size(); ++i) {
|
||||
delete _freeCmds[i];
|
||||
}
|
||||
_freeCmds.clear();
|
||||
}
|
||||
|
||||
T *alloc() {
|
||||
if (_freeIdx < 0) {
|
||||
T **oldFrees = _frees;
|
||||
uint32_t size = _count * 2;
|
||||
_frees = ccnew T *[size];
|
||||
uint32_t increase = size - _count;
|
||||
for (uint32_t i = 0; i < increase; ++i) {
|
||||
_frees[i] = ccnew T;
|
||||
}
|
||||
for (uint32_t i = increase, j = 0; i < size; ++i, ++j) {
|
||||
_frees[i] = oldFrees[j];
|
||||
}
|
||||
delete[](oldFrees);
|
||||
|
||||
_count = size;
|
||||
_freeIdx += static_cast<int>(increase);
|
||||
}
|
||||
|
||||
T *cmd = _frees[_freeIdx];
|
||||
_frees[_freeIdx--] = nullptr;
|
||||
++cmd->refCount;
|
||||
return cmd;
|
||||
}
|
||||
|
||||
void free(T *cmd) {
|
||||
if (--cmd->refCount == 0) {
|
||||
_freeCmds.push(cmd);
|
||||
}
|
||||
}
|
||||
|
||||
void freeCmds(CachedArray<T *> &cmds) {
|
||||
for (uint32_t i = 0; i < cmds.size(); ++i) {
|
||||
if (--cmds[i]->refCount == 0) {
|
||||
_freeCmds.push(cmds[i]);
|
||||
}
|
||||
}
|
||||
cmds.clear();
|
||||
}
|
||||
|
||||
void release() {
|
||||
for (uint32_t i = 0; i < _freeCmds.size(); ++i) {
|
||||
T *cmd = _freeCmds[i];
|
||||
cmd->clear();
|
||||
_frees[++_freeIdx] = cmd;
|
||||
}
|
||||
_freeCmds.clear();
|
||||
}
|
||||
|
||||
protected:
|
||||
T **_frees = nullptr;
|
||||
uint32_t _count = 0;
|
||||
CachedArray<T *> _freeCmds;
|
||||
int _freeIdx = 0;
|
||||
};
|
||||
|
||||
} // namespace gfx
|
||||
} // namespace cc
|
||||
719
cocos/renderer/gfx-gles-common/eglw.cpp
Normal file
719
cocos/renderer/gfx-gles-common/eglw.cpp
Normal file
@@ -0,0 +1,719 @@
|
||||
/****************************************************************************
|
||||
Copyright (c) 2019-2023 Xiamen Yaji Software Co., Ltd.
|
||||
|
||||
http://www.cocos.com
|
||||
|
||||
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.
|
||||
****************************************************************************/
|
||||
|
||||
#include "eglw.h"
|
||||
|
||||
#if (CC_PLATFORM != CC_PLATFORM_IOS)
|
||||
/**
|
||||
* ========================= !DO NOT CHANGE THE FOLLOWING SECTION MANUALLY! =========================
|
||||
* The following section is auto-generated from EGL spec by running:
|
||||
* node tools/gles-wrangler-generator/generate.js
|
||||
* ========================= !DO NOT CHANGE THE FOLLOWING SECTION MANUALLY! =========================
|
||||
*/
|
||||
|
||||
/* EGLW_GENERATE_EGL_DEFINITION */
|
||||
PFNEGLGETPROCADDRESSPROC eglGetProcAddress;
|
||||
|
||||
/* EGL_VERSION_1_0 */
|
||||
PFNEGLCHOOSECONFIGPROC eglChooseConfig;
|
||||
PFNEGLCOPYBUFFERSPROC eglCopyBuffers;
|
||||
PFNEGLCREATECONTEXTPROC eglCreateContext;
|
||||
PFNEGLCREATEPBUFFERSURFACEPROC eglCreatePbufferSurface;
|
||||
PFNEGLCREATEPIXMAPSURFACEPROC eglCreatePixmapSurface;
|
||||
PFNEGLCREATEWINDOWSURFACEPROC eglCreateWindowSurface;
|
||||
PFNEGLDESTROYCONTEXTPROC eglDestroyContext;
|
||||
PFNEGLDESTROYSURFACEPROC eglDestroySurface;
|
||||
PFNEGLGETCONFIGATTRIBPROC eglGetConfigAttrib;
|
||||
PFNEGLGETCONFIGSPROC eglGetConfigs;
|
||||
PFNEGLGETCURRENTDISPLAYPROC eglGetCurrentDisplay;
|
||||
PFNEGLGETCURRENTSURFACEPROC eglGetCurrentSurface;
|
||||
PFNEGLGETDISPLAYPROC eglGetDisplay;
|
||||
PFNEGLGETERRORPROC eglGetError;
|
||||
PFNEGLINITIALIZEPROC eglInitialize;
|
||||
PFNEGLMAKECURRENTPROC eglMakeCurrent;
|
||||
PFNEGLQUERYCONTEXTPROC eglQueryContext;
|
||||
PFNEGLQUERYSTRINGPROC eglQueryString;
|
||||
PFNEGLQUERYSURFACEPROC eglQuerySurface;
|
||||
PFNEGLSWAPBUFFERSPROC eglSwapBuffers;
|
||||
PFNEGLTERMINATEPROC eglTerminate;
|
||||
PFNEGLWAITGLPROC eglWaitGL;
|
||||
PFNEGLWAITNATIVEPROC eglWaitNative;
|
||||
|
||||
/* EGL_VERSION_1_1 */
|
||||
PFNEGLBINDTEXIMAGEPROC eglBindTexImage;
|
||||
PFNEGLRELEASETEXIMAGEPROC eglReleaseTexImage;
|
||||
PFNEGLSURFACEATTRIBPROC eglSurfaceAttrib;
|
||||
PFNEGLSWAPINTERVALPROC eglSwapInterval;
|
||||
|
||||
/* EGL_VERSION_1_2 */
|
||||
PFNEGLBINDAPIPROC eglBindAPI;
|
||||
PFNEGLQUERYAPIPROC eglQueryAPI;
|
||||
PFNEGLCREATEPBUFFERFROMCLIENTBUFFERPROC eglCreatePbufferFromClientBuffer;
|
||||
PFNEGLRELEASETHREADPROC eglReleaseThread;
|
||||
PFNEGLWAITCLIENTPROC eglWaitClient;
|
||||
|
||||
/* EGL_VERSION_1_3 */
|
||||
|
||||
/* EGL_VERSION_1_4 */
|
||||
PFNEGLGETCURRENTCONTEXTPROC eglGetCurrentContext;
|
||||
|
||||
/* EGL_VERSION_1_5 */
|
||||
PFNEGLCREATESYNCPROC eglCreateSync;
|
||||
PFNEGLDESTROYSYNCPROC eglDestroySync;
|
||||
PFNEGLCLIENTWAITSYNCPROC eglClientWaitSync;
|
||||
PFNEGLGETSYNCATTRIBPROC eglGetSyncAttrib;
|
||||
|
||||
PFNEGLCREATEIMAGEPROC eglCreateImage;
|
||||
PFNEGLDESTROYIMAGEPROC eglDestroyImage;
|
||||
|
||||
PFNEGLGETPLATFORMDISPLAYPROC eglGetPlatformDisplay;
|
||||
PFNEGLCREATEPLATFORMWINDOWSURFACEPROC eglCreatePlatformWindowSurface;
|
||||
PFNEGLCREATEPLATFORMPIXMAPSURFACEPROC eglCreatePlatformPixmapSurface;
|
||||
|
||||
PFNEGLWAITSYNCPROC eglWaitSync;
|
||||
|
||||
#if defined(EGL_ANDROID_blob_cache)
|
||||
PFNEGLSETBLOBCACHEFUNCSANDROIDPROC eglSetBlobCacheFuncsANDROID;
|
||||
#endif /* defined(EGL_ANDROID_blob_cache) */
|
||||
|
||||
#if defined(EGL_ANDROID_create_native_client_buffer)
|
||||
PFNEGLCREATENATIVECLIENTBUFFERANDROIDPROC eglCreateNativeClientBufferANDROID;
|
||||
#endif /* defined(EGL_ANDROID_create_native_client_buffer) */
|
||||
|
||||
#if defined(EGL_ANDROID_get_native_client_buffer)
|
||||
PFNEGLGETNATIVECLIENTBUFFERANDROIDPROC eglGetNativeClientBufferANDROID;
|
||||
#endif /* defined(EGL_ANDROID_get_native_client_buffer) */
|
||||
|
||||
#if defined(EGL_ANDROID_native_fence_sync)
|
||||
PFNEGLDUPNATIVEFENCEFDANDROIDPROC eglDupNativeFenceFDANDROID;
|
||||
#endif /* defined(EGL_ANDROID_native_fence_sync) */
|
||||
|
||||
#if defined(EGL_ANDROID_presentation_time)
|
||||
PFNEGLPRESENTATIONTIMEANDROIDPROC eglPresentationTimeANDROID;
|
||||
#endif /* defined(EGL_ANDROID_presentation_time) */
|
||||
|
||||
#if defined(EGL_ANDROID_get_frame_timestamps)
|
||||
PFNEGLGETCOMPOSITORTIMINGSUPPORTEDANDROIDPROC eglGetCompositorTimingSupportedANDROID;
|
||||
PFNEGLGETCOMPOSITORTIMINGANDROIDPROC eglGetCompositorTimingANDROID;
|
||||
PFNEGLGETNEXTFRAMEIDANDROIDPROC eglGetNextFrameIdANDROID;
|
||||
PFNEGLGETFRAMETIMESTAMPSUPPORTEDANDROIDPROC eglGetFrameTimestampSupportedANDROID;
|
||||
PFNEGLGETFRAMETIMESTAMPSANDROIDPROC eglGetFrameTimestampsANDROID;
|
||||
#endif /* defined(EGL_ANDROID_get_frame_timestamps) */
|
||||
|
||||
#if defined(EGL_ANGLE_query_surface_pointer)
|
||||
PFNEGLQUERYSURFACEPOINTERANGLEPROC eglQuerySurfacePointerANGLE;
|
||||
#endif /* defined(EGL_ANGLE_query_surface_pointer) */
|
||||
|
||||
#if defined(EGL_ANGLE_sync_control_rate)
|
||||
PFNEGLGETMSCRATEANGLEPROC eglGetMscRateANGLE;
|
||||
#endif /* defined(EGL_ANGLE_sync_control_rate) */
|
||||
|
||||
#if defined(EGL_EXT_client_sync)
|
||||
PFNEGLCLIENTSIGNALSYNCEXTPROC eglClientSignalSyncEXT;
|
||||
#endif /* defined(EGL_EXT_client_sync) */
|
||||
|
||||
#if defined(EGL_EXT_device_base)
|
||||
PFNEGLQUERYDEVICEATTRIBEXTPROC eglQueryDeviceAttribEXT;
|
||||
PFNEGLQUERYDEVICESTRINGEXTPROC eglQueryDeviceStringEXT;
|
||||
PFNEGLQUERYDEVICESEXTPROC eglQueryDevicesEXT;
|
||||
PFNEGLQUERYDISPLAYATTRIBEXTPROC eglQueryDisplayAttribEXT;
|
||||
#endif /* defined(EGL_EXT_device_base) */
|
||||
|
||||
#if defined(EGL_EXT_image_dma_buf_import_modifiers)
|
||||
PFNEGLQUERYDMABUFFORMATSEXTPROC eglQueryDmaBufFormatsEXT;
|
||||
PFNEGLQUERYDMABUFMODIFIERSEXTPROC eglQueryDmaBufModifiersEXT;
|
||||
#endif /* defined(EGL_EXT_image_dma_buf_import_modifiers) */
|
||||
|
||||
#if defined(EGL_EXT_output_base)
|
||||
PFNEGLGETOUTPUTLAYERSEXTPROC eglGetOutputLayersEXT;
|
||||
PFNEGLGETOUTPUTPORTSEXTPROC eglGetOutputPortsEXT;
|
||||
PFNEGLOUTPUTLAYERATTRIBEXTPROC eglOutputLayerAttribEXT;
|
||||
PFNEGLQUERYOUTPUTLAYERATTRIBEXTPROC eglQueryOutputLayerAttribEXT;
|
||||
PFNEGLQUERYOUTPUTLAYERSTRINGEXTPROC eglQueryOutputLayerStringEXT;
|
||||
PFNEGLOUTPUTPORTATTRIBEXTPROC eglOutputPortAttribEXT;
|
||||
PFNEGLQUERYOUTPUTPORTATTRIBEXTPROC eglQueryOutputPortAttribEXT;
|
||||
PFNEGLQUERYOUTPUTPORTSTRINGEXTPROC eglQueryOutputPortStringEXT;
|
||||
#endif /* defined(EGL_EXT_output_base) */
|
||||
|
||||
#if defined(EGL_EXT_platform_base)
|
||||
PFNEGLGETPLATFORMDISPLAYEXTPROC eglGetPlatformDisplayEXT;
|
||||
PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC eglCreatePlatformWindowSurfaceEXT;
|
||||
PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC eglCreatePlatformPixmapSurfaceEXT;
|
||||
#endif /* defined(EGL_EXT_platform_base) */
|
||||
|
||||
#if defined(EGL_EXT_stream_consumer_egloutput)
|
||||
PFNEGLSTREAMCONSUMEROUTPUTEXTPROC eglStreamConsumerOutputEXT;
|
||||
#endif /* defined(EGL_EXT_stream_consumer_egloutput) */
|
||||
|
||||
#if defined(EGL_EXT_swap_buffers_with_damage)
|
||||
PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC eglSwapBuffersWithDamageEXT;
|
||||
#endif /* defined(EGL_EXT_swap_buffers_with_damage) */
|
||||
|
||||
#if defined(EGL_EXT_sync_reuse)
|
||||
PFNEGLUNSIGNALSYNCEXTPROC eglUnsignalSyncEXT;
|
||||
#endif /* defined(EGL_EXT_sync_reuse) */
|
||||
|
||||
#if defined(EGL_HI_clientpixmap)
|
||||
PFNEGLCREATEPIXMAPSURFACEHIPROC eglCreatePixmapSurfaceHI;
|
||||
#endif /* defined(EGL_HI_clientpixmap) */
|
||||
|
||||
#if defined(EGL_KHR_cl_event2)
|
||||
PFNEGLCREATESYNC64KHRPROC eglCreateSync64KHR;
|
||||
#endif /* defined(EGL_KHR_cl_event2) */
|
||||
|
||||
#if defined(EGL_KHR_debug)
|
||||
PFNEGLDEBUGMESSAGECONTROLKHRPROC eglDebugMessageControlKHR;
|
||||
PFNEGLQUERYDEBUGKHRPROC eglQueryDebugKHR;
|
||||
PFNEGLLABELOBJECTKHRPROC eglLabelObjectKHR;
|
||||
#endif /* defined(EGL_KHR_debug) */
|
||||
|
||||
#if defined(EGL_KHR_display_reference)
|
||||
PFNEGLQUERYDISPLAYATTRIBKHRPROC eglQueryDisplayAttribKHR;
|
||||
#endif /* defined(EGL_KHR_display_reference) */
|
||||
|
||||
#if defined(EGL_KHR_fence_sync)
|
||||
PFNEGLCREATESYNCKHRPROC eglCreateSyncKHR;
|
||||
PFNEGLDESTROYSYNCKHRPROC eglDestroySyncKHR;
|
||||
PFNEGLCLIENTWAITSYNCKHRPROC eglClientWaitSyncKHR;
|
||||
PFNEGLGETSYNCATTRIBKHRPROC eglGetSyncAttribKHR;
|
||||
#endif /* defined(EGL_KHR_fence_sync) */
|
||||
|
||||
#if defined(EGL_KHR_image)
|
||||
PFNEGLCREATEIMAGEKHRPROC eglCreateImageKHR;
|
||||
PFNEGLDESTROYIMAGEKHRPROC eglDestroyImageKHR;
|
||||
#endif /* defined(EGL_KHR_image) */
|
||||
|
||||
#if defined(EGL_KHR_lock_surface)
|
||||
PFNEGLLOCKSURFACEKHRPROC eglLockSurfaceKHR;
|
||||
PFNEGLUNLOCKSURFACEKHRPROC eglUnlockSurfaceKHR;
|
||||
#endif /* defined(EGL_KHR_lock_surface) */
|
||||
|
||||
#if defined(EGL_KHR_lock_surface3)
|
||||
PFNEGLQUERYSURFACE64KHRPROC eglQuerySurface64KHR;
|
||||
#endif /* defined(EGL_KHR_lock_surface3) */
|
||||
|
||||
#if defined(EGL_KHR_partial_update)
|
||||
PFNEGLSETDAMAGEREGIONKHRPROC eglSetDamageRegionKHR;
|
||||
#endif /* defined(EGL_KHR_partial_update) */
|
||||
|
||||
#if defined(EGL_KHR_reusable_sync)
|
||||
PFNEGLSIGNALSYNCKHRPROC eglSignalSyncKHR;
|
||||
#endif /* defined(EGL_KHR_reusable_sync) */
|
||||
|
||||
#if defined(EGL_KHR_stream)
|
||||
PFNEGLCREATESTREAMKHRPROC eglCreateStreamKHR;
|
||||
PFNEGLDESTROYSTREAMKHRPROC eglDestroyStreamKHR;
|
||||
PFNEGLSTREAMATTRIBKHRPROC eglStreamAttribKHR;
|
||||
PFNEGLQUERYSTREAMKHRPROC eglQueryStreamKHR;
|
||||
PFNEGLQUERYSTREAMU64KHRPROC eglQueryStreamu64KHR;
|
||||
#endif /* defined(EGL_KHR_stream) */
|
||||
|
||||
#if defined(EGL_KHR_stream_attrib)
|
||||
PFNEGLCREATESTREAMATTRIBKHRPROC eglCreateStreamAttribKHR;
|
||||
PFNEGLSETSTREAMATTRIBKHRPROC eglSetStreamAttribKHR;
|
||||
PFNEGLQUERYSTREAMATTRIBKHRPROC eglQueryStreamAttribKHR;
|
||||
PFNEGLSTREAMCONSUMERACQUIREATTRIBKHRPROC eglStreamConsumerAcquireAttribKHR;
|
||||
PFNEGLSTREAMCONSUMERRELEASEATTRIBKHRPROC eglStreamConsumerReleaseAttribKHR;
|
||||
#endif /* defined(EGL_KHR_stream_attrib) */
|
||||
|
||||
#if defined(EGL_KHR_stream_consumer_gltexture)
|
||||
PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC eglStreamConsumerGLTextureExternalKHR;
|
||||
PFNEGLSTREAMCONSUMERACQUIREKHRPROC eglStreamConsumerAcquireKHR;
|
||||
PFNEGLSTREAMCONSUMERRELEASEKHRPROC eglStreamConsumerReleaseKHR;
|
||||
#endif /* defined(EGL_KHR_stream_consumer_gltexture) */
|
||||
|
||||
#if defined(EGL_KHR_stream_cross_process_fd)
|
||||
PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC eglGetStreamFileDescriptorKHR;
|
||||
PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC eglCreateStreamFromFileDescriptorKHR;
|
||||
#endif /* defined(EGL_KHR_stream_cross_process_fd) */
|
||||
|
||||
#if defined(EGL_KHR_stream_fifo)
|
||||
PFNEGLQUERYSTREAMTIMEKHRPROC eglQueryStreamTimeKHR;
|
||||
#endif /* defined(EGL_KHR_stream_fifo) */
|
||||
|
||||
#if defined(EGL_KHR_stream_producer_eglsurface)
|
||||
PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC eglCreateStreamProducerSurfaceKHR;
|
||||
#endif /* defined(EGL_KHR_stream_producer_eglsurface) */
|
||||
|
||||
#if defined(EGL_KHR_swap_buffers_with_damage)
|
||||
PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC eglSwapBuffersWithDamageKHR;
|
||||
#endif /* defined(EGL_KHR_swap_buffers_with_damage) */
|
||||
|
||||
#if defined(EGL_KHR_wait_sync)
|
||||
PFNEGLWAITSYNCKHRPROC eglWaitSyncKHR;
|
||||
#endif /* defined(EGL_KHR_wait_sync) */
|
||||
|
||||
#if defined(EGL_MESA_drm_image)
|
||||
PFNEGLCREATEDRMIMAGEMESAPROC eglCreateDRMImageMESA;
|
||||
PFNEGLEXPORTDRMIMAGEMESAPROC eglExportDRMImageMESA;
|
||||
#endif /* defined(EGL_MESA_drm_image) */
|
||||
|
||||
#if defined(EGL_MESA_image_dma_buf_export)
|
||||
PFNEGLEXPORTDMABUFIMAGEQUERYMESAPROC eglExportDMABUFImageQueryMESA;
|
||||
PFNEGLEXPORTDMABUFIMAGEMESAPROC eglExportDMABUFImageMESA;
|
||||
#endif /* defined(EGL_MESA_image_dma_buf_export) */
|
||||
|
||||
#if defined(EGL_MESA_query_driver)
|
||||
PFNEGLGETDISPLAYDRIVERCONFIGPROC eglGetDisplayDriverConfig;
|
||||
PFNEGLGETDISPLAYDRIVERNAMEPROC eglGetDisplayDriverName;
|
||||
#endif /* defined(EGL_MESA_query_driver) */
|
||||
|
||||
#if defined(EGL_NOK_swap_region)
|
||||
PFNEGLSWAPBUFFERSREGIONNOKPROC eglSwapBuffersRegionNOK;
|
||||
#endif /* defined(EGL_NOK_swap_region) */
|
||||
|
||||
#if defined(EGL_NOK_swap_region2)
|
||||
PFNEGLSWAPBUFFERSREGION2NOKPROC eglSwapBuffersRegion2NOK;
|
||||
#endif /* defined(EGL_NOK_swap_region2) */
|
||||
|
||||
#if defined(EGL_NV_native_query)
|
||||
PFNEGLQUERYNATIVEDISPLAYNVPROC eglQueryNativeDisplayNV;
|
||||
PFNEGLQUERYNATIVEWINDOWNVPROC eglQueryNativeWindowNV;
|
||||
PFNEGLQUERYNATIVEPIXMAPNVPROC eglQueryNativePixmapNV;
|
||||
#endif /* defined(EGL_NV_native_query) */
|
||||
|
||||
#if defined(EGL_NV_post_sub_buffer)
|
||||
PFNEGLPOSTSUBBUFFERNVPROC eglPostSubBufferNV;
|
||||
#endif /* defined(EGL_NV_post_sub_buffer) */
|
||||
|
||||
#if defined(EGL_NV_stream_consumer_gltexture_yuv)
|
||||
PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALATTRIBSNVPROC eglStreamConsumerGLTextureExternalAttribsNV;
|
||||
#endif /* defined(EGL_NV_stream_consumer_gltexture_yuv) */
|
||||
|
||||
#if defined(EGL_NV_stream_consumer_eglimage)
|
||||
PFNEGLSTREAMIMAGECONSUMERCONNECTNVPROC eglStreamImageConsumerConnectNV;
|
||||
PFNEGLQUERYSTREAMCONSUMEREVENTNVPROC eglQueryStreamConsumerEventNV;
|
||||
PFNEGLSTREAMACQUIREIMAGENVPROC eglStreamAcquireImageNV;
|
||||
PFNEGLSTREAMRELEASEIMAGENVPROC eglStreamReleaseImageNV;
|
||||
#endif /* defined(EGL_NV_stream_consumer_eglimage) */
|
||||
|
||||
#if defined(EGL_NV_stream_flush)
|
||||
PFNEGLSTREAMFLUSHNVPROC eglStreamFlushNV;
|
||||
#endif /* defined(EGL_NV_stream_flush) */
|
||||
|
||||
#if defined(EGL_NV_stream_metadata)
|
||||
PFNEGLQUERYDISPLAYATTRIBNVPROC eglQueryDisplayAttribNV;
|
||||
PFNEGLSETSTREAMMETADATANVPROC eglSetStreamMetadataNV;
|
||||
PFNEGLQUERYSTREAMMETADATANVPROC eglQueryStreamMetadataNV;
|
||||
#endif /* defined(EGL_NV_stream_metadata) */
|
||||
|
||||
#if defined(EGL_NV_stream_reset)
|
||||
PFNEGLRESETSTREAMNVPROC eglResetStreamNV;
|
||||
#endif /* defined(EGL_NV_stream_reset) */
|
||||
|
||||
#if defined(EGL_NV_stream_sync)
|
||||
PFNEGLCREATESTREAMSYNCNVPROC eglCreateStreamSyncNV;
|
||||
#endif /* defined(EGL_NV_stream_sync) */
|
||||
|
||||
#if defined(EGL_NV_sync)
|
||||
PFNEGLCREATEFENCESYNCNVPROC eglCreateFenceSyncNV;
|
||||
PFNEGLDESTROYSYNCNVPROC eglDestroySyncNV;
|
||||
PFNEGLFENCENVPROC eglFenceNV;
|
||||
PFNEGLCLIENTWAITSYNCNVPROC eglClientWaitSyncNV;
|
||||
PFNEGLSIGNALSYNCNVPROC eglSignalSyncNV;
|
||||
PFNEGLGETSYNCATTRIBNVPROC eglGetSyncAttribNV;
|
||||
#endif /* defined(EGL_NV_sync) */
|
||||
|
||||
#if defined(EGL_NV_system_time)
|
||||
PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC eglGetSystemTimeFrequencyNV;
|
||||
PFNEGLGETSYSTEMTIMENVPROC eglGetSystemTimeNV;
|
||||
#endif /* defined(EGL_NV_system_time) */
|
||||
|
||||
#if defined(EGL_EXT_compositor)
|
||||
PFNEGLCOMPOSITORSETCONTEXTLISTEXTPROC eglCompositorSetContextListEXT;
|
||||
PFNEGLCOMPOSITORSETCONTEXTATTRIBUTESEXTPROC eglCompositorSetContextAttributesEXT;
|
||||
PFNEGLCOMPOSITORSETWINDOWLISTEXTPROC eglCompositorSetWindowListEXT;
|
||||
PFNEGLCOMPOSITORSETWINDOWATTRIBUTESEXTPROC eglCompositorSetWindowAttributesEXT;
|
||||
PFNEGLCOMPOSITORBINDTEXWINDOWEXTPROC eglCompositorBindTexWindowEXT;
|
||||
PFNEGLCOMPOSITORSETSIZEEXTPROC eglCompositorSetSizeEXT;
|
||||
PFNEGLCOMPOSITORSWAPPOLICYEXTPROC eglCompositorSwapPolicyEXT;
|
||||
#endif /* defined(EGL_EXT_compositor) */
|
||||
|
||||
#if defined(EGL_WL_bind_wayland_display)
|
||||
PFNEGLBINDWAYLANDDISPLAYWLPROC eglBindWaylandDisplayWL;
|
||||
PFNEGLUNBINDWAYLANDDISPLAYWLPROC eglUnbindWaylandDisplayWL;
|
||||
PFNEGLQUERYWAYLANDBUFFERWLPROC eglQueryWaylandBufferWL;
|
||||
#endif /* defined(EGL_WL_bind_wayland_display) */
|
||||
|
||||
#if defined(EGL_WL_create_wayland_buffer_from_image)
|
||||
PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWLPROC eglCreateWaylandBufferFromImageWL;
|
||||
#endif /* defined(EGL_WL_create_wayland_buffer_from_image) */
|
||||
|
||||
/* EGLW_GENERATE_EGL_DEFINITION */
|
||||
|
||||
/**
|
||||
* ========================= !DO NOT CHANGE THE ABOVE SECTION MANUALLY! =========================
|
||||
* The above section is auto-generated from EGL spec by running:
|
||||
* node tools/gles-wrangler-generator/generate.js
|
||||
* ========================= !DO NOT CHANGE THE ABOVE SECTION MANUALLY! =========================
|
||||
*/
|
||||
#endif
|
||||
|
||||
void eglwLoadProcs(PFNEGLWLOADPROC eglwLoad) {
|
||||
#if (CC_PLATFORM != CC_PLATFORM_IOS)
|
||||
/**
|
||||
* ========================= !DO NOT CHANGE THE FOLLOWING SECTION MANUALLY! =========================
|
||||
* The following section is auto-generated from EGL spec by running:
|
||||
* node tools/gles-wrangler-generator/generate.js
|
||||
* ========================= !DO NOT CHANGE THE FOLLOWING SECTION MANUALLY! =========================
|
||||
*/
|
||||
|
||||
/* EGLW_GENERATE_EGL_LOAD */
|
||||
eglGetProcAddress = reinterpret_cast<PFNEGLGETPROCADDRESSPROC>(eglwLoad("eglGetProcAddress"));
|
||||
|
||||
/* EGL_VERSION_1_0 */
|
||||
eglChooseConfig = reinterpret_cast<PFNEGLCHOOSECONFIGPROC>(eglwLoad("eglChooseConfig"));
|
||||
eglCopyBuffers = reinterpret_cast<PFNEGLCOPYBUFFERSPROC>(eglwLoad("eglCopyBuffers"));
|
||||
eglCreateContext = reinterpret_cast<PFNEGLCREATECONTEXTPROC>(eglwLoad("eglCreateContext"));
|
||||
eglCreatePbufferSurface = reinterpret_cast<PFNEGLCREATEPBUFFERSURFACEPROC>(eglwLoad("eglCreatePbufferSurface"));
|
||||
eglCreatePixmapSurface = reinterpret_cast<PFNEGLCREATEPIXMAPSURFACEPROC>(eglwLoad("eglCreatePixmapSurface"));
|
||||
eglCreateWindowSurface = reinterpret_cast<PFNEGLCREATEWINDOWSURFACEPROC>(eglwLoad("eglCreateWindowSurface"));
|
||||
eglDestroyContext = reinterpret_cast<PFNEGLDESTROYCONTEXTPROC>(eglwLoad("eglDestroyContext"));
|
||||
eglDestroySurface = reinterpret_cast<PFNEGLDESTROYSURFACEPROC>(eglwLoad("eglDestroySurface"));
|
||||
eglGetConfigAttrib = reinterpret_cast<PFNEGLGETCONFIGATTRIBPROC>(eglwLoad("eglGetConfigAttrib"));
|
||||
eglGetConfigs = reinterpret_cast<PFNEGLGETCONFIGSPROC>(eglwLoad("eglGetConfigs"));
|
||||
eglGetCurrentDisplay = reinterpret_cast<PFNEGLGETCURRENTDISPLAYPROC>(eglwLoad("eglGetCurrentDisplay"));
|
||||
eglGetCurrentSurface = reinterpret_cast<PFNEGLGETCURRENTSURFACEPROC>(eglwLoad("eglGetCurrentSurface"));
|
||||
eglGetDisplay = reinterpret_cast<PFNEGLGETDISPLAYPROC>(eglwLoad("eglGetDisplay"));
|
||||
eglGetError = reinterpret_cast<PFNEGLGETERRORPROC>(eglwLoad("eglGetError"));
|
||||
eglInitialize = reinterpret_cast<PFNEGLINITIALIZEPROC>(eglwLoad("eglInitialize"));
|
||||
eglMakeCurrent = reinterpret_cast<PFNEGLMAKECURRENTPROC>(eglwLoad("eglMakeCurrent"));
|
||||
eglQueryContext = reinterpret_cast<PFNEGLQUERYCONTEXTPROC>(eglwLoad("eglQueryContext"));
|
||||
eglQueryString = reinterpret_cast<PFNEGLQUERYSTRINGPROC>(eglwLoad("eglQueryString"));
|
||||
eglQuerySurface = reinterpret_cast<PFNEGLQUERYSURFACEPROC>(eglwLoad("eglQuerySurface"));
|
||||
eglSwapBuffers = reinterpret_cast<PFNEGLSWAPBUFFERSPROC>(eglwLoad("eglSwapBuffers"));
|
||||
eglTerminate = reinterpret_cast<PFNEGLTERMINATEPROC>(eglwLoad("eglTerminate"));
|
||||
eglWaitGL = reinterpret_cast<PFNEGLWAITGLPROC>(eglwLoad("eglWaitGL"));
|
||||
eglWaitNative = reinterpret_cast<PFNEGLWAITNATIVEPROC>(eglwLoad("eglWaitNative"));
|
||||
|
||||
/* EGL_VERSION_1_1 */
|
||||
eglBindTexImage = reinterpret_cast<PFNEGLBINDTEXIMAGEPROC>(eglwLoad("eglBindTexImage"));
|
||||
eglReleaseTexImage = reinterpret_cast<PFNEGLRELEASETEXIMAGEPROC>(eglwLoad("eglReleaseTexImage"));
|
||||
eglSurfaceAttrib = reinterpret_cast<PFNEGLSURFACEATTRIBPROC>(eglwLoad("eglSurfaceAttrib"));
|
||||
eglSwapInterval = reinterpret_cast<PFNEGLSWAPINTERVALPROC>(eglwLoad("eglSwapInterval"));
|
||||
|
||||
/* EGL_VERSION_1_2 */
|
||||
eglBindAPI = reinterpret_cast<PFNEGLBINDAPIPROC>(eglwLoad("eglBindAPI"));
|
||||
eglQueryAPI = reinterpret_cast<PFNEGLQUERYAPIPROC>(eglwLoad("eglQueryAPI"));
|
||||
eglCreatePbufferFromClientBuffer = reinterpret_cast<PFNEGLCREATEPBUFFERFROMCLIENTBUFFERPROC>(eglwLoad("eglCreatePbufferFromClientBuffer"));
|
||||
eglReleaseThread = reinterpret_cast<PFNEGLRELEASETHREADPROC>(eglwLoad("eglReleaseThread"));
|
||||
eglWaitClient = reinterpret_cast<PFNEGLWAITCLIENTPROC>(eglwLoad("eglWaitClient"));
|
||||
|
||||
/* EGL_VERSION_1_3 */
|
||||
|
||||
/* EGL_VERSION_1_4 */
|
||||
eglGetCurrentContext = reinterpret_cast<PFNEGLGETCURRENTCONTEXTPROC>(eglwLoad("eglGetCurrentContext"));
|
||||
|
||||
/* EGL_VERSION_1_5 */
|
||||
eglCreateSync = reinterpret_cast<PFNEGLCREATESYNCPROC>(eglwLoad("eglCreateSync"));
|
||||
eglDestroySync = reinterpret_cast<PFNEGLDESTROYSYNCPROC>(eglwLoad("eglDestroySync"));
|
||||
eglClientWaitSync = reinterpret_cast<PFNEGLCLIENTWAITSYNCPROC>(eglwLoad("eglClientWaitSync"));
|
||||
eglGetSyncAttrib = reinterpret_cast<PFNEGLGETSYNCATTRIBPROC>(eglwLoad("eglGetSyncAttrib"));
|
||||
|
||||
eglCreateImage = reinterpret_cast<PFNEGLCREATEIMAGEPROC>(eglwLoad("eglCreateImage"));
|
||||
eglDestroyImage = reinterpret_cast<PFNEGLDESTROYIMAGEPROC>(eglwLoad("eglDestroyImage"));
|
||||
|
||||
eglGetPlatformDisplay = reinterpret_cast<PFNEGLGETPLATFORMDISPLAYPROC>(eglwLoad("eglGetPlatformDisplay"));
|
||||
eglCreatePlatformWindowSurface = reinterpret_cast<PFNEGLCREATEPLATFORMWINDOWSURFACEPROC>(eglwLoad("eglCreatePlatformWindowSurface"));
|
||||
eglCreatePlatformPixmapSurface = reinterpret_cast<PFNEGLCREATEPLATFORMPIXMAPSURFACEPROC>(eglwLoad("eglCreatePlatformPixmapSurface"));
|
||||
|
||||
eglWaitSync = reinterpret_cast<PFNEGLWAITSYNCPROC>(eglwLoad("eglWaitSync"));
|
||||
|
||||
#if defined(EGL_ANDROID_blob_cache)
|
||||
eglSetBlobCacheFuncsANDROID = reinterpret_cast<PFNEGLSETBLOBCACHEFUNCSANDROIDPROC>(eglwLoad("eglSetBlobCacheFuncsANDROID"));
|
||||
#endif /* defined(EGL_ANDROID_blob_cache) */
|
||||
|
||||
#if defined(EGL_ANDROID_create_native_client_buffer)
|
||||
eglCreateNativeClientBufferANDROID = reinterpret_cast<PFNEGLCREATENATIVECLIENTBUFFERANDROIDPROC>(eglwLoad("eglCreateNativeClientBufferANDROID"));
|
||||
#endif /* defined(EGL_ANDROID_create_native_client_buffer) */
|
||||
|
||||
#if defined(EGL_ANDROID_get_native_client_buffer)
|
||||
eglGetNativeClientBufferANDROID = reinterpret_cast<PFNEGLGETNATIVECLIENTBUFFERANDROIDPROC>(eglwLoad("eglGetNativeClientBufferANDROID"));
|
||||
#endif /* defined(EGL_ANDROID_get_native_client_buffer) */
|
||||
|
||||
#if defined(EGL_ANDROID_native_fence_sync)
|
||||
eglDupNativeFenceFDANDROID = reinterpret_cast<PFNEGLDUPNATIVEFENCEFDANDROIDPROC>(eglwLoad("eglDupNativeFenceFDANDROID"));
|
||||
#endif /* defined(EGL_ANDROID_native_fence_sync) */
|
||||
|
||||
#if defined(EGL_ANDROID_presentation_time)
|
||||
eglPresentationTimeANDROID = reinterpret_cast<PFNEGLPRESENTATIONTIMEANDROIDPROC>(eglwLoad("eglPresentationTimeANDROID"));
|
||||
#endif /* defined(EGL_ANDROID_presentation_time) */
|
||||
|
||||
#if defined(EGL_ANDROID_get_frame_timestamps)
|
||||
eglGetCompositorTimingSupportedANDROID = reinterpret_cast<PFNEGLGETCOMPOSITORTIMINGSUPPORTEDANDROIDPROC>(eglwLoad("eglGetCompositorTimingSupportedANDROID"));
|
||||
eglGetCompositorTimingANDROID = reinterpret_cast<PFNEGLGETCOMPOSITORTIMINGANDROIDPROC>(eglwLoad("eglGetCompositorTimingANDROID"));
|
||||
eglGetNextFrameIdANDROID = reinterpret_cast<PFNEGLGETNEXTFRAMEIDANDROIDPROC>(eglwLoad("eglGetNextFrameIdANDROID"));
|
||||
eglGetFrameTimestampSupportedANDROID = reinterpret_cast<PFNEGLGETFRAMETIMESTAMPSUPPORTEDANDROIDPROC>(eglwLoad("eglGetFrameTimestampSupportedANDROID"));
|
||||
eglGetFrameTimestampsANDROID = reinterpret_cast<PFNEGLGETFRAMETIMESTAMPSANDROIDPROC>(eglwLoad("eglGetFrameTimestampsANDROID"));
|
||||
#endif /* defined(EGL_ANDROID_get_frame_timestamps) */
|
||||
|
||||
#if defined(EGL_ANGLE_query_surface_pointer)
|
||||
eglQuerySurfacePointerANGLE = reinterpret_cast<PFNEGLQUERYSURFACEPOINTERANGLEPROC>(eglwLoad("eglQuerySurfacePointerANGLE"));
|
||||
#endif /* defined(EGL_ANGLE_query_surface_pointer) */
|
||||
|
||||
#if defined(EGL_ANGLE_sync_control_rate)
|
||||
eglGetMscRateANGLE = reinterpret_cast<PFNEGLGETMSCRATEANGLEPROC>(eglwLoad("eglGetMscRateANGLE"));
|
||||
#endif /* defined(EGL_ANGLE_sync_control_rate) */
|
||||
|
||||
#if defined(EGL_EXT_client_sync)
|
||||
eglClientSignalSyncEXT = reinterpret_cast<PFNEGLCLIENTSIGNALSYNCEXTPROC>(eglwLoad("eglClientSignalSyncEXT"));
|
||||
#endif /* defined(EGL_EXT_client_sync) */
|
||||
|
||||
#if defined(EGL_EXT_device_base)
|
||||
eglQueryDeviceAttribEXT = reinterpret_cast<PFNEGLQUERYDEVICEATTRIBEXTPROC>(eglwLoad("eglQueryDeviceAttribEXT"));
|
||||
eglQueryDeviceStringEXT = reinterpret_cast<PFNEGLQUERYDEVICESTRINGEXTPROC>(eglwLoad("eglQueryDeviceStringEXT"));
|
||||
eglQueryDevicesEXT = reinterpret_cast<PFNEGLQUERYDEVICESEXTPROC>(eglwLoad("eglQueryDevicesEXT"));
|
||||
eglQueryDisplayAttribEXT = reinterpret_cast<PFNEGLQUERYDISPLAYATTRIBEXTPROC>(eglwLoad("eglQueryDisplayAttribEXT"));
|
||||
#endif /* defined(EGL_EXT_device_base) */
|
||||
|
||||
#if defined(EGL_EXT_image_dma_buf_import_modifiers)
|
||||
eglQueryDmaBufFormatsEXT = reinterpret_cast<PFNEGLQUERYDMABUFFORMATSEXTPROC>(eglwLoad("eglQueryDmaBufFormatsEXT"));
|
||||
eglQueryDmaBufModifiersEXT = reinterpret_cast<PFNEGLQUERYDMABUFMODIFIERSEXTPROC>(eglwLoad("eglQueryDmaBufModifiersEXT"));
|
||||
#endif /* defined(EGL_EXT_image_dma_buf_import_modifiers) */
|
||||
|
||||
#if defined(EGL_EXT_output_base)
|
||||
eglGetOutputLayersEXT = reinterpret_cast<PFNEGLGETOUTPUTLAYERSEXTPROC>(eglwLoad("eglGetOutputLayersEXT"));
|
||||
eglGetOutputPortsEXT = reinterpret_cast<PFNEGLGETOUTPUTPORTSEXTPROC>(eglwLoad("eglGetOutputPortsEXT"));
|
||||
eglOutputLayerAttribEXT = reinterpret_cast<PFNEGLOUTPUTLAYERATTRIBEXTPROC>(eglwLoad("eglOutputLayerAttribEXT"));
|
||||
eglQueryOutputLayerAttribEXT = reinterpret_cast<PFNEGLQUERYOUTPUTLAYERATTRIBEXTPROC>(eglwLoad("eglQueryOutputLayerAttribEXT"));
|
||||
eglQueryOutputLayerStringEXT = reinterpret_cast<PFNEGLQUERYOUTPUTLAYERSTRINGEXTPROC>(eglwLoad("eglQueryOutputLayerStringEXT"));
|
||||
eglOutputPortAttribEXT = reinterpret_cast<PFNEGLOUTPUTPORTATTRIBEXTPROC>(eglwLoad("eglOutputPortAttribEXT"));
|
||||
eglQueryOutputPortAttribEXT = reinterpret_cast<PFNEGLQUERYOUTPUTPORTATTRIBEXTPROC>(eglwLoad("eglQueryOutputPortAttribEXT"));
|
||||
eglQueryOutputPortStringEXT = reinterpret_cast<PFNEGLQUERYOUTPUTPORTSTRINGEXTPROC>(eglwLoad("eglQueryOutputPortStringEXT"));
|
||||
#endif /* defined(EGL_EXT_output_base) */
|
||||
|
||||
#if defined(EGL_EXT_platform_base)
|
||||
eglGetPlatformDisplayEXT = reinterpret_cast<PFNEGLGETPLATFORMDISPLAYEXTPROC>(eglwLoad("eglGetPlatformDisplayEXT"));
|
||||
eglCreatePlatformWindowSurfaceEXT = reinterpret_cast<PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC>(eglwLoad("eglCreatePlatformWindowSurfaceEXT"));
|
||||
eglCreatePlatformPixmapSurfaceEXT = reinterpret_cast<PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC>(eglwLoad("eglCreatePlatformPixmapSurfaceEXT"));
|
||||
#endif /* defined(EGL_EXT_platform_base) */
|
||||
|
||||
#if defined(EGL_EXT_stream_consumer_egloutput)
|
||||
eglStreamConsumerOutputEXT = reinterpret_cast<PFNEGLSTREAMCONSUMEROUTPUTEXTPROC>(eglwLoad("eglStreamConsumerOutputEXT"));
|
||||
#endif /* defined(EGL_EXT_stream_consumer_egloutput) */
|
||||
|
||||
#if defined(EGL_EXT_swap_buffers_with_damage)
|
||||
eglSwapBuffersWithDamageEXT = reinterpret_cast<PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC>(eglwLoad("eglSwapBuffersWithDamageEXT"));
|
||||
#endif /* defined(EGL_EXT_swap_buffers_with_damage) */
|
||||
|
||||
#if defined(EGL_EXT_sync_reuse)
|
||||
eglUnsignalSyncEXT = reinterpret_cast<PFNEGLUNSIGNALSYNCEXTPROC>(eglwLoad("eglUnsignalSyncEXT"));
|
||||
#endif /* defined(EGL_EXT_sync_reuse) */
|
||||
|
||||
#if defined(EGL_HI_clientpixmap)
|
||||
eglCreatePixmapSurfaceHI = reinterpret_cast<PFNEGLCREATEPIXMAPSURFACEHIPROC>(eglwLoad("eglCreatePixmapSurfaceHI"));
|
||||
#endif /* defined(EGL_HI_clientpixmap) */
|
||||
|
||||
#if defined(EGL_KHR_cl_event2)
|
||||
eglCreateSync64KHR = reinterpret_cast<PFNEGLCREATESYNC64KHRPROC>(eglwLoad("eglCreateSync64KHR"));
|
||||
#endif /* defined(EGL_KHR_cl_event2) */
|
||||
|
||||
#if defined(EGL_KHR_debug)
|
||||
eglDebugMessageControlKHR = reinterpret_cast<PFNEGLDEBUGMESSAGECONTROLKHRPROC>(eglwLoad("eglDebugMessageControlKHR"));
|
||||
eglQueryDebugKHR = reinterpret_cast<PFNEGLQUERYDEBUGKHRPROC>(eglwLoad("eglQueryDebugKHR"));
|
||||
eglLabelObjectKHR = reinterpret_cast<PFNEGLLABELOBJECTKHRPROC>(eglwLoad("eglLabelObjectKHR"));
|
||||
#endif /* defined(EGL_KHR_debug) */
|
||||
|
||||
#if defined(EGL_KHR_display_reference)
|
||||
eglQueryDisplayAttribKHR = reinterpret_cast<PFNEGLQUERYDISPLAYATTRIBKHRPROC>(eglwLoad("eglQueryDisplayAttribKHR"));
|
||||
#endif /* defined(EGL_KHR_display_reference) */
|
||||
|
||||
#if defined(EGL_KHR_fence_sync)
|
||||
eglCreateSyncKHR = reinterpret_cast<PFNEGLCREATESYNCKHRPROC>(eglwLoad("eglCreateSyncKHR"));
|
||||
eglDestroySyncKHR = reinterpret_cast<PFNEGLDESTROYSYNCKHRPROC>(eglwLoad("eglDestroySyncKHR"));
|
||||
eglClientWaitSyncKHR = reinterpret_cast<PFNEGLCLIENTWAITSYNCKHRPROC>(eglwLoad("eglClientWaitSyncKHR"));
|
||||
eglGetSyncAttribKHR = reinterpret_cast<PFNEGLGETSYNCATTRIBKHRPROC>(eglwLoad("eglGetSyncAttribKHR"));
|
||||
#endif /* defined(EGL_KHR_fence_sync) */
|
||||
|
||||
#if defined(EGL_KHR_image)
|
||||
eglCreateImageKHR = reinterpret_cast<PFNEGLCREATEIMAGEKHRPROC>(eglwLoad("eglCreateImageKHR"));
|
||||
eglDestroyImageKHR = reinterpret_cast<PFNEGLDESTROYIMAGEKHRPROC>(eglwLoad("eglDestroyImageKHR"));
|
||||
#endif /* defined(EGL_KHR_image) */
|
||||
|
||||
#if defined(EGL_KHR_lock_surface)
|
||||
eglLockSurfaceKHR = reinterpret_cast<PFNEGLLOCKSURFACEKHRPROC>(eglwLoad("eglLockSurfaceKHR"));
|
||||
eglUnlockSurfaceKHR = reinterpret_cast<PFNEGLUNLOCKSURFACEKHRPROC>(eglwLoad("eglUnlockSurfaceKHR"));
|
||||
#endif /* defined(EGL_KHR_lock_surface) */
|
||||
|
||||
#if defined(EGL_KHR_lock_surface3)
|
||||
eglQuerySurface64KHR = reinterpret_cast<PFNEGLQUERYSURFACE64KHRPROC>(eglwLoad("eglQuerySurface64KHR"));
|
||||
#endif /* defined(EGL_KHR_lock_surface3) */
|
||||
|
||||
#if defined(EGL_KHR_partial_update)
|
||||
eglSetDamageRegionKHR = reinterpret_cast<PFNEGLSETDAMAGEREGIONKHRPROC>(eglwLoad("eglSetDamageRegionKHR"));
|
||||
#endif /* defined(EGL_KHR_partial_update) */
|
||||
|
||||
#if defined(EGL_KHR_reusable_sync)
|
||||
eglSignalSyncKHR = reinterpret_cast<PFNEGLSIGNALSYNCKHRPROC>(eglwLoad("eglSignalSyncKHR"));
|
||||
#endif /* defined(EGL_KHR_reusable_sync) */
|
||||
|
||||
#if defined(EGL_KHR_stream)
|
||||
eglCreateStreamKHR = reinterpret_cast<PFNEGLCREATESTREAMKHRPROC>(eglwLoad("eglCreateStreamKHR"));
|
||||
eglDestroyStreamKHR = reinterpret_cast<PFNEGLDESTROYSTREAMKHRPROC>(eglwLoad("eglDestroyStreamKHR"));
|
||||
eglStreamAttribKHR = reinterpret_cast<PFNEGLSTREAMATTRIBKHRPROC>(eglwLoad("eglStreamAttribKHR"));
|
||||
eglQueryStreamKHR = reinterpret_cast<PFNEGLQUERYSTREAMKHRPROC>(eglwLoad("eglQueryStreamKHR"));
|
||||
eglQueryStreamu64KHR = reinterpret_cast<PFNEGLQUERYSTREAMU64KHRPROC>(eglwLoad("eglQueryStreamu64KHR"));
|
||||
#endif /* defined(EGL_KHR_stream) */
|
||||
|
||||
#if defined(EGL_KHR_stream_attrib)
|
||||
eglCreateStreamAttribKHR = reinterpret_cast<PFNEGLCREATESTREAMATTRIBKHRPROC>(eglwLoad("eglCreateStreamAttribKHR"));
|
||||
eglSetStreamAttribKHR = reinterpret_cast<PFNEGLSETSTREAMATTRIBKHRPROC>(eglwLoad("eglSetStreamAttribKHR"));
|
||||
eglQueryStreamAttribKHR = reinterpret_cast<PFNEGLQUERYSTREAMATTRIBKHRPROC>(eglwLoad("eglQueryStreamAttribKHR"));
|
||||
eglStreamConsumerAcquireAttribKHR = reinterpret_cast<PFNEGLSTREAMCONSUMERACQUIREATTRIBKHRPROC>(eglwLoad("eglStreamConsumerAcquireAttribKHR"));
|
||||
eglStreamConsumerReleaseAttribKHR = reinterpret_cast<PFNEGLSTREAMCONSUMERRELEASEATTRIBKHRPROC>(eglwLoad("eglStreamConsumerReleaseAttribKHR"));
|
||||
#endif /* defined(EGL_KHR_stream_attrib) */
|
||||
|
||||
#if defined(EGL_KHR_stream_consumer_gltexture)
|
||||
eglStreamConsumerGLTextureExternalKHR = reinterpret_cast<PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC>(eglwLoad("eglStreamConsumerGLTextureExternalKHR"));
|
||||
eglStreamConsumerAcquireKHR = reinterpret_cast<PFNEGLSTREAMCONSUMERACQUIREKHRPROC>(eglwLoad("eglStreamConsumerAcquireKHR"));
|
||||
eglStreamConsumerReleaseKHR = reinterpret_cast<PFNEGLSTREAMCONSUMERRELEASEKHRPROC>(eglwLoad("eglStreamConsumerReleaseKHR"));
|
||||
#endif /* defined(EGL_KHR_stream_consumer_gltexture) */
|
||||
|
||||
#if defined(EGL_KHR_stream_cross_process_fd)
|
||||
eglGetStreamFileDescriptorKHR = reinterpret_cast<PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC>(eglwLoad("eglGetStreamFileDescriptorKHR"));
|
||||
eglCreateStreamFromFileDescriptorKHR = reinterpret_cast<PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC>(eglwLoad("eglCreateStreamFromFileDescriptorKHR"));
|
||||
#endif /* defined(EGL_KHR_stream_cross_process_fd) */
|
||||
|
||||
#if defined(EGL_KHR_stream_fifo)
|
||||
eglQueryStreamTimeKHR = reinterpret_cast<PFNEGLQUERYSTREAMTIMEKHRPROC>(eglwLoad("eglQueryStreamTimeKHR"));
|
||||
#endif /* defined(EGL_KHR_stream_fifo) */
|
||||
|
||||
#if defined(EGL_KHR_stream_producer_eglsurface)
|
||||
eglCreateStreamProducerSurfaceKHR = reinterpret_cast<PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC>(eglwLoad("eglCreateStreamProducerSurfaceKHR"));
|
||||
#endif /* defined(EGL_KHR_stream_producer_eglsurface) */
|
||||
|
||||
#if defined(EGL_KHR_swap_buffers_with_damage)
|
||||
eglSwapBuffersWithDamageKHR = reinterpret_cast<PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC>(eglwLoad("eglSwapBuffersWithDamageKHR"));
|
||||
#endif /* defined(EGL_KHR_swap_buffers_with_damage) */
|
||||
|
||||
#if defined(EGL_KHR_wait_sync)
|
||||
eglWaitSyncKHR = reinterpret_cast<PFNEGLWAITSYNCKHRPROC>(eglwLoad("eglWaitSyncKHR"));
|
||||
#endif /* defined(EGL_KHR_wait_sync) */
|
||||
|
||||
#if defined(EGL_MESA_drm_image)
|
||||
eglCreateDRMImageMESA = reinterpret_cast<PFNEGLCREATEDRMIMAGEMESAPROC>(eglwLoad("eglCreateDRMImageMESA"));
|
||||
eglExportDRMImageMESA = reinterpret_cast<PFNEGLEXPORTDRMIMAGEMESAPROC>(eglwLoad("eglExportDRMImageMESA"));
|
||||
#endif /* defined(EGL_MESA_drm_image) */
|
||||
|
||||
#if defined(EGL_MESA_image_dma_buf_export)
|
||||
eglExportDMABUFImageQueryMESA = reinterpret_cast<PFNEGLEXPORTDMABUFIMAGEQUERYMESAPROC>(eglwLoad("eglExportDMABUFImageQueryMESA"));
|
||||
eglExportDMABUFImageMESA = reinterpret_cast<PFNEGLEXPORTDMABUFIMAGEMESAPROC>(eglwLoad("eglExportDMABUFImageMESA"));
|
||||
#endif /* defined(EGL_MESA_image_dma_buf_export) */
|
||||
|
||||
#if defined(EGL_MESA_query_driver)
|
||||
eglGetDisplayDriverConfig = reinterpret_cast<PFNEGLGETDISPLAYDRIVERCONFIGPROC>(eglwLoad("eglGetDisplayDriverConfig"));
|
||||
eglGetDisplayDriverName = reinterpret_cast<PFNEGLGETDISPLAYDRIVERNAMEPROC>(eglwLoad("eglGetDisplayDriverName"));
|
||||
#endif /* defined(EGL_MESA_query_driver) */
|
||||
|
||||
#if defined(EGL_NOK_swap_region)
|
||||
eglSwapBuffersRegionNOK = reinterpret_cast<PFNEGLSWAPBUFFERSREGIONNOKPROC>(eglwLoad("eglSwapBuffersRegionNOK"));
|
||||
#endif /* defined(EGL_NOK_swap_region) */
|
||||
|
||||
#if defined(EGL_NOK_swap_region2)
|
||||
eglSwapBuffersRegion2NOK = reinterpret_cast<PFNEGLSWAPBUFFERSREGION2NOKPROC>(eglwLoad("eglSwapBuffersRegion2NOK"));
|
||||
#endif /* defined(EGL_NOK_swap_region2) */
|
||||
|
||||
#if defined(EGL_NV_native_query)
|
||||
eglQueryNativeDisplayNV = reinterpret_cast<PFNEGLQUERYNATIVEDISPLAYNVPROC>(eglwLoad("eglQueryNativeDisplayNV"));
|
||||
eglQueryNativeWindowNV = reinterpret_cast<PFNEGLQUERYNATIVEWINDOWNVPROC>(eglwLoad("eglQueryNativeWindowNV"));
|
||||
eglQueryNativePixmapNV = reinterpret_cast<PFNEGLQUERYNATIVEPIXMAPNVPROC>(eglwLoad("eglQueryNativePixmapNV"));
|
||||
#endif /* defined(EGL_NV_native_query) */
|
||||
|
||||
#if defined(EGL_NV_post_sub_buffer)
|
||||
eglPostSubBufferNV = reinterpret_cast<PFNEGLPOSTSUBBUFFERNVPROC>(eglwLoad("eglPostSubBufferNV"));
|
||||
#endif /* defined(EGL_NV_post_sub_buffer) */
|
||||
|
||||
#if defined(EGL_NV_stream_consumer_gltexture_yuv)
|
||||
eglStreamConsumerGLTextureExternalAttribsNV = reinterpret_cast<PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALATTRIBSNVPROC>(eglwLoad("eglStreamConsumerGLTextureExternalAttribsNV"));
|
||||
#endif /* defined(EGL_NV_stream_consumer_gltexture_yuv) */
|
||||
|
||||
#if defined(EGL_NV_stream_consumer_eglimage)
|
||||
eglStreamImageConsumerConnectNV = reinterpret_cast<PFNEGLSTREAMIMAGECONSUMERCONNECTNVPROC>(eglwLoad("eglStreamImageConsumerConnectNV"));
|
||||
eglQueryStreamConsumerEventNV = reinterpret_cast<PFNEGLQUERYSTREAMCONSUMEREVENTNVPROC>(eglwLoad("eglQueryStreamConsumerEventNV"));
|
||||
eglStreamAcquireImageNV = reinterpret_cast<PFNEGLSTREAMACQUIREIMAGENVPROC>(eglwLoad("eglStreamAcquireImageNV"));
|
||||
eglStreamReleaseImageNV = reinterpret_cast<PFNEGLSTREAMRELEASEIMAGENVPROC>(eglwLoad("eglStreamReleaseImageNV"));
|
||||
#endif /* defined(EGL_NV_stream_consumer_eglimage) */
|
||||
|
||||
#if defined(EGL_NV_stream_flush)
|
||||
eglStreamFlushNV = reinterpret_cast<PFNEGLSTREAMFLUSHNVPROC>(eglwLoad("eglStreamFlushNV"));
|
||||
#endif /* defined(EGL_NV_stream_flush) */
|
||||
|
||||
#if defined(EGL_NV_stream_metadata)
|
||||
eglQueryDisplayAttribNV = reinterpret_cast<PFNEGLQUERYDISPLAYATTRIBNVPROC>(eglwLoad("eglQueryDisplayAttribNV"));
|
||||
eglSetStreamMetadataNV = reinterpret_cast<PFNEGLSETSTREAMMETADATANVPROC>(eglwLoad("eglSetStreamMetadataNV"));
|
||||
eglQueryStreamMetadataNV = reinterpret_cast<PFNEGLQUERYSTREAMMETADATANVPROC>(eglwLoad("eglQueryStreamMetadataNV"));
|
||||
#endif /* defined(EGL_NV_stream_metadata) */
|
||||
|
||||
#if defined(EGL_NV_stream_reset)
|
||||
eglResetStreamNV = reinterpret_cast<PFNEGLRESETSTREAMNVPROC>(eglwLoad("eglResetStreamNV"));
|
||||
#endif /* defined(EGL_NV_stream_reset) */
|
||||
|
||||
#if defined(EGL_NV_stream_sync)
|
||||
eglCreateStreamSyncNV = reinterpret_cast<PFNEGLCREATESTREAMSYNCNVPROC>(eglwLoad("eglCreateStreamSyncNV"));
|
||||
#endif /* defined(EGL_NV_stream_sync) */
|
||||
|
||||
#if defined(EGL_NV_sync)
|
||||
eglCreateFenceSyncNV = reinterpret_cast<PFNEGLCREATEFENCESYNCNVPROC>(eglwLoad("eglCreateFenceSyncNV"));
|
||||
eglDestroySyncNV = reinterpret_cast<PFNEGLDESTROYSYNCNVPROC>(eglwLoad("eglDestroySyncNV"));
|
||||
eglFenceNV = reinterpret_cast<PFNEGLFENCENVPROC>(eglwLoad("eglFenceNV"));
|
||||
eglClientWaitSyncNV = reinterpret_cast<PFNEGLCLIENTWAITSYNCNVPROC>(eglwLoad("eglClientWaitSyncNV"));
|
||||
eglSignalSyncNV = reinterpret_cast<PFNEGLSIGNALSYNCNVPROC>(eglwLoad("eglSignalSyncNV"));
|
||||
eglGetSyncAttribNV = reinterpret_cast<PFNEGLGETSYNCATTRIBNVPROC>(eglwLoad("eglGetSyncAttribNV"));
|
||||
#endif /* defined(EGL_NV_sync) */
|
||||
|
||||
#if defined(EGL_NV_system_time)
|
||||
eglGetSystemTimeFrequencyNV = reinterpret_cast<PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC>(eglwLoad("eglGetSystemTimeFrequencyNV"));
|
||||
eglGetSystemTimeNV = reinterpret_cast<PFNEGLGETSYSTEMTIMENVPROC>(eglwLoad("eglGetSystemTimeNV"));
|
||||
#endif /* defined(EGL_NV_system_time) */
|
||||
|
||||
#if defined(EGL_EXT_compositor)
|
||||
eglCompositorSetContextListEXT = reinterpret_cast<PFNEGLCOMPOSITORSETCONTEXTLISTEXTPROC>(eglwLoad("eglCompositorSetContextListEXT"));
|
||||
eglCompositorSetContextAttributesEXT = reinterpret_cast<PFNEGLCOMPOSITORSETCONTEXTATTRIBUTESEXTPROC>(eglwLoad("eglCompositorSetContextAttributesEXT"));
|
||||
eglCompositorSetWindowListEXT = reinterpret_cast<PFNEGLCOMPOSITORSETWINDOWLISTEXTPROC>(eglwLoad("eglCompositorSetWindowListEXT"));
|
||||
eglCompositorSetWindowAttributesEXT = reinterpret_cast<PFNEGLCOMPOSITORSETWINDOWATTRIBUTESEXTPROC>(eglwLoad("eglCompositorSetWindowAttributesEXT"));
|
||||
eglCompositorBindTexWindowEXT = reinterpret_cast<PFNEGLCOMPOSITORBINDTEXWINDOWEXTPROC>(eglwLoad("eglCompositorBindTexWindowEXT"));
|
||||
eglCompositorSetSizeEXT = reinterpret_cast<PFNEGLCOMPOSITORSETSIZEEXTPROC>(eglwLoad("eglCompositorSetSizeEXT"));
|
||||
eglCompositorSwapPolicyEXT = reinterpret_cast<PFNEGLCOMPOSITORSWAPPOLICYEXTPROC>(eglwLoad("eglCompositorSwapPolicyEXT"));
|
||||
#endif /* defined(EGL_EXT_compositor) */
|
||||
|
||||
#if defined(EGL_WL_bind_wayland_display)
|
||||
eglBindWaylandDisplayWL = reinterpret_cast<PFNEGLBINDWAYLANDDISPLAYWLPROC>(eglwLoad("eglBindWaylandDisplayWL"));
|
||||
eglUnbindWaylandDisplayWL = reinterpret_cast<PFNEGLUNBINDWAYLANDDISPLAYWLPROC>(eglwLoad("eglUnbindWaylandDisplayWL"));
|
||||
eglQueryWaylandBufferWL = reinterpret_cast<PFNEGLQUERYWAYLANDBUFFERWLPROC>(eglwLoad("eglQueryWaylandBufferWL"));
|
||||
#endif /* defined(EGL_WL_bind_wayland_display) */
|
||||
|
||||
#if defined(EGL_WL_create_wayland_buffer_from_image)
|
||||
eglCreateWaylandBufferFromImageWL = reinterpret_cast<PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWLPROC>(eglwLoad("eglCreateWaylandBufferFromImageWL"));
|
||||
#endif /* defined(EGL_WL_create_wayland_buffer_from_image) */
|
||||
|
||||
/* EGLW_GENERATE_EGL_LOAD */
|
||||
|
||||
/**
|
||||
* ========================= !DO NOT CHANGE THE ABOVE SECTION MANUALLY! =========================
|
||||
* The above section is auto-generated from EGL spec by running:
|
||||
* node tools/gles-wrangler-generator/generate.js
|
||||
* ========================= !DO NOT CHANGE THE ABOVE SECTION MANUALLY! =========================
|
||||
*/
|
||||
#endif
|
||||
}
|
||||
384
cocos/renderer/gfx-gles-common/eglw.h
Normal file
384
cocos/renderer/gfx-gles-common/eglw.h
Normal file
@@ -0,0 +1,384 @@
|
||||
/****************************************************************************
|
||||
Copyright (c) 2019-2023 Xiamen Yaji Software Co., Ltd.
|
||||
|
||||
http://www.cocos.com
|
||||
|
||||
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.
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#if (CC_PLATFORM != CC_PLATFORM_IOS)
|
||||
#if (CC_PLATFORM == CC_PLATFORM_QNX)
|
||||
#define EGL_NO_X11 1
|
||||
#endif
|
||||
|
||||
#define EGL_EGL_PROTOTYPES 0
|
||||
#include <EGL/egl.h>
|
||||
#include <EGL/eglext.h>
|
||||
#include <EGL/eglplatform.h>
|
||||
|
||||
/**
|
||||
* ========================= !DO NOT CHANGE THE FOLLOWING SECTION MANUALLY! =========================
|
||||
* The following section is auto-generated from EGL spec by running:
|
||||
* node tools/gles-wrangler-generator/generate.js
|
||||
* ========================= !DO NOT CHANGE THE FOLLOWING SECTION MANUALLY! =========================
|
||||
*/
|
||||
|
||||
/* EGLW_GENERATE_EGL_DECLARATION */
|
||||
extern PFNEGLGETPROCADDRESSPROC eglGetProcAddress;
|
||||
|
||||
/* EGL_VERSION_1_0 */
|
||||
extern PFNEGLCHOOSECONFIGPROC eglChooseConfig;
|
||||
extern PFNEGLCOPYBUFFERSPROC eglCopyBuffers;
|
||||
extern PFNEGLCREATECONTEXTPROC eglCreateContext;
|
||||
extern PFNEGLCREATEPBUFFERSURFACEPROC eglCreatePbufferSurface;
|
||||
extern PFNEGLCREATEPIXMAPSURFACEPROC eglCreatePixmapSurface;
|
||||
extern PFNEGLCREATEWINDOWSURFACEPROC eglCreateWindowSurface;
|
||||
extern PFNEGLDESTROYCONTEXTPROC eglDestroyContext;
|
||||
extern PFNEGLDESTROYSURFACEPROC eglDestroySurface;
|
||||
extern PFNEGLGETCONFIGATTRIBPROC eglGetConfigAttrib;
|
||||
extern PFNEGLGETCONFIGSPROC eglGetConfigs;
|
||||
extern PFNEGLGETCURRENTDISPLAYPROC eglGetCurrentDisplay;
|
||||
extern PFNEGLGETCURRENTSURFACEPROC eglGetCurrentSurface;
|
||||
extern PFNEGLGETDISPLAYPROC eglGetDisplay;
|
||||
extern PFNEGLGETERRORPROC eglGetError;
|
||||
extern PFNEGLINITIALIZEPROC eglInitialize;
|
||||
extern PFNEGLMAKECURRENTPROC eglMakeCurrent;
|
||||
extern PFNEGLQUERYCONTEXTPROC eglQueryContext;
|
||||
extern PFNEGLQUERYSTRINGPROC eglQueryString;
|
||||
extern PFNEGLQUERYSURFACEPROC eglQuerySurface;
|
||||
extern PFNEGLSWAPBUFFERSPROC eglSwapBuffers;
|
||||
extern PFNEGLTERMINATEPROC eglTerminate;
|
||||
extern PFNEGLWAITGLPROC eglWaitGL;
|
||||
extern PFNEGLWAITNATIVEPROC eglWaitNative;
|
||||
|
||||
/* EGL_VERSION_1_1 */
|
||||
extern PFNEGLBINDTEXIMAGEPROC eglBindTexImage;
|
||||
extern PFNEGLRELEASETEXIMAGEPROC eglReleaseTexImage;
|
||||
extern PFNEGLSURFACEATTRIBPROC eglSurfaceAttrib;
|
||||
extern PFNEGLSWAPINTERVALPROC eglSwapInterval;
|
||||
|
||||
/* EGL_VERSION_1_2 */
|
||||
extern PFNEGLBINDAPIPROC eglBindAPI;
|
||||
extern PFNEGLQUERYAPIPROC eglQueryAPI;
|
||||
extern PFNEGLCREATEPBUFFERFROMCLIENTBUFFERPROC eglCreatePbufferFromClientBuffer;
|
||||
extern PFNEGLRELEASETHREADPROC eglReleaseThread;
|
||||
extern PFNEGLWAITCLIENTPROC eglWaitClient;
|
||||
|
||||
/* EGL_VERSION_1_3 */
|
||||
|
||||
/* EGL_VERSION_1_4 */
|
||||
extern PFNEGLGETCURRENTCONTEXTPROC eglGetCurrentContext;
|
||||
|
||||
/* EGL_VERSION_1_5 */
|
||||
extern PFNEGLCREATESYNCPROC eglCreateSync;
|
||||
extern PFNEGLDESTROYSYNCPROC eglDestroySync;
|
||||
extern PFNEGLCLIENTWAITSYNCPROC eglClientWaitSync;
|
||||
extern PFNEGLGETSYNCATTRIBPROC eglGetSyncAttrib;
|
||||
|
||||
extern PFNEGLCREATEIMAGEPROC eglCreateImage;
|
||||
extern PFNEGLDESTROYIMAGEPROC eglDestroyImage;
|
||||
|
||||
extern PFNEGLGETPLATFORMDISPLAYPROC eglGetPlatformDisplay;
|
||||
extern PFNEGLCREATEPLATFORMWINDOWSURFACEPROC eglCreatePlatformWindowSurface;
|
||||
extern PFNEGLCREATEPLATFORMPIXMAPSURFACEPROC eglCreatePlatformPixmapSurface;
|
||||
|
||||
extern PFNEGLWAITSYNCPROC eglWaitSync;
|
||||
|
||||
#if defined(EGL_ANDROID_blob_cache)
|
||||
extern PFNEGLSETBLOBCACHEFUNCSANDROIDPROC eglSetBlobCacheFuncsANDROID;
|
||||
#endif /* defined(EGL_ANDROID_blob_cache) */
|
||||
|
||||
#if defined(EGL_ANDROID_create_native_client_buffer)
|
||||
extern PFNEGLCREATENATIVECLIENTBUFFERANDROIDPROC eglCreateNativeClientBufferANDROID;
|
||||
#endif /* defined(EGL_ANDROID_create_native_client_buffer) */
|
||||
|
||||
#if defined(EGL_ANDROID_get_native_client_buffer)
|
||||
extern PFNEGLGETNATIVECLIENTBUFFERANDROIDPROC eglGetNativeClientBufferANDROID;
|
||||
#endif /* defined(EGL_ANDROID_get_native_client_buffer) */
|
||||
|
||||
#if defined(EGL_ANDROID_native_fence_sync)
|
||||
extern PFNEGLDUPNATIVEFENCEFDANDROIDPROC eglDupNativeFenceFDANDROID;
|
||||
#endif /* defined(EGL_ANDROID_native_fence_sync) */
|
||||
|
||||
#if defined(EGL_ANDROID_presentation_time)
|
||||
extern PFNEGLPRESENTATIONTIMEANDROIDPROC eglPresentationTimeANDROID;
|
||||
#endif /* defined(EGL_ANDROID_presentation_time) */
|
||||
|
||||
#if defined(EGL_ANDROID_get_frame_timestamps)
|
||||
extern PFNEGLGETCOMPOSITORTIMINGSUPPORTEDANDROIDPROC eglGetCompositorTimingSupportedANDROID;
|
||||
extern PFNEGLGETCOMPOSITORTIMINGANDROIDPROC eglGetCompositorTimingANDROID;
|
||||
extern PFNEGLGETNEXTFRAMEIDANDROIDPROC eglGetNextFrameIdANDROID;
|
||||
extern PFNEGLGETFRAMETIMESTAMPSUPPORTEDANDROIDPROC eglGetFrameTimestampSupportedANDROID;
|
||||
extern PFNEGLGETFRAMETIMESTAMPSANDROIDPROC eglGetFrameTimestampsANDROID;
|
||||
#endif /* defined(EGL_ANDROID_get_frame_timestamps) */
|
||||
|
||||
#if defined(EGL_ANGLE_query_surface_pointer)
|
||||
extern PFNEGLQUERYSURFACEPOINTERANGLEPROC eglQuerySurfacePointerANGLE;
|
||||
#endif /* defined(EGL_ANGLE_query_surface_pointer) */
|
||||
|
||||
#if defined(EGL_ANGLE_sync_control_rate)
|
||||
extern PFNEGLGETMSCRATEANGLEPROC eglGetMscRateANGLE;
|
||||
#endif /* defined(EGL_ANGLE_sync_control_rate) */
|
||||
|
||||
#if defined(EGL_EXT_client_sync)
|
||||
extern PFNEGLCLIENTSIGNALSYNCEXTPROC eglClientSignalSyncEXT;
|
||||
#endif /* defined(EGL_EXT_client_sync) */
|
||||
|
||||
#if defined(EGL_EXT_device_base)
|
||||
extern PFNEGLQUERYDEVICEATTRIBEXTPROC eglQueryDeviceAttribEXT;
|
||||
extern PFNEGLQUERYDEVICESTRINGEXTPROC eglQueryDeviceStringEXT;
|
||||
extern PFNEGLQUERYDEVICESEXTPROC eglQueryDevicesEXT;
|
||||
extern PFNEGLQUERYDISPLAYATTRIBEXTPROC eglQueryDisplayAttribEXT;
|
||||
#endif /* defined(EGL_EXT_device_base) */
|
||||
|
||||
#if defined(EGL_EXT_image_dma_buf_import_modifiers)
|
||||
extern PFNEGLQUERYDMABUFFORMATSEXTPROC eglQueryDmaBufFormatsEXT;
|
||||
extern PFNEGLQUERYDMABUFMODIFIERSEXTPROC eglQueryDmaBufModifiersEXT;
|
||||
#endif /* defined(EGL_EXT_image_dma_buf_import_modifiers) */
|
||||
|
||||
#if defined(EGL_EXT_output_base)
|
||||
extern PFNEGLGETOUTPUTLAYERSEXTPROC eglGetOutputLayersEXT;
|
||||
extern PFNEGLGETOUTPUTPORTSEXTPROC eglGetOutputPortsEXT;
|
||||
extern PFNEGLOUTPUTLAYERATTRIBEXTPROC eglOutputLayerAttribEXT;
|
||||
extern PFNEGLQUERYOUTPUTLAYERATTRIBEXTPROC eglQueryOutputLayerAttribEXT;
|
||||
extern PFNEGLQUERYOUTPUTLAYERSTRINGEXTPROC eglQueryOutputLayerStringEXT;
|
||||
extern PFNEGLOUTPUTPORTATTRIBEXTPROC eglOutputPortAttribEXT;
|
||||
extern PFNEGLQUERYOUTPUTPORTATTRIBEXTPROC eglQueryOutputPortAttribEXT;
|
||||
extern PFNEGLQUERYOUTPUTPORTSTRINGEXTPROC eglQueryOutputPortStringEXT;
|
||||
#endif /* defined(EGL_EXT_output_base) */
|
||||
|
||||
#if defined(EGL_EXT_platform_base)
|
||||
extern PFNEGLGETPLATFORMDISPLAYEXTPROC eglGetPlatformDisplayEXT;
|
||||
extern PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC eglCreatePlatformWindowSurfaceEXT;
|
||||
extern PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC eglCreatePlatformPixmapSurfaceEXT;
|
||||
#endif /* defined(EGL_EXT_platform_base) */
|
||||
|
||||
#if defined(EGL_EXT_stream_consumer_egloutput)
|
||||
extern PFNEGLSTREAMCONSUMEROUTPUTEXTPROC eglStreamConsumerOutputEXT;
|
||||
#endif /* defined(EGL_EXT_stream_consumer_egloutput) */
|
||||
|
||||
#if defined(EGL_EXT_swap_buffers_with_damage)
|
||||
extern PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC eglSwapBuffersWithDamageEXT;
|
||||
#endif /* defined(EGL_EXT_swap_buffers_with_damage) */
|
||||
|
||||
#if defined(EGL_EXT_sync_reuse)
|
||||
extern PFNEGLUNSIGNALSYNCEXTPROC eglUnsignalSyncEXT;
|
||||
#endif /* defined(EGL_EXT_sync_reuse) */
|
||||
|
||||
#if defined(EGL_HI_clientpixmap)
|
||||
extern PFNEGLCREATEPIXMAPSURFACEHIPROC eglCreatePixmapSurfaceHI;
|
||||
#endif /* defined(EGL_HI_clientpixmap) */
|
||||
|
||||
#if defined(EGL_KHR_cl_event2)
|
||||
extern PFNEGLCREATESYNC64KHRPROC eglCreateSync64KHR;
|
||||
#endif /* defined(EGL_KHR_cl_event2) */
|
||||
|
||||
#if defined(EGL_KHR_debug)
|
||||
extern PFNEGLDEBUGMESSAGECONTROLKHRPROC eglDebugMessageControlKHR;
|
||||
extern PFNEGLQUERYDEBUGKHRPROC eglQueryDebugKHR;
|
||||
extern PFNEGLLABELOBJECTKHRPROC eglLabelObjectKHR;
|
||||
#endif /* defined(EGL_KHR_debug) */
|
||||
|
||||
#if defined(EGL_KHR_display_reference)
|
||||
extern PFNEGLQUERYDISPLAYATTRIBKHRPROC eglQueryDisplayAttribKHR;
|
||||
#endif /* defined(EGL_KHR_display_reference) */
|
||||
|
||||
#if defined(EGL_KHR_fence_sync)
|
||||
extern PFNEGLCREATESYNCKHRPROC eglCreateSyncKHR;
|
||||
extern PFNEGLDESTROYSYNCKHRPROC eglDestroySyncKHR;
|
||||
extern PFNEGLCLIENTWAITSYNCKHRPROC eglClientWaitSyncKHR;
|
||||
extern PFNEGLGETSYNCATTRIBKHRPROC eglGetSyncAttribKHR;
|
||||
#endif /* defined(EGL_KHR_fence_sync) */
|
||||
|
||||
#if defined(EGL_KHR_image)
|
||||
extern PFNEGLCREATEIMAGEKHRPROC eglCreateImageKHR;
|
||||
extern PFNEGLDESTROYIMAGEKHRPROC eglDestroyImageKHR;
|
||||
#endif /* defined(EGL_KHR_image) */
|
||||
|
||||
#if defined(EGL_KHR_lock_surface)
|
||||
extern PFNEGLLOCKSURFACEKHRPROC eglLockSurfaceKHR;
|
||||
extern PFNEGLUNLOCKSURFACEKHRPROC eglUnlockSurfaceKHR;
|
||||
#endif /* defined(EGL_KHR_lock_surface) */
|
||||
|
||||
#if defined(EGL_KHR_lock_surface3)
|
||||
extern PFNEGLQUERYSURFACE64KHRPROC eglQuerySurface64KHR;
|
||||
#endif /* defined(EGL_KHR_lock_surface3) */
|
||||
|
||||
#if defined(EGL_KHR_partial_update)
|
||||
extern PFNEGLSETDAMAGEREGIONKHRPROC eglSetDamageRegionKHR;
|
||||
#endif /* defined(EGL_KHR_partial_update) */
|
||||
|
||||
#if defined(EGL_KHR_reusable_sync)
|
||||
extern PFNEGLSIGNALSYNCKHRPROC eglSignalSyncKHR;
|
||||
#endif /* defined(EGL_KHR_reusable_sync) */
|
||||
|
||||
#if defined(EGL_KHR_stream)
|
||||
extern PFNEGLCREATESTREAMKHRPROC eglCreateStreamKHR;
|
||||
extern PFNEGLDESTROYSTREAMKHRPROC eglDestroyStreamKHR;
|
||||
extern PFNEGLSTREAMATTRIBKHRPROC eglStreamAttribKHR;
|
||||
extern PFNEGLQUERYSTREAMKHRPROC eglQueryStreamKHR;
|
||||
extern PFNEGLQUERYSTREAMU64KHRPROC eglQueryStreamu64KHR;
|
||||
#endif /* defined(EGL_KHR_stream) */
|
||||
|
||||
#if defined(EGL_KHR_stream_attrib)
|
||||
extern PFNEGLCREATESTREAMATTRIBKHRPROC eglCreateStreamAttribKHR;
|
||||
extern PFNEGLSETSTREAMATTRIBKHRPROC eglSetStreamAttribKHR;
|
||||
extern PFNEGLQUERYSTREAMATTRIBKHRPROC eglQueryStreamAttribKHR;
|
||||
extern PFNEGLSTREAMCONSUMERACQUIREATTRIBKHRPROC eglStreamConsumerAcquireAttribKHR;
|
||||
extern PFNEGLSTREAMCONSUMERRELEASEATTRIBKHRPROC eglStreamConsumerReleaseAttribKHR;
|
||||
#endif /* defined(EGL_KHR_stream_attrib) */
|
||||
|
||||
#if defined(EGL_KHR_stream_consumer_gltexture)
|
||||
extern PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC eglStreamConsumerGLTextureExternalKHR;
|
||||
extern PFNEGLSTREAMCONSUMERACQUIREKHRPROC eglStreamConsumerAcquireKHR;
|
||||
extern PFNEGLSTREAMCONSUMERRELEASEKHRPROC eglStreamConsumerReleaseKHR;
|
||||
#endif /* defined(EGL_KHR_stream_consumer_gltexture) */
|
||||
|
||||
#if defined(EGL_KHR_stream_cross_process_fd)
|
||||
extern PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC eglGetStreamFileDescriptorKHR;
|
||||
extern PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC eglCreateStreamFromFileDescriptorKHR;
|
||||
#endif /* defined(EGL_KHR_stream_cross_process_fd) */
|
||||
|
||||
#if defined(EGL_KHR_stream_fifo)
|
||||
extern PFNEGLQUERYSTREAMTIMEKHRPROC eglQueryStreamTimeKHR;
|
||||
#endif /* defined(EGL_KHR_stream_fifo) */
|
||||
|
||||
#if defined(EGL_KHR_stream_producer_eglsurface)
|
||||
extern PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC eglCreateStreamProducerSurfaceKHR;
|
||||
#endif /* defined(EGL_KHR_stream_producer_eglsurface) */
|
||||
|
||||
#if defined(EGL_KHR_swap_buffers_with_damage)
|
||||
extern PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC eglSwapBuffersWithDamageKHR;
|
||||
#endif /* defined(EGL_KHR_swap_buffers_with_damage) */
|
||||
|
||||
#if defined(EGL_KHR_wait_sync)
|
||||
extern PFNEGLWAITSYNCKHRPROC eglWaitSyncKHR;
|
||||
#endif /* defined(EGL_KHR_wait_sync) */
|
||||
|
||||
#if defined(EGL_MESA_drm_image)
|
||||
extern PFNEGLCREATEDRMIMAGEMESAPROC eglCreateDRMImageMESA;
|
||||
extern PFNEGLEXPORTDRMIMAGEMESAPROC eglExportDRMImageMESA;
|
||||
#endif /* defined(EGL_MESA_drm_image) */
|
||||
|
||||
#if defined(EGL_MESA_image_dma_buf_export)
|
||||
extern PFNEGLEXPORTDMABUFIMAGEQUERYMESAPROC eglExportDMABUFImageQueryMESA;
|
||||
extern PFNEGLEXPORTDMABUFIMAGEMESAPROC eglExportDMABUFImageMESA;
|
||||
#endif /* defined(EGL_MESA_image_dma_buf_export) */
|
||||
|
||||
#if defined(EGL_MESA_query_driver)
|
||||
extern PFNEGLGETDISPLAYDRIVERCONFIGPROC eglGetDisplayDriverConfig;
|
||||
extern PFNEGLGETDISPLAYDRIVERNAMEPROC eglGetDisplayDriverName;
|
||||
#endif /* defined(EGL_MESA_query_driver) */
|
||||
|
||||
#if defined(EGL_NOK_swap_region)
|
||||
extern PFNEGLSWAPBUFFERSREGIONNOKPROC eglSwapBuffersRegionNOK;
|
||||
#endif /* defined(EGL_NOK_swap_region) */
|
||||
|
||||
#if defined(EGL_NOK_swap_region2)
|
||||
extern PFNEGLSWAPBUFFERSREGION2NOKPROC eglSwapBuffersRegion2NOK;
|
||||
#endif /* defined(EGL_NOK_swap_region2) */
|
||||
|
||||
#if defined(EGL_NV_native_query)
|
||||
extern PFNEGLQUERYNATIVEDISPLAYNVPROC eglQueryNativeDisplayNV;
|
||||
extern PFNEGLQUERYNATIVEWINDOWNVPROC eglQueryNativeWindowNV;
|
||||
extern PFNEGLQUERYNATIVEPIXMAPNVPROC eglQueryNativePixmapNV;
|
||||
#endif /* defined(EGL_NV_native_query) */
|
||||
|
||||
#if defined(EGL_NV_post_sub_buffer)
|
||||
extern PFNEGLPOSTSUBBUFFERNVPROC eglPostSubBufferNV;
|
||||
#endif /* defined(EGL_NV_post_sub_buffer) */
|
||||
|
||||
#if defined(EGL_NV_stream_consumer_gltexture_yuv)
|
||||
extern PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALATTRIBSNVPROC eglStreamConsumerGLTextureExternalAttribsNV;
|
||||
#endif /* defined(EGL_NV_stream_consumer_gltexture_yuv) */
|
||||
|
||||
#if defined(EGL_NV_stream_consumer_eglimage)
|
||||
extern PFNEGLSTREAMIMAGECONSUMERCONNECTNVPROC eglStreamImageConsumerConnectNV;
|
||||
extern PFNEGLQUERYSTREAMCONSUMEREVENTNVPROC eglQueryStreamConsumerEventNV;
|
||||
extern PFNEGLSTREAMACQUIREIMAGENVPROC eglStreamAcquireImageNV;
|
||||
extern PFNEGLSTREAMRELEASEIMAGENVPROC eglStreamReleaseImageNV;
|
||||
#endif /* defined(EGL_NV_stream_consumer_eglimage) */
|
||||
|
||||
#if defined(EGL_NV_stream_flush)
|
||||
extern PFNEGLSTREAMFLUSHNVPROC eglStreamFlushNV;
|
||||
#endif /* defined(EGL_NV_stream_flush) */
|
||||
|
||||
#if defined(EGL_NV_stream_metadata)
|
||||
extern PFNEGLQUERYDISPLAYATTRIBNVPROC eglQueryDisplayAttribNV;
|
||||
extern PFNEGLSETSTREAMMETADATANVPROC eglSetStreamMetadataNV;
|
||||
extern PFNEGLQUERYSTREAMMETADATANVPROC eglQueryStreamMetadataNV;
|
||||
#endif /* defined(EGL_NV_stream_metadata) */
|
||||
|
||||
#if defined(EGL_NV_stream_reset)
|
||||
extern PFNEGLRESETSTREAMNVPROC eglResetStreamNV;
|
||||
#endif /* defined(EGL_NV_stream_reset) */
|
||||
|
||||
#if defined(EGL_NV_stream_sync)
|
||||
extern PFNEGLCREATESTREAMSYNCNVPROC eglCreateStreamSyncNV;
|
||||
#endif /* defined(EGL_NV_stream_sync) */
|
||||
|
||||
#if defined(EGL_NV_sync)
|
||||
extern PFNEGLCREATEFENCESYNCNVPROC eglCreateFenceSyncNV;
|
||||
extern PFNEGLDESTROYSYNCNVPROC eglDestroySyncNV;
|
||||
extern PFNEGLFENCENVPROC eglFenceNV;
|
||||
extern PFNEGLCLIENTWAITSYNCNVPROC eglClientWaitSyncNV;
|
||||
extern PFNEGLSIGNALSYNCNVPROC eglSignalSyncNV;
|
||||
extern PFNEGLGETSYNCATTRIBNVPROC eglGetSyncAttribNV;
|
||||
#endif /* defined(EGL_NV_sync) */
|
||||
|
||||
#if defined(EGL_NV_system_time)
|
||||
extern PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC eglGetSystemTimeFrequencyNV;
|
||||
extern PFNEGLGETSYSTEMTIMENVPROC eglGetSystemTimeNV;
|
||||
#endif /* defined(EGL_NV_system_time) */
|
||||
|
||||
#if defined(EGL_EXT_compositor)
|
||||
extern PFNEGLCOMPOSITORSETCONTEXTLISTEXTPROC eglCompositorSetContextListEXT;
|
||||
extern PFNEGLCOMPOSITORSETCONTEXTATTRIBUTESEXTPROC eglCompositorSetContextAttributesEXT;
|
||||
extern PFNEGLCOMPOSITORSETWINDOWLISTEXTPROC eglCompositorSetWindowListEXT;
|
||||
extern PFNEGLCOMPOSITORSETWINDOWATTRIBUTESEXTPROC eglCompositorSetWindowAttributesEXT;
|
||||
extern PFNEGLCOMPOSITORBINDTEXWINDOWEXTPROC eglCompositorBindTexWindowEXT;
|
||||
extern PFNEGLCOMPOSITORSETSIZEEXTPROC eglCompositorSetSizeEXT;
|
||||
extern PFNEGLCOMPOSITORSWAPPOLICYEXTPROC eglCompositorSwapPolicyEXT;
|
||||
#endif /* defined(EGL_EXT_compositor) */
|
||||
|
||||
#if defined(EGL_WL_bind_wayland_display)
|
||||
extern PFNEGLBINDWAYLANDDISPLAYWLPROC eglBindWaylandDisplayWL;
|
||||
extern PFNEGLUNBINDWAYLANDDISPLAYWLPROC eglUnbindWaylandDisplayWL;
|
||||
extern PFNEGLQUERYWAYLANDBUFFERWLPROC eglQueryWaylandBufferWL;
|
||||
#endif /* defined(EGL_WL_bind_wayland_display) */
|
||||
|
||||
#if defined(EGL_WL_create_wayland_buffer_from_image)
|
||||
extern PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWLPROC eglCreateWaylandBufferFromImageWL;
|
||||
#endif /* defined(EGL_WL_create_wayland_buffer_from_image) */
|
||||
|
||||
/* EGLW_GENERATE_EGL_DECLARATION */
|
||||
|
||||
/**
|
||||
* ========================= !DO NOT CHANGE THE ABOVE SECTION MANUALLY! =========================
|
||||
* The above section is auto-generated from EGL spec by running:
|
||||
* node tools/gles-wrangler-generator/generate.js
|
||||
* ========================= !DO NOT CHANGE THE ABOVE SECTION MANUALLY! =========================
|
||||
*/
|
||||
|
||||
#endif
|
||||
|
||||
using PFNEGLWLOADPROC = void *(*)(const char *);
|
||||
void eglwLoadProcs(PFNEGLWLOADPROC eglwLoad);
|
||||
2195
cocos/renderer/gfx-gles-common/gles2w.cpp
Normal file
2195
cocos/renderer/gfx-gles-common/gles2w.cpp
Normal file
File diff suppressed because it is too large
Load Diff
1116
cocos/renderer/gfx-gles-common/gles2w.h
Normal file
1116
cocos/renderer/gfx-gles-common/gles2w.h
Normal file
File diff suppressed because it is too large
Load Diff
543
cocos/renderer/gfx-gles-common/gles3w.cpp
Normal file
543
cocos/renderer/gfx-gles-common/gles3w.cpp
Normal file
@@ -0,0 +1,543 @@
|
||||
/****************************************************************************
|
||||
Copyright (c) 2019-2023 Xiamen Yaji Software Co., Ltd.
|
||||
|
||||
http://www.cocos.com
|
||||
|
||||
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.
|
||||
****************************************************************************/
|
||||
|
||||
#include "gles3w.h"
|
||||
|
||||
/**
|
||||
* ========================= !DO NOT CHANGE THE FOLLOWING SECTION MANUALLY! =========================
|
||||
* The following section is auto-generated from GLES spec by running:
|
||||
* node tools/gles-wrangler-generator/generate.js
|
||||
* ========================= !DO NOT CHANGE THE FOLLOWING SECTION MANUALLY! =========================
|
||||
*/
|
||||
|
||||
/* GLES3W_GENERATE_GLES_DEFINITION */
|
||||
/* GL_ES_VERSION_3_0 */
|
||||
PFNGLREADBUFFERPROC glReadBuffer;
|
||||
PFNGLDRAWRANGEELEMENTSPROC glDrawRangeElements;
|
||||
PFNGLTEXIMAGE3DPROC glTexImage3D;
|
||||
PFNGLTEXSUBIMAGE3DPROC glTexSubImage3D;
|
||||
PFNGLCOPYTEXSUBIMAGE3DPROC glCopyTexSubImage3D;
|
||||
PFNGLCOMPRESSEDTEXIMAGE3DPROC glCompressedTexImage3D;
|
||||
PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glCompressedTexSubImage3D;
|
||||
PFNGLGENQUERIESPROC glGenQueries;
|
||||
PFNGLDELETEQUERIESPROC glDeleteQueries;
|
||||
PFNGLISQUERYPROC glIsQuery;
|
||||
PFNGLBEGINQUERYPROC glBeginQuery;
|
||||
PFNGLENDQUERYPROC glEndQuery;
|
||||
PFNGLGETQUERYIVPROC glGetQueryiv;
|
||||
PFNGLGETQUERYOBJECTUIVPROC glGetQueryObjectuiv;
|
||||
PFNGLUNMAPBUFFERPROC glUnmapBuffer;
|
||||
PFNGLGETBUFFERPOINTERVPROC glGetBufferPointerv;
|
||||
PFNGLDRAWBUFFERSPROC glDrawBuffers;
|
||||
PFNGLUNIFORMMATRIX2X3FVPROC glUniformMatrix2x3fv;
|
||||
PFNGLUNIFORMMATRIX3X2FVPROC glUniformMatrix3x2fv;
|
||||
PFNGLUNIFORMMATRIX2X4FVPROC glUniformMatrix2x4fv;
|
||||
PFNGLUNIFORMMATRIX4X2FVPROC glUniformMatrix4x2fv;
|
||||
PFNGLUNIFORMMATRIX3X4FVPROC glUniformMatrix3x4fv;
|
||||
PFNGLUNIFORMMATRIX4X3FVPROC glUniformMatrix4x3fv;
|
||||
PFNGLBLITFRAMEBUFFERPROC glBlitFramebuffer;
|
||||
PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glRenderbufferStorageMultisample;
|
||||
PFNGLFRAMEBUFFERTEXTURELAYERPROC glFramebufferTextureLayer;
|
||||
PFNGLMAPBUFFERRANGEPROC glMapBufferRange;
|
||||
PFNGLFLUSHMAPPEDBUFFERRANGEPROC glFlushMappedBufferRange;
|
||||
PFNGLBINDVERTEXARRAYPROC glBindVertexArray;
|
||||
PFNGLDELETEVERTEXARRAYSPROC glDeleteVertexArrays;
|
||||
PFNGLGENVERTEXARRAYSPROC glGenVertexArrays;
|
||||
PFNGLISVERTEXARRAYPROC glIsVertexArray;
|
||||
PFNGLGETINTEGERI_VPROC glGetIntegeri_v;
|
||||
PFNGLBEGINTRANSFORMFEEDBACKPROC glBeginTransformFeedback;
|
||||
PFNGLENDTRANSFORMFEEDBACKPROC glEndTransformFeedback;
|
||||
PFNGLBINDBUFFERRANGEPROC glBindBufferRange;
|
||||
PFNGLBINDBUFFERBASEPROC glBindBufferBase;
|
||||
PFNGLTRANSFORMFEEDBACKVARYINGSPROC glTransformFeedbackVaryings;
|
||||
PFNGLGETTRANSFORMFEEDBACKVARYINGPROC glGetTransformFeedbackVarying;
|
||||
PFNGLVERTEXATTRIBIPOINTERPROC glVertexAttribIPointer;
|
||||
PFNGLGETVERTEXATTRIBIIVPROC glGetVertexAttribIiv;
|
||||
PFNGLGETVERTEXATTRIBIUIVPROC glGetVertexAttribIuiv;
|
||||
PFNGLVERTEXATTRIBI4IPROC glVertexAttribI4i;
|
||||
PFNGLVERTEXATTRIBI4UIPROC glVertexAttribI4ui;
|
||||
PFNGLVERTEXATTRIBI4IVPROC glVertexAttribI4iv;
|
||||
PFNGLVERTEXATTRIBI4UIVPROC glVertexAttribI4uiv;
|
||||
PFNGLGETUNIFORMUIVPROC glGetUniformuiv;
|
||||
PFNGLGETFRAGDATALOCATIONPROC glGetFragDataLocation;
|
||||
PFNGLUNIFORM1UIPROC glUniform1ui;
|
||||
PFNGLUNIFORM2UIPROC glUniform2ui;
|
||||
PFNGLUNIFORM3UIPROC glUniform3ui;
|
||||
PFNGLUNIFORM4UIPROC glUniform4ui;
|
||||
PFNGLUNIFORM1UIVPROC glUniform1uiv;
|
||||
PFNGLUNIFORM2UIVPROC glUniform2uiv;
|
||||
PFNGLUNIFORM3UIVPROC glUniform3uiv;
|
||||
PFNGLUNIFORM4UIVPROC glUniform4uiv;
|
||||
PFNGLCLEARBUFFERIVPROC glClearBufferiv;
|
||||
PFNGLCLEARBUFFERUIVPROC glClearBufferuiv;
|
||||
PFNGLCLEARBUFFERFVPROC glClearBufferfv;
|
||||
PFNGLCLEARBUFFERFIPROC glClearBufferfi;
|
||||
PFNGLGETSTRINGIPROC glGetStringi;
|
||||
PFNGLCOPYBUFFERSUBDATAPROC glCopyBufferSubData;
|
||||
PFNGLGETUNIFORMINDICESPROC glGetUniformIndices;
|
||||
PFNGLGETACTIVEUNIFORMSIVPROC glGetActiveUniformsiv;
|
||||
PFNGLGETUNIFORMBLOCKINDEXPROC glGetUniformBlockIndex;
|
||||
PFNGLGETACTIVEUNIFORMBLOCKIVPROC glGetActiveUniformBlockiv;
|
||||
PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glGetActiveUniformBlockName;
|
||||
PFNGLUNIFORMBLOCKBINDINGPROC glUniformBlockBinding;
|
||||
PFNGLDRAWARRAYSINSTANCEDPROC glDrawArraysInstanced;
|
||||
PFNGLDRAWELEMENTSINSTANCEDPROC glDrawElementsInstanced;
|
||||
PFNGLFENCESYNCPROC glFenceSync;
|
||||
PFNGLISSYNCPROC glIsSync;
|
||||
PFNGLDELETESYNCPROC glDeleteSync;
|
||||
PFNGLCLIENTWAITSYNCPROC glClientWaitSync;
|
||||
PFNGLWAITSYNCPROC glWaitSync;
|
||||
PFNGLGETINTEGER64VPROC glGetInteger64v;
|
||||
PFNGLGETSYNCIVPROC glGetSynciv;
|
||||
PFNGLGETINTEGER64I_VPROC glGetInteger64i_v;
|
||||
PFNGLGETBUFFERPARAMETERI64VPROC glGetBufferParameteri64v;
|
||||
PFNGLGENSAMPLERSPROC glGenSamplers;
|
||||
PFNGLDELETESAMPLERSPROC glDeleteSamplers;
|
||||
PFNGLISSAMPLERPROC glIsSampler;
|
||||
PFNGLBINDSAMPLERPROC glBindSampler;
|
||||
PFNGLSAMPLERPARAMETERIPROC glSamplerParameteri;
|
||||
PFNGLSAMPLERPARAMETERIVPROC glSamplerParameteriv;
|
||||
PFNGLSAMPLERPARAMETERFPROC glSamplerParameterf;
|
||||
PFNGLSAMPLERPARAMETERFVPROC glSamplerParameterfv;
|
||||
PFNGLGETSAMPLERPARAMETERIVPROC glGetSamplerParameteriv;
|
||||
PFNGLGETSAMPLERPARAMETERFVPROC glGetSamplerParameterfv;
|
||||
PFNGLVERTEXATTRIBDIVISORPROC glVertexAttribDivisor;
|
||||
PFNGLBINDTRANSFORMFEEDBACKPROC glBindTransformFeedback;
|
||||
PFNGLDELETETRANSFORMFEEDBACKSPROC glDeleteTransformFeedbacks;
|
||||
PFNGLGENTRANSFORMFEEDBACKSPROC glGenTransformFeedbacks;
|
||||
PFNGLISTRANSFORMFEEDBACKPROC glIsTransformFeedback;
|
||||
PFNGLPAUSETRANSFORMFEEDBACKPROC glPauseTransformFeedback;
|
||||
PFNGLRESUMETRANSFORMFEEDBACKPROC glResumeTransformFeedback;
|
||||
PFNGLGETPROGRAMBINARYPROC glGetProgramBinary;
|
||||
PFNGLPROGRAMBINARYPROC glProgramBinary;
|
||||
PFNGLPROGRAMPARAMETERIPROC glProgramParameteri;
|
||||
PFNGLINVALIDATEFRAMEBUFFERPROC glInvalidateFramebuffer;
|
||||
PFNGLINVALIDATESUBFRAMEBUFFERPROC glInvalidateSubFramebuffer;
|
||||
PFNGLTEXSTORAGE2DPROC glTexStorage2D;
|
||||
PFNGLTEXSTORAGE3DPROC glTexStorage3D;
|
||||
PFNGLGETINTERNALFORMATIVPROC glGetInternalformativ;
|
||||
|
||||
/* GL_ES_VERSION_3_1 */
|
||||
PFNGLDISPATCHCOMPUTEPROC glDispatchCompute;
|
||||
PFNGLDISPATCHCOMPUTEINDIRECTPROC glDispatchComputeIndirect;
|
||||
|
||||
PFNGLDRAWARRAYSINDIRECTPROC glDrawArraysIndirect;
|
||||
PFNGLDRAWELEMENTSINDIRECTPROC glDrawElementsIndirect;
|
||||
|
||||
PFNGLFRAMEBUFFERPARAMETERIPROC glFramebufferParameteri;
|
||||
PFNGLGETFRAMEBUFFERPARAMETERIVPROC glGetFramebufferParameteriv;
|
||||
|
||||
PFNGLGETPROGRAMINTERFACEIVPROC glGetProgramInterfaceiv;
|
||||
PFNGLGETPROGRAMRESOURCEINDEXPROC glGetProgramResourceIndex;
|
||||
PFNGLGETPROGRAMRESOURCENAMEPROC glGetProgramResourceName;
|
||||
PFNGLGETPROGRAMRESOURCEIVPROC glGetProgramResourceiv;
|
||||
PFNGLGETPROGRAMRESOURCELOCATIONPROC glGetProgramResourceLocation;
|
||||
|
||||
PFNGLUSEPROGRAMSTAGESPROC glUseProgramStages;
|
||||
PFNGLACTIVESHADERPROGRAMPROC glActiveShaderProgram;
|
||||
PFNGLCREATESHADERPROGRAMVPROC glCreateShaderProgramv;
|
||||
PFNGLBINDPROGRAMPIPELINEPROC glBindProgramPipeline;
|
||||
PFNGLDELETEPROGRAMPIPELINESPROC glDeleteProgramPipelines;
|
||||
PFNGLGENPROGRAMPIPELINESPROC glGenProgramPipelines;
|
||||
PFNGLISPROGRAMPIPELINEPROC glIsProgramPipeline;
|
||||
PFNGLGETPROGRAMPIPELINEIVPROC glGetProgramPipelineiv;
|
||||
PFNGLPROGRAMUNIFORM1IPROC glProgramUniform1i;
|
||||
PFNGLPROGRAMUNIFORM2IPROC glProgramUniform2i;
|
||||
PFNGLPROGRAMUNIFORM3IPROC glProgramUniform3i;
|
||||
PFNGLPROGRAMUNIFORM4IPROC glProgramUniform4i;
|
||||
PFNGLPROGRAMUNIFORM1UIPROC glProgramUniform1ui;
|
||||
PFNGLPROGRAMUNIFORM2UIPROC glProgramUniform2ui;
|
||||
PFNGLPROGRAMUNIFORM3UIPROC glProgramUniform3ui;
|
||||
PFNGLPROGRAMUNIFORM4UIPROC glProgramUniform4ui;
|
||||
PFNGLPROGRAMUNIFORM1FPROC glProgramUniform1f;
|
||||
PFNGLPROGRAMUNIFORM2FPROC glProgramUniform2f;
|
||||
PFNGLPROGRAMUNIFORM3FPROC glProgramUniform3f;
|
||||
PFNGLPROGRAMUNIFORM4FPROC glProgramUniform4f;
|
||||
PFNGLPROGRAMUNIFORM1IVPROC glProgramUniform1iv;
|
||||
PFNGLPROGRAMUNIFORM2IVPROC glProgramUniform2iv;
|
||||
PFNGLPROGRAMUNIFORM3IVPROC glProgramUniform3iv;
|
||||
PFNGLPROGRAMUNIFORM4IVPROC glProgramUniform4iv;
|
||||
PFNGLPROGRAMUNIFORM1UIVPROC glProgramUniform1uiv;
|
||||
PFNGLPROGRAMUNIFORM2UIVPROC glProgramUniform2uiv;
|
||||
PFNGLPROGRAMUNIFORM3UIVPROC glProgramUniform3uiv;
|
||||
PFNGLPROGRAMUNIFORM4UIVPROC glProgramUniform4uiv;
|
||||
PFNGLPROGRAMUNIFORM1FVPROC glProgramUniform1fv;
|
||||
PFNGLPROGRAMUNIFORM2FVPROC glProgramUniform2fv;
|
||||
PFNGLPROGRAMUNIFORM3FVPROC glProgramUniform3fv;
|
||||
PFNGLPROGRAMUNIFORM4FVPROC glProgramUniform4fv;
|
||||
PFNGLPROGRAMUNIFORMMATRIX2FVPROC glProgramUniformMatrix2fv;
|
||||
PFNGLPROGRAMUNIFORMMATRIX3FVPROC glProgramUniformMatrix3fv;
|
||||
PFNGLPROGRAMUNIFORMMATRIX4FVPROC glProgramUniformMatrix4fv;
|
||||
PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC glProgramUniformMatrix2x3fv;
|
||||
PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC glProgramUniformMatrix3x2fv;
|
||||
PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC glProgramUniformMatrix2x4fv;
|
||||
PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC glProgramUniformMatrix4x2fv;
|
||||
PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC glProgramUniformMatrix3x4fv;
|
||||
PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC glProgramUniformMatrix4x3fv;
|
||||
PFNGLVALIDATEPROGRAMPIPELINEPROC glValidateProgramPipeline;
|
||||
PFNGLGETPROGRAMPIPELINEINFOLOGPROC glGetProgramPipelineInfoLog;
|
||||
|
||||
PFNGLBINDIMAGETEXTUREPROC glBindImageTexture;
|
||||
PFNGLGETBOOLEANI_VPROC glGetBooleani_v;
|
||||
PFNGLMEMORYBARRIERPROC glMemoryBarrier;
|
||||
PFNGLMEMORYBARRIERBYREGIONPROC glMemoryBarrierByRegion;
|
||||
|
||||
PFNGLTEXSTORAGE2DMULTISAMPLEPROC glTexStorage2DMultisample;
|
||||
PFNGLGETMULTISAMPLEFVPROC glGetMultisamplefv;
|
||||
PFNGLSAMPLEMASKIPROC glSampleMaski;
|
||||
PFNGLGETTEXLEVELPARAMETERIVPROC glGetTexLevelParameteriv;
|
||||
PFNGLGETTEXLEVELPARAMETERFVPROC glGetTexLevelParameterfv;
|
||||
|
||||
PFNGLBINDVERTEXBUFFERPROC glBindVertexBuffer;
|
||||
PFNGLVERTEXATTRIBFORMATPROC glVertexAttribFormat;
|
||||
PFNGLVERTEXATTRIBIFORMATPROC glVertexAttribIFormat;
|
||||
PFNGLVERTEXATTRIBBINDINGPROC glVertexAttribBinding;
|
||||
PFNGLVERTEXBINDINGDIVISORPROC glVertexBindingDivisor;
|
||||
|
||||
/* GL_ES_VERSION_3_2 */
|
||||
PFNGLBLENDBARRIERPROC glBlendBarrier;
|
||||
|
||||
PFNGLCOPYIMAGESUBDATAPROC glCopyImageSubData;
|
||||
|
||||
PFNGLDEBUGMESSAGECONTROLPROC glDebugMessageControl;
|
||||
PFNGLDEBUGMESSAGEINSERTPROC glDebugMessageInsert;
|
||||
PFNGLDEBUGMESSAGECALLBACKPROC glDebugMessageCallback;
|
||||
PFNGLGETDEBUGMESSAGELOGPROC glGetDebugMessageLog;
|
||||
PFNGLPUSHDEBUGGROUPPROC glPushDebugGroup;
|
||||
PFNGLPOPDEBUGGROUPPROC glPopDebugGroup;
|
||||
PFNGLOBJECTLABELPROC glObjectLabel;
|
||||
PFNGLGETOBJECTLABELPROC glGetObjectLabel;
|
||||
PFNGLOBJECTPTRLABELPROC glObjectPtrLabel;
|
||||
PFNGLGETOBJECTPTRLABELPROC glGetObjectPtrLabel;
|
||||
PFNGLGETPOINTERVPROC glGetPointerv;
|
||||
|
||||
PFNGLENABLEIPROC glEnablei;
|
||||
PFNGLDISABLEIPROC glDisablei;
|
||||
PFNGLBLENDEQUATIONIPROC glBlendEquationi;
|
||||
PFNGLBLENDEQUATIONSEPARATEIPROC glBlendEquationSeparatei;
|
||||
PFNGLBLENDFUNCIPROC glBlendFunci;
|
||||
PFNGLBLENDFUNCSEPARATEIPROC glBlendFuncSeparatei;
|
||||
PFNGLCOLORMASKIPROC glColorMaski;
|
||||
PFNGLISENABLEDIPROC glIsEnabledi;
|
||||
|
||||
PFNGLDRAWELEMENTSBASEVERTEXPROC glDrawElementsBaseVertex;
|
||||
PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC glDrawRangeElementsBaseVertex;
|
||||
PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glDrawElementsInstancedBaseVertex;
|
||||
|
||||
PFNGLFRAMEBUFFERTEXTUREPROC glFramebufferTexture;
|
||||
|
||||
PFNGLPRIMITIVEBOUNDINGBOXPROC glPrimitiveBoundingBox;
|
||||
|
||||
PFNGLGETGRAPHICSRESETSTATUSPROC glGetGraphicsResetStatus;
|
||||
PFNGLREADNPIXELSPROC glReadnPixels;
|
||||
PFNGLGETNUNIFORMFVPROC glGetnUniformfv;
|
||||
PFNGLGETNUNIFORMIVPROC glGetnUniformiv;
|
||||
PFNGLGETNUNIFORMUIVPROC glGetnUniformuiv;
|
||||
|
||||
PFNGLMINSAMPLESHADINGPROC glMinSampleShading;
|
||||
|
||||
PFNGLPATCHPARAMETERIPROC glPatchParameteri;
|
||||
|
||||
PFNGLTEXPARAMETERIIVPROC glTexParameterIiv;
|
||||
PFNGLTEXPARAMETERIUIVPROC glTexParameterIuiv;
|
||||
PFNGLGETTEXPARAMETERIIVPROC glGetTexParameterIiv;
|
||||
PFNGLGETTEXPARAMETERIUIVPROC glGetTexParameterIuiv;
|
||||
PFNGLSAMPLERPARAMETERIIVPROC glSamplerParameterIiv;
|
||||
PFNGLSAMPLERPARAMETERIUIVPROC glSamplerParameterIuiv;
|
||||
PFNGLGETSAMPLERPARAMETERIIVPROC glGetSamplerParameterIiv;
|
||||
PFNGLGETSAMPLERPARAMETERIUIVPROC glGetSamplerParameterIuiv;
|
||||
|
||||
PFNGLTEXBUFFERPROC glTexBuffer;
|
||||
PFNGLTEXBUFFERRANGEPROC glTexBufferRange;
|
||||
|
||||
PFNGLTEXSTORAGE3DMULTISAMPLEPROC glTexStorage3DMultisample;
|
||||
|
||||
/* GLES3W_GENERATE_GLES_DEFINITION */
|
||||
|
||||
/**
|
||||
* ========================= !DO NOT CHANGE THE ABOVE SECTION MANUALLY! =========================
|
||||
* The above section is auto-generated from GLES spec by running:
|
||||
* node tools/gles-wrangler-generator/generate.js
|
||||
* ========================= !DO NOT CHANGE THE ABOVE SECTION MANUALLY! =========================
|
||||
*/
|
||||
|
||||
void gles3wLoadProcs(PFNGLES3WLOADPROC gles3wLoad) {
|
||||
/**
|
||||
* ========================= !DO NOT CHANGE THE FOLLOWING SECTION MANUALLY! =========================
|
||||
* The following section is auto-generated from GLES spec by running:
|
||||
* node tools/gles-wrangler-generator/generate.js
|
||||
* ========================= !DO NOT CHANGE THE FOLLOWING SECTION MANUALLY! =========================
|
||||
*/
|
||||
|
||||
/* GLES3W_GENERATE_GLES_LOAD */
|
||||
/* GL_ES_VERSION_3_0 */
|
||||
glReadBuffer = reinterpret_cast<PFNGLREADBUFFERPROC>(gles3wLoad("glReadBuffer"));
|
||||
glDrawRangeElements = reinterpret_cast<PFNGLDRAWRANGEELEMENTSPROC>(gles3wLoad("glDrawRangeElements"));
|
||||
glTexImage3D = reinterpret_cast<PFNGLTEXIMAGE3DPROC>(gles3wLoad("glTexImage3D"));
|
||||
glTexSubImage3D = reinterpret_cast<PFNGLTEXSUBIMAGE3DPROC>(gles3wLoad("glTexSubImage3D"));
|
||||
glCopyTexSubImage3D = reinterpret_cast<PFNGLCOPYTEXSUBIMAGE3DPROC>(gles3wLoad("glCopyTexSubImage3D"));
|
||||
glCompressedTexImage3D = reinterpret_cast<PFNGLCOMPRESSEDTEXIMAGE3DPROC>(gles3wLoad("glCompressedTexImage3D"));
|
||||
glCompressedTexSubImage3D = reinterpret_cast<PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC>(gles3wLoad("glCompressedTexSubImage3D"));
|
||||
glGenQueries = reinterpret_cast<PFNGLGENQUERIESPROC>(gles3wLoad("glGenQueries"));
|
||||
glDeleteQueries = reinterpret_cast<PFNGLDELETEQUERIESPROC>(gles3wLoad("glDeleteQueries"));
|
||||
glIsQuery = reinterpret_cast<PFNGLISQUERYPROC>(gles3wLoad("glIsQuery"));
|
||||
glBeginQuery = reinterpret_cast<PFNGLBEGINQUERYPROC>(gles3wLoad("glBeginQuery"));
|
||||
glEndQuery = reinterpret_cast<PFNGLENDQUERYPROC>(gles3wLoad("glEndQuery"));
|
||||
glGetQueryiv = reinterpret_cast<PFNGLGETQUERYIVPROC>(gles3wLoad("glGetQueryiv"));
|
||||
glGetQueryObjectuiv = reinterpret_cast<PFNGLGETQUERYOBJECTUIVPROC>(gles3wLoad("glGetQueryObjectuiv"));
|
||||
glUnmapBuffer = reinterpret_cast<PFNGLUNMAPBUFFERPROC>(gles3wLoad("glUnmapBuffer"));
|
||||
glGetBufferPointerv = reinterpret_cast<PFNGLGETBUFFERPOINTERVPROC>(gles3wLoad("glGetBufferPointerv"));
|
||||
glDrawBuffers = reinterpret_cast<PFNGLDRAWBUFFERSPROC>(gles3wLoad("glDrawBuffers"));
|
||||
glUniformMatrix2x3fv = reinterpret_cast<PFNGLUNIFORMMATRIX2X3FVPROC>(gles3wLoad("glUniformMatrix2x3fv"));
|
||||
glUniformMatrix3x2fv = reinterpret_cast<PFNGLUNIFORMMATRIX3X2FVPROC>(gles3wLoad("glUniformMatrix3x2fv"));
|
||||
glUniformMatrix2x4fv = reinterpret_cast<PFNGLUNIFORMMATRIX2X4FVPROC>(gles3wLoad("glUniformMatrix2x4fv"));
|
||||
glUniformMatrix4x2fv = reinterpret_cast<PFNGLUNIFORMMATRIX4X2FVPROC>(gles3wLoad("glUniformMatrix4x2fv"));
|
||||
glUniformMatrix3x4fv = reinterpret_cast<PFNGLUNIFORMMATRIX3X4FVPROC>(gles3wLoad("glUniformMatrix3x4fv"));
|
||||
glUniformMatrix4x3fv = reinterpret_cast<PFNGLUNIFORMMATRIX4X3FVPROC>(gles3wLoad("glUniformMatrix4x3fv"));
|
||||
glBlitFramebuffer = reinterpret_cast<PFNGLBLITFRAMEBUFFERPROC>(gles3wLoad("glBlitFramebuffer"));
|
||||
glRenderbufferStorageMultisample = reinterpret_cast<PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC>(gles3wLoad("glRenderbufferStorageMultisample"));
|
||||
glFramebufferTextureLayer = reinterpret_cast<PFNGLFRAMEBUFFERTEXTURELAYERPROC>(gles3wLoad("glFramebufferTextureLayer"));
|
||||
glMapBufferRange = reinterpret_cast<PFNGLMAPBUFFERRANGEPROC>(gles3wLoad("glMapBufferRange"));
|
||||
glFlushMappedBufferRange = reinterpret_cast<PFNGLFLUSHMAPPEDBUFFERRANGEPROC>(gles3wLoad("glFlushMappedBufferRange"));
|
||||
glBindVertexArray = reinterpret_cast<PFNGLBINDVERTEXARRAYPROC>(gles3wLoad("glBindVertexArray"));
|
||||
glDeleteVertexArrays = reinterpret_cast<PFNGLDELETEVERTEXARRAYSPROC>(gles3wLoad("glDeleteVertexArrays"));
|
||||
glGenVertexArrays = reinterpret_cast<PFNGLGENVERTEXARRAYSPROC>(gles3wLoad("glGenVertexArrays"));
|
||||
glIsVertexArray = reinterpret_cast<PFNGLISVERTEXARRAYPROC>(gles3wLoad("glIsVertexArray"));
|
||||
glGetIntegeri_v = reinterpret_cast<PFNGLGETINTEGERI_VPROC>(gles3wLoad("glGetIntegeri_v"));
|
||||
glBeginTransformFeedback = reinterpret_cast<PFNGLBEGINTRANSFORMFEEDBACKPROC>(gles3wLoad("glBeginTransformFeedback"));
|
||||
glEndTransformFeedback = reinterpret_cast<PFNGLENDTRANSFORMFEEDBACKPROC>(gles3wLoad("glEndTransformFeedback"));
|
||||
glBindBufferRange = reinterpret_cast<PFNGLBINDBUFFERRANGEPROC>(gles3wLoad("glBindBufferRange"));
|
||||
glBindBufferBase = reinterpret_cast<PFNGLBINDBUFFERBASEPROC>(gles3wLoad("glBindBufferBase"));
|
||||
glTransformFeedbackVaryings = reinterpret_cast<PFNGLTRANSFORMFEEDBACKVARYINGSPROC>(gles3wLoad("glTransformFeedbackVaryings"));
|
||||
glGetTransformFeedbackVarying = reinterpret_cast<PFNGLGETTRANSFORMFEEDBACKVARYINGPROC>(gles3wLoad("glGetTransformFeedbackVarying"));
|
||||
glVertexAttribIPointer = reinterpret_cast<PFNGLVERTEXATTRIBIPOINTERPROC>(gles3wLoad("glVertexAttribIPointer"));
|
||||
glGetVertexAttribIiv = reinterpret_cast<PFNGLGETVERTEXATTRIBIIVPROC>(gles3wLoad("glGetVertexAttribIiv"));
|
||||
glGetVertexAttribIuiv = reinterpret_cast<PFNGLGETVERTEXATTRIBIUIVPROC>(gles3wLoad("glGetVertexAttribIuiv"));
|
||||
glVertexAttribI4i = reinterpret_cast<PFNGLVERTEXATTRIBI4IPROC>(gles3wLoad("glVertexAttribI4i"));
|
||||
glVertexAttribI4ui = reinterpret_cast<PFNGLVERTEXATTRIBI4UIPROC>(gles3wLoad("glVertexAttribI4ui"));
|
||||
glVertexAttribI4iv = reinterpret_cast<PFNGLVERTEXATTRIBI4IVPROC>(gles3wLoad("glVertexAttribI4iv"));
|
||||
glVertexAttribI4uiv = reinterpret_cast<PFNGLVERTEXATTRIBI4UIVPROC>(gles3wLoad("glVertexAttribI4uiv"));
|
||||
glGetUniformuiv = reinterpret_cast<PFNGLGETUNIFORMUIVPROC>(gles3wLoad("glGetUniformuiv"));
|
||||
glGetFragDataLocation = reinterpret_cast<PFNGLGETFRAGDATALOCATIONPROC>(gles3wLoad("glGetFragDataLocation"));
|
||||
glUniform1ui = reinterpret_cast<PFNGLUNIFORM1UIPROC>(gles3wLoad("glUniform1ui"));
|
||||
glUniform2ui = reinterpret_cast<PFNGLUNIFORM2UIPROC>(gles3wLoad("glUniform2ui"));
|
||||
glUniform3ui = reinterpret_cast<PFNGLUNIFORM3UIPROC>(gles3wLoad("glUniform3ui"));
|
||||
glUniform4ui = reinterpret_cast<PFNGLUNIFORM4UIPROC>(gles3wLoad("glUniform4ui"));
|
||||
glUniform1uiv = reinterpret_cast<PFNGLUNIFORM1UIVPROC>(gles3wLoad("glUniform1uiv"));
|
||||
glUniform2uiv = reinterpret_cast<PFNGLUNIFORM2UIVPROC>(gles3wLoad("glUniform2uiv"));
|
||||
glUniform3uiv = reinterpret_cast<PFNGLUNIFORM3UIVPROC>(gles3wLoad("glUniform3uiv"));
|
||||
glUniform4uiv = reinterpret_cast<PFNGLUNIFORM4UIVPROC>(gles3wLoad("glUniform4uiv"));
|
||||
glClearBufferiv = reinterpret_cast<PFNGLCLEARBUFFERIVPROC>(gles3wLoad("glClearBufferiv"));
|
||||
glClearBufferuiv = reinterpret_cast<PFNGLCLEARBUFFERUIVPROC>(gles3wLoad("glClearBufferuiv"));
|
||||
glClearBufferfv = reinterpret_cast<PFNGLCLEARBUFFERFVPROC>(gles3wLoad("glClearBufferfv"));
|
||||
glClearBufferfi = reinterpret_cast<PFNGLCLEARBUFFERFIPROC>(gles3wLoad("glClearBufferfi"));
|
||||
glGetStringi = reinterpret_cast<PFNGLGETSTRINGIPROC>(gles3wLoad("glGetStringi"));
|
||||
glCopyBufferSubData = reinterpret_cast<PFNGLCOPYBUFFERSUBDATAPROC>(gles3wLoad("glCopyBufferSubData"));
|
||||
glGetUniformIndices = reinterpret_cast<PFNGLGETUNIFORMINDICESPROC>(gles3wLoad("glGetUniformIndices"));
|
||||
glGetActiveUniformsiv = reinterpret_cast<PFNGLGETACTIVEUNIFORMSIVPROC>(gles3wLoad("glGetActiveUniformsiv"));
|
||||
glGetUniformBlockIndex = reinterpret_cast<PFNGLGETUNIFORMBLOCKINDEXPROC>(gles3wLoad("glGetUniformBlockIndex"));
|
||||
glGetActiveUniformBlockiv = reinterpret_cast<PFNGLGETACTIVEUNIFORMBLOCKIVPROC>(gles3wLoad("glGetActiveUniformBlockiv"));
|
||||
glGetActiveUniformBlockName = reinterpret_cast<PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC>(gles3wLoad("glGetActiveUniformBlockName"));
|
||||
glUniformBlockBinding = reinterpret_cast<PFNGLUNIFORMBLOCKBINDINGPROC>(gles3wLoad("glUniformBlockBinding"));
|
||||
glDrawArraysInstanced = reinterpret_cast<PFNGLDRAWARRAYSINSTANCEDPROC>(gles3wLoad("glDrawArraysInstanced"));
|
||||
glDrawElementsInstanced = reinterpret_cast<PFNGLDRAWELEMENTSINSTANCEDPROC>(gles3wLoad("glDrawElementsInstanced"));
|
||||
glFenceSync = reinterpret_cast<PFNGLFENCESYNCPROC>(gles3wLoad("glFenceSync"));
|
||||
glIsSync = reinterpret_cast<PFNGLISSYNCPROC>(gles3wLoad("glIsSync"));
|
||||
glDeleteSync = reinterpret_cast<PFNGLDELETESYNCPROC>(gles3wLoad("glDeleteSync"));
|
||||
glClientWaitSync = reinterpret_cast<PFNGLCLIENTWAITSYNCPROC>(gles3wLoad("glClientWaitSync"));
|
||||
glWaitSync = reinterpret_cast<PFNGLWAITSYNCPROC>(gles3wLoad("glWaitSync"));
|
||||
glGetInteger64v = reinterpret_cast<PFNGLGETINTEGER64VPROC>(gles3wLoad("glGetInteger64v"));
|
||||
glGetSynciv = reinterpret_cast<PFNGLGETSYNCIVPROC>(gles3wLoad("glGetSynciv"));
|
||||
glGetInteger64i_v = reinterpret_cast<PFNGLGETINTEGER64I_VPROC>(gles3wLoad("glGetInteger64i_v"));
|
||||
glGetBufferParameteri64v = reinterpret_cast<PFNGLGETBUFFERPARAMETERI64VPROC>(gles3wLoad("glGetBufferParameteri64v"));
|
||||
glGenSamplers = reinterpret_cast<PFNGLGENSAMPLERSPROC>(gles3wLoad("glGenSamplers"));
|
||||
glDeleteSamplers = reinterpret_cast<PFNGLDELETESAMPLERSPROC>(gles3wLoad("glDeleteSamplers"));
|
||||
glIsSampler = reinterpret_cast<PFNGLISSAMPLERPROC>(gles3wLoad("glIsSampler"));
|
||||
glBindSampler = reinterpret_cast<PFNGLBINDSAMPLERPROC>(gles3wLoad("glBindSampler"));
|
||||
glSamplerParameteri = reinterpret_cast<PFNGLSAMPLERPARAMETERIPROC>(gles3wLoad("glSamplerParameteri"));
|
||||
glSamplerParameteriv = reinterpret_cast<PFNGLSAMPLERPARAMETERIVPROC>(gles3wLoad("glSamplerParameteriv"));
|
||||
glSamplerParameterf = reinterpret_cast<PFNGLSAMPLERPARAMETERFPROC>(gles3wLoad("glSamplerParameterf"));
|
||||
glSamplerParameterfv = reinterpret_cast<PFNGLSAMPLERPARAMETERFVPROC>(gles3wLoad("glSamplerParameterfv"));
|
||||
glGetSamplerParameteriv = reinterpret_cast<PFNGLGETSAMPLERPARAMETERIVPROC>(gles3wLoad("glGetSamplerParameteriv"));
|
||||
glGetSamplerParameterfv = reinterpret_cast<PFNGLGETSAMPLERPARAMETERFVPROC>(gles3wLoad("glGetSamplerParameterfv"));
|
||||
glVertexAttribDivisor = reinterpret_cast<PFNGLVERTEXATTRIBDIVISORPROC>(gles3wLoad("glVertexAttribDivisor"));
|
||||
glBindTransformFeedback = reinterpret_cast<PFNGLBINDTRANSFORMFEEDBACKPROC>(gles3wLoad("glBindTransformFeedback"));
|
||||
glDeleteTransformFeedbacks = reinterpret_cast<PFNGLDELETETRANSFORMFEEDBACKSPROC>(gles3wLoad("glDeleteTransformFeedbacks"));
|
||||
glGenTransformFeedbacks = reinterpret_cast<PFNGLGENTRANSFORMFEEDBACKSPROC>(gles3wLoad("glGenTransformFeedbacks"));
|
||||
glIsTransformFeedback = reinterpret_cast<PFNGLISTRANSFORMFEEDBACKPROC>(gles3wLoad("glIsTransformFeedback"));
|
||||
glPauseTransformFeedback = reinterpret_cast<PFNGLPAUSETRANSFORMFEEDBACKPROC>(gles3wLoad("glPauseTransformFeedback"));
|
||||
glResumeTransformFeedback = reinterpret_cast<PFNGLRESUMETRANSFORMFEEDBACKPROC>(gles3wLoad("glResumeTransformFeedback"));
|
||||
glGetProgramBinary = reinterpret_cast<PFNGLGETPROGRAMBINARYPROC>(gles3wLoad("glGetProgramBinary"));
|
||||
glProgramBinary = reinterpret_cast<PFNGLPROGRAMBINARYPROC>(gles3wLoad("glProgramBinary"));
|
||||
glProgramParameteri = reinterpret_cast<PFNGLPROGRAMPARAMETERIPROC>(gles3wLoad("glProgramParameteri"));
|
||||
glInvalidateFramebuffer = reinterpret_cast<PFNGLINVALIDATEFRAMEBUFFERPROC>(gles3wLoad("glInvalidateFramebuffer"));
|
||||
glInvalidateSubFramebuffer = reinterpret_cast<PFNGLINVALIDATESUBFRAMEBUFFERPROC>(gles3wLoad("glInvalidateSubFramebuffer"));
|
||||
glTexStorage2D = reinterpret_cast<PFNGLTEXSTORAGE2DPROC>(gles3wLoad("glTexStorage2D"));
|
||||
glTexStorage3D = reinterpret_cast<PFNGLTEXSTORAGE3DPROC>(gles3wLoad("glTexStorage3D"));
|
||||
glGetInternalformativ = reinterpret_cast<PFNGLGETINTERNALFORMATIVPROC>(gles3wLoad("glGetInternalformativ"));
|
||||
|
||||
/* GL_ES_VERSION_3_1 */
|
||||
glDispatchCompute = reinterpret_cast<PFNGLDISPATCHCOMPUTEPROC>(gles3wLoad("glDispatchCompute"));
|
||||
glDispatchComputeIndirect = reinterpret_cast<PFNGLDISPATCHCOMPUTEINDIRECTPROC>(gles3wLoad("glDispatchComputeIndirect"));
|
||||
|
||||
glDrawArraysIndirect = reinterpret_cast<PFNGLDRAWARRAYSINDIRECTPROC>(gles3wLoad("glDrawArraysIndirect"));
|
||||
glDrawElementsIndirect = reinterpret_cast<PFNGLDRAWELEMENTSINDIRECTPROC>(gles3wLoad("glDrawElementsIndirect"));
|
||||
|
||||
glFramebufferParameteri = reinterpret_cast<PFNGLFRAMEBUFFERPARAMETERIPROC>(gles3wLoad("glFramebufferParameteri"));
|
||||
glGetFramebufferParameteriv = reinterpret_cast<PFNGLGETFRAMEBUFFERPARAMETERIVPROC>(gles3wLoad("glGetFramebufferParameteriv"));
|
||||
|
||||
glGetProgramInterfaceiv = reinterpret_cast<PFNGLGETPROGRAMINTERFACEIVPROC>(gles3wLoad("glGetProgramInterfaceiv"));
|
||||
glGetProgramResourceIndex = reinterpret_cast<PFNGLGETPROGRAMRESOURCEINDEXPROC>(gles3wLoad("glGetProgramResourceIndex"));
|
||||
glGetProgramResourceName = reinterpret_cast<PFNGLGETPROGRAMRESOURCENAMEPROC>(gles3wLoad("glGetProgramResourceName"));
|
||||
glGetProgramResourceiv = reinterpret_cast<PFNGLGETPROGRAMRESOURCEIVPROC>(gles3wLoad("glGetProgramResourceiv"));
|
||||
glGetProgramResourceLocation = reinterpret_cast<PFNGLGETPROGRAMRESOURCELOCATIONPROC>(gles3wLoad("glGetProgramResourceLocation"));
|
||||
|
||||
glUseProgramStages = reinterpret_cast<PFNGLUSEPROGRAMSTAGESPROC>(gles3wLoad("glUseProgramStages"));
|
||||
glActiveShaderProgram = reinterpret_cast<PFNGLACTIVESHADERPROGRAMPROC>(gles3wLoad("glActiveShaderProgram"));
|
||||
glCreateShaderProgramv = reinterpret_cast<PFNGLCREATESHADERPROGRAMVPROC>(gles3wLoad("glCreateShaderProgramv"));
|
||||
glBindProgramPipeline = reinterpret_cast<PFNGLBINDPROGRAMPIPELINEPROC>(gles3wLoad("glBindProgramPipeline"));
|
||||
glDeleteProgramPipelines = reinterpret_cast<PFNGLDELETEPROGRAMPIPELINESPROC>(gles3wLoad("glDeleteProgramPipelines"));
|
||||
glGenProgramPipelines = reinterpret_cast<PFNGLGENPROGRAMPIPELINESPROC>(gles3wLoad("glGenProgramPipelines"));
|
||||
glIsProgramPipeline = reinterpret_cast<PFNGLISPROGRAMPIPELINEPROC>(gles3wLoad("glIsProgramPipeline"));
|
||||
glGetProgramPipelineiv = reinterpret_cast<PFNGLGETPROGRAMPIPELINEIVPROC>(gles3wLoad("glGetProgramPipelineiv"));
|
||||
glProgramUniform1i = reinterpret_cast<PFNGLPROGRAMUNIFORM1IPROC>(gles3wLoad("glProgramUniform1i"));
|
||||
glProgramUniform2i = reinterpret_cast<PFNGLPROGRAMUNIFORM2IPROC>(gles3wLoad("glProgramUniform2i"));
|
||||
glProgramUniform3i = reinterpret_cast<PFNGLPROGRAMUNIFORM3IPROC>(gles3wLoad("glProgramUniform3i"));
|
||||
glProgramUniform4i = reinterpret_cast<PFNGLPROGRAMUNIFORM4IPROC>(gles3wLoad("glProgramUniform4i"));
|
||||
glProgramUniform1ui = reinterpret_cast<PFNGLPROGRAMUNIFORM1UIPROC>(gles3wLoad("glProgramUniform1ui"));
|
||||
glProgramUniform2ui = reinterpret_cast<PFNGLPROGRAMUNIFORM2UIPROC>(gles3wLoad("glProgramUniform2ui"));
|
||||
glProgramUniform3ui = reinterpret_cast<PFNGLPROGRAMUNIFORM3UIPROC>(gles3wLoad("glProgramUniform3ui"));
|
||||
glProgramUniform4ui = reinterpret_cast<PFNGLPROGRAMUNIFORM4UIPROC>(gles3wLoad("glProgramUniform4ui"));
|
||||
glProgramUniform1f = reinterpret_cast<PFNGLPROGRAMUNIFORM1FPROC>(gles3wLoad("glProgramUniform1f"));
|
||||
glProgramUniform2f = reinterpret_cast<PFNGLPROGRAMUNIFORM2FPROC>(gles3wLoad("glProgramUniform2f"));
|
||||
glProgramUniform3f = reinterpret_cast<PFNGLPROGRAMUNIFORM3FPROC>(gles3wLoad("glProgramUniform3f"));
|
||||
glProgramUniform4f = reinterpret_cast<PFNGLPROGRAMUNIFORM4FPROC>(gles3wLoad("glProgramUniform4f"));
|
||||
glProgramUniform1iv = reinterpret_cast<PFNGLPROGRAMUNIFORM1IVPROC>(gles3wLoad("glProgramUniform1iv"));
|
||||
glProgramUniform2iv = reinterpret_cast<PFNGLPROGRAMUNIFORM2IVPROC>(gles3wLoad("glProgramUniform2iv"));
|
||||
glProgramUniform3iv = reinterpret_cast<PFNGLPROGRAMUNIFORM3IVPROC>(gles3wLoad("glProgramUniform3iv"));
|
||||
glProgramUniform4iv = reinterpret_cast<PFNGLPROGRAMUNIFORM4IVPROC>(gles3wLoad("glProgramUniform4iv"));
|
||||
glProgramUniform1uiv = reinterpret_cast<PFNGLPROGRAMUNIFORM1UIVPROC>(gles3wLoad("glProgramUniform1uiv"));
|
||||
glProgramUniform2uiv = reinterpret_cast<PFNGLPROGRAMUNIFORM2UIVPROC>(gles3wLoad("glProgramUniform2uiv"));
|
||||
glProgramUniform3uiv = reinterpret_cast<PFNGLPROGRAMUNIFORM3UIVPROC>(gles3wLoad("glProgramUniform3uiv"));
|
||||
glProgramUniform4uiv = reinterpret_cast<PFNGLPROGRAMUNIFORM4UIVPROC>(gles3wLoad("glProgramUniform4uiv"));
|
||||
glProgramUniform1fv = reinterpret_cast<PFNGLPROGRAMUNIFORM1FVPROC>(gles3wLoad("glProgramUniform1fv"));
|
||||
glProgramUniform2fv = reinterpret_cast<PFNGLPROGRAMUNIFORM2FVPROC>(gles3wLoad("glProgramUniform2fv"));
|
||||
glProgramUniform3fv = reinterpret_cast<PFNGLPROGRAMUNIFORM3FVPROC>(gles3wLoad("glProgramUniform3fv"));
|
||||
glProgramUniform4fv = reinterpret_cast<PFNGLPROGRAMUNIFORM4FVPROC>(gles3wLoad("glProgramUniform4fv"));
|
||||
glProgramUniformMatrix2fv = reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX2FVPROC>(gles3wLoad("glProgramUniformMatrix2fv"));
|
||||
glProgramUniformMatrix3fv = reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX3FVPROC>(gles3wLoad("glProgramUniformMatrix3fv"));
|
||||
glProgramUniformMatrix4fv = reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX4FVPROC>(gles3wLoad("glProgramUniformMatrix4fv"));
|
||||
glProgramUniformMatrix2x3fv = reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC>(gles3wLoad("glProgramUniformMatrix2x3fv"));
|
||||
glProgramUniformMatrix3x2fv = reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC>(gles3wLoad("glProgramUniformMatrix3x2fv"));
|
||||
glProgramUniformMatrix2x4fv = reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC>(gles3wLoad("glProgramUniformMatrix2x4fv"));
|
||||
glProgramUniformMatrix4x2fv = reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC>(gles3wLoad("glProgramUniformMatrix4x2fv"));
|
||||
glProgramUniformMatrix3x4fv = reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC>(gles3wLoad("glProgramUniformMatrix3x4fv"));
|
||||
glProgramUniformMatrix4x3fv = reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC>(gles3wLoad("glProgramUniformMatrix4x3fv"));
|
||||
glValidateProgramPipeline = reinterpret_cast<PFNGLVALIDATEPROGRAMPIPELINEPROC>(gles3wLoad("glValidateProgramPipeline"));
|
||||
glGetProgramPipelineInfoLog = reinterpret_cast<PFNGLGETPROGRAMPIPELINEINFOLOGPROC>(gles3wLoad("glGetProgramPipelineInfoLog"));
|
||||
|
||||
glBindImageTexture = reinterpret_cast<PFNGLBINDIMAGETEXTUREPROC>(gles3wLoad("glBindImageTexture"));
|
||||
glGetBooleani_v = reinterpret_cast<PFNGLGETBOOLEANI_VPROC>(gles3wLoad("glGetBooleani_v"));
|
||||
glMemoryBarrier = reinterpret_cast<PFNGLMEMORYBARRIERPROC>(gles3wLoad("glMemoryBarrier"));
|
||||
glMemoryBarrierByRegion = reinterpret_cast<PFNGLMEMORYBARRIERBYREGIONPROC>(gles3wLoad("glMemoryBarrierByRegion"));
|
||||
|
||||
glTexStorage2DMultisample = reinterpret_cast<PFNGLTEXSTORAGE2DMULTISAMPLEPROC>(gles3wLoad("glTexStorage2DMultisample"));
|
||||
glGetMultisamplefv = reinterpret_cast<PFNGLGETMULTISAMPLEFVPROC>(gles3wLoad("glGetMultisamplefv"));
|
||||
glSampleMaski = reinterpret_cast<PFNGLSAMPLEMASKIPROC>(gles3wLoad("glSampleMaski"));
|
||||
glGetTexLevelParameteriv = reinterpret_cast<PFNGLGETTEXLEVELPARAMETERIVPROC>(gles3wLoad("glGetTexLevelParameteriv"));
|
||||
glGetTexLevelParameterfv = reinterpret_cast<PFNGLGETTEXLEVELPARAMETERFVPROC>(gles3wLoad("glGetTexLevelParameterfv"));
|
||||
|
||||
glBindVertexBuffer = reinterpret_cast<PFNGLBINDVERTEXBUFFERPROC>(gles3wLoad("glBindVertexBuffer"));
|
||||
glVertexAttribFormat = reinterpret_cast<PFNGLVERTEXATTRIBFORMATPROC>(gles3wLoad("glVertexAttribFormat"));
|
||||
glVertexAttribIFormat = reinterpret_cast<PFNGLVERTEXATTRIBIFORMATPROC>(gles3wLoad("glVertexAttribIFormat"));
|
||||
glVertexAttribBinding = reinterpret_cast<PFNGLVERTEXATTRIBBINDINGPROC>(gles3wLoad("glVertexAttribBinding"));
|
||||
glVertexBindingDivisor = reinterpret_cast<PFNGLVERTEXBINDINGDIVISORPROC>(gles3wLoad("glVertexBindingDivisor"));
|
||||
|
||||
/* GL_ES_VERSION_3_2 */
|
||||
glBlendBarrier = reinterpret_cast<PFNGLBLENDBARRIERPROC>(gles3wLoad("glBlendBarrier"));
|
||||
|
||||
glCopyImageSubData = reinterpret_cast<PFNGLCOPYIMAGESUBDATAPROC>(gles3wLoad("glCopyImageSubData"));
|
||||
|
||||
glDebugMessageControl = reinterpret_cast<PFNGLDEBUGMESSAGECONTROLPROC>(gles3wLoad("glDebugMessageControl"));
|
||||
glDebugMessageInsert = reinterpret_cast<PFNGLDEBUGMESSAGEINSERTPROC>(gles3wLoad("glDebugMessageInsert"));
|
||||
glDebugMessageCallback = reinterpret_cast<PFNGLDEBUGMESSAGECALLBACKPROC>(gles3wLoad("glDebugMessageCallback"));
|
||||
glGetDebugMessageLog = reinterpret_cast<PFNGLGETDEBUGMESSAGELOGPROC>(gles3wLoad("glGetDebugMessageLog"));
|
||||
glPushDebugGroup = reinterpret_cast<PFNGLPUSHDEBUGGROUPPROC>(gles3wLoad("glPushDebugGroup"));
|
||||
glPopDebugGroup = reinterpret_cast<PFNGLPOPDEBUGGROUPPROC>(gles3wLoad("glPopDebugGroup"));
|
||||
glObjectLabel = reinterpret_cast<PFNGLOBJECTLABELPROC>(gles3wLoad("glObjectLabel"));
|
||||
glGetObjectLabel = reinterpret_cast<PFNGLGETOBJECTLABELPROC>(gles3wLoad("glGetObjectLabel"));
|
||||
glObjectPtrLabel = reinterpret_cast<PFNGLOBJECTPTRLABELPROC>(gles3wLoad("glObjectPtrLabel"));
|
||||
glGetObjectPtrLabel = reinterpret_cast<PFNGLGETOBJECTPTRLABELPROC>(gles3wLoad("glGetObjectPtrLabel"));
|
||||
glGetPointerv = reinterpret_cast<PFNGLGETPOINTERVPROC>(gles3wLoad("glGetPointerv"));
|
||||
|
||||
glEnablei = reinterpret_cast<PFNGLENABLEIPROC>(gles3wLoad("glEnablei"));
|
||||
glDisablei = reinterpret_cast<PFNGLDISABLEIPROC>(gles3wLoad("glDisablei"));
|
||||
glBlendEquationi = reinterpret_cast<PFNGLBLENDEQUATIONIPROC>(gles3wLoad("glBlendEquationi"));
|
||||
glBlendEquationSeparatei = reinterpret_cast<PFNGLBLENDEQUATIONSEPARATEIPROC>(gles3wLoad("glBlendEquationSeparatei"));
|
||||
glBlendFunci = reinterpret_cast<PFNGLBLENDFUNCIPROC>(gles3wLoad("glBlendFunci"));
|
||||
glBlendFuncSeparatei = reinterpret_cast<PFNGLBLENDFUNCSEPARATEIPROC>(gles3wLoad("glBlendFuncSeparatei"));
|
||||
glColorMaski = reinterpret_cast<PFNGLCOLORMASKIPROC>(gles3wLoad("glColorMaski"));
|
||||
glIsEnabledi = reinterpret_cast<PFNGLISENABLEDIPROC>(gles3wLoad("glIsEnabledi"));
|
||||
|
||||
glDrawElementsBaseVertex = reinterpret_cast<PFNGLDRAWELEMENTSBASEVERTEXPROC>(gles3wLoad("glDrawElementsBaseVertex"));
|
||||
glDrawRangeElementsBaseVertex = reinterpret_cast<PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC>(gles3wLoad("glDrawRangeElementsBaseVertex"));
|
||||
glDrawElementsInstancedBaseVertex = reinterpret_cast<PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC>(gles3wLoad("glDrawElementsInstancedBaseVertex"));
|
||||
|
||||
glFramebufferTexture = reinterpret_cast<PFNGLFRAMEBUFFERTEXTUREPROC>(gles3wLoad("glFramebufferTexture"));
|
||||
|
||||
glPrimitiveBoundingBox = reinterpret_cast<PFNGLPRIMITIVEBOUNDINGBOXPROC>(gles3wLoad("glPrimitiveBoundingBox"));
|
||||
|
||||
glGetGraphicsResetStatus = reinterpret_cast<PFNGLGETGRAPHICSRESETSTATUSPROC>(gles3wLoad("glGetGraphicsResetStatus"));
|
||||
glReadnPixels = reinterpret_cast<PFNGLREADNPIXELSPROC>(gles3wLoad("glReadnPixels"));
|
||||
glGetnUniformfv = reinterpret_cast<PFNGLGETNUNIFORMFVPROC>(gles3wLoad("glGetnUniformfv"));
|
||||
glGetnUniformiv = reinterpret_cast<PFNGLGETNUNIFORMIVPROC>(gles3wLoad("glGetnUniformiv"));
|
||||
glGetnUniformuiv = reinterpret_cast<PFNGLGETNUNIFORMUIVPROC>(gles3wLoad("glGetnUniformuiv"));
|
||||
|
||||
glMinSampleShading = reinterpret_cast<PFNGLMINSAMPLESHADINGPROC>(gles3wLoad("glMinSampleShading"));
|
||||
|
||||
glPatchParameteri = reinterpret_cast<PFNGLPATCHPARAMETERIPROC>(gles3wLoad("glPatchParameteri"));
|
||||
|
||||
glTexParameterIiv = reinterpret_cast<PFNGLTEXPARAMETERIIVPROC>(gles3wLoad("glTexParameterIiv"));
|
||||
glTexParameterIuiv = reinterpret_cast<PFNGLTEXPARAMETERIUIVPROC>(gles3wLoad("glTexParameterIuiv"));
|
||||
glGetTexParameterIiv = reinterpret_cast<PFNGLGETTEXPARAMETERIIVPROC>(gles3wLoad("glGetTexParameterIiv"));
|
||||
glGetTexParameterIuiv = reinterpret_cast<PFNGLGETTEXPARAMETERIUIVPROC>(gles3wLoad("glGetTexParameterIuiv"));
|
||||
glSamplerParameterIiv = reinterpret_cast<PFNGLSAMPLERPARAMETERIIVPROC>(gles3wLoad("glSamplerParameterIiv"));
|
||||
glSamplerParameterIuiv = reinterpret_cast<PFNGLSAMPLERPARAMETERIUIVPROC>(gles3wLoad("glSamplerParameterIuiv"));
|
||||
glGetSamplerParameterIiv = reinterpret_cast<PFNGLGETSAMPLERPARAMETERIIVPROC>(gles3wLoad("glGetSamplerParameterIiv"));
|
||||
glGetSamplerParameterIuiv = reinterpret_cast<PFNGLGETSAMPLERPARAMETERIUIVPROC>(gles3wLoad("glGetSamplerParameterIuiv"));
|
||||
|
||||
glTexBuffer = reinterpret_cast<PFNGLTEXBUFFERPROC>(gles3wLoad("glTexBuffer"));
|
||||
glTexBufferRange = reinterpret_cast<PFNGLTEXBUFFERRANGEPROC>(gles3wLoad("glTexBufferRange"));
|
||||
|
||||
glTexStorage3DMultisample = reinterpret_cast<PFNGLTEXSTORAGE3DMULTISAMPLEPROC>(gles3wLoad("glTexStorage3DMultisample"));
|
||||
|
||||
/* GLES3W_GENERATE_GLES_LOAD */
|
||||
|
||||
/**
|
||||
* ========================= !DO NOT CHANGE THE ABOVE SECTION MANUALLY! =========================
|
||||
* The above section is auto-generated from GLES spec by running:
|
||||
* node tools/gles-wrangler-generator/generate.js
|
||||
* ========================= !DO NOT CHANGE THE ABOVE SECTION MANUALLY! =========================
|
||||
*/
|
||||
}
|
||||
289
cocos/renderer/gfx-gles-common/gles3w.h
Normal file
289
cocos/renderer/gfx-gles-common/gles3w.h
Normal file
@@ -0,0 +1,289 @@
|
||||
/****************************************************************************
|
||||
Copyright (c) 2019-2023 Xiamen Yaji Software Co., Ltd.
|
||||
|
||||
http://www.cocos.com
|
||||
|
||||
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.
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define GL_GLES_PROTOTYPES 0
|
||||
#include <GLES3/gl32.h>
|
||||
|
||||
/**
|
||||
* ========================= !DO NOT CHANGE THE FOLLOWING SECTION MANUALLY! =========================
|
||||
* The following section is auto-generated from GLES spec by running:
|
||||
* node tools/gles-wrangler-generator/generate.js
|
||||
* ========================= !DO NOT CHANGE THE FOLLOWING SECTION MANUALLY! =========================
|
||||
*/
|
||||
|
||||
/* GLES3W_GENERATE_GLES_DECLARATION */
|
||||
/* GL_ES_VERSION_3_0 */
|
||||
extern PFNGLREADBUFFERPROC glReadBuffer;
|
||||
extern PFNGLDRAWRANGEELEMENTSPROC glDrawRangeElements;
|
||||
extern PFNGLTEXIMAGE3DPROC glTexImage3D;
|
||||
extern PFNGLTEXSUBIMAGE3DPROC glTexSubImage3D;
|
||||
extern PFNGLCOPYTEXSUBIMAGE3DPROC glCopyTexSubImage3D;
|
||||
extern PFNGLCOMPRESSEDTEXIMAGE3DPROC glCompressedTexImage3D;
|
||||
extern PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glCompressedTexSubImage3D;
|
||||
extern PFNGLGENQUERIESPROC glGenQueries;
|
||||
extern PFNGLDELETEQUERIESPROC glDeleteQueries;
|
||||
extern PFNGLISQUERYPROC glIsQuery;
|
||||
extern PFNGLBEGINQUERYPROC glBeginQuery;
|
||||
extern PFNGLENDQUERYPROC glEndQuery;
|
||||
extern PFNGLGETQUERYIVPROC glGetQueryiv;
|
||||
extern PFNGLGETQUERYOBJECTUIVPROC glGetQueryObjectuiv;
|
||||
extern PFNGLUNMAPBUFFERPROC glUnmapBuffer;
|
||||
extern PFNGLGETBUFFERPOINTERVPROC glGetBufferPointerv;
|
||||
extern PFNGLDRAWBUFFERSPROC glDrawBuffers;
|
||||
extern PFNGLUNIFORMMATRIX2X3FVPROC glUniformMatrix2x3fv;
|
||||
extern PFNGLUNIFORMMATRIX3X2FVPROC glUniformMatrix3x2fv;
|
||||
extern PFNGLUNIFORMMATRIX2X4FVPROC glUniformMatrix2x4fv;
|
||||
extern PFNGLUNIFORMMATRIX4X2FVPROC glUniformMatrix4x2fv;
|
||||
extern PFNGLUNIFORMMATRIX3X4FVPROC glUniformMatrix3x4fv;
|
||||
extern PFNGLUNIFORMMATRIX4X3FVPROC glUniformMatrix4x3fv;
|
||||
extern PFNGLBLITFRAMEBUFFERPROC glBlitFramebuffer;
|
||||
extern PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glRenderbufferStorageMultisample;
|
||||
extern PFNGLFRAMEBUFFERTEXTURELAYERPROC glFramebufferTextureLayer;
|
||||
extern PFNGLMAPBUFFERRANGEPROC glMapBufferRange;
|
||||
extern PFNGLFLUSHMAPPEDBUFFERRANGEPROC glFlushMappedBufferRange;
|
||||
extern PFNGLBINDVERTEXARRAYPROC glBindVertexArray;
|
||||
extern PFNGLDELETEVERTEXARRAYSPROC glDeleteVertexArrays;
|
||||
extern PFNGLGENVERTEXARRAYSPROC glGenVertexArrays;
|
||||
extern PFNGLISVERTEXARRAYPROC glIsVertexArray;
|
||||
extern PFNGLGETINTEGERI_VPROC glGetIntegeri_v; // NOLINT(readability-identifier-naming)
|
||||
extern PFNGLBEGINTRANSFORMFEEDBACKPROC glBeginTransformFeedback;
|
||||
extern PFNGLENDTRANSFORMFEEDBACKPROC glEndTransformFeedback;
|
||||
extern PFNGLBINDBUFFERRANGEPROC glBindBufferRange;
|
||||
extern PFNGLBINDBUFFERBASEPROC glBindBufferBase;
|
||||
extern PFNGLTRANSFORMFEEDBACKVARYINGSPROC glTransformFeedbackVaryings;
|
||||
extern PFNGLGETTRANSFORMFEEDBACKVARYINGPROC glGetTransformFeedbackVarying;
|
||||
extern PFNGLVERTEXATTRIBIPOINTERPROC glVertexAttribIPointer;
|
||||
extern PFNGLGETVERTEXATTRIBIIVPROC glGetVertexAttribIiv;
|
||||
extern PFNGLGETVERTEXATTRIBIUIVPROC glGetVertexAttribIuiv;
|
||||
extern PFNGLVERTEXATTRIBI4IPROC glVertexAttribI4i;
|
||||
extern PFNGLVERTEXATTRIBI4UIPROC glVertexAttribI4ui;
|
||||
extern PFNGLVERTEXATTRIBI4IVPROC glVertexAttribI4iv;
|
||||
extern PFNGLVERTEXATTRIBI4UIVPROC glVertexAttribI4uiv;
|
||||
extern PFNGLGETUNIFORMUIVPROC glGetUniformuiv;
|
||||
extern PFNGLGETFRAGDATALOCATIONPROC glGetFragDataLocation;
|
||||
extern PFNGLUNIFORM1UIPROC glUniform1ui;
|
||||
extern PFNGLUNIFORM2UIPROC glUniform2ui;
|
||||
extern PFNGLUNIFORM3UIPROC glUniform3ui;
|
||||
extern PFNGLUNIFORM4UIPROC glUniform4ui;
|
||||
extern PFNGLUNIFORM1UIVPROC glUniform1uiv;
|
||||
extern PFNGLUNIFORM2UIVPROC glUniform2uiv;
|
||||
extern PFNGLUNIFORM3UIVPROC glUniform3uiv;
|
||||
extern PFNGLUNIFORM4UIVPROC glUniform4uiv;
|
||||
extern PFNGLCLEARBUFFERIVPROC glClearBufferiv;
|
||||
extern PFNGLCLEARBUFFERUIVPROC glClearBufferuiv;
|
||||
extern PFNGLCLEARBUFFERFVPROC glClearBufferfv;
|
||||
extern PFNGLCLEARBUFFERFIPROC glClearBufferfi;
|
||||
extern PFNGLGETSTRINGIPROC glGetStringi;
|
||||
extern PFNGLCOPYBUFFERSUBDATAPROC glCopyBufferSubData;
|
||||
extern PFNGLGETUNIFORMINDICESPROC glGetUniformIndices;
|
||||
extern PFNGLGETACTIVEUNIFORMSIVPROC glGetActiveUniformsiv;
|
||||
extern PFNGLGETUNIFORMBLOCKINDEXPROC glGetUniformBlockIndex;
|
||||
extern PFNGLGETACTIVEUNIFORMBLOCKIVPROC glGetActiveUniformBlockiv;
|
||||
extern PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glGetActiveUniformBlockName;
|
||||
extern PFNGLUNIFORMBLOCKBINDINGPROC glUniformBlockBinding;
|
||||
extern PFNGLDRAWARRAYSINSTANCEDPROC glDrawArraysInstanced;
|
||||
extern PFNGLDRAWELEMENTSINSTANCEDPROC glDrawElementsInstanced;
|
||||
extern PFNGLFENCESYNCPROC glFenceSync;
|
||||
extern PFNGLISSYNCPROC glIsSync;
|
||||
extern PFNGLDELETESYNCPROC glDeleteSync;
|
||||
extern PFNGLCLIENTWAITSYNCPROC glClientWaitSync;
|
||||
extern PFNGLWAITSYNCPROC glWaitSync;
|
||||
extern PFNGLGETINTEGER64VPROC glGetInteger64v;
|
||||
extern PFNGLGETSYNCIVPROC glGetSynciv;
|
||||
extern PFNGLGETINTEGER64I_VPROC glGetInteger64i_v; // NOLINT(readability-identifier-naming)
|
||||
extern PFNGLGETBUFFERPARAMETERI64VPROC glGetBufferParameteri64v;
|
||||
extern PFNGLGENSAMPLERSPROC glGenSamplers;
|
||||
extern PFNGLDELETESAMPLERSPROC glDeleteSamplers;
|
||||
extern PFNGLISSAMPLERPROC glIsSampler;
|
||||
extern PFNGLBINDSAMPLERPROC glBindSampler;
|
||||
extern PFNGLSAMPLERPARAMETERIPROC glSamplerParameteri;
|
||||
extern PFNGLSAMPLERPARAMETERIVPROC glSamplerParameteriv;
|
||||
extern PFNGLSAMPLERPARAMETERFPROC glSamplerParameterf;
|
||||
extern PFNGLSAMPLERPARAMETERFVPROC glSamplerParameterfv;
|
||||
extern PFNGLGETSAMPLERPARAMETERIVPROC glGetSamplerParameteriv;
|
||||
extern PFNGLGETSAMPLERPARAMETERFVPROC glGetSamplerParameterfv;
|
||||
extern PFNGLVERTEXATTRIBDIVISORPROC glVertexAttribDivisor;
|
||||
extern PFNGLBINDTRANSFORMFEEDBACKPROC glBindTransformFeedback;
|
||||
extern PFNGLDELETETRANSFORMFEEDBACKSPROC glDeleteTransformFeedbacks;
|
||||
extern PFNGLGENTRANSFORMFEEDBACKSPROC glGenTransformFeedbacks;
|
||||
extern PFNGLISTRANSFORMFEEDBACKPROC glIsTransformFeedback;
|
||||
extern PFNGLPAUSETRANSFORMFEEDBACKPROC glPauseTransformFeedback;
|
||||
extern PFNGLRESUMETRANSFORMFEEDBACKPROC glResumeTransformFeedback;
|
||||
extern PFNGLGETPROGRAMBINARYPROC glGetProgramBinary;
|
||||
extern PFNGLPROGRAMBINARYPROC glProgramBinary;
|
||||
extern PFNGLPROGRAMPARAMETERIPROC glProgramParameteri;
|
||||
extern PFNGLINVALIDATEFRAMEBUFFERPROC glInvalidateFramebuffer;
|
||||
extern PFNGLINVALIDATESUBFRAMEBUFFERPROC glInvalidateSubFramebuffer;
|
||||
extern PFNGLTEXSTORAGE2DPROC glTexStorage2D;
|
||||
extern PFNGLTEXSTORAGE3DPROC glTexStorage3D;
|
||||
extern PFNGLGETINTERNALFORMATIVPROC glGetInternalformativ;
|
||||
|
||||
/* GL_ES_VERSION_3_1 */
|
||||
extern PFNGLDISPATCHCOMPUTEPROC glDispatchCompute;
|
||||
extern PFNGLDISPATCHCOMPUTEINDIRECTPROC glDispatchComputeIndirect;
|
||||
|
||||
extern PFNGLDRAWARRAYSINDIRECTPROC glDrawArraysIndirect;
|
||||
extern PFNGLDRAWELEMENTSINDIRECTPROC glDrawElementsIndirect;
|
||||
|
||||
extern PFNGLFRAMEBUFFERPARAMETERIPROC glFramebufferParameteri;
|
||||
extern PFNGLGETFRAMEBUFFERPARAMETERIVPROC glGetFramebufferParameteriv;
|
||||
|
||||
extern PFNGLGETPROGRAMINTERFACEIVPROC glGetProgramInterfaceiv;
|
||||
extern PFNGLGETPROGRAMRESOURCEINDEXPROC glGetProgramResourceIndex;
|
||||
extern PFNGLGETPROGRAMRESOURCENAMEPROC glGetProgramResourceName;
|
||||
extern PFNGLGETPROGRAMRESOURCEIVPROC glGetProgramResourceiv;
|
||||
extern PFNGLGETPROGRAMRESOURCELOCATIONPROC glGetProgramResourceLocation;
|
||||
|
||||
extern PFNGLUSEPROGRAMSTAGESPROC glUseProgramStages;
|
||||
extern PFNGLACTIVESHADERPROGRAMPROC glActiveShaderProgram;
|
||||
extern PFNGLCREATESHADERPROGRAMVPROC glCreateShaderProgramv;
|
||||
extern PFNGLBINDPROGRAMPIPELINEPROC glBindProgramPipeline;
|
||||
extern PFNGLDELETEPROGRAMPIPELINESPROC glDeleteProgramPipelines;
|
||||
extern PFNGLGENPROGRAMPIPELINESPROC glGenProgramPipelines;
|
||||
extern PFNGLISPROGRAMPIPELINEPROC glIsProgramPipeline;
|
||||
extern PFNGLGETPROGRAMPIPELINEIVPROC glGetProgramPipelineiv;
|
||||
extern PFNGLPROGRAMUNIFORM1IPROC glProgramUniform1i;
|
||||
extern PFNGLPROGRAMUNIFORM2IPROC glProgramUniform2i;
|
||||
extern PFNGLPROGRAMUNIFORM3IPROC glProgramUniform3i;
|
||||
extern PFNGLPROGRAMUNIFORM4IPROC glProgramUniform4i;
|
||||
extern PFNGLPROGRAMUNIFORM1UIPROC glProgramUniform1ui;
|
||||
extern PFNGLPROGRAMUNIFORM2UIPROC glProgramUniform2ui;
|
||||
extern PFNGLPROGRAMUNIFORM3UIPROC glProgramUniform3ui;
|
||||
extern PFNGLPROGRAMUNIFORM4UIPROC glProgramUniform4ui;
|
||||
extern PFNGLPROGRAMUNIFORM1FPROC glProgramUniform1f;
|
||||
extern PFNGLPROGRAMUNIFORM2FPROC glProgramUniform2f;
|
||||
extern PFNGLPROGRAMUNIFORM3FPROC glProgramUniform3f;
|
||||
extern PFNGLPROGRAMUNIFORM4FPROC glProgramUniform4f;
|
||||
extern PFNGLPROGRAMUNIFORM1IVPROC glProgramUniform1iv;
|
||||
extern PFNGLPROGRAMUNIFORM2IVPROC glProgramUniform2iv;
|
||||
extern PFNGLPROGRAMUNIFORM3IVPROC glProgramUniform3iv;
|
||||
extern PFNGLPROGRAMUNIFORM4IVPROC glProgramUniform4iv;
|
||||
extern PFNGLPROGRAMUNIFORM1UIVPROC glProgramUniform1uiv;
|
||||
extern PFNGLPROGRAMUNIFORM2UIVPROC glProgramUniform2uiv;
|
||||
extern PFNGLPROGRAMUNIFORM3UIVPROC glProgramUniform3uiv;
|
||||
extern PFNGLPROGRAMUNIFORM4UIVPROC glProgramUniform4uiv;
|
||||
extern PFNGLPROGRAMUNIFORM1FVPROC glProgramUniform1fv;
|
||||
extern PFNGLPROGRAMUNIFORM2FVPROC glProgramUniform2fv;
|
||||
extern PFNGLPROGRAMUNIFORM3FVPROC glProgramUniform3fv;
|
||||
extern PFNGLPROGRAMUNIFORM4FVPROC glProgramUniform4fv;
|
||||
extern PFNGLPROGRAMUNIFORMMATRIX2FVPROC glProgramUniformMatrix2fv;
|
||||
extern PFNGLPROGRAMUNIFORMMATRIX3FVPROC glProgramUniformMatrix3fv;
|
||||
extern PFNGLPROGRAMUNIFORMMATRIX4FVPROC glProgramUniformMatrix4fv;
|
||||
extern PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC glProgramUniformMatrix2x3fv;
|
||||
extern PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC glProgramUniformMatrix3x2fv;
|
||||
extern PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC glProgramUniformMatrix2x4fv;
|
||||
extern PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC glProgramUniformMatrix4x2fv;
|
||||
extern PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC glProgramUniformMatrix3x4fv;
|
||||
extern PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC glProgramUniformMatrix4x3fv;
|
||||
extern PFNGLVALIDATEPROGRAMPIPELINEPROC glValidateProgramPipeline;
|
||||
extern PFNGLGETPROGRAMPIPELINEINFOLOGPROC glGetProgramPipelineInfoLog;
|
||||
|
||||
extern PFNGLBINDIMAGETEXTUREPROC glBindImageTexture;
|
||||
extern PFNGLGETBOOLEANI_VPROC glGetBooleani_v; // NOLINT(readability-identifier-naming)
|
||||
extern PFNGLMEMORYBARRIERPROC glMemoryBarrier;
|
||||
extern PFNGLMEMORYBARRIERBYREGIONPROC glMemoryBarrierByRegion;
|
||||
|
||||
extern PFNGLTEXSTORAGE2DMULTISAMPLEPROC glTexStorage2DMultisample;
|
||||
extern PFNGLGETMULTISAMPLEFVPROC glGetMultisamplefv;
|
||||
extern PFNGLSAMPLEMASKIPROC glSampleMaski;
|
||||
extern PFNGLGETTEXLEVELPARAMETERIVPROC glGetTexLevelParameteriv;
|
||||
extern PFNGLGETTEXLEVELPARAMETERFVPROC glGetTexLevelParameterfv;
|
||||
|
||||
extern PFNGLBINDVERTEXBUFFERPROC glBindVertexBuffer;
|
||||
extern PFNGLVERTEXATTRIBFORMATPROC glVertexAttribFormat;
|
||||
extern PFNGLVERTEXATTRIBIFORMATPROC glVertexAttribIFormat;
|
||||
extern PFNGLVERTEXATTRIBBINDINGPROC glVertexAttribBinding;
|
||||
extern PFNGLVERTEXBINDINGDIVISORPROC glVertexBindingDivisor;
|
||||
|
||||
/* GL_ES_VERSION_3_2 */
|
||||
extern PFNGLBLENDBARRIERPROC glBlendBarrier;
|
||||
|
||||
extern PFNGLCOPYIMAGESUBDATAPROC glCopyImageSubData;
|
||||
|
||||
extern PFNGLDEBUGMESSAGECONTROLPROC glDebugMessageControl;
|
||||
extern PFNGLDEBUGMESSAGEINSERTPROC glDebugMessageInsert;
|
||||
extern PFNGLDEBUGMESSAGECALLBACKPROC glDebugMessageCallback;
|
||||
extern PFNGLGETDEBUGMESSAGELOGPROC glGetDebugMessageLog;
|
||||
extern PFNGLPUSHDEBUGGROUPPROC glPushDebugGroup;
|
||||
extern PFNGLPOPDEBUGGROUPPROC glPopDebugGroup;
|
||||
extern PFNGLOBJECTLABELPROC glObjectLabel;
|
||||
extern PFNGLGETOBJECTLABELPROC glGetObjectLabel;
|
||||
extern PFNGLOBJECTPTRLABELPROC glObjectPtrLabel;
|
||||
extern PFNGLGETOBJECTPTRLABELPROC glGetObjectPtrLabel;
|
||||
extern PFNGLGETPOINTERVPROC glGetPointerv;
|
||||
|
||||
extern PFNGLENABLEIPROC glEnablei;
|
||||
extern PFNGLDISABLEIPROC glDisablei;
|
||||
extern PFNGLBLENDEQUATIONIPROC glBlendEquationi;
|
||||
extern PFNGLBLENDEQUATIONSEPARATEIPROC glBlendEquationSeparatei;
|
||||
extern PFNGLBLENDFUNCIPROC glBlendFunci;
|
||||
extern PFNGLBLENDFUNCSEPARATEIPROC glBlendFuncSeparatei;
|
||||
extern PFNGLCOLORMASKIPROC glColorMaski;
|
||||
extern PFNGLISENABLEDIPROC glIsEnabledi;
|
||||
|
||||
extern PFNGLDRAWELEMENTSBASEVERTEXPROC glDrawElementsBaseVertex;
|
||||
extern PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC glDrawRangeElementsBaseVertex;
|
||||
extern PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glDrawElementsInstancedBaseVertex;
|
||||
|
||||
extern PFNGLFRAMEBUFFERTEXTUREPROC glFramebufferTexture;
|
||||
|
||||
extern PFNGLPRIMITIVEBOUNDINGBOXPROC glPrimitiveBoundingBox;
|
||||
|
||||
extern PFNGLGETGRAPHICSRESETSTATUSPROC glGetGraphicsResetStatus;
|
||||
extern PFNGLREADNPIXELSPROC glReadnPixels;
|
||||
extern PFNGLGETNUNIFORMFVPROC glGetnUniformfv;
|
||||
extern PFNGLGETNUNIFORMIVPROC glGetnUniformiv;
|
||||
extern PFNGLGETNUNIFORMUIVPROC glGetnUniformuiv;
|
||||
|
||||
extern PFNGLMINSAMPLESHADINGPROC glMinSampleShading;
|
||||
|
||||
extern PFNGLPATCHPARAMETERIPROC glPatchParameteri;
|
||||
|
||||
extern PFNGLTEXPARAMETERIIVPROC glTexParameterIiv;
|
||||
extern PFNGLTEXPARAMETERIUIVPROC glTexParameterIuiv;
|
||||
extern PFNGLGETTEXPARAMETERIIVPROC glGetTexParameterIiv;
|
||||
extern PFNGLGETTEXPARAMETERIUIVPROC glGetTexParameterIuiv;
|
||||
extern PFNGLSAMPLERPARAMETERIIVPROC glSamplerParameterIiv;
|
||||
extern PFNGLSAMPLERPARAMETERIUIVPROC glSamplerParameterIuiv;
|
||||
extern PFNGLGETSAMPLERPARAMETERIIVPROC glGetSamplerParameterIiv;
|
||||
extern PFNGLGETSAMPLERPARAMETERIUIVPROC glGetSamplerParameterIuiv;
|
||||
|
||||
extern PFNGLTEXBUFFERPROC glTexBuffer;
|
||||
extern PFNGLTEXBUFFERRANGEPROC glTexBufferRange;
|
||||
|
||||
extern PFNGLTEXSTORAGE3DMULTISAMPLEPROC glTexStorage3DMultisample;
|
||||
|
||||
/* GLES3W_GENERATE_GLES_DECLARATION */
|
||||
|
||||
/**
|
||||
* ========================= !DO NOT CHANGE THE ABOVE SECTION MANUALLY! =========================
|
||||
* The above section is auto-generated from GLES spec by running:
|
||||
* node tools/gles-wrangler-generator/generate.js
|
||||
* ========================= !DO NOT CHANGE THE ABOVE SECTION MANUALLY! =========================
|
||||
*/
|
||||
|
||||
using PFNGLES3WLOADPROC = void *(*)(const char *);
|
||||
void gles3wLoadProcs(PFNGLES3WLOADPROC gles3wLoad);
|
||||
Reference in New Issue
Block a user