diff options
author | Eric Anholt <eric@anholt.net> | 2007-12-07 16:15:49 -0800 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2007-12-07 16:19:10 -0800 |
commit | e3a6e60040b7f6ea7965e52f8f9881ed31e0347c (patch) | |
tree | 6fadf576b904bb479936a355ed716ca305556848 /src/mesa/drivers/dri/i965/intel_context.h | |
parent | 3ecdae82d751f9f404d10332f030e3280949ce4e (diff) |
[965] Convert the driver to dri_bufmgr interface and enable TTM.
This is currently believed to work but be a significant performance loss.
Performance recovery should be soon to follow.
The dri_bo_fake_disable_backing_store() call was added to allow backing store
disable like bufmgr_fake.c did, which is a significant performance win (though
it's missing the no-fence-subdata part).
This commit is a squash merge of the 965-ttm branch, which had some history
I wanted to avoid pulling due to noisiness and brokenness at many points
for git-bisecting.
Diffstat (limited to 'src/mesa/drivers/dri/i965/intel_context.h')
-rw-r--r-- | src/mesa/drivers/dri/i965/intel_context.h | 27 |
1 files changed, 10 insertions, 17 deletions
diff --git a/src/mesa/drivers/dri/i965/intel_context.h b/src/mesa/drivers/dri/i965/intel_context.h index fa35f3fbe5..4aa9413bec 100644 --- a/src/mesa/drivers/dri/i965/intel_context.h +++ b/src/mesa/drivers/dri/i965/intel_context.h @@ -151,17 +151,16 @@ struct intel_context GLfloat s0, GLfloat s1, GLfloat t0, GLfloat t1); - - + void (*debug_batch)(struct intel_context *intel); } vtbl; GLint refcount; GLuint Fallback; GLuint NewGLState; - GLuint last_swap_fence; - GLuint second_last_swap_fence; - + dri_fence *first_swap_fence; + dri_fence *last_swap_fence; + GLuint stats_wm; struct intel_batchbuffer *batch; @@ -178,29 +177,17 @@ struct intel_context GLboolean hw_stencil; GLboolean hw_stipple; GLboolean depth_buffer_is_float; - GLboolean no_hw; GLboolean no_rast; - GLboolean thrashing; GLboolean locked; GLboolean strict_conformance; GLboolean need_flush; - - - /* AGP memory buffer manager: - */ - struct bufmgr *bm; - - /* State for intelvb.c and inteltris.c. */ GLenum render_primitive; GLenum reduced_primitive; - struct intel_region *front_region; - struct intel_region *back_region; struct intel_region *draw_region; - struct intel_region *depth_region; /* These refer to the current draw (front vs. back) buffer: */ @@ -218,6 +205,12 @@ struct intel_context drmLock *driHwLock; int driFd; + /* Cached values from the screen private. */ + dri_bufmgr *bufmgr; + struct intel_region *front_region; + struct intel_region *back_region; + struct intel_region *depth_region; + __DRIdrawablePrivate *driDrawable; __DRIdrawablePrivate *driReadDrawable; __DRIscreenPrivate *driScreen; |