Compare commits
	
		
			8 Commits
		
	
	
		
			texman_0_1
			...
			texman_0_1
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 8ecd83f6cd | ||
|  | cff7e025ed | ||
|  | 3de9a9bd1d | ||
|  | e6cae6e6f6 | ||
|  | 9cf5945b83 | ||
|  | d6ddc33f07 | ||
|  | ec32d129b7 | ||
|  | cd41c27446 | 
| @@ -13,7 +13,8 @@ CXX = g++ | ||||
| #MKDEP = gcc -M | ||||
| #MKDEP_OPTIONS = -MF depend | ||||
|  | ||||
| OPT_FLAGS  = -g -march=pentium4 -fprefetch-loop-arrays | ||||
| #OPT_FLAGS  = -g -march=pentium4 -fprefetch-loop-arrays | ||||
| OPT_FLAGS  = -O2  | ||||
| PIC_FLAGS  = -fPIC | ||||
|  | ||||
| # Add '-DGLX_USE_TLS' to ARCH_FLAGS to enable TLS support. | ||||
|   | ||||
| @@ -109,7 +109,7 @@ GLboolean i915CreateContext( const __GLcontextModes *mesaVis, | ||||
|  | ||||
|    if (!i915) return GL_FALSE; | ||||
|  | ||||
|    _mesa_printf( "\ntexmem branch (i915, drop2)\n\n"); | ||||
|    _mesa_printf( "\ntexmem branch (i915, drop3)\n\n"); | ||||
|     | ||||
|    i915InitVtbl( i915 ); | ||||
|    i915InitMetaFuncs( i915 ); | ||||
|   | ||||
| @@ -118,6 +118,7 @@ struct intel_batchbuffer *intel_batchbuffer_alloc( struct intel_context *intel ) | ||||
|    batch->bm = intel->bm; | ||||
|  | ||||
|    bmGenBuffers(intel->bm, 1, &batch->buffer, BM_BATCHBUFFER); | ||||
|    batch->last_fence = bmInitFence(batch->bm); | ||||
|    intel_batchbuffer_reset( batch ); | ||||
|    return batch; | ||||
| } | ||||
| @@ -174,6 +175,17 @@ static void do_flush_locked( struct intel_batchbuffer *batch, | ||||
| 		     allow_unlock); | ||||
| #endif | ||||
|    batch->last_fence = bmFenceBufferList(batch->bm, batch->list); | ||||
|    if (!batch->intel->last_swap_fence_retired) { | ||||
|       int retired; | ||||
|       drmFence dFence = {0,batch->intel->last_swap_fence}; | ||||
|   | ||||
|      /*FIXME: Temporary fix for fence ageing | ||||
|       * | ||||
|       */ | ||||
|       if (!drmTestFence(batch->intel->driFd, dFence, 0, &retired)) { | ||||
| 	 batch->intel->last_swap_fence_retired = retired;  | ||||
|       } | ||||
|    }	   | ||||
| } | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -67,7 +67,13 @@ void intelCopyBuffer( const __DRIdrawablePrivate *dPriv ) | ||||
|    } | ||||
|    intel = (struct intel_context *) ctx; | ||||
|  | ||||
|    bmFinishFence(intel->bm, intel->last_swap_fence); | ||||
|    /* FIXME: Temporary fix for fence ageing. | ||||
|     *  | ||||
|     */ | ||||
|  | ||||
|    if (!intel->last_swap_fence_retired) { | ||||
|       bmFinishFence(intel->bm, intel->last_swap_fence); | ||||
|    } | ||||
|  | ||||
|    /* The LOCK_HARDWARE is required for the cliprects.  Buffer offsets | ||||
|     * should work regardless. | ||||
| @@ -138,6 +144,7 @@ void intelCopyBuffer( const __DRIdrawablePrivate *dPriv ) | ||||
|       } | ||||
|  | ||||
|       intel->last_swap_fence = intel_batchbuffer_flush( intel->batch ); | ||||
|       intel->last_swap_fence_retired = GL_FALSE; | ||||
|    } | ||||
|    UNLOCK_HARDWARE( intel ); | ||||
| } | ||||
|   | ||||
| @@ -58,7 +58,7 @@ static struct bufmgr | ||||
|  | ||||
|    unsigned buf_nr;			/* for generating ids */ | ||||
|    drmMMPool batchPool; | ||||
|  | ||||
|    drmFence initFence; | ||||
| } bufmgr_pool[BM_MAX]; | ||||
|  | ||||
| static int nr_bms; | ||||
| @@ -126,6 +126,8 @@ bm_intel_Attach(struct intel_context *intel) | ||||
| 				      BM_BATCHBUFFER, 1024 * 1024, 4096, | ||||
| 				      &bm->batchPool)); | ||||
|  | ||||
|        | ||||
|       BM_CKFATAL(drmEmitFence(bm->driFd, 0, &bm->initFence)); | ||||
|       drmUnlock(bm->driFd, intel->hHWContext); | ||||
|       return bm; | ||||
|    } | ||||
| @@ -441,4 +443,11 @@ bmFinishFence(struct bufmgr *bm, unsigned fence) | ||||
|    dFence.fenceType = 0; | ||||
|    dFence.fenceSeq = fence; | ||||
|    BM_CKFATAL(drmWaitFence(bm->driFd, dFence)); | ||||
|    bm->initFence = dFence; | ||||
| } | ||||
|  | ||||
| unsigned | ||||
| bmInitFence(struct bufmgr *bm) | ||||
| { | ||||
|    return bm->initFence.fenceSeq; | ||||
| } | ||||
|   | ||||
| @@ -119,7 +119,7 @@ int bmScanBufferList(struct bufmgr *bm, | ||||
| unsigned bmSetFence(struct bufmgr *); | ||||
| int bmTestFence(struct bufmgr *, unsigned fence); | ||||
| void bmFinishFence(struct bufmgr *, unsigned fence); | ||||
|  | ||||
| unsigned bmInitFence(struct bufmgr *bm); | ||||
| void bmSetShared(struct bufmgr *bm, unsigned buffer, | ||||
| 		 unsigned flags, unsigned long offset, void *virtual); | ||||
|  | ||||
|   | ||||
| @@ -86,7 +86,11 @@ int INTEL_DEBUG = (0); | ||||
| #include "extension_helper.h" | ||||
|  | ||||
|  | ||||
| #define DRIVER_DATE                     "20060212" | ||||
| #define DRIVER_DATE                     "20060329" | ||||
|  | ||||
| _glthread_Mutex lockMutex; | ||||
| static GLboolean lockMutexInit = GL_FALSE; | ||||
|  | ||||
|  | ||||
| static const GLubyte *intelGetString( GLcontext *ctx, GLenum name ) | ||||
| { | ||||
| @@ -303,6 +307,10 @@ GLboolean intelInitContext( struct intel_context *intel, | ||||
|    intel->driScreen = sPriv; | ||||
|    intel->sarea = saPriv; | ||||
|  | ||||
|    if (!lockMutexInit) { | ||||
|       lockMutexInit = GL_TRUE; | ||||
|       _glthread_INIT_MUTEX(lockMutex); | ||||
|    } | ||||
|  | ||||
|    ctx->Const.MaxTextureMaxAnisotropy = 2.0; | ||||
|  | ||||
| @@ -422,6 +430,8 @@ GLboolean intelInitContext( struct intel_context *intel, | ||||
| 				 intelScreen->height); | ||||
|     | ||||
|    intel->batch = intel_batchbuffer_alloc( intel ); | ||||
|    intel->last_swap_fence_retired = GL_TRUE; | ||||
|    intel->last_swap_fence = bmInitFence(intel->bm); | ||||
|    intel_bufferobj_init( intel ); | ||||
|    intel_fbo_init( intel ); | ||||
|  | ||||
| @@ -475,7 +485,8 @@ void intelDestroyContext(__DRIcontextPrivate *driContextPriv) | ||||
|          /* This share group is about to go away, free our private | ||||
|           * texture object data. | ||||
|           */ | ||||
| 	 fprintf(stderr, "do something to free texture heaps\n"); | ||||
| 	 if (INTEL_DEBUG & DEBUG_TEXTURE) | ||||
| 	    fprintf(stderr, "do something to free texture heaps\n"); | ||||
|       } | ||||
|  | ||||
|       /* free the Mesa context */ | ||||
| @@ -550,6 +561,7 @@ void intelGetLock( struct intel_context *intel, GLuint flags ) | ||||
|  | ||||
|    drmGetLock(intel->driFd, intel->hHWContext, flags); | ||||
|  | ||||
|  | ||||
|    /* If the window moved, may need to set a new cliprect now. | ||||
|     * | ||||
|     * NOTE: This releases and regains the hw lock, so all state | ||||
|   | ||||
| @@ -172,6 +172,7 @@ struct intel_context | ||||
|     | ||||
|    GLuint last_fence; | ||||
|    GLuint last_swap_fence; | ||||
|    GLboolean last_swap_fence_retired; | ||||
|  | ||||
|    struct intel_batchbuffer *batch; | ||||
|  | ||||
| @@ -265,7 +266,7 @@ struct intel_context | ||||
| }; | ||||
|  | ||||
|  | ||||
| #define DEBUG_LOCKING	1 | ||||
| #define DEBUG_LOCKING 1 | ||||
|  | ||||
| #if DEBUG_LOCKING | ||||
|  | ||||
| @@ -311,7 +312,7 @@ struct intel_context | ||||
|  | ||||
| #endif | ||||
|  | ||||
|  | ||||
| extern _glthread_Mutex lockMutex; | ||||
|  | ||||
|  | ||||
| /* Lock the hardware and validate our state.   | ||||
| @@ -319,6 +320,7 @@ struct intel_context | ||||
| #define LOCK_HARDWARE( intel )				\ | ||||
| do {							\ | ||||
|     char __ret=0;					\ | ||||
|     _glthread_LOCK_MUTEX(lockMutex);                    \ | ||||
|     DEBUG_CHECK_LOCK();					\ | ||||
|     assert(!(intel)->locked);				\ | ||||
|     DRM_CAS((intel)->driHwLock, (intel)->hHWContext,	\ | ||||
| @@ -341,6 +343,7 @@ do {									\ | ||||
|    }									\ | ||||
|    DRM_UNLOCK((intel)->driFd, (intel)->driHwLock, (intel)->hHWContext);	\ | ||||
|    DEBUG_RESET();							\ | ||||
|    _glthread_UNLOCK_MUTEX(lockMutex);                                   \ | ||||
| } while (0) | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -100,11 +100,12 @@ GLboolean intel_check_blit_format( struct intel_region *region, | ||||
|        format == GL_BGR ) { | ||||
|       return GL_TRUE; | ||||
|    } | ||||
|     | ||||
|    fprintf(stderr, "%s: bad format for blit (cpp %d, type %s format %s)\n",  | ||||
| 	   __FUNCTION__, region->cpp,  | ||||
| 	   _mesa_lookup_enum_by_nr(type), | ||||
| 	   _mesa_lookup_enum_by_nr(format)); | ||||
|  | ||||
|    if (INTEL_DEBUG & DEBUG_PIXEL) | ||||
|       fprintf(stderr, "%s: bad format for blit (cpp %d, type %s format %s)\n",  | ||||
| 	      __FUNCTION__, region->cpp,  | ||||
| 	      _mesa_lookup_enum_by_nr(type), | ||||
| 	      _mesa_lookup_enum_by_nr(format)); | ||||
|  | ||||
|    return GL_FALSE; | ||||
| } | ||||
|   | ||||
| @@ -116,7 +116,8 @@ static GLboolean do_texture_copypixels( GLcontext *ctx, | ||||
|  | ||||
|  | ||||
|       if (intel_intersect_cliprects(&tmp, &src, &dst)) { | ||||
| 	 _mesa_printf("%s: regions overlap\n", __FUNCTION__); | ||||
| 	 if (INTEL_DEBUG & DEBUG_PIXEL) | ||||
| 	    _mesa_printf("%s: regions overlap\n", __FUNCTION__); | ||||
| 	 return GL_FALSE; | ||||
|       } | ||||
|    } | ||||
| @@ -339,7 +340,9 @@ void intelCopyPixels( GLcontext *ctx, | ||||
|    if (do_texture_copypixels( ctx, srcx, srcy, width, height, destx, desty, type)) | ||||
|       return; | ||||
|  | ||||
|    _mesa_printf("fallback to _swrast_CopyPixels\n"); | ||||
|    if (INTEL_DEBUG & DEBUG_PIXEL) | ||||
|       _mesa_printf("fallback to _swrast_CopyPixels\n"); | ||||
|  | ||||
|    _swrast_CopyPixels( ctx, srcx, srcy, width, height, destx, desty, type); | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -74,7 +74,6 @@ static GLboolean do_texture_drawpixels( GLcontext *ctx, | ||||
|       if (!_mesa_validate_pbo_access(2, unpack, width, height, 1, | ||||
|                                      format, type, pixels)) { | ||||
|          _mesa_error(ctx, GL_INVALID_OPERATION, "glDrawPixels"); | ||||
| 	 _mesa_printf("%s - _mesa_validate_pbo_access\n", __FUNCTION__); | ||||
|          return GL_TRUE; | ||||
|       } | ||||
|    } | ||||
| @@ -96,7 +95,8 @@ static GLboolean do_texture_drawpixels( GLcontext *ctx, | ||||
|     * possible. | ||||
|     */ | ||||
|    if (!intel_check_meta_tex_fragment_ops(ctx)) { | ||||
|       _mesa_printf("%s - bad GL fragment state for metaops texture\n", __FUNCTION__); | ||||
|       if (INTEL_DEBUG & DEBUG_PIXEL) | ||||
| 	 _mesa_printf("%s - bad GL fragment state for metaops texture\n", __FUNCTION__); | ||||
|       return GL_FALSE; | ||||
|    } | ||||
|  | ||||
| @@ -163,7 +163,8 @@ static GLboolean do_texture_drawpixels( GLcontext *ctx, | ||||
|       } | ||||
|  | ||||
|  | ||||
|       _mesa_printf("draw %d,%d %dx%d\n", dstx,dsty,width,height); | ||||
|       if (INTEL_DEBUG & DEBUG_PIXEL) | ||||
| 	 _mesa_printf("draw %d,%d %dx%d\n", dstx,dsty,width,height); | ||||
|  | ||||
|       /* Must use the regular cliprect mechanism in order to get the | ||||
|        * drawing origin set correctly.  Otherwise scissor state is in | ||||
| @@ -183,7 +184,6 @@ static GLboolean do_texture_drawpixels( GLcontext *ctx, | ||||
|       intel_batchbuffer_flush(intel->batch); | ||||
|    } | ||||
|    UNLOCK_HARDWARE( intel ); | ||||
|    _mesa_printf("%s - DONE\n", __FUNCTION__); | ||||
|    return GL_TRUE; | ||||
| } | ||||
|  | ||||
| @@ -218,14 +218,15 @@ static GLboolean do_blit_drawpixels( GLcontext *ctx, | ||||
|    struct intel_buffer_object *src = intel_buffer_object(unpack->BufferObj); | ||||
|    GLuint src_offset; | ||||
|    GLuint rowLength; | ||||
|    GLuint fence = 0; | ||||
|    GLuint fence = bmInitFence(intel->bm); | ||||
|     | ||||
|    if (INTEL_DEBUG & DEBUG_PIXEL) | ||||
|       _mesa_printf("%s\n", __FUNCTION__); | ||||
|     | ||||
|     | ||||
|    if (!dest) { | ||||
|       _mesa_printf("%s - no dest\n", __FUNCTION__); | ||||
|       if (INTEL_DEBUG & DEBUG_PIXEL) | ||||
| 	 _mesa_printf("%s - no dest\n", __FUNCTION__); | ||||
|       return GL_FALSE; | ||||
|    } | ||||
|  | ||||
| @@ -235,30 +236,32 @@ static GLboolean do_blit_drawpixels( GLcontext *ctx, | ||||
|       if (!_mesa_validate_pbo_access(2, unpack, width, height, 1, | ||||
|                                      format, type, pixels)) { | ||||
|          _mesa_error(ctx, GL_INVALID_OPERATION, "glDrawPixels"); | ||||
| 	 _mesa_printf("%s - _mesa_validate_pbo_access\n", __FUNCTION__); | ||||
|  | ||||
|          return GL_TRUE; | ||||
|       } | ||||
|    } | ||||
|    else { | ||||
|       /* PBO only for now: | ||||
|        */ | ||||
|       _mesa_printf("%s - not PBO\n", __FUNCTION__); | ||||
|       if (INTEL_DEBUG & DEBUG_PIXEL) | ||||
| 	 _mesa_printf("%s - not PBO\n", __FUNCTION__); | ||||
|       return GL_FALSE; | ||||
|    } | ||||
|     | ||||
|    if (!intel_check_blit_format(dest, format, type)) { | ||||
|       _mesa_printf("%s - bad format for blit\n", __FUNCTION__); | ||||
|       if (INTEL_DEBUG & DEBUG_PIXEL) | ||||
| 	 _mesa_printf("%s - bad format for blit\n", __FUNCTION__); | ||||
|       return GL_FALSE; | ||||
|    } | ||||
|  | ||||
|    if (!intel_check_meta_tex_fragment_ops(ctx)) { | ||||
|       _mesa_printf("%s - bad GL fragment state for meta tex\n", __FUNCTION__); | ||||
|       if (INTEL_DEBUG & DEBUG_PIXEL) | ||||
| 	 _mesa_printf("%s - bad GL fragment state for meta tex\n", __FUNCTION__); | ||||
|       return GL_FALSE; | ||||
|    } | ||||
|  | ||||
|    if (ctx->Pixel.ZoomX != 1.0F) { | ||||
|       _mesa_printf("%s - bad PixelZoomX for blit\n", __FUNCTION__); | ||||
|       if (INTEL_DEBUG & DEBUG_PIXEL) | ||||
| 	 _mesa_printf("%s - bad PixelZoomX for blit\n", __FUNCTION__); | ||||
|       return GL_FALSE; | ||||
|    } | ||||
|  | ||||
| @@ -269,7 +272,8 @@ static GLboolean do_blit_drawpixels( GLcontext *ctx, | ||||
|       rowLength = width; | ||||
|  | ||||
|    if (ctx->Pixel.ZoomY == -1.0F) { | ||||
|       _mesa_printf("%s - bad PixelZoomY for blit\n", __FUNCTION__); | ||||
|       if (INTEL_DEBUG & DEBUG_PIXEL) | ||||
| 	 _mesa_printf("%s - bad PixelZoomY for blit\n", __FUNCTION__); | ||||
|       return GL_FALSE;		/* later */ | ||||
|       y -= height; | ||||
|    } | ||||
| @@ -277,7 +281,8 @@ static GLboolean do_blit_drawpixels( GLcontext *ctx, | ||||
|       rowLength = -rowLength; | ||||
|    } | ||||
|    else { | ||||
|       _mesa_printf("%s - bad PixelZoomY for blit\n", __FUNCTION__); | ||||
|       if (INTEL_DEBUG & DEBUG_PIXEL) | ||||
| 	 _mesa_printf("%s - bad PixelZoomY for blit\n", __FUNCTION__); | ||||
|       return GL_FALSE; | ||||
|    } | ||||
|  | ||||
| @@ -326,7 +331,8 @@ static GLboolean do_blit_drawpixels( GLcontext *ctx, | ||||
|    if (intel->driDrawable->numClipRects) | ||||
|       bmFinishFence(intel->bm, fence);    | ||||
|  | ||||
|    _mesa_printf("%s - DONE\n", __FUNCTION__); | ||||
|    if (INTEL_DEBUG & DEBUG_PIXEL) | ||||
|       _mesa_printf("%s - DONE\n", __FUNCTION__); | ||||
|  | ||||
|    return GL_TRUE; | ||||
| } | ||||
| @@ -350,7 +356,8 @@ void intelDrawPixels( GLcontext *ctx, | ||||
|       return; | ||||
|  | ||||
|  | ||||
|    _mesa_printf("%s: fallback to swrast\n", __FUNCTION__); | ||||
|    if (INTEL_DEBUG & DEBUG_PIXEL) | ||||
|       _mesa_printf("%s: fallback to swrast\n", __FUNCTION__); | ||||
|  | ||||
|    _swrast_DrawPixels( ctx, x, y, width, height, format, type, | ||||
| 		       unpack, pixels ); | ||||
|   | ||||
| @@ -93,7 +93,8 @@ do_texture_readpixels( GLcontext *ctx, | ||||
| 	pack->SwapBytes || | ||||
| 	pack->LsbFirst || | ||||
| 	!pack->Invert) { | ||||
|       fprintf(stderr, "%s: check_color failed\n", __FUNCTION__); | ||||
|       if (INTEL_DEBUG & DEBUG_PIXEL) | ||||
| 	 fprintf(stderr, "%s: check_color failed\n", __FUNCTION__); | ||||
|       return GL_FALSE; | ||||
|    } | ||||
|  | ||||
| @@ -103,10 +104,11 @@ do_texture_readpixels( GLcontext *ctx, | ||||
| 				     dest_region, | ||||
| 				     type, format)) | ||||
|    { | ||||
|       fprintf(stderr, "%s: couldn't set dest %s/%s\n", | ||||
| 	      __FUNCTION__, | ||||
| 	      _mesa_lookup_enum_by_nr(type), | ||||
| 	      _mesa_lookup_enum_by_nr(format)); | ||||
|       if (INTEL_DEBUG & DEBUG_PIXEL) | ||||
| 	 fprintf(stderr, "%s: couldn't set dest %s/%s\n", | ||||
| 		 __FUNCTION__, | ||||
| 		 _mesa_lookup_enum_by_nr(type), | ||||
| 		 _mesa_lookup_enum_by_nr(format)); | ||||
|       return GL_FALSE; | ||||
|    } | ||||
|  | ||||
| @@ -120,7 +122,8 @@ do_texture_readpixels( GLcontext *ctx, | ||||
|       if (!driClipRectToFramebuffer(ctx->ReadBuffer, &x, &y, &width, &height)) { | ||||
| 	 UNLOCK_HARDWARE( intel ); | ||||
| 	 SET_STATE(i830, state); | ||||
| 	 fprintf(stderr, "%s: cliprect failed\n", __FUNCTION__); | ||||
| 	 if (INTEL_DEBUG & DEBUG_PIXEL) | ||||
| 	    fprintf(stderr, "%s: cliprect failed\n", __FUNCTION__); | ||||
| 	 return GL_TRUE; | ||||
|       } | ||||
|  | ||||
| @@ -181,7 +184,7 @@ static GLboolean do_blit_readpixels( GLcontext *ctx, | ||||
|    struct intel_buffer_object *dst = intel_buffer_object(pack->BufferObj); | ||||
|    GLuint dst_offset; | ||||
|    GLuint rowLength; | ||||
|    GLuint fence = 0; | ||||
|    GLuint fence = bmInitFence(intel->bm); | ||||
|  | ||||
|    if (INTEL_DEBUG & DEBUG_PIXEL) | ||||
|       _mesa_printf("%s\n", __FUNCTION__); | ||||
| @@ -195,27 +198,28 @@ static GLboolean do_blit_readpixels( GLcontext *ctx, | ||||
|       if (!_mesa_validate_pbo_access(2, pack, width, height, 1, | ||||
|                                      format, type, pixels)) { | ||||
|          _mesa_error(ctx, GL_INVALID_OPERATION, "glDrawPixels"); | ||||
| 	 _mesa_printf("%s - _mesa_validate_pbo_access\n", __FUNCTION__); | ||||
|  | ||||
|          return GL_TRUE; | ||||
|       } | ||||
|    } | ||||
|    else { | ||||
|       /* PBO only for now: | ||||
|        */ | ||||
|       _mesa_printf("%s - not PBO\n", __FUNCTION__); | ||||
|       if (INTEL_DEBUG & DEBUG_PIXEL) | ||||
| 	 _mesa_printf("%s - not PBO\n", __FUNCTION__); | ||||
|       return GL_FALSE; | ||||
|    } | ||||
|  | ||||
|     | ||||
|    if (ctx->_ImageTransferState || | ||||
|        !intel_check_blit_format(src, format, type)) { | ||||
|       _mesa_printf("%s - bad format for blit\n", __FUNCTION__); | ||||
|       if (INTEL_DEBUG & DEBUG_PIXEL) | ||||
| 	 _mesa_printf("%s - bad format for blit\n", __FUNCTION__); | ||||
|       return GL_FALSE; | ||||
|    } | ||||
|  | ||||
|    if (pack->Alignment != 1 || pack->SwapBytes || pack->LsbFirst) { | ||||
|       _mesa_printf("%s: bad packing params\n", __FUNCTION__); | ||||
|       if (INTEL_DEBUG & DEBUG_PIXEL) | ||||
| 	 _mesa_printf("%s: bad packing params\n", __FUNCTION__); | ||||
|       return GL_FALSE; | ||||
|    } | ||||
|  | ||||
| @@ -225,7 +229,8 @@ static GLboolean do_blit_readpixels( GLcontext *ctx, | ||||
|       rowLength = width; | ||||
|  | ||||
|    if (pack->Invert) { | ||||
|       _mesa_printf("%s: MESA_PACK_INVERT not done yet\n", __FUNCTION__); | ||||
|       if (INTEL_DEBUG & DEBUG_PIXEL) | ||||
| 	 _mesa_printf("%s: MESA_PACK_INVERT not done yet\n", __FUNCTION__); | ||||
|       return GL_FALSE; | ||||
|    } | ||||
|    else { | ||||
| @@ -308,7 +313,8 @@ intelReadPixels( GLcontext *ctx, | ||||
|    if (do_texture_readpixels(ctx, x, y, width, height, format, type, pack, pixels)) | ||||
|       return; | ||||
|  | ||||
|    _mesa_printf("%s: fallback to swrast\n", __FUNCTION__); | ||||
|    if (INTEL_DEBUG & DEBUG_PIXEL) | ||||
|       _mesa_printf("%s: fallback to swrast\n", __FUNCTION__); | ||||
|  | ||||
|    _swrast_ReadPixels( ctx, x, y, width, height, format, type, pack, pixels); | ||||
| } | ||||
|   | ||||
| @@ -190,7 +190,7 @@ intel_map_unmap_buffers(struct intel_context *intel, GLboolean map) | ||||
|       for (j = 0; j < ctx->DrawBuffer->_NumColorDrawBuffers[i]; j++) { | ||||
|          struct gl_renderbuffer *rb = ctx->DrawBuffer->_ColorDrawBuffers[i][j]; | ||||
|          irb = intel_renderbuffer(rb); | ||||
|          if (irb && irb->Base.Name != 0) { /* XXX FBO temporary test */ | ||||
|          if (irb) { | ||||
|             /* this is a user-created intel_renderbuffer */ | ||||
|             if (irb->region) { | ||||
|                if (map) | ||||
| @@ -224,11 +224,13 @@ intel_map_unmap_buffers(struct intel_context *intel, GLboolean map) | ||||
|  | ||||
|    /* color read buffers */ | ||||
|    irb = intel_renderbuffer(ctx->ReadBuffer->_ColorReadBuffer); | ||||
|    if (irb && irb->region && irb->Base.Name != 0) { | ||||
|    if (irb && irb->region) { | ||||
|       if (map) | ||||
|          intel_region_map(intel, irb->region); | ||||
|       else | ||||
|          intel_region_unmap(intel, irb->region); | ||||
|       irb->pfMap = irb->region->map; | ||||
|       irb->pfPitch = irb->region->pitch; | ||||
|    } | ||||
|  | ||||
|    /* Account for front/back color page flipping. | ||||
|   | ||||
| @@ -247,8 +247,10 @@ static void intelTexImage(GLcontext *ctx, | ||||
|     | ||||
|    if (!intelObj->mt) { | ||||
|       guess_and_alloc_mipmap_tree(intel, intelObj, intelImage); | ||||
|       if (!intelObj->mt) | ||||
| 	 _mesa_printf("guess_and_alloc_mipmap_tree: failed\n"); | ||||
|       if (!intelObj->mt) { | ||||
| 	 if (INTEL_DEBUG & DEBUG_TEXTURE) | ||||
| 	    _mesa_printf("guess_and_alloc_mipmap_tree: failed\n"); | ||||
|       } | ||||
|    } | ||||
|  | ||||
|  | ||||
| @@ -265,8 +267,10 @@ static void intelTexImage(GLcontext *ctx, | ||||
|       assert(intelImage->mt); | ||||
|    } | ||||
|  | ||||
|    if (!intelImage->mt) | ||||
|       _mesa_printf("XXX: Image did not fit into tree - storing in local memory!\n"); | ||||
|    if (!intelImage->mt) { | ||||
|       if (INTEL_DEBUG & DEBUG_TEXTURE) | ||||
| 	 _mesa_printf("XXX: Image did not fit into tree - storing in local memory!\n"); | ||||
|    } | ||||
|  | ||||
|    /* intelCopyTexImage calls this function with pixels == NULL, with | ||||
|     * the expectation that the mipmap tree will be set up but nothing | ||||
|   | ||||
		Reference in New Issue
	
	Block a user