yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
20bd48659
master
1//TEST(compute):COMPARE_COMPUTE_EX(filecheck-buffer=BUF):-slang -compute 2//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=BUF):-slang -compute -vk 3 4interface IFoo 5{ 6 void foo(); 7} 8 9struct S : IFoo { int x; void foo(); } 10 11struct P 12{ 13 IFoo f; 14} 15struct Tr 16{ 17 int test<T:IArithmetic>(T t, P p) 18 { 19 const IFoo hit = p.f; 20 let castResult = hit as S; 21 if (!castResult.hasValue) 22 return 0; 23 return castResult.value.x; 24 } 25} 26 27//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name buffer 28 29RWStructuredBuffer<int> buffer; 30 31[numthreads(1,1,1)] 32void computeMain() 33{ 34 P p; 35 S s; 36 s.x = 2; 37 p.f = s; 38 Tr tt; 39 // BUF: 2 40 buffer[0] = tt.test(0, p); 41} 42