Skip to content
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

[gui] GGUI 2/n: Add optional graphics queue, compute queue, and surface to EmbeddedVulkanDevice #2648

Merged
merged 3 commits into from Aug 10, 2021

Conversation

AmesingFlank
Copy link
Collaborator

Related issue = #2646

This is the 2nd of a series of PRs that adds a GPU-based GUI to taichi. This PR adds an optional graphics queue, compute queue, and surface to EmbeddedVulkanDevice.

@AmesingFlank AmesingFlank requested review from k-ye, bobcao3 and g1n0st and removed request for k-ye August 9, 2021 05:48
@bobcao3
Copy link
Collaborator

bobcao3 commented Aug 9, 2021

Can you somehow incorporate the debug swapchain into this? We don't need a debug swapchain / window / surface if we have the Vulkan GUI.

@AmesingFlank
Copy link
Collaborator Author

Can you somehow incorporate the debug swapchain into this? We don't need a debug swapchain / window / surface if we have the Vulkan GUI.

Am I correct to understand that what's needed is to just always create a swapcahin and a surface when TI_VULKAN_DEBUG is on?

@bobcao3
Copy link
Collaborator

bobcao3 commented Aug 9, 2021

Can you somehow incorporate the debug swapchain into this? We don't need a debug swapchain / window / surface if we have the Vulkan GUI.

Am I correct to understand that what's needed is to just always create a swapcahin and a surface when TI_VULKAN_DEBUG is on?

that sounds good

Copy link
Member

@k-ye k-ye left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great!

taichi/backends/vulkan/loader.cpp Outdated Show resolved Hide resolved
taichi/backends/vulkan/vulkan_api.h Show resolved Hide resolved
@AmesingFlank
Copy link
Collaborator Author

Update: since taichi now supports dynamic field creation, I tried to replace the geometry shader with a taichi kernel that generate normals. This works and is pretty fast. So I will disable geometry shaders.

And regarding debug swap chain: I will do that in a future PR, after the GGUI related work is complete.

@bobcao3
Copy link
Collaborator

bobcao3 commented Aug 9, 2021 via email

Copy link
Member

@k-ye k-ye left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Copy link
Collaborator

@bobcao3 bobcao3 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe add a TODO on the wide line thing and have alternative ways to do that, maybe like in SVG renderers that uses a rectangle. (Lots of devices don't support wide lines)

@k-ye k-ye merged commit e6b468b into taichi-dev:master Aug 10, 2021
@Leonz5288 Leonz5288 mentioned this pull request Aug 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants