Hans-Kristian Arntzen
470ae7a7f6
Add multidimensional array flattening test.
2017-05-31 10:00:52 +02:00
Hans-Kristian Arntzen
842eff9647
Merge pull request #188 from KhronosGroup/sso
...
Add support for Separate Shader Objects
2017-05-31 09:55:34 +02:00
Bill Hollings
0f97ffd8be
Fix merge conflicts with upstream master, plus fixes from review of PR #186 .
2017-05-23 10:44:10 -04:00
Hans-Kristian Arntzen
91379fb0d0
Implement more sophisticated check for point_size.
2017-05-23 10:15:22 +02:00
Bill Hollings
c1b8154f2c
CompilerMSL fix variables used in interface blocks aren't resolved correctly ( #179 ).
2017-05-22 21:41:19 -04:00
Hans-Kristian Arntzen
623eaebdf8
Add test shaders for SSO.
2017-05-22 15:53:38 +02:00
Bill Hollings
d677e63860
Merge with upstream
2017-05-19 19:36:24 -04:00
Bill Hollings
8f6df770ce
CompilerMSL map many GLSL functions to MSL functions.
...
Add bool members is_read and is_written to SPIRType::Image.
Output correct texture read/write access by marking whether textures
are read from and written to by the shader.
Override bitcast_glsl_op() to use Metal as_type<type> functions.
Add implementations of SPIR-V functions inverse(), degrees() & radians().
Map inverseSqrt() to rsqrt().
Map roundEven() to rint().
GLSL functions imageSize() and textureSize() map to equivalent
expression using MSL get_width() & get_height() functions.
Map several SPIR-V integer bitfield functions to MSL equivalents.
Map SPIR-V atomic functions to MSL equivalents.
Map texture packing and unpacking functions to MSL equivalents.
Refactor existing, and add new, image query functions.
Reorganize header lines into includes and pragmas.
Simplify type_to_glsl() logic.
Add MSL test case vert/functions.vert for added function implementations.
Add MSL test case comp/atomic.comp for added function implementations.
test_shaders.py use macOS compilation for MSL shader compilation validations.
2017-05-19 18:14:08 -04:00
Hans-Kristian Arntzen
686ac6812b
HLSL: Can pass down combined image samplers as arguments.
2017-05-07 13:22:16 +02:00
Hans-Kristian Arntzen
59ad08429b
HLSL: Add test for passing down separate image and samplers to functions.
2017-05-07 12:53:51 +02:00
Hans-Kristian Arntzen
f081fe1125
Fix separate sampler images in MSL.
2017-05-07 12:36:14 +02:00
Hans-Kristian Arntzen
89d57e15ba
Add test case for combined depth image sampler in GLSL.
2017-05-06 13:56:45 +02:00
Hans-Kristian Arntzen
100e9d34b8
HLSL: Basic support for separate image/samplers.
2017-05-06 12:39:04 +02:00
Bill Hollings
f9f87ca391
CompilerMSL output [[point_size]] attribute for BuiltInPointSize member by default.
...
CompilerMSL::Options::is_rendering_points defaults to true.
2017-05-05 16:13:55 -04:00
Hans-Kristian Arntzen
851acf3712
Avoid boolean mix in HLSL.
...
Update glslang travis checkout as boolean mix support was broken on that commit.
2017-05-04 10:28:30 +02:00
Hans-Kristian Arntzen
17d88ca928
Add compatibility option for PointSize in HLSL.
...
If we opt-in to it, PointSize can be ignored to avoid more annoying
workarounds.
2017-05-04 10:12:14 +02:00
Robert Konrad
bb9dbd4149
Support texelFetch in HLSL
2017-04-24 11:08:55 +02:00
Robert Konrad
7d8be83cb3
Support shadow sampling in HLSL
2017-04-21 17:52:04 +02:00
Robert Konrad
585339f3cd
Test HLSL cube maps
2017-04-21 14:55:01 +02:00
Robert Konrad
9020c48076
Support and test 1D and 3D textures in HLSL4/5
2017-04-21 14:05:17 +02:00
Robert Konrad
23d993546c
Add texture sampling HLSL test
2017-04-21 11:46:10 +02:00
Robert Konrad
be4c919d08
Update HLSL test results
2017-04-18 15:17:55 +02:00
Robert Konrad
3804292c43
Merge branch 'master' of github.com:KhronosGroup/SPIRV-Cross into fix
2017-04-03 11:43:35 +02:00
Robert Konrad
1fb2315a35
Add a test for HLSL matrix unrolling
2017-04-03 11:42:36 +02:00
Hans-Kristian Arntzen
543e380d90
Fix case where samplerBuffer is emitted without combined sampler.
2017-04-02 11:03:07 +02:00
Hans-Kristian Arntzen
b2c2e6483b
Analyze parameter preservation for functions.
...
This is kinda tricky, because if we only conditionally write to a
function parameter variable it is implicitly preserved in SPIR-V, so we must force
an in qualifier on the parameter to get the same behavior in GLSL.
2017-03-25 16:25:30 +01:00
Hans-Kristian Arntzen
24382a8ea2
Use findLSB as well in bitfield test.
2017-03-25 15:46:12 +01:00
Hans-Kristian Arntzen
6801af4dce
Fix bitfield functions.
2017-03-25 15:38:20 +01:00
Hans-Kristian Arntzen
f4749df09a
Merge pull request #151 from Kode/fix
...
Transform more functions for HLSL
2017-03-24 16:13:34 +01:00
Robert Konrad
9fadd34afe
Add new HLSL tests
2017-03-24 15:41:20 +01:00
Robert Konrad
78ec0fcb22
Update HLSL test output
...
HLSL requires builtins to be defined after
texcoords in some cases.
2017-03-24 14:40:13 +01:00
Hans-Kristian Arntzen
840a72d47a
Workaround empty struct declaration and empty IO variables.
2017-03-24 10:03:11 +01:00
Robert Konrad
eab111ed32
Add tests for legacy lod handling
2017-03-23 15:51:43 +01:00
Hans-Kristian Arntzen
a0a582dd04
Do not emit interpolation qualifiers to static globals.
2017-03-21 13:48:50 +01:00
Hans-Kristian Arntzen
b8bda45802
Add test case for interpolation qualifiers in HLSL.
2017-03-21 13:48:50 +01:00
Hans-Kristian Arntzen
447545311b
Add test for input I/O blocks in fragment.
2017-03-21 13:48:50 +01:00
Hans-Kristian Arntzen
e89b789af3
Add some tests for no stage inputs or outputs in HLSL.
2017-03-21 13:48:50 +01:00
Hans-Kristian Arntzen
62df60ea3d
Update vertex locations test to include I/O blocks.
2017-03-21 13:48:50 +01:00
Hans-Kristian Arntzen
784a23b92a
Add instancing test to HLSL.
2017-03-21 13:48:50 +01:00
Hans-Kristian Arntzen
a4aa89e992
Add test for fragment builtins like gl_FragDepth/gl_FragCoord.
2017-03-21 13:48:50 +01:00
Hans-Kristian Arntzen
61c31c6054
Make use of explicit locations in HLSL.
2017-03-21 13:48:50 +01:00
Hans-Kristian Arntzen
bdea1a444a
Begin rewriting how HLSL deals with inputs and outputs.
2017-03-21 13:48:50 +01:00
Hans-Kristian Arntzen
75391f9a68
Handle vector variants of OpLogicalAnd/Or/Not.
2017-03-20 22:45:40 +01:00
Bill Hollings
5550c87b1f
CompilerMSL options access and UBO alignment test case.
...
CompilerMSL accesses options using same design pattern as CompilerGLSL and CompilerHLSL.
CompilerMSL support setting VA & rez binding specs via either constructor or compile() method overload.
CompilerMSL support single UBO packing and padding in single pass.
spriv_cross app (main.cpp) supports turning off UBO packing and padding via command line option.
Add MSL UBO alignment test shader.
2017-03-12 17:42:51 -04:00
Hans-Kristian Arntzen
fd12124bf7
Add tests for legacy I/O flattening.
2017-03-06 14:04:01 +01:00
Hans-Kristian Arntzen
7f2e17969b
Add built-in cull distance.
2017-03-05 12:47:03 +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
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
Bill Hollings
1699e69ccd
Merge branch 'master' of https://github.com/KhronosGroup/SPIRV-Cross
2017-02-11 10:58:07 -05:00