| … | 23 unchanged lines hidden |
| 24 |
24 |
|
Bind_Index_Buffer, |
| 25 |
25 |
|
Draw, |
| 26 |
26 |
|
Draw_Indexed, |
|
27 |
+ |
Draw_Indirect, |
|
28 |
+ |
Draw_Indexed_Indirect, |
| 27 |
29 |
|
Create_Compute_Pipeline, |
| 28 |
30 |
|
Destroy_Compute_Pipeline, |
| 29 |
31 |
|
Bind_Compute_Pipeline, |
| … | 21 unchanged lines hidden |
| 51 |
53 |
|
descriptor: bk.Descriptor_Handle, |
| 52 |
54 |
|
descriptor_index: u32, |
| 53 |
55 |
|
buffer: bk.Buffer_Handle, |
|
56 |
+ |
argument_buffer: bk.Buffer_Handle, |
|
57 |
+ |
argument_offset: u64, |
|
58 |
+ |
draw_count: u32, |
|
59 |
+ |
stride: u32, |
| 54 |
60 |
|
color_count: u32, |
| 55 |
61 |
|
color_formats: [bk.MAX_COLOR_TARGETS]bk.Format, |
| 56 |
62 |
|
color_views: [bk.MAX_COLOR_TARGETS]bk.Texture_Handle, |
| … | 122 unchanged lines hidden |
| 179 |
185 |
|
bind_index_buffer = recording_bind_index_buffer, |
| 180 |
186 |
|
draw = recording_draw, |
| 181 |
187 |
|
draw_indexed = recording_draw_indexed, |
|
188 |
+ |
draw_indirect = recording_draw_indirect, |
|
189 |
+ |
draw_indexed_indirect = recording_draw_indexed_indirect, |
| 182 |
190 |
|
create_compute_pipeline = recording_create_compute_pipeline, |
| 183 |
191 |
|
destroy_compute_pipeline = recording_destroy_compute_pipeline, |
| 184 |
192 |
|
bind_compute_pipeline = recording_bind_compute_pipeline, |
| … | 314 unchanged lines hidden |
| 499 |
507 |
|
}) |
| 500 |
508 |
|
} |
| 501 |
509 |
|
|
|
510 |
+ |
recording_draw_indirect :: proc( |
|
511 |
+ |
ctx: bk.Frame_Context, |
|
512 |
+ |
argument_buffer: bk.Buffer_Handle, |
|
513 |
+ |
argument_offset: u64, |
|
514 |
+ |
draw_count: u32, |
|
515 |
+ |
stride: u32, |
|
516 |
+ |
) { |
|
517 |
+ |
if recording_active != nil { |
|
518 |
+ |
recording_active.draw_count += int(draw_count) |
|
519 |
+ |
} |
|
520 |
+ |
recording_record({ |
|
521 |
+ |
kind = .Draw_Indirect, |
|
522 |
+ |
frame_index = ctx.frame_index, |
|
523 |
+ |
argument_buffer = argument_buffer, |
|
524 |
+ |
argument_offset = argument_offset, |
|
525 |
+ |
draw_count = draw_count, |
|
526 |
+ |
stride = stride, |
|
527 |
+ |
}) |
|
528 |
+ |
} |
|
529 |
+ |
|
|
530 |
+ |
recording_draw_indexed_indirect :: proc( |
|
531 |
+ |
ctx: bk.Frame_Context, |
|
532 |
+ |
argument_buffer: bk.Buffer_Handle, |
|
533 |
+ |
argument_offset: u64, |
|
534 |
+ |
draw_count: u32, |
|
535 |
+ |
stride: u32, |
|
536 |
+ |
) { |
|
537 |
+ |
if recording_active != nil { |
|
538 |
+ |
recording_active.draw_count += int(draw_count) |
|
539 |
+ |
} |
|
540 |
+ |
recording_record({ |
|
541 |
+ |
kind = .Draw_Indexed_Indirect, |
|
542 |
+ |
frame_index = ctx.frame_index, |
|
543 |
+ |
argument_buffer = argument_buffer, |
|
544 |
+ |
argument_offset = argument_offset, |
|
545 |
+ |
draw_count = draw_count, |
|
546 |
+ |
stride = stride, |
|
547 |
+ |
}) |
|
548 |
+ |
} |
|
549 |
+ |
|
| 502 |
550 |
|
recording_create_compute_pipeline :: proc( |
| 503 |
551 |
|
shader: bk.Shader_Handle, |
| 504 |
552 |
|
num_buffers: u32, |
| … | 67 unchanged lines hidden |