Commit Graph

3115 Commits

Author SHA1 Message Date
shuffle2 50fef592d7 Merge pull request #4296 from RisingFog/fix_frame_dump
Fix frame dumps on file close in certain situations
2016-10-04 17:25:40 -07:00
Chris Burgener 43c48a6f48 Fix frame dumps on file close in certain situations 2016-10-04 09:26:23 -04:00
Shawn Hoffman 55af20a439 Remove '\n' from OSD messages; they would be converted to '?' 2016-10-04 03:52:13 -07:00
degasus 6d2827ff6b PixelShader: Drop redundant warning.
This warning was raised both on UID generation and on shader generation.
2016-10-04 10:13:46 +02:00
degasus 083be0832f LightingShader: Drop xfmem usage.
Our shaders must only depend on the UID, not on any global state.
2016-10-04 10:13:46 +02:00
degasus 829fc8f0ad PixelShaderGen: Drop dstAlphaMode constant in shader generation.
It is already stored within the UID.
2016-10-04 10:13:46 +02:00
Shawn Hoffman c11aba296c Follow-up for OSD cleanup:
people probably want to see decimal instead of hex...
2016-10-03 20:42:04 -07:00
Shawn Hoffman fa5fa8e094 Clean OSD messages code
Some OSD messages were displayed in RenderBase.cpp using global variables and some code duplicated
in OnScreeDisplay.cpp.
Now all messages are displayed using functions in the OSD namepace.

* OSDChoice and OSDTime global variables are gone
* All OSD logic is kept at the same place
* All messages are properly aligned
* Clean characters for all OSD messages

Original commit:

commit f0ec61c057
Author: Aestek <thib.gilles@gmail.com>
Date:   Sun Aug 7 16:08:41 2016 +0200
2016-10-03 19:37:18 -07:00
Chris Burgener 55478af832 Fix frame dump crash when resolution changes 2016-10-03 19:50:35 -04:00
Shawn Hoffman 86112c7258 VideoCommon: Minor changes
Make Renderer::GetMaxTextureSize return u32 instead of int.
2016-10-03 06:51:46 -07:00
degasus 12f050bb8e Fifo: Fix SyncGPU. 2016-10-03 10:38:16 +02:00
shuffle2 0e3f91d88b Merge pull request #4148 from RisingFog/frame_dump_fixes
Fix frame dump issues where frame dumping stops before next drawn frame
2016-10-02 21:10:35 -07:00
Mat M ccfc081697 Merge pull request #4245 from aldelaro5/logs-levels-changes
Lots of Logs levels changes (also enable INFO level in every build)
2016-10-02 16:51:44 -04:00
aldelaro5 f0aa9b3751 Reorganise a ton of logs level
Most of this commits changes performance decreasing logs from info to debug and also cleans up innacurate levels.
2016-10-01 15:50:28 -04:00
Lioncash 361c7c9c09 VertexManagerBase: Make class constants constexpr 2016-10-01 03:37:17 -04:00
Lioncash e61eb34ae6 VertexManagerBase: Get rid of a u16 cast
Just using the direct value is more straightforward
2016-10-01 01:05:43 -04:00
Stenzek bac8c2d441 Vulkan: Work around indexed fragment output bug on AMD drivers 2016-10-01 02:40:02 +10:00
Stenzek 77a128ab87 Implement experimental Vulkan backend 2016-10-01 02:40:01 +10:00
Stenzek 828aac7890 VideoBackends: Make TextureCache::CompileShaders return a bool 2016-10-01 01:09:12 +10:00
Stenzek 6a99cbd9fc VideoCommon: Call Renderer::SurfaceChanged on render parent resize
This is needed because for some reason the WSI for NV Vulkan drivers
doesn't return VK_ERROR_OUT_OF_DATE_KHR, so there is no other way to know
that a resize has occured apart from polling, which is a poor solution for
X11 (since it is blocking).
2016-10-01 01:09:12 +10:00
Stenzek 5346078791 VideoCommon: Add config fields for multithreading and validation layers 2016-10-01 01:09:12 +10:00
Stenzek 09638e714e VideoCommon: Extend DriverDetails to support both OpenGL and Vulkan 2016-10-01 01:09:12 +10:00
Stenzek a71381e80a VideoCommon: Add APIType entry for Vulkan 2016-10-01 01:09:11 +10:00
Stenzek 75e4e42e56 ShaderGen: Work around issue with glslang and dynamic vector subscripts
Seems that vec[eye] will select vec.x no matter what the value of eye is.
2016-10-01 01:09:11 +10:00
Stenzek 7f3a876aae ShaderGen: posmtx should be a 4-component unsigned byte
This is a global change across backends, so should be tested for
regressions.
2016-10-01 01:09:11 +10:00
Stenzek d9c034e8cc ShaderGen: Specify attribute/output locations/bindings explicitly
This also shifts the SSBO index from index 3 to index 0.
2016-10-01 01:09:11 +10:00
Markus Wick 3696c2b022 Merge pull request #4210 from degasus/arm
JitArm64: Small cleanup + speedups.
2016-09-27 18:45:14 +02:00
Markus Wick 9525a9e048 Merge pull request #3490 from degasus/singlecore
Fifo: Use SyncGPU timings for single core.
2016-09-27 10:33:47 +02:00
degasus 732e0ff03a VertexLoaderArm64: Mark register allocation as static const. 2016-09-26 22:19:07 +02:00
degasus 258f48572d VertexLoaderJit: Fix out-of-bounds access for zfreeze.
This fixes a GCC6.1 warning.
2016-09-17 16:47:12 +02:00
degasus 735da0ed69 Fifo: Use SyncGPU timings for single core. 2016-09-17 16:25:13 +02:00
Jules Blok da43f9a156 PixelShaderGen: Always divide the texture coordinates by q.
Some games will set q to a different value than 1.0 through
texture matrix manipulations. It seems the console will still
do the division in that case.
2016-09-07 21:13:16 +02:00
Chris Burgener 69eed56256 Fix recursive code 2016-09-06 22:45:50 -04:00
Scott Mansell 0119f1302f Merge pull request #4177 from phire/useless_cases
BPStructs: remove case statements which never match.
2016-09-06 00:56:09 +12:00
Scott Mansell a665743b70 BPStructs: remove case statments which never match.
Visual Studio's code analyzer complains about these.
2016-09-06 00:40:49 +12:00
EmptyChaos aa16282516 Core: Change CoreTiming event key from int to EventType*
Replace 'int' keys with something that carries type information.
Performance is neutral.
2016-09-03 14:55:44 +10:00
Jules Blok d072d6d336 Merge pull request #4170 from Armada651/float-abs
VertexShaderManager: Explicitly use floating-point variant of abs.
2016-09-01 19:03:03 +02:00
Jules Blok 9fb6f93ca1 PixelEngine: Add missing static specifier for `s_token_finish_mutex`. 2016-09-01 17:28:48 +02:00
Jules Blok 376cadb862 VertexShaderManager: Explicitly use floating-point variant of abs.
Some compilers don't have an automatic abs() overload for floats.
Doesn't really matter if they use the integer variant here, but
it's better to be explicit about the fact that we're using floats.
2016-09-01 17:23:07 +02:00
Jules Blok 50984d85b0 Merge pull request #4164 from Armada651/sonic-clipping
VertexShaderGen: Move the sonic epsilon hack to the vertex shader.
2016-09-01 15:28:09 +02:00
EmptyChaos e0d4dc6fed VertexShaderGen: Fix D3D X3014 compile error
float2 requires 2 parameters in HLSL apparently.
2016-09-01 14:43:19 +10:00
Jules Blok debaf63fe8 VertexShaderGen: Move the sonic epsilon hack to the vertex shader.
In the vertex shader we have control over the depth clipping planes,
so we don't have to offset every floating point value and lose accuracy.
2016-09-01 01:14:14 +02:00
Preston Smith 94cbe0c12a Comments 2016-08-31 06:40:50 -05:00
Preston Smith 5a6b876dbd Hardware renderer fix 2016-08-30 18:33:23 -05:00
Jules Blok 92920c4005 TextureCacheBase: Address 0x0 is valid, don't you dare ignore it. 2016-08-30 16:45:49 +02:00
Chris Burgener df0f7657d0 Fix frame dump issues where frame dumping stops before next drawn frame 2016-08-24 13:00:25 -04:00
Jules Blok 35a270d2a8 TextureConversionShader: Don't use the float specifier in shader code. 2016-08-24 17:42:32 +02:00
Jules Blok f7987017a0 PixelShaderManager: Use signed integers for the depth range parameters. 2016-08-23 15:54:05 +02:00
Jules Blok a8a9348913 OGL: Handle cases where reversed depth is already used. 2016-08-23 15:54:04 +02:00
Markus Wick 52af0770c3 Merge pull request #4141 from lioncash/vtx
VertexManagerBase: Get rid of static state
2016-08-23 07:33:25 +02:00
Lioncash 2bf05a544d VertexManager: Correct variable naming scheme
Altered to indicate regular class members
2016-08-22 20:01:00 -04:00
Markus Wick 10d20d47aa Merge pull request #4132 from lioncash/enum-fifo
Fifo: Make SyncGPUReason an enum class
2016-08-22 16:49:40 +02:00
Lioncash 1392efa91d VertexManagerBase: Get rid of static behavior 2016-08-21 23:30:38 -04:00
JosJuice 31c530c7b3 Merge pull request #3386 from lioncash/memory
Common: Namespace MemoryUtil
2016-08-19 11:04:45 +02:00
Lioncash 5635d4b709 Fifo: Make SyncGPUReason an enum class 2016-08-18 22:35:58 -04:00
Jules Blok e86d7cbc99 OGL: Workaround gl_ClipDistance bug on Mesa i965. 2016-08-18 01:08:39 +02:00
Jules Blok 7078216b61 Improve documentation. 2016-08-16 21:09:58 +02:00
Jules Blok 8c1c7fc2da Cosmetics. 2016-08-15 13:11:30 +02:00
Jules Blok 959d1879e5 VertexShaderGen: Fix far clipping.
We should only check whether z > 0, we don't care about w.
2016-08-15 13:11:29 +02:00
Jules Blok afa251af42 DriverDetails: Add bug for broken gl_ClipDistance on i965. 2016-08-15 13:11:28 +02:00
Jules Blok 94927f360f VideoCommon: Add a user-defined far clipping plane. 2016-08-15 13:11:28 +02:00
Jules Blok 9596ec8971 GeometryShaderGen: Pass-through clipping distance. 2016-08-15 13:11:27 +02:00
Jules Blok a141e91dd2 OGL: Check for GL_DEPTH_CLAMP support.
It's not available in OpenGL ES and officially it's not supported on OpenGL 3.0/3.1.

Fallback to old depth range code if there is no method to disable depth clipping.
It's more important to have correct clipping than to have accurate depth values.
Inaccurate depth values can be fixed by slow depth.
2016-08-15 13:11:26 +02:00
Jules Blok 4582853af4 VertexShaderGen: Use reversed depth range. 2016-08-15 13:11:26 +02:00
Jules Blok e9e81ece65 VideoBackends: Enable depth clamping. 2016-08-15 13:11:25 +02:00
Jules Blok b1ed7e80fb VertexShaderGen: Clip z using user-defined clipping planes. 2016-08-15 13:11:25 +02:00
Jules Blok 159247f4ad VertexShaderGen: Clamp to the console depth range.
This fixes the Mii Channel among others.
2016-08-15 13:11:24 +02:00
Jules Blok 92aa7669b5 VertexShaderManager: Use a more accurate depth range.
This fixes the gxtest_depth hwtest.
2016-08-15 13:11:24 +02:00
Jules Blok c223bd47b9 VideoCommon: Implement depth range equation in vertex shader. 2016-08-15 13:11:23 +02:00
Léo Lam c1184957a5 Run clang-format on missed files
`clang-format`s files that lint missed because of the bug. Fortunately,
not much.
2016-08-11 21:14:39 +02:00
JosJuice 3443a10030 CoreTiming: Merge ScheduleEvent variants into one function
Now Core::IsCPUThread() only gets called once when using the AnyThread
variant. Also, I think the enum approach makes calling code clearer.
2016-08-11 12:45:57 +02:00
Léo Lam dca22e08eb Use Common::Flag and Common::Event when possible
Replaces old and simple usages of std::atomic<bool> with Common::Flag
(which was introduced after the initial usage), so it's clear that
the variable is a flag and because Common::Flag is well tested.

This also replaces the ready logic in WiimoteReal with Common::Event
since it was basically just unnecessarily reimplementing Common::Event.
2016-08-10 16:08:15 +02:00
degasus 82bdc4ef86 PixelEngine: Delay token updates by events.
To still get a speedup, mark if already an event is queued.
If so, don't raise a new event.
2016-08-10 13:24:57 +02:00
degasus a051db9792 PixelEngine: Cleanup PE Token.
This also affects the behavior a bit, it should now fit better to the one of the commonly more used PE Finish flag.
2016-08-10 10:07:53 +02:00
degasus 367e1b4d4c PixelEngine: Drop write-only variables. 2016-08-10 10:07:53 +02:00
Lioncash e01c143379 Common: namespace MemoryUtil 2016-08-07 13:03:07 -04:00
Chris Burgener 222c4ba077 Remove Global Declarations from Movie 2016-08-04 15:24:44 -04:00
Lioncash 8b5e94a102 FifoPlayer: const correctness 2016-08-01 18:33:46 -04:00
Markus Wick e281273cd7 Merge pull request #4047 from lioncash/enum-fwd
VideoCommon: Make API_TYPE an enum class
2016-07-31 10:38:42 +02:00
Lioncash 14e0b48ae4 VideoCommon: Make API_TYPE an enum class
Allows for forward declarations in most places, which prevents dumping
unrelated VideoCommon.h contents directly into headers.
2016-07-29 19:20:16 -04:00
Pierre Bourdon d7de39ebbe Merge pull request #3588 from Aestek/feature/improve-netplay-dialog
Improve netplay UX
2016-07-26 02:12:22 +02:00
Pierre Bourdon c6924b4d03 Merge pull request #4036 from RisingFog/rtc_osd
Display RTC on OSD
2016-07-25 15:36:03 +02:00
Aestek 6a0fc4c438 Improve netplay setup dialog UX
* Focus "Hash Code" / "IP address" text box by default in "Connect"
* Focus game list in "Host" tab
* RETURN keypress now host/join depending on selected tab
* Remember last hosted game
* Remove PanicAlertT:
	* Simply log message to netplay window
	* Remove them when they are useless
* Show some netplay message in OSD
	* Chat messages
	* Pad buffer changes
	* Desync alerts
* Stop the game consistently when another player disconnects / crashes
* Prettify chat textbox
* Log netplay ping to OSD

Join scenario:
* Copy netplay code
* Open netplay
* Paste code
* Press enter

Host scenario:
* Open netplay
* Go to host tab
* Press enter
2016-07-23 20:58:51 +02:00
Chris Burgener 0ef1ee7a83 Display RTC on OSD 2016-07-22 09:58:34 -04:00
Chris Burgener 37a0c9c404 Check for zero height when splitting video dump 2016-07-21 11:28:10 -04:00
EmptyChaos 5adb29b6cb Fifo: Call AllowSleep instead of Wakeup when pausing.
BlockingLoop was being woken when the emulator was being paused
which would cause the loop to busy spin. Issue 9692.
2016-07-19 15:20:17 +10:00
Anthony J. Bentley de6babb928 Add an OpenBSD driver identifier. 2016-07-17 04:13:06 -06:00
comex 42660292f6 Use newer ffmpeg APIs to avoid deprecation warnings. 2016-07-10 21:36:18 -04:00
Pierre Bourdon 7ee6d08213 Merge pull request #3961 from phire/less_virtual_xfb_lag
XFB: Send image to screen at start of field (Reduce VirtualXFB latency)
2016-07-10 03:01:26 +02:00
Chris Burgener d00c013339 Remove VI count limit on Movie playback 2016-07-09 20:35:01 -04:00
Scott Mansell 35566316ed XFB: Send image to screen at start of field.
This is much more accurate to the hardware, and saves around 16ms
of latency.
2016-06-28 15:12:43 +12:00
Chris Burgener 28a3691e70 Merge pull request #3930 from RisingFog/split_video_dump_resolution
Split Video Dumps on Resolution Change
2016-06-27 22:39:19 -04:00
Léo Lam d9fc1e01b4 LightingShaderGen: Fix formatting 2016-06-26 16:35:44 +02:00
Markus Wick 6b01eca3a0 Merge pull request #3950 from phire/fix-warnings
VideoCommon: Fix some warnings.
2016-06-26 13:37:15 +02:00
Scott Mansell d958388617 VideoCommon: Fix some warnings. 2016-06-26 23:10:31 +12:00
degasus d79aeaa1e9 VideoCommon: Drop GetConfigName.
We're past 5.0 now, so there is no need to look for old inis.
2016-06-26 12:34:59 +02:00
degasus 5f2f462067 VideoBackends: Merge ShowConfig functions. 2016-06-26 12:34:59 +02:00
degasus 7833ff25df VideoBackends: Merge Initialize and Shutdown functions. 2016-06-26 12:34:59 +02:00
Scott Mansell b16333a25c Merge pull request #3716 from degasus/coretiming
CoreTiming: Drop ProcessFifoWaitEvents.
2016-06-26 22:13:05 +12:00
degasus 4c5f8f9c91 CoreTiming: Drop ProcessFifoWaitEvents.
globalTimer is only written in Advance, so this function has no function.
2016-06-26 11:29:25 +02:00