Commit Graph

6033 Commits (48733744bb38d3a18af9713096f6e9b729944bb2)

Author SHA1 Message Date
Lioncash 55ab369043
loader/nro: Resolve sign mismatch warnings 7 years ago
Lioncash 1831b5ef62
loader/nso: Remove unnecessary vector resizes
We can just initialize these vectors directly via their constructor.
7 years ago
Lioncash e3a30ccc7c
loader/nso: Resolve sign mismatch warnings 7 years ago
bunnei 90ce935f3d
Merge pull request #688 from lioncash/comma
vm_manager: Add missing commas to string literal array elements in GetMemoryStateName()
7 years ago
bunnei 3f93279047
Merge pull request #693 from lioncash/unused
core/memory: Remove unused function GetSpecialHandlers() and an unused variable in ZeroBlock()
7 years ago
bunnei 49b0966003
Merge pull request #687 from lioncash/instance
core: Don't construct instance of Core::System, just to access its live instance
7 years ago
bunnei 89f0acfd36
Merge pull request #680 from bunnei/fix-swizz
decoders: Fix calc of swizzle image_width_in_gobs.
7 years ago
bunnei 2975f7820e
Merge pull request #684 from lioncash/nonmember
game_list: Make ContainsAllWords an internally linked non-member function
7 years ago
bunnei b496a9eefe decoders: Fix calc of swizzle image_width_in_gobs. 7 years ago
Zach Hilman 29aff8d5ab Virtual Filesystem 2: Electric Boogaloo (#676)
* Virtual Filesystem

* Fix delete bug and documentate

* Review fixes + other stuff

* Fix puyo regression
7 years ago
Lioncash 72207577b2 core/memory: Remove unused function GetSpecialHandlers() and an unused variable in ZeroBlock() 7 years ago
Lioncash 2cd3141c30 address_arbiter: Correct assignment within an assertion statement in WakeThreads()
This was introduced within 4f81bc4e1b, and
considering there's no comment indicating that this is intentional, this
is very likely a bug.
7 years ago
Lioncash 296e68fd43 service/prepo: Add missing header guard 7 years ago
Lioncash 93cba6f699 vm_manager: Add missing commas to string literal array elements in GetMemoryStateName()
Without these, this would perform concatenation, which is definitely not
what we want here.
7 years ago
Lioncash 46458e7284 core/memory, core/hle/kernel: Use std::move where applicable
Avoids pointless copies
7 years ago
Lioncash 10d2ab8098 core: Make System's default constructor private
This makes it a compilation error to construct additional instances of
the System class directly, preventing accidental wasteful constructions
over and over.
7 years ago
Lioncash 3a4841e403 core: Don't construct instance of Core::System, just to access its live instance
This would result in a lot of allocations and related object
construction, just to toss it all away immediately after the call.

These are definitely not intentional, and it was intended that all of
these should have been accessing the static function GetInstance()
through the name itself, not constructed instances.
7 years ago
Lioncash f5d7706ca1 externals: update fmt to version 5.1.0
Previously, we were on 4.1.0, which was a major version behind.
7 years ago
Lioncash d17e172d92 game_list: Make ContainsAllWords an internally linked non-member function
This function actually depends on no internal class state, so it doesn't
even need to be a part of the class interface.
7 years ago
Zach Hilman c337272ca9 Fill in more fields in TouchScreenEntryTouch 7 years ago
Zach Hilman f2f368014e Single touch support 7 years ago
bunnei 3d1e8f750c
Merge pull request #681 from lioncash/const
game_list: Make containsAllWords a const member function
7 years ago
bunnei e3da9fc367
Merge pull request #682 from lioncash/telemetry
Telemetry: Minor changes
7 years ago
bunnei 24a55bba42
Merge pull request #679 from lioncash/ctor
game_list: Remove unnecessary QString initialization in KeyReleaseEater
7 years ago
bunnei b87a71b3fe
Merge pull request #678 from lioncash/astc
astc: Minor changes
7 years ago
Lioncash c65a8fafa0 telemetry: Remove unnecessary Field constructor
We can just take the value parameter by value which allows both moving
into it, and copies at the same time, depending on the calling code.
7 years ago
Lioncash 0aebe6b3d5 telemetry: Make operator== and operator!= const member functions of Field
These operators don't modify internal class state, so they can be made
const member functions. While we're at it, drop the unnecessary inline
keywords. Member functions that are defined in the class declaration are
already inline by default.
7 years ago
Lioncash 3575d367a4 telemetry: Default copy/move constructors and assignment operators
This provides the equivalent behavior, but without as much boilerplate.
While we're at it, explicitly default the move constructor, since we
have a move-assignment operator defined.
7 years ago
Lioncash f4b98a857b game_list: Upper-case containsAllWords to ContainsAllWords()
This makes it consistent with most of the other private utility
functions.
7 years ago
Lioncash c8f3fc9a4b game_list: Make containsAllWords a const member function
This doesn't actually modify the internal class state, so it can be a
const member function. While we're at it, amend the function to take
its arguments by const reference.
7 years ago
Lioncash f4c69149f9 game_list: Remove unnecessary QString initialization in KeyReleaseEater
QString initializes to an empty string by default, so this does nothing
meaningful. While we're at it, use a constructor initializer list for
initializing the gamelist member variable.
7 years ago
Lioncash 6a03badcbc astc: Initialize vector size directly in Decompress
There's no need to perform a separate resize.
7 years ago
Lioncash 0f148548f3 astc: Mark functions as internally linked where applicable 7 years ago
Lioncash c5803e30d3 astc: const-correctness changes where applicable
A few member functions didn't actually modify class state, so these can
be amended as necessary.
7 years ago
Lioncash e3fadb9616 astc: Delete Bits' copy contstructor and assignment operator
This also potentially avoids warnings, considering the copy assignment
operator is supposed to have a return value.
7 years ago
Lioncash 4cd52a34b9 astc: In-class initialize member variables where appropriate 7 years ago
bunnei 03c2d049d4 settings: Turn docked mode off by default. 7 years ago
bunnei 49e5de9f03 vi: Change TransactionId::CancelBuffer to LOG_CRITICAL. 7 years ago
bunnei 0d1a99edf6 vi: Fix size for ListDisplays default display. 7 years ago
bunnei c3dd456d51 vi: Partially implement buffer crop parameters. 7 years ago
bunnei 8e28af6f89
Merge pull request #675 from Subv/stencil
GPU: Added register definitions for the stencil parameters.
7 years ago
Subv 3d3b10adc7 GPU: Added register definitions for the stencil parameters. 7 years ago
Zach Hilman 69bfe075b5 General Filesystem and Save Data Fixes (#670) 7 years ago
bunnei 88a3140c9b
Merge pull request #671 from MerryMage/clear-exclusive-state
scheduler: Clear exclusive state when switching contexts
7 years ago
bunnei 519035db3d
Merge pull request #672 from SciresM/to_address_fix
svc:: Fix bug in svcWaitForAddress
7 years ago
bunnei 170e19d4ea nvflinger: Fix for BufferQueue event handling. 7 years ago
Michael Scire 3b885691a1 Kernel/Arbiter: Fix bug in WaitIfLessThan 7 years ago
MerryMage 56cc1c11ec scheduler: Clear exclusive state when switching contexts 7 years ago
bunnei 068668780c
Merge pull request #668 from jroweboy/controller-lag
HID: Update controllers less often
7 years ago
bunnei 04b9cde4f5
Merge pull request #664 from jroweboy/logging-stuff
Minor logging improvements
7 years ago
James Rowe 7d209b3c9f HID: Update controllers less often 7 years ago
James Rowe 497b81558e Logging: Dump all logs in the queue on close in debug mode 7 years ago
bunnei 3a96670f2d gl_rasterizer_cache: Implement texture format G8R8. 7 years ago
bunnei aaec0b7e70
Merge pull request #665 from bunnei/fix-z24-s8
gl_rasterizer_cache: Fix incorrect offset in ConvertS8Z24ToZ24S8.
7 years ago
bunnei 3145114190 gl_rasterizer_cache: Fix incorrect offset in ConvertS8Z24ToZ24S8. 7 years ago
bunnei e21190f47f gl_rasterizer_cache: Implement depth format Z16_UNORM. 7 years ago
bunnei 2cb3fdca86
Merge pull request #598 from bunnei/makedonecurrent
OpenGL: Use MakeCurrent/DoneCurrent for multithreaded rendering.
7 years ago
bunnei c324a378ac
Merge pull request #663 from Subv/bsd
Services/BSD: Corrected the return for StartMonitoring according to SwIPC
7 years ago
bunnei fd1f5c5414
Merge pull request #662 from Subv/delete_file
FileSys: Append the requested path to the filesystem base path in DeleteFile
7 years ago
James Rowe 6daebaaa57 Logging: Don't lock the queue for the duration of the write 7 years ago
Subv b07f4d6afb Services/BSD: Corrected the return for StartMonitoring according to SwIPC. 7 years ago
Subv 7e5e4f8d7a FileSys: Append the requested path to the filesystem base path in DeleteFile.
We were trying to delete things in the current directory instead of the actual filesystem directory. This may fix some savedata issues in some games.
7 years ago
David Marcec a7d6c0d6ea No need to use ASSERT_MSG with an empty message 7 years ago
bunnei 05cb10530f OpenGL: Use MakeCurrent/DoneCurrent for multithreaded rendering. 7 years ago
Subv b37354cca8 GPU: Always enable the depth write when clearing the depth buffer.
The GPU ignores that register when clearing, but OpenGL obeys the glDepthMask parameter, so we set the depth mask to GL_TRUE when clearing the depth buffer. It will be restored to the correct value automatically on the next draw call.
7 years ago
bunnei 9fc0d1d701
Merge pull request #657 from bunnei/dual-vs
gl_shader_gen: Implement dual vertex shader mode.
7 years ago
Hedges e066bc75b9 More improvements to GDBStub (#653)
* More improvements to GDBStub
- Debugging of threads should work correctly with source and assembly level stepping and modifying registers and memory, meaning threads and callstacks are fully clickable in VS.
- List of modules is available to the client, with assumption that .nro and .nso are backed up by an .elf with symbols, while deconstructed ROMs keep N names.
- Initial support for floating point registers.

* Tidy up as requested in PR feedback

* Tidy up as requested in PR feedback
7 years ago
bunnei 8aeff9cf8e gl_rasterizer: Fix check for if a shader stage is enabled. 7 years ago
bunnei c4015cd93a gl_shader_gen: Implement dual vertex shader mode.
- When VertexA shader stage is enabled, we combine with VertexB program to make a single Vertex Shader stage.
7 years ago
bunnei ce23ae3ede
Merge pull request #656 from ogniK5377/audren-mem-init
Initialized memory for RequestUpdateAudioRenderer and fixed MemoryPoolSection to be more accurate
7 years ago
bunnei 64b5e5d5d9
Merge pull request #655 from bunnei/pred-lt-nan
gl_shader_decompiler: Implement PredCondition::LessThanWithNan.
7 years ago
David Marcec 8bd8d1e3da We only need to alert for memory pool changes 7 years ago
David Marcec 6642011706 initialized voice status and unused sizes in the update data header 7 years ago
bunnei 49c0c081c4 gl_shader_decompiler: Implement PredCondition::LessThanWithNan. 7 years ago
bunnei 4757ffdcce gl_shader_decompiler: Use FlowCondition field in EXIT instruction. 7 years ago
Sebastian Valle 274d1fb0fc
Merge pull request #652 from Subv/fadd32i
GPU: Implement the FADD32I shader instruction.
7 years ago
bunnei 3ff21345b4
Merge pull request #651 from Subv/ffma_decode
GPU: Corrected the decoding of FFMA for immediate operands.
7 years ago
Subv c1ae841f47 GPU: Implement the FADD32I shader instruction. 7 years ago
Tobias 316b933a31 Port #3335 and #3373 from Citra: "Small SDL fixes" and "Print the actual error preventing SDL from working" (#637)
* Port #3335 and #3373 from Citra

* Fixup: Use the new logging placeholders
7 years ago
Subv 0cad310e12 GPU: Corrected the decoding of FFMA for immediate operands. 7 years ago
bunnei 4f41ffdd41
Merge pull request #648 from ogniK5377/no-net
Let games/application know that we're offline
7 years ago
bunnei 7c7b2b8285
Merge pull request #649 from ogniK5377/audout-auto
Audout "Auto" functions
7 years ago
James Rowe b30c5370b1 yuzu - Fix duplicate logs 7 years ago
James Rowe 020d005d8c yuzu-cmd Apply the filter string from settings 7 years ago
David Marcec 706892de7d Audout "Auto" functions
Audout autos are identical to their counterpart except for the buffer type which yuzu already handles for us.
7 years ago
David Marcec 3d68f6ba6c Added IsWirelessCommunicationEnabled, IsEthernetCommunicationEnabled, IsAnyInternetRequestAccepted
Since we have no socket implementation we should be returning 0 to indicate we're currently offline.
7 years ago
bunnei 7230ceb584
Merge pull request #559 from Subv/mount_savedata
Services/FS: Return the correct error code when trying to mount a nonexistent savedata.
7 years ago
bunnei 12a6996262 hid: Fix timestamps and controller type.
- This fixes user input in SMO.
8 years ago
bunnei 379a935016
Merge pull request #644 from ogniK5377/getconfig-err
NvOsGetConfigU32 production impl
8 years ago
bunnei 04524e76c2
Merge pull request #633 from FearlessTobi/port-defines
Port #3579 from Citra: Clean up architecture-specific defines
8 years ago
bunnei 3e966be6fc
Merge pull request #642 from bunnei/create-save-dir
savedata_factory: Always create a save directory for games.
8 years ago
David Marcec 0944bfe3cb NvOsGetConfigU32 production impl
Settings are only  used when RMOS_SET_PRODUCTION_MODE is set to 0.
If production mode is set, the error code 0x30006 is returned instead
8 years ago
bunnei ef2c955db5
Merge pull request #635 from FearlessTobi/port-crashfix
Port #3474 from Citra: Do not crash on unimplemented code in debug build
8 years ago
bunnei dacc89b38b
Merge pull request #634 from FearlessTobi/port-viewport-fix
Port #3505 from Citra: Fix QGLWidget viewport resize on macOS
8 years ago
bunnei 51a3e93f8e
Merge pull request #640 from bunnei/flip-tris-viewport
gl_rasterizer: Flip triangles when regs.viewport_transform[0].scale_y is negative.
8 years ago
bunnei eb6cbfdbd8 savedata_factory: Always create a save directory for games. 8 years ago
bunnei 1b3dd30ba8 nvhost_ctrl: Fix NvOsGetConfigU32 for Snipper Clips. 8 years ago
bunnei 854f474f52 gl_rasterizer: Flip triangles when regs.viewport_transform[0].scale_y is negative.
- Fixes a regression with Binding of Isaac.
8 years ago
bunnei 639346bcfb
Merge pull request #625 from Subv/imnmx
GPU: Implemented the IMNMX shader instruction.
8 years ago
bunnei d990f2355b
Merge pull request #627 from Subv/bc7u
GPU: Implemented the BC7U texture format.
8 years ago
bunnei 913896cbd9 Revert "Virtual Filesystem (#597)"
This reverts commit 77c684c114.
8 years ago
Subv 4633dd9505 GPU: Implemented the BC7U texture format.
Note: Our version of glad exports GL_COMPRESSED_RGBA_BPTC_UNORM as GL_COMPRESSED_RGBA_BPTC_UNORM_ARB, maybe it's time we update it.
8 years ago
fearlessTobi 476e0fae4c Port #3474 from Citra 8 years ago
fearlessTobi b8384c0c91 Port #3505 from CItra 8 years ago
fearlessTobi 70a6691e3b Port #3579 from Citra 8 years ago
bunnei bebe09a1aa
Merge pull request #630 from FearlessTobi/remove-citra-references
Remove some references to Citra
8 years ago
Zach Hilman 77c684c114 Virtual Filesystem (#597)
* Add VfsFile and VfsDirectory classes

* Finish abstract Vfs classes

* Implement RealVfsFile (computer fs backend)

* Finish RealVfsFile and RealVfsDirectory

* Finished OffsetVfsFile

* More changes

* Fix import paths

* Major refactor

* Remove double const

* Use experimental/filesystem or filesystem depending on compiler

* Port partition_filesystem

* More changes

* More Overhaul

* FSP_SRV fixes

* Fixes and testing

* Try to get filesystem to compile

* Filesystem on linux

* Remove std::filesystem and document/test

* Compile fixes

* Missing include

* Bug fixes

* Fixes

* Rename v_file and v_dir

* clang-format fix

* Rename NGLOG_* to LOG_*

* Most review changes

* Fix TODO

* Guess 'main' to be Directory by filename
8 years ago
fearlessTobi c9aadff9a9 Remove some references to Citra 8 years ago
bunnei 51bd76a5fd
Merge pull request #629 from Subv/depth_test
GPU: Allow using the old NV04 values for the depth test function.
8 years ago
Subv 9f6a5660e8 GPU: Allow using the old NV04 values for the depth test function.
These seem to be just a valid as the GL token values. Thanks @ReinUsesLisp

This restores graphical output to Disgaea 5
8 years ago
bunnei 762bf6a522
Merge pull request #626 from Subv/shader_sync
GPU: Stub the shader SYNC and DEPBAR instructions.
8 years ago
bunnei 637f9d780a
Merge pull request #624 from Subv/f2f_round
GPU: Implemented the F2F 'round' rounding mode.
8 years ago
bunnei 956b5db52e
Merge pull request #623 from Subv/vertex_types
GPU: Implement the Size_16_16 and Size_10_10_10_2 vertex attribute types
8 years ago
bunnei 8b815877a6
Merge pull request #622 from Subv/unused_tex
GPU: Ignore unused textures and corrected the TEX shader instruction decoding.
8 years ago
bunnei 1b0a74e23f
Merge pull request #621 from Subv/psetp_
GPU: Implemented the PSETP shader instruction.
8 years ago
bunnei 9a3c0b161e
Merge pull request #620 from Subv/depth_z32f
GPU: Implemented the 32 bit float depth buffer format.
8 years ago
Subv b0c92b80b1 GPU: Implemented the IMNMX shader instruction.
It's similar to the FMNMX instruction but it works on integers.
8 years ago
Subv d800a02b4b GPU: Implemented the F2F 'round' rounding mode.
It's implemented via the GLSL 'roundEven()' function.
8 years ago
Subv 77cfe4f027 GPU: Stub the shader SYNC and DEPBAR instructions.
It is unknown at this moment if we actually need to do something with these instructions or if the GLSL compiler takes care of that for us.
8 years ago
Subv ce39ae3e57 GPU: Implement the Size_16_16 and Size_10_10_10_2 vertex attribute types.
Both signed and unsigned variants.
8 years ago
Subv 4bda9693be GPU: Ignore textures that the GLSL compiler deemed unused when binding textures to the shaders. 8 years ago
Subv c42b818cf9 GPU: Corrected the decoding for the TEX shader instruction. 8 years ago
Subv 53a55bd751 GPU: Implemented the PSETP shader instruction.
It's similar to the isetp and fsetp instructions but it works on predicates instead.
8 years ago
Subv 016e357c75 GPU: Implemented the 32 bit float depth buffer format. 8 years ago
Subv c1bebdef5e GPU: Flip the triangle front face winding if the GPU is configured to not flip the triangles.
OpenGL's default behavior is already correct when the GPU is configured to flip the triangles.

This fixes 1-2 Switch's splash screen.
8 years ago
Subv 5a9df3c675 GPU: Only configure the used framebuffers during clear.
Don't try to configure the color buffer if it is not being cleared, it may not be completely valid at this point.
8 years ago
bunnei c996787d84
Merge pull request #609 from Subv/clear_buffers
GPU: Implemented the CLEAR_BUFFERS register.
8 years ago
Subv 78443a7f29 GPU: Factor out the framebuffer configuration code for both Clear and Draw commands. 8 years ago
Subv c1811ed3d1 GPU: Support clears that don't clear the color buffer. 8 years ago
Subv be51120d23 GPU: Bind and clear the render target when the CLEAR_BUFFERS register is written to. 8 years ago
Subv 827bb08c91 GPU: Added registers for the CLEAR_BUFFERS and CLEAR_COLOR methods. 8 years ago
bunnei 9da1552417 gl_rasterizer_cache: Implement PixelFormat S8Z24. 8 years ago
David 3dab0e284b Update AudioRenderer Voice Sections (#614)
* voice section updating

* fixed slight offset miscalculation

* fixed overflow
8 years ago
bunnei 15e68cdbaa
Merge pull request #607 from jroweboy/logging
Logging - Customizable backends
8 years ago
bunnei e3ca561ea0
Merge pull request #612 from bunnei/fix-cull
gl_rasterizer: Only set cull mode and front face if enabled.
8 years ago
bunnei ddb767f1b6
Merge pull request #611 from Subv/enabled_depth_test
GPU: Don't try to parse the depth test function if the depth test is disabled and use only the least significant 3 bits in the depth test func
8 years ago
bunnei 5410b4659d
Merge pull request #610 from Subv/mufu_8
GPU: Implemented MUFU suboperation 8, sqrt.
8 years ago
bunnei a9cacd03f6 gl_rasterizer: Only set cull mode and front face if enabled. 8 years ago
Subv 6e0eba9917 GPU: Use only the least significant 3 bits when reading the depth test func.
Some games set the full GL define value here (including nouveau), but others just seem to set those last 3 bits.
8 years ago
Subv 65c664560c GPU: Don't try to parse the depth test function if the depth test is disabled. 8 years ago
bunnei 76b475faf7 Fix build and address review feedback 8 years ago
James Rowe 6269a01b4e Add configurable logging backends 8 years ago
James Rowe 0d46f0df12 Update clang format 8 years ago
James Rowe 638956aa81 Rename logging macro back to LOG_* 8 years ago
bunnei 92c7135065
Merge pull request #608 from Subv/depth
GPU: Implemented the depth buffer and depth test + culling
8 years ago
Subv a6d4903aaf GPU: Set up the culling configuration on each draw. 8 years ago
Subv 6e4e0b2b41 GPU: Implemented MUFU suboperation 8, sqrt. 8 years ago
Sebastian Valle 055f1546d7
Merge pull request #606 from Subv/base_vertex
GPU: Fixed the index offset and implement BaseVertex when doing indexed rendering.
8 years ago
Sebastian Valle 79167fc989
Merge pull request #603 from Subv/nvmap_free
GPU: Remove unmapped surfaces from the rasterizer cache and fix our nvmap::Free behavior.
8 years ago
Sebastian Valle 9685dd5840
Merge pull request #605 from Subv/dma_copy
GPU: Directly copy the pixels when performing a same-layout DMA.
8 years ago