-
Notifications
You must be signed in to change notification settings - Fork 92
Tools
Brief overview of the following glbinding tools:
The tools are also available pre-compiled, e.g., as Windows archive glbinding-2.0.0-msvc2015-x64-tools.zip or Ubuntu package:
sudo apt-add-repository ppa:cginternals/ppa
sudo apt-get update
sudo apt-get install libglbinding-tools
contexts requests OpenGL contexts for all valid versions and lists the resulting versions. This helps to gather intel on context creation on various system setup's (operating systems, GPUs, and OpenGL drivers). Feel free to post your results to complete the Context Creation Cheat Sheet. Example output on a Windows 8.1:
test: requesting all context configurations ...
scheme: <requested_version> <forward> <core> <created_version>
1.0 - - 4.6
1.0 - c -.-
1.0 f - -.-
1.0 f c -.-
...
3.0 - - 3.0
3.0 - c -.-
3.0 f - -.-
3.0 f c -.-
3.1 - - 3.1
3.1 - c -.-
3.1 f - -.-
3.1 f c -.-
3.2 - - 3.2c
3.2 - c 3.2c
3.2 f - 3.2fc
3.2 f c 3.2fc
3.3 - - 3.3c
3.3 - c 3.3c
3.3 f - 3.3fc
3.3 f c 3.3fc
4.0 - - 4.0c
4.0 - c 4.0c
4.0 f - 4.0fc
4.0 f c 4.0fc
4.1 - - 4.1c
4.1 - c 4.1c
4.1 f - 4.1fc
4.1 f c 4.1fc
4.2 - - 4.2c
4.2 - c 4.2c
4.2 f - 4.2fc
4.2 f c 4.2fc
4.3 - - 4.3c
4.3 - c 4.3c
4.3 f - 4.3fc
4.3 f c 4.3fc
4.4 - - 4.4c
4.4 - c 4.4c
4.4 f - 4.4fc
4.4 f c 4.4fc
4.5 - - 4.5c
4.5 - c 4.5c
4.5 f - 4.5fc
4.5 f c 4.5fc
4.6 - - 4.6c
4.6 - c 4.6c
4.6 f - 4.6fc
4.6 f c 4.6fc
OpenGL Version: 4.6
OpenGL Vendor: Intel
OpenGL Renderer: Intel(R) Iris(R) Plus Graphics
OpenGL Revision: 20200811 (gl.xml)
functions lists all extensions along with their associated functions. For every function and extension, the support status is shown, and the supported version are summarized (similar to the OpenGL Extensions Viewer). Shortened example output:
[-.- EXTENSIONS]
GL_3DFX_multisample
GL_3DFX_tbuffer
(0x0000000000000000) glTbufferMask3DFX
GL_3DFX_texture_compression_FXT1 (supported)
...
[4.6 EXTENSIONS]
GL_ARB_gl_spirv (supported)
(0x00007FFF183C2040) glSpecializeShaderARB
GL_ARB_indirect_parameters (supported)
(0x00007FFF183B9B00) glMultiDrawArraysIndirectCountARB
(0x00007FFF183B9D20) glMultiDrawElementsIndirectCountARB
GL_ARB_pipeline_statistics_query (supported)
GL_ARB_polygon_offset_clamp (supported)
(0x00007FFF183BD6D0) glPolygonOffsetClamp
GL_ARB_shader_atomic_counter_ops (supported)
...
[EXTENSIONS NOT COVERED BY GLBINDING]
GL_EXT_texture_edge_clamp
GL_EXT_texture_rectangle
GL_EXT_texture_storage
GL_INTEL_coarse_fragment_shader
GL_INTEL_multi_rate_fragment_shader
GL_SUN_multi_draw_arrays
GL_WIN_swap_hint
WGL_EXT_swap_control
[NON-EXTENSION OR NOT-COVERED-EXTENSION FUNCTIONS]
(0x00007FFF968A0E90) glAccum
(0x00007FFF183A84A0) glActiveTexture
(0x00007FFF968A1740) glAlphaFunc
(0x00007FFF968A2F20) glAreTexturesResident
(0x00007FFF968A3510) glArrayElement
(0x00007FFF183A8710) glAttachShader
(0x00007FFF9689D9F0) glBegin
...
[SUMMARY]
# Functions: 1793 of 2992 resolved (1199 unresolved)
2358 assigned to extensions.
# Extensions: 231 of 619 supported (8 of which are unknown to glbinding)
# -.- assoc.: 116 / 503
# 1.4 assoc.: 0 / 1
# 3.0 assoc.: 9 / 9
# 3.1 assoc.: 2 / 2
# 3.2 assoc.: 7 / 7
# 3.3 assoc.: 9 / 9
# 4.0 assoc.: 12 / 12
# 4.1 assoc.: 6 / 6
# 4.2 assoc.: 12 / 12
# 4.3 assoc.: 22 / 22
# 4.4 assoc.: 8 / 8
# 4.5 assoc.: 8 / 8
# 4.6 assoc.: 12 / 12
# Missing Feature Extensions and Functions:
# 1.4 assoc. Extensions:
GL_ARB_imaging
# 1.4 assoc. Functions:
glColorSubTable
glColorTable
...
glGetnTexImage
glGetnUniformdv
# 4.6 assoc. Functions:
glMultiDrawArraysIndirectCount
glMultiDrawElementsIndirectCount
OpenGL Version: 4.6
OpenGL Vendor: Intel
OpenGL Renderer: Intel(R) Iris(R) Plus Graphics
OpenGL Revision: 20200811 (gl.xml)
info is similar to glxinfo and enlists all extensions with respect to their associated OpenGL versions:
Miscellaneous: 8 Extensions
GL_EXT_texture_edge_clamp, GL_EXT_texture_rectangle,
GL_EXT_texture_storage, GL_INTEL_coarse_fragment_shader,
GL_INTEL_multi_rate_fragment_shader, GL_SUN_multi_draw_arrays,
GL_WIN_swap_hint, WGL_EXT_swap_control
Unassociated: 116 Extensions
GL_3DFX_multisample, GL_3DFX_tbuffer, GL_3DFX_texture_compression_FXT1,
GL_AMD_blend_minmax_factor, GL_AMD_conservative_depth, GL_AMD_debug_output,
GL_AMD_depth_clamp_separate, GL_AMD_draw_buffers_blend,
...
Feature 4.4 (supported): 8 of 8 Extensions
GL_ARB_buffer_storage, GL_ARB_clear_texture, GL_ARB_enhanced_layouts,
GL_ARB_multi_bind, GL_ARB_query_buffer_object,
GL_ARB_texture_mirror_clamp_to_edge, GL_ARB_texture_stencil8,
GL_ARB_vertex_type_10f_11f_11f_rev
Feature 4.5 (supported): 8 of 8 Extensions
GL_ARB_ES3_1_compatibility, GL_ARB_clip_control,
GL_ARB_conditional_render_inverted, GL_ARB_cull_distance,
GL_ARB_direct_state_access, GL_ARB_get_texture_sub_image,
GL_ARB_robustness, GL_ARB_texture_barrier
Feature 4.6 (supported): 12 of 12 Extensions
GL_ARB_gl_spirv, GL_ARB_indirect_parameters,
GL_ARB_pipeline_statistics_query, GL_ARB_polygon_offset_clamp,
GL_ARB_shader_atomic_counter_ops, GL_ARB_shader_draw_parameters,
GL_ARB_shader_group_vote, GL_ARB_spirv_extensions,
GL_ARB_texture_filter_anisotropic,
GL_ARB_transform_feedback_overflow_query, GL_KHR_context_flush_control,
GL_KHR_no_error
OpenGL Version: 4.6
OpenGL Vendor: Intel
OpenGL Renderer: Intel(R) Iris(R) Plus Graphics
OpenGL Revision: 20200811 (gl.xml)
meta gathers list of string for versions, enums, and extensions and converts them to their associated OpenGL symbols:
[VERSIONS]
# Versions: 19
1.0
1.1
...
[ENUMS]
# Enums: 3352
(0x00040b) GL_AUX2
(0x008cda) GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT
...
[EXTENSIONS]
# Extensions: 486
GL_3DFX_multisample
GL_3DFX_tbuffer
...
OpenGL Revision: 27590 (gl.xml)
queries calls glGet functions to retrieve lots (probably not all) valid glGet enums and further verifies the specification defaults:
[QUERYING STATE VALUES]
Matrix Stack States
GL_MATRIX_MODE = GL_MODELVIEW
GL_COLOR_MATRIX = identity4
GL_MODELVIEW_MATRIX = identity4
GL_PROJECTION_MATRIX = identity4
GL_TEXTURE_MATRIX = identity4
GL_COLOR_MATRIX_STACK_DEPTH = 1
GL_MODELVIEW_STACK_DEPTH = 1
GL_PROJECTION_STACK_DEPTH = 1
GL_TEXTURE_STACK_DEPTH = 1
GL_MAX_MODELVIEW_STACK_DEPTH = 32
GL_MAX_PROJECTION_STACK_DEPTH = 4
GL_MAX_TEXTURE_STACK_DEPTH = 10
Viewport States
GL_VIEWPORT = (0, 0, 320, 240)
GL_MAX_VIEWPORT_DIMS = (16384, 16384)
...