mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-01-11 08:39:13 +01:00
194493cc04
Main Issues: DX11 is functional with a ~2MB/s mem leak. OpenGL/DirectX9 have a black display while game runs. (DirectX 9 flashes good display on emulation stop) Too many virtual function calls. (once everything is working, I will work on removing them) Won't build on non-Windows in its current state. (mainly EmuWindow will need changes for Linux/OS X) Probably other stuff. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6219 8ced0084-cf51-0410-be5f-012b33b47a6e
48 lines
1007 B
C++
48 lines
1007 B
C++
|
|
#ifndef _VERTExMANAGER_H_
|
|
#define _VERTExMANAGER_H_
|
|
|
|
#include "NativeVertexFormat.h"
|
|
#include "NativeVertexWriter.h"
|
|
#include "BPMemory.h"
|
|
|
|
enum
|
|
{
|
|
MAXVBUFFERSIZE = 0x50000,
|
|
MAXIBUFFERSIZE = 0x10000,
|
|
};
|
|
|
|
using VertexManager::s_pBaseBufferPointer;
|
|
using VertexManager::s_pCurBufferPointer;
|
|
|
|
extern NativeVertexFormat *g_nativeVertexFmt;
|
|
|
|
class VertexManagerBase
|
|
{
|
|
public:
|
|
VertexManagerBase();
|
|
virtual ~VertexManagerBase();
|
|
|
|
static void Flush();
|
|
virtual void Draw(u32 stride, bool alphapass) = 0;
|
|
|
|
virtual NativeVertexFormat* CreateNativeVertexFormat() = 0;
|
|
|
|
static void AddIndices(int _primitive, int _numVertices);
|
|
static int GetRemainingSize();
|
|
static int GetRemainingVertices(int primitive);
|
|
static void AddVertices(int _primitive, int _numVertices);
|
|
static void ResetBuffer();
|
|
|
|
protected:
|
|
static u16* TIBuffer;
|
|
static u16* LIBuffer;
|
|
static u16* PIBuffer;
|
|
static bool Flushed;
|
|
|
|
static int lastPrimitive;
|
|
static u8* LocalVBuffer;
|
|
};
|
|
|
|
#endif
|