Gregory Hainaut
8431299b92
gsdx sw: port code to the new constant object
2016-11-24 23:03:26 +01:00
Gregory Hainaut
3b5bc9c38d
gsdx sw: create a constant buffer
...
* Use POD type to avoid SSE/AVX compilation dependency
* global object to reduce cache miss
* dynamically object so give a chance to allocate below 2GB (allow x64
optimization)
2016-11-24 23:03:26 +01:00
Gregory Hainaut
aa4b2d9f3a
gsdx sw: wrap GS memory
...
Cost ought to remain small. Worst case is 2 extra "and" operation by group of pixels in scanline renderer
I think PixelAddressN functions are mostly call in the init.
2016-11-01 13:33:11 +01:00
gabest11
d631030608
gsdx: fixed some of the renames where it made no sense, also added a commend about lupin 3rd.
2015-08-04 03:36:42 +02:00
gabest11
a1a842b07f
gsdx: date/datm fix for 16-bit frame buffer in sw rendering mode
2015-08-02 20:21:49 +02:00
Gregory Hainaut
28bb64aae8
gsdx: sed/dr/dRect/
2015-05-15 20:49:32 +02:00
Gregory Hainaut
6a9e425308
gsdx: sed /dt/dTex/
2015-05-15 20:44:15 +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@gmail.com
4dd898c754
GSdx: Found some 16-bit integer overflow in GSState::VertexKick, some triangles could have been removed by the scissor test.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5680 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-24 01:11:00 +00:00
gabest11@gmail.com
20d99ae9fc
GSdx: vs2010 fix and minor changes
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5678 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-23 10:46:24 +00:00
gabest11@gmail.com
d20bd4f86a
GSdx: The sw renderer now uses avx2, not much faster though, +10% maybe, if the game is not EE limited. I'm not sure if haswell has that much better sse execution (load/store units doubled for example), or the avx2 code is not fully optimized yet.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5677 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-20 05:07:52 +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
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
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
da7324dbf2
Not transferring unused vif registers to the MTVU thread can save at least half of the ring buffer space. The whole set is about 400 bytes, including padding, but I could find references to only 6 regs.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5092 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-02-10 07:03:55 +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
fcc09c2cca
GSdx: fixing two different bugs of the sw renderer, addressing outside the texture in region wrap mode (skygunner), and little gaps in shadows and other random places (dq8, rogue galaxy, okami).
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5085 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-01-29 10:12:20 +00:00
gabest11
bd12a8b7b3
GSdx: silent hill shattered memories purple street light fix, not block aligned filled rects were not correctly masked, may also fix games which store texture data in the alpha channel but use 24-bit target buffers (or just mask it in every time) and draw a lot of those unaligned rects. (tested many .gs dumps, very rare combination)
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5084 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-01-28 10:07:17 +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
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
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
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
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
786f43a707
GSdx: more fixes to z-interpolation, THPS4 looks alright now.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4977 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-04 09:49:55 +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
9d54677055
GSdx: re-implemented the drawing pipeline in c++, just for reference and easier debugging.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4972 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-11-25 23:48:59 +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
cc28241128
GSdx: just a small mipmapping optimization when lod is constant, it was already a TODO.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4518 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-04-01 12:36: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
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
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
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
gabest11
83b15dbac0
GSdx:
...
- trying the dx10.1-only "gather" shader instruction for palletized lookups ("8-bit texture" mode), saves 4 instructions which isn't much but still... (not tested, don't have ati)
- may fix the intel gma "no output" bug (don't have gma either :P)
- and the usual small code optimizations
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1549 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-22 03:55:28 +00:00
gabest11
f9f056d581
GSdx: fixing/breaking things again... palletized texture lookup can be done by pixel shader now (selectable, off by default), if you have a fast card it may help with texture heavy games, otherwise it is only going to be slower.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1472 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-06 16:35:06 +00:00
gabest11
4c76909afe
GSdx: small optimizations and tried to fix that dx9 fullscreen alt+tab crash
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1463 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-04 15:14:04 +00:00
gabest11
5f45219eb9
GSdx: fixes for ffx2 menu
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1412 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-20 20:28:36 +00:00
gabest11
5736bbd449
GSdx: looking for an opengl guru...
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1360 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-12 19:09:17 +00:00
gabest11
5648d07b96
GSdx: more refactoring (aka search and replace)
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1179 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-14 16:41:52 +00:00
gabest11
c64691811a
GSdx: 3.4.9. Texture Function => Decal/TCC=RGB: Av = At (gs_user v3 and v5) or Av = Af (v6)? Seems it was Af... Sonic unleashed was one of the games relying on this setting, could not find any other yet. Also removed the green stripes, shadow sw-mode only.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1145 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-07 12:34:58 +00:00
gabest11
120971ec4f
GSdx: Implemented edge anti-aliasing (aa1) for software mode, bios or ffx are good test subjects (not many other games use it). It's still a bit slow but could be improved a lot by not doing 4 pixels with sse for each single edge pixel, that's just a lot of unnecessary texture lookups. The bios config screen cubes are still bogus, gs_user on aa1 isn't too helpful...
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@721 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-09 01:42:56 +00:00
gabest11
e934016121
GSdx: vtune JIT code profiling support (somebody should implement this in pcsx2 too, see iJIT_NotifyEvent(iJVM_EVENT_TYPE_METHOD_LOAD_FINISHED, ...), plzkthx :P) and other minor fixes/optimizations.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@570 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-22 16:28:39 +00:00
gabest11
b3cb4ad3f8
GSdx: completed the ps1 renderer conversion for xbyak, GSRasterizer::Draw* functions should be next.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@550 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-20 10:59:10 +00:00
gabest11
4907dbda42
GSdx: upgraded the ps1 renderer to use runtime generated code, too.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@535 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-19 13:13:20 +00:00
gabest11
e131e22ea6
GSdx: more JIT code and a little clean-up
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@484 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-13 09:28:51 +00:00
gabest11
393c8ae102
Minor changes to GSdx and fixed the SSE2 compiling error.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@476 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-11 21:42:10 +00:00