Commit Graph

9238 Commits

Author SHA1 Message Date
sudonim1
820462dbc0 Merge pull request #1635 from sudonim1/reverb
SPU2-X: Reverb rewrite
2016-10-24 17:17:48 +01:00
Gregory Hainaut
e80ca0fa92 gsdx ogl: of course some driver don't work with GL_ARB_enhanced_layouts
Windows and (AMD or Intel)
2016-10-23 12:48:23 +02:00
Gregory Hainaut
885ef7a46f gsdx ogl: reduce complexity of driver detection 2016-10-23 12:43:50 +02:00
Gregory Hainaut
565cb70875 gsdx ogl: don't request arb_texture_barrier for the SW renderer
Allow[1] to use the mesa software emulated driver to test EGL.

[1] also need export MESA_EXTENSION_OVERRIDE="GL_ARB_buffer_storage"
2016-10-23 12:13:57 +02:00
Pseudonym
1668392988 SPU2-X: Mass reverb register renaming. Hopefully I didn't screw up the
cross-channel reflection registers.
2016-10-22 19:16:11 +01:00
Pseudonym
9a51820dec SPU2-X: Experimental reverb based on Dr. Hell's
http://drhell.web.fc2.com/ps1/ and/or Martin Korth's
http://problemkaputt.de/psx-spx.htm reverse engineering.
Negate final reverb output (don't know why but it's an
improvement when comparing the waveform).
2016-10-22 19:16:11 +01:00
Gregory Hainaut
01f0f436ac gsdx linux replayer: allow to repack gs dump
linux_replay = -N will save N first frames to a new gs dump

Save disk space & debug time
2016-10-22 13:22:28 +02:00
Gregory Hainaut
99c43881df gsdx egl: report an error if we fail to bind the openGL API
It seems Nvidia added openGL support in 355 (whereas I have 352 on debian).

I don't know the status on AMD.
2016-10-22 13:22:28 +02:00
Gregory Hainaut
d4a163e9cc spu2: improve format consistency 2016-10-22 13:22:28 +02:00
Pseudonym
1f44c4be2f SPU2-X: PSX games should be able to read ENDX correctly now, which is
important functionality for many sound engines.
Fixed two other obvious errors in the psx compatibility merge, probably
inconsequential.
2016-10-20 04:17:03 +01:00
Gregory Hainaut
8fdf973e66 gsdx glsl: add basic support of GL_ARB_enhanced_layouts (GL4.4)
Hardcode location of interface to the location 0. If I understand the
spec correctly (unlikely), variable in interface will get successive
location.

Goal is to reduce driver work. Instead to compute some location based on
name matching approach (and silly validation), the driver can now use
static allocation.

Tests on future Mesa 13 are welcome
2016-10-19 23:03:39 +02:00
Gregory Hainaut
b1f2d27ddf gsdx: move Haunting Ground CRC to dx level 2016-10-19 21:10:44 +02:00
Gregory Hainaut
264b764d6e gsdx tc: improve haunting ground hack to remove the bloom effect
Just clear the buffer. The generic solution will be a copy from buffer A
to buffer B But it requires
1/ a big buffer A (otherwise it would overflow)
2/ a line width rescaling (+ the upscaling mess support)
2016-10-19 19:31:32 +02:00
František Zatloukal
8958b2042f Force GDK_BACKEND to x11 in .desktop 2016-10-18 11:15:26 +02:00
František Zatloukal
a9bc568217 Force GDK_BACKEND to x11
Fixes PCSX2 on Wayland
2016-10-18 11:15:26 +02:00
Gregory Hainaut
c2cf8e528c gsdx ogl: tekken5: only trigger channel effect shader when frame buffer is a single page
Fix missing model regression.
2016-10-17 19:34:55 +02:00
Clang Format
604d3bac3c clang format: set SpacesBeforeTrailingComments to 1 2016-10-16 21:42:31 +02:00
Akash
8945ace3f7 GSDX-UI: Remove Trilinear options at some cases
Currently the Trilinear option only works on OpenGL. Remove it from combobox when other renderers are used.
2016-10-16 17:36:30 +01:00
Akash
45be4626f6 GSDX: Add an enum for texture filtering
Also re-order the combobox to make it look consistent with the tooltip description.
2016-10-16 17:36:30 +01:00
Gregory Hainaut
cc4cc342c2 gsdx hw: add a special sub target invalidation for haunting ground
Fix a wrong blending/blooming

Based on CRC to reduce impact on others games (speed)
2016-10-16 17:32:57 +02:00
Gregory Hainaut
31248da3d1 gsdx sw: Fix 16 bits date test on SSE build
AVX Builds were fixed in this commit a1a842b07f
2016-10-16 16:48:23 +02:00
Gregory Hainaut
defdd27987 gsdx: set m_nativeres to true in replayer
Otherwise you can't compare draw call between native and upscaled
2016-10-16 16:48:23 +02:00
Robert Neumann
f5e096a66f spu2x: indicate pitch modulation and noise enabled status in the visual debugger 2016-10-16 14:15:12 +02:00
Gregory Hainaut
c284459382 gsdx tc: allow to search old depth/color in texture cache
But give higher priority to recent buffer.

Fix cut scene issue in Jak II (and potentially various game when EE/VU hacks are used)
2016-10-15 18:08:00 +02:00
Gregory Hainaut
7bb201a1d2 gsdx tc: move code to allow to lookup an older target if none was found
Next step is to enable it by uncommenting line 452
2016-10-14 22:03:29 +02:00
Catarax
978b3eca05 GameDB: World Rally Championship Freeze Fix (PAL)
Fix the random freeze in WRC for PAL release with the EETimingHack.
2016-10-14 21:02:16 +02:00
Gregory Hainaut
24684033ca gsdx: enable clut_load_before_draw option on Harley Davidson (CRC hack)
At least the game is good until we find how the HW really behave
2016-10-14 20:47:18 +02:00
Gregory Hainaut
2c0a4ac906 gsdx ogl: add an extra debug log level
Avoid too much log
2016-10-14 20:46:58 +02:00
Gregory Hainaut
3c30db965d gsdx gui: add a combo box on linux (below Interlace)
3 states are off/half/full. I'm too lazy to create a better combo box.

The hack option will be removed when Windows GUI is ready
2016-10-14 19:26:58 +02:00
Gregory Hainaut
37a1230c01 gsdx: reduce code duplication for key event 2016-10-14 19:26:58 +02:00
Gregory Hainaut
a4658eac24 gsdx hw: allow overlapping of texture (alpha) and framebuffer (RGB)
Fix HUD on Berserk

v2: use fbmask instead of hacking the target format to 24 bits.
2016-10-14 19:26:27 +02:00
Gregory Hainaut
25e76d0564 gsdx ogl: use an invalid value for stencil state
Fix shadow in WWE Smackdown Vs Raw 2006
2016-10-14 19:01:18 +02:00
Gregory Hainaut
51c64fcbe6 gsdx sw: trick GetFeedbackOutput to handle basic merge loopback
It is enough for Xenosaga.
2016-10-14 18:13:20 +02:00
Gregory Hainaut
deb2ed3d09 gsdx ogl: reimplement merge circuit to support feedback write 2016-10-14 18:13:20 +02:00
Gregory Hainaut
06055add5c gsdx merge: get a new buffer for the feedback write 2016-10-14 18:13:20 +02:00
Gregory Hainaut
317a464278 gsdx shader: RGB => YUV conversion
Required for write feedback emulation
2016-10-14 18:13:20 +02:00
Jason Brown
6ef5607d99 gsdx shader: add a shader to render text for OSD
Gregory: code extracted from the OSD PR to reduce conflict
2016-10-14 18:13:20 +02:00
Jason Brown
d84d30fe87 gsdx: Add color component to OGL shaders 2016-10-14 18:13:20 +02:00
Gregory Hainaut
7ca9ca9465 gsdx: new parameter for merge virtual function
* Add full PMODE register to replace slbg/mmod
* Add full EXTBUF register (will allow to emulate write feedback)
* Add a third source (which will actually be the destination of the
  write feedback)
2016-10-14 18:13:20 +02:00
FlatOutPS2
357dcdb55e GSdx: Move alpha stencil hack back to original location
Avoids skipping the alpha stencil hack.
2016-10-14 16:36:17 +02:00
Gregory Hainaut
fbf7ccbdda gsdx: by default new will throw std::bad_alloc
So catch/use it and don't bother with GSDXErrorOOM
2016-10-13 20:44:59 +02:00
Gregory Hainaut
c440c7c93a gsdx gui: update the filter combox box with new trilinear options
OpenGL only

v2: update setting tooltip based on turtleli feedback
2016-10-13 20:16:38 +02:00
Gregory Hainaut
5ced9c1f19 gsdx mipmap:ogl: plug trilinear/mipmap2 option
mipmap option 3. Actually maybe a separate tri-linear option will be better

m_mipmap == 2 => use manual PS2 trilinear/mipmap
Otherwise
m_filter == 3 => always use full automatic trilinear interpolation
m_filter == 4 => use automatic trilinear interpolation when PS2 uses mipmap
m_filter == 5 => like 4 but force bilinear interpolation inside layer
2016-10-13 20:16:38 +02:00
Gregory Hainaut
c2777ff989 gsdx state: split IsMipmapActive in 2 pieces
This way we can test if a draw call requires a triliner filtering.
It will be used in next commit to implement automatic trilinear
2016-10-13 20:16:38 +02:00
Gregory Hainaut
1b9b47dd6a gsdx mipmap:ogl: add capabilities to automatically generate mipmap layer 2016-10-13 20:16:38 +02:00
Gregory Hainaut
510eccd471 gsdx mipmap: enable fully tri-linear filtering
(when mipmap > 1)
2016-10-13 20:16:38 +02:00
Gregory Hainaut
a8a2db8eb1 gsdx mipmap:ogl: extend HW sampler with tri-linear filtering
v2:
* use nice enum
* use bilinear info when there is no mipmap (more accurate)
2016-10-13 20:16:38 +02:00
Gregory Hainaut
335d7f3ae5 gsdx: add a nice enum for min filter 2016-10-13 20:16:38 +02:00
Gregory Hainaut
7ea0e90678 gsdx mipmap:ogl: extend shader to support trilinear filtering 2016-10-13 20:16:38 +02:00
Gregory Hainaut
d185a85a07 gsdx ogl: replace simple_sample variable by the opposite shader_emulated_sampler
It feels easier to read this way
2016-10-13 20:16:38 +02:00