1 /* 2 * Copyright © 2016 Rob Clark <robclark@freedesktop.org> 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 template <chip CHIP> 13 struct fd_ringbuffer *fd6_build_tess_consts(struct fd6_emit *emit) assert_dt; 14 template <chip CHIP> 15 unsigned fd6_user_consts_cmdstream_size(const struct ir3_shader_variant *v); 16 17 template <chip CHIP, fd6_pipeline_type PIPELINE> 18 struct fd_ringbuffer *fd6_build_user_consts(struct fd6_emit *emit) assert_dt; 19 20 template <chip CHIP, fd6_pipeline_type PIPELINE> 21 struct fd_ringbuffer * 22 fd6_build_driver_params(struct fd6_emit *emit) assert_dt; 23 24 template <chip CHIP> 25 void fd6_emit_cs_driver_params(struct fd_context *ctx, 26 struct fd_ringbuffer *ring, 27 struct fd6_compute_state *cs, 28 const struct pipe_grid_info *info) assert_dt; 29 template <chip CHIP> 30 void fd6_emit_cs_user_consts(struct fd_context *ctx, 31 struct fd_ringbuffer *ring, 32 struct fd6_compute_state *cs) assert_dt; 33 template <chip CHIP> 34 void fd6_emit_immediates(const struct ir3_shader_variant *v, 35 struct fd_ringbuffer *ring) assert_dt; 36 template <chip CHIP> 37 void fd6_emit_link_map(struct fd_context *ctx, 38 const struct ir3_shader_variant *producer, 39 const struct ir3_shader_variant *consumer, 40 struct fd_ringbuffer *ring) assert_dt; 41 42 #endif /* FD6_CONST_H */ 43