Commit graph

109 commits

Author SHA1 Message Date
Lioncash
58a5395173 TextureCacheBase: Eliminate static state 2016-12-09 16:50:37 -05:00
Stenzek
adc22a5e20 VideoCommon: Add method for calculating full-scale framedump rectangles 2016-11-28 21:54:54 +10:00
Stenzek
6db0ee9561 VideoCommon: Remove backbuffer size parameters from methods
We have the s_backbuffer_{width,height} fields to represent this, so
there's no point in passing them as parameters every time.
2016-11-28 20:14:59 +10:00
Stenzek
6d0b9b816f VideoCommon: Support dumping frames to images
This is mainly for potential Android fifoci usage, and thus is not
exposed anywhere in the UI. To enable, set DumpFramesAsImages under
Settings in GFX.ini.
2016-11-23 12:07:49 +10:00
degasus
193dd97759 VideoCommon: Drop FlipImageData.
This function isn't used any more, and good code shouldn't use it at all. Use negative strides instead.
2016-11-10 12:59:22 +01:00
degasus
52caa4f2f5 VideoCommon/Render: Inplace frame dump encoding.
This increase the performance of good backends a bit, but slows down the bads one a lot.
Let's fix those backends instead of forcing stupid memcpy in the common code.
2016-11-10 12:59:19 +01:00
degasus
a47332bf8a VideoCommon/Render: Use a flag for screenshot. 2016-11-07 22:16:34 +01:00
degasus
d79840078f Renderer: Threaded frame dumping. 2016-11-07 22:11:13 +01:00
degasus
be29090aae AVIDump: Add a struct for the state.
So AddFrame use no global state and can be threaded well.
2016-11-04 18:35:42 +01:00
degasus
dad5041737 AVIDump: Inline OSD error handling.
This fixes a review feedback in PR #4345.
2016-11-04 18:03:14 +01:00
degasus
1cc1876002 Revert "Merge pull request #4286 from shuffle2/Aestek-clean-osd"
This reverts commit 5c0fa4db4f, reversing
changes made to b8731eb818.
2016-10-15 12:44:37 +02:00
degasus
b8a1611f4a Revert "Merge pull request #4287 from shuffle2/typo-fix"
This reverts commit 6bff97ea30, reversing
changes made to 5c0fa4db4f.
2016-10-15 12:33:27 +02:00
degasus
9f264c0872 AVIDump: Move CoreTiming into caller. 2016-10-10 12:03:18 +02:00
degasus
64927a2f81 Renderer: Merge screenshot logic into VideoCommon. 2016-10-08 19:38:57 +02:00
degasus
21e42c68c4 Renderer: Remove write-only variable.
Sorry, merge failure.
2016-10-08 18:26:43 +02:00
degasus
db0509560e AVIDump: Hard code rgba. 2016-10-08 18:16:32 +02:00
degasus
0864ef4352 VideoCommon: Add custom stride for framedumping. 2016-10-08 15:44:54 +02:00
degasus
b5a91e1dfa Framedumps: Add finish() function to limit memory lifetime. 2016-10-08 15:39:22 +02:00
degasus
ebc617882b VideoCommon: Drop RepeatFrameDumpFrame helper.
This was needed with fixed framerate dumping. As we now synchronize the frames, the last one will just get padded.
2016-10-08 15:39:21 +02:00
degasus
8c999f9ee8 VideoCommon: Mark framedump variables as private.
And rename them to the new naming scheme.
2016-10-07 23:17:21 +02:00
degasus
f45ddddf1c VideoCommon: Add shared framedumping code. 2016-10-07 23:07:40 +02:00
Shawn Hoffman
55af20a439 Remove '\n' from OSD messages; they would be converted to '?' 2016-10-04 03:52:13 -07: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
Shawn Hoffman
86112c7258 VideoCommon: Minor changes
Make Renderer::GetMaxTextureSize return u32 instead of int.
2016-10-03 06:51:46 -07: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
Jules Blok
7078216b61 Improve documentation. 2016-08-16 21:09:58 +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
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
Chris Burgener
0ef1ee7a83 Display RTC on OSD 2016-07-22 09:58:34 -04:00
Chris Burgener
d00c013339 Remove VI count limit on Movie playback 2016-07-09 20:35:01 -04:00
Pierre Bourdon
3570c7f03a Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
mimimi085181
8c34463f14 Make integral auto IR(multiple of 640x528) work as expected
Right now, it's possible that x and y are scaled differently, if efb and xfb size are not the same.
2016-04-26 23:25:38 +02:00
Lioncash
d9fec92628 VideoCommon: Header cleanup
Also remedies places where the video backends and core rely on things
being indirectly included.
2016-01-17 20:11:45 -05:00
Ryan Houdek
5a549ef663 [Android] Add support for rotation and minimizing the application 2016-01-10 13:00:32 -06:00
Pierre Bourdon
39971ec039 Merge pull request #3472 from phire/TVs_dont_have_pixels
Rework the aspect ratio calculation (Fixes 240p mode)
2016-01-09 04:27:16 +01:00
Pierre Bourdon
bf1c53a6e8 Merge pull request #3451 from RisingFog/libav
Use ffmpeg for Windows Video Dumping instead of VFW
2016-01-09 01:01:05 +01:00
Scott Mansell
9c0dae47ca Normalize aspect ratio calculations to 4:3
Video Interface simply isn't aware about widescreen.
Instead, the render class can multiply by 1.3333333 to get
the 16:9 aspect ratio.
2016-01-08 13:31:48 +13:00
Chris Burgener
c34fb3edf0 Use ffmpeg for Windows Video Dumping instead of VFW 2016-01-07 18:37:58 -05:00
degasus
3ff4ec275a Throttler: Rename "framelimiter" to "emulation speed".
We don't throttle by frames, we throttle by coretiming speed.
So looking up VI for calculating the speed was just very wrong.
The new ini option is a float, 1.0f for fullspeed.
In the GUI, percentual values are used.
2016-01-05 23:39:05 +01:00
Lioncash
01f99a04a2 VideoBackend: Get rid of a boolean global
Also gets rid of global headers
2016-01-02 18:03:28 -05:00
Markus Wick
330329254c Merge pull request #3361 from stenzek/d3d-vectored-efb-pokes
D3D: Implement vectored efb pokes
2015-12-30 15:27:24 +01:00
Lioncash
da0e647346 Render: Get rid of explicit new and delete 2015-12-22 19:10:05 -05:00
Lioncash
f295182833 VideoBackends: Simplify initialization and deinitialization of resources
Approximately three or four times now, the issue of pointers being
in an inconsistent state been an issue in the video backend renderers
with regards to tripping up other developers.

Global (ugh) resources are put into a unique_ptr and will always have a
well-defined state of being - null or not null
2015-12-20 22:40:37 -05:00
Stenzek
a61fc372bb VideoCommon: Change PokeEFB to take a pointer rather than a vector
This saves allocating a vector for the pass-through path.
2015-12-20 14:42:14 +10:00
Tillmann Karras
81d9cce70c VideoCommon: rename TextureCache to TextureCacheBase 2015-11-06 15:43:58 +01:00
Lioncash
c756025902 Core: Move a global into a namespace 2015-10-16 22:52:41 -04:00
Lioncash
bf23fcfc1f FPSCounter: Don't provide direct access to m_fps 2015-09-29 09:43:03 -04:00
Lioncash
19459e827f Partially revert "General: Toss out PRI macro usage" 2015-09-11 09:49:00 -04:00