From 4a5411aa6e31a16052402bfd75ed3806439c3462 Mon Sep 17 00:00:00 2001 From: Elizabeth Figura Date: Tue, 6 May 2025 17:20:22 -0500 Subject: [PATCH] vkd3d-shader/hlsl: Return a uint1 from GetRenderTargetSampleCount(). --- libs/vkd3d-shader/hlsl.y | 2 +- tests/hlsl/rt-get-sample-info.shader_test | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/vkd3d-shader/hlsl.y b/libs/vkd3d-shader/hlsl.y index 05657d27b..24c7ae6b0 100644 --- a/libs/vkd3d-shader/hlsl.y +++ b/libs/vkd3d-shader/hlsl.y @@ -4932,7 +4932,7 @@ static bool intrinsic_GetRenderTargetSampleCount(struct hlsl_ctx *ctx, "GetRenderTargetSampleCount() can only be used from a pixel shader using version 4.1 or higher."); hlsl_block_add_expr(ctx, params->instrs, HLSL_OP0_RASTERIZER_SAMPLE_COUNT, - operands, hlsl_get_scalar_type(ctx, HLSL_TYPE_UINT), loc); + operands, hlsl_get_vector_type(ctx, HLSL_TYPE_UINT, 1), loc); return true; } diff --git a/tests/hlsl/rt-get-sample-info.shader_test b/tests/hlsl/rt-get-sample-info.shader_test index 9bf824ca7..737c9e7af 100644 --- a/tests/hlsl/rt-get-sample-info.shader_test +++ b/tests/hlsl/rt-get-sample-info.shader_test @@ -18,7 +18,7 @@ probe (0, 0) rgba (4.0, 0.0, 0.0, 0.0) % Curiously GetRenderTargetSampleCount() returns a uint1, not a uint. % In sm6 it is altered to return a uint. -[pixel shader fail(sm>=6) todo] +[pixel shader fail(sm>=6)] float4 main() : sv_target { return GetRenderTargetSampleCount()[0];