xref: /aosp_15_r20/external/mesa3d/src/freedreno/ir3/ir3_assembler.h (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1*61046927SAndroid Build Coastguard Worker /*
2*61046927SAndroid Build Coastguard Worker  * Copyright © 2020 Google, Inc.
3*61046927SAndroid Build Coastguard Worker  * SPDX-License-Identifier: MIT
4*61046927SAndroid Build Coastguard Worker  */
5*61046927SAndroid Build Coastguard Worker 
6*61046927SAndroid Build Coastguard Worker #ifndef __IR3_ASSEMBLER_H__
7*61046927SAndroid Build Coastguard Worker #define __IR3_ASSEMBLER_H__
8*61046927SAndroid Build Coastguard Worker 
9*61046927SAndroid Build Coastguard Worker #include <stdint.h>
10*61046927SAndroid Build Coastguard Worker #include <stdio.h>
11*61046927SAndroid Build Coastguard Worker 
12*61046927SAndroid Build Coastguard Worker #define MAX_BUFS 4
13*61046927SAndroid Build Coastguard Worker 
14*61046927SAndroid Build Coastguard Worker #ifdef __cplusplus
15*61046927SAndroid Build Coastguard Worker extern "C" {
16*61046927SAndroid Build Coastguard Worker #endif
17*61046927SAndroid Build Coastguard Worker 
18*61046927SAndroid Build Coastguard Worker struct ir3_kernel_info {
19*61046927SAndroid Build Coastguard Worker    uint32_t num_bufs;
20*61046927SAndroid Build Coastguard Worker    uint32_t buf_sizes[MAX_BUFS]; /* size in dwords */
21*61046927SAndroid Build Coastguard Worker    uint32_t buf_addr_regs[MAX_BUFS];
22*61046927SAndroid Build Coastguard Worker    uint32_t *buf_init_data[MAX_BUFS];
23*61046927SAndroid Build Coastguard Worker    uint32_t buf_init_data_sizes[MAX_BUFS];
24*61046927SAndroid Build Coastguard Worker 
25*61046927SAndroid Build Coastguard Worker    uint64_t shader_print_buffer_iova;
26*61046927SAndroid Build Coastguard Worker 
27*61046927SAndroid Build Coastguard Worker    /* driver-param / replaced uniforms: */
28*61046927SAndroid Build Coastguard Worker    unsigned numwg;
29*61046927SAndroid Build Coastguard Worker    unsigned wgid;
30*61046927SAndroid Build Coastguard Worker    unsigned early_preamble;
31*61046927SAndroid Build Coastguard Worker };
32*61046927SAndroid Build Coastguard Worker 
33*61046927SAndroid Build Coastguard Worker struct ir3_shader;
34*61046927SAndroid Build Coastguard Worker struct ir3_compiler;
35*61046927SAndroid Build Coastguard Worker 
36*61046927SAndroid Build Coastguard Worker struct ir3_shader *ir3_parse_asm(struct ir3_compiler *c,
37*61046927SAndroid Build Coastguard Worker                                  struct ir3_kernel_info *info, FILE *in);
38*61046927SAndroid Build Coastguard Worker 
39*61046927SAndroid Build Coastguard Worker #ifdef __cplusplus
40*61046927SAndroid Build Coastguard Worker }
41*61046927SAndroid Build Coastguard Worker #endif
42*61046927SAndroid Build Coastguard Worker 
43*61046927SAndroid Build Coastguard Worker #endif /* __IR3_ASSEMBLER_H__ */
44