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