Module: vkd3d Branch: master Commit: 418c177a1be5bcca3b4f5616ff517fc4420a286a URL: https://gitlab.winehq.org/wine/vkd3d/-/commit/418c177a1be5bcca3b4f5616ff517f...
Author: Nikolay Sivov nsivov@codeweavers.com Date: Thu Nov 9 20:18:17 2023 +0100
vkd3d-shader/hlsl: Implement texCUBEproj().
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com
---
libs/vkd3d-shader/hlsl.y | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/libs/vkd3d-shader/hlsl.y b/libs/vkd3d-shader/hlsl.y index b5fe4126..e8f84fe6 100644 --- a/libs/vkd3d-shader/hlsl.y +++ b/libs/vkd3d-shader/hlsl.y @@ -3573,7 +3573,8 @@ static bool intrinsic_tex(struct hlsl_ctx *ctx, const struct parse_initializer * } } else if (!strcmp(name, "tex2Dproj") - || !strcmp(name, "tex3Dproj")) + || !strcmp(name, "tex3Dproj") + || !strcmp(name, "texCUBEproj")) { if (!(coords = add_implicit_conversion(ctx, params->instrs, params->args[1], hlsl_get_vector_type(ctx, HLSL_TYPE_FLOAT, 4), loc))) @@ -3701,6 +3702,12 @@ static bool intrinsic_texCUBE(struct hlsl_ctx *ctx, return intrinsic_tex(ctx, params, loc, "texCUBE", HLSL_SAMPLER_DIM_CUBE); }
+static bool intrinsic_texCUBEproj(struct hlsl_ctx *ctx, + const struct parse_initializer *params, const struct vkd3d_shader_location *loc) +{ + return intrinsic_tex(ctx, params, loc, "texCUBEproj", HLSL_SAMPLER_DIM_CUBE); +} + static bool intrinsic_transpose(struct hlsl_ctx *ctx, const struct parse_initializer *params, const struct vkd3d_shader_location *loc) { @@ -3879,6 +3886,7 @@ intrinsic_functions[] = {"tex3D", -1, false, intrinsic_tex3D}, {"tex3Dproj", 2, false, intrinsic_tex3Dproj}, {"texCUBE", -1, false, intrinsic_texCUBE}, + {"texCUBEproj", 2, false, intrinsic_texCUBEproj}, {"transpose", 1, true, intrinsic_transpose}, {"trunc", 1, true, intrinsic_trunc}, };