-
-
Notifications
You must be signed in to change notification settings - Fork 297
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
Vulkan renderer backend #2564
Vulkan renderer backend #2564
Conversation
for more information, see https://pre-commit.ci
Bloaty Results (iOS) 🐋Compared to main
Full report: https://maplibre-native.s3.eu-central-1.amazonaws.com/bloaty-results-ios/pr-2564-compared-to-main.txt |
Bloaty Results 🐋Compared to main
Full report: https://maplibre-native.s3.eu-central-1.amazonaws.com/bloaty-results/pr-2564-compared-to-main.txtCompared to d387090 (legacy)
Full report: https://maplibre-native.s3.eu-central-1.amazonaws.com/bloaty-results/pr-2564-compared-to-legacy.txt |
Benchmark Results ⚡
Full report: https://maplibre-native.s3.eu-central-1.amazonaws.com/benchmark-results/pr-2564-compared-to-main.txt |
…aplibre-native into vulkan-backend
for more information, see https://pre-commit.ci
for more information, see https://pre-commit.ci
…aplibre-native into vulkan-backend
for more information, see https://pre-commit.ci
As discussed, let's not add any tests to CI yet for the Vulkan backend, but make sure it builds for Linux on CI. @adrian-cojocaru If you can share some build instructions I am happy to add it to |
…EXT_debug_utils is not available)
…aplibre-native into vulkan-backend
for more information, see https://pre-commit.ci
…tive into vulkan-backend
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.
Happy we got a build going on CI!
There's not a lot I can comment on except for C++ nitpicking. Left some comments but there's not really any blockers in that regard from my side.
for more information, see https://pre-commit.ci
…aplibre-native into vulkan-backend
for more information, see https://pre-commit.ci
…tive into vulkan-backend
…tive into vulkan-backend
for more information, see https://pre-commit.ci
I am able to build and run mbgl-glfw built with clang 10 as well as GCC 9.4 with attached patch. Lots of clang-tidy issues; some are directly related to the compiler errors. Build flags:
|
@jwinarske Could you share your clang-tidy config? Here is ours: https://github.com/maplibre/maplibre-native/blob/main/.clang-tidy Any chance you could upstream your patch as a PR? |
@jwinarske Seems to compile without any issue on clang 10/GCC 9.4. As @louwers suggested the difference is probably in clang-tidy config. |
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.
Can/will this also be used for validating the opengl GLSL shaders, or is it only relevant for vulkan/SPIR-V?
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.
It can be used for validation/reflection but it's relevant only for Vulkan at the moment. Ideally even there it should end up as a build time step to avoid linking.
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Bart Louwers <bart.louwers@gmail.com>
Rough implementation of a Vulkan renderer backend (tested on Windows).
Notes:
requires a valid surface (no offscreen rendering at the moment)List of working shaders (and associated functionality):
BackgroundShader
BackgroundPatternShader
CircleShader
ClippingMaskProgram
CollisionBoxShader
CollisionCircleShader
CustomSymbolIconShader
DebugShader
FillShader
FillOutlineShader
FillPatternShader
FillOutlinePatternShader
FillOutlineTriangulatedShader
FillExtrusionShader
FillExtrusionPatternShader
HeatmapShader
HeatmapTextureShader
HillshadeShader
HillshadePrepareShader
LineShader
LineGradientShader
LineSDFShader
LinePatternShader
RasterShader
SymbolIconShader
SymbolSDFIconShader
SymbolTextAndIconShader
WideVectorShader