external_func.hlsl 645 B

1234567891011121314151617181920212223242526272829303132
  1. // RUN: %dxc -T cs_6_0 -E main %s | FileCheck %s
  2. // Make sure report error when external function used.
  3. // CHECK: External function used in non-library profile
  4. struct T {
  5. RWByteAddressBuffer outputBuffer;
  6. RWByteAddressBuffer outputBuffer2;
  7. };
  8. struct D {
  9. float4 a;
  10. int4 b;
  11. };
  12. struct T2 {
  13. RWStructuredBuffer<D> uav;
  14. };
  15. T2 resStruct(T t, uint2 id);
  16. RWByteAddressBuffer outputBuffer;
  17. RWByteAddressBuffer outputBuffer2;
  18. [numthreads(8, 8, 1)]
  19. void main( uint2 id : SV_DispatchThreadID )
  20. {
  21. T t = {outputBuffer,outputBuffer2};
  22. T2 t2 = resStruct(t, id);
  23. uint counter = t2.uav.IncrementCounter();
  24. t2.uav[counter].b.xy = id;
  25. }