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

GPU Support #56

Merged
merged 15 commits into from Mar 26, 2019
Merged

GPU Support #56

merged 15 commits into from Mar 26, 2019

Conversation

pragmatrix
Copy link
Member

@pragmatrix pragmatrix commented Mar 18, 2019

This PR has the following objective:

  • review and modernize the Vulkan feature APIs.
  • support OpenGL
  • support most of the GPU related SkSurface functions.
  • extend GrContext with OpenGL support functions.
  • render the skia-org example with OpenGL

Closes #50

@pragmatrix pragmatrix changed the title [WIP] Support GPU [WIP] GPU Support Mar 18, 2019
@pragmatrix
Copy link
Member Author

Sad, the examples can not be rendered with OpenGL when there is no possibility to open a (dummy) window. Locally it works under Windows (Radeon R7 200) MacOSX (Intel HD 3000) just fine, although the 5th example of the Path examples does not render a zero sized square cap on both machines, but this should be investigated separately.

Under Linux with XMing 6.9 on the Windows side (7 is available, but behind a donor gate, and the changelog does not tell if XInput2 is supported):

thread 'main' panicked at 'X server has XInput extension 1.4 but does not support XInput2'

So I assume this would work under Linux with a XInput2 capable X server, too.

I'll try to get Vulkan rendering to work in separate PR, and remove the OpenGL artifact generation from the CI as long we can't find a way to render OpenGL without a Window.

@Brooooooklyn
Copy link
Member

Brooooooklyn commented Mar 26, 2019

In my experience, render OpenGL without a Window was simple under the macOS, but macOS does not support OpenGL anymore since OpenGL 4.1.
Under linux, it seems impossible to create OpenGL context without any window. I see most other applications choose Mesa to mock OpenGL API offscreen.
you can see: https://github.com/servo/rust-offscreen-rendering-context

@Brooooooklyn Brooooooklyn merged commit b0cd6ce into master Mar 26, 2019
@Brooooooklyn Brooooooklyn deleted the support-gpu branch March 26, 2019 02:55
@pragmatrix
Copy link
Member Author

pragmatrix commented Mar 26, 2019

@Brooooooklyn Thanks for that, the offscreen context works better on Windows where the mouse pointer does not reappear, but it attempts to open an X Window under Linux.

I am preparing a PR to see how it goes works on MacOSX on Azure. Even if we can't use Azure for rendering OpenGL, it seems to be a better choice already.

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.

Render a second set of the skia-org examples with OpenGL.
2 participants