summaryrefslogtreecommitdiffstats
path: root/tests/cross-compile/vk-texture-indexing.slang
blob: 4629e3b9802abdfa905b3bd69d11adb7bc733b7c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// vk-texture-indexing.slang

//TEST:SIMPLE(filecheck=CHECK):-target spirv -entry main -stage fragment
//TEST:SIMPLE(filecheck=CHECK):-target spirv -entry main -stage fragment -emit-spirv-directly

struct Params
{
    Texture2D<float> textures[10];
    SamplerState sampler;
};

ParameterBlock<Params> gParams;

float fetchData(uint2 coords, uint index)
{
    return gParams.textures[NonUniformResourceIndex(index)][coords];
}

float4 main(
	uint3 uv : UV)
    : SV_Target
{
    // CHECK: OpDecorate %{{.*}} NonUniform
    // CHECK: OpImageFetch
    float v = fetchData(uv.xy, uv.z);
    return v;
}