mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
vkd3d-shader: Write SM5.1 register indices.
Separate ID and index. Allocate IDs for all external resources (but ignore them for shader models other than 5).
This commit is contained in:
committed by
Henri Verbeet
parent
19a13740de
commit
28a5e23814
Notes:
Henri Verbeet
2024-06-11 17:09:29 +02:00
Approved-by: Francisco Casas (@fcasas) Approved-by: Giovanni Mascellani (@giomasce) Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/865
@@ -1739,7 +1739,7 @@ static void write_sm1_uniforms(struct hlsl_ctx *ctx, struct vkd3d_bytecode_buffe
|
||||
}
|
||||
else
|
||||
{
|
||||
put_u32(buffer, vkd3d_make_u32(D3DXRS_SAMPLER, var->regs[r].id));
|
||||
put_u32(buffer, vkd3d_make_u32(D3DXRS_SAMPLER, var->regs[r].index));
|
||||
put_u32(buffer, var->bind_count[r]);
|
||||
}
|
||||
put_u32(buffer, 0); /* type */
|
||||
@@ -2266,7 +2266,7 @@ static void write_sm1_sampler_dcls(struct hlsl_ctx *ctx, struct vkd3d_bytecode_b
|
||||
continue;
|
||||
}
|
||||
|
||||
reg_id = var->regs[HLSL_REGSET_SAMPLERS].id + i;
|
||||
reg_id = var->regs[HLSL_REGSET_SAMPLERS].index + i;
|
||||
write_sm1_sampler_dcl(ctx, buffer, reg_id, sampler_dim);
|
||||
}
|
||||
}
|
||||
@@ -2571,7 +2571,7 @@ static void write_sm1_resource_load(struct hlsl_ctx *ctx, struct vkd3d_bytecode_
|
||||
struct sm1_instruction sm1_instr;
|
||||
|
||||
sampler_offset = hlsl_offset_from_deref_safe(ctx, &load->resource);
|
||||
reg_id = load->resource.var->regs[HLSL_REGSET_SAMPLERS].id + sampler_offset;
|
||||
reg_id = load->resource.var->regs[HLSL_REGSET_SAMPLERS].index + sampler_offset;
|
||||
|
||||
sm1_instr = (struct sm1_instruction)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user