Commit Graph

5818 Commits

Author SHA1 Message Date
Gregory Hainaut 7328e55ee9 pcsx2: disable tlb miss on the interpreter
Except on the debug build
2014-12-02 23:10:58 +01:00
Gregory Hainaut 1f5fe7a1db Merge pull request #348 from 3kinox/master
GSdx-ogl linux: std::thread
2014-12-02 22:43:29 +01:00
Gregory Hainaut ec976743d6 Merge pull request #350 from PCSX2/interpreter-tlb-handler
Interpreter tlb handler
2014-12-02 21:47:56 +01:00
Gregory Hainaut c9aa04c679 core: EE interpreter major speed boost
Disable the debugger and an useless debugI function

* x2 on dbg build :)
* x2.5 on dev build :)

Note: debugger doesn't work yet with the interpreter so no real drawback.
2014-12-02 21:38:39 +01:00
Gregory Hainaut 9c92a30dbb pcsx2: interpreter: add a typical example to disassemble R5900
Previous examples don't work anymore

v2: merge the cpu dump example
2014-12-02 21:38:39 +01:00
Gregory Hainaut 8a899c4c7b pcsx2: interpreter: increment pc before reading pc content
memRead32 could throw a TLB miss exception, however TLB handler expects pc counter to be incremented

Goemon is now really "playable" with the interpreter (disable automatic gamefix)
2014-12-02 21:38:39 +01:00
Gregory Hainaut a30bd86311 pcsx2: interpreter: add an exception for tlb miss
When a tlb miss is detected current instruction must be skipped. We need
to immediately switch to the handler

Typical instruction bug case:
 lw a0, 0x8(a0)

a0 mustn't be loaded if we have a miss

v2: create a dedicated exception for tlb miss

v3:
* rename exception to CancelInstruction
* add a basic state machine on the exec loop so we keep same behavior
  for eeloadReplaceOSDSYS and eeGameStarting

v4: remove assert
2014-12-02 21:38:29 +01:00
Gregory Hainaut 374048e1c6 Merge pull request #367 from PCSX2/gabest11-master
GSdx-opencl
2014-12-02 20:59:23 +01:00
Gregory Hainaut 4238261784 gsdx-cl: update linux menu config
Try to use some id to be more robust

The best will be to sort the array first
2014-12-02 00:16:35 +01:00
Gregory Hainaut 76f719e5d0 gsdx-ocl: Add a ENABLE_OPENCL option
* Allow to compile GSdx on linux without opencl yet.
2014-12-02 00:16:35 +01:00
gabest11 b9b02cf749 implemented opencl program caching on disk under the system default temp folder, needs some additional work on linux 2014-12-02 00:16:35 +01:00
gabest11 ba59036a97 fixed a small compiling error in release mode 2014-12-02 00:16:35 +01:00
gabest11 7b466a98d0 replaced opencl.def with dynamic dll loading, god bless search and replace 2014-12-02 00:16:35 +01:00
gabest11 e3ba15de94 opencl device selection in settings dialog 2014-12-02 00:16:34 +01:00
gabest11 6f5cd1cd4d joined some tfx kernel calls, general speed up in most games 2014-12-02 00:16:34 +01:00
gabest11 3d2b0e3766 minor opencl kernel optimizations 2014-12-02 00:16:34 +01:00
gabest11 72cfc6a6ef 3rdparty/opencl 2014-12-02 00:16:34 +01:00
gabest11 9e20387595 Modified for opencl 1.1. While it runs on nvidia cards now, you can't use its sdk to compile gsdx, cl.hpp is missing there. Intel or amd is ok. 2014-12-02 00:16:34 +01:00
gabest11 263c097d13 solution for 32-bit z values in opencl and other minor optimizations 2014-12-02 00:16:34 +01:00
gabest11 c64f9ad9b1 squishing opencl bugs, there aren't many left hopefully 2014-12-02 00:16:34 +01: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 881735b562 minor merging errors 2014-12-02 00:16:33 +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 1b555ea3b5 gsdx-linux: Fix GSdx internal counter on linux
The issue is that clock gives the total cpu time of the process whereas
we want the cpu time of the rendering thread
2014-11-24 23:44:32 +01:00
Nicolas Hillegeer b259a46ab7 linux/threads: simplify timer code
Possibly also changes the semantics. According to the docs, it should now be
equal to the Windows code (up to accuracy issues, of course).

v2: done by gregory38

Fix miscalculation of time. Unit must be in 1s/GetThreadTicksPerSeconds(). (now us)

Factorize a bit GetCpuTime/GetThreadCpuTime

Note: results seems reasonables and mostly equivalent as before.
2014-11-24 23:31:32 +01:00
3kinox 732cbc3ad5 GSDX-ogl linux:
+ Implement threads/mutex using std::thread/std::mutex/std::condition_variable
+ Old implementation can be used by commenting out the "define _STD_THREAD_ in GSThread.h
+ Commit should be much cleaner than previous one.
2014-11-23 14:33:35 +01:00
Gregory Hainaut 5d89454d25 wx: properly overwrite trait creation
The fix move the Pcsx2AppTraits definition from core to common part.
It allows to use it in wxAppWithHelpers::CreateTraits

fix issue #352
2014-11-22 18:51:05 +01:00
ramapcsx2 fda48f3d55 Merge pull request #355 from Asmodean-/master
Add reg.chcr warning check.
2014-11-22 11:52:12 +01:00
Asmodean- 09c13777d8 Add reg.chcr warning check. 2014-11-21 21:55:35 +00:00
Gregory Hainaut 60c0eb7179 gsdx-ogl: windows: properly setup context flags
* Use a core profile context
* Only enable the debug context in debug build

Close issue #353
2014-11-20 22:12:30 +01:00
Gregory Hainaut d21e6ff45f gsdx-ogl: don't declare a sampler variable
Nvidia was complaining on the fxaa shader. In doubt I also replaced it in Asmodean's shader
2014-11-20 22:07:44 +01:00
Gregory Hainaut 60f7ec03c2 Merge pull request #351 from Asmodean-/master
GSdx: change post-processing directory & some shader fixes.
2014-11-16 14:09:43 +01:00
Gregory Hainaut 7964933507 wx: use wx_pizza on wx2.8
The new method creates a strange gray box for some users.

Unknown status on wx3.0 (which soon will be the default)
2014-11-16 13:54:07 +01:00
Asmodean- 8f42b36a42 It might help if I changed this for d3d9 also :p 2014-11-15 21:40:00 +00:00
Asmodean- c72af82f73 GSdx: Some post-processing fixes & add shaders directory. 2014-11-15 21:37:05 +00:00
Asmodean- 5b3867dd60 GSdx: change post-processing directory & name. 2014-11-15 21:33:23 +00:00
Gregory Hainaut 276e3d9d1b gsdx-ogl: always set texture parameter
* Avoid bug after a pause
* Not faster anyway
* keep old method only for gl retracer to reduce debugging noise

Remove some old&useless comment
2014-11-14 11:43:42 +01:00
Gregory Hainaut 3311336d0e gsdx-ogl: disable ARB_bindless_texture
I have a crash when I try to delete some texture (for example when the simulator is paused)
2014-11-11 23:45:41 +01:00
Gregory Hainaut 1b5ea0651c debian: only support SSE2 for the default build 2014-11-11 20:56:45 +01:00
Gregory Hainaut 75c96c08f7 git ignore: linux profiled data 2014-11-11 20:56:45 +01:00
Gregory Hainaut b6a951a9fa gsdx: debug compilation fix
I'm not sure gcc behavior is correct here!
2014-11-11 20:54:34 +01:00
Gregory Hainaut 0ca9bab8b6 Merge pull request #344 from Asmodean-/master
[GSdx] OpenGL PP Updates
2014-11-11 16:14:01 +01:00
Gregory Hainaut ab4eaea757 Merge pull request #346 from 3kinox/master
Linux : GSdx AVX fix
2014-11-11 16:08:23 +01:00
3kinox 30240b4cbf More robust detection of arch64(or any distrib using same path for wxwidget) 2014-11-11 15:55:31 +01:00
3kinox 06f53b2689 use -fabi_version=6 only for GSdx, solve bug with wxwidget
reenable avx build for GSdx
2014-11-11 15:55:31 +01:00
3kinox 4991ef608d add automatic archlinux build detection(wx path can not be found otherwise) 2014-11-11 15:55:31 +01:00
Asmodean- 1b836ac4a7 Fix Cel Shader for OpenGL. 2014-11-11 14:34:53 +00:00
Gregory Hainaut e73d8f383b gsdx-ogl: compilation fix for old distribution 2014-11-11 15:01:22 +01:00
Kieran Hanrahan 0e636ce411 A few last bits of cleaning before merge. 2014-11-11 02:41:52 +00:00
Kieran Hanrahan e8a92ae731 Small oversight fix for "sample_texLevel" 2014-11-11 00:57:11 +00:00