Skip to content

Commit 1feaf44

Browse files
authored
Merge pull request KhronosGroup#320 from CodeLinaro/spv-qcom-image-processing
SPV_QCOM_image_processing, fixes KhronosGroup#307
2 parents 9f8e16a + 3228364 commit 1feaf44

File tree

10 files changed

+183
-0
lines changed

10 files changed

+183
-0
lines changed

include/spirv/unified1/spirv.bf

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -508,6 +508,8 @@ namespace Spv
508508
MaxByteOffsetId = 47,
509509
NoSignedWrap = 4469,
510510
NoUnsignedWrap = 4470,
511+
WeightTextureQCOM = 4487,
512+
BlockMatchTextureQCOM = 4488,
511513
ExplicitInterpAMD = 4999,
512514
OverrideCoverageNV = 5248,
513515
PassthroughNV = 5250,
@@ -1022,6 +1024,9 @@ namespace Spv
10221024
RayQueryKHR = 4472,
10231025
RayTraversalPrimitiveCullingKHR = 4478,
10241026
RayTracingKHR = 4479,
1027+
TextureSampleWeightedQCOM = 4484,
1028+
TextureBoxFilterQCOM = 4485,
1029+
TextureBlockMatchQCOM = 4486,
10251030
Float16ImageAMD = 5008,
10261031
ImageGatherBiasLodAMD = 5009,
10271032
FragmentMaskAMD = 5010,
@@ -1640,6 +1645,10 @@ namespace Spv
16401645
OpRayQueryConfirmIntersectionKHR = 4476,
16411646
OpRayQueryProceedKHR = 4477,
16421647
OpRayQueryGetIntersectionTypeKHR = 4479,
1648+
OpImageSampleWeightedQCOM = 4480,
1649+
OpImageBoxFilterQCOM = 4481,
1650+
OpImageBlockMatchSSDQCOM = 4482,
1651+
OpImageBlockMatchSADQCOM = 4483,
16431652
OpGroupIAddNonUniformAMD = 5000,
16441653
OpGroupFAddNonUniformAMD = 5001,
16451654
OpGroupFMinNonUniformAMD = 5002,

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

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4592,6 +4592,66 @@
45924592
"extensions" : [ "SPV_KHR_ray_query" ],
45934593
"version" : "None"
45944594
},
4595+
{
4596+
"opname" : "OpImageSampleWeightedQCOM",
4597+
"class" : "Image",
4598+
"opcode" : 4480,
4599+
"operands" : [
4600+
{ "kind" : "IdResultType" },
4601+
{ "kind" : "IdResult" },
4602+
{ "kind" : "IdRef", "name" : "'Texture'" },
4603+
{ "kind" : "IdRef", "name" : "'Coordinates'" },
4604+
{ "kind" : "IdRef", "name" : "'Weights'" }
4605+
],
4606+
"capabilities" : [ "TextureSampleWeightedQCOM" ],
4607+
"version" : "None"
4608+
},
4609+
{
4610+
"opname" : "OpImageBoxFilterQCOM",
4611+
"class" : "Image",
4612+
"opcode" : 4481,
4613+
"operands" : [
4614+
{ "kind" : "IdResultType" },
4615+
{ "kind" : "IdResult" },
4616+
{ "kind" : "IdRef", "name" : "'Texture'" },
4617+
{ "kind" : "IdRef", "name" : "'Coordinates'" },
4618+
{ "kind" : "IdRef", "name" : "'Box Size'" }
4619+
],
4620+
"capabilities" : [ "TextureBoxFilterQCOM" ],
4621+
"version" : "None"
4622+
},
4623+
{
4624+
"opname" : "OpImageBlockMatchSSDQCOM",
4625+
"class" : "Image",
4626+
"opcode" : 4482,
4627+
"operands" : [
4628+
{ "kind" : "IdResultType" },
4629+
{ "kind" : "IdResult" },
4630+
{ "kind" : "IdRef", "name" : "'Target'" },
4631+
{ "kind" : "IdRef", "name" : "'Target Coordinates'" },
4632+
{ "kind" : "IdRef", "name" : "'Reference'" },
4633+
{ "kind" : "IdRef", "name" : "'Reference Coordinates'" },
4634+
{ "kind" : "IdRef", "name" : "'Block Size'" }
4635+
],
4636+
"capabilities" : [ "TextureBlockMatchQCOM" ],
4637+
"version" : "None"
4638+
},
4639+
{
4640+
"opname" : "OpImageBlockMatchSADQCOM",
4641+
"class" : "Image",
4642+
"opcode" : 4483,
4643+
"operands" : [
4644+
{ "kind" : "IdResultType" },
4645+
{ "kind" : "IdResult" },
4646+
{ "kind" : "IdRef", "name" : "'Target'" },
4647+
{ "kind" : "IdRef", "name" : "'Target Coordinates'" },
4648+
{ "kind" : "IdRef", "name" : "'Reference'" },
4649+
{ "kind" : "IdRef", "name" : "'Reference Coordinates'" },
4650+
{ "kind" : "IdRef", "name" : "'Block Size'" }
4651+
],
4652+
"capabilities" : [ "TextureBlockMatchQCOM" ],
4653+
"version" : "None"
4654+
},
45954655
{
45964656
"opname" : "OpGroupIAddNonUniformAMD",
45974657
"class" : "Group",
@@ -12019,6 +12079,18 @@
1201912079
"extensions" : [ "SPV_KHR_no_integer_wrap_decoration" ],
1202012080
"version" : "1.4"
1202112081
},
12082+
{
12083+
"enumerant" : "WeightTextureQCOM",
12084+
"value" : 4487,
12085+
"extensions" : [ "SPV_QCOM_image_processing" ],
12086+
"version" : "None"
12087+
},
12088+
{
12089+
"enumerant" : "BlockMatchTextureQCOM",
12090+
"value" : 4488,
12091+
"extensions" : [ "SPV_QCOM_image_processing" ],
12092+
"version" : "None"
12093+
},
1202212094
{
1202312095
"enumerant" : "ExplicitInterpAMD",
1202412096
"value" : 4999,
@@ -14135,6 +14207,24 @@
1413514207
"extensions" : [ "SPV_KHR_ray_tracing" ],
1413614208
"version" : "None"
1413714209
},
14210+
{
14211+
"enumerant" : "TextureSampleWeightedQCOM",
14212+
"value" : 4484,
14213+
"extensions" : [ "SPV_QCOM_image_processing" ],
14214+
"version" : "None"
14215+
},
14216+
{
14217+
"enumerant" : "TextureBoxFilterQCOM",
14218+
"value" : 4485,
14219+
"extensions" : [ "SPV_QCOM_image_processing" ],
14220+
"version" : "None"
14221+
},
14222+
{
14223+
"enumerant" : "TextureBlockMatchQCOM",
14224+
"value" : 4486,
14225+
"extensions" : [ "SPV_QCOM_image_processing" ],
14226+
"version" : "None"
14227+
},
1413814228
{
1413914229
"enumerant" : "Float16ImageAMD",
1414014230
"value" : 5008,

include/spirv/unified1/spirv.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -507,6 +507,8 @@ public enum Decoration
507507
MaxByteOffsetId = 47,
508508
NoSignedWrap = 4469,
509509
NoUnsignedWrap = 4470,
510+
WeightTextureQCOM = 4487,
511+
BlockMatchTextureQCOM = 4488,
510512
ExplicitInterpAMD = 4999,
511513
OverrideCoverageNV = 5248,
512514
PassthroughNV = 5250,
@@ -1021,6 +1023,9 @@ public enum Capability
10211023
RayQueryKHR = 4472,
10221024
RayTraversalPrimitiveCullingKHR = 4478,
10231025
RayTracingKHR = 4479,
1026+
TextureSampleWeightedQCOM = 4484,
1027+
TextureBoxFilterQCOM = 4485,
1028+
TextureBlockMatchQCOM = 4486,
10241029
Float16ImageAMD = 5008,
10251030
ImageGatherBiasLodAMD = 5009,
10261031
FragmentMaskAMD = 5010,
@@ -1639,6 +1644,10 @@ public enum Op
16391644
OpRayQueryConfirmIntersectionKHR = 4476,
16401645
OpRayQueryProceedKHR = 4477,
16411646
OpRayQueryGetIntersectionTypeKHR = 4479,
1647+
OpImageSampleWeightedQCOM = 4480,
1648+
OpImageBoxFilterQCOM = 4481,
1649+
OpImageBlockMatchSSDQCOM = 4482,
1650+
OpImageBlockMatchSADQCOM = 4483,
16421651
OpGroupIAddNonUniformAMD = 5000,
16431652
OpGroupFAddNonUniformAMD = 5001,
16441653
OpGroupFMinNonUniformAMD = 5002,

include/spirv/unified1/spirv.h

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -513,6 +513,8 @@ typedef enum SpvDecoration_ {
513513
SpvDecorationMaxByteOffsetId = 47,
514514
SpvDecorationNoSignedWrap = 4469,
515515
SpvDecorationNoUnsignedWrap = 4470,
516+
SpvDecorationWeightTextureQCOM = 4487,
517+
SpvDecorationBlockMatchTextureQCOM = 4488,
516518
SpvDecorationExplicitInterpAMD = 4999,
517519
SpvDecorationOverrideCoverageNV = 5248,
518520
SpvDecorationPassthroughNV = 5250,
@@ -1021,6 +1023,9 @@ typedef enum SpvCapability_ {
10211023
SpvCapabilityRayQueryKHR = 4472,
10221024
SpvCapabilityRayTraversalPrimitiveCullingKHR = 4478,
10231025
SpvCapabilityRayTracingKHR = 4479,
1026+
SpvCapabilityTextureSampleWeightedQCOM = 4484,
1027+
SpvCapabilityTextureBoxFilterQCOM = 4485,
1028+
SpvCapabilityTextureBlockMatchQCOM = 4486,
10241029
SpvCapabilityFloat16ImageAMD = 5008,
10251030
SpvCapabilityImageGatherBiasLodAMD = 5009,
10261031
SpvCapabilityFragmentMaskAMD = 5010,
@@ -1637,6 +1642,10 @@ typedef enum SpvOp_ {
16371642
SpvOpRayQueryConfirmIntersectionKHR = 4476,
16381643
SpvOpRayQueryProceedKHR = 4477,
16391644
SpvOpRayQueryGetIntersectionTypeKHR = 4479,
1645+
SpvOpImageSampleWeightedQCOM = 4480,
1646+
SpvOpImageBoxFilterQCOM = 4481,
1647+
SpvOpImageBlockMatchSSDQCOM = 4482,
1648+
SpvOpImageBlockMatchSADQCOM = 4483,
16401649
SpvOpGroupIAddNonUniformAMD = 5000,
16411650
SpvOpGroupFAddNonUniformAMD = 5001,
16421651
SpvOpGroupFMinNonUniformAMD = 5002,
@@ -2347,6 +2356,10 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
23472356
case SpvOpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
23482357
case SpvOpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
23492358
case SpvOpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
2359+
case SpvOpImageSampleWeightedQCOM: *hasResult = true; *hasResultType = true; break;
2360+
case SpvOpImageBoxFilterQCOM: *hasResult = true; *hasResultType = true; break;
2361+
case SpvOpImageBlockMatchSSDQCOM: *hasResult = true; *hasResultType = true; break;
2362+
case SpvOpImageBlockMatchSADQCOM: *hasResult = true; *hasResultType = true; break;
23502363
case SpvOpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
23512364
case SpvOpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
23522365
case SpvOpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;

include/spirv/unified1/spirv.hpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -509,6 +509,8 @@ enum Decoration {
509509
DecorationMaxByteOffsetId = 47,
510510
DecorationNoSignedWrap = 4469,
511511
DecorationNoUnsignedWrap = 4470,
512+
DecorationWeightTextureQCOM = 4487,
513+
DecorationBlockMatchTextureQCOM = 4488,
512514
DecorationExplicitInterpAMD = 4999,
513515
DecorationOverrideCoverageNV = 5248,
514516
DecorationPassthroughNV = 5250,
@@ -1017,6 +1019,9 @@ enum Capability {
10171019
CapabilityRayQueryKHR = 4472,
10181020
CapabilityRayTraversalPrimitiveCullingKHR = 4478,
10191021
CapabilityRayTracingKHR = 4479,
1022+
CapabilityTextureSampleWeightedQCOM = 4484,
1023+
CapabilityTextureBoxFilterQCOM = 4485,
1024+
CapabilityTextureBlockMatchQCOM = 4486,
10201025
CapabilityFloat16ImageAMD = 5008,
10211026
CapabilityImageGatherBiasLodAMD = 5009,
10221027
CapabilityFragmentMaskAMD = 5010,
@@ -1633,6 +1638,10 @@ enum Op {
16331638
OpRayQueryConfirmIntersectionKHR = 4476,
16341639
OpRayQueryProceedKHR = 4477,
16351640
OpRayQueryGetIntersectionTypeKHR = 4479,
1641+
OpImageSampleWeightedQCOM = 4480,
1642+
OpImageBoxFilterQCOM = 4481,
1643+
OpImageBlockMatchSSDQCOM = 4482,
1644+
OpImageBlockMatchSADQCOM = 4483,
16361645
OpGroupIAddNonUniformAMD = 5000,
16371646
OpGroupFAddNonUniformAMD = 5001,
16381647
OpGroupFMinNonUniformAMD = 5002,
@@ -2343,6 +2352,10 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
23432352
case OpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
23442353
case OpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
23452354
case OpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
2355+
case OpImageSampleWeightedQCOM: *hasResult = true; *hasResultType = true; break;
2356+
case OpImageBoxFilterQCOM: *hasResult = true; *hasResultType = true; break;
2357+
case OpImageBlockMatchSSDQCOM: *hasResult = true; *hasResultType = true; break;
2358+
case OpImageBlockMatchSADQCOM: *hasResult = true; *hasResultType = true; break;
23462359
case OpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
23472360
case OpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
23482361
case OpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;

include/spirv/unified1/spirv.hpp11

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -509,6 +509,8 @@ enum class Decoration : unsigned {
509509
MaxByteOffsetId = 47,
510510
NoSignedWrap = 4469,
511511
NoUnsignedWrap = 4470,
512+
WeightTextureQCOM = 4487,
513+
BlockMatchTextureQCOM = 4488,
512514
ExplicitInterpAMD = 4999,
513515
OverrideCoverageNV = 5248,
514516
PassthroughNV = 5250,
@@ -1017,6 +1019,9 @@ enum class Capability : unsigned {
10171019
RayQueryKHR = 4472,
10181020
RayTraversalPrimitiveCullingKHR = 4478,
10191021
RayTracingKHR = 4479,
1022+
TextureSampleWeightedQCOM = 4484,
1023+
TextureBoxFilterQCOM = 4485,
1024+
TextureBlockMatchQCOM = 4486,
10201025
Float16ImageAMD = 5008,
10211026
ImageGatherBiasLodAMD = 5009,
10221027
FragmentMaskAMD = 5010,
@@ -1633,6 +1638,10 @@ enum class Op : unsigned {
16331638
OpRayQueryConfirmIntersectionKHR = 4476,
16341639
OpRayQueryProceedKHR = 4477,
16351640
OpRayQueryGetIntersectionTypeKHR = 4479,
1641+
OpImageSampleWeightedQCOM = 4480,
1642+
OpImageBoxFilterQCOM = 4481,
1643+
OpImageBlockMatchSSDQCOM = 4482,
1644+
OpImageBlockMatchSADQCOM = 4483,
16361645
OpGroupIAddNonUniformAMD = 5000,
16371646
OpGroupFAddNonUniformAMD = 5001,
16381647
OpGroupFMinNonUniformAMD = 5002,
@@ -2343,6 +2352,10 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
23432352
case Op::OpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
23442353
case Op::OpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
23452354
case Op::OpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
2355+
case Op::OpImageSampleWeightedQCOM: *hasResult = true; *hasResultType = true; break;
2356+
case Op::OpImageBoxFilterQCOM: *hasResult = true; *hasResultType = true; break;
2357+
case Op::OpImageBlockMatchSSDQCOM: *hasResult = true; *hasResultType = true; break;
2358+
case Op::OpImageBlockMatchSADQCOM: *hasResult = true; *hasResultType = true; break;
23462359
case Op::OpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
23472360
case Op::OpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
23482361
case Op::OpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;

include/spirv/unified1/spirv.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -535,6 +535,8 @@
535535
"MaxByteOffsetId": 47,
536536
"NoSignedWrap": 4469,
537537
"NoUnsignedWrap": 4470,
538+
"WeightTextureQCOM": 4487,
539+
"BlockMatchTextureQCOM": 4488,
538540
"ExplicitInterpAMD": 4999,
539541
"OverrideCoverageNV": 5248,
540542
"PassthroughNV": 5250,
@@ -997,6 +999,9 @@
997999
"RayQueryKHR": 4472,
9981000
"RayTraversalPrimitiveCullingKHR": 4478,
9991001
"RayTracingKHR": 4479,
1002+
"TextureSampleWeightedQCOM": 4484,
1003+
"TextureBoxFilterQCOM": 4485,
1004+
"TextureBlockMatchQCOM": 4486,
10001005
"Float16ImageAMD": 5008,
10011006
"ImageGatherBiasLodAMD": 5009,
10021007
"FragmentMaskAMD": 5010,
@@ -1623,6 +1628,10 @@
16231628
"OpRayQueryConfirmIntersectionKHR": 4476,
16241629
"OpRayQueryProceedKHR": 4477,
16251630
"OpRayQueryGetIntersectionTypeKHR": 4479,
1631+
"OpImageSampleWeightedQCOM": 4480,
1632+
"OpImageBoxFilterQCOM": 4481,
1633+
"OpImageBlockMatchSSDQCOM": 4482,
1634+
"OpImageBlockMatchSADQCOM": 4483,
16261635
"OpGroupIAddNonUniformAMD": 5000,
16271636
"OpGroupFAddNonUniformAMD": 5001,
16281637
"OpGroupFMinNonUniformAMD": 5002,

include/spirv/unified1/spirv.lua

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -482,6 +482,8 @@ spv = {
482482
MaxByteOffsetId = 47,
483483
NoSignedWrap = 4469,
484484
NoUnsignedWrap = 4470,
485+
WeightTextureQCOM = 4487,
486+
BlockMatchTextureQCOM = 4488,
485487
ExplicitInterpAMD = 4999,
486488
OverrideCoverageNV = 5248,
487489
PassthroughNV = 5250,
@@ -979,6 +981,9 @@ spv = {
979981
RayQueryKHR = 4472,
980982
RayTraversalPrimitiveCullingKHR = 4478,
981983
RayTracingKHR = 4479,
984+
TextureSampleWeightedQCOM = 4484,
985+
TextureBoxFilterQCOM = 4485,
986+
TextureBlockMatchQCOM = 4486,
982987
Float16ImageAMD = 5008,
983988
ImageGatherBiasLodAMD = 5009,
984989
FragmentMaskAMD = 5010,
@@ -1584,6 +1589,10 @@ spv = {
15841589
OpRayQueryConfirmIntersectionKHR = 4476,
15851590
OpRayQueryProceedKHR = 4477,
15861591
OpRayQueryGetIntersectionTypeKHR = 4479,
1592+
OpImageSampleWeightedQCOM = 4480,
1593+
OpImageBoxFilterQCOM = 4481,
1594+
OpImageBlockMatchSSDQCOM = 4482,
1595+
OpImageBlockMatchSADQCOM = 4483,
15871596
OpGroupIAddNonUniformAMD = 5000,
15881597
OpGroupFAddNonUniformAMD = 5001,
15891598
OpGroupFMinNonUniformAMD = 5002,

include/spirv/unified1/spirv.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -482,6 +482,8 @@
482482
'MaxByteOffsetId' : 47,
483483
'NoSignedWrap' : 4469,
484484
'NoUnsignedWrap' : 4470,
485+
'WeightTextureQCOM' : 4487,
486+
'BlockMatchTextureQCOM' : 4488,
485487
'ExplicitInterpAMD' : 4999,
486488
'OverrideCoverageNV' : 5248,
487489
'PassthroughNV' : 5250,
@@ -979,6 +981,9 @@
979981
'RayQueryKHR' : 4472,
980982
'RayTraversalPrimitiveCullingKHR' : 4478,
981983
'RayTracingKHR' : 4479,
984+
'TextureSampleWeightedQCOM' : 4484,
985+
'TextureBoxFilterQCOM' : 4485,
986+
'TextureBlockMatchQCOM' : 4486,
982987
'Float16ImageAMD' : 5008,
983988
'ImageGatherBiasLodAMD' : 5009,
984989
'FragmentMaskAMD' : 5010,
@@ -1584,6 +1589,10 @@
15841589
'OpRayQueryConfirmIntersectionKHR' : 4476,
15851590
'OpRayQueryProceedKHR' : 4477,
15861591
'OpRayQueryGetIntersectionTypeKHR' : 4479,
1592+
'OpImageSampleWeightedQCOM' : 4480,
1593+
'OpImageBoxFilterQCOM' : 4481,
1594+
'OpImageBlockMatchSSDQCOM' : 4482,
1595+
'OpImageBlockMatchSADQCOM' : 4483,
15871596
'OpGroupIAddNonUniformAMD' : 5000,
15881597
'OpGroupFAddNonUniformAMD' : 5001,
15891598
'OpGroupFMinNonUniformAMD' : 5002,

0 commit comments

Comments
 (0)