glslang-zig/glslang/MachineIndependent
Roy.li 24dcbd1b1f
Reserve unused std140 uniform block in reflection, and fix uniform block matrix layout (#2041)
According to the spec glsl4.60.7:
4.4.5. Uniform and Shader Storage Block Layout Qualifiers:
"The packed qualifier overrides only std140, std430, and shared; other qualifiers are inherited.
When packed is used, no shareable layout is guaranteed. The compiler and linker can optimize
memory use based on what variables actively get used and on other criteria. Offsets must be
queried, as there is no other way of guaranteeing where (and which) variables reside within the
block"

we should reserve std140 block and shared block in reflection.

According to the spec glsl4.60.7:
4.4.5. Uniform and Shader Storage Block Layout Qualifiers:
"The row_major and column_major qualifiers only affect the layout of matrices, including all
matrices contained in structures and arrays they are applied to, to all depths of nesting. These
qualifiers can be applied to other types, but will have no effect."

We need ensure all matrix block member been effect.

Support EShMsgKeepUncalled in reflection

EShMsgKeepUncalled  is a link message for link program.
We need only one option to control uncalled function optimization.
If we set EShMsgKeepUncalled as false in link time, linker won't be keep the uncall function sequence in AST,  and if we set EShMsgKeepUncalled as true in link time, linker will keep all uncalled function sequence in AST.
So, in reflecte time, we just only travers all function sequence. It make EShMsgKeepUncalled  only work at linker, and can effect reflection.

Recursively layout packing to "block member"

layout packing isn't set recursively, it causes TReflection::getOffsets doesn't work correctly.
2020-05-15 02:26:48 -06:00
..
preprocessor TPpToken: Fix compiling on clang-10 (#2189) 2020-04-22 08:19:43 -06:00
attribute.cpp Web: Turn off bracket-style attributes, reflection, and IO mapping. 2019-08-20 23:21:55 -06:00
attribute.h HLSL: Fix #1912: add attribute syntax for nonreadable/nonwritable 2019-09-29 19:16:25 -06:00
Constant.cpp Copyright update, mostly to trigger bots again. 2020-03-01 04:51:40 -07:00
gl_types.h Web: Generalize _EXTENSIONS* in SPIR-V back-end. 2019-08-20 23:21:55 -06:00
glslang.m4 GL_EXT_ray_query updates 2020-03-19 16:46:30 -04:00
glslang.y GL_EXT_ray_query updates 2020-03-19 16:46:30 -04:00
glslang_tab.cpp GL_EXT_ray_query updates 2020-03-19 16:46:30 -04:00
glslang_tab.cpp.h GL_EXT_ray_query updates 2020-03-19 16:46:30 -04:00
InfoSink.cpp Non-functional: White space after "//", mostly for copyrights. 2017-01-06 12:34:14 -07:00
Initialize.cpp Fix Web build 2020-05-11 22:06:21 +02:00
Initialize.h Comment out params instead of removing 2019-09-11 08:59:47 -04:00
Intermediate.cpp Add support for extension GL_EXT_shader_implicit_conversions 2020-04-30 08:41:23 -07:00
intermOut.cpp Add support for extension GL_EXT_shader_implicit_conversions 2020-04-30 08:41:23 -07:00
IntermTraverse.cpp Non-functional: White space after "//", mostly for copyrights. 2017-01-06 12:34:14 -07:00
iomapper.cpp xcode warnings fix (#2188) 2020-04-21 07:06:12 -06:00
iomapper.h Address #2211: Improve the copy constructor of TVarLivePair. 2020-05-12 02:59:47 -06:00
limits.cpp Web: Turn off includes, independent preprocessing path, fine tune all. 2019-08-20 23:21:56 -06:00
linkValidate.cpp Shader interface matching rework to fix #2136 (#2156) 2020-04-02 02:03:53 -06:00
LiveTraverser.h [lumped builds] Add include guards (#pragma once) to header files that did not have any. 2017-05-10 16:58:38 +03:00
localintermediate.h Add support for extension GL_EXT_shader_implicit_conversions 2020-04-30 08:41:23 -07:00
parseConst.cpp Fix MSVC build issue - remove invalid character 2020-03-19 15:31:31 -06:00
ParseContextBase.cpp Error assigns to objects of rayQueryEXT type. 2020-03-30 10:24:30 -07:00
ParseHelper.cpp Reserve unused std140 uniform block in reflection, and fix uniform block matrix layout (#2041) 2020-05-15 02:26:48 -06:00
ParseHelper.h Reserve unused std140 uniform block in reflection, and fix uniform block matrix layout (#2041) 2020-05-15 02:26:48 -06:00
parseVersions.h Move symbol builtin check to grammar stage 2020-01-08 14:07:50 +08:00
pch.cpp Use precompiled headers for some glslang projects 2018-10-31 15:38:08 -05:00
pch.h Use precompiled headers for some glslang projects 2018-10-31 15:38:08 -05:00
PoolAlloc.cpp Memory: Mak full explicit destructor functionality, techincally correctly. 2017-11-21 14:32:39 -07: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 Reserve unused std140 uniform block in reflection, and fix uniform block matrix layout (#2041) 2020-05-15 02:26:48 -06:00
reflection.h Make file formatting comply with POSIX and Unix standards 2020-03-21 03:20:25 -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 Add support for extension GL_ARB_vertex_attrib_64bit (#2193) 2020-04-29 06:58:49 -06: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 Fix #2163: improve comments for addProcess() and the preamble. 2020-03-30 00:27:31 -06:00
SymbolTable.cpp printf format 2020-03-30 01:48:15 +03:00
SymbolTable.h HLSL: Fix #1912: add attribute syntax for overriding image formats. 2019-09-28 11:39:15 -06:00
Versions.cpp Merge branch 'master' into GL_EXT_blend_func_extended 2020-05-01 02:41:31 -06:00
Versions.h Explicitly mark some enums as unsigned 2020-05-11 10:24:32 +02:00