Mismatch in testing denoise device for Apple Silicon #15
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
If you build under debug and try to render scene_monkey.xml, it throws an assertion:
Assertion failed: (id != info.id || (type == info.type && num == info.num && description == info.description)), function operator==, file device.h, line 124.
The call is from Session::Session trying to compare if the device and denoise_device are the same and if so, sets them equal, but the Device::operator== claims that if they're the same it would be "very bad" and throws an assert.
Poking around, the problem is that the denoise_device is partially uninitialized in standalone. I temporarily fixed it with this in cycles_standalone.cpp (it duplicates the default device or picks the first device that's not the default device if there's more than one. The 'tcp' line is from a change I'm making to make cycles run distributed):
diff --git a/intern/cycles/app/cycles_standalone.cpp b/intern/cycles/app/cycles>
index f6d05cadc95..bc33b0a39fd 100644
--- a/intern/cycles/app/cycles_standalone.cpp
+++ b/intern/cycles/app/cycles_standalone.cpp
@@ -555,7 +555,16 @@ so it should look something like: -b tcp://*:5555",
bool device_available = false;
if (!devices.empty()) {
options.session_params.device = devices.front();
device_available = true;
}
/* handle invalid configurations */