|
| 1 | +#ifndef KORE_KOMPJUTA_COMMANDLIST_FUNCTIONS_HEADER |
| 2 | +#define KORE_KOMPJUTA_COMMANDLIST_FUNCTIONS_HEADER |
| 3 | + |
| 4 | +#include <kore3/gpu/commandlist.h> |
| 5 | + |
| 6 | +#include "descriptorset_structs.h" |
| 7 | +#include "pipeline_structs.h" |
| 8 | + |
| 9 | +#ifdef __cplusplus |
| 10 | +extern "C" { |
| 11 | +#endif |
| 12 | + |
| 13 | +void kore_kompjuta_command_list_destroy(kore_gpu_command_list *list); |
| 14 | + |
| 15 | +void kore_kompjuta_command_list_copy_buffer_to_buffer(kore_gpu_command_list *list, kore_gpu_buffer *source, uint64_t source_offset, kore_gpu_buffer *destination, |
| 16 | + uint64_t destination_offset, uint64_t size); |
| 17 | + |
| 18 | +void kore_kompjuta_command_list_copy_buffer_to_texture(kore_gpu_command_list *list, const kore_gpu_image_copy_buffer *source, |
| 19 | + const kore_gpu_image_copy_texture *destination, uint32_t width, uint32_t height, |
| 20 | + uint32_t depth_or_array_layers); |
| 21 | + |
| 22 | +void kore_kompjuta_command_list_copy_texture_to_buffer(kore_gpu_command_list *list, const kore_gpu_image_copy_texture *source, |
| 23 | + const kore_gpu_image_copy_buffer *destination, uint32_t width, uint32_t height, |
| 24 | + uint32_t depth_or_array_layers); |
| 25 | + |
| 26 | +void kore_kompjuta_command_list_copy_texture_to_texture(kore_gpu_command_list *list, const kore_gpu_image_copy_texture *source, |
| 27 | + const kore_gpu_image_copy_texture *destination, uint32_t width, uint32_t height, |
| 28 | + uint32_t depth_or_array_layers); |
| 29 | + |
| 30 | +void kore_kompjuta_command_list_clear_buffer(kore_gpu_command_list *list, kore_gpu_buffer *buffer, size_t offset, uint64_t size); |
| 31 | + |
| 32 | +void kore_kompjuta_command_list_begin_render_pass(kore_gpu_command_list *list, const kore_gpu_render_pass_parameters *parameters); |
| 33 | + |
| 34 | +void kore_kompjuta_command_list_end_render_pass(kore_gpu_command_list *list); |
| 35 | + |
| 36 | +void kore_kompjuta_command_list_present(kore_gpu_command_list *list); |
| 37 | + |
| 38 | +void kore_kompjuta_command_list_set_viewport(kore_gpu_command_list *list, float x, float y, float width, float height, float min_depth, float max_depth); |
| 39 | + |
| 40 | +void kore_kompjuta_command_list_set_scissor_rect(kore_gpu_command_list *list, uint32_t x, uint32_t y, uint32_t width, uint32_t height); |
| 41 | + |
| 42 | +void kore_kompjuta_command_list_set_blend_constant(kore_gpu_command_list *list, kore_gpu_color color); |
| 43 | + |
| 44 | +void kore_kompjuta_command_list_set_stencil_reference(kore_gpu_command_list *list, uint32_t reference); |
| 45 | + |
| 46 | +void kore_kompjuta_command_list_set_index_buffer(kore_gpu_command_list *list, kore_gpu_buffer *buffer, kore_gpu_index_format index_format, uint64_t offset); |
| 47 | + |
| 48 | +void kore_kompjuta_command_list_set_vertex_buffer(kore_gpu_command_list *list, uint32_t slot, kore_kompjuta_buffer *buffer, uint64_t offset, uint64_t size, |
| 49 | + uint64_t stride); |
| 50 | + |
| 51 | +void kore_kompjuta_command_list_set_render_pipeline(kore_gpu_command_list *list, kore_kompjuta_render_pipeline *pipeline); |
| 52 | + |
| 53 | +void kore_kompjuta_command_list_draw(kore_gpu_command_list *list, uint32_t vertex_count, uint32_t instance_count, uint32_t first_vertex, uint32_t first_instance); |
| 54 | + |
| 55 | +void kore_kompjuta_command_list_draw_indexed(kore_gpu_command_list *list, uint32_t index_count, uint32_t instance_count, uint32_t first_index, |
| 56 | + int32_t base_vertex, uint32_t first_instance); |
| 57 | + |
| 58 | +void kore_kompjuta_command_list_set_bind_group(kore_gpu_command_list *list, uint32_t index, kore_kompjuta_descriptor_set *set, uint32_t dynamic_count, |
| 59 | + uint32_t *dynamic_offsets); |
| 60 | + |
| 61 | +void kore_kompjuta_command_list_set_root_constants(kore_gpu_command_list *list, uint32_t table_index, const void *data, size_t data_size); |
| 62 | + |
| 63 | +void kore_kompjuta_command_list_set_compute_pipeline(kore_gpu_command_list *list, kore_kompjuta_compute_pipeline *pipeline); |
| 64 | + |
| 65 | +void kore_kompjuta_command_list_compute(kore_gpu_command_list *list, uint32_t workgroup_count_x, uint32_t workgroup_count_y, uint32_t workgroup_count_z); |
| 66 | + |
| 67 | +void kore_kompjuta_command_list_prepare_raytracing_volume(kore_gpu_command_list *list, kore_gpu_raytracing_volume *volume); |
| 68 | + |
| 69 | +void kore_kompjuta_command_list_prepare_raytracing_hierarchy(kore_gpu_command_list *list, kore_gpu_raytracing_hierarchy *hierarchy); |
| 70 | + |
| 71 | +void kore_kompjuta_command_list_update_raytracing_hierarchy(kore_gpu_command_list *list, kore_matrix4x4 *volume_transforms, uint32_t volumes_count, |
| 72 | + kore_gpu_raytracing_hierarchy *hierarchy); |
| 73 | + |
| 74 | +void kore_kompjuta_command_list_set_ray_pipeline(kore_gpu_command_list *list, kore_kompjuta_ray_pipeline *pipeline); |
| 75 | + |
| 76 | +void kore_kompjuta_command_list_trace_rays(kore_gpu_command_list *list, uint32_t width, uint32_t height, uint32_t depth); |
| 77 | + |
| 78 | +void kore_kompjuta_command_list_set_name(kore_gpu_command_list *list, const char *name); |
| 79 | + |
| 80 | +void kore_kompjuta_command_list_push_debug_group(kore_gpu_command_list *list, const char *name); |
| 81 | + |
| 82 | +void kore_kompjuta_command_list_pop_debug_group(kore_gpu_command_list *list); |
| 83 | + |
| 84 | +void kore_kompjuta_command_list_insert_debug_marker(kore_gpu_command_list *list, const char *name); |
| 85 | + |
| 86 | +void kore_kompjuta_command_list_begin_occlusion_query(kore_gpu_command_list *list, uint32_t query_index); |
| 87 | + |
| 88 | +void kore_kompjuta_command_list_end_occlusion_query(kore_gpu_command_list *list); |
| 89 | + |
| 90 | +void kore_kompjuta_command_list_resolve_query_set(kore_gpu_command_list *list, kore_gpu_query_set *query_set, uint32_t first_query, uint32_t query_count, |
| 91 | + kore_gpu_buffer *destination, uint64_t destination_offset); |
| 92 | + |
| 93 | +void kore_kompjuta_command_list_draw_indirect(kore_gpu_command_list *list, kore_gpu_buffer *indirect_buffer, uint64_t indirect_offset, uint32_t max_draw_count, |
| 94 | + kore_gpu_buffer *count_buffer, uint64_t count_offset); |
| 95 | + |
| 96 | +void kore_kompjuta_command_list_draw_indexed_indirect(kore_gpu_command_list *list, kore_gpu_buffer *indirect_buffer, uint64_t indirect_offset, |
| 97 | + uint32_t max_draw_count, kore_gpu_buffer *count_buffer, uint64_t count_offset); |
| 98 | + |
| 99 | +void kore_kompjuta_command_list_compute_indirect(kore_gpu_command_list *list, kore_gpu_buffer *indirect_buffer, uint64_t indirect_offset); |
| 100 | + |
| 101 | +void kore_kompjuta_command_list_queue_buffer_access(kore_gpu_command_list *list, kore_gpu_buffer *buffer, uint32_t offset, uint32_t size); |
| 102 | + |
| 103 | +void kore_kompjuta_command_list_queue_descriptor_set_access(kore_gpu_command_list *list, kore_kompjuta_descriptor_set *descriptor_set); |
| 104 | + |
| 105 | +#ifdef __cplusplus |
| 106 | +} |
| 107 | +#endif |
| 108 | + |
| 109 | +#endif |
0 commit comments