diff --git a/3rdparty/SDL-1.3.0-5387/VisualC/SDL/SDL_VS2008.vcproj b/3rdparty/SDL-1.3.0-5387/VisualC/SDL/SDL_VS2008.vcproj
index 72a651b7c5..037d3483c6 100644
--- a/3rdparty/SDL-1.3.0-5387/VisualC/SDL/SDL_VS2008.vcproj
+++ b/3rdparty/SDL-1.3.0-5387/VisualC/SDL/SDL_VS2008.vcproj
@@ -57,7 +57,6 @@
BufferSecurityCheck="false"
WarningLevel="3"
SuppressStartupBanner="true"
- Detect64BitPortabilityProblems="false"
DebugInformationFormat="3"
CompileAs="0"
/>
@@ -76,7 +75,6 @@
Name="VCLinkerTool"
AdditionalDependencies="msimg32.lib winmm.lib imm32.lib version.lib"
SuppressStartupBanner="true"
- IgnoreAllDefaultLibraries="true"
GenerateDebugInformation="true"
SubSystem="2"
/>
@@ -104,7 +102,7 @@
@@ -158,9 +156,7 @@
DynamicLibrary
- false
DynamicLibrary
- false
DynamicLibrary
- false
DynamicLibrary
- false
@@ -96,8 +92,7 @@
0x0409
- msvcrt.lib;msimg32.lib;winmm.lib;version.lib;imm32.lib;%(AdditionalDependencies)
- true
+ msimg32.lib;winmm.lib;version.lib;imm32.lib;%(AdditionalDependencies)
true
Windows
false
@@ -127,11 +122,9 @@
0x0409
- msvcrt.lib;msimg32.lib;winmm.lib;version.lib;imm32.lib;%(AdditionalDependencies)
- true
+ msimg32.lib;winmm.lib;version.lib;imm32.lib;%(AdditionalDependencies)
true
Windows
- MachineX64
false
@@ -164,9 +157,10 @@
0x0409
- msvcrt.lib;msimg32.lib;winmm.lib;version.lib;imm32.lib;%(AdditionalDependencies)
- true
+ msimg32.lib;winmm.lib;version.lib;imm32.lib;%(AdditionalDependencies)
Windows
+ true
+ true
@@ -195,9 +189,8 @@
0x0409
- msvcrt.lib;msimg32.lib;winmm.lib;version.lib;imm32.lib;%(AdditionalDependencies)
- true
Windows
+ msimg32.lib;winmm.lib;version.lib;imm32.lib;%(AdditionalDependencies)
diff --git a/pcsx2_suite_2008.sln b/pcsx2_suite_2008.sln
index 1069997be6..8002a13f1a 100644
--- a/pcsx2_suite_2008.sln
+++ b/pcsx2_suite_2008.sln
@@ -253,22 +253,27 @@ Global
{18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Debug|Win32.ActiveCfg = Debug SSE2|Win32
{18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Debug|Win32.Build.0 = Debug SSE2|Win32
{18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Debug|x64.ActiveCfg = Debug SSE2|x64
+ {18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Debug|x64.Build.0 = Debug SSE2|x64
{18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Devel|Win32.ActiveCfg = Release SSE2|Win32
{18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Devel|Win32.Build.0 = Release SSE2|Win32
{18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Devel|x64.ActiveCfg = Release SSE2|x64
+ {18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Devel|x64.Build.0 = Release SSE2|x64
{18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release SSE2|Win32.ActiveCfg = Release SSE2|Win32
{18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release SSE2|Win32.Build.0 = Release SSE2|Win32
{18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release SSE2|x64.ActiveCfg = Release SSE2|x64
+ {18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release SSE2|x64.Build.0 = Release SSE2|x64
{18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release SSE4|Win32.ActiveCfg = Release SSE4|Win32
{18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release SSE4|Win32.Build.0 = Release SSE4|Win32
{18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release SSE4|x64.ActiveCfg = Release SSE4|x64
+ {18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release SSE4|x64.Build.0 = Release SSE4|x64
{18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release SSSE3|Win32.ActiveCfg = Release SSSE3|Win32
{18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release SSSE3|Win32.Build.0 = Release SSSE3|Win32
{18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release SSSE3|x64.ActiveCfg = Release SSSE3|x64
- {18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release|Win32.ActiveCfg = Release|Win32
- {18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release|Win32.Build.0 = Release|Win32
- {18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release|x64.ActiveCfg = Release|x64
- {18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release|x64.Build.0 = Release|x64
+ {18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release SSSE3|x64.Build.0 = Release SSSE3|x64
+ {18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release|Win32.ActiveCfg = Release SSE2|Win32
+ {18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release|Win32.Build.0 = Release SSE2|Win32
+ {18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release|x64.ActiveCfg = Release SSE2|x64
+ {18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release|x64.Build.0 = Release SSE2|x64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Debug|Win32.ActiveCfg = Debug|Win32
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Debug|Win32.Build.0 = Debug|Win32
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Debug|x64.ActiveCfg = Debug|Win32
diff --git a/pcsx2_suite_2010.sln b/pcsx2_suite_2010.sln
index bc3fcdbb2e..5dccebb743 100644
--- a/pcsx2_suite_2010.sln
+++ b/pcsx2_suite_2010.sln
@@ -45,6 +45,9 @@ EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SPU2-X", "plugins\spu2-x\src\Windows\Spu2-X.vcxproj", "{5307BBB7-EBB9-4AA4-8CB6-A94EC473C8C4}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GSdx", "plugins\GSdx\GSdx.vcxproj", "{18E42F6F-3A62-41EE-B42F-79366C4F1E95}"
+ ProjectSection(ProjectDependencies) = postProject
+ {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68} = {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}
+ EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SoundTouch", "3rdparty\SoundTouch\SoundTouch.vcxproj", "{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}"
EndProject
@@ -285,26 +288,32 @@ Global
{18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Debug SSSE3|x64.Build.0 = Debug SSSE3|x64
{18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Debug|Win32.ActiveCfg = Debug SSE2|Win32
{18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Debug|Win32.Build.0 = Debug SSE2|Win32
- {18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Debug|x64.ActiveCfg = Debug|x64
- {18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Devel|Win32.ActiveCfg = Devel|Win32
- {18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Devel|Win32.Build.0 = Devel|Win32
- {18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Devel|x64.ActiveCfg = Devel|Win32
+ {18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Debug|x64.ActiveCfg = Debug SSE2|x64
+ {18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Debug|x64.Build.0 = Debug SSE2|x64
+ {18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Devel|Win32.ActiveCfg = Release SSE2|Win32
+ {18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Devel|Win32.Build.0 = Release SSE2|Win32
+ {18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Devel|x64.ActiveCfg = Release SSE2|x64
+ {18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Devel|x64.Build.0 = Release SSE2|x64
{18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release AVX|Win32.ActiveCfg = Release AVX|Win32
{18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release AVX|Win32.Build.0 = Release AVX|Win32
{18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release AVX|x64.ActiveCfg = Release AVX|x64
+ {18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release AVX|x64.Build.0 = Release AVX|x64
{18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release SSE2|Win32.ActiveCfg = Release SSE2|Win32
{18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release SSE2|Win32.Build.0 = Release SSE2|Win32
{18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release SSE2|x64.ActiveCfg = Release SSE2|x64
+ {18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release SSE2|x64.Build.0 = Release SSE2|x64
{18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release SSE4|Win32.ActiveCfg = Release SSE4|Win32
{18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release SSE4|Win32.Build.0 = Release SSE4|Win32
{18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release SSE4|x64.ActiveCfg = Release SSE4|x64
+ {18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release SSE4|x64.Build.0 = Release SSE4|x64
{18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release SSSE3|Win32.ActiveCfg = Release SSSE3|Win32
{18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release SSSE3|Win32.Build.0 = Release SSSE3|Win32
{18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release SSSE3|x64.ActiveCfg = Release SSSE3|x64
- {18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release|Win32.ActiveCfg = Release|Win32
- {18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release|Win32.Build.0 = Release|Win32
- {18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release|x64.ActiveCfg = Release|x64
- {18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release|x64.Build.0 = Release|x64
+ {18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release SSSE3|x64.Build.0 = Release SSSE3|x64
+ {18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release|Win32.ActiveCfg = Release SSE2|Win32
+ {18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release|Win32.Build.0 = Release SSE2|Win32
+ {18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release|x64.ActiveCfg = Release SSE2|x64
+ {18E42F6F-3A62-41EE-B42F-79366C4F1E95}.Release|x64.Build.0 = Release SSE2|x64
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Debug AVX|Win32.ActiveCfg = Debug|Win32
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Debug AVX|Win32.Build.0 = Debug|Win32
{E9B51944-7E6D-4BCD-83F2-7BBD5A46182D}.Debug AVX|x64.ActiveCfg = Debug|Win32
@@ -1204,8 +1213,8 @@ Global
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug|x64.Build.0 = Debug|x64
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Devel|Win32.ActiveCfg = Debug|Win32
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Devel|Win32.Build.0 = Debug|Win32
- {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Devel|x64.ActiveCfg = Debug|x64
- {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Devel|x64.Build.0 = Debug|x64
+ {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Devel|x64.ActiveCfg = Release|x64
+ {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Devel|x64.Build.0 = Release|x64
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release AVX|Win32.ActiveCfg = Release|Win32
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release AVX|Win32.Build.0 = Release|Win32
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release AVX|x64.ActiveCfg = Release|x64
diff --git a/plugins/GSdx/GSDeviceSDL.cpp b/plugins/GSdx/GSDeviceSDL.cpp
index 15bfcdda6c..84fec16d65 100644
--- a/plugins/GSdx/GSDeviceSDL.cpp
+++ b/plugins/GSdx/GSDeviceSDL.cpp
@@ -112,7 +112,28 @@ bool GSDeviceSDL::Reset(int w, int h)
m_renderer = SDL_CreateRenderer(m_window, -1, SDL_RENDERER_ACCELERATED); // SDL_RENDERER_PRESENTVSYNC
- return m_renderer != NULL;
+ if(m_renderer == NULL)
+ {
+ return false;
+ }
+
+ m_format = SDL_PIXELFORMAT_ARGB8888;
+
+ SDL_RendererInfo info;
+
+ memset(&info, 0, sizeof(info));
+
+ SDL_GetRendererInfo(m_renderer, &info);
+
+ for(uint32 i = 0; i < info.num_texture_formats; i++)
+ {
+ if(info.texture_formats[i] == SDL_PIXELFORMAT_ABGR8888)
+ {
+ m_format = SDL_PIXELFORMAT_ABGR8888;
+ }
+ }
+
+ return true;
}
void GSDeviceSDL::Present(GSTexture* st, GSTexture* dt, const GSVector4& dr, int shader)
@@ -142,7 +163,7 @@ void GSDeviceSDL::Present(GSTexture* st, GSTexture* dt, const GSVector4& dr, int
if(m_texture == NULL)
{
- m_texture = SDL_CreateTexture(m_renderer, SDL_PIXELFORMAT_ABGR8888, SDL_TEXTUREACCESS_STREAMING, size.x, size.y);
+ m_texture = SDL_CreateTexture(m_renderer, m_format, SDL_TEXTUREACCESS_STREAMING, size.x, size.y);
}
if(m_texture == NULL)
@@ -158,9 +179,33 @@ void GSDeviceSDL::Present(GSTexture* st, GSTexture* dt, const GSVector4& dr, int
{
GSVector2i s = st->GetSize();
- for(int j = s.y; j > 0; j--, sm.bits += sm.pitch, dm.bits += dm.pitch)
+ if(m_format == SDL_PIXELFORMAT_ARGB8888)
{
- memcpy(dm.bits, sm.bits, s.x * 4);
+ for(int j = s.y; j > 0; j--, sm.bits += sm.pitch, dm.bits += dm.pitch)
+ {
+ GSVector4i* RESTRICT src = (GSVector4i*)sm.bits;
+ GSVector4i* RESTRICT dst = (GSVector4i*)dm.bits;
+
+ for(int i = s.x >> 2; i > 0; i--, dst++, src++)
+ {
+ *dst = ((*src & 0x00ff0000) >> 16) | ((*src & 0x000000ff) << 16) | (*src & 0x0000ff00);
+ }
+
+ uint32* RESTRICT src2 = (uint32*)src;
+ uint32* RESTRICT dst2 = (uint32*)dst;
+
+ for(int i = s.x & 3; i > 0; i--)
+ {
+ *dst2 = ((*src2 & 0x00ff0000) >> 16) | ((*src2 & 0x000000ff) << 16) | (*src2 & 0x0000ff00);
+ }
+ }
+ }
+ else
+ {
+ for(int j = s.y; j > 0; j--, sm.bits += sm.pitch, dm.bits += dm.pitch)
+ {
+ memcpy(dm.bits, sm.bits, s.x * 4);
+ }
}
st->Unmap();
diff --git a/plugins/GSdx/GSDeviceSDL.h b/plugins/GSdx/GSDeviceSDL.h
index 634482c351..336319e40d 100644
--- a/plugins/GSdx/GSDeviceSDL.h
+++ b/plugins/GSdx/GSDeviceSDL.h
@@ -31,6 +31,7 @@ class GSDeviceSDL : public GSDeviceSW
SDL_Window* m_window;
SDL_Renderer* m_renderer;
SDL_Texture* m_texture;
+ int m_format;
class GSDummyTexture : public GSTexture
{
diff --git a/plugins/GSdx/GSFunctionMap.h b/plugins/GSdx/GSFunctionMap.h
index a3528cf7d3..1b01ffd148 100644
--- a/plugins/GSdx/GSFunctionMap.h
+++ b/plugins/GSdx/GSFunctionMap.h
@@ -217,7 +217,7 @@ public:
// vtune method registration
- if(iJIT_IsProfilingActive())
+ // if(iJIT_IsProfilingActive()) // always > 0
{
string name = format("%s<%016llx>()", m_name.c_str(), (uint64)key);
diff --git a/plugins/GSdx/GSState.cpp b/plugins/GSdx/GSState.cpp
index e65d931e31..f4b5693d3a 100644
--- a/plugins/GSdx/GSState.cpp
+++ b/plugins/GSdx/GSState.cpp
@@ -508,6 +508,8 @@ __forceinline void GSState::ApplyPRIM(const GIFRegPRIM& prim)
void GSState::GIFRegHandlerPRIM(const GIFReg* r)
{
+ ALIGN_STACK(32);
+
ApplyPRIM(r->PRIM);
}
diff --git a/plugins/GSdx/GSWnd.cpp b/plugins/GSdx/GSWnd.cpp
index 6acaed05be..099308e5ae 100644
--- a/plugins/GSdx/GSWnd.cpp
+++ b/plugins/GSdx/GSWnd.cpp
@@ -27,7 +27,7 @@
GSWnd::GSWnd()
: m_hWnd(NULL)
- , m_managed(false)
+ , m_managed(true)
, m_frame(true)
{
}
@@ -159,7 +159,7 @@ void GSWnd::Detach()
}
m_hWnd = NULL;
- m_managed = false;
+ m_managed = true;
}
GSVector4i GSWnd::GetClientRect()
@@ -215,7 +215,7 @@ void GSWnd::HideFrame()
GSWnd::GSWnd()
: m_display(NULL)
, m_window(0)
- , m_managed(false)
+ , m_managed(true)
, m_frame(true)
{
}
diff --git a/plugins/GSdx/GSdx.vcxproj b/plugins/GSdx/GSdx.vcxproj
index 95cf999c1a..36b3fe9ad9 100644
--- a/plugins/GSdx/GSdx.vcxproj
+++ b/plugins/GSdx/GSdx.vcxproj
@@ -33,18 +33,6 @@
Debug SSSE3
x64
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Devel
- Win32
-
Release AVX
Win32
@@ -77,22 +65,6 @@
Release SSSE3
x64
-
- Release
- Win32
-
-
- Release
- x64
-
-
- Template
- Win32
-
-
- Template
- x64
-
GSdx
@@ -101,12 +73,6 @@
Win32Proj
-
- Application
-
-
- Application
-
DynamicLibrary
MultiByte
@@ -134,11 +100,6 @@
MultiByte
true
-
- DynamicLibrary
- MultiByte
- true
-
DynamicLibrary
MultiByte
@@ -148,321 +109,183 @@
DynamicLibrary
MultiByte
-
- Application
-
-
- DynamicLibrary
- Static
- MultiByte
- true
-
-
- DynamicLibrary
- Static
- MultiByte
-
DynamicLibrary
- Static
MultiByte
true
DynamicLibrary
- Static
MultiByte
true
DynamicLibrary
- Static
MultiByte
DynamicLibrary
- Static
MultiByte
DynamicLibrary
- Static
MultiByte
DynamicLibrary
- Static
MultiByte
true
DynamicLibrary
- Static
MultiByte
true
DynamicLibrary
- Static
MultiByte
false
-
-
-
-
-
-
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
+
-
+
-
-
-
-
-
-
-
-
-
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
<_ProjectFileVersion>10.0.30319.1
- $(SolutionDir)$(Platform)\$(Configuration)\
- $(Platform)\$(Configuration)\
- $(SolutionDir)$(Platform)\$(Configuration)\
- $(Platform)\$(Configuration)\
- $(SolutionDir)$(Platform)\$(Configuration)\
- $(Platform)\$(Configuration)\
- $(SolutionDir)$(Platform)\$(Configuration)\
- $(Platform)\$(Configuration)\
- $(SolutionDir)$(Platform)\$(Configuration)\
- $(SolutionDir)$(Platform)\$(Configuration)\
- $(Platform)\$(Configuration)\
- $(Platform)\$(Configuration)\
- $(SolutionDir)$(Platform)\$(Configuration)\
- $(SolutionDir)$(Platform)\$(Configuration)\
- $(Platform)\$(Configuration)\
- $(Platform)\$(Configuration)\
- $(SolutionDir)$(Configuration)\
- $(Configuration)\
- $(SolutionDir)$(Platform)\$(Configuration)\
- $(Platform)\$(Configuration)\
- $(SolutionDir)$(Platform)\$(Configuration)\
- $(Platform)\$(Configuration)\
- AllRules.ruleset
-
-
- AllRules.ruleset
-
-
- AllRules.ruleset
- AllRules.ruleset
-
-
-
-
- AllRules.ruleset
- AllRules.ruleset
-
-
-
-
- AllRules.ruleset
-
-
- AllRules.ruleset
-
-
- AllRules.ruleset
-
-
- AllRules.ruleset
-
-
- AllRules.ruleset
-
-
- AllRules.ruleset
-
-
- AllRules.ruleset
-
-
- AllRules.ruleset
- AllRules.ruleset
-
-
-
-
- AllRules.ruleset
- AllRules.ruleset
-
-
-
-
- AllRules.ruleset
-
-
- AllRules.ruleset
-
-
- AllRules.ruleset
-
-
- AllRules.ruleset
-
-
- AllRules.ruleset
-
-
- AllRules.ruleset
-
-
Use
- $(OutDir)$(TargetName)$(TargetExt)
- $(SvnRootDir)\deps\$(Platform)\Debug;%(AdditionalLibraryDirectories)
.\GSdx.def
MachineX86
@@ -474,18 +297,6 @@
- MachineX64
-
-
-
-
- Use
-
-
- $(SvnRootDir)\deps\$(Platform)\Devel;%(AdditionalLibraryDirectories)
- .\GSdx.def
- MachineX86
- $(OutDir)$(TargetName)$(TargetExt)
@@ -493,10 +304,8 @@
Use
- $(SvnRootDir)\deps\$(Platform)\Release;%(AdditionalLibraryDirectories)
.\GSdx.def
MachineX86
- $(OutDir)$(TargetName)$(TargetExt)
@@ -506,7 +315,6 @@
- MachineX64
@@ -514,10 +322,8 @@
Use
- $(SvnRootDir)\deps\$(Platform)\Release;%(AdditionalLibraryDirectories)
.\GSdx.def
MachineX86
- $(OutDir)$(TargetName)$(TargetExt)
@@ -527,7 +333,6 @@
- MachineX86
@@ -535,8 +340,6 @@
Use
- $(OutDir)$(TargetName)$(TargetExt)
- $(SvnRootDir)\deps\$(Platform)\Debug;%(AdditionalLibraryDirectories)
.\GSdx.def
MachineX86
@@ -548,7 +351,6 @@
- MachineX64
@@ -556,8 +358,6 @@
Use
- $(OutDir)$(TargetName)$(TargetExt)
- $(SvnRootDir)\deps\$(Platform)\Debug;%(AdditionalLibraryDirectories)
.\GSdx.def
MachineX86
@@ -567,8 +367,6 @@
Use
- $(OutDir)$(TargetName)$(TargetExt)
- $(SvnRootDir)\deps\$(Platform)\Debug;%(AdditionalLibraryDirectories)
.\GSdx.def
MachineX86
@@ -583,7 +381,6 @@
- MachineX64
@@ -596,7 +393,6 @@
- MachineX64
@@ -604,10 +400,8 @@
Use
- $(SvnRootDir)\deps\$(Platform)\Release;%(AdditionalLibraryDirectories)
.\GSdx.def
MachineX86
- $(OutDir)$(TargetName)$(TargetExt)
@@ -615,10 +409,8 @@
Use
- $(SvnRootDir)\deps\$(Platform)\Release;%(AdditionalLibraryDirectories)
.\GSdx.def
MachineX86
- $(OutDir)$(TargetName)$(TargetExt)
@@ -631,7 +423,6 @@
- MachineX64
@@ -644,47 +435,6 @@
- MachineX64
-
-
-
-
- $(SvnRootDir)\deps\$(Platform)\Debug;%(AdditionalLibraryDirectories)
-
-
-
-
- X64
-
-
- Use
-
-
-
-
-
-
- MachineX64
-
-
-
-
- $(SvnRootDir)\deps\$(Platform)\Release;%(AdditionalLibraryDirectories)
-
-
-
-
- X64
-
-
- Use
-
-
-
-
-
-
- MachineX64
@@ -697,19 +447,10 @@
-
- AssemblyAndSourceCode
- AssemblyAndSourceCode
-
+
-
- AssemblyAndSourceCode
- AssemblyAndSourceCode
-
-
- AssemblyAndSourceCode
- AssemblyAndSourceCode
-
+
+
@@ -723,84 +464,39 @@
-
- AssemblyAndSourceCode
-
+
-
- AssemblyAndSourceCode
- AssemblyAndSourceCode
- AssemblyAndSourceCode
- AssemblyAndSourceCode
-
+
-
- AssemblyAndSourceCode
- AssemblyAndSourceCode
- AssemblyAndSourceCode
- AssemblyAndSourceCode
- AssemblyAndSourceCode
- AssemblyAndSourceCode
- AssemblyAndSourceCode
-
+
-
- AssemblyAndSourceCode
- AssemblyAndSourceCode
- AssemblyAndSourceCode
- AssemblyAndSourceCode
- AssemblyAndSourceCode
- AssemblyAndSourceCode
-
+
-
- AssemblyAndSourceCode
- AssemblyAndSourceCode
- AssemblyAndSourceCode
-
+
-
- AssemblyAndSourceCode
-
+
-
- AssemblyAndSourceCode
- AssemblyAndSourceCode
- AssemblyAndSourceCode
- AssemblyAndSourceCode
- AssemblyAndSourceCode
- AssemblyAndSourceCode
- AssemblyAndSourceCode
-
+
-
- AssemblyAndSourceCode
- AssemblyAndSourceCode
-
+
-
- AssemblyAndSourceCode
- AssemblyAndSourceCode
-
+
-
- AssemblyAndSourceCode
- AssemblyAndSourceCode
-
+
@@ -1873,11 +1569,6 @@
{81ce8daf-ebb2-4761-8e45-b71abcca8c68}
- false
- true
- false
- true
- false
diff --git a/plugins/GSdx/GSdx_vs2008.vcproj b/plugins/GSdx/GSdx_vs2008.vcproj
index e98068087e..a4b1f394ac 100644
--- a/plugins/GSdx/GSdx_vs2008.vcproj
+++ b/plugins/GSdx/GSdx_vs2008.vcproj
@@ -22,7 +22,7 @@
@@ -56,10 +56,8 @@
/>
@@ -443,10 +430,8 @@
/>
@@ -510,7 +493,6 @@
@@ -571,10 +553,8 @@
/>
@@ -639,7 +617,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
<_ProjectFileVersion>10.0.30128.1
+ $(SolutionDir)bin\$(PcsxSubsection)\
+ $(PlatformName)\$(Configuration)\
true
- WIN32;_WINDOWS;_WIN32_WINNT=0x500;%(PreprocessorDefinitions)
+ _WINDOWS;_WIN32_WINNT=0x500;%(PreprocessorDefinitions)
Fast
false
Level4
@@ -17,8 +19,6 @@
JITProfiling.lib;d3d11.lib;d3dx11.lib;d3d10_1.lib;d3dx10.lib;d3d9.lib;d3dx9.lib;dxguid.lib;winmm.lib;strmiids.lib;xinput.lib;%(AdditionalDependencies)
- $(OutDir)$(ProjectName)-$(SSEtype).dll
- $(DXSDK_DIR)Lib\x86;./vtune;%(AdditionalLibraryDirectories)
d3d9.dll;d3dx9_43.dll;d3d11.dll;d3dx11_43.dll;%(DelayLoadDLLs)
true
Windows
diff --git a/plugins/GSdx/vsprops/common.vsprops b/plugins/GSdx/vsprops/common.vsprops
index 446ed3a01e..707424338a 100644
--- a/plugins/GSdx/vsprops/common.vsprops
+++ b/plugins/GSdx/vsprops/common.vsprops
@@ -3,11 +3,13 @@
ProjectType="Visual C++"
Version="8.00"
Name="common"
+ OutputDirectory="$(SolutionDir)bin\$(PcsxSubsection)"
+ IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
>
<_ProjectFileVersion>10.0.30128.1
- $(ProjectName)-$(SSEtype)-dbg
+ $(ProjectName)$(PlatformArchitecture)-$(SSEtype)-dbg
true
diff --git a/plugins/GSdx/vsprops/debug.vsprops b/plugins/GSdx/vsprops/debug.vsprops
index da8ce82ebc..99fa4c55d5 100644
--- a/plugins/GSdx/vsprops/debug.vsprops
+++ b/plugins/GSdx/vsprops/debug.vsprops
@@ -14,6 +14,7 @@
/>
diff --git a/plugins/GSdx/vsprops/devel.props b/plugins/GSdx/vsprops/devel.props
deleted file mode 100644
index f8595168a4..0000000000
--- a/plugins/GSdx/vsprops/devel.props
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
- $(ProjectName)-dev
-
-
-
-
\ No newline at end of file
diff --git a/plugins/GSdx/vsprops/release.props b/plugins/GSdx/vsprops/release.props
index 78df600b3f..595be69332 100644
--- a/plugins/GSdx/vsprops/release.props
+++ b/plugins/GSdx/vsprops/release.props
@@ -3,7 +3,7 @@
<_ProjectFileVersion>10.0.30128.1
false
- $(ProjectName)-$(SSEtype)
+ $(ProjectName)$(PlatformArchitecture)-$(SSEtype)
diff --git a/plugins/GSdx/vsprops/release.vsprops b/plugins/GSdx/vsprops/release.vsprops
index 9ac028daa9..b57b78335f 100644
--- a/plugins/GSdx/vsprops/release.vsprops
+++ b/plugins/GSdx/vsprops/release.vsprops
@@ -19,6 +19,7 @@
/>
+
+
+
+
+
+
+ $(DXSDK_DIR)Lib\x64;$(ProjectDir)vtune\x64;%(AdditionalLibraryDirectories)
+
+
+ _WIN64;%(PreprocessorDefinitions)
+
+
+
+
\ No newline at end of file
diff --git a/plugins/GSdx/vsprops/x64.vsprops b/plugins/GSdx/vsprops/x64.vsprops
new file mode 100644
index 0000000000..0e08254463
--- /dev/null
+++ b/plugins/GSdx/vsprops/x64.vsprops
@@ -0,0 +1,16 @@
+
+
+
+
+
diff --git a/plugins/GSdx/vsprops/x86.props b/plugins/GSdx/vsprops/x86.props
new file mode 100644
index 0000000000..ff76b9535d
--- /dev/null
+++ b/plugins/GSdx/vsprops/x86.props
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+ $(DXSDK_DIR)Lib\x86;$(ProjectDir)vtune\x86;%(AdditionalLibraryDirectories)
+
+
+
+ _WIN32;%(PreprocessorDefinitions)
+
+
+
+
\ No newline at end of file
diff --git a/plugins/GSdx/vsprops/x86.vsprops b/plugins/GSdx/vsprops/x86.vsprops
new file mode 100644
index 0000000000..80790002ff
--- /dev/null
+++ b/plugins/GSdx/vsprops/x86.vsprops
@@ -0,0 +1,16 @@
+
+
+
+
+
diff --git a/plugins/GSdx/vtune/JITProfiling.h b/plugins/GSdx/vtune/JITProfiling.h
index 870177f97b..31378d5636 100644
--- a/plugins/GSdx/vtune/JITProfiling.h
+++ b/plugins/GSdx/vtune/JITProfiling.h
@@ -1,13 +1,22 @@
-/*************************************************************************
- *
- * INTEL CORPORATION PROPRIETARY INFORMATION
- * This software is supplied under the terms of a license agreement or
- * nondisclosure agreement with Intel Corporation and may not be copied
- * or disclosed except in accordance with the terms of that agreement.
- *
- * Copyright(c) 2008 Intel Corporation. All Rights Reserved.
- *
- ************************************************************************/
+/*
+ Copyright(c) 2008-2010 Intel Corporation. All Rights Reserved.
+
+ The source code contained or described herein and all documents related
+ to the source code ("Material") are owned by Intel Corporation or its
+ suppliers or licensors. Title to the Material remains with Intel
+ Corporation or its suppliers and licensors. The Material is protected
+ by worldwide copyright laws and treaty provisions. No part of the
+ Material may be used, copied, reproduced, modified, published, uploaded,
+ posted, transmitted, distributed, or disclosed in any way without
+ Intel's prior express written permission.
+
+ No license under any patent, copyright, trade secret or other
+ intellectual property right is granted to or conferred upon you by
+ disclosure or delivery of the Materials, either expressly, by
+ implication, inducement, estoppel or otherwise. Any license under such
+ intellectual property rights must be express and approved by Intel in
+ writing.
+*/
#ifndef __JITPROFILING_H__
#define __JITPROFILING_H__
@@ -15,106 +24,100 @@
* Various constants used by functions *
***************************************/
- // event notification
- typedef enum iJIT_jvm_event
- {
+// event notification
+typedef enum iJIT_jvm_event
+{
// shutdown
- iJVM_EVENT_TYPE_SHUTDOWN = 2, // Program exiting
- // EventSpecificData NA
+ iJVM_EVENT_TYPE_SHUTDOWN = 2, // Program exiting
+ // EventSpecificData NA
// JIT profiling
- iJVM_EVENT_TYPE_METHOD_LOAD_FINISHED=13, // issued after method code jitted
- // into memory but before code is executed
- // EventSpecificData is an iJIT_Method_Load
+ iJVM_EVENT_TYPE_METHOD_LOAD_FINISHED=13, // issued after method code jitted
+ // into memory but before code is executed
+ // EventSpecificData is an iJIT_Method_Load
- iJVM_EVENT_TYPE_METHOD_UNLOAD_START, // issued before unload. Method code will no
- // longer be executed, but code and info
- // are still in memory. The VTune profiler
- // may capture method code only at this point.
- // EventSpecificData is iJIT_Method_Id
+ iJVM_EVENT_TYPE_METHOD_UNLOAD_START, // issued before unload. Method code will no
+ // longer be executed, but code and info
+ // are still in memory. The VTune profiler
+ // may capture method code only at this point.
+ // EventSpecificData is iJIT_Method_Id
// Method Profiling
- // method name, Id and stack is supplied
- iJVM_EVENT_TYPE_ENTER_NIDS = 19, // issued when a method is about to be entered
- // EventSpecificData is iJIT_Method_NIDS
+ // method name, Id and stack is supplied
+ iJVM_EVENT_TYPE_ENTER_NIDS = 19, // issued when a method is about to be entered
+ // EventSpecificData is iJIT_Method_NIDS
- // method name, Id and stack is supplied
- iJVM_EVENT_TYPE_LEAVE_NIDS, // issued when a method is about to be left
- // EventSpecificData is iJIT_Method_NIDS
+ // method name, Id and stack is supplied
+ iJVM_EVENT_TYPE_LEAVE_NIDS // issued when a method is about to be left
+ // EventSpecificData is iJIT_Method_NIDS
+} iJIT_JVM_EVENT;
- } iJIT_JVM_EVENT;
+typedef enum _iJIT_ModeFlags
+{
+ iJIT_NO_NOTIFICATIONS = 0x0000, // No need to Notify VTune, Since VTune is not running.
- typedef enum _iJIT_ModeFlags
- {
- iJIT_NO_NOTIFICATIONS = 0x0000, // No need to Notify VTune, Since VTune is not running.
+ iJIT_BE_NOTIFY_ON_LOAD = 0x0001, // when turned on the jit must call iJIT_NotifyEvent( iJVM_EVENT_TYPE_METHOD_LOAD_FINISHED, ...) for all the method already jitted.
+ iJIT_BE_NOTIFY_ON_UNLOAD = 0x0002, // when turned on the jit must call iJIT_NotifyEvent( iJVM_EVENT_TYPE_METHOD_UNLOAD_FINISHED, ...) for all the method that are unloaded
- iJIT_BE_NOTIFY_ON_LOAD = 0x0001, // when turned on the jit must call iJIT_NotifyEvent( iJVM_EVENT_TYPE_METHOD_LOAD_FINISHED, ...) for all the method already jitted.
- iJIT_BE_NOTIFY_ON_UNLOAD = 0x0002, // when turned on the jit must call iJIT_NotifyEvent( iJVM_EVENT_TYPE_METHOD_UNLOAD_FINISHED, ...) for all the method that are unloaded
-
- iJIT_BE_NOTIFY_ON_METHOD_ENTRY = 0x0004, // when turned on the jit must instrument all the currently jited code with calls on method entries
- iJIT_BE_NOTIFY_ON_METHOD_EXIT = 0x0008, // when turned on the jit must instrument all the currently jited code with calls on method exit
-
- } iJIT_ModeFlags;
+ iJIT_BE_NOTIFY_ON_METHOD_ENTRY = 0x0004, // when turned on the jit must instrument all the currently jited code with calls on method entries
+ iJIT_BE_NOTIFY_ON_METHOD_EXIT = 0x0008 // when turned on the jit must instrument all the currently jited code with calls on method exit
+} iJIT_ModeFlags;
// Flags used by iJIT_IsProfilingActive()
typedef enum _iJIT_IsProfilingActiveFlags
{
- iJIT_NOTHING_RUNNING = 0x0000, // No profiler is running. Currently not used.
- iJIT_SAMPLING_ON = 0x0001, // Sampling is running. This is the default value returned by iJIT_IsProfilingActive()
- iJIT_CALLGRAPH_ON = 0x0002 // Call Graph is running
-
+ iJIT_NOTHING_RUNNING = 0x0000, // No profiler is running. Currently not used.
+ iJIT_SAMPLING_ON = 0x0001, // Sampling is running. This is the default value returned by iJIT_IsProfilingActive()
+ iJIT_CALLGRAPH_ON = 0x0002 // Call Graph is running
} iJIT_IsProfilingActiveFlags;
-
- // Enumerator for the environment of methods
+// Enumerator for the environment of methods
typedef enum _iJDEnvironmentType
{
iJDE_JittingAPI = 2
-
} iJDEnvironmentType;
/**********************************
* Data structures for the events *
**********************************/
- // structure for the events:
- // iJVM_EVENT_TYPE_METHOD_UNLOAD_START
+// structure for the events:
+// iJVM_EVENT_TYPE_METHOD_UNLOAD_START
-typedef struct _iJIT_Method_Id
+typedef struct _iJIT_Method_Id
{
- unsigned int method_id; // Id of the method (same as the one passed in the iJIT_Method_Load struct
+ unsigned int method_id; // Id of the method (same as the one passed in the iJIT_Method_Load struct
} *piJIT_Method_Id, iJIT_Method_Id;
- // structure for the events:
- // iJVM_EVENT_TYPE_ENTER_NIDS,
- // iJVM_EVENT_TYPE_LEAVE_NIDS,
- // iJVM_EVENT_TYPE_EXCEPTION_OCCURRED_NIDS
+// structure for the events:
+// iJVM_EVENT_TYPE_ENTER_NIDS,
+// iJVM_EVENT_TYPE_LEAVE_NIDS,
+// iJVM_EVENT_TYPE_EXCEPTION_OCCURRED_NIDS
typedef struct _iJIT_Method_NIDS
{
- unsigned int method_id; // unique method ID
- unsigned int stack_id; // NOTE: no need to fill this field, it's filled by VTune
- char* method_name; // method name (just the method, without the class)
-
+ unsigned int method_id; // unique method ID
+ unsigned int stack_id; // NOTE: no need to fill this field, it's filled by VTune
+ char* method_name; // method name (just the method, without the class)
} *piJIT_Method_NIDS, iJIT_Method_NIDS;
- // structures for the events:
- // iJVM_EVENT_TYPE_METHOD_LOAD_FINISHED
+// structures for the events:
+// iJVM_EVENT_TYPE_METHOD_LOAD_FINISHED
-typedef struct _LineNumberInfo
+typedef struct _LineNumberInfo
{
unsigned int Offset; // x86 Offset from the begining of the method
unsigned int LineNumber; // source line number from the begining of the source file.
} *pLineNumberInfo, LineNumberInfo;
-typedef struct _iJIT_Method_Load
+typedef struct _iJIT_Method_Load
{
unsigned int method_id; // unique method ID - can be any unique value, (except 0 - 999)
char* method_name; // method name (can be with or without the class and signature, in any case the class name will be added to it)
@@ -123,32 +126,29 @@ typedef struct _iJIT_Method_Load
unsigned int line_number_size; // Line Table size in number of entries - Zero if none
pLineNumberInfo line_number_table; // Pointer to the begining of the line numbers info array
unsigned int class_id; // unique class ID
- char* class_file_name; // class file name
+ char* class_file_name; // class file name
char* source_file_name; // source file name
void* user_data; // bits supplied by the user for saving in the JIT file...
unsigned int user_data_size; // the size of the user data buffer
iJDEnvironmentType env; // NOTE: no need to fill this field, it's filled by VTune
-
} *piJIT_Method_Load, iJIT_Method_Load;
-
-
-//API Functions
-#ifdef __cplusplus
+/* API Functions */
+#ifdef __cplusplus
extern "C" {
#endif
typedef void (*iJIT_ModeChangedEx)(void *UserData, iJIT_ModeFlags Flags); // called when the settings are changed with new settings
-int iJIT_NotifyEvent(iJIT_JVM_EVENT event_type, void *EventSpecificData);
+int iJIT_NotifyEvent(iJIT_JVM_EVENT event_type, void *EventSpecificData);
void iJIT_RegisterCallbackEx(void *userdata, iJIT_ModeChangedEx NewModeCallBackFuncEx); // The new mode call back routine
-iJIT_IsProfilingActiveFlags iJIT_IsProfilingActive();
-void FinalizeThread();
-void FinalizeProcess();
-unsigned int iJIT_GetNewMethodID();
+iJIT_IsProfilingActiveFlags iJIT_IsProfilingActive(void);
+void FinalizeThread(void);
+void FinalizeProcess(void);
+unsigned int iJIT_GetNewMethodID(void);
-#ifdef __cplusplus
+#ifdef __cplusplus
}
#endif
-#endif //__JITPROFILING_H__
+#endif /* __JITPROFILING_H__ */
diff --git a/plugins/GSdx/vtune/JITProfiling.lib b/plugins/GSdx/vtune/JITProfiling.lib
deleted file mode 100644
index 3bf391b83e..0000000000
Binary files a/plugins/GSdx/vtune/JITProfiling.lib and /dev/null differ
diff --git a/plugins/GSdx/vtune/x64/jitprofiling.lib b/plugins/GSdx/vtune/x64/jitprofiling.lib
new file mode 100644
index 0000000000..340e365f31
Binary files /dev/null and b/plugins/GSdx/vtune/x64/jitprofiling.lib differ
diff --git a/plugins/GSdx/vtune/x86/jitprofiling.lib b/plugins/GSdx/vtune/x86/jitprofiling.lib
new file mode 100644
index 0000000000..c1beac73fe
Binary files /dev/null and b/plugins/GSdx/vtune/x86/jitprofiling.lib differ