From 1dd3f51c9b300d07fad45a2cb908ea9c9c82445c Mon Sep 17 00:00:00 2001 From: Dale Stammen Date: Thu, 5 Feb 2015 13:36:55 -0800 Subject: [PATCH 1/3] Added link to https://github.com/MSOpenTech/angle-win8.0 --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f6b76f57a..83e2290fb 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ full support for Windows 8.1 and Windows Phone 8.1, and other features such as performance improvements and memory savings. If you are developing for Windows 8.0 or Windows Phone 8.0 then please see the -version of ANGLE in the 'winrt' branch. +version of ANGLE in the 'winrt' branch of https://github.com/MSOpenTech/angle-win8.0 About ANGLE ===== @@ -63,4 +63,4 @@ contributors directly (listed below). Microsoft Open Tech Inc. Contributors ===== * Cooper Partin (coopp-at-microsoft-dot-com) -* Austin Kinross (aukinros-at-microsoft-dot-com) \ No newline at end of file +* Austin Kinross (aukinros-at-microsoft-dot-com) From 4f4bf995574161eb7dbe95354b78fc115943dac5 Mon Sep 17 00:00:00 2001 From: Austin Kinross Date: Fri, 13 Mar 2015 17:27:11 -0700 Subject: [PATCH 2/3] Update future-dev README to say branch is deprecated --- README.md | 68 ++----------------------------------------------------- 1 file changed, 2 insertions(+), 66 deletions(-) diff --git a/README.md b/README.md index 83e2290fb..f63710780 100644 --- a/README.md +++ b/README.md @@ -1,66 +1,2 @@ -ANGLE -- future-dev branch -===== - -This is an active branch with Windows Store versions of ANGLE. It contains -full support for Windows 8.1 and Windows Phone 8.1, and other features such as -performance improvements and memory savings. - -If you are developing for Windows 8.0 or Windows Phone 8.0 then please see the -version of ANGLE in the 'winrt' branch of https://github.com/MSOpenTech/angle-win8.0 - -About ANGLE -===== -ANGLE allows Windows users to seamlessly run OpenGL ES content, by translating -OpenGL ES API into DirectX 11 API calls. - -More information about the ANGLE project is available here: -https://code.google.com/p/angleproject/ - -Requirements -===== -* Visual Studio Community 2013 (Update 4), or higher/later. -* Python 2.7 installed and added to the system PATH -* Windows 8.1 for local Windows development. - -Getting Started -===== -The /templates/ directory contains easy-to-use Visual Studio templates for -OpenGL ES/ANGLE. View the README in that directory for installation -instructions. - -The Windows Store solutions for ANGLE are located here: - -* /winrt/8.1/windows/src/angle.sln -* /winrt/8.1/windowsphone/src/angle.sln - -The ANGLE solution for Windows desktop applications is located here: - -* /src/angle.sln - -Features (available now) -===== -+ Full Windows Store support for both ICoreWindow and SwapChainPanel for XAML -applications. -+ This branch uses approximately half the memory compared to older versions of -ANGLE for Windows Store. -+ GPU performance gains, particularly on mobile devices. -+ D3D Feature Level 9.3 support, for running on mobile devices. -+ Runtime shader compilation on both Windows 8.1 and Windows Phone 8.1 - -Work-in-progress features -===== -+ Improved D3D Feature Level 9.3 support. -+ Improved OpenGL ES 3.0 compliance. -+ Compressed texture support. -+ Many other features. - -Feedback -===== -If you have feedback about this branch then we would love to hear it. Please -log an issue on this GitHub page, or contact the Microsoft Open Tech Inc. -contributors directly (listed below). - -Microsoft Open Tech Inc. Contributors -===== -* Cooper Partin (coopp-at-microsoft-dot-com) -* Austin Kinross (aukinros-at-microsoft-dot-com) +The future-dev branch has been deprecated. Please use the ms-master branch instead. +=== \ No newline at end of file From c3b7ba2864b9cff90dbd57acfc39215ea05f4ff3 Mon Sep 17 00:00:00 2001 From: Austin Kinross Date: Fri, 13 Mar 2015 17:27:40 -0700 Subject: [PATCH 3/3] Delete future-dev. Use ms-master branch instead. --- .gitattributes | 8 - .gitignore | 32 - AUTHORS | 39 - BUILD.gn | 285 - CONTRIBUTORS | 98 - DEPS | 23 - LICENSE | 32 - README.chromium | 10 - build/All.vcxproj | 348 - build/all.gyp | 30 - build/all.sln | 635 - build/common.gypi | 380 - build/common_defines.gypi | 147 - build/gyp_angle | 37 - codereview.settings | 4 - enumerate_files.py | 62 - extensions/ANGLE_depth_texture.txt | 402 - extensions/ANGLE_framebuffer_blit.txt | 437 - extensions/ANGLE_framebuffer_multisample.txt | 363 - extensions/ANGLE_instanced_arrays.txt | 359 - extensions/ANGLE_pack_reverse_row_order.txt | 168 - extensions/ANGLE_platform_angle.txt | 127 - extensions/ANGLE_platform_angle_d3d.txt | 105 - extensions/ANGLE_platform_angle_opengl.txt | 82 - extensions/ANGLE_program_binary.txt | 94 - ...NGLE_surface_d3d_render_to_back_buffer.txt | 103 - extensions/ANGLE_texture_compression_dxt.txt | 163 - extensions/ANGLE_texture_usage.txt | 202 - extensions/ANGLE_timer_query.txt | 591 - extensions/ANGLE_translated_shader_source.txt | 118 - ...L_ANGLE_d3d_share_handle_client_buffer.txt | 98 - extensions/EGL_ANGLE_direct3d_display.txt | 68 - .../EGL_ANGLE_query_surface_pointer.txt | 88 - extensions/EGL_ANGLE_software_display.txt | 65 - ...LE_surface_d3d_texture_2d_share_handle.txt | 95 - extensions/EGL_ANGLE_window_fixed_size.txt | 136 - .../EGL_EXT_create_context_robustness.txt | 169 - extensions/EXT_blend_minmax.txt | 164 - extensions/EXT_color_buffer_float.txt | 230 - extensions/EXT_draw_buffers.txt | 542 - extensions/EXT_robustness.txt | 365 - extensions/EXT_shader_framebuffer_fetch.txt | 263 - extensions/EXT_texture_rg.txt | 195 - extensions/EXT_texture_storage.txt | 1090 -- generate_winrt_projects.py | 40 - include/EGL/egl.h | 303 - include/EGL/eglext.h | 766 -- include/EGL/eglplatform.h | 139 - include/GLES2/gl2.h | 620 - include/GLES2/gl2ext.h | 2013 --- include/GLES2/gl2platform.h | 30 - include/GLES3/gl3.h | 1061 -- include/GLES3/gl3ext.h | 24 - include/GLES3/gl3platform.h | 30 - include/GLSLANG/ShaderLang.h | 415 - include/GLSLANG/ShaderVars.h | 185 - include/KHR/khrplatform.h | 282 - include/angle_gl.h | 23 - include/angle_windowsstore.h | 37 - .../angle/hello_triangle/HelloTriangle.cpp | 96 - samples/angle/mip_map_2d/MipMap2D.cpp | 169 - samples/angle/multi_texture/MultiTexture.cpp | 173 - samples/angle/multi_texture/basemap.tga | Bin 786476 -> 0 bytes samples/angle/multi_texture/lightmap.tga | Bin 196626 -> 0 bytes .../MultipleDrawBuffers.cpp | 215 - .../multiple_draw_buffers_copy_fs.glsl | 8 - .../multiple_draw_buffers_fs.glsl | 12 - .../multiple_draw_buffers_vs.glsl | 8 - .../angle/particle_system/ParticleSystem.cpp | 231 - samples/angle/particle_system/smoke.tga | Bin 49170 -> 0 bytes .../angle/post_sub_buffer/PostSubBuffer.cpp | 176 - samples/angle/sample_util/Matrix.cpp | 219 - samples/angle/sample_util/Matrix.h | 46 - .../angle/sample_util/SampleApplication.cpp | 153 - samples/angle/sample_util/SampleApplication.h | 58 - samples/angle/sample_util/Vector.cpp | 194 - samples/angle/sample_util/Vector.h | 82 - samples/angle/sample_util/geometry_utils.cpp | 145 - samples/angle/sample_util/geometry_utils.h | 34 - samples/angle/sample_util/texture_utils.cpp | 129 - samples/angle/sample_util/texture_utils.h | 17 - samples/angle/sample_util/tga_utils.cpp | 122 - samples/angle/sample_util/tga_utils.h | 29 - .../simple_instancing/SimpleInstancing.cpp | 200 - .../simple_texture_2d/SimpleTexture2D.cpp | 141 - .../SimpleTextureCubemap.cpp | 138 - .../SimpleVertexShader.cpp | 150 - .../stencil_operations/StencilOperations.cpp | 242 - .../TexRedefMicroBench.cpp | 279 - samples/angle/texture_wrap/TextureWrap.cpp | 160 - .../tri_fan_microbench/TriFanMicroBench.cpp | 242 - samples/dds_to_header.vcxproj | 234 - samples/dds_to_header.vcxproj.filters | 14 - samples/dds_to_header/main.cpp | 238 - samples/essl_to_glsl.vcxproj | 252 - samples/essl_to_glsl.vcxproj.filters | 14 - samples/essl_to_hlsl.vcxproj | 252 - samples/essl_to_hlsl.vcxproj.filters | 14 - samples/hello_triangle.vcxproj | 252 - samples/hello_triangle.vcxproj.filters | 17 - samples/mip_map_2d.vcxproj | 252 - samples/mip_map_2d.vcxproj.filters | 17 - samples/multi_texture.vcxproj | 266 - samples/multi_texture.vcxproj.filters | 35 - samples/multiple_draw_buffers.vcxproj | 272 - samples/multiple_draw_buffers.vcxproj.filters | 44 - samples/particle_system.vcxproj | 260 - samples/particle_system.vcxproj.filters | 26 - samples/post_sub_buffer.vcxproj | 252 - samples/post_sub_buffer.vcxproj.filters | 17 - samples/sample_util.vcxproj | 257 - samples/sample_util.vcxproj.filters | 116 - samples/samples.gyp | 217 - samples/samples.sln | 469 - samples/simple_instancing.vcxproj | 252 - samples/simple_instancing.vcxproj.filters | 17 - samples/simple_texture_2d.vcxproj | 252 - samples/simple_texture_2d.vcxproj.filters | 17 - samples/simple_texture_cubemap.vcxproj | 252 - .../simple_texture_cubemap.vcxproj.filters | 17 - samples/simple_vertex_shader.vcxproj | 252 - samples/simple_vertex_shader.vcxproj.filters | 17 - samples/stencil_operations.vcxproj | 252 - samples/stencil_operations.vcxproj.filters | 17 - samples/tex_redef_microbench.vcxproj | 252 - samples/tex_redef_microbench.vcxproj.filters | 17 - samples/texture_wrap.vcxproj | 252 - samples/texture_wrap.vcxproj.filters | 17 - samples/translator/translator.cpp | 459 - samples/tri_fan_microbench.vcxproj | 252 - samples/tri_fan_microbench.vcxproj.filters | 17 - src/angle.gyp | 242 - src/angle.sln | 148 - src/angle_common.vcxproj | 245 - src/angle_common.vcxproj.filters | 68 - src/commit.h | 14 - src/commit_id.py | 38 - src/commit_id.vcxproj | 244 - src/commit_id.vcxproj.filters | 35 - src/common/angleutils.cpp | 46 - src/common/angleutils.h | 160 - src/common/debug.cpp | 297 - src/common/debug.h | 151 - src/common/event_tracer.cpp | 38 - src/common/event_tracer.h | 34 - src/common/mathutil.cpp | 67 - src/common/mathutil.h | 584 - src/common/platform.h | 83 - src/common/tls.cpp | 156 - src/common/tls.h | 46 - src/common/utilities.cpp | 542 - src/common/utilities.h | 62 - src/common/version.h | 23 - src/compiler.gypi | 319 - .../preprocessor/64bit-tokenizer-safety.patch | 31 - src/compiler/preprocessor/DiagnosticsBase.cpp | 127 - src/compiler/preprocessor/DiagnosticsBase.h | 88 - .../preprocessor/DirectiveHandlerBase.cpp | 16 - .../preprocessor/DirectiveHandlerBase.h | 45 - src/compiler/preprocessor/DirectiveParser.cpp | 960 -- src/compiler/preprocessor/DirectiveParser.h | 82 - .../preprocessor/ExpressionParser.cpp | 1878 --- src/compiler/preprocessor/ExpressionParser.h | 35 - src/compiler/preprocessor/ExpressionParser.y | 310 - src/compiler/preprocessor/Input.cpp | 54 - src/compiler/preprocessor/Input.h | 62 - src/compiler/preprocessor/Lexer.cpp | 16 - src/compiler/preprocessor/Lexer.h | 25 - src/compiler/preprocessor/Macro.cpp | 23 - src/compiler/preprocessor/Macro.h | 50 - src/compiler/preprocessor/MacroExpander.cpp | 372 - src/compiler/preprocessor/MacroExpander.h | 89 - src/compiler/preprocessor/Preprocessor.cpp | 118 - src/compiler/preprocessor/Preprocessor.h | 54 - src/compiler/preprocessor/SourceLocation.h | 47 - src/compiler/preprocessor/Token.cpp | 83 - src/compiler/preprocessor/Token.h | 120 - src/compiler/preprocessor/Tokenizer.cpp | 2399 ---- src/compiler/preprocessor/Tokenizer.h | 59 - src/compiler/preprocessor/Tokenizer.l | 346 - src/compiler/preprocessor/generate_parser.sh | 27 - src/compiler/preprocessor/numeric_lex.h | 62 - src/compiler/preprocessor/pp_utils.h | 18 - .../translator/64bit-lexer-safety.patch | 40 - src/compiler/translator/BaseTypes.h | 451 - .../translator/BuiltInFunctionEmulator.cpp | 242 - .../translator/BuiltInFunctionEmulator.h | 80 - .../BuiltInFunctionEmulatorGLSL.cpp | 59 - .../translator/BuiltInFunctionEmulatorGLSL.h | 23 - .../BuiltInFunctionEmulatorHLSL.cpp | 387 - .../translator/BuiltInFunctionEmulatorHLSL.h | 23 - src/compiler/translator/CodeGen.cpp | 38 - src/compiler/translator/Common.h | 92 - src/compiler/translator/Compiler.cpp | 627 - src/compiler/translator/Compiler.h | 194 - src/compiler/translator/ConstantUnion.h | 346 - src/compiler/translator/DetectCallDepth.cpp | 185 - src/compiler/translator/DetectCallDepth.h | 78 - .../translator/DetectDiscontinuity.cpp | 191 - src/compiler/translator/DetectDiscontinuity.h | 71 - src/compiler/translator/Diagnostics.cpp | 63 - src/compiler/translator/Diagnostics.h | 44 - src/compiler/translator/DirectiveHandler.cpp | 186 - src/compiler/translator/DirectiveHandler.h | 51 - src/compiler/translator/EmulatePrecision.cpp | 526 - src/compiler/translator/EmulatePrecision.h | 76 - src/compiler/translator/ExtensionBehavior.h | 37 - src/compiler/translator/FlagStd140Structs.cpp | 77 - src/compiler/translator/FlagStd140Structs.h | 37 - src/compiler/translator/ForLoopUnroll.cpp | 82 - src/compiler/translator/ForLoopUnroll.h | 50 - src/compiler/translator/HashNames.h | 18 - src/compiler/translator/InfoSink.cpp | 54 - src/compiler/translator/InfoSink.h | 116 - src/compiler/translator/Initialize.cpp | 932 -- src/compiler/translator/Initialize.h | 23 - src/compiler/translator/InitializeDll.cpp | 34 - src/compiler/translator/InitializeDll.h | 13 - src/compiler/translator/InitializeGlobals.h | 13 - .../translator/InitializeParseContext.cpp | 42 - .../translator/InitializeParseContext.h | 17 - .../translator/InitializeVariables.cpp | 116 - src/compiler/translator/InitializeVariables.h | 50 - src/compiler/translator/IntermNode.cpp | 1252 -- src/compiler/translator/IntermNode.h | 821 -- src/compiler/translator/IntermTraverse.cpp | 269 - src/compiler/translator/Intermediate.cpp | 547 - src/compiler/translator/Intermediate.h | 66 - src/compiler/translator/LoopInfo.cpp | 211 - src/compiler/translator/LoopInfo.h | 80 - src/compiler/translator/MMap.h | 56 - src/compiler/translator/NodeSearch.h | 80 - src/compiler/translator/OutputESSL.cpp | 32 - src/compiler/translator/OutputESSL.h | 29 - src/compiler/translator/OutputGLSL.cpp | 57 - src/compiler/translator/OutputGLSL.h | 28 - src/compiler/translator/OutputGLSLBase.cpp | 1128 -- src/compiler/translator/OutputGLSLBase.h | 83 - src/compiler/translator/OutputHLSL.cpp | 2859 ---- src/compiler/translator/OutputHLSL.h | 166 - src/compiler/translator/ParseContext.cpp | 2611 ---- src/compiler/translator/ParseContext.h | 172 - src/compiler/translator/PoolAlloc.cpp | 295 - src/compiler/translator/PoolAlloc.h | 300 - src/compiler/translator/Pragma.h | 32 - src/compiler/translator/QualifierAlive.cpp | 58 - src/compiler/translator/QualifierAlive.h | 12 - .../translator/RegenerateStructNames.cpp | 82 - .../translator/RegenerateStructNames.h | 40 - src/compiler/translator/RenameFunction.h | 36 - src/compiler/translator/RewriteElseBlocks.cpp | 158 - src/compiler/translator/RewriteElseBlocks.h | 22 - .../ScalarizeVecAndMatConstructorArgs.cpp | 277 - .../ScalarizeVecAndMatConstructorArgs.h | 47 - src/compiler/translator/SearchSymbol.cpp | 38 - src/compiler/translator/SearchSymbol.h | 33 - src/compiler/translator/ShaderLang.cpp | 359 - src/compiler/translator/ShaderVars.cpp | 330 - src/compiler/translator/StructureHLSL.cpp | 490 - src/compiler/translator/StructureHLSL.h | 79 - src/compiler/translator/SymbolTable.cpp | 232 - src/compiler/translator/SymbolTable.h | 454 - src/compiler/translator/TranslatorESSL.cpp | 65 - src/compiler/translator/TranslatorESSL.h | 23 - src/compiler/translator/TranslatorGLSL.cpp | 80 - src/compiler/translator/TranslatorGLSL.h | 25 - src/compiler/translator/TranslatorHLSL.cpp | 48 - src/compiler/translator/TranslatorHLSL.h | 31 - src/compiler/translator/Types.cpp | 235 - src/compiler/translator/Types.h | 591 - .../translator/UnfoldShortCircuit.cpp | 185 - src/compiler/translator/UnfoldShortCircuit.h | 39 - .../translator/UnfoldShortCircuitAST.cpp | 57 - .../translator/UnfoldShortCircuitAST.h | 31 - src/compiler/translator/UniformHLSL.cpp | 281 - src/compiler/translator/UniformHLSL.h | 63 - src/compiler/translator/UtilsHLSL.cpp | 243 - src/compiler/translator/UtilsHLSL.h | 37 - .../translator/ValidateLimitations.cpp | 566 - src/compiler/translator/ValidateLimitations.h | 59 - src/compiler/translator/ValidateOutputs.cpp | 78 - src/compiler/translator/ValidateOutputs.h | 38 - src/compiler/translator/VariableInfo.cpp | 496 - src/compiler/translator/VariableInfo.h | 69 - src/compiler/translator/VariablePacker.cpp | 269 - src/compiler/translator/VariablePacker.h | 41 - src/compiler/translator/VersionGLSL.cpp | 114 - src/compiler/translator/VersionGLSL.h | 52 - src/compiler/translator/blocklayout.cpp | 252 - src/compiler/translator/blocklayout.h | 127 - src/compiler/translator/compilerdebug.cpp | 37 - src/compiler/translator/compilerdebug.h | 53 - .../translator/depgraph/DependencyGraph.cpp | 97 - .../translator/depgraph/DependencyGraph.h | 212 - .../depgraph/DependencyGraphBuilder.cpp | 255 - .../depgraph/DependencyGraphBuilder.h | 199 - .../depgraph/DependencyGraphOutput.cpp | 65 - .../depgraph/DependencyGraphOutput.h | 30 - .../depgraph/DependencyGraphTraverse.cpp | 69 - src/compiler/translator/generate_parser.sh | 28 - src/compiler/translator/glslang.h | 20 - src/compiler/translator/glslang.l | 558 - src/compiler/translator/glslang.y | 2009 --- src/compiler/translator/glslang_lex.cpp | 3370 ----- src/compiler/translator/glslang_tab.cpp | 5399 -------- src/compiler/translator/glslang_tab.h | 244 - src/compiler/translator/intermOut.cpp | 626 - src/compiler/translator/length_limits.h | 21 - src/compiler/translator/parseConst.cpp | 264 - .../timing/RestrictFragmentShaderTiming.cpp | 136 - .../timing/RestrictFragmentShaderTiming.h | 38 - .../timing/RestrictVertexShaderTiming.cpp | 17 - .../timing/RestrictVertexShaderTiming.h | 31 - src/compiler/translator/util.cpp | 364 - src/compiler/translator/util.h | 66 - src/copy_compiler_dll.bat | 9 - src/copy_compiler_dll.vcxproj | 240 - src/copy_compiler_dll.vcxproj.filters | 14 - src/copy_scripts.vcxproj | 240 - src/libANGLE.vcxproj | 554 - src/libANGLE.vcxproj.filters | 3935 ------ src/libANGLE/AttributeMap.cpp | 43 - src/libANGLE/AttributeMap.h | 34 - src/libANGLE/BinaryStream.h | 220 - src/libANGLE/Buffer.cpp | 128 - src/libANGLE/Buffer.h | 74 - src/libANGLE/Caps.cpp | 487 - src/libANGLE/Caps.h | 340 - src/libANGLE/Compiler.cpp | 38 - src/libANGLE/Compiler.h | 39 - src/libANGLE/Config.cpp | 365 - src/libANGLE/Config.h | 115 - src/libANGLE/Constants.h | 44 - src/libANGLE/Context.cpp | 1566 --- src/libANGLE/Context.h | 270 - src/libANGLE/Data.cpp | 51 - src/libANGLE/Data.h | 38 - src/libANGLE/Display.cpp | 739 -- src/libANGLE/Display.h | 107 - src/libANGLE/Error.cpp | 154 - src/libANGLE/Error.h | 69 - src/libANGLE/Fence.cpp | 115 - src/libANGLE/Fence.h | 75 - src/libANGLE/Float16ToFloat32.cpp | 2203 ---- src/libANGLE/Float16ToFloat32.py | 78 - src/libANGLE/Framebuffer.cpp | 661 - src/libANGLE/Framebuffer.h | 138 - src/libANGLE/FramebufferAttachment.cpp | 304 - src/libANGLE/FramebufferAttachment.h | 167 - src/libANGLE/HandleAllocator.cpp | 63 - src/libANGLE/HandleAllocator.h | 44 - src/libANGLE/ImageIndex.cpp | 170 - src/libANGLE/ImageIndex.h | 79 - src/libANGLE/Program.cpp | 1612 --- src/libANGLE/Program.h | 277 - src/libANGLE/Query.cpp | 50 - src/libANGLE/Query.h | 49 - src/libANGLE/RefCountObject.cpp | 47 - src/libANGLE/RefCountObject.h | 95 - src/libANGLE/Renderbuffer.cpp | 110 - src/libANGLE/Renderbuffer.h | 69 - src/libANGLE/ResourceManager.cpp | 404 - src/libANGLE/ResourceManager.h | 114 - src/libANGLE/Sampler.cpp | 43 - src/libANGLE/Sampler.h | 60 - src/libANGLE/Shader.cpp | 243 - src/libANGLE/Shader.h | 120 - src/libANGLE/State.cpp | 1485 --- src/libANGLE/State.h | 324 - src/libANGLE/Surface.cpp | 155 - src/libANGLE/Surface.h | 86 - src/libANGLE/Texture.cpp | 545 - src/libANGLE/Texture.h | 141 - src/libANGLE/TransformFeedback.cpp | 71 - src/libANGLE/TransformFeedback.h | 52 - src/libANGLE/Uniform.cpp | 107 - src/libANGLE/Uniform.h | 77 - src/libANGLE/VertexArray.cpp | 96 - src/libANGLE/VertexArray.h | 62 - src/libANGLE/VertexAttribute.cpp | 55 - src/libANGLE/VertexAttribute.h | 119 - src/libANGLE/angletypes.cpp | 208 - src/libANGLE/angletypes.h | 305 - src/libANGLE/features.h | 40 - src/libANGLE/formatutils.cpp | 634 - src/libANGLE/formatutils.h | 80 - src/libANGLE/queryconversions.cpp | 147 - src/libANGLE/queryconversions.h | 17 - src/libANGLE/renderer/BufferImpl.h | 39 - src/libANGLE/renderer/CompilerImpl.h | 33 - src/libANGLE/renderer/DisplayImpl.cpp | 46 - src/libANGLE/renderer/DisplayImpl.h | 74 - src/libANGLE/renderer/FenceImpl.h | 52 - src/libANGLE/renderer/FramebufferImpl.h | 80 - src/libANGLE/renderer/Image.h | 77 - src/libANGLE/renderer/IndexRangeCache.cpp | 128 - src/libANGLE/renderer/IndexRangeCache.h | 64 - src/libANGLE/renderer/ProgramImpl.cpp | 152 - src/libANGLE/renderer/ProgramImpl.h | 139 - src/libANGLE/renderer/QueryImpl.h | 42 - src/libANGLE/renderer/RenderbufferImpl.cpp | 21 - src/libANGLE/renderer/RenderbufferImpl.h | 35 - src/libANGLE/renderer/Renderer.cpp | 72 - src/libANGLE/renderer/Renderer.h | 154 - src/libANGLE/renderer/ShaderImpl.h | 55 - src/libANGLE/renderer/SurfaceImpl.cpp | 41 - src/libANGLE/renderer/SurfaceImpl.h | 95 - src/libANGLE/renderer/TextureImpl.h | 72 - src/libANGLE/renderer/TransformFeedbackImpl.h | 31 - src/libANGLE/renderer/VertexArrayImpl.h | 32 - src/libANGLE/renderer/Workarounds.h | 54 - src/libANGLE/renderer/d3d/BufferD3D.cpp | 74 - src/libANGLE/renderer/d3d/BufferD3D.h | 55 - src/libANGLE/renderer/d3d/CompilerD3D.cpp | 128 - src/libANGLE/renderer/d3d/CompilerD3D.h | 50 - src/libANGLE/renderer/d3d/DisplayD3D.cpp | 105 - src/libANGLE/renderer/d3d/DisplayD3D.h | 45 - src/libANGLE/renderer/d3d/DynamicHLSL.cpp | 1271 -- src/libANGLE/renderer/d3d/DynamicHLSL.h | 101 - src/libANGLE/renderer/d3d/FramebufferD3D.cpp | 398 - src/libANGLE/renderer/d3d/FramebufferD3D.h | 112 - src/libANGLE/renderer/d3d/HLSLCompiler.cpp | 302 - src/libANGLE/renderer/d3d/HLSLCompiler.h | 56 - src/libANGLE/renderer/d3d/ImageD3D.cpp | 47 - src/libANGLE/renderer/d3d/ImageD3D.h | 86 - src/libANGLE/renderer/d3d/IndexBuffer.cpp | 199 - src/libANGLE/renderer/d3d/IndexBuffer.h | 112 - .../renderer/d3d/IndexDataManager.cpp | 270 - src/libANGLE/renderer/d3d/IndexDataManager.h | 71 - src/libANGLE/renderer/d3d/MemoryBuffer.cpp | 79 - src/libANGLE/renderer/d3d/MemoryBuffer.h | 40 - src/libANGLE/renderer/d3d/ProgramD3D.cpp | 2034 --- src/libANGLE/renderer/d3d/ProgramD3D.h | 239 - src/libANGLE/renderer/d3d/RenderTargetD3D.cpp | 36 - src/libANGLE/renderer/d3d/RenderTargetD3D.h | 43 - src/libANGLE/renderer/d3d/RenderbufferD3D.cpp | 68 - src/libANGLE/renderer/d3d/RenderbufferD3D.h | 44 - src/libANGLE/renderer/d3d/RendererD3D.cpp | 666 - src/libANGLE/renderer/d3d/RendererD3D.h | 224 - src/libANGLE/renderer/d3d/ShaderD3D.cpp | 383 - src/libANGLE/renderer/d3d/ShaderD3D.h | 94 - .../renderer/d3d/ShaderExecutableD3D.cpp | 61 - .../renderer/d3d/ShaderExecutableD3D.h | 56 - src/libANGLE/renderer/d3d/SurfaceD3D.cpp | 382 - src/libANGLE/renderer/d3d/SurfaceD3D.h | 82 - src/libANGLE/renderer/d3d/SwapChainD3D.h | 58 - src/libANGLE/renderer/d3d/TextureD3D.cpp | 2869 ---- src/libANGLE/renderer/d3d/TextureD3D.h | 374 - src/libANGLE/renderer/d3d/TextureStorage.cpp | 39 - src/libANGLE/renderer/d3d/TextureStorage.h | 69 - .../renderer/d3d/TransformFeedbackD3D.cpp | 38 - .../renderer/d3d/TransformFeedbackD3D.h | 32 - src/libANGLE/renderer/d3d/VertexBuffer.cpp | 307 - src/libANGLE/renderer/d3d/VertexBuffer.h | 147 - .../renderer/d3d/VertexDataManager.cpp | 394 - src/libANGLE/renderer/d3d/VertexDataManager.h | 97 - src/libANGLE/renderer/d3d/copyimage.cpp | 22 - src/libANGLE/renderer/d3d/copyimage.h | 35 - src/libANGLE/renderer/d3d/copyimage.inl | 32 - src/libANGLE/renderer/d3d/d3d11/Blit11.cpp | 1056 -- src/libANGLE/renderer/d3d/d3d11/Blit11.h | 123 - src/libANGLE/renderer/d3d/d3d11/Buffer11.cpp | 996 -- src/libANGLE/renderer/d3d/d3d11/Buffer11.h | 105 - src/libANGLE/renderer/d3d/d3d11/Clear11.cpp | 613 - src/libANGLE/renderer/d3d/d3d11/Clear11.h | 93 - src/libANGLE/renderer/d3d/d3d11/Fence11.cpp | 231 - src/libANGLE/renderer/d3d/d3d11/Fence11.h | 62 - .../renderer/d3d/d3d11/Framebuffer11.cpp | 255 - .../renderer/d3d/d3d11/Framebuffer11.h | 45 - src/libANGLE/renderer/d3d/d3d11/Image11.cpp | 632 - src/libANGLE/renderer/d3d/d3d11/Image11.h | 86 - .../renderer/d3d/d3d11/IndexBuffer11.cpp | 162 - .../renderer/d3d/d3d11/IndexBuffer11.h | 53 - .../renderer/d3d/d3d11/InputLayoutCache.cpp | 430 - .../renderer/d3d/d3d11/InputLayoutCache.h | 105 - .../renderer/d3d/d3d11/NativeWindow.h | 76 - .../renderer/d3d/d3d11/PixelTransfer11.cpp | 302 - .../renderer/d3d/d3d11/PixelTransfer11.h | 89 - src/libANGLE/renderer/d3d/d3d11/Query11.cpp | 157 - src/libANGLE/renderer/d3d/d3d11/Query11.h | 44 - .../renderer/d3d/d3d11/RenderStateCache.cpp | 451 - .../renderer/d3d/d3d11/RenderStateCache.h | 113 - .../renderer/d3d/d3d11/RenderTarget11.cpp | 396 - .../renderer/d3d/d3d11/RenderTarget11.h | 120 - .../renderer/d3d/d3d11/Renderer11.cpp | 3456 ----- src/libANGLE/renderer/d3d/d3d11/Renderer11.h | 382 - .../renderer/d3d/d3d11/ShaderExecutable11.cpp | 110 - .../renderer/d3d/d3d11/ShaderExecutable11.h | 61 - .../renderer/d3d/d3d11/SwapChain11.cpp | 723 - src/libANGLE/renderer/d3d/d3d11/SwapChain11.h | 85 - .../renderer/d3d/d3d11/TextureStorage11.cpp | 2677 ---- .../renderer/d3d/d3d11/TextureStorage11.h | 336 - src/libANGLE/renderer/d3d/d3d11/Trim11.cpp | 95 - src/libANGLE/renderer/d3d/d3d11/Trim11.h | 45 - .../renderer/d3d/d3d11/VertexArray11.h | 42 - .../renderer/d3d/d3d11/VertexBuffer11.cpp | 244 - .../renderer/d3d/d3d11/VertexBuffer11.h | 60 - src/libANGLE/renderer/d3d/d3d11/copyvertex.h | 40 - .../renderer/d3d/d3d11/copyvertex.inl | 375 - .../renderer/d3d/d3d11/formatutils11.cpp | 1285 -- .../renderer/d3d/d3d11/formatutils11.h | 93 - .../renderer/d3d/d3d11/renderer11_utils.cpp | 1201 -- .../renderer/d3d/d3d11/renderer11_utils.h | 192 - .../d3d/d3d11/shaders/BufferToTexture11.hlsl | 77 - .../renderer/d3d/d3d11/shaders/Clear11.hlsl | 119 - .../d3d/d3d11/shaders/Passthrough2D11.hlsl | 111 - .../d3d/d3d11/shaders/Passthrough3D11.hlsl | 146 - .../renderer/d3d/d3d11/shaders/Swizzle11.hlsl | 99 - .../shaders/compiled/buffertotexture11_gs.h | 165 - .../compiled/buffertotexture11_ps_4f.h | 229 - .../compiled/buffertotexture11_ps_4i.h | 128 - .../compiled/buffertotexture11_ps_4ui.h | 128 - .../shaders/compiled/buffertotexture11_vs.h | 311 - .../shaders/compiled/clearfloat11_fl9ps.h | 176 - .../d3d11/shaders/compiled/clearfloat11ps.h | 195 - .../d3d11/shaders/compiled/clearfloat11vs.h | 175 - .../d3d11/shaders/compiled/clearsint11ps.h | 195 - .../d3d11/shaders/compiled/clearsint11vs.h | 130 - .../d3d11/shaders/compiled/clearuint11ps.h | 195 - .../d3d11/shaders/compiled/clearuint11vs.h | 130 - .../shaders/compiled/passthrough2d11vs.h | 177 - .../shaders/compiled/passthrough3d11gs.h | 191 - .../shaders/compiled/passthrough3d11vs.h | 155 - .../shaders/compiled/passthroughdepth2d11ps.h | 145 - .../shaders/compiled/passthroughlum2d11ps.h | 196 - .../shaders/compiled/passthroughlum3d11ps.h | 160 - .../compiled/passthroughlumalpha2d11ps.h | 185 - .../compiled/passthroughlumalpha3d11ps.h | 156 - .../shaders/compiled/passthroughr2d11ps.h | 198 - .../shaders/compiled/passthroughr2di11ps.h | 167 - .../shaders/compiled/passthroughr2dui11ps.h | 167 - .../shaders/compiled/passthroughr3d11ps.h | 162 - .../shaders/compiled/passthroughr3di11ps.h | 174 - .../shaders/compiled/passthroughr3dui11ps.h | 174 - .../shaders/compiled/passthroughrg2d11ps.h | 198 - .../shaders/compiled/passthroughrg2di11ps.h | 167 - .../shaders/compiled/passthroughrg2dui11ps.h | 167 - .../shaders/compiled/passthroughrg3d11ps.h | 162 - .../shaders/compiled/passthroughrg3di11ps.h | 174 - .../shaders/compiled/passthroughrg3dui11ps.h | 174 - .../shaders/compiled/passthroughrgb2d11ps.h | 196 - .../shaders/compiled/passthroughrgb2di11ps.h | 165 - .../shaders/compiled/passthroughrgb2dui11ps.h | 165 - .../shaders/compiled/passthroughrgb3d11ps.h | 160 - .../shaders/compiled/passthroughrgb3di11ps.h | 172 - .../shaders/compiled/passthroughrgb3dui11ps.h | 172 - .../shaders/compiled/passthroughrgba2d11ps.h | 176 - .../shaders/compiled/passthroughrgba2di11ps.h | 157 - .../compiled/passthroughrgba2dui11ps.h | 157 - .../shaders/compiled/passthroughrgba3d11ps.h | 149 - .../shaders/compiled/passthroughrgba3di11ps.h | 164 - .../compiled/passthroughrgba3dui11ps.h | 164 - .../shaders/compiled/swizzlef2darrayps.h | 278 - .../d3d/d3d11/shaders/compiled/swizzlef2dps.h | 256 - .../d3d/d3d11/shaders/compiled/swizzlef3dps.h | 265 - .../shaders/compiled/swizzlei2darrayps.h | 286 - .../d3d/d3d11/shaders/compiled/swizzlei2dps.h | 270 - .../d3d/d3d11/shaders/compiled/swizzlei3dps.h | 277 - .../shaders/compiled/swizzleui2darrayps.h | 286 - .../d3d11/shaders/compiled/swizzleui2dps.h | 270 - .../d3d11/shaders/compiled/swizzleui3dps.h | 277 - .../d3d/d3d11/shaders/generate_shaders.bat | 125 - .../renderer/d3d/d3d11/win32/NativeWindow.cpp | 68 - .../d3d11/winrt/CoreWindowNativeWindow.cpp | 189 - .../d3d/d3d11/winrt/CoreWindowNativeWindow.h | 78 - .../d3d11/winrt/InspectableNativeWindow.cpp | 279 - .../d3d/d3d11/winrt/InspectableNativeWindow.h | 93 - .../winrt/SwapChainPanelNativeWindow.cpp | 228 - .../d3d11/winrt/SwapChainPanelNativeWindow.h | 79 - src/libANGLE/renderer/d3d/d3d9/Blit9.cpp | 679 - src/libANGLE/renderer/d3d/d3d9/Blit9.h | 98 - src/libANGLE/renderer/d3d/d3d9/Buffer9.cpp | 121 - src/libANGLE/renderer/d3d/d3d9/Buffer9.h | 52 - src/libANGLE/renderer/d3d/d3d9/Fence9.cpp | 90 - src/libANGLE/renderer/d3d/d3d9/Fence9.h | 37 - .../renderer/d3d/d3d9/Framebuffer9.cpp | 424 - src/libANGLE/renderer/d3d/d3d9/Framebuffer9.h | 41 - src/libANGLE/renderer/d3d/d3d9/Image9.cpp | 788 -- src/libANGLE/renderer/d3d/d3d9/Image9.h | 75 - .../renderer/d3d/d3d9/IndexBuffer9.cpp | 173 - src/libANGLE/renderer/d3d/d3d9/IndexBuffer9.h | 53 - src/libANGLE/renderer/d3d/d3d9/Query9.cpp | 144 - src/libANGLE/renderer/d3d/d3d9/Query9.h | 43 - .../renderer/d3d/d3d9/RenderTarget9.cpp | 139 - .../renderer/d3d/d3d9/RenderTarget9.h | 91 - src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp | 2903 ---- src/libANGLE/renderer/d3d/d3d9/Renderer9.h | 357 - src/libANGLE/renderer/d3d/d3d9/ShaderCache.h | 110 - .../renderer/d3d/d3d9/ShaderExecutable9.cpp | 53 - .../renderer/d3d/d3d9/ShaderExecutable9.h | 39 - src/libANGLE/renderer/d3d/d3d9/SwapChain9.cpp | 421 - src/libANGLE/renderer/d3d/d3d9/SwapChain9.h | 59 - .../renderer/d3d/d3d9/TextureStorage9.cpp | 472 - .../renderer/d3d/d3d9/TextureStorage9.h | 114 - src/libANGLE/renderer/d3d/d3d9/VertexArray9.h | 43 - .../renderer/d3d/d3d9/VertexBuffer9.cpp | 239 - .../renderer/d3d/d3d9/VertexBuffer9.h | 54 - .../d3d/d3d9/VertexDeclarationCache.cpp | 237 - .../d3d/d3d9/VertexDeclarationCache.h | 60 - .../renderer/d3d/d3d9/formatutils9.cpp | 604 - src/libANGLE/renderer/d3d/d3d9/formatutils9.h | 86 - .../renderer/d3d/d3d9/renderer9_utils.cpp | 578 - .../renderer/d3d/d3d9/renderer9_utils.h | 86 - .../renderer/d3d/d3d9/shaders/Blit.ps | Bin 989 -> 0 bytes .../renderer/d3d/d3d9/shaders/Blit.vs | 43 - .../d3d9/shaders/compiled/componentmaskps.h | 84 - .../d3d/d3d9/shaders/compiled/flipyvs.h | 66 - .../d3d/d3d9/shaders/compiled/luminanceps.h | 94 - .../d3d/d3d9/shaders/compiled/passthroughps.h | 61 - .../d3d/d3d9/shaders/compiled/standardvs.h | 66 - .../d3d/d3d9/shaders/generate_shaders.bat | 63 - .../renderer/d3d/d3d9/vertexconversion.h | 197 - src/libANGLE/renderer/d3d/formatutilsD3D.cpp | 147 - src/libANGLE/renderer/d3d/formatutilsD3D.h | 50 - src/libANGLE/renderer/d3d/generatemip.h | 28 - src/libANGLE/renderer/d3d/generatemip.inl | 266 - src/libANGLE/renderer/d3d/imageformats.h | 2031 --- src/libANGLE/renderer/d3d/loadimage.cpp | 662 - src/libANGLE/renderer/d3d/loadimage.h | 193 - src/libANGLE/renderer/d3d/loadimage.inl | 156 - src/libANGLE/renderer/d3d/loadimageSSE2.cpp | 125 - src/libANGLE/validationES.cpp | 1847 --- src/libANGLE/validationES.h | 94 - src/libANGLE/validationES2.cpp | 882 -- src/libANGLE/validationES2.h | 34 - src/libANGLE/validationES3.cpp | 1231 -- src/libANGLE/validationES3.h | 47 - src/libEGL.gypi | 53 - src/libEGL.vcxproj | 251 - src/libEGL.vcxproj.filters | 32 - src/libEGL/libEGL.cpp | 250 - src/libEGL/libEGL.def | 53 - src/libEGL/libEGL.rc | 103 - src/libEGL/resource.h | 14 - src/libGLESv2.gypi | 647 - src/libGLESv2.vcxproj | 296 - src/libGLESv2.vcxproj.filters | 134 - src/libGLESv2/entry_points_egl.cpp | 1236 -- src/libGLESv2/entry_points_egl.h | 75 - src/libGLESv2/entry_points_egl_ext.cpp | 301 - src/libGLESv2/entry_points_egl_ext.h | 31 - src/libGLESv2/entry_points_gles_2_0.cpp | 4260 ------ src/libGLESv2/entry_points_gles_2_0.h | 164 - src/libGLESv2/entry_points_gles_2_0_ext.cpp | 1058 -- src/libGLESv2/entry_points_gles_2_0_ext.h | 79 - src/libGLESv2/entry_points_gles_3_0.cpp | 3377 ----- src/libGLESv2/entry_points_gles_3_0.h | 126 - src/libGLESv2/entry_points_gles_3_0_ext.cpp | 14 - src/libGLESv2/entry_points_gles_3_0_ext.h | 24 - src/libGLESv2/export.h | 28 - src/libGLESv2/global_state.cpp | 235 - src/libGLESv2/global_state.h | 49 - src/libGLESv2/libGLESv2.cpp | 1421 -- src/libGLESv2/libGLESv2.def | 288 - src/libGLESv2/libGLESv2.rc | 103 - src/libGLESv2/resource.h | 14 - src/libGLESv2_static.vcxproj | 243 - src/libGLESv2_static.vcxproj.filters | 20 - src/preprocessor.vcxproj | 262 - src/preprocessor.vcxproj.filters | 251 - .../compiler/ArrayBoundsClamper.cpp | 106 - src/third_party/compiler/ArrayBoundsClamper.h | 60 - src/third_party/compiler/LICENSE | 22 - src/third_party/compiler/README.angle | 12 - src/third_party/murmurhash/LICENSE | 2 - src/third_party/murmurhash/MurmurHash3.cpp | 336 - src/third_party/murmurhash/MurmurHash3.h | 23 - src/third_party/systeminfo/SystemInfo.cpp | 65 - src/third_party/systeminfo/SystemInfo.h | 35 - src/third_party/trace_event/trace_event.h | 795 -- src/translator.vcxproj | 235 - src/translator.vcxproj.filters | 26 - src/translator_lib.vcxproj | 383 - src/translator_lib.vcxproj.filters | 1373 -- src/translator_static.vcxproj | 235 - src/translator_static.vcxproj.filters | 26 - templates/8.1/README | 32 - .../UniversalCoreWindow/MyTemplate.vstemplate | 23 - .../Shared/HelloTriangleRenderer.cpp | 163 - .../Shared/HelloTriangleRenderer.h | 18 - .../Shared/Shared.Application.Shared.vcxitems | 29 - ...Shared.Application.Shared.vcxitems.filters | 13 - .../Shared/Shared.vstemplate | 25 - .../UniversalCoreWindow/Shared/app.cpp | 385 - .../UniversalCoreWindow/Shared/app.h | 51 - .../UniversalCoreWindow/Shared/pch.cpp | 1 - .../UniversalCoreWindow/Shared/pch.h | 17 - .../Windows/Application_TemporaryKey.pfx | 0 .../UniversalCoreWindow/Windows/Logo.png | Bin 801 -> 0 bytes .../Windows/Package-native.appxmanifest | 42 - .../UniversalCoreWindow/Windows/SmallLogo.png | Bin 329 -> 0 bytes .../Windows/SplashScreen.png | Bin 2146 -> 0 bytes .../UniversalCoreWindow/Windows/StoreLogo.png | Bin 429 -> 0 bytes .../Windows.Application.Windows.vcxproj | 159 - ...indows.Application.Windows.vcxproj.filters | 24 - .../Windows/Windows.vstemplate | 35 - .../Package-PhoneAppx.appxmanifest | 45 - .../WindowsPhone/Phone.Logo.png | Bin 2516 -> 0 bytes .../WindowsPhone/Phone.SmallLogo.png | Bin 753 -> 0 bytes .../WindowsPhone/Phone.SplashScreen.png | Bin 14715 -> 0 bytes .../WindowsPhone/Phone.Square71x71Logo.png | Bin 1122 -> 0 bytes .../WindowsPhone/Phone.StoreLogo.png | Bin 2200 -> 0 bytes .../WindowsPhone/Phone.WideLogo.png | Bin 4530 -> 0 bytes ...dowsPhone.Application.WindowsPhone.vcxproj | 122 - ...e.Application.WindowsPhone.vcxproj.filters | 24 - .../WindowsPhone/WindowsPhone.vstemplate | 36 - .../UniversalCoreWindow/__TemplateIcon.ico | Bin 10134 -> 0 bytes .../UniversalCoreWindow/preview.png | Bin 5715 -> 0 bytes .../MyTemplate.vstemplate | 23 - .../UniversalSwapChainPanel/Shared/App.xaml | 13 - .../Shared/App.xaml.cpp | 21 - .../UniversalSwapChainPanel/Shared/App.xaml.h | 19 - .../Shared/HelloTriangleRenderer.cpp | 161 - .../Shared/HelloTriangleRenderer.h | 17 - .../Shared/OpenGLES.cpp | 222 - .../UniversalSwapChainPanel/Shared/OpenGLES.h | 23 - .../Shared/Shared.Application.Shared.vcxitems | 44 - ...Shared.Application.Shared.vcxitems.filters | 22 - .../Shared/Shared.vstemplate | 28 - .../UniversalSwapChainPanel/Shared/pch.cpp | 1 - .../UniversalSwapChainPanel/Shared/pch.h | 24 - .../Windows/Application_TemporaryKey.pfx | 0 .../Windows/OpenGLESPage.xaml | 13 - .../Windows/OpenGLESPage.xaml.cpp | 188 - .../Windows/OpenGLESPage.xaml.h | 39 - .../Windows/Package-native.appxmanifest | 42 - .../Windows.Application.Windows.vcxproj | 169 - ...indows.Application.Windows.vcxproj.filters | 27 - .../Windows/Windows.vstemplate | 38 - .../UniversalSwapChainPanel/Windows/logo.png | Bin 801 -> 0 bytes .../Windows/smalllogo.png | Bin 329 -> 0 bytes .../Windows/splashscreen.png | Bin 2146 -> 0 bytes .../Windows/storelogo.png | Bin 429 -> 0 bytes .../WindowsPhone/OpenGLESPage.xaml | 13 - .../WindowsPhone/OpenGLESPage.xaml.cpp | 188 - .../WindowsPhone/OpenGLESPage.xaml.h | 39 - .../Package-PhoneAppx.appxmanifest | 45 - ...dowsPhone.Application.WindowsPhone.vcxproj | 134 - ...e.Application.WindowsPhone.vcxproj.filters | 27 - .../WindowsPhone/WindowsPhone.vstemplate | 39 - .../WindowsPhone/phone.logo.png | Bin 2516 -> 0 bytes .../WindowsPhone/phone.smalllogo.png | Bin 753 -> 0 bytes .../WindowsPhone/phone.splashscreen.png | Bin 14715 -> 0 bytes .../WindowsPhone/phone.square71x71logo.png | Bin 1122 -> 0 bytes .../WindowsPhone/phone.storelogo.png | Bin 2200 -> 0 bytes .../WindowsPhone/phone.widelogo.png | Bin 4530 -> 0 bytes .../__TemplateIcon.ico | Bin 10134 -> 0 bytes .../UniversalSwapChainPanel/preview.png | Bin 5715 -> 0 bytes .../HelloTriangleRenderer.cpp | 175 - .../HelloTriangleRenderer.h | 19 - .../MyTemplate.vstemplate | 20 - .../DesktopHelloTriangle/__TemplateIcon.ico | Bin 10134 -> 0 bytes .../DesktopHelloTriangle/application.cpp | 356 - .../Win32/DesktopHelloTriangle/application.h | 41 - .../hellotriangle.vcxproj | 153 - .../hellotriangle.vcxproj.filters | 13 - .../8.1/Win32/DesktopHelloTriangle/pch.cpp | 1 - .../8.1/Win32/DesktopHelloTriangle/pch.h | 13 - tests/WebGL-CTS-known-failures.txt | 16 - tests/angle_end2end_tests.gypi | 77 - tests/angle_end2end_tests_main.cpp | 16 - .../CoreWindowNativeWindow_unittest.cpp | 233 - .../Fence_unittest.cpp | 162 - .../ImageIndexIterator_unittest.cpp | 114 - .../Surface_unittest.cpp | 67 - .../SwapChainPanelNativeWindow_unittest.cpp | 306 - .../TransformFeedback_unittest.cpp | 94 - .../angle_implementation_unit_tests.gypi | 38 - tests/angle_tests/ANGLETest.cpp | 272 - tests/angle_tests/ANGLETest.h | 113 - tests/angle_tests/BindTexImageTest.cpp | 134 - tests/angle_tests/BlendMinMaxTest.cpp | 159 - .../angle_tests/BlitFramebufferANGLETest.cpp | 884 -- tests/angle_tests/BufferDataTest.cpp | 405 - tests/angle_tests/ClearTest.cpp | 204 - tests/angle_tests/CompressedTextureTest.cpp | 301 - tests/angle_tests/CubeMapTextureTest.cpp | 125 - tests/angle_tests/DepthStencilFormatsTest.cpp | 177 - tests/angle_tests/DrawBuffersTest.cpp | 346 - tests/angle_tests/FramebufferFormatsTest.cpp | 181 - tests/angle_tests/GLSLTest.cpp | 907 -- tests/angle_tests/IncompleteTextureTest.cpp | 159 - tests/angle_tests/IndexedPointsTest.cpp | 210 - tests/angle_tests/InstancingTest.cpp | 322 - tests/angle_tests/LineLoopTest.cpp | 201 - tests/angle_tests/MaxTextureSizeTest.cpp | 282 - tests/angle_tests/MipmapTest.cpp | 780 -- tests/angle_tests/OcclusionQueriesTest.cpp | 185 - tests/angle_tests/PBOExtensionTest.cpp | 146 - tests/angle_tests/PointSpritesTest.cpp | 426 - tests/angle_tests/ProgramBinaryTest.cpp | 154 - tests/angle_tests/ReadPixelsTest.cpp | 328 - tests/angle_tests/RendererTest.cpp | 116 - tests/angle_tests/SRGBTextureTest.cpp | 137 - tests/angle_tests/SwizzleTest.cpp | 270 - tests/angle_tests/TextureTest.cpp | 523 - tests/angle_tests/TransformFeedbackTest.cpp | 115 - tests/angle_tests/UniformTest.cpp | 78 - tests/angle_tests/UnpackAlignmentTest.cpp | 309 - tests/angle_tests/UnpackRowLength.cpp | 113 - tests/angle_tests/VertexAttributeTest.cpp | 228 - tests/angle_tests/ViewportTest.cpp | 257 - tests/angle_tests/media/pixel.inl | 11000 ---------------- tests/angle_unittests.gypi | 78 - tests/angle_unittests_main.cpp | 36 - tests/compiler_tests/API_test.cpp | 26 - .../compiler_tests/CollectVariables_test.cpp | 370 - .../DebugShaderPrecision_test.cpp | 803 -- tests/compiler_tests/ExpressionLimit_test.cpp | 510 - tests/compiler_tests/NV_draw_buffers_test.cpp | 60 - tests/compiler_tests/ShaderVariable_test.cpp | 246 - tests/compiler_tests/TypeTracking_test.cpp | 338 - tests/compiler_tests/VariablePacker_test.cpp | 172 - tests/compiler_tests/compiler_tests.gypi | 13 - tests/deqp_tests/deqp_test_main.cpp | 63 - tests/deqp_tests/deqp_tests.cpp | 160 - tests/deqp_tests/deqp_tests.h | 29 - tests/deqp_tests/deqp_tests.txt | 40 - tests/deqp_tests/generate_deqp_tests.py | 44 - .../generate_gles_conformance_tests.py | 68 - .../gles_conformance_tests.cpp | 92 - .../gles_conformance_tests.h | 69 - .../gles_conformance_tests_main.cpp | 23 - tests/perf_tests/BufferSubData.cpp | 293 - tests/perf_tests/BufferSubData.h | 46 - tests/perf_tests/PointSprites.cpp | 160 - tests/perf_tests/PointSprites.h | 40 - tests/perf_tests/SimpleBenchmark.cpp | 159 - tests/perf_tests/SimpleBenchmark.h | 95 - tests/perf_tests/TexSubImage.cpp | 196 - tests/perf_tests/TexSubImage.h | 56 - tests/perf_tests/angle_perf_test_main.cpp | 323 - tests/perf_tests/buffersubdata.json | 10 - tests/perf_tests/pointsprites.json | 3 - tests/perf_tests/texsubimage.json | 3 - .../third_party/perf/angle-mods.patch | 61 - .../perf_tests/third_party/perf/perf_test.cc | 239 - tests/perf_tests/third_party/perf/perf_test.h | 116 - tests/preprocessor_tests/MockDiagnostics.h | 20 - .../preprocessor_tests/MockDirectiveHandler.h | 34 - tests/preprocessor_tests/PreprocessorTest.cpp | 29 - tests/preprocessor_tests/PreprocessorTest.h | 30 - tests/preprocessor_tests/char_test.cpp | 98 - tests/preprocessor_tests/comment_test.cpp | 69 - tests/preprocessor_tests/define_test.cpp | 893 -- tests/preprocessor_tests/error_test.cpp | 92 - tests/preprocessor_tests/extension_test.cpp | 103 - tests/preprocessor_tests/identifier_test.cpp | 162 - tests/preprocessor_tests/if_test.cpp | 835 -- tests/preprocessor_tests/input_test.cpp | 156 - tests/preprocessor_tests/location_test.cpp | 303 - tests/preprocessor_tests/number_test.cpp | 170 - tests/preprocessor_tests/operator_test.cpp | 80 - tests/preprocessor_tests/pragma_test.cpp | 154 - .../preprocessor_tests.gypi | 13 - tests/preprocessor_tests/space_test.cpp | 106 - tests/preprocessor_tests/token_test.cpp | 90 - tests/preprocessor_tests/version_test.cpp | 229 - tests/standalone_tests/EGLThreadTest.cpp | 81 - tests/tests.gyp | 447 - util/EGLWindow.cpp | 231 - util/EGLWindow.h | 104 - util/Event.h | 86 - util/OSWindow.cpp | 53 - util/OSWindow.h | 49 - util/Timer.h | 20 - util/angle_util.vcxproj | 265 - util/angle_util.vcxproj.filters | 53 - util/keyboard.h | 117 - util/mouse.h | 21 - util/path_utils.h | 15 - util/random_utils.cpp | 22 - util/random_utils.h | 12 - util/shader_utils.cpp | 125 - util/shader_utils.h | 29 - util/shared_utils.h | 24 - util/testfixturetypes.h | 88 - util/util.gyp | 61 - util/util.sln | 169 - util/win32/Win32Timer.cpp | 58 - util/win32/Win32Timer.h | 30 - util/win32/Win32Window.cpp | 565 - util/win32/Win32Window.h | 43 - util/win32/Win32_path_utils.cpp | 23 - winrt/8.1/windows/build/All.vcxproj | 331 - winrt/8.1/windows/build/all.sln | 215 - winrt/8.1/windows/src/angle.sln | 188 - winrt/8.1/windows/src/angle_common.vcxproj | 345 - .../windows/src/angle_common.vcxproj.filters | 68 - winrt/8.1/windows/src/commit_id.vcxproj | 339 - .../8.1/windows/src/copy_compiler_dll.vcxproj | 337 - winrt/8.1/windows/src/copy_scripts.vcxproj | 345 - winrt/8.1/windows/src/libANGLE.vcxproj | 626 - .../8.1/windows/src/libANGLE.vcxproj.filters | 4120 ------ winrt/8.1/windows/src/libEGL.vcxproj | 366 - winrt/8.1/windows/src/libEGL.vcxproj.filters | 32 - winrt/8.1/windows/src/libGLESv2.vcxproj | 403 - .../8.1/windows/src/libGLESv2.vcxproj.filters | 134 - winrt/8.1/windows/src/preprocessor.vcxproj | 362 - .../windows/src/preprocessor.vcxproj.filters | 251 - winrt/8.1/windows/src/translator.vcxproj | 335 - .../windows/src/translator.vcxproj.filters | 26 - winrt/8.1/windows/src/translator_lib.vcxproj | 485 - .../src/translator_lib.vcxproj.filters | 1732 --- .../8.1/windows/src/translator_static.vcxproj | 335 - .../src/translator_static.vcxproj.filters | 26 - winrt/8.1/windowsphone/build/All.vcxproj | 248 - winrt/8.1/windowsphone/build/all.sln | 165 - winrt/8.1/windowsphone/src/angle.sln | 142 - .../8.1/windowsphone/src/angle_common.vcxproj | 248 - .../src/angle_common.vcxproj.filters | 68 - winrt/8.1/windowsphone/src/commit_id.vcxproj | 242 - .../src/copy_compiler_dll.vcxproj | 240 - .../8.1/windowsphone/src/copy_scripts.vcxproj | 248 - winrt/8.1/windowsphone/src/libANGLE.vcxproj | 525 - .../windowsphone/src/libANGLE.vcxproj.filters | 4120 ------ winrt/8.1/windowsphone/src/libEGL.vcxproj | 263 - .../windowsphone/src/libEGL.vcxproj.filters | 32 - winrt/8.1/windowsphone/src/libGLESv2.vcxproj | 300 - .../src/libGLESv2.vcxproj.filters | 134 - .../8.1/windowsphone/src/preprocessor.vcxproj | 265 - .../src/preprocessor.vcxproj.filters | 251 - winrt/8.1/windowsphone/src/translator.vcxproj | 238 - .../src/translator.vcxproj.filters | 26 - .../windowsphone/src/translator_lib.vcxproj | 386 - .../src/translator_lib.vcxproj.filters | 1732 --- .../src/translator_static.vcxproj | 238 - .../src/translator_static.vcxproj.filters | 26 - 928 files changed, 236526 deletions(-) delete mode 100644 .gitattributes delete mode 100644 .gitignore delete mode 100644 AUTHORS delete mode 100644 BUILD.gn delete mode 100644 CONTRIBUTORS delete mode 100644 DEPS delete mode 100644 LICENSE delete mode 100644 README.chromium delete mode 100644 build/All.vcxproj delete mode 100644 build/all.gyp delete mode 100644 build/all.sln delete mode 100644 build/common.gypi delete mode 100644 build/common_defines.gypi delete mode 100644 build/gyp_angle delete mode 100644 codereview.settings delete mode 100644 enumerate_files.py delete mode 100644 extensions/ANGLE_depth_texture.txt delete mode 100644 extensions/ANGLE_framebuffer_blit.txt delete mode 100644 extensions/ANGLE_framebuffer_multisample.txt delete mode 100644 extensions/ANGLE_instanced_arrays.txt delete mode 100644 extensions/ANGLE_pack_reverse_row_order.txt delete mode 100644 extensions/ANGLE_platform_angle.txt delete mode 100644 extensions/ANGLE_platform_angle_d3d.txt delete mode 100644 extensions/ANGLE_platform_angle_opengl.txt delete mode 100644 extensions/ANGLE_program_binary.txt delete mode 100644 extensions/ANGLE_surface_d3d_render_to_back_buffer.txt delete mode 100644 extensions/ANGLE_texture_compression_dxt.txt delete mode 100644 extensions/ANGLE_texture_usage.txt delete mode 100644 extensions/ANGLE_timer_query.txt delete mode 100644 extensions/ANGLE_translated_shader_source.txt delete mode 100644 extensions/EGL_ANGLE_d3d_share_handle_client_buffer.txt delete mode 100644 extensions/EGL_ANGLE_direct3d_display.txt delete mode 100644 extensions/EGL_ANGLE_query_surface_pointer.txt delete mode 100644 extensions/EGL_ANGLE_software_display.txt delete mode 100644 extensions/EGL_ANGLE_surface_d3d_texture_2d_share_handle.txt delete mode 100644 extensions/EGL_ANGLE_window_fixed_size.txt delete mode 100644 extensions/EGL_EXT_create_context_robustness.txt delete mode 100644 extensions/EXT_blend_minmax.txt delete mode 100644 extensions/EXT_color_buffer_float.txt delete mode 100644 extensions/EXT_draw_buffers.txt delete mode 100644 extensions/EXT_robustness.txt delete mode 100644 extensions/EXT_shader_framebuffer_fetch.txt delete mode 100644 extensions/EXT_texture_rg.txt delete mode 100644 extensions/EXT_texture_storage.txt delete mode 100644 generate_winrt_projects.py delete mode 100644 include/EGL/egl.h delete mode 100644 include/EGL/eglext.h delete mode 100644 include/EGL/eglplatform.h delete mode 100644 include/GLES2/gl2.h delete mode 100644 include/GLES2/gl2ext.h delete mode 100644 include/GLES2/gl2platform.h delete mode 100644 include/GLES3/gl3.h delete mode 100644 include/GLES3/gl3ext.h delete mode 100644 include/GLES3/gl3platform.h delete mode 100644 include/GLSLANG/ShaderLang.h delete mode 100644 include/GLSLANG/ShaderVars.h delete mode 100755 include/KHR/khrplatform.h delete mode 100644 include/angle_gl.h delete mode 100644 include/angle_windowsstore.h delete mode 100644 samples/angle/hello_triangle/HelloTriangle.cpp delete mode 100644 samples/angle/mip_map_2d/MipMap2D.cpp delete mode 100644 samples/angle/multi_texture/MultiTexture.cpp delete mode 100644 samples/angle/multi_texture/basemap.tga delete mode 100644 samples/angle/multi_texture/lightmap.tga delete mode 100644 samples/angle/multiple_draw_buffers/MultipleDrawBuffers.cpp delete mode 100644 samples/angle/multiple_draw_buffers/multiple_draw_buffers_copy_fs.glsl delete mode 100644 samples/angle/multiple_draw_buffers/multiple_draw_buffers_fs.glsl delete mode 100644 samples/angle/multiple_draw_buffers/multiple_draw_buffers_vs.glsl delete mode 100644 samples/angle/particle_system/ParticleSystem.cpp delete mode 100644 samples/angle/particle_system/smoke.tga delete mode 100644 samples/angle/post_sub_buffer/PostSubBuffer.cpp delete mode 100644 samples/angle/sample_util/Matrix.cpp delete mode 100644 samples/angle/sample_util/Matrix.h delete mode 100644 samples/angle/sample_util/SampleApplication.cpp delete mode 100644 samples/angle/sample_util/SampleApplication.h delete mode 100644 samples/angle/sample_util/Vector.cpp delete mode 100644 samples/angle/sample_util/Vector.h delete mode 100644 samples/angle/sample_util/geometry_utils.cpp delete mode 100644 samples/angle/sample_util/geometry_utils.h delete mode 100644 samples/angle/sample_util/texture_utils.cpp delete mode 100644 samples/angle/sample_util/texture_utils.h delete mode 100644 samples/angle/sample_util/tga_utils.cpp delete mode 100644 samples/angle/sample_util/tga_utils.h delete mode 100644 samples/angle/simple_instancing/SimpleInstancing.cpp delete mode 100644 samples/angle/simple_texture_2d/SimpleTexture2D.cpp delete mode 100644 samples/angle/simple_texture_cubemap/SimpleTextureCubemap.cpp delete mode 100644 samples/angle/simple_vertex_shader/SimpleVertexShader.cpp delete mode 100644 samples/angle/stencil_operations/StencilOperations.cpp delete mode 100644 samples/angle/tex_redef_microbench/TexRedefMicroBench.cpp delete mode 100644 samples/angle/texture_wrap/TextureWrap.cpp delete mode 100644 samples/angle/tri_fan_microbench/TriFanMicroBench.cpp delete mode 100644 samples/dds_to_header.vcxproj delete mode 100644 samples/dds_to_header.vcxproj.filters delete mode 100644 samples/dds_to_header/main.cpp delete mode 100644 samples/essl_to_glsl.vcxproj delete mode 100644 samples/essl_to_glsl.vcxproj.filters delete mode 100644 samples/essl_to_hlsl.vcxproj delete mode 100644 samples/essl_to_hlsl.vcxproj.filters delete mode 100644 samples/hello_triangle.vcxproj delete mode 100644 samples/hello_triangle.vcxproj.filters delete mode 100644 samples/mip_map_2d.vcxproj delete mode 100644 samples/mip_map_2d.vcxproj.filters delete mode 100644 samples/multi_texture.vcxproj delete mode 100644 samples/multi_texture.vcxproj.filters delete mode 100644 samples/multiple_draw_buffers.vcxproj delete mode 100644 samples/multiple_draw_buffers.vcxproj.filters delete mode 100644 samples/particle_system.vcxproj delete mode 100644 samples/particle_system.vcxproj.filters delete mode 100644 samples/post_sub_buffer.vcxproj delete mode 100644 samples/post_sub_buffer.vcxproj.filters delete mode 100644 samples/sample_util.vcxproj delete mode 100644 samples/sample_util.vcxproj.filters delete mode 100644 samples/samples.gyp delete mode 100644 samples/samples.sln delete mode 100644 samples/simple_instancing.vcxproj delete mode 100644 samples/simple_instancing.vcxproj.filters delete mode 100644 samples/simple_texture_2d.vcxproj delete mode 100644 samples/simple_texture_2d.vcxproj.filters delete mode 100644 samples/simple_texture_cubemap.vcxproj delete mode 100644 samples/simple_texture_cubemap.vcxproj.filters delete mode 100644 samples/simple_vertex_shader.vcxproj delete mode 100644 samples/simple_vertex_shader.vcxproj.filters delete mode 100644 samples/stencil_operations.vcxproj delete mode 100644 samples/stencil_operations.vcxproj.filters delete mode 100644 samples/tex_redef_microbench.vcxproj delete mode 100644 samples/tex_redef_microbench.vcxproj.filters delete mode 100644 samples/texture_wrap.vcxproj delete mode 100644 samples/texture_wrap.vcxproj.filters delete mode 100644 samples/translator/translator.cpp delete mode 100644 samples/tri_fan_microbench.vcxproj delete mode 100644 samples/tri_fan_microbench.vcxproj.filters delete mode 100644 src/angle.gyp delete mode 100644 src/angle.sln delete mode 100644 src/angle_common.vcxproj delete mode 100644 src/angle_common.vcxproj.filters delete mode 100644 src/commit.h delete mode 100644 src/commit_id.py delete mode 100644 src/commit_id.vcxproj delete mode 100644 src/commit_id.vcxproj.filters delete mode 100644 src/common/angleutils.cpp delete mode 100644 src/common/angleutils.h delete mode 100644 src/common/debug.cpp delete mode 100644 src/common/debug.h delete mode 100644 src/common/event_tracer.cpp delete mode 100644 src/common/event_tracer.h delete mode 100644 src/common/mathutil.cpp delete mode 100644 src/common/mathutil.h delete mode 100644 src/common/platform.h delete mode 100644 src/common/tls.cpp delete mode 100644 src/common/tls.h delete mode 100644 src/common/utilities.cpp delete mode 100644 src/common/utilities.h delete mode 100644 src/common/version.h delete mode 100644 src/compiler.gypi delete mode 100644 src/compiler/preprocessor/64bit-tokenizer-safety.patch delete mode 100644 src/compiler/preprocessor/DiagnosticsBase.cpp delete mode 100644 src/compiler/preprocessor/DiagnosticsBase.h delete mode 100644 src/compiler/preprocessor/DirectiveHandlerBase.cpp delete mode 100644 src/compiler/preprocessor/DirectiveHandlerBase.h delete mode 100644 src/compiler/preprocessor/DirectiveParser.cpp delete mode 100644 src/compiler/preprocessor/DirectiveParser.h delete mode 100644 src/compiler/preprocessor/ExpressionParser.cpp delete mode 100644 src/compiler/preprocessor/ExpressionParser.h delete mode 100644 src/compiler/preprocessor/ExpressionParser.y delete mode 100644 src/compiler/preprocessor/Input.cpp delete mode 100644 src/compiler/preprocessor/Input.h delete mode 100644 src/compiler/preprocessor/Lexer.cpp delete mode 100644 src/compiler/preprocessor/Lexer.h delete mode 100644 src/compiler/preprocessor/Macro.cpp delete mode 100644 src/compiler/preprocessor/Macro.h delete mode 100644 src/compiler/preprocessor/MacroExpander.cpp delete mode 100644 src/compiler/preprocessor/MacroExpander.h delete mode 100644 src/compiler/preprocessor/Preprocessor.cpp delete mode 100644 src/compiler/preprocessor/Preprocessor.h delete mode 100644 src/compiler/preprocessor/SourceLocation.h delete mode 100644 src/compiler/preprocessor/Token.cpp delete mode 100644 src/compiler/preprocessor/Token.h delete mode 100644 src/compiler/preprocessor/Tokenizer.cpp delete mode 100644 src/compiler/preprocessor/Tokenizer.h delete mode 100644 src/compiler/preprocessor/Tokenizer.l delete mode 100755 src/compiler/preprocessor/generate_parser.sh delete mode 100644 src/compiler/preprocessor/numeric_lex.h delete mode 100644 src/compiler/preprocessor/pp_utils.h delete mode 100644 src/compiler/translator/64bit-lexer-safety.patch delete mode 100644 src/compiler/translator/BaseTypes.h delete mode 100644 src/compiler/translator/BuiltInFunctionEmulator.cpp delete mode 100644 src/compiler/translator/BuiltInFunctionEmulator.h delete mode 100644 src/compiler/translator/BuiltInFunctionEmulatorGLSL.cpp delete mode 100644 src/compiler/translator/BuiltInFunctionEmulatorGLSL.h delete mode 100644 src/compiler/translator/BuiltInFunctionEmulatorHLSL.cpp delete mode 100644 src/compiler/translator/BuiltInFunctionEmulatorHLSL.h delete mode 100644 src/compiler/translator/CodeGen.cpp delete mode 100644 src/compiler/translator/Common.h delete mode 100644 src/compiler/translator/Compiler.cpp delete mode 100644 src/compiler/translator/Compiler.h delete mode 100644 src/compiler/translator/ConstantUnion.h delete mode 100644 src/compiler/translator/DetectCallDepth.cpp delete mode 100644 src/compiler/translator/DetectCallDepth.h delete mode 100644 src/compiler/translator/DetectDiscontinuity.cpp delete mode 100644 src/compiler/translator/DetectDiscontinuity.h delete mode 100644 src/compiler/translator/Diagnostics.cpp delete mode 100644 src/compiler/translator/Diagnostics.h delete mode 100644 src/compiler/translator/DirectiveHandler.cpp delete mode 100644 src/compiler/translator/DirectiveHandler.h delete mode 100644 src/compiler/translator/EmulatePrecision.cpp delete mode 100644 src/compiler/translator/EmulatePrecision.h delete mode 100644 src/compiler/translator/ExtensionBehavior.h delete mode 100644 src/compiler/translator/FlagStd140Structs.cpp delete mode 100644 src/compiler/translator/FlagStd140Structs.h delete mode 100644 src/compiler/translator/ForLoopUnroll.cpp delete mode 100644 src/compiler/translator/ForLoopUnroll.h delete mode 100644 src/compiler/translator/HashNames.h delete mode 100644 src/compiler/translator/InfoSink.cpp delete mode 100644 src/compiler/translator/InfoSink.h delete mode 100644 src/compiler/translator/Initialize.cpp delete mode 100644 src/compiler/translator/Initialize.h delete mode 100644 src/compiler/translator/InitializeDll.cpp delete mode 100644 src/compiler/translator/InitializeDll.h delete mode 100644 src/compiler/translator/InitializeGlobals.h delete mode 100644 src/compiler/translator/InitializeParseContext.cpp delete mode 100644 src/compiler/translator/InitializeParseContext.h delete mode 100644 src/compiler/translator/InitializeVariables.cpp delete mode 100644 src/compiler/translator/InitializeVariables.h delete mode 100644 src/compiler/translator/IntermNode.cpp delete mode 100644 src/compiler/translator/IntermNode.h delete mode 100644 src/compiler/translator/IntermTraverse.cpp delete mode 100644 src/compiler/translator/Intermediate.cpp delete mode 100644 src/compiler/translator/Intermediate.h delete mode 100644 src/compiler/translator/LoopInfo.cpp delete mode 100644 src/compiler/translator/LoopInfo.h delete mode 100644 src/compiler/translator/MMap.h delete mode 100644 src/compiler/translator/NodeSearch.h delete mode 100644 src/compiler/translator/OutputESSL.cpp delete mode 100644 src/compiler/translator/OutputESSL.h delete mode 100644 src/compiler/translator/OutputGLSL.cpp delete mode 100644 src/compiler/translator/OutputGLSL.h delete mode 100644 src/compiler/translator/OutputGLSLBase.cpp delete mode 100644 src/compiler/translator/OutputGLSLBase.h delete mode 100644 src/compiler/translator/OutputHLSL.cpp delete mode 100644 src/compiler/translator/OutputHLSL.h delete mode 100644 src/compiler/translator/ParseContext.cpp delete mode 100644 src/compiler/translator/ParseContext.h delete mode 100644 src/compiler/translator/PoolAlloc.cpp delete mode 100644 src/compiler/translator/PoolAlloc.h delete mode 100644 src/compiler/translator/Pragma.h delete mode 100644 src/compiler/translator/QualifierAlive.cpp delete mode 100644 src/compiler/translator/QualifierAlive.h delete mode 100644 src/compiler/translator/RegenerateStructNames.cpp delete mode 100644 src/compiler/translator/RegenerateStructNames.h delete mode 100644 src/compiler/translator/RenameFunction.h delete mode 100644 src/compiler/translator/RewriteElseBlocks.cpp delete mode 100644 src/compiler/translator/RewriteElseBlocks.h delete mode 100644 src/compiler/translator/ScalarizeVecAndMatConstructorArgs.cpp delete mode 100644 src/compiler/translator/ScalarizeVecAndMatConstructorArgs.h delete mode 100644 src/compiler/translator/SearchSymbol.cpp delete mode 100644 src/compiler/translator/SearchSymbol.h delete mode 100644 src/compiler/translator/ShaderLang.cpp delete mode 100644 src/compiler/translator/ShaderVars.cpp delete mode 100644 src/compiler/translator/StructureHLSL.cpp delete mode 100644 src/compiler/translator/StructureHLSL.h delete mode 100644 src/compiler/translator/SymbolTable.cpp delete mode 100644 src/compiler/translator/SymbolTable.h delete mode 100644 src/compiler/translator/TranslatorESSL.cpp delete mode 100644 src/compiler/translator/TranslatorESSL.h delete mode 100644 src/compiler/translator/TranslatorGLSL.cpp delete mode 100644 src/compiler/translator/TranslatorGLSL.h delete mode 100644 src/compiler/translator/TranslatorHLSL.cpp delete mode 100644 src/compiler/translator/TranslatorHLSL.h delete mode 100644 src/compiler/translator/Types.cpp delete mode 100644 src/compiler/translator/Types.h delete mode 100644 src/compiler/translator/UnfoldShortCircuit.cpp delete mode 100644 src/compiler/translator/UnfoldShortCircuit.h delete mode 100644 src/compiler/translator/UnfoldShortCircuitAST.cpp delete mode 100644 src/compiler/translator/UnfoldShortCircuitAST.h delete mode 100644 src/compiler/translator/UniformHLSL.cpp delete mode 100644 src/compiler/translator/UniformHLSL.h delete mode 100644 src/compiler/translator/UtilsHLSL.cpp delete mode 100644 src/compiler/translator/UtilsHLSL.h delete mode 100644 src/compiler/translator/ValidateLimitations.cpp delete mode 100644 src/compiler/translator/ValidateLimitations.h delete mode 100644 src/compiler/translator/ValidateOutputs.cpp delete mode 100644 src/compiler/translator/ValidateOutputs.h delete mode 100644 src/compiler/translator/VariableInfo.cpp delete mode 100644 src/compiler/translator/VariableInfo.h delete mode 100644 src/compiler/translator/VariablePacker.cpp delete mode 100644 src/compiler/translator/VariablePacker.h delete mode 100644 src/compiler/translator/VersionGLSL.cpp delete mode 100644 src/compiler/translator/VersionGLSL.h delete mode 100644 src/compiler/translator/blocklayout.cpp delete mode 100644 src/compiler/translator/blocklayout.h delete mode 100644 src/compiler/translator/compilerdebug.cpp delete mode 100644 src/compiler/translator/compilerdebug.h delete mode 100644 src/compiler/translator/depgraph/DependencyGraph.cpp delete mode 100644 src/compiler/translator/depgraph/DependencyGraph.h delete mode 100644 src/compiler/translator/depgraph/DependencyGraphBuilder.cpp delete mode 100644 src/compiler/translator/depgraph/DependencyGraphBuilder.h delete mode 100644 src/compiler/translator/depgraph/DependencyGraphOutput.cpp delete mode 100644 src/compiler/translator/depgraph/DependencyGraphOutput.h delete mode 100644 src/compiler/translator/depgraph/DependencyGraphTraverse.cpp delete mode 100644 src/compiler/translator/generate_parser.sh delete mode 100644 src/compiler/translator/glslang.h delete mode 100644 src/compiler/translator/glslang.l delete mode 100644 src/compiler/translator/glslang.y delete mode 100644 src/compiler/translator/glslang_lex.cpp delete mode 100644 src/compiler/translator/glslang_tab.cpp delete mode 100644 src/compiler/translator/glslang_tab.h delete mode 100644 src/compiler/translator/intermOut.cpp delete mode 100644 src/compiler/translator/length_limits.h delete mode 100644 src/compiler/translator/parseConst.cpp delete mode 100644 src/compiler/translator/timing/RestrictFragmentShaderTiming.cpp delete mode 100644 src/compiler/translator/timing/RestrictFragmentShaderTiming.h delete mode 100644 src/compiler/translator/timing/RestrictVertexShaderTiming.cpp delete mode 100644 src/compiler/translator/timing/RestrictVertexShaderTiming.h delete mode 100644 src/compiler/translator/util.cpp delete mode 100644 src/compiler/translator/util.h delete mode 100644 src/copy_compiler_dll.bat delete mode 100644 src/copy_compiler_dll.vcxproj delete mode 100644 src/copy_compiler_dll.vcxproj.filters delete mode 100644 src/copy_scripts.vcxproj delete mode 100644 src/libANGLE.vcxproj delete mode 100644 src/libANGLE.vcxproj.filters delete mode 100644 src/libANGLE/AttributeMap.cpp delete mode 100644 src/libANGLE/AttributeMap.h delete mode 100644 src/libANGLE/BinaryStream.h delete mode 100644 src/libANGLE/Buffer.cpp delete mode 100644 src/libANGLE/Buffer.h delete mode 100644 src/libANGLE/Caps.cpp delete mode 100644 src/libANGLE/Caps.h delete mode 100644 src/libANGLE/Compiler.cpp delete mode 100644 src/libANGLE/Compiler.h delete mode 100644 src/libANGLE/Config.cpp delete mode 100644 src/libANGLE/Config.h delete mode 100644 src/libANGLE/Constants.h delete mode 100644 src/libANGLE/Context.cpp delete mode 100644 src/libANGLE/Context.h delete mode 100644 src/libANGLE/Data.cpp delete mode 100644 src/libANGLE/Data.h delete mode 100644 src/libANGLE/Display.cpp delete mode 100644 src/libANGLE/Display.h delete mode 100644 src/libANGLE/Error.cpp delete mode 100644 src/libANGLE/Error.h delete mode 100644 src/libANGLE/Fence.cpp delete mode 100644 src/libANGLE/Fence.h delete mode 100644 src/libANGLE/Float16ToFloat32.cpp delete mode 100644 src/libANGLE/Float16ToFloat32.py delete mode 100644 src/libANGLE/Framebuffer.cpp delete mode 100644 src/libANGLE/Framebuffer.h delete mode 100644 src/libANGLE/FramebufferAttachment.cpp delete mode 100644 src/libANGLE/FramebufferAttachment.h delete mode 100644 src/libANGLE/HandleAllocator.cpp delete mode 100644 src/libANGLE/HandleAllocator.h delete mode 100644 src/libANGLE/ImageIndex.cpp delete mode 100644 src/libANGLE/ImageIndex.h delete mode 100644 src/libANGLE/Program.cpp delete mode 100644 src/libANGLE/Program.h delete mode 100644 src/libANGLE/Query.cpp delete mode 100644 src/libANGLE/Query.h delete mode 100644 src/libANGLE/RefCountObject.cpp delete mode 100644 src/libANGLE/RefCountObject.h delete mode 100644 src/libANGLE/Renderbuffer.cpp delete mode 100644 src/libANGLE/Renderbuffer.h delete mode 100644 src/libANGLE/ResourceManager.cpp delete mode 100644 src/libANGLE/ResourceManager.h delete mode 100644 src/libANGLE/Sampler.cpp delete mode 100644 src/libANGLE/Sampler.h delete mode 100644 src/libANGLE/Shader.cpp delete mode 100644 src/libANGLE/Shader.h delete mode 100644 src/libANGLE/State.cpp delete mode 100644 src/libANGLE/State.h delete mode 100644 src/libANGLE/Surface.cpp delete mode 100644 src/libANGLE/Surface.h delete mode 100644 src/libANGLE/Texture.cpp delete mode 100644 src/libANGLE/Texture.h delete mode 100644 src/libANGLE/TransformFeedback.cpp delete mode 100644 src/libANGLE/TransformFeedback.h delete mode 100644 src/libANGLE/Uniform.cpp delete mode 100644 src/libANGLE/Uniform.h delete mode 100644 src/libANGLE/VertexArray.cpp delete mode 100644 src/libANGLE/VertexArray.h delete mode 100644 src/libANGLE/VertexAttribute.cpp delete mode 100644 src/libANGLE/VertexAttribute.h delete mode 100644 src/libANGLE/angletypes.cpp delete mode 100644 src/libANGLE/angletypes.h delete mode 100644 src/libANGLE/features.h delete mode 100644 src/libANGLE/formatutils.cpp delete mode 100644 src/libANGLE/formatutils.h delete mode 100644 src/libANGLE/queryconversions.cpp delete mode 100644 src/libANGLE/queryconversions.h delete mode 100644 src/libANGLE/renderer/BufferImpl.h delete mode 100644 src/libANGLE/renderer/CompilerImpl.h delete mode 100644 src/libANGLE/renderer/DisplayImpl.cpp delete mode 100644 src/libANGLE/renderer/DisplayImpl.h delete mode 100644 src/libANGLE/renderer/FenceImpl.h delete mode 100644 src/libANGLE/renderer/FramebufferImpl.h delete mode 100644 src/libANGLE/renderer/Image.h delete mode 100644 src/libANGLE/renderer/IndexRangeCache.cpp delete mode 100644 src/libANGLE/renderer/IndexRangeCache.h delete mode 100644 src/libANGLE/renderer/ProgramImpl.cpp delete mode 100644 src/libANGLE/renderer/ProgramImpl.h delete mode 100644 src/libANGLE/renderer/QueryImpl.h delete mode 100644 src/libANGLE/renderer/RenderbufferImpl.cpp delete mode 100644 src/libANGLE/renderer/RenderbufferImpl.h delete mode 100644 src/libANGLE/renderer/Renderer.cpp delete mode 100644 src/libANGLE/renderer/Renderer.h delete mode 100644 src/libANGLE/renderer/ShaderImpl.h delete mode 100644 src/libANGLE/renderer/SurfaceImpl.cpp delete mode 100644 src/libANGLE/renderer/SurfaceImpl.h delete mode 100644 src/libANGLE/renderer/TextureImpl.h delete mode 100644 src/libANGLE/renderer/TransformFeedbackImpl.h delete mode 100644 src/libANGLE/renderer/VertexArrayImpl.h delete mode 100644 src/libANGLE/renderer/Workarounds.h delete mode 100644 src/libANGLE/renderer/d3d/BufferD3D.cpp delete mode 100644 src/libANGLE/renderer/d3d/BufferD3D.h delete mode 100644 src/libANGLE/renderer/d3d/CompilerD3D.cpp delete mode 100644 src/libANGLE/renderer/d3d/CompilerD3D.h delete mode 100644 src/libANGLE/renderer/d3d/DisplayD3D.cpp delete mode 100644 src/libANGLE/renderer/d3d/DisplayD3D.h delete mode 100644 src/libANGLE/renderer/d3d/DynamicHLSL.cpp delete mode 100644 src/libANGLE/renderer/d3d/DynamicHLSL.h delete mode 100644 src/libANGLE/renderer/d3d/FramebufferD3D.cpp delete mode 100644 src/libANGLE/renderer/d3d/FramebufferD3D.h delete mode 100644 src/libANGLE/renderer/d3d/HLSLCompiler.cpp delete mode 100644 src/libANGLE/renderer/d3d/HLSLCompiler.h delete mode 100644 src/libANGLE/renderer/d3d/ImageD3D.cpp delete mode 100644 src/libANGLE/renderer/d3d/ImageD3D.h delete mode 100644 src/libANGLE/renderer/d3d/IndexBuffer.cpp delete mode 100644 src/libANGLE/renderer/d3d/IndexBuffer.h delete mode 100644 src/libANGLE/renderer/d3d/IndexDataManager.cpp delete mode 100644 src/libANGLE/renderer/d3d/IndexDataManager.h delete mode 100644 src/libANGLE/renderer/d3d/MemoryBuffer.cpp delete mode 100644 src/libANGLE/renderer/d3d/MemoryBuffer.h delete mode 100644 src/libANGLE/renderer/d3d/ProgramD3D.cpp delete mode 100644 src/libANGLE/renderer/d3d/ProgramD3D.h delete mode 100644 src/libANGLE/renderer/d3d/RenderTargetD3D.cpp delete mode 100644 src/libANGLE/renderer/d3d/RenderTargetD3D.h delete mode 100644 src/libANGLE/renderer/d3d/RenderbufferD3D.cpp delete mode 100644 src/libANGLE/renderer/d3d/RenderbufferD3D.h delete mode 100644 src/libANGLE/renderer/d3d/RendererD3D.cpp delete mode 100644 src/libANGLE/renderer/d3d/RendererD3D.h delete mode 100644 src/libANGLE/renderer/d3d/ShaderD3D.cpp delete mode 100644 src/libANGLE/renderer/d3d/ShaderD3D.h delete mode 100644 src/libANGLE/renderer/d3d/ShaderExecutableD3D.cpp delete mode 100644 src/libANGLE/renderer/d3d/ShaderExecutableD3D.h delete mode 100644 src/libANGLE/renderer/d3d/SurfaceD3D.cpp delete mode 100644 src/libANGLE/renderer/d3d/SurfaceD3D.h delete mode 100644 src/libANGLE/renderer/d3d/SwapChainD3D.h delete mode 100644 src/libANGLE/renderer/d3d/TextureD3D.cpp delete mode 100644 src/libANGLE/renderer/d3d/TextureD3D.h delete mode 100644 src/libANGLE/renderer/d3d/TextureStorage.cpp delete mode 100644 src/libANGLE/renderer/d3d/TextureStorage.h delete mode 100644 src/libANGLE/renderer/d3d/TransformFeedbackD3D.cpp delete mode 100644 src/libANGLE/renderer/d3d/TransformFeedbackD3D.h delete mode 100644 src/libANGLE/renderer/d3d/VertexBuffer.cpp delete mode 100644 src/libANGLE/renderer/d3d/VertexBuffer.h delete mode 100644 src/libANGLE/renderer/d3d/VertexDataManager.cpp delete mode 100644 src/libANGLE/renderer/d3d/VertexDataManager.h delete mode 100644 src/libANGLE/renderer/d3d/copyimage.cpp delete mode 100644 src/libANGLE/renderer/d3d/copyimage.h delete mode 100644 src/libANGLE/renderer/d3d/copyimage.inl delete mode 100644 src/libANGLE/renderer/d3d/d3d11/Blit11.cpp delete mode 100644 src/libANGLE/renderer/d3d/d3d11/Blit11.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/Buffer11.cpp delete mode 100644 src/libANGLE/renderer/d3d/d3d11/Buffer11.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/Clear11.cpp delete mode 100644 src/libANGLE/renderer/d3d/d3d11/Clear11.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/Fence11.cpp delete mode 100644 src/libANGLE/renderer/d3d/d3d11/Fence11.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/Framebuffer11.cpp delete mode 100644 src/libANGLE/renderer/d3d/d3d11/Framebuffer11.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/Image11.cpp delete mode 100644 src/libANGLE/renderer/d3d/d3d11/Image11.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/IndexBuffer11.cpp delete mode 100644 src/libANGLE/renderer/d3d/d3d11/IndexBuffer11.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/InputLayoutCache.cpp delete mode 100644 src/libANGLE/renderer/d3d/d3d11/InputLayoutCache.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/NativeWindow.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/PixelTransfer11.cpp delete mode 100644 src/libANGLE/renderer/d3d/d3d11/PixelTransfer11.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/Query11.cpp delete mode 100644 src/libANGLE/renderer/d3d/d3d11/Query11.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/RenderStateCache.cpp delete mode 100644 src/libANGLE/renderer/d3d/d3d11/RenderStateCache.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/RenderTarget11.cpp delete mode 100644 src/libANGLE/renderer/d3d/d3d11/RenderTarget11.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp delete mode 100644 src/libANGLE/renderer/d3d/d3d11/Renderer11.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/ShaderExecutable11.cpp delete mode 100644 src/libANGLE/renderer/d3d/d3d11/ShaderExecutable11.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp delete mode 100644 src/libANGLE/renderer/d3d/d3d11/SwapChain11.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/TextureStorage11.cpp delete mode 100644 src/libANGLE/renderer/d3d/d3d11/TextureStorage11.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/Trim11.cpp delete mode 100644 src/libANGLE/renderer/d3d/d3d11/Trim11.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/VertexArray11.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/VertexBuffer11.cpp delete mode 100644 src/libANGLE/renderer/d3d/d3d11/VertexBuffer11.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/copyvertex.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/copyvertex.inl delete mode 100644 src/libANGLE/renderer/d3d/d3d11/formatutils11.cpp delete mode 100644 src/libANGLE/renderer/d3d/d3d11/formatutils11.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp delete mode 100644 src/libANGLE/renderer/d3d/d3d11/renderer11_utils.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/BufferToTexture11.hlsl delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/Clear11.hlsl delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/Passthrough2D11.hlsl delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/Passthrough3D11.hlsl delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/Swizzle11.hlsl delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_gs.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4f.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4i.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4ui.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_vs.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearfloat11_fl9ps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearfloat11ps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearfloat11vs.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearsint11ps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearsint11vs.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearuint11ps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearuint11vs.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthrough2d11vs.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthrough3d11gs.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthrough3d11vs.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughdepth2d11ps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughlum2d11ps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughlum3d11ps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughlumalpha2d11ps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughlumalpha3d11ps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr2d11ps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr2di11ps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr2dui11ps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr3d11ps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr3di11ps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr3dui11ps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg2d11ps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg2di11ps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg2dui11ps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg3d11ps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg3di11ps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg3dui11ps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2d11ps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2di11ps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2dui11ps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3d11ps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3di11ps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3dui11ps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2d11ps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2di11ps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2dui11ps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3d11ps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3di11ps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3dui11ps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzlef2darrayps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzlef2dps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzlef3dps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzlei2darrayps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzlei2dps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzlei3dps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzleui2darrayps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzleui2dps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzleui3dps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/shaders/generate_shaders.bat delete mode 100644 src/libANGLE/renderer/d3d/d3d11/win32/NativeWindow.cpp delete mode 100644 src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.cpp delete mode 100644 src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/winrt/InspectableNativeWindow.cpp delete mode 100644 src/libANGLE/renderer/d3d/d3d11/winrt/InspectableNativeWindow.h delete mode 100644 src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.cpp delete mode 100644 src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.h delete mode 100644 src/libANGLE/renderer/d3d/d3d9/Blit9.cpp delete mode 100644 src/libANGLE/renderer/d3d/d3d9/Blit9.h delete mode 100644 src/libANGLE/renderer/d3d/d3d9/Buffer9.cpp delete mode 100644 src/libANGLE/renderer/d3d/d3d9/Buffer9.h delete mode 100644 src/libANGLE/renderer/d3d/d3d9/Fence9.cpp delete mode 100644 src/libANGLE/renderer/d3d/d3d9/Fence9.h delete mode 100644 src/libANGLE/renderer/d3d/d3d9/Framebuffer9.cpp delete mode 100644 src/libANGLE/renderer/d3d/d3d9/Framebuffer9.h delete mode 100644 src/libANGLE/renderer/d3d/d3d9/Image9.cpp delete mode 100644 src/libANGLE/renderer/d3d/d3d9/Image9.h delete mode 100644 src/libANGLE/renderer/d3d/d3d9/IndexBuffer9.cpp delete mode 100644 src/libANGLE/renderer/d3d/d3d9/IndexBuffer9.h delete mode 100644 src/libANGLE/renderer/d3d/d3d9/Query9.cpp delete mode 100644 src/libANGLE/renderer/d3d/d3d9/Query9.h delete mode 100644 src/libANGLE/renderer/d3d/d3d9/RenderTarget9.cpp delete mode 100644 src/libANGLE/renderer/d3d/d3d9/RenderTarget9.h delete mode 100644 src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp delete mode 100644 src/libANGLE/renderer/d3d/d3d9/Renderer9.h delete mode 100644 src/libANGLE/renderer/d3d/d3d9/ShaderCache.h delete mode 100644 src/libANGLE/renderer/d3d/d3d9/ShaderExecutable9.cpp delete mode 100644 src/libANGLE/renderer/d3d/d3d9/ShaderExecutable9.h delete mode 100644 src/libANGLE/renderer/d3d/d3d9/SwapChain9.cpp delete mode 100644 src/libANGLE/renderer/d3d/d3d9/SwapChain9.h delete mode 100644 src/libANGLE/renderer/d3d/d3d9/TextureStorage9.cpp delete mode 100644 src/libANGLE/renderer/d3d/d3d9/TextureStorage9.h delete mode 100644 src/libANGLE/renderer/d3d/d3d9/VertexArray9.h delete mode 100644 src/libANGLE/renderer/d3d/d3d9/VertexBuffer9.cpp delete mode 100644 src/libANGLE/renderer/d3d/d3d9/VertexBuffer9.h delete mode 100644 src/libANGLE/renderer/d3d/d3d9/VertexDeclarationCache.cpp delete mode 100644 src/libANGLE/renderer/d3d/d3d9/VertexDeclarationCache.h delete mode 100644 src/libANGLE/renderer/d3d/d3d9/formatutils9.cpp delete mode 100644 src/libANGLE/renderer/d3d/d3d9/formatutils9.h delete mode 100644 src/libANGLE/renderer/d3d/d3d9/renderer9_utils.cpp delete mode 100644 src/libANGLE/renderer/d3d/d3d9/renderer9_utils.h delete mode 100644 src/libANGLE/renderer/d3d/d3d9/shaders/Blit.ps delete mode 100644 src/libANGLE/renderer/d3d/d3d9/shaders/Blit.vs delete mode 100644 src/libANGLE/renderer/d3d/d3d9/shaders/compiled/componentmaskps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d9/shaders/compiled/flipyvs.h delete mode 100644 src/libANGLE/renderer/d3d/d3d9/shaders/compiled/luminanceps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d9/shaders/compiled/passthroughps.h delete mode 100644 src/libANGLE/renderer/d3d/d3d9/shaders/compiled/standardvs.h delete mode 100644 src/libANGLE/renderer/d3d/d3d9/shaders/generate_shaders.bat delete mode 100644 src/libANGLE/renderer/d3d/d3d9/vertexconversion.h delete mode 100644 src/libANGLE/renderer/d3d/formatutilsD3D.cpp delete mode 100644 src/libANGLE/renderer/d3d/formatutilsD3D.h delete mode 100644 src/libANGLE/renderer/d3d/generatemip.h delete mode 100644 src/libANGLE/renderer/d3d/generatemip.inl delete mode 100644 src/libANGLE/renderer/d3d/imageformats.h delete mode 100644 src/libANGLE/renderer/d3d/loadimage.cpp delete mode 100644 src/libANGLE/renderer/d3d/loadimage.h delete mode 100644 src/libANGLE/renderer/d3d/loadimage.inl delete mode 100644 src/libANGLE/renderer/d3d/loadimageSSE2.cpp delete mode 100644 src/libANGLE/validationES.cpp delete mode 100644 src/libANGLE/validationES.h delete mode 100644 src/libANGLE/validationES2.cpp delete mode 100644 src/libANGLE/validationES2.h delete mode 100644 src/libANGLE/validationES3.cpp delete mode 100644 src/libANGLE/validationES3.h delete mode 100644 src/libEGL.gypi delete mode 100644 src/libEGL.vcxproj delete mode 100644 src/libEGL.vcxproj.filters delete mode 100644 src/libEGL/libEGL.cpp delete mode 100644 src/libEGL/libEGL.def delete mode 100644 src/libEGL/libEGL.rc delete mode 100644 src/libEGL/resource.h delete mode 100644 src/libGLESv2.gypi delete mode 100644 src/libGLESv2.vcxproj delete mode 100644 src/libGLESv2.vcxproj.filters delete mode 100644 src/libGLESv2/entry_points_egl.cpp delete mode 100644 src/libGLESv2/entry_points_egl.h delete mode 100644 src/libGLESv2/entry_points_egl_ext.cpp delete mode 100644 src/libGLESv2/entry_points_egl_ext.h delete mode 100644 src/libGLESv2/entry_points_gles_2_0.cpp delete mode 100644 src/libGLESv2/entry_points_gles_2_0.h delete mode 100644 src/libGLESv2/entry_points_gles_2_0_ext.cpp delete mode 100644 src/libGLESv2/entry_points_gles_2_0_ext.h delete mode 100644 src/libGLESv2/entry_points_gles_3_0.cpp delete mode 100644 src/libGLESv2/entry_points_gles_3_0.h delete mode 100644 src/libGLESv2/entry_points_gles_3_0_ext.cpp delete mode 100644 src/libGLESv2/entry_points_gles_3_0_ext.h delete mode 100644 src/libGLESv2/export.h delete mode 100644 src/libGLESv2/global_state.cpp delete mode 100644 src/libGLESv2/global_state.h delete mode 100644 src/libGLESv2/libGLESv2.cpp delete mode 100644 src/libGLESv2/libGLESv2.def delete mode 100644 src/libGLESv2/libGLESv2.rc delete mode 100644 src/libGLESv2/resource.h delete mode 100644 src/libGLESv2_static.vcxproj delete mode 100644 src/libGLESv2_static.vcxproj.filters delete mode 100644 src/preprocessor.vcxproj delete mode 100644 src/preprocessor.vcxproj.filters delete mode 100644 src/third_party/compiler/ArrayBoundsClamper.cpp delete mode 100644 src/third_party/compiler/ArrayBoundsClamper.h delete mode 100644 src/third_party/compiler/LICENSE delete mode 100644 src/third_party/compiler/README.angle delete mode 100644 src/third_party/murmurhash/LICENSE delete mode 100644 src/third_party/murmurhash/MurmurHash3.cpp delete mode 100644 src/third_party/murmurhash/MurmurHash3.h delete mode 100644 src/third_party/systeminfo/SystemInfo.cpp delete mode 100644 src/third_party/systeminfo/SystemInfo.h delete mode 100644 src/third_party/trace_event/trace_event.h delete mode 100644 src/translator.vcxproj delete mode 100644 src/translator.vcxproj.filters delete mode 100644 src/translator_lib.vcxproj delete mode 100644 src/translator_lib.vcxproj.filters delete mode 100644 src/translator_static.vcxproj delete mode 100644 src/translator_static.vcxproj.filters delete mode 100644 templates/8.1/README delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalCoreWindow/MyTemplate.vstemplate delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalCoreWindow/Shared/HelloTriangleRenderer.cpp delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalCoreWindow/Shared/HelloTriangleRenderer.h delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalCoreWindow/Shared/Shared.Application.Shared.vcxitems delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalCoreWindow/Shared/Shared.Application.Shared.vcxitems.filters delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalCoreWindow/Shared/Shared.vstemplate delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalCoreWindow/Shared/app.cpp delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalCoreWindow/Shared/app.h delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalCoreWindow/Shared/pch.cpp delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalCoreWindow/Shared/pch.h delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalCoreWindow/Windows/Application_TemporaryKey.pfx delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalCoreWindow/Windows/Logo.png delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalCoreWindow/Windows/Package-native.appxmanifest delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalCoreWindow/Windows/SmallLogo.png delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalCoreWindow/Windows/SplashScreen.png delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalCoreWindow/Windows/StoreLogo.png delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalCoreWindow/Windows/Windows.Application.Windows.vcxproj delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalCoreWindow/Windows/Windows.Application.Windows.vcxproj.filters delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalCoreWindow/Windows/Windows.vstemplate delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalCoreWindow/WindowsPhone/Package-PhoneAppx.appxmanifest delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalCoreWindow/WindowsPhone/Phone.Logo.png delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalCoreWindow/WindowsPhone/Phone.SmallLogo.png delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalCoreWindow/WindowsPhone/Phone.SplashScreen.png delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalCoreWindow/WindowsPhone/Phone.Square71x71Logo.png delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalCoreWindow/WindowsPhone/Phone.StoreLogo.png delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalCoreWindow/WindowsPhone/Phone.WideLogo.png delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalCoreWindow/WindowsPhone/WindowsPhone.Application.WindowsPhone.vcxproj delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalCoreWindow/WindowsPhone/WindowsPhone.Application.WindowsPhone.vcxproj.filters delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalCoreWindow/WindowsPhone/WindowsPhone.vstemplate delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalCoreWindow/__TemplateIcon.ico delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalCoreWindow/preview.png delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalSwapChainPanel/MyTemplate.vstemplate delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalSwapChainPanel/Shared/App.xaml delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalSwapChainPanel/Shared/App.xaml.cpp delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalSwapChainPanel/Shared/App.xaml.h delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalSwapChainPanel/Shared/HelloTriangleRenderer.cpp delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalSwapChainPanel/Shared/HelloTriangleRenderer.h delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalSwapChainPanel/Shared/OpenGLES.cpp delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalSwapChainPanel/Shared/OpenGLES.h delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalSwapChainPanel/Shared/Shared.Application.Shared.vcxitems delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalSwapChainPanel/Shared/Shared.Application.Shared.vcxitems.filters delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalSwapChainPanel/Shared/Shared.vstemplate delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalSwapChainPanel/Shared/pch.cpp delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalSwapChainPanel/Shared/pch.h delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalSwapChainPanel/Windows/Application_TemporaryKey.pfx delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalSwapChainPanel/Windows/OpenGLESPage.xaml delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalSwapChainPanel/Windows/OpenGLESPage.xaml.cpp delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalSwapChainPanel/Windows/OpenGLESPage.xaml.h delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalSwapChainPanel/Windows/Package-native.appxmanifest delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalSwapChainPanel/Windows/Windows.Application.Windows.vcxproj delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalSwapChainPanel/Windows/Windows.Application.Windows.vcxproj.filters delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalSwapChainPanel/Windows/Windows.vstemplate delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalSwapChainPanel/Windows/logo.png delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalSwapChainPanel/Windows/smalllogo.png delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalSwapChainPanel/Windows/splashscreen.png delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalSwapChainPanel/Windows/storelogo.png delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalSwapChainPanel/WindowsPhone/OpenGLESPage.xaml delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalSwapChainPanel/WindowsPhone/OpenGLESPage.xaml.cpp delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalSwapChainPanel/WindowsPhone/OpenGLESPage.xaml.h delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalSwapChainPanel/WindowsPhone/Package-PhoneAppx.appxmanifest delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalSwapChainPanel/WindowsPhone/WindowsPhone.Application.WindowsPhone.vcxproj delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalSwapChainPanel/WindowsPhone/WindowsPhone.Application.WindowsPhone.vcxproj.filters delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalSwapChainPanel/WindowsPhone/WindowsPhone.vstemplate delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalSwapChainPanel/WindowsPhone/phone.logo.png delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalSwapChainPanel/WindowsPhone/phone.smalllogo.png delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalSwapChainPanel/WindowsPhone/phone.splashscreen.png delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalSwapChainPanel/WindowsPhone/phone.square71x71logo.png delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalSwapChainPanel/WindowsPhone/phone.storelogo.png delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalSwapChainPanel/WindowsPhone/phone.widelogo.png delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalSwapChainPanel/__TemplateIcon.ico delete mode 100644 templates/8.1/Store Apps/Universal Apps/UniversalSwapChainPanel/preview.png delete mode 100644 templates/8.1/Win32/DesktopHelloTriangle/HelloTriangleRenderer.cpp delete mode 100644 templates/8.1/Win32/DesktopHelloTriangle/HelloTriangleRenderer.h delete mode 100644 templates/8.1/Win32/DesktopHelloTriangle/MyTemplate.vstemplate delete mode 100644 templates/8.1/Win32/DesktopHelloTriangle/__TemplateIcon.ico delete mode 100644 templates/8.1/Win32/DesktopHelloTriangle/application.cpp delete mode 100644 templates/8.1/Win32/DesktopHelloTriangle/application.h delete mode 100644 templates/8.1/Win32/DesktopHelloTriangle/hellotriangle.vcxproj delete mode 100644 templates/8.1/Win32/DesktopHelloTriangle/hellotriangle.vcxproj.filters delete mode 100644 templates/8.1/Win32/DesktopHelloTriangle/pch.cpp delete mode 100644 templates/8.1/Win32/DesktopHelloTriangle/pch.h delete mode 100644 tests/WebGL-CTS-known-failures.txt delete mode 100644 tests/angle_end2end_tests.gypi delete mode 100644 tests/angle_end2end_tests_main.cpp delete mode 100644 tests/angle_implementation_unit_tests/CoreWindowNativeWindow_unittest.cpp delete mode 100644 tests/angle_implementation_unit_tests/Fence_unittest.cpp delete mode 100644 tests/angle_implementation_unit_tests/ImageIndexIterator_unittest.cpp delete mode 100644 tests/angle_implementation_unit_tests/Surface_unittest.cpp delete mode 100644 tests/angle_implementation_unit_tests/SwapChainPanelNativeWindow_unittest.cpp delete mode 100644 tests/angle_implementation_unit_tests/TransformFeedback_unittest.cpp delete mode 100644 tests/angle_implementation_unit_tests/angle_implementation_unit_tests.gypi delete mode 100644 tests/angle_tests/ANGLETest.cpp delete mode 100644 tests/angle_tests/ANGLETest.h delete mode 100644 tests/angle_tests/BindTexImageTest.cpp delete mode 100644 tests/angle_tests/BlendMinMaxTest.cpp delete mode 100644 tests/angle_tests/BlitFramebufferANGLETest.cpp delete mode 100644 tests/angle_tests/BufferDataTest.cpp delete mode 100644 tests/angle_tests/ClearTest.cpp delete mode 100644 tests/angle_tests/CompressedTextureTest.cpp delete mode 100644 tests/angle_tests/CubeMapTextureTest.cpp delete mode 100644 tests/angle_tests/DepthStencilFormatsTest.cpp delete mode 100644 tests/angle_tests/DrawBuffersTest.cpp delete mode 100644 tests/angle_tests/FramebufferFormatsTest.cpp delete mode 100644 tests/angle_tests/GLSLTest.cpp delete mode 100644 tests/angle_tests/IncompleteTextureTest.cpp delete mode 100644 tests/angle_tests/IndexedPointsTest.cpp delete mode 100644 tests/angle_tests/InstancingTest.cpp delete mode 100644 tests/angle_tests/LineLoopTest.cpp delete mode 100644 tests/angle_tests/MaxTextureSizeTest.cpp delete mode 100644 tests/angle_tests/MipmapTest.cpp delete mode 100644 tests/angle_tests/OcclusionQueriesTest.cpp delete mode 100755 tests/angle_tests/PBOExtensionTest.cpp delete mode 100644 tests/angle_tests/PointSpritesTest.cpp delete mode 100644 tests/angle_tests/ProgramBinaryTest.cpp delete mode 100644 tests/angle_tests/ReadPixelsTest.cpp delete mode 100644 tests/angle_tests/RendererTest.cpp delete mode 100644 tests/angle_tests/SRGBTextureTest.cpp delete mode 100644 tests/angle_tests/SwizzleTest.cpp delete mode 100644 tests/angle_tests/TextureTest.cpp delete mode 100644 tests/angle_tests/TransformFeedbackTest.cpp delete mode 100644 tests/angle_tests/UniformTest.cpp delete mode 100644 tests/angle_tests/UnpackAlignmentTest.cpp delete mode 100644 tests/angle_tests/UnpackRowLength.cpp delete mode 100644 tests/angle_tests/VertexAttributeTest.cpp delete mode 100644 tests/angle_tests/ViewportTest.cpp delete mode 100644 tests/angle_tests/media/pixel.inl delete mode 100644 tests/angle_unittests.gypi delete mode 100644 tests/angle_unittests_main.cpp delete mode 100644 tests/compiler_tests/API_test.cpp delete mode 100644 tests/compiler_tests/CollectVariables_test.cpp delete mode 100644 tests/compiler_tests/DebugShaderPrecision_test.cpp delete mode 100644 tests/compiler_tests/ExpressionLimit_test.cpp delete mode 100644 tests/compiler_tests/NV_draw_buffers_test.cpp delete mode 100644 tests/compiler_tests/ShaderVariable_test.cpp delete mode 100644 tests/compiler_tests/TypeTracking_test.cpp delete mode 100644 tests/compiler_tests/VariablePacker_test.cpp delete mode 100644 tests/compiler_tests/compiler_tests.gypi delete mode 100644 tests/deqp_tests/deqp_test_main.cpp delete mode 100644 tests/deqp_tests/deqp_tests.cpp delete mode 100644 tests/deqp_tests/deqp_tests.h delete mode 100644 tests/deqp_tests/deqp_tests.txt delete mode 100644 tests/deqp_tests/generate_deqp_tests.py delete mode 100644 tests/gles_conformance_tests/generate_gles_conformance_tests.py delete mode 100644 tests/gles_conformance_tests/gles_conformance_tests.cpp delete mode 100644 tests/gles_conformance_tests/gles_conformance_tests.h delete mode 100644 tests/gles_conformance_tests/gles_conformance_tests_main.cpp delete mode 100644 tests/perf_tests/BufferSubData.cpp delete mode 100644 tests/perf_tests/BufferSubData.h delete mode 100644 tests/perf_tests/PointSprites.cpp delete mode 100644 tests/perf_tests/PointSprites.h delete mode 100644 tests/perf_tests/SimpleBenchmark.cpp delete mode 100644 tests/perf_tests/SimpleBenchmark.h delete mode 100644 tests/perf_tests/TexSubImage.cpp delete mode 100644 tests/perf_tests/TexSubImage.h delete mode 100644 tests/perf_tests/angle_perf_test_main.cpp delete mode 100644 tests/perf_tests/buffersubdata.json delete mode 100644 tests/perf_tests/pointsprites.json delete mode 100644 tests/perf_tests/texsubimage.json delete mode 100644 tests/perf_tests/third_party/perf/angle-mods.patch delete mode 100644 tests/perf_tests/third_party/perf/perf_test.cc delete mode 100644 tests/perf_tests/third_party/perf/perf_test.h delete mode 100644 tests/preprocessor_tests/MockDiagnostics.h delete mode 100644 tests/preprocessor_tests/MockDirectiveHandler.h delete mode 100644 tests/preprocessor_tests/PreprocessorTest.cpp delete mode 100644 tests/preprocessor_tests/PreprocessorTest.h delete mode 100644 tests/preprocessor_tests/char_test.cpp delete mode 100644 tests/preprocessor_tests/comment_test.cpp delete mode 100644 tests/preprocessor_tests/define_test.cpp delete mode 100644 tests/preprocessor_tests/error_test.cpp delete mode 100644 tests/preprocessor_tests/extension_test.cpp delete mode 100644 tests/preprocessor_tests/identifier_test.cpp delete mode 100644 tests/preprocessor_tests/if_test.cpp delete mode 100644 tests/preprocessor_tests/input_test.cpp delete mode 100644 tests/preprocessor_tests/location_test.cpp delete mode 100644 tests/preprocessor_tests/number_test.cpp delete mode 100644 tests/preprocessor_tests/operator_test.cpp delete mode 100644 tests/preprocessor_tests/pragma_test.cpp delete mode 100644 tests/preprocessor_tests/preprocessor_tests.gypi delete mode 100644 tests/preprocessor_tests/space_test.cpp delete mode 100644 tests/preprocessor_tests/token_test.cpp delete mode 100644 tests/preprocessor_tests/version_test.cpp delete mode 100644 tests/standalone_tests/EGLThreadTest.cpp delete mode 100644 tests/tests.gyp delete mode 100644 util/EGLWindow.cpp delete mode 100644 util/EGLWindow.h delete mode 100644 util/Event.h delete mode 100644 util/OSWindow.cpp delete mode 100644 util/OSWindow.h delete mode 100644 util/Timer.h delete mode 100644 util/angle_util.vcxproj delete mode 100644 util/angle_util.vcxproj.filters delete mode 100644 util/keyboard.h delete mode 100644 util/mouse.h delete mode 100644 util/path_utils.h delete mode 100644 util/random_utils.cpp delete mode 100644 util/random_utils.h delete mode 100644 util/shader_utils.cpp delete mode 100644 util/shader_utils.h delete mode 100644 util/shared_utils.h delete mode 100644 util/testfixturetypes.h delete mode 100644 util/util.gyp delete mode 100644 util/util.sln delete mode 100644 util/win32/Win32Timer.cpp delete mode 100644 util/win32/Win32Timer.h delete mode 100644 util/win32/Win32Window.cpp delete mode 100644 util/win32/Win32Window.h delete mode 100644 util/win32/Win32_path_utils.cpp delete mode 100644 winrt/8.1/windows/build/All.vcxproj delete mode 100644 winrt/8.1/windows/build/all.sln delete mode 100644 winrt/8.1/windows/src/angle.sln delete mode 100644 winrt/8.1/windows/src/angle_common.vcxproj delete mode 100644 winrt/8.1/windows/src/angle_common.vcxproj.filters delete mode 100644 winrt/8.1/windows/src/commit_id.vcxproj delete mode 100644 winrt/8.1/windows/src/copy_compiler_dll.vcxproj delete mode 100644 winrt/8.1/windows/src/copy_scripts.vcxproj delete mode 100644 winrt/8.1/windows/src/libANGLE.vcxproj delete mode 100644 winrt/8.1/windows/src/libANGLE.vcxproj.filters delete mode 100644 winrt/8.1/windows/src/libEGL.vcxproj delete mode 100644 winrt/8.1/windows/src/libEGL.vcxproj.filters delete mode 100644 winrt/8.1/windows/src/libGLESv2.vcxproj delete mode 100644 winrt/8.1/windows/src/libGLESv2.vcxproj.filters delete mode 100644 winrt/8.1/windows/src/preprocessor.vcxproj delete mode 100644 winrt/8.1/windows/src/preprocessor.vcxproj.filters delete mode 100644 winrt/8.1/windows/src/translator.vcxproj delete mode 100644 winrt/8.1/windows/src/translator.vcxproj.filters delete mode 100644 winrt/8.1/windows/src/translator_lib.vcxproj delete mode 100644 winrt/8.1/windows/src/translator_lib.vcxproj.filters delete mode 100644 winrt/8.1/windows/src/translator_static.vcxproj delete mode 100644 winrt/8.1/windows/src/translator_static.vcxproj.filters delete mode 100644 winrt/8.1/windowsphone/build/All.vcxproj delete mode 100644 winrt/8.1/windowsphone/build/all.sln delete mode 100644 winrt/8.1/windowsphone/src/angle.sln delete mode 100644 winrt/8.1/windowsphone/src/angle_common.vcxproj delete mode 100644 winrt/8.1/windowsphone/src/angle_common.vcxproj.filters delete mode 100644 winrt/8.1/windowsphone/src/commit_id.vcxproj delete mode 100644 winrt/8.1/windowsphone/src/copy_compiler_dll.vcxproj delete mode 100644 winrt/8.1/windowsphone/src/copy_scripts.vcxproj delete mode 100644 winrt/8.1/windowsphone/src/libANGLE.vcxproj delete mode 100644 winrt/8.1/windowsphone/src/libANGLE.vcxproj.filters delete mode 100644 winrt/8.1/windowsphone/src/libEGL.vcxproj delete mode 100644 winrt/8.1/windowsphone/src/libEGL.vcxproj.filters delete mode 100644 winrt/8.1/windowsphone/src/libGLESv2.vcxproj delete mode 100644 winrt/8.1/windowsphone/src/libGLESv2.vcxproj.filters delete mode 100644 winrt/8.1/windowsphone/src/preprocessor.vcxproj delete mode 100644 winrt/8.1/windowsphone/src/preprocessor.vcxproj.filters delete mode 100644 winrt/8.1/windowsphone/src/translator.vcxproj delete mode 100644 winrt/8.1/windowsphone/src/translator.vcxproj.filters delete mode 100644 winrt/8.1/windowsphone/src/translator_lib.vcxproj delete mode 100644 winrt/8.1/windowsphone/src/translator_lib.vcxproj.filters delete mode 100644 winrt/8.1/windowsphone/src/translator_static.vcxproj delete mode 100644 winrt/8.1/windowsphone/src/translator_static.vcxproj.filters diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 196f35370..000000000 --- a/.gitattributes +++ /dev/null @@ -1,8 +0,0 @@ -* text=auto -*.sln eol=crlf -*.vcxproj eol=crlf -*.vcxproj.filters eol=crlf -*.bat eol=crlf -*.rc eol=crlf -**/compiled/*.h eol=crlf -*.sh eol=lf diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 95bcc71c0..000000000 --- a/.gitignore +++ /dev/null @@ -1,32 +0,0 @@ -Debug/ -Debug_Win32/ -Debug_x64/ -Debug_ARM/ -Release/ -Release_Win32/ -Release_x64/ -Release_ARM/ -*.sdf -*.ncb -*.suo -tests/*.sln -tests/*.vcxproj -tests/*.vcxproj.filters -tests/*.vcxproj.user -patches-* -*.target.mk -ipch -debug.txt -*.opensdf -*.orig -*.rej -.gclient_entries -/third_party -tests/third_party -out -lib/* -Makefile -*.Makefile -*~ -.gclient -angle_internal diff --git a/AUTHORS b/AUTHORS deleted file mode 100644 index 0cb81d3e8..000000000 --- a/AUTHORS +++ /dev/null @@ -1,39 +0,0 @@ -# This is the official list of The ANGLE Project Authors -# for copyright purposes. -# This file is distinct from the CONTRIBUTORS files. -# See the latter for an explanation. - -# Names should be added to this file as -# Name or Organization -# Email addresses for individuals are tracked elsewhere to avoid spam. - -Google Inc. -TransGaming Inc. -3DLabs Inc. Ltd. - -Adobe Systems Inc. -Autodesk, Inc. -BlackBerry Limited -Cable Television Laboratories, Inc. -Cloud Party, Inc. -Imagination Technologies Ltd. -Intel Corporation -Mozilla Corporation -Turbulenz -Klarälvdalens Datakonsult AB -Microsoft Corporation -Microsoft Open Technologies, Inc. -NVIDIA Corporation - -Jacek Caban -Mark Callow -Ginn Chen -Tibor den Ouden -James Hauxwell -Sam Hocevar -Pierre Leveille -Jonathan Liu -Boying Lu -Aitor Moreno -Yuri O'Donnell -Josh Soref diff --git a/BUILD.gn b/BUILD.gn deleted file mode 100644 index 822a7321a..000000000 --- a/BUILD.gn +++ /dev/null @@ -1,285 +0,0 @@ -# Copyright 2014 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -gles_gypi = exec_script( - "//build/gypi_to_gn.py", - [ rebase_path("src/libGLESv2.gypi") ], - "scope", - [ "src/libGLESv2.gypi" ]) - -compiler_gypi = exec_script( - "//build/gypi_to_gn.py", - [ rebase_path("src/compiler.gypi") ], - "scope", - [ "src/compiler.gypi" ]) - -# This config is exported to dependent targets (and also applied to internal -# ones). -config("external_config") { - include_dirs = [ - "include", - ] -} - -# This config is applied to internal Angle targets (not pushed to dependents). -config("internal_config") { - include_dirs = [ - "include", - "src", - ] -} - -component("translator") { - sources = [ - "src/compiler/translator/ShaderLang.cpp", - "src/compiler/translator/ShaderVars.cpp", - ] - - defines = [ "ANGLE_TRANSLATOR_IMPLEMENTATION" ] - - configs -= [ "//build/config/compiler:chromium_code" ] - configs += [ - ":internal_config", - "//build/config/compiler:no_chromium_code", - ] - - public_deps = [ - ":translator_lib", - ] -} - -# Holds the shared includes so we only need to list them once. -source_set("includes") { - sources = [ - "include/EGL/egl.h", - "include/EGL/eglext.h", - "include/EGL/eglplatform.h", - "include/GLES2/gl2.h", - "include/GLES2/gl2ext.h", - "include/GLES2/gl2platform.h", - "include/GLES3/gl3.h", - "include/GLES3/gl3ext.h", - "include/GLES3/gl3platform.h", - "include/GLSLANG/ShaderLang.h", - "include/KHR/khrplatform.h", - ] -} - -static_library("preprocessor") { - sources = rebase_path(compiler_gypi.angle_preprocessor_sources, ".", "src") - - configs -= [ "//build/config/compiler:chromium_code" ] - configs += [ - ":internal_config", - "//build/config/compiler:no_chromium_code", - ] -} - -config("translator_static_config") { - defines = [ "ANGLE_TRANSLATOR_STATIC" ] -} - -static_library("angle_common") { - sources = rebase_path(gles_gypi.libangle_common_sources, ".", "src") - configs -= [ "//build/config/compiler:chromium_code" ] - configs += [ - ":internal_config", - ] -} - -static_library("translator_lib") { - sources = rebase_path(compiler_gypi.angle_translator_lib_sources, ".", "src") - - configs -= [ "//build/config/compiler:chromium_code" ] - configs += [ - ":internal_config", - ":translator_static_config", - "//build/config/compiler:no_chromium_code", - ] - public_configs = [ ":external_config" ] - - deps = [ - ":includes", - ":preprocessor", - ] - - public_deps = [ - ":angle_common", - ] -} - -static_library("translator_static") { - sources = [ - "src/compiler/translator/ShaderLang.cpp", - "src/compiler/translator/ShaderVars.cpp", - ] - - configs -= [ "//build/config/compiler:chromium_code" ] - configs += [ - ":internal_config", - "//build/config/compiler:no_chromium_code", - ] - public_configs = [ ":translator_static_config" ] - - public_deps = [ - ":translator_lib", - ] -} - -config("commit_id_config") { - include_dirs = [ "$root_gen_dir/angle" ] -} - -action("commit_id") { - script = "src/commit_id.py" - - output_file = "$root_gen_dir/angle/id/commit.h" - outputs = [ output_file ] - - args = [ - "gen", - rebase_path(".", root_build_dir), - rebase_path(output_file, root_build_dir), - ] - - public_configs = [ ":commit_id_config" ] -} - -angle_enable_d3d9 = false -angle_enable_d3d11 = false - -if (is_win) { - angle_enable_d3d9 = true - angle_enable_d3d11 = true - - import("//build/config/win/visual_studio_version.gni") - copy("copy_compiler_dll") { - sources = [ "$windows_sdk_path/Redist/D3D/$cpu_arch/d3dcompiler_47.dll" ] - outputs = [ "$root_build_dir/d3dcompiler_47.dll" ] - } - -} # is_win - -config("libANGLE_config") { - defines = [] - if (angle_enable_d3d9) { - defines += [ "ANGLE_ENABLE_D3D9" ] - } - if (angle_enable_d3d11) { - defines += [ "ANGLE_ENABLE_D3D11" ] - } - defines += [ - "GL_APICALL=", - "GL_GLEXT_PROTOTYPES=", - "EGLAPI=", - ] -} - -static_library("libANGLE") { - sources = rebase_path(gles_gypi.libangle_sources, ".", "src") - - libs = [] - defines = [ - "LIBANGLE_IMPLEMENTATION", - ] - - # Shared D3D sources. - if (angle_enable_d3d9 || angle_enable_d3d11) { - sources += rebase_path(gles_gypi.libangle_d3d_shared_sources, ".", "src") - - defines += [ - "ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ " + - "\"d3dcompiler_47.dll\", \"d3dcompiler_46.dll\", \"d3dcompiler_43.dll\" }", - ] - } - - if (angle_enable_d3d9) { - sources += rebase_path(gles_gypi.libangle_d3d9_sources, ".", "src") - libs += [ "d3d9.lib" ] - } - - if (angle_enable_d3d11) { - sources += rebase_path(gles_gypi.libangle_d3d11_sources, ".", "src") - sources += rebase_path(gles_gypi.libangle_d3d11_win32_sources, ".", "src") - libs += [ "dxguid.lib" ] - } - - if (is_debug) { - defines += [ - "ANGLE_GENERATE_SHADER_DEBUG_INFO", - "ANGLE_ENABLE_DEBUG_ANNOTATIONS", - ] - } - - configs -= [ "//build/config/compiler:chromium_code" ] - configs += [ - ":commit_id_config", - ":libANGLE_config", - ":internal_config", - "//build/config/compiler:no_chromium_code", - ] - - deps = [ - ":commit_id", - ":includes", - ":translator", - ":angle_common", - ] - - if (is_win) { - deps += [ ":copy_compiler_dll" ] - } -} - -shared_library("libGLESv2") { - sources = rebase_path(gles_gypi.libglesv2_sources, ".", "src") - - if (is_win) { - ldflags = [ "/DEF:" + - rebase_path("src/libGLESv2/libGLESv2.def", root_build_dir) ] - } - - configs -= [ "//build/config/compiler:chromium_code" ] - configs += [ - ":internal_config", - ":commit_id_config", - ":libANGLE_config", - "//build/config/compiler:no_chromium_code", - ] - - defines = [ - "LIBGLESV2_IMPLEMENTATION", - ] - - deps = [ - ":includes", - ":libANGLE", - ] -} - -shared_library("libEGL") { - sources = rebase_path(gles_gypi.libegl_sources, ".", "src") - - if (is_win) { - ldflags = [ "/DEF:" + - rebase_path("src/libEGL/libEGL.def", root_build_dir) ] - } - - configs -= [ "//build/config/compiler:chromium_code" ] - configs += [ - ":internal_config", - ":commit_id_config", - ":libANGLE_config", - "//build/config/compiler:no_chromium_code", - ] - - defines = [ - "LIBEGL_IMPLEMENTATION", - ] - - deps = [ - ":includes", - ":libGLESv2", - ] -} diff --git a/CONTRIBUTORS b/CONTRIBUTORS deleted file mode 100644 index f506e62a4..000000000 --- a/CONTRIBUTORS +++ /dev/null @@ -1,98 +0,0 @@ -# This is the official list of people who can contribute -# (and who have contributed) code to the ANGLE project -# repository. -# The AUTHORS file lists the copyright holders; this file -# lists people. For example, Google employees are listed here -# but not in AUTHORS, because Google holds the copyright. -# - -TransGaming Inc. - Nicolas Capens - Daniel Koch - Geoff Lang - Andrew Lewycky - Jamie Madill - Gavriel State - Shannon Woods - -Google Inc. - Brent Austin - Michael Bai - John Bauman - Peter Beverloo - Steve Block - Rachel Blum - Eric Boren - Henry Bridge - Nat Duca - Peter Kasting - Vangelis Kokkevis - Zhenyao Mo - Daniel Nicoara - Alastair Patrick - Alok Priyadarshi - Kenneth Russell - Brian Salomon - Gregg Tavares - Jeff Timanus - Ben Vanik - Adrienne Walker - thestig@chromium.org - Justin Schuh - Scott Graham - Corentin Wallez - -Adobe Systems Inc. - Alexandru Chiculita - Steve Minns - Max Vujovic - -Autodesk, Inc. - Ranger Harke - -Cloud Party, Inc. - Conor Dickinson - -Digia Plc - Andrew Knight - -Imagination Technologies Ltd. - Gregoire Payen de La Garanderie - -Intel Corporation - Jin Yang - Andy Chen - Josh Triplett - Sudarsana Nagineni - -Klarälvdalens Datakonsult AB - Milian Wolff - -Mozilla Corp. - Ehsan Akhgari - Jeff Gilbert - Mike Hommey - Benoit Jacob - Makoto Kato - Vladimir Vukicevic - -Turbulenz - Michael Braithwaite - -Ulrik Persson (ddefrostt) -Mark Banner (standard8mbp) -David Kilzer -Jacek Caban -Tibor den Ouden - -Microsoft Corporation -Cooper Partin -Austin Kinross -Minmin Gong - -Microsoft Open Technologies, Inc. -Cooper Partin -Austin Kinross - -NVIDIA Corporation - Olli Etuaho diff --git a/DEPS b/DEPS deleted file mode 100644 index 8f3f5cc56..000000000 --- a/DEPS +++ /dev/null @@ -1,23 +0,0 @@ -deps = { - "third_party/gyp": - "http://gyp.googlecode.com/svn/trunk@1987", - - # TODO(kbr): figure out how to better stay in sync with Chromium's - # versions of googletest and googlemock. - "tests/third_party/googletest": - "http://googletest.googlecode.com/svn/trunk@629", - - "tests/third_party/googlemock": - "http://googlemock.googlecode.com/svn/trunk@410", - - "tests/third_party/rapidjson": - "https://github.com/miloyip/rapidjson.git@24dd7ef839b79941d129e833368e913aa9c045da", -} - -hooks = [ - { - # A change to a .gyp, .gypi, or to GYP itself should run the generator. - "pattern": ".", - "action": ["python", "build/gyp_angle"], - }, -] diff --git a/LICENSE b/LICENSE deleted file mode 100644 index bdacb32e3..000000000 --- a/LICENSE +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright (C) 2002-2013 The ANGLE Project Authors. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// -// Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following -// disclaimer in the documentation and/or other materials provided -// with the distribution. -// -// Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. -// Ltd., nor the names of their contributors may be used to endorse -// or promote products derived from this software without specific -// prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -// POSSIBILITY OF SUCH DAMAGE. diff --git a/README.chromium b/README.chromium deleted file mode 100644 index b141fb530..000000000 --- a/README.chromium +++ /dev/null @@ -1,10 +0,0 @@ -Name: ANGLE -URL: https://code.google.com/p/angleproject/ -Version: 2422 -License: BSD -License File: LICENSE - -Description: -ANGLE is a conformant implementation of the OpenGL ES 2.0 -specification that is hardware‐accelerated via Direct3D. - diff --git a/build/All.vcxproj b/build/All.vcxproj deleted file mode 100644 index 39be25580..000000000 --- a/build/All.vcxproj +++ /dev/null @@ -1,348 +0,0 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - - {6A350E31-5922-5CC0-5EAE-CD3447D43FE5} - Win32Proj - All - true - - - - MultiByte - Utility - - - v120 - - - - - - - - - $(ExecutablePath);$(MSBuildProjectDirectory)\..\third_party\cygwin\bin\;$(MSBuildProjectDirectory)\..\third_party\python_26\ - $(SolutionDir)$(Configuration)_$(Platform)\ - $(OutDir)obj\$(ProjectName)\ - false - false - true - true - $(ProjectName) - - - - $(OutDir)obj\global_intermediate\angle;..\tests\third_party\googletest;..\tests\third_party\googletest\include;..\tests\third_party\googlemock;..\tests\third_party\googlemock\include;..\src;..\include;..\samples\angle\sample_util;..\util;%(AdditionalIncludeDirectories) - /MP %(AdditionalOptions) - EnableFastChecks - true - false - ProgramDatabase - 4201;%(DisableSpecificWarnings) - false - true - false - Disabled - NotUsing - _VARIADIC_MAX=10;ANGLE_TRANSLATOR_STATIC;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_47.dll", "d3dcompiler_46.dll", "d3dcompiler_43.dll" };ANGLE_ENABLE_D3D9;ANGLE_ENABLE_D3D11;_DEBUG;%(PreprocessorDefinitions) - MultiThreadedDebug - true - true - Level4 - - - MachineX86 - - - - false - true - $(OutDir)lib\$(TargetName).lib - $(OutDir)$(TargetName).map - Console - MachineX86 - - - $(OutDir)obj\global_intermediate\angle;..\tests\third_party\googletest;..\tests\third_party\googletest\include;..\tests\third_party\googlemock;..\tests\third_party\googlemock\include;..\src;..\include;..\samples\angle\sample_util;..\util;%(AdditionalIncludeDirectories) - 0x0409 - _VARIADIC_MAX=10;ANGLE_TRANSLATOR_STATIC;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_47.dll", "d3dcompiler_46.dll", "d3dcompiler_43.dll" };ANGLE_ENABLE_D3D9;ANGLE_ENABLE_D3D11;_DEBUG;%(PreprocessorDefinitions);%(PreprocessorDefinitions) - - - - - $(OutDir)obj\global_intermediate\angle;..\tests\third_party\googletest;..\tests\third_party\googletest\include;..\tests\third_party\googlemock;..\tests\third_party\googlemock\include;..\src;..\include;..\samples\angle\sample_util;..\util;%(AdditionalIncludeDirectories) - /MP %(AdditionalOptions) - EnableFastChecks - true - false - ProgramDatabase - 4201;%(DisableSpecificWarnings) - false - true - false - Disabled - NotUsing - _VARIADIC_MAX=10;ANGLE_TRANSLATOR_STATIC;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_47.dll", "d3dcompiler_46.dll", "d3dcompiler_43.dll" };ANGLE_ENABLE_D3D9;ANGLE_ENABLE_D3D11;_DEBUG;%(PreprocessorDefinitions) - MultiThreadedDebug - true - true - Level4 - - - MachineX64 - - - - false - true - $(OutDir)lib\$(TargetName).lib - $(OutDir)$(TargetName).map - Console - MachineX64 - - - $(OutDir)obj\global_intermediate\angle;..\tests\third_party\googletest;..\tests\third_party\googletest\include;..\tests\third_party\googlemock;..\tests\third_party\googlemock\include;..\src;..\include;..\samples\angle\sample_util;..\util;%(AdditionalIncludeDirectories) - 0x0409 - _VARIADIC_MAX=10;ANGLE_TRANSLATOR_STATIC;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_47.dll", "d3dcompiler_46.dll", "d3dcompiler_43.dll" };ANGLE_ENABLE_D3D9;ANGLE_ENABLE_D3D11;_DEBUG;%(PreprocessorDefinitions);%(PreprocessorDefinitions) - - - - - $(OutDir)obj\global_intermediate\angle;..\tests\third_party\googletest;..\tests\third_party\googletest\include;..\tests\third_party\googlemock;..\tests\third_party\googlemock\include;..\src;..\include;..\samples\angle\sample_util;..\util;%(AdditionalIncludeDirectories) - /MP %(AdditionalOptions) - true - false - ProgramDatabase - 4201;%(DisableSpecificWarnings) - false - true - false - MaxSpeed - NotUsing - _VARIADIC_MAX=10;ANGLE_TRANSLATOR_STATIC;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_47.dll", "d3dcompiler_46.dll", "d3dcompiler_43.dll" };ANGLE_ENABLE_D3D9;ANGLE_ENABLE_D3D11;NDEBUG;%(PreprocessorDefinitions) - MultiThreaded - true - true - Level4 - - - MachineX86 - - - - false - true - $(OutDir)lib\$(TargetName).lib - $(OutDir)$(TargetName).map - Console - MachineX86 - - - $(OutDir)obj\global_intermediate\angle;..\tests\third_party\googletest;..\tests\third_party\googletest\include;..\tests\third_party\googlemock;..\tests\third_party\googlemock\include;..\src;..\include;..\samples\angle\sample_util;..\util;%(AdditionalIncludeDirectories) - 0x0409 - _VARIADIC_MAX=10;ANGLE_TRANSLATOR_STATIC;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_47.dll", "d3dcompiler_46.dll", "d3dcompiler_43.dll" };ANGLE_ENABLE_D3D9;ANGLE_ENABLE_D3D11;NDEBUG;%(PreprocessorDefinitions);%(PreprocessorDefinitions) - - - - - $(OutDir)obj\global_intermediate\angle;..\tests\third_party\googletest;..\tests\third_party\googletest\include;..\tests\third_party\googlemock;..\tests\third_party\googlemock\include;..\src;..\include;..\samples\angle\sample_util;..\util;%(AdditionalIncludeDirectories) - /MP %(AdditionalOptions) - true - false - ProgramDatabase - 4201;%(DisableSpecificWarnings) - false - true - false - MaxSpeed - NotUsing - _VARIADIC_MAX=10;ANGLE_TRANSLATOR_STATIC;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_47.dll", "d3dcompiler_46.dll", "d3dcompiler_43.dll" };ANGLE_ENABLE_D3D9;ANGLE_ENABLE_D3D11;NDEBUG;%(PreprocessorDefinitions) - MultiThreaded - true - true - Level4 - - - MachineX64 - - - - false - true - $(OutDir)lib\$(TargetName).lib - $(OutDir)$(TargetName).map - Console - MachineX64 - - - $(OutDir)obj\global_intermediate\angle;..\tests\third_party\googletest;..\tests\third_party\googletest\include;..\tests\third_party\googlemock;..\tests\third_party\googlemock\include;..\src;..\include;..\samples\angle\sample_util;..\util;%(AdditionalIncludeDirectories) - 0x0409 - _VARIADIC_MAX=10;ANGLE_TRANSLATOR_STATIC;GL_APICALL=;GL_GLEXT_PROTOTYPES=;EGLAPI=;ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_47.dll", "d3dcompiler_46.dll", "d3dcompiler_43.dll" };ANGLE_ENABLE_D3D9;ANGLE_ENABLE_D3D11;NDEBUG;%(PreprocessorDefinitions);%(PreprocessorDefinitions) - - - - - - - - {7AB4B0C9-D974-3A65-ED87-61816B6917CB} - false - - - {3A46013C-B640-778D-0A72-AD5B5DA3DDDD} - false - - - {7642CFD5-F187-3E3F-F8FF-859949B9F13E} - false - - - {3FFF5710-D21B-35AE-D702-74BB256EF228} - false - - - {6AC42CF5-8088-F4BE-7C3D-1BD1BD440FCC} - false - - - {65BE9C8A-0FF1-A4B7-C81E-43801F64E13D} - false - - - {D51F95B2-D343-6B88-7902-C392ACC99260} - false - - - {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} - false - - - {777AC703-C49D-E67C-F2EA-2BEDE272A25F} - false - - - {6CCCC557-DFA3-68D4-31FA-1EFB0C5F37B2} - false - - - {47A3E249-4072-CEAC-C824-93730F91967A} - false - - - {77BF5E61-D417-460B-3577-C6DB11F1C835} - false - - - {1B48E1FA-F164-F21D-BA38-D53C2A3D11E0} - false - - - {FC40D481-9BE0-9D33-D41D-29AB73012A9C} - false - - - {40A1229C-43E3-9BDF-4631-09FCBCBA9924} - false - - - {849D6AB5-9713-E302-D4B5-C6E1DA8F3ABF} - false - - - {3FB466F5-09FA-1D72-2AEB-7EC7BE7EE322} - false - - - {8542F0DD-960F-568F-4A42-29BE80FE20EC} - false - - - {E1D85D74-24E3-C2BE-8BF6-5727B1604F4A} - false - - - {98C323F1-AAAD-E200-732B-130B5FE42F28} - false - - - {21154EBC-791C-953B-9B89-36CFAC0D3158} - false - - - {6C6F4C16-A57A-059D-F4AE-ED3E379924DB} - false - - - {FFF96E0C-3EBD-BF28-5334-39F494EB02A1} - false - - - {B78CD201-9348-EB6A-8D4D-0C327F80DA8B} - false - - - {C407D429-0F1C-BE5D-8F80-F08469D9DFC3} - false - - - {3B6C9A4F-60D0-0D71-9FAD-70E40A6B9241} - false - - - {8C560510-F9F5-10F8-5F9C-A15647F7D234} - false - - - {48E2D2FB-F38E-3449-60F2-D4A11B0EED4A} - false - - - {6633AF08-BADE-2C68-2017-D4F75DE9694B} - false - - - {05982785-025B-56F2-792D-FCFC28A06C4D} - false - - - {1B37CAC9-AC5A-645D-51A1-728BD9B5AFDC} - false - - - {CE267024-5326-CB0E-37B5-3BC7B467B7A2} - false - - - {B963A7BE-5848-FA7D-1BF4-1AC177E49D9C} - false - - - {A6EE0EDF-BF2D-F118-729A-2E3DA36C1CD4} - false - - - {C6F5F392-E865-A884-79FF-584117837B36} - false - - - - - diff --git a/build/all.gyp b/build/all.gyp deleted file mode 100644 index d0dba498b..000000000 --- a/build/all.gyp +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright (c) 2010 The ANGLE Project Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -{ - 'targets': - [ - { - 'target_name': 'All', - 'type': 'none', - 'dependencies': - [ - '../src/angle.gyp:*', - ], - 'conditions': - [ - # Generate tests and sample projects for classic desktop - # builds only. - ['angle_build_winrt==0', - { - 'dependencies': - [ - '../samples/samples.gyp:*', - '../tests/tests.gyp:*', - ], - }], - ], - }, - ], -} diff --git a/build/all.sln b/build/all.sln deleted file mode 100644 index c28ab626d..000000000 --- a/build/all.sln +++ /dev/null @@ -1,635 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 13.00 -# Visual Studio 2013 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "(build)", ".", "{BC1FC5DA-9C54-7D77-0BFF-DEDDFD7A8F6C}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "(samples)", "..\samples", "{F3BC0D42-B0CF-B5A5-CB24-2A332226E744}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "(src)", "..\src", "{607B4E81-FB72-43DF-177C-C1403E500480}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "(tests)", "..\tests", "{47EF6A04-BAE2-1AFF-696A-133DA2D057FB}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "(util)", "..\util", "{593E5771-A9CE-7BB4-6B2B-2AE6F616D6F6}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "All", "All.vcxproj", "{6A350E31-5922-5CC0-5EAE-CD3447D43FE5}" - ProjectSection(ProjectDependencies) = postProject - {7AB4B0C9-D974-3A65-ED87-61816B6917CB} = {7AB4B0C9-D974-3A65-ED87-61816B6917CB} - {3A46013C-B640-778D-0A72-AD5B5DA3DDDD} = {3A46013C-B640-778D-0A72-AD5B5DA3DDDD} - {7642CFD5-F187-3E3F-F8FF-859949B9F13E} = {7642CFD5-F187-3E3F-F8FF-859949B9F13E} - {3FFF5710-D21B-35AE-D702-74BB256EF228} = {3FFF5710-D21B-35AE-D702-74BB256EF228} - {6AC42CF5-8088-F4BE-7C3D-1BD1BD440FCC} = {6AC42CF5-8088-F4BE-7C3D-1BD1BD440FCC} - {65BE9C8A-0FF1-A4B7-C81E-43801F64E13D} = {65BE9C8A-0FF1-A4B7-C81E-43801F64E13D} - {D51F95B2-D343-6B88-7902-C392ACC99260} = {D51F95B2-D343-6B88-7902-C392ACC99260} - {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} = {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} - {777AC703-C49D-E67C-F2EA-2BEDE272A25F} = {777AC703-C49D-E67C-F2EA-2BEDE272A25F} - {6CCCC557-DFA3-68D4-31FA-1EFB0C5F37B2} = {6CCCC557-DFA3-68D4-31FA-1EFB0C5F37B2} - {47A3E249-4072-CEAC-C824-93730F91967A} = {47A3E249-4072-CEAC-C824-93730F91967A} - {77BF5E61-D417-460B-3577-C6DB11F1C835} = {77BF5E61-D417-460B-3577-C6DB11F1C835} - {1B48E1FA-F164-F21D-BA38-D53C2A3D11E0} = {1B48E1FA-F164-F21D-BA38-D53C2A3D11E0} - {FC40D481-9BE0-9D33-D41D-29AB73012A9C} = {FC40D481-9BE0-9D33-D41D-29AB73012A9C} - {40A1229C-43E3-9BDF-4631-09FCBCBA9924} = {40A1229C-43E3-9BDF-4631-09FCBCBA9924} - {849D6AB5-9713-E302-D4B5-C6E1DA8F3ABF} = {849D6AB5-9713-E302-D4B5-C6E1DA8F3ABF} - {3FB466F5-09FA-1D72-2AEB-7EC7BE7EE322} = {3FB466F5-09FA-1D72-2AEB-7EC7BE7EE322} - {8542F0DD-960F-568F-4A42-29BE80FE20EC} = {8542F0DD-960F-568F-4A42-29BE80FE20EC} - {E1D85D74-24E3-C2BE-8BF6-5727B1604F4A} = {E1D85D74-24E3-C2BE-8BF6-5727B1604F4A} - {98C323F1-AAAD-E200-732B-130B5FE42F28} = {98C323F1-AAAD-E200-732B-130B5FE42F28} - {21154EBC-791C-953B-9B89-36CFAC0D3158} = {21154EBC-791C-953B-9B89-36CFAC0D3158} - {6C6F4C16-A57A-059D-F4AE-ED3E379924DB} = {6C6F4C16-A57A-059D-F4AE-ED3E379924DB} - {FFF96E0C-3EBD-BF28-5334-39F494EB02A1} = {FFF96E0C-3EBD-BF28-5334-39F494EB02A1} - {B78CD201-9348-EB6A-8D4D-0C327F80DA8B} = {B78CD201-9348-EB6A-8D4D-0C327F80DA8B} - {C407D429-0F1C-BE5D-8F80-F08469D9DFC3} = {C407D429-0F1C-BE5D-8F80-F08469D9DFC3} - {3B6C9A4F-60D0-0D71-9FAD-70E40A6B9241} = {3B6C9A4F-60D0-0D71-9FAD-70E40A6B9241} - {8C560510-F9F5-10F8-5F9C-A15647F7D234} = {8C560510-F9F5-10F8-5F9C-A15647F7D234} - {48E2D2FB-F38E-3449-60F2-D4A11B0EED4A} = {48E2D2FB-F38E-3449-60F2-D4A11B0EED4A} - {6633AF08-BADE-2C68-2017-D4F75DE9694B} = {6633AF08-BADE-2C68-2017-D4F75DE9694B} - {05982785-025B-56F2-792D-FCFC28A06C4D} = {05982785-025B-56F2-792D-FCFC28A06C4D} - {1B37CAC9-AC5A-645D-51A1-728BD9B5AFDC} = {1B37CAC9-AC5A-645D-51A1-728BD9B5AFDC} - {CE267024-5326-CB0E-37B5-3BC7B467B7A2} = {CE267024-5326-CB0E-37B5-3BC7B467B7A2} - {B963A7BE-5848-FA7D-1BF4-1AC177E49D9C} = {B963A7BE-5848-FA7D-1BF4-1AC177E49D9C} - {A6EE0EDF-BF2D-F118-729A-2E3DA36C1CD4} = {A6EE0EDF-BF2D-F118-729A-2E3DA36C1CD4} - {C6F5F392-E865-A884-79FF-584117837B36} = {C6F5F392-E865-A884-79FF-584117837B36} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "angle_common", "..\src\angle_common.vcxproj", "{7AB4B0C9-D974-3A65-ED87-61816B6917CB}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "angle_end2end_tests", "..\tests\angle_end2end_tests.vcxproj", "{A6EE0EDF-BF2D-F118-729A-2E3DA36C1CD4}" - ProjectSection(ProjectDependencies) = postProject - {D51F95B2-D343-6B88-7902-C392ACC99260} = {D51F95B2-D343-6B88-7902-C392ACC99260} - {777AC703-C49D-E67C-F2EA-2BEDE272A25F} = {777AC703-C49D-E67C-F2EA-2BEDE272A25F} - {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} = {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} - {CE267024-5326-CB0E-37B5-3BC7B467B7A2} = {CE267024-5326-CB0E-37B5-3BC7B467B7A2} - {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E} = {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E} - {65BE9C8A-0FF1-A4B7-C81E-43801F64E13D} = {65BE9C8A-0FF1-A4B7-C81E-43801F64E13D} - {3FFF5710-D21B-35AE-D702-74BB256EF228} = {3FFF5710-D21B-35AE-D702-74BB256EF228} - {7642CFD5-F187-3E3F-F8FF-859949B9F13E} = {7642CFD5-F187-3E3F-F8FF-859949B9F13E} - {7AB4B0C9-D974-3A65-ED87-61816B6917CB} = {7AB4B0C9-D974-3A65-ED87-61816B6917CB} - {6CCCC557-DFA3-68D4-31FA-1EFB0C5F37B2} = {6CCCC557-DFA3-68D4-31FA-1EFB0C5F37B2} - {3A46013C-B640-778D-0A72-AD5B5DA3DDDD} = {3A46013C-B640-778D-0A72-AD5B5DA3DDDD} - {47A3E249-4072-CEAC-C824-93730F91967A} = {47A3E249-4072-CEAC-C824-93730F91967A} - {1B37CAC9-AC5A-645D-51A1-728BD9B5AFDC} = {1B37CAC9-AC5A-645D-51A1-728BD9B5AFDC} - {05982785-025B-56F2-792D-FCFC28A06C4D} = {05982785-025B-56F2-792D-FCFC28A06C4D} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "angle_internal_gmock", "..\tests\angle_internal_gmock.vcxproj", "{1B37CAC9-AC5A-645D-51A1-728BD9B5AFDC}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "angle_internal_gtest", "..\tests\angle_internal_gtest.vcxproj", "{05982785-025B-56F2-792D-FCFC28A06C4D}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "angle_perf_tests", "..\tests\angle_perf_tests.vcxproj", "{C6F5F392-E865-A884-79FF-584117837B36}" - ProjectSection(ProjectDependencies) = postProject - {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} = {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} - {777AC703-C49D-E67C-F2EA-2BEDE272A25F} = {777AC703-C49D-E67C-F2EA-2BEDE272A25F} - {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E} = {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E} - {CE267024-5326-CB0E-37B5-3BC7B467B7A2} = {CE267024-5326-CB0E-37B5-3BC7B467B7A2} - {1B37CAC9-AC5A-645D-51A1-728BD9B5AFDC} = {1B37CAC9-AC5A-645D-51A1-728BD9B5AFDC} - {05982785-025B-56F2-792D-FCFC28A06C4D} = {05982785-025B-56F2-792D-FCFC28A06C4D} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "angle_test_support", "..\tests\angle_test_support.vcxproj", "{CE267024-5326-CB0E-37B5-3BC7B467B7A2}" - ProjectSection(ProjectDependencies) = postProject - {1B37CAC9-AC5A-645D-51A1-728BD9B5AFDC} = {1B37CAC9-AC5A-645D-51A1-728BD9B5AFDC} - {05982785-025B-56F2-792D-FCFC28A06C4D} = {05982785-025B-56F2-792D-FCFC28A06C4D} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "angle_unittests", "..\tests\angle_unittests.vcxproj", "{B963A7BE-5848-FA7D-1BF4-1AC177E49D9C}" - ProjectSection(ProjectDependencies) = postProject - {7642CFD5-F187-3E3F-F8FF-859949B9F13E} = {7642CFD5-F187-3E3F-F8FF-859949B9F13E} - {65BE9C8A-0FF1-A4B7-C81E-43801F64E13D} = {65BE9C8A-0FF1-A4B7-C81E-43801F64E13D} - {CE267024-5326-CB0E-37B5-3BC7B467B7A2} = {CE267024-5326-CB0E-37B5-3BC7B467B7A2} - {3FFF5710-D21B-35AE-D702-74BB256EF228} = {3FFF5710-D21B-35AE-D702-74BB256EF228} - {7AB4B0C9-D974-3A65-ED87-61816B6917CB} = {7AB4B0C9-D974-3A65-ED87-61816B6917CB} - {1B37CAC9-AC5A-645D-51A1-728BD9B5AFDC} = {1B37CAC9-AC5A-645D-51A1-728BD9B5AFDC} - {05982785-025B-56F2-792D-FCFC28A06C4D} = {05982785-025B-56F2-792D-FCFC28A06C4D} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "angle_util", "..\util\angle_util.vcxproj", "{9767C383-B58A-AB1E-4713-CF8FC5BA2B7E}" - ProjectSection(ProjectDependencies) = postProject - {777AC703-C49D-E67C-F2EA-2BEDE272A25F} = {777AC703-C49D-E67C-F2EA-2BEDE272A25F} - {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} = {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "commit_id", "..\src\commit_id.vcxproj", "{6CCCC557-DFA3-68D4-31FA-1EFB0C5F37B2}" - ProjectSection(ProjectDependencies) = postProject - {3A46013C-B640-778D-0A72-AD5B5DA3DDDD} = {3A46013C-B640-778D-0A72-AD5B5DA3DDDD} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "copy_compiler_dll", "..\src\copy_compiler_dll.vcxproj", "{47A3E249-4072-CEAC-C824-93730F91967A}" - ProjectSection(ProjectDependencies) = postProject - {3A46013C-B640-778D-0A72-AD5B5DA3DDDD} = {3A46013C-B640-778D-0A72-AD5B5DA3DDDD} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "copy_scripts", "..\src\copy_scripts.vcxproj", "{3A46013C-B640-778D-0A72-AD5B5DA3DDDD}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dds_to_header", "..\samples\dds_to_header.vcxproj", "{FC40D481-9BE0-9D33-D41D-29AB73012A9C}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "essl_to_glsl", "..\samples\essl_to_glsl.vcxproj", "{77BF5E61-D417-460B-3577-C6DB11F1C835}" - ProjectSection(ProjectDependencies) = postProject - {65BE9C8A-0FF1-A4B7-C81E-43801F64E13D} = {65BE9C8A-0FF1-A4B7-C81E-43801F64E13D} - {3FFF5710-D21B-35AE-D702-74BB256EF228} = {3FFF5710-D21B-35AE-D702-74BB256EF228} - {7642CFD5-F187-3E3F-F8FF-859949B9F13E} = {7642CFD5-F187-3E3F-F8FF-859949B9F13E} - {7AB4B0C9-D974-3A65-ED87-61816B6917CB} = {7AB4B0C9-D974-3A65-ED87-61816B6917CB} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "essl_to_hlsl", "..\samples\essl_to_hlsl.vcxproj", "{1B48E1FA-F164-F21D-BA38-D53C2A3D11E0}" - ProjectSection(ProjectDependencies) = postProject - {65BE9C8A-0FF1-A4B7-C81E-43801F64E13D} = {65BE9C8A-0FF1-A4B7-C81E-43801F64E13D} - {3FFF5710-D21B-35AE-D702-74BB256EF228} = {3FFF5710-D21B-35AE-D702-74BB256EF228} - {7642CFD5-F187-3E3F-F8FF-859949B9F13E} = {7642CFD5-F187-3E3F-F8FF-859949B9F13E} - {7AB4B0C9-D974-3A65-ED87-61816B6917CB} = {7AB4B0C9-D974-3A65-ED87-61816B6917CB} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hello_triangle", "..\samples\hello_triangle.vcxproj", "{849D6AB5-9713-E302-D4B5-C6E1DA8F3ABF}" - ProjectSection(ProjectDependencies) = postProject - {40A1229C-43E3-9BDF-4631-09FCBCBA9924} = {40A1229C-43E3-9BDF-4631-09FCBCBA9924} - {777AC703-C49D-E67C-F2EA-2BEDE272A25F} = {777AC703-C49D-E67C-F2EA-2BEDE272A25F} - {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} = {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} - {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E} = {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libANGLE", "..\src\libANGLE.vcxproj", "{D51F95B2-D343-6B88-7902-C392ACC99260}" - ProjectSection(ProjectDependencies) = postProject - {6CCCC557-DFA3-68D4-31FA-1EFB0C5F37B2} = {6CCCC557-DFA3-68D4-31FA-1EFB0C5F37B2} - {47A3E249-4072-CEAC-C824-93730F91967A} = {47A3E249-4072-CEAC-C824-93730F91967A} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libEGL", "..\src\libEGL.vcxproj", "{777AC703-C49D-E67C-F2EA-2BEDE272A25F}" - ProjectSection(ProjectDependencies) = postProject - {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} = {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libGLESv2", "..\src\libGLESv2.vcxproj", "{D5D676ED-C189-2A6B-8DE3-F4CA6175550F}" - ProjectSection(ProjectDependencies) = postProject - {D51F95B2-D343-6B88-7902-C392ACC99260} = {D51F95B2-D343-6B88-7902-C392ACC99260} - {65BE9C8A-0FF1-A4B7-C81E-43801F64E13D} = {65BE9C8A-0FF1-A4B7-C81E-43801F64E13D} - {3FFF5710-D21B-35AE-D702-74BB256EF228} = {3FFF5710-D21B-35AE-D702-74BB256EF228} - {7642CFD5-F187-3E3F-F8FF-859949B9F13E} = {7642CFD5-F187-3E3F-F8FF-859949B9F13E} - {7AB4B0C9-D974-3A65-ED87-61816B6917CB} = {7AB4B0C9-D974-3A65-ED87-61816B6917CB} - {6CCCC557-DFA3-68D4-31FA-1EFB0C5F37B2} = {6CCCC557-DFA3-68D4-31FA-1EFB0C5F37B2} - {3A46013C-B640-778D-0A72-AD5B5DA3DDDD} = {3A46013C-B640-778D-0A72-AD5B5DA3DDDD} - {47A3E249-4072-CEAC-C824-93730F91967A} = {47A3E249-4072-CEAC-C824-93730F91967A} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mip_map_2d", "..\samples\mip_map_2d.vcxproj", "{3FB466F5-09FA-1D72-2AEB-7EC7BE7EE322}" - ProjectSection(ProjectDependencies) = postProject - {40A1229C-43E3-9BDF-4631-09FCBCBA9924} = {40A1229C-43E3-9BDF-4631-09FCBCBA9924} - {777AC703-C49D-E67C-F2EA-2BEDE272A25F} = {777AC703-C49D-E67C-F2EA-2BEDE272A25F} - {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} = {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} - {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E} = {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "multi_texture", "..\samples\multi_texture.vcxproj", "{8542F0DD-960F-568F-4A42-29BE80FE20EC}" - ProjectSection(ProjectDependencies) = postProject - {40A1229C-43E3-9BDF-4631-09FCBCBA9924} = {40A1229C-43E3-9BDF-4631-09FCBCBA9924} - {777AC703-C49D-E67C-F2EA-2BEDE272A25F} = {777AC703-C49D-E67C-F2EA-2BEDE272A25F} - {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} = {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} - {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E} = {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "multiple_draw_buffers", "..\samples\multiple_draw_buffers.vcxproj", "{FFF96E0C-3EBD-BF28-5334-39F494EB02A1}" - ProjectSection(ProjectDependencies) = postProject - {40A1229C-43E3-9BDF-4631-09FCBCBA9924} = {40A1229C-43E3-9BDF-4631-09FCBCBA9924} - {777AC703-C49D-E67C-F2EA-2BEDE272A25F} = {777AC703-C49D-E67C-F2EA-2BEDE272A25F} - {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} = {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} - {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E} = {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "particle_system", "..\samples\particle_system.vcxproj", "{E1D85D74-24E3-C2BE-8BF6-5727B1604F4A}" - ProjectSection(ProjectDependencies) = postProject - {40A1229C-43E3-9BDF-4631-09FCBCBA9924} = {40A1229C-43E3-9BDF-4631-09FCBCBA9924} - {777AC703-C49D-E67C-F2EA-2BEDE272A25F} = {777AC703-C49D-E67C-F2EA-2BEDE272A25F} - {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} = {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} - {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E} = {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "post_sub_buffer", "..\samples\post_sub_buffer.vcxproj", "{6633AF08-BADE-2C68-2017-D4F75DE9694B}" - ProjectSection(ProjectDependencies) = postProject - {40A1229C-43E3-9BDF-4631-09FCBCBA9924} = {40A1229C-43E3-9BDF-4631-09FCBCBA9924} - {777AC703-C49D-E67C-F2EA-2BEDE272A25F} = {777AC703-C49D-E67C-F2EA-2BEDE272A25F} - {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} = {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} - {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E} = {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "preprocessor", "..\src\preprocessor.vcxproj", "{7642CFD5-F187-3E3F-F8FF-859949B9F13E}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sample_util", "..\samples\sample_util.vcxproj", "{40A1229C-43E3-9BDF-4631-09FCBCBA9924}" - ProjectSection(ProjectDependencies) = postProject - {777AC703-C49D-E67C-F2EA-2BEDE272A25F} = {777AC703-C49D-E67C-F2EA-2BEDE272A25F} - {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} = {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "simple_instancing", "..\samples\simple_instancing.vcxproj", "{98C323F1-AAAD-E200-732B-130B5FE42F28}" - ProjectSection(ProjectDependencies) = postProject - {40A1229C-43E3-9BDF-4631-09FCBCBA9924} = {40A1229C-43E3-9BDF-4631-09FCBCBA9924} - {777AC703-C49D-E67C-F2EA-2BEDE272A25F} = {777AC703-C49D-E67C-F2EA-2BEDE272A25F} - {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} = {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} - {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E} = {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "simple_texture_2d", "..\samples\simple_texture_2d.vcxproj", "{B78CD201-9348-EB6A-8D4D-0C327F80DA8B}" - ProjectSection(ProjectDependencies) = postProject - {40A1229C-43E3-9BDF-4631-09FCBCBA9924} = {40A1229C-43E3-9BDF-4631-09FCBCBA9924} - {777AC703-C49D-E67C-F2EA-2BEDE272A25F} = {777AC703-C49D-E67C-F2EA-2BEDE272A25F} - {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} = {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} - {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E} = {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "simple_texture_cubemap", "..\samples\simple_texture_cubemap.vcxproj", "{C407D429-0F1C-BE5D-8F80-F08469D9DFC3}" - ProjectSection(ProjectDependencies) = postProject - {40A1229C-43E3-9BDF-4631-09FCBCBA9924} = {40A1229C-43E3-9BDF-4631-09FCBCBA9924} - {777AC703-C49D-E67C-F2EA-2BEDE272A25F} = {777AC703-C49D-E67C-F2EA-2BEDE272A25F} - {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} = {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} - {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E} = {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "simple_vertex_shader", "..\samples\simple_vertex_shader.vcxproj", "{3B6C9A4F-60D0-0D71-9FAD-70E40A6B9241}" - ProjectSection(ProjectDependencies) = postProject - {40A1229C-43E3-9BDF-4631-09FCBCBA9924} = {40A1229C-43E3-9BDF-4631-09FCBCBA9924} - {777AC703-C49D-E67C-F2EA-2BEDE272A25F} = {777AC703-C49D-E67C-F2EA-2BEDE272A25F} - {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} = {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} - {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E} = {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "stencil_operations", "..\samples\stencil_operations.vcxproj", "{8C560510-F9F5-10F8-5F9C-A15647F7D234}" - ProjectSection(ProjectDependencies) = postProject - {40A1229C-43E3-9BDF-4631-09FCBCBA9924} = {40A1229C-43E3-9BDF-4631-09FCBCBA9924} - {777AC703-C49D-E67C-F2EA-2BEDE272A25F} = {777AC703-C49D-E67C-F2EA-2BEDE272A25F} - {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} = {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} - {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E} = {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tex_redef_microbench", "..\samples\tex_redef_microbench.vcxproj", "{6C6F4C16-A57A-059D-F4AE-ED3E379924DB}" - ProjectSection(ProjectDependencies) = postProject - {40A1229C-43E3-9BDF-4631-09FCBCBA9924} = {40A1229C-43E3-9BDF-4631-09FCBCBA9924} - {777AC703-C49D-E67C-F2EA-2BEDE272A25F} = {777AC703-C49D-E67C-F2EA-2BEDE272A25F} - {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} = {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} - {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E} = {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "texture_wrap", "..\samples\texture_wrap.vcxproj", "{48E2D2FB-F38E-3449-60F2-D4A11B0EED4A}" - ProjectSection(ProjectDependencies) = postProject - {40A1229C-43E3-9BDF-4631-09FCBCBA9924} = {40A1229C-43E3-9BDF-4631-09FCBCBA9924} - {777AC703-C49D-E67C-F2EA-2BEDE272A25F} = {777AC703-C49D-E67C-F2EA-2BEDE272A25F} - {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} = {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} - {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E} = {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "translator", "..\src\translator.vcxproj", "{6AC42CF5-8088-F4BE-7C3D-1BD1BD440FCC}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "translator_lib", "..\src\translator_lib.vcxproj", "{3FFF5710-D21B-35AE-D702-74BB256EF228}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "translator_static", "..\src\translator_static.vcxproj", "{65BE9C8A-0FF1-A4B7-C81E-43801F64E13D}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tri_fan_microbench", "..\samples\tri_fan_microbench.vcxproj", "{21154EBC-791C-953B-9B89-36CFAC0D3158}" - ProjectSection(ProjectDependencies) = postProject - {40A1229C-43E3-9BDF-4631-09FCBCBA9924} = {40A1229C-43E3-9BDF-4631-09FCBCBA9924} - {777AC703-C49D-E67C-F2EA-2BEDE272A25F} = {777AC703-C49D-E67C-F2EA-2BEDE272A25F} - {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} = {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} - {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E} = {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Release|x64 = Release|x64 - Debug|Win32 = Debug|Win32 - Debug|x64 = Debug|x64 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {05982785-025B-56F2-792D-FCFC28A06C4D}.Release|x64.ActiveCfg = Release|x64 - {05982785-025B-56F2-792D-FCFC28A06C4D}.Release|x64.Build.0 = Release|x64 - {05982785-025B-56F2-792D-FCFC28A06C4D}.Debug|Win32.ActiveCfg = Debug|Win32 - {05982785-025B-56F2-792D-FCFC28A06C4D}.Debug|Win32.Build.0 = Debug|Win32 - {05982785-025B-56F2-792D-FCFC28A06C4D}.Debug|x64.ActiveCfg = Debug|x64 - {05982785-025B-56F2-792D-FCFC28A06C4D}.Debug|x64.Build.0 = Debug|x64 - {05982785-025B-56F2-792D-FCFC28A06C4D}.Release|Win32.ActiveCfg = Release|Win32 - {05982785-025B-56F2-792D-FCFC28A06C4D}.Release|Win32.Build.0 = Release|Win32 - {1B37CAC9-AC5A-645D-51A1-728BD9B5AFDC}.Release|x64.ActiveCfg = Release|x64 - {1B37CAC9-AC5A-645D-51A1-728BD9B5AFDC}.Release|x64.Build.0 = Release|x64 - {1B37CAC9-AC5A-645D-51A1-728BD9B5AFDC}.Debug|Win32.ActiveCfg = Debug|Win32 - {1B37CAC9-AC5A-645D-51A1-728BD9B5AFDC}.Debug|Win32.Build.0 = Debug|Win32 - {1B37CAC9-AC5A-645D-51A1-728BD9B5AFDC}.Debug|x64.ActiveCfg = Debug|x64 - {1B37CAC9-AC5A-645D-51A1-728BD9B5AFDC}.Debug|x64.Build.0 = Debug|x64 - {1B37CAC9-AC5A-645D-51A1-728BD9B5AFDC}.Release|Win32.ActiveCfg = Release|Win32 - {1B37CAC9-AC5A-645D-51A1-728BD9B5AFDC}.Release|Win32.Build.0 = Release|Win32 - {1B48E1FA-F164-F21D-BA38-D53C2A3D11E0}.Release|x64.ActiveCfg = Release|x64 - {1B48E1FA-F164-F21D-BA38-D53C2A3D11E0}.Release|x64.Build.0 = Release|x64 - {1B48E1FA-F164-F21D-BA38-D53C2A3D11E0}.Debug|Win32.ActiveCfg = Debug|Win32 - {1B48E1FA-F164-F21D-BA38-D53C2A3D11E0}.Debug|Win32.Build.0 = Debug|Win32 - {1B48E1FA-F164-F21D-BA38-D53C2A3D11E0}.Debug|x64.ActiveCfg = Debug|x64 - {1B48E1FA-F164-F21D-BA38-D53C2A3D11E0}.Debug|x64.Build.0 = Debug|x64 - {1B48E1FA-F164-F21D-BA38-D53C2A3D11E0}.Release|Win32.ActiveCfg = Release|Win32 - {1B48E1FA-F164-F21D-BA38-D53C2A3D11E0}.Release|Win32.Build.0 = Release|Win32 - {21154EBC-791C-953B-9B89-36CFAC0D3158}.Release|x64.ActiveCfg = Release|x64 - {21154EBC-791C-953B-9B89-36CFAC0D3158}.Release|x64.Build.0 = Release|x64 - {21154EBC-791C-953B-9B89-36CFAC0D3158}.Debug|Win32.ActiveCfg = Debug|Win32 - {21154EBC-791C-953B-9B89-36CFAC0D3158}.Debug|Win32.Build.0 = Debug|Win32 - {21154EBC-791C-953B-9B89-36CFAC0D3158}.Debug|x64.ActiveCfg = Debug|x64 - {21154EBC-791C-953B-9B89-36CFAC0D3158}.Debug|x64.Build.0 = Debug|x64 - {21154EBC-791C-953B-9B89-36CFAC0D3158}.Release|Win32.ActiveCfg = Release|Win32 - {21154EBC-791C-953B-9B89-36CFAC0D3158}.Release|Win32.Build.0 = Release|Win32 - {3A46013C-B640-778D-0A72-AD5B5DA3DDDD}.Release|x64.ActiveCfg = Release|x64 - {3A46013C-B640-778D-0A72-AD5B5DA3DDDD}.Release|x64.Build.0 = Release|x64 - {3A46013C-B640-778D-0A72-AD5B5DA3DDDD}.Debug|Win32.ActiveCfg = Debug|Win32 - {3A46013C-B640-778D-0A72-AD5B5DA3DDDD}.Debug|Win32.Build.0 = Debug|Win32 - {3A46013C-B640-778D-0A72-AD5B5DA3DDDD}.Debug|x64.ActiveCfg = Debug|x64 - {3A46013C-B640-778D-0A72-AD5B5DA3DDDD}.Debug|x64.Build.0 = Debug|x64 - {3A46013C-B640-778D-0A72-AD5B5DA3DDDD}.Release|Win32.ActiveCfg = Release|Win32 - {3A46013C-B640-778D-0A72-AD5B5DA3DDDD}.Release|Win32.Build.0 = Release|Win32 - {3B6C9A4F-60D0-0D71-9FAD-70E40A6B9241}.Release|x64.ActiveCfg = Release|x64 - {3B6C9A4F-60D0-0D71-9FAD-70E40A6B9241}.Release|x64.Build.0 = Release|x64 - {3B6C9A4F-60D0-0D71-9FAD-70E40A6B9241}.Debug|Win32.ActiveCfg = Debug|Win32 - {3B6C9A4F-60D0-0D71-9FAD-70E40A6B9241}.Debug|Win32.Build.0 = Debug|Win32 - {3B6C9A4F-60D0-0D71-9FAD-70E40A6B9241}.Debug|x64.ActiveCfg = Debug|x64 - {3B6C9A4F-60D0-0D71-9FAD-70E40A6B9241}.Debug|x64.Build.0 = Debug|x64 - {3B6C9A4F-60D0-0D71-9FAD-70E40A6B9241}.Release|Win32.ActiveCfg = Release|Win32 - {3B6C9A4F-60D0-0D71-9FAD-70E40A6B9241}.Release|Win32.Build.0 = Release|Win32 - {3FB466F5-09FA-1D72-2AEB-7EC7BE7EE322}.Release|x64.ActiveCfg = Release|x64 - {3FB466F5-09FA-1D72-2AEB-7EC7BE7EE322}.Release|x64.Build.0 = Release|x64 - {3FB466F5-09FA-1D72-2AEB-7EC7BE7EE322}.Debug|Win32.ActiveCfg = Debug|Win32 - {3FB466F5-09FA-1D72-2AEB-7EC7BE7EE322}.Debug|Win32.Build.0 = Debug|Win32 - {3FB466F5-09FA-1D72-2AEB-7EC7BE7EE322}.Debug|x64.ActiveCfg = Debug|x64 - {3FB466F5-09FA-1D72-2AEB-7EC7BE7EE322}.Debug|x64.Build.0 = Debug|x64 - {3FB466F5-09FA-1D72-2AEB-7EC7BE7EE322}.Release|Win32.ActiveCfg = Release|Win32 - {3FB466F5-09FA-1D72-2AEB-7EC7BE7EE322}.Release|Win32.Build.0 = Release|Win32 - {3FFF5710-D21B-35AE-D702-74BB256EF228}.Release|x64.ActiveCfg = Release|x64 - {3FFF5710-D21B-35AE-D702-74BB256EF228}.Release|x64.Build.0 = Release|x64 - {3FFF5710-D21B-35AE-D702-74BB256EF228}.Debug|Win32.ActiveCfg = Debug|Win32 - {3FFF5710-D21B-35AE-D702-74BB256EF228}.Debug|Win32.Build.0 = Debug|Win32 - {3FFF5710-D21B-35AE-D702-74BB256EF228}.Debug|x64.ActiveCfg = Debug|x64 - {3FFF5710-D21B-35AE-D702-74BB256EF228}.Debug|x64.Build.0 = Debug|x64 - {3FFF5710-D21B-35AE-D702-74BB256EF228}.Release|Win32.ActiveCfg = Release|Win32 - {3FFF5710-D21B-35AE-D702-74BB256EF228}.Release|Win32.Build.0 = Release|Win32 - {40A1229C-43E3-9BDF-4631-09FCBCBA9924}.Release|x64.ActiveCfg = Release|x64 - {40A1229C-43E3-9BDF-4631-09FCBCBA9924}.Release|x64.Build.0 = Release|x64 - {40A1229C-43E3-9BDF-4631-09FCBCBA9924}.Debug|Win32.ActiveCfg = Debug|Win32 - {40A1229C-43E3-9BDF-4631-09FCBCBA9924}.Debug|Win32.Build.0 = Debug|Win32 - {40A1229C-43E3-9BDF-4631-09FCBCBA9924}.Debug|x64.ActiveCfg = Debug|x64 - {40A1229C-43E3-9BDF-4631-09FCBCBA9924}.Debug|x64.Build.0 = Debug|x64 - {40A1229C-43E3-9BDF-4631-09FCBCBA9924}.Release|Win32.ActiveCfg = Release|Win32 - {40A1229C-43E3-9BDF-4631-09FCBCBA9924}.Release|Win32.Build.0 = Release|Win32 - {47A3E249-4072-CEAC-C824-93730F91967A}.Release|x64.ActiveCfg = Release|x64 - {47A3E249-4072-CEAC-C824-93730F91967A}.Release|x64.Build.0 = Release|x64 - {47A3E249-4072-CEAC-C824-93730F91967A}.Debug|Win32.ActiveCfg = Debug|Win32 - {47A3E249-4072-CEAC-C824-93730F91967A}.Debug|Win32.Build.0 = Debug|Win32 - {47A3E249-4072-CEAC-C824-93730F91967A}.Debug|x64.ActiveCfg = Debug|x64 - {47A3E249-4072-CEAC-C824-93730F91967A}.Debug|x64.Build.0 = Debug|x64 - {47A3E249-4072-CEAC-C824-93730F91967A}.Release|Win32.ActiveCfg = Release|Win32 - {47A3E249-4072-CEAC-C824-93730F91967A}.Release|Win32.Build.0 = Release|Win32 - {48E2D2FB-F38E-3449-60F2-D4A11B0EED4A}.Release|x64.ActiveCfg = Release|x64 - {48E2D2FB-F38E-3449-60F2-D4A11B0EED4A}.Release|x64.Build.0 = Release|x64 - {48E2D2FB-F38E-3449-60F2-D4A11B0EED4A}.Debug|Win32.ActiveCfg = Debug|Win32 - {48E2D2FB-F38E-3449-60F2-D4A11B0EED4A}.Debug|Win32.Build.0 = Debug|Win32 - {48E2D2FB-F38E-3449-60F2-D4A11B0EED4A}.Debug|x64.ActiveCfg = Debug|x64 - {48E2D2FB-F38E-3449-60F2-D4A11B0EED4A}.Debug|x64.Build.0 = Debug|x64 - {48E2D2FB-F38E-3449-60F2-D4A11B0EED4A}.Release|Win32.ActiveCfg = Release|Win32 - {48E2D2FB-F38E-3449-60F2-D4A11B0EED4A}.Release|Win32.Build.0 = Release|Win32 - {65BE9C8A-0FF1-A4B7-C81E-43801F64E13D}.Release|x64.ActiveCfg = Release|x64 - {65BE9C8A-0FF1-A4B7-C81E-43801F64E13D}.Release|x64.Build.0 = Release|x64 - {65BE9C8A-0FF1-A4B7-C81E-43801F64E13D}.Debug|Win32.ActiveCfg = Debug|Win32 - {65BE9C8A-0FF1-A4B7-C81E-43801F64E13D}.Debug|Win32.Build.0 = Debug|Win32 - {65BE9C8A-0FF1-A4B7-C81E-43801F64E13D}.Debug|x64.ActiveCfg = Debug|x64 - {65BE9C8A-0FF1-A4B7-C81E-43801F64E13D}.Debug|x64.Build.0 = Debug|x64 - {65BE9C8A-0FF1-A4B7-C81E-43801F64E13D}.Release|Win32.ActiveCfg = Release|Win32 - {65BE9C8A-0FF1-A4B7-C81E-43801F64E13D}.Release|Win32.Build.0 = Release|Win32 - {6633AF08-BADE-2C68-2017-D4F75DE9694B}.Release|x64.ActiveCfg = Release|x64 - {6633AF08-BADE-2C68-2017-D4F75DE9694B}.Release|x64.Build.0 = Release|x64 - {6633AF08-BADE-2C68-2017-D4F75DE9694B}.Debug|Win32.ActiveCfg = Debug|Win32 - {6633AF08-BADE-2C68-2017-D4F75DE9694B}.Debug|Win32.Build.0 = Debug|Win32 - {6633AF08-BADE-2C68-2017-D4F75DE9694B}.Debug|x64.ActiveCfg = Debug|x64 - {6633AF08-BADE-2C68-2017-D4F75DE9694B}.Debug|x64.Build.0 = Debug|x64 - {6633AF08-BADE-2C68-2017-D4F75DE9694B}.Release|Win32.ActiveCfg = Release|Win32 - {6633AF08-BADE-2C68-2017-D4F75DE9694B}.Release|Win32.Build.0 = Release|Win32 - {6A350E31-5922-5CC0-5EAE-CD3447D43FE5}.Release|x64.ActiveCfg = Release|x64 - {6A350E31-5922-5CC0-5EAE-CD3447D43FE5}.Release|x64.Build.0 = Release|x64 - {6A350E31-5922-5CC0-5EAE-CD3447D43FE5}.Debug|Win32.ActiveCfg = Debug|Win32 - {6A350E31-5922-5CC0-5EAE-CD3447D43FE5}.Debug|Win32.Build.0 = Debug|Win32 - {6A350E31-5922-5CC0-5EAE-CD3447D43FE5}.Debug|x64.ActiveCfg = Debug|x64 - {6A350E31-5922-5CC0-5EAE-CD3447D43FE5}.Debug|x64.Build.0 = Debug|x64 - {6A350E31-5922-5CC0-5EAE-CD3447D43FE5}.Release|Win32.ActiveCfg = Release|Win32 - {6A350E31-5922-5CC0-5EAE-CD3447D43FE5}.Release|Win32.Build.0 = Release|Win32 - {6AC42CF5-8088-F4BE-7C3D-1BD1BD440FCC}.Release|x64.ActiveCfg = Release|x64 - {6AC42CF5-8088-F4BE-7C3D-1BD1BD440FCC}.Release|x64.Build.0 = Release|x64 - {6AC42CF5-8088-F4BE-7C3D-1BD1BD440FCC}.Debug|Win32.ActiveCfg = Debug|Win32 - {6AC42CF5-8088-F4BE-7C3D-1BD1BD440FCC}.Debug|Win32.Build.0 = Debug|Win32 - {6AC42CF5-8088-F4BE-7C3D-1BD1BD440FCC}.Debug|x64.ActiveCfg = Debug|x64 - {6AC42CF5-8088-F4BE-7C3D-1BD1BD440FCC}.Debug|x64.Build.0 = Debug|x64 - {6AC42CF5-8088-F4BE-7C3D-1BD1BD440FCC}.Release|Win32.ActiveCfg = Release|Win32 - {6AC42CF5-8088-F4BE-7C3D-1BD1BD440FCC}.Release|Win32.Build.0 = Release|Win32 - {6C6F4C16-A57A-059D-F4AE-ED3E379924DB}.Release|x64.ActiveCfg = Release|x64 - {6C6F4C16-A57A-059D-F4AE-ED3E379924DB}.Release|x64.Build.0 = Release|x64 - {6C6F4C16-A57A-059D-F4AE-ED3E379924DB}.Debug|Win32.ActiveCfg = Debug|Win32 - {6C6F4C16-A57A-059D-F4AE-ED3E379924DB}.Debug|Win32.Build.0 = Debug|Win32 - {6C6F4C16-A57A-059D-F4AE-ED3E379924DB}.Debug|x64.ActiveCfg = Debug|x64 - {6C6F4C16-A57A-059D-F4AE-ED3E379924DB}.Debug|x64.Build.0 = Debug|x64 - {6C6F4C16-A57A-059D-F4AE-ED3E379924DB}.Release|Win32.ActiveCfg = Release|Win32 - {6C6F4C16-A57A-059D-F4AE-ED3E379924DB}.Release|Win32.Build.0 = Release|Win32 - {6CCCC557-DFA3-68D4-31FA-1EFB0C5F37B2}.Release|x64.ActiveCfg = Release|x64 - {6CCCC557-DFA3-68D4-31FA-1EFB0C5F37B2}.Release|x64.Build.0 = Release|x64 - {6CCCC557-DFA3-68D4-31FA-1EFB0C5F37B2}.Debug|Win32.ActiveCfg = Debug|Win32 - {6CCCC557-DFA3-68D4-31FA-1EFB0C5F37B2}.Debug|Win32.Build.0 = Debug|Win32 - {6CCCC557-DFA3-68D4-31FA-1EFB0C5F37B2}.Debug|x64.ActiveCfg = Debug|x64 - {6CCCC557-DFA3-68D4-31FA-1EFB0C5F37B2}.Debug|x64.Build.0 = Debug|x64 - {6CCCC557-DFA3-68D4-31FA-1EFB0C5F37B2}.Release|Win32.ActiveCfg = Release|Win32 - {6CCCC557-DFA3-68D4-31FA-1EFB0C5F37B2}.Release|Win32.Build.0 = Release|Win32 - {7642CFD5-F187-3E3F-F8FF-859949B9F13E}.Release|x64.ActiveCfg = Release|x64 - {7642CFD5-F187-3E3F-F8FF-859949B9F13E}.Release|x64.Build.0 = Release|x64 - {7642CFD5-F187-3E3F-F8FF-859949B9F13E}.Debug|Win32.ActiveCfg = Debug|Win32 - {7642CFD5-F187-3E3F-F8FF-859949B9F13E}.Debug|Win32.Build.0 = Debug|Win32 - {7642CFD5-F187-3E3F-F8FF-859949B9F13E}.Debug|x64.ActiveCfg = Debug|x64 - {7642CFD5-F187-3E3F-F8FF-859949B9F13E}.Debug|x64.Build.0 = Debug|x64 - {7642CFD5-F187-3E3F-F8FF-859949B9F13E}.Release|Win32.ActiveCfg = Release|Win32 - {7642CFD5-F187-3E3F-F8FF-859949B9F13E}.Release|Win32.Build.0 = Release|Win32 - {777AC703-C49D-E67C-F2EA-2BEDE272A25F}.Release|x64.ActiveCfg = Release|x64 - {777AC703-C49D-E67C-F2EA-2BEDE272A25F}.Release|x64.Build.0 = Release|x64 - {777AC703-C49D-E67C-F2EA-2BEDE272A25F}.Debug|Win32.ActiveCfg = Debug|Win32 - {777AC703-C49D-E67C-F2EA-2BEDE272A25F}.Debug|Win32.Build.0 = Debug|Win32 - {777AC703-C49D-E67C-F2EA-2BEDE272A25F}.Debug|x64.ActiveCfg = Debug|x64 - {777AC703-C49D-E67C-F2EA-2BEDE272A25F}.Debug|x64.Build.0 = Debug|x64 - {777AC703-C49D-E67C-F2EA-2BEDE272A25F}.Release|Win32.ActiveCfg = Release|Win32 - {777AC703-C49D-E67C-F2EA-2BEDE272A25F}.Release|Win32.Build.0 = Release|Win32 - {77BF5E61-D417-460B-3577-C6DB11F1C835}.Release|x64.ActiveCfg = Release|x64 - {77BF5E61-D417-460B-3577-C6DB11F1C835}.Release|x64.Build.0 = Release|x64 - {77BF5E61-D417-460B-3577-C6DB11F1C835}.Debug|Win32.ActiveCfg = Debug|Win32 - {77BF5E61-D417-460B-3577-C6DB11F1C835}.Debug|Win32.Build.0 = Debug|Win32 - {77BF5E61-D417-460B-3577-C6DB11F1C835}.Debug|x64.ActiveCfg = Debug|x64 - {77BF5E61-D417-460B-3577-C6DB11F1C835}.Debug|x64.Build.0 = Debug|x64 - {77BF5E61-D417-460B-3577-C6DB11F1C835}.Release|Win32.ActiveCfg = Release|Win32 - {77BF5E61-D417-460B-3577-C6DB11F1C835}.Release|Win32.Build.0 = Release|Win32 - {7AB4B0C9-D974-3A65-ED87-61816B6917CB}.Release|x64.ActiveCfg = Release|x64 - {7AB4B0C9-D974-3A65-ED87-61816B6917CB}.Release|x64.Build.0 = Release|x64 - {7AB4B0C9-D974-3A65-ED87-61816B6917CB}.Debug|Win32.ActiveCfg = Debug|Win32 - {7AB4B0C9-D974-3A65-ED87-61816B6917CB}.Debug|Win32.Build.0 = Debug|Win32 - {7AB4B0C9-D974-3A65-ED87-61816B6917CB}.Debug|x64.ActiveCfg = Debug|x64 - {7AB4B0C9-D974-3A65-ED87-61816B6917CB}.Debug|x64.Build.0 = Debug|x64 - {7AB4B0C9-D974-3A65-ED87-61816B6917CB}.Release|Win32.ActiveCfg = Release|Win32 - {7AB4B0C9-D974-3A65-ED87-61816B6917CB}.Release|Win32.Build.0 = Release|Win32 - {849D6AB5-9713-E302-D4B5-C6E1DA8F3ABF}.Release|x64.ActiveCfg = Release|x64 - {849D6AB5-9713-E302-D4B5-C6E1DA8F3ABF}.Release|x64.Build.0 = Release|x64 - {849D6AB5-9713-E302-D4B5-C6E1DA8F3ABF}.Debug|Win32.ActiveCfg = Debug|Win32 - {849D6AB5-9713-E302-D4B5-C6E1DA8F3ABF}.Debug|Win32.Build.0 = Debug|Win32 - {849D6AB5-9713-E302-D4B5-C6E1DA8F3ABF}.Debug|x64.ActiveCfg = Debug|x64 - {849D6AB5-9713-E302-D4B5-C6E1DA8F3ABF}.Debug|x64.Build.0 = Debug|x64 - {849D6AB5-9713-E302-D4B5-C6E1DA8F3ABF}.Release|Win32.ActiveCfg = Release|Win32 - {849D6AB5-9713-E302-D4B5-C6E1DA8F3ABF}.Release|Win32.Build.0 = Release|Win32 - {8542F0DD-960F-568F-4A42-29BE80FE20EC}.Release|x64.ActiveCfg = Release|x64 - {8542F0DD-960F-568F-4A42-29BE80FE20EC}.Release|x64.Build.0 = Release|x64 - {8542F0DD-960F-568F-4A42-29BE80FE20EC}.Debug|Win32.ActiveCfg = Debug|Win32 - {8542F0DD-960F-568F-4A42-29BE80FE20EC}.Debug|Win32.Build.0 = Debug|Win32 - {8542F0DD-960F-568F-4A42-29BE80FE20EC}.Debug|x64.ActiveCfg = Debug|x64 - {8542F0DD-960F-568F-4A42-29BE80FE20EC}.Debug|x64.Build.0 = Debug|x64 - {8542F0DD-960F-568F-4A42-29BE80FE20EC}.Release|Win32.ActiveCfg = Release|Win32 - {8542F0DD-960F-568F-4A42-29BE80FE20EC}.Release|Win32.Build.0 = Release|Win32 - {8C560510-F9F5-10F8-5F9C-A15647F7D234}.Release|x64.ActiveCfg = Release|x64 - {8C560510-F9F5-10F8-5F9C-A15647F7D234}.Release|x64.Build.0 = Release|x64 - {8C560510-F9F5-10F8-5F9C-A15647F7D234}.Debug|Win32.ActiveCfg = Debug|Win32 - {8C560510-F9F5-10F8-5F9C-A15647F7D234}.Debug|Win32.Build.0 = Debug|Win32 - {8C560510-F9F5-10F8-5F9C-A15647F7D234}.Debug|x64.ActiveCfg = Debug|x64 - {8C560510-F9F5-10F8-5F9C-A15647F7D234}.Debug|x64.Build.0 = Debug|x64 - {8C560510-F9F5-10F8-5F9C-A15647F7D234}.Release|Win32.ActiveCfg = Release|Win32 - {8C560510-F9F5-10F8-5F9C-A15647F7D234}.Release|Win32.Build.0 = Release|Win32 - {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E}.Release|x64.ActiveCfg = Release|x64 - {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E}.Release|x64.Build.0 = Release|x64 - {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E}.Debug|Win32.ActiveCfg = Debug|Win32 - {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E}.Debug|Win32.Build.0 = Debug|Win32 - {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E}.Debug|x64.ActiveCfg = Debug|x64 - {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E}.Debug|x64.Build.0 = Debug|x64 - {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E}.Release|Win32.ActiveCfg = Release|Win32 - {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E}.Release|Win32.Build.0 = Release|Win32 - {98C323F1-AAAD-E200-732B-130B5FE42F28}.Release|x64.ActiveCfg = Release|x64 - {98C323F1-AAAD-E200-732B-130B5FE42F28}.Release|x64.Build.0 = Release|x64 - {98C323F1-AAAD-E200-732B-130B5FE42F28}.Debug|Win32.ActiveCfg = Debug|Win32 - {98C323F1-AAAD-E200-732B-130B5FE42F28}.Debug|Win32.Build.0 = Debug|Win32 - {98C323F1-AAAD-E200-732B-130B5FE42F28}.Debug|x64.ActiveCfg = Debug|x64 - {98C323F1-AAAD-E200-732B-130B5FE42F28}.Debug|x64.Build.0 = Debug|x64 - {98C323F1-AAAD-E200-732B-130B5FE42F28}.Release|Win32.ActiveCfg = Release|Win32 - {98C323F1-AAAD-E200-732B-130B5FE42F28}.Release|Win32.Build.0 = Release|Win32 - {A6EE0EDF-BF2D-F118-729A-2E3DA36C1CD4}.Release|x64.ActiveCfg = Release|x64 - {A6EE0EDF-BF2D-F118-729A-2E3DA36C1CD4}.Release|x64.Build.0 = Release|x64 - {A6EE0EDF-BF2D-F118-729A-2E3DA36C1CD4}.Debug|Win32.ActiveCfg = Debug|Win32 - {A6EE0EDF-BF2D-F118-729A-2E3DA36C1CD4}.Debug|Win32.Build.0 = Debug|Win32 - {A6EE0EDF-BF2D-F118-729A-2E3DA36C1CD4}.Debug|x64.ActiveCfg = Debug|x64 - {A6EE0EDF-BF2D-F118-729A-2E3DA36C1CD4}.Debug|x64.Build.0 = Debug|x64 - {A6EE0EDF-BF2D-F118-729A-2E3DA36C1CD4}.Release|Win32.ActiveCfg = Release|Win32 - {A6EE0EDF-BF2D-F118-729A-2E3DA36C1CD4}.Release|Win32.Build.0 = Release|Win32 - {B78CD201-9348-EB6A-8D4D-0C327F80DA8B}.Release|x64.ActiveCfg = Release|x64 - {B78CD201-9348-EB6A-8D4D-0C327F80DA8B}.Release|x64.Build.0 = Release|x64 - {B78CD201-9348-EB6A-8D4D-0C327F80DA8B}.Debug|Win32.ActiveCfg = Debug|Win32 - {B78CD201-9348-EB6A-8D4D-0C327F80DA8B}.Debug|Win32.Build.0 = Debug|Win32 - {B78CD201-9348-EB6A-8D4D-0C327F80DA8B}.Debug|x64.ActiveCfg = Debug|x64 - {B78CD201-9348-EB6A-8D4D-0C327F80DA8B}.Debug|x64.Build.0 = Debug|x64 - {B78CD201-9348-EB6A-8D4D-0C327F80DA8B}.Release|Win32.ActiveCfg = Release|Win32 - {B78CD201-9348-EB6A-8D4D-0C327F80DA8B}.Release|Win32.Build.0 = Release|Win32 - {B963A7BE-5848-FA7D-1BF4-1AC177E49D9C}.Release|x64.ActiveCfg = Release|x64 - {B963A7BE-5848-FA7D-1BF4-1AC177E49D9C}.Release|x64.Build.0 = Release|x64 - {B963A7BE-5848-FA7D-1BF4-1AC177E49D9C}.Debug|Win32.ActiveCfg = Debug|Win32 - {B963A7BE-5848-FA7D-1BF4-1AC177E49D9C}.Debug|Win32.Build.0 = Debug|Win32 - {B963A7BE-5848-FA7D-1BF4-1AC177E49D9C}.Debug|x64.ActiveCfg = Debug|x64 - {B963A7BE-5848-FA7D-1BF4-1AC177E49D9C}.Debug|x64.Build.0 = Debug|x64 - {B963A7BE-5848-FA7D-1BF4-1AC177E49D9C}.Release|Win32.ActiveCfg = Release|Win32 - {B963A7BE-5848-FA7D-1BF4-1AC177E49D9C}.Release|Win32.Build.0 = Release|Win32 - {C407D429-0F1C-BE5D-8F80-F08469D9DFC3}.Release|x64.ActiveCfg = Release|x64 - {C407D429-0F1C-BE5D-8F80-F08469D9DFC3}.Release|x64.Build.0 = Release|x64 - {C407D429-0F1C-BE5D-8F80-F08469D9DFC3}.Debug|Win32.ActiveCfg = Debug|Win32 - {C407D429-0F1C-BE5D-8F80-F08469D9DFC3}.Debug|Win32.Build.0 = Debug|Win32 - {C407D429-0F1C-BE5D-8F80-F08469D9DFC3}.Debug|x64.ActiveCfg = Debug|x64 - {C407D429-0F1C-BE5D-8F80-F08469D9DFC3}.Debug|x64.Build.0 = Debug|x64 - {C407D429-0F1C-BE5D-8F80-F08469D9DFC3}.Release|Win32.ActiveCfg = Release|Win32 - {C407D429-0F1C-BE5D-8F80-F08469D9DFC3}.Release|Win32.Build.0 = Release|Win32 - {C6F5F392-E865-A884-79FF-584117837B36}.Release|x64.ActiveCfg = Release|x64 - {C6F5F392-E865-A884-79FF-584117837B36}.Release|x64.Build.0 = Release|x64 - {C6F5F392-E865-A884-79FF-584117837B36}.Debug|Win32.ActiveCfg = Debug|Win32 - {C6F5F392-E865-A884-79FF-584117837B36}.Debug|Win32.Build.0 = Debug|Win32 - {C6F5F392-E865-A884-79FF-584117837B36}.Debug|x64.ActiveCfg = Debug|x64 - {C6F5F392-E865-A884-79FF-584117837B36}.Debug|x64.Build.0 = Debug|x64 - {C6F5F392-E865-A884-79FF-584117837B36}.Release|Win32.ActiveCfg = Release|Win32 - {C6F5F392-E865-A884-79FF-584117837B36}.Release|Win32.Build.0 = Release|Win32 - {CE267024-5326-CB0E-37B5-3BC7B467B7A2}.Release|x64.ActiveCfg = Release|x64 - {CE267024-5326-CB0E-37B5-3BC7B467B7A2}.Release|x64.Build.0 = Release|x64 - {CE267024-5326-CB0E-37B5-3BC7B467B7A2}.Debug|Win32.ActiveCfg = Debug|Win32 - {CE267024-5326-CB0E-37B5-3BC7B467B7A2}.Debug|Win32.Build.0 = Debug|Win32 - {CE267024-5326-CB0E-37B5-3BC7B467B7A2}.Debug|x64.ActiveCfg = Debug|x64 - {CE267024-5326-CB0E-37B5-3BC7B467B7A2}.Debug|x64.Build.0 = Debug|x64 - {CE267024-5326-CB0E-37B5-3BC7B467B7A2}.Release|Win32.ActiveCfg = Release|Win32 - {CE267024-5326-CB0E-37B5-3BC7B467B7A2}.Release|Win32.Build.0 = Release|Win32 - {D51F95B2-D343-6B88-7902-C392ACC99260}.Release|x64.ActiveCfg = Release|x64 - {D51F95B2-D343-6B88-7902-C392ACC99260}.Release|x64.Build.0 = Release|x64 - {D51F95B2-D343-6B88-7902-C392ACC99260}.Debug|Win32.ActiveCfg = Debug|Win32 - {D51F95B2-D343-6B88-7902-C392ACC99260}.Debug|Win32.Build.0 = Debug|Win32 - {D51F95B2-D343-6B88-7902-C392ACC99260}.Debug|x64.ActiveCfg = Debug|x64 - {D51F95B2-D343-6B88-7902-C392ACC99260}.Debug|x64.Build.0 = Debug|x64 - {D51F95B2-D343-6B88-7902-C392ACC99260}.Release|Win32.ActiveCfg = Release|Win32 - {D51F95B2-D343-6B88-7902-C392ACC99260}.Release|Win32.Build.0 = Release|Win32 - {D5D676ED-C189-2A6B-8DE3-F4CA6175550F}.Release|x64.ActiveCfg = Release|x64 - {D5D676ED-C189-2A6B-8DE3-F4CA6175550F}.Release|x64.Build.0 = Release|x64 - {D5D676ED-C189-2A6B-8DE3-F4CA6175550F}.Debug|Win32.ActiveCfg = Debug|Win32 - {D5D676ED-C189-2A6B-8DE3-F4CA6175550F}.Debug|Win32.Build.0 = Debug|Win32 - {D5D676ED-C189-2A6B-8DE3-F4CA6175550F}.Debug|x64.ActiveCfg = Debug|x64 - {D5D676ED-C189-2A6B-8DE3-F4CA6175550F}.Debug|x64.Build.0 = Debug|x64 - {D5D676ED-C189-2A6B-8DE3-F4CA6175550F}.Release|Win32.ActiveCfg = Release|Win32 - {D5D676ED-C189-2A6B-8DE3-F4CA6175550F}.Release|Win32.Build.0 = Release|Win32 - {E1D85D74-24E3-C2BE-8BF6-5727B1604F4A}.Release|x64.ActiveCfg = Release|x64 - {E1D85D74-24E3-C2BE-8BF6-5727B1604F4A}.Release|x64.Build.0 = Release|x64 - {E1D85D74-24E3-C2BE-8BF6-5727B1604F4A}.Debug|Win32.ActiveCfg = Debug|Win32 - {E1D85D74-24E3-C2BE-8BF6-5727B1604F4A}.Debug|Win32.Build.0 = Debug|Win32 - {E1D85D74-24E3-C2BE-8BF6-5727B1604F4A}.Debug|x64.ActiveCfg = Debug|x64 - {E1D85D74-24E3-C2BE-8BF6-5727B1604F4A}.Debug|x64.Build.0 = Debug|x64 - {E1D85D74-24E3-C2BE-8BF6-5727B1604F4A}.Release|Win32.ActiveCfg = Release|Win32 - {E1D85D74-24E3-C2BE-8BF6-5727B1604F4A}.Release|Win32.Build.0 = Release|Win32 - {FC40D481-9BE0-9D33-D41D-29AB73012A9C}.Release|x64.ActiveCfg = Release|x64 - {FC40D481-9BE0-9D33-D41D-29AB73012A9C}.Release|x64.Build.0 = Release|x64 - {FC40D481-9BE0-9D33-D41D-29AB73012A9C}.Debug|Win32.ActiveCfg = Debug|Win32 - {FC40D481-9BE0-9D33-D41D-29AB73012A9C}.Debug|Win32.Build.0 = Debug|Win32 - {FC40D481-9BE0-9D33-D41D-29AB73012A9C}.Debug|x64.ActiveCfg = Debug|x64 - {FC40D481-9BE0-9D33-D41D-29AB73012A9C}.Debug|x64.Build.0 = Debug|x64 - {FC40D481-9BE0-9D33-D41D-29AB73012A9C}.Release|Win32.ActiveCfg = Release|Win32 - {FC40D481-9BE0-9D33-D41D-29AB73012A9C}.Release|Win32.Build.0 = Release|Win32 - {FFF96E0C-3EBD-BF28-5334-39F494EB02A1}.Release|x64.ActiveCfg = Release|x64 - {FFF96E0C-3EBD-BF28-5334-39F494EB02A1}.Release|x64.Build.0 = Release|x64 - {FFF96E0C-3EBD-BF28-5334-39F494EB02A1}.Debug|Win32.ActiveCfg = Debug|Win32 - {FFF96E0C-3EBD-BF28-5334-39F494EB02A1}.Debug|Win32.Build.0 = Debug|Win32 - {FFF96E0C-3EBD-BF28-5334-39F494EB02A1}.Debug|x64.ActiveCfg = Debug|x64 - {FFF96E0C-3EBD-BF28-5334-39F494EB02A1}.Debug|x64.Build.0 = Debug|x64 - {FFF96E0C-3EBD-BF28-5334-39F494EB02A1}.Release|Win32.ActiveCfg = Release|Win32 - {FFF96E0C-3EBD-BF28-5334-39F494EB02A1}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {6A350E31-5922-5CC0-5EAE-CD3447D43FE5} = {BC1FC5DA-9C54-7D77-0BFF-DEDDFD7A8F6C} - {FC40D481-9BE0-9D33-D41D-29AB73012A9C} = {F3BC0D42-B0CF-B5A5-CB24-2A332226E744} - {77BF5E61-D417-460B-3577-C6DB11F1C835} = {F3BC0D42-B0CF-B5A5-CB24-2A332226E744} - {1B48E1FA-F164-F21D-BA38-D53C2A3D11E0} = {F3BC0D42-B0CF-B5A5-CB24-2A332226E744} - {849D6AB5-9713-E302-D4B5-C6E1DA8F3ABF} = {F3BC0D42-B0CF-B5A5-CB24-2A332226E744} - {3FB466F5-09FA-1D72-2AEB-7EC7BE7EE322} = {F3BC0D42-B0CF-B5A5-CB24-2A332226E744} - {8542F0DD-960F-568F-4A42-29BE80FE20EC} = {F3BC0D42-B0CF-B5A5-CB24-2A332226E744} - {FFF96E0C-3EBD-BF28-5334-39F494EB02A1} = {F3BC0D42-B0CF-B5A5-CB24-2A332226E744} - {E1D85D74-24E3-C2BE-8BF6-5727B1604F4A} = {F3BC0D42-B0CF-B5A5-CB24-2A332226E744} - {6633AF08-BADE-2C68-2017-D4F75DE9694B} = {F3BC0D42-B0CF-B5A5-CB24-2A332226E744} - {40A1229C-43E3-9BDF-4631-09FCBCBA9924} = {F3BC0D42-B0CF-B5A5-CB24-2A332226E744} - {98C323F1-AAAD-E200-732B-130B5FE42F28} = {F3BC0D42-B0CF-B5A5-CB24-2A332226E744} - {B78CD201-9348-EB6A-8D4D-0C327F80DA8B} = {F3BC0D42-B0CF-B5A5-CB24-2A332226E744} - {C407D429-0F1C-BE5D-8F80-F08469D9DFC3} = {F3BC0D42-B0CF-B5A5-CB24-2A332226E744} - {3B6C9A4F-60D0-0D71-9FAD-70E40A6B9241} = {F3BC0D42-B0CF-B5A5-CB24-2A332226E744} - {8C560510-F9F5-10F8-5F9C-A15647F7D234} = {F3BC0D42-B0CF-B5A5-CB24-2A332226E744} - {6C6F4C16-A57A-059D-F4AE-ED3E379924DB} = {F3BC0D42-B0CF-B5A5-CB24-2A332226E744} - {48E2D2FB-F38E-3449-60F2-D4A11B0EED4A} = {F3BC0D42-B0CF-B5A5-CB24-2A332226E744} - {21154EBC-791C-953B-9B89-36CFAC0D3158} = {F3BC0D42-B0CF-B5A5-CB24-2A332226E744} - {7AB4B0C9-D974-3A65-ED87-61816B6917CB} = {607B4E81-FB72-43DF-177C-C1403E500480} - {6CCCC557-DFA3-68D4-31FA-1EFB0C5F37B2} = {607B4E81-FB72-43DF-177C-C1403E500480} - {47A3E249-4072-CEAC-C824-93730F91967A} = {607B4E81-FB72-43DF-177C-C1403E500480} - {3A46013C-B640-778D-0A72-AD5B5DA3DDDD} = {607B4E81-FB72-43DF-177C-C1403E500480} - {D51F95B2-D343-6B88-7902-C392ACC99260} = {607B4E81-FB72-43DF-177C-C1403E500480} - {777AC703-C49D-E67C-F2EA-2BEDE272A25F} = {607B4E81-FB72-43DF-177C-C1403E500480} - {D5D676ED-C189-2A6B-8DE3-F4CA6175550F} = {607B4E81-FB72-43DF-177C-C1403E500480} - {7642CFD5-F187-3E3F-F8FF-859949B9F13E} = {607B4E81-FB72-43DF-177C-C1403E500480} - {6AC42CF5-8088-F4BE-7C3D-1BD1BD440FCC} = {607B4E81-FB72-43DF-177C-C1403E500480} - {3FFF5710-D21B-35AE-D702-74BB256EF228} = {607B4E81-FB72-43DF-177C-C1403E500480} - {65BE9C8A-0FF1-A4B7-C81E-43801F64E13D} = {607B4E81-FB72-43DF-177C-C1403E500480} - {A6EE0EDF-BF2D-F118-729A-2E3DA36C1CD4} = {47EF6A04-BAE2-1AFF-696A-133DA2D057FB} - {1B37CAC9-AC5A-645D-51A1-728BD9B5AFDC} = {47EF6A04-BAE2-1AFF-696A-133DA2D057FB} - {05982785-025B-56F2-792D-FCFC28A06C4D} = {47EF6A04-BAE2-1AFF-696A-133DA2D057FB} - {C6F5F392-E865-A884-79FF-584117837B36} = {47EF6A04-BAE2-1AFF-696A-133DA2D057FB} - {CE267024-5326-CB0E-37B5-3BC7B467B7A2} = {47EF6A04-BAE2-1AFF-696A-133DA2D057FB} - {B963A7BE-5848-FA7D-1BF4-1AC177E49D9C} = {47EF6A04-BAE2-1AFF-696A-133DA2D057FB} - {9767C383-B58A-AB1E-4713-CF8FC5BA2B7E} = {593E5771-A9CE-7BB4-6B2B-2AE6F616D6F6} - EndGlobalSection -EndGlobal diff --git a/build/common.gypi b/build/common.gypi deleted file mode 100644 index 59c1292fc..000000000 --- a/build/common.gypi +++ /dev/null @@ -1,380 +0,0 @@ -# Copyright (c) 2010 The ANGLE Project Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -{ - 'includes': [ 'common_defines.gypi', ], - 'variables': - { - 'angle_build_winrt%': '0', - 'angle_build_winphone%': '0', - # angle_code is set to 1 for the core ANGLE targets defined in src/build_angle.gyp. - # angle_code is set to 0 for test code, sample code, and third party code. - # When angle_code is 1, we build with additional warning flags on Mac and Linux. - 'angle_code%': 0, - 'release_symbols%': 'true', - 'gcc_or_clang_warnings': - [ - '-Wall', - '-Wchar-subscripts', - '-Werror', - '-Wextra', - '-Wformat=2', - '-Winit-self', - '-Wno-sign-compare', - '-Wno-unused-function', - '-Wno-unused-parameter', - '-Wno-unknown-pragmas', - '-Wpacked', - '-Wpointer-arith', - '-Wundef', - '-Wwrite-strings', - '-Wno-reorder', - '-Wno-format-nonliteral', - '-Wno-deprecated-register', - ], - }, - 'target_defaults': - { - 'default_configuration': 'Debug', - 'variables': - { - 'warn_as_error%': 1, - }, - 'target_conditions': - [ - ['warn_as_error == 1', - { - 'msvs_settings': - { - 'VCCLCompilerTool': - { - 'WarnAsError': 'true', - }, - }, - }], - ], - 'configurations': - { - 'Common_Base': - { - 'abstract': 1, - 'msvs_configuration_attributes': - { - 'OutputDirectory': '$(SolutionDir)$(ConfigurationName)_$(Platform)', - 'IntermediateDirectory': '$(OutDir)\\obj\\$(ProjectName)', - 'CharacterSet': '0', # ASCII - }, - 'msvs_settings': - { - 'VCCLCompilerTool': - { - 'AdditionalOptions': ['/MP'], - 'BufferSecurityCheck': 'true', - 'DebugInformationFormat': '3', - 'ExceptionHandling': '0', - 'EnableFunctionLevelLinking': 'true', - 'MinimalRebuild': 'false', - 'RuntimeTypeInfo': 'true', - 'WarningLevel': '4', - }, - 'VCLinkerTool': - { - 'FixedBaseAddress': '1', - 'ImportLibrary': '$(OutDir)\\lib\\$(TargetName).lib', - 'MapFileName': '$(OutDir)\\$(TargetName).map', - # Most of the executables we'll ever create are tests - # and utilities with console output. - 'SubSystem': '1', # /SUBSYSTEM:CONSOLE - }, - 'VCResourceCompilerTool': - { - 'Culture': '1033', - }, - }, - }, # Common_Base - - 'Debug_Base': - { - 'abstract': 1, - 'defines': - [ - '_DEBUG' - ], - 'msvs_settings': - { - 'VCCLCompilerTool': - { - 'Optimization': '0', # /Od - 'BasicRuntimeChecks': '3', - 'conditions': - [ - ['angle_build_winrt==1', - { - # Use the dynamic C runtime to match - # Windows Application Store requirements - - # The C runtime for Windows Store applications - # is a framework package that is managed by - # the Windows deployment model and can be - # shared by multiple packages. - - 'RuntimeLibrary': '3', # /MDd (debug dll) - }, - { - # Use the static C runtime to - # match chromium and make sure - # we don't depend on the dynamic - # runtime's shared heaps - 'RuntimeLibrary': '1', # /MTd (debug static) - }], - ], - }, - 'VCLinkerTool': - { - 'GenerateDebugInformation': 'true', - 'LinkIncremental': '2', - 'conditions': - [ - ['angle_build_winrt==1', - { - 'AdditionalDependencies': - [ - 'dxgi.lib', - ] - }], - ], - }, - }, - 'xcode_settings': - { - 'CLANG_CXX_LANGUAGE_STANDARD': 'c++11', - 'COPY_PHASE_STRIP': 'NO', - 'GCC_OPTIMIZATION_LEVEL': '0', - }, - }, # Debug_Base - - 'Release_Base': - { - 'abstract': 1, - 'defines': - [ - 'NDEBUG' - ], - 'msvs_settings': - { - 'VCCLCompilerTool': - { - 'Optimization': '2', # /Os - 'conditions': - [ - ['angle_build_winrt==1', - { - # Use the dynamic C runtime to match - # Windows Application Store requirements - - # The C runtime for Windows Store applications - # is a framework package that is managed by - # the Windows deployment model and can be - # shared by multiple packages. - 'RuntimeLibrary': '2', # /MD (nondebug dll) - }, - { - # Use the static C runtime to - # match chromium and make sure - # we don't depend on the dynamic - 'RuntimeLibrary': '0', # /MT (nondebug static) - }], - ], - }, - 'VCLinkerTool': - { - 'GenerateDebugInformation': '<(release_symbols)', - 'LinkIncremental': '1', - }, - }, - }, # Release_Base - - 'x86_Base': - { - 'abstract': 1, - 'msvs_configuration_platform': 'Win32', - 'msvs_settings': - { - 'VCLinkerTool': - { - 'TargetMachine': '1', # x86 - }, - 'VCLibrarianTool': - { - 'TargetMachine': '1', # x86 - }, - }, - }, # x86_Base - - 'x64_Base': - { - 'abstract': 1, - 'msvs_configuration_platform': 'x64', - 'msvs_settings': - { - 'VCLinkerTool': - { - 'TargetMachine': '17', # x86 - 64 - }, - 'VCLibrarianTool': - { - 'TargetMachine': '17', # x86 - 64 - }, - }, - }, # x64_Base - - # Concrete configurations - 'Debug': - { - 'inherit_from': ['Common_Base', 'x86_Base', 'Debug_Base'], - }, - 'Release': - { - 'inherit_from': ['Common_Base', 'x86_Base', 'Release_Base'], - }, - 'conditions': - [ - ['angle_build_winrt==0 and OS == "win" and MSVS_VERSION != "2010e"', - { - 'Debug_x64': - { - 'inherit_from': ['Common_Base', 'x64_Base', 'Debug_Base'], - }, - 'Release_x64': - { - 'inherit_from': ['Common_Base', 'x64_Base', 'Release_Base'], - }, - }], - ['angle_build_winrt==1', - { - 'arm_Base': - { - 'abstract': 1, - 'msvs_configuration_platform': 'ARM', - 'msvs_settings': - { - 'VCLinkerTool': - { - 'TargetMachine': '3', # ARM - }, - 'VCLibrarianTool': - { - 'TargetMachine': '3', # ARM - }, - }, - }, # arm_Base - }], - ['angle_build_winrt==1 and angle_build_winphone==0', - { - 'Debug_x64': - { - 'inherit_from': ['Common_Base', 'x64_Base', 'Debug_Base'], - }, - 'Release_x64': - { - 'inherit_from': ['Common_Base', 'x64_Base', 'Release_Base'], - }, - 'Debug_ARM': - { - 'inherit_from': ['Common_Base', 'arm_Base', 'Debug_Base'], - }, - 'Release_ARM': - { - 'inherit_from': ['Common_Base', 'arm_Base', 'Release_Base'], - }, - }], - ['angle_build_winrt==1 and angle_build_winphone==1', - { - 'Debug_ARM': - { - 'inherit_from': ['Common_Base', 'arm_Base', 'Debug_Base'], - }, - 'Release_ARM': - { - 'inherit_from': ['Common_Base', 'arm_Base', 'Release_Base'], - }, - }], - ], - }, # configurations - }, # target_defaults - 'conditions': - [ - ['OS == "win"', - { - 'target_defaults': - { - 'msvs_cygwin_dirs': ['../third_party/cygwin'], - }, - }, - { # OS != win - 'target_defaults': - { - 'cflags': - [ - '-fPIC', - '-std=c++0x', - ], - }, - }], - ['OS != "win" and OS != "mac"', - { - 'target_defaults': - { - 'cflags': - [ - '-pthread', - '-fno-exceptions', - ], - 'ldflags': - [ - '-pthread', - ], - 'configurations': - { - 'Debug': - { - 'variables': - { - 'debug_optimize%': '0', - }, - 'defines': - [ - '_DEBUG', - ], - 'cflags': - [ - '-O>(debug_optimize)', - '-g', - ], - } - }, - }, - }], - ['angle_code==1', - { - 'target_defaults': - { - 'conditions': - [ - ['OS == "mac"', - { - 'xcode_settings': - { - 'WARNING_CFLAGS': ['<@(gcc_or_clang_warnings)'] - }, - }], - ['OS != "win" and OS != "mac"', - { - 'cflags': ['<@(gcc_or_clang_warnings)'] - }], - ] - } - }], - ], -} diff --git a/build/common_defines.gypi b/build/common_defines.gypi deleted file mode 100644 index 4c210ff84..000000000 --- a/build/common_defines.gypi +++ /dev/null @@ -1,147 +0,0 @@ -# Copyright (c) 2014 The ANGLE Project Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -{ - 'variables': - { - 'component%': 'static_library', - 'angle_path%': '..', - 'windows_sdk_path%': 'C:/Program Files (x86)/Windows Kits/8.1', - 'angle_build_winrt%': '0', - 'angle_build_winphone%': '0', - }, - 'msvs_disabled_warnings': [ 4075, 4100, 4127, 4239, 4244, 4245, 4251, 4264, 4267, 4447, 4512, 4530, 4702, 4718 ], - 'msvs_system_include_dirs': - [ - '<(windows_sdk_path)/Include/shared', - '<(windows_sdk_path)/Include/um', - ], - 'conditions': - [ - ['component=="shared_library"', - { - 'defines': [ 'COMPONENT_BUILD' ], - }], - ], - 'msvs_settings': - { - 'VCCLCompilerTool': - { - 'PreprocessorDefinitions': - [ - '_CRT_SECURE_NO_DEPRECATE', - '_SCL_SECURE_NO_WARNINGS', - '_HAS_EXCEPTIONS=0', - 'NOMINMAX', - ], - }, - 'VCLinkerTool': - { - 'conditions': - [ - ['angle_build_winrt==0', - { - 'AdditionalDependencies': - [ - 'kernel32.lib', - 'gdi32.lib', - 'winspool.lib', - 'comdlg32.lib', - 'advapi32.lib', - 'shell32.lib', - 'ole32.lib', - 'oleaut32.lib', - 'user32.lib', - 'uuid.lib', - 'odbc32.lib', - 'odbccp32.lib', - 'delayimp.lib', - ], - }], - # winrt compilation is dynamic depending on the project - # type. AdditionalDependencies is automatically configured - # with the required .libs - ['angle_build_winrt==1', - { - 'AdditionalDependencies': - [ - '%(AdditionalDependencies)', - 'uuid.lib', - ], - }], - ], - }, - }, - - # Windows SDK library directories for the configurations - 'configurations': - { - 'x86_Base': - { - 'msvs_settings': - { - 'VCLinkerTool': - { - 'AdditionalLibraryDirectories': - [ - '<(windows_sdk_path)/Lib/winv6.3/um/x86', - ], - }, - 'VCLibrarianTool': - { - 'AdditionalLibraryDirectories': - [ - '<(windows_sdk_path)/Lib/winv6.3/um/x86', - ], - }, - }, - }, - 'x64_Base': - { - 'msvs_settings': - { - 'VCLinkerTool': - { - 'AdditionalLibraryDirectories': - [ - '<(windows_sdk_path)/Lib/winv6.3/um/x64', - ], - }, - 'VCLibrarianTool': - { - 'AdditionalLibraryDirectories': - [ - '<(windows_sdk_path)/Lib/winv6.3/um/x64', - ], - }, - }, - }, - 'conditions': - [ - ['angle_build_winrt==1', - { - 'arm_Base': - { - 'msvs_settings': - { - 'VCLinkerTool': - { - 'AdditionalLibraryDirectories': - [ - '<(windows_sdk_path)/Lib/winv6.3/um/arm', - ], - }, - 'VCLibrarianTool': - { - 'AdditionalLibraryDirectories': - [ - '<(windows_sdk_path)/Lib/winv6.3/um/arm', - ], - }, - }, - }, - }], - ], - }, -} diff --git a/build/gyp_angle b/build/gyp_angle deleted file mode 100644 index 21456ad7b..000000000 --- a/build/gyp_angle +++ /dev/null @@ -1,37 +0,0 @@ -#!/usr/bin/python - -# Copyright (c) 2010 The ANGLE Project Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -# This script is wrapper for ANGLE that adds some support for how GYP -# is invoked by ANGLE beyond what can be done in the gclient hooks. - -import os -import sys - -script_dir = os.path.dirname(__file__) -angle_dir = os.path.normpath(os.path.join(script_dir, os.pardir)) - -sys.path.append(os.path.join(angle_dir, 'third_party', 'gyp', 'pylib')) -import gyp - -if __name__ == '__main__': - args = sys.argv[1:] - - print 'Updating projects from gyp files...' - sys.stdout.flush() - - # Set the depth to get the top-level Makefile generated into the - # correct directory. This only has an effect on Linux. - args.append('--depth'); - args.append('.'); - # Add common.gypi to the include path. - args.append('-I' + os.path.join(script_dir, 'common.gypi')) - args.append('--no-parallel') - # Indicate ANGLE is being built standalone (as opposed to within - # a Chromium workspace). - args.append('-Dangle_standalone=1') - # Add all.gyp as the main gyp file to be generated. - args.append(os.path.join(script_dir, 'all.gyp')) - sys.exit(gyp.main(args)) diff --git a/codereview.settings b/codereview.settings deleted file mode 100644 index d7c8d395c..000000000 --- a/codereview.settings +++ /dev/null @@ -1,4 +0,0 @@ -# This file is used by gcl to get repository specific information. -GERRIT_HOST: chromium-review.googlesource.com -GERRIT_PORT: 29418 -CODE_REVIEW_SERVER: chromium-review.googlesource.com diff --git a/enumerate_files.py b/enumerate_files.py deleted file mode 100644 index 06ebf9d44..000000000 --- a/enumerate_files.py +++ /dev/null @@ -1,62 +0,0 @@ -import fnmatch -import os -import sys - -dirs = [ ] -types = [ ] -excludes = [ ] -files = [ ] - -# Default to accepting a list of directories first -curArray = dirs - -# Iterate over the arguments and add them to the arrays -for i in range(1, len(sys.argv)): - arg = sys.argv[i] - - if arg == "-dirs": - curArray = dirs - continue - - if arg == "-types": - curArray = types - continue - - if arg == "-excludes": - curArray = excludes - continue - - curArray.append(arg) - -# If no directories were specified, use the current directory -if len(dirs) == 0: - dirs.append(".") - -# If no types were specified, accept all types -if len(types) == 0: - types.append("*") - -# Walk the directories listed and compare with type and exclude lists -for rootdir in dirs: - for root, dirnames, filenames in os.walk(rootdir): - for file in filenames: - # Skip files that are "hidden" - if file.startswith("."): - continue; - - fullPath = os.path.join(root, file).replace("\\", "/") - for type in types: - if fnmatch.fnmatchcase(fullPath, type): - excluded = False - for exclude in excludes: - if fnmatch.fnmatchcase(fullPath, exclude): - excluded = True - break - - if not excluded: - files.append(fullPath) - break - -files.sort() -for file in files: - print file diff --git a/extensions/ANGLE_depth_texture.txt b/extensions/ANGLE_depth_texture.txt deleted file mode 100644 index 067ecc5ed..000000000 --- a/extensions/ANGLE_depth_texture.txt +++ /dev/null @@ -1,402 +0,0 @@ -Name - - ANGLE_depth_texture - -Name Strings - - GL_ANGLE_depth_texture - -Contributors - - Nicolas Capens, TransGaming - Daniel Koch, TransGaming - Shannon Woods, TransGaming - Kenneth Russell, Google - Vangelis Kokkevis, Google - Gregg Tavares, Google - Contributors to OES_depth_texture - Contributors to OES_packed_depth_stencil - -Contact - - Shannon Woods, TransGaming (shannon 'dot' woods 'at' transgaming.com) - -Status - - Implemented in ANGLE. - -Version - - Last Modified Date: February 25, 2013 - Revision: #4 - -Number - - TBD - -Dependencies - - OpenGL ES 2.0 is required. - This extension is written against the OpenGL ES 2.0.25 specification - - OES_packed_depth_stencil affects the definition of this extension. - - EXT_texture_storage affects the definition of this extension. - -Overview - - This extension defines support for 2D depth and depth-stencil - textures in an OpenGL ES implementation. - - This extension incorporates the depth texturing functionality of - OES_depth_texture and OES_packed_depth_stencil, but does not - provide the ability to load existing data via TexImage2D or - TexSubImage2D. This extension also allows implementation - variability in which components from a sampled depth texture - contain the depth data. Depth textures created with this - extension only support 1 level. - -New Procedures and Functions - - None - -New Tokens - - Accepted by the parameter of TexImage2D and TexSubImage2D and - parameter of TexImage2D: - - DEPTH_COMPONENT 0x1902 - DEPTH_STENCIL_OES 0x84F9 - - Accepted by the parameter of TexImage2D, TexSubImage2D: - - UNSIGNED_SHORT 0x1403 - UNSIGNED_INT 0x1405 - UNSIGNED_INT_24_8_OES 0x84FA - - Accepted by the parameter of TexStorage2DEXT: - - DEPTH_COMPONENT16 0x81A5 - DEPTH_COMPONENT32_OES 0x81A7 - DEPTH24_STENCIL8_OES 0x88F0 - -Additions to Chapter 2 of the OpenGL ES 2.0 Specification (OpenGL Operation) - - Update Section 2.10.5 "Shader Execution" in the subsection titled - "Texture Access" add a new paragraph before the last paragraph add - this line: - - "The stencil index texture internal component is ignored if the base - internal format is DEPTH_STENCIL_OES. - - If a vertex shader uses..." - -Additions to Chapter 3 of the OpenGL ES 2.0 specification (Rasterization) - - Add the following rows to Table 3.2 (page 62): - - type Parameter GL Data Type Special - ------------------------------------------------ - ... ... ... - UNSIGNED_SHORT ushort No - UNSIGNED_INT uint No - UNSIGNED_INT_24_8_OES uint Yes - - Add the following rows to Table 3.3 (page 62): - - Format Name Element Meaning and Order Target Buffer - ------------------------------------------------------------------ - ... ... ... - DEPTH_COMPONENT Depth Depth - DEPTH_STENCIL_OES Depth and Stencil Index Depth and Stencil - ... ... ... - - Add a row to Table 3.5 "Packed pixel formats" (page 64): - - type Parameter GL Type Components Pixel Formats - ------------------------------------------------------------------ - ... ... ... ... - UNSIGNED_INT_24_8_OES uint 2 DEPTH_STENCIL_OES - - Add a new table after Table 3.6 (page 64): - - UNSIGNED_INT_24_8_OES - - 31 30 29 28 27 26 ... 12 11 10 9 8 7 6 5 4 3 2 1 0 - +----------------------------------+---------------+ - | 1st Component | 2nd Component | - +----------------------------------+---------------+ - - Table 3.6.B: UNSIGNED_INT formats - - Add a row to Table 3.7 "Packed pixel field assignments" (page 65): - - Format | 1st 2nd 3rd 4th - ------------------+------------------------------- - ... | ... ... ... ... - DEPTH_STENCIL_OES | depth stencil N/A N/A - - Add the following paragraph to the end of the section "Conversion to - floating-point" (page 65): - - "For groups of components that contain both standard components and index - elements, such as DEPTH_STENCIL_OES, the index elements are not converted." - - In section 3.7.1 "Texture Image Specification", update page 67 to - say: - - "The selected groups are processed as described in section 3.6.2, stopping - just before final conversion. Each R, G, B, A, or depth value so generated - is clamped to [0, 1], while the stencil index values are masked by 2^n-1, - where n is the number of stencil bits in the internal format resolution - (see below). - - Components are then selected from the resulting R, G, B, A, depth, or - stencil index values to obtain a texture with the base internal format - specified by . Table 3.8 summarizes the mapping of R, G, - B, A, depth, or stencil values to texture components, as a function of the - base internal format of the texture image. may be - specified as one of the internal format symbolic constants listed in - table 3.8. Specifying a value for that is not one of the - above values generates the error INVALID_VALUE. If does - not match , the error INVALID_OPERATION is generated. - - Textures with a base internal format of DEPTH_COMPONENT or - DEPTH_STENCIL_OES are supported by texture image specification commands - only if is TEXTURE_2D. Using these formats in conjunction with - any other will result in an INVALID_OPERATION error. - - Textures with a base internal format of DEPTH_COMPONENT or - DEPTH_STENCIL_OES only support one level of image data. Specifying a - non-zero value for will result in an INVALID_OPERATION error. - - Textures with a base internal format of DEPTH_COMPONENT or DEPTH_STENCIL_OES - require either depth component data or depth/stencil component data. - Textures with other base internal formats require RGBA component data. The - error INVALID_OPERATION is generated if the base internal format is - DEPTH_COMPONENT or DEPTH_STENCIL_OES and is not DEPTH_COMPONENT or - DEPTH_STENCIL_OES, or if the base internal format is not DEPTH_COMPONENT or - DEPTH_STENCIL_OES and is DEPTH_COMPONENT or DEPTH_STENCIL_OES. - - Textures with a base internal format of DEPTH_COMPONENT or - DEPTH_STENCIL_OES do not support loading image data via the TexImage - commands. They can only have their contents specified by rendering - to them. The INVALID_OPERATION error is generated by the TexImage2D - command if is not NULL for such textures." - - Add a row to table 3.8 (page 68), and update the title of the - second column: - - Base Internal Format RGBA, Depth and Stencil Values Internal Components - ------------------------------------------------------------------------- - ... ... ... - DEPTH_COMPONENT Depth D - DEPTH_STENCIL_OES Depth,Stencil D,S - ... ... ... - - Update the caption for table 3.8 (page 68) - - "Table 3.8: Conversion from RGBA, depth, and stencil pixel components to - internal texture components. Texture components R, G, B, A, and L are - converted back to RGBA colors during filtering as shown in table 3.12. - Texture components D are converted to RGBA colors as described in - section 3.7.8-1/2." - - Add the following to section 3.7.2 "Alternate Texture Image Specification - Commands": - - "CopyTexImage2D and CopyTexSubImage2D generate the INVALID_OPERATION - error if the base internal format of the destination texture is - DEPTH_COMPONENT or DEPTH_STENCIL_OES. - - TexSubImage2D generates the INVALID_OPERATION error if the base internal - format of the texture is DEPTH_COMPONENT or DEPTH_STENCIL_OES." - - Add a new section between sections 3.7.8 and 3.7.9: - - "3.7.8-1/2 Depth/Stencil Textures - - If the currently bound texture's base internal format is DEPTH_COMPONENT or - DEPTH_STENCIL_OES, then the output of the texture unit is as described - below. Otherwise, the texture unit operates in the normal manner. - - Let be the depth texture value, provided by the shader's texture lookup - function. Then the effective texture value is computed as follows: - = - - If the texture image has a base internal format of DEPTH_STENCIL_OES, then - the stencil index texture component is ignored. The texture value does - not include a stencil index component, but includes only the depth - component. - - The resulting is assigned to . In some implementations, is - also assigned to , , or . Thus in table 3.12, textures with - depth component data behave as if their base internal format is RGBA, with - values in , , and being implementation dependent." - - Add the following to section 3.7.11 "Mipmap Generation": - - "If the level zero array contains depth or depth-stencil data, the - error INVALID_OPERATION is generated." - - Insert a new paragraph after the first paragraph of the "Texture Access" - subsection of section 3.8.2 on page 87, which says: - - "Texture lookups involving textures with depth component data generate - a texture source color by using depth data directly, as described in - section 3.7.8-1/2. The stencil texture internal component is ignored - if the base internal format is DEPTH_STENCIL_OES." - -Additions to Chapter 4 of the OpenGL ES 2.0 specification (Per-Fragment -Operations and the Framebuffer) - - In section 4.4.5 "Framebuffer Completeness", replace the the 3rd - paragraph with the following text: - - "* An internal format is color-renderable if it is one of the formats - from table 4.5 noted as color-renderable or if it is unsized format - RGBA or RGB. No other formats, including compressed internal formats, - are color-renderable. - - * An internal format is depth-renderable if it is one of the sized - internal formats from table 4.5 noted as depth-renderable, if it - is the unsized format DEPTH_COMPONENT or if it is the internal - format value of DEPTH24_STENCIL8_OES. No other formats are - depth-renderable. - - * An internal format is stencil-renderable if it is one of the sized - internal formats from table 4.5 noted as stencil-renderable or if it - is DEPTH24_STENCIL8_OES. No other formats are stencil-renderable." - -Additions to Chapter 5 of the OpenGL ES 2.0 Specification (Special -Functions) - - None. - -Additions to Chapter 6 of the OpenGL ES 2.0 Specification (State and State -Requests) - - None. - -Interactions with OES_packed_depth_stencil - - If OES_packed_depth_stencil is not supported, mentions of - DEPTH_STENCIL_OES and UNSIGNED_INT_24_8_OES as a format/type combinations - for TexImage2D and TexSubImage2D are omitted. Mentions of - the internal format DEPTH24_STENCIL8_OES are also omitted. - -Interactions with EXT_texture_storage - - If EXT_texture_storage is supported the following internalformat - to format/type mappings are used: - - - ---------------- -------- ------ - DEPTH_COMPONENT16 DEPTH_COMPONENT UNSIGNED_SHORT - DEPTH_COMPONENT32_OES DEPTH_COMPONENT UNSIGNED_INT - DEPTH24_STENCIL8_OES DEPTH_STENCIL_OES UNSIGNED_INT - - Textures with the above only support one level of - image data. Specifying a value other than one for the parameter - to TexStorage2DEXT will result in an INVALID_OPERATION error. - - If EXT_texture_storage is not supported, ignore any references - to TexStorage2DEXT. - -Errors - - The error INVALID_OPERATION is generated by TexImage2D if and - are DEPTH_COMPONENT and is not UNSIGNED_SHORT, - or UNSIGNED_INT. - - The error INVALID_OPERATION is generated by TexSubImage2D if is - DEPTH_COMPONENT and is not UNSIGNED_SHORT, or UNSIGNED_INT. - - The error INVALID_OPERATION is generated by TexImage2D if and - are not DEPTH_COMPONENT and is UNSIGNED_SHORT, - or UNSIGNED_INT. - - The error INVALID_OPERATION is generated by TexSubImage2D if is - not DEPTH_COMPONENT and is UNSIGNED_SHORT, or UNSIGNED_INT. - - The error INVALID_OPERATION is generated by TexImage2D if and - are DEPTH_STENCIL_OES and is not - UNSIGNED_INT_24_8_OES. - - The error INVALID_OPERATION is generated by TexSubImage2D if - is DEPTH_STENCIL_OES and is not UNSIGNED_INT_24_8_OES. - - The error INVALID_OPERATION is generated by TexImage2D if and - is not DEPTH_STENCIL_OES and is - UNSIGNED_INT_24_8_OES. - - The error INVALID_OPERATION is generated by TexSubImage2D if - is not DEPTH_STENCIL_OES and is UNSIGNED_INT_24_8_OES. - - The error INVALID_OPERATION is generated in the following situations: - - TexImage2D is called with and of - DEPTH_COMPONENT or DEPTH_STENCIL_OES and - - is not TEXTURE_2D, - - is not NULL, or - - is not zero. - - TexSubImage2D is called with of DEPTH_COMPONENT or - DEPTH_STENCIL_OES. - - TexStorage2DEXT is called with of DEPTH_COMPONENT16, - DEPTH_COMPONENT32_OES, or DEPTH24_STENCIL8_OES, and - - is not TEXTURE_2D, or - - is not one. - - CopyTexImage2D is called with an that has a base - internal format of DEPTH_COMPONENT or DEPTH_STENCIL_OES. - - CopyTexSubImage2D is called with a target texture that has a base - internal format of DEPTH_COMPONENT or DEPTH_STENCIL_OES. - - GenerateMipmap is called on a texture that has a base internal format - of DEPTH_COMPONENT or DEPTH_STENCIL_OES. - -New State - - None. - -Issues - - 1) What are the differences between this extension and OES_depth_texture - and OES_packed_depth_stencil? - - RESOLVED: This extension: - - does not support loading pre-baked depth stencil data via - TexImage2D or TexSubImage2D. - - allows variability in the y-, z-, and w-components of the sample - results from depth textures. - - only supports one level textures. - - explicitly lists the errors for unsupported functionality. - Since these were not clearly specified in the OES_depth_texture - extension there may be differences in error values between - implementations of OES_depth_texture and ANGLE_depth_texture. - This specification was also rebased to apply against the OpenGL ES 2.0 - specification instead of the OpenGL specification, making it more - obvious what all the functionality changes are. - - 2) Why does TexSubImage2D accept the new format/type combinations even - though it does not actually support loading data? - - RESOLVED: This was done to be more consistent with the OES_depth_texture - extension and to make it easier to add support for loading texture - data if it is possible to support in the future. - - 3) Why are only 1-level depth textures supported? - - RESOLVED: The only use for multiple levels of depth textures would - be for fitlered texturing. However since it is not possible to - render to non-zero-level texture levels in OpenGL ES 2.0, and since - this extension forbids loading existing data and GenerateMipmap on - depth textures, it is impossible to initialize or specify contents - for non-zero levels of depth textures. - -Revision History - - 02/25/2013 swoods revise to allow texture lookup to guarantee depth values - only in red channel of sample result. - 06/04/2012 dgkoch fix errors, disallow multi-level depth textures. - 05/30/2012 dgkoch minor updates and add issues. - 05/23/2012 dgkoch intial revision based on OES_depth_texture and - OES_packed_depth_stencil and rebased against the ES 2.0 spec - diff --git a/extensions/ANGLE_framebuffer_blit.txt b/extensions/ANGLE_framebuffer_blit.txt deleted file mode 100644 index 53056c449..000000000 --- a/extensions/ANGLE_framebuffer_blit.txt +++ /dev/null @@ -1,437 +0,0 @@ -Name - - ANGLE_framebuffer_blit - -Name Strings - - GL_ANGLE_framebuffer_blit - -Contributors - - Contributors to EXT_framebuffer_blit - Daniel Koch, TransGaming Inc. - Shannon Woods, TransGaming Inc. - Kenneth Russell, Google Inc. - Vangelis Kokkevis, Google Inc. - -Contact - - Daniel Koch, TransGaming Inc. (daniel 'at' transgaming 'dot' com) - -Status - - Implemented in ANGLE ES2 - -Version - - Last Modified Date: Sept 22, 2012 - Author Revision: 4 - -Number - - OpenGL ES Extension #83 - -Dependencies - - OpenGL ES 2.0 is required. - - The extension is written against the OpenGL ES 2.0 specification. - - OES_texture_3D affects the definition of this extension. - -Overview - - This extension modifies framebuffer objects by splitting the - framebuffer object binding point into separate DRAW and READ - bindings. This allows copying directly from one framebuffer to - another. In addition, a new high performance blit function is - added to facilitate these blits and perform some data conversion - where allowed. - -IP Status - - No known IP claims. - -New Procedures and Functions - - void BlitFramebufferANGLE(int srcX0, int srcY0, int srcX1, int srcY1, - int dstX0, int dstY0, int dstX1, int dstY1, - bitfield mask, enum filter); - -New Tokens - - Accepted by the parameter of BindFramebuffer, - CheckFramebufferStatus, FramebufferTexture2D, FramebufferTexture3DOES, - FramebufferRenderbuffer, and - GetFramebufferAttachmentParameteriv: - - // (reusing the tokens from EXT_framebuffer_blit) - READ_FRAMEBUFFER_ANGLE 0x8CA8 - DRAW_FRAMEBUFFER_ANGLE 0x8CA9 - - Accepted by the parameters of GetIntegerv and GetFloatv: - - // (reusing the tokens from EXT_framebuffer_blit) - DRAW_FRAMEBUFFER_BINDING_ANGLE 0x8CA6 // alias FRAMEBUFFER_BINDING - READ_FRAMEBUFFER_BINDING_ANGLE 0x8CAA - - -Additions to Chapter 3 of the OpenGL ES 2.0 Specification (Rasterization) - - Change the last paragraph of section 3.7.2 (Alternate Texture Image - Specification Commands) to: - - "Calling CopyTexSubImage3DOES, CopyTexImage2D or CopyTexSubImage2D will - result in an INVALID_FRAMEBUFFER_OPERATION error if the object bound - to READ_FRAMEBUFFER_BINDING_ANGLE is not "framebuffer complete" - (section 4.4.4.2)." - -Additions to Chapter 4 of the OpenGL ES 2.0 Specification (Per-Fragment -Operations and the Framebuffer) - - Change the first word of Chapter 4 from "The" to "A". - - Append to the introduction of Chapter 4: - - "Conceptually, the GL has two active framebuffers; the draw - framebuffer is the destination for rendering operations, and the - read framebuffer is the source for readback operations. The same - framebuffer may be used for both drawing and reading. Section - 4.4.1 describes the mechanism for controlling framebuffer usage." - - Modify the first sentence of the last paragraph of section 4.1.1 as follows: - - "While an application-created framebuffer object is bound to - DRAW_FRAMEBUFFER_ANGLE, the pixel ownership test always passes." - - Add to 4.3.1 (Reading Pixels), right before the subsection titled - "Obtaining Pixels from the Framebuffer": - - "Calling ReadPixels generates INVALID_FRAMEBUFFER_OPERATION if - the object bound to READ_FRAMEBUFFER_BINDING_ANGLE is not "framebuffer - complete" (section 4.4.4.2). GetIntegerv generates an INVALID_OPERATION - error if the object bound to READ_FRAMEBUFFER_BINDING_ANGLE is not - framebuffer complete, or if the GL is using a framebuffer object - (i.e. READ_FRAMEBUFFER_BINDING_ANGLE is non-zero) and there is no color - attachment." - - Insert a new section 4.3.2 titled "Copying Pixels" and renumber the - subsequent sections. Add the following text: - - "BlitFramebufferANGLE transfers a rectangle of pixel values from one - region of the read framebuffer to another in the draw framebuffer. - - BlitFramebufferANGLE(int srcX0, int srcY0, int srcX1, int srcY1, - int dstX0, int dstY0, int dstX1, int dstY1, - bitfield mask, enum filter); - - is the bitwise OR of a number of values indicating which - buffers are to be copied. The values are COLOR_BUFFER_BIT, - DEPTH_BUFFER_BIT, and STENCIL_BUFFER_BIT, which are described in - section 4.2.3. The pixels corresponding to these buffers are - copied from the source rectangle, bound by the locations (srcX0, - srcY0) and (srcX1, srcY1), to the destination rectangle, bound by - the locations (dstX0, dstY0) and (dstX1, dstY1). The lower bounds - of the rectangle are inclusive, while the upper bounds are - exclusive. - - The actual region taken from the read framebuffer is limited to the - intersection of the source buffers being transferred, which may include - the color buffer, the depth buffer, and/or the stencil buffer depending on - . The actual region written to the draw framebuffer is limited to the - intersection of the destination buffers being written, which may include - the color buffer, the depth buffer, and/or the stencil buffer - depending on . Whether or not the source or destination regions are - altered due to these limits, the offset applied to pixels being transferred - is performed as though no such limits were present. - - Stretching and scaling during a copy are not supported. If the source - and destination rectangle dimensions do not match, no copy is - performed and an INVALID_OPERATION error is generated. - Because stretching is not supported, must be NEAREST and - no filtering is applied. - - Flipping during a copy is not supported. If either the source or - destination rectangle specifies a negative dimension, the error - INVALID_OPERATION is generated. If both the source and - destination rectangles specify a negative dimension for the same - direction, no reversal is required and the operation is supported. - - If the source and destination buffers are identical, and the - source and destination rectangles overlap, the result of the blit - operation is undefined. - - The pixel copy bypasses the fragment pipeline. The only fragment - operations which affect the blit are the pixel ownership test and - the scissor test. - - If a buffer is specified in and does not exist in both the - read and draw framebuffers, the corresponding bit is silently - ignored. - - Calling BlitFramebufferANGLE will result in an - INVALID_FRAMEBUFFER_OPERATION error if the objects bound to - DRAW_FRAMEBUFFER_BINDING_ANGLE and READ_FRAMEBUFFER_BINDING_ANGLE are - not "framebuffer complete" (section 4.4.4.2)." - - Calling BlitFramebufferANGLE will result in an INVALID_OPERATION - error if includes COLOR_BUFFER_BIT and the source and - destination color formats to not match. - - Calling BlitFramebufferANGLE will result in an INVALID_OPERATION - error if includes DEPTH_BUFFER_BIT or STENCIL_BUFFER_BIT - and the source and destination depth and stencil buffer formats do - not match. - - If includes DEPTH_BUFFER_BIT or STENCIL_BUFFER_BIT, only - complete buffers can be copied. If the source rectangle does not - specify the complete source buffer or the destination rectangle - (after factoring the scissor region, if applicable) does not specify - the complete destination buffer, an INVALID_OPERATION - error is generated. - - Modify the beginning of section 4.4.1 as follows: - - "The default framebuffer for rendering and readback operations is - provided by the windowing system. In addition, named framebuffer - objects can be created and operated upon. The namespace for - framebuffer objects is the unsigned integers, with zero reserved - by the GL for the default framebuffer. - - A framebuffer object is created by binding an unused name to - DRAW_FRAMEBUFFER_ANGLE or READ_FRAMEBUFFER_ANGLE. The binding is - effected by calling - - void BindFramebuffer(enum target, uint framebuffer); - - with set to the desired framebuffer target and - set to the unused name. The resulting framebuffer - object is a new state vector, comprising one set of the state values - listed in table 6.23 for each attachment point of the - framebuffer, set to the same initial values. There is one - color attachment point, plus one each - for the depth and stencil attachment points. - - BindFramebuffer may also be used to bind an existing - framebuffer object to DRAW_FRAMEBUFFER_ANGLE or - READ_FRAMEBUFFER_ANGLE. If the bind is successful no change is made - to the state of the bound framebuffer object, and any previous - binding to is broken. - - If a framebuffer object is bound to DRAW_FRAMEBUFFER_ANGLE or - READ_FRAMEBUFFER_ANGLE, it becomes the target for rendering or - readback operations, respectively, until it is deleted or another - framebuffer is bound to the corresponding bind point. Calling - BindFramebuffer with set to FRAMEBUFFER binds the - framebuffer to both DRAW_FRAMEBUFFER_ANGLE and READ_FRAMEBUFFER_ANGLE. - - While a framebuffer object is bound, GL operations on the target - to which it is bound affect the images attached to the bound - framebuffer object, and queries of the target to which it is bound - return state from the bound object. Queries of the values - specified in table 6.20 (Implementation Dependent Pixel Depths) - and table 6.yy (Framebuffer Dependent Values) are - derived from the framebuffer object bound to DRAW_FRAMEBUFFER_ANGLE. - - The initial state of DRAW_FRAMEBUFFER_ANGLE and READ_FRAMEBUFFER_ANGLE - refers to the default framebuffer provided by the windowing - system. In order that access to the default framebuffer is not - lost, it is treated as a framebuffer object with the name of 0. - The default framebuffer is therefore rendered to and read from - while 0 is bound to the corresponding targets. On some - implementations, the properties of the default framebuffer can - change over time (e.g., in response to windowing system events - such as attaching the context to a new windowing system drawable.)" - - Change the description of DeleteFramebuffers as follows: - - " contains names of framebuffer objects to be - deleted. After a framebuffer object is deleted, it has no - attachments, and its name is again unused. If a framebuffer that - is currently bound to one or more of the targets - DRAW_FRAMEBUFFER_ANGLE or READ_FRAMEBUFFER_ANGLE is deleted, it is as - though BindFramebuffer had been executed with the corresponding - and zero. Unused names in - are silently ignored, as is the value zero." - - - In section 4.4.3 (Renderbuffer Objects), modify the first two sentences - of the description of FramebufferRenderbuffer as follows: - - " must be DRAW_FRAMEBUFFER_ANGLE, READ_FRAMEBUFFER_ANGLE, or - FRAMEBUFFER. If is FRAMEBUFFER, it behaves as - though DRAW_FRAMEBUFFER_ANGLE was specified. The INVALID_OPERATION - error is generated if the value of the corresponding binding is zero." - - In section 4.4.3 (Renderbuffer Objects), modify the first two sentences - of the description of FramebufferTexture2D as follows: - - " must be DRAW_FRAMEBUFFER_ANGLE, - READ_FRAMEBUFFER_ANGLE, or FRAMEBUFFER. If is - FRAMEBUFFER, it behaves as though DRAW_FRAMEBUFFER_ANGLE was - specified. The INVALID_OPERATION error is generated if the value of the - corresponding binding is zero." - - In section 4.4.5 (Framebuffer Completeness), modify the first sentence - of the description of CheckFramebufferStatus as follows: - - "If is not DRAW_FRAMEBUFFER_ANGLE, READ_FRAMEBUFFER_ANGLE or - FRAMEBUFFER, the error INVALID_ENUM is generated. If is - FRAMEBUFFER, it behaves as though DRAW_FRAMEBUFFER_ANGLE was - specified." - - Modify the first sentence of the subsection titled "Effects of Framebuffer - Completeness on Framebuffer Operations" to be: - - "Attempting to render to or read from a framebuffer which is not - framebuffer complete will generate an - INVALID_FRAMEBUFFER_OPERATION error." - - - -Additions to Chapter 6 of the OpenGL 1.5 Specification (State and State -Requests) - - In section 6.1.3, modify the first sentence of the description of - GetFramebufferAttachmentParameteriv as follows: - - " must be DRAW_FRAMEBUFFER_ANGLE, READ_FRAMEBUFFER_ANGLE or - FRAMEBUFFER. If is FRAMEBUFFER, it behaves as - though DRAW_FRAMEBUFFER_ANGLE was specified." - - Modify the title of Table 6.23 (Framebuffer State) to be "Framebuffer - (state per attachment point)". - - -Dependencies on OES_texture_3D - - On an OpenGL ES implementation, in the absense of OES_texture_3D, - omit references to FramebufferTexture3DOES and CopyTexSubImage3DOES. - -Errors - - The error INVALID_FRAMEBUFFER_OPERATION is generated if - BlitFramebufferANGLE is called while the - draw framebuffer is not framebuffer complete. - - The error INVALID_FRAMEBUFFER_OPERATION is generated if - BlitFramebufferANGLE, ReadPixels, CopyTex{Sub}Image*, is called while the - read framebuffer is not framebuffer complete. - - The error INVALID_OPERATION is generated if GetIntegerv is called - while the read framebuffer is not framebuffer complete, or if there - is no color attachment present on the read framebuffer object. - - The error INVALID_VALUE is generated by BlitFramebufferANGLE if - has any bits set other than those named by - COLOR_BUFFER_BIT, DEPTH_BUFFER_BIT or STENCIL_BUFFER_BIT. - - The error INVALID_OPERATION is generated if BlitFramebufferANGLE is - called and includes DEPTH_BUFFER_BIT or STENCIL_BUFFER_BIT - and the source and destination depth or stencil buffer formats do - not match. - - The error INVALID_OPERATION is generated if BlitFramebufferANGLE is - called and any of the following conditions are true: - - the source and destination rectangle dimensions do not match - (ie scaling or flipping is required). - - includes COLOR_BUFFER_BIT and the source and destination - buffer formats do not match. - - includes DEPTH_BUFFER_BIT or STENCIL_BUFFER_BIT and the - source or destination rectangles do not specify the entire source - or destination buffer (after applying any scissor region). - - The error INVALID_ENUM is generated by BlitFramebufferANGLE if - is not NEAREST. - - The error INVALID_ENUM is generated if BindFramebuffer, - CheckFramebufferStatus, FramebufferTexture{2D|3DOES}, - FramebufferRenderbuffer, or - GetFramebufferAttachmentParameteriv is called and is - not DRAW_FRAMEBUFFER_ANGLE, READ_FRAMEBUFFER_ANGLE or FRAMEBUFFER. - -New State - - (Add a new table 6.xx, "Framebuffer (state per framebuffer target binding point)") - - Get Value Type Get Command Initial Value Description Section - ------------------------------ ---- ----------- -------------- ------------------- ------------ - DRAW_FRAMEBUFFER_BINDING_ANGLE Z+ GetIntegerv 0 framebuffer object bound 4.4.1 - to DRAW_FRAMEBUFFER_ANGLE - READ_FRAMEBUFFER_BINDING_ANGLE Z+ GetIntegerv 0 framebuffer object 4.4.1 - to READ_FRAMEBUFFER_ANGLE - - Remove reference to FRAMEBUFFER_BINDING from Table 6.23. - - (Add a new table 6.yy, "Framebuffer Dependent Values") - - Get Value Type Get Command Initial Value Description Section - ---------------------------- ---- ----------- -------------- ------------------- ------------ - SAMPLE_BUFFERS Z+ GetIntegerv 0 Number of multisample 3.2 - buffers - SAMPLES Z+ GetIntegerv 0 Coverage mask size 3.2 - - Remove the references to SAMPLE_BUFFERS and SAMPLES from Table 6.17. - - -Issues - - 1) What should we call this extension? - - Resolved: ANGLE_framebuffer_blit. - - This extension is a result of a collaboration between Google and - TransGaming for the open-source ANGLE project. Typically one would - label a multi-vendor extension as EXT, but EXT_framebuffer_blit - is already the name for this on Desktop GL. Additionally this - isn't truely a multi-vendor extension because there is only one - implementation of this. We'll follow the example of the open-source - MESA project which uses the project name for the vendor suffix. - - 2) Why is this done as a separate extension instead of just supporting - EXT_framebuffer_blit? - - To date, EXT_framebuffer_blit has not had interactions with OpenGL ES - specified and, as far as we know, it has not previously been exposed on - an ES 1.1 or ES 2.0 implementation. Because there are enough - differences between Desktop GL and OpenGL ES, and since OpenGL ES 2.0 - has already subsumed the EXT_framebuffer_object functionality (with - some changes) it was deemed a worthwhile exercise to fully specify the - interactions. Additionally, some of the choices in exactly which - functionality is supported by BlitFramebufferANGLE is dictated by - what is reasonable to support on a implementation which is - layered on Direct3D9. It is not expected that other implementations - will necessary have the same set of restrictions or requirements. - - 3) How does this extension differ from EXT_framebuffer_blit? - - This extension is designed to be a pure subset of the - EXT_framebuffer_blit functionality as applicable to OpenGL ES 2.0. - - Functionality that is unchanged: - - the split DRAW and READ framebuffer attachment points and related sematics. - - the token values for the DRAW/READ_FRAMEBUFFER and DRAW/READ_FRAMBUFFER_BINDING - - the signature of the BlitFramebuffer entry-point. - - Additional restrictions imposed by BlitFramebufferANGLE: - - no color conversions are supported - - no scaling, stretching or flipping are supported - - no filtering is supported (a consequence of no stretching) - - only whole depth and/or stencil buffers can be copied - -Revision History - - Revision 1, 2010/07/06 - - copied from revision 15 of EXT_framebuffer_object - - removed language that was clearly not relevant to ES2 - - rebased changes against the OpenGL ES 2.0 specification - - added ANGLE-specific restrictions - Revision 2, 2010/07/15 - - clarifications of implicit clamping to buffer sizes (from ARB_fbo) - - clarify that D/S restricts apply after the scissor is applied - - improve some error language - Revision 3, 2010/08/06 - - add additional contributors, update implementation status - Revision 4, 2012/09/22 - - document errors for GetIntegerv. - diff --git a/extensions/ANGLE_framebuffer_multisample.txt b/extensions/ANGLE_framebuffer_multisample.txt deleted file mode 100644 index cf5e45830..000000000 --- a/extensions/ANGLE_framebuffer_multisample.txt +++ /dev/null @@ -1,363 +0,0 @@ -Name - - ANGLE_framebuffer_multisample - -Name Strings - - GL_ANGLE_framebuffer_multisample - -Contributors - - Contributors to EXT_framebuffer_multisample - Daniel Koch, TransGaming Inc. - Shannon Woods, TransGaming Inc. - Kenneth Russell, Google Inc. - Vangelis Kokkevis, Google Inc. - -Contacts - - Daniel Koch, TransGaming Inc. (daniel 'at' transgaming 'dot' com) - -Status - - Implemented in ANGLE ES2 - -Version - - Last Modified Date: Aug 6, 2010 - Author Revision: #3 - -Number - - OpenGL ES Extension #84 - -Dependencies - - Requires OpenGL ES 2.0. - - Requires GL_ANGLE_framebuffer_blit (or equivalent functionality). - - The extension is written against the OpenGL ES 2.0 specification. - - OES_texture_3D affects the definition of this extension. - -Overview - - This extension extends the framebuffer object framework to - enable multisample rendering. - - The new operation RenderbufferStorageMultisampleANGLE() allocates - storage for a renderbuffer object that can be used as a multisample - buffer. A multisample render buffer image differs from a - single-sample render buffer image in that a multisample image has a - number of SAMPLES that is greater than zero. No method is provided - for creating multisample texture images. - - All of the framebuffer-attachable images attached to a framebuffer - object must have the same number of SAMPLES or else the framebuffer - object is not "framebuffer complete". If a framebuffer object with - multisample attachments is "framebuffer complete", then the - framebuffer object behaves as if SAMPLE_BUFFERS is one. - - The resolve operation is affected by calling - BlitFramebufferANGLE (provided by the ANGLE_framebuffer_blit - extension) where the source is a multisample application-created - framebuffer object and the destination is a single-sample - framebuffer object (either application-created or window-system - provided). - -New Procedures and Functions - - void RenderbufferStorageMultisampleANGLE( - enum target, sizei samples, - enum internalformat, - sizei width, sizei height); - -New Types - - None. - -New Tokens - - Accepted by the parameter of GetRenderbufferParameteriv: - - RENDERBUFFER_SAMPLES_ANGLE 0x8CAB - - Returned by CheckFramebufferStatus: - - FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE 0x8D56 - - Accepted by the parameter of GetBooleanv, GetIntegerv, - and GetFloatv: - - MAX_SAMPLES_ANGLE 0x8D57 - -Additions to Chapter 2 of the OpenGL ES 2.0 Specification (OpenGL Operation) - -Additions to Chapter 3 of the OpenGL ES 2.0 Specification (Rasterization) - - Add to the last paragraph of 3.7.2 (Alternate Texture Image Specification) - (as modified by ANGLE_framebuffer_blit) the following: - - "Calling CopyTexSubImage3DOES, CopyTexImage2D or CopyTexSubImage2D will - result in INVALID_OPERATION being generated if the object bound to - READ_FRAMEBUFFER_BINDING_ANGLE is "framebuffer complete" and the value - of SAMPLE_BUFFERS is greater than zero." - -Additions to Chapter 4 of the OpenGL ES 2.0 Specification (Per-Fragment -Operations and the Framebuffer) - - Add to 4.3.1 (Reading Pixels), right before the subsection titled - "Obtaining Pixels from the Framebuffer": - - "ReadPixels generates INVALID_OPERATION if READ_FRAMEBUFFER_BINDING_ANGLE - (section 4.4) is non-zero, the read framebuffer is framebuffer - complete, and the value of SAMPLE_BUFFERS for the read framebuffer - is greater than zero." - - In 4.3.2 (Copying Pixels), add to the section describing BlitFramebuffer - that was added by ANGLE_framebuffer_blit. - - "If SAMPLE_BUFFERS for the read framebuffer is greater than zero and - SAMPLE_BUFFERS for the draw framebuffer is zero, the samples - corresponding to each pixel location in the source are converted to - a single sample before being written to the destination. - - If SAMPLE_BUFFERS for the draw framebuffer is greater than zero, - no copy is performed and an INVALID_OPERATION error is generated. - - If SAMPLE_BUFFERS for the read framebuffer is greater than zero and - includes DEPTH_BUFFER_BIT or STENCIL_BUFFER_BIT, no copy is - performed and an INVALID_OPERATION error is generated. - - If SAMPLE_BUFFERS for the read framebuffer is greater than zero and - the format of the read and draw framebuffers are not identical, no - copy is performed and an INVALID_OPERATION error is generated. - - If SAMPLE_BUFFERS for the read framebuffer is greater than zero, the - dimensions of the source and destination rectangles provided to - BlitFramebufferANGLE must be identical and must specify the complete - source and destination buffers, otherwise no copy is performed and - an INVALID_OPERATION error is generated." - - Modification to 4.4.3 (Renderbuffer Objects) - - Add, just above the definition of RenderbufferStorage: - - "The command - - void RenderbufferStorageMultisampleANGLE( - enum target, sizei samples, - enum internalformat, - sizei width, sizei height); - - establishes the data storage, format, dimensions, and number of - samples of a renderbuffer object's image. must be - RENDERBUFFER. must be one of the color-renderable, - depth-renderable, or stencil-renderable formats described in table 4.5. - and are the dimensions in pixels of the renderbuffer. If - either or is greater than the value of - MAX_RENDERBUFFER_SIZE, or if is greater than MAX_SAMPLES_ANGLE, - then the error INVALID_VALUE is generated. If OpenGL ES is unable to - create a data store of the requested size, the error OUT_OF_MEMORY - is generated. - - Upon success, RenderbufferStorageMultisampleANGLE deletes any existing - data store for the renderbuffer image and the contents of the data - store after calling RenderbufferStorageMultisampleANGLE are undefined. - RENDERBUFFER_WIDTH is set to , RENDERBUFFER_HEIGHT is - set to , and RENDERBUFFER_INTERNAL_FORMAT is set to - . - - If is zero, then RENDERBUFFER_SAMPLES_ANGLE is set to zero. - Otherwise represents a request for a desired minimum - number of samples. Since different implementations may support - different sample counts for multisampled rendering, the actual - number of samples allocated for the renderbuffer image is - implementation dependent. However, the resulting value for - RENDERBUFFER_SAMPLES_ANGLE is guaranteed to be greater than or equal - to and no more than the next larger sample count supported - by the implementation. - - An OpenGL ES implementation may vary its allocation of internal component - resolution based on any RenderbufferStorageMultisampleANGLE parameter (except - target), but the allocation and chosen internal format must not be a - function of any other state and cannot be changed once they are - established. The actual resolution in bits of each component of the - allocated image can be queried with GetRenderbufferParameteriv." - - Modify the definiton of RenderbufferStorage as follows: - - "The command - - void RenderbufferStorage(enum target, enum internalformat, - sizei width, sizei height); - - is equivalent to calling RenderbufferStorageMultisampleANGLE with - equal to zero." - - In section 4.4.5 (Framebuffer Completeness) in the subsection - titled "Framebuffer Completeness" add an entry to the bullet list: - - * The value of RENDERBUFFER_SAMPLES_ANGLE is the same for all attached - images. - { FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE } - - Also add a paragraph to the end of the section after the definition - of CheckFramebufferStatus: - - "The values of SAMPLE_BUFFERS and SAMPLES are derived from the - attachments of the currently bound framebuffer object. If the - current DRAW_FRAMEBUFFER_BINDING_ANGLE is not "framebuffer complete", - then both SAMPLE_BUFFERS and SAMPLES are undefined. Otherwise, - SAMPLES is equal to the value of RENDERBUFFER_SAMPLES_ANGLE for the - attached images (which all must have the same value for - RENDERBUFFER_SAMPLES_ANGLE). Further, SAMPLE_BUFFERS is one if - SAMPLES is non-zero. Otherwise, SAMPLE_BUFFERS is zero. - -Additions to Chapter 5 of the OpenGL ES 2.0 Specification (Special Functions) - - -Additions to Chapter 6 of the OpenGL ES 2.0 Specification (State and State -Requests) - - In section 6.1.3 (Enumeraged Queries), modify the third paragraph - of the description of GetRenderbufferParameteriv as follows: - - "Upon successful return from GetRenderbufferParameteriv, if - is RENDERBUFFER_WIDTH, RENDERBUFFER_HEIGHT, - RENDERBUFFER_INTERNAL_FORMAT, or RENDERBUFFER_SAMPLES_ANGLE, then - will contain the width in pixels, height in pixels, internal format, or - number of samples, respectively, of the image of the renderbuffer - currently bound to ." - - -Dependencies on ANGLE_framebuffer_blit - - ANGLE_framebuffer_blit is required. Technically, ANGLE_framebuffer_blit - would not be required to support multisampled rendering, except for - the fact that it provides the only method of doing a multisample - resovle from a multisample renderbuffer. - -Dependencies on OES_texture_3D - - On an OpenGL ES implementation, in the absense of OES_texture_3D, - omit references to CopyTexSubImage3DOES. - -Errors - - The error INVALID_OPERATION is generated if ReadPixels or - CopyTex{Sub}Image* is called while READ_FRAMEBUFFER_BINDING_ANGLE - is non-zero, the read framebuffer is framebuffer complete, and the - value of SAMPLE_BUFFERS for the read framebuffer is greater than - zero. - - If both the draw and read framebuffers are framebuffer complete and - the draw framebuffer has a value of SAMPLE_BUFFERS that is greater - than zero, then the error INVALID_OPERATION is generated if - BlitFramebufferANGLE is called. - - If both the draw and read framebuffers are framebuffer complete and - the read framebuffer has a value of SAMPLE_BUFFERS that is greater - than zero, the error INVALID_OPERATION is generated if - BlitFramebufferANGLE is called and any of the following conditions - are true: - - includes DEPTH_BUFFER_BIT or STENCIL_BUFFER_BIT. - - the source or destination rectangles do not specify the entire - source or destination buffer. - - If both the draw and read framebuffers are framebuffer complete and - either has a value of SAMPLE_BUFFERS that is greater than zero, then - the error INVALID_OPERATION is generated if BlitFramebufferANGLE is - called and the formats of the draw and read framebuffers are not - identical. - - If either the draw or read framebuffer is framebuffer complete and - has a value of SAMPLE_BUFFERS that is greater than zero, then the - error INVALID_OPERATION is generated if BlitFramebufferANGLE is called - and the specified source and destination dimensions are not - identical. - - If RenderbufferStorageMultisampleANGLE is called with not - equal to RENDERBUFFER, the error INVALID_ENUM is generated. - - If RenderbufferStorageMultisampleANGLE is called with an - that is not listed as one of the color-, depth- - or stencil-renderable formats in Table 4.5, then the error - INVALID_ENUM is generated. - - If RenderbufferStorageMultisampleANGLE is called with or - greater than MAX_RENDERBUFFER_SIZE, then the error - INVALID_VALUE is generated. - - If RenderbufferStorageMultisampleANGLE is called with a value of - that is greater than MAX_SAMPLES_ANGLE or less than zero, - then the error INVALID_VALUE is generated. - - The error OUT_OF_MEMORY is generated when - RenderbufferStorageMultisampleANGLE cannot create storage of the - specified size. - -New State - - Add to table 6.22 (Renderbuffer State) - - Get Value Type Get Command Initial Value Description Section - ------------------------------- ------ -------------------------- ------------- -------------------- ------- - RENDERBUFFER_SAMPLES_ANGLE Z+ GetRenderbufferParameteriv 0 number of samples 4.4.3 - - - Add to table 6.yy (Framebuffer Dependent Vaues) (added by - ANGLE_framebuffer_blit), the following new framebuffer dependent state. - - Get Value Type Get Command Minimum Value Description Section - ----------------- ---- ----------- ------------- ------------------- ------- - MAX_SAMPLES_ANGLE Z+ GetIntegerv 1 Maximum number of 4.4.3 - samples supported - for multisampling - - - -Issues - - Issues from EXT_framebuffer_multisample have been removed. - - 1) What should we call this extension? - - Resolved: ANGLE_framebuffer_blit. - - This extension is a result of a collaboration between Google and - TransGaming for the open-source ANGLE project. Typically one would - label a multi-vendor extension as EXT, but EXT_framebuffer_mulitsample - is already the name for this on Desktop GL. Additionally this - isn't truely a multi-vendor extension because there is only one - implementation of this. We'll follow the example of the open-source - MESA project which uses the project name for the vendor suffix. - - 2) How does this extension differ from EXT_framebuffer_multisample? - - This is designed to be a proper subset of EXT_framebuffer_multisample - functionality as applicable to OpenGL ES 2.0. - - Functionality that is unchanged: - - creation of multisample renderbuffers. - - whole buffer multi-sample->single-sample resolve. - - no format conversions, stretching or flipping supported on multisample blits. - - Additional restrictions on BlitFramebufferANGLE: - - multisample resolve is only supported on color buffers. - - no blits to multisample destinations (no single->multi or multi-multi). - - only entire buffers can be resolved. - -Revision History - - Revision 1, 2010/07/08 - - copied from revision 7 of EXT_framebuffer_multisample - - removed language that was not relevant to ES2 - - rebase changes against the Open GL ES 2.0 specification - - added ANGLE-specific restrictions - Revision 2, 2010/07/19 - - fix missing error code - Revision 3, 2010/08/06 - - add additional contributors, update implementation status - - disallow negative samples diff --git a/extensions/ANGLE_instanced_arrays.txt b/extensions/ANGLE_instanced_arrays.txt deleted file mode 100644 index 69d115045..000000000 --- a/extensions/ANGLE_instanced_arrays.txt +++ /dev/null @@ -1,359 +0,0 @@ -Name - - ANGLE_instanced_arrays - -Name Strings - - GL_ANGLE_instanced_arrays - -Contributors - - Contributors to ARB_instanced_arrays - Nicolas Capens, TransGaming Inc. - James Helferty, TransGaming Inc. - Kenneth Russell, Google Inc. - Vangelis Kokkevis, Google Inc. - -Contact - - Daniel Koch, TransGaming Inc. (daniel 'at' transgaming.com) - -Status - - Implemented in ANGLE r976. - -Version - - Last Modified Date: February 8, 2012 - Author Revision: 3 - -Number - - OpenGL ES Extension #109 - -Dependencies - - OpenGL ES 2.0 is required. - - This extension is written against the OpenGL ES 2.0 Specification. - -Overview - - A common use case in GL for some applications is to be able to - draw the same object, or groups of similar objects that share - vertex data, primitive count and type, multiple times. This - extension provides a means of accelerating such use cases while - restricting the number of API calls, and keeping the amount of - duplicate data to a minimum. - - This extension introduces an array "divisor" for generic - vertex array attributes, which when non-zero specifies that the - attribute is "instanced." An instanced attribute does not - advance per-vertex as usual, but rather after every - conceptual draw calls. - - (Attributes which aren't instanced are repeated in their entirety - for every conceptual draw call.) - - By specifying transform data in an instanced attribute or series - of instanced attributes, vertex shaders can, in concert with the - instancing draw calls, draw multiple instances of an object with - one draw call. - -IP Status - - No known IP claims. - -New Tokens - - Accepted by the parameters of GetVertexAttribfv and - GetVertexAttribiv: - - VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE 0x88FE - -New Procedures and Functions - - void DrawArraysInstancedANGLE(enum mode, int first, sizei count, - sizei primcount); - - void DrawElementsInstancedANGLE(enum mode, sizei count, enum type, - const void *indices, sizei primcount); - - void VertexAttribDivisorANGLE(uint index, uint divisor); - -Additions to Chapter 2 of the OpenGL ES 2.0 Specification -(OpenGL ES Operation) - - Modify section 2.8 (Vertex Arrays), p. 21 - - After description of EnableVertexAttribArray / DisableVertexAttribArray - add the following: - - "The command - - void VertexAttribDivisorANGLE(uint index, uint divisor); - - modifies the rate at which generic vertex attributes advance when - rendering multiple instances of primitives in a single draw call - (see DrawArraysInstancedANGLE and DrawElementsInstancedANGLE below). - If is zero, the attribute at slot advances once - per vertex. If is non-zero, the attribute advances once - per instances of the primitives being rendered. - An attribute is referred to as "instanced" if its value is - non-zero." - - Replace the text describing DrawArrays and DrawElements in the - "Transferring Array Elements" subsection of 2.8, from the second paragraph - through the end of the section with the following: - - "The command - - void DrawArraysOneInstance( enum mode, int first, sizei count, int instance ); - - does not exist in the GL, but is used to describe functionality in - the rest of this section. This function constructs a sequence of - geometric primitives by transferring elements through + - - 1 of each enabled non-instanced array to the GL. - specifies what kind of primitives are constructed, as defined in section - 2.6.1. - - If an enabled vertex attribute array is instanced (it has a non-zero - attribute as specified by VertexAttribDivisorANGLE), the element - that is transferred to the GL is given by: - - floor( / ). - - If an array corresponding to a generic attribute required by a vertex shader - is not enabled, then the corresponding element is taken from the current - generic attribute state (see section 2.7). - - If an array corresponding to a generic attribute required by a vertex shader - is enabled, the corresponding current generic attribute value is unaffected - by the execution of DrawArraysOneInstance. - - Specifying < 0 results in undefined behavior. Generating the error - INVALID_VALUE is recommended in this case. - - The command - - void DrawArrays( enum mode, int first, sizei count ); - - is equivalent to the command sequence - - DrawArraysOneInstance(mode, first, count, 0); - - The command - - void DrawArraysInstancedANGLE(enum mode, int first, sizei count, - sizei primcount); - - behaves identically to DrawArrays except that - instances of the range of elements are executed, and the - advances for each iteration. Instanced attributes that - have N, (where N > 0, as specified by - VertexAttribDivisorANGLE) advance once every N instances. - - It has the same effect as: - - if (mode, count, or primcount is invalid) - generate appropriate error - else { - for (i = 0; i < primcount; i++) { - DrawArraysOneInstance(mode, first, count, i); - } - } - - The command - - void DrawElementsOneInstance( enum mode, sizei count, enum type, - void *indices, int instance ); - - does not exist in the GL, but is used to describe functionality in - the rest of this section. This command constructs a sequence of - geometric primitives by successively transferring the elements - whose indices are stored in the currently bound element array buffer - (see section 2.9.2) at the offset defined by to the GL. - The -th element transferred by DrawElementsOneInstance will be taken - from element [i] of each enabled non-instanced array. - must be one of UNSIGNED_BYTE, UNSIGNED_SHORT, or UNSIGNED_INT, - indicating that the index values are of GL type ubyte, ushort, or uint - respectively. specifies what kind of primitives are constructed, - as defined in section 2.6.1. - - If an enabled vertex attribute array is instanced (it has a non-zero - attribute as specified by VertexAttribDivisorANGLE), the element - that is transferred to the GL is given by: - - floor( / ); - - If an array corresponding to a generic attribute required by a vertex - shader is not enabled, then the corresponding element is taken from the - current generic attribute state (see section 2.7). Otherwise, if an array - is enabled, the corresponding current generic attribute value is - unaffected by the execution of DrawElementsOneInstance. - - The command - - void DrawElements( enum mode, sizei count, enum type, - const void *indices); - - behaves identically to DrawElementsOneInstance with the - parameter set to zero; the effect of calling - - DrawElements(mode, count, type, indices); - - is equivalent to the command sequence: - - if (mode, count or type is invalid ) - generate appropriate error - else - DrawElementsOneInstance(mode, count, type, indices, 0); - - The command - - void DrawElementsInstancedANGLE(enum mode, sizei count, enum type, - const void *indices, sizei primcount); - - behaves identically to DrawElements except that - instances of the set of elements are executed and the instance - advances between each set. Instanced attributes are advanced as they do - during the execution of DrawArraysInstancedANGLE. It has the same effect as: - - if (mode, count, primcount, or type is invalid ) - generate appropriate error - else { - for (int i = 0; i < primcount; i++) { - DrawElementsOneInstance(mode, count, type, indices, i); - } - } - - If the number of supported generic vertex attributes (the value of - MAX_VERTEX_ATTRIBS) is , then the client state required to implement - vertex arrays consists of boolean values, memory pointers, - integer stride values, symbolic constants representing array types, - integers representing values per element, boolean values - indicating normalization, and integers representing vertex attribute - divisors. - - In the initial state, the boolean values are each false, the memory - pointers are each NULL, the strides are each zero, the array types are - each FLOAT, the integers representing values per element are each four, - and the divisors are each zero." - -Additions to Chapter 3 of the OpenGL ES 2.0 Specification (Rasterization) - - None - -Additions to Chapter 4 of the OpenGL ES 2.0 Specification (Per-Fragment -Operations and the Framebuffer) - - None - -Additions to Chapter 5 of the OpenGL ES 2.0 Specification (Special Functions) - - None - -Additions to Chapter 6 of the OpenGL ES 2.0 Specification (State and State -Requests) - - In section 6.1.8, add VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE to the list of - pnames accepted by GetVertexAttribfv and GetVertexAttribiv. - -Additions to the AGL/EGL/GLX/WGL Specifications - - None - -Dependencies on OES_element_index_uint - - If OES_element_index_uint is not supported, removed all references - to UNSIGNED_INT indices and the associated GL data type uint in - the description of DrawElementsOneInstance. - -Errors - - INVALID_VALUE is generated by VertexAttribDivisorANGLE if - is greater than or equal to MAX_VERTEX_ATTRIBS. - - INVALID_ENUM is generated by DrawElementsInstancedANGLE if is - not one of UNSIGNED_BYTE, UNSIGNED_SHORT or UNSIGNED_INT. - - INVALID_VALUE is generated by DrawArraysInstancedANGLE if , - , or is less than zero. - - INVALID_ENUM is generated by DrawArraysInstancedANGLE or - DrawElementsInstancedANGLE if is not one of the modes described in - section 2.6.1. - - INVALID_VALUE is generated by DrawElementsInstancedANGLE if or - is less than zero. - - INVALID_OPERATION is generated by DrawArraysInstancedANGLE or - DrawElementsInstancedANGLE if there is not at least one enabled - vertex attribute array that has a of zero and is bound to an - active generic attribute value in the program used for the draw command. - -New State - - Changes to table 6.7, p. 268 (Vertex Array Data) - - Initial - Get Value Type Get Command Value Description Sec. - --------- ----- ----------- ------- ----------- ---- - VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE 8*xZ+ GetVertexAttrib 0 Instance Divisor 2.8 - -Issues - - 1) Should vertex attribute zero be instance-able? - - Resolved: Yes. - Discussion: In Direct3D 9 stream 0 must be specified as indexed data - and it cannot be instanced. In ANGLE we can work around this by - remapping any other stream that does have indexed data (ie a zero - attribute divisor) to stream 0 in D3D9. This works because the HLSL - vertex shader matches attributes against the stream by using the - shader semantic index. - - 2) Can all vertex attributes be instanced simultaneously? - - Resolved: No - Discussion: In rare cases it is possible for no attribute to have a - divisor of 0, meaning that all attributes are instanced and none of - them are regularly indexed. This in turn means each instance can only - have a single position element, and so it only actually renders - something when rendering point primitives. This is not a very - meaningful way of using instancing (which is likely why D3D restricts - stream 0 to be indexed regularly for position data in the first place). - We could implement it by drawing these points one at a time (essentially - emulating instancing), but it would not be very efficient and there - seems to be little-to-no value in doing so. - - If all of the enabled vertex attribute arrays that are bound to active - generic attributes in the program have a non-zero divisor, the draw - call should return INVALID_OPERATION. - - 3) Direct3D 9 only supports instancing for DrawIndexedPrimitive which - corresponds to DrawElementsInstanced. Should we support - DrawArraysInstanced? - - Resolved: Yes - Discussion: This can be supported easily enough by simply manufacturing - a linear index buffer of sufficient size and using that to do indexed - D3D9 drawing. - - 4) How much data is needed in a buffer for an instanced attribute? - - Resolved: Where stride is the value passed to VertexAttribPointer: - - if stride > 0 - size = stride * ceil(primcount / divisor); - else - size = elementsize * ceil(primcount / divisor); - -Revision History - - #3 February 8, 2012 dgkoch - - clarify Issue 3 and the error condition for no indexed attributes - #2 January 24, 2012 dgkoch - - fix typos, add clarifications, and more errors - #1 January 17, 2012 dgkoch - - initial GLES2 version from ARB_instanced_arrays diff --git a/extensions/ANGLE_pack_reverse_row_order.txt b/extensions/ANGLE_pack_reverse_row_order.txt deleted file mode 100644 index 6ec06491e..000000000 --- a/extensions/ANGLE_pack_reverse_row_order.txt +++ /dev/null @@ -1,168 +0,0 @@ -Name - - ANGLE_pack_reverse_row_order - -Name Strings - - GL_ANGLE_pack_reverse_row_order - -Contact - - Daniel Koch, TransGaming (daniel 'at' transgaming.com) - -Contributors - - Brian Salomon - Daniel Koch - -Status - - Implemented in ANGLE ES2 - -Version - - Last Modified Date: February 22, 2011 - Author Revision: 22 - -Number - - OpenGL ES Extension #110 - -Dependencies - - OpenGL 1.5 or OpenGL ES 1.0 are required. - - Some of the functionality of this extension is not supported - when implemented against OpenGL ES. - - EXT_texture_rg interacts with this extension. - - The extension is written against the OpenGL 3.2 Specification - (Core Profile). - -Overview - - This extension introduces a mechanism to allow reversing the order - in which image rows are written into a pack destination. This - effectively allows an application to flip the results of a ReadPixels - in the y direction operation without having to render upside down. - - The coordinate system of OpenGL is vertically reversed in comparison to a - number of other graphics systems such as native windowing APIs. Applications - that perform ReadPixels may have to either render to an intermediate color - buffer before calling ReadPixels or perform a flip in software after - ReadPixels. In some systems the GL can perform the row reversal during - ReadPixels without incurring additional cost. - -IP Status - - No known IP claims. - -New Procedures and Functions - - None - -New Types - - None - -New Tokens - - Accepted by the parameter of PixelStore{if}, GetIntegerv(), - GetBooleanv(), and GetFloatv(): - - PACK_REVERSE_ROW_ORDER_ANGLE 0x93A4 - -Additions to Chapter 3 of the OpenGL 3.2 Specification (Rasterization) - - In Section 4.3.1 (Reading Pixels) add a row to table 4.7: - - +------------------------------+---------+---------------+-------------+ - | Parameter Name | Type | Initial Value | Valid Range | - +------------------------------+---------+---------------+-------------+ - | PACK_REVERSE_ROW_ORDER_ANGLE | boolean | FALSE | TRUE/FALSE | - +------------------------------+---------+---------------+-------------+ - - In Section 4.3.1 (Reading Pixels) modify the second paragraph of subsection - "Placement in Pixel Pack Buffer or Client Memory" to read: - - When PACK_REVERSE_ROW_ORDER_ANGLE is FALSE groups of elements are placed - in memory just as they are taken from memory when transferring pixel - rectangles to the GL. That is, the ith group of the jth row - (corresponding to the ith pixel in the jth row) is placed in memory just - where the ith group of the jth row would be taken from when transferring - pixels. See Unpacking under section 3.7.2. The only difference is that - the storage mode parameters whose names begin with PACK_ are used - instead of those whose names begin with UNPACK_. If the format is RED, - GREEN, BLUE, or ALPHA, only the corresponding single element is written. - Likewise if the format is RG, RGB, or BGR, only the corresponding two or - three elements are written. Otherwise all the elements of each group are - written. When PACK_REVERSE_ROW_ORDER_ANGLE is TRUE the order of the rows - of elements is reversed before the data is packed. That is, the element - corresponding to pixel (x, y + height - 1) becomes the first element - packed, followed by (x + 1, y + height - 1), etc. Otherwise, pixel data - is packed in the same manner as when PACK_REVERSE_ROW_ORDER_ANGLE is - FALSE. - -Additions to Chapter 6 of the OpenGL 3.2 Specification (State and State Requests) - - In Section 6.1.4 add the following sentence to the fifth paragraph - (beginning with "For three-dimensional and two-dimensional array - textures..."): - When PACK_REVERSE_ROW_ORDER_ANGLE is TRUE the order of rows within - each image are reversed without reordering the images themselves. - -Dependencies on OpenGL ES - - If implemented for OpenGL ES, this extension behaves as specified, except: - - -Delete all references to formats RED, GREEN, BLUE, RG, and BGR. - - -The language about image order in Section 6.1.4 does not apply as OpenGL ES - does not have GetTexImage. - -Dependencies on EXT_texture_rg - - If EXT_texture_rg is present reinsert language about formats RED and RG - into the OpenGL ES 2.0 specification. - -Errors - - None - -New State - Initial - Get Value Type Get Command Value Description Sec. - --------- ---- ----------- ------- ----------- ---- - PACK_REVERSE_ROW_ORDER_ANGLE B GetIntegerv FALSE Pixel pack row order reversal 4.3.1 - -New Implementation Dependent State - - None - -Issues - - None - -Sample Code - - /* Allocate space to hold the pixel data */ - const GLvoid* pixels = malloc(width * height * 4); - - /* Bind the framebuffer object to be read */ - glBindFramebuffer(GL_READ_FRAMEBUFFER, framebuffer); - - /* Enable row order reversal */ - glPixelStore(GL_PACK_REVERSE_ROW_ORDER_ANGLE, TRUE); - - /* The pixel data stored in pixels will be in top-down order, ready for - * use with a windowing system API that expects this order. - */ - glReadPixels(x, y, width, height, GL_RGBA, GL_UNSIGNED_BYTE, pixels); - -Revision History - - Revision 1, 2011/11/22 (Brian Salomon) - - First version - Revision 2, 2012/02/22 (dgkoch) - - prepare for publishing diff --git a/extensions/ANGLE_platform_angle.txt b/extensions/ANGLE_platform_angle.txt deleted file mode 100644 index 8f02a4a47..000000000 --- a/extensions/ANGLE_platform_angle.txt +++ /dev/null @@ -1,127 +0,0 @@ -Name - - ANGLE_platform_angle - -Name Strings - - EGL_ANGLE_platform_angle - -Contributors - - Scott Graham, Google - Shannon Woods, Google - Geoff Lang, Google - -Contacts - - Scott Graham, Google (scottmg 'at' google 'dot' com) - -Status - - Draft - -Version - - Version 2, 2014-06-05 - -Number - - EGL Extension XXX - -Extension Type - - EGL client extension - -Dependencies - - Requires EGL_EXT_client_extensions to query its existence without - a display. - - Requires EGL_EXT_platform_base. - - This extension is written against the wording of version 9 of the - EGL_EXT_platform_base specification. - - ANGLE_platform_angle_d3d affects the definition of this extension. - ANGLE_platform_angle_opengl affects the definition of this extension. - -Overview - - This extension defines how to create EGL resources from native resources - using the functions defined by EGL_EXT_platform_base. - -New Types - - None - -New Procedures and Functions - - None - -New Tokens - - Accepted as the argument of eglGetPlatformDisplayEXT: - - EGL_PLATFORM_ANGLE_ANGLE 0x3201 - - Accepted as an attribute name in the argument of - eglGetPlatformDisplayEXT: - - EGL_PLATFORM_ANGLE_TYPE_ANGLE 0x3202 - EGL_PLATFORM_ANGLE_MAX_VERSION_MAJOR_ANGLE 0x3203 - EGL_PLATFORM_ANGLE_MAX_VERSION_MINOR_ANGLE 0x3204 - - Accepted as values for the EGL_PLATFORM_ANGLE_TYPE_ANGLE attribute: - - EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE 0x3205 - -Additions to the EGL Specification - - None. - -New Behavior - - To determine if the EGL implementation supports this extension, clients - should query the EGL_EXTENSIONS string of EGL_NO_DISPLAY. - - To obtain an EGLDisplay backed by a ANGLE display, call - eglGetPlatformDisplayEXT with set to EGL_PLATFORM_ANGLE_ANGLE. - - The parameter is of type EGLNativeDisplayType. If - is EGL_DEFAULT_DISPLAY a default display is returned. - Multiple calls with the same will return the same - EGLDisplay handle. If is set to EGL_PLATFORM_ANGLE_ANGLE and - the returned display is in an uninitialized state, its attributes are - overwritten by those provided in the , if any. - - If no is specified, the value of - EGL_PLATFORM_ANGLE_TYPE_ANGLE is implicitly set to - EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE. - - If no is specified, the values of - EGL_PLATFORM_ANGLE_MAX_VERSION_MAJOR_ANGLE and - EGL_PLATFORM_ANGLE_MAX_VERSION_MINOR_ANGLE are implicitly set to - EGL_DONT_CARE. - - If EGL_PLATFORM_ANGLE_MAX_VERSION_MAJOR_ANGLE is set to EGL_DONT_CARE and - EGL_PLATFORM_ANGLE_MAX_VERSION_MINOR_ANGLE is not set to EGL_DONT_CARE, - an EGL_BAD_ATTRIBUTE error is generated and EGL_NO_DISPLAY is returned. - - If no display matching the requested or of the type - requested by the value of EGL_PLATFORM_ANGLE_TYPE_ANGLE is available, - EGL_NO_DISPLAY is returned. No error condition is raised in this case. - -Issues - - None - -Revision History - - Version 1, 2014-02-04 (Scott Graham) - - Initial draft - Version 2, 2014-06-05 (Geoff Lang) - - Rename extension from ANGLE_platform_angle_d3d to ANGLE_platform_angle. - - Add sub-extensions for specific platforms. - Version 3, 2014-10-20 (Geoff Lang) - - Add attributes to request specific feature level and context versions. - - Moved descriptions of platforms to child extension specs. diff --git a/extensions/ANGLE_platform_angle_d3d.txt b/extensions/ANGLE_platform_angle_d3d.txt deleted file mode 100644 index 1c3160a27..000000000 --- a/extensions/ANGLE_platform_angle_d3d.txt +++ /dev/null @@ -1,105 +0,0 @@ -Name - - ANGLE_platform_angle_d3d - -Name Strings - - EGL_ANGLE_platform_angle_d3d - -Contributors - - Shannon Woods, Google - Geoff Lang, Google - -Contacts - - Geoff Lang, Google (geofflang 'at' chromium 'dot' org) - -Status - - Draft - -Version - - Version 1, 2014-06-05 - -Number - - EGL Extension XXX - -Extension Type - - EGL client extension - -Dependencies - - Requires ANGLE_platform_angle. - -Overview - - This extension enables selection of D3D display types. - -New Types - - None - -New Procedures and Functions - - None - -New Tokens - - Accepted as values for the EGL_PLATFORM_ANGLE_TYPE_ANGLE attribute: - - EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE 0x3206 - EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE 0x3207 - - Accepted as an attribute name in the argument of - eglGetPlatformDisplayEXT: - - EGL_PLATFORM_ANGLE_USE_WARP_ANGLE 0x3208 - -Additions to the EGL Specification - - None. - -New Behavior - - To request a display that is backed by Direct3D resources, the value of - EGL_PLATFORM_ANGLE_TYPE_ANGLE should be: - - EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE for a D3D9 display, - - EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE for a D3D11 display. - - To request a specific maximum feature level to be used by the D3D11 - display, EGL_PLATFORM_ANGLE_MAX_VERSION_MAJOR_ANGLE and - EGL_PLATFORM_ANGLE_MAX_VERSION_MINOR_ANGLE can be used. Only feature - levels that are capable of supporting all available client APIs will be - used unless explicitly requested. - EGL_PLATFORM_ANGLE_MAX_VERSION_MAJOR_ANGLE and - EGL_PLATFORM_ANGLE_MAX_VERSION_MINOR_ANGLE have no effect when requesting - a D3D9 display. - - If no is specified to eglGetPlatformDisplayEXT, the value of - EGL_PLATFORM_ANGLE_USE_WARP_ANGLE is implicitly set to - EGL_FALSE. Otherwise, the value of EGL_PLATFORM_ANGLE_USE_WARP_ANGLE should - be: - - EGL_TRUE to request a WARP device. - - EGL_FALSE to request a hardware accelerated device. - - If EGL_PLATFORM_ANGLE_USE_WARP_ANGLE is set to EGL_TRUE and - EGL_PLATFORM_ANGLE_TYPE_ANGLE is not set to - EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE then an EGL_BAD_ATTRIBUTE error is - generated and EGL_NO_DISPLAY is returned. - -Issues - - None - -Revision History - - Version 1, 2014-06-05 (Geoff Lang) - - Initial draft - Version 2, 2014-10-27 (Geoff Lang) - - Separate WARP devices into a new attribute instead of a platform type. - - Moved descriptions of platforms and major/minor versions from - EGL_ANGLE_platform_angle spec to EGL_ANGLE_platform_angle_d3d. diff --git a/extensions/ANGLE_platform_angle_opengl.txt b/extensions/ANGLE_platform_angle_opengl.txt deleted file mode 100644 index ff148af7f..000000000 --- a/extensions/ANGLE_platform_angle_opengl.txt +++ /dev/null @@ -1,82 +0,0 @@ -Name - - ANGLE_platform_angle_opengl - -Name Strings - - EGL_ANGLE_platform_angle_opengl - -Contributors - - Shannon Woods, Google - Geoff Lang, Google - -Contacts - - Geoff Lang, Google (geofflang 'at' chromium 'dot' org) - -Status - - Draft - -Version - - Version 1, 2014-06-05 - -Number - - EGL Extension XXX - -Extension Type - - EGL client extension - -Dependencies - - Requires ANGLE_platform_angle. - -Overview - - This extension enables selection of OpenGL display types. - -New Types - - None - -New Procedures and Functions - - None - -New Tokens - - Accepted as values for the EGL_PLATFORM_ANGLE_TYPE_ANGLE attribute: - - EGL_PLATFORM_ANGLE_TYPE_OPENGL_ANGLE 0x3209 - EGL_PLATFORM_ANGLE_TYPE_OPENGLES_ANGLE 0x320A - -Additions to the EGL Specification - - None. - -New Behavior - - To request a display that translates to OpenGL or OpenGL ES, the value of - EGL_PLATFORM_ANGLE_TYPE_ANGLE should be: - - EGL_PLATFORM_ANGLE_TYPE_OPENGL_ANGLE for an OpenGL display, - - EGL_PLATFORM_ANGLE_TYPE_OPENGLES_ANGLE for a native OpenGL ES display. - - To request a specific maximum context version to use for the underlying - API, EGL_PLATFORM_ANGLE_MAX_VERSION_MAJOR_ANGLE and - EGL_PLATFORM_ANGLE_MAX_VERSION_MINOR_ANGLE can be used. - -Issues - - None - -Revision History - - Version 1, 2014-06-05 (Geoff Lang) - - Initial draft - Version 2, 2014-10-27 (Geoff Lang) - - Moved descriptions of platforms and major/minor versions from - EGL_ANGLE_platform_angle spec to EGL_ANGLE_platform_angle_opengl. diff --git a/extensions/ANGLE_program_binary.txt b/extensions/ANGLE_program_binary.txt deleted file mode 100644 index 67550bc11..000000000 --- a/extensions/ANGLE_program_binary.txt +++ /dev/null @@ -1,94 +0,0 @@ -Name - - ANGLE_program_binary - -Name Strings - - GL_ANGLE_program_binary - -Contributors - - Alastair Patrick, Google Inc. - Daniel Koch, TransGaming Inc. - -Contact - - Alastair Patrick, Google Inc. (apatrick 'at' google 'dot' com) - -Status - - Under development. - -Version - - Last Modifed Date: June 6, 2012 - Revision: #1 - -Number - - TBD - -Dependencies - - OpenGL ES 2.0 is required. - OES_get_program_binary is required. - This extension is written against the OpenGL ES 2.0.25 specification. - -Overview - - This extension makes available a program binary format, - PROGRAM_BINARY_ANGLE. It enables retrieving and loading of pre-linked - ANGLE program objects. - -New Procedures and Functions - - None - -New Tokens - - Accepted by the parameter of ProgramBinaryOES: - - PROGRAM_BINARY_ANGLE 0x93A6 - -Additions to Chapter 2 of the OpenGL-ES 2.0 Specification (OpenGL Operation) - - Add the following paragraph to the end of section 2.15.4, Program Binaries: - - "PROGRAM_BINARY_ANGLE, returned in the list of PROGRAM_BINARY_FORMATS_OES, - is a format that may be loaded into a program object via ProgramBinaryOES." - -Additions to Chapter 3 of the OpenGL ES 2.0 specification (Rasterizatoin) - - None. - -Additions to Chapter 4 of the OpenGL ES 2.0 specification (Per-Fragment -Operations and the Framebuffer) - - None. - -Additions to Chapter 5 of the OpenGL ES 2.0 Specification (Special -Functions) - - None. - -Additions to Chapter 6 of the OpenGL ES 2.0 Specification (State and State -Requests) - - None. - -Errors - - None - -New State - - None. - -Issues - - None - -Revision History - - 06/06/2012 apatrick intial revision - diff --git a/extensions/ANGLE_surface_d3d_render_to_back_buffer.txt b/extensions/ANGLE_surface_d3d_render_to_back_buffer.txt deleted file mode 100644 index 812fdc039..000000000 --- a/extensions/ANGLE_surface_d3d_render_to_back_buffer.txt +++ /dev/null @@ -1,103 +0,0 @@ -Name - - ANGLE_surface_d3d_render_to_back_buffer - -Name Strings - - EGL_ANGLE_surface_d3d_render_to_back_buffer - -Contributors - - Austin Kinross, Microsoft Corporation - -Contacts - - Austin Kinross, Microsoft Corporation (aukinros 'at' microsoft 'dot' com) - -Status - - Pre-Draft - -Version - - Version 0.01, 2014-11-04 - -Number - - EGL Extension XXX - -Extension Type - - EGL client extension - -Dependencies - - Requires ANGLE_platform_angle_d3d. - -Overview - - This extension enables ANGLE to render OpenGL ES content directly onto - a Direct3D swapchain in certain scenarios. This may provide large - performance gains on certain platforms. - -New Types - - None - -New Procedures and Functions - - None - -New Tokens - - Accepted as an attribute name in the argument of - eglGetPlatformDisplayEXT: - - EGL_ANGLE_DISPLAY_ALLOW_RENDER_TO_BACK_BUFFER 0x320B - - Accepted as an attribute name in the argument of - eglCreateWindowSurface: - - EGL_ANGLE_SURFACE_RENDER_TO_BACK_BUFFER 0x320C - -Additions to the EGL Specification - - None. - -New Behavior - - To request a display that allows the client to create window surfaces - that render OpenGL ES content directly onto a Direct3D swap chain, the - value of EGL_ANGLE_DISPLAY_ALLOW_RENDER_TO_BACK_BUFFER should be set to - EGL_TRUE. - - If a value for EGL_ANGLE_DISPLAY_ALLOW_RENDER_TO_BACK_BUFFER is not - specified by the client then its value is implicitly set by the - implementation. The default value is left up to the implementation. - - If EGL_ANGLE_DISPLAY_ALLOW_RENDER_TO_BACK_BUFFER is set to EGL_TRUE and - EGL_PLATFORM_ANGLE_TYPE_ANGLE is not set to - EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE then an EGL_BAD_ATTRIBUTE error is - generated and EGL_NO_DISPLAY is returned. - - To create a window surface that renders directly onto the Direct3D swap - chain, the value of EGL_ANGLE_SURFACE_RENDER_TO_BACK_BUFFER should be set - to EGL_TRUE. - - If a value for EGL_ANGLE_SURFACE_RENDER_TO_BACK_BUFFER is not specified - by the client then its value is implicitly set by the implementation. - The default value is left up to the implementation. - - If EGL_ANGLE_SURFACE_RENDER_TO_BACK_BUFFER is set to EGL_TRUE and - EGL_ANGLE_DISPLAY_ALLOW_RENDER_TO_BACK_BUFFER is set to EGL_FALSE, then - an EGL_BAD_ATTRIBUTE error is generated and EGL_NO_SURFACE is returned. - -Issues - - Using EGL_ANGLE_SURFACE_RENDER_TO_BACK_BUFFER may impact OpenGL ES - conformance. Details TBC. - -Revision History - - Version 0.01, 2014-11-04 (Austin Kinross) - - Initial pre-draft diff --git a/extensions/ANGLE_texture_compression_dxt.txt b/extensions/ANGLE_texture_compression_dxt.txt deleted file mode 100644 index 0e844bfec..000000000 --- a/extensions/ANGLE_texture_compression_dxt.txt +++ /dev/null @@ -1,163 +0,0 @@ -Name - - ANGLE_texture_compression_dxt - -Name Strings - - GL_ANGLE_texture_compression_dxt1 - GL_ANGLE_texture_compression_dxt3 - GL_ANGLE_texture_compression_dxt5 - -Contributors - - Gregg Tavares, Google Inc. - Daniel Koch, TransGaming Inc. - Al Patrick, Google Inc. - -Contacts - - Gregg Tavares, Google Inc. (gman 'at' google 'dot' com) - -Status - - Implemented in ANGLE ES2 - -Version - - Last Modified Date: Sept 22, 2012 - Author Revision: 2 - -Number - - OpenGL ES Extension #111 - -Dependencies - - Requires OpenGL ES 1.0. - - The extension is written against the OpenGL ES 2.0 specification. - -Overview - - These extensions are exactly the same as EXT_texture_compression_dxt1 - except they additionally expose the COMPRESSED_RGBA_S3TC_DXT3_ANGLE and - COMPRESSED_RGBA_S3TC_DXT5_ANGLE formats and have a size restrictions - such that the size must be a multiple of four (except for mip levels - where the dimensions are either 2 or 1). - - See EXT_texture_compression_dxt1 for the full list of changes. Also - see EXT_texture_compression_s3tc for a description of the formats. - -IP Status - - A license to the S3TC Intellectual Property may be necessary for - implementation of this extension. You should consult with your - Attorney to determine the need for a license. - -New Procedures and Functions - - None. - -New Types - - None. - -New Tokens - - Accepted by the parameter of CompressedTexImage2D - and the parameter of CompressedTexSubImage2D: - - COMPRESSED_RGB_S3TC_DXT1_ANGLE 0x83F0 - COMPRESSED_RGBA_S3TC_DXT1_ANGLE 0x83F1 - COMPRESSED_RGBA_S3TC_DXT3_ANGLE 0x83F2 - COMPRESSED_RGBA_S3TC_DXT5_ANGLE 0x83F3 - -Additions to Chapter 3 of the OpenGL ES 2.0 Specification (Rasterization) - - Add the following to Section 3.7.3 (Compressed Texture Images) - (at the end of the description of the CompressedTexImage2D command): - - Compressed Internal Format Base Internal Format - ========================== ==================== - COMPRESSED_RGB_S3TC_DXT1_ANGLE RGB - COMPRESSED_RGBA_S3TC_DXT1_ANGLE RGBA - COMPRESSED_RGBA_S3TC_DXT3_ANGLE RGBA - COMPRESSED_RGBA_S3TC_DXT5_ANGLE RGBA - - Table 3.x: Specific Compressed Internal Formats - - If is one of the S3TC formats listed in Table 3.x, - the compressed texture is stored in the appropriate S3TC compressed - texture format (see Appendix). The GL and the S3TC texture compression - algorithm support only 2D images without borders. - - CompressedTexImage2D will produce the INVALID_OPERATION error when - is one of the values from Table 3.x under the following - conditions: - - * is non-zero. - * is not one, two, or a multiple of four. - * is not one, two, or a multiple of four. - - Add the following to Section 3.7.3 (Compressed Texture Images) - (at the end of the description of the CompressedTexSubImage2D command): - - If the internal format of the texture image being modified is listed - in Table 3.x, the texture is stored in the appropriate S3TC compressed - texture format (see Appendix). Since DXT/S3TC images are easily edited - along 4x4 texel boundaries, the limitations of CompressedTexSubImage2D - are relaxed. CompressedTexSubImage2D will result in an INVALID_OPERATION - error only if one of the following conditions occurs: - - * is not a multiple of four or equal to TEXTURE_WIDTH. - * is not a multipls of four or equal to TEXTURE_HEIGHT. - * or is not a multiple of four. - * does not match the internal format of the texture image - being modified. - - The following restrictions at the end of section 3.7.3 do not apply - to S3TC DXT texture formats, since subimage modification is straightforward - as long as the subimage is properly aligned. - -Errors - - INVALID_OPERATION is generated by CompressedTexImage2D if - is one of the compressed internal formats from Table 3.x and any of the - following apply: - - is not equal to zero. - - is not one, two, or a multiple of four. - - is not one, two, or a multiple of four. - - INVALID_OPERATION is generated by TexImage2D and CopyTexImage2D if - is one of the compressed internal formats from - Table 3.x. - - INVALID_OPERATION is generated by TexSubImage2D and CopyTexSubImage2D - if the internal format of the texture currently bound to is - one of the compressed internal formats from Table 3.x. - - INVALID_OPERATION is generated by CompressedTexSubImage2D if - is one of the compressed interal formats from Table 3.x and any of the - following apply: - - is not a multiple of four or equal to TEXTURE_WIDTH; - - is not a multiple of four or equal to TEXTURE_HEIGHT; - - or is not a multiple of four; - - does not match the internal format of the texture image - being modified. - -New State - - None. - -Appendix: - - The format for the S3TC Compressed Texture Images Formats is documented - in the appendix of EXT_texture_compression_s3tc. - -Revision History - - Revision 1, 2010/08/06 - gman - - Initial revision - Revision 2, 2012/09/22 - dgkoch - - Added DXT1 formats and documented multiple of 4 restriction. - diff --git a/extensions/ANGLE_texture_usage.txt b/extensions/ANGLE_texture_usage.txt deleted file mode 100644 index 17936538f..000000000 --- a/extensions/ANGLE_texture_usage.txt +++ /dev/null @@ -1,202 +0,0 @@ -Name - - ANGLE_texture_usage - -Name Strings - - GL_ANGLE_texture_usage - -Contributors - - Nicolas Capens, TransGaming - Daniel Koch, TransGaming - -Contact - - Daniel Koch, TransGaming (daniel 'at' transgaming.com) - -Status - - Complete - -Version - - Last Modified Date: November 10, 2011 - Version: 2 - -Number - - OpenGL ES Extension #112 - -Dependencies - - This extension is written against the OpenGL ES 2.0 Specification. - -Overview - - In some implementations it is advantageous to know the expected - usage of a texture before the backing storage for it is allocated. - This can help to inform the implementation's choice of format - and type of memory used for the allocation. If the usage is not - known in advance, the implementation essentially has to make a - guess as to how it will be used. If it is later proven wrong, - it may need to perform costly re-allocations and/or reformatting - of the texture data, resulting in reduced performance. - - This extension adds a texture usage flag that is specified via - the TEXTURE_USAGE_ANGLE TexParameter. This can be used to - indicate that the application knows that this texture will be - used for rendering. - -IP Status - - No known IP claims. - -New Procedures and Functions - - None - -New Tokens - - Accepted as a value for for the TexParameter{if} and - TexParameter{if}v commands and for the parameter of - GetTexParameter{if}v: - - TEXTURE_USAGE_ANGLE 0x93A2 - - Accepted as a value to for the TexParameter{if} and - to for the TexParameter{if}v commands with a of - TEXTURE_USAGE_ANGLE; returned as possible values for when - GetTexParameter{if}v is queried with a of TEXTURE_USAGE_ANGLE: - - NONE 0x0000 - FRAMEBUFFER_ATTACHMENT_ANGLE 0x93A3 - -Additions to Chapter 2 of the OpenGL ES 2.0 Specification (OpenGL ES Operation) - - None - -Additions to Chapter 3 of the OpenGL ES 2.0 Specification (Rasterization) - - Add a new row to Table 3.10 (Texture parameters and their values): - - Name | Type | Legal Values - ------------------------------------------------------------ - TEXTURE_USAGE_ANGLE | enum | NONE, FRAMEBUFFER_ATTACHMENT_ANGLE - - Add a new section 3.7.x (Texture Usage) before section 3.7.12 and - renumber the subsequent sections: - - "3.7.x Texture Usage - - Texture usage can be specified via the TEXTURE_USAGE_ANGLE value - for the argument to TexParameter{if}[v]. In order to take effect, - the texture usage must be specified before the texture contents are - defined either via TexImage2D or TexStorage2DEXT. - - The usage values can impact the layout and type of memory used for the - texture data. Specifying incorrect usage values may result in reduced - functionality and/or significantly degraded performance. - - Possible values for when is TEXTURE_USAGE_ANGLE are: - - NONE - the default. No particular usage has been specified and it is - up to the implementation to determine the usage of the texture. - Leaving the usage unspecified means that the implementation may - have to reallocate the texture data as the texture is used in - various ways. - - FRAMEBUFFER_ATTACHMENT_ANGLE - this texture will be attached to a - framebuffer object and used as a desination for rendering or blits." - - Modify section 3.7.12 (Texture State) and place the last 3 sentences - with the following: - - "Next, there are the three sets of texture properties; each consists of - the selected minification and magnification filters, the wrap modes for - and , and the usage flags. In the initial state, the value assigned - to TEXTURE_MIN_FILTER is NEAREST_MIPMAP_LINEAR, and the value for - TEXTURE_MAG_FILTER is LINEAR. and wrap modes are both set to - REPEAT. The initial value for TEXTURE_USAGE_ANGLE is NONE." - - -Additions to Chapter 4 of the OpenGL ES 2.0 Specification (Per-Fragment -Operations and the Framebuffer) - - None - -Additions to Chapter 5 of the OpenGL ES 2.0 Specification (Special -Functions): - - None - -Additions to Chapter 6 of the OpenGL ES 2.0 Specification (State and -State Requests) - - None - -Dependencies on EXT_texture_storage - - If EXT_texture_storage is not supported, omit any references to - TexStorage2DEXT. - -Errors - - If TexParameter{if} or TexParamter{if}v is called with a - of TEXTURE_USAGE_ANGLE and the value of or is not - NONE or FRAMEBUFFER_ATTACHMENT_ANGLE the error INVALID_VALUE is - generated. - -Usage Example - - /* create and bind texture */ - glGenTextures(1, &texture); - glActiveTexture(GL_TEXTURE0); - glBindTexture(GL_TEXTURE_2D, texture); - - /* specify texture parameters */ - glTexParameteri(GL_TEXTURE_2D, GL_*, ...); /* as before */ - - /* specify that we'll be rendering to the texture */ - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_USAGE_ANGLE, GL_FRAMEBUFFER_ATTACHMENT_ANGLE); - - glTexStorage2DEXT(GL_TEXTURE_2D, levels, ...); // Allocation - for(int level = 0; level < levels; ++level) - glTexSubImage2D(GL_TEXTURE_2D, level, ...); // Initialisation - -Issues - - 1. Should there be a dynamic usage value? - - DISCUSSION: We could accept a dynamic flag to indicate that a texture will - be updated frequently. We could map this to D3D9 dynamic textures. This would - allow us to avoid creating temporary surfaces when updating the texture. - However renderable textures cannot be dynamic in D3D9, which eliminates the - primary use case for this. Furthermore, the memory usage of dynamic textures - typically increases threefold when you lock it. - - 2. Should the texture usage be an enum or a bitfield? - - UNRESOLVED. Using a bitfield would allow combination of values to be specified. - On the other hand, if combinations are really required, additional - could be added as necessary. Querying a bitfield via the GetTexParameter command - feels a bit odd. - - 3. What should happen if TEXTURE_USAGE_ANGLE is set/changed after the texture - contents have been specified? - - RESOLVED: It will have no effect. However, if the texture is redefined (for - example by TexImage2D) the new allocation will use the updated usage. - GetTexParameter is used to query the value of the TEXTURE_USAGE_ANGLE - state that was last set by TexParameter for the currently bound texture, or - the default value if it has never been set. There is no way to determine the - usage that was in effect at the time the texture was defined. - -Revision History - - Rev. Date Author Changes - ---- ----------- --------- ---------------------------------------- - 1 10 Nov 2011 dgkoch Initial revision - 2 10 Nov 2011 dgkoch Add overview - - diff --git a/extensions/ANGLE_timer_query.txt b/extensions/ANGLE_timer_query.txt deleted file mode 100644 index c1371ad8b..000000000 --- a/extensions/ANGLE_timer_query.txt +++ /dev/null @@ -1,591 +0,0 @@ -Name - - ANGLE_timer_query - -Name Strings - - GL_ANGLE_timer_query - -Contributors - - Contributors to ARB_occlusion_query - Contributors to EXT_timer_query - Contributors to ARB_timer_query - Ben Vanik, Google Inc. - Daniel Koch, TransGaming Inc. - -Contact - - Ben Vanik, Google Inc. (benvanik 'at' google 'dot' com) - -Status - - Draft - -Version - - Last Modified Date: Apr 28, 2011 - Author Revision: 1 - -Number - - OpenGL ES Extension #?? - -Dependencies - - OpenGL ES 2.0 is required. - - The extension is written against the OpenGL ES 2.0 specification. - -Overview - - Applications can benefit from accurate timing information in a number of - different ways. During application development, timing information can - help identify application or driver bottlenecks. At run time, - applications can use timing information to dynamically adjust the amount - of detail in a scene to achieve constant frame rates. OpenGL - implementations have historically provided little to no useful timing - information. Applications can get some idea of timing by reading timers - on the CPU, but these timers are not synchronized with the graphics - rendering pipeline. Reading a CPU timer does not guarantee the completion - of a potentially large amount of graphics work accumulated before the - timer is read, and will thus produce wildly inaccurate results. - glFinish() can be used to determine when previous rendering commands have - been completed, but will idle the graphics pipeline and adversely affect - application performance. - - This extension provides a query mechanism that can be used to determine - the amount of time it takes to fully complete a set of GL commands, and - without stalling the rendering pipeline. It uses the query object - mechanisms first introduced in the occlusion query extension, which allow - time intervals to be polled asynchronously by the application. - -IP Status - - No known IP claims. - -New Procedures and Functions - - void GenQueriesANGLE(sizei n, uint *ids); - void DeleteQueriesANGLE(sizei n, const uint *ids); - boolean IsQueryANGLE(uint id); - void BeginQueryANGLE(enum target, uint id); - void EndQueryANGLE(enum target); - void QueryCounterANGLE(uint id, enum target); - void GetQueryivANGLE(enum target, enum pname, int *params); - void GetQueryObjectivANGLE(uint id, enum pname, int *params); - void GetQueryObjectuivANGLE(uint id, enum pname, uint *params); - void GetQueryObjecti64vANGLE(uint id, enum pname, int64 *params); - void GetQueryObjectui64vANGLE(uint id, enum pname, uint64 *params); - -New Tokens - - Accepted by the parameter of GetQueryivANGLE: - - QUERY_COUNTER_BITS_ANGLE 0x8864 - CURRENT_QUERY_ANGLE 0x8865 - - Accepted by the parameter of GetQueryObjectivANGLE, - GetQueryObjectuivANGLE, GetQueryObjecti64vANGLE, and - GetQueryObjectui64vANGLE: - - QUERY_RESULT_ANGLE 0x8866 - QUERY_RESULT_AVAILABLE_ANGLE 0x8867 - - Accepted by the parameter of BeginQueryANGLE, EndQueryANGLE, and - GetQueryivANGLE: - - TIME_ELAPSED_ANGLE 0x88BF - - Accepted by the parameter of GetQueryivANGLE and - QueryCounterANGLE: - - TIMESTAMP_ANGLE 0x8E28 - -Additions to Chapter 2 of the OpenGL ES 2.0 Specification (OpenGL ES Operation) - - (Modify table 2.1, Correspondence of command suffix letters to GL argument) - Add two new types: - - Letter Corresponding GL Type - ------ --------------------- - i64 int64ANGLE - ui64 uint64ANGLE - - (Modify table 2.2, GL data types) Add two new types: - - GL Type Minimum Bit Width Description - ------- ----------------- ----------------------------- - int64ANGLE 64 Signed 2's complement integer - uint64ANGLE 64 Unsigned binary integer - -Additions to Chapter 5 of the OpenGL ES 2.0 Specification (Special Functions) - - Add a new section 5.3 "Timer Queries": - - "5.3 Timer Queries - - Timer queries use query objects to track the amount of time needed to - fully complete a set of GL commands, or to determine the current time - of the GL. - - Timer queries are associated with query objects. The command - - void GenQueriesANGLE(sizei n, uint *ids); - - returns previously unused query object names in . These - names are marked as used, but no object is associated with them until - the first time they are used by BeginQueryANGLE. Query objects contain - one piece of state, an integer result value. This result value is - initialized to zero when the object is created. Any positive integer - except for zero (which is reserved for the GL) is a valid query - object name. - - Query objects are deleted by calling - - void DeleteQueriesANGLE(sizei n, const uint *ids); - - contains names of query objects to be deleted. After a - query object is deleted, its name is again unused. Unused names in - are silently ignored. - If an active query object is deleted its name immediately becomes unused, - but the underlying object is not deleted until it is no longer active. - - A timer query can be started and finished by calling - - void BeginQueryANGLE(enum target, uint id); - void EndQueryANGLE(enum target); - - where is TIME_ELAPSED_ANGLE. If BeginQueryANGLE is called - with an unused , that name is marked as used and associated with - a new query object. - - If BeginQueryANGLE is called with an of zero, if the active query - object name for is non-zero, if is the name of an existing - query object whose type does not match , or if is the active - query object name for any query type, the error INVALID_OPERATION is - generated. If EndQueryANGLE is called while no query with the same target - is in progress, an INVALID_OPERATION error is generated. - - When BeginQueryANGLE and EndQueryANGLE are called with a of - TIME_ELAPSED_ANGLE, the GL prepares to start and stop the timer used for - timer queries. The timer is started or stopped when the effects from all - previous commands on the GL client and server state and the framebuffer - have been fully realized. The BeginQueryANGLE and EndQueryANGLE commands - may return before the timer is actually started or stopped. When the timer - query timer is finally stopped, the elapsed time (in nanoseconds) is - written to the corresponding query object as the query result value, and - the query result for that object is marked as available. - - If the elapsed time overflows the number of bits, , available to hold - elapsed time, its value becomes undefined. It is recommended, but not - required, that implementations handle this overflow case by saturating at - 2^n - 1. - - The necessary state is a single bit indicating whether an timer - query is active, the identifier of the currently active timer - query, and a counter keeping track of the time that has passed. - - When the command - - void QueryCounterANGLE(uint id, enum target); - - is called with TIMESTAMP_ANGLE, the GL records the current time - into the corresponding query object. The time is recorded after all - previous commands on the GL client and server state and the framebuffer - have been fully realized. When the time is recorded, the query result for - that object is marked available. QueryCounterANGLE timer queries can be - used within a BeginQueryANGLE / EndQueryANGLE block where the is - TIME_ELAPSED_ANGLE and it does not affect the result of that query object. - The error INVALID_OPERATION is generated if the is already in use - within a BeginQueryANGLE/EndQueryANGLE block." - -Additions to Chapter 6 of the OpenGL ES 2.0 Specification (State and State -Requests) - - Add a new section 6.1.9 "Timer Queries": - - "The command - - boolean IsQueryANGLE(uint id); - - returns TRUE if is the name of a query object. If is zero, - or if is a non-zero value that is not the name of a query - object, IsQueryANGLE returns FALSE. - - Information about a query target can be queried with the command - - void GetQueryivANGLE(enum target, enum pname, int *params); - - identifies the query target and can be TIME_ELAPSED_ANGLE or - TIMESTAMP_ANGLE for timer queries. - - If is CURRENT_QUERY_ANGLE, the name of the currently active query - for , or zero if no query is active, will be placed in . - - If is QUERY_COUNTER_BITS_ANGLE, the implementation-dependent number - of bits used to hold the query result for will be placed in - . The number of query counter bits may be zero, in which case - the counter contains no useful information. - - For timer queries (TIME_ELAPSED_ANGLE and TIMESTAMP_ANGLE), if the number - of bits is non-zero, the minimum number of bits allowed is 30 which - will allow at least 1 second of timing. - - The state of a query object can be queried with the commands - - void GetQueryObjectivANGLE(uint id, enum pname, int *params); - void GetQueryObjectuivANGLE(uint id, enum pname, uint *params); - void GetQueryObjecti64vANGLE(uint id, enum pname, int64 *params); - void GetQueryObjectui64vANGLE(uint id, enum pname, uint64 *params); - - If is not the name of a query object, or if the query object - named by is currently active, then an INVALID_OPERATION error is - generated. - - If is QUERY_RESULT_ANGLE, then the query object's result - value is returned as a single integer in . If the value is so - large in magnitude that it cannot be represented with the requested type, - then the nearest value representable using the requested type is - returned. If the number of query counter bits for target is zero, then - the result is returned as a single integer with the value zero. - - There may be an indeterminate delay before the above query returns. If - is QUERY_RESULT_AVAILABLE_ANGLE, FALSE is returned if such a delay - would be required; otherwise TRUE is returned. It must always be true - that if any query object returns a result available of TRUE, all queries - of the same type issued prior to that query must also return TRUE. - - Querying the state for a given timer query forces that timer query to - complete within a finite amount of time. - - If multiple queries are issued on the same target and id prior to - calling GetQueryObject[u]i[64]vANGLE, the result returned will always be - from the last query issued. The results from any queries before the - last one will be lost if the results are not retrieved before starting - a new query on the same and ." - -Errors - - The error INVALID_VALUE is generated if GenQueriesANGLE is called where - is negative. - - The error INVALID_VALUE is generated if DeleteQueriesANGLE is called - where is negative. - - The error INVALID_OPERATION is generated if BeginQueryANGLE is called - when a query of the given is already active. - - The error INVALID_OPERATION is generated if EndQueryANGLE is called - when a query of the given is not active. - - The error INVALID_OPERATION is generated if BeginQueryANGLE is called - where is zero. - - The error INVALID_OPERATION is generated if BeginQueryANGLE is called - where is the name of a query currently in progress. - - The error INVALID_OPERATION is generated if BeginQueryANGLE is called - where is the name of an existing query object whose type does not - match . - - The error INVALID_ENUM is generated if BeginQueryANGLE or EndQueryANGLE - is called where is not TIME_ELAPSED_ANGLE. - - The error INVALID_ENUM is generated if GetQueryivANGLE is called where - is not TIME_ELAPSED_ANGLE or TIMESTAMP_ANGLE. - - The error INVALID_ENUM is generated if GetQueryivANGLE is called where - is not QUERY_COUNTER_BITS_ANGLE or CURRENT_QUERY_ANGLE. - - The error INVALID_ENUM is generated if QueryCounterANGLE is called where - is not TIMESTAMP_ANGLE. - - The error INVALID_OPERATION is generated if QueryCounterANGLE is called - on a query object that is already in use inside a - BeginQueryANGLE/EndQueryANGLE. - - The error INVALID_OPERATION is generated if GetQueryObjectivANGLE, - GetQueryObjectuivANGLE, GetQueryObjecti64vANGLE, or - GetQueryObjectui64vANGLE is called where is not the name of a query - object. - - The error INVALID_OPERATION is generated if GetQueryObjectivANGLE, - GetQueryObjectuivANGLE, GetQueryObjecti64vANGLE, or - GetQueryObjectui64vANGLE is called where is the name of a currently - active query object. - - The error INVALID_ENUM is generated if GetQueryObjectivANGLE, - GetQueryObjectuivANGLE, GetQueryObjecti64vANGLE, or - GetQueryObjectui64vANGLE is called where is not - QUERY_RESULT_ANGLE or QUERY_RESULT_AVAILABLE_ANGLE. - -New State - - (Add a new table 6.xx, "Query Operations") - - Get Value Type Get Command Initial Value Description Sec - --------- ---- ----------- ------------- ----------- ------ - - B - FALSE query active 5.3 - CURRENT_QUERY_ANGLE Z+ GetQueryivANGLE 0 active query ID 5.3 - QUERY_RESULT_ANGLE Z+ GetQueryObjectuivANGLE, 0 samples-passed count 5.3 - GetQueryObjectui64vANGLE - QUERY_RESULT_AVAILABLE_ANGLE B GetQueryObjectivANGLE FALSE query result available 5.3 - -New Implementation Dependent State - - (Add the following entry to table 6.18): - - Get Value Type Get Command Minimum Value Description Sec - -------------------------- ---- ----------- ------------- ---------------- ------ - QUERY_COUNTER_BITS_ANGLE Z+ GetQueryivANGLE see 6.1.9 Number of bits in 6.1.9 - query counter - -Examples - - (1) Here is some rough sample code that demonstrates the intended usage - of this extension. - - GLint queries[N]; - GLint available = 0; - // timer queries can contain more than 32 bits of data, so always - // query them using the 64 bit types to avoid overflow - GLuint64ANGLE timeElapsed = 0; - - // Create a query object. - glGenQueriesANGLE(N, queries); - - // Start query 1 - glBeginQueryANGLE(GL_TIME_ELAPSED_ANGLE, queries[0]); - - // Draw object 1 - .... - - // End query 1 - glEndQueryANGLE(GL_TIME_ELAPSED_ANGLE); - - ... - - // Start query N - glBeginQueryANGLE(GL_TIME_ELAPSED_ANGLE, queries[N-1]); - - // Draw object N - .... - - // End query N - glEndQueryANGLE(GL_TIME_ELAPSED_ANGLE); - - // Wait for all results to become available - while (!available) { - glGetQueryObjectivANGLE(queries[N-1], GL_QUERY_RESULT_AVAILABLE_ANGLE, &available); - } - - for (i = 0; i < N; i++) { - // See how much time the rendering of object i took in nanoseconds. - glGetQueryObjectui64vANGLE(queries[i], GL_QUERY_RESULT_ANGLE, &timeElapsed); - - // Do something useful with the time. Note that care should be - // taken to use all significant bits of the result, not just the - // least significant 32 bits. - AdjustObjectLODBasedOnDrawTime(i, timeElapsed); - } - - This example is sub-optimal in that it stalls at the end of every - frame to wait for query results. Ideally, the collection of results - would be delayed one frame to minimize the amount of time spent - waiting for the GPU to finish rendering. - - (2) This example is basically the same as the example above but uses - QueryCounter instead. - - GLint queries[N+1]; - GLint available = 0; - // timer queries can contain more than 32 bits of data, so always - // query them using the 64 bit types to avoid overflow - GLuint64ANGLE timeStart, timeEnd, timeElapsed = 0; - - // Create a query object. - glGenQueriesANGLE(N+1, queries); - - // Query current timestamp 1 - glQueryCounterANGLE(queries[0], GL_TIMESTAMP_ANGLE); - - // Draw object 1 - .... - - // Query current timestamp N - glQueryCounterANGLE(queries[N-1], GL_TIMESTAMP_ANGLE); - - // Draw object N - .... - - // Query current timestamp N+1 - glQueryCounterANGLE(queries[N], GL_TIMESTAMP_ANGLE); - - // Wait for all results to become available - while (!available) { - glGetQueryObjectivANGLE(queries[N], GL_QUERY_RESULT_AVAILABLE_ANGLE, &available); - } - - for (i = 0; i < N; i++) { - // See how much time the rendering of object i took in nanoseconds. - glGetQueryObjectui64vANGLE(queries[i], GL_QUERY_RESULT_ANGLE, &timeStart); - glGetQueryObjectui64vANGLE(queries[i+1], GL_QUERY_RESULT_ANGLE, &timeEnd); - timeElapsed = timeEnd - timeStart; - - // Do something useful with the time. Note that care should be - // taken to use all significant bits of the result, not just the - // least significant 32 bits. - AdjustObjectLODBasedOnDrawTime(i, timeElapsed); - } - -Issues from EXT_timer_query - - (1) What time interval is being measured? - - RESOLVED: The timer starts when all commands prior to BeginQuery() have - been fully executed. At that point, everything that should be drawn by - those commands has been written to the framebuffer. The timer stops - when all commands prior to EndQuery() have been fully executed. - - (2) What unit of time will time intervals be returned in? - - RESOLVED: Nanoseconds (10^-9 seconds). This unit of measurement allows - for reasonably accurate timing of even small blocks of rendering - commands. The granularity of the timer is implementation-dependent. A - 32-bit query counter can express intervals of up to approximately 4 - seconds. - - (3) What should be the minimum number of counter bits for timer queries? - - RESOLVED: 30 bits, which will allow timing sections that take up to 1 - second to render. - - (4) How are counter results of more than 32 bits returned? - - RESOLVED: Via two new datatypes, int64ANGLE and uint64ANGLE, and their - corresponding GetQueryObject entry points. These types hold integer - values and have a minimum bit width of 64. - - (5) Should the extension measure total time elapsed between the full - completion of the BeginQuery and EndQuery commands, or just time - spent in the graphics library? - - RESOLVED: This extension will measure the total time elapsed between - the full completion of these commands. Future extensions may implement - a query to determine time elapsed at different stages of the graphics - pipeline. - - (6) If multiple query types are supported, can multiple query types be - active simultaneously? - - RESOLVED: Yes; an application may perform a timer query and another - type of query simultaneously. An application can not perform multiple - timer queries or multiple queries of other types simultaneously. An - application also can not use the same query object for another query - and a timer query simultaneously. - - (7) Do query objects have a query type permanently associated with them? - - RESOLVED: No. A single query object can be used to perform different - types of queries, but not at the same time. - - Having a fixed type for each query object simplifies some aspects of the - implementation -- not having to deal with queries with different result - sizes, for example. It would also mean that BeginQuery() with a query - object of the "wrong" type would result in an INVALID_OPERATION error. - - UPDATE: This resolution was relevant for EXT_timer_query and OpenGL 2.0. - Since EXT_transform_feedback has since been incorporated into the core, - the resolution is that BeginQuery will generate error INVALID_OPERATION - if represents a query object of a different type. - - (8) How predictable/repeatable are the results returned by the timer - query? - - RESOLVED: In general, the amount of time needed to render the same - primitives should be fairly constant. But there may be many other - system issues (e.g., context switching on the CPU and GPU, virtual - memory page faults, memory cache behavior on the CPU and GPU) that can - cause times to vary wildly. - - Note that modern GPUs are generally highly pipelined, and may be - processing different primitives in different pipeline stages - simultaneously. In this extension, the timers start and stop when the - BeginQuery/EndQuery commands reach the bottom of the rendering pipeline. - What that means is that by the time the timer starts, the GL driver on - the CPU may have started work on GL commands issued after BeginQuery, - and the higher pipeline stages (e.g., vertex transformation) may have - started as well. - - (9) What should the new 64 bit integer type be called? - - RESOLVED: The new types will be called GLint64ANGLE/GLuint64ANGLE. The new - command suffixes will be i64 and ui64. These names clearly convey the - minimum size of the types. These types are similar to the C99 standard - type int_least64_t, but we use names similar to the C99 optional type - int64_t for simplicity. - -Issues from ARB_timer_query - - (10) What about tile-based implementations? The effects of a command are - not complete until the frame is completely rendered. Timing recorded - before the frame is complete may not be what developers expect. Also - the amount of time needed to render the same primitives is not - consistent, which conflicts with issue (8) above. The time depends on - how early or late in the scene it is placed. - - RESOLVED: The current language supports tile-based rendering okay as it - is written. Developers are warned that using timers on tile-based - implementation may not produce results they expect since rendering is not - done in a linear order. Timing results are calculated when the frame is - completed and may depend on how early or late in the scene it is placed. - - (11) Can the GL implementation use different clocks to implement the - TIME_ELAPSED and TIMESTAMP queries? - - RESOLVED: Yes, the implemenation can use different internal clocks to - implement TIME_ELAPSED and TIMESTAMP. If different clocks are - used it is possible there is a slight discrepancy when comparing queries - made from TIME_ELAPSED and TIMESTAMP; they may have slight - differences when both are used to measure the same sequence. However, this - is unlikely to affect real applications since comparing the two queries is - not expected to be useful. - -Issues - - (12) What should we call this extension? - - RESOLVED: ANGLE_timer_query - - (13) Why is this done as a separate extension instead of just supporting - ARB_timer_query? - - ARB_timer_query is written against OpenGL 3.2, which includes a lot of - the required support for dealing with query objects. None of these - functions or tokens exist in OpenGL ES, and as such have to be added in - this specification. - - (14) How does this extension differ from ARB_timer_query? - - This extension contains most ARB_timer_query behavior unchanged as well - as a subset of the query support required to use it from the core - OpenGL 3.2 spec. It omits the glGetInteger(TIMESTAMP) functionality used to - query the current time on the GPU, but the behavior for all remaining - functionality taken from ARB_timer_query is the same. - - (15) Are query objects shareable between multiple contexts? - - RESOLVED: No. Query objects are lightweight and we normally share - large data across contexts. Also, being able to share query objects - across contexts is not particularly useful. In order to do the async - query across contexts, a query on one context would have to be finished - before the other context could query it. - -Revision History - - Revision 1, 2011/04/28 - - copied from revision 9 of ARB_timer_query and revision 7 of - ARB_occlusion_query - - removed language that was clearly not relevant to ES2 - - rebased changes against the OpenGL ES 2.0 specification diff --git a/extensions/ANGLE_translated_shader_source.txt b/extensions/ANGLE_translated_shader_source.txt deleted file mode 100644 index 69161156f..000000000 --- a/extensions/ANGLE_translated_shader_source.txt +++ /dev/null @@ -1,118 +0,0 @@ -Name - - ANGLE_translated_shader_source - -Name Strings - - GL_ANGLE_translated_shader_source - -Contributors - - Daniel Koch, TransGaming Inc. - Gregg Tavares, Google Inc. - Kenneth Russell, Google Inc. - Zhenyao Mo, Google Inc. - -Contact - - Zhenyao Mo, Google Inc. (zmo 'at' google 'dot' com) - -Status - - Implemented in ANGLE ES2 - -Version - - Last Modified Date: October 5, 2011 - Author Revision: 2 - -Number - - OpenGL ES Extension #113 - -Dependencies - - OpenGL ES 2.0 is required. - - The extension is written against the OpenGL ES 2.0 specification. - -Overview - - WebGL uses the GLSL ES 2.0 spec on all platforms, and translates these - shaders to the host platform's native language (HLSL, GLSL, and even GLSL - ES). For debugging purposes, it is useful to be able to examine the shader - after translation. - - This extension addes a new function to query the translated shader source, - and adds a new enum for GetShaderiv's parameter to query the - translated shader source length. - -IP Status - - No known IP claims. - -New Types - - None - -New Procedures and Functions - - void GetTranslatedShaderSourceANGLE(uint shader, sizei bufsize, - sizei* length, char* source); - -New Tokens - - Accepted by the parameter of GetShaderiv: - - TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE 0x93A0 - -Additions to Chapter 6 of the OpenGL ES 2.0 Specification (State and State -Requests) - - Append in the end of the fourth paragraph of section 6.1.8 (Shader and - Program Queries): - - " If is TRANSLATED_SHADER_LENGTH_ANGLE, the length of the translated - source string, including a null terminator, is returned. If no source has - been defined, CompileShader has not been called, or the translation has - failed for , zero is returned." - - Append after the last paragraph of section 6.1.8 (Shader and Program - Queries): - - "The command - - void GetTranslatedShaderSourceANGLE( uint shader, sizei bufSize, - sizei *length, char *source ); - - returns in the string making up the translated source code for - the shader object . The string will be null terminated. - The actual number of characters written into , excluding the null - terminator, is returned in . If is NULL, no length is - returned. The maximum number of characters that may be written into - , including the null terminator, is specified by . The - string is the translated string of a concatenation of the strings - passed to the GL using ShaderSource. The length of this translated string - is given by TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE, which can be queried - with GetShaderiv. - - If no source has been defined, CompileShader has not been called, or the - translation has failed for , zero is returned for , and - an empty string is returned for . - - If the value of SHADER_COMPILER is not TRUE, then the error INVALID_- - OPERATION is generated." - -Issues - - 1) What enum value should be used for TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE? - - RESOLVED: The first draft used a temporary enum value. This been replaced - with a enum allocated from the ANGLE range of GL enums. - -Revision History - - Revision 1, 2011/09/29, zmo - - first draft - Revision 2, 2011/10/05, dgkoch - - assigned enum diff --git a/extensions/EGL_ANGLE_d3d_share_handle_client_buffer.txt b/extensions/EGL_ANGLE_d3d_share_handle_client_buffer.txt deleted file mode 100644 index d54eaca66..000000000 --- a/extensions/EGL_ANGLE_d3d_share_handle_client_buffer.txt +++ /dev/null @@ -1,98 +0,0 @@ -Name - - ANGLE_d3d_share_handle_client_buffer - -Name Strings - - EGL_ANGLE_d3d_share_handle_client_buffer - -Contributors - - John Bauman - Alastair Patrick - Daniel Koch - -Contacts - - John Bauman, Google Inc. (jbauman 'at' chromium.org) - -Status - - Complete - Implemented (ANGLE r650) - -Version - - Version 3, May 12, 2011 - -Number - - EGL Extension #?? - -Dependencies - - Requires the EGL_ANGLE_surface_d3d_texture_2d_share_handle extension. - - This extension is written against the wording of the EGL 1.4 - Specification. - -Overview - - This extension allows creating EGL surfaces from handles to textures - shared from the Direct3D API or from - EGL_ANGLE_surface_texture_2d_share_handle. - -New Types - - None - -New Procedures and Functions - - None - -New Tokens - - Accepted in the parameter of eglCreatePbufferFromClientBuffer: - - EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE 0x3200 - -Additions to Chapter 3 of the EGL 1.4 Specification (EGL Functions and Errors) - - Replace the last sentence of paragraph 1 of Section 3.5.3 with the - following text. - "Currently, the only client API resources which may be bound in this - fashion are OpenVG VGImage objects and Direct3D share handles." - - Replace the last sentence of paragraph 2 ("To bind a client API...") of - Section 3.5.3 with the following text. - "When is EGL_OPENVG_IMAGE, the width and height of the pbuffer - are determined by the width and height of . When is - EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE, the width and height are specified - using EGL_WIDTH and EGL_HEIGHT, or else they default to zero. The width - and height must match the dimensions of the texture which the share handle - was created from or else an EGL_BAD_ALLOC error is generated." - - Replace the third paragraph of Section 3.5.3 with the following text. - " specifies the type of buffer to be bound. The only allowed values - of are EGL_OPENVG_IMAGE and - EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE". - - Append the following text to the fourth paragraph of Section 3.5.3. - "When is EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE, must be - a valid D3D share handle, cast into the type EGLClientBuffer. The handle - may be obtained from the Direct3D9Ex CreateTexture function, from DXGI's - GetSharedHandle method on an ID3D10Texture2D, or from the - EGL_ANGLE_surface_d3d_texture_2d_share_handle extension." - -Issues - -Revision History - - Version 3, 2011/05/12 - - publish - - Version 2, 2011/05/03 - - specify EGL_D3D_TEXTURE_2D_SHARE_HANDLE - - specify error if dimensions don't match - - Version 1, 2011/04/12 - first draft. diff --git a/extensions/EGL_ANGLE_direct3d_display.txt b/extensions/EGL_ANGLE_direct3d_display.txt deleted file mode 100644 index 267ca9ce9..000000000 --- a/extensions/EGL_ANGLE_direct3d_display.txt +++ /dev/null @@ -1,68 +0,0 @@ -Name - - ANGLE_direct3d_display - -Name Strings - - EGL_ANGLE_direct3d_display - -Contributors - - Nicolas Capens - Shannon Woods - -Contacts - - Shannon Woods, Google Inc. (shannonwoods 'at' chromium.org) - -Status - - In progress - -Version - - Version 1, May 15, 2013 - -Number - - EGL Extension #?? - -Dependencies - - This extension is written against the wording of the EGL 1.4 - Specification. - -Overview - - This extension allows for specifying the behavior of the renderer backing the display. - -New Types - - None - -New Procedures and Functions - - None - -New Tokens - - EGL_D3D11_ELSE_D3D9_DISPLAY_ANGLE (EGLNativeDisplayType)-2 - EGL_D3D11_ONLY_DISPLAY_ANGLE (EGLNativeDisplayType)-3 - -Additions to Chapter 3 of the EGL 1.4 Specification (EGL Functions and Errors) - - Add before the last sentence of the first paragraph of section 3.2, - "Initialization": - - "If is EGL_D3D11_ELSE_D3D9_DISPLAY_ANGLE, the display returned - will be backed by a Direct3D 11 renderer if one is available, or by a - Direct3D 9 renderer otherwise. If is EGL_D3D11_ONLY_DISPLAY_ANGLE, - the display returned will be backed by a Direct3D 11 renderer if one is - available, or will return NULL otherwise." - -Issues - -Revision History - - Version 1, 2013/05/15 - First draft. - diff --git a/extensions/EGL_ANGLE_query_surface_pointer.txt b/extensions/EGL_ANGLE_query_surface_pointer.txt deleted file mode 100644 index 75126fcbc..000000000 --- a/extensions/EGL_ANGLE_query_surface_pointer.txt +++ /dev/null @@ -1,88 +0,0 @@ -Name - - ANGLE_query_surface_pointer - -Name Strings - - EGL_ANGLE_query_surface_pointer - -Contributors - - Vladimir Vukicevic - Daniel Koch - -Contacts - - Vladimir Vukicevic (vladimir 'at' pobox.com) - -Status - - Complete - Implemented (ANGLE r558) - -Version - - Version 3, February 11, 2011 - -Number - - EGL Extension #28 - -Dependencies - - This extension is written against the wording of the EGL 1.4 - Specification. - -Overview - - This extension allows querying pointer-sized surface attributes, - thus avoiding problems with coercing 64-bit pointers into a 32-bit - integer. - -New Types - - None - -New Procedures and Functions - - EGLBoolean eglQuerySurfacePointerANGLE( - EGLDisplay dpy, - EGLSurface surface, - EGLint attribute, - void **value); - -New Tokens - - None - -Additions to Chapter 3 of the EGL 1.4 Specification (EGL Functions and Errors) - - Add to the end of the paragraph starting with "To query an - attribute associated with an EGLSurface" in section 3.5.6, - "Surface Attributes": - - "If the attribute type in table 3.5 is 'pointer', then - eglQuerySurface returns EGL_FALSE and an EGL_BAD_PARAMETER error - is generated. To query pointer attributes, call: - - EGLBoolean eglQuerySurfacePointerANGLE( - EGLDisplay dpy, - EGLSurface surface, - EGLint attribute, - void **value); - - eglQuerySurfacePointerANGLE behaves identically to eglQuerySurface, - except that only attributes of type 'pointer' can be queried. - If an attribute queried via eglQuerySurfacePointerANGLE is not - of type 'pointer', then eglQuerySurfacePointer returns EGL_FALSE - and an EGL_BAD_PARAMETER error is generated." - -Issues - -Revision History - - Version 3, 2011/02/11 - publish - - Version 2, 2010/12/21 - fix typos. - - Version 1, 2010/12/07 - first draft. diff --git a/extensions/EGL_ANGLE_software_display.txt b/extensions/EGL_ANGLE_software_display.txt deleted file mode 100644 index 556e1bee5..000000000 --- a/extensions/EGL_ANGLE_software_display.txt +++ /dev/null @@ -1,65 +0,0 @@ -Name - - ANGLE_software_display - -Name Strings - - EGL_ANGLE_software_display - -Contributors - - John Bauman - Daniel Koch - -Contacts - - John Bauman, Google Inc. (jbauman 'at' chromium.org) - -Status - - In progress - -Version - - Version 2, October 19, 2011 - -Number - - EGL Extension #?? - -Dependencies - - This extension is written against the wording of the EGL 1.4 - Specification. - -Overview - - This extension allows for receiving a device that uses software rendering. - -New Types - - None - -New Procedures and Functions - - None - -New Tokens - - EGL_SOFTWARE_DISPLAY_ANGLE (EGLNativeDisplayType)-1 - -Additions to Chapter 3 of the EGL 1.4 Specification (EGL Functions and Errors) - - Add before the last sentence of the first paragraph of section 3.2, - "Initialization": - - "If is EGL_SOFTWARE_DISPLAY_ANGLE, a display that will render - everything in software will be returned." - -Issues - -Revision History - - Version 1, 2011/07/12 - first draft. - Version 2, 2011/10/18 - add token definition - diff --git a/extensions/EGL_ANGLE_surface_d3d_texture_2d_share_handle.txt b/extensions/EGL_ANGLE_surface_d3d_texture_2d_share_handle.txt deleted file mode 100644 index 917e44565..000000000 --- a/extensions/EGL_ANGLE_surface_d3d_texture_2d_share_handle.txt +++ /dev/null @@ -1,95 +0,0 @@ -Name - - ANGLE_surface_d3d_texture_2d_share_handle - -Name Strings - - EGL_ANGLE_surface_d3d_texture_2d_share_handle - -Contributors - - Vladimir Vukicevic - Daniel Koch - -Contacts - - Vladimir Vukicevic (vladimir 'at' pobox.com) - -Status - - Complete - Implemented (ANGLE r558) - -Version - - Version 2, December 21, 2010 - -Number - - EGL Extension #29 - -Dependencies - - Requires the EGL_ANGLE_query_surface_pointer extension. - - This extension is written against the wording of the EGL 1.4 - Specification. - -Overview - - Some EGL implementations generate EGLSurface handles that are - backed by Direct3D 2D textures. For such surfaces, a D3D share - handle can be generated, allowing access to the same surface - from the Direct3D API. - -New Types - - None - -New Procedures and Functions - - None - -New Tokens - - Accepted in the parameter of eglQuerySurfacePointerANGLE: - - EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE 0x3200 - -Additions to Chapter 3 of the EGL 1.4 Specification (EGL Functions and Errors) - - Add to table 3.5, "Queryable surface attributes and types": - - Attribute Type Description - --------- ---- ----------- - EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE pointer Direct3D share handle - - Add before the last paragraph in section 3.5, "Surface attributes": - - "Querying EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE returns a Direct3D - share handle, or NULL if a share handle for the surface is not - available. The share handle must be queried using - eglQuerySurfaceAttribPointerANGLE. Before using a Direct3D surface - created with this share handle, ensure that all rendering - to the EGLSurface with EGL client APIs has completed. - - The Direct3D share handle may be passed as the pSharedHandle - parameter of the Direct3D9Ex CreateTexture function, or via the - Direct3D10 OpenSharedResource function. If used with Direct3D 9, - the level argument to CreateTexture must be 1, and the dimensions - must match the dimensions of the EGL surface. If used with - Direct3D 10, OpenSharedResource should be called with the - ID3D10Texture2D uuid to obtain an ID3D10Texture2D object. - -Issues - -Revision History - - Version 3, 2011/02/11 - publish - - Version 2, 2010/12/21 - - renamed token to EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE (adding "2D") - - renamed extension to ANGLE_surface_d3d_texture_2d_share_handle - - added language about supported usage of the shared handle from D3D - - Version 1, 2010/12/07 - first draft. diff --git a/extensions/EGL_ANGLE_window_fixed_size.txt b/extensions/EGL_ANGLE_window_fixed_size.txt deleted file mode 100644 index e4c1ac32c..000000000 --- a/extensions/EGL_ANGLE_window_fixed_size.txt +++ /dev/null @@ -1,136 +0,0 @@ -Name - - ANGLE_window_fixed_size - -Name Strings - - EGL_ANGLE_window_fixed_size - -Contributors - - John Bauman - Shannon Woods - -Contacts - - John Bauman, Google Inc. (jbauman 'at' google.com) - -Status - - Complete - -Version - - Version 4, February 24, 2014 - -Number - - EGL Extension #?? - -Dependencies - - This extension is written against the wording of the EGL 1.4 - Specification. - -Overview - - This extension allows creating a window surface with a fixed size that is - specified when it is created. - -New Types - - None - -New Procedures and Functions - - None - -New Tokens - - Accepted by the parameter of eglQuerySurface and by the - parameter of eglCreateWindowSurface: - - EGL_FIXED_SIZE_ANGLE 0x3201 - -Additions to Chapter 3 of the EGL 1.4 Specification: - - Modify the third paragraph of Section 3.5.1 (Creating On-Screen Rendering Surfaces) - - " specifies a list of attributes for the window. The list has - the same structure as described for eglChooseConfig. Attributes that can - be specified in include EGL_RENDER_BUFFER, - EGL_VG_COLORSPACE, EGL_VG_ALPHA_FORMAT, EGL_FIXED_SIZE_ANGLE, EGL_WIDTH, - and EGL_HEIGHT." - - Add before the last paragraph of Section 3.5.1 - - "EGL_FIXED_SIZE_ANGLE specifies whether the surface must be resized by the - implementation when the native window is resized. The default value is - EGL_FALSE. Its value can be EGL_TRUE, in which case the size must be - specified when the window is created, or EGL_FALSE, in which case the size - is taken from the native window. Its default value is EGL_FALSE. - - If the value of EGL_FIXED_SIZE_ANGLE is EGL_TRUE, the window surface's - size in pixels is specified by the EGL_WIDTH and EGL_HEIGHT attributes, - and will not change throughout the lifetime of the surface. If its value - is EGL_FALSE, then the values of EGL_WIDTH and EGL_HEIGHT are ignored and - the window surface must be resized by the implementation subsequent to the - native window being resized, and prior to copying its contents to the - native window (e.g. in eglSwapBuffers, as described in section 3.9.1.1). - The default values for EGL_WIDTH and EGL_HEIGHT are zero. If the value - specified for either of EGL_WIDTH or EGL_HEIGHT is less than zero then an - EGL_BAD_PARAMETER error is generated." - - Add the following entry to Table 3.5 - (Queryable surface attributes and types) - - Attribute Type Description - -------------------- ------- --------------------------------------------- - EGL_FIXED_SIZE_ANGLE boolean Surface will not be resized with a native - window - - Replace the last paragraph on page 37 in Section 3.5.6 (Surface Attributes) - - "Querying EGL_WIDTH and EGL_HEIGHT returns respectively the width and - height, in pixels, of the surface. For a pixmap surface or window surface - with EGL_FIXED_SIZE_ANGLE set to EGL_FALSE, these values are initially - equal to the width and height of the native window or pixmap with respect - to which the surface was created. If the native window is resized and the - corresponding window surface is not fixed size, the corresponding window - surface will eventually be resized by the implementation to match (as - discussed in section 3.9.1). If there is a discrepancy because EGL has not - yet resized the window surface, the size returned by eglQuerySurface will - always be that of the EGL surface, not the corresponding native window." - - Add the following paragraph to Section 3.5.6 (Surface Attributes) - - "Querying EGL_FIXED_SIZE_ANGLE returns EGL_FALSE if the surface will be - resized to match a native window, and EGL_TRUE if the surface cannot be - resized." - - Alter the beginning of the first paragraph of Section 3.9.1.1 (Native - Window Resizing) - - "If does not have EGL_FIXED_SIZE_ANGLE set and the native window - corresponding to has been resized prior to the swap, - must be resized to match." - -Issues - - 1. Should there be a way to resize a window surface that had its size - specified initially. - - RESOLVED: No. Surfaces that have their sizes specified initially must have - EGL_FIXED_SIZE_ANGLE set and can never be resized. - -Revision History - - Version 4, 2014/02/24 - formatting changes. - - Version 3, 2014/02/12 - ignore EGL_WIDTH and EGL_HEIGHT if - EGL_FIXED_SIZE_ANGLE is EGL_FALSE - - Version 2, 2014/02/07 - rename to EGL_ANGLE_window_fixed_size, and add an - EGL_FIXED_SIZE_ANGLE token. - - Version 1, 2014/02/05 - first draft. diff --git a/extensions/EGL_EXT_create_context_robustness.txt b/extensions/EGL_EXT_create_context_robustness.txt deleted file mode 100644 index a78f8789e..000000000 --- a/extensions/EGL_EXT_create_context_robustness.txt +++ /dev/null @@ -1,169 +0,0 @@ -Name - - EXT_create_context_robustness - -Name Strings - - EGL_EXT_create_context_robustness - -Contributors - - Daniel Koch, TransGaming - Contributors to EGL_KHR_create_context - -Contact - - Greg Roth (groth 'at' nvidia.com) - -Status - - Complete. - -Version - - Version 3, 2011/10/31 - -Number - - EGL Extension #37 - -Dependencies - - Requires EGL 1.4 - - Written against the EGL 1.4 specification. - - An OpenGL implementation supporting GL_ARB_robustness, an OpenGL ES - implementation supporting GL_EXT_robustness, or an implementation - supporting equivalent functionality is required. - -Overview - - This extension allows creating an OpenGL or OpenGL ES context - supporting robust buffer access behavior and a specified graphics - reset notification behavior. - -New Procedures and Functions - - None - -New Tokens - - Accepted as an attribute name in the <*attrib_list> argument to - eglCreateContext: - - EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT 0x30BF - EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT 0x3138 - - Accepted as an attribute value for EGL_CONTEXT_RESET_NOTIFICATION_- - STRATEGY_EXT in the <*attrib_list> argument to eglCreateContext: - - EGL_NO_RESET_NOTIFICATION_EXT 0x31BE - EGL_LOSE_CONTEXT_ON_RESET_EXT 0x31BF - -Additions to the EGL 1.4 Specification - - Replace section 3.7.1 "Creating Rendering Contexts" from the - fifth paragraph through the seventh paragraph: - - specifies a list of attributes for the context. The - list has the same structure as described for eglChooseConfig. If an - attribute is not specified in , then the default value - specified below is used instead. may be NULL or empty - (first attribute is EGL_NONE), in which case attributes assume their - default values as described below. Most attributes are only meaningful - for specific client APIs, and will generate an EGL_BAD_ATTRIBUTE - error when specified to create for another client API context. - - Context Versions - ---------------- - - EGL_CONTEXT_CLIENT_VERSION determines which version of an OpenGL ES - context to create. This attribute may only be specified when creating - an OpenGL ES context (e.g. when the current rendering API is - EGL_OPENGL_ES_API). An attribute value of 1 specifies creation of an - OpenGL ES 1.x context. An attribute value of 2 specifies creation of an - Open GL ES 2.x context. The default value for EGL_CONTEXT_CLIENT_VERSION - is 1. - - Context Robust Access - ------------- - - EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT indicates whether should be enabled for the OpenGL ES context. Robust buffer - access is defined in the GL_EXT_robustness extension specification, - and the resulting context must support GL_EXT_robustness and robust - buffer access as described therein. The default value of - EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT is EGL_FALSE. - - Context Reset Notification - -------------------------- - - The attribute name EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_- - EXT specifies the of the rendering - context. This attribute is only meaningful for OpenGL ES contexts, - and specifying it for other types of contexts will generate an - EGL_BAD_ATTRIBUTE error. - - Reset notification behavior is defined in the GL_EXT_robustness - extension for OpenGL ES, and the resulting context must support - GL_EXT_robustness and the specified reset strategy. The attribute - value may be either EGL_NO_RESET_NOTIFICATION_EXT or EGL_LOSE_- - CONTEXT_ON_RESET_EXT, which respectively result in disabling - delivery of reset notifications or the loss of all context state - upon reset notification as described by the GL_EXT_robustness. The - default value for EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT - is EGL_NO_RESET_NOTIFICATION_EXT. - - Add to the eglCreateContext context creation errors: - - * If does not support a client API context compatible - with the requested context flags and context reset notification - behavior (for client API types where these attributes are - supported), then an EGL_BAD_CONFIG error is generated. - - * If the reset notification behavior of and the - newly created context are different then an EGL_BAD_MATCH error is - generated. - - -Errors - - EGL_BAD_CONFIG is generated if EGL_CONTEXT_OPENGL_ROBUST_ACCESS_- - EXT is set to EGL_TRUE and no GL context supporting the GL_EXT_- - robustness extension and robust access as described therein can be - created. - - EGL_BAD_CONFIG is generated if no GL context supporting the - GL_EXT_robustness extension and the specified reset notification - behavior (the value of attribute EGL_CONTEXT_RESET_NOTIFICATION_- - STRATEGY_EXT) can be created. - - BAD_MATCH is generated if the reset notification behavior of - does not match the reset notification behavior of - the context being created. - -New State - - None - -Conformance Tests - - TBD - -Sample Code - - TBD - -Issues - - None - -Revision History - - Rev. Date Author Changes - ---- ------------ --------- ---------------------------------------- - 3 31 Oct 2011 groth Reverted to attribute for robust access. Now it's a - companion to rather than subset of KHR_create_context - 2 11 Oct 2011 groth Merged ANGLE and NV extensions. - 1 15 July 2011 groth Initial version diff --git a/extensions/EXT_blend_minmax.txt b/extensions/EXT_blend_minmax.txt deleted file mode 100644 index 522ac2022..000000000 --- a/extensions/EXT_blend_minmax.txt +++ /dev/null @@ -1,164 +0,0 @@ -Name - - EXT_blend_minmax - -Name Strings - - GL_EXT_blend_minmax - -Version - - Last Modified Date: September 17, 2009 - Version: 1.5 - -Number - - OpenGL Extension #37 - OpenGL ES Extension #65 - -Dependencies - - There is an interaction with OpenGL ES. - -Overview - - Blending capability is extended by respecifying the entire blend - equation. While this document defines only two new equations, the - BlendEquationEXT procedure that it defines will be used by subsequent - extensions to define additional blending equations. - - The two new equations defined by this extension produce the minimum - (or maximum) color components of the source and destination colors. - Taking the maximum is useful for applications such as maximum projection - in medical imaging. - -Issues - - * I've prefixed the ADD token with FUNC, to indicate that the blend - equation includes the parameters specified by BlendFunc. (The min - and max equations don't.) Is this necessary? Is it too ugly? - Is there a better way to accomplish the same thing? - -New Procedures and Functions - - void BlendEquationEXT(enum mode); - -New Tokens - - Accepted by the parameter of BlendEquationEXT: - - FUNC_ADD_EXT 0x8006 - MIN_EXT 0x8007 - MAX_EXT 0x8008 - - Accepted by the parameter of GetBooleanv, GetIntegerv, - GetFloatv, and GetDoublev: - - BLEND_EQUATION_EXT 0x8009 - -Additions to Chapter 2 of the GL Specification (OpenGL Operation) - - None - -Additions to Chapter 3 of the GL Specification (Rasterization) - - None - -Additions to Chapter 4 of the GL Specification (Per-Fragment Operations -and the Framebuffer) - - The GL Specification defines a single blending equation. This - extension introduces a blend equation mode that is specified by calling - BlendEquationEXT with one of three enumerated values. The default - value FUNC_ADD_EXT specifies that the blending equation defined in - the GL Specification be used. This equation is - - C' = (Cs * S) + (Cd * D) - - / 1.0 C' > 1.0 - C = ( - \ C' C' <= 1.0 - - where Cs and Cd are the source and destination colors, and S and D are - as specified by BlendFunc. - - If BlendEquationEXT is called with set to MIN_EXT, the - blending equation becomes - - C = min (Cs, Cd) - - Finally, if BlendEquationEXT is called with set to MAX_EXT, the - blending equation becomes - - C = max (Cs, Cd) - - In all cases the blending equation is evaluated separately for each - color component. - -Additions to Chapter 5 of the GL Specification (Special Functions) - - None - -Additions to Chapter 6 of the GL Specification (State and State Requests) - - None - -Additions to the GLX Specification - - None - -GLX Protocol - - A new GL rendering command is added. The following command is sent to the - server as part of a glXRender request: - - BlendEquationEXT - 2 8 rendering command length - 2 4097 rendering command opcode - 4 ENUM mode - -Dependencies on OpenGL ES - - If the GL is OpenGL ES, only the new MIN_EXT and MAX_EXT blend equations - are introduced by this extension. BlendEquationOES, FUNC_ADD_OES, and - BLEND_EQUATION_OES are introduced by the OES_blend_subtract extension, - which is required for this extension to operate. Alternatively, - OpenGL ES 2.0 is required, which introduces BlendEquation, FUNC_ADD, and - BLEND_EQUATION without the suffixes. - - MIN_EXT and MAX_EXT should be added to Table 4.blendeq described in the - OES_blend_subtract extension specification, and Table 4.1 of the OpenGL - ES 2.0 specification. - - Mentions of GetDoublev, Begin/End, and GLX in this extension specification - can be ignored for OpenGL ES. Also, BlendEquationEXT and FUNC_ADD_EXT - instead have the OES suffix courtesy of OES_blend_subtract, or no suffix - courtesy of core OpenGL ES 2.0. - -Errors - - INVALID_ENUM is generated by BlendEquationEXT if its single parameter - is not FUNC_ADD_EXT, MIN_EXT, or MAX_EXT. - - INVALID_OPERATION is generated if BlendEquationEXT is executed between - the execution of Begin and the corresponding execution to End. - -New State - - Get Value Get Command Type Initial Value Attribute - --------- ----------- ---- ------------- --------- - BLEND_EQUATION_EXT GetIntegerv Z3 FUNC_ADD_EXT color-buffer - -New Implementation Dependent State - - None - -Revision History - - Version 1.5, September 17, 2009 (Jon Leech) - - Merge into OpenGL Registry version of the extension and assign - OpenGL ES extension number. - Version 1.4, May 19, 2009 (Benj Lipchak) - - Adapted for OpenGL ES. - Version 1.3, May 31, 1995 - - Last SGI revision. diff --git a/extensions/EXT_color_buffer_float.txt b/extensions/EXT_color_buffer_float.txt deleted file mode 100644 index 2eb163dba..000000000 --- a/extensions/EXT_color_buffer_float.txt +++ /dev/null @@ -1,230 +0,0 @@ -Name - - EXT_color_buffer_float - -Name Strings - - GL_EXT_color_buffer_float - -Contributors - - OpenGL ES Working Group members - -Contact - - Mark Callow, HI Corp. (callow.mark 'at' artspark.co.jp) - -Notice - - ©2012 The Khronos Group Inc. - -Status - - Complete - -IP Status - - Graphics Properties Holdings (GPH, formerly SGI) owns US Patent - #6,650,327, issued November 18, 2003. GPH believes this patent - contains necessary IP for graphics systems implementing floating - point (FP) rasterization and FP framebuffer capabilities. - - GPH will not grant Khronos royalty-free use of this IP for use - in OpenGL ES, but will discuss licensing on RAND terms, on an - individual basis with companies wishing to use this IP in the - context of conformant OpenGL ES implementations. GPH does not - plan to make any special exemption for open source - implementations. - - See - https://www.khronos.org/files/ip-disclosures/opengl/SGI%20IP%20Disclosure%20Mar05_clean.pdf - for the full disclosure. - -Version - - Date: January 11th, 2013 - Revision: 5 - -Number - - OpenGL ES Extension #137 - -Dependencies - - Requires OpenGL ES 3.0. - - Written based on the wording of the OpenGL ES 3.0.1 Specification - (January 10th, 2013). - -Overview - - This extension allows a variety of floating point formats to be - rendered to via framebuffer objects. - -New Procedures and Functions - - None - -New Tokens - - None - -Additions to Chapter 3 of the OpenGL ES 3.0 Specification -(Rasterization) - - 3.8.3 Texture Image Specification, unnumbered subsection "Required - Texture Formats", p. 126 - - Change the first two bullet items to the following: - - - Texture and renderbuffer color formats (see section 4.4.2). - - RGBA32F, RGBA32I, RGBA32UI, RGBA16F, RGBA16I, RGBA16UI, - RGBA8, RGBA8I, RGBA8UI, SRGB8_ALPHA8, RGB10_A2, RGB10_- - A2UI, RGBA4, and RGB5_A1. - - RGB8 and RGB565. - - R11F G11F B10F. - - RG32F, RG32I, RG32UI, RG16F, RG16I, RG16UI, RG8, RG8I, and - RG8UI. - - R32F, R32I, R32UI, R16F, R16I, R16UI, R8, R8I, and R8UI. - - - Texture-only color formats: - - RGBA8_SNORM. - - RGB32F, RGB32I, and RGB32UI. - - RGB16F, RGB16I, and RGB16UI. - - RGB8_SNORM, RGB8I, RGB8UI, and SRGB8. - - RGB9_E5. - - RG8_SNORM. - - R8_SNORM. - - Table 3.12, p. 128 & 129 - - Convert the dash under 'Color-renderable' to a 'check' for the - following internal formats: R16F, RG16F, RGBA16F, R32F, RG32F, - RGBA32F and R11F_G11F_B10F. - -Additions to Chapter 4 of the OpenGL ES 3.0 Specification (Per-Fragment -Operations and the Framebuffer) - - (changed lines marked with *; added lines marked with +) - - Chapter 4 Introduction, p. 167 - - Paragraph 5, sentence 3, p 168, insert "floating point" as shown: - "R, G, B, and A components may be represented as unsigned - * normalized fixed-point, floating point or signed or unsigned - integer values; ..." ^^^^^^^^^^^^^^ - - 4.1.7 Blending, p. 174 - - Modify paragraphs 3 & 4: - - * "If the color buffer is fixed-point, the components of the - source and destination values and blend factors are clamped - * to [0; 1] prior to evaluating the blend equation. If the color - + buffer is floating-point, no clamping occurs. The resulting four - + values are sent to the next operation. - - Blending applies only if the color buffer has a fixed-point or - * or floating-point format. If the color buffer has an integer - * format, proceed to the next operation. Furthermore, an - + INVALID_OPERATION error is generated by DrawArrays and the other - + drawing commands defined in section 2.8.3 if blending is enabled - + (see below) and any draw buffer has a 32-bit floating-point - + format." - - 4.2.3 Clearing the Buffers, p. 183 - - Modify second paragraph, inserting "floating point": - - " void ClearColor(float r, float g, float b, float a); - - * sets the clear value for fixed- and floating-point color buffers. - ..." ^^^^^^^^^^^^^^^^^^ - - 4.3.1 Reading Pixels, p. 186 - - In paragraph 4, beginning "Only two combinations of format - and type are accepted ...", after the sentence ending "... type - UNSIGNED_BYTE is accepted." insert the following sentence: - "For floating-point rendering surfaces, the combination - format RGBA and type FLOAT is accepted." - - 4.3.1 unnumbered subsection "Obtaining Pixels from the Framebuffer", - p. 188 - - Modify penultimate paragraph, p189, "If format is an integer ..." - - "If format is an integer format and the color buffer is not an - integer format; if the color buffer is an integer format and - * format is not an integer format; if format is an integer format - * and type is FLOAT, HALF_FLOAT, or UNSIGNED_INT_10F_11F_11F_REV; - + or if the color buffer is a floating-point format and type is - + not FLOAT, HALF FLOAT, or UNSIGNED_INT_10F_11F_11F_REV, the error - INVALID_OPERATION occurs." - - 4.3.1 unnumbered subsection "Conversion of RGBA values", p.190 - - Sole paragraph, sentence 3, insert "or floating point" as shown: - * "For an integer or floating point color buffer, the elements - are unmodified."^^^^^^^^^^^^^^^^^ - - 4.3.2 Copying Pixels, p192 - - Modify first error condition, at bottom of p193, "The read buffer - contains ..." to encompass floating-point buffers. - - * "- The read buffer contains fixed-point or floating-point values - * and any draw buffer contains neither fixed-point nor - * floating-point values." - - 4.4.2 Attaching Images to Framebuffer Objects, p. 197, unnumbered - subsection "Required Renderbuffer Formats", p. 200 - - In the last paragraph beginning "Implementations must support - creation ...", modify the final phrase to - - * "with the exception of signed and unsigned integer, RGBA16F, - + R32F, RG32F and RGBA32F formats. - -Additions to Chapter 5 of the OpenGL ES 2.0 Specification (Special Functions) - - None - -Additions to Chapter 6 of the OpenGL ES 2.0 Specification (State and State -Requests) - - 6.1.15 Internal Format Queries, p. 237 - - P. 238, paragraph 8 after "Since multisampling is not supported - for signed and unsigned integer internal formats, the value of - NUM_SAMPLE_COUNTS will be zero for such formats.", insert new - one-sentence paragraph: - - "If is RGBA16F, R32F, RG32F, or RGBA32F, the - value of NUM_SAMPLE_COUNTS may be zero, or else the maximum - value in SAMPLES may be less than the value of MAX_SAMPLES." - -New Implementation Dependent State - - None - -Issues - -Revision History - - Rev. Date Author Changes - ---- -------- --------- ----------------------------------------- - 1 10/16/12 markc Initial version - 2 10/18/12 markc Referenced preliminary version of OpenGL - ES 3.0.1 specification and updated page - numbers. - 3 11/21/12 markc Corrected IP status. - 4 01/09/13 markc Changed date of referenced OpenGL ES - 3.0.1 specification. Made minor language - simplification. - 5 01/11/13 markc Changed date to release version of - OpenGL ES 3.0.1 specification. - Clarified change to "Required - renderbuffer formats" section. - -# vim:ai:ts=4:sts=4:sw=4:expandtab:textwidth=70 diff --git a/extensions/EXT_draw_buffers.txt b/extensions/EXT_draw_buffers.txt deleted file mode 100644 index 735460212..000000000 --- a/extensions/EXT_draw_buffers.txt +++ /dev/null @@ -1,542 +0,0 @@ -Name - - EXT_draw_buffers - -Name Strings - - GL_EXT_draw_buffers - -Contributors - - Contributors to GL_NV_draw_buffers - Contributors to GL_NV_fbo_color_attachments - Contributors to the OpenGL ES 2.0 specification - Contributors to the OpenGLSL ES 1.0.17 specification - Contributors to the OpenGL ES 3.0 specification - Nicolas Capens, TransGaming Inc. - Daniel Koch, TransGaming Inc. - Alastair Patrick, Google Inc. - Kenneth Russell, Google Inc. - Greg Roth, NVIDIA Corporation - Ben Bowman, Imagination Technologies - Members of the WebGL and OpenGL ES working groups - -Contact - - Daniel Koch (daniel 'at' transgaming.com) - -Status - - Draft Complete - -Version - - Last Modified Date: January 30, 2013 - Revision: #7 - -Number - - TBD - -Dependencies - - OpenGL ES 2.0 is required. - - The extension is written against the OpenGL ES 2.0 specification. - - ANGLE_framebuffer_blit affects the definition of this extension. - APPLE_framebuffer_multisample affects the definitin of this extension. - -Overview - - This extension increases the number of available framebuffer object - color attachment points, extends OpenGL ES 2.0 to allow multiple output - colors, and provides a mechanism for directing those outputs to - multiple color buffers. - - This extension is similar to the combination of the GL_NV_draw_buffers - and GL_NV_fbo_color_attachments extensions, but imposes certain - restrictions informed by the OpenGL ES 3.0 API. - -New Procedures and Functions - - void DrawBuffersEXT(sizei n, const enum *bufs); - -New Tokens - - Accepted by the parameter of GetIntegerv: - - MAX_COLOR_ATTACHMENTS_EXT 0x8CDF - - Accepted by the parameters of GetIntegerv and GetFloatv: - - MAX_DRAW_BUFFERS_EXT 0x8824 - DRAW_BUFFER0_EXT 0x8825 - DRAW_BUFFER1_EXT 0x8826 - DRAW_BUFFER2_EXT 0x8827 - DRAW_BUFFER3_EXT 0x8828 - DRAW_BUFFER4_EXT 0x8829 - DRAW_BUFFER5_EXT 0x882A - DRAW_BUFFER6_EXT 0x882B - DRAW_BUFFER7_EXT 0x882C - DRAW_BUFFER8_EXT 0x882D - DRAW_BUFFER9_EXT 0x882E - DRAW_BUFFER10_EXT 0x882F - DRAW_BUFFER11_EXT 0x8830 - DRAW_BUFFER12_EXT 0x8831 - DRAW_BUFFER13_EXT 0x8832 - DRAW_BUFFER14_EXT 0x8833 - DRAW_BUFFER15_EXT 0x8834 - - Accepted by the parameter of FramebufferRenderbuffer, - FramebufferTexture2D and GetFramebufferAttachmentParameteriv, and by - the parameter of DrawBuffersEXT: - - COLOR_ATTACHMENT0_EXT 0x8CE0 - COLOR_ATTACHMENT1_EXT 0x8CE1 - COLOR_ATTACHMENT2_EXT 0x8CE2 - COLOR_ATTACHMENT3_EXT 0x8CE3 - COLOR_ATTACHMENT4_EXT 0x8CE4 - COLOR_ATTACHMENT5_EXT 0x8CE5 - COLOR_ATTACHMENT6_EXT 0x8CE6 - COLOR_ATTACHMENT7_EXT 0x8CE7 - COLOR_ATTACHMENT8_EXT 0x8CE8 - COLOR_ATTACHMENT9_EXT 0x8CE9 - COLOR_ATTACHMENT10_EXT 0x8CEA - COLOR_ATTACHMENT11_EXT 0x8CEB - COLOR_ATTACHMENT12_EXT 0x8CEC - COLOR_ATTACHMENT13_EXT 0x8CED - COLOR_ATTACHMENT14_EXT 0x8CEE - COLOR_ATTACHMENT15_EXT 0x8CEF - - The COLOR_ATTACHMENT0_EXT constant is equal to the - COLOR_ATTACHMENT0 constant. - - Each COLOR_ATTACHMENT_EXT adheres to COLOR_ATTACHMENT_EXT - = COLOR_ATTACHMENT0_EXT + . - -Changes to Chapter 3 of the OpenGL ES 2.0 Specification (Rasterization) - - Section 3.2, (Multisampling). Replace the second paragraph: - - An additional buffer, called the multisample buffer, is added to the - window system-provided framebuffer. Pixel sample values, including - color, depth, and stencil values, are stored in this buffer. Samples - contain separate color values for each fragment color. When the - window system-provided framebuffer includes a multisample buffer, it - does not include depth or stencil buffers, even if the multisample - buffer does not store depth or stencil values. Color buffers do - coexist with the multisample buffer, however. - - Section 3.8.2, (Shader Execution) Replace subsection "Shader - Outputs": - - The OpenGL ES Shading Language specification describes the values - that may be output by a fragment shader. These are gl_FragColor and - gl_FragData[n]. The final fragment color values or the final - fragment data values written by a fragment shader are clamped to the - range [0, 1] and then converted to fixed-point as described in - section 2.1.2 for framebuffer color components. - - Writing to gl_FragColor specifies the fragment color (color number - zero) that will be used by subsequent stages of the pipeline. - Writing to gl_FragData[n] specifies the value of fragment color - number n. Any colors, or color components, associated with a - fragment that are not written by the fragment shader are undefined. - A fragment shader may not statically assign values to both - gl_FragColor and gl_FragData. In this case, a compile or link error - will result. A shader statically assigns a value to a variable if, - after preprocessing, it contains a statement that would write to the - variable, whether or not run-time flow of control will cause that - statement to be executed. - -Changes to Chapter 4 of the OpenGL ES 2.0 Specification (Per-Fragment -Operations and the Frame Buffer) - - Modify the overview of Chapter 4 and replace the sentences - of the fifth paragraph which read: - - "The name of the color buffer of an application-created framebuffer - object is COLOR_ATTACHMENT0. The names of the depth and stencil buffers - are DEPTH_ATTACHMENT and STENCIL_ATTACHMENT." - - With the following: - - "A framebuffer object has an array of color buffer attachment points, - numbered zero through , a depth buffer attachment point, and a - stencil buffer attachment point." - - Insert Table 4.3 to Section 4.2.1 (and renumber subsequent tables): - - Symbolic Constant Meaning - ----------------- --------------------- - NONE No buffer - - COLOR_ATTACHMENT_EXT (see caption) Output fragment color to image - attached at color attachment - point i - - Table 4.3: Arguments to DrawBuffersEXT when the context is bound to a - framebuffer object, and the buffers they indicate. in - COLOR_ATTACHMENT_EXT may range from zero to the value of - MAX_COLOR_ATTACHMENTS_EXT minus one. - - Replace Section 4.2.1, "Selecting a Buffer for Writing" with the following: - - "By default, color values are written into the front buffer for - single buffered surfaces or into the back buffer for back buffered - surfaces as determined when making the context current. To control - the color buffer into which each of the fragment color values is - written, DrawBuffersEXT is used. - - The command - - void DrawBuffersEXT(sizei n, const enum *bufs); - - defines the draw buffers to which all fragment colors are written. - specifies the number of buffers in . is a pointer - to an array of symbolic constants specifying the buffer to which - each fragment color is written. - - Each buffer listed in must be BACK, NONE, or one of the - values from table 4.3. Further, acceptable values for the constants - in depend on whether the GL is using the default framebuffer - (i.e., DRAW_FRAMEBUFFER_BINDING is zero), or a framebuffer object - (i.e., DRAW_FRAMEBUFFER_BINDING is non-zero). For more information - about framebuffer objects, see section 4.4. - - If the GL is bound to the default framebuffer, then must be 1 - and the constant must be BACK or NONE. When draw buffer zero is - BACK, color values are written into the sole buffer for single- - buffered contexts, or into the back buffer for double-buffered - contexts. If DrawBuffersEXT is supplied with a constant other than - BACK and NONE, the error INVALID_OPERATION is generated. - - If the GL is bound to a draw framebuffer object, then each of the - constants must be one of the values listed in table 4.3. - - In both cases, the draw buffers being defined correspond in order to - the respective fragment colors. The draw buffer for fragment - colors beyond is set to NONE. - - The maximum number of draw buffers is implementation-dependent. The - number of draw buffers supported can be queried by calling - GetIntegerv with the symbolic constant MAX_DRAW_BUFFERS_EXT. An - INVALID_VALUE error is generated if is greater than - MAX_DRAW_BUFFERS_EXT. - - If the GL is bound to a draw framebuffer object, the th buffer listed - in must be COLOR_ATTACHMENT_EXT or NONE. Specifying a - buffer out of order, BACK, or COLOR_ATTACHMENT_EXT where is - greater than or equal to the value of MAX_COLOR_ATTACHMENTS_EXT, - will generate the error INVALID_OPERATION. - - If a fragment shader writes to "gl_FragColor", DrawBuffersEXT - specifies the set of draw buffers into which the color - written to "gl_FragColor" is written. If a fragment shader writes to - "gl_FragData", DrawBuffersEXT specifies a set of draw buffers - into which each of the multiple output colors defined by these - variables are separately written. If a fragment shader writes to - neither "gl_FragColor" nor "gl_FragData" the values of the - fragment colors following shader execution are undefined, and may - differ for each fragment color. - - Indicating a buffer or buffers using DrawBuffersEXT causes - subsequent pixel color value writes to affect the indicated - buffers. If the GL is bound to a draw framebuffer object and a draw - buffer selects an attachment that has no image attached, then that - fragment color is not written. - - Specifying NONE as the draw buffer for a fragment color will inhibit - that fragment color from being written. - - The state required to handle color buffer selection for each - framebuffer is an integer for each supported fragment color. For the - default framebuffer, in the initial state the draw buffer for - fragment color zero is BACK if there is a default framebuffer - associated with the context, otherwise NONE. For framebuffer - objects, in the initial state the draw buffer for fragment color - zero is COLOR_ATTACHMENT0_EXT. - - For both the default framebuffer and framebuffer objects, the - initial state of draw buffers for fragment colors other than zero is - NONE. - - The value of the draw buffer selected for fragment color can be - queried by calling GetIntegerv with the symbolic constant - DRAW_BUFFER_EXT." - - Modify Section 4.2.3 (Clearing the Buffers) and replace the first - two paragraphs with the following: - - "The GL provides a means for setting portions of every pixel in a - particular buffer to the same value. The argument to - - void Clear(bitfield buf); - - is the bitwise OR of a number of values indicating which buffers are - to be cleared. The values are COLOR_BUFFER_BIT, DEPTH_BUFFER_BIT, and - STENCIL_BUFFER_BIT, indicating the buffers currently enabled for color - writing, the depth buffer, and the stencil buffer (see below), - respectively. The value to which each buffer is cleared depends on - the setting of the clear value for that buffer. If the mask is not a - bitwise OR of the specified values, then the error INVALID_VALUE is - generated. - - void ClearColor(clampf r, clampf, g, clampf b, clampf a); - - sets the clear value for fixed-point color buffers. Each of the - specified components is clamped to [0, 1] and converted to fixed-point - as described in section 2.1.2 for framebuffer color components." - - Replace the second paragraph of Section 4.4.1 (Binding and Managing - Framebuffer Objects) with the following: - - "The namespace for framebuffer objects is the unsigned integers, with - zero reserved by OpenGL ES to refer to the default framebuffer. A - framebuffer object is created by binding an unused name to the - target FRAMEBUFFER, DRAW_FRAMEBUFFER, or READ_FRAMEBUFFER. The binding - is effected by calling - - void BindFramebuffer(enum target, uint framebuffer); - - with set the desired framebuffer target and set - to the unused name. The resulting framebuffer object is a new state - vector. There is a number of color attachment points, plus one each - for the depth and stencil attachment points. The number of color attachment - points is equal to the value of MAX_COLOR_ATTACHMENTS_EXT." - - Replace the third item in the bulleted list in Section 4.4.1 (Binding - and Managing Framebuffer Objects) with the following: - - " * The only color buffer bitplanes are the ones defined by the - framebuffer attachments points named COLOR_ATTACHMENT0_EXT through - COLOR_ATTACHMENT_EXT." - - Modify Section 4.4.3 (Renderbuffer Objects) in the - "Attaching Renderbuffer Images to a Framebuffer" subsection as follows: - - Insert the following table: - - Name of attachment - --------------------------------------- - COLOR_ATTACHMENT_EXT (see caption) - DEPTH_ATTACHMENT - STENCIL_ATTACHMENT - - Table 4.x: Framebuffer attachment points. in COLOR_ATTACHMENT_EXT - may range from zero to the value of MAX_COLOR_ATTACHMENTS_EXT minus 1. - - Modify the third sentence of the paragraph following the definition of - FramebufferRenderbuffer to be as follows: - - " should be set to one of the attachment points of the - framebuffer listed in Table 4.x." - - Modify Section 4.4.3 (Renderbuffer Objects) in the "Attaching Texture - Images to a Framebuffer" subsection as follows: - - Modify the last sentence of the paragraph following the definition of - FramebufferTexture2D to be as follows: - - " must be one of the attachment points of the framebuffer - listed in Table 4.x." - - Modify Section 4.4.5 (Framebuffer Completeness) and replace the 3rd - item in the bulleted list in the "Framebuffer Attachment Completeness" - subsection with the following: - - " * If is COLOR_ATTACHMENT_EXT, then must - have a color-renderable internal format." - -Changes to Chapter 6 of the OpenGL ES 2.0 Specification (State and -State Requests) - - In section 6.1.3 (Enumerated Queries) modify the third sentence in - the definition of GetFramebufferAttachmentParameteriv to be as follows: - - " must be one of the attachment points of the framebuffer - listed in Table 4.x." - -Changes to Chapter 3 of the OpenGL ES Shading Language 1.0.17 Specification (Basics) - - Add a new section: - - 3.4.1 GL_EXT_draw_buffers Extension - - To use the GL_EXT_draw_buffers extension in a shader it - must be enabled using the #extension directive. - - The shading language preprocessor #define - GL_EXT_draw_buffers will be defined to 1, if the - GL_EXT_draw_buffers extension is supported. - -Dependencies on ANGLE_framebuffer_blit and APPLE_framebuffer_multisample: - - If neither ANGLE_framebuffer_blit nor APPLE_framebuffer_multisample are - supported, then all references to "draw framebuffers" should be replaced - with references to "framebuffers". References to DRAW_FRAMEBUFFER_BINDING - should be replaced with references to FRAMEBUFFER_BINDING. References to - DRAW_FRAMEBUFFER and READ_FRAMEBUFFER should be removed. - - If ANGLE_framebuffer_blit is supported, DRAW_FRAMEBUFFER_BINDING, DRAW_FRAMEBUFFER - and READ_FRAMEBUFFER all refer to corresponding _ANGLE suffixed names - (they have the same token values). - - If APPLE_framebuffer_multisample is supported, DRAW_FRAMEBUFFER_BINDING, - DRAW_FRAMEBUFFER and READ_FRAMEBUFFER all refer to the corresponding _APPLE - suffixed names (they have the same token values). - -Errors - - The INVALID_OPERATION error is generated if DrawBuffersEXT is called - when the default framebuffer is bound and any of the following conditions - hold: - - is greater than 1 and less than MAX_DRAW_BUFFERS_EXT, - - contains a value other than BACK or NONE. - - The INVALID_OPERATION error is generated if DrawBuffersEXT is called - when bound to a draw framebuffer object and any of the following - conditions hold: - - the th value in is not COLOR_ATTACHMENT_EXT or NONE. - - The INVALID_VALUE error is generated if DrawBuffersEXT is called - with a value of which is greater than MAX_DRAW_BUFFERS_EXT. - - The INVALID_ENUM error is generated by FramebufferRenderbuffer if - the parameter is not one of the values listed in Table 4.x. - - The INVALID_ENUM error is generated by FramebufferTexture2D if - the parameter is not one of the values listed in Table 4.x. - - The INVALID_ENUM error is generated by GetFramebufferAttachmentParameteriv - if the parameter is not one of the values listed in Table 4.x. - -New State - - Add Table 6.X Framebuffer (State per framebuffer object): - - State Type Get Command Initial Value Description - ------------------ ---- ------------ ------------- ----------- - DRAW_BUFFER_EXT Z10* GetIntegerv see 4.2.1 Draw buffer selected - for fragment color i - - Add to Table 6.18 (Implementation Dependent Values) - - Get value Type Get Cmnd Minimum Value Description Sec. - -------------------- ---- ----------- ------------- ----------- ----- - MAX_DRAW_BUFFERS_EXT Z+ GetIntegerv 1 Maximum number of 4.2.1 - active draw buffers - MAX_COLOR_ATTACHMENTS_EXT Z+ GetIntegerv 1 Number of framebuffer 4.4.1 - color attachment points -Issues - - See ARB_draw_buffers for relevant issues. - - 1) What are the differences between this extension and NV_draw_buffers - + NV_fbo_color_attachments? - - RESOLVED. This extension: - - adds interactions with blit_framebuffer and the separate - draw/read binding points - - The draw buffer and color attachment limits are global instead - of per-fbo (see Issue 2) - - can be used to with default framebuffer to set NONE/BACK (see Issue 4) - - retains the ordering restrictions on color attachments that are - imposed by ES 3.0. - - 2) Should the MAX_DRAW_BUFFERS_EXT and MAX_COLOR_ATTACHMENTS_EXT limits - be per-framebuffer values or implementation dependent constants? - - DISCUSSION: In ARB_draw_buffers this was per-context (see Issue 2). - EXT_framebuffer_object (and subsequently ARB_framebuffer_object, and GL 3.0 - through GL 4.2) made these queries framebuffer-dependent. - However in GL 4.3 and GLES 3.0, these limits were changed from - framebuffer-dependent state to implementation-dependent state after - much discussion (Bug 7990). - - NV_draw_buffers has MAX_DRAW_BUFFERS listed as per-framebuffer state, - but NV_fbo_color_attachments has MAX_COLOR_ATTACHMENTS as an - implementation-dependent constant. - - This is relevant because some implementations are not able to support - multisampling in conjuction with multiple color attachments. If the - query is per-framebuffer, they can report a maximum of one attachment - when there are multisampled attachments, but a higher limit when only - single-sampled attachments are present. - - RESOLVED. Make this global context state as this is most consistent - with GLES 3.0 and updated GL drivers. In an implementation cannot - support multisampling in conjunction with multiple color attachments, - perhaps such an implementation could report FBO incomplete in this - situation, but this is less than desirable. - - 3) Should we support broadcast from gl_FragColor to all gl_FragData[x] - or should it be synonymous with gl_FragData[0]? - - DISCUSSION: With NV_draw_buffers, writing to gl_FragColor writes to all - the enabled draw buffers (ie broadcast). In OpenGL ES 3.0 when using - ESSL 1.0, gl_FragColor is equivalent to writing a single output to - gl_FragData[0] and multiple outputs are not possible. When using ESSL 3.0, - only user-defined out variables may be used. - - If broadcast is supported, some implementations may have to replace - writes to gl_FragColor with replicated writes to all possible gl_FragData - locations when this extension is enabled. - - RESOLVED: Writes to gl_FragColor are broadcast to all enabled color - buffers. ES 3.0 using ESSL 1.0 doesn't support broadcast because - ESSL 1.0 was not extended to have multiple color outputs (but that is - what this extension adds). ESSL 3.0 doesn't support the broadcast because - it doesn't have the gl_FragColor variable at all, and only has user- - defined out variables. This extension extends ESSL 1.0 to have multiple - color outputs. Broadcasting from gl_FragColor to all enabled color - buffers is the most consistent with existing draw buffer extensions to - date (both NV_draw_buffers and desktop GL). - - 4) Should we allow DrawBuffersEXT to be called when the default FBO is - bound? - - DISCUSSION: NV_draw_buffers specifies that DrawBuffersNV errors with - INVALID_OPERATION when the default FBO is bound. OpenGL ES 3.0 allows - DrawBuffers to toggle between BACK and NONE on the default FBO. - - An implementation that does not natively support disabling the drawbuffer - on the default FBO could emulate this by disabling color writes. - - RESOLVED: Allow DrawBuffersEXT to be called for the default FBO. This - is more forward looking and is compatible with ES 3.0. - - 5) What are the requirements on the color attachment sizes and formats? - - RESOLVED: ES 2.0 requires that all color buffers attached to application- - created framebuffer objects must have the same number of bitplanes - (Chapter 4 overview p91). ES 2.0 also requires that all attached images - have the same width and height (Section 4.4.5 Framebuffer Completeness). - This extension does not lift those requirements, and failing to meet - them will result in an incomplete FBO. - - 6) Does this have any interactions with glClear? - - RESOLVED: Yes. When multiple color buffers are enabled for writing, - glClear clears all of the color buffers. Added language clarifying - that glClear and glClearColor may affect multiple color buffers. - -Revision History - - 01/30/2013 dgkoch add issue 6 and clear interactions - renamed to EXT_draw_buffers based on feedback - changed resolution of issue 3. - 01/23/2013 dgkoch add resolutions to issues 2-4. - add issue 5. - Add Table 4.x and update various explicit - references to COLOR_ATTACHMENT0. - Add errors. - 11/13/2012 dgkoch add revision history - add text from updated ES 3.0 spec - add issues for discussion - 10/16/2012 kbr update name string - 10/16/2012 kbr remove restrition requiring draw buffer 0 to be non-NULL - 10/12/2012 kbr remove references to GetDoublev and ReadBuffer - 10/11/2012 kbr initial draft extension - diff --git a/extensions/EXT_robustness.txt b/extensions/EXT_robustness.txt deleted file mode 100644 index 1c26a5588..000000000 --- a/extensions/EXT_robustness.txt +++ /dev/null @@ -1,365 +0,0 @@ -Name - - EXT_robustness - -Name Strings - - GL_EXT_robustness - -Contributors - - Daniel Koch, TransGaming - Nicolas Capens, TransGaming - Contributors to ARB_robustness - -Contact - - Greg Roth, NVIDIA (groth 'at' nvidia.com) - -Status - - Complete. - -Version - - Version 3, 2011/10/31 - -Number - - OpenGL ES Extension #107 - -Dependencies - - This extension is written against the OpenGL ES 2.0 Specification - but can apply to OpenGL ES 1.1 and up. - - EGL_EXT_create_context_robustness is used to determine if a context - implementing this extension supports robust buffer access, and if it - supports reset notification. - -Overview - - Several recent trends in how OpenGL integrates into modern computer - systems have created new requirements for robustness and security - for OpenGL rendering contexts. - - Additionally GPU architectures now support hardware fault detection; - for example, video memory supporting ECC (error correcting codes) - and error detection. OpenGL contexts should be capable of recovering - from hardware faults such as uncorrectable memory errors. Along with - recovery from such hardware faults, the recovery mechanism can - also allow recovery from video memory access exceptions and system - software failures. System software failures can be due to device - changes or driver failures. - - OpenGL queries that that return (write) some number of bytes to a - buffer indicated by a pointer parameter introduce risk of buffer - overflows that might be exploitable by malware. To address this, - queries with return value sizes that are not expressed directly by - the parameters to the query itself are given additional API - functions with an additional parameter that specifies the number of - bytes in the buffer and never writing bytes beyond that limit. This - is particularly useful for multi-threaded usage of OpenGL contexts - in a "share group" where one context can change objects in ways that - can cause buffer overflows for another context's OpenGL queries. - - The original ARB_vertex_buffer_object extension includes an issue - that explicitly states program termination is allowed when - out-of-bounds vertex buffer object fetches occur. Modern graphics - hardware is capable well-defined behavior in the case of out-of- - bounds vertex buffer object fetches. Older hardware may require - extra checks to enforce well-defined (and termination free) - behavior, but this expense is warranted when processing potentially - untrusted content. - - The intent of this extension is to address some specific robustness - goals: - - * For all existing OpenGL queries, provide additional "safe" APIs - that limit data written to user pointers to a buffer size in - bytes that is an explicit additional parameter of the query. - - * Provide a mechanism for an OpenGL application to learn about - graphics resets that affect the context. When a graphics reset - occurs, the OpenGL context becomes unusable and the application - must create a new context to continue operation. Detecting a - graphics reset happens through an inexpensive query. - - * Provide an enable to guarantee that out-of-bounds buffer object - accesses by the GPU will have deterministic behavior and preclude - application instability or termination due to an incorrect buffer - access. Such accesses include vertex buffer fetches of - attributes and indices, and indexed reads of uniforms or - parameters from buffers. - -New Procedures and Functions - - enum GetGraphicsResetStatusEXT(); - - void ReadnPixelsEXT(int x, int y, sizei width, sizei height, - enum format, enum type, sizei bufSize, - void *data); - - void GetnUniformfvEXT(uint program, int location, sizei bufSize, - float *params); - void GetnUniformivEXT(uint program, int location, sizei bufSize, - int *params); - -New Tokens - - Returned by GetGraphicsResetStatusEXT: - - NO_ERROR 0x0000 - GUILTY_CONTEXT_RESET_EXT 0x8253 - INNOCENT_CONTEXT_RESET_EXT 0x8254 - UNKNOWN_CONTEXT_RESET_EXT 0x8255 - - Accepted by the parameter of GetBooleanv, GetIntegerv, - and GetFloatv: - - CONTEXT_ROBUST_ACCESS_EXT 0x90F3 - RESET_NOTIFICATION_STRATEGY_EXT 0x8256 - - Returned by GetIntegerv and related simple queries when is - RESET_NOTIFICATION_STRATEGY_EXT : - - LOSE_CONTEXT_ON_RESET_EXT 0x8252 - NO_RESET_NOTIFICATION_EXT 0x8261 - -Additions to Chapter 2 of the OpenGL ES 2.0 Specification (OpenGL ES Operation) - -Add a new subsection after 2.5 "GL Errors" and renumber subsequent -sections accordingly. - - 2.6 "Graphics Reset Recovery" - - Certain events can result in a reset of the GL context. Such a reset - causes all context state to be lost. Recovery from such events - requires recreation of all objects in the affected context. The - current status of the graphics reset state is returned by - - enum GetGraphicsResetStatusEXT(); - - The symbolic constant returned indicates if the GL context has been - in a reset state at any point since the last call to - GetGraphicsResetStatusEXT. NO_ERROR indicates that the GL context - has not been in a reset state since the last call. - GUILTY_CONTEXT_RESET_EXT indicates that a reset has been detected - that is attributable to the current GL context. - INNOCENT_CONTEXT_RESET_EXT indicates a reset has been detected that - is not attributable to the current GL context. - UNKNOWN_CONTEXT_RESET_EXT indicates a detected graphics reset whose - cause is unknown. - - If a reset status other than NO_ERROR is returned and subsequent - calls return NO_ERROR, the context reset was encountered and - completed. If a reset status is repeatedly returned, the context may - be in the process of resetting. - - Reset notification behavior is determined at context creation time, - and may be queried by calling GetIntegerv with the symbolic constant - RESET_NOTIFICATION_STRATEGY_EXT. - - If the reset notification behavior is NO_RESET_NOTIFICATION_EXT, - then the implementation will never deliver notification of reset - events, and GetGraphicsResetStatusEXT will always return - NO_ERROR[fn1]. - [fn1: In this case it is recommended that implementations should - not allow loss of context state no matter what events occur. - However, this is only a recommendation, and cannot be relied - upon by applications.] - - If the behavior is LOSE_CONTEXT_ON_RESET_EXT, a graphics reset will - result in the loss of all context state, requiring the recreation of - all associated objects. In this case GetGraphicsResetStatusEXT may - return any of the values described above. - - If a graphics reset notification occurs in a context, a notification - must also occur in all other contexts which share objects with that - context[fn2]. - [fn2: The values returned by GetGraphicsResetStatusEXT in the - different contexts may differ.] - - Add to Section 2.8 "Vertex Arrays" before subsection "Transferring - Array Elements" - - Robust buffer access is enabled by creating a context with robust - access enabled through the window system binding APIs. When enabled, - indices within the vertex array that lie outside the arrays defined - for enabled attributes result in undefined values for the - corresponding attributes, but cannot result in application failure. - Robust buffer access behavior may be queried by calling GetIntegerv - with the symbolic constant CONTEXT_ROBUST_ACCESS_EXT. - -Additions to Chapter 4 of the OpenGL ES 2.0 Specification (Per-Fragment -Operations and the Frame Buffer) - - Modify section 4.3.1 "Reading Pixels" - - Pixels are read using - - void ReadPixels(int x, int y, sizei width, sizei height, - enum format, enum type, void *data); - void ReadnPixelsEXT(int x, int y, sizei width, sizei height, - enum format, enum type, sizei bufSize, - void *data); - - Add to the description of ReadPixels: - - ReadnPixelsEXT behaves identically to ReadPixels except that it does - not write more than bytes into . If the buffer size - required to fill all the requested data is greater than an - INVALID_OPERATION error is generated and is not altered. - -Additions to Chapter 5 of the OpenGL ES 2.0 Specification (Special -Functions): - - None - -Additions to Chapter 6 of the OpenGL ES 2.0 Specification (State and -State Requests) - - Modify Section 6.1.8 "Shader and Program Queries" - - The commands - - void GetUniformfv(uint program, int location, float *params); - void GetnUniformfvEXT(uint program, int location, sizei bufSize, - float *params); - void GetUniformiv(uint program, int location, int *params); - void GetnUniformivEXT(uint program, int location, sizei bufSize, - int *params); - - return the value or values of the uniform at location - for program object in the array . Calling - GetnUniformfvEXT or GetnUniformivEXT ensures that no more than - bytes are written into . If the buffer size - required to fill all the requested data is greater than an - INVALID_OPERATION error is generated and is not altered. - ... - -Additions to The OpenGL ES Shading Language Specification, Version 1. - - Append to the third paragraph of section 4.1.9 "Arrays" - - If robust buffer access is enabled via the OpenGL ES API, such - indexing must not result in abnormal program termination. The - results are still undefined, but implementations are encouraged to - produce zero values for such accesses. - -Interactions with EGL_EXT_create_context_robustness - - If the EGL window-system binding API is used to create a context, - the EGL_EXT_create_context_robustness extension is supported, and - the attribute EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT is set to - EGL_TRUE when eglCreateContext is called, the resulting context will - perform robust buffer access as described above in section 2.8, and - the CONTEXT_ROBUST_ACCESS_EXT query will return GL_TRUE as described - above in section 6.1.5. - - If the EGL window-system binding API is used to create a context and - the EGL_EXT_create_context_robustness extension is supported, then - the value of attribute EGL_CONTEXT_RESET_NOTIFICATION_STRATEGY_EXT - determines the reset notification behavior and the value of - RESET_NOTIFICATION_STRATEGY_EXT, as described in section 2.6. - -Errors - - ReadnPixelsEXT, GetnUniformfvEXT, and GetnUniformivEXT share all the - errors of their unsized buffer query counterparts with the addition - that INVALID_OPERATION is generated if the buffer size required to - fill all the requested data is greater than . - -New Implementation Dependent State - - Get Value Type Get Command Minimum Value Description Sec. Attribute - --------- ---- ----------- ------------- --------------------------- ----- --------- - CONTEXT_ROBUST_ACCESS_EXT B GetIntegerv - Robust access enabled 6.1.5 - - RESET_NOTIFICATION_STRATEGY_EXT Z_2 GetIntegerv See sec. 2.6 Reset notification behavior 2.6 - - -Issues - - - 1. What should this extension be called? - - RESOLVED: EXT_robustness - - Since this is intended to be a version of ARB_robustness for - OpenGL ES, it should be named accordingly. - - 2. How does this extension differ from Desktop GL's ARB_robustness? - - RESOLVED: Because EGL_EXT_create_context_robustness uses a - separate attribute to enable robust buffer access, a - corresponding query is added here. - - 3. Should we provide a context creation mechanism to enable this extension? - - RESOLVED. Yes. - - Currently, EGL_EXT_create_context_robustness provides this - mechanism via two unique attributes. These attributes differ - from those specified by KHR_create_context to allow for - differences in what functionality those attributes define. - - 4. What can cause a graphics reset? - - Either user or implementor errors may result in a graphics reset. - If the application attempts to perform a rendering that takes too long - whether due to an infinite loop in a shader or even just a rendering - operation that takes too long on the given hardware. Implementation - errors may produce badly formed hardware commands. Memory access errors - may result from user or implementor mistakes. On some systems, power - management events such as system sleep, screen saver activation, or - pre-emption may also context resets to occur. Any of these events may - result in a graphics reset event that will be detectable by the - mechanism described in this extension. - - 5. How should the application react to a reset context event? - - RESOLVED: For this extension, the application is expected to query - the reset status until NO_ERROR is returned. If a reset is encountered, - at least one *RESET* status will be returned. Once NO_ERROR is again - encountered, the application can safely destroy the old context and - create a new one. - - After a reset event, apps should not use a context for any purpose - other than determining its reset status, and then destroying it. If a - context receives a reset event, all other contexts in its share group - will also receive reset events, and should be destroyed and - recreated. - - Apps should be cautious in interpreting the GUILTY and INNOCENT reset - statuses. These are guidelines to the immediate cause of a reset, but - not guarantees of the ultimate cause. - - 6. If a graphics reset occurs in a shared context, what happens in - shared contexts? - - RESOLVED: A reset in one context will result in a reset in all other - contexts in its share group. - - 7. How can an application query for robust buffer access support, - since this is now determined at context creation time? - - RESOLVED. The application can query the value of ROBUST_ACCESS_EXT - using GetIntegerv. If true, this functionality is enabled. - - 8. How is the reset notification behavior controlled? - - RESOLVED: Reset notification behavior is determined at context - creation time using EGL/GLX/WGL/etc. mechanisms. In order that shared - objects be handled predictably, a context cannot share with - another context unless both have the same reset notification - behavior. - - -Revision History - - Rev. Date Author Changes - ---- ------------ --------- ---------------------------------------- - 3 31 Oct 2011 groth Reverted to attribute for robust access. Now it's a - companion to rather than subset of KHR_create_context - 2 11 Oct 2011 groth Merged ANGLE and NV extensions. - Convert to using flag to indicate robust access. - 1 15 July 2011 groth Initial version diff --git a/extensions/EXT_shader_framebuffer_fetch.txt b/extensions/EXT_shader_framebuffer_fetch.txt deleted file mode 100644 index 4a9bed217..000000000 --- a/extensions/EXT_shader_framebuffer_fetch.txt +++ /dev/null @@ -1,263 +0,0 @@ -Name - - EXT_shader_framebuffer_fetch - -Name Strings - - GL_EXT_shader_framebuffer_fetch - -Contact - - Benj Lipchak, Apple (lipchak 'at' apple.com) - -Status - - Complete - -Version - - Last Modified Date: May 28, 2013 - Author Revision: 4 - -Number - - OpenGL ES Extension #122 - -Dependencies - - OpenGL ES 2.0 is required. - - This specification is written against the OpenGL ES 2.0.24 specification. - This extension is written against the OpenGL ES Shading Language 1.0.17 - specification. - - OpenGL ES 3.0 affects the definition of this extension. - -Overview - - Conventional OpenGL blending provides a configurable series of operations - that can be used to combine the output values from a fragment shader with - the values already in the framebuffer. While these operations are - suitable for basic image compositing, other compositing operations or - operations that treat fragment output as something other than a color - (normals, for instance) may not be expressible without multiple passes or - render-to-texture operations. - - This extension provides a mechanism whereby a fragment shader may read - existing framebuffer data as input. This can be used to implement - compositing operations that would have been inconvenient or impossible with - fixed-function blending. It can also be used to apply a function to the - framebuffer color, by writing a shader which uses the existing framebuffer - color as its only input. - -Issues - - 1. How is framebuffer data treated during multisample rendering? - - RESOLVED: Reading the value of gl_LastFragData produces a different - result for each sample. This implies that all or part of the shader be run - once for each sample. Input values to the shader from existing variables - in GLSL ES remain identical across samples. - - 2. How does the use of gl_LastFragData interact with fragment discard? - - RESOLVED: Hardware may not necessarily support discarding on sample - granularity. Therefore, three options were considered for this - functionality: - - A) Allow discard based on variables calculated using the framebuffer - color when multisample rasterization is disabled, but disallow - discard in this manner when multisample rasterization is enabled. - - B) Restrict usage of the framebuffer color until it is known whether - or not the pixel will be discarded. - - C) Allow undefined results for fragment shaders that discard on a - per-sample basis on hardware that doesn't support it. - - This extension has chosen option C. Restricting orthogonality of fragment - shaders between single-sample and multisample rendering is undesirable, as - is restricting usage of the framebuffer color, which can generally only be - done with detailed flow-control analysis. - - 3. What is the precision of gl_LastFragData in practice? - - RESOLVED: Three options were considered for this functionality: - - A) gl_LastFragData is always mediump. - - B) gl_LastFragData takes the precision most closely matching the - actual storage format of the framebuffer. - - C) Allow redeclaration of gl_LastFragData in order to change its - precision. - - This extension has chosen option C. A fixed precision per option A - increases the likelihood of redundant conversion operations in the shader, - and option B does not provide for clear behavior with regard to the - precision of intermediate results from calculations using the - framebuffer color. - - 4. How does this extension iteract with conventional blending? - - RESOLVED: There is no interaction. The two remain orthogonal. The rest - of the pipeline continues as usual after the fragment shader stage. - - - 5. How does this extension work in ES 3.0? - - RESOLVED: Differently than in ES 2.0. - - The built-in fragment outputs of ES 2.0 are replaced in #version 300 es - shaders by user-declared outputs, to accomodate integer and MRT - framebuffers. Three options were considered: - - A) Add built-ins similar to gl_LastFragData. - - B) Add a layout to mark user-declared fragment outputs as having - defined content on entry to fragment shader. - - C) Allow marking user-declared fragment outputs as "inout". - - This extension has chosen option C. Adding built-ins per option A is - unwieldy for MRT framebuffers with mixed attachment types and precisions. - Options B and C are semantically identical, but C requires fewer - modifications to the specification and to user shaders. Note that the - inout qualifier is not allowed for re-declaring existing fragment outputs - such as gl_FragDepth. - -New Procedures and Functions - - None - -New Tokens - - Accepted by the parameter of GetBooleanv, GetIntegerv, GetFloatv, - and GetDoublev: - - FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT 0x8A52 - -New Builtin Variables - - mediump vec4 gl_LastFragData[gl_MaxDrawBuffers] - -Changes to the OpenGL ES 2.0.24 Specification, Chapter 3 - - Remove the last sentence of Paragraph 2 of Section 3.8.1, page 84 ("These - built-in varying variables include [...]" and add: - - These built-in varying variables include the fragment's position, eye z - coordinate, and front-facing flag, as well as the last data or color value - written to the framebuffer. When the value of SAMPLE_BUFFERS is 1 and the - current framebuffer color is accessed in the fragment shader, the fragment - shader will be invoked separately for each covered sample and a separate - value for the previous framebuffer color will be provided for each sample." - - Add a new subsection to section 3.8.2, page 87 ("Shader Execution"): - - "Discard - - Fragment shaders may conditionally abandon operations using the discard - keyword. However, the ability of hardware to support abandoning operations - on a single sample when the shader is invoked once for each covered sample - is implementation-dependent. This capability can be determined by calling - GetBooleanv with the symbolic constant - FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT. If FALSE is returned, results from - shaders which discard based on per-sample logic are undefined." - -Changes to the OpenGL ES 2.0.24 Specification, Chapter 4 - - Replace first element of Figure 4.1, page 90 ("Fragment + Associated Data"): - - "Fragment (or sample) + Associated Data" - -New Implementation Dependent State - - Add to table 6.19 (Implementation Dependent Values (cont.)): - - Get Value Type Get Command Minimum Value Description Section - --------- ---- ----------- ------------- -------------- ------- - FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT B GetBooleanv - Samples may be 3.8.2 - discarded - individually - -Changes to the OpenGL ES Shading Language 1.0.17 Specification, Chapter 3 - - Remove Paragraph 2 of section 3.8, page 17, Identifiers ("Identifiers - starting with "gl_" are reserved [...]") and add: - - "Identifiers starting with "gl_" are reserved for use by OpenGL ES, and - may not be declared in a shader as either a variable or a function. - However, as noted in the specification, certain predeclared "gl_" names - are allowed to be redeclared in a shader for the specific purpose of - changing their precision qualifier." - -Changes to the OpenGL ES Shading Language 1.0.17 Specification, Chapter 7 - - Add after the last sentence of Paragraph 2 of Section 7.2, page 60, - Fragment Shader Special Variables ("These variables may be written to - more [...]"): - - "... To access the existing framebuffer values (e.g., to implement a - complex blend operation inside the shader), fragment shaders should use - the read-only input array gl_LastFragData. gl_LastFragData returns the - value written by the most recent fragment at the same position. - - Access to gl_LastFragData is optional, and must be enabled by - - #extension GL_EXT_shader_framebuffer_fetch : - - Where is as specified in section 3.3. - - By default, gl_LastFragData is declared with the mediump precision - qualifier. This can be changed by redeclaring the corresponding variables - with the desired precision qualifier. - - Redeclarations are done as follows - - // Redeclaration that changes nothing is allowed - mediump vec4 gl_LastFragData[gl_MaxDrawBuffers]; - - // All the following are allowed redeclaration that change behavior - lowp vec4 gl_LastFragData[gl_MaxDrawBuffers]; - highp vec4 gl_LastFragData[gl_MaxDrawBuffers]; - - Redeclarations must not otherwise alter the declared type or array size of - gl_LastFragData." - -Changes to the OpenGL ES Shading Language 3.00.3 Specification, Chapter 4 - - Modify Paragraph 2 of section 4.3.6: - "Except in the fragment stage, there is not an inout storage qualifier at - global scope for declaring a single variable name as both input and output - [...]" - - Modify Paragraph 5 of section 4.3.6: - "Fragment outputs output per-fragment data and are declared using the out - or inout storage qualifier. It is an error to use centroid out or centroid - inout in a fragment shader [...]" and append new paragraph: - - "Upon entry to the fragment shader, fragment outputs declared as inout will - contain the value written by the most recent fragment at the same position. - This behavior, and the ability to use the inout qualifier at global scope - in a fragment shader, is optional and must be enabled by - - #extension GL_EXT_shader_framebuffer_fetch : - - Where is as specified in section 3.4." - -Interactions with OES_standard_derivatives - - Results from shaders which use the built-in derivative functions dFdx, - dFdy, and fwidth on variables calculated using the current framebuffer - color are undefined. - -Revision History - - Version 4, 2013/05/28 - Added ES3 interaction as requested in Bug 10236 - Version 3, 2012/09/24 - Remove obsolete issue 3 about derivatives - Version 2, 2012/06/21 - Fix MULTISAMPLE enabled -> SAMPLE_BUFFERS = 1, - recast from APPLE to multivendor EXT, clarify that - gl_LastFragData reflects value written by previous - pixel at same coordinates. - Version 1, 2012/06/01 - Conversion from ARB_sync to APPLE_sync for ES. \ No newline at end of file diff --git a/extensions/EXT_texture_rg.txt b/extensions/EXT_texture_rg.txt deleted file mode 100644 index 968b28d10..000000000 --- a/extensions/EXT_texture_rg.txt +++ /dev/null @@ -1,195 +0,0 @@ -Name - - EXT_texture_rg - -Name Strings - - GL_EXT_texture_rg - -Contributors - - Contributors to ARB_texture_rg, on which this extension is based - Kyle Haughey - Richard Schreyer - -Contact - - Benj Lipchak, Apple (lipchak 'at' apple.com) - -Status - - Complete - -Version - - Date: July 22, 2011 - Revision: 3 - -Number - - OpenGL ES Extension #103 - -Dependencies - - Requires OpenGL ES 2.0. - - Written based on the wording of the OpenGL ES 2.0.25 Full Specification - (November 2, 2010). - - OES_texture_float affects the definition of this extension. - - OES_texture_half_float affects the definition of this extension. - - APPLE_framebuffer_multisample affects the definition of this extension. - -Overview - - Historically one- and two-component textures have been specified in OpenGL - ES using the luminance or luminance-alpha (L/LA) formats. With the advent - of programmable shaders and render-to-texture capabilities these legacy - formats carry some historical artifacts which are no longer useful. - - For example, when sampling from such textures, the luminance values are - replicated across the color components. This is no longer necessary with - programmable shaders. - - It is also desirable to be able to render to one- and two-component format - textures using capabilities such as framebuffer objects (FBO), but - rendering to L/LA formats is under-specified (specifically how to map - R/G/B/A values to L/A texture channels). - - This extension adds new base internal formats for one-component RED and - two-component RG (red green) textures as well as sized RED and RG internal - formats for renderbuffers. The RED and RG texture formats can be used for - both texturing and rendering into with framebuffer objects. - -New Procedures and Functions - - None - -New Tokens - - Accepted by the parameter of TexImage2D and CopyTexImage2D, - and the parameter of TexImage2D, TexSubImage2D, and ReadPixels: - - RED_EXT 0x1903 - RG_EXT 0x8227 - - Accepted by the parameter of RenderbufferStorage and - RenderbufferStorageMultisampleAPPLE: - - R8_EXT 0x8229 - RG8_EXT 0x822B - -Additions to Chapter 2 of the OpenGL ES 2.0 Specification (OpenGL ES Operation) - - None - -Additions to Chapter 3 of the OpenGL ES 2.0 Specification (Rasterization) - - (Add the following to Table 3.3: "TexImage2D and ReadPixels formats") - - Format Name Element Meaning and Order Target Buffer - ----------- ------------------------- ------------- - RED_EXT R Color - RG_EXT R, G Color - - (Add the following to Table 3.4: "Valid pixel format and type combinations") - (as modified by OES_texture_float and OES_texture_half_float) - - Format Type Bytes per Pixel - ----------- ------------------------- --------------- - RED_EXT FLOAT 4 - RED_EXT HALF_FLOAT_OES 2 - RED_EXT UNSIGNED_BYTE 1 - RG_EXT FLOAT 8 - RG_EXT HALF_FLOAT_OES 4 - RG_EXT UNSIGNED_BYTE 2 - - (Add the following to Table 3.8: "Conversion from RGBA and depth pixel - components to internal texture") - - Base Internal Format RGBA Internal Components - -------------------- ------ ------------------- - RED_EXT R R - RG_EXT R,G R,G - - (Modify Table 3.9: "CopyTexImage internal format/color buffer combinations") - - Texture Format - Color Buffer A L LA R RG RGB RGBA - ------------ - - -- - -- --- ---- - A X - R X X - RG X X X - RGB X X X X - RGBA X X X X X X X - - (Add the following to Table 3.12: "Correspondence of filtered texture - components to texture source color components") - - Texture Base Texture source color - Internal Format C_s A_s - --------------- ------------- ------ - RED_EXT (R_t, 0, 0) 1 - RG_EXT (R_t, G_t, 0) 1 - -Additions to Chapter 4 of the OpenGL ES 2.0 Specification (Per-Fragment -Operations and the Framebuffer) - - In section 4.3.1 "Reading Pixels", subsection "Obtaining Pixels from the - Framebuffer", modify the last sentence to read: - - "If the framebuffer does not support G, B, or A values then the G, B, and A - values that are obtained are 0.0, 0.0, and 1.0 respectively." - - In section 4.4.5 "Framebuffer Completeness", modify the last sentence of - the second paragraph to read: - - "Color-renderable formats contain red, and possibly green, blue, and alpha - components; depth-renderable formats contain depth components; and - stencil-renderable formats contain stencil components." - - (Add the following to Table 4.5: "Renderbuffer image formats, showing their - renderable type (color-, depth-, or stencil-renderable) and the number of - bits each format contains for color (R, G, B, A), depth (D), and stencil - (S) components") - - Sized Internal Renderable Type R bits G bits B bits A bits D bits S bits - Format - -------------- ---------------- ------ ------ ------ ------ ------ ------ - R8_EXT color-renderable 8 - RG8_EXT color-renderable 8 8 - -Additions to Chapter 5 of the OpenGL ES 2.0 Specification (Special Functions) - - None - -Additions to Chapter 6 of the OpenGL ES 2.0 Specification (State and State -Requests) - - None - -Dependencies on OES_texture_float - - If OES_texture_float is not supported, then omit the rows of - Table 3.4 that have Type FLOAT. - -Dependencies on OES_texture_half_float - - If OES_texture_half_float is not supported, then omit the rows of - Table 3.4 that have Type HALF_FLOAT_OES. - -Dependencies on APPLE_framebuffer_multisample - - If APPLE_framebuffer_multisample is not supported, then all references to - RenderbufferStorageMultisampleAPPLE should be ignored. - -Revision History - - #1 February 22, 2011, khaughey - - initial version adapted from ARB_texture_rg. - #2 June 16, 2011, benj - - add interaction with APPLE_framebuffer_multisample - #3 July 22, 2011, benj - - rename from APPLE to EXT diff --git a/extensions/EXT_texture_storage.txt b/extensions/EXT_texture_storage.txt deleted file mode 100644 index fd629e7b3..000000000 --- a/extensions/EXT_texture_storage.txt +++ /dev/null @@ -1,1090 +0,0 @@ -Name - - EXT_texture_storage - -Name Strings - - GL_EXT_texture_storage - -Contact - - Bruce Merry (bmerry 'at' gmail.com) - Ian Romanick, Intel (ian.d.romanick 'at' intel.com) - -Contributors - - Jeremy Sandmel, Apple - Bruce Merry, ARM - Tom Olson, ARM - Benji Bowman, Imagination Technologies - Ian Romanick, Intel - Jeff Bolz, NVIDIA - Pat Brown, NVIDIA - Maurice Ribble, Qualcomm - Lingjun Chen, Qualcomm - Daniel Koch, Transgaming Inc - -Status - - Complete. - -Version - - Last Modified Date: November 11, 2011 - Author Revision: 24 - -Number - - OpenGL ES Extension #108 - -Dependencies - - OpenGL ES 1.0, OpenGL ES 2.0 or OpenGL 1.2 is required. - - OES_texture_npot, OES_texture_cube_map, OES_texture_3D, - OES_depth_texture, OES_packed_depth_stencil, - OES_compressed_paletted_texture, OES_texture_float, OES_texture_half_float - EXT_texture_type_2_10_10_10_REV, EXT_texture_format_BGRA8888, - EXT_texture3D, OES_texture_npot, APPLE_texture_2D_limited_npot, - ARB_texture_cube_map, ARB_texture_cube_map_array, - ARB_texture_rectangle, SGIS_generate_mipmap, - EXT_direct_state_access, OES_EGL_image, WGL_ARB_render_texture, - GLX_EXT_texture_from_pixmap, and core specifications that - incorporate these extensions affect the definition of this - extension. - - This extension is written against the OpenGL 3.2 Core Profile - specification. - -Overview - - The texture image specification commands in OpenGL allow each level - to be separately specified with different sizes, formats, types and - so on, and only imposes consistency checks at draw time. This adds - overhead for implementations. - - This extension provides a mechanism for specifying the entire - structure of a texture in a single call, allowing certain - consistency checks and memory allocations to be done up front. Once - specified, the format and dimensions of the image array become - immutable, to simplify completeness checks in the implementation. - - When using this extension, it is no longer possible to supply texture - data using TexImage*. Instead, data can be uploaded using TexSubImage*, - or produced by other means (such as render-to-texture, mipmap generation, - or rendering to a sibling EGLImage). - - This extension has complicated interactions with other extensions. - The goal of most of these interactions is to ensure that a texture - is always mipmap complete (and cube complete for cubemap textures). - -IP Status - - No known IP claims - -New Procedures and Functions - - void TexStorage1DEXT(enum target, sizei levels, - enum internalformat, - sizei width); - - void TexStorage2DEXT(enum target, sizei levels, - enum internalformat, - sizei width, sizei height); - - void TexStorage3DEXT(enum target, sizei levels, - enum internalformat, - sizei width, sizei height, sizei depth); - - void TextureStorage1DEXT(uint texture, enum target, sizei levels, - enum internalformat, - sizei width); - - void TextureStorage2DEXT(uint texture, enum target, sizei levels, - enum internalformat, - sizei width, sizei height); - - void TextureStorage3DEXT(uint texture, enum target, sizei levels, - enum internalformat, - sizei width, sizei height, sizei depth); - -New Types - - None - -New Tokens - - Accepted by the parameter of GetTexParameter{if}v: - - TEXTURE_IMMUTABLE_FORMAT_EXT 0x912F - - Accepted by the parameter of TexStorage* when - implemented on OpenGL ES: - - ALPHA8_EXT 0x803C /* reuse tokens from EXT_texture */ - LUMINANCE8_EXT 0x8040 - LUMINANCE8_ALPHA8_EXT 0x8045 - - (if OES_texture_float is supported) - RGBA32F_EXT 0x8814 /* reuse tokens from ARB_texture_float */ - RGB32F_EXT 0x8815 - ALPHA32F_EXT 0x8816 - LUMINANCE32F_EXT 0x8818 - LUMINANCE_ALPHA32F_EXT 0x8819 - - (if OES_texture_half_float is supported) - RGBA16F_EXT 0x881A /* reuse tokens from ARB_texture_float */ - RGB16F_EXT 0x881B - ALPHA16F_EXT 0x881C - LUMINANCE16F_EXT 0x881E - LUMINANCE_ALPHA16F_EXT 0x881F - - (if EXT_texture_type_2_10_10_10_REV is supported) - RGB10_A2_EXT 0x8059 /* reuse tokens from EXT_texture */ - RGB10_EXT 0x8052 - - (if EXT_texture_format_BGRA8888 is supported) - BGRA8_EXT 0x93A1 - - -Additions to Chapter 2 of the OpenGL 3.2 Core Profile Specification -(OpenGL Operation) - - None - -Additions to Chapter 3 of the OpenGL 3.2 Core Profile Specification -(Rasterization) - - After section 3.8.1 (Texture Image Specification) add a new - subsection called "Immutable-format texture images": - - "An alterative set of commands is provided for specifying the - properties of all levels of a texture at once. Once a texture is - specified with such a command, the format and dimensions of all - levels becomes immutable, unless it is a proxy texture (since - otherwise it would no longer be possible to use the proxy). The - contents of the images and the parameters can still be modified. - Such a texture is referred to as an "immutable-format" texture. The - immutability status of a texture can be determined by calling - GetTexParameter with TEXTURE_IMMUTABLE_FORMAT_EXT. - - Each of the commands below is described by pseudo-code which - indicates the effect on the dimensions and format of the texture. - For all of the commands, the following apply in addition to the - pseudo-code: - - - If the default texture object is bound to , an - INVALID_OPERATION error is generated. - - If executing the pseudo-code would lead to an error, the error is - generated and the command will have no effect. - - Any existing levels that are not replaced are reset to their - initial state. - - If , , or is less than 1, the - error INVALID_VALUE is generated. - - Since no pixel data are provided, the and values - used in the pseudo-code are irrelevant; they can be considered to - be any values that are legal to use with . - - If the command is successful, TEXTURE_IMMUTABLE_FORMAT_EXT becomes - TRUE. - - If is a specific compressed texture format, then - references to TexImage* should be replaced by CompressedTexImage*, - with , and replaced by any valid and - . If there is no for which this command would have - been valid, an INVALID_OPERATION error is generated [fn: This - condition is not required for OpenGL, but is necessary for OpenGL - ES which does not support on-the-fly compression.] - - If is one of the internal formats listed in table - 3.11, an INVALID_ENUM error is generated. [fn: The corresponding table - in OpenGL ES 2.0 is table 3.8.] - - The command - - void TexStorage1DEXT(enum target, sizei levels, - enum internalformat, - sizei width); - - specifies all the levels of a one-dimensional texture (or proxy) at - the same time. It is described by the pseudo-code below: - - for (i = 0; i < levels; i++) - { - TexImage1D(target, i, internalformat, width, 0, - format, type, NULL); - width = max(1, floor(width / 2)); - } - - If is not TEXTURE_1D or PROXY_TEXTURE_1D then INVALID_ENUM - is generated. If is greater than floor(log_2(width)) + 1 - then INVALID_OPERATION is generated. - - The command - - void TexStorage2DEXT(enum target, sizei levels, - enum internalformat, - sizei width, sizei height); - - specifies all the levels of a two-dimensional, cube-map, - one-dimension array or rectangle texture (or proxy) at the same - time. The pseudo-code depends on the : - - [PROXY_]TEXTURE_2D, [PROXY_]TEXTURE_RECTANGLE or - PROXY_TEXTURE_CUBE_MAP: - - for (i = 0; i < levels; i++) - { - TexImage2D(target, i, internalformat, width, height, 0, - format, type, NULL); - width = max(1, floor(width / 2)); - height = max(1, floor(height / 2)); - } - - TEXTURE_CUBE_MAP: - - for (i = 0; i < levels; i++) - { - for face in (+X, -X, +Y, -Y, +Z, -Z) - { - TexImage2D(face, i, internalformat, width, height, 0, - format, type, NULL); - } - width = max(1, floor(width / 2)); - height = max(1, floor(height / 2)); - } - - [PROXY_]TEXTURE_1D_ARRAY: - - for (i = 0; i < levels; i++) - { - TexImage2D(target, i, internalformat, width, height, 0, - format, type, NULL); - width = max(1, floor(width / 2)); - } - - If is not one of those listed above, the error INVALID_ENUM - is generated. - - The error INVALID_OPERATION is generated if any of the following - conditions hold: - - is [PROXY_]TEXTURE_1D_ARRAY and is greater than - floor(log_2(width)) + 1 - - is not [PROXY_]TEXTURE_1D_ARRAY and is greater - than floor(log_2(max(width, height))) + 1 - - The command - - void TexStorage3DEXT(enum target, sizei levels, enum internalformat, - sizei width, sizei height, sizei depth); - - specifies all the levels of a three-dimensional, two-dimensional - array texture, or cube-map array texture (or proxy). The pseudo-code - depends on : - - [PROXY_]TEXTURE_3D: - - for (i = 0; i < levels; i++) - { - TexImage3D(target, i, internalformat, width, height, depth, 0, - format, type, NULL); - width = max(1, floor(width / 2)); - height = max(1, floor(height / 2)); - depth = max(1, floor(depth / 2)); - } - - [PROXY_]TEXTURE_2D_ARRAY, [PROXY_]TEXTURE_CUBE_MAP_ARRAY_ARB: - - for (i = 0; i < levels; i++) - { - TexImage3D(target, i, internalformat, width, height, depth, 0, - format, type, NULL); - width = max(1, floor(width / 2)); - height = max(1, floor(height / 2)); - } - - If is not one of those listed above, the error INVALID_ENUM - is generated. - - The error INVALID_OPERATION is generated if any of the following - conditions hold: - - is [PROXY_]TEXTURE_3D and is greater than - floor(log_2(max(width, height, depth))) + 1 - - is [PROXY_]TEXTURE_2D_ARRAY or - [PROXY_]TEXTURE_CUBE_MAP_ARRAY_EXT and is greater than - floor(log_2(max(width, height))) + 1 - - After a successful call to any TexStorage* command with a non-proxy - target, the value of TEXTURE_IMMUTABLE_FORMAT_EXT for this texture - object is set to TRUE, and no further changes to the dimensions or - format of the texture object may be made. Other commands may only - alter the texel values and texture parameters. Using any of the - following commands with the same texture will result in the error - INVALID_OPERATION being generated, even if it does not affect the - dimensions or format: - - - TexImage* - - CompressedTexImage* - - CopyTexImage* - - TexStorage* - - The TextureStorage* commands operate identically to the - corresponding command where "Texture" is substituted for "Tex" - except, rather than updating the current bound texture for the - texture unit indicated by the current active texture state and the - target parameter, these "Texture" commands update the texture object - named by the initial texture parameter. The error INVALID_VALUE - is generated if is zero. - " - - In section 3.8.6 (Texture Parameters), after the sentence - - "In the remainder of section 3.8, denote by lod_min, lod_max, - level_base, and level_max the values of the texture parameters - TEXTURE_MIN_LOD, TEXTURE_MAX_LOD, TEXTURE_BASE_LEVEL, and - TEXTURE_MAX_LEVEL respectively." - - add - - "However, if TEXTURE_IMMUTABLE_FORMAT_EXT is - TRUE, then level_base is clamped to the range [0, - 1] and - level_max is then clamped to the range [level_base, - 1], - where is the parameter passed the call to TexStorage* for - the texture object. - - In section 3.8.9 (Rendering feedback loops) replace all references - to TEXTURE_BASE_LEVEL by level_base. - - In section 3.8.9 (Mipmapping), replace the paragraph starting "Each - array in a mipmap is defined..." by - - "Each array in a mipmap is defined using TexImage3D, TexImage2D, - CopyTexImage2D, TexImage1D, CopyTexImage1D, or by functions that are - defined in terms of these functions. Level-of-detail numbers proceed - from level_base for the original texel array through the maximum - level p, with each unit increase indicating an array of half the - dimensions of the previous one (rounded down to the next integer if - fractional) as already described. For immutable-format textures, - p is one less than the parameter passed to TexStorage*; - otherwise p = floor(log_2(maxsize)) + level_base. All arrays from - level_base through q = min(p, level_max) must be defined, as - discussed in section 3.8.12." - - In section 3.8.12 (Texture Completeness), modify the last sentence - to avoid refering to level_base and level_max: - - "An implementation may allow a texture image array of level 1 or - greater to be created only if a mipmap complete set of image arrays - consistent with the requested array can be supported where the - values of TEXTURE_BASE_LEVEL and TEXTURE_MAX_LEVEL are 0 and 1000 - respectively." - - Modify section 3.8.13 (Texture State and Proxy State) to add the new - state: - - "Each set consists of ..., and a boolean flag indicating whether the - format and dimensions of the texture are immutable." - - Add - "The initial value of TEXTURE_IMMUTABLE_FORMAT_EXT is FALSE." - -Additions to Chapter 4 of the OpenGL 3.2 Core Profile Specification -(Per-Fragment Operations and the Frame Buffer) - - None - -Additions to Chapter 5 of the OpenGL 3.2 Compatibility Profile Specification -(Special Functions) - - In section 5.4.1 (Commands Not Usable in Display Lists), add - TexStorage* to the list of commands that cannot be used. - -Additions to Chapter 6 of the OpenGL 3.2 Core Profile Specification -(State and State Requests) - - Replace the following statement in 6.1.3 (Enumerated Queries): - - " must be one of the symbolic values in table 3.10." - - with - - " must be TEXTURE_IMMUTABLE_FORMAT_EXT or one of the symbolic - values in table 3.22." - -Additions to the AGL/EGL/GLX/WGL Specifications - - None - -Additions to OES_compressed_ETC1_RGB8_texture - - Add the following to the additions to Chapter 3: - - "Since ETC1 images are easily edited along 4x4 texel boundaries, the - limitations on CompressedTexSubImage2D are relaxed. - CompressedTexSubImage2D will result in an INVALID_OPERATION error - only if one of the following conditions occurs: - - * is not a multiple of four, and plus is not - equal to the texture width; - - * is not a multiple of four, and plus is - not equal to the texture height; or - - * or is not a multiple of four. - - Remove CompressedTexSubImage2D from this error: - - "INVALID_OPERATION is generated by CompressedTexSubImage2D, - TexSubImage2D, or CopyTexSubImage2D if the texture image - bound to has internal format ETC1_RGB8_OES." - - Add the following error: - - "INVALID_OPERATION is generated by CompressedTexSubImage2D - if the region to be modified is not aligned to block boundaries - (refer to the extension text for details)." - -Additions to AMD_compressed_ATC_texture and AMD_compressed_3DC_texture: - - Apply the same changes as for OES_compressed_ETC1_RGB8_texture - above, substituting the appropriate internal format tokens from - these extensions. - -Dependencies on EXT_direct_state_access - - If EXT_direct_state_access is not present, references to - TextureStorage* should be ignored. - -Dependencies on OpenGL ES - - On OpenGL ES without extensions introducing TEXTURE_MAX_LEVEL, - mipmapped textures specified with TexStorage are required to have a - full set of mipmaps. If TEXTURE_MAX_LEVEL is not supported, this - extension is modified as follows: - - - Where an upper bound is placed on in this extension (i.e. - the maximum number of mipmap levels for a texture of the given - target and dimensions), an INVALID_OPERATION error is generated if - is neither 1 nor this upper bound. - - q (the effective maximum number of levels) is redefined to clamp - to the number of levels present in immutable-format textures. - - OpenGL ES does not accept sized internal formats (e.g., RGBA8) and - instead derives an internal format from the and - parameters of TexImage2D. Since TexStorage* does not specify texel - data, the API doesn't include and parameters. - On an OpenGL ES implementation, the values in the - column in the tables below are accepted as - parameters, and base internal formats are not accepted. The - TexImage* calls in the TexStorage* pseudocode are modified so that - the , and parameters are - taken from the , and columns (respectively) - in the tables below, according to the - specified in the TexStorage* command. - - - ---------------- -------- ------ - RGB565 RGB UNSIGNED_SHORT_5_6_5 - RGBA4 RGBA UNSIGNED_SHORT_4_4_4_4 - RGB5_A1 RGBA UNSIGNED_SHORT_5_5_5_1 - RGB8_OES RGB UNSIGNED_BYTE - RGBA8_OES RGBA UNSIGNED_BYTE - LUMINANCE8_ALPHA8_EXT LUMINANCE_ALPHA UNSIGNED_BYTE - LUMINANCE8_EXT LUMINANCE UNSIGNED_BYTE - ALPHA8_EXT ALPHA UNSIGNED_BYTE - - If OES_depth_texture is supported: - - - ---------------- -------- ------ - DEPTH_COMPONENT16_OES DEPTH_COMPONENT UNSIGNED_SHORT - DEPTH_COMPONENT32_OES DEPTH_COMPONENT UNSIGNED_INT - - If OES_packed_depth_stencil is supported: - - - ---------------- -------- ------ - DEPTH24_STENCIL8_OES DEPTH_STENCIL_OES UNSIGNED_INT - - If OES_texture_float is supported: - - - ---------------- -------- ------ - RGBA32F_EXT RGBA FLOAT - RGB32F_EXT RGB FLOAT - LUMINANCE_ALPHA32F_EXT LUMINANCE_ALPHA FLOAT - LUMINANCE32F_EXT LUMINANCE FLOAT - ALPHA32F_EXT ALPHA FLOAT - - If OES_texture_half_float is supported: - - - ---------------- -------- ------ - RGBA16F_EXT RGBA HALF_FLOAT_OES - RGB16F_EXT RGB HALF_FLOAT_OES - LUMINANCE_ALPHA16F_EXT LUMINANCE_ALPHA HALF_FLOAT_OES - LUMINANCE16F_EXT LUMINANCE HALF_FLOAT_OES - ALPHA16F_EXT ALPHA HALF_FLOAT_OES - - If EXT_texture_type_2_10_10_10_REV is supported: - - - ---------------- -------- ------ - RGB10_A2_EXT RGBA UNSIGNED_INT_2_10_10_10_REV_EXT - RGB10_EXT RGB UNSIGNED_INT_2_10_10_10_REV_EXT - - If EXT_texture_format_BGRA8888 is supported: - - - ---------------- -------- ------ - BGRA8_EXT BGRA_EXT UNSIGNED_BYTE - - -Dependencies on texture targets - - If a particular texture target is not supported by the - implementation, passing it as a to TexStorage* will - generate an INVALID_ENUM error. If as a result, any of the commands - defined in this extension would no longer have any valid , - all references to the command should be ignored. - - In particular, note that OpenGL ES 1.x/2.0 do not have proxy textures, - 1D textures, or 3D textures, and thus only the TexStorage2DEXT - entry point is required. If OES_texture_3D is supported, the - TexStorage3DEXT entry point is also required. - -Dependencies on OES_texture_npot - - If OpenGL ES 2.0 or APPLE_texture_2D_limited_npot is present but - OES_texture_npot is not present, then INVALID_OPERATION is - generated by TexStorage* and TexStorage3DEXT if is - not one and , or is not a power of - two. - -Dependencies on WGL_ARB_render_texture, GLX_EXT_texture_from_pixmap, EGL -1.4 and GL_OES_EGL_image - - The commands eglBindTexImage, wglBindTexImageARB, glXBindTexImageEXT or - EGLImageTargetTexture2DOES are not permitted on an immutable-format - texture. - They will generate the following errors: - - EGLImageTargetTexture2DOES: INVALID_OPERATION - - eglBindTexImage: EGL_BAD_MATCH - - wglBindTexImage: ERROR_INVALID_OPERATION - - glXBindTexImageEXT: BadMatch - -Dependencies on OES_compressed_paletted_texture - - The compressed texture formats exposed by - OES_compressed_paletted_texture are not supported by TexStorage*. - Passing one of these tokens to TexStorage* will generate an - INVALID_ENUM error. - -Errors - - Note that dependencies above modify the errors. - - If TexStorage* is called with a , , or - parameter that is less than one, then the error - INVALID_VALUE is generated. - - If the parameter to TexStorage1DEXT is not - [PROXY_]TEXTURE_1D, then the error INVALID_ENUM is generated. - - If the parameter to TexStorage2DEXT is not - [PROXY_]TEXTURE_2D, [PROXY_]TEXTURE_CUBE_MAP, - [PROXY_]TEXTURE_RECTANGLE or [PROXY_]TEXTURE_1D_ARRAY, then the - error INVALID_ENUM is generated. - - If the parameter to TexStorage3DEXT is not - [PROXY_]TEXTURE_3D, [PROXY_]TEXTURE_2D_ARRAY or - [PROXY_]TEXTURE_CUBE_MAP_ARRAY then the error INVALID_ENUM is - generated. - - If the parameter to TexStorage* is greater than the - -specific value listed below then the error - INVALID_OPERATION is generated: - [PROXY_]TEXTURE_{1D,1D_ARRAY}: - floor(log_2(width)) + 1 - [PROXY_]TEXTURE_{2D,2D_ARRAY,CUBE_MAP,CUBE_MAP_ARRAY}: - floor(log_2(max(width, height))) + 1 - [PROXY_]TEXTURE_3D: - floor(log_2(max(width, height, depth))) + 1 - [PROXY_]TEXTURE_RECTANGLE: - 1 - - If the default texture object is bound to the passed to - TexStorage*, then the error INVALID_OPERATION is generated. - - If the parameter to TextureStorage* does not match the - dimensionality of , then the error INVALID_OPERATION is - generated. - - If the parameter to TextureStorage* is zero, then the - INVALID_VALUE is generated. - - If any pseudo-code listed in this extension would generate an error, - then that error is generated. - - Calling any of the following functions on a texture for which - TEXTURE_IMMUTABLE_FORMAT_EXT is TRUE will generate an - INVALID_OPERATION error: - - TexImage* - - CompressedTexImage* - - CopyTexImage* - -New State - - Additions to Table 6.8 Textures (state per texture object) - - Initial - Get Value Type Get Command Value Description Sec. - --------- ---- ----------- ------- ----------- ---- - TEXTURE_IMMUTABLE_FORMAT_EXT B GetTexParameter FALSE Size and format immutable 2.6 - -New Implementation Dependent State - - None - -Issues - - 1. What should this extension be called? - - RESOLVED: EXT_texture_storage is chosen for consistency with the - glRenderbufferStorage entry point. - - 2. Should TexStorage* accept a border parameter? - - RESOLVED: no. - - DISCUSSION: Currently it does not, since borders are a deprecated - feature which is not supported by all hardware. Users of the - compatibility profile can continue to use the existing texture - specification functions, but there is an argument that users of - compatibility profile may also want to use this extension. - - 3. What is the correct error when specifies a partial - mipmap pyramid for OpenGL ES? - - RESOLVED: INVALID_OPERATION, since it is an interaction between - parameters rather than a single value being invalid. It also makes - sense to relax this condition for desktop GL where it makes sense to - use a truncated pyramid with TEXTURE_MAX_LEVEL. - - 4. Should use of these entry-points make the metadata (format and - dimensions) immutable? - - RESOLVED: Yes. - - DISCUSSION: The benefits of knowing metadata can't change will - probably outweigh the extra cost of checking the - TEXTURE_IMMUTABLE_FORMAT_EXT flag on each texture specification - call. - - 5. Should it be legal to completely replace the texture using a new call - to TexStorage*? - - RESOLVED. It will not be allowed. - - DISCUSSION: This is useful to invalidate all levels of a texture. - Allowing the metadata to be changed here seems easier than trying to - define a portable definition of what it means to change the metadata - (e.g. what if you used an unsized internal format the first time and - the corresponding sized internal format the second time, or vice - versa)? - - However, while this is largely similar to deleting the old texture - object and replacing it with a new one, it does lose some of the - advantages of immutability. Specifically, because doing so does not - reset bindings, it doesn't allow a migration path to an API that - validates the texture format at bind time. - - 6. Should it be legal to use TexImage* after TexStorage* if it doesn't - affect the metadata? - - RESOLVED: No. - - DISCUSSION: A potential use case is to allow a single level of a - texture to be invalidated using a NULL pointer. However, as noted - above it is non-trivial to determine what constitutes a change. - - 7. How does this extension interact with APPLE_texture_2D_limited_npot? - - RESOLVED. APPLE_texture_2D_limited_npot is equivalent to the NPOT - support in OpenGL ES 2.0. - - 8. Should this extension be written to work with desktop OpenGL? - - RESOLVED: Yes. - - DISCUSSION: There has been been interest and it will future-proof it - against further additions to OpenGL ES. - - 9. Which texture targets should be supported? - - RESOLVED. All targets except multisample and buffer textures are - supported. - - Initially all targets except TEXTURE_BUFFER were supported. It was - noted that the entrypoints for multisample targets added no useful - functionality, since multisample textures have no completeness - checks beyond being non-empty. - - Rectangle textures have completeness checks to prevent filtering of - integer textures. However, since we decided to only force mipmap - completeness, this becomes less useful. - - 10. Should this extension support proxy textures? - - RESOLVED: Yes. - - DISCUSSION: It should be orthogonal. - - 11. Are the and parameters necessary? - - RESOLVED. No, they will be removed. - - DISCUSSION: For OpenGL ES the type parameter was necessary to - determine the precision of the texture, but this can be solved by - having these functions accept sized internal formats (which are - already accepted by renderbuffers). - - 12. Should it be legal to make the default texture (id 0) - immutable-format? - - RESOLVED: No. - - DISCUSSION: This would make it impossible to restore the context to - it's default state, which is deemed undesirable. There is no good - reason not to use named texture objects. - - 13. Should we try to guarantee that textures made through this path - will always be complete? - - RESOLVED: It should be guaranteed that the texture will be mipmap - complete. - - DISCUSSION: Future separation between images and samplers will still - allow users to create combinations that are invalid, but - constraining the simple cases will make these APIs easier to use for - beginners. - - 14. Should these functions use a EXT_direct_state_access approach to - specifying the texture objects? - - UNRESOLVED. - - DISCUSSION: as a standalone extension, no DSA-like functions will be - added. However, interactions with EXT_direct_state_access and - ARB_direct_state_access need to be resolved. - - 15. Should these functions accept generic compressed formats? - - RESOLVED: Yes. Note that the spec language will need to be modified - to allow this for ES, since the pseudocode is written in terms of - TexImage2D, which does not allow compressed texture formats in ES. - See also issues 23 and 27. - - 16. How should completeness be forced when TEXTURE_MAX_LEVEL is not - present? - - RESOLVED. The maximum level q will be redefined to clamp to the - highest level available. - - DISCUSSION: A single-level texture can be made complete either by - making it mipmap complete (by setting TEXTURE_MAX_LEVEL to 0) or by - turning off mipmapping (by choose an appropriate minification - filter). - - Some options: - - A: Specify that TexStorage* changes the default minification filter - for OpenGL ES. This makes it awkward to add TEXTURE_MAX_LEVEL - support to OpenGL ES later, since switching to match GL would break - compatibility. The two mechanisms also do not give identical - results, since the magnification threshold depends on the - minification filter. - - B: Specify that the texture behaves as though TEXTURE_MAX_LEVEL were - zero. To specify this properly probably requires fairly intrusive - changes to the OpenGL ES full specification to add back all the - language relating to the max level. It also does not solve the - similar problem of what to do with NPOT textures; and it may have - hardware impacts due to the change in the min/mag crossover. - - C: Specify that TexStorage* changes the default minification filter - for all implementations when a single-level texture is specified. - This may be slightly counter-intuitive to desktop GL users, but will - give consistent behaviour across variants of GL and avoids changing - the functional behaviour of this extension based on the presence or - absence of some other feature. - - Currently B is specified. This has potential hardware implications - for OpenGL ES because of the effect of the minification filter on - the min/mag crossover. However, C has potential hardware implications - for OpenGL due to the separation of texture and sampler state. - - 17. How should completeness be forced when only ES2-style NPOT is - available? - - RESOLVED. It is not worth trying to do this, in light of issue 13. - - Previous revisions of this extension overrode the minification - filter and wrap modes, but that is no longer the case. Since - OES_texture_npot removes the caveats on NPOT textures anyway, it - might not be worth trying to "fix" this. - - 18. For OpenGL ES, how do the new sized internal formats interact - with OES_required_internal_format? - - RESOLVED. - - If OES_required_internal_format is not present, then the - parameter is intended merely to indicate what the - corresponding and would have been, had TexImage* - been used instead. If OES_required_internal_format is present, then - it is intended that the will be interpreted as if - it had been passed directly to TexImage*. - - 19. Should there be some hinting mechanism to indicate whether data - is coming immediately or later? - - RESOLVED. No parameter is needed. An extension can be added to provide - a TexParameter value which is latched at TexStorage time. - - DISCUSSION: Some members felt that this would be useful so that they - could defer allocation when suitable, particularly if higher- - resolution images will be streamed in later; or to choose a memory - type or layout appropriate to the usage. However, implementation - experience with BufferData is that developers frequently provide - wrong values and implementations have to guess anyway. - - One option suggested was the parameter currently passed to - BufferData. Another option was to set it with TexParameter. - - 20. How should this extension interact with - EGLImageTargetTexture2DOES, eglBindTexImage, glXBindTexImage and - wglBindTexImage? - - RESOLVED. These functions will not be permitted after glTexStorage*. - - Several options are possible: - - A) Disallow these functions. - B) Allow them, but have them reset the TEXTURE_IMMUTABLE_FORMAT_EXT - flag. - C) Allow them unconditionally. - - C would violate the design principle that the dimensions and format - of the mipmap array are immutable. B does not so much modify the - dimension and formats as replace them with an entirely different - set. - - 21. Should there be a single function for specifying 1D, 2D and 3D - targets? - - RESOLVED. No, we will stick with existing precedent. - - 22. Is it possible to use GenerateMipmap with an incomplete mipmap - pyramid? - - RESOLVED. Yes, because the effective max level is limited to the - levels that were specified, and so GenerateMipmap does not generate - any new levels. - - However, to make automatic mipmap generation work, it is necessary - to redefine p rather than q, since automatic mipmap generation - ignores the max level. - - 23. How should this extension interact with - OES_compressed_paletted_texture? - - RESOLVED. Paletted textures will not be permitted, and will - generate INVALID_ENUM. - - DISCUSSION: OES_compressed_paletted_texture supplies all the mipmaps - in a single function call, with the palette specified once. That's - incompatible with the upload model in this extension. - - 24. How can ETC1 textures be used with this extension? - - RESOLVED. Add language in this extension to allow subregion uploads - for ETC1. - - DISCUSSION: GL_OES_compressed_ETC1_RGB8_texture doesn't allow - CompressedTexSubImage*, so it would be impossible to use this - extension with ETC1. This is seen as an oversight in the ETC1 - extension. While it cannot be fixed in that extension (since it is - already shipping), this extension can add that capability. - - 25. Should any other compressed formats be similarly modified? - - RESOLVED. Yes, AMD_compressed_ATC_texture and - AMD_compressed_3DC_texture can be modified similarly to ETC1 - (Maurice Ribble indicated that both formats use 4x4 blocks). Desktop - OpenGL requires that whole-image replacement is supported for any - compressed texture format, and the OpenGL ES extensions - EXT_texture_compression_dxt1 and IMG_texture_compression_pvrtc - already allow whole-image replacement, so it is not necessary to - modify them to be used with this extension. - - 26. Should these commands be permitted in display lists? - - RESOLVED. No. - - DISCUSSION: Display lists are most useful for repeating commands, - and TexStorage* commands cannot be repeated because the first call - makes the format immutable. - - 27. Should these commands accept unsized internal formats? - - RESOLVED: No, for both OpenGL and OpenGL ES. - - DISCUSSION: normally the parameter to TexImage* can serve as - a hint to select a sized format (and in OpenGL ES, this is the only - mechanism available); since TexStorage* does not have a - parameter, the implementation has no information on which to base a - decision. - -Revision History - - Revision 24, 2011/11/11 (dgkoch) - - Mark complete. Clarify ES clarifications. - - Revision 23, 2011/11/10 (dgkoch) - - Add GLES clarifcations and interactions with more GLES extensions - - Revision 22, 2011/11/10 (bmerry) - - Update my contact details - - Revision 21, 2011/07/25 (bmerry) - - Remove dangling references to MultiTexStorage in Errors section - - Revision 20, 2011/07/21 (bmerry) - - Remove dangling reference to in Errors section - - Revision 19, 2011/05/02 (Jon Leech) - - Assign enum value - - Revision 18, 2011/01/24 (bmerry) - - Disallow unsized internal formats (oversight in revision 17). - - Revision 17, 2011/01/24 (bmerry) - - Added and resolved issue 26. - - Split issue 27 out from issue 15. - - Disallow TexStorage* in display lists. - - Use the term "immutable-format" consistently (bug 7281). - - Revision 16, 2010/11/23 (bmerry) - - Disallowed TexStorage on an immutable-format texture - (resolves issue 5). - - Deleted MultiTexStorage* commands (other DSA functions still - unresolved). - - Some minor wording changes suggested by Pat Brown (bug 7002). - - Revision 15, 2010/11/09 (bmerry) - - Reopened issue 5. - - Reopened issue 14, pending stabilisation of - ARB_direct_state_access. - - Marked issue 9 resolved, pending any objections. - - Fix references to no object being bound (was meant to refer to - the default object). - - Adding missing pseudocode for TEXTURE_1D_ARRAY. - - Corrected TEXTURE_2D_ARRAY -> TEXTURE_1D_ARRAY in error checks. - - Changed "levels... are removed" to "levels... are reset to their - init state", since desktop GL has per-level state apart from the - texels. - - Miscellaneous wording fixes. - - Revision 14, 2010/09/25 (bmerry) - - Add issues 24-25 and alterations to - OES_compressed_ETC1_RGB8_texture, AMD_compressed_ATC_texture and - AMD_compressed_3DC_texture. - - Revision 13, 2010/09/19 (bmerry) - - Two typo fixes from Daniel Koch - - Revision 12, 2010/09/18 (bmerry) - - Changed resolution to issue 20 - - Added and resolved issue 23 - - Added explanation of how to upload data (in overview) - - Added spec language to implement resolution to issue 15 - - Revision 11, 2010/07/21 (bmerry) - - Resolved issue 16 - - Reopen issue 20 - - Fix some typos - - Revision 10, 2010/07/15 (bmerry) - - Update some issues to match core text - - Resolved issue 17 - - Revision 9, 2010/05/24 (bmerry) - - Marked issue 2 as resolved - - Resolved issue 19 (as no change) - - Resolved issue 20 - - Add issues 21-22 - - Add in spec language to forbid use on default textures - - Redefine level_base, level_max to be clamped forms of - TEXTURE_BASE_LEVEL/TEXTURE_MAX_LEVEL when using immutable - textures - - Redefine p to also be clamped to the provided levels for - immutable textures, to support automatic mipmap generation - - Removed multisample functions - - Removed language stating that texture parameters were reset to - defaults - - Revision 8, 2010/05/18 (bmerry) - - Added issue about EGLimage - - Marked issue 14 as resolved - - Revision 7, 2010/05/04 (bmerry) - - Removed some lingering , parameters to the new - functions that should have been removed in revision 4 - - Trivial typo fixes - - Revision 6, 2010/02/18 (bmerry) - - Resolved issues 5, 6 and 18 - - Added MultiTexStorage* functions for DSA interaction - - Added error for texture-target mismatch in DSA - - Allowed TexStorage* to be called again - - Revision 5, 2010/01/25 (bmerry) - - Added to contributors list - - Require OpenGL 1.2, to simplify interactions with - TEXTURE_BASE_LEVEL/TEXTURE_MAX_LEVEL and CLAMP_TO_EDGE - - Change default wrap modes to always be CLAMP_TO_EDGE - - Change default filters to always be NEAREST - - Moved language about generating new levels into an interaction, - since it can only happen on OpenGL ES - - Added interaction with EXT_direct_state_access - - Added extra for GL ES when OES_depth_texture, - OES_packed_depth_stencil and EXT_texture_type_2_10_10_10_REV are - present. - - Minor non-functional wording fixes and typos - - Resolved issue 16 - - Added issues 17-19 - - Revision 4, 2010/01/13 (bmerry) - - Changed suffix from ARM to EXT - - Added list of contributors - - Added language to force the texture to always be complete - - Removed and arguments - - Added issues 14-16 - - Reopened issue 2 - - Reformatted issues to separate resolution and discussion - - Resolved issues 1, 9 and 11-13 - - Fixed the max number of levels in a cube map array - - Revision 3, 2009/12/17 (bmerry) - - Added missing vendor suffix to TEXTURE_IMMUTABLE_FORMAT_ARM - - Rewritten to against desktop OpenGL - - Added prototypes for 1D and multisample storage functions - - Added issues 8-13 - - Revision 2, 2009/08/20 (bmerry) - - Resolved issue 2 (no border parameter) - - Resolved issue 4 (metadata becomes immutable) - - Added interaction with OES_texture_cube_map - - Added error if width != height in a cube map - - Added issues 5-7 - - Revision 1, 2009/05/06 (bmerry) - - First draft diff --git a/generate_winrt_projects.py b/generate_winrt_projects.py deleted file mode 100644 index 3001f2fa9..000000000 --- a/generate_winrt_projects.py +++ /dev/null @@ -1,40 +0,0 @@ -# Copyright (c) 2013-2014 The ANGLE Project Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -# This script generates visual studio projects that can be used on WinRT - -import os -import sys - -script_dir = os.path.join(os.path.dirname(__file__), 'build') -angle_dir = os.path.normpath(os.path.join(script_dir, os.pardir)) -gyp_dir = os.path.join(angle_dir, 'third_party', 'gyp') - -gyp_generators = "msvs" -msvs_version = "2013e" - -def generateProjects(generation_dir, build_winphone): - gyp_cmd = os.path.join(gyp_dir, 'gyp') - gyp_cmd += ' --ignore-environment' - gyp_cmd += ' --depth=.' - gyp_cmd += ' --include=' + os.path.join(script_dir, 'common.gypi') - gyp_cmd += ' --generator-output=' + generation_dir - gyp_cmd += ' --format=' + gyp_generators - gyp_cmd += ' -G msvs_version=' + msvs_version - gyp_cmd += ' -D angle_use_commit_id=0' - gyp_cmd += ' -D angle_build_winrt=1' - gyp_cmd += ' -D angle_build_winphone=' + ('1' if build_winphone else '0') - gyp_cmd += ' -D angle_enable_d3d9=0' - gyp_cmd += ' -D angle_standalone=1' - gyp_cmd += ' ' + os.path.join(script_dir, 'all.gyp') - - print 'Generating projects to ' + generation_dir + ' from gyp files...' - print gyp_cmd - sys.stdout.flush() - os.system(gyp_cmd) - -if __name__ == '__main__': - # Generate Windows 8.1 projects - generateProjects("winrt/8.1/windows", False); - generateProjects("winrt/8.1/windowsphone", True); \ No newline at end of file diff --git a/include/EGL/egl.h b/include/EGL/egl.h deleted file mode 100644 index 5a2729121..000000000 --- a/include/EGL/egl.h +++ /dev/null @@ -1,303 +0,0 @@ -#ifndef __egl_h_ -#define __egl_h_ 1 - -#ifdef __cplusplus -extern "C" { -#endif - -/* -** Copyright (c) 2013-2014 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 header is generated from the Khronos OpenGL / OpenGL ES XML -** API Registry. The current version of the Registry, generator scripts -** used to make the header, and the header can be found at -** http://www.opengl.org/registry/ -** -** Khronos $Revision: 29318 $ on $Date: 2015-01-02 03:16:10 -0800 (Fri, 02 Jan 2015) $ -*/ - -#include - -/* Generated on date 20150102 */ - -/* Generated C header for: - * API: egl - * Versions considered: .* - * Versions emitted: .* - * Default extensions included: None - * Additional extensions included: _nomatch_^ - * Extensions removed: _nomatch_^ - */ - -#ifndef EGL_VERSION_1_0 -#define EGL_VERSION_1_0 1 -typedef unsigned int EGLBoolean; -typedef void *EGLDisplay; -#include -#include -typedef void *EGLConfig; -typedef void *EGLSurface; -typedef void *EGLContext; -typedef void (*__eglMustCastToProperFunctionPointerType)(void); -#define EGL_ALPHA_SIZE 0x3021 -#define EGL_BAD_ACCESS 0x3002 -#define EGL_BAD_ALLOC 0x3003 -#define EGL_BAD_ATTRIBUTE 0x3004 -#define EGL_BAD_CONFIG 0x3005 -#define EGL_BAD_CONTEXT 0x3006 -#define EGL_BAD_CURRENT_SURFACE 0x3007 -#define EGL_BAD_DISPLAY 0x3008 -#define EGL_BAD_MATCH 0x3009 -#define EGL_BAD_NATIVE_PIXMAP 0x300A -#define EGL_BAD_NATIVE_WINDOW 0x300B -#define EGL_BAD_PARAMETER 0x300C -#define EGL_BAD_SURFACE 0x300D -#define EGL_BLUE_SIZE 0x3022 -#define EGL_BUFFER_SIZE 0x3020 -#define EGL_CONFIG_CAVEAT 0x3027 -#define EGL_CONFIG_ID 0x3028 -#define EGL_CORE_NATIVE_ENGINE 0x305B -#define EGL_DEPTH_SIZE 0x3025 -#define EGL_DONT_CARE ((EGLint)-1) -#define EGL_DRAW 0x3059 -#define EGL_EXTENSIONS 0x3055 -#define EGL_FALSE 0 -#define EGL_GREEN_SIZE 0x3023 -#define EGL_HEIGHT 0x3056 -#define EGL_LARGEST_PBUFFER 0x3058 -#define EGL_LEVEL 0x3029 -#define EGL_MAX_PBUFFER_HEIGHT 0x302A -#define EGL_MAX_PBUFFER_PIXELS 0x302B -#define EGL_MAX_PBUFFER_WIDTH 0x302C -#define EGL_NATIVE_RENDERABLE 0x302D -#define EGL_NATIVE_VISUAL_ID 0x302E -#define EGL_NATIVE_VISUAL_TYPE 0x302F -#define EGL_NONE 0x3038 -#define EGL_NON_CONFORMANT_CONFIG 0x3051 -#define EGL_NOT_INITIALIZED 0x3001 -#define EGL_NO_CONTEXT ((EGLContext)0) -#define EGL_NO_DISPLAY ((EGLDisplay)0) -#define EGL_NO_SURFACE ((EGLSurface)0) -#define EGL_PBUFFER_BIT 0x0001 -#define EGL_PIXMAP_BIT 0x0002 -#define EGL_READ 0x305A -#define EGL_RED_SIZE 0x3024 -#define EGL_SAMPLES 0x3031 -#define EGL_SAMPLE_BUFFERS 0x3032 -#define EGL_SLOW_CONFIG 0x3050 -#define EGL_STENCIL_SIZE 0x3026 -#define EGL_SUCCESS 0x3000 -#define EGL_SURFACE_TYPE 0x3033 -#define EGL_TRANSPARENT_BLUE_VALUE 0x3035 -#define EGL_TRANSPARENT_GREEN_VALUE 0x3036 -#define EGL_TRANSPARENT_RED_VALUE 0x3037 -#define EGL_TRANSPARENT_RGB 0x3052 -#define EGL_TRANSPARENT_TYPE 0x3034 -#define EGL_TRUE 1 -#define EGL_VENDOR 0x3053 -#define EGL_VERSION 0x3054 -#define EGL_WIDTH 0x3057 -#define EGL_WINDOW_BIT 0x0004 -EGLAPI EGLBoolean EGLAPIENTRY eglChooseConfig (EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config); -EGLAPI EGLBoolean EGLAPIENTRY eglCopyBuffers (EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target); -EGLAPI EGLContext EGLAPIENTRY eglCreateContext (EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list); -EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferSurface (EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list); -EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurface (EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list); -EGLAPI EGLSurface EGLAPIENTRY eglCreateWindowSurface (EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list); -EGLAPI EGLBoolean EGLAPIENTRY eglDestroyContext (EGLDisplay dpy, EGLContext ctx); -EGLAPI EGLBoolean EGLAPIENTRY eglDestroySurface (EGLDisplay dpy, EGLSurface surface); -EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigAttrib (EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value); -EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigs (EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config); -EGLAPI EGLDisplay EGLAPIENTRY eglGetCurrentDisplay (void); -EGLAPI EGLSurface EGLAPIENTRY eglGetCurrentSurface (EGLint readdraw); -EGLAPI EGLDisplay EGLAPIENTRY eglGetDisplay (EGLNativeDisplayType display_id); -EGLAPI EGLint EGLAPIENTRY eglGetError (void); -EGLAPI __eglMustCastToProperFunctionPointerType EGLAPIENTRY eglGetProcAddress (const char *procname); -EGLAPI EGLBoolean EGLAPIENTRY eglInitialize (EGLDisplay dpy, EGLint *major, EGLint *minor); -EGLAPI EGLBoolean EGLAPIENTRY eglMakeCurrent (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx); -EGLAPI EGLBoolean EGLAPIENTRY eglQueryContext (EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value); -EGLAPI const char *EGLAPIENTRY eglQueryString (EGLDisplay dpy, EGLint name); -EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurface (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value); -EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers (EGLDisplay dpy, EGLSurface surface); -EGLAPI EGLBoolean EGLAPIENTRY eglTerminate (EGLDisplay dpy); -EGLAPI EGLBoolean EGLAPIENTRY eglWaitGL (void); -EGLAPI EGLBoolean EGLAPIENTRY eglWaitNative (EGLint engine); -#endif /* EGL_VERSION_1_0 */ - -#ifndef EGL_VERSION_1_1 -#define EGL_VERSION_1_1 1 -#define EGL_BACK_BUFFER 0x3084 -#define EGL_BIND_TO_TEXTURE_RGB 0x3039 -#define EGL_BIND_TO_TEXTURE_RGBA 0x303A -#define EGL_CONTEXT_LOST 0x300E -#define EGL_MIN_SWAP_INTERVAL 0x303B -#define EGL_MAX_SWAP_INTERVAL 0x303C -#define EGL_MIPMAP_TEXTURE 0x3082 -#define EGL_MIPMAP_LEVEL 0x3083 -#define EGL_NO_TEXTURE 0x305C -#define EGL_TEXTURE_2D 0x305F -#define EGL_TEXTURE_FORMAT 0x3080 -#define EGL_TEXTURE_RGB 0x305D -#define EGL_TEXTURE_RGBA 0x305E -#define EGL_TEXTURE_TARGET 0x3081 -EGLAPI EGLBoolean EGLAPIENTRY eglBindTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer); -EGLAPI EGLBoolean EGLAPIENTRY eglReleaseTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer); -EGLAPI EGLBoolean EGLAPIENTRY eglSurfaceAttrib (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value); -EGLAPI EGLBoolean EGLAPIENTRY eglSwapInterval (EGLDisplay dpy, EGLint interval); -#endif /* EGL_VERSION_1_1 */ - -#ifndef EGL_VERSION_1_2 -#define EGL_VERSION_1_2 1 -typedef unsigned int EGLenum; -typedef void *EGLClientBuffer; -#define EGL_ALPHA_FORMAT 0x3088 -#define EGL_ALPHA_FORMAT_NONPRE 0x308B -#define EGL_ALPHA_FORMAT_PRE 0x308C -#define EGL_ALPHA_MASK_SIZE 0x303E -#define EGL_BUFFER_PRESERVED 0x3094 -#define EGL_BUFFER_DESTROYED 0x3095 -#define EGL_CLIENT_APIS 0x308D -#define EGL_COLORSPACE 0x3087 -#define EGL_COLORSPACE_sRGB 0x3089 -#define EGL_COLORSPACE_LINEAR 0x308A -#define EGL_COLOR_BUFFER_TYPE 0x303F -#define EGL_CONTEXT_CLIENT_TYPE 0x3097 -#define EGL_DISPLAY_SCALING 10000 -#define EGL_HORIZONTAL_RESOLUTION 0x3090 -#define EGL_LUMINANCE_BUFFER 0x308F -#define EGL_LUMINANCE_SIZE 0x303D -#define EGL_OPENGL_ES_BIT 0x0001 -#define EGL_OPENVG_BIT 0x0002 -#define EGL_OPENGL_ES_API 0x30A0 -#define EGL_OPENVG_API 0x30A1 -#define EGL_OPENVG_IMAGE 0x3096 -#define EGL_PIXEL_ASPECT_RATIO 0x3092 -#define EGL_RENDERABLE_TYPE 0x3040 -#define EGL_RENDER_BUFFER 0x3086 -#define EGL_RGB_BUFFER 0x308E -#define EGL_SINGLE_BUFFER 0x3085 -#define EGL_SWAP_BEHAVIOR 0x3093 -#define EGL_UNKNOWN ((EGLint)-1) -#define EGL_VERTICAL_RESOLUTION 0x3091 -EGLAPI EGLBoolean EGLAPIENTRY eglBindAPI (EGLenum api); -EGLAPI EGLenum EGLAPIENTRY eglQueryAPI (void); -EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferFromClientBuffer (EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list); -EGLAPI EGLBoolean EGLAPIENTRY eglReleaseThread (void); -EGLAPI EGLBoolean EGLAPIENTRY eglWaitClient (void); -#endif /* EGL_VERSION_1_2 */ - -#ifndef EGL_VERSION_1_3 -#define EGL_VERSION_1_3 1 -#define EGL_CONFORMANT 0x3042 -#define EGL_CONTEXT_CLIENT_VERSION 0x3098 -#define EGL_MATCH_NATIVE_PIXMAP 0x3041 -#define EGL_OPENGL_ES2_BIT 0x0004 -#define EGL_VG_ALPHA_FORMAT 0x3088 -#define EGL_VG_ALPHA_FORMAT_NONPRE 0x308B -#define EGL_VG_ALPHA_FORMAT_PRE 0x308C -#define EGL_VG_ALPHA_FORMAT_PRE_BIT 0x0040 -#define EGL_VG_COLORSPACE 0x3087 -#define EGL_VG_COLORSPACE_sRGB 0x3089 -#define EGL_VG_COLORSPACE_LINEAR 0x308A -#define EGL_VG_COLORSPACE_LINEAR_BIT 0x0020 -#endif /* EGL_VERSION_1_3 */ - -#ifndef EGL_VERSION_1_4 -#define EGL_VERSION_1_4 1 -#define EGL_DEFAULT_DISPLAY ((EGLNativeDisplayType)0) -#define EGL_MULTISAMPLE_RESOLVE_BOX_BIT 0x0200 -#define EGL_MULTISAMPLE_RESOLVE 0x3099 -#define EGL_MULTISAMPLE_RESOLVE_DEFAULT 0x309A -#define EGL_MULTISAMPLE_RESOLVE_BOX 0x309B -#define EGL_OPENGL_API 0x30A2 -#define EGL_OPENGL_BIT 0x0008 -#define EGL_SWAP_BEHAVIOR_PRESERVED_BIT 0x0400 -EGLAPI EGLContext EGLAPIENTRY eglGetCurrentContext (void); -#endif /* EGL_VERSION_1_4 */ - -#ifndef EGL_VERSION_1_5 -#define EGL_VERSION_1_5 1 -typedef void *EGLSync; -typedef intptr_t EGLAttrib; -typedef khronos_utime_nanoseconds_t EGLTime; -typedef void *EGLImage; -#define EGL_CONTEXT_MAJOR_VERSION 0x3098 -#define EGL_CONTEXT_MINOR_VERSION 0x30FB -#define EGL_CONTEXT_OPENGL_PROFILE_MASK 0x30FD -#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY 0x31BD -#define EGL_NO_RESET_NOTIFICATION 0x31BE -#define EGL_LOSE_CONTEXT_ON_RESET 0x31BF -#define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT 0x00000001 -#define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT 0x00000002 -#define EGL_CONTEXT_OPENGL_DEBUG 0x31B0 -#define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE 0x31B1 -#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS 0x31B2 -#define EGL_OPENGL_ES3_BIT 0x00000040 -#define EGL_CL_EVENT_HANDLE 0x309C -#define EGL_SYNC_CL_EVENT 0x30FE -#define EGL_SYNC_CL_EVENT_COMPLETE 0x30FF -#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE 0x30F0 -#define EGL_SYNC_TYPE 0x30F7 -#define EGL_SYNC_STATUS 0x30F1 -#define EGL_SYNC_CONDITION 0x30F8 -#define EGL_SIGNALED 0x30F2 -#define EGL_UNSIGNALED 0x30F3 -#define EGL_SYNC_FLUSH_COMMANDS_BIT 0x0001 -#define EGL_FOREVER 0xFFFFFFFFFFFFFFFFull -#define EGL_TIMEOUT_EXPIRED 0x30F5 -#define EGL_CONDITION_SATISFIED 0x30F6 -#define EGL_NO_SYNC ((EGLSync)0) -#define EGL_SYNC_FENCE 0x30F9 -#define EGL_GL_COLORSPACE 0x309D -#define EGL_GL_COLORSPACE_SRGB 0x3089 -#define EGL_GL_COLORSPACE_LINEAR 0x308A -#define EGL_GL_RENDERBUFFER 0x30B9 -#define EGL_GL_TEXTURE_2D 0x30B1 -#define EGL_GL_TEXTURE_LEVEL 0x30BC -#define EGL_GL_TEXTURE_3D 0x30B2 -#define EGL_GL_TEXTURE_ZOFFSET 0x30BD -#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x30B3 -#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x30B4 -#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x30B5 -#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x30B6 -#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x30B7 -#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x30B8 -#define EGL_IMAGE_PRESERVED 0x30D2 -#define EGL_NO_IMAGE ((EGLImage)0) -EGLAPI EGLSync EGLAPIENTRY eglCreateSync (EGLDisplay dpy, EGLenum type, const EGLAttrib *attrib_list); -EGLAPI EGLBoolean EGLAPIENTRY eglDestroySync (EGLDisplay dpy, EGLSync sync); -EGLAPI EGLint EGLAPIENTRY eglClientWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout); -EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttrib (EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLAttrib *value); -EGLAPI EGLImage EGLAPIENTRY eglCreateImage (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLAttrib *attrib_list); -EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImage (EGLDisplay dpy, EGLImage image); -EGLAPI EGLDisplay EGLAPIENTRY eglGetPlatformDisplay (EGLenum platform, void *native_display, const EGLAttrib *attrib_list); -EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformWindowSurface (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLAttrib *attrib_list); -EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurface (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLAttrib *attrib_list); -EGLAPI EGLBoolean EGLAPIENTRY eglWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags); -#endif /* EGL_VERSION_1_5 */ - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/include/EGL/eglext.h b/include/EGL/eglext.h deleted file mode 100644 index 05b2555f3..000000000 --- a/include/EGL/eglext.h +++ /dev/null @@ -1,766 +0,0 @@ -#ifndef __eglext_h_ -#define __eglext_h_ 1 - -#ifdef __cplusplus -extern "C" { -#endif - -/* -** Copyright (c) 2013-2014 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 header is generated from the Khronos OpenGL / OpenGL ES XML -** API Registry. The current version of the Registry, generator scripts -** used to make the header, and the header can be found at -** http://www.opengl.org/registry/ -** -** Khronos $Revision: 27018 $ on $Date: 2014-06-10 08:06:12 -0700 (Tue, 10 Jun 2014) $ -*/ - -#include - -#define EGL_EGLEXT_VERSION 20140610 - -/* Generated C header for: - * API: egl - * Versions considered: .* - * Versions emitted: _nomatch_^ - * Default extensions included: egl - * Additional extensions included: _nomatch_^ - * Extensions removed: _nomatch_^ - */ - -#ifndef EGL_KHR_cl_event -#define EGL_KHR_cl_event 1 -#define EGL_CL_EVENT_HANDLE_KHR 0x309C -#define EGL_SYNC_CL_EVENT_KHR 0x30FE -#define EGL_SYNC_CL_EVENT_COMPLETE_KHR 0x30FF -#endif /* EGL_KHR_cl_event */ - -#ifndef EGL_KHR_cl_event2 -#define EGL_KHR_cl_event2 1 -typedef void *EGLSyncKHR; -typedef intptr_t EGLAttribKHR; -typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNC64KHRPROC) (EGLDisplay dpy, EGLenum type, const EGLAttribKHR *attrib_list); -#ifdef EGL_EGLEXT_PROTOTYPES -EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSync64KHR (EGLDisplay dpy, EGLenum type, const EGLAttribKHR *attrib_list); -#endif -#endif /* EGL_KHR_cl_event2 */ - -#ifndef EGL_KHR_client_get_all_proc_addresses -#define EGL_KHR_client_get_all_proc_addresses 1 -#endif /* EGL_KHR_client_get_all_proc_addresses */ - -#ifndef EGL_KHR_config_attribs -#define EGL_KHR_config_attribs 1 -#define EGL_CONFORMANT_KHR 0x3042 -#define EGL_VG_COLORSPACE_LINEAR_BIT_KHR 0x0020 -#define EGL_VG_ALPHA_FORMAT_PRE_BIT_KHR 0x0040 -#endif /* EGL_KHR_config_attribs */ - -#ifndef EGL_KHR_create_context -#define EGL_KHR_create_context 1 -#define EGL_CONTEXT_MAJOR_VERSION_KHR 0x3098 -#define EGL_CONTEXT_MINOR_VERSION_KHR 0x30FB -#define EGL_CONTEXT_FLAGS_KHR 0x30FC -#define EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR 0x30FD -#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_KHR 0x31BD -#define EGL_NO_RESET_NOTIFICATION_KHR 0x31BE -#define EGL_LOSE_CONTEXT_ON_RESET_KHR 0x31BF -#define EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR 0x00000001 -#define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE_BIT_KHR 0x00000002 -#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR 0x00000004 -#define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR 0x00000001 -#define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT_KHR 0x00000002 -#define EGL_OPENGL_ES3_BIT_KHR 0x00000040 -#endif /* EGL_KHR_create_context */ - -#ifndef EGL_KHR_fence_sync -#define EGL_KHR_fence_sync 1 -#ifdef KHRONOS_SUPPORT_INT64 -#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR 0x30F0 -#define EGL_SYNC_CONDITION_KHR 0x30F8 -#define EGL_SYNC_FENCE_KHR 0x30F9 -#endif /* KHRONOS_SUPPORT_INT64 */ -#endif /* EGL_KHR_fence_sync */ - -#ifndef EGL_KHR_get_all_proc_addresses -#define EGL_KHR_get_all_proc_addresses 1 -#endif /* EGL_KHR_get_all_proc_addresses */ - -#ifndef EGL_KHR_gl_colorspace -#define EGL_KHR_gl_colorspace 1 -#define EGL_GL_COLORSPACE_KHR 0x309D -#define EGL_GL_COLORSPACE_SRGB_KHR 0x3089 -#define EGL_GL_COLORSPACE_LINEAR_KHR 0x308A -#endif /* EGL_KHR_gl_colorspace */ - -#ifndef EGL_KHR_gl_renderbuffer_image -#define EGL_KHR_gl_renderbuffer_image 1 -#define EGL_GL_RENDERBUFFER_KHR 0x30B9 -#endif /* EGL_KHR_gl_renderbuffer_image */ - -#ifndef EGL_KHR_gl_texture_2D_image -#define EGL_KHR_gl_texture_2D_image 1 -#define EGL_GL_TEXTURE_2D_KHR 0x30B1 -#define EGL_GL_TEXTURE_LEVEL_KHR 0x30BC -#endif /* EGL_KHR_gl_texture_2D_image */ - -#ifndef EGL_KHR_gl_texture_3D_image -#define EGL_KHR_gl_texture_3D_image 1 -#define EGL_GL_TEXTURE_3D_KHR 0x30B2 -#define EGL_GL_TEXTURE_ZOFFSET_KHR 0x30BD -#endif /* EGL_KHR_gl_texture_3D_image */ - -#ifndef EGL_KHR_gl_texture_cubemap_image -#define EGL_KHR_gl_texture_cubemap_image 1 -#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X_KHR 0x30B3 -#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X_KHR 0x30B4 -#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y_KHR 0x30B5 -#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_KHR 0x30B6 -#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z_KHR 0x30B7 -#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_KHR 0x30B8 -#endif /* EGL_KHR_gl_texture_cubemap_image */ - -#ifndef EGL_KHR_image -#define EGL_KHR_image 1 -typedef void *EGLImageKHR; -#define EGL_NATIVE_PIXMAP_KHR 0x30B0 -#define EGL_NO_IMAGE_KHR ((EGLImageKHR)0) -typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEIMAGEKHRPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list); -typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEKHRPROC) (EGLDisplay dpy, EGLImageKHR image); -#ifdef EGL_EGLEXT_PROTOTYPES -EGLAPI EGLImageKHR EGLAPIENTRY eglCreateImageKHR (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list); -EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImageKHR (EGLDisplay dpy, EGLImageKHR image); -#endif -#endif /* EGL_KHR_image */ - -#ifndef EGL_KHR_image_base -#define EGL_KHR_image_base 1 -#define EGL_IMAGE_PRESERVED_KHR 0x30D2 -#endif /* EGL_KHR_image_base */ - -#ifndef EGL_KHR_image_pixmap -#define EGL_KHR_image_pixmap 1 -#endif /* EGL_KHR_image_pixmap */ - -#ifndef EGL_KHR_lock_surface -#define EGL_KHR_lock_surface 1 -#define EGL_READ_SURFACE_BIT_KHR 0x0001 -#define EGL_WRITE_SURFACE_BIT_KHR 0x0002 -#define EGL_LOCK_SURFACE_BIT_KHR 0x0080 -#define EGL_OPTIMAL_FORMAT_BIT_KHR 0x0100 -#define EGL_MATCH_FORMAT_KHR 0x3043 -#define EGL_FORMAT_RGB_565_EXACT_KHR 0x30C0 -#define EGL_FORMAT_RGB_565_KHR 0x30C1 -#define EGL_FORMAT_RGBA_8888_EXACT_KHR 0x30C2 -#define EGL_FORMAT_RGBA_8888_KHR 0x30C3 -#define EGL_MAP_PRESERVE_PIXELS_KHR 0x30C4 -#define EGL_LOCK_USAGE_HINT_KHR 0x30C5 -#define EGL_BITMAP_POINTER_KHR 0x30C6 -#define EGL_BITMAP_PITCH_KHR 0x30C7 -#define EGL_BITMAP_ORIGIN_KHR 0x30C8 -#define EGL_BITMAP_PIXEL_RED_OFFSET_KHR 0x30C9 -#define EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR 0x30CA -#define EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR 0x30CB -#define EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR 0x30CC -#define EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR 0x30CD -#define EGL_LOWER_LEFT_KHR 0x30CE -#define EGL_UPPER_LEFT_KHR 0x30CF -typedef EGLBoolean (EGLAPIENTRYP PFNEGLLOCKSURFACEKHRPROC) (EGLDisplay dpy, EGLSurface surface, const EGLint *attrib_list); -typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNLOCKSURFACEKHRPROC) (EGLDisplay dpy, EGLSurface surface); -#ifdef EGL_EGLEXT_PROTOTYPES -EGLAPI EGLBoolean EGLAPIENTRY eglLockSurfaceKHR (EGLDisplay dpy, EGLSurface surface, const EGLint *attrib_list); -EGLAPI EGLBoolean EGLAPIENTRY eglUnlockSurfaceKHR (EGLDisplay dpy, EGLSurface surface); -#endif -#endif /* EGL_KHR_lock_surface */ - -#ifndef EGL_KHR_lock_surface2 -#define EGL_KHR_lock_surface2 1 -#define EGL_BITMAP_PIXEL_SIZE_KHR 0x3110 -#endif /* EGL_KHR_lock_surface2 */ - -#ifndef EGL_KHR_lock_surface3 -#define EGL_KHR_lock_surface3 1 -typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACE64KHRPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLAttribKHR *value); -#ifdef EGL_EGLEXT_PROTOTYPES -EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurface64KHR (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLAttribKHR *value); -#endif -#endif /* EGL_KHR_lock_surface3 */ - -#ifndef EGL_KHR_platform_android -#define EGL_KHR_platform_android 1 -#define EGL_PLATFORM_ANDROID_KHR 0x3141 -#endif /* EGL_KHR_platform_android */ - -#ifndef EGL_KHR_platform_gbm -#define EGL_KHR_platform_gbm 1 -#define EGL_PLATFORM_GBM_KHR 0x31D7 -#endif /* EGL_KHR_platform_gbm */ - -#ifndef EGL_KHR_platform_wayland -#define EGL_KHR_platform_wayland 1 -#define EGL_PLATFORM_WAYLAND_KHR 0x31D8 -#endif /* EGL_KHR_platform_wayland */ - -#ifndef EGL_KHR_platform_x11 -#define EGL_KHR_platform_x11 1 -#define EGL_PLATFORM_X11_KHR 0x31D5 -#define EGL_PLATFORM_X11_SCREEN_KHR 0x31D6 -#endif /* EGL_KHR_platform_x11 */ - -#ifndef EGL_KHR_reusable_sync -#define EGL_KHR_reusable_sync 1 -typedef khronos_utime_nanoseconds_t EGLTimeKHR; -#ifdef KHRONOS_SUPPORT_INT64 -#define EGL_SYNC_STATUS_KHR 0x30F1 -#define EGL_SIGNALED_KHR 0x30F2 -#define EGL_UNSIGNALED_KHR 0x30F3 -#define EGL_TIMEOUT_EXPIRED_KHR 0x30F5 -#define EGL_CONDITION_SATISFIED_KHR 0x30F6 -#define EGL_SYNC_TYPE_KHR 0x30F7 -#define EGL_SYNC_REUSABLE_KHR 0x30FA -#define EGL_SYNC_FLUSH_COMMANDS_BIT_KHR 0x0001 -#define EGL_FOREVER_KHR 0xFFFFFFFFFFFFFFFFull -#define EGL_NO_SYNC_KHR ((EGLSyncKHR)0) -typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNCKHRPROC) (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list); -typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync); -typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout); -typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode); -typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value); -#ifdef EGL_EGLEXT_PROTOTYPES -EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSyncKHR (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list); -EGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncKHR (EGLDisplay dpy, EGLSyncKHR sync); -EGLAPI EGLint EGLAPIENTRY eglClientWaitSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout); -EGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode); -EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value); -#endif -#endif /* KHRONOS_SUPPORT_INT64 */ -#endif /* EGL_KHR_reusable_sync */ - -#ifndef EGL_KHR_stream -#define EGL_KHR_stream 1 -typedef void *EGLStreamKHR; -typedef khronos_uint64_t EGLuint64KHR; -#ifdef KHRONOS_SUPPORT_INT64 -#define EGL_NO_STREAM_KHR ((EGLStreamKHR)0) -#define EGL_CONSUMER_LATENCY_USEC_KHR 0x3210 -#define EGL_PRODUCER_FRAME_KHR 0x3212 -#define EGL_CONSUMER_FRAME_KHR 0x3213 -#define EGL_STREAM_STATE_KHR 0x3214 -#define EGL_STREAM_STATE_CREATED_KHR 0x3215 -#define EGL_STREAM_STATE_CONNECTING_KHR 0x3216 -#define EGL_STREAM_STATE_EMPTY_KHR 0x3217 -#define EGL_STREAM_STATE_NEW_FRAME_AVAILABLE_KHR 0x3218 -#define EGL_STREAM_STATE_OLD_FRAME_AVAILABLE_KHR 0x3219 -#define EGL_STREAM_STATE_DISCONNECTED_KHR 0x321A -#define EGL_BAD_STREAM_KHR 0x321B -#define EGL_BAD_STATE_KHR 0x321C -typedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMKHRPROC) (EGLDisplay dpy, const EGLint *attrib_list); -typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSTREAMKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream); -typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value); -typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint *value); -typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMU64KHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR *value); -#ifdef EGL_EGLEXT_PROTOTYPES -EGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamKHR (EGLDisplay dpy, const EGLint *attrib_list); -EGLAPI EGLBoolean EGLAPIENTRY eglDestroyStreamKHR (EGLDisplay dpy, EGLStreamKHR stream); -EGLAPI EGLBoolean EGLAPIENTRY eglStreamAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value); -EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint *value); -EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamu64KHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR *value); -#endif -#endif /* KHRONOS_SUPPORT_INT64 */ -#endif /* EGL_KHR_stream */ - -#ifndef EGL_KHR_stream_consumer_gltexture -#define EGL_KHR_stream_consumer_gltexture 1 -#ifdef EGL_KHR_stream -#define EGL_CONSUMER_ACQUIRE_TIMEOUT_USEC_KHR 0x321E -typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream); -typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERACQUIREKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream); -typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERRELEASEKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream); -#ifdef EGL_EGLEXT_PROTOTYPES -EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerGLTextureExternalKHR (EGLDisplay dpy, EGLStreamKHR stream); -EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerAcquireKHR (EGLDisplay dpy, EGLStreamKHR stream); -EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerReleaseKHR (EGLDisplay dpy, EGLStreamKHR stream); -#endif -#endif /* EGL_KHR_stream */ -#endif /* EGL_KHR_stream_consumer_gltexture */ - -#ifndef EGL_KHR_stream_cross_process_fd -#define EGL_KHR_stream_cross_process_fd 1 -typedef int EGLNativeFileDescriptorKHR; -#ifdef EGL_KHR_stream -#define EGL_NO_FILE_DESCRIPTOR_KHR ((EGLNativeFileDescriptorKHR)(-1)) -typedef EGLNativeFileDescriptorKHR (EGLAPIENTRYP PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream); -typedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC) (EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor); -#ifdef EGL_EGLEXT_PROTOTYPES -EGLAPI EGLNativeFileDescriptorKHR EGLAPIENTRY eglGetStreamFileDescriptorKHR (EGLDisplay dpy, EGLStreamKHR stream); -EGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamFromFileDescriptorKHR (EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor); -#endif -#endif /* EGL_KHR_stream */ -#endif /* EGL_KHR_stream_cross_process_fd */ - -#ifndef EGL_KHR_stream_fifo -#define EGL_KHR_stream_fifo 1 -#ifdef EGL_KHR_stream -#define EGL_STREAM_FIFO_LENGTH_KHR 0x31FC -#define EGL_STREAM_TIME_NOW_KHR 0x31FD -#define EGL_STREAM_TIME_CONSUMER_KHR 0x31FE -#define EGL_STREAM_TIME_PRODUCER_KHR 0x31FF -typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMTIMEKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value); -#ifdef EGL_EGLEXT_PROTOTYPES -EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamTimeKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value); -#endif -#endif /* EGL_KHR_stream */ -#endif /* EGL_KHR_stream_fifo */ - -#ifndef EGL_KHR_stream_producer_aldatalocator -#define EGL_KHR_stream_producer_aldatalocator 1 -#ifdef EGL_KHR_stream -#endif /* EGL_KHR_stream */ -#endif /* EGL_KHR_stream_producer_aldatalocator */ - -#ifndef EGL_KHR_stream_producer_eglsurface -#define EGL_KHR_stream_producer_eglsurface 1 -#ifdef EGL_KHR_stream -#define EGL_STREAM_BIT_KHR 0x0800 -typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC) (EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list); -#ifdef EGL_EGLEXT_PROTOTYPES -EGLAPI EGLSurface EGLAPIENTRY eglCreateStreamProducerSurfaceKHR (EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list); -#endif -#endif /* EGL_KHR_stream */ -#endif /* EGL_KHR_stream_producer_eglsurface */ - -#ifndef EGL_KHR_surfaceless_context -#define EGL_KHR_surfaceless_context 1 -#endif /* EGL_KHR_surfaceless_context */ - -#ifndef EGL_KHR_vg_parent_image -#define EGL_KHR_vg_parent_image 1 -#define EGL_VG_PARENT_IMAGE_KHR 0x30BA -#endif /* EGL_KHR_vg_parent_image */ - -#ifndef EGL_KHR_wait_sync -#define EGL_KHR_wait_sync 1 -typedef EGLint (EGLAPIENTRYP PFNEGLWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags); -#ifdef EGL_EGLEXT_PROTOTYPES -EGLAPI EGLint EGLAPIENTRY eglWaitSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags); -#endif -#endif /* EGL_KHR_wait_sync */ - -#ifndef EGL_ANDROID_blob_cache -#define EGL_ANDROID_blob_cache 1 -typedef khronos_ssize_t EGLsizeiANDROID; -typedef void (*EGLSetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, const void *value, EGLsizeiANDROID valueSize); -typedef EGLsizeiANDROID (*EGLGetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, void *value, EGLsizeiANDROID valueSize); -typedef void (EGLAPIENTRYP PFNEGLSETBLOBCACHEFUNCSANDROIDPROC) (EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get); -#ifdef EGL_EGLEXT_PROTOTYPES -EGLAPI void EGLAPIENTRY eglSetBlobCacheFuncsANDROID (EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get); -#endif -#endif /* EGL_ANDROID_blob_cache */ - -#ifndef EGL_ANDROID_framebuffer_target -#define EGL_ANDROID_framebuffer_target 1 -#define EGL_FRAMEBUFFER_TARGET_ANDROID 0x3147 -#endif /* EGL_ANDROID_framebuffer_target */ - -#ifndef EGL_ANDROID_image_native_buffer -#define EGL_ANDROID_image_native_buffer 1 -#define EGL_NATIVE_BUFFER_ANDROID 0x3140 -#endif /* EGL_ANDROID_image_native_buffer */ - -#ifndef EGL_ANDROID_native_fence_sync -#define EGL_ANDROID_native_fence_sync 1 -#define EGL_SYNC_NATIVE_FENCE_ANDROID 0x3144 -#define EGL_SYNC_NATIVE_FENCE_FD_ANDROID 0x3145 -#define EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID 0x3146 -#define EGL_NO_NATIVE_FENCE_FD_ANDROID -1 -typedef EGLint (EGLAPIENTRYP PFNEGLDUPNATIVEFENCEFDANDROIDPROC) (EGLDisplay dpy, EGLSyncKHR sync); -#ifdef EGL_EGLEXT_PROTOTYPES -EGLAPI EGLint EGLAPIENTRY eglDupNativeFenceFDANDROID (EGLDisplay dpy, EGLSyncKHR sync); -#endif -#endif /* EGL_ANDROID_native_fence_sync */ - -#ifndef EGL_ANDROID_recordable -#define EGL_ANDROID_recordable 1 -#define EGL_RECORDABLE_ANDROID 0x3142 -#endif /* EGL_ANDROID_recordable */ - -#ifndef EGL_ANGLE_d3d_share_handle_client_buffer -#define EGL_ANGLE_d3d_share_handle_client_buffer 1 -#define EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE 0x3200 -#endif /* EGL_ANGLE_d3d_share_handle_client_buffer */ - -#ifndef EGL_ANGLE_window_fixed_size -#define EGL_ANGLE_window_fixed_size 1 -#define EGL_FIXED_SIZE_ANGLE 0x3201 -#endif /* EGL_ANGLE_window_fixed_size */ - -#ifndef EGL_ANGLE_query_surface_pointer -#define EGL_ANGLE_query_surface_pointer 1 -typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACEPOINTERANGLEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value); -#ifdef EGL_EGLEXT_PROTOTYPES -EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurfacePointerANGLE (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value); -#endif -#endif /* EGL_ANGLE_query_surface_pointer */ - -#ifndef EGL_ANGLE_software_display -#define EGL_ANGLE_software_display 1 -#define EGL_SOFTWARE_DISPLAY_ANGLE ((EGLNativeDisplayType)-1) -#endif /* EGL_ANGLE_software_display */ - -#ifndef EGL_ANGLE_direct3d_display -#define EGL_ANGLE_direct3d_display 1 -#define EGL_D3D11_ELSE_D3D9_DISPLAY_ANGLE ((EGLNativeDisplayType)-2) -#define EGL_D3D11_ONLY_DISPLAY_ANGLE ((EGLNativeDisplayType)-3) -#endif /* EGL_ANGLE_direct3d_display */ - -#ifndef EGL_ANGLE_surface_d3d_texture_2d_share_handle -#define EGL_ANGLE_surface_d3d_texture_2d_share_handle 1 -#endif /* EGL_ANGLE_surface_d3d_texture_2d_share_handle */ - -#ifndef EGL_ANGLE_surface_d3d_render_to_back_buffer -#define EGL_ANGLE_surface_d3d_render_to_back_buffer 1 -#define EGL_ANGLE_DISPLAY_ALLOW_RENDER_TO_BACK_BUFFER 0x320B -#define EGL_ANGLE_SURFACE_RENDER_TO_BACK_BUFFER 0x320C -#endif /* EGL_ANGLE_surface_d3d_render_to_back_buffer */ - -#ifndef EGL_ANGLE_platform_angle -#define EGL_ANGLE_platform_angle 1 -#define EGL_PLATFORM_ANGLE_ANGLE 0x3201 -#define EGL_PLATFORM_ANGLE_TYPE_ANGLE 0x3202 -#define EGL_PLATFORM_ANGLE_MAX_VERSION_MAJOR_ANGLE 0x3203 -#define EGL_PLATFORM_ANGLE_MAX_VERSION_MINOR_ANGLE 0x3204 -#define EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE 0x3205 -#endif /* EGL_ANGLE_platform_angle */ - -#ifndef EGL_ANGLE_platform_angle_d3d -#define EGL_ANGLE_platform_angle_d3d 1 -#define EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE 0x3206 -#define EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE 0x3207 -#define EGL_PLATFORM_ANGLE_USE_WARP_ANGLE 0x3208 -#endif /* EGL_ANGLE_platform_angle_d3d */ - -#ifndef EGL_ANGLE_platform_angle_opengl -#define EGL_ANGLE_platform_angle_opengl 1 -#define EGL_PLATFORM_ANGLE_TYPE_OPENGL_ANGLE 0x3209 -#define EGL_PLATFORM_ANGLE_TYPE_OPENGLES_ANGLE 0x320A -#endif /* EGL_ANGLE_platform_angle_opengl */ - -#ifndef EGL_ARM_pixmap_multisample_discard -#define EGL_ARM_pixmap_multisample_discard 1 -#define EGL_DISCARD_SAMPLES_ARM 0x3286 -#endif /* EGL_ARM_pixmap_multisample_discard */ - -#ifndef EGL_EXT_buffer_age -#define EGL_EXT_buffer_age 1 -#define EGL_BUFFER_AGE_EXT 0x313D -#endif /* EGL_EXT_buffer_age */ - -#ifndef EGL_EXT_client_extensions -#define EGL_EXT_client_extensions 1 -#endif /* EGL_EXT_client_extensions */ - -#ifndef EGL_EXT_create_context_robustness -#define EGL_EXT_create_context_robustness 1 -#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT 0x30BF -#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT 0x3138 -#define EGL_NO_RESET_NOTIFICATION_EXT 0x31BE -#define EGL_LOSE_CONTEXT_ON_RESET_EXT 0x31BF -#endif /* EGL_EXT_create_context_robustness */ - -#ifndef EGL_EXT_device_base -#define EGL_EXT_device_base 1 -typedef void *EGLDeviceEXT; -#define EGL_NO_DEVICE_EXT ((EGLDeviceEXT)(0)) -#define EGL_BAD_DEVICE_EXT 0x322B -#define EGL_DEVICE_EXT 0x322C -typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDEVICEATTRIBEXTPROC) (EGLDeviceEXT device, EGLint attribute, EGLAttrib *value); -typedef const char *(EGLAPIENTRYP PFNEGLQUERYDEVICESTRINGEXTPROC) (EGLDeviceEXT device, EGLint name); -typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDEVICESEXTPROC) (EGLint max_devices, EGLDeviceEXT *devices, EGLint *num_devices); -typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDISPLAYATTRIBEXTPROC) (EGLDisplay dpy, EGLint attribute, EGLAttrib *value); -#ifdef EGL_EGLEXT_PROTOTYPES -EGLAPI EGLBoolean EGLAPIENTRY eglQueryDeviceAttribEXT (EGLDeviceEXT device, EGLint attribute, EGLAttrib *value); -EGLAPI const char *EGLAPIENTRY eglQueryDeviceStringEXT (EGLDeviceEXT device, EGLint name); -EGLAPI EGLBoolean EGLAPIENTRY eglQueryDevicesEXT (EGLint max_devices, EGLDeviceEXT *devices, EGLint *num_devices); -EGLAPI EGLBoolean EGLAPIENTRY eglQueryDisplayAttribEXT (EGLDisplay dpy, EGLint attribute, EGLAttrib *value); -#endif -#endif /* EGL_EXT_device_base */ - -#ifndef EGL_EXT_image_dma_buf_import -#define EGL_EXT_image_dma_buf_import 1 -#define EGL_LINUX_DMA_BUF_EXT 0x3270 -#define EGL_LINUX_DRM_FOURCC_EXT 0x3271 -#define EGL_DMA_BUF_PLANE0_FD_EXT 0x3272 -#define EGL_DMA_BUF_PLANE0_OFFSET_EXT 0x3273 -#define EGL_DMA_BUF_PLANE0_PITCH_EXT 0x3274 -#define EGL_DMA_BUF_PLANE1_FD_EXT 0x3275 -#define EGL_DMA_BUF_PLANE1_OFFSET_EXT 0x3276 -#define EGL_DMA_BUF_PLANE1_PITCH_EXT 0x3277 -#define EGL_DMA_BUF_PLANE2_FD_EXT 0x3278 -#define EGL_DMA_BUF_PLANE2_OFFSET_EXT 0x3279 -#define EGL_DMA_BUF_PLANE2_PITCH_EXT 0x327A -#define EGL_YUV_COLOR_SPACE_HINT_EXT 0x327B -#define EGL_SAMPLE_RANGE_HINT_EXT 0x327C -#define EGL_YUV_CHROMA_HORIZONTAL_SITING_HINT_EXT 0x327D -#define EGL_YUV_CHROMA_VERTICAL_SITING_HINT_EXT 0x327E -#define EGL_ITU_REC601_EXT 0x327F -#define EGL_ITU_REC709_EXT 0x3280 -#define EGL_ITU_REC2020_EXT 0x3281 -#define EGL_YUV_FULL_RANGE_EXT 0x3282 -#define EGL_YUV_NARROW_RANGE_EXT 0x3283 -#define EGL_YUV_CHROMA_SITING_0_EXT 0x3284 -#define EGL_YUV_CHROMA_SITING_0_5_EXT 0x3285 -#endif /* EGL_EXT_image_dma_buf_import */ - -#ifndef EGL_EXT_multiview_window -#define EGL_EXT_multiview_window 1 -#define EGL_MULTIVIEW_VIEW_COUNT_EXT 0x3134 -#endif /* EGL_EXT_multiview_window */ - -#ifndef EGL_EXT_platform_base -#define EGL_EXT_platform_base 1 -typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETPLATFORMDISPLAYEXTPROC) (EGLenum platform, void *native_display, const EGLint *attrib_list); -typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC) (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLint *attrib_list); -typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC) (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLint *attrib_list); -#ifdef EGL_EGLEXT_PROTOTYPES -EGLAPI EGLDisplay EGLAPIENTRY eglGetPlatformDisplayEXT (EGLenum platform, void *native_display, const EGLint *attrib_list); -EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformWindowSurfaceEXT (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLint *attrib_list); -EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurfaceEXT (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLint *attrib_list); -#endif -#endif /* EGL_EXT_platform_base */ - -#ifndef EGL_EXT_platform_device -#define EGL_EXT_platform_device 1 -#define EGL_PLATFORM_DEVICE_EXT 0x313F -#endif /* EGL_EXT_platform_device */ - -#ifndef EGL_EXT_platform_wayland -#define EGL_EXT_platform_wayland 1 -#define EGL_PLATFORM_WAYLAND_EXT 0x31D8 -#endif /* EGL_EXT_platform_wayland */ - -#ifndef EGL_EXT_platform_x11 -#define EGL_EXT_platform_x11 1 -#define EGL_PLATFORM_X11_EXT 0x31D5 -#define EGL_PLATFORM_X11_SCREEN_EXT 0x31D6 -#endif /* EGL_EXT_platform_x11 */ - -#ifndef EGL_EXT_protected_surface -#define EGL_EXT_protected_surface 1 -#define EGL_PROTECTED_CONTENT_EXT 0x32C0 -#endif /* EGL_EXT_protected_surface */ - -#ifndef EGL_EXT_swap_buffers_with_damage -#define EGL_EXT_swap_buffers_with_damage 1 -typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects); -#ifdef EGL_EGLEXT_PROTOTYPES -EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersWithDamageEXT (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects); -#endif -#endif /* EGL_EXT_swap_buffers_with_damage */ - -#ifndef EGL_HI_clientpixmap -#define EGL_HI_clientpixmap 1 -struct EGLClientPixmapHI { - void *pData; - EGLint iWidth; - EGLint iHeight; - EGLint iStride; -}; -#define EGL_CLIENT_PIXMAP_POINTER_HI 0x8F74 -typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPIXMAPSURFACEHIPROC) (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI *pixmap); -#ifdef EGL_EGLEXT_PROTOTYPES -EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurfaceHI (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI *pixmap); -#endif -#endif /* EGL_HI_clientpixmap */ - -#ifndef EGL_HI_colorformats -#define EGL_HI_colorformats 1 -#define EGL_COLOR_FORMAT_HI 0x8F70 -#define EGL_COLOR_RGB_HI 0x8F71 -#define EGL_COLOR_RGBA_HI 0x8F72 -#define EGL_COLOR_ARGB_HI 0x8F73 -#endif /* EGL_HI_colorformats */ - -#ifndef EGL_IMG_context_priority -#define EGL_IMG_context_priority 1 -#define EGL_CONTEXT_PRIORITY_LEVEL_IMG 0x3100 -#define EGL_CONTEXT_PRIORITY_HIGH_IMG 0x3101 -#define EGL_CONTEXT_PRIORITY_MEDIUM_IMG 0x3102 -#define EGL_CONTEXT_PRIORITY_LOW_IMG 0x3103 -#endif /* EGL_IMG_context_priority */ - -#ifndef EGL_MESA_drm_image -#define EGL_MESA_drm_image 1 -#define EGL_DRM_BUFFER_FORMAT_MESA 0x31D0 -#define EGL_DRM_BUFFER_USE_MESA 0x31D1 -#define EGL_DRM_BUFFER_FORMAT_ARGB32_MESA 0x31D2 -#define EGL_DRM_BUFFER_MESA 0x31D3 -#define EGL_DRM_BUFFER_STRIDE_MESA 0x31D4 -#define EGL_DRM_BUFFER_USE_SCANOUT_MESA 0x00000001 -#define EGL_DRM_BUFFER_USE_SHARE_MESA 0x00000002 -typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEDRMIMAGEMESAPROC) (EGLDisplay dpy, const EGLint *attrib_list); -typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDRMIMAGEMESAPROC) (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride); -#ifdef EGL_EGLEXT_PROTOTYPES -EGLAPI EGLImageKHR EGLAPIENTRY eglCreateDRMImageMESA (EGLDisplay dpy, const EGLint *attrib_list); -EGLAPI EGLBoolean EGLAPIENTRY eglExportDRMImageMESA (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride); -#endif -#endif /* EGL_MESA_drm_image */ - -#ifndef EGL_MESA_platform_gbm -#define EGL_MESA_platform_gbm 1 -#define EGL_PLATFORM_GBM_MESA 0x31D7 -#endif /* EGL_MESA_platform_gbm */ - -#ifndef EGL_NOK_swap_region -#define EGL_NOK_swap_region 1 -typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSREGIONNOKPROC) (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects); -#ifdef EGL_EGLEXT_PROTOTYPES -EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersRegionNOK (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects); -#endif -#endif /* EGL_NOK_swap_region */ - -#ifndef EGL_NOK_swap_region2 -#define EGL_NOK_swap_region2 1 -typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSREGION2NOKPROC) (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects); -#ifdef EGL_EGLEXT_PROTOTYPES -EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersRegion2NOK (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects); -#endif -#endif /* EGL_NOK_swap_region2 */ - -#ifndef EGL_NOK_texture_from_pixmap -#define EGL_NOK_texture_from_pixmap 1 -#define EGL_Y_INVERTED_NOK 0x307F -#endif /* EGL_NOK_texture_from_pixmap */ - -#ifndef EGL_NV_3dvision_surface -#define EGL_NV_3dvision_surface 1 -#define EGL_AUTO_STEREO_NV 0x3136 -#endif /* EGL_NV_3dvision_surface */ - -#ifndef EGL_NV_coverage_sample -#define EGL_NV_coverage_sample 1 -#define EGL_COVERAGE_BUFFERS_NV 0x30E0 -#define EGL_COVERAGE_SAMPLES_NV 0x30E1 -#endif /* EGL_NV_coverage_sample */ - -#ifndef EGL_NV_coverage_sample_resolve -#define EGL_NV_coverage_sample_resolve 1 -#define EGL_COVERAGE_SAMPLE_RESOLVE_NV 0x3131 -#define EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV 0x3132 -#define EGL_COVERAGE_SAMPLE_RESOLVE_NONE_NV 0x3133 -#endif /* EGL_NV_coverage_sample_resolve */ - -#ifndef EGL_NV_depth_nonlinear -#define EGL_NV_depth_nonlinear 1 -#define EGL_DEPTH_ENCODING_NV 0x30E2 -#define EGL_DEPTH_ENCODING_NONE_NV 0 -#define EGL_DEPTH_ENCODING_NONLINEAR_NV 0x30E3 -#endif /* EGL_NV_depth_nonlinear */ - -#ifndef EGL_NV_native_query -#define EGL_NV_native_query 1 -typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEDISPLAYNVPROC) (EGLDisplay dpy, EGLNativeDisplayType *display_id); -typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEWINDOWNVPROC) (EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType *window); -typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEPIXMAPNVPROC) (EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType *pixmap); -#ifdef EGL_EGLEXT_PROTOTYPES -EGLAPI EGLBoolean EGLAPIENTRY eglQueryNativeDisplayNV (EGLDisplay dpy, EGLNativeDisplayType *display_id); -EGLAPI EGLBoolean EGLAPIENTRY eglQueryNativeWindowNV (EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType *window); -EGLAPI EGLBoolean EGLAPIENTRY eglQueryNativePixmapNV (EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType *pixmap); -#endif -#endif /* EGL_NV_native_query */ - -#ifndef EGL_NV_post_convert_rounding -#define EGL_NV_post_convert_rounding 1 -#endif /* EGL_NV_post_convert_rounding */ - -#ifndef EGL_NV_post_sub_buffer -#define EGL_NV_post_sub_buffer 1 -#define EGL_POST_SUB_BUFFER_SUPPORTED_NV 0x30BE -typedef EGLBoolean (EGLAPIENTRYP PFNEGLPOSTSUBBUFFERNVPROC) (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height); -#ifdef EGL_EGLEXT_PROTOTYPES -EGLAPI EGLBoolean EGLAPIENTRY eglPostSubBufferNV (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height); -#endif -#endif /* EGL_NV_post_sub_buffer */ - -#ifndef EGL_NV_stream_sync -#define EGL_NV_stream_sync 1 -#define EGL_SYNC_NEW_FRAME_NV 0x321F -typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESTREAMSYNCNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum type, const EGLint *attrib_list); -#ifdef EGL_EGLEXT_PROTOTYPES -EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateStreamSyncNV (EGLDisplay dpy, EGLStreamKHR stream, EGLenum type, const EGLint *attrib_list); -#endif -#endif /* EGL_NV_stream_sync */ - -#ifndef EGL_NV_sync -#define EGL_NV_sync 1 -typedef void *EGLSyncNV; -typedef khronos_utime_nanoseconds_t EGLTimeNV; -#ifdef KHRONOS_SUPPORT_INT64 -#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_NV 0x30E6 -#define EGL_SYNC_STATUS_NV 0x30E7 -#define EGL_SIGNALED_NV 0x30E8 -#define EGL_UNSIGNALED_NV 0x30E9 -#define EGL_SYNC_FLUSH_COMMANDS_BIT_NV 0x0001 -#define EGL_FOREVER_NV 0xFFFFFFFFFFFFFFFFull -#define EGL_ALREADY_SIGNALED_NV 0x30EA -#define EGL_TIMEOUT_EXPIRED_NV 0x30EB -#define EGL_CONDITION_SATISFIED_NV 0x30EC -#define EGL_SYNC_TYPE_NV 0x30ED -#define EGL_SYNC_CONDITION_NV 0x30EE -#define EGL_SYNC_FENCE_NV 0x30EF -#define EGL_NO_SYNC_NV ((EGLSyncNV)0) -typedef EGLSyncNV (EGLAPIENTRYP PFNEGLCREATEFENCESYNCNVPROC) (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list); -typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCNVPROC) (EGLSyncNV sync); -typedef EGLBoolean (EGLAPIENTRYP PFNEGLFENCENVPROC) (EGLSyncNV sync); -typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCNVPROC) (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout); -typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCNVPROC) (EGLSyncNV sync, EGLenum mode); -typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBNVPROC) (EGLSyncNV sync, EGLint attribute, EGLint *value); -#ifdef EGL_EGLEXT_PROTOTYPES -EGLAPI EGLSyncNV EGLAPIENTRY eglCreateFenceSyncNV (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list); -EGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncNV (EGLSyncNV sync); -EGLAPI EGLBoolean EGLAPIENTRY eglFenceNV (EGLSyncNV sync); -EGLAPI EGLint EGLAPIENTRY eglClientWaitSyncNV (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout); -EGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncNV (EGLSyncNV sync, EGLenum mode); -EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribNV (EGLSyncNV sync, EGLint attribute, EGLint *value); -#endif -#endif /* KHRONOS_SUPPORT_INT64 */ -#endif /* EGL_NV_sync */ - -#ifndef EGL_NV_system_time -#define EGL_NV_system_time 1 -typedef khronos_utime_nanoseconds_t EGLuint64NV; -#ifdef KHRONOS_SUPPORT_INT64 -typedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC) (void); -typedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMENVPROC) (void); -#ifdef EGL_EGLEXT_PROTOTYPES -EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeFrequencyNV (void); -EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeNV (void); -#endif -#endif /* KHRONOS_SUPPORT_INT64 */ -#endif /* EGL_NV_system_time */ - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/include/EGL/eglplatform.h b/include/EGL/eglplatform.h deleted file mode 100644 index 519df3e75..000000000 --- a/include/EGL/eglplatform.h +++ /dev/null @@ -1,139 +0,0 @@ -#ifndef __eglplatform_h_ -#define __eglplatform_h_ - -/* -** 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. -*/ - -/* Platform-specific types and definitions for egl.h - * $Revision: 23432 $ on $Date: 2013-10-09 00:57:24 -0700 (Wed, 09 Oct 2013) $ - * - * Adopters may modify khrplatform.h and this file to suit their platform. - * You are encouraged to submit all modifications to the Khronos group so that - * they can be included in future versions of this file. Please submit changes - * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla) - * by filing a bug against product "EGL" component "Registry". - */ - -#include - -/* Macros used in EGL function prototype declarations. - * - * EGL functions should be prototyped as: - * - * EGLAPI return-type EGLAPIENTRY eglFunction(arguments); - * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments); - * - * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h - */ - -#ifndef EGLAPI -#define EGLAPI KHRONOS_APICALL -#endif - -#ifndef EGLAPIENTRY -#define EGLAPIENTRY KHRONOS_APIENTRY -#endif -#define EGLAPIENTRYP EGLAPIENTRY* - -/* The types NativeDisplayType, NativeWindowType, and NativePixmapType - * are aliases of window-system-dependent types, such as X Display * or - * Windows Device Context. They must be defined in platform-specific - * code below. The EGL-prefixed versions of Native*Type are the same - * types, renamed in EGL 1.3 so all types in the API start with "EGL". - * - * Khronos STRONGLY RECOMMENDS that you use the default definitions - * provided below, since these changes affect both binary and source - * portability of applications using EGL running on different EGL - * implementations. - */ - -#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */ -#ifndef WIN32_LEAN_AND_MEAN -#define WIN32_LEAN_AND_MEAN 1 -#endif -#include - -typedef HDC EGLNativeDisplayType; -typedef HBITMAP EGLNativePixmapType; - -#if !defined(WINAPI_FAMILY) || (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP) /* Windows Desktop */ -typedef HWND EGLNativeWindowType; -#else /* Windows Store */ -#include -typedef IInspectable* EGLNativeWindowType; -#endif - -#elif defined(__WINSCW__) || defined(__SYMBIAN32__) /* Symbian */ - -typedef int EGLNativeDisplayType; -typedef void *EGLNativeWindowType; -typedef void *EGLNativePixmapType; - -#elif defined(__ANDROID__) || defined(ANDROID) - -#include - -struct egl_native_pixmap_t; - -typedef struct ANativeWindow* EGLNativeWindowType; -typedef struct egl_native_pixmap_t* EGLNativePixmapType; -typedef void* EGLNativeDisplayType; - -#elif defined(__unix__) - -/* X11 (tentative) */ -#include -#include - -typedef Display *EGLNativeDisplayType; -typedef Pixmap EGLNativePixmapType; -typedef Window EGLNativeWindowType; - -#elif defined(__GNUC__) && ( defined(__APPLE_CPP__) || defined(__APPLE_CC__) || defined(__MACOS_CLASSIC__) ) - -// TODO(jmadill): native implementation for OSX - -typedef void *EGLNativeDisplayType; -typedef void *EGLNativePixmapType; -typedef void *EGLNativeWindowType; - -#else -#error "Platform not recognized" -#endif - -/* EGL 1.2 types, renamed for consistency in EGL 1.3 */ -typedef EGLNativeDisplayType NativeDisplayType; -typedef EGLNativePixmapType NativePixmapType; -typedef EGLNativeWindowType NativeWindowType; - - -/* Define EGLint. This must be a signed integral type large enough to contain - * all legal attribute names and values passed into and out of EGL, whether - * their type is boolean, bitmask, enumerant (symbolic constant), integer, - * handle, or other. While in general a 32-bit integer will suffice, if - * handles are 64 bit types, then EGLint should be defined as a signed 64-bit - * integer type. - */ -typedef khronos_int32_t EGLint; - -#endif /* __eglplatform_h */ diff --git a/include/GLES2/gl2.h b/include/GLES2/gl2.h deleted file mode 100644 index c2d835726..000000000 --- a/include/GLES2/gl2.h +++ /dev/null @@ -1,620 +0,0 @@ -#ifndef __gl2_h_ -#define __gl2_h_ - -/* $Revision: 20555 $ on $Date:: 2013-02-12 14:32:47 -0800 #$ */ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * This document is licensed under the SGI Free Software B License Version - * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . - */ - -/*------------------------------------------------------------------------- - * Data type definitions - *-----------------------------------------------------------------------*/ - -typedef void GLvoid; -typedef char GLchar; -typedef unsigned int GLenum; -typedef unsigned char GLboolean; -typedef unsigned int GLbitfield; -typedef khronos_int8_t GLbyte; -typedef short GLshort; -typedef int GLint; -typedef int GLsizei; -typedef khronos_uint8_t GLubyte; -typedef unsigned short GLushort; -typedef unsigned int GLuint; -typedef khronos_float_t GLfloat; -typedef khronos_float_t GLclampf; -typedef khronos_int32_t GLfixed; - -/* GL types for handling large vertex buffer objects */ -typedef khronos_intptr_t GLintptr; -typedef khronos_ssize_t GLsizeiptr; - -/* OpenGL ES core versions */ -#define GL_ES_VERSION_2_0 1 - -/* ClearBufferMask */ -#define GL_DEPTH_BUFFER_BIT 0x00000100 -#define GL_STENCIL_BUFFER_BIT 0x00000400 -#define GL_COLOR_BUFFER_BIT 0x00004000 - -/* Boolean */ -#define GL_FALSE 0 -#define GL_TRUE 1 - -/* BeginMode */ -#define GL_POINTS 0x0000 -#define GL_LINES 0x0001 -#define GL_LINE_LOOP 0x0002 -#define GL_LINE_STRIP 0x0003 -#define GL_TRIANGLES 0x0004 -#define GL_TRIANGLE_STRIP 0x0005 -#define GL_TRIANGLE_FAN 0x0006 - -/* AlphaFunction (not supported in ES20) */ -/* GL_NEVER */ -/* GL_LESS */ -/* GL_EQUAL */ -/* GL_LEQUAL */ -/* GL_GREATER */ -/* GL_NOTEQUAL */ -/* GL_GEQUAL */ -/* GL_ALWAYS */ - -/* BlendingFactorDest */ -#define GL_ZERO 0 -#define GL_ONE 1 -#define GL_SRC_COLOR 0x0300 -#define GL_ONE_MINUS_SRC_COLOR 0x0301 -#define GL_SRC_ALPHA 0x0302 -#define GL_ONE_MINUS_SRC_ALPHA 0x0303 -#define GL_DST_ALPHA 0x0304 -#define GL_ONE_MINUS_DST_ALPHA 0x0305 - -/* BlendingFactorSrc */ -/* GL_ZERO */ -/* GL_ONE */ -#define GL_DST_COLOR 0x0306 -#define GL_ONE_MINUS_DST_COLOR 0x0307 -#define GL_SRC_ALPHA_SATURATE 0x0308 -/* GL_SRC_ALPHA */ -/* GL_ONE_MINUS_SRC_ALPHA */ -/* GL_DST_ALPHA */ -/* GL_ONE_MINUS_DST_ALPHA */ - -/* BlendEquationSeparate */ -#define GL_FUNC_ADD 0x8006 -#define GL_BLEND_EQUATION 0x8009 -#define GL_BLEND_EQUATION_RGB 0x8009 /* same as BLEND_EQUATION */ -#define GL_BLEND_EQUATION_ALPHA 0x883D - -/* BlendSubtract */ -#define GL_FUNC_SUBTRACT 0x800A -#define GL_FUNC_REVERSE_SUBTRACT 0x800B - -/* Separate Blend Functions */ -#define GL_BLEND_DST_RGB 0x80C8 -#define GL_BLEND_SRC_RGB 0x80C9 -#define GL_BLEND_DST_ALPHA 0x80CA -#define GL_BLEND_SRC_ALPHA 0x80CB -#define GL_CONSTANT_COLOR 0x8001 -#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002 -#define GL_CONSTANT_ALPHA 0x8003 -#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004 -#define GL_BLEND_COLOR 0x8005 - -/* Buffer Objects */ -#define GL_ARRAY_BUFFER 0x8892 -#define GL_ELEMENT_ARRAY_BUFFER 0x8893 -#define GL_ARRAY_BUFFER_BINDING 0x8894 -#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895 - -#define GL_STREAM_DRAW 0x88E0 -#define GL_STATIC_DRAW 0x88E4 -#define GL_DYNAMIC_DRAW 0x88E8 - -#define GL_BUFFER_SIZE 0x8764 -#define GL_BUFFER_USAGE 0x8765 - -#define GL_CURRENT_VERTEX_ATTRIB 0x8626 - -/* CullFaceMode */ -#define GL_FRONT 0x0404 -#define GL_BACK 0x0405 -#define GL_FRONT_AND_BACK 0x0408 - -/* DepthFunction */ -/* GL_NEVER */ -/* GL_LESS */ -/* GL_EQUAL */ -/* GL_LEQUAL */ -/* GL_GREATER */ -/* GL_NOTEQUAL */ -/* GL_GEQUAL */ -/* GL_ALWAYS */ - -/* EnableCap */ -#define GL_TEXTURE_2D 0x0DE1 -#define GL_CULL_FACE 0x0B44 -#define GL_BLEND 0x0BE2 -#define GL_DITHER 0x0BD0 -#define GL_STENCIL_TEST 0x0B90 -#define GL_DEPTH_TEST 0x0B71 -#define GL_SCISSOR_TEST 0x0C11 -#define GL_POLYGON_OFFSET_FILL 0x8037 -#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E -#define GL_SAMPLE_COVERAGE 0x80A0 - -/* ErrorCode */ -#define GL_NO_ERROR 0 -#define GL_INVALID_ENUM 0x0500 -#define GL_INVALID_VALUE 0x0501 -#define GL_INVALID_OPERATION 0x0502 -#define GL_OUT_OF_MEMORY 0x0505 - -/* FrontFaceDirection */ -#define GL_CW 0x0900 -#define GL_CCW 0x0901 - -/* GetPName */ -#define GL_LINE_WIDTH 0x0B21 -#define GL_ALIASED_POINT_SIZE_RANGE 0x846D -#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E -#define GL_CULL_FACE_MODE 0x0B45 -#define GL_FRONT_FACE 0x0B46 -#define GL_DEPTH_RANGE 0x0B70 -#define GL_DEPTH_WRITEMASK 0x0B72 -#define GL_DEPTH_CLEAR_VALUE 0x0B73 -#define GL_DEPTH_FUNC 0x0B74 -#define GL_STENCIL_CLEAR_VALUE 0x0B91 -#define GL_STENCIL_FUNC 0x0B92 -#define GL_STENCIL_FAIL 0x0B94 -#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95 -#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96 -#define GL_STENCIL_REF 0x0B97 -#define GL_STENCIL_VALUE_MASK 0x0B93 -#define GL_STENCIL_WRITEMASK 0x0B98 -#define GL_STENCIL_BACK_FUNC 0x8800 -#define GL_STENCIL_BACK_FAIL 0x8801 -#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802 -#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803 -#define GL_STENCIL_BACK_REF 0x8CA3 -#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4 -#define GL_STENCIL_BACK_WRITEMASK 0x8CA5 -#define GL_VIEWPORT 0x0BA2 -#define GL_SCISSOR_BOX 0x0C10 -/* GL_SCISSOR_TEST */ -#define GL_COLOR_CLEAR_VALUE 0x0C22 -#define GL_COLOR_WRITEMASK 0x0C23 -#define GL_UNPACK_ALIGNMENT 0x0CF5 -#define GL_PACK_ALIGNMENT 0x0D05 -#define GL_MAX_TEXTURE_SIZE 0x0D33 -#define GL_MAX_VIEWPORT_DIMS 0x0D3A -#define GL_SUBPIXEL_BITS 0x0D50 -#define GL_RED_BITS 0x0D52 -#define GL_GREEN_BITS 0x0D53 -#define GL_BLUE_BITS 0x0D54 -#define GL_ALPHA_BITS 0x0D55 -#define GL_DEPTH_BITS 0x0D56 -#define GL_STENCIL_BITS 0x0D57 -#define GL_POLYGON_OFFSET_UNITS 0x2A00 -/* GL_POLYGON_OFFSET_FILL */ -#define GL_POLYGON_OFFSET_FACTOR 0x8038 -#define GL_TEXTURE_BINDING_2D 0x8069 -#define GL_SAMPLE_BUFFERS 0x80A8 -#define GL_SAMPLES 0x80A9 -#define GL_SAMPLE_COVERAGE_VALUE 0x80AA -#define GL_SAMPLE_COVERAGE_INVERT 0x80AB - -/* GetTextureParameter */ -/* GL_TEXTURE_MAG_FILTER */ -/* GL_TEXTURE_MIN_FILTER */ -/* GL_TEXTURE_WRAP_S */ -/* GL_TEXTURE_WRAP_T */ - -#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2 -#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3 - -/* HintMode */ -#define GL_DONT_CARE 0x1100 -#define GL_FASTEST 0x1101 -#define GL_NICEST 0x1102 - -/* HintTarget */ -#define GL_GENERATE_MIPMAP_HINT 0x8192 - -/* DataType */ -#define GL_BYTE 0x1400 -#define GL_UNSIGNED_BYTE 0x1401 -#define GL_SHORT 0x1402 -#define GL_UNSIGNED_SHORT 0x1403 -#define GL_INT 0x1404 -#define GL_UNSIGNED_INT 0x1405 -#define GL_FLOAT 0x1406 -#define GL_FIXED 0x140C - -/* PixelFormat */ -#define GL_DEPTH_COMPONENT 0x1902 -#define GL_ALPHA 0x1906 -#define GL_RGB 0x1907 -#define GL_RGBA 0x1908 -#define GL_LUMINANCE 0x1909 -#define GL_LUMINANCE_ALPHA 0x190A - -/* PixelType */ -/* GL_UNSIGNED_BYTE */ -#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033 -#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034 -#define GL_UNSIGNED_SHORT_5_6_5 0x8363 - -/* Shaders */ -#define GL_FRAGMENT_SHADER 0x8B30 -#define GL_VERTEX_SHADER 0x8B31 -#define GL_MAX_VERTEX_ATTRIBS 0x8869 -#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB -#define GL_MAX_VARYING_VECTORS 0x8DFC -#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D -#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C -#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872 -#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD -#define GL_SHADER_TYPE 0x8B4F -#define GL_DELETE_STATUS 0x8B80 -#define GL_LINK_STATUS 0x8B82 -#define GL_VALIDATE_STATUS 0x8B83 -#define GL_ATTACHED_SHADERS 0x8B85 -#define GL_ACTIVE_UNIFORMS 0x8B86 -#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87 -#define GL_ACTIVE_ATTRIBUTES 0x8B89 -#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A -#define GL_SHADING_LANGUAGE_VERSION 0x8B8C -#define GL_CURRENT_PROGRAM 0x8B8D - -/* StencilFunction */ -#define GL_NEVER 0x0200 -#define GL_LESS 0x0201 -#define GL_EQUAL 0x0202 -#define GL_LEQUAL 0x0203 -#define GL_GREATER 0x0204 -#define GL_NOTEQUAL 0x0205 -#define GL_GEQUAL 0x0206 -#define GL_ALWAYS 0x0207 - -/* StencilOp */ -/* GL_ZERO */ -#define GL_KEEP 0x1E00 -#define GL_REPLACE 0x1E01 -#define GL_INCR 0x1E02 -#define GL_DECR 0x1E03 -#define GL_INVERT 0x150A -#define GL_INCR_WRAP 0x8507 -#define GL_DECR_WRAP 0x8508 - -/* StringName */ -#define GL_VENDOR 0x1F00 -#define GL_RENDERER 0x1F01 -#define GL_VERSION 0x1F02 -#define GL_EXTENSIONS 0x1F03 - -/* TextureMagFilter */ -#define GL_NEAREST 0x2600 -#define GL_LINEAR 0x2601 - -/* TextureMinFilter */ -/* GL_NEAREST */ -/* GL_LINEAR */ -#define GL_NEAREST_MIPMAP_NEAREST 0x2700 -#define GL_LINEAR_MIPMAP_NEAREST 0x2701 -#define GL_NEAREST_MIPMAP_LINEAR 0x2702 -#define GL_LINEAR_MIPMAP_LINEAR 0x2703 - -/* TextureParameterName */ -#define GL_TEXTURE_MAG_FILTER 0x2800 -#define GL_TEXTURE_MIN_FILTER 0x2801 -#define GL_TEXTURE_WRAP_S 0x2802 -#define GL_TEXTURE_WRAP_T 0x2803 - -/* TextureTarget */ -/* GL_TEXTURE_2D */ -#define GL_TEXTURE 0x1702 - -#define GL_TEXTURE_CUBE_MAP 0x8513 -#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514 -#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515 -#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516 -#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517 -#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518 -#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519 -#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A -#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C - -/* TextureUnit */ -#define GL_TEXTURE0 0x84C0 -#define GL_TEXTURE1 0x84C1 -#define GL_TEXTURE2 0x84C2 -#define GL_TEXTURE3 0x84C3 -#define GL_TEXTURE4 0x84C4 -#define GL_TEXTURE5 0x84C5 -#define GL_TEXTURE6 0x84C6 -#define GL_TEXTURE7 0x84C7 -#define GL_TEXTURE8 0x84C8 -#define GL_TEXTURE9 0x84C9 -#define GL_TEXTURE10 0x84CA -#define GL_TEXTURE11 0x84CB -#define GL_TEXTURE12 0x84CC -#define GL_TEXTURE13 0x84CD -#define GL_TEXTURE14 0x84CE -#define GL_TEXTURE15 0x84CF -#define GL_TEXTURE16 0x84D0 -#define GL_TEXTURE17 0x84D1 -#define GL_TEXTURE18 0x84D2 -#define GL_TEXTURE19 0x84D3 -#define GL_TEXTURE20 0x84D4 -#define GL_TEXTURE21 0x84D5 -#define GL_TEXTURE22 0x84D6 -#define GL_TEXTURE23 0x84D7 -#define GL_TEXTURE24 0x84D8 -#define GL_TEXTURE25 0x84D9 -#define GL_TEXTURE26 0x84DA -#define GL_TEXTURE27 0x84DB -#define GL_TEXTURE28 0x84DC -#define GL_TEXTURE29 0x84DD -#define GL_TEXTURE30 0x84DE -#define GL_TEXTURE31 0x84DF -#define GL_ACTIVE_TEXTURE 0x84E0 - -/* TextureWrapMode */ -#define GL_REPEAT 0x2901 -#define GL_CLAMP_TO_EDGE 0x812F -#define GL_MIRRORED_REPEAT 0x8370 - -/* Uniform Types */ -#define GL_FLOAT_VEC2 0x8B50 -#define GL_FLOAT_VEC3 0x8B51 -#define GL_FLOAT_VEC4 0x8B52 -#define GL_INT_VEC2 0x8B53 -#define GL_INT_VEC3 0x8B54 -#define GL_INT_VEC4 0x8B55 -#define GL_BOOL 0x8B56 -#define GL_BOOL_VEC2 0x8B57 -#define GL_BOOL_VEC3 0x8B58 -#define GL_BOOL_VEC4 0x8B59 -#define GL_FLOAT_MAT2 0x8B5A -#define GL_FLOAT_MAT3 0x8B5B -#define GL_FLOAT_MAT4 0x8B5C -#define GL_SAMPLER_2D 0x8B5E -#define GL_SAMPLER_CUBE 0x8B60 - -/* Vertex Arrays */ -#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622 -#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623 -#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624 -#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625 -#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A -#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645 -#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F - -/* Read Format */ -#define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A -#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B - -/* Shader Source */ -#define GL_COMPILE_STATUS 0x8B81 -#define GL_INFO_LOG_LENGTH 0x8B84 -#define GL_SHADER_SOURCE_LENGTH 0x8B88 -#define GL_SHADER_COMPILER 0x8DFA - -/* Shader Binary */ -#define GL_SHADER_BINARY_FORMATS 0x8DF8 -#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9 - -/* Shader Precision-Specified Types */ -#define GL_LOW_FLOAT 0x8DF0 -#define GL_MEDIUM_FLOAT 0x8DF1 -#define GL_HIGH_FLOAT 0x8DF2 -#define GL_LOW_INT 0x8DF3 -#define GL_MEDIUM_INT 0x8DF4 -#define GL_HIGH_INT 0x8DF5 - -/* Framebuffer Object. */ -#define GL_FRAMEBUFFER 0x8D40 -#define GL_RENDERBUFFER 0x8D41 - -#define GL_RGBA4 0x8056 -#define GL_RGB5_A1 0x8057 -#define GL_RGB565 0x8D62 -#define GL_DEPTH_COMPONENT16 0x81A5 -#define GL_STENCIL_INDEX8 0x8D48 - -#define GL_RENDERBUFFER_WIDTH 0x8D42 -#define GL_RENDERBUFFER_HEIGHT 0x8D43 -#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44 -#define GL_RENDERBUFFER_RED_SIZE 0x8D50 -#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51 -#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52 -#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53 -#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54 -#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55 - -#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0 -#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1 -#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2 -#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3 - -#define GL_COLOR_ATTACHMENT0 0x8CE0 -#define GL_DEPTH_ATTACHMENT 0x8D00 -#define GL_STENCIL_ATTACHMENT 0x8D20 - -#define GL_NONE 0 - -#define GL_FRAMEBUFFER_COMPLETE 0x8CD5 -#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6 -#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7 -#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS 0x8CD9 -#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD - -#define GL_FRAMEBUFFER_BINDING 0x8CA6 -#define GL_RENDERBUFFER_BINDING 0x8CA7 -#define GL_MAX_RENDERBUFFER_SIZE 0x84E8 - -#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506 - -/*------------------------------------------------------------------------- - * GL core functions. - *-----------------------------------------------------------------------*/ - -GL_APICALL void GL_APIENTRY glActiveTexture (GLenum texture); -GL_APICALL void GL_APIENTRY glAttachShader (GLuint program, GLuint shader); -GL_APICALL void GL_APIENTRY glBindAttribLocation (GLuint program, GLuint index, const GLchar* name); -GL_APICALL void GL_APIENTRY glBindBuffer (GLenum target, GLuint buffer); -GL_APICALL void GL_APIENTRY glBindFramebuffer (GLenum target, GLuint framebuffer); -GL_APICALL void GL_APIENTRY glBindRenderbuffer (GLenum target, GLuint renderbuffer); -GL_APICALL void GL_APIENTRY glBindTexture (GLenum target, GLuint texture); -GL_APICALL void GL_APIENTRY glBlendColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); -GL_APICALL void GL_APIENTRY glBlendEquation ( GLenum mode ); -GL_APICALL void GL_APIENTRY glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha); -GL_APICALL void GL_APIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor); -GL_APICALL void GL_APIENTRY glBlendFuncSeparate (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); -GL_APICALL void GL_APIENTRY glBufferData (GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage); -GL_APICALL void GL_APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data); -GL_APICALL GLenum GL_APIENTRY glCheckFramebufferStatus (GLenum target); -GL_APICALL void GL_APIENTRY glClear (GLbitfield mask); -GL_APICALL void GL_APIENTRY glClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); -GL_APICALL void GL_APIENTRY glClearDepthf (GLclampf depth); -GL_APICALL void GL_APIENTRY glClearStencil (GLint s); -GL_APICALL void GL_APIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); -GL_APICALL void GL_APIENTRY glCompileShader (GLuint shader); -GL_APICALL void GL_APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* data); -GL_APICALL void GL_APIENTRY glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* data); -GL_APICALL void GL_APIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); -GL_APICALL void GL_APIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); -GL_APICALL GLuint GL_APIENTRY glCreateProgram (void); -GL_APICALL GLuint GL_APIENTRY glCreateShader (GLenum type); -GL_APICALL void GL_APIENTRY glCullFace (GLenum mode); -GL_APICALL void GL_APIENTRY glDeleteBuffers (GLsizei n, const GLuint* buffers); -GL_APICALL void GL_APIENTRY glDeleteFramebuffers (GLsizei n, const GLuint* framebuffers); -GL_APICALL void GL_APIENTRY glDeleteProgram (GLuint program); -GL_APICALL void GL_APIENTRY glDeleteRenderbuffers (GLsizei n, const GLuint* renderbuffers); -GL_APICALL void GL_APIENTRY glDeleteShader (GLuint shader); -GL_APICALL void GL_APIENTRY glDeleteTextures (GLsizei n, const GLuint* textures); -GL_APICALL void GL_APIENTRY glDepthFunc (GLenum func); -GL_APICALL void GL_APIENTRY glDepthMask (GLboolean flag); -GL_APICALL void GL_APIENTRY glDepthRangef (GLclampf zNear, GLclampf zFar); -GL_APICALL void GL_APIENTRY glDetachShader (GLuint program, GLuint shader); -GL_APICALL void GL_APIENTRY glDisable (GLenum cap); -GL_APICALL void GL_APIENTRY glDisableVertexAttribArray (GLuint index); -GL_APICALL void GL_APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count); -GL_APICALL void GL_APIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid* indices); -GL_APICALL void GL_APIENTRY glEnable (GLenum cap); -GL_APICALL void GL_APIENTRY glEnableVertexAttribArray (GLuint index); -GL_APICALL void GL_APIENTRY glFinish (void); -GL_APICALL void GL_APIENTRY glFlush (void); -GL_APICALL void GL_APIENTRY glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); -GL_APICALL void GL_APIENTRY glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); -GL_APICALL void GL_APIENTRY glFrontFace (GLenum mode); -GL_APICALL void GL_APIENTRY glGenBuffers (GLsizei n, GLuint* buffers); -GL_APICALL void GL_APIENTRY glGenerateMipmap (GLenum target); -GL_APICALL void GL_APIENTRY glGenFramebuffers (GLsizei n, GLuint* framebuffers); -GL_APICALL void GL_APIENTRY glGenRenderbuffers (GLsizei n, GLuint* renderbuffers); -GL_APICALL void GL_APIENTRY glGenTextures (GLsizei n, GLuint* textures); -GL_APICALL void GL_APIENTRY glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name); -GL_APICALL void GL_APIENTRY glGetActiveUniform (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name); -GL_APICALL void GL_APIENTRY glGetAttachedShaders (GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders); -GL_APICALL GLint GL_APIENTRY glGetAttribLocation (GLuint program, const GLchar* name); -GL_APICALL void GL_APIENTRY glGetBooleanv (GLenum pname, GLboolean* params); -GL_APICALL void GL_APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint* params); -GL_APICALL GLenum GL_APIENTRY glGetError (void); -GL_APICALL void GL_APIENTRY glGetFloatv (GLenum pname, GLfloat* params); -GL_APICALL void GL_APIENTRY glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint* params); -GL_APICALL void GL_APIENTRY glGetIntegerv (GLenum pname, GLint* params); -GL_APICALL void GL_APIENTRY glGetProgramiv (GLuint program, GLenum pname, GLint* params); -GL_APICALL void GL_APIENTRY glGetProgramInfoLog (GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog); -GL_APICALL void GL_APIENTRY glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint* params); -GL_APICALL void GL_APIENTRY glGetShaderiv (GLuint shader, GLenum pname, GLint* params); -GL_APICALL void GL_APIENTRY glGetShaderInfoLog (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog); -GL_APICALL void GL_APIENTRY glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision); -GL_APICALL void GL_APIENTRY glGetShaderSource (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source); -GL_APICALL const GLubyte* GL_APIENTRY glGetString (GLenum name); -GL_APICALL void GL_APIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat* params); -GL_APICALL void GL_APIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint* params); -GL_APICALL void GL_APIENTRY glGetUniformfv (GLuint program, GLint location, GLfloat* params); -GL_APICALL void GL_APIENTRY glGetUniformiv (GLuint program, GLint location, GLint* params); -GL_APICALL GLint GL_APIENTRY glGetUniformLocation (GLuint program, const GLchar* name); -GL_APICALL void GL_APIENTRY glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat* params); -GL_APICALL void GL_APIENTRY glGetVertexAttribiv (GLuint index, GLenum pname, GLint* params); -GL_APICALL void GL_APIENTRY glGetVertexAttribPointerv (GLuint index, GLenum pname, GLvoid** pointer); -GL_APICALL void GL_APIENTRY glHint (GLenum target, GLenum mode); -GL_APICALL GLboolean GL_APIENTRY glIsBuffer (GLuint buffer); -GL_APICALL GLboolean GL_APIENTRY glIsEnabled (GLenum cap); -GL_APICALL GLboolean GL_APIENTRY glIsFramebuffer (GLuint framebuffer); -GL_APICALL GLboolean GL_APIENTRY glIsProgram (GLuint program); -GL_APICALL GLboolean GL_APIENTRY glIsRenderbuffer (GLuint renderbuffer); -GL_APICALL GLboolean GL_APIENTRY glIsShader (GLuint shader); -GL_APICALL GLboolean GL_APIENTRY glIsTexture (GLuint texture); -GL_APICALL void GL_APIENTRY glLineWidth (GLfloat width); -GL_APICALL void GL_APIENTRY glLinkProgram (GLuint program); -GL_APICALL void GL_APIENTRY glPixelStorei (GLenum pname, GLint param); -GL_APICALL void GL_APIENTRY glPolygonOffset (GLfloat factor, GLfloat units); -GL_APICALL void GL_APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels); -GL_APICALL void GL_APIENTRY glReleaseShaderCompiler (void); -GL_APICALL void GL_APIENTRY glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); -GL_APICALL void GL_APIENTRY glSampleCoverage (GLclampf value, GLboolean invert); -GL_APICALL void GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height); -GL_APICALL void GL_APIENTRY glShaderBinary (GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length); -GL_APICALL void GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar* const* string, const GLint* length); -GL_APICALL void GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask); -GL_APICALL void GL_APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask); -GL_APICALL void GL_APIENTRY glStencilMask (GLuint mask); -GL_APICALL void GL_APIENTRY glStencilMaskSeparate (GLenum face, GLuint mask); -GL_APICALL void GL_APIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass); -GL_APICALL void GL_APIENTRY glStencilOpSeparate (GLenum face, GLenum fail, GLenum zfail, GLenum zpass); -GL_APICALL void GL_APIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels); -GL_APICALL void GL_APIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param); -GL_APICALL void GL_APIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat* params); -GL_APICALL void GL_APIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param); -GL_APICALL void GL_APIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint* params); -GL_APICALL void GL_APIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels); -GL_APICALL void GL_APIENTRY glUniform1f (GLint location, GLfloat x); -GL_APICALL void GL_APIENTRY glUniform1fv (GLint location, GLsizei count, const GLfloat* v); -GL_APICALL void GL_APIENTRY glUniform1i (GLint location, GLint x); -GL_APICALL void GL_APIENTRY glUniform1iv (GLint location, GLsizei count, const GLint* v); -GL_APICALL void GL_APIENTRY glUniform2f (GLint location, GLfloat x, GLfloat y); -GL_APICALL void GL_APIENTRY glUniform2fv (GLint location, GLsizei count, const GLfloat* v); -GL_APICALL void GL_APIENTRY glUniform2i (GLint location, GLint x, GLint y); -GL_APICALL void GL_APIENTRY glUniform2iv (GLint location, GLsizei count, const GLint* v); -GL_APICALL void GL_APIENTRY glUniform3f (GLint location, GLfloat x, GLfloat y, GLfloat z); -GL_APICALL void GL_APIENTRY glUniform3fv (GLint location, GLsizei count, const GLfloat* v); -GL_APICALL void GL_APIENTRY glUniform3i (GLint location, GLint x, GLint y, GLint z); -GL_APICALL void GL_APIENTRY glUniform3iv (GLint location, GLsizei count, const GLint* v); -GL_APICALL void GL_APIENTRY glUniform4f (GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); -GL_APICALL void GL_APIENTRY glUniform4fv (GLint location, GLsizei count, const GLfloat* v); -GL_APICALL void GL_APIENTRY glUniform4i (GLint location, GLint x, GLint y, GLint z, GLint w); -GL_APICALL void GL_APIENTRY glUniform4iv (GLint location, GLsizei count, const GLint* v); -GL_APICALL void GL_APIENTRY glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); -GL_APICALL void GL_APIENTRY glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); -GL_APICALL void GL_APIENTRY glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); -GL_APICALL void GL_APIENTRY glUseProgram (GLuint program); -GL_APICALL void GL_APIENTRY glValidateProgram (GLuint program); -GL_APICALL void GL_APIENTRY glVertexAttrib1f (GLuint indx, GLfloat x); -GL_APICALL void GL_APIENTRY glVertexAttrib1fv (GLuint indx, const GLfloat* values); -GL_APICALL void GL_APIENTRY glVertexAttrib2f (GLuint indx, GLfloat x, GLfloat y); -GL_APICALL void GL_APIENTRY glVertexAttrib2fv (GLuint indx, const GLfloat* values); -GL_APICALL void GL_APIENTRY glVertexAttrib3f (GLuint indx, GLfloat x, GLfloat y, GLfloat z); -GL_APICALL void GL_APIENTRY glVertexAttrib3fv (GLuint indx, const GLfloat* values); -GL_APICALL void GL_APIENTRY glVertexAttrib4f (GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w); -GL_APICALL void GL_APIENTRY glVertexAttrib4fv (GLuint indx, const GLfloat* values); -GL_APICALL void GL_APIENTRY glVertexAttribPointer (GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr); -GL_APICALL void GL_APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height); - -#ifdef __cplusplus -} -#endif - -#endif /* __gl2_h_ */ diff --git a/include/GLES2/gl2ext.h b/include/GLES2/gl2ext.h deleted file mode 100644 index d77fdbaeb..000000000 --- a/include/GLES2/gl2ext.h +++ /dev/null @@ -1,2013 +0,0 @@ -#ifndef __gl2ext_h_ -#define __gl2ext_h_ - -/* $Revision: 20795 $ on $Date:: 2013-03-07 01:01:58 -0800 #$ */ - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * This document is licensed under the SGI Free Software B License Version - * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . - */ - -#ifndef GL_APIENTRYP -# define GL_APIENTRYP GL_APIENTRY* -#endif - -/*------------------------------------------------------------------------* - * OES extension tokens - *------------------------------------------------------------------------*/ - -/* GL_OES_compressed_ETC1_RGB8_texture */ -#ifndef GL_OES_compressed_ETC1_RGB8_texture -#define GL_ETC1_RGB8_OES 0x8D64 -#endif - -/* GL_OES_compressed_paletted_texture */ -#ifndef GL_OES_compressed_paletted_texture -#define GL_PALETTE4_RGB8_OES 0x8B90 -#define GL_PALETTE4_RGBA8_OES 0x8B91 -#define GL_PALETTE4_R5_G6_B5_OES 0x8B92 -#define GL_PALETTE4_RGBA4_OES 0x8B93 -#define GL_PALETTE4_RGB5_A1_OES 0x8B94 -#define GL_PALETTE8_RGB8_OES 0x8B95 -#define GL_PALETTE8_RGBA8_OES 0x8B96 -#define GL_PALETTE8_R5_G6_B5_OES 0x8B97 -#define GL_PALETTE8_RGBA4_OES 0x8B98 -#define GL_PALETTE8_RGB5_A1_OES 0x8B99 -#endif - -/* GL_OES_depth24 */ -#ifndef GL_OES_depth24 -#define GL_DEPTH_COMPONENT24_OES 0x81A6 -#endif - -/* GL_OES_depth32 */ -#ifndef GL_OES_depth32 -#define GL_DEPTH_COMPONENT32_OES 0x81A7 -#endif - -/* GL_OES_depth_texture */ -/* No new tokens introduced by this extension. */ - -/* GL_OES_EGL_image */ -#ifndef GL_OES_EGL_image -typedef void* GLeglImageOES; -#endif - -/* GL_OES_EGL_image_external */ -#ifndef GL_OES_EGL_image_external -/* GLeglImageOES defined in GL_OES_EGL_image already. */ -#define GL_TEXTURE_EXTERNAL_OES 0x8D65 -#define GL_SAMPLER_EXTERNAL_OES 0x8D66 -#define GL_TEXTURE_BINDING_EXTERNAL_OES 0x8D67 -#define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES 0x8D68 -#endif - -/* GL_OES_element_index_uint */ -#ifndef GL_OES_element_index_uint -#define GL_UNSIGNED_INT 0x1405 -#endif - -/* GL_OES_get_program_binary */ -#ifndef GL_OES_get_program_binary -#define GL_PROGRAM_BINARY_LENGTH_OES 0x8741 -#define GL_NUM_PROGRAM_BINARY_FORMATS_OES 0x87FE -#define GL_PROGRAM_BINARY_FORMATS_OES 0x87FF -#endif - -/* GL_OES_mapbuffer */ -#ifndef GL_OES_mapbuffer -#define GL_WRITE_ONLY_OES 0x88B9 -#define GL_BUFFER_ACCESS_OES 0x88BB -#define GL_BUFFER_MAPPED_OES 0x88BC -#define GL_BUFFER_MAP_POINTER_OES 0x88BD -#endif - -/* GL_OES_packed_depth_stencil */ -#ifndef GL_OES_packed_depth_stencil -#define GL_DEPTH_STENCIL_OES 0x84F9 -#define GL_UNSIGNED_INT_24_8_OES 0x84FA -#define GL_DEPTH24_STENCIL8_OES 0x88F0 -#endif - -/* GL_OES_required_internalformat */ -#ifndef GL_OES_required_internalformat -#define GL_ALPHA8_OES 0x803C -#define GL_DEPTH_COMPONENT16_OES 0x81A5 -/* reuse GL_DEPTH_COMPONENT24_OES */ -/* reuse GL_DEPTH24_STENCIL8_OES */ -/* reuse GL_DEPTH_COMPONENT32_OES */ -#define GL_LUMINANCE4_ALPHA4_OES 0x8043 -#define GL_LUMINANCE8_ALPHA8_OES 0x8045 -#define GL_LUMINANCE8_OES 0x8040 -#define GL_RGBA4_OES 0x8056 -#define GL_RGB5_A1_OES 0x8057 -#define GL_RGB565_OES 0x8D62 -/* reuse GL_RGB8_OES */ -/* reuse GL_RGBA8_OES */ -/* reuse GL_RGB10_EXT */ -/* reuse GL_RGB10_A2_EXT */ -#endif - -/* GL_OES_rgb8_rgba8 */ -#ifndef GL_OES_rgb8_rgba8 -#define GL_RGB8_OES 0x8051 -#define GL_RGBA8_OES 0x8058 -#endif - -/* GL_OES_standard_derivatives */ -#ifndef GL_OES_standard_derivatives -#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES 0x8B8B -#endif - -/* GL_OES_stencil1 */ -#ifndef GL_OES_stencil1 -#define GL_STENCIL_INDEX1_OES 0x8D46 -#endif - -/* GL_OES_stencil4 */ -#ifndef GL_OES_stencil4 -#define GL_STENCIL_INDEX4_OES 0x8D47 -#endif - -#ifndef GL_OES_surfaceless_context -#define GL_FRAMEBUFFER_UNDEFINED_OES 0x8219 -#endif - -/* GL_OES_texture_3D */ -#ifndef GL_OES_texture_3D -#define GL_TEXTURE_WRAP_R_OES 0x8072 -#define GL_TEXTURE_3D_OES 0x806F -#define GL_TEXTURE_BINDING_3D_OES 0x806A -#define GL_MAX_3D_TEXTURE_SIZE_OES 0x8073 -#define GL_SAMPLER_3D_OES 0x8B5F -#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES 0x8CD4 -#endif - -/* GL_OES_texture_float */ -/* No new tokens introduced by this extension. */ - -/* GL_OES_texture_float_linear */ -/* No new tokens introduced by this extension. */ - -/* GL_OES_texture_half_float */ -#ifndef GL_OES_texture_half_float -#define GL_HALF_FLOAT_OES 0x8D61 -#endif - -/* GL_OES_texture_half_float_linear */ -/* No new tokens introduced by this extension. */ - -/* GL_OES_texture_npot */ -/* No new tokens introduced by this extension. */ - -/* GL_OES_vertex_array_object */ -#ifndef GL_OES_vertex_array_object -#define GL_VERTEX_ARRAY_BINDING_OES 0x85B5 -#endif - -/* GL_OES_vertex_half_float */ -/* GL_HALF_FLOAT_OES defined in GL_OES_texture_half_float already. */ - -/* GL_OES_vertex_type_10_10_10_2 */ -#ifndef GL_OES_vertex_type_10_10_10_2 -#define GL_UNSIGNED_INT_10_10_10_2_OES 0x8DF6 -#define GL_INT_10_10_10_2_OES 0x8DF7 -#endif - -/*------------------------------------------------------------------------* - * KHR extension tokens - *------------------------------------------------------------------------*/ - -#ifndef GL_KHR_debug -typedef void (GL_APIENTRYP GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,GLvoid *userParam); -#define GL_DEBUG_OUTPUT_SYNCHRONOUS 0x8242 -#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH 0x8243 -#define GL_DEBUG_CALLBACK_FUNCTION 0x8244 -#define GL_DEBUG_CALLBACK_USER_PARAM 0x8245 -#define GL_DEBUG_SOURCE_API 0x8246 -#define GL_DEBUG_SOURCE_WINDOW_SYSTEM 0x8247 -#define GL_DEBUG_SOURCE_SHADER_COMPILER 0x8248 -#define GL_DEBUG_SOURCE_THIRD_PARTY 0x8249 -#define GL_DEBUG_SOURCE_APPLICATION 0x824A -#define GL_DEBUG_SOURCE_OTHER 0x824B -#define GL_DEBUG_TYPE_ERROR 0x824C -#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR 0x824D -#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR 0x824E -#define GL_DEBUG_TYPE_PORTABILITY 0x824F -#define GL_DEBUG_TYPE_PERFORMANCE 0x8250 -#define GL_DEBUG_TYPE_OTHER 0x8251 -#define GL_DEBUG_TYPE_MARKER 0x8268 -#define GL_DEBUG_TYPE_PUSH_GROUP 0x8269 -#define GL_DEBUG_TYPE_POP_GROUP 0x826A -#define GL_DEBUG_SEVERITY_NOTIFICATION 0x826B -#define GL_MAX_DEBUG_GROUP_STACK_DEPTH 0x826C -#define GL_DEBUG_GROUP_STACK_DEPTH 0x826D -#define GL_BUFFER 0x82E0 -#define GL_SHADER 0x82E1 -#define GL_PROGRAM 0x82E2 -#define GL_QUERY 0x82E3 -/* PROGRAM_PIPELINE only in GL */ -#define GL_SAMPLER 0x82E6 -/* DISPLAY_LIST only in GL */ -#define GL_MAX_LABEL_LENGTH 0x82E8 -#define GL_MAX_DEBUG_MESSAGE_LENGTH 0x9143 -#define GL_MAX_DEBUG_LOGGED_MESSAGES 0x9144 -#define GL_DEBUG_LOGGED_MESSAGES 0x9145 -#define GL_DEBUG_SEVERITY_HIGH 0x9146 -#define GL_DEBUG_SEVERITY_MEDIUM 0x9147 -#define GL_DEBUG_SEVERITY_LOW 0x9148 -#define GL_DEBUG_OUTPUT 0x92E0 -#define GL_CONTEXT_FLAG_DEBUG_BIT 0x00000002 -#define GL_STACK_OVERFLOW 0x0503 -#define GL_STACK_UNDERFLOW 0x0504 -#endif - -#ifndef GL_KHR_texture_compression_astc_ldr -#define GL_COMPRESSED_RGBA_ASTC_4x4_KHR 0x93B0 -#define GL_COMPRESSED_RGBA_ASTC_5x4_KHR 0x93B1 -#define GL_COMPRESSED_RGBA_ASTC_5x5_KHR 0x93B2 -#define GL_COMPRESSED_RGBA_ASTC_6x5_KHR 0x93B3 -#define GL_COMPRESSED_RGBA_ASTC_6x6_KHR 0x93B4 -#define GL_COMPRESSED_RGBA_ASTC_8x5_KHR 0x93B5 -#define GL_COMPRESSED_RGBA_ASTC_8x6_KHR 0x93B6 -#define GL_COMPRESSED_RGBA_ASTC_8x8_KHR 0x93B7 -#define GL_COMPRESSED_RGBA_ASTC_10x5_KHR 0x93B8 -#define GL_COMPRESSED_RGBA_ASTC_10x6_KHR 0x93B9 -#define GL_COMPRESSED_RGBA_ASTC_10x8_KHR 0x93BA -#define GL_COMPRESSED_RGBA_ASTC_10x10_KHR 0x93BB -#define GL_COMPRESSED_RGBA_ASTC_12x10_KHR 0x93BC -#define GL_COMPRESSED_RGBA_ASTC_12x12_KHR 0x93BD -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR 0x93D0 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR 0x93D1 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR 0x93D2 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR 0x93D3 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR 0x93D4 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR 0x93D5 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR 0x93D6 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR 0x93D7 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR 0x93D8 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR 0x93D9 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR 0x93DA -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR 0x93DB -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR 0x93DC -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR 0x93DD -#endif - -/*------------------------------------------------------------------------* - * AMD extension tokens - *------------------------------------------------------------------------*/ - -/* GL_AMD_compressed_3DC_texture */ -#ifndef GL_AMD_compressed_3DC_texture -#define GL_3DC_X_AMD 0x87F9 -#define GL_3DC_XY_AMD 0x87FA -#endif - -/* GL_AMD_compressed_ATC_texture */ -#ifndef GL_AMD_compressed_ATC_texture -#define GL_ATC_RGB_AMD 0x8C92 -#define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD 0x8C93 -#define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE -#endif - -/* GL_AMD_performance_monitor */ -#ifndef GL_AMD_performance_monitor -#define GL_COUNTER_TYPE_AMD 0x8BC0 -#define GL_COUNTER_RANGE_AMD 0x8BC1 -#define GL_UNSIGNED_INT64_AMD 0x8BC2 -#define GL_PERCENTAGE_AMD 0x8BC3 -#define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4 -#define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5 -#define GL_PERFMON_RESULT_AMD 0x8BC6 -#endif - -/* GL_AMD_program_binary_Z400 */ -#ifndef GL_AMD_program_binary_Z400 -#define GL_Z400_BINARY_AMD 0x8740 -#endif - -/*------------------------------------------------------------------------* - * ANGLE extension tokens - *------------------------------------------------------------------------*/ - -/* GL_ANGLE_depth_texture */ -#ifndef GL_ANGLE_depth_texture -#define GL_DEPTH_COMPONENT 0x1902 -#define GL_DEPTH_STENCIL_OES 0x84F9 -#define GL_UNSIGNED_SHORT 0x1403 -#define GL_UNSIGNED_INT 0x1405 -#define GL_UNSIGNED_INT_24_8_OES 0x84FA -#define GL_DEPTH_COMPONENT16 0x81A5 -#define GL_DEPTH_COMPONENT32_OES 0x81A7 -#define GL_DEPTH24_STENCIL8_OES 0x88F0 -#endif - -/* GL_ANGLE_framebuffer_blit */ -#ifndef GL_ANGLE_framebuffer_blit -#define GL_READ_FRAMEBUFFER_ANGLE 0x8CA8 -#define GL_DRAW_FRAMEBUFFER_ANGLE 0x8CA9 -#define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE 0x8CA6 -#define GL_READ_FRAMEBUFFER_BINDING_ANGLE 0x8CAA -#endif - -/* GL_ANGLE_framebuffer_multisample */ -#ifndef GL_ANGLE_framebuffer_multisample -#define GL_RENDERBUFFER_SAMPLES_ANGLE 0x8CAB -#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE 0x8D56 -#define GL_MAX_SAMPLES_ANGLE 0x8D57 -#endif - -/* GL_ANGLE_instanced_arrays */ -#ifndef GL_ANGLE_instanced_arrays -#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE 0x88FE -#endif - -/* GL_ANGLE_pack_reverse_row_order */ -#ifndef GL_ANGLE_pack_reverse_row_order -#define GL_PACK_REVERSE_ROW_ORDER_ANGLE 0x93A4 -#endif - -/* GL_ANGLE_program_binary */ -#ifndef GL_ANGLE_program_binary -#define GL_PROGRAM_BINARY_ANGLE 0x93A6 -#endif - -/* GL_ANGLE_texture_compression_dxt3 */ -#ifndef GL_ANGLE_texture_compression_dxt3 -#define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE 0x83F2 -#endif - -/* GL_ANGLE_texture_compression_dxt5 */ -#ifndef GL_ANGLE_texture_compression_dxt5 -#define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE 0x83F3 -#endif - -/* GL_ANGLE_texture_usage */ -#ifndef GL_ANGLE_texture_usage -#define GL_TEXTURE_USAGE_ANGLE 0x93A2 -#define GL_FRAMEBUFFER_ATTACHMENT_ANGLE 0x93A3 -#endif - -/* GL_ANGLE_translated_shader_source */ -#ifndef GL_ANGLE_translated_shader_source -#define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE 0x93A0 -#endif - -/*------------------------------------------------------------------------* - * APPLE extension tokens - *------------------------------------------------------------------------*/ - -/* GL_APPLE_copy_texture_levels */ -/* No new tokens introduced by this extension. */ - -/* GL_APPLE_framebuffer_multisample */ -#ifndef GL_APPLE_framebuffer_multisample -#define GL_RENDERBUFFER_SAMPLES_APPLE 0x8CAB -#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE 0x8D56 -#define GL_MAX_SAMPLES_APPLE 0x8D57 -#define GL_READ_FRAMEBUFFER_APPLE 0x8CA8 -#define GL_DRAW_FRAMEBUFFER_APPLE 0x8CA9 -#define GL_DRAW_FRAMEBUFFER_BINDING_APPLE 0x8CA6 -#define GL_READ_FRAMEBUFFER_BINDING_APPLE 0x8CAA -#endif - -/* GL_APPLE_rgb_422 */ -#ifndef GL_APPLE_rgb_422 -#define GL_RGB_422_APPLE 0x8A1F -#define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA -#define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB -#endif - -/* GL_APPLE_sync */ -#ifndef GL_APPLE_sync - -#ifndef __gl3_h_ -/* These types are defined with reference to - * in the Apple extension spec, but here we use the Khronos - * portable types in khrplatform.h, and assume those types - * are always defined. - * If any other extensions using these types are defined, - * the typedefs must move out of this block and be shared. - */ -typedef khronos_int64_t GLint64; -typedef khronos_uint64_t GLuint64; -typedef struct __GLsync *GLsync; -#endif - -#define GL_SYNC_OBJECT_APPLE 0x8A53 -#define GL_MAX_SERVER_WAIT_TIMEOUT_APPLE 0x9111 -#define GL_OBJECT_TYPE_APPLE 0x9112 -#define GL_SYNC_CONDITION_APPLE 0x9113 -#define GL_SYNC_STATUS_APPLE 0x9114 -#define GL_SYNC_FLAGS_APPLE 0x9115 -#define GL_SYNC_FENCE_APPLE 0x9116 -#define GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE 0x9117 -#define GL_UNSIGNALED_APPLE 0x9118 -#define GL_SIGNALED_APPLE 0x9119 -#define GL_ALREADY_SIGNALED_APPLE 0x911A -#define GL_TIMEOUT_EXPIRED_APPLE 0x911B -#define GL_CONDITION_SATISFIED_APPLE 0x911C -#define GL_WAIT_FAILED_APPLE 0x911D -#define GL_SYNC_FLUSH_COMMANDS_BIT_APPLE 0x00000001 -#define GL_TIMEOUT_IGNORED_APPLE 0xFFFFFFFFFFFFFFFFull -#endif - -/* GL_APPLE_texture_format_BGRA8888 */ -#ifndef GL_APPLE_texture_format_BGRA8888 -#define GL_BGRA_EXT 0x80E1 -#endif - -/* GL_APPLE_texture_max_level */ -#ifndef GL_APPLE_texture_max_level -#define GL_TEXTURE_MAX_LEVEL_APPLE 0x813D -#endif - -/*------------------------------------------------------------------------* - * ARM extension tokens - *------------------------------------------------------------------------*/ - -/* GL_ARM_mali_program_binary */ -#ifndef GL_ARM_mali_program_binary -#define GL_MALI_PROGRAM_BINARY_ARM 0x8F61 -#endif - -/* GL_ARM_mali_shader_binary */ -#ifndef GL_ARM_mali_shader_binary -#define GL_MALI_SHADER_BINARY_ARM 0x8F60 -#endif - -/* GL_ARM_rgba8 */ -/* No new tokens introduced by this extension. */ - -/*------------------------------------------------------------------------* - * EXT extension tokens - *------------------------------------------------------------------------*/ - -/* GL_EXT_blend_minmax */ -#ifndef GL_EXT_blend_minmax -#define GL_MIN_EXT 0x8007 -#define GL_MAX_EXT 0x8008 -#endif - -/* GL_EXT_color_buffer_half_float */ -#ifndef GL_EXT_color_buffer_half_float -#define GL_RGBA16F_EXT 0x881A -#define GL_RGB16F_EXT 0x881B -#define GL_RG16F_EXT 0x822F -#define GL_R16F_EXT 0x822D -#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT 0x8211 -#define GL_UNSIGNED_NORMALIZED_EXT 0x8C17 -#endif - -/* GL_EXT_debug_label */ -#ifndef GL_EXT_debug_label -#define GL_PROGRAM_PIPELINE_OBJECT_EXT 0x8A4F -#define GL_PROGRAM_OBJECT_EXT 0x8B40 -#define GL_SHADER_OBJECT_EXT 0x8B48 -#define GL_BUFFER_OBJECT_EXT 0x9151 -#define GL_QUERY_OBJECT_EXT 0x9153 -#define GL_VERTEX_ARRAY_OBJECT_EXT 0x9154 -#endif - -/* GL_EXT_debug_marker */ -/* No new tokens introduced by this extension. */ - -/* GL_EXT_discard_framebuffer */ -#ifndef GL_EXT_discard_framebuffer -#define GL_COLOR_EXT 0x1800 -#define GL_DEPTH_EXT 0x1801 -#define GL_STENCIL_EXT 0x1802 -#endif - -/* GL_EXT_map_buffer_range */ -#ifndef GL_EXT_map_buffer_range -#define GL_MAP_READ_BIT_EXT 0x0001 -#define GL_MAP_WRITE_BIT_EXT 0x0002 -#define GL_MAP_INVALIDATE_RANGE_BIT_EXT 0x0004 -#define GL_MAP_INVALIDATE_BUFFER_BIT_EXT 0x0008 -#define GL_MAP_FLUSH_EXPLICIT_BIT_EXT 0x0010 -#define GL_MAP_UNSYNCHRONIZED_BIT_EXT 0x0020 -#endif - -/* GL_EXT_multisampled_render_to_texture */ -#ifndef GL_EXT_multisampled_render_to_texture -#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT 0x8D6C -/* reuse values from GL_EXT_framebuffer_multisample (desktop extension) */ -#define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB -#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56 -#define GL_MAX_SAMPLES_EXT 0x8D57 -#endif - -/* GL_EXT_multiview_draw_buffers */ -#ifndef GL_EXT_multiview_draw_buffers -#define GL_COLOR_ATTACHMENT_EXT 0x90F0 -#define GL_MULTIVIEW_EXT 0x90F1 -#define GL_DRAW_BUFFER_EXT 0x0C01 -#define GL_READ_BUFFER_EXT 0x0C02 -#define GL_MAX_MULTIVIEW_BUFFERS_EXT 0x90F2 -#endif - -/* GL_EXT_multi_draw_arrays */ -/* No new tokens introduced by this extension. */ - -/* GL_EXT_occlusion_query_boolean */ -#ifndef GL_EXT_occlusion_query_boolean -#define GL_ANY_SAMPLES_PASSED_EXT 0x8C2F -#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT 0x8D6A -#define GL_CURRENT_QUERY_EXT 0x8865 -#define GL_QUERY_RESULT_EXT 0x8866 -#define GL_QUERY_RESULT_AVAILABLE_EXT 0x8867 -#endif - -/* GL_EXT_read_format_bgra */ -#ifndef GL_EXT_read_format_bgra -#define GL_BGRA_EXT 0x80E1 -#define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT 0x8365 -#define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT 0x8366 -#endif - -/* GL_EXT_robustness */ -#ifndef GL_EXT_robustness -/* reuse GL_NO_ERROR */ -#define GL_GUILTY_CONTEXT_RESET_EXT 0x8253 -#define GL_INNOCENT_CONTEXT_RESET_EXT 0x8254 -#define GL_UNKNOWN_CONTEXT_RESET_EXT 0x8255 -#define GL_CONTEXT_ROBUST_ACCESS_EXT 0x90F3 -#define GL_RESET_NOTIFICATION_STRATEGY_EXT 0x8256 -#define GL_LOSE_CONTEXT_ON_RESET_EXT 0x8252 -#define GL_NO_RESET_NOTIFICATION_EXT 0x8261 -#endif - -/* GL_EXT_separate_shader_objects */ -#ifndef GL_EXT_separate_shader_objects -#define GL_VERTEX_SHADER_BIT_EXT 0x00000001 -#define GL_FRAGMENT_SHADER_BIT_EXT 0x00000002 -#define GL_ALL_SHADER_BITS_EXT 0xFFFFFFFF -#define GL_PROGRAM_SEPARABLE_EXT 0x8258 -#define GL_ACTIVE_PROGRAM_EXT 0x8259 -#define GL_PROGRAM_PIPELINE_BINDING_EXT 0x825A -#endif - -/* GL_EXT_shader_framebuffer_fetch */ -#ifndef GL_EXT_shader_framebuffer_fetch -#define GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT 0x8A52 -#endif - -/* GL_EXT_shader_texture_lod */ -/* No new tokens introduced by this extension. */ - -/* GL_EXT_shadow_samplers */ -#ifndef GL_EXT_shadow_samplers -#define GL_TEXTURE_COMPARE_MODE_EXT 0x884C -#define GL_TEXTURE_COMPARE_FUNC_EXT 0x884D -#define GL_COMPARE_REF_TO_TEXTURE_EXT 0x884E -#define GL_SAMPLER_2D_SHADOW_EXT 0x8B62 -#endif - -/* GL_EXT_sRGB */ -#ifndef GL_EXT_sRGB -#define GL_SRGB_EXT 0x8C40 -#define GL_SRGB_ALPHA_EXT 0x8C42 -#define GL_SRGB8_ALPHA8_EXT 0x8C43 -#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT 0x8210 -#endif - -/* GL_EXT_texture_compression_dxt1 */ -#ifndef GL_EXT_texture_compression_dxt1 -#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0 -#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1 -#endif - -/* GL_EXT_texture_filter_anisotropic */ -#ifndef GL_EXT_texture_filter_anisotropic -#define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE -#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF -#endif - -/* GL_EXT_texture_format_BGRA8888 */ -#ifndef GL_EXT_texture_format_BGRA8888 -#define GL_BGRA_EXT 0x80E1 -#endif - -/* GL_EXT_texture_rg */ -#ifndef GL_EXT_texture_rg -#define GL_RED_EXT 0x1903 -#define GL_RG_EXT 0x8227 -#define GL_R8_EXT 0x8229 -#define GL_RG8_EXT 0x822B -#endif - -/* GL_EXT_texture_storage */ -#ifndef GL_EXT_texture_storage -#define GL_TEXTURE_IMMUTABLE_FORMAT_EXT 0x912F -#define GL_ALPHA8_EXT 0x803C -#define GL_LUMINANCE8_EXT 0x8040 -#define GL_LUMINANCE8_ALPHA8_EXT 0x8045 -#define GL_RGBA32F_EXT 0x8814 -#define GL_RGB32F_EXT 0x8815 -#define GL_ALPHA32F_EXT 0x8816 -#define GL_LUMINANCE32F_EXT 0x8818 -#define GL_LUMINANCE_ALPHA32F_EXT 0x8819 -/* reuse GL_RGBA16F_EXT */ -/* reuse GL_RGB16F_EXT */ -#define GL_ALPHA16F_EXT 0x881C -#define GL_LUMINANCE16F_EXT 0x881E -#define GL_LUMINANCE_ALPHA16F_EXT 0x881F -#define GL_RGB10_A2_EXT 0x8059 -#define GL_RGB10_EXT 0x8052 -#define GL_BGRA8_EXT 0x93A1 -#define GL_R8_EXT 0x8229 -#define GL_RG8_EXT 0x822B -#define GL_R32F_EXT 0x822E -#define GL_RG32F_EXT 0x8230 -#define GL_R16F_EXT 0x822D -#define GL_RG16F_EXT 0x822F -#endif - -/* GL_EXT_texture_type_2_10_10_10_REV */ -#ifndef GL_EXT_texture_type_2_10_10_10_REV -#define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368 -#endif - -/* GL_EXT_unpack_subimage */ -#ifndef GL_EXT_unpack_subimage -#define GL_UNPACK_ROW_LENGTH_EXT 0x0CF2 -#define GL_UNPACK_SKIP_ROWS_EXT 0x0CF3 -#define GL_UNPACK_SKIP_PIXELS_EXT 0x0CF4 -#endif - -/*------------------------------------------------------------------------* - * DMP extension tokens - *------------------------------------------------------------------------*/ - -/* GL_DMP_shader_binary */ -#ifndef GL_DMP_shader_binary -#define GL_SHADER_BINARY_DMP 0x9250 -#endif - -/*------------------------------------------------------------------------* - * FJ extension tokens - *------------------------------------------------------------------------*/ - -/* GL_FJ_shader_binary_GCCSO */ -#ifndef GL_FJ_shader_binary_GCCSO -#define GL_GCCSO_SHADER_BINARY_F 0x9260 -#endif - -/*------------------------------------------------------------------------* - * IMG extension tokens - *------------------------------------------------------------------------*/ - -/* GL_IMG_program_binary */ -#ifndef GL_IMG_program_binary -#define GL_SGX_PROGRAM_BINARY_IMG 0x9130 -#endif - -/* GL_IMG_read_format */ -#ifndef GL_IMG_read_format -#define GL_BGRA_IMG 0x80E1 -#define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG 0x8365 -#endif - -/* GL_IMG_shader_binary */ -#ifndef GL_IMG_shader_binary -#define GL_SGX_BINARY_IMG 0x8C0A -#endif - -/* GL_IMG_texture_compression_pvrtc */ -#ifndef GL_IMG_texture_compression_pvrtc -#define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00 -#define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01 -#define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02 -#define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03 -#endif - -/* GL_IMG_texture_compression_pvrtc2 */ -#ifndef GL_IMG_texture_compression_pvrtc2 -#define GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG 0x9137 -#define GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG 0x9138 -#endif - -/* GL_IMG_multisampled_render_to_texture */ -#ifndef GL_IMG_multisampled_render_to_texture -#define GL_RENDERBUFFER_SAMPLES_IMG 0x9133 -#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG 0x9134 -#define GL_MAX_SAMPLES_IMG 0x9135 -#define GL_TEXTURE_SAMPLES_IMG 0x9136 -#endif - -/*------------------------------------------------------------------------* - * NV extension tokens - *------------------------------------------------------------------------*/ - -/* GL_NV_coverage_sample */ -#ifndef GL_NV_coverage_sample -#define GL_COVERAGE_COMPONENT_NV 0x8ED0 -#define GL_COVERAGE_COMPONENT4_NV 0x8ED1 -#define GL_COVERAGE_ATTACHMENT_NV 0x8ED2 -#define GL_COVERAGE_BUFFERS_NV 0x8ED3 -#define GL_COVERAGE_SAMPLES_NV 0x8ED4 -#define GL_COVERAGE_ALL_FRAGMENTS_NV 0x8ED5 -#define GL_COVERAGE_EDGE_FRAGMENTS_NV 0x8ED6 -#define GL_COVERAGE_AUTOMATIC_NV 0x8ED7 -#define GL_COVERAGE_BUFFER_BIT_NV 0x8000 -#endif - -/* GL_NV_depth_nonlinear */ -#ifndef GL_NV_depth_nonlinear -#define GL_DEPTH_COMPONENT16_NONLINEAR_NV 0x8E2C -#endif - -/* GL_NV_draw_buffers */ -#ifndef GL_NV_draw_buffers -#define GL_MAX_DRAW_BUFFERS_NV 0x8824 -#define GL_DRAW_BUFFER0_NV 0x8825 -#define GL_DRAW_BUFFER1_NV 0x8826 -#define GL_DRAW_BUFFER2_NV 0x8827 -#define GL_DRAW_BUFFER3_NV 0x8828 -#define GL_DRAW_BUFFER4_NV 0x8829 -#define GL_DRAW_BUFFER5_NV 0x882A -#define GL_DRAW_BUFFER6_NV 0x882B -#define GL_DRAW_BUFFER7_NV 0x882C -#define GL_DRAW_BUFFER8_NV 0x882D -#define GL_DRAW_BUFFER9_NV 0x882E -#define GL_DRAW_BUFFER10_NV 0x882F -#define GL_DRAW_BUFFER11_NV 0x8830 -#define GL_DRAW_BUFFER12_NV 0x8831 -#define GL_DRAW_BUFFER13_NV 0x8832 -#define GL_DRAW_BUFFER14_NV 0x8833 -#define GL_DRAW_BUFFER15_NV 0x8834 -#define GL_COLOR_ATTACHMENT0_NV 0x8CE0 -#define GL_COLOR_ATTACHMENT1_NV 0x8CE1 -#define GL_COLOR_ATTACHMENT2_NV 0x8CE2 -#define GL_COLOR_ATTACHMENT3_NV 0x8CE3 -#define GL_COLOR_ATTACHMENT4_NV 0x8CE4 -#define GL_COLOR_ATTACHMENT5_NV 0x8CE5 -#define GL_COLOR_ATTACHMENT6_NV 0x8CE6 -#define GL_COLOR_ATTACHMENT7_NV 0x8CE7 -#define GL_COLOR_ATTACHMENT8_NV 0x8CE8 -#define GL_COLOR_ATTACHMENT9_NV 0x8CE9 -#define GL_COLOR_ATTACHMENT10_NV 0x8CEA -#define GL_COLOR_ATTACHMENT11_NV 0x8CEB -#define GL_COLOR_ATTACHMENT12_NV 0x8CEC -#define GL_COLOR_ATTACHMENT13_NV 0x8CED -#define GL_COLOR_ATTACHMENT14_NV 0x8CEE -#define GL_COLOR_ATTACHMENT15_NV 0x8CEF -#endif - -/* GL_EXT_draw_buffers */ -#ifndef GL_EXT_draw_buffers -#define GL_MAX_DRAW_BUFFERS_EXT 0x8824 -#define GL_DRAW_BUFFER0_EXT 0x8825 -#define GL_DRAW_BUFFER1_EXT 0x8826 -#define GL_DRAW_BUFFER2_EXT 0x8827 -#define GL_DRAW_BUFFER3_EXT 0x8828 -#define GL_DRAW_BUFFER4_EXT 0x8829 -#define GL_DRAW_BUFFER5_EXT 0x882A -#define GL_DRAW_BUFFER6_EXT 0x882B -#define GL_DRAW_BUFFER7_EXT 0x882C -#define GL_DRAW_BUFFER8_EXT 0x882D -#define GL_DRAW_BUFFER9_EXT 0x882E -#define GL_DRAW_BUFFER10_EXT 0x882F -#define GL_DRAW_BUFFER11_EXT 0x8830 -#define GL_DRAW_BUFFER12_EXT 0x8831 -#define GL_DRAW_BUFFER13_EXT 0x8832 -#define GL_DRAW_BUFFER14_EXT 0x8833 -#define GL_DRAW_BUFFER15_EXT 0x8834 -#define GL_COLOR_ATTACHMENT0_EXT 0x8CE0 -#define GL_COLOR_ATTACHMENT1_EXT 0x8CE1 -#define GL_COLOR_ATTACHMENT2_EXT 0x8CE2 -#define GL_COLOR_ATTACHMENT3_EXT 0x8CE3 -#define GL_COLOR_ATTACHMENT4_EXT 0x8CE4 -#define GL_COLOR_ATTACHMENT5_EXT 0x8CE5 -#define GL_COLOR_ATTACHMENT6_EXT 0x8CE6 -#define GL_COLOR_ATTACHMENT7_EXT 0x8CE7 -#define GL_COLOR_ATTACHMENT8_EXT 0x8CE8 -#define GL_COLOR_ATTACHMENT9_EXT 0x8CE9 -#define GL_COLOR_ATTACHMENT10_EXT 0x8CEA -#define GL_COLOR_ATTACHMENT11_EXT 0x8CEB -#define GL_COLOR_ATTACHMENT12_EXT 0x8CEC -#define GL_COLOR_ATTACHMENT13_EXT 0x8CED -#define GL_COLOR_ATTACHMENT14_EXT 0x8CEE -#define GL_COLOR_ATTACHMENT15_EXT 0x8CEF -#define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF -#endif - -/* GL_NV_draw_instanced */ -/* No new tokens introduced by this extension. */ - -/* GL_NV_fbo_color_attachments */ -#ifndef GL_NV_fbo_color_attachments -#define GL_MAX_COLOR_ATTACHMENTS_NV 0x8CDF -/* GL_COLOR_ATTACHMENT{0-15}_NV defined in GL_NV_draw_buffers already. */ -#endif - -/* GL_NV_fence */ -#ifndef GL_NV_fence -#define GL_ALL_COMPLETED_NV 0x84F2 -#define GL_FENCE_STATUS_NV 0x84F3 -#define GL_FENCE_CONDITION_NV 0x84F4 -#endif - -/* GL_NV_framebuffer_blit */ -#ifndef GL_NV_framebuffer_blit -#define GL_READ_FRAMEBUFFER_NV 0x8CA8 -#define GL_DRAW_FRAMEBUFFER_NV 0x8CA9 -#define GL_DRAW_FRAMEBUFFER_BINDING_NV 0x8CA6 -#define GL_READ_FRAMEBUFFER_BINDING_NV 0x8CAA -#endif - -/* GL_NV_framebuffer_multisample */ -#ifndef GL_NV_framebuffer_multisample -#define GL_RENDERBUFFER_SAMPLES_NV 0x8CAB -#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV 0x8D56 -#define GL_MAX_SAMPLES_NV 0x8D57 -#endif - -/* GL_NV_generate_mipmap_sRGB */ -/* No new tokens introduced by this extension. */ - -/* GL_NV_instanced_arrays */ -#ifndef GL_NV_instanced_arrays -#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_NV 0x88FE -#endif - -/* GL_NV_read_buffer */ -#ifndef GL_NV_read_buffer -#define GL_READ_BUFFER_NV 0x0C02 -#endif - -/* GL_NV_read_buffer_front */ -/* No new tokens introduced by this extension. */ - -/* GL_NV_read_depth */ -/* No new tokens introduced by this extension. */ - -/* GL_NV_read_depth_stencil */ -/* No new tokens introduced by this extension. */ - -/* GL_NV_read_stencil */ -/* No new tokens introduced by this extension. */ - -/* GL_NV_shadow_samplers_array */ -#ifndef GL_NV_shadow_samplers_array -#define GL_SAMPLER_2D_ARRAY_SHADOW_NV 0x8DC4 -#endif - -/* GL_NV_shadow_samplers_cube */ -#ifndef GL_NV_shadow_samplers_cube -#define GL_SAMPLER_CUBE_SHADOW_NV 0x8DC5 -#endif - -/* GL_NV_sRGB_formats */ -#ifndef GL_NV_sRGB_formats -#define GL_SLUMINANCE_NV 0x8C46 -#define GL_SLUMINANCE_ALPHA_NV 0x8C44 -#define GL_SRGB8_NV 0x8C41 -#define GL_SLUMINANCE8_NV 0x8C47 -#define GL_SLUMINANCE8_ALPHA8_NV 0x8C45 -#define GL_COMPRESSED_SRGB_S3TC_DXT1_NV 0x8C4C -#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV 0x8C4D -#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV 0x8C4E -#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV 0x8C4F -#define GL_ETC1_SRGB8_NV 0x88EE -#endif - -/* GL_NV_texture_border_clamp */ -#ifndef GL_NV_texture_border_clamp -#define GL_TEXTURE_BORDER_COLOR_NV 0x1004 -#define GL_CLAMP_TO_BORDER_NV 0x812D -#endif - -/* GL_NV_texture_compression_s3tc_update */ -/* No new tokens introduced by this extension. */ - -/* GL_NV_texture_npot_2D_mipmap */ -/* No new tokens introduced by this extension. */ - -/*------------------------------------------------------------------------* - * QCOM extension tokens - *------------------------------------------------------------------------*/ - -/* GL_QCOM_alpha_test */ -#ifndef GL_QCOM_alpha_test -#define GL_ALPHA_TEST_QCOM 0x0BC0 -#define GL_ALPHA_TEST_FUNC_QCOM 0x0BC1 -#define GL_ALPHA_TEST_REF_QCOM 0x0BC2 -#endif - -/* GL_QCOM_binning_control */ -#ifndef GL_QCOM_binning_control -#define GL_BINNING_CONTROL_HINT_QCOM 0x8FB0 -#define GL_CPU_OPTIMIZED_QCOM 0x8FB1 -#define GL_GPU_OPTIMIZED_QCOM 0x8FB2 -#define GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM 0x8FB3 -#endif - -/* GL_QCOM_driver_control */ -/* No new tokens introduced by this extension. */ - -/* GL_QCOM_extended_get */ -#ifndef GL_QCOM_extended_get -#define GL_TEXTURE_WIDTH_QCOM 0x8BD2 -#define GL_TEXTURE_HEIGHT_QCOM 0x8BD3 -#define GL_TEXTURE_DEPTH_QCOM 0x8BD4 -#define GL_TEXTURE_INTERNAL_FORMAT_QCOM 0x8BD5 -#define GL_TEXTURE_FORMAT_QCOM 0x8BD6 -#define GL_TEXTURE_TYPE_QCOM 0x8BD7 -#define GL_TEXTURE_IMAGE_VALID_QCOM 0x8BD8 -#define GL_TEXTURE_NUM_LEVELS_QCOM 0x8BD9 -#define GL_TEXTURE_TARGET_QCOM 0x8BDA -#define GL_TEXTURE_OBJECT_VALID_QCOM 0x8BDB -#define GL_STATE_RESTORE 0x8BDC -#endif - -/* GL_QCOM_extended_get2 */ -/* No new tokens introduced by this extension. */ - -/* GL_QCOM_perfmon_global_mode */ -#ifndef GL_QCOM_perfmon_global_mode -#define GL_PERFMON_GLOBAL_MODE_QCOM 0x8FA0 -#endif - -/* GL_QCOM_writeonly_rendering */ -#ifndef GL_QCOM_writeonly_rendering -#define GL_WRITEONLY_RENDERING_QCOM 0x8823 -#endif - -/* GL_QCOM_tiled_rendering */ -#ifndef GL_QCOM_tiled_rendering -#define GL_COLOR_BUFFER_BIT0_QCOM 0x00000001 -#define GL_COLOR_BUFFER_BIT1_QCOM 0x00000002 -#define GL_COLOR_BUFFER_BIT2_QCOM 0x00000004 -#define GL_COLOR_BUFFER_BIT3_QCOM 0x00000008 -#define GL_COLOR_BUFFER_BIT4_QCOM 0x00000010 -#define GL_COLOR_BUFFER_BIT5_QCOM 0x00000020 -#define GL_COLOR_BUFFER_BIT6_QCOM 0x00000040 -#define GL_COLOR_BUFFER_BIT7_QCOM 0x00000080 -#define GL_DEPTH_BUFFER_BIT0_QCOM 0x00000100 -#define GL_DEPTH_BUFFER_BIT1_QCOM 0x00000200 -#define GL_DEPTH_BUFFER_BIT2_QCOM 0x00000400 -#define GL_DEPTH_BUFFER_BIT3_QCOM 0x00000800 -#define GL_DEPTH_BUFFER_BIT4_QCOM 0x00001000 -#define GL_DEPTH_BUFFER_BIT5_QCOM 0x00002000 -#define GL_DEPTH_BUFFER_BIT6_QCOM 0x00004000 -#define GL_DEPTH_BUFFER_BIT7_QCOM 0x00008000 -#define GL_STENCIL_BUFFER_BIT0_QCOM 0x00010000 -#define GL_STENCIL_BUFFER_BIT1_QCOM 0x00020000 -#define GL_STENCIL_BUFFER_BIT2_QCOM 0x00040000 -#define GL_STENCIL_BUFFER_BIT3_QCOM 0x00080000 -#define GL_STENCIL_BUFFER_BIT4_QCOM 0x00100000 -#define GL_STENCIL_BUFFER_BIT5_QCOM 0x00200000 -#define GL_STENCIL_BUFFER_BIT6_QCOM 0x00400000 -#define GL_STENCIL_BUFFER_BIT7_QCOM 0x00800000 -#define GL_MULTISAMPLE_BUFFER_BIT0_QCOM 0x01000000 -#define GL_MULTISAMPLE_BUFFER_BIT1_QCOM 0x02000000 -#define GL_MULTISAMPLE_BUFFER_BIT2_QCOM 0x04000000 -#define GL_MULTISAMPLE_BUFFER_BIT3_QCOM 0x08000000 -#define GL_MULTISAMPLE_BUFFER_BIT4_QCOM 0x10000000 -#define GL_MULTISAMPLE_BUFFER_BIT5_QCOM 0x20000000 -#define GL_MULTISAMPLE_BUFFER_BIT6_QCOM 0x40000000 -#define GL_MULTISAMPLE_BUFFER_BIT7_QCOM 0x80000000 -#endif - -/*------------------------------------------------------------------------* - * VIV extension tokens - *------------------------------------------------------------------------*/ - -/* GL_VIV_shader_binary */ -#ifndef GL_VIV_shader_binary -#define GL_SHADER_BINARY_VIV 0x8FC4 -#endif - -/*------------------------------------------------------------------------* - * End of extension tokens, start of corresponding extension functions - *------------------------------------------------------------------------*/ - -/*------------------------------------------------------------------------* - * OES extension functions - *------------------------------------------------------------------------*/ - -/* GL_OES_compressed_ETC1_RGB8_texture */ -#ifndef GL_OES_compressed_ETC1_RGB8_texture -#define GL_OES_compressed_ETC1_RGB8_texture 1 -#endif - -/* GL_OES_compressed_paletted_texture */ -#ifndef GL_OES_compressed_paletted_texture -#define GL_OES_compressed_paletted_texture 1 -#endif - -/* GL_OES_depth24 */ -#ifndef GL_OES_depth24 -#define GL_OES_depth24 1 -#endif - -/* GL_OES_depth32 */ -#ifndef GL_OES_depth32 -#define GL_OES_depth32 1 -#endif - -/* GL_OES_depth_texture */ -#ifndef GL_OES_depth_texture -#define GL_OES_depth_texture 1 -#endif - -/* GL_OES_EGL_image */ -#ifndef GL_OES_EGL_image -#define GL_OES_EGL_image 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image); -GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image); -#endif -typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image); -typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image); -#endif - -/* GL_OES_EGL_image_external */ -#ifndef GL_OES_EGL_image_external -#define GL_OES_EGL_image_external 1 -/* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */ -#endif - -/* GL_OES_element_index_uint */ -#ifndef GL_OES_element_index_uint -#define GL_OES_element_index_uint 1 -#endif - -/* GL_OES_fbo_render_mipmap */ -#ifndef GL_OES_fbo_render_mipmap -#define GL_OES_fbo_render_mipmap 1 -#endif - -/* GL_OES_fragment_precision_high */ -#ifndef GL_OES_fragment_precision_high -#define GL_OES_fragment_precision_high 1 -#endif - -/* GL_OES_get_program_binary */ -#ifndef GL_OES_get_program_binary -#define GL_OES_get_program_binary 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary); -GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length); -#endif -typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary); -typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length); -#endif - -/* GL_OES_mapbuffer */ -#ifndef GL_OES_mapbuffer -#define GL_OES_mapbuffer 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access); -GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target); -GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid** params); -#endif -typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access); -typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target); -typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid** params); -#endif - -/* GL_OES_packed_depth_stencil */ -#ifndef GL_OES_packed_depth_stencil -#define GL_OES_packed_depth_stencil 1 -#endif - -/* GL_OES_required_internalformat */ -#ifndef GL_OES_required_internalformat -#define GL_OES_required_internalformat 1 -#endif - -/* GL_OES_rgb8_rgba8 */ -#ifndef GL_OES_rgb8_rgba8 -#define GL_OES_rgb8_rgba8 1 -#endif - -/* GL_OES_standard_derivatives */ -#ifndef GL_OES_standard_derivatives -#define GL_OES_standard_derivatives 1 -#endif - -/* GL_OES_stencil1 */ -#ifndef GL_OES_stencil1 -#define GL_OES_stencil1 1 -#endif - -/* GL_OES_stencil4 */ -#ifndef GL_OES_stencil4 -#define GL_OES_stencil4 1 -#endif - -#ifndef GL_OES_surfaceless_context -#define GL_OES_surfaceless_context 1 -#endif - -/* GL_OES_texture_3D */ -#ifndef GL_OES_texture_3D -#define GL_OES_texture_3D 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels); -GL_APICALL void GL_APIENTRY glTexSubImage3DOES (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 glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); -GL_APICALL void GL_APIENTRY glCompressedTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data); -GL_APICALL void GL_APIENTRY glCompressedTexSubImage3DOES (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 glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); -#endif -typedef void (GL_APIENTRYP PFNGLTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels); -typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels); -typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); -typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data); -typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data); -typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); -#endif - -/* GL_OES_texture_float */ -#ifndef GL_OES_texture_float -#define GL_OES_texture_float 1 -#endif - -/* GL_OES_texture_float_linear */ -#ifndef GL_OES_texture_float_linear -#define GL_OES_texture_float_linear 1 -#endif - -/* GL_OES_texture_half_float */ -#ifndef GL_OES_texture_half_float -#define GL_OES_texture_half_float 1 -#endif - -/* GL_OES_texture_half_float_linear */ -#ifndef GL_OES_texture_half_float_linear -#define GL_OES_texture_half_float_linear 1 -#endif - -/* GL_OES_texture_npot */ -#ifndef GL_OES_texture_npot -#define GL_OES_texture_npot 1 -#endif - -/* GL_OES_vertex_array_object */ -#ifndef GL_OES_vertex_array_object -#define GL_OES_vertex_array_object 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array); -GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays); -GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays); -GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array); -#endif -typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array); -typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays); -typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays); -typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array); -#endif - -/* GL_OES_vertex_half_float */ -#ifndef GL_OES_vertex_half_float -#define GL_OES_vertex_half_float 1 -#endif - -/* GL_OES_vertex_type_10_10_10_2 */ -#ifndef GL_OES_vertex_type_10_10_10_2 -#define GL_OES_vertex_type_10_10_10_2 1 -#endif - -/*------------------------------------------------------------------------* - * KHR extension functions - *------------------------------------------------------------------------*/ - -#ifndef GL_KHR_debug -#define GL_KHR_debug 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glDebugMessageControl (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled); -GL_APICALL void GL_APIENTRY glDebugMessageInsert (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf); -GL_APICALL void GL_APIENTRY glDebugMessageCallback (GLDEBUGPROC callback, const void *userParam); -GL_APICALL GLuint GL_APIENTRY glGetDebugMessageLog (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog); -GL_APICALL void GL_APIENTRY glPushDebugGroup (GLenum source, GLuint id, GLsizei length, const GLchar *message); -GL_APICALL void GL_APIENTRY glPopDebugGroup (void); -GL_APICALL void GL_APIENTRY glObjectLabel (GLenum identifier, GLuint name, GLsizei length, const GLchar *label); -GL_APICALL void GL_APIENTRY glGetObjectLabel (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label); -GL_APICALL void GL_APIENTRY glObjectPtrLabel (const void *ptr, GLsizei length, const GLchar *label); -GL_APICALL void GL_APIENTRY glGetObjectPtrLabel (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label); -GL_APICALL void GL_APIENTRY glGetPointerv (GLenum pname, void **params); -#endif -typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECONTROLPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled); -typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGEINSERTPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf); -typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECALLBACKPROC) (GLDEBUGPROC callback, const void *userParam); -typedef GLuint (GL_APIENTRYP PFNGLGETDEBUGMESSAGELOGPROC) (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog); -typedef void (GL_APIENTRYP PFNGLPUSHDEBUGGROUPPROC) (GLenum source, GLuint id, GLsizei length, const GLchar *message); -typedef void (GL_APIENTRYP PFNGLPOPDEBUGGROUPPROC) (void); -typedef void (GL_APIENTRYP PFNGLOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei length, const GLchar *label); -typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label); -typedef void (GL_APIENTRYP PFNGLOBJECTPTRLABELPROC) (const void *ptr, GLsizei length, const GLchar *label); -typedef void (GL_APIENTRYP PFNGLGETOBJECTPTRLABELPROC) (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label); -typedef void (GL_APIENTRYP PFNGLGETPOINTERVPROC) (GLenum pname, void **params); -#endif - -#ifndef GL_KHR_texture_compression_astc_ldr -#define GL_KHR_texture_compression_astc_ldr 1 -#endif - - -/*------------------------------------------------------------------------* - * AMD extension functions - *------------------------------------------------------------------------*/ - -/* GL_AMD_compressed_3DC_texture */ -#ifndef GL_AMD_compressed_3DC_texture -#define GL_AMD_compressed_3DC_texture 1 -#endif - -/* GL_AMD_compressed_ATC_texture */ -#ifndef GL_AMD_compressed_ATC_texture -#define GL_AMD_compressed_ATC_texture 1 -#endif - -/* AMD_performance_monitor */ -#ifndef GL_AMD_performance_monitor -#define GL_AMD_performance_monitor 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups); -GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters); -GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString); -GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString); -GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data); -GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors); -GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors); -GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList); -GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor); -GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor); -GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten); -#endif -typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups); -typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters); -typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString); -typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString); -typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data); -typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors); -typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors); -typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList); -typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor); -typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor); -typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten); -#endif - -/* GL_AMD_program_binary_Z400 */ -#ifndef GL_AMD_program_binary_Z400 -#define GL_AMD_program_binary_Z400 1 -#endif - -/*------------------------------------------------------------------------* - * ANGLE extension functions - *------------------------------------------------------------------------*/ - -/* GL_ANGLE_depth_texture */ -#ifndef GL_ANGLE_depth_texture -#define GL_ANGLE_depth_texture 1 -#endif - -/* GL_ANGLE_framebuffer_blit */ -#ifndef GL_ANGLE_framebuffer_blit -#define GL_ANGLE_framebuffer_blit 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glBlitFramebufferANGLE (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); -#endif -typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERANGLEPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); -#endif - -/* GL_ANGLE_framebuffer_multisample */ -#ifndef GL_ANGLE_framebuffer_multisample -#define GL_ANGLE_framebuffer_multisample 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); -#endif -typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); -#endif - -#ifndef GL_ANGLE_instanced_arrays -#define GL_ANGLE_instanced_arrays 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glDrawArraysInstancedANGLE (GLenum mode, GLint first, GLsizei count, GLsizei primcount); -GL_APICALL void GL_APIENTRY glDrawElementsInstancedANGLE (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); -GL_APICALL void GL_APIENTRY glVertexAttribDivisorANGLE (GLuint index, GLuint divisor); -#endif -typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount); -typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); -typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISORANGLEPROC) (GLuint index, GLuint divisor); -#endif - -/* GL_ANGLE_pack_reverse_row_order */ -#ifndef GL_ANGLE_pack_reverse_row_order -#define GL_ANGLE_pack_reverse_row_order 1 -#endif - -/* GL_ANGLE_program_binary */ -#ifndef GL_ANGLE_program_binary -#define GL_ANGLE_program_binary 1 -#endif - -/* GL_ANGLE_texture_compression_dxt3 */ -#ifndef GL_ANGLE_texture_compression_dxt3 -#define GL_ANGLE_texture_compression_dxt3 1 -#endif - -/* GL_ANGLE_texture_compression_dxt5 */ -#ifndef GL_ANGLE_texture_compression_dxt5 -#define GL_ANGLE_texture_compression_dxt5 1 -#endif - -/* GL_ANGLE_texture_usage */ -#ifndef GL_ANGLE_texture_usage -#define GL_ANGLE_texture_usage 1 -#endif - -#ifndef GL_ANGLE_translated_shader_source -#define GL_ANGLE_translated_shader_source 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glGetTranslatedShaderSourceANGLE (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source); -#endif -typedef void (GL_APIENTRYP PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC) (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source); -#endif - -/*------------------------------------------------------------------------* - * APPLE extension functions - *------------------------------------------------------------------------*/ - -/* GL_APPLE_copy_texture_levels */ -#ifndef GL_APPLE_copy_texture_levels -#define GL_APPLE_copy_texture_levels 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glCopyTextureLevelsAPPLE (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount); -#endif -typedef void (GL_APIENTRYP PFNGLCOPYTEXTURELEVELSAPPLEPROC) (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount); -#endif - -/* GL_APPLE_framebuffer_multisample */ -#ifndef GL_APPLE_framebuffer_multisample -#define GL_APPLE_framebuffer_multisample 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum, GLsizei, GLenum, GLsizei, GLsizei); -GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void); -#endif /* GL_GLEXT_PROTOTYPES */ -typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); -typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void); -#endif - -/* GL_APPLE_rgb_422 */ -#ifndef GL_APPLE_rgb_422 -#define GL_APPLE_rgb_422 1 -#endif - -/* GL_APPLE_sync */ -#ifndef GL_APPLE_sync -#define GL_APPLE_sync 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL GLsync GL_APIENTRY glFenceSyncAPPLE (GLenum condition, GLbitfield flags); -GL_APICALL GLboolean GL_APIENTRY glIsSyncAPPLE (GLsync sync); -GL_APICALL void GL_APIENTRY glDeleteSyncAPPLE (GLsync sync); -GL_APICALL GLenum GL_APIENTRY glClientWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout); -GL_APICALL void GL_APIENTRY glWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout); -GL_APICALL void GL_APIENTRY glGetInteger64vAPPLE (GLenum pname, GLint64 *params); -GL_APICALL void GL_APIENTRY glGetSyncivAPPLE (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); -#endif -typedef GLsync (GL_APIENTRYP PFNGLFENCESYNCAPPLEPROC) (GLenum condition, GLbitfield flags); -typedef GLboolean (GL_APIENTRYP PFNGLISSYNCAPPLEPROC) (GLsync sync); -typedef void (GL_APIENTRYP PFNGLDELETESYNCAPPLEPROC) (GLsync sync); -typedef GLenum (GL_APIENTRYP PFNGLCLIENTWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout); -typedef void (GL_APIENTRYP PFNGLWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout); -typedef void (GL_APIENTRYP PFNGLGETINTEGER64VAPPLEPROC) (GLenum pname, GLint64 *params); -typedef void (GL_APIENTRYP PFNGLGETSYNCIVAPPLEPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); -#endif - -/* GL_APPLE_texture_format_BGRA8888 */ -#ifndef GL_APPLE_texture_format_BGRA8888 -#define GL_APPLE_texture_format_BGRA8888 1 -#endif - -/* GL_APPLE_texture_max_level */ -#ifndef GL_APPLE_texture_max_level -#define GL_APPLE_texture_max_level 1 -#endif - -/*------------------------------------------------------------------------* - * ARM extension functions - *------------------------------------------------------------------------*/ - -/* GL_ARM_mali_program_binary */ -#ifndef GL_ARM_mali_program_binary -#define GL_ARM_mali_program_binary 1 -#endif - -/* GL_ARM_mali_shader_binary */ -#ifndef GL_ARM_mali_shader_binary -#define GL_ARM_mali_shader_binary 1 -#endif - -/* GL_ARM_rgba8 */ -#ifndef GL_ARM_rgba8 -#define GL_ARM_rgba8 1 -#endif - -/*------------------------------------------------------------------------* - * EXT extension functions - *------------------------------------------------------------------------*/ - -/* GL_EXT_blend_minmax */ -#ifndef GL_EXT_blend_minmax -#define GL_EXT_blend_minmax 1 -#endif - -/* GL_EXT_color_buffer_half_float */ -#ifndef GL_EXT_color_buffer_half_float -#define GL_EXT_color_buffer_half_float 1 -#endif - -/* GL_EXT_debug_label */ -#ifndef GL_EXT_debug_label -#define GL_EXT_debug_label 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glLabelObjectEXT (GLenum type, GLuint object, GLsizei length, const GLchar *label); -GL_APICALL void GL_APIENTRY glGetObjectLabelEXT (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label); -#endif -typedef void (GL_APIENTRYP PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar *label); -typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELEXTPROC) (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label); -#endif - -/* GL_EXT_debug_marker */ -#ifndef GL_EXT_debug_marker -#define GL_EXT_debug_marker 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker); -GL_APICALL void GL_APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker); -GL_APICALL void GL_APIENTRY glPopGroupMarkerEXT (void); -#endif -typedef void (GL_APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker); -typedef void (GL_APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker); -typedef void (GL_APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void); -#endif - -/* GL_EXT_discard_framebuffer */ -#ifndef GL_EXT_discard_framebuffer -#define GL_EXT_discard_framebuffer 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments); -#endif -typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments); -#endif - -/* GL_EXT_map_buffer_range */ -#ifndef GL_EXT_map_buffer_range -#define GL_EXT_map_buffer_range 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void* GL_APIENTRY glMapBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); -GL_APICALL void GL_APIENTRY glFlushMappedBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length); -#endif -typedef void* (GL_APIENTRYP PFNGLMAPBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); -typedef void (GL_APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length); -#endif - -/* GL_EXT_multisampled_render_to_texture */ -#ifndef GL_EXT_multisampled_render_to_texture -#define GL_EXT_multisampled_render_to_texture 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum, GLsizei, GLenum, GLsizei, GLsizei); -GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleEXT (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei); -#endif -typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); -typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); -#endif - -/* GL_EXT_multiview_draw_buffers */ -#ifndef GL_EXT_multiview_draw_buffers -#define GL_EXT_multiview_draw_buffers 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glReadBufferIndexedEXT (GLenum src, GLint index); -GL_APICALL void GL_APIENTRY glDrawBuffersIndexedEXT (GLint n, const GLenum *location, const GLint *indices); -GL_APICALL void GL_APIENTRY glGetIntegeri_vEXT (GLenum target, GLuint index, GLint *data); -#endif -typedef void (GL_APIENTRYP PFNGLREADBUFFERINDEXEDEXTPROC) (GLenum src, GLint index); -typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSINDEXEDEXTPROC) (GLint n, const GLenum *location, const GLint *indices); -typedef void (GL_APIENTRYP PFNGLGETINTEGERI_VEXTPROC) (GLenum target, GLuint index, GLint *data); -#endif - -#ifndef GL_EXT_multi_draw_arrays -#define GL_EXT_multi_draw_arrays 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum, const GLint *, const GLsizei *, GLsizei); -GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei); -#endif /* GL_GLEXT_PROTOTYPES */ -typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount); -typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount); -#endif - -/* GL_EXT_occlusion_query_boolean */ -#ifndef GL_EXT_occlusion_query_boolean -#define GL_EXT_occlusion_query_boolean 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glGenQueriesEXT (GLsizei n, GLuint *ids); -GL_APICALL void GL_APIENTRY glDeleteQueriesEXT (GLsizei n, const GLuint *ids); -GL_APICALL GLboolean GL_APIENTRY glIsQueryEXT (GLuint id); -GL_APICALL void GL_APIENTRY glBeginQueryEXT (GLenum target, GLuint id); -GL_APICALL void GL_APIENTRY glEndQueryEXT (GLenum target); -GL_APICALL void GL_APIENTRY glGetQueryivEXT (GLenum target, GLenum pname, GLint *params); -GL_APICALL void GL_APIENTRY glGetQueryObjectuivEXT (GLuint id, GLenum pname, GLuint *params); -#endif -typedef void (GL_APIENTRYP PFNGLGENQUERIESEXTPROC) (GLsizei n, GLuint *ids); -typedef void (GL_APIENTRYP PFNGLDELETEQUERIESEXTPROC) (GLsizei n, const GLuint *ids); -typedef GLboolean (GL_APIENTRYP PFNGLISQUERYEXTPROC) (GLuint id); -typedef void (GL_APIENTRYP PFNGLBEGINQUERYEXTPROC) (GLenum target, GLuint id); -typedef void (GL_APIENTRYP PFNGLENDQUERYEXTPROC) (GLenum target); -typedef void (GL_APIENTRYP PFNGLGETQUERYIVEXTPROC) (GLenum target, GLenum pname, GLint *params); -typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVEXTPROC) (GLuint id, GLenum pname, GLuint *params); -#endif - -/* GL_EXT_read_format_bgra */ -#ifndef GL_EXT_read_format_bgra -#define GL_EXT_read_format_bgra 1 -#endif - -/* GL_EXT_robustness */ -#ifndef GL_EXT_robustness -#define GL_EXT_robustness 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusEXT (void); -GL_APICALL void GL_APIENTRY glReadnPixelsEXT (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); -GL_APICALL void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, float *params); -GL_APICALL void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params); -#endif -typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void); -typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); -typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, float *params); -typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params); -#endif - -/* GL_EXT_separate_shader_objects */ -#ifndef GL_EXT_separate_shader_objects -#define GL_EXT_separate_shader_objects 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glUseProgramStagesEXT (GLuint pipeline, GLbitfield stages, GLuint program); -GL_APICALL void GL_APIENTRY glActiveShaderProgramEXT (GLuint pipeline, GLuint program); -GL_APICALL GLuint GL_APIENTRY glCreateShaderProgramvEXT (GLenum type, GLsizei count, const GLchar **strings); -GL_APICALL void GL_APIENTRY glBindProgramPipelineEXT (GLuint pipeline); -GL_APICALL void GL_APIENTRY glDeleteProgramPipelinesEXT (GLsizei n, const GLuint *pipelines); -GL_APICALL void GL_APIENTRY glGenProgramPipelinesEXT (GLsizei n, GLuint *pipelines); -GL_APICALL GLboolean GL_APIENTRY glIsProgramPipelineEXT (GLuint pipeline); -GL_APICALL void GL_APIENTRY glProgramParameteriEXT (GLuint program, GLenum pname, GLint value); -GL_APICALL void GL_APIENTRY glGetProgramPipelineivEXT (GLuint pipeline, GLenum pname, GLint *params); -GL_APICALL void GL_APIENTRY glProgramUniform1iEXT (GLuint program, GLint location, GLint x); -GL_APICALL void GL_APIENTRY glProgramUniform2iEXT (GLuint program, GLint location, GLint x, GLint y); -GL_APICALL void GL_APIENTRY glProgramUniform3iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z); -GL_APICALL void GL_APIENTRY glProgramUniform4iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w); -GL_APICALL void GL_APIENTRY glProgramUniform1fEXT (GLuint program, GLint location, GLfloat x); -GL_APICALL void GL_APIENTRY glProgramUniform2fEXT (GLuint program, GLint location, GLfloat x, GLfloat y); -GL_APICALL void GL_APIENTRY glProgramUniform3fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z); -GL_APICALL void GL_APIENTRY glProgramUniform4fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); -GL_APICALL void GL_APIENTRY glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); -GL_APICALL void GL_APIENTRY glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); -GL_APICALL void GL_APIENTRY glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); -GL_APICALL void GL_APIENTRY glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); -GL_APICALL void GL_APIENTRY glProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); -GL_APICALL void GL_APIENTRY glProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); -GL_APICALL void GL_APIENTRY glProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); -GL_APICALL void GL_APIENTRY glProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); -GL_APICALL void GL_APIENTRY glProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); -GL_APICALL void GL_APIENTRY glProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); -GL_APICALL void GL_APIENTRY glProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); -GL_APICALL void GL_APIENTRY glValidateProgramPipelineEXT (GLuint pipeline); -GL_APICALL void GL_APIENTRY glGetProgramPipelineInfoLogEXT (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); -#endif -typedef void (GL_APIENTRYP PFNGLUSEPROGRAMSTAGESEXTPROC) (GLuint pipeline, GLbitfield stages, GLuint program); -typedef void (GL_APIENTRYP PFNGLACTIVESHADERPROGRAMEXTPROC) (GLuint pipeline, GLuint program); -typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROGRAMVEXTPROC) (GLenum type, GLsizei count, const GLchar **strings); -typedef void (GL_APIENTRYP PFNGLBINDPROGRAMPIPELINEEXTPROC) (GLuint pipeline); -typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPIPELINESEXTPROC) (GLsizei n, const GLuint *pipelines); -typedef void (GL_APIENTRYP PFNGLGENPROGRAMPIPELINESEXTPROC) (GLsizei n, GLuint *pipelines); -typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPIPELINEEXTPROC) (GLuint pipeline); -typedef void (GL_APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value); -typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEIVEXTPROC) (GLuint pipeline, GLenum pname, GLint *params); -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint x); -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint x, GLint y); -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z); -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w); -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat x); -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y); -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z); -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); -typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEEXTPROC) (GLuint pipeline); -typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); -#endif - -/* GL_EXT_shader_framebuffer_fetch */ -#ifndef GL_EXT_shader_framebuffer_fetch -#define GL_EXT_shader_framebuffer_fetch 1 -#endif - -/* GL_EXT_shader_texture_lod */ -#ifndef GL_EXT_shader_texture_lod -#define GL_EXT_shader_texture_lod 1 -#endif - -/* GL_EXT_shadow_samplers */ -#ifndef GL_EXT_shadow_samplers -#define GL_EXT_shadow_samplers 1 -#endif - -/* GL_EXT_sRGB */ -#ifndef GL_EXT_sRGB -#define GL_EXT_sRGB 1 -#endif - -/* GL_EXT_texture_compression_dxt1 */ -#ifndef GL_EXT_texture_compression_dxt1 -#define GL_EXT_texture_compression_dxt1 1 -#endif - -/* GL_EXT_texture_filter_anisotropic */ -#ifndef GL_EXT_texture_filter_anisotropic -#define GL_EXT_texture_filter_anisotropic 1 -#endif - -/* GL_EXT_texture_format_BGRA8888 */ -#ifndef GL_EXT_texture_format_BGRA8888 -#define GL_EXT_texture_format_BGRA8888 1 -#endif - -/* GL_EXT_texture_rg */ -#ifndef GL_EXT_texture_rg -#define GL_EXT_texture_rg 1 -#endif - -/* GL_EXT_texture_storage */ -#ifndef GL_EXT_texture_storage -#define GL_EXT_texture_storage 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); -GL_APICALL void GL_APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); -GL_APICALL void GL_APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); -GL_APICALL void GL_APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); -GL_APICALL void GL_APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); -GL_APICALL void GL_APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); -#endif -typedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); -typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); -typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); -typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); -typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); -typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); -#endif - -/* GL_EXT_texture_type_2_10_10_10_REV */ -#ifndef GL_EXT_texture_type_2_10_10_10_REV -#define GL_EXT_texture_type_2_10_10_10_REV 1 -#endif - -/* GL_EXT_unpack_subimage */ -#ifndef GL_EXT_unpack_subimage -#define GL_EXT_unpack_subimage 1 -#endif - -/*------------------------------------------------------------------------* - * DMP extension functions - *------------------------------------------------------------------------*/ - -/* GL_DMP_shader_binary */ -#ifndef GL_DMP_shader_binary -#define GL_DMP_shader_binary 1 -#endif - -/*------------------------------------------------------------------------* - * FJ extension functions - *------------------------------------------------------------------------*/ - -/* GL_FJ_shader_binary_GCCSO */ -#ifndef GL_FJ_shader_binary_GCCSO -#define GL_FJ_shader_binary_GCCSO 1 -#endif - -/*------------------------------------------------------------------------* - * IMG extension functions - *------------------------------------------------------------------------*/ - -/* GL_IMG_program_binary */ -#ifndef GL_IMG_program_binary -#define GL_IMG_program_binary 1 -#endif - -/* GL_IMG_read_format */ -#ifndef GL_IMG_read_format -#define GL_IMG_read_format 1 -#endif - -/* GL_IMG_shader_binary */ -#ifndef GL_IMG_shader_binary -#define GL_IMG_shader_binary 1 -#endif - -/* GL_IMG_texture_compression_pvrtc */ -#ifndef GL_IMG_texture_compression_pvrtc -#define GL_IMG_texture_compression_pvrtc 1 -#endif - -/* GL_IMG_texture_compression_pvrtc2 */ -#ifndef GL_IMG_texture_compression_pvrtc2 -#define GL_IMG_texture_compression_pvrtc2 1 -#endif - -/* GL_IMG_multisampled_render_to_texture */ -#ifndef GL_IMG_multisampled_render_to_texture -#define GL_IMG_multisampled_render_to_texture 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum, GLsizei, GLenum, GLsizei, GLsizei); -GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei); -#endif -typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); -typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); -#endif - -/*------------------------------------------------------------------------* - * NV extension functions - *------------------------------------------------------------------------*/ - -/* GL_NV_coverage_sample */ -#ifndef GL_NV_coverage_sample -#define GL_NV_coverage_sample 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask); -GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation); -#endif -typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask); -typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation); -#endif - -/* GL_NV_depth_nonlinear */ -#ifndef GL_NV_depth_nonlinear -#define GL_NV_depth_nonlinear 1 -#endif - -/* GL_NV_draw_buffers */ -#ifndef GL_NV_draw_buffers -#define GL_NV_draw_buffers 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glDrawBuffersNV (GLsizei n, const GLenum *bufs); -#endif -typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSNVPROC) (GLsizei n, const GLenum *bufs); -#endif - -/* GL_EXT_draw_buffers */ -#ifndef GL_EXT_draw_buffers -#define GL_EXT_draw_buffers 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glDrawBuffersEXT (GLsizei n, const GLenum *bufs); -#endif -typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSEXTPROC) (GLsizei n, const GLenum *bufs); -#endif - -/* GL_NV_draw_instanced */ -#ifndef GL_NV_draw_instanced -#define GL_NV_draw_instanced 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glDrawArraysInstancedNV (GLenum mode, GLint first, GLsizei count, GLsizei primcount); -GL_APICALL void GL_APIENTRY glDrawElementsInstancedNV (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount); -#endif -typedef void (GL_APIENTRYP PFNDRAWARRAYSINSTANCEDNVPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount); -typedef void (GL_APIENTRYP PFNDRAWELEMENTSINSTANCEDNVPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount); -#endif - -/* GL_NV_fbo_color_attachments */ -#ifndef GL_NV_fbo_color_attachments -#define GL_NV_fbo_color_attachments 1 -#endif - -/* GL_NV_fence */ -#ifndef GL_NV_fence -#define GL_NV_fence 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei, const GLuint *); -GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei, GLuint *); -GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint); -GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint); -GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *); -GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint); -GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint, GLenum); -#endif -typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences); -typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences); -typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence); -typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence); -typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params); -typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence); -typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition); -#endif - -/* GL_NV_framebuffer_blit */ -#ifndef GL_NV_framebuffer_blit -#define GL_NV_framebuffer_blit 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glBlitFramebufferNV (int srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); -#endif -typedef void (GL_APIENTRYP PFNBLITFRAMEBUFFERNVPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); -#endif - -/* GL_NV_framebuffer_multisample */ -#ifndef GL_NV_framebuffer_multisample -#define GL_NV_framebuffer_multisample 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleNV ( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); -#endif -typedef void (GL_APIENTRYP PFNRENDERBUFFERSTORAGEMULTISAMPLENVPROC) ( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); -#endif - -/* GL_NV_generate_mipmap_sRGB */ -#ifndef GL_NV_generate_mipmap_sRGB -#define GL_NV_generate_mipmap_sRGB 1 -#endif - -/* GL_NV_instanced_arrays */ -#ifndef GL_NV_instanced_arrays -#define GL_NV_instanced_arrays 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glVertexAttribDivisorNV (GLuint index, GLuint divisor); -#endif -typedef void (GL_APIENTRYP PFNVERTEXATTRIBDIVISORNVPROC) (GLuint index, GLuint divisor); -#endif - -/* GL_NV_read_buffer */ -#ifndef GL_NV_read_buffer -#define GL_NV_read_buffer 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glReadBufferNV (GLenum mode); -#endif -typedef void (GL_APIENTRYP PFNGLREADBUFFERNVPROC) (GLenum mode); -#endif - -/* GL_NV_read_buffer_front */ -#ifndef GL_NV_read_buffer_front -#define GL_NV_read_buffer_front 1 -#endif - -/* GL_NV_read_depth */ -#ifndef GL_NV_read_depth -#define GL_NV_read_depth 1 -#endif - -/* GL_NV_read_depth_stencil */ -#ifndef GL_NV_read_depth_stencil -#define GL_NV_read_depth_stencil 1 -#endif - -/* GL_NV_read_stencil */ -#ifndef GL_NV_read_stencil -#define GL_NV_read_stencil 1 -#endif - -/* GL_NV_shadow_samplers_array */ -#ifndef GL_NV_shadow_samplers_array -#define GL_NV_shadow_samplers_array 1 -#endif - -/* GL_NV_shadow_samplers_cube */ -#ifndef GL_NV_shadow_samplers_cube -#define GL_NV_shadow_samplers_cube 1 -#endif - -/* GL_NV_sRGB_formats */ -#ifndef GL_NV_sRGB_formats -#define GL_NV_sRGB_formats 1 -#endif - -/* GL_NV_texture_border_clamp */ -#ifndef GL_NV_texture_border_clamp -#define GL_NV_texture_border_clamp 1 -#endif - -/* GL_NV_texture_compression_s3tc_update */ -#ifndef GL_NV_texture_compression_s3tc_update -#define GL_NV_texture_compression_s3tc_update 1 -#endif - -/* GL_NV_texture_npot_2D_mipmap */ -#ifndef GL_NV_texture_npot_2D_mipmap -#define GL_NV_texture_npot_2D_mipmap 1 -#endif - -/*------------------------------------------------------------------------* - * QCOM extension functions - *------------------------------------------------------------------------*/ - -/* GL_QCOM_alpha_test */ -#ifndef GL_QCOM_alpha_test -#define GL_QCOM_alpha_test 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glAlphaFuncQCOM (GLenum func, GLclampf ref); -#endif -typedef void (GL_APIENTRYP PFNGLALPHAFUNCQCOMPROC) (GLenum func, GLclampf ref); -#endif - -/* GL_QCOM_binning_control */ -#ifndef GL_QCOM_binning_control -#define GL_QCOM_binning_control 1 -#endif - -/* GL_QCOM_driver_control */ -#ifndef GL_QCOM_driver_control -#define GL_QCOM_driver_control 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls); -GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString); -GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl); -GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl); -#endif -typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls); -typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString); -typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); -typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); -#endif - -/* GL_QCOM_extended_get */ -#ifndef GL_QCOM_extended_get -#define GL_QCOM_extended_get 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures); -GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers); -GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers); -GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers); -GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params); -GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param); -GL_APICALL void GL_APIENTRY glExtGetTexSubImageQCOM (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels); -GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params); -#endif -typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures); -typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers); -typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers); -typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers); -typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params); -typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param); -typedef void (GL_APIENTRYP PFNGLEXTGETTEXSUBIMAGEQCOMPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels); -typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params); -#endif - -/* GL_QCOM_extended_get2 */ -#ifndef GL_QCOM_extended_get2 -#define GL_QCOM_extended_get2 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders); -GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms); -GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program); -GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length); -#endif -typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders); -typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms); -typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program); -typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length); -#endif - -/* GL_QCOM_perfmon_global_mode */ -#ifndef GL_QCOM_perfmon_global_mode -#define GL_QCOM_perfmon_global_mode 1 -#endif - -/* GL_QCOM_writeonly_rendering */ -#ifndef GL_QCOM_writeonly_rendering -#define GL_QCOM_writeonly_rendering 1 -#endif - -/* GL_QCOM_tiled_rendering */ -#ifndef GL_QCOM_tiled_rendering -#define GL_QCOM_tiled_rendering 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask); -GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask); -#endif -typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask); -typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask); -#endif - -/*------------------------------------------------------------------------* - * VIV extension tokens - *------------------------------------------------------------------------*/ - -/* GL_VIV_shader_binary */ -#ifndef GL_VIV_shader_binary -#define GL_VIV_shader_binary 1 -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* __gl2ext_h_ */ diff --git a/include/GLES2/gl2platform.h b/include/GLES2/gl2platform.h deleted file mode 100644 index c9fa3c4d6..000000000 --- a/include/GLES2/gl2platform.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef __gl2platform_h_ -#define __gl2platform_h_ - -/* $Revision: 10602 $ on $Date:: 2010-03-04 22:35:34 -0800 #$ */ - -/* - * This document is licensed under the SGI Free Software B License Version - * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . - */ - -/* Platform-specific types and definitions for OpenGL ES 2.X gl2.h - * - * Adopters may modify khrplatform.h and this file to suit their platform. - * You are encouraged to submit all modifications to the Khronos group so that - * they can be included in future versions of this file. Please submit changes - * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla) - * by filing a bug against product "OpenGL-ES" component "Registry". - */ - -#include - -#ifndef GL_APICALL -#define GL_APICALL KHRONOS_APICALL -#endif - -#ifndef GL_APIENTRY -#define GL_APIENTRY KHRONOS_APIENTRY -#endif - -#endif /* __gl2platform_h_ */ diff --git a/include/GLES3/gl3.h b/include/GLES3/gl3.h deleted file mode 100644 index 9c79862c0..000000000 --- a/include/GLES3/gl3.h +++ /dev/null @@ -1,1061 +0,0 @@ -#ifndef __gl3_h_ -#define __gl3_h_ - -/* - * gl3.h last updated on $Date: 2013-02-12 14:37:24 -0800 (Tue, 12 Feb 2013) $ - */ - -#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. -*/ - -/*------------------------------------------------------------------------- - * Data type definitions - *-----------------------------------------------------------------------*/ - -/* OpenGL ES 2.0 */ - -typedef void GLvoid; -typedef char GLchar; -typedef unsigned int GLenum; -typedef unsigned char GLboolean; -typedef unsigned int GLbitfield; -typedef khronos_int8_t GLbyte; -typedef short GLshort; -typedef int GLint; -typedef int GLsizei; -typedef khronos_uint8_t GLubyte; -typedef unsigned short GLushort; -typedef unsigned int GLuint; -typedef khronos_float_t GLfloat; -typedef khronos_float_t GLclampf; -typedef khronos_int32_t GLfixed; -typedef khronos_intptr_t GLintptr; -typedef khronos_ssize_t GLsizeiptr; - -/* OpenGL ES 3.0 */ - -typedef unsigned short GLhalf; -typedef khronos_int64_t GLint64; -typedef khronos_uint64_t GLuint64; -typedef struct __GLsync *GLsync; - -/*------------------------------------------------------------------------- - * Token definitions - *-----------------------------------------------------------------------*/ - -/* OpenGL ES core versions */ -#define GL_ES_VERSION_3_0 1 -#define GL_ES_VERSION_2_0 1 - -/* OpenGL ES 2.0 */ - -/* ClearBufferMask */ -#define GL_DEPTH_BUFFER_BIT 0x00000100 -#define GL_STENCIL_BUFFER_BIT 0x00000400 -#define GL_COLOR_BUFFER_BIT 0x00004000 - -/* Boolean */ -#define GL_FALSE 0 -#define GL_TRUE 1 - -/* BeginMode */ -#define GL_POINTS 0x0000 -#define GL_LINES 0x0001 -#define GL_LINE_LOOP 0x0002 -#define GL_LINE_STRIP 0x0003 -#define GL_TRIANGLES 0x0004 -#define GL_TRIANGLE_STRIP 0x0005 -#define GL_TRIANGLE_FAN 0x0006 - -/* BlendingFactorDest */ -#define GL_ZERO 0 -#define GL_ONE 1 -#define GL_SRC_COLOR 0x0300 -#define GL_ONE_MINUS_SRC_COLOR 0x0301 -#define GL_SRC_ALPHA 0x0302 -#define GL_ONE_MINUS_SRC_ALPHA 0x0303 -#define GL_DST_ALPHA 0x0304 -#define GL_ONE_MINUS_DST_ALPHA 0x0305 - -/* BlendingFactorSrc */ -/* GL_ZERO */ -/* GL_ONE */ -#define GL_DST_COLOR 0x0306 -#define GL_ONE_MINUS_DST_COLOR 0x0307 -#define GL_SRC_ALPHA_SATURATE 0x0308 -/* GL_SRC_ALPHA */ -/* GL_ONE_MINUS_SRC_ALPHA */ -/* GL_DST_ALPHA */ -/* GL_ONE_MINUS_DST_ALPHA */ - -/* BlendEquationSeparate */ -#define GL_FUNC_ADD 0x8006 -#define GL_BLEND_EQUATION 0x8009 -#define GL_BLEND_EQUATION_RGB 0x8009 /* same as BLEND_EQUATION */ -#define GL_BLEND_EQUATION_ALPHA 0x883D - -/* BlendSubtract */ -#define GL_FUNC_SUBTRACT 0x800A -#define GL_FUNC_REVERSE_SUBTRACT 0x800B - -/* Separate Blend Functions */ -#define GL_BLEND_DST_RGB 0x80C8 -#define GL_BLEND_SRC_RGB 0x80C9 -#define GL_BLEND_DST_ALPHA 0x80CA -#define GL_BLEND_SRC_ALPHA 0x80CB -#define GL_CONSTANT_COLOR 0x8001 -#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002 -#define GL_CONSTANT_ALPHA 0x8003 -#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004 -#define GL_BLEND_COLOR 0x8005 - -/* Buffer Objects */ -#define GL_ARRAY_BUFFER 0x8892 -#define GL_ELEMENT_ARRAY_BUFFER 0x8893 -#define GL_ARRAY_BUFFER_BINDING 0x8894 -#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895 - -#define GL_STREAM_DRAW 0x88E0 -#define GL_STATIC_DRAW 0x88E4 -#define GL_DYNAMIC_DRAW 0x88E8 - -#define GL_BUFFER_SIZE 0x8764 -#define GL_BUFFER_USAGE 0x8765 - -#define GL_CURRENT_VERTEX_ATTRIB 0x8626 - -/* CullFaceMode */ -#define GL_FRONT 0x0404 -#define GL_BACK 0x0405 -#define GL_FRONT_AND_BACK 0x0408 - -/* DepthFunction */ -/* GL_NEVER */ -/* GL_LESS */ -/* GL_EQUAL */ -/* GL_LEQUAL */ -/* GL_GREATER */ -/* GL_NOTEQUAL */ -/* GL_GEQUAL */ -/* GL_ALWAYS */ - -/* EnableCap */ -#define GL_TEXTURE_2D 0x0DE1 -#define GL_CULL_FACE 0x0B44 -#define GL_BLEND 0x0BE2 -#define GL_DITHER 0x0BD0 -#define GL_STENCIL_TEST 0x0B90 -#define GL_DEPTH_TEST 0x0B71 -#define GL_SCISSOR_TEST 0x0C11 -#define GL_POLYGON_OFFSET_FILL 0x8037 -#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E -#define GL_SAMPLE_COVERAGE 0x80A0 - -/* ErrorCode */ -#define GL_NO_ERROR 0 -#define GL_INVALID_ENUM 0x0500 -#define GL_INVALID_VALUE 0x0501 -#define GL_INVALID_OPERATION 0x0502 -#define GL_OUT_OF_MEMORY 0x0505 - -/* FrontFaceDirection */ -#define GL_CW 0x0900 -#define GL_CCW 0x0901 - -/* GetPName */ -#define GL_LINE_WIDTH 0x0B21 -#define GL_ALIASED_POINT_SIZE_RANGE 0x846D -#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E -#define GL_CULL_FACE_MODE 0x0B45 -#define GL_FRONT_FACE 0x0B46 -#define GL_DEPTH_RANGE 0x0B70 -#define GL_DEPTH_WRITEMASK 0x0B72 -#define GL_DEPTH_CLEAR_VALUE 0x0B73 -#define GL_DEPTH_FUNC 0x0B74 -#define GL_STENCIL_CLEAR_VALUE 0x0B91 -#define GL_STENCIL_FUNC 0x0B92 -#define GL_STENCIL_FAIL 0x0B94 -#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95 -#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96 -#define GL_STENCIL_REF 0x0B97 -#define GL_STENCIL_VALUE_MASK 0x0B93 -#define GL_STENCIL_WRITEMASK 0x0B98 -#define GL_STENCIL_BACK_FUNC 0x8800 -#define GL_STENCIL_BACK_FAIL 0x8801 -#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802 -#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803 -#define GL_STENCIL_BACK_REF 0x8CA3 -#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4 -#define GL_STENCIL_BACK_WRITEMASK 0x8CA5 -#define GL_VIEWPORT 0x0BA2 -#define GL_SCISSOR_BOX 0x0C10 -/* GL_SCISSOR_TEST */ -#define GL_COLOR_CLEAR_VALUE 0x0C22 -#define GL_COLOR_WRITEMASK 0x0C23 -#define GL_UNPACK_ALIGNMENT 0x0CF5 -#define GL_PACK_ALIGNMENT 0x0D05 -#define GL_MAX_TEXTURE_SIZE 0x0D33 -#define GL_MAX_VIEWPORT_DIMS 0x0D3A -#define GL_SUBPIXEL_BITS 0x0D50 -#define GL_RED_BITS 0x0D52 -#define GL_GREEN_BITS 0x0D53 -#define GL_BLUE_BITS 0x0D54 -#define GL_ALPHA_BITS 0x0D55 -#define GL_DEPTH_BITS 0x0D56 -#define GL_STENCIL_BITS 0x0D57 -#define GL_POLYGON_OFFSET_UNITS 0x2A00 -/* GL_POLYGON_OFFSET_FILL */ -#define GL_POLYGON_OFFSET_FACTOR 0x8038 -#define GL_TEXTURE_BINDING_2D 0x8069 -#define GL_SAMPLE_BUFFERS 0x80A8 -#define GL_SAMPLES 0x80A9 -#define GL_SAMPLE_COVERAGE_VALUE 0x80AA -#define GL_SAMPLE_COVERAGE_INVERT 0x80AB - -/* GetTextureParameter */ -/* GL_TEXTURE_MAG_FILTER */ -/* GL_TEXTURE_MIN_FILTER */ -/* GL_TEXTURE_WRAP_S */ -/* GL_TEXTURE_WRAP_T */ - -#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2 -#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3 - -/* HintMode */ -#define GL_DONT_CARE 0x1100 -#define GL_FASTEST 0x1101 -#define GL_NICEST 0x1102 - -/* HintTarget */ -#define GL_GENERATE_MIPMAP_HINT 0x8192 - -/* DataType */ -#define GL_BYTE 0x1400 -#define GL_UNSIGNED_BYTE 0x1401 -#define GL_SHORT 0x1402 -#define GL_UNSIGNED_SHORT 0x1403 -#define GL_INT 0x1404 -#define GL_UNSIGNED_INT 0x1405 -#define GL_FLOAT 0x1406 -#define GL_FIXED 0x140C - -/* PixelFormat */ -#define GL_DEPTH_COMPONENT 0x1902 -#define GL_ALPHA 0x1906 -#define GL_RGB 0x1907 -#define GL_RGBA 0x1908 -#define GL_LUMINANCE 0x1909 -#define GL_LUMINANCE_ALPHA 0x190A - -/* PixelType */ -/* GL_UNSIGNED_BYTE */ -#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033 -#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034 -#define GL_UNSIGNED_SHORT_5_6_5 0x8363 - -/* Shaders */ -#define GL_FRAGMENT_SHADER 0x8B30 -#define GL_VERTEX_SHADER 0x8B31 -#define GL_MAX_VERTEX_ATTRIBS 0x8869 -#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB -#define GL_MAX_VARYING_VECTORS 0x8DFC -#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D -#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C -#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872 -#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD -#define GL_SHADER_TYPE 0x8B4F -#define GL_DELETE_STATUS 0x8B80 -#define GL_LINK_STATUS 0x8B82 -#define GL_VALIDATE_STATUS 0x8B83 -#define GL_ATTACHED_SHADERS 0x8B85 -#define GL_ACTIVE_UNIFORMS 0x8B86 -#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87 -#define GL_ACTIVE_ATTRIBUTES 0x8B89 -#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A -#define GL_SHADING_LANGUAGE_VERSION 0x8B8C -#define GL_CURRENT_PROGRAM 0x8B8D - -/* StencilFunction */ -#define GL_NEVER 0x0200 -#define GL_LESS 0x0201 -#define GL_EQUAL 0x0202 -#define GL_LEQUAL 0x0203 -#define GL_GREATER 0x0204 -#define GL_NOTEQUAL 0x0205 -#define GL_GEQUAL 0x0206 -#define GL_ALWAYS 0x0207 - -/* StencilOp */ -/* GL_ZERO */ -#define GL_KEEP 0x1E00 -#define GL_REPLACE 0x1E01 -#define GL_INCR 0x1E02 -#define GL_DECR 0x1E03 -#define GL_INVERT 0x150A -#define GL_INCR_WRAP 0x8507 -#define GL_DECR_WRAP 0x8508 - -/* StringName */ -#define GL_VENDOR 0x1F00 -#define GL_RENDERER 0x1F01 -#define GL_VERSION 0x1F02 -#define GL_EXTENSIONS 0x1F03 - -/* TextureMagFilter */ -#define GL_NEAREST 0x2600 -#define GL_LINEAR 0x2601 - -/* TextureMinFilter */ -/* GL_NEAREST */ -/* GL_LINEAR */ -#define GL_NEAREST_MIPMAP_NEAREST 0x2700 -#define GL_LINEAR_MIPMAP_NEAREST 0x2701 -#define GL_NEAREST_MIPMAP_LINEAR 0x2702 -#define GL_LINEAR_MIPMAP_LINEAR 0x2703 - -/* TextureParameterName */ -#define GL_TEXTURE_MAG_FILTER 0x2800 -#define GL_TEXTURE_MIN_FILTER 0x2801 -#define GL_TEXTURE_WRAP_S 0x2802 -#define GL_TEXTURE_WRAP_T 0x2803 - -/* TextureTarget */ -/* GL_TEXTURE_2D */ -#define GL_TEXTURE 0x1702 - -#define GL_TEXTURE_CUBE_MAP 0x8513 -#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514 -#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515 -#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516 -#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517 -#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518 -#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519 -#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A -#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C - -/* TextureUnit */ -#define GL_TEXTURE0 0x84C0 -#define GL_TEXTURE1 0x84C1 -#define GL_TEXTURE2 0x84C2 -#define GL_TEXTURE3 0x84C3 -#define GL_TEXTURE4 0x84C4 -#define GL_TEXTURE5 0x84C5 -#define GL_TEXTURE6 0x84C6 -#define GL_TEXTURE7 0x84C7 -#define GL_TEXTURE8 0x84C8 -#define GL_TEXTURE9 0x84C9 -#define GL_TEXTURE10 0x84CA -#define GL_TEXTURE11 0x84CB -#define GL_TEXTURE12 0x84CC -#define GL_TEXTURE13 0x84CD -#define GL_TEXTURE14 0x84CE -#define GL_TEXTURE15 0x84CF -#define GL_TEXTURE16 0x84D0 -#define GL_TEXTURE17 0x84D1 -#define GL_TEXTURE18 0x84D2 -#define GL_TEXTURE19 0x84D3 -#define GL_TEXTURE20 0x84D4 -#define GL_TEXTURE21 0x84D5 -#define GL_TEXTURE22 0x84D6 -#define GL_TEXTURE23 0x84D7 -#define GL_TEXTURE24 0x84D8 -#define GL_TEXTURE25 0x84D9 -#define GL_TEXTURE26 0x84DA -#define GL_TEXTURE27 0x84DB -#define GL_TEXTURE28 0x84DC -#define GL_TEXTURE29 0x84DD -#define GL_TEXTURE30 0x84DE -#define GL_TEXTURE31 0x84DF -#define GL_ACTIVE_TEXTURE 0x84E0 - -/* TextureWrapMode */ -#define GL_REPEAT 0x2901 -#define GL_CLAMP_TO_EDGE 0x812F -#define GL_MIRRORED_REPEAT 0x8370 - -/* Uniform Types */ -#define GL_FLOAT_VEC2 0x8B50 -#define GL_FLOAT_VEC3 0x8B51 -#define GL_FLOAT_VEC4 0x8B52 -#define GL_INT_VEC2 0x8B53 -#define GL_INT_VEC3 0x8B54 -#define GL_INT_VEC4 0x8B55 -#define GL_BOOL 0x8B56 -#define GL_BOOL_VEC2 0x8B57 -#define GL_BOOL_VEC3 0x8B58 -#define GL_BOOL_VEC4 0x8B59 -#define GL_FLOAT_MAT2 0x8B5A -#define GL_FLOAT_MAT3 0x8B5B -#define GL_FLOAT_MAT4 0x8B5C -#define GL_SAMPLER_2D 0x8B5E -#define GL_SAMPLER_CUBE 0x8B60 - -/* Vertex Arrays */ -#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622 -#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623 -#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624 -#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625 -#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A -#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645 -#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F - -/* Read Format */ -#define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A -#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B - -/* Shader Source */ -#define GL_COMPILE_STATUS 0x8B81 -#define GL_INFO_LOG_LENGTH 0x8B84 -#define GL_SHADER_SOURCE_LENGTH 0x8B88 -#define GL_SHADER_COMPILER 0x8DFA - -/* Shader Binary */ -#define GL_SHADER_BINARY_FORMATS 0x8DF8 -#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9 - -/* Shader Precision-Specified Types */ -#define GL_LOW_FLOAT 0x8DF0 -#define GL_MEDIUM_FLOAT 0x8DF1 -#define GL_HIGH_FLOAT 0x8DF2 -#define GL_LOW_INT 0x8DF3 -#define GL_MEDIUM_INT 0x8DF4 -#define GL_HIGH_INT 0x8DF5 - -/* Framebuffer Object. */ -#define GL_FRAMEBUFFER 0x8D40 -#define GL_RENDERBUFFER 0x8D41 - -#define GL_RGBA4 0x8056 -#define GL_RGB5_A1 0x8057 -#define GL_RGB565 0x8D62 -#define GL_DEPTH_COMPONENT16 0x81A5 -#define GL_STENCIL_INDEX8 0x8D48 - -#define GL_RENDERBUFFER_WIDTH 0x8D42 -#define GL_RENDERBUFFER_HEIGHT 0x8D43 -#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44 -#define GL_RENDERBUFFER_RED_SIZE 0x8D50 -#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51 -#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52 -#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53 -#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54 -#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55 - -#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0 -#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1 -#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2 -#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3 - -#define GL_COLOR_ATTACHMENT0 0x8CE0 -#define GL_DEPTH_ATTACHMENT 0x8D00 -#define GL_STENCIL_ATTACHMENT 0x8D20 - -#define GL_NONE 0 - -#define GL_FRAMEBUFFER_COMPLETE 0x8CD5 -#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6 -#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7 -#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS 0x8CD9 -#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD - -#define GL_FRAMEBUFFER_BINDING 0x8CA6 -#define GL_RENDERBUFFER_BINDING 0x8CA7 -#define GL_MAX_RENDERBUFFER_SIZE 0x84E8 - -#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506 - -/* 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 2.0 */ - -GL_APICALL void GL_APIENTRY glActiveTexture (GLenum texture); -GL_APICALL void GL_APIENTRY glAttachShader (GLuint program, GLuint shader); -GL_APICALL void GL_APIENTRY glBindAttribLocation (GLuint program, GLuint index, const GLchar* name); -GL_APICALL void GL_APIENTRY glBindBuffer (GLenum target, GLuint buffer); -GL_APICALL void GL_APIENTRY glBindFramebuffer (GLenum target, GLuint framebuffer); -GL_APICALL void GL_APIENTRY glBindRenderbuffer (GLenum target, GLuint renderbuffer); -GL_APICALL void GL_APIENTRY glBindTexture (GLenum target, GLuint texture); -GL_APICALL void GL_APIENTRY glBlendColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); -GL_APICALL void GL_APIENTRY glBlendEquation (GLenum mode); -GL_APICALL void GL_APIENTRY glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha); -GL_APICALL void GL_APIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor); -GL_APICALL void GL_APIENTRY glBlendFuncSeparate (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); -GL_APICALL void GL_APIENTRY glBufferData (GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage); -GL_APICALL void GL_APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data); -GL_APICALL GLenum GL_APIENTRY glCheckFramebufferStatus (GLenum target); -GL_APICALL void GL_APIENTRY glClear (GLbitfield mask); -GL_APICALL void GL_APIENTRY glClearColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); -GL_APICALL void GL_APIENTRY glClearDepthf (GLfloat depth); -GL_APICALL void GL_APIENTRY glClearStencil (GLint s); -GL_APICALL void GL_APIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); -GL_APICALL void GL_APIENTRY glCompileShader (GLuint shader); -GL_APICALL void GL_APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* data); -GL_APICALL void GL_APIENTRY glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* data); -GL_APICALL void GL_APIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); -GL_APICALL void GL_APIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); -GL_APICALL GLuint GL_APIENTRY glCreateProgram (void); -GL_APICALL GLuint GL_APIENTRY glCreateShader (GLenum type); -GL_APICALL void GL_APIENTRY glCullFace (GLenum mode); -GL_APICALL void GL_APIENTRY glDeleteBuffers (GLsizei n, const GLuint* buffers); -GL_APICALL void GL_APIENTRY glDeleteFramebuffers (GLsizei n, const GLuint* framebuffers); -GL_APICALL void GL_APIENTRY glDeleteProgram (GLuint program); -GL_APICALL void GL_APIENTRY glDeleteRenderbuffers (GLsizei n, const GLuint* renderbuffers); -GL_APICALL void GL_APIENTRY glDeleteShader (GLuint shader); -GL_APICALL void GL_APIENTRY glDeleteTextures (GLsizei n, const GLuint* textures); -GL_APICALL void GL_APIENTRY glDepthFunc (GLenum func); -GL_APICALL void GL_APIENTRY glDepthMask (GLboolean flag); -GL_APICALL void GL_APIENTRY glDepthRangef (GLfloat n, GLfloat f); -GL_APICALL void GL_APIENTRY glDetachShader (GLuint program, GLuint shader); -GL_APICALL void GL_APIENTRY glDisable (GLenum cap); -GL_APICALL void GL_APIENTRY glDisableVertexAttribArray (GLuint index); -GL_APICALL void GL_APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count); -GL_APICALL void GL_APIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid* indices); -GL_APICALL void GL_APIENTRY glEnable (GLenum cap); -GL_APICALL void GL_APIENTRY glEnableVertexAttribArray (GLuint index); -GL_APICALL void GL_APIENTRY glFinish (void); -GL_APICALL void GL_APIENTRY glFlush (void); -GL_APICALL void GL_APIENTRY glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); -GL_APICALL void GL_APIENTRY glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); -GL_APICALL void GL_APIENTRY glFrontFace (GLenum mode); -GL_APICALL void GL_APIENTRY glGenBuffers (GLsizei n, GLuint* buffers); -GL_APICALL void GL_APIENTRY glGenerateMipmap (GLenum target); -GL_APICALL void GL_APIENTRY glGenFramebuffers (GLsizei n, GLuint* framebuffers); -GL_APICALL void GL_APIENTRY glGenRenderbuffers (GLsizei n, GLuint* renderbuffers); -GL_APICALL void GL_APIENTRY glGenTextures (GLsizei n, GLuint* textures); -GL_APICALL void GL_APIENTRY glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name); -GL_APICALL void GL_APIENTRY glGetActiveUniform (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name); -GL_APICALL void GL_APIENTRY glGetAttachedShaders (GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders); -GL_APICALL GLint GL_APIENTRY glGetAttribLocation (GLuint program, const GLchar* name); -GL_APICALL void GL_APIENTRY glGetBooleanv (GLenum pname, GLboolean* params); -GL_APICALL void GL_APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint* params); -GL_APICALL GLenum GL_APIENTRY glGetError (void); -GL_APICALL void GL_APIENTRY glGetFloatv (GLenum pname, GLfloat* params); -GL_APICALL void GL_APIENTRY glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint* params); -GL_APICALL void GL_APIENTRY glGetIntegerv (GLenum pname, GLint* params); -GL_APICALL void GL_APIENTRY glGetProgramiv (GLuint program, GLenum pname, GLint* params); -GL_APICALL void GL_APIENTRY glGetProgramInfoLog (GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog); -GL_APICALL void GL_APIENTRY glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint* params); -GL_APICALL void GL_APIENTRY glGetShaderiv (GLuint shader, GLenum pname, GLint* params); -GL_APICALL void GL_APIENTRY glGetShaderInfoLog (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog); -GL_APICALL void GL_APIENTRY glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision); -GL_APICALL void GL_APIENTRY glGetShaderSource (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source); -GL_APICALL const GLubyte* GL_APIENTRY glGetString (GLenum name); -GL_APICALL void GL_APIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat* params); -GL_APICALL void GL_APIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint* params); -GL_APICALL void GL_APIENTRY glGetUniformfv (GLuint program, GLint location, GLfloat* params); -GL_APICALL void GL_APIENTRY glGetUniformiv (GLuint program, GLint location, GLint* params); -GL_APICALL GLint GL_APIENTRY glGetUniformLocation (GLuint program, const GLchar* name); -GL_APICALL void GL_APIENTRY glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat* params); -GL_APICALL void GL_APIENTRY glGetVertexAttribiv (GLuint index, GLenum pname, GLint* params); -GL_APICALL void GL_APIENTRY glGetVertexAttribPointerv (GLuint index, GLenum pname, GLvoid** pointer); -GL_APICALL void GL_APIENTRY glHint (GLenum target, GLenum mode); -GL_APICALL GLboolean GL_APIENTRY glIsBuffer (GLuint buffer); -GL_APICALL GLboolean GL_APIENTRY glIsEnabled (GLenum cap); -GL_APICALL GLboolean GL_APIENTRY glIsFramebuffer (GLuint framebuffer); -GL_APICALL GLboolean GL_APIENTRY glIsProgram (GLuint program); -GL_APICALL GLboolean GL_APIENTRY glIsRenderbuffer (GLuint renderbuffer); -GL_APICALL GLboolean GL_APIENTRY glIsShader (GLuint shader); -GL_APICALL GLboolean GL_APIENTRY glIsTexture (GLuint texture); -GL_APICALL void GL_APIENTRY glLineWidth (GLfloat width); -GL_APICALL void GL_APIENTRY glLinkProgram (GLuint program); -GL_APICALL void GL_APIENTRY glPixelStorei (GLenum pname, GLint param); -GL_APICALL void GL_APIENTRY glPolygonOffset (GLfloat factor, GLfloat units); -GL_APICALL void GL_APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels); -GL_APICALL void GL_APIENTRY glReleaseShaderCompiler (void); -GL_APICALL void GL_APIENTRY glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); -GL_APICALL void GL_APIENTRY glSampleCoverage (GLfloat value, GLboolean invert); -GL_APICALL void GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height); -GL_APICALL void GL_APIENTRY glShaderBinary (GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length); -GL_APICALL void GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar* const* string, const GLint* length); -GL_APICALL void GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask); -GL_APICALL void GL_APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask); -GL_APICALL void GL_APIENTRY glStencilMask (GLuint mask); -GL_APICALL void GL_APIENTRY glStencilMaskSeparate (GLenum face, GLuint mask); -GL_APICALL void GL_APIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass); -GL_APICALL void GL_APIENTRY glStencilOpSeparate (GLenum face, GLenum fail, GLenum zfail, GLenum zpass); -GL_APICALL void GL_APIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels); -GL_APICALL void GL_APIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param); -GL_APICALL void GL_APIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat* params); -GL_APICALL void GL_APIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param); -GL_APICALL void GL_APIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint* params); -GL_APICALL void GL_APIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels); -GL_APICALL void GL_APIENTRY glUniform1f (GLint location, GLfloat x); -GL_APICALL void GL_APIENTRY glUniform1fv (GLint location, GLsizei count, const GLfloat* v); -GL_APICALL void GL_APIENTRY glUniform1i (GLint location, GLint x); -GL_APICALL void GL_APIENTRY glUniform1iv (GLint location, GLsizei count, const GLint* v); -GL_APICALL void GL_APIENTRY glUniform2f (GLint location, GLfloat x, GLfloat y); -GL_APICALL void GL_APIENTRY glUniform2fv (GLint location, GLsizei count, const GLfloat* v); -GL_APICALL void GL_APIENTRY glUniform2i (GLint location, GLint x, GLint y); -GL_APICALL void GL_APIENTRY glUniform2iv (GLint location, GLsizei count, const GLint* v); -GL_APICALL void GL_APIENTRY glUniform3f (GLint location, GLfloat x, GLfloat y, GLfloat z); -GL_APICALL void GL_APIENTRY glUniform3fv (GLint location, GLsizei count, const GLfloat* v); -GL_APICALL void GL_APIENTRY glUniform3i (GLint location, GLint x, GLint y, GLint z); -GL_APICALL void GL_APIENTRY glUniform3iv (GLint location, GLsizei count, const GLint* v); -GL_APICALL void GL_APIENTRY glUniform4f (GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); -GL_APICALL void GL_APIENTRY glUniform4fv (GLint location, GLsizei count, const GLfloat* v); -GL_APICALL void GL_APIENTRY glUniform4i (GLint location, GLint x, GLint y, GLint z, GLint w); -GL_APICALL void GL_APIENTRY glUniform4iv (GLint location, GLsizei count, const GLint* v); -GL_APICALL void GL_APIENTRY glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); -GL_APICALL void GL_APIENTRY glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); -GL_APICALL void GL_APIENTRY glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); -GL_APICALL void GL_APIENTRY glUseProgram (GLuint program); -GL_APICALL void GL_APIENTRY glValidateProgram (GLuint program); -GL_APICALL void GL_APIENTRY glVertexAttrib1f (GLuint indx, GLfloat x); -GL_APICALL void GL_APIENTRY glVertexAttrib1fv (GLuint indx, const GLfloat* values); -GL_APICALL void GL_APIENTRY glVertexAttrib2f (GLuint indx, GLfloat x, GLfloat y); -GL_APICALL void GL_APIENTRY glVertexAttrib2fv (GLuint indx, const GLfloat* values); -GL_APICALL void GL_APIENTRY glVertexAttrib3f (GLuint indx, GLfloat x, GLfloat y, GLfloat z); -GL_APICALL void GL_APIENTRY glVertexAttrib3fv (GLuint indx, const GLfloat* values); -GL_APICALL void GL_APIENTRY glVertexAttrib4f (GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w); -GL_APICALL void GL_APIENTRY glVertexAttrib4fv (GLuint indx, const GLfloat* values); -GL_APICALL void GL_APIENTRY glVertexAttribPointer (GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr); -GL_APICALL void GL_APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height); - -/* OpenGL ES 3.0 */ - -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); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/include/GLES3/gl3ext.h b/include/GLES3/gl3ext.h deleted file mode 100644 index 4d4ea96c4..000000000 --- a/include/GLES3/gl3ext.h +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef __gl3ext_h_ -#define __gl3ext_h_ - -/* $Revision: 17809 $ on $Date:: 2012-05-14 08:03:36 -0700 #$ */ - -/* - * This document is licensed under the SGI Free Software B License Version - * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . - */ - -/* OpenGL ES 3 Extensions - * - * After an OES extension's interactions with OpenGl ES 3.0 have been documented, - * its tokens and function definitions should be added to this file in a manner - * that does not conflict with gl2ext.h or gl3.h. - * - * Tokens and function definitions for extensions that have become standard - * features in OpenGL ES 3.0 will not be added to this file. - * - * Applications using OpenGL-ES-2-only extensions should include gl2ext.h - */ - -#endif /* __gl3ext_h_ */ - diff --git a/include/GLES3/gl3platform.h b/include/GLES3/gl3platform.h deleted file mode 100644 index 1bd1a850f..000000000 --- a/include/GLES3/gl3platform.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef __gl3platform_h_ -#define __gl3platform_h_ - -/* $Revision: 18437 $ on $Date:: 2012-07-08 23:31:39 -0700 #$ */ - -/* - * This document is licensed under the SGI Free Software B License Version - * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . - */ - -/* Platform-specific types and definitions for OpenGL ES 3.X gl3.h - * - * Adopters may modify khrplatform.h and this file to suit their platform. - * You are encouraged to submit all modifications to the Khronos group so that - * they can be included in future versions of this file. Please submit changes - * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla) - * by filing a bug against product "OpenGL-ES" component "Registry". - */ - -#include - -#ifndef GL_APICALL -#define GL_APICALL KHRONOS_APICALL -#endif - -#ifndef GL_APIENTRY -#define GL_APIENTRY KHRONOS_APIENTRY -#endif - -#endif /* __gl3platform_h_ */ diff --git a/include/GLSLANG/ShaderLang.h b/include/GLSLANG/ShaderLang.h deleted file mode 100644 index 661d2f0fd..000000000 --- a/include/GLSLANG/ShaderLang.h +++ /dev/null @@ -1,415 +0,0 @@ -// -// Copyright (c) 2002-2013 The ANGLE Project Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -// -#ifndef GLSLANG_SHADERLANG_H_ -#define GLSLANG_SHADERLANG_H_ - -#if defined(COMPONENT_BUILD) && !defined(ANGLE_TRANSLATOR_STATIC) -#if defined(_WIN32) || defined(_WIN64) - -#if defined(ANGLE_TRANSLATOR_IMPLEMENTATION) -#define COMPILER_EXPORT __declspec(dllexport) -#else -#define COMPILER_EXPORT __declspec(dllimport) -#endif // defined(ANGLE_TRANSLATOR_IMPLEMENTATION) - -#else // defined(_WIN32) || defined(_WIN64) -#define COMPILER_EXPORT __attribute__((visibility("default"))) -#endif - -#else // defined(COMPONENT_BUILD) && !defined(ANGLE_TRANSLATOR_STATIC) -#define COMPILER_EXPORT -#endif - -#include - -#include "KHR/khrplatform.h" - -#include -#include -#include - -// -// This is the platform independent interface between an OGL driver -// and the shading language compiler. -// - -namespace sh -{ -// GLenum alias -typedef unsigned int GLenum; -} - -// Must be included after GLenum proxy typedef -// Note: make sure to increment ANGLE_SH_VERSION when changing ShaderVars.h -#include "ShaderVars.h" - -// Version number for shader translation API. -// It is incremented every time the API changes. -#define ANGLE_SH_VERSION 133 - -typedef enum { - SH_GLES2_SPEC = 0x8B40, - SH_WEBGL_SPEC = 0x8B41, - - SH_GLES3_SPEC = 0x8B86, - SH_WEBGL2_SPEC = 0x8B87, - - // The CSS Shaders spec is a subset of the WebGL spec. - // - // In both CSS vertex and fragment shaders, ANGLE: - // (1) Reserves the "css_" prefix. - // (2) Renames the main function to css_main. - // (3) Disables the gl_MaxDrawBuffers built-in. - // - // In CSS fragment shaders, ANGLE: - // (1) Disables the gl_FragColor built-in. - // (2) Disables the gl_FragData built-in. - // (3) Enables the css_MixColor built-in. - // (4) Enables the css_ColorMatrix built-in. - // - // After passing a CSS shader through ANGLE, the browser is expected to append - // a new main function to it. - // This new main function will call the css_main function. - // It may also perform additional operations like varying assignment, texture - // access, and gl_FragColor assignment in order to implement the CSS Shaders - // blend modes. - // - SH_CSS_SHADERS_SPEC = 0x8B42 -} ShShaderSpec; - -typedef enum { - SH_ESSL_OUTPUT = 0x8B45, - SH_GLSL_OUTPUT = 0x8B46, - SH_HLSL_OUTPUT = 0x8B47, - SH_HLSL9_OUTPUT = 0x8B47, - SH_HLSL11_OUTPUT = 0x8B48 -} ShShaderOutput; - -// Compile options. -typedef enum { - SH_VALIDATE = 0, - SH_VALIDATE_LOOP_INDEXING = 0x0001, - SH_INTERMEDIATE_TREE = 0x0002, - SH_OBJECT_CODE = 0x0004, - SH_VARIABLES = 0x0008, - SH_LINE_DIRECTIVES = 0x0010, - SH_SOURCE_PATH = 0x0020, - SH_UNROLL_FOR_LOOP_WITH_INTEGER_INDEX = 0x0040, - // If a sampler array index happens to be a loop index, - // 1) if its type is integer, unroll the loop. - // 2) if its type is float, fail the shader compile. - // This is to work around a mac driver bug. - SH_UNROLL_FOR_LOOP_WITH_SAMPLER_ARRAY_INDEX = 0x0080, - - // This is needed only as a workaround for certain OpenGL driver bugs. - SH_EMULATE_BUILT_IN_FUNCTIONS = 0x0100, - - // This is an experimental flag to enforce restrictions that aim to prevent - // timing attacks. - // It generates compilation errors for shaders that could expose sensitive - // texture information via the timing channel. - // To use this flag, you must compile the shader under the WebGL spec - // (using the SH_WEBGL_SPEC flag). - SH_TIMING_RESTRICTIONS = 0x0200, - - // This flag prints the dependency graph that is used to enforce timing - // restrictions on fragment shaders. - // This flag only has an effect if all of the following are true: - // - The shader spec is SH_WEBGL_SPEC. - // - The compile options contain the SH_TIMING_RESTRICTIONS flag. - // - The shader type is GL_FRAGMENT_SHADER. - SH_DEPENDENCY_GRAPH = 0x0400, - - // Enforce the GLSL 1.017 Appendix A section 7 packing restrictions. - // This flag only enforces (and can only enforce) the packing - // restrictions for uniform variables in both vertex and fragment - // shaders. ShCheckVariablesWithinPackingLimits() lets embedders - // enforce the packing restrictions for varying variables during - // program link time. - SH_ENFORCE_PACKING_RESTRICTIONS = 0x0800, - - // This flag ensures all indirect (expression-based) array indexing - // is clamped to the bounds of the array. This ensures, for example, - // that you cannot read off the end of a uniform, whether an array - // vec234, or mat234 type. The ShArrayIndexClampingStrategy enum, - // specified in the ShBuiltInResources when constructing the - // compiler, selects the strategy for the clamping implementation. - SH_CLAMP_INDIRECT_ARRAY_BOUNDS = 0x1000, - - // This flag limits the complexity of an expression. - SH_LIMIT_EXPRESSION_COMPLEXITY = 0x2000, - - // This flag limits the depth of the call stack. - SH_LIMIT_CALL_STACK_DEPTH = 0x4000, - - // This flag initializes gl_Position to vec4(0,0,0,0) at the - // beginning of the vertex shader's main(), and has no effect in the - // fragment shader. It is intended as a workaround for drivers which - // incorrectly fail to link programs if gl_Position is not written. - SH_INIT_GL_POSITION = 0x8000, - - // This flag replaces - // "a && b" with "a ? b : false", - // "a || b" with "a ? true : b". - // This is to work around a MacOSX driver bug that |b| is executed - // independent of |a|'s value. - SH_UNFOLD_SHORT_CIRCUIT = 0x10000, - - // This flag initializes varyings without static use in vertex shader - // at the beginning of main(), and has no effects in the fragment shader. - // It is intended as a workaround for drivers which incorrectly optimize - // out such varyings and cause a link failure. - SH_INIT_VARYINGS_WITHOUT_STATIC_USE = 0x20000, - - // This flag scalarizes vec/ivec/bvec/mat constructor args. - // It is intended as a workaround for Linux/Mac driver bugs. - SH_SCALARIZE_VEC_AND_MAT_CONSTRUCTOR_ARGS = 0x40000, - - // This flag overwrites a struct name with a unique prefix. - // It is intended as a workaround for drivers that do not handle - // struct scopes correctly, including all Mac drivers and Linux AMD. - SH_REGENERATE_STRUCT_NAMES = 0x80000, -} ShCompileOptions; - -// Defines alternate strategies for implementing array index clamping. -typedef enum { - // Use the clamp intrinsic for array index clamping. - SH_CLAMP_WITH_CLAMP_INTRINSIC = 1, - - // Use a user-defined function for array index clamping. - SH_CLAMP_WITH_USER_DEFINED_INT_CLAMP_FUNCTION -} ShArrayIndexClampingStrategy; - -// -// Driver must call this first, once, before doing any other -// compiler operations. -// If the function succeeds, the return value is true, else false. -// -COMPILER_EXPORT bool ShInitialize(); -// -// Driver should call this at shutdown. -// If the function succeeds, the return value is true, else false. -// -COMPILER_EXPORT bool ShFinalize(); - -// The 64 bits hash function. The first parameter is the input string; the -// second parameter is the string length. -typedef khronos_uint64_t (*ShHashFunction64)(const char*, size_t); - -// -// Implementation dependent built-in resources (constants and extensions). -// The names for these resources has been obtained by stripping gl_/GL_. -// -typedef struct -{ - // Constants. - int MaxVertexAttribs; - int MaxVertexUniformVectors; - int MaxVaryingVectors; - int MaxVertexTextureImageUnits; - int MaxCombinedTextureImageUnits; - int MaxTextureImageUnits; - int MaxFragmentUniformVectors; - int MaxDrawBuffers; - - // Extensions. - // Set to 1 to enable the extension, else 0. - int OES_standard_derivatives; - int OES_EGL_image_external; - int ARB_texture_rectangle; - int EXT_draw_buffers; - int EXT_frag_depth; - int EXT_shader_texture_lod; - int WEBGL_debug_shader_precision; - int EXT_shader_framebuffer_fetch; - int NV_shader_framebuffer_fetch; - int ARM_shader_framebuffer_fetch; - - // Set to 1 to enable replacing GL_EXT_draw_buffers #extension directives - // with GL_NV_draw_buffers in ESSL output. This flag can be used to emulate - // EXT_draw_buffers by using it in combination with GLES3.0 glDrawBuffers - // function. This applies to Tegra K1 devices. - int NV_draw_buffers; - - // Set to 1 if highp precision is supported in the fragment language. - // Default is 0. - int FragmentPrecisionHigh; - - // GLSL ES 3.0 constants. - int MaxVertexOutputVectors; - int MaxFragmentInputVectors; - int MinProgramTexelOffset; - int MaxProgramTexelOffset; - - // Name Hashing. - // Set a 64 bit hash function to enable user-defined name hashing. - // Default is NULL. - ShHashFunction64 HashFunction; - - // Selects a strategy to use when implementing array index clamping. - // Default is SH_CLAMP_WITH_CLAMP_INTRINSIC. - ShArrayIndexClampingStrategy ArrayIndexClampingStrategy; - - // The maximum complexity an expression can be. - int MaxExpressionComplexity; - - // The maximum depth a call stack can be. - int MaxCallStackDepth; -} ShBuiltInResources; - -// -// Initialize built-in resources with minimum expected values. -// Parameters: -// resources: The object to initialize. Will be comparable with memcmp. -// -COMPILER_EXPORT void ShInitBuiltInResources(ShBuiltInResources *resources); - -// -// ShHandle held by but opaque to the driver. It is allocated, -// managed, and de-allocated by the compiler. Its contents -// are defined by and used by the compiler. -// -// If handle creation fails, 0 will be returned. -// -typedef void *ShHandle; - -// -// Returns the a concatenated list of the items in ShBuiltInResources as a -// null-terminated string. -// This function must be updated whenever ShBuiltInResources is changed. -// Parameters: -// handle: Specifies the handle of the compiler to be used. -COMPILER_EXPORT const std::string &ShGetBuiltInResourcesString(const ShHandle handle); - -// -// Driver calls these to create and destroy compiler objects. -// -// Returns the handle of constructed compiler, null if the requested compiler is -// not supported. -// Parameters: -// type: Specifies the type of shader - GL_FRAGMENT_SHADER or GL_VERTEX_SHADER. -// spec: Specifies the language spec the compiler must conform to - -// SH_GLES2_SPEC or SH_WEBGL_SPEC. -// output: Specifies the output code type - SH_ESSL_OUTPUT, SH_GLSL_OUTPUT, -// SH_HLSL9_OUTPUT or SH_HLSL11_OUTPUT. -// resources: Specifies the built-in resources. -COMPILER_EXPORT ShHandle ShConstructCompiler( - sh::GLenum type, - ShShaderSpec spec, - ShShaderOutput output, - const ShBuiltInResources *resources); -COMPILER_EXPORT void ShDestruct(ShHandle handle); - -// -// Compiles the given shader source. -// If the function succeeds, the return value is true, else false. -// Parameters: -// handle: Specifies the handle of compiler to be used. -// shaderStrings: Specifies an array of pointers to null-terminated strings -// containing the shader source code. -// numStrings: Specifies the number of elements in shaderStrings array. -// compileOptions: A mask containing the following parameters: -// SH_VALIDATE: Validates shader to ensure that it conforms to the spec -// specified during compiler construction. -// SH_VALIDATE_LOOP_INDEXING: Validates loop and indexing in the shader to -// ensure that they do not exceed the minimum -// functionality mandated in GLSL 1.0 spec, -// Appendix A, Section 4 and 5. -// There is no need to specify this parameter when -// compiling for WebGL - it is implied. -// SH_INTERMEDIATE_TREE: Writes intermediate tree to info log. -// Can be queried by calling ShGetInfoLog(). -// SH_OBJECT_CODE: Translates intermediate tree to glsl or hlsl shader. -// Can be queried by calling ShGetObjectCode(). -// SH_VARIABLES: Extracts attributes, uniforms, and varyings. -// Can be queried by calling ShGetVariableInfo(). -// -COMPILER_EXPORT bool ShCompile( - const ShHandle handle, - const char * const shaderStrings[], - size_t numStrings, - int compileOptions); - -// Return the version of the shader language. -COMPILER_EXPORT int ShGetShaderVersion(const ShHandle handle); - -// Return the currently set language output type. -COMPILER_EXPORT ShShaderOutput ShGetShaderOutputType( - const ShHandle handle); - -// Returns null-terminated information log for a compiled shader. -// Parameters: -// handle: Specifies the compiler -COMPILER_EXPORT const std::string &ShGetInfoLog(const ShHandle handle); - -// Returns null-terminated object code for a compiled shader. -// Parameters: -// handle: Specifies the compiler -COMPILER_EXPORT const std::string &ShGetObjectCode(const ShHandle handle); - -// Returns a (original_name, hash) map containing all the user defined -// names in the shader, including variable names, function names, struct -// names, and struct field names. -// Parameters: -// handle: Specifies the compiler -COMPILER_EXPORT const std::map *ShGetNameHashingMap( - const ShHandle handle); - -// Shader variable inspection. -// Returns a pointer to a list of variables of the designated type. -// (See ShaderVars.h for type definitions, included above) -// Returns NULL on failure. -// Parameters: -// handle: Specifies the compiler -COMPILER_EXPORT const std::vector *ShGetUniforms(const ShHandle handle); -COMPILER_EXPORT const std::vector *ShGetVaryings(const ShHandle handle); -COMPILER_EXPORT const std::vector *ShGetAttributes(const ShHandle handle); -COMPILER_EXPORT const std::vector *ShGetOutputVariables(const ShHandle handle); -COMPILER_EXPORT const std::vector *ShGetInterfaceBlocks(const ShHandle handle); - -typedef struct -{ - sh::GLenum type; - int size; -} ShVariableInfo; - -// Returns true if the passed in variables pack in maxVectors following -// the packing rules from the GLSL 1.017 spec, Appendix A, section 7. -// Returns false otherwise. Also look at the SH_ENFORCE_PACKING_RESTRICTIONS -// flag above. -// Parameters: -// maxVectors: the available rows of registers. -// varInfoArray: an array of variable info (types and sizes). -// varInfoArraySize: the size of the variable array. -COMPILER_EXPORT bool ShCheckVariablesWithinPackingLimits( - int maxVectors, - ShVariableInfo *varInfoArray, - size_t varInfoArraySize); - -// Gives the compiler-assigned register for an interface block. -// The method writes the value to the output variable "indexOut". -// Returns true if it found a valid interface block, false otherwise. -// Parameters: -// handle: Specifies the compiler -// interfaceBlockName: Specifies the interface block -// indexOut: output variable that stores the assigned register -COMPILER_EXPORT bool ShGetInterfaceBlockRegister(const ShHandle handle, - const std::string &interfaceBlockName, - unsigned int *indexOut); - -// Gives the compiler-assigned register for uniforms in the default -// interface block. -// The method writes the value to the output variable "indexOut". -// Returns true if it found a valid default uniform, false otherwise. -// Parameters: -// handle: Specifies the compiler -// interfaceBlockName: Specifies the uniform -// indexOut: output variable that stores the assigned register -COMPILER_EXPORT bool ShGetUniformRegister(const ShHandle handle, - const std::string &uniformName, - unsigned int *indexOut); - -#endif // GLSLANG_SHADERLANG_H_ diff --git a/include/GLSLANG/ShaderVars.h b/include/GLSLANG/ShaderVars.h deleted file mode 100644 index d176e0bf2..000000000 --- a/include/GLSLANG/ShaderVars.h +++ /dev/null @@ -1,185 +0,0 @@ -// -// Copyright (c) 2013-2014 The ANGLE Project Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -// -// ShaderVars.h: -// Types to represent GL variables (varyings, uniforms, etc) -// - -#ifndef GLSLANG_SHADERVARS_H_ -#define GLSLANG_SHADERVARS_H_ - -#include -#include -#include - -// Assume ShaderLang.h is included before ShaderVars.h, for sh::GLenum -// Note: make sure to increment ANGLE_SH_VERSION when changing ShaderVars.h - -namespace sh -{ - -// Varying interpolation qualifier, see section 4.3.9 of the ESSL 3.00.4 spec -enum InterpolationType -{ - INTERPOLATION_SMOOTH, - INTERPOLATION_CENTROID, - INTERPOLATION_FLAT -}; - -// Uniform block layout qualifier, see section 4.3.8.3 of the ESSL 3.00.4 spec -enum BlockLayoutType -{ - BLOCKLAYOUT_STANDARD, - BLOCKLAYOUT_PACKED, - BLOCKLAYOUT_SHARED -}; - -// Base class for all variables defined in shaders, including Varyings, Uniforms, etc -// Note: we must override the copy constructor and assignment operator so we can -// work around excessive GCC binary bloating: -// See https://code.google.com/p/angleproject/issues/detail?id=697 -struct COMPILER_EXPORT ShaderVariable -{ - ShaderVariable(); - ShaderVariable(GLenum typeIn, unsigned int arraySizeIn); - ~ShaderVariable(); - ShaderVariable(const ShaderVariable &other); - ShaderVariable &operator=(const ShaderVariable &other); - - bool isArray() const { return arraySize > 0; } - unsigned int elementCount() const { return std::max(1u, arraySize); } - bool isStruct() const { return !fields.empty(); } - - // All of the shader's variables are described using nested data - // structures. This is needed in order to disambiguate similar looking - // types, such as two structs containing the same fields, but in - // different orders. "findInfoByMappedName" provides an easy query for - // users to dive into the data structure and fetch the unique variable - // instance corresponding to a dereferencing chain of the top-level - // variable. - // Given a mapped name like 'a[0].b.c[0]', return the ShaderVariable - // that defines 'c' in |leafVar|, and the original name 'A[0].B.C[0]' - // in |originalName|, based on the assumption that |this| defines 'a'. - // If no match is found, return false. - bool findInfoByMappedName(const std::string &mappedFullName, - const ShaderVariable **leafVar, - std::string* originalFullName) const; - - GLenum type; - GLenum precision; - std::string name; - std::string mappedName; - unsigned int arraySize; - bool staticUse; - std::vector fields; - std::string structName; - - protected: - bool isSameVariableAtLinkTime(const ShaderVariable &other, - bool matchPrecision) const; - - bool operator==(const ShaderVariable &other) const; - bool operator!=(const ShaderVariable &other) const - { - return !operator==(other); - } -}; - -struct COMPILER_EXPORT Uniform : public ShaderVariable -{ - Uniform(); - ~Uniform(); - Uniform(const Uniform &other); - Uniform &operator=(const Uniform &other); - bool operator==(const Uniform &other) const; - bool operator!=(const Uniform &other) const - { - return !operator==(other); - } - - // Decide whether two uniforms are the same at shader link time, - // assuming one from vertex shader and the other from fragment shader. - // See GLSL ES Spec 3.00.3, sec 4.3.5. - bool isSameUniformAtLinkTime(const Uniform &other) const; -}; - -struct COMPILER_EXPORT Attribute : public ShaderVariable -{ - Attribute(); - ~Attribute(); - Attribute(const Attribute &other); - Attribute &operator=(const Attribute &other); - bool operator==(const Attribute &other) const; - bool operator!=(const Attribute &other) const - { - return !operator==(other); - } - - int location; -}; - -struct COMPILER_EXPORT InterfaceBlockField : public ShaderVariable -{ - InterfaceBlockField(); - ~InterfaceBlockField(); - InterfaceBlockField(const InterfaceBlockField &other); - InterfaceBlockField &operator=(const InterfaceBlockField &other); - bool operator==(const InterfaceBlockField &other) const; - bool operator!=(const InterfaceBlockField &other) const - { - return !operator==(other); - } - - // Decide whether two InterfaceBlock fields are the same at shader - // link time, assuming one from vertex shader and the other from - // fragment shader. - // See GLSL ES Spec 3.00.3, sec 4.3.7. - bool isSameInterfaceBlockFieldAtLinkTime( - const InterfaceBlockField &other) const; - - bool isRowMajorLayout; -}; - -struct COMPILER_EXPORT Varying : public ShaderVariable -{ - Varying(); - ~Varying(); - Varying(const Varying &otherg); - Varying &operator=(const Varying &other); - bool operator==(const Varying &other) const; - bool operator!=(const Varying &other) const - { - return !operator==(other); - } - - // Decide whether two varyings are the same at shader link time, - // assuming one from vertex shader and the other from fragment shader. - // See GLSL ES Spec 3.00.3, sec 4.3.9. - bool isSameVaryingAtLinkTime(const Varying &other) const; - - InterpolationType interpolation; - bool isInvariant; -}; - -struct COMPILER_EXPORT InterfaceBlock -{ - InterfaceBlock(); - ~InterfaceBlock(); - InterfaceBlock(const InterfaceBlock &other); - InterfaceBlock &operator=(const InterfaceBlock &other); - - std::string name; - std::string mappedName; - std::string instanceName; - unsigned int arraySize; - BlockLayoutType layout; - bool isRowMajorLayout; - bool staticUse; - std::vector fields; -}; - -} - -#endif // GLSLANG_SHADERVARS_H_ diff --git a/include/KHR/khrplatform.h b/include/KHR/khrplatform.h deleted file mode 100755 index c9e6f17d3..000000000 --- a/include/KHR/khrplatform.h +++ /dev/null @@ -1,282 +0,0 @@ -#ifndef __khrplatform_h_ -#define __khrplatform_h_ - -/* -** Copyright (c) 2008-2009 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. -*/ - -/* Khronos platform-specific types and definitions. - * - * $Revision: 23298 $ on $Date: 2013-09-30 17:07:13 -0700 (Mon, 30 Sep 2013) $ - * - * Adopters may modify this file to suit their platform. Adopters are - * encouraged to submit platform specific modifications to the Khronos - * group so that they can be included in future versions of this file. - * Please submit changes by sending them to the public Khronos Bugzilla - * (http://khronos.org/bugzilla) by filing a bug against product - * "Khronos (general)" component "Registry". - * - * A predefined template which fills in some of the bug fields can be - * reached using http://tinyurl.com/khrplatform-h-bugreport, but you - * must create a Bugzilla login first. - * - * - * See the Implementer's Guidelines for information about where this file - * should be located on your system and for more details of its use: - * http://www.khronos.org/registry/implementers_guide.pdf - * - * This file should be included as - * #include - * by Khronos client API header files that use its types and defines. - * - * The types in khrplatform.h should only be used to define API-specific types. - * - * Types defined in khrplatform.h: - * khronos_int8_t signed 8 bit - * khronos_uint8_t unsigned 8 bit - * khronos_int16_t signed 16 bit - * khronos_uint16_t unsigned 16 bit - * khronos_int32_t signed 32 bit - * khronos_uint32_t unsigned 32 bit - * khronos_int64_t signed 64 bit - * khronos_uint64_t unsigned 64 bit - * khronos_intptr_t signed same number of bits as a pointer - * khronos_uintptr_t unsigned same number of bits as a pointer - * khronos_ssize_t signed size - * khronos_usize_t unsigned size - * khronos_float_t signed 32 bit floating point - * khronos_time_ns_t unsigned 64 bit time in nanoseconds - * khronos_utime_nanoseconds_t unsigned time interval or absolute time in - * nanoseconds - * khronos_stime_nanoseconds_t signed time interval in nanoseconds - * khronos_boolean_enum_t enumerated boolean type. This should - * only be used as a base type when a client API's boolean type is - * an enum. Client APIs which use an integer or other type for - * booleans cannot use this as the base type for their boolean. - * - * Tokens defined in khrplatform.h: - * - * KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values. - * - * KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0. - * KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0. - * - * Calling convention macros defined in this file: - * KHRONOS_APICALL - * KHRONOS_APIENTRY - * KHRONOS_APIATTRIBUTES - * - * These may be used in function prototypes as: - * - * KHRONOS_APICALL void KHRONOS_APIENTRY funcname( - * int arg1, - * int arg2) KHRONOS_APIATTRIBUTES; - */ - -/*------------------------------------------------------------------------- - * Definition of KHRONOS_APICALL - *------------------------------------------------------------------------- - * This precedes the return type of the function in the function prototype. - */ -#if defined(_WIN32) && !defined(__SCITECH_SNAP__) -# define KHRONOS_APICALL __declspec(dllimport) -#elif defined (__SYMBIAN32__) -# define KHRONOS_APICALL IMPORT_C -#else -# define KHRONOS_APICALL -#endif - -/*------------------------------------------------------------------------- - * Definition of KHRONOS_APIENTRY - *------------------------------------------------------------------------- - * This follows the return type of the function and precedes the function - * name in the function prototype. - */ -#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__) - /* Win32 but not WinCE */ -# define KHRONOS_APIENTRY __stdcall -#else -# define KHRONOS_APIENTRY -#endif - -/*------------------------------------------------------------------------- - * Definition of KHRONOS_APIATTRIBUTES - *------------------------------------------------------------------------- - * This follows the closing parenthesis of the function prototype arguments. - */ -#if defined (__ARMCC_2__) -#define KHRONOS_APIATTRIBUTES __softfp -#else -#define KHRONOS_APIATTRIBUTES -#endif - -/*------------------------------------------------------------------------- - * basic type definitions - *-----------------------------------------------------------------------*/ -#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__) - - -/* - * Using - */ -#include -typedef int32_t khronos_int32_t; -typedef uint32_t khronos_uint32_t; -typedef int64_t khronos_int64_t; -typedef uint64_t khronos_uint64_t; -#define KHRONOS_SUPPORT_INT64 1 -#define KHRONOS_SUPPORT_FLOAT 1 - -#elif defined(__VMS ) || defined(__sgi) - -/* - * Using - */ -#include -typedef int32_t khronos_int32_t; -typedef uint32_t khronos_uint32_t; -typedef int64_t khronos_int64_t; -typedef uint64_t khronos_uint64_t; -#define KHRONOS_SUPPORT_INT64 1 -#define KHRONOS_SUPPORT_FLOAT 1 - -#elif defined(_WIN32) && !defined(__SCITECH_SNAP__) - -/* - * Win32 - */ -typedef __int32 khronos_int32_t; -typedef unsigned __int32 khronos_uint32_t; -typedef __int64 khronos_int64_t; -typedef unsigned __int64 khronos_uint64_t; -#define KHRONOS_SUPPORT_INT64 1 -#define KHRONOS_SUPPORT_FLOAT 1 - -#elif defined(__sun__) || defined(__digital__) - -/* - * Sun or Digital - */ -typedef int khronos_int32_t; -typedef unsigned int khronos_uint32_t; -#if defined(__arch64__) || defined(_LP64) -typedef long int khronos_int64_t; -typedef unsigned long int khronos_uint64_t; -#else -typedef long long int khronos_int64_t; -typedef unsigned long long int khronos_uint64_t; -#endif /* __arch64__ */ -#define KHRONOS_SUPPORT_INT64 1 -#define KHRONOS_SUPPORT_FLOAT 1 - -#elif 0 - -/* - * Hypothetical platform with no float or int64 support - */ -typedef int khronos_int32_t; -typedef unsigned int khronos_uint32_t; -#define KHRONOS_SUPPORT_INT64 0 -#define KHRONOS_SUPPORT_FLOAT 0 - -#else - -/* - * Generic fallback - */ -#include -typedef int32_t khronos_int32_t; -typedef uint32_t khronos_uint32_t; -typedef int64_t khronos_int64_t; -typedef uint64_t khronos_uint64_t; -#define KHRONOS_SUPPORT_INT64 1 -#define KHRONOS_SUPPORT_FLOAT 1 - -#endif - - -/* - * Types that are (so far) the same on all platforms - */ -typedef signed char khronos_int8_t; -typedef unsigned char khronos_uint8_t; -typedef signed short int khronos_int16_t; -typedef unsigned short int khronos_uint16_t; - -/* - * Types that differ between LLP64 and LP64 architectures - in LLP64, - * pointers are 64 bits, but 'long' is still 32 bits. Win64 appears - * to be the only LLP64 architecture in current use. - */ -#ifdef _WIN64 -typedef signed long long int khronos_intptr_t; -typedef unsigned long long int khronos_uintptr_t; -typedef signed long long int khronos_ssize_t; -typedef unsigned long long int khronos_usize_t; -#else -typedef signed long int khronos_intptr_t; -typedef unsigned long int khronos_uintptr_t; -typedef signed long int khronos_ssize_t; -typedef unsigned long int khronos_usize_t; -#endif - -#if KHRONOS_SUPPORT_FLOAT -/* - * Float type - */ -typedef float khronos_float_t; -#endif - -#if KHRONOS_SUPPORT_INT64 -/* Time types - * - * These types can be used to represent a time interval in nanoseconds or - * an absolute Unadjusted System Time. Unadjusted System Time is the number - * of nanoseconds since some arbitrary system event (e.g. since the last - * time the system booted). The Unadjusted System Time is an unsigned - * 64 bit value that wraps back to 0 every 584 years. Time intervals - * may be either signed or unsigned. - */ -typedef khronos_uint64_t khronos_utime_nanoseconds_t; -typedef khronos_int64_t khronos_stime_nanoseconds_t; -#endif - -/* - * Dummy value used to pad enum types to 32 bits. - */ -#ifndef KHRONOS_MAX_ENUM -#define KHRONOS_MAX_ENUM 0x7FFFFFFF -#endif - -/* - * Enumerated boolean type - * - * Values other than zero should be considered to be true. Therefore - * comparisons should not be made against KHRONOS_TRUE. - */ -typedef enum { - KHRONOS_FALSE = 0, - KHRONOS_TRUE = 1, - KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM -} khronos_boolean_enum_t; - -#endif /* __khrplatform_h_ */ diff --git a/include/angle_gl.h b/include/angle_gl.h deleted file mode 100644 index e7ecdbd2f..000000000 --- a/include/angle_gl.h +++ /dev/null @@ -1,23 +0,0 @@ -// -// Copyright (c) 2014 The ANGLE Project Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -// -// angle_gl.h: -// Includes all necessary GL headers and definitions for ANGLE. -// - -#ifndef ANGLEGL_H_ -#define ANGLEGL_H_ - -#include "GLES2/gl2.h" -#include "GLES2/gl2ext.h" -#include "GLES3/gl3.h" -#include "GLES3/gl3ext.h" - -// The following enum is used in ANGLE, but is from desktop GL -#ifndef GL_SAMPLER_2D_RECT_ARB -#define GL_SAMPLER_2D_RECT_ARB 0x8B63 -#endif - -#endif // ANGLEGL_H_ diff --git a/include/angle_windowsstore.h b/include/angle_windowsstore.h deleted file mode 100644 index 53ec93e03..000000000 --- a/include/angle_windowsstore.h +++ /dev/null @@ -1,37 +0,0 @@ -// -// Copyright (c) 2014 The ANGLE Project Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -// -// angle_windowsstore.h: - -#ifndef ANGLE_WINDOWSSTORE_H_ -#define ANGLE_WINDOWSSTORE_H_ - -// The following properties can be set on the CoreApplication to support additional -// ANGLE configuration options. -// -// The Visual Studio sample templates provided with this version of ANGLE have examples -// of how to set these property values. - -// -// Property: EGLNativeWindowTypeProperty -// Type: IInspectable -// Description: Set this property to specify the window type to use for creating a surface. -// If this property is missing, surface creation will fail. -// -const wchar_t EGLNativeWindowTypeProperty[] = L"EGLNativeWindowTypeProperty"; - -// -// Property: EGLRenderSurfaceSizeProperty -// Type: Size -// Description: Set this property to specify a preferred size in pixels of the render surface. -// The render surface size width and height must be greater than 0. -// If this property is set, then the render surface size is fixed. -// If this property is missing, a default behavior will be provided. -// The default behavior uses the window size if a CoreWindow is specified or -// the size of the SwapChainPanel control if one is specified. -// -const wchar_t EGLRenderSurfaceSizeProperty[] = L"EGLRenderSurfaceSizeProperty"; - -#endif // ANGLE_WINDOWSSTORE_H_ diff --git a/samples/angle/hello_triangle/HelloTriangle.cpp b/samples/angle/hello_triangle/HelloTriangle.cpp deleted file mode 100644 index e991607d8..000000000 --- a/samples/angle/hello_triangle/HelloTriangle.cpp +++ /dev/null @@ -1,96 +0,0 @@ -// -// Copyright (c) 2014 The ANGLE Project Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -// - -// Based on Hello_Triangle.c from -// Book: OpenGL(R) ES 2.0 Programming Guide -// Authors: Aaftab Munshi, Dan Ginsburg, Dave Shreiner -// ISBN-10: 0321502795 -// ISBN-13: 9780321502797 -// Publisher: Addison-Wesley Professional -// URLs: http://safari.informit.com/9780321563835 -// http://www.opengles-book.com - -#include "SampleApplication.h" -#include "shader_utils.h" - -class HelloTriangleSample : public SampleApplication -{ - public: - HelloTriangleSample::HelloTriangleSample() - : SampleApplication("HelloTriangle", 1280, 720) - { - } - - virtual bool initialize() - { - const std::string vs = SHADER_SOURCE - ( - attribute vec4 vPosition; - void main() - { - gl_Position = vPosition; - } - ); - - const std::string fs = SHADER_SOURCE - ( - precision mediump float; - void main() - { - gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0); - } - ); - - mProgram = CompileProgram(vs, fs); - if (!mProgram) - { - return false; - } - - glClearColor(0.0f, 0.0f, 0.0f, 0.0f); - - return true; - } - - virtual void destroy() - { - glDeleteProgram(mProgram); - } - - virtual void draw() - { - GLfloat vertices[] = - { - 0.0f, 0.5f, 0.0f, - -0.5f, -0.5f, 0.0f, - 0.5f, -0.5f, 0.0f, - }; - - // Set the viewport - glViewport(0, 0, getWindow()->getWidth(), getWindow()->getHeight()); - - // Clear the color buffer - glClear(GL_COLOR_BUFFER_BIT); - - // Use the program object - glUseProgram(mProgram); - - // Load the vertex data - glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, vertices); - glEnableVertexAttribArray(0); - - glDrawArrays(GL_TRIANGLES, 0, 3); - } - - private: - GLuint mProgram; -}; - -int main(int argc, char **argv) -{ - HelloTriangleSample app; - return app.run(); -} diff --git a/samples/angle/mip_map_2d/MipMap2D.cpp b/samples/angle/mip_map_2d/MipMap2D.cpp deleted file mode 100644 index 478d9da18..000000000 --- a/samples/angle/mip_map_2d/MipMap2D.cpp +++ /dev/null @@ -1,169 +0,0 @@ -// -// Copyright (c) 2014 The ANGLE Project Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -// - -// Based on MipMap2D.c from -// Book: OpenGL(R) ES 2.0 Programming Guide -// Authors: Aaftab Munshi, Dan Ginsburg, Dave Shreiner -// ISBN-10: 0321502795 -// ISBN-13: 9780321502797 -// Publisher: Addison-Wesley Professional -// URLs: http://safari.informit.com/9780321563835 -// http://www.opengles-book.com - -#include "SampleApplication.h" -#include "shader_utils.h" -#include "texture_utils.h" - -class MipMap2DSample : public SampleApplication -{ - public: - MipMap2DSample::MipMap2DSample() - : SampleApplication("MipMap2D", 1280, 720) - { - } - - virtual bool initialize() - { - const std::string vs = SHADER_SOURCE - ( - uniform float u_offset; - attribute vec4 a_position; - attribute vec2 a_texCoord; - varying vec2 v_texCoord; - void main() - { - gl_Position = a_position; - gl_Position.x += u_offset; - v_texCoord = a_texCoord; - } - ); - - const std::string fs = SHADER_SOURCE - ( - precision mediump float; - varying vec2 v_texCoord; - uniform sampler2D s_texture; - void main() - { - gl_FragColor = texture2D(s_texture, v_texCoord); - } - ); - - mProgram = CompileProgram(vs, fs); - if (!mProgram) - { - return false; - } - - // Get the attribute locations - mPositionLoc = glGetAttribLocation(mProgram, "a_position"); - mTexCoordLoc = glGetAttribLocation(mProgram, "a_texCoord"); - - // Get the sampler location - mSamplerLoc = glGetUniformLocation(mProgram, "s_texture"); - - // Get the offset location - mOffsetLoc = glGetUniformLocation(mProgram, "u_offset"); - - // Load the texture - mTextureID = CreateMipMappedTexture2D(); - - // Check Anisotropy limits - glGetFloatv(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &mMaxAnisotropy); - - glClearColor(0.0f, 0.0f, 0.0f, 0.0f); - - return true; - } - - virtual void destroy() - { - glDeleteProgram(mProgram); - glDeleteTextures(1, &mTextureID); - } - - virtual void draw() - { - const GLfloat vertices[] = - { - -0.25f, 0.5f, 0.0f, 5.0f, // Position 0 - 0.0f, 0.0f, // TexCoord 0 - -0.25f, -0.5f, 0.0f, 1.0f, // Position 1 - 0.0f, 1.0f, // TexCoord 1 - 0.25f, -0.5f, 0.0f, 1.0f, // Position 2 - 1.0f, 1.0f, // TexCoord 2 - 0.25f, 0.5f, 0.0f, 5.0f, // Position 3 - 1.0f, 0.0f // TexCoord 3 - }; - const GLushort indices[] = { 0, 1, 2, 0, 2, 3 }; - - // Set the viewport - glViewport(0, 0, getWindow()->getWidth(), getWindow()->getHeight()); - - // Clear the color buffer - glClear(GL_COLOR_BUFFER_BIT); - - // Use the program object - glUseProgram(mProgram); - - // Load the vertex position - glVertexAttribPointer(mPositionLoc, 4, GL_FLOAT, GL_FALSE, 6 * sizeof(GLfloat), vertices); - // Load the texture coordinate - glVertexAttribPointer(mTexCoordLoc, 2, GL_FLOAT, GL_FALSE, 6 * sizeof(GLfloat), vertices + 4); - - glEnableVertexAttribArray(mPositionLoc); - glEnableVertexAttribArray(mTexCoordLoc); - - // Bind the texture - glActiveTexture(GL_TEXTURE0); - glBindTexture(GL_TEXTURE_2D, mTextureID); - - // Set the sampler texture unit to 0 - glUniform1i(mSamplerLoc, 0); - - // Draw quad with nearest sampling - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); - glUniform1f(mOffsetLoc, -0.6f); - glDrawElements ( GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, indices); - - // Draw quad with trilinear filtering - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); - glUniform1f(mOffsetLoc, 0.0f); - glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, indices); - - // Draw quad with anisotropic filtering - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); - glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, mMaxAnisotropy); - glUniform1f(mOffsetLoc, 0.6f); - glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, indices); - glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, 1.0f); - } - - private: - // Handle to a program object - GLuint mProgram; - - // Attribute locations - GLint mPositionLoc; - GLint mTexCoordLoc; - - // Sampler location - GLint mSamplerLoc; - - // Offset location - GLint mOffsetLoc; - - // Texture handle - GLuint mTextureID; - - float mMaxAnisotropy; -}; - -int main(int argc, char **argv) -{ - MipMap2DSample app; - return app.run(); -} diff --git a/samples/angle/multi_texture/MultiTexture.cpp b/samples/angle/multi_texture/MultiTexture.cpp deleted file mode 100644 index 8052a8590..000000000 --- a/samples/angle/multi_texture/MultiTexture.cpp +++ /dev/null @@ -1,173 +0,0 @@ -// -// Copyright (c) 2014 The ANGLE Project Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -// - -// Based on MultiTexture.c from -// Book: OpenGL(R) ES 2.0 Programming Guide -// Authors: Aaftab Munshi, Dan Ginsburg, Dave Shreiner -// ISBN-10: 0321502795 -// ISBN-13: 9780321502797 -// Publisher: Addison-Wesley Professional -// URLs: http://safari.informit.com/9780321563835 -// http://www.opengles-book.com - -#include "SampleApplication.h" -#include "shader_utils.h" -#include "tga_utils.h" -#include "path_utils.h" - -class MultiTextureSample : public SampleApplication -{ - public: - MultiTextureSample::MultiTextureSample() - : SampleApplication("MultiTexture", 1280, 720) - { - } - - GLuint loadTexture(const std::string &path) - { - TGAImage img; - if (!LoadTGAImageFromFile(path, &img)) - { - return 0; - } - - return LoadTextureFromTGAImage(img); - } - - virtual bool initialize() - { - const std::string vs = SHADER_SOURCE - ( - attribute vec4 a_position; - attribute vec2 a_texCoord; - varying vec2 v_texCoord; - void main() - { - gl_Position = a_position; - v_texCoord = a_texCoord; - } - ); - - const std::string fs = SHADER_SOURCE - ( - precision mediump float; - varying vec2 v_texCoord; - uniform sampler2D s_baseMap; - uniform sampler2D s_lightMap; - void main() - { - vec4 baseColor; - vec4 lightColor; - - baseColor = texture2D(s_baseMap, v_texCoord); - lightColor = texture2D(s_lightMap, v_texCoord); - gl_FragColor = baseColor * (lightColor + 0.25); - } - ); - - mProgram = CompileProgram(vs, fs); - if (!mProgram) - { - return false; - } - - // Get the attribute locations - mPositionLoc = glGetAttribLocation(mProgram, "a_position"); - mTexCoordLoc = glGetAttribLocation(mProgram, "a_texCoord"); - - // Get the sampler location - mBaseMapLoc = glGetUniformLocation(mProgram, "s_baseMap"); - mLightMapLoc = glGetUniformLocation(mProgram, "s_lightMap"); - - // Load the textures - mBaseMapTexID = loadTexture(GetExecutableDirectory() + "/basemap.tga"); - mLightMapTexID = loadTexture(GetExecutableDirectory() + "/lightmap.tga"); - if (mBaseMapTexID == 0 || mLightMapTexID == 0) - { - return false; - } - - return true; - } - - virtual void destroy() - { - glDeleteProgram(mProgram); - glDeleteTextures(1, &mBaseMapTexID); - glDeleteTextures(1, &mLightMapTexID); - } - - virtual void draw() - { - GLfloat vertices[] = - { - -0.5f, 0.5f, 0.0f, // Position 0 - 0.0f, 0.0f, // TexCoord 0 - -0.5f, -0.5f, 0.0f, // Position 1 - 0.0f, 1.0f, // TexCoord 1 - 0.5f, -0.5f, 0.0f, // Position 2 - 1.0f, 1.0f, // TexCoord 2 - 0.5f, 0.5f, 0.0f, // Position 3 - 1.0f, 0.0f // TexCoord 3 - }; - GLushort indices[] = { 0, 1, 2, 0, 2, 3 }; - - // Set the viewport - glViewport(0, 0, getWindow()->getWidth(), getWindow()->getHeight()); - - // Clear the color buffer - glClear(GL_COLOR_BUFFER_BIT); - - // Use the program object - glUseProgram(mProgram); - - // Load the vertex position - glVertexAttribPointer(mPositionLoc, 3, GL_FLOAT, GL_FALSE, 5 * sizeof(GLfloat), vertices); - // Load the texture coordinate - glVertexAttribPointer(mTexCoordLoc, 2, GL_FLOAT, GL_FALSE, 5 * sizeof(GLfloat), vertices + 3); - - glEnableVertexAttribArray(mPositionLoc); - glEnableVertexAttribArray(mTexCoordLoc); - - // Bind the base map - glActiveTexture(GL_TEXTURE0); - glBindTexture(GL_TEXTURE_2D, mBaseMapTexID); - - // Set the base map sampler to texture unit to 0 - glUniform1i(mBaseMapLoc, 0); - - // Bind the light map - glActiveTexture(GL_TEXTURE1); - glBindTexture(GL_TEXTURE_2D, mLightMapTexID); - - // Set the light map sampler to texture unit 1 - glUniform1i(mLightMapLoc, 1); - - glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, indices); - } - - private: - // Handle to a program object - GLuint mProgram; - - // Attribute locations - GLint mPositionLoc; - GLint mTexCoordLoc; - - // Sampler locations - GLint mBaseMapLoc; - GLint mLightMapLoc; - - // Texture handle - GLuint mBaseMapTexID; - GLuint mLightMapTexID; -}; - -int main(int argc, char **argv) -{ - MultiTextureSample app; - return app.run(); -} diff --git a/samples/angle/multi_texture/basemap.tga b/samples/angle/multi_texture/basemap.tga deleted file mode 100644 index 8acafae236cd36a7aca10bca4f044fed842d6894..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 786476 zcmX`Thms@dnIt$iPjT}~4apgD*v;wPHam5;qk6^lZh}aqsS?{0%VR$@sbUL%pRvm+qnN{fC^hhtEjQ(6U#Pd$?l3>z)_Y@T zvQyeVbSArMYamxUlG{|PUAfQ|?G9};(rN{tRICn@Mv162(-?1xYXY& zc4tbZFO>&MwJ(=DjN3?AF6q{Dc)4;TYPm_LoH0si-6icBX;-*XLuquCa!oE(%tqa; zRs_=!G+i|<%`jO}B50Q4I6+f5MWi@|m2}atty0~tckEiH(CcZPCgr+ZwQlr=Mt5K| z+G?RJ83oC5EVpbGUD+^sBd=BPy%%}gR%;EV+7z9Nesdg%}&)RS+XY6Zb7ZMM&1xqnab;Yxu6X?m0HP`Si*Ib zL9g6t6no9e?reYu4!hM+ueQ6@KRenw*co1(?QKolC0Df!p;;}qTlGPw-RgCY5B5)Q zuWQ{-h~r7a+2FNJN)FJfUhnnr0k)>I-JOfO+oOwfY$sQj2WO`{hX?(^pxth@+Rb*i zHJwe5_xHD^li7H5c({Lld46vZeg?r>{1o=vv*cMr}^&hM^| z&d+9hyOZ7R*05jibz7ss1i$X>ZXF!Vc6Pe`ezVi*^m_Y8N8_zorCw{c+r!D^{PObd z;olx!T1ZJUc$Vz1%xLo*izt2kl0;ae8(1`04S} z=XZCnuP&}nu5Qk*uFp>{Pxg*?caL|^ZZEFi+~0n9d;j6x^~3A4+pE{_-hTZ2>BHww zHxGBRZhXD4wBQNF1wCWA3C8`y%jj>u+W6u{=*#8sx0}h$j2fWw38n0z^yQSen2?@@ znWtg$WrW?#*p(RV$#UKl z6Ug#mTJh7ekJ00*n=Lj{W*MKFE!54kP$aPipn` z{>22M(UqG$y*tvnL#;J3I%A>MWh-sE+6Mk-N!vBNtJ#cc{sLnyY?+JMYgiF}nVw#E7wlv|0nXR-4XD=wtMEz4$baVZw$0r-)fEB!PIE=v?kt0gD%&IN;#V^vQ~w$%M@( zi=ta%EGxm#NrukxJWkPUjtE9$9)B;v%TP%wm!yas&#;E7SBm*o)vA=ulB<_0 z`D!y?Y3hZFY!)aL)PcCqUd>E%`-}VeiTuHk5K|R#&mm) z6*d#JH^q9A)M_;S+!t5~hS%eXm0)DaA6)eLUwSv6uCF~=S^jEi@!9I~lFz#l39W?! zt3kgn7LOA|G@J8AV@Zn6uv{#gi)V>smPllYEJ;KMrYg|cq-*Qj<6f^-?zT$pik(-uN?xg#ty;+}=4HneZ9}ZO zMy05?>&23zR|?kU>CSZADCFg;n{U@$FokO?jY_^=$%7OogGRqqYBiiz({T%0-jHk6 z(sVdzb=&(p+o$(8?cpdYNt9Xet9dV@Ze%$^bBc{N5OO%1o?c(wJ-&VX?$i104eJJ-xWN zxV{9}bOycs)8ms%5aPw&$>HAF(aGJ_;nmsU#qsvR_H=i0d3W&|*#B^SbANGjcY&W5 z*Jo$fX9uVId#C%SH|KaWXZJVPZy#>nJRD!1U*6q(`0nEmfBy0I;a<(#&sH{G`JxHY z5NhoN>n?hk1rNC#=KO@2)~Z}(K$YuEwVAM-IHa;u_R0ATNsU`>RB`2E+nWvLGdusCM#|7l26gRlH%p$5U<5VGbUMn zP7aEiUr@Xf?y=&m=>c~{g+N^MMzy5~yOxwzV*Gkm_b|4PvAndgnYF?~B`MW2TAMU` z8Kp^UbxN&pP79(jESo{u^mBTQv*NrJB9sWJCWL%KvSNZm7(1|zJqLfFX1?LsVHi0D>CHB+`jS8GDECAHgp zt)4K9Ftn&$$mR<^TJSSs&MGp+T3U726YP_f(7!+5Snwu8897dAq?o6qJgHha*~o|{ zrMpbNN?E0(WJY;CCh93QAJ^=lmJjQ8NV9z)J5fto#W^zD<%HqHbvvDR3Ae`8TU?{b z)$1w40(B;2B`Iq`g7atT7$+n+ImPL|6!Ux|{>4krv-Nm5E5`^qCzzyUk+MaqPD;>| zq7mb@gk)wFn=;%4r~9*rpC9C{a=-c$3#$Rw<-e zBP&?+d{Bq1VvN~vrwy(sHHm}P7|Gn9;QFSUMv+8KNKvr#a z)UDOZmZfn;TLG$r4q7#5G^kgKR?W==eujgpH6IGV5$gN~*r8d(L$Gz4MX`|w0E$3aJV;_fgtO7J6|Z``>bMms?;jIUa#Hm6br7Q=Zi&mG9B*&(s#B%A9z~u z$ap&1-kF`89$nvD9h@9)AMAo|PR~wmU*BHd-)>EY$+<-_&W{q^g2_cw2@w-08= zX9sr=*LM$B_iwH*Z!XSn&adt-uio5V+}{BIFYa&8?{2YI-+%t}@%!)IynB0de|!D< zZnV7{Op`0YIF+wx-H~KBNU4yMoTOmj1k_u-@?=|Sv~XV2s`WdgmQ(-+W~?~t2$G3#YU4U*K_3xS+8X)<#gH2 zl}ahYPHB0rToqgGlx@c?D_JP!tXftnB?Tuf*rZklXyd$#3eH+u@Umvis77_y&l~GG zEx_4vsT7yX5v~wo@^J`zPRke$S7~M(H=4JS`2uCta(XGF*h$d@v?kU37oO1bXy!#E z^#@Pji*@g>pDq5wmtXyUW%X4ou@Fmqwc+{w%KEcl^h;mpH%sgPw!Hq^<@H}aTlmE{ z&;IG@i+_Ih;@_55zF6P6Y&2Gfv-ef9F z5HW`F#j^{mfo~Vqp1fGbjit5VtF?eXkq)M_o^)~}nOF=3mt*mbMAny?tI8L_*h)IL zl*l~~#a~8KFQdt)fyh^zfhXSJvp{4q5?@JVmJ{iPaC9k_+{{u@mWy*tTHqtO%z7~3 z3y1yT@J2A~4Mzjfh%XfO_(Myp8&6-ZK3`m0UJq>gqMN=*FqDWTGto>sluk#oxk!#! zk4BdQfnbUZrYUbMy%vhEg%g2PZatZK5sJPHN5Az2e!sHzyI0GJedVdo^TOwS z>GQk__*Ns~P%f7fq%_L~qS0U^5)MZ)xlAIR-1PfAL0^(gC(@}vFtoDjUET;TZARBZ z>6Jig$sgMYC1Y7Onx%d5^hPA%Pm|tME<(`$RMwwJB}gWoBcr)&GLuVZa-ncI7K;W4TYC^MHW?6 zWJod@jrccL!#+4{r1V}ez9JOfWLA=nA9RdaXH3+>q~_xCC;fd zr*eXlmz2D2s=DqJT}9Do8g`UqTHqV0UaeG0MUEzEkV`Hj@}wlvn#SiXrBZepHMdYS zt%6x7+itZ`DCIREy&=P{DVHrfFR^q=7RheAB+0Z>)QTm;$V>TxS}5u5UUlbiHkdY> z9e1(~AHa1R)@alQ;$z||*?PA%9|YWjsYzVBRh>=-wQA8VnWJHAdpt082|9OoYp^}( zwrfS#R_i6J-*6kQi7BAp0&8fd#+3?cyHSMlANA_{JEK~~wk>Hof|pamL!kewMH53o zyWw`5rDnx0Ia=A)$AiYv!DM^Zt(NnaE*q+3Yg!)S93IYOT&&llypU0Jub@R_JILxj zg2zXKTAuD~LsTE1pC6o_45yRn_V#3ZtJUpHW|O(p-{0-@I<`; zY>y{flQ}K4>HvRecrXP_p?cXWuDX~EKq#}VX}8-pO+%7J z$H@cshr_{mJep1?dwaXbfb0F;i_42opFZ5(-vg_+w`cqNyLb1u$ET<8YNmTT@O*0R zZmHh*+5eetAMPHW9gnsq?S2>eI~ zGEOhgZ{OVCzkPW3-G{6DoBiWMI5W7hwYPnBck`#e`~=X3|FaL~-rqesJJ~-44}m3b z@7~;h`u@ZBKYX~pzX0sNd3SgFaB+2edU6H|*}uHIynb_Y_4@k!_VV=Z`r_dpBf#VL zpFaNZ`Q-AnKN;TM-#mQyfa7U75XIaL55#KstY$~AHTb;4+Ih8Bf@!Ff>r%PKSL%dS zfH9twEZ*%4#EEWLUWk8CicPh=9NkuuDvEQfi) zlOwo#DU;gt~U;X~otFPDAzgk)U zdUf-;FZ|7h|BHpSZl*g zBFR`Ba+1qt*+e3l%48^(B{?<@5l2CZ5*d+_-><_(I_bmH->%ri9DEP{= ziQ60Da3~y0M&qe?GMCO~fteov#@ePY6iQ{Y5kPS$7>$InB@=OKZZMFkWFi>w2mJmp zKsp(YBqQ-$Dwa*I2feR0);B_twNQ9H67s~Nfn);G-JgtaMnap>@On6~dN(#f8XF#ucYQM(Pp~Apv9c2IdeiZ^B(j1)&EG>bL^8QdDiQMd0)cQk z%cN;3PK%q#+)6yP7K%d9C$gDDE*%A*#$&6Y;ASl0izV?H(lnQW&%<#nO~VzBMIJe%u_%K@J+6^*7NF+R(d4d?n~|BoN<0I4zTFH%VeRz#~Vr=+jF z**Kk#X$~*xjHVP#tyXqufucDE^8?gAMPb(AY(psk(KUgk()b@$VjWACWm;C~yscC! zPO)f;B4Ze;TXITO*D6|^%+Ug!*ClMgamUnDnQPa}u<0#JVd!i)a+*7-l$e<+Id&5yG5861zoQe>@nPb2y|Tm5dr*X(_ytzgcNTyDverIlDXa8!O6+g zEvmLDmTje1cejVFy-9c4t0M)d6^v@h1oHRWm2tl{8+CUl!(tI(i%>3^xDz7=h-L)m zyM-(O;9sa0O@$>ChU&H}y-wA2419dxzr<0R#8=zR>1fm(k4lYJR*`94kLecn;W{CC zvVvZ$09{Yc&*1#;9UM$&Gk7EAO2u^SeAOLoO-Hjye>?>7RGRey+^D?alQ80{;(Tk{|3r=fmOY_Xk&(*9Uutm>6)6X&I3B!*O@IJs6DIlda*=@%C`g zES4;%V8JzNwVK=8+dDfjnYO0WDeNZPxV*f$IKROCm=U&iCa32ov*{M{jP7_)tW{;z zgp2N!-FmNyZLl@2)+=}_aMtC+U7=NvkvYk>ru%z9{>k?4{=v!C!R|4#hU0_r&erAq z&0qeXzy9@q{`WWEJ>GwMxPE(kbait1czyo*V)tMlD*ea5{PffR^_RPc`{T2d+5Yz2 zhB`YwJv#<^-`-xoef#<^fBF7z|MBO){_Tg4-@mzkdwB_Vx;i*G-Pu3c+lT*ueFi(| z^#1Dh)4Q{W+r7)v)7Mv9$9ui$;Pva9kKca+c`f-uj9$AYi0 z#S&kHZCjIT9XKSUT1?P7q0~veo|Ox+Bi|S*#TKoX+}<{=I%!Td z>TSK=hUJ@+^D#*$95-#)5l+eIc1kr9qMlLm>v6)9qTp8qDK;U|KYb!{@cGl`7gix z)j$0H%ik}rJ@tjw(xitXSCgs5aN^05_m{tW_D{e0*0&nkT=x6d!oi=nR49`d3Pq{R z#&{OK51r4mMO!Rc`I=j5cRI61bJT864-Rim&o0KZS)=tK`CYP%YCe6f`T3{}2HIG^6vPz%V>EmW3N2DB;no=kVpNB}s@!)tYDhWb381#8Iv#C_xz~@%e z0Ov%E<0+oWMf|>0GMz|fQLR2%?yynH)vqV^R!@{lxMd z-nN1pG)3b5fJ`YW8V-9mK}z9pFc1xg0zNNZ6t}?zR4$i@MU$~uBoy>+ZiE7XTqbQ9 zI+U(kE>x3XM(yEnv?Hck> z$5IVlDmbPrawM6-TPg!d@vAOkZxT$7V@XYu+@f77IeAONPfZt*62RhGUw=ij$UUe; zBCKiR)@-o1J8ieh)sj_lO~7+eHB3pV*v_EY#7F@S84fzfhr7Ew(7Me=3lVUm;N-!} zgHfyBuZlv>$;;hlvGKG1-x;;X-P)j88n(;RVS9Vr-U&It9Jp=&jn^ zVye3K&a6Kg);diW@c}lG$x!J?!P4L?u~deove?av$QDfd7eC7AP#29E<(gvKm)2Hje#Q7jcpwQ{LiLL5TTB*c8P zRd*Z2py5XHK+GB(pTksTCD#d5P2&*e75VZ$vPoSp5Tp2Cd+c0=&L`}E=U;~OCP@%hQ= z)hS&1K-qFR$@ih{JD~Nv#1&<%zJ-mB+a&Zc~{_UqXQ1xe5r*Qi}e0u!w z;qm>4huep%H;;Ee{`C3BzkGW0?&k61?dKog-M+rsKiST|?sb-O53MQ@P)lxlQ?-kmELbKi9**|{sesp-IRhqCP8Mg+r!b33|6cdrP zZvv68*EbhK(FKTbUvM>%T92hR6PZAcfxo&EPAvL^&o;a zDhxW!$#@8-u!X|_8@^xL)MY{8=%S%jETe?Yv8tHmt8Nis0&VF!k^te!iL#ja8LDV_ zxQHVeil8W(WqDp;ST+NTI26Wv;9wl*a)u#lUruAgElH z6a*L>tOzHV5*((8 z-@CD~zP7rWj3#2?NGcL#2?9vZ64_iLf&H%v9FPz+VSq0r&@|7{L?RqkWC1`VNK7gl z&(Rr@Ba*oU%@75AY+$G&AaeywaRTk}twrM@SpzlY67f(jo6u!(I_{n9?`#2@`tW@U zj-(Z3tE8D7w}QmfHLY5)u)jUIJUiOkogs4U4ZF==6Kxqymn-!`p{Qv(*KE6!QL|n$ zn^n7oJ1y*X36?&lhgPlBt$|z|3^=uNp`6wgeN?m^KY)LuPicTrdDz~wQ{Xlo{jsnql0p*nN}pNToLP?h-7{fNClCy*I;4w z29q(&omRICTs8A~oF+WaiS9fn-KYV)k`1#{oFva`FL&U$Y?|=B|j~_q1dw6sA>GS*l^}qh(KmPB( z{`AxLKmGNOKmPgipa1&9yN?eCr`xBO`)^?cy}mj=KiEInpY6eGnw%gnzC1lRKe~K< zefxNS_x|4fZ%e$0(MNHEa}42*-6h{c>+4+Dj4)E;M#JmBMd8W(ZiQaqtf?Fcygr zxlAsbfoGCUCZqm9A{6Gcgv#=kq}Z^l6Y_WHjVm z_pL9-5Ts)42>1b~fMUQe&>1rZbgOq`P2_Wi#>hOWt5TN8g|KS~8Y4i8*C;_gI668) zikH^~BFkk`GGsHIvm_oG+5{Yv8G!(K!P2K;O8Na8IQu)TdJR=QSq9C5Zt!yW)Zj0_ z2R07eutYcz0-t76pkIQ)KF{SaXW`s54Vb>BD6vUUNjQ+hK*7+Mj56sA{!tXEs&c>A zJ~$j*-R;9+_6L1S(R5VM!@RS}8mJ#Eg@}a&k+;hjTQaGbXMGJ{Wg-;ut#7WqTEe~( z!PGRZixMoKJPJHK4|B%GS4U*Qab+jZk_2|<{_Yl2#8RmM z#4{`dd1We>^oBM?h3gI5NVh{#Ka3+wmG`zM`&*NeZGnzK7bXlTR?Les@E;DiYgz4D z$Q^t{us%OOkeZYOO zVYI+VDwxKg+uNQ^3=IQcT9H}Xmff=HRxk`JTU-63{TW6MDiaTEY=WdQ8-lV;P3(8- zNSQ13;-J$S@9$K*Z3@NEyv>&C0Y>}%T4Xs!DupVhW4ByJ4YJZ`m<0z_DR_&qc#I|q zO;gRh3H=Y{PmnoGvQ9p)sY*7T#*tXGflswU(J5Dp%{Fv<Zj&|$y>R>p4 z`7!E*ypH<}InM2HNX@0N>&3c?sGUvirLcB9woj{D=?Dbf_9Xjc#* z^xD12pwem}&&A9SjR$&yk|>o>-l?Kur06=pq)>1$xxfKN1h(QqDIsbWiU^CL`M>|+ z^Xu2QpT7U}`0?G5uQ;Km7E!KmF~0{Pl-FeR}-{W!B4&pC3U4 z-~aIG{fD>L_m_uf2miV49PV7+Up{{Kc>4w&(A$UiZxJydk|@-h2}THJ`803(So7c4 ze9yg62G(5-O}V;Rbjz(u69wOHOE5IqG%edv70tnbIU0^;Q%rM=AX6NJszZ*ZLNOHE z&?qq_(_~bGkYq0;ElDi}f}TV=kVwUHM2_Rpe9JOiG?mRUoS