Skip to content

Commit b8b9eb8

Browse files
authored
Headers support for two Intel extensions (KhronosGroup#356)
* Add SPV_INTEL_global_variable_fpga_decorations Spec: https://github.com/KhronosGroup/SPIRV-Registry/blob/main/extensions/INTEL/SPV_INTEL_global_variable_fpga_decorations.asciidoc * Add SPV_INTEL_global_variable_host_access Spec: https://github.com/KhronosGroup/SPIRV-Registry/blob/main/extensions/INTEL/SPV_INTEL_global_variable_host_access.asciidoc * Update headers generator * update headers after generating script
1 parent 45fc02a commit b8b9eb8

File tree

12 files changed

+269
-0
lines changed

12 files changed

+269
-0
lines changed

include/spirv/unified1/spirv.bf

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -599,6 +599,9 @@ namespace Spv
599599
SingleElementVectorINTEL = 6085,
600600
VectorComputeCallableFunctionINTEL = 6087,
601601
MediaBlockIOINTEL = 6140,
602+
InitModeINTEL = 6147,
603+
ImplementInRegisterMapINTEL = 6148,
604+
HostAccessINTEL = 6168,
602605
FPMaxErrorDecorationINTEL = 6170,
603606
LatencyControlLabelINTEL = 6172,
604607
LatencyControlConstraintINTEL = 6173,
@@ -1188,7 +1191,9 @@ namespace Spv
11881191
DebugInfoModuleINTEL = 6114,
11891192
BFloat16ConversionINTEL = 6115,
11901193
SplitBarrierINTEL = 6141,
1194+
GlobalVariableFPGADecorationsINTEL = 6146,
11911195
FPGAKernelAttributesv2INTEL = 6161,
1196+
GlobalVariableHostAccessINTEL = 6167,
11921197
FPMaxErrorINTEL = 6169,
11931198
FPGALatencyControlINTEL = 6171,
11941199
FPGAArgumentInterfacesINTEL = 6174,
@@ -1332,6 +1337,20 @@ namespace Spv
13321337
MatrixAccumulatorKHR = 2,
13331338
}
13341339

1340+
[AllowDuplicates, CRepr] public enum InitializationModeQualifier
1341+
{
1342+
InitOnDeviceReprogramINTEL = 0,
1343+
InitOnDeviceResetINTEL = 1,
1344+
}
1345+
1346+
[AllowDuplicates, CRepr] public enum HostAccessQualifier
1347+
{
1348+
NoneINTEL = 0,
1349+
ReadINTEL = 1,
1350+
WriteINTEL = 2,
1351+
ReadWriteINTEL = 3,
1352+
}
1353+
13351354
[AllowDuplicates, CRepr] public enum Op
13361355
{
13371356
OpNop = 0,

include/spirv/unified1/spirv.core.grammar.json

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11981,6 +11981,32 @@
1198111981
}
1198211982
]
1198311983
},
11984+
{
11985+
"category" : "ValueEnum",
11986+
"kind" : "HostAccessQualifier",
11987+
"enumerants" : [
11988+
{
11989+
"enumerant" : "NoneINTEL",
11990+
"value" : 0,
11991+
"capabilities" : [ "GlobalVariableHostAccessINTEL" ]
11992+
},
11993+
{
11994+
"enumerant" : "ReadINTEL",
11995+
"value" : 1,
11996+
"capabilities" : [ "GlobalVariableHostAccessINTEL" ]
11997+
},
11998+
{
11999+
"enumerant" : "WriteINTEL",
12000+
"value" : 2,
12001+
"capabilities" : [ "GlobalVariableHostAccessINTEL" ]
12002+
},
12003+
{
12004+
"enumerant" : "ReadWriteINTEL",
12005+
"value" : 3,
12006+
"capabilities" : [ "GlobalVariableHostAccessINTEL" ]
12007+
}
12008+
]
12009+
},
1198412010
{
1198512011
"category" : "ValueEnum",
1198612012
"kind" : "FunctionParameterAttribute",
@@ -12926,6 +12952,34 @@
1292612952
"capabilities" : [ "VectorComputeINTEL" ],
1292712953
"version" : "None"
1292812954
},
12955+
{
12956+
"enumerant" : "InitModeINTEL",
12957+
"value" : 6147,
12958+
"parameters": [
12959+
{ "kind" : "InitializationModeQualifier", "name" : "'Trigger'" }
12960+
],
12961+
"capabilities" : [ "GlobalVariableFPGADecorationsINTEL" ],
12962+
"version" : "None"
12963+
},
12964+
{
12965+
"enumerant" : "ImplementInRegisterMapINTEL",
12966+
"value" : 6148,
12967+
"parameters": [
12968+
{ "kind" : "LiteralInteger", "name" : "Value" }
12969+
],
12970+
"capabilities" : [ "GlobalVariableFPGADecorationsINTEL" ],
12971+
"version" : "None"
12972+
},
12973+
{
12974+
"enumerant" : "HostAccessINTEL",
12975+
"value" : 6168,
12976+
"parameters": [
12977+
{ "kind" : "HostAccessQualifier", "name" : "'Access'" },
12978+
{ "kind" : "LiteralString", "name" : "'Name'" }
12979+
],
12980+
"capabilities" : [ "GlobalVariableHostAccessINTEL" ],
12981+
"version" : "None"
12982+
},
1292912983
{
1293012984
"enumerant" : "FPMaxErrorDecorationINTEL",
1293112985
"value" : 6170,
@@ -15418,13 +15472,25 @@
1541815472
"extensions" : [ "SPV_INTEL_split_barrier" ],
1541915473
"version" : "None"
1542015474
},
15475+
{
15476+
"enumerant" : "GlobalVariableFPGADecorationsINTEL",
15477+
"value" : 6146,
15478+
"extensions": [ "SPV_INTEL_global_variable_fpga_decorations" ],
15479+
"version" : "None"
15480+
},
1542115481
{
1542215482
"enumerant" : "FPGAKernelAttributesv2INTEL",
1542315483
"value" : 6161,
1542415484
"capabilities" : [ "FPGAKernelAttributesINTEL" ],
1542515485
"extensions" : [ "SPV_INTEL_kernel_attributes" ],
1542615486
"version" : "None"
1542715487
},
15488+
{
15489+
"enumerant" : "GlobalVariableHostAccessINTEL",
15490+
"value" : 6167,
15491+
"extensions": [ "SPV_INTEL_global_variable_host_access" ],
15492+
"version" : "None"
15493+
},
1542815494
{
1542915495
"enumerant" : "FPMaxErrorINTEL",
1543015496
"value" : 6169,
@@ -15601,6 +15667,24 @@
1560115667
}
1560215668
]
1560315669
},
15670+
{
15671+
"category" : "ValueEnum",
15672+
"kind" : "InitializationModeQualifier",
15673+
"enumerants" : [
15674+
{
15675+
"enumerant" : "InitOnDeviceReprogramINTEL",
15676+
"value" : 0,
15677+
"capabilities" : [ "GlobalVariableFPGADecorationsINTEL" ],
15678+
"version" : "None"
15679+
},
15680+
{
15681+
"enumerant" : "InitOnDeviceResetINTEL",
15682+
"value" : 1,
15683+
"capabilities" : [ "GlobalVariableFPGADecorationsINTEL" ],
15684+
"version" : "None"
15685+
}
15686+
]
15687+
},
1560415688
{
1560515689
"category" : "Id",
1560615690
"kind" : "IdResultType",

include/spirv/unified1/spirv.cs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -598,6 +598,9 @@ public enum Decoration
598598
SingleElementVectorINTEL = 6085,
599599
VectorComputeCallableFunctionINTEL = 6087,
600600
MediaBlockIOINTEL = 6140,
601+
InitModeINTEL = 6147,
602+
ImplementInRegisterMapINTEL = 6148,
603+
HostAccessINTEL = 6168,
601604
FPMaxErrorDecorationINTEL = 6170,
602605
LatencyControlLabelINTEL = 6172,
603606
LatencyControlConstraintINTEL = 6173,
@@ -1187,7 +1190,9 @@ public enum Capability
11871190
DebugInfoModuleINTEL = 6114,
11881191
BFloat16ConversionINTEL = 6115,
11891192
SplitBarrierINTEL = 6141,
1193+
GlobalVariableFPGADecorationsINTEL = 6146,
11901194
FPGAKernelAttributesv2INTEL = 6161,
1195+
GlobalVariableHostAccessINTEL = 6167,
11911196
FPMaxErrorINTEL = 6169,
11921197
FPGALatencyControlINTEL = 6171,
11931198
FPGAArgumentInterfacesINTEL = 6174,
@@ -1331,6 +1336,20 @@ public enum CooperativeMatrixUse
13311336
MatrixAccumulatorKHR = 2,
13321337
}
13331338

1339+
public enum InitializationModeQualifier
1340+
{
1341+
InitOnDeviceReprogramINTEL = 0,
1342+
InitOnDeviceResetINTEL = 1,
1343+
}
1344+
1345+
public enum HostAccessQualifier
1346+
{
1347+
NoneINTEL = 0,
1348+
ReadINTEL = 1,
1349+
WriteINTEL = 2,
1350+
ReadWriteINTEL = 3,
1351+
}
1352+
13341353
public enum Op
13351354
{
13361355
OpNop = 0,

include/spirv/unified1/spirv.h

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -604,6 +604,9 @@ typedef enum SpvDecoration_ {
604604
SpvDecorationSingleElementVectorINTEL = 6085,
605605
SpvDecorationVectorComputeCallableFunctionINTEL = 6087,
606606
SpvDecorationMediaBlockIOINTEL = 6140,
607+
SpvDecorationInitModeINTEL = 6147,
608+
SpvDecorationImplementInRegisterMapINTEL = 6148,
609+
SpvDecorationHostAccessINTEL = 6168,
607610
SpvDecorationFPMaxErrorDecorationINTEL = 6170,
608611
SpvDecorationLatencyControlLabelINTEL = 6172,
609612
SpvDecorationLatencyControlConstraintINTEL = 6173,
@@ -1187,7 +1190,9 @@ typedef enum SpvCapability_ {
11871190
SpvCapabilityDebugInfoModuleINTEL = 6114,
11881191
SpvCapabilityBFloat16ConversionINTEL = 6115,
11891192
SpvCapabilitySplitBarrierINTEL = 6141,
1193+
SpvCapabilityGlobalVariableFPGADecorationsINTEL = 6146,
11901194
SpvCapabilityFPGAKernelAttributesv2INTEL = 6161,
1195+
SpvCapabilityGlobalVariableHostAccessINTEL = 6167,
11911196
SpvCapabilityFPMaxErrorINTEL = 6169,
11921197
SpvCapabilityFPGALatencyControlINTEL = 6171,
11931198
SpvCapabilityFPGAArgumentInterfacesINTEL = 6174,
@@ -1329,6 +1334,20 @@ typedef enum SpvCooperativeMatrixUse_ {
13291334
SpvCooperativeMatrixUseMax = 0x7fffffff,
13301335
} SpvCooperativeMatrixUse;
13311336

1337+
typedef enum SpvInitializationModeQualifier_ {
1338+
SpvInitializationModeQualifierInitOnDeviceReprogramINTEL = 0,
1339+
SpvInitializationModeQualifierInitOnDeviceResetINTEL = 1,
1340+
SpvInitializationModeQualifierMax = 0x7fffffff,
1341+
} SpvInitializationModeQualifier;
1342+
1343+
typedef enum SpvHostAccessQualifier_ {
1344+
SpvHostAccessQualifierNoneINTEL = 0,
1345+
SpvHostAccessQualifierReadINTEL = 1,
1346+
SpvHostAccessQualifierWriteINTEL = 2,
1347+
SpvHostAccessQualifierReadWriteINTEL = 3,
1348+
SpvHostAccessQualifierMax = 0x7fffffff,
1349+
} SpvHostAccessQualifier;
1350+
13321351
typedef enum SpvOp_ {
13331352
SpvOpNop = 0,
13341353
SpvOpUndef = 1,

include/spirv/unified1/spirv.hpp

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -600,6 +600,9 @@ enum Decoration {
600600
DecorationSingleElementVectorINTEL = 6085,
601601
DecorationVectorComputeCallableFunctionINTEL = 6087,
602602
DecorationMediaBlockIOINTEL = 6140,
603+
DecorationInitModeINTEL = 6147,
604+
DecorationImplementInRegisterMapINTEL = 6148,
605+
DecorationHostAccessINTEL = 6168,
603606
DecorationFPMaxErrorDecorationINTEL = 6170,
604607
DecorationLatencyControlLabelINTEL = 6172,
605608
DecorationLatencyControlConstraintINTEL = 6173,
@@ -1183,7 +1186,9 @@ enum Capability {
11831186
CapabilityDebugInfoModuleINTEL = 6114,
11841187
CapabilityBFloat16ConversionINTEL = 6115,
11851188
CapabilitySplitBarrierINTEL = 6141,
1189+
CapabilityGlobalVariableFPGADecorationsINTEL = 6146,
11861190
CapabilityFPGAKernelAttributesv2INTEL = 6161,
1191+
CapabilityGlobalVariableHostAccessINTEL = 6167,
11871192
CapabilityFPMaxErrorINTEL = 6169,
11881193
CapabilityFPGALatencyControlINTEL = 6171,
11891194
CapabilityFPGAArgumentInterfacesINTEL = 6174,
@@ -1325,6 +1330,20 @@ enum CooperativeMatrixUse {
13251330
CooperativeMatrixUseMax = 0x7fffffff,
13261331
};
13271332

1333+
enum InitializationModeQualifier {
1334+
InitializationModeQualifierInitOnDeviceReprogramINTEL = 0,
1335+
InitializationModeQualifierInitOnDeviceResetINTEL = 1,
1336+
InitializationModeQualifierMax = 0x7fffffff,
1337+
};
1338+
1339+
enum HostAccessQualifier {
1340+
HostAccessQualifierNoneINTEL = 0,
1341+
HostAccessQualifierReadINTEL = 1,
1342+
HostAccessQualifierWriteINTEL = 2,
1343+
HostAccessQualifierReadWriteINTEL = 3,
1344+
HostAccessQualifierMax = 0x7fffffff,
1345+
};
1346+
13281347
enum Op {
13291348
OpNop = 0,
13301349
OpUndef = 1,

include/spirv/unified1/spirv.hpp11

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -600,6 +600,9 @@ enum class Decoration : unsigned {
600600
SingleElementVectorINTEL = 6085,
601601
VectorComputeCallableFunctionINTEL = 6087,
602602
MediaBlockIOINTEL = 6140,
603+
InitModeINTEL = 6147,
604+
ImplementInRegisterMapINTEL = 6148,
605+
HostAccessINTEL = 6168,
603606
FPMaxErrorDecorationINTEL = 6170,
604607
LatencyControlLabelINTEL = 6172,
605608
LatencyControlConstraintINTEL = 6173,
@@ -1183,7 +1186,9 @@ enum class Capability : unsigned {
11831186
DebugInfoModuleINTEL = 6114,
11841187
BFloat16ConversionINTEL = 6115,
11851188
SplitBarrierINTEL = 6141,
1189+
GlobalVariableFPGADecorationsINTEL = 6146,
11861190
FPGAKernelAttributesv2INTEL = 6161,
1191+
GlobalVariableHostAccessINTEL = 6167,
11871192
FPMaxErrorINTEL = 6169,
11881193
FPGALatencyControlINTEL = 6171,
11891194
FPGAArgumentInterfacesINTEL = 6174,
@@ -1325,6 +1330,20 @@ enum class CooperativeMatrixUse : unsigned {
13251330
Max = 0x7fffffff,
13261331
};
13271332

1333+
enum class InitializationModeQualifier : unsigned {
1334+
InitOnDeviceReprogramINTEL = 0,
1335+
InitOnDeviceResetINTEL = 1,
1336+
Max = 0x7fffffff,
1337+
};
1338+
1339+
enum class HostAccessQualifier : unsigned {
1340+
NoneINTEL = 0,
1341+
ReadINTEL = 1,
1342+
WriteINTEL = 2,
1343+
ReadWriteINTEL = 3,
1344+
Max = 0x7fffffff,
1345+
};
1346+
13281347
enum class Op : unsigned {
13291348
OpNop = 0,
13301349
OpUndef = 1,

include/spirv/unified1/spirv.json

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -626,6 +626,9 @@
626626
"SingleElementVectorINTEL": 6085,
627627
"VectorComputeCallableFunctionINTEL": 6087,
628628
"MediaBlockIOINTEL": 6140,
629+
"InitModeINTEL": 6147,
630+
"ImplementInRegisterMapINTEL": 6148,
631+
"HostAccessINTEL": 6168,
629632
"FPMaxErrorDecorationINTEL": 6170,
630633
"LatencyControlLabelINTEL": 6172,
631634
"LatencyControlConstraintINTEL": 6173,
@@ -1163,7 +1166,9 @@
11631166
"DebugInfoModuleINTEL": 6114,
11641167
"BFloat16ConversionINTEL": 6115,
11651168
"SplitBarrierINTEL": 6141,
1169+
"GlobalVariableFPGADecorationsINTEL": 6146,
11661170
"FPGAKernelAttributesv2INTEL": 6161,
1171+
"GlobalVariableHostAccessINTEL": 6167,
11671172
"FPMaxErrorINTEL": 6169,
11681173
"FPGALatencyControlINTEL": 6171,
11691174
"FPGAArgumentInterfacesINTEL": 6174,
@@ -1311,6 +1316,26 @@
13111316
"MatrixAccumulatorKHR": 2
13121317
}
13131318
},
1319+
{
1320+
"Name": "InitializationModeQualifier",
1321+
"Type": "Value",
1322+
"Values":
1323+
{
1324+
"InitOnDeviceReprogramINTEL": 0,
1325+
"InitOnDeviceResetINTEL": 1
1326+
}
1327+
},
1328+
{
1329+
"Name": "HostAccessQualifier",
1330+
"Type": "Value",
1331+
"Values":
1332+
{
1333+
"NoneINTEL": 0,
1334+
"ReadINTEL": 1,
1335+
"WriteINTEL": 2,
1336+
"ReadWriteINTEL": 3
1337+
}
1338+
},
13141339
{
13151340
"Name": "Op",
13161341
"Type": "Value",

0 commit comments

Comments
 (0)