Commit 3c1f5a6b by Jamie Madill Committed by Commit Bot

Include script outputs in run_code_generation.py.

This will prevent incorrect modifications to outputs from being checked into the repository. Requires a few changes to some generators. Bug: angleproject:3227 Change-Id: I5285cb78a9d85df155a5272edf8b6b8cd27fc04c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1515212Reviewed-by: 's avatarShahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
parent f576a708
......@@ -26,10 +26,10 @@ def get_child_script_dirname(script):
def clean_path_slashes(path):
return path.replace("\\", "/")
# Takes a script input file name which is relative to the code generation script's directory and
# Takes a script file name which is relative to the code generation script's directory and
# changes it to be relative to the angle root directory
def rebase_script_path(script_path, input_file_path):
return os.path.relpath(os.path.join(os.path.dirname(script_path), input_file_path), root_dir)
def rebase_script_path(script_path, relative_path):
return os.path.relpath(os.path.join(os.path.dirname(script_path), relative_path), root_dir)
def grab_from_script(script, param):
res = subprocess.check_output(['python', script, param]).strip()
......@@ -41,10 +41,13 @@ def auto_script(script):
# Set the CWD to the script directory.
os.chdir(get_child_script_dirname(script))
base_script = os.path.basename(script)
return {
info = {
'inputs': grab_from_script(base_script, 'inputs'),
'outputs': grab_from_script(base_script, 'outputs')
}
# Reset the CWD to the root ANGLE directory.
os.chdir(root_dir)
return info
hash_fname = "run_code_generation_hashes.json"
......@@ -98,23 +101,37 @@ def md5(fname):
return hash_md5.hexdigest()
def any_input_dirty(name, inputs, new_hashes, old_hashes):
found_dirty_input = False
for finput in inputs:
key = name + ":" + finput
new_hashes[key] = md5(finput)
if (not key in old_hashes) or (old_hashes[key] != new_hashes[key]):
found_dirty_input = True
return found_dirty_input
def any_hash_dirty(name, filenames, new_hashes, old_hashes):
found_dirty_hash = False
for filename in filenames:
key = name + ":" + filename
if not os.path.isfile(filename):
found_dirty_hash = True
else:
new_hashes[key] = md5(filename)
if (not key in old_hashes) or (old_hashes[key] != new_hashes[key]):
found_dirty_hash = True
return found_dirty_hash
def any_old_hash_missing(new_hashes, old_hashes):
for name, _ in old_hashes.iteritems():
if name not in new_hashes:
script, file = name.split(':')
print('%s missing from generated hashes.' % file)
return True
return False
def update_output_hashes(script, outputs, new_hashes):
for output in outputs:
if not os.path.isfile(output):
print('Output is missing from %s: %s' % (script, output))
sys.exit(1)
key = script + ":" + output
new_hashes[key] = md5(output)
def main():
os.chdir(script_dir)
old_hashes = json.load(open(hash_fname))
......@@ -126,13 +143,9 @@ def main():
verify_only = True
for name, script in sorted(generators.iteritems()):
info = auto_script(script)
# Reset the CWD to the root ANGLE directory.
os.chdir(root_dir)
if any_input_dirty(name, info['inputs'] + [script], new_hashes, old_hashes):
filenames = info['inputs'] + info['outputs'] + [script]
if any_hash_dirty(name, filenames, new_hashes, old_hashes):
any_dirty = True
if not verify_only:
......@@ -161,6 +174,11 @@ def main():
print('Calling git cl format')
subprocess.call(args)
# Update the output hashes again since they can be formatted.
for name, script in sorted(generators.iteritems()):
info = auto_script(script)
update_output_hashes(name, info['outputs'], new_hashes)
os.chdir(script_dir)
json.dump(new_hashes, open(hash_fname, "w"), indent=2, sort_keys=True,
separators=(',', ':\n '))
......
{
"ANGLE format:src/libANGLE/renderer/FormatID_autogen.h":
"083c08bb743bf72a900079890b14184f",
"ANGLE format:src/libANGLE/renderer/Format_table_autogen.cpp":
"a4cf00b75621bc058c4a1b341bdf6989",
"ANGLE format:src/libANGLE/renderer/angle_format.py":
"b18ca0fe4835114a4a2f54977b19e798",
"ANGLE format:src/libANGLE/renderer/angle_format_data.json":
......@@ -11,6 +15,12 @@
"475de30b8552795ca928096543cec7f2",
"ANGLE load functions table:src/libANGLE/renderer/load_functions_data.json":
"4253e14cd3217f42b6fec75ee400655a",
"ANGLE load functions table:src/libANGLE/renderer/load_functions_table_autogen.cpp":
"557e3a1de1f2373d6a7520a5b21d52ee",
"D3D11 blit shader selection:src/libANGLE/renderer/d3d/d3d11/Blit11Helper_autogen.inc":
"f69cf03a3d868a977fad9e9c0eb0652a",
"D3D11 blit shader selection:src/libANGLE/renderer/d3d/d3d11/d3d11_blit_shaders_autogen.gni":
"329dbafc64b0cb578348819198abcfea",
"D3D11 blit shader selection:src/libANGLE/renderer/d3d/d3d11/gen_blit11helper.py":
"38bff72bc17ac25c6b42c98d40c76e20",
"D3D11 format:src/libANGLE/renderer/angle_format.py":
......@@ -21,8 +31,12 @@
"d7483ece817e819588f4ca157716dc7b",
"D3D11 format:src/libANGLE/renderer/d3d/d3d11/texture_format_map.json":
"805d30e2443935e3a3bd68839699e171",
"D3D11 format:src/libANGLE/renderer/d3d/d3d11/texture_format_table_autogen.cpp":
"7c42f9e538cb675d13f8b5d2f248ef84",
"DXGI format support:src/libANGLE/renderer/d3d/d3d11/dxgi_support_data.json":
"09195053f8829fc81efe08229b54a8b5",
"DXGI format support:src/libANGLE/renderer/d3d/d3d11/dxgi_support_table_autogen.cpp":
"7ec32ce0ad41450be7493c1db1130e25",
"DXGI format support:src/libANGLE/renderer/d3d/d3d11/gen_dxgi_support_tables.py":
"389a6358534ebad5e232a44944b6123b",
"DXGI format:src/libANGLE/renderer/angle_format.py":
......@@ -31,24 +45,44 @@
"be9f9bdbdf785dda05920146e8c55dbb",
"DXGI format:src/libANGLE/renderer/d3d/d3d11/dxgi_format_data.json":
"24f525b05dc665fbbc8c6d68fb863719",
"DXGI format:src/libANGLE/renderer/d3d/d3d11/dxgi_format_map_autogen.cpp":
"32b9860e3fd8e87a89ff9a09e848e516",
"DXGI format:src/libANGLE/renderer/d3d/d3d11/gen_dxgi_format_table.py":
"bed2688ca828fc9fd1904408d33ba007",
"ESSL static builtins:src/compiler/translator/ParseContext_autogen.h":
"6be7f97ce68aa5ba5ecf30b835bc344d",
"ESSL static builtins:src/compiler/translator/SymbolTable_autogen.cpp":
"c4add6e70cd468f301e1478a598d26ed",
"ESSL static builtins:src/compiler/translator/SymbolTable_autogen.h":
"bdb3c8eab0d48267a2f264e3af635e1a",
"ESSL static builtins:src/compiler/translator/builtin_function_declarations.txt":
"e5e567406476306ea06984d885be028d",
"ESSL static builtins:src/compiler/translator/builtin_symbols_hash_autogen.txt":
"0a24a1f40317834c9724290be9adc640",
"ESSL static builtins:src/compiler/translator/builtin_variables.json":
"d07ec4348b35d0db1eeab3c99a5e91f9",
"ESSL static builtins:src/compiler/translator/gen_builtin_symbols.py":
"f056dba2fdeac5a5dbad9d8f7b17f55f",
"ESSL static builtins:src/compiler/translator/tree_util/BuiltIn_autogen.h":
"6df5ab6576da4f364763b581da839b77",
"ESSL static builtins:src/tests/compiler_tests/ImmutableString_test_autogen.cpp":
"c7994179a311f152df4b4a8513211c87",
"Emulated HLSL functions:src/compiler/translator/emulated_builtin_function_data_hlsl.json":
"002ad46d144c51fe98d73478aa554ba7",
"Emulated HLSL functions:src/compiler/translator/emulated_builtin_functions_hlsl_autogen.cpp":
"1c759ffdd27a86fd8f2d590b2f3dcb56",
"Emulated HLSL functions:src/compiler/translator/gen_emulated_builtin_function_tables.py":
"c24de0c9ce5f201985c852d2b4b12b98",
"GL copy conversion table:src/libANGLE/es3_copy_conversion_formats.json":
"54608f6f7d9aa7c59a8458ccf3ab9935",
"GL copy conversion table:src/libANGLE/es3_copy_conversion_table_autogen.cpp":
"b20d198cf5e292c43170d4873b381b34",
"GL copy conversion table:src/libANGLE/gen_copy_conversion_table.py":
"92428cef9d97d33ee7063cfa387ccf56",
"GL format map:src/libANGLE/es3_format_type_combinations.json":
"a232823cd6430f14e28793ccabb968ee",
"GL format map:src/libANGLE/format_map_autogen.cpp":
"1e1b1c2af35a8a75c4395430d2370758",
"GL format map:src/libANGLE/format_map_data.json":
"779798d4879e5f73a5a108e3e3fd3095",
"GL format map:src/libANGLE/gen_format_map.py":
......@@ -67,6 +101,44 @@
"56fb2634ebb3d8240b1a92aeb5518f1a",
"GL/EGL entry points:scripts/registry_xml.py":
"be6628bdeb99e50868cf4af51ea63f54",
"GL/EGL entry points:src/libANGLE/Context_gles_1_0_autogen.h":
"fad4ec629b41e9d97ff57a132ad946cb",
"GL/EGL entry points:src/libANGLE/validationES1_autogen.h":
"8d3131d2bf2e6f521f46b44e64a6bff9",
"GL/EGL entry points:src/libANGLE/validationES2_autogen.h":
"edf0d7d2afdfd6c090f83d40312394ad",
"GL/EGL entry points:src/libANGLE/validationES31_autogen.h":
"22ef241ea5b79a6abe6589f1afcc80a2",
"GL/EGL entry points:src/libANGLE/validationES3_autogen.h":
"210f732f87ac6a184bde4d4d1e548f70",
"GL/EGL entry points:src/libANGLE/validationESEXT_autogen.h":
"5ac8dd83e449e6e624a76496c9d3990a",
"GL/EGL entry points:src/libGLESv2/entry_points_enum_autogen.h":
"f5bb2430fa25930ebfbaab028145b23c",
"GL/EGL entry points:src/libGLESv2/entry_points_gles_1_0_autogen.cpp":
"196771da8ad7a5beded1dc878410ac11",
"GL/EGL entry points:src/libGLESv2/entry_points_gles_1_0_autogen.h":
"77fa8d307ebf839838f8812786cddc1a",
"GL/EGL entry points:src/libGLESv2/entry_points_gles_2_0_autogen.cpp":
"d0be11a3780b0c348279fc36060d1fab",
"GL/EGL entry points:src/libGLESv2/entry_points_gles_2_0_autogen.h":
"3bbaf1cf42fba5d675e5b54cd1d14df7",
"GL/EGL entry points:src/libGLESv2/entry_points_gles_3_0_autogen.cpp":
"555b6fa72e56b5d6a531b744e5dd0607",
"GL/EGL entry points:src/libGLESv2/entry_points_gles_3_0_autogen.h":
"395f6978219abd5182bbe80cc367e40c",
"GL/EGL entry points:src/libGLESv2/entry_points_gles_3_1_autogen.cpp":
"72188430258b99258cef9048f0f4b4ee",
"GL/EGL entry points:src/libGLESv2/entry_points_gles_3_1_autogen.h":
"043d09a964c740067bf4279e0b544aed",
"GL/EGL entry points:src/libGLESv2/entry_points_gles_ext_autogen.cpp":
"a79b0be21cc6af36e068dc6b88850f6f",
"GL/EGL entry points:src/libGLESv2/entry_points_gles_ext_autogen.h":
"463d2ddb268f48b387a8478d5064dc9e",
"GL/EGL entry points:src/libGLESv2/libGLESv2_autogen.cpp":
"eedc75cbaa0c44cf067c96ccc079c5cb",
"GL/EGL entry points:src/libGLESv2/libGLESv2_autogen.def":
"4569b01aeff02543b9d0312fcf570661",
"GL/EGL/WGL loader:scripts/egl.xml":
"842e24514c4cfe09fba703c17a0fd292",
"GL/EGL/WGL loader:scripts/egl_angle_ext.xml":
......@@ -77,14 +149,38 @@
"be6628bdeb99e50868cf4af51ea63f54",
"GL/EGL/WGL loader:scripts/wgl.xml":
"aa96419c582af2f6673430e2847693f4",
"GL/EGL/WGL loader:src/libEGL/egl_loader_autogen.cpp":
"d270ee9f0b0bcbb58f3a8967758d9b38",
"GL/EGL/WGL loader:src/libEGL/egl_loader_autogen.h":
"77d0a6b43528115ea2ce3a987b25fa91",
"GL/EGL/WGL loader:util/egl_loader_autogen.cpp":
"d397c5b251c10f44857c9098eab5f9a2",
"GL/EGL/WGL loader:util/egl_loader_autogen.h":
"897a66bc15e1791e356d7324f2ff94af",
"GL/EGL/WGL loader:util/gles_loader_autogen.cpp":
"5a522fa027c9d404053370a60da72623",
"GL/EGL/WGL loader:util/gles_loader_autogen.h":
"498621d6b9e21462d7c05d1a65775609",
"GL/EGL/WGL loader:util/windows/wgl_loader_autogen.cpp":
"12ffb44e5e743c826e4d84ac65cdba82",
"GL/EGL/WGL loader:util/windows/wgl_loader_autogen.h":
"e18f6c134b709c5a69ed3b4ff38642d0",
"OpenGL dispatch table:scripts/gl.xml":
"b470cb06b06cbbe7adb2c8129ec85708",
"OpenGL dispatch table:src/libANGLE/renderer/angle_format.py":
"b18ca0fe4835114a4a2f54977b19e798",
"OpenGL dispatch table:src/libANGLE/renderer/gl/DispatchTableGL_autogen.cpp":
"6556e48f03112aaf0e4d0fa2949727b4",
"OpenGL dispatch table:src/libANGLE/renderer/gl/DispatchTableGL_autogen.h":
"caea949141a8c6b8692f1c021fb4fa42",
"OpenGL dispatch table:src/libANGLE/renderer/gl/generate_gl_dispatch_table.py":
"8365d4130b9814eaa396915ae85734eb",
"86a66ba63f6dceac553d8af6c132b6fb",
"OpenGL dispatch table:src/libANGLE/renderer/gl/gl_bindings_data.json":
"71079f089335ce1f67835d67a6d49d1a",
"OpenGL dispatch table:src/libANGLE/renderer/gl/null_functions.cpp":
"774c21cf434656bb40735cc67fb4fa40",
"OpenGL dispatch table:src/libANGLE/renderer/gl/null_functions.h":
"594f92ec5ffaaf21409579009f579cd7",
"Vulkan format:src/libANGLE/renderer/angle_format.py":
"b18ca0fe4835114a4a2f54977b19e798",
"Vulkan format:src/libANGLE/renderer/angle_format_map.json":
......@@ -93,8 +189,106 @@
"9937d3c942f0a5fe08f1ca080d40d47e",
"Vulkan format:src/libANGLE/renderer/vulkan/vk_format_map.json":
"992749b88763adb66003fe5d801b5ded",
"Vulkan format:src/libANGLE/renderer/vulkan/vk_format_table_autogen.cpp":
"1d22113470fbe8506e1264923f1793d2",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/gen_vk_internal_shaders.py":
"97e148951cbbf009ab963ca5a90ddf1a",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000000.inc":
"aa007002f1c386fbd0ef23842801f3b0",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000001.inc":
"85109f972925b49341e28bcdedee17ef",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000002.inc":
"18f1338f8816c82b220d66444ed89347",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000003.inc":
"992047a9ba7b4e7137ded9081f186872",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000004.inc":
"875d3ae7117f58c8c4447bc3ce107778",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000005.inc":
"ef916d5e0de87a37f5cd4e3a3520f960",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000006.inc":
"e7bb8f3abd6482d6ce7c7c35bbba772a",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000007.inc":
"179fe2b50bd1947e86403a9fa80883ba",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000008.inc":
"fc756b1b614c11437f436e9913f7a666",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.00000009.inc":
"e81c83f5880edf045bf7f8f8a3f81298",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.0000000A.inc":
"152ee2a0a4cad628257c3e47068a5bc4",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/BufferUtils.comp.0000000B.inc":
"1c7ff0a63d22f24b11e460efb074dad6",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000000.inc":
"5b4cb3203020b3fc2ce3d02cfdf18e7a",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000001.inc":
"40eb3ff16d7083706ee56062b6982407",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000002.inc":
"5a6575940c92c22821e102fc35e91a77",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000003.inc":
"1aec6858837dce1cdd28060a8859b992",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000004.inc":
"59f5ddd672b8cbf850569ffb7b8b7245",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000005.inc":
"713f6cd052458639db1bd2d433cf1f79",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000006.inc":
"ed5af7b2d920733e76bc06f2c3b164ce",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000007.inc":
"f8d4bd3b0f022570bf5c373aae1a1eeb",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000008.inc":
"74619bd4129eed30a92eb9b4153a3102",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000009.inc":
"abaaa11bd808030c19ad1935e12e4ac3",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000A.inc":
"37210579d5cc23b15849f888d6174ea8",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000B.inc":
"f69c274d122b233d1178d211abd8077d",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000C.inc":
"d07d651b147c994d1498727e305b1c63",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000D.inc":
"edab6697752cb0d9bbdfe1b1b4043241",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000E.inc":
"232af09e03c58c0a05e7dbb1f4298133",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.0000000F.inc":
"6c48361bd61138c0c6387400c87f68ed",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/FullScreenQuad.vert.00000000.inc":
"d3cb0d2a3c1e6457e7d11e95d0e8d8d5",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000000.inc":
"33f4a2663d3548be013da03b518e51bd",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000000.inc":
"5f81809ca35eb191aaeacfe6e20a585a",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000001.inc":
"d1077262f9873606c2c5b38b32e6e97f",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000002.inc":
"3461de5f2b8551fad685648e91ae5861",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000003.inc":
"813364c4e5c6e55098e251d967d3c8ae",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000004.inc":
"27554047e29b6adcdff35ee9a4e7a955",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000005.inc":
"d07513ecf1657ae13bb87450362d84d1",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000008.inc":
"30bc550480906a71004842ce59dbf9e4",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000009.inc":
"f6618202ad3ec0e092252622b645c5a4",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000000A.inc":
"34073fe8f464c082e0f5fe5b36a6f7e4",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000000B.inc":
"2c0e86e6be6b931309fdc919832cb63c",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000000C.inc":
"ff7538eb96b25e2a60753f85c85dc3c9",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000000D.inc":
"04f8754e24b09ef449b7db9de62ad1a7",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000010.inc":
"4e50fd06b6c48150dd75f1513fb7fb3b",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000011.inc":
"fce6f6fdb66315b2fe762ea4037a3cbe",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000012.inc":
"80f0cf394bf6ecd99f46cad0835f8c90",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000013.inc":
"9037b65050619a88aacf7d2b71aaa5ea",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000014.inc":
"4f516bc3d811e72b86d98a4874411297",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000015.inc":
"9c05f406e59fd487616d77ad1df133b4",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/src/BufferUtils.comp":
"0c8c050841543da0d7faca2559212aa8",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/src/ConvertVertex.comp":
......@@ -105,14 +299,28 @@
"98d490413d20118e92dd2b160c1dfc6e",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/src/ImageCopy.frag":
"9b9fd690321f53163221f1ebba9f006d",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.cpp":
"959f09bfb979cdc240f1df50b56d8429",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.h":
"e70f3fa32f5ff0e567ce4ed2a5dc759e",
"Vulkan mandatory format support table:src/libANGLE/renderer/angle_format.py":
"b18ca0fe4835114a4a2f54977b19e798",
"Vulkan mandatory format support table:src/libANGLE/renderer/vulkan/gen_vk_mandatory_format_support_table.py":
"417772416d3082400ce05acc2f209c9f",
"Vulkan mandatory format support table:src/libANGLE/renderer/vulkan/vk_mandatory_format_support_data.json":
"fa2bd54c1bb0ab2cf1d386061a4bc5c5",
"Vulkan mandatory format support table:src/libANGLE/renderer/vulkan/vk_mandatory_format_support_table_autogen.cpp":
"d20e549634ef32d6ad4e9f0b28e52acf",
"Vulkan mandatory format support table:third_party/vulkan-headers/src/registry/vk.xml":
"f5c8c9b8e521644ded34d44b1016c25e",
"packed enum:src/common/PackedEGLEnums_autogen.cpp":
"c9f7cea85751e5a39b92bccc1d97f3bd",
"packed enum:src/common/PackedEGLEnums_autogen.h":
"4073274726e0c926765c5ab8b21dc3de",
"packed enum:src/common/PackedGLEnums_autogen.cpp":
"b64a7cadc5c8c054f788d1e0b58a11a1",
"packed enum:src/common/PackedGLEnums_autogen.h":
"80724ac8fc2cbdebee81fb43b4345c1a",
"packed enum:src/common/gen_packed_gl_enums.py":
"0cd1a1cb6d5fde8cbac2994db24eb901",
"packed enum:src/common/packed_egl_enums.json":
......@@ -121,8 +329,12 @@
"6e2e2845f96754509b8add1f77e203b3",
"proc table:src/libGLESv2/gen_proc_table.py":
"20ebe54894d613de42b0b15ca34078d9",
"proc table:src/libGLESv2/proc_table_autogen.cpp":
"e27cd4ac1c1d524fd80042e9c9e02c54",
"proc table:src/libGLESv2/proc_table_data.json":
"6deb74c7709ecb664b917a2f1e598399",
"uniform type:src/common/gen_uniform_type_table.py":
"fa40444d496ac07cd9dc0cd239e4a499"
"fa40444d496ac07cd9dc0cd239e4a499",
"uniform type:src/common/uniform_type_info_autogen.cpp":
"b31d181bc49ad1c3540401a5c874e692"
}
\ No newline at end of file
......@@ -26,223 +26,224 @@ namespace rx
class DispatchTableGL : angle::NonCopyable
{
public:
// clang-format off
// 1.0
PFNGLBLENDFUNCPROC blendFunc = nullptr;
PFNGLCLEARPROC clear = nullptr;
PFNGLCLEARCOLORPROC clearColor = nullptr;
PFNGLCLEARDEPTHPROC clearDepth = nullptr;
PFNGLCLEARSTENCILPROC clearStencil = nullptr;
PFNGLCOLORMASKPROC colorMask = nullptr;
PFNGLCULLFACEPROC cullFace = nullptr;
PFNGLDEPTHFUNCPROC depthFunc = nullptr;
PFNGLDEPTHMASKPROC depthMask = nullptr;
PFNGLDEPTHRANGEPROC depthRange = nullptr;
PFNGLDISABLEPROC disable = nullptr;
PFNGLDRAWBUFFERPROC drawBuffer = nullptr;
PFNGLENABLEPROC enable = nullptr;
PFNGLFINISHPROC finish = nullptr;
PFNGLFLUSHPROC flush = nullptr;
PFNGLFRONTFACEPROC frontFace = nullptr;
PFNGLGETBOOLEANVPROC getBooleanv = nullptr;
PFNGLGETDOUBLEVPROC getDoublev = nullptr;
PFNGLGETERRORPROC getError = nullptr;
PFNGLGETFLOATVPROC getFloatv = nullptr;
PFNGLGETINTEGERVPROC getIntegerv = nullptr;
PFNGLGETSTRINGPROC getString = nullptr;
PFNGLGETTEXIMAGEPROC getTexImage = nullptr;
PFNGLBLENDFUNCPROC blendFunc = nullptr;
PFNGLCLEARPROC clear = nullptr;
PFNGLCLEARCOLORPROC clearColor = nullptr;
PFNGLCLEARDEPTHPROC clearDepth = nullptr;
PFNGLCLEARSTENCILPROC clearStencil = nullptr;
PFNGLCOLORMASKPROC colorMask = nullptr;
PFNGLCULLFACEPROC cullFace = nullptr;
PFNGLDEPTHFUNCPROC depthFunc = nullptr;
PFNGLDEPTHMASKPROC depthMask = nullptr;
PFNGLDEPTHRANGEPROC depthRange = nullptr;
PFNGLDISABLEPROC disable = nullptr;
PFNGLDRAWBUFFERPROC drawBuffer = nullptr;
PFNGLENABLEPROC enable = nullptr;
PFNGLFINISHPROC finish = nullptr;
PFNGLFLUSHPROC flush = nullptr;
PFNGLFRONTFACEPROC frontFace = nullptr;
PFNGLGETBOOLEANVPROC getBooleanv = nullptr;
PFNGLGETDOUBLEVPROC getDoublev = nullptr;
PFNGLGETERRORPROC getError = nullptr;
PFNGLGETFLOATVPROC getFloatv = nullptr;
PFNGLGETINTEGERVPROC getIntegerv = nullptr;
PFNGLGETSTRINGPROC getString = nullptr;
PFNGLGETTEXIMAGEPROC getTexImage = nullptr;
PFNGLGETTEXLEVELPARAMETERFVPROC getTexLevelParameterfv = nullptr;
PFNGLGETTEXLEVELPARAMETERIVPROC getTexLevelParameteriv = nullptr;
PFNGLGETTEXPARAMETERFVPROC getTexParameterfv = nullptr;
PFNGLGETTEXPARAMETERIVPROC getTexParameteriv = nullptr;
PFNGLHINTPROC hint = nullptr;
PFNGLISENABLEDPROC isEnabled = nullptr;
PFNGLLINEWIDTHPROC lineWidth = nullptr;
PFNGLLOGICOPPROC logicOp = nullptr;
PFNGLPIXELSTOREFPROC pixelStoref = nullptr;
PFNGLPIXELSTOREIPROC pixelStorei = nullptr;
PFNGLPOINTSIZEPROC pointSize = nullptr;
PFNGLPOLYGONMODEPROC polygonMode = nullptr;
PFNGLREADBUFFERPROC readBuffer = nullptr;
PFNGLREADPIXELSPROC readPixels = nullptr;
PFNGLSCISSORPROC scissor = nullptr;
PFNGLSTENCILFUNCPROC stencilFunc = nullptr;
PFNGLSTENCILMASKPROC stencilMask = nullptr;
PFNGLSTENCILOPPROC stencilOp = nullptr;
PFNGLTEXIMAGE1DPROC texImage1D = nullptr;
PFNGLTEXIMAGE2DPROC texImage2D = nullptr;
PFNGLTEXPARAMETERFPROC texParameterf = nullptr;
PFNGLTEXPARAMETERFVPROC texParameterfv = nullptr;
PFNGLTEXPARAMETERIPROC texParameteri = nullptr;
PFNGLTEXPARAMETERIVPROC texParameteriv = nullptr;
PFNGLVIEWPORTPROC viewport = nullptr;
PFNGLGETTEXPARAMETERFVPROC getTexParameterfv = nullptr;
PFNGLGETTEXPARAMETERIVPROC getTexParameteriv = nullptr;
PFNGLHINTPROC hint = nullptr;
PFNGLISENABLEDPROC isEnabled = nullptr;
PFNGLLINEWIDTHPROC lineWidth = nullptr;
PFNGLLOGICOPPROC logicOp = nullptr;
PFNGLPIXELSTOREFPROC pixelStoref = nullptr;
PFNGLPIXELSTOREIPROC pixelStorei = nullptr;
PFNGLPOINTSIZEPROC pointSize = nullptr;
PFNGLPOLYGONMODEPROC polygonMode = nullptr;
PFNGLREADBUFFERPROC readBuffer = nullptr;
PFNGLREADPIXELSPROC readPixels = nullptr;
PFNGLSCISSORPROC scissor = nullptr;
PFNGLSTENCILFUNCPROC stencilFunc = nullptr;
PFNGLSTENCILMASKPROC stencilMask = nullptr;
PFNGLSTENCILOPPROC stencilOp = nullptr;
PFNGLTEXIMAGE1DPROC texImage1D = nullptr;
PFNGLTEXIMAGE2DPROC texImage2D = nullptr;
PFNGLTEXPARAMETERFPROC texParameterf = nullptr;
PFNGLTEXPARAMETERFVPROC texParameterfv = nullptr;
PFNGLTEXPARAMETERIPROC texParameteri = nullptr;
PFNGLTEXPARAMETERIVPROC texParameteriv = nullptr;
PFNGLVIEWPORTPROC viewport = nullptr;
// 1.1
PFNGLBINDTEXTUREPROC bindTexture = nullptr;
PFNGLCOPYTEXIMAGE1DPROC copyTexImage1D = nullptr;
PFNGLCOPYTEXIMAGE2DPROC copyTexImage2D = nullptr;
PFNGLBINDTEXTUREPROC bindTexture = nullptr;
PFNGLCOPYTEXIMAGE1DPROC copyTexImage1D = nullptr;
PFNGLCOPYTEXIMAGE2DPROC copyTexImage2D = nullptr;
PFNGLCOPYTEXSUBIMAGE1DPROC copyTexSubImage1D = nullptr;
PFNGLCOPYTEXSUBIMAGE2DPROC copyTexSubImage2D = nullptr;
PFNGLDELETETEXTURESPROC deleteTextures = nullptr;
PFNGLDRAWARRAYSPROC drawArrays = nullptr;
PFNGLDRAWELEMENTSPROC drawElements = nullptr;
PFNGLGENTEXTURESPROC genTextures = nullptr;
PFNGLISTEXTUREPROC isTexture = nullptr;
PFNGLPOLYGONOFFSETPROC polygonOffset = nullptr;
PFNGLTEXSUBIMAGE1DPROC texSubImage1D = nullptr;
PFNGLTEXSUBIMAGE2DPROC texSubImage2D = nullptr;
PFNGLDELETETEXTURESPROC deleteTextures = nullptr;
PFNGLDRAWARRAYSPROC drawArrays = nullptr;
PFNGLDRAWELEMENTSPROC drawElements = nullptr;
PFNGLGENTEXTURESPROC genTextures = nullptr;
PFNGLISTEXTUREPROC isTexture = nullptr;
PFNGLPOLYGONOFFSETPROC polygonOffset = nullptr;
PFNGLTEXSUBIMAGE1DPROC texSubImage1D = nullptr;
PFNGLTEXSUBIMAGE2DPROC texSubImage2D = nullptr;
// 1.2
PFNGLBLENDCOLORPROC blendColor = nullptr;
PFNGLBLENDEQUATIONPROC blendEquation = nullptr;
PFNGLBLENDCOLORPROC blendColor = nullptr;
PFNGLBLENDEQUATIONPROC blendEquation = nullptr;
PFNGLCOPYTEXSUBIMAGE3DPROC copyTexSubImage3D = nullptr;
PFNGLDRAWRANGEELEMENTSPROC drawRangeElements = nullptr;
PFNGLTEXIMAGE3DPROC texImage3D = nullptr;
PFNGLTEXSUBIMAGE3DPROC texSubImage3D = nullptr;
PFNGLTEXIMAGE3DPROC texImage3D = nullptr;
PFNGLTEXSUBIMAGE3DPROC texSubImage3D = nullptr;
// 1.2 Extensions
PFNGLDELETEFENCESNVPROC deleteFencesNV = nullptr;
PFNGLFINISHFENCENVPROC finishFenceNV = nullptr;
PFNGLGENFENCESNVPROC genFencesNV = nullptr;
PFNGLGETFENCEIVNVPROC getFenceivNV = nullptr;
PFNGLISFENCENVPROC isFenceNV = nullptr;
PFNGLSETFENCENVPROC setFenceNV = nullptr;
PFNGLTESTFENCENVPROC testFenceNV = nullptr;
PFNGLFINISHFENCENVPROC finishFenceNV = nullptr;
PFNGLGENFENCESNVPROC genFencesNV = nullptr;
PFNGLGETFENCEIVNVPROC getFenceivNV = nullptr;
PFNGLISFENCENVPROC isFenceNV = nullptr;
PFNGLSETFENCENVPROC setFenceNV = nullptr;
PFNGLTESTFENCENVPROC testFenceNV = nullptr;
// 1.3
PFNGLACTIVETEXTUREPROC activeTexture = nullptr;
PFNGLCOMPRESSEDTEXIMAGE1DPROC compressedTexImage1D = nullptr;
PFNGLCOMPRESSEDTEXIMAGE2DPROC compressedTexImage2D = nullptr;
PFNGLCOMPRESSEDTEXIMAGE3DPROC compressedTexImage3D = nullptr;
PFNGLACTIVETEXTUREPROC activeTexture = nullptr;
PFNGLCOMPRESSEDTEXIMAGE1DPROC compressedTexImage1D = nullptr;
PFNGLCOMPRESSEDTEXIMAGE2DPROC compressedTexImage2D = nullptr;
PFNGLCOMPRESSEDTEXIMAGE3DPROC compressedTexImage3D = nullptr;
PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC compressedTexSubImage1D = nullptr;
PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC compressedTexSubImage2D = nullptr;
PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC compressedTexSubImage3D = nullptr;
PFNGLGETCOMPRESSEDTEXIMAGEPROC getCompressedTexImage = nullptr;
PFNGLSAMPLECOVERAGEPROC sampleCoverage = nullptr;
PFNGLGETCOMPRESSEDTEXIMAGEPROC getCompressedTexImage = nullptr;
PFNGLSAMPLECOVERAGEPROC sampleCoverage = nullptr;
// 1.4
PFNGLBLENDFUNCSEPARATEPROC blendFuncSeparate = nullptr;
PFNGLMULTIDRAWARRAYSPROC multiDrawArrays = nullptr;
PFNGLMULTIDRAWARRAYSPROC multiDrawArrays = nullptr;
PFNGLMULTIDRAWELEMENTSPROC multiDrawElements = nullptr;
PFNGLPOINTPARAMETERFPROC pointParameterf = nullptr;
PFNGLPOINTPARAMETERFVPROC pointParameterfv = nullptr;
PFNGLPOINTPARAMETERIPROC pointParameteri = nullptr;
PFNGLPOINTPARAMETERIVPROC pointParameteriv = nullptr;
PFNGLPOINTPARAMETERFPROC pointParameterf = nullptr;
PFNGLPOINTPARAMETERFVPROC pointParameterfv = nullptr;
PFNGLPOINTPARAMETERIPROC pointParameteri = nullptr;
PFNGLPOINTPARAMETERIVPROC pointParameteriv = nullptr;
// 1.5
PFNGLBEGINQUERYPROC beginQuery = nullptr;
PFNGLBINDBUFFERPROC bindBuffer = nullptr;
PFNGLBUFFERDATAPROC bufferData = nullptr;
PFNGLBUFFERSUBDATAPROC bufferSubData = nullptr;
PFNGLDELETEBUFFERSPROC deleteBuffers = nullptr;
PFNGLDELETEQUERIESPROC deleteQueries = nullptr;
PFNGLENDQUERYPROC endQuery = nullptr;
PFNGLGENBUFFERSPROC genBuffers = nullptr;
PFNGLGENQUERIESPROC genQueries = nullptr;
PFNGLBEGINQUERYPROC beginQuery = nullptr;
PFNGLBINDBUFFERPROC bindBuffer = nullptr;
PFNGLBUFFERDATAPROC bufferData = nullptr;
PFNGLBUFFERSUBDATAPROC bufferSubData = nullptr;
PFNGLDELETEBUFFERSPROC deleteBuffers = nullptr;
PFNGLDELETEQUERIESPROC deleteQueries = nullptr;
PFNGLENDQUERYPROC endQuery = nullptr;
PFNGLGENBUFFERSPROC genBuffers = nullptr;
PFNGLGENQUERIESPROC genQueries = nullptr;
PFNGLGETBUFFERPARAMETERIVPROC getBufferParameteriv = nullptr;
PFNGLGETBUFFERPOINTERVPROC getBufferPointerv = nullptr;
PFNGLGETBUFFERSUBDATAPROC getBufferSubData = nullptr;
PFNGLGETQUERYOBJECTIVPROC getQueryObjectiv = nullptr;
PFNGLGETQUERYOBJECTUIVPROC getQueryObjectuiv = nullptr;
PFNGLGETQUERYIVPROC getQueryiv = nullptr;
PFNGLISBUFFERPROC isBuffer = nullptr;
PFNGLISQUERYPROC isQuery = nullptr;
PFNGLMAPBUFFERPROC mapBuffer = nullptr;
PFNGLUNMAPBUFFERPROC unmapBuffer = nullptr;
PFNGLGETBUFFERPOINTERVPROC getBufferPointerv = nullptr;
PFNGLGETBUFFERSUBDATAPROC getBufferSubData = nullptr;
PFNGLGETQUERYOBJECTIVPROC getQueryObjectiv = nullptr;
PFNGLGETQUERYOBJECTUIVPROC getQueryObjectuiv = nullptr;
PFNGLGETQUERYIVPROC getQueryiv = nullptr;
PFNGLISBUFFERPROC isBuffer = nullptr;
PFNGLISQUERYPROC isQuery = nullptr;
PFNGLMAPBUFFERPROC mapBuffer = nullptr;
PFNGLUNMAPBUFFERPROC unmapBuffer = nullptr;
// 2.0
PFNGLATTACHSHADERPROC attachShader = nullptr;
PFNGLBINDATTRIBLOCATIONPROC bindAttribLocation = nullptr;
PFNGLBLENDEQUATIONSEPARATEPROC blendEquationSeparate = nullptr;
PFNGLCOMPILESHADERPROC compileShader = nullptr;
PFNGLCREATEPROGRAMPROC createProgram = nullptr;
PFNGLCREATESHADERPROC createShader = nullptr;
PFNGLDELETEPROGRAMPROC deleteProgram = nullptr;
PFNGLDELETESHADERPROC deleteShader = nullptr;
PFNGLDETACHSHADERPROC detachShader = nullptr;
PFNGLATTACHSHADERPROC attachShader = nullptr;
PFNGLBINDATTRIBLOCATIONPROC bindAttribLocation = nullptr;
PFNGLBLENDEQUATIONSEPARATEPROC blendEquationSeparate = nullptr;
PFNGLCOMPILESHADERPROC compileShader = nullptr;
PFNGLCREATEPROGRAMPROC createProgram = nullptr;
PFNGLCREATESHADERPROC createShader = nullptr;
PFNGLDELETEPROGRAMPROC deleteProgram = nullptr;
PFNGLDELETESHADERPROC deleteShader = nullptr;
PFNGLDETACHSHADERPROC detachShader = nullptr;
PFNGLDISABLEVERTEXATTRIBARRAYPROC disableVertexAttribArray = nullptr;
PFNGLDRAWBUFFERSPROC drawBuffers = nullptr;
PFNGLENABLEVERTEXATTRIBARRAYPROC enableVertexAttribArray = nullptr;
PFNGLGETACTIVEATTRIBPROC getActiveAttrib = nullptr;
PFNGLGETACTIVEUNIFORMPROC getActiveUniform = nullptr;
PFNGLGETATTACHEDSHADERSPROC getAttachedShaders = nullptr;
PFNGLGETATTRIBLOCATIONPROC getAttribLocation = nullptr;
PFNGLGETPROGRAMINFOLOGPROC getProgramInfoLog = nullptr;
PFNGLGETPROGRAMIVPROC getProgramiv = nullptr;
PFNGLGETSHADERINFOLOGPROC getShaderInfoLog = nullptr;
PFNGLGETSHADERSOURCEPROC getShaderSource = nullptr;
PFNGLGETSHADERIVPROC getShaderiv = nullptr;
PFNGLGETUNIFORMLOCATIONPROC getUniformLocation = nullptr;
PFNGLGETUNIFORMFVPROC getUniformfv = nullptr;
PFNGLGETUNIFORMIVPROC getUniformiv = nullptr;
PFNGLGETVERTEXATTRIBPOINTERVPROC getVertexAttribPointerv = nullptr;
PFNGLGETVERTEXATTRIBDVPROC getVertexAttribdv = nullptr;
PFNGLGETVERTEXATTRIBFVPROC getVertexAttribfv = nullptr;
PFNGLGETVERTEXATTRIBIVPROC getVertexAttribiv = nullptr;
PFNGLISPROGRAMPROC isProgram = nullptr;
PFNGLISSHADERPROC isShader = nullptr;
PFNGLLINKPROGRAMPROC linkProgram = nullptr;
PFNGLSHADERSOURCEPROC shaderSource = nullptr;
PFNGLSTENCILFUNCSEPARATEPROC stencilFuncSeparate = nullptr;
PFNGLSTENCILMASKSEPARATEPROC stencilMaskSeparate = nullptr;
PFNGLSTENCILOPSEPARATEPROC stencilOpSeparate = nullptr;
PFNGLUNIFORM1FPROC uniform1f = nullptr;
PFNGLUNIFORM1FVPROC uniform1fv = nullptr;
PFNGLUNIFORM1IPROC uniform1i = nullptr;
PFNGLUNIFORM1IVPROC uniform1iv = nullptr;
PFNGLUNIFORM2FPROC uniform2f = nullptr;
PFNGLUNIFORM2FVPROC uniform2fv = nullptr;
PFNGLUNIFORM2IPROC uniform2i = nullptr;
PFNGLUNIFORM2IVPROC uniform2iv = nullptr;
PFNGLUNIFORM3FPROC uniform3f = nullptr;
PFNGLUNIFORM3FVPROC uniform3fv = nullptr;
PFNGLUNIFORM3IPROC uniform3i = nullptr;
PFNGLUNIFORM3IVPROC uniform3iv = nullptr;
PFNGLUNIFORM4FPROC uniform4f = nullptr;
PFNGLUNIFORM4FVPROC uniform4fv = nullptr;
PFNGLUNIFORM4IPROC uniform4i = nullptr;
PFNGLUNIFORM4IVPROC uniform4iv = nullptr;
PFNGLUNIFORMMATRIX2FVPROC uniformMatrix2fv = nullptr;
PFNGLUNIFORMMATRIX3FVPROC uniformMatrix3fv = nullptr;
PFNGLUNIFORMMATRIX4FVPROC uniformMatrix4fv = nullptr;
PFNGLUSEPROGRAMPROC useProgram = nullptr;
PFNGLVALIDATEPROGRAMPROC validateProgram = nullptr;
PFNGLVERTEXATTRIB1DPROC vertexAttrib1d = nullptr;
PFNGLVERTEXATTRIB1DVPROC vertexAttrib1dv = nullptr;
PFNGLVERTEXATTRIB1FPROC vertexAttrib1f = nullptr;
PFNGLVERTEXATTRIB1FVPROC vertexAttrib1fv = nullptr;
PFNGLVERTEXATTRIB1SPROC vertexAttrib1s = nullptr;
PFNGLVERTEXATTRIB1SVPROC vertexAttrib1sv = nullptr;
PFNGLVERTEXATTRIB2DPROC vertexAttrib2d = nullptr;
PFNGLVERTEXATTRIB2DVPROC vertexAttrib2dv = nullptr;
PFNGLVERTEXATTRIB2FPROC vertexAttrib2f = nullptr;
PFNGLVERTEXATTRIB2FVPROC vertexAttrib2fv = nullptr;
PFNGLVERTEXATTRIB2SPROC vertexAttrib2s = nullptr;
PFNGLVERTEXATTRIB2SVPROC vertexAttrib2sv = nullptr;
PFNGLVERTEXATTRIB3DPROC vertexAttrib3d = nullptr;
PFNGLVERTEXATTRIB3DVPROC vertexAttrib3dv = nullptr;
PFNGLVERTEXATTRIB3FPROC vertexAttrib3f = nullptr;
PFNGLVERTEXATTRIB3FVPROC vertexAttrib3fv = nullptr;
PFNGLVERTEXATTRIB3SPROC vertexAttrib3s = nullptr;
PFNGLVERTEXATTRIB3SVPROC vertexAttrib3sv = nullptr;
PFNGLVERTEXATTRIB4NBVPROC vertexAttrib4Nbv = nullptr;
PFNGLVERTEXATTRIB4NIVPROC vertexAttrib4Niv = nullptr;
PFNGLVERTEXATTRIB4NSVPROC vertexAttrib4Nsv = nullptr;
PFNGLVERTEXATTRIB4NUBPROC vertexAttrib4Nub = nullptr;
PFNGLVERTEXATTRIB4NUBVPROC vertexAttrib4Nubv = nullptr;
PFNGLVERTEXATTRIB4NUIVPROC vertexAttrib4Nuiv = nullptr;
PFNGLVERTEXATTRIB4NUSVPROC vertexAttrib4Nusv = nullptr;
PFNGLVERTEXATTRIB4BVPROC vertexAttrib4bv = nullptr;
PFNGLVERTEXATTRIB4DPROC vertexAttrib4d = nullptr;
PFNGLVERTEXATTRIB4DVPROC vertexAttrib4dv = nullptr;
PFNGLVERTEXATTRIB4FPROC vertexAttrib4f = nullptr;
PFNGLVERTEXATTRIB4FVPROC vertexAttrib4fv = nullptr;
PFNGLVERTEXATTRIB4IVPROC vertexAttrib4iv = nullptr;
PFNGLVERTEXATTRIB4SPROC vertexAttrib4s = nullptr;
PFNGLVERTEXATTRIB4SVPROC vertexAttrib4sv = nullptr;
PFNGLVERTEXATTRIB4UBVPROC vertexAttrib4ubv = nullptr;
PFNGLVERTEXATTRIB4UIVPROC vertexAttrib4uiv = nullptr;
PFNGLVERTEXATTRIB4USVPROC vertexAttrib4usv = nullptr;
PFNGLVERTEXATTRIBPOINTERPROC vertexAttribPointer = nullptr;
PFNGLDRAWBUFFERSPROC drawBuffers = nullptr;
PFNGLENABLEVERTEXATTRIBARRAYPROC enableVertexAttribArray = nullptr;
PFNGLGETACTIVEATTRIBPROC getActiveAttrib = nullptr;
PFNGLGETACTIVEUNIFORMPROC getActiveUniform = nullptr;
PFNGLGETATTACHEDSHADERSPROC getAttachedShaders = nullptr;
PFNGLGETATTRIBLOCATIONPROC getAttribLocation = nullptr;
PFNGLGETPROGRAMINFOLOGPROC getProgramInfoLog = nullptr;
PFNGLGETPROGRAMIVPROC getProgramiv = nullptr;
PFNGLGETSHADERINFOLOGPROC getShaderInfoLog = nullptr;
PFNGLGETSHADERSOURCEPROC getShaderSource = nullptr;
PFNGLGETSHADERIVPROC getShaderiv = nullptr;
PFNGLGETUNIFORMLOCATIONPROC getUniformLocation = nullptr;
PFNGLGETUNIFORMFVPROC getUniformfv = nullptr;
PFNGLGETUNIFORMIVPROC getUniformiv = nullptr;
PFNGLGETVERTEXATTRIBPOINTERVPROC getVertexAttribPointerv = nullptr;
PFNGLGETVERTEXATTRIBDVPROC getVertexAttribdv = nullptr;
PFNGLGETVERTEXATTRIBFVPROC getVertexAttribfv = nullptr;
PFNGLGETVERTEXATTRIBIVPROC getVertexAttribiv = nullptr;
PFNGLISPROGRAMPROC isProgram = nullptr;
PFNGLISSHADERPROC isShader = nullptr;
PFNGLLINKPROGRAMPROC linkProgram = nullptr;
PFNGLSHADERSOURCEPROC shaderSource = nullptr;
PFNGLSTENCILFUNCSEPARATEPROC stencilFuncSeparate = nullptr;
PFNGLSTENCILMASKSEPARATEPROC stencilMaskSeparate = nullptr;
PFNGLSTENCILOPSEPARATEPROC stencilOpSeparate = nullptr;
PFNGLUNIFORM1FPROC uniform1f = nullptr;
PFNGLUNIFORM1FVPROC uniform1fv = nullptr;
PFNGLUNIFORM1IPROC uniform1i = nullptr;
PFNGLUNIFORM1IVPROC uniform1iv = nullptr;
PFNGLUNIFORM2FPROC uniform2f = nullptr;
PFNGLUNIFORM2FVPROC uniform2fv = nullptr;
PFNGLUNIFORM2IPROC uniform2i = nullptr;
PFNGLUNIFORM2IVPROC uniform2iv = nullptr;
PFNGLUNIFORM3FPROC uniform3f = nullptr;
PFNGLUNIFORM3FVPROC uniform3fv = nullptr;
PFNGLUNIFORM3IPROC uniform3i = nullptr;
PFNGLUNIFORM3IVPROC uniform3iv = nullptr;
PFNGLUNIFORM4FPROC uniform4f = nullptr;
PFNGLUNIFORM4FVPROC uniform4fv = nullptr;
PFNGLUNIFORM4IPROC uniform4i = nullptr;
PFNGLUNIFORM4IVPROC uniform4iv = nullptr;
PFNGLUNIFORMMATRIX2FVPROC uniformMatrix2fv = nullptr;
PFNGLUNIFORMMATRIX3FVPROC uniformMatrix3fv = nullptr;
PFNGLUNIFORMMATRIX4FVPROC uniformMatrix4fv = nullptr;
PFNGLUSEPROGRAMPROC useProgram = nullptr;
PFNGLVALIDATEPROGRAMPROC validateProgram = nullptr;
PFNGLVERTEXATTRIB1DPROC vertexAttrib1d = nullptr;
PFNGLVERTEXATTRIB1DVPROC vertexAttrib1dv = nullptr;
PFNGLVERTEXATTRIB1FPROC vertexAttrib1f = nullptr;
PFNGLVERTEXATTRIB1FVPROC vertexAttrib1fv = nullptr;
PFNGLVERTEXATTRIB1SPROC vertexAttrib1s = nullptr;
PFNGLVERTEXATTRIB1SVPROC vertexAttrib1sv = nullptr;
PFNGLVERTEXATTRIB2DPROC vertexAttrib2d = nullptr;
PFNGLVERTEXATTRIB2DVPROC vertexAttrib2dv = nullptr;
PFNGLVERTEXATTRIB2FPROC vertexAttrib2f = nullptr;
PFNGLVERTEXATTRIB2FVPROC vertexAttrib2fv = nullptr;
PFNGLVERTEXATTRIB2SPROC vertexAttrib2s = nullptr;
PFNGLVERTEXATTRIB2SVPROC vertexAttrib2sv = nullptr;
PFNGLVERTEXATTRIB3DPROC vertexAttrib3d = nullptr;
PFNGLVERTEXATTRIB3DVPROC vertexAttrib3dv = nullptr;
PFNGLVERTEXATTRIB3FPROC vertexAttrib3f = nullptr;
PFNGLVERTEXATTRIB3FVPROC vertexAttrib3fv = nullptr;
PFNGLVERTEXATTRIB3SPROC vertexAttrib3s = nullptr;
PFNGLVERTEXATTRIB3SVPROC vertexAttrib3sv = nullptr;
PFNGLVERTEXATTRIB4NBVPROC vertexAttrib4Nbv = nullptr;
PFNGLVERTEXATTRIB4NIVPROC vertexAttrib4Niv = nullptr;
PFNGLVERTEXATTRIB4NSVPROC vertexAttrib4Nsv = nullptr;
PFNGLVERTEXATTRIB4NUBPROC vertexAttrib4Nub = nullptr;
PFNGLVERTEXATTRIB4NUBVPROC vertexAttrib4Nubv = nullptr;
PFNGLVERTEXATTRIB4NUIVPROC vertexAttrib4Nuiv = nullptr;
PFNGLVERTEXATTRIB4NUSVPROC vertexAttrib4Nusv = nullptr;
PFNGLVERTEXATTRIB4BVPROC vertexAttrib4bv = nullptr;
PFNGLVERTEXATTRIB4DPROC vertexAttrib4d = nullptr;
PFNGLVERTEXATTRIB4DVPROC vertexAttrib4dv = nullptr;
PFNGLVERTEXATTRIB4FPROC vertexAttrib4f = nullptr;
PFNGLVERTEXATTRIB4FVPROC vertexAttrib4fv = nullptr;
PFNGLVERTEXATTRIB4IVPROC vertexAttrib4iv = nullptr;
PFNGLVERTEXATTRIB4SPROC vertexAttrib4s = nullptr;
PFNGLVERTEXATTRIB4SVPROC vertexAttrib4sv = nullptr;
PFNGLVERTEXATTRIB4UBVPROC vertexAttrib4ubv = nullptr;
PFNGLVERTEXATTRIB4UIVPROC vertexAttrib4uiv = nullptr;
PFNGLVERTEXATTRIB4USVPROC vertexAttrib4usv = nullptr;
PFNGLVERTEXATTRIBPOINTERPROC vertexAttribPointer = nullptr;
// 2.1
PFNGLUNIFORMMATRIX2X3FVPROC uniformMatrix2x3fv = nullptr;
......@@ -253,488 +254,486 @@ class DispatchTableGL : angle::NonCopyable
PFNGLUNIFORMMATRIX4X3FVPROC uniformMatrix4x3fv = nullptr;
// 3.0
PFNGLBEGINCONDITIONALRENDERPROC beginConditionalRender = nullptr;
PFNGLBEGINTRANSFORMFEEDBACKPROC beginTransformFeedback = nullptr;
PFNGLBINDBUFFERBASEPROC bindBufferBase = nullptr;
PFNGLBINDBUFFERRANGEPROC bindBufferRange = nullptr;
PFNGLBINDFRAGDATALOCATIONPROC bindFragDataLocation = nullptr;
PFNGLBINDFRAMEBUFFERPROC bindFramebuffer = nullptr;
PFNGLBINDRENDERBUFFERPROC bindRenderbuffer = nullptr;
PFNGLBINDVERTEXARRAYPROC bindVertexArray = nullptr;
PFNGLBLITFRAMEBUFFERPROC blitFramebuffer = nullptr;
PFNGLCHECKFRAMEBUFFERSTATUSPROC checkFramebufferStatus = nullptr;
PFNGLCLAMPCOLORPROC clampColor = nullptr;
PFNGLCLEARBUFFERFIPROC clearBufferfi = nullptr;
PFNGLCLEARBUFFERFVPROC clearBufferfv = nullptr;
PFNGLCLEARBUFFERIVPROC clearBufferiv = nullptr;
PFNGLCLEARBUFFERUIVPROC clearBufferuiv = nullptr;
PFNGLCOLORMASKIPROC colorMaski = nullptr;
PFNGLDELETEFRAMEBUFFERSPROC deleteFramebuffers = nullptr;
PFNGLDELETERENDERBUFFERSPROC deleteRenderbuffers = nullptr;
PFNGLDELETEVERTEXARRAYSPROC deleteVertexArrays = nullptr;
PFNGLDISABLEIPROC disablei = nullptr;
PFNGLENABLEIPROC enablei = nullptr;
PFNGLENDCONDITIONALRENDERPROC endConditionalRender = nullptr;
PFNGLENDTRANSFORMFEEDBACKPROC endTransformFeedback = nullptr;
PFNGLFLUSHMAPPEDBUFFERRANGEPROC flushMappedBufferRange = nullptr;
PFNGLFRAMEBUFFERRENDERBUFFERPROC framebufferRenderbuffer = nullptr;
PFNGLFRAMEBUFFERTEXTURE1DPROC framebufferTexture1D = nullptr;
PFNGLFRAMEBUFFERTEXTURE2DPROC framebufferTexture2D = nullptr;
PFNGLFRAMEBUFFERTEXTURE3DPROC framebufferTexture3D = nullptr;
PFNGLFRAMEBUFFERTEXTURELAYERPROC framebufferTextureLayer = nullptr;
PFNGLGENFRAMEBUFFERSPROC genFramebuffers = nullptr;
PFNGLGENRENDERBUFFERSPROC genRenderbuffers = nullptr;
PFNGLGENVERTEXARRAYSPROC genVertexArrays = nullptr;
PFNGLGENERATEMIPMAPPROC generateMipmap = nullptr;
PFNGLGETBOOLEANI_VPROC getBooleani_v = nullptr;
PFNGLGETFRAGDATALOCATIONPROC getFragDataLocation = nullptr;
PFNGLBEGINCONDITIONALRENDERPROC beginConditionalRender = nullptr;
PFNGLBEGINTRANSFORMFEEDBACKPROC beginTransformFeedback = nullptr;
PFNGLBINDBUFFERBASEPROC bindBufferBase = nullptr;
PFNGLBINDBUFFERRANGEPROC bindBufferRange = nullptr;
PFNGLBINDFRAGDATALOCATIONPROC bindFragDataLocation = nullptr;
PFNGLBINDFRAMEBUFFERPROC bindFramebuffer = nullptr;
PFNGLBINDRENDERBUFFERPROC bindRenderbuffer = nullptr;
PFNGLBINDVERTEXARRAYPROC bindVertexArray = nullptr;
PFNGLBLITFRAMEBUFFERPROC blitFramebuffer = nullptr;
PFNGLCHECKFRAMEBUFFERSTATUSPROC checkFramebufferStatus = nullptr;
PFNGLCLAMPCOLORPROC clampColor = nullptr;
PFNGLCLEARBUFFERFIPROC clearBufferfi = nullptr;
PFNGLCLEARBUFFERFVPROC clearBufferfv = nullptr;
PFNGLCLEARBUFFERIVPROC clearBufferiv = nullptr;
PFNGLCLEARBUFFERUIVPROC clearBufferuiv = nullptr;
PFNGLCOLORMASKIPROC colorMaski = nullptr;
PFNGLDELETEFRAMEBUFFERSPROC deleteFramebuffers = nullptr;
PFNGLDELETERENDERBUFFERSPROC deleteRenderbuffers = nullptr;
PFNGLDELETEVERTEXARRAYSPROC deleteVertexArrays = nullptr;
PFNGLDISABLEIPROC disablei = nullptr;
PFNGLENABLEIPROC enablei = nullptr;
PFNGLENDCONDITIONALRENDERPROC endConditionalRender = nullptr;
PFNGLENDTRANSFORMFEEDBACKPROC endTransformFeedback = nullptr;
PFNGLFLUSHMAPPEDBUFFERRANGEPROC flushMappedBufferRange = nullptr;
PFNGLFRAMEBUFFERRENDERBUFFERPROC framebufferRenderbuffer = nullptr;
PFNGLFRAMEBUFFERTEXTURE1DPROC framebufferTexture1D = nullptr;
PFNGLFRAMEBUFFERTEXTURE2DPROC framebufferTexture2D = nullptr;
PFNGLFRAMEBUFFERTEXTURE3DPROC framebufferTexture3D = nullptr;
PFNGLFRAMEBUFFERTEXTURELAYERPROC framebufferTextureLayer = nullptr;
PFNGLGENFRAMEBUFFERSPROC genFramebuffers = nullptr;
PFNGLGENRENDERBUFFERSPROC genRenderbuffers = nullptr;
PFNGLGENVERTEXARRAYSPROC genVertexArrays = nullptr;
PFNGLGENERATEMIPMAPPROC generateMipmap = nullptr;
PFNGLGETBOOLEANI_VPROC getBooleani_v = nullptr;
PFNGLGETFRAGDATALOCATIONPROC getFragDataLocation = nullptr;
PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC getFramebufferAttachmentParameteriv = nullptr;
PFNGLGETINTEGERI_VPROC getIntegeri_v = nullptr;
PFNGLGETRENDERBUFFERPARAMETERIVPROC getRenderbufferParameteriv = nullptr;
PFNGLGETSTRINGIPROC getStringi = nullptr;
PFNGLGETTEXPARAMETERIIVPROC getTexParameterIiv = nullptr;
PFNGLGETTEXPARAMETERIUIVPROC getTexParameterIuiv = nullptr;
PFNGLGETTRANSFORMFEEDBACKVARYINGPROC getTransformFeedbackVarying = nullptr;
PFNGLGETUNIFORMUIVPROC getUniformuiv = nullptr;
PFNGLGETVERTEXATTRIBIIVPROC getVertexAttribIiv = nullptr;
PFNGLGETVERTEXATTRIBIUIVPROC getVertexAttribIuiv = nullptr;
PFNGLISENABLEDIPROC isEnabledi = nullptr;
PFNGLISFRAMEBUFFERPROC isFramebuffer = nullptr;
PFNGLISRENDERBUFFERPROC isRenderbuffer = nullptr;
PFNGLISVERTEXARRAYPROC isVertexArray = nullptr;
PFNGLMAPBUFFERRANGEPROC mapBufferRange = nullptr;
PFNGLRENDERBUFFERSTORAGEPROC renderbufferStorage = nullptr;
PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC renderbufferStorageMultisample = nullptr;
PFNGLTEXPARAMETERIIVPROC texParameterIiv = nullptr;
PFNGLTEXPARAMETERIUIVPROC texParameterIuiv = nullptr;
PFNGLTRANSFORMFEEDBACKVARYINGSPROC transformFeedbackVaryings = nullptr;
PFNGLUNIFORM1UIPROC uniform1ui = nullptr;
PFNGLUNIFORM1UIVPROC uniform1uiv = nullptr;
PFNGLUNIFORM2UIPROC uniform2ui = nullptr;
PFNGLUNIFORM2UIVPROC uniform2uiv = nullptr;
PFNGLUNIFORM3UIPROC uniform3ui = nullptr;
PFNGLUNIFORM3UIVPROC uniform3uiv = nullptr;
PFNGLUNIFORM4UIPROC uniform4ui = nullptr;
PFNGLUNIFORM4UIVPROC uniform4uiv = nullptr;
PFNGLVERTEXATTRIBI1IPROC vertexAttribI1i = nullptr;
PFNGLVERTEXATTRIBI1IVPROC vertexAttribI1iv = nullptr;
PFNGLVERTEXATTRIBI1UIPROC vertexAttribI1ui = nullptr;
PFNGLVERTEXATTRIBI1UIVPROC vertexAttribI1uiv = nullptr;
PFNGLVERTEXATTRIBI2IPROC vertexAttribI2i = nullptr;
PFNGLVERTEXATTRIBI2IVPROC vertexAttribI2iv = nullptr;
PFNGLVERTEXATTRIBI2UIPROC vertexAttribI2ui = nullptr;
PFNGLVERTEXATTRIBI2UIVPROC vertexAttribI2uiv = nullptr;
PFNGLVERTEXATTRIBI3IPROC vertexAttribI3i = nullptr;
PFNGLVERTEXATTRIBI3IVPROC vertexAttribI3iv = nullptr;
PFNGLVERTEXATTRIBI3UIPROC vertexAttribI3ui = nullptr;
PFNGLVERTEXATTRIBI3UIVPROC vertexAttribI3uiv = nullptr;
PFNGLVERTEXATTRIBI4BVPROC vertexAttribI4bv = nullptr;
PFNGLVERTEXATTRIBI4IPROC vertexAttribI4i = nullptr;
PFNGLVERTEXATTRIBI4IVPROC vertexAttribI4iv = nullptr;
PFNGLVERTEXATTRIBI4SVPROC vertexAttribI4sv = nullptr;
PFNGLVERTEXATTRIBI4UBVPROC vertexAttribI4ubv = nullptr;
PFNGLVERTEXATTRIBI4UIPROC vertexAttribI4ui = nullptr;
PFNGLVERTEXATTRIBI4UIVPROC vertexAttribI4uiv = nullptr;
PFNGLVERTEXATTRIBI4USVPROC vertexAttribI4usv = nullptr;
PFNGLVERTEXATTRIBIPOINTERPROC vertexAttribIPointer = nullptr;
PFNGLGETINTEGERI_VPROC getIntegeri_v = nullptr;
PFNGLGETRENDERBUFFERPARAMETERIVPROC getRenderbufferParameteriv = nullptr;
PFNGLGETSTRINGIPROC getStringi = nullptr;
PFNGLGETTEXPARAMETERIIVPROC getTexParameterIiv = nullptr;
PFNGLGETTEXPARAMETERIUIVPROC getTexParameterIuiv = nullptr;
PFNGLGETTRANSFORMFEEDBACKVARYINGPROC getTransformFeedbackVarying = nullptr;
PFNGLGETUNIFORMUIVPROC getUniformuiv = nullptr;
PFNGLGETVERTEXATTRIBIIVPROC getVertexAttribIiv = nullptr;
PFNGLGETVERTEXATTRIBIUIVPROC getVertexAttribIuiv = nullptr;
PFNGLISENABLEDIPROC isEnabledi = nullptr;
PFNGLISFRAMEBUFFERPROC isFramebuffer = nullptr;
PFNGLISRENDERBUFFERPROC isRenderbuffer = nullptr;
PFNGLISVERTEXARRAYPROC isVertexArray = nullptr;
PFNGLMAPBUFFERRANGEPROC mapBufferRange = nullptr;
PFNGLRENDERBUFFERSTORAGEPROC renderbufferStorage = nullptr;
PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC renderbufferStorageMultisample = nullptr;
PFNGLTEXPARAMETERIIVPROC texParameterIiv = nullptr;
PFNGLTEXPARAMETERIUIVPROC texParameterIuiv = nullptr;
PFNGLTRANSFORMFEEDBACKVARYINGSPROC transformFeedbackVaryings = nullptr;
PFNGLUNIFORM1UIPROC uniform1ui = nullptr;
PFNGLUNIFORM1UIVPROC uniform1uiv = nullptr;
PFNGLUNIFORM2UIPROC uniform2ui = nullptr;
PFNGLUNIFORM2UIVPROC uniform2uiv = nullptr;
PFNGLUNIFORM3UIPROC uniform3ui = nullptr;
PFNGLUNIFORM3UIVPROC uniform3uiv = nullptr;
PFNGLUNIFORM4UIPROC uniform4ui = nullptr;
PFNGLUNIFORM4UIVPROC uniform4uiv = nullptr;
PFNGLVERTEXATTRIBI1IPROC vertexAttribI1i = nullptr;
PFNGLVERTEXATTRIBI1IVPROC vertexAttribI1iv = nullptr;
PFNGLVERTEXATTRIBI1UIPROC vertexAttribI1ui = nullptr;
PFNGLVERTEXATTRIBI1UIVPROC vertexAttribI1uiv = nullptr;
PFNGLVERTEXATTRIBI2IPROC vertexAttribI2i = nullptr;
PFNGLVERTEXATTRIBI2IVPROC vertexAttribI2iv = nullptr;
PFNGLVERTEXATTRIBI2UIPROC vertexAttribI2ui = nullptr;
PFNGLVERTEXATTRIBI2UIVPROC vertexAttribI2uiv = nullptr;
PFNGLVERTEXATTRIBI3IPROC vertexAttribI3i = nullptr;
PFNGLVERTEXATTRIBI3IVPROC vertexAttribI3iv = nullptr;
PFNGLVERTEXATTRIBI3UIPROC vertexAttribI3ui = nullptr;
PFNGLVERTEXATTRIBI3UIVPROC vertexAttribI3uiv = nullptr;
PFNGLVERTEXATTRIBI4BVPROC vertexAttribI4bv = nullptr;
PFNGLVERTEXATTRIBI4IPROC vertexAttribI4i = nullptr;
PFNGLVERTEXATTRIBI4IVPROC vertexAttribI4iv = nullptr;
PFNGLVERTEXATTRIBI4SVPROC vertexAttribI4sv = nullptr;
PFNGLVERTEXATTRIBI4UBVPROC vertexAttribI4ubv = nullptr;
PFNGLVERTEXATTRIBI4UIPROC vertexAttribI4ui = nullptr;
PFNGLVERTEXATTRIBI4UIVPROC vertexAttribI4uiv = nullptr;
PFNGLVERTEXATTRIBI4USVPROC vertexAttribI4usv = nullptr;
PFNGLVERTEXATTRIBIPOINTERPROC vertexAttribIPointer = nullptr;
// 3.1
PFNGLCOPYBUFFERSUBDATAPROC copyBufferSubData = nullptr;
PFNGLDRAWARRAYSINSTANCEDPROC drawArraysInstanced = nullptr;
PFNGLDRAWELEMENTSINSTANCEDPROC drawElementsInstanced = nullptr;
PFNGLCOPYBUFFERSUBDATAPROC copyBufferSubData = nullptr;
PFNGLDRAWARRAYSINSTANCEDPROC drawArraysInstanced = nullptr;
PFNGLDRAWELEMENTSINSTANCEDPROC drawElementsInstanced = nullptr;
PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC getActiveUniformBlockName = nullptr;
PFNGLGETACTIVEUNIFORMBLOCKIVPROC getActiveUniformBlockiv = nullptr;
PFNGLGETACTIVEUNIFORMNAMEPROC getActiveUniformName = nullptr;
PFNGLGETACTIVEUNIFORMSIVPROC getActiveUniformsiv = nullptr;
PFNGLGETUNIFORMBLOCKINDEXPROC getUniformBlockIndex = nullptr;
PFNGLGETUNIFORMINDICESPROC getUniformIndices = nullptr;
PFNGLPRIMITIVERESTARTINDEXPROC primitiveRestartIndex = nullptr;
PFNGLTEXBUFFERPROC texBuffer = nullptr;
PFNGLUNIFORMBLOCKBINDINGPROC uniformBlockBinding = nullptr;
PFNGLGETACTIVEUNIFORMBLOCKIVPROC getActiveUniformBlockiv = nullptr;
PFNGLGETACTIVEUNIFORMNAMEPROC getActiveUniformName = nullptr;
PFNGLGETACTIVEUNIFORMSIVPROC getActiveUniformsiv = nullptr;
PFNGLGETUNIFORMBLOCKINDEXPROC getUniformBlockIndex = nullptr;
PFNGLGETUNIFORMINDICESPROC getUniformIndices = nullptr;
PFNGLPRIMITIVERESTARTINDEXPROC primitiveRestartIndex = nullptr;
PFNGLTEXBUFFERPROC texBuffer = nullptr;
PFNGLUNIFORMBLOCKBINDINGPROC uniformBlockBinding = nullptr;
// 3.2
PFNGLCLIENTWAITSYNCPROC clientWaitSync = nullptr;
PFNGLDELETESYNCPROC deleteSync = nullptr;
PFNGLDRAWELEMENTSBASEVERTEXPROC drawElementsBaseVertex = nullptr;
PFNGLCLIENTWAITSYNCPROC clientWaitSync = nullptr;
PFNGLDELETESYNCPROC deleteSync = nullptr;
PFNGLDRAWELEMENTSBASEVERTEXPROC drawElementsBaseVertex = nullptr;
PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC drawElementsInstancedBaseVertex = nullptr;
PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC drawRangeElementsBaseVertex = nullptr;
PFNGLFENCESYNCPROC fenceSync = nullptr;
PFNGLFRAMEBUFFERTEXTUREPROC framebufferTexture = nullptr;
PFNGLGETBUFFERPARAMETERI64VPROC getBufferParameteri64v = nullptr;
PFNGLGETINTEGER64I_VPROC getInteger64i_v = nullptr;
PFNGLGETINTEGER64VPROC getInteger64v = nullptr;
PFNGLGETMULTISAMPLEFVPROC getMultisamplefv = nullptr;
PFNGLGETSYNCIVPROC getSynciv = nullptr;
PFNGLISSYNCPROC isSync = nullptr;
PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC multiDrawElementsBaseVertex = nullptr;
PFNGLPROVOKINGVERTEXPROC provokingVertex = nullptr;
PFNGLSAMPLEMASKIPROC sampleMaski = nullptr;
PFNGLTEXIMAGE2DMULTISAMPLEPROC texImage2DMultisample = nullptr;
PFNGLTEXIMAGE3DMULTISAMPLEPROC texImage3DMultisample = nullptr;
PFNGLWAITSYNCPROC waitSync = nullptr;
PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC drawRangeElementsBaseVertex = nullptr;
PFNGLFENCESYNCPROC fenceSync = nullptr;
PFNGLFRAMEBUFFERTEXTUREPROC framebufferTexture = nullptr;
PFNGLGETBUFFERPARAMETERI64VPROC getBufferParameteri64v = nullptr;
PFNGLGETINTEGER64I_VPROC getInteger64i_v = nullptr;
PFNGLGETINTEGER64VPROC getInteger64v = nullptr;
PFNGLGETMULTISAMPLEFVPROC getMultisamplefv = nullptr;
PFNGLGETSYNCIVPROC getSynciv = nullptr;
PFNGLISSYNCPROC isSync = nullptr;
PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC multiDrawElementsBaseVertex = nullptr;
PFNGLPROVOKINGVERTEXPROC provokingVertex = nullptr;
PFNGLSAMPLEMASKIPROC sampleMaski = nullptr;
PFNGLTEXIMAGE2DMULTISAMPLEPROC texImage2DMultisample = nullptr;
PFNGLTEXIMAGE3DMULTISAMPLEPROC texImage3DMultisample = nullptr;
PFNGLWAITSYNCPROC waitSync = nullptr;
// 3.3
PFNGLBINDFRAGDATALOCATIONINDEXEDPROC bindFragDataLocationIndexed = nullptr;
PFNGLBINDSAMPLERPROC bindSampler = nullptr;
PFNGLDELETESAMPLERSPROC deleteSamplers = nullptr;
PFNGLGENSAMPLERSPROC genSamplers = nullptr;
PFNGLGETFRAGDATAINDEXPROC getFragDataIndex = nullptr;
PFNGLGETQUERYOBJECTI64VPROC getQueryObjecti64v = nullptr;
PFNGLGETQUERYOBJECTUI64VPROC getQueryObjectui64v = nullptr;
PFNGLGETSAMPLERPARAMETERIIVPROC getSamplerParameterIiv = nullptr;
PFNGLGETSAMPLERPARAMETERIUIVPROC getSamplerParameterIuiv = nullptr;
PFNGLGETSAMPLERPARAMETERFVPROC getSamplerParameterfv = nullptr;
PFNGLGETSAMPLERPARAMETERIVPROC getSamplerParameteriv = nullptr;
PFNGLISSAMPLERPROC isSampler = nullptr;
PFNGLQUERYCOUNTERPROC queryCounter = nullptr;
PFNGLSAMPLERPARAMETERIIVPROC samplerParameterIiv = nullptr;
PFNGLSAMPLERPARAMETERIUIVPROC samplerParameterIuiv = nullptr;
PFNGLSAMPLERPARAMETERFPROC samplerParameterf = nullptr;
PFNGLSAMPLERPARAMETERFVPROC samplerParameterfv = nullptr;
PFNGLSAMPLERPARAMETERIPROC samplerParameteri = nullptr;
PFNGLSAMPLERPARAMETERIVPROC samplerParameteriv = nullptr;
PFNGLVERTEXATTRIBDIVISORPROC vertexAttribDivisor = nullptr;
PFNGLVERTEXATTRIBP1UIPROC vertexAttribP1ui = nullptr;
PFNGLVERTEXATTRIBP1UIVPROC vertexAttribP1uiv = nullptr;
PFNGLVERTEXATTRIBP2UIPROC vertexAttribP2ui = nullptr;
PFNGLVERTEXATTRIBP2UIVPROC vertexAttribP2uiv = nullptr;
PFNGLVERTEXATTRIBP3UIPROC vertexAttribP3ui = nullptr;
PFNGLVERTEXATTRIBP3UIVPROC vertexAttribP3uiv = nullptr;
PFNGLVERTEXATTRIBP4UIPROC vertexAttribP4ui = nullptr;
PFNGLVERTEXATTRIBP4UIVPROC vertexAttribP4uiv = nullptr;
PFNGLBINDSAMPLERPROC bindSampler = nullptr;
PFNGLDELETESAMPLERSPROC deleteSamplers = nullptr;
PFNGLGENSAMPLERSPROC genSamplers = nullptr;
PFNGLGETFRAGDATAINDEXPROC getFragDataIndex = nullptr;
PFNGLGETQUERYOBJECTI64VPROC getQueryObjecti64v = nullptr;
PFNGLGETQUERYOBJECTUI64VPROC getQueryObjectui64v = nullptr;
PFNGLGETSAMPLERPARAMETERIIVPROC getSamplerParameterIiv = nullptr;
PFNGLGETSAMPLERPARAMETERIUIVPROC getSamplerParameterIuiv = nullptr;
PFNGLGETSAMPLERPARAMETERFVPROC getSamplerParameterfv = nullptr;
PFNGLGETSAMPLERPARAMETERIVPROC getSamplerParameteriv = nullptr;
PFNGLISSAMPLERPROC isSampler = nullptr;
PFNGLQUERYCOUNTERPROC queryCounter = nullptr;
PFNGLSAMPLERPARAMETERIIVPROC samplerParameterIiv = nullptr;
PFNGLSAMPLERPARAMETERIUIVPROC samplerParameterIuiv = nullptr;
PFNGLSAMPLERPARAMETERFPROC samplerParameterf = nullptr;
PFNGLSAMPLERPARAMETERFVPROC samplerParameterfv = nullptr;
PFNGLSAMPLERPARAMETERIPROC samplerParameteri = nullptr;
PFNGLSAMPLERPARAMETERIVPROC samplerParameteriv = nullptr;
PFNGLVERTEXATTRIBDIVISORPROC vertexAttribDivisor = nullptr;
PFNGLVERTEXATTRIBP1UIPROC vertexAttribP1ui = nullptr;
PFNGLVERTEXATTRIBP1UIVPROC vertexAttribP1uiv = nullptr;
PFNGLVERTEXATTRIBP2UIPROC vertexAttribP2ui = nullptr;
PFNGLVERTEXATTRIBP2UIVPROC vertexAttribP2uiv = nullptr;
PFNGLVERTEXATTRIBP3UIPROC vertexAttribP3ui = nullptr;
PFNGLVERTEXATTRIBP3UIVPROC vertexAttribP3uiv = nullptr;
PFNGLVERTEXATTRIBP4UIPROC vertexAttribP4ui = nullptr;
PFNGLVERTEXATTRIBP4UIVPROC vertexAttribP4uiv = nullptr;
// 4.0
PFNGLBEGINQUERYINDEXEDPROC beginQueryIndexed = nullptr;
PFNGLBINDTRANSFORMFEEDBACKPROC bindTransformFeedback = nullptr;
PFNGLBLENDEQUATIONSEPARATEIPROC blendEquationSeparatei = nullptr;
PFNGLBLENDEQUATIONIPROC blendEquationi = nullptr;
PFNGLBLENDFUNCSEPARATEIPROC blendFuncSeparatei = nullptr;
PFNGLBLENDFUNCIPROC blendFunci = nullptr;
PFNGLDELETETRANSFORMFEEDBACKSPROC deleteTransformFeedbacks = nullptr;
PFNGLDRAWARRAYSINDIRECTPROC drawArraysIndirect = nullptr;
PFNGLDRAWELEMENTSINDIRECTPROC drawElementsIndirect = nullptr;
PFNGLDRAWTRANSFORMFEEDBACKPROC drawTransformFeedback = nullptr;
PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC drawTransformFeedbackStream = nullptr;
PFNGLENDQUERYINDEXEDPROC endQueryIndexed = nullptr;
PFNGLGENTRANSFORMFEEDBACKSPROC genTransformFeedbacks = nullptr;
PFNGLGETACTIVESUBROUTINENAMEPROC getActiveSubroutineName = nullptr;
PFNGLBEGINQUERYINDEXEDPROC beginQueryIndexed = nullptr;
PFNGLBINDTRANSFORMFEEDBACKPROC bindTransformFeedback = nullptr;
PFNGLBLENDEQUATIONSEPARATEIPROC blendEquationSeparatei = nullptr;
PFNGLBLENDEQUATIONIPROC blendEquationi = nullptr;
PFNGLBLENDFUNCSEPARATEIPROC blendFuncSeparatei = nullptr;
PFNGLBLENDFUNCIPROC blendFunci = nullptr;
PFNGLDELETETRANSFORMFEEDBACKSPROC deleteTransformFeedbacks = nullptr;
PFNGLDRAWARRAYSINDIRECTPROC drawArraysIndirect = nullptr;
PFNGLDRAWELEMENTSINDIRECTPROC drawElementsIndirect = nullptr;
PFNGLDRAWTRANSFORMFEEDBACKPROC drawTransformFeedback = nullptr;
PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC drawTransformFeedbackStream = nullptr;
PFNGLENDQUERYINDEXEDPROC endQueryIndexed = nullptr;
PFNGLGENTRANSFORMFEEDBACKSPROC genTransformFeedbacks = nullptr;
PFNGLGETACTIVESUBROUTINENAMEPROC getActiveSubroutineName = nullptr;
PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC getActiveSubroutineUniformName = nullptr;
PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC getActiveSubroutineUniformiv = nullptr;
PFNGLGETPROGRAMSTAGEIVPROC getProgramStageiv = nullptr;
PFNGLGETQUERYINDEXEDIVPROC getQueryIndexediv = nullptr;
PFNGLGETSUBROUTINEINDEXPROC getSubroutineIndex = nullptr;
PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC getSubroutineUniformLocation = nullptr;
PFNGLGETUNIFORMSUBROUTINEUIVPROC getUniformSubroutineuiv = nullptr;
PFNGLGETUNIFORMDVPROC getUniformdv = nullptr;
PFNGLISTRANSFORMFEEDBACKPROC isTransformFeedback = nullptr;
PFNGLMINSAMPLESHADINGPROC minSampleShading = nullptr;
PFNGLPATCHPARAMETERFVPROC patchParameterfv = nullptr;
PFNGLPATCHPARAMETERIPROC patchParameteri = nullptr;
PFNGLPAUSETRANSFORMFEEDBACKPROC pauseTransformFeedback = nullptr;
PFNGLRESUMETRANSFORMFEEDBACKPROC resumeTransformFeedback = nullptr;
PFNGLUNIFORM1DPROC uniform1d = nullptr;
PFNGLUNIFORM1DVPROC uniform1dv = nullptr;
PFNGLUNIFORM2DPROC uniform2d = nullptr;
PFNGLUNIFORM2DVPROC uniform2dv = nullptr;
PFNGLUNIFORM3DPROC uniform3d = nullptr;
PFNGLUNIFORM3DVPROC uniform3dv = nullptr;
PFNGLUNIFORM4DPROC uniform4d = nullptr;
PFNGLUNIFORM4DVPROC uniform4dv = nullptr;
PFNGLUNIFORMMATRIX2DVPROC uniformMatrix2dv = nullptr;
PFNGLUNIFORMMATRIX2X3DVPROC uniformMatrix2x3dv = nullptr;
PFNGLUNIFORMMATRIX2X4DVPROC uniformMatrix2x4dv = nullptr;
PFNGLUNIFORMMATRIX3DVPROC uniformMatrix3dv = nullptr;
PFNGLUNIFORMMATRIX3X2DVPROC uniformMatrix3x2dv = nullptr;
PFNGLUNIFORMMATRIX3X4DVPROC uniformMatrix3x4dv = nullptr;
PFNGLUNIFORMMATRIX4DVPROC uniformMatrix4dv = nullptr;
PFNGLUNIFORMMATRIX4X2DVPROC uniformMatrix4x2dv = nullptr;
PFNGLUNIFORMMATRIX4X3DVPROC uniformMatrix4x3dv = nullptr;
PFNGLUNIFORMSUBROUTINESUIVPROC uniformSubroutinesuiv = nullptr;
PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC getActiveSubroutineUniformiv = nullptr;
PFNGLGETPROGRAMSTAGEIVPROC getProgramStageiv = nullptr;
PFNGLGETQUERYINDEXEDIVPROC getQueryIndexediv = nullptr;
PFNGLGETSUBROUTINEINDEXPROC getSubroutineIndex = nullptr;
PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC getSubroutineUniformLocation = nullptr;
PFNGLGETUNIFORMSUBROUTINEUIVPROC getUniformSubroutineuiv = nullptr;
PFNGLGETUNIFORMDVPROC getUniformdv = nullptr;
PFNGLISTRANSFORMFEEDBACKPROC isTransformFeedback = nullptr;
PFNGLMINSAMPLESHADINGPROC minSampleShading = nullptr;
PFNGLPATCHPARAMETERFVPROC patchParameterfv = nullptr;
PFNGLPATCHPARAMETERIPROC patchParameteri = nullptr;
PFNGLPAUSETRANSFORMFEEDBACKPROC pauseTransformFeedback = nullptr;
PFNGLRESUMETRANSFORMFEEDBACKPROC resumeTransformFeedback = nullptr;
PFNGLUNIFORM1DPROC uniform1d = nullptr;
PFNGLUNIFORM1DVPROC uniform1dv = nullptr;
PFNGLUNIFORM2DPROC uniform2d = nullptr;
PFNGLUNIFORM2DVPROC uniform2dv = nullptr;
PFNGLUNIFORM3DPROC uniform3d = nullptr;
PFNGLUNIFORM3DVPROC uniform3dv = nullptr;
PFNGLUNIFORM4DPROC uniform4d = nullptr;
PFNGLUNIFORM4DVPROC uniform4dv = nullptr;
PFNGLUNIFORMMATRIX2DVPROC uniformMatrix2dv = nullptr;
PFNGLUNIFORMMATRIX2X3DVPROC uniformMatrix2x3dv = nullptr;
PFNGLUNIFORMMATRIX2X4DVPROC uniformMatrix2x4dv = nullptr;
PFNGLUNIFORMMATRIX3DVPROC uniformMatrix3dv = nullptr;
PFNGLUNIFORMMATRIX3X2DVPROC uniformMatrix3x2dv = nullptr;
PFNGLUNIFORMMATRIX3X4DVPROC uniformMatrix3x4dv = nullptr;
PFNGLUNIFORMMATRIX4DVPROC uniformMatrix4dv = nullptr;
PFNGLUNIFORMMATRIX4X2DVPROC uniformMatrix4x2dv = nullptr;
PFNGLUNIFORMMATRIX4X3DVPROC uniformMatrix4x3dv = nullptr;
PFNGLUNIFORMSUBROUTINESUIVPROC uniformSubroutinesuiv = nullptr;
// 4.1
PFNGLACTIVESHADERPROGRAMPROC activeShaderProgram = nullptr;
PFNGLBINDPROGRAMPIPELINEPROC bindProgramPipeline = nullptr;
PFNGLCLEARDEPTHFPROC clearDepthf = nullptr;
PFNGLCREATESHADERPROGRAMVPROC createShaderProgramv = nullptr;
PFNGLDELETEPROGRAMPIPELINESPROC deleteProgramPipelines = nullptr;
PFNGLDEPTHRANGEARRAYVPROC depthRangeArrayv = nullptr;
PFNGLDEPTHRANGEINDEXEDPROC depthRangeIndexed = nullptr;
PFNGLDEPTHRANGEFPROC depthRangef = nullptr;
PFNGLGENPROGRAMPIPELINESPROC genProgramPipelines = nullptr;
PFNGLGETDOUBLEI_VPROC getDoublei_v = nullptr;
PFNGLGETFLOATI_VPROC getFloati_v = nullptr;
PFNGLGETPROGRAMBINARYPROC getProgramBinary = nullptr;
PFNGLACTIVESHADERPROGRAMPROC activeShaderProgram = nullptr;
PFNGLBINDPROGRAMPIPELINEPROC bindProgramPipeline = nullptr;
PFNGLCLEARDEPTHFPROC clearDepthf = nullptr;
PFNGLCREATESHADERPROGRAMVPROC createShaderProgramv = nullptr;
PFNGLDELETEPROGRAMPIPELINESPROC deleteProgramPipelines = nullptr;
PFNGLDEPTHRANGEARRAYVPROC depthRangeArrayv = nullptr;
PFNGLDEPTHRANGEINDEXEDPROC depthRangeIndexed = nullptr;
PFNGLDEPTHRANGEFPROC depthRangef = nullptr;
PFNGLGENPROGRAMPIPELINESPROC genProgramPipelines = nullptr;
PFNGLGETDOUBLEI_VPROC getDoublei_v = nullptr;
PFNGLGETFLOATI_VPROC getFloati_v = nullptr;
PFNGLGETPROGRAMBINARYPROC getProgramBinary = nullptr;
PFNGLGETPROGRAMPIPELINEINFOLOGPROC getProgramPipelineInfoLog = nullptr;
PFNGLGETPROGRAMPIPELINEIVPROC getProgramPipelineiv = nullptr;
PFNGLGETSHADERPRECISIONFORMATPROC getShaderPrecisionFormat = nullptr;
PFNGLGETVERTEXATTRIBLDVPROC getVertexAttribLdv = nullptr;
PFNGLISPROGRAMPIPELINEPROC isProgramPipeline = nullptr;
PFNGLPROGRAMBINARYPROC programBinary = nullptr;
PFNGLPROGRAMPARAMETERIPROC programParameteri = nullptr;
PFNGLPROGRAMUNIFORM1DPROC programUniform1d = nullptr;
PFNGLPROGRAMUNIFORM1DVPROC programUniform1dv = nullptr;
PFNGLPROGRAMUNIFORM1FPROC programUniform1f = nullptr;
PFNGLPROGRAMUNIFORM1FVPROC programUniform1fv = nullptr;
PFNGLPROGRAMUNIFORM1IPROC programUniform1i = nullptr;
PFNGLPROGRAMUNIFORM1IVPROC programUniform1iv = nullptr;
PFNGLPROGRAMUNIFORM1UIPROC programUniform1ui = nullptr;
PFNGLPROGRAMUNIFORM1UIVPROC programUniform1uiv = nullptr;
PFNGLPROGRAMUNIFORM2DPROC programUniform2d = nullptr;
PFNGLPROGRAMUNIFORM2DVPROC programUniform2dv = nullptr;
PFNGLPROGRAMUNIFORM2FPROC programUniform2f = nullptr;
PFNGLPROGRAMUNIFORM2FVPROC programUniform2fv = nullptr;
PFNGLPROGRAMUNIFORM2IPROC programUniform2i = nullptr;
PFNGLPROGRAMUNIFORM2IVPROC programUniform2iv = nullptr;
PFNGLPROGRAMUNIFORM2UIPROC programUniform2ui = nullptr;
PFNGLPROGRAMUNIFORM2UIVPROC programUniform2uiv = nullptr;
PFNGLPROGRAMUNIFORM3DPROC programUniform3d = nullptr;
PFNGLPROGRAMUNIFORM3DVPROC programUniform3dv = nullptr;
PFNGLPROGRAMUNIFORM3FPROC programUniform3f = nullptr;
PFNGLPROGRAMUNIFORM3FVPROC programUniform3fv = nullptr;
PFNGLPROGRAMUNIFORM3IPROC programUniform3i = nullptr;
PFNGLPROGRAMUNIFORM3IVPROC programUniform3iv = nullptr;
PFNGLPROGRAMUNIFORM3UIPROC programUniform3ui = nullptr;
PFNGLPROGRAMUNIFORM3UIVPROC programUniform3uiv = nullptr;
PFNGLPROGRAMUNIFORM4DPROC programUniform4d = nullptr;
PFNGLPROGRAMUNIFORM4DVPROC programUniform4dv = nullptr;
PFNGLPROGRAMUNIFORM4FPROC programUniform4f = nullptr;
PFNGLPROGRAMUNIFORM4FVPROC programUniform4fv = nullptr;
PFNGLPROGRAMUNIFORM4IPROC programUniform4i = nullptr;
PFNGLPROGRAMUNIFORM4IVPROC programUniform4iv = nullptr;
PFNGLPROGRAMUNIFORM4UIPROC programUniform4ui = nullptr;
PFNGLPROGRAMUNIFORM4UIVPROC programUniform4uiv = nullptr;
PFNGLPROGRAMUNIFORMMATRIX2DVPROC programUniformMatrix2dv = nullptr;
PFNGLPROGRAMUNIFORMMATRIX2FVPROC programUniformMatrix2fv = nullptr;
PFNGLGETPROGRAMPIPELINEIVPROC getProgramPipelineiv = nullptr;
PFNGLGETSHADERPRECISIONFORMATPROC getShaderPrecisionFormat = nullptr;
PFNGLGETVERTEXATTRIBLDVPROC getVertexAttribLdv = nullptr;
PFNGLISPROGRAMPIPELINEPROC isProgramPipeline = nullptr;
PFNGLPROGRAMBINARYPROC programBinary = nullptr;
PFNGLPROGRAMPARAMETERIPROC programParameteri = nullptr;
PFNGLPROGRAMUNIFORM1DPROC programUniform1d = nullptr;
PFNGLPROGRAMUNIFORM1DVPROC programUniform1dv = nullptr;
PFNGLPROGRAMUNIFORM1FPROC programUniform1f = nullptr;
PFNGLPROGRAMUNIFORM1FVPROC programUniform1fv = nullptr;
PFNGLPROGRAMUNIFORM1IPROC programUniform1i = nullptr;
PFNGLPROGRAMUNIFORM1IVPROC programUniform1iv = nullptr;
PFNGLPROGRAMUNIFORM1UIPROC programUniform1ui = nullptr;
PFNGLPROGRAMUNIFORM1UIVPROC programUniform1uiv = nullptr;
PFNGLPROGRAMUNIFORM2DPROC programUniform2d = nullptr;
PFNGLPROGRAMUNIFORM2DVPROC programUniform2dv = nullptr;
PFNGLPROGRAMUNIFORM2FPROC programUniform2f = nullptr;
PFNGLPROGRAMUNIFORM2FVPROC programUniform2fv = nullptr;
PFNGLPROGRAMUNIFORM2IPROC programUniform2i = nullptr;
PFNGLPROGRAMUNIFORM2IVPROC programUniform2iv = nullptr;
PFNGLPROGRAMUNIFORM2UIPROC programUniform2ui = nullptr;
PFNGLPROGRAMUNIFORM2UIVPROC programUniform2uiv = nullptr;
PFNGLPROGRAMUNIFORM3DPROC programUniform3d = nullptr;
PFNGLPROGRAMUNIFORM3DVPROC programUniform3dv = nullptr;
PFNGLPROGRAMUNIFORM3FPROC programUniform3f = nullptr;
PFNGLPROGRAMUNIFORM3FVPROC programUniform3fv = nullptr;
PFNGLPROGRAMUNIFORM3IPROC programUniform3i = nullptr;
PFNGLPROGRAMUNIFORM3IVPROC programUniform3iv = nullptr;
PFNGLPROGRAMUNIFORM3UIPROC programUniform3ui = nullptr;
PFNGLPROGRAMUNIFORM3UIVPROC programUniform3uiv = nullptr;
PFNGLPROGRAMUNIFORM4DPROC programUniform4d = nullptr;
PFNGLPROGRAMUNIFORM4DVPROC programUniform4dv = nullptr;
PFNGLPROGRAMUNIFORM4FPROC programUniform4f = nullptr;
PFNGLPROGRAMUNIFORM4FVPROC programUniform4fv = nullptr;
PFNGLPROGRAMUNIFORM4IPROC programUniform4i = nullptr;
PFNGLPROGRAMUNIFORM4IVPROC programUniform4iv = nullptr;
PFNGLPROGRAMUNIFORM4UIPROC programUniform4ui = nullptr;
PFNGLPROGRAMUNIFORM4UIVPROC programUniform4uiv = nullptr;
PFNGLPROGRAMUNIFORMMATRIX2DVPROC programUniformMatrix2dv = nullptr;
PFNGLPROGRAMUNIFORMMATRIX2FVPROC programUniformMatrix2fv = nullptr;
PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC programUniformMatrix2x3dv = nullptr;
PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC programUniformMatrix2x3fv = nullptr;
PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC programUniformMatrix2x4dv = nullptr;
PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC programUniformMatrix2x4fv = nullptr;
PFNGLPROGRAMUNIFORMMATRIX3DVPROC programUniformMatrix3dv = nullptr;
PFNGLPROGRAMUNIFORMMATRIX3FVPROC programUniformMatrix3fv = nullptr;
PFNGLPROGRAMUNIFORMMATRIX3DVPROC programUniformMatrix3dv = nullptr;
PFNGLPROGRAMUNIFORMMATRIX3FVPROC programUniformMatrix3fv = nullptr;
PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC programUniformMatrix3x2dv = nullptr;
PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC programUniformMatrix3x2fv = nullptr;
PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC programUniformMatrix3x4dv = nullptr;
PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC programUniformMatrix3x4fv = nullptr;
PFNGLPROGRAMUNIFORMMATRIX4DVPROC programUniformMatrix4dv = nullptr;
PFNGLPROGRAMUNIFORMMATRIX4FVPROC programUniformMatrix4fv = nullptr;
PFNGLPROGRAMUNIFORMMATRIX4DVPROC programUniformMatrix4dv = nullptr;
PFNGLPROGRAMUNIFORMMATRIX4FVPROC programUniformMatrix4fv = nullptr;
PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC programUniformMatrix4x2dv = nullptr;
PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC programUniformMatrix4x2fv = nullptr;
PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC programUniformMatrix4x3dv = nullptr;
PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC programUniformMatrix4x3fv = nullptr;
PFNGLRELEASESHADERCOMPILERPROC releaseShaderCompiler = nullptr;
PFNGLSCISSORARRAYVPROC scissorArrayv = nullptr;
PFNGLSCISSORINDEXEDPROC scissorIndexed = nullptr;
PFNGLSCISSORINDEXEDVPROC scissorIndexedv = nullptr;
PFNGLSHADERBINARYPROC shaderBinary = nullptr;
PFNGLUSEPROGRAMSTAGESPROC useProgramStages = nullptr;
PFNGLVALIDATEPROGRAMPIPELINEPROC validateProgramPipeline = nullptr;
PFNGLVERTEXATTRIBL1DPROC vertexAttribL1d = nullptr;
PFNGLVERTEXATTRIBL1DVPROC vertexAttribL1dv = nullptr;
PFNGLVERTEXATTRIBL2DPROC vertexAttribL2d = nullptr;
PFNGLVERTEXATTRIBL2DVPROC vertexAttribL2dv = nullptr;
PFNGLVERTEXATTRIBL3DPROC vertexAttribL3d = nullptr;
PFNGLVERTEXATTRIBL3DVPROC vertexAttribL3dv = nullptr;
PFNGLVERTEXATTRIBL4DPROC vertexAttribL4d = nullptr;
PFNGLVERTEXATTRIBL4DVPROC vertexAttribL4dv = nullptr;
PFNGLVERTEXATTRIBLPOINTERPROC vertexAttribLPointer = nullptr;
PFNGLVIEWPORTARRAYVPROC viewportArrayv = nullptr;
PFNGLVIEWPORTINDEXEDFPROC viewportIndexedf = nullptr;
PFNGLVIEWPORTINDEXEDFVPROC viewportIndexedfv = nullptr;
PFNGLRELEASESHADERCOMPILERPROC releaseShaderCompiler = nullptr;
PFNGLSCISSORARRAYVPROC scissorArrayv = nullptr;
PFNGLSCISSORINDEXEDPROC scissorIndexed = nullptr;
PFNGLSCISSORINDEXEDVPROC scissorIndexedv = nullptr;
PFNGLSHADERBINARYPROC shaderBinary = nullptr;
PFNGLUSEPROGRAMSTAGESPROC useProgramStages = nullptr;
PFNGLVALIDATEPROGRAMPIPELINEPROC validateProgramPipeline = nullptr;
PFNGLVERTEXATTRIBL1DPROC vertexAttribL1d = nullptr;
PFNGLVERTEXATTRIBL1DVPROC vertexAttribL1dv = nullptr;
PFNGLVERTEXATTRIBL2DPROC vertexAttribL2d = nullptr;
PFNGLVERTEXATTRIBL2DVPROC vertexAttribL2dv = nullptr;
PFNGLVERTEXATTRIBL3DPROC vertexAttribL3d = nullptr;
PFNGLVERTEXATTRIBL3DVPROC vertexAttribL3dv = nullptr;
PFNGLVERTEXATTRIBL4DPROC vertexAttribL4d = nullptr;
PFNGLVERTEXATTRIBL4DVPROC vertexAttribL4dv = nullptr;
PFNGLVERTEXATTRIBLPOINTERPROC vertexAttribLPointer = nullptr;
PFNGLVIEWPORTARRAYVPROC viewportArrayv = nullptr;
PFNGLVIEWPORTINDEXEDFPROC viewportIndexedf = nullptr;
PFNGLVIEWPORTINDEXEDFVPROC viewportIndexedfv = nullptr;
// 4.2
PFNGLBINDIMAGETEXTUREPROC bindImageTexture = nullptr;
PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC drawArraysInstancedBaseInstance = nullptr;
PFNGLBINDIMAGETEXTUREPROC bindImageTexture = nullptr;
PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC drawArraysInstancedBaseInstance = nullptr;
PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC drawElementsInstancedBaseInstance = nullptr;
PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC
drawElementsInstancedBaseVertexBaseInstance = nullptr;
PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC drawTransformFeedbackInstanced = nullptr;
PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC drawElementsInstancedBaseVertexBaseInstance = nullptr;
PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC drawTransformFeedbackInstanced = nullptr;
PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC drawTransformFeedbackStreamInstanced = nullptr;
PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC getActiveAtomicCounterBufferiv = nullptr;
PFNGLGETINTERNALFORMATIVPROC getInternalformativ = nullptr;
PFNGLMEMORYBARRIERPROC memoryBarrier = nullptr;
PFNGLTEXSTORAGE1DPROC texStorage1D = nullptr;
PFNGLTEXSTORAGE2DPROC texStorage2D = nullptr;
PFNGLTEXSTORAGE3DPROC texStorage3D = nullptr;
PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC getActiveAtomicCounterBufferiv = nullptr;
PFNGLGETINTERNALFORMATIVPROC getInternalformativ = nullptr;
PFNGLMEMORYBARRIERPROC memoryBarrier = nullptr;
PFNGLTEXSTORAGE1DPROC texStorage1D = nullptr;
PFNGLTEXSTORAGE2DPROC texStorage2D = nullptr;
PFNGLTEXSTORAGE3DPROC texStorage3D = nullptr;
// 4.3
PFNGLBINDVERTEXBUFFERPROC bindVertexBuffer = nullptr;
PFNGLCLEARBUFFERDATAPROC clearBufferData = nullptr;
PFNGLCLEARBUFFERSUBDATAPROC clearBufferSubData = nullptr;
PFNGLCOPYIMAGESUBDATAPROC copyImageSubData = nullptr;
PFNGLCOVERAGEMODULATIONNVPROC coverageModulationNV = nullptr;
PFNGLDEBUGMESSAGECALLBACKPROC debugMessageCallback = nullptr;
PFNGLDEBUGMESSAGECONTROLPROC debugMessageControl = nullptr;
PFNGLDEBUGMESSAGEINSERTPROC debugMessageInsert = nullptr;
PFNGLDISPATCHCOMPUTEPROC dispatchCompute = nullptr;
PFNGLDISPATCHCOMPUTEINDIRECTPROC dispatchComputeIndirect = nullptr;
PFNGLFRAMEBUFFERPARAMETERIPROC framebufferParameteri = nullptr;
PFNGLGETDEBUGMESSAGELOGPROC getDebugMessageLog = nullptr;
PFNGLGETFRAMEBUFFERPARAMETERIVPROC getFramebufferParameteriv = nullptr;
PFNGLGETINTERNALFORMATI64VPROC getInternalformati64v = nullptr;
PFNGLGETOBJECTLABELPROC getObjectLabel = nullptr;
PFNGLGETOBJECTPTRLABELPROC getObjectPtrLabel = nullptr;
PFNGLGETPOINTERVPROC getPointerv = nullptr;
PFNGLGETPROGRAMINTERFACEIVPROC getProgramInterfaceiv = nullptr;
PFNGLGETPROGRAMRESOURCEINDEXPROC getProgramResourceIndex = nullptr;
PFNGLGETPROGRAMRESOURCELOCATIONPROC getProgramResourceLocation = nullptr;
PFNGLBINDVERTEXBUFFERPROC bindVertexBuffer = nullptr;
PFNGLCLEARBUFFERDATAPROC clearBufferData = nullptr;
PFNGLCLEARBUFFERSUBDATAPROC clearBufferSubData = nullptr;
PFNGLCOPYIMAGESUBDATAPROC copyImageSubData = nullptr;
PFNGLCOVERAGEMODULATIONNVPROC coverageModulationNV = nullptr;
PFNGLDEBUGMESSAGECALLBACKPROC debugMessageCallback = nullptr;
PFNGLDEBUGMESSAGECONTROLPROC debugMessageControl = nullptr;
PFNGLDEBUGMESSAGEINSERTPROC debugMessageInsert = nullptr;
PFNGLDISPATCHCOMPUTEPROC dispatchCompute = nullptr;
PFNGLDISPATCHCOMPUTEINDIRECTPROC dispatchComputeIndirect = nullptr;
PFNGLFRAMEBUFFERPARAMETERIPROC framebufferParameteri = nullptr;
PFNGLGETDEBUGMESSAGELOGPROC getDebugMessageLog = nullptr;
PFNGLGETFRAMEBUFFERPARAMETERIVPROC getFramebufferParameteriv = nullptr;
PFNGLGETINTERNALFORMATI64VPROC getInternalformati64v = nullptr;
PFNGLGETOBJECTLABELPROC getObjectLabel = nullptr;
PFNGLGETOBJECTPTRLABELPROC getObjectPtrLabel = nullptr;
PFNGLGETPOINTERVPROC getPointerv = nullptr;
PFNGLGETPROGRAMINTERFACEIVPROC getProgramInterfaceiv = nullptr;
PFNGLGETPROGRAMRESOURCEINDEXPROC getProgramResourceIndex = nullptr;
PFNGLGETPROGRAMRESOURCELOCATIONPROC getProgramResourceLocation = nullptr;
PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC getProgramResourceLocationIndex = nullptr;
PFNGLGETPROGRAMRESOURCENAMEPROC getProgramResourceName = nullptr;
PFNGLGETPROGRAMRESOURCEIVPROC getProgramResourceiv = nullptr;
PFNGLINVALIDATEBUFFERDATAPROC invalidateBufferData = nullptr;
PFNGLINVALIDATEBUFFERSUBDATAPROC invalidateBufferSubData = nullptr;
PFNGLINVALIDATEFRAMEBUFFERPROC invalidateFramebuffer = nullptr;
PFNGLINVALIDATESUBFRAMEBUFFERPROC invalidateSubFramebuffer = nullptr;
PFNGLINVALIDATETEXIMAGEPROC invalidateTexImage = nullptr;
PFNGLINVALIDATETEXSUBIMAGEPROC invalidateTexSubImage = nullptr;
PFNGLMULTIDRAWARRAYSINDIRECTPROC multiDrawArraysIndirect = nullptr;
PFNGLMULTIDRAWELEMENTSINDIRECTPROC multiDrawElementsIndirect = nullptr;
PFNGLOBJECTLABELPROC objectLabel = nullptr;
PFNGLOBJECTPTRLABELPROC objectPtrLabel = nullptr;
PFNGLPOPDEBUGGROUPPROC popDebugGroup = nullptr;
PFNGLPUSHDEBUGGROUPPROC pushDebugGroup = nullptr;
PFNGLSHADERSTORAGEBLOCKBINDINGPROC shaderStorageBlockBinding = nullptr;
PFNGLTEXBUFFERRANGEPROC texBufferRange = nullptr;
PFNGLTEXSTORAGE2DMULTISAMPLEPROC texStorage2DMultisample = nullptr;
PFNGLTEXSTORAGE3DMULTISAMPLEPROC texStorage3DMultisample = nullptr;
PFNGLTEXTUREVIEWPROC textureView = nullptr;
PFNGLVERTEXATTRIBBINDINGPROC vertexAttribBinding = nullptr;
PFNGLVERTEXATTRIBFORMATPROC vertexAttribFormat = nullptr;
PFNGLVERTEXATTRIBIFORMATPROC vertexAttribIFormat = nullptr;
PFNGLVERTEXATTRIBLFORMATPROC vertexAttribLFormat = nullptr;
PFNGLVERTEXBINDINGDIVISORPROC vertexBindingDivisor = nullptr;
PFNGLGETPROGRAMRESOURCENAMEPROC getProgramResourceName = nullptr;
PFNGLGETPROGRAMRESOURCEIVPROC getProgramResourceiv = nullptr;
PFNGLINVALIDATEBUFFERDATAPROC invalidateBufferData = nullptr;
PFNGLINVALIDATEBUFFERSUBDATAPROC invalidateBufferSubData = nullptr;
PFNGLINVALIDATEFRAMEBUFFERPROC invalidateFramebuffer = nullptr;
PFNGLINVALIDATESUBFRAMEBUFFERPROC invalidateSubFramebuffer = nullptr;
PFNGLINVALIDATETEXIMAGEPROC invalidateTexImage = nullptr;
PFNGLINVALIDATETEXSUBIMAGEPROC invalidateTexSubImage = nullptr;
PFNGLMULTIDRAWARRAYSINDIRECTPROC multiDrawArraysIndirect = nullptr;
PFNGLMULTIDRAWELEMENTSINDIRECTPROC multiDrawElementsIndirect = nullptr;
PFNGLOBJECTLABELPROC objectLabel = nullptr;
PFNGLOBJECTPTRLABELPROC objectPtrLabel = nullptr;
PFNGLPOPDEBUGGROUPPROC popDebugGroup = nullptr;
PFNGLPUSHDEBUGGROUPPROC pushDebugGroup = nullptr;
PFNGLSHADERSTORAGEBLOCKBINDINGPROC shaderStorageBlockBinding = nullptr;
PFNGLTEXBUFFERRANGEPROC texBufferRange = nullptr;
PFNGLTEXSTORAGE2DMULTISAMPLEPROC texStorage2DMultisample = nullptr;
PFNGLTEXSTORAGE3DMULTISAMPLEPROC texStorage3DMultisample = nullptr;
PFNGLTEXTUREVIEWPROC textureView = nullptr;
PFNGLVERTEXATTRIBBINDINGPROC vertexAttribBinding = nullptr;
PFNGLVERTEXATTRIBFORMATPROC vertexAttribFormat = nullptr;
PFNGLVERTEXATTRIBIFORMATPROC vertexAttribIFormat = nullptr;
PFNGLVERTEXATTRIBLFORMATPROC vertexAttribLFormat = nullptr;
PFNGLVERTEXBINDINGDIVISORPROC vertexBindingDivisor = nullptr;
// 4.4
PFNGLBINDBUFFERSBASEPROC bindBuffersBase = nullptr;
PFNGLBINDBUFFERSRANGEPROC bindBuffersRange = nullptr;
PFNGLBINDBUFFERSBASEPROC bindBuffersBase = nullptr;
PFNGLBINDBUFFERSRANGEPROC bindBuffersRange = nullptr;
PFNGLBINDIMAGETEXTURESPROC bindImageTextures = nullptr;
PFNGLBINDSAMPLERSPROC bindSamplers = nullptr;
PFNGLBINDTEXTURESPROC bindTextures = nullptr;
PFNGLBINDSAMPLERSPROC bindSamplers = nullptr;
PFNGLBINDTEXTURESPROC bindTextures = nullptr;
PFNGLBINDVERTEXBUFFERSPROC bindVertexBuffers = nullptr;
PFNGLBUFFERSTORAGEPROC bufferStorage = nullptr;
PFNGLCLEARTEXIMAGEPROC clearTexImage = nullptr;
PFNGLCLEARTEXSUBIMAGEPROC clearTexSubImage = nullptr;
PFNGLBUFFERSTORAGEPROC bufferStorage = nullptr;
PFNGLCLEARTEXIMAGEPROC clearTexImage = nullptr;
PFNGLCLEARTEXSUBIMAGEPROC clearTexSubImage = nullptr;
// 4.5
PFNGLBINDTEXTUREUNITPROC bindTextureUnit = nullptr;
PFNGLBLITNAMEDFRAMEBUFFERPROC blitNamedFramebuffer = nullptr;
PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC checkNamedFramebufferStatus = nullptr;
PFNGLCLEARNAMEDBUFFERDATAPROC clearNamedBufferData = nullptr;
PFNGLCLEARNAMEDBUFFERSUBDATAPROC clearNamedBufferSubData = nullptr;
PFNGLCLEARNAMEDFRAMEBUFFERFIPROC clearNamedFramebufferfi = nullptr;
PFNGLCLEARNAMEDFRAMEBUFFERFVPROC clearNamedFramebufferfv = nullptr;
PFNGLCLEARNAMEDFRAMEBUFFERIVPROC clearNamedFramebufferiv = nullptr;
PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC clearNamedFramebufferuiv = nullptr;
PFNGLCLIPCONTROLPROC clipControl = nullptr;
PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC compressedTextureSubImage1D = nullptr;
PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC compressedTextureSubImage2D = nullptr;
PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC compressedTextureSubImage3D = nullptr;
PFNGLCOPYNAMEDBUFFERSUBDATAPROC copyNamedBufferSubData = nullptr;
PFNGLCOPYTEXTURESUBIMAGE1DPROC copyTextureSubImage1D = nullptr;
PFNGLCOPYTEXTURESUBIMAGE2DPROC copyTextureSubImage2D = nullptr;
PFNGLCOPYTEXTURESUBIMAGE3DPROC copyTextureSubImage3D = nullptr;
PFNGLCREATEBUFFERSPROC createBuffers = nullptr;
PFNGLCREATEFRAMEBUFFERSPROC createFramebuffers = nullptr;
PFNGLCREATEPROGRAMPIPELINESPROC createProgramPipelines = nullptr;
PFNGLCREATEQUERIESPROC createQueries = nullptr;
PFNGLCREATERENDERBUFFERSPROC createRenderbuffers = nullptr;
PFNGLCREATESAMPLERSPROC createSamplers = nullptr;
PFNGLCREATETEXTURESPROC createTextures = nullptr;
PFNGLCREATETRANSFORMFEEDBACKSPROC createTransformFeedbacks = nullptr;
PFNGLCREATEVERTEXARRAYSPROC createVertexArrays = nullptr;
PFNGLDISABLEVERTEXARRAYATTRIBPROC disableVertexArrayAttrib = nullptr;
PFNGLENABLEVERTEXARRAYATTRIBPROC enableVertexArrayAttrib = nullptr;
PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC flushMappedNamedBufferRange = nullptr;
PFNGLGENERATETEXTUREMIPMAPPROC generateTextureMipmap = nullptr;
PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC getCompressedTextureImage = nullptr;
PFNGLBINDTEXTUREUNITPROC bindTextureUnit = nullptr;
PFNGLBLITNAMEDFRAMEBUFFERPROC blitNamedFramebuffer = nullptr;
PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC checkNamedFramebufferStatus = nullptr;
PFNGLCLEARNAMEDBUFFERDATAPROC clearNamedBufferData = nullptr;
PFNGLCLEARNAMEDBUFFERSUBDATAPROC clearNamedBufferSubData = nullptr;
PFNGLCLEARNAMEDFRAMEBUFFERFIPROC clearNamedFramebufferfi = nullptr;
PFNGLCLEARNAMEDFRAMEBUFFERFVPROC clearNamedFramebufferfv = nullptr;
PFNGLCLEARNAMEDFRAMEBUFFERIVPROC clearNamedFramebufferiv = nullptr;
PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC clearNamedFramebufferuiv = nullptr;
PFNGLCLIPCONTROLPROC clipControl = nullptr;
PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC compressedTextureSubImage1D = nullptr;
PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC compressedTextureSubImage2D = nullptr;
PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC compressedTextureSubImage3D = nullptr;
PFNGLCOPYNAMEDBUFFERSUBDATAPROC copyNamedBufferSubData = nullptr;
PFNGLCOPYTEXTURESUBIMAGE1DPROC copyTextureSubImage1D = nullptr;
PFNGLCOPYTEXTURESUBIMAGE2DPROC copyTextureSubImage2D = nullptr;
PFNGLCOPYTEXTURESUBIMAGE3DPROC copyTextureSubImage3D = nullptr;
PFNGLCREATEBUFFERSPROC createBuffers = nullptr;
PFNGLCREATEFRAMEBUFFERSPROC createFramebuffers = nullptr;
PFNGLCREATEPROGRAMPIPELINESPROC createProgramPipelines = nullptr;
PFNGLCREATEQUERIESPROC createQueries = nullptr;
PFNGLCREATERENDERBUFFERSPROC createRenderbuffers = nullptr;
PFNGLCREATESAMPLERSPROC createSamplers = nullptr;
PFNGLCREATETEXTURESPROC createTextures = nullptr;
PFNGLCREATETRANSFORMFEEDBACKSPROC createTransformFeedbacks = nullptr;
PFNGLCREATEVERTEXARRAYSPROC createVertexArrays = nullptr;
PFNGLDISABLEVERTEXARRAYATTRIBPROC disableVertexArrayAttrib = nullptr;
PFNGLENABLEVERTEXARRAYATTRIBPROC enableVertexArrayAttrib = nullptr;
PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC flushMappedNamedBufferRange = nullptr;
PFNGLGENERATETEXTUREMIPMAPPROC generateTextureMipmap = nullptr;
PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC getCompressedTextureImage = nullptr;
PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC getCompressedTextureSubImage = nullptr;
PFNGLGETGRAPHICSRESETSTATUSPROC getGraphicsResetStatus = nullptr;
PFNGLGETNAMEDBUFFERPARAMETERI64VPROC getNamedBufferParameteri64v = nullptr;
PFNGLGETNAMEDBUFFERPARAMETERIVPROC getNamedBufferParameteriv = nullptr;
PFNGLGETNAMEDBUFFERPOINTERVPROC getNamedBufferPointerv = nullptr;
PFNGLGETNAMEDBUFFERSUBDATAPROC getNamedBufferSubData = nullptr;
PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC getNamedFramebufferAttachmentParameteriv =
nullptr;
PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC getNamedFramebufferParameteriv = nullptr;
PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC getNamedRenderbufferParameteriv = nullptr;
PFNGLGETQUERYBUFFEROBJECTI64VPROC getQueryBufferObjecti64v = nullptr;
PFNGLGETQUERYBUFFEROBJECTIVPROC getQueryBufferObjectiv = nullptr;
PFNGLGETQUERYBUFFEROBJECTUI64VPROC getQueryBufferObjectui64v = nullptr;
PFNGLGETQUERYBUFFEROBJECTUIVPROC getQueryBufferObjectuiv = nullptr;
PFNGLGETTEXTUREIMAGEPROC getTextureImage = nullptr;
PFNGLGETTEXTURELEVELPARAMETERFVPROC getTextureLevelParameterfv = nullptr;
PFNGLGETTEXTURELEVELPARAMETERIVPROC getTextureLevelParameteriv = nullptr;
PFNGLGETTEXTUREPARAMETERIIVPROC getTextureParameterIiv = nullptr;
PFNGLGETTEXTUREPARAMETERIUIVPROC getTextureParameterIuiv = nullptr;
PFNGLGETTEXTUREPARAMETERFVPROC getTextureParameterfv = nullptr;
PFNGLGETTEXTUREPARAMETERIVPROC getTextureParameteriv = nullptr;
PFNGLGETTEXTURESUBIMAGEPROC getTextureSubImage = nullptr;
PFNGLGETTRANSFORMFEEDBACKI64_VPROC getTransformFeedbacki64_v = nullptr;
PFNGLGETTRANSFORMFEEDBACKI_VPROC getTransformFeedbacki_v = nullptr;
PFNGLGETTRANSFORMFEEDBACKIVPROC getTransformFeedbackiv = nullptr;
PFNGLGETVERTEXARRAYINDEXED64IVPROC getVertexArrayIndexed64iv = nullptr;
PFNGLGETVERTEXARRAYINDEXEDIVPROC getVertexArrayIndexediv = nullptr;
PFNGLGETVERTEXARRAYIVPROC getVertexArrayiv = nullptr;
PFNGLGETNCOMPRESSEDTEXIMAGEPROC getnCompressedTexImage = nullptr;
PFNGLGETNTEXIMAGEPROC getnTexImage = nullptr;
PFNGLGETNUNIFORMDVPROC getnUniformdv = nullptr;
PFNGLGETNUNIFORMFVPROC getnUniformfv = nullptr;
PFNGLGETNUNIFORMIVPROC getnUniformiv = nullptr;
PFNGLGETNUNIFORMUIVPROC getnUniformuiv = nullptr;
PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC invalidateNamedFramebufferData = nullptr;
PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC invalidateNamedFramebufferSubData = nullptr;
PFNGLMAPNAMEDBUFFERPROC mapNamedBuffer = nullptr;
PFNGLMAPNAMEDBUFFERRANGEPROC mapNamedBufferRange = nullptr;
PFNGLMEMORYBARRIERBYREGIONPROC memoryBarrierByRegion = nullptr;
PFNGLNAMEDBUFFERDATAPROC namedBufferData = nullptr;
PFNGLNAMEDBUFFERSTORAGEPROC namedBufferStorage = nullptr;
PFNGLNAMEDBUFFERSUBDATAPROC namedBufferSubData = nullptr;
PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC namedFramebufferDrawBuffer = nullptr;
PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC namedFramebufferDrawBuffers = nullptr;
PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC namedFramebufferParameteri = nullptr;
PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC namedFramebufferReadBuffer = nullptr;
PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC namedFramebufferRenderbuffer = nullptr;
PFNGLNAMEDFRAMEBUFFERTEXTUREPROC namedFramebufferTexture = nullptr;
PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC namedFramebufferTextureLayer = nullptr;
PFNGLNAMEDRENDERBUFFERSTORAGEPROC namedRenderbufferStorage = nullptr;
PFNGLGETGRAPHICSRESETSTATUSPROC getGraphicsResetStatus = nullptr;
PFNGLGETNAMEDBUFFERPARAMETERI64VPROC getNamedBufferParameteri64v = nullptr;
PFNGLGETNAMEDBUFFERPARAMETERIVPROC getNamedBufferParameteriv = nullptr;
PFNGLGETNAMEDBUFFERPOINTERVPROC getNamedBufferPointerv = nullptr;
PFNGLGETNAMEDBUFFERSUBDATAPROC getNamedBufferSubData = nullptr;
PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC getNamedFramebufferAttachmentParameteriv = nullptr;
PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC getNamedFramebufferParameteriv = nullptr;
PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC getNamedRenderbufferParameteriv = nullptr;
PFNGLGETQUERYBUFFEROBJECTI64VPROC getQueryBufferObjecti64v = nullptr;
PFNGLGETQUERYBUFFEROBJECTIVPROC getQueryBufferObjectiv = nullptr;
PFNGLGETQUERYBUFFEROBJECTUI64VPROC getQueryBufferObjectui64v = nullptr;
PFNGLGETQUERYBUFFEROBJECTUIVPROC getQueryBufferObjectuiv = nullptr;
PFNGLGETTEXTUREIMAGEPROC getTextureImage = nullptr;
PFNGLGETTEXTURELEVELPARAMETERFVPROC getTextureLevelParameterfv = nullptr;
PFNGLGETTEXTURELEVELPARAMETERIVPROC getTextureLevelParameteriv = nullptr;
PFNGLGETTEXTUREPARAMETERIIVPROC getTextureParameterIiv = nullptr;
PFNGLGETTEXTUREPARAMETERIUIVPROC getTextureParameterIuiv = nullptr;
PFNGLGETTEXTUREPARAMETERFVPROC getTextureParameterfv = nullptr;
PFNGLGETTEXTUREPARAMETERIVPROC getTextureParameteriv = nullptr;
PFNGLGETTEXTURESUBIMAGEPROC getTextureSubImage = nullptr;
PFNGLGETTRANSFORMFEEDBACKI64_VPROC getTransformFeedbacki64_v = nullptr;
PFNGLGETTRANSFORMFEEDBACKI_VPROC getTransformFeedbacki_v = nullptr;
PFNGLGETTRANSFORMFEEDBACKIVPROC getTransformFeedbackiv = nullptr;
PFNGLGETVERTEXARRAYINDEXED64IVPROC getVertexArrayIndexed64iv = nullptr;
PFNGLGETVERTEXARRAYINDEXEDIVPROC getVertexArrayIndexediv = nullptr;
PFNGLGETVERTEXARRAYIVPROC getVertexArrayiv = nullptr;
PFNGLGETNCOMPRESSEDTEXIMAGEPROC getnCompressedTexImage = nullptr;
PFNGLGETNTEXIMAGEPROC getnTexImage = nullptr;
PFNGLGETNUNIFORMDVPROC getnUniformdv = nullptr;
PFNGLGETNUNIFORMFVPROC getnUniformfv = nullptr;
PFNGLGETNUNIFORMIVPROC getnUniformiv = nullptr;
PFNGLGETNUNIFORMUIVPROC getnUniformuiv = nullptr;
PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC invalidateNamedFramebufferData = nullptr;
PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC invalidateNamedFramebufferSubData = nullptr;
PFNGLMAPNAMEDBUFFERPROC mapNamedBuffer = nullptr;
PFNGLMAPNAMEDBUFFERRANGEPROC mapNamedBufferRange = nullptr;
PFNGLMEMORYBARRIERBYREGIONPROC memoryBarrierByRegion = nullptr;
PFNGLNAMEDBUFFERDATAPROC namedBufferData = nullptr;
PFNGLNAMEDBUFFERSTORAGEPROC namedBufferStorage = nullptr;
PFNGLNAMEDBUFFERSUBDATAPROC namedBufferSubData = nullptr;
PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC namedFramebufferDrawBuffer = nullptr;
PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC namedFramebufferDrawBuffers = nullptr;
PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC namedFramebufferParameteri = nullptr;
PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC namedFramebufferReadBuffer = nullptr;
PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC namedFramebufferRenderbuffer = nullptr;
PFNGLNAMEDFRAMEBUFFERTEXTUREPROC namedFramebufferTexture = nullptr;
PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC namedFramebufferTextureLayer = nullptr;
PFNGLNAMEDRENDERBUFFERSTORAGEPROC namedRenderbufferStorage = nullptr;
PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC namedRenderbufferStorageMultisample = nullptr;
PFNGLREADNPIXELSPROC readnPixels = nullptr;
PFNGLTEXTUREBARRIERPROC textureBarrier = nullptr;
PFNGLTEXTUREBUFFERPROC textureBuffer = nullptr;
PFNGLTEXTUREBUFFERRANGEPROC textureBufferRange = nullptr;
PFNGLTEXTUREPARAMETERIIVPROC textureParameterIiv = nullptr;
PFNGLTEXTUREPARAMETERIUIVPROC textureParameterIuiv = nullptr;
PFNGLTEXTUREPARAMETERFPROC textureParameterf = nullptr;
PFNGLTEXTUREPARAMETERFVPROC textureParameterfv = nullptr;
PFNGLTEXTUREPARAMETERIPROC textureParameteri = nullptr;
PFNGLTEXTUREPARAMETERIVPROC textureParameteriv = nullptr;
PFNGLTEXTURESTORAGE1DPROC textureStorage1D = nullptr;
PFNGLTEXTURESTORAGE2DPROC textureStorage2D = nullptr;
PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC textureStorage2DMultisample = nullptr;
PFNGLTEXTURESTORAGE3DPROC textureStorage3D = nullptr;
PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC textureStorage3DMultisample = nullptr;
PFNGLTEXTURESUBIMAGE1DPROC textureSubImage1D = nullptr;
PFNGLTEXTURESUBIMAGE2DPROC textureSubImage2D = nullptr;
PFNGLTEXTURESUBIMAGE3DPROC textureSubImage3D = nullptr;
PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC transformFeedbackBufferBase = nullptr;
PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC transformFeedbackBufferRange = nullptr;
PFNGLUNMAPNAMEDBUFFERPROC unmapNamedBuffer = nullptr;
PFNGLVERTEXARRAYATTRIBBINDINGPROC vertexArrayAttribBinding = nullptr;
PFNGLVERTEXARRAYATTRIBFORMATPROC vertexArrayAttribFormat = nullptr;
PFNGLVERTEXARRAYATTRIBIFORMATPROC vertexArrayAttribIFormat = nullptr;
PFNGLVERTEXARRAYATTRIBLFORMATPROC vertexArrayAttribLFormat = nullptr;
PFNGLVERTEXARRAYBINDINGDIVISORPROC vertexArrayBindingDivisor = nullptr;
PFNGLVERTEXARRAYELEMENTBUFFERPROC vertexArrayElementBuffer = nullptr;
PFNGLVERTEXARRAYVERTEXBUFFERPROC vertexArrayVertexBuffer = nullptr;
PFNGLVERTEXARRAYVERTEXBUFFERSPROC vertexArrayVertexBuffers = nullptr;
PFNGLREADNPIXELSPROC readnPixels = nullptr;
PFNGLTEXTUREBARRIERPROC textureBarrier = nullptr;
PFNGLTEXTUREBUFFERPROC textureBuffer = nullptr;
PFNGLTEXTUREBUFFERRANGEPROC textureBufferRange = nullptr;
PFNGLTEXTUREPARAMETERIIVPROC textureParameterIiv = nullptr;
PFNGLTEXTUREPARAMETERIUIVPROC textureParameterIuiv = nullptr;
PFNGLTEXTUREPARAMETERFPROC textureParameterf = nullptr;
PFNGLTEXTUREPARAMETERFVPROC textureParameterfv = nullptr;
PFNGLTEXTUREPARAMETERIPROC textureParameteri = nullptr;
PFNGLTEXTUREPARAMETERIVPROC textureParameteriv = nullptr;
PFNGLTEXTURESTORAGE1DPROC textureStorage1D = nullptr;
PFNGLTEXTURESTORAGE2DPROC textureStorage2D = nullptr;
PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC textureStorage2DMultisample = nullptr;
PFNGLTEXTURESTORAGE3DPROC textureStorage3D = nullptr;
PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC textureStorage3DMultisample = nullptr;
PFNGLTEXTURESUBIMAGE1DPROC textureSubImage1D = nullptr;
PFNGLTEXTURESUBIMAGE2DPROC textureSubImage2D = nullptr;
PFNGLTEXTURESUBIMAGE3DPROC textureSubImage3D = nullptr;
PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC transformFeedbackBufferBase = nullptr;
PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC transformFeedbackBufferRange = nullptr;
PFNGLUNMAPNAMEDBUFFERPROC unmapNamedBuffer = nullptr;
PFNGLVERTEXARRAYATTRIBBINDINGPROC vertexArrayAttribBinding = nullptr;
PFNGLVERTEXARRAYATTRIBFORMATPROC vertexArrayAttribFormat = nullptr;
PFNGLVERTEXARRAYATTRIBIFORMATPROC vertexArrayAttribIFormat = nullptr;
PFNGLVERTEXARRAYATTRIBLFORMATPROC vertexArrayAttribLFormat = nullptr;
PFNGLVERTEXARRAYBINDINGDIVISORPROC vertexArrayBindingDivisor = nullptr;
PFNGLVERTEXARRAYELEMENTBUFFERPROC vertexArrayElementBuffer = nullptr;
PFNGLVERTEXARRAYVERTEXBUFFERPROC vertexArrayVertexBuffer = nullptr;
PFNGLVERTEXARRAYVERTEXBUFFERSPROC vertexArrayVertexBuffers = nullptr;
// ES 3.2
PFNGLBLENDBARRIERPROC blendBarrier = nullptr;
PFNGLBLENDBARRIERPROC blendBarrier = nullptr;
PFNGLPRIMITIVEBOUNDINGBOXPROC primitiveBoundingBox = nullptr;
// GL_EXT_debug_marker
PFNGLINSERTEVENTMARKEREXTPROC insertEventMarkerEXT = nullptr;
PFNGLPOPGROUPMARKEREXTPROC popGroupMarkerEXT = nullptr;
PFNGLPUSHGROUPMARKEREXTPROC pushGroupMarkerEXT = nullptr;
PFNGLPOPGROUPMARKEREXTPROC popGroupMarkerEXT = nullptr;
PFNGLPUSHGROUPMARKEREXTPROC pushGroupMarkerEXT = nullptr;
// GL_EXT_discard_framebuffer
PFNGLDISCARDFRAMEBUFFEREXTPROC discardFramebufferEXT = nullptr;
......@@ -744,32 +743,33 @@ class DispatchTableGL : angle::NonCopyable
// GL_OES_EGL_image
PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC eGLImageTargetRenderbufferStorageOES = nullptr;
PFNGLEGLIMAGETARGETTEXTURE2DOESPROC eGLImageTargetTexture2DOES = nullptr;
PFNGLEGLIMAGETARGETTEXTURE2DOESPROC eGLImageTargetTexture2DOES = nullptr;
// NV_path_rendering (originally written against 3.2 compatibility profile)
PFNGLCOVERFILLPATHINSTANCEDNVPROC coverFillPathInstancedNV = nullptr;
PFNGLCOVERFILLPATHNVPROC coverFillPathNV = nullptr;
PFNGLCOVERSTROKEPATHINSTANCEDNVPROC coverStrokePathInstancedNV = nullptr;
PFNGLCOVERSTROKEPATHNVPROC coverStrokePathNV = nullptr;
PFNGLDELETEPATHSNVPROC deletePathsNV = nullptr;
PFNGLGENPATHSNVPROC genPathsNV = nullptr;
PFNGLGETPATHPARAMETERFVNVPROC getPathParameterfvNV = nullptr;
PFNGLGETPATHPARAMETERIVNVPROC getPathParameterivNV = nullptr;
PFNGLISPATHNVPROC isPathNV = nullptr;
PFNGLMATRIXLOADFEXTPROC matrixLoadfEXT = nullptr;
PFNGLPATHCOMMANDSNVPROC pathCommandsNV = nullptr;
PFNGLPATHPARAMETERFNVPROC pathParameterfNV = nullptr;
PFNGLPATHPARAMETERINVPROC pathParameteriNV = nullptr;
PFNGLPATHSTENCILFUNCNVPROC pathStencilFuncNV = nullptr;
PFNGLPROGRAMPATHFRAGMENTINPUTGENNVPROC programPathFragmentInputGenNV = nullptr;
PFNGLSTENCILFILLPATHINSTANCEDNVPROC stencilFillPathInstancedNV = nullptr;
PFNGLSTENCILFILLPATHNVPROC stencilFillPathNV = nullptr;
PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC stencilStrokePathInstancedNV = nullptr;
PFNGLSTENCILSTROKEPATHNVPROC stencilStrokePathNV = nullptr;
PFNGLSTENCILTHENCOVERFILLPATHINSTANCEDNVPROC stencilThenCoverFillPathInstancedNV = nullptr;
PFNGLSTENCILTHENCOVERFILLPATHNVPROC stencilThenCoverFillPathNV = nullptr;
PFNGLCOVERFILLPATHINSTANCEDNVPROC coverFillPathInstancedNV = nullptr;
PFNGLCOVERFILLPATHNVPROC coverFillPathNV = nullptr;
PFNGLCOVERSTROKEPATHINSTANCEDNVPROC coverStrokePathInstancedNV = nullptr;
PFNGLCOVERSTROKEPATHNVPROC coverStrokePathNV = nullptr;
PFNGLDELETEPATHSNVPROC deletePathsNV = nullptr;
PFNGLGENPATHSNVPROC genPathsNV = nullptr;
PFNGLGETPATHPARAMETERFVNVPROC getPathParameterfvNV = nullptr;
PFNGLGETPATHPARAMETERIVNVPROC getPathParameterivNV = nullptr;
PFNGLISPATHNVPROC isPathNV = nullptr;
PFNGLMATRIXLOADFEXTPROC matrixLoadfEXT = nullptr;
PFNGLPATHCOMMANDSNVPROC pathCommandsNV = nullptr;
PFNGLPATHPARAMETERFNVPROC pathParameterfNV = nullptr;
PFNGLPATHPARAMETERINVPROC pathParameteriNV = nullptr;
PFNGLPATHSTENCILFUNCNVPROC pathStencilFuncNV = nullptr;
PFNGLPROGRAMPATHFRAGMENTINPUTGENNVPROC programPathFragmentInputGenNV = nullptr;
PFNGLSTENCILFILLPATHINSTANCEDNVPROC stencilFillPathInstancedNV = nullptr;
PFNGLSTENCILFILLPATHNVPROC stencilFillPathNV = nullptr;
PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC stencilStrokePathInstancedNV = nullptr;
PFNGLSTENCILSTROKEPATHNVPROC stencilStrokePathNV = nullptr;
PFNGLSTENCILTHENCOVERFILLPATHINSTANCEDNVPROC stencilThenCoverFillPathInstancedNV = nullptr;
PFNGLSTENCILTHENCOVERFILLPATHNVPROC stencilThenCoverFillPathNV = nullptr;
PFNGLSTENCILTHENCOVERSTROKEPATHINSTANCEDNVPROC stencilThenCoverStrokePathInstancedNV = nullptr;
PFNGLSTENCILTHENCOVERSTROKEPATHNVPROC stencilThenCoverStrokePathNV = nullptr;
PFNGLSTENCILTHENCOVERSTROKEPATHNVPROC stencilThenCoverStrokePathNV = nullptr;
// clang-format on
DispatchTableGL();
virtual ~DispatchTableGL() = default;
......
......@@ -53,7 +53,9 @@ namespace rx
class DispatchTableGL : angle::NonCopyable
{{
public:
// clang-format off
{table_data}
// clang-format on
DispatchTableGL();
virtual ~DispatchTableGL() = default;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment