On 08/23/2010 01:38 AM, Dave Witbrodt wrote:
On 08/20/2010 05:21 PM, Alex Deucher wrote:
I've just pushed out the initial evergreen (radeon HD5xxx)
acceleration support for EXA and Xv to the evergreen_accel branch of
xf86-video-ati. Full support for EXA and Xv is available. To use it,
you'll need 2.6.35 with kms enabled. There are still some GPU hangs
in some cases that we haven't sorted out yet. Richard will be pushing
out mesa support as soon as he finishes rebasing his tree against mesa
master. We'll be releasing updated register specs eventually, but as
you can see, most of the registers and bit fields are the same as
r6xx/r7xx. Happy Hacking!

Alex

Crashes for me when the boot scripts start 'xdm'. Attached tarball has
'dmesg' output, copy of 'Xorg.0.log', and copy of 'xdm.log' (with same
backtrace as Xorg.0.log).

Should I put this on Bugzilla, or is evergreen-accel too new?

Hardware:
Radeon HD 5750

Software:
linux 2.6.35.2
[merged with drm-radeon-testing merged up to c9f9e91; have also reverted
5b1714d, and added patch to fix pink vert. line -- not sure if there are
git commits available yet]
libdrm 2.4.21
mesa 7.9-devel, git be99100

Hmm, I was just looking over the build log for Mesa that I saved.  Not sure
if this has to do with the crash, but when I followed the warnings to the
code, this looks potentially disastrous:

r600_cmdbuf.h:201:63: warning: backslash and newline separated by space
r600_cmdbuf.h:202:79: warning: backslash and newline separated by space


Here are the offending lines:

/* evergreen */
#define EVERGREEN_OUT_BATCH_REGS(reg, num)         \
do {                                                            \
        if ((reg) >= R600_SET_CONFIG_REG_OFFSET && (reg) < 
R600_SET_CONFIG_REG_END) { \
                R600_OUT_BATCH(CP_PACKET3(R600_IT_SET_CONFIG_REG, (num)));      
\
                R600_OUT_BATCH(((reg) - R600_SET_CONFIG_REG_OFFSET) >> 2);      
\
        } else if ((reg) >= R600_SET_CONTEXT_REG_OFFSET && (reg) < 
R600_SET_CONTEXT_REG_END) { \
                R600_OUT_BATCH(CP_PACKET3(R600_IT_SET_CONTEXT_REG, (num)));     
\
*               R600_OUT_BATCH(((reg) - R600_SET_CONTEXT_REG_OFFSET) >> 2);     
\
*       } else if ((reg) >= EG_SET_RESOURCE_OFFSET && (reg) < 
EG_SET_RESOURCE_END) { \
                R600_OUT_BATCH(CP_PACKET3(R600_IT_SET_RESOURCE, (num)));        
\
                R600_OUT_BATCH(((reg) - EG_SET_RESOURCE_OFFSET) >> 2);  \
    } else if ((reg) >= EG_SET_LOOP_CONST_OFFSET && (reg) < 
EG_SET_LOOP_CONST_END) { \
                R600_OUT_BATCH(CP_PACKET3(R600_IT_SET_LOOP_CONST, (num)));      
\
                R600_OUT_BATCH(((reg) - EG_SET_LOOP_CONST_OFFSET) >> 2);        
\
        } else if ((reg) >= R600_SET_SAMPLER_OFFSET && (reg) < 
R600_SET_SAMPLER_END) { \
                R600_OUT_BATCH(CP_PACKET3(R600_IT_SET_SAMPLER, (num))); \
                R600_OUT_BATCH(((reg) - R600_SET_SAMPLER_OFFSET) >> 2); \
        } else if ((reg) >= R600_SET_CTL_CONST_OFFSET && (reg) < 
R600_SET_CTL_CONST_END) { \
                R600_OUT_BATCH(CP_PACKET3(R600_IT_SET_CTL_CONST, (num)));       
\
                R600_OUT_BATCH(((reg) - R600_SET_CTL_CONST_OFFSET) >> 2);       
\
        } else if ((reg) >= EG_SET_BOOL_CONST_OFFSET && (reg) < 
EG_SET_BOOL_CONST_END) { \
                R600_OUT_BATCH(CP_PACKET3(R600_IT_SET_BOOL_CONST, (num)));      
\
                R600_OUT_BATCH(((reg) - EG_SET_BOOL_CONST_OFFSET) >> 2);        
\
        } else {                                                        \
                R600_OUT_BATCH(CP_PACKET0((reg), (num))); \
        }                                                               \
} while (0)

Looks like a bad place for escaped newlines to fail, but if this was
really the problem, wouldn't the compilation have failed instead?


Dave W.
_______________________________________________
xorg-driver-ati mailing list
xorg-driver-ati@lists.x.org
http://lists.x.org/mailman/listinfo/xorg-driver-ati

Reply via email to