summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2018-09-04common/logging/filter: Make constructor explicitLioncash
Implicit conversions aren't desirable here.
2018-09-03Merge pull request #1231 from lioncash/globalbunnei
service: Migrate global named port map to the KernelCore class
2018-09-02vfs_real: Forward declare IOFileLioncash
Eliminates the need to rebuild some source files if the file_util header ever changes. This also uncovered some indirect inclusions, which have also been fixed.
2018-09-02service: Migrate global named port map to the KernelCore classLioncash
Now that we have a class representing the kernel in some capacity, we now have a place to put the named port map, so we move it over and get rid of another piece of global state within the core.
2018-09-02Merge pull request #1213 from DarkLordZach/octopath-fsbunnei
filesystem/maxwell_3d: Various changes to boot Project Octopath Traveller
2018-09-02Merge pull request #1215 from ogniK5377/texs-nodep-assertbunnei
Added assert for TEXS nodep
2018-09-02Merge pull request #1220 from FearlessTobi/extensions-qolbunnei
yuzu: Display the unsupported GL extensions in the popup
2018-09-02Merge pull request #1214 from ogniK5377/ipa-assertbunnei
Added better asserts to IPA, Renamed IPA modes to match mesa
2018-09-02Merge pull request #1216 from ogniK5377/ffma-assertbunnei
Added FFMA asserts and missing fields
2018-09-02Merge pull request #1218 from ogniK5377/fmul-assertbunnei
Added FMUL asserts
2018-09-02filesystem: Move dir retrieval after path checking in DeleteFile()Lioncash
We don't need to do the lookup if the path is considered empty currently.
2018-09-01citra_qt: Display the unsupported GL extensions in the popupfearlessTobi
2018-09-01Removed saturate assertDavid Marcec
Unneeded as we already implement it
2018-09-01Removed saturate assertDavid Marcec
Saturate already implemented
2018-09-01Changed tab5980_0 default from 0 -> 1David Marcec
2018-09-01Added FMUL assertsDavid Marcec
2018-09-01Added FFMA assertsDavid Marcec
2018-09-01Added assert for TEXS nodepDavid Marcec
2018-09-01Added better asserts to IPA, Renamed IPA modes to match mesaDavid Marcec
IpaMode is changed to IpaInterpMode IpaMode is suppose to be 2 bits not 3 Added IpaSampleMode Added Saturate Renamed modes based on https://github.com/mesa3d/mesa/blob/d27c7918916cdc8092959124955f887592e37d72/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp#L2530
2018-08-31maxwell_3d: Use CoreTiming for query timestampZach Hilman
2018-08-31filesystem: Implement OpenReadOnlySaveDataFilesystemZach Hilman
2018-08-31filesystem: Add OpenFileSystemWithPatchZach Hilman
2018-08-31core/core: Replace includes with forward declarations where applicableLioncash
The follow-up to e2457418dae19b889b2ad85255bb95d4cd0e4bff, which replaces most of the includes in the core header with forward declarations. This makes it so that if any of the headers the core header was previously including change, then no one will need to rebuild the bulk of the core, due to core.h being quite a prevalent inclusion. This should make turnaround for changes much faster for developers.
2018-08-31gl_rasterizer_cache: Use accurate framebuffer setting for accurate copies.bunnei
2018-08-31gl_rasterizer_cache: Also use reserve cache for RecreateSurface.bunnei
2018-08-31rasterizer_cache: Use boost::interval_map for a more accurate cache.bunnei
2018-08-31gl_renderer: Cache textures, framebuffers, and shaders based on CPU address.bunnei
2018-08-31gl_rasterizer: Fix issues with the rasterizer cache.bunnei
- Use a single cached page map. - Fix calculation of ending page.
2018-08-31Implement BC6H_UF16 & BC6H_SF16 (#1092)greggameplayer
* Implement BC6H_UF16 & BC6H_SF16 Require by ARMS * correct coding style * correct coding style part 2
2018-08-31Merge pull request #1204 from lioncash/pimplbunnei
core: Make the main System class use the PImpl idiom
2018-08-31Merge pull request #1207 from degasus/hotfixbunnei
Report correct shader size.
2018-08-31core: Make the main System class use the PImpl idiomLioncash
core.h is kind of a massive header in terms what it includes within itself. It includes VFS utilities, kernel headers, file_sys header, ARM-related headers, etc. This means that changing anything in the headers included by core.h essentially requires you to rebuild almost all of core. Instead, we can modify the System class to use the PImpl idiom, which allows us to move all of those headers to the cpp file and forward declare the bulk of the types that would otherwise be included, reducing compile times. This change specifically only performs the PImpl portion.
2018-08-31Report correct shader size.Markus Wick
Seems like this was an oversee in regards to 1fd979f50a9f4c21fa8cafba7268d959e3076924 It changed GLShader::ProgramCode to a std::vector, so sizeof is wrong.
2018-08-31Added predicate comparison GreaterEqualWithNanHexagon12
2018-08-30Merge pull request #1195 from FearlessTobi/port-gamelist-compatbunnei
yuzu: Show game compatibility in the game list (PR ported from Citra)
2018-08-30gl_shader_decompiler: Implement POPC (#1203)Laku
* Implement POPC * implement invert
2018-08-30Merge pull request #1200 from bunnei/improve-ipabunnei
gl_shader_decompiler: Improve IPA for Pass mode with Position attribute.
2018-08-30Merge pull request #1198 from lioncash/kernelbunnei
kernel: Eliminate kernel global state
2018-08-29Shaders: Implemented IADD3tech4me
2018-08-29Show game compatibility within yuzufearlessTobi
2018-08-29gl_shader_decompiler: Improve IPA for Pass mode with Position attribute.bunnei
2018-08-28kernel: Eliminate kernel global stateLioncash
As means to pave the way for getting rid of global state within core, This eliminates kernel global state by removing all globals. Instead this introduces a KernelCore class which acts as a kernel instance. This instance lives in the System class, which keeps its lifetime contained to the lifetime of the System class. This also forces the kernel types to actually interact with the main kernel instance itself instead of having transient kernel state placed all over several translation units, keeping everything together. It also has a nice consequence of making dependencies much more explicit. This also makes our initialization a tad bit more correct. Previously we were creating a kernel process before the actual kernel was initialized, which doesn't really make much sense. The KernelCore class itself follows the PImpl idiom, which allows keeping all the implementation details sealed away from everything else, which forces the use of the exposed API and allows us to avoid any unnecessary inclusions within the main kernel header.
2018-08-28Merge pull request #1193 from lioncash/privbunnei
gpu: Make memory_manager private
2018-08-28Merge pull request #1192 from lioncash/unusedbunnei
gl_rasterizer: Remove unused variables
2018-08-28Merge pull request #1191 from lioncash/noexceptbunnei
hle/result: Make ResultVal's move constructor as noexcept
2018-08-28Merge pull request #1194 from lioncash/allocbunnei
gl_shader_cache: Remove unused program_code vector in GetShaderAddress()
2018-08-28gl_shader_cache: Remove unused program_code vector in GetShaderAddress()Lioncash
Given std::vector is a type with a non-trivial destructor, this variable cannot be optimized away by the compiler, even if unused. Because of that, something that was intended to be fairly lightweight, was actually allocating 32KB and deallocating it at the end of the function.
2018-08-28gpu: Make memory_manager privateLioncash
Makes the class interface consistent and provides accessors for obtaining a reference to the memory manager instance. Given we also return references, this makes our more flimsy uses of const apparent, given const doesn't propagate through pointers in the way one would typically expect. This makes our mutable state more apparent in some places.
2018-08-28gl_rasterizer: Remove unused variablesLioncash
2018-08-28hle/result: Make ResultVal's move constructor as noexceptLioncash
Many containers within the standard library provide different behaviors based on whether or not a move constructor/assignment operator can be guaranteed not to throw or not. Notably, implementations will generally use std::move_if_noexcept (or an internal implementation of it) to provide strong exception guarantees. If a move constructor potentially throws (in other words, is not noexcept), then certain behaviors will create copies, rather than moving the values. For example, consider std::vector. When a std::vector calls resize(), there are two ways the elements can be relocated to the new block of memory (if a reallocation happens), by copy, or by moving the existing elements into the new block of memory. If a type does not have a guarantee that it will not throw in the move constructor, a copy will happen. However, if it can be guaranteed that the move constructor won't throw, then the elements will be moved. This just allows ResultVal to be moved instead of copied all the time if ever used in conjunction with containers for whatever reason.