glslang-zig/glslang/MachineIndependent
Niklas Haas 4302d51868 Don't release global mutex before initialize/finalize is done
Otherwise this can race with other threads for access to the fields it's
supposed to be initializing/finalizing.

For example, imagine another thread is calling ShInitialize() while the
first thread is calling ShFinalize() - the finalize function would
destroy the state at the same time as the initialize function is trying
to initialize it.

Holding on to the global lock for the entire function prevents all of
these failure modes.
2021-11-08 15:00:28 +01:00
..
preprocessor Remove unused variable Num_string_literal_EXTs 2021-06-17 11:10:10 -07:00
attribute.cpp Fix GCC warnings 2021-08-31 16:40:35 -06:00
attribute.h Implement GL_EXT_subgroup_uniform_control_flow. 2021-06-07 10:21:05 -04:00
Constant.cpp Fix GCC warnings 2021-08-31 16:40:35 -06:00
gl_types.h 1. fix macro definition value for unsinged-int64-vector, according to kronos spec at https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_gpu_shader_int64.txt; 2. fix typo in reflection 2021-03-15 16:54:31 +08:00
glslang.m4 Make modifications of GL_EXT_spirv_intrinsics 2021-10-15 20:22:36 +08:00
glslang.y Make modifications of GL_EXT_spirv_intrinsics 2021-10-15 20:22:36 +08:00
glslang_tab.cpp Make modifications of GL_EXT_spirv_intrinsics 2021-10-15 20:22:36 +08:00
glslang_tab.cpp.h Implement the extension GL_EXT_spirv_intrinsics 2021-06-09 14:18:06 +08:00
InfoSink.cpp Non-functional: White space after "//", mostly for copyrights. 2017-01-06 12:34:14 -07:00
Initialize.cpp Remove support for double trig, pow, exp and log 2021-10-27 11:59:26 -06:00
Initialize.h Comment out params instead of removing 2019-09-11 08:59:47 -04:00
Intermediate.cpp Perform update_precision on constructors and converts 2021-09-02 14:18:51 -06:00
intermOut.cpp Add support for GL_NV_ray_tracing_motion_blur. 2021-08-10 10:40:28 -07:00
IntermTraverse.cpp 8. io mapping refine & qualifier member check & resolver expand (#2396) 2020-11-03 13:34:19 -07:00
iomapper.cpp Skip auto decorating shader record buffer blocks with 'set' and 2021-10-19 20:59:35 -07:00
iomapper.h rename member variable for clarity 2021-09-29 15:31:28 -04:00
limits.cpp Fix issue for new unique id system. Add level bits to help verifying symbols and split symbol tables. 2021-02-15 20:35:20 +08:00
linkValidate.cpp Fix cross-stage check to allow subsequent stage to use previous stage's binding 2021-10-13 14:57:06 -07:00
LiveTraverser.h also search global variables assignment for live variables 2020-07-20 18:43:00 -04:00
localintermediate.h Merge pull request #2716 from greg-lunarg/i2689 2021-08-01 00:13:10 -06:00
parseConst.cpp Fix mat4x2(scalar) constructor. 2021-05-18 12:13:41 -04:00
ParseContextBase.cpp avoid growing the global uniform block with duplicates 2021-09-15 23:39:02 -04:00
ParseHelper.cpp Merge pull request #2712 from ZhiqianXia/switch_error 2021-11-01 10:19:09 -06:00
ParseHelper.h Make modifications of GL_EXT_spirv_intrinsics 2021-10-15 20:22:36 +08:00
parseVersions.h Fix #2366, fix #2358, correctly separate out numerical feature checking 2020-08-14 08:40:06 -06:00
pch.h Use precompiled headers for some glslang projects 2018-10-31 15:38:08 -05:00
PoolAlloc.cpp Revert changes that migrate to thread_local. 2020-07-31 07:13:24 +01:00
propagateNoContraction.cpp Make file formatting comply with POSIX and Unix standards 2020-03-21 03:20:25 -04:00
propagateNoContraction.h [lumped builds] Add include guards (#pragma once) to header files that did not have any. 2017-05-10 16:58:38 +03:00
reflection.cpp 1. fix macro definition value for unsinged-int64-vector, according to kronos spec at https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_gpu_shader_int64.txt; 2. fix typo in reflection 2021-03-15 16:54:31 +08:00
reflection.h Use GLSLANG_ANGLE to strip features to what ANGLE requires 2020-07-31 12:44:49 -04:00
RemoveTree.cpp Non-functional: White space after "//", mostly for copyrights. 2017-01-06 12:34:14 -07:00
RemoveTree.h [lumped builds] Add include guards (#pragma once) to header files that did not have any. 2017-05-10 16:58:38 +03:00
Scan.cpp Implement the extension GL_EXT_spirv_intrinsics 2021-06-09 14:18:06 +08:00
Scan.h SPV: Fix #1575, fix #1593: Support HLSL #line 2018-12-07 17:36:33 -07:00
ScanContext.h GL_EXT_buffer_reference 2019-01-07 12:36:13 -06:00
ShaderLang.cpp Don't release global mutex before initialize/finalize is done 2021-11-08 15:00:28 +01:00
SpirvIntrinsics.cpp Make modifications of GL_EXT_spirv_intrinsics 2021-10-15 20:22:36 +08:00
SymbolTable.cpp GL_EXT_vulkan_glsl_relaxed - retarget gl_VertexID to gl_VertexIndex 2021-09-16 17:40:49 -04:00
SymbolTable.h GL_EXT_vulkan_glsl_relaxed - retarget gl_VertexID to gl_VertexIndex 2021-09-16 17:40:49 -04:00
Versions.cpp Add the GL_EXT_shader_integer_mix Preamble for glsl. 2021-11-02 14:39:28 +08:00
Versions.h Merge pull request #2718 from ZhiqianXia/AtomicOpsARB 2021-08-18 12:59:27 -06:00