Gregory Hainaut
688f05ff26
gsdx sw: always enable the gs memory wrapping emulation
2017-04-21 10:53:05 +02:00
FlatOutPS2
2d591182c4
GSdx: Memory Wrapping Windows port
...
Adds GS Memory Wrapping hack to Windows. Enabling the hack will fix cut-off cutscenes in Wallace & Gromit: The Curse of the Were-Rabbit and Thrillville.
2017-04-01 11:16:25 +02:00
Gregory Hainaut
5751e38180
gsdx: use range loop instead of for_each
2017-01-30 17:58:39 +01:00
Gregory Hainaut
d67b9cba14
gsdx tc: merge page coverage code
...
A function was already done for openCL. Use the same for others renderers
2017-01-24 19:38:16 +01:00
Gregory Hainaut
5dfb7d63dc
gsdx: wrap gs page/block instead to skip them
...
Fix FMV of Thrillville when coupled with wrap_gs_mem = 1
2016-10-25 22:49:05 +02:00
Gregory Hainaut
cedc8aae44
gsdx: implement a shared memory to emulate the wrapping of the gs memory
...
Code can be enabled with "wrap_gs_mem = 1". Code only allow a single shared memory but
I don't think we need more anyway.
Linux only, Kernel panic expected with the HW renderer.
Fix FMV on Silent Hill 3 with the SW renderer
2016-10-25 20:29:38 +02:00
Pseudonym
a0629587be
gsdx memory: implement read texture of PS GPU24
...
convert the swizzled block as tightly packed 24 bits RGB
Then convert scanline to standard 32 bits RGBA
The HW renderer requires the preload data hack
2016-10-05 21:59:42 +02:00
Gregory Hainaut
1c900e780a
gsdx memory: add a PS GPU 24 bits format
...
Same swizzle as 16 bits. But contains tightly packed RGB pixels.
2016-10-05 21:06:38 +02:00
Gregory Hainaut
6e6eae7844
pcsx2:gsdx:spu2x: use parenthesis around macro parameters
...
For safety reasons.
2016-09-18 16:13:55 +02:00
Gregory Hainaut
b1d446895b
GSdx: replace IsTopLeftAligned macro with a function
2016-09-18 16:13:28 +02:00
Gregory Hainaut
145d6e29c2
gsdx: increase the allocation of the GS memory
...
GS memory is only 4MB but rendering is allowed to be 2048x2048
with 32 bits format (so 16MB). Technically the frame/depth buffer can start
at the end of the GS memory. Let's not waste too much memory.
Fix crash with BASARAX
(game draws a 2048x1664 32 bits area)
2016-09-07 08:34:24 +02:00
Gregory Hainaut
0a1454ff6c
gsdx: use prefix increment operator for non-primitive type
...
I think compiler is clever enough to optimize the code but it won't hurt
and it reduces the number of cpp check warning.
2016-08-12 23:11:26 +02:00
Jonathan Li
da2046e90e
gsdx: Use alignas instead of __aligned
...
__aligned is defined in FreeBSD headers and will cause compile errors.
2016-05-21 13:23:11 +01:00
Gregory Hainaut
826b38c47a
gsdx tc: use array in GSOffset to store texture coverage
...
GSOffset is already based on a lookup of PSM/BP/BW. Coverage only adds
the size parameters (so only 256 possibilities)
It replaces the hash lookup with a free array access.
2016-05-01 15:02:36 +02:00
Gregory Hainaut
dd98a0b913
gsdx: add a depth format flag
2016-04-23 18:28:50 +02:00
refractionpcsx2
dcb676765e
GSdx: Clean up some warning under windows ( #1289 )
2016-04-14 11:00:58 +01:00
Gregory Hainaut
9f1649ae57
gsdx: use a type in sizeof
...
(warning) Suspicious usage of 'sizeof' with a numeric constant as parameter.
2015-11-06 23:01:58 +01:00
Gregory Hainaut
d870188d21
gsdx: sed/o/off/
2015-05-15 20:40:09 +02:00
gabest11
ba1e522bbb
Less opencl bugs, some games are actually playable now, there are still texture errors.
2014-12-02 00:16:34 +01:00
gabest11
db7c26cde7
- Experimental OpenCL renderer (missing features: point, line, texture cache, mipmap, aa1, device selection). Needs any OpenCL SDK for the common headers and stub lib to compile, tested with AMD and Intel. Too bad it is not part of the Windows SDK yet.
...
- Renumbered renderer ids, compatible with old numbering, but it does not follow the mod3 logic anymore.
2014-12-02 00:16:33 +01:00
Gregory Hainaut
5087d13de8
gsdx: remove/comment unused variable
2014-05-03 10:18:27 +02:00
refraction
5b14ca0fb9
GSDX: Clear up all compiler warnings. No changes to emulation.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5840 96395faa-99c1-11dd-bbfe-3dabce05a288
2014-01-26 00:58:21 +00:00
gregory.hainaut
58cacc3b1c
gsdx: use size_t for loop index when it used countof macro
...
* fix override_GL_ARB_copy_image typo
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5687 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-29 12:02:03 +00:00
gregory.hainaut
3c7167be50
clean (some) gdb warning: round 1
...
* 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
2013-06-28 10:43:50 +00:00
gabest11@gmail.com
8b9f5b5bc2
GSdx: More avx2 code to read/write different block formats, the GSBenchmark function shows nice improvements, but no games run faster. I just upload the changes before messing with the drawing part.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5675 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-17 04:11:10 +00:00
gabest11@gmail.com
43c7235cc3
GSdx: Added a vector class for AVX2 and upgraded a few functions to use it, still a lot to do. New project config AVX2, _M_SSE = 0x501, only use it if you have haswell. Might break GCC or older MSVC, please test it.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5652 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-10 15:56:11 +00:00
gabest11@gmail.com
d27b606e5c
GSdx:
...
- 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
2013-06-06 11:36:01 +00:00
sudonim1@gmail.com
b1536a755f
GSDX: Nothing is fixed, the last two revisions did not happen.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5549 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-02-08 15:36:54 +00:00
sudonim1@gmail.com
23cd8fd641
GSDX: Committing pointless extra work for the record before reverting. Everything is terrible.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5548 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-02-08 15:35:28 +00:00
gregory.hainaut
e06484adb8
gsdx: update the copyrigh address thank to sed
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5412 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-09-09 18:16:11 +00:00
gabest11
5d9a5b6ee6
GSdx: there was a float-int conversion overflow in vertex trace, texture coord min/max could have been detected wrong, silent hill origins should look better now.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5097 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-02-14 08:03:27 +00:00
gabest11
67ef781116
GSdx: this may fix silent hill shadows and mister mosquito intro blur, also reduced texture cache keep-alive time from 30 to 10 frames and found two memory leaks, killzone can run a few seconds longer before crashing, I think there is something in pcsx2 allocating too much memory.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5096 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-02-12 17:56:06 +00:00
gabest11
19be605150
GSdx: this should fix xp/wine crashing when extrathreads > 0, and added a sprite drawing shortcut, hopefully won't break anything.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5089 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-02-08 16:57:14 +00:00
gabest11
9aabcc1701
GSdx: added a shortcut in GSState::Transfer for the most frequent vertex format I found (helps quite a lot), less thread-syncing for the sw renderer, and the bios boot logo was fixed (just had to clear the memory on reset).
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5072 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-01-18 11:47:31 +00:00
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
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
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
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
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
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
4046b56031
GSdx: forgot about something...
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4598 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-04-26 01:04:52 +00:00
gabest11
fd0245d365
GSdx: implemented the caching of the new page/tile map, dq8 should be fast again
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4597 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-04-26 00:56:54 +00:00
gabest11
e59670ff97
GSdx: trying another approach for r4589
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4596 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-04-25 18:18:21 +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
34749b1406
GSdx: another example why unions are not portable, this even fails between vc x86 and x64, m_vm8 is placed at offset 0, m_vm16/m_vm32 at offset 8 of the anon union.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4376 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-02-27 09:03:51 +00:00
gabest11
dcf81693f6
GSdx: started a hardware independent device, will be useful for GDI/SDL/etc output later.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4328 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-02-20 18:59:02 +00:00
gabest11
5860de1cce
Implemented virtual alloc functions and changed the event class to use semaphores.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4318 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-02-19 10:27:10 +00:00