Commit Graph

471 Commits

Author SHA1 Message Date
Hans-Kristian Arntzen
7f2e17969b Add built-in cull distance. 2017-03-05 12:47:03 +01:00
Hans-Kristian Arntzen
f33220e45a Merge pull request #127 from KhronosGroup/flatten-io
Flatten varying structs in legacy targets.
2017-02-24 14:30:47 +01:00
Hans-Kristian Arntzen
bcf2303ba0 Do not emit storage qualifiers for local variables.
Metal backend uses local variables to implement global variables.
Do not emit storage qualifiers for any variable which is declared inside
a function.
2017-02-24 11:15:34 +01:00
Hans-Kristian Arntzen
036b9b73f5 Emit storage qualifier in the correct place.
Need to emit qualifiers in a specific order for legacy GLSL.

<interpolation> <storage> <precision> <type>.
2017-02-24 09:56:17 +01:00
Hans-Kristian Arntzen
e941b92b11 Write up a section in README about implementation details. 2017-02-23 20:00:17 +01:00
Hans-Kristian Arntzen
eb5e09fa64 Run format_all.sh. 2017-02-23 19:33:14 +01:00
Hans-Kristian Arntzen
fc80cd8cbf Add support for loading flattened structs. 2017-02-23 19:31:56 +01:00
Hans-Kristian Arntzen
97350d32fd Fix cases for flattened struct write.
Handle writing the entire struct as well as writing the elements
individually.
2017-02-23 19:05:11 +01:00
Hans-Kristian Arntzen
3c58bbbcbe Flatten varying structs outputs in legacy targets. 2017-02-22 20:17:58 +01:00
Hans-Kristian Arntzen
dff7d72321 Merge pull request #124 from KhronosGroup/hlsl-options
Add option to set HLSL shader model.
2017-02-18 09:29:01 +01:00
Hans-Kristian Arntzen
2e3c6ec6a9 Add option to set HLSL shader model. 2017-02-16 11:17:12 +01:00
Hans-Kristian Arntzen
c92b839ecb Fix crash when passing wrong arguments.
THROW() did not actually throw in exception-enabled builds, silly
oversight.
2017-02-16 11:06:57 +01:00
Hans-Kristian Arntzen
b72feb557c Merge pull request #122 from zeux/metal-validate
Update to Xcode 8.2 on Travis and reenable Metal validation
2017-02-15 09:00:07 +01:00
Arseny Kapoulkine
6ecdf6f7ae Update to Xcode 8.2 on Travis and reenable Metal validation
We need recent Xcode to support ios-metal1.2
2017-02-15 10:04:38 +03:00
Hans-Kristian Arntzen
603673629e Merge pull request #118 from brenwill/master
CompilerMSL add support for texel buffers.
2017-02-11 19:50:58 +01:00
Bill Hollings
1699e69ccd Merge branch 'master' of https://github.com/KhronosGroup/SPIRV-Cross 2017-02-11 10:58:07 -05:00
Hans-Kristian Arntzen
c6ffc16a57 Merge pull request #119 from KhronosGroup/glslang-update
Update glslang to latest on Travis.
2017-02-11 11:01:16 +01:00
Hans-Kristian Arntzen
0e7c33ff81 Update glslang to latest on Travis.
Fix a lingering bug with OpSelect and boolean mix().
2017-02-11 10:52:34 +01:00
Bill Hollings
e016de860a Update MSL reference shaders affected by upstream pull. 2017-02-09 13:16:13 -05:00
Bill Hollings
6159a61c95 CompilerMSL add support for texel buffers.
Compiler MSL support DimBuffer as image dimension.
CompilerMSL check texture coordinate result type dimension before adding swizzles.
Update MSL reference shaders affected by this update.
2017-02-09 12:14:30 -05:00
Hans-Kristian Arntzen
bd7c47a071 Add force no external validation path to HLSL as well. 2017-02-05 11:23:09 +01:00
Hans-Kristian Arntzen
70743b9be4 Disable xcrun validation on Travis for now. 2017-02-05 11:13:09 +01:00
Hans-Kristian Arntzen
5dd7c04195 Merge branch 'master' of git://github.com/brenwill/SPIRV-Cross into pr-109 2017-02-05 10:59:44 +01:00
Hans-Kristian Arntzen
9cb8616c31 Do not use write/read counters for "global" parameters.
Fixes device const & SSBO issues.
2017-02-05 10:50:14 +01:00
Hans-Kristian Arntzen
4ca769b546 Merge branch 'msl_global-invocation-id' of git://github.com/Kangz/SPIRV-Cross into pr-105 2017-02-05 10:14:38 +01:00
Hans-Kristian Arntzen
6593a79fce Merge pull request #115 from KhronosGroup/for-loop-order-fix
For loop evaluation order fix.
2017-02-04 10:45:53 +01:00
Hans-Kristian Arntzen
24df8f0019 Run format_all.sh. 2017-02-04 10:26:26 +01:00
Hans-Kristian Arntzen
ad0c5c6e6c Make test script agnostic to newline convention.
Improves testability on Windows.
2017-02-04 10:19:44 +01:00
Hans-Kristian Arntzen
ab21dfb25b Fix execution order for for-loop emission.
In some cases, the compiler decided to emit continue block first,
which invalidated the expressions used by the condition.
Parameters to functions can be evaluated in any order which caused
"random" behavior.
2017-02-04 10:07:20 +01:00
Hans-Kristian Arntzen
4881d41b5c Merge pull request #114 from syoyo/fix-exceptions-to-assertions-build
Fix build when SPIRV_CROSS_EXCEPTIONS_TO_ASSERTIONS=On.
2017-02-03 07:40:33 +01:00
Syoyo Fujita
29179f746a Fix build when SPIRV_CROSS_EXCEPTIONS_TO_ASSERTIONS=On. 2017-02-03 13:54:35 +09:00
Hans-Kristian Arntzen
07a4915e9a Merge pull request #113 from h3xl3r/master
Fixed 'inconsistent-missing-override' warnings
2017-02-02 08:04:01 +01:00
rob
01157dd6d5 Fixed 'inconsistent-missing-override' warnings 2017-02-02 15:19:27 +09:00
Bill Hollings
e791c0b9e6 Removed Travis-killing MSL test: frag/for-loop-init.frag. 2017-01-31 12:08:08 -05:00
Bill Hollings
de72b3328e Removed Travis-killing MSL test: flatten/copy.flatten.vert. 2017-01-31 12:01:13 -05:00
Bill Hollings
d1737c65cf Removed Travis-killing MSL test: flatten/dynamic.flatten.vert. 2017-01-31 11:53:20 -05:00
Bill Hollings
e4f0dde68f CompilerMSL uses std::set where order matters for consistent regression testing. 2017-01-31 11:02:44 -05:00
Bill Hollings
be4cb17a14 Enhance MSL testing and add numerous MSL test cases.
Add to suite of MSL tests and references any existing GLSL tests
that successfully convert GLSL->SPIRV->MSL and compile as MSL.
test_shaders_helper() ignores hidden files that start with '.',
to avoid accidentally finding hidden OSX files such as .DS_Store.
Use xcrun to compile MSL shaders instead of hard-coded path to Metal compiler.
Wrap calls to xcrun in exception handling to ignore if Xcode not installed.
For MSL tests, move call to validate_shader_msl() to after call to
regression_check() to allow a converted MSL shader to be saved for
manual review even if it doesn't successfully compile as MSL.
2017-01-30 22:55:21 -05:00
Bill Hollings
81757507be CompilerMSL support separate indexed MTLBuffers for stage_in containing matrices.
Add DecorationBinding to Compiler::get_member_decoration()/set_member_decoration().
2017-01-29 13:28:20 -05:00
Bill Hollings
05be822512 Merge branch 'master' of https://github.com/KhronosGroup/SPIRV-Cross 2017-01-28 12:54:49 -05:00
Hans-Kristian Arntzen
18c37bcdab Update license headers for 2017. 2017-01-28 09:00:40 +01:00
Hans-Kristian Arntzen
56df3bf5fe Add HLSL testing to ctest. 2017-01-28 08:58:39 +01:00
Hans-Kristian Arntzen
d0cc4fe3ad Fix Wshadow warning. 2017-01-28 08:58:25 +01:00
Hans-Kristian Arntzen
1850457b28 Merge pull request #107 from Kode/hlsl
HLSL Support
2017-01-28 08:53:24 +01:00
Bill Hollings
804d5313fa Merge branch 'master' of https://github.com/KhronosGroup/SPIRV-Cross 2017-01-27 16:12:37 -08:00
Robert Konrad
f7eecd7b82 Correct HLSL vector types properly 2017-01-27 17:02:59 +01:00
Robert Konrad
2da32f717d Remove obsolete transpose op functions for HLSL 2017-01-27 16:51:50 +01:00
Robert Konrad
757d5dd65a Correct vector type names in HLSL 2017-01-27 16:49:13 +01:00
Robert Konrad
4358b2f788 Format the other HLSL copyright comment 2017-01-27 16:45:43 +01:00
Robert Konrad
e49cff5055 Update HLSL reference shader 2017-01-27 16:34:52 +01:00