mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-04-13 05:43:18 -07:00
vkd3d-shader/msl: Implement support for VSIR_DIMENSION_VEC4 immediate constants.
This commit is contained in:
Notes:
Henri Verbeet
2024-11-24 00:11:21 +01:00
Approved-by: Giovanni Mascellani (@giomasce) Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1274
@@ -9,7 +9,7 @@ float4 main() : SV_TARGET
|
||||
}
|
||||
|
||||
[test]
|
||||
todo(msl) draw quad
|
||||
draw quad
|
||||
probe (0, 0) rgba (3.0e+009, 0.0, 0.0, 0.0)
|
||||
|
||||
% The uint value is never casted to int on SM1-3, just casted to float and treated as such
|
||||
@@ -21,7 +21,7 @@ float4 main() : SV_TARGET
|
||||
}
|
||||
|
||||
[test]
|
||||
todo(msl) draw quad
|
||||
draw quad
|
||||
if(sm<4) todo probe (0,0) rgba (3.0e+009, 0.0, 0.0, 0.0)
|
||||
if(sm>=4) probe (0,0) rgba (-1.29496730e+009, 0.0, 0.0, 0.0)
|
||||
|
||||
@@ -35,7 +35,7 @@ float4 main() : SV_TARGET
|
||||
}
|
||||
|
||||
[test]
|
||||
todo(msl) draw quad
|
||||
draw quad
|
||||
if(sm>=4) probe (0,0) rgba (3.0e+009, 0.0, 0.0, 0.0)
|
||||
|
||||
[pixel shader]
|
||||
@@ -46,7 +46,7 @@ float4 main() : SV_TARGET
|
||||
}
|
||||
|
||||
[test]
|
||||
todo(msl) draw quad
|
||||
draw quad
|
||||
probe (0, 0) rgba (-1.29496730e+009, 0.0, 0.0, 0.0)
|
||||
|
||||
[pixel shader]
|
||||
@@ -56,7 +56,7 @@ float4 main() : SV_TARGET
|
||||
}
|
||||
|
||||
[test]
|
||||
todo(msl) draw quad
|
||||
draw quad
|
||||
probe (0, 0) rgba (3.0e+009, 0.0, 0.0, 0.0)
|
||||
|
||||
% Unsuffixed literals can instead be considered unsigned on SM6
|
||||
@@ -67,7 +67,7 @@ float4 main() : SV_TARGET
|
||||
}
|
||||
|
||||
[test]
|
||||
todo(msl) draw quad
|
||||
draw quad
|
||||
if(sm<6) probe (0,0) rgba (-1.29496730e+009, 0.0, 0.0, 0.0)
|
||||
if(sm>=6) probe (0,0) rgba (3.0e+009, 0.0, 0.0, 0.0)
|
||||
|
||||
@@ -81,7 +81,7 @@ float4 main() : SV_TARGET
|
||||
}
|
||||
|
||||
[test]
|
||||
todo(msl) draw quad
|
||||
draw quad
|
||||
probe (0, 0) rgba (1.70503270e+009, 0.0, 0.0, 0.0)
|
||||
|
||||
% SM1-3 complains that uint values must be positive, but it's not clear why this is a problem here:
|
||||
@@ -96,7 +96,7 @@ float4 main() : SV_TARGET
|
||||
}
|
||||
|
||||
[test]
|
||||
todo(msl) draw quad
|
||||
draw quad
|
||||
todo probe (0,0) rgba (2.14748365e+009, 0.0, 0.0, 0.0)
|
||||
|
||||
% Again, no idea of what's happening here
|
||||
@@ -108,7 +108,7 @@ float4 main() : SV_TARGET
|
||||
}
|
||||
|
||||
[test]
|
||||
todo(msl) draw quad
|
||||
draw quad
|
||||
todo probe (0,0) rgba (-2.14748365e+009, 0.0, 0.0, 0.0)
|
||||
|
||||
% This makes sense
|
||||
@@ -119,7 +119,7 @@ float4 main() : SV_TARGET
|
||||
}
|
||||
|
||||
[test]
|
||||
todo(msl) draw quad
|
||||
draw quad
|
||||
probe (0, 0) rgba (1.70503270e+009, 0.0, 0.0, 0.0)
|
||||
|
||||
% This does not again
|
||||
@@ -130,7 +130,7 @@ float4 main() : SV_TARGET
|
||||
}
|
||||
|
||||
[test]
|
||||
todo(msl) draw quad
|
||||
draw quad
|
||||
todo probe (0,0) rgba (-2.14748365e+009, 0.0, 0.0, 0.0)
|
||||
|
||||
% Explicit float literals use float semantics, at least
|
||||
@@ -142,5 +142,5 @@ float4 main() : SV_TARGET
|
||||
}
|
||||
|
||||
[test]
|
||||
todo(msl) draw quad
|
||||
draw quad
|
||||
probe (0, 0) rgba (6.0e+009, 0.0, 0.0, 0.0)
|
||||
|
Reference in New Issue
Block a user