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
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
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
Gregory Hainaut
ae441e6a2c
gsdx mipmap:HW: Update all valid texture layers
2016-10-13 20:16:38 +02:00
Gregory Hainaut
5d593dd948
gsdx mipmap:HW: save state of both min&max lod values
2016-10-13 20:16:38 +02:00
Gregory Hainaut
15b1d8d3f0
gsdx mipmap:tc: add code to update a single layer of a mipmap
2016-10-13 20:16:38 +02:00
Gregory Hainaut
dbb4bdf59f
gsdx mipmap:ogl: add GL_TEXTURE mipmap support
...
* Allocate more memory for extra layers
* Allow to upload data in any layers
2016-10-13 20:16:38 +02:00
Gregory Hainaut
76bd968c59
gsdx mipmap: extend texture/cache to support a layer parameter
2016-10-13 20:16:38 +02:00
Gregory Hainaut
b695e0065a
gsdx mipmap: use a 3 state option
2016-10-13 20:16:38 +02:00
Jonathan Li
679f3347bb
cdvdgigaherz: Read raw CD sectors one by one ( #1590 )
...
A multi sector raw disk sector read that reads data from two tracks of
different types will not complete successfully. Reading the sectors one
at a time should fix the issue.
2016-10-10 22:33:15 +01:00
Clang Format
039573b133
clang-format spu2x
...
Note: it doesn't play well with define around forceinline (might need to fix the inline btw)
And a single macro in RegTable.cpp
2016-10-10 20:41:24 +02:00
Robert
36631f2270
remove a useless define
...
cosmetics
more cosmetics
some more cosmetics? sure!
whitespaces
whiterspaces
2016-10-09 20:10:53 +02:00
Robert
95fe77a594
bad merge fix
2016-10-09 16:15:19 +02:00
Robert Neumann
19a8ed8b25
psxmode: Spu2x: more native SPU2 reghandlers. first "working" reverb! (everything before was just random data)
2016-10-09 15:52:47 +02:00
Robert Neumann
ee05137415
psxmode: Spu2x: add reverb register handling, fix a problem with the address translation, re-enable "VMIXEL" writing (which should just be named Echo/Effect ON or EON really)
2016-10-09 15:52:47 +02:00
Robert Neumann
1ec70f1df3
psxmode: Spu2x now working correctly. Kudos to pseudonym. Took him 30 minutes to fix this!
2016-10-09 15:52:46 +02:00
Robert Neumann
08b6edae80
psxmode: further spu2x work
2016-10-09 15:52:45 +02:00
Robert
3aabc1adbf
spu2x work 1
2016-10-09 15:52:05 +02:00
Gregory Hainaut
9af34cc611
gsdx tc: miss a set scaling call
...
Likely impact issue #83/#694
2016-10-09 13:07:08 +02:00
Gregory Hainaut
3b733930fe
gsdx: UserHacks_TextureInsideRt must be disabled by default
...
Likely a bad copy/past
2016-10-09 12:13:37 +02:00
Gregory Hainaut
344636d88e
gsdx ogl: attach input texture before copy
...
Help to ensure with copy the good texture in debugger
2016-10-08 23:42:39 +02:00
Gregory Hainaut
22ebdcf1cf
gsdx debug: create a nice dump function for kernel gs registers
...
Add missing register
2016-10-08 23:42:39 +02:00
Andreas
ab228c8484
Added missing CRC for Grand Theft Auto San Andreas.
2016-10-08 18:38:50 +03:00
FlatOutPS2
db853b4462
GSdx: Add Jak 2 US CRC to GSCrc list.
...
Fixes issue: https://github.com/PCSX2/pcsx2/issues/1603
2016-10-07 13:14:15 +03:00
Gregory Hainaut
574a807678
gsdx tc: new hack to extract texture from rt
...
UserHacks_TextureInsideRt = 1 (don't look at Jak)
2016-10-07 01:43:04 +02:00
Gregory Hainaut
8873b27eb8
gsdx: let's keep the new clut option off
...
There are still issue with virtua fighter (albeit my dump is better...)
2016-10-06 22:05:03 +02:00
Gregory Hainaut
79666b26c0
gsdx sw: restore the const reference
...
It was removed for PSX hack which was removed a couple of commits ago
2016-10-06 20:02:22 +02:00
Gregory Hainaut
c66004bbb2
gsdx: hidden option to better support dual context clut
...
Option is on by default. Just a safety net in case of regression
Fix clut issue on virtua fighter (SW) and harley davidson (SW/HW).
2016-10-06 19:08:21 +02:00
Gregory Hainaut
9cd4984f7c
gsdx debug: more log
2016-10-06 18:56:31 +02:00
Gregory Hainaut
d827497403
gsdx: let's handle illegal 4 bits format too
...
In doubt if some games use them.
2016-10-05 22:07:49 +02:00
Gregory Hainaut
9b93c07339
gsdx: Handle illegal 8 bits format. Found the most silly GS dev trick
...
Fix Berserk #1526 Well done guys but we're more clever than you ;)
So instead to mask the color channels as any guy that RTFM, they decided to use the illegal 8H frame format
2016-10-05 22:07:43 +02:00
Gregory Hainaut
6fd46eb36a
gsdx: move the validation of the texture format before the draw call
...
Avoid false positive when game write dummy stuff
2016-10-05 22:07:23 +02:00
Pseudonym
a0629587be
gsdx memory: implement read texture of PS GPU24
...
convert the swizzled block as tightly packed 24 bits RGB
Then convert scanline to standard 32 bits RGBA
The HW renderer requires the preload data hack
2016-10-05 21:59:42 +02:00
Gregory Hainaut
1c900e780a
gsdx memory: add a PS GPU 24 bits format
...
Same swizzle as 16 bits. But contains tightly packed RGB pixels.
2016-10-05 21:06:38 +02:00
Gregory Hainaut
1cc696ab31
gsdx hw: update TEST.ATE field after ATE optimization
...
Otherwise DoFirstPass/DoSecondPass will give you result based on pre-ATE optimization
Close #1607
2016-10-05 09:43:24 +02:00
Gregory Hainaut
3653a7746a
gsdx psxmode: small hack to "see" video until we found a better solution
2016-10-05 09:43:24 +02:00
Gregory Hainaut
677f890c5c
gsdx debug: static GSState::s_n
...
This way you can access the current draw call anywhere. Very useful for debug.
2016-10-05 09:43:24 +02:00
Gregory Hainaut
61333ecb40
gsdx debug: trace register access
...
I didn't include high frequency register such as vertex stuff
main goal is to give the possibility to trace the texture/clut update
2016-10-05 09:43:24 +02:00
Gregory Hainaut
1b8d6a38e7
Merge pull request #1586 from PCSX2/gsdx-refresh-gui-options
...
Gsdx refresh gui options
2016-10-04 18:30:48 +02:00
Gregory Hainaut
354aa6831b
gsdx ogl: brain hang in the middle of the line
...
Only impact if bilinear is forced
2016-10-03 18:52:02 +02:00
Gregory Hainaut
5b72fab2e4
gsdx ogl: depth regression from 866173a481
...
Only mask depth if the min value is too big
Issue #1602
2016-10-03 18:32:54 +02:00
Gregory Hainaut
3be055a366
gsdx hw: remove code to detect an effect
...
It was a tentative to emulate GTA radiosity but the new hack is more generic
2016-10-02 18:29:23 +02:00
Gregory Hainaut
49c44db635
gsdx:dx: make filtering right
...
WMS/WMT 2 is the region clamping mode.
Hw unit can't emulate it right so it can give you bad filtering (Fix #1025 )
Note: I only did the fix because I wanted to remove the TEXA hack. Otherwise
it is still recommended to use openGL
2016-10-02 18:21:52 +02:00
Gregory Hainaut
7f4791fa85
gsdx hw: improve no_ds detection
...
Support ZTST_NEVER as no depth read => psx mode speed boost
Use zm/fm to reduce further depth lookup
2016-10-02 18:21:52 +02:00
Gregory Hainaut
c3ac3ecbe7
gsdx hw: move try alpha test at the beginning
...
Will allow to use alpha test optimization to better optimize depth lookup
Require to do clut handling before
2016-10-02 18:21:52 +02:00
Gregory Hainaut
dc365e066d
gsdx tc: remove old plain TEXA hack
...
It must work fine without it now.
From the google code comments:
It would be nice to test those games
* Ar Tonelico 2 (line in sprite regression?)
* breath of fire dragon quarter (overlayed user interface in the game)
v2: update Dx code to use the good format
2016-10-02 18:21:52 +02:00
Gregory Hainaut
cf13cccb1e
gsdx: avoid useless spamming of INVALID PSM in release build
2016-10-02 18:21:41 +02:00
Gregory Hainaut
955a69b16e
gsdx ogl: fix GT4 regression (wrong texture on timing)
2016-10-02 12:16:48 +02:00
Gregory Hainaut
c7c6566bca
gsdx hw: of course the full Jak series will kill me
2016-10-02 11:57:09 +02:00
Gregory Hainaut
b6638d4eec
gsdx hw: forgot to comment an unused variable
...
Keep the code in case, we better solution is found to validate the depth/frame format
2016-10-02 10:18:15 +02:00
Gregory Hainaut
3996fbe365
gsdx hw: reduce conplexity around TryAlphaTest
...
* As sw renderer, don't bother to bypass it when it is ATST_ALWAYS
* Don't update the ATE register value
=> It is a really bad idea. Next draw call will be wrong if TEST register isn't written.
The TryAlphaTest context could have been updated
2016-10-01 19:20:49 +02:00
Gregory Hainaut
c5f086b385
gsdx ate: separate the code that depends on TEST.AFAIL
...
Easier to read and allow a switch optimization
Add a shortcut for the common ATST_ALWAYS case
2016-10-01 19:20:38 +02:00
Gregory Hainaut
4612b79575
gsdx: add a warning on vertex trace
...
Due to a division by 2, depth lsb bit is always 0
I'm not sure it is critical but let's keep a note for the future
2016-10-01 19:16:44 +02:00
Gregory Hainaut
d1e07295e7
gsdx linux: add the missing gui option for unscale point/line primitive
2016-10-01 19:16:44 +02:00
Gregory Hainaut
5e1064da55
gsdx: remove the safe accurate blending hack
...
V2: Integrate Flatout patch to do the Window side
2016-10-01 19:15:52 +02:00
Gregory Hainaut
f77c1900fa
gsdx tc: always clear a new depth buffer
...
Random data isn't a good idea for a depth buffer. It can cause flickering. (Jak2 FMV)
Hopefully it won't impact too much the speed.
2016-10-01 19:00:17 +02:00
Gregory Hainaut
9c84712640
gsdx hw: enable palette read back on Jak2
2016-10-01 18:47:21 +02:00
Gregory Hainaut
5d93a392e4
gsdx hw: xman half screen correction
2016-09-30 22:25:24 +02:00
Gregory Hainaut
29c25bc375
gsdx clut: disable some assertions often fired
2016-09-30 22:24:38 +02:00
Gregory Hainaut
34686394a6
gsdx hw: add an hack for Jak3
...
I'm disappointed...
Read back palette written by the GPU. Avoid strange color on the skin.
2016-09-30 19:22:16 +02:00
Gregory Hainaut
df2f8684d6
gsdx: improve TC cache log
2016-09-30 19:18:58 +02:00
Gregory Hainaut
8d24aa2b39
gsdx: GoW2 half screen bug
...
... Seriously ...
2016-09-30 19:15:25 +02:00
Gregory Hainaut
fc32b749dd
onepad: fix a pad regression on odin sphere
2016-09-30 10:25:14 +02:00
Gregory Hainaut
8d4fadb3c8
Revert "gsdx state: TEX0 write behavior might depends on the context"
...
This reverts commit b34243fa7b
.
Unfortunately we have a regression on GT4. I'm doomed
2016-09-28 20:00:56 +02:00
Gregory Hainaut
90ad9cf668
gsdx hw mipmap: tune the rounding + remove previous hack
...
GS really uses an invalid texture located at 0.
Improve the rounding for R&C. The idea is to avoid the corner case were only
the corner of the triangle touch the 7/16 edge.
2016-09-28 19:41:12 +02:00
Gregory Hainaut
adb8be3287
gsdx: add/update comment
...
Need to investigate why the number of vertex is different in upscaled resolution
2016-09-28 19:41:12 +02:00
Gregory Hainaut
749037346c
gsdx: report an error if PSM is invalid
2016-09-28 19:41:12 +02:00