mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
vkd3d-shader/dxil: Emit 16-bit structured TGSMs as minimum precision.
This commit is contained in:
committed by
Henri Verbeet
parent
5e1c8056ae
commit
39603f4bc2
Notes:
Henri Verbeet
2025-06-18 15:59:59 +02:00
Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1568
@@ -3744,7 +3744,10 @@ static void sm6_parser_declare_tgsm_structured(struct sm6_parser *sm6, const str
|
|||||||
dst_param_init(&ins->declaration.tgsm_structured.reg);
|
dst_param_init(&ins->declaration.tgsm_structured.reg);
|
||||||
dst->value_type = VALUE_TYPE_GROUPSHAREDMEM;
|
dst->value_type = VALUE_TYPE_GROUPSHAREDMEM;
|
||||||
dst->u.groupsharedmem.id = sm6->tgsm_count++;
|
dst->u.groupsharedmem.id = sm6->tgsm_count++;
|
||||||
dst->structure_stride = elem_type->u.width / 8u;
|
dst->structure_stride = elem_type->u.width / CHAR_BIT;
|
||||||
|
/* Convert minimum precision types to their 32-bit equivalent. */
|
||||||
|
if (dst->structure_stride == 2)
|
||||||
|
dst->structure_stride = 4;
|
||||||
sm6_register_from_value(&ins->declaration.tgsm_structured.reg.reg, dst, sm6);
|
sm6_register_from_value(&ins->declaration.tgsm_structured.reg.reg, dst, sm6);
|
||||||
if (dst->structure_stride != 4)
|
if (dst->structure_stride != 4)
|
||||||
{
|
{
|
||||||
|
@@ -263,15 +263,15 @@ void main(uint local_idx : SV_GroupIndex, uint group_id : SV_GroupID)
|
|||||||
}
|
}
|
||||||
|
|
||||||
[test]
|
[test]
|
||||||
todo dispatch 2 1 1
|
todo(sm<6) dispatch 2 1 1
|
||||||
todo probe uav 0 (0) u32(0x18)
|
probe uav 0 (0) u32(0x18)
|
||||||
todo probe uav 0 (1) u32(0x18)
|
probe uav 0 (1) u32(0x18)
|
||||||
todo probe uav 0 (2) u32(0x38)
|
probe uav 0 (2) u32(0x38)
|
||||||
todo probe uav 0 (3) u32(0x38)
|
probe uav 0 (3) u32(0x38)
|
||||||
todo probe uav 0 (4) u32(0x1a)
|
probe uav 0 (4) u32(0x1a)
|
||||||
todo probe uav 0 (5) u32(0x1a)
|
probe uav 0 (5) u32(0x1a)
|
||||||
todo probe uav 0 (6) u32(0x3a)
|
probe uav 0 (6) u32(0x3a)
|
||||||
todo probe uav 0 (7) u32(0x3a)
|
probe uav 0 (7) u32(0x3a)
|
||||||
|
|
||||||
[uav 0]
|
[uav 0]
|
||||||
format r32-typeless
|
format r32-typeless
|
||||||
|
Reference in New Issue
Block a user