Updated spirv-headers.

This commit is contained in:
Бранимир Караџић 2019-03-16 20:20:33 -07:00
parent feed98f36e
commit 45a64efab9
13 changed files with 49 additions and 33 deletions

View File

@ -3366,7 +3366,7 @@
{ "kind" : "IdRef", "name" : "'Value'" }, { "kind" : "IdRef", "name" : "'Value'" },
{ "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" } { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
], ],
"capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ], "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
"version" : "1.3" "version" : "1.3"
}, },
{ {
@ -3380,7 +3380,7 @@
{ "kind" : "IdRef", "name" : "'Value'" }, { "kind" : "IdRef", "name" : "'Value'" },
{ "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" } { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
], ],
"capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ], "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
"version" : "1.3" "version" : "1.3"
}, },
{ {
@ -3394,7 +3394,7 @@
{ "kind" : "IdRef", "name" : "'Value'" }, { "kind" : "IdRef", "name" : "'Value'" },
{ "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" } { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
], ],
"capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ], "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
"version" : "1.3" "version" : "1.3"
}, },
{ {
@ -3408,7 +3408,7 @@
{ "kind" : "IdRef", "name" : "'Value'" }, { "kind" : "IdRef", "name" : "'Value'" },
{ "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" } { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
], ],
"capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ], "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
"version" : "1.3" "version" : "1.3"
}, },
{ {
@ -3422,7 +3422,7 @@
{ "kind" : "IdRef", "name" : "'Value'" }, { "kind" : "IdRef", "name" : "'Value'" },
{ "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" } { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
], ],
"capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ], "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
"version" : "1.3" "version" : "1.3"
}, },
{ {
@ -3436,7 +3436,7 @@
{ "kind" : "IdRef", "name" : "'Value'" }, { "kind" : "IdRef", "name" : "'Value'" },
{ "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" } { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
], ],
"capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ], "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
"version" : "1.3" "version" : "1.3"
}, },
{ {
@ -3450,7 +3450,7 @@
{ "kind" : "IdRef", "name" : "'Value'" }, { "kind" : "IdRef", "name" : "'Value'" },
{ "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" } { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
], ],
"capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ], "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
"version" : "1.3" "version" : "1.3"
}, },
{ {
@ -3464,7 +3464,7 @@
{ "kind" : "IdRef", "name" : "'Value'" }, { "kind" : "IdRef", "name" : "'Value'" },
{ "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" } { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
], ],
"capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ], "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
"version" : "1.3" "version" : "1.3"
}, },
{ {
@ -3478,7 +3478,7 @@
{ "kind" : "IdRef", "name" : "'Value'" }, { "kind" : "IdRef", "name" : "'Value'" },
{ "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" } { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
], ],
"capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ], "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
"version" : "1.3" "version" : "1.3"
}, },
{ {
@ -3492,7 +3492,7 @@
{ "kind" : "IdRef", "name" : "'Value'" }, { "kind" : "IdRef", "name" : "'Value'" },
{ "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" } { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
], ],
"capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ], "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
"version" : "1.3" "version" : "1.3"
}, },
{ {
@ -3506,7 +3506,7 @@
{ "kind" : "IdRef", "name" : "'Value'" }, { "kind" : "IdRef", "name" : "'Value'" },
{ "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" } { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
], ],
"capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ], "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
"version" : "1.3" "version" : "1.3"
}, },
{ {
@ -3520,7 +3520,7 @@
{ "kind" : "IdRef", "name" : "'Value'" }, { "kind" : "IdRef", "name" : "'Value'" },
{ "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" } { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
], ],
"capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ], "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
"version" : "1.3" "version" : "1.3"
}, },
{ {
@ -3534,7 +3534,7 @@
{ "kind" : "IdRef", "name" : "'Value'" }, { "kind" : "IdRef", "name" : "'Value'" },
{ "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" } { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
], ],
"capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ], "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
"version" : "1.3" "version" : "1.3"
}, },
{ {
@ -3548,7 +3548,7 @@
{ "kind" : "IdRef", "name" : "'Value'" }, { "kind" : "IdRef", "name" : "'Value'" },
{ "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" } { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
], ],
"capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ], "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
"version" : "1.3" "version" : "1.3"
}, },
{ {
@ -3562,7 +3562,7 @@
{ "kind" : "IdRef", "name" : "'Value'" }, { "kind" : "IdRef", "name" : "'Value'" },
{ "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" } { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
], ],
"capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ], "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
"version" : "1.3" "version" : "1.3"
}, },
{ {
@ -3576,7 +3576,7 @@
{ "kind" : "IdRef", "name" : "'Value'" }, { "kind" : "IdRef", "name" : "'Value'" },
{ "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" } { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
], ],
"capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ], "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
"version" : "1.3" "version" : "1.3"
}, },
{ {

View File

@ -49,7 +49,7 @@ namespace Spv
{ {
public const uint MagicNumber = 0x07230203; public const uint MagicNumber = 0x07230203;
public const uint Version = 0x00010300; public const uint Version = 0x00010300;
public const uint Revision = 6; public const uint Revision = 7;
public const uint OpCodeMask = 0xffff; public const uint OpCodeMask = 0xffff;
public const uint WordCountShift = 16; public const uint WordCountShift = 16;

View File

@ -54,11 +54,11 @@
typedef unsigned int SpvId; typedef unsigned int SpvId;
#define SPV_VERSION 0x10300 #define SPV_VERSION 0x10300
#define SPV_REVISION 6 #define SPV_REVISION 7
static const unsigned int SpvMagicNumber = 0x07230203; static const unsigned int SpvMagicNumber = 0x07230203;
static const unsigned int SpvVersion = 0x00010300; static const unsigned int SpvVersion = 0x00010300;
static const unsigned int SpvRevision = 6; static const unsigned int SpvRevision = 7;
static const unsigned int SpvOpCodeMask = 0xffff; static const unsigned int SpvOpCodeMask = 0xffff;
static const unsigned int SpvWordCountShift = 16; static const unsigned int SpvWordCountShift = 16;
@ -1330,5 +1330,5 @@ typedef enum SpvOp_ {
SpvOpMax = 0x7fffffff, SpvOpMax = 0x7fffffff,
} SpvOp; } SpvOp;
#endif // #ifndef spirv_H #endif

View File

@ -50,11 +50,11 @@ namespace spv {
typedef unsigned int Id; typedef unsigned int Id;
#define SPV_VERSION 0x10300 #define SPV_VERSION 0x10300
#define SPV_REVISION 6 #define SPV_REVISION 7
static const unsigned int MagicNumber = 0x07230203; static const unsigned int MagicNumber = 0x07230203;
static const unsigned int Version = 0x00010300; static const unsigned int Version = 0x00010300;
static const unsigned int Revision = 6; static const unsigned int Revision = 7;
static const unsigned int OpCodeMask = 0xffff; static const unsigned int OpCodeMask = 0xffff;
static const unsigned int WordCountShift = 16; static const unsigned int WordCountShift = 16;

View File

@ -50,11 +50,11 @@ namespace spv {
typedef unsigned int Id; typedef unsigned int Id;
#define SPV_VERSION 0x10300 #define SPV_VERSION 0x10300
#define SPV_REVISION 6 #define SPV_REVISION 7
static const unsigned int MagicNumber = 0x07230203; static const unsigned int MagicNumber = 0x07230203;
static const unsigned int Version = 0x00010300; static const unsigned int Version = 0x00010300;
static const unsigned int Revision = 6; static const unsigned int Revision = 7;
static const unsigned int OpCodeMask = 0xffff; static const unsigned int OpCodeMask = 0xffff;
static const unsigned int WordCountShift = 16; static const unsigned int WordCountShift = 16;

View File

@ -55,7 +55,7 @@
], ],
"MagicNumber": 119734787, "MagicNumber": 119734787,
"Version": 66304, "Version": 66304,
"Revision": 6, "Revision": 7,
"OpCodeMask": 65535, "OpCodeMask": 65535,
"WordCountShift": 16 "WordCountShift": 16
}, },

View File

@ -45,7 +45,7 @@
spv = { spv = {
MagicNumber = 0x07230203, MagicNumber = 0x07230203,
Version = 0x00010300, Version = 0x00010300,
Revision = 6, Revision = 7,
OpCodeMask = 0xffff, OpCodeMask = 0xffff,
WordCountShift = 16, WordCountShift = 16,

View File

@ -45,7 +45,7 @@
spv = { spv = {
'MagicNumber' : 0x07230203, 'MagicNumber' : 0x07230203,
'Version' : 0x00010300, 'Version' : 0x00010300,
'Revision' : 6, 'Revision' : 7,
'OpCodeMask' : 0xffff, 'OpCodeMask' : 0xffff,
'WordCountShift' : 16, 'WordCountShift' : 16,

View File

@ -52,7 +52,7 @@ module spv;
enum uint MagicNumber = 0x07230203; enum uint MagicNumber = 0x07230203;
enum uint Version = 0x00010300; enum uint Version = 0x00010300;
enum uint Revision = 6; enum uint Revision = 7;
enum uint OpCodeMask = 0xffff; enum uint OpCodeMask = 0xffff;
enum uint WordCountShift = 16; enum uint WordCountShift = 16;

View File

@ -69,8 +69,8 @@ namespace {
static const int DocMagicNumber = 0x07230203; static const int DocMagicNumber = 0x07230203;
static const int DocVersion = 0x00010300; static const int DocVersion = 0x00010300;
static const int DocRevision = 6; static const int DocRevision = 7;
#define DocRevisionString "6" #define DocRevisionString "7"
static const std::string DocCopyright; static const std::string DocCopyright;
static const std::string DocComment1; static const std::string DocComment1;
static const std::string DocComment2; static const std::string DocComment2;

View File

@ -230,7 +230,21 @@ unsigned int NumberStringToBit(const std::string& str)
return bit; return bit;
} }
void jsonToSpirv(const std::string& jsonPath) bool ExcludeInstruction(unsigned op, bool buildingHeaders)
{
// Some instructions in the grammar don't need to be reflected
// in the specification.
if (buildingHeaders)
return false;
if (op >= 5699 /* OpVmeImageINTEL */ && op <= 5816 /* OpSubgroupAvcSicGetInterRawSadsINTEL */)
return true;
return false;
}
void jsonToSpirv(const std::string& jsonPath, bool buildingHeaders)
{ {
// only do this once. // only do this once.
static bool initialized = false; static bool initialized = false;
@ -288,6 +302,8 @@ void jsonToSpirv(const std::string& jsonPath)
const Json::Value insts = root["instructions"]; const Json::Value insts = root["instructions"];
for (const auto& inst : insts) { for (const auto& inst : insts) {
const unsigned int opcode = inst["opcode"].asUInt(); const unsigned int opcode = inst["opcode"].asUInt();
if (ExcludeInstruction(opcode, buildingHeaders))
continue;
const std::string name = inst["opname"].asString(); const std::string name = inst["opname"].asString();
EnumCaps caps = getCaps(inst); EnumCaps caps = getCaps(inst);
std::string version = inst["version"].asString(); std::string version = inst["version"].asString();

View File

@ -38,7 +38,7 @@ namespace spv {
std::pair<bool, std::string> ReadFile(const std::string& path); std::pair<bool, std::string> ReadFile(const std::string& path);
// Fill in all the parameters // Fill in all the parameters
void jsonToSpirv(const std::string& jsonPath); void jsonToSpirv(const std::string& jsonPath, bool buildingHeaders);
// For parameterizing operands. // For parameterizing operands.
enum OperandClass { enum OperandClass {

View File

@ -119,7 +119,7 @@ int main(int argc, char* argv[])
return 1; return 1;
} }
spv::jsonToSpirv(jsonPath); spv::jsonToSpirv(jsonPath, (Options & EOptionPrintHeader) != 0);
if (Options & EOptionPrintHeader) if (Options & EOptionPrintHeader)
spv::PrintHeader(Language, std::cout); spv::PrintHeader(Language, std::cout);