Gregory Hainaut
b62859ffa2
gsdx ogl: only enable the alternate alpha test in FB_ONLY
...
RGB_ONLY requires to handle the alpha channel in the alpha test
2016-08-15 11:25:19 +02:00
Gregory Hainaut
90707f8d4e
gsdx: avoid aliasing issue
...
Extend GSVector to support float move
Initial code likely used integer move for performance reason. However due to
the nan correction, register is now in float domain.
2016-08-14 20:48:34 +02:00
Gregory Hainaut
447e0d0336
Merge pull request #1514 from PCSX2/gsdx-nouveau-driver
...
Gsdx alpha test improvement
2016-08-14 20:29:09 +02:00
Gregory Hainaut
15db7eeb81
gsdx: use correct format in printf
...
u => unsigned
d => signed
zu => size_t
2016-08-13 12:48:35 +02:00
Gregory Hainaut
0a1454ff6c
gsdx: use prefix increment operator for non-primitive type
...
I think compiler is clever enough to optimize the code but it won't hurt
and it reduces the number of cpp check warning.
2016-08-12 23:11:26 +02:00
Gregory Hainaut
dc2864ad7a
gsdx hw: avoid a null deferenced false-positive in coverity
...
It is a false positive because it supposes that PRIM->TME is both true and false.
It is the first Schrodinger's variable ;)
2016-08-12 23:02:06 +02:00
Gregory Hainaut
1a09712f89
gsdx: init m_custom_width/height to a default value
...
Avoid useless warning on coverity
2016-08-12 22:48:20 +02:00
Gregory Hainaut
c41cf6c444
gsdx: init variable in constructor
...
CID 168626 (#1 of 1): Uninitialized scalar field
uninit_member: Non-static class member m_end_block is not initialized in this constructor nor in any functions that it calls.
2016-08-12 22:45:17 +02:00
Gregory Hainaut
41afd85a5d
gsdx sw: fix GCC warning enumeral and non-enumeral type in conditional expression
2016-08-12 19:30:14 +02:00
Gregory Hainaut
88b7470c07
gsdx: use const qualifier to avoid gcc (false positive) warning
...
variable might be clobbered by ‘longjmp’ or ‘vfork’
Only remains warning for 2 variables: success & image
2016-08-12 19:30:14 +02:00
Gregory Hainaut
19e992869a
Merge pull request #1512 from PCSX2/gsdx-dynamic-thread-height
...
gsdx sw: add extrathreads_height to control the quantity of pixels pr…
2016-08-12 15:52:13 +02:00
Gregory Hainaut
332ef5892b
gsdx: replace hardcoded constant with nice enum
2016-08-11 22:30:34 +02:00
Gregory Hainaut
8b94320524
gsdx ogl: implement another algo to handle alpha test
...
Fix rendering issue on letters on Kengo/burnout 3/...
Default algo will execute the alpha test in 2 passes. However due to blending
you can't handle accurately the color.
Fortunately for us, the rendering uses an always pass depth test so you
can execute first all the color rendering (which doesn't depends on the alpha test)
And then the depth part which depends on the alpha test.
2016-08-11 21:15:17 +02:00
Gregory Hainaut
866173a481
gsdx ogl: move zbuffer emulation code into a dedicated function
...
* Code was factorized a bit with the help of max_z
* Add an extra optimization if test is ZTST_GEQUAL and min z value is
the biggest value. Z test will always be pass.
Note: due to float rounding (23 bits mantissa vs 24 bits depth) the test
is done against 0xFF_FFFE and not 0xFF_FFFF. It is wrong but GPU will
also use float so impact will be null.
2016-08-11 21:14:58 +02:00
Gregory Hainaut
1fa9e3fc93
gsdx ogl: align shader self test to atst previous change
2016-08-10 11:30:13 +02:00
Gregory Hainaut
74822d6ba3
gsdx ogl: rework atst handling
...
* Move the rounding operation in the constant buffer
* Merge less with less equal. And merge greater with greater equal
Need test
2016-08-10 11:30:11 +02:00
Gregory Hainaut
9a188a87c2
gsdx ogl: move ATST emulation in a dedicated function
...
Future commit will try to reduce the number of Alpha Test possibilities
2016-08-09 20:53:44 +02:00
Gregory Hainaut
fb2182dd9b
gsdx small nitpick
2016-08-09 15:15:30 +02:00
Gregory Hainaut
0dcce91a6e
Merge pull request #1504 from ssakash/RemoveFunction
...
GSDX: Remove GetDeviceSize()
2016-08-08 16:15:07 +02:00
Akash
bc24e90070
GSDX: Remove GetDeviceSize()
...
It's not used anywhere and it doesn't seem needed.
2016-08-07 12:43:03 +05:30
Jonathan Li
af60501fb6
windows: Remove unused solution files and property sheets
...
The solution files are unused and for ancient Visual Studio versions -
GSDumpGUI has its own solution file, and bin2cpp is included in the main
solution file.
The property sheets have either fallen out of use or were never used in
the first place.
2016-08-04 23:09:08 +01:00
Jonathan Li
869f4d1898
gsdx: Only set ini path in GSdxApp::Init() if it's empty
...
Fixes a regression introduced by 46ba9aa117
,
where the Linux GS replayer would always use the options in inis/GSdx.ini
(or use the default options if that doesn't exist) to replay the dump,
instead of using the GSdx.ini from the specified ini folder.
2016-08-04 00:53:50 +01:00
Gregory Hainaut
e9e1b33884
gsdx: log a nice string instead of the hex format of PSM
2016-08-03 18:07:54 +02:00
Gregory Hainaut
41bede60eb
gsdx replayer: fix broken init in replayer
...
"regression" from previous defered init
2016-08-03 11:57:56 +02:00
Gregory Hainaut
27f313ee16
gsdx hw: limit OI_GsMemClear to large clear
...
Help to reduce the speed impact
2016-08-03 11:23:23 +02:00
Jonathan Li
f978f9a07d
Merge pull request #1477 from turtleli/gsdx-defer-init
...
gsdx: Avoid illegal instruction crash on older CPUs
2016-08-02 23:00:19 +01:00
Gregory Hainaut
16affc9ef4
gsdx tc: potentially fix a regression
...
Update done on f712c5c6d0
Previous code use the size of the draw to compute latest block. I
don't know why I use .x/.y which are the origin offset so the start of the block.
2016-08-02 15:35:28 +02:00
Jonathan Li
44f90efb93
gsdx:psx: Fix illegal instruction crash on old CPUs
...
Check the instruction set first in GPUinit, GPUconfigure and GPUtext
to prevent unsupported vector instructions from being executed.
Move the vector initialisation in GPUinit to a separate function - it
avoids a vzeroupper instruction.
2016-08-01 19:38:23 +01:00
Gregory Hainaut
92ae8a5be7
gsdx sw: print current draw call of GetSizeFixedTEX0
...
To easily detect compare with hardware renderer
2016-07-31 13:19:38 +02:00
Gregory Hainaut
1ea83ba3a7
gsdx debug: log current area of the draw
...
This way it is easier to see which part of the texture is read, and which part
of the framebuffer is updated
2016-07-31 13:19:38 +02:00
Adam Diffin
6376e8d6e7
Just a simple grammar fix. ( #1489 )
2016-07-31 01:23:35 +01:00
Gregory Hainaut
140fe74ca2
gsdx ogl: fix bad blending regression
...
(when accurate blending is disabled)
Regression was introduced in 29c97a9bf2
(11th June)
2016-07-30 09:59:53 +02:00
Gregory Hainaut
242ac26299
Merge pull request #1485 from ssakash/HPO_Custom
...
GSDX-TextureCache: Port Half pixel offset hack for custom resolutions
2016-07-29 15:07:02 +02:00
FlatOutPS2
02b0451d3c
GSdx: Star Ocean 3 depth issue fix
...
Fixes issue #1475
2016-07-29 12:13:26 +02:00
FlatOutPS2
91e07727e3
GSdx Add missing CRC hacks
2016-07-29 12:12:52 +02:00
Akash
dbad57b8e8
GSDX: Silence an implicit conversion warning
...
OMSetBlendState() doesn't accept passing a float value as it's argument
(AKA actual parameter).
2016-07-28 18:58:06 +05:30
Akash
47f69f694a
GSDX-TextureCache: Port Half pixel offset hack for custom resolutions
2016-07-28 18:45:23 +05:30
Gregory Hainaut
620876e0e7
gsdx: fix compilation error with ICC
...
just require the -restrict compilation flag
2016-07-28 11:01:28 +02:00
Jonathan Li
a9f9c1406c
Merge pull request #1474 from turtleli/windows-64-bit-fixes
...
Windows 64-bit compile fixes
2016-07-28 00:19:04 +01:00
Jonathan Li
7e30d16797
gsdx: Use char array instead of string for name
...
"static string str;" causes a SIGILL signal on a "Nehalem" (SSE4.2)
QEMU VM when compiled with GCC 6.1.1.
2016-07-27 23:34:16 +01:00
Jonathan Li
46ba9aa117
gsdx: Defer GSdxApp initialisation on Linux only
...
vector push_back causes a SIGILL signal on a Nehalem (SSE4.2) QEMU VM
when compiled with GCC 6.1.1.
However, an empty constructor causes illegal instruction exceptions to be
generated on a Windows VM.
So here's an inbetween that looks stupid but works on what I've tested.
2016-07-27 23:34:15 +01:00
Jonathan Li
9f53987e3b
gsdx: Use map for GSCRC::m_map
...
Visual Studio 2015 initialises unordered_map using vector instructions,
which can cause PCSX2 to crash if the instructions aren't supported.
2016-07-27 23:34:14 +01:00
Jonathan Li
e5ea4cc5d4
gsdx: Defer vector initialisation to GS/GPUinit
...
It can cause PCSX2 to crash if the instructions aren't supported.
2016-07-27 23:34:14 +01:00
Jonathan Li
d726d4d4aa
gsdx: Add AVX2 to instruction set test
...
Also add a newline to the error message and report AVX/AVX2 instead of
SSE5.00 and SSE5.01.
2016-07-27 23:34:12 +01:00
Gregory Hainaut
7fa55c39f1
Merge pull request #1479 from ssakash/custom_fixes
...
GSDX-TextureCache: Add proper rounding when unscaling texture size
2016-07-27 22:31:21 +02:00
Gregory Hainaut
d6383e6c21
Merge pull request #1472 from PCSX2/gsdx-gta-depth-issue-1457
...
Gsdx gta depth issue 1457
2016-07-26 18:40:53 +02:00
Akash
d3ebd4b318
GSDX-TextureCache: Add proper rounding when unscaling texture size
...
Fixes flickering issues on Dragon Ball Z Budokai Tenkaichi FMV's on custom resolution, might also help prevent some crashes on custom resolution.
2016-07-26 18:28:07 +05:30
ramapcsx2
c592ccb3e5
Merge pull request #1435 from ssakash/Custom_TextureCache
...
GSDX: Improve scaling of custom resolution
2016-07-26 14:07:19 +02:00
Jonathan Li
5719bddbb5
gsdx:windows: Change m_colorspace to INT_PTR
...
Fixes a 64-bit compile error.
2016-07-23 02:19:28 +01:00
Gregory Hainaut
aea75f51bd
gsdx tc: partial support of pseudo depth for Dx
...
Fix #1457 (GTA)
The game uses a depth format for a pure color buffer (cokes do ravage
in gaming industry)
However I'm really afraid that it migth break another effect in other games.
2016-07-22 20:38:46 +02:00