diff --git a/3rdparty/SDL-1.3.0-5387/SDL-1.3/SDL-1.3.cbp b/3rdparty/SDL-1.3.0-5387/SDL-1.3/SDL-1.3.cbp
index 4236634a6a..a96c26f382 100644
--- a/3rdparty/SDL-1.3.0-5387/SDL-1.3/SDL-1.3.cbp
+++ b/3rdparty/SDL-1.3.0-5387/SDL-1.3/SDL-1.3.cbp
@@ -7,7 +7,7 @@
-
+
@@ -18,7 +18,7 @@
-
+
@@ -659,6 +659,7 @@
+
diff --git a/3rdparty/SDL-1.3.0-5387/include/SDL_config.h b/3rdparty/SDL-1.3.0-5387/include/SDL_config.h
index 3b504520a4..a4c9bb8441 100644
--- a/3rdparty/SDL-1.3.0-5387/include/SDL_config.h
+++ b/3rdparty/SDL-1.3.0-5387/include/SDL_config.h
@@ -1,3 +1,4 @@
+/* include/SDL_config.h. Generated from SDL_config.h.in by configure. */
/*
SDL - Simple DirectMedia Layer
Copyright (C) 1997-2011 Sam Lantinga
@@ -23,27 +24,274 @@
#ifndef _SDL_config_h
#define _SDL_config_h
+/**
+ * \file SDL_config.h.in
+ *
+ * This is a set of defines to configure the SDL features
+ */
+
+/* General platform specific identifiers */
#include "SDL_platform.h"
-/**
- * \file SDL_config.h
- *
- * SDL_config.h for any platform that doesn't build using the configure system.
- */
-
-/* Add any platform that doesn't build using the configure system. */
-#if defined(__WIN32__)
-#include "SDL_config_windows.h"
-#elif defined(__MACOSX__)
-#include "SDL_config_macosx.h"
-#elif defined(__IPHONEOS__)
-#include "SDL_config_iphoneos.h"
-#elif defined(__ANDROID__)
-#include "SDL_config_android.h"
-#elif defined(__NINTENDODS__)
-#include "SDL_config_nintendods.h"
+/* Make sure that this isn't included by Visual C++ */
+#ifdef _MSC_VER
+#error You should copy include/SDL_config.h.default to include/SDL_config.h
+#endif
+
+/* C language features */
+/* #undef const */
+/* #undef inline */
+/* #undef volatile */
+
+/* C datatypes */
+#if !defined(_STDINT_H_) && (!defined(HAVE_STDINT_H) || !_HAVE_STDINT_H)
+/* #undef size_t */
+/* #undef int8_t */
+/* #undef uint8_t */
+/* #undef int16_t */
+/* #undef uint16_t */
+/* #undef int32_t */
+/* #undef uint32_t */
+/* #undef int64_t */
+/* #undef uint64_t */
+/* #undef uintptr_t */
+#endif /* !_STDINT_H_ && !HAVE_STDINT_H */
+
+#define SIZEOF_VOIDP 4
+#define SDL_HAS_64BIT_TYPE 1
+#define HAVE_GCC_ATOMICS 1
+/* #undef HAVE_GCC_SYNC_LOCK_TEST_AND_SET */
+
+/* Comment this if you want to build without any C library requirements */
+#define HAVE_LIBC 1
+#if HAVE_LIBC
+
+/* Useful headers */
+#define HAVE_ALLOCA_H 1
+#define HAVE_SYS_TYPES_H 1
+#define HAVE_STDIO_H 1
+#define STDC_HEADERS 1
+#define HAVE_STDLIB_H 1
+#define HAVE_STDARG_H 1
+#define HAVE_MALLOC_H 1
+#define HAVE_MEMORY_H 1
+#define HAVE_STRING_H 1
+#define HAVE_STRINGS_H 1
+#define HAVE_INTTYPES_H 1
+#define HAVE_STDINT_H 1
+#define HAVE_CTYPE_H 1
+#define HAVE_MATH_H 1
+#define HAVE_ICONV_H 1
+#define HAVE_SIGNAL_H 1
+
+/* C library functions */
+#define HAVE_MALLOC 1
+#define HAVE_CALLOC 1
+#define HAVE_REALLOC 1
+#define HAVE_FREE 1
+#define HAVE_ALLOCA 1
+#ifndef __WIN32__ /* Don't use C runtime versions of these on Windows */
+#define HAVE_GETENV 1
+#define HAVE_SETENV 1
+#define HAVE_PUTENV 1
+#define HAVE_UNSETENV 1
+#endif
+#define HAVE_QSORT 1
+#define HAVE_ABS 1
+#define HAVE_BCOPY 1
+#define HAVE_MEMSET 1
+#define HAVE_MEMCPY 1
+#define HAVE_MEMMOVE 1
+#define HAVE_MEMCMP 1
+#define HAVE_STRLEN 1
+/* #undef HAVE_STRLCPY */
+/* #undef HAVE_STRLCAT */
+#define HAVE_STRDUP 1
+/* #undef HAVE__STRREV */
+/* #undef HAVE__STRUPR */
+/* #undef HAVE__STRLWR */
+/* #undef HAVE_INDEX */
+/* #undef HAVE_RINDEX */
+#define HAVE_STRCHR 1
+#define HAVE_STRRCHR 1
+#define HAVE_STRSTR 1
+/* #undef HAVE_ITOA */
+/* #undef HAVE__LTOA */
+/* #undef HAVE__UITOA */
+/* #undef HAVE__ULTOA */
+#define HAVE_STRTOL 1
+#define HAVE_STRTOUL 1
+/* #undef HAVE__I64TOA */
+/* #undef HAVE__UI64TOA */
+#define HAVE_STRTOLL 1
+#define HAVE_STRTOULL 1
+#define HAVE_STRTOD 1
+#define HAVE_ATOI 1
+#define HAVE_ATOF 1
+#define HAVE_STRCMP 1
+#define HAVE_STRNCMP 1
+/* #undef HAVE__STRICMP */
+#define HAVE_STRCASECMP 1
+/* #undef HAVE__STRNICMP */
+#define HAVE_STRNCASECMP 1
+#define HAVE_SSCANF 1
+#define HAVE_SNPRINTF 1
+#define HAVE_VSNPRINTF 1
+#define HAVE_M_PI
+#define HAVE_ATAN 1
+#define HAVE_ATAN2 1
+#define HAVE_CEIL 1
+#define HAVE_COPYSIGN 1
+#define HAVE_COS 1
+#define HAVE_COSF 1
+#define HAVE_FABS 1
+#define HAVE_FLOOR 1
+#define HAVE_LOG 1
+#define HAVE_POW 1
+#define HAVE_SCALBN 1
+#define HAVE_SIN 1
+#define HAVE_SINF 1
+#define HAVE_SQRT 1
+#define HAVE_SIGACTION 1
+#define HAVE_SETJMP 1
+#define HAVE_NANOSLEEP 1
+#define HAVE_SYSCONF 1
+/* #undef HAVE_SYSCTLBYNAME */
+/* #undef HAVE_CLOCK_GETTIME */
+/* #undef HAVE_GETPAGESIZE */
+#define HAVE_MPROTECT 1
+#define HAVE_ICONV 1
+
#else
-#include "SDL_config_minimal.h"
-#endif /* platform config */
+/* We may need some replacement for stdarg.h here */
+#include
+#endif /* HAVE_LIBC */
+
+/* SDL internal assertion support */
+/* #undef SDL_DEFAULT_ASSERT_LEVEL */
+
+/* Allow disabling of core subsystems */
+/* #undef SDL_ATOMIC_DISABLED */
+#define SDL_AUDIO_DISABLED 1
+/* #undef SDL_AUDIO_DISABLED */
+/* #undef SDL_CPUINFO_DISABLED */
+/* #undef SDL_EVENTS_DISABLED */
+/* #undef SDL_FILE_DISABLED */
+/* #undef SDL_JOYSTICK_DISABLED */
+/* #undef SDL_HAPTIC_DISABLED */
+/* #undef SDL_LOADSO_DISABLED */
+/* #undef SDL_RENDER_DISABLED */
+/* #undef SDL_THREADS_DISABLED */
+/* #undef SDL_TIMERS_DISABLED */
+/* #undef SDL_VIDEO_DISABLED */
+/* #undef SDL_POWER_DISABLED */
+
+/* Enable various audio drivers */
+/* #undef SDL_AUDIO_DRIVER_ARTS */
+/* #undef SDL_AUDIO_DRIVER_ARTS_DYNAMIC */
+/* #undef SDL_AUDIO_DRIVER_BEOSAUDIO */
+/* #undef SDL_AUDIO_DRIVER_BSD */
+/* #undef SDL_AUDIO_DRIVER_COREAUDIO */
+/* #undef SDL_AUDIO_DRIVER_DMEDIA */
+/* #undef SDL_AUDIO_DRIVER_DSOUND */
+/* #undef SDL_AUDIO_DRIVER_MMEAUDIO */
+/* #undef SDL_AUDIO_DRIVER_NDS */
+/* #undef SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H */
+/* #undef SDL_AUDIO_DRIVER_PAUDIO */
+/* #undef SDL_AUDIO_DRIVER_QSA */
+/* #undef SDL_AUDIO_DRIVER_SUNAUDIO */
+/* #undef SDL_AUDIO_DRIVER_WINWAVEOUT */
+/* #undef SDL_AUDIO_DRIVER_FUSIONSOUND */
+/* #undef SDL_AUDIO_DRIVER_FUSIONSOUND_DYNAMIC */
+
+/* Enable various input drivers */
+#define SDL_INPUT_LINUXEV 1
+/* #undef SDL_INPUT_TSLIB */
+/* #undef SDL_JOYSTICK_BEOS */
+/* #undef SDL_JOYSTICK_DINPUT */
+/* #undef SDL_JOYSTICK_DUMMY */
+/* #undef SDL_JOYSTICK_IOKIT */
+#define SDL_JOYSTICK_LINUX 1
+/* #undef SDL_JOYSTICK_NDS */
+/* #undef SDL_JOYSTICK_WINMM */
+/* #undef SDL_JOYSTICK_USBHID */
+/* #undef SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H */
+/* #undef SDL_HAPTIC_DUMMY */
+#define SDL_HAPTIC_LINUX 1
+/* #undef SDL_HAPTIC_IOKIT */
+/* #undef SDL_HAPTIC_DINPUT */
+
+/* Enable various shared object loading systems */
+/* #undef SDL_LOADSO_BEOS */
+/* #undef SDL_LOADSO_DLCOMPAT */
+#define SDL_LOADSO_DLOPEN 1
+/* #undef SDL_LOADSO_DUMMY */
+/* #undef SDL_LOADSO_LDG */
+/* #undef SDL_LOADSO_WINDOWS */
+
+/* Enable various threading systems */
+/* #undef SDL_THREAD_BEOS */
+/* #undef SDL_THREAD_NDS */
+#define SDL_THREAD_PTHREAD 1
+#define SDL_THREAD_PTHREAD_RECURSIVE_MUTEX 1
+/* #undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP */
+/* #undef SDL_THREAD_SPROC */
+/* #undef SDL_THREAD_WINDOWS */
+
+/* Enable various timer systems */
+/* #undef SDL_TIMER_BEOS */
+/* #undef SDL_TIMER_DUMMY */
+/* #undef SDL_TIMER_NDS */
+#define SDL_TIMER_UNIX 1
+/* #undef SDL_TIMER_WINDOWS */
+/* #undef SDL_TIMER_WINCE */
+
+/* Enable various video drivers */
+/* #undef SDL_VIDEO_DRIVER_BWINDOW */
+/* #undef SDL_VIDEO_DRIVER_COCOA */
+/* #undef SDL_VIDEO_DRIVER_DIRECTFB */
+/* #undef SDL_VIDEO_DRIVER_DIRECTFB_DYNAMIC */
+#define SDL_VIDEO_DRIVER_DUMMY 1
+/* #undef SDL_VIDEO_DRIVER_NDS */
+/* #undef SDL_VIDEO_DRIVER_WINDOWS */
+#define SDL_VIDEO_DRIVER_X11 1
+#define SDL_VIDEO_DRIVER_X11_DYNAMIC "libX11.so.6"
+#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT "libXext.so.6"
+#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR "libXrandr.so.2"
+#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XINPUT "libXi.so.6"
+/* #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XSS */
+#define SDL_VIDEO_DRIVER_X11_VIDMODE 1
+#define SDL_VIDEO_DRIVER_X11_XINERAMA 1
+#define SDL_VIDEO_DRIVER_X11_XRANDR 1
+#define SDL_VIDEO_DRIVER_X11_XINPUT 1
+/* #undef SDL_VIDEO_DRIVER_X11_SCRNSAVER */
+#define SDL_VIDEO_DRIVER_X11_XV 1
+#define SDL_VIDEO_DRIVER_X11_XSHAPE 1
+
+/* #undef SDL_VIDEO_RENDER_D3D */
+#define SDL_VIDEO_RENDER_OGL 1
+/* #undef SDL_VIDEO_RENDER_OGL_ES */
+/* #undef SDL_VIDEO_RENDER_DIRECTFB */
+
+/* Enable OpenGL support */
+#define SDL_VIDEO_OPENGL 1
+/* #undef SDL_VIDEO_OPENGL_ES */
+/* #undef SDL_VIDEO_OPENGL_BGL */
+/* #undef SDL_VIDEO_OPENGL_CGL */
+#define SDL_VIDEO_OPENGL_GLX 1
+/* #undef SDL_VIDEO_OPENGL_WGL */
+/* #undef SDL_VIDEO_OPENGL_OSMESA */
+/* #undef SDL_VIDEO_OPENGL_OSMESA_DYNAMIC */
+
+/* Enable system power support */
+#define SDL_POWER_LINUX 1
+/* #undef SDL_POWER_WINDOWS */
+/* #undef SDL_POWER_MACOSX */
+/* #undef SDL_POWER_BEOS */
+/* #undef SDL_POWER_NINTENDODS */
+/* #undef SDL_POWER_HARDWIRED */
+
+/* Enable assembly routines */
+#define SDL_ASSEMBLY_ROUTINES 1
#endif /* _SDL_config_h */
diff --git a/plugins/GSdx/GSDevice.cpp b/plugins/GSdx/GSDevice.cpp
index a6ebf7c076..c5264373cd 100644
--- a/plugins/GSdx/GSDevice.cpp
+++ b/plugins/GSdx/GSDevice.cpp
@@ -110,7 +110,7 @@ void GSDevice::Present(GSTexture* st, GSTexture* dt, const GSVector4& dr, int sh
StretchRect(st, dt, dr, shader);
}
-GSTexture* GSDevice::Fetch(int type, int w, int h, bool msaa, int format)
+GSTexture* GSDevice::FetchSurface(int type, int w, int h, bool msaa, int format)
{
GSVector2i size(w, h);
@@ -126,7 +126,7 @@ GSTexture* GSDevice::Fetch(int type, int w, int h, bool msaa, int format)
}
}
- return Create(type, w, h, msaa, format);
+ return CreateSurface(type, w, h, msaa, format);
}
void GSDevice::EndScene()
@@ -168,22 +168,22 @@ void GSDevice::AgePool()
GSTexture* GSDevice::CreateRenderTarget(int w, int h, bool msaa, int format)
{
- return Fetch(GSTexture::RenderTarget, w, h, msaa, format);
+ return FetchSurface(GSTexture::RenderTarget, w, h, msaa, format);
}
GSTexture* GSDevice::CreateDepthStencil(int w, int h, bool msaa, int format)
{
- return Fetch(GSTexture::DepthStencil, w, h, msaa, format);
+ return FetchSurface(GSTexture::DepthStencil, w, h, msaa, format);
}
GSTexture* GSDevice::CreateTexture(int w, int h, int format)
{
- return Fetch(GSTexture::Texture, w, h, false, format);
+ return FetchSurface(GSTexture::Texture, w, h, false, format);
}
GSTexture* GSDevice::CreateOffscreen(int w, int h, int format)
{
- return Fetch(GSTexture::Offscreen, w, h, false, format);
+ return FetchSurface(GSTexture::Offscreen, w, h, false, format);
}
void GSDevice::StretchRect(GSTexture* st, GSTexture* dt, const GSVector4& dr, int shader, bool linear)
diff --git a/plugins/GSdx/GSDevice.h b/plugins/GSdx/GSDevice.h
index a9e0147a2a..3a24edc9fd 100644
--- a/plugins/GSdx/GSDevice.h
+++ b/plugins/GSdx/GSDevice.h
@@ -65,8 +65,8 @@ protected:
struct {size_t stride, start, count, limit;} m_vertices;
unsigned int m_frame; // for ageing the pool
- virtual GSTexture* Create(int type, int w, int h, bool msaa, int format) = 0;
- virtual GSTexture* Fetch(int type, int w, int h, bool msaa, int format);
+ virtual GSTexture* CreateSurface(int type, int w, int h, bool msaa, int format) = 0;
+ virtual GSTexture* FetchSurface(int type, int w, int h, bool msaa, int format);
virtual void DoMerge(GSTexture* st[2], GSVector4* sr, GSTexture* dt, GSVector4* dr, bool slbg, bool mmod, const GSVector4& c) = 0;
virtual void DoInterlace(GSTexture* st, GSTexture* dt, int shader, bool linear, float yoffset) = 0;
@@ -107,10 +107,10 @@ public:
virtual GSTexture* CopyOffscreen(GSTexture* src, const GSVector4& sr, int w, int h, int format = 0) {return NULL;}
virtual void CopyRect(GSTexture* st, GSTexture* dt, const GSVector4i& r) {}
-
- virtual void StretchRect(GSTexture* st, GSTexture* dt, const GSVector4& dr, int shader = 0, bool linear = true);
virtual void StretchRect(GSTexture* st, const GSVector4& sr, GSTexture* dt, const GSVector4& dr, int shader = 0, bool linear = true) {}
+ void StretchRect(GSTexture* st, GSTexture* dt, const GSVector4& dr, int shader = 0, bool linear = true);
+
virtual void PSSetShaderResources(GSTexture* sr0, GSTexture* sr1) {}
virtual void PSSetShaderResource(int i, GSTexture* sr) {}
virtual void OMSetRenderTargets(GSTexture* rt, GSTexture* ds, const GSVector4i* scissor = NULL) {}
diff --git a/plugins/GSdx/GSDevice11.cpp b/plugins/GSdx/GSDevice11.cpp
index a9ed0e3811..abffeef89d 100644
--- a/plugins/GSdx/GSDevice11.cpp
+++ b/plugins/GSdx/GSDevice11.cpp
@@ -292,7 +292,7 @@ bool GSDevice11::Reset(int w, int h)
if(m_swapchain)
{
DXGI_SWAP_CHAIN_DESC scd;
-
+
memset(&scd, 0, sizeof(scd));
m_swapchain->GetDesc(&scd);
@@ -365,7 +365,7 @@ void GSDevice11::ClearStencil(GSTexture* t, uint8 c)
m_ctx->ClearDepthStencilView(*(GSTexture11*)t, D3D11_CLEAR_STENCIL, 0, c);
}
-GSTexture* GSDevice11::Create(int type, int w, int h, bool msaa, int format)
+GSTexture* GSDevice11::CreateSurface(int type, int w, int h, bool msaa, int format)
{
HRESULT hr;
@@ -795,7 +795,7 @@ void GSDevice11::PSSetShaderResource(int i, GSTexture* sr)
if(sr) srv = *(GSTexture11*)sr;
- if(m_state.ps_srv[i] != srv)
+ if(m_state.ps_srv[i] != srv)
{
m_state.ps_srv[i] = srv;
@@ -827,14 +827,14 @@ void GSDevice11::PSSetShader(ID3D11PixelShader* ps, ID3D11Buffer* ps_cb)
if (m_srv_changed)
{
m_ctx->PSSetShaderResources(0, 3, m_state.ps_srv);
-
+
m_srv_changed = false;
}
- if(m_ss_changed)
+ if(m_ss_changed)
{
m_ctx->PSSetSamplers(0, 3, m_state.ps_ss);
-
+
m_ss_changed = false;
}
@@ -996,7 +996,7 @@ HRESULT GSDevice11::CompileShader(uint32 id, const string& entry, D3D11_SHADER_M
CComPtr shader, error;
hr = D3DX11CompileFromResource(theApp.GetModuleHandle(), MAKEINTRESOURCE(id), NULL, &m[0], NULL, entry.c_str(), m_shader.ps.c_str(), 0, 0, NULL, &shader, &error, NULL);
-
+
if(error)
{
printf("%s\n", (const char*)error->GetBufferPointer());
diff --git a/plugins/GSdx/GSDevice11.h b/plugins/GSdx/GSDevice11.h
index 8bbfabf4a7..f57c8c37d1 100644
--- a/plugins/GSdx/GSDevice11.h
+++ b/plugins/GSdx/GSDevice11.h
@@ -32,7 +32,7 @@ struct GSVertexShader11
class GSDevice11 : public GSDeviceDX
{
- GSTexture* Create(int type, int w, int h, bool msaa, int format);
+ GSTexture* CreateSurface(int type, int w, int h, bool msaa, int format);
void DoMerge(GSTexture* st[2], GSVector4* sr, GSTexture* dt, GSVector4* dr, bool slbg, bool mmod, const GSVector4& c);
void DoInterlace(GSTexture* st, GSTexture* dt, int shader, bool linear, float yoffset = 0);
diff --git a/plugins/GSdx/GSDevice9.cpp b/plugins/GSdx/GSDevice9.cpp
index f866d9c27e..2bb7bfbfb9 100644
--- a/plugins/GSdx/GSDevice9.cpp
+++ b/plugins/GSdx/GSDevice9.cpp
@@ -95,10 +95,10 @@ static D3DFORMAT BestD3dFormat(IDirect3D9* d3d, int msaaCount = 0, DXGI_SAMPLE_D
{
// In descending order of preference
- static D3DFORMAT fmts[] =
+ static D3DFORMAT fmts[] =
{
- D3DFMT_D32,
- D3DFMT_D32F_LOCKABLE,
+ D3DFMT_D32,
+ D3DFMT_D32F_LOCKABLE,
D3DFMT_D24S8
};
@@ -125,7 +125,7 @@ uint32 GSDevice9::GetMaxDepth(uint32 msaa = 0)
switch(BestD3dFormat(d3d, msaa))
{
- case D3DFMT_D32:
+ case D3DFMT_D32:
case D3DFMT_D32F_LOCKABLE:
return 32;
case D3DFMT_D24S8:
@@ -157,18 +157,18 @@ bool GSDevice9::Create(GSWnd* wnd)
if(!m_d3d) return false;
ForceValidMsaaConfig();
-
+
// Get best format/depth for msaa. Assumption is that if the resulting depth is 24 instead of possible 32,
// the user was already warned when she selected it. (Lower res z buffer without warning is unacceptable).
-
+
m_depth_format = BestD3dFormat(m_d3d, m_msaa, &m_msaa_desc);
-
+
if(D3DFMT_UNKNOWN == m_depth_format)
{
// can't find a format with requested msaa, try without.
-
+
m_depth_format = BestD3dFormat(m_d3d, 0);
-
+
if(D3DFMT_UNKNOWN == m_depth_format)
{
return false;
@@ -566,7 +566,7 @@ void GSDevice9::ClearStencil(GSTexture* t, uint8 c)
m_dev->SetDepthStencilSurface(dssurface);
}
-GSTexture* GSDevice9::Create(int type, int w, int h, bool msaa, int format)
+GSTexture* GSDevice9::CreateSurface(int type, int w, int h, bool msaa, int format)
{
HRESULT hr;
@@ -967,10 +967,10 @@ void GSDevice9::PSSetShaderResource(int i, GSTexture* sr)
if(sr) srv = *(GSTexture9*)sr;
- if(m_state.ps_srvs[i] != srv)
+ if(m_state.ps_srvs[i] != srv)
{
m_state.ps_srvs[i] = srv;
-
+
m_dev->SetTexture(i, srv);
}
}
diff --git a/plugins/GSdx/GSDevice9.h b/plugins/GSdx/GSDevice9.h
index f3aad0bc77..6d5bd02a78 100644
--- a/plugins/GSdx/GSDevice9.h
+++ b/plugins/GSdx/GSDevice9.h
@@ -67,7 +67,7 @@ struct GSVertexShader9
class GSDevice9 : public GSDeviceDX
{
- GSTexture* Create(int type, int w, int h, bool msaa, int format);
+ GSTexture* CreateSurface(int type, int w, int h, bool msaa, int format);
void DoMerge(GSTexture* st[2], GSVector4* sr, GSTexture* dt, GSVector4* dr, bool slbg, bool mmod, const GSVector4& c);
void DoInterlace(GSTexture* st, GSTexture* dt, int shader, bool linear, float yoffset = 0);
diff --git a/plugins/GSdx/GSDeviceDX.cpp b/plugins/GSdx/GSDeviceDX.cpp
index 79fbd61c29..eaafa92dcc 100644
--- a/plugins/GSdx/GSDeviceDX.cpp
+++ b/plugins/GSdx/GSDeviceDX.cpp
@@ -35,14 +35,14 @@ GSDeviceDX::~GSDeviceDX()
{
}
-GSTexture* GSDeviceDX::Fetch(int type, int w, int h, bool msaa, int format)
+GSTexture* GSDeviceDX::FetchSurface(int type, int w, int h, bool msaa, int format)
{
if(m_msaa < 2)
{
msaa = false;
}
- return __super::Fetch(type, w, h, msaa, format);
+ return __super::FetchSurface(type, w, h, msaa, format);
}
bool GSDeviceDX::SetFeatureLevel(D3D_FEATURE_LEVEL level, bool compat_mode)
diff --git a/plugins/GSdx/GSDeviceDX.h b/plugins/GSdx/GSDeviceDX.h
index eef844a813..ca56939a06 100644
--- a/plugins/GSdx/GSDeviceDX.h
+++ b/plugins/GSdx/GSDeviceDX.h
@@ -270,7 +270,7 @@ protected:
uint32 m_msaa;
DXGI_SAMPLE_DESC m_msaa_desc;
- GSTexture* Fetch(int type, int w, int h, bool msaa, int format);
+ GSTexture* FetchSurface(int type, int w, int h, bool msaa, int format);
public:
GSDeviceDX();
diff --git a/plugins/GSdx/GSDeviceNull.cpp b/plugins/GSdx/GSDeviceNull.cpp
index 0020b9aa66..ae96b98a37 100644
--- a/plugins/GSdx/GSDeviceNull.cpp
+++ b/plugins/GSdx/GSDeviceNull.cpp
@@ -40,7 +40,7 @@ bool GSDeviceNull::Reset(int w, int h)
return true;
}
-GSTexture* GSDeviceNull::Create(int type, int w, int h, bool msaa, int format)
+GSTexture* GSDeviceNull::CreateSurface(int type, int w, int h, bool msaa, int format)
{
return new GSTextureNull(type, w, h, format);
}
diff --git a/plugins/GSdx/GSDeviceNull.h b/plugins/GSdx/GSDeviceNull.h
index 4ac5f855ee..2936d4d557 100644
--- a/plugins/GSdx/GSDeviceNull.h
+++ b/plugins/GSdx/GSDeviceNull.h
@@ -27,7 +27,7 @@
class GSDeviceNull : public GSDevice
{
private:
- GSTexture* Create(int type, int w, int h, bool msaa, int format);
+ GSTexture* CreateSurface(int type, int w, int h, bool msaa, int format);
void DoMerge(GSTexture* st[2], GSVector4* sr, GSTexture* dt, GSVector4* dr, bool slbg, bool mmod, const GSVector4& c) {}
void DoInterlace(GSTexture* st, GSTexture* dt, int shader, bool linear, float yoffset = 0) {}
diff --git a/plugins/GSdx/GSDeviceSW.cpp b/plugins/GSdx/GSDeviceSW.cpp
index 06e07655e3..418ad3a915 100644
--- a/plugins/GSdx/GSDeviceSW.cpp
+++ b/plugins/GSdx/GSDeviceSW.cpp
@@ -48,7 +48,7 @@ bool GSDeviceSW::Reset(int w, int h)
return true;
}
-GSTexture* GSDeviceSW::Create(int type, int w, int h, bool msaa, int format)
+GSTexture* GSDeviceSW::CreateSurface(int type, int w, int h, bool msaa, int format)
{
if(format != 0) return false; // there is only one format
@@ -80,12 +80,12 @@ void GSDeviceSW::ClearRenderTarget(GSTexture* t, uint32 c)
Clear(t, c);
}
-void GSDeviceSW::ClearDepth(GSTexture* t, float c)
+void GSDeviceSW::ClearDepth(GSTexture* t, float c)
{
Clear(t, *(uint32*)&c);
}
-void GSDeviceSW::ClearStencil(GSTexture* t, uint8 c)
+void GSDeviceSW::ClearStencil(GSTexture* t, uint8 c)
{
Clear(t, c);
}
@@ -245,7 +245,7 @@ template static void StretchRect(GSTexture* st, const GSVector4& s
// TODO: clipping may not be that necessary knowing we don't address outside (except the linear filter +1 pixel)
- GSVector4i uvmax = GSVector4i((ssize.x - 1) << 16, (ssize.y - 1) << 16).xxyy();
+ GSVector4i uvmax = GSVector4i((ssize.x - 1) << 16, (ssize.y - 1) << 16).xxyy();
GSVector4i v = uv;
@@ -258,7 +258,7 @@ template static void StretchRect(GSTexture* st, const GSVector4& s
int v0 = vi.extract16<5>();
int v1 = vi.extract16<7>();
-
+
uint32* RESTRICT src0 = (uint32*)&sm.bits[v0 * sm.pitch];
uint32* RESTRICT src1 = (uint32*)&sm.bits[v1 * sm.pitch];
uint32* RESTRICT dst = (uint32*)dm.bits;
@@ -370,7 +370,7 @@ void GSDeviceSW::DoMerge(GSTexture* st[2], GSVector4* sr, GSTexture* dt, GSVecto
}
else
{
- // alpha = c.a
+ // alpha = c.a
ShaderFactorBlend s((uint32)(int)(c.a * 255));
diff --git a/plugins/GSdx/GSDeviceSW.h b/plugins/GSdx/GSDeviceSW.h
index 192fa43e08..e9038b8faa 100644
--- a/plugins/GSdx/GSDeviceSW.h
+++ b/plugins/GSdx/GSDeviceSW.h
@@ -26,7 +26,7 @@
class GSDeviceSW : public GSDevice
{
- GSTexture* Create(int type, int w, int h, bool msaa, int format);
+ GSTexture* CreateSurface(int type, int w, int h, bool msaa, int format);
void DoMerge(GSTexture* st[2], GSVector4* sr, GSTexture* dt, GSVector4* dr, bool slbg, bool mmod, const GSVector4& c);
void DoInterlace(GSTexture* st, GSTexture* dt, int shader, bool linear, float yoffset = 0);
diff --git a/plugins/GSdx/GSLinuxDialog.cpp b/plugins/GSdx/GSLinuxDialog.cpp
index 8f1f4f1e77..a0e394517a 100644
--- a/plugins/GSdx/GSLinuxDialog.cpp
+++ b/plugins/GSdx/GSLinuxDialog.cpp
@@ -18,163 +18,184 @@
* http://www.gnu.org/copyleft/gpl.html
*
*/
-
+
#include "stdafx.h"
-#include "gtk/gtk.h"
+#include
+#include "GSdx.h"
static void SysMessage(const char *fmt, ...)
{
- va_list list;
- char msg[512];
+ va_list list;
+ char msg[512];
- va_start(list, fmt);
- vsprintf(msg, fmt, list);
- va_end(list);
+ va_start(list, fmt);
+ vsprintf(msg, fmt, list);
+ va_end(list);
- if (msg[strlen(msg)-1] == '\n') msg[strlen(msg)-1] = 0;
+ if (msg[strlen(msg)-1] == '\n') msg[strlen(msg) - 1] = 0;
- GtkWidget *dialog;
- dialog = gtk_message_dialog_new (NULL,
- GTK_DIALOG_DESTROY_WITH_PARENT,
- GTK_MESSAGE_INFO,
- GTK_BUTTONS_OK,
- "%s", msg);
- gtk_dialog_run (GTK_DIALOG (dialog));
- gtk_widget_destroy (dialog);
+ GtkWidget *dialog;
+ dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "%s", msg);
+ gtk_dialog_run (GTK_DIALOG (dialog));
+ gtk_widget_destroy (dialog);
}
bool RunLinuxDialog()
{
- GtkWidget *dialog;
- GtkWidget *main_frame, *main_box;
- GtkWidget *res_label, *res_combo_box;
- GtkWidget *render_label, *render_combo_box;
- GtkWidget *interlace_label, *interlace_combo_box;
- GtkWidget *aspect_label, *aspect_combo_box;
- GtkWidget *texture_check, *log_check, *an_8_bit_check, *alpha_check, *aa_check, *win_check;
- int return_value;
-
- /* Create the widgets */
- dialog = gtk_dialog_new_with_buttons (
+ GtkWidget *dialog;
+ GtkWidget *main_frame, *main_box;
+ GtkWidget *res_label, *res_combo_box;
+ GtkWidget *render_label, *render_combo_box;
+ GtkWidget *interlace_label, *interlace_combo_box;
+ GtkWidget *aspect_label, *aspect_combo_box;
+ GtkWidget *texture_check, *log_check, *an_8_bit_check, *alpha_check, *aa_check, *win_check;
+ int return_value;
+
+ /* Create the widgets */
+ dialog = gtk_dialog_new_with_buttons (
"GSdx Config",
NULL, /* parent window*/
(GtkDialogFlags)(GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT),
GTK_STOCK_OK,
- GTK_RESPONSE_ACCEPT,
+ GTK_RESPONSE_ACCEPT,
GTK_STOCK_CANCEL,
- GTK_RESPONSE_REJECT,
+ GTK_RESPONSE_REJECT,
NULL);
-
- main_box = gtk_vbox_new(false, 5);
- main_frame = gtk_frame_new ("GSdx Config");
- gtk_container_add (GTK_CONTAINER(main_frame), main_box);
-
- res_label = gtk_label_new ("Interpolation:");
- res_combo_box = gtk_combo_box_new_text ();
- gtk_combo_box_append_text(GTK_COMBO_BOX(res_combo_box), "640x480@60");
- gtk_combo_box_append_text(GTK_COMBO_BOX(res_combo_box), "800x600@60");
- gtk_combo_box_append_text(GTK_COMBO_BOX(res_combo_box), "1024x768@60");
- gtk_combo_box_append_text(GTK_COMBO_BOX(res_combo_box), "And a few other values like that.");
-
- // Or whatever the default value is.
- gtk_combo_box_set_active(GTK_COMBO_BOX(res_combo_box), 2);
-
+
+ main_box = gtk_vbox_new(false, 5);
+ main_frame = gtk_frame_new ("GSdx Config");
+ gtk_container_add (GTK_CONTAINER(main_frame), main_box);
+
+ res_label = gtk_label_new ("Interpolation:");
+ res_combo_box = gtk_combo_box_new_text ();
+ gtk_combo_box_append_text(GTK_COMBO_BOX(res_combo_box), "640x480@60");
+ gtk_combo_box_append_text(GTK_COMBO_BOX(res_combo_box), "800x600@60");
+ gtk_combo_box_append_text(GTK_COMBO_BOX(res_combo_box), "1024x768@60");
+ gtk_combo_box_append_text(GTK_COMBO_BOX(res_combo_box), "And a few other values like that.");
+
+ // Or whatever the default value is.
+ gtk_combo_box_set_active(GTK_COMBO_BOX(res_combo_box), 2);
+
gtk_container_add(GTK_CONTAINER(main_box), res_label);
gtk_container_add(GTK_CONTAINER(main_box), res_combo_box);
-
-
- render_label = gtk_label_new ("Renderer:");
- render_combo_box = gtk_combo_box_new_text ();
- gtk_combo_box_append_text(GTK_COMBO_BOX(render_combo_box), "Null Renderer");
-
- gtk_combo_box_set_active(GTK_COMBO_BOX(render_combo_box), 0);
+
+
+ render_label = gtk_label_new ("Renderer:");
+ render_combo_box = gtk_combo_box_new_text ();
+
+ for(size_t i = 6; i < theApp.m_gs_renderers.size(); i++)
+ {
+ const GSSetting& s = theApp.m_gs_renderers[i];
+
+ string label = s.name;
+
+ if(!s.note.empty()) label += format(" (%s)", s.note.c_str());
+
+ gtk_combo_box_append_text(GTK_COMBO_BOX(render_combo_box), label.c_str());
+ }
+
+ gtk_combo_box_set_active(GTK_COMBO_BOX(render_combo_box), 0);
gtk_container_add(GTK_CONTAINER(main_box), render_label);
gtk_container_add(GTK_CONTAINER(main_box), render_combo_box);
-
-
- interlace_label = gtk_label_new ("Interlace:");
- interlace_combo_box = gtk_combo_box_new_text ();
- gtk_combo_box_append_text(GTK_COMBO_BOX(interlace_combo_box), "None");
- gtk_combo_box_append_text(GTK_COMBO_BOX(interlace_combo_box), "Weave tff (sawtooth)");
- gtk_combo_box_append_text(GTK_COMBO_BOX(interlace_combo_box), "Weave bff (sawtooth)");
- gtk_combo_box_append_text(GTK_COMBO_BOX(interlace_combo_box), "Bob tff (use blend if shaking)");
- gtk_combo_box_append_text(GTK_COMBO_BOX(interlace_combo_box), "Bob bff (use blend if shaking)");
- gtk_combo_box_append_text(GTK_COMBO_BOX(interlace_combo_box), "Blend tff (slight blur, 1/2 fps)");
- gtk_combo_box_append_text(GTK_COMBO_BOX(interlace_combo_box), "Blend bff (slight blur, 1/2 fps)");
-
- gtk_combo_box_set_active(GTK_COMBO_BOX(interlace_combo_box), 0);
+
+
+ interlace_label = gtk_label_new ("Interlace:");
+ interlace_combo_box = gtk_combo_box_new_text ();
+
+ for(size_t i = 0; i < theApp.m_gs_interlace.size(); i++)
+ {
+ const GSSetting& s = theApp.m_gs_interlace[i];
+
+ string label = s.name;
+
+ if(!s.note.empty()) label += format(" (%s)", s.note.c_str());
+
+ gtk_combo_box_append_text(GTK_COMBO_BOX(interlace_combo_box), label.c_str());
+ }
+
+ gtk_combo_box_set_active(GTK_COMBO_BOX(interlace_combo_box), 0);
gtk_container_add(GTK_CONTAINER(main_box), interlace_label);
gtk_container_add(GTK_CONTAINER(main_box), interlace_combo_box);
-
- aspect_label = gtk_label_new ("Aspect Ratio:");
- aspect_combo_box = gtk_combo_box_new_text ();
- gtk_combo_box_append_text(GTK_COMBO_BOX(aspect_combo_box), "Stretch");
- gtk_combo_box_append_text(GTK_COMBO_BOX(aspect_combo_box), "4:3");
- gtk_combo_box_append_text(GTK_COMBO_BOX(aspect_combo_box), "16:9");
-
- gtk_combo_box_set_active(GTK_COMBO_BOX(aspect_combo_box), 0);
+
+ aspect_label = gtk_label_new ("Aspect Ratio:");
+ aspect_combo_box = gtk_combo_box_new_text ();
+
+ for(size_t i = 0; i < theApp.m_gs_aspectratio.size(); i++)
+ {
+ const GSSetting& s = theApp.m_gs_aspectratio[i];
+
+ string label = s.name;
+
+ if(!s.note.empty()) label += format(" (%s)", s.note.c_str());
+
+ gtk_combo_box_append_text(GTK_COMBO_BOX(aspect_combo_box), label.c_str());
+ }
+
+ gtk_combo_box_set_active(GTK_COMBO_BOX(aspect_combo_box), 0);
gtk_container_add(GTK_CONTAINER(main_box), aspect_label);
gtk_container_add(GTK_CONTAINER(main_box), aspect_combo_box);
-
-
- texture_check = gtk_check_button_new_with_label("Texture Filtering");
- log_check = gtk_check_button_new_with_label("Logarithmic Z");
- an_8_bit_check = gtk_check_button_new_with_label("Allow 8 bit textures");
- alpha_check = gtk_check_button_new_with_label("Alpha correction (FBA)");
- aa_check = gtk_check_button_new_with_label("Edge anti-aliasing");
- win_check = gtk_check_button_new_with_label("Disable Effects Processing");
-
+
+
+ texture_check = gtk_check_button_new_with_label("Texture Filtering");
+ log_check = gtk_check_button_new_with_label("Logarithmic Z");
+ an_8_bit_check = gtk_check_button_new_with_label("Allow 8 bit textures");
+ alpha_check = gtk_check_button_new_with_label("Alpha correction (FBA)");
+ aa_check = gtk_check_button_new_with_label("Edge anti-aliasing");
+ win_check = gtk_check_button_new_with_label("Disable Effects Processing");
+
gtk_container_add(GTK_CONTAINER(main_box), texture_check);
gtk_container_add(GTK_CONTAINER(main_box), log_check);
gtk_container_add(GTK_CONTAINER(main_box), an_8_bit_check);
gtk_container_add(GTK_CONTAINER(main_box), alpha_check);
gtk_container_add(GTK_CONTAINER(main_box), aa_check);
gtk_container_add(GTK_CONTAINER(main_box), win_check);
-
- // These should be set to their actual values, not false.
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(texture_check), false);
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(log_check), false);
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(an_8_bit_check), false);
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(alpha_check), false);
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(aa_check), false);
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(win_check), false);
-
- gtk_container_add (GTK_CONTAINER(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), main_frame);
- gtk_widget_show_all (dialog);
-
- return_value = gtk_dialog_run (GTK_DIALOG (dialog));
-
- if (return_value == GTK_RESPONSE_ACCEPT)
- {
- // Get all the settings from the dialog box.
-
- #if 0 // I'll put the right variable names in later.
- if (gtk_combo_box_get_active(GTK_COMBO_BOX(res_combo_box)) != -1)
- resolution = gtk_combo_box_get_active(GTK_COMBO_BOX(res_combo_box));
-
- if (gtk_combo_box_get_active(GTK_COMBO_BOX(render_combo_box)) != -1)
- renderer = gtk_combo_box_get_active(GTK_COMBO_BOX(render_combo_box));
-
- if (gtk_combo_box_get_active(GTK_COMBO_BOX(interlace_combo_box)) != -1)
- interlace = gtk_combo_box_get_active(GTK_COMBO_BOX(interlace_combo_box));
-
- if (gtk_combo_box_get_active(GTK_COMBO_BOX(aspect_combo_box)) != -1)
- aspect = gtk_combo_box_get_active(GTK_COMBO_BOX(aspect_combo_box));
-
-
+
+ // These should be set to their actual values, not false.
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(texture_check), false);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(log_check), false);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(an_8_bit_check), false);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(alpha_check), false);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(aa_check), false);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(win_check), false);
+
+ gtk_container_add (GTK_CONTAINER(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), main_frame);
+ gtk_widget_show_all (dialog);
+
+ return_value = gtk_dialog_run (GTK_DIALOG (dialog));
+
+ if (return_value == GTK_RESPONSE_ACCEPT)
+ {
+ // Get all the settings from the dialog box.
+
+ #if 0 // I'll put the right variable names in later.
+ if (gtk_combo_box_get_active(GTK_COMBO_BOX(res_combo_box)) != -1)
+ resolution = gtk_combo_box_get_active(GTK_COMBO_BOX(res_combo_box));
+
+ if (gtk_combo_box_get_active(GTK_COMBO_BOX(render_combo_box)) != -1)
+ renderer = gtk_combo_box_get_active(GTK_COMBO_BOX(render_combo_box));
+
+ if (gtk_combo_box_get_active(GTK_COMBO_BOX(interlace_combo_box)) != -1)
+ interlace = gtk_combo_box_get_active(GTK_COMBO_BOX(interlace_combo_box));
+
+ if (gtk_combo_box_get_active(GTK_COMBO_BOX(aspect_combo_box)) != -1)
+ aspect = gtk_combo_box_get_active(GTK_COMBO_BOX(aspect_combo_box));
+
+
texture = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(texture_check));
log = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(log_check));
8_bit = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(an_8_bit_check));
alpha = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(alpha_check));
aa = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(aa_check));
windowed = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(win_check));
-
+
#endif
-
+
gtk_widget_destroy (dialog);
+
return true;
- }
-
- gtk_widget_destroy (dialog);
+ }
+
+ gtk_widget_destroy (dialog);
+
return false;
}
diff --git a/plugins/GSdx/GSdx.gcc.cbp b/plugins/GSdx/GSdx.gcc.cbp
index dccbfca9eb..d95c0a1721 100644
--- a/plugins/GSdx/GSdx.gcc.cbp
+++ b/plugins/GSdx/GSdx.gcc.cbp
@@ -44,6 +44,7 @@
+
diff --git a/plugins/GSdx/GSdx.icc.cbp b/plugins/GSdx/GSdx.icc.cbp
index b1f629bb50..8258509267 100644
--- a/plugins/GSdx/GSdx.icc.cbp
+++ b/plugins/GSdx/GSdx.icc.cbp
@@ -77,6 +77,8 @@
+
+