| 12345678910111213141516171819202122232425262728 |
- // RUN: %dxc -E main -T ps_6_0 %s -Od | FileCheck %s
- Texture2D tex0[42] : register(t0);
- Texture2D tex1 : register(t42);
- const static float2 my_offsets[] = {
- float2(1,2),
- float2(3,4),
- float2(5,6),
- float2(7,8),
- };
- [RootSignature("DescriptorTable(SRV(t0, numDescriptors=42), SRV(t42)), DescriptorTable(Sampler(s0))")]
- float4 main(uint2 uv : TEXCOORD, uint a : A) : SV_Target {
- // CHECK: %[[handle:.+]] = call %dx.types.Handle @dx.op.createHandle(i32 57, i8 0, i32 0, i32 42
- int x = 0;
- int y = 0;
- float2 val = my_offsets[x+y+1];
- Texture2D tex = tex0[a];
- if (val.x > 0) {
- tex = tex1;
- }
- // CHECK: @dx.op.textureLoad.f32(i32 66, %dx.types.Handle %[[handle]]
- return tex.Load(0);
- }
|