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_screen.h | |
parent | 3ecdae82d751f9f404d10332f030e3280949ce4e (diff) | |
download | external_mesa3d-e3a6e60040b7f6ea7965e52f8f9881ed31e0347c.zip external_mesa3d-e3a6e60040b7f6ea7965e52f8f9881ed31e0347c.tar.gz external_mesa3d-e3a6e60040b7f6ea7965e52f8f9881ed31e0347c.tar.bz2 |
[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_screen.h')
-rw-r--r-- | src/mesa/drivers/dri/i965/intel_screen.h | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/i965/intel_screen.h b/src/mesa/drivers/dri/i965/intel_screen.h index bf9a716..9d6c9de 100644 --- a/src/mesa/drivers/dri/i965/intel_screen.h +++ b/src/mesa/drivers/dri/i965/intel_screen.h @@ -30,6 +30,7 @@ #include <sys/time.h> #include "dri_util.h" +#include "dri_bufmgr.h" #include "xmlconfig.h" #include "i830_common.h" @@ -42,6 +43,7 @@ typedef struct { char *map; /* memory map */ int offset; /* from start of video mem, in bytes */ int pitch; /* row stride, in pixels */ + unsigned int bo_handle; unsigned int tiled; } intelRegion; @@ -52,7 +54,12 @@ typedef struct intelRegion rotated; intelRegion depth; intelRegion tex; - + + struct intel_region *front_region; + struct intel_region *back_region; + struct intel_region *depth_region; + struct intel_region *rotated_region; + int deviceID; int width; int height; @@ -76,10 +83,23 @@ typedef struct int current_rotation; /* 0, 90, 180 or 270 */ int rotatedWidth, rotatedHeight; + GLboolean no_hw; + /** * Configuration cache with default values for all contexts */ driOptionCache optionCache; + + dri_bufmgr *bufmgr; + unsigned int maxBatchSize; + + /** + * This value indicates that the kernel memory manager is being used + * instead of the fake client-side memory manager. + */ + GLboolean ttm; + + unsigned batch_id; } intelScreenPrivate; |