From 365ffdb66c9e0a31cfc1bcc5878c274a27b42a88 Mon Sep 17 00:00:00 2001 From: "Jake.Stine" Date: Tue, 17 Aug 2010 12:09:03 +0000 Subject: [PATCH 01/12] Bugfix for string formatting on some non-MSW platforms. git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3652 96395faa-99c1-11dd-bbfe-3dabce05a288 --- common/src/Utilities/FastFormatString.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/common/src/Utilities/FastFormatString.cpp b/common/src/Utilities/FastFormatString.cpp index 774737af4a..a9d7f23d58 100644 --- a/common/src/Utilities/FastFormatString.cpp +++ b/common/src/Utilities/FastFormatString.cpp @@ -175,7 +175,7 @@ static __ri void format_that_unicode_mess( SafeArray& buffer, uint writepo { while( true ) { - int size = buffer.GetLength()/2; + int size = buffer.GetLength() / sizeof(wxChar); int len = wxVsnprintf((wxChar*)buffer.GetPtr(writepos), size-writepos, fmt, argptr); // some implementations of vsnprintf() don't NUL terminate @@ -194,7 +194,7 @@ static __ri void format_that_unicode_mess( SafeArray& buffer, uint writepo len += writepos; if (len < size) break; - buffer.ExactAlloc( (len + 31) * 2 ); + buffer.ExactAlloc( (len + 31) * sizeof(wxChar) ); }; // performing an assertion or log of a truncated string is unsafe, so let's not; even @@ -236,7 +236,7 @@ FastFormatUnicode& FastFormatUnicode::WriteV( const char* fmt, va_list argptr ) wxString converted( fromUTF8(FastFormatAscii().WriteV( fmt, argptr )) ); uint inspos = wxStrlen((wxChar*)m_dest->GetPtr()); - m_dest->MakeRoomFor((inspos + converted.Length() + 31)*2); + m_dest->MakeRoomFor((inspos + converted.Length() + 31)*sizeof(wxChar)); wxStrcpy( &((wxChar*)m_dest->GetPtr())[inspos], converted ); return *this; From fcba95f4d46a467f9a9261d64cfcb546f1fa9cb1 Mon Sep 17 00:00:00 2001 From: "gregory.hainaut@gmail.com" Date: Tue, 17 Aug 2010 14:39:58 +0000 Subject: [PATCH 02/12] CDVDlinuz: * move content of version.h into CDVDlinuz.h (avoid a conflict with version.h located in /usr/include/alsa) * allow cmake to build it. git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3654 96395faa-99c1-11dd-bbfe-3dabce05a288 --- cmake/SelectPcsx2Plugins.cmake | 6 +++++- plugins/CDVDlinuz/Src/CMakeLists.txt | 5 ++--- plugins/CDVDlinuz/Src/Linux/CDVDlinuz.c | 2 -- plugins/CDVDlinuz/Src/Linux/CDVDlinuz.h | 13 +++++++------ plugins/CDVDlinuz/Src/Linux/aboutbox.c | 2 +- 5 files changed, 15 insertions(+), 13 deletions(-) diff --git a/cmake/SelectPcsx2Plugins.cmake b/cmake/SelectPcsx2Plugins.cmake index 40a6292dc5..9578816692 100644 --- a/cmake/SelectPcsx2Plugins.cmake +++ b/cmake/SelectPcsx2Plugins.cmake @@ -81,6 +81,11 @@ else(BZIP2_FOUND) message(STATUS "${msg_dep_cdvdiso}") endif(BZIP2_FOUND) +#--------------------------------------- +# CDVDlinuz +#--------------------------------------- +set(CDVDlinuz TRUE) + #--------------------------------------- # dev9null #--------------------------------------- @@ -219,7 +224,6 @@ set(USBnull TRUE) # [TODO] Write CMakeLists.txt for these plugins. set(cdvdGigaherz FALSE) set(CDVDisoEFP FALSE) -set(CDVDlinuz FALSE) set(CDVDolio FALSE) set(CDVDpeops FALSE) set(GSdx FALSE) diff --git a/plugins/CDVDlinuz/Src/CMakeLists.txt b/plugins/CDVDlinuz/Src/CMakeLists.txt index c0c37c631f..ff5357f715 100644 --- a/plugins/CDVDlinuz/Src/CMakeLists.txt +++ b/plugins/CDVDlinuz/Src/CMakeLists.txt @@ -5,7 +5,6 @@ set(Output CDVDlinuz) set(CommonFlags -Wall - -fPIC -D_LARGEFILE64_SOURCE ) @@ -48,8 +47,8 @@ set(CDVDlinuzHeaders PS2Edefs.h PS2Etypes.h # ERROR It takes /usr/include/alsa/version.h - # Either fix include dir. Or rename the file. Or mv stuff into in another include file. - version.h + # The content was move to Linux/CDVDlinuz.h + # version.h ) # CDVDlinuz Linux sources diff --git a/plugins/CDVDlinuz/Src/Linux/CDVDlinuz.c b/plugins/CDVDlinuz/Src/Linux/CDVDlinuz.c index d131b3a0f4..1efd0f032b 100644 --- a/plugins/CDVDlinuz/Src/Linux/CDVDlinuz.c +++ b/plugins/CDVDlinuz/Src/Linux/CDVDlinuz.c @@ -47,8 +47,6 @@ #include "DVD.h" // InitDVDInfo() #include "device.h" -#include "../version.h" - // Globals diff --git a/plugins/CDVDlinuz/Src/Linux/CDVDlinuz.h b/plugins/CDVDlinuz/Src/Linux/CDVDlinuz.h index 4cb404ad42..55cd36b4c3 100644 --- a/plugins/CDVDlinuz/Src/Linux/CDVDlinuz.h +++ b/plugins/CDVDlinuz/Src/Linux/CDVDlinuz.h @@ -38,7 +38,14 @@ #define __CDVDLINUZ_H__ +#define CDVDdefs +#include "PS2Edefs.h" +extern char *libname; + +extern const unsigned char version; +extern const unsigned char revision; +extern const unsigned char build; @@ -50,13 +57,7 @@ #define VERBOSE_DISC_TYPE - - #define READ_AHEAD_BUFFERS 32 - - - - #endif /* __CDVDLINUZ_H__ */ diff --git a/plugins/CDVDlinuz/Src/Linux/aboutbox.c b/plugins/CDVDlinuz/Src/Linux/aboutbox.c index de70e87742..38c1295f7f 100644 --- a/plugins/CDVDlinuz/Src/Linux/aboutbox.c +++ b/plugins/CDVDlinuz/Src/Linux/aboutbox.c @@ -62,7 +62,7 @@ -#include "version.h" +#include "CDVDlinuz.h" #include "aboutbox.h" From 9a5e9e24e18a508dc4a3c50f504e04f45cb5560c Mon Sep 17 00:00:00 2001 From: arcum42 Date: Wed, 18 Aug 2010 08:54:16 +0000 Subject: [PATCH 03/12] zzogl: Get a start on abstracting the memory code a bit. git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3657 96395faa-99c1-11dd-bbfe-3dabce05a288 --- plugins/zzogl-pg/opengl/GS.h | 32 +++++++++++++++ plugins/zzogl-pg/opengl/HostMemory.cpp | 57 ++++++++++++++++++++------ plugins/zzogl-pg/opengl/Mem_Tables.cpp | 24 +++++------ plugins/zzogl-pg/opengl/zerogs.cpp | 5 +-- plugins/zzogl-pg/opengl/zerogs.h | 3 -- 5 files changed, 90 insertions(+), 31 deletions(-) diff --git a/plugins/zzogl-pg/opengl/GS.h b/plugins/zzogl-pg/opengl/GS.h index 623f63e4d4..3c593ad5ac 100644 --- a/plugins/zzogl-pg/opengl/GS.h +++ b/plugins/zzogl-pg/opengl/GS.h @@ -72,6 +72,29 @@ class GLWindow extern GLWindow GLWin; +extern u8* g_pbyGSMemory; + +class GSMemory +{ + public: + void init(); + void destroy(); + u8* get(); + u8* get(u32 addr); + u8* get_raw(u32 addr); +}; + +extern u8* g_pbyGSClut; // the temporary clut buffer + +class GSClut +{ + public: + void init(); + void destroy(); + u8* get(); + u8* get(u32 addr); + u8* get_raw(u32 addr); +}; struct Vector_16F { u16 x, y, z, w; @@ -316,6 +339,12 @@ inline int PSMT_BITMODE(int psm) {return (psm & 0x7);} inline int PSMT_BITS_NUM(int psm) { + // Treat these as 32 bit. + if ((psm == PSMT8H) || (psm == PSMT4HL) || (psm == PSMT4HH)) + { + return 4; + } + switch (PSMT_BITMODE(psm)) { case 4: @@ -657,6 +686,9 @@ typedef struct pathInfo path[4]; GIFRegDIMX dimx; + GSMemory mem; + GSClut clut_buffer; + void setRGBA(u32 r, u32 g, u32 b, u32 a) { rgba = (r & 0xff) | diff --git a/plugins/zzogl-pg/opengl/HostMemory.cpp b/plugins/zzogl-pg/opengl/HostMemory.cpp index 768c11f82a..df8a96f6fa 100644 --- a/plugins/zzogl-pg/opengl/HostMemory.cpp +++ b/plugins/zzogl-pg/opengl/HostMemory.cpp @@ -27,7 +27,49 @@ #include "zerogs.h" #include "targets.h" -extern _getPixelAddress getPixelFun[64]; + + u8* g_pbyGSMemory = NULL; // 4Mb GS system mem + + void GSMemory::init() + { + const u32 mem_size = MEMORY_END + 0x10000; // leave some room for out of range accesses (saves on the checks) + + // clear + g_pbyGSMemory = (u8*)_aligned_malloc(mem_size, 1024); + memset(g_pbyGSMemory, 0, mem_size); + } + + void GSMemory::destroy() + { + _aligned_free(g_pbyGSMemory); + g_pbyGSMemory = NULL; + } + + u8* GSMemory::get() { return g_pbyGSMemory; } + + u8* GSMemory::get(u32 addr) { return &g_pbyGSMemory[addr*8]; } + u8* GSMemory::get_raw(u32 addr) { return &g_pbyGSMemory[addr]; } + + u8* g_pbyGSClut = NULL; // ZZ + + void GSClut::init() + { + g_pbyGSClut = (u8*)_aligned_malloc(256 * 8, 1024); // need 512 alignment! + memset(g_pbyGSClut, 0, 256*8); + } + + void GSClut::destroy() + { + _aligned_free(g_pbyGSClut); + g_pbyGSClut = NULL; + } + + u8* GSClut::get() { return g_pbyGSClut; } + + u8* GSClut::get(u32 addr) { return &g_pbyGSClut[addr*8]; } + u8* GSClut::get_raw(u32 addr) { return &g_pbyGSClut[addr]; } + + extern _getPixelAddress getPixelFun[64]; namespace ZeroGS { @@ -63,16 +105,7 @@ extern _getPixelAddress getPixelFun[64]; return; } - // For some reason, we have to treat these as 32 bit. - if ((psm == PSMT8H) || (psm == PSMT4HL) || (psm == PSMT4HH)) - { - bits = 4; - } - else - { - bits = PSMT_BITS_NUM(psm); - } - + bits = PSMT_BITS_NUM(psm); start = getPixelFun[psm](x, y, bp, bw); end = getPixelFun[psm](x + w - 1, y + h - 1, bp, bw) + 1; @@ -473,7 +506,7 @@ __forceinline void _TransferLocalLocal_4() { _TransferLocalLocal_4(); } - + g_MemTargs.ClearRange(dststart, dstend); #ifdef ZEROGS_DEVBUILD diff --git a/plugins/zzogl-pg/opengl/Mem_Tables.cpp b/plugins/zzogl-pg/opengl/Mem_Tables.cpp index bef9e62c42..6c66a9389c 100644 --- a/plugins/zzogl-pg/opengl/Mem_Tables.cpp +++ b/plugins/zzogl-pg/opengl/Mem_Tables.cpp @@ -302,18 +302,6 @@ _getPixelAddress_0 getPixelFun_0[64] = NULL, NULL, getPixelAddress16SZ_0, NULL, NULL, NULL, NULL, NULL }; -_getPixelAddress getPixelFun[64] = -{ - getPixelAddress32, getPixelAddress24, getPixelAddress16, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, getPixelAddress16S, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, getPixelAddress8, getPixelAddress4, NULL, NULL, NULL, - NULL, NULL, NULL, getPixelAddress8H, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, getPixelAddress4HL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, getPixelAddress4HH, NULL, NULL, NULL, - getPixelAddress32Z, getPixelAddress24Z, getPixelAddress16Z, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, getPixelAddress16SZ, NULL, NULL, NULL, NULL, NULL -}; - _writePixel_0 writePixelFun_0[64] = { writePixel32_0, writePixel24_0, writePixel16_0, NULL, NULL, NULL, NULL, NULL, @@ -338,6 +326,18 @@ _readPixel_0 readPixelFun_0[64] = NULL, NULL, readPixel16SZ_0, NULL, NULL, NULL, NULL, NULL }; +_getPixelAddress getPixelFun[64] = +{ + getPixelAddress32, getPixelAddress24, getPixelAddress16, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, getPixelAddress16S, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, getPixelAddress8, getPixelAddress4, NULL, NULL, NULL, + NULL, NULL, NULL, getPixelAddress8H, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, getPixelAddress4HL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, getPixelAddress4HH, NULL, NULL, NULL, + getPixelAddress32Z, getPixelAddress24Z, getPixelAddress16Z, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, getPixelAddress16SZ, NULL, NULL, NULL, NULL, NULL +}; + _writePixel writePixelFun[64] = { writePixel32, writePixel24, writePixel16, NULL, NULL, NULL, NULL, NULL, diff --git a/plugins/zzogl-pg/opengl/zerogs.cpp b/plugins/zzogl-pg/opengl/zerogs.cpp index 25e90bb666..d1b588798e 100644 --- a/plugins/zzogl-pg/opengl/zerogs.cpp +++ b/plugins/zzogl-pg/opengl/zerogs.cpp @@ -92,10 +92,7 @@ int s_nResolveCounts[30] = {0}; // resolve counts for last 30 frames //////////////////// // State parameters -int nBackbufferWidth, nBackbufferHeight; - -u8* g_pbyGSMemory = NULL; // 4Mb GS system mem -u8* g_pbyGSClut = NULL; // ZZ +int nBackbufferWidth, nBackbufferHeight; // ZZ namespace ZeroGS { diff --git a/plugins/zzogl-pg/opengl/zerogs.h b/plugins/zzogl-pg/opengl/zerogs.h index 6491297e3f..708f5c8450 100644 --- a/plugins/zzogl-pg/opengl/zerogs.h +++ b/plugins/zzogl-pg/opengl/zerogs.h @@ -112,9 +112,6 @@ extern u32 ptexLogo; extern int nLogoWidth, nLogoHeight; extern int nBackbufferWidth, nBackbufferHeight; -extern u8* g_pbyGSMemory; -extern u8* g_pbyGSClut; // the temporary clut buffer - namespace ZeroGS { From 59262101db534d16c1449a306a3fae7738b848aa Mon Sep 17 00:00:00 2001 From: arcum42 Date: Wed, 18 Aug 2010 10:52:57 +0000 Subject: [PATCH 04/12] zzogl-pg: Add in changes from zzogl r218. (I'll still need to go through r214-217 and grab any important changes, though.) git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3659 96395faa-99c1-11dd-bbfe-3dabce05a288 --- plugins/zzogl-pg/opengl/ZZoglFlush.cpp | 4 ++-- plugins/zzogl-pg/opengl/ps2hw.fx | 26 +++++--------------------- plugins/zzogl-pg/opengl/targets.cpp | 13 +++++++------ plugins/zzogl-pg/opengl/targets.h | 11 +++++++++++ 4 files changed, 25 insertions(+), 29 deletions(-) diff --git a/plugins/zzogl-pg/opengl/ZZoglFlush.cpp b/plugins/zzogl-pg/opengl/ZZoglFlush.cpp index e4338b555a..446eebaf25 100644 --- a/plugins/zzogl-pg/opengl/ZZoglFlush.cpp +++ b/plugins/zzogl-pg/opengl/ZZoglFlush.cpp @@ -2032,7 +2032,7 @@ void ZeroGS::SetTexClamping(int context, FRAGMENTSHADER* pfragment) case 3: // region rep x v.x = 0.9999f; - v.z = fw; + v.z = (float)fw; v2.x = (float)GPU_TEXMASKWIDTH / fw; v2.z = pclamp->maxu / fw; int correctMinu = pclamp->minu & (~pclamp->maxu); // (A && B) || C == (A && (B && !C)) + C @@ -2067,7 +2067,7 @@ void ZeroGS::SetTexClamping(int context, FRAGMENTSHADER* pfragment) case 3: // region rep y v.y = 0.9999f; - v.w = fh; + v.w = (float)fh; v2.y = (float)GPU_TEXMASKWIDTH / fh; v2.w = pclamp->maxv / fh; int correctMinv = pclamp->minv & (~pclamp->maxv); // (A && B) || C == (A && (B && !C)) + C diff --git a/plugins/zzogl-pg/opengl/ps2hw.fx b/plugins/zzogl-pg/opengl/ps2hw.fx index 1d372be9bd..c76252ba26 100644 --- a/plugins/zzogl-pg/opengl/ps2hw.fx +++ b/plugins/zzogl-pg/opengl/ps2hw.fx @@ -1,19 +1,4 @@ -// Cg Shaders for PS2 GS emulation -// -// 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; either version 2 of the License, or -// (at your option) any later version. -// -// 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 for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// +// Cg Shaders for PS2 GS emulation // divides by z for every pixel, instead of in vertex shader // fixes kh textures @@ -92,7 +77,6 @@ float2 ps2memcoord(float2 realtex) float2 fblock = frac(realtex.xy); off.xy = realtex.xy-fblock.xy; -//#if 0 #ifdef ACCURATE_DECOMPRESSION off.zw = tex2D(g_sBlocks, g_fTexBlock.xy*fblock + g_fTexBlock.zw).ar; off.x = dot(off.xy, g_fTexOffset.xy); @@ -216,9 +200,9 @@ float2 ps2addr(float2 coord) float2 final = frac(clamp(coord.xy, g_fClampExts.xy, g_fClampExts.zw)); if( TexWrapMode.x > g_fBilinear.z ) // region repeat mode for x (umsk&x)|ufix - final.x = texRECT(g_sBitwiseANDX, abs(coord.x)*TexWrapMode.zz).x * g_fClampExts.x + g_fClampExts.z; + final.x = texRECT(g_sBitwiseANDX, abs(coord.x)*TexWrapMode.zx).x * g_fClampExts.x + g_fClampExts.z; if( TexWrapMode.y > g_fBilinear.z ) // region repeat mode for x (vmsk&x)|vfix - final.y = texRECT(g_sBitwiseANDY, abs(coord.y)*TexWrapMode.ww).x * g_fClampExts.y + g_fClampExts.w; + final.y = texRECT(g_sBitwiseANDY, abs(coord.y)*TexWrapMode.wy).x * g_fClampExts.y + g_fClampExts.w; return final; } @@ -337,7 +321,7 @@ decl_ps2shade_##num(_tex16to32h) \ // nearest #define decl_ps2shade_0(bit) \ -half4 ps2shade0##bit( TEX_DECL tex) \ +float4 ps2shade0##bit( TEX_DECL tex) \ { \ return tex2DPS##bit( ps2addr(TEX_XY)); \ } \ @@ -745,7 +729,7 @@ half4 BilinearFloat16(float2 tex0) half4 CRTCTargInterPS(in float2 tex0 : TEXCOORD0, in float2 ointerpos : TEXCOORD1) : COLOR { float finter = texRECT(g_sInterlace, ointerpos.yy).x * g_fOneColor.z + g_fOneColor.w + g_fc0.w; - half4 c = BilinearFloat16(tex0); + float4 c = BilinearFloat16(tex0); c.w = ( g_fc0.w*c.w * g_fOneColor.x + g_fOneColor.y ) * finter; return c; } diff --git a/plugins/zzogl-pg/opengl/targets.cpp b/plugins/zzogl-pg/opengl/targets.cpp index b27e35be86..74b0cd593b 100644 --- a/plugins/zzogl-pg/opengl/targets.cpp +++ b/plugins/zzogl-pg/opengl/targets.cpp @@ -2543,24 +2543,25 @@ u32 ZeroGS::CBitwiseTextureMngr::GetTexInt(u32 bitvalue, u32 ptexDoNotDelete) if (glGetError() != GL_NO_ERROR) ZZLog::Error_Log("Error on generation of bitmask texture."); - vector data(GPU_TEXMASKWIDTH + 1); + vector data(GPU_TEXMASKWIDTH); for (u32 i = 0; i < GPU_TEXMASKWIDTH; ++i) { data[i] = (((i << MASKDIVISOR) & bitvalue) << 6); // add the 1/2 offset so that } + + // data[GPU_TEXMASKWIDTH] = 0; // I remove GPU_TEXMASKWIDTH+1 element of this texture, because it was a reason of FFC crush + // Probably, some sort of PoT incompability in drivers. - data[GPU_TEXMASKWIDTH] = 0; - - glBindTexture(GL_TEXTURE_RECTANGLE_NV, ptex); + glBindTexture(GL_TEXTURE_RECTANGLE, ptex); if (glGetError() != GL_NO_ERROR) ZZLog::Error_Log("Error on binding bitmask texture."); - TextureRect(GL_LUMINANCE16, GPU_TEXMASKWIDTH + 1, 1, GL_LUMINANCE, GL_UNSIGNED_SHORT, &data[0]); + TextureRect2(GL_LUMINANCE16, GPU_TEXMASKWIDTH, 1, GL_LUMINANCE, GL_UNSIGNED_SHORT, &data[0]); if (glGetError() != GL_NO_ERROR) ZZLog::Error_Log("Error on applying bitmask texture."); // Removing clamping, as it seems lead to numerous troubles at some drivers // Need to observe, may be clamping is not really needed. - /* setTexRectWrap(GL_REPEAT); + /* setRectWrap2(GL_REPEAT); GLint Error = glGetError(); if( Error != GL_NO_ERROR ) { diff --git a/plugins/zzogl-pg/opengl/targets.h b/plugins/zzogl-pg/opengl/targets.h index c055012781..de2061076d 100644 --- a/plugins/zzogl-pg/opengl/targets.h +++ b/plugins/zzogl-pg/opengl/targets.h @@ -345,6 +345,11 @@ static __forceinline void TextureRect(GLint iFormat, GLint width, GLint height, glTexImage2D(GL_TEXTURE_RECTANGLE_NV, 0, iFormat, width, height, 0, format, type, pixels); } +static __forceinline void TextureRect2(GLint iFormat, GLint width, GLint height, GLenum format, GLenum type, const GLvoid* pixels) +{ + glTexImage2D(GL_TEXTURE_RECTANGLE_NV, 0, iFormat, width, height, 0, format, type, pixels); +} + static __forceinline void TextureRect(GLenum attach, GLuint id = 0) { glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, attach, GL_RENDERBUFFER_EXT, id); @@ -386,5 +391,11 @@ static __forceinline void setRectWrap(GLint type) glTexParameteri(GL_TEXTURE_RECTANGLE_NV, GL_TEXTURE_WRAP_S, type); glTexParameteri(GL_TEXTURE_RECTANGLE_NV, GL_TEXTURE_WRAP_T, type); } + +static __forceinline void setRectWrap2(GLint type) +{ + glTexParameteri(GL_TEXTURE_RECTANGLE, GL_TEXTURE_WRAP_S, type); + glTexParameteri(GL_TEXTURE_RECTANGLE, GL_TEXTURE_WRAP_T, type); +} #endif From 0e37310783e7ece7eba1f140bdd7d521e3aecaf7 Mon Sep 17 00:00:00 2001 From: arcum42 Date: Wed, 18 Aug 2010 12:44:45 +0000 Subject: [PATCH 05/12] zzogl-pg: Copy the modified ps2hw.dat file in as well. git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3661 96395faa-99c1-11dd-bbfe-3dabce05a288 --- plugins/zzogl-pg/opengl/ps2hw.dat | Bin 108445 -> 113923 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/plugins/zzogl-pg/opengl/ps2hw.dat b/plugins/zzogl-pg/opengl/ps2hw.dat index 970b7b17e9906e67a7678211bd4e1e1177a01fbb..2d3b43cae0cdc3de4925148f558b574b9dd1d7ea 100644 GIT binary patch literal 113923 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%0D$dh7L)rEwD_|~-_dBVHX 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 Date: Wed, 18 Aug 2010 13:38:45 +0000 Subject: [PATCH 06/12] zzogl-pg: Quick Windows fix for an issue introduced in zzogl r218. Fix a typo. git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3663 96395faa-99c1-11dd-bbfe-3dabce05a288 --- plugins/zzogl-pg/opengl/targets.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/plugins/zzogl-pg/opengl/targets.h b/plugins/zzogl-pg/opengl/targets.h index de2061076d..6a26facfc0 100644 --- a/plugins/zzogl-pg/opengl/targets.h +++ b/plugins/zzogl-pg/opengl/targets.h @@ -23,6 +23,10 @@ #define TARGET_VIRTUAL_KEY 0x80000000 #include "PS2Edefs.h" +#ifndef GL_TEXTURE_RECTANGLE +#define GL_TEXTURE_RECTANGLE GL_TEXTURE_RECTANGLE_NV +#endif + inline Vector DefaultOneColor(FRAGMENTSHADER ptr) { Vector v = Vector(1, 1, 1, 1); @@ -347,7 +351,7 @@ static __forceinline void TextureRect(GLint iFormat, GLint width, GLint height, static __forceinline void TextureRect2(GLint iFormat, GLint width, GLint height, GLenum format, GLenum type, const GLvoid* pixels) { - glTexImage2D(GL_TEXTURE_RECTANGLE_NV, 0, iFormat, width, height, 0, format, type, pixels); + glTexImage2D(GL_TEXTURE_RECTANGLE, 0, iFormat, width, height, 0, format, type, pixels); } static __forceinline void TextureRect(GLenum attach, GLuint id = 0) From 92dbee7e79c73e1b0200bbceca14c9fac075333b Mon Sep 17 00:00:00 2001 From: ramapcsx2 Date: Thu, 19 Aug 2010 13:01:26 +0000 Subject: [PATCH 07/12] Small updates to the game database and GSdx CRCs. git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3669 96395faa-99c1-11dd-bbfe-3dabce05a288 --- bin/GameIndex.dbf | 30 +----------------------------- plugins/GSdx/GSCrc.cpp | 1 + 2 files changed, 2 insertions(+), 29 deletions(-) diff --git a/bin/GameIndex.dbf b/bin/GameIndex.dbf index 547249a5d2..f2ee1475c1 100644 --- a/bin/GameIndex.dbf +++ b/bin/GameIndex.dbf @@ -3686,7 +3686,7 @@ Compat = 5 Serial = SLUS-20482 Name = Sphinx and the Cursed Mummy Region = NTSC-U -Compat = 1 +Compat = 5 --------------------------------------------- Serial = SLUS-20483 Name = WWE Smackdown - Shut Your Mouth @@ -15611,17 +15611,6 @@ Serial = SLPM-65038 Name = Devil May Cry Region = NTSC-J Compat = 3 -[patches = 96B2F56D] - - comment=Skips Movies - - //skip Movie_Set - patch=0,EE,001cdea0,word,03e00008 - patch=0,EE,001cdea4,word,03e00008 - //skip MovieEndCheck - patch=0,EE,001ce44c,word,70001428 - -[/patches] --------------------------------------------- Serial = SLPM-65039 Name = Densha de Go! Shinkansen @@ -34046,23 +34035,6 @@ Serial = SLES-52336 Name = Max Payne 2 - The Fall of Max Payne Region = PAL-Unk Compat = 4 -[patches = D03BEF2A] - - comment=patches by Nachbrenner - - //Skip Videos - patch=0,EE,002c8650,word,03e00008 - patch=0,EE,002c8654,word,00000000 - //fix obscure inf. loop - patch=0,EE,001aa610,word,03e00008 - patch=0,EE,001aa614,word,24020000 - //Language Modifier (sceScfGetLanguage) - patch=0,EE,00445ce4,word,24020001 // english - //patch=0,EE,00445ce4,word,24020004 // deutsch - //fix "SleepThread vs. RTFSSIOP.IRX" - patch=0,EE,001b3208,word,00000000 - -[/patches] --------------------------------------------- Serial = SLES-52337 Name = Max Payne 2 - The Fall of Max Payne diff --git a/plugins/GSdx/GSCrc.cpp b/plugins/GSdx/GSCrc.cpp index 43b953c865..f843f3d539 100644 --- a/plugins/GSdx/GSCrc.cpp +++ b/plugins/GSdx/GSCrc.cpp @@ -112,6 +112,7 @@ CRC::Game CRC::m_games[] = {0x565B6170, WildArms5, JP, 0}, {0xBBC3EFFA, WildArms4, US, 0}, {0xBBC396EC, WildArms4, US, 0}, //hmm such a small diff in the CRC.. + {0x7B2DE9CC, WildArms4, EU, 0}, {0x8B029334, Manhunt2, Unknown, 0}, {0x09F49E37, CrashBandicootWoC, Unknown, 0}, {0x013E349D, ResidentEvil4, US, 0}, From 112800cb985a964b698d934520d3c2e5b8bcd378 Mon Sep 17 00:00:00 2001 From: "gregory.hainaut@gmail.com" Date: Fri, 20 Aug 2010 11:13:40 +0000 Subject: [PATCH 08/12] common, GSnull, zzogl-pg, SPU2null: add more safety to some fclose functions. Avoid a bunch of double free and memory corruption. git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3671 96395faa-99c1-11dd-bbfe-3dabce05a288 --- common/include/PS2Eext.h | 10 ++++++++-- plugins/GSnull/GS.cpp | 10 ++++++++-- plugins/SPU2null/SPU2.cpp | 10 ++++++++-- plugins/zzogl-pg/opengl/ZZLog.cpp | 7 +++++-- 4 files changed, 29 insertions(+), 8 deletions(-) diff --git a/common/include/PS2Eext.h b/common/include/PS2Eext.h index f23be0022a..34a9d70b8d 100644 --- a/common/include/PS2Eext.h +++ b/common/include/PS2Eext.h @@ -64,7 +64,10 @@ struct PluginLog void Close() { - if (LogFile) fclose(LogFile); + if (LogFile) { + fclose(LogFile); + LogFile = NULL; + } } void Write(const char *fmt, ...) @@ -132,7 +135,10 @@ struct PluginConf void Close() { - fclose(ConfFile); + if (ConfFile) { + fclose(ConfFile); + ConfFile = NULL; + } } int ReadInt(const std::string& item, int defval) diff --git a/plugins/GSnull/GS.cpp b/plugins/GSnull/GS.cpp index 3b6ffe2cc7..52327e4ef7 100644 --- a/plugins/GSnull/GS.cpp +++ b/plugins/GSnull/GS.cpp @@ -136,7 +136,10 @@ EXPORT_C_(void) GSsetLogDir(const char* dir) s_strLogPath = (dir==NULL) ? "logs/" : dir; // Reload the log file after updated the path - if (gsLog != NULL) fclose(gsLog); + if (gsLog) { + fclose(gsLog); + gsLog = NULL; + } OpenLog(); } @@ -156,7 +159,10 @@ EXPORT_C_(void) GSshutdown() GSCloseWindow(); #ifdef GS_LOG - if (gsLog) fclose(gsLog); + if (gsLog) { + fclose(gsLog); + gsLog = NULL; + } #endif } diff --git a/plugins/SPU2null/SPU2.cpp b/plugins/SPU2null/SPU2.cpp index 4fe2da3b62..73cda72ef0 100644 --- a/plugins/SPU2null/SPU2.cpp +++ b/plugins/SPU2null/SPU2.cpp @@ -141,7 +141,10 @@ EXPORT_C_(void) SPU2setLogDir(const char* dir) s_strLogPath = (dir==NULL) ? "logs/" : dir; // Reload the log file after updated the path - if (spu2Log) fclose(spu2Log); + if(spu2Log) { + fclose(spu2Log); + spu2Log = NULL; + } OpenLog(); } @@ -209,7 +212,10 @@ EXPORT_C_(void) SPU2shutdown() free(spu2mem); spu2mem = NULL; #ifdef SPU2_LOG - if (spu2Log) fclose(spu2Log); + if(spu2Log) { + fclose(spu2Log); + spu2Log = NULL; + } #endif } diff --git a/plugins/zzogl-pg/opengl/ZZLog.cpp b/plugins/zzogl-pg/opengl/ZZLog.cpp index ae2869b4c4..6ad727a9c5 100644 --- a/plugins/zzogl-pg/opengl/ZZLog.cpp +++ b/plugins/zzogl-pg/opengl/ZZLog.cpp @@ -53,7 +53,10 @@ bool Open() void Close() { - if (gsLog != NULL) fclose(gsLog); + if (gsLog != NULL) { + fclose(gsLog); + gsLog = NULL; + } } void SetDir(const char* dir) @@ -62,7 +65,7 @@ void SetDir(const char* dir) s_strLogPath = (dir==NULL) ? "logs/" : dir; // Reload the log file after updated the path - if (gsLog != NULL) fclose(gsLog); + Close(); Open(); } From 8aee9f652d42668820781716ea58e0e456df641e Mon Sep 17 00:00:00 2001 From: sudonim1 Date: Sat, 21 Aug 2010 14:50:45 +0000 Subject: [PATCH 09/12] Very nasty quick fix for sVU and VU interpreter regression in r3648. I have no idea why it's desirable to be able to move the VU registers structure after initialisation and a proper fix allowing for this is going to messy. Needs Jake's attention. git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3673 96395faa-99c1-11dd-bbfe-3dabce05a288 --- pcsx2/System.cpp | 2 ++ pcsx2/System.h | 4 ++-- pcsx2/vtlb.cpp | 4 ++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/pcsx2/System.cpp b/pcsx2/System.cpp index 5ed18c43e7..1d6579bd99 100644 --- a/pcsx2/System.cpp +++ b/pcsx2/System.cpp @@ -422,6 +422,8 @@ void SysClearExecutionCache() Cpu->Reset(); psxCpu->Reset(); + if (CHECK_EEREC) + ((BaseVUmicroCPU*)GetCpuProviders().CpuProviders->microVU0)->Reset(); CpuVU0->Reset(); CpuVU1->Reset(); diff --git a/pcsx2/System.h b/pcsx2/System.h index 569542c3a8..b8d9e17e41 100644 --- a/pcsx2/System.h +++ b/pcsx2/System.h @@ -43,12 +43,12 @@ protected: class SysCpuProviderPack { protected: - ScopedPtr CpuProviders; - ScopedPtr m_RecExceptionEE; ScopedPtr m_RecExceptionIOP; public: + ScopedPtr CpuProviders; + SysCpuProviderPack(); virtual ~SysCpuProviderPack() throw(); diff --git a/pcsx2/vtlb.cpp b/pcsx2/vtlb.cpp index 07db1842d7..7d87bd4f9e 100644 --- a/pcsx2/vtlb.cpp +++ b/pcsx2/vtlb.cpp @@ -63,7 +63,7 @@ static vtlbHandler UnmappedPhyHandler1; template< typename DataType > DataType __fastcall vtlb_memRead(u32 addr) { - static const uint DataSize = sizeof(DataType); + static const uint DataSize = sizeof(DataType) * 8; u32 vmv=vtlbdata.vmap[addr>>VTLB_PAGE_BITS]; s32 ppf=addr+vmv; @@ -134,7 +134,7 @@ void __fastcall vtlb_memRead128(u32 mem, u64 (&out)[2]) template< typename DataType > void __fastcall vtlb_memWrite(u32 addr, DataType data) { - static const uint DataSize = sizeof(DataType); + static const uint DataSize = sizeof(DataType) * 8; u32 vmv=vtlbdata.vmap[addr>>VTLB_PAGE_BITS]; s32 ppf=addr+vmv; From 4da64590d931023e347220b96ca6d331987aae54 Mon Sep 17 00:00:00 2001 From: sudonim1 Date: Sat, 21 Aug 2010 14:51:20 +0000 Subject: [PATCH 10/12] Geh, forgot to save after writing a comment. git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3674 96395faa-99c1-11dd-bbfe-3dabce05a288 --- pcsx2/System.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/pcsx2/System.cpp b/pcsx2/System.cpp index 1d6579bd99..faaee3531f 100644 --- a/pcsx2/System.cpp +++ b/pcsx2/System.cpp @@ -422,6 +422,7 @@ void SysClearExecutionCache() Cpu->Reset(); psxCpu->Reset(); + // mVU's VU0 needs to be properly initialised for macro mode even if it's not used for micro mode! if (CHECK_EEREC) ((BaseVUmicroCPU*)GetCpuProviders().CpuProviders->microVU0)->Reset(); CpuVU0->Reset(); From 661ddf088c92d4069dbbe606395b16b29d3c8b6f Mon Sep 17 00:00:00 2001 From: arcum42 Date: Sun, 22 Aug 2010 09:42:28 +0000 Subject: [PATCH 11/12] ZZOgl-pg: Catch up with some of the changes in recent revisions of zzogl. git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3677 96395faa-99c1-11dd-bbfe-3dabce05a288 --- plugins/zzogl-pg/opengl/GLWin32.cpp | 8 -- plugins/zzogl-pg/opengl/HostMemory.cpp | 4 - plugins/zzogl-pg/opengl/NewRegs.cpp | 22 +++--- plugins/zzogl-pg/opengl/Regs.cpp | 32 ++++---- plugins/zzogl-pg/opengl/ZZoglCRTC.cpp | 14 +++- plugins/zzogl-pg/opengl/ZZoglCRTC.h | 2 - plugins/zzogl-pg/opengl/ZZoglCreate.cpp | 97 +++++++++++++++---------- plugins/zzogl-pg/opengl/ZZoglFlush.cpp | 3 +- plugins/zzogl-pg/opengl/targets.cpp | 1 - plugins/zzogl-pg/opengl/zerogs.cpp | 42 ++--------- plugins/zzogl-pg/opengl/zerogs.h | 1 - 11 files changed, 104 insertions(+), 122 deletions(-) diff --git a/plugins/zzogl-pg/opengl/GLWin32.cpp b/plugins/zzogl-pg/opengl/GLWin32.cpp index a9b6bb0749..849c8d1db0 100644 --- a/plugins/zzogl-pg/opengl/GLWin32.cpp +++ b/plugins/zzogl-pg/opengl/GLWin32.cpp @@ -44,14 +44,6 @@ LRESULT WINAPI MsgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) // } break; - case WM_ACTIVATE: - if (wParam != WA_INACTIVE) - { - //ZZLog::Debug_Log("Restoring device."); - ZeroGS::Restore(); - } - break; - case WM_SIZE: nWindowWidth = lParam & 0xffff; nWindowHeight = lParam >> 16; diff --git a/plugins/zzogl-pg/opengl/HostMemory.cpp b/plugins/zzogl-pg/opengl/HostMemory.cpp index df8a96f6fa..93ce759e48 100644 --- a/plugins/zzogl-pg/opengl/HostMemory.cpp +++ b/plugins/zzogl-pg/opengl/HostMemory.cpp @@ -133,8 +133,6 @@ { FUNCLOG - //if (g_bIsLost) return; - #if defined(ZEROGS_DEVBUILD) if (gs.trxpos.dx + gs.imageWnew > gs.dstbuf.bw) ZZLog::Warn_Log("Transfer error, width exceeded."); @@ -178,8 +176,6 @@ { FUNCLOG - // if (g_bIsLost) return; - int start, end; GetRectMemAddress(start, end, gs.dstbuf.psm, gs.imageX, gs.imageY, gs.imageWnew, gs.imageHnew, gs.dstbuf.bp, gs.dstbuf.bw); diff --git a/plugins/zzogl-pg/opengl/NewRegs.cpp b/plugins/zzogl-pg/opengl/NewRegs.cpp index 3ffff98b40..c7d7ed4d28 100644 --- a/plugins/zzogl-pg/opengl/NewRegs.cpp +++ b/plugins/zzogl-pg/opengl/NewRegs.cpp @@ -44,25 +44,27 @@ GIFRegHandler g_GIFTempRegHandlers[16] = {0}; u32 s_uTex1Data[2][2] = {{0, }}; u32 s_uClampData[2] = {0, }; -u32 results[65535] = {0, }; +//u32 results[65535] = {0, }; // return true if triangle SHOULD be painted. // My brain hurts. --arcum42 + +// return true if triangle SHOULD be painted. inline bool NoHighlights(int i) { // This is hack-code, I still in search of correct reason, why some triangles should not be drawn. - int resultA = prim->iip + ((prim->tme) << 1) + ((prim->fge) << 2) + ((prim->abe) << 3) + ((prim->aa1) << 4) + ((prim->fst) << 5) + ((prim->ctxt) << 6) + ((prim->fix) << 7) + - ((ZeroGS::vb[i].zbuf.psm) << 8); - + int dummy = 0; + + u32 resultA = prim->iip + (2 * (prim->tme)) + (4 * (prim->fge)) + (8 * (prim->abe)) + (16 * (prim->aa1)) + (32 * (prim->fst)) + (64 * (prim->ctxt)) + (128 * (prim->fix)); + const pixTest curtest = ZeroGS::vb[i].test; - int result = curtest.ate + ((curtest.atst) << 1) + ((curtest.afail) << 4) + ((curtest.date) << 6) + ((curtest.datm) << 7) + ((curtest.zte) << 8) + ((curtest.ztst) << 9); - if ((resultA == 0x3a2a || resultA == 0x312a) && (result == 0x302 || result == 0x700) && (ZeroGS::vb[i].zbuf.zmsk)) return false; // Silent Hill:SM and Front Mission 5, result != 0x300 - if (((resultA == 0x3100) || (resultA == 0x3108)) && ((result == 0x54c) || (result == 0x50c)) && (ZeroGS::vb[i].zbuf.zmsk)) return false; // Okage + + u32 result = curtest.ate + ((curtest.atst) << 1) +((curtest.afail) << 4) + ((curtest.date) << 6) + ((curtest.datm) << 7) + ((curtest.zte) << 8) + ((curtest.ztst)<< 9); + if ((resultA == 0x310a) && (result == 0x0)) return false; // Radiata Stories - if (resultA == 0x3a6a && (result == 0x300 || result == 0x500) && ZeroGS::vb[i].zbuf.zmsk) return false; // Okami, result != 0x30d - -// Old code + + //Old code return (!(conf.settings().xenosaga_spec) || !ZeroGS::vb[i].zbuf.zmsk || prim->iip) ; } diff --git a/plugins/zzogl-pg/opengl/Regs.cpp b/plugins/zzogl-pg/opengl/Regs.cpp index 0c302429a8..b096d47a7a 100644 --- a/plugins/zzogl-pg/opengl/Regs.cpp +++ b/plugins/zzogl-pg/opengl/Regs.cpp @@ -42,47 +42,41 @@ GIFRegHandler g_GIFTempRegHandlers[16] = {0}; u32 s_uTex1Data[2][2] = {{0, }}; u32 s_uClampData[2] = {0, }; -u32 results[65535] = {0, }; +//u32 results[65535] = {0, }; // return true if triangle SHOULD be painted. inline bool NoHighlights(int i) { // This is hack-code, I still in search of correct reason, why some triangles should not be drawn. - // I'd have thought we could just test prim->_val and ZeroGS::vb[i].zbuf.psm directly... - int resultA = prim->iip + ((prim->tme) << 1) + ((prim->fge) << 2) + ((prim->abe) << 3) + ((prim->aa1) << 4) + ((prim->fst) << 5) + ((prim->ctxt) << 6) + ((prim->fix) << 7) + - ((ZeroGS::vb[i].zbuf.psm) << 8); + int dummy = 0; + + u32 resultA = prim->iip + (2 * (prim->tme)) + (4 * (prim->fge)) + (8 * (prim->abe)) + (16 * (prim->aa1)) + (32 * (prim->fst)) + (64 * (prim->ctxt)) + (128 * (prim->fix)); + // if ( results[resultA] == 0 ) { // results[resultA] = 1; -// ZZLog::Error_Log("%x = %d %d %d %d %d %d %d %d psm: %x", resultA, prim->iip, (prim->tme), (prim->fge), (prim->abe) , (prim->aa1) ,(prim->fst), (prim->ctxt), (prim->fix), ZeroGS::vb[i].zbuf.psm) ; +// ZZLog::ERROR_LOG("%x = %d %d %d %d %d %d %d %d \n", resultA, prim->iip, (prim->tme), (prim->fge), (prim->abe) , (prim->aa1) ,(prim->fst), (prim->ctxt), (prim->fix)) ; // } // if (resultA == 0xb && ZeroGS::vb[i].zbuf.zmsk ) return false; //ATF const pixTest curtest = ZeroGS::vb[i].test; - // Again, couldn't we just test curtest._val? - int result = curtest.ate + ((curtest.atst) << 1) + ((curtest.afail) << 4) + ((curtest.date) << 6) + ((curtest.datm) << 7) + ((curtest.zte) << 8) + ((curtest.ztst) << 9); + + u32 result = curtest.ate + ((curtest.atst) << 1) +((curtest.afail) << 4) + ((curtest.date) << 6) + ((curtest.datm) << 7) + ((curtest.zte) << 8) + ((curtest.ztst)<< 9); // if (resultA == 0xb) // if ( results[result] == 0) { // results[result] = 1; // ZZLog::Error_Log("0x%x = %d %d %d %d %d %d %d %d ", result, curtest.ate, curtest.atst, curtest.aref, curtest.afail, curtest.date, curtest.datm, curtest.zte, curtest.ztst); // } -// 0, -50b, -500, !-300, -30a, -50a, -5cb, +100 (zte==1), -50d -// if (result == 0x50b && ZeroGS::vb[i].zbuf.zmsk ) return false; //ATF - // if psm is 16S or 24, tme, abe, & fst are true, the rest are false, result is 0x302 or 0x700, and there is a mask. + //if (result == 0x50b && ZeroGS::vb[i].zbuf.zmsk ) return false; //ATF + //if ((resultA == 0x3a2a || resultA == 0x312a) && (result == 0x302 || result == 0x700) && (ZeroGS::vb[i].zbuf.zmsk)) return false; // Silent Hill:SM and Front Mission 5, result != 0x300 + //if (((resultA == 0x3100) || (resultA == 0x3108)) && ((result == 0x54c) || (result == 0x50c)) && (ZeroGS::vb[i].zbuf.zmsk)) return false; // Okage - if ((resultA == 0x3a2a || resultA == 0x312a) && (result == 0x302 || result == 0x700) && (ZeroGS::vb[i].zbuf.zmsk)) return false; // Silent Hill:SM and Front Mission 5, result != 0x300 - - // if psm is 24, abe is true, tme doesn't matter, the rest are false, result is 0x54c or 0x50c and there is a mask. - if (((resultA == 0x3100) || (resultA == 0x3108)) && ((result == 0x54c) || (result == 0x50c)) && (ZeroGS::vb[i].zbuf.zmsk)) return false; // Okage - - // if psm is 24, abe & tme are true, the rest are false, and no result. if ((resultA == 0x310a) && (result == 0x0)) return false; // Radiata Stories - // if psm is 16S, tme, abe, fst, and ctxt are true, the rest are false, result is 0x330 or 0x500, and there is a mask. - if (resultA == 0x3a6a && (result == 0x300 || result == 0x500) && ZeroGS::vb[i].zbuf.zmsk) return false; // Okami, result != 0x30d + //if (resultA == 0x3a6a && (result == 0x300 || result == 0x500) && ZeroGS::vb[i].zbuf.zmsk) return false; // Okami, result != 0x30d -// if ((resultA == 0x300b) && (result == 0x300) && ZeroGS::vb[i].zbuf.zmsk) return false; // ATF, but no Melty Blood + //if ((resultA == 0x300b) && (result == 0x300) && ZeroGS::vb[i].zbuf.zmsk) return false; // ATF, but no Melty Blood // Old code return (!(conf.settings().xenosaga_spec) || !ZeroGS::vb[i].zbuf.zmsk || prim->iip) ; diff --git a/plugins/zzogl-pg/opengl/ZZoglCRTC.cpp b/plugins/zzogl-pg/opengl/ZZoglCRTC.cpp index 31b8d2be8f..9ff971c9ca 100644 --- a/plugins/zzogl-pg/opengl/ZZoglCRTC.cpp +++ b/plugins/zzogl-pg/opengl/ZZoglCRTC.cpp @@ -742,7 +742,7 @@ inline void AfterRendererUnimportantJob() AfterRenderCountStatistics(); - if (s_nNewWidth >= 0 && s_nNewHeight >= 0/* && !g_bIsLost*/) + if (s_nNewWidth >= 0 && s_nNewHeight >= 0) AfterRendererResizeWindow(); maxmin = 608; @@ -830,7 +830,7 @@ int count = 0; // The main renderer function void ZeroGS::RenderCRTC(int interlace) { - if (/*g_bIsLost || */FrameSkippingHelper()) return; + if (FrameSkippingHelper()) return; u32 bInterlace = SMODE2->INT && SMODE2->FFMD && (conf.interlace < 2); @@ -847,7 +847,15 @@ void ZeroGS::RenderCRTC(int interlace) tex0Info& texframe = dispinfo[i]; if (texframe.th <= 1) continue; - if (SMODE2->INT && SMODE2->FFMD) texframe.th >>= 1; + if (SMODE2->INT && SMODE2->FFMD) + { + texframe.th >>= 1; + + // Final Fantasy X-2 issue here. + if (conf.interlace == 2 && texframe.th >= 512) + texframe.th >>= 1; + } + if (i == 0) RenderSetupBlending(); if (bUsingStencil) RenderSetupStencil(i); diff --git a/plugins/zzogl-pg/opengl/ZZoglCRTC.h b/plugins/zzogl-pg/opengl/ZZoglCRTC.h index b3edafb7fb..d63a867618 100644 --- a/plugins/zzogl-pg/opengl/ZZoglCRTC.h +++ b/plugins/zzogl-pg/opengl/ZZoglCRTC.h @@ -32,8 +32,6 @@ extern HDC hDC; // Private GDI Device Context extern HGLRC hRC; // Permanent Rendering Context #endif -//extern bool g_bIsLost; - extern int s_frameskipping; extern float fFPS; extern unsigned char zgsrevision, zgsbuild, zgsminor; diff --git a/plugins/zzogl-pg/opengl/ZZoglCreate.cpp b/plugins/zzogl-pg/opengl/ZZoglCreate.cpp index 4bee7e4dde..1c679b3930 100644 --- a/plugins/zzogl-pg/opengl/ZZoglCreate.cpp +++ b/plugins/zzogl-pg/opengl/ZZoglCreate.cpp @@ -616,65 +616,86 @@ bool ZeroGS::Create(int _width, int _height) // create the blocks texture g_fBlockMult = 1; + bool do_not_use_billinear = false; vector vBlockData, vBilinearData; - BLOCK::FillBlocks(vBlockData, vBilinearData, 1); glGenTextures(1, &ptexBlocks); glBindTexture(GL_TEXTURE_2D, ptexBlocks); - g_internalFloatFmt = GL_ALPHA_FLOAT32_ATI; - g_internalRGBAFloatFmt = GL_RGBA_FLOAT32_ATI; - g_internalRGBAFloat16Fmt = GL_RGBA_FLOAT16_ATI; - - Texture2D(g_internalFloatFmt, GL_ALPHA, GL_FLOAT, &vBlockData[0]); + g_internalFloatFmt = GL_RGBA32F; // This is OpenGL 3.0 standard format, so it should be implemented in new cards. + g_internalRGBAFloatFmt = GL_RGBA32F; + g_internalRGBAFloat16Fmt = GL_RGBA16F; - if (glGetError() != GL_NO_ERROR) + glTexImage2D(GL_TEXTURE_2D, 0, g_internalFloatFmt, BLOCK_TEXWIDTH, BLOCK_TEXHEIGHT, 0, GL_ALPHA, GL_FLOAT, &vBlockData[0]); + + if (glGetError() != GL_NO_ERROR) { // try different internal format - g_internalFloatFmt = GL_FLOAT_R32_NV; - Texture2D(g_internalFloatFmt, GL_RED, GL_FLOAT, &vBlockData[0]); + g_internalFloatFmt = GL_ALPHA_FLOAT32_ATI; + glTexImage2D(GL_TEXTURE_2D, 0, g_internalFloatFmt, BLOCK_TEXWIDTH, BLOCK_TEXHEIGHT, 0, GL_ALPHA, GL_FLOAT, &vBlockData[0]); + + if (glGetError() != GL_NO_ERROR) + { + // This case is bad. But for really old cards it could be nice. + + g_fBlockMult = 65535.0f*(float)g_fiGPU_TEXWIDTH ; + BLOCK::FillBlocks(vBlockData, vBilinearData, 0); + g_internalFloatFmt = GL_ALPHA16 ; + // We store block data on u16 rather float numbers. It's not as precise, but ALPHA16 is OpenGL 2.0 standard + // and uses only 16 bit. Old zerogs use red channel, but it does not work. + + glTexImage2D(GL_TEXTURE_2D, 0, g_internalFloatFmt, BLOCK_TEXWIDTH, BLOCK_TEXHEIGHT, 0, GL_ALPHA, GL_UNSIGNED_SHORT, &vBlockData[0]); + if (glGetError() != GL_NO_ERROR) + { + ZZLog::Error_Log("Could not fill blocks."); + return false; + } + do_not_use_billinear = true; + ZZLog::Debug_Log("Using non-bilinear fill, quallity is outdated!"); + } + else + ZZLog::Debug_Log("Use ATI_texture_float for blockdata."); } + else + ZZLog::Debug_Log("Use GL_RGBA32F for blockdata."); + setTex2DFilters(GL_NEAREST); setTex2DWrap(GL_REPEAT); - if (glGetError() != GL_NO_ERROR) + if (!do_not_use_billinear) { - // error, resort to 16bit - g_fBlockMult = 65535.0f * (float)g_fiGPU_TEXWIDTH / 32.0f; - - BLOCK::FillBlocks(vBlockData, vBilinearData, 0); - Texture2D(2, GL_R, GL_UNSIGNED_SHORT, &vBlockData[0]); - - if (glGetError() != GL_NO_ERROR) - { - ZZLog::Error_Log("Could not fill blocks."); - return false; - } - - ZZLog::GS_Log("Using non-bilinear fill."); - } - else - { - // fill in the bilinear blocks + // fill in the bilinear blocks (main variant). glGenTextures(1, &ptexBilinearBlocks); glBindTexture(GL_TEXTURE_2D, ptexBilinearBlocks); - Texture2D(g_internalRGBAFloatFmt, GL_RGBA, GL_FLOAT, &vBilinearData[0]); + glTexImage2D(GL_TEXTURE_2D, 0, g_internalRGBAFloatFmt, BLOCK_TEXWIDTH, BLOCK_TEXHEIGHT, 0, GL_RGBA, GL_FLOAT, &vBilinearData[0]); - if (glGetError() != GL_NO_ERROR) + if (glGetError() != GL_NO_ERROR) { - g_internalRGBAFloatFmt = GL_FLOAT_RGBA32_NV; - g_internalRGBAFloat16Fmt = GL_FLOAT_RGBA16_NV; - Texture2D(g_internalRGBAFloatFmt, GL_RGBA, GL_FLOAT, &vBilinearData[0]); - ZZLog::Debug_Log("ZZogl Fill bilinear blocks. "); - B_G(glGetError() == GL_NO_ERROR, return false); + g_internalRGBAFloatFmt = GL_RGBA_FLOAT32_ATI; + g_internalRGBAFloat16Fmt = GL_RGBA_FLOAT16_ATI; + glTexImage2D(GL_TEXTURE_2D, 0, g_internalRGBAFloatFmt, BLOCK_TEXWIDTH, BLOCK_TEXHEIGHT, 0, GL_RGBA, GL_FLOAT, &vBilinearData[0]); + + if (glGetError() != GL_NO_ERROR) + { + g_internalRGBAFloatFmt = GL_FLOAT_RGBA32_NV; + g_internalRGBAFloat16Fmt = GL_FLOAT_RGBA16_NV; + glTexImage2D(GL_TEXTURE_2D, 0, g_internalRGBAFloatFmt, BLOCK_TEXWIDTH, BLOCK_TEXHEIGHT, 0, GL_RGBA, GL_FLOAT, &vBilinearData[0]); + + if (glGetError() != GL_NO_ERROR) + { + ZZLog::Error_Log("Fill bilinear blocks failed!"); + return false; + } + else + ZZLog::Debug_Log("Fill bilinear blocks with NVidia_float."); + } + else + ZZLog::Debug_Log("Fill bilinear blocks with ATI_texture_float."); } else - { - // No, they failed on the first clause of the if statement, not the second. - //ZZLog::Error_Log("Fill bilinear blocks failed!"); - } + ZZLog::Debug_Log("Fill bilinear blocks OK.!"); setTex2DFilters(GL_NEAREST); setTex2DWrap(GL_REPEAT); diff --git a/plugins/zzogl-pg/opengl/ZZoglFlush.cpp b/plugins/zzogl-pg/opengl/ZZoglFlush.cpp index 446eebaf25..78167af0bd 100644 --- a/plugins/zzogl-pg/opengl/ZZoglFlush.cpp +++ b/plugins/zzogl-pg/opengl/ZZoglFlush.cpp @@ -117,7 +117,6 @@ void Draw(const VB& curvb) //------------------ variables -//extern bool g_bIsLost; extern int g_nDepthBias; extern float g_fBlockMult; bool g_bUpdateStencil = 1; @@ -376,7 +375,7 @@ inline void FlushUpdateEffect() // Check, maybe we cold skip flush inline bool IsFlushNoNeed(VB& curvb, const pixTest& curtest) { - if (curvb.nCount == 0 || (curtest.zte && curtest.ztst == 0) /*|| g_bIsLost*/) + if (curvb.nCount == 0 || (curtest.zte && curtest.ztst == 0)) { curvb.nCount = 0; return true; diff --git a/plugins/zzogl-pg/opengl/targets.cpp b/plugins/zzogl-pg/opengl/targets.cpp index 74b0cd593b..151046f7f2 100644 --- a/plugins/zzogl-pg/opengl/targets.cpp +++ b/plugins/zzogl-pg/opengl/targets.cpp @@ -33,7 +33,6 @@ using namespace ZeroGS; extern int g_TransferredToGPU; -//extern bool g_bIsLost; extern bool g_bUpdateStencil; #if !defined(ZEROGS_DEVBUILD) diff --git a/plugins/zzogl-pg/opengl/zerogs.cpp b/plugins/zzogl-pg/opengl/zerogs.cpp index d1b588798e..27831a58df 100644 --- a/plugins/zzogl-pg/opengl/zerogs.cpp +++ b/plugins/zzogl-pg/opengl/zerogs.cpp @@ -48,10 +48,6 @@ extern int g_nFrame, g_nRealFrame; //extern int s_nFullscreen; //-------------------------- Variables -// Context is lost -- could not draw. -// Setting this variable to true is also lost. Fixme. -//bool g_bIsLost = false; - primInfo *prim; CGprogram g_vsprog = 0, g_psprog = 0; // 2 -- ZZ @@ -484,8 +480,6 @@ void ZeroGS::Prim() { FUNCLOG -// if (g_bIsLost) return; - VB& curvb = vb[prim->ctxt]; if (curvb.CheckPrim()) Flush(prim->ctxt); @@ -579,21 +573,6 @@ void ZeroGS::RenderCustom(float fAlpha) GL_REPORT_ERROR(); } -void ZeroGS::Restore() -{ - FUNCLOG - return; - /*if (!g_bIsLost) return; - - //if( SUCCEEDED(pd3dDevice->Reset(&d3dpp)) ) { - g_bIsLost = false; - - // handle lost states - ZeroGS::ChangeDeviceSize(nBackbufferWidth, nBackbufferHeight);*/ - - //} -} - ////////////////////////// // Internal Definitions // ////////////////////////// @@ -848,18 +827,15 @@ void ZeroGS::SetFogColor(u32 fog) ZeroGS::FlushBoth(); - //if (!g_bIsLost) - //{ - SetShaderCaller("SetFogColor"); - Vector v; + SetShaderCaller("SetFogColor"); + Vector v; - // set it immediately -// v.x = (gs.fogcol & 0xff) / 255.0f; -// v.y = ((gs.fogcol >> 8) & 0xff) / 255.0f; -// v.z = ((gs.fogcol >> 16) & 0xff) / 255.0f; - v.SetColor(gs.fogcol); - ZZcgSetParameter4fv(g_fparamFogColor, v, "g_fParamFogColor"); - //} + // set it immediately +// v.x = (gs.fogcol & 0xff) / 255.0f; +// v.y = ((gs.fogcol >> 8) & 0xff) / 255.0f; +// v.z = ((gs.fogcol >> 16) & 0xff) / 255.0f; + v.SetColor(gs.fogcol); + ZZcgSetParameter4fv(g_fparamFogColor, v, "g_fParamFogColor"); // } } @@ -1116,8 +1092,6 @@ void ZeroGS::texClutWrite(int ctx) FUNCLOG s_bTexFlush = false; - //if (g_bIsLost) return; - tex0Info& tex0 = vb[ctx].tex0; assert(PSMT_ISCLUT(tex0.psm)); diff --git a/plugins/zzogl-pg/opengl/zerogs.h b/plugins/zzogl-pg/opengl/zerogs.h index 708f5c8450..14f3297e33 100644 --- a/plugins/zzogl-pg/opengl/zerogs.h +++ b/plugins/zzogl-pg/opengl/zerogs.h @@ -470,7 +470,6 @@ inline bool Create_Window(int _width, int _height); bool Create(int width, int height); void Destroy(bool bD3D); -void Restore(); // call to restore device void Reset(); // call to destroy video resources void GSStateReset(); void GSReset(); From d183232e69837fde090945557f5bc73c69c5d6cf Mon Sep 17 00:00:00 2001 From: "gregory.hainaut@gmail.com" Date: Sun, 22 Aug 2010 10:22:07 +0000 Subject: [PATCH 12/12] zzogl: Limit texture supported to 8k git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3678 96395faa-99c1-11dd-bbfe-3dabce05a288 --- plugins/zzogl-pg/opengl/ZZoglCreate.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/plugins/zzogl-pg/opengl/ZZoglCreate.cpp b/plugins/zzogl-pg/opengl/ZZoglCreate.cpp index 1c679b3930..571fdd442b 100644 --- a/plugins/zzogl-pg/opengl/ZZoglCreate.cpp +++ b/plugins/zzogl-pg/opengl/ZZoglCreate.cpp @@ -497,6 +497,10 @@ bool ZeroGS::Create(int _width, int _height) // check the max texture width and height glGetIntegerv(GL_MAX_TEXTURE_SIZE, &g_MaxTexWidth); + // Limit the texture size supported to 8192. We do not need bigger texture. + // Besides the following assertion is false when texture are too big. + // ZZoglFlush.cpp:2349: assert(fblockstride >= 1.0f) + g_MaxTexWidth = min(8192, g_MaxTexWidth); g_MaxTexHeight = g_MaxTexWidth / 4; GPU_TEXWIDTH = g_MaxTexWidth / 8;