Commit Graph

8770 Commits

Author SHA1 Message Date
Gregory Hainaut bb50b3419e Merge pull request #1542 from PCSX2/gsdx-texture-transfer-motocross
gsdx: save the blit buffer register when a transfer is started
2016-09-04 16:55:08 +02:00
Gregory Hainaut 52a2bb5524 gsdx ogl: disable texture shuffle when a render a basic sprite
Fix shadow issue on "Shadow of Memories"
2016-09-03 12:18:52 +02:00
Gregory Hainaut 79209c31bf gsdx ogl: avoid bad logging of framebuffer/texture overlap 2016-09-03 12:18:51 +02:00
Jonathan Li 4d10eda308 Merge pull request #1545 from turtleli/cdvd-spti
cdvdgigaherz: Use SPTI to read raw CD sectors
2016-09-02 23:56:05 +01:00
Gregory Hainaut a123e65185 gsdx sw: handle the invalidation of the palette when written by the GS
Manual gives all setup to upload a palette from the host. But nothing forbid to render
directly in the palette buffer. (GS rule nb 1, there is no rule ^^)

Fix Virtua Fighter 2 dark colors

However I'm not sure we can fix HW renderer. Rendering is done on the GPU but palette
handling is done on the CPU... So we need to read back data (ouch, and slow). A quick
test didn't get the expected results. Potentially there are others bugs (aka not gonna
happen on the HW renderer)
2016-09-03 00:21:56 +02:00
Gregory Hainaut d01194da0b gsdx sw: help debug
* quick way to disable verbose fixed tex0
* use palette address/format when the palette is dumped :)
2016-09-03 00:10:23 +02:00
Gregory Hainaut 6323268f40 gsdx tc: reset dirty alpha flag when we lookup a frame
Fix black skin regression for haunting ground (at least on my gs dump)
2016-09-02 21:31:13 +02:00
Gregory Hainaut 774d98991c iop rec: fully enable COP2 support 2016-09-02 21:05:28 +02:00
Jonathan Li 3d8be787a2 cdvdgigaherz: Use SPTI to read raw CD sectors
IOCTL_CDROM_RAW_READ apparently does not work for some read modes on
some optical drives, which makes some CD-ROM games unplayable from the
disc.

Work around the issue by using SPTI to retrieve the raw sector data. The
old reading method has been retained in case SPTI cannot be used (if the
device could not be opened with write access).
2016-09-02 00:58:38 +01:00
Gregory Hainaut b47c50ae5d iop rec: add the missing LWC2/SWC2 (CP2 reg from/to mem) 2016-09-01 21:50:13 +02:00
Gregory Hainaut 1ee0526e41 iop rec: add constant propagation for COP2
Inspirated from COP0
2016-09-01 21:16:43 +02:00
Gregory Hainaut bdc29dbbbf iop rec: put cop2 comment in the good position... 2016-09-01 20:47:12 +02:00
Gregory Hainaut c9a1558c60 gsdx: save the blit buffer register when a transfer is started
Fix motocross mania missing texture. Close #1319

As far as I understand, transfer is initialized in DIR. But the real
write only occured later so the blit buffer could have been overwritten
by a new value.

BLIT 0 13700
TREG 40 40
DIR 0 0
BLIT 0 13f00 <=== the bad guy
Write! ...  => 0x3f00 W:1 F:C_32 (DIR 00), dPos(0 0) size(64 64)

v2: set a value in m_tr.m_blit for load state
2016-09-01 09:59:38 +02:00
Gregory Hainaut 448fee76c1 gsdx ogl: move GS setup in SetupIA
Fix regression when geometry shader is disabled
2016-09-01 09:47:46 +02:00
Gregory Hainaut 165bcf5662 Merge pull request #1539 from FlatOutPS2/DX
GSdx DX: extend ATE to better support additional corner case DX port
2016-08-29 11:39:22 +02:00
Gregory Hainaut 19a9d639b1 Merge pull request #1538 from PCSX2/gsdx-improved-ate
gsdx ogl: extend ATE to better support additional corner case (issue …
2016-08-29 11:38:57 +02:00
Gregory Hainaut da688114f4 Merge pull request #1522 from PCSX2/gsdx-issue-1438
gsdx tc: don't partially invalidate small target
2016-08-28 16:51:25 +02:00
Gregory Hainaut e4337b6631 glsl2h: add input files in the header
Close #1404
2016-08-28 16:31:35 +02:00
Gregory Hainaut a1cdf7189a gsdx tc: don't partially invalidate small target
It creates a regression on game that uses a small temporary target to
upload textures of various sizes. Inital code was done to handle direct
frame write (background, FMV) so big target
2016-08-28 16:24:02 +02:00
Gregory Hainaut c71ef6fa4c i10n: refresh tr_TR (turkish) 2016-08-28 15:43:54 +02:00
FlatOutPS2 e5c6b2e952 GSdx DX: extend ATE to better support additional corner case DX port
Port for Direct3D renderers of PR #1538.
2016-08-28 15:13:15 +02:00
Gregory Hainaut 7103707aeb gsdx: new linux option linear_present
Purpose is to control the filtering when final image is displayed on the screen

Could improve the sharpness of the output in some games (ofc, it will be pixelated)
2016-08-27 19:23:12 +02:00
Gregory Hainaut d78d515acb iop rec: plug GTE (aka COP2) in the recompiler
Code isn't enabled yet to avoid any breakage

Edit iR3000ATables.cpp line 1446
2016-08-27 17:23:37 +02:00
Gregory Hainaut 2b925e0103 gsdx ogl: extend ATE to better support additional corner case (issue #1499)
When depth primitive is constant and depth test is greater or equal, we can
execute the depth write after color (depth status will only depends on the initial
value)

New case for RGB_ONLY ate:
If the blending equation uses a fixed alpha or a source alpha. We can postpone the alpha write
in a 2nd pass.
If depth can also be postponed, we can guarantee the order of correctness of the value.
1st pass => do RGB
2nd pass => do Alpha & Depth

It fixed Stuntman letter rendering :) Remaining of the game is still broken :(
2016-08-27 14:46:10 +02:00
Gregory Hainaut b6693c4345 gsdx dx/gl: fix depth optimization
4th bit is the fog value, not the depth
2016-08-27 13:57:39 +02:00
Gregory Hainaut 7b222768d4 build: check syntax of null plugins
Temporary hack to compute the number of commit in the branch

[skip appveyor]
2016-08-27 13:35:36 +02:00
Gregory Hainaut c6d42c09d8 travis: check format in clang build
I created a dedicated target (before script). Might not be the best idea
2016-08-27 13:35:20 +02:00
Gregory Hainaut 411a25b610 Merge pull request #1531 from PCSX2/clang-tidy-empty-instead-of-size
pcsx2|common|gsdx: use empty() instead of .size() ==/!= 0 check
2016-08-26 10:05:01 +02:00
Gregory Hainaut 601c828562 Merge pull request #1530 from PCSX2/clang-format-plugin-v1
Clang format plugin v1
2016-08-26 10:04:52 +02:00
Gregory Hainaut 5a1cb00a07 Merge pull request #1517 from FlatOutPS2/DX
Gsdx alpha test improvement DX
2016-08-25 09:25:19 +02:00
Clang Format eb18a2ac0f PADnull reformat 2016-08-25 00:16:29 +02:00
Clang Format 6613862aed CDVDnull reformat 2016-08-25 00:16:25 +02:00
Clang Format 25b0b63216 GSnull reformat 2016-08-25 00:16:21 +02:00
Clang Format e61d14168a dev9null reformat 2016-08-25 00:16:15 +02:00
Clang Format e3a2ad03bc SPU2null reformat 2016-08-25 00:16:11 +02:00
Clang Format 67e7d63f0f FWnull reformat 2016-08-25 00:16:07 +02:00
Clang Format b246d13bae USBnull reformat 2016-08-25 00:16:00 +02:00
Gregory Hainaut 18941f1b80 clang-format: tune format after discussion
Use custom brace setup. So union/struct/class all behave the same.

Fix typo on 3rdparty
2016-08-24 22:55:37 +02:00
Gregory Hainaut 16f12bcfa5 build.sh: small improvement
Fix undefined variable in cpp check
Print current job on clang-tidy (ease replay of a single file)
Keep jobs order, ease diff between multiple run
2016-08-24 22:55:37 +02:00
Gregory Hainaut 2ec0f26122 build.sh:clang-tidy: drop the remaining ASM file 2016-08-24 22:55:37 +02:00
ramapcsx2 c1f45dafa5 Merge pull request #1507 from FlatOutPS2/master
PCSX2: IPU end of video freeze fixes
    Fixes end of video freeze in Enthusia - Professional Racing.
    Fixes end of video freeze with IPU Normal error in games like Enter The Matrix(#1494), Rygar, Freestyle Metal X, etc. Also fixes The Incredible Hulk and Bolt (thanks to @prafullpcsx2 for testing).
2016-08-23 12:56:21 +02:00
Gregory Hainaut de32691b4e clang format: don't allow statement on single lines + disable resource.h too (generated file)
Following discussion in #1530
2016-08-22 18:21:17 +02:00
Gregory Hainaut 1fb2c66a21 gsdx ogl: Unscale line
Line thickness will be increased to N pixels (N is the upscaling factor).

Code will also be enabled by UserHacks_unscale_point_line = 1
2016-08-22 18:18:12 +02:00
Gregory Hainaut 018895067b gsdx ogl: restore code to unscale point
enabled by UserHacks_unscale_point_line = 1

Point will be transformed into a NxN square sprite. (N is the upscaling factor)
2016-08-22 18:18:12 +02:00
Gregory Hainaut f3d14dadc7 Merge pull request #1524 from ssakash/SMODE2_Override
EE: Minor changes to syscall function
2016-08-22 11:37:13 +02:00
Gregory Hainaut 1a8825b374 pcsx2|common|gsdx: use empty() instead of .size() ==/!= 0 check
Enhance readability reported by clang tidy
2016-08-21 17:20:13 +02:00
Gregory Hainaut 8ee2d3d367 gsdx: use static assert when possible
reported by clang tidy
2016-08-21 15:22:09 +02:00
Nicolas Hillegeer b2984cd3d0 build.sh: don't use -m option for parallel
My reasoning was off. The -m flag does avoid the clang-tidy startup
 cost (which isn't large), but it also increases tail latency because it
 allows a straggler command to run much longer. Suppose that many heavy
 .cpp files are bundled into one clang-tidy invocation.

Bench from Greg
with -m
./build.sh --dbg --clean --no-simd --clang-tidy  3886.45s user 12.04s system 1066% cpu 6:05.71 total
without
./build.sh --dbg --clean --no-simd --clang-tidy  4297.51s user 41.70s system 1497% cpu 4:49.86 total
2016-08-21 14:29:49 +02:00
Gregory Hainaut 27ea9c22bb Merge pull request #1529 from aktau/clang-tidy-parallelize
build.sh: parallelize clang-tidy
2016-08-21 13:30:44 +02:00
Nicolas Hillegeer b45adb6e6a build.sh: parallelize clang-tidy
Also suppress spurious output from command -v.

[ci skip]
2016-08-21 13:29:08 +02:00