yum-mirror/slang

Making it easier to work with shaders

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

Yong HeFix type checking for constructors in generic interfaces. (#3799)1ee1688a7

master
502 B25 linesraw
1//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=BUF): -shaderobj -output-using-type
2
3//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer
4
5interface From<X> {
6  __init(const X x);
7}
8extension float: From<float> {
9  __init(const float x) { this = x; }
10}
11T test<T : From<float>>(float v)
12{
13    T u;
14    u = T(5.0f);
15    return u;
16}
17
18RWStructuredBuffer<float> outputBuffer;
19[numthreads(1,1,1)]
20void computeMain()
21{
22    float v = test<float>(5.0);
23    //BUF: 5.0
24    outputBuffer[0] = v;
25}