Commit Graph

475 Commits

Author SHA1 Message Date
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
Robert Konrad
1a48d7d4fc Output code for OpFMod in HLSL when required 2016-08-18 12:54:22 +02:00
Robert Konrad
8e9bf1f7af Implement some common GLSL lib insts in HLSL
Because some are the same and some are not.
2016-08-18 12:40:35 +02:00
Robert Konrad
7534b224d9 Add remaining matrix multiplication ops for HLSL 2016-08-18 11:45:50 +02:00
Robert Konrad
f3740a00ee Support HLSL shader models > 3 2016-08-18 00:51:12 +02:00
Hans-Kristian Arntzen
15679c724f Range check Compiler::get_member_decoration. 2016-08-17 11:35:34 +02:00
Robert Konrad
95a716f7de Adjust HLSL vertex shader positions
Pixel positions (because of D3D9 half-pixel positions)
and depth (adjust to -1/1).
Optionally using D3D11 pixel positions and no depth
adjustment still to do.
2016-08-16 00:27:39 +02:00
Robert Konrad
a896868215 Sort variables in HLSL input/output structs
To make binding numbers the same in all
shader stages.
2016-08-15 20:33:10 +02:00
Robert Konrad
da5f99bb6d Handle matrix times vector ops correctly in HLSL 2016-08-14 23:54:51 +02:00
Robert Konrad
d2b29c900e Add basic HLSL texture support 2016-08-14 23:09:06 +02:00
Robert Konrad
e9cd04e8ec Format code 2016-08-14 22:02:38 +02:00
Robert Konrad
80fcf554f9 Handle HLSL input/output 2016-08-14 21:33:32 +02:00
Robert Konrad
096d46f62c Start supporting proper HLSL type names 2016-08-14 20:28:52 +02:00