mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-04-13 05:43:18 -07:00
vkd3d-shader/spirv: When declaring a CBV initialise the register with the register index range.
The declaration instruction register contains id, range first, and range last. The backend includes range first in the variable name. After commite8b3561252
it was always zero, and since commit67f0196c33
it is UINT_MAX, so constant buffers are named, e.g., "%cb0_4294967295".
This commit is contained in:
committed by
Alexandre Julliard
parent
a4c5f3a798
commit
75c2af3640
Notes:
Alexandre Julliard
2023-10-09 23:09:45 +02:00
Approved-by: Henri Verbeet (@hverbeet) Approved-by: Alexandre Julliard (@julliard) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/395
@ -5633,8 +5633,10 @@ static void spirv_compiler_emit_cbv_declaration(struct spirv_compiler *compiler,
|
||||
struct vkd3d_symbol reg_symbol;
|
||||
unsigned int size;
|
||||
|
||||
vsir_register_init(®, VKD3DSPR_CONSTBUFFER, VKD3D_DATA_FLOAT, 1);
|
||||
vsir_register_init(®, VKD3DSPR_CONSTBUFFER, VKD3D_DATA_FLOAT, 3);
|
||||
reg.idx[0].offset = register_id;
|
||||
reg.idx[1].offset = range->first;
|
||||
reg.idx[2].offset = range->last;
|
||||
|
||||
size = size_in_bytes / (VKD3D_VEC4_SIZE * sizeof(uint32_t));
|
||||
|
||||
|
Reference in New Issue
Block a user