Gregory Hainaut
c1d39a5f57
gsdx-ogl: drop UserHacks_DateGL4
...
Initial goal was to avoid slowdown in buggy driver
2015-06-16 09:57:45 +02:00
Gregory Hainaut
62beb3aaf4
gsdx: don't do bad stuff if aggressive hack isn't enabled
2015-06-14 10:27:02 +02:00
Gregory Hainaut
f765a195e2
gsdx: Don't set CRC function pointer when disabled
...
Less costly than an extra check for each draw calls
2015-06-14 10:27:02 +02:00
Gregory Hainaut
1699289162
gsdx: move 4 hacks from level2 to level3
...
remains tons of them :(
2015-06-14 10:27:02 +02:00
Gregory Hainaut
1be8d07f85
gsdx: auto CRC management
...
Old way various check boxes to configure the plugin
New way an unified drop down list
* Level 0 (dev only) => disable (mostly) all hacks and auto skip depth.
* Level 1 (dev only ) => enable oi/oo/cu hacks, others remains disabled
* Level 2 (GL) => enable most hacks except a couple of one that were fixed on openGL (speed impact)
* Level 3 (DX) => enable all hacks
* Level 4 => enable also aggresive CRC
Note: windows gui must be updated, and it will be nice to create a global tooltip
2015-06-14 10:27:02 +02:00
Gregory Hainaut
c6220bf836
gsdx-debug: print an error on unsupported draw call
...
Typically GTA
2015-06-14 10:27:02 +02:00
TheLastRar
d0af2033e9
Dev9ghz: Respect user Log dir setting, use PluginLog
...
for logging as it checks if log file was created/opened successfully
Enable full logging in debug builds.
2015-06-11 23:18:25 +01:00
Gregory Hainaut
c11ac928ba
Merge pull request #599 from ssakash/patch-12
...
inclusion of jap version of dr2 in gscrc.cpp
2015-06-11 09:45:41 +02:00
Gregory Hainaut
237ffcf796
gsdx-ogl: Make GL_ARB_draw_buffers_blend optinal for limited DX10 drivers
2015-06-10 22:55:27 +02:00
Akash
343ecca6ba
crc hack
2015-06-10 20:13:27 +05:30
Gregory Hainaut
cbcb7962ce
Merge pull request #593 from turtleli/gsdx-cleanup-and-fixes
...
Gsdx cleanup and fixes
2015-06-10 08:14:44 +02:00
Jonathan Li
b1acc08c58
GSdx: Linux: Fix wording
2015-06-09 19:30:16 +01:00
Gregory Hainaut
4e82073bfc
gsdx-ogl: improve setting bilinear of palette
...
Instead to disable it, uses GS settings
2015-06-09 09:53:50 +02:00
i30817
4e7e7f2dd5
Nocturne, DDS1 and DDS2 CRC hacks to remove motion blur and smudge filter
...
Signed-off-by: i30817 <i30817@gmail.com>
2015-06-09 00:25:33 +02:00
Gregory Hainaut
2503d9698c
gsdx-ogl: re enable bilinear fitlering on palette for paltex mode
...
However keep it disabled for StarOcean 3 use cases
2015-06-08 21:01:18 +02:00
refractionpcsx2
95c2622b7f
Gsdx: Typo'd!
2015-06-07 18:31:51 +01:00
refractionpcsx2
b5171dfe5d
Gsdx: De-crapify Native resolution, potential fix for custom resolutions.
2015-06-07 16:57:55 +01:00
refractionpcsx2
0946958acf
Gsdx: Height change on Gregory's recommendation :)
2015-06-07 16:12:14 +01:00
Gregory Hainaut
c3c29945b2
gsdx-ogl: only set a cst blend factor when Ad is used
...
Fix GT4 and potentially FFX
2015-06-07 16:10:59 +02:00
Gregory Hainaut
5daf7aa98f
gsdx-debug: keep s_n/pop in sync
2015-06-07 12:39:48 +02:00
Gregory Hainaut
5bf5b5bca4
gsdx-ogl: extend StretchRect to write in depth texture
...
It will allow to convert color texture to depth texture
2015-06-07 12:39:23 +02:00
Gregory Hainaut
0518aaedc9
gsdx-ogl: unattach palette to avoid noise in debug
2015-06-07 12:39:15 +02:00
Gregory Hainaut
23f8203a22
gsdx-ogl: add some shaders to convert depth <-> color
...
I'm afraid of rounding error
2015-06-07 12:39:00 +02:00
Gregory Hainaut
a5fe8478ae
Merge pull request #575 from PCSX2/gsdx-half-screen-snow-engine-v2
...
gsdx-texture-cache: Improve fix for snow engine game
2015-06-07 10:18:56 +02:00
refractionpcsx2
0a467291f9
Gsdx: Height thing didn't work so well, using old buffer width test again
2015-06-07 03:50:34 +01:00
Gregory Hainaut
0e3349f953
Merge pull request #590 from PCSX2/OpenGL-printf-corrections-removed-shadow-hearts-crc
...
OpenGL printf wording corrections, removed Shadow Hearts CRC
2015-06-06 21:56:07 +02:00
bositman
1de58349c5
Bleh
2015-06-06 22:39:34 +03:00
bositman
8d61ab2af2
OpenGL printf wording corrections, removed Shadow Hearts CRC (not used anymore in GSstate)
...
Some minor grammar fixes to OpenGL prints and removed Shadow Hearts CRC
which has been left behind
2015-06-06 22:28:59 +03:00
refractionpcsx2
1fa13163e4
GSDX: Fix for games which change height but keep the same buffer width
...
- Fix for games that specify a double height, like Pool Paradise
2015-06-06 20:24:10 +01:00
Gregory Hainaut
c3dc51826f
Merge pull request #541 from TheLastRar/master
...
DEV9ghzdrk - thread safer calls to DEV9irq
2015-06-06 10:47:32 +02:00
Gregory Hainaut
97467f9e30
Merge pull request #579 from PCSX2/drop-vs2010-support
...
Drop vs2010 support
2015-06-06 10:47:16 +02:00
Gregory Hainaut
68e44fd354
gsdx: reload the state when GSconfigure is called
...
It fixes the reloading of openGL option and it avoids
issue during pause/resume.
Fix issue #584
2015-06-06 08:51:53 +02:00
Gregory Hainaut
7e662c50d4
Revert "gsdx: always restore the full gs state object (s_gs)"
...
This reverts commit 2ea049b5a5
.
2015-06-06 00:22:15 +02:00
Gregory Hainaut
4feeaac7d1
Merge branch 'alignment' of git://github.com/xsacha/pcsx2 into xsacha-alignment
...
Gregory: Get all changes but keep C11 code path which will be the future
(if someone can find info on Visual Studio support)
* Keep the old posix api to use address sanitizer on gcc 4.9
Conflicts:
common/build/Utilities/utilities.vcxproj.filters
common/build/Utilities/utilities_vs2012.vcxproj.filters
common/build/Utilities/utilities_vs2013.vcxproj.filters
common/include/Utilities/MemcpyFast.h
common/include/Utilities/StringHelpers.h
common/src/Utilities/AlignedMalloc.cpp
common/src/Utilities/vssprintf.cpp
plugins/GSdx/stdafx.cpp
2015-06-05 20:31:14 +02:00
Gregory Hainaut
e774fecb77
gsdx-ogl: enable again geometry shader on Mesa
...
Please use a recent Mesa version (10.5 if possible)
2015-06-05 18:59:10 +02:00
Gregory Hainaut
6c8f7a0147
Merge pull request #580 from PCSX2/issue-565-option
...
gsdx: always restore the full gs state object (s_gs)
2015-06-05 17:51:02 +02:00
Gregory Hainaut
7d124e6a83
gsdx-texture-cache: Improve fix for snow engine game
...
Instead to hardcode the half-buffer size to 0x140, the new code
compute it.
To avoid regression, I limit the code to big target (>= 1024 pixels)
2015-06-05 09:06:12 +02:00
refractionpcsx2
65b83a36a7
GSDX: Removed some printf's I left in.
2015-06-05 00:13:21 +01:00
refractionpcsx2
91f775f3f0
GSDX: Fixed up some of the scaling height settings
...
-Last commit broke Snowblind games again
-Width now based on output circuit
-Try to use the smallest possible while being at least the size of the screen
2015-06-05 00:12:15 +01:00
Gregory Hainaut
6f4ec98bc3
gsdx: try to reduce the size of target as much as possible
...
I suspect too consume too much memory (issue #576 )
2015-06-04 22:15:52 +02:00
Gregory Hainaut
f8f6117ea9
gsdx-debug: allow to track texture move
...
Very painful for the cache and the performance
2015-06-04 22:10:04 +02:00
Gregory Hainaut
979ea92754
gsdx: make png++ optional
...
Some distributions (Fedora) doesn't have a png++ package...
2015-06-04 20:22:05 +02:00
Gregory Hainaut
bd2c04a0ec
ooups bad copy/past
2015-06-04 19:58:58 +02:00
Gregory Hainaut
2ea049b5a5
gsdx: always restore the full gs state object (s_gs)
...
It will force a reload of opengl option
2015-06-04 18:29:31 +02:00
Gregory Hainaut
c2e851b3a5
gsdx-ogl: don't use slow SW blend for nothing
...
When A == B, coeff is 0 so <= 1
When C == 2, just check the value of coeff
Barely faster in accurate_blend = 2
2015-06-04 18:18:47 +02:00
Gregory Hainaut
ba5b367ae8
drop support of Visual Studio 2010
...
* Severals PR uses C++11 features
* 2015 will soon be released
* Win 10 will soon be released
Time to upgrade
2015-06-04 08:55:22 +02:00
Gregory Hainaut
85266abd71
gsdx-ogl: use a 8MB vbo/ibo
...
Dirge of Cerberus draw 143,360 vertices in a single draw!
It is likely to emulate a particle effects
Hopefully improve issue #573
2015-06-04 08:28:40 +02:00
bositman
e34477a497
Merge pull request #547 from pgert/master
...
GSdx > HW-hacks > Rewording comments on duplicate CRC's and minor cleanup
2015-06-03 15:58:28 +03:00
Gregory Hainaut
0d5d94f56e
Merge pull request #570 from ssakash/patch-3
...
Three new Opengl settings for Windows [GUI]
2015-06-03 14:01:39 +02:00
Gregory Hainaut
3dd3bf6e2b
gsdx-ogl: new hidden option accurate_blend = 2
...
Debug option to emulate all blending draw call in the shader
Of course it is slow but it is very accurate
2015-06-03 09:56:07 +02:00
Gregory Hainaut
cd6c93cd9e
gsdx: silly mistake
2015-06-03 09:31:52 +02:00
Akash
f2d193edcf
Add three new Opengl options.
2015-06-02 16:02:56 +05:30
Gregory Hainaut
995ae51bf4
gsdx-ogl: disable a log message
...
Too verbose and code was fixed anyway
2015-06-02 09:28:35 +02:00
Gregory Hainaut
9fe13f7a6b
gsdx linux: fix a memory leak
...
Not important but pollute the valgrind log
2015-06-02 09:28:35 +02:00
refraction
4914620178
GSDX: Fix for 6x Native, fixed GH3 in native mode taking up quarter of the screen after the snowblind changes
2015-06-01 19:04:39 +01:00
Gregory Hainaut
2cbde89084
Merge pull request #555 from PCSX2/real-fb-format
...
GSdx: better framebuffer format
2015-06-01 11:48:07 +02:00
Gregory Hainaut
f81cf360bc
Merge pull request #545 from PCSX2/gsdx-half-screen-snow-engine
...
Gsdx half screen (most of) snow engine games
2015-06-01 11:47:40 +02:00
Gregory Hainaut
9fa473a57d
gsdx-ogl: glDebugMessageCallback is optional
...
Not even used in release build
2015-05-31 17:55:34 +02:00
Gregory Hainaut
9d69ff1f91
gsdx-debug: create the savef option
...
The idea is to easily extract bad frame from gs dump and to compare them
with the sw renderer.
Here the summary of the options:
savet => dump all input textures
save => dump the render target
savez => dump the depth buffer
savef => dump the frame
2015-05-31 17:38:52 +02:00
Gregory Hainaut
d301848848
gsdx-ogl: fix paltex on opengl
...
RT uses as palette must use the alpha channel
Palette texture uses the red channel
2015-05-30 19:01:09 +02:00
Gregory Hainaut
2f2ae2bc89
gsdx-ogl: enable gl tracing on windows
...
Trace info is enabled in dbg/dev build for the opengl renderer
Info is stored in GSdx_opengl_debug.txt when debug_opengl option is 1
2015-05-30 09:58:47 +02:00
Gregory Hainaut
009dd103ae
gsdx-ogl: protect the trace with if statement
...
And mark the function as optional
2015-05-30 09:58:46 +02:00
Gregory Hainaut
a639634769
gsdx-ogl: actually code use 4.0 GL_ARB_draw_buffers_blend
...
It is used for glBlendEquationSeparateiARB && gl_BlendFuncSeparateiARB
The 3.0 function could work too. It just need to be added
2015-05-30 09:58:46 +02:00
Gregory Hainaut
92d68b70d3
gsdx-ogl: add a performance note for later
...
The idea will be to replace StretchRect for standard case with a framebuffer
blit. Potentially it toggles less gl state.
Worth a test on Star Ocean 3 that uses a lots this function for stencil emulation
2015-05-30 09:58:46 +02:00
Gregory Hainaut
01e4a5148d
gsdx-ogl: avoid crash in debug/dev build
...
Don't be silly, don't put gl trace in EE thread.
2015-05-29 16:50:27 +02:00
Gregory Hainaut
0cb6c37f14
gsdx-tc: add an explanation of the magic number 0x140
2015-05-29 12:27:05 +02:00
refraction
97b237712c
gsdx: detect RT size based on fb size and gs output configuration
...
* It is required for snowbling games
* Targets of Texture cache are dropped.
2015-05-29 12:26:44 +02:00
Gregory Hainaut
02274601b3
gsdx-ogl: always copy texture into 0,0
2015-05-29 12:18:54 +02:00
Gregory Hainaut
e5326d1bd2
gsdx-tc: allow to reuse the right part of large RT as source
2015-05-29 12:18:54 +02:00
Gregory Hainaut
7ac533a4d1
gsdx-tc: invalidate half-RT src
...
snow engines uses the RT as 2 half RT.
2015-05-29 12:18:54 +02:00
Gregory Hainaut
da0b77e09b
gsdx-ogl: new logo
...
Thanks bmate for the logo.
Close issue #192
2015-05-29 11:05:52 +02:00
refraction
8f54da5fd3
GSDX: Removal of Nvidia hack.
...
- Hack no longer required as an option as a safe and simple workaround has been discovered which seems to work without modifying any vertices.
2015-05-28 21:41:02 +01:00
refraction
5d00c00826
GSDX: Fixed UserHacks_AutoSkipDrawDepth dialog creation on windows.
...
- CheckDlgButton was just wrong
- Changed tag to say "Auto-skip depth" as you could only see "Auto-skip draw" which was highly ambiguous on GSDX!
2015-05-28 21:21:19 +01:00
TheLastRar
66b08c0b2f
Use Mutex to control writes to the RX_Frame counter
...
A user on http://obsrv.org had an issue with freezing, unfreezing than
dying on other players screen, but can continue playing anyway. This
comment didn't end up fixing the issue of becoming a ghost, but he
didn't freeze.
2015-05-28 20:22:38 +01:00
Gregory Hainaut
31ffdd8c53
Merge pull request #559 from ssakash/patch-5
...
Auto depth skip hack initialization.[GUI]
2015-05-28 19:21:45 +02:00
Gregory Hainaut
8e32d71c07
Merge branch 'patch-3' of git://github.com/ssakash/pcsx2 into ssakash-patch-3
2015-05-28 18:30:49 +02:00
Akash
5f7e09268c
change "D3D Internal Resolution" to "Internal Resolution"
2015-05-28 16:33:16 +05:30
Akash
bf743fec17
add logo for Opengl renderer.
2015-05-28 01:34:51 +05:30
Gregory Hainaut
c43ddaec4f
gsdx: add Castlevania hack explanation
2015-05-26 17:03:13 +02:00
Gregory Hainaut
419dfe0544
glsl: redo color/alpha management correction
...
Please test it!
GS supports 3 formats for the output:
32 bits: normal case
=> no change
24 bits: like 32 bits but without alpha channel
=> mask alpha channel (ie don't write it anymore)
=> Always uses 1.0f as blending coefficient
16 bits: RGB5A1, emulated by a 32 bits openGL texture. I think it will be more correct to use
a real 16 bits GL texture. Unfortunately it would cost several (slow) target conversions.
Anyway as a current solution
=> apply a mask of 0xF8 on color when SW blending is used (improve Castlevania shadow)
unfortunately normal blending mode still uses the full range of colors!
This commit also corrects a couple of blending factor. 128/255 is equivalent to 1.0f in PS2, whereas GPU uses 1.0f. So the blending factor must be 255/128 instead of 2
Note: disable CRC hack and enable accurate_colclip to see Castlevania shadow ^^
(issue #380 ).
Note2: SW renderer is darker on Castlevania. I don't know why maybe linked to the 16 bits format poorly emulated
2015-05-26 16:49:43 +02:00
Akash
ef3247c233
Update copyright license
2015-05-26 19:15:30 +05:30
Akash
99f9407c24
Auto depth skip hack initialization.
2015-05-26 19:13:56 +05:30
Gregory Hainaut
9ee3a173d0
gsdx-ogl: use a local ALPHA register
...
It would allow to easy tune the parameter to support 24 bits format
2015-05-26 15:36:48 +02:00
Gregory Hainaut
d31bd97d59
gsdx-ogl: add a variable to select FB output
...
Either 32bits/24bits/16bits
2015-05-26 14:59:07 +02:00
Gregory Hainaut
93c0d5a268
gsdx-ogl: add an error message when a RT is reused with a format cast
...
For example a 32 bits RT could be used as a 16 bits RT.
It is likely the source of various bug in HW renderer
2015-05-26 11:16:49 +02:00
Gregory Hainaut
a3bbe68d56
gsdx: throw an exception when we miss a mandatory gl feature
...
Gracefully quits when driver is not supported
(like nvidia legacy driver for GTX260)
Please test the impact on windows
2015-05-26 11:03:59 +02:00
Gregory Hainaut
3be5a6036b
gsdx-ogl: remove assertion + debug message
...
opengl use a different object to compute the vertex count
2015-05-26 11:03:59 +02:00
refraction
b84a462798
Unreachable code message was annoying me.
2015-05-26 00:30:12 +01:00
Gregory Hainaut
2704a65f57
gsdx: add some info for Star Ocean3/Valkyrie Profile 2/Radiata Stories
...
Feel free to test those games with CRC disabled on the openGL renderer (native resolution)
2015-05-25 12:37:48 +02:00
Gregory Hainaut
580d177951
gsdx: improve commit 11708486d8
...
This time linear filtering is disabled only for the bad draw call
(RT used as a palette texture).
2015-05-25 09:46:51 +02:00
Gregory Hainaut
99d7434671
gsdx-ogl: disable SSO on nouveau
2015-05-24 19:24:10 +02:00
Gregory Hainaut
11708486d8
gsdx: allow to control the filtering of texture cache
...
When the RT is used as an input texture, we need to rescale it.
Previous behavior was to always uses a linear filtering (more smooth).
Unfortunately it broke some games that expected an exact value like Star Ocean 3
This commit will disable the linear filtering in normal filtering mode (filter = 0
or filter = 2)
This way, shadow of Star Ocean 3 will appear correctly in upscaling (not
100% perfect but can't do better)
Note: SO3 only requires a nearest sampling of the alpha channel but
I don't know the behavior for others games.
2015-05-24 18:59:27 +02:00
Gregory Hainaut
b0af54d33e
gsdx-ogl: better support of palette
...
The purpose of the code is to support alpha channel
of RT uses as an index for a palette texure.
I'm afraid that code will likely break pure palette texture. Only used
if paltex is enabled
It fixes missing shadow in Star Ocean 3 (issue #374 ) in Native resolution
with filter = 0 (no filtering) or = 2 (normal fitering)
Rendering explanation:
The game emulates a stencil buffer with the alpha channel
The alpha channel of the RT can contains a palette texture index (format 4HH)
The idea is to have a gradient of value in the palette (16/32/48/...).
This way you can implement a +16/-16 and even wrap the alpha value every time
you hit the pixel.
Bilinear filtering breaks the rendering because it interpolates between counts
so you doesn't have the exact count
Upscaling breaks the rendering because the RT is reused as an input texture. It means
that we need to scale it down which again create some interpolations.
2015-05-24 18:07:16 +02:00
Gregory Hainaut
951a1fed94
gsdx-hack: enable auto skip of depth texture for God of War
...
Rendering is quite complex to emulate on the GPU due to several limitation.
Until we find a solution let's enable the old solution
You could find a description of the rendering here:
http://forums.pcsx2.net/Thread-God-of-War-Red-line-rendering-explained
2015-05-24 13:43:36 +02:00
Gregory Hainaut
a70c3bf5de
glsl: correct the alternate implementation of ps_main1
...
Still not yet enabled by default
Potentially it can be optimized with the dot product but special care
need to be taken to ensure float accuracy.
Bonus: it could work on old GPU (aka DX9)
2015-05-24 13:43:36 +02:00
Gregory Hainaut
c82fd94c6c
gsdx-debug: use GL_INS instead of printf
2015-05-24 13:43:36 +02:00
Gregory Hainaut
c01686d252
gsdx-png: add a fixme message for 16 bits by channel image
2015-05-24 12:51:20 +02:00
Gregory Hainaut
7f614401a6
gsdx-ogl: set accurate_blend as default
...
Rendering is better and I think speed impact remains small.
2015-05-23 15:10:04 +02:00
Gregory Hainaut
c507e816c2
gsdx-ogl: oups forget a break
2015-05-23 13:06:23 +02:00
Gregory Hainaut
b884e0c0c0
gsdx-debug: improve debug experience
...
* Dump context before the increase of s_n
=> aligned with the global call number
* Don't print colclip not supported when it is optimized away
* dettach the input texture when it is useless
=> avoid to show a wrong texture in the debugger
2015-05-23 12:23:05 +02:00