-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
upgrade embree to v4.3.3 and fix fmt formatter for RTCError #6901
Conversation
Thanks for submitting this pull request! The maintainers of this repository would appreciate if you could update the CHANGELOG.md based on your changes. |
Failed with: Did you build with another version of embree?
enum RTCError
{
RTC_ERROR_NONE = 0,
RTC_ERROR_UNKNOWN = 1,
RTC_ERROR_INVALID_ARGUMENT = 2,
RTC_ERROR_INVALID_OPERATION = 3,
RTC_ERROR_OUT_OF_MEMORY = 4,
RTC_ERROR_UNSUPPORTED_CPU = 5,
RTC_ERROR_CANCELLED = 6,
}; |
Latest embree does contain the value though, so might be good when embree is upgraded: enum RTCError
{
RTC_ERROR_NONE = 0,
RTC_ERROR_UNKNOWN = 1,
RTC_ERROR_INVALID_ARGUMENT = 2,
RTC_ERROR_INVALID_OPERATION = 3,
RTC_ERROR_OUT_OF_MEMORY = 4,
RTC_ERROR_UNSUPPORTED_CPU = 5,
RTC_ERROR_CANCELLED = 6,
RTC_ERROR_LEVEL_ZERO_RAYTRACING_SUPPORT_MISSING = 7,
}; Edit: /* Returns the string representation for the error code. For example, for RTC_ERROR_UNKNOWN the string "RTC_ERROR_UNKNOWN" will be returned. */
RTC_API const char* rtcGetErrorString(enum RTCError error); It also seems to be a new function. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This change requires an upgraded embree version
If embree is upgraded, I would prefer using this function instead of switch case, in order to be independent of the actual enum values if future changes might occure:
https://github.com/RenderKit/embree/blob/3c9936cb6bfb21c572503438d7a10a432e885d2c/include/embree4/rtcore_device.h#L94C1-L95C60
/* Returns the string representation for the error code. For example, for RTC_ERROR_UNKNOWN the string "RTC_ERROR_UNKNOWN" will be returned. */
RTC_API const char* rtcGetErrorString(enum RTCError error);
@timohl I test it with embree |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The additional enum value and rtcGetErrorString
are actually new in v4.3.3 which was released last week.
The main branch of open3D is on v4.3.1:
Open3D/3rdparty/embree/embree.cmake
Lines 70 to 71 in f02e7d2
URL https://github.com/embree/embree/archive/refs/tags/v4.3.1.tar.gz | |
URL_HASH SHA256=824edcbb7a8cd393c5bdb7a16738487b21ecc4e1d004ac9f761e934f97bb02a4 |
See #6665 for the last pull request updating embree.
Maybe you could change the URL and URL_HASH to embree v4.3.3 as well, then the checks can run on the correct version.
Okay, another commit is added to upgrade |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
:LGTM:
Maybe update the title of this pull request and lets see how the checks go. :)
Thanks @daizhirui for the PR and thanks @timohl for reviewing! |
This pull request fixes the following build error: