[TGSI_OPCODE_CND] = aos_CND,
[TGSI_OPCODE_SQRT] = aos_simple,
[TGSI_OPCODE_DP2A] = aos_DP2A,
- [22] = aos_unsupported,
- [23] = aos_unsupported,
[TGSI_OPCODE_FRC] = aos_simple,
[TGSI_OPCODE_CLAMP] = aos_CLAMP,
[TGSI_OPCODE_FLR] = aos_simple,
[TGSI_OPCODE_LG2] = aos_simple,
[TGSI_OPCODE_POW] = aos_simple,
[TGSI_OPCODE_XPD] = aos_XPD,
- [32] = aos_unsupported,
[TGSI_OPCODE_ABS] = aos_simple,
[TGSI_OPCODE_RCC] = aos_unsupported,
[TGSI_OPCODE_DPH] = aos_simple,
[TGSI_OPCODE_BRK] = aos_BRK,
[TGSI_OPCODE_IF] = aos_simple,
[TGSI_OPCODE_UIF] = aos_simple,
- [76] = aos_unsupported,
[TGSI_OPCODE_ELSE] = aos_simple,
[TGSI_OPCODE_ENDIF] = aos_simple,
- [79] = aos_unsupported,
- [80] = aos_unsupported,
[TGSI_OPCODE_PUSHA] = aos_unsupported,
[TGSI_OPCODE_POPA] = aos_unsupported,
[TGSI_OPCODE_CEIL] = aos_CEIL,
[TGSI_OPCODE_NOT] = aos_simple,
[TGSI_OPCODE_TRUNC] = aos_simple,
[TGSI_OPCODE_SHL] = aos_simple,
- [88] = aos_unsupported,
[TGSI_OPCODE_AND] = aos_simple,
[TGSI_OPCODE_OR] = aos_simple,
[TGSI_OPCODE_MOD] = aos_simple,
[TGSI_OPCODE_ENDLOOP] = aos_ENDLOOP,
[TGSI_OPCODE_ENDSUB] = aos_unsupported,
[TGSI_OPCODE_TXQ_LZ] = aos_tex,
- [104] = aos_unsupported,
- [105] = aos_unsupported,
- [106] = aos_unsupported,
[TGSI_OPCODE_NOP] = aos_simple,
[TGSI_OPCODE_FSEQ] = aos_set_on_cond,
[TGSI_OPCODE_FSGE] = aos_set_on_cond,
[TGSI_OPCODE_BREAKC] = aos_unsupported,
[TGSI_OPCODE_KILL_IF] = aos_simple,
[TGSI_OPCODE_END] = aos_simple,
- [118] = aos_unsupported,
[TGSI_OPCODE_F2I] = aos_simple,
[TGSI_OPCODE_IDIV] = aos_simple,
[TGSI_OPCODE_IMAX] = aos_simple,
[TGSI_OPCODE_CND] = soa_per_channel,
[TGSI_OPCODE_SQRT] = soa_scalar_replicate,
[TGSI_OPCODE_DP2A] = soa_dot_product,
- [22] = soa_unsupported,
- [23] = soa_unsupported,
[TGSI_OPCODE_FRC] = soa_per_channel,
[TGSI_OPCODE_CLAMP] = soa_per_channel,
[TGSI_OPCODE_FLR] = soa_per_channel,
[TGSI_OPCODE_LG2] = soa_scalar_replicate,
[TGSI_OPCODE_POW] = soa_scalar_replicate,
[TGSI_OPCODE_XPD] = soa_XPD,
- [32] = soa_unsupported,
[TGSI_OPCODE_ABS] = soa_per_channel,
[TGSI_OPCODE_RCC] = soa_unsupported,
[TGSI_OPCODE_DPH] = soa_dot_product,
[TGSI_OPCODE_BRK] = soa_passthrough,
[TGSI_OPCODE_IF] = soa_if,
[TGSI_OPCODE_UIF] = soa_if,
- [76] = soa_unsupported,
[TGSI_OPCODE_ELSE] = soa_passthrough,
[TGSI_OPCODE_ENDIF] = soa_passthrough,
- [79] = soa_unsupported,
- [80] = soa_unsupported,
[TGSI_OPCODE_PUSHA] = soa_unsupported,
[TGSI_OPCODE_POPA] = soa_unsupported,
[TGSI_OPCODE_CEIL] = soa_per_channel,
[TGSI_OPCODE_NOT] = soa_per_channel,
[TGSI_OPCODE_TRUNC] = soa_per_channel,
[TGSI_OPCODE_SHL] = soa_per_channel,
- [88] = soa_unsupported,
[TGSI_OPCODE_AND] = soa_per_channel,
[TGSI_OPCODE_OR] = soa_per_channel,
[TGSI_OPCODE_MOD] = soa_per_channel,
[TGSI_OPCODE_ENDLOOP] = soa_passthrough,
[TGSI_OPCODE_ENDSUB] = soa_unsupported,
[TGSI_OPCODE_TXQ_LZ] = soa_passthrough,
- [104] = soa_unsupported,
- [105] = soa_unsupported,
- [106] = soa_unsupported,
[TGSI_OPCODE_NOP] = soa_passthrough,
[TGSI_OPCODE_FSEQ] = soa_per_channel,
[TGSI_OPCODE_FSGE] = soa_per_channel,
[TGSI_OPCODE_BREAKC] = soa_unsupported,
[TGSI_OPCODE_KILL_IF] = soa_passthrough,
[TGSI_OPCODE_END] = soa_passthrough,
- [118] = soa_unsupported,
[TGSI_OPCODE_F2I] = soa_per_channel,
[TGSI_OPCODE_IDIV] = soa_per_channel,
[TGSI_OPCODE_IMAX] = soa_per_channel,
/* translate the instruction */
translate = tgsi->translate_table[tgsi_inst->Instruction.Opcode];
+ if (!translate) {
+ if (tgsi->translate_table == soa_translate_table)
+ soa_unsupported(tgsi->tc, tgsi_inst, dst, src);
+ else
+ aos_unsupported(tgsi->tc, tgsi_inst, dst, src);
+ }
translate(tgsi->tc, tgsi_inst, dst, src);
/* write the result to the real destinations if needed */