Commit graph

294 commits

Author SHA1 Message Date
tfarley 05dc633a8c OpenGL renderer 2015-05-22 15:51:18 -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 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
Emmanuel Gil Peyrot a31fd7f86b Common: Remove unused cruft from math_util, and remove a duplicated Rect class in common_types. 2015-05-14 16:16:15 +02: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 b700b55696 Common: Remove the BIT macro
When the macro was introduced in 326ec51261
it wasn't noticed that it conflicted in name with a heavily used macro
inside of dyncom. This causes some compiler warnings. Since it's only
lightly used, it was opted to simply remove the new macro.
2015-05-09 18:16:46 -03:00
Yuri Kunde Schlesner 326ec51261 Common: Add BIT macro 2015-05-08 22:11:04 -03:00
Yuri Kunde Schlesner 8809d02db3 Common: Add StringFromFixedZeroTerminatedBuffer 2015-05-08 03:03:06 -03:00
Yuri Kunde Schlesner 4560178f66 Merge pull request #725 from yuriks/remove-common-crap
Remove unused hash and mem_arena from common
2015-05-07 16:18:03 -07:00
bunnei 10ef39624a Merge pull request #723 from lioncash/commonstr
string_util: Get rid of UriDecode/UriEncode
2015-05-07 18:55:18 -04:00
Yuri Kunde Schlesner ed12b08e7a Profiler: Fix off-by-one error when computing average. 2015-05-07 19:48:31 -03:00
Yuri Kunde Schlesner 3396f352cb Common: Remove mem_arena.cpp/h
It is superfluous for Citra. (It's only really necessary if you're doing
JIT. We were using it but not taking any advantage from it.) This should
make 32-bit builds work again.
2015-05-07 19:01:09 -03:00
Yuri Kunde Schlesner d9df5b575a Common: Remove hash.cpp/h
Currently unused and the code quality is pretty questionable.
2015-05-07 18:31:18 -03:00
Yuri Kunde Schlesner fae5933ad6 Common: Add proper macros to test for architecture pointer size
The old system of just defining macros available in some other platform
was susceptible to silently using the wrong code if you forgot to
include a particular header. This fixes a crash on non-Windows platforms
introduced by e1fbac3ca1.
2015-05-07 18:22:36 -03:00
Lioncash 9adad45b0f string_util: Get rid of UriDecode/UriEncode 2015-05-07 17:10:55 -04:00
Yuri Kunde Schlesner e1fbac3ca1 Common: Remove common.h 2015-05-07 15:45:22 -03:00
Yuri Kunde Schlesner 1bd1a13a02 Common: Move alignment macros to common_funcs.h 2015-05-07 15:45:21 -03:00
Yuri Kunde Schlesner ae963d75f8 Common: Move SSE detection ifdefs to platform.h 2015-05-07 15:45:20 -03:00
Yuri Kunde Schlesner a594fdb66e Common: Remove more unused compatibility defines 2015-05-07 15:45:20 -03:00
Yuri Kunde Schlesner f3c096951b Common: Move IO-specific compatibility macros to file_util.cpp 2015-05-07 15:45:20 -03:00
Yuri Kunde Schlesner bf12f270b3 Common: Remove many unnecessary cross-platform compatibility macros 2015-05-06 23:50:08 -03:00
Yuri Kunde Schlesner c0eaa662d4 Clean-up includes 2015-05-06 23:45:06 -03:00
Yuri Kunde Schlesner c916bcf7b5 Move typedefs from kernel.h to more appropriate places 2015-05-06 23:45:05 -03:00
Yuri Kunde Schlesner 6ad71c216b Common: Move NonCopyable to common_types.h 2015-05-06 23:45:05 -03:00
Yuri Kunde Schlesner 7a4b717772 Common: Use C++11 deleted functions for NonCopyable 2015-05-06 23:45:04 -03:00
Yuri Kunde Schlesner 1fee769aa0 Common: Remove unused enums 2015-05-06 23:45:04 -03: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
Yuri Kunde Schlesner 6402de9ae7 Common: thread.h cleanups
The helper classes are rendered obsolete by C++11 lambdas. Also made
formatting conform to our code style.
2015-04-16 17:55:30 -03:00
bunnei 7b9f428b23 Thread: Implement priority boost for starved threads.
SVC: Return correct error code on invalid CreateThread processor ID.

SVC: Assert when creating a thread with an invalid userland priority.
2015-04-09 19:05:21 -04:00
bunnei 3fd2cc566b Merge pull request #641 from purpasmart96/service_stubs
Services: Stubs and minor changes
2015-04-03 22:16:50 -04:00
purpasmart96 198c0ddc72 Services: Stubs and minor changes 2015-04-02 20:05:11 -07:00
Lioncash e05d6220f5 disassembler: Get rid of a const_cast 2015-03-30 15:37:34 -04:00
Emmanuel Gil Peyrot 188b419586 Common: Fix logic for setting EMU_DATA_DIR. 2015-03-16 02:22:59 +01:00
Emmanuel Gil Peyrot 4c684fb274 Common: Make a #else more apparent. 2015-03-16 02:22:19 +01:00
Subv c0d1a91017 EmuWindow: Fixed a reference to a temporary variable
in GetTouchState()
2015-03-14 15:01:02 -05:00
bunnei ed5b275d21 Merge pull request #642 from bunnei/touchpad
Touchpad support
2015-03-11 21:28:57 -04:00
bunnei d61b26b79f HID: Complete refactor of pad/touch input to fix threading issues. 2015-03-10 23:58:07 -04:00
bunnei b56829df02 Merge pull request #629 from archshift/lcdfb
Implement SetLcdForceBlack and add implementation for color filling in the GPU code
2015-03-10 18:08:55 -04:00
bunnei 953e09ddb5 EmuWindow: Made pad/touch functions non-static. 2015-03-10 18:05:20 -04:00
bunnei 543232436f EmuWindow: Added infrastructure code to enable touchpad support. 2015-03-10 18:05:17 -04:00
archshift 041e99b613 Added LCD registers, and implementation for color filling in OGL code. 2015-03-09 15:51:41 -07: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
bunnei ba8ce6c8f5 Merge pull request #584 from yuriks/outline-asserts
Asserts: Use lambdas to keep assertion code away from the main code path
2015-03-08 22:25:04 -04:00
bunnei 25633b431d Fixed EmuWindow typo (fixes OSX build) 2015-03-07 18:26:28 -05: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