diff options
author | Hans-Kristian Arntzen <post@arntzen-software.no> | 2019-02-13 18:39:59 +0300 |
---|---|---|
committer | Hans-Kristian Arntzen <post@arntzen-software.no> | 2019-02-13 18:39:59 +0300 |
commit | d7090b8322ef4394424711081bad8af104b49603 (patch) | |
tree | 8244ad8536987d7f3b416888e906ce79a6927e9a /reference/opt/shaders/asm | |
parent | d9ed3dcc7a7e62e5f95fd8f24e3d35e7e402ae92 (diff) |
GLSL: Fix block name shenanigans in edge cases.
When we force recompile, the old var.self name we used as a fallback
name might have been disturbed, so we should recover certain names back
to their original form in case we are forced to take a recompile to make
the naming algorithm more deterministic.
Diffstat (limited to 'reference/opt/shaders/asm')
-rw-r--r-- | reference/opt/shaders/asm/comp/recompile-block-naming.asm.comp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/reference/opt/shaders/asm/comp/recompile-block-naming.asm.comp b/reference/opt/shaders/asm/comp/recompile-block-naming.asm.comp new file mode 100644 index 00000000..ff83de34 --- /dev/null +++ b/reference/opt/shaders/asm/comp/recompile-block-naming.asm.comp @@ -0,0 +1,35 @@ +#version 450 +layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; + +layout(binding = 0, std430) buffer MyFirstBuffer +{ + uint _data[]; +} MyFirstBuffer_1; + +layout(binding = 0, std430) buffer MySecondBuffer +{ + uint _data[]; +} MySecondBuffer_1; + +layout(binding = 0, std430) buffer MyThirdBuffer +{ + uint _data[]; +} MyThirdBuffer_1; + +void main() +{ + uint _105 = MyFirstBuffer_1._data[0]; + uint _109 = MyFirstBuffer_1._data[1]; + uint _113 = MyFirstBuffer_1._data[2]; + uint _117 = MyFirstBuffer_1._data[3]; + uint _122 = MySecondBuffer_1._data[1]; + uint _126 = MySecondBuffer_1._data[2]; + uint _130 = MySecondBuffer_1._data[3]; + uint _134 = MySecondBuffer_1._data[4]; + uvec4 _140 = uvec4(_105, _109, _113, _117) + uvec4(_122, _126, _130, _134); + MyThirdBuffer_1._data[0] = _140.x; + MyThirdBuffer_1._data[1] = _140.y; + MyThirdBuffer_1._data[2] = _140.z; + MyThirdBuffer_1._data[3] = _140.w; +} + |