Skip to content
Snippets Groups Projects
Commit 0dad88b4 authored by Bas Nieuwenhuizen's avatar Bas Nieuwenhuizen Committed by Marge Bot
Browse files

radv: Implement device-side BVH building.


Same naive algorithm as the host build.

Reviewed-by: default avatarSamuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <mesa/mesa!11078>
parent d51a4b4c
No related branches found
No related tags found
No related merge requests found
This diff is collapsed.
......@@ -474,8 +474,14 @@ radv_device_init_meta(struct radv_device *device)
if (result != VK_SUCCESS)
goto fail_fmask_expand;
result = radv_device_init_accel_struct_build_state(device);
if (result != VK_SUCCESS)
goto fail_accel_struct_build;
return VK_SUCCESS;
fail_accel_struct_build:
radv_device_finish_meta_fmask_expand_state(device);
fail_fmask_expand:
radv_device_finish_meta_resolve_fragment_state(device);
fail_resolve_fragment:
......@@ -507,6 +513,7 @@ fail_clear:
void
radv_device_finish_meta(struct radv_device *device)
{
radv_device_finish_accel_struct_build_state(device);
radv_device_finish_meta_clear_state(device);
radv_device_finish_meta_resolve_state(device);
radv_device_finish_meta_blit_state(device);
......
......@@ -133,6 +133,9 @@ void radv_device_finish_meta_dcc_retile_state(struct radv_device *device);
void radv_device_finish_meta_copy_vrs_htile_state(struct radv_device *device);
VkResult radv_device_init_accel_struct_build_state(struct radv_device *device);
void radv_device_finish_accel_struct_build_state(struct radv_device *device);
void radv_meta_save(struct radv_meta_saved_state *saved_state, struct radv_cmd_buffer *cmd_buffer,
uint32_t flags);
......
......@@ -661,6 +661,13 @@ struct radv_meta_state {
VkPipelineLayout p_layout;
VkPipeline pipeline;
} dcc_retile;
struct {
VkPipelineLayout leaf_p_layout;
VkPipeline leaf_pipeline;
VkPipelineLayout internal_p_layout;
VkPipeline internal_pipeline;
} accel_struct_build;
};
/* queue types */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment