Commit Graph

4935 Commits

Author SHA1 Message Date
gregory.hainaut 0a9e9f9834 cmake: fix sdl switch typo (close #1448)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5761 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-11-12 18:56:15 +00:00
refraction 8eb50263cf Always the same isn't it? you always see a blinding cock up you made after you commit it.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5760 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-11-05 14:41:57 +00:00
refraction 45d790b854 Path3 Masking: Fixed up some issues causing Gunfighter 2 not to work. Closes Issue 1445
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5759 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-11-05 14:40:25 +00:00
sudonim1@gmail.com 54fa8719a3 EE: Whoops! Fairly major oversight in the COP2 flag delay logging code causing false positives.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5758 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-11-03 19:59:34 +00:00
sudonim1@gmail.com 3e4153597b GameDB: Patch for Run Like Hell (US), same as EUR.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5757 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-11-02 22:38:51 +00:00
gregory.hainaut 5df7af9bc5 cmake:
* new option SDL2_API
* drop GLSL_SHADER_DIR. Useless, shaders are embedded in .h file
* use some hardening flags (for the moment only basic one)
onepad:
* port the code to SDL2 (Note only SDL1 is supported for the moment)
* improve detection of button vs axis (long-standing issue)
* avoid potential overflow on mouse mouvement detection


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5756 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-11-01 21:05:59 +00:00
refraction 2712bac5ee GameDB: Patch for Forbidden Siren 2 Europe
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5755 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-10-29 23:41:20 +00:00
refraction@gmail.com 421d917f28 VS2012: Force it not to use SSE optimizations to avoid FPU using SSE instead of x87 - Consistancy and stability change.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5754 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-10-27 23:19:55 +00:00
refraction@gmail.com 98cc030e44 GameDB: COP2 patch for SPS issues on Siren 2 (J) SCPS-15106.
Nice easy one to fix.  Will need logs from recent SVN ( r5743 or higher) dev builds, not SVN builds in order to fix other versions.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5753 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-10-27 15:10:35 +00:00
gregory.hainaut e80b002929 gsdx ogl: Flush various pending work
* try to use more subroutine on VS&PS, unfortunately hit a driver crash!
* Call Attach/DetachContext through GSDevice so I can unmap currently mapped buffer
* Implement glsl part of GL_ARB_bindless texture, again hit another driver crash!
* various fix of GL_ARB_buffer_storage. Basic benchmark show only improvement on 'cold' case, I guess it will improve smoothness
* try to fix GL_clear_texture, no success so far. It seem the extension is limited to basic texture (aka no depth/stencil)



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5752 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-10-24 20:54:27 +00:00
refraction@gmail.com 178563a4b6 VIF: Fix up handling of indeterminate data with different alignment. Not sure if this will affect anything, but test results now match the PS2.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5751 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-10-24 16:21:45 +00:00
refraction@gmail.com 8e59b6bbf5 Left some logging in, nothing to see here.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5750 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-10-24 12:19:09 +00:00
refraction@gmail.com 09c01abd05 microVU: Fix for Conditional branches on E-Bit. One less bug on DT Racers with microVU.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5749 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-10-24 12:14:17 +00:00
sudonim1@gmail.com c03a588c3c GameDB: COP2 patch for Ace Combat Zero - The Belkan War (NTSC-U)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5748 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-10-21 00:16:10 +00:00
sudonim1@gmail.com 1d5d9da25b GameDB: COP2 patch for Ace Combat - The Belkan War (PAL-E)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5747 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-10-20 19:22:01 +00:00
sudonim1@gmail.com 5eff8ef2c1 Database: COP2 patch for Ace Combat: Squadron Leader (PAL-E).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5746 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-10-19 16:53:40 +00:00
refraction@gmail.com fc4be4f2cc VIF: Fix for Warship Gunner 2 Issue 1079 . On VU executes immediately followed by an unpack we will execute it immediately. I didn't look too deeply in to this but the game doesn't like the delays. Baldurs Gate still happy though.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5745 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-10-18 13:03:22 +00:00
sudonim1@gmail.com 136935c22f Database: COP2 patch for The Mark of Kri (NTSC-U). Not sure what defect it fixes, but this patch should be necessary.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5744 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-10-17 20:41:05 +00:00
sudonim1@gmail.com 97fa1a7454 EE: I'm forgetful, this was meant to be part of the log change.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5743 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-10-17 20:11:48 +00:00
sudonim1@gmail.com 1c861617a1 EE: made the developer log for COP2 a bit more verbose and useful.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5742 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-10-17 20:09:52 +00:00
ramapcsx2.code 51c4e05bd0 GameDB updates from pgert.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5741 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-10-17 10:13:45 +00:00
refraction@gmail.com 433bf2a7f3 GameDB: COP2 Patch for European version of Ghost in a Shell for the door problem
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5740 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-10-16 22:59:49 +00:00
refraction@gmail.com 94e696afc3 GameDB: Ghost in the Shell USA version patch. After sudo added the new COP2 logging stuff, i pondered if this might be a culprit and it was. You can now "X" on the first level door and go through.
All "macflag" reads are patched to ensure there's no other issues. I might have a go at the EU one soon (unless somebody can get me a dev build log of it all the way up to the first gate)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5739 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-10-16 18:24:28 +00:00
sudonim1@gmail.com e820b8711d Database: Patch for Run Like Hell (EUR), fixes "spasms" I'm told? I only saw the code, I guess if you have the game you know what was wrong with it.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5738 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-10-15 20:12:09 +00:00
sudonim1@gmail.com 35da3319df Database: First patch for ace combat 5 (US). I have doubts about some other blocks, such as the code leading up the CFC2 at 1D0D98 and another at 1CF7C0 but this code clearly needs a patch.
Also 3 patches for ace combat 4 (US).  As I'm not aware of any physics problems I'm a bit confused about what this might fixed but the code is executed so it should fix something.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5737 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-10-14 01:11:02 +00:00
sudonim1@gmail.com b256bb36ec We can reject sequences with 4 intervening cop2 operations because the one cycle stall when coissuing with a cop2 move brings it up to 5 cycles. Not sure about 4 cop2 moves, I think that's okay but I'm not confident.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5736 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-10-13 23:56:12 +00:00
sudonim1@gmail.com 6f763e8221 R5900: I forgot a bunch of stuff in the last commit.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5735 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-10-13 20:59:36 +00:00
sudonim1@gmail.com 1ceac4e16d R5900: Developer log for possibly (but not necessarily, the asm has to be checked manually) incorrect recompilation of COP2 code. The patch is disgusting, please don't look.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5734 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-10-13 19:38:28 +00:00
sudonim1@gmail.com 48f284a49e Compilation fix for SPU2-X non-release targets on VS2010.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5733 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-10-12 20:45:02 +00:00
gregory.hainaut 4934e43287 gsdx ogl: in case of EGL_BAD_MATCH try to create the context with different option (hope to fix intel mesa)
cmake: add sdl as a dependency requirement of spu2x


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5732 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-10-05 10:37:48 +00:00
gregory.hainaut 00ea70d4d1 spu2x (linux): allow to use sdl as audio backend instead of portaudio (recommended for pulseaudio user). Close i1413
Thanks to Matt Scheirer for his patch



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5731 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-09-14 15:23:35 +00:00
ramapcsx2.code a73e1b294a Silence a mVU bad opcode error log that would spam in Shadow Hearts 1 battles and likely in Dawn of Mana 2nd level, too.
Also renamed a widescreen string and added a compiler warning fix.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5730 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-09-12 19:34:01 +00:00
avihal@gmail.com 49d417b60e SPU2-X: Stretcher: Better behavior - can now maintain stable 1:1 with 30ms latency on my system if the game is light enough, and much better resilience to infinite underruns (e.g. when going from turbo to 60fps, or from turbo to 10fps, even with under 50ms latency): 1. Improved averaging on init (and after reset) 2. Added reset after few underruns. 3. automatically slightly increase target latency when pcsx2 runs slow. 4. un-staled dynamic tuning (still disabled by default, but now can be enabled and works reasonably well). 5. Lowered minimum latency from 50ms to 30ms.
Next commit will include some cleanups, and I'll probably also remove the dynamic-tunning and related support code (not a lot of code though, but.. it's currently unused). I'm also considering completely removing the old stretcher from the code, such that both dynamic-tunning and the old stretcher will only live in SVN history.

Meanwhile, you can test this patch and report back here if you notice a difference. BTW, on my system I use the portaudio output since IIRC it offers the lowest latency.

As before, to display stretcher messages at the console, enable underrun/overrun messages at the SPU2X debug UI (which is also available on normal builds).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5729 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-09-12 13:35:29 +00:00
gregory.hainaut c2acd80236 spu2x: correct the modulo parameter of the Timestretcher. Use a size of 128 so the compiler can optimize the code a bit.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5728 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-09-11 20:56:48 +00:00
gregory.hainaut 44d8301bb2 spu2x: array out of bond (-1)
Performance note, it might be faster to replace the MODULO with an AND. Not sure on the impact
for the new time stretcher algo.

GSdx: fixed use-after-free (linux)

PCSX2: 
* add a define to support address sanitizer (both rely on 0x20000000-0x3fffffff memory ranges..)
* sio_buffer out of bond (-1). Maybe we can move the flush in the 2 if previous branch. It would
avoid the extra test.
* wxGetEnv (linux) generates double free (maybe not thread safe). Cache the result so it doesn't crash 
anymore when switching renderer

Comment/Review/Improvement are welcome :)




git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5727 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-09-10 11:41:11 +00:00
gregory.hainaut fb684df32b pcsx2: fix 4 arrays out of bond
Gsdx: fix a memcpy src/dst overlap + a clang compilation fix



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5726 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-09-05 20:01:47 +00:00
gregory.hainaut e01c6cd9ce gsdx ogl: the proof of concept commit
* GL_ARB_shader_subroutine for perf
fix for nvidia => add missing shader declaration. Nvidia got +4fps on colin3 :) 

For the moment only 2 PS parameters are supported. Code need to be extended to support others games that often
switch shader program (like xenosaga).
require GL4 class hardware and the option override_GL_ARB_shader_subroutine = 1
Note: strangely on AMD linux it is slower!

* GL_ARB_shader_image_load_store for accuraccy (Date)
Use a signed integer texture and reenable color buffer writing

Current status: Amagami_transparency.gs & P3_battle_shadows.gs are now working on Nvidia with a small perf impact.
Current implementation detail:
1/ setup the standard stencil as before
2/ on remaining pixel, draw once to compute first primitive that will write a fail alpha value.
3/ final draw based on primitive id of step 2

Note: I think we would get a bad behavior if depth test&mask are enabled on step 2/3
Note2: on my limited testcase the perf impact was on CPU. It would be possible to merge step1&2 to nullifying it (could 
even be faster actually), however it would require more GPU power.

Again require GL4 class hardware. And the option UserHacks_DateGL4 = 1



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5725 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-08-28 08:44:16 +00:00
gregory.hainaut 452cf72ddf onepad: fix a bug to handle multiple button (fix #1271)
zzogl: fix memory leak (fix #1431, #1432)
GSdx ogl: disable geometry shader on Nvidia/Windows (I will wait a 3rd implementation to find which one is correct)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5724 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-08-25 12:11:32 +00:00
ramapcsx2.code 3aa0f374d4 Just fixing this oversight. Thanks, gb2985.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5723 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-08-21 10:10:45 +00:00
refraction@gmail.com cc13ac321d CDVD/BIOS/NVM: When creating a blank NVM file, write a dummy value to the ILink area. This is read by Age of Empires 2 and fails to load if it doesn't exist.
This should work with all BIOS versions, please make sure you delete your NVM first then run the emulator to generate it.  Of course if you have an NVM file from your PS2, you shouldn't need this :)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5722 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-08-19 21:13:21 +00:00
gregory.hainaut 690432de30 gsdx ogl:
* redo most of the texture upload (PBO): colin3 benchmark: 32 fps now (vs 26 fps 2 weeks ago)
* use the cross vendor vsync extension on linux (previous wasn't supported by nvidia)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5721 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-08-17 09:05:41 +00:00
gregory.hainaut 07605941ef gsdx ogl:
* some preliminary work to test/benchmark bindless texture in the future (glsl was not yet updated)
Bindless texture allow to get a GPU texture pointer and then set it directly
to the shader as a basic uniform.
=> no more texture unit selection/validation
=> no more texture validation neither texture hash lookup

3rdparty: update gl header to the latest gl4.4


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5720 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-08-17 08:57:52 +00:00
avihal@gmail.com e66f515605 Pleasing devina40 ;) ("WideScreen" -> "Widescreen" at the menu)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5719 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-08-16 02:57:28 +00:00
gregory.hainaut b4084047be gsdx ogl: Used a basic flat interpolation for color interpolation (line & tri primitives)
Card that support gs:
remain only a gs to generate sprite from a line. Even dummy gs are costly for the GPU.

Card that don't support gs:
remove useless copy of color for line and triangle primitives

Note for dx: opengl 3.2 (maybe not gles) supports both flat interpolation
convention (GL_FIRST_VERTEX_CONVENTION or GL_LAST_VERTEX_CONVENTION).  It might
be possible to shuffle vertex index to put the last vertex in first position.

- buff[0] = head + 0;
- buff[1] = head + 1;
- buff[2] = head + 2;
+ buff[0] = head + 2;
+ buff[1] = head + 1;
+ buff[2] = head + 0;



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5718 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-08-14 10:18:38 +00:00
ramapcsx2.code 6673166cb5 Uploading all patches from the PS2 Widescreen Pack dated 08-11-2013.
Patches contributed by members of the community and assembled by devina40. 
Thanks people! :)

It's currently untested if the patches play nicely with regular cheats, will do that later.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5717 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-08-14 09:56:28 +00:00
ramapcsx2.code 05d5051096 Finishing up widescreen patch support: Add GUI toggle and connect it.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5716 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-08-14 09:48:36 +00:00
gregory.hainaut 0f603a98d5 gsdx ogl: Test the ARB_shader_subroutine GL4.0 extension
The idea was to replace shader program swith by pointer function calls inside
shaders.  At least parameters that are often changed between draw call. So far
I only ported atst and colclip. Unfortunately code is "slower" (on GSdx standalone).
For the moment keep the code but disabled.

If I understand well the validation of program is done in the "driver thread"
but the additional call are done in the overloaded MTGS thread. Apitrace
profiling shows faster GPU draw calls. Another possibility is that the driver still
need to validate the draw call because of others state change.

Here some stats on colin3 (90 frames):
without subroutine: UseProgram 125246
with subroutine: UseProgram 2906, subroutine 125945 => 3605 extra calls overhead (not
all parameters are ported to subroutine)



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5715 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-08-10 19:43:59 +00:00
gregory.hainaut c9755361ec gsdx ogl: remove useless ps.rt
Note: I think we can do the same on DX11

Perf wise: on colin mcrae 3 it reduces shader prog setup from 3005 to 2086 each frames. It saves 2 ms of CPU processing (27->29fps)



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5714 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-08-06 06:48:44 +00:00
gregory.hainaut a46b489a24 gsdx ogl: various minor optimization.
* move most of gl states into a separate namespace. Extend it to depth/stencil/blend micro state
=> save 10,000 opengl call by frame for colin mcrae 3
* Only setup blend state of first drawbuffer
* Don't request anymore a debug context on dev/release build



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5713 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-08-05 20:25:25 +00:00
gregory.hainaut 34045eb8f7 gsdx ogl: AMD users upgrade to 13.8 now ;)
* clean extension management and fix compilation of previous gl44 code.
* Use pixel buffer object to upload texture data.
=> avoid crash on AMD driver
=> a bit faster and probably got some margins for the future



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5712 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-08-03 08:29:01 +00:00