1617a3babSopenharmony_cistruct s1_t { 2617a3babSopenharmony_ci float c0; 3617a3babSopenharmony_ci float2 c1; 4617a3babSopenharmony_ci float c2; 5617a3babSopenharmony_ci}; 6617a3babSopenharmony_ci 7617a3babSopenharmony_cistruct s2_t { 8617a3babSopenharmony_ci float c0; 9617a3babSopenharmony_ci float3 c1; 10617a3babSopenharmony_ci}; 11617a3babSopenharmony_ci 12617a3babSopenharmony_cistruct s3_t { 13617a3babSopenharmony_ci float2 c0; 14617a3babSopenharmony_ci float1 c1; 15617a3babSopenharmony_ci}; 16617a3babSopenharmony_ci 17617a3babSopenharmony_cistruct s4_t { 18617a3babSopenharmony_ci int c0; 19617a3babSopenharmony_ci int2 c1; 20617a3babSopenharmony_ci int c2; 21617a3babSopenharmony_ci}; 22617a3babSopenharmony_ci 23617a3babSopenharmony_cistruct s5_t { 24617a3babSopenharmony_ci uint c0; 25617a3babSopenharmony_ci uint c1; 26617a3babSopenharmony_ci}; 27617a3babSopenharmony_ci 28617a3babSopenharmony_ciSamplerState g_sSamp; 29617a3babSopenharmony_ciTexture2D <s1_t> g_tTex2s1; 30617a3babSopenharmony_ciTexture2D <s2_t> g_tTex2s2; 31617a3babSopenharmony_ciTexture2D <s3_t> g_tTex2s3; 32617a3babSopenharmony_ciTexture2D <s4_t> g_tTex2s4; 33617a3babSopenharmony_ciTexture2D <s5_t> g_tTex2s5; 34617a3babSopenharmony_ci 35617a3babSopenharmony_ciTexture2D <s1_t> g_tTex2s1a; // same type as g_tTex2s1, to test fn signature matching. 36617a3babSopenharmony_ci 37617a3babSopenharmony_ci// function overloading to test name mangling with textures templatized on structs 38617a3babSopenharmony_cis1_t fn1(Texture2D <s1_t> t1) { return t1 . Sample(g_sSamp, float2(0.6, 0.61)); } 39617a3babSopenharmony_cis2_t fn1(Texture2D <s2_t> t2) { return t2 . Sample(g_sSamp, float2(0.6, 0.61)); } 40617a3babSopenharmony_ci 41617a3babSopenharmony_cifloat4 main() : SV_Target0 42617a3babSopenharmony_ci{ 43617a3babSopenharmony_ci s1_t s1 = g_tTex2s1 . Sample(g_sSamp, float2(0.1, 0.11)); 44617a3babSopenharmony_ci s2_t s2 = g_tTex2s2 . Sample(g_sSamp, float2(0.2, 0.21)); 45617a3babSopenharmony_ci s3_t s3 = g_tTex2s3 . Sample(g_sSamp, float2(0.3, 0.31)); 46617a3babSopenharmony_ci s4_t s4 = g_tTex2s4 . Sample(g_sSamp, float2(0.4, 0.41)); 47617a3babSopenharmony_ci s5_t s5 = g_tTex2s5 . Sample(g_sSamp, float2(0.5, 0.51)); 48617a3babSopenharmony_ci 49617a3babSopenharmony_ci s1_t r0 = fn1(g_tTex2s1); 50617a3babSopenharmony_ci s2_t r1 = fn1(g_tTex2s2); 51617a3babSopenharmony_ci s1_t r2 = fn1(g_tTex2s1a); 52617a3babSopenharmony_ci 53617a3babSopenharmony_ci return 0; 54617a3babSopenharmony_ci} 55617a3babSopenharmony_ci 56