d1a254d8e390bf61919305ec926e4a3a07efb6d4
[chai.git] / src / synthesise.h
1 #include "shim.h"
2 #include "jobs.h"
3 #include "memory.h"
4 #include "chai-notes.h"
5
6 #include <stddef.h>
7 #include <stdbool.h>
8
9 struct job_descriptor_header* set_value_helper(int fd, uint64_t out);
10
11 uint64_t make_mfbd(bool tiler, uint64_t heap_free_address,
12                 uint64_t scratchpad);
13
14 uint32_t job_chain_fragment(int fd, uint64_t framebuffer,
15                 uint64_t heap_free_address, uint64_t scratchpad);
16
17 uint64_t import_shader(int fd, uint8_t *shader, size_t sz, bool frag);
18 uint32_t upload_vertices(float *vertices, size_t sz);
19
20 struct job_descriptor_header* vertex_tiler_helper(int fd, bool tiler,
21                 uint32_t fbd, uint32_t vertex_buffer,
22                 uint32_t zero_buffer, uint32_t mode,
23                 void *shader, size_t shader_size);
24
25 uint32_t job_chain_vertex_tiler(int fd,
26                 float *vertices, size_t vertex_size, int mode,
27                 void* vertex_shader, size_t vs_sz,
28                 void *fragment_shader, size_t fs_sz,
29                 uint64_t heap_free_address, uint64_t scratchpad);
30
31 void job_chain_replay(int fd, uint32_t tiler_jc, uint32_t fragment_jc,
32                 uint64_t heap_free_address, uint64_t framebuffer);