Bug 15480 - r200 vertex program regression
Summary: r200 vertex program regression
Status: RESOLVED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: General (show other bugs)
Version: DRI git
Hardware: x86 (IA32) Linux (All)
: medium normal
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-04-12 23:35 UTC by Andrew Randrianasulu
Modified: 2008-04-16 17:56 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
glxinfo (debug build) (4.14 KB, text/plain)
2008-04-12 23:35 UTC, Andrew Randrianasulu
no flags Details
doom3 log (stdout + stderr) (8.43 KB, text/plain)
2008-04-12 23:37 UTC, Andrew Randrianasulu
no flags Details
celestia (manually copy-pasted from terminal) (1.38 KB, text/plain)
2008-04-12 23:41 UTC, Andrew Randrianasulu
no flags Details
my .drirc (2.89 KB, text/plain)
2008-04-14 06:58 UTC, Andrew Randrianasulu
no flags Details

Description Andrew Randrianasulu 2008-04-12 23:35:16 UTC
Created attachment 15867 [details]
glxinfo (debug build)

with today's mesa git (commit 32134b5508495fbb1d9fc2f844e22fbb082dcda6) both celestia 1.4.1 and doom3-demo (DOOM 1.1.1282 linux-x86 Oct  4 2004 08:27:55) doesn't work. 

After reverting 978145a075255ae153ee05c2a037400e61558079 
(Set param_var->param_binding_type = PROGRAM_CONSTANT) or adding patch like this

diff --git a/src/mesa/drivers/dri/r200/r200_vertprog.c b/src/mesa/drivers/dri/r2
00/r200_vertprog.c
index b1e027d..4be0344 100644
--- a/src/mesa/drivers/dri/r200/r200_vertprog.c
+++ b/src/mesa/drivers/dri/r200/r200_vertprog.c
@@ -215,6 +215,7 @@ static unsigned long t_src_class(enum register_file file)
    case PROGRAM_LOCAL_PARAM:
    case PROGRAM_ENV_PARAM:
    case PROGRAM_NAMED_PARAM:
+   case PROGRAM_CONSTANT:
    case PROGRAM_STATE_VAR:
       return VSF_IN_CLASS_PARAM;
    /*

both programs go a bit further, but still segfaulted.


 Old version from 29 feb 2008 at least run celestia (demo).

How i can debug this?
Comment 1 Andrew Randrianasulu 2008-04-12 23:37:05 UTC
Created attachment 15868 [details]
doom3 log (stdout + stderr)
Comment 2 Andrew Randrianasulu 2008-04-12 23:41:46 UTC
Created attachment 15869 [details]
celestia (manually copy-pasted from terminal)
Comment 3 Markus Amsler 2008-04-13 03:02:57 UTC
r300 had the same regression fixed with commit 85e816882d8cd136e041c915698314ed1110e2f2.
Your patch looks correct.
To debug segfaults, use gdb to get a backtrace.
Comment 4 Andrew Randrianasulu 2008-04-13 06:09:05 UTC
from 'gdb doom.x86':

Mesa: User error: GL_INVALID_ENUM in glProgramEnvParameter(target)
Mesa: User error: GL_INVALID_ENUM in glProgramEnvParameter(target)
Mesa warning: glEnable(GL_STENCIL_TEST) but no stencil buffer

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1212470464 (LWP 30205)]
0xb604ffc3 in driReportDamage (pdp=0xa8ec348, pClipRects=0x17a, numClipRects=6)
    at ../common/dri_util.c:425
425             (*psp->damage->reportDamage)(pdp,
(gdb) bt
#0  0xb604ffc3 in driReportDamage (pdp=0xa8ec348, pClipRects=0x17a, 
    numClipRects=6) at ../common/dri_util.c:425
#1  0xb6d8baad in glXSwapBuffers (dpy=0xa8db510, drawable=29360130)
    at glxcmds.c:849
#2  0x08207c4a in ?? ()
#3  0x08132519 in ?? ()
#4  0x08109ebb in ?? ()
#5  0x08058ef9 in ?? ()
#6  0x0805a31b in ?? ()
#7  0x08059d96 in ?? ()
#8  0x082073fe in ?? ()
#9  0xb7bcfe14 in __libc_start_main () from /lib/tls/libc.so.6
#10 0x0804b1a1 in ?? ()

---------------

from celestia:

Using host libthread_db library "/lib/tls/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread -1232304448 (LWP 30248)]
[KCrash handler]
#5  0xb63fbfc3 in driReportDamage (pdp=0x9bc7918, pClipRects=0x176, 
    numClipRects=108) at ../common/dri_util.c:425
#6  0xb6a5daad in glXSwapBuffers (dpy=0x81eb068, drawable=33554481)
    at glxcmds.c:849
#7  0xb73caf06 in QGLContext::swapBuffers () from /usr/lib/qt/lib/libqt-mt.so.3
#8  0xb73c77b4 in QGLWidget::swapBuffers () from /usr/lib/qt/lib/libqt-mt.so.3
#9  0xb73c7ff6 in QGLWidget::glDraw () from /usr/lib/qt/lib/libqt-mt.so.3
#10 0xb73c78c5 in QGLWidget::paintEvent () from /usr/lib/qt/lib/libqt-mt.so.3
#11 0xb7193a6f in QWidget::event () from /usr/lib/qt/lib/libqt-mt.so.3
#12 0xb70f546f in QApplication::internalNotify ()
   from /usr/lib/qt/lib/libqt-mt.so.3
#13 0xb70f560c in QApplication::notify () from /usr/lib/qt/lib/libqt-mt.so.3
#14 0xb7742375 in KApplication::notify () from /opt/kde/lib/libkdecore.so.4
#15 0xb7087393 in QETWidget::translatePaintEvent ()
   from /usr/lib/qt/lib/libqt-mt.so.3
#16 0xb708de22 in QApplication::x11ProcessEvent ()
   from /usr/lib/qt/lib/libqt-mt.so.3
#17 0xb70a0f25 in QEventLoop::processEvents ()
   from /usr/lib/qt/lib/libqt-mt.so.3
#18 0xb710bb91 in QEventLoop::enterLoop () from /usr/lib/qt/lib/libqt-mt.so.3
#19 0xb710bae6 in QEventLoop::exec () from /usr/lib/qt/lib/libqt-mt.so.3
#20 0xb70f45cf in QApplication::exec () from /usr/lib/qt/lib/libqt-mt.so.3
#21 0x0807f8c9 in main ()


..looks like my other patch (in bug 15461) was wrong/uncomplete.
Comment 5 Andrew Randrianasulu 2008-04-14 06:58:08 UTC
Created attachment 15901 [details]
my .drirc

Strange, but after some playing with driconf celestia works now, but doom3 still segfaulted.
Comment 6 Roland Scheidegger 2008-04-16 17:56:54 UTC
Thanks for the patch, applied. Closing since the other issue looks completely unrelated.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.