~ubuntu-branches/ubuntu/edgy/xorg-server/edgy-updates

« back to all changes in this revision

Viewing changes to hw/kdrive/neomagic/backend.c

  • Committer: Bazaar Package Importer
  • Author(s): Rodrigo Parra Novo
  • Date: 2006-07-25 20:06:28 UTC
  • mfrom: (1.1.4 upstream)
  • Revision ID: james.westby@ubuntu.com-20060725200628-gjmmd9gxfxdc4ejs
Tags: 1:1.1.1-0ubuntu1
* New Upstream version
* Changed Build-Depends from mesa-swrast-source to mesa-swx11-source,
  following Debian package nomenclature
* Re-did 12_security_policy_in_etc.diff for 1.1.1
* Dropped 15_security_allocate_local.diff (applied upstream)
* Dropped 16_SECURITY_setuid.diff (applied upstream)
* Dropped 000_ubuntu_fix_read_kernel_mapping.patch (applied upstream)
* Dropped 002_ubuntu_fix_for_certain_intel_chipsets.patch (applied upstream)
* Updated versioned Build-Depends on mesa-swx11-source to version
  6.5.0.cvs.20060725-0ubuntu1
* Added arrayobj.c, arrayobj.h, bitset.h & rbadaptors.h to
  GL/symlink-mesa.sh (linked from mesa-swx11-source)
* Added arrayobj.c to default build target on GL/mesa/main

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Generic card driving functions.
 
3
 * Essentially, cascades calls to fbdev and vesa to initialize cards that
 
4
 * do not have hardware-specific routines yet. Copied from the ati driver.
 
5
 *
 
6
 * Copyright (c) 2004 Brent Cook <busterb@mail.utexas.edu>
 
7
 *
 
8
 * This code is licensed under the GPL.  See the file COPYING in the root
 
9
 * directory of the sources for details.
 
10
 */
 
11
 
 
12
#ifdef HAVE_CONFIG_H
 
13
#include <kdrive-config.h>
 
14
#endif
 
15
#include "backend.h"
 
16
 
 
17
Bool
 
18
backendInitialize(KdCardInfo *card, BackendInfo *backend)
 
19
{
 
20
    Bool success = FALSE;
 
21
 
 
22
#ifdef KDRIVEVESA
 
23
    if (!success && vesaInitialize(card, &backend->priv.vesa)) {
 
24
        success = TRUE;
 
25
        backend->type = VESA;
 
26
        backend->cardfini = vesaCardFini;
 
27
        backend->scrfini = vesaScreenFini;
 
28
        backend->initScreen = vesaInitScreen;
 
29
        backend->finishInitScreen = vesaFinishInitScreen;
 
30
        backend->createRes = vesaCreateResources;
 
31
        backend->preserve = vesaPreserve;
 
32
        backend->restore = vesaRestore;
 
33
        backend->dpms = vesaDPMS;
 
34
        backend->enable = vesaEnable;
 
35
        backend->disable = vesaDisable;
 
36
        backend->getColors = vesaGetColors;
 
37
        backend->putColors = vesaPutColors;
 
38
    }
 
39
#endif
 
40
#ifdef KDRIVEFBDEV
 
41
    if (!success && fbdevInitialize(card, &backend->priv.fbdev)) {
 
42
        success = TRUE;
 
43
        backend->type = FBDEV;
 
44
        backend->cardfini = fbdevCardFini;
 
45
        backend->scrfini = fbdevScreenFini;
 
46
        backend->initScreen = fbdevInitScreen;
 
47
        backend->finishInitScreen = fbdevFinishInitScreen;
 
48
        backend->createRes = fbdevCreateResources;
 
49
        backend->preserve = fbdevPreserve;
 
50
        backend->restore = fbdevRestore;
 
51
        backend->dpms = fbdevDPMS;
 
52
        backend->enable = fbdevEnable;
 
53
        backend->disable = fbdevDisable;
 
54
        backend->getColors = fbdevGetColors;
 
55
        backend->putColors = fbdevPutColors;
 
56
    }
 
57
#endif
 
58
    return success;
 
59
}
 
60
 
 
61
Bool
 
62
backendScreenInitialize(KdScreenInfo *screen, BackendScreen *backendScreen,
 
63
                        BackendInfo *backendCard)
 
64
{
 
65
    Bool success = FALSE;
 
66
 
 
67
#ifdef KDRIVEFBDEV
 
68
    if (backendCard->type == FBDEV) {
 
69
        screen->card->driver = &backendCard->priv.fbdev;
 
70
        success = fbdevScreenInitialize(screen, &backendScreen->fbdev);
 
71
        screen->memory_size = backendCard->priv.fbdev.fix.smem_len;
 
72
        screen->off_screen_base = backendCard->priv.fbdev.var.yres_virtual
 
73
                                * screen->fb[0].byteStride;
 
74
    }
 
75
#endif
 
76
#ifdef KDRIVEVESA
 
77
    if (backendCard->type == VESA) {
 
78
                screen->card->driver = &backendCard->priv.vesa;
 
79
        if (screen->fb[0].depth == 0) {
 
80
            screen->fb[0].depth = 16;
 
81
        }
 
82
        success = vesaScreenInitialize(screen, &backendScreen->vesa);
 
83
    }
 
84
#endif
 
85
    return success;
 
86
}