xref: /aosp_15_r20/external/mesa3d/src/gallium/drivers/freedreno/a6xx/fd6_const.h (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1 /*
2  * Copyright © 2016 Rob Clark <[email protected]>
3  * Copyright © 2018 Google, Inc.
4  * SPDX-License-Identifier: MIT
5  */
6 
7 #ifndef FD6_CONST_H
8 #define FD6_CONST_H
9 
10 #include "fd6_emit.h"
11 
12 struct fd_ringbuffer *fd6_build_tess_consts(struct fd6_emit *emit) assert_dt;
13 unsigned fd6_user_consts_cmdstream_size(const struct ir3_shader_variant *v);
14 
15 template <fd6_pipeline_type PIPELINE>
16 struct fd_ringbuffer *fd6_build_user_consts(struct fd6_emit *emit) assert_dt;
17 
18 template <fd6_pipeline_type PIPELINE>
19 struct fd_ringbuffer *
20 fd6_build_driver_params(struct fd6_emit *emit) assert_dt;
21 
22 void fd6_emit_cs_driver_params(struct fd_context *ctx,
23                                struct fd_ringbuffer *ring,
24                                struct fd6_compute_state *cs,
25                                const struct pipe_grid_info *info) assert_dt;
26 void fd6_emit_cs_user_consts(struct fd_context *ctx,
27                              struct fd_ringbuffer *ring,
28                              struct fd6_compute_state *cs) assert_dt;
29 void fd6_emit_immediates(const struct ir3_shader_variant *v,
30                          struct fd_ringbuffer *ring) assert_dt;
31 void fd6_emit_link_map(const struct ir3_shader_variant *producer,
32                        const struct ir3_shader_variant *consumer,
33                        struct fd_ringbuffer *ring) assert_dt;
34 
35 #endif /* FD6_CONST_H */
36