Gregory Hainaut
5ff9e94a2e
gsdx linux: align mipmapping gui option on Windows
2016-11-06 16:39:40 +01:00
Gregory Hainaut
107251e099
gsdx: sort crc game list
2016-11-06 16:30:51 +01:00
Akash
1547dd4215
GSDX-UI: Add Mipmap combobox
...
Mipmapping is now supported on hardware renderers thanks to Gregory. Please report any observed hardware mipmapping issues on the forums (http://forums.pcsx2.net/Thread-New-feature-Needs-testing-GSdx-HW-mode-Experimental-mipmap-support ) as potentially the HW mipmap code might still have some bugs.
2016-11-05 22:19:32 +05:30
Akash
58ed49f3c9
GSDX: Clean up warnings on MSVC
...
* Explicitly cast w_pages and h_pages into uint32.
* Prevent signed/unsigned comparison by converting lod into unsigned integer, honestly how coud a mipmapping level be negative?
2016-11-05 10:28:04 +01:00
Gregory Hainaut
758cf25888
gsdx: wrap bp for block ptr
...
Fix massive flickering of Beyond Good&Evil on SW renderer (HW happily overflow)
2016-11-04 23:03:12 +01:00
Gregory Hainaut
3d65312999
gsdx hw: remove old assert
...
Code is working fine with all formats
2016-11-04 23:02:49 +01:00
Akash
437afbbbf3
GSDX-PCRTC: Move Saturation hack to displayrect()
...
Fixes custom resolution scaling on Tribes aerial assault.
2016-11-01 17:54:46 +01:00
Akash
b871c6b46f
GSDX-TextureCache: Generalize scaling equation
...
Previously the dedicated custom resolution scaling equation was ignored for the second SetScale() call, generalizing the equations will also fix the DMC scaling issue on custom resolution. Also remove unnecessary checks for null on scale factors. The possibility for having a null scale factor value only exists on custom resolution and it will only happen on cases where the output circuit isn't ready yet. So the ideal way would be to handle all the required conditions of output circuit on "m_renderer->CanUpscale()" itself.
2016-11-01 17:54:46 +01:00
Akash
055f236aa5
GSVector: Add constructor to dispatch same values
2016-11-01 17:54:46 +01:00
Gregory Hainaut
aa4b2d9f3a
gsdx sw: wrap GS memory
...
Cost ought to remain small. Worst case is 2 extra "and" operation by group of pixels in scanline renderer
I think PixelAddressN functions are mostly call in the init.
2016-11-01 13:33:11 +01:00
Jonathan Li
ba557e20a4
gsdx:recorder:unix: Fix thread leaking
2016-10-28 18:33:50 +01:00
Jonathan Li
7ab5cb20c8
gsdx: Don't close threads twice
...
CloseThread is called in the GSJobQueue destructor, so don't call it
again in the GSThread destructor.
Fixes #392 , which was caused by a use after free.
Also prevents pthread_join() from being called twice for each thread
on non-Windows operating systems, which is undefined behaviour.
2016-10-28 18:33:35 +01:00
Gregory Hainaut
5dfb7d63dc
gsdx: wrap gs page/block instead to skip them
...
Fix FMV of Thrillville when coupled with wrap_gs_mem = 1
2016-10-25 22:49:05 +02:00
Gregory Hainaut
db4b4fb166
gsdx ogl: keep a separate log for sw
2016-10-25 22:00:41 +02:00
Gregory Hainaut
cedc8aae44
gsdx: implement a shared memory to emulate the wrapping of the gs memory
...
Code can be enabled with "wrap_gs_mem = 1". Code only allow a single shared memory but
I don't think we need more anyway.
Linux only, Kernel panic expected with the HW renderer.
Fix FMV on Silent Hill 3 with the SW renderer
2016-10-25 20:29:38 +02:00
Gregory Hainaut
42b51611af
gsdx: don't dump debug file if not requested
2016-10-25 17:10:57 +02: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
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
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
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
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
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
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