On Wed, 2003-11-05 at 14:39, Felix KÃhling wrote:
> After a cvs update with the new radeon memory layout I get this on all
> applications that use textures. The application reports:
> 
> DRM_RADEON_TEXTURE: return = -22
>    offset=0x00c00000
>    image width=64 height=64
>     blit width=1024 height=8 data=0x814b400
> 
> In the kernel log I see:
> 
> [drm:radeon_cp_dispatch_texture] *ERROR* Invalid destination offset
> 
> This is with r100, new kernel module, new Xserver and new 3d driver. 

Thank you for the informative report.

Does this patch help? If so, the new state checking code in the DRM
probably prevented the client from locking up the chip or worse. :) (but
no, I didn't deliberately forget this to show that off ;)


-- 
Earthling Michel DÃnzer      |     Debian (powerpc), X and DRI developer
Software libre enthusiast    |   http://svcs.affero.net/rm.php?r=daenzer
Index: lib/GL/mesa/src/drv/r200/r200_screen.c
===================================================================
RCS file: /cvs/dri/xc/xc/lib/GL/mesa/src/drv/r200/r200_screen.c,v
retrieving revision 1.19
diff -p -u -r1.19 r200_screen.c
--- lib/GL/mesa/src/drv/r200/r200_screen.c	4 Nov 2003 00:46:04 -0000	1.19
+++ lib/GL/mesa/src/drv/r200/r200_screen.c	5 Nov 2003 15:00:24 -0000
@@ -238,7 +265,8 @@ r200CreateScreen( __DRIscreenPrivate *sP
    screen->depthOffset	= dri_priv->depthOffset;
    screen->depthPitch	= dri_priv->depthPitch;
 
-   screen->texOffset[RADEON_CARD_HEAP] = dri_priv->textureOffset;
+   screen->texOffset[RADEON_CARD_HEAP] = dri_priv->textureOffset
+				       + screen->fbLocation;
    screen->texSize[RADEON_CARD_HEAP] = dri_priv->textureSize;
    screen->logTexGranularity[RADEON_CARD_HEAP] =
       dri_priv->log2TexGran;
Index: lib/GL/mesa/src/drv/radeon/radeon_screen.c
===================================================================
RCS file: /cvs/dri/xc/xc/lib/GL/mesa/src/drv/radeon/radeon_screen.c,v
retrieving revision 1.28
diff -p -u -r1.28 radeon_screen.c
--- lib/GL/mesa/src/drv/radeon/radeon_screen.c	4 Nov 2003 00:46:04 -0000	1.28
+++ lib/GL/mesa/src/drv/radeon/radeon_screen.c	5 Nov 2003 15:00:24 -0000
@@ -221,7 +221,8 @@ radeonScreenPtr radeonCreateScreen( __DR
    screen->depthOffset	= dri_priv->depthOffset;
    screen->depthPitch	= dri_priv->depthPitch;
 
-   screen->texOffset[RADEON_CARD_HEAP] = dri_priv->textureOffset;
+   screen->texOffset[RADEON_CARD_HEAP] = dri_priv->textureOffset
+				       + screen->fbLocation;
    screen->texSize[RADEON_CARD_HEAP] = dri_priv->textureSize;
    screen->logTexGranularity[RADEON_CARD_HEAP] =
       dri_priv->log2TexGran;

Reply via email to