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

Meson Build File For Issue: #78 #119

Closed
wants to merge 23 commits into from

Conversation

LinuxLegend
Copy link

@LinuxLegend LinuxLegend commented Mar 25, 2022

The scope of this Meson Build project is to migrate from CMake to Meson build system and to ensure it have the same or comparable feature parities to that of CMake. There are few additional configuration options such as modifying VMA defines to affect the memory allocation behaviors in Vulkan and so forth. There are some clear advantages to this meson file being clearer to write and to be easily imported into another Meson-based projects and potentially CMake as well through Pkg-config manifest. Existing meson project can import declared dependencies such as vkvg_shared_dep and vkvg_static_dep.

Pending Tasks to Complete:

  • GLSL Shader compilation and inclusion
  • Test cases migration from cmake to meson
  • Double check on everything to see if I got all of the options/defines sorted out
  • Sort out the duplicate reference/functions in glutess for priorityq-heap.c file
  • Add other VMA in-code defines (such as VMA_DEFAULT_LARGE_HEAP_BLOCK_SIZE)
  • Add Readme Documentation on Meson configuration

Included line for removal of Strict ANSI for pending bug fix in jpbruyere#78
@LinuxLegend
Copy link
Author

Removed New Automated Test Cases for Validating VKVG Behaviors by comparing pixels to control group images, will make that a separate issue/pull request apart from this, but it would be useful in CI/CD considerations for evaluating regressions.

@LinuxLegend
Copy link
Author

Test cases are now working properly and now onto GLSL shader compilation stage and inclusion.

@LinuxLegend
Copy link
Author

Finished the shader compilation for both Linux/Windows, will have to test Windows later on. All that is left is documentation.

@LinuxLegend
Copy link
Author

Also added test related option to hide the warnings from test cases, this is set to true by default (non-test code still have warnings displayed.)

@LinuxLegend
Copy link
Author

All set for review!

@LinuxLegend LinuxLegend marked this pull request as ready for review March 26, 2022 22:53
meson.build Outdated Show resolved Hide resolved
@LinuxLegend
Copy link
Author

Strict ansi exclusion is removed, for more info on what is going on: #78 (comment)

@@ -96,8 +97,82 @@ if `glslc` or `xxd` are not present, a precompiled version of the shaders is sto
<a href="https://aur.archlinux.org/packages/vkvg"><img src="https://img.shields.io/aur/version/vkvg"></a>
<a href="https://mpr.hunterwittenborn.com/packages/vkvg"><img src="https://img.shields.io/badge/mpr-v0.3.0--beta-blue"></a>

## Meson Build
Copy link
Owner

@jpbruyere jpbruyere Mar 31, 2022

Choose a reason for hiding this comment

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

one more level from 'building' (an additional '#'), also I would have preferred the meson build to appear after the original cmake. (at least for now).
The VMA options should be splited in a separated markdown file (in the doc folder).

meson.build Show resolved Hide resolved
@jpbruyere
Copy link
Owner

jpbruyere commented Mar 31, 2022

Is it possible to replace the shader/helper batches by commands directly issued from the meson build file?
The vkvg compilation options being the same in both cmake and meson, duplicating them in the readme is not the best solution.
Maybe, to simplify you work on this, you may create a complete separate markdown file for the meson build documentation with the actual content of your pr for the reame (in the doc forlder), I will add a link in the readme. Then We may move the compilation options in a generic paragraph for both compile method, and simply give some hint to use them for cmake and meson.

@jpbruyere
Copy link
Owner

I also guess vkh stuff (including vma) will be moved to the vkhelpers project?

@LinuxLegend
Copy link
Author

Yep, there would still be some configuration options retained on this Vkvg project, that can be passed over to Vkh project for meson options.

@jpbruyere
Copy link
Owner

Thank you for your time on this...

@LinuxLegend
Copy link
Author

I will reopen this PR when I get it cleaned up and hopefully getting confirmation from Tinycthread on the undefine line.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants