Module: vkd3d Branch: master Commit: c5d680d141a1fa8bfc3c15c94f96933811e2c995 URL: https://gitlab.winehq.org/wine/vkd3d/-/commit/c5d680d141a1fa8bfc3c15c94f9693...
Author: Nikolay Sivov nsivov@codeweavers.com Date: Sun Sep 3 19:23:15 2023 +0200
vkd3d-shader/hlsl: Add tex1D() function.
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 161d1ab4..cb4b63a8 100644 --- a/libs/vkd3d-shader/hlsl.y +++ b/libs/vkd3d-shader/hlsl.y @@ -3466,6 +3466,12 @@ static bool intrinsic_tex(struct hlsl_ctx *ctx, const struct parse_initializer * return true; }
+static bool intrinsic_tex1D(struct hlsl_ctx *ctx, + const struct parse_initializer *params, const struct vkd3d_shader_location *loc) +{ + return intrinsic_tex(ctx, params, loc, "tex1D", HLSL_SAMPLER_DIM_1D); +} + static bool intrinsic_tex2D(struct hlsl_ctx *ctx, const struct parse_initializer *params, const struct vkd3d_shader_location *loc) { @@ -3652,6 +3658,7 @@ intrinsic_functions[] = {"smoothstep", 3, true, intrinsic_smoothstep}, {"sqrt", 1, true, intrinsic_sqrt}, {"step", 2, true, intrinsic_step}, + {"tex1D", -1, false, intrinsic_tex1D}, {"tex2D", -1, false, intrinsic_tex2D}, {"tex3D", -1, false, intrinsic_tex3D}, {"texCUBE", -1, false, intrinsic_texCUBE}, diff --git a/tests/hlsl/sampler.shader_test b/tests/hlsl/sampler.shader_test index 8b1c550c..c4b38b32 100644 --- a/tests/hlsl/sampler.shader_test +++ b/tests/hlsl/sampler.shader_test @@ -60,3 +60,11 @@ float4 main() : sv_target { return texCUBE(s, float3(0.0, 0.0, 0.0)); } + +[pixel shader] +sampler1D s; + +float4 main() : sv_target +{ + return tex1D(s, 0.0); +}