spv.register.autoassign.frag 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. SamplerState g_sSamp1 : register(s0);
  2. SamplerState g_sSamp2;
  3. SamplerState g_sSamp3[2] : register(s2);
  4. SamplerState g_sSamp4[3];
  5. SamplerState g_sSamp5;
  6. SamplerState g_sSamp_unused1;
  7. SamplerState g_sSamp_unused2;
  8. Texture1D g_tTex1 : register(t1);
  9. const uniform Texture1D g_tTex2;
  10. Texture1D g_tTex3[2] : register(t3);
  11. Texture1D g_tTex4[3];
  12. Texture1D g_tTex5;
  13. Texture1D g_tTex_unused1 : register(t0);
  14. Texture1D g_tTex_unused2 : register(t2);
  15. Texture1D g_tTex_unused3;
  16. struct MyStruct_t {
  17. int a;
  18. float b;
  19. float3 c;
  20. };
  21. uniform MyStruct_t mystruct : register(b4);
  22. struct PS_OUTPUT
  23. {
  24. float4 Color : SV_Target0;
  25. };
  26. uniform float4 myfloat4_a;
  27. uniform float4 myfloat4_b;
  28. uniform int4 myint4_a;
  29. float4 Func1()
  30. {
  31. return
  32. g_tTex1 . Sample(g_sSamp1, 0.1) +
  33. g_tTex2 . Sample(g_sSamp2, 0.2) +
  34. g_tTex3[0] . Sample(g_sSamp3[0], 0.3) +
  35. g_tTex3[1] . Sample(g_sSamp3[1], 0.3) +
  36. g_tTex4[1] . Sample(g_sSamp4[1], 0.4) +
  37. g_tTex4[2] . Sample(g_sSamp4[2], 0.4) +
  38. g_tTex5 . Sample(g_sSamp5, 0.5) +
  39. mystruct.c[1];
  40. }
  41. float4 Func2()
  42. {
  43. return
  44. g_tTex1 . Sample(g_sSamp1, 0.1) +
  45. g_tTex3[1] . Sample(g_sSamp3[1], 0.3);
  46. }
  47. // Not called from entry point:
  48. float4 Func2_unused()
  49. {
  50. return
  51. g_tTex_unused1 . Sample(g_sSamp_unused1, 1.1) +
  52. g_tTex_unused2 . Sample(g_sSamp_unused2, 1.2);
  53. }
  54. PS_OUTPUT main_ep()
  55. {
  56. PS_OUTPUT psout;
  57. psout.Color = Func1() + Func2();
  58. return psout;
  59. }