Skip to content

Commit f7d0cc3

Browse files
committed
Replace get_ptr() in the accessor with atomicAdd()
1 parent 3ae793b commit f7d0cc3

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

CountingSort/app_resources/prefix_sum_shader.comp.hlsl

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,12 @@ struct PtrAccessor
2525
deref().store(value);
2626
}
2727

28-
nbl::hlsl::bda::__spv_ptr_t<uint32_t> get_ptr(uint64_t index)
28+
uint32_t atomicAdd(uint64_t index, uint32_t value)
2929
{
30-
return nbl::hlsl::bda::__ptr < uint32_t > (addr + sizeof(uint32_t) * index).template
30+
nbl::hlsl::bda::__spv_ptr_t < uint32_t > ptr = nbl::hlsl::bda::__ptr < uint32_t > (addr + sizeof(uint32_t) * index).template
3131
deref().get_ptr();
32+
33+
return nbl::hlsl::glsl::atomicAdd(ptr, value);
3234
}
3335

3436
uint64_t addr;

CountingSort/app_resources/scatter_shader.comp.hlsl

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,12 @@ struct PtrAccessor
2525
deref().store(value);
2626
}
2727

28-
nbl::hlsl::bda::__spv_ptr_t<uint32_t> get_ptr(uint64_t index)
28+
uint32_t atomicAdd(uint64_t index, uint32_t value)
2929
{
30-
return nbl::hlsl::bda::__ptr < uint32_t > (addr + sizeof(uint32_t) * index).template
30+
nbl::hlsl::bda::__spv_ptr_t < uint32_t > ptr = nbl::hlsl::bda::__ptr < uint32_t > (addr + sizeof(uint32_t) * index).template
3131
deref().get_ptr();
32+
33+
return nbl::hlsl::glsl::atomicAdd(ptr, value);
3234
}
3335

3436
uint64_t addr;

0 commit comments

Comments
 (0)