Dnia niedziela, 7 czerwca 2009 o 13:25:47 Maciej Cencora napisał(a):
> Dnia niedziela, 7 czerwca 2009 o 09:25:32 Dave Airlie napisał(a):
> > > > Does it perform a lot worse (compared to master branch) even without
> > > > this round of patches?
> > >
> > > I'll probably do some more comparisons on some tcl and some non-tcl hw
> > > this week, and merge it if nothing major stands out.
> > >
> > > on my rs690 at least, gears and ipers both get an increase with
> > > radeon-rewrite.
> >
> > With current radeon-rewrite, OA hangs the GPU on DRI1 with the anholt
> > demo from the DRI benchmarking page.
> >
> > not 100% sure whats going on yet, or when it started.
>
> There are two bugs that I know can cause GPU hang:
>
> - changing screen resolution in some games,
> - out of memory condition: not sure about the reason but I think that
> somewhere in the texture code the bo's isn't unreferenced so the memory
> isn't freed (Glisse suggested that maybe the same bo is used few times in
> the same cs so the cs_write_reloc refs it every time, but
> radeon_validate_reset_bos unrefs it only once).
>
> I think it is probably the second one, because I hit it with many games.
> It's easy to check: decrease texture detail or depth and if the game will
> hang little bit later that's it.

... but this time it was a regression.

Attached patch fixes it.

Maciej Cencora
From e85253c779fc6809589d8816c7228d827af859a4 Mon Sep 17 00:00:00 2001
From: Maciej Cencora <m.cenc...@gmail.com>
Date: Sun, 7 Jun 2009 22:51:46 +0200
Subject: [PATCH] r300: fix regression caused by 056bc77547c304021a0faf204897ed238a5cf424

Fixes GPU hangs in software TCL path
---
 src/mesa/drivers/dri/r300/r300_swtcl.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/src/mesa/drivers/dri/r300/r300_swtcl.c b/src/mesa/drivers/dri/r300/r300_swtcl.c
index ecc8377..4a82064 100644
--- a/src/mesa/drivers/dri/r300/r300_swtcl.c
+++ b/src/mesa/drivers/dri/r300/r300_swtcl.c
@@ -219,6 +219,7 @@ void r300ChooseSwtclVertexFormat(GLcontext *ctx, GLuint *_InputsRead,  GLuint *_
 		ADD_ATTR(VERT_ATTRIB_FOG, R300_DATA_TYPE_FLOAT_1, SWTCL_OVM_TEX(first_free_tex), swiz, MASK_XYZW, 0);
 	}
 
+	R300_NEWPRIM(rmesa);
 	rmesa->vbuf.num_attribs = num_attrs;
 	*_InputsRead = InputsRead;
 	*_OutputsWritten = OutputsWritten;
-- 
1.6.0.4

------------------------------------------------------------------------------
OpenSolaris 2009.06 is a cutting edge operating system for enterprises 
looking to deploy the next generation of Solaris that includes the latest 
innovations from Sun and the OpenSource community. Download a copy and 
enjoy capabilities such as Networking, Storage and Virtualization. 
Go to: http://p.sf.net/sfu/opensolaris-get
_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to