| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- // RUN: %dxc -E main -T vs_6_0 -Vd -validator-version 0.0 %s | %D3DReflect %s | FileCheck %s
- // Make sure nest empty struct works.
- struct KillerStruct {};
- struct InnerStruct {
- KillerStruct s;
- };
- struct OuterStruct {
- InnerStruct s;
- };
- cbuffer Params_cbuffer : register(b0) {
- OuterStruct constants;
- float4 foo;
- };
- cbuffer Params_cbuffer2 : register(b1) {
- InnerStruct constArray[1];
- float4 bar;
- };
- float4 main(float4 pos : POSITION) : SV_POSITION { return foo + bar; }
- // CHECK: ID3D12ShaderReflection:
- // CHECK: D3D12_SHADER_BUFFER_DESC:
- // CHECK: Shader Version: Vertex 6.0
- // CHECK: ConstantBuffers: 2
- // CHECK: BoundResources: 2
- // CHECK: InputParameters: 1
- // CHECK: OutputParameters: 1
- // CHECK: Constant Buffers:
- // CHECK: ID3D12ShaderReflectionConstantBuffer:
- // CHECK: D3D12_SHADER_BUFFER_DESC: Name: Params_cbuffer
- // CHECK: Type: D3D_CT_CBUFFER
- // CHECK: Size: 16
- // CHECK: Num Variables: 2
- // CHECK: {
- // CHECK: ID3D12ShaderReflectionVariable:
- // CHECK: D3D12_SHADER_VARIABLE_DESC: Name: constants
- // CHECK: ID3D12ShaderReflectionType:
- // CHECK: D3D12_SHADER_TYPE_DESC: Name: OuterStruct
- // CHECK: Class: D3D_SVC_STRUCT
- // CHECK: Type: D3D_SVT_VOID
- // CHECK: Rows: 1
- // CHECK: CBuffer: Params_cbuffer
- // CHECK: ID3D12ShaderReflectionVariable:
- // CHECK: D3D12_SHADER_VARIABLE_DESC: Name: foo
- // CHECK: Size: 16
- // CHECK: uFlags: 0x2
- // CHECK: ID3D12ShaderReflectionType:
- // CHECK: D3D12_SHADER_TYPE_DESC: Name: float4
- // CHECK: Class: D3D_SVC_VECTOR
- // CHECK: Type: D3D_SVT_FLOAT
- // CHECK: Rows: 1
- // CHECK: Columns: 4
- // CHECK: CBuffer: Params_cbuffer
- // CHECK: }
- // CHECK: ID3D12ShaderReflectionConstantBuffer:
- // CHECK: D3D12_SHADER_BUFFER_DESC: Name: Params_cbuffer2
- // CHECK: Type: D3D_CT_CBUFFER
- // CHECK: Size: 16
- // CHECK: uFlags: 0
- // CHECK: Num Variables: 2
- // CHECK: {
- // CHECK: ID3D12ShaderReflectionVariable:
- // CHECK: D3D12_SHADER_VARIABLE_DESC: Name: constArray
- // CHECK: Size: 0
- // CHECK: StartOffset: 0
- // CHECK: uFlags: 0
- // CHECK: DefaultValue: <nullptr>
- // CHECK: ID3D12ShaderReflectionType:
- // CHECK: D3D12_SHADER_TYPE_DESC: Name: InnerStruct
- // CHECK: Class: D3D_SVC_STRUCT
- // CHECK: Type: D3D_SVT_VOID
- // CHECK: Elements: 1
- // CHECK: Rows: 1
- // CHECK: Columns: 0
- // CHECK: Members: 0
- // CHECK: Offset: 0
- // CHECK: CBuffer: Params_cbuffer2
- // CHECK: ID3D12ShaderReflectionVariable:
- // CHECK: D3D12_SHADER_VARIABLE_DESC: Name: bar
- // CHECK: Size: 16
- // CHECK: StartOffset: 0
- // CHECK: uFlags: 0x2
- // CHECK: DefaultValue: <nullptr>
- // CHECK: ID3D12ShaderReflectionType:
- // CHECK: D3D12_SHADER_TYPE_DESC: Name: float4
- // CHECK: Class: D3D_SVC_VECTOR
- // CHECK: Type: D3D_SVT_FLOAT
- // CHECK: Elements: 0
- // CHECK: Rows: 1
- // CHECK: Columns: 4
- // CHECK: Members: 0
- // CHECK: Offset: 0
- // CHECK: CBuffer: Params_cbuffer2
- // CHECK: }
- // CHECK: Bound Resources:
- // CHECK: D3D12_SHADER_BUFFER_DESC: Name: Params_cbuffer
- // CHECK: Type: D3D_SIT_CBUFFER
- // CHECK: uID: 0
- // CHECK: BindPoint: 0
- // CHECK: Dimension: D3D_SRV_DIMENSION_UNKNOWN
|