Ilia Mirkin
2019-Oct-14 06:46 UTC
[Nouveau] [PATCH] nv50/ir: mark STORE destination inputs as used
Observed an issue when looking at the code generatedy by the image-vertex-attrib-input-output piglit test. Even though the test itself worked fine (due to TIC 0 being used for the image), this needs to be fixed. Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu> --- src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp index d62d36008e6..8c429026452 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp @@ -1591,6 +1591,12 @@ bool Source::scanInstruction(const struct tgsi_full_instruction *inst) if (insn.getOpcode() == TGSI_OPCODE_STORE && dst.getFile() != TGSI_FILE_MEMORY) { info->io.globalAccess |= 0x2; + + if (dst.getFile() == TGSI_FILE_INPUT) { + // TODO: Handle indirect somehow? + const int i = dst.getIndex(0); + info->in[i].mask |= 1; + } } if (dst.getFile() == TGSI_FILE_OUTPUT) { -- 2.21.0
Karol Herbst
2019-Oct-14 12:48 UTC
[Nouveau] [PATCH] nv50/ir: mark STORE destination inputs as used
Reviewed-by: Karol Herbst <kherbst at redhat.com> On Mon, Oct 14, 2019 at 8:47 AM Ilia Mirkin <imirkin at alum.mit.edu> wrote:> > Observed an issue when looking at the code generatedy by the > image-vertex-attrib-input-output piglit test. Even though the test > itself worked fine (due to TIC 0 being used for the image), this needs > to be fixed. > > Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu> > --- > src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp > index d62d36008e6..8c429026452 100644 > --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp > +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp > @@ -1591,6 +1591,12 @@ bool Source::scanInstruction(const struct tgsi_full_instruction *inst) > if (insn.getOpcode() == TGSI_OPCODE_STORE && > dst.getFile() != TGSI_FILE_MEMORY) { > info->io.globalAccess |= 0x2; > + > + if (dst.getFile() == TGSI_FILE_INPUT) { > + // TODO: Handle indirect somehow? > + const int i = dst.getIndex(0); > + info->in[i].mask |= 1; > + } > } > > if (dst.getFile() == TGSI_FILE_OUTPUT) { > -- > 2.21.0 > > _______________________________________________ > Nouveau mailing list > Nouveau at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/nouveau
Apparently Analagous Threads
- [PATCH mesa 2/6] nouveau: codegen: Slightly refactor Source::scanInstruction() dst handling
- [PATCH mesa 1/6] tgsi_build: Fix return of uninitialized memory in tgsi_*_instruction_memory
- [PATCH] nv50/ir: only use FILE_LOCAL_MEMORY for temp arrays that use indirection
- [PATCH 00/12] Tessellation support for nvc0
- [PATCH mesa 5/6] nouveau: codegen: Add support for OpenCL global memory buffers