mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 19:40:10 +01:00
radv/bvh: Do not write pointer flag related data on GFX103
On GFX103, those fields are unused. VK_BUILD_FLAG_PROPAGATE_CULL_FLAGS is set if the fields are used so it can be used to skip writing them. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37021>
This commit is contained in:
parent
8913e8502d
commit
9a93f794cd
2 changed files with 10 additions and 3 deletions
|
|
@ -238,7 +238,10 @@ main()
|
|||
gl_SemanticsAcquireRelease | gl_SemanticsMakeAvailable | gl_SemanticsMakeVisible);
|
||||
|
||||
DEREF(dst_node).children = children;
|
||||
DEREF(dst_node).flags = flags;
|
||||
|
||||
if (VK_BUILD_FLAG(VK_BUILD_FLAG_PROPAGATE_CULL_FLAGS))
|
||||
DEREF(dst_node).flags = flags;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -17,12 +17,16 @@ radv_encode_triangle_gfx10_3(VOID_REF dst_addr, vk_ir_triangle_node src)
|
|||
{
|
||||
REF(radv_bvh_triangle_node) dst = REF(radv_bvh_triangle_node)(dst_addr);
|
||||
|
||||
bool opaque = (src.geometry_id_and_flags & VK_GEOMETRY_OPAQUE) != 0;
|
||||
uint32_t barycentrics_control = 9;
|
||||
if (VK_BUILD_FLAG(VK_BUILD_FLAG_PROPAGATE_CULL_FLAGS)) {
|
||||
bool opaque = (src.geometry_id_and_flags & VK_GEOMETRY_OPAQUE) != 0;
|
||||
barycentrics_control |= (opaque ? 128 : 0);
|
||||
}
|
||||
|
||||
DEREF(dst).coords = src.coords;
|
||||
DEREF(dst).triangle_id = src.triangle_id;
|
||||
DEREF(dst).geometry_id_and_flags = src.geometry_id_and_flags;
|
||||
DEREF(dst).id = 9 | (opaque ? 128 : 0);
|
||||
DEREF(dst).id = barycentrics_control;
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue