mirror of https://github.com/PCSX2/pcsx2.git
GSdx: working on linux port again, almost ready to run.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4344 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
b2cf9d026f
commit
879aad9fd5
|
@ -7,23 +7,24 @@
|
|||
<Option compiler="gcc" />
|
||||
<Build>
|
||||
<Target title="Debug">
|
||||
<Option output="SDL-1" prefix_auto="1" extension_auto="1" />
|
||||
<Option output="../../../deps/debug/libSDL-1.3" prefix_auto="1" extension_auto="1" />
|
||||
<Option working_dir="" />
|
||||
<Option object_output="obj/Debug/" />
|
||||
<Option type="3" />
|
||||
<Option type="2" />
|
||||
<Option compiler="gcc" />
|
||||
<Option createDefFile="1" />
|
||||
<Option createStaticLib="1" />
|
||||
<Compiler>
|
||||
<Add option="-Wall" />
|
||||
<Add option="-g" />
|
||||
</Compiler>
|
||||
</Target>
|
||||
<Target title="Release">
|
||||
<Option output="SDL-1" prefix_auto="1" extension_auto="1" />
|
||||
<Option output="../../../deps/release/libSDL-1.3" prefix_auto="1" extension_auto="1" />
|
||||
<Option working_dir="" />
|
||||
<Option object_output="obj/Release/" />
|
||||
<Option type="3" />
|
||||
<Option type="2" />
|
||||
<Option compiler="gcc" />
|
||||
<Option createDefFile="1" />
|
||||
<Option createStaticLib="1" />
|
||||
<Compiler>
|
||||
<Add option="-O3" />
|
||||
<Add option="-Wall" />
|
||||
|
@ -326,7 +327,7 @@
|
|||
<Unit filename="../src/libm/s_sin.c">
|
||||
<Option compilerVar="CC" />
|
||||
</Unit>
|
||||
<Unit filename="../src/loadso/dummy/SDL_sysloadso.c">
|
||||
<Unit filename="../src/loadso/dlopen/SDL_sysloadso.c">
|
||||
<Option compilerVar="CC" />
|
||||
</Unit>
|
||||
<Unit filename="../src/main/beos/SDL_BeApp.h" />
|
||||
|
@ -659,6 +660,7 @@
|
|||
<Extensions>
|
||||
<code_completion />
|
||||
<debugger />
|
||||
<envvars />
|
||||
</Extensions>
|
||||
</Project>
|
||||
</CodeBlocks_project_file>
|
||||
|
|
|
@ -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
|
||||
|
||||
#include "SDL_platform.h"
|
||||
|
||||
/**
|
||||
* \file SDL_config.h
|
||||
* \file SDL_config.h.in
|
||||
*
|
||||
* SDL_config.h for any platform that doesn't build using the configure system.
|
||||
* This is a set of defines to configure the SDL features
|
||||
*/
|
||||
|
||||
/* 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"
|
||||
/* General platform specific identifiers */
|
||||
#include "SDL_platform.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 <stdarg.h>
|
||||
#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 */
|
||||
|
|
|
@ -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)
|
||||
|
@ -305,3 +305,4 @@ bool GSDevice::ResizeTexture(GSTexture** t, int w, int h)
|
|||
|
||||
return t2 != NULL;
|
||||
}
|
||||
|
||||
|
|
|
@ -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) {}
|
||||
|
@ -126,3 +126,4 @@ public:
|
|||
|
||||
void AgePool();
|
||||
};
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
@ -1016,3 +1016,4 @@ HRESULT GSDevice11::CompileShader(uint32 id, const string& entry, D3D11_SHADER_M
|
|||
|
||||
return hr;
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
@ -186,3 +186,4 @@ public:
|
|||
HRESULT CompileShader(uint32 id, const string& entry, D3D11_SHADER_MACRO* macro, ID3D11GeometryShader** gs);
|
||||
HRESULT CompileShader(uint32 id, const string& entry, D3D11_SHADER_MACRO* macro, ID3D11PixelShader** ps);
|
||||
};
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
@ -1200,3 +1200,4 @@ HRESULT GSDevice9::CompileShader(uint32 id, const string& entry, const D3DXMACRO
|
|||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
@ -217,3 +217,4 @@ public:
|
|||
static void ForceValidMsaaConfig();
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
@ -186,3 +186,4 @@ const GSDeviceDX::D3D9Blend GSDeviceDX::m_blendMapD3D9[3*3*3*3] =
|
|||
{0, D3DBLENDOP_ADD, D3DBLEND_ZERO, D3DBLEND_ONE}, // 2221: (0 - 0)*F + Cd ==> Cd
|
||||
{0, D3DBLENDOP_ADD, D3DBLEND_ZERO, D3DBLEND_ZERO}, // 2222: (0 - 0)*F + 0 ==> 0
|
||||
};
|
||||
|
||||
|
|
|
@ -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();
|
||||
|
@ -311,3 +311,4 @@ public:
|
|||
dst.push_back(m);
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -40,7 +40,8 @@ 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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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) {}
|
||||
|
@ -38,3 +38,4 @@ public:
|
|||
bool Create(GSWnd* wnd);
|
||||
bool Reset(int w, int h);
|
||||
};
|
||||
|
||||
|
|
|
@ -65,8 +65,18 @@ bool GSDeviceSDL::Create(GSWnd* wnd)
|
|||
m_init = true;
|
||||
}
|
||||
|
||||
#if 1 //def _WINDOWS
|
||||
|
||||
m_window = SDL_CreateWindowFrom(wnd->GetHandle());
|
||||
|
||||
#else
|
||||
|
||||
// TODO: linux sould use wnd->GetHandle() too
|
||||
|
||||
m_window = SDL_CreateWindow("GSdx", 0, 0, 640, 480, SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN | SDL_WINDOW_RESIZABLE);
|
||||
|
||||
#endif
|
||||
|
||||
if(m_window == NULL)
|
||||
{
|
||||
return false;
|
||||
|
|
|
@ -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
|
||||
|
||||
|
@ -433,3 +433,4 @@ void GSDeviceSW::Clear(GSTexture* t, uint32 c)
|
|||
t->Unmap();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
@ -59,3 +59,4 @@ public:
|
|||
void PSSetShaderResource(int i, GSTexture* sr);
|
||||
void OMSetRenderTargets(GSTexture* rt, GSTexture* ds, const GSVector4i* scissor = NULL);
|
||||
};
|
||||
|
||||
|
|
|
@ -20,7 +20,8 @@
|
|||
*/
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "gtk/gtk.h"
|
||||
#include <gtk/gtk.h>
|
||||
#include "GSdx.h"
|
||||
|
||||
static void SysMessage(const char *fmt, ...)
|
||||
{
|
||||
|
@ -34,11 +35,7 @@ static void SysMessage(const char *fmt, ...)
|
|||
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);
|
||||
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);
|
||||
}
|
||||
|
@ -85,7 +82,17 @@ bool RunLinuxDialog()
|
|||
|
||||
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");
|
||||
|
||||
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);
|
||||
|
@ -94,13 +101,17 @@ bool RunLinuxDialog()
|
|||
|
||||
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)");
|
||||
|
||||
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);
|
||||
|
@ -108,9 +119,17 @@ bool RunLinuxDialog()
|
|||
|
||||
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");
|
||||
|
||||
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);
|
||||
|
@ -172,9 +191,11 @@ bool RunLinuxDialog()
|
|||
#endif
|
||||
|
||||
gtk_widget_destroy (dialog);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
gtk_widget_destroy (dialog);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -18,6 +18,9 @@
|
|||
<Compiler>
|
||||
<Add option="-g" />
|
||||
</Compiler>
|
||||
<Linker>
|
||||
<Add library="../../deps/debug/libSDL-1.3.a" />
|
||||
</Linker>
|
||||
</Target>
|
||||
<Target title="Release">
|
||||
<Option output="../../bin/plugins/libGSdx" prefix_auto="1" extension_auto="1" />
|
||||
|
@ -31,6 +34,9 @@
|
|||
<Compiler>
|
||||
<Add option="-O2" />
|
||||
</Compiler>
|
||||
<Linker>
|
||||
<Add library="../../deps/release/libSDL-1.3.a" />
|
||||
</Linker>
|
||||
</Target>
|
||||
</Build>
|
||||
<Compiler>
|
||||
|
@ -82,6 +88,8 @@
|
|||
<Unit filename="GSDevice.h" />
|
||||
<Unit filename="GSDeviceNull.cpp" />
|
||||
<Unit filename="GSDeviceNull.h" />
|
||||
<Unit filename="GSDeviceSDL.cpp" />
|
||||
<Unit filename="GSDeviceSDL.h" />
|
||||
<Unit filename="GSDeviceSW.cpp" />
|
||||
<Unit filename="GSDeviceSW.h" />
|
||||
<Unit filename="GSDirtyRect.cpp" />
|
||||
|
|
|
@ -77,6 +77,8 @@
|
|||
<Unit filename="GSDevice.h" />
|
||||
<Unit filename="GSDeviceNull.cpp" />
|
||||
<Unit filename="GSDeviceNull.h" />
|
||||
<Unit filename="GSDeviceSDL.cpp" />
|
||||
<Unit filename="GSDeviceSDL.h" />
|
||||
<Unit filename="GSDeviceSW.cpp" />
|
||||
<Unit filename="GSDeviceSW.h" />
|
||||
<Unit filename="GSDirtyRect.cpp" />
|
||||
|
|
Loading…
Reference in New Issue