{
  "revision" : 2,
  "instructions" : [
    {
      "opname" : "Configuration",
      "opcode" : 1,
      "operands" : [
        {"kind" : "LiteralString", "name" : "enabledExtensionNames" },
        {"kind" : "LiteralInteger", "name" : "specializationInfoDataSize" },
        {"kind" : "LiteralString", "name" : "specializationInfoData" },
        {"kind" : "LiteralString", "name" : "shaderName" },
        {"kind" : "LiteralString", "name" : "EntryPoint" },
        {"kind" : "LiteralInteger", "name" : "groupCountX" },
        {"kind" : "LiteralInteger", "name" : "groupCountY" },
        {"kind" : "LiteralInteger", "name" : "groupCountZ" },
        {"kind" : "LiteralInteger", "name" : "dispatchId" }
      ]
    },
    {
      "opname" : "StartCounter",
      "opcode" : 2,
      "operands" : [
        {"kind" : "LiteralString", "name" : "name" }
      ]
    },
    {
      "opname" : "StopCounter",
      "opcode" : 3,
      "operands" : [
        {"kind" : "IdRef", "name" : "counter" }
      ]
    },
    {
      "opname" : "PushConstants",
      "opcode" : 4,
      "operands" : [
        { "kind" : "LiteralInteger", "name" : "offset" },
        { "kind" : "LiteralInteger", "name" : "size" },
        { "kind" : "LiteralString", "name" : "pValues" },
        { "kind" : "LiteralInteger", "name" : "stageFlags" }
      ]
    },
    {
      "opname" : "SpecializationMapEntry",
      "opcode" : 5,
      "operands" : [
        {"kind" : "LiteralInteger", "name" : "constantID" },
        {"kind" : "LiteralInteger", "name" : "offset" },
        {"kind" : "LiteralInteger", "name" : "size" }
      ]
    },
    {
      "opname" : "DescriptorSetBuffer",
      "opcode" : 6,
      "operands" : [
        { "kind" : "LiteralInteger", "name" : "ds" },
        { "kind" : "LiteralInteger", "name" : "binding" },
        { "kind" : "LiteralInteger", "name" : "type" },
        { "kind" : "LiteralInteger", "name" : "flags" },
        { "kind" : "LiteralInteger", "name" : "queueFamilyIndexCount" },
        { "kind" : "LiteralInteger", "name" : "sharingMode" },
        { "kind" : "LiteralInteger", "name" : "size" },
        { "kind" : "LiteralInteger", "name" : "usage" },
        { "kind" : "LiteralInteger", "name" : "range" },
        { "kind" : "LiteralInteger", "name" : "offset" },
        { "kind" : "LiteralInteger", "name" : "memorySize" },
        { "kind" : "LiteralInteger", "name" : "memoryType" },
        { "kind" : "LiteralInteger", "name" : "bindOffset" }
      ]
    },
    {
      "opname" : "DescriptorSetImage",
      "opcode" : 7,
      "operands" : [
        { "kind" : "LiteralInteger", "name" : "ds" },
        { "kind" : "LiteralInteger", "name" : "binding" },
        { "kind" : "LiteralInteger", "name" : "type" },
        { "kind" : "LiteralInteger", "name" : "imageLayout"},
        { "kind" : "LiteralInteger", "name" : "imageFlags"},
        { "kind" : "LiteralInteger", "name" : "imageType"},
        { "kind" : "LiteralInteger", "name" : "imageformat"},
        { "kind" : "LiteralInteger", "name" : "width"},
        { "kind" : "LiteralInteger", "name" : "height"},
        { "kind" : "LiteralInteger", "name" : "depth"},
        { "kind" : "LiteralInteger", "name" : "mipLevels"},
        { "kind" : "LiteralInteger", "name" : "arrayLayers"},
        { "kind" : "LiteralInteger", "name" : "samples"},
        { "kind" : "LiteralInteger", "name" : "tiling"},
        { "kind" : "LiteralInteger", "name" : "usage"},
        { "kind" : "LiteralInteger", "name" : "sharingMode"},
        { "kind" : "LiteralInteger", "name" : "queueFamilyIndexCount"},
        { "kind" : "LiteralInteger", "name" : "initialLayout"},
        { "kind" : "LiteralInteger", "name" : "aspectMask"},
        { "kind" : "LiteralInteger", "name" : "baseMipLevel"},
        { "kind" : "LiteralInteger", "name" : "levelCount"},
        { "kind" : "LiteralInteger", "name" : "baseArrayLayer"},
        { "kind" : "LiteralInteger", "name" : "layerCount"},
        { "kind" : "LiteralInteger", "name" : "viewFlags"},
        { "kind" : "LiteralInteger", "name" : "viewType"},
        { "kind" : "LiteralInteger", "name" : "viewFormat"},
        { "kind" : "LiteralInteger", "name" : "component_a"},
        { "kind" : "LiteralInteger", "name" : "component_b"},
        { "kind" : "LiteralInteger", "name" : "component_g"},
        { "kind" : "LiteralInteger", "name" : "component_r"},
        { "kind" : "LiteralInteger", "name" : "memorySize" },
        { "kind" : "LiteralInteger", "name" : "memoryType" },
        { "kind" : "LiteralInteger", "name" : "bindOffset"}
      ]
    },
    {
      "opname" : "DescriptorSetSampler",
      "opcode" : 8,
      "operands" : [
        { "kind" : "LiteralInteger", "name" : "ds" },
        { "kind" : "LiteralInteger", "name" : "binding" },
        { "kind" : "LiteralInteger", "name" : "type" },
        { "kind" : "LiteralInteger", "name" : "flags"},
        { "kind" : "LiteralInteger", "name" : "magFilter"},
        { "kind" : "LiteralInteger", "name" : "minFilter"},
        { "kind" : "LiteralInteger", "name" : "mipmapMode"},
        { "kind" : "LiteralInteger", "name" : "addressModeU"},
        { "kind" : "LiteralInteger", "name" : "addressModeV"},
        { "kind" : "LiteralInteger", "name" : "addressModeW"},
        { "kind" : "LiteralFloat", "name" : "mipLodBias"},
        { "kind" : "LiteralInteger", "name" : "anisotropyEnable"},
        { "kind" : "LiteralFloat", "name" : "maxAnisotropy"},
        { "kind" : "LiteralInteger", "name" : "compareEnable"},
        { "kind" : "LiteralInteger", "name" : "compareOp"},
        { "kind" : "LiteralFloat", "name" : "minLod"},
        { "kind" : "LiteralFloat", "name" : "maxLod"},
        { "kind" : "LiteralInteger", "name" : "borderColor"},
        { "kind" : "LiteralInteger", "name" : "unnormalizedCoordinates"}
      ]
    }
  ]
}