1 // Copyright 2008 Dolphin Emulator Project 2 // Licensed under GPLv2+ 3 // Refer to the license.txt file included. 4 5 #pragma once 6 7 #include "Common/CommonTypes.h" 8 9 class PointerWrap; 10 11 namespace GPFifo 12 { 13 enum 14 { 15 GATHER_PIPE_SIZE = 32 16 }; 17 18 // Init 19 void Init(); 20 void DoState(PointerWrap& p); 21 22 // ResetGatherPipe 23 void ResetGatherPipe(); 24 void UpdateGatherPipe(); 25 void CheckGatherPipe(); 26 void FastCheckGatherPipe(); 27 28 bool IsEmpty(); 29 30 // Write 31 void Write8(u8 value); 32 void Write16(u16 value); 33 void Write32(u32 value); 34 void Write64(u64 value); 35 36 // These expect pre-byteswapped values 37 // Also there's an upper limit of about 512 per batch 38 // Most likely these should be inlined into JIT instead 39 void FastWrite8(u8 value); 40 void FastWrite16(u16 value); 41 void FastWrite32(u32 value); 42 void FastWrite64(u64 value); 43 } // namespace GPFifo 44