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->value_type = VALUE_TYPE_GROUPSHAREDMEM;
|
||||
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);
|
||||
if (dst->structure_stride != 4)
|
||||
{
|
||||
|
@@ -263,15 +263,15 @@ void main(uint local_idx : SV_GroupIndex, uint group_id : SV_GroupID)
|
||||
}
|
||||
|
||||
[test]
|
||||
todo dispatch 2 1 1
|
||||
todo probe uav 0 (0) u32(0x18)
|
||||
todo probe uav 0 (1) u32(0x18)
|
||||
todo probe uav 0 (2) u32(0x38)
|
||||
todo probe uav 0 (3) u32(0x38)
|
||||
todo probe uav 0 (4) u32(0x1a)
|
||||
todo probe uav 0 (5) u32(0x1a)
|
||||
todo probe uav 0 (6) u32(0x3a)
|
||||
todo probe uav 0 (7) u32(0x3a)
|
||||
todo(sm<6) dispatch 2 1 1
|
||||
probe uav 0 (0) u32(0x18)
|
||||
probe uav 0 (1) u32(0x18)
|
||||
probe uav 0 (2) u32(0x38)
|
||||
probe uav 0 (3) u32(0x38)
|
||||
probe uav 0 (4) u32(0x1a)
|
||||
probe uav 0 (5) u32(0x1a)
|
||||
probe uav 0 (6) u32(0x3a)
|
||||
probe uav 0 (7) u32(0x3a)
|
||||
|
||||
[uav 0]
|
||||
format r32-typeless
|
||||
|
Reference in New Issue
Block a user