Jeremy Hayes
78221d619e
Update CHANGES for release 11.12.0
2022-10-13 10:58:53 -06:00
Jeremy Hayes
6d5b40f051
Generate separate stores for partially swizzled memory stores
...
Full vector and fully specified vector swizzle stores are not affected by this change, only partial swizzles ie swizzles with fewer components than the vector being stored to.
Previously the vector being stored to loaded and any components not specified in the swizzle were used to create a full store to the vector.
While this change generates more SPIR-V instructions, it is necessary for correctness.
Fixes #2518 .
2021-07-28 14:55:45 -06:00
John Kessenich
f6facfa189
Tests: More broadly use automapping binding/location.
...
This adds or changes binding/location decorations in 100s of shaders.
It also allows more output (spv.register.autoassign.rangetest.frag)
due to allowing ioMap() to fail.
2020-07-01 06:40:13 -06:00
Graeme Leese
182ab460d9
Update test expected files with new magic number
...
Updating the SPIR-V generator version number changes the output of all
the SPIR-V tests.
2020-06-22 11:49:38 +01:00
John Kessenich
3641ff7378
Bump code gen version, due to removal of OpEntryPoint operands.
2020-06-10 07:40:56 -06:00
John Kessenich
31c3370d83
Bump up the generator version, which is exposed in SPV test results.
2019-11-02 21:26:40 -06:00
Jeff Bolz
0a93cfbb79
Update to newest SPIRV-Tools. It checks the Vulkan rule that all resources must have a set and binding decoration, which many tests fail. So add code to set a default value of zero. Also disable PCH for Ninja builds.
2018-12-11 20:58:29 -06:00
Alan Baker
ed777b0fbd
Modify testing to only record validation pass/fail
...
* Changed unit tests to only record known the validation pass/fail
status
* errors are output as part of the failure message if the result is
unexpected
* can turn off validation for each test individually
* Moved some SPV_KHR_vulkan_memory_model tests to be compiled for Vulkan
1.1
2018-12-07 13:58:46 -05:00
John Kessenich
cc14f2d329
SPV: Add SPIRV-Tools validator. This needs the latest SPIR-Tools.
2018-08-23 13:46:48 -06:00
John Kessenich
2a805d9cea
Revert "GLSL: Fix #1279 : refract does not have a double-type eta."
...
This reverts commit ebec909487b8c44a8c28b40c9899857593cc9bb5.
Khronos decided glslang was originally correct, and the specifications
are incorrect.
2018-06-19 09:43:09 -06:00
John Kessenich
d6c975572e
Change the major revision number for next commit.
2018-06-04 15:33:31 -06:00
Jeff Bolz
af7a94876c
Add bit width of types to disassembleInstruction
2018-05-24 21:08:20 -05:00
John Kessenich
ebec909487
GLSL: Fix #1279 : refract does not have a double-type eta.
2018-05-17 10:43:21 -06: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
0216f24f0e
SPV: Bump up the generator number.
2018-03-03 11:47:07 -07:00
John Kessenich
4bee531fc1
HLSL: Fix #1249 : Always execute both sides of ternary "?:".
...
This is semantically required by HLSL, and frequently results in using
OpSelect instead of control flow.
2018-02-20 21:32:33 -07:00
John Kessenich
71b5da60d0
SPV: Bump up generator number, because previous commit changes code gen slightly.
2018-02-06 08:06:36 -07:00
John Kessenich
5c3eed542d
SPV: Create more access chains addressing a few swizzling issues.
...
- Fixes #1233
- Treats local bools like anything else
- more consistently deals with a dynamic component selection
2018-02-06 07:24:12 -07:00
John Kessenich
2b5ea9f851
SPV Version: Emit the requested SPIR-V version, not the header version.
...
Fixes #1236 .
2018-01-31 18:41:59 -07:00
John Kessenich
6c1c2766b6
SPV: Bump SPIR-V header to the unified1 version (version 1.2).
2018-01-29 16:16:11 -07:00
John Kessenich
c72e5937dd
SPV: Bump the generator number to account for barrier changes.
2017-12-16 00:34:08 -07:00
John Kessenich
07ed11f9a0
SPV: GeneratorVersion: bump version number because of atomic decrement change.
2017-10-07 11:41:20 -06:00
John Kessenich
e00e8f45a6
GLSL: replace general missing functionality with specific messages.
2017-06-05 16:42:33 -06:00
John Kessenich
fb06e9552e
Don't print the "Linked stage" message unless the AST is being dumped.
2016-12-03 13:59:51 -07:00
Maciej Jesionowski
04b3e8746f
SPV: PrimitiveId in frag shader will emit Geometry capability
...
Using PrimitiveId in a fragment shader requires declaring
an OpCapability with either Geometry or Tessellation.
2016-09-27 10:35:09 +02:00
John Kessenich
65336488a8
SPV: projective texturing: move the project coordinate.
...
SPV doesn't allow gaps in the components of the texturing coordinate.
It also removes the shadow reference.
So, close up the components so all used components are together.
2016-06-16 14:06:26 -06:00
Rex Xu
5839031759
SPV: Add capability ImageGatherExtended if necessary.
2016-05-11 16:38:50 +08:00
Rex Xu
644c21025d
Parser: Type promotion for operator modulus(%) is missing.
2016-03-18 16:26:23 +08:00
Rex Xu
d715adc0f2
SPV: Implement boolean selection for mix().
...
Use OpSelect to implement boolean selection of mix(). FMix is applicable
to linear blending of mix().
2016-03-15 18:19:26 +08:00
John Kessenich
6c292d3ba7
SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl).
2016-02-15 21:46:55 -07:00
John Kessenich
b0364dcc3e
SPV Capabilities: Image types.
...
SampledBuffer
ImageBuffer
Sampled1D
Image1D
SampledCubeArray
ImageCubeArray
SampledRect
ImageRect
InputAttachment
ImageMSArray
StorageImageMultisample
2016-02-14 17:37:30 -07:00
John Kessenich
3c52207e8a
SPV capabilities: Add int16, int64, float16, and float64.
2016-02-14 17:11:15 -07:00
John Kessenich
9218759ebb
SPV: Address superset of issue #151 : missing OpCapability instructions.
...
This commit adds:
CapabilityGeometryPointSize
CapabilityTessellationPointSize
CapabilityClipDistance
CapabilityCullDistance
CapabilityMultiViewport
CapabilityTransformFeedback
CapabilityGeometryStreams
CapabilityDerivativeControl
CapabilityInterpolationFunction
2016-02-01 13:45:25 -07:00
John Kessenich
712ecb96a2
Doubles: Add all the missing built-in double-based prototypes.
2016-01-16 20:37:43 -07:00
John Kessenich
59420fd356
SPV: Move to deterministic results for OpEntryPoint, for test stability across platforms.
2015-12-21 11:45:34 -07:00
John Kessenich
7ba6341a05
SPV: Make OpEntryPoint I/O list include all static uses.
...
Before, it was only including explicit interface, sufficient for IO-Block-declared
oriented interface, but not sufficient for all modes GLSL might be used with
SPIR-V.
Two things are accomplished now:
1) each id will appear exactly once
2) the OpEntryPoint list will union static use with declarations
2015-12-20 17:37:07 -07:00
John Kessenich
6feb4989fe
SPV texturing: Use comp. 2 as the 3rd comp. for Dref in ImageSampleProjDrefImplicitLod.
2015-12-13 12:23:33 -07:00
John Kessenich
cc16fa0720
Tests: Move to just linefeed to simply cross-platform test changes.
2015-12-10 18:01:54 -07:00
John Kessenich
55e7d11ce8
SPIR-V: Move from Version .99 Rev 31 to Version 1.0, Rev 2.
2015-11-15 22:31:41 -07:00
John Kessenich
6626cadbad
glslang front-end: Don't emit blank lines for empty info logs. From Andrew Woloszyn <awoloszyn@google.com>.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31531 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-06-19 05:14:19 +00:00
John Kessenich
39374dadb5
glslang SPV tests: Add a set of SPV tests.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31212 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-05-15 21:32:46 +00:00