vkd3d-shader/hlsl: Parse function attributes.

This commit is contained in:
Zebediah Figura
2021-08-16 14:52:10 -05:00
committed by Alexandre Julliard
parent da56f41ceb
commit d6799bd5d3
Notes: Alexandre Julliard 2022-11-08 23:05:16 +01:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Francisco Casas (@fcasas)
Approved-by: Henri Verbeet (@hverbeet)
Approved-by: Alexandre Julliard (@julliard)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/43
7 changed files with 164 additions and 35 deletions

View File

@@ -2539,6 +2539,7 @@ int hlsl_emit_bytecode(struct hlsl_ctx *ctx, struct hlsl_ir_function_decl *entry
{
struct hlsl_block *const body = &entry_func->body;
struct hlsl_ir_var *var;
unsigned int i;
bool progress;
list_move_head(&body->instrs, &ctx->static_initializers);
@@ -2576,6 +2577,10 @@ int hlsl_emit_bytecode(struct hlsl_ctx *ctx, struct hlsl_ir_function_decl *entry
append_output_var_copy(ctx, &body->instrs, entry_func->return_var);
}
for (i = 0; i < entry_func->attr_count; ++i)
hlsl_warning(ctx, &entry_func->attrs[i]->loc, VKD3D_SHADER_WARNING_HLSL_UNKNOWN_ATTRIBUTE,
"Ignoring unknown attribute \"%s\".", entry_func->attrs[i]->name);
transform_ir(ctx, lower_broadcasts, body, NULL);
while (transform_ir(ctx, fold_redundant_casts, body, NULL));
do