Commit Graph

3209 Commits (f00e8d4b2b397b090ff7a7044c9909d3e700749b)

Author SHA1 Message Date
Jannik Vogel 693cca8f1f Fix exception propagation for VFP single precision 9 years ago
Jannik Vogel 7dde13f875 Fix exception propagation for VFP double precision 9 years ago
Jannik Vogel 3a45eacb16 Fix read-after-write in SMUAD, SMLAD, SMUSD, SMLSD 9 years ago
András Domonkos 960297e577 Update ACT:U and create ACT:A (#1809)
* Update ACT_U
* Create act_a.h
* Create act_a.cpp
* Add service ACT:A
* Add ACT:A source and header
* Fix wrong header
9 years ago
bunnei a39144050b Merge pull request #1800 from JayFoxRox/set-fpscr
Set fpscr for new threads
9 years ago
Jannik Vogel af37dd0d52 Set fpscr for new threads 9 years ago
bunnei e5599ed300 Merge pull request #1786 from JayFoxRox/blend-equation
OpenGL: Support blend equation
9 years ago
Jannik Vogel ff0fa86b17 Retrieve shader result from new OutputRegisters-type 9 years ago
linkmauve f40fabd688 Merge pull request #1787 from JayFoxRox/refactor-jit
Refactor JIT
9 years ago
Jannik Vogel 501d0bc5ed Fix ftoi behaviour 9 years ago
Jannik Vogel 6fe0cb671d Respect fpscr in ftoiz 9 years ago
Jannik Vogel 1643786c04 Disable VFP3 instructions 9 years ago
bunnei bd9ac24631 Merge pull request #1792 from JayFoxRox/avoid-uninitialised
Avoid uninitialised in hw renderer + Only sync depth if necessary
9 years ago
Maribel 5c8beca792 DSP_DSP: Remove GetHeadphoneStatus logspam (#1799) 9 years ago
wwylele 6cccdcacd2 fixup! fixup! Refactor input system 9 years ago
wwylele 6d49e4621c fixup! Refactor input system 9 years ago
wwylele 416faa20d1 implement circle pad modifier 9 years ago
wwylele 03631f9b8f Refactor input subsystem 9 years ago
Maribel 6f6af6928f AudioCore: Implement time stretcher (#1737)
* AudioCore: Implement time stretcher

* fixup! AudioCore: Implement time stretcher

* fixup! fixup! AudioCore: Implement time stretcher

* fixup! fixup! fixup! AudioCore: Implement time stretcher

* fixup! fixup! fixup! fixup! AudioCore: Implement time stretcher

* fixup! fixup! fixup! fixup! fixup! AudioCore: Implement time stretcher
9 years ago
Subv 64da2bf0cd Memory: Fixed a regression caused by #1695 and #1689.
Reserve enough space in the vector that holds the linear heap memory to prevent relocations of the backing memory when growing too much.

Closes #1790
9 years ago
Jannik Vogel 5389dedfa1 OpenGL: Only update depth uniforms if the depth changed 9 years ago
Jannik Vogel f8a11a664f OpenGL: value-initialize variables which cause uninitialised access otherwise 9 years ago
bunnei 18b517e236 Merge pull request #1689 from Subv/shmem
Kernel: Implemented shared memory.
9 years ago
Jannik Vogel 1308afe2c2 Use new shader-jit signature for interpreter 9 years ago
Jannik Vogel 4e01e9ffc5 Refactor access to state in shader-jit 9 years ago
bunnei 0d8bd3ba36 Merge pull request #1695 from Subv/tls_alloc
Kernel/Threads: Dynamically allocate the TLS region for threads.
9 years ago
Subv ac2de12ed8 HLE/Applets: Give each applet its own block of heap memory, and use that when creating the framebuffer shared memory block. 9 years ago
Subv d261984f54 Kernel: Account for automatically-allocated shared memories in the amount of used linear heap memory. 9 years ago
Subv abf8dcd700 APT: Move the shared font loading and relocation functions to their own subdirectory services/apt/bcfnt. 9 years ago
Subv 5679d066b5 Kernel/SharedMemory: Log an error when Map fails. 9 years ago
Subv 0fb6d2a247 Kernel: Implemented shared memory permissions. 9 years ago
Subv 9005cda664 APT: Implement relocating the shared font to its true address. 9 years ago
Subv f72bd57212 Kernel/Memory: Remove the Shared Memory region from the legacy memory map. 9 years ago
Subv 1bd0cf542f Kernel/SharedMemory: Properly implemented shared memory support.
Applications can request the kernel to allocate a piece of the linear heap for them when creating a shared memory object.
Shared memory areas are now properly mapped into the target processes when calling svcMapMemoryBlock.

Removed the APT Shared Font hack as it is no longer needed.
9 years ago
Subv 42a50da76b Kernel/SVC: Fixed the register order for svcCreateMemoryBlock.
R0 is used as the last parameter instead of R4.
9 years ago
Jannik Vogel 5864cb7e00 OpenGL: Support blend equation 9 years ago
MerryMage 9b4187974b Microprofile: DPI-aware drawing 9 years ago
Jannik Vogel 7e756faaba Move program_counter and call_stack from UnitState to interpreter 9 years ago
Jannik Vogel 6c6d99ca51 Move default_attributes into Pica state 9 years ago
bunnei f6eb62d062 Merge pull request #1690 from JayFoxRox/tex-type-3
Pica: Implement texture type 3 (Projection2D)
9 years ago
Jannik Vogel ae7a82fa1c Turn ShaderSetup into struct 9 years ago
Jannik Vogel 5a7306d6df OpenGL: Implement texture type 3 9 years ago
Jannik Vogel 4311297eb1 Rasterizer: Implement texture type 3 9 years ago
Jannik Vogel 2f8e8e1455 Pica: Add tc0.w to OutputVertex 9 years ago
Jannik Vogel 9cfebb9334 Pica: Add texture type to state 9 years ago
bunnei 86ecbdfa4d Merge pull request #1621 from JayFoxRox/w-buffer
Implement W-buffer and fix depth-mapping
9 years ago
bunnei feecc76333 Merge pull request #1774 from lioncash/warn
gdbstub: Silence missing prototype warnings
9 years ago
Lioncash 75e5d0a6a0 gl_rasterizer: Fix compilation for debug builds 9 years ago
Lioncash 0a52e1f587 gdbstub: Silence missing prototype warnings 9 years ago
Jannik Vogel fc9cc21024 OpenGL: Implement W-Buffers and fix depth-mapping 9 years ago
Jannik Vogel 4c98113b57 Pica: Implement W-Buffer in SW rasterizer 9 years ago
linkmauve 006fe5fc0f Merge pull request #1704 from JayFoxRox/pod-config
Pica: PicaShaderConfig is TC and cleared before use
9 years ago
bunnei 976bacf5f7 Merge pull request #1771 from lioncash/user
dyncom: Reset the context into user mode correctly
9 years ago
Lioncash 0f941d0245 dyncom: Reset the context into user mode correctly
The other mode was system mode.
9 years ago
Lioncash da2400a601 source: Fix missing logging arguments
Silences two warnings on OSX.
9 years ago
Lioncash d5b983a8c0 swap: Get rid of pointer casting for swapping structs
These shouldn't haphazardly convert types
9 years ago
Lioncash 47ca79ba4b swap: Get rid of undefined behavior in swapf and swapd
This isn't well-defined in C++.
9 years ago
Lioncash aef4630102 swap: Remove unused methods
Also gets rid of pointer data variants as this prevents the use of
the regular swapping routines as unary predicates in std lib functions.

They also cast to stricter alignment types, which is undefined behavior.
9 years ago
Lioncash 6d5f2a3cff vertex_loader: Correct forward declaration of InputVertex
It's actually a struct, not a class.
9 years ago
Lioncash 5587383eb7 vertex_loader: Provide an assertion for ensuring the loader has been setup
Also adds an assert to ensure that Setup is not called more than once
during a VertexLoader's lifetime.
9 years ago
Lioncash 1357724cd9 vertex_loader: Add constructors to facilitate immediate and two-step initialization 9 years ago
Lioncash 769f4a7018 vertex_loader: initialize_num_total_attributes.
Keeps the public API sane.
9 years ago
Lioncash 8ea5e7dfb5 vertex_loader: Use std::array instead of raw C arrays 9 years ago
Lioncash a286b61f75 vertex_loader: Correct header ordering 9 years ago
bunnei 282a2ad539 Merge pull request #1766 from Subv/log_cpu
Kernel/Threading: Warn when a thread can be scheduled in the Syscore (Core 1)
9 years ago
bunnei 6abc6003f5 Merge pull request #1718 from alex-laties/fixup-type-conversions
fixup simple type conversions where possible
9 years ago
bunnei 8e9b33a34a Merge pull request #1761 from Subv/applets_fb
HLE/Applets: Use the correct size for the framebuffer SharedMemory
9 years ago
Alexander Laties 0a31e373f1 fixup simple type conversions where possible 9 years ago
Subv 5b7f86708c Kernel/Threading: Warn when a thread can be scheduled in the Syscore (Core 1).
We do not currently implement any cores other than the AppCore (Core 0).
9 years ago
Subv d192fb066d Kernel/Threads: Dynamically allocate the TLS region for threads in the BASE region of the linear heap.
Each thread gets a 0x200-byte area from the 0x1000-sized page, when all 8 thread slots in a single page are used up, the kernel allocates a new page to hold another 8 entries.

This is consistent with what the real kernel does.
9 years ago
bunnei c549c36076 Merge pull request #1736 from MerryMage/sdl2-sink
AudioCore: SDL2 Sink
9 years ago
Subv 6970b7d3d5 HLE/Applets: Use the correct size for the framebuffer SharedMemory in the swkbd and MiiSelector applets. 9 years ago
MerryMage 920d2cf41d AudioCore: SDL2 Sink 9 years ago
Jannik Vogel 7d7849d71a citra_qt: Replace 'Pica Framebuffer Debugger' with 'Pica Surface Viewer' 9 years ago
bunnei 1a6cd7eb4b HLE: Fix recent DSP change for Visual Studio. 9 years ago
bunnei 8043a35cf9 Merge pull request #1544 from linkmauve/move-glad-init
Move glad initialisation to the frontend
9 years ago
wwylele d2182568ad fix:return proper error 9 years ago
Emmanuel Gil Peyrot aa4d4ff23c Frontends, VideoCore: Move glad initialisation to the frontend
On SDL2 this allows it to use SDL_GL_GetProcAddress() instead of the
default function loader, and fixes a crash when using apitrace with an
EGL context.

On Qt we will need to migrate from QGLWidget to QOpenGLWidget and
QOpenGLContext before we can use gladLoadGLLoader() instead of
gladLoadGL(), since the former doesn’t expose a function loader.
9 years ago
bunnei 75cbfeee58 Merge pull request #1762 from bunnei/global
hle: Get rid of direct global access to g_reschedule
9 years ago
bunnei 4cb2995c61 HLE: Rename RescheduleIsPending to IsReschedulePending. 9 years ago
bunnei 55946cdc11 Merge pull request #1700 from wwylele/gamelist-icon
Qt: display game icon and title in the game list
9 years ago
mailwl e311398a22 Layout Mii parameters input/output, and return success as result of applet work 9 years ago
bunnei f5e839066a Merge pull request #1757 from JayFoxRox/rename-vertexloaded-bp
Pica: Rename VertexLoaded breakpoint to VertexShaderInvocation
9 years ago
bunnei 07411fb631 Merge pull request #1734 from MerryMage/dsp-hle-source
DSP/HLE: Implement Source processing
9 years ago
wwylele 9da1534237 add missing header 9 years ago
wwylele 0176e2786f make the name column larger as default 9 years ago
wwylele 5d5dd66d92 add icon & title to game list 9 years ago
Jannik Vogel 7a77b8356c Pica: Rename VertexLoaded breakpoint to VertexShaderInvocation 9 years ago
MerryMage b242bdf945 DSP/HLE: Implement Source processing 9 years ago
wwylele 9b66e0dc8b clean up config block 9 years ago
Jannik Vogel f74652d2fe Pica: Use a union for PicaShaderConfig 9 years ago
Jannik Vogel 5fc8eb227a Pica: Add TevStageConfigRaw to PicaShaderConfig (MSVC workaround) 9 years ago
Jannik Vogel f3f7018c9e Pica: Make PicaShaderConfig trivially_copyable and clear it before use 9 years ago
Jannik Vogel 5ec1140f8b OpenGL: Don't copy const_color (Reverts #1745) 9 years ago
bunnei 6d02fe39f5 Merge pull request #1750 from JayFoxRox/cleanup-shader-input
Pica: Replace logic in shader.cpp with loop
9 years ago
Jannik Vogel 696cb197a5 Pica: Replace logic in shader.cpp with loop 9 years ago
bunnei a6e76c0903 Merge pull request #1732 from wwylele/config00170000
add config block 0x00170000; remove duplicated content
9 years ago
bunnei 15d0e98267 Merge pull request #1741 from linkmauve/iwyu-video_core
Fix video_core includes (and dependencies) using include-what-you-use
9 years ago
Jannik Vogel 7e0d6903ff OpenGL: Copy TevStageConfig using a loop. Fixes bug: const_color not copied 9 years ago
wwylele 7e1b76d406 remove duplicated function declaration 9 years ago
Jannik Vogel aab41604f7 OpenGL: border_color was never set. Fixed. (#1740) 9 years ago
Emmanuel Gil Peyrot 691a42fe98 VideoCore: Run include-what-you-use and fix most includes. 9 years ago
Emmanuel Gil Peyrot 387d935a54 LCD: Remove unneeded #undef with no matching #define. 9 years ago
linkmauve d8aa2460ef Merge pull request #1735 from JayFoxRox/remove-tga
Remove TGA dumper
9 years ago
bunnei c1f0044a4b Merge pull request #1729 from MerryMage/null-sink
Audio Config: Implement null sink and implement sink configuration
9 years ago
Jannik Vogel 49bfe9bf91 Remove TGA dumper 9 years ago
MerryMage 4e971f44a2 Audio: Add sink selection to configuration files 9 years ago
MerryMage 8b94422e3e AudioCore: List of sink types 9 years ago
MerryMage 7d106eff10 AudioCore: Implement NullSink 9 years ago
bunnei 594bd182b4 Merge pull request #1650 from JamePeng/update-the-ndm-code
Update the stub code of NDM service!
9 years ago
bunnei 15d21c0dc5 Merge pull request #1647 from mailwl/acu-closeasync
ac:u: stub CloseAsync; align memory size in svc:GetProcessInfo(type=2)
9 years ago
bunnei eb2d6e4015 Merge pull request #1699 from mailwl/gpu-rights
gsp::Gpu: implement AcquireRight, ReleaseRight functions
9 years ago
bunnei 73624b4721 Merge pull request #1726 from MerryMage/read-write-region
AudioCore: CurrentRegion() -> ReadRegion(), WriteRegion()
9 years ago
MerryMage 22995bd9bf AudioCore: CurrentRegion() -> ReadRegion(), WriteRegion() 9 years ago
bunnei 4c235955cf Merge pull request #1723 from MerryMage/audio-interp
AudioCore: Implement interpolation
9 years ago
bunnei 90243c56fb Merge pull request #1730 from hrydgard/vertex-loader
* Remove late accesses to attribute_config

* Refactor: Extract VertexLoader from command_processor.cpp.

Preparation for a similar concept to Dolphin or PPSSPP. These can be JIT-ed and cached.

* Move "&" to their proper place, add missing includes and make some properly relative.

* Don't keep base_address in the loader, it doesn't belong there (with it, the loader can't be cached).

* Optimize the vertex loader, nearly doubling its speed.

* Debugger fix

* Move and rename the MemoryAccesses class to MemoryAccessTracker.
9 years ago
wwylele 84ade0713c add config block 0x00170000 9 years ago
Yuri Kunde Schlesner e3a8292495 Common: Remove section measurement from profiler (#1731)
This has been entirely superseded by MicroProfile. The rest of the code
can go when a simpler frametime/FPS meter is added to the GUI.
9 years ago
MerryMage 111275bfbd AudioCore: Implement interpolation 9 years ago
Henrik Rydgard a86d7cacc1 Move and rename the MemoryAccesses class to MemoryAccessTracker. 9 years ago
Henrik Rydgård 90501f20e6 Make Citra build with MICROPROFILE_ENABLED set to 0 (#1709)
* Make Citra build with MICROPROFILE_ENABLED set to 0

* Buildfix with microprofile kept on

* moc did not like a dialog to conditionally exist.

* Cleanup

* Fix end of line
9 years ago
Henrik Rydgard a442ee07f4 Debugger fix 9 years ago
Henrik Rydgard 251f29dd7f Optimize the vertex loader, nearly doubling its speed. 9 years ago
Henrik Rydgard 2403e86cbb Don't keep base_address in the loader, it doesn't belong there (with it, the loader can't be cached). 9 years ago
Henrik Rydgard d00e2340c6 Move "&" to their proper place, add missing includes and make some properly relative. 9 years ago
Henrik Rydgard 47ff008817 Refactor: Extract VertexLoader from command_processor.cpp.
Preparation for a similar concept to Dolphin or PPSSPP. These can be JIT-ed and cached.
9 years ago
Henrik Rydgard 0cf15f64ef Remove late accesses to attribute_config 9 years ago
bunnei fda578e19d Merge pull request #1727 from MerryMage/minor-commit
AudioCore: Move samples_per_frame and num_sources into hle/common.h
9 years ago
bunnei 2f76dc6758 Merge pull request #1722 from MerryMage/soundtouch
Externals: Add soundtouch
9 years ago
MerryMage 27ce3b3f51 Externals: Add soundtouch 9 years ago
MerryMage dda9ffe790 AudioCore: Move samples_per_frame and num_sources into hle/common.h 9 years ago
bunnei 1ecee38468 Merge pull request #1708 from MerryMage/dsp_dsp
DSP Service: Cleanup
9 years ago
MerryMage c379b22117 DSP_DSP: Fix log format strings and arguments 9 years ago
MerryMage a47f149e07 AudioCore: Hack to prevent regressions: Trigger Binary pipe interrupt every audio frame 9 years ago
MerryMage 2929b67c5f DSP_DSP: Add return IPC headers 9 years ago
MerryMage ff6db69c60 DSP_DSP: Updated interrupt implementation 9 years ago
bunnei 12f72a6597 y2r_u: Cleanup some formatting. 9 years ago
bunnei 61992170ac Merge pull request #1447 from JamePeng/update-y2r-service
Update the code of service y2r!
9 years ago
Emmanuel Gil Peyrot 591ffad670 Qt Frontend: Add Threads::Threads import in CMakeLists.txt.
This had been forgotten in df81fa11fc.

Fixes #1711.
9 years ago
bunnei 15c907317c Merge pull request #1710 from hrydgard/optimize-event-breakpoints
Replace std::map with std::array for graphics event breakpoints
9 years ago
MerryMage 555907ce8d DSP/Pipe: There are 8 pipes 9 years ago
Sam Spilsbury 656a442433 shader: Shader size is long uint, not uint. 9 years ago
Sam Spilsbury c6709d97bc shader: Handle non-CALL opcodes with a break 9 years ago
Sam Spilsbury bbffa6ad69 shader: Format string must be provided inline and not as a variable 9 years ago
Sam Spilsbury e16541e47c am: title_id is long long uint 9 years ago
Sam Spilsbury ef6873980e assert: Allow UNREACHABLE_MSG to have just one argument 9 years ago
Sam Spilsbury df81fa11fc CMakeLists: Use imported version of Threads::Threads
This requires bumping up to a minimum of CMake 3.1. The benefit
of using the imported target is that you can switch to the -pthread
compiler flag on request, which may be necessary for some systems if
available.
9 years ago
Henrik Rydgard 01a1555b5d Replace std::map with std::array for graphics event breakpoints, and allow the compiler to inline. Saves 1%+ in vertex heavy situations. 9 years ago
MerryMage 913f7ee524 DSP_DSP: Remove unused variable 9 years ago
bunnei 0964a3ff53 Merge pull request #1576 from smspillaz/fix-build-errors-03272016
Fix various build errors encountered on Clang 3.9 on OS X
9 years ago