[Nouveau] [Bug 82255] [VP2] Chroma planes are vertically stretched during VDPAU playback
https://bugs.freedesktop.org/show_bug.cgi?id=82255 --- Comment #4 from Emil Velikov emil.l.veli...@gmail.com --- A couple of interesting bits: The surface produced by the vdpau state-tracker is exactly the same one displayed on the screen - there seems to be no nv12 yv12 screw-up in VLC. On the other hand the vlVdpCopyNV12ToYV12 function, converts the original data, based on the assumption that both fields are interleaved while it seems that they are both continuous one after the other. The other two conversion functions follow the same field 0 and 1 (top+bottom ?) are interleaved. All of them are added with commit e6c2afa9ceacc188690deba9da7b46bf1a0a9027 (st/vdpau: add format conversions for GetBitsYCbCr) with VLC in mind :) -- You are receiving this mail because: You are the assignee for the bug. ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
[Nouveau] NV25 doesn't draw most icons
Hello! I've installed Fedora 20 Mate i386 on an old system with GeForce4 Ti 4200 AGP (NV25) and I see significant visual defects. Many icons are not shown. They can reappear if they are selected of the mouse goes over them. Screenshot: http://red-bean.com/proski/nv25/screenshot.png All entries on the left should have icons, but only two have them. The problem goes away I create a file /etc/modprobe.d/nouveau.conf containing options nouveau noaccel=1, rebuild initrd and reboot. I compiled Linux kernel 3.16 and I see exactly the same problem. .config: http://red-bean.com/proski/nv25/kernel.config I tried opening many tabs with flash based videos in Firefox and got a hang. At first, the mouse worked, I was able to switch to the console with Ctrl-Alt-F2, but when I switched back to X, the system was totally unresponsive and I had to power cycle it. The kernel log for 3.16: http://red-bean.com/proski/nv25/dmesg The output of lspci -nnvvvxxx: http://red-bean.com/proski/nv25/lspci-nnvvvxxx Fedora 20 is fully up-to-date. MATE appears to be most affected, but I've also seen incorrectly drawn checkboxes in LDXE on that system. I'm ready to donate that video card to the project if anyone is interested. -- Regards, Pavel Roskin ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
[Nouveau] [Bug 62848] xorg not start after kexec when use nouveau
https://bugs.freedesktop.org/show_bug.cgi?id=62848 --- Comment #2 from Pierre BLONDEAU pierre.blond...@unicaen.fr --- Hi, I have the same problem with a GT218M . The argument nouveau.config=NvForcePost=1 doesn't work, but if i specify blacklist=nouveau in the cmdline, all is OK. If i install the nvidia driver, it's ok too. I use an ubuntu 14.04 with standard package. Regards -- You are receiving this mail because: You are the assignee for the bug. ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
[Nouveau] [Bug 62848] xorg not start after kexec when use nouveau
https://bugs.freedesktop.org/show_bug.cgi?id=62848 --- Comment #3 from Pierre BLONDEAU pierre.blond...@unicaen.fr --- Created attachment 104231 -- https://bugs.freedesktop.org/attachment.cgi?id=104231action=edit Second start log I haven't logs before kexec. It's logs after kexec -e -- You are receiving this mail because: You are the assignee for the bug. ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
Re: [Nouveau] NV25 doesn't draw most icons
On Thu, Aug 7, 2014 at 8:30 AM, Pavel Roskin pro...@gnu.org wrote: Hello! I've installed Fedora 20 Mate i386 on an old system with GeForce4 Ti 4200 AGP (NV25) and I see significant visual defects. Many icons are not shown. They can reappear if they are selected of the mouse goes over them. Screenshot: http://red-bean.com/proski/nv25/screenshot.png All entries on the left should have icons, but only two have them. It is most likely that this is the same issue as a bunch of people have reported on NV18. As of yet, it has not been tracked down. I recently grabbed a NV18 card, but haven't had time to try to reproduce the issue. This has something to do with transparency use, I think. -ilia The problem goes away I create a file /etc/modprobe.d/nouveau.conf containing options nouveau noaccel=1, rebuild initrd and reboot. I compiled Linux kernel 3.16 and I see exactly the same problem. .config: http://red-bean.com/proski/nv25/kernel.config I tried opening many tabs with flash based videos in Firefox and got a hang. At first, the mouse worked, I was able to switch to the console with Ctrl-Alt-F2, but when I switched back to X, the system was totally unresponsive and I had to power cycle it. The kernel log for 3.16: http://red-bean.com/proski/nv25/dmesg The output of lspci -nnvvvxxx: http://red-bean.com/proski/nv25/lspci-nnvvvxxx Fedora 20 is fully up-to-date. MATE appears to be most affected, but I've also seen incorrectly drawn checkboxes in LDXE on that system. I'm ready to donate that video card to the project if anyone is interested. -- Regards, Pavel Roskin ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
Re: [Nouveau] NV25 doesn't draw most icons
Quoting Ilia Mirkin imir...@alum.mit.edu: On Thu, Aug 7, 2014 at 8:30 AM, Pavel Roskin pro...@gnu.org wrote: Hello! I've installed Fedora 20 Mate i386 on an old system with GeForce4 Ti 4200 AGP (NV25) and I see significant visual defects. Many icons are not shown. They can reappear if they are selected of the mouse goes over them. Screenshot: http://red-bean.com/proski/nv25/screenshot.png All entries on the left should have icons, but only two have them. It is most likely that this is the same issue as a bunch of people have reported on NV18. As of yet, it has not been tracked down. I recently grabbed a NV18 card, but haven't had time to try to reproduce the issue. This has something to do with transparency use, I think. I agree, transparency may be an issue. Or perhaps the use of transparency to implement mouse-over events and non-rectangular shape. The MATE file manager icons and Gtk+ checkboxes react to the mouse-over and they have visual problems. The LXDE filemanager icons don't react to the mouse and they look fine. The icons and the checkboxes are non-rectangular. The checkboxes have rounded corners. I haven't seen visual problems with other Gtk+ widgets. -- Regards, Pavel Roskin -ilia The problem goes away I create a file /etc/modprobe.d/nouveau.conf containing options nouveau noaccel=1, rebuild initrd and reboot. I compiled Linux kernel 3.16 and I see exactly the same problem. .config: http://red-bean.com/proski/nv25/kernel.config I tried opening many tabs with flash based videos in Firefox and got a hang. At first, the mouse worked, I was able to switch to the console with Ctrl-Alt-F2, but when I switched back to X, the system was totally unresponsive and I had to power cycle it. The kernel log for 3.16: http://red-bean.com/proski/nv25/dmesg The output of lspci -nnvvvxxx: http://red-bean.com/proski/nv25/lspci-nnvvvxxx Fedora 20 is fully up-to-date. MATE appears to be most affected, but I've also seen incorrectly drawn checkboxes in LDXE on that system. I'm ready to donate that video card to the project if anyone is interested. -- Regards, Pavel Roskin ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau -- Regards, Pavel Roskin ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
[Nouveau] [PATCH 2/3] nvc0/ir: add kepler+ support for indirect texture references
Signed-off-by: Ilia Mirkin imir...@alum.mit.edu --- .../nouveau/codegen/nv50_ir_lowering_nvc0.cpp | 34 +- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp index 4a9e48f..ade315d 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp @@ -569,9 +569,17 @@ NVC0LoweringPass::handleTEX(TexInstruction *i) if (chipset = NVISA_GK104_CHIPSET) { if (i-tex.rIndirectSrc = 0 || i-tex.sIndirectSrc = 0) { - WARN(indirect TEX not implemented\n); - } - if (i-tex.r == i-tex.s) { + // XXX this ignores tsc, and assumes a 1:1 mapping + assert(i-tex.rIndirectSrc = 0); + Value *hnd = loadTexHandle( + bld.mkOp2v(OP_SHL, TYPE_U32, bld.getSSA(), + i-getIndirectR(), bld.mkImm(2)), + i-tex.r); + i-tex.r = 0xff; + i-tex.s = 0x1f; + i-setIndirectR(hnd); + i-setIndirectS(NULL); + } else if (i-tex.r == i-tex.s) { i-tex.r += prog-driver-io.texBindBase / 4; i-tex.s = 0; // only a single cX[] value possible here } else { @@ -595,6 +603,16 @@ NVC0LoweringPass::handleTEX(TexInstruction *i) i-setSrc(s, i-getSrc(s - 1)); i-setSrc(0, layer); } + // Move the indirect reference to the first place + if (i-tex.rIndirectSrc = 0) { + Value *hnd = i-getIndirectR(); + + i-setIndirectR(NULL); + i-moveSources(0, 1); + i-setSrc(0, hnd); + i-tex.rIndirectSrc = 0; + i-tex.sIndirectSrc = -1; + } } else // (nvc0) generate and move the tsc/tic/array source to the front if (i-tex.target.isArray() || i-tex.rIndirectSrc = 0 || i-tex.sIndirectSrc = 0) { @@ -688,14 +706,14 @@ NVC0LoweringPass::handleTEX(TexInstruction *i) // The offset goes into the upper 16 bits of the array index. So // create it if it's not already there, and INSBF it if it already // is. +s = (i-tex.rIndirectSrc = 0) ? 1 : 0; if (i-tex.target.isArray()) { bld.mkOp3(OP_INSBF, TYPE_U32, i-getSrc(0), bld.loadImm(NULL, imm), bld.mkImm(0xc10), - i-getSrc(0)); + i-getSrc(s)); } else { - for (int s = dim; s = 1; --s) - i-setSrc(s, i-getSrc(s - 1)); - i-setSrc(0, bld.loadImm(NULL, imm 16)); + i-moveSources(s, 1); + i-setSrc(s, bld.loadImm(NULL, imm 16)); } } else { i-setSrc(s, bld.loadImm(NULL, imm)); @@ -792,6 +810,8 @@ NVC0LoweringPass::handleTXD(TexInstruction *txd) if (chipset = NVISA_GK104_CHIPSET) { if (!txd-tex.target.isArray() txd-tex.useOffsets) expected_args++; + if (txd-tex.rIndirectSrc = 0 || txd-tex.sIndirectSrc = 0) + expected_args++; } else { if (txd-tex.useOffsets) expected_args++; -- 1.8.5.5 ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
[Nouveau] [PATCH 1/3] nvc0/ir: add base tex offset for fermi indirect tex case
Signed-off-by: Ilia Mirkin imir...@alum.mit.edu --- .../drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp| 12 ++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp index f010767..4a9e48f 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp @@ -603,10 +603,18 @@ NVC0LoweringPass::handleTEX(TexInstruction *i) Value *ticRel = i-getIndirectR(); Value *tscRel = i-getIndirectS(); - if (ticRel) + if (ticRel) { i-setSrc(i-tex.rIndirectSrc, NULL); - if (tscRel) + if (i-tex.r) +ticRel = bld.mkOp2v(OP_ADD, TYPE_U32, bld.getScratch(), +ticRel, bld.mkImm(i-tex.r)); + } + if (tscRel) { i-setSrc(i-tex.sIndirectSrc, NULL); + if (i-tex.s) +tscRel = bld.mkOp2v(OP_ADD, TYPE_U32, bld.getScratch(), +tscRel, bld.mkImm(i-tex.s)); + } Value *arrayIndex = i-tex.target.isArray() ? i-getSrc(lyr) : NULL; for (int s = dim; s = 1; --s) -- 1.8.5.5 ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
[Nouveau] [PATCH 3/3] nvc0/ir: describe the tex arguments for fermi/kepler
Signed-off-by: Ilia Mirkin imir...@alum.mit.edu --- .../nouveau/codegen/nv50_ir_lowering_nvc0.cpp | 25 ++ 1 file changed, 25 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp index ade315d..7da9b0b 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp @@ -567,6 +567,31 @@ NVC0LoweringPass::handleTEX(TexInstruction *i) const int lyr = arg - (i-tex.target.isMS() ? 2 : 1); const int chipset = prog-getTarget()-getChipset(); + // Arguments to the TEX instruction are a little insane. Even though the + // encoding is identical between SM20 and SM30, the arguments mean + // different things between Fermi and Kepler+. A lot of arguments are + // optional based on flags passed to the instruction. This summarizes the + // order of things. + // + // Fermi: + // array/indirect + // coords + // sample + // lod bias + // depth compare + // offsets: + //- tg4: 8 bits each, either 2 (1 offset reg) or 8 (2 offset reg) + //- other: 4 bits each, single reg + // + // Kepler+: + // indirect handle + // array (+ offsets for txd in upper 16 bits) + // coords + // sample + // lod bias + // depth compare + // offsets (same as fermi, except txd which takes it with array) + if (chipset = NVISA_GK104_CHIPSET) { if (i-tex.rIndirectSrc = 0 || i-tex.sIndirectSrc = 0) { // XXX this ignores tsc, and assumes a 1:1 mapping -- 1.8.5.5 ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau