## Tests that a separate DXContainer is created for the RTS0 (root signature)
## part, when--extract-section is specified.

# RUN: yaml2obj %s -o %t
# RUN: llvm-objcopy %t --extract-section=RTS0=%t.rts0.out
# RUN: obj2yaml %t.rts0.out | FileCheck %s --implicit-check-not=Name:

## The DXContainer described below was generated with:

## `clang-dxc -T cs_6_7 test.hlsl /Fo temp.dxo`
## `obj2yaml temp.dxo`

## and has the DXIL section trimmed for readability.

## ``` test.hlsl
## [RootSignature("")]
## [numthreads(1,1,1)]
## void main() {}
## ```

# CHECK:      Header:
# CHECK-NEXT:   Hash:
# CHECK:        Version:
# CHECK-NEXT:      Major:           1
# CHECK-NEXT:      Minor:           0
# CHECK-NEXT:   FileSize:       68
# CHECK-NEXT:   PartCount:     1
# CHECK-NEXT:   PartOffsets:   [ 36 ]
# CHECK-NEXT:   Parts:
# CHECK-NEXT:   Name:            RTS0
# CHECK-NEXT    Size:            24
# CHECK-NEXT    RootSignature:
# CHECK-NEXT      Version:         2
# CHECK-NEXT      NumRootParameters: 0
# CHECK-NEXT      RootParametersOffset: 24
# CHECK-NEXT      NumStaticSamplers: 0
# CHECK-NEXT      StaticSamplersOffset: 24
# CHECK-NEXT      Parameters:      []

--- !dxcontainer
Header:
  Hash:            [ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
                     0x0, 0x0, 0x0, 0x0, 0x0, 0x0 ]
  Version:
    Major:           1
    Minor:           0
  FileSize:        1984
  PartCount:       7
  PartOffsets:     [ 60, 1792, 1808, 1836, 1852, 1868, 1900 ]
Parts:
  - Name:            DXIL
    Size:            1724
    Program:
      MajorVersion:    6
      MinorVersion:    7
      ShaderKind:      5
      Size:            28
      DXILMajorVersion: 1
      DXILMinorVersion: 7
      DXILSize:        4
      DXIL:            [ 0x42, 0x43, 0xC0, 0xDE, ]
  - Name:            SFI0
    Size:            8
  - Name:            HASH
    Size:            20
    Hash:
      IncludesSource:  false
      Digest:          [ 0x9F, 0xD1, 0xD9, 0xE2, 0x49, 0xFB, 0x3A, 0x6C,
                         0x8C, 0x14, 0x8A, 0x96, 0x1C, 0x7D, 0x85, 0xA9 ]
  - Name:            ISG1
    Size:            8
    Signature:
      Parameters:      []
  - Name:            OSG1
    Size:            8
    Signature:
      Parameters:      []
  - Name:            RTS0
    Size:            24
    RootSignature:
      Version:         2
      NumRootParameters: 0
      RootParametersOffset: 24
      NumStaticSamplers: 0
      StaticSamplersOffset: 24
      Parameters:      []
  - Name:            PSV0
    Size:            76
    PSVInfo:
      Version:         3
      ShaderStage:     5
      MinimumWaveLaneCount: 0
      MaximumWaveLaneCount: 4294967295
      UsesViewID:      0
      SigInputVectors: 0
      SigOutputVectors: [ 0, 0, 0, 0 ]
      NumThreadsX:     1
      NumThreadsY:     1
      NumThreadsZ:     1
      EntryName:       main
      ResourceStride:  24
      Resources:       []
      SigInputElements: []
      SigOutputElements: []
      SigPatchOrPrimElements: []
      InputOutputMap:
        - [  ]
        - [  ]
        - [  ]
        - [  ]
...
