Hans-Kristian Arntzen
f3220833e8
Fix triangle mode in tessellation output.
2016-09-28 08:12:04 +02:00
Hans-Kristian Arntzen
6204d8e45d
Move static extension checking out to appropriate method.
...
Also make sure extra statements are placed after extensions as extra
statements can depend on extensions.
2016-09-23 14:25:11 +02:00
Hans-Kristian Arntzen
62d223adda
Comment the workaround for layout_for_variable.
2016-09-21 08:20:04 +02:00
rob
ace1911bd4
No layout qualifiers for versions that can't support GL_ARB_shading_language_420pack
2016-09-21 13:20:28 +09:00
rob
42fe8c31f1
Do not add layout qualifiers to variables for GLSL versions that don't support it
2016-09-21 10:21:52 +09:00
Hans-Kristian Arntzen
4d4e6d7a41
Document variable type remap interface a bit more.
...
Fix some minor missing pieces from C++.
Type remapping like this doesn't seem to fit MSL backend so well, as it
does a lot of remapping internally on its own.
Type name remapping, really is for fringe extension cases in GLSL which
aren't yet supported in SPIR-V.
2016-09-20 10:55:09 +02:00
Panagiotis Christopoulos Charitos
66e76d903f
Add support of variable type remapping
2016-09-20 10:26:07 +02:00
Hans-Kristian Arntzen
6cc9624e88
Run format.sh.
2016-09-17 18:46:10 +02:00
Lubos Lenco
30dfd0d9b7
Clean up.
2016-09-17 18:42:38 +02:00
Lubos Lenco
1caaf2bba6
Typo.
2016-09-17 15:59:41 +02:00
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
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
378fbe8b92
Consistently use "image" nomenclature for separate images.
2016-09-11 13:48:25 +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
dfb6597ee4
Begin redirecting separate params to other params.
2016-09-11 12:05:20 +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
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
f61a5d1e5d
Implement dead variable elimination.
2016-08-26 12:58:50 +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
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
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
fc2230ffff
Add support for int64/uint64 in GLSL.
2016-07-27 11:31:58 +02:00
Hans-Kristian Arntzen
fa0255c43b
Add support for FP64 in GLSL.
2016-07-27 11:31:54 +02:00
Hans-Kristian Arntzen
81d00da573
Implement OpImageQueryLevels.
2016-07-19 09:28:32 +02:00
Hans-Kristian Arntzen
1b4f7662d3
Add support for OpImageQueryLod.
2016-07-19 09:23:49 +02:00
Hans-Kristian Arntzen
7d8add33e4
Avoid conflict with C99 keyword.
2016-07-12 15:00:10 +02:00
Hans-Kristian Arntzen
36a0b63f28
Fix various corner cases with expression dependencies.
...
There was a potential problem if variables were invalidated and SPIR-V
read expressions which depended on other expression which in turn depended on the
invalidated variable.
Also fixes issue where variables were considered immutable if they were
forwardable. This allowed some incorrect optimizations to slip through.
2016-07-12 14:50:23 +02:00
Hans-Kristian Arntzen
606ecce0f1
Handle all desktop image formats.
2016-07-12 09:35:15 +02:00
Hans-Kristian Arntzen
3265e1fc3f
Implement subpassInputMS loading.
2016-07-11 13:36:11 +02:00
Hans-Kristian Arntzen
7af13b68d5
Support ImageRead/Write on multisampled images.
2016-07-11 13:26:22 +02:00
Hans-Kristian Arntzen
2c7d2e4d3c
Implement OpImageQuerySamples.
2016-07-11 12:47:46 +02:00
Hans-Kristian Arntzen
078eec5894
Add support for generic remapping of variables.
2016-07-06 11:04:06 +02:00
Hans-Kristian Arntzen
8e63c770da
Add explicit support for remapping variables.
...
Will enable use of extensions like framebuffer fetch, last fragment
depth and so on.
2016-07-06 09:58:01 +02:00
Hans-Kristian Arntzen
d5dc5f3f1c
Fix issue with new glslang behavior for samplers as parameters.
...
Check case where storage class uniform is passed as function parameter.
2016-07-05 13:21:26 +02:00
Hans-Kristian Arntzen
05a97883d2
Don't emit invocation layout for invocations == 1.
2016-06-23 13:49:19 +02:00
Hans-Kristian Arntzen
4bb9f092ab
Only split expression in OpCompositeExtract if we forward the temporary.
2016-06-23 12:13:41 +02:00
Hans-Kristian Arntzen
9d4360fddf
Fix sampler2DMS texelFetch.
2016-06-22 12:35:58 +02:00
Hans-Kristian Arntzen
5f629276a7
Use Boolean instead of Bool.
...
Xlib.h header uses a very ugly define for Bool which conflicts with
SPIRV-Cross.
The hassle free solution is to use Boolean instead.
2016-06-05 20:13:45 +02:00