freedreno/ir3: Move ir3 assembler to backend compiler
For easier reuse. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4741>
This commit is contained in:
parent
869d86e664
commit
da467817e3
|
@ -22,9 +22,9 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "ir3/ir3_compiler.h"
|
#include "ir3/ir3_compiler.h"
|
||||||
|
#include "ir3/ir3_parser.h"
|
||||||
|
|
||||||
#include "ir3_asm.h"
|
#include "ir3_asm.h"
|
||||||
#include "ir3_parser.h"
|
|
||||||
|
|
||||||
struct ir3_kernel *
|
struct ir3_kernel *
|
||||||
ir3_asm_assemble(struct ir3_compiler *c, FILE *in)
|
ir3_asm_assemble(struct ir3_compiler *c, FILE *in)
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
|
|
||||||
#include "ir3/ir3_shader.h"
|
#include "ir3/ir3_shader.h"
|
||||||
#include "ir3_parser.h"
|
#include "ir3/ir3_parser.h"
|
||||||
|
|
||||||
struct ir3_kernel {
|
struct ir3_kernel {
|
||||||
struct kernel base;
|
struct kernel base;
|
||||||
|
|
|
@ -18,32 +18,11 @@
|
||||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
# SOFTWARE.
|
# SOFTWARE.
|
||||||
|
|
||||||
ir3_parser = custom_target(
|
|
||||||
'ir3_parser.[ch]',
|
|
||||||
input: 'ir3_parser.y',
|
|
||||||
output: ['ir3_parser.c', 'ir3_parser.h'],
|
|
||||||
command: [
|
|
||||||
prog_bison, '@INPUT@', '--name-prefix=ir3_yy', '--defines=@OUTPUT1@', '--output=@OUTPUT0@'
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
ir3_lexer = custom_target(
|
|
||||||
'ir3_lexer.c',
|
|
||||||
input: 'ir3_lexer.l',
|
|
||||||
output: 'ir3_lexer.c',
|
|
||||||
command: [
|
|
||||||
prog_flex, '-o', '@OUTPUT@', '@INPUT@'
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
computerator_files = [
|
computerator_files = [
|
||||||
'a6xx.c',
|
'a6xx.c',
|
||||||
'ir3_asm.c',
|
'ir3_asm.c',
|
||||||
'main.c',
|
'main.c',
|
||||||
freedreno_xml_header_files,
|
freedreno_xml_header_files,
|
||||||
ir3_parser[0],
|
|
||||||
ir3_parser[1],
|
|
||||||
ir3_lexer
|
|
||||||
]
|
]
|
||||||
|
|
||||||
computerator = executable(
|
computerator = executable(
|
||||||
|
|
|
@ -42,6 +42,24 @@ ir3_nir_imul_c = custom_target(
|
||||||
depend_files : nir_algebraic_py,
|
depend_files : nir_algebraic_py,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
ir3_parser = custom_target(
|
||||||
|
'ir3_parser.[ch]',
|
||||||
|
input: 'ir3_parser.y',
|
||||||
|
output: ['ir3_parser.c', 'ir3_parser.h'],
|
||||||
|
command: [
|
||||||
|
prog_bison, '@INPUT@', '--name-prefix=ir3_yy', '--defines=@OUTPUT1@', '--output=@OUTPUT0@'
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
ir3_lexer = custom_target(
|
||||||
|
'ir3_lexer.c',
|
||||||
|
input: 'ir3_lexer.l',
|
||||||
|
output: 'ir3_lexer.c',
|
||||||
|
command: [
|
||||||
|
prog_flex, '-o', '@OUTPUT@', '@INPUT@'
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
libfreedreno_ir3_files = files(
|
libfreedreno_ir3_files = files(
|
||||||
'disasm-a3xx.c',
|
'disasm-a3xx.c',
|
||||||
'instr-a3xx.h',
|
'instr-a3xx.h',
|
||||||
|
@ -85,7 +103,7 @@ libfreedreno_ir3_files = files(
|
||||||
|
|
||||||
libfreedreno_ir3 = static_library(
|
libfreedreno_ir3 = static_library(
|
||||||
'freedreno_ir3',
|
'freedreno_ir3',
|
||||||
[libfreedreno_ir3_files, ir3_nir_trig_c, ir3_nir_imul_c],
|
[libfreedreno_ir3_files, ir3_nir_trig_c, ir3_nir_imul_c, ir3_parser[0], ir3_parser[1], ir3_lexer],
|
||||||
include_directories : [inc_freedreno, inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux],
|
include_directories : [inc_freedreno, inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux],
|
||||||
c_args : [c_vis_args, no_override_init_args],
|
c_args : [c_vis_args, no_override_init_args],
|
||||||
cpp_args : [cpp_vis_args],
|
cpp_args : [cpp_vis_args],
|
||||||
|
|
Loading…
Reference in New Issue