[Mesa-dev] [PATCH 4/4] radeonsi: Enable whole quad for pixel shaders.
Tom Stellard
tom at stellard.net
Thu Sep 6 07:43:38 PDT 2012
On Thu, Sep 06, 2012 at 01:00:03PM +0200, Michel Dänzer wrote:
> From: Michel Dänzer <michel.daenzer at amd.com>
>
> Fixes wrong mipmap level being sampled at some triangle edges.
>
> Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
> ---
> src/gallium/drivers/radeonsi/radeonsi_shader.c | 12 ++++++++++--
> 1 file changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/src/gallium/drivers/radeonsi/radeonsi_shader.c b/src/gallium/drivers/radeonsi/radeonsi_shader.c
> index 8c92149..1c330b5 100644
> --- a/src/gallium/drivers/radeonsi/radeonsi_shader.c
> +++ b/src/gallium/drivers/radeonsi/radeonsi_shader.c
> @@ -75,7 +75,7 @@ struct si_shader_context
> struct tgsi_token * tokens;
> struct si_pipe_shader *shader;
> unsigned type; /* TGSI_PROCESSOR_* specifies the type of shader. */
> -/* unsigned num_inputs; */
> + unsigned ninput_emitted;
> /* struct list_head inputs; */
> /* unsigned * input_mappings *//* From TGSI to SI hw */
> /* struct tgsi_shader_info info;*/
> @@ -319,6 +319,14 @@ static void declare_input_fs(
> return;
> }
>
> + if (!si_shader_ctx->ninput_emitted++) {
> + /* Enable whole quad mode */
> + lp_build_intrinsic(gallivm->builder,
> + "llvm.SI.wqm",
> + LLVMVoidTypeInContext(gallivm->context),
> + NULL, 0);
> + }
> +
> /* XXX: Could there be more than TGSI_NUM_CHANNELS (4) ? */
> for (chan = 0; chan < TGSI_NUM_CHANNELS; chan++) {
> LLVMValueRef args[3];
> @@ -689,7 +697,7 @@ int si_pipe_shader_create(
>
> dump = debug_get_bool_option("RADEON_DUMP_SHADERS", FALSE);
>
> - memset(&si_shader_ctx.radeon_bld, 0, sizeof(si_shader_ctx.radeon_bld));
> + memset(&si_shader_ctx, 0, sizeof(si_shader_ctx));
> radeon_llvm_context_init(&si_shader_ctx.radeon_bld);
> bld_base = &si_shader_ctx.radeon_bld.soa.bld_base;
>
> --
> 1.7.10.4
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list