intel/rt: Add a helper to create the raygen trampoline shader
Unlike graphics and compute pipelines, Vulkan ray-tracing pipelines do not have a single entrypoint. Instead, the raygen shader is specified as a one-element shader binding table in the vkCmdTraceRay call. This means that raygen shaders have to be bindless shaders just like any other ray tracing shader. To launch them, we have a tiny compute shader that acts as a trampoline and sets up the hotzone and uses btd_spawn to fire off the raygen shader. Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7356>
This commit is contained in:

committed by
Marge Bot

parent
303378e1dd
commit
96fde5518b
@@ -64,6 +64,9 @@ void brw_nir_lower_intersection_shader(nir_shader *intersection,
|
||||
const struct gen_device_info *devinfo);
|
||||
|
||||
nir_shader *
|
||||
brw_nir_create_raygen_trampoline(const struct brw_compiler *compiler,
|
||||
void *mem_ctx);
|
||||
nir_shader *
|
||||
brw_nir_create_trivial_return_shader(const struct brw_compiler *compiler,
|
||||
void *mem_ctx);
|
||||
|
||||
|
Reference in New Issue
Block a user