--- src/gallium/drivers/r600/r600_llvm.c | 38 ++++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/r600/r600_llvm.c b/src/gallium/drivers/r600/r600_llvm.c index 32b8e56..d28182b 100644 --- a/src/gallium/drivers/r600/r600_llvm.c +++ b/src/gallium/drivers/r600/r600_llvm.c @@ -329,6 +329,30 @@ static void llvm_emit_epilogue(struct lp_build_tgsi_context * bld_base) break; } } + if (!next_param) { + //Dummy export + LLVMValueRef args[3]; + args[0] = LLVMGetUndef(LLVMVectorType(bld_base->base.elem_type, 4)); + args[1] = lp_build_const_int32(base->gallivm, 0); + args[2] = lp_build_const_int32(base->gallivm, V_SQ_CF_ALLOC_EXPORT_WORD0_SQ_EXPORT_PARAM); + build_intrinsic( + base->gallivm->builder, + "llvm.R600.store.swizzle", + LLVMVoidTypeInContext(base->gallivm->context), + args, 3, 0); + } + if (!next_pos) { + //Dummy export + LLVMValueRef args[3]; + args[0] = LLVMGetUndef(LLVMVectorType(bld_base->base.elem_type, 4)); + args[1] = lp_build_const_int32(base->gallivm, 0); + args[2] = lp_build_const_int32(base->gallivm, V_SQ_CF_ALLOC_EXPORT_WORD0_SQ_EXPORT_POS); + build_intrinsic( + base->gallivm->builder, + "llvm.R600.store.swizzle", + LLVMVoidTypeInContext(base->gallivm->context), + args, 3, 0); + } } else if (ctx->type == TGSI_PROCESSOR_FRAGMENT) { switch (ctx->r600_outputs[i].name) { case TGSI_SEMANTIC_COLOR: @@ -373,10 +397,20 @@ static void llvm_emit_epilogue(struct lp_build_tgsi_context * bld_base) break; } } + if (!has_color) { + //Dummy export + LLVMValueRef args[3]; + args[0] = LLVMGetUndef(LLVMVectorType(bld_base->base.elem_type, 4)); + args[1] = lp_build_const_int32(base->gallivm, 0); + args[2] = lp_build_const_int32(base->gallivm, V_SQ_CF_ALLOC_EXPORT_WORD0_SQ_EXPORT_PIXEL); + build_intrinsic( + base->gallivm->builder, + "llvm.R600.store.swizzle", + LLVMVoidTypeInContext(base->gallivm->context), + args, 3, 0); + } } - if (!has_color && ctx->type == TGSI_PROCESSOR_FRAGMENT) - lp_build_intrinsic(base->gallivm->builder, "llvm.R600.store.pixel.dummy", LLVMVoidTypeInContext(base->gallivm->context), 0, 0); } static void llvm_emit_tex( -- 1.8.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev