Commit Graph

5951 Commits

Author SHA1 Message Date
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
Kieran Hanrahan b60e5a62fc Rearrange to right spot (I blame github editor ;p) 2014-11-11 00:17:21 +00:00
Kieran Hanrahan 7adc7c4833 Update GSSettingsDlg.cpp
Just add the OGL shader ini params to the file when the user enables post-processing In the options dialog.
2014-11-11 00:01:31 +00:00
Kieran Hanrahan cf5da56390 Tabbing >.> 2014-11-10 23:49:11 +00:00
Kieran Hanrahan d228ad3ddd OpenGL Updates - fix effects for both D3D & OGL
I had to edit this via the GitHub editor. I finish up my changes, and for some reason the pcsx2 repository won't let me read or write to it, since the last merge. I checked my other repositories, and they're working fine. ?.?
2014-11-10 23:46:50 +00:00
Gregory Hainaut e6e534c13a Merge pull request #343 from PCSX2/shader-loading
GSdx ogl: external shader loading + FXAA
2014-11-10 15:43:05 +01:00
Gregory Hainaut 48b3d91768 partially revert previous commit ec1da2805c
It breaks windows...
2014-11-10 12:19:30 +01:00
Gregory Hainaut cbf2e740e3 gsdx-ogl: port Asmodean shader to GLSL
I only checked the default configuration (on Nvidia). Please report any issue with it.
2014-11-10 10:39:55 +01:00
Gregory Hainaut 8c90e7cafc gsdx-ogl: support latest fxaa version
Only tested on Nvidia, please report any issue with your driver

Note: requires GL4 GPU
2014-11-10 10:39:55 +01:00
Gregory Hainaut ff39dffe23 gsdx-ogl: add a gui option (linux) to select external shader
Note: of course it requires a glsl shader ;)

On windows, you can set the path on the ini file. Here an example with linux path:
shaderfx_conf = /home/gregory/playstation/emulateur/pcsx2_merge/bin/GSdx_FX_Settings.ini
shaderfx_glsl = /home/gregory/playstation/emulateur/pcsx2_merge/bin/shader.fx
2014-11-10 10:38:52 +01:00
Gregory Hainaut 920ac6695f gsdx-ogl: add preliminary support of external shader fx 2014-11-10 10:37:58 +01:00
Gregory Hainaut ec1da2805c pcsx2/GSdx: disable AVX for the moment on linux
I need to check carefully the consequence of ABI change. So far wx is very unhappy!

Fatal Error: Mismatch between the program and library build versions detected.
The library used 2.8 (no debug,Unicode,compiler with C++ ABI 1002,wx containers,compatible with 2.6),
and your program used 2.8 (no debug,Unicode,compiler with C++ ABI 1006,wx containers,compatible with 2.6).
2014-11-09 15:45:54 +01:00
Gregory Hainaut 84f844767c gsdx-ogl: micro optimize PSConstantBuffer cache
Might help to save a cache line on the CPU :)
2014-11-08 21:39:17 +01:00
Gregory Hainaut 58bd645d49 gsdx-ogl: BindBufferBase also bind to the generic binding point 2014-11-08 21:39:13 +01:00
Gregory Hainaut 16377f7249 gsdx-ogl: only call PixelStorei when parameters are updated
It won't improve performance but it would reduce a bit the noise in gl retracer tool
2014-11-08 21:30:14 +01:00
Gregory Hainaut 47f40ed79a gsdx-ogl: reduce pbo complexity
Copy the full line into the pbo. Dma will only take GL_UNPACK_ROW_LENGTH
- increase memcpy size by 2 in the pbo
+ single memcpy will be faster and can use sse

Enable buffer_storage extension:
* GL_CLIENT_STORAGE_BIT was required (it is the duty of TexSubImage to copy data into the GPU mem)
* Enable the extension by default
2014-11-08 21:30:14 +01:00
Gregory Hainaut e62af05496 gsdx-ogl: reduce complexity of clear texture
Null is equivalent to a clear to 0.

Note: Code is not yet used because both stencil and depth are cleared.
Future note: stencil can potentially be replaced by load_store_image
2014-11-08 21:30:14 +01:00
Gregory Hainaut bd9df9a6ec gsdx: Add some comment on GSTextureCache + schematics
Note: docs/TextureCache.odg was created with libreoffice. Not perfect but give a nice overview
2014-11-08 21:30:14 +01:00