Jordan Woyak 194493cc04 Some work on merging the video plugins: Added a new plugin to the solution(shouldn't build by default) which combines the DX9, DX11, and OGL plugins with their common code merged (and some things temporarily removed). In it's current state the plugin is hardly usable. Perhaps someone with knowledge of the video plugins will be able to fix the things I have broken more easily than me(or point me in the right direction). I will continue to work on it as well.
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
2010-09-20 21:45:47 +00:00

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