fixed unitialized glide functions.

- rigged up color combiners
- rigged up texture buffer (hwfbe)
- rigged up wrapper settings
This commit is contained in:
mudlord 2013-04-27 19:17:15 +10:00
parent ca90b950bf
commit ba4610be61
10 changed files with 310 additions and 357 deletions

View File

@ -1,72 +1,43 @@
 
Microsoft Visual Studio Solution File, Format Version 10.00 Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2008 # Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Common", "Source\Common\Common.vcproj", "{B4A4B994-9111-42B1-93C2-6F1CA8BC4421}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Project64", "Source\Project64\Project64.vcproj", "{7E534C8E-1ACE-4A88-8807-39A11ED4DA18}"
ProjectSection(ProjectDependencies) = postProject
{731BD205-2826-4631-B7AF-117658E88DBC} = {731BD205-2826-4631-B7AF-117658E88DBC}
{3326E128-33AF-422C-BB7C-67CC6B915610} = {3326E128-33AF-422C-BB7C-67CC6B915610}
{B4A4B994-9111-42B1-93C2-6F1CA8BC4421} = {B4A4B994-9111-42B1-93C2-6F1CA8BC4421}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RSP", "Source\RSP\RSP.vcproj", "{A7ED562C-63F3-4B7E-B6B3-2CF7848752E1}"
ProjectSection(ProjectDependencies) = postProject
{B4A4B994-9111-42B1-93C2-6F1CA8BC4421} = {B4A4B994-9111-42B1-93C2-6F1CA8BC4421}
{8B9961B1-88D9-4EA3-A752-507A00DD9F3D} = {8B9961B1-88D9-4EA3-A752-507A00DD9F3D}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Settings", "Source\Settings\Settings.vcproj", "{8B9961B1-88D9-4EA3-A752-507A00DD9F3D}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "7zip", "Source\3rd Party\7zip\7zip.vcproj", "{3326E128-33AF-422C-BB7C-67CC6B915610}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WTL", "Source\3rd Party\WTL\WTL.vcproj", "{4BC6906B-213E-40D7-9FC7-1A93E228393D}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "Source\3rd Party\zlib\zlib.vcproj", "{731BD205-2826-4631-B7AF-117658E88DBC}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Project64Setup", "Source\Installer\Installer.vcproj", "{360A34F3-3172-4B09-8BC9-B3FBEE677863}"
ProjectSection(ProjectDependencies) = postProject
{7E534C8E-1ACE-4A88-8807-39A11ED4DA18} = {7E534C8E-1ACE-4A88-8807-39A11ED4DA18}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Glide64", "Source\Glide64\Glide64.vcproj", "{A4D13408-A794-4199-8FC7-4A9A32505005}"
ProjectSection(ProjectDependencies) = postProject
{462C2608-182F-452C-944F-AF201E19300B} = {462C2608-182F-452C-944F-AF201E19300B}
{05B9CB11-12D1-47CD-8E4A-88E12162119B} = {05B9CB11-12D1-47CD-8E4A-88E12162119B}
{93447136-FACD-4740-8F35-FC46FB4A9E82} = {93447136-FACD-4740-8F35-FC46FB4A9E82}
{25A25249-C284-4C5A-8DC2-26FC3EB13703} = {25A25249-C284-4C5A-8DC2-26FC3EB13703}
{B4A4B994-9111-42B1-93C2-6F1CA8BC4421} = {B4A4B994-9111-42B1-93C2-6F1CA8BC4421}
{2DADDAA5-0F57-46ED-A974-747908DDC7F3} = {2DADDAA5-0F57-46ED-A974-747908DDC7F3}
{8B9961B1-88D9-4EA3-A752-507A00DD9F3D} = {8B9961B1-88D9-4EA3-A752-507A00DD9F3D}
{427F1DCD-3BED-4010-9322-077A4C06D871} = {427F1DCD-3BED-4010-9322-077A4C06D871}
{93CFEDF3-9A75-4484-B169-D9D8074F5AC2} = {93CFEDF3-9A75-4484-B169-D9D8074F5AC2}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core", "Source\3rd Party\wx\wx_core.vcproj", "{93447136-FACD-4740-8F35-FC46FB4A9E82}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "3rd Party", "3rd Party", "{AA8F7F8E-5377-4911-859D-8A8817B0DB26}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "3rd Party", "3rd Party", "{AA8F7F8E-5377-4911-859D-8A8817B0DB26}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "wxWidgets", "wxWidgets", "{1379F817-7E3D-4F58-9C22-7E364E46E842}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "wxWidgets", "wxWidgets", "{1379F817-7E3D-4F58-9C22-7E364E46E842}"
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "base", "Source\3rd Party\wx\wx_base.vcproj", "{427F1DCD-3BED-4010-9322-077A4C06D871}"
ProjectSection(ProjectDependencies) = postProject
{93447136-FACD-4740-8F35-FC46FB4A9E82} = {93447136-FACD-4740-8F35-FC46FB4A9E82}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxjpeg", "Source\3rd Party\wx\wx_wxjpeg.vcproj", "{93CFEDF3-9A75-4484-B169-D9D8074F5AC2}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxpng", "Source\3rd Party\wx\wx_wxpng.vcproj", "{05B9CB11-12D1-47CD-8E4A-88E12162119B}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxzlib", "Source\3rd Party\wx\wx_wxzlib.vcproj", "{25A25249-C284-4C5A-8DC2-26FC3EB13703}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Glitch64", "Source\Glitch64\Glitch64.vcproj", "{462C2608-182F-452C-944F-AF201E19300B}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Glide", "Glide", "{9FE699A5-41C3-4441-92AB-639B3D77DE26}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Glide", "Glide", "{9FE699A5-41C3-4441-92AB-639B3D77DE26}"
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GlideHQ", "Source\GlideHQ\GlideHQ.vcproj", "{2DADDAA5-0F57-46ED-A974-747908DDC7F3}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Common", "Source\Common\Common.vcxproj", "{B4A4B994-9111-42B1-93C2-6F1CA8BC4421}"
ProjectSection(ProjectDependencies) = postProject EndProject
{B4A4B994-9111-42B1-93C2-6F1CA8BC4421} = {B4A4B994-9111-42B1-93C2-6F1CA8BC4421} Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Project64", "Source\Project64\Project64.vcxproj", "{7E534C8E-1ACE-4A88-8807-39A11ED4DA18}"
EndProjectSection EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RSP", "Source\RSP\RSP.vcxproj", "{A7ED562C-63F3-4B7E-B6B3-2CF7848752E1}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Settings", "Source\Settings\Settings.vcxproj", "{8B9961B1-88D9-4EA3-A752-507A00DD9F3D}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "7zip", "Source\3rd Party\7zip\7zip.vcxproj", "{3326E128-33AF-422C-BB7C-67CC6B915610}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WTL", "Source\3rd Party\WTL\WTL.vcxproj", "{4BC6906B-213E-40D7-9FC7-1A93E228393D}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "Source\3rd Party\zlib\zlib.vcxproj", "{731BD205-2826-4631-B7AF-117658E88DBC}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Project64Setup", "Source\Installer\Installer.vcxproj", "{360A34F3-3172-4B09-8BC9-B3FBEE677863}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Glide64", "Source\Glide64\Glide64.vcxproj", "{A4D13408-A794-4199-8FC7-4A9A32505005}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core", "Source\3rd Party\wx\wx_core.vcxproj", "{93447136-FACD-4740-8F35-FC46FB4A9E82}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "base", "Source\3rd Party\wx\wx_base.vcxproj", "{427F1DCD-3BED-4010-9322-077A4C06D871}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxjpeg", "Source\3rd Party\wx\wx_wxjpeg.vcxproj", "{93CFEDF3-9A75-4484-B169-D9D8074F5AC2}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxpng", "Source\3rd Party\wx\wx_wxpng.vcxproj", "{05B9CB11-12D1-47CD-8E4A-88E12162119B}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxzlib", "Source\3rd Party\wx\wx_wxzlib.vcxproj", "{25A25249-C284-4C5A-8DC2-26FC3EB13703}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Glitch64", "Source\Glitch64\Glitch64.vcxproj", "{462C2608-182F-452C-944F-AF201E19300B}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GlideHQ", "Source\GlideHQ\GlideHQ.vcxproj", "{2DADDAA5-0F57-46ED-A974-747908DDC7F3}"
EndProject EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -174,17 +145,17 @@ Global
HideSolutionNode = FALSE HideSolutionNode = FALSE
EndGlobalSection EndGlobalSection
GlobalSection(NestedProjects) = preSolution GlobalSection(NestedProjects) = preSolution
{4BC6906B-213E-40D7-9FC7-1A93E228393D} = {AA8F7F8E-5377-4911-859D-8A8817B0DB26}
{731BD205-2826-4631-B7AF-117658E88DBC} = {AA8F7F8E-5377-4911-859D-8A8817B0DB26}
{1379F817-7E3D-4F58-9C22-7E364E46E842} = {AA8F7F8E-5377-4911-859D-8A8817B0DB26} {1379F817-7E3D-4F58-9C22-7E364E46E842} = {AA8F7F8E-5377-4911-859D-8A8817B0DB26}
{3326E128-33AF-422C-BB7C-67CC6B915610} = {AA8F7F8E-5377-4911-859D-8A8817B0DB26} {3326E128-33AF-422C-BB7C-67CC6B915610} = {AA8F7F8E-5377-4911-859D-8A8817B0DB26}
{462C2608-182F-452C-944F-AF201E19300B} = {9FE699A5-41C3-4441-92AB-639B3D77DE26} {4BC6906B-213E-40D7-9FC7-1A93E228393D} = {AA8F7F8E-5377-4911-859D-8A8817B0DB26}
{A4D13408-A794-4199-8FC7-4A9A32505005} = {9FE699A5-41C3-4441-92AB-639B3D77DE26} {731BD205-2826-4631-B7AF-117658E88DBC} = {AA8F7F8E-5377-4911-859D-8A8817B0DB26}
{2DADDAA5-0F57-46ED-A974-747908DDC7F3} = {9FE699A5-41C3-4441-92AB-639B3D77DE26}
{93447136-FACD-4740-8F35-FC46FB4A9E82} = {1379F817-7E3D-4F58-9C22-7E364E46E842} {93447136-FACD-4740-8F35-FC46FB4A9E82} = {1379F817-7E3D-4F58-9C22-7E364E46E842}
{427F1DCD-3BED-4010-9322-077A4C06D871} = {1379F817-7E3D-4F58-9C22-7E364E46E842} {427F1DCD-3BED-4010-9322-077A4C06D871} = {1379F817-7E3D-4F58-9C22-7E364E46E842}
{93CFEDF3-9A75-4484-B169-D9D8074F5AC2} = {1379F817-7E3D-4F58-9C22-7E364E46E842} {93CFEDF3-9A75-4484-B169-D9D8074F5AC2} = {1379F817-7E3D-4F58-9C22-7E364E46E842}
{05B9CB11-12D1-47CD-8E4A-88E12162119B} = {1379F817-7E3D-4F58-9C22-7E364E46E842} {05B9CB11-12D1-47CD-8E4A-88E12162119B} = {1379F817-7E3D-4F58-9C22-7E364E46E842}
{25A25249-C284-4C5A-8DC2-26FC3EB13703} = {1379F817-7E3D-4F58-9C22-7E364E46E842} {25A25249-C284-4C5A-8DC2-26FC3EB13703} = {1379F817-7E3D-4F58-9C22-7E364E46E842}
{A4D13408-A794-4199-8FC7-4A9A32505005} = {9FE699A5-41C3-4441-92AB-639B3D77DE26}
{462C2608-182F-452C-944F-AF201E19300B} = {9FE699A5-41C3-4441-92AB-639B3D77DE26}
{2DADDAA5-0F57-46ED-A974-747908DDC7F3} = {9FE699A5-41C3-4441-92AB-639B3D77DE26}
EndGlobalSection EndGlobalSection
EndGlobal EndGlobal

View File

@ -14,7 +14,7 @@
#define _WX_RCDEFS_H #define _WX_RCDEFS_H
#define WX_MSC_FULL_VER 150030729 #define WX_MSC_FULL_VER 160040219

View File

@ -24,7 +24,7 @@
// Project started on December 29th, 2001 // Project started on December 29th, 2001
// //
// Authors: // Authors:
// Dave2001, original author, founded the project in 2001, left it in 2002 // Dave2001, original author, founded the project in 2001, left it in 2002ini
// Gugaman, joined the project in 2002, left it in 2002 // Gugaman, joined the project in 2002, left it in 2002
// Sergey 'Gonetz' Lipski, joined the project in 2002, main author since fall of 2002 // Sergey 'Gonetz' Lipski, joined the project in 2002, main author since fall of 2002
// Hiroshi 'KoolSmoky' Morii, joined the project in 2007 // Hiroshi 'KoolSmoky' Morii, joined the project in 2007
@ -15982,15 +15982,15 @@ void InitCombine ()
if (!strncmp(extstr, "COMBINE", 7)) { if (!strncmp(extstr, "COMBINE", 7)) {
LOG ("extensions "); LOG ("extensions ");
char strColorCombineExt[] = "grColorCombineExt"; char strColorCombineExt[] = "grColorCombineExt";
cmb.grColorCombineExt = (GRCOLORCOMBINEEXT) grGetProcAddress(strColorCombineExt); cmb.grColorCombineExt = (GRCOLORCOMBINEEXT) grColorCombineExt;
char strAlphaCombineExt[] = "grAlphaCombineExt"; char strAlphaCombineExt[] = "grAlphaCombineExt";
cmb.grAlphaCombineExt = (GRCOLORCOMBINEEXT) grGetProcAddress(strAlphaCombineExt); cmb.grAlphaCombineExt = (GRCOLORCOMBINEEXT)grAlphaCombineExt;
char strTexColorCombineExt[] = "grTexColorCombineExt"; char strTexColorCombineExt[] = "grTexColorCombineExt";
cmb.grTexColorCombineExt = (GRTEXCOLORCOMBINEEXT) grGetProcAddress(strTexColorCombineExt); cmb.grTexColorCombineExt = (GRTEXCOLORCOMBINEEXT)grTexColorCombineExt ;
char strTexAlphaCombineExt[] = "grTexAlphaCombineExt"; char strTexAlphaCombineExt[] = "grTexAlphaCombineExt";
cmb.grTexAlphaCombineExt = (GRTEXCOLORCOMBINEEXT) grGetProcAddress(strTexAlphaCombineExt); cmb.grTexAlphaCombineExt = (GRTEXCOLORCOMBINEEXT) grTexAlphaCombineExt ;
char strConstantColorValueExt[] = "grConstantColorValueExt"; char strConstantColorValueExt[] = "grConstantColorValueExt";
cmb.grConstantColorValueExt = (GRCONSTANTCOLORVALUEEXT) grGetProcAddress(strConstantColorValueExt); cmb.grConstantColorValueExt = (GRCONSTANTCOLORVALUEEXT) grConstantColorValueExt;
if (cmb.grColorCombineExt && cmb.grAlphaCombineExt && if (cmb.grColorCombineExt && cmb.grAlphaCombineExt &&
cmb.grTexColorCombineExt && cmb.grTexAlphaCombineExt) cmb.grTexColorCombineExt && cmb.grTexAlphaCombineExt)
{ {

View File

@ -455,14 +455,6 @@ void ConfigNotebook::set_properties()
cbxVRAM->SetToolTip(_("Autodetect VRAM Size:\nSince OpenGL cannot do this reliably at the moment, the option to set this manually is available.\nIf checked, plugin will try to autodetect VRAM size.\nBut if this appears wrong, please uncheck and set it to correct value.\n[Recommended: on]")); cbxVRAM->SetToolTip(_("Autodetect VRAM Size:\nSince OpenGL cannot do this reliably at the moment, the option to set this manually is available.\nIf checked, plugin will try to autodetect VRAM size.\nBut if this appears wrong, please uncheck and set it to correct value.\n[Recommended: on]"));
spinVRAM->SetMinSize(wxSize(55, 21)); spinVRAM->SetMinSize(wxSize(55, 21));
cbxFBO->SetToolTip(_("Use frame buffer objects:\nChanges the way FB effects are rendered - with or without usage of the OpenGL Frame Buffer Objects (FBO) extension.\nThe choice depends on game and your video card. FBO off is good for NVIDIA cards, while for ATI cards, it's usually best that FBOs are turned on.\nAlso, some FB effects works only with one of the methods, no matter, which card you have.\nOn the whole, with FBO off, compatibility/ accuracy is a bit better (which is the case for Resident Evil 2).\nHowever, with FBO on with some systems, it can actually be a bit faster in cases.\n[Recommended: video card and game dependant]")); cbxFBO->SetToolTip(_("Use frame buffer objects:\nChanges the way FB effects are rendered - with or without usage of the OpenGL Frame Buffer Objects (FBO) extension.\nThe choice depends on game and your video card. FBO off is good for NVIDIA cards, while for ATI cards, it's usually best that FBOs are turned on.\nAlso, some FB effects works only with one of the methods, no matter, which card you have.\nOn the whole, with FBO off, compatibility/ accuracy is a bit better (which is the case for Resident Evil 2).\nHowever, with FBO on with some systems, it can actually be a bit faster in cases.\n[Recommended: video card and game dependant]"));
char strConfigWrapperExt[] = "grConfigWrapperExt";
GRCONFIGWRAPPEREXT grConfigWrapperExt = (GRCONFIGWRAPPEREXT)grGetProcAddress(strConfigWrapperExt);
if (grConfigWrapperExt)
{
char strQueryResolutionsExt[] = "grQueryResolutionsExt";
GRQUERYRESOLUTIONSEXT grQueryResolutionsExt = (GRQUERYRESOLUTIONSEXT)grGetProcAddress(strQueryResolutionsExt);
if (grQueryResolutionsExt)
{
FxI32 size = 0; FxI32 size = 0;
char ** aRes = grQueryResolutionsExt(&size); char ** aRes = grQueryResolutionsExt(&size);
if (aRes && size) if (aRes && size)
@ -473,7 +465,6 @@ void ConfigNotebook::set_properties()
} }
cmbFSResolution->SetSelection(settings.wrpResolution < size ? settings.wrpResolution : 0); cmbFSResolution->SetSelection(settings.wrpResolution < size ? settings.wrpResolution : 0);
} }
}
#ifdef __WINDOWS__ #ifdef __WINDOWS__
cbxVRAM->SetValue(settings.wrpVRAM == 0); cbxVRAM->SetValue(settings.wrpVRAM == 0);
if (cbxVRAM->GetValue()) if (cbxVRAM->GetValue())
@ -491,20 +482,7 @@ void ConfigNotebook::set_properties()
#endif #endif
cbxFBO->SetValue(settings.wrpFBO > 0); cbxFBO->SetValue(settings.wrpFBO > 0);
cbxAnisotropic->SetValue(settings.wrpAnisotropic > 0); cbxAnisotropic->SetValue(settings.wrpAnisotropic > 0);
}
else
{
WrapperSizer_staticbox->Disable();
WrapperFBOptionsSizer_staticbox->Disable();
lblFSResolution->Disable();
cmbFSResolution->Disable();
cbxAnisotropic->Disable();
cbxVRAM->Disable();
lblVRAM->Disable();
spinVRAM->Disable();
lblMb->Disable();
cbxFBO->Disable();
}
//emulation settings panel //emulation settings panel
if (settings.advanced_options) if (settings.advanced_options)

View File

@ -390,24 +390,7 @@ extern GFX_INFO gfx;
extern wxWindow * GFXWindow; extern wxWindow * GFXWindow;
extern bool no_dlist; extern bool no_dlist;
typedef GrContext_t (FX_CALL *GRWINOPENEXT)( FxU32 hWnd,
GrScreenResolution_t resolution,
GrScreenRefresh_t refresh,
GrColorFormat_t format,
GrOriginLocation_t origin,
GrPixelFormat_t pixelformat,
int nColBuffers,
int nAuxBuffers) ;
typedef void (FX_CALL *GRTEXBUFFEREXT)( GrChipID_t tmu,
FxU32 startAddress,
GrLOD_t lodmin,
GrLOD_t lodmax,
GrAspectRatio_t aspect,
GrTextureFormat_t fmt,
FxU32 evenOdd) ;
typedef void (FX_CALL *GRAUXBUFFEREXT)( GrBuffer_t buffer ) ;
typedef void (FX_CALL *GRCOLORCOMBINEEXT) (GrCCUColor_t a, typedef void (FX_CALL *GRCOLORCOMBINEEXT) (GrCCUColor_t a,
GrCombineMode_t a_mode, GrCombineMode_t a_mode,
@ -438,17 +421,9 @@ typedef void (FX_CALL *GRCONSTANTCOLORVALUEEXT)
typedef void (FX_CALL *GRSTIPPLE)( FxI32 mode) ; typedef void (FX_CALL *GRSTIPPLE)( FxI32 mode) ;
typedef void (FX_CALL *GRCONFIGWRAPPEREXT)(FxI32, FxI32, FxBool, FxBool);
typedef GrScreenResolution_t (FX_CALL *GRWRAPPERFULLSCREENRESOLUTIONEXT)(wxUint32*, wxUint32*);
typedef char ** (FX_CALL *GRQUERYRESOLUTIONSEXT)(FxI32*);
typedef int (*GETTEXADDR)(int tmu, int texsize); typedef int (*GETTEXADDR)(int tmu, int texsize);
extern GRTEXBUFFEREXT grTextureBufferExt;
extern GRTEXBUFFEREXT grTextureAuxBufferExt;
extern GRAUXBUFFEREXT grAuxBufferExt;
extern GRSTIPPLE grStippleModeExt; extern GRSTIPPLE grStippleModeExt;
extern GRSTIPPLE grStipplePatternExt; extern GRSTIPPLE grStipplePatternExt;
extern GETTEXADDR GetTexAddr; extern GETTEXADDR GetTexAddr;

View File

@ -43,3 +43,74 @@ typedef FxU32 GrCombineMode_t;
#define GR_LOD_LOG2_512 0x9 #define GR_LOD_LOG2_512 0x9
#define GR_TEXTURE_UMA_EXT 0x06 #define GR_TEXTURE_UMA_EXT 0x06
//wrapper specific
FX_ENTRY void FX_CALL grConfigWrapperExt(FxI32, FxI32, FxBool, FxBool);
FX_ENTRY GrScreenResolution_t FX_CALL grWrapperFullScreenResolutionExt(FxU32*, FxU32*);
FX_ENTRY char ** FX_CALL grQueryResolutionsExt(FxI32*);
FX_ENTRY FxBool FX_CALL grKeyPressedExt(FxU32 key);
FX_ENTRY void FX_CALL grGetGammaTableExt(FxU32, FxU32*, FxU32*, FxU32*);
FX_ENTRY GrContext_t FX_CALL
grSstWinOpenExt(
FxU32 hWnd,
GrScreenResolution_t screen_resolution,
GrScreenRefresh_t refresh_rate,
GrColorFormat_t color_format,
GrOriginLocation_t origin_location,
GrPixelFormat_t pixelformat,
int nColBuffers,
int nAuxBuffers);
//color combiner
FX_ENTRY void FX_CALL
grColorCombineExt(GrCCUColor_t a, GrCombineMode_t a_mode,
GrCCUColor_t b, GrCombineMode_t b_mode,
GrCCUColor_t c, FxBool c_invert,
GrCCUColor_t d, FxBool d_invert,
FxU32 shift, FxBool invert);
FX_ENTRY void FX_CALL
grAlphaCombineExt(GrACUColor_t a, GrCombineMode_t a_mode,
GrACUColor_t b, GrCombineMode_t b_mode,
GrACUColor_t c, FxBool c_invert,
GrACUColor_t d, FxBool d_invert,
FxU32 shift, FxBool invert);
FX_ENTRY void FX_CALL
grTexColorCombineExt(GrChipID_t tmu,
GrTCCUColor_t a, GrCombineMode_t a_mode,
GrTCCUColor_t b, GrCombineMode_t b_mode,
GrTCCUColor_t c, FxBool c_invert,
GrTCCUColor_t d, FxBool d_invert,
FxU32 shift, FxBool invert);
FX_ENTRY void FX_CALL
grTexAlphaCombineExt(GrChipID_t tmu,
GrTACUColor_t a, GrCombineMode_t a_mode,
GrTACUColor_t b, GrCombineMode_t b_mode,
GrTACUColor_t c, FxBool c_invert,
GrTACUColor_t d, FxBool d_invert,
FxU32 shift, FxBool invert);
FX_ENTRY void FX_CALL
grConstantColorValueExt(GrChipID_t tmu,
GrColor_t value);
//texture buffer
FX_ENTRY void FX_CALL grTextureBufferExt( GrChipID_t tmu,
FxU32 startAddress,
GrLOD_t lodmin,
GrLOD_t lodmax,
GrAspectRatio_t aspect,
GrTextureFormat_t fmt,
FxU32 evenOdd);
FX_ENTRY void FX_CALL
grTextureAuxBufferExt( GrChipID_t tmu,
FxU32 startAddress,
GrLOD_t thisLOD,
GrLOD_t largeLOD,
GrAspectRatio_t aspectRatio,
GrTextureFormat_t format,
FxU32 odd_even_mask );
FX_ENTRY void FX_CALL grAuxBufferExt( GrBuffer_t buffer );

View File

@ -316,9 +316,6 @@ void ChangeSize ()
void ConfigWrapper() void ConfigWrapper()
{ {
char strConfigWrapperExt[] = "grConfigWrapperExt";
GRCONFIGWRAPPEREXT grConfigWrapperExt = (GRCONFIGWRAPPEREXT)grGetProcAddress(strConfigWrapperExt);
if (grConfigWrapperExt)
grConfigWrapperExt(settings.wrpResolution, settings.wrpVRAM * 1024 * 1024, settings.wrpFBO, settings.wrpAnisotropic); grConfigWrapperExt(settings.wrpResolution, settings.wrpVRAM * 1024 * 1024, settings.wrpFBO, settings.wrpAnisotropic);
} }
@ -638,9 +635,6 @@ void WriteSettings (bool saveEmulationSettings)
FlushSettings(); FlushSettings();
} }
GRTEXBUFFEREXT grTextureBufferExt = NULL;
GRTEXBUFFEREXT grTextureAuxBufferExt = NULL;
GRAUXBUFFEREXT grAuxBufferExt = NULL;
GRSTIPPLE grStippleModeExt = NULL; GRSTIPPLE grStippleModeExt = NULL;
GRSTIPPLE grStipplePatternExt = NULL; GRSTIPPLE grStipplePatternExt = NULL;
FxBool (FX_CALL *grKeyPressed)(FxU32) = NULL; FxBool (FX_CALL *grKeyPressed)(FxU32) = NULL;
@ -879,29 +873,19 @@ int InitGfx ()
//*/ //*/
wxUint32 res_data = settings.res_data; wxUint32 res_data = settings.res_data;
char strWrapperFullScreenResolutionExt[] = "grWrapperFullScreenResolutionExt";
if (ev_fullscreen) if (ev_fullscreen)
{ {
GRWRAPPERFULLSCREENRESOLUTIONEXT grWrapperFullScreenResolutionExt =
(GRWRAPPERFULLSCREENRESOLUTIONEXT)grGetProcAddress(strWrapperFullScreenResolutionExt);
if (grWrapperFullScreenResolutionExt) {
wxUint32 _width, _height = 0; wxUint32 _width, _height = 0;
settings.res_data = grWrapperFullScreenResolutionExt(&_width, &_height); settings.res_data = grWrapperFullScreenResolutionExt((FxU32*)&_width, (FxU32*)&_height);
settings.scr_res_x = settings.res_x = _width; settings.scr_res_x = settings.res_x = _width;
settings.scr_res_y = settings.res_y = _height; settings.scr_res_y = settings.res_y = _height;
}
res_data = settings.res_data; res_data = settings.res_data;
} }
else if (evoodoo) else if (evoodoo)
{
GRWRAPPERFULLSCREENRESOLUTIONEXT grWrapperFullScreenResolutionExt =
(GRWRAPPERFULLSCREENRESOLUTIONEXT)grGetProcAddress(strWrapperFullScreenResolutionExt);
if (grWrapperFullScreenResolutionExt != NULL)
{ {
settings.res_data = settings.res_data_org; settings.res_data = settings.res_data_org;
settings.scr_res_x = settings.res_x = resolutions[settings.res_data][0]; settings.scr_res_x = settings.res_x = resolutions[settings.res_data][0];
settings.scr_res_y = settings.res_y = resolutions[settings.res_data][1]; settings.scr_res_y = settings.res_y = resolutions[settings.res_data][1];
}
res_data = settings.res_data | 0x80000000; res_data = settings.res_data | 0x80000000;
} }
@ -909,11 +893,8 @@ int InitGfx ()
// Select the window // Select the window
if (fb_hwfbe_enabled) /*if (fb_hwfbe_enabled)
{ {
char strSstWinOpenExt[] ="grSstWinOpenExt";
GRWINOPENEXT grSstWinOpenExt = (GRWINOPENEXT)grGetProcAddress(strSstWinOpenExt);
if (grSstWinOpenExt)
gfx_context = grSstWinOpenExt (wxPtrToUInt(gfx.hWnd), gfx_context = grSstWinOpenExt (wxPtrToUInt(gfx.hWnd),
res_data, res_data,
GR_REFRESH_60Hz, GR_REFRESH_60Hz,
@ -922,7 +903,7 @@ int InitGfx ()
fb_emulation_enabled?GR_PIXFMT_RGB_565:GR_PIXFMT_ARGB_8888, //32b color is not compatible with fb emulation fb_emulation_enabled?GR_PIXFMT_RGB_565:GR_PIXFMT_ARGB_8888, //32b color is not compatible with fb emulation
2, // Double-buffering 2, // Double-buffering
1); // 1 auxillary buffer 1); // 1 auxillary buffer
} }*/
if (!gfx_context) if (!gfx_context)
gfx_context = grSstWinOpen (wxPtrToUInt(gfx.hWnd), gfx_context = grSstWinOpen (wxPtrToUInt(gfx.hWnd),
res_data, res_data,
@ -988,26 +969,6 @@ int InitGfx ()
if (strstr(extensions, "GETGAMMA")) if (strstr(extensions, "GETGAMMA"))
grGet(GR_GAMMA_TABLE_ENTRIES, sizeof(voodoo.gamma_table_size), &voodoo.gamma_table_size); grGet(GR_GAMMA_TABLE_ENTRIES, sizeof(voodoo.gamma_table_size), &voodoo.gamma_table_size);
if (fb_hwfbe_enabled)
{
if (char * extstr = (char*)strstr(extensions, "TEXTUREBUFFER"))
{
if (!strncmp(extstr, "TEXTUREBUFFER", 13))
{
char strTextureBufferExt[] = "grTextureBufferExt";
grTextureBufferExt = (GRTEXBUFFEREXT) grGetProcAddress(strTextureBufferExt);
char strTextureAuxBufferExt[] = "grTextureAuxBufferExt";
grTextureAuxBufferExt = (GRTEXBUFFEREXT) grGetProcAddress(strTextureAuxBufferExt);
char strAuxBufferExt[] = "grAuxBufferExt";
grAuxBufferExt = (GRAUXBUFFEREXT) grGetProcAddress(strAuxBufferExt);
}
}
else
settings.frame_buffer &= ~fb_hwfbe;
}
else
grTextureBufferExt = 0;
grStippleModeExt = (GRSTIPPLE)grStippleMode; grStippleModeExt = (GRSTIPPLE)grStippleMode;
grStipplePatternExt = (GRSTIPPLE)grStipplePattern; grStipplePatternExt = (GRSTIPPLE)grStipplePattern;
@ -1572,9 +1533,6 @@ int CALL InitiateGFX (GFX_INFO Gfx_Info)
if (fb_depth_render_enabled) if (fb_depth_render_enabled)
ZLUT_init(); ZLUT_init();
char strConfigWrapperExt[] = "grConfigWrapperExt";
GRCONFIGWRAPPEREXT grConfigWrapperExt = (GRCONFIGWRAPPEREXT)grGetProcAddress(strConfigWrapperExt);
if (grConfigWrapperExt)
grConfigWrapperExt(settings.wrpResolution, settings.wrpVRAM * 1024 * 1024, settings.wrpFBO, settings.wrpAnisotropic); grConfigWrapperExt(settings.wrpResolution, settings.wrpVRAM * 1024 * 1024, settings.wrpFBO, settings.wrpAnisotropic);
grGlideInit (); grGlideInit ();

View File

@ -604,7 +604,7 @@ grSstWinOpenExt(
GrScreenRefresh_t refresh_rate, GrScreenRefresh_t refresh_rate,
GrColorFormat_t color_format, GrColorFormat_t color_format,
GrOriginLocation_t origin_location, GrOriginLocation_t origin_location,
GrPixelFormat_t /*pixelformat*/, GrPixelFormat_t pixelformat,
int nColBuffers, int nColBuffers,
int nAuxBuffers) int nAuxBuffers)
{ {