mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-01-28 13:05:02 -08:00
vkd3d-shader/d3dbc: Emit fixme for HLSL_RESOURCE_SAMPLE_LOD.
Currently, HLSL_RESOURCE_SAMPLE_LOD is not implemented for d3dbc, but we are incorrectly writting a texld instruction to handle it. This causes SM1 tests with the vulkan backend (in following patches) to fail if VKD3D_SHADER_CONFIG="force_validation" is enabled. For now a fixme is emited in these cases.
This commit is contained in:
parent
671f4ec2b2
commit
7e75ac63a1
Notes:
Alexandre Julliard
2024-01-24 22:53:52 +01:00
Approved-by: Henri Verbeet (@hverbeet) Approved-by: Alexandre Julliard (@julliard) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/514
@ -2345,8 +2345,6 @@ static void write_sm1_resource_load(struct hlsl_ctx *ctx, struct vkd3d_bytecode_
|
||||
|
||||
sm1_instr = (struct sm1_instruction)
|
||||
{
|
||||
.opcode = D3DSIO_TEX,
|
||||
|
||||
.dst.type = D3DSPR_TEMP,
|
||||
.dst.reg = instr->reg.id,
|
||||
.dst.writemask = instr->reg.writemask,
|
||||
@ -2362,8 +2360,22 @@ static void write_sm1_resource_load(struct hlsl_ctx *ctx, struct vkd3d_bytecode_
|
||||
|
||||
.src_count = 2,
|
||||
};
|
||||
if (load->load_type == HLSL_RESOURCE_SAMPLE_PROJ)
|
||||
sm1_instr.opcode |= VKD3DSI_TEXLD_PROJECT << VKD3D_SM1_INSTRUCTION_FLAGS_SHIFT;
|
||||
|
||||
switch (load->load_type)
|
||||
{
|
||||
case HLSL_RESOURCE_SAMPLE:
|
||||
sm1_instr.opcode = D3DSIO_TEX;
|
||||
break;
|
||||
|
||||
case HLSL_RESOURCE_SAMPLE_PROJ:
|
||||
sm1_instr.opcode = D3DSIO_TEX;
|
||||
sm1_instr.opcode |= VKD3DSI_TEXLD_PROJECT << VKD3D_SM1_INSTRUCTION_FLAGS_SHIFT;
|
||||
break;
|
||||
|
||||
default:
|
||||
hlsl_fixme(ctx, &instr->loc, "Resource load type %u\n", load->load_type);
|
||||
return;
|
||||
}
|
||||
|
||||
assert(instr->reg.allocated);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user