From ba18035260fd58a82a1a9593b119f8f2c659845e Mon Sep 17 00:00:00 2001 From: Nikolay Sivov Date: Tue, 21 May 2024 21:42:42 +0200 Subject: [PATCH] vkd3d-shader/d3dbc: Write load instruction for tex2Dbias(). Signed-off-by: Nikolay Sivov --- libs/vkd3d-shader/d3dbc.c | 5 +++++ tests/hlsl/sample-bias.shader_test | 12 ++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/libs/vkd3d-shader/d3dbc.c b/libs/vkd3d-shader/d3dbc.c index 4c301789..2290385d 100644 --- a/libs/vkd3d-shader/d3dbc.c +++ b/libs/vkd3d-shader/d3dbc.c @@ -2602,6 +2602,11 @@ static void write_sm1_resource_load(struct hlsl_ctx *ctx, struct vkd3d_bytecode_ sm1_instr.opcode |= VKD3DSI_TEXLD_PROJECT << VKD3D_SM1_INSTRUCTION_FLAGS_SHIFT; break; + case HLSL_RESOURCE_SAMPLE_LOD_BIAS: + sm1_instr.opcode = D3DSIO_TEX; + sm1_instr.opcode |= VKD3DSI_TEXLD_BIAS << VKD3D_SM1_INSTRUCTION_FLAGS_SHIFT; + break; + default: hlsl_fixme(ctx, &instr->loc, "Resource load type %u.", load->load_type); return; diff --git a/tests/hlsl/sample-bias.shader_test b/tests/hlsl/sample-bias.shader_test index 8385a85b..debe2415 100644 --- a/tests/hlsl/sample-bias.shader_test +++ b/tests/hlsl/sample-bias.shader_test @@ -47,7 +47,7 @@ probe all rgba (0.0, 0.0, 10.0, 0.0) shader model >= 3.0 options: backcompat -[pixel shader todo(sm<4) fail(sm>=6)] +[pixel shader fail(sm>=6)] sampler s; float bias; @@ -60,13 +60,13 @@ float4 main(float2 coord : texcoord) : sv_target [test] uniform 0 float4 6.5 0.0 0.0 0.0 -todo(sm<4 | glsl) draw quad +todo(glsl) draw quad probe all rgba (10.0, 0.0, 10.0, 0.0) uniform 0 float4 7.5 0.0 0.0 0.0 -todo(sm<4 | glsl) draw quad -probe all rgba (4.0, 0.0, 10.0, 0.0) +todo(glsl) draw quad +todo(sm<4) probe all rgba (4.0, 0.0, 10.0, 0.0) uniform 0 float4 8.5 0.0 0.0 0.0 -todo(sm<4 | glsl) draw quad -probe all rgba (0.0, 0.0, 10.0, 0.0) +todo(glsl) draw quad +todo(sm<4) probe all rgba (0.0, 0.0, 10.0, 0.0)