Commit Graph
100 Commits
Author SHA1 Message Date
Yuri Kunde Schlesner 9dd3976f9f Merge pull request #1659 from JayFoxRox/apply-config
CitraQt: Apply config at startup
2016-04-11 07:52:48 -07:00
Yuri Kunde Schlesner ad664b4a01 Merge pull request #1657 from JayFoxRox/remove-dump-geometry
Pica: Remove geometry dumper (PICA_DUMP_GEOMETRY)
2016-04-10 19:24:47 -07:00
Yuri Kunde Schlesner e3905cdfd8 Merge pull request #1640 from lioncash/cpp14
CMakeFiles: Compile as C++14
2016-04-03 13:56:50 -07:00
Yuri Kunde Schlesner a950188c11 Merge pull request #1461 from yuriks/imm-mode2
Immediate-mode improvements
2016-03-23 20:27:37 -07:00
Yuri Kunde Schlesner 81004211dd Pica: Improve accuracy of immediate-mode support
This partially fixes Etrian Odyssey IV.
2016-03-23 20:18:40 -07:00
Yuri Kunde Schlesner 0c447e0a06 OpenGL: Don't attempt to draw empty triangle batches
Our code did not handle this well, causing random crashes in some
situations.
2016-03-23 20:02:05 -07:00
Yuri Kunde Schlesner de7ecee516 Merge pull request #1466 from LittleWhite-tb/gamelist-update-recent
Register ROM started through the gamelist in the list of ROM recently started
2016-03-16 23:42:24 -07:00
Yuri Kunde Schlesner 0c0fb463f0 Merge pull request #1537 from lioncash/const
core/video_core: Minor const-related changes
2016-03-16 21:40:06 -07:00
Yuri Kunde Schlesner e07f193aff Merge pull request #1510 from wwylele/fix_pad
hid: fix pad update
2016-03-13 10:04:52 -07:00
Yuri Kunde Schlesner f62935d278 Merge pull request #1496 from JayFoxRox/align-attribs
Align attribute components
2016-03-12 20:12:15 -08:00
Yuri Kunde Schlesner 7f8c99899b Merge pull request #1506 from lioncash/enum
svc: Minor enum changes
2016-03-12 19:46:05 -08:00
Yuri Kunde Schlesner 305e63d9ea Merge pull request #1475 from lioncash/align
Common: Get rid of alignment macros
2016-03-09 20:08:38 -08:00
Yuri Kunde Schlesner 3475808a54 Merge pull request #1478 from JayFoxRox/master
Fix attribute mapping in vs debugger
2016-03-09 20:06:49 -08:00
Yuri Kunde Schlesner 2d40891b45 Merge pull request #1463 from yuriks/non-app-region
Memory: Do correct Phys->Virt address translation for non-APP linheap
2016-03-05 22:16:27 -08:00
Yuri Kunde Schlesner 6aa90e13f9 Memory: Do correct Phys->Virt address translation for non-APP linheap 2016-03-05 22:09:59 -08:00
Yuri Kunde Schlesner c58bc25d5b Pica: Write depth value even when depth test is disabled
This has been confirmed on hardware. Fixes Etrian Odyssey IV.
2016-03-05 20:16:20 -08:00
Yuri Kunde Schlesner b8e9af943a Merge pull request #1454 from yuriks/log-program-id
Loader/NCCH: Log the program ID during loading
2016-03-05 13:08:13 -08:00
Yuri Kunde Schlesner 6dd05e610a core: Use unrestricted union to hold storage of ResultVal value 2016-03-05 00:13:20 -08:00
Yuri Kunde Schlesner b967a581a1 Loader/NCCH: Log the program ID during loading
This is useful for all sorts of things, but mainly to identify save
folders more easily.
2016-03-04 23:53:10 -08:00
Yuri Kunde Schlesner 1912c4691b Service/CFG: Fix potential endianess issue 2016-02-29 23:56:02 -08:00
Yuri Kunde Schlesner 228d8ac14a Service/CFG: Add block 0x000A0000 (username) to default config file 2016-02-29 23:55:48 -08:00
Yuri Kunde Schlesner 338a0f01f2 Service/CAM: Add doxycomments to all service functions 2016-02-29 22:53:36 -08:00
Yuri Kunde Schlesner ddcf2ef32a Merge pull request #1427 from MerryMage/emit-lbit
x64 Emitter: Fix L bit in VEX prefix
2016-02-28 03:12:57 -08:00
Yuri Kunde Schlesner fc6fa0f088 Service/CAM: Dummy implementation of some functions
Thanks to @mailwl for the initial version of the stubs.
2016-02-13 01:16:08 -08:00
Yuri Kunde Schlesner 7400100da7 Merge pull request #1392 from lioncash/move
backend: defaulted move constructor/assignment
2016-02-04 20:39:36 -08:00
Yuri Kunde Schlesner 05356543d9 OpenGL: Downgrade GL_DEBUG_SEVERITY_NOTIFICATION to Debug logging level
The nVidia driver is *extremely* spammy on this category, sending a
message on every buffer or texture upload, slowing down the emulator and
making the log useless.
2016-02-02 22:44:13 -08:00
Yuri Kunde Schlesner 8b3994e9e4 Merge pull request #1373 from lioncash/cast
elf: Don't cast away const
2016-01-25 00:41:32 -08:00
Yuri Kunde Schlesner cfaacc07dc Merge pull request #1372 from lioncash/tie
key_map: Use std::tie for comparisons
2016-01-24 22:38:37 -08:00
Yuri Kunde Schlesner c4cc099617 Merge pull request #1371 from lioncash/return
archive_backend: Remove unnecessary const from return types
2016-01-24 21:55:58 -08:00
Yuri Kunde Schlesner d01d1f7e01 Debugger: Use 3dbrew names for GPU registers
This list was imported from the 3dbrew wiki page and is pretty much
complete.
2016-01-24 20:29:44 -08:00
Yuri Kunde Schlesner 083d2d89a5 Shader: Implement "invert condition" feature of IFU instruction
If the bit 0 of the JMPU instruction is set, then the jump condition
will be inverted. That is, a jump will happen when the boolean is false
instead of when it is true.
2016-01-24 20:29:06 -08:00
Yuri Kunde Schlesner c1071c1ff7 Shader JIT: Fix off-by-one error when compiling JMPs
There was a mistake in the JMP code which meant that one instruction at
the destination would be skipped when the jump was taken. This commit
also changes the meaning of the culprit parameter to make it less
confusing and avoid similar mistakes in the future.
2016-01-24 02:15:56 -08:00
Yuri Kunde Schlesner 7b2d034769 Update README.md 2016-01-15 23:30:22 -08:00
Yuri Kunde Schlesner 9d12460901 Update CONTRIBUTING.md 2016-01-15 23:21:00 -08:00
Yuri Kunde Schlesner ed20141346 Merge pull request #1289 from yuriks/reset-rasterizer
VideoCore: Sync state after changing rasterizers
2015-12-20 18:01:59 -08:00
Yuri Kunde Schlesner 015d7b9779 VideoCore: Sync state after changing rasterizers
This fixes various bugs that appear in the HW rasterizer after switching
between it and the SW one during emulation.
2015-12-20 17:37:15 -08:00
Yuri Kunde Schlesner bbb96a392d Merge pull request #1281 from lioncash/compile
svc: Fix compilation with LOG_TRACE enabled
2015-12-13 12:53:30 -08:00
Yuri Kunde Schlesner 402692c08d Merge pull request #1267 from yuriks/flipped-framebuffer
OpenGL: Flip framebuffers during transfer rather than when rendering
2015-12-09 20:35:15 -08:00
Yuri Kunde Schlesner 31764c48fb Merge pull request #1272 from yuriks/merge-rasterizer
VideoCore: Unify interface to OpenGL and SW rasterizers
2015-12-07 20:21:06 -08:00
Yuri Kunde Schlesner 195fedccf0 VideoCore: Unify interface to OpenGL and SW rasterizers
This removes explicit checks sprinkled all over the codebase to instead
just have the SW rasterizer expose an implementation with no-ops for
most operations.
2015-12-07 20:20:38 -08:00
Yuri Kunde Schlesner 03835d04f4 VideoCore: Rename HWRasterizer methods to be less confusing 2015-12-06 19:08:37 -08:00
Yuri Kunde Schlesner da80ece8b9 OpenGL: Rename cache functions to better match what they actually do 2015-12-06 17:02:52 -08:00
Yuri Kunde Schlesner cf81e08389 OpenGL: Flip framebuffers during transfer rather than when rendering 2015-12-04 22:23:39 -08:00
Yuri Kunde Schlesner 95dbc6eb0e OpenGL: Add support for glFrontFace in the state tracker 2015-12-04 21:58:26 -08:00
Yuri Kunde Schlesner e9c209ccc8 PICA: Properly emulate 1-stage delay in the combiner buffer
This was discovered and verified by @fincs. The tev combiner buffer
actually lags behind by one stage, meaning stage 1 reads the initial
color, stage 2 reads stage 0's output, and so on.

Fixes character portraits in Fire Emblem: Awakening and world textures
in Zelda: ALBW. Closes #1140.
2015-11-30 22:45:18 -08:00
Yuri Kunde Schlesner bec9049597 Merge pull request #1257 from yuriks/svcGetSystemInfo
Kernel: Implement svcGetSystemInfo
2015-11-30 21:17:34 -08:00
Yuri Kunde Schlesner 84a22cb594 Kernel: Implement svcGetSystemInfo
This makes smealum/ctrulib@b96dd51d33 work
with Citra.
2015-11-30 19:49:44 -08:00
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