Commit Graph

39 Commits

Author SHA1 Message Date
Gregory Hainaut 994274623b gsdx sw x64: use rip addressing on draw scan line
byte code 41997 => 41893

However it will allow to save 2 registers as future optimization
2016-11-20 20:19:12 +01:00
Gregory Hainaut e674518c4e Update from xbyak 4.84 to 5.11
* bin2hex.h is removed
* vptest/vpblendvb YMM support integrated upsteam
* better support of rip for 64 bits
* AVX512 support (only miss the CPU now)

Local change: add BSD3 clause
2016-11-20 13:21:11 +01:00
Gregory Hainaut 681c09f25c gsdx sw: catch xbyak exception 2016-11-20 12:58:07 +01:00
Gregory Hainaut 574a2c774e gsdx sw JIT: dynamically select between AVX1 and SSE code path (scanline) 2016-11-19 17:00:33 +01:00
Gregory Hainaut 6b78b8f9ce gsdx sw JIT: dynamically select SSE41 at runtime even on SSE2 build (scanline)
It won't give the full SSE41 speed boost but it is better than nothing
2016-11-19 17:00:33 +01:00
Gregory Hainaut e728a14c19 gsdx sw: factorize color split in split16_2x8 2016-11-19 17:00:33 +01:00
Gregory Hainaut e31ce87bb3 gsdx: SW JIT debug helper
Allow to compare 32/64 bits (and all ISAs too)
Allow to breakpoint (int3)
Print selector info
Print size of buffer and start (disabled by default)
2016-11-19 17:00:32 +01:00
Jonathan Li e5ea4cc5d4 gsdx: Defer vector initialisation to GS/GPUinit
It can cause PCSX2 to crash if the instructions aren't supported.
2016-07-27 23:34:14 +01: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
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
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 870a86c117 GSdx: BoF DQ fixed
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4459 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-03-20 00:07:52 +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 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 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 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
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
sudonim1 a05e9c62be Set svn:eol-style=native on all *.c *.cpp *.h
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2894 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-24 21:37:39 +00:00
gabest11 af0b33c7b5 GSdx: minor fixes, ar tonelico 2 shadows in sw mode, lamune palette problems in hw mode
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1384 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-18 01:07:28 +00:00
gabest11 3b22adc4b3 GSdx: converted a few template classes to pointers and virtual functions, the dll got more than 100k smaller, since there were many changes, backup your old version first :P
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1236 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-22 01:22:52 +00:00
gabest11 441aee367e GSdx: fixed a few more typos in GSVector4i, the black screen bug should be gone
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1192 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-15 11:11:26 +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 d2ef4099fc LilyPad: fix0red the save state reload crash (memset overflow randomly null'ed the global dm variable and other things).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@799 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-16 22:17:50 +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 620ba58085 pcsx2: -highpriority switch, other processes generate too much noise and I cannot trust my performance counters without it :P
GSdx: nothing new just committing a few cleanups and my findings on AA1 before doing it, tested a few things with ps2dev on a real machine, got really strange results when not using the standard 0 1 0 1 blending mode, but it doesn't seem harder to implement than a line drawing (which it is), and only adds a few extra pixels here and there, should be fast at least.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@694 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-06 00:53:59 +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 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 d14d09cab3 xpad: compatible with pcsx
GSdx: minor optimizations, +crcs

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@496 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-15 02:27:51 +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
gabest11 9ee9d817c4 GSdx software renderer speed-up, using xbyak to JIT compile a few things, more to follow.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@469 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-11 07:05:44 +00:00