| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- // RUN: %dxc -T lib_6_5 %s | %D3DReflect %s | FileCheck %s
- cbuffer SomeBuffer : register(b0)
- {
- float4 Color;
- float4 VectorArray[3];
- float FloatArray[16];
- float4x4 MatrixArray[2];
- };
- RWTexture2D<float4> g_Output;
- [shader("raygeneration")]
- void RayGenShader()
- {
- uint2 LaunchIndex = DispatchRaysIndex().xy;
- uint2 LaunchDim = DispatchRaysDimensions().xy;
- float4x4 m0 = MatrixArray[0];
- float4x4 m1 = MatrixArray[1];
- g_Output[LaunchIndex] = Color * m0[0][0] * m1[0][0] * VectorArray[1] * FloatArray[2];
- }
- // CHECK: ID3D12LibraryReflection:
- // CHECK: FunctionCount: 1
- // CHECK-NEXT: ID3D12FunctionReflection:
- // CHECK-NEXT: D3D12_FUNCTION_DESC: Name: \01?RayGenShader@@YAXXZ
- // CHECK-NEXT: Shader Version: RayGeneration 6.5
- // CHECK: ConstantBuffers: 1
- // CHECK-NEXT: BoundResources: 2
- // CHECK-NEXT: FunctionParameterCount: 0
- // CHECK-NEXT: HasReturn: FALSE
- // CHECK-NEXT: Constant Buffers:
- // CHECK-NEXT: ID3D12ShaderReflectionConstantBuffer:
- // CHECK-NEXT: D3D12_SHADER_BUFFER_DESC: Name: SomeBuffer
- // CHECK-NEXT: Type: D3D_CT_CBUFFER
- // CHECK-NEXT: Size: 448
- // CHECK-NEXT: uFlags: 0
- // CHECK-NEXT: Num Variables: 4
- // CHECK-NEXT: {
- // CHECK-NEXT: ID3D12ShaderReflectionVariable:
- // CHECK-NEXT: D3D12_SHADER_VARIABLE_DESC: Name: Color
- // CHECK-NEXT: Size: 16
- // CHECK-NEXT: StartOffset: 0
- // CHECK-NEXT: uFlags: 0x2
- // CHECK-NEXT: DefaultValue: <nullptr>
- // CHECK-NEXT: ID3D12ShaderReflectionType:
- // CHECK-NEXT: D3D12_SHADER_TYPE_DESC: Name: float4
- // CHECK-NEXT: Class: D3D_SVC_VECTOR
- // CHECK-NEXT: Type: D3D_SVT_FLOAT
- // CHECK-NEXT: Elements: 0
- // CHECK-NEXT: Rows: 1
- // CHECK-NEXT: Columns: 4
- // CHECK-NEXT: Members: 0
- // CHECK-NEXT: Offset: 0
- // CHECK-NEXT: CBuffer: SomeBuffer
- // CHECK-NEXT: ID3D12ShaderReflectionVariable:
- // CHECK-NEXT: D3D12_SHADER_VARIABLE_DESC: Name: VectorArray
- // CHECK-NEXT: Size: 48
- // CHECK-NEXT: StartOffset: 16
- // CHECK-NEXT: uFlags: 0x2
- // CHECK-NEXT: DefaultValue: <nullptr>
- // CHECK-NEXT: ID3D12ShaderReflectionType:
- // CHECK-NEXT: D3D12_SHADER_TYPE_DESC: Name: float4
- // CHECK-NEXT: Class: D3D_SVC_VECTOR
- // CHECK-NEXT: Type: D3D_SVT_FLOAT
- // CHECK-NEXT: Elements: 3
- // CHECK-NEXT: Rows: 1
- // CHECK-NEXT: Columns: 4
- // CHECK-NEXT: Members: 0
- // CHECK-NEXT: Offset: 0
- // CHECK-NEXT: CBuffer: SomeBuffer
- // CHECK-NEXT: ID3D12ShaderReflectionVariable:
- // CHECK-NEXT: D3D12_SHADER_VARIABLE_DESC: Name: FloatArray
- // CHECK-NEXT: Size: 244
- // CHECK-NEXT: StartOffset: 64
- // CHECK-NEXT: uFlags: 0x2
- // CHECK-NEXT: DefaultValue: <nullptr>
- // CHECK-NEXT: ID3D12ShaderReflectionType:
- // CHECK-NEXT: D3D12_SHADER_TYPE_DESC: Name: float
- // CHECK-NEXT: Class: D3D_SVC_SCALAR
- // CHECK-NEXT: Type: D3D_SVT_FLOAT
- // CHECK-NEXT: Elements: 16
- // CHECK-NEXT: Rows: 1
- // CHECK-NEXT: Columns: 1
- // CHECK-NEXT: Members: 0
- // CHECK-NEXT: Offset: 0
- // CHECK-NEXT: CBuffer: SomeBuffer
- // CHECK-NEXT: ID3D12ShaderReflectionVariable:
- // CHECK-NEXT: D3D12_SHADER_VARIABLE_DESC: Name: MatrixArray
- // CHECK-NEXT: Size: 128
- // CHECK-NEXT: StartOffset: 320
- // CHECK-NEXT: uFlags: 0x2
- // CHECK-NEXT: DefaultValue: <nullptr>
- // CHECK-NEXT: ID3D12ShaderReflectionType:
- // CHECK-NEXT: D3D12_SHADER_TYPE_DESC: Name: float4x4
- // CHECK-NEXT: Class: D3D_SVC_MATRIX_COLUMNS
- // CHECK-NEXT: Type: D3D_SVT_FLOAT
- // CHECK-NEXT: Elements: 2
- // CHECK-NEXT: Rows: 4
- // CHECK-NEXT: Columns: 4
- // CHECK-NEXT: Members: 0
- // CHECK-NEXT: Offset: 0
- // CHECK-NEXT: CBuffer: SomeBuffer
|