-
Notifications
You must be signed in to change notification settings - Fork 53
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
Add necessary headers for Vulkan QML GUI backend #706
Conversation
Codecov Report
@@ Coverage Diff @@
## main #706 +/- ##
==========================================
- Coverage 74.18% 74.07% -0.11%
==========================================
Files 159 159
Lines 14381 14408 +27
==========================================
+ Hits 10668 10673 +5
- Misses 3713 3735 +22
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. |
include/gz/rendering/RenderEngineVulkanExternalDeviceStructs.hh
Outdated
Show resolved
Hide resolved
we could target / backport this to |
Signed-off-by: Matias N. Goldberg <[email protected]>
Needed by Vulkan QML integration Signed-off-by: Matias N. Goldberg <[email protected]>
Needed by QML Vulkan integration. Signed-off-by: Matias N. Goldberg <[email protected]>
60c1d9e
to
15137d2
Compare
Signed-off-by: Matias N. Goldberg <[email protected]>
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.
changes look fine. Just need to fix Jammy build by adding vulkan dependency
include/gz/rendering/RenderEngineVulkanExternalDeviceStructs.hh
Outdated
Show resolved
Hide resolved
Signed-off-by: Matias N. Goldberg <[email protected]>
Can you add |
Signed-off-by: Matias N. Goldberg <[email protected]>
OK I just did. Let's cross fingers 🤞 |
the jammy build got further. Now it complains about the 2 macros in this block. build error here
I reproduced it on Jammy. If I comment those two |
Signed-off-by: Matias N. Goldberg <[email protected]>
Ahhhhh!!! That error is so annoying. The I think the problem is that I just pushed a fix. Let's hope that fixes it. |
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.
CI is green!
🎉 New feature
No ticket is associated with this feature.
Order in which PRs must be merged
Summary
The GUI component needs to send the Vulkan device to Rendering component, which in turns sends it to OgreNext. There were various possible solutions:
This PR adds the following structs:
GzVulkanExternalInstance
(mirrorsOgre::VulkanExternalInstance
without depending on OgreNext)GzVulkanExternalDevice
(mirrorsOgre::VulkanExternalDevice
without depending on OgreNext)These structs are filled by gz-gui and passed to gz-rendering via "external_instance" and "external_device".
The new code is guarded using
#ifdef OGRE_BUILD_RENDERSYSTEM_VULKAN
because if OgreNext wasn't built with Vulkan support, then it is extremely likely the Vulkan SDK isn't present (i.e. Apple systems) which means including RenderEngineVulkanExternalDeviceStructs.hh will cause errors.Test it
To test this code we need gazebosim/gz-gui#467 however we could add test coverage by creating a Vulkan Device in a test and testing this interface.
Checklist
codecheck
passed (See contributing)Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining
Signed-off-by
messages.