mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-11-21 16:46:41 -08:00
vkd3d-shader: Use struct vkd3d_shader_location in struct hlsl_ctx.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com> Signed-off-by: Matteo Bruni <mbruni@codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
3a975c2215
commit
3bf0e40b9d
@ -1482,16 +1482,16 @@ static bool hlsl_ctx_init(struct hlsl_ctx *ctx, struct vkd3d_shader_message_cont
|
|||||||
|
|
||||||
ctx->message_context = message_context;
|
ctx->message_context = message_context;
|
||||||
|
|
||||||
ctx->line_no = ctx->column = 1;
|
|
||||||
if (!(ctx->source_file = vkd3d_strdup("")))
|
|
||||||
return false;
|
|
||||||
if (!(ctx->source_files = vkd3d_malloc(sizeof(*ctx->source_files))))
|
if (!(ctx->source_files = vkd3d_malloc(sizeof(*ctx->source_files))))
|
||||||
|
return false;
|
||||||
|
if (!(ctx->source_files[0] = vkd3d_strdup("")))
|
||||||
{
|
{
|
||||||
vkd3d_free((void *)ctx->source_file);
|
vkd3d_free(ctx->source_files);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
ctx->source_files[0] = ctx->source_file;
|
|
||||||
ctx->source_files_count = 1;
|
ctx->source_files_count = 1;
|
||||||
|
ctx->location.source_name = ctx->source_files[0];
|
||||||
|
ctx->location.line = ctx->location.column = 1;
|
||||||
|
|
||||||
ctx->matrix_majority = HLSL_COLUMN_MAJOR;
|
ctx->matrix_majority = HLSL_COLUMN_MAJOR;
|
||||||
|
|
||||||
|
@ -395,9 +395,7 @@ struct hlsl_ctx
|
|||||||
{
|
{
|
||||||
const char **source_files;
|
const char **source_files;
|
||||||
unsigned int source_files_count;
|
unsigned int source_files_count;
|
||||||
const char *source_file;
|
struct vkd3d_shader_location location;
|
||||||
unsigned int line_no;
|
|
||||||
unsigned int column;
|
|
||||||
enum parse_status status;
|
enum parse_status status;
|
||||||
struct vkd3d_shader_message_context *message_context;
|
struct vkd3d_shader_message_context *message_context;
|
||||||
|
|
||||||
|
@ -209,8 +209,8 @@ row_major {return KW_ROW_MAJOR; }
|
|||||||
{NEWLINE} {
|
{NEWLINE} {
|
||||||
struct hlsl_ctx *ctx = yyget_extra(yyscanner);
|
struct hlsl_ctx *ctx = yyget_extra(yyscanner);
|
||||||
|
|
||||||
ctx->line_no++;
|
++ctx->location.line;
|
||||||
ctx->column = 1;
|
ctx->location.column = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
^# {
|
^# {
|
||||||
@ -238,7 +238,7 @@ row_major {return KW_ROW_MAJOR; }
|
|||||||
<pp_pragma>{NEWLINE} {
|
<pp_pragma>{NEWLINE} {
|
||||||
struct hlsl_ctx *ctx = yyget_extra(yyscanner);
|
struct hlsl_ctx *ctx = yyget_extra(yyscanner);
|
||||||
|
|
||||||
FIXME("Unsupported preprocessor #pragma directive at line %u.\n", ctx->line_no);
|
FIXME("Unsupported preprocessor #pragma directive at line %u.\n", ctx->location.line);
|
||||||
BEGIN(INITIAL);
|
BEGIN(INITIAL);
|
||||||
}
|
}
|
||||||
<pp_pragma>{ANY} {}
|
<pp_pragma>{ANY} {}
|
||||||
@ -279,10 +279,8 @@ row_major {return KW_ROW_MAJOR; }
|
|||||||
|
|
||||||
static void update_location(struct hlsl_ctx *ctx, YYLTYPE *lloc)
|
static void update_location(struct hlsl_ctx *ctx, YYLTYPE *lloc)
|
||||||
{
|
{
|
||||||
lloc->source_name = ctx->source_file;
|
*lloc = ctx->location;
|
||||||
lloc->line = ctx->line_no;
|
ctx->location.column += yyget_leng(ctx->scanner);
|
||||||
lloc->column = ctx->column;
|
|
||||||
ctx->column += yyget_leng(ctx->scanner);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int hlsl_lexer_compile(struct hlsl_ctx *ctx, const char *text, const char *entrypoint)
|
int hlsl_lexer_compile(struct hlsl_ctx *ctx, const char *text, const char *entrypoint)
|
||||||
|
@ -1762,8 +1762,8 @@ preproc_directive:
|
|||||||
const char **new_array = NULL;
|
const char **new_array = NULL;
|
||||||
|
|
||||||
TRACE("Updating line information to file %s, line %u.\n", debugstr_a($2), $1);
|
TRACE("Updating line information to file %s, line %u.\n", debugstr_a($2), $1);
|
||||||
ctx->line_no = $1;
|
ctx->location.line = $1;
|
||||||
if (strcmp($2, ctx->source_file))
|
if (strcmp($2, ctx->location.source_name))
|
||||||
new_array = vkd3d_realloc(ctx->source_files,
|
new_array = vkd3d_realloc(ctx->source_files,
|
||||||
sizeof(*ctx->source_files) * (ctx->source_files_count + 1));
|
sizeof(*ctx->source_files) * (ctx->source_files_count + 1));
|
||||||
|
|
||||||
@ -1771,7 +1771,7 @@ preproc_directive:
|
|||||||
{
|
{
|
||||||
ctx->source_files = new_array;
|
ctx->source_files = new_array;
|
||||||
ctx->source_files[ctx->source_files_count++] = $2;
|
ctx->source_files[ctx->source_files_count++] = $2;
|
||||||
ctx->source_file = $2;
|
ctx->location.source_name = $2;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user