video_core: Page manager and memory tracker improvenets (#3155)

* I don't know what to put here

* clang-format

* clang-format 2.0

* Deadlock free locking

* Por boost range lock implementation

* clang-format
This commit is contained in:
Lander Gallastegi 2025-06-26 18:38:53 +02:00 committed by GitHub
parent a49b13fe66
commit 9f37ede336
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 176 additions and 42 deletions

View file

@ -15,8 +15,13 @@ class Rasterizer;
namespace VideoCore {
class PageManager {
static constexpr size_t PAGE_BITS = 12;
static constexpr size_t PAGE_SIZE = 1ULL << PAGE_BITS;
// Use the same page size as the tracker.
static constexpr size_t PAGE_BITS = TRACKER_PAGE_BITS;
static constexpr size_t PAGE_SIZE = TRACKER_BYTES_PER_PAGE;
// Keep the lock granularity the same as region granularity. (since each regions has
// itself a lock)
static constexpr size_t PAGES_PER_LOCK = NUM_PAGES_PER_REGION;
public:
explicit PageManager(Vulkan::Rasterizer* rasterizer);