From: Ilia Mirkin Date: Sat, 11 Jun 2016 15:50:15 +0000 (-0400) Subject: nv50: enable indirect addressing of fragment shader inputs X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f47845596bce36aeb84a8a7f6c7e643486ec2185;p=mesa.git nv50: enable indirect addressing of fragment shader inputs Signed-off-by: Ilia Mirkin --- diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp index 5d68e990207..0fe399bdd8e 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp @@ -911,6 +911,7 @@ CodeEmitterNV50::emitINTERP(const Instruction *i) defId(i->def(0), 2); srcAddr8(i->src(0), 16); + setAReg16(i, 0); if (i->encSize != 8 && i->getInterpMode() == NV50_IR_INTERP_FLAT) { code[0] |= 1 << 8; diff --git a/src/gallium/drivers/nouveau/nv50/nv50_screen.c b/src/gallium/drivers/nouveau/nv50/nv50_screen.c index bcb1ae91337..03f4591ac70 100644 --- a/src/gallium/drivers/nouveau/nv50/nv50_screen.c +++ b/src/gallium/drivers/nouveau/nv50/nv50_screen.c @@ -306,9 +306,9 @@ nv50_screen_get_shader_param(struct pipe_screen *pscreen, unsigned shader, return 65536; case PIPE_SHADER_CAP_MAX_CONST_BUFFERS: return NV50_MAX_PIPE_CONSTBUFS; - case PIPE_SHADER_CAP_INDIRECT_INPUT_ADDR: case PIPE_SHADER_CAP_INDIRECT_OUTPUT_ADDR: return shader != PIPE_SHADER_FRAGMENT; + case PIPE_SHADER_CAP_INDIRECT_INPUT_ADDR: case PIPE_SHADER_CAP_INDIRECT_TEMP_ADDR: case PIPE_SHADER_CAP_INDIRECT_CONST_ADDR: return 1;