Included test is only to verify that function compiles, and is simple enough - using either texld or sample.
From: Nikolay Sivov nsivov@codeweavers.com
Signed-off-by: Nikolay Sivov nsivov@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;
This merge request was approved by Zebediah Figura.
This merge request was approved by Giovanni Mascellani.