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
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
860a044562
Merge pull request #175 from KhronosGroup/hlsl-fixes
...
Various HLSL fixes
2017-05-04 10:44:00 +02:00
Hans-Kristian Arntzen
2b4c3db7e3
Don't enable point_size_compat by default.
2017-05-04 10:32:43 +02: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
Hans-Kristian Arntzen
9e85815394
Merge pull request #166 from KhronosGroup/decoration-offset
...
Add support for querying binary offsets of decorations in SPIR-V.
2017-04-26 12:06:17 +02:00
Hans-Kristian Arntzen
173dc9e8c9
Build fix.
2017-04-26 09:25:28 +02:00
Hans-Kristian Arntzen
93fe19c0f7
Add support for querying binary offsets of decorations in SPIR-V.
...
Facilitates easy SPIR-V patching when needed.
2017-04-26 09:24:24 +02:00
Hans-Kristian Arntzen
85c5f50be4
Merge pull request #167 from brenwill/master
...
CompilerMSL round floating point tex coords for read() and tex array index.
2017-04-26 09:21:12 +02:00
Bill Hollings
561dc036f2
CompilerMSL round floating point tex coords for read() and tex array index.
2017-04-25 16:32:16 -04:00
Bill Hollings
012cb25b7d
CompilerMSL remove option to flip fragment coordinates.
2017-04-25 11:25:50 -04:00
Hans-Kristian Arntzen
c5a2af365f
Merge pull request #161 from Kode/fix
...
Shader model 4/5 style texture sampling
2017-04-24 12:21:23 +02:00
Robert Konrad
bb9dbd4149
Support texelFetch in HLSL
2017-04-24 11:08:55 +02:00
Robert Konrad
434d9b8803
Support array textures in HLSL
2017-04-24 10:02:03 +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
8446631171
Support cube maps in HLSL
2017-04-21 14:54:03 +02:00
Robert Konrad
ff12d57765
Support 1D/2D textures in HLSL2/3
2017-04-21 14:35:30 +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
9aaf6b28dd
Throw when sampling non-float textures in HLSL
2017-04-21 11:40:24 +02:00
Robert Konrad
1fe652da68
Improve shader model 2/3 texture sampling
2017-04-21 09:46:58 +02:00
Robert Konrad
612075176c
Fix HLSL tex2D calls
2017-04-20 16:15:46 +02:00
Robert Konrad
de41ebf4d7
Simplify texture offset handling in HLSL
2017-04-20 16:04:02 +02:00
Robert Konrad
31afcbb4fe
Force a recompile when a function is added to HLSL
2017-04-20 15:21:47 +02:00
Robert Konrad
f7dd57040e
Correct and simplify HLSL texture types
2017-04-20 14:51:24 +02:00
Robert Konrad
fd9b589469
Support textureProj in HLSL4/5
2017-04-20 13:37:38 +02:00
Robert Konrad
8b516451f2
Uninformed attempt at mapping tex formats to HLSL
2017-04-20 11:39:38 +02:00
Robert Konrad
be4c919d08
Update HLSL test results
2017-04-18 15:17:55 +02:00
Robert Konrad
15807a6036
Merge branch 'master' of https://github.com/KhronosGroup/SPIRV-Cross into fix
2017-04-18 15:06:09 +02:00
Robert Konrad
ec84e8832a
Fix different HLSL sample calls
2017-04-18 14:55:38 +02:00
Robert Konrad
c5953e03ee
Support shader model 4/5 type tex sampling
2017-04-18 14:17:05 +02:00
Hans-Kristian Arntzen
8a2d980fa1
Merge pull request #157 from KhronosGroup/vector-less-ctors
...
Add vector-less IR construction to subclasses as well.
2017-04-05 09:10:25 +02:00
Bill Hollings
7703b746f7
CompilerMSL vectorless constructor uses vectorless attribute and resource bindings.
2017-04-04 16:38:17 -04:00
Hans-Kristian Arntzen
d18edc3cb5
Merge pull request #159 from Kode/fix
...
Fix HLSL matrix unrolling
2017-04-03 22:05:31 +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
Robert Konrad
61b561772c
Fix HLSL matrix unrolling
2017-04-03 11:38:15 +02:00
Hans-Kristian Arntzen
ec5f3ec4b2
Merge pull request #158 from KhronosGroup/separate-sampler-buffer
...
Fix case where samplerBuffer is emitted without combined sampler.
2017-04-02 11:13:27 +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
9bad477f16
Add vector-less IR construction to subclasses as well.
2017-04-01 16:08:19 +02:00
Hans-Kristian Arntzen
46f4695fb7
Merge pull request #156 from kayru/ir_array_ctor
...
Added a Compiler ctor that takes IR as raw array and count
2017-04-01 14:44:47 +02:00
Yuriy O'Donnell
ae8de51138
Added a Compiler ctor that takes IR as raw array and count
...
This avoids the need to construct a temporary std::vector on the application side just to create a Compiler instance if application itself doesn't use STL containers.
2017-04-01 14:35:42 +02:00
Hans-Kristian Arntzen
af75c7585a
Merge pull request #155 from KhronosGroup/cfg-parameter-preserve
...
Preserve function arguments if variable is only conditionally written.
2017-03-25 16:51:19 +01:00
Hans-Kristian Arntzen
c609eab443
Fix includes.
2017-03-25 16:43:26 +01:00
Hans-Kristian Arntzen
7193e9f500
Use --msl in Travis script.
2017-03-25 16:30:46 +01:00
Hans-Kristian Arntzen
bf5c07532c
Run format_all.sh.
2017-03-25 16:28:44 +01: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
a5546e9963
Merge pull request #154 from KhronosGroup/bitfield-fix
...
Fix bitfield functions.
2017-03-25 15:52:54 +01:00