Command line option for set default value for spec constant
authorqining <qining@google.com>
Thu, 22 Sep 2016 15:50:12 +0000 (11:50 -0400)
committerqining <qining@google.com>
Thu, 22 Sep 2016 18:28:59 +0000 (14:28 -0400)
commit01df41dfdbae67b88ac14733e4157181a268471a
tree801c8afca7ba88e984dd08c126b7b0097ee4ce55
parent1ca817a38e2ab347de218ab620aa0456fd2cfde0
Command line option for set default value for spec constant

Format:
```
--set-spec-constant-default-value "<spec id A>:<default value A> <spec id
B>:<default value B> ..."
```

Example:
  shader: `test.vert`
```

layout(constant_id = 100) const int myint = 10;
layout(constant_id = 101) const int myuint = 100;
layout(constant_id = 200) const float myfloat = 1.25;
layout(constant_id = 201) const double mydouble = 2.34;

void main() {}
```
  command line:
```
spirv-opt --set-spec-const-default-value "100:12   101:200 200:1.2323
201:1.2345" test.vert -o output.spv
```
  output:
```
      ...
               OpDecorate %7 SpecId 100
               OpDecorate %8 SpecId 101
               OpDecorate %10 SpecId 200
               OpDecorate %12 SpecId 201
       %void = OpTypeVoid
          %3 = OpTypeFunction %void
        %int = OpTypeInt 32 1
          %7 = OpSpecConstant %int 12
          %8 = OpSpecConstant %int 200
      %float = OpTypeFloat 32
         %10 = OpSpecConstant %float 1.23232
     %double = OpTypeFloat 64
         %12 = OpSpecConstant %double 2.34232
      ...
```
tools/opt/opt.cpp