And how about the attached patch? Marek
On Fri, May 27, 2016 at 10:08 AM, Bas Nieuwenhuizen <b...@basnieuwenhuizen.nl> wrote: > Those are always read for writing to the TF ring. > > Should fix CTS test > GL45-CTS.shader_image_load_store.multiple-uniforms > after a regression due to the new tessellation code. > > Signed-off-by: Bas Nieuwenhuizen <b...@basnieuwenhuizen.nl> > --- > > I have no CTS, so it actually is not tested whether it fixes > this test. > > > src/gallium/drivers/radeonsi/si_state_draw.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/src/gallium/drivers/radeonsi/si_state_draw.c > b/src/gallium/drivers/radeonsi/si_state_draw.c > index 788869e..40592d0 100644 > --- a/src/gallium/drivers/radeonsi/si_state_draw.c > +++ b/src/gallium/drivers/radeonsi/si_state_draw.c > @@ -125,6 +125,9 @@ static void si_emit_derived_tess_state(struct si_context > *sctx, > num_tcs_patch_outputs = 2; /* TESSINNER + TESSOUTER */ > } > > + /* We always load TESSINNER and TESSOUTER to write to the tf ring. */ > + num_tcs_patch_outputs = MAX2(num_tcs_patch_outputs, 2); > + > input_vertex_size = num_tcs_inputs * 16; > output_vertex_size = num_tcs_outputs * 16; > > -- > 2.8.3 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev
From f49301767300e98fb293f4e5d800410a0015143b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Ol=C5=A1=C3=A1k?= <marek.ol...@amd.com> Date: Fri, 27 May 2016 12:39:30 +0200 Subject: [PATCH] radeonsi: always reserve output space for tess factors --- src/gallium/drivers/radeonsi/si_state_shaders.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c b/src/gallium/drivers/radeonsi/si_state_shaders.c index c6f51ea..8ec0470 100644 --- a/src/gallium/drivers/radeonsi/si_state_shaders.c +++ b/src/gallium/drivers/radeonsi/si_state_shaders.c @@ -1104,8 +1104,13 @@ static void *si_create_shader_selector(struct pipe_context *ctx, u_vertices_per_prim(sel->info.properties[TGSI_PROPERTY_GS_INPUT_PRIM]); break; - case PIPE_SHADER_VERTEX: case PIPE_SHADER_TESS_CTRL: + /* Always reserve space for these. */ + sel->patch_outputs_written |= + (1llu << si_shader_io_get_unique_index(TGSI_SEMANTIC_TESSINNER, 0)) | + (1llu << si_shader_io_get_unique_index(TGSI_SEMANTIC_TESSOUTER, 0)); + /* fall through */ + case PIPE_SHADER_VERTEX: case PIPE_SHADER_TESS_EVAL: for (i = 0; i < sel->info.num_outputs; i++) { unsigned name = sel->info.output_semantic_name[i]; -- 2.7.4
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev