diff options
author | Keith Packard <keithp@keithp.com> | 2004-06-28 00:48:51 +0000 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2004-06-28 00:48:51 +0000 |
commit | 7ff67f2872ddd15908f789ec9bdb76e8211d6431 (patch) | |
tree | 04caafc996ec21117517e3db247e3b1f1944322b /hw/kdrive/fbdev | |
parent | 5b75aae2cf1ad38556e9a55da72ad65419aa7f84 (diff) |
Separate out off-screen allocation from Init. Fix Enable to update
off-screen addresses. Wrap RandR to update off-screen addresses.
Set off_screen_base and memory_size fields correctly.
Diffstat (limited to 'hw/kdrive/fbdev')
-rw-r--r-- | hw/kdrive/fbdev/fbdev.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/hw/kdrive/fbdev/fbdev.c b/hw/kdrive/fbdev/fbdev.c index d904a4aa1..44a95d19e 100644 --- a/hw/kdrive/fbdev/fbdev.c +++ b/hw/kdrive/fbdev/fbdev.c @@ -333,14 +333,14 @@ fbdevMapFramebuffer (KdScreenInfo *screen) screen->width = priv->var.xres; screen->height = priv->var.yres; screen->memory_base = (CARD8 *) (priv->fb); - screen->memory_size = 0; - screen->off_screen_base = 0; + screen->memory_size = priv->fix.smem_len; if (scrpriv->shadow) { if (!KdShadowFbAlloc (screen, 0, scrpriv->randr & (RR_Rotate_90|RR_Rotate_270))) return FALSE; + screen->off_screen_base = screen->memory_size; } else { @@ -348,6 +348,7 @@ fbdevMapFramebuffer (KdScreenInfo *screen) screen->fb[0].pixelStride = (priv->fix.line_length * 8 / priv->var.bits_per_pixel); screen->fb[0].frameBuffer = (CARD8 *) (priv->fb); + screen->off_screen_base = screen->fb[0].byteStride * screen->height; } return TRUE; |