Gregory Hainaut
39bf84a13c
onepad: don't duplicate the "GamePad" base class code/member in the "JoystickInfo" derivated class
2016-08-12 22:37:37 +02:00
Gregory Hainaut
2d8a0dc59c
onepad: fix a couple of ccpcheck warning
...
Yes I know formating suck
2016-08-12 22:36: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
5ad4cbace7
onepad|common: fix GCC warning type limit
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
0b86aad059
spu2x sdl: increase the number of samples
...
Avoid alsa error "buffer underrun"
2016-08-09 11:38:25 +02:00
Jonathan Li
5d6f9a316a
cdvdgigaherz: Use null for event/thread handle init
...
CreateEvent and CreateThread return NULL on failure, not
INVALID_HANDLE_VALUE. This should have been done in
0477e03965
, I didn't check thoroughly
enough.
2016-08-08 22:34:58 +01: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
0477e03965
cdvdgigaherz: Fix CreateEvent/CreateThread return value checks
...
CreateEvent and CreateThread return NULL on failure, not
INVALID_HANDLE_VALUE.
Spotted using Visual Studio Code Analysis Tools (Warning C6387)
2016-08-05 00:30:25 +01:00
Jonathan Li
a8286e7458
cdvdgigaherz: Remove unused variables
2016-08-04 23:46:26 +01:00
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
ac9f2ed284
lilypad: fix the gcc warning take 3
...
Signed vs non-signed comparison
2016-08-03 18:06:27 +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
4eda5fb924
Revert "lilypad: use size_t instead of int for num* variable"
...
This reverts commit 87d73684fa
.
Will do something that work ;)
close #1498
2016-08-02 22:40:03 +02: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
Gregory Hainaut
87d73684fa
lilypad: use size_t instead of int for num* variable
...
Fix noisy GCC warning: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
2016-08-02 15:29:38 +02:00
Gregory Hainaut
f19da94bfd
Merge pull request #1476 from PCSX2/onepad-input-state
...
onepad 1.3: import lilypad state machine into onepad
2016-08-02 15:01:42 +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
Gregory Hainaut
76f38d3da0
onepad: fix ICC compilation warning
2016-07-28 10:48:43 +02:00
Gregory Hainaut
d714a2a393
lilypad: fix compilation on ICC
2016-07-28 10:46:40 +02:00
Gregory Hainaut
48c4d54a6c
onepad: support load/save state for the plugin
...
close #205
close #1375
close #1465
v2: don't bump PCSX2 savestate version
2016-07-28 09:48:44 +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
62aff1f2a1
onepad 1.3: import lilypad state machine into onepad
...
Not tested
* rumble
Save/load state will be implemented in the next commit
v2:
* Print current deteced pad mode
* fix dpad button tranmission
close #366
2016-07-27 08:55:27 +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
Gregory Hainaut
20aee23edc
onepad: fix gcc warning
...
warning: comparison between signed and unsigned integer expressions
2016-07-26 09:27:57 +02:00
Gregory Hainaut
0937526aac
onepad: handle correctly the release state of analog pad
...
Axe ranges from 0 to 255 but the release state value is 127 not 128.
close #243
2016-07-26 09:27:14 +02:00
Robert Neumann
b8c1fa9b43
Fix warning in dev9ghz
2016-07-23 15:58:37 +02:00
Jonathan Li
f40b2e641b
spu2-x:windows: Use INT_PTR for DialogProc return type
...
Fixes a 64-bit compile error.
2016-07-23 02:19:29 +01: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
Gregory Hainaut
d58c07d697
onepad: init event struct
...
Might help to reduce valgrind warning
2016-07-22 20:27:54 +02:00
Gregory Hainaut
7d35e15fea
Merge pull request #1444 from PCSX2/atomic-relax
...
Atomic relax
2016-07-22 18:36:02 +02:00
Gregory Hainaut
0f62bccb0b
Merge pull request #1470 from ssakash/spu2_x_nitpicks
...
SPU2-X: Align GUI elements on debug dialog
2016-07-22 18:18:20 +02:00
Gregory Hainaut
9182a287e2
Merge pull request #1469 from PCSX2/valgrind-memleak
...
Valgrind memleak
2016-07-22 18:17:37 +02:00
Akash
8e2b19ada7
SPU2-X: Align GUI elements on debug dialog
2016-07-22 19:29:45 +05:30
Gregory Hainaut
53a70d9018
onepad: use modal dialog instead of frame
...
Avoid various pitfall such as #1387
v2:
* use stack object
2016-07-21 09:51:16 +02:00
Gregory Hainaut
1e3c46a6bb
gsdx ogl: purge debug message in destructor
...
Allow to see latest error and avoid noise in Valgrind log
2016-07-21 09:51:16 +02:00
Gregory Hainaut
b6a55f50ab
gsdx ogl: fully initialise PSConstantBuffer structure
2016-07-21 09:51:16 +02:00
Jonathan Li
e25e8bc580
plugins: Tidy/standardise VS projects
...
Combine all the different configurations together so the project files
are more generic and maintainable.
Also standardise the layout so all the project files will be similar and
all have the same standard elements (even if empty).
Add 64-bit configurations.
Additional specifics:
spu2-x: FLOAT_SAMPLES preprocessor definition removed since it's unused.
2016-07-19 23:25:12 +01:00
Jonathan Li
7c3cee0624
spu2-x: Rearrange lowpass.cpp header order
...
It allows VS to use the precompiled header for that file too.
2016-07-19 23:25:12 +01:00
Akash
1e92c24847
SPU2-X: Convert inline assembly to intrinsics ( #1464 )
2016-07-19 23:11:12 +01:00
Gregory Hainaut
e872552fdc
spu2x|common: s/jASSUME/pxAssume/ allow to remove code and __debugbreak intrinsic
2016-07-17 10:24:29 +02:00
Gregory Hainaut
25bc2dff07
gsdx: dump and log EE texture read
...
It gives a visual opportunity to detect a bad read of the texture cache
2016-07-14 19:45:06 +02:00
Gregory Hainaut
f76bf9dddc
gsdx: dump and log EE texture read
...
It gives a visual opportunity to detect a bad read of the texture cache
2016-07-14 19:41:21 +02:00
Gregory Hainaut
086dfc8a14
gsdx sw: use acquire/release semantics for atomic operation
...
* Avoid the generation of memory barrier (mfence)
2016-07-14 18:29:41 +02:00
Gregory Hainaut
d855bc5ca8
gsdx sw: improve exit condition of SW extra thread
...
Use a relaxed atomic to read the exit variable in the hot path
Wait that exit is deasserted in the destructor, so we are sure the
thread will "soon" return
2016-07-14 18:29:22 +02:00
Gregory Hainaut
abc9f7d096
gsdx tc: log unsupported LookupDepthSource
2016-07-14 18:29:22 +02:00
Gregory Hainaut
e642bbc426
gsdx sw: add extrathreads_height to control the quantity of pixels processed by a thread
...
Value could range from 1 to 9. Default is 4 and it is potentially the
best option. Feel free to test some values on your system, behavior
might depends on the core number and thread number
Value is exponential so 4 is 2 times more pixels than 3.
Small value increased thread overhead, big value increase wait/sync latency
2016-07-10 17:48:10 +02:00
Gregory Hainaut
91eccb7bab
gsdx sw: increase the size of the ring buffer 256 => 65536
...
memory overhead by thead is only 256KB
However it will reduce the probability to block the push thread to nearly 0
I tested a couple of dumps and only manage 4000 element with 1 extrathread.
2016-07-10 10:49:06 +02:00
Gregory Hainaut
85fb55a0e1
gsdx ogl: memory management take 3
...
Add a factor 2 on the VRAM to get the quantity of available memory for the textures.
The driver is allowed to put some textures in RAM. Of course it is bad for performance
but it won't crash.
Due to the 4GB by process limit, I keep a (reasonable) maximum of 3.8GB.
In order to avoid a crash when memory is too low an exception will be risen
with no guarantee on rendering and big performance impact. In this situation
you ought to reduce upscaling/disable large framebuffer.
2016-07-10 10:23:23 +02:00
Gregory Hainaut
a37cd40ce3
gsdx ogl: only print an error when VRAM is low
...
Until a better solution is found or people buy better GPU :)
2016-07-09 11:43:28 +02:00
Gregory Hainaut
a2086ed458
gsdx profiler: drop latest frame time
...
Value is out of the chart. I'm not even sure it is a real frame so let's just remove it.
2016-07-09 10:03:21 +02:00
Gregory Hainaut
82d83ca579
gsdx: dull driver
...
Hopefully futur low-end GPU will get 4GB of VRAM
2016-07-08 21:53:42 +02:00
Gregory Hainaut
3f03f7333c
gsdx: improve builtin profiler
...
* Does the first vsync (start counter) after the sleep
* Dump data after the rendering, avoid to count extra destructor,sleep time
* Dump data into a basic csv file (if people want nice graph)
2016-07-08 21:47:53 +02:00
Gregory Hainaut
8b3e04d1b6
onepad: fix keyboard on 2nd pad
...
There is only a single event queue, so you need to detect the pad based
on the configuration
Mouse/Wiimote is limited to first pad
Related to issue #1441
2016-07-08 19:07:42 +02:00
Gregory Hainaut
eefe3e8d4f
gsdx ogl: reserve 200MB of the VRAM for various gl buffers (IBO/VBO/PBO/UBO)
2016-07-08 09:43:47 +02:00
Gregory Hainaut
df4645a84a
gsdx ogl: Don't use NV extension on AMD
...
potentially the NV extension is wrongly used but can't test it with the free driver
2016-07-07 23:48:56 +02:00
Gregory Hainaut
d6e447a89c
gsdx: fix for old gl header release (build bot)
2016-07-07 22:23:20 +02:00
Gregory Hainaut
d8050634f6
gsdx ogl: plug GL_NVX_gpu_memory_info and GL_ATI_meminfo
...
to query available memory on the GPU
Requirement
* dedicated GPU (ofc!)
* proprietary driver. Free driver supports r600, radeonsi
2016-07-07 22:05:15 +02:00
Gregory Hainaut
7e2b3da928
gsdx ogl: monitor global GPU memory texture usage
...
So far there is a hardcoded limit at ~3.7GB
In the future, the limit will be reduced for low-end GPU.
2016-07-07 22:05:15 +02:00
Gregory Hainaut
f450056626
gsdx: fix initialization list order
...
In file included from GSRenderer.cpp:23:0:
GSRenderer.h: In constructor ‘GSRenderer::GSRenderer()’:
GSRenderer.h:58:12: warning: ‘GSRenderer::m_dev’ will be initialized after [-Wreorder]
GSDevice* m_dev;
^
GSRenderer.h:52:13: warning: ‘GSVector2i GSRenderer::m_real_size’ [-Wreorder]
GSVector2i m_real_size;
^
GSRenderer.cpp:32:1: warning: when initialized here [-Wreorder]
2016-07-07 22:05:15 +02:00
Gregory Hainaut
29c97a9bf2
gsdx ogl: only enable accumulation hack in HDR algo
...
Goal is to reduce shader permutations and improve perf when sw blending is disabled
2016-07-07 19:56:23 +02:00
Gregory Hainaut
16c2baa0df
gsdx-ogl: don't hardcode the accumulation blend trick
...
Perf impact is bigger than expected
2016-07-07 19:56:23 +02:00
ramapcsx2
6b6821d0c6
Merge pull request #1433 from FlatOutPS2/master
...
Merge Circuit: Enhance offset detection of output circuit
2016-07-06 12:15:08 +02:00
Akash
309a8283b2
GSDX-TextureCache: Don't allow RT size below default value
...
Fixes upscaling issues on Burnout dominator where setting custom resolution of 640x448 looks way worse than the native resolution.
2016-07-05 19:15:23 +05:30
Akash
6085da91e2
GSDX-Dialog: Clamp custom res and sw threads values to input range ( #1443 )
...
Fixes crash on custom resolution when users select a value below 256 or above 8192
2016-07-03 22:04:16 +01:00
Gregory Hainaut
a1a5f470f7
gsdx-ogl: fix builtin profiler frame counting
2016-07-03 15:54:58 +02:00
Gregory Hainaut
cc62e8c785
Merge pull request #1439 from ssakash/Cleanup_Warnings
...
PCSX2: Clean up warnings on MSVC
2016-07-03 15:45:39 +02:00
Akash
d69f2b6cc5
cdvdGigaherz: Clean up warnings on MSVC
...
SectorConverters: convert variables to u8.
2016-07-02 23:38:02 +05:30
Akash
1bcb5e0cc1
dev9ghzdrk: Clean up warnings on MSVC
...
pcap_io: cast ``pcap_io_running`` to bool.
2016-07-02 23:38:01 +05:30
Akash
264eb52d61
USBqemu : Clean up warnings on MSVC
...
usb-kbd: Remove unused variable.
usb-ohci: Add proper casts for the variables.
vl: Add proper casts for the variables.
USB: Add proper casts for the variables.
2016-07-02 23:37:37 +05:30
Gregory Hainaut
11eeeb6ab1
gsdx ogl: be sure sw blending is enabled in sw colclip
...
Hit the assertion on superman
2016-07-02 17:19:41 +02:00
Akash
4cfb2b248e
GSDX: Clean up warnings on MSVC
...
GLLoader: cast passed parameters to required type.
GSDeviceOGL: cast variables to required type and silence warnings.
GSRendererOGL: cast variables to required type and silence warnings.
2016-06-30 16:50:10 +05:30
Gregory Hainaut
a065a1d918
gsdx ogl: don't use GL_ARB_clear_texture for the depth buffer
...
It creates some slowdowns for unknown reason. My best hypothesis is
that stencil will be cleared too which is slow.
Let's keep the code for the future when stencil will be dropped.
Fix #1420
2016-06-30 09:40:07 +02:00
FlatOutPS2
1e3e343e43
Merge Circuit: Enhance offset detection of output circuit
...
If baseline and display rectangle offsets differ by small values then consider the status of frame memory offsets, prevents blurring on Tenchu: Fatal Shadows, Worms 3D, ProStroke Golf, Vexx
2016-06-29 22:35:53 +02:00
Akash
a5671f016a
GSDX-TextureCache: Add proper scaling for custom resolution
...
* Improve frame buffer height management on custom resolution. Width seems to be fine with the same size as scaled image output.
* Prevent offset issues on Persona 3 based on the data from merge circuit.
Note: Fixes custom resolution upscaling on ICO 50Hz/60Hz mode when large frame buffer is enabled. previously 60Hz mode only displayed half of the screen and 50Hz mode only worked due to the scissor hack.
2016-06-30 00:35:10 +05:30
Gregory Hainaut
1f4f55bcc9
gsdx: tentative fix for 64 bits buildl
2016-06-26 18:27:50 +02:00
Gregory Hainaut
4ec941440d
gsdx replay: use the new profiler data
2016-06-26 17:53:22 +02:00
Gregory Hainaut
d7c1faf563
gsdx ogl: add GPU timers to measure time between 2 vsync
...
So far only basic stuff (min/mean/max frame rendering time)
2016-06-26 15:34:36 +02:00
Akash
ce20544a4f
GSDX-TextureCache: Remove hacks which caused scaling issues
...
* Ignore Frame memory offsets for calculating dimensions value of display rectangle.
* Remove hack which limited scaling size based on the scissor value.
Note: With the following commit, SilentHill 2 now properly outputs the desired resolution by the users on custom resolution. Previously if we set 1024 x 1024 , it'll output a lower height value which was caused by the hack removed on this commit.
2016-06-26 12:14:38 +05:30
Gregory Hainaut
79587215bb
gsdx ogl: add the option force_texture_clear for test purpose
...
Might be completely useless.
1 => always clear framebuffers and textures to black (aka 0)
2 => always clear framebuffers and textures to red
2016-06-24 18:41:55 +02:00
FlatOutPS2
896730ceda
LilyPad: Fix regression in configure binding ( #1426 )
...
Fixes regression introduced by the pop'n music controller support PR.
When modifying the axis direction combo box in the Configure Binding
group, the modified binding's info would get deleted and replaced by the
next binding's info. This results in incorrect info being passed to
BindCommand().
This commit reverts the incorrect code so the binding info is backed up
before deletion takes place, therefore ensuring the correct info is
passed to BindCommand().
2016-06-21 22:54:52 +01:00
ramapcsx2
dce67351f9
Merge pull request #1416 from ssakash/Real_IR
...
GSDX: Add proper detection of internal resolution
2016-06-21 18:05:46 +02:00
Gregory Hainaut
36e82abd12
Merge pull request #1411 from ssakash/PCRTC
...
Merge Circuit: Improve offset detection of output circuit
2016-06-19 13:45:51 +02:00
Gregory Hainaut
41c522104e
Merge pull request #1414 from PCSX2/gsdx-single-pbo
...
gsdx ogl: replace eight 8MB PBO with a single fat 64MB PBO
2016-06-19 13:40:38 +02:00
Akash
e05e7bee82
GSDX: Add proper detection of internal resolution
2016-06-19 17:10:03 +05:30
FlatOutPS2
ce8b9c153c
LilyPad: Make D-pad buttons independent of each other ( #1412 )
...
Fixes games that require dance pad support (Dance Dance
revolution series).
2016-06-19 12:25:00 +01:00
Gregory Hainaut
113c78b67e
gsdx ogl: replace eight 8MB PBO with a single fat 64MB PBO
...
It ought to be the same in performance but code will be easier this way
v2: print the sync status
v3: use a performance print so it doesn't spam the console
2016-06-18 14:59:19 +02:00
Jonathan Li
eddabf9dbc
spu2-x: Remove unused DirectSound 5.1 module
...
It was copied over from SPU2ghz but never actually used.
2016-06-18 00:01:32 +01:00
Akash
ab1ab7b6f1
GSDX: Remove redundant "Null" string from GS Frame title bar ( #1409 )
...
* GSDX: Remove redundant "Null" string
* GSDX: Convert "GetConfigI" into "GetConfigB"
2016-06-17 14:25:09 +01:00
Akash
4a0656e903
Merge Circuit: Improve offset detection of output circuit
...
* Fixes blurring / wrong resolution output on FFXII
2016-06-16 13:22:53 +05:30
Jonathan Li
5aa3d71eaf
Merge pull request #1398 from FlatOutPS2/PS1
...
LilyPad PS1 analog mode fix and UI improvement
2016-06-13 22:39:16 +01:00
Jonathan Li
52a88a7bdf
Merge pull request #1384 from ssakash/gsdx-default-renderer
...
gsdx:windows: Automatically determine best renderer
gsdx:windows: Only enable "Disable Depth Emulation" checkbox on OpenGL
2016-06-13 22:04:46 +01:00
Gregory Hainaut
08579021c5
gsdx ogl: 1 isn't used for WMT/WMS in shader
...
Stick it to 0 to avoid useless shader toggling
2016-06-11 13:35:32 +02:00
Gregory Hainaut
3234c8241b
gsdx ogl: massively extend glsl self test
...
* Support Mesa Nouveau IR (free driver for Nvidia's GPU)
=> Print intermediate representation + final shader
=> Dump GPR usage
* Move dumped shader in /tmp/GSdx_Shader/<sub_dir>
=> Avoid the landing of 3 thousands of files in $PWD ^^
* Use function instead of macro
2016-06-11 13:34:37 +02:00
Gregory Hainaut
1c8de02c8d
gsdx ogl: trace shader permutation
...
Too much permutation is bad for driver performances
2016-06-11 13:34:23 +02:00
Gregory Hainaut
5ffc911a69
gsdx: avoid crash in DX debug build
2016-06-11 01:13:20 +02:00
FlatOutPS2
d736dc1a0a
LilyPad PS1 analog mode fix
...
Fixes issue where "Use analog mode if possible - PS1 only" would enable
analog mode when playing games that don't support it.
2016-06-10 11:30:30 +02:00
FlatOutPS2
60ece1ee72
LilyPad UI improvement
...
The layout of the buttons is improved to more closely resemble a modern analog controller/DualShock configuration, and the Device column of the list view has been reduced slighty so by default the horizontal scroll bar isn't visible.
2016-06-10 11:30:18 +02:00
Gregory Hainaut
8c4d8cfdca
glsl: avoid an unset warning
2016-06-09 18:27:58 +02:00
Gregory Hainaut
df45c99f96
gsdx ogl: prefix member in GSUniform object with m_
2016-06-09 18:27:58 +02:00
Gregory Hainaut
fca2661e05
gsdx ogl: add a pretty name to various opengl opengl
2016-06-09 18:27:58 +02:00
Gregory Hainaut
ff3d9bd373
gsdx ogl: add function pointer to name object
...
It could be nice to ease debug
2016-06-09 18:27:58 +02:00
Gregory Hainaut
415ce93425
gsdx ogl: rename the confusing function EmulateGS to Lines2Sprites
2016-06-09 18:27:58 +02:00
Gregory Hainaut
61075febae
gsdx ogl: move selector as state variables
...
Will be easier to move code around if required in the future
2016-06-09 18:27:58 +02:00
Gregory Hainaut
1132230674
gsdx ogl: create m_require_one_barrier/m_require_full_barrier state variable
...
hopefully code will be more readable
2016-06-09 18:27:58 +02:00
Gregory Hainaut
7ece9b823d
gsdx ogl: move texture management into a separate function
2016-06-09 18:27:57 +02:00
Akash
399ad3f450
GSDX: Gray out "Disable Depth Emulation" for renderers other than OpenGL
2016-06-09 15:27:18 +05:30
Akash
fdc10e13ec
GSDX: Better detection of default renderer
...
* Better detection of default renderer based on the vendor ID ( Nvidia, AMD , Intel)
* GSUtil: Add a dedicated function for identifying best renderer
2016-06-09 15:27:11 +05:30
refractionpcsx2
c530858df3
GSdx: Move "isNative" check to DX11 context creation. Resolves speed regression in games that constantly change the viewport size.
2016-06-06 20:45:30 +01:00
Jonathan Li
7c205d7a1e
windows: Don't use __declspec(dllexport) for plugin exports
...
Using __declspec(dllexport) causes duplicate export warnings to be
generated when compiling 64-bit builds. Name mangling also occurs on
functions that are exported this way, so it doesn't actually work with
the plugin system, which uses unmangled names.
The module definition file exports the functions without name mangling
and is sufficient on its own.
2016-06-05 22:57:42 +01:00
Jonathan Li
292c6810ad
lilypad: Fix missing call to HidD_GetHidGuid
...
I accidentally removed it in a previous commit. It probably didn't
affect anyone though (you'd need to be using a DS3 via libusb, most
people will be using other methods).
2016-06-05 20:04:17 +01:00
Gregory Hainaut
2b00447a43
glsl: optimize the number of active constant buffer
...
Increase the performance on the free driver (Nouveau)
Currently the driver validates all UBO when only 1 is updated. It
is clearly a bad idea to put all UBO in a single common headers.
2016-06-05 16:45:11 +02:00
Jonathan Li
e6bf77d148
Merge pull request #1253 from turtleli/spu2x-xaudio
...
spu2-x:windows:Use XAudio2.8+ for Windows 8 and later
2016-06-05 00:28:26 +01:00
Jonathan Li
c7940856ce
windows: Remove unneeded library dependencies
...
Some are unnecessary since they're already taken care of by project
references, while others are duplicates or unused.
2016-06-04 22:55:48 +01:00
Jonathan Li
8dd16b1fdb
zerospu2: Remove unneeded preprocessor macros and properties
2016-06-04 21:35:55 +01:00
Jonathan Li
471722482e
gsdx-legacy: Remove baseclasses
...
Use the baseclasses project in unfree instead.
2016-06-04 21:22:24 +01:00
Gregory Hainaut
4768f912b8
gsdx linux: add vsync support for free driver
2016-06-04 13:17:59 +02:00
Gregory Hainaut
2b2412ca20
gsdx hw: disable OI_GsMemClear when framebuffer writes are masked.
2016-06-01 22:34:14 +02:00
Gregory Hainaut
7202cac7d0
gsdx ogl: remove the dual source blending workaround
2016-06-01 21:00:29 +02:00
Gregory Hainaut
08a8bfa76c
gsdx ogl: plug new program compilation for bad driver
2016-06-01 21:00:29 +02:00
Gregory Hainaut
17988fc7de
gsdx ogl: add code to compile a single shader
2016-06-01 21:00:29 +02:00
Gregory Hainaut
405f312fe8
gsdx ogl: format GSShader code
...
Move the Geometry Shader to the call of the function
2016-06-01 21:00:29 +02:00
Gregory Hainaut
538bb418ce
gsdx ogl: revert the removal of single shader compilation function pointer
...
(It doesn't mean I will drop SSO but that I will do some tests one day)
2016-06-01 09:29:56 +02:00
Gregory Hainaut
5d49a6b685
gsdx ogl: replace 4 VS shader variation by an AND mask
...
Perf will be roughly the same. However there is a single VS for all
the HW emulation.
2016-06-01 09:29:56 +02:00
Gregory Hainaut
959abe64f8
gsdx ogl: implement wildhack on the CPU
...
Speed impact is likely small and the plan is only to keep a single Vertex Shader
2016-06-01 09:29:56 +02:00
Gregory Hainaut
3d192b7f8d
gsdx ogl: separate channel code into a separate function
2016-06-01 09:29:56 +02:00
Gregory Hainaut
6d2196125d
gsdx: fix TVshader case option
2016-05-31 19:35:35 +02:00
Gregory Hainaut
564bf8a089
gsdx ogl: terminator 3 supports sampling from the depth
2016-05-30 19:39:52 +02:00
Gregory Hainaut
43a1c48f75
gsdx option: add missing default and fix case
2016-05-30 18:23:22 +02:00
Gregory Hainaut
9c8b5e37a4
gsdx ogl: blacklist AMD 2015 drivers
2016-05-29 18:21:12 +02:00
Gregory Hainaut
12512f767b
gsdx linux gui: disable the hack panel when user hacks are disabled
...
Move the user hack option to the main panel (Box with a single option doesn't look nice)
Hopefully it will be less confusing for linux users.
2016-05-29 18:09:22 +02:00
Gregory Hainaut
38a511e3e1
gsdx linux: some capture options are cross platform
2016-05-29 17:38:40 +02:00
Jonathan Li
e7745d13f4
spu2-x:windows: Add XAudio2 2.8 backend
...
On Windows Vista and 7, the XAudio2 2.7 backend will still be used.
Windows 8, 8.1 and 10 users will use XAudio2 2.8/2.9 (depending on OS).
2016-05-29 14:50:12 +01:00
Jonathan Li
5344c3f121
spu2-x: Rename SndOut_XAudio2.cpp to SndOut_XAudio2_7.cpp
2016-05-29 14:50:12 +01:00
Jonathan Li
de56e30bba
spu2-x:windows:xaudio: Remove ifdefs and rename class/vars
...
This reverts commit 8a61c7d336
.
The plan is to support both XAudio2 2.7 and 2.8+. This file will only be
used for 2.7, so let's remove the ifdefs and rename the class and vars.
2016-05-29 14:50:12 +01:00
Jonathan Li
c8162df936
spu2-x: Only XAudio2 2.7 requires the DXSDK
...
Use the newer Windows SDK for everything else.
2016-05-29 14:50:12 +01:00
Jonathan Li
5ea80b86db
spu2-x:windows: Remove VersionHelpers workaround
...
We've moved to the non-XP toolkit - it can be removed.
2016-05-29 14:50:12 +01:00
Jonathan Li
8b74c108a4
Revert "gsdx:windows: Fix Windows 7 compile"
...
This reverts commit 7736c90457
.
It wasn't actually a Windows 7 compile fix, but a bad build environment
workaround.
2016-05-29 14:33:58 +01:00
Jonathan Li
b20433c0be
windows: Remove user.props references from all projects
...
find . -name *.vcxproj -exec sed -i -e '/user.props/d' {} \;
Microsoft recommends against using .user files. From
https://msdn.microsoft.com/en-us/library/669zx6zc.aspx :
"The best practice is to delete the reference to them in Property
Manager to ensure that your projects operate independently of any
per-user, per-computer settings. This is important to ensure correct
behaviour in a SCC (source code control) environment."
If you cannot compile SPU2-X after this commit (since that still relies
on the old DirectX SDK), you'll need to fix your build environment.
2016-05-29 12:21:52 +01:00
Gregory Hainaut
fb26254fbb
gsdx ogl: implement a more generic HLE shader for terminator 3
...
Hopefully without regression for others games
2016-05-29 10:13:43 +02:00
Gregory Hainaut
f7ddd488e1
gsdx ogl: Extend uniform buffer with channel parameter
...
Instead to use the standard ps ubo which is used every draw call.
I reused a barely used buffer to reduce the extra cost of the upload
2016-05-29 10:13:43 +02:00
Gregory Hainaut
6f19d928f6
gsdx ogl: use the new uniform cache upload method
2016-05-29 10:13:43 +02:00
Gregory Hainaut
fa15d7fd26
gsdx ogl: generic code to cache uniform buffer
...
It will allow to skip a buffer transfer if the new content is the same
2016-05-29 10:13:43 +02:00
Jonathan Li
be7af60ab5
lilypad: Use Windows SDK headers for HID functions
...
Has been available since the switch to the Windows 8.1 SDK.
2016-05-28 23:30:28 +01:00
Jonathan Li
36cd1ae3cc
windows: Remove parameter from prebuild command
...
It's unused. Also convert to using SolutionDir instead of Svnwhatever.
2016-05-28 23:25:08 +01:00
Gregory Hainaut
58f04975e1
oups fix link
2016-05-28 18:49:49 +02:00
Gregory Hainaut
179681ef18
gsdx ogl: enable AMD driver blending workaround only on latest legacy driver
...
Legacy GPU:
Older driver will be broken.
Still supported GPU:
Please upgrade to the latest AMD driver 16.5.2 or 16.5.3 (and prey that future driver will still work)
2016-05-28 18:43:55 +02:00
Gregory Hainaut
a648e2db70
gsdx: switch to dx10/11 as default on Windows
...
1/ Detecting Dx level requires a DX context.
2/ Dx9 GPU market is 1-2% (I'm not even sure they can run latest windows 10)
2016-05-28 10:07:27 +02:00
Gregory Hainaut
c61e09e36a
fix left over default
2016-05-28 10:07:27 +02:00
Gregory Hainaut
453ac88dce
gsdx option: use CaptureWidth/CaptureHeight on linux too
2016-05-28 10:07:27 +02:00
Gregory Hainaut
a9c18c57e4
gsdx option: use the new GetConfig* function
...
v2:
add PSX stuff
ssakash review
2016-05-28 10:07:27 +02:00
Gregory Hainaut
03a6f2093e
gsdx option: add multiple GetConfig to avoid overload issue
2016-05-28 10:07:27 +02:00
Gregory Hainaut
05818d70f4
gsdx option: centralize default configuration to a single file
...
Potential issue
* miss a default value
* Renderer is DX9 again on windows
* Case issue
* Same default for all code paths
* overload of GetConfig
v2: separate specific OS option
2016-05-28 10:07:26 +02:00
Jonathan Li
f888aa61fb
lilypad: Remove local volume control
...
Windows Vista onwards provides application specific volume controls, and
the local volume feature only interferes with it. Any volume adjusting
stuff probably belongs in SPU2-X.
Closes #629
2016-05-27 23:55:45 +01:00
Jonathan Li
2aeceafb36
lilypad:windows: Remove keyboard hooks code
...
The code wasn't used, and generally low level hooks should be avoided
since they affect the responsiveness of all applications. On Windows 7
and later, the hooks may also be silently removed if they timeout, which
could be possible under heavy load.
2016-05-27 23:40:31 +01:00
Jonathan Li
4f24d22a68
lilypad: Disable close hacks when loaded by PCSX2
...
The close hacks don't work with PCSX2 - the WM_CLOSE message can't
actually be triggered for the rendering window. The hacks were also
designed as a workaround for some PSX emulator close window bugs, which
don't affect us.
2016-05-27 00:36:11 +01:00
Akash
2409817556
GSDX: Move PSX code to an isolated path
2016-05-26 19:04:17 +05:30
Jonathan Li
06dba2d258
Merge pull request #1372 from PCSX2-Alpha/Windows_GUI
...
GSDX-Windows: Add "Large Framebuffer" option
2016-05-26 08:57:33 +01:00
Akash
9ae6c2673a
GSDX-Windows: Add "Large Framebuffer" option
2016-05-26 11:38:24 +05:30
Jonathan Li
352b61c741
gsdx: Allow normal assert to be used
2016-05-26 00:11:52 +01:00
Jonathan Li
db81925c4b
Merge pull request #1335 from turtleli/freebsd
...
Support FreeBSD
2016-05-25 18:55:51 +01:00
Gregory Hainaut
60e0f3b9b5
Merge pull request #1234 from PCSX2-Alpha/Time_Crisis
...
GSDX: Improve CRTC width detection
2016-05-25 17:51:07 +02:00
Gregory Hainaut
b6da1bcb15
gsdx linux: add the new option checkbox
2016-05-23 19:38:44 +02:00
Gregory Hainaut
0c3324b6ef
gsdx hw: create a large_framebuffer option
...
Enable it to ensure correct rendering (FMV)
Disable it to reduce GPU/memory requirement
Option will likely be removed when the perf impact will be reduced.
2016-05-23 19:38:44 +02:00
Gregory Hainaut
1f4439a89e
gsdx: add some notes of potential optimization
2016-05-23 19:38:44 +02:00
Jonathan Li
571432a7aa
gsdx:freebsd: Fix compilation
2016-05-21 13:34:18 +01:00
Jonathan Li
57cdf0bf16
gsdx:linux: Use clock_gettime instead of ftime
...
ftime is obsolete and not present in recent POSIX specifications.
2016-05-21 13:33:40 +01:00
Jonathan Li
da2046e90e
gsdx: Use alignas instead of __aligned
...
__aligned is defined in FreeBSD headers and will cause compile errors.
2016-05-21 13:23:11 +01:00
Jonathan Li
f95c38f632
spu2-x:freebsd: Adjust cmake and ifdefs
...
For now the SDL backend has been removed, mainly cause it makes the
dialog code too messy.
2016-05-20 22:30:52 +01:00
Jonathan Li
f963fcfa66
onepad:freebsd: Adjust ifdefs
2016-05-20 22:30:52 +01:00
Gregory Hainaut
a7ba779ba8
gsdx ogl: another HLE channel effect for terminator 3
...
Same as before but with a different fbmask value (I don't know why but
I have the feeling that I might need the others value too)
2016-05-20 19:55:39 +02:00
Gregory Hainaut
1c21ea955c
gsdx ogl: HLE channel effect for terminator 3
...
Unfortunately I think the game uses another similar effects
2016-05-20 19:45:20 +02:00
Gregory Hainaut
247d33a627
gsdx ogl: always clear depth buffer in FFX2
...
It avoid depth issues and I'm sure it won't broke other games this way.
Issue #1340
2016-05-19 17:53:46 +02:00
Akash
2166980f91
GSDX: Calculate dimensions of rectangle after merge
...
* Properly display rectangle size after passing through merge circuit on
GS Dumps and GS Frame titlebar.
2016-05-19 15:53:49 +05:30
Akash
58b43dbb6c
GSDX: Rework video mode detection code
...
* Use some nice enums instead of macros
* properly detect 720P/1080I separately.
* Some code cleanup, extended variable names and added few comments
2016-05-19 14:02:50 +05:30
Gregory Hainaut
e258f3e2fa
gsdx ogl: update accurate DATE behavior
...
* Fast accurate DATE is always enabled, it was faster than standard DATE
* The less fast version is always enabled too. It is likely barely used
so perf impact will be small on few game that could hit this path.
Nice rendering has a higher priority
* The "slow" path will depends on the date option.
Note normally it isn't too slow (-10%) if GL_ARB_shader_image_load_store
is supported but AMD crimson is an epic fail.
2016-05-19 10:03:46 +02:00
Jonathan Li
7b27be1306
gsdx: Consider horizontal offsets when merging output
...
Fixes games like Time Crisis 2/3, which use two half-width display
rectangles placed side by side in split screen mode by using different
DISPLAY.DX values.
2016-05-19 10:06:12 +05:30
Jonathan Li
899784cbdc
onepad: Only append -dev to library name for Devel builds
2016-05-18 22:58:15 +01:00
Jonathan Li
3a274e85f0
cmake:onepad: Add wxWidgets to dependencies
2016-05-18 22:56:59 +01:00
Gregory Hainaut
14fa797235
gsdx hw: always uses a big RT on snowblind engine game
...
Avoid headack to avoid conflict between 1280x1024 and 640x1280 resolution
2016-05-17 20:01:00 +02:00
Gregory Hainaut
a4c7541092
gsdx ogl: tentative hack to make FFX go along with depth option
...
Issue1: Depth buffer is wrongly invalidated only the first page is detected.
Issue2: First page seems to be partially written. Could be a GSdx transfer bug.
Anyway, invalidation only support a page granularity.
So here a quick workaround that will clear depth buffer in case of very small partial write.
Might worth to check regression on nocturne/digital saga
2016-05-17 19:33:12 +02:00
Gregory Hainaut
37c049425d
gsdx ogl: gl depth is written by default
...
Fix bad depth state in dump (yes the bug is 2 years old!)
2016-05-16 20:10:32 +02:00
Gregory Hainaut
f5b174f985
gsdx ogl: pitch is always the width of the transfer not the size of the texture
2016-05-16 19:20:01 +02:00
Gregory Hainaut
fa921215d9
gsdx ogl: add GL_ARB_get_texture_sub_image extension support
...
could help to read back a portion of a texture
2016-05-16 18:58:33 +02:00
Gregory Hainaut
e02753df46
gsdx ogl: oups, mandatory function pointer was wrongly optional
2016-05-16 18:58:33 +02:00
Gregory Hainaut
37e4d2bd48
gsdx ogl: update old comment
2016-05-16 18:58:33 +02:00
Gregory Hainaut
96b5170d8c
Merge pull request #1317 from PCSX2/gsdx-array-coverage
...
Gsdx array coverage
2016-05-16 18:16:15 +02:00
Gregory Hainaut
ed0adf61d3
gsdx ogl: allow to define a debug context in windows.
...
Be aware: dev build will be slow and quite chatty
2016-05-16 17:08:20 +02:00
Gregory Hainaut
30ce6b0a6a
gsdx ogl: check debug function exists
...
I'm sure they exists in the openGL renderer context but there are
also used in common code. So potentially in DX context.
2016-05-16 16:59:00 +02:00
Gregory Hainaut
99476f4b13
gsdx ogl: explain better previous clear vs framebuffer comment
2016-05-16 16:49:18 +02:00
Gregory Hainaut
08f7bd2dc3
gsdx: add crc hack for Ar tonelico 2
...
It would requires some texture dynamic width convert shaders.
So as a quick solution, let's add a new CRC hack.
For issue #1362 (granted the CRC is correct)
2016-05-16 10:55:02 +02:00
Gregory Hainaut
1522cba5b0
gsdx ogl: performance note of texture clear vs framebuffer clear
...
In case of render target. FB clear is better
2016-05-16 10:38:47 +02:00
Gregory Hainaut
e776118de9
gsdx-ogl: implement previous DATE optimization in a single shader pass
...
Faster :) Reduce further the cost of accurate date
The optimization will clear the stencil to 1. So all pixels will have a
single sample that pass both the depth & stencil test. No primitive
overlaps So the destination alpha test can be done directly in the
shader.
2016-05-15 17:44:40 +02:00
Gregory Hainaut
3ab12cef2f
gsdx ogl: accelerate special case of accurate date.
...
Game often uses date to allow a single pixel pass. If this
use case is detected, stencil buffer will be cleared after first pixels
that pass both depth&stencil test.
It seems to reduce the load on the GPU.
Note: with the help of texture barriere, maybe we could implement the algo
with a single pass.
2016-05-15 17:22:58 +02:00
Gregory Hainaut
025be70c42
gsdx-ogl: allow to fallback to a slow accurate DATE when GL_ARB_shader_image_load_store isn't supported
...
The best is still to have a DX11 generation GPU
2016-05-15 16:29:29 +02:00
Gregory Hainaut
5b061e062c
gsdx ogl: replace ClearRenderTarget_i by glClearTexSubImage
...
Avoid state change, avoid potential texture buffer reallocation
Note: require GL_ARB_clear_texture
2016-05-15 15:55:31 +02:00
Gregory Hainaut
82060320ef
gsdx ogl: use draw list size for sprite instead of vertex number to select date algo
...
Latest overlap detection allow to draw multiple sprite instead of 1,
so the limit based on vertex number is too conservative.
2016-05-15 15:00:52 +02:00
Gregory Hainaut
c054b097e9
gsdx ogl: fix wrong depth clear
...
If a color buffer is still attached and is smaller than depth buffer,
the latter won't be fully cleared.
As a faster alternative, use GL4.4 clear texture function. Avoid to fiddle with
framebuffer and pixel tests.
Fix #1362x Ar Tolenico 2 map clip
2016-05-15 14:57:37 +02:00
Gregory Hainaut
caacb1dc9f
gsdx-ogl: add texure clear function (GL4.4)
2016-05-15 14:57:11 +02:00
Gregory Hainaut
d47d9e5017
gsdx-ogl: fix a minor gcc warning
2016-05-15 13:10:46 +02:00
Gregory Hainaut
913e3d65d2
gsdx ogl: use glViewportIndexedf and glScissorIndexed
2016-05-14 17:18:16 +02:00
Gregory Hainaut
cd9ee3c468
gsdx ogl: emulate GL_ARB_draw_buffers_blend and GL_ARB_viewport_array
...
New functions only set the parameter to a single buffer whereas old function
set all buffers
2016-05-14 17:15:30 +02:00
Gregory Hainaut
4065730e36
gsdx ogl: merge sprite hack take 2
...
try to detect paving correctly. Avoid to break effect such as Heat effect in Tekken5
2016-05-14 12:24:56 +02:00
Gregory Hainaut
2fc244a3eb
gsdx-ogl: inline function only call once
2016-05-14 11:53:02 +02:00
Gregory Hainaut
24a673c482
gsdx ogl: avoid special format on the merge sprite hack
2016-05-13 18:28:21 +02:00
Gregory Hainaut
156b6425d2
gsdx ogl: add UserHacks_merge_pp_sprite option to reduce upscaling glitches
...
For test purpose, it is higly experimental.
So far it is yield interesting result for tekken5
2016-05-10 08:12:07 +02:00
Gregory Hainaut
c019f86529
gsdx ogl: add a performance note for a potential channel optimization
2016-05-10 08:11:28 +02:00
Gregory Hainaut
4effc70792
gsdx hw: Fix regression on align sprite
...
The hack also updates position of not texture mapped sprite.
Unlike the 2nd hack (round sprite) which can be skipped if TME is disabled
2016-05-09 09:45:34 +02:00
Gregory Hainaut
5b04672ba2
gsdx ogl: separate Tales of Abyss/Urban Chaos effect based on the fbmask
...
Avoid to rely on CRC
2016-05-08 17:31:13 +02:00
Gregory Hainaut
48d962e15a
gsdx log: print detected crc
...
Helpful to get crc from gs dump
2016-05-08 16:30:50 +02:00
Gregory Hainaut
fb6a6f73c4
gsdx: move Tekken5/Tales of Abyss CRC to Dx level
2016-05-07 22:46:42 +02:00
Gregory Hainaut
ecbcc566fe
gsdx ogl: use GT shader for Tourist Trophy
2016-05-07 22:46:41 +02:00
Gregory Hainaut
fc86620327
gsdx ogl: disable channel effect when signature is a bit different
...
Hack to avoid regression on Blood Will Tell
2016-05-07 22:46:41 +02:00
Gregory Hainaut
30b452543a
gsdx ogl: tekken5 uses similar effect as Gran Turismo
...
So just reuse GT hle shader :) Acid stage is now correct. However it might need
some tuning for others stages.
Still look awful with uspcaled resolution (note internal game framebuffer is around 160x128)
2016-05-07 22:46:41 +02:00
Gregory Hainaut
d41613c46a
gsdx ogl: add a Tales of Abyss HLE shader
...
Again fast and efficient but it relies on CRC
v2: forget to update the precompiled shader...
2016-05-07 22:46:41 +02:00
Gregory Hainaut
d5681ba01c
glsl: fix a bug in urban chaos hle shader
...
Bug only impact the lsb bits of the depth conversion, so impact is likely small
2016-05-07 22:46:41 +02:00
Gregory Hainaut
70ee8c5bc4
gsdx ogl: add an HLE brightness/contrast shader for GT series.
...
It works and it is very fast. But it relies on CRC
Others effect need to be tested as well
2016-05-07 22:46:41 +02:00
Gregory Hainaut
91c164ecca
gsdx tc: avoid potential division by 0
2016-05-07 18:36:28 +02:00
Gregory Hainaut
265ea82780
gsdx tc: avoid to load data outside of the GS memory
...
Avoid crash in Kungfu panda
2016-05-06 21:46:29 +02:00
Gregory Hainaut
f34e77f08c
gsdx: fix regression on 24 bit format (gust game)
...
bpp is the size of the container format but not the size of the format itself.
For PSM24, bpp is 32, trbpp is 24
2016-05-06 13:49:24 +02:00
Gregory Hainaut
e890ce989c
gsdx: throw oom exception + error
...
Texture can't be NULL anymore, so we can remove a couples of check
2016-05-05 18:53:51 +02:00
Gregory Hainaut
d58b71688b
gsdx debug: auto GL_POP
...
Nicer and exception safe
V2: miss definition of vs/ps
2016-05-05 18:53:32 +02:00
Gregory Hainaut
37c7fa7663
gsdx: add draw exception (OOM and Recoverable)
...
The exception will free the unused (but allocated) texture aka the emergency break ;)
Recoverable could be useful for unsupported draw call
2016-05-05 17:47:32 +02:00
Gregory Hainaut
c8dddfed06
gsdx hack: move m_skip and m_userhacks_skipdraw to GSState level
...
Avoid to push argument to call IsBadFrame
2016-05-05 16:22:14 +02:00
Gregory Hainaut
21d1bd48ec
gsdx hack: move the CRC setup into a separate function
...
In order to reduce a bit the overhead of IsBadFrame called each draw calls
2016-05-05 16:03:48 +02:00
Gregory Hainaut
7b0427e86e
gsdx hack: use psm lookup + remove now useless log
2016-05-05 15:46:54 +02:00
Gregory Hainaut
8424eeb4ee
gsdx tc: small hint for the compiler
2016-05-05 15:32:21 +02:00
Gregory Hainaut
055b9c57e7
gsdx tc: use unscaled size as clamping in Target::Update
...
Might avoid/reduce crash like #1340
2016-05-05 12:59:49 +02:00
Gregory Hainaut
5948c2d8cd
gsdx AMD: broken for broken
...
Until AMD release the driver with a fix, I can't use 2nd blending source with SSO.
So let's use the first source. Blending/Alpha will be wrong. But it is likely better
than an uninitialized alpha value.
2016-05-05 12:24:55 +02:00
Gregory Hainaut
f712c5c6d0
gsdx tc: use GSLocalMemory::m_psm instead of hardcoded value
2016-05-05 12:19:25 +02:00
Gregory Hainaut
642cc50ac4
gsdx hw: reduce verbosity of channel skip log
2016-05-05 12:19:19 +02:00
Gregory Hainaut
7c430c9d3c
glsl: fix coordinate in channel depth effect
...
UV can't be used directly in channel effect
Properly fix Urban Chaos smoke
2016-05-04 18:08:40 +02:00
Gregory Hainaut
b8b0a0d662
gsdx hw: remove dead code
2016-05-04 18:08:34 +02:00
Gregory Hainaut
90af611fdb
gsdx ogl: Fix channel effect interaction with accurate blending
...
* Vertex info must be updated before PrimitiveOverlap
* Fix the vertex number (2 not 4)
* add an uint16 cast to shut up Visual Studio
2016-05-02 19:48:11 +02:00
Gregory Hainaut
e190841d67
gsdx ogl: improve blending logging
2016-05-02 18:14:02 +02:00
Gregory Hainaut
3077cc82cc
gsdx hack: Ghost in the Shell still broken in openGL
2016-05-02 18:14:02 +02:00
Jonathan Li
6430e41fb5
gsdx:windows: Update GUI to reflect recent changes
...
"Enable Hardware Depth" removed from main dialog.
"Disable Depth Emulation" and "Fast Texture Invalidation" added to Hacks
dialog.
And fix lots of whitespace issues.
2016-05-02 00:28:10 +01:00
Akash
21e6a344a2
GSDX: Improvements to the GSDX dialog ( #1284 )
...
GSDX: Improvements to the config interface.
- GSDX: Add new logos to dialog
- GSDX: Remove all the extra null renderers
- GSDX: Changes to renderer combobox
- Sort all the renderers in ascending order. (the fact that D3D11 was
above D3D9 really annoyed me >_<)
- Properly display usage of D3D10/D3D11 on the combobox.
- Use highest available version of DX by default.
- GSDX: gray out upscaling hacks at native resolution
- GSDX-PSX: Modifications to the dialog
- Add new logos
- Remove SDL renderer from combobox since it was removed long ago.
2016-05-01 17:33:53 +01:00
Gregory Hainaut
826b38c47a
gsdx tc: use array in GSOffset to store texture coverage
...
GSOffset is already based on a lookup of PSM/BP/BW. Coverage only adds
the size parameters (so only 256 possibilities)
It replaces the hash lookup with a free array access.
2016-05-01 15:02:36 +02:00
Gregory Hainaut
7add3d1018
gsdx hack: add a lengthy comment to explain man hunt2 hack
...
An HLE shader replacement could be done for this game but it is
low priority
2016-05-01 13:37:54 +02:00
Gregory Hainaut
4bf484c881
gsdx: move various games crc to dx level
...
* GT3
* GT4
* GTConcept
* JamesBondEverythingOrNothing
* SkyGunner
* StarWarsBattlefront2
* StarWarsBattlefront
* TouristTrophy
* ICO
* DeathByDegreesTekkenNinaWilliams
2016-05-01 13:22:12 +02:00
Gregory Hainaut
5676acaef9
glsl: support channel effect on depth texture too
2016-04-30 16:07:45 +02:00
Gregory Hainaut
e0581ee771
gsdx ogl: Finalize the urban chaos workaround
...
Rendering must be nice now
2016-04-30 14:52:53 +02:00
Gregory Hainaut
14e1ed06df
glsl: add an HLE shader for Urban Chaos
...
Pro:
* Replace 140 draw calls into a single one
* No complex texture conversion/lookup
* smaller solution than a generic solution
2016-04-30 14:52:53 +02:00
Gregory Hainaut
7d191ebf8e
gsdx tc: load palette for pseudo 8 bits depth
...
Rendering is still broken but I'm afraid it will need a dedicated shader
2016-04-30 14:52:43 +02:00
Gregory Hainaut
12b8704502
gsdx dx: disable channel shuffle
2016-04-30 14:52:43 +02:00
Gregory Hainaut
b4c7d32741
gsdx ogl: avoid to wrongly detect a channel shuffle
2016-04-30 14:52:43 +02:00
Gregory Hainaut
1011a757a8
gsdx hw: factorize redundant code
2016-04-30 14:52:43 +02:00
Gregory Hainaut
b78c772a14
gsdx: improve detection of channel shuffle
...
Improve rendering on Prince Of Persia (requires preload data hack)
Worth to re-test: MTGS2/3
Urban Chaos is a bit better but there still a bad overlay
2016-04-30 14:52:43 +02:00
Gregory Hainaut
02dff2653a
gsdx hack: sort the file
...
* separate Dx only/aggresive hack
* add GSC_CrashNburn and GSC_BullyCC to Dx only section
2016-04-30 12:45:06 +02:00
Gregory Hainaut
60267790a1
gsdx: move (most) of the hw hack into a separate file
...
GSState.cpp was really too big
2016-04-30 12:24:08 +02:00
Gregory Hainaut
7a5e1d4154
gsdx ogl: allow to use a separate texture for the channel effect
2016-04-29 17:34:17 +02:00
Gregory Hainaut
a9d25efcde
gsdx ogl: extend state to support up to 8 textures
2016-04-29 17:34:17 +02:00
Gregory Hainaut
e45f90fac3
gsdx: fix a gcc warning
2016-04-29 17:34:17 +02:00
Gregory Hainaut
e195e67a48
gsdx: move Metal Gear Solid CRC to DX level
...
OpenGL is near perfect :)
2016-04-29 17:34:17 +02:00
Gregory Hainaut
5e5069423b
Merge pull request #1321 from PCSX2/gsdx-preloadcrash
...
GSDX: Avoid crash when TBW == 0 - Preload data frame
2016-04-28 23:06:29 +02:00
Gregory Hainaut
cb19451418
gsdx ogl: implement RT channel fetch
...
Fix blending of Metal Gear Solid/KillZone (and potentially other games)
Potentially impact issue #905 , #594 , #914 , #896
2016-04-28 22:56:38 +02:00
Gregory Hainaut
c445a14c46
gsdx ogl: extend shader to lookup a single channel
2016-04-28 22:56:38 +02:00
Gregory Hainaut
eaa4fd41e2
gsdx ogl: improve logging of special effect
2016-04-28 22:56:38 +02:00
refractionpcsx2
0aa8fe0f20
GSDX: Avoid crash when TBW == 0
2016-04-28 21:36:21 +01:00
Gregory Hainaut
f946f38f26
gsdx hw: keep the debug counter in sync
...
Otherwise I'm screwed :p
2016-04-28 20:03:53 +02:00
Gregory Hainaut
04a578495f
gsdx hw: disable channel shuffle effect
...
Greatly reduce memory requirement for target
MGS3 at 4x: from 2680MB to 160MB
Remove a couple of (slow) draw calls
2016-04-28 19:46:26 +02:00
Gregory Hainaut
f63e38a59e
gsdx ogl: as always some games do bad stuff
...
Let's keep a comment for the moment. I don't know if we need to fix it, neither how.
2016-04-28 19:42:00 +02:00
Gregory Hainaut
45bfe2ad58
gsdx hw: trace some special post processing effect
...
* Double downscale is done in GTA
* Channel Shuffle is the top-left corner issue
So far nothing is emulated
2016-04-28 19:39:57 +02:00
Gregory Hainaut
5b04f4dab9
gsdx: add optimization note for the future
2016-04-28 18:01:21 +02:00
Gregory Hainaut
4808d89449
gsdx ogl: use enum pretty name
2016-04-28 18:01:20 +02:00
Jonathan Li
0de8f4a3a6
onepad: Use Bind instead of Connect
...
It's the recommended dynamic event binding method since wx2.9.
2016-04-27 08:59:11 +01:00
Jonathan Li
0d43de516c
onepad: Remove wx2.8 compatibility code
2016-04-27 08:59:11 +01:00