mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-01-28 13:05:02 -08:00
vkd3d-shader/hlsl: Rename struct hlsl_reg_reservation fields.
This commit is contained in:
parent
496f9b42cb
commit
9b70971696
Notes:
Alexandre Julliard
2023-04-04 22:35:22 +02:00
Approved-by: Giovanni Mascellani (@giomasce) 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/106
@ -346,8 +346,8 @@ struct hlsl_attribute
|
||||
* using the register(·) syntax */
|
||||
struct hlsl_reg_reservation
|
||||
{
|
||||
char type;
|
||||
unsigned int index;
|
||||
char reg_type;
|
||||
unsigned int reg_index;
|
||||
};
|
||||
|
||||
struct hlsl_ir_var
|
||||
|
@ -1084,12 +1084,12 @@ static struct hlsl_reg_reservation parse_reg_reservation(const char *reg_string)
|
||||
{
|
||||
struct hlsl_reg_reservation reservation = {0};
|
||||
|
||||
if (!sscanf(reg_string + 1, "%u", &reservation.index))
|
||||
if (!sscanf(reg_string + 1, "%u", &reservation.reg_index))
|
||||
{
|
||||
FIXME("Unsupported register reservation syntax.\n");
|
||||
return reservation;
|
||||
}
|
||||
reservation.type = reg_string[0];
|
||||
reservation.reg_type = reg_string[0];
|
||||
return reservation;
|
||||
}
|
||||
|
||||
@ -4349,7 +4349,7 @@ func_prototype_no_attrs:
|
||||
"Semantics are not allowed on void functions.");
|
||||
}
|
||||
|
||||
if ($7.reg_reservation.type)
|
||||
if ($7.reg_reservation.reg_type)
|
||||
FIXME("Unexpected register reservation for a function.\n");
|
||||
|
||||
if (($$.decl = get_func_decl(&ctx->functions, $3, &$5)))
|
||||
@ -4477,12 +4477,12 @@ colon_attribute:
|
||||
%empty
|
||||
{
|
||||
$$.semantic.name = NULL;
|
||||
$$.reg_reservation.type = 0;
|
||||
$$.reg_reservation.reg_type = 0;
|
||||
}
|
||||
| semantic
|
||||
{
|
||||
$$.semantic = $1;
|
||||
$$.reg_reservation.type = 0;
|
||||
$$.reg_reservation.reg_type = 0;
|
||||
}
|
||||
| register_opt
|
||||
{
|
||||
|
@ -2307,9 +2307,9 @@ static void allocate_register_reservations(struct hlsl_ctx *ctx)
|
||||
continue;
|
||||
regset = hlsl_type_get_regset(var->data_type);
|
||||
|
||||
if (var->reg_reservation.type)
|
||||
if (var->reg_reservation.reg_type)
|
||||
{
|
||||
if (var->reg_reservation.type != get_regset_name(regset))
|
||||
if (var->reg_reservation.reg_type != get_regset_name(regset))
|
||||
{
|
||||
struct vkd3d_string_buffer *type_string;
|
||||
|
||||
@ -2322,8 +2322,9 @@ static void allocate_register_reservations(struct hlsl_ctx *ctx)
|
||||
else
|
||||
{
|
||||
var->regs[regset].allocated = true;
|
||||
var->regs[regset].id = var->reg_reservation.index;
|
||||
TRACE("Allocated reserved %s to %c%u.\n", var->name, var->reg_reservation.type, var->reg_reservation.index);
|
||||
var->regs[regset].id = var->reg_reservation.reg_index;
|
||||
TRACE("Allocated reserved %s to %c%u.\n", var->name, var->reg_reservation.reg_type,
|
||||
var->reg_reservation.reg_index);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2898,7 +2899,7 @@ static const struct hlsl_buffer *get_reserved_buffer(struct hlsl_ctx *ctx, uint3
|
||||
|
||||
LIST_FOR_EACH_ENTRY(buffer, &ctx->buffers, const struct hlsl_buffer, entry)
|
||||
{
|
||||
if (buffer->used_size && buffer->reservation.type == 'b' && buffer->reservation.index == index)
|
||||
if (buffer->used_size && buffer->reservation.reg_type == 'b' && buffer->reservation.reg_index == index)
|
||||
return buffer;
|
||||
}
|
||||
return NULL;
|
||||
@ -2941,23 +2942,23 @@ static void allocate_buffers(struct hlsl_ctx *ctx)
|
||||
|
||||
if (buffer->type == HLSL_BUFFER_CONSTANT)
|
||||
{
|
||||
if (buffer->reservation.type == 'b')
|
||||
if (buffer->reservation.reg_type == 'b')
|
||||
{
|
||||
const struct hlsl_buffer *reserved_buffer = get_reserved_buffer(ctx, buffer->reservation.index);
|
||||
const struct hlsl_buffer *reserved_buffer = get_reserved_buffer(ctx, buffer->reservation.reg_index);
|
||||
|
||||
if (reserved_buffer && reserved_buffer != buffer)
|
||||
{
|
||||
hlsl_error(ctx, &buffer->loc, VKD3D_SHADER_ERROR_HLSL_OVERLAPPING_RESERVATIONS,
|
||||
"Multiple buffers bound to cb%u.", buffer->reservation.index);
|
||||
"Multiple buffers bound to cb%u.", buffer->reservation.reg_index);
|
||||
hlsl_note(ctx, &reserved_buffer->loc, VKD3D_SHADER_LOG_ERROR,
|
||||
"Buffer %s is already bound to cb%u.", reserved_buffer->name, buffer->reservation.index);
|
||||
"Buffer %s is already bound to cb%u.", reserved_buffer->name, buffer->reservation.reg_index);
|
||||
}
|
||||
|
||||
buffer->reg.id = buffer->reservation.index;
|
||||
buffer->reg.id = buffer->reservation.reg_index;
|
||||
buffer->reg.allocated = true;
|
||||
TRACE("Allocated reserved %s to cb%u.\n", buffer->name, index);
|
||||
}
|
||||
else if (!buffer->reservation.type)
|
||||
else if (!buffer->reservation.reg_type)
|
||||
{
|
||||
while (get_reserved_buffer(ctx, index))
|
||||
++index;
|
||||
@ -3043,7 +3044,7 @@ static void allocate_objects(struct hlsl_ctx *ctx, enum hlsl_regset regset)
|
||||
regset_name, index);
|
||||
}
|
||||
|
||||
var->regs[regset].id = var->reg_reservation.index;
|
||||
var->regs[regset].id = var->reg_reservation.reg_index;
|
||||
var->regs[regset].allocated = true;
|
||||
TRACE("Allocated reserved %s to %c%u.\n", var->name, regset_name, var->regs[regset].id);
|
||||
}
|
||||
|
@ -594,7 +594,7 @@ static void write_sm4_rdef(struct hlsl_ctx *ctx, struct dxbc_writer *dxbc)
|
||||
var = extern_resources[i];
|
||||
regset = hlsl_type_get_regset(var->data_type);
|
||||
|
||||
if (var->reg_reservation.type)
|
||||
if (var->reg_reservation.reg_type)
|
||||
flags |= D3D_SIF_USERPACKED;
|
||||
|
||||
put_u32(&buffer, 0); /* name */
|
||||
@ -624,7 +624,7 @@ static void write_sm4_rdef(struct hlsl_ctx *ctx, struct dxbc_writer *dxbc)
|
||||
if (!cbuffer->reg.allocated)
|
||||
continue;
|
||||
|
||||
if (cbuffer->reservation.type)
|
||||
if (cbuffer->reservation.reg_type)
|
||||
flags |= D3D_SIF_USERPACKED;
|
||||
|
||||
put_u32(&buffer, 0); /* name */
|
||||
|
Loading…
x
Reference in New Issue
Block a user