mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-11-21 16:46:41 -08:00
vkd3d-shader/hlsl: Don't set "allocated" for unused reserved variables.
This commit is contained in:
parent
1c1f1094a5
commit
d6ac823dd6
Notes:
Alexandre Julliard
2023-06-22 22:04:01 +02:00
Approved-by: Zebediah Figura (@zfigura) Approved-by: Henri Verbeet (@hverbeet) Approved-by: Alexandre Julliard (@julliard) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/244
@ -2710,11 +2710,10 @@ static void allocate_register_reservations(struct hlsl_ctx *ctx)
|
||||
type_string->buffer, get_regset_name(regset));
|
||||
hlsl_release_string_buffer(ctx, type_string);
|
||||
}
|
||||
else
|
||||
else if (var->regs[regset].bind_count)
|
||||
{
|
||||
var->regs[regset].allocated = true;
|
||||
var->regs[regset].id = var->reg_reservation.reg_index;
|
||||
var->regs[regset].bind_count = var->data_type->reg_size[regset];
|
||||
TRACE("Allocated reserved %s to %c%u-%c%u.\n", var->name, var->reg_reservation.reg_type,
|
||||
var->reg_reservation.reg_index, var->reg_reservation.reg_type,
|
||||
var->reg_reservation.reg_index + var->regs[regset].bind_count);
|
||||
@ -4124,10 +4123,10 @@ int hlsl_emit_bytecode(struct hlsl_ctx *ctx, struct hlsl_ir_function_decl *entry
|
||||
if (TRACE_ON())
|
||||
rb_for_each_entry(&ctx->functions, dump_function, ctx);
|
||||
|
||||
allocate_register_reservations(ctx);
|
||||
|
||||
calculate_resource_register_counts(ctx);
|
||||
|
||||
allocate_register_reservations(ctx);
|
||||
|
||||
allocate_temp_registers(ctx, entry_func);
|
||||
if (profile->major_version < 4)
|
||||
{
|
||||
|
@ -114,7 +114,7 @@ probe all rgba (4.0, 4.0, 4.0, 99.0)
|
||||
|
||||
|
||||
% Overlapping reservations, both overlapping objects are unused.
|
||||
[pixel shader todo]
|
||||
[pixel shader]
|
||||
Texture2D tex1 : register(t0);
|
||||
Texture2D tex2 : register(t0);
|
||||
Texture2D tex3;
|
||||
@ -125,12 +125,12 @@ float4 main() : sv_target
|
||||
}
|
||||
|
||||
[test]
|
||||
todo draw quad
|
||||
draw quad
|
||||
probe all rgba (1.0, 1.0, 1.0, 99.0)
|
||||
|
||||
|
||||
% Overlapping reservations
|
||||
[pixel shader todo]
|
||||
[pixel shader]
|
||||
Texture2D tex1 : register(t2);
|
||||
Texture2D tex2 : register(t2);
|
||||
|
||||
@ -140,5 +140,5 @@ float4 main() : sv_target
|
||||
}
|
||||
|
||||
[test]
|
||||
todo draw quad
|
||||
draw quad
|
||||
probe all rgba (2.0, 2.0, 2.0, 99.0)
|
||||
|
Loading…
Reference in New Issue
Block a user