Commit Graph

700 Commits

Author SHA1 Message Date
Hans-Kristian Arntzen
98b0c29f9d Merge pull request #243 from KhronosGroup/fix-242
Declare undefined variables (OpUndef) upfront.
2017-08-02 12:13:05 +02:00
Hans-Kristian Arntzen
a4fafa0607 Fix edge-case where do/while body is a dominator.
Shows up quite a lot in inlined code, should get more test coverage in
this area ...
2017-08-02 11:58:24 +02:00
Hans-Kristian Arntzen
2abdc135c3 Declare undefined values up front.
They might potentially be used as part of OpStore in the SPIRV-Tools
inliner in some cases.

Implement these as declared variables but without any initializer.
2017-08-02 10:33:03 +02:00
Hans-Kristian Arntzen
8f4bbdeb0c Merge pull request #237 from KhronosGroup/fix-236
Fix spurious struct type aliasing in stripped binaries.
2017-07-31 12:00:29 +02:00
Hans-Kristian Arntzen
f7b300d31e Merge pull request #240 from KhronosGroup/fix-222
Do not emit layout(location) qualifiers for older GLSL targets.
2017-07-31 11:31:46 +02:00
Hans-Kristian Arntzen
56e71c1dad Do not emit layout(location) qualifiers for older GLSL targets.
ESSL 300 and GLSL <410 do not support this along with legacy targets.
2017-07-31 11:17:02 +02:00
Hans-Kristian Arntzen
dea2ee7f29 Merge pull request #238 from KhronosGroup/fix-221
Fix textureProj with shadow on GLSL.
2017-07-31 10:23:19 +02:00
Hans-Kristian Arntzen
f337e50844 Remove MSL textureProj test shader. Need to sort it out later. 2017-07-31 10:16:07 +02:00
Hans-Kristian Arntzen
cbcaca5a39 Fix textureProj with shadow on GLSL. 2017-07-31 10:05:32 +02:00
Hans-Kristian Arntzen
818c1bea21 Fix spurious struct type aliasing in stripped binaries.
Should not consider aliasing when names are stripped.
2017-07-31 09:31:20 +02:00
Hans-Kristian Arntzen
24c35e3fb3 Merge pull request #235 from KhronosGroup/hlsl-spec-constant
Declare specialization constants in HLSL.
2017-07-30 06:32:20 +02:00
Hans-Kristian Arntzen
0817869797 Merge pull request #234 from KhronosGroup/member-name-fix
Fix default member name implementation.
2017-07-30 06:32:12 +02:00
Hans-Kristian Arntzen
98c76eed69 Declare specialization constants in HLSL. 2017-07-29 22:13:27 +02:00
Hans-Kristian Arntzen
dbaaf1b69e Add test for default member names. 2017-07-29 21:58:37 +02:00
Hans-Kristian Arntzen
955319aa66 Update test files. 2017-07-29 21:47:28 +02:00
Hans-Kristian Arntzen
1c6df1b7b4 Use _m* for member names without OpMemberName.
Member names could conflict with type names in stripped modules with
very large structs.
2017-07-29 21:44:20 +02:00
Hans-Kristian Arntzen
7fd7dc9266 Merge pull request #229 from KhronosGroup/cfg-walk-optimize
Optimize CFG walking
2017-07-25 21:13:59 +02:00
Hans-Kristian Arntzen
0d14448b4d Minor optimization of enclose_expression. 2017-07-25 18:25:03 +02:00
Hans-Kristian Arntzen
f0c50a618d Fix parsing time explosion for huge shaders.
Need to prune already walked blocks.
2017-07-25 18:22:15 +02:00
Hans-Kristian Arntzen
2e4422d362 Merge pull request #228 from KhronosGroup/various-fixes
Various bug fixes
2017-07-24 10:29:09 +02:00
Hans-Kristian Arntzen
6ff9007311 Fix unary enclosures. 2017-07-24 10:17:19 +02:00
Hans-Kristian Arntzen
c8d60914c4 Add support for SampleId/SampleMask/SamplePosition builtins. 2017-07-24 10:07:31 +02:00
Hans-Kristian Arntzen
d89d0e01fc Run format_all.sh. 2017-07-24 09:29:20 +02:00
Hans-Kristian Arntzen
df6aa0e609 Support SampleCmpLevelZero on cubes as well. 2017-07-24 09:28:24 +02:00
Hans-Kristian Arntzen
2cbeaac76f Merge pull request #218 from KhronosGroup/constant-buffer-sm51
Add support for SM5.1 ConstantBuffer<T>.
2017-06-30 22:56:13 +02:00
Hans-Kristian Arntzen
cf09eb3773 Consider different binding space for push constants. 2017-06-30 22:16:24 +02:00
Hans-Kristian Arntzen
ecf56cff2b Add support for SM5.1 ConstantBuffer<T>. 2017-06-30 10:34:21 +02:00
Hans-Kristian Arntzen
98a17431c2 Merge pull request #214 from dsrbecky/texture-keyword
Add "texture" to the keyword list.
2017-06-27 18:35:00 +02:00
Hans-Kristian Arntzen
e095ccae82 Merge pull request #213 from dsrbecky/OpString
Ignore debug instruction OpString
2017-06-27 18:34:29 +02:00
David Srbecky
edec5ea137 Add "texture" to the keyword list.
I have encountered several shaders where people use "texture" as
local variable (old shaders from times when it was not build-in).
2017-06-27 15:35:47 +01:00
David Srbecky
a08b26926c Ignore debug instruction OpString
It may be used with OpLine or OpSource to specify filename.
2017-06-27 15:34:45 +01:00
Hans-Kristian Arntzen
ecf830846f Merge pull request #212 from KhronosGroup/composite-insert-cleanup
Remove remnants of old OpCompositeInsert hack.
2017-06-27 08:06:19 +02:00
Hans-Kristian Arntzen
0aac31bda1 Remove remnants of old OpCompositeInsert hack. 2017-06-26 22:58:41 +02:00
Hans-Kristian Arntzen
b0540c28ca Merge pull request #211 from dsrbecky/OpCompositeInsert
Always make a copy when handling OpCompositeInsert
2017-06-26 22:53:46 +02:00
David Srbecky
77b5b4446b Always make a copy when handling OpCompositeInsert
The modified object might not be mutable (e.g. shader input).

Added a test for the case when this happens.
2017-06-26 18:32:53 +01:00
Hans-Kristian Arntzen
e70ba405c2 Merge pull request #210 from Jasonchan35/master
added --rename-interface-variable <in|out> <location> <new_variable_name>
2017-06-26 12:47:56 +02:00
Jason Chan
3281e8278f move the spirv_glsl.cpp specific logic to main.cpp 2017-06-25 15:16:09 +02:00
Jason Chan
02a8bb6975 remove debug message 2017-06-23 23:14:06 +02:00
Jason Chan
f03d377faa fix tab indent 2017-06-23 22:23:26 +02:00
Jason Chan
9f1eb5a20d added --rename-interface-variable <in|out> <location> <new_variable_name> 2017-06-23 22:20:42 +02:00
Hans-Kristian Arntzen
f5fd965fa0 Merge pull request #209 from KhronosGroup/texture-lod-as-grad
Workaround textureLod on sampler2DArrayShadow
2017-06-23 10:03:10 +02:00
Hans-Kristian Arntzen
d38b1b086a Fix typo. 2017-06-23 09:50:01 +02:00
Hans-Kristian Arntzen
7bb749142c Run format_all.sh. 2017-06-23 09:46:15 +02:00
Hans-Kristian Arntzen
ad2b7c05e7 Implement workaround for textureLod on 2D array shadow.
This does not exist in GLSL, but it exists in HLSL if LOD == 0.0.
2017-06-23 09:45:42 +02:00
Hans-Kristian Arntzen
c6051bbbfa Merge pull request #206 from KhronosGroup/glslang-update
Update glslang
2017-06-22 19:52:11 +02:00
Hans-Kristian Arntzen
a1f5453519 Assign block locations to members in MSL. 2017-06-21 09:55:46 +02:00
Hans-Kristian Arntzen
602ed34e34 Update glslang travis commit. 2017-06-21 09:40:12 +02:00
Hans-Kristian Arntzen
de33d89074 Add explicit in/out locations everywhere.
Needed for newer glslang. With Vulkan semantics for SPIR-V, all
locations must be explicitly defined.
2017-06-21 09:39:08 +02:00
Hans-Kristian Arntzen
81ad58be86 Merge pull request #203 from KhronosGroup/separate-shadow-sampler-refactor
Avoid ugly workaround for separate shadow samplers in GLSL/HLSL.
2017-06-17 11:06:52 +02:00
Hans-Kristian Arntzen
b0f7deedec Run format_all.sh. 2017-06-17 10:56:24 +02:00