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
Rex Xu
1e5d7b0b27
Implement the extension GL_AMD_gpu_shader_half_float_fetch
...
- Support new opaque types: f16sampler*, f16image*, f16subpassInput*.
- Add new built-in GLSL texture/image functions.
2018-03-02 16:48:03 +08:00
John Kessenich
5630d0ec79
Fix typo.
2018-03-02 01:09:28 -07:00
John Kessenich
c5215791f5
IO mapper: Fix #1261 : Supply location mapper with size computer.
...
This factored computeTypeLocationSize() out of needing the TIntermediate contents,
and uses it to show how to know how many locations an object needs.
However, it still does not do cross stage, or mixed location/no-location
analysis.
2018-02-27 13:31:48 -07:00
John Kessenich
46413d5780
SPV: Fix #1258 : cache constant structs by id, not opcode.
...
Constants were generally cached by type opcode, but all structures share the
same type opcode (OpTypeStruct), so they need to be cached by type id.
2018-02-26 19:35:39 -07:00
John Kessenich
57f6a016f0
SPV: Complete OpModuleProcessed implementation, enabled by have 1.2 headers.
2018-02-22 19:36:18 -07:00