summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965/intel_screen.h
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2007-12-07 16:15:49 -0800
committerEric Anholt <eric@anholt.net>2007-12-07 16:19:10 -0800
commite3a6e60040b7f6ea7965e52f8f9881ed31e0347c (patch)
tree6fadf576b904bb479936a355ed716ca305556848 /src/mesa/drivers/dri/i965/intel_screen.h
parent3ecdae82d751f9f404d10332f030e3280949ce4e (diff)
downloadexternal_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.h22
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;