ParticleDispatchIndirectArgsCS.hlsl 806 B

12345678910111213141516171819202122232425262728293031
  1. // RUN: %dxc -E main -T cs_6_0 -O1 %s | FileCheck %s
  2. // CHECK: bufferLoad
  3. // CHECK: lshr
  4. // CHECK: bufferStore
  5. //
  6. // Copyright (c) Microsoft. All rights reserved.
  7. // This code is licensed under the MIT License (MIT).
  8. // THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
  9. // ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
  10. // IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
  11. // PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
  12. //
  13. // Developed by Minigraph
  14. //
  15. // Author: Julia Careaga
  16. //
  17. #include "ParticleRS.hlsli"
  18. ByteAddressBuffer g_ParticleInstance : register( t0 );
  19. RWByteAddressBuffer g_NumThreadGroups : register( u1 );
  20. [RootSignature(Particle_RootSig)]
  21. [numthreads(1, 1, 1)]
  22. void main( uint3 DTid : SV_DispatchThreadID )
  23. {
  24. g_NumThreadGroups.Store(0, ( g_ParticleInstance.Load(0) + 63) / 64);
  25. }