Skip to content

Conversation

@daniel86
Copy link
Owner

@daniel86 daniel86 commented Jan 3, 2026

This PR introduces uniform ring buffer sizes across the staging system to reduce fence synchronization overhead, and modernizes the codebase by converting preprocessor macros to constexpr variables. The main improvements include better GPU-CPU synchronization management, improved code maintainability, and various bug fixes.

Key Changes

  • Implemented uniform ring buffer sizing in the staging system with a single shared fence for all arenas when enabled
  • Converted preprocessor defines to namespace-scoped constexpr variables in boids-gpu.cpp, staging-buffer.cpp, and staged-buffer.cpp
  • Fixed uninitialized variable issues and removed dead code across multiple files

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR introduces uniform ring buffer sizes across the staging system to reduce fence synchronization overhead, and modernizes the codebase by converting preprocessor macros to constexpr variables. The main improvements include better GPU-CPU synchronization management, improved code maintainability, and various bug fixes.

Key Changes

  • Implemented uniform ring buffer sizing in the staging system with a single shared fence for all arenas when enabled
  • Converted preprocessor defines to namespace-scoped constexpr variables in boids-gpu.cpp, staging-buffer.cpp, and staged-buffer.cpp
  • Fixed uninitialized variable issues and removed dead code across multiple files

Reviewed changes

Copilot reviewed 58 out of 58 changed files in this pull request and generated 12 comments.

Show a summary per file
File Description
regen/memory/staging-system.h/cpp Core implementation of uniform ring buffer sizing with shared fence management and buffer rotation support
regen/memory/staging-buffer.h/cpp Converted preprocessor macros to constexpr and refactored conditional compilation logic
regen/memory/staged-buffer.h/cpp Converted preprocessor macros to constexpr; fixed documentation and initialization
regen/simulation/boids-gpu.cpp Converted debug macros to namespace constexpr bools and updated to use if constexpr
regen/objects/volume.glsl Added look-ahead logic for better maximum detection in ray-casting; updated stepSize validation
regen/shapes/* Removed unused member variables and functions; fixed uninitialized variables
regen/scene/scene.cpp Added validation to ensure viewport dimensions are at least 2x2 and divisible by 2
regen/shader/* Code cleanup including removal of unused methods and style improvements
regen/av/* Improved error messages and code organization; added deleted copy constructors
regen/gl/* Header cleanup and minor refactoring improvements
regen/compute/* Fixed array initialization syntax
regen/objects/assimp-importer.cpp Changed from double to float precision for trigonometric functions
applications/* Updated to use new rotateBuffers API and improved window size validation

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@github-actions
Copy link

github-actions bot commented Jan 3, 2026

✅ Compilation - SUCCESS! ✅

@github-actions
Copy link

github-actions bot commented Jan 3, 2026

Test Results

1 tests  ±0   1 ✅ ±0   0s ⏱️ ±0s
1 suites ±0   0 💤 ±0 
1 files   ±0   0 ❌ ±0 

Results for commit 2b955f2. ± Comparison against base commit 4bfc0e2.

♻️ This comment has been updated with latest results.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 58 out of 58 changed files in this pull request and generated 14 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@daniel86 daniel86 merged commit ce4e10e into dev Jan 3, 2026
5 checks passed
@daniel86 daniel86 deleted the rings branch January 3, 2026 22:22
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.

2 participants