Commit Graph

794 Commits

Author SHA1 Message Date
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
Bill Hollings
5f42746389 Merge branch 'master' of https://github.com/KhronosGroup/SPIRV-Cross 2017-06-30 19:11:46 -04:00
Bill Hollings
f591bc0d4a CompilerMSL enhancements.
Support BuiltInFragDepth.
Emit interface block for StorageClassUniformConstant.
Throw exception when output or fragment input structs contain matrix or array.
Dynamically created interface structs sorted by location number instead of alphabetically.
Add Compiler::is_array() function.
2017-06-30 19:10:46 -04: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
Hans-Kristian Arntzen
978901f9e4 Avoid ugly workaround for separate shadow samplers in GLSL/HLSL. 2017-06-17 10:54:59 +02:00
Hans-Kristian Arntzen
a2f6679d13 Merge pull request #202 from KhronosGroup/hlsl-bindings
Add basic support for : register() declaration in HLSL.
2017-06-17 10:25:01 +02:00
Hans-Kristian Arntzen
620da7b943 Add basic support for : register() declaration in HLSL. 2017-06-17 10:15:32 +02:00
Hans-Kristian Arntzen
e6baf12efe Merge pull request #201 from KhronosGroup/fallthrough-warning-fix
Fix fallthrough warning.
2017-06-17 09:57:13 +02:00
Hans-Kristian Arntzen
3c404c456a Fix fallthrough warning. 2017-06-17 09:38:07 +02:00
Hans-Kristian Arntzen
9db278de42 Merge pull request #200 from h3xl3r/master
Geometry shader core since GLSL 150
2017-06-17 09:29:52 +02:00