Zebediah Figura : vkd3d-shader: Use yy_scan_bytes() instead of yy_scan_string().

Alexandre Julliard julliard at winehq.org
Tue Mar 9 14:25:33 CST 2021


Module: vkd3d
Branch: master
Commit: 001328e08497754a9ff8ceb66d563977a4563970
URL:    https://source.winehq.org/git/vkd3d.git/?a=commit;h=001328e08497754a9ff8ceb66d563977a4563970

Author: Zebediah Figura <zfigura at codeweavers.com>
Date:   Thu Mar  4 17:33:28 2021 -0600

vkd3d-shader: Use yy_scan_bytes() instead of yy_scan_string().

Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 libs/vkd3d-shader/hlsl.c                 | 4 ++--
 libs/vkd3d-shader/hlsl.h                 | 2 +-
 libs/vkd3d-shader/hlsl.l                 | 4 ++--
 libs/vkd3d-shader/vkd3d_shader_main.c    | 2 +-
 libs/vkd3d-shader/vkd3d_shader_private.h | 2 +-
 5 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/libs/vkd3d-shader/hlsl.c b/libs/vkd3d-shader/hlsl.c
index 19bfc93..e78f05c 100644
--- a/libs/vkd3d-shader/hlsl.c
+++ b/libs/vkd3d-shader/hlsl.c
@@ -1618,7 +1618,7 @@ static void hlsl_ctx_cleanup(struct hlsl_ctx *ctx)
         hlsl_free_type(type);
 }
 
-int hlsl_compile_shader(const char *text, const struct vkd3d_shader_compile_info *compile_info,
+int hlsl_compile_shader(const struct vkd3d_shader_code *hlsl, const struct vkd3d_shader_compile_info *compile_info,
         struct vkd3d_shader_code *dxbc, struct vkd3d_shader_message_context *message_context)
 {
     const struct vkd3d_shader_hlsl_source_info *hlsl_source_info;
@@ -1646,7 +1646,7 @@ int hlsl_compile_shader(const char *text, const struct vkd3d_shader_compile_info
     if (!hlsl_ctx_init(&ctx, message_context))
         return VKD3D_ERROR_OUT_OF_MEMORY;
 
-    if (hlsl_lexer_compile(&ctx, text) == 2)
+    if (hlsl_lexer_compile(&ctx, hlsl) == 2)
     {
         hlsl_ctx_cleanup(&ctx);
         return VKD3D_ERROR_OUT_OF_MEMORY;
diff --git a/libs/vkd3d-shader/hlsl.h b/libs/vkd3d-shader/hlsl.h
index 4af021e..7673440 100644
--- a/libs/vkd3d-shader/hlsl.h
+++ b/libs/vkd3d-shader/hlsl.h
@@ -572,6 +572,6 @@ unsigned int hlsl_type_component_count(struct hlsl_type *type) DECLSPEC_HIDDEN;
 bool hlsl_type_is_row_major(const struct hlsl_type *type) DECLSPEC_HIDDEN;
 bool hlsl_type_is_void(const struct hlsl_type *type) DECLSPEC_HIDDEN;
 
-int hlsl_lexer_compile(struct hlsl_ctx *ctx, const char *text) DECLSPEC_HIDDEN;
+int hlsl_lexer_compile(struct hlsl_ctx *ctx, const struct vkd3d_shader_code *hlsl) DECLSPEC_HIDDEN;
 
 #endif
diff --git a/libs/vkd3d-shader/hlsl.l b/libs/vkd3d-shader/hlsl.l
index da54d57..cee98ea 100644
--- a/libs/vkd3d-shader/hlsl.l
+++ b/libs/vkd3d-shader/hlsl.l
@@ -282,13 +282,13 @@ static void update_location(struct hlsl_ctx *ctx, YYLTYPE *lloc)
     ctx->location.column += yyget_leng(ctx->scanner);
 }
 
-int hlsl_lexer_compile(struct hlsl_ctx *ctx, const char *text)
+int hlsl_lexer_compile(struct hlsl_ctx *ctx, const struct vkd3d_shader_code *hlsl)
 {
     YY_BUFFER_STATE buffer;
     int ret;
 
     yylex_init_extra(ctx, &ctx->scanner);
-    buffer = yy_scan_string(text, ctx->scanner);
+    buffer = yy_scan_bytes(hlsl->code, hlsl->size, ctx->scanner);
     yy_switch_to_buffer(buffer, ctx->scanner);
 
     ret = hlsl_yyparse(ctx->scanner, ctx);
diff --git a/libs/vkd3d-shader/vkd3d_shader_main.c b/libs/vkd3d-shader/vkd3d_shader_main.c
index 5113624..2308b89 100644
--- a/libs/vkd3d-shader/vkd3d_shader_main.c
+++ b/libs/vkd3d-shader/vkd3d_shader_main.c
@@ -1047,7 +1047,7 @@ static int compile_hlsl(const struct vkd3d_shader_compile_info *compile_info,
     if ((ret = preproc_lexer_parse(compile_info, &preprocessed, message_context)))
         return ret;
 
-    ret = hlsl_compile_shader(preprocessed.code, compile_info, out, message_context);
+    ret = hlsl_compile_shader(&preprocessed, compile_info, out, message_context);
 
     vkd3d_shader_free_shader_code(&preprocessed);
     return ret;
diff --git a/libs/vkd3d-shader/vkd3d_shader_private.h b/libs/vkd3d-shader/vkd3d_shader_private.h
index cf66c67..6d756e4 100644
--- a/libs/vkd3d-shader/vkd3d_shader_private.h
+++ b/libs/vkd3d-shader/vkd3d_shader_private.h
@@ -949,7 +949,7 @@ void vkd3d_compute_dxbc_checksum(const void *dxbc, size_t size, uint32_t checksu
 int preproc_lexer_parse(const struct vkd3d_shader_compile_info *compile_info,
         struct vkd3d_shader_code *out, struct vkd3d_shader_message_context *message_context) DECLSPEC_HIDDEN;
 
-int hlsl_compile_shader(const char *text, const struct vkd3d_shader_compile_info *compile_info,
+int hlsl_compile_shader(const struct vkd3d_shader_code *hlsl, const struct vkd3d_shader_compile_info *compile_info,
         struct vkd3d_shader_code *dxbc, struct vkd3d_shader_message_context *message_context) DECLSPEC_HIDDEN;
 
 static inline enum vkd3d_shader_component_type vkd3d_component_type_from_data_type(




More information about the wine-cvs mailing list