summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2011-06-05 14:56:32 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2011-06-05 14:56:32 +0100
commit73167711226f430cc9ef4c27f267655d0edf4622 (patch)
tree5e1fba8ccc2c4df97ded3852b87ef30055eb9a88
parent0260c4ce32fa4d7ae8c6ee79d5488b0114e96251 (diff)
sna: 915gm does not have 128-byte Y-tiling
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/intel_module.c9
-rw-r--r--src/sna/kgem.c4
2 files changed, 8 insertions, 5 deletions
diff --git a/src/intel_module.c b/src/intel_module.c
index 9b1da491..3b8ab5e8 100644
--- a/src/intel_module.c
+++ b/src/intel_module.c
@@ -53,6 +53,9 @@ static const struct intel_device_info intel_i8xx_info = {
static const struct intel_device_info intel_i915_info = {
.gen = 30,
};
+static const struct intel_device_info intel_i945_info = {
+ .gen = 31,
+};
static const struct intel_device_info intel_g33_info = {
.gen = 33,
@@ -148,9 +151,9 @@ static const struct pci_id_match intel_device_match[] = {
INTEL_DEVICE_MATCH (PCI_CHIP_I915_G, &intel_i915_info ),
INTEL_DEVICE_MATCH (PCI_CHIP_E7221_G, &intel_i915_info ),
INTEL_DEVICE_MATCH (PCI_CHIP_I915_GM, &intel_i915_info ),
- INTEL_DEVICE_MATCH (PCI_CHIP_I945_G, &intel_i915_info ),
- INTEL_DEVICE_MATCH (PCI_CHIP_I945_GM, &intel_i915_info ),
- INTEL_DEVICE_MATCH (PCI_CHIP_I945_GME, &intel_i915_info ),
+ INTEL_DEVICE_MATCH (PCI_CHIP_I945_G, &intel_i945_info ),
+ INTEL_DEVICE_MATCH (PCI_CHIP_I945_GM, &intel_i945_info ),
+ INTEL_DEVICE_MATCH (PCI_CHIP_I945_GME, &intel_i945_info ),
INTEL_DEVICE_MATCH (PCI_CHIP_PINEVIEW_M, &intel_g33_info ),
INTEL_DEVICE_MATCH (PCI_CHIP_PINEVIEW_G, &intel_g33_info ),
diff --git a/src/sna/kgem.c b/src/sna/kgem.c
index 0dee6e55..fdc21080 100644
--- a/src/sna/kgem.c
+++ b/src/sna/kgem.c
@@ -369,7 +369,7 @@ static uint32_t kgem_surface_size(struct kgem *kgem,
uint32_t tile_width, tile_height;
uint32_t size;
- if (kgem->gen == 2) {
+ if (kgem->gen < 20) {
if (tiling) {
tile_width = 512;
tile_height = 16;
@@ -388,7 +388,7 @@ static uint32_t kgem_surface_size(struct kgem *kgem,
tile_height = 8;
break;
case I915_TILING_Y:
- tile_width = 128;
+ tile_width = kgem->gen <= 30 ? 512 : 128;
tile_height = 32;
break;
}