diff --git a/libs/vkd3d-shader/hlsl.y b/libs/vkd3d-shader/hlsl.y index e20a12bb4..41aeb7f22 100644 --- a/libs/vkd3d-shader/hlsl.y +++ b/libs/vkd3d-shader/hlsl.y @@ -4748,7 +4748,8 @@ static bool intrinsic_tex(struct hlsl_ctx *ctx, const struct parse_initializer * } if (!strcmp(name, "tex2Dbias") - || !strcmp(name, "tex2Dlod")) + || !strcmp(name, "tex2Dlod") + || !strcmp(name, "texCUBEbias")) { struct hlsl_ir_node *lod, *c; @@ -4900,6 +4901,12 @@ static bool intrinsic_texCUBE(struct hlsl_ctx *ctx, return intrinsic_tex(ctx, params, loc, "texCUBE", HLSL_SAMPLER_DIM_CUBE); } +static bool intrinsic_texCUBEbias(struct hlsl_ctx *ctx, + const struct parse_initializer *params, const struct vkd3d_shader_location *loc) +{ + return intrinsic_tex(ctx, params, loc, "texCUBEbias", HLSL_SAMPLER_DIM_CUBE); +} + static bool intrinsic_texCUBEgrad(struct hlsl_ctx *ctx, const struct parse_initializer *params, const struct vkd3d_shader_location *loc) { @@ -5375,6 +5382,7 @@ intrinsic_functions[] = {"tex3Dgrad", 4, false, intrinsic_tex3Dgrad}, {"tex3Dproj", 2, false, intrinsic_tex3Dproj}, {"texCUBE", -1, false, intrinsic_texCUBE}, + {"texCUBEbias", 2, false, intrinsic_texCUBEbias}, {"texCUBEgrad", 4, false, intrinsic_texCUBEgrad}, {"texCUBEproj", 2, false, intrinsic_texCUBEproj}, {"transpose", 1, true, intrinsic_transpose}, diff --git a/tests/hlsl/sample-bias.shader_test b/tests/hlsl/sample-bias.shader_test index 737d1098a..531c147c5 100644 --- a/tests/hlsl/sample-bias.shader_test +++ b/tests/hlsl/sample-bias.shader_test @@ -121,7 +121,7 @@ probe (0, 0) f32(0.0, 0.0, 10.0, 0.0) shader model >= 3.0 options: backcompat -[pixel shader fail(sm>=5.1) todo(sm<5.1)] +[pixel shader fail(sm>=5.1) todo(sm>=5.1)] sampler s; float bias; @@ -134,13 +134,13 @@ float4 main(float2 coord : texcoord) : sv_target [test] uniform 0 float 7.9 -todo draw quad +draw quad probe (0, 0) f32(10.0, 0.0, 10.0, 0.0) uniform 0 float 8.4 -todo draw quad +draw quad probe (0, 0) f32(4.0, 0.0, 10.0, 0.0) uniform 0 float 8.9 -todo draw quad +draw quad probe (0, 0) f32(0.0, 0.0, 10.0, 0.0)