Problem
Three CUDA operations in CUDARenderer.cu lack error checking:
-
cudaEventRecord / cudaStreamWaitEvent (line 365-366): If cudaEventRecord fails, compute stream won't properly wait for uploads → kernel may read incomplete data.
-
cudaEventCreate (line 180): All other CUDA calls in CUDARenderer_Init are checked — only cudaEventCreate is not.
-
ConvertToRGBAKernel launch (line 441-445): No cudaGetLastError or any error check after kernel launch → silent failures.
Fix
- Wrap
cudaEventRecord/cudaStreamWaitEvent in error checks
- Add explicit error check for
cudaEventCreate
- Add
cudaGetLastError check after ConvertToRGBAKernel launch
Files
RayTracing/src/CUDARenderer.cu
Problem
Three CUDA operations in
CUDARenderer.culack error checking:cudaEventRecord/cudaStreamWaitEvent(line 365-366): IfcudaEventRecordfails, compute stream won't properly wait for uploads → kernel may read incomplete data.cudaEventCreate(line 180): All other CUDA calls inCUDARenderer_Initare checked — onlycudaEventCreateis not.ConvertToRGBAKernellaunch (line 441-445): NocudaGetLastErroror any error check after kernel launch → silent failures.Fix
cudaEventRecord/cudaStreamWaitEventin error checkscudaEventCreatecudaGetLastErrorcheck afterConvertToRGBAKernellaunchFiles
RayTracing/src/CUDARenderer.cu