mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-01 23:18:20 +02:00
panfrost/midgard: Fix integer selection
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
This commit is contained in:
parent
31f5a43bf0
commit
3d7874c699
2 changed files with 10 additions and 33 deletions
|
|
@ -1928,38 +1928,6 @@ dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.mediump
|
|||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.mediump_ivec4_int_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.mediump_ivec4_int_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.binary_operator.div_assign_result.mediump_ivec4_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.selection.bool_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.selection.bool_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.selection.bvec2_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.selection.bvec2_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.selection.bvec3_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.selection.bvec3_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.selection.bvec4_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.selection.bvec4_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.selection.highp_int_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.selection.highp_int_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.selection.highp_ivec2_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.selection.highp_ivec2_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.selection.highp_ivec3_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.selection.highp_ivec3_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.selection.highp_ivec4_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.selection.highp_ivec4_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.selection.lowp_int_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.selection.lowp_int_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.selection.lowp_ivec2_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.selection.lowp_ivec2_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.selection.lowp_ivec3_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.selection.lowp_ivec3_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.selection.lowp_ivec4_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.selection.lowp_ivec4_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.selection.mediump_int_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.selection.mediump_int_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.selection.mediump_ivec2_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.selection.mediump_ivec2_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.selection.mediump_ivec3_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.selection.mediump_ivec3_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.selection.mediump_ivec4_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.selection.mediump_ivec4_vertex
|
||||
dEQP-GLES2.functional.shaders.preprocessor.predefined_macros.line_2_fragment
|
||||
dEQP-GLES2.functional.shaders.preprocessor.predefined_macros.line_2_vertex
|
||||
dEQP-GLES2.functional.shaders.random.all_features.fragment.10
|
||||
|
|
|
|||
|
|
@ -1239,7 +1239,16 @@ emit_alu(compiler_context *ctx, nir_alu_instr *instr)
|
|||
instr->src[1] = instr->src[0];
|
||||
instr->src[0] = instr->src[2];
|
||||
} else {
|
||||
op = midgard_alu_op_fcsel;
|
||||
/* Midgard features both fcsel and icsel, depending on
|
||||
* the type of the arguments/output. However, as long
|
||||
* as we're careful we can _always_ use icsel and
|
||||
* _never_ need fcsel, since the latter does additional
|
||||
* floating-point-specific processing whereas the
|
||||
* former just moves bits on the wire. It's not obvious
|
||||
* why these are separate opcodes, save for the ability
|
||||
* to do things like sat/pos/abs/neg for free */
|
||||
|
||||
op = midgard_alu_op_icsel;
|
||||
|
||||
/* csel works as a two-arg in Midgard, since the condition is hardcoded in r31.w */
|
||||
nr_inputs = 2;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue