From 83a42cb76feb1f702ff730040f359cabc01c571a Mon Sep 17 00:00:00 2001 From: Ellie Hermaszewska Date: Fri, 4 Apr 2025 15:25:20 +0800 Subject: Do no fail on missing no_diff annotation on non-differentiable (inputs and output) function outputs (#6737) Closes https://github.com/shader-slang/slang/issues/6632 --- tests/bugs/gh-6632.slang | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 tests/bugs/gh-6632.slang (limited to 'tests') diff --git a/tests/bugs/gh-6632.slang b/tests/bugs/gh-6632.slang new file mode 100644 index 000000000..f9240e63b --- /dev/null +++ b/tests/bugs/gh-6632.slang @@ -0,0 +1,29 @@ +//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK):-cpu + +// CHECK: 40000000 + +//TEST_INPUT:ubuffer(data=[0], stride=4):out,name=outputBuffer + +// Non-differentiable function with no_diff parameters and return type +no_diff float targetFunc(no_diff float x) +{ + return x * 2.0f; +} + +[Differentiable] +float errorForward(no_diff float x) +{ + float result = targetFunc(x); + return result; +} + +RWStructuredBuffer outputBuffer; + +[numthreads(1, 1, 1)] +void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID) +{ + float input = 1.0f; + + outputBuffer[0] = errorForward(input); +} + -- cgit v1.2.3