Problem
CUDABackend::IsValid() (line 39) only checks m_CUDAState != nullptr.
If CUDARenderer_Init fails during stream creation, state->initialized remains false and state->cudaError may be set — but IsValid() still returns true.
The MOD-02b CPU fallback mechanism depends on IsValid() returning false when GPU is broken.
Fix
Add checks for state->initialized and state->cudaError in IsValid().
Files
RayTracing/src/CUDABackend.h
RayTracing/src/CUDABackend.cpp
Problem
CUDABackend::IsValid()(line 39) only checksm_CUDAState != nullptr.If
CUDARenderer_Initfails during stream creation,state->initializedremains false andstate->cudaErrormay be set — butIsValid()still returns true.The MOD-02b CPU fallback mechanism depends on
IsValid()returning false when GPU is broken.Fix
Add checks for
state->initializedandstate->cudaErrorinIsValid().Files
RayTracing/src/CUDABackend.hRayTracing/src/CUDABackend.cpp