Commit 7a8c3e5e by Michael Spang Committed by Commit Bot

Generate entrypoints for GL_EXT_memory_object & GL_EXT_semaphore

This adds entrypoints for two new extensions that will be useful for importing external Vulkan objects into ANGLE. Bug: angleproject:3289 Change-Id: I206dc76eda5c6c8d836db7c6413c5544326aa722 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1552024 Commit-Queue: Michael Spang <spang@chromium.org> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
parent 27f115aa
......@@ -438,6 +438,21 @@
"glTexStorage3DMultisampleOES": {
"target": "TextureType"
},
"glTexStorageMem2DEXT": {
"target": "TextureType"
},
"glTexStorageMem2DMultisampleEXT": {
"target": "TextureType"
},
"glTexStorageMem3DEXT": {
"target": "TextureType"
},
"glTexStorageMem3DMultisampleEXT": {
"target": "TextureType"
},
"glBufferStorageMemEXT": {
"target": "TextureType"
},
"glTexStorage3D": {
"target": "TextureType"
},
......
......@@ -52,8 +52,10 @@ supported_extensions = sorted(angle_extensions + gles1_extensions + [
"GL_EXT_geometry_shader",
"GL_EXT_instanced_arrays",
"GL_EXT_map_buffer_range",
"GL_EXT_memory_object",
"GL_EXT_occlusion_query_boolean",
"GL_EXT_robustness",
"GL_EXT_semaphore",
"GL_EXT_texture_storage",
"GL_KHR_debug",
"GL_NV_fence",
......
......@@ -92,7 +92,7 @@
"GL/EGL entry points:scripts/egl_angle_ext.xml":
"745534010f31fbe8e1a1fcddce15ed2d",
"GL/EGL entry points:scripts/entry_point_packed_gl_enums.json":
"afe2284956be2360463d0d036ad9cdde",
"a161bca02b89f244c56cc2702581e805",
"GL/EGL entry points:scripts/generate_entry_points.py":
"7bd73a78c638334a114ed027d49cb6df",
"GL/EGL entry points:scripts/gl.xml":
......@@ -100,7 +100,7 @@
"GL/EGL entry points:scripts/gl_angle_ext.xml":
"56fb2634ebb3d8240b1a92aeb5518f1a",
"GL/EGL entry points:scripts/registry_xml.py":
"be6628bdeb99e50868cf4af51ea63f54",
"d06dd09375bde1a576ab085dae058a29",
"GL/EGL entry points:src/libANGLE/Context_gles_1_0_autogen.h":
"fad4ec629b41e9d97ff57a132ad946cb",
"GL/EGL entry points:src/libANGLE/validationES1_autogen.h":
......@@ -112,9 +112,9 @@
"GL/EGL entry points:src/libANGLE/validationES3_autogen.h":
"210f732f87ac6a184bde4d4d1e548f70",
"GL/EGL entry points:src/libANGLE/validationESEXT_autogen.h":
"5ac8dd83e449e6e624a76496c9d3990a",
"12942e3cf1ace39ad7b0e373a9e717c3",
"GL/EGL entry points:src/libGLESv2/entry_points_enum_autogen.h":
"f5bb2430fa25930ebfbaab028145b23c",
"92dfdf5c6a65a5b63342d8231b20adfb",
"GL/EGL entry points:src/libGLESv2/entry_points_gles_1_0_autogen.cpp":
"196771da8ad7a5beded1dc878410ac11",
"GL/EGL entry points:src/libGLESv2/entry_points_gles_1_0_autogen.h":
......@@ -132,13 +132,13 @@
"GL/EGL entry points:src/libGLESv2/entry_points_gles_3_1_autogen.h":
"043d09a964c740067bf4279e0b544aed",
"GL/EGL entry points:src/libGLESv2/entry_points_gles_ext_autogen.cpp":
"a79b0be21cc6af36e068dc6b88850f6f",
"cd83b4e82ffd0b4920bcc5d9eb86d3a1",
"GL/EGL entry points:src/libGLESv2/entry_points_gles_ext_autogen.h":
"463d2ddb268f48b387a8478d5064dc9e",
"ed1c1d61164406406289de044dbf149c",
"GL/EGL entry points:src/libGLESv2/libGLESv2_autogen.cpp":
"eedc75cbaa0c44cf067c96ccc079c5cb",
"a2a4c95ce5587b54969dccecc5455e15",
"GL/EGL entry points:src/libGLESv2/libGLESv2_autogen.def":
"4569b01aeff02543b9d0312fcf570661",
"e5542a265acb6f5235d843bebdc4b2a8",
"GL/EGL/WGL loader:scripts/egl.xml":
"842e24514c4cfe09fba703c17a0fd292",
"GL/EGL/WGL loader:scripts/egl_angle_ext.xml":
......@@ -146,7 +146,7 @@
"GL/EGL/WGL loader:scripts/generate_loader.py":
"475030714c1644b6dfb1f6f08572039d",
"GL/EGL/WGL loader:scripts/registry_xml.py":
"be6628bdeb99e50868cf4af51ea63f54",
"d06dd09375bde1a576ab085dae058a29",
"GL/EGL/WGL loader:scripts/wgl.xml":
"aa96419c582af2f6673430e2847693f4",
"GL/EGL/WGL loader:src/libEGL/egl_loader_autogen.cpp":
......@@ -158,9 +158,9 @@
"GL/EGL/WGL loader:util/egl_loader_autogen.h":
"897a66bc15e1791e356d7324f2ff94af",
"GL/EGL/WGL loader:util/gles_loader_autogen.cpp":
"5a522fa027c9d404053370a60da72623",
"a0a8de1bf0eb6dd3b1c67230e3408684",
"GL/EGL/WGL loader:util/gles_loader_autogen.h":
"498621d6b9e21462d7c05d1a65775609",
"634e122b3239a1c57fb49f4e27b6e729",
"GL/EGL/WGL loader:util/windows/wgl_loader_autogen.cpp":
"12ffb44e5e743c826e4d84ac65cdba82",
"GL/EGL/WGL loader:util/windows/wgl_loader_autogen.h":
......@@ -378,9 +378,9 @@
"proc table:src/libGLESv2/gen_proc_table.py":
"20ebe54894d613de42b0b15ca34078d9",
"proc table:src/libGLESv2/proc_table_autogen.cpp":
"e27cd4ac1c1d524fd80042e9c9e02c54",
"fc5ab9ccc93204b968abff0989851269",
"proc table:src/libGLESv2/proc_table_data.json":
"6deb74c7709ecb664b917a2f1e598399",
"85e7e7b95ad104c14de0bd947038336c",
"uniform type:src/common/gen_uniform_type_table.py":
"fa40444d496ac07cd9dc0cd239e4a499",
"uniform type:src/common/uniform_type_info_autogen.cpp":
......
......@@ -208,6 +208,8 @@ Extensions::Extensions()
eglImageExternal(false),
eglImageExternalEssl3(false),
eglSync(false),
memoryObject(false),
semaphore(false),
eglStreamConsumerExternal(false),
unpackSubimage(false),
packSubimage(false),
......@@ -871,6 +873,8 @@ const ExtensionInfoMap &GetExtensionInfoMap()
map["GL_OES_EGL_image_external"] = enableableExtension(&Extensions::eglImageExternal);
map["GL_OES_EGL_image_external_essl3"] = enableableExtension(&Extensions::eglImageExternalEssl3);
map["GL_OES_EGL_sync"] = esOnlyExtension(&Extensions::eglSync);
map["GL_EXT_memory_object"] = enableableExtension(&Extensions::memoryObject);
map["GL_EXT_semaphore"] = enableableExtension(&Extensions::semaphore);
map["GL_NV_EGL_stream_consumer_external"] = enableableExtension(&Extensions::eglStreamConsumerExternal);
map["GL_EXT_unpack_subimage"] = enableableExtension(&Extensions::unpackSubimage);
map["GL_NV_pack_subimage"] = enableableExtension(&Extensions::packSubimage);
......
......@@ -333,6 +333,12 @@ struct Extensions
// GL_OES_EGL_sync
bool eglSync;
// GL_EXT_memory_object
bool memoryObject;
// GL_EXT_semaphore
bool semaphore;
// NV_EGL_stream_consumer_external
bool eglStreamConsumerExternal;
......
......@@ -1214,6 +1214,16 @@ void Context::getQueryivRobust(QueryType target,
getQueryiv(target, pname, params);
}
void Context::getUnsignedBytev(GLenum pname, GLubyte *data)
{
UNIMPLEMENTED();
}
void Context::getUnsignedBytei_v(GLenum target, GLuint index, GLubyte *data)
{
UNIMPLEMENTED();
}
void Context::getQueryObjectiv(GLuint id, GLenum pname, GLint *params)
{
ANGLE_CONTEXT_TRY(GetQueryObjectParameter(this, getQuery(id), pname, params));
......@@ -7087,6 +7097,131 @@ GLboolean Context::testFenceNV(GLuint fence)
return result;
}
void Context::deleteMemoryObjects(GLsizei n, const GLuint *memoryObjects)
{
UNIMPLEMENTED();
}
GLboolean Context::isMemoryObject(GLuint memoryObject)
{
UNIMPLEMENTED();
return GL_FALSE;
}
void Context::createMemoryObjects(GLsizei n, GLuint *memoryObjects)
{
UNIMPLEMENTED();
}
void Context::memoryObjectParameteriv(GLuint memoryObject, GLenum pname, const GLint *params)
{
UNIMPLEMENTED();
}
void Context::getMemoryObjectParameteriv(GLuint memoryObject, GLenum pname, GLint *params)
{
UNIMPLEMENTED();
}
void Context::texStorageMem2D(TextureType target,
GLsizei levels,
GLenum internalFormat,
GLsizei width,
GLsizei height,
GLuint memory,
GLuint64 offset)
{
UNIMPLEMENTED();
}
void Context::texStorageMem2DMultisample(TextureType target,
GLsizei samples,
GLenum internalFormat,
GLsizei width,
GLsizei height,
GLboolean fixedSampleLocations,
GLuint memory,
GLuint64 offset)
{
UNIMPLEMENTED();
}
void Context::texStorageMem3D(TextureType target,
GLsizei levels,
GLenum internalFormat,
GLsizei width,
GLsizei height,
GLsizei depth,
GLuint memory,
GLuint64 offset)
{
UNIMPLEMENTED();
}
void Context::texStorageMem3DMultisample(TextureType target,
GLsizei samples,
GLenum internalFormat,
GLsizei width,
GLsizei height,
GLsizei depth,
GLboolean fixedSampleLocations,
GLuint memory,
GLuint64 offset)
{
UNIMPLEMENTED();
}
void Context::bufferStorageMem(TextureType target, GLsizeiptr size, GLuint memory, GLuint64 offset)
{
UNIMPLEMENTED();
}
void Context::genSemaphores(GLsizei n, GLuint *semaphores)
{
UNIMPLEMENTED();
}
void Context::deleteSemaphores(GLsizei n, const GLuint *semaphores)
{
UNIMPLEMENTED();
}
GLboolean Context::isSemaphore(GLuint semaphore)
{
UNIMPLEMENTED();
return GL_FALSE;
}
void Context::semaphoreParameterui64v(GLuint semaphore, GLenum pname, const GLuint64 *params)
{
UNIMPLEMENTED();
}
void Context::getSemaphoreParameterui64v(GLuint semaphore, GLenum pname, GLuint64 *params)
{
UNIMPLEMENTED();
}
void Context::waitSemaphore(GLuint semaphore,
GLuint numBufferBarriers,
const GLuint *buffers,
GLuint numTextureBarriers,
const GLuint *textures,
const GLenum *srcLayouts)
{
UNIMPLEMENTED();
}
void Context::signalSemaphore(GLuint semaphore,
GLuint numBufferBarriers,
const GLuint *buffers,
GLuint numTextureBarriers,
const GLuint *textures,
const GLenum *dstLayouts)
{
UNIMPLEMENTED();
}
void Context::eGLImageTargetTexture2D(TextureType target, GLeglImageOES image)
{
Texture *texture = getTargetTexture(target);
......
......@@ -349,6 +349,65 @@ class Context final : public egl::LabeledObject, angle::NonCopyable, public angl
void setFenceNV(GLuint fence, GLenum condition);
GLboolean testFenceNV(GLuint fence);
// GL_EXT_memory_object
void deleteMemoryObjects(GLsizei n, const GLuint *memoryObjects);
GLboolean isMemoryObject(GLuint memoryObject);
void createMemoryObjects(GLsizei n, GLuint *memoryObjects);
void memoryObjectParameteriv(GLuint memoryObject, GLenum pname, const GLint *params);
void getMemoryObjectParameteriv(GLuint memoryObject, GLenum pname, GLint *params);
void texStorageMem2D(TextureType target,
GLsizei levels,
GLenum internalFormat,
GLsizei width,
GLsizei height,
GLuint memory,
GLuint64 offset);
void texStorageMem2DMultisample(TextureType target,
GLsizei samples,
GLenum internalFormat,
GLsizei width,
GLsizei height,
GLboolean fixedSampleLocations,
GLuint memory,
GLuint64 offset);
void texStorageMem3D(TextureType target,
GLsizei levels,
GLenum internalFormat,
GLsizei width,
GLsizei height,
GLsizei depth,
GLuint memory,
GLuint64 offset);
void texStorageMem3DMultisample(TextureType target,
GLsizei samples,
GLenum internalFormat,
GLsizei width,
GLsizei height,
GLsizei depth,
GLboolean fixedSampleLocations,
GLuint memory,
GLuint64 offset);
void bufferStorageMem(TextureType target, GLsizeiptr size, GLuint memory, GLuint64 offset);
// GL_EXT_semaphore
void genSemaphores(GLsizei n, GLuint *semaphores);
void deleteSemaphores(GLsizei n, const GLuint *semaphores);
GLboolean isSemaphore(GLuint semaphore);
void semaphoreParameterui64v(GLuint semaphore, GLenum pname, const GLuint64 *params);
void getSemaphoreParameterui64v(GLuint semaphore, GLenum pname, GLuint64 *params);
void waitSemaphore(GLuint semaphore,
GLuint numBufferBarriers,
const GLuint *buffers,
GLuint numTextureBarriers,
const GLuint *textures,
const GLenum *srcLayouts);
void signalSemaphore(GLuint semaphore,
GLuint numBufferBarriers,
const GLuint *buffers,
GLuint numTextureBarriers,
const GLuint *textures,
const GLenum *dstLayouts);
// GLES1 emulation: Interface to entry points
ANGLE_GLES1_CONTEXT_API
......@@ -643,6 +702,8 @@ class Context final : public egl::LabeledObject, angle::NonCopyable, public angl
GLsizei bufSize,
GLsizei *length,
GLint64 *data);
void getUnsignedBytev(GLenum pname, GLubyte *data);
void getUnsignedBytei_v(GLenum target, GLuint index, GLubyte *data);
void activeShaderProgram(GLuint pipeline, GLuint program);
void activeTexture(GLenum texture);
......
......@@ -1348,8 +1348,8 @@ angle::Result RendererVk::finish(vk::Context *context,
vk::Scoped<vk::PrimaryCommandBuffer> commandBatch(mDevice);
ANGLE_TRY(flushCommandGraph(context, &commandBatch.get()));
VkSubmitInfo submitInfo = {};
VkPipelineStageFlags waitMask = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT;
VkSubmitInfo submitInfo = {};
VkPipelineStageFlags waitMask = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT;
InitializeSubmitInfo(&submitInfo, commandBatch.get(), waitSemaphore, &waitMask,
signalSemaphore);
......@@ -1768,7 +1768,7 @@ angle::Result RendererVk::getTimestamp(vk::Context *context, uint64_t *timestamp
ANGLE_VK_TRY(context, fence.get().init(mDevice, fenceInfo));
// Submit the command buffer
VkSubmitInfo submitInfo = {};
VkSubmitInfo submitInfo = {};
InitializeSubmitInfo(&submitInfo, commandBatch.get(), nullptr, nullptr, nullptr);
ANGLE_VK_TRY(context, vkQueueSubmit(mQueue, 1, &submitInfo, fence.get().getHandle()));
......
......@@ -3033,6 +3033,253 @@ bool ValidateMapBufferRangeEXT(Context *context,
return ValidateMapBufferRangeBase(context, target, offset, length, access);
}
bool ValidateBufferStorageMemEXT(Context *context,
TextureType target,
GLsizeiptr size,
GLuint memory,
GLuint64 offset)
{
if (!context->getExtensions().memoryObject)
{
context->validationError(GL_INVALID_OPERATION, kExtensionNotEnabled);
return false;
}
UNIMPLEMENTED();
return false;
}
bool ValidateCreateMemoryObjectsEXT(Context *context, GLsizei n, GLuint *memoryObjects)
{
if (!context->getExtensions().memoryObject)
{
context->validationError(GL_INVALID_OPERATION, kExtensionNotEnabled);
return false;
}
UNIMPLEMENTED();
return false;
}
bool ValidateDeleteMemoryObjectsEXT(Context *context, GLsizei n, const GLuint *memoryObjects)
{
if (!context->getExtensions().memoryObject)
{
context->validationError(GL_INVALID_OPERATION, kExtensionNotEnabled);
return false;
}
UNIMPLEMENTED();
return false;
}
bool ValidateGetMemoryObjectParameterivEXT(Context *context,
GLuint memoryObject,
GLenum pname,
GLint *params)
{
if (!context->getExtensions().memoryObject)
{
context->validationError(GL_INVALID_OPERATION, kExtensionNotEnabled);
return false;
}
UNIMPLEMENTED();
return false;
}
bool ValidateGetUnsignedBytevEXT(Context *context, GLenum pname, GLubyte *data)
{
if (!context->getExtensions().memoryObject && !context->getExtensions().semaphore)
{
context->validationError(GL_INVALID_OPERATION, kExtensionNotEnabled);
return false;
}
UNIMPLEMENTED();
return false;
}
bool ValidateGetUnsignedBytei_vEXT(Context *context, GLenum target, GLuint index, GLubyte *data)
{
if (!context->getExtensions().memoryObject && !context->getExtensions().semaphore)
{
context->validationError(GL_INVALID_OPERATION, kExtensionNotEnabled);
return false;
}
UNIMPLEMENTED();
return false;
}
bool ValidateIsMemoryObjectEXT(Context *context, GLuint memoryObject)
{
if (!context->getExtensions().memoryObject)
{
context->validationError(GL_INVALID_OPERATION, kExtensionNotEnabled);
return false;
}
UNIMPLEMENTED();
return false;
}
bool ValidateMemoryObjectParameterivEXT(Context *context,
GLuint memoryObject,
GLenum pname,
const GLint *params)
{
if (!context->getExtensions().memoryObject)
{
context->validationError(GL_INVALID_OPERATION, kExtensionNotEnabled);
return false;
}
UNIMPLEMENTED();
return false;
}
bool ValidateTexStorageMem2DEXT(Context *context,
TextureType target,
GLsizei levels,
GLenum internalFormat,
GLsizei width,
GLsizei height,
GLuint memory,
GLuint64 offset)
{
if (!context->getExtensions().memoryObject)
{
context->validationError(GL_INVALID_OPERATION, kExtensionNotEnabled);
return false;
}
UNIMPLEMENTED();
return false;
}
bool ValidateTexStorageMem3DEXT(Context *context,
TextureType target,
GLsizei levels,
GLenum internalFormat,
GLsizei width,
GLsizei height,
GLsizei depth,
GLuint memory,
GLuint64 offset)
{
if (!context->getExtensions().memoryObject)
{
context->validationError(GL_INVALID_OPERATION, kExtensionNotEnabled);
return false;
}
UNIMPLEMENTED();
return false;
}
bool ValidateDeleteSemaphoresEXT(Context *context, GLsizei n, const GLuint *semaphores)
{
if (!context->getExtensions().semaphore)
{
context->validationError(GL_INVALID_OPERATION, kExtensionNotEnabled);
return false;
}
UNIMPLEMENTED();
return false;
}
bool ValidateGenSemaphoresEXT(Context *context, GLsizei n, GLuint *semaphores)
{
if (!context->getExtensions().semaphore)
{
context->validationError(GL_INVALID_OPERATION, kExtensionNotEnabled);
return false;
}
UNIMPLEMENTED();
return false;
}
bool ValidateGetSemaphoreParameterui64vEXT(Context *context,
GLuint semaphore,
GLenum pname,
GLuint64 *params)
{
if (!context->getExtensions().semaphore)
{
context->validationError(GL_INVALID_OPERATION, kExtensionNotEnabled);
return false;
}
UNIMPLEMENTED();
return false;
}
bool ValidateIsSemaphoreEXT(Context *context, GLuint semaphore)
{
if (!context->getExtensions().semaphore)
{
context->validationError(GL_INVALID_OPERATION, kExtensionNotEnabled);
return false;
}
UNIMPLEMENTED();
return false;
}
bool ValidateSemaphoreParameterui64vEXT(Context *context,
GLuint semaphore,
GLenum pname,
const GLuint64 *params)
{
if (!context->getExtensions().semaphore)
{
context->validationError(GL_INVALID_OPERATION, kExtensionNotEnabled);
return false;
}
UNIMPLEMENTED();
return false;
}
bool ValidateSignalSemaphoreEXT(Context *context,
GLuint semaphore,
GLuint numBufferBarriers,
const GLuint *buffers,
GLuint numTextureBarriers,
const GLuint *textures,
const GLenum *dstLayouts)
{
if (!context->getExtensions().semaphore)
{
context->validationError(GL_INVALID_OPERATION, kExtensionNotEnabled);
return false;
}
UNIMPLEMENTED();
return false;
}
bool ValidateWaitSemaphoreEXT(Context *context,
GLuint semaphore,
GLuint numBufferBarriers,
const GLuint *buffers,
GLuint numTextureBarriers,
const GLuint *textures,
const GLenum *srcLayouts)
{
if (!context->getExtensions().semaphore)
{
context->validationError(GL_INVALID_OPERATION, kExtensionNotEnabled);
return false;
}
UNIMPLEMENTED();
return false;
}
bool ValidateMapBufferBase(Context *context, BufferBinding target)
{
Buffer *buffer = context->getState().getTargetBuffer(target);
......
......@@ -949,6 +949,26 @@ bool ValidateTexStorage2DMultisample(Context *context,
height);
}
bool ValidateTexStorageMem2DMultisampleEXT(Context *context,
TextureType target,
GLsizei samples,
GLenum internalFormat,
GLsizei width,
GLsizei height,
GLboolean fixedSampleLocations,
GLuint memory,
GLuint64 offset)
{
if (!context->getExtensions().memoryObject)
{
context->validationError(GL_INVALID_OPERATION, kExtensionNotEnabled);
return false;
}
UNIMPLEMENTED();
return false;
}
bool ValidateGetMultisamplefv(Context *context, GLenum pname, GLuint index, GLfloat *val)
{
if (context->getClientVersion() < ES_3_1)
......@@ -1869,6 +1889,27 @@ bool ValidateTexStorage3DMultisampleOES(Context *context,
height);
}
bool ValidateTexStorageMem3DMultisampleEXT(Context *context,
TextureType target,
GLsizei samples,
GLenum internalFormat,
GLsizei width,
GLsizei height,
GLsizei depth,
GLboolean fixedSampleLocations,
GLuint memory,
GLuint64 offset)
{
if (!context->getExtensions().memoryObject)
{
context->validationError(GL_INVALID_OPERATION, kExtensionNotEnabled);
return false;
}
UNIMPLEMENTED();
return false;
}
bool ValidateGetProgramResourceLocationIndexEXT(Context *context,
GLuint program,
GLenum programInterface,
......
......@@ -809,6 +809,62 @@ bool ValidateMapBufferRangeEXT(Context *context,
GLsizeiptr length,
GLbitfield access);
// GL_EXT_memory_object
bool ValidateBufferStorageMemEXT(Context *context,
TextureType targetPacked,
GLsizeiptr size,
GLuint memory,
GLuint64 offset);
bool ValidateCreateMemoryObjectsEXT(Context *context, GLsizei n, GLuint *memoryObjects);
bool ValidateDeleteMemoryObjectsEXT(Context *context, GLsizei n, const GLuint *memoryObjects);
bool ValidateGetMemoryObjectParameterivEXT(Context *context,
GLuint memoryObject,
GLenum pname,
GLint *params);
bool ValidateGetUnsignedBytevEXT(Context *context, GLenum pname, GLubyte *data);
bool ValidateGetUnsignedBytei_vEXT(Context *context, GLenum target, GLuint index, GLubyte *data);
bool ValidateIsMemoryObjectEXT(Context *context, GLuint memoryObject);
bool ValidateMemoryObjectParameterivEXT(Context *context,
GLuint memoryObject,
GLenum pname,
const GLint *params);
bool ValidateTexStorageMem2DEXT(Context *context,
TextureType targetPacked,
GLsizei levels,
GLenum internalFormat,
GLsizei width,
GLsizei height,
GLuint memory,
GLuint64 offset);
bool ValidateTexStorageMem2DMultisampleEXT(Context *context,
TextureType targetPacked,
GLsizei samples,
GLenum internalFormat,
GLsizei width,
GLsizei height,
GLboolean fixedSampleLocations,
GLuint memory,
GLuint64 offset);
bool ValidateTexStorageMem3DEXT(Context *context,
TextureType targetPacked,
GLsizei levels,
GLenum internalFormat,
GLsizei width,
GLsizei height,
GLsizei depth,
GLuint memory,
GLuint64 offset);
bool ValidateTexStorageMem3DMultisampleEXT(Context *context,
TextureType targetPacked,
GLsizei samples,
GLenum internalFormat,
GLsizei width,
GLsizei height,
GLsizei depth,
GLboolean fixedSampleLocations,
GLuint memory,
GLuint64 offset);
// GL_EXT_occlusion_query_boolean
// GL_EXT_robustness
......@@ -833,6 +889,33 @@ bool ValidateReadnPixelsEXT(Context *context,
GLsizei bufSize,
void *data);
// GL_EXT_semaphore
bool ValidateDeleteSemaphoresEXT(Context *context, GLsizei n, const GLuint *semaphores);
bool ValidateGenSemaphoresEXT(Context *context, GLsizei n, GLuint *semaphores);
bool ValidateGetSemaphoreParameterui64vEXT(Context *context,
GLuint semaphore,
GLenum pname,
GLuint64 *params);
bool ValidateIsSemaphoreEXT(Context *context, GLuint semaphore);
bool ValidateSemaphoreParameterui64vEXT(Context *context,
GLuint semaphore,
GLenum pname,
const GLuint64 *params);
bool ValidateSignalSemaphoreEXT(Context *context,
GLuint semaphore,
GLuint numBufferBarriers,
const GLuint *buffers,
GLuint numTextureBarriers,
const GLuint *textures,
const GLenum *dstLayouts);
bool ValidateWaitSemaphoreEXT(Context *context,
GLuint semaphore,
GLuint numBufferBarriers,
const GLuint *buffers,
GLuint numTextureBarriers,
const GLuint *textures,
const GLenum *srcLayouts);
// GL_EXT_texture_storage
bool ValidateTexStorage1DEXT(Context *context,
GLenum target,
......
......@@ -52,6 +52,7 @@ enum class EntryPoint
BlitFramebuffer,
BlitFramebufferANGLE,
BufferData,
BufferStorageMemEXT,
BufferSubData,
CheckFramebufferStatus,
CheckFramebufferStatusOES,
......@@ -97,6 +98,7 @@ enum class EntryPoint
CoverStrokePathCHROMIUM,
CoverStrokePathInstancedCHROMIUM,
CoverageModulationCHROMIUM,
CreateMemoryObjectsEXT,
CreateProgram,
CreateShader,
CreateShaderProgramv,
......@@ -109,6 +111,7 @@ enum class EntryPoint
DeleteFencesNV,
DeleteFramebuffers,
DeleteFramebuffersOES,
DeleteMemoryObjectsEXT,
DeletePathsCHROMIUM,
DeleteProgram,
DeleteProgramPipelines,
......@@ -117,6 +120,7 @@ enum class EntryPoint
DeleteRenderbuffers,
DeleteRenderbuffersOES,
DeleteSamplers,
DeleteSemaphoresEXT,
DeleteShader,
DeleteSync,
DeleteTextures,
......@@ -196,6 +200,7 @@ enum class EntryPoint
GenRenderbuffers,
GenRenderbuffersOES,
GenSamplers,
GenSemaphoresEXT,
GenTextures,
GenTransformFeedbacks,
GenVertexArrays,
......@@ -251,6 +256,7 @@ enum class EntryPoint
GetLightxv,
GetMaterialfv,
GetMaterialxv,
GetMemoryObjectParameterivEXT,
GetMultisamplefv,
GetMultisamplefvANGLE,
GetMultisamplefvRobustANGLE,
......@@ -298,6 +304,7 @@ enum class EntryPoint
GetSamplerParameterfvRobustANGLE,
GetSamplerParameteriv,
GetSamplerParameterivRobustANGLE,
GetSemaphoreParameterui64vEXT,
GetShaderInfoLog,
GetShaderPrecisionFormat,
GetShaderSource,
......@@ -338,6 +345,8 @@ enum class EntryPoint
GetUniformivRobustANGLE,
GetUniformuiv,
GetUniformuivRobustANGLE,
GetUnsignedBytei_vEXT,
GetUnsignedBytevEXT,
GetVertexAttribIiv,
GetVertexAttribIivRobustANGLE,
GetVertexAttribIuiv,
......@@ -362,6 +371,7 @@ enum class EntryPoint
IsFenceNV,
IsFramebuffer,
IsFramebufferOES,
IsMemoryObjectEXT,
IsPathCHROMIUM,
IsProgram,
IsProgramPipeline,
......@@ -370,6 +380,7 @@ enum class EntryPoint
IsRenderbuffer,
IsRenderbufferOES,
IsSampler,
IsSemaphoreEXT,
IsShader,
IsSync,
IsTexture,
......@@ -406,6 +417,7 @@ enum class EntryPoint
MaxShaderCompilerThreadsKHR,
MemoryBarrier,
MemoryBarrierByRegion,
MemoryObjectParameterivEXT,
MultMatrixf,
MultMatrixx,
MultiDrawArraysANGLE,
......@@ -513,10 +525,12 @@ enum class EntryPoint
Scalef,
Scalex,
Scissor,
SemaphoreParameterui64vEXT,
SetFenceNV,
ShadeModel,
ShaderBinary,
ShaderSource,
SignalSemaphoreEXT,
StencilFillPathCHROMIUM,
StencilFillPathInstancedCHROMIUM,
StencilFunc,
......@@ -569,6 +583,10 @@ enum class EntryPoint
TexStorage3D,
TexStorage3DEXT,
TexStorage3DMultisampleOES,
TexStorageMem2DEXT,
TexStorageMem2DMultisampleEXT,
TexStorageMem3DEXT,
TexStorageMem3DMultisampleEXT,
TexSubImage2D,
TexSubImage2DRobustANGLE,
TexSubImage3D,
......@@ -639,6 +657,7 @@ enum class EntryPoint
VertexBindingDivisor,
VertexPointer,
Viewport,
WaitSemaphoreEXT,
WaitSync,
WeightPointerOES
};
......
......@@ -604,6 +604,20 @@ EXPORTS
glFlushMappedBufferRangeEXT
glMapBufferRangeEXT
; GL_EXT_memory_object
glBufferStorageMemEXT
glCreateMemoryObjectsEXT
glDeleteMemoryObjectsEXT
glGetMemoryObjectParameterivEXT
glGetUnsignedBytei_vEXT
glGetUnsignedBytevEXT
glIsMemoryObjectEXT
glMemoryObjectParameterivEXT
glTexStorageMem2DEXT
glTexStorageMem2DMultisampleEXT
glTexStorageMem3DEXT
glTexStorageMem3DMultisampleEXT
; GL_EXT_occlusion_query_boolean
; GL_EXT_robustness
......@@ -612,6 +626,15 @@ EXPORTS
glGetnUniformivEXT
glReadnPixelsEXT
; GL_EXT_semaphore
glDeleteSemaphoresEXT
glGenSemaphoresEXT
glGetSemaphoreParameterui64vEXT
glIsSemaphoreEXT
glSemaphoreParameterui64vEXT
glSignalSemaphoreEXT
glWaitSemaphoreEXT
; GL_EXT_texture_storage
glTexStorage1DEXT
glTexStorage2DEXT
......@@ -761,6 +784,7 @@ EXPORTS
glBlitFramebufferContextANGLE
glBlitFramebufferANGLEContextANGLE
glBufferDataContextANGLE
glBufferStorageMemEXTContextANGLE
glBufferSubDataContextANGLE
glCheckFramebufferStatusContextANGLE
glCheckFramebufferStatusOESContextANGLE
......@@ -806,6 +830,7 @@ EXPORTS
glCoverStrokePathCHROMIUMContextANGLE
glCoverStrokePathInstancedCHROMIUMContextANGLE
glCoverageModulationCHROMIUMContextANGLE
glCreateMemoryObjectsEXTContextANGLE
glCreateProgramContextANGLE
glCreateShaderContextANGLE
glCreateShaderProgramvContextANGLE
......@@ -818,6 +843,7 @@ EXPORTS
glDeleteFencesNVContextANGLE
glDeleteFramebuffersContextANGLE
glDeleteFramebuffersOESContextANGLE
glDeleteMemoryObjectsEXTContextANGLE
glDeletePathsCHROMIUMContextANGLE
glDeleteProgramContextANGLE
glDeleteProgramPipelinesContextANGLE
......@@ -826,6 +852,7 @@ EXPORTS
glDeleteRenderbuffersContextANGLE
glDeleteRenderbuffersOESContextANGLE
glDeleteSamplersContextANGLE
glDeleteSemaphoresEXTContextANGLE
glDeleteShaderContextANGLE
glDeleteSyncContextANGLE
glDeleteTexturesContextANGLE
......@@ -905,6 +932,7 @@ EXPORTS
glGenRenderbuffersContextANGLE
glGenRenderbuffersOESContextANGLE
glGenSamplersContextANGLE
glGenSemaphoresEXTContextANGLE
glGenTexturesContextANGLE
glGenTransformFeedbacksContextANGLE
glGenVertexArraysContextANGLE
......@@ -960,6 +988,7 @@ EXPORTS
glGetLightxvContextANGLE
glGetMaterialfvContextANGLE
glGetMaterialxvContextANGLE
glGetMemoryObjectParameterivEXTContextANGLE
glGetMultisamplefvContextANGLE
glGetMultisamplefvANGLEContextANGLE
glGetMultisamplefvRobustANGLEContextANGLE
......@@ -1007,6 +1036,7 @@ EXPORTS
glGetSamplerParameterfvRobustANGLEContextANGLE
glGetSamplerParameterivContextANGLE
glGetSamplerParameterivRobustANGLEContextANGLE
glGetSemaphoreParameterui64vEXTContextANGLE
glGetShaderInfoLogContextANGLE
glGetShaderPrecisionFormatContextANGLE
glGetShaderSourceContextANGLE
......@@ -1047,6 +1077,8 @@ EXPORTS
glGetUniformivRobustANGLEContextANGLE
glGetUniformuivContextANGLE
glGetUniformuivRobustANGLEContextANGLE
glGetUnsignedBytei_vEXTContextANGLE
glGetUnsignedBytevEXTContextANGLE
glGetVertexAttribIivContextANGLE
glGetVertexAttribIivRobustANGLEContextANGLE
glGetVertexAttribIuivContextANGLE
......@@ -1071,6 +1103,7 @@ EXPORTS
glIsFenceNVContextANGLE
glIsFramebufferContextANGLE
glIsFramebufferOESContextANGLE
glIsMemoryObjectEXTContextANGLE
glIsPathCHROMIUMContextANGLE
glIsProgramContextANGLE
glIsProgramPipelineContextANGLE
......@@ -1079,6 +1112,7 @@ EXPORTS
glIsRenderbufferContextANGLE
glIsRenderbufferOESContextANGLE
glIsSamplerContextANGLE
glIsSemaphoreEXTContextANGLE
glIsShaderContextANGLE
glIsSyncContextANGLE
glIsTextureContextANGLE
......@@ -1115,6 +1149,7 @@ EXPORTS
glMaxShaderCompilerThreadsKHRContextANGLE
glMemoryBarrierContextANGLE
glMemoryBarrierByRegionContextANGLE
glMemoryObjectParameterivEXTContextANGLE
glMultMatrixfContextANGLE
glMultMatrixxContextANGLE
glMultiDrawArraysANGLEContextANGLE
......@@ -1222,10 +1257,12 @@ EXPORTS
glScalefContextANGLE
glScalexContextANGLE
glScissorContextANGLE
glSemaphoreParameterui64vEXTContextANGLE
glSetFenceNVContextANGLE
glShadeModelContextANGLE
glShaderBinaryContextANGLE
glShaderSourceContextANGLE
glSignalSemaphoreEXTContextANGLE
glStencilFillPathCHROMIUMContextANGLE
glStencilFillPathInstancedCHROMIUMContextANGLE
glStencilFuncContextANGLE
......@@ -1278,6 +1315,10 @@ EXPORTS
glTexStorage3DContextANGLE
glTexStorage3DEXTContextANGLE
glTexStorage3DMultisampleOESContextANGLE
glTexStorageMem2DEXTContextANGLE
glTexStorageMem2DMultisampleEXTContextANGLE
glTexStorageMem3DEXTContextANGLE
glTexStorageMem3DMultisampleEXTContextANGLE
glTexSubImage2DContextANGLE
glTexSubImage2DRobustANGLEContextANGLE
glTexSubImage3DContextANGLE
......@@ -1348,6 +1389,7 @@ EXPORTS
glVertexBindingDivisorContextANGLE
glVertexPointerContextANGLE
glViewportContextANGLE
glWaitSemaphoreEXTContextANGLE
glWaitSyncContextANGLE
glWeightPointerOESContextANGLE
......
......@@ -186,6 +186,8 @@ ProcEntry g_procTable[] = {
{"glBlitFramebufferContextANGLE", P(gl::BlitFramebufferContextANGLE)},
{"glBufferData", P(gl::BufferData)},
{"glBufferDataContextANGLE", P(gl::BufferDataContextANGLE)},
{"glBufferStorageMemEXT", P(gl::BufferStorageMemEXT)},
{"glBufferStorageMemEXTContextANGLE", P(gl::BufferStorageMemEXTContextANGLE)},
{"glBufferSubData", P(gl::BufferSubData)},
{"glBufferSubDataContextANGLE", P(gl::BufferSubDataContextANGLE)},
{"glCheckFramebufferStatus", P(gl::CheckFramebufferStatus)},
......@@ -281,6 +283,8 @@ ProcEntry g_procTable[] = {
P(gl::CoverStrokePathInstancedCHROMIUMContextANGLE)},
{"glCoverageModulationCHROMIUM", P(gl::CoverageModulationCHROMIUM)},
{"glCoverageModulationCHROMIUMContextANGLE", P(gl::CoverageModulationCHROMIUMContextANGLE)},
{"glCreateMemoryObjectsEXT", P(gl::CreateMemoryObjectsEXT)},
{"glCreateMemoryObjectsEXTContextANGLE", P(gl::CreateMemoryObjectsEXTContextANGLE)},
{"glCreateProgram", P(gl::CreateProgram)},
{"glCreateProgramContextANGLE", P(gl::CreateProgramContextANGLE)},
{"glCreateShader", P(gl::CreateShader)},
......@@ -303,6 +307,8 @@ ProcEntry g_procTable[] = {
{"glDeleteFencesNVContextANGLE", P(gl::DeleteFencesNVContextANGLE)},
{"glDeleteFramebuffers", P(gl::DeleteFramebuffers)},
{"glDeleteFramebuffersContextANGLE", P(gl::DeleteFramebuffersContextANGLE)},
{"glDeleteMemoryObjectsEXT", P(gl::DeleteMemoryObjectsEXT)},
{"glDeleteMemoryObjectsEXTContextANGLE", P(gl::DeleteMemoryObjectsEXTContextANGLE)},
{"glDeletePathsCHROMIUM", P(gl::DeletePathsCHROMIUM)},
{"glDeletePathsCHROMIUMContextANGLE", P(gl::DeletePathsCHROMIUMContextANGLE)},
{"glDeleteProgram", P(gl::DeleteProgram)},
......@@ -317,6 +323,8 @@ ProcEntry g_procTable[] = {
{"glDeleteRenderbuffersContextANGLE", P(gl::DeleteRenderbuffersContextANGLE)},
{"glDeleteSamplers", P(gl::DeleteSamplers)},
{"glDeleteSamplersContextANGLE", P(gl::DeleteSamplersContextANGLE)},
{"glDeleteSemaphoresEXT", P(gl::DeleteSemaphoresEXT)},
{"glDeleteSemaphoresEXTContextANGLE", P(gl::DeleteSemaphoresEXTContextANGLE)},
{"glDeleteShader", P(gl::DeleteShader)},
{"glDeleteShaderContextANGLE", P(gl::DeleteShaderContextANGLE)},
{"glDeleteSync", P(gl::DeleteSync)},
......@@ -471,6 +479,8 @@ ProcEntry g_procTable[] = {
{"glGenRenderbuffersContextANGLE", P(gl::GenRenderbuffersContextANGLE)},
{"glGenSamplers", P(gl::GenSamplers)},
{"glGenSamplersContextANGLE", P(gl::GenSamplersContextANGLE)},
{"glGenSemaphoresEXT", P(gl::GenSemaphoresEXT)},
{"glGenSemaphoresEXTContextANGLE", P(gl::GenSemaphoresEXTContextANGLE)},
{"glGenTextures", P(gl::GenTextures)},
{"glGenTexturesContextANGLE", P(gl::GenTexturesContextANGLE)},
{"glGenTransformFeedbacks", P(gl::GenTransformFeedbacks)},
......@@ -585,6 +595,9 @@ ProcEntry g_procTable[] = {
{"glGetMaterialfvContextANGLE", P(gl::GetMaterialfvContextANGLE)},
{"glGetMaterialxv", P(gl::GetMaterialxv)},
{"glGetMaterialxvContextANGLE", P(gl::GetMaterialxvContextANGLE)},
{"glGetMemoryObjectParameterivEXT", P(gl::GetMemoryObjectParameterivEXT)},
{"glGetMemoryObjectParameterivEXTContextANGLE",
P(gl::GetMemoryObjectParameterivEXTContextANGLE)},
{"glGetMultisamplefv", P(gl::GetMultisamplefv)},
{"glGetMultisamplefvANGLE", P(gl::GetMultisamplefvANGLE)},
{"glGetMultisamplefvANGLEContextANGLE", P(gl::GetMultisamplefvANGLEContextANGLE)},
......@@ -687,6 +700,9 @@ ProcEntry g_procTable[] = {
{"glGetSamplerParameterivRobustANGLE", P(gl::GetSamplerParameterivRobustANGLE)},
{"glGetSamplerParameterivRobustANGLEContextANGLE",
P(gl::GetSamplerParameterivRobustANGLEContextANGLE)},
{"glGetSemaphoreParameterui64vEXT", P(gl::GetSemaphoreParameterui64vEXT)},
{"glGetSemaphoreParameterui64vEXTContextANGLE",
P(gl::GetSemaphoreParameterui64vEXTContextANGLE)},
{"glGetShaderInfoLog", P(gl::GetShaderInfoLog)},
{"glGetShaderInfoLogContextANGLE", P(gl::GetShaderInfoLogContextANGLE)},
{"glGetShaderPrecisionFormat", P(gl::GetShaderPrecisionFormat)},
......@@ -766,6 +782,10 @@ ProcEntry g_procTable[] = {
{"glGetUniformuivContextANGLE", P(gl::GetUniformuivContextANGLE)},
{"glGetUniformuivRobustANGLE", P(gl::GetUniformuivRobustANGLE)},
{"glGetUniformuivRobustANGLEContextANGLE", P(gl::GetUniformuivRobustANGLEContextANGLE)},
{"glGetUnsignedBytei_vEXT", P(gl::GetUnsignedBytei_vEXT)},
{"glGetUnsignedBytei_vEXTContextANGLE", P(gl::GetUnsignedBytei_vEXTContextANGLE)},
{"glGetUnsignedBytevEXT", P(gl::GetUnsignedBytevEXT)},
{"glGetUnsignedBytevEXTContextANGLE", P(gl::GetUnsignedBytevEXTContextANGLE)},
{"glGetVertexAttribIiv", P(gl::GetVertexAttribIiv)},
{"glGetVertexAttribIivContextANGLE", P(gl::GetVertexAttribIivContextANGLE)},
{"glGetVertexAttribIivRobustANGLE", P(gl::GetVertexAttribIivRobustANGLE)},
......@@ -815,6 +835,8 @@ ProcEntry g_procTable[] = {
{"glIsFenceNVContextANGLE", P(gl::IsFenceNVContextANGLE)},
{"glIsFramebuffer", P(gl::IsFramebuffer)},
{"glIsFramebufferContextANGLE", P(gl::IsFramebufferContextANGLE)},
{"glIsMemoryObjectEXT", P(gl::IsMemoryObjectEXT)},
{"glIsMemoryObjectEXTContextANGLE", P(gl::IsMemoryObjectEXTContextANGLE)},
{"glIsPathCHROMIUM", P(gl::IsPathCHROMIUM)},
{"glIsPathCHROMIUMContextANGLE", P(gl::IsPathCHROMIUMContextANGLE)},
{"glIsProgram", P(gl::IsProgram)},
......@@ -829,6 +851,8 @@ ProcEntry g_procTable[] = {
{"glIsRenderbufferContextANGLE", P(gl::IsRenderbufferContextANGLE)},
{"glIsSampler", P(gl::IsSampler)},
{"glIsSamplerContextANGLE", P(gl::IsSamplerContextANGLE)},
{"glIsSemaphoreEXT", P(gl::IsSemaphoreEXT)},
{"glIsSemaphoreEXTContextANGLE", P(gl::IsSemaphoreEXTContextANGLE)},
{"glIsShader", P(gl::IsShader)},
{"glIsShaderContextANGLE", P(gl::IsShaderContextANGLE)},
{"glIsSync", P(gl::IsSync)},
......@@ -902,6 +926,8 @@ ProcEntry g_procTable[] = {
{"glMemoryBarrierByRegion", P(gl::MemoryBarrierByRegion)},
{"glMemoryBarrierByRegionContextANGLE", P(gl::MemoryBarrierByRegionContextANGLE)},
{"glMemoryBarrierContextANGLE", P(gl::MemoryBarrierContextANGLE)},
{"glMemoryObjectParameterivEXT", P(gl::MemoryObjectParameterivEXT)},
{"glMemoryObjectParameterivEXTContextANGLE", P(gl::MemoryObjectParameterivEXTContextANGLE)},
{"glMultMatrixf", P(gl::MultMatrixf)},
{"glMultMatrixfContextANGLE", P(gl::MultMatrixfContextANGLE)},
{"glMultMatrixx", P(gl::MultMatrixx)},
......@@ -1123,6 +1149,8 @@ ProcEntry g_procTable[] = {
{"glScalexContextANGLE", P(gl::ScalexContextANGLE)},
{"glScissor", P(gl::Scissor)},
{"glScissorContextANGLE", P(gl::ScissorContextANGLE)},
{"glSemaphoreParameterui64vEXT", P(gl::SemaphoreParameterui64vEXT)},
{"glSemaphoreParameterui64vEXTContextANGLE", P(gl::SemaphoreParameterui64vEXTContextANGLE)},
{"glSetFenceNV", P(gl::SetFenceNV)},
{"glSetFenceNVContextANGLE", P(gl::SetFenceNVContextANGLE)},
{"glShadeModel", P(gl::ShadeModel)},
......@@ -1131,6 +1159,8 @@ ProcEntry g_procTable[] = {
{"glShaderBinaryContextANGLE", P(gl::ShaderBinaryContextANGLE)},
{"glShaderSource", P(gl::ShaderSource)},
{"glShaderSourceContextANGLE", P(gl::ShaderSourceContextANGLE)},
{"glSignalSemaphoreEXT", P(gl::SignalSemaphoreEXT)},
{"glSignalSemaphoreEXTContextANGLE", P(gl::SignalSemaphoreEXTContextANGLE)},
{"glStencilFillPathCHROMIUM", P(gl::StencilFillPathCHROMIUM)},
{"glStencilFillPathCHROMIUMContextANGLE", P(gl::StencilFillPathCHROMIUMContextANGLE)},
{"glStencilFillPathInstancedCHROMIUM", P(gl::StencilFillPathInstancedCHROMIUM)},
......@@ -1229,6 +1259,16 @@ ProcEntry g_procTable[] = {
{"glTexStorage3DEXTContextANGLE", P(gl::TexStorage3DEXTContextANGLE)},
{"glTexStorage3DMultisampleOES", P(gl::TexStorage3DMultisampleOES)},
{"glTexStorage3DMultisampleOESContextANGLE", P(gl::TexStorage3DMultisampleOESContextANGLE)},
{"glTexStorageMem2DEXT", P(gl::TexStorageMem2DEXT)},
{"glTexStorageMem2DEXTContextANGLE", P(gl::TexStorageMem2DEXTContextANGLE)},
{"glTexStorageMem2DMultisampleEXT", P(gl::TexStorageMem2DMultisampleEXT)},
{"glTexStorageMem2DMultisampleEXTContextANGLE",
P(gl::TexStorageMem2DMultisampleEXTContextANGLE)},
{"glTexStorageMem3DEXT", P(gl::TexStorageMem3DEXT)},
{"glTexStorageMem3DEXTContextANGLE", P(gl::TexStorageMem3DEXTContextANGLE)},
{"glTexStorageMem3DMultisampleEXT", P(gl::TexStorageMem3DMultisampleEXT)},
{"glTexStorageMem3DMultisampleEXTContextANGLE",
P(gl::TexStorageMem3DMultisampleEXTContextANGLE)},
{"glTexSubImage2D", P(gl::TexSubImage2D)},
{"glTexSubImage2DContextANGLE", P(gl::TexSubImage2DContextANGLE)},
{"glTexSubImage2DRobustANGLE", P(gl::TexSubImage2DRobustANGLE)},
......@@ -1369,10 +1409,12 @@ ProcEntry g_procTable[] = {
{"glVertexPointerContextANGLE", P(gl::VertexPointerContextANGLE)},
{"glViewport", P(gl::Viewport)},
{"glViewportContextANGLE", P(gl::ViewportContextANGLE)},
{"glWaitSemaphoreEXT", P(gl::WaitSemaphoreEXT)},
{"glWaitSemaphoreEXTContextANGLE", P(gl::WaitSemaphoreEXTContextANGLE)},
{"glWaitSync", P(gl::WaitSync)},
{"glWaitSyncContextANGLE", P(gl::WaitSyncContextANGLE)},
{"glWeightPointerOES", P(gl::WeightPointerOES)},
{"glWeightPointerOESContextANGLE", P(gl::WeightPointerOESContextANGLE)}};
size_t g_numProcs = 1290;
size_t g_numProcs = 1328;
} // namespace egl
......@@ -957,5 +957,33 @@
"angle::Platform related entry points": [
"ANGLEGetDisplayPlatform",
"ANGLEResetDisplayPlatform"
],
"GL_EXT_memory_object/GL_EXT_semaphore": [
"glGetUnsignedBytevEXT",
"glGetUnsignedBytei_vEXT"
],
"GL_EXT_memory_object": [
"glDeleteMemoryObjectsEXT",
"glIsMemoryObjectEXT",
"glCreateMemoryObjectsEXT",
"glMemoryObjectParameterivEXT",
"glGetMemoryObjectParameterivEXT",
"glTexStorageMem2DEXT",
"glTexStorageMem2DMultisampleEXT",
"glTexStorageMem3DEXT",
"glTexStorageMem3DMultisampleEXT",
"glBufferStorageMemEXT"
],
"GL_EXT_semaphore": [
"glGenSemaphoresEXT",
"glDeleteSemaphoresEXT",
"glIsSemaphoreEXT",
"glSemaphoreParameterui64vEXT",
"glGetSemaphoreParameterui64vEXT",
"glWaitSemaphoreEXT",
"glSignalSemaphoreEXT"
]
}
......@@ -589,10 +589,29 @@ ANGLE_UTIL_EXPORT extern PFNGLDRAWELEMENTSINSTANCEDEXTPROC glDrawElementsInstanc
ANGLE_UTIL_EXPORT extern PFNGLVERTEXATTRIBDIVISOREXTPROC glVertexAttribDivisorEXT;
ANGLE_UTIL_EXPORT extern PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC glFlushMappedBufferRangeEXT;
ANGLE_UTIL_EXPORT extern PFNGLMAPBUFFERRANGEEXTPROC glMapBufferRangeEXT;
ANGLE_UTIL_EXPORT extern PFNGLBUFFERSTORAGEMEMEXTPROC glBufferStorageMemEXT;
ANGLE_UTIL_EXPORT extern PFNGLCREATEMEMORYOBJECTSEXTPROC glCreateMemoryObjectsEXT;
ANGLE_UTIL_EXPORT extern PFNGLDELETEMEMORYOBJECTSEXTPROC glDeleteMemoryObjectsEXT;
ANGLE_UTIL_EXPORT extern PFNGLGETMEMORYOBJECTPARAMETERIVEXTPROC glGetMemoryObjectParameterivEXT;
ANGLE_UTIL_EXPORT extern PFNGLGETUNSIGNEDBYTEI_VEXTPROC glGetUnsignedBytei_vEXT;
ANGLE_UTIL_EXPORT extern PFNGLGETUNSIGNEDBYTEVEXTPROC glGetUnsignedBytevEXT;
ANGLE_UTIL_EXPORT extern PFNGLISMEMORYOBJECTEXTPROC glIsMemoryObjectEXT;
ANGLE_UTIL_EXPORT extern PFNGLMEMORYOBJECTPARAMETERIVEXTPROC glMemoryObjectParameterivEXT;
ANGLE_UTIL_EXPORT extern PFNGLTEXSTORAGEMEM2DEXTPROC glTexStorageMem2DEXT;
ANGLE_UTIL_EXPORT extern PFNGLTEXSTORAGEMEM2DMULTISAMPLEEXTPROC glTexStorageMem2DMultisampleEXT;
ANGLE_UTIL_EXPORT extern PFNGLTEXSTORAGEMEM3DEXTPROC glTexStorageMem3DEXT;
ANGLE_UTIL_EXPORT extern PFNGLTEXSTORAGEMEM3DMULTISAMPLEEXTPROC glTexStorageMem3DMultisampleEXT;
ANGLE_UTIL_EXPORT extern PFNGLGETGRAPHICSRESETSTATUSEXTPROC glGetGraphicsResetStatusEXT;
ANGLE_UTIL_EXPORT extern PFNGLGETNUNIFORMFVEXTPROC glGetnUniformfvEXT;
ANGLE_UTIL_EXPORT extern PFNGLGETNUNIFORMIVEXTPROC glGetnUniformivEXT;
ANGLE_UTIL_EXPORT extern PFNGLREADNPIXELSEXTPROC glReadnPixelsEXT;
ANGLE_UTIL_EXPORT extern PFNGLDELETESEMAPHORESEXTPROC glDeleteSemaphoresEXT;
ANGLE_UTIL_EXPORT extern PFNGLGENSEMAPHORESEXTPROC glGenSemaphoresEXT;
ANGLE_UTIL_EXPORT extern PFNGLGETSEMAPHOREPARAMETERUI64VEXTPROC glGetSemaphoreParameterui64vEXT;
ANGLE_UTIL_EXPORT extern PFNGLISSEMAPHOREEXTPROC glIsSemaphoreEXT;
ANGLE_UTIL_EXPORT extern PFNGLSEMAPHOREPARAMETERUI64VEXTPROC glSemaphoreParameterui64vEXT;
ANGLE_UTIL_EXPORT extern PFNGLSIGNALSEMAPHOREEXTPROC glSignalSemaphoreEXT;
ANGLE_UTIL_EXPORT extern PFNGLWAITSEMAPHOREEXTPROC glWaitSemaphoreEXT;
ANGLE_UTIL_EXPORT extern PFNGLTEXSTORAGE1DEXTPROC glTexStorage1DEXT;
ANGLE_UTIL_EXPORT extern PFNGLTEXSTORAGE2DEXTPROC glTexStorage2DEXT;
ANGLE_UTIL_EXPORT extern PFNGLTEXSTORAGE3DEXTPROC glTexStorage3DEXT;
......@@ -1404,11 +1423,39 @@ ANGLE_UTIL_EXPORT extern PFNGLVERTEXATTRIBDIVISOREXTCONTEXTANGLEPROC
ANGLE_UTIL_EXPORT extern PFNGLFLUSHMAPPEDBUFFERRANGEEXTCONTEXTANGLEPROC
glFlushMappedBufferRangeEXTContextANGLE;
ANGLE_UTIL_EXPORT extern PFNGLMAPBUFFERRANGEEXTCONTEXTANGLEPROC glMapBufferRangeEXTContextANGLE;
ANGLE_UTIL_EXPORT extern PFNGLBUFFERSTORAGEMEMEXTCONTEXTANGLEPROC glBufferStorageMemEXTContextANGLE;
ANGLE_UTIL_EXPORT extern PFNGLCREATEMEMORYOBJECTSEXTCONTEXTANGLEPROC
glCreateMemoryObjectsEXTContextANGLE;
ANGLE_UTIL_EXPORT extern PFNGLDELETEMEMORYOBJECTSEXTCONTEXTANGLEPROC
glDeleteMemoryObjectsEXTContextANGLE;
ANGLE_UTIL_EXPORT extern PFNGLGETMEMORYOBJECTPARAMETERIVEXTCONTEXTANGLEPROC
glGetMemoryObjectParameterivEXTContextANGLE;
ANGLE_UTIL_EXPORT extern PFNGLGETUNSIGNEDBYTEI_VEXTCONTEXTANGLEPROC
glGetUnsignedBytei_vEXTContextANGLE;
ANGLE_UTIL_EXPORT extern PFNGLGETUNSIGNEDBYTEVEXTCONTEXTANGLEPROC glGetUnsignedBytevEXTContextANGLE;
ANGLE_UTIL_EXPORT extern PFNGLISMEMORYOBJECTEXTCONTEXTANGLEPROC glIsMemoryObjectEXTContextANGLE;
ANGLE_UTIL_EXPORT extern PFNGLMEMORYOBJECTPARAMETERIVEXTCONTEXTANGLEPROC
glMemoryObjectParameterivEXTContextANGLE;
ANGLE_UTIL_EXPORT extern PFNGLTEXSTORAGEMEM2DEXTCONTEXTANGLEPROC glTexStorageMem2DEXTContextANGLE;
ANGLE_UTIL_EXPORT extern PFNGLTEXSTORAGEMEM2DMULTISAMPLEEXTCONTEXTANGLEPROC
glTexStorageMem2DMultisampleEXTContextANGLE;
ANGLE_UTIL_EXPORT extern PFNGLTEXSTORAGEMEM3DEXTCONTEXTANGLEPROC glTexStorageMem3DEXTContextANGLE;
ANGLE_UTIL_EXPORT extern PFNGLTEXSTORAGEMEM3DMULTISAMPLEEXTCONTEXTANGLEPROC
glTexStorageMem3DMultisampleEXTContextANGLE;
ANGLE_UTIL_EXPORT extern PFNGLGETGRAPHICSRESETSTATUSEXTCONTEXTANGLEPROC
glGetGraphicsResetStatusEXTContextANGLE;
ANGLE_UTIL_EXPORT extern PFNGLGETNUNIFORMFVEXTCONTEXTANGLEPROC glGetnUniformfvEXTContextANGLE;
ANGLE_UTIL_EXPORT extern PFNGLGETNUNIFORMIVEXTCONTEXTANGLEPROC glGetnUniformivEXTContextANGLE;
ANGLE_UTIL_EXPORT extern PFNGLREADNPIXELSEXTCONTEXTANGLEPROC glReadnPixelsEXTContextANGLE;
ANGLE_UTIL_EXPORT extern PFNGLDELETESEMAPHORESEXTCONTEXTANGLEPROC glDeleteSemaphoresEXTContextANGLE;
ANGLE_UTIL_EXPORT extern PFNGLGENSEMAPHORESEXTCONTEXTANGLEPROC glGenSemaphoresEXTContextANGLE;
ANGLE_UTIL_EXPORT extern PFNGLGETSEMAPHOREPARAMETERUI64VEXTCONTEXTANGLEPROC
glGetSemaphoreParameterui64vEXTContextANGLE;
ANGLE_UTIL_EXPORT extern PFNGLISSEMAPHOREEXTCONTEXTANGLEPROC glIsSemaphoreEXTContextANGLE;
ANGLE_UTIL_EXPORT extern PFNGLSEMAPHOREPARAMETERUI64VEXTCONTEXTANGLEPROC
glSemaphoreParameterui64vEXTContextANGLE;
ANGLE_UTIL_EXPORT extern PFNGLSIGNALSEMAPHOREEXTCONTEXTANGLEPROC glSignalSemaphoreEXTContextANGLE;
ANGLE_UTIL_EXPORT extern PFNGLWAITSEMAPHOREEXTCONTEXTANGLEPROC glWaitSemaphoreEXTContextANGLE;
ANGLE_UTIL_EXPORT extern PFNGLTEXSTORAGE1DEXTCONTEXTANGLEPROC glTexStorage1DEXTContextANGLE;
ANGLE_UTIL_EXPORT extern PFNGLTEXSTORAGE2DEXTCONTEXTANGLEPROC glTexStorage2DEXTContextANGLE;
ANGLE_UTIL_EXPORT extern PFNGLTEXSTORAGE3DEXTCONTEXTANGLEPROC glTexStorage3DEXTContextANGLE;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment