Gregory Hainaut
5565544ba6
gsdx-ogl: DATE with texture barrier
...
Much faster for small batch that write the alpha value. Code can
be enabled with accurate_date option.
Here a summary of all DATE possibilities:
1/ no overlap of primitive
=> texture barrier (pro no setup of stencil and single draw)
2/ alpha written
=> small batch => texture barrier (primitive by primitive). Done in N-primitive draw calls.
(based on GL_ARB_texture_barrier)
=> bigger batch => compute the first good primitive, slow but only 2 draw calls.
(based on GL_ARB_shader_image_load_store)
=> Otherwise there is the UserHacks_AlphaStencil but it is a hack!
3/ alpha written
=> full setup of stencil ( 2 draw calls)
2015-05-09 19:54:01 +02:00
Gregory Hainaut
b89f0cfa4c
Merge pull request #533 from PCSX2/gsdx-impossible-blend
...
Gsdx impossible blend support on openGL
2015-05-09 19:49:18 +02:00
Gregory Hainaut
390811f414
gsdx-debug: Dump in PNG on linux & dbg/dev build
...
Keep BMP for standard user of release build
2015-05-09 18:41:17 +02:00
Gregory Hainaut
3c7a3a3d83
gsdx-ogl: disable accurate option if driver doesn't support it
2015-05-09 18:41:17 +02:00
Gregory Hainaut
7fac25edb0
glsl: add shader implementation of impossible blend
...
Issue: I don't know if destination alpha value must be multiplied by 2.0f
2015-05-09 15:02:34 +02:00
Gregory Hainaut
f029e4763f
gsdx-ogl: add the alpha value in a constant buffer
2015-05-09 15:02:34 +02:00
Gregory Hainaut
472608b879
gsdx-ogl: add accurate blending implementation
2015-05-09 15:02:13 +02:00
Gregory Hainaut
1e8aea033c
gsdx-ogl: add a wrapper to control the drawing of primitives
...
No barrier => draw all primitives
Barrier but without overlap => draw all primitives
Barrier with overlap => draw primitive by primitve
It will ease the implementation of accurate blending and why not date too
2015-05-09 15:01:39 +02:00
Gregory Hainaut
625d65d4b4
gsdx-ogl: encode the bogus id as shader parameter
2015-05-09 14:55:44 +02:00
Gregory Hainaut
bc5de8df6b
gsdx-ogl: disable FF blend when blend is done in shader
2015-05-08 20:28:50 +02:00
Gregory Hainaut
380e420cdd
gsdx-ogl: add a blend parameter to shader
2015-05-08 20:28:50 +02:00
Gregory Hainaut
9023f5f0db
glsl: drop useless ifndef
...
I often mix them with the real value...
.
2015-05-08 19:28:17 +02:00
Gregory Hainaut
8e1db43431
gsdx-debug: debug stuff
2015-05-08 19:28:17 +02:00
Gregory Hainaut
3c66da4d82
gsdx: remove old code
2015-05-08 19:28:16 +02:00
Gregory Hainaut
1addae1993
gsdx-ogl: don't use extra shader for sprite hack
...
Atst == 2 && sprite_hack is equivalent to Atst == 1
It frees a bit in the shader selector, and reduces shader combinations.
2015-05-08 19:28:16 +02:00
Gregory Hainaut
b490085214
gsdx-ogl: add 2 options in the GUI to ease testing
...
accurate_date => use an emulated stencil to compute destination alpha
test (could be slow)
accurate_blend => do nothing (future)
2015-05-08 19:28:16 +02:00
Gregory Hainaut
4c91bab00e
gsdx: fix compilation error on release build
2015-05-08 19:28:00 +02:00
Gregory Hainaut
6d31124d3a
gsdx-debug: only enabled advance gl debugging on linux
...
It will avoid some crash on windows for driver that doesn't support
the extension.
Make debug support mandatory for debug build on linux.
2015-05-08 09:54:34 +02:00
Gregory Hainaut
e87d129b09
gsdx-ogl: more verbose debug
2015-05-08 01:01:01 +02:00
Gregory Hainaut
d6448183d7
gsdx-ogl-debug: insert error message in GL stream
...
This way, you can see your message in the GL debugger
2015-05-08 00:16:31 +02:00
Gregory Hainaut
544a923e32
gsdx: Add an option to control auto skip of depth texture
...
Default is 1 if the user enable hack.
It fixes GTA sun effect and likely others bugs.
Please someone add a windows GUI option.
2015-05-07 23:54:22 +02:00
Gregory Hainaut
51a67029cf
gsdx-ogl: add an option to print gl error messages
2015-05-07 23:54:22 +02:00
Gregory Hainaut
7518b2ef21
gsdx-gui-linux: add debug option in the gui
...
* Only for debug/dev build
* look awful (expand/fill) but otherwise it is nice for the debug ;)
2015-05-07 23:54:22 +02:00
Gregory Hainaut
d20501739f
Merge pull request #528 from ssakash/patch-1
...
sync with GSdx.ini variable.(fix earlier typo)
2015-05-07 22:15:41 +02:00
Gregory Hainaut
fda746ff93
gsdx-gui-linux: support 3 states hack options
...
Based on a Combo Box on linux. As good as 3 states check buttons
2015-05-07 22:13:49 +02:00
Gregory Hainaut
d69ffa9b8b
gsdx-gui-linux: move remaining table filling into small functions
2015-05-07 22:13:49 +02:00
Gregory Hainaut
b39b9c9f55
gsdx-gui-linux: use callback everywhere
...
Note: texture offset doesn't work nicely (you need to press enter
to validate the change)
2015-05-07 22:13:49 +02:00
Gregory Hainaut
d428e0d19d
gsdx-gui-linux: move table filling into separate function
...
It is much easier to read this way. I need to use callback for the remaining
object before I can move everything out of main function.
2015-05-07 22:13:49 +02:00
Gregory Hainaut
917a6c28e5
gsdx-gui-linux: factorize code
...
* Use wrapper and callback for Check Button/Spin Button/Combo Box
* Use TheApp.m_gs vector to create combo box
Remove nearly 100 lines of code ^^
2015-05-07 22:13:49 +02:00
Gregory Hainaut
ba21879059
gsdx-ogl: 1x aniso <=> off
2015-05-07 22:13:49 +02:00
Gregory Hainaut
e6560f348e
gsdx: add vector option for linux & openGL
2015-05-07 22:13:49 +02:00
avih
c02eadab3f
Merge pull request #531 from PCSX2-underground/ssakash-log-F9
...
console: use correct message for hw/sw rendering switch
2015-05-07 21:45:16 +03:00
Gregory Hainaut
8f1d00292b
gsdx-ogl: allow to control vsync on Windows
...
Issue #529
Completely untested
2015-05-07 18:41:10 +02:00
Gregory Hainaut
6095f40baf
gsdx-ogl: add the number of free bit in selector structs
2015-05-07 18:41:10 +02:00
Akash
c4b96c3c53
console: use correct message for hw/sw rendering switch
2015-05-07 21:41:38 +05:30
pgert
9a083d5506
gsdx: crc hacks: few new crcs, few crcs region changes
...
Signed-off-by: Avi Halachmi (:avih) <avihpit@yahoo.com>
2015-05-07 15:57:50 +03:00
Gregory Hainaut
97fad356b8
gsdx-ogl: fix debug build for AMD/Intel HW
2015-05-06 19:09:13 +02:00
Gregory Hainaut
cc4713d379
gsdx-debug: extend ogl debug capabilities
...
Group opengl calls into a nice name.
Apitrace shows them in a tree format that support folding. Previously it
was a long flat list (10K-40K of lines by frame)
I align the call number with the internal s_n variable. This way it is
easy to map GSdx dump output with the GL debugger :)
2015-05-06 19:09:13 +02:00
Gregory Hainaut
530e4ce776
gsdx-ogl: drop hack that rescale primitive (to avoid upscale glitch)
...
Rendering is bad. It renders sprites at native resolution.
2015-05-06 19:09:13 +02:00
Gregory Hainaut
6d65867b26
gsdx-ogl: comment point_sampler
...
It is not enabled on the shader so I will reuse the bit
2015-05-06 19:09:12 +02:00
Gregory Hainaut
3fcac07120
gsdx-ogl: print some message when blending is not properly supported
2015-05-06 19:09:12 +02:00
Gregory Hainaut
6fca3b421d
gsdx-debug: dump register context in a .txt file
...
+ Realign s_n number if frame is skipped
This way it is easier to understand current draw. It also eases
comparaison between SW/HW.
2015-05-06 19:09:12 +02:00
Akash
24e37d2dea
sync with GSdx.ini variable.(fix earlier typo)
...
fixed the description for round offset hack.
fixed the new description for round offset hack.
2015-05-05 23:01:46 +05:30
Gregory Hainaut
5d4bc5c8fe
Merge pull request #516 from PCSX2-underground/master
...
round offset UI initialization
2015-05-05 17:48:53 +02:00
Gregory Hainaut
5f5b901bca
gsdx-ogl: alpha bending equation/function are constant
...
Drop useless variables/state checking
2015-05-05 11:20:25 +02:00
Gregory Hainaut
8032e2c369
gsdx-ogl: separate color mask state from the blending state
...
Unlike DX they're uncorrelated.
2015-05-05 10:26:01 +02:00
Akash
302ce51efe
round offset UI explanation
...
initialization of IDC_ROUND_SPRITE
set&get config for round offset.
three state checkbox for the hack.
define IDC for round offset.
Linux (GUI) refresh.
typo
2015-05-05 00:29:00 +05:30
Gregory Hainaut
7bfee7e377
gsdx-debug: stop the dump after a limited number of draw call
...
Otherwise it fills your disk in a short time with useless data.
2015-05-03 16:46:48 +02:00
Gregory Hainaut
c1ddad2d25
gsdx-linux: Refresh the GUI
...
* Use table everywhere (better alignment)
* Factorize Box/Frame creation
* Factorize table insertion
* Add Anisotropic Filtering support
2015-05-03 16:36:48 +02:00
Gregory Hainaut
ae70344fbc
gsdx-ogl: fix 2 passes DATE with GL42 (override_GL_ARB_shader_image_load_store = 1)
...
It fixes shadows issue with Persona 3
2015-05-02 16:56:18 +02:00