Hans-Kristian Arntzen
fadaec205b
Improvements to legacy GLSL output.
...
- By default, emit uniform structs for UBOs, like push constant.
- Forward transpose information,
and optimize transpose(matrix) * vector to vector * matrix.
2017-01-13 16:31:13 +01:00
Hans-Kristian Arntzen
a3bac9e4ce
Merge pull request #95 from KhronosGroup/msvc-maintenance
...
MSVC maintenance.
2017-01-12 12:23:05 +01:00
Hans-Kristian Arntzen
ce3fe29557
MSVC maintenance.
2017-01-12 10:57:44 +01:00
Hans-Kristian Arntzen
b50513c03a
Merge pull request #94 from eoma/fix-locale-independent-float-conversions
...
Use the classic locale when converting floats to string
2017-01-11 19:17:36 +01:00
Endre Oma
6ad8b307a1
Use the classic locale when converting floats to string
2017-01-11 17:06:06 +01:00
Hans-Kristian Arntzen
4c05b8c3e3
Merge pull request #93 from eoma/fix-glm-swizzle
...
Switch to GLM_FORCE_SWIZZLE from deprecated GLM_SWIZZLE
2017-01-09 20:53:32 +01:00
Endre Oma
42ca3d9956
Switch to GLM_FORCE_SWIZZLE from deprecated GLM_SWIZZLE
2017-01-09 18:03:54 +01:00
Hans-Kristian Arntzen
81238656ea
Merge pull request #91 from brenwill/master
...
Refactor emit_texture_op() function.
2017-01-08 15:14:56 +01:00
Bill Hollings
4e915e8c48
Run style formatter.
2017-01-08 08:52:57 -05:00
Bill Hollings
4a6358bb9f
Add clean_func_name() to support overrides to function names.
2017-01-07 22:15:58 -05:00
Bill Hollings
e6dab816b0
Removed names of unused function parameters.
2017-01-07 15:55:04 -05:00
Bill Hollings
91367799b0
Merge branch 'master' of https://github.com/KhronosGroup/SPIRV-Cross
2017-01-06 14:13:56 -05:00
Hans-Kristian Arntzen
c7659507e8
Merge pull request #90 from gwihlidal/master
...
Improve useability of get_decoration and friends.
2017-01-05 23:07:40 +01:00
Graham Wihlidal
2edc350aa1
Remove whitespace
2017-01-05 21:04:42 +01:00
Graham Wihlidal
bcfe2be332
Coding style fix
2017-01-05 21:02:57 +01:00
Graham Wihlidal
9b1ee8f10a
Improve fix for boolean decorations queried in get_decoration, added support to get_member_decoration, and updated comments to reflect the change in behavior.
2017-01-05 21:01:49 +01:00
Graham Wihlidal
acd98ac0d5
Fix typo in comment
2017-01-05 21:00:05 +01:00
Graham Wihlidal
a4818f4391
Explicitly truncate (to keep the fprintf easily portable)
2017-01-05 20:51:14 +01:00
Hans-Kristian Arntzen
0338a5c755
Merge pull request #89 from KhronosGroup/nowrite-noread-fix
...
Fix handling of NoWrite/NoRead decoration for images.
2017-01-05 20:37:59 +01:00
Graham Wihlidal
862a71b4d3
Fix Compiler::get_decoration to correctly return > 0 if DecorationNonWritable or DecorationNonReadable are specified.
2017-01-05 20:19:59 +01:00
Graham Wihlidal
fadc1f9e10
Fix for "error C4146: unary minus operator applied to unsigned type, result still unsigned"
2017-01-05 20:14:53 +01:00
Graham Wihlidal
33bee8a12e
Fix for "warning C4267: '=': conversion from 'size_t' to 'uint32_t', possible loss of data"
2017-01-05 20:14:34 +01:00
Hans-Kristian Arntzen
97f7ab865a
Fix handling of NoWrite/NoRead decoration for images.
...
The old workaround for glslang is no longer needed, so only apply workaround
carefully.
2017-01-05 18:16:33 +01:00
Hans-Kristian Arntzen
3576cfb158
Fix warning in MSL.
2017-01-05 18:16:22 +01:00
Bill Hollings
e27a5f7df6
CompilerMSL refactored to simplify handling of vertex attributes.
...
Combine all vertex attributes into a single stage_in structure.
Remove unneeded structure members from MSLConfiguration, MSLVertexAttr and Meta::Decoration.
Remove unneeded CompilerMSL functions that supported struct offsets and padding.
2017-01-01 14:43:20 -05:00
Bill Hollings
a2b8a0e5c9
Refactor emit_texture_op() function.
...
CompilerGLSL add to_function_name() and to_function_args() functions to organize
structure of emit_texture_op() function.
CompilerMSL add support for MSL gather(), gather_compare() and sample_compare() functions.
2016-12-28 18:36:42 -05:00
Hans-Kristian Arntzen
c8e2269a78
Merge pull request #87 from brenwill/master
...
MSL enhancements
2016-12-22 11:22:16 +01:00
Bill Hollings
7d38f1822a
CompilerMSL fixes to support pull-request feedback.
...
Make Compiler::OpcodeHandler and Compiler::traverse_all_reachable_opcodes protected
instead of private, for use by subclasses.
Add CompilerMSL::CustomFunctionHandler and traverse_all_reachable_opcodes() to detect
active opcodes that require the output of a custom function.
CompilerMSL::custom_function_ops use std::set to retain ordering to improve testability.
2016-12-21 16:31:13 -05:00
Bill Hollings
b1b68db835
Resolve conflict with upstream pull.
2016-12-21 11:43:32 -05:00
Hans-Kristian Arntzen
9ccd1aea42
Merge pull request #85 from godlikepanos/master
...
Add the option to build without exceptions
2016-12-19 12:32:04 +01:00
Bill Hollings
1a5dc0edcd
CompilerMSL support emitting custom functions for SPIR-V ops.
...
CompilerMSL use custom mod() function instead of Metal's fmod() function.
2016-12-18 21:42:10 -05:00
Bill Hollings
32ae2eceed
CompilerMSL enhancements to handling of in/out variables.
...
CompilerMSL sort in/out attributes by attribute number (location). Sort inputs in reverse order.
CompilerMSL propagate incoming vertex attribute offset values.
CompilerMSL elide unused in/out variables.
CompilerMSL replace use of sets with unordered_sets.
2016-12-18 18:48:15 -05:00
Bill Hollings
09c1e10d43
Merge branch 'master' of https://github.com/KhronosGroup/SPIRV-Cross
2016-12-17 17:15:14 -05:00
Bill Hollings
e73e8e4f48
Add support for the BuiltInClipDistance builtin for MSL.
...
CompilerGLSL builtin_to_glsl() function outputs gl_ClipDistance for BuiltInClipDistance
builtin, and includes builtin code in output when handling unknown builtin code.
CompilerMSL uses type ID instead of type object where appropriate to support array types,
where type.self is not consistent with actual type ID, plus support array stride calc
even when not explicitly set by SPIR-V code.
For output consistency, CompilerMSL prefers use of standard builtin names over specified
names, and output builtins qualified with output struct while in entry function.
2016-12-17 17:07:53 -05:00
Hans-Kristian Arntzen
2f48065ec1
Merge pull request #86 from KhronosGroup/for-loop-fix
...
Fix for loops for legacy ESSL.
2016-12-16 14:14:19 +01:00
Hans-Kristian Arntzen
44b3216611
Sort loop variables to make sure Travis CI runs are reproducable.
2016-12-16 14:01:09 +01:00
Hans-Kristian Arntzen
45c797d54c
Improve debuggability of Travis CI when things go wrong.
2016-12-16 13:48:30 +01:00
Hans-Kristian Arntzen
d11b8aa3ef
Optimize += 1, -= 1 to ++, --.
...
Purely cosmetic, but easier to read.
2016-12-16 13:24:49 +01:00
Hans-Kristian Arntzen
62613df5a5
Optimize for read-modify-writes.
...
Required for legacy loop increments.
2016-12-16 13:14:22 +01:00
Hans-Kristian Arntzen
a714d424d0
Add directed test for for-loop-init.
2016-12-16 12:43:12 +01:00
Panagiotis Christopoulos Charitos
7f69f9395e
Rework after review
2016-12-15 20:46:10 +01:00
Hans-Kristian Arntzen
51d45511a6
Check if we can use multiple initializers.
...
Need same type and qualifiers in GLSL and friends.
2016-12-15 17:54:49 +01:00
Panagiotis Christopoulos Charitos
946f7796c1
Add an option to disable exceptions
...
Some refactoring in the no-exceptions case
Grooming the no-exceptions patch for pull request
2016-12-15 17:49:01 +01:00
Hans-Kristian Arntzen
4f07a32c29
Begin implementing for loop initializer propagation.
2016-12-15 17:44:47 +01:00
Hans-Kristian Arntzen
fcc962057a
Merge pull request #84 from brenwill/master
...
Support row-major matrices in access chain when not natively supporte…
2016-12-15 09:51:46 +01:00
Bill Hollings
1358362075
Fixes to non-native row-major matrix support.
...
Add support for OpLoad. Throw exception for non-square non-native row-major matrix.
Update variable and function names to clarify purposes.
2016-12-14 02:12:52 -05:00
Bill Hollings
343677e639
Support row-major matrices in access chain when not natively supported by backend (MSL).
2016-12-11 11:01:08 -05:00
Hans-Kristian Arntzen
875c32fd39
Use correct link for Travis CI build status.
2016-12-08 22:33:40 +01:00
Hans-Kristian Arntzen
0a065ff594
Add Travis CI build result to README.
2016-12-08 22:31:27 +01:00
Hans-Kristian Arntzen
b8cdb69220
Merge pull request #83 from zeux/travis-ci
...
Add Travis build
2016-12-08 21:36:32 +01:00