Fix vertex upload regression
[chai.git] / shim.h
1 /* The shim requires assert support, with its own fancy name. */
2
3 #include <assert.h>
4 #define CDBG_ASSERT assert
5
6 /* Integer types used in the shim. */
7
8 #include <stdint.h>
9
10 typedef int8_t s8;
11 typedef int16_t s16;
12 typedef int32_t s32;
13 typedef int64_t s64;
14
15 typedef uint8_t u8;
16 typedef uint16_t u16;
17 typedef uint32_t u32;
18 typedef uint64_t u64;
19
20 /* MMU-related defines, normally present in Linux, but absent here.
21  * See arch/arm/include/asm/page.h in the Linux tree */
22
23 #define PAGE_SHIFT      12
24 #define PAGE_SIZE       (1 << PAGE_SHIFT)
25 #define PAGE_MASK       (~(PAGE_SIZE - 1))
26
27 /* Include the shim directly. */
28 #include "../oolong/mali_kbase_uku.h"
29
30 /* Include definitions for thin chai wrappers */
31
32 int open_kernel_module();
33 uint64_t alloc_gpu_pages(int fd, int pages, int e_flags);
34 uint64_t alloc_gpu_heap(int fd, int pages);
35 void free_gpu(int fd, uint64_t addr);
36 void sync_gpu(int fd, uint8_t* cpu, uint64_t gpu, size_t size);
37 void submit_job(int fd, struct base_jd_atom_v2 atom);
38 void flush_job_queue(int fd);
39 uint8_t* mmap_gpu(int fd, uint64_t addr, int page_count);
40 void stream_create(int fd, char *stream);
41 void query_gpu_props(int fd);