* add a non-working hack: UserHacks_DateGL4, goal was to replace UserHacks_AlphaStencil
+ Detection of good/bad samples is based on primitive ID variable. However I'm not sure
the behavior is always the same between draw call...Anyway let's keep a copy of the current
work
* Dump integer texture into text csv
* add gl4.2 ARB_shader_image_load_store extension (needed by UserHacks_DateGL4)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5707 96395faa-99c1-11dd-bbfe-3dabce05a288
* allow to switch renderer with F9
* skip first frame in stat of the replayer
* drop msaa. Fxaa and internal resolution will do the job
* move texture attachment from texture object into device object (allow to keep sanely the state)
* split the write buffer and attachment setup
* completely split sampler and texture input setup
* redo GSDeviceOGL::CopyOffscreen to avoid an extra copy.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5704 96395faa-99c1-11dd-bbfe-3dabce05a288
* use gles header file, disable opengl code (mainly GLX, ARB_sso, geometry shader)
* Define properly the function pointer, GLES use basic linking whereas GL must get the symbol dynamically
* cmake: properly search and set libglesv2.so
* don't use dual source blending => HW renderer work (only miss unimportant FBA)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5701 96395faa-99c1-11dd-bbfe-3dabce05a288
* uniform was wrongly set before the activation of the program (free driver only)
* Always use only 1 drawbuffer. Easier besides previous setup was wrong for convert:ps_main1
GLES trial (v3):
* add the cmake option GLES_API. Note library (libgles) are hardcoded for the moment
* Disable opengl check
* Disable gl_GetDebugMessageLogARB not supported!
* Emulate gl_DrawElementsBaseVertex, add manually the index offset (surely slow but work)
* Fix hundred of shader error (no implicit cast of integer to float...)
Unfortunately GLES doesn't support dual blending so no blend in hardware renderer. Otherwise it is fine
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5700 96395faa-99c1-11dd-bbfe-3dabce05a288
* replace vertex interface with block interface. It avoid to depends on the ARB_sso extension.
* disable geometry shader on Nvidia & Linux. Slower but better than a black screen !
* default logz to 1, avoid some glitches.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5699 96395faa-99c1-11dd-bbfe-3dabce05a288
* redo glsl2h.pl script to generate only one big glsl headers.
* fix gcc warning in GSVector.h
* fix memory leak of GSDeviceOGL.m_shader
* clean shader compilation function => split generation header & drop malloc stuff
cmake:
* only rebuild shader when asked by the use. Avoid perl dependency to build pcsx2
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5698 96395faa-99c1-11dd-bbfe-3dabce05a288
* remove the possibility to compile shader from file. Some people loads older shaders...
The feature might be readded later
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5697 96395faa-99c1-11dd-bbfe-3dabce05a288
* try to setup advance gl context attribute. If driver doesn't support it fallback to the default.
zzogl:
* use glsl2h to generate an header shader as GSdx. Much easier to install
* Get GSUniformBufferOGL & GSVertexArrayOGL speed improvement from GSdx
cmake:
* detect current gcc version. Yield a warning if < 4.7 or an error if < 4.5
glsl2h:
* support zzogl too
* compute md5sum to avoid useless relink
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5696 96395faa-99c1-11dd-bbfe-3dabce05a288
* remove unused variable
* move static function from h into cpp
* Initialized hw_by_page to 0xFFFFFFFF instead of -1 (number must be a positive integer)
* Use a s32 fore m_current_lsn instead of u32 (use -1 as error code)
Bonus: a couple of fix for clang compiler (doesn't mean that it fully compile with clang)
* remove useless __debugbreak on linux
* use short for 16bits atomic function
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5695 96395faa-99c1-11dd-bbfe-3dabce05a288
* remove iconvert.cpp not used anymore
* change copyrigh header from GPL to LGPL. Those 2 files are only basic .h. 1 licence by plugin is enough ;)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5691 96395faa-99c1-11dd-bbfe-3dabce05a288
* fix shader compilation on Nvidia (broken on r5682)
* fix various memory leak thanks to Valgrind
Cmake: fix a minor typo
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5688 96395faa-99c1-11dd-bbfe-3dabce05a288
* use svnrev.h on linux too
* replace sprintf_s with snprintf (hope it still compile on Windows)
* init integer with 0 instead of NULL
* various int -> u32/uint32/uint on for loop index
* remove a couple of unused variable
* init few variable
* disable unused warning results
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5683 96395faa-99c1-11dd-bbfe-3dabce05a288
* Separate state and shader compilation into separate function
* replace various hash_map by basic array
* Compact VertexScale and offset into a single vec4
* add the new option "ogl_vertex_subdata": subdata is faster on FGLRX, test are welcome on Nvidia drivers
0 => use map/unmap
1 => use subdata
replay: add "linux_replay" option and compute some nice stat (mean, standard deviation)
cmake: recreate shader header at build time
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5682 96395faa-99c1-11dd-bbfe-3dabce05a288
* don't delete the wnd in GSclose. It can still be used later
* Properly detect the GL_ARB_gpu_shader5 extension for Fxaa
* A couple of fix in Create (GSopen1) of GSWndEGL/GSWndOGL
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5674 96395faa-99c1-11dd-bbfe-3dabce05a288
* add exception in GSWndEGL and GSWndOGL
* Try to use EGL when GLX failed => you don't need any flags for the opensource driver ;)
cmake: don't install anymore the glsl shader
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5671 96395faa-99c1-11dd-bbfe-3dabce05a288
gsdx:
* move gl function loading into GSwnd. Clean the header and avoid to rely on macro.
* Always require libegl for GSdx. You still need to select the API at compilation.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5670 96395faa-99c1-11dd-bbfe-3dabce05a288
* update linux dialog: create a custom shader box and put it Shade boost and Fxaa
* force the reloading of the inifile after any configuration update.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5666 96395faa-99c1-11dd-bbfe-3dabce05a288
Now the brach is ready to be merged :)
Dears Window users. If you can test that:
1/ still compile
2/ still running on DX
3/ can run with opengl
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5663 96395faa-99c1-11dd-bbfe-3dabce05a288
* Don't write color during stencil. Keep the old method to ease debug
* Realign date shader on DX
* keep stencil ref to 1. Reduce stencil management burder
* Fix texture pitch (was in pixels but need bytes). Fix Bleach Blade Battlers 2. Thanks Miseru for your trace
Remember note:
fxaa -> not yet implemented
msaa -> not implemented (I might drop it actually)
8 bit texture -> not yet implemented
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5657 96395faa-99c1-11dd-bbfe-3dabce05a288
* detect Advanced Micro Devices for newer AMD Card...
* Mess with coordinate for StretchRect. Upscaling seem to work now. Surely the biggest diff between ogl and dx...
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5655 96395faa-99c1-11dd-bbfe-3dabce05a288
* factorize sample object creation
* remember frame buffer attachment state
* Use a basic context on EGL. Allow to use Mesa 9.1 on AMD GPU.
* precompile vertex and geometry shader to avoid benchmark polution on replay
* Try harder to detect FGLRX driver on window
* various clean
Remain to fix the coordinate system for upscaling
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5651 96395faa-99c1-11dd-bbfe-3dabce05a288
* Fix shader alpha issue. Hoppefully fix lots of glitches.
* Use glBufferSubData to upload data into the constant buffer instead of map/unmap. More fps :)
* Fix wrong api setup on EGL
* Be more portable on glsl2h
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5650 96395faa-99c1-11dd-bbfe-3dabce05a288
- changed the KH2 fix in GetTextureMinMax to my taste, should give the same results, when the used texture rect is to the left/above the clamped area, it returns [min, min+1], and [max-1, max] for right/below
- m_mem.m_clut.Read32 was returned to its original place from GetAlphaMinMax
- UserHacks_WildHack was moved up to GSState, special UV handlers are only used when this setting is active
- updated xbyak to the latest available (avx2 seems incomplete, the 256-bit promoted old instructions are missing)
- changed vtune's include path to the 2013 edition
Some other not yet commited changes from a year ago:
- WriteImageX overflow crash-fix
- moved colclamp after dithering (sw mode), it makes more sense, no visible changes noticed
- Gif_Tag::analyzeTag(), there was a conditional I didn't like, split the loop into two parts
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5649 96395faa-99c1-11dd-bbfe-3dabce05a288
* clean texture management & use different texture unit for various texture operation
* separate sampler and texture setup
* Always disable GL_SCISSOR_TEST before any cleaning to be sure the all pixels are reset
* properly set upscale_multiplier in the linux gui (was mixed with msaa). Unfortunately it is still broken...
* Fix EGL with GSopen1
* Use stdcall for function definition in the replay (avoid segmentation fault)
* Directly use gl_Position in shader instead of an extra user defined variable
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5648 96395faa-99c1-11dd-bbfe-3dabce05a288
* replace most OGL_FREE_DRIVER with a dynamic detection. Remains the context creation. Closed drivers need 3.3
* Add the CopySubImage fallback
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5647 96395faa-99c1-11dd-bbfe-3dabce05a288
* Emulate Geometry Shader from the CPU.
* add some option to override opengl extension detection
* redo shader interface (again) to compile on the free driver
SW renderer is now working on the free driver.
To test it on your linux box use this cmake option -DEGL_API=TRUE
Note: (need opengl 3.0) I test mesa 9.2 git
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5646 96395faa-99c1-11dd-bbfe-3dabce05a288
* fix a bad interaction when GL_ARB_SSO is supported without GL_ARB_shading_language_420pack
* try to replace struct with flat parameter in glsl interface
=> with some hacks of the free driver, I was able to compile SW renderer shader. Unfortunately
the rendering is broken. Maybe my hack :p
* remove EGL context check (wasn't working as expected)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5644 96395faa-99c1-11dd-bbfe-3dabce05a288
* fix wrong interaction when both GL41 or GL42 aren't supported
* Add a new define to downgrade opengl requirement to test the free driver and EGL
=> As far as I can tell, they only miss geometry shader& GLSL150 (got GLSL140)
* Found a way to avoid crash in AMD driver. Skip the upload of small texture but rendering is wrong now...
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5643 96395faa-99c1-11dd-bbfe-3dabce05a288
* remove an old&useles dummy geometry shader (was used to workaround amd bug)
* use a basic X11 window for GSopen1
* redo the replayer: it is now based on dlopen rather than standard static/dynamic library. AMD driver doesn't play nicely with the later...
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5639 96395faa-99c1-11dd-bbfe-3dabce05a288
* replace both DISABLE_GL41_SSO and DISABLE_GL42 macro with a dynamic check based on the extension support
* glsl2h: use static instead of extern
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5636 96395faa-99c1-11dd-bbfe-3dabce05a288
* add a perl script to convert shader to char*
* By default use *.glsl file (handy to do some trials).
Only drawback, glsl2h need to be manually called at the moment
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5632 96395faa-99c1-11dd-bbfe-3dabce05a288
* workaround AMD driver bleding issue (got at least a nice rendering in GoW)
* would run on the opensource driver when they support geometry shader
Stil got some crash on the driver. Arg!!!
FGLRX user if you want to do some trials
uncomment #define DISABLE_GL41_SSO in GSdx/config.h
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5630 96395faa-99c1-11dd-bbfe-3dabce05a288
* Use bigger index for Uniform buffer to avoid any collision with sampler.
* add a new config to disable openGL 4.2 requirement. Would be done at runtime later.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5620 96395faa-99c1-11dd-bbfe-3dabce05a288
It wasn't the suspicious code, that actually seems to be correct. The rempty() case should now be unnecessary except in case of bad register settings, but that's outside of our control so it needs to stay until code's added for that case. A console warning would be appropriate.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5612 96395faa-99c1-11dd-bbfe-3dabce05a288
* bump minimal requirement to opengl 2! Basically any Dx9 class hardware. On intel you will need a gen4+ GPU.
* remove the bad quality integer texture to use only texture float. Again need an gen4+ Intel GPU. Opensource users: Mesa must be built with support of texture float (stupid patents)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5603 96395faa-99c1-11dd-bbfe-3dabce05a288
VS2008 is harder to do as there is no automatic downgrader tools for the solution files, sorry.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5602 96395faa-99c1-11dd-bbfe-3dabce05a288
Changed the stack init hack so it is consistent on plugin resets and removed a part of it that broke OPL.
Hopefully this works for all use cases, but we should fix the initial problem anyway.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5601 96395faa-99c1-11dd-bbfe-3dabce05a288
WinPcap version is 4.1.2 and only the /include and /lib folders of their developer pack are included.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5599 96395faa-99c1-11dd-bbfe-3dabce05a288
Most of the work done by Rama, I just integrated the vcxproj.
Only done for vs2010, vs2008 or vs2012 will have to wait.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5595 96395faa-99c1-11dd-bbfe-3dabce05a288
* port KrossX patch from r5556 to openGL
* add a basic gui entry, would love an additional description
* also add the pointsampler hack but don't activate it yet
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5570 96395faa-99c1-11dd-bbfe-3dabce05a288
Should fix the VS2012 project files for when only VS2012 (and not VS2010) is installed.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5557 96395faa-99c1-11dd-bbfe-3dabce05a288
* Don't try to allocate a "null" array when shader log is empty
* glsl: hopefully implicit cast error on Nvidia driver
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5542 96395faa-99c1-11dd-bbfe-3dabce05a288
* initialize the context status variable that take care of some startup hang
* cmake: don't link and compile EGL when it isn't requested
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5528 96395faa-99c1-11dd-bbfe-3dabce05a288
* implement GSWndEGL copy/pasted from zzogl.
* remove linux debugging shader that failed to compile on window
* add additional debug message during context creation
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5520 96395faa-99c1-11dd-bbfe-3dabce05a288
* Remove bad redefinition of glActiveTexture and glBlendColor pointer
* Remove glew dependency on linux
* s/OGL_DEBUG/ENABLE_OGL_DEBUG/ and enable it on debug
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5512 96395faa-99c1-11dd-bbfe-3dabce05a288
* move GL loading function into its own namespace
* Use manual GL loading on linux too and mostly drop glew dependency. (Not 100% clean we are still depends on some glew define, it will be fixed later)
Note: shaders still need to be copied manually from GSdx/res to bin/plugins
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5510 96395faa-99c1-11dd-bbfe-3dabce05a288
* Update project files
* basic compilation fix: include stdafx, s/uint/uint32/
* add selection of the opengl renderer/device in gsopen
Remain to fix opengl function declaration/initialization
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5505 96395faa-99c1-11dd-bbfe-3dabce05a288
* fix C compilation issue
Remain 2 issues with VCS:
1/ need to add 3rdparty dir as include dir (zzogl seem to import common\vsprops\3rdpartyDeps.props)
2/ need to add opengl32.lib as additional lib
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl-wnd@5503 96395faa-99c1-11dd-bbfe-3dabce05a288
Just adding a log to devel builds. This is a curious case we want to be notified about.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5478 96395faa-99c1-11dd-bbfe-3dabce05a288
We need to figure out what real hardware does with it but for now let's disable the effect engine in that case.
Affected games: Summer Beach Volleyball and 18 Wheeler.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5445 96395faa-99c1-11dd-bbfe-3dabce05a288
* move all remaining glx into the dedicated GLwin object
* rework a bit WGL to separate opengl context and window creation (like linux actually)
gsdx: Allow to control vsync. Not sure I used the good extension.
cmake:
* check that EGL opengl context creation
* Shut up gcc warning when force inline might not work...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5437 96395faa-99c1-11dd-bbfe-3dabce05a288
Also, check both cores rather than the current core, that was a mistake.
Speed-- again.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5425 96395faa-99c1-11dd-bbfe-3dabce05a288
* EGL is the interface between the window and opengl. The purpose is to replace GLX/WGL in a crossplatform way.
Unfortunately so far only opensource driver use it (need not yet released mesa 9.0)
* clean most of the legacy GSopen1 window management. Only keep a basic window for debug with replayer.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5422 96395faa-99c1-11dd-bbfe-3dabce05a288
Added loading of external shaders, coded by KrossX (thanks again :p ).
Right now it looks for a file called "shader.fx" in PCSX2's main directory.
If it finds one, the PageUp key activates the external shader (instead of the built-in FXAA).
We have a forum thread for some nice shaders to try out here:
http://forums.pcsx2.net/Thread-Custom-Shaders-for-GSdx
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5390 96395faa-99c1-11dd-bbfe-3dabce05a288
NOTE: The 'glew' project does NOT build yet, but it will have to be decided how to approach the problem (String literal too long in glew.rc)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5382 96395faa-99c1-11dd-bbfe-3dabce05a288
cmake: take the opportunity to drop the support of 3rdparty compilation. Distributions have got a more recent version of zlib/soundtouch anyway.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5376 96395faa-99c1-11dd-bbfe-3dabce05a288
* add some dummy shader. Can be modify inside the debugger apitrace
* glclear* commands` seem to depend on scissor test and depth mask. Allow full write for the depth buffer
* texture debug, try to output some nice colors for the depth buffers
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5365 96395faa-99c1-11dd-bbfe-3dabce05a288
* properry separate both GLSL implementation
* glsl4: Use a define for logz instead of extra math computation. Much more easier to understand
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5364 96395faa-99c1-11dd-bbfe-3dabce05a288
Probably only of interest to testers (and me). Absolutely do NOT select the reference device even out of extreme morbid curiosity. It's not even very good at being a reference despite being slower than you can probably believe.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5358 96395faa-99c1-11dd-bbfe-3dabce05a288
Now, a note about the actual issue. Destination alpha tests can be used on the GS as one of the workarounds for a lack of stencils. If you use a destination alpha test and leave alpha writing on, the GS will only write each pixel until you write an alpha value which would fail the test. This works to a point in gsdx without further hacking, but that point is when within a single batch of primitives the same pixels are written multiple times and the destination alpha test is expected to update. I did experimentally make a tight loop updating the stencil with a draw then drawing for one primitive at a time, but it was prohibitively slow (over 80% fps loss, you really don't want to know).
Destination alpha testing cannot be directly implemented in D3D9 or D3D10, but (probably) can in D3D11 (with a speed hit for sure, but I doubt it'll be 80%). I'll be getting a new graphics card and looking into that.
And before some idiot says it, the answer is no. OpenGL does not help.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5346 96395faa-99c1-11dd-bbfe-3dabce05a288
This may make gsdx slightly slower for everyone (I don't know an easy way to restrict this to affected systems), especially if using 8-bit textures.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5341 96395faa-99c1-11dd-bbfe-3dabce05a288
Thanks for reporting.
(Also replaced broken Chinese characters in comments.)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5330 96395faa-99c1-11dd-bbfe-3dabce05a288
So, in the end I only properly understood the old code after finding all the problems with my version. I'm not sure whether any changes I've made are improvements any more, I'll need to review it with what I've learned in mind. This effort might've been a big waste of time.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5329 96395faa-99c1-11dd-bbfe-3dabce05a288
GSdx Hackfixes: Lego Batman changed to aggressive list, doesn't really fix ingame and breaks the title screens.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5328 96395faa-99c1-11dd-bbfe-3dabce05a288
- Removed the #define DISABLE_CRC_HACKS (since it's at the GUI now).
- reverted r5315 and r5319 (which prevented gs dumps to have a correct CRC).
- Restored the functionality of these revisions via simple skip of the other hack calls.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5320 96395faa-99c1-11dd-bbfe-3dabce05a288
GSDX: (Old bug) When looking up a texture in the cache, the check didn't take into account CLUT formats, nor did it skip this check when "8 bit textures" is enabled.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5292 96395faa-99c1-11dd-bbfe-3dabce05a288
gsdx:
* add some parenthesis to shup up very verbose gcc warning
* adapt ogl to latest sudonim change
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5290 96395faa-99c1-11dd-bbfe-3dabce05a288
* properly delete program and vertex array. Avoid a crash on plugin reload
* reset shader state. Avoid to reuse invalid data on plugin reload
gsdx:
* add an hack to unattach/attach the gl context from different thread. Help to solve some crashes. The best will be to move gpu operation out of gsreadfifo but it would need more works
* implement logz for test purpose (don't seem to help)
gsdx replay:
* use default xdg location
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5289 96395faa-99c1-11dd-bbfe-3dabce05a288
Explanation, because this gives me a headache and this might save someone else one (or I might be wrong and they might see why): in D3D10, 0.0 points to the centre of the leftmost texel and 1.0 points one texel to the right of the rightmost texel, so to map a UNORM uniformly across a texel we need to multiply the input by (w-1)/w. In D3D9 0.0 points to the left edge of the leftmost texel and 1.0 to the right edge of the rightmost texel so after the multiplication we add 1/2w.
Actual texture sampling is probably not right for at least one of D3D9 and D3D10, but this headache is killing me.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5279 96395faa-99c1-11dd-bbfe-3dabce05a288
* add a script to run cg compiler on glsl file:
+ handy to check the syntax
+ output the asm of the shader
- unfortunately don't support latest glsl construct but better than nothing
* really delete resources before context destruction
* wanted to play with opengl3 timer for profiling but not conclusive, just keeping code around for future use
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5278 96395faa-99c1-11dd-bbfe-3dabce05a288
Also set the auto deinterlace mode in GSdx when the .ini isn't present (instead of "none").
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5270 96395faa-99c1-11dd-bbfe-3dabce05a288
* I miss some ending bit.
* Use a full int for GSvsync
* fix a small memory link
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5269 96395faa-99c1-11dd-bbfe-3dabce05a288
The following dup CRCs of were removed (leaving one):
0x7D4EA48F - Haunting Ground EU (now only Genji).
0x1A85E924 - DMC3 CH (now only GOW1)
0x7ACF7E03 - Spyro New beginning (now only ICO)
The following CRCs were removed without any negative effect:
0x2F123FD8 - GOW2 RU (same as US).
0x23A97857 - Star Ocean 3 JPUNDUB (same as US).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5255 96395faa-99c1-11dd-bbfe-3dabce05a288
* Fix context code for the common shader and set the indices for the uniform... (will fix most of GLSL-related black screen issue)
* some memory improvements were not merged from zzogl-dev branch
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5252 96395faa-99c1-11dd-bbfe-3dabce05a288
glsl4: Replace some define with function (ogl4 support function pointer). Explain how depth is computed in vertex shader
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5233 96395faa-99c1-11dd-bbfe-3dabce05a288
- Added "Aggressive-CRC" checkbox at the HW hacks section of the config dialog.
- The following hacks are now activated only in aggressive mode:
- God of War 2: disable water effect/lines, disable global haze.
- FFX, FFX2, SSX3 (the full crc hack from r5214).
- Shadow of the Colossus: disable (over)bloom.
- Reverted the Valkyrie Profile 2 hack to pre- r5214.
- Some CRC fixes by comments on r5214.
- Regression fix of dynamic crc hack (INITIAL_MODE = 0 didn't compile)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5221 96395faa-99c1-11dd-bbfe-3dabce05a288
* properly release shader in release mode
* set stream format every time an array buffer is bound
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5219 96395faa-99c1-11dd-bbfe-3dabce05a288
.
Allows to have a single dynaCRC DLL for several games, differentiated by their CRCs by using the new utility IsCRC(0x12345678, 0x87654321, ...).
Note: With old GSdx (and updated new DynaCrcHack.c), IsCRC always returns false.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5215 96395faa-99c1-11dd-bbfe-3dabce05a288
- 14 Updated hacks, 41 new hacks (See full list at the first comment).
- New crc-hacks might have patial crc lists, so it's possible that some copies won't get the benefit (yet).
- Non crc-hacks code was NOT imported from Cutie, so some crc hacks might not be as effective as within Cutie itself.
- New region: CH, few more CRCs.
Note:
Due to the very big list of affected games, I couldn't test the vast majority of them, and so your help would be appreciated in testing. Please report (even if someone else already reported with the same result as yours) with the following format:
<game name> - <better/worse/same> (reason) - tested <little/medium/much>
e.g.:
Tomb Raider Legend - Better (removes garbage graphics) - tested a little.
GTA San Andreas - Better (removes ghosts) - tested a little.
And of course, big thank you goes to the author of Cutie, for the time put into improving PCSX2, and for respecting the GPL license and releasing the code.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5214 96395faa-99c1-11dd-bbfe-3dabce05a288
* some parameters was set after the shader setup. Extend the API to do the shader setup before the draw
* remove the useless shader compatibility bits
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5212 96395faa-99c1-11dd-bbfe-3dabce05a288
* fix properly context, directly save the state in the shader
* replace the last deprecated variable in the shader. Remain the issue that host enable 1 output and the shader write 2 outputs
* It seems that VBO does't depends on the VAO but vertex format depends on both VBO/VAO so I set the format multiple time. Not sure the behavior is fully correct
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5211 96395faa-99c1-11dd-bbfe-3dabce05a288
zzogl: rework the shader interface to use struct like CG. Shader are still broken because some variables (gl_color & gl_secondary_color) are not supported in vertex shader...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5209 96395faa-99c1-11dd-bbfe-3dabce05a288
* use 128 vertex buffer instead of 512 that will avoid to fill the GPU vram
* Use separate shader infrastructure for GLSL 4 as Nvidia cg. Beside code is much easier to understand
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5208 96395faa-99c1-11dd-bbfe-3dabce05a288
various: apply some patch of Micove to disable debug logging in GSdx release mode
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5206 96395faa-99c1-11dd-bbfe-3dabce05a288
* Clean the zzsetparameter API to always use the program for uniform that depends on the program. Future goal is to use a nice OO interface
* Use uniform buffer. Would allow future optimization and remove most initialization stuff. Don't support yet the 2 zzogl contexts.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5201 96395faa-99c1-11dd-bbfe-3dabce05a288
* drop hack for of Natty and use the std FindGtk2 module, time to upgrade to Precise.
* Bump cmake requirement to 2.8.5 to avoid multiarch issue
* Create new cmake variable GLSL_SHADER_DIR for glsl file. Default value /usr/share/games/pcsx2
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5200 96395faa-99c1-11dd-bbfe-3dabce05a288
pcsx2: don't print window title in fullscreen because it create a white frame flickering. Seem like a wx regression
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5199 96395faa-99c1-11dd-bbfe-3dabce05a288
* Add 2 new dev options: REBUILD_SHADER (nvidia cg) & BUILD_REPLAY_LOADERS
* zzogl-pg-cg will use the shader of zzogl-pg.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5190 96395faa-99c1-11dd-bbfe-3dabce05a288
* add some code to support OGL4 debugging. Not enable on CmakeList.txt by default
* LOAD_PS/LOAD_VS were using a "std" argument instead of a reference.
* reuse the opengl context creation developed for GSdx. For the moment only enable OGL2
* Add some documentation for the zzShader API
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5188 96395faa-99c1-11dd-bbfe-3dabce05a288
* for the moment only the SW render is supported, hopefully HW will come some day. And linux only for the moment.
* Require an OpenGL3 GPU (==Dx10) ie Nvidia >= 8800, AMD >= HD2000)
* Require an OpenGL4.2 compatible drivers => no opensource driver supported neither Intel driver.
* Build by default without SDL support which will dropped later. You need to add this define "ENABLE_SDL_DEV" on Win.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5186 96395faa-99c1-11dd-bbfe-3dabce05a288
* put shade boost in HW setting (not sure it is HW only)
* Remove logz, useless since openGL support 32bits Z buffer
* Update hack section with a table. Note don't put MSAA (not yet implemented) to have a nice square
Note: user hack is enabled with "UserHacks" instead of "allowHacks"
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5184 96395faa-99c1-11dd-bbfe-3dabce05a288
The detection is based on a quickly reversed smode1 flag and needs to be done properly.
The timing itself also needs reversing and has only been tested on the VP2 intro video.
(That video now runs without audio / video desync when progressive scan is enabled :) )
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5179 96395faa-99c1-11dd-bbfe-3dabce05a288
various:
* rename the man page as requested by arch users.
* Delete pcsx2/* symlink. Was only useful for autotool removed few years ago.
* commit the top metadata of my previous branch merge.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5172 96395faa-99c1-11dd-bbfe-3dabce05a288
* new memory management
* asm was replaced by intrinsic
* new GLSL backend (AMD only) Cmake is probably broken anyway with the 2 plugins...
* and lots of others stuff that I forgot about it ;)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5166 96395faa-99c1-11dd-bbfe-3dabce05a288
Then it would be easier to separate CG/GLSL for copyright issue. CG is not compatible with the GPL...
Old version will be zzogl-pg-cg
Future version will be zzogl-pg
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5165 96395faa-99c1-11dd-bbfe-3dabce05a288
Previously: GSdx was switching between the configured renderer and the best SW renderer (best = DX11 if supported).
Now: If using DX: Switch SW/HW renderer and use the same DX version. If using SDL: same as before.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5164 96395faa-99c1-11dd-bbfe-3dabce05a288
* build the utility to prebuilt cg shader (zzogl-shader)
* build the shader (ps2hw_cmake.dat) that would avoid copyright issue for debian/ubuntu
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5159 96395faa-99c1-11dd-bbfe-3dabce05a288
cmake: keep all library for the linking of plugins
hex2h.pl: add svn:executable
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5157 96395faa-99c1-11dd-bbfe-3dabce05a288
* change the man page to gpl3
* add missing copyrigh for zerogsshader
* re write bin2cpp tool (in perl) to avoid any copyright issue => hex2h.pl
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5155 96395faa-99c1-11dd-bbfe-3dabce05a288
* update missing copyright on
+ plugins/GSdx/config.h
+ pcsx2/MTVU.h
+ plugins/zzogl-pg/opengl/ZZHacks.h
+ plugins/spu2-x/src/DplIIdecoder.cpp
* put a copyright for trivial script file
+ pcsx2/gui/Resources/rebuild.sh
+ tools/bin2app.sh
+ plugins/zzogl-pg/opengl/shaders.sh
* remove autotool from zzogl
* apply the patch for issue 1257. Thanks very much Micove for the hard work.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5154 96395faa-99c1-11dd-bbfe-3dabce05a288
* Only available on debug build
* ctrl F9 -> dump a couple of frames
* ctrl shift F9 -> start/stop a stream of frames.
* Build a replayer too, called pcsx2_ZZReplayLoader
Note: dump are saved in /tmp.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5152 96395faa-99c1-11dd-bbfe-3dabce05a288
Some games use volume slides combined with reversed phase.
Gigaherz tweaked the code to handle this nicer (fixes Mashed Drive to Survive noises).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5139 96395faa-99c1-11dd-bbfe-3dabce05a288
* Keep the state of the draw buffer (save few opengl call)
* AMD fix the shader unloading (12.2 and above). So disable the workaround
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5137 96395faa-99c1-11dd-bbfe-3dabce05a288
Change a texture cache hack to fix half the flickering FMV games.
It could have issues though, or randomly fix other stuff. Please test :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5130 96395faa-99c1-11dd-bbfe-3dabce05a288
Another refinement to the Wild Arms hack by KrossX.
The hack now only applies to one kind of geometry (sent using the unpacked UV handler).
This works nicer in Wild Arms as it fixes "jumpy" characters.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5124 96395faa-99c1-11dd-bbfe-3dabce05a288
Mouse over descriptions for the hacks. Thanks to KrossX again, these are great :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5123 96395faa-99c1-11dd-bbfe-3dabce05a288
Adding KrossX's Wild Arms text alignment hack to the new dialog box. This hack is actually very interesting for a number of games. It should work well in cases where game designers adjusted everything pixel perfect for the GS, that usually breaks with upscaling.
It should be generalized and renamed later.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5120 96395faa-99c1-11dd-bbfe-3dabce05a288
Team effort of KrossX and myself:
Finally adding that special game fixes / hack dialog I talked about for a while.
Committing this in several steps to clean up any issues easier.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5116 96395faa-99c1-11dd-bbfe-3dabce05a288
* request a minimum of 1 for texture dimension
* Use offscreen texture likes DX11.
* add more bits for extra texture format
* do operation on texture unit 0 to avoid ping-pong between unit 0/2
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5114 96395faa-99c1-11dd-bbfe-3dabce05a288
Committing a hack KrossX prepared (thanks) ;)
It can be used to fix bad character sprites in Gust games.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5101 96395faa-99c1-11dd-bbfe-3dabce05a288
* Use the new map interface/separate texture coordinate inside shader
* support new format on texture
Note: it is quite instable with various crashes and GL error but at least it compiles now :p
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5094 96395faa-99c1-11dd-bbfe-3dabce05a288
cmake: compilation fix on debian sid (and potentially ubuntu)
i18n: add some comment for potential language change in the future.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5088 96395faa-99c1-11dd-bbfe-3dabce05a288
* implement some missing shader for DATE, invert coordinate like strech rectangle
* Use glCopyImageSubDataNV nvidia extension to copy image (you need latest AMD drivers)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5086 96395faa-99c1-11dd-bbfe-3dabce05a288
* Fix some issue on wnd management, mix between sdl/ogl render
* create new gsdx option for ogl debug
+ debug_ogl_dump: start frame to dump when not 0
+ debug_ogl_dump_length: length of the dump
+ debug_ogl_shader: print shader debug
Note current dump option must be fixed to use linux path.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5067 96395faa-99c1-11dd-bbfe-3dabce05a288
* fix bad setup issue for constant blend factor
* Use a read framebuffer to read back the texture (less disruptive)
* cmake separate the loader to the main plugins
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5064 96395faa-99c1-11dd-bbfe-3dabce05a288
Let users set software parameters (extra threads and line AA) regardless of currently configured renderer.
Makes testing far easier.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5051 96395faa-99c1-11dd-bbfe-3dabce05a288
* fix some issue with cmake and new sdl define
* Implement shortcut key handling on linux.
+ some option are not yet implemented (fxaa)
+ gs dump can be created with <shift> <F8>
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5050 96395faa-99c1-11dd-bbfe-3dabce05a288
* add some define to enable/disable SDL so we could build gsdx without SDL
* debug: dump data based on frame count rather from draw count
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5044 96395faa-99c1-11dd-bbfe-3dabce05a288
* move all vertex buffer stuff into the class
* Bypass FIFO2 because of multithread issue with OGL(temporary workaround until we found a nicer solutions)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5035 96395faa-99c1-11dd-bbfe-3dabce05a288
* invert the index of fragment output. Seem to work better on Nvidia (strangely no impact for AMD)
* opengl support pitch too, so remove useless copy to an fbo
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5034 96395faa-99c1-11dd-bbfe-3dabce05a288
* Fix the Geomtry shader to output 2 triangles for quad primitive (ie 2R rendering)
- There is an AMD driver bug on geomtry shader input interface (well could be the spec too). Tell me if it still working on nvidia
* Add a workaroung to a previous AMD bug. It is impossible to unattach a shader so destroy the full shader pipeline...
* Be more strict on FBO management. Would optimize it later
* use a texture insted of a render buffer for depth-stencil management.
* add more dumping capabilities (in particular depth buffer)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5033 96395faa-99c1-11dd-bbfe-3dabce05a288
* It works with the HW renderer !!!
* Not sure this fix will work with dual blending but we will see later
* screen is vertically flipped again...
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5031 96395faa-99c1-11dd-bbfe-3dabce05a288
* fix vertex shader for HW renderer :) Remains the fragment part...
* add some dumping infrastucture (DUMP_START and DUMP_LENGTH)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5030 96395faa-99c1-11dd-bbfe-3dabce05a288
...
<avih> so, come on, touch spu2x to have recent rev number
Touched... hopefully I touched right. Felt awkward.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5024 96395faa-99c1-11dd-bbfe-3dabce05a288
* add the code to select the attribute (still the default but can be changed now)
* add a hidden option (condvar) to select between the 2 threads algorithm
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5021 96395faa-99c1-11dd-bbfe-3dabce05a288
* use memory instead of tr1 (was the experimental implementation of c++11)
* remove strict aliasing optimization because I saw some bad warnings
* Fix pthread of the previous commit. Use default attribute but it might need some tuning
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5020 96395faa-99c1-11dd-bbfe-3dabce05a288
* fix the new extra thread option in the gui dialog
* implement condition variable on linux. Will need some benchmark.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5017 96395faa-99c1-11dd-bbfe-3dabce05a288
This makes the Arc the Lad fog issue go away.
Review would be nice though :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5011 96395faa-99c1-11dd-bbfe-3dabce05a288
* go back to opengl 4.1 (nvidia driver is buggy with 4.1).
* fix the backbuffer allocation. bad order of parameter
* fix remaining glsl error
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5006 96395faa-99c1-11dd-bbfe-3dabce05a288
* rework a little the shader to be hopefully compatible with nvidia
* request a pure 4.2 context (all gpu 4.1 capable support 4.2 anyway)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5003 96395faa-99c1-11dd-bbfe-3dabce05a288
- 0: no multi-threading
- 1: gif packet processing and texture uploads run parallel with rendering, the slowest decides the fps, dual-cores can still suffer by the spin loops, I'll check that when I compile pcsx2 on my notebook
- 2: two rendering threads, on a decent cpu packet processing is going to be slower now, this is probably going to increase fps the most on quads
- 3: small fps increase
- 4+: even smaller.
If you have a quad cpu with HT, 6 is the max, 1 + 1 is needed for pcsx2 and gsdx's basic tasks.
Also hacked palette writes to not force a read-back in hw mode (added in previous rev), it hit render targets in a surprising large number of games.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4998 96395faa-99c1-11dd-bbfe-3dabce05a288
* rewrite the vertex management with a nice GSVertexBufferState object
* extend GSUniformBufferOGL to use a better object interface
* properly delete texture
* manage buffer with glMap* instead of glBufferSubData
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@4990 96395faa-99c1-11dd-bbfe-3dabce05a288
* Enable interlace feature. (note I'm well aware that interlace crashes with SDL)
* remove useless callback debug function
* handle the y axis differently. Move vertex to follow right-hand system (render everything in reverse) then flip the y-axis for the screen rendering
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@4987 96395faa-99c1-11dd-bbfe-3dabce05a288
* improve vertex management with a vertex array. Decorrelate vertex from strech rec and others func (later for the HW renderer)
* fix the crash on nvidia when closing the window
* clean some texture management code
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@4985 96395faa-99c1-11dd-bbfe-3dabce05a288
* add a callback for GLERROR. Allow to breakpoint on GSDeviceOGL::DebugCallback (gdb is completely lost on amd driver, hope it is better on nvidia)
* Add some empty glsl convert to shutup some useless debugging error
* request an advance opengl context without pre 3.0 feature.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@4983 96395faa-99c1-11dd-bbfe-3dabce05a288
* flip y-axis in merge stage
* default to xlib window managment (the dynamic switch between sdl and xlib crashi but SDL will probably dropped later)
* improve management of FBO, draw buffer
* try to fix some issue with glClearBuffer but spec is not clear.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@4982 96395faa-99c1-11dd-bbfe-3dabce05a288
* implement the saving of texture (take bmp SW code)
* fix the missing "enable attribute code" and the typo in glsl. It works now !!!
* rework a little texture to pack texture into a temporay buffer when src pitch != dst pitch
* try to replace sdl with pure xlib (not yet enabled by default but it seems to work)
Note there still a minor issue, coordinate are different between DX and OGL (upper-left vs lower-left) so the image is inversed.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@4981 96395faa-99c1-11dd-bbfe-3dabce05a288
* implement shader code (subset that seem to be used in SW mode)
* some hack to fix some alignment issue with GSVertexPT1 structure
* Lots of various opengl fixes. Remaining unsupported GL feature are inside SDL.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@4974 96395faa-99c1-11dd-bbfe-3dabce05a288
* Properly allocate/delete opengl object
* Request a debug context in SDL, add some code to log opengl error
* Fix context creation. For the moment only request ogl4.1 (AMD does not support yet 4.2 and it needs libglew1.7 too...)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@4973 96395faa-99c1-11dd-bbfe-3dabce05a288
* make a rough implementation of most of the opengl device interface. Only a savestate nothing to expect yet.
* depend of libglew 1.6 (normally 1.7 but I manually defined the only missing function)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@4971 96395faa-99c1-11dd-bbfe-3dabce05a288
Current goal is to implement the SW render with pure opengl instead of SDL.
I plan to use OpenGL4.2 capability (the latest actually) => need libglew1.7 and a Dx11 capable GPU/drivers.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@4970 96395faa-99c1-11dd-bbfe-3dabce05a288
The problem would cause lost controls or "Controller disconnected" messages in a few games.
This fix is temporary and only works with Lilypad, until we take care of the core issue.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4959 96395faa-99c1-11dd-bbfe-3dabce05a288
* new dev option CMAKE_BUILD_PO: control regeneration of po file. By default true in release build
* Add a hack for multiarch version of wxwidget
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4951 96395faa-99c1-11dd-bbfe-3dabce05a288
- Use float instead of int for the video framerate.
- Use 59.94 instead of 60 for the ntsc framerate.
This replaces a previous hackfix with a better one, but it's still not ideal.
The ideal solution for the video encoding side would be to use an actual fraction (60000/1001) and pass this fraction to the encoder.
The ideal solution for the gsdx side would be to deduce the real framerate from the timing parameters.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4925 96395faa-99c1-11dd-bbfe-3dabce05a288
Skygunner crashing on boot.
James Bond 007: Everything or Nothing doing a huge Vram usage when opening the weapons screen and making the system crawl at it. Couldn't test much with this one and only added the US version for now.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4921 96395faa-99c1-11dd-bbfe-3dabce05a288
Added a new option to the hacks section that sends a tabulator key press to PCSX2.
This toggles the turbo mode of the emulator, so users with pads don't have to reach out to the keyboard anymore when they want to switch between normal and turbo gameplay :)
Note:
I choose R3 for now since most games don't use that button. This could be made configurable in the future though.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4916 96395faa-99c1-11dd-bbfe-3dabce05a288
See tools/dynacrchack/DynaCrcHack.c for full instructions.
For development of CRC hacks (and just for the fun of creating such a system), Allows GSdx to load and use CRC hack logic from an external DLL, and reload it, at runtime, whenever this DLL changes (but act normally if this DLL isn't found).
This external DLL is compiled from a single C source file (a sample is provided, containing the current MGS3 CRC hack logic). There's also a system to automatically compile this C file into the DLL whenever the C file is modified, thus creating a system of instant [save C file] -> [GSdx switches to the new logic].
It's actually a pretty cool system, and might have other usages where it's useful, for the sake of tests/development/tweaking, to modify code logic during runtime. The overhead of such system compared to pre-compiled code is very low (e.g., in the case of CRC hacks which are called thousands of times/sec, I couldn't notice any difference in performance).
Compilation of the C file is currently done using TCC (Tiny C Compiler - http://bellard.org/tcc/ - extremely fast, light and powerful). TCC itself needs to be downloaded separately (~250K download, no install required). The system currently supports Windows only.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4914 96395faa-99c1-11dd-bbfe-3dabce05a288
cmake: automatically install desktop/doc/xpm file in package mode as requested by Rafael
debian: align on latest change
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4909 96395faa-99c1-11dd-bbfe-3dabce05a288
- Upgraded some components of qemu-usb with a somewhat newer version from late 2010 (it was a recent version when I did the upgrades).
- Fixed the plugin to work with recent versions of pcsx2.
I will try to integrate the plugin into the build system tomorrow, and fix some more issues.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4899 96395faa-99c1-11dd-bbfe-3dabce05a288
Important: this is not a fix of the cause of the crashes, it just bypasses cases of sure crash. Once that spot is bypassed, things can go wrong elsewhere. Generally, however, things just continue normally. E.g. GT4 (camera changes), Tourist Trophy (camera changes), MGS3 (codec screen when CRC hacks are disabled) and probably more - now don't crash anymore, even at high resolution (but might still get some slowdowns).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4895 96395faa-99c1-11dd-bbfe-3dabce05a288
The list is case insensitive and order insensitive.
E.g. Disable all CRC hacks: CrcHacksExclusions=all
E.g. Disable hacks for these CRCs: CrcHacksExclusions=0x0F0C4A9C, 0x0EE5646B, 0x7ACF7E03
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4894 96395faa-99c1-11dd-bbfe-3dabce05a288
onepad: properly connect the latest button
sdl: do not compile some useless files (which fail to compile on my system btw)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4879 96395faa-99c1-11dd-bbfe-3dabce05a288
onepad: add an option to control forcefeeback level
cmake: add an hidden option (SHARED_SDL) to build SDL as a shared library to allow pre-load
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4873 96395faa-99c1-11dd-bbfe-3dabce05a288
This hopefully avoids the issues appearing after long periods of continuous playing.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4871 96395faa-99c1-11dd-bbfe-3dabce05a288
Refactored the ProLogicII code into a separate file and changed it to floating point math for easier debugging.
Added a basic ProLogic decoder that doesn't try to do surround separation into L/R.
The setting does not have a GUI option yet, since the PLII decoder is experimental and doesn't give too good results.
To change it, set DplDecodingLevel to one of: 0=none, 1=ProLogic, 2=ProLogicII. The default is 0.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4859 96395faa-99c1-11dd-bbfe-3dabce05a288
Causes internal buffer size allocations to be as small as possible within portaudio and the OS, so it can have bad effects if the number turns out to be too small.
Would be nice if someone with a "real" audio card (Audigy, X-fi or similar) tested WASAPI Exclusive Mode, KS or ASIO with this change.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4851 96395faa-99c1-11dd-bbfe-3dabce05a288
On 4840 I added dynamic tuning (which may have slight negative effect on stability) to adapt to different iterations/sec of different systems, but I didn't like this system too much. On 4840 I also made a small change which, I now understand, factors out the differences between systems in this regard, essentially making dynamic tuning not required anymore. So now dynamic tuning is disabled.
If you enable the SPU2X messages (and the overrun messages), you would see log messages similar to this:
buffers: 44 ms ( 89%), tempo: 1.000000, comp: 1.000, iters: 764, (N-IPS:750 -> avg:50, minokc:50, div:100)
If the iters value (764 at this example) on your system when running at 100% speed (50/60fps) is higher than 1000 or lower than 500, then please comment here and post few of the log lines.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4843 96395faa-99c1-11dd-bbfe-3dabce05a288
I'm not fully happy with it, as it's a bit complicated for my taste, so feedback about how it performs will be appreciated.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4840 96395faa-99c1-11dd-bbfe-3dabce05a288
The problem as I understood is is incomplete COLCLAMP support.
Thanks to sudo for the hack :)
(Unfortunately we couldn't find out more about why these FMV also *all* flicker.)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4837 96395faa-99c1-11dd-bbfe-3dabce05a288
1. Much better behavior at extreme low/high FPS (less skips/lower latency).
2. As a result, I was able to reduce internal latency by 50% (50ms config now equals 100ms before).
Recommended latency config for stretcher: 100ms.
For rhythm games, if your FPS is very stable, I recommend 50ms.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4834 96395faa-99c1-11dd-bbfe-3dabce05a288
Summary of changes...
Fixed menus and HUD for Spyro: A New Beginning and Spyro: the Eternal Night.
Fixed missing dialogs and reduced the VRam usage a bit for Tales of Legendia ("8-bit textures" help a bit more with Vram/speed). Should be playable now in hardware mode. Thanks to rama for figuring it could be hackfixed this way and the initial patch :)
Half-screen fixes for Ty the Tasmanian Tiger 2, X-men Origins: Wolverine, Call of Duty: World at War - Final Fronts.
Modified the Star Wars: Force Unleashed hackfix a bit, shouldn't have the see-thru objects anymore.
Also modified the Metal Gear Solid 3 and Gran Turismo 4 hackfixes as they needed different skip values for each region (PAL/NTSC). Thanx to avih for the region code... and the free C/C++ lessons :P
The hackfix for Sly 3 was still showing stripes for 3-D and two-player modes, fixed for NTSC version now and hopefully works for PAL one too.
Couple GameDB updates after the gif rewrite.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4833 96395faa-99c1-11dd-bbfe-3dabce05a288
(they were crashing with the new Gif rewrite... shouldn't anymore)
Although Jake had added the new "GSgifTransfer" callback to these plugins in the past, he forgot to modify the .def files so pcsx2 can actually use them :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4832 96395faa-99c1-11dd-bbfe-3dabce05a288
Pcsx2 now has a gifUnit class which acts like the ps2's gif and executes a single gif transfer at a time (and performs path arbitration according to priority and path3 slicing).
This new code is generally a speedup for most games. Particularly VU heavy games like GoW.
This revision breaks old saved state compatibility so don't update if you wish to keep playing with your old saved states.
Leave comments if this revision fixes or breaks anything...
Message to GS Plugin authors:
This new code now uses only 1 gif callback to transfer data to the gs plugin (GSgifTransfer).
pcsx2 also is garaunteed to send full GS primitives to the plugin. So you don't have to account for partial-transfers anymore.
Thanks goes out to shadowlady who tested around 500 games for me :D
Note 1: The old gif code is still in this revision, and can be enabled by the USE_OLD_GIF macro. The old code will be deleted soon.
Note 2: This revision also enables assertion dialogs in devel builds, and changed a lot of assume cases into assertions.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4821 96395faa-99c1-11dd-bbfe-3dabce05a288
Should prevent erratic tempo variations near 100% speeds (compared to the previous implementation), and generally allow much lower latencies while keeping the audio stable (on all audio systems).
E.g. my tests show that at 70ms latency it can properly handle sharp speed variance of 50%-100%. If your game generally doesn't get slower than 70% speed, 50ms latency would probably be fine.
Note that on extreme scenarios (e.g. extreme sharp drops in speed) it doesn't try to keep the audio continues at all costs. If your game exhibits such behavior (audible clicks, etc), increasing the latency a bit at the config would help.
Comments on actual performance/quality on different systems would be greatly appreciated.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4820 96395faa-99c1-11dd-bbfe-3dabce05a288
Adding an option for the de-alias filter implemented in r4118,
currently overemphasizes the highs so it's disabled by default
but I like it for some games :P
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4809 96395faa-99c1-11dd-bbfe-3dabce05a288
* use the standard 3 step flow: cmake, make, make install
* Remove L10N_PORTABLE option, superseeded by PACKAGE_MODE
* Extend PACKAGE_MODE to select the install directory (FHS or local bin)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4805 96395faa-99c1-11dd-bbfe-3dabce05a288
it kinda works better if you make the hackfix use the function...
GSdx: Dragon Ball Z Budokai Tenkaichi 2's hackfix works with NTSC version now too.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4792 96395faa-99c1-11dd-bbfe-3dabce05a288
zzogl-pg: disable opengl3 context creation for the moment (crash with geforce7)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4789 96395faa-99c1-11dd-bbfe-3dabce05a288
Adjusted the SW Battlefront hackfix for the PAL versions (NTSC-U and PAL versions have the same CRC but use slighty different buffer/texture addresses...)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4787 96395faa-99c1-11dd-bbfe-3dabce05a288
GSdx: remove some linux dialog options which were already controlled by PCSX2
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4780 96395faa-99c1-11dd-bbfe-3dabce05a288
The Lord of the Rings: the Third Age (Removing fat stripes on screen).
Digimon Rumble Arena 2 (Half screen issue).
Star Wars - The Force Unleashed (Hiding HUD and 3d issues. Not perfect and NTSC-U only, not sure if it works with PAL).
Star Wars Battlefront 1/2 (Huge VRAM usage issue. NTSC-U only, not sure if it works with others).
Black Hawk Down - Team Sabre (Half screen issue and removes the night vision filter which was broken and using a lot of VRAM).
Minimal changes to other CRC hackfixes and GameDB.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4766 96395faa-99c1-11dd-bbfe-3dabce05a288
With this, reverb maybe sounds somewhat like the PS2 for the first time ever!?
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4764 96395faa-99c1-11dd-bbfe-3dabce05a288
Test FFX tone when it's your turn to act, FFX underwater music?, xenosaga movie skipping sound effect, god knows what else.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4754 96395faa-99c1-11dd-bbfe-3dabce05a288
* fix forcefeedback. It works now, albeit it slow down the emulation...
* Add an option hack for ds3 usb drivers
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4750 96395faa-99c1-11dd-bbfe-3dabce05a288
* test the reading of the configuration file (will be safer with the previous configuration format).
* bump the version
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4748 96395faa-99c1-11dd-bbfe-3dabce05a288
zzogl-pg win: Patch by Kosmos in the forums, corrects a typo that was causing window size to appear as height x height instead of width x height in windows OS (was breaking fullscreen at it too). Thanks :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4734 96395faa-99c1-11dd-bbfe-3dabce05a288
* Gsopen2 support for GS plugins => Support of the PCSX2 GS window configuration panel. Support of all PCSX2 shortcut.
* new shortcut: shift-f12 to stole the input. ZZogl shortcut must be prefixed with ctrl
* onepad: Support/fix/improve of configuration gui, multiple key, mouse/wiimote for analog joystick, dualshock3/sixaxis (basic), dual pad and experimental forcefeedback
Note: it is advices to delete OnePAD.ini
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4731 96395faa-99c1-11dd-bbfe-3dabce05a288
We need testing to determine how these actually behave and want to do some game testing to find other partially implemented registers before that.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4727 96395faa-99c1-11dd-bbfe-3dabce05a288
SPU2-X: Found a crash on writing to the low word of the effects end address during testing.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4717 96395faa-99c1-11dd-bbfe-3dabce05a288
GameDB: Onimusha 4: Dawn of Dreams playable again with a patch. Minor other updates.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4706 96395faa-99c1-11dd-bbfe-3dabce05a288
Rama asked me to note that it still doesn't sound right yet. I will try to figure out the reason later.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4688 96395faa-99c1-11dd-bbfe-3dabce05a288
Before trying this revision, make sure your speakers/headphones are not too loud.
I have been looking at it for a long while, and I decided it couldn't be just "somewhat similar" to a Schroeder Reverberator.
The SPU2 designers would have actually used a working design for a reverberator, so chances are they implemented Schroeder's.
I haven't had the chance to test this code in spu2-x, but the results in the "Impulse Response Analyzer" tool I coded specifically for this, are positive.
Some tweaks might be needed, because I'm not sure if Neill got the IIR part right or not.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4678 96395faa-99c1-11dd-bbfe-3dabce05a288
Some work on the fake reverb. Renamed it to "Custom Reverb" and the original to "SPU2 Reverb".
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4665 96395faa-99c1-11dd-bbfe-3dabce05a288
- Replaced the reverb boost control with a selector for normal reverb or a new mode we call "fake reverb".
- This new mode (coded by gigaherz) is intended as an alternative for the only partially working "normal reverb".
- The new mode will have to be tuned yet to sound good.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4662 96395faa-99c1-11dd-bbfe-3dabce05a288
Details:
- It seems that due to legacy reasons, Lilypad is setting the current state at the GS window title, as a hack which is enabled by default (at Lilypad's main GUI tab). However, it's buggy because it only changes the display when (shift/)F2 is pressed, while the current slot actually also changes when loading/saving state via the PCSX2 main menu, so it can get out of sync (possibly with unpleasant results, especially when saving). Now it's disabled by default at Lilypad, and if enabled, displayed as "State(Lilypad)".
- PCSX2 itself now properly handles the current State slot at the GS title window.
Note: ZeroGS still changes its title independently (not via the "standard" PCSX2 mechanism) so Lilypad's title hack might still be useful for it. However, it's still buggy and can get still out of sync.
TODO: Remove this option completely from Lilypad because it's buggy? ZeroGS can still use it, but I think it can cause more harm than good. What do you think?
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4656 96395faa-99c1-11dd-bbfe-3dabce05a288
Fallback to the old render target read for games that do block level reads (Gust titles).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4643 96395faa-99c1-11dd-bbfe-3dabce05a288
Fixed Busin 0: Wizardry and Chaos Legion in hardware rendering, possibly others (that read back the output) as well.
The fix could use a review though, as I'm not sure it's safe :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4639 96395faa-99c1-11dd-bbfe-3dabce05a288
New define "NO_CRC_HACKS", for testing how games work without hacks easily.
Gets enabled together with the no cache define but can be toggled individually as well.
Also I've been told to mention that these changes are not directly benefiting the end user.
Gamers: This doesn't fix your DragonBall, okay? :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4636 96395faa-99c1-11dd-bbfe-3dabce05a288
- Allow filtering setting for native resolution hardware rendering, as it's not tied to the resolution.
- Add ST / UV coordinate tweaking defines to more easily debug small rendering glitches.
- Add a define to bypass the hardware renderer texture cache. With this enabled, speed drops to slower than software rendering.
It fixes nearly all hardware rendering issues though and can be used to see how games *would* look if we had a new cache ;)
Thanks for the help, sudonim :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4635 96395faa-99c1-11dd-bbfe-3dabce05a288
Small change to the Metal Gear Solid 3 hackfix. Portraits in codec conversations show now without much of a performance hit, lemme know if this one breaks anything in the game.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4631 96395faa-99c1-11dd-bbfe-3dabce05a288
Configurable output volume, ini only for now.
Can be set with "FinalVolume", from 0 to 100.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4619 96395faa-99c1-11dd-bbfe-3dabce05a288
Also added Valkyria Profile 2 Italy to the gamedb and GSdx crc list. By Leucos.
Thanks guys :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4618 96395faa-99c1-11dd-bbfe-3dabce05a288
[0]: it needs gold linker, tuning parameter large-function-growth to 5000 and gcc-4.6.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4617 96395faa-99c1-11dd-bbfe-3dabce05a288
i18n: allow to translate a part of system default for the language selection.
Rational: In case system default is incorrect, we will still get an english part (with the unknow-language translation)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4603 96395faa-99c1-11dd-bbfe-3dabce05a288
1/ Allow a resize of the render zone.
2/ Do not update title in fullscreen which create some flashes
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4591 96395faa-99c1-11dd-bbfe-3dabce05a288
gsdx: add a missing include (fix gcc-4.6). Force an init of sdl to allow in-emulation configuration
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4587 96395faa-99c1-11dd-bbfe-3dabce05a288
Also a few changes for Tekken 5, "City at sunset" stage, hopefully there's nothing else wrong with this game anymore.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4585 96395faa-99c1-11dd-bbfe-3dabce05a288
Also removed the effect in the burning temple stage which had thin lines over it when using high res.
GameDB: More updates ~_~
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4562 96395faa-99c1-11dd-bbfe-3dabce05a288
* Add a map to handle the configuration
* Connect the window size option to the gui option
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4539 96395faa-99c1-11dd-bbfe-3dabce05a288
Tweaks to async mixing, making the buffer stay closer to 50% filled and also making it more effective on sharp FPS drops.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4500 96395faa-99c1-11dd-bbfe-3dabce05a288
Fixed assumption that all paths received from pcsx2 end in the path separator.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4484 96395faa-99c1-11dd-bbfe-3dabce05a288
- Toggling mipmapping prints a message to console now. Easier to test this way :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4451 96395faa-99c1-11dd-bbfe-3dabce05a288
Fix the timestretch "Reset Defaults" Button to actually work (Winodws. Linux already works, I think.)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4436 96395faa-99c1-11dd-bbfe-3dabce05a288
- Set default interpolation mode to "Catmull-Rom". It most closely mimics the original sound.
- Bit of documentation and a fix for Async mixing core resets.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4330 96395faa-99c1-11dd-bbfe-3dabce05a288
Fixed an ENDX register bug and switched the dealias filter with the frequency response filter.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4322 96395faa-99c1-11dd-bbfe-3dabce05a288
- GSWnd is not implemented, no config dialogs either
- no output, just the null device
- threading classes were not tested (my first experience with pthread)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4315 96395faa-99c1-11dd-bbfe-3dabce05a288
* fix linux compilation debug build
* Add a linux option to select the API output of portaudio (ALSA, JACK and OSS)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4224 96395faa-99c1-11dd-bbfe-3dabce05a288
Avih renovated the configuration dialog a bit. It makes lots more sense now, thanks :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4173 96395faa-99c1-11dd-bbfe-3dabce05a288
* resolve a namespace conflict between std::count (due to a 'using namespatce std;' directive) [debug builds only]
* switch all MSW-specific code to be unicode compliant so that unicode-only Utilities lib can be used under Windows. [should work, but needs proper testing]
* fix some properties sheets so that windows-specific DLL dependencies (common controls and UUID stuff provided by Windows) are linked automatically into wx/utils based plugins.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4140 96395faa-99c1-11dd-bbfe-3dabce05a288
Adapted the de-alias and frequency response filters from nenolod's "UPSE", a high quality PSF player.
(http://nenolod.net/projects/upse/)
These 2 filters are present on the real SPU(2) as well and are meant to increase the audio quality
by fixing aliasing and then equalizing the final result.
It currently mostly seems to accentuate the presence and highs.
Thanks a ton for hinting at this and for letting us adapt your code for SPU2-X, nenolod! :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4118 96395faa-99c1-11dd-bbfe-3dabce05a288
* increase a little the hack window (better for screenshot, not too big for small screen)
* Use generic clut function in FlushDecodeClut
* Various clean and comment
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4113 96395faa-99c1-11dd-bbfe-3dabce05a288
* PCSX2: Added GSgetTileinfo2 and deprecated=removed GSgetTitleInfo
* GSdx: moved to the new GSgetTitleInfo2
* New PCSX2 with new GSdx will have the new functionality, all other combos remain with old functionality.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4073 96395faa-99c1-11dd-bbfe-3dabce05a288
Here's his changelog:
GSdx, PCSX2: Fixed broken GS info at the title bar
* If the plugin doesn't support the API, PCSX2 will display only the image mode (progressive/interlaced field/frame), NON i18n!
* If the plugin does support the API, PCSX2 will not display the image mode, and instead display the info from the plugin
* GSdx now properly sends title info: resolution, image mode, deinterlace mode (weave - bff, etc)
* To enable the full GSdx title info as it used to work before it got broken: uncomment //#define GSTITLEINFO_API_FORCE_VERBOSE at GS.h of GSdx.
NOTE: When using an older pcsx2.exe with newer GS plugin, the title would contain duplicate image mode info. All other combos work fine.
* PCSX2 still displays the performance info, etc in the title bar.
Thanks a bunch for bringing this information back, Avih! :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4070 96395faa-99c1-11dd-bbfe-3dabce05a288
* Create a nice FORCE_TEXDESTROY_THRESH define
* do not call GetMemoryTarget twice in a row. There is already a check in the core function.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4062 96395faa-99c1-11dd-bbfe-3dabce05a288
Fix ADMA not getting read when in spdif bitstream mode (which some games offer for FMVs).
This option would cause them to hang indefinitely.
There's something wrong with the read audio but at least it doesn't die ;)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4055 96395faa-99c1-11dd-bbfe-3dabce05a288
* For 24 bits texture: there is some spare room in gsmemory so do not bother to avoid overflow in the copy
* Port some swizzle function to sse2. It would avoid some copy in a temporary buffer
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3984 96395faa-99c1-11dd-bbfe-3dabce05a288
* use a size of 4 for the gsvertex array (allow compiler to optimize a % into an and)
* Reuse previous computed vertex for _strip & _fan primitives
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3973 96395faa-99c1-11dd-bbfe-3dabce05a288
* Use addvertex in register (stole from the new register code).
* Use primNext at the end of KickVertex function allow to use current index in draw primitive.
* Create a primPrev
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3971 96395faa-99c1-11dd-bbfe-3dabce05a288
* Copy wavfile back to spu2x directory. Note I shrink the file to only usefull feature to keep it small.
Rationale: Wavfile is not delivered by the soundtouch library (it is an example).
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3948 96395faa-99c1-11dd-bbfe-3dabce05a288
* Finish GAS removal. I use SSE2 instead of mmx because it was easier to write (faster anyway).
Code seems equivalent between GAS & intrinsics but control flow will need a good testing (and some explanation)
Note: I also add a basic C version for reference/debug (not tested yet)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3837 96395faa-99c1-11dd-bbfe-3dabce05a288
* remove convfn parameter template. Use instead a boolean (easier & fix windows)
* Protect asm statement with __LINUX__ for the moment
* apply the fbm mask in SSE2 also for 32bits texture. Reduce stack activity.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3816 96395faa-99c1-11dd-bbfe-3dabce05a288
* speed resolve 32bits functions
Note0: I restore a positive counting in the inner loop (was simpler for a first try)
Note1: I need to update the template to support 16bits textures.
Note2: If someone can nicely template the update_pixel macro feel free to do it ;)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3804 96395faa-99c1-11dd-bbfe-3dabce05a288
* Remplace RESOLVE_32_BIT with a nice template (only a 8bytes format for the moment, the others part is not used anyway)
* copy the function RGBA32to16 due to 'missing external linkage' ???
* Remove trailling space
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3772 96395faa-99c1-11dd-bbfe-3dabce05a288
* restore widescreen option. Force a 4/3 mode when disabled.
* Also force 4/3 in window mode. In widescreen and fullscreen uses all the screen.
* Clean
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3740 96395faa-99c1-11dd-bbfe-3dabce05a288
* add more locking to X11. Never too safe.
* Free the visual (memory leak)
* Only search event of the current window
* force 4:3 in fullscreen mode (will need a toggle box to enable/disable it)
* do not grab cursor on debug (this one will need more test)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3739 96395faa-99c1-11dd-bbfe-3dabce05a288
* use alt-enter to toggle the fullscreen mode. (toggle quickly multiple time to crash it...) I suspect need of XLockDisplay & XUnlockDisplay
* escape: will quit for both mode
Not yet done:
* good support of fullscreen conf flag. Which is wrong for the moment. (actually may be a source of crash)
* Better support of widescreen screen
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3731 96395faa-99c1-11dd-bbfe-3dabce05a288
Spu2x: Use a standard destructor (POD safe stuff). Fix various segmentation faults (Issue 846)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3702 96395faa-99c1-11dd-bbfe-3dabce05a288
Another round of configuration dialog renovations.
Fixes the leftover "Skipdraw" text when hacks are disabled.
Group the options a bit nicer. Group hardware Anti Aliasing with hacks.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3693 96395faa-99c1-11dd-bbfe-3dabce05a288
* add a new hack (linux only) to enable the automatic skip draw (ease testing and probably remove later)
* forget GSC_HauntingGround from my last copy-past....
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3675 96395faa-99c1-11dd-bbfe-3dabce05a288
* Use memset instead of GSC_Null, It saves a function call and I do not thinks it was related to the previous crash. Arcum can you test it ?
* Tune the GOW value.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3666 96395faa-99c1-11dd-bbfe-3dabce05a288
* Fix some parameter
* Use some functions created by Zeydlitz to reduce the code.
Current status: blur effect is removed in FFX with UserHacks_SkipDraw=1 and various random crashes ;)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3655 96395faa-99c1-11dd-bbfe-3dabce05a288
* move content of version.h into CDVDlinuz.h (avoid a conflict with version.h located in /usr/include/alsa)
* allow cmake to build it.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3654 96395faa-99c1-11dd-bbfe-3dabce05a288
Added Haunting Ground to the list of games that get their post processing automatically removed.
The game still shows a badly blended fog but is otherwise nicely playable now.
Hacks are from an unknown coder. Thanks for figuring it out! ;)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3642 96395faa-99c1-11dd-bbfe-3dabce05a288
* move machine optimization in the global setup. In same time use i686 instead of i486
* Also build the debug with fvisibility=hidden No reason to use it only on devel. (actually same as codeblock)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3628 96395faa-99c1-11dd-bbfe-3dabce05a288
* common.h is mostly based on multiple file in ffmpeg. So apply the same licence as the original files
* Others zerofrog's file: add a note on the missing copyright notice.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3627 96395faa-99c1-11dd-bbfe-3dabce05a288
Note: zzogl is the only left (well zero plugins also) but I will wait that we port CALLBACK to EXPORT_C_
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3612 96395faa-99c1-11dd-bbfe-3dabce05a288
Add 2 attributes to the interfaces functions
- externally_visible: avoid gcc to remove the function when lto is enabled
- visibility("default"): default == public... Allow to hide all others symbols: see http://gcc.gnu.org/wiki/Visibility for details
onepad:
* Remove __cplusplus define, everythings is in C
* define 2 interfaces functions with EXPORT_C_ instead of CALLBACK.
cmake:
* add recent added .h files
* add fvisibility optimization. Plugins size was reduced of ~10% much more than expected :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3611 96395faa-99c1-11dd-bbfe-3dabce05a288
DevNotes: DevCon logs are now available in *Release* builds as well as Devel builds, and can be enabled from the Console window's "Sources" menu. They are disabled by default in Release builds, and are always enabled regardless of the ini setting in devel builds. Debug logs are still strictly available in debug builds only.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3609 96395faa-99c1-11dd-bbfe-3dabce05a288
- Remove the DSound output module hardware buffer option which caused more harm than good.
Also fixed that IOPx2 hack leftover.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3597 96395faa-99c1-11dd-bbfe-3dabce05a288
Move the dx11 check to GSInit, didn't like it only getting called on renderer changes in the middle of emulation.
PCSX2:
Report the savestate version as hex if loading an incompatible state. Looks better than -19793434481 :p
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3579 96395faa-99c1-11dd-bbfe-3dabce05a288
Apply hackfix for Wild Arms 4. Thanks Lana and 89CamaroIROCZ :)
We're still missing the PAL and JAP CRCs though. Issue 185 collects them.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3557 96395faa-99c1-11dd-bbfe-3dabce05a288
* Implemented support for legacy GS plugins (considered anything prior to the Reordering merge).
* Added a lot of 'const' qualifiers to the GSgifTransfer functions in both GSdx and zzogl.
DevNote: GS plugins shouldn't be modifying the data provided to them from PCSX2 -- zzogl wasn't, GSdx was. I had to do a little bit of juggling to remove the mem modifications from GSdx's TEX0/TEX2 handlers. With luck, nothing's broken. ;)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3536 96395faa-99c1-11dd-bbfe-3dabce05a288
* Removed extern "C" and applied static const to s_clut16 vars. Should be fine since the old x86.S files that needed extern "C" have been removed from zzogl.
* Fixed a compilation error in Win32/Debug builds.
* Changed some references of DEVBUILD ZEROGS_DEVBUILD. Not sure if all of them should be changed over or not, so I just stuck to some of the more obviously correct bits.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3500 96395faa-99c1-11dd-bbfe-3dabce05a288
* use volatile keyword to avoid gcc removing the function...
* Use name variable in asm code instead of %n
* Fix constraint on s_clut16mask. There are input, not output...
Arcum can you look at this 2 things thanks.
-> code is still broken in one place. s_clut16mask & s_clut16mask2
re null in the code generated by gcc ! To fix it (do not know why), we can declare them as static. But I'm not sure
on the impact and I can not test windows...
-> s_clut16mask is declared as a 256bits numbers instead of 128 !
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3494 96395faa-99c1-11dd-bbfe-3dabce05a288
* add xmm register to the clobber list.
* Add input contrainst (avoid to depend of the function attribute and easier to understand)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3480 96395faa-99c1-11dd-bbfe-3dabce05a288
* Major rework of the linker flags. Use some globals flags for -s and -m32
Add a USER_CMAKE_LD_FLAGS variable. Easier to play with advanced link flags for future gcc version (>=4.5)
* Remove useless stub file
[debian]
* minor dependency fix
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3475 96395faa-99c1-11dd-bbfe-3dabce05a288
* include a common file to define sysmessage
* Do not compile useless CDVDnull/Linux/* files
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3460 96395faa-99c1-11dd-bbfe-3dabce05a288
DevNote for zzOgl coders: Implementation of this callback can just double up on m_path[0]. I used a separate instance at m_path[3] mostly because it was easier than trying to fight around the existing PATH1 nloop hack, which is still needed for backward compat with existing and earlier versions of PCSX2.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3454 96395faa-99c1-11dd-bbfe-3dabce05a288
* Upgrade SGI license to 2.0, opensource compliant :) and GPL compatible :)
Note: previous version (1.1) is not free. And therefore not compatible with GPL. Fortunately for us, there is a license clause that allow upgrading the license.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3433 96395faa-99c1-11dd-bbfe-3dabce05a288
* Add missing copyright according issue 792
* Miss few files from the previous commit ^^
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3429 96395faa-99c1-11dd-bbfe-3dabce05a288
[plugins] remove __forceinline on variadic function that has been broken by the removal of -fPIC.
[debian] update readme about fpic status. And add some lintian overrides.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3395 96395faa-99c1-11dd-bbfe-3dabce05a288
* Fix BIOS graphical errors by re-introducing part of the PATH1 hacks, which is still needed until further notice.
* Likely fix for DX10+ cards crashing on Configure... (still can't test directly because MSI sucks, sorry folks)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3370 96395faa-99c1-11dd-bbfe-3dabce05a288