anv: track imported ray tracing pipeline groups

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26843>
This commit is contained in:
Lionel Landwerlin
2024-01-19 11:25:21 +02:00
committed by Marge Bot
parent 8229ee43ac
commit 6d53fcd54e
2 changed files with 8 additions and 2 deletions

View File

@@ -4116,8 +4116,11 @@ anv_ray_tracing_pipeline_create(
pCreateInfo->pLibraryInfo->pLibraries[l]);
struct anv_ray_tracing_pipeline *rt_library =
anv_pipeline_to_ray_tracing(library);
for (uint32_t lg = 0; lg < rt_library->group_count; lg++)
pipeline->groups[g++] = rt_library->groups[lg];
for (uint32_t lg = 0; lg < rt_library->group_count; lg++) {
pipeline->groups[g] = rt_library->groups[lg];
pipeline->groups[g].imported = true;
g++;
}
/* Account for shaders in the library. */
util_dynarray_foreach(&rt_library->shaders,

View File

@@ -4320,6 +4320,9 @@ struct anv_compute_pipeline {
struct anv_rt_shader_group {
VkRayTracingShaderGroupTypeKHR type;
/* Whether this group was imported from another pipeline */
bool imported;
struct anv_shader_bin *general;
struct anv_shader_bin *closest_hit;
struct anv_shader_bin *any_hit;