mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-23 14:19:46 -06:00
Move pipeline back into VertexLoader. Started work on VertexLoaderManager, which will cache VertexLoaders. (yep, the design plan changed a little bit).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@956 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
@ -21,40 +21,25 @@
|
||||
|
||||
#include "CPMemory.h"
|
||||
|
||||
// TODO - clarify the role of this class.
|
||||
|
||||
// Methods to manage and cache the global state of vertex streams and flushing streams
|
||||
// Also handles processing the CP registers
|
||||
class VertexManager
|
||||
// Handles the OpenGL details of drawing lots of vertices quickly.
|
||||
// Other functionality is moving out.
|
||||
namespace VertexManager
|
||||
{
|
||||
static TVtxDesc s_GlobalVtxDesc;
|
||||
bool Init();
|
||||
void Destroy();
|
||||
|
||||
public:
|
||||
enum Collection
|
||||
{
|
||||
C_NOTHING=0,
|
||||
C_TRIANGLES=1,
|
||||
C_LINES=2,
|
||||
C_POINTS=3
|
||||
};
|
||||
void ResetBuffer();
|
||||
void ResetComponents();
|
||||
|
||||
static bool Init();
|
||||
static void Destroy();
|
||||
void AddVertices(int primitive, int numvertices);
|
||||
void Flush(); // flushes the current buffer
|
||||
|
||||
static void ResetBuffer();
|
||||
static void ResetComponents();
|
||||
int GetRemainingSize(); // remaining space in the current buffer.
|
||||
|
||||
static void AddVertices(int primitive, int numvertices);
|
||||
static void Flush(); // flushes the current buffer
|
||||
void EnableComponents(u32 components); // very implementation specific - D3D9 won't need this one.
|
||||
|
||||
static int GetRemainingSize();
|
||||
static TVtxDesc &GetVtxDesc() {return s_GlobalVtxDesc; }
|
||||
|
||||
static void LoadCPReg(u32 SubCmd, u32 Value);
|
||||
static void EnableComponents(u32 components);
|
||||
|
||||
// TODO - don't expose these like this.
|
||||
static u8* s_pCurBufferPointer;
|
||||
// TODO: move, rename.
|
||||
extern u8* s_pCurBufferPointer;
|
||||
};
|
||||
|
||||
#endif // _VERTEXMANAGER_H
|
||||
|
Reference in New Issue
Block a user