mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-10 12:30:11 +01:00
elk: fix compute shader derivatives
derivatives are not fs only so move to be with the rest of subgroup ops. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11674 Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30634>
This commit is contained in:
parent
ad9ff707ce
commit
5f437aa24d
1 changed files with 19 additions and 19 deletions
|
|
@ -3986,25 +3986,6 @@ fs_nir_emit_fs_intrinsic(nir_to_elk_state &ntb,
|
|||
break;
|
||||
}
|
||||
|
||||
case nir_intrinsic_ddx_fine:
|
||||
bld.emit(ELK_FS_OPCODE_DDX_FINE, retype(dest, ELK_REGISTER_TYPE_F),
|
||||
retype(get_nir_src(ntb, instr->src[0]), ELK_REGISTER_TYPE_F));
|
||||
break;
|
||||
case nir_intrinsic_ddx:
|
||||
case nir_intrinsic_ddx_coarse:
|
||||
bld.emit(ELK_FS_OPCODE_DDX_COARSE, retype(dest, ELK_REGISTER_TYPE_F),
|
||||
retype(get_nir_src(ntb, instr->src[0]), ELK_REGISTER_TYPE_F));
|
||||
break;
|
||||
case nir_intrinsic_ddy_fine:
|
||||
bld.emit(ELK_FS_OPCODE_DDY_FINE, retype(dest, ELK_REGISTER_TYPE_F),
|
||||
retype(get_nir_src(ntb, instr->src[0]), ELK_REGISTER_TYPE_F));
|
||||
break;
|
||||
case nir_intrinsic_ddy:
|
||||
case nir_intrinsic_ddy_coarse:
|
||||
bld.emit(ELK_FS_OPCODE_DDY_COARSE, retype(dest, ELK_REGISTER_TYPE_F),
|
||||
retype(get_nir_src(ntb, instr->src[0]), ELK_REGISTER_TYPE_F));
|
||||
break;
|
||||
|
||||
default:
|
||||
fs_nir_emit_intrinsic(ntb, bld, instr);
|
||||
break;
|
||||
|
|
@ -5999,6 +5980,25 @@ fs_nir_emit_intrinsic(nir_to_elk_state &ntb,
|
|||
break;
|
||||
}
|
||||
|
||||
case nir_intrinsic_ddx_fine:
|
||||
bld.emit(ELK_FS_OPCODE_DDX_FINE, retype(dest, ELK_REGISTER_TYPE_F),
|
||||
retype(get_nir_src(ntb, instr->src[0]), ELK_REGISTER_TYPE_F));
|
||||
break;
|
||||
case nir_intrinsic_ddx:
|
||||
case nir_intrinsic_ddx_coarse:
|
||||
bld.emit(ELK_FS_OPCODE_DDX_COARSE, retype(dest, ELK_REGISTER_TYPE_F),
|
||||
retype(get_nir_src(ntb, instr->src[0]), ELK_REGISTER_TYPE_F));
|
||||
break;
|
||||
case nir_intrinsic_ddy_fine:
|
||||
bld.emit(ELK_FS_OPCODE_DDY_FINE, retype(dest, ELK_REGISTER_TYPE_F),
|
||||
retype(get_nir_src(ntb, instr->src[0]), ELK_REGISTER_TYPE_F));
|
||||
break;
|
||||
case nir_intrinsic_ddy:
|
||||
case nir_intrinsic_ddy_coarse:
|
||||
bld.emit(ELK_FS_OPCODE_DDY_COARSE, retype(dest, ELK_REGISTER_TYPE_F),
|
||||
retype(get_nir_src(ntb, instr->src[0]), ELK_REGISTER_TYPE_F));
|
||||
break;
|
||||
|
||||
case nir_intrinsic_reduce: {
|
||||
elk_fs_reg src = get_nir_src(ntb, instr->src[0]);
|
||||
nir_op redop = (nir_op)nir_intrinsic_reduction_op(instr);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue