diff --git a/README.md b/README.md index f0e8171c..c07e662b 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ Most, however, are managed as linked submodule. |-------------------------------|------------|----------|----------------------------------------------|---------------------------| | Abseil Common Libraries (C++) | Apache-2.0 | 20211102 | https://abseil.io | Release 20211102 | | C++ commandline parsing | MIT | 3.0.0 | https://github.com/jarro2783/cxxopts | In source tree | -| Eigen 3 | MPL2 | 3.4.0 | https://eigen.tuxfamily.org | | +| Eigen 3 | MPL2 | 5.0.0 | https://eigen.tuxfamily.org | | | Expected lite | BSL-1.0 | 0.6.2 | https://github.com/martinmoene/expected-lite | In source tree | | Google Test | BSD-3 | 1.11.0 | https://github.com/google/googletest | | | Google Benchmark | Apache-2.0 | 1.5.5 | https://github.com/google/benchmark | | diff --git a/azure-pipelines.yml b/azure-pipelines.yml index ba1ad677..242051f8 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -34,7 +34,7 @@ jobs: configGraphicsOpenGL: 'on' configGraphicsEGL: 'on' pool: - vmImage: 'ubuntu-20.04' + vmImage: 'ubuntu-24.04' steps: - template: ci/azure-pipeline-generic.yml - job: Linux_ARM @@ -57,7 +57,7 @@ jobs: configGraphicsOpenGL: 'off' configGraphicsEGL: 'off' pool: - vmImage: 'ubuntu-20.04' + vmImage: 'ubuntu-24.04' steps: - template: ci/azure-pipeline-generic.yml - job: Linux_ARM64 @@ -80,7 +80,7 @@ jobs: configGraphicsOpenGL: 'off' configGraphicsEGL: 'off' pool: - vmImage: 'ubuntu-20.04' + vmImage: 'ubuntu-24.04' steps: - template: ci/azure-pipeline-generic.yml - job: MacOS @@ -136,6 +136,6 @@ jobs: configGraphicsOpenGL: 'on' configGraphicsEGL: 'off' pool: - vmImage: 'windows-2019' + vmImage: 'windows-2025' steps: - template: ci/azure-pipeline-generic.yml diff --git a/ci/azure-pipeline-generic.yml b/ci/azure-pipeline-generic.yml index 679702c5..0f13b7bb 100644 --- a/ci/azure-pipeline-generic.yml +++ b/ci/azure-pipeline-generic.yml @@ -38,7 +38,7 @@ steps: sudo make -C lcov-1.15/ install # Update link to gcov - sudo ln -sf /usr/bin/gcov-9 /usr/bin/gcov + sudo ln -sf /usr/bin/gcov-13 /usr/bin/gcov gcov --version # Install gcovr diff --git a/src/benchmarks/vcl.core/CMakeLists.txt b/src/benchmarks/vcl.core/CMakeLists.txt index fca098cd..c9290294 100644 --- a/src/benchmarks/vcl.core/CMakeLists.txt +++ b/src/benchmarks/vcl.core/CMakeLists.txt @@ -31,7 +31,7 @@ message(STATUS "Configuring 'vcl_core_benchmarks'") CPMAddPackage( GITHUB_REPOSITORY foonathan/memory - VERSION 0.7-3 + VERSION 0.7-4 OPTIONS "FOONATHAN_MEMORY_BUILD_EXAMPLES NO" "FOONATHAN_MEMORY_BUILD_TESTS NO" diff --git a/src/externals/eigen b/src/externals/eigen index 3147391d..549bf8c7 160000 --- a/src/externals/eigen +++ b/src/externals/eigen @@ -1 +1 @@ -Subproject commit 3147391d946bb4b6c68edd901f2add6ac1f31f8c +Subproject commit 549bf8c75b6aae071cde2f28aa48f16ee3ae60b0 diff --git a/src/libs/vcl.graphics/vcl/graphics/camera.cpp b/src/libs/vcl.graphics/vcl/graphics/camera.cpp index 2f6b376b..b6c96ac0 100644 --- a/src/libs/vcl.graphics/vcl/graphics/camera.cpp +++ b/src/libs/vcl.graphics/vcl/graphics/camera.cpp @@ -210,7 +210,7 @@ namespace Vcl { namespace Graphics { void Camera::encloseInFrustum(const Eigen::Vector3f& center, const Eigen::Vector3f& dir_to_camera, float radius, const Eigen::Vector3f& up) { - assert(radius > 0.0f); + VclRequire(radius > 0., "Radius is greater than zero"); setPosition(center + dir_to_camera.normalized() * 2.0f * 1.05f * radius); setTarget(center); diff --git a/src/libs/vcl.graphics/vcl/graphics/runtime/d3d12/resource/buffer.cpp b/src/libs/vcl.graphics/vcl/graphics/runtime/d3d12/resource/buffer.cpp index 5a78d5d4..8a21d1be 100644 --- a/src/libs/vcl.graphics/vcl/graphics/runtime/d3d12/resource/buffer.cpp +++ b/src/libs/vcl.graphics/vcl/graphics/runtime/d3d12/resource/buffer.cpp @@ -102,7 +102,7 @@ namespace Vcl { namespace Graphics { namespace Runtime { namespace D3D12 { _targetStates = toD3DResourceState(usage()); } - _currentStates = init_data ? D3D12_RESOURCE_STATE_COPY_DEST : buffer_usage; + _currentStates = D3D12_RESOURCE_STATE_COMMON; ID3D12Device* d3d12_dev = device->nativeDevice(); D3D12_RESOURCE_FLAGS flags = D3D12_RESOURCE_FLAG_NONE; @@ -120,6 +120,13 @@ namespace Vcl { namespace Graphics { namespace Runtime { namespace D3D12 { if (init_data) { + CD3DX12_RESOURCE_BARRIER barrier = CD3DX12_RESOURCE_BARRIER::Transition( + _resource.Get(), + D3D12_RESOURCE_STATE_COMMON, + D3D12_RESOURCE_STATE_COPY_DEST); + cmd_queue->ResourceBarrier(1, &barrier); + _currentStates = D3D12_RESOURCE_STATE_COPY_DEST; + const auto upload_heap_props = CD3DX12_HEAP_PROPERTIES(D3D12_HEAP_TYPE_UPLOAD); const auto upload_buffer_desc = CD3DX12_RESOURCE_DESC::Buffer(desc.SizeInBytes); VCL_DIRECT3D_SAFE_CALL(d3d12_dev->CreateCommittedResource( @@ -137,6 +144,15 @@ namespace Vcl { namespace Graphics { namespace Runtime { namespace D3D12 { UpdateSubresources(cmd_queue, _resource.Get(), _uploadResource.Get(), 0, 0, 1, &subresource_data); } + + if (cmd_queue && _currentStates != buffer_usage) + { + CD3DX12_RESOURCE_BARRIER barrier = CD3DX12_RESOURCE_BARRIER::Transition( + _resource.Get(), + _currentStates, + buffer_usage); + cmd_queue->ResourceBarrier(1, &barrier); + } } Buffer::~Buffer()