Commit Graph

86 Commits

Author SHA1 Message Date
Bill Hollings
ba245697f1 Merge branch 'master' of https://github.com/KhronosGroup/SPIRV-Cross 2017-06-01 10:20:00 -04:00
Robert Konrad
111a30a7d8 Fix shader model 2/3 texture sampling 2017-05-31 16:53:43 +02: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
Hans-Kristian Arntzen
08b3c674a9 Check size of name before testing for @count. 2017-05-09 09:30:30 +02:00
Hans-Kristian Arntzen
e897d154ac Cleanups. 2017-05-07 13:39:15 +02:00
Hans-Kristian Arntzen
947f7010c7 HLSL: Use emit_sampled_image_op instead. 2017-05-07 13:28:08 +02: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
36e1c470a2 Fix formatting. 2017-05-06 13:59:00 +02:00
Hans-Kristian Arntzen
f4d7268565 GLSL will also need shadow state analysis.
Refactor stuff out to top-level.

Fix some bugs with combined shadow samplers in regular GLSL.
2017-05-06 13:21:35 +02:00
Hans-Kristian Arntzen
100e9d34b8 HLSL: Basic support for separate image/samplers. 2017-05-06 12:39:04 +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
Bill Hollings
012cb25b7d CompilerMSL remove option to flip fragment coordinates. 2017-04-25 11:25:50 -04: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
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
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
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
Robert Konrad
3804292c43 Merge branch 'master' of github.com:KhronosGroup/SPIRV-Cross into fix 2017-04-03 11:43:35 +02:00
Robert Konrad
61b561772c Fix HLSL matrix unrolling 2017-04-03 11:38:15 +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
bf5c07532c Run format_all.sh. 2017-03-25 16:28:44 +01:00
Robert Konrad
f3a82778f9 Fix OpLogicalNot in HLSL 2017-03-24 15:00:48 +01:00
Robert Konrad
a7e2a69a6f Add bit casting to HLSL 2017-03-24 14:13:59 +01:00
Robert Konrad
e7b0258556 Add more HLSL instructions 2017-03-24 13:58:39 +01:00
Robert Konrad
3f74503aca Prefer plain texture2D in legacy es vertex shaders
WebGL supports lod texture funcs only in fragment
shaders but SPIR-V supports only lod texture funcs
in vertex shaders. This reverts calls which were
forced (infered from using a 0 constant) to use
an lod to plain calls in vertex shaders when
using legacy es.
2017-03-23 10:11:45 +01:00
Hans-Kristian Arntzen
eb6a415d4c Run format_all.sh. 2017-03-21 13:48:50 +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
3eed439643 Run format.sh. 2017-03-21 13:48:50 +01:00
Hans-Kristian Arntzen
439fa9f4a2 Handle I/O blocks separately from regular inputs and outputs. 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
2ebe1a87a1 Run format_all.sh. 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
099f307123 Add traversal for active builtin variables.
Refactor some ugly type-copying for access chains.
2017-03-21 13:48:28 +01:00