mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-21 05:09:34 -06:00
Massive style & comment cleanup of (mostly) GL plugin - also split some large files. A minor speedup for BP writes - merged the two switch()-es.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@899 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
60
Source/Plugins/Plugin_VideoOGL/Src/VertexManager.h
Normal file
60
Source/Plugins/Plugin_VideoOGL/Src/VertexManager.h
Normal file
@ -0,0 +1,60 @@
|
||||
// Copyright (C) 2003-2008 Dolphin Project.
|
||||
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, version 2.0.
|
||||
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License 2.0 for more details.
|
||||
|
||||
// A copy of the GPL 2.0 should have been included with the program.
|
||||
// If not, see http://www.gnu.org/licenses/
|
||||
|
||||
// Official SVN repository and contact information can be found at
|
||||
// http://code.google.com/p/dolphin-emu/
|
||||
|
||||
|
||||
#ifndef _VERTEXMANAGER_H
|
||||
#define _VERTEXMANAGER_H
|
||||
|
||||
#include "CPMemory.h"
|
||||
|
||||
// Methods to manage and cache the global state of vertex streams and flushing streams
|
||||
// Also handles processing the CP registers
|
||||
class VertexManager
|
||||
{
|
||||
static TVtxDesc s_GlobalVtxDesc;
|
||||
|
||||
public:
|
||||
enum Collection
|
||||
{
|
||||
C_NOTHING=0,
|
||||
C_TRIANGLES=1,
|
||||
C_LINES=2,
|
||||
C_POINTS=3
|
||||
};
|
||||
|
||||
static bool Init();
|
||||
static void Destroy();
|
||||
|
||||
static void ResetBuffer();
|
||||
static void ResetComponents();
|
||||
|
||||
static void AddVertices(int primitive, int numvertices);
|
||||
static void Flush(); // flushes the current buffer
|
||||
|
||||
static int GetRemainingSize();
|
||||
static TVtxDesc &GetVtxDesc() {return s_GlobalVtxDesc; }
|
||||
|
||||
static void LoadCPReg(u32 SubCmd, u32 Value);
|
||||
|
||||
// TODO - don't expose these like this.
|
||||
static u32 s_prevvbstride;
|
||||
static u32 s_prevcomponents; // previous state set
|
||||
static u8* s_pCurBufferPointer;
|
||||
static float shiftLookup[32];
|
||||
};
|
||||
|
||||
#endif // _VERTEXMANAGER_H
|
Reference in New Issue
Block a user