Minor change to ease video plugin merging. Made static NativeVertexFormat::Create function into a virtual function of VertexManager. I believe this is the last bit of code which is only declared in VideoCommon and defined in each of the plugins.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6479 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
Jordan Woyak
2010-11-26 09:25:08 +00:00
parent 2e59d26133
commit e6658d5339
9 changed files with 36 additions and 19 deletions

View File

@ -26,6 +26,7 @@
#include "CPMemory.h"
#include "NativeVertexFormat.h"
#include "VertexManager.h"
class D3DVertexFormat : public NativeVertexFormat
{
@ -33,19 +34,20 @@ class D3DVertexFormat : public NativeVertexFormat
UINT m_num_elems;
public:
D3DVertexFormat();
~D3DVertexFormat();
D3DVertexFormat() : m_num_elems(0) {}
void Initialize(const PortableVertexDeclaration &_vtx_decl);
void SetupVertexPointers() const;
};
NativeVertexFormat* NativeVertexFormat::Create()
namespace DX11
{
NativeVertexFormat* VertexManager::CreateNativeVertexFormat()
{
return new D3DVertexFormat();
}
D3DVertexFormat::D3DVertexFormat() : m_num_elems(0) { }
D3DVertexFormat::~D3DVertexFormat() {}
}
DXGI_FORMAT VarToD3D(VarType t, int size)
{

View File

@ -33,6 +33,8 @@ public:
VertexManager();
~VertexManager();
NativeVertexFormat* CreateNativeVertexFormat();
private:
void CreateDeviceObjects();
void DestroyDeviceObjects();

View File

@ -26,25 +26,27 @@
#include "CPMemory.h"
#include "NativeVertexFormat.h"
#include "VertexManager.h"
class D3DVertexFormat : public NativeVertexFormat
{
LPDIRECT3DVERTEXDECLARATION9 d3d_decl;
public:
D3DVertexFormat();
D3DVertexFormat() : d3d_decl(NULL) {}
~D3DVertexFormat();
virtual void Initialize(const PortableVertexDeclaration &_vtx_decl);
virtual void SetupVertexPointers() const;
};
NativeVertexFormat *NativeVertexFormat::Create()
namespace DX9
{
NativeVertexFormat* VertexManager::CreateNativeVertexFormat()
{
return new D3DVertexFormat();
}
D3DVertexFormat::D3DVertexFormat() : d3d_decl(NULL)
{
}
D3DVertexFormat::~D3DVertexFormat()
@ -93,8 +95,8 @@ void D3DVertexFormat::Initialize(const PortableVertexDeclaration &_vtx_decl)
{
vertex_stride = _vtx_decl.stride;
D3DVERTEXELEMENT9 *elems = new D3DVERTEXELEMENT9[32];
memset(elems, 0, sizeof(D3DVERTEXELEMENT9) * 32);
D3DVERTEXELEMENT9 elems[32];
memset(elems, 0, sizeof(elems));
// There's only one stream and it's 0, so the above memset takes care of that - no need to set Stream.
// Same for method.
@ -161,7 +163,6 @@ void D3DVertexFormat::Initialize(const PortableVertexDeclaration &_vtx_decl)
PanicAlert("Failed to create D3D vertex declaration!");
return;
}
delete [] elems;
}
void D3DVertexFormat::SetupVertexPointers() const

View File

@ -28,6 +28,8 @@ namespace DX9
class VertexManager : public ::VertexManager
{
NativeVertexFormat* CreateNativeVertexFormat();
private:
void Draw(int stride);
// temp

View File

@ -24,10 +24,11 @@
#include "CPMemory.h"
#include "NativeVertexFormat.h"
#include "VertexManagerBase.h"
#include "VertexManager.h"
#define COMPILED_CODE_SIZE 4096
// TODO: this guy is never initialized
u32 s_prevcomponents; // previous state set
/*
#ifdef _WIN32
@ -67,12 +68,16 @@ public:
virtual void EnableComponents(u32 components);
};
namespace OGL
{
NativeVertexFormat *NativeVertexFormat::Create()
NativeVertexFormat* VertexManager::CreateNativeVertexFormat()
{
return new GLVertexFormat();
}
}
GLVertexFormat::GLVertexFormat()
{
#ifdef USE_JIT

View File

@ -32,6 +32,8 @@ class VertexManager : public ::VertexManager
public:
VertexManager();
NativeVertexFormat* CreateNativeVertexFormat();
private:
void Draw();
// temp