Commit Graph

263 Commits

Author SHA1 Message Date
Lubos Lenco
521586445f Clean up. 2016-09-17 15:56:23 +02:00
Lubos Lenco
80c394160a Legacy GLES extensions. 2016-09-17 14:33:16 +02:00
Hans-Kristian Arntzen
b812cec992 Merge pull request #52 from h3xl3r/master
Fix for array textures in GLSL < 130, and fix for MSL sequential resource binding
2016-09-17 14:20:52 +02:00
Rob Fischer
691072894f Reset MSL sequential resource binding EACH pass 2016-09-17 18:30:58 +09:00
Rob Fischer
2199063e3c For arrayed textures in GLSL < 130, require GL_EXT_texture_array and emit correct texture lookup function names 2016-09-17 17:01:50 +09:00
Hans-Kristian Arntzen
5fa4bc6874 Merge pull request #51 from h3xl3r/master
Emit header_lines for MSL also
2016-09-17 08:46:29 +02:00
Rob Fischer
e2a37b6301 Emit header_lines for MSL also 2016-09-17 12:21:37 +09:00
Hans-Kristian Arntzen
f1079941c4 Merge pull request #50 from h3xl3r/master
Correct vector's size begin checked
2016-09-16 08:03:17 +02:00
Rob Fischer
3e45786fbc Correct vector's size begin checked
This caused a null pointer being used when called with p_vtx_attrs = nullptr and p_res_bindings != nullptr
2016-09-16 09:14:22 +09:00
Hans-Kristian Arntzen
706d3ead29 Always run spirv-val for SPIR-V files created.
Add way to disable testing if SPIR-V is not validating properly.
2016-09-12 20:11:30 +02:00
Hans-Kristian Arntzen
88681fd7fd Struct packing test now works again in glslang. 2016-09-12 19:39:43 +02:00
Hans-Kristian Arntzen
41f9fd9ef0 Merge pull request #48 from KhronosGroup/combined-image-samplers
Support separate image samplers in GLSL/ESSL
2016-09-11 19:18:17 +02:00
Hans-Kristian Arntzen
378fbe8b92 Consistently use "image" nomenclature for separate images. 2016-09-11 13:48:25 +02:00
Hans-Kristian Arntzen
3c5f55cde1 Add special test for more coverage in combined image sampler. 2016-09-11 13:41:38 +02:00
Hans-Kristian Arntzen
50839910a2 Separate image samplers are compatible now. 2016-09-11 13:26:03 +02:00
Hans-Kristian Arntzen
fab9ee8adf Update separate sampler test. 2016-09-11 13:23:38 +02:00
Hans-Kristian Arntzen
b4c67dafdd Pass down combined samplers to callees. 2016-09-11 13:20:35 +02:00
Hans-Kristian Arntzen
bff273636f Skip arguments if necessary. 2016-09-11 13:05:44 +02:00
Hans-Kristian Arntzen
313cb5f820 Declare shadow arguments. 2016-09-11 12:54:08 +02:00
Hans-Kristian Arntzen
948930b171 Build new IDs for shadow arguments. 2016-09-11 12:36:12 +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
dfb6597ee4 Begin redirecting separate params to other params. 2016-09-11 12:05:20 +02:00
Hans-Kristian Arntzen
ed98a8ec86 Begin implementing parameter remapping for combined image sampler.
The basic idea here is that all functions will have a list of which
combinations of parameters will be combined inside the function.
The caller will then know which combined samplers must be provided to
the callee in order to satisfy it.
2016-09-11 11:39:20 +02:00
Hans-Kristian Arntzen
901b45e09a Fix remap_parameter.
Need to return after backing variable resolve.
2016-09-10 22:21:57 +02:00
Hans-Kristian Arntzen
dd1513b814 Trace usage of image/sampler variants through calls. 2016-09-10 21:52:22 +02:00
Hans-Kristian Arntzen
14bc1ffed8 Correctly emit variable declarations for combined image samplers.
Only support direct accesses to global variables in this commit.
2016-09-10 18:09:32 +02:00
Hans-Kristian Arntzen
71bacc4469 Basic combined image sampler emulation hooked up. 2016-09-10 17:48:52 +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
32b463f740 Only check for image load/store if sampling type is 2.
uniform texture2D is sampling type 1.
2016-09-10 13:00:07 +02:00
Hans-Kristian Arntzen
b6847168b2 Update test suite for latest glslang. 2016-09-10 12:53:41 +02:00
Bill Hollings
b4ce4e4b2f MSL handle input structs originating from HLSL. 2016-08-31 22:51:51 -04:00
Bill Hollings
cf476f36d1 Merge MSL with upstream. 2016-08-31 21:00:56 -04:00
Hans-Kristian Arntzen
bf41aeccb3 Merge pull request #45 from KhronosGroup/eliminate-dead-variables
Implement dead variable elimination.
2016-08-26 13:54:14 +02:00
Hans-Kristian Arntzen
885c24fab5 Use correct types in C++ in/out variables. 2016-08-26 13:43:21 +02:00
Hans-Kristian Arntzen
f61a5d1e5d Implement dead variable elimination. 2016-08-26 12:58:50 +02:00
Hans-Kristian Arntzen
bd5eb1d2c6 Merge pull request #42 from KhronosGroup/legacy-frag-data-fix
Fix legacy GLSL output with gl_FragData.
2016-08-18 13:06:44 +02:00
Hans-Kristian Arntzen
6ae838c192 Fix legacy GLSL output with gl_FragData.
If the source GLSL file accessed gl_FragData, we got double up
with array access, giving invalid GLSL.
2016-08-18 12:55:19 +02:00
Hans-Kristian Arntzen
15679c724f Range check Compiler::get_member_decoration. 2016-08-17 11:35:34 +02:00
Hans-Kristian Arntzen
1c78f353a4 Merge pull request #39 from KTXSoftware/master
Change variable names beginning with gl_ in GLSL
2016-08-13 23:41:50 +02:00
Robert Konrad
3a40860869 Remove unused variable in replace_illegal_names 2016-08-13 22:56:53 +02:00
Robert Konrad
866cb014d1 Never try to rename remapped variables
Because remapping is used to map to builtins.
2016-08-13 22:56:08 +02:00
Hans-Kristian Arntzen
0eb89ecce0 Fix mistaken nullptr returned instead of empty string. 2016-08-13 10:31:29 +02:00
Robert Konrad
7693656d68 Change variable names beginning with gl_ in GLSL
Using old-school GLSL as input containing code ala
"gl_FragColor = whatever" resulted in illegal
declarations ala "out vec4 gl_FragColor;".
2016-08-13 00:14:52 +02:00
Hans-Kristian Arntzen
b34a0067a2 Merge pull request #36 from KTXSoftware/master
Do not try to pump OpLine instructions into a block
2016-08-12 11:52:11 +02:00
Robert Konrad
8f7c1af046 Do not try to pump OpLine instructions into a block
When the SPIR-V includes metadata for debugging
(aka OpLine instructions) the CompilerError at
line 1588 was eventually triggered.
2016-08-10 02:43:51 +02:00
Bill Hollings
0dfeabc6d2 Merge branch 'master' of https://github.com/KhronosGroup/SPIRV-Cross 2016-08-01 15:38:57 -04:00
Hans-Kristian Arntzen
85fb618f96 Merge pull request #35 from KhronosGroup/multiple-entry-points-impl
Add support for multiple entry points.
2016-07-29 08:03:49 +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