2 #include "libresoc_shader_args.h"
4 #include "nir/nir_builder.h"
6 void add_arg(struct shader_args
*info
, enum arg_regfile regfile
, unsigned size
,
7 enum arg_type type
, struct arg
*arg
)
9 assert(info
->arg_count
< MAX_ARGS
);
12 if (regfile
== ARG_SGPR
) {
13 offset
= info
->num_sgprs_used
;
14 info
->num_sgprs_used
+= size
;
16 assert(regfile
== ARG_VGPR
);
17 offset
= info
->num_vgprs_used
;
18 info
->num_vgprs_used
+= size
;
21 info
->args
[info
->arg_count
].file
= regfile
;
22 info
->args
[info
->arg_count
].offset
= offset
;
23 info
->args
[info
->arg_count
].size
= size
;
24 info
->args
[info
->arg_count
].type
= type
;
27 arg
->arg_index
= info
->arg_count
;