~ubuntu-branches/ubuntu/precise/mesa/precise-updates

« back to all changes in this revision

Viewing changes to src/mesa/drivers/dri/radeon/radeon_bo.c

  • Committer: Package Import Robot
  • Author(s): Robert Hooker
  • Date: 2012-02-02 12:05:48 UTC
  • mfrom: (1.7.1) (3.3.27 sid)
  • Revision ID: package-import@ubuntu.com-20120202120548-nvkma85jq0h4coix
Tags: 8.0~rc2-0ubuntu4
Drop drisearchdir handling, it is no longer needed with multiarch
and dri-alternates being removed.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#include <radeon_bocs_wrapper.h>
2
 
#include <radeon_bo_int_drm.h>
3
 
 
4
 
void radeon_bo_debug(struct radeon_bo *bo,
5
 
                     const char *op)
6
 
{
7
 
    struct radeon_bo_int *boi = (struct radeon_bo_int *)bo;
8
 
 
9
 
    fprintf(stderr, "%s %p 0x%08X 0x%08X 0x%08X\n",
10
 
            op, bo, bo->handle, boi->size, boi->cref);
11
 
}
12
 
 
13
 
struct radeon_bo *radeon_bo_open(struct radeon_bo_manager *bom,
14
 
                                 uint32_t handle,
15
 
                                 uint32_t size,
16
 
                                 uint32_t alignment,
17
 
                                 uint32_t domains,
18
 
                                 uint32_t flags)
19
 
{
20
 
    struct radeon_bo *bo;
21
 
    bo = bom->funcs->bo_open(bom, handle, size, alignment, domains, flags);
22
 
    return bo;
23
 
}
24
 
 
25
 
void radeon_bo_ref(struct radeon_bo *bo)
26
 
{
27
 
    struct radeon_bo_int *boi = (struct radeon_bo_int *)bo;
28
 
    boi->cref++;
29
 
    boi->bom->funcs->bo_ref(boi);
30
 
}
31
 
 
32
 
struct radeon_bo *radeon_bo_unref(struct radeon_bo *bo)
33
 
{
34
 
    struct radeon_bo_int *boi = (struct radeon_bo_int *)bo;
35
 
    boi->cref--;
36
 
    return boi->bom->funcs->bo_unref(boi);
37
 
}
38
 
 
39
 
int radeon_bo_map(struct radeon_bo *bo, int write)
40
 
{
41
 
    struct radeon_bo_int *boi = (struct radeon_bo_int *)bo;
42
 
    return boi->bom->funcs->bo_map(boi, write);
43
 
}
44
 
 
45
 
int radeon_bo_unmap(struct radeon_bo *bo)
46
 
{
47
 
    struct radeon_bo_int *boi = (struct radeon_bo_int *)bo;
48
 
    return boi->bom->funcs->bo_unmap(boi);
49
 
}
50
 
 
51
 
int radeon_bo_wait(struct radeon_bo *bo)
52
 
{
53
 
    struct radeon_bo_int *boi = (struct radeon_bo_int *)bo;
54
 
    if (!boi->bom->funcs->bo_wait)
55
 
        return 0;
56
 
    return boi->bom->funcs->bo_wait(boi);
57
 
}
58
 
 
59
 
int radeon_bo_is_busy(struct radeon_bo *bo,
60
 
                      uint32_t *domain)
61
 
{
62
 
    struct radeon_bo_int *boi = (struct radeon_bo_int *)bo;
63
 
    return boi->bom->funcs->bo_is_busy(boi, domain);
64
 
}
65
 
 
66
 
int radeon_bo_set_tiling(struct radeon_bo *bo,
67
 
                         uint32_t tiling_flags, uint32_t pitch)
68
 
{
69
 
    struct radeon_bo_int *boi = (struct radeon_bo_int *)bo;
70
 
    return boi->bom->funcs->bo_set_tiling(boi, tiling_flags, pitch);
71
 
}
72
 
 
73
 
int radeon_bo_get_tiling(struct radeon_bo *bo,
74
 
                          uint32_t *tiling_flags, uint32_t *pitch)
75
 
{
76
 
    struct radeon_bo_int *boi = (struct radeon_bo_int *)bo;
77
 
    return boi->bom->funcs->bo_get_tiling(boi, tiling_flags, pitch);
78
 
}
79
 
 
80
 
int radeon_bo_is_static(struct radeon_bo *bo)
81
 
{
82
 
    struct radeon_bo_int *boi = (struct radeon_bo_int *)bo;
83
 
    if (boi->bom->funcs->bo_is_static)
84
 
        return boi->bom->funcs->bo_is_static(boi);
85
 
    return 0;
86
 
}
87
 
 
88
 
int radeon_bo_is_referenced_by_cs(struct radeon_bo *bo,
89
 
                                  struct radeon_cs *cs)
90
 
{
91
 
    struct radeon_bo_int *boi = (struct radeon_bo_int *)bo;
92
 
    return boi->cref > 1;
93
 
}
94
 
 
95
 
uint32_t radeon_bo_get_handle(struct radeon_bo *bo)
96
 
{
97
 
    return bo->handle;
98
 
}
99
 
 
100
 
uint32_t radeon_bo_get_src_domain(struct radeon_bo *bo)
101
 
{
102
 
    struct radeon_bo_int *boi = (struct radeon_bo_int *)bo;
103
 
    uint32_t src_domain;
104
 
 
105
 
    src_domain = boi->space_accounted & 0xffff;
106
 
    if (!src_domain)
107
 
        src_domain = boi->space_accounted >> 16;
108
 
 
109
 
    return src_domain;
110
 
}