Enabling OptiX hides the Branched Path Tracing option and should always use normal Path Tracing.
When enabling CPU devices in addition to OptiX devices however, the device type is no longer set to DEVICE_OPTIX, but to DEVICE_MULTI, an edge case the Branched Path Tracing support check during synchronization did not catch.
This fixes that by checking if any device is an OptiX device and also disabling the Branched Path Tracing integrator method globally if so (which we should have done before, since right now the OptiX device just ignores that option, but that's a bit hacky since there is no guarantee other parts of the code don't use it).
Quick review to ensure the direct access of scene->device is fine (didn't see API encapsulation for it yet).