From: Nikolay Sivov <nsivov(a)codeweavers.com> Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com> --- libs/vkd3d-shader/hlsl.y | 7 +++++++ tests/hlsl/sampler.shader_test | 8 ++++++++ 2 files changed, 15 insertions(+) diff --git a/libs/vkd3d-shader/hlsl.y b/libs/vkd3d-shader/hlsl.y index 2fd8ceb95..48592bd5b 100644 --- a/libs/vkd3d-shader/hlsl.y +++ b/libs/vkd3d-shader/hlsl.y @@ -3478,6 +3478,12 @@ static bool intrinsic_tex3D(struct hlsl_ctx *ctx, return intrinsic_tex(ctx, params, loc, "tex3D", HLSL_SAMPLER_DIM_3D); } +static bool intrinsic_texCUBE(struct hlsl_ctx *ctx, + const struct parse_initializer *params, const struct vkd3d_shader_location *loc) +{ + return intrinsic_tex(ctx, params, loc, "texCUBE", HLSL_SAMPLER_DIM_CUBE); +} + static bool intrinsic_transpose(struct hlsl_ctx *ctx, const struct parse_initializer *params, const struct vkd3d_shader_location *loc) { @@ -3648,6 +3654,7 @@ intrinsic_functions[] = {"step", 2, true, intrinsic_step}, {"tex2D", -1, false, intrinsic_tex2D}, {"tex3D", -1, false, intrinsic_tex3D}, + {"texCUBE", -1, false, intrinsic_texCUBE}, {"transpose", 1, true, intrinsic_transpose}, {"trunc", 1, true, intrinsic_trunc}, }; diff --git a/tests/hlsl/sampler.shader_test b/tests/hlsl/sampler.shader_test index 628c31868..bbd03a693 100644 --- a/tests/hlsl/sampler.shader_test +++ b/tests/hlsl/sampler.shader_test @@ -33,6 +33,14 @@ float4 main() : sv_target draw quad probe all rgba (0.25, 0, 0.25, 0) +[pixel shader] +samplerCUBE s; + +float4 main() : sv_target +{ + return texCUBE(s, float3(0.0, 0.0, 0.0)); +} + [pixel shader fail] sampler2D s; -- GitLab https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/314