vkd3d-shader/d3dbc: Implement HLSL_OP2_LOGIC_OR for SM1.

This commit is contained in:
Francisco Casas 2024-03-04 16:31:57 -03:00 committed by Alexandre Julliard
parent a838f97e3f
commit 777bf772bf
Notes: Alexandre Julliard 2024-03-27 23:07:31 +01:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Zebediah Figura (@zfigura)
Approved-by: Francisco Casas (@fcasas)
Approved-by: Henri Verbeet (@hverbeet)
Approved-by: Alexandre Julliard (@julliard)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/724
2 changed files with 5 additions and 0 deletions

View File

@ -2333,6 +2333,10 @@ static void write_sm1_expr(struct hlsl_ctx *ctx, struct vkd3d_bytecode_buffer *b
} }
break; break;
case HLSL_OP2_LOGIC_OR:
write_sm1_binary_op(ctx, buffer, D3DSIO_MAX, &instr->reg, &arg1->reg, &arg2->reg);
break;
case HLSL_OP2_SLT: case HLSL_OP2_SLT:
if (ctx->profile->type == VKD3D_SHADER_TYPE_PIXEL) if (ctx->profile->type == VKD3D_SHADER_TYPE_PIXEL)
hlsl_fixme(ctx, &instr->loc, "Lower SLT instructions for pixel shaders."); hlsl_fixme(ctx, &instr->loc, "Lower SLT instructions for pixel shaders.");

View File

@ -3622,6 +3622,7 @@ static bool lower_nonfloat_exprs(struct hlsl_ctx *ctx, struct hlsl_ir_node *inst
case HLSL_OP1_NEG: case HLSL_OP1_NEG:
case HLSL_OP2_ADD: case HLSL_OP2_ADD:
case HLSL_OP2_DIV: case HLSL_OP2_DIV:
case HLSL_OP2_LOGIC_OR:
case HLSL_OP2_MAX: case HLSL_OP2_MAX:
case HLSL_OP2_MIN: case HLSL_OP2_MIN:
case HLSL_OP2_MUL: case HLSL_OP2_MUL: