yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
90c34e3db
master
1//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=CHECK): -shaderobj 2 3#pragma warning(disable:30856) 4interface IFoo<T> 5{ 6 T getFirst(); 7} 8 9__generic<S, T : IArray<S>> 10extension T : IFoo<S> 11{ 12 S getFirst() 13 { 14 return this[0]; 15 } 16} 17 18T getFirstOuter<T>(IFoo<T> arr) 19{ 20 return arr.getFirst(); 21} 22 23//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name=outputBuffer 24RWStructuredBuffer<int> outputBuffer; 25 26[numthreads(1,1,1)] 27void computeMain() 28{ 29 int arr[] = {1,2,3}; 30 // CHECK: 1 31 outputBuffer[0] = getFirstOuter(arr); 32}