Michael Maltese
cef5bd4a09
TextureCacheBase: remove duplicated variable
...
Fixes warning:
```
Source/Core/VideoCommon/TextureCacheBase.cpp:869:17: warning: declaration shadows a local variable [-Wshadow]
const u8* tlut = &texMem[tlutaddr];
^
Source/Core/VideoCommon/TextureCacheBase.cpp:784:13: note: previous declaration is here
const u8* tlut = &texMem[tlutaddr];
^
```
2017-04-06 13:52:42 -07:00
Sepalani
c170659189
StringUtil: Fix a ctype assertion
2017-04-06 15:02:21 +01:00
Stenzek
fdf2efdac6
TextureConversionShader: Add missing swap for index of C14X2 textures
2017-04-06 23:29:40 +10:00
Léo Lam
60d47eaeff
IOS/ES: Return IPC_EINVAL for unknown ioctlvs
...
Instead of allowing unknown ioctlvs and faking success for both unknown
and unimplemented ioctlvs, which can possibly result in nasty, hard to
debug bugs (if the emulated software behaves unexpectedly), we should
reject unknown ioctlvs and log known, but unimplemented ioctlvs.
2017-04-06 15:18:23 +02:00
Léo Lam
98dea421ba
IOS/ES: Block ES_DIVerify from the IPC interface
...
Simple accuracy change.
DIVerify is an internal ioctlv in unpatched, up-to-date IOSes,
where calling it from the PPC just returns -1017.
2017-04-06 10:38:06 +02:00
Stenzek
c6075f4c36
TextureConversionShader: Fix compile error in C14X2 decoder
2017-04-06 13:59:06 +10:00
Michael Maltese
d10d09ccc1
VideoCommon: rework anamorphic widescreen heuristic
...
Some widescreen hacks (see below) properly force anamorphic output, but
don't make the last projection in a frame 16:9, so Dolphin doesn't
display it correctly.
This changes the heuristic code to assume a frame is anamorphic based on
the total number of vertex flushes in 4:3 and 16:9 projections that
frame. It also adds a bit of "aspect ratio inertia" by making it harder
to switch aspect ratios, which takes care of aspect ratio flickering
that some games / widescreen hacks would be susceptible with the new
logic.
I've tested this on SSX Tricky's native anamorphic support, Tom Clancy's
Splinter Cell (it stayed in 4:3 the whole time), and on the following
widescreen hacks for which the heuristic doesn't currently work:
Paper Mario: The Thousand-Year Door (Gecko widescreen code from Nintendont)
C202F310 00000003
3DC08042 3DE03FD8
91EEF6D8 4E800020
60000000 00000000
04199598 4E800020
C200F500 00000004
3DE08082 3DC0402B
61CE12A2 91CFA1BC
60000000 387D015C
60000000 00000000
C200F508 00000004
3DE08082 3DC04063
61CEE8D3 91CFA1BC
60000000 7FC3F378
60000000 00000000
The Simpsons: Hit & Run (AR widescreen code from the wiki)
04004600 C002A604
04004604 C09F0014
04004608 FC002040
0400460C 4082000C
04004610 C002A608
04004614 EC630032
04004618 48220508
04041A5C 38600001
04224344 C002A60C
04224B1C 4BDDFAE4
044786B0 3FAAAAAB
04479F28 3FA33333
2017-04-05 17:23:16 -07:00
Léo Lam
d8089a457f
WX: Disable a few menu items when a Wii title is running
...
Unsafe and keeping them enabled would allow inaccurate behaviour that
can break games.
2017-04-05 20:54:48 +02:00
Léo Lam
c4d5076696
Common: Add missing set(LIBS ...) for mbedtls
2017-04-05 20:54:11 +02:00
MerryMage
19eb09b086
Jit_SystemRegisters: Make mfspr PIE-compliant
2017-04-05 10:22:48 +01:00
MerryMage
38917a151d
CoreTiming: Pull globals into a single struct
2017-04-05 10:22:48 +01:00
Scott Mansell
4c0a392698
Merge pull request #4715 from iwubcode/efb_copy_corruption_at_higher_ir
...
Add configurable toggle to round vertices to nearest pixel
2017-04-05 19:41:52 +12:00
Stenzek
27e9e469d4
Merge pull request #5206 from ligfx/fixcustomtextures
...
TextureCacheBase: fix custom textures not being loaded
2017-04-05 16:49:54 +10:00
Lioncash
14c81764df
ControllerEmu: Replace includes with forward declarations
...
Replaces includes with forward declarations where applicable, and moves
includes to where they're actually needed.
2017-04-04 20:38:30 -04:00
Michael Maltese
e9e3226026
TextureCacheBase: fix custom textures not being loaded
...
Fixes bug #10183 [0] introduced by 3bd184a
/ PR #4467 [1].
TextureCacheBase was no longer calling `entry->Load` for custom textures
since the compute shader decoding logic was added. This adds it back in.
It also slightly restructures the decoding if-group to match the one
below, which I think makes the logic more obvious.
(recommend viewing with `git diff -b` to ignore the indentation changes)
[0]: https://bugs.dolphin-emu.org/issues/10183
[1]: https://github.com/dolphin-emu/dolphin/pull/4467
2017-04-04 14:34:46 -07:00
Léo Lam
cf0492468d
IOS/WFS: Fix logging message
2017-04-04 17:37:08 +02:00
Anthony
d8c476b015
Merge pull request #5204 from leoetlino/tmd-view-fixes
...
IOS/ES: Fix GetTMDView
2017-04-04 15:14:04 +00:00
iwubcode
a9d08a31a6
Add configurable toggle that rounds vertices to the nearest pixel when
...
w=1. This fixes some games at higher IRs.
2017-04-04 09:52:18 -05:00
Léo Lam
6f8c30c863
IOS/ES: Fix GetTMDView
...
We had missing checks *and* were checking for the out vector size
improperly.
Rewritten based on the actual behaviour in IOS.
2017-04-04 16:04:24 +02:00
Stenzek
97dc773a3e
D3D: Drop redundant interface TextureEncoder
2017-04-04 22:57:23 +10:00
Anthony
90acceaf41
Merge pull request #5201 from lioncash/determinism
...
Core: Hide determinism global
2017-04-04 06:21:07 +00:00
Anthony
840e58c032
Merge pull request #5196 from lioncash/tasdlg
...
TASInputDlg: Minor changes
2017-04-03 20:27:37 +00:00
Lioncash
0c1d56c16f
Core: Hide determinism global
...
This is only ever queried and not set outside of the Core.cpp, so this
should just be hidden internally and just have a function exposed that
allows querying it.
2017-04-03 14:56:12 -04:00
Lioncash
ad1a899a7c
Core: Make EmuThread internally linked
2017-04-03 13:27:35 -04:00
Lioncash
ed2e9e9e41
Core: Remove unnecessary forward declaration
2017-04-03 13:26:15 -04:00
Markus Wick
9d1ae76d0d
Merge pull request #5200 from lioncash/frame
...
Frame: Remove callback function prototypes from header.
2017-04-03 13:35:35 +02:00
Lioncash
b67968c3d8
Core: Remove unimplemented function prototype SetBlockStart
2017-04-03 06:34:49 -04:00
Lioncash
c457ee4995
Frame: Remove callback function prototypes from header
...
Gets rid of more direct usages of the main_frame global, keeping the
callbacks internal to the frame itself.
2017-04-03 06:34:36 -04:00
Matthew Parlane
637bdc45b3
Merge pull request #5197 from leoetlino/ios-reset
...
IOS: Don't expose HLE::Reset()
2017-04-03 21:26:01 +12:00
Markus Wick
3bd184a255
Merge pull request #4467 from stenzek/gpu-texture-decoding
...
VideoBackends: GPU Texture Decoding
2017-04-03 10:46:13 +02:00
Lioncash
f3ab0fc3f8
TASInputDlg: Use an enum for ID constants
...
These are all related constants (and it doesn't make sense to allow
taking the address of them).
2017-04-03 04:29:15 -04:00
Lioncash
9dd29895cd
TASInputDlg: Replace includes with forward declarations
2017-04-03 04:29:15 -04:00
Lioncash
2a968f02d7
TASInputDlg: Make constructor explicit
2017-04-03 04:29:14 -04:00
Lioncash
28395c6302
TASInputDlg: Simplify event queueing calls
...
wxQueueEvent/wxPostEvent are useful when the event is being dispatched
to another separate window, but aren't really necessary when the event
will be handled by the same window it's dispatched from.
GetEventHandler() is unnecessary here for the same reason. It's an event
intended to be handled by the dialog itself.
2017-04-03 04:29:14 -04:00
Lioncash
598a92426f
TASInputDlg: Get rid of unnecessary event casts
...
wxCommandEvent already stores the necessary data; the control object
itself doesn't need to be retrieved and casted.
2017-04-03 04:29:14 -04:00
Lioncash
2af5b64f32
TASInputDlg: Apply auto to UI control initializations where appropriate
...
As all UI controls are essentially constructed with new expressions, the
type is already visible on the right-hand side, so repeating the type
twice isn't necessary.
2017-04-03 04:29:11 -04:00
Lioncash
b809db52d1
TASInputDlg: Use std::array where applicable
2017-04-03 04:28:11 -04:00
Michael Maltese
f1dfa7933c
FrameTools: unbind KEY_DOWN handler when game stops
...
Fixes issue 10162: Cannot type window text fields in macOS builds[0]
[0]: https://bugs.dolphin-emu.org/issues/10162
2017-04-02 19:17:35 -07:00
Léo Lam
0dbad29bf4
IOS: Don't expose HLE::Reset()
...
This is an implementation detail that does not have to be exposed.
It was used in WII_IPC whenever the IPC gets reset, but that does not
make much sense to me: the only time when IOS loses state and the IPC
registers are set up again is when it's reloaded. And reloading IOS
already calls Reset() indirectly.
Also, an IPC reset from the PPC definitely should not close all opened
devices!
This also gets rid of a special case for clear_devices, which is now
completely unneeded.
2017-04-02 18:00:32 +02:00
Markus Wick
fd7f7c5541
Merge pull request #5159 from ligfx/arm64warnings
...
Arm64: a slew of warning fixes
2017-04-02 17:07:17 +02:00
Markus Wick
40cfa708a8
Merge pull request #5180 from lioncash/enum
...
CPU: Convert state enum to an enum class
2017-04-02 17:01:25 +02:00
Markus Wick
86e48fc1ca
Merge pull request #5194 from lioncash/dialog
...
Frame: Make TAS dialogs private
2017-04-02 16:53:31 +02:00
Léo Lam
64b1a4d308
IOS/IPC: Remove unneeded forward declaration
...
CoreTiming.h is already included.
2017-04-02 12:41:47 +02:00
Lioncash
05872336a9
ExpressionParser: Rename ParseStatus' Success member to Successful
...
This clashes with X11's preprocessor define named Success (because using
non-prefixed lowercase identifiers in C was apparently a fantastic idea
at some point), causing compilation errors.
2017-04-02 06:13:18 -04:00
Lioncash
c09f7bd84b
Frame: Convert TAS dialog C array to std::array
2017-04-02 04:11:58 -04:00
Lioncash
678905764a
Movie/Frame: Amend variable naming
...
Amends variable naming related to translation unit locals and TAS input
dialogs that were modified in the previous commit.
2017-04-02 04:11:58 -04:00
Lioncash
7f0203a5b0
Frame: Make TAS dialogs private
...
Amends the TAS callbacks to internally store functions using
std::function instead of raw function pointers. This allows binding
extra contextual state via lambda functions, as well as keeping the
dialogs internal to the main frame (on top of being a more flexible
interface).
2017-04-02 04:11:47 -04:00
Lioncash
5620f78b5c
Core: Amend VS filter tag
2017-04-02 00:30:26 -04:00
Jussi Virtanen
92ad1b9c4d
Use pointers inside ini loop to retain references to ini files
2017-04-01 17:52:25 +03:00
Stenzek
739aced97c
Vulkan: Implement compute-shader based GPU texture decoding
2017-04-01 12:32:57 +10:00
Stenzek
5fbc63fbcf
Vulkan: Compute shader support
2017-04-01 12:32:57 +10:00
Stenzek
02f887ede0
OGL: Add GPUTimer class for measuring execution time of a draw/dispatch
2017-04-01 12:32:57 +10:00
Stenzek
b01bcb80f4
OGL: Implement GPU texture decoding backend
2017-04-01 12:32:56 +10:00
Stenzek
79ba946d70
VideoCommon: Changes to TextureCache to support decoding in backend
2017-04-01 12:32:10 +10:00
Stenzek
6ffc16d1b0
VideoCommon: Add texture decoding shader generators
2017-04-01 12:32:10 +10:00
Stenzek
82fd984f3e
VideoBackends: Add configuration field for GPU texture decoding
2017-04-01 12:32:05 +10:00
Stenzek
abc662d69c
OGL: Support compute shaders and emitting GLSL 4.3
...
This also changes bSupportsEarlyFragmentTests to
bSupportsImageLoadStore, as it is used for both.
2017-04-01 12:31:41 +10:00
Stenzek
b987f220e1
VideoBackends: Add support flag for compute shaders
2017-04-01 12:31:41 +10:00
Stenzek
a8876a29fe
OGL: Use ARB_texture_storage to allocate TextureCache entries
...
This ensures that they are complete textures by decoding time, as when
using compute shaders we write directly to the destination texture.
2017-04-01 12:31:41 +10:00
Stenzek
c8cbbd831d
GLExtensions: Seperate GL_ARB_compute_shader from GL 4.3
...
Allows the usage of glDispatchCompute from GLES (requires GLES 3.1).
2017-04-01 12:31:40 +10:00
Stenzek
4e24bfd0ce
GLExtensions: Seperate GL_ARB_shader_image_load_store from GL 4.2
...
Allows the usage of glBindImageTexture and glMemoryBarrier from GLES
(requires GLES 3.1).
2017-04-01 12:31:40 +10:00
Stenzek
bd15d0352a
GLExtensions: Seperate GL_ARB_texture_storage from GL 4.2
...
This allows us to use glTexStorage on GL3.3 implementations that support
the extension.
2017-04-01 12:31:40 +10:00
Stenzek
f8059eae43
OGL: Fix render-target texture mipmap allocation
...
The loop was allocating one-too-many levels, as well as incorrect sizes
for each level. Probably not an issue as mipmapped render targets aren't
used, but the logic should be correct anyway.
2017-04-01 12:31:40 +10:00
Matthew Parlane
22fa199caf
Merge pull request #5190 from ligfx/removeao
...
Remove libao sound backend
2017-04-01 12:15:17 +13:00
Matthew Parlane
587ed3213c
Merge pull request #5189 from stenzek/gl-msaa
...
OGL: Fix MSAA being forced to 1x
2017-04-01 12:14:51 +13:00
Michael Maltese
af63235dc4
Remove libao sound backend
...
A single person uses it[0], and it sometimes messes up the Linux
buildbots ("ninja: error: 'ao', needed by 'Binaries/dolphin-emu', missing
and no known rule to make it").
[0]: https://analytics.dolphin-emu.org/stats/popular-audio-backends.txt
2017-03-31 14:59:57 -07:00
JosJuice
020618a427
Move DVDInterface's pure (stateless) math code to a new file
2017-03-31 17:27:23 +02:00
JosJuice
f106ba70d4
Move DVD code to a new directory
2017-03-31 17:27:23 +02:00
Stenzek
5326a18fdf
OGL: Fix MSAA being forced to 1x
...
This was a regression from the remove-everything-static-from-renderer
PR. As the comment indicates, it would be nice to move all of this logic
out of the Renderer constructor, but this is a much larger change.
2017-03-31 21:55:26 +10:00
Matthew Parlane
9b2c6e9a9a
Merge pull request #5186 from lioncash/frame
...
DolphinWX/Frame: Remove GetGameListCtrl()
2017-03-31 20:51:14 +13:00
Mat M
006381bb47
Merge pull request #5184 from leoetlino/dead-code
...
Common: Remove dead code in NandPaths
2017-03-31 00:21:49 -04:00
Mat M
6b198679bc
Merge pull request #5129 from ligfx/breakpointprintf
...
Breakpoints.cpp: fix format string warnings
2017-03-31 00:13:06 -04:00
Mat M
80a812322e
Merge pull request #5152 from ligfx/disciomaybeuninitialized
...
DiscIO: initialize out args to ReadSwapped (fixes warning)
2017-03-31 00:11:53 -04:00
Lioncash
6495becaf7
Frame: Remove GetGameListCtrl()
...
This is currently unused and shouldn't actually be a part of the frame's
public interface. The event system should be used instead to dispatch
messages to the game list control if necessary.
2017-03-30 16:05:20 -04:00
Léo Lam
e1020cb674
Common: Remove dead code in NandPaths
2017-03-30 18:48:50 +02:00
Matthew Parlane
de6c9404fc
Merge pull request #5182 from leoetlino/ios-enums
...
IOS: Move ES return codes
2017-03-30 14:57:03 +13:00
Matthew Parlane
595c1f5597
Merge pull request #5179 from lioncash/cast
...
Fifo: Remove unnecessary integral casts
2017-03-29 10:55:52 +13:00
Lioncash
497292cb1b
MainMenuBar: Amend MEGA signature help tooltip
...
Keeps it consistent with the regular signature DB option
2017-03-28 17:14:04 -04:00
Lioncash
5637bbd1cf
MEGASignatureDB: Remove unused variable in Apply
2017-03-28 16:19:19 -04:00
Lioncash
eec4b705d5
MEGASignatureDB: Move objects where applicable
...
Signatures during loading and strings during reference retrieval can be
moved.
2017-03-28 16:18:31 -04:00
Lioncash
c0171975ea
MEGASignatureDB: Move implementation details into the cpp file
...
These functions aren't dependent on any database state and can be hidden.
2017-03-28 15:43:21 -04:00
Anthony
fee2577e25
Merge pull request #5088 from sepalani/mega_signature
...
SignatureDB: Support for WiiTools MEGA files added
2017-03-28 12:28:21 -07:00
Sepalani
4cb84d06f0
SignatureDB: Support for WiiTools MEGA files added
2017-03-28 20:16:09 +01:00
Léo Lam
68cd8fc910
IOS: Move ES return codes
...
This keeps all of the return codes in the same place and exposed
publicly (as they are not internal to ES).
I have also added proper IOSC error codes and renamed some codes
for more consistency. (Unix ones have an E prefix, others do not.)
2017-03-28 20:02:26 +02:00
Anthony
bcb1729dc9
Merge pull request #5124 from leoetlino/more-accurate-import
...
IOS/ES: Handle imports more accurately
2017-03-28 09:20:28 -07:00
Anthony
cdd3ac023c
Merge pull request #5133 from leoetlino/ugh-windows
...
Fix issues introduced by cpp-optparse on Windows
2017-03-28 09:17:02 -07:00
Anthony
2c531889b2
Merge pull request #5139 from lioncash/bitfield
...
BitField: Minor cleanup
2017-03-28 09:15:37 -07:00
Lioncash
8d98ac6509
CPU: Convert state enum to an enum class
...
Gets enum constants out of the immediate namespace. Also makes it
strongly typed like the other state enums.
2017-03-28 11:48:28 -04:00
Lioncash
41fbc659bf
Fifo: Remove unnecessary integral casts
...
FIFO_SIZE is a u32, so %u can just be used instead.
2017-03-28 10:35:26 -04:00
Matthew Parlane
85d74a506f
Merge pull request #4951 from waddlesplash/haiku-2
...
Initial support for Haiku.
2017-03-28 17:19:35 +13:00
Augustin Cavalier
0831dad467
Initial support for Haiku.
2017-03-27 23:46:19 -04:00
Matthew Parlane
8c23888968
Merge pull request #5174 from lioncash/vi
...
VideoInterface: Minor changes
2017-03-28 16:15:59 +13:00
Matthew Parlane
94dd435336
Merge pull request #5176 from lioncash/retval
...
VertexLoader: Return debug strings by value
2017-03-28 15:38:32 +13:00
Matthew Parlane
3000cc7c05
Merge pull request #5175 from lioncash/fifo
...
Fifo: const correctness
2017-03-28 15:37:18 +13:00
Matthew Parlane
3eff869937
Merge pull request #5156 from sepalani/gen-sym
...
Generate Symbols From menu added
2017-03-28 15:36:33 +13:00
Sepalani
5b88782e30
Generate Symbols From menu added
2017-03-28 02:05:27 +01:00
Matthew Parlane
22256d1bd8
Merge pull request #5170 from leoetlino/bt-fix
...
libusb fixes (mostly for IOS)
2017-03-28 13:47:47 +13:00
Lioncash
9ebd84e54a
VertexLoaderManager: Return debug strings by value
...
This also renames AppendListToString to VertexLoadersToString.
2017-03-26 23:50:09 -04:00
Lioncash
9859533ab4
VertexLoaderBase: Return debug strings by value
...
An out parameter for this sort of thing is a C++03 hold-over. This also
renames AppendToString to ToString.
2017-03-26 23:49:59 -04:00
Lioncash
d44844ba29
XFStructs: Get rid of an unnecessary pointer cast
...
Also gets rid of implicit sign conversions.
2017-03-26 23:09:30 -04:00