Граф коммитов

52 Коммитов

Автор SHA1 Сообщение Дата
Hans-Kristian Arntzen d89d0e01fc Run format_all.sh. 2017-07-24 09:29:20 +02:00
Jason Chan 3281e8278f move the spirv_glsl.cpp specific logic to main.cpp 2017-06-25 15:16:09 +02:00
Jason Chan f03d377faa fix tab indent 2017-06-23 22:23:26 +02:00
Jason Chan 9f1eb5a20d added --rename-interface-variable <in|out> <location> <new_variable_name> 2017-06-23 22:20:42 +02:00
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
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 a71c547b30 CompilerMSL remove pad_and_pack_uniform_structs option from both API and CLI tool. 2017-05-22 16:38:38 -04: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 ec45c9efb3 Add interface for reflecting "magic" HLSL counter buffers. 2017-05-09 09:21:54 +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 5ad73f33f5 MSL fixes from review of PR 134.
Remove unnecessary use of std:: prefix in spirv_msl.cpp.
Use typedef instead of #define.
spirv-cross deprecate --metal CLI option and replace with --msl option.
2017-03-19 21:06:21 -04: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 eb5e09fa64 Run format_all.sh. 2017-02-23 19:33:14 +01:00
Hans-Kristian Arntzen 2e3c6ec6a9 Add option to set HLSL shader model. 2017-02-16 11:17:12 +01:00
Hans-Kristian Arntzen c92b839ecb Fix crash when passing wrong arguments.
THROW() did not actually throw in exception-enabled builds, silly
oversight.
2017-02-16 11:06:57 +01:00
Hans-Kristian Arntzen 24df8f0019 Run format_all.sh. 2017-02-04 10:26:26 +01:00
Hans-Kristian Arntzen 18c37bcdab Update license headers for 2017. 2017-01-28 09:00:40 +01:00
Robert Konrad 216a6816cd Add --hlsl command line option 2017-01-25 17:30:52 +01:00
Hans-Kristian Arntzen 7f787f09dc Add flattening support for push constants. 2017-01-21 10:27:14 +01:00
Arseny Kapoulkine 24c66250c7 Add tests for buffer block flattening 2017-01-17 23:26:18 -08:00
Hans-Kristian Arntzen 27f4f75513 Run format_all.sh. 2017-01-13 16:32:54 +01:00
Hans-Kristian Arntzen ce3fe29557 MSVC maintenance. 2017-01-12 10:57:44 +01: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 bcfe2be332 Coding style fix 2017-01-05 21:02:57 +01:00
Graham Wihlidal a4818f4391 Explicitly truncate (to keep the fprintf easily portable) 2017-01-05 20:51:14 +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
Panagiotis Christopoulos Charitos 7f69f9395e Rework after review 2016-12-15 20:46:10 +01:00
Hans-Kristian Arntzen b9600aa8d3 Only dump block size for blocks which have a physical size.
I/O variables can also be blocks, but they have no physical size.
2016-11-29 09:07:51 +01:00
Hans-Kristian Arntzen 2d79d365dc Fix get_declared_struct_size for nested arrays of structs.
The array size was dropped from consideration during recursion.
2016-11-28 15:01:36 +01:00
Hans-Kristian Arntzen b847c88559 Cleanup, and make cfg analysis optional. 2016-11-18 17:06:49 +01:00
Hans-Kristian Arntzen 6bd545bc6b Basic support for specialization constant reflection. 2016-10-03 12:29:46 +02:00
Panagiotis Christopoulos Charitos 66e76d903f Add support of variable type remapping 2016-09-20 10:26:07 +02:00
Hans-Kristian Arntzen 378fbe8b92 Consistently use "image" nomenclature for separate images. 2016-09-11 13:48:25 +02:00
Hans-Kristian Arntzen a5f0abdc11 Use the "SPIRV_Cross" naming scheme for generated uniforms. 2016-09-11 12:13:31 +02:00
Hans-Kristian Arntzen 1b5ca8d868 Move combined image hiding logic into is_hidden. 2016-09-10 16:20:19 +02:00
Hans-Kristian Arntzen bcb5560109 Sketch out interface for combined image samplers. 2016-09-10 13:56:36 +02:00
Hans-Kristian Arntzen e92020819e Add reflection support for separate textures and samplers. 2016-09-10 13:05:35 +02:00
Hans-Kristian Arntzen f61a5d1e5d Implement dead variable elimination. 2016-08-26 12:58:50 +02:00
Hans-Kristian Arntzen 042475e88e Add support for multiple entry points.
- Only consider I/O variables if part of OpEntryPoint.
- Keep a safe fallback if #entry-points is 1 to avoid potentially
  breaking previously working shaders.
2016-07-28 13:18:55 +02:00
Hans-Kristian Arntzen 5c24d99ff2 Add distinction between type_id and base_type_id in resource interface.
type_id was not intuitive and did not allow for parsing array sizes of
variables.

Expose another member, base_type_id which will provide the base type
suitable for parsing metadata such as decorations and type_id will now
point to the actual type which includes full type information such as
arrays and so on.
2016-07-12 21:20:18 +02:00
Hans-Kristian Arntzen 078eec5894 Add support for generic remapping of variables. 2016-07-06 11:04:06 +02:00
Hans-Kristian Arntzen 3c285a15e0 Add support for reflecting execution modes. 2016-07-04 13:30:05 +02:00
Hans-Kristian Arntzen c172a3507c Add support for custom C++ interface names.
Mostly useful for baking several shaders into the same binary without
getting symbol collisions.
2016-05-30 21:45:16 +02:00
Hans-Kristian Arntzen dbee4e4346 Add support for Vulkan GLSL as output target.
Mostly useful for debugging SPIR-V where it is useful to see the
"original" Vulkan GLSL constructs which created the SPIR-V.
2016-05-05 10:44:45 +02:00
Hans-Kristian Arntzen 926916d745 Add -Wshadow.
Fixes lots of dubious variable shadowing.
2016-05-05 09:15:25 +02:00
Bill Hollings 2b1e6a8706 Merge branch 'master' of https://github.com/KhronosGroup/SPIRV-Cross 2016-05-04 12:02:45 -04:00
Hans-Kristian Arntzen 12cfbb221f Add support for querying DecorationInputAttachmentIndex.
Was missing from OpDecoration handling.
2016-05-04 13:41:04 +02:00
Bill Hollings 5f2d666b69 Add CLI support for Metal. 2016-04-11 11:31:03 -04:00