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
This commit is contained in:
Jordan Woyak
2010-09-20 21:45:47 +00:00
parent 6583a3f1e2
commit 194493cc04
94 changed files with 19314 additions and 1 deletions

View File

@ -0,0 +1,47 @@
#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