vkd3d-shader/glsl: Implement support for VKD3DSPR_CONSTBUFFER registers.

This commit is contained in:
Henri Verbeet
2024-02-25 00:35:48 +01:00
parent e9f0c6fef3
commit ae40184631
Notes: Henri Verbeet 2024-09-19 14:46:44 +02:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1084
22 changed files with 254 additions and 74 deletions

View File

@@ -56,7 +56,7 @@ float4 main() : sv_target
[test]
uniform 0 float4 0.1 0.2 0.3 0.4
uniform 4 float4 1.1 1.2 1.3 1.4
todo(glsl) draw quad
draw quad
probe (0, 0) rgba (1.1, 1.4, 0.2, 0.3)
@@ -75,7 +75,7 @@ uniform 4 float4 1.1 1.2 1.3 1.4
uniform 8 float4 2.1 2.2 2.3 2.4
uniform 12 float4 3.1 3.2 3.3 3.4
uniform 16 float4 4.1 4.2 4.3 4.4
todo(glsl) draw quad
draw quad
probe (0, 0) rgba (4.1, 4.2, 1.3, 1.4)
@@ -207,7 +207,7 @@ float4 main() : sv_target
[test]
uniform 0 float 100
uniform 4 float 101
todo(glsl) draw quad
draw quad
probe (0, 0) rgba (100, 100, 100, 100)
@@ -221,7 +221,7 @@ float4 main(uniform float a : register(c1)) : sv_target
[test]
uniform 0 float 100
uniform 4 float 101
todo(glsl) draw quad
draw quad
probe (0, 0) rgba (100, 100, 100, 100)
[pixel shader todo]
@@ -326,7 +326,7 @@ float4 main() : sv_target
[test]
uniform 0 float 1.0
todo(glsl) draw quad
draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
[pixel shader]
@@ -341,7 +341,7 @@ float4 main() : sv_target
[test]
uniform 0 float 1.0
uniform 4 float 2.0
todo(glsl) draw quad
draw quad
if(sm<6) probe (0, 0) rgba (2.0, 2.0, 2.0, 2.0)
if(sm>=6) probe (0, 0) rgba(1.0, 1.0, 1.0, 1.0)
@@ -357,7 +357,7 @@ float4 main() : sv_target
[test]
uniform 0 float 0.0
uniform 4 float 1.0
todo(glsl) draw quad
draw quad
if(sm<6) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
if(sm>=6) probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0)
@@ -373,7 +373,7 @@ float4 main() : sv_target
[test]
uniform 0 float 0.0
uniform 4 float 1.0
todo(glsl) draw quad
draw quad
if(sm<6) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
if(sm>=6) probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0)
@@ -389,7 +389,7 @@ float4 main() : sv_target
[test]
uniform 0 float 0.0
uniform 4 float 1.0
todo(glsl) draw quad
draw quad
if(sm<6) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
if(sm>=6) probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0)
@@ -404,7 +404,7 @@ float4 main() : sv_target
[test]
uniform 4 float 1.0
todo(glsl) draw quad
draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
% Weird FXC behavior.
@@ -420,7 +420,7 @@ float4 main() : sv_target
[test]
uniform 0 float 1.0
todo(glsl) draw quad
draw quad
probe (0, 0) rgba(1.0, 1.0, 1.0, 1.0)
% Testing other reservation types. This is a parse failure, i.e "X3530: register sa not valid"
@@ -460,7 +460,7 @@ float4 main() : sv_target
[test]
uniform 0 float 0.0
uniform 4 float 2.0
todo(glsl) draw quad
draw quad
probe (0, 0) rgba(2.0, 2.0, 2.0, 2.0)
[require]