Yuri Kunde Schlesner
f7b4f44adf
Merge pull request #1097 from yuriks/cfg-blocks
...
Service/CFG: Add additional blocks to default save data
2015-09-14 18:57:00 -03:00
Yuri Kunde Schlesner
bbf92a54e5
Service/CFG: Add default entry for block 0x000A0001 (birthday)
2015-09-14 17:39:52 -03:00
Yuri Kunde Schlesner
13a8e39813
Service/CFG: Correct flags in 2 default blocks
...
Verified against a 9.2.0-20 config save
2015-09-14 17:39:51 -03:00
Yuri Kunde Schlesner
f226365f55
CMake: Silence more MSVC "deprecation" warnings
2015-09-14 17:39:51 -03:00
Yuri Kunde Schlesner
d91f1c0624
Service/CFG: Add additional blocks to default save data
...
These blocks are required by various games to boot.
2015-09-14 17:39:50 -03:00
Yuri Kunde Schlesner
6c89d4ca26
Fix narrowing conversion warning
2015-09-14 17:39:50 -03:00
Yuri Kunde Schlesner
1fe72dcc04
Service/CFG: Move several private types from the header to the cpp
2015-09-14 17:39:49 -03:00
Yuri Kunde Schlesner
ac4f7b0fde
Service/CFG: Clean up default block creation
2015-09-14 17:39:48 -03:00
Yuri Kunde Schlesner
b3af7aad9e
Merge pull request #1123 from yuriks/gsp-flush
...
GSP: Implement command 0x05, used for flushing caches
2015-09-14 17:00:45 -03:00
Yuri Kunde Schlesner
1ed7f3e028
GSP: Implement command 0x05, used for flushing caches
...
May fix additional texture caching issues. (Though mostly in homebrew, I
haven't seen any commercial software use this to flush anything but
command lists.)
2015-09-14 16:19:05 -03:00
Yuri Kunde Schlesner
042cc00150
Merge pull request #1151 from lioncash/return
...
synchronized_wrapper: Add missing return in SynchronizedRef move assignment operator
2015-09-11 23:23:33 -03:00
Yuri Kunde Schlesner
5bca1e6adf
Merge pull request #1147 from lioncash/nullptr
...
General: Replace NULL and '0' usages with nullptr where applicable
2015-09-11 18:56:41 -03:00
Yuri Kunde Schlesner
5bf8eed96c
Merge pull request #1149 from lioncash/override
...
graphics_breakpoints_p: Add missing override specifier
2015-09-11 18:24:24 -03:00
Yuri Kunde Schlesner
48f9bef75d
Merge pull request #1142 from lioncash/hdrqt
...
citra_qt: Reorganize headers
2015-09-11 18:17:24 -03:00
Yuri Kunde Schlesner
ece0f050a9
Merge pull request #1143 from lioncash/vcore-hdr
...
video_core: Reorganize headers
2015-09-11 18:17:02 -03:00
Yuri Kunde Schlesner
506ab06238
Merge pull request #1141 from lioncash/hdr
...
video_core: Remove unnecessary includes from headers
2015-09-11 02:02:11 -03:00
Yuri Kunde Schlesner
abc34ddb88
Merge pull request #1130 from lioncash/block
...
memory: Get rid of pointer casts
2015-09-10 18:05:24 -03:00
Yuri Kunde Schlesner
248b2993e8
Merge pull request #1131 from lioncash/uninit
...
y2r: Give local variables an initial value
2015-09-10 01:21:58 -03:00
Yuri Kunde Schlesner
1f14332047
Merge pull request #1132 from lioncash/unimpl
...
disk_archive: Remove unimplemented constructor declarations
2015-09-10 01:20:54 -03:00
Yuri Kunde Schlesner
6cec330103
CMake: Make all cache options appear even in case of errors
...
The `option` commands have been moved to the top of the file, so that
the relevant options are registered in the CMake cache even if one of
the required libraries is not found. This solves an ergonomic problem
when using bundled libraries where you have to first download GLFW
before being able to select the option to also download Qt.
2015-09-08 20:16:34 -03:00
Yuri Kunde Schlesner
9e52aaa01d
CMake: Point binary downloads to new official repo
2015-09-08 19:35:15 -03:00
Yuri Kunde Schlesner
70d0d8890a
CMake: Remove support for QTDIR environment variable
...
Using this variable is problematic is the user has several versions of
Qt installed on their system. There is no way to know ahead of time if
the Qt version pointed to by QTDIR matches the toolchain that is being
targeted.
The Qt installation path can still be easily specified if it's not found
by CMake by setting the Qt5_DIR cache variable after the initial
configuration run, so this shouldn't present an usability issue.
2015-09-08 19:35:14 -03:00
Yuri Kunde Schlesner
fdb0f8203e
CMake: Don't complain when Boost isn't found in the system.
2015-09-08 19:35:13 -03:00
Yuri Kunde Schlesner
2eec2c156b
CMake: Use HINTS option instead of modifying CMAKE_PREFIX_PATH for Qt
2015-09-08 19:35:12 -03:00
Yuri Kunde Schlesner
078969bdd0
CMake: Add option to download Qt and GLFW binaries over HTTP
2015-09-08 19:35:12 -03:00
Yuri Kunde Schlesner
eb26a1941e
CMake: Fix architecture detection on MSVC
...
CMAKE_SYSTEM_ARCHICTETURE always returns the *host* not target arch
when using the MSVC generators. (CMake bugs 15170 and 14342.)
2015-09-08 19:35:11 -03:00
Yuri Kunde Schlesner
2aad510c84
Merge pull request #1125 from yuriks/uilayout-config
...
citra-qt: Separate UI layout state in a separate section of the config
2015-09-07 23:52:13 -03:00
Yuri Kunde Schlesner
623fbdd66f
Merge pull request #1124 from yuriks/trim-mru
...
citra-qt: Trim recently used files list to size when insterting new item
2015-09-07 23:51:58 -03:00
Yuri Kunde Schlesner
3244b2b79e
citra-qt: Separate UI layout state in a separate section of the config
...
Closes #1113
2015-09-07 22:11:21 -03:00
Yuri Kunde Schlesner
06b3891c66
citra-qt: Trim recently used files list to size when insterting new item
...
Even though they weren't visible in the UI, old entries would never be
removed from the list and would be stored in the config file across
sessions.
2015-09-07 22:00:08 -03:00
Yuri Kunde Schlesner
87a2fd8b3f
Merge pull request #1052 from yuriks/vertex-disasm
...
Shader Debugger Improvements
2015-09-07 16:54:45 -03:00
Yuri Kunde Schlesner
2011f9a042
Shader Debugger: Allow editing of input vertex data
2015-09-07 16:46:31 -03:00
Yuri Kunde Schlesner
2bdf9ede91
Shader Debugger: Highlight current instruction instead of focusing
...
This avoid some annoying focus stealing in some situations, and looks
nicer in general.
2015-09-07 16:46:31 -03:00
Yuri Kunde Schlesner
2c98275b51
Shader Debugger: Remove useless signal
2015-09-07 16:46:30 -03:00
Yuri Kunde Schlesner
f77dfb3966
Shader Debugger: Fix only first vertex attribute being loaded
2015-09-07 16:46:29 -03:00
Yuri Kunde Schlesner
c1beb2ce20
Shader Debugger: Fix freeze when double-clicking shader disassembly
2015-09-07 16:46:29 -03:00
Yuri Kunde Schlesner
2d195ba64e
Shader Debugger: Improve space efficiency of the layout
2015-09-07 16:46:28 -03:00
Yuri Kunde Schlesner
8540e02176
Shader Disassembly: Fix printing of jump offsets
2015-09-07 16:46:27 -03:00
Yuri Kunde Schlesner
3194f40e96
Shader Disassembly: Fix disassembly of IFU/CALLU instructions
2015-09-07 16:46:27 -03:00
Yuri Kunde Schlesner
bc3f57efd0
Shader Disassembly: Implement support for MAD/MADI
2015-09-07 16:46:26 -03:00
Yuri Kunde Schlesner
86d5461bcd
Shader Disassembly: Introduce variables to hold common subexpressions
2015-09-07 16:46:25 -03:00
Yuri Kunde Schlesner
ecbad494d9
Shader Debugger: Initialize input_vertex to prevent crashes
...
If the first type of breakpoint to be hit wasn't "Vertex Loaded", the
input_vertex would contain garbage, which would be passed to the shader
interpreter and ocasionally cause crashes.
2015-09-07 16:46:25 -03:00
Yuri Kunde Schlesner
9431ee330a
Shader Disassembly: Cleanup code and improve output alignment
2015-09-07 16:46:23 -03:00
Yuri Kunde Schlesner
f5a49df679
Merge pull request #1117 from yuriks/fix-glad-build
...
CMake: Add missing library required by Linux for compiling glad
2015-09-06 19:56:39 -03:00
Yuri Kunde Schlesner
d8311e8365
CMake: Add missing library required by Linux for compiling glad
2015-09-06 19:45:46 -03:00
Yuri Kunde Schlesner
b044c047c4
OpenGL: Use Sampler Objects to decouple sampler config from textures
...
Fixes #978
2015-09-03 15:09:51 -03:00
Yuri Kunde Schlesner
466e608c19
OpenGL: Remove ugly and endian-unsafe color pointer casts
2015-09-03 15:09:51 -03:00
Yuri Kunde Schlesner
ec28f037e6
OpenGL: Add support for Sampler Objects to state tracker
2015-09-03 15:09:50 -03:00
Yuri Kunde Schlesner
cd817be922
citra-qt: Move system shutdown to run inside EmuThread
...
This stops (for some reason sporadic) crashes and OpenGL errors during
shutdown, when the OpenGL renderer tries to clean up objects from the
UI thread, which has no OpenGL context active.
2015-09-03 15:09:50 -03:00
Yuri Kunde Schlesner
cc19a76656
Merge pull request #1087 from yuriks/opengl-glad
...
Replace the previous OpenGL loader with a glad-generated 3.3 one
2015-09-03 15:07:01 -03:00
Yuri Kunde Schlesner
37319fb17f
Only check src/ directory for whitespace errors in the pre-commit hook
...
This allows importing of external libraries into externals/ without
having to reformat them. Unfortunately it also allows whitespace to be
introduced in files like the root CMakeLists.txt, but that is a small
downside compared to the tradeoff.
2015-08-31 07:12:25 -03:00
Yuri Kunde Schlesner
68eb197494
Increase required OpenGL version to 3.3
...
This gives us several niceties such as Sampler Objects, shader attribute
locations and Timer Queries.
2015-08-30 08:45:57 -03:00
Yuri Kunde Schlesner
a1a5570e97
Replace the previous OpenGL loader with a glad-generated 3.3 one
...
The main advantage of switching to glad from glLoadGen is that, apart
from being actively maintained, it supports a customizable entrypoint
loader function, which makes it possible to also support OpenGL ES.
2015-08-30 08:45:56 -03:00
Yuri Kunde Schlesner
18c1c39d5e
SVC: Advance time when calling GetSystemTick to escape busy-wait loops
...
Cubic Ninja waited for the frame to end by spinning on a loop calling
GetSystemTick while doing nothing else. Since GetSystemTick doesn't
cause a reschedule (which advances time), this meant that very little
emulated time would pass inside that loop, causing the game to spend
most of the frame burning away CPU.
2015-08-30 00:07:02 -03:00
Yuri Kunde Schlesner
656d824b20
Common: Fix MicroProfile compilation in MSVC2015
2015-08-28 06:12:12 -03:00
Yuri Kunde Schlesner
bac1a6b140
Merge pull request #1080 from yuriks/linear-heap-base-typo
...
Kernel: Fix wrong linear heap base on titles using newer kernels
2015-08-27 20:09:43 -07:00
Yuri Kunde Schlesner
0ee3e2c25e
Kernel: Fix wrong linear heap base on titles using newer kernels
...
Typo which sneaked in through review on #1025
2015-08-27 23:52:40 -03:00
Yuri Kunde Schlesner
c5a4025b65
Merge pull request #1065 from yuriks/shader-fp
...
Shader FP compliance fixes
2015-08-27 16:34:13 -07:00
Yuri Kunde Schlesner
12390eb155
Kernel: Fix assertion failure when ControlMemory is called with size=0
2015-08-26 21:29:05 -03:00
Yuri Kunde Schlesner
687d973980
Core: Improve APT Shared Font hack
...
Should fix invalid read loops in some games
2015-08-26 21:28:58 -03:00
Yuri Kunde Schlesner
ac0104b8b0
Merge pull request #1048 from yuriks/microprofile
...
Integrate the MicroProfile profiling library
2015-08-24 18:30:11 -07:00
Yuri Kunde Schlesner
0fcabd2b11
Integrate the MicroProfile profiling library
...
This brings goodies such as a configurable user interface and
multi-threaded timeline view.
2015-08-24 22:16:28 -03:00
Yuri Kunde Schlesner
c7745408f7
citra-qt: Add helper function to get a monospace QFont
2015-08-24 22:16:28 -03:00
Yuri Kunde Schlesner
d6a5a00c24
Merge pull request #1064 from lioncash/matr
...
shader_jit: Replace two MDisp usages with MatR
2015-08-23 22:43:57 -07:00
Yuri Kunde Schlesner
eff10959de
fixup! Shaders: Fix multiplications between 0.0 and inf
2015-08-24 02:10:11 -03:00
Yuri Kunde Schlesner
d8ef20c856
Shader JIT: Tiny micro-optimization in DPH
2015-08-24 01:48:37 -03:00
Yuri Kunde Schlesner
630a850d4d
Shaders: Fix multiplications between 0.0 and inf
...
The PICA200 semantics for multiplication are so that when multiplying
inf by exactly 0.0, the result is 0.0, instead of NaN, as defined by
IEEE. This is relied upon by games.
Fixes #1024 (missing OoT interface items)
2015-08-24 01:48:15 -03:00
Yuri Kunde Schlesner
082b74fa24
Shaders: Explicitly conform to PICA semantics in MAX/MIN
2015-08-24 01:46:58 -03:00
Yuri Kunde Schlesner
76247170df
Shader JIT: Add name to second scratch register (XMM4)
2015-08-24 01:46:10 -03:00
Yuri Kunde Schlesner
455147ee95
Shader JIT: Fix CMP NaN behavior to match hardware
2015-08-24 01:29:40 -03:00
Yuri Kunde Schlesner
78735e2ada
Fix broken boot introduced by last-minute change in #1025
2015-08-22 18:12:23 -03:00
Yuri Kunde Schlesner
3efb205a68
Merge pull request #1025 from yuriks/heap-management
...
Kernel: Correct(er) handling of Heap and Linear Heap allocations
2015-08-22 14:01:57 -07:00
Yuri Kunde Schlesner
08325e51e5
Merge pull request #1045 from LittleWhite-tb/qt-recent-files
...
Improvements for MRU
2015-08-19 13:04:03 -07:00
Yuri Kunde Schlesner
a9fc659809
Merge pull request #996 from yuriks/texture-copy
...
GPU: Implement TextureCopy-mode display transfers
2015-08-18 20:52:40 -07:00
Yuri Kunde Schlesner
734f4b7041
Merge pull request #1043 from yuriks/boost-v1_59
...
Update boost external to v1.59.0
2015-08-16 17:32:09 -07:00
Yuri Kunde Schlesner
3007d0c651
Update boost external to v1.59.0
2015-08-16 21:20:48 -03:00
Yuri Kunde Schlesner
b3e64813f5
Merge pull request #1036 from LittleWhite-tb/fix-compilation-memset
...
Fix Linux GCC 4.9 build (complaining about undeclared memset)
2015-08-16 10:54:27 -07:00
Yuri Kunde Schlesner
0aa443a871
Merge pull request #1033 from bbarenblat/master
...
Handle `FileType::CIA` in `switch` statements
2015-08-15 22:40:29 -07:00
Yuri Kunde Schlesner
7d0c17d2ae
citra-qt: Give RG8 format a proper name in the texture viewer
2015-08-16 02:36:33 -03:00
Yuri Kunde Schlesner
9ae5a09655
GPU: Implement TextureCopy-mode display transfers
...
Fixes glitchy garbage in Fire Emblem 3D scenes.
2015-08-16 01:52:51 -03:00
Yuri Kunde Schlesner
840b85690b
Kernel: Remove unused legacy heap MapBlock_* functions
2015-08-16 01:03:49 -03:00
Yuri Kunde Schlesner
38bfbe1b2b
APT: Adjust shared font hack so it works with the new linear heap code
2015-08-16 01:03:48 -03:00
Yuri Kunde Schlesner
14eca982f4
Kernel: Implement svcGetProcessInfo in a basic way
...
This also adds some basic memory usage accounting. These two types are
used by Super Smash Bros. during startup.
2015-08-16 01:03:48 -03:00
Yuri Kunde Schlesner
74d4bc0af1
Kernel: Add more infrastructure to support different memory layouts
...
This adds some structures necessary to support multiple memory regions
in the future. It also adds support for different system memory types
and the new linear heap mapping at 0x30000000.
2015-08-16 01:03:47 -03:00
Yuri Kunde Schlesner
c39b52f974
HLE: Remove empty ConfigMem and SharedPage Shutdown functions
2015-08-16 01:03:47 -03:00
Yuri Kunde Schlesner
69c3021a8d
Move core/mem_map.{cpp,h} => core/hle/kernel/memory.{cpp,h}
2015-08-16 01:03:46 -03:00
Yuri Kunde Schlesner
e2c7954be5
Memory: Move address type conversion routines to memory.cpp/h
...
These helpers aren't really part of the kernel, and mem_map.cpp/h is
going to be moved there next.
2015-08-16 01:03:46 -03:00
Yuri Kunde Schlesner
a12a30c9e0
Process: Store kernel compatibility version during loading
2015-08-16 01:03:45 -03:00
Yuri Kunde Schlesner
cdeeecf080
Kernel: Properly implement ControlMemory FREE and COMMIT
2015-08-16 01:03:45 -03:00
Yuri Kunde Schlesner
ccab02c723
Memory: Move PAGE_MASK and PAGE_BITS to memory.h
2015-08-16 01:03:44 -03:00
Yuri Kunde Schlesner
306408d174
VMManager: Introduce names for used ResultCodes
2015-08-16 01:03:44 -03:00
Yuri Kunde Schlesner
b9a9ad9742
VMManager: Make LogLayout log level configurable as a parameter
2015-08-16 01:03:43 -03:00
Yuri Kunde Schlesner
785407d06f
VMManager: Change block offsets to size_t
2015-08-16 01:03:43 -03:00
Yuri Kunde Schlesner
2e5696dba4
Merge pull request #1031 from bbarenblat/master
...
Handle invalid `Log::Class`
2015-08-15 15:34:12 -07:00
Yuri Kunde Schlesner
254582aa35
OpenGL: Fix state tracking in situations with reused object handles
...
If an OpenGL object is created, bound to a binding using the state
tracker, and then destroyed, a newly created object can be assigned the
same numeric handle by OpenGL. However, even though it is a new object,
and thus needs to be bound to the binding again, the state tracker
compared the current and previous handles and concluded that no change
needed to be made, leading to failure to bind objects in certain cases.
This manifested as broken text in VVVVVV, which this commit fixes along
with similar texturing problems in other games.
2015-08-06 00:59:37 -03:00
Yuri Kunde Schlesner
ff68db61bc
OpenGL: Remove redundant texture.enable_2d field from OpenGLState
...
All uses of this field where it's false can just set the texture id to 0
instead.
2015-08-05 22:55:22 -03:00
Yuri Kunde Schlesner
a96502edd3
Videocore: Implement simple vertex caching
...
This gives a ~2/3 reduction in the amount of vertices that need to be
processed through the vertex loaders and the vertex shader, yielding a
good speedup.
2015-08-04 23:41:47 -03:00
Yuri Kunde Schlesner
48393d452c
Common: Work around bug in MSVC2015 standard library
...
The char16_t/char32_t implementations aren't present in the library and
cause linker errors. This is a known issue that wasn't fixed in VS2015
RTM.
2015-08-02 19:03:55 -03:00
Yuri Kunde Schlesner
1af1c5c37b
Merge pull request #999 from LittleWhite-tb/qt-save-location
...
Save the path leading where the last file have been loaded
2015-07-31 16:00:09 -07:00
Yuri Kunde Schlesner
ea1b04f5da
Merge pull request #1013 from lioncash/unused
...
dyncom: Remove an unused variable
2015-07-29 09:59:37 -07:00