Commit Graph

31190 Commits

Author SHA1 Message Date
7b9d43a834 Qt/GCMemcardManager and Qt/GameCubePane: Give detailed error messages for invalid memory cards. 2019-08-15 18:21:48 +02:00
ba8ffd9391 GCMemcard: Check if the Directory's number-of-blocks claim for files matches the BAT, and report an error if it doesn't. 2019-08-15 18:21:48 +02:00
7d4cabea07 GCMemcard: The update counters are interpreted as signed values for the newer-than comparison. 2019-08-15 18:21:47 +02:00
8fc2f0ff2d GCMemcard: Rename MemCardXMb constants to MBIT_SIZE_MEMORY_CARD_X for consistency with other constants. 2019-08-15 18:21:45 +02:00
b54a49eaaf GCMemcard: Rework construction logic to better match our knowledge of the format, while providing better error reporting facilities. 2019-08-15 18:18:56 +02:00
24718c1a38 Merge pull request #8294 from lioncash/render-const
VideoCommon/RenderBase: Make functions const where applicable
2019-08-05 16:25:21 +10:00
161a43d43e Merge pull request #8295 from lioncash/tex-cache-global
VideoCommon/TextureCacheBase: Remove use of the texture cache global in interface
2019-08-05 16:23:24 +10:00
049d5ed443 Merge pull request #8291 from JosJuice/android-delete-game-ini-more-warning
Android: Add a bit more warning to the game INI deletion prompt
2019-08-05 16:22:14 +10:00
07aa18eb2b VideoCommon/TextureCacheBase: Collapse for loop into a fill() in Invalidate()
Same thing, less code.
2019-08-04 23:30:27 -04:00
d52dd2e04f VideoCommon/TextureCacheBase: Use emplace_back where applicable
Same thing, less code.
2019-08-04 23:28:14 -04:00
fd12ae1408 VideoCommon/TextureCacheBase: Remove use of the texture cache global
We can just call the functions that are part of the interface instead of
using the global in order to execute those functions.
2019-08-04 23:23:04 -04:00
7366b4281f VideoCommon/RenderBase: Remove dependency on renderer global within renderer
There's no need to have a dependency when we can simply call the
function itself as part of the instance itself.
2019-08-04 23:01:19 -04:00
cfdfbbff38 VideoCommon/RenderBase: Use structured bindings where applicable
Same behavior, but immediately assigns to variables, allowing them to be
const.
2019-08-04 22:59:07 -04:00
dd5b8895fe VideoCommon/RenderBase: Make functions const where applicable 2019-08-04 22:52:00 -04:00
4261e8d892 Android: Add a bit more warning to the game INI deletion prompt 2019-08-04 19:31:56 +02:00
7f6abfb0bf Merge pull request #8289 from Miksel12/nunchuk-reorder
DolphinQt: Reorder nunchuk mapping
2019-08-04 15:42:32 +02:00
9395d7ea08 DolphinQt: Reorder nunchuk mapping 2019-08-04 14:02:43 +02:00
d3151d8808 Merge pull request #8278 from Miksel12/qt-changes
DolphinQt: Limit numeric widget width
2019-08-04 20:28:17 +10:00
7de6b57c13 Merge pull request #8284 from stenzek/logic-op-hack
RenderState: Approximate logic op with blending if unsupported
2019-08-04 14:39:38 +10:00
c829351c90 Merge pull request #8286 from stenzek/efb-savestate-fixes
FramebufferManager: Fix restoring of EFB depth buffer / upside-down in OpenGL
2019-08-04 14:07:18 +10:00
f6f9dc0cac RenderState: Approximate logic op with blending if unsupported
This is a giant hack which was previously removed because it causes
broken rendering. However, it seems that some devices still do not
support logical operations (looking at you, Adreno/Mali). Therefore, for
a handful of cases where the hack actually makes things slightly better,
we can use it.

... but not without spamming the log with warnings. With my warning
message PR, we can inform the users before emulation starts anyway.
2019-08-04 14:06:08 +10:00
4ccb4ef74f Merge pull request #8283 from stenzek/d3d11-null-render-target
D3D11: Only use integer RTV when logic op is supported+enabled
2019-08-04 13:14:35 +10:00
64c0ff576c Merge pull request #8285 from lioncash/dinput-ffe
InputCommon/DInputJoystick: Correct force-feedback flag testing
2019-08-03 10:09:31 +02:00
2770707587 Merge pull request #8287 from lioncash/static-ctor
DiscIO/Volume: Make Partition's interface constexpr
2019-08-03 10:07:53 +02:00
db3b31c246 DiscIO/Volume: Make Partition's interface constexpr
PARTITION_NONE technically has a runtime static constructor otherwise.
This allows compile-time instances of Partition to be created without
the use of a static constructor.
2019-08-02 18:25:09 -04:00
cbfc442e90 DolphinQt: Limit numeric widget width 2019-08-02 18:20:37 +02:00
d6460e0b18 FramebufferShaderGen: Fix upside-down EFB being restored in OpenGL 2019-08-03 01:48:57 +10:00
25b3e5e029 FramebufferManager: Fix restoring of EFB depth buffer
Correct state wasn't being set.
2019-08-03 01:46:54 +10:00
7afba6776f Merge pull request #8279 from spycrab/fix_save_state_wait
Fix saving states freezing up emulation
2019-08-03 01:26:07 +10:00
37d643c7d3 InputCommon/DInputJoystick: Correct force-feedback flag testing
Introduced in a995e2f5ba

We need to be performing a bitwise AND on the flags and not a logical
AND, otherwise we could end up counting device objects that don't
support forced feedback.
2019-08-02 10:26:44 -04:00
d78a9356d2 D3D11: Only use integer RTV when logic op is supported+enabled 2019-08-02 18:47:19 +10:00
b01cacb27e Merge pull request #8236 from booto/si_greatest_hits_vol_1
SI: Minor bugfixes
2019-08-02 03:17:54 -04:00
7a82e0f10f Translation resources sync with Transifex 2019-08-01 22:56:52 +02:00
04764f8b7f Fix saving states freezing up emulation
Only for about half a second but noticeable nonetheless
2019-08-01 21:33:12 +02:00
c70da390a7 Merge pull request #8274 from lioncash/parent
DolphinQt/Config/GameConfigEdit: Pass parent pointer to base class
2019-07-31 11:07:55 +08:00
6e14dcf70a DolphinQt/Config/GameConfigEdit: Pass parent pointer to base class
Previously, the constructor of GameConfigEdit wasn't doing anything with
the passed in parent pointer. This is dangerous because it can result in
memory being leaked in certain scenarios. It can also affect layout
decisions made by the parent. Instead, pass it through to the base class.

Current usages of the class pass in nullptr as the parent, so this is a
safe change to make with regards to the class hierarchy.

While we're at it, we can std::move the passed in QString into the class
member, allowing calling code to move strings into the constructor,
avoiding copies.
2019-07-30 19:17:25 -04:00
dea2b9c509 Merge pull request #8258 from CookiePLMonster/dx11.1-detection-fixes
D3D11 resources refactor and DX11.1 feature detection fixes
2019-07-30 01:24:57 +10:00
baa9636d48 D3D11: Add extra logging to StateCache::Get 2019-07-29 16:48:24 +02:00
43bfb183c2 D3D11: Show a warning message about unsupported features when switching to D3D11 backend on Windows 7 2019-07-29 16:47:45 +02:00
ff00873610 D3D11: Query for output merger logic op support and use logic op code only if supported
Previously code assumed that if DX11.1 runtime is supported, logic ops will,
but Windows 7 SP1 with a Platform Update supports DX11.1 runtime without logic ops.
This created pretty jarring visual artifacts, which now should be gone OR replaced
with much less jarring errors.
2019-07-29 16:47:39 +02:00
a6b8e8b9c3 D3D11: Ownership fixes for objects in DXTexture 2019-07-29 16:43:02 +02:00
77425ef83b D3D11: Ownership fixes for objects in D3DState 2019-07-29 16:39:21 +02:00
88db577c17 D3D11: Correctly poll ALL possible AA levels. 2019-07-29 16:39:06 +02:00
b0113b6c64 Merge pull request #8266 from lioncash/shadowing
D3DCommon/Shader: Use std::optional where applicable
2019-07-28 14:24:32 +10:00
5bad233b1a Merge pull request #8265 from lioncash/view
OGL/ProgramShaderCache: Use std::string_view where applicable
2019-07-28 14:21:59 +10:00
a9e04e0a72 Merge pull request #8267 from lioncash/null
VideoBackends/Null: Minor cleanup
2019-07-27 15:06:26 -07:00
6db305a4e8 VideoBackends/Null: Add missing override specifiers
Applies a missing override specifier to VertexManager's destructor.
2019-07-27 17:33:18 -04:00
23c5b362a5 VideoBackends/Null: Apply final to classes where applicable
These aren't intended to be further specialized, so we can make this
obvious with final.
2019-07-27 17:33:18 -04:00
86000fc6b4 VideoBackends/Null: Remove unnecessary constructors and destructors
Removes constructors and destructors that don't actually provide any
behavior (i.e. doesn't constain generated code related to non-trivial
members in a cpp file, etc).

Lessens the amount of code present.
2019-07-27 17:33:18 -04:00
bdcc5853d5 VideoBackends/Null: Remove unnecessary includes 2019-07-27 17:33:16 -04:00