vkd3d-shader/d3dbc: Write load instruction for tex2Dbias().

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
This commit is contained in:
Nikolay Sivov 2024-05-21 21:42:42 +02:00 committed by Henri Verbeet
parent a289393fe7
commit ba18035260
Notes: Henri Verbeet 2024-06-11 17:09:30 +02:00
Approved-by: Elizabeth Figura (@zfigura)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/876
2 changed files with 11 additions and 6 deletions

View File

@ -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;

View File

@ -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)