Skip to content

Commit

Permalink
Merge pull request KhronosGroup#320 from CodeLinaro/spv-qcom-image-pr…
Browse files Browse the repository at this point in the history
…ocessing

SPV_QCOM_image_processing, fixes KhronosGroup#307
  • Loading branch information
johnkslang authored Mar 8, 2023
2 parents 9f8e16a + 3228364 commit 1feaf44
Show file tree
Hide file tree
Showing 10 changed files with 183 additions and 0 deletions.
9 changes: 9 additions & 0 deletions include/spirv/unified1/spirv.bf
Original file line number Diff line number Diff line change
Expand Up @@ -508,6 +508,8 @@ namespace Spv
MaxByteOffsetId = 47,
NoSignedWrap = 4469,
NoUnsignedWrap = 4470,
WeightTextureQCOM = 4487,
BlockMatchTextureQCOM = 4488,
ExplicitInterpAMD = 4999,
OverrideCoverageNV = 5248,
PassthroughNV = 5250,
Expand Down Expand Up @@ -1022,6 +1024,9 @@ namespace Spv
RayQueryKHR = 4472,
RayTraversalPrimitiveCullingKHR = 4478,
RayTracingKHR = 4479,
TextureSampleWeightedQCOM = 4484,
TextureBoxFilterQCOM = 4485,
TextureBlockMatchQCOM = 4486,
Float16ImageAMD = 5008,
ImageGatherBiasLodAMD = 5009,
FragmentMaskAMD = 5010,
Expand Down Expand Up @@ -1640,6 +1645,10 @@ namespace Spv
OpRayQueryConfirmIntersectionKHR = 4476,
OpRayQueryProceedKHR = 4477,
OpRayQueryGetIntersectionTypeKHR = 4479,
OpImageSampleWeightedQCOM = 4480,
OpImageBoxFilterQCOM = 4481,
OpImageBlockMatchSSDQCOM = 4482,
OpImageBlockMatchSADQCOM = 4483,
OpGroupIAddNonUniformAMD = 5000,
OpGroupFAddNonUniformAMD = 5001,
OpGroupFMinNonUniformAMD = 5002,
Expand Down
90 changes: 90 additions & 0 deletions include/spirv/unified1/spirv.core.grammar.json
Original file line number Diff line number Diff line change
Expand Up @@ -4592,6 +4592,66 @@
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"opname" : "OpImageSampleWeightedQCOM",
"class" : "Image",
"opcode" : 4480,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Texture'" },
{ "kind" : "IdRef", "name" : "'Coordinates'" },
{ "kind" : "IdRef", "name" : "'Weights'" }
],
"capabilities" : [ "TextureSampleWeightedQCOM" ],
"version" : "None"
},
{
"opname" : "OpImageBoxFilterQCOM",
"class" : "Image",
"opcode" : 4481,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Texture'" },
{ "kind" : "IdRef", "name" : "'Coordinates'" },
{ "kind" : "IdRef", "name" : "'Box Size'" }
],
"capabilities" : [ "TextureBoxFilterQCOM" ],
"version" : "None"
},
{
"opname" : "OpImageBlockMatchSSDQCOM",
"class" : "Image",
"opcode" : 4482,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Target'" },
{ "kind" : "IdRef", "name" : "'Target Coordinates'" },
{ "kind" : "IdRef", "name" : "'Reference'" },
{ "kind" : "IdRef", "name" : "'Reference Coordinates'" },
{ "kind" : "IdRef", "name" : "'Block Size'" }
],
"capabilities" : [ "TextureBlockMatchQCOM" ],
"version" : "None"
},
{
"opname" : "OpImageBlockMatchSADQCOM",
"class" : "Image",
"opcode" : 4483,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Target'" },
{ "kind" : "IdRef", "name" : "'Target Coordinates'" },
{ "kind" : "IdRef", "name" : "'Reference'" },
{ "kind" : "IdRef", "name" : "'Reference Coordinates'" },
{ "kind" : "IdRef", "name" : "'Block Size'" }
],
"capabilities" : [ "TextureBlockMatchQCOM" ],
"version" : "None"
},
{
"opname" : "OpGroupIAddNonUniformAMD",
"class" : "Group",
Expand Down Expand Up @@ -12019,6 +12079,18 @@
"extensions" : [ "SPV_KHR_no_integer_wrap_decoration" ],
"version" : "1.4"
},
{
"enumerant" : "WeightTextureQCOM",
"value" : 4487,
"extensions" : [ "SPV_QCOM_image_processing" ],
"version" : "None"
},
{
"enumerant" : "BlockMatchTextureQCOM",
"value" : 4488,
"extensions" : [ "SPV_QCOM_image_processing" ],
"version" : "None"
},
{
"enumerant" : "ExplicitInterpAMD",
"value" : 4999,
Expand Down Expand Up @@ -14135,6 +14207,24 @@
"extensions" : [ "SPV_KHR_ray_tracing" ],
"version" : "None"
},
{
"enumerant" : "TextureSampleWeightedQCOM",
"value" : 4484,
"extensions" : [ "SPV_QCOM_image_processing" ],
"version" : "None"
},
{
"enumerant" : "TextureBoxFilterQCOM",
"value" : 4485,
"extensions" : [ "SPV_QCOM_image_processing" ],
"version" : "None"
},
{
"enumerant" : "TextureBlockMatchQCOM",
"value" : 4486,
"extensions" : [ "SPV_QCOM_image_processing" ],
"version" : "None"
},
{
"enumerant" : "Float16ImageAMD",
"value" : 5008,
Expand Down
9 changes: 9 additions & 0 deletions include/spirv/unified1/spirv.cs
Original file line number Diff line number Diff line change
Expand Up @@ -507,6 +507,8 @@ public enum Decoration
MaxByteOffsetId = 47,
NoSignedWrap = 4469,
NoUnsignedWrap = 4470,
WeightTextureQCOM = 4487,
BlockMatchTextureQCOM = 4488,
ExplicitInterpAMD = 4999,
OverrideCoverageNV = 5248,
PassthroughNV = 5250,
Expand Down Expand Up @@ -1021,6 +1023,9 @@ public enum Capability
RayQueryKHR = 4472,
RayTraversalPrimitiveCullingKHR = 4478,
RayTracingKHR = 4479,
TextureSampleWeightedQCOM = 4484,
TextureBoxFilterQCOM = 4485,
TextureBlockMatchQCOM = 4486,
Float16ImageAMD = 5008,
ImageGatherBiasLodAMD = 5009,
FragmentMaskAMD = 5010,
Expand Down Expand Up @@ -1639,6 +1644,10 @@ public enum Op
OpRayQueryConfirmIntersectionKHR = 4476,
OpRayQueryProceedKHR = 4477,
OpRayQueryGetIntersectionTypeKHR = 4479,
OpImageSampleWeightedQCOM = 4480,
OpImageBoxFilterQCOM = 4481,
OpImageBlockMatchSSDQCOM = 4482,
OpImageBlockMatchSADQCOM = 4483,
OpGroupIAddNonUniformAMD = 5000,
OpGroupFAddNonUniformAMD = 5001,
OpGroupFMinNonUniformAMD = 5002,
Expand Down
13 changes: 13 additions & 0 deletions include/spirv/unified1/spirv.h
Original file line number Diff line number Diff line change
Expand Up @@ -513,6 +513,8 @@ typedef enum SpvDecoration_ {
SpvDecorationMaxByteOffsetId = 47,
SpvDecorationNoSignedWrap = 4469,
SpvDecorationNoUnsignedWrap = 4470,
SpvDecorationWeightTextureQCOM = 4487,
SpvDecorationBlockMatchTextureQCOM = 4488,
SpvDecorationExplicitInterpAMD = 4999,
SpvDecorationOverrideCoverageNV = 5248,
SpvDecorationPassthroughNV = 5250,
Expand Down Expand Up @@ -1021,6 +1023,9 @@ typedef enum SpvCapability_ {
SpvCapabilityRayQueryKHR = 4472,
SpvCapabilityRayTraversalPrimitiveCullingKHR = 4478,
SpvCapabilityRayTracingKHR = 4479,
SpvCapabilityTextureSampleWeightedQCOM = 4484,
SpvCapabilityTextureBoxFilterQCOM = 4485,
SpvCapabilityTextureBlockMatchQCOM = 4486,
SpvCapabilityFloat16ImageAMD = 5008,
SpvCapabilityImageGatherBiasLodAMD = 5009,
SpvCapabilityFragmentMaskAMD = 5010,
Expand Down Expand Up @@ -1637,6 +1642,10 @@ typedef enum SpvOp_ {
SpvOpRayQueryConfirmIntersectionKHR = 4476,
SpvOpRayQueryProceedKHR = 4477,
SpvOpRayQueryGetIntersectionTypeKHR = 4479,
SpvOpImageSampleWeightedQCOM = 4480,
SpvOpImageBoxFilterQCOM = 4481,
SpvOpImageBlockMatchSSDQCOM = 4482,
SpvOpImageBlockMatchSADQCOM = 4483,
SpvOpGroupIAddNonUniformAMD = 5000,
SpvOpGroupFAddNonUniformAMD = 5001,
SpvOpGroupFMinNonUniformAMD = 5002,
Expand Down Expand Up @@ -2347,6 +2356,10 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
case SpvOpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
case SpvOpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpImageSampleWeightedQCOM: *hasResult = true; *hasResultType = true; break;
case SpvOpImageBoxFilterQCOM: *hasResult = true; *hasResultType = true; break;
case SpvOpImageBlockMatchSSDQCOM: *hasResult = true; *hasResultType = true; break;
case SpvOpImageBlockMatchSADQCOM: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
Expand Down
13 changes: 13 additions & 0 deletions include/spirv/unified1/spirv.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -509,6 +509,8 @@ enum Decoration {
DecorationMaxByteOffsetId = 47,
DecorationNoSignedWrap = 4469,
DecorationNoUnsignedWrap = 4470,
DecorationWeightTextureQCOM = 4487,
DecorationBlockMatchTextureQCOM = 4488,
DecorationExplicitInterpAMD = 4999,
DecorationOverrideCoverageNV = 5248,
DecorationPassthroughNV = 5250,
Expand Down Expand Up @@ -1017,6 +1019,9 @@ enum Capability {
CapabilityRayQueryKHR = 4472,
CapabilityRayTraversalPrimitiveCullingKHR = 4478,
CapabilityRayTracingKHR = 4479,
CapabilityTextureSampleWeightedQCOM = 4484,
CapabilityTextureBoxFilterQCOM = 4485,
CapabilityTextureBlockMatchQCOM = 4486,
CapabilityFloat16ImageAMD = 5008,
CapabilityImageGatherBiasLodAMD = 5009,
CapabilityFragmentMaskAMD = 5010,
Expand Down Expand Up @@ -1633,6 +1638,10 @@ enum Op {
OpRayQueryConfirmIntersectionKHR = 4476,
OpRayQueryProceedKHR = 4477,
OpRayQueryGetIntersectionTypeKHR = 4479,
OpImageSampleWeightedQCOM = 4480,
OpImageBoxFilterQCOM = 4481,
OpImageBlockMatchSSDQCOM = 4482,
OpImageBlockMatchSADQCOM = 4483,
OpGroupIAddNonUniformAMD = 5000,
OpGroupFAddNonUniformAMD = 5001,
OpGroupFMinNonUniformAMD = 5002,
Expand Down Expand Up @@ -2343,6 +2352,10 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
case OpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
case OpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
case OpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
case OpImageSampleWeightedQCOM: *hasResult = true; *hasResultType = true; break;
case OpImageBoxFilterQCOM: *hasResult = true; *hasResultType = true; break;
case OpImageBlockMatchSSDQCOM: *hasResult = true; *hasResultType = true; break;
case OpImageBlockMatchSADQCOM: *hasResult = true; *hasResultType = true; break;
case OpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
case OpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
case OpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
Expand Down
13 changes: 13 additions & 0 deletions include/spirv/unified1/spirv.hpp11
Original file line number Diff line number Diff line change
Expand Up @@ -509,6 +509,8 @@ enum class Decoration : unsigned {
MaxByteOffsetId = 47,
NoSignedWrap = 4469,
NoUnsignedWrap = 4470,
WeightTextureQCOM = 4487,
BlockMatchTextureQCOM = 4488,
ExplicitInterpAMD = 4999,
OverrideCoverageNV = 5248,
PassthroughNV = 5250,
Expand Down Expand Up @@ -1017,6 +1019,9 @@ enum class Capability : unsigned {
RayQueryKHR = 4472,
RayTraversalPrimitiveCullingKHR = 4478,
RayTracingKHR = 4479,
TextureSampleWeightedQCOM = 4484,
TextureBoxFilterQCOM = 4485,
TextureBlockMatchQCOM = 4486,
Float16ImageAMD = 5008,
ImageGatherBiasLodAMD = 5009,
FragmentMaskAMD = 5010,
Expand Down Expand Up @@ -1633,6 +1638,10 @@ enum class Op : unsigned {
OpRayQueryConfirmIntersectionKHR = 4476,
OpRayQueryProceedKHR = 4477,
OpRayQueryGetIntersectionTypeKHR = 4479,
OpImageSampleWeightedQCOM = 4480,
OpImageBoxFilterQCOM = 4481,
OpImageBlockMatchSSDQCOM = 4482,
OpImageBlockMatchSADQCOM = 4483,
OpGroupIAddNonUniformAMD = 5000,
OpGroupFAddNonUniformAMD = 5001,
OpGroupFMinNonUniformAMD = 5002,
Expand Down Expand Up @@ -2343,6 +2352,10 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
case Op::OpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
case Op::OpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpImageSampleWeightedQCOM: *hasResult = true; *hasResultType = true; break;
case Op::OpImageBoxFilterQCOM: *hasResult = true; *hasResultType = true; break;
case Op::OpImageBlockMatchSSDQCOM: *hasResult = true; *hasResultType = true; break;
case Op::OpImageBlockMatchSADQCOM: *hasResult = true; *hasResultType = true; break;
case Op::OpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
case Op::OpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
case Op::OpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
Expand Down
9 changes: 9 additions & 0 deletions include/spirv/unified1/spirv.json
Original file line number Diff line number Diff line change
Expand Up @@ -535,6 +535,8 @@
"MaxByteOffsetId": 47,
"NoSignedWrap": 4469,
"NoUnsignedWrap": 4470,
"WeightTextureQCOM": 4487,
"BlockMatchTextureQCOM": 4488,
"ExplicitInterpAMD": 4999,
"OverrideCoverageNV": 5248,
"PassthroughNV": 5250,
Expand Down Expand Up @@ -997,6 +999,9 @@
"RayQueryKHR": 4472,
"RayTraversalPrimitiveCullingKHR": 4478,
"RayTracingKHR": 4479,
"TextureSampleWeightedQCOM": 4484,
"TextureBoxFilterQCOM": 4485,
"TextureBlockMatchQCOM": 4486,
"Float16ImageAMD": 5008,
"ImageGatherBiasLodAMD": 5009,
"FragmentMaskAMD": 5010,
Expand Down Expand Up @@ -1623,6 +1628,10 @@
"OpRayQueryConfirmIntersectionKHR": 4476,
"OpRayQueryProceedKHR": 4477,
"OpRayQueryGetIntersectionTypeKHR": 4479,
"OpImageSampleWeightedQCOM": 4480,
"OpImageBoxFilterQCOM": 4481,
"OpImageBlockMatchSSDQCOM": 4482,
"OpImageBlockMatchSADQCOM": 4483,
"OpGroupIAddNonUniformAMD": 5000,
"OpGroupFAddNonUniformAMD": 5001,
"OpGroupFMinNonUniformAMD": 5002,
Expand Down
9 changes: 9 additions & 0 deletions include/spirv/unified1/spirv.lua
Original file line number Diff line number Diff line change
Expand Up @@ -482,6 +482,8 @@ spv = {
MaxByteOffsetId = 47,
NoSignedWrap = 4469,
NoUnsignedWrap = 4470,
WeightTextureQCOM = 4487,
BlockMatchTextureQCOM = 4488,
ExplicitInterpAMD = 4999,
OverrideCoverageNV = 5248,
PassthroughNV = 5250,
Expand Down Expand Up @@ -979,6 +981,9 @@ spv = {
RayQueryKHR = 4472,
RayTraversalPrimitiveCullingKHR = 4478,
RayTracingKHR = 4479,
TextureSampleWeightedQCOM = 4484,
TextureBoxFilterQCOM = 4485,
TextureBlockMatchQCOM = 4486,
Float16ImageAMD = 5008,
ImageGatherBiasLodAMD = 5009,
FragmentMaskAMD = 5010,
Expand Down Expand Up @@ -1584,6 +1589,10 @@ spv = {
OpRayQueryConfirmIntersectionKHR = 4476,
OpRayQueryProceedKHR = 4477,
OpRayQueryGetIntersectionTypeKHR = 4479,
OpImageSampleWeightedQCOM = 4480,
OpImageBoxFilterQCOM = 4481,
OpImageBlockMatchSSDQCOM = 4482,
OpImageBlockMatchSADQCOM = 4483,
OpGroupIAddNonUniformAMD = 5000,
OpGroupFAddNonUniformAMD = 5001,
OpGroupFMinNonUniformAMD = 5002,
Expand Down
9 changes: 9 additions & 0 deletions include/spirv/unified1/spirv.py
Original file line number Diff line number Diff line change
Expand Up @@ -482,6 +482,8 @@
'MaxByteOffsetId' : 47,
'NoSignedWrap' : 4469,
'NoUnsignedWrap' : 4470,
'WeightTextureQCOM' : 4487,
'BlockMatchTextureQCOM' : 4488,
'ExplicitInterpAMD' : 4999,
'OverrideCoverageNV' : 5248,
'PassthroughNV' : 5250,
Expand Down Expand Up @@ -979,6 +981,9 @@
'RayQueryKHR' : 4472,
'RayTraversalPrimitiveCullingKHR' : 4478,
'RayTracingKHR' : 4479,
'TextureSampleWeightedQCOM' : 4484,
'TextureBoxFilterQCOM' : 4485,
'TextureBlockMatchQCOM' : 4486,
'Float16ImageAMD' : 5008,
'ImageGatherBiasLodAMD' : 5009,
'FragmentMaskAMD' : 5010,
Expand Down Expand Up @@ -1584,6 +1589,10 @@
'OpRayQueryConfirmIntersectionKHR' : 4476,
'OpRayQueryProceedKHR' : 4477,
'OpRayQueryGetIntersectionTypeKHR' : 4479,
'OpImageSampleWeightedQCOM' : 4480,
'OpImageBoxFilterQCOM' : 4481,
'OpImageBlockMatchSSDQCOM' : 4482,
'OpImageBlockMatchSADQCOM' : 4483,
'OpGroupIAddNonUniformAMD' : 5000,
'OpGroupFAddNonUniformAMD' : 5001,
'OpGroupFMinNonUniformAMD' : 5002,
Expand Down
Loading

0 comments on commit 1feaf44

Please sign in to comment.