radv: Convert instance bvh address to node in bvh build.
So we don't have to do it in the traversal loop. Should 2 and instructions and a 64-bit shift, so 4/8 cycles per instance node visit. Totals from 7 (0.01% of 134913) affected shaders: CodeSize: 208460 -> 208292 (-0.08%) Instrs: 38276 -> 38248 (-0.07%) Latency: 803181 -> 803142 (-0.00%) InvThroughput: 165384 -> 165376 (-0.00%) Copies: 4912 -> 4905 (-0.14%) Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19706>
This commit is contained in:

committed by
Marge Bot

parent
d09ed23b9a
commit
1b5dc33caa
@@ -666,9 +666,7 @@ radv_build_ray_traversal(struct radv_device *device, nir_builder *b,
|
||||
|
||||
nir_store_deref(b, args->vars.top_stack, nir_load_deref(b, args->vars.stack), 1);
|
||||
nir_store_deref(b, args->vars.bvh_base,
|
||||
build_addr_to_node(
|
||||
b, nir_pack_64_2x32(b, nir_channels(b, instance_data, 0x3))),
|
||||
1);
|
||||
nir_pack_64_2x32(b, nir_channels(b, instance_data, 0x3)), 1);
|
||||
|
||||
/* Push the instance root node onto the stack */
|
||||
nir_store_deref(b, args->vars.current_node, nir_imm_int(b, RADV_BVH_ROOT_NODE),
|
||||
|
Reference in New Issue
Block a user