• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1RWTexture1D<float4> uImage1D : register(u0);
2RWTexture2D<float2> uImage2D : register(u1);
3Texture2DArray<float4> uImage2DArray : register(t2);
4RWTexture3D<unorm float4> uImage3D : register(u3);
5RWBuffer<snorm float4> uImageBuffer : register(u6);
6
7uint3 spvTextureSize(Texture2DArray<float4> Tex, uint Level, out uint Param)
8{
9    uint3 ret;
10    Tex.GetDimensions(Level, ret.x, ret.y, ret.z, Param);
11    return ret;
12}
13
14uint2 spvImageSize(RWTexture2D<float2> Tex, out uint Param)
15{
16    uint2 ret;
17    Tex.GetDimensions(ret.x, ret.y);
18    Param = 0u;
19    return ret;
20}
21
22uint spvImageSize(RWTexture1D<float4> Tex, out uint Param)
23{
24    uint ret;
25    Tex.GetDimensions(ret.x);
26    Param = 0u;
27    return ret;
28}
29
30uint3 spvImageSize(RWTexture3D<unorm float4> Tex, out uint Param)
31{
32    uint3 ret;
33    Tex.GetDimensions(ret.x, ret.y, ret.z);
34    Param = 0u;
35    return ret;
36}
37
38uint spvImageSize(RWBuffer<snorm float4> Tex, out uint Param)
39{
40    uint ret;
41    Tex.GetDimensions(ret.x);
42    Param = 0u;
43    return ret;
44}
45
46void frag_main()
47{
48    uint _14_dummy_parameter;
49    int a = int(spvImageSize(uImage1D, _14_dummy_parameter));
50    uint _22_dummy_parameter;
51    int2 b = int2(spvImageSize(uImage2D, _22_dummy_parameter));
52    uint _30_dummy_parameter;
53    int3 c = int3(spvTextureSize(uImage2DArray, 0u, _30_dummy_parameter));
54    uint _36_dummy_parameter;
55    int3 d = int3(spvImageSize(uImage3D, _36_dummy_parameter));
56    uint _42_dummy_parameter;
57    int e = int(spvImageSize(uImageBuffer, _42_dummy_parameter));
58}
59
60void main()
61{
62    frag_main();
63}
64