Commit Graph

594 Commits

Author SHA1 Message Date
552c0d8404 Common: Move byte swapping utilities into their own header
This moves all the byte swapping utilities into a header named Swap.h.

A dedicated header is much more preferable here due to the size of the
code itself. In general usage throughout the codebase, CommonFuncs.h was
generally only included for these functions anyway. These being in their
own header avoids dumping the lesser used utilities into scope. As well
as providing a localized area for more utilities related to byte
swapping in the future (should they be needed). This also makes it nicer
to identify which files depend on the byte swapping utilities in
particular.

Since this is a completely new header, moving the code uncovered a few
indirect includes, as well as making some other inclusions unnecessary.
2017-03-03 17:18:18 -05:00
ee61bd6f2e CMakeLists: Normalize whitespace
Normalizes tabs to spaces to follow our codebase's indentation style.
2017-03-01 14:53:23 -05:00
94522d4cf3 OGL: Add support for glDepthRangedNV to handle oversized depth ranges. 2017-02-24 14:54:16 +01:00
1fa81f24d3 VertexManagerBase: Make CreateNativeVertexFormat return a unique_ptr
Much safer as opposed to just returning raw allocated memory.
2017-02-18 03:16:24 -05:00
d9d069e024 OpcodeDecoding: Convert #defines into enum constants
Gets several constants out of global scope.
2017-02-08 00:05:17 -05:00
c85e0a2586 FramebufferManagerBase: Return a std::pair from GetTargetSize
Keeps associated data together. It also eliminates the possibility of out
parameters not being initialized properly. For example, consider the
following example:

-- some FramebufferManager implementation --

void FBMgrImpl::GetTargetSize(u32* width, u32* height) override
{
  // Do nothing
}

-- somewhere else where the function is used --

u32 width, height;
framebuffer_manager_instance->GetTargetSize(&width, &height);

if (texture_width != width) <-- Uninitialized variable usage
{
  ...
}

It makes it much more obvious to spot any initialization issues, because
it requires something to be returned, as opposed to allowing an
implementation to just not do anything.
2017-02-03 15:27:53 -05:00
70cf774a5c RenderBase: Forward declare EFBAccessType 2017-01-23 12:41:26 -05:00
5b461f50af VideoBackendBase: Convert EFBAccessType into an enum class 2017-01-23 03:53:38 -05:00
f12460d1f4 VideoSW: Fix GL ES shader. 2017-01-07 12:32:15 +01:00
41b0c74e30 VideoCommon: Make dst_alpha state implicit. 2017-01-04 20:02:31 +01:00
abf9bb170b TextureCache: Drop unused parameter in backend API. 2016-12-26 22:10:32 +01:00
04f319066d TextureCache: Extract BP enum check to VideoCommon.
We have TOO many video backends.
2016-12-26 22:10:21 +01:00
9160be50db Merge pull request #4224 from lioncash/tcache
TextureCacheBase: Eliminate static state
2016-12-23 04:33:42 -05:00
d6cdf49769 VideoSoftware: Don't drop least significant bit of 5-bit blue channels 2016-12-14 23:56:06 +10:00
58a5395173 TextureCacheBase: Eliminate static state 2016-12-09 16:50:37 -05:00
31ccfffd38 Common: Add alignment header
Gets rid of duplicated alignment code.
2016-12-06 20:33:53 +01:00
a0a62c0f46 VideoConfig: Add option for full-resolution frame dumping 2016-11-28 20:14:59 +10:00
72e3f1ecec Remove unnecessary ConfigManager includes
Making changes to ConfigManager.h has always been a pain, because
it means rebuilding half of Dolphin, since a lot of files depend on
and include this header.

However, it turns out some includes are unnecessary. This commit
removes ConfigManager includes from files which don't contain
SConfig or GPUDeterminismMode or GPU_DETERMINISM (which means the
ConfigManager include is not used).

(I've also had to get rid of some indirect includes.)
2016-11-27 22:38:38 +01:00
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
df5eff9ab7 VideoSW: Use VideoCommon frame dumping. 2016-10-11 22:32:06 +02:00
7d5363ffa8 Merge pull request #4337 from degasus/framedump
AVIDump: Move CoreTiming into caller.
2016-10-11 22:25:28 +02:00
dc1b35fa4b Fix building with PCH disabled. 2016-10-11 14:25:14 -05:00
9f264c0872 AVIDump: Move CoreTiming into caller. 2016-10-10 12:03:18 +02:00
a583d36c7f Merge pull request #4326 from degasus/framedump
Framedump: Merge screenshot code with framedumping.
2016-10-10 11:48:57 +02:00
64927a2f81 Renderer: Merge screenshot logic into VideoCommon. 2016-10-08 19:38:57 +02:00
b427ead0cc Remove Frameskip 2016-10-08 11:49:51 -05:00
86112c7258 VideoCommon: Minor changes
Make Renderer::GetMaxTextureSize return u32 instead of int.
2016-10-03 06:51:46 -07:00
17aef319e8 Merge pull request #4240 from lioncash/include
Software: Clean out unnecessary includes/fwd decls
2016-10-02 20:31:35 -07:00
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
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
828aac7890 VideoBackends: Make TextureCache::CompileShaders return a bool 2016-10-01 01:09:12 +10:00
5346078791 VideoCommon: Add config fields for multithreading and validation layers 2016-10-01 01:09:12 +10:00
c9ef042b2d Software: Clean out unnecessary includes/fwd decls 2016-09-24 05:28:00 -04:00
330944eef8 DebugUtils: const correctness 2016-09-22 21:05:17 -04:00
5ac161c132 TextureEncoder: const correctness 2016-09-22 21:01:56 -04:00
eb574e7bac NativeVertexFormat: const correctness 2016-09-22 21:01:55 -04:00
5f1e444c28 Clipper: const correctness 2016-09-22 21:01:49 -04:00
d79d5d49f4 Rasterizer: const correctness 2016-09-22 20:39:28 -04:00
2d0e857cb3 Merge pull request #4225 from lioncash/soft
SWVertexLoader: Value initialize SetupUnit instance
2016-09-22 16:05:32 +02:00
a8c8dd0c53 SWVertexLoader: Value initialize SetupUnit instance 2016-09-22 09:58:44 -04:00
5890565575 Merge pull request #4233 from lioncash/efb
EfbInterface: Change out parameters on getters to return by value
2016-09-22 10:49:33 +02:00
33288c4569 EfbInterface: Change out parameters on getters to return by value 2016-09-21 20:56:44 -04:00
fc41e982e9 SWOGLWindow: Utilize the move constructor in PrintText
The previous code would always do a copy
2016-09-21 13:11:34 -04:00
99baa3268f SWOGLWindow: const correctness for ShowImage 2016-09-21 12:54:22 -04:00
9d8f373016 VideoSoftware: Don't Init the PixelEngine twice
PixelEngine is initialized by InitializeShared()
2016-09-03 15:12:41 +10:00
da82389347 Merge pull request #4172 from phire/software_fog_error
VideoSoftware: Fix unsigned overflow bug in fog
2016-09-02 09:53:44 +02:00
0e7424b359 VideoSoftware: Fix unsigned overflow bug in fog
Was causing fog errors on the left half of the screen.

Only appeared to affect visual studio builds, GCC did the correct
thing.
2016-09-02 10:12:44 +12:00
94cbe0c12a Comments 2016-08-31 06:40:50 -05:00
e6ccd0729f Revert postMat movement 2016-08-31 02:14:51 -05:00
89b1d613cc Remove else in software renderer 2016-08-30 18:33:27 -05:00