Hi Gert, Can you test this along with the fetch shader patch Marek sent?
I'm giving it a piglit run now. Dave. On 21 August 2017 at 09:22, Dave Airlie <airl...@gmail.com> wrote: > On 20 August 2017 at 05:25, Marek Olšák <mar...@gmail.com> wrote: >> On Sat, Aug 19, 2017 at 7:24 PM, Gert Wollny <gw.foss...@gmail.com> wrote: >>> Am Samstag, den 19.08.2017, 18:35 +0200 schrieb Marek Olšák: >>>> Can you try the attached patch? >>> >>> While if fixes the crash and lets me run glxgears and some other rathe >>> simple OpenGL programs it completely messes up blender (menu unreadable >>> etc) and UE4Editor Window is also flickering. >> >> OK, well, I might have to fork u_blitter for radeonsi. I don't think I >> have any other choice. > > Seems extreme, I'm sure you own at least one evergreen card. > > The first patch breaks things, but when I fix that a later patch > breaks things again, > but I'll reply to the individual patches in a minute. > > Dave.
From 4686bc355e54c9081c3c06a864b016b4da5f9bab Mon Sep 17 00:00:00 2001 From: Dave Airlie <airl...@redhat.com> Date: Mon, 21 Aug 2017 10:03:10 +1000 Subject: [PATCH] r600g: limit coords passes to hw for txf on 2d surface. This should be improved to cover a lot more cases, but this is enough to fix up the new blitter series. Signed-off-by: Dave Airlie <airl...@redhat.com> --- src/gallium/drivers/r600/r600_shader.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/gallium/drivers/r600/r600_shader.c b/src/gallium/drivers/r600/r600_shader.c index 8c5e6ff..df3165a 100644 --- a/src/gallium/drivers/r600/r600_shader.c +++ b/src/gallium/drivers/r600/r600_shader.c @@ -7634,6 +7634,26 @@ static int tgsi_tex(struct r600_shader_ctx *ctx) /* the array index is read from Z */ tex.coord_type_z = 0; + if (opcode == FETCH_OP_LD) { + /* masking doesn't appear to work for LD, + set the unused srcs to 0. */ + switch (inst->Texture.Texture) { + case TGSI_TEXTURE_2D_ARRAY: + tex.src_sel_w = 4; + break; + case TGSI_TEXTURE_2D: + case TGSI_TEXTURE_RECT: + tex.src_sel_z = 4; + tex.src_sel_w = 4; + break; + case TGSI_TEXTURE_1D: + tex.src_sel_y = 4; + tex.src_sel_z = 4; + tex.src_sel_w = 4; + break; + } + } + /* mask unused source components */ if (opcode == FETCH_OP_SAMPLE || opcode == FETCH_OP_GATHER4) { switch (inst->Texture.Texture) { -- 2.9.4
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev