At the moment, when we go to create a handle to a GPU entry point, we must provide the name of that entry point. For example,
GPRT_RAYGEN_PROGRAM(raygen, (RayGenData, record)) {}
GPRTRayGenOf<RayGenData> rayGen = gprtRayGenCreate<RayGenData>(gprt, module, "raygen");
However, if we go to update that entry point's name:
GPRT_RAYGEN_PROGRAM(newRaygenName, (RayGenData, record)) {}
And we forget to update the host side handle's string, then we get a confusing device loss crash at runtime without any description as to what the issue is.
It would be great if we could move this to a compile-time check somehow, or at the least give a better runtime error...
At the moment, when we go to create a handle to a GPU entry point, we must provide the name of that entry point. For example,
GPRT_RAYGEN_PROGRAM(raygen, (RayGenData, record)) {}GPRTRayGenOf<RayGenData> rayGen = gprtRayGenCreate<RayGenData>(gprt, module, "raygen");However, if we go to update that entry point's name:
GPRT_RAYGEN_PROGRAM(newRaygenName, (RayGenData, record)) {}And we forget to update the host side handle's string, then we get a confusing device loss crash at runtime without any description as to what the issue is.
It would be great if we could move this to a compile-time check somehow, or at the least give a better runtime error...