John Kessenich
0302bdf04a
SPV: Fix #723 : construct vectors from matrices.
2017-02-17 19:06:21 -07:00
John Kessenich
b0561d934c
Merge pull request #720 from flaviobortot/master
...
Added --vn option to generate a C header file containing a variable a…
2017-02-17 09:34:08 -07:00
Maciej Jesionowski
5227b6decb
Fix mismatched doc string for SPV_KHR_subgroup_vote
...
Text for opcodes OpSubgroupAllKHR and OpSubgroupAnyKHR was swapped.
2017-02-17 13:45:29 +01:00
Flavio
15017db971
Removed tabs and replaced with spaces. Changed layout for "else if"
2017-02-15 14:29:33 -08:00
chaoc
df3956c50f
Implement NVX_multiview_per_view_attributes
2017-02-14 15:04:33 -08:00
John Kessenich
8e6c6cef6a
SPV: Implement specialization constants for ?:.
2017-02-08 17:07:07 -07:00
John Kessenich
433e9ff896
SPV: Emit OpSelect when a selection node is simple enough.
...
Also, ensures it has a type, no disallowed side effects,
or performance trade offs.
2017-02-08 17:03:13 -07:00
John Kessenich
65ee230f1c
HLSL: Add tests and refine what decorations are passed through per stage/in/out.
2017-02-06 23:13:16 -07:00
Flavio
aea3c890d3
Added --vn option to generate a C header file containing a variable assigned to the hex representation of the shader. This is a standard feature on Microsoft's HLSL compiler and it allows developers to include pre-compiled shaders directly into the code. This option enables "Hex output", so it is NOT required to specify -x as well. The output file name is preserved, so no ".h" extension is added. If you want the output file to have ".h" extension then you have to specify it on the output file name. The generated header file uses the "#pragma once" pragma to avoid multiple inclusions.
2017-02-06 11:46:35 -08:00
Endre Oma
ad58d45437
SPV: Emit names of specialization constants
2017-01-31 21:16:17 +01:00
Benjamin Saunders
5a074532af
Install headers
...
This enables the vulkan loader to be built against an installed glslang.
2017-01-29 17:46:44 -08:00
John Kessenich
c0904c15c2
Merge pull request #690 from ligfx/proper_dependencies
...
CMake: add target_link_libraries internally
2017-01-26 15:13:27 -07:00
Vlad Ivanov
689490fd4d
SpvBuilder: add const specifier to vector reference arguments
2017-01-26 20:46:42 +03:00
Rex Xu
c708f98081
Fix a CMakeLists issue
2017-01-24 14:24:21 +08:00
John Kessenich
64b010f390
Merge pull request #678 from chaoc/stereo_view_rendering
...
support SPV_NV_viewport_array2 and SPV_NV_stereo_view_rendering
2017-01-21 12:05:47 -07:00
Michael Maltese
6077a19ba3
CMake: add target_link_libraries internally
...
Makes it easier to include glslang in a larger CMake project---instead
of having to call `target_link_libraries(glslang OSDependent OGLCompiler
HLSL)`, for example, you only need to call
`target_link_libraries(glslang)` and it will pull in the helpers it
needs.
This is also better in terms of cleaning up the "public interface",
of sorts, for building glslang: end-users probably shouldn't need to
know or be explicitly dependent on internal targets.
2017-01-21 10:59:15 -08:00
chaoc
771d89fc36
support SPV_NV_viewport_array2 and SPV_NV_stereo_view_rendering
2017-01-20 16:48:26 -08:00
Mike Weiblen
4e9e400ec6
Fix for not-handled-in-switch warnings
...
Added default to the switch() for AMD_EXTENSIONS to avoid a spew
of warning messages.
2017-01-20 13:39:30 -07:00
John Kessenich
d3aea5edaf
Merge pull request #679 from ashwinkolhe/akolhe_spv_khr_subgroup_vote
...
Implement SPV_KHR_subgroup_vote
2017-01-19 16:16:49 -07:00
Rex Xu
430ef40ab4
Implement new revision of extension GL_AMD_shader_ballot
...
- Add support for invocation functions with "InclusiveScan" and
"ExclusiveScan" modes.
- Add support for invocation functions taking int64/uint64/doube/float16
as inout data types.
2017-01-19 12:09:51 +08:00
Ashwin Kolhe
c720f3e639
Implement SPV_KHR_subgroup_vote
...
doc.cpp: Add capabilities, scope to the opcodes. Add opcode and
capability strings.
GLSL.ext.KHR.h: Add extension
string.
GlslangToSpv.cpp: Fix handling of opcodes to generate
appropriate SPIR-V.
spirv.hpp: Add capability and opcode
enums.
spv.shaderGroupVote.comp.out: Update SPIR-V output for test
shader.
2017-01-18 14:16:49 -08:00
John Kessenich
fdf6347f0a
HLSL: Add EOpMatrixSwizzle, selectively decomposed to other ops, for issue #670 .
...
Since EOpMatrixSwizzle is a new op, existing back-ends only work when the
front end first decomposes it to other operations. So far, this is only
being done for simple assignment into matrix swizzles.
2017-01-13 12:35:01 -07:00
Alex Szpakowski
844dd45db6
Add a virtual destructor to a class which has virtual methods.
2017-01-08 17:57:21 -04:00
John Kessenich
927608b393
Non-functional: White space after "//", mostly for copyrights.
2017-01-06 12:34:14 -07:00
John Kessenich
ecba76fe73
Non-Functional: Whitespace, comments, replace accidentally deleted comment.
...
- fixed ParseHelper.cpp newlines (crlf -> lf)
- removed trailing white space in most source files
- fix some spelling issues
- extra blank lines
- tabs to spaces
- replace #include comment about no location
2017-01-06 11:24:14 -07:00
John Kessenich
807a0d9e2f
Merge pull request #640 from chaoc/modify-shader-ballot
...
Modify shader ballot extension by adding OpSubgroupReadInvocationKHR
2016-12-21 17:40:29 -07:00
chaoc
f200da8631
Modify shader ballot extension by adding OpSubgroupReadInvocationKHR
2016-12-21 12:08:09 -08:00
chaoc
6e5acae144
Add support for SPV_NV_geometry_shader_passthrough
2016-12-20 13:28:52 -08:00
chaoc
0ad6a4e60d
Add support for SPV_NV_sample_mask_override_coverage
2016-12-19 16:29:34 -08:00
John Kessenich
e6cbc5b19d
Merge pull request #624 from steve-lunarg/remapper-strip-removed
...
WIP: Remapper: remove debug info for IDs stripped in other passes
2016-12-19 14:07:58 -07:00
John Kessenich
1e275c8486
HLSL: More robust handling of bad shader input, catching a few more things.
2016-12-14 17:02:32 -07:00
steve-lunarg
297754cfe8
Remapper: remove debug info for IDs stripped in other passes
...
If some DCE is performed such as removing dead functions, then even
if we are NOT stripping debug info, we still must remove the debug
opcodes that refer to the now-dead IDs.
Also, this adds a small change to perform no ID remapping if none
is requested, making spirv-remap properly be a no-op if no options
are given.
2016-12-12 09:01:11 -07:00
John Kessenich
6a60c2f9ea
Linker: Walk the call graph to report an error on missing bodies.
2016-12-08 23:22:21 -07:00
John Kessenich
517fe7a6ad
Non-functional: Rename some entry-point variables to entryPoint, not main.
2016-11-26 13:31:47 -07:00
John Kessenich
fca826212c
Always correctly terminate main. Issue #588 , PR #600 .
2016-11-26 13:23:20 -07:00
chrgau01@arm.com
c3f1cdfa57
GLSL: The execution scope for barriers should be Workgroup.
2016-11-14 10:10:05 +01:00
Jamie Madill
57cb69a3f1
Fix unrefenced variable warning with AMD_EXTENSIONS disabled.
2016-11-09 13:49:24 -05:00
Johannes van Waveren
2f4c832d47
Merge remote-tracking branch 'upstream/master'
2016-10-21 17:21:46 +09:00
Johannes van Waveren
8e1e717cae
fixed MSVC 2015 compile warnings
2016-10-21 17:21:12 +09:00
David Neto
bb5c02fd23
Add missing guard to code that uses AMD extensions
...
Otherwise compilation fails when ENABLED_AMD_EXTENSIONS is off.
2016-10-19 10:17:25 -04:00
John Kessenich
1fabc0f697
Merge pull request #548 from baldurk/vs2010-compile-fixes
...
VS2010 compile fixes
2016-10-15 23:09:31 -06:00
Rex Xu
17ff343bf4
SPV: Add missing extension declarations for certain AMD extensions.
2016-10-14 17:41:45 +08:00
baldurk
021dbb4cd4
Change negatable_left_shift and negatable_right_shift to inline funcs
...
* This avoids an internal compile error on VS2010 possibly related to
std::enable_if use.
2016-10-13 19:39:24 +02:00
baldurk
cabba60abf
Change {} constructor brackets to ()
2016-10-13 19:32:37 +02:00
baldurk
7cac9e7245
Change "using x = y;" to "typedef y x;" statements
2016-10-13 19:31:15 +02:00
baldurk
a227d27227
Explicitly implement default constructors
2016-10-13 19:30:27 +02:00
baldurk
1a65fc269c
Add std::isnan and std::isinf wrappers for VS2010 that doesn't have them
2016-10-13 19:28:54 +02:00
baldurk
033d3ef22c
Change enum class to plain enum
2016-10-13 19:28:20 +02:00
baldurk
ff160f15ef
Add #include <cstdint> for std::uint32_t usage
2016-10-13 19:24:42 +02:00
Maciej Jesionowski
7208a974aa
SPV: Use SampledImage with OpImageQueryLod
...
Khronos SPIR-V issue #74
2016-10-12 16:16:24 +02:00