Commit Graph

800 Commits

Author SHA1 Message Date
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
rob
fb1820e2f5 Geometry shader core since GLSL 150 2017-06-17 10:06:46 +09:00
Hans-Kristian Arntzen
fd9e7ccb93 Merge pull request #198 from brenwill/master
CompilerMSL add support for MSL specialization function constants.
2017-06-16 09:18:09 +02:00
Bill Hollings
7c6b07ece1 Merge branch 'master' of https://github.com/KhronosGroup/SPIRV-Cross 2017-06-15 15:26:13 -04:00
Bill Hollings
1f83856366 CompilerMSL add support for MSL specialization function constants.
CompilerMSL add emit_custom_functions() function.
CompilerMSL restrict use of as_type<> cast to necessary conditions.
CompilerMSL refactor get_declared_struct_member_size() and
get_declared_struct_member_alignment() functions, and remove
unnecessary get_declared_type_size() functions.
Add test shaders-msl/vulkan/frag/spec-constant.vk.frag.
2017-06-15 15:24:22 -04:00
Hans-Kristian Arntzen
2890da9284 Merge pull request #197 from Jasper-Bekkers/patch-1
Make image2dBase::load const
2017-06-13 19:40:46 +02:00
Jasper Bekkers
8ca48135d9 Make image2dBase::load const
imageLoad takes a const-ref to image and calls load on it, make the load method const to prevent compile error.
2017-06-13 13:41:11 +02:00
Hans-Kristian Arntzen
3ab1700073 Merge pull request #190 from brenwill/master
Emit type declarations tuned for specified SPIR-V objects + MSL builtin enhancements.
2017-06-02 15:34:06 +02:00
Bill Hollings
6f3381a5d3 Fixes from review of PR #190. 2017-06-01 16:29:39 -04:00
Bill Hollings
ba245697f1 Merge branch 'master' of https://github.com/KhronosGroup/SPIRV-Cross 2017-06-01 10:20:00 -04:00
Hans-Kristian Arntzen
03fd7ba068 Merge pull request #194 from Kode/fix
Fix shader model 2/3 texture sampling
2017-05-31 18:45:56 +02:00
Robert Konrad
111a30a7d8 Fix shader model 2/3 texture sampling 2017-05-31 16:53:43 +02:00
Hans-Kristian Arntzen
90966d50f5 Merge pull request #192 from KhronosGroup/cmake-install
Add CMake install support
2017-05-31 10:37:10 +02:00
Joao Paulo Magalhaes
87df893ba9 Add missing parenthesis from the merge. 2017-05-31 10:20:28 +02:00
Joao Paulo Magalhaes
87e09f47f2 fix core library name 2017-05-31 10:18:27 +02:00
Joao Paulo Magalhaes
3db95327ac Added install targets to cmake. The following tree is produced:
.
./bin
./bin/spirv-cross.exe
./include
./include/spirv_cross
./include/spirv_cross/GLSL.std.450.h
./include/spirv_cross/spirv.hpp
./include/spirv_cross/spirv_cfg.hpp
./include/spirv_cross/spirv_common.hpp
./include/spirv_cross/spirv_cpp.hpp
./include/spirv_cross/spirv_cross.hpp
./include/spirv_cross/spirv_glsl.hpp
./include/spirv_cross/spirv_msl.hpp
./lib
./lib/spirv-cross-core.lib
./lib/spirv-cross-cpp.lib
./lib/spirv-cross-glsl.lib
./lib/spirv-cross-msl.lib
./share
./share/spirv_cross
./share/spirv_cross/cmake
./share/spirv_cross/cmake/spirv_crossConfig-release.cmake
./share/spirv_cross/cmake/spirv_crossConfig.cmake
./share/spirv_cross_cpp
./share/spirv_cross_cpp/cmake
./share/spirv_cross_cpp/cmake/spirv_cross_cppConfig-release.cmake
./share/spirv_cross_cpp/cmake/spirv_cross_cppConfig.cmake
./share/spirv_cross_glsl
./share/spirv_cross_glsl/cmake
./share/spirv_cross_glsl/cmake/spirv_cross_glslConfig-release.cmake
./share/spirv_cross_glsl/cmake/spirv_cross_glslConfig.cmake
./share/spirv_cross_msl
./share/spirv_cross_msl/cmake
./share/spirv_cross_msl/cmake/spirv_cross_mslConfig-release.cmake
./share/spirv_cross_msl/cmake/spirv_cross_mslConfig.cmake
2017-05-31 10:18:27 +02:00
Hans-Kristian Arntzen
f77d91e077 Merge pull request #189 from KhronosGroup/flatten-multidimensional-arrays
Add support for flattening multidimensional arrays into single dimension
2017-05-31 10:08:03 +02:00
Hans-Kristian Arntzen
326a7ffdf0 Check multidimensional extension in type_to_glsl_constructor. 2017-05-31 10:00:52 +02:00
Hans-Kristian Arntzen
470ae7a7f6 Add multidimensional array flattening test. 2017-05-31 10:00:52 +02:00
Hans-Kristian Arntzen
f0044b91a3 Add support for flattening multidimensional arrays. 2017-05-31 09:59:00 +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
Hans-Kristian Arntzen
d93fcbdd9b Merge pull request #191 from hesiod/patch-1
Fix null pointer dereference
2017-05-30 21:57:48 +02:00
hesiod
ba381580af Fix null pointer dereference
write_string_to_file would try to write the error message that it failed to open a file stream to the very same file stream it just tried to open.
Fix this by writing to stderr instead.
2017-05-30 17:17:51 +03:00
Bill Hollings
b41e1482c8 Support emitting SPIR-V type declarations tuned for specified SPIR-V objects.
CompilerGLSL type_to_glsl() and image_type_glsl() functions support optional object ID.
Add SPIRType::Image::access member to support SPIR-V OpTypeImage access qualifier.
Remove SPIRType::Image::is_read and ::is_written members.
Use DecorationNonReadable and DecorationNonWritable to mark read/write access for image variables.
CompilerMSL emit access qualifiers per image variable, instead of per image type.
CompilerGLSL and CompilerHLSL behaviour is unchanged.
2017-05-29 20:45:05 -04:00
Bill Hollings
192bdc9516 CompilerMSL elide unused builtins from entry function input and output structs.
Add Compiler::has_active_builtin() function.
Update test reference shaders that included unused builtins.
2017-05-24 09:31:38 -04:00
Bill Hollings
d77de7ab80 CompilerMSL add support for MSL qualifiers on gl_ClipDistance and other array-based builtins. 2017-05-23 13:24:41 -04:00
Hans-Kristian Arntzen
20f7314881 Merge pull request #186 from brenwill/master
CompilerMSL map many GLSL functions to MSL functions
2017-05-23 17:35:12 +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
a3b25d12cb Merge pull request #178 from KhronosGroup/msl-point-size
Implement more sophisticated check for point_size.
2017-05-23 17:30:44 +09:00
Hans-Kristian Arntzen
8d43908e66 Fix ternary statement. 2017-05-23 10:15:22 +02: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
Bill Hollings
a71c547b30 CompilerMSL remove pad_and_pack_uniform_structs option from both API and CLI tool. 2017-05-22 16:38:38 -04:00
Bill Hollings
542e8c37ad Edits resulting from review of PR #186. 2017-05-22 13:38:23 -04:00
Bill Hollings
94fdcecce9 Merge branch 'master' of https://github.com/KhronosGroup/SPIRV-Cross 2017-05-22 11:57:25 -04:00
Hans-Kristian Arntzen
167fffd4af Enforce the standard builtin array names. 2017-05-22 15:55:42 +02:00
Hans-Kristian Arntzen
623eaebdf8 Add test shaders for SSO. 2017-05-22 15:53:38 +02:00
Hans-Kristian Arntzen
36650c890c Add separate shader object support.
Allow redeclaring gl_PerVertex for stage compatibility.
2017-05-22 15:53:21 +02:00
Hans-Kristian Arntzen
c3e6fdc579 Merge pull request #187 from KhronosGroup/spirv-1.2
Support SPIR-V 1.2.
2017-05-22 21:09:52 +09:00
Hans-Kristian Arntzen
e5595270c7 Support SPIR-V 1.2.
It's the default with recent spirv-as, so be more friendly.
2017-05-22 13:59:58 +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
a0d0a0ec9e Merge pull request #162 from KhronosGroup/hlsl-counter-buffer
Add interface for reflecting "magic" HLSL counter buffers.
2017-05-09 09:50:44 +02:00
Hans-Kristian Arntzen
4fef0f3227 Fix switch statement. 2017-05-09 09:41:17 +02:00
Hans-Kristian Arntzen
9c9e2674d2 Fix typo. 2017-05-09 09:38:33 +02:00