1617a3babSopenharmony_ciSamplerState g_sSamp : register(s0); 2617a3babSopenharmony_ci 3617a3babSopenharmony_ciuniform Texture1D <float4> g_tTex1df4 : register(t0); 4617a3babSopenharmony_ciTexture1D <int4> g_tTex1di4; 5617a3babSopenharmony_ciTexture1D <uint4> g_tTex1du4; 6617a3babSopenharmony_ci 7617a3babSopenharmony_ciTexture2D <float4> g_tTex2df4; 8617a3babSopenharmony_ciTexture2D <int4> g_tTex2di4; 9617a3babSopenharmony_ciTexture2D <uint4> g_tTex2du4; 10617a3babSopenharmony_ci 11617a3babSopenharmony_ciTexture3D <float4> g_tTex3df4; 12617a3babSopenharmony_ciTexture3D <int4> g_tTex3di4; 13617a3babSopenharmony_ciTexture3D <uint4> g_tTex3du4; 14617a3babSopenharmony_ci 15617a3babSopenharmony_ciTextureCube <float4> g_tTexcdf4; 16617a3babSopenharmony_ciTextureCube <int4> g_tTexcdi4; 17617a3babSopenharmony_ciTextureCube <uint4> g_tTexcdu4; 18617a3babSopenharmony_ci 19617a3babSopenharmony_ciTexture1DArray <float4> g_tTex1df4a; 20617a3babSopenharmony_ciTexture1DArray <int4> g_tTex1di4a; 21617a3babSopenharmony_ciTexture1DArray <uint4> g_tTex1du4a; 22617a3babSopenharmony_ci 23617a3babSopenharmony_ciTexture2DArray <float4> g_tTex2df4a; 24617a3babSopenharmony_ciTexture2DArray <int4> g_tTex2di4a; 25617a3babSopenharmony_ciTexture2DArray <uint4> g_tTex2du4a; 26617a3babSopenharmony_ci 27617a3babSopenharmony_ciTextureCubeArray <float4> g_tTexcdf4a; 28617a3babSopenharmony_ciTextureCubeArray <int4> g_tTexcdi4a; 29617a3babSopenharmony_ciTextureCubeArray <uint4> g_tTexcdu4a; 30617a3babSopenharmony_ci 31617a3babSopenharmony_ciTexture2DMS <float4> g_tTex2dmsf4; 32617a3babSopenharmony_ciTexture2DMS <int4> g_tTex2dmsi4; 33617a3babSopenharmony_ciTexture2DMS <uint4> g_tTex2dmsu4; 34617a3babSopenharmony_ci 35617a3babSopenharmony_ciTexture2DMSArray <float4> g_tTex2dmsf4a; 36617a3babSopenharmony_ciTexture2DMSArray <int4> g_tTex2dmsi4a; 37617a3babSopenharmony_ciTexture2DMSArray <uint4> g_tTex2dmsu4a; 38617a3babSopenharmony_ci 39617a3babSopenharmony_cistruct PS_OUTPUT 40617a3babSopenharmony_ci{ 41617a3babSopenharmony_ci float4 Color : SV_Target0; 42617a3babSopenharmony_ci float Depth : SV_Depth; 43617a3babSopenharmony_ci}; 44617a3babSopenharmony_ci 45617a3babSopenharmony_ciPS_OUTPUT main() 46617a3babSopenharmony_ci{ 47617a3babSopenharmony_ci PS_OUTPUT psout; 48617a3babSopenharmony_ci 49617a3babSopenharmony_ci uint MipLevel; 50617a3babSopenharmony_ci uint WidthU; 51617a3babSopenharmony_ci uint HeightU; 52617a3babSopenharmony_ci uint ElementsU; 53617a3babSopenharmony_ci uint DepthU; 54617a3babSopenharmony_ci uint NumberOfLevelsU; 55617a3babSopenharmony_ci uint NumberOfSamplesU; 56617a3babSopenharmony_ci 57617a3babSopenharmony_ci float WidthF; 58617a3babSopenharmony_ci float HeightF; 59617a3babSopenharmony_ci float ElementsF; 60617a3babSopenharmony_ci float DepthF; 61617a3babSopenharmony_ci float NumberOfLevelsF; 62617a3babSopenharmony_ci float NumberOfSamplesF; 63617a3babSopenharmony_ci 64617a3babSopenharmony_ci // 1D, float tx, uint params 65617a3babSopenharmony_ci g_tTex1df4 . GetDimensions(WidthU); 66617a3babSopenharmony_ci g_tTex1df4 . GetDimensions(6, WidthU, NumberOfLevelsU); 67617a3babSopenharmony_ci 68617a3babSopenharmony_ci // 1D, int, uint params 69617a3babSopenharmony_ci g_tTex1di4 . GetDimensions(WidthU); 70617a3babSopenharmony_ci g_tTex1di4 . GetDimensions(6, WidthU, NumberOfLevelsU); 71617a3babSopenharmony_ci 72617a3babSopenharmony_ci // 1D, uint, uint params 73617a3babSopenharmony_ci g_tTex1du4 . GetDimensions(WidthU); 74617a3babSopenharmony_ci g_tTex1du4 . GetDimensions(6, WidthU, NumberOfLevelsU); 75617a3babSopenharmony_ci 76617a3babSopenharmony_ci // 1DArray, float tx, uint params 77617a3babSopenharmony_ci g_tTex1df4a . GetDimensions(WidthU, ElementsU); 78617a3babSopenharmony_ci g_tTex1df4a . GetDimensions(6, WidthU, ElementsU, NumberOfLevelsU); 79617a3babSopenharmony_ci 80617a3babSopenharmony_ci // 1DArray, int, uint params 81617a3babSopenharmony_ci g_tTex1di4a . GetDimensions(WidthU, ElementsU); 82617a3babSopenharmony_ci g_tTex1di4a . GetDimensions(6, WidthU, ElementsU, NumberOfLevelsU); 83617a3babSopenharmony_ci 84617a3babSopenharmony_ci // 1DArray, uint, uint params 85617a3babSopenharmony_ci g_tTex1du4a . GetDimensions(WidthU, ElementsU); 86617a3babSopenharmony_ci g_tTex1du4a . GetDimensions(6, WidthU, ElementsU, NumberOfLevelsU); 87617a3babSopenharmony_ci 88617a3babSopenharmony_ci // 2D, float tx, uint params 89617a3babSopenharmony_ci g_tTex2df4 . GetDimensions(WidthU, HeightU); 90617a3babSopenharmony_ci g_tTex2df4 . GetDimensions(6, WidthU, HeightU, NumberOfLevelsU); 91617a3babSopenharmony_ci 92617a3babSopenharmony_ci // 2D, int, uint params 93617a3babSopenharmony_ci g_tTex2di4 . GetDimensions(WidthU, HeightU); 94617a3babSopenharmony_ci g_tTex2di4 . GetDimensions(6, WidthU, HeightU, NumberOfLevelsU); 95617a3babSopenharmony_ci 96617a3babSopenharmony_ci // 2D, uint, uint params 97617a3babSopenharmony_ci g_tTex2du4 . GetDimensions(WidthU, HeightU); 98617a3babSopenharmony_ci g_tTex2du4 . GetDimensions(6, WidthU, HeightU, NumberOfLevelsU); 99617a3babSopenharmony_ci 100617a3babSopenharmony_ci // 2Darray, float tx, uint params 101617a3babSopenharmony_ci g_tTex2df4a . GetDimensions(WidthU, HeightU, ElementsU); 102617a3babSopenharmony_ci g_tTex2df4a . GetDimensions(6, WidthU, HeightU, ElementsU, NumberOfLevelsU); 103617a3babSopenharmony_ci 104617a3babSopenharmony_ci // 2Darray, int, uint params 105617a3babSopenharmony_ci g_tTex2di4a . GetDimensions(WidthU, HeightU, ElementsU); 106617a3babSopenharmony_ci g_tTex2di4a . GetDimensions(6, WidthU, HeightU, ElementsU, NumberOfLevelsU); 107617a3babSopenharmony_ci 108617a3babSopenharmony_ci // 2Darray, uint, uint params 109617a3babSopenharmony_ci g_tTex2du4a . GetDimensions(WidthU, HeightU, ElementsU); 110617a3babSopenharmony_ci g_tTex2du4a . GetDimensions(6, WidthU, HeightU, ElementsU, NumberOfLevelsU); 111617a3babSopenharmony_ci 112617a3babSopenharmony_ci // 3D, float tx, uint params 113617a3babSopenharmony_ci g_tTex3df4 . GetDimensions(WidthU, HeightU, DepthU); 114617a3babSopenharmony_ci g_tTex3df4 . GetDimensions(6, WidthU, HeightU, DepthU, NumberOfLevelsU); 115617a3babSopenharmony_ci 116617a3babSopenharmony_ci // 3D, int, uint params 117617a3babSopenharmony_ci g_tTex3di4 . GetDimensions(WidthU, HeightU, DepthU); 118617a3babSopenharmony_ci g_tTex3di4 . GetDimensions(6, WidthU, HeightU, DepthU, NumberOfLevelsU); 119617a3babSopenharmony_ci 120617a3babSopenharmony_ci // 3D, uint, uint params 121617a3babSopenharmony_ci g_tTex3du4 . GetDimensions(WidthU, HeightU, DepthU); 122617a3babSopenharmony_ci g_tTex3du4 . GetDimensions(6, WidthU, HeightU, DepthU, NumberOfLevelsU); 123617a3babSopenharmony_ci 124617a3babSopenharmony_ci // Cube, float tx, uint params 125617a3babSopenharmony_ci g_tTexcdf4 . GetDimensions(WidthU, HeightU); 126617a3babSopenharmony_ci g_tTexcdf4 . GetDimensions(6, WidthU, HeightU, NumberOfLevelsU); 127617a3babSopenharmony_ci 128617a3babSopenharmony_ci // Cube, int, uint params 129617a3babSopenharmony_ci g_tTexcdi4 . GetDimensions(WidthU, HeightU); 130617a3babSopenharmony_ci g_tTexcdi4 . GetDimensions(6, WidthU, HeightU, NumberOfLevelsU); 131617a3babSopenharmony_ci 132617a3babSopenharmony_ci // Cube, uint, uint params 133617a3babSopenharmony_ci g_tTexcdu4 . GetDimensions(WidthU, HeightU); 134617a3babSopenharmony_ci g_tTexcdu4 . GetDimensions(6, WidthU, HeightU, NumberOfLevelsU); 135617a3babSopenharmony_ci 136617a3babSopenharmony_ci // Cubearray, float tx, uint params 137617a3babSopenharmony_ci g_tTexcdf4a . GetDimensions(WidthU, HeightU, ElementsU); 138617a3babSopenharmony_ci g_tTexcdf4a . GetDimensions(6, WidthU, HeightU, ElementsU, NumberOfLevelsU); 139617a3babSopenharmony_ci 140617a3babSopenharmony_ci // Cubearray, int, uint params 141617a3babSopenharmony_ci g_tTexcdi4a . GetDimensions(WidthU, HeightU, ElementsU); 142617a3babSopenharmony_ci g_tTexcdi4a . GetDimensions(6, WidthU, HeightU, ElementsU, NumberOfLevelsU); 143617a3babSopenharmony_ci 144617a3babSopenharmony_ci // Cubearray, uint, uint params 145617a3babSopenharmony_ci g_tTexcdu4a . GetDimensions(WidthU, HeightU, ElementsU); 146617a3babSopenharmony_ci g_tTexcdu4a . GetDimensions(6, WidthU, HeightU, ElementsU, NumberOfLevelsU); 147617a3babSopenharmony_ci 148617a3babSopenharmony_ci // 2DMS, float tx, uint params 149617a3babSopenharmony_ci g_tTex2dmsf4 . GetDimensions(WidthU, HeightU, NumberOfSamplesU); 150617a3babSopenharmony_ci 151617a3babSopenharmony_ci // 2DMS, int tx, uint params 152617a3babSopenharmony_ci g_tTex2dmsi4 . GetDimensions(WidthU, HeightU, NumberOfSamplesU); 153617a3babSopenharmony_ci 154617a3babSopenharmony_ci // 2DMS, uint tx, uint params 155617a3babSopenharmony_ci g_tTex2dmsu4 . GetDimensions(WidthU, HeightU, NumberOfSamplesU); 156617a3babSopenharmony_ci 157617a3babSopenharmony_ci // 2DMSArray, float tx, uint params 158617a3babSopenharmony_ci g_tTex2dmsf4a . GetDimensions(WidthU, HeightU, ElementsU, NumberOfSamplesU); 159617a3babSopenharmony_ci 160617a3babSopenharmony_ci // 2DMSArray, int tx, uint params 161617a3babSopenharmony_ci g_tTex2dmsi4a . GetDimensions(WidthU, HeightU, ElementsU, NumberOfSamplesU); 162617a3babSopenharmony_ci 163617a3babSopenharmony_ci // 2DMSArray, uint tx, uint params 164617a3babSopenharmony_ci g_tTex2dmsu4a . GetDimensions(WidthU, HeightU, ElementsU, NumberOfSamplesU); 165617a3babSopenharmony_ci 166617a3babSopenharmony_ci // TODO: *************************************************** 167617a3babSopenharmony_ci // Change this to 1 to enable float overloads when the HLSL 168617a3babSopenharmony_ci // function overload resolution is fixed. 169617a3babSopenharmony_ci#define OVERLOAD_FIX 0 170617a3babSopenharmony_ci 171617a3babSopenharmony_ci // TODO: enable when function overload resolution rules are fixed 172617a3babSopenharmony_ci#if OVERLOAD_FIX 173617a3babSopenharmony_ci // 1D, float tx, float params 174617a3babSopenharmony_ci g_tTex1df4 . GetDimensions(WidthF); 175617a3babSopenharmony_ci g_tTex1df4 . GetDimensions(6, WidthF, NumberOfLevelsF); 176617a3babSopenharmony_ci 177617a3babSopenharmony_ci // 1D, int, float params 178617a3babSopenharmony_ci g_tTex1di4 . GetDimensions(WidthF); 179617a3babSopenharmony_ci g_tTex1di4 . GetDimensions(6, WidthF, NumberOfLevelsF); 180617a3babSopenharmony_ci 181617a3babSopenharmony_ci // 1D, uint, float params 182617a3babSopenharmony_ci g_tTex1du4 . GetDimensions(WidthF); 183617a3babSopenharmony_ci g_tTex1du4 . GetDimensions(6, WidthF, NumberOfLevelsF); 184617a3babSopenharmony_ci 185617a3babSopenharmony_ci // 1DArray, float tx, float params 186617a3babSopenharmony_ci g_tTex1df4a . GetDimensions(WidthF, ElementsF); 187617a3babSopenharmony_ci g_tTex1df4a . GetDimensions(6, WidthF, ElementsF, NumberOfLevelsF); 188617a3babSopenharmony_ci 189617a3babSopenharmony_ci // 1DArray, int, float params 190617a3babSopenharmony_ci g_tTex1di4a . GetDimensions(WidthF, ElementsF); 191617a3babSopenharmony_ci g_tTex1di4a . GetDimensions(6, WidthF, ElementsF, NumberOfLevelsF); 192617a3babSopenharmony_ci 193617a3babSopenharmony_ci // 1DArray, uint, float params 194617a3babSopenharmony_ci g_tTex1du4a . GetDimensions(WidthF, ElementsF); 195617a3babSopenharmony_ci g_tTex1du4a . GetDimensions(6, WidthF, ElementsF, NumberOfLevelsF); 196617a3babSopenharmony_ci 197617a3babSopenharmony_ci // 2D, float tx, float params 198617a3babSopenharmony_ci g_tTex2df4 . GetDimensions(WidthF, HeightF); 199617a3babSopenharmony_ci g_tTex2df4 . GetDimensions(6, WidthF, HeightF, NumberOfLevelsF); 200617a3babSopenharmony_ci 201617a3babSopenharmony_ci // 2D, int, float params 202617a3babSopenharmony_ci g_tTex2di4 . GetDimensions(WidthF, HeightF); 203617a3babSopenharmony_ci g_tTex2di4 . GetDimensions(6, WidthF, HeightF, NumberOfLevelsF); 204617a3babSopenharmony_ci 205617a3babSopenharmony_ci // 2D, uint, float params 206617a3babSopenharmony_ci g_tTex2du4 . GetDimensions(WidthF, HeightF); 207617a3babSopenharmony_ci g_tTex2du4 . GetDimensions(6, WidthF, HeightF, NumberOfLevelsF); 208617a3babSopenharmony_ci 209617a3babSopenharmony_ci // 2Darray, float tx, float params 210617a3babSopenharmony_ci g_tTex2df4a . GetDimensions(WidthF, HeightF, ElementsF); 211617a3babSopenharmony_ci g_tTex2df4a . GetDimensions(6, WidthF, HeightF, ElementsF, NumberOfLevelsF); 212617a3babSopenharmony_ci 213617a3babSopenharmony_ci // 2Darray, int, float params 214617a3babSopenharmony_ci g_tTex2di4a . GetDimensions(WidthF, HeightF, ElementsF); 215617a3babSopenharmony_ci g_tTex2di4a . GetDimensions(6, WidthF, HeightF, ElementsF, NumberOfLevelsF); 216617a3babSopenharmony_ci 217617a3babSopenharmony_ci // 2Darray, uint, float params 218617a3babSopenharmony_ci g_tTex2du4a . GetDimensions(WidthF, HeightF, ElementsF); 219617a3babSopenharmony_ci g_tTex2du4a . GetDimensions(6, WidthF, HeightF, ElementsF, NumberOfLevelsF); 220617a3babSopenharmony_ci 221617a3babSopenharmony_ci // 3D, float tx, float params 222617a3babSopenharmony_ci g_tTex3df4 . GetDimensions(WidthF, HeightF, DepthF); 223617a3babSopenharmony_ci g_tTex3df4 . GetDimensions(6, WidthF, HeightF, DepthF, NumberOfLevelsF); 224617a3babSopenharmony_ci 225617a3babSopenharmony_ci // 3D, int, float params 226617a3babSopenharmony_ci g_tTex3di4 . GetDimensions(WidthF, HeightF, DepthF); 227617a3babSopenharmony_ci g_tTex3di4 . GetDimensions(6, WidthF, HeightF, DepthF, NumberOfLevelsF); 228617a3babSopenharmony_ci 229617a3babSopenharmony_ci // 3D, uint, float params 230617a3babSopenharmony_ci g_tTex3du4 . GetDimensions(WidthF, HeightF, DepthF); 231617a3babSopenharmony_ci g_tTex3du4 . GetDimensions(6, WidthF, HeightF, DepthF, NumberOfLevelsF); 232617a3babSopenharmony_ci 233617a3babSopenharmony_ci // Cube, float tx, float params 234617a3babSopenharmony_ci g_tTexcdf4 . GetDimensions(WidthF, HeightF); 235617a3babSopenharmony_ci g_tTexcdf4 . GetDimensions(6, WidthF, HeightF, NumberOfLevelsF); 236617a3babSopenharmony_ci 237617a3babSopenharmony_ci // Cube, int, float params 238617a3babSopenharmony_ci g_tTexcdi4 . GetDimensions(WidthF, HeightF); 239617a3babSopenharmony_ci g_tTexcdi4 . GetDimensions(6, WidthF, HeightF, NumberOfLevelsF); 240617a3babSopenharmony_ci 241617a3babSopenharmony_ci // Cube, uint, float params 242617a3babSopenharmony_ci g_tTexcdu4 . GetDimensions(WidthF, HeightF); 243617a3babSopenharmony_ci g_tTexcdu4 . GetDimensions(6, WidthF, HeightF, NumberOfLevelsF); 244617a3babSopenharmony_ci 245617a3babSopenharmony_ci // Cubearray, float tx, float params 246617a3babSopenharmony_ci g_tTexcdf4a . GetDimensions(WidthF, HeightF, ElementsF); 247617a3babSopenharmony_ci g_tTexcdf4a . GetDimensions(6, WidthF, HeightF, ElementsF, NumberOfLevelsF); 248617a3babSopenharmony_ci 249617a3babSopenharmony_ci // Cubearray, int, float params 250617a3babSopenharmony_ci g_tTexcdi4a . GetDimensions(WidthF, HeightF, ElementsF); 251617a3babSopenharmony_ci g_tTexcdi4a . GetDimensions(6, WidthF, HeightF, ElementsF, NumberOfLevelsF); 252617a3babSopenharmony_ci 253617a3babSopenharmony_ci // Cubearray, uint, float params 254617a3babSopenharmony_ci g_tTexcdu4a . GetDimensions(WidthF, HeightF, ElementsF); 255617a3babSopenharmony_ci g_tTexcdu4a . GetDimensions(6, WidthF, HeightF, ElementsF, NumberOfLevelsF); 256617a3babSopenharmony_ci 257617a3babSopenharmony_ci // 2DMS, float tx, uint params 258617a3babSopenharmony_ci g_tTex2dmsf4 . GetDimensions(WidthF, HeightF, NumberOfSamplesF); 259617a3babSopenharmony_ci 260617a3babSopenharmony_ci // 2DMS, int tx, uint params 261617a3babSopenharmony_ci g_tTex2dmsi4 . GetDimensions(WidthF, HeightF, NumberOfSamplesF); 262617a3babSopenharmony_ci 263617a3babSopenharmony_ci // 2DMS, uint tx, uint params 264617a3babSopenharmony_ci g_tTex2dmsu4 . GetDimensions(WidthF, HeightF, NumberOfSamplesF); 265617a3babSopenharmony_ci 266617a3babSopenharmony_ci // 2DMSArray, float tx, uint params 267617a3babSopenharmony_ci g_tTex2dmsf4a . GetDimensions(WidthF, HeightF, ElementsF, NumberOfSamplesF); 268617a3babSopenharmony_ci 269617a3babSopenharmony_ci // 2DMSArray, int tx, uint params 270617a3babSopenharmony_ci g_tTex2dmsi4a . GetDimensions(WidthF, HeightF, ElementsF, NumberOfSamplesF); 271617a3babSopenharmony_ci 272617a3babSopenharmony_ci // 2DMSArray, uint tx, uint params 273617a3babSopenharmony_ci g_tTex2dmsu4a . GetDimensions(WidthF, HeightF, ElementsF, NumberOfSamplesF); 274617a3babSopenharmony_ci#endif // OVERLOAD_FIX 275617a3babSopenharmony_ci 276617a3babSopenharmony_ci psout.Color = 1.0; 277617a3babSopenharmony_ci psout.Depth = 1.0; 278617a3babSopenharmony_ci 279617a3babSopenharmony_ci return psout; 280617a3babSopenharmony_ci} 281