The open source OpenXR runtime
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

c/render: Renames and comment cleanup to improve readability.

Banish "crc" and "rr" as leftover artifacts of old names.

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2380>

+96 -96
+96 -96
src/xrt/compositor/render/render_compute.c
··· 25 25 * Get the @ref vk_bundle from @ref render_compute. 26 26 */ 27 27 static inline struct vk_bundle * 28 - vk_from_crc(struct render_compute *crc) 28 + vk_from_render(struct render_compute *render) 29 29 { 30 - return crc->r->vk; 30 + return render->r->vk; 31 31 } 32 32 33 33 static uint32_t ··· 286 286 */ 287 287 288 288 bool 289 - render_compute_init(struct render_compute *crc, struct render_resources *r) 289 + render_compute_init(struct render_compute *render, struct render_resources *r) 290 290 { 291 291 VkResult ret; 292 292 293 - assert(crc->r == NULL); 293 + assert(render->r == NULL); 294 294 295 295 struct vk_bundle *vk = r->vk; 296 - crc->r = r; 296 + render->r = r; 297 297 298 298 for (uint32_t i = 0; i < RENDER_MAX_LAYER_RUNS_COUNT; i++) { 299 299 ret = vk_create_descriptor_set( // 300 300 vk, // vk_bundle 301 301 r->compute.descriptor_pool, // descriptor_pool 302 302 r->compute.layer.descriptor_set_layout, // descriptor_set_layout 303 - &crc->layer_descriptor_sets[i]); // descriptor_set 303 + &render->layer_descriptor_sets[i]); // descriptor_set 304 304 VK_CHK_WITH_RET(ret, "vk_create_descriptor_set", false); 305 305 306 - VK_NAME_DESCRIPTOR_SET(vk, crc->layer_descriptor_sets[i], "render_compute layer descriptor set"); 306 + VK_NAME_DESCRIPTOR_SET(vk, render->layer_descriptor_sets[i], "render_compute layer descriptor set"); 307 307 } 308 308 309 309 ret = vk_create_descriptor_set( // 310 310 vk, // vk_bundle 311 311 r->compute.descriptor_pool, // descriptor_pool 312 312 r->compute.distortion.descriptor_set_layout, // descriptor_set_layout 313 - &crc->shared_descriptor_set); // descriptor_set 313 + &render->shared_descriptor_set); // descriptor_set 314 314 VK_CHK_WITH_RET(ret, "vk_create_descriptor_set", false); 315 315 316 - VK_NAME_DESCRIPTOR_SET(vk, crc->shared_descriptor_set, "render_compute shared descriptor set"); 316 + VK_NAME_DESCRIPTOR_SET(vk, render->shared_descriptor_set, "render_compute shared descriptor set"); 317 317 318 318 return true; 319 319 } 320 320 321 321 bool 322 - render_compute_begin(struct render_compute *crc) 322 + render_compute_begin(struct render_compute *render) 323 323 { 324 324 VkResult ret; 325 - struct vk_bundle *vk = vk_from_crc(crc); 325 + struct vk_bundle *vk = vk_from_render(render); 326 326 327 - ret = vk->vkResetCommandPool(vk->device, crc->r->cmd_pool, 0); 327 + ret = vk->vkResetCommandPool(vk->device, render->r->cmd_pool, 0); 328 328 VK_CHK_WITH_RET(ret, "vkResetCommandPool", false); 329 329 330 330 VkCommandBufferBeginInfo begin_info = { ··· 333 333 }; 334 334 335 335 ret = vk->vkBeginCommandBuffer( // 336 - crc->r->cmd, // commandBuffer 337 - &begin_info); // pBeginInfo 336 + render->r->cmd, // 337 + &begin_info); // 338 338 VK_CHK_WITH_RET(ret, "vkBeginCommandBuffer", false); 339 339 340 - vk->vkCmdResetQueryPool( // 341 - crc->r->cmd, // commandBuffer 342 - crc->r->query_pool, // queryPool 343 - 0, // firstQuery 344 - 2); // queryCount 340 + vk->vkCmdResetQueryPool( // 341 + render->r->cmd, // 342 + render->r->query_pool, // 343 + 0, // firstQuery 344 + 2); // queryCount 345 345 346 346 vk->vkCmdWriteTimestamp( // 347 - crc->r->cmd, // commandBuffer 347 + render->r->cmd, // 348 348 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, // pipelineStage 349 - crc->r->query_pool, // queryPool 349 + render->r->query_pool, // 350 350 0); // query 351 351 352 352 return true; 353 353 } 354 354 355 355 bool 356 - render_compute_end(struct render_compute *crc) 356 + render_compute_end(struct render_compute *render) 357 357 { 358 - struct vk_bundle *vk = vk_from_crc(crc); 358 + struct vk_bundle *vk = vk_from_render(render); 359 359 VkResult ret; 360 360 361 361 vk->vkCmdWriteTimestamp( // 362 - crc->r->cmd, // commandBuffer 362 + render->r->cmd, // 363 363 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT, // pipelineStage 364 - crc->r->query_pool, // queryPool 364 + render->r->query_pool, // 365 365 1); // query 366 366 367 - ret = vk->vkEndCommandBuffer(crc->r->cmd); 367 + ret = vk->vkEndCommandBuffer(render->r->cmd); 368 368 VK_CHK_WITH_RET(ret, "vkEndCommandBuffer", false); 369 369 370 370 return true; 371 371 } 372 372 373 373 void 374 - render_compute_fini(struct render_compute *crc) 374 + render_compute_fini(struct render_compute *render) 375 375 { 376 - assert(crc->r != NULL); 376 + assert(render->r != NULL); 377 377 378 - struct vk_bundle *vk = vk_from_crc(crc); 378 + struct vk_bundle *vk = vk_from_render(render); 379 379 380 380 // Reclaimed by vkResetDescriptorPool. 381 - crc->shared_descriptor_set = VK_NULL_HANDLE; 382 - for (uint32_t i = 0; i < ARRAY_SIZE(crc->layer_descriptor_sets); i++) { 383 - crc->layer_descriptor_sets[i] = VK_NULL_HANDLE; 381 + render->shared_descriptor_set = VK_NULL_HANDLE; 382 + for (uint32_t i = 0; i < ARRAY_SIZE(render->layer_descriptor_sets); i++) { 383 + render->layer_descriptor_sets[i] = VK_NULL_HANDLE; 384 384 } 385 385 386 - vk->vkResetDescriptorPool(vk->device, crc->r->compute.descriptor_pool, 0); 386 + vk->vkResetDescriptorPool(vk->device, render->r->compute.descriptor_pool, 0); 387 387 388 - crc->r = NULL; 388 + render->r = NULL; 389 389 } 390 390 391 391 void 392 - render_compute_layers(struct render_compute *crc, 392 + render_compute_layers(struct render_compute *render, 393 393 VkDescriptorSet descriptor_set, 394 394 VkBuffer ubo, 395 395 VkSampler src_samplers[RENDER_MAX_IMAGES_SIZE], ··· 399 399 const struct render_viewport_data *view, 400 400 bool do_timewarp) 401 401 { 402 - assert(crc->r != NULL); 402 + assert(render->r != NULL); 403 403 404 - struct vk_bundle *vk = vk_from_crc(crc); 405 - struct render_resources *r = crc->r; 404 + struct vk_bundle *vk = vk_from_render(render); 405 + struct render_resources *r = render->r; 406 406 407 407 408 408 /* ··· 424 424 425 425 VkPipeline pipeline = do_timewarp ? r->compute.layer.timewarp_pipeline : r->compute.layer.non_timewarp_pipeline; 426 426 vk->vkCmdBindPipeline( // 427 - crc->r->cmd, // commandBuffer 427 + render->r->cmd, // 428 428 VK_PIPELINE_BIND_POINT_COMPUTE, // pipelineBindPoint 429 429 pipeline); // pipeline 430 430 431 431 vk->vkCmdBindDescriptorSets( // 432 - r->cmd, // commandBuffer 432 + r->cmd, // 433 433 VK_PIPELINE_BIND_POINT_COMPUTE, // pipelineBindPoint 434 434 r->compute.layer.pipeline_layout, // layout 435 435 0, // firstSet ··· 444 444 assert(w != 0 && h != 0); 445 445 446 446 vk->vkCmdDispatch( // 447 - r->cmd, // commandBuffer 447 + r->cmd, // 448 448 w, // groupCountX 449 449 h, // groupCountY 450 450 1); // groupCountZ 451 451 } 452 452 453 453 void 454 - render_compute_projection_timewarp(struct render_compute *crc, 454 + render_compute_projection_timewarp(struct render_compute *render, 455 455 VkSampler src_samplers[XRT_MAX_VIEWS], 456 456 VkImageView src_image_views[XRT_MAX_VIEWS], 457 457 const struct xrt_normalized_rect src_norm_rects[XRT_MAX_VIEWS], ··· 462 462 VkImageView target_image_view, 463 463 const struct render_viewport_data views[XRT_MAX_VIEWS]) 464 464 { 465 - assert(crc->r != NULL); 465 + assert(render->r != NULL); 466 466 467 - struct vk_bundle *vk = vk_from_crc(crc); 468 - struct render_resources *r = crc->r; 467 + struct vk_bundle *vk = vk_from_render(render); 468 + struct render_resources *r = render->r; 469 469 470 470 471 471 /* ··· 473 473 */ 474 474 475 475 struct xrt_matrix_4x4 time_warp_matrix[XRT_MAX_VIEWS]; 476 - for (uint32_t i = 0; i < crc->r->view_count; ++i) { 476 + for (uint32_t i = 0; i < render->r->view_count; ++i) { 477 477 render_calc_time_warp_matrix( // 478 478 &src_poses[i], // 479 479 &src_fovs[i], // ··· 483 483 484 484 struct render_compute_distortion_ubo_data *data = 485 485 (struct render_compute_distortion_ubo_data *)r->compute.distortion.ubo.mapped; 486 - for (uint32_t i = 0; i < crc->r->view_count; ++i) { 486 + for (uint32_t i = 0; i < render->r->view_count; ++i) { 487 487 data->views[i] = views[i]; 488 488 data->pre_transforms[i] = r->distortion.uv_to_tanangle[i]; 489 489 data->transforms[i] = time_warp_matrix[i]; ··· 514 514 515 515 VkSampler sampler = r->samplers.clamp_to_edge; 516 516 VkSampler distortion_samplers[3 * XRT_MAX_VIEWS]; 517 - for (uint32_t i = 0; i < crc->r->view_count; ++i) { 517 + for (uint32_t i = 0; i < render->r->view_count; ++i) { 518 518 distortion_samplers[3 * i + 0] = sampler; 519 519 distortion_samplers[3 * i + 1] = sampler; 520 520 distortion_samplers[3 * i + 2] = sampler; ··· 533 533 r->compute.ubo_binding, // 534 534 r->compute.distortion.ubo.buffer, // 535 535 VK_WHOLE_SIZE, // 536 - crc->shared_descriptor_set, // 537 - crc->r->view_count); // 536 + render->shared_descriptor_set, // 537 + render->r->view_count); // 538 538 539 539 vk->vkCmdBindPipeline( // 540 - r->cmd, // commandBuffer 540 + r->cmd, // 541 541 VK_PIPELINE_BIND_POINT_COMPUTE, // pipelineBindPoint 542 542 r->compute.distortion.timewarp_pipeline); // pipeline 543 543 544 544 vk->vkCmdBindDescriptorSets( // 545 - r->cmd, // commandBuffer 545 + r->cmd, // 546 546 VK_PIPELINE_BIND_POINT_COMPUTE, // pipelineBindPoint 547 547 r->compute.distortion.pipeline_layout, // layout 548 548 0, // firstSet 549 549 1, // descriptorSetCount 550 - &crc->shared_descriptor_set, // pDescriptorSets 550 + &render->shared_descriptor_set, // pDescriptorSets 551 551 0, // dynamicOffsetCount 552 552 NULL); // pDynamicOffsets 553 553 554 554 555 555 uint32_t w = 0, h = 0; 556 - calc_dispatch_dims_views(views, crc->r->view_count, &w, &h); 556 + calc_dispatch_dims_views(views, render->r->view_count, &w, &h); 557 557 assert(w != 0 && h != 0); 558 558 559 559 vk->vkCmdDispatch( // 560 - r->cmd, // commandBuffer 560 + r->cmd, // 561 561 w, // groupCountX 562 562 h, // groupCountY 563 563 2); // groupCountZ ··· 588 588 } 589 589 590 590 void 591 - render_compute_projection(struct render_compute *crc, 591 + render_compute_projection(struct render_compute *render, 592 592 VkSampler src_samplers[XRT_MAX_VIEWS], 593 593 VkImageView src_image_views[XRT_MAX_VIEWS], 594 594 const struct xrt_normalized_rect src_norm_rects[XRT_MAX_VIEWS], ··· 596 596 VkImageView target_image_view, 597 597 const struct render_viewport_data views[XRT_MAX_VIEWS]) 598 598 { 599 - assert(crc->r != NULL); 599 + assert(render->r != NULL); 600 600 601 - struct vk_bundle *vk = vk_from_crc(crc); 602 - struct render_resources *r = crc->r; 601 + struct vk_bundle *vk = vk_from_render(render); 602 + struct render_resources *r = render->r; 603 603 604 604 605 605 /* ··· 608 608 609 609 struct render_compute_distortion_ubo_data *data = 610 610 (struct render_compute_distortion_ubo_data *)r->compute.distortion.ubo.mapped; 611 - for (uint32_t i = 0; i < crc->r->view_count; ++i) { 611 + for (uint32_t i = 0; i < render->r->view_count; ++i) { 612 612 data->views[i] = views[i]; 613 613 data->post_transforms[i] = src_norm_rects[i]; 614 614 } ··· 638 638 639 639 VkSampler sampler = r->samplers.clamp_to_edge; 640 640 VkSampler distortion_samplers[3 * XRT_MAX_VIEWS]; 641 - for (uint32_t i = 0; i < crc->r->view_count; ++i) { 641 + for (uint32_t i = 0; i < render->r->view_count; ++i) { 642 642 distortion_samplers[3 * i + 0] = sampler; 643 643 distortion_samplers[3 * i + 1] = sampler; 644 644 distortion_samplers[3 * i + 2] = sampler; ··· 657 657 r->compute.ubo_binding, // 658 658 r->compute.distortion.ubo.buffer, // 659 659 VK_WHOLE_SIZE, // 660 - crc->shared_descriptor_set, // 661 - crc->r->view_count); // 660 + render->shared_descriptor_set, // 661 + render->r->view_count); // 662 662 663 663 vk->vkCmdBindPipeline( // 664 - r->cmd, // commandBuffer 664 + r->cmd, // 665 665 VK_PIPELINE_BIND_POINT_COMPUTE, // pipelineBindPoint 666 666 r->compute.distortion.pipeline); // pipeline 667 667 668 668 vk->vkCmdBindDescriptorSets( // 669 - r->cmd, // commandBuffer 669 + r->cmd, // 670 670 VK_PIPELINE_BIND_POINT_COMPUTE, // pipelineBindPoint 671 671 r->compute.distortion.pipeline_layout, // layout 672 672 0, // firstSet 673 673 1, // descriptorSetCount 674 - &crc->shared_descriptor_set, // pDescriptorSets 674 + &render->shared_descriptor_set, // pDescriptorSets 675 675 0, // dynamicOffsetCount 676 676 NULL); // pDynamicOffsets 677 677 678 678 679 679 uint32_t w = 0, h = 0; 680 - calc_dispatch_dims_views(views, crc->r->view_count, &w, &h); 680 + calc_dispatch_dims_views(views, render->r->view_count, &w, &h); 681 681 assert(w != 0 && h != 0); 682 682 683 683 vk->vkCmdDispatch( // 684 - r->cmd, // commandBuffer 684 + r->cmd, // 685 685 w, // groupCountX 686 686 h, // groupCountY 687 687 2); // groupCountZ ··· 712 712 } 713 713 714 714 void 715 - render_compute_clear(struct render_compute *crc, // 716 - VkImage target_image, // 717 - VkImageView target_image_view, // 718 - const struct render_viewport_data views[XRT_MAX_VIEWS]) // 715 + render_compute_clear(struct render_compute *render, 716 + VkImage target_image, 717 + VkImageView target_image_view, 718 + const struct render_viewport_data views[XRT_MAX_VIEWS]) 719 719 { 720 - assert(crc->r != NULL); 720 + assert(render->r != NULL); 721 721 722 - struct vk_bundle *vk = vk_from_crc(crc); 723 - struct render_resources *r = crc->r; 722 + struct vk_bundle *vk = vk_from_render(render); 723 + struct render_resources *r = render->r; 724 724 725 725 726 726 /* ··· 729 729 730 730 // Calculate transforms. 731 731 struct xrt_matrix_4x4 transforms[XRT_MAX_VIEWS]; 732 - for (uint32_t i = 0; i < crc->r->view_count; i++) { 732 + for (uint32_t i = 0; i < render->r->view_count; i++) { 733 733 math_matrix_4x4_identity(&transforms[i]); 734 734 } 735 735 736 736 struct render_compute_distortion_ubo_data *data = 737 737 (struct render_compute_distortion_ubo_data *)r->compute.clear.ubo.mapped; 738 - for (uint32_t i = 0; i < crc->r->view_count; ++i) { 738 + for (uint32_t i = 0; i < render->r->view_count; ++i) { 739 739 data->views[i] = views[i]; 740 740 } 741 741 ··· 765 765 VkSampler src_samplers[XRT_MAX_VIEWS]; 766 766 VkImageView src_image_views[XRT_MAX_VIEWS]; 767 767 VkSampler distortion_samplers[3 * XRT_MAX_VIEWS]; 768 - for (uint32_t i = 0; i < crc->r->view_count; ++i) { 768 + for (uint32_t i = 0; i < render->r->view_count; ++i) { 769 769 src_samplers[i] = sampler; 770 770 src_image_views[i] = r->mock.color.image_view; 771 771 distortion_samplers[3 * i + 0] = sampler; ··· 774 774 } 775 775 776 776 update_compute_shared_descriptor_set( // 777 - vk, // vk_bundle 778 - r->compute.src_binding, // src_binding 779 - src_samplers, // src_samplers[2] 780 - src_image_views, // src_image_views[2] 781 - r->compute.distortion_binding, // distortion_binding 782 - distortion_samplers, // distortion_samplers[6] 783 - r->distortion.image_views, // distortion_image_views[6] 784 - r->compute.target_binding, // target_binding 785 - target_image_view, // target_image_view 786 - r->compute.ubo_binding, // ubo_binding 787 - r->compute.clear.ubo.buffer, // ubo_buffer 777 + vk, // 778 + r->compute.src_binding, // 779 + src_samplers, // 780 + src_image_views, // 781 + r->compute.distortion_binding, // 782 + distortion_samplers, // 783 + r->distortion.image_views, // 784 + r->compute.target_binding, // 785 + target_image_view, // 786 + r->compute.ubo_binding, // 787 + r->compute.clear.ubo.buffer, // 788 788 VK_WHOLE_SIZE, // ubo_size 789 - crc->shared_descriptor_set, // descriptor_set 790 - crc->r->view_count); // view_count 789 + render->shared_descriptor_set, // descriptor_set 790 + render->r->view_count); // 791 791 792 792 vk->vkCmdBindPipeline( // 793 - r->cmd, // commandBuffer 793 + r->cmd, // 794 794 VK_PIPELINE_BIND_POINT_COMPUTE, // pipelineBindPoint 795 795 r->compute.clear.pipeline); // pipeline 796 796 797 797 vk->vkCmdBindDescriptorSets( // 798 - r->cmd, // commandBuffer 798 + r->cmd, // 799 799 VK_PIPELINE_BIND_POINT_COMPUTE, // pipelineBindPoint 800 800 r->compute.distortion.pipeline_layout, // layout 801 801 0, // firstSet 802 802 1, // descriptorSetCount 803 - &crc->shared_descriptor_set, // pDescriptorSets 803 + &render->shared_descriptor_set, // pDescriptorSets 804 804 0, // dynamicOffsetCount 805 805 NULL); // pDynamicOffsets 806 806 807 807 808 808 uint32_t w = 0, h = 0; 809 - calc_dispatch_dims_views(views, crc->r->view_count, &w, &h); 809 + calc_dispatch_dims_views(views, render->r->view_count, &w, &h); 810 810 assert(w != 0 && h != 0); 811 811 812 812 vk->vkCmdDispatch( // 813 - r->cmd, // commandBuffer 813 + r->cmd, // 814 814 w, // groupCountX 815 815 h, // groupCountY 816 816 2); // groupCountZ