2 * Copyright (C) 2016 Etnaviv Project
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
11 * The above copyright notice and this permission notice (including the next
12 * paragraph) shall be included in all copies or substantial portions of the
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
24 * Christian Gmeiner <christian.gmeiner@gmail.com>
36 #include "etnaviv_drmif.h"
37 #include "etnaviv_drm.h"
39 static void test_cache(struct etna_device
*dev
)
41 struct etna_bo
*bo
, *tmp
;
43 /* allocate and free some bo's with same size - we must
44 * get the same bo over and over. */
45 printf("testing bo cache ... ");
47 bo
= tmp
= etna_bo_new(dev
, 0x100, ETNA_BO_UNCACHED
);
51 for (unsigned i
= 0; i
< 100; i
++) {
52 tmp
= etna_bo_new(dev
, 0x100, ETNA_BO_UNCACHED
);
60 static void test_size_rounding(struct etna_device
*dev
)
64 printf("testing size rounding ... ");
66 bo
= etna_bo_new(dev
, 15, ETNA_BO_UNCACHED
);
67 assert(etna_bo_size(bo
) == 4096);
70 bo
= etna_bo_new(dev
, 4096, ETNA_BO_UNCACHED
);
71 assert(etna_bo_size(bo
) == 4096);
74 bo
= etna_bo_new(dev
, 4100, ETNA_BO_UNCACHED
);
75 assert(etna_bo_size(bo
) == 8192);
81 int main(int argc
, char *argv
[])
83 struct etna_device
*dev
;
85 drmVersionPtr version
;
88 fd
= open(argv
[1], O_RDWR
);
92 version
= drmGetVersion(fd
);
94 printf("Version: %d.%d.%d\n", version
->version_major
,
95 version
->version_minor
, version
->version_patchlevel
);
96 printf(" Name: %s\n", version
->name
);
97 printf(" Date: %s\n", version
->date
);
98 printf(" Description: %s\n", version
->desc
);
99 drmFreeVersion(version
);
102 dev
= etna_device_new(fd
);
109 test_size_rounding(dev
);
111 etna_device_del(dev
);