yum-mirror/slang

Making it easier to work with shaders

git clone https://git.yummers.dev/yum-mirror/slang

Tim FoleyConvert more tests to use shader objects (#1659)2a5d5b323

master
577 B34 linesraw
1//TEST(compute):COMPARE_COMPUTE: -shaderobj
2
3//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer
4RWStructuredBuffer<float> outputBuffer;
5
6interface IBase
7{
8    float get();
9}
10
11struct BaseImpl : IBase
12{
13    float get() { return 1.0; }
14};
15
16__generic<T:IBase>
17float eval(T obj)
18{
19    return obj.get();
20}
21
22__generic<T : IBase>
23float test(T obj)
24{
25    return eval<T>(obj);
26}
27
28[numthreads(4, 1, 1)]
29void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
30{
31    BaseImpl base;
32	float outVal = test<BaseImpl>(base);
33	outputBuffer[dispatchThreadID.x] = outVal;
34}