From f2d6b0478288397006b8e143ab73b39633e884cd Mon Sep 17 00:00:00 2001 From: Attila Uygun Date: Sat, 9 Sep 2023 23:58:47 +0200 Subject: [PATCH] Add a separate gn config for each third-party library --- build/BUILD.gn | 7 - src/engine/BUILD.gn | 20 +- src/engine/platform/platform_android.cc | 2 +- src/engine/renderer/opengl/opengl.h | 2 +- src/third_party/BUILD.gn | 200 ------ src/third_party/android/BUILD.gn | 23 + src/third_party/android/GLContext.cpp | 2 +- src/third_party/android/gl3stub.c | 421 ----------- src/third_party/android/gl3stub.h | 661 ------------------ src/third_party/glew/BUILD.gn | 20 + src/third_party/glslang/BUILD.gn | 119 ++++ src/third_party/jsoncpp/BUILD.gn | 11 + src/third_party/minimp3/BUILD.gn | 11 + src/third_party/minizip/BUILD.gn | 12 + src/third_party/oboe/BUILD.gn | 146 ++++ src/third_party/spirv-reflect/BUILD.gn | 10 + src/third_party/stb/BUILD.gn | 11 + src/third_party/texture_compressor/BUILD.gn | 34 + .../texture_compressor/texture_compressor.cc | 19 +- src/third_party/vma/BUILD.gn | 10 + src/third_party/volk/BUILD.gn | 10 + src/third_party/vulkan/BUILD.gn | 56 ++ 22 files changed, 505 insertions(+), 1302 deletions(-) delete mode 100644 src/third_party/BUILD.gn create mode 100644 src/third_party/android/BUILD.gn delete mode 100644 src/third_party/android/gl3stub.c delete mode 100644 src/third_party/android/gl3stub.h create mode 100644 src/third_party/glew/BUILD.gn create mode 100644 src/third_party/glslang/BUILD.gn create mode 100644 src/third_party/jsoncpp/BUILD.gn create mode 100644 src/third_party/minimp3/BUILD.gn create mode 100644 src/third_party/minizip/BUILD.gn create mode 100644 src/third_party/oboe/BUILD.gn create mode 100644 src/third_party/spirv-reflect/BUILD.gn create mode 100644 src/third_party/stb/BUILD.gn create mode 100644 src/third_party/texture_compressor/BUILD.gn create mode 100644 src/third_party/vma/BUILD.gn create mode 100644 src/third_party/volk/BUILD.gn create mode 100644 src/third_party/vulkan/BUILD.gn diff --git a/build/BUILD.gn b/build/BUILD.gn index e3f7849..1a4e246 100644 --- a/build/BUILD.gn +++ b/build/BUILD.gn @@ -88,13 +88,6 @@ config("default") { # "//", "//src", ] - if (is_android) { - include_dirs += [ - "$ndk/sources/android", - "$ndk/sources/android/native_app_glue", - "$ndk/sources/android/cpufeatures", - ] - } } config("debug") { diff --git a/src/engine/BUILD.gn b/src/engine/BUILD.gn index 357f1eb..21e51a5 100644 --- a/src/engine/BUILD.gn +++ b/src/engine/BUILD.gn @@ -121,6 +121,24 @@ source_set("engine") { deps = [ "//assets/engine", "//src/base", - "//src/third_party", + "//src/third_party/glslang", + "//src/third_party/jsoncpp", + "//src/third_party/minimp3", + "//src/third_party/spirv-reflect", + "//src/third_party/stb", + "//src/third_party/texture_compressor", + "//src/third_party/vma", + "//src/third_party/vulkan", + "//src/third_party/volk", ] + + if (target_os == "android") { + deps += [ + "//src/third_party/android", + "//src/third_party/oboe", + "//src/third_party/minizip", + ] + } else { + deps += [ "//src/third_party/glew" ] + } } diff --git a/src/engine/platform/platform_android.cc b/src/engine/platform/platform_android.cc index 462ca7e..8637b4e 100644 --- a/src/engine/platform/platform_android.cc +++ b/src/engine/platform/platform_android.cc @@ -2,9 +2,9 @@ #include -#include #include #include +#include #include #include "base/log.h" diff --git a/src/engine/renderer/opengl/opengl.h b/src/engine/renderer/opengl/opengl.h index 8963538..19b1d77 100644 --- a/src/engine/renderer/opengl/opengl.h +++ b/src/engine/renderer/opengl/opengl.h @@ -6,7 +6,7 @@ // Use the modified Khronos header from ndk-helper. This gives access to // additional functionality the drivers may expose but which the system headers // do not. -#include "third_party/android/gl3stub.h" +#include #include diff --git a/src/third_party/BUILD.gn b/src/third_party/BUILD.gn deleted file mode 100644 index 99b8c77..0000000 --- a/src/third_party/BUILD.gn +++ /dev/null @@ -1,200 +0,0 @@ -config("third_party_config") { - include_dirs = [ - "vulkan/include", - "glslang", - ] - - if (target_os == "linux") { - defines = [ "VK_USE_PLATFORM_XLIB_KHR" ] - } else if (target_os == "win") { - defines = [ "VK_USE_PLATFORM_WIN32_KHR" ] - } else if (target_os == "android") { - defines = [ "VK_USE_PLATFORM_ANDROID_KHR" ] - include_dirs += [ "oboe/include" ] - } -} - -source_set("third_party") { - public_configs = [ ":third_party_config" ] - - sources = [ - "glslang/OGLCompilersDLL/InitializeDll.cpp", - "glslang/SPIRV/GlslangToSpv.cpp", - "glslang/SPIRV/InReadableOrder.cpp", - "glslang/SPIRV/Logger.cpp", - "glslang/SPIRV/SPVRemapper.cpp", - "glslang/SPIRV/SpvBuilder.cpp", - "glslang/SPIRV/SpvPostProcess.cpp", - "glslang/SPIRV/SpvTools.cpp", - "glslang/SPIRV/disassemble.cpp", - "glslang/SPIRV/doc.cpp", - "glslang/glslang/GenericCodeGen/CodeGen.cpp", - "glslang/glslang/GenericCodeGen/Link.cpp", - "glslang/glslang/MachineIndependent/Constant.cpp", - "glslang/glslang/MachineIndependent/InfoSink.cpp", - "glslang/glslang/MachineIndependent/Initialize.cpp", - "glslang/glslang/MachineIndependent/IntermTraverse.cpp", - "glslang/glslang/MachineIndependent/Intermediate.cpp", - "glslang/glslang/MachineIndependent/ParseContextBase.cpp", - "glslang/glslang/MachineIndependent/ParseHelper.cpp", - "glslang/glslang/MachineIndependent/PoolAlloc.cpp", - "glslang/glslang/MachineIndependent/RemoveTree.cpp", - "glslang/glslang/MachineIndependent/Scan.cpp", - "glslang/glslang/MachineIndependent/ShaderLang.cpp", - "glslang/glslang/MachineIndependent/SpirvIntrinsics.cpp", - "glslang/glslang/MachineIndependent/SymbolTable.cpp", - "glslang/glslang/MachineIndependent/Versions.cpp", - "glslang/glslang/MachineIndependent/attribute.cpp", - "glslang/glslang/MachineIndependent/glslang_tab.cpp", - "glslang/glslang/MachineIndependent/intermOut.cpp", - "glslang/glslang/MachineIndependent/iomapper.cpp", - "glslang/glslang/MachineIndependent/limits.cpp", - "glslang/glslang/MachineIndependent/linkValidate.cpp", - "glslang/glslang/MachineIndependent/parseConst.cpp", - "glslang/glslang/MachineIndependent/preprocessor/Pp.cpp", - "glslang/glslang/MachineIndependent/preprocessor/PpAtom.cpp", - "glslang/glslang/MachineIndependent/preprocessor/PpContext.cpp", - "glslang/glslang/MachineIndependent/preprocessor/PpScanner.cpp", - "glslang/glslang/MachineIndependent/preprocessor/PpTokens.cpp", - "glslang/glslang/MachineIndependent/propagateNoContraction.cpp", - "glslang/glslang/MachineIndependent/reflection.cpp", - "jsoncpp/json.h", - "jsoncpp/jsoncpp.cpp", - "minimp3/minimp3.cc", - "minimp3/minimp3.h", - "minimp3/minimp3_ex.h", - "spirv-reflect/spirv_reflect.c", - "stb/stb_image.cc", - "stb/stb_image.h", - "stb/stb_truetype.h", - "texture_compressor/dxt_encoder.cc", - "texture_compressor/dxt_encoder.h", - "texture_compressor/dxt_encoder_implementation_autogen.h", - "texture_compressor/dxt_encoder_internals.cc", - "texture_compressor/dxt_encoder_internals.h", - "texture_compressor/texture_compressor.cc", - "texture_compressor/texture_compressor.h", - "texture_compressor/texture_compressor_etc1.cc", - "texture_compressor/texture_compressor_etc1.h", - "vma/vk_mem_alloc.cpp", - "volk/volk.c", - ] - - defines = [ - "VMA_STATIC_VULKAN_FUNCTIONS=1", - "GLEW_STATIC", - ] - - cflags = [] - - if (target_os == "linux" || target_os == "win") { - sources += [ - "glew/glew.c", - "glew/glew.h", - ] - } - - if (target_os == "linux") { - sources += [ - "glew/glxew.h", - "glslang/glslang/OSDependent/Unix/ossource.cpp", - ] - } - - if (target_os == "win") { - sources += [ - "glew/wglew.h", - "glslang/glslang/OSDependent/Windows/ossource.cpp", - ] - - cflags += [ - "/wd4242", # tmp:conversion from 'int' to 'uint8_t' - ] - } - - if (target_os == "android") { - sources += [ - "$ndk/sources/android/cpufeatures/cpu-features.c", - "$ndk/sources/android/native_app_glue/android_native_app_glue.c", - "android/GLContext.cpp", - "android/gl3stub.c", - "glslang/glslang/OSDependent/Unix/ossource.cpp", - "minizip/ioapi.c", - "minizip/unzip.c", - "oboe/src/aaudio/AAudioLoader.cpp", - "oboe/src/aaudio/AudioStreamAAudio.cpp", - "oboe/src/common/AudioSourceCaller.cpp", - "oboe/src/common/AudioStream.cpp", - "oboe/src/common/AudioStreamBuilder.cpp", - "oboe/src/common/DataConversionFlowGraph.cpp", - "oboe/src/common/FilterAudioStream.cpp", - "oboe/src/common/FixedBlockAdapter.cpp", - "oboe/src/common/FixedBlockReader.cpp", - "oboe/src/common/FixedBlockWriter.cpp", - "oboe/src/common/LatencyTuner.cpp", - "oboe/src/common/OboeExtensions.cpp", - "oboe/src/common/QuirksManager.cpp", - "oboe/src/common/SourceFloatCaller.cpp", - "oboe/src/common/SourceI16Caller.cpp", - "oboe/src/common/SourceI24Caller.cpp", - "oboe/src/common/SourceI32Caller.cpp", - "oboe/src/common/StabilizedCallback.cpp", - "oboe/src/common/Trace.cpp", - "oboe/src/common/Utilities.cpp", - "oboe/src/common/Version.cpp", - "oboe/src/fifo/FifoBuffer.cpp", - "oboe/src/fifo/FifoController.cpp", - "oboe/src/fifo/FifoControllerBase.cpp", - "oboe/src/fifo/FifoControllerIndirect.cpp", - "oboe/src/flowgraph/ChannelCountConverter.cpp", - "oboe/src/flowgraph/ClipToRange.cpp", - "oboe/src/flowgraph/FlowGraphNode.cpp", - "oboe/src/flowgraph/ManyToMultiConverter.cpp", - "oboe/src/flowgraph/MonoBlend.cpp", - "oboe/src/flowgraph/MonoToMultiConverter.cpp", - "oboe/src/flowgraph/MultiToManyConverter.cpp", - "oboe/src/flowgraph/MultiToMonoConverter.cpp", - "oboe/src/flowgraph/RampLinear.cpp", - "oboe/src/flowgraph/SampleRateConverter.cpp", - "oboe/src/flowgraph/SinkFloat.cpp", - "oboe/src/flowgraph/SinkI16.cpp", - "oboe/src/flowgraph/SinkI24.cpp", - "oboe/src/flowgraph/SinkI32.cpp", - "oboe/src/flowgraph/SourceFloat.cpp", - "oboe/src/flowgraph/SourceI16.cpp", - "oboe/src/flowgraph/SourceI24.cpp", - "oboe/src/flowgraph/SourceI32.cpp", - "oboe/src/flowgraph/resampler/IntegerRatio.cpp", - "oboe/src/flowgraph/resampler/LinearResampler.cpp", - "oboe/src/flowgraph/resampler/MultiChannelResampler.cpp", - "oboe/src/flowgraph/resampler/PolyphaseResampler.cpp", - "oboe/src/flowgraph/resampler/PolyphaseResamplerMono.cpp", - "oboe/src/flowgraph/resampler/PolyphaseResamplerStereo.cpp", - "oboe/src/flowgraph/resampler/SincResampler.cpp", - "oboe/src/flowgraph/resampler/SincResamplerStereo.cpp", - "oboe/src/opensles/AudioInputStreamOpenSLES.cpp", - "oboe/src/opensles/AudioOutputStreamOpenSLES.cpp", - "oboe/src/opensles/AudioStreamBuffered.cpp", - "oboe/src/opensles/AudioStreamOpenSLES.cpp", - "oboe/src/opensles/EngineOpenSLES.cpp", - "oboe/src/opensles/OpenSLESUtilities.cpp", - "oboe/src/opensles/OutputMixerOpenSLES.cpp", - ] - if (target_cpu == "arm" || target_cpu == "arm64") { - sources += [ - "texture_compressor/dxt_encoder_neon.cc", - "texture_compressor/texture_compressor_etc1_neon.cc", - ] - } - cflags += [ - "-Wno-nullability-completeness", - "-Wno-deprecated-enum-enum-conversion", - ] - include_dirs = [ "oboe/src" ] - libs = [ "OpenSLES" ] - } - - configs -= [ "//build:warnings" ] - - deps = [] -} diff --git a/src/third_party/android/BUILD.gn b/src/third_party/android/BUILD.gn new file mode 100644 index 0000000..aad396c --- /dev/null +++ b/src/third_party/android/BUILD.gn @@ -0,0 +1,23 @@ +config("android_public") { + include_dirs = [ "$ndk/sources/android" ] +} + +source_set("android") { + assert(target_os == "android") + + configs -= [ "//build:warnings" ] + public_configs = [ ":android_public" ] + + sources = [ + "$ndk/sources/android/cpufeatures/cpu-features.c", + "$ndk/sources/android/cpufeatures/cpu-features.h", + "$ndk/sources/android/native_app_glue/android_native_app_glue.c", + "$ndk/sources/android/native_app_glue/android_native_app_glue.h", + "$ndk/sources/android/ndk_helper/gl3stub.c", + "$ndk/sources/android/ndk_helper/gl3stub.h", + "GLContext.cpp", + "GLContext.h", + ] + + deps = [] +} diff --git a/src/third_party/android/GLContext.cpp b/src/third_party/android/GLContext.cpp index ee416f9..6b8c707 100644 --- a/src/third_party/android/GLContext.cpp +++ b/src/third_party/android/GLContext.cpp @@ -25,7 +25,7 @@ #include #include -#include "gl3stub.h" +#include #include diff --git a/src/third_party/android/gl3stub.c b/src/third_party/android/gl3stub.c deleted file mode 100644 index d918b2c..0000000 --- a/src/third_party/android/gl3stub.c +++ /dev/null @@ -1,421 +0,0 @@ -/* - * Copyright 2013 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include "gl3stub.h" - -GLboolean gl3stubInit() { -#define FIND_PROC(s) s = (void*)eglGetProcAddress(#s); - FIND_PROC(glReadBuffer); - FIND_PROC(glDrawRangeElements); - FIND_PROC(glTexImage3D); - FIND_PROC(glTexSubImage3D); - FIND_PROC(glCopyTexSubImage3D); - FIND_PROC(glCompressedTexImage3D); - FIND_PROC(glCompressedTexSubImage3D); - FIND_PROC(glGenQueries); - FIND_PROC(glDeleteQueries); - FIND_PROC(glIsQuery); - FIND_PROC(glBeginQuery); - FIND_PROC(glEndQuery); - FIND_PROC(glGetQueryiv); - FIND_PROC(glGetQueryObjectuiv); - FIND_PROC(glUnmapBuffer); - FIND_PROC(glGetBufferPointerv); - FIND_PROC(glDrawBuffers); - FIND_PROC(glUniformMatrix2x3fv); - FIND_PROC(glUniformMatrix3x2fv); - FIND_PROC(glUniformMatrix2x4fv); - FIND_PROC(glUniformMatrix4x2fv); - FIND_PROC(glUniformMatrix3x4fv); - FIND_PROC(glUniformMatrix4x3fv); - FIND_PROC(glBlitFramebuffer); - FIND_PROC(glRenderbufferStorageMultisample); - FIND_PROC(glFramebufferTextureLayer); - FIND_PROC(glMapBufferRange); - FIND_PROC(glFlushMappedBufferRange); - FIND_PROC(glBindVertexArray); - FIND_PROC(glDeleteVertexArrays); - FIND_PROC(glGenVertexArrays); - FIND_PROC(glIsVertexArray); - FIND_PROC(glGetIntegeri_v); - FIND_PROC(glBeginTransformFeedback); - FIND_PROC(glEndTransformFeedback); - FIND_PROC(glBindBufferRange); - FIND_PROC(glBindBufferBase); - FIND_PROC(glTransformFeedbackVaryings); - FIND_PROC(glGetTransformFeedbackVarying); - FIND_PROC(glVertexAttribIPointer); - FIND_PROC(glGetVertexAttribIiv); - FIND_PROC(glGetVertexAttribIuiv); - FIND_PROC(glVertexAttribI4i); - FIND_PROC(glVertexAttribI4ui); - FIND_PROC(glVertexAttribI4iv); - FIND_PROC(glVertexAttribI4uiv); - FIND_PROC(glGetUniformuiv); - FIND_PROC(glGetFragDataLocation); - FIND_PROC(glUniform1ui); - FIND_PROC(glUniform2ui); - FIND_PROC(glUniform3ui); - FIND_PROC(glUniform4ui); - FIND_PROC(glUniform1uiv); - FIND_PROC(glUniform2uiv); - FIND_PROC(glUniform3uiv); - FIND_PROC(glUniform4uiv); - FIND_PROC(glClearBufferiv); - FIND_PROC(glClearBufferuiv); - FIND_PROC(glClearBufferfv); - FIND_PROC(glClearBufferfi); - FIND_PROC(glGetStringi); - FIND_PROC(glCopyBufferSubData); - FIND_PROC(glGetUniformIndices); - FIND_PROC(glGetActiveUniformsiv); - FIND_PROC(glGetUniformBlockIndex); - FIND_PROC(glGetActiveUniformBlockiv); - FIND_PROC(glGetActiveUniformBlockName); - FIND_PROC(glUniformBlockBinding); - FIND_PROC(glDrawArraysInstanced); - FIND_PROC(glDrawElementsInstanced); - FIND_PROC(glFenceSync); - FIND_PROC(glIsSync); - FIND_PROC(glDeleteSync); - FIND_PROC(glClientWaitSync); - FIND_PROC(glWaitSync); - FIND_PROC(glGetInteger64v); - FIND_PROC(glGetSynciv); - FIND_PROC(glGetInteger64i_v); - FIND_PROC(glGetBufferParameteri64v); - FIND_PROC(glGenSamplers); - FIND_PROC(glDeleteSamplers); - FIND_PROC(glIsSampler); - FIND_PROC(glBindSampler); - FIND_PROC(glSamplerParameteri); - FIND_PROC(glSamplerParameteriv); - FIND_PROC(glSamplerParameterf); - FIND_PROC(glSamplerParameterfv); - FIND_PROC(glGetSamplerParameteriv); - FIND_PROC(glGetSamplerParameterfv); - FIND_PROC(glVertexAttribDivisor); - FIND_PROC(glBindTransformFeedback); - FIND_PROC(glDeleteTransformFeedbacks); - FIND_PROC(glGenTransformFeedbacks); - FIND_PROC(glIsTransformFeedback); - FIND_PROC(glPauseTransformFeedback); - FIND_PROC(glResumeTransformFeedback); - FIND_PROC(glGetProgramBinary); - FIND_PROC(glProgramBinary); - FIND_PROC(glProgramParameteri); - FIND_PROC(glInvalidateFramebuffer); - FIND_PROC(glInvalidateSubFramebuffer); - FIND_PROC(glTexStorage2D); - FIND_PROC(glTexStorage3D); - FIND_PROC(glGetInternalformativ); -#undef FIND_PROC - - if (!glReadBuffer || !glDrawRangeElements || !glTexImage3D || - !glTexSubImage3D || !glCopyTexSubImage3D || !glCompressedTexImage3D || - !glCompressedTexSubImage3D || !glGenQueries || !glDeleteQueries || - !glIsQuery || !glBeginQuery || !glEndQuery || !glGetQueryiv || - !glGetQueryObjectuiv || !glUnmapBuffer || !glGetBufferPointerv || - !glDrawBuffers || !glUniformMatrix2x3fv || !glUniformMatrix3x2fv || - !glUniformMatrix2x4fv || !glUniformMatrix4x2fv || !glUniformMatrix3x4fv || - !glUniformMatrix4x3fv || !glBlitFramebuffer || - !glRenderbufferStorageMultisample || !glFramebufferTextureLayer || - !glMapBufferRange || !glFlushMappedBufferRange || !glBindVertexArray || - !glDeleteVertexArrays || !glGenVertexArrays || !glIsVertexArray || - !glGetIntegeri_v || !glBeginTransformFeedback || - !glEndTransformFeedback || !glBindBufferRange || !glBindBufferBase || - !glTransformFeedbackVaryings || !glGetTransformFeedbackVarying || - !glVertexAttribIPointer || !glGetVertexAttribIiv || - !glGetVertexAttribIuiv || !glVertexAttribI4i || !glVertexAttribI4ui || - !glVertexAttribI4iv || !glVertexAttribI4uiv || !glGetUniformuiv || - !glGetFragDataLocation || !glUniform1ui || !glUniform2ui || - !glUniform3ui || !glUniform4ui || !glUniform1uiv || !glUniform2uiv || - !glUniform3uiv || !glUniform4uiv || !glClearBufferiv || - !glClearBufferuiv || !glClearBufferfv || !glClearBufferfi || - !glGetStringi || !glCopyBufferSubData || !glGetUniformIndices || - !glGetActiveUniformsiv || !glGetUniformBlockIndex || - !glGetActiveUniformBlockiv || !glGetActiveUniformBlockName || - !glUniformBlockBinding || !glDrawArraysInstanced || - !glDrawElementsInstanced || !glFenceSync || !glIsSync || !glDeleteSync || - !glClientWaitSync || !glWaitSync || !glGetInteger64v || !glGetSynciv || - !glGetInteger64i_v || !glGetBufferParameteri64v || !glGenSamplers || - !glDeleteSamplers || !glIsSampler || !glBindSampler || - !glSamplerParameteri || !glSamplerParameteriv || !glSamplerParameterf || - !glSamplerParameterfv || !glGetSamplerParameteriv || - !glGetSamplerParameterfv || !glVertexAttribDivisor || - !glBindTransformFeedback || !glDeleteTransformFeedbacks || - !glGenTransformFeedbacks || !glIsTransformFeedback || - !glPauseTransformFeedback || !glResumeTransformFeedback || - !glGetProgramBinary || !glProgramBinary || !glProgramParameteri || - !glInvalidateFramebuffer || !glInvalidateSubFramebuffer || - !glTexStorage2D || !glTexStorage3D || !glGetInternalformativ) { - return GL_FALSE; - } - - return GL_TRUE; -} - -/* Function pointer definitions */ GL_APICALL void (*GL_APIENTRY glReadBuffer)( - GLenum mode); -GL_APICALL void (*GL_APIENTRY glDrawRangeElements)(GLenum mode, GLuint start, - GLuint end, GLsizei count, - GLenum type, - const GLvoid* indices); -GL_APICALL void (*GL_APIENTRY glTexImage3D)(GLenum target, GLint level, - GLint internalformat, GLsizei width, - GLsizei height, GLsizei depth, - GLint border, GLenum format, - GLenum type, const GLvoid* pixels); -GL_APICALL void (*GL_APIENTRY glTexSubImage3D)(GLenum target, GLint level, - GLint xoffset, GLint yoffset, - GLint zoffset, GLsizei width, - GLsizei height, GLsizei depth, - GLenum format, GLenum type, - const GLvoid* pixels); -GL_APICALL void (*GL_APIENTRY glCopyTexSubImage3D)(GLenum target, GLint level, - GLint xoffset, GLint yoffset, - GLint zoffset, GLint x, - GLint y, GLsizei width, - GLsizei height); -GL_APICALL void (*GL_APIENTRY glCompressedTexImage3D)( - GLenum target, GLint level, GLenum internalformat, GLsizei width, - GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, - const GLvoid* data); -GL_APICALL void (*GL_APIENTRY glCompressedTexSubImage3D)( - GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, - GLsizei width, GLsizei height, GLsizei depth, GLenum format, - GLsizei imageSize, const GLvoid* data); -GL_APICALL void (*GL_APIENTRY glGenQueries)(GLsizei n, GLuint* ids); -GL_APICALL void (*GL_APIENTRY glDeleteQueries)(GLsizei n, const GLuint* ids); -GL_APICALL GLboolean (*GL_APIENTRY glIsQuery)(GLuint id); -GL_APICALL void (*GL_APIENTRY glBeginQuery)(GLenum target, GLuint id); -GL_APICALL void (*GL_APIENTRY glEndQuery)(GLenum target); -GL_APICALL void (*GL_APIENTRY glGetQueryiv)(GLenum target, GLenum pname, - GLint* params); -GL_APICALL void (*GL_APIENTRY glGetQueryObjectuiv)(GLuint id, GLenum pname, - GLuint* params); -GL_APICALL GLboolean (*GL_APIENTRY glUnmapBuffer)(GLenum target); -GL_APICALL void (*GL_APIENTRY glGetBufferPointerv)(GLenum target, GLenum pname, - GLvoid** params); -GL_APICALL void (*GL_APIENTRY glDrawBuffers)(GLsizei n, const GLenum* bufs); -GL_APICALL void (*GL_APIENTRY glUniformMatrix2x3fv)(GLint location, - GLsizei count, - GLboolean transpose, - const GLfloat* value); -GL_APICALL void (*GL_APIENTRY glUniformMatrix3x2fv)(GLint location, - GLsizei count, - GLboolean transpose, - const GLfloat* value); -GL_APICALL void (*GL_APIENTRY glUniformMatrix2x4fv)(GLint location, - GLsizei count, - GLboolean transpose, - const GLfloat* value); -GL_APICALL void (*GL_APIENTRY glUniformMatrix4x2fv)(GLint location, - GLsizei count, - GLboolean transpose, - const GLfloat* value); -GL_APICALL void (*GL_APIENTRY glUniformMatrix3x4fv)(GLint location, - GLsizei count, - GLboolean transpose, - const GLfloat* value); -GL_APICALL void (*GL_APIENTRY glUniformMatrix4x3fv)(GLint location, - GLsizei count, - GLboolean transpose, - const GLfloat* value); -GL_APICALL void (*GL_APIENTRY glBlitFramebuffer)( - GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, - GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); -GL_APICALL void (*GL_APIENTRY glRenderbufferStorageMultisample)( - GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, - GLsizei height); -GL_APICALL void (*GL_APIENTRY glFramebufferTextureLayer)( - GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); -GL_APICALL GLvoid* (*GL_APIENTRY glMapBufferRange)(GLenum target, - GLintptr offset, - GLsizeiptr length, - GLbitfield access); -GL_APICALL void (*GL_APIENTRY glFlushMappedBufferRange)(GLenum target, - GLintptr offset, - GLsizeiptr length); -GL_APICALL void (*GL_APIENTRY glBindVertexArray)(GLuint array); -GL_APICALL void (*GL_APIENTRY glDeleteVertexArrays)(GLsizei n, - const GLuint* arrays); -GL_APICALL void (*GL_APIENTRY glGenVertexArrays)(GLsizei n, GLuint* arrays); -GL_APICALL GLboolean (*GL_APIENTRY glIsVertexArray)(GLuint array); -GL_APICALL void (*GL_APIENTRY glGetIntegeri_v)(GLenum target, GLuint index, - GLint* data); -GL_APICALL void (*GL_APIENTRY glBeginTransformFeedback)(GLenum primitiveMode); -GL_APICALL void (*GL_APIENTRY glEndTransformFeedback)(void); -GL_APICALL void (*GL_APIENTRY glBindBufferRange)(GLenum target, GLuint index, - GLuint buffer, GLintptr offset, - GLsizeiptr size); -GL_APICALL void (*GL_APIENTRY glBindBufferBase)(GLenum target, GLuint index, - GLuint buffer); -GL_APICALL void (*GL_APIENTRY glTransformFeedbackVaryings)( - GLuint program, GLsizei count, const GLchar* const* varyings, - GLenum bufferMode); -GL_APICALL void (*GL_APIENTRY glGetTransformFeedbackVarying)( - GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, - GLsizei* size, GLenum* type, GLchar* name); -GL_APICALL void (*GL_APIENTRY glVertexAttribIPointer)(GLuint index, GLint size, - GLenum type, - GLsizei stride, - const GLvoid* pointer); -GL_APICALL void (*GL_APIENTRY glGetVertexAttribIiv)(GLuint index, GLenum pname, - GLint* params); -GL_APICALL void (*GL_APIENTRY glGetVertexAttribIuiv)(GLuint index, GLenum pname, - GLuint* params); -GL_APICALL void (*GL_APIENTRY glVertexAttribI4i)(GLuint index, GLint x, GLint y, - GLint z, GLint w); -GL_APICALL void (*GL_APIENTRY glVertexAttribI4ui)(GLuint index, GLuint x, - GLuint y, GLuint z, GLuint w); -GL_APICALL void (*GL_APIENTRY glVertexAttribI4iv)(GLuint index, const GLint* v); -GL_APICALL void (*GL_APIENTRY glVertexAttribI4uiv)(GLuint index, - const GLuint* v); -GL_APICALL void (*GL_APIENTRY glGetUniformuiv)(GLuint program, GLint location, - GLuint* params); -GL_APICALL GLint (*GL_APIENTRY glGetFragDataLocation)(GLuint program, - const GLchar* name); -GL_APICALL void (*GL_APIENTRY glUniform1ui)(GLint location, GLuint v0); -GL_APICALL void (*GL_APIENTRY glUniform2ui)(GLint location, GLuint v0, - GLuint v1); -GL_APICALL void (*GL_APIENTRY glUniform3ui)(GLint location, GLuint v0, - GLuint v1, GLuint v2); -GL_APICALL void (*GL_APIENTRY glUniform4ui)(GLint location, GLuint v0, - GLuint v1, GLuint v2, GLuint v3); -GL_APICALL void (*GL_APIENTRY glUniform1uiv)(GLint location, GLsizei count, - const GLuint* value); -GL_APICALL void (*GL_APIENTRY glUniform2uiv)(GLint location, GLsizei count, - const GLuint* value); -GL_APICALL void (*GL_APIENTRY glUniform3uiv)(GLint location, GLsizei count, - const GLuint* value); -GL_APICALL void (*GL_APIENTRY glUniform4uiv)(GLint location, GLsizei count, - const GLuint* value); -GL_APICALL void (*GL_APIENTRY glClearBufferiv)(GLenum buffer, GLint drawbuffer, - const GLint* value); -GL_APICALL void (*GL_APIENTRY glClearBufferuiv)(GLenum buffer, GLint drawbuffer, - const GLuint* value); -GL_APICALL void (*GL_APIENTRY glClearBufferfv)(GLenum buffer, GLint drawbuffer, - const GLfloat* value); -GL_APICALL void (*GL_APIENTRY glClearBufferfi)(GLenum buffer, GLint drawbuffer, - GLfloat depth, GLint stencil); -GL_APICALL const GLubyte* (*GL_APIENTRY glGetStringi)(GLenum name, - GLuint index); -GL_APICALL void (*GL_APIENTRY glCopyBufferSubData)(GLenum readTarget, - GLenum writeTarget, - GLintptr readOffset, - GLintptr writeOffset, - GLsizeiptr size); -GL_APICALL void (*GL_APIENTRY glGetUniformIndices)( - GLuint program, GLsizei uniformCount, const GLchar* const* uniformNames, - GLuint* uniformIndices); -GL_APICALL void (*GL_APIENTRY glGetActiveUniformsiv)( - GLuint program, GLsizei uniformCount, const GLuint* uniformIndices, - GLenum pname, GLint* params); -GL_APICALL GLuint (*GL_APIENTRY glGetUniformBlockIndex)( - GLuint program, const GLchar* uniformBlockName); -GL_APICALL void (*GL_APIENTRY glGetActiveUniformBlockiv)( - GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint* params); -GL_APICALL void (*GL_APIENTRY glGetActiveUniformBlockName)( - GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, - GLchar* uniformBlockName); -GL_APICALL void (*GL_APIENTRY glUniformBlockBinding)( - GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding); -GL_APICALL void (*GL_APIENTRY glDrawArraysInstanced)(GLenum mode, GLint first, - GLsizei count, - GLsizei instanceCount); -GL_APICALL void (*GL_APIENTRY glDrawElementsInstanced)(GLenum mode, - GLsizei count, - GLenum type, - const GLvoid* indices, - GLsizei instanceCount); -GL_APICALL GLsync (*GL_APIENTRY glFenceSync)(GLenum condition, - GLbitfield flags); -GL_APICALL GLboolean (*GL_APIENTRY glIsSync)(GLsync sync); -GL_APICALL void (*GL_APIENTRY glDeleteSync)(GLsync sync); -GL_APICALL GLenum (*GL_APIENTRY glClientWaitSync)(GLsync sync, GLbitfield flags, - GLuint64 timeout); -GL_APICALL void (*GL_APIENTRY glWaitSync)(GLsync sync, GLbitfield flags, - GLuint64 timeout); -GL_APICALL void (*GL_APIENTRY glGetInteger64v)(GLenum pname, GLint64* params); -GL_APICALL void (*GL_APIENTRY glGetSynciv)(GLsync sync, GLenum pname, - GLsizei bufSize, GLsizei* length, - GLint* values); -GL_APICALL void (*GL_APIENTRY glGetInteger64i_v)(GLenum target, GLuint index, - GLint64* data); -GL_APICALL void (*GL_APIENTRY glGetBufferParameteri64v)(GLenum target, - GLenum pname, - GLint64* params); -GL_APICALL void (*GL_APIENTRY glGenSamplers)(GLsizei count, GLuint* samplers); -GL_APICALL void (*GL_APIENTRY glDeleteSamplers)(GLsizei count, - const GLuint* samplers); -GL_APICALL GLboolean (*GL_APIENTRY glIsSampler)(GLuint sampler); -GL_APICALL void (*GL_APIENTRY glBindSampler)(GLuint unit, GLuint sampler); -GL_APICALL void (*GL_APIENTRY glSamplerParameteri)(GLuint sampler, GLenum pname, - GLint param); -GL_APICALL void (*GL_APIENTRY glSamplerParameteriv)(GLuint sampler, - GLenum pname, - const GLint* param); -GL_APICALL void (*GL_APIENTRY glSamplerParameterf)(GLuint sampler, GLenum pname, - GLfloat param); -GL_APICALL void (*GL_APIENTRY glSamplerParameterfv)(GLuint sampler, - GLenum pname, - const GLfloat* param); -GL_APICALL void (*GL_APIENTRY glGetSamplerParameteriv)(GLuint sampler, - GLenum pname, - GLint* params); -GL_APICALL void (*GL_APIENTRY glGetSamplerParameterfv)(GLuint sampler, - GLenum pname, - GLfloat* params); -GL_APICALL void (*GL_APIENTRY glVertexAttribDivisor)(GLuint index, - GLuint divisor); -GL_APICALL void (*GL_APIENTRY glBindTransformFeedback)(GLenum target, - GLuint id); -GL_APICALL void (*GL_APIENTRY glDeleteTransformFeedbacks)(GLsizei n, - const GLuint* ids); -GL_APICALL void (*GL_APIENTRY glGenTransformFeedbacks)(GLsizei n, GLuint* ids); -GL_APICALL GLboolean (*GL_APIENTRY glIsTransformFeedback)(GLuint id); -GL_APICALL void (*GL_APIENTRY glPauseTransformFeedback)(void); -GL_APICALL void (*GL_APIENTRY glResumeTransformFeedback)(void); -GL_APICALL void (*GL_APIENTRY glGetProgramBinary)(GLuint program, - GLsizei bufSize, - GLsizei* length, - GLenum* binaryFormat, - GLvoid* binary); -GL_APICALL void (*GL_APIENTRY glProgramBinary)(GLuint program, - GLenum binaryFormat, - const GLvoid* binary, - GLsizei length); -GL_APICALL void (*GL_APIENTRY glProgramParameteri)(GLuint program, GLenum pname, - GLint value); -GL_APICALL void (*GL_APIENTRY glInvalidateFramebuffer)( - GLenum target, GLsizei numAttachments, const GLenum* attachments); -GL_APICALL void (*GL_APIENTRY glInvalidateSubFramebuffer)( - GLenum target, GLsizei numAttachments, const GLenum* attachments, GLint x, - GLint y, GLsizei width, GLsizei height); -GL_APICALL void (*GL_APIENTRY glTexStorage2D)(GLenum target, GLsizei levels, - GLenum internalformat, - GLsizei width, GLsizei height); -GL_APICALL void (*GL_APIENTRY glTexStorage3D)(GLenum target, GLsizei levels, - GLenum internalformat, - GLsizei width, GLsizei height, - GLsizei depth); -GL_APICALL void (*GL_APIENTRY glGetInternalformativ)(GLenum target, - GLenum internalformat, - GLenum pname, - GLsizei bufSize, - GLint* params); diff --git a/src/third_party/android/gl3stub.h b/src/third_party/android/gl3stub.h deleted file mode 100644 index 4d28853..0000000 --- a/src/third_party/android/gl3stub.h +++ /dev/null @@ -1,661 +0,0 @@ -#ifndef __gl3_h_ -#define __gl3_h_ - -/* - * stub gl3.h for dynamic loading, based on: - * gl3.h last updated on $Date: 2013-02-12 14:37:24 -0800 (Tue, 12 Feb 2013) $ - * - * Changes: - * - Added #include - * - Removed duplicate OpenGL ES 2.0 declarations - * - Converted OpenGL ES 3.0 function prototypes to function pointer - * declarations - * - Added gl3stubInit() declaration - */ - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* - ** Copyright (c) 2007-2013 The Khronos Group Inc. - ** - ** Permission is hereby granted, free of charge, to any person obtaining a - ** copy of this software and/or associated documentation files (the - ** "Materials"), to deal in the Materials without restriction, including - ** without limitation the rights to use, copy, modify, merge, publish, - ** distribute, sublicense, and/or sell copies of the Materials, and to - ** permit persons to whom the Materials are furnished to do so, subject to - ** the following conditions: - ** - ** The above copyright notice and this permission notice shall be included - ** in all copies or substantial portions of the Materials. - ** - ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. - */ - -/* - * This files is for apps that want to use ES3 if present, - * but continue to work on pre-API-18 devices. They can't just link to -lGLESv3 - *since - * that library doesn't exist on pre-API-18 devices. - * The function dynamically check if OpenGLES3.0 APIs are present and fill in if - *there are. - * Also the header defines some extra variables for OpenGLES3.0. - * - */ - -/* Call this function before calling any OpenGL ES 3.0 functions. It will - * return GL_TRUE if the OpenGL ES 3.0 was successfully initialized, GL_FALSE - * otherwise. */ -GLboolean gl3stubInit(); - -/*------------------------------------------------------------------------- - * Data type definitions - *-----------------------------------------------------------------------*/ - -/* OpenGL ES 3.0 */ - -typedef unsigned short GLhalf; -#if __ANDROID_API__ <= 19 -typedef khronos_int64_t GLint64; -typedef khronos_uint64_t GLuint64; -typedef struct __GLsync* GLsync; -#endif - -/*------------------------------------------------------------------------- - * Token definitions - *-----------------------------------------------------------------------*/ - -/* OpenGL ES core versions */ -#define GL_ES_VERSION_3_0 1 - -/* OpenGL ES 3.0 */ - -#define GL_READ_BUFFER 0x0C02 -#define GL_UNPACK_ROW_LENGTH 0x0CF2 -#define GL_UNPACK_SKIP_ROWS 0x0CF3 -#define GL_UNPACK_SKIP_PIXELS 0x0CF4 -#define GL_PACK_ROW_LENGTH 0x0D02 -#define GL_PACK_SKIP_ROWS 0x0D03 -#define GL_PACK_SKIP_PIXELS 0x0D04 -#define GL_COLOR 0x1800 -#define GL_DEPTH 0x1801 -#define GL_STENCIL 0x1802 -#define GL_RED 0x1903 -#define GL_RGB8 0x8051 -#define GL_RGBA8 0x8058 -#define GL_RGB10_A2 0x8059 -#define GL_TEXTURE_BINDING_3D 0x806A -#define GL_UNPACK_SKIP_IMAGES 0x806D -#define GL_UNPACK_IMAGE_HEIGHT 0x806E -#define GL_TEXTURE_3D 0x806F -#define GL_TEXTURE_WRAP_R 0x8072 -#define GL_MAX_3D_TEXTURE_SIZE 0x8073 -#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368 -#define GL_MAX_ELEMENTS_VERTICES 0x80E8 -#define GL_MAX_ELEMENTS_INDICES 0x80E9 -#define GL_TEXTURE_MIN_LOD 0x813A -#define GL_TEXTURE_MAX_LOD 0x813B -#define GL_TEXTURE_BASE_LEVEL 0x813C -#define GL_TEXTURE_MAX_LEVEL 0x813D -#define GL_MIN 0x8007 -#define GL_MAX 0x8008 -#define GL_DEPTH_COMPONENT24 0x81A6 -#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD -#define GL_TEXTURE_COMPARE_MODE 0x884C -#define GL_TEXTURE_COMPARE_FUNC 0x884D -#define GL_CURRENT_QUERY 0x8865 -#define GL_QUERY_RESULT 0x8866 -#define GL_QUERY_RESULT_AVAILABLE 0x8867 -#define GL_BUFFER_MAPPED 0x88BC -#define GL_BUFFER_MAP_POINTER 0x88BD -#define GL_STREAM_READ 0x88E1 -#define GL_STREAM_COPY 0x88E2 -#define GL_STATIC_READ 0x88E5 -#define GL_STATIC_COPY 0x88E6 -#define GL_DYNAMIC_READ 0x88E9 -#define GL_DYNAMIC_COPY 0x88EA -#define GL_MAX_DRAW_BUFFERS 0x8824 -#define GL_DRAW_BUFFER0 0x8825 -#define GL_DRAW_BUFFER1 0x8826 -#define GL_DRAW_BUFFER2 0x8827 -#define GL_DRAW_BUFFER3 0x8828 -#define GL_DRAW_BUFFER4 0x8829 -#define GL_DRAW_BUFFER5 0x882A -#define GL_DRAW_BUFFER6 0x882B -#define GL_DRAW_BUFFER7 0x882C -#define GL_DRAW_BUFFER8 0x882D -#define GL_DRAW_BUFFER9 0x882E -#define GL_DRAW_BUFFER10 0x882F -#define GL_DRAW_BUFFER11 0x8830 -#define GL_DRAW_BUFFER12 0x8831 -#define GL_DRAW_BUFFER13 0x8832 -#define GL_DRAW_BUFFER14 0x8833 -#define GL_DRAW_BUFFER15 0x8834 -#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49 -#define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A -#define GL_SAMPLER_3D 0x8B5F -#define GL_SAMPLER_2D_SHADOW 0x8B62 -#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B -#define GL_PIXEL_PACK_BUFFER 0x88EB -#define GL_PIXEL_UNPACK_BUFFER 0x88EC -#define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED -#define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF -#define GL_FLOAT_MAT2x3 0x8B65 -#define GL_FLOAT_MAT2x4 0x8B66 -#define GL_FLOAT_MAT3x2 0x8B67 -#define GL_FLOAT_MAT3x4 0x8B68 -#define GL_FLOAT_MAT4x2 0x8B69 -#define GL_FLOAT_MAT4x3 0x8B6A -#define GL_SRGB 0x8C40 -#define GL_SRGB8 0x8C41 -#define GL_SRGB8_ALPHA8 0x8C43 -#define GL_COMPARE_REF_TO_TEXTURE 0x884E -#define GL_MAJOR_VERSION 0x821B -#define GL_MINOR_VERSION 0x821C -#define GL_NUM_EXTENSIONS 0x821D -#define GL_RGBA32F 0x8814 -#define GL_RGB32F 0x8815 -#define GL_RGBA16F 0x881A -#define GL_RGB16F 0x881B -#define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD -#define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF -#define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904 -#define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905 -#define GL_MAX_VARYING_COMPONENTS 0x8B4B -#define GL_TEXTURE_2D_ARRAY 0x8C1A -#define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D -#define GL_R11F_G11F_B10F 0x8C3A -#define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B -#define GL_RGB9_E5 0x8C3D -#define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E -#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76 -#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F -#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80 -#define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83 -#define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84 -#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85 -#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88 -#define GL_RASTERIZER_DISCARD 0x8C89 -#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A -#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B -#define GL_INTERLEAVED_ATTRIBS 0x8C8C -#define GL_SEPARATE_ATTRIBS 0x8C8D -#define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E -#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F -#define GL_RGBA32UI 0x8D70 -#define GL_RGB32UI 0x8D71 -#define GL_RGBA16UI 0x8D76 -#define GL_RGB16UI 0x8D77 -#define GL_RGBA8UI 0x8D7C -#define GL_RGB8UI 0x8D7D -#define GL_RGBA32I 0x8D82 -#define GL_RGB32I 0x8D83 -#define GL_RGBA16I 0x8D88 -#define GL_RGB16I 0x8D89 -#define GL_RGBA8I 0x8D8E -#define GL_RGB8I 0x8D8F -#define GL_RED_INTEGER 0x8D94 -#define GL_RGB_INTEGER 0x8D98 -#define GL_RGBA_INTEGER 0x8D99 -#define GL_SAMPLER_2D_ARRAY 0x8DC1 -#define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4 -#define GL_SAMPLER_CUBE_SHADOW 0x8DC5 -#define GL_UNSIGNED_INT_VEC2 0x8DC6 -#define GL_UNSIGNED_INT_VEC3 0x8DC7 -#define GL_UNSIGNED_INT_VEC4 0x8DC8 -#define GL_INT_SAMPLER_2D 0x8DCA -#define GL_INT_SAMPLER_3D 0x8DCB -#define GL_INT_SAMPLER_CUBE 0x8DCC -#define GL_INT_SAMPLER_2D_ARRAY 0x8DCF -#define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2 -#define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3 -#define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4 -#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7 -#define GL_BUFFER_ACCESS_FLAGS 0x911F -#define GL_BUFFER_MAP_LENGTH 0x9120 -#define GL_BUFFER_MAP_OFFSET 0x9121 -#define GL_DEPTH_COMPONENT32F 0x8CAC -#define GL_DEPTH32F_STENCIL8 0x8CAD -#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD -#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210 -#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211 -#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212 -#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213 -#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214 -#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215 -#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216 -#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217 -#define GL_FRAMEBUFFER_DEFAULT 0x8218 -#define GL_FRAMEBUFFER_UNDEFINED 0x8219 -#define GL_DEPTH_STENCIL_ATTACHMENT 0x821A -#define GL_DEPTH_STENCIL 0x84F9 -#define GL_UNSIGNED_INT_24_8 0x84FA -#define GL_DEPTH24_STENCIL8 0x88F0 -#define GL_UNSIGNED_NORMALIZED 0x8C17 -#define GL_DRAW_FRAMEBUFFER_BINDING GL_FRAMEBUFFER_BINDING -#define GL_READ_FRAMEBUFFER 0x8CA8 -#define GL_DRAW_FRAMEBUFFER 0x8CA9 -#define GL_READ_FRAMEBUFFER_BINDING 0x8CAA -#define GL_RENDERBUFFER_SAMPLES 0x8CAB -#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4 -#define GL_MAX_COLOR_ATTACHMENTS 0x8CDF -#define GL_COLOR_ATTACHMENT1 0x8CE1 -#define GL_COLOR_ATTACHMENT2 0x8CE2 -#define GL_COLOR_ATTACHMENT3 0x8CE3 -#define GL_COLOR_ATTACHMENT4 0x8CE4 -#define GL_COLOR_ATTACHMENT5 0x8CE5 -#define GL_COLOR_ATTACHMENT6 0x8CE6 -#define GL_COLOR_ATTACHMENT7 0x8CE7 -#define GL_COLOR_ATTACHMENT8 0x8CE8 -#define GL_COLOR_ATTACHMENT9 0x8CE9 -#define GL_COLOR_ATTACHMENT10 0x8CEA -#define GL_COLOR_ATTACHMENT11 0x8CEB -#define GL_COLOR_ATTACHMENT12 0x8CEC -#define GL_COLOR_ATTACHMENT13 0x8CED -#define GL_COLOR_ATTACHMENT14 0x8CEE -#define GL_COLOR_ATTACHMENT15 0x8CEF -#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56 -#define GL_MAX_SAMPLES 0x8D57 -#define GL_HALF_FLOAT 0x140B -#define GL_MAP_READ_BIT 0x0001 -#define GL_MAP_WRITE_BIT 0x0002 -#define GL_MAP_INVALIDATE_RANGE_BIT 0x0004 -#define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008 -#define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010 -#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020 -#define GL_RG 0x8227 -#define GL_RG_INTEGER 0x8228 -#define GL_R8 0x8229 -#define GL_RG8 0x822B -#define GL_R16F 0x822D -#define GL_R32F 0x822E -#define GL_RG16F 0x822F -#define GL_RG32F 0x8230 -#define GL_R8I 0x8231 -#define GL_R8UI 0x8232 -#define GL_R16I 0x8233 -#define GL_R16UI 0x8234 -#define GL_R32I 0x8235 -#define GL_R32UI 0x8236 -#define GL_RG8I 0x8237 -#define GL_RG8UI 0x8238 -#define GL_RG16I 0x8239 -#define GL_RG16UI 0x823A -#define GL_RG32I 0x823B -#define GL_RG32UI 0x823C -#define GL_VERTEX_ARRAY_BINDING 0x85B5 -#define GL_R8_SNORM 0x8F94 -#define GL_RG8_SNORM 0x8F95 -#define GL_RGB8_SNORM 0x8F96 -#define GL_RGBA8_SNORM 0x8F97 -#define GL_SIGNED_NORMALIZED 0x8F9C -#define GL_PRIMITIVE_RESTART_FIXED_INDEX 0x8D69 -#define GL_COPY_READ_BUFFER 0x8F36 -#define GL_COPY_WRITE_BUFFER 0x8F37 -#define GL_COPY_READ_BUFFER_BINDING GL_COPY_READ_BUFFER -#define GL_COPY_WRITE_BUFFER_BINDING GL_COPY_WRITE_BUFFER -#define GL_UNIFORM_BUFFER 0x8A11 -#define GL_UNIFORM_BUFFER_BINDING 0x8A28 -#define GL_UNIFORM_BUFFER_START 0x8A29 -#define GL_UNIFORM_BUFFER_SIZE 0x8A2A -#define GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B -#define GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D -#define GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E -#define GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F -#define GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30 -#define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31 -#define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33 -#define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34 -#define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35 -#define GL_ACTIVE_UNIFORM_BLOCKS 0x8A36 -#define GL_UNIFORM_TYPE 0x8A37 -#define GL_UNIFORM_SIZE 0x8A38 -#define GL_UNIFORM_NAME_LENGTH 0x8A39 -#define GL_UNIFORM_BLOCK_INDEX 0x8A3A -#define GL_UNIFORM_OFFSET 0x8A3B -#define GL_UNIFORM_ARRAY_STRIDE 0x8A3C -#define GL_UNIFORM_MATRIX_STRIDE 0x8A3D -#define GL_UNIFORM_IS_ROW_MAJOR 0x8A3E -#define GL_UNIFORM_BLOCK_BINDING 0x8A3F -#define GL_UNIFORM_BLOCK_DATA_SIZE 0x8A40 -#define GL_UNIFORM_BLOCK_NAME_LENGTH 0x8A41 -#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42 -#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43 -#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44 -#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46 -#define GL_INVALID_INDEX 0xFFFFFFFFu -#define GL_MAX_VERTEX_OUTPUT_COMPONENTS 0x9122 -#define GL_MAX_FRAGMENT_INPUT_COMPONENTS 0x9125 -#define GL_MAX_SERVER_WAIT_TIMEOUT 0x9111 -#define GL_OBJECT_TYPE 0x9112 -#define GL_SYNC_CONDITION 0x9113 -#define GL_SYNC_STATUS 0x9114 -#define GL_SYNC_FLAGS 0x9115 -#define GL_SYNC_FENCE 0x9116 -#define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117 -#define GL_UNSIGNALED 0x9118 -#define GL_SIGNALED 0x9119 -#define GL_ALREADY_SIGNALED 0x911A -#define GL_TIMEOUT_EXPIRED 0x911B -#define GL_CONDITION_SATISFIED 0x911C -#define GL_WAIT_FAILED 0x911D -#define GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001 -#define GL_TIMEOUT_IGNORED 0xFFFFFFFFFFFFFFFFull -#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE -#define GL_ANY_SAMPLES_PASSED 0x8C2F -#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE 0x8D6A -#define GL_SAMPLER_BINDING 0x8919 -#define GL_RGB10_A2UI 0x906F -#define GL_TEXTURE_SWIZZLE_R 0x8E42 -#define GL_TEXTURE_SWIZZLE_G 0x8E43 -#define GL_TEXTURE_SWIZZLE_B 0x8E44 -#define GL_TEXTURE_SWIZZLE_A 0x8E45 -#define GL_GREEN 0x1904 -#define GL_BLUE 0x1905 -#define GL_INT_2_10_10_10_REV 0x8D9F -#define GL_TRANSFORM_FEEDBACK 0x8E22 -#define GL_TRANSFORM_FEEDBACK_PAUSED 0x8E23 -#define GL_TRANSFORM_FEEDBACK_ACTIVE 0x8E24 -#define GL_TRANSFORM_FEEDBACK_BINDING 0x8E25 -#define GL_PROGRAM_BINARY_RETRIEVABLE_HINT 0x8257 -#define GL_PROGRAM_BINARY_LENGTH 0x8741 -#define GL_NUM_PROGRAM_BINARY_FORMATS 0x87FE -#define GL_PROGRAM_BINARY_FORMATS 0x87FF -#define GL_COMPRESSED_R11_EAC 0x9270 -#define GL_COMPRESSED_SIGNED_R11_EAC 0x9271 -#define GL_COMPRESSED_RG11_EAC 0x9272 -#define GL_COMPRESSED_SIGNED_RG11_EAC 0x9273 -#define GL_COMPRESSED_RGB8_ETC2 0x9274 -#define GL_COMPRESSED_SRGB8_ETC2 0x9275 -#define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9276 -#define GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9277 -#define GL_COMPRESSED_RGBA8_ETC2_EAC 0x9278 -#define GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC 0x9279 -#define GL_TEXTURE_IMMUTABLE_FORMAT 0x912F -#define GL_MAX_ELEMENT_INDEX 0x8D6B -#define GL_NUM_SAMPLE_COUNTS 0x9380 -#define GL_TEXTURE_IMMUTABLE_LEVELS 0x82DF - -/*------------------------------------------------------------------------- - * Entrypoint definitions - *-----------------------------------------------------------------------*/ - -/* OpenGL ES 3.0 */ - -extern GL_APICALL void (*GL_APIENTRY glReadBuffer)(GLenum mode); -extern GL_APICALL void (*GL_APIENTRY glDrawRangeElements)( - GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, - const GLvoid* indices); -extern GL_APICALL void (*GL_APIENTRY glTexImage3D)( - GLenum target, GLint level, GLint internalformat, GLsizei width, - GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, - const GLvoid* pixels); -extern GL_APICALL void (*GL_APIENTRY glTexSubImage3D)( - GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, - GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, - const GLvoid* pixels); -extern GL_APICALL void (*GL_APIENTRY glCopyTexSubImage3D)( - GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, - GLint x, GLint y, GLsizei width, GLsizei height); -extern GL_APICALL void (*GL_APIENTRY glCompressedTexImage3D)( - GLenum target, GLint level, GLenum internalformat, GLsizei width, - GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, - const GLvoid* data); -extern GL_APICALL void (*GL_APIENTRY glCompressedTexSubImage3D)( - GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, - GLsizei width, GLsizei height, GLsizei depth, GLenum format, - GLsizei imageSize, const GLvoid* data); -extern GL_APICALL void (*GL_APIENTRY glGenQueries)(GLsizei n, GLuint* ids); -extern GL_APICALL void (*GL_APIENTRY glDeleteQueries)(GLsizei n, - const GLuint* ids); -extern GL_APICALL GLboolean (*GL_APIENTRY glIsQuery)(GLuint id); -extern GL_APICALL void (*GL_APIENTRY glBeginQuery)(GLenum target, GLuint id); -extern GL_APICALL void (*GL_APIENTRY glEndQuery)(GLenum target); -extern GL_APICALL void (*GL_APIENTRY glGetQueryiv)(GLenum target, GLenum pname, - GLint* params); -extern GL_APICALL void (*GL_APIENTRY glGetQueryObjectuiv)(GLuint id, - GLenum pname, - GLuint* params); -extern GL_APICALL GLboolean (*GL_APIENTRY glUnmapBuffer)(GLenum target); -extern GL_APICALL void (*GL_APIENTRY glGetBufferPointerv)(GLenum target, - GLenum pname, - GLvoid** params); -extern GL_APICALL void (*GL_APIENTRY glDrawBuffers)(GLsizei n, - const GLenum* bufs); -extern GL_APICALL void (*GL_APIENTRY glUniformMatrix2x3fv)( - GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); -extern GL_APICALL void (*GL_APIENTRY glUniformMatrix3x2fv)( - GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); -extern GL_APICALL void (*GL_APIENTRY glUniformMatrix2x4fv)( - GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); -extern GL_APICALL void (*GL_APIENTRY glUniformMatrix4x2fv)( - GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); -extern GL_APICALL void (*GL_APIENTRY glUniformMatrix3x4fv)( - GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); -extern GL_APICALL void (*GL_APIENTRY glUniformMatrix4x3fv)( - GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); -extern GL_APICALL void (*GL_APIENTRY glBlitFramebuffer)( - GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, - GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); -extern GL_APICALL void (*GL_APIENTRY glRenderbufferStorageMultisample)( - GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, - GLsizei height); -extern GL_APICALL void (*GL_APIENTRY glFramebufferTextureLayer)( - GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); -extern GL_APICALL GLvoid* (*GL_APIENTRY glMapBufferRange)(GLenum target, - GLintptr offset, - GLsizeiptr length, - GLbitfield access); -extern GL_APICALL void (*GL_APIENTRY glFlushMappedBufferRange)( - GLenum target, GLintptr offset, GLsizeiptr length); -extern GL_APICALL void (*GL_APIENTRY glBindVertexArray)(GLuint array); -extern GL_APICALL void (*GL_APIENTRY glDeleteVertexArrays)( - GLsizei n, const GLuint* arrays); -extern GL_APICALL void (*GL_APIENTRY glGenVertexArrays)(GLsizei n, - GLuint* arrays); -extern GL_APICALL GLboolean (*GL_APIENTRY glIsVertexArray)(GLuint array); -extern GL_APICALL void (*GL_APIENTRY glGetIntegeri_v)(GLenum target, - GLuint index, - GLint* data); -extern GL_APICALL void (*GL_APIENTRY glBeginTransformFeedback)( - GLenum primitiveMode); -extern GL_APICALL void (*GL_APIENTRY glEndTransformFeedback)(void); -extern GL_APICALL void (*GL_APIENTRY glBindBufferRange)(GLenum target, - GLuint index, - GLuint buffer, - GLintptr offset, - GLsizeiptr size); -extern GL_APICALL void (*GL_APIENTRY glBindBufferBase)(GLenum target, - GLuint index, - GLuint buffer); -extern GL_APICALL void (*GL_APIENTRY glTransformFeedbackVaryings)( - GLuint program, GLsizei count, const GLchar* const* varyings, - GLenum bufferMode); -extern GL_APICALL void (*GL_APIENTRY glGetTransformFeedbackVarying)( - GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, - GLsizei* size, GLenum* type, GLchar* name); -extern GL_APICALL void (*GL_APIENTRY glVertexAttribIPointer)( - GLuint index, GLint size, GLenum type, GLsizei stride, - const GLvoid* pointer); -extern GL_APICALL void (*GL_APIENTRY glGetVertexAttribIiv)(GLuint index, - GLenum pname, - GLint* params); -extern GL_APICALL void (*GL_APIENTRY glGetVertexAttribIuiv)(GLuint index, - GLenum pname, - GLuint* params); -extern GL_APICALL void (*GL_APIENTRY glVertexAttribI4i)(GLuint index, GLint x, - GLint y, GLint z, - GLint w); -extern GL_APICALL void (*GL_APIENTRY glVertexAttribI4ui)(GLuint index, GLuint x, - GLuint y, GLuint z, - GLuint w); -extern GL_APICALL void (*GL_APIENTRY glVertexAttribI4iv)(GLuint index, - const GLint* v); -extern GL_APICALL void (*GL_APIENTRY glVertexAttribI4uiv)(GLuint index, - const GLuint* v); -extern GL_APICALL void (*GL_APIENTRY glGetUniformuiv)(GLuint program, - GLint location, - GLuint* params); -extern GL_APICALL GLint (*GL_APIENTRY glGetFragDataLocation)( - GLuint program, const GLchar* name); -extern GL_APICALL void (*GL_APIENTRY glUniform1ui)(GLint location, GLuint v0); -extern GL_APICALL void (*GL_APIENTRY glUniform2ui)(GLint location, GLuint v0, - GLuint v1); -extern GL_APICALL void (*GL_APIENTRY glUniform3ui)(GLint location, GLuint v0, - GLuint v1, GLuint v2); -extern GL_APICALL void (*GL_APIENTRY glUniform4ui)(GLint location, GLuint v0, - GLuint v1, GLuint v2, - GLuint v3); -extern GL_APICALL void (*GL_APIENTRY glUniform1uiv)(GLint location, - GLsizei count, - const GLuint* value); -extern GL_APICALL void (*GL_APIENTRY glUniform2uiv)(GLint location, - GLsizei count, - const GLuint* value); -extern GL_APICALL void (*GL_APIENTRY glUniform3uiv)(GLint location, - GLsizei count, - const GLuint* value); -extern GL_APICALL void (*GL_APIENTRY glUniform4uiv)(GLint location, - GLsizei count, - const GLuint* value); -extern GL_APICALL void (*GL_APIENTRY glClearBufferiv)(GLenum buffer, - GLint drawbuffer, - const GLint* value); -extern GL_APICALL void (*GL_APIENTRY glClearBufferuiv)(GLenum buffer, - GLint drawbuffer, - const GLuint* value); -extern GL_APICALL void (*GL_APIENTRY glClearBufferfv)(GLenum buffer, - GLint drawbuffer, - const GLfloat* value); -extern GL_APICALL void (*GL_APIENTRY glClearBufferfi)(GLenum buffer, - GLint drawbuffer, - GLfloat depth, - GLint stencil); -extern GL_APICALL const GLubyte* (*GL_APIENTRY glGetStringi)(GLenum name, - GLuint index); -extern GL_APICALL void (*GL_APIENTRY glCopyBufferSubData)(GLenum readTarget, - GLenum writeTarget, - GLintptr readOffset, - GLintptr writeOffset, - GLsizeiptr size); -extern GL_APICALL void (*GL_APIENTRY glGetUniformIndices)( - GLuint program, GLsizei uniformCount, const GLchar* const* uniformNames, - GLuint* uniformIndices); -extern GL_APICALL void (*GL_APIENTRY glGetActiveUniformsiv)( - GLuint program, GLsizei uniformCount, const GLuint* uniformIndices, - GLenum pname, GLint* params); -extern GL_APICALL GLuint (*GL_APIENTRY glGetUniformBlockIndex)( - GLuint program, const GLchar* uniformBlockName); -extern GL_APICALL void (*GL_APIENTRY glGetActiveUniformBlockiv)( - GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint* params); -extern GL_APICALL void (*GL_APIENTRY glGetActiveUniformBlockName)( - GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, - GLchar* uniformBlockName); -extern GL_APICALL void (*GL_APIENTRY glUniformBlockBinding)( - GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding); -extern GL_APICALL void (*GL_APIENTRY glDrawArraysInstanced)( - GLenum mode, GLint first, GLsizei count, GLsizei instanceCount); -extern GL_APICALL void (*GL_APIENTRY glDrawElementsInstanced)( - GLenum mode, GLsizei count, GLenum type, const GLvoid* indices, - GLsizei instanceCount); -extern GL_APICALL GLsync (*GL_APIENTRY glFenceSync)(GLenum condition, - GLbitfield flags); -extern GL_APICALL GLboolean (*GL_APIENTRY glIsSync)(GLsync sync); -extern GL_APICALL void (*GL_APIENTRY glDeleteSync)(GLsync sync); -extern GL_APICALL GLenum (*GL_APIENTRY glClientWaitSync)(GLsync sync, - GLbitfield flags, - GLuint64 timeout); -extern GL_APICALL void (*GL_APIENTRY glWaitSync)(GLsync sync, GLbitfield flags, - GLuint64 timeout); -extern GL_APICALL void (*GL_APIENTRY glGetInteger64v)(GLenum pname, - GLint64* params); -extern GL_APICALL void (*GL_APIENTRY glGetSynciv)(GLsync sync, GLenum pname, - GLsizei bufSize, - GLsizei* length, - GLint* values); -extern GL_APICALL void (*GL_APIENTRY glGetInteger64i_v)(GLenum target, - GLuint index, - GLint64* data); -extern GL_APICALL void (*GL_APIENTRY glGetBufferParameteri64v)(GLenum target, - GLenum pname, - GLint64* params); -extern GL_APICALL void (*GL_APIENTRY glGenSamplers)(GLsizei count, - GLuint* samplers); -extern GL_APICALL void (*GL_APIENTRY glDeleteSamplers)(GLsizei count, - const GLuint* samplers); -extern GL_APICALL GLboolean (*GL_APIENTRY glIsSampler)(GLuint sampler); -extern GL_APICALL void (*GL_APIENTRY glBindSampler)(GLuint unit, - GLuint sampler); -extern GL_APICALL void (*GL_APIENTRY glSamplerParameteri)(GLuint sampler, - GLenum pname, - GLint param); -extern GL_APICALL void (*GL_APIENTRY glSamplerParameteriv)(GLuint sampler, - GLenum pname, - const GLint* param); -extern GL_APICALL void (*GL_APIENTRY glSamplerParameterf)(GLuint sampler, - GLenum pname, - GLfloat param); -extern GL_APICALL void (*GL_APIENTRY glSamplerParameterfv)( - GLuint sampler, GLenum pname, const GLfloat* param); -extern GL_APICALL void (*GL_APIENTRY glGetSamplerParameteriv)(GLuint sampler, - GLenum pname, - GLint* params); -extern GL_APICALL void (*GL_APIENTRY glGetSamplerParameterfv)(GLuint sampler, - GLenum pname, - GLfloat* params); -extern GL_APICALL void (*GL_APIENTRY glVertexAttribDivisor)(GLuint index, - GLuint divisor); -extern GL_APICALL void (*GL_APIENTRY glBindTransformFeedback)(GLenum target, - GLuint id); -extern GL_APICALL void (*GL_APIENTRY glDeleteTransformFeedbacks)( - GLsizei n, const GLuint* ids); -extern GL_APICALL void (*GL_APIENTRY glGenTransformFeedbacks)(GLsizei n, - GLuint* ids); -extern GL_APICALL GLboolean (*GL_APIENTRY glIsTransformFeedback)(GLuint id); -extern GL_APICALL void (*GL_APIENTRY glPauseTransformFeedback)(void); -extern GL_APICALL void (*GL_APIENTRY glResumeTransformFeedback)(void); -extern GL_APICALL void (*GL_APIENTRY glGetProgramBinary)(GLuint program, - GLsizei bufSize, - GLsizei* length, - GLenum* binaryFormat, - GLvoid* binary); -extern GL_APICALL void (*GL_APIENTRY glProgramBinary)(GLuint program, - GLenum binaryFormat, - const GLvoid* binary, - GLsizei length); -extern GL_APICALL void (*GL_APIENTRY glProgramParameteri)(GLuint program, - GLenum pname, - GLint value); -extern GL_APICALL void (*GL_APIENTRY glInvalidateFramebuffer)( - GLenum target, GLsizei numAttachments, const GLenum* attachments); -extern GL_APICALL void (*GL_APIENTRY glInvalidateSubFramebuffer)( - GLenum target, GLsizei numAttachments, const GLenum* attachments, GLint x, - GLint y, GLsizei width, GLsizei height); -extern GL_APICALL void (*GL_APIENTRY glTexStorage2D)(GLenum target, - GLsizei levels, - GLenum internalformat, - GLsizei width, - GLsizei height); -extern GL_APICALL void (*GL_APIENTRY glTexStorage3D)( - GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, - GLsizei height, GLsizei depth); -extern GL_APICALL void (*GL_APIENTRY glGetInternalformativ)( - GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, - GLint* params); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/third_party/glew/BUILD.gn b/src/third_party/glew/BUILD.gn new file mode 100644 index 0000000..ce61371 --- /dev/null +++ b/src/third_party/glew/BUILD.gn @@ -0,0 +1,20 @@ +source_set("glew") { + assert(target_os != "android") + + configs -= [ "//build:warnings" ] + + defines = [ "GLEW_STATIC" ] + + sources = [ + "glew.c", + "glew.h", + ] + + if (target_os == "linux") { + sources += [ "glxew.h" ] + } else if (target_os == "win") { + sources += [ "wglew.h" ] + } + + deps = [] +} diff --git a/src/third_party/glslang/BUILD.gn b/src/third_party/glslang/BUILD.gn new file mode 100644 index 0000000..e3f2507 --- /dev/null +++ b/src/third_party/glslang/BUILD.gn @@ -0,0 +1,119 @@ +config("glslang_public") { + include_dirs = [ "." ] +} + +source_set("glslang") { + configs -= [ "//build:warnings" ] + public_configs = [ ":glslang_public" ] + + sources = [ + "OGLCompilersDLL/InitializeDll.cpp", + "OGLCompilersDLL/InitializeDll.h", + "SPIRV/GLSL.ext.AMD.h", + "SPIRV/GLSL.ext.EXT.h", + "SPIRV/GLSL.ext.KHR.h", + "SPIRV/GLSL.ext.NV.h", + "SPIRV/GLSL.std.450.h", + "SPIRV/GlslangToSpv.cpp", + "SPIRV/GlslangToSpv.h", + "SPIRV/InReadableOrder.cpp", + "SPIRV/Logger.cpp", + "SPIRV/Logger.h", + "SPIRV/NonSemanticDebugPrintf.h", + "SPIRV/NonSemanticShaderDebugInfo100.h", + "SPIRV/SPVRemapper.cpp", + "SPIRV/SPVRemapper.h", + "SPIRV/SpvBuilder.cpp", + "SPIRV/SpvBuilder.h", + "SPIRV/SpvPostProcess.cpp", + "SPIRV/SpvTools.cpp", + "SPIRV/SpvTools.h", + "SPIRV/bitutils.h", + "SPIRV/disassemble.cpp", + "SPIRV/disassemble.h", + "SPIRV/doc.cpp", + "SPIRV/doc.h", + "SPIRV/hex_float.h", + "SPIRV/spirv.hpp", + "SPIRV/spvIR.h", + "glslang/GenericCodeGen/CodeGen.cpp", + "glslang/GenericCodeGen/Link.cpp", + "glslang/Include/BaseTypes.h", + "glslang/Include/Common.h", + "glslang/Include/ConstantUnion.h", + "glslang/Include/InfoSink.h", + "glslang/Include/InitializeGlobals.h", + "glslang/Include/PoolAlloc.h", + "glslang/Include/ResourceLimits.h", + "glslang/Include/ShHandle.h", + "glslang/Include/SpirvIntrinsics.h", + "glslang/Include/Types.h", + "glslang/Include/arrays.h", + "glslang/Include/glslang_c_interface.h", + "glslang/Include/glslang_c_shader_types.h", + "glslang/Include/intermediate.h", + "glslang/MachineIndependent/Constant.cpp", + "glslang/MachineIndependent/InfoSink.cpp", + "glslang/MachineIndependent/Initialize.cpp", + "glslang/MachineIndependent/Initialize.h", + "glslang/MachineIndependent/IntermTraverse.cpp", + "glslang/MachineIndependent/Intermediate.cpp", + "glslang/MachineIndependent/LiveTraverser.h", + "glslang/MachineIndependent/ParseContextBase.cpp", + "glslang/MachineIndependent/ParseHelper.cpp", + "glslang/MachineIndependent/ParseHelper.h", + "glslang/MachineIndependent/PoolAlloc.cpp", + "glslang/MachineIndependent/RemoveTree.cpp", + "glslang/MachineIndependent/RemoveTree.h", + "glslang/MachineIndependent/Scan.cpp", + "glslang/MachineIndependent/Scan.h", + "glslang/MachineIndependent/ScanContext.h", + "glslang/MachineIndependent/ShaderLang.cpp", + "glslang/MachineIndependent/SpirvIntrinsics.cpp", + "glslang/MachineIndependent/SymbolTable.cpp", + "glslang/MachineIndependent/SymbolTable.h", + "glslang/MachineIndependent/Versions.cpp", + "glslang/MachineIndependent/Versions.h", + "glslang/MachineIndependent/attribute.cpp", + "glslang/MachineIndependent/attribute.h", + "glslang/MachineIndependent/gl_types.h", + "glslang/MachineIndependent/glslang_tab.cpp", + "glslang/MachineIndependent/glslang_tab.cpp.h", + "glslang/MachineIndependent/intermOut.cpp", + "glslang/MachineIndependent/iomapper.cpp", + "glslang/MachineIndependent/iomapper.h", + "glslang/MachineIndependent/limits.cpp", + "glslang/MachineIndependent/linkValidate.cpp", + "glslang/MachineIndependent/localintermediate.h", + "glslang/MachineIndependent/parseConst.cpp", + "glslang/MachineIndependent/parseVersions.h", + "glslang/MachineIndependent/pch.h", + "glslang/MachineIndependent/preprocessor/Pp.cpp", + "glslang/MachineIndependent/preprocessor/PpAtom.cpp", + "glslang/MachineIndependent/preprocessor/PpContext.cpp", + "glslang/MachineIndependent/preprocessor/PpContext.h", + "glslang/MachineIndependent/preprocessor/PpScanner.cpp", + "glslang/MachineIndependent/preprocessor/PpTokens.cpp", + "glslang/MachineIndependent/preprocessor/PpTokens.h", + "glslang/MachineIndependent/propagateNoContraction.cpp", + "glslang/MachineIndependent/propagateNoContraction.h", + "glslang/MachineIndependent/reflection.cpp", + "glslang/MachineIndependent/reflection.h", + "glslang/OSDependent/osinclude.h", + "glslang/Public/ShaderLang.h", + "glslang/build_info.h", + ] + + cflags = [] + + if (target_os == "linux") { + sources += [ "glslang/OSDependent/Unix/ossource.cpp" ] + } else if (target_os == "win") { + sources += [ "glslang/OSDependent/Windows/ossource.cpp" ] + } else if (target_os == "android") { + sources += [ "glslang/OSDependent/Unix/ossource.cpp" ] + cflags += [ "-Wno-deprecated-enum-enum-conversion" ] + } + + deps = [] +} diff --git a/src/third_party/jsoncpp/BUILD.gn b/src/third_party/jsoncpp/BUILD.gn new file mode 100644 index 0000000..f0f31bf --- /dev/null +++ b/src/third_party/jsoncpp/BUILD.gn @@ -0,0 +1,11 @@ +source_set("jsoncpp") { + configs -= [ "//build:warnings" ] + + sources = [ + "json-forwards.h", + "json.h", + "jsoncpp.cpp", + ] + + deps = [] +} diff --git a/src/third_party/minimp3/BUILD.gn b/src/third_party/minimp3/BUILD.gn new file mode 100644 index 0000000..393c209 --- /dev/null +++ b/src/third_party/minimp3/BUILD.gn @@ -0,0 +1,11 @@ +source_set("minimp3") { + configs -= [ "//build:warnings" ] + + sources = [ + "minimp3.cc", + "minimp3.h", + "minimp3_ex.h", + ] + + deps = [] +} diff --git a/src/third_party/minizip/BUILD.gn b/src/third_party/minizip/BUILD.gn new file mode 100644 index 0000000..672c39e --- /dev/null +++ b/src/third_party/minizip/BUILD.gn @@ -0,0 +1,12 @@ +source_set("minizip") { + configs -= [ "//build:warnings" ] + + sources = [ + "ioapi.c", + "ioapi.h", + "unzip.c", + "unzip.h", + ] + + deps = [] +} diff --git a/src/third_party/oboe/BUILD.gn b/src/third_party/oboe/BUILD.gn new file mode 100644 index 0000000..3b882fb --- /dev/null +++ b/src/third_party/oboe/BUILD.gn @@ -0,0 +1,146 @@ +config("oboe_public") { + include_dirs = [ "include" ] +} + +source_set("oboe") { + assert(target_os == "android") + + configs -= [ "//build:warnings" ] + public_configs = [ ":oboe_public" ] + + sources = [ + "include/oboe/AudioStream.h", + "include/oboe/AudioStreamBase.h", + "include/oboe/AudioStreamBuilder.h", + "include/oboe/AudioStreamCallback.h", + "include/oboe/Definitions.h", + "include/oboe/FifoBuffer.h", + "include/oboe/FifoControllerBase.h", + "include/oboe/LatencyTuner.h", + "include/oboe/Oboe.h", + "include/oboe/OboeExtensions.h", + "include/oboe/ResultWithValue.h", + "include/oboe/StabilizedCallback.h", + "include/oboe/Utilities.h", + "include/oboe/Version.h", + "src/aaudio/AAudioExtensions.h", + "src/aaudio/AAudioLoader.cpp", + "src/aaudio/AAudioLoader.h", + "src/aaudio/AudioStreamAAudio.cpp", + "src/aaudio/AudioStreamAAudio.h", + "src/common/AudioClock.h", + "src/common/AudioSourceCaller.cpp", + "src/common/AudioSourceCaller.h", + "src/common/AudioStream.cpp", + "src/common/AudioStreamBuilder.cpp", + "src/common/DataConversionFlowGraph.cpp", + "src/common/DataConversionFlowGraph.h", + "src/common/FilterAudioStream.cpp", + "src/common/FilterAudioStream.h", + "src/common/FixedBlockAdapter.cpp", + "src/common/FixedBlockAdapter.h", + "src/common/FixedBlockReader.cpp", + "src/common/FixedBlockReader.h", + "src/common/FixedBlockWriter.cpp", + "src/common/FixedBlockWriter.h", + "src/common/LatencyTuner.cpp", + "src/common/MonotonicCounter.h", + "src/common/OboeDebug.h", + "src/common/OboeExtensions.cpp", + "src/common/QuirksManager.cpp", + "src/common/QuirksManager.h", + "src/common/SourceFloatCaller.cpp", + "src/common/SourceFloatCaller.h", + "src/common/SourceI16Caller.cpp", + "src/common/SourceI16Caller.h", + "src/common/SourceI24Caller.cpp", + "src/common/SourceI24Caller.h", + "src/common/SourceI32Caller.cpp", + "src/common/SourceI32Caller.h", + "src/common/StabilizedCallback.cpp", + "src/common/Trace.cpp", + "src/common/Trace.h", + "src/common/Utilities.cpp", + "src/common/Version.cpp", + "src/fifo/FifoBuffer.cpp", + "src/fifo/FifoController.cpp", + "src/fifo/FifoController.h", + "src/fifo/FifoControllerBase.cpp", + "src/fifo/FifoControllerIndirect.cpp", + "src/fifo/FifoControllerIndirect.h", + "src/flowgraph/ChannelCountConverter.cpp", + "src/flowgraph/ChannelCountConverter.h", + "src/flowgraph/ClipToRange.cpp", + "src/flowgraph/ClipToRange.h", + "src/flowgraph/FlowGraphNode.cpp", + "src/flowgraph/FlowGraphNode.h", + "src/flowgraph/FlowgraphUtilities.h", + "src/flowgraph/ManyToMultiConverter.cpp", + "src/flowgraph/ManyToMultiConverter.h", + "src/flowgraph/MonoBlend.cpp", + "src/flowgraph/MonoBlend.h", + "src/flowgraph/MonoToMultiConverter.cpp", + "src/flowgraph/MonoToMultiConverter.h", + "src/flowgraph/MultiToManyConverter.cpp", + "src/flowgraph/MultiToManyConverter.h", + "src/flowgraph/MultiToMonoConverter.cpp", + "src/flowgraph/MultiToMonoConverter.h", + "src/flowgraph/RampLinear.cpp", + "src/flowgraph/RampLinear.h", + "src/flowgraph/SampleRateConverter.cpp", + "src/flowgraph/SampleRateConverter.h", + "src/flowgraph/SinkFloat.cpp", + "src/flowgraph/SinkFloat.h", + "src/flowgraph/SinkI16.cpp", + "src/flowgraph/SinkI16.h", + "src/flowgraph/SinkI24.cpp", + "src/flowgraph/SinkI24.h", + "src/flowgraph/SinkI32.cpp", + "src/flowgraph/SinkI32.h", + "src/flowgraph/SourceFloat.cpp", + "src/flowgraph/SourceFloat.h", + "src/flowgraph/SourceI16.cpp", + "src/flowgraph/SourceI16.h", + "src/flowgraph/SourceI24.cpp", + "src/flowgraph/SourceI24.h", + "src/flowgraph/SourceI32.cpp", + "src/flowgraph/SourceI32.h", + "src/flowgraph/resampler/HyperbolicCosineWindow.h", + "src/flowgraph/resampler/IntegerRatio.cpp", + "src/flowgraph/resampler/IntegerRatio.h", + "src/flowgraph/resampler/KaiserWindow.h", + "src/flowgraph/resampler/LinearResampler.cpp", + "src/flowgraph/resampler/LinearResampler.h", + "src/flowgraph/resampler/MultiChannelResampler.cpp", + "src/flowgraph/resampler/MultiChannelResampler.h", + "src/flowgraph/resampler/PolyphaseResampler.cpp", + "src/flowgraph/resampler/PolyphaseResampler.h", + "src/flowgraph/resampler/PolyphaseResamplerMono.cpp", + "src/flowgraph/resampler/PolyphaseResamplerMono.h", + "src/flowgraph/resampler/PolyphaseResamplerStereo.cpp", + "src/flowgraph/resampler/PolyphaseResamplerStereo.h", + "src/flowgraph/resampler/ResamplerDefinitions.h", + "src/flowgraph/resampler/SincResampler.cpp", + "src/flowgraph/resampler/SincResampler.h", + "src/flowgraph/resampler/SincResamplerStereo.cpp", + "src/flowgraph/resampler/SincResamplerStereo.h", + "src/opensles/AudioInputStreamOpenSLES.cpp", + "src/opensles/AudioInputStreamOpenSLES.h", + "src/opensles/AudioOutputStreamOpenSLES.cpp", + "src/opensles/AudioOutputStreamOpenSLES.h", + "src/opensles/AudioStreamBuffered.cpp", + "src/opensles/AudioStreamBuffered.h", + "src/opensles/AudioStreamOpenSLES.cpp", + "src/opensles/AudioStreamOpenSLES.h", + "src/opensles/EngineOpenSLES.cpp", + "src/opensles/EngineOpenSLES.h", + "src/opensles/OpenSLESUtilities.cpp", + "src/opensles/OpenSLESUtilities.h", + "src/opensles/OutputMixerOpenSLES.cpp", + "src/opensles/OutputMixerOpenSLES.h", + ] + + include_dirs = [ "src" ] + libs = [ "OpenSLES" ] + deps = [] +} diff --git a/src/third_party/spirv-reflect/BUILD.gn b/src/third_party/spirv-reflect/BUILD.gn new file mode 100644 index 0000000..efe97e5 --- /dev/null +++ b/src/third_party/spirv-reflect/BUILD.gn @@ -0,0 +1,10 @@ +source_set("spirv-reflect") { + configs -= [ "//build:warnings" ] + + sources = [ + "include/spirv/unified1/spirv.h", + "spirv_reflect.c", + ] + + deps = [] +} diff --git a/src/third_party/stb/BUILD.gn b/src/third_party/stb/BUILD.gn new file mode 100644 index 0000000..1fec50a --- /dev/null +++ b/src/third_party/stb/BUILD.gn @@ -0,0 +1,11 @@ +source_set("stb") { + configs -= [ "//build:warnings" ] + + sources = [ + "stb_image.cc", + "stb_image.h", + "stb_truetype.h", + ] + + deps = [] +} diff --git a/src/third_party/texture_compressor/BUILD.gn b/src/third_party/texture_compressor/BUILD.gn new file mode 100644 index 0000000..14a50b8 --- /dev/null +++ b/src/third_party/texture_compressor/BUILD.gn @@ -0,0 +1,34 @@ +source_set("texture_compressor") { + sources = [ + "dxt_encoder.cc", + "dxt_encoder.h", + "dxt_encoder_implementation_autogen.h", + "dxt_encoder_internals.cc", + "dxt_encoder_internals.h", + "texture_compressor.cc", + "texture_compressor.h", + "texture_compressor_etc1.cc", + "texture_compressor_etc1.h", + ] + + if (target_os == "android" && + (target_cpu == "arm" || target_cpu == "arm64")) { + sources += [ + "dxt_encoder_neon.cc", + "texture_compressor_etc1_neon.cc", + ] + } + + cflags = [] + + if (target_os == "win") { + cflags += [ + "/wd4242", # tmp:conversion from 'int' to 'uint8_t' + ] + } + + deps = [] + if (target_os == "android") { + deps += [ "//src/third_party/android" ] + } +} diff --git a/src/third_party/texture_compressor/texture_compressor.cc b/src/third_party/texture_compressor/texture_compressor.cc index c3b9816..e94a17b 100644 --- a/src/third_party/texture_compressor/texture_compressor.cc +++ b/src/third_party/texture_compressor/texture_compressor.cc @@ -10,7 +10,8 @@ #if defined(__ANDROID__) #if defined(__ARMEL__) || defined(__aarch64__) || defined(_M_ARM64) #define ANDROID_NEON -#include +#include + #include "dxt_encoder_neon.h" #include "texture_compressor_etc1_neon.h" #endif @@ -32,7 +33,7 @@ class TextureCompressorATC : public TextureCompressor { int width, int height, Quality quality) { - CompressATC(src, dst, width, height, !supports_opacity_, quality); + CompressATC(src, dst, width, height, !supports_opacity_, quality); } private: @@ -57,7 +58,7 @@ class TextureCompressorATC_NEON : public TextureCompressor { int width, int height, Quality quality) { - CompressATC_NEON(src, dst, width, height, !supports_opacity_, quality); + CompressATC_NEON(src, dst, width, height, !supports_opacity_, quality); } private: @@ -82,7 +83,7 @@ class TextureCompressorDXT : public TextureCompressor { int width, int height, Quality quality) { - CompressDXT(src, dst, width, height, !supports_opacity_, quality); + CompressDXT(src, dst, width, height, !supports_opacity_, quality); } private: @@ -107,7 +108,7 @@ class TextureCompressorDXT_NEON : public TextureCompressor { int width, int height, Quality quality) { - CompressDXT_NEON(src, dst, width, height, !supports_opacity_, quality); + CompressDXT_NEON(src, dst, width, height, !supports_opacity_, quality); } private: @@ -122,8 +123,8 @@ std::unique_ptr TextureCompressor::Create(Format format) { case kFormatATCIA: #ifdef ANDROID_NEON if ((android_getCpuFeatures() & ANDROID_CPU_ARM_FEATURE_NEON) != 0) { - return std::make_unique( - format == kFormatATCIA); + return std::make_unique(format == + kFormatATCIA); } #endif return std::make_unique(format == kFormatATCIA); @@ -132,8 +133,8 @@ std::unique_ptr TextureCompressor::Create(Format format) { case kFormatDXT5: #ifdef ANDROID_NEON if ((android_getCpuFeatures() & ANDROID_CPU_ARM_FEATURE_NEON) != 0) { - return std::make_unique( - format == kFormatDXT5); + return std::make_unique(format == + kFormatDXT5); } #endif return std::make_unique(format == kFormatDXT5); diff --git a/src/third_party/vma/BUILD.gn b/src/third_party/vma/BUILD.gn new file mode 100644 index 0000000..b73e3eb --- /dev/null +++ b/src/third_party/vma/BUILD.gn @@ -0,0 +1,10 @@ +source_set("vma") { + configs -= [ "//build:warnings" ] + + sources = [ + "vk_mem_alloc.cpp", + "vk_mem_alloc.h", + ] + + deps = [ "//src/third_party/vulkan" ] +} diff --git a/src/third_party/volk/BUILD.gn b/src/third_party/volk/BUILD.gn new file mode 100644 index 0000000..4dc906a --- /dev/null +++ b/src/third_party/volk/BUILD.gn @@ -0,0 +1,10 @@ +source_set("volk") { + configs -= [ "//build:warnings" ] + + sources = [ + "volk.c", + "volk.h", + ] + + deps = [ "//src/third_party/vulkan" ] +} diff --git a/src/third_party/vulkan/BUILD.gn b/src/third_party/vulkan/BUILD.gn new file mode 100644 index 0000000..7c0ae0e --- /dev/null +++ b/src/third_party/vulkan/BUILD.gn @@ -0,0 +1,56 @@ +config("vulkan_public") { + include_dirs = [ "include" ] + defines = [ "VMA_STATIC_VULKAN_FUNCTIONS=1" ] + cflags = [] + + if (target_os == "linux") { + defines += [ "VK_USE_PLATFORM_XLIB_KHR" ] + } else if (target_os == "win") { + defines += [ "VK_USE_PLATFORM_WIN32_KHR" ] + } else if (target_os == "android") { + defines += [ "VK_USE_PLATFORM_ANDROID_KHR" ] + cflags += [ "-Wno-nullability-completeness" ] + } +} + +source_set("vulkan") { + configs -= [ "//build:warnings" ] + public_configs = [ ":vulkan_public" ] + + sources = [ + "include/vulkan/vk_icd.h", + "include/vulkan/vk_layer.h", + "include/vulkan/vk_platform.h", + "include/vulkan/vk_sdk_platform.h", + "include/vulkan/vulkan.h", + "include/vulkan/vulkan.hpp", + "include/vulkan/vulkan_android.h", + "include/vulkan/vulkan_beta.h", + "include/vulkan/vulkan_core.h", + "include/vulkan/vulkan_directfb.h", + "include/vulkan/vulkan_enums.hpp", + "include/vulkan/vulkan_format_traits.hpp", + "include/vulkan/vulkan_fuchsia.h", + "include/vulkan/vulkan_funcs.hpp", + "include/vulkan/vulkan_ggp.h", + "include/vulkan/vulkan_handles.hpp", + "include/vulkan/vulkan_hash.hpp", + "include/vulkan/vulkan_ios.h", + "include/vulkan/vulkan_macos.h", + "include/vulkan/vulkan_metal.h", + "include/vulkan/vulkan_raii.hpp", + "include/vulkan/vulkan_screen.h", + "include/vulkan/vulkan_static_assertions.hpp", + "include/vulkan/vulkan_structs.hpp", + "include/vulkan/vulkan_to_string.hpp", + "include/vulkan/vulkan_vi.h", + "include/vulkan/vulkan_wayland.h", + "include/vulkan/vulkan_win32.h", + "include/vulkan/vulkan_xcb.h", + "include/vulkan/vulkan_xlib.h", + "include/vulkan/vulkan_xlib_xrandr.h", + "vk_enum_string_helper.h", + ] + + deps = [] +}