# RUN: yaml2obj %s | obj2yaml | FileCheck %s ## This test checks that we correctly compute the StaticSamplersOffset for each ## of the root parameter types (version 1.0 variants) ## StaticSamplerOffset ## = 24 (root signature header) ## + 12 (header) + 12 (root constants) ## + 12 (header) + 8 (v1.1 root descriptor) ## + 12 (header) + 8 (root descriptor table) ## + 20 (v1.1 descriptor range) ## + 0 (root flags) ## = 108 # CHECK: StaticSamplersOffset: 108 --- !dxcontainer Header: Hash: [ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 ] Version: Major: 1 Minor: 0 PartCount: 1 PartOffsets: [ 60 ] Parts: - Name: RTS0 Size: 108 RootSignature: Version: 1 NumRootParameters: 3 RootParametersOffset: 24 NumStaticSamplers: 0 StaticSamplersOffset: 108 Parameters: - ParameterType: Constants32Bit ShaderVisibility: All Constants: Num32BitValues: 16 ShaderRegister: 15 RegisterSpace: 14 - ParameterType: CBV ShaderVisibility: All Descriptor: ShaderRegister: 31 RegisterSpace: 32 DATA_STATIC_WHILE_SET_AT_EXECUTE: true - ParameterType: DescriptorTable ShaderVisibility: All Table: NumRanges: 1 Ranges: - RangeType: CBuffer NumDescriptors: -1 BaseShaderRegister: 42 RegisterSpace: 43 OffsetInDescriptorsFromTableStart: 41 DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS: true AllowInputAssemblerInputLayout: true DenyGeometryShaderRootAccess: true