Commit Graph
100 Commits
Author SHA1 Message Date
Yuri Kunde Schlesner 429b9de9a2 Merge pull request #998 from LittleWhite-tb/qt-continue-menu
Update Start menu text to match with the real state of the emulator.
2015-07-28 13:25:33 -07:00
Yuri Kunde Schlesner ce2dd86f8f Merge pull request #1005 from chinhodado/patch-1
Settings: Fix saving wrong values for input configuration
2015-07-28 10:59:31 -07:00
Yuri Kunde Schlesner 12f78c2ba6 Enable linker optimizations in MSVC Release builds
Apparently /DEBUG implicitly disables linker optimizations. This
explicitly re-enables them, giving a 40% reduction in binary sizes and
a very slight runtime speed improvement.
2015-07-28 14:32:29 -03:00
Yuri Kunde Schlesner 1762267de4 OpenGL: Make OpenGL object resource wrappers fully inline
The functions are so simple that having them separate only bloats the
code and hinders optimization.
2015-07-26 10:58:58 -03:00
Yuri Kunde Schlesner e130dac7de Videocore: Don't reinitialize register name map on every query
This greatly speeds up the command list debug widget.
2015-07-26 10:10:10 -03:00
Yuri Kunde Schlesner a99fb226fe Merge pull request #995 from linkmauve/remove-dead-option
Remove dead gpu_refresh_rate option from the default ini file
2015-07-26 05:18:39 -07:00
Yuri Kunde Schlesner edc8b11e25 Merge pull request #994 from yuriks/vsh-interpreter-opt
Optimisations and cleanups in the shader interpreter
2015-07-26 04:56:51 -07:00
Yuri Kunde Schlesner 4909a1486e Videocore: Simplify variables in vertex shader interpreter
Simplifies the code and gives a tiny speed-up.
2015-07-26 08:49:35 -03:00
Yuri Kunde Schlesner 877d2a0e48 Videocore: Replace std::stack in shader interpreter with static_vector
Shaves off 1/3rd of the vertex shader time in Fire Emblem
2015-07-26 08:49:35 -03:00
Yuri Kunde Schlesner a25d1814d5 Update nihstro to latest master 2015-07-26 07:12:28 -03:00
Yuri Kunde Schlesner 13347997ba VideoCore: #ifdef out some debugging routines
Some disabled debugging functionality was being called from rendering
routines in VideoCore. Although disabled, many of them still allocated
memory or did some extra work that was enough to show up in a profiler.
Gives a slight (~2ms) speedup.
2015-07-26 06:55:47 -03:00
Yuri Kunde Schlesner 453764aefc Merge pull request #989 from lioncash/extern
armdefs: Remove unnecessary extern keywords
2015-07-25 15:40:23 -07:00
Yuri Kunde Schlesner 6e1659c9fd Merge pull request #988 from lioncash/else
loader: Remove unnecessary else usages
2015-07-25 15:19:38 -07:00
Yuri Kunde Schlesner 24d7c05c8d Merge pull request #888 from zawata/Warning-Fixes-2
Core\HLE : Fix Warning
2015-07-25 12:55:34 -07:00
Yuri Kunde Schlesner 00529c71d4 Address error that remained in last merge 2015-07-25 16:54:51 -03:00
Yuri Kunde Schlesner 9a0f9f12cd Merge pull request #892 from zawata/another-warning-fixes
Yet More Warning Fixes
2015-07-25 12:50:32 -07:00
Yuri Kunde Schlesner 43e1f56ff5 Merge pull request #981 from Subv/checkboxes
Qt/GPU Breakpoints: Changed the widget to have a checkbox next to each bp type
2015-07-25 12:00:10 -07:00
Yuri Kunde Schlesner a989522384 Merge pull request #983 from yuriks/null-memory-fill
GSP: Don't try to write memory fill registers if start address is 0
2015-07-23 17:31:38 -07:00
Yuri Kunde Schlesner 3b61dd97e0 GSP: Don't try to write memory fill registers if start address is 0
Verified to be what GSP does via REing. Fixes invalid virt->phys
translation error spam in some games.
2015-07-23 21:20:01 -03:00
Yuri Kunde Schlesner e5c4fe0098 GL Renderer: Remove erroneous glEnable(GL_TEXTURE_2D) calls
In OpenGL 3, texturing is always enabled, and this call is invalid.
While it produced no effect in the rest of the execution, it wouldn't
have the intended effect of disabling texturing for that unit. Instead
bind a null texture to the unit.
2015-07-22 01:22:09 -03:00
Yuri Kunde Schlesner a48aa4f924 Resolve issue accidentally left unaddressed in PR #930 2015-07-21 06:48:30 -03:00
Yuri Kunde Schlesner 8833852acd Merge pull request #930 from neobrain/copypaste_commandlist
citra-qt: Add support for copying the command list contents to clipboard.
2015-07-20 21:44:57 -07:00
Yuri Kunde Schlesner ae985bf500 Pica: Correct switched S/T texture wrapping registers
This was found and hwtested by Lectem
2015-07-19 19:27:23 -03:00
Yuri Kunde Schlesner 5a75cf8fd2 Pica: Fix DP3 instruction, which wasn't assigning to the w component 2015-07-19 19:01:59 -03:00
Yuri Kunde Schlesner 618434d7fc Merge pull request #947 from archshift/hex-log
Change trace/unimplemented service call logs to use hex
2015-07-19 14:32:39 -07:00
Yuri Kunde Schlesner 71be5853e0 Merge pull request #941 from citra-emu/armv6-thumb-mov
Dyncom: Support for a new ARMv6 Thumb MOV encoding
2015-07-18 12:49:02 -07:00
Yuri Kunde Schlesner 13286903e6 Dyncom: Support for a missing ARMv6 Thumb MOV encoding 2015-07-18 03:41:49 -03:00
Yuri Kunde Schlesner 41513cfb0c Merge pull request #938 from Subv/querymem
Kernel/SVC: Implemented svcQueryMemory.
2015-07-17 12:33:26 -07:00
Yuri Kunde Schlesner dc39d06950 Ensure all kernel objects are released during shutdown
This commit fixes several kernel object leaks. The most severe of them
was threads not being removed from the private handle table used for
CoreTiming events. This resulted in Threads never being released, which
in turn held references to Process, causing CodeSets to never be freed
when loading other applications.
2015-07-17 02:24:13 -03:00
Yuri Kunde Schlesner 8932b23dcc Merge pull request #935 from lioncash/smlaw
arm_dyncom_interpreter: Simplify assignment in SMLAW
2015-07-16 19:15:33 -07:00
Yuri Kunde Schlesner 078bf29d1d Remove webchat link from readme
Hopefully this should reduce the amount of drive-by spam and annoying support requests in the channel.
2015-07-16 20:11:31 -03:00
Yuri Kunde Schlesner 04cb7ae601 Merge pull request #767 from Lectem/DOT3_RGB 2015-07-14 02:17:06 -03:00
Yuri Kunde Schlesner 62c2a262b2 Loader: Fix variable type and remove unused variable 2015-07-13 21:10:13 -03:00
Yuri Kunde Schlesner a1f08788d9 Archive: Correct a few incorrect types in function signatures
Buffer lengths should be size_t, and file offsets should be u64.
2015-07-13 21:10:12 -03:00
Yuri Kunde Schlesner 2d7299a86f Loader: Remove unnecessary pointer indirection to IOFile 2015-07-13 20:00:56 -03:00
Yuri Kunde Schlesner 5161699452 getopt: Fix macro redefinition warning
We already define _CRT_SECURE_NO_WARNINGS
2015-07-13 19:47:08 -03:00
Yuri Kunde Schlesner 1bf030f4af getopt: Fix compilation settings
INTERFACE doesn't define the symbol when compiling the library itself.
PUBLIC should be used when the definition is needed both by the library
and by the users.
2015-07-13 19:47:04 -03:00
Yuri Kunde Schlesner 1fc0347d27 Merge pull request #924 from aroulin/qt-disassembly-step
Qt: Fix disassembly widget stepping
2015-07-13 14:16:36 -07:00
Yuri Kunde Schlesner c4e11519af Merge pull request #859 from Apology11/master
build with visual studio 2015
2015-07-12 15:02:11 -07:00
Yuri Kunde Schlesner d4f35fd989 Kernel: Add CodeSet case to Object::IsWaitable 2015-07-12 18:15:16 -03:00
Yuri Kunde Schlesner 4e900d56f3 Merge pull request #912 from yuriks/process-loading
Core: Properly configure address space during binary loading
2015-07-11 20:07:49 -07:00
Yuri Kunde Schlesner 5c5cf2f8e0 Core: Properly configure address space when loading a binary
The code now properly configures the process image to match the loaded
binary segments (code, rodata, data) instead of just blindly allocating
a large chunk of dummy memory.
2015-07-11 23:54:42 -03:00
Yuri Kunde Schlesner 51820691e7 Memory: Fix unmapping of pages 2015-07-11 23:49:53 -03:00
Yuri Kunde Schlesner 34f5f77507 Loader: Clean up 3dsx loader a bit, fixing a potential buffer overrun 2015-07-11 23:49:52 -03:00
Yuri Kunde Schlesner fdbf410bd7 Loader: Make 3dsx loader logs a bit less confusing 2015-07-11 23:49:52 -03:00
Yuri Kunde Schlesner d9556912b4 Kernel: Remove unused member from Event 2015-07-11 23:49:51 -03:00
Yuri Kunde Schlesner b0d72e3de1 Merge pull request #914 from yuriks/bitfield-mask
Common: Fix mask generation in BitField
2015-07-11 19:01:57 -07:00
Yuri Kunde Schlesner d4f19736a6 Update style rules with to better match current practice. 2015-07-11 19:59:50 -03:00
Yuri Kunde Schlesner 8968c1dfec Merge pull request #916 from lioncash/unused
Common: Remove thunk.h
2015-07-10 17:13:31 -07:00
Yuri Kunde Schlesner 867c28ae03 Merge pull request #876 from linkmauve/include-cleanups
Cleanup includes, mostly in common
2015-07-10 16:36:12 -07:00
Yuri Kunde Schlesner 6fc605a196 Travis: Replace before_install with install 2015-07-10 20:24:19 -03:00
Yuri Kunde Schlesner a60f2a93d2 Travis: Update GLFW on Linux to 3.1.1 2015-07-10 20:11:09 -03:00
Yuri Kunde Schlesner 73b6a715ee Travis: Remove use of sudo to enable use container-based builds 2015-07-10 20:00:59 -03:00
Yuri Kunde Schlesner d5b5280501 Common: Remove redundant masking in BitField
For the signed case, the shifts already remove the rest of the value, so
ANDing by the mask is redundant.
2015-07-10 18:43:41 -03:00
Yuri Kunde Schlesner d7f9529bdd Common: Fix mask generation in BitField
Fixes #913
2015-07-10 18:43:40 -03:00
Yuri Kunde Schlesner a24a0fbd8a CMake: Fix Debug build configuration in MSVC
Debug was missing compiler flags, causing MSVC to default it to building
with optimizations enabled (making for a not very useful binary for
actual debugging...). Additionally, the variables were re-organized to
remove some redundancy, the old Release build type was removed, and
RelWithDebInfo was renamed to take its place instead.
2015-07-09 16:10:08 -03:00
Yuri Kunde Schlesner ac7bc214ab Merge pull request #906 from aroulin/loader-format-specifier-warning
Loader: Fix format specifier warning
2015-07-07 15:10:00 -07:00
Yuri Kunde Schlesner eaaf951de6 AppVeyor: Remove submodule checkout depth
This avoid intermittent build failures due to a commit not being
reachable using a fixed depth, at the expense of longer checkout times.
2015-07-07 16:22:26 -03:00
Yuri Kunde Schlesner fb66b0677b Merge pull request #897 from lioncash/return
vfp: Change return type of VFPInit from unsigned int to void.
2015-06-29 12:17:16 -07:00
Yuri Kunde Schlesner 19d5fbce8e Merge pull request #894 from linkmauve/no-union-types
Remove unused type unions breaking aliasing rules in horrible ways
2015-06-28 13:21:02 -07:00
Yuri Kunde Schlesner 176aded020 Merge pull request #884 from chinhodado/patch-1
AppVeyor: Remove os: unstable
2015-06-24 22:07:50 -07:00
Yuri Kunde Schlesner 76dfafc906 Merge pull request #877 from yuriks/ipc-headers
Add helpers to create IPC command buffer headers and descriptors
2015-06-23 12:40:32 -07:00
Yuri Kunde Schlesner 81488d7a6a Add helpers to create IPC command buffer headers and descriptors 2015-06-22 19:24:19 -03:00
Yuri Kunde Schlesner a9fd93347d Display line numbers in CI whitespace check 2015-06-21 23:21:30 -03:00
Yuri Kunde Schlesner dc09a2ecb5 Merge pull request #860 from yuriks/y2r-color
Color support for Y2R
2015-06-21 17:22:34 -07:00
Yuri Kunde Schlesner 3e6663da43 Y2R: Rework conversion process, enabling support for all formats 2015-06-21 20:58:55 -03:00
Yuri Kunde Schlesner 772ef097ea Merge pull request #839 from Lectem/whitespacepolicy
Enforce the "no tab, use spaces" policy with a pre-commit hook.
2015-06-21 14:21:02 -07:00
Yuri Kunde Schlesner 29d2b70ea4 Y2R: Re-organize how params are stored. Support SetConversionParams 2015-06-20 19:21:16 -03:00
Yuri Kunde Schlesner 9b7d85a4f5 video_core: add extra braces around initializer
Trivial change and fixes several warnings in the clang build.
2015-06-14 00:33:08 -03:00
Yuri Kunde Schlesner bd5c943c65 Merge pull request #843 from chinhodado/patch-2
Use correct style name: PascalCase instead of CamelCase
2015-06-13 13:43:42 -07:00
Yuri Kunde Schlesner 8a04c65e20 Merge pull request #810 from yuriks/memmap
Kernel: Add VMManager to manage process address spaces
2015-05-29 18:00:17 -07:00
Yuri Kunde Schlesner d65b42a69a Remove gpu_refresh_rate configuration option
Changing it makes emulation inherently inaccurate. It also had a wrong
default value (30, whereas the real system has a refresh rate of 60 Hz)
which, even if changed, would continue to be used unless people manually
removed it from their config files.
2015-05-29 19:39:26 -03:00
Yuri Kunde Schlesner a489a84656 Merge pull request #818 from linkmauve/no-trailing-whitespace
Ban trailing whitespace from the entire project, forever
2015-05-29 15:09:26 -07:00
Yuri Kunde Schlesner fb597b6d68 Merge pull request #817 from linkmauve/citra.ico
Move src/assets/citra.ico and doc-icon.png to dist
2015-05-29 13:56:58 -07:00
Yuri Kunde Schlesner 3c47522e67 Merge pull request #828 from lioncash/seq
hid: Get rid of undefined behavior
2015-05-27 11:50:57 -07:00
Yuri Kunde Schlesner 88365a23e7 Memmap: Remove unused global pointers to memory areas 2015-05-27 03:24:12 -03:00
Yuri Kunde Schlesner 0a60aa75c2 Kernel: Add VMManager to manage process address spaces
This enables more dynamic management of the process address space,
compared to just directly configuring the page table for major areas.

This will serve as the foundation upon which the rest of the Kernel
memory management functions will be built.
2015-05-27 03:24:12 -03:00
Yuri Kunde Schlesner ad883db7a9 Merge pull request #826 from lioncash/tables
arm_dyncom_thumb: Merge STR/LDR table subsets.
2015-05-26 22:05:13 -07:00
Yuri Kunde Schlesner 33c57361a9 Update bundled GLFW to 3.1.1
It may be necessary to fix the CMake paths manually for an exsting CMake
cache after this change.
2015-05-25 00:42:21 -03:00
Yuri Kunde Schlesner c9244a03c7 Qt: Silence a bogus warning printed when using the debug runtime
The Qt debug runtime prints a bogus warning on the console if you
haven't called makeCurrent since the last time you called swapBuffers.
This presumably means something if you're using QGLWidget the "regular"
way, but in our multi-threaded use case is harmless since we never call
doneCurrent in the rendering thread.
2015-05-23 02:27:27 -03:00
Yuri Kunde Schlesner 4c207798b4 Merge pull request #803 from lioncash/typo
gl_state: Fix a condition typo in Apply
2015-05-22 16:54:06 -07:00
Yuri Kunde Schlesner eca2b71fa8 Merge pull request #798 from yuriks/y2r-bw
Service::Y2R: Support for grayscale decoding of specific formats
2015-05-22 14:06:20 -07:00
Yuri Kunde Schlesner 9108482888 Service::Y2R: Support for grayscale decoding of specific formats
Implements unrotated planar YUV 4:2:0 -> RGB24 conversions in Y2R.
Currently only the Y (luma) channel is used, so the results don't
contain color. This will be added in a later PR at some point.

This is enough to get all currently know Moflex videos to decode. (Some
don't display on-screen due to seemingly unrelated reasons.)

Thanks to @archshift for doing the initial implementation which I
cleaned up and then fixed the 8x8 block mode.
2015-05-22 17:57:21 -03:00
Yuri Kunde Schlesner bf5e1d08bc Merge pull request #794 from linkmauve/resource-limit
ResourceLimit handles shouldn’t be waitable
2015-05-21 12:10:41 -07:00
Yuri Kunde Schlesner 1b7596e779 Merge pull request #792 from bunnei/fix-zalbw
Thread reschedule and MOFLEX fixes
2015-05-20 17:51:34 -07:00
Yuri Kunde Schlesner ba2fe7f795 Merge pull request #758 from yuriks/sync-logging
Common: Remove async logging
2015-05-15 20:54:48 -07:00
Yuri Kunde Schlesner 7dbc27ff57 Remove unused concurrent_ring_buffer.h 2015-05-15 23:57:53 -03:00
Yuri Kunde Schlesner 12f6216741 Merge pull request #774 from lioncash/decodings
dyncom: Add ARMv6K NOP and hint instructions to the interpreter.
2015-05-15 11:36:20 -07:00
Yuri Kunde Schlesner a188e0fa57 Merge pull request #675 from jroweboy/windows-build-fixes
Windows build fixes
2015-05-14 20:55:58 -07:00
Yuri Kunde Schlesner bb68933894 Merge pull request #762 from yuriks/memmap
Memory: Use a table based lookup scheme to read from memory regions
2015-05-14 20:40:53 -07:00
Yuri Kunde Schlesner dd4430609a Memory: Use a table based lookup scheme to read from memory regions 2015-05-15 00:04:43 -03:00
Yuri Kunde Schlesner 52158c1b8d Memory: Read SharedPage directly from Memory::Read 2015-05-15 00:04:41 -03:00
Yuri Kunde Schlesner ec514b16a6 Memory: Read ConfigMem directly from Memory::Read 2015-05-15 00:04:39 -03:00
Yuri Kunde Schlesner 7ada357b2d Memmap: Re-organize memory function in two files
memory.cpp/h contains definitions related to acessing memory and
configuring the address space
mem_map.cpp/h contains higher-level definitions related to configuring
the address space accoording to the kernel and allocating memory.
2015-05-15 00:04:38 -03:00
Yuri Kunde Schlesner a251721bf3 Memmap: Remove unused declarations 2015-05-15 00:04:38 -03:00
Yuri Kunde Schlesner 9d8e1f7a92 Merge pull request #760 from yuriks/gpu-profile
GPU: add more fine grained profiling for vertex shader and rasterization
2015-05-12 13:47:35 -07:00
Yuri Kunde Schlesner def5913d19 GPU: Add more fine grained profiling for vertex shader and rasterization 2015-05-12 15:59:52 -03:00
Yuri Kunde Schlesner c8eae338a8 Common: Use the log system to print assert messages 2015-05-12 02:52:31 -03:00
Yuri Kunde Schlesner b88c91dd3d Common: Remove async logging
It provided a large increase in complexity of the logging system while
having a negligible performance impact: the usage patterns of the ring
buffer meant that each log contended with the logging thread, causing
it to effectively act as a synchronous extra buffering.

Also removed some broken code related to filtering of subclasses which
was broken since it was introduced. (Which means no one ever used that
feature anyway, since, 8 months later, no one ever complained.)
2015-05-12 02:31:04 -03:00
Yuri Kunde Schlesner 4f7a055081 Thread: Remove the idle thread
Instead just use nullptr to represent no thread is active.
2015-05-11 22:39:39 -03:00