@@ -15,6 +15,7 @@ namespace Aquamarine {
1515 class CDRMOutput ;
1616 struct SDRMConnector ;
1717 class CDRMRenderer ;
18+ class CDRMDumbAllocator ;
1819
1920 typedef std::function<void (void )> FIdleCallback;
2021
@@ -340,28 +341,29 @@ namespace Aquamarine {
340341 class CDRMBackend : public IBackendImplementation {
341342 public:
342343 virtual ~CDRMBackend ();
343- virtual eBackendType type ();
344- virtual bool start ();
345- virtual std::vector<Hyprutils::Memory::CSharedPointer<SPollFD>> pollFDs ();
346- virtual int drmFD ();
347- virtual bool dispatchEvents ();
348- virtual uint32_t capabilities ();
349- virtual bool setCursor (Hyprutils::Memory::CSharedPointer<IBuffer> buffer, const Hyprutils::Math::Vector2D& hotspot);
350- virtual void onReady ();
351- virtual std::vector<SDRMFormat> getRenderFormats ();
352- virtual std::vector<SDRMFormat> getCursorFormats ();
353- virtual bool createOutput (const std::string& name = " " );
354- virtual Hyprutils::Memory::CSharedPointer<IAllocator> preferredAllocator ();
355- virtual std::vector<SDRMFormat> getRenderableFormats ();
356-
357- Hyprutils::Memory::CWeakPointer<CDRMBackend> self;
358-
359- void log (eBackendLogLevel, const std::string&);
360- bool sessionActive ();
361- int getNonMasterFD ();
362-
363- std::vector<FIdleCallback> idleCallbacks;
364- std::string gpuName;
344+ virtual eBackendType type ();
345+ virtual bool start ();
346+ virtual std::vector<Hyprutils::Memory::CSharedPointer<SPollFD>> pollFDs ();
347+ virtual int drmFD ();
348+ virtual bool dispatchEvents ();
349+ virtual uint32_t capabilities ();
350+ virtual bool setCursor (Hyprutils::Memory::CSharedPointer<IBuffer> buffer, const Hyprutils::Math::Vector2D& hotspot);
351+ virtual void onReady ();
352+ virtual std::vector<SDRMFormat> getRenderFormats ();
353+ virtual std::vector<SDRMFormat> getCursorFormats ();
354+ virtual bool createOutput (const std::string& name = " " );
355+ virtual Hyprutils::Memory::CSharedPointer<IAllocator> preferredAllocator ();
356+ virtual std::vector<SDRMFormat> getRenderableFormats ();
357+ virtual std::vector<Hyprutils::Memory::CSharedPointer<IAllocator>> getAllocators ();
358+
359+ Hyprutils::Memory::CWeakPointer<CDRMBackend> self;
360+
361+ void log (eBackendLogLevel, const std::string&);
362+ bool sessionActive ();
363+ int getNonMasterFD ();
364+
365+ std::vector<FIdleCallback> idleCallbacks;
366+ std::string gpuName;
365367
366368 private:
367369 CDRMBackend (Hyprutils::Memory::CSharedPointer<CBackend> backend);
@@ -396,6 +398,8 @@ namespace Aquamarine {
396398 std::vector<SDRMFormat> formats;
397399 std::vector<SDRMFormat> glFormats;
398400
401+ Hyprutils::Memory::CSharedPointer<CDRMDumbAllocator> dumbAllocator;
402+
399403 bool atomic = false ;
400404
401405 struct {
0 commit comments