Переглянути джерело

hle: nvflinger: buffer_queue_core: StillTracking: Take const reference.

bunnei 4 роки тому
батько
коміт
ddd5a2b1c6

+ 2 - 2
src/core/hle/service/nvflinger/buffer_queue_consumer.cpp

@@ -74,7 +74,7 @@ Status BufferQueueConsumer::AcquireBuffer(BufferItem* out_buffer,
                 LOG_DEBUG(Service_NVFlinger, "drop desire={} expect={} size={}", desired_present,
                           expected_present.count(), core->queue.size());
 
-                if (core->StillTracking(&*front)) {
+                if (core->StillTracking(*front)) {
                     // Front buffer is still in mSlots, so mark the slot as free
                     slots[front->slot].buffer_state = BufferState::Free;
                     core->free_buffers.push_back(front->slot);
@@ -110,7 +110,7 @@ Status BufferQueueConsumer::AcquireBuffer(BufferItem* out_buffer,
         LOG_DEBUG(Service_NVFlinger, "acquiring slot={}", slot);
 
         // If the front buffer is still being tracked, update its slot state
-        if (core->StillTracking(&*front)) {
+        if (core->StillTracking(*front)) {
             slots[slot].acquire_called = true;
             slots[slot].needs_cleanup_on_release = false;
             slots[slot].buffer_state = BufferState::Acquired;

+ 3 - 3
src/core/hle/service/nvflinger/buffer_queue_core.cpp

@@ -116,10 +116,10 @@ void BufferQueueCore::FreeAllBuffersLocked() {
     }
 }
 
-bool BufferQueueCore::StillTracking(const BufferItem* item) const {
-    const BufferSlot& slot = slots[item->slot];
+bool BufferQueueCore::StillTracking(const BufferItem& item) const {
+    const BufferSlot& slot = slots[item.slot];
 
-    return (slot.graphic_buffer != nullptr) && (item->graphic_buffer == slot.graphic_buffer);
+    return (slot.graphic_buffer != nullptr) && (item.graphic_buffer == slot.graphic_buffer);
 }
 
 void BufferQueueCore::WaitWhileAllocatingLocked() const {

+ 1 - 1
src/core/hle/service/nvflinger/buffer_queue_core.h

@@ -45,7 +45,7 @@ private:
     s32 GetPreallocatedBufferCountLocked() const;
     void FreeBufferLocked(s32 slot);
     void FreeAllBuffersLocked();
-    bool StillTracking(const BufferItem* item) const;
+    bool StillTracking(const BufferItem& item) const;
     void WaitWhileAllocatingLocked() const;
 
 private:

+ 1 - 1
src/core/hle/service/nvflinger/buffer_queue_producer.cpp

@@ -554,7 +554,7 @@ Status BufferQueueProducer::QueueBuffer(s32 slot, const QueueBufferInput& input,
             if (front->is_droppable) {
                 // If the front queued buffer is still being tracked, we first
                 // mark it as freed
-                if (core->StillTracking(&*front)) {
+                if (core->StillTracking(*front)) {
                     slots[front->slot].buffer_state = BufferState::Free;
                     core->free_buffers.push_front(front->slot);
                 }