NetBSD Problem Report #40939

From martin@duskware.de  Sun Mar  1 19:31:19 2009
Return-Path: <martin@duskware.de>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
	by www.NetBSD.org (Postfix) with ESMTP id 6047663C1DB
	for <gnats-bugs@gnats.NetBSD.org>; Sun,  1 Mar 2009 19:31:19 +0000 (UTC)
Message-Id: <20090301193045.9C49A33A88@mail.duskware.de>
Date: Sun,  1 Mar 2009 20:30:40 +0100 (CET)
From: martin
Reply-To: martin
To: gnats-bugs@gnats.NetBSD.org
Subject: nvidia driver can not deal with COMPOSITE/DAMAGE extensions
X-Send-Pr-Version: 3.95

>Number:         40939
>Category:       xsrc
>Synopsis:       nvidia driver can not deal with COMPOSITE/DAMAGE extensions
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    jmcneill
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Mar 01 19:35:00 +0000 2009
>Closed-Date:    Mon Mar 02 20:47:13 +0000 2009
>Last-Modified:  Mon Mar 02 20:47:13 +0000 2009
>Originator:     Martin Husemann
>Release:        NetBSD 5.99.7
>Organization:
The NetBSD Foundation, Inc.
>Environment:
System: NetBSD night-owl.duskware.de 5.99.7 NetBSD 5.99.7 (NIGHT-OWL) #68: Sun Mar 1 18:12:15 CET 2009 martin@night-owl.duskware.de:/usr/src/sys/arch/i386/compile/NIGHT-OWL i386
Architecture: i386
Machine: i386
>Description:

With a default config my current in-tree xorg setup makes firefox3 display
some web sites "partialy", i.e. big parts of images are transparent where
they shouldn't.

Disabling the DAMAGE and the COMPOSITE extensions fixes it.

I've been told this is a driver bug, so I'm filing this PR.

(II) LoadModule: "nv"
(II) Loading /usr/X11R7/lib/modules/drivers//nv_drv.so
(II) Module nv: vendor="X.Org Foundation"
	compiled for 1.4.2, module version = 2.1.10
	Module class: X.Org Video Driver
	ABI class: X.Org Video Driver, version 2.0
[..]
(II) NV: driver for NVIDIA chipsets: RIVA 128, RIVA TNT, RIVA TNT2,
	Unknown TNT2, Vanta, RIVA TNT2 Ultra, RIVA TNT2 Model 64,
	Aladdin TNT2, GeForce 256, GeForce DDR, Quadro, GeForce2 MX/MX 400,
	GeForce2 MX 100/200, GeForce2 Go, Quadro2 MXR/EX/Go,
	GeForce2 Integrated GPU, GeForce2 GTS, GeForce2 Ti, GeForce2 Ultra,
	Quadro2 Pro, GeForce4 MX 460, GeForce4 MX 440, GeForce4 MX 420,
	GeForce4 MX 440-SE, GeForce4 440 Go, GeForce4 420 Go,
	GeForce4 420 Go 32M, GeForce4 460 Go, Quadro4 550 XGL,
	GeForce4 440 Go 64M, Quadro NVS, Quadro4 500 GoGL,
	GeForce4 410 Go 16M, GeForce4 MX 440 with AGP8X,
	GeForce4 MX 440SE with AGP8X, GeForce4 MX 420 with AGP8X,
	GeForce4 MX 4000, GeForce4 448 Go, GeForce4 488 Go, Quadro4 580 XGL,
	Quadro4 NVS 280 SD, Quadro4 380 XGL, Quadro NVS 50 PCI,
	GeForce4 448 Go, GeForce4 MX Integrated GPU, GeForce3,
	GeForce3 Ti 200, GeForce3 Ti 500, Quadro DCC, GeForce4 Ti 4600,
	GeForce4 Ti 4400, GeForce4 Ti 4200, Quadro4 900 XGL, Quadro4 750 XGL,
	Quadro4 700 XGL, GeForce4 Ti 4800, GeForce4 Ti 4200 with AGP8X,
	GeForce4 Ti 4800 SE, GeForce4 4200 Go, Quadro4 700 GoGL,
	Quadro4 980 XGL, Quadro4 780 XGL, GeForce FX 5800 Ultra,
	GeForce FX 5800, Quadro FX 2000, Quadro FX 1000,
	GeForce FX 5600 Ultra, GeForce FX 5600, GeForce FX 5600XT,
	GeForce FX Go5600, GeForce FX Go5650, Quadro FX Go700,
	GeForce FX 5200, GeForce FX 5200 Ultra, GeForce FX 5200,
	GeForce FX 5200LE, GeForce FX Go5200, GeForce FX Go5250,
	GeForce FX 5500, GeForce FX 5100, GeForce FX Go5200 32M/64M,
	Quadro NVS 55/280 PCI, Quadro FX 500/600 PCI,
	GeForce FX Go53xx Series, GeForce FX Go5100, GeForce FX 5900 Ultra,
	GeForce FX 5900, GeForce FX 5900XT, GeForce FX 5950 Ultra,
	GeForce FX 5900ZT, Quadro FX 3000, Quadro FX 700,
	GeForce FX 5700 Ultra, GeForce FX 5700, GeForce FX 5700LE,
	GeForce FX 5700VE, GeForce FX Go5700, GeForce FX Go5700,
	Quadro FX Go1000, Quadro FX 1100, GeForce 6800 Ultra, GeForce 6800,
	GeForce 6800 LE, GeForce 6800 XE, GeForce 6800 XT, GeForce 6800 GT,
	GeForce 6800 GT, GeForce 6800 GS, GeForce 6800 XT, Quadro FX 4000,
	GeForce 6800 GS, GeForce 6800, GeForce 6800 LE, GeForce 6800 XT,
	GeForce Go 6800, GeForce Go 6800 Ultra, Quadro FX Go1400,
	Quadro FX 3450/4000 SDI, Quadro FX 1400, GeForce 6600 GT,
	GeForce 6600, GeForce 6600 LE, GeForce 6600 VE, GeForce Go 6600,
	GeForce 6610 XL, GeForce Go 6600 TE/6200 TE, GeForce 6700 XL,
	GeForce Go 6600, GeForce Go 6600 GT, Quadro FX 550, Quadro FX 550,
	Quadro FX 540, GeForce 6200, GeForce 6500,
	GeForce 6200 TurboCache(TM), GeForce 6200SE TurboCache(TM),
	GeForce 6200 LE, GeForce Go 6200, Quadro NVS 285, GeForce Go 6400,
	GeForce Go 6200, GeForce Go 6400, GeForce 6250, GeForce 6800,
	GeForce 6800 LE, GeForce 6800 GT, GeForce 6800 XT, GeForce 6200,
	GeForce 6200 A-LE, GeForce 7800 GTX, GeForce 7800 GTX,
	GeForce 7800 GT, GeForce 7800 GS, GeForce 7800 SLI, GeForce Go 7800,
	GeForce Go 7800 GTX, Quadro FX 4500, GeForce 7300 LE,
	GeForce 7300 SE, GeForce Go 7200, GeForce Go 7300, GeForce Go 7400,
	GeForce Go 7400 GS, Quadro NVS 110M, Quadro NVS 120M, Quadro FX 350M,
	GeForce 7500 LE, Quadro FX 350, GeForce 7300 GS, GeForce 7600 GT,
	GeForce 7600 GS, GeForce 7300 GT, GeForce 7600 LE, GeForce 7300 GT,
	GeForce Go 7700, GeForce Go 7600, GeForce Go 7600 GT,
	Quadro NVS 300M, GeForce Go 7900 SE, Quadro FX 550M, Quadro FX 560,
	GeForce 7900 GTX, GeForce 7900 GT, GeForce 7900 GS,
	GeForce Go 7900 GS, GeForce Go 7900 GTX, Quadro FX 2500M,
	Quadro FX 1500M, Quadro FX 5500, Quadro FX 3500, Quadro FX 1500,
	Quadro FX 4500 X2, GeForce 6150, GeForce 6150 LE, GeForce 6100,
	GeForce Go 6150, GeForce Go 6100, GeForce 8800 GTX, GeForce 8800 GTS,
	GeForce 8800 Ultra, Quadro FX 5600, Quadro FX 4600, GeForce 8600 GTS,
	GeForce 8600 GT, GeForce 8600 GT, GeForce 8400 GS, GeForce 9500M GS,
	GeForce 8600M GT, GeForce 9650M GS, GeForce 8700M GT, Quadro FX 370,
	Quadro NVS 320M, Quadro FX 570M, Quadro FX 1600M, Quadro FX 570,
	Quadro FX 1700, GeForce 8400 SE, GeForce 8500 GT, GeForce 8400 GS,
	GeForce 8300 GS, GeForce 8400 GS, GeForce 8600M GS, GeForce 8400M GT,
	GeForce 8400M GS, GeForce 8400M G, Quadro NVS 140M, Quadro NVS 130M,
	Quadro NVS 135M, Quadro FX 360M, GeForce 9300M G, Quadro NVS 290,
	GeForce GTX 280, GeForce GTX 260, GeForce 8800 GTS 512,
	GeForce 8800 GT, GeForce 9800 GX2, GeForce 8800 GS,
	GeForce 8800M GTS, GeForce 8800M GTX, GeForce 8800 GS,
	GeForce 9600 GSO, GeForce 8800 GT, GeForce 9800 GTX, Quadro FX 3700,
	Quadro FX 3600M, GeForce 9600 GT, GeForce 9600M GT, GeForce 9600M GS,
	GeForce 9600M GT, GeForce 9500M G, GeForce 8400 GS, GeForce 9300M GS,
	GeForce 9200M GS, GeForce 9300M GS
(II) Primary Device is: PCI 01:00:0
(--) Chipset GeForce FX Go5200 found

>How-To-Repeat:

>Fix:

>Release-Note:

>Audit-Trail:
From: "Jared D. McNeill" <jmcneill@invisible.ca>
To: gnats-bugs@NetBSD.org
Cc: xsrc-manager@netbsd.org, gnats-admin@netbsd.org, 
 netbsd-bugs@netbsd.org
Subject: Re: xsrc/40939: nvidia driver can not deal with COMPOSITE/DAMAGE
 extensions
Date: Sun, 01 Mar 2009 16:20:26 -0500

 This is a multi-part message in MIME format.
 --------------070209020106070005040700
 Content-Type: text/plain; charset=ISO-8859-1; format=flowed
 Content-Transfer-Encoding: 7bit

 Please try the following patch from xorg trunk.


 --------------070209020106070005040700
 Content-Type: text/plain;
  name="pr40939.patch"
 Content-Transfer-Encoding: 7bit
 Content-Disposition: inline;
  filename="pr40939.patch"

 Index: xaaInitAccel.c
 ===================================================================
 RCS file: /cvsroot/xsrc/external/mit/xorg-server/dist/hw/xfree86/xaa/xaaInitAccel.c,v
 retrieving revision 1.1.1.1
 diff -u -p -r1.1.1.1 xaaInitAccel.c
 --- xaaInitAccel.c	31 Jul 2008 19:49:48 -0000	1.1.1.1
 +++ xaaInitAccel.c	1 Mar 2009 21:19:46 -0000
 @@ -43,7 +43,8 @@ typedef enum {
      XAAOPT_WRITE_BITMAP,
      XAAOPT_WRITE_PIXMAP,
      XAAOPT_PIXMAP_CACHE,
 -    XAAOPT_OFFSCREEN_PIXMAPS
 +    XAAOPT_OFFSCREEN_PIXMAPS,
 +    XAAOPT_HAS_DUMB_INVERTED_OPTION_SENSE
  } XAAOpts;

  static const OptionInfoRec XAAOptions[] = {
 @@ -89,6 +90,8 @@ static const OptionInfoRec XAAOptions[] 
  				OPTV_BOOLEAN,	{0}, FALSE },
      {XAAOPT_OFFSCREEN_PIXMAPS,		"XaaNoOffscreenPixmaps",
  				OPTV_BOOLEAN,	{0}, FALSE },
 +    {XAAOPT_HAS_DUMB_INVERTED_OPTION_SENSE,	"XaaOffscreenPixmaps",
 +				OPTV_BOOLEAN,	{0}, FALSE },
      { -1,				NULL,
  				OPTV_NONE,	{0}, FALSE }
  };
 @@ -542,7 +545,8 @@ XAAInitAccel(ScreenPtr pScreen, XAAInfoR
  #define XAAMSG(s) do { if (serverGeneration == 1) xf86ErrorF(s); } while (0)

      if((infoRec->Flags & OFFSCREEN_PIXMAPS) && HaveScreenToScreenCopy &&
 -		!xf86IsOptionSet(options, XAAOPT_OFFSCREEN_PIXMAPS)) {
 +            xf86IsOptionSet(options, XAAOPT_HAS_DUMB_INVERTED_OPTION_SENSE))
 +    {
  	XAAMSG("\tOffscreen Pixmaps\n");
      } else {
  	infoRec->Flags &= ~OFFSCREEN_PIXMAPS;

 --------------070209020106070005040700--

Responsible-Changed-From-To: xsrc-manager->jmcneill
Responsible-Changed-By: jmcneill@NetBSD.org
Responsible-Changed-When: Sun, 01 Mar 2009 21:34:51 +0000
Responsible-Changed-Why:
I commited a fix.


State-Changed-From-To: open->pending-pullups
State-Changed-By: jmcneill@NetBSD.org
State-Changed-When: Sun, 01 Mar 2009 21:34:51 +0000
State-Changed-Why:
[pullup-5 #539] Disable XAA offscreen rendering by default


From: Martin Husemann <martin@duskware.de>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: xsrc/40939: nvidia driver can not deal with COMPOSITE/DAMAGE
Date: Sun, 1 Mar 2009 22:43:05 +0100

 Duh, I mixed a few machines and in this case the workaround - I had disabled
 off screen pixmaps, not the DAMAGE/COMPOSITE extensions.

 Martin

State-Changed-From-To: pending-pullups->closed
State-Changed-By: jmcneill@NetBSD.org
State-Changed-When: Mon, 02 Mar 2009 20:47:13 +0000
State-Changed-Why:
Fixed in 5.0.


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2014 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.