From: Christian König Date: Wed, 2 Mar 2011 19:48:03 +0000 (+0100) Subject: r600g: merge fix X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ed12c29bc45b100b758c9affe2cebe8c8498e25e;p=mesa.git r600g: merge fix --- diff --git a/src/gallium/drivers/r600/r600_asm.c b/src/gallium/drivers/r600/r600_asm.c index 8006e9b9a58..3e478382801 100644 --- a/src/gallium/drivers/r600/r600_asm.c +++ b/src/gallium/drivers/r600/r600_asm.c @@ -1529,7 +1529,7 @@ enum cf_class CF_CLASS_EXPORT, CF_CLASS_OTHER }; - + static enum cf_class r600_bc_cf_class(struct r600_bc_cf *cf) { switch (cf->inst) { @@ -1561,6 +1561,7 @@ static enum cf_class r600_bc_cf_class(struct r600_bc_cf *cf) case V_SQ_CF_WORD1_SQ_CF_INST_LOOP_BREAK: case V_SQ_CF_WORD1_SQ_CF_INST_CALL_FS: case V_SQ_CF_WORD1_SQ_CF_INST_RETURN: + case V_SQ_CF_WORD1_SQ_CF_INST_NOP: return CF_CLASS_OTHER; default: @@ -1929,7 +1930,7 @@ static void find_replacement(struct gpr_usage usage[128], unsigned current, unsigned i, j; int best_gpr = -1, best_rate = 0x7FFFFFFF; - if (range->replacement == current) + if (range->replacement == current) return; /* register prefers to be not remapped */ if (range->replacement != -1 && range->replacement <= current) { @@ -3079,6 +3080,7 @@ int r600_vertex_elements_build_fetch_shader(struct r600_pipe_context *rctx, stru } r600_bc_add_cfinst(&bc, BC_INST(&bc, V_SQ_CF_WORD1_SQ_CF_INST_RETURN)); + r600_bc_add_cfinst(&bc, BC_INST(&bc, V_SQ_CF_WORD1_SQ_CF_INST_NOP)); /* use PIPE_BIND_VERTEX_BUFFER so we use the cache buffer manager */ ve->fetch_shader = r600_bo(rctx->radeon, bc.ndw*4, 256, PIPE_BIND_VERTEX_BUFFER, 0);