texture2dms.hlsl 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. // RUN: %dxc -T ps_6_0 -E main %s | %D3DReflect %s | FileCheck %s
  2. Texture2DMS<float4> msTexture;
  3. Texture2DMSArray<float4> msTextureArray : register(t2, space2);
  4. // Not sure what -1 means, but it's legal for fxc, and it's preserved, so we match it here.
  5. Texture2DMS<float4, -1> msTexture1 : register(t1);
  6. Texture2DMSArray<float4, -1> msTextureArray1 : register(t2);
  7. Texture2DMS<float4, 8> msTexture2 : register(t3);
  8. Texture2DMSArray<float4, 4> msTextureArray2 : register(t4);
  9. float4 main(uint4 color : COLOR) : SV_TARGET
  10. {
  11. return float4(0,0,0,0)
  12. + msTexture.sample[2][color.xy]
  13. + msTextureArray.sample[3][color.xyz]
  14. + msTexture1.sample[2][color.xy]
  15. + msTextureArray1.sample[3][color.xyz]
  16. + msTexture2.sample[2][color.xy]
  17. + msTextureArray2.sample[3][color.xyz]
  18. ;
  19. }
  20. // CHECK: ID3D12ShaderReflection:
  21. // CHECK: Bound Resources:
  22. // CHECK: D3D12_SHADER_BUFFER_DESC: Name: msTexture
  23. // CHECK-NEXT: Type: D3D_SIT_TEXTURE
  24. // CHECK-NEXT: uID: 0
  25. // CHECK-NEXT: BindCount: 1
  26. // CHECK-NEXT: BindPoint: 0
  27. // CHECK-NEXT: Space: 0
  28. // CHECK-NEXT: ReturnType: D3D_RETURN_TYPE_FLOAT
  29. // CHECK-NEXT: Dimension: D3D_SRV_DIMENSION_TEXTURE2DMS
  30. // CHECK-NEXT: NumSamples (or stride): 0
  31. // CHECK-NEXT: uFlags: (D3D_SIF_TEXTURE_COMPONENT_0 | D3D_SIF_TEXTURE_COMPONENT_1)
  32. // CHECK: D3D12_SHADER_BUFFER_DESC: Name: msTextureArray
  33. // CHECK-NEXT: Type: D3D_SIT_TEXTURE
  34. // CHECK-NEXT: uID: 1
  35. // CHECK-NEXT: BindCount: 1
  36. // CHECK-NEXT: BindPoint: 2
  37. // CHECK-NEXT: Space: 2
  38. // CHECK-NEXT: ReturnType: D3D_RETURN_TYPE_FLOAT
  39. // CHECK-NEXT: Dimension: D3D_SRV_DIMENSION_TEXTURE2DMSARRAY
  40. // CHECK-NEXT: NumSamples (or stride): 0
  41. // CHECK-NEXT: uFlags: (D3D_SIF_TEXTURE_COMPONENT_0 | D3D_SIF_TEXTURE_COMPONENT_1)
  42. // CHECK: D3D12_SHADER_BUFFER_DESC: Name: msTexture1
  43. // CHECK-NEXT: Type: D3D_SIT_TEXTURE
  44. // CHECK-NEXT: uID: 2
  45. // CHECK-NEXT: BindCount: 1
  46. // CHECK-NEXT: BindPoint: 1
  47. // CHECK-NEXT: Space: 0
  48. // CHECK-NEXT: ReturnType: D3D_RETURN_TYPE_FLOAT
  49. // CHECK-NEXT: Dimension: D3D_SRV_DIMENSION_TEXTURE2DMS
  50. // CHECK-NEXT: NumSamples (or stride): 4294967295
  51. // CHECK-NEXT: uFlags: (D3D_SIF_TEXTURE_COMPONENT_0 | D3D_SIF_TEXTURE_COMPONENT_1)
  52. // CHECK: D3D12_SHADER_BUFFER_DESC: Name: msTextureArray1
  53. // CHECK-NEXT: Type: D3D_SIT_TEXTURE
  54. // CHECK-NEXT: uID: 3
  55. // CHECK-NEXT: BindCount: 1
  56. // CHECK-NEXT: BindPoint: 2
  57. // CHECK-NEXT: Space: 0
  58. // CHECK-NEXT: ReturnType: D3D_RETURN_TYPE_FLOAT
  59. // CHECK-NEXT: Dimension: D3D_SRV_DIMENSION_TEXTURE2DMSARRAY
  60. // CHECK-NEXT: NumSamples (or stride): 4294967295
  61. // CHECK-NEXT: uFlags: (D3D_SIF_TEXTURE_COMPONENT_0 | D3D_SIF_TEXTURE_COMPONENT_1)
  62. // CHECK: D3D12_SHADER_BUFFER_DESC: Name: msTexture2
  63. // CHECK-NEXT: Type: D3D_SIT_TEXTURE
  64. // CHECK-NEXT: uID: 4
  65. // CHECK-NEXT: BindCount: 1
  66. // CHECK-NEXT: BindPoint: 3
  67. // CHECK-NEXT: Space: 0
  68. // CHECK-NEXT: ReturnType: D3D_RETURN_TYPE_FLOAT
  69. // CHECK-NEXT: Dimension: D3D_SRV_DIMENSION_TEXTURE2DMS
  70. // CHECK-NEXT: NumSamples (or stride): 8
  71. // CHECK-NEXT: uFlags: (D3D_SIF_TEXTURE_COMPONENT_0 | D3D_SIF_TEXTURE_COMPONENT_1)
  72. // CHECK: D3D12_SHADER_BUFFER_DESC: Name: msTextureArray2
  73. // CHECK-NEXT: Type: D3D_SIT_TEXTURE
  74. // CHECK-NEXT: uID: 5
  75. // CHECK-NEXT: BindCount: 1
  76. // CHECK-NEXT: BindPoint: 4
  77. // CHECK-NEXT: Space: 0
  78. // CHECK-NEXT: ReturnType: D3D_RETURN_TYPE_FLOAT
  79. // CHECK-NEXT: Dimension: D3D_SRV_DIMENSION_TEXTURE2DMSARRAY
  80. // CHECK-NEXT: NumSamples (or stride): 4
  81. // CHECK-NEXT: uFlags: (D3D_SIF_TEXTURE_COMPONENT_0 | D3D_SIF_TEXTURE_COMPONENT_1)