-
Notifications
You must be signed in to change notification settings - Fork 116
/
llpcVersion.h.in
202 lines (195 loc) · 19.4 KB
/
llpcVersion.h.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
/*
***********************************************************************************************************************
*
* Copyright (c) 2020-2024 Advanced Micro Devices, Inc. All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to
* deal in the Software without restriction, including without limitation the
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
* sell copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
* IN THE SOFTWARE.
*
**********************************************************************************************************************/
/**
***********************************************************************************************************************
* @file llpcVersion.h
* @brief LLPC_*_INTERFACE_*_VERSION defines, checks, and related documentation
*
* Auto-generated during CMake configuration based on the LLPC_CLIENT_INTERFACE_MAJOR_VERSION variable set by the
* driver CMake files.
***********************************************************************************************************************
*/
// -------------------------------------------------------------------------------------------------------------------
// @page VersionHistory
// %Version History
// | %Version | Change Description |
// | -------- | ----------------------------------------------------------------------------------------------------- |
// | 73.0 | Add all the ogl specific pipeline options in a new structure GLState |
// | 72.4 | Add enableFlatShade to GraphicsPipelineBuildInfo. |
// | 72.3 | Add enableColorClampVs and enableColorClampFs to GraphicsPipelineBuildInfo. |
// | 72.2 | Add pGpurtOptions and gpurtOptionCount to RayTracingPipelineBuildInfo |
// | 72.1 | Add dynamicTopology to GraphicsPipelineBuildInfo |
// | 72.0 | Enable std430 layout rule 9 to the OpenGL default uniform block |
// | 71.4 | Add PixelOpInternalBinding to InternalBinding. Add GlCompatibilityDrawPixelsType. Add enableBitmap to |
// | | glState. Add enableBitmapLsb to glState. Add enableTwoSideLighting to glState. Add drawPixelsType to |
// | | glState. Add pixelTransferScale to glState. Add pixelTransferBias to glState. |
// | 71.3 | Add IPipelineDumper::DumpGraphicsLibraryFileName. |
// | 71.2 | Add AdvancedBlendInfo to GraphicsPipelineBuildInfo |
// | 71.1 | Add GraphNodeName to the GraphicsPipelineBuildInfo |
// | 71.0 | Add glState to GraphicsPipelineBuildInfo. And move OGL status to glState. |
// | 70.5 | Add vbAddressLowBitsKnown to Options. Add vbAddrLowBits to VertexInputDescription. |
// | Add vbAddressLowBitsKnown and vbAddressLowBits to GraphicsPipelineBuildInfo. |
// | Add columnCount to ResourceNodeData. |
// | Support vertex fetch in Byte, refine vertex fetch to always fetch in Component. |
// | 70.4 | Add LibraryMode and pLibrarySummaries to RayTracingPipelineBuildInfo |
// | 70.2 | Add useSoftwareVertexBufferDescriptors to GraphicsPipelineBuildInfo |
// | 70.1 | Add cpsFlags to RayTracingPipelineBuildInfo |
// | 70.0 | Add enablePrimGeneratedQuery to PipelineOptions |
// | 69.1 | Add useBarycentric to ShaderModuleUsage |
// | 69.0 | Enable continuations transform in LLPC |
// | 68.0 | Remove ICache *cache in all PipelineBuildInfo |
// | 67.0 | Modify the uber fetch shader. Adds locationMask(64bit) at the beginning of uber fetch shader internal |
// | | buffer which flags whether the related attribute data is valid. |
// | 66.1 | Add forwardPropagateNoContract and backwardPropagateNoContract to PipelineShaderOptions |
// | 66.0 | Remove shader cache in LLPC |
// | 65.6 | Add Result::RequireFullPipeline, returned if unlink shader fails. |
// | 65.5 | Rename noContract in PipelineShaderOptions to noContractOpDot |
// | 65.4 | Add disableSampleMask to PipelineOptions |
// | 65.3 | Add originUpperLeft to GraphicsPipelineBuildInfo |
// | 65.2 | Support SPIRV extended vertex attribute formats during vertex fetch module. |
// | 65.0 | Remove updateDescInElf |
// | 64.2 | Add dynamicSampleInfo to GraphicsPipelineBuildInfo::rsState |
// | 64.1 | Add disableTruncCoordForGather to PipelineOptions. |
// | 64.0 | Add enableColorExportShader to GraphicsPipelineBuildInfo. |
// | 63.3 | Add TessellationLevel to iaState |
// | 63.2 | Add vertex64BitsAttribSingleLoc to PipelineOptions |
// | 63.1 | Add forceDisableStreamOut and forceEnablePrimStats to ApiXfbOutData |
// | 63.0 | Add Atomic Counter, its default descriptor and map its concreteType to Buffer. |
// | 62.1 | Add ApiXfbOutData GraphicsPipelineBuildInfo |
// | 62.0 | Default to the compiler getting the GPURT library directly, and move shader library info into RtState |
// | 61.16| Add replaceSetWithResourceType to PipelineOptions |
// | 61.15| Add disableReadFirstLaneWorkaround to PipelineShaderOptions |
// | 61.14| Add rasterStream to rsState
// | 61.13| Add dualSourceBlendDynamic to cbState |
// | 61.12| Add mode to RayTracingPipelineBuildInfo |
// | 61.11| Add UniformConstantMap and related structures |
// | 61.10| Add useShadingRate and useSampleInfo to ShaderModuleUsage |
// | 61.8 | Add enableImplicitInvariantExports to PipelineOptions |
// | 61.7 | Add disableFMA to PipelineShaderOptions |
// | 61.6 | Add workaroundInitializeOutputsToZero to PipelineShaderOptions |
// | 61.5 | Add RtIpVersion (including its checkers) to represent RT IP |
// | 61.4 | Add workaroundStorageImageFormats to PipelineShaderOptions |
// | 61.2 | Add pClientMetadata and clientMetadataSize to all PipelineBuildInfos |
// | 61.1 | Add IPipelineDumper::GetGraphicsShaderBinaryHash |
// | 61.0 | Add DescriptorMutable type and ResourceMappingNode::strideInDwords to support mutable descriptors |
// | 60.0 | Simplify the enum NggCompactMode to a boolean flag |
// | 59.0 | Remove the option enableVertexReuse from NggState |
// | 57.2 | Move all internal resource binding id to enum InternalBinding. |
// | 57.1 | Add forceNonUniformResourceIndexStageMask to PipelineOptions |
// | 57.0 | Merge aggressiveInvariantLoads and disableInvariantLoads to an enumerated option |
// | 56.2 | Add aggressiveInvariantLoads and disableInvariantLoads to PipelineShaderOptions |
// | 56.1 | Add struct UberFetchShaderAttribInfo |
// | 56.0 | Move maxRayLength to RtState |
// | 55.2 | Add pipeline layout API hash to all PipelineBuildInfos |
// | 55.1 | Add nsaThreshold to PipelineShaderOptions |
// | 55.0 | Remove isInternalRtShader from module options |
// | 54.9 | Add internalRtShaders to PipelineOptions to allow for dumping this data |
// | 54.6 | Add reverseThreadGroup to PipelineOptions |
// | 54.5 | Add forceLateZ to PipelineShaderOptions |
// | 54.4 | Add isReplay to RayTracingPipelineBuildInfo for ray tracing capture replay feature |
// | 54.3 | Add usePointSize to ShaderModuleUsage |
// | 54.2 | Add subgroupSize to PipelineShaderOptions |
// | 54.1 | Add overrideForceThreadIdSwizzling overrideShaderThreadGroupSizeX, overrideShaderThreadGroupSizeY |
// | | and overrideShaderThreadGroupSizeZ to PipelineShaderOptions |
// | 54.0 | Add overrideThreadGroupSizeX, overrideThreadGroupSizeY and overrideThreadGroupSizeZ to PipelineOptions|
// | 53.7 | Add threadGroupSwizzleMode to PipelineOptions |
// | 53.6 | Add scalarizeWaterfallLoads to PipelineShaderOptions |
// | 53.5 | Add forceCsThreadIdSwizzling for thread id swizzle in 8*4 |
// | 53.4 | Add ldsSpillLimitDwords shader option |
// | 53.3 | Add disableFastMathFlags shader option, plus support for this and fastMathFlags in pipeline files |
// | 53.2 | Add resourceLayoutScheme to PipelineOptions |
// | 53.1 | Add PartPipelineStage enum for part-pipeline mode |
// | 53.0 | Add optimizationLevel to PipelineOptions |
// | 52.3 | Add fastMathFlags to PipelineShaderOptions |
// | 52.2 | Add provokingVertexMode to rsState |
// | 52.1 | Add pageMigrationEnabled to PipelineOptions |
// | 52.0 | Add the member word4 and word5 to SamplerYCbCrConversionMetaData |
// | 51.2 | Added new pipeline shader info to support mesh shader |
// | 51.0 | Added new shader stage enumerates to support mesh shader |
// | 50.2 | Add the member dsState to GraphicsPipelineBuildInfo |
// | 50.1 | Disclose ResourceMappingNodeType::InlineBuffer |
// | 50.0 | Removed the member 'enableOpt' of ShaderModuleOptions |
// | 49.1 | Added enableEarlyCompile to GraphicsPipelineBuildInfo |
// | 49.0 | Added DescriptorConstBuffer, DescriptorConstBufferCompact, DescriptorImage, DescriptorConstTexelBuffer|
// | | to ResourceMappingNodeType |
// | 48.1 | Added enableUberFetchShader to GraphicsPipelineBuildInfo |
// | 48.0 | Removed the member 'polygonMode' of rsState |
// | 47.0 | Always get culling controls from primitive shader table |
// | 46.3 | Added enableInterpModePatch to PipelineOptions |
// | 46.2 | Added optimizeTessFactor to PipelineOptions |
// | 46.1 | Added dynamicVertexStride to GraphicsPipelineBuildInfo |
// | 46.0 | Removed the member 'depthBiasEnable' of rsState |
// | 45.5 | Added new enum type ThreadGroupSwizzleMode for thread group swizzling for compute shaders |
// | 45.4 | Added disableLicmThreshold, unrollHintThreshold, and dontUnrollHintThreshold to PipelineShaderOptions |
// | 45.3 | Add pipelinedump function to enable BeginPipelineDump and GetPipelineName |
// | 45.2 | Add GFX IP plus checker to GfxIpVersion |
// | 45.1 | Add pipelineCacheAccess, stageCacheAccess(es) to GraphicsPipelineBuildOut/ComputePipelineBuildOut |
// | 45.0 | Remove the member 'enableFastLaunch' of NGG state |
// | 44.0 | Rename the member 'forceNonPassthrough' of NGG state to 'forceCullingMode' |
// | 43.1 | Add disableImageResourceCheck in PipelineOptions |
// | 43.0 | Removed the enumerate WaveBreakSize::DrawTime |
// | 42.0 | Removed tileOptimal flag from SamplerYcbcrConversion metadata struct |
// | 41.0 | Moved resource mapping from ShaderPipeline-level to Pipeline-level |
// | 40.4 | Added fp32DenormalMode in PipelineShaderOptions to allow overriding SPIR-V denormal settings |
// | 40.3 | Added ICache interface |
// | 40.2 | Added extendedRobustness in PipelineOptions to support VK_EXT_robustness2 |
// | 40.1 | Added disableLoopUnroll to PipelineShaderOptions |
// | 40.0 | Added DescriptorReserved12, which moves DescriptorYCbCrSampler down to 13 |
// | 39.0 | Non-LLPC-specific XGL code should #include vkgcDefs.h instead of llpc.h |
// | 38.3 | Added shadowDescriptorTableUsage and shadowDescriptorTablePtrHigh to PipelineOptions |
// | 38.2 | Added scalarThreshold to PipelineShaderOptions |
// | 38.1 | Added unrollThreshold to PipelineShaderOptions |
// | 38.0 | Removed CreateShaderCache in ICompiler and pShaderCache in pipeline build info |
// | 37.0 | Removed the -enable-dynamic-loop-unroll option |
// | 36.0 | Add 128 bit hash as clientHash in PipelineShaderOptions |
// | 35.0 | Added disableLicm to PipelineShaderOptions |
// | 33.0 | Add enableLoadScalarizer option into PipelineShaderOptions. |
// | 32.0 | Add ShaderModuleOptions in ShaderModuleBuildInfo |
// | 31.0 | Add PipelineShaderOptions::allowVaryWaveSize |
// | 30.0 | Removed PipelineOptions::autoLayoutDesc |
// | 28.0 | Added reconfigWorkgroupLayout to PipelineOptions and useSiScheduler to PipelineShaderOptions |
// | 27.0 | Remove the includeIrBinary option from PipelineOptions as only IR disassembly is now dumped |
// | 25.0 | Add includeIrBinary option into PipelineOptions for including IR binaries into ELF files. |
// | 24.0 | Add forceLoopUnrollCount option into PipelineShaderOptions. |
// | 23.0 | Add flag robustBufferAccess in PipelineOptions to check out of bounds of private array. |
// | 22.0 | Internal revision. |
// | 21.0 | Add stage in Pipeline shader info and struct PipelineBuildInfo to simplify pipeline dump interface. |
// | -------- | ----------------------------------------------------------------------------------------------------- |
//
#pragma once
/// LLPC major interface version.
#define LLPC_INTERFACE_MAJOR_VERSION 72
/// LLPC minor interface version.
#define LLPC_INTERFACE_MINOR_VERSION 2
/// The client's LLPC major interface version
#ifndef LLPC_CLIENT_INTERFACE_MAJOR_VERSION
#cmakedefine LLPC_CLIENT_INTERFACE_MAJOR_VERSION @LLPC_CLIENT_INTERFACE_MAJOR_VERSION@
#endif
#ifndef LLPC_CLIENT_INTERFACE_MAJOR_VERSION
#error Client of LLPC must set LLPC_CLIENT_INTERFACE_MAJOR_VERSION
#endif
#if LLPC_CLIENT_INTERFACE_MAJOR_VERSION < 60
#error LLPC client version is too old
#endif