summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlija Hadzic <ihadzic@research.bell-labs.com>2011-11-03 20:16:47 -0400
committerAlex Deucher <alexdeucher@gmail.com>2011-11-04 17:47:49 -0400
commit5ec34ed95948f7164184551615c1fc4c3eef3b98 (patch)
tree60208d9c811b387a157a581aac58b214aa63d0fe
parent4853ab2cdc3b97948c7cd69eaf4fff54f59774fc (diff)
DRI/DRI2: remove hard-coded limitation to 6 crtcs
DRM's hard limit to the number of CRTCs is 32. ATI DDX unnecessarily clips this limit to 6 by hard coding initial assumption for output->possible_crtcs mask to 0x7f (before it gets trimmed down to what's really possible for a given output) and by allocating only 6 entries for for cursor_bo[] array in RADEONInfoRec. Fix this and thus allow the ATI DDX to deal with as many CRTCs as the DRM allows (32), so it is ready if anything with >6 CRTCs comes out. Signed-off-by: Ilija Hadzic <ihadzic@research.bell-labs.com>
-rw-r--r--src/drmmode_display.c2
-rw-r--r--src/radeon.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/drmmode_display.c b/src/drmmode_display.c
index f49aa3dc..f9f98125 100644
--- a/src/drmmode_display.c
+++ b/src/drmmode_display.c
@@ -1011,7 +1011,7 @@ drmmode_output_init(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int num, int *num_dv
output->doubleScanAllowed = TRUE;
output->driver_private = drmmode_output;
- output->possible_crtcs = 0x7f;
+ output->possible_crtcs = 0xffffffff;
for (i = 0; i < koutput->count_encoders; i++) {
output->possible_crtcs &= kencoders[i]->possible_crtcs;
}
diff --git a/src/radeon.h b/src/radeon.h
index 73d6db1e..da95f8bf 100644
--- a/src/radeon.h
+++ b/src/radeon.h
@@ -1001,7 +1001,7 @@ typedef struct {
struct radeon_cs_manager *csm;
struct radeon_cs *cs;
- struct radeon_bo *cursor_bo[6];
+ struct radeon_bo *cursor_bo[32];
uint64_t vram_size;
uint64_t gart_size;
drmmode_rec drmmode;