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

Version 0.6.4: Hot-Fixes #98

Merged
merged 39 commits into from
Jul 19, 2022
Merged

Version 0.6.4: Hot-Fixes #98

merged 39 commits into from
Jul 19, 2022

Conversation

egorodet
Copy link
Member

@egorodet egorodet commented Jul 18, 2022

Methane Kit v0.6 Post-Release Hot-Fixes

  • Samples apps:
    • Attempted replacement of PerlinNoise with FastNoise2 library, but reverted it back because of no ARM support for M1 Macs (see FastNoise2 issue)
  • Graphics libraries:
    • Fixed runtime errors in GPU profiling builds with METHANE_GPU_PROFILING_ENABLED=ON:
      • DirectX GPU timestamps re-calibration issue leading to GPU ranges shifting was fixed.
      • Fixed command list execution waiting threads synchronisation in Profiling builds in Typography tutorial.
    • Fixed resources retaining in command lists. Retained resources were incorrectly cleared on CommandList::Reset(), while they should be cleared on CommandList::Commit().
    • Fixed DirectX descriptor heaps allocations after Context::Reset() by always using deferred heap allocation in all cases. Deferred heap initialisation flag was removed, since it became unconditionally deferred.
    • Fixed sporadic hang in CommandQueueTrackingBase::WaitForExecution()
    • Fixed sporadic crash on destruction of CommandQueueTrackingBase with proper shutdown procedure called from destructor of derived class.
    • Fixed Vulkan build and some initialisation errors on MacOS.
  • Tests:
    • All unit tests were updated to support breaking changes in Catch v3.
    • Point<T,size> wrapper class was extended with workarounds of MacOS & ARM specific bugs in HLSL++ integer vector comparison and division operators (see 1 and 2).
    • Logging of Point, Rect and RectSize values was added in DataTypes unit tests.
  • External libraries:
    • External dependencies management via Git submodules was replaced with CPM.cmake package manager. No submodules anymore - it greatly simplifies external library updates!
      • All externally dependent repositories are downloaded to CPM cache directory during CMake configuration stage, to Build/Output/ExternalsCache by default (it can be changed with CMake option CPM_SOURCE_CACHE).
      • When CMake project is configured under CLion, external repositories are downloaded to individual build directories of each configuration to workaround parallel cache update collision issue of the CPM.cmake.
    • New README.md description of the external dependencies was added in Externals directory.
    • Almost all libraries were updated to latest version, except SPIRV-Cross and DirectX Shader Compiler pre-built binary tools.
  • Build infrastructure:
    • Root CMakeLists.txt was simplified by moving all compiler configuration options to CMake/MethaneBuildOptions.cmake.
    • Use caching of Externals CPM package sources in Azure Pipelines and GitHub Workflows to speedup builds.
    • MacOS builders were switched from v10.15 to v11.

egorodet added 30 commits June 29, 2022 22:59
…in Asteroids sample" (due to missing ARM support for Mac)

This reverts commit b343e3a.
@egorodet egorodet added bug Something isn't working enhancement New feature or request labels Jul 18, 2022
@egorodet egorodet added this to the v0.6 milestone Jul 18, 2022
@egorodet egorodet self-assigned this Jul 18, 2022
@@ -229,6 +311,13 @@
template<typename M>
std::enable_if_t<std::is_arithmetic_v<M>, PointType&> operator/=(const Point<M, size>& divisor) noexcept
{
#if defined(__APPLE__) && defined(__aarch64__)
// FIXME: workaround for HLSL++ issue (https://github.com/redorav/hlslpp/issues/60)

Check notice

Code scanning / CodeQL

FIXME comment

FIXME comment: workaround for HLSL++ issue (https://github.com/redorav/hlslpp/issues/60)
@@ -199,6 +273,13 @@
template<typename M>
std::enable_if_t<std::is_arithmetic_v<M>, PointType&> operator/=(M divisor) noexcept
{
#if defined(__APPLE__) && defined(__aarch64__)
// FIXME: workaround for HLSL++ issue (https://github.com/redorav/hlslpp/issues/60)

Check notice

Code scanning / CodeQL

FIXME comment

FIXME comment: workaround for HLSL++ issue (https://github.com/redorav/hlslpp/issues/60)
@@ -170,6 +236,13 @@
template<typename M>
std::enable_if_t<std::is_arithmetic_v<M>, PointType> operator/(const Point<M, size>& divisor) const noexcept
{
#if defined(__APPLE__) && defined(__aarch64__)
// FIXME: workaround for HLSL++ issue (https://github.com/redorav/hlslpp/issues/60)

Check notice

Code scanning / CodeQL

FIXME comment

FIXME comment: workaround for HLSL++ issue (https://github.com/redorav/hlslpp/issues/60)
@@ -140,6 +198,13 @@
template<typename M>
std::enable_if_t<std::is_arithmetic_v<M>, PointType> operator/(M divisor) const noexcept
{
#if defined(__APPLE__) && defined(__aarch64__)
// FIXME: workaround for HLSL++ issue (https://github.com/redorav/hlslpp/issues/60)

Check notice

Code scanning / CodeQL

FIXME comment

FIXME comment: workaround for HLSL++ issue (https://github.com/redorav/hlslpp/issues/60)
[[nodiscard]] bool operator==(const PointType& other) const noexcept
{
#if defined(__APPLE__) && defined(__x86_64__)
// FIXME: workaround for HLSL++ issue (https://github.com/redorav/hlslpp/issues/61):

Check notice

Code scanning / CodeQL

FIXME comment

FIXME comment: workaround for HLSL++ issue (https://github.com/redorav/hlslpp/issues/61):
[[nodiscard]] bool operator>(const PointType& other) const noexcept
{
#if defined(__APPLE__) && defined(__x86_64__)
// FIXME: workaround for HLSL++ issue (https://github.com/redorav/hlslpp/issues/61):

Check notice

Code scanning / CodeQL

FIXME comment

FIXME comment: workaround for HLSL++ issue (https://github.com/redorav/hlslpp/issues/61):
[[nodiscard]] bool operator<(const PointType& other) const noexcept
{
#if defined(__APPLE__) && defined(__x86_64__)
// FIXME: workaround for HLSL++ issue (https://github.com/redorav/hlslpp/issues/61):

Check notice

Code scanning / CodeQL

FIXME comment

FIXME comment: workaround for HLSL++ issue (https://github.com/redorav/hlslpp/issues/61):
@sonarqubecloud
Copy link

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 2 Code Smells

21.4% 21.4% Coverage
0.0% 0.0% Duplication

@sonarqubecloud
Copy link

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 1 Code Smell

21.4% 21.4% Coverage
0.0% 0.0% Duplication

@sonarqubecloud
Copy link

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 8 Code Smells

77.0% 77.0% Coverage
0.0% 0.0% Duplication

@egorodet egorodet merged commit d95ef69 into master Jul 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant