mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
vkd3d-shader/hlsl: Generate IR for user-defined function calls.
This commit is contained in:
committed by
Alexandre Julliard
parent
30550c0831
commit
b29d3489de
Notes:
Alexandre Julliard
2023-01-13 22:23:38 +01:00
Approved-by: Francisco Casas (@fcasas) Approved-by: Giovanni Mascellani (@giomasce) Approved-by: Henri Verbeet (@hverbeet) Approved-by: Alexandre Julliard (@julliard) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/47
@@ -9,7 +9,7 @@ float4 main() : sv_target
|
||||
|
||||
% It's legal to call an undefined function in unused code, though.
|
||||
|
||||
[pixel shader todo]
|
||||
[pixel shader]
|
||||
|
||||
float4 func();
|
||||
|
||||
@@ -23,7 +23,7 @@ float4 main() : sv_target
|
||||
return 0;
|
||||
}
|
||||
|
||||
[pixel shader fail todo]
|
||||
[pixel shader fail]
|
||||
|
||||
void func(inout float o)
|
||||
{
|
||||
@@ -37,7 +37,7 @@ float4 main() : sv_target
|
||||
return 0;
|
||||
}
|
||||
|
||||
[pixel shader fail todo]
|
||||
[pixel shader fail]
|
||||
|
||||
void func(inout float2 o)
|
||||
{
|
||||
@@ -51,7 +51,7 @@ float4 main() : sv_target
|
||||
return 0;
|
||||
}
|
||||
|
||||
[pixel shader fail todo]
|
||||
[pixel shader fail]
|
||||
|
||||
void func(out float o)
|
||||
{
|
||||
@@ -65,7 +65,7 @@ float4 main() : sv_target
|
||||
return x;
|
||||
}
|
||||
|
||||
[pixel shader fail todo]
|
||||
[pixel shader fail]
|
||||
|
||||
void func(inout float o)
|
||||
{
|
||||
@@ -78,7 +78,7 @@ float4 main() : sv_target
|
||||
return x;
|
||||
}
|
||||
|
||||
[pixel shader fail todo]
|
||||
[pixel shader fail]
|
||||
|
||||
void func()
|
||||
{
|
||||
@@ -118,7 +118,7 @@ void func()
|
||||
{
|
||||
}
|
||||
|
||||
[pixel shader todo]
|
||||
[pixel shader]
|
||||
|
||||
float func(in float a, out float b, inout float c)
|
||||
{
|
||||
@@ -139,10 +139,10 @@ float4 main() : sv_target
|
||||
}
|
||||
|
||||
[test]
|
||||
todo draw quad
|
||||
probe all rgba (0.5, 0.6, 0.7, 0)
|
||||
draw quad
|
||||
todo probe all rgba (0.5, 0.6, 0.7, 0)
|
||||
|
||||
[pixel shader todo]
|
||||
[pixel shader]
|
||||
|
||||
void func(in float a, inout float2 b)
|
||||
{
|
||||
@@ -160,5 +160,5 @@ float4 main() : sv_target
|
||||
}
|
||||
|
||||
[test]
|
||||
todo draw quad
|
||||
probe all rgba (0.6, 0.1, 0.5, 0)
|
||||
draw quad
|
||||
todo probe all rgba (0.6, 0.1, 0.5, 0)
|
||||
|
@@ -153,7 +153,7 @@ static int x = 1;
|
||||
[numthreads((x = 2), 1, 1)]
|
||||
void main() {}
|
||||
|
||||
[compute shader todo]
|
||||
[compute shader]
|
||||
|
||||
static int x = 1;
|
||||
|
||||
|
@@ -38,7 +38,7 @@ float4x1 main() : sv_target
|
||||
draw quad
|
||||
probe all rgba (0.4, 0.3, 0.2, 0.1)
|
||||
|
||||
[pixel shader todo]
|
||||
[pixel shader]
|
||||
float3 func()
|
||||
{
|
||||
return float3x1(0.4, 0.3, 0.2);
|
||||
@@ -50,10 +50,10 @@ float4 main() : sv_target
|
||||
}
|
||||
|
||||
[test]
|
||||
todo draw quad
|
||||
probe all rgba (0.4, 0.3, 0.2, 0.0)
|
||||
draw quad
|
||||
todo probe all rgba (0.4, 0.3, 0.2, 0.0)
|
||||
|
||||
[pixel shader todo]
|
||||
[pixel shader]
|
||||
float3 func()
|
||||
{
|
||||
return float1x3(0.4, 0.3, 0.2);
|
||||
@@ -65,10 +65,10 @@ float4 main() : sv_target
|
||||
}
|
||||
|
||||
[test]
|
||||
todo draw quad
|
||||
probe all rgba (0.4, 0.3, 0.2, 0.0)
|
||||
draw quad
|
||||
todo probe all rgba (0.4, 0.3, 0.2, 0.0)
|
||||
|
||||
[pixel shader todo]
|
||||
[pixel shader]
|
||||
float1x3 func()
|
||||
{
|
||||
return float3(0.4, 0.3, 0.2);
|
||||
@@ -80,10 +80,10 @@ float4 main() : sv_target
|
||||
}
|
||||
|
||||
[test]
|
||||
todo draw quad
|
||||
probe all rgba (0.4, 0.3, 0.2, 0.0)
|
||||
draw quad
|
||||
todo probe all rgba (0.4, 0.3, 0.2, 0.0)
|
||||
|
||||
[pixel shader todo]
|
||||
[pixel shader]
|
||||
float3x1 func()
|
||||
{
|
||||
return float3(0.4, 0.3, 0.2);
|
||||
@@ -95,8 +95,8 @@ float4 main() : sv_target
|
||||
}
|
||||
|
||||
[test]
|
||||
todo draw quad
|
||||
probe all rgba (0.4, 0.3, 0.2, 0.0)
|
||||
draw quad
|
||||
todo probe all rgba (0.4, 0.3, 0.2, 0.0)
|
||||
|
||||
[pixel shader fail]
|
||||
float3x1 func()
|
||||
@@ -120,7 +120,7 @@ float4 main() : sv_target
|
||||
return float4(func(), 0.0);
|
||||
}
|
||||
|
||||
[pixel shader todo]
|
||||
[pixel shader]
|
||||
float3 func()
|
||||
{
|
||||
return float4(0.4, 0.3, 0.2, 0.1);
|
||||
@@ -132,10 +132,10 @@ float4 main() : sv_target
|
||||
}
|
||||
|
||||
[test]
|
||||
todo draw quad
|
||||
probe all rgba (0.4, 0.3, 0.2, 0.0)
|
||||
draw quad
|
||||
todo probe all rgba (0.4, 0.3, 0.2, 0.0)
|
||||
|
||||
[pixel shader todo]
|
||||
[pixel shader]
|
||||
float3 func()
|
||||
{
|
||||
return float4x1(0.4, 0.3, 0.2, 0.1);
|
||||
@@ -147,10 +147,10 @@ float4 main() : sv_target
|
||||
}
|
||||
|
||||
[test]
|
||||
todo draw quad
|
||||
probe all rgba (0.4, 0.3, 0.2, 0.0)
|
||||
draw quad
|
||||
todo probe all rgba (0.4, 0.3, 0.2, 0.0)
|
||||
|
||||
[pixel shader todo]
|
||||
[pixel shader]
|
||||
float3 func()
|
||||
{
|
||||
return float1x4(0.4, 0.3, 0.2, 0.1);
|
||||
@@ -162,8 +162,8 @@ float4 main() : sv_target
|
||||
}
|
||||
|
||||
[test]
|
||||
todo draw quad
|
||||
probe all rgba (0.4, 0.3, 0.2, 0.0)
|
||||
draw quad
|
||||
todo probe all rgba (0.4, 0.3, 0.2, 0.0)
|
||||
|
||||
[pixel shader fail todo]
|
||||
float3x1 func()
|
||||
@@ -176,7 +176,7 @@ float4 main() : sv_target
|
||||
return float4(func(), 0.0);
|
||||
}
|
||||
|
||||
[pixel shader todo]
|
||||
[pixel shader]
|
||||
float3x1 func()
|
||||
{
|
||||
return float4x1(0.4, 0.3, 0.2, 0.1);
|
||||
@@ -188,8 +188,8 @@ float4 main() : sv_target
|
||||
}
|
||||
|
||||
[test]
|
||||
todo draw quad
|
||||
probe all rgba (0.4, 0.3, 0.2, 0.0)
|
||||
draw quad
|
||||
todo probe all rgba (0.4, 0.3, 0.2, 0.0)
|
||||
|
||||
[pixel shader fail]
|
||||
float3x1 func()
|
||||
@@ -202,7 +202,7 @@ float4 main() : sv_target
|
||||
return float4(func(), 0.0);
|
||||
}
|
||||
|
||||
[pixel shader todo]
|
||||
[pixel shader]
|
||||
float1x3 func()
|
||||
{
|
||||
return float4(0.4, 0.3, 0.2, 0.1);
|
||||
@@ -214,8 +214,8 @@ float4 main() : sv_target
|
||||
}
|
||||
|
||||
[test]
|
||||
todo draw quad
|
||||
probe all rgba (0.4, 0.3, 0.2, 0.0)
|
||||
draw quad
|
||||
todo probe all rgba (0.4, 0.3, 0.2, 0.0)
|
||||
|
||||
[pixel shader fail]
|
||||
float1x3 func()
|
||||
@@ -228,7 +228,7 @@ float4 main() : sv_target
|
||||
return float4(func(), 0.0);
|
||||
}
|
||||
|
||||
[pixel shader todo]
|
||||
[pixel shader]
|
||||
float1x3 func()
|
||||
{
|
||||
return float1x4(0.4, 0.3, 0.2, 0.1);
|
||||
@@ -240,5 +240,5 @@ float4 main() : sv_target
|
||||
}
|
||||
|
||||
[test]
|
||||
todo draw quad
|
||||
probe all rgba (0.4, 0.3, 0.2, 0.0)
|
||||
draw quad
|
||||
todo probe all rgba (0.4, 0.3, 0.2, 0.0)
|
||||
|
@@ -1,4 +1,4 @@
|
||||
[pixel shader todo]
|
||||
[pixel shader]
|
||||
float myfunc()
|
||||
{
|
||||
return 0.6;
|
||||
@@ -12,5 +12,5 @@ float4 main() : sv_target
|
||||
}
|
||||
|
||||
[test]
|
||||
todo draw quad
|
||||
probe all rgba (0.8, 0.0, 0.0, 0.0)
|
||||
draw quad
|
||||
todo probe all rgba (0.8, 0.0, 0.0, 0.0)
|
||||
|
@@ -7,7 +7,7 @@ size (1, 1)
|
||||
|
||||
0.1 0.2 0.3 0.4
|
||||
|
||||
[compute shader todo]
|
||||
[compute shader]
|
||||
|
||||
RWTexture2D<float4> u;
|
||||
|
||||
@@ -23,5 +23,5 @@ void main()
|
||||
}
|
||||
|
||||
[test]
|
||||
todo dispatch 1 1 1
|
||||
dispatch 1 1 1
|
||||
todo probe uav 0 (0, 0) rgba (0.1, 0.3, 0.3, 0.5)
|
||||
|
Reference in New Issue
Block a user