gabest11
da4ea83134
GSdx: nothing really new, just testing the compute shader, if you are an expert take a look and tell me your opinion :P
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5068 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-01-13 18:10:05 +00:00
gabest11
481f1fdda2
GSdx: it's hard to keep track of the leftover vertices properly, a bit of sps was still possible, psx sprites were fixed too
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5065 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-01-09 08:41:33 +00:00
gabest11
5b5a9787d9
GSdx: fixing a possible buffer overflow
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5063 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-01-08 21:02:42 +00:00
gabest11
2eec75c2ae
GSdx: sps fixed, some code clean up and optimization, ps2 logo still broken in hw mode, I'll check it later
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5062 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-01-08 17:10:00 +00:00
gabest11
651196f665
GSdx: vtune tells me GSOffset::GetPages is too slow without the cache and its slowest part is new uint32[], lets use pre-allocated buffers then. In d3d9 mode, locking the vertex buffer is the most painful thing, there is a terrible delay until it returns, the same Map call in d3d10/11 does not behave like that.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5049 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-01-06 01:20:01 +00:00
gabest11
49f3aee099
GSdx: fixing the broken things...
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5047 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-01-06 00:17:52 +00:00
gabest11
f68f007f00
GSdx: the promised index buffer update, needed a lot of changes, expect bugs in the next dozen revisions.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5045 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-01-05 02:40:24 +00:00
gabest11
5325f9b490
GSdx: Small optimizations here and there, just saving changes before trying to add an index buffer, that might help reducing load on the main gs thread a bit. That's where I think the bottleneck currently is in games with high polygon count.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5036 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-31 15:41:07 +00:00
gabest11
6f97ca35e2
GSdx: GSOffset::GetPages was caching a ridiculous amount of data, it isn't that much slower without it.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5028 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-28 20:21:32 +00:00
gabest11
eaf06e8b1d
GSdx: bit less idle time by refcouting used texture pages.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5026 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-28 14:10:20 +00:00
gabest11
25072b99c7
GSdx: a few minor changes, please check if I wrapped the new pthread things correctly
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5019 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-27 09:15:35 +00:00
gabest11
2628d5bb7d
GSdx: a little refinement to the fix for the issue that come up with Bully.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5016 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-25 07:26:42 +00:00
gabest11
ed8eb53c22
GSdx: Valkyrie Profile 2 fix (discussed under r5010 and r5012), this bug could have broken much more games, strange that it did not.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5015 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-24 15:02:48 +00:00
gabest11
bc7a930409
GSdx: This fixes the flickering in Bully, and probably games with the same problem. Could not check Valkyrie Profile Silmeria, yet.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5012 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-24 07:00:16 +00:00
gabest11
963a6a653a
GSdx: changes of r5007 did not help as much as I thought, disabled it for the time being, plus other minor optimizations
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5010 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-23 15:53:53 +00:00
gabest11
d5dbe7e7e9
GSdx: Moved filling up rendering threads on a new thread, to not block the main, it looks like now I can replace one of the spin loops with an event. Using events results in about -5% fps, but still pretty fast.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5007 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-22 14:36:54 +00:00
gabest11
2421c68bee
GSdx: Saving the conditional var update (vista or better) before I try a new idea again. That Sync() call is wasting too much time, if there was only one queue then the main thread could also grab and process elements instead of just waiting for the workers.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5005 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-22 01:48:16 +00:00
gabest11
0b62c17d9c
GSdx: Renamed the sw thread setting to "extra threads".
...
- 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
2011-12-20 14:33:28 +00:00
gabest11
2f401da58c
GSdx: fixed shared_ptr for GCC, but it does not seem to be thread-safe in 4.4.5.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4995 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-19 01:20:55 +00:00
gabest11
b86e3ebd19
GSdx: Polished the recent changes a bit. Single threaded mode should be back to normal, 2-4 threads might be faster or slower. All in all, it has a lot more potential now. Rendering is almost as separated as with d3d, everything needed is packed and copied for the worker threads, synchronization between local memory and the temporary buffers is properly done. This model could also be back-ported to d3d. Or the software rasterizers could be hardware assisted somehow, there are a lot less sync points where those buffers should match with the contents of the local memory.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4993 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-18 21:57:48 +00:00
gabest11
f318e84aca
GSdx: Better multi-threading for the sw renderer. Threads must be synchronized lot less, 1/10th in average, can run parallel longer and uses more cpu (bit more empty spinning, too). There could be some new bugs, as usual.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4992 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-18 08:13:20 +00:00
gabest11
4b77052d21
GSdx: just saving minor changes.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4991 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-16 19:13:58 +00:00
gabest11
f1537f53a2
GSdx: Found where the bypassed int z was destroyed. (bug appeared in r4967)
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4975 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-01 17:08:10 +00:00
gabest11
4f6f53c188
GSdx: Just remembered triangles were occasionally converted to sprites, need to set t.w there as well.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4967 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-11-14 03:34:24 +00:00
gabest11
ee9c9ac8f3
GSdx: Added a simple workaround for the 32-bit z problem talked about in the comments of r4956. Since sprites are flat and there was an unused vertex member (t.w), I just decided to pass the raw uint32 value in that to the scanline drawing function. It does not fix triangles and other primitive types, of course. The ideal solution would be to break z into two parts (like 8:24 bits, and only care about the upper part when not zero), interpolate separately and rejoin when needed, it is just too hard to add another variable when the assembly code is already so tightly optimized to use every register.
...
(HW mode z-test expects a float input, so this trick cannot be done there.)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4966 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-11-14 03:08:13 +00:00
gabest11
bfbf403bf4
GSdx: FXAA 3.10, page up key activates it
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4828 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-25 11:16:01 +00:00
gabest11
cc8d14511b
GSdx: the texture cache fix discussed under r4589.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4592 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-04-25 01:44:00 +00:00
gabest11
732b038571
GSdx: mipmapping fix (ford mustang racing, and probably other games which use small, non-square textures)
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4529 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-04-04 11:05:54 +00:00
gabest11
d7a6b484ce
GSdx: small mipmapping optimization, half fps maybe, it wasn't done right on my first attempt.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4501 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-03-28 04:15:36 +00:00
gabest11
7f6eedf23d
GSdx: I always forgot to comment this out
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4495 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-03-27 03:14:15 +00:00
gabest11
8ca01f4b77
GSdx: only minor changes
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4494 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-03-27 03:12:12 +00:00
gabest11
de3333df6c
GSdx: sse2 code path still had a little mipmapping bug, tales of legendia does not crash anymore, added a hack for suikoden tactics ( http://code.google.com/p/pcsx2/issues/detail?id=972 )
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4457 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-03-19 19:29:30 +00:00
gabest11
4f8bbb2c52
GSdx: please test mipmapping again...
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4455 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-03-19 03:54:22 +00:00
gabest11
b1eac6d058
GSdx: I've mixed up the bits of TEX1.MMIN, sfex looks nice again.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4454 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-03-19 00:54:03 +00:00
gabest11
542a4a6747
GSdx: one more thing to remove...
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4442 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-03-17 03:34:32 +00:00
gabest11
243a0f4ad1
GSdx: (almost) complete mipmapping support, if the min/mag filter differs then bilinear is used.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4440 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-03-17 02:55:20 +00:00
gabest11
1d759c852d
GSdx: When mipmapping is on, LOD is calculated per pixel, it isn't used for anything, but it's there. I cannot really measure any significant slowdown, but rest of the fun is yet to come.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4428 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-03-14 03:32:28 +00:00
gabest11
b2254a7937
GSdx: just a typo again
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4421 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-03-12 22:23:56 +00:00
gabest11
b31634df8f
GSdx: using mipmap levels (only per batch, no tri-linear) and a couple of small changes, including the stdcall fix for linux.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4419 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-03-12 22:10:58 +00:00
gabest11
fe88ee4102
GSdx: optimized the triangle setup of the rasterizer a bit, while it isn't the bottle-neck of drawing, it can still add a few percent to the fps.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4404 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-03-08 01:48:15 +00:00
gabest11
a96a345077
GSdx: the x64 ABI on windows is not so nice after all.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4380 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-02-28 11:08:52 +00:00
gabest11
3030166596
The core of GSdx is now compatible with intel's compiler on linux.
...
- 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
2011-02-19 03:36:30 +00:00
gabest11
d44def8c0b
Fixed many gcc errors, there are still plenty. Intel's compiler might be a better alternative.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4311 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-02-18 01:56:05 +00:00
gabest11
257d57ba52
Tweaked the rasterizer to be about 10% faster in multi-threaded mode (2 or 3 threads), still far from optimal.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4308 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-02-17 18:22:47 +00:00
gabest11
6f18c0dabe
Trying to isolate the rasterizer step-by-step, for better multi-threading in the future.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4305 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-02-17 03:24:37 +00:00
gabest11
65fc196688
Local static initializers are evil, avoid them like plague.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4304 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-02-16 03:19:36 +00:00
gabest11
1e6f280021
- more project cleanups and small code changes, also added the psx emu interface again
...
- someone should check __xgetbv under linux (avx/fma detection)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4295 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-02-12 21:45:16 +00:00
gabest11
ca7abd983a
Mostly code cleanups, XBYAK 2.99, VEX conversion for the sw renderer (3-5% faster), GSState::Move fix for dark cloud 2 invention crash.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4287 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-02-07 01:59:05 +00:00
Jake.Stine
645188e0e8
GSdx: Minor optimization and some code simplifications relating to VertexKick/DrawingKick and the Packed register handlers. I also added preliminary work for a switch-based packed register dispatcher (WIP, doesn't support frameskipping yet).
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3649 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-17 04:38:49 +00:00
sudonim1
4457fe40fc
Removed all trailing whitespace in *.c *.cpp *.h because it irritates me.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2897 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-25 00:31:27 +00:00