| 123456789101112131415161718192021222324252627282930313233 |
- // RUN: %dxc -E main -T cs_6_0 -O1 %s | FileCheck %s
- // CHECK: bufferLoad
- // CHECK: lshr
- // CHECK: bufferStore
- //
- // Copyright (c) Microsoft. All rights reserved.
- // This code is licensed under the MIT License (MIT).
- // THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
- // ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
- // IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
- // PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
- //
- // Developed by Minigraph
- //
- // Author: Julia Careaga
- //
- #include "ParticleUtility.hlsli"
- ByteAddressBuffer g_FinalInstanceCounter : register( t0 );
- RWByteAddressBuffer g_NumThreadGroups : register( u0 );
- RWByteAddressBuffer g_DrawIndirectArgs : register ( u1 );
- [RootSignature(Particle_RootSig)]
- [numthreads(1, 1, 1)]
- void main( uint3 DTid : SV_DispatchThreadID )
- {
- uint particleCount = g_FinalInstanceCounter.Load(0);
- g_NumThreadGroups.Store3(0, uint3((particleCount + 63) / 64, 1, 1));
- g_DrawIndirectArgs.Store(4, particleCount);
- }
|