vkd3d-shader/hlsl: Store stream index in struct hlsl_semantic.

In addition, support stream indices in tpf_write_signature().
This commit is contained in:
Shaun Ren
2025-03-20 21:28:02 -04:00
committed by Henri Verbeet
parent d368d18527
commit d5dcf31123
Notes: Henri Verbeet 2025-06-02 21:00:38 +02:00
Approved-by: Elizabeth Figura (@zfigura)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1518
5 changed files with 65 additions and 66 deletions

View File

@@ -233,7 +233,7 @@ void main(InputPatch<gs_data, 3> data, InputPatch<gs_data2, 3> data2, InputPatch
{
}
[geometry shader fail todo(sm>=5)]
[geometry shader fail]
struct gs_data
{
float4 pos : SV_POSITION;
@@ -254,7 +254,7 @@ void main(InputPatch<gs_data, 3> data, InputPatch<gs_data2, 4> data2, InputPatch
{
}
[geometry shader fail todo(sm>=5)]
[geometry shader fail]
struct gs_data
{
float4 pos : SV_POSITION;
@@ -691,7 +691,7 @@ void main(point gs_data vin[1], inout PointStream<gs_data> vout)
% The total component count of all outputs are used. If the allocated registers overlap,
% the largest allocation size is used for the calculation.
[geometry shader fail(sm<5) todo(sm>=5)]
[geometry shader fail(sm<5)]
struct gs_data
{
float2 x : X; // Allocates to o0.xy
@@ -712,7 +712,7 @@ void main(point gs_data vin[1], inout PointStream<gs_data> vout1, inout PointStr
vout2.Append((gs_data2)0);
}
[geometry shader fail todo(sm>=5)]
[geometry shader fail]
struct gs_data
{
float2 x : X; // Allocates to o0.xy