From b8f294445b998eadb9b09e2b91eb462b881eaf2e Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Fri, 24 Jan 2020 15:06:08 -0500 Subject: Texture Sample available in CUDA (#1176) * WIP: Trying to figure out how texturing will work with CUDA. * WIP: Fixes for CUDA layout. Initial CUDA texture test. * WIP: Outputs something compilable by CUDA for TextureND.Sample * 2d texture working with CUDA. * Fix how binding for SamplerState occurs in CUDA. * Small tidy up of comments. --- tests/cuda/cuda-texture.slang | 22 ++++++++++++++++++++++ tests/cuda/cuda-texture.slang.expected.txt | 4 ++++ 2 files changed, 26 insertions(+) create mode 100644 tests/cuda/cuda-texture.slang create mode 100644 tests/cuda/cuda-texture.slang.expected.txt (limited to 'tests') diff --git a/tests/cuda/cuda-texture.slang b/tests/cuda/cuda-texture.slang new file mode 100644 index 000000000..3b5bae8ee --- /dev/null +++ b/tests/cuda/cuda-texture.slang @@ -0,0 +1,22 @@ +//TEST(compute):COMPARE_COMPUTE:-cpu -compute +//TEST(compute):COMPARE_COMPUTE:-cuda -compute + +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name=outputBuffer +RWStructuredBuffer outputBuffer : register(u0); + +//TEST_INPUT: Texture2D(size=4, content=one):name texture +Texture2D texture; + +//TEST_INPUT: Sampler:name sampler +SamplerState sampler; + +[numthreads(4, 1, 1)] +void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID) +{ + int tid = int(dispatchThreadID.x); + float u = tid * (1.0f / 3.0f); + float v = 1.0f - u; + float2 uv = float2(u, v); + + outputBuffer[tid] = texture.Sample(sampler, uv); +} diff --git a/tests/cuda/cuda-texture.slang.expected.txt b/tests/cuda/cuda-texture.slang.expected.txt new file mode 100644 index 000000000..cc5e55ab6 --- /dev/null +++ b/tests/cuda/cuda-texture.slang.expected.txt @@ -0,0 +1,4 @@ +3F800000 +3F800000 +3F800000 +3F800000 -- cgit v1.2.3