mirror of
https://github.com/libretro/pcsx2.git
synced 2024-11-28 20:00:44 +00:00
GregMiscellaneous: zzogl-pg: zerogs.h is now only included by zerogs.cpp.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3937 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
4e1b13766e
commit
b0cd667fd6
@ -855,4 +855,5 @@ public:
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -67,5 +67,6 @@ class GLWindow
|
|||||||
|
|
||||||
|
|
||||||
extern GLWindow GLWin;
|
extern GLWindow GLWin;
|
||||||
|
extern void ChangeWindowSize(int nNewWidth, int nNewHeight);
|
||||||
|
|
||||||
#endif // GLWIN_H_INCLUDED
|
#endif // GLWIN_H_INCLUDED
|
||||||
|
@ -18,7 +18,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "GS.h"
|
#include "GS.h"
|
||||||
#include "zerogs.h"
|
|
||||||
#include "GLWin.h"
|
#include "GLWin.h"
|
||||||
|
|
||||||
#ifdef GL_WIN32_WINDOW
|
#ifdef GL_WIN32_WINDOW
|
||||||
|
@ -19,7 +19,6 @@
|
|||||||
|
|
||||||
#include "Util.h"
|
#include "Util.h"
|
||||||
#include "GLWin.h"
|
#include "GLWin.h"
|
||||||
#include "zerogs.h"
|
|
||||||
|
|
||||||
#ifdef GL_X11_WINDOW
|
#ifdef GL_X11_WINDOW
|
||||||
|
|
||||||
|
@ -362,6 +362,8 @@ union tex_0_info
|
|||||||
#define TEX_HIGHLIGHT2 3
|
#define TEX_HIGHLIGHT2 3
|
||||||
|
|
||||||
bool SaveTexture(const char* filename, u32 textarget, u32 tex, int width, int height);
|
bool SaveTexture(const char* filename, u32 textarget, u32 tex, int width, int height);
|
||||||
|
extern void SaveTex(tex0Info* ptex, int usevid);
|
||||||
|
extern char* NamedSaveTex(tex0Info* ptex, int usevid);
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
|
@ -34,7 +34,6 @@ using namespace std;
|
|||||||
#include "Profile.h"
|
#include "Profile.h"
|
||||||
#include "GLWin.h"
|
#include "GLWin.h"
|
||||||
|
|
||||||
#include "zerogs.h"
|
|
||||||
#include "targets.h"
|
#include "targets.h"
|
||||||
#include "ZZoglShaders.h"
|
#include "ZZoglShaders.h"
|
||||||
#include "ZZoglFlushHack.h"
|
#include "ZZoglFlushHack.h"
|
||||||
@ -88,6 +87,12 @@ extern int g_nPixelShaderVer, g_nFrameRender, g_nFramesSkipped;
|
|||||||
extern void ProcessEvents();
|
extern void ProcessEvents();
|
||||||
extern void WriteAA();
|
extern void WriteAA();
|
||||||
extern void WriteBilinear();
|
extern void WriteBilinear();
|
||||||
|
extern void ZZDestroy();
|
||||||
|
extern bool ZZCreate(int width, int height);
|
||||||
|
extern void ZZGSStateReset();
|
||||||
|
|
||||||
|
// switches the render target to the real target, flushes the current render targets and renders the real image
|
||||||
|
void RenderCRTC(int interlace);
|
||||||
|
|
||||||
extern int VALIDATE_THRESH;
|
extern int VALIDATE_THRESH;
|
||||||
extern u32 TEXDESTROY_THRESH;
|
extern u32 TEXDESTROY_THRESH;
|
||||||
@ -296,12 +301,30 @@ void CALLBACK GSsetFrameSkip(int frameskip)
|
|||||||
|
|
||||||
void CALLBACK GSreset()
|
void CALLBACK GSreset()
|
||||||
{
|
{
|
||||||
ZZGSReset();
|
FUNCLOG
|
||||||
|
|
||||||
|
memset(&gs, 0, sizeof(gs));
|
||||||
|
|
||||||
|
ZZGSStateReset();
|
||||||
|
|
||||||
|
gs.prac = 1;
|
||||||
|
prim = &gs._prim[0];
|
||||||
|
gs.nTriFanVert = -1;
|
||||||
|
gs.imageTransfer = -1;
|
||||||
|
gs.q = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CALLBACK GSgifSoftReset(u32 mask)
|
void CALLBACK GSgifSoftReset(u32 mask)
|
||||||
{
|
{
|
||||||
ZZGSSoftReset(mask);
|
FUNCLOG
|
||||||
|
|
||||||
|
if (mask & 1) memset(&gs.path[0], 0, sizeof(gs.path[0]));
|
||||||
|
if (mask & 2) memset(&gs.path[1], 0, sizeof(gs.path[1]));
|
||||||
|
if (mask & 4) memset(&gs.path[2], 0, sizeof(gs.path[2]));
|
||||||
|
|
||||||
|
gs.imageTransfer = -1;
|
||||||
|
gs.q = 1;
|
||||||
|
gs.nTriFanVert = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 CALLBACK GSinit()
|
s32 CALLBACK GSinit()
|
||||||
@ -382,7 +405,7 @@ void CALLBACK GSclose()
|
|||||||
{
|
{
|
||||||
FUNCLOG
|
FUNCLOG
|
||||||
|
|
||||||
ZZDestroy(1);
|
ZZDestroy();
|
||||||
GLWin.CloseWindow();
|
GLWin.CloseWindow();
|
||||||
|
|
||||||
SaveStateFile = NULL;
|
SaveStateFile = NULL;
|
||||||
|
@ -19,7 +19,6 @@
|
|||||||
|
|
||||||
#include "GS.h"
|
#include "GS.h"
|
||||||
#include "Mem.h"
|
#include "Mem.h"
|
||||||
#include "zerogs.h"
|
|
||||||
#include "GifTransfer.h"
|
#include "GifTransfer.h"
|
||||||
|
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
|
@ -24,9 +24,11 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include "Mem.h"
|
#include "Mem.h"
|
||||||
#include "x86.h"
|
#include "x86.h"
|
||||||
#include "zerogs.h"
|
|
||||||
#include "targets.h"
|
#include "targets.h"
|
||||||
|
|
||||||
|
// flush current vertices, call before setting new registers (the main render method)
|
||||||
|
extern void Flush(int context);
|
||||||
|
|
||||||
u8* g_pbyGSMemory = NULL; // 4Mb GS system mem
|
u8* g_pbyGSMemory = NULL; // 4Mb GS system mem
|
||||||
|
|
||||||
void GSMemory::init()
|
void GSMemory::init()
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
|
|
||||||
#include "GS.h"
|
#include "GS.h"
|
||||||
#include "Linux.h"
|
#include "Linux.h"
|
||||||
#include "zerogs.h"
|
|
||||||
#include "GLWin.h"
|
#include "GLWin.h"
|
||||||
|
|
||||||
#include <map>
|
#include <map>
|
||||||
|
@ -19,7 +19,6 @@
|
|||||||
|
|
||||||
#include "GS.h"
|
#include "GS.h"
|
||||||
#include "Mem.h"
|
#include "Mem.h"
|
||||||
#include "zerogs.h"
|
|
||||||
#include "targets.h"
|
#include "targets.h"
|
||||||
#include "x86.h"
|
#include "x86.h"
|
||||||
|
|
||||||
|
@ -22,7 +22,6 @@
|
|||||||
#include "NewRegs.h"
|
#include "NewRegs.h"
|
||||||
#include "PS2Etypes.h"
|
#include "PS2Etypes.h"
|
||||||
|
|
||||||
#include "zerogs.h"
|
|
||||||
#include "targets.h"
|
#include "targets.h"
|
||||||
|
|
||||||
#ifdef USE_OLD_REGS
|
#ifdef USE_OLD_REGS
|
||||||
|
@ -23,8 +23,6 @@
|
|||||||
#ifdef USE_OLD_REGS
|
#ifdef USE_OLD_REGS
|
||||||
#include "Regs.h"
|
#include "Regs.h"
|
||||||
#else
|
#else
|
||||||
|
|
||||||
bool CheckChangeInClut(u32 highdword, u32 psm); // returns true if clut will change after this tex0 op
|
|
||||||
|
|
||||||
enum GIF_REG
|
enum GIF_REG
|
||||||
{
|
{
|
||||||
@ -778,7 +776,20 @@ REG_SET_END
|
|||||||
|
|
||||||
extern void WriteTempRegs();
|
extern void WriteTempRegs();
|
||||||
extern void SetFrameSkip(bool skip);
|
extern void SetFrameSkip(bool skip);
|
||||||
extern void ResetRegs();
|
extern void ResetRegs();
|
||||||
|
|
||||||
|
extern void SetTexFlush();
|
||||||
|
extern void SetFogColor(u32 fog);
|
||||||
|
extern void SetFogColor(GIFRegFOGCOL* fog);
|
||||||
|
extern bool CheckChangeInClut(u32 highdword, u32 psm); // returns true if clut will change after this tex0 op
|
||||||
|
|
||||||
|
// flush current vertices, call before setting new registers (the main render method)
|
||||||
|
void Flush(int context);
|
||||||
|
void FlushBoth();
|
||||||
|
|
||||||
|
// called on a primitive switch
|
||||||
|
void Prim();
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif // NEWREGS_H_INCLUDED
|
#endif // NEWREGS_H_INCLUDED
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <map>
|
#include <map>
|
||||||
#include "Profile.h"
|
#include "Profile.h"
|
||||||
|
#include "Util.h"
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
#ifndef PROFILE_H_INCLUDED
|
#ifndef PROFILE_H_INCLUDED
|
||||||
#define PROFILE_H_INCLUDED
|
#define PROFILE_H_INCLUDED
|
||||||
|
|
||||||
#include "zerogs.h"
|
#include "Util.h"
|
||||||
|
|
||||||
#if !defined(ZEROGS_DEVBUILD)
|
#if !defined(ZEROGS_DEVBUILD)
|
||||||
#define g_bWriteProfile 0
|
#define g_bWriteProfile 0
|
||||||
|
@ -22,7 +22,6 @@
|
|||||||
#include "Regs.h"
|
#include "Regs.h"
|
||||||
#include "PS2Etypes.h"
|
#include "PS2Etypes.h"
|
||||||
|
|
||||||
#include "zerogs.h"
|
|
||||||
#include "targets.h"
|
#include "targets.h"
|
||||||
#include "ZZKick.h"
|
#include "ZZKick.h"
|
||||||
|
|
||||||
|
@ -23,8 +23,6 @@
|
|||||||
|
|
||||||
#ifdef USE_OLD_REGS
|
#ifdef USE_OLD_REGS
|
||||||
|
|
||||||
bool CheckChangeInClut(u32 highdword, u32 psm); // returns true if clut will change after this tex0 op
|
|
||||||
|
|
||||||
enum GIF_REG
|
enum GIF_REG
|
||||||
{
|
{
|
||||||
GIF_REG_PRIM = 0x00,
|
GIF_REG_PRIM = 0x00,
|
||||||
@ -948,6 +946,19 @@ REG_END
|
|||||||
extern void WriteTempRegs();
|
extern void WriteTempRegs();
|
||||||
extern void SetFrameSkip(bool skip);
|
extern void SetFrameSkip(bool skip);
|
||||||
extern void ResetRegs();
|
extern void ResetRegs();
|
||||||
|
|
||||||
|
extern void SetTexFlush();
|
||||||
|
extern void SetFogColor(u32 fog);
|
||||||
|
extern void SetFogColor(GIFRegFOGCOL* fog);
|
||||||
|
extern bool CheckChangeInClut(u32 highdword, u32 psm); // returns true if clut will change after this tex0 op
|
||||||
|
|
||||||
|
// flush current vertices, call before setting new registers (the main render method)
|
||||||
|
void Flush(int context);
|
||||||
|
void FlushBoth();
|
||||||
|
|
||||||
|
// called on a primitive switch
|
||||||
|
void Prim();
|
||||||
|
|
||||||
#else
|
#else
|
||||||
#include "NewRegs.h"
|
#include "NewRegs.h"
|
||||||
#endif
|
#endif
|
||||||
|
@ -366,6 +366,13 @@ extern char *SysLibError(); // Gets previous error loading sysbols
|
|||||||
extern void SysCloseLibrary(void *lib); // Closes Library
|
extern void SysCloseLibrary(void *lib); // Closes Library
|
||||||
extern void SysMessage(const char *fmt, ...);
|
extern void SysMessage(const char *fmt, ...);
|
||||||
|
|
||||||
|
#ifdef ZEROGS_DEVBUILD
|
||||||
|
extern char* EFFECT_NAME;
|
||||||
|
extern char* EFFECT_DIR;
|
||||||
|
extern u32 g_nGenVars, g_nTexVars, g_nAlphaVars, g_nResolve;
|
||||||
|
extern bool g_bSaveTrans, g_bUpdateEffect, g_bSaveTex, g_bSaveResolved;
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __LINUX__
|
#ifdef __LINUX__
|
||||||
#include "Utilities/MemcpyFast.h"
|
#include "Utilities/MemcpyFast.h"
|
||||||
#define memcpy_amd memcpy_fast
|
#define memcpy_amd memcpy_fast
|
||||||
|
@ -36,6 +36,7 @@ extern bool THR_bShift, SaveStateExists;
|
|||||||
const char* s_aa[5] = { "AA none |", "AA 2x |", "AA 4x |", "AA 8x |", "AA 16x |" };
|
const char* s_aa[5] = { "AA none |", "AA 2x |", "AA 4x |", "AA 8x |", "AA 16x |" };
|
||||||
const char* pbilinear[] = { "off", "normal", "forced" };
|
const char* pbilinear[] = { "off", "normal", "forced" };
|
||||||
|
|
||||||
|
extern void SetAA(int mode);
|
||||||
|
|
||||||
void ProcessBilinear()
|
void ProcessBilinear()
|
||||||
{
|
{
|
||||||
@ -255,6 +256,9 @@ void WriteBilinear()
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
|
|
||||||
|
extern void ChangeDeviceSize(int nNewWidth, int nNewHeight);
|
||||||
|
|
||||||
void ProcessEvents()
|
void ProcessEvents()
|
||||||
{
|
{
|
||||||
MSG msg;
|
MSG msg;
|
||||||
|
@ -18,11 +18,13 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "ZZKick.h"
|
#include "ZZKick.h"
|
||||||
#include "zerogs.h"
|
#include "targets.h"
|
||||||
|
|
||||||
const u32 g_primmult[8] = { 1, 2, 2, 3, 3, 3, 2, 0xff };
|
const u32 g_primmult[8] = { 1, 2, 2, 3, 3, 3, 2, 0xff };
|
||||||
const u32 g_primsub[8] = { 1, 2, 1, 3, 1, 1, 2, 0 };
|
const u32 g_primsub[8] = { 1, 2, 1, 3, 1, 1, 2, 0 };
|
||||||
|
|
||||||
|
extern float fiTexWidth[2], fiTexHeight[2]; // current tex width and height
|
||||||
|
|
||||||
DrawFn drawfn[8] = { KickDummy, KickDummy, KickDummy, KickDummy,
|
DrawFn drawfn[8] = { KickDummy, KickDummy, KickDummy, KickDummy,
|
||||||
KickDummy, KickDummy, KickDummy, KickDummy
|
KickDummy, KickDummy, KickDummy, KickDummy
|
||||||
};
|
};
|
||||||
|
@ -23,6 +23,8 @@
|
|||||||
#include "Util.h"
|
#include "Util.h"
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
|
|
||||||
|
extern void HandleGLError();
|
||||||
|
|
||||||
//Logging for errors that are called often should have a time counter.
|
//Logging for errors that are called often should have a time counter.
|
||||||
#ifdef __LINUX__
|
#ifdef __LINUX__
|
||||||
static u32 __attribute__((unused)) lasttime = 0;
|
static u32 __attribute__((unused)) lasttime = 0;
|
||||||
@ -168,9 +170,6 @@ extern void DrawText(const char* pstr, int left, int top, u32 color);
|
|||||||
extern void __LogToConsole(const char *fmt, ...);
|
extern void __LogToConsole(const char *fmt, ...);
|
||||||
|
|
||||||
extern void ZZAddMessage(const char* pstr, u32 ms = 5000);
|
extern void ZZAddMessage(const char* pstr, u32 ms = 5000);
|
||||||
extern void SetAA(int mode);
|
|
||||||
extern bool ZZCreate(int width, int height);
|
|
||||||
extern void ZZDestroy(bool bD3D);
|
|
||||||
extern void StartCapture();
|
extern void StartCapture();
|
||||||
extern void StopCapture();
|
extern void StopCapture();
|
||||||
|
|
||||||
|
@ -25,7 +25,9 @@
|
|||||||
#include "GLWin.h"
|
#include "GLWin.h"
|
||||||
#include "ZZoglShaders.h"
|
#include "ZZoglShaders.h"
|
||||||
#include "ZZoglShoots.h"
|
#include "ZZoglShoots.h"
|
||||||
|
#include "ZZKick.h"
|
||||||
#include "rasterfont.h" // simple font
|
#include "rasterfont.h" // simple font
|
||||||
|
#include <math.h>
|
||||||
|
|
||||||
//------------------ Defines
|
//------------------ Defines
|
||||||
#if !defined(ZEROGS_DEVBUILD)
|
#if !defined(ZEROGS_DEVBUILD)
|
||||||
@ -49,6 +51,11 @@ vector<u32> s_vecTempTextures; // temporary textures, released at the end of
|
|||||||
extern bool g_bMakeSnapshot;
|
extern bool g_bMakeSnapshot;
|
||||||
extern string strSnapshot;
|
extern string strSnapshot;
|
||||||
|
|
||||||
|
extern void ExtWrite();
|
||||||
|
extern void ZZDestroy();
|
||||||
|
extern void ChangeDeviceSize(int nNewWidth, int nNewHeight);
|
||||||
|
|
||||||
|
extern GLuint vboRect;
|
||||||
// Adjusts vertex shader BitBltPos vector v to preserve aspect ratio. It used to emulate 4:3 or 16:9.
|
// Adjusts vertex shader BitBltPos vector v to preserve aspect ratio. It used to emulate 4:3 or 16:9.
|
||||||
void AdjustTransToAspect(float4& v)
|
void AdjustTransToAspect(float4& v)
|
||||||
{
|
{
|
||||||
@ -175,6 +182,8 @@ inline void FrameObtainDispinfo(u32 bInterlace, tex0Info* dispinfo)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern bool s_bWriteDepth;
|
||||||
|
|
||||||
// Something should be done before Renderering the picture.
|
// Something should be done before Renderering the picture.
|
||||||
inline void RenderStartHelper(u32 bInterlace)
|
inline void RenderStartHelper(u32 bInterlace)
|
||||||
{
|
{
|
||||||
@ -677,6 +686,27 @@ inline void AfterRenderMadeSnapshoot()
|
|||||||
g_bMakeSnapshot = false;
|
g_bMakeSnapshot = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// call to destroy video resources
|
||||||
|
void ZZReset()
|
||||||
|
{
|
||||||
|
FUNCLOG
|
||||||
|
s_RTs.ResolveAll();
|
||||||
|
s_DepthRTs.ResolveAll();
|
||||||
|
|
||||||
|
vb[0].nCount = 0;
|
||||||
|
vb[1].nCount = 0;
|
||||||
|
|
||||||
|
memset(s_nResolveCounts, 0, sizeof(s_nResolveCounts));
|
||||||
|
s_nLastResolveReset = 0;
|
||||||
|
|
||||||
|
icurctx = -1;
|
||||||
|
g_vsprog = g_psprog = 0;
|
||||||
|
|
||||||
|
ZZGSStateReset();
|
||||||
|
ZZDestroy();
|
||||||
|
clear_drawfn();
|
||||||
|
}
|
||||||
|
|
||||||
// If needed reset
|
// If needed reset
|
||||||
inline void AfterRendererResizeWindow()
|
inline void AfterRendererResizeWindow()
|
||||||
{
|
{
|
||||||
|
@ -22,7 +22,6 @@
|
|||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
#include "zerogs.h"
|
|
||||||
#include "targets.h"
|
#include "targets.h"
|
||||||
|
|
||||||
#define INTERLACE_COUNT (bInterlace && interlace == (conf.interlace))
|
#define INTERLACE_COUNT (bInterlace && interlace == (conf.interlace))
|
||||||
@ -62,6 +61,9 @@ extern void FlushTransferRanges(const tex0Info* ptex);
|
|||||||
extern void ProcessMessages();
|
extern void ProcessMessages();
|
||||||
void AdjustTransToAspect(float4& v);
|
void AdjustTransToAspect(float4& v);
|
||||||
|
|
||||||
|
void ZZGSStateReset();
|
||||||
|
extern int nBackbufferWidth, nBackbufferHeight;
|
||||||
|
|
||||||
// Interlace texture is lazy 1*(height) array of 1 and 0.
|
// Interlace texture is lazy 1*(height) array of 1 and 0.
|
||||||
// If its height (named s_nInterlaceTexWidth here) is hanging we must redo
|
// If its height (named s_nInterlaceTexWidth here) is hanging we must redo
|
||||||
// the texture.
|
// the texture.
|
||||||
|
@ -22,7 +22,6 @@
|
|||||||
//------------------ Includes
|
//------------------ Includes
|
||||||
#include "GS.h"
|
#include "GS.h"
|
||||||
#include "Mem.h"
|
#include "Mem.h"
|
||||||
#include "zerogs.h"
|
|
||||||
#include "GLWin.h"
|
#include "GLWin.h"
|
||||||
#include "ZZoglShaders.h"
|
#include "ZZoglShaders.h"
|
||||||
|
|
||||||
@ -88,6 +87,9 @@ inline bool CreateImportantCheck();
|
|||||||
inline void CreateOtherCheck();
|
inline void CreateOtherCheck();
|
||||||
inline bool CreateOpenShadersFile();
|
inline bool CreateOpenShadersFile();
|
||||||
|
|
||||||
|
void ZZGSStateReset();
|
||||||
|
extern int nBackbufferWidth, nBackbufferHeight;
|
||||||
|
|
||||||
//------------------ Dummies
|
//------------------ Dummies
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
void __stdcall glBlendFuncSeparateDummy(GLenum e1, GLenum e2, GLenum e3, GLenum e4)
|
void __stdcall glBlendFuncSeparateDummy(GLenum e1, GLenum e2, GLenum e3, GLenum e4)
|
||||||
@ -158,9 +160,12 @@ u32 ptexConv32to16 = 0;
|
|||||||
int g_nDepthBias = 0;
|
int g_nDepthBias = 0;
|
||||||
|
|
||||||
extern void Delete_Avi_Capture();
|
extern void Delete_Avi_Capture();
|
||||||
|
extern void ZZDestroy();
|
||||||
|
extern void SetAA(int mode);
|
||||||
|
|
||||||
//------------------ Code
|
//------------------ Code
|
||||||
|
|
||||||
|
///< returns true if the the opengl extension is supported
|
||||||
bool IsGLExt(const char* szTargetExtension)
|
bool IsGLExt(const char* szTargetExtension)
|
||||||
{
|
{
|
||||||
return mapGLExtensions.find(string(szTargetExtension)) != mapGLExtensions.end();
|
return mapGLExtensions.find(string(szTargetExtension)) != mapGLExtensions.end();
|
||||||
@ -444,7 +449,7 @@ bool ZZCreate(int _width, int _height)
|
|||||||
bool bSuccess = true;
|
bool bSuccess = true;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
ZZDestroy(1);
|
ZZDestroy();
|
||||||
ZZGSStateReset();
|
ZZGSStateReset();
|
||||||
|
|
||||||
if (!Create_Window(_width, _height)) return false;
|
if (!Create_Window(_width, _height)) return false;
|
||||||
@ -777,7 +782,7 @@ bool ZZCreate(int _width, int _height)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ZZDestroy(bool bD3D)
|
void ZZDestroy()
|
||||||
{
|
{
|
||||||
Delete_Avi_Capture();
|
Delete_Avi_Capture();
|
||||||
|
|
||||||
|
@ -23,10 +23,10 @@
|
|||||||
|
|
||||||
#include "GS.h"
|
#include "GS.h"
|
||||||
#include "Mem.h"
|
#include "Mem.h"
|
||||||
#include "zerogs.h"
|
|
||||||
#include "targets.h"
|
#include "targets.h"
|
||||||
#include "ZZoglFlushHack.h"
|
#include "ZZoglFlushHack.h"
|
||||||
#include "ZZoglShaders.h"
|
#include "ZZoglShaders.h"
|
||||||
|
#include <math.h>
|
||||||
|
|
||||||
//------------------ Defines
|
//------------------ Defines
|
||||||
#ifndef ZEROGS_DEVBUILD
|
#ifndef ZEROGS_DEVBUILD
|
||||||
@ -144,6 +144,7 @@ static u32 s_ptexNextSet[2] = {0}; // ZZ
|
|||||||
|
|
||||||
extern vector<u32> s_vecTempTextures; // temporary textures, released at the end of every frame
|
extern vector<u32> s_vecTempTextures; // temporary textures, released at the end of every frame
|
||||||
extern bool s_bTexFlush;
|
extern bool s_bTexFlush;
|
||||||
|
extern int g_nCurVBOIndex;
|
||||||
bool s_bWriteDepth = false;
|
bool s_bWriteDepth = false;
|
||||||
bool s_bDestAlphaTest = false;
|
bool s_bDestAlphaTest = false;
|
||||||
int s_ClutResolve = 0; // ZZ
|
int s_ClutResolve = 0; // ZZ
|
||||||
@ -192,6 +193,7 @@ int s_nWireframeCount = 0;
|
|||||||
|
|
||||||
VB vb[2];
|
VB vb[2];
|
||||||
float fiTexWidth[2], fiTexHeight[2]; // current tex width and height
|
float fiTexWidth[2], fiTexHeight[2]; // current tex width and height
|
||||||
|
extern vector<GLuint> g_vboBuffers; // VBOs for all drawing commands
|
||||||
|
|
||||||
//u8 s_AAx = 0, s_AAy = 0; // if AAy is set, then AAx has to be set
|
//u8 s_AAx = 0, s_AAy = 0; // if AAy is set, then AAx has to be set
|
||||||
Point AA = {0,0};
|
Point AA = {0,0};
|
||||||
@ -217,6 +219,11 @@ inline void ProcessFBA(const VB& curvb, ZZshParameter sOneColor); // zz
|
|||||||
|
|
||||||
void SetContextTarget(int context);
|
void SetContextTarget(int context);
|
||||||
|
|
||||||
|
void SetWriteDepth();
|
||||||
|
bool IsWriteDepth();
|
||||||
|
void SetDestAlphaTest();
|
||||||
|
void ResetRenderTarget(int index);
|
||||||
|
|
||||||
//------------------ Code
|
//------------------ Code
|
||||||
|
|
||||||
inline float AlphaReferedValue(int aref)
|
inline float AlphaReferedValue(int aref)
|
||||||
|
@ -27,7 +27,6 @@
|
|||||||
#define ZZOGL_FLUSH_HACK_H_INCLUDED
|
#define ZZOGL_FLUSH_HACK_H_INCLUDED
|
||||||
|
|
||||||
#include "GS.h"
|
#include "GS.h"
|
||||||
#include "zerogs.h"
|
|
||||||
#include "targets.h"
|
#include "targets.h"
|
||||||
|
|
||||||
extern int g_SkipFlushFrame;
|
extern int g_SkipFlushFrame;
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
#include "Pcsx2Defs.h"
|
||||||
|
|
||||||
//#define ZZ_MMATH
|
//#define ZZ_MMATH
|
||||||
|
|
||||||
|
@ -20,9 +20,9 @@
|
|||||||
// Save and Load.
|
// Save and Load.
|
||||||
|
|
||||||
//------------------ Includes
|
//------------------ Includes
|
||||||
#include "zerogs.h"
|
|
||||||
#include "targets.h"
|
#include "targets.h"
|
||||||
|
|
||||||
|
extern void ZZGSStateReset();
|
||||||
//----------------------- Defines
|
//----------------------- Defines
|
||||||
|
|
||||||
#define VBSAVELIMIT ((u32)((u8*)&vb[0].nNextFrameHeight-(u8*)&vb[0]))
|
#define VBSAVELIMIT ((u32)((u8*)&vb[0].nNextFrameHeight-(u8*)&vb[0]))
|
||||||
@ -44,6 +44,9 @@ char *libraryNameX = "ZeroGS Playground OpenGL ";
|
|||||||
extern char *libraryName;
|
extern char *libraryName;
|
||||||
extern u32 s_uTex1Data[2][2], s_uClampData[2];
|
extern u32 s_uTex1Data[2][2], s_uClampData[2];
|
||||||
|
|
||||||
|
void SetFogColor(u32 fog);
|
||||||
|
void SetFogColor(GIFRegFOGCOL* fog);
|
||||||
|
|
||||||
int ZZSave(s8* pbydata)
|
int ZZSave(s8* pbydata)
|
||||||
{
|
{
|
||||||
if (pbydata == NULL)
|
if (pbydata == NULL)
|
||||||
@ -86,6 +89,7 @@ int ZZSave(s8* pbydata)
|
|||||||
}
|
}
|
||||||
|
|
||||||
extern u32 s_uFramebuffer;
|
extern u32 s_uFramebuffer;
|
||||||
|
extern int g_nCurVBOIndex;
|
||||||
|
|
||||||
bool ZZLoad(s8* pbydata)
|
bool ZZLoad(s8* pbydata)
|
||||||
{
|
{
|
||||||
|
@ -21,10 +21,10 @@
|
|||||||
// ZZogl Shader manipulation functions.
|
// ZZogl Shader manipulation functions.
|
||||||
|
|
||||||
//------------------- Includes
|
//------------------- Includes
|
||||||
#include "zerogs.h"
|
|
||||||
#include "ZZoglShaders.h"
|
#include "ZZoglShaders.h"
|
||||||
#include "zpipe.h"
|
#include "zpipe.h"
|
||||||
|
#include <math.h>
|
||||||
|
#include <map>
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
# include "Win32.h"
|
# include "Win32.h"
|
||||||
@ -101,6 +101,7 @@ extern u32 ptexBilinearBlocks;
|
|||||||
extern u32 ptexConv32to16;
|
extern u32 ptexConv32to16;
|
||||||
|
|
||||||
inline bool LoadEffects();
|
inline bool LoadEffects();
|
||||||
|
extern bool s_bWriteDepth;
|
||||||
|
|
||||||
struct SHADERHEADER
|
struct SHADERHEADER
|
||||||
{
|
{
|
||||||
|
@ -29,6 +29,10 @@
|
|||||||
// Just bitmask for different type of shaders
|
// Just bitmask for different type of shaders
|
||||||
#define SHADER_REDUCED 1 // equivalent to ps2.0
|
#define SHADER_REDUCED 1 // equivalent to ps2.0
|
||||||
#define SHADER_ACCURATE 2 // for older cards with less accurate math (ps2.x+)
|
#define SHADER_ACCURATE 2 // for older cards with less accurate math (ps2.x+)
|
||||||
|
|
||||||
|
#include "ZZoglMath.h"
|
||||||
|
#include "GS.h"
|
||||||
|
|
||||||
// For output
|
// For output
|
||||||
const static char* g_pShaders[] = { "full", "reduced", "accurate", "accurate-reduced" };
|
const static char* g_pShaders[] = { "full", "reduced", "accurate", "accurate-reduced" };
|
||||||
|
|
||||||
|
@ -27,7 +27,6 @@
|
|||||||
#endif
|
#endif
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
#include "zerogs.h"
|
|
||||||
#include "targets.h"
|
#include "targets.h"
|
||||||
#include "Mem.h"
|
#include "Mem.h"
|
||||||
#include "ZZoglShoots.h"
|
#include "ZZoglShoots.h"
|
||||||
@ -44,9 +43,12 @@ extern "C"
|
|||||||
#define HAVE_BOOLEAN
|
#define HAVE_BOOLEAN
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "jpeglib.h" // This library want to be after zerogs.h
|
#include "jpeglib.h"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
extern int nBackbufferWidth, nBackbufferHeight;
|
||||||
|
|
||||||
//------------------ Defines
|
//------------------ Defines
|
||||||
#define TGA_FILE_NAME_MAX_LENGTH 20
|
#define TGA_FILE_NAME_MAX_LENGTH 20
|
||||||
#define MAX_NUMBER_SAVED_TGA 200
|
#define MAX_NUMBER_SAVED_TGA 200
|
||||||
|
@ -21,10 +21,10 @@
|
|||||||
// VB stands for Visual Buffer, as I think
|
// VB stands for Visual Buffer, as I think
|
||||||
|
|
||||||
//------------------- Includes
|
//------------------- Includes
|
||||||
#include "zerogs.h"
|
|
||||||
#include "targets.h"
|
#include "targets.h"
|
||||||
#include "GS.h"
|
#include "GS.h"
|
||||||
#include "Mem.h"
|
#include "Mem.h"
|
||||||
|
extern float fiTexWidth[2], fiTexHeight[2]; // current tex width and height
|
||||||
|
|
||||||
// ----------------- Defines
|
// ----------------- Defines
|
||||||
#define MINMAX_SHIFT 3
|
#define MINMAX_SHIFT 3
|
||||||
|
@ -23,10 +23,10 @@
|
|||||||
|
|
||||||
#include "Mem.h"
|
#include "Mem.h"
|
||||||
#include "x86.h"
|
#include "x86.h"
|
||||||
#include "zerogs.h"
|
|
||||||
#include "targets.h"
|
#include "targets.h"
|
||||||
#include "ZZoglShaders.h"
|
#include "ZZoglShaders.h"
|
||||||
#include "Clut.h"
|
#include "Clut.h"
|
||||||
|
#include <math.h>
|
||||||
|
|
||||||
#ifdef ZEROGS_SSE2
|
#ifdef ZEROGS_SSE2
|
||||||
#include <emmintrin.h>
|
#include <emmintrin.h>
|
||||||
@ -60,6 +60,10 @@ int VALIDATE_THRESH = 8;
|
|||||||
u32 TEXDESTROY_THRESH = 16;
|
u32 TEXDESTROY_THRESH = 16;
|
||||||
|
|
||||||
void _Resolve(const void* psrc, int fbp, int fbw, int fbh, int psm, u32 fbm, bool mode);
|
void _Resolve(const void* psrc, int fbp, int fbw, int fbh, int psm, u32 fbm, bool mode);
|
||||||
|
void SetWriteDepth();
|
||||||
|
bool IsWriteDepth();
|
||||||
|
bool IsWriteDestAlphaTest();
|
||||||
|
void ResetRenderTarget(int index);
|
||||||
|
|
||||||
// ------------------------- Useful inlines ------------------------------------
|
// ------------------------- Useful inlines ------------------------------------
|
||||||
|
|
||||||
|
@ -22,6 +22,10 @@
|
|||||||
|
|
||||||
#define TARGET_VIRTUAL_KEY 0x80000000
|
#define TARGET_VIRTUAL_KEY 0x80000000
|
||||||
#include "PS2Edefs.h"
|
#include "PS2Edefs.h"
|
||||||
|
#include <list>
|
||||||
|
#include <map>
|
||||||
|
#include "GS.h"
|
||||||
|
#include "ZZGl.h"
|
||||||
|
|
||||||
#ifndef GL_TEXTURE_RECTANGLE
|
#ifndef GL_TEXTURE_RECTANGLE
|
||||||
#define GL_TEXTURE_RECTANGLE GL_TEXTURE_RECTANGLE_NV
|
#define GL_TEXTURE_RECTANGLE GL_TEXTURE_RECTANGLE_NV
|
||||||
|
@ -95,11 +95,12 @@ int nBackbufferWidth, nBackbufferHeight; // ZZ
|
|||||||
extern CRangeManager s_RangeMngr; // manages overwritten memory
|
extern CRangeManager s_RangeMngr; // manages overwritten memory
|
||||||
|
|
||||||
int s_nNewWidth = -1, s_nNewHeight = -1;
|
int s_nNewWidth = -1, s_nNewHeight = -1;
|
||||||
void ChangeDeviceSize(int nNewWidth, int nNewHeight);
|
|
||||||
|
|
||||||
void ProcessMessages();
|
void ProcessMessages();
|
||||||
void RenderCustom(float fAlpha); // intro anim
|
void RenderCustom(float fAlpha); // intro anim
|
||||||
|
|
||||||
|
bool ZZCreate(int width, int height);
|
||||||
|
|
||||||
///////////////////////
|
///////////////////////
|
||||||
// Method Prototypes //
|
// Method Prototypes //
|
||||||
///////////////////////
|
///////////////////////
|
||||||
@ -107,6 +108,7 @@ void RenderCustom(float fAlpha); // intro anim
|
|||||||
void ResolveInRange(int start, int end);
|
void ResolveInRange(int start, int end);
|
||||||
|
|
||||||
void ExtWrite();
|
void ExtWrite();
|
||||||
|
extern GLuint vboRect;
|
||||||
|
|
||||||
void ResetRenderTarget(int index)
|
void ResetRenderTarget(int index)
|
||||||
{
|
{
|
||||||
@ -237,54 +239,6 @@ void ZZGSStateReset()
|
|||||||
vb[1].ictx = 1;
|
vb[1].ictx = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ZZReset()
|
|
||||||
{
|
|
||||||
FUNCLOG
|
|
||||||
s_RTs.ResolveAll();
|
|
||||||
s_DepthRTs.ResolveAll();
|
|
||||||
|
|
||||||
vb[0].nCount = 0;
|
|
||||||
vb[1].nCount = 0;
|
|
||||||
|
|
||||||
memset(s_nResolveCounts, 0, sizeof(s_nResolveCounts));
|
|
||||||
s_nLastResolveReset = 0;
|
|
||||||
|
|
||||||
icurctx = -1;
|
|
||||||
g_vsprog = g_psprog = 0;
|
|
||||||
|
|
||||||
ZZGSStateReset();
|
|
||||||
ZZDestroy(0);
|
|
||||||
clear_drawfn();
|
|
||||||
}
|
|
||||||
|
|
||||||
void ZZGSReset()
|
|
||||||
{
|
|
||||||
FUNCLOG
|
|
||||||
|
|
||||||
memset(&gs, 0, sizeof(gs));
|
|
||||||
|
|
||||||
ZZGSStateReset();
|
|
||||||
|
|
||||||
gs.prac = 1;
|
|
||||||
prim = &gs._prim[0];
|
|
||||||
gs.nTriFanVert = -1;
|
|
||||||
gs.imageTransfer = -1;
|
|
||||||
gs.q = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
void ZZGSSoftReset(u32 mask)
|
|
||||||
{
|
|
||||||
FUNCLOG
|
|
||||||
|
|
||||||
if (mask & 1) memset(&gs.path[0], 0, sizeof(gs.path[0]));
|
|
||||||
if (mask & 2) memset(&gs.path[1], 0, sizeof(gs.path[1]));
|
|
||||||
if (mask & 4) memset(&gs.path[2], 0, sizeof(gs.path[2]));
|
|
||||||
|
|
||||||
gs.imageTransfer = -1;
|
|
||||||
gs.q = 1;
|
|
||||||
gs.nTriFanVert = -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
void ChangeWindowSize(int nNewWidth, int nNewHeight)
|
void ChangeWindowSize(int nNewWidth, int nNewHeight)
|
||||||
{
|
{
|
||||||
FUNCLOG
|
FUNCLOG
|
||||||
|
@ -25,17 +25,16 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// ----------------------------- Includes
|
// ----------------------------- Includes
|
||||||
#include <list>
|
//#include <list>
|
||||||
#include <vector>
|
//#include <vector>
|
||||||
#include <map>
|
//#include <map>
|
||||||
#include <string>
|
//#include <string>
|
||||||
#include <math.h>
|
//#include <math.h>
|
||||||
|
|
||||||
#include "ZZGl.h"
|
|
||||||
#include "GS.h"
|
|
||||||
#include "CRC.h"
|
|
||||||
#include "targets.h"
|
|
||||||
|
|
||||||
|
//#include "ZZGl.h"
|
||||||
|
//#include "CRC.h"
|
||||||
|
//#include "targets.h"
|
||||||
|
#include "PS2Edefs.h"
|
||||||
// ------------------------ Variables -------------------------
|
// ------------------------ Variables -------------------------
|
||||||
|
|
||||||
//////////////////////////
|
//////////////////////////
|
||||||
@ -48,60 +47,22 @@ extern u32 g_nGenVars, g_nTexVars, g_nAlphaVars, g_nResolve;
|
|||||||
extern bool g_bSaveTrans, g_bUpdateEffect, g_bSaveTex, g_bSaveResolved;
|
extern bool g_bSaveTrans, g_bUpdateEffect, g_bSaveTex, g_bSaveResolved;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
extern int g_nPixelShaderVer;
|
|
||||||
|
|
||||||
extern bool s_bWriteDepth;
|
extern bool s_bWriteDepth;
|
||||||
|
|
||||||
extern int nBackbufferWidth, nBackbufferHeight;
|
extern int nBackbufferWidth, nBackbufferHeight;
|
||||||
|
|
||||||
extern float fiTexWidth[2], fiTexHeight[2]; // current tex width and height
|
extern float fiTexWidth[2], fiTexHeight[2]; // current tex width and height
|
||||||
extern vector<GLuint> g_vboBuffers; // VBOs for all drawing commands
|
|
||||||
extern GLuint vboRect;
|
|
||||||
extern int g_nCurVBOIndex;
|
|
||||||
|
|
||||||
void ChangeWindowSize(int nNewWidth, int nNewHeight);
|
|
||||||
void SetChangeDeviceSize(int nNewWidth, int nNewHeight);
|
|
||||||
void ChangeDeviceSize(int nNewWidth, int nNewHeight);
|
|
||||||
void SetAA(int mode);
|
|
||||||
void SetCRC(int crc);
|
|
||||||
|
|
||||||
void ReloadEffects();
|
|
||||||
|
|
||||||
// Methods //
|
// Methods //
|
||||||
bool IsGLExt(const char* szTargetExtension); ///< returns true if the the opengl extension is supported
|
|
||||||
inline bool Create_Window(int _width, int _height);
|
|
||||||
bool ZZCreate(int width, int height);
|
|
||||||
void ZZDestroy(bool bD3D);
|
|
||||||
|
|
||||||
void ZZReset(); // call to destroy video resources
|
|
||||||
void ZZGSStateReset();
|
void ZZGSStateReset();
|
||||||
void ZZGSReset();
|
|
||||||
void ZZGSSoftReset(u32 mask);
|
|
||||||
|
|
||||||
void HandleGLError();
|
|
||||||
|
// flush current vertices, call before setting new registers (the main render method)
|
||||||
|
void Flush(int context);
|
||||||
|
void FlushBoth();
|
||||||
|
|
||||||
// called on a primitive switch
|
// called on a primitive switch
|
||||||
void Prim();
|
void Prim();
|
||||||
|
|
||||||
void SetTexFlush();
|
|
||||||
// flush current vertices, call before setting new registers (the main render method)
|
|
||||||
void Flush(int context);
|
|
||||||
void FlushBoth();
|
|
||||||
void ExtWrite();
|
|
||||||
|
|
||||||
void SetWriteDepth();
|
|
||||||
bool IsWriteDepth();
|
|
||||||
|
|
||||||
void SetDestAlphaTest();
|
|
||||||
bool IsWriteDestAlphaTest();
|
|
||||||
|
|
||||||
void SetFogColor(u32 fog);
|
|
||||||
void SetFogColor(GIFRegFOGCOL* fog);
|
|
||||||
void SaveTex(tex0Info* ptex, int usevid);
|
|
||||||
char* NamedSaveTex(tex0Info* ptex, int usevid);
|
|
||||||
|
|
||||||
// switches the render target to the real target, flushes the current render targets and renders the real image
|
|
||||||
void RenderCRTC(int interlace);
|
|
||||||
void ResetRenderTarget(int index);
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user