nv50: enable txg where supported
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
This commit is contained in:
@@ -1447,7 +1447,7 @@ CodeEmitterNV50::emitTEX(const TexInstruction *i)
|
||||
code[0] |= 0x01000000;
|
||||
break;
|
||||
case OP_TXG:
|
||||
code[0] = 0x01000000;
|
||||
code[0] |= 0x01000000;
|
||||
code[1] = 0x80000000;
|
||||
break;
|
||||
default:
|
||||
@@ -1790,6 +1790,7 @@ CodeEmitterNV50::emitInstruction(Instruction *insn)
|
||||
case OP_TXB:
|
||||
case OP_TXL:
|
||||
case OP_TXF:
|
||||
case OP_TXG:
|
||||
emitTEX(insn->asTex());
|
||||
break;
|
||||
case OP_TXQ:
|
||||
|
||||
@@ -558,6 +558,7 @@ static nv50_ir::operation translateOpcode(uint opcode)
|
||||
NV50_IR_OPCODE_CASE(SAD, SAD);
|
||||
NV50_IR_OPCODE_CASE(TXF, TXF);
|
||||
NV50_IR_OPCODE_CASE(TXQ, TXQ);
|
||||
NV50_IR_OPCODE_CASE(TG4, TXG);
|
||||
|
||||
NV50_IR_OPCODE_CASE(EMIT, EMIT);
|
||||
NV50_IR_OPCODE_CASE(ENDPRIM, RESTART);
|
||||
@@ -2434,6 +2435,9 @@ Converter::handleInstruction(const struct tgsi_full_instruction *insn)
|
||||
case TGSI_OPCODE_TXD:
|
||||
handleTEX(dst0, 3, 3, 0x03, 0x0f, 0x10, 0x20);
|
||||
break;
|
||||
case TGSI_OPCODE_TG4:
|
||||
handleTEX(dst0, 2, 2, 0x03, 0x0f, 0x00, 0x00);
|
||||
break;
|
||||
case TGSI_OPCODE_TEX2:
|
||||
handleTEX(dst0, 2, 2, 0x03, 0x10, 0x00, 0x00);
|
||||
break;
|
||||
|
||||
@@ -193,12 +193,13 @@ nv50_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
|
||||
case PIPE_CAP_ENDIANNESS:
|
||||
return PIPE_ENDIAN_LITTLE;
|
||||
case PIPE_CAP_TGSI_VS_LAYER:
|
||||
case PIPE_CAP_MAX_TEXTURE_GATHER_COMPONENTS:
|
||||
case PIPE_CAP_TEXTURE_GATHER_SM5:
|
||||
case PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT:
|
||||
return 0;
|
||||
case PIPE_CAP_MAX_VIEWPORTS:
|
||||
return NV50_MAX_VIEWPORTS;
|
||||
case PIPE_CAP_MAX_TEXTURE_GATHER_COMPONENTS:
|
||||
return (class_3d >= NVA3_3D_CLASS) ? 4 : 0;
|
||||
default:
|
||||
NOUVEAU_ERR("unknown PIPE_CAP %d\n", param);
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user