1bf215546Sopenharmony_ci/* 2bf215546Sopenharmony_ci * Copyright © 2016 Red Hat. 3bf215546Sopenharmony_ci * Copyright © 2016 Bas Nieuwenhuizen 4bf215546Sopenharmony_ci * SPDX-License-Identifier: MIT 5bf215546Sopenharmony_ci * 6bf215546Sopenharmony_ci * based in part on anv driver which is: 7bf215546Sopenharmony_ci * Copyright © 2015 Intel Corporation 8bf215546Sopenharmony_ci */ 9bf215546Sopenharmony_ci 10bf215546Sopenharmony_ci#ifndef TU_CLEAR_BLIT_H 11bf215546Sopenharmony_ci#define TU_CLEAR_BLIT_H 12bf215546Sopenharmony_ci 13bf215546Sopenharmony_ci#include "tu_common.h" 14bf215546Sopenharmony_ci 15bf215546Sopenharmony_civoid tu_init_clear_blit_shaders(struct tu_device *dev); 16bf215546Sopenharmony_ci 17bf215546Sopenharmony_civoid tu_destroy_clear_blit_shaders(struct tu_device *dev); 18bf215546Sopenharmony_ci 19bf215546Sopenharmony_civoid 20bf215546Sopenharmony_citu6_clear_lrz(struct tu_cmd_buffer *cmd, struct tu_cs *cs, struct tu_image* image, const VkClearValue *value); 21bf215546Sopenharmony_ci 22bf215546Sopenharmony_civoid 23bf215546Sopenharmony_citu6_dirty_lrz_fc(struct tu_cmd_buffer *cmd, struct tu_cs *cs, struct tu_image* image); 24bf215546Sopenharmony_ci 25bf215546Sopenharmony_civoid 26bf215546Sopenharmony_citu_resolve_sysmem(struct tu_cmd_buffer *cmd, 27bf215546Sopenharmony_ci struct tu_cs *cs, 28bf215546Sopenharmony_ci const struct tu_image_view *src, 29bf215546Sopenharmony_ci const struct tu_image_view *dst, 30bf215546Sopenharmony_ci uint32_t layer_mask, 31bf215546Sopenharmony_ci uint32_t layers, 32bf215546Sopenharmony_ci const VkRect2D *rect); 33bf215546Sopenharmony_ci 34bf215546Sopenharmony_civoid 35bf215546Sopenharmony_citu_clear_sysmem_attachment(struct tu_cmd_buffer *cmd, 36bf215546Sopenharmony_ci struct tu_cs *cs, 37bf215546Sopenharmony_ci uint32_t a, 38bf215546Sopenharmony_ci const VkClearValue *value); 39bf215546Sopenharmony_ci 40bf215546Sopenharmony_civoid 41bf215546Sopenharmony_citu_clear_gmem_attachment(struct tu_cmd_buffer *cmd, 42bf215546Sopenharmony_ci struct tu_cs *cs, 43bf215546Sopenharmony_ci uint32_t a, 44bf215546Sopenharmony_ci const VkClearValue *value); 45bf215546Sopenharmony_ci 46bf215546Sopenharmony_civoid 47bf215546Sopenharmony_citu_load_gmem_attachment(struct tu_cmd_buffer *cmd, 48bf215546Sopenharmony_ci struct tu_cs *cs, 49bf215546Sopenharmony_ci uint32_t a, 50bf215546Sopenharmony_ci bool cond_exec_allowed, 51bf215546Sopenharmony_ci bool force_load); 52bf215546Sopenharmony_ci 53bf215546Sopenharmony_ci/* note: gmem store can also resolve */ 54bf215546Sopenharmony_civoid 55bf215546Sopenharmony_citu_store_gmem_attachment(struct tu_cmd_buffer *cmd, 56bf215546Sopenharmony_ci struct tu_cs *cs, 57bf215546Sopenharmony_ci uint32_t a, 58bf215546Sopenharmony_ci uint32_t gmem_a, 59bf215546Sopenharmony_ci bool cond_exec_allowed); 60bf215546Sopenharmony_ci 61bf215546Sopenharmony_civoid 62bf215546Sopenharmony_citu_choose_gmem_layout(struct tu_cmd_buffer *cmd); 63bf215546Sopenharmony_ci 64bf215546Sopenharmony_ci#endif /* TU_CLEAR_BLIT_H */ 65