On 10 April 2018 at 15:49, Juan A. Suarez Romero <jasua...@igalia.com> wrote:
> On Tue, 2018-04-03 at 10:58 +0100, Alex Smith wrote: > > I don't know exactly what's causing it, no. I noticed the issue was > fixed on master so just bisected to this. > > > > CC'ing stable to nominate: > > 42627dabb4db3011825a022325be7ae9b51103d6 - (1/3) ac: add if/loop build > helpers > > 6e1a142863b368a032e333f09feb107241446053 - (2/3) radeonsi: make use of > if/loop build helpers in ac > > 99cdc019bf6fe11c135b7544ef6daf4ac964fa24 - (3/3) ac: make use of > if/loop build helpers > > > > Hi, Alex. > > Are these 3 commits nominated for a specific stable branch? From the CC > not sure > if you want to nominate them for 17.3, 18.0 or both. > They work for me on both 18.0 and 17.3, so I think they can be nominated for both. Thanks, Alex > > > J.A. > > > > > > > On 3 April 2018 at 10:45, Timothy Arceri <tarc...@itsqueeze.com> wrote: > > > I have no issue with these going in stable if they fix bugs. Ideally > we should create a piglit test to catch this also but presumably you guys > don't actually know the exact shader combination thats tripping things up? > > > > > > > > > On 03/04/18 19:36, Samuel Pitoiset wrote: > > > > This fixes a rendering issue with Wolfenstein 2 as well. A backport > sounds reasonable to me. > > > > > > > > On 04/03/2018 11:33 AM, Alex Smith wrote: > > > > > Hi Timothy, > > > > > > > > > > This patch fixes some rendering issues I see with RADV on SI. > > > > > > > > > > It doesn't sound like it was really intended to fix anything, so > possibly it's masking some other issue, but would you object to nominating > the series for stable? Applying it on the 18.0 branch fixes the issue there > as well. > > > > > > > > > > Thanks, > > > > > Alex > > > > > > > > > > On 7 March 2018 at 20:43, Marek Olšák <mar...@gmail.com <mailto: > mar...@gmail.com>> wrote: > > > > > > > > > > For the series: > > > > > > > > > > Reviewed-by: Marek Olšák <marek.ol...@amd.com > > > > > <mailto:marek.ol...@amd.com>> > > > > > > > > > > Marek > > > > > > > > > > On Tue, Mar 6, 2018 at 8:40 PM, Timothy Arceri > > > > > <tarc...@itsqueeze.com <mailto:tarc...@itsqueeze.com>> wrote: > > > > > > These helpers insert the basic block in the same order as > they > > > > > > appear in NIR making it easier to follow LLVM IR dumps. The > helpers > > > > > > also insert more useful labels onto the blocks. > > > > > > > > > > > > TGSI use the line number of the corresponding opcode in the > TGSI > > > > > > dump as the label id, here we use the corresponding block > index > > > > > > from NIR. > > > > > > --- > > > > > > src/amd/common/ac_nir_to_llvm.c | 60 > > > > > +++++++++++++---------------------------- > > > > > > 1 file changed, 18 insertions(+), 42 deletions(-) > > > > > > > > > > > > diff --git a/src/amd/common/ac_nir_to_llvm.c > > > > > b/src/amd/common/ac_nir_to_llvm.c > > > > > > index cda91fe8bf..dc463ed253 100644 > > > > > > --- a/src/amd/common/ac_nir_to_llvm.c > > > > > > +++ b/src/amd/common/ac_nir_to_llvm.c > > > > > > @@ -5237,17 +5237,15 @@ static void visit_ssa_undef(struct > > > > > ac_nir_context *ctx, > > > > > > _mesa_hash_table_insert(ctx->defs, &instr->def, > undef); > > > > > > } > > > > > > > > > > > > -static void visit_jump(struct ac_nir_context *ctx, > > > > > > +static void visit_jump(struct ac_llvm_context *ctx, > > > > > > const nir_jump_instr *instr) > > > > > > { > > > > > > switch (instr->type) { > > > > > > case nir_jump_break: > > > > > > - LLVMBuildBr(ctx->ac.builder, > ctx->break_block); > > > > > > - LLVMClearInsertionPosition( > ctx->ac.builder); > > > > > > + ac_build_break(ctx); > > > > > > break; > > > > > > case nir_jump_continue: > > > > > > - LLVMBuildBr(ctx->ac.builder, > ctx->continue_block); > > > > > > - LLVMClearInsertionPosition( > ctx->ac.builder); > > > > > > + ac_build_continue(ctx); > > > > > > break; > > > > > > default: > > > > > > fprintf(stderr, "Unknown NIR jump instr: "); > > > > > > @@ -5285,7 +5283,7 @@ static void visit_block(struct > > > > > ac_nir_context *ctx, nir_block *block) > > > > > > visit_ssa_undef(ctx, > > > > > nir_instr_as_ssa_undef(instr)); > > > > > > break; > > > > > > case nir_instr_type_jump: > > > > > > - visit_jump(ctx, > nir_instr_as_jump(instr)); > > > > > > + visit_jump(&ctx->ac, > > > > > nir_instr_as_jump(instr)); > > > > > > break; > > > > > > default: > > > > > > fprintf(stderr, "Unknown NIR instr > type: "); > > > > > > @@ -5302,56 +5300,34 @@ static void visit_if(struct > > > > > ac_nir_context *ctx, nir_if *if_stmt) > > > > > > { > > > > > > LLVMValueRef value = get_src(ctx, > if_stmt->condition); > > > > > > > > > > > > - LLVMValueRef fn = > > > > > LLVMGetBasicBlockParent(LLVMGetInsertBlock(ctx->ac.builder)); > > > > > > - LLVMBasicBlockRef merge_block = > > > > > > - LLVMAppendBasicBlockInContext(ctx->ac.context, > fn, ""); > > > > > > - LLVMBasicBlockRef if_block = > > > > > > - LLVMAppendBasicBlockInContext(ctx->ac.context, > fn, ""); > > > > > > - LLVMBasicBlockRef else_block = merge_block; > > > > > > - if (!exec_list_is_empty(&if_stmt->else_list)) > > > > > > - else_block = LLVMAppendBasicBlockInContext( > > > > > > - ctx->ac.context, fn, ""); > > > > > > - > > > > > > - LLVMValueRef cond = LLVMBuildICmp(ctx->ac.builder, > > > > > LLVMIntNE, value, > > > > > > - ctx->ac.i32_0, > ""); > > > > > > - LLVMBuildCondBr(ctx->ac.builder, cond, if_block, > else_block); > > > > > > - > > > > > > - LLVMPositionBuilderAtEnd(ctx->ac.builder, > if_block); > > > > > > + nir_block *then_block = > > > > > > + (nir_block *) > > > > > exec_list_get_head(&if_stmt->then_list); > > > > > > + > > > > > > + ac_build_uif(&ctx->ac, value, then_block->index); > > > > > > + > > > > > > visit_cf_list(ctx, &if_stmt->then_list); > > > > > > - if (LLVMGetInsertBlock(ctx->ac.builder)) > > > > > > - LLVMBuildBr(ctx->ac.builder, merge_block); > > > > > > > > > > > > if (!exec_list_is_empty(&if_stmt->else_list)) { > > > > > > - LLVMPositionBuilderAtEnd(ctx->ac.builder, > > > > > else_block); > > > > > > + nir_block *else_block = > > > > > > + (nir_block *) > > > > > exec_list_get_head(&if_stmt->else_list); > > > > > > + > > > > > > + ac_build_else(&ctx->ac, else_block->index); > > > > > > visit_cf_list(ctx, &if_stmt->else_list); > > > > > > - if (LLVMGetInsertBlock(ctx->ac.builder)) > > > > > > - LLVMBuildBr(ctx->ac.builder, > merge_block); > > > > > > } > > > > > > > > > > > > - LLVMPositionBuilderAtEnd(ctx->ac.builder, > merge_block); > > > > > > + ac_build_endif(&ctx->ac, then_block->index); > > > > > > } > > > > > > > > > > > > static void visit_loop(struct ac_nir_context *ctx, > nir_loop *loop) > > > > > > { > > > > > > - LLVMValueRef fn = > > > > > LLVMGetBasicBlockParent(LLVMGetInsertBlock(ctx->ac.builder)); > > > > > > - LLVMBasicBlockRef continue_parent = > ctx->continue_block; > > > > > > - LLVMBasicBlockRef break_parent = ctx->break_block; > > > > > > + nir_block *first_loop_block = > > > > > > + (nir_block *) exec_list_get_head(&loop-> > body); > > > > > > > > > > > > - ctx->continue_block = > > > > > > - LLVMAppendBasicBlockInContext(ctx->ac.context, > fn, ""); > > > > > > - ctx->break_block = > > > > > > - LLVMAppendBasicBlockInContext(ctx->ac.context, > fn, ""); > > > > > > + ac_build_bgnloop(&ctx->ac, first_loop_block->index); > > > > > > > > > > > > - LLVMBuildBr(ctx->ac.builder, ctx->continue_block); > > > > > > - LLVMPositionBuilderAtEnd(ctx->ac.builder, > > > > > ctx->continue_block); > > > > > > visit_cf_list(ctx, &loop->body); > > > > > > > > > > > > - if (LLVMGetInsertBlock(ctx->ac.builder)) > > > > > > - LLVMBuildBr(ctx->ac.builder, > ctx->continue_block); > > > > > > - LLVMPositionBuilderAtEnd(ctx->ac.builder, > ctx->break_block); > > > > > > - > > > > > > - ctx->continue_block = continue_parent; > > > > > > - ctx->break_block = break_parent; > > > > > > + ac_build_endloop(&ctx->ac, first_loop_block->index); > > > > > > } > > > > > > > > > > > > static void visit_cf_list(struct ac_nir_context *ctx, > > > > > > -- > > > > > > 2.14.3 > > > > > > > > > > > > _______________________________________________ > > > > > > mesa-dev mailing list > > > > > > mesa-dev@lists.freedesktop.org > > > > > <mailto:mesa-dev@lists.freedesktop.org> > > > > > > https://lists.freedesktop.org/mailman/listinfo/mesa-dev > > > > > <https://lists.freedesktop.org/mailman/listinfo/mesa-dev> > > > > > _______________________________________________ > > > > > mesa-dev mailing list > > > > > mesa-dev@lists.freedesktop.org <mailto:mesa-dev@lists. > freedesktop.org> > > > > > https://lists.freedesktop.org/mailman/listinfo/mesa-dev > > > > > <https://lists.freedesktop.org/mailman/listinfo/mesa-dev> > > > > > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > mesa-dev mailing list > > > > > mesa-dev@lists.freedesktop.org > > > > > https://lists.freedesktop.org/mailman/listinfo/mesa-dev > > > > > > > > > _______________________________________________ > > mesa-dev mailing list > > mesa-dev@lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/mesa-dev >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev