John Kessenich
438bb6093a
Merge pull request #322 from steve-lunarg/intrinsics
...
HLSL: Initial implementation of direct-mapped subset of HLSL intrinsics
2016-06-03 10:47:34 -06:00
GregF
39d5e711a7
remapper: do not eliminate interface variables in dce by default
...
this is done by counting op_entrypoint as a use/def
2016-06-03 09:57:57 -06:00
LoopDawg
4b67732c13
Initial implementation of direct-mapped subset of HLSL intrinsics with type subset.
...
This checkin implements about half of the HLSL intrinsics for a subset of their
entire type support (but a useful subset). The uncommented lines in
TBuiltInParseablesHlsl::identifyBuiltIns shows which are connected.
2016-06-03 08:28:29 -06:00
John Kessenich
85b52f304d
Merge pull request #323 from dneto0/mingw-static-link-against-basic-runtimes
...
Build: For MinGW, statically link exes against basic runtimes
2016-06-02 23:51:45 -06:00
John Kessenich
a5c33d6ffb
SPV: Fix issue #320 : Fetch needs to extract the image.
...
GLSL takes a traditional sampler, but SPIR-V wants just the
sampled image, not the combined sampler and image.
2016-06-02 23:47:29 -06:00
David Neto
b37dc0e458
For MinGW, statically link exes against basic runtimes
...
Avoids the need to ship basic runtimes like libgcc_s_sjlj-1.dll
with the executables.
2016-06-02 14:37:24 -04:00
John Kessenich
98f2b3bfe0
Merge pull request #311 from jherico/debug_postfix
...
Build: Produce different names for files in debug builds on MSVC
2016-06-01 18:39:18 -06:00
John Kessenich
85b332688b
Merge pull request #317 from iostrowsINTEL/double_matrix_fix
...
SPV: Fix double matrix creation
2016-06-01 18:26:52 -06:00
iostrows
af7f1c8f24
Fix double matrix creation
2016-06-01 16:40:00 +02:00
Johannes van Waveren
1fd017546a
turn -x into an option next to -o
2016-05-31 08:39:41 -05:00
John Kessenich
548c3adecd
Front-end: Complete GL_ARB_compute_shader, previous commit was missing new barriers.
...
This amends the previous commit, which ommitted barriers in version 420 for compute shader.
2016-05-30 19:38:39 -06:00
John Kessenich
d94c003fb7
Front-end: Complete GL_ARB_compute_shader implementation.
...
Core compute shaders were working, but the extension wasn't implemented.
2016-05-30 19:29:40 -06:00
John Kessenich
0f5e3ad23c
Fix issue #313 : Catch internal attempts to modify built-in symbols that don't exist.
...
Also beefed up support for running compute shaders is #version 420, but this
work is only partially done.
2016-05-29 18:24:31 -06:00
Johannes van Waveren
ecb0f3b75b
Added -x option to save SPIR-V as 32-bit hexadecimal numbers to a text file.
2016-05-27 12:55:53 -05:00
John Kessenich
5a7f0eff69
Merge pull request #230 from dekimir/incresconst
...
Make two more IncludeResult members const.
2016-05-25 17:43:54 -06:00
John Kessenich
7d8141987c
Merge pull request #309 from jekstrand/sampler-params
...
SPV: Don't shadow sampler parameters when performing function calls
2016-05-25 17:35:54 -06:00
John Kessenich
747c328ce4
Merge pull request #308 from thp/multiple-es-compilation-units
...
Link: Handle multiple ES profile compilation units for a single shader stage
2016-05-25 17:31:58 -06:00
Jason Ekstrand
76d0ac1a6f
SPV: Don't shadow sampler parameters when performing function calls
...
Fixes #179
2016-05-25 13:49:47 -07:00
Brad Davis
1e194e8613
Produce different names for files in debug builds on MSVC
2016-05-25 13:08:34 -07:00
Thomas Perl
7bfd08d21c
Check for linking multiple ES shaders to the same stage
2016-05-25 09:26:43 +02:00
Thomas Perl
0bb546f8ae
Fix test case for the "empty" linker test case
...
The test result should only give one error about linking
ES and non-ES shading language compilation units:
- empty.frag: No version info, interpreted as 100, ES
- empty2.frag: No version info, interpreted as 100, ES
- empty3.frag: Version declared as 110, non-ES
Previously, because the new intermediate is always created
without version/profile information, there would be two
linker errors:
1.) When merging the new intermediate with empty.frag
2.) When merging (new intermediate + empty.frag + empty2.frag) with empty3.frag
Now, there is only one error; as the error with merging the
new intermediate with empty.frag has been removed.
2016-05-24 13:24:24 +02:00
Thomas Perl
b40a6d6b40
Use version/profile from first compilation stage
...
When linking multiple compilation units per shader stage,
the code creates a new intermediate, but fails to set its
version and profile.
This change makes it so that the new intermediate inherits
the version and profile of the first compilation unit, so
that two ES SL compilation units can be combined.
2016-05-24 13:24:24 +02:00
Thomas Perl
63d4794e8e
Add test case: Link 2 ESSL fragment shader units
2016-05-24 13:15:01 +02:00
John Kessenich
0c968f9d0e
Merge pull request #306 from johnkslang/finish-spec-const-semantics
...
Vulkan: Finish semantics for what creates spec-const-semantics.
2016-05-23 23:37:39 -06:00
John Kessenich
d82c906378
Vulkan: Finish semantics for what creates spec-const-semantics.
...
Note: This required adding a new test mode to see the AST for vulkan tests.
This also required reworking some deeper parts of type creation, regarding
when storage qualification and constness is deduced bottom-up or dictated
top-down.
2016-05-23 23:10:18 -06:00
John Kessenich
479b4c7ca6
Merge pull request #305 from steve-lunarg/intrinsics
...
HLSL: Add base class TParseables for intrinsic / builtin generation.
2016-05-23 17:55:07 -06:00
LoopDawg
0ae28ea647
Add base class TParseables for intrinsic / builtin generation.
...
Add stubbed HLSL derivation. GLSL derivation is still called TBuiltIns,
for historical compatibility.
2016-05-23 15:44:53 -06:00
John Kessenich
87a94fc0fa
Merge pull request #302 from amdrexu/bugfix
...
SPV: Fix an issue of interpolation decoration.
2016-05-23 11:43:31 -06:00
Rex Xu
bbceed7be3
SPV: Fix an issue of interpolation decoration.
...
GLSL interpolation qualifiers and auxiliary storage qualifiers are not
mutually exclusive. So when they are translated to SPIR-V decorations, two
independent utility methods should be employed to do this job.
2016-05-21 09:45:47 +08:00
John Kessenich
2921e0c54a
KHR_vulkan_glsl: name mangle distinguish pure textures.
...
Fixes issue #252 .
2016-05-20 16:59:27 -06:00
John Kessenich
22e0d41448
SPV: Don't put locations on OpTypeStruct. Related to Issue #291 .
2016-05-20 15:40:53 -06:00
John Kessenich
75ce84538d
Merge pull request #301 from dneto0/fix-android-build-atoi-in-cstddef
...
Build: atoi comes from stddef.h or cstddef
2016-05-20 15:14:23 -06:00
David Neto
2ed1d9bba0
atoi comes from stddef.h or cstddef
...
This is required to fix the Android build for ARM.
2016-05-20 16:06:49 -04:00
John Kessenich
eee0c73432
Merge pull request #297 from antiagainst/config-tests
...
Test compiling shaders with given resource limits using GTest.
2016-05-20 13:46:31 -06:00
John Kessenich
393d74f068
Merge pull request #300 from Qining/fix-slow-down-in-no-contraction-propagation
...
Fix the slow down in noContraction propagation
2016-05-20 13:44:07 -06:00
qining
507308b26d
remove redundant 'return false'
2016-05-20 14:30:38 -04:00
John Kessenich
0133c1233e
HLSL: Add more matrix types to the grammar.
2016-05-20 12:17:26 -06:00
John Kessenich
8d72f1a2c4
Full stack: distinguish between a scalar and a vector of size 1.
...
There have been GLSL extensions considering this, and HLSL does it.
This is a fully backward compatible change that allows this distinction.
2016-05-20 12:14:39 -06:00
qining
e5712a2549
Fix the slow down in noContraction propagation
2016-05-20 14:11:28 -04:00
John Kessenich
823fc65644
SPV: Don't emit memory barrier for ESSL barrier(), but still do for GLSL barrier().
...
Addresses issue #205 .
Current open Khronos bug for finalizing this.
2016-05-19 18:26:42 -06:00
John Kessenich
eb6d950789
Merge pull request #298 from thp/remove-unused-prototype
...
Nonfunctional: Remove declaration for ShGetPhysicalAttributeBindings
2016-05-19 16:35:25 -06:00
Thomas Perl
00852b12d9
Remove declaration for ShGetPhysicalAttributeBindings
...
The function ShGetPhysicalAttributeBindings() is declared in the
header, but not defined (or referenced) anywhere in the codebase.
2016-05-19 22:19:58 +02:00
Lei Zhang
1b141728a6
Test compiling shaders with given resource limits using GTest.
2016-05-19 14:18:21 -04:00
Lei Zhang
8a9b1ee3b4
Rename DefaultResourceLimits.* to ResourceLimits.*.
2016-05-19 13:53:16 -04:00
John Kessenich
b5cfd79f0a
Merge pull request #288 from thp/attribute-reflection
...
Reflection: Add support for querying vertex attributes in reflection API
2016-05-19 10:13:08 -06:00
Thomas Perl
bef7428dfd
Update test cases for vertex attribute reflection
2016-05-19 09:30:29 +02:00
Thomas Perl
d6e1a5b1f8
Add support for querying vertex attributes in reflection API
2016-05-19 09:16:19 +02:00
John Kessenich
9349108d06
Merge pull request #295 from amdrexu/bugfix
...
Parser: Redeclaration of gl_CullDistance is disallowed mistakenly.
2016-05-19 00:00:54 -06:00
John Kessenich
e3e92d32bc
Merge pull request #293 from antiagainst/link-tests
...
Testing: Add link tests in the GTest framework
2016-05-18 23:55:54 -06:00
Rex Xu
3d9165fde4
Parser: Redeclaration of gl_CullDistance is disallowed mistakenly.
2016-05-19 12:26:27 +08:00