mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-22 22:00:39 -06:00
VertexLoader: Eliminate use of DataReader
DataReader is generally jank - it has a start and end pointer, but the end pointer is generally not used, and all of the vertex loaders mostly bypassed it anyways. Wrapper code (the vertex loaer test, as well as Fifo.cpp and OpcodeDecoding.cpp) still uses it, as does the software vertex loader (which is not a subclass of VertexLoader). These can probably be eliminated later.
This commit is contained in:
@ -7,8 +7,9 @@
|
||||
|
||||
#include "Common/CommonTypes.h"
|
||||
#include "Common/Inline.h"
|
||||
#include "Common/Swap.h"
|
||||
|
||||
extern u8* g_video_buffer_read_ptr;
|
||||
extern const u8* g_video_buffer_read_ptr;
|
||||
extern u8* g_vertex_manager_write_ptr;
|
||||
|
||||
DOLPHIN_FORCE_INLINE void DataSkip(u32 skip)
|
||||
@ -24,7 +25,7 @@ DOLPHIN_FORCE_INLINE void DataSkip()
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
DOLPHIN_FORCE_INLINE T DataPeek(int _uOffset, u8* bufp = g_video_buffer_read_ptr)
|
||||
DOLPHIN_FORCE_INLINE T DataPeek(int _uOffset, const u8* bufp = g_video_buffer_read_ptr)
|
||||
{
|
||||
T result;
|
||||
std::memcpy(&result, &bufp[_uOffset], sizeof(T));
|
||||
@ -32,7 +33,7 @@ DOLPHIN_FORCE_INLINE T DataPeek(int _uOffset, u8* bufp = g_video_buffer_read_ptr
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
DOLPHIN_FORCE_INLINE T DataRead(u8** bufp = &g_video_buffer_read_ptr)
|
||||
DOLPHIN_FORCE_INLINE T DataRead(const u8** bufp = &g_video_buffer_read_ptr)
|
||||
{
|
||||
auto const result = DataPeek<T>(0, *bufp);
|
||||
*bufp += sizeof(T);
|
||||
@ -47,7 +48,7 @@ DOLPHIN_FORCE_INLINE u32 DataReadU32Unswapped()
|
||||
return result;
|
||||
}
|
||||
|
||||
DOLPHIN_FORCE_INLINE u8* DataGetPosition()
|
||||
DOLPHIN_FORCE_INLINE const u8* DataGetPosition()
|
||||
{
|
||||
return g_video_buffer_read_ptr;
|
||||
}
|
||||
|
Reference in New Issue
Block a user