Commit d955e36
Development/compositor enhancements (#924)
* Compositor: Mesa add preflight checks
* Add westeros environment configuration for compositor
* Add README for Wayland Compositor Library
* Update IOutput.h documentation for clarity and consistency
* Compositor: Fix memory leak in DRM node
* Compositor: Enhance DRM handling with mode selection and adjustments
* Compositor: Update SelectBestMode and ScanConnector to include requestedRefreshRate parameter
* Compositor: Add refreshRate parameter to buffer creation functions and update related components
* Compositor: Improve error handling in configuration parsing and add trace logging
* Compositor: Add refresh rate parameter to buffer creation in test files
* Compositor: Fix compile issues
* Compositor: EGL we need EGL_KHR_no_config_context or EGL_MESA_configless_context
* Refactor PixelFormat class: streamline constructors, add IsValid method, and update DefaultModifier
* Add CompositorUtils header with PixelFormat string conversion and intersection logic
* Refactor Connector class: update format handling and improve framebuffer configuration logic
* Compositor: add a property value and a blob getter.
* Compositor: Add a function to extract pixel formats from drm properties.
* Compositor: Let the hardware select what modifier it prefers.
* Compositor Rename CreateBuffer to Buffer.
* Compositor: Replace Wayland format and modifier types with PixelFormat and update related logic
* Compositor: Add SHM format handling and logging in Wayland implementation
* Compositor: Refactor egl pixel format handling to separate render and texture formats
* Compositor: Update buffer creation to use default pixel format
* Compositor: Improve GLESFrameBuffer handling and error logging for EGL image creation
* Compositor: Update format and modifier handling to auto-select values and expose new accessors
* Compositor: Update Presented method signatures to use uint64_t for sequence parameter
* Compositor: Also report a failed presentation
* Compositor: Implement output termination handling and exit requests in tests
* Compositor: Factored GELS debugging
* Compositor: Mark unused parameter in Terminated method across multiple files
* Compositor: Wayland add damage buffer and presentation feedback handling
* Compositor: fix FPS calculation in HandleVSync to prevent division by zero
* Compositor: refactor WaylandOutput to decouple window size and render size
* Compositor: add viewport support and configure viewport scaling in WaylandOutput
* Compositor: add libdecor basics
* Compositor: Remove serverside decoration
* Add support for libdecor integration and enhance Wayland output handling
- Updated CMakeLists.txt to conditionally include libdecor based on a new option.
- Modified IBackend interface to support libdecor context retrieval.
- Enhanced WaylandOutput class to manage libdecor frame configuration, commit, and destruction.
- Introduced VSyncTimer class for managing frame synchronization.
- Refactored buffer handling and presentation feedback mechanisms to accommodate libdecor.
- Improved aspect ratio handling in window resizing logic.
- Added surface tracking capabilities for better output management.
* Enhance GLES2 debug scope management and improve error handling
* Refactor EGL display management and enhance context handling
* Reset EGL context in DmaBuffer destructor to ensure proper resource cleanup
* Refactor RenderTest classes to inherit from BaseTest and improve structure
- Updated RenderTest classes in testdmabuf.cpp, testquads.cpp, and testtexture.cpp to inherit from BaseTest, reducing code duplication and enhancing maintainability.
- Removed unnecessary private members and methods related to rendering management, such as threading and exit handling, as these are now managed by BaseTest.
- Simplified frame rendering logic by utilizing the NewFrame method from BaseTest, allowing for cleaner and more efficient frame updates.
- Improved keyboard input handling in main functions to provide clearer command options for starting/stopping rendering and displaying FPS.
- Adjusted constructor parameters for RenderTest to align with new BaseTest structure, ensuring proper initialization of rendering components.
* Implement shared memory buffer in PixelBuffer and SHMMapper classes
* Adjust frame rate handling in WaylandOutput and update RenderTest initialization
* Compositor: GLES Render set egl context current on unbind
* Compositor: Fix render tests
* Compositor: Add DRM name wrappers
* Adjust VSyncTimer refresh rate default to 60000 microseconds
* Compositor: Fix dmabuf test
* Compositor: mimic wayland feedback with theVSyncTimer
* Compositor: Proper window resizing and damage tracking
* Compositor: Add atomic terminated flag to WaylandOutput
* Compositor: Add Atomic FIFO
* Compositor: Implement Stop method to safely halt rendering and clean up resources
* Compositor: Refactor Client and add PrivilegedRequestCallback for buffer handling
* Compositor: Add rendering statistics tracking and reporting
* Compositor: Add Stats tracing category
* Compositor: Remove std::cout for buffer logging
* Compositor: Remove redundant assertion for render descriptor
* Compositor: Simplify DisplayDispatcher constructor and destructor by removing unnecessary reference counting
* Compositor: Forgot to change copyright when I used findEGL.cmake as a base for this new file,
* Update DRMTypes.cpp
Remove console output.
---------
Co-authored-by: Pierre Wielders <[email protected]>1 parent 6431e0c commit d955e36
File tree
39 files changed
+3815
-1704
lines changed- Compositor
- cmake
- lib
- Mesa
- backend
- src
- DRM
- Wayland
- test
- backend
- scandrm
- buffer
- src/GBM
- test
- drm
- include
- renderer
- src/GL
- test
- texturebuffer
- Wayland
39 files changed
+3815
-1704
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
56 | | - | |
| 56 | + | |
57 | 57 | | |
58 | 58 | | |
59 | | - | |
60 | | - | |
61 | 59 | | |
62 | 60 | | |
63 | 61 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
73 | 73 | | |
74 | 74 | | |
75 | 75 | | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | | - | |
| 76 | + | |
80 | 77 | | |
81 | 78 | | |
82 | 79 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
208 | 208 | | |
209 | 209 | | |
210 | 210 | | |
211 | | - | |
212 | 211 | | |
213 | | - | |
214 | | - | |
215 | | - | |
| 212 | + | |
216 | 213 | | |
217 | | - | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
218 | 223 | | |
219 | 224 | | |
220 | 225 | | |
| |||
247 | 252 | | |
248 | 253 | | |
249 | 254 | | |
250 | | - | |
| 255 | + | |
251 | 256 | | |
252 | 257 | | |
253 | 258 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
0 commit comments