Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Implement Frame rate limiter (#2223) | emmauss | 2016-12-06 | 1 | -0/+33 |
| | | | | | | * implement frame limiter * fixes | ||||
* | GPU: Remove the broken frame_skip option. | Emmanuel Gil Peyrot | 2016-11-27 | 1 | -20/+1 |
| | | | | Fixes #1960. | ||||
* | gpu: DisplayTransfer: a less amazing algorithm for flip | wwylele | 2016-09-29 | 1 | -8/+11 |
| | | | | the old implementation modifies the loop variable in the loop. Though it actually works, it is really confusing. Makes it morereadable now. | ||||
* | gpu: keep the old signal strategy for null pointer | wwylele | 2016-09-29 | 1 | -4/+8 |
| | | | | | previous commits changes the behaviour of interrupt when meeting invalid params. Regresses to the same behaviour as before needs more hwtest | ||||
* | gpu: add validity check for TextureCopy, DisplayTransfer and FillMemory | wwylele | 2016-09-29 | 1 | -6/+88 |
| | | | | | prevent further operation with invalid values which may cause assertion failure or divided by zero. needs more hwtest | ||||
* | gpu: move MemoryFill, TextureCopy and DisplayTransfer into functions | wwylele | 2016-09-29 | 1 | -247/+249 |
| | | | | The old code indented too much to read. Split into functions and do general cleanup. | ||||
* | Use negative priorities to avoid special-casing the self-include | Yuri Kunde Schlesner | 2016-09-21 | 1 | -1/+1 |
| | |||||
* | Remove empty newlines in #include blocks. | Emmanuel Gil Peyrot | 2016-09-21 | 1 | -11/+4 |
| | | | | | | | This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation. | ||||
* | Sources: Run clang-format on everything. | Emmanuel Gil Peyrot | 2016-09-18 | 1 | -57/+85 |
| | |||||
* | fixup simple type conversions where possible | Alexander Laties | 2016-05-07 | 1 | -2/+2 |
| | |||||
* | HWRasterizer: Texture forwarding | tfarley | 2016-04-21 | 1 | -155/+172 |
| | |||||
* | renderer_base: Don't directly expose the rasterizer unique_ptr | Lioncash | 2016-03-09 | 1 | -5/+5 |
| | | | | | There's no reason to allow direct access to the unique_ptr instance. Only its contained pointer. | ||||
* | AudioCore: Skeleton Implementation | MerryMage | 2016-02-21 | 1 | -6/+0 |
| | | | | | | | | | This commit: * Adds a new subproject, audio_core. * Defines structures that exist in DSP shared memory. * Hooks up various other parts of the emulator into audio core. This sets the foundation for a later HLE DSP implementation. | ||||
* | BitField: Make trivially copyable and remove assignment operator | MerryMage | 2016-02-12 | 1 | -8/+8 |
| | |||||
* | VideoCore: Unify interface to OpenGL and SW rasterizers | Yuri Kunde Schlesner | 2015-12-08 | 1 | -6/+6 |
| | | | | | | 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. | ||||
* | VideoCore: Rename HWRasterizer methods to be less confusing | Yuri Kunde Schlesner | 2015-12-07 | 1 | -5/+5 |
| | |||||
* | Integrate the MicroProfile profiling library | Yuri Kunde Schlesner | 2015-08-25 | 1 | -0/+8 |
| | | | | | This brings goodies such as a configurable user interface and multi-threaded timeline view. | ||||
* | GPU: Implement TextureCopy-mode display transfers | Yuri Kunde Schlesner | 2015-08-16 | 1 | -20/+49 |
| | | | | Fixes glitchy garbage in Fire Emblem 3D scenes. | ||||
* | Qt/GPU Breakpoints: Added three more breakpoint types: | Subv | 2015-07-23 | 1 | -0/+4 |
| | | | | | | * IncomingDisplayTransfer: Triggered just before a display transfer is performed. * GSPCommandProcessed: Triggered right after a GSP command is processed. * BufferSwapped: Triggered when the frames flip | ||||
* | GPU/DisplayTransfer: Implemented bit 5 in the transfer flags. | Subv | 2015-07-20 | 1 | -12/+30 |
| | | | | It tells the GPU to not swizzle/de-swizzle the input during the transfer. | ||||
* | Add CiTrace recording support. | Tony Wasserka | 2015-07-13 | 1 | -0/+17 |
| | | | | | | 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). | ||||
* | GPU: Be robust against nullptr addresses; properly reset busy bits in the trigger registers. | Tony Wasserka | 2015-07-13 | 1 | -27/+34 |
| | |||||
* | Merge pull request #876 from linkmauve/include-cleanups | Yuri Kunde Schlesner | 2015-07-11 | 1 | -4/+7 |
|\ | | | | | Cleanup includes, mostly in common | ||||
| * | Core: Cleanup hw includes. | Emmanuel Gil Peyrot | 2015-06-28 | 1 | -4/+6 |
| | | |||||
| * | CitraQt: Cleanup includes. | Emmanuel Gil Peyrot | 2015-06-28 | 1 | -0/+1 |
| | | |||||
* | | GPU: Implement blended downscaling for display transfers. | Emmanuel Gil Peyrot | 2015-06-28 | 1 | -27/+40 |
| | | |||||
* | | GPU: Use shifts instead of multiplications to calculate the actual size of the output. | Emmanuel Gil Peyrot | 2015-06-28 | 1 | -6/+6 |
|/ | |||||
* | Merge pull request #811 from archshift/commonify | archshift | 2015-05-31 | 1 | -1/+1 |
|\ | | | | | Commonify video_core utility headers | ||||
| * | Move video_core/color.h to common/color.h | archshift | 2015-05-30 | 1 | -1/+1 |
| | | |||||
* | | Merge pull request #832 from yuriks/refresh-rate-option | bunnei | 2015-05-31 | 1 | -3/+2 |
|\ \ | |/ |/| | Remove gpu_refresh_rate configuration option | ||||
| * | Remove gpu_refresh_rate configuration option | Yuri Kunde Schlesner | 2015-05-30 | 1 | -3/+2 |
| | | | | | | | | | | | | | | 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. | ||||
* | | Remove every trailing whitespace from the project (but externals). | Emmanuel Gil Peyrot | 2015-05-29 | 1 | -5/+5 |
|/ | |||||
* | OpenGL renderer | tfarley | 2015-05-23 | 1 | -3/+13 |
| | |||||
* | Memmap: Re-organize memory function in two files | Yuri Kunde Schlesner | 2015-05-15 | 1 | -1/+1 |
| | | | | | | | 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. | ||||
* | Memory: Add GetPhysicalPointer helper function | Yuri Kunde Schlesner | 2015-05-09 | 1 | -5/+5 |
| | |||||
* | HW: Properly initialize and shutdown all modules. | bunnei | 2015-05-02 | 1 | -3/+5 |
| | |||||
* | gpu: Fix a missing format specifier | Lioncash | 2015-04-07 | 1 | -1/+1 |
| | |||||
* | Services: Stubs and minor changes | purpasmart96 | 2015-04-03 | 1 | -1/+1 |
| | |||||
* | Merge pull request #650 from Subv/scaling | bunnei | 2015-03-18 | 1 | -3/+9 |
|\ | | | | | GPU: Fixed the bit 25 in the display transfer flags. | ||||
| * | GPU/DisplayTransfer: Made the scaling bits a single 2bit value | Subv | 2015-03-16 | 1 | -4/+10 |
| | | | | | | | | Rephrased some comments. | ||||
| * | GPU: Fixed the bit 25 in the display transfer flags. | Subv | 2015-03-10 | 1 | -3/+3 |
| | | | | | | | | It is used to downscale the input image horizontally and vertically, previously we were only downscaling it vertically so this caused a hard-to-debug memory corruption problem. | ||||
* | | GPU: Implemented the flip_data (bit 0) bit in display transfers. | Subv | 2015-03-14 | 1 | -5/+14 |
| | | |||||
* | | Merge pull request #642 from bunnei/touchpad | bunnei | 2015-03-12 | 1 | -0/+4 |
|\ \ | | | | | | | Touchpad support | ||||
| * | | HID: Complete refactor of pad/touch input to fix threading issues. | bunnei | 2015-03-11 | 1 | -0/+4 |
| |/ | |||||
* | | Merge pull request #629 from archshift/lcdfb | bunnei | 2015-03-10 | 1 | -5/+4 |
|\ \ | |/ |/| | Implement SetLcdForceBlack and add implementation for color filling in the GPU code | ||||
| * | Implement SetLcdForceBlack, move register enum to hw.h | archshift | 2015-03-06 | 1 | -5/+4 |
| | | |||||
* | | GPU: Corrected the 24 bit memory fills component order | Subv | 2015-03-09 | 1 | -2/+2 |
|/ | |||||
* | GPU: Added RGB565/RGB8 framebuffer support and various cleanups. | bunnei | 2015-03-04 | 1 | -50/+25 |
| | | | | | | - Centralizes color format encode/decode functions. - Fixes endianness issues. - Implements remaining framebuffer formats in the debugger. | ||||
* | GPU: Implemented bits 3 and 1 from the display transfer flags. | Subv | 2015-02-27 | 1 | -21/+61 |
| | | | | | 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. | ||||
* | GPU: Fixed RGBA8 as output format in a display transfer. | Subv | 2015-02-22 | 1 | -8/+7 |
| | | | | Verified with hwtests | ||||
* | Merge pull request #471 from archshift/pp3ports3 | bunnei | 2015-02-22 | 1 | -0/+37 |
|\ | | | | | GPU: Add support for more framebuffer formats in display transfers. | ||||
| * | GPU: Add support for more framebuffer formats in display transfers. | Tony Wasserka | 2015-02-22 | 1 | -0/+37 |
| | | |||||
* | | GPU: Fixed the RGBA8 input format and RGB8 output format | Subv | 2015-02-22 | 1 | -8/+6 |
| | | | | | | | | in Display Transfers, tested with hwtests. | ||||
* | | GPU: Properly implement memory fills. | Tony Wasserka | 2015-02-18 | 1 | -13/+28 |
| | | |||||
* | | core: Fix some warnings on OSX | Lioncash | 2015-02-03 | 1 | -2/+0 |
| | | |||||
* | | GPU: Fix buffer overrun in Display Transfers | Yuri Kunde Schlesner | 2015-01-14 | 1 | -9/+12 |
| | | | | | | | | | | | | | | | | | | | | | | | | Display transfers with the horizontal downscaling flag were calculating the wrong output size, causing them to write double the amount of data intended. It is likely that this was perceived as correct due to a separate bug in calculating source indices which caused the image to be padded unless the previous bug was present. This fixes both issues, correcting flickering issues in 3dscraft, blargSnes and more (caused by the transfer overwriting the back buffer which followed) as well as potentially fixing other crashes. | ||||
* | | GPU: Do periodic VBlank updates using CoreTiming | Yuri Kunde Schlesner | 2015-01-14 | 1 | -47/+44 |
| | | |||||
* | | GPU: Correct wrong default framebuffer address for sub-screen. | Yuri Kunde Schlesner | 2015-01-14 | 1 | -2/+2 |
| | | | | | | | | | | It appears this is a mistake, since the sub-screen has no right framebuffer. | ||||
* | | GPU: Fire GPU interrupts at the correct places. | Yuri Kunde Schlesner | 2015-01-14 | 1 | -15/+18 |
|/ | | | | | | | | | | | | PDC0 and PDC1 are both VBlank interrupts. PDC0 was being treated as a HBlank interrupt and fired many more times than it should. They now both fire together at 60 Hz. This puzzlingly *improves* apparent framerate on many applications. A few other interrupts were being fired inside the GSP command processing instead of on the actual GPU register writes, so they were moved there, which should cover direct writes tho those registers not going through the GX command queue. | ||||
* | Move ThreadContext to core/core.h and deal with the fallout | Yuri Kunde Schlesner | 2015-01-09 | 1 | -0/+2 |
| | |||||
* | DSP: Signal (faked) interrupt on every frame. | bunnei | 2015-01-05 | 1 | -1/+7 |
| | | | | - Hack to work around games checking that the DSP event has been signaled by a real DSP interrupt. | ||||
* | GPU: Pseudo-implement horizontal scaling. | Tony Wasserka | 2014-12-31 | 1 | -1/+5 |
| | | | | | It's not really known how this actually works. Some testing has shown that this probably performs no filtering, and common usage in games suggests it's not actually resizing the image at all. However, this patch does seem to fix some homebrew showing quasi-duplicated images while still keeping other applications in a working state. | ||||
* | GPU: Implement frameskip and remove forced framebuffer swap hack. | bunnei | 2014-12-29 | 1 | -27/+36 |
| | |||||
* | GPU: Further improve synchronization. | bunnei | 2014-12-26 | 1 | -22/+20 |
| | |||||
* | License change | purpasmart96 | 2014-12-21 | 1 | -1/+1 |
| | |||||
* | Convert old logging calls to new logging macros | Yuri Kunde Schlesner | 2014-12-13 | 1 | -8/+8 |
| | |||||
* | GPU: Fixed bug in command list size decoding. | bunnei | 2014-12-10 | 1 | -2/+1 |
| | |||||
* | Fixed formatting and switch statement warnings | vaguilar | 2014-11-27 | 1 | -3/+3 |
| | |||||
* | Merge pull request #162 from SeannyM/warning-fixes | bunnei | 2014-10-30 | 1 | -2/+2 |
|\ | | | | | Fix some warnings | ||||
| * | Fix some warnings | Sean | 2014-10-30 | 1 | -2/+2 |
| | | |||||
* | | Renamed souce files of services to match port names | Gareth Poole | 2014-10-29 | 1 | -1/+1 |
|/ | |||||
* | Added `gpu_refresh_rate` config setting for the new interpreter speed hack. | archshift | 2014-10-28 | 1 | -10/+1 |
| | |||||
* | Use configuration files to enable or disable the new dyncom interpreter. | archshift | 2014-10-28 | 1 | -0/+16 |
| | |||||
* | Rename GPU::Regs::FramebufferFormat to PixelFormat | Yuri Kunde Schlesner | 2014-10-12 | 1 | -5/+5 |
| | | | | | | This name better represents what the enum does, and is less overloaded in the context. (The whole register the enum is part of is also called 'format'.) | ||||
* | Fix warnings in video_core | Lioncash | 2014-10-08 | 1 | -2/+2 |
| | |||||
* | Core: Fix warnings in gpu.cpp | Lioncash | 2014-09-14 | 1 | -6/+6 |
| | |||||
* | core: Prune redundant includes | archshift | 2014-09-09 | 1 | -2/+0 |
| | |||||
* | GPU: Improve frame synchronization, increases compatibility with both homebrew and retail applications. | bunnei | 2014-08-31 | 1 | -13/+31 |
| | |||||
* | VideoCore: Fixes rendering issues on Qt and corrects framebuffer output size. | bunnei | 2014-08-26 | 1 | -9/+8 |
| | |||||
* | Pica: Add command processor. | Tony Wasserka | 2014-08-12 | 1 | -3/+5 |
| | |||||
* | Pica/GPU: Change hardware registers to use physical addresses rather than virtual ones. | Tony Wasserka | 2014-08-12 | 1 | -84/+18 |
| | | | | | This cleans up the mess that address reading/writing had become and makes the code a *lot* more sensible. This adds a physical<->virtual address converter to mem_map.h. For further accuracy, we will want to properly extend this to support a wider range of address regions. For now, this makes simply homebrew applications work in a good manner though. | ||||
* | Remove the fancy RegisterSet class introduced in 4c2bff61e. | Tony Wasserka | 2014-08-12 | 1 | -24/+23 |
| | | | | | While it was some nice and fancy template usage, it ultimately had many practical issues regarding length of involved expressions under regular usage as well as common code completion tools not being able to handle the structures. Instead, we now use a more conventional approach which is a lot more clean to use. | ||||
* | GPU: Updated g_last_ticks variable to be more descriptive (represents CPU tick count of last vertical line). | bunnei | 2014-08-07 | 1 | -5/+5 |
| | |||||
* | GPU: Updated horizontal sync line counter to use framebuffer height. | bunnei | 2014-08-07 | 1 | -2/+3 |
| | |||||
* | GSP: Removed dumb GX prefixes to functions/structs in GSP namespace. | bunnei | 2014-08-06 | 1 | -2/+2 |
| | | | | - Various other cleanups. | ||||
* | GSP: Implements preliminary command synchronization via GPU interrupts. | bunnei | 2014-08-06 | 1 | -3/+19 |
| | | | | Core: Added a comment to explain the logic for the RunLoop iterations. | ||||
* | Use uniform formatting when printing hexadecimal numbers. | Tony Wasserka | 2014-07-23 | 1 | -3/+3 |
| | |||||
* | GPU: Clarify display transfer code. | Tony Wasserka | 2014-07-23 | 1 | -12/+15 |
| | | | | Also makes the illogical component order more obvious. | ||||
* | RegisterSet: Simplify code by using structs for register definition instead of unions. | Tony Wasserka | 2014-07-23 | 1 | -51/+51 |
| | |||||
* | GPU: Make use of RegisterSet. | Tony Wasserka | 2014-07-23 | 1 | -241/+101 |
| | |||||
* | GPU: Make framebuffer code format-aware. | Tony Wasserka | 2014-07-23 | 1 | -6/+47 |
| | |||||
* | GPU: Interface cleanup. | Tony Wasserka | 2014-07-23 | 1 | -12/+17 |
| | |||||
* | GPU: Initialize GPU registers to some sensible default state. | Tony Wasserka | 2014-07-23 | 1 | -1/+16 |
| | |||||
* | GPU: Emulate memory fills. | Tony Wasserka | 2014-07-23 | 1 | -2/+54 |
| | |||||
* | GPU: Add proper framebuffer register handling. | Tony Wasserka | 2014-07-23 | 1 | -1/+52 |
| | |||||
* | GPU: Properly implement display transfers. | Tony Wasserka | 2014-07-23 | 1 | -1/+19 |
| | |||||
* | GPU: Add display transfer configuration. | Tony Wasserka | 2014-07-23 | 1 | -0/+52 |
| | |||||
* | Merge branch 'threading' of https://github.com/bunnei/citra | bunnei | 2014-06-14 | 1 | -2/+0 |
| | | | | | | Conflicts: src/core/hle/function_wrappers.h src/core/hle/service/gsp.cpp | ||||
* | GPU: Cleanup register definitions. | Tony Wasserka | 2014-06-12 | 1 | -13/+13 |
| | |||||
* | Rename LCD to GPU. | Tony Wasserka | 2014-06-12 | 1 | -0/+194 |