summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/intel/intel_depthtmp.h
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2009-10-30 15:33:11 -0700
committerEric Anholt <eric@anholt.net>2009-10-30 17:35:12 -0700
commit7c8bed62e0165a0be3363f7abf81bf9e30341e00 (patch)
tree2ebd147f0eb3eda07098248f642e0fdf7f4078d7 /src/mesa/drivers/dri/intel/intel_depthtmp.h
parentd63c29ef20b26aa90fb310216011d03253e4f09b (diff)
intel: Use GTT mapping when available for swrast.
This improves piglit quick.tests runtime from 19:33 minutes to 6:06 on my GM45. It should also hide most of the A17 swizzling issues, though they'll still exist when swapping occurs (which is the kernel's problem either way).
Diffstat (limited to 'src/mesa/drivers/dri/intel/intel_depthtmp.h')
-rw-r--r--src/mesa/drivers/dri/intel/intel_depthtmp.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/intel/intel_depthtmp.h b/src/mesa/drivers/dri/intel/intel_depthtmp.h
index 16d7708453..a9c75d44cf 100644
--- a/src/mesa/drivers/dri/intel/intel_depthtmp.h
+++ b/src/mesa/drivers/dri/intel/intel_depthtmp.h
@@ -31,6 +31,16 @@
*/
#define VALUE_TYPE INTEL_VALUE_TYPE
+#define WRITE_DEPTH(_x, _y, d) \
+ (*(INTEL_VALUE_TYPE *)(irb->region->buffer->virtual + \
+ NO_TILE(_x, _y)) = d)
+#define READ_DEPTH(d, _x, _y) \
+ d = *(INTEL_VALUE_TYPE *)(irb->region->buffer->virtual + \
+ NO_TILE(_x, _y))
+#define TAG(x) INTEL_TAG(intel_gttmap_##x)
+#include "depthtmp.h"
+
+#define VALUE_TYPE INTEL_VALUE_TYPE
#define WRITE_DEPTH(_x, _y, d) INTEL_WRITE_DEPTH(NO_TILE(_x, _y), d)
#define READ_DEPTH(d, _x, _y) d = INTEL_READ_DEPTH(NO_TILE(_x, _y))
#define TAG(x) INTEL_TAG(intel##x)