From fe9d27af9de047ea75db1334c961bb025fb732f6 Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Wed, 12 Feb 2020 09:15:47 -0500 Subject: CUDA barrier/atomic support (#1218) * * Improved fastRemoveAt * Fixed off by one bug * Fixed const safeness with List<> * Made List begin and end const safe. * Revert to previous RefPtr usage. * Fix bug with casting. * Tabs -> spaces. Small fixes/improvements to List. * Improve comment on List. * Group shared/atomic test works on CUDA. * * Enabled CUDA tests for atomics tests * Enabled DX12 test for atomics-buffer.slang Not clear just yet how to implement that for CUDA - it will work with StructuredBuffer. * hasContent -> isNonEmpty * Remove unneeded comment. --- tests/compute/atomics-buffer.slang | 8 ++------ tests/compute/atomics-groupshared.slang | 3 ++- tests/compute/atomics.slang | 3 ++- tests/compute/groupshared.slang | 6 +++--- 4 files changed, 9 insertions(+), 11 deletions(-) (limited to 'tests') diff --git a/tests/compute/atomics-buffer.slang b/tests/compute/atomics-buffer.slang index 32b9e7bbc..1739d4bbc 100644 --- a/tests/compute/atomics-buffer.slang +++ b/tests/compute/atomics-buffer.slang @@ -1,13 +1,9 @@ // atomics-buffer.slang //TEST(compute):COMPARE_COMPUTE_EX:-slang -compute +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 -// Note: not enabling D3D12 test yet because change -// was developed on a machine that can run D3D12 -// -//TEST_DISABLED(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 - -//TEST_INPUT:ubuffer(format=R_UInt32, data=[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]):out +//TEST_INPUT:ubuffer(format=R_UInt32, data=[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]):out,name outputBuffer RWBuffer outputBuffer; diff --git a/tests/compute/atomics-groupshared.slang b/tests/compute/atomics-groupshared.slang index e7ebb2269..9e237bee1 100644 --- a/tests/compute/atomics-groupshared.slang +++ b/tests/compute/atomics-groupshared.slang @@ -2,8 +2,9 @@ //TEST(compute):COMPARE_COMPUTE_EX:-slang -compute //TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -cuda -//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer RWStructuredBuffer outputBuffer; diff --git a/tests/compute/atomics.slang b/tests/compute/atomics.slang index dc81e8a09..ddb5523e9 100644 --- a/tests/compute/atomics.slang +++ b/tests/compute/atomics.slang @@ -2,8 +2,9 @@ //TEST(compute):COMPARE_COMPUTE_EX:-slang -compute //TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -cuda -//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out, name outputBuffer RWStructuredBuffer outputBuffer; diff --git a/tests/compute/groupshared.slang b/tests/compute/groupshared.slang index 8712ee878..2ebf325ab 100644 --- a/tests/compute/groupshared.slang +++ b/tests/compute/groupshared.slang @@ -3,8 +3,10 @@ //TEST(compute):COMPARE_COMPUTE_EX:-slang -compute //TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 //TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute +//TEST(compute):COMPARE_COMPUTE_EX:-cuda -compute -//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out, name=gBuffer +RWStructuredBuffer gBuffer; #define THREAD_COUNT 4 @@ -26,8 +28,6 @@ int test(int val) return val; } -RWStructuredBuffer gBuffer; - [numthreads(THREAD_COUNT, 1, 1)] void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID) { -- cgit v1.2.3