John Kessenich
ebd989dd58
Merge pull request #1437 from mattparks/patch-2
...
CMake options for postfix and SPVRemapper.
2018-07-18 17:15:32 -07:00
Jeff Bolz
c140b96892
Add missing OpExtension SPV_EXT_descriptor_indexing for dynamic indexing capabilities
2018-07-12 16:51:18 -05:00
Matthew Albrecht
857f25cfd2
Added the cmake option to disable building SPVRemapper.
2018-07-07 16:54:34 -05:00
Lei Zhang
a2c39a2947
Use public SPIRV-Tools header
2018-07-04 14:53:45 -04:00
John Kessenich
312dcfb070
Implement GL_EXT_shader_16bit_storage and GL_EXT_shader_8bit_storage extensions.
...
These introduce limited support for 8/16-bit types such that they can only be accessed in buffer memory and converted to/from 32-bit types.
Contributed from Khronos-internal work.
2018-07-03 13:51:31 -06:00
John Kessenich
e2156222d3
SPV: Add option to print disassembly in standard form using SPIRV-Tools.
2018-07-02 15:54:12 -06:00
GregF
c6831d1ed4
Add support for OpConstantNull and OpConstantSampler to spirv-remap
...
Fixes issue #1408
2018-06-19 13:51:28 -06:00
John Kessenich
ba018e6762
SPV: Fix #1399 emit ImageGatherExtended when using ConstOffsets operand
2018-06-05 08:53:36 -06:00
John Kessenich
ad7645f4f5
Fix #1360 : uint->int width conversions must still be typed as uint.
2018-06-04 20:09:30 -06:00
John Kessenich
14b85d3ff3
Fix #1395 : GLSL volatile maps to SPIR-V Volatile and Coherent.
...
The major version number was bumped in the previous commit to support
this.
2018-06-04 15:36:03 -06:00
John Kessenich
d6c975572e
Change the major revision number for next commit.
2018-06-04 15:33:31 -06:00
John Kessenich
32d3ec3199
Merge pull request #1394 from greg-lunarg/kg20
...
Update spirv-tools known-good.
2018-05-31 18:31:18 -06:00
GregF
b0c42b2884
Update spirv-tools known-good.
...
Includes:
Fold FMix feeding Extract, and use the simplification pass.
2018-05-31 16:17:18 -06:00
John Kessenich
b91189dbe5
Merge pull request #876 from ligfx/cmaketargetincludedirectories
...
CMake: use target_include_directories to expose includes
2018-05-27 19:29:42 -06:00
Michael Maltese
a895f378ee
CMake: use target_include_directories to expose includes
...
This makes glslang simpler to embed in larger projects.
2018-05-27 11:36:32 -07:00
Jeff Bolz
af7a94876c
Add bit width of types to disassembleInstruction
2018-05-24 21:08:20 -05:00
Rex Xu
b4a2a6cf94
Fix issue #1376 : SPV_AMD_gpu_shader_half_float is not emitted under
...
vulkan1.1
Interpolation functions, using 16-bit interpolants, should always emit
this extension string regardless of vulkan enviornment version.
2018-05-17 13:51:28 +08:00
John Kessenich
1831087e48
SPV: Fix #1374 : For an SSBO 16-bit access, only emit StorageUniformBufferBlock16 capability.
2018-05-14 22:08:53 -06:00
John Kessenich
d3ed90be3a
Fix #944 : Convert argument type to match formal parameter type.
2018-05-04 11:43:03 -06:00
Matthew Albrecht
1199cf92f7
Fixed install for SPIRV, glslang, and hlsl when building shared libs
2018-04-26 14:07:46 -05:00
Rex Xu
7c88aff1a9
Specify SPV_AMD_gpu_shader_int16 extension string when frexp() takes 16-bit
...
exp operand
2018-04-14 21:40:49 +08:00
John Kessenich
b9e9e57f12
Merge pull request #1326 from mattparks/patch1
...
Allowed for LIB_TYPE to be set to switch between static and shared libs for glslang, SPIRV, and HLSL
2018-04-11 18:14:46 -06:00
St0fF
a1184ddd48
fix further MSVC 2012 build issues
...
MSVC 2012 does not allow initializer lists - replaced with corrresponding CTor calls.
2018-04-09 21:08:14 +02:00
John Kessenich
f52b63812a
Fix #1331 : Emit SPV_GOOGLE_hlsl_functionality1 for counters.
...
It was missing when there were no semantics.
2018-04-05 19:35:38 -06:00
John Kessenich
5611c6d27b
GLSL/SPV: Implement SPV_EXT_descriptor_indexing and GL_EXT_nonuniform_qualifier
2018-04-05 11:25:02 -06:00
Matthew Albrecht
6c5f649ae8
Allowed for LIB_TYPE to be set to switch between static and shared libs for glslang, SPIRV, and HLSL
2018-03-30 09:32:03 -05:00
John Kessenich
10971553b8
Non-Functional: Remove unused parts of the disassembler.
2018-03-30 00:11:39 -06:00
Jeff Bolz
2abe9a4d34
Implement GL_NV_shader_subgroup_partitioned
2018-03-29 22:52:17 -05:00
GregF
fb03a55e0f
Only print legalization warning if optimizer disabled
2018-03-29 13:17:54 -06:00
John Kessenich
7be36647fc
Merge pull request #1319 from KhronosGroup/array-rationalization
...
Array rationalization
2018-03-28 23:26:27 -06:00
John Kessenich
ead8622484
Non-functional. Rationalizations enabling future generalizations:
...
- Use much simpler method to update implicit array sizes.
The previous overly complicated method was error prone.
- Rationalize all use of unsized arrays.
- Combine decorations when generating SPIR-V, to simplify
adding extensions.
2018-03-28 18:01:20 -06:00
GregF
4bede9eb00
Disable DCE by Remapper through glslangValidator...
...
...now that spirv-opt is capable enough.
2018-03-27 10:15:51 -06:00
John Kessenich
643e57cddf
Merge pull request #1313 from greg-lunarg/kg15
...
Update SPIRV-Tools known good.
2018-03-27 00:46:18 -06:00
greg-lunarg
0b46c1edbf
Merge branch 'master' into kg15
2018-03-26 12:20:43 -06:00
GregF
eecb874c35
Update SPIRV-Tools known good.
...
Also update spirv-opt recipes.
2018-03-26 12:11:55 -06:00
John Kessenich
859b0342b8
Types: Fix #1290 : Rationalize and correct "mixed" style array dimensioning.
...
There a couple functional problems, which when reduced down also led to
some good simplifications and rationalization. So, this commit:
- corrects "mixed" functionality: int[A] f[B] -> f[B][A]
- correct multi-identifier decls: int[A] f[B], g[C] -> f and g are independently sized.
- increases symmetry between different places in the code that do this
- makes fewer ways to do the same thing; several methods are just gone now
- makes more clear when something is copied or shared
2018-03-26 00:38:53 -06:00
John Kessenich
97e35420a6
Non-functional: always return value from makeFpConstant().
...
Should fix #1308 .
2018-03-22 23:44:11 -06:00
John Kessenich
5d610ee1dc
Implement SPV_GOOGLE_hlsl_functionality1.
...
Enabled via -fhlsl_functionality1
2018-03-16 20:21:44 -06:00
John Kessenich
cb32c54466
Merge pull request #1289 from Igalia/igalia/dmat-scalar-division
...
Use the correct type for the constant for matrix/scalar division
2018-03-15 23:49:59 -06:00
Daniel Koch
bfe0952118
Fix build several build errors
...
glslang/SPIRV/SpvBuilder.cpp:2533:27: error: comparison of integers of different signs: 'int' and 'size_type' (aka 'unsigned long') [-Werror,-Wsign-compare]
for (int c = 0; c < accessChain.swizzle.size(); ++c)
~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
glslang/hlsl/hlslParseHelper.cpp:69:5: error: field 'cullDistanceInput' will be initialized after field 'clipDistanceOutput' [-Werror,-Wreorder]
cullDistanceInput(nullptr),
^
1 error generated.
glslang/glslang/MachineIndependent/attribute.cpp:85:16: error: comparison of integers of different signs: 'int' and 'size_type' (aka 'unsigned long') [-Werror,-Wsign-compare]
if (argNum >= args->getSequence().size())
~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
2018-03-13 17:06:51 -04:00
Neil Roberts
eddb1318ae
Use the correct type for the constant for matrix/scalar division
...
When a matrix is divided by a scalar it tries to take the reciprocal
of the scalar to convert the operation into a multiply. However it was
always doing this by making a 32-bit constant. If the scalar is a
double then this would end up making an FDiv instruction with
different types in the operands.
This patch adds a helper method called makeFpConstant which makes a
floating-point constant of the given type. The code to take the
reciprocal now uses it to make the same type as the result.
Fixes https://github.com/KhronosGroup/glslang/issues/1278
2018-03-13 13:50:56 +01:00
John Kessenich
a51525059f
Merge pull request #1269 from bkaradzic/master
...
Fixed GCC+Clang errors and warnings on Linux and OSX.
2018-03-07 14:31:57 -07:00
John Kessenich
ac3707921e
Revert the commits that change OpArrayLength type and bumped the version number.
...
Now, version 5.* is all connected to making the uint type, which doesn't quite work.
Generator versions 4 and 6 do not do this.
2018-03-07 11:48:25 -07:00
John Kessenich
66011cb2c2
SPV: Implement Vulkan 1.1 features and extensions.
2018-03-06 16:12:04 -07:00
John Kessenich
c6c80a6e48
Versioning: Address #1255 : Move to semantic versioning.
...
Still missing is automation and final decisions on mechanisms in general.
2018-03-05 22:23:17 -07:00
Branimir Karadžić
1de8e54d66
Fixed GCC+Clang errors and warnings on Linux and OSX.
2018-03-03 13:04:12 -08:00
Rex Xu
e518772dc9
SPV: The result type of OpArrayLength should be UINT
2018-03-03 22:06:27 +08:00
John Kessenich
e58d58b782
Non-functional: Move to latest headers.
2018-03-02 12:36:02 -07:00
John Kessenich
29c49e1089
Merge pull request #1266 from amdrexu/feature
...
Implement the extension GL_AMD_gpu_shader_half_float_fetch
2018-03-02 11:23:15 -07:00
Rex Xu
81f4c03a76
Fix issues of SPIRV headers
2018-03-02 17:42:37 +08:00