cb_array_mutate.hlsl 449 B

12345678910111213141516171819
  1. // RUN: %dxc -E main -T ps_6_0 %s | FileCheck %s
  2. // CHECK:%[[ID:[0-9]+]] = call i32 @dx.op.loadInput
  3. // CHECK:lshr i32 %[[ID]], 2
  4. // CHECK:and i32 %[[ID]], 3
  5. // Make sure only 1 cb load.
  6. // CHECK:call %dx.types.CBufRet.i32 @dx.op.cbufferLoadLegacy.i32
  7. // CHECK-NOT:call %dx.types.CBufRet
  8. cbuffer Pack
  9. {
  10. int4 __packed[16];
  11. };
  12. static int arrayReallyWant[64] = (int[64])__packed;
  13. float main(int i:I) : SV_Target {
  14. return arrayReallyWant[i];
  15. }