Commit Graph

302 Commits

Author SHA1 Message Date
Tony Wasserka 29abb11e8f CiTrace: Clean up initialization method. 2015-07-13 22:27:21 +02:00
Tony Wasserka dc8295298e CiTrace: Record LCD registers. Cleanup recording code. 2015-07-13 22:27:21 +02:00
Tony Wasserka fd62580985 CiTrace: Record default vertex attributes. 2015-07-13 22:27:21 +02:00
Tony Wasserka 01a526e1c4 citra-qt: Properly disable the CiTrace widget upon starting/stopping emulation. 2015-07-13 22:27:21 +02:00
Tony Wasserka 902fa4da52 Add CiTrace recording support.
This is exposed in the GUI as a new "CiTrace Recording" widget.

Playback is implemented by a standalone 3DS homebrew application (which only runs reliably within Citra currently; on an actual 3DS it will often crash still).
2015-07-13 22:27:20 +02:00
aroulin 7ccce98389 Qt: Fix disassembly widget stepping 2015-07-13 17:27:12 +02:00
Tony Wasserka e110e656b9 Merge pull request #910 from linkmauve/install
Tell CMake to install the compiled binaries on Linux.
2015-07-12 03:25:53 +02:00
Emmanuel Gil Peyrot 7c51bc44aa Citra, CitraQt: Tell cmake to install the compiled binaries.
This will help packaging tremendously, as a `make DESTDIR=… install` will now
put every file at their place (on Linux and related).
2015-07-09 20:19:02 +01:00
Emmanuel Gil Peyrot 45c4781544 CitraQt: Cleanup includes. 2015-06-28 00:36:54 +01:00
Emmanuel Gil Peyrot ce0cfd62d9 Common: Remove now-unused EMU_PLATFORM define, fixes issue #373. 2015-06-27 14:43:57 +01:00
Greg Wicks e93056ae77 Make the call stack entries not editable 2015-06-19 11:22:20 -04:00
Clienthax 8515b23bec Robocopy doesn't like trailing slashes 2015-06-09 18:38:00 +01:00
archshift 0414ad20cb Merge pull request #811 from archshift/commonify
Commonify video_core utility headers
2015-05-31 09:55:29 -07:00
bunnei 833936fc64 Merge pull request #832 from yuriks/refresh-rate-option
Remove gpu_refresh_rate configuration option
2015-05-31 04:48:20 -04:00
archshift 76690392bf Move video_core/color.h to common/color.h 2015-05-30 11:17:37 -07:00
archshift 5df2d1b5f7 Move video_core/math.h to common/vector_math.h
The file only contained vector manipulation code, and such widely-useable code doesn't belong in video_core.
2015-05-30 11:17:36 -07:00
bunnei 595fe49a8f Merge pull request #830 from SeannyM/qt-noborder
QT: Remove border around widgets
2015-05-30 12:04:36 -04: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
Emmanuel Gil Peyrot b1503b2020 Remove every trailing whitespace from the project (but externals). 2015-05-29 21:59:29 +01:00
Sean Maas cd99944b1d QT: Remove border around widgets 2015-05-29 12:56:02 -04:00
Emmanuel Gil Peyrot 87d9df89bb Assets: Move citra.ico from src/assets to dist. 2015-05-25 19:00:43 +02: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
bunnei 1b42d55a9d Pica: Create 'State' structure and move state memory there. 2015-05-22 22:59:42 -04:00
tfarley 16fbba3c2a MakeCurrent race condition fix 2015-05-22 15:51:33 -07:00
tfarley 05dc633a8c OpenGL renderer 2015-05-22 15:51:18 -07:00
tfarley 6d995b1ff6 INI hw/sw renderer toggle 2015-05-22 14:37:55 -07:00
James Rowe a406207cd8 Use condition var to properly pause the CPU thread
Adds support for threaded pausing so citra doesn't spin wait on pause
2015-05-18 08:15:57 -06: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 a188e0fa57 Merge pull request #675 from jroweboy/windows-build-fixes
Windows build fixes
2015-05-14 20:55:58 -07: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
bunnei c3bd797917 Qt: Shutdown emulation session only if EmuThread exists. 2015-05-12 23:14:24 -04: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 17a8cae003 Memory: Add GetPhysicalPointer helper function 2015-05-09 04:02:32 -03:00
Yuri Kunde Schlesner 28a9e4c1d5 Memory: Support more regions in the VAddr-PAddr translation functions
Also adds better documentation and removes the one-off reimplementation
of the function in pica.h.
2015-05-09 03:08:11 -03:00
Yuri Kunde Schlesner eb3eb9f75d Loader: Remove .bin file support
It is of very limited practical utility currently, and will soon be
impossible to support due to more accurate memory map emulation.
2015-05-08 23:09:41 -03:00
Yuri Kunde Schlesner e1fbac3ca1 Common: Remove common.h 2015-05-07 15:45:22 -03:00
Yuri Kunde Schlesner bf12f270b3 Common: Remove many unnecessary cross-platform compatibility macros 2015-05-06 23:50:08 -03:00
Tony Wasserka 7859b145cf Merge pull request #698 from Zaneo/clip_stylus_input
EmuWindow: Clip mouse input coordinates to emulated screen dimensions.
2015-05-02 19:15:03 +02:00
Zaneo b8328593fe EmuWindow: Clip mouse input coordinates to emulated screen dimensions.
If the mouse position for a mouse move/drag would take it outside the emulated screen dimensions, clip the coordinates to
the emulated screen dimensions.
Qt and GLFW will report negative coordinates for mouse positions to the left, or above citra window. Added restriction
to mouse coordinates passed to touchmoved by Qt/GLFW to be greater or equal to zero.
2015-05-01 23:52:33 -04:00
bunnei 046dd6e3ef Qt: Shutdown game on emulator close event. 2015-05-01 18:35:56 -04:00
bunnei 85cc81d8cc Qt: Disable "Start" unless we are paused (it otherwise has no meaning and causes a crash). 2015-05-01 18:35:55 -04:00
bunnei bc41de2131 Qt: Fixed a bug in shutdown procedure, various cleanups. 2015-05-01 18:35:51 -04:00
bunnei ad4445c529 Qt: Clear registers widget on shutdown. 2015-05-01 18:34:49 -04:00
bunnei 43cf424907 Qt: Use signals for emu_thread start/stop and fix disasm widget. 2015-05-01 18:34:42 -04:00
bunnei e4ea133717 Qt: Restructured to remove unnecessary shutdown event and various cleanups. 2015-05-01 18:27:07 -04:00
bunnei 3dd2688785 Qt: Fix loading a new game without stopping emulation. 2015-05-01 18:27:06 -04:00
bunnei 28df8dbfeb Qt: Create emu thread on bootup, kill it on shutdown. 2015-05-01 18:27:00 -04:00
bunnei d5665fea89 EmuThread: Remove unused filename attribute. 2015-05-01 18:26:59 -04:00
bunnei 762c1a9ff5 Qt: Move EmuThread ownership from render window to main window. 2015-05-01 18:26:58 -04:00
bunnei 5e55a525d8 Merge pull request #691 from rohit-n/sign-compare
Silence some -Wsign-compare warnings.
2015-04-17 20:22:03 -04:00
Emmanuel Gil Peyrot d9eb7ca95c citra-qt: Use std::abs() to get the right absolute function for s64. 2015-04-14 21:18:35 +02:00
Emmanuel Gil Peyrot bdcf28e3bc Headers: Add some forgotten overrides, thanks clang! 2015-04-14 21:18:25 +02:00
Rohit Nirmal f15c142c5e Silence some -Wsign-compare warnings. 2015-04-09 18:55:01 -05:00
archshift cae89fb315 Allow the user to set the background clear color during emulation
The background color can be seen at the sides of the bottom screen or when the window is wider than normal.
2015-04-03 15:35:51 -07:00
bunnei d95d6e3ecd Merge pull request #678 from lioncash/disasm
callstack: Remove unnecessary disassembler instantiation
2015-03-31 22:33:23 -04:00
Lioncash e05d6220f5 disassembler: Get rid of a const_cast 2015-03-30 15:37:34 -04:00
Lioncash 0520a3b178 callstack: Remove unnecessary disassembler instantiation
Decode is a static function. There's no need to allocate a disassembler instance.
2015-03-30 11:25:02 -04:00
James Rowe 635ed87788 unsetting a few more variables that arent needed outside of this function 2015-03-26 04:11:05 -06:00
James Rowe 5b9a5493c5 Updated the copy commands to run on post_build and use generator expressions to simplify the code as well 2015-03-26 04:04:24 -06:00
James Rowe 2d7008f03c Changes to bring the previous commits in line with the comments on thepull request. Made the debug build a true debug build with no optimizxations and the RelWithDebInfo is what it says it is too. Changed the copying of the dlls to the build directories to happen at configuration time instead of build time 2015-03-26 04:04:23 -06:00
James Rowe 4a7e21eb58 More changes to the CMakeFiles for better MSVC compatibility. Added in the RelWithDebInfo target and setup copying the Qt 5 Dlls to the output directories. 2015-03-26 04:04:22 -06:00
bunnei d61b26b79f HID: Complete refactor of pad/touch input to fix threading issues. 2015-03-10 23:58:07 -04:00
bunnei f213000cc4 Qt: Implemented EmuWindow touchpad support. 2015-03-10 18:05:18 -04:00
bunnei ec5bc54575 Merge pull request #643 from Subv/dem_feels
GPU: Implemented more depth buffer formats.
2015-03-09 22:06:30 -04:00
Subv 1248e291f0 GPU: Added the stencil test structure to the Pica Regs struct. 2015-03-09 20:13:21 -05:00
Subv 155cc80e3b Frontend/Qt: Allow the framebuffer widget to inspect the depth buffer 2015-03-09 20:13:15 -05:00
bunnei 3da94a597b Merge pull request #634 from linkmauve/logging-performances
Apply the logging filter before sending the message to the queue
2015-03-09 15:42:18 -04:00
archshift 7d43aef4d0 Update nihstro submodule to the initial release version.
Includes more opcodes to implement in the future.
2015-03-08 13:52:38 -07:00
archshift c036cf604f Build app bundles on OS X. Fixes the issue where the menubar would not appear. 2015-03-07 16:09:00 -08:00
bunnei 06bf471581 Merge pull request #636 from bunnei/refactor-screen-win
Set framebuffer layout from EmuWindow.
2015-03-07 18:18:40 -05:00
bunnei 9960c49c21 Set framebuffer layout from EmuWindow. 2015-03-07 17:21:19 -05:00
Tony Wasserka 93e32bce72 Merge pull request #538 from yuriks/perf-stat
Add profiling infrastructure and widget
2015-03-07 15:30:40 +01:00
Emmanuel Gil Peyrot 0aa44e238d Logging: check for filter before sending to the queue, to skip all heavy formatting on the other thread. 2015-03-06 19:23:52 +01:00
bunnei 34c31db14a GPU: Added RGB565/RGB8 framebuffer support and various cleanups.
- Centralizes color format encode/decode functions.
- Fixes endianness issues.
- Implements remaining framebuffer formats in the debugger.
2015-03-03 18:26:03 -05:00
Yuri Kunde Schlesner cd1fbfcf1b Add profiling infrastructure and widget 2015-03-01 21:47:13 -03:00
Subv c564c21668 GPU: Implemented bits 3 and 1 from the display transfer flags.
Bit 3 is used to specify a raw copy, where no processing is done to the data, seems to behave exactly as a DMA.
Bit 1 is used to specify whether to convert from a tiled format to a linear format or viceversa.
2015-02-26 21:17:14 -05:00
Emmanuel Gil Peyrot aa64f69af0 Frontends, HID: Add New 3DS specific pad buttons, and stub the touch one. 2015-02-22 21:09:08 +01:00
Tony Wasserka 12a5cd1d65 citra-qt: Add a vertex shader debugger. 2015-02-11 15:40:45 +01:00
Tony Wasserka 3f649dc9b8 Pica/DebugUtils: Factor out BreakPointObserverDock into its own file. 2015-02-11 15:40:04 +01:00
archshift ef24e72b26 Asserts: break/crash program, fit to style guide; log.h->assert.h
Involves making asserts use printf instead of the log functions (log functions are asynchronous and, as such, the log won't be printed in time)
As such, the log type argument was removed (printf obviously can't use it, and it's made obsolete by the file and line printing)

Also removed some GEKKO cruft.
2015-02-10 18:30:31 -08:00
bunnei ca22ee3239 Merge pull request #526 from purpasmart96/citra_stubs
Services: Stub some functions
2015-02-10 18:39:37 -05:00
purpasmart96 60ce36f721 Services: Stub some functions 2015-02-07 17:34:59 -08:00
Tony Wasserka 5a90420c0b citra-qt: Fix horrible scrolling responsiveness in disassembler by giving the uniformRowHeight hint. 2015-02-03 21:11:50 +01:00
Tony Wasserka 79713d500b citra-qt: Fix a crash when double-clicking a disassembler list item. 2015-02-03 21:11:49 +01:00
bunnei c915d0b727 Merge pull request #514 from rohit-n/fix-warnings
Silence a few warnings.
2015-02-01 00:31:06 -05:00
Lioncash f44781fd7b arm: Adios armemu 2015-01-31 20:43:03 -05:00
Rohit Nirmal 5ebf35db96 Silence a few warnings. 2015-01-30 19:20:34 +00:00
archshift 1f109c6b49 Added HID_SPVR service and split HID_U implementation into service/hid/hid.xxx 2015-01-21 13:31:10 -08:00
Tony Wasserka 8946df97b5 Merge pull request #429 from Kingcom/titlebar
Add option to hide dock widget title bars
2015-01-20 23:17:42 +01:00
Kingcom 76c74ffc96 citra-qt: Add option to hide dock widget title bars 2015-01-20 22:50:24 +01:00
bunnei 93f36c49f7 Merge pull request #473 from archshift/pp3ports
Pica/Rasterizer: Add ETC1 texture decompression support.
2015-01-13 18:11:18 -05:00
Tony Wasserka f2b74b4fb3 Pica/Rasterizer: Add ETC1 texture decompression support. 2015-01-13 14:42:40 -08:00
archshift d670b7e522 Qt Callstack: Clear the callstack every time it's updated
This fixes the issue that old members of the callstack would stick around, even when the callstack shortened.
2015-01-11 21:47:28 -08:00
Tony Wasserka f1080de47d Merge pull request #437 from Kingcom/DebugMode
Replace OnCpuStepped signal
2015-01-11 21:28:18 +01:00
Kingcom 2bbc12e6c3 citra-qt: Replace OnCpuStepped signal by new signals DebugModeEntered and DebugModeLeft 2015-01-11 21:22:51 +01:00
Subv 115a4bfc9e citra-qt: Add explicit casts to prevent some warnings. 2015-01-10 15:55:52 -05:00
Subv 1b01938767 citra-qt: Fixed some Qt errors on initialization 2015-01-10 15:35:26 -05:00
bunnei e7d2118858 Merge pull request #342 from uppfinnarn/master
Build improvements
2015-01-10 02:03:07 -05:00
Johannes Ekberg d7ad14ae20 Use -pthread where and only where needed
Passing -pthread to GCC as a flag makes it both link to libpthread, and make C standard library routines reentrant. This makes the additional explicit links unnecessary.

Additionally, on OSX, this is the default behavior, and clang will print a message about it being unused if it's present there.
2015-01-09 15:50:46 +01:00
Johannes Ekberg 7d7ab70279 Generic PLATFORM_LIBRARIES var
This both reduces redundancy in add_executable definitions, and makes it easier to link additional libraries. In particular, extra libraries are needed on OSX - see next commit.
2015-01-09 15:50:46 +01:00