summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-12-06Merge pull request #3109 from FernandoS27/new-instrbunnei
Implement FLO & TXD Instructions on GPU Shaders
2019-12-06Merge pull request #3196 from jmerdich/fix-ea-source-buildbunnei
[EA source]: Ignore git-related files in cmake for early access tarballs
2019-12-05Ignore git-related files in cmake for EA tarballsJake Merdich
This fixes the early-access builds on Windows (tested on EA 58). Cmake was previously looking for git-related files that were stripped out of the early access builds and failing; check if those exist before reading them.
2019-12-03Merge pull request #3191 from yuzu-emu/jroweboy-patch-1bunnei
Add missing CMakeLists.txt from root folder to source upload
2019-12-03Add missing CMakeLists.txt from root folder to source uploadJames Rowe
Fixes #3190
2019-12-02Merge pull request #3188 from ReinUsesLisp/backend-telemetrybunnei
telemetry_session: Report renderer backend
2019-12-02telemetry_session: Report renderer backendReinUsesLisp
We only have OpenGL as an option for now. Hardcode the entry.
2019-12-02telemetry_session: Use temporary to avoid writing the same enumReinUsesLisp
2019-12-02Merge pull request #2987 from FernandoS27/texture-invalidbunnei
Texture_Cache: Redo invalid Surfaces handling.
2019-11-30Merge pull request #3177 from bunnei/new-ipc-reqbunnei
kernel: Implement a more accurate IPC dispatch.
2019-11-30Merge pull request #3184 from ReinUsesLisp/framebuffer-cachebunnei
gl_framebuffer_cache: Optimize framebuffer cache management
2019-11-29Merge pull request #3185 from ReinUsesLisp/oob-textureFernando Sahmkow
texture_cache/surface_base: Fix out of bounds texture views
2019-11-29texture_cache/surface_base: Fix out of bounds texture viewsReinUsesLisp
Some texture views were being created out of bounds (with more layers or mipmaps than what the original texture has). This is because of a miscalculation in mipmap bounding. end_layer and end_mipmap are out of bounds (e.g. layer 6 in a cubemap), there's no need to add one more there. Fixes OpenGL errors and Vulkan crashes on Splatoon 2.
2019-11-28gl_framebuffer_cache: Optimize framebuffer keyReinUsesLisp
Pack color attachment enumerations into a single u32. To determine the number of buffers, the highest color attachment with a shared pointer that doesn't point to null is used.
2019-11-28gl_rasterizer: Re-enable framebuffer cache for clear buffersReinUsesLisp
2019-11-28kernel: Implement a more accurate IPC dispatch.bunnei
2019-11-28Merge pull request #3169 from lioncash/memorybunnei
core/memory: Deglobalize memory management code
2019-11-28Merge pull request #3171 from lioncash/internal-linkbunnei
filesys/romfs: Make ProcessFile and ProcessDirectory internally linked
2019-11-28patch_manager: Adds check for disabled cheats to prevent them from being ↵Morph
enabled (#3178) * Adds check for disabled cheats to prevent them from being added to the CheatList * Address feedback
2019-11-27Merge pull request #3170 from lioncash/enumbunnei
file_sys/directory: Make EntryType an enum class
2019-11-27Merge pull request #3174 from lioncash/optionalRodrigo Locatti
video_core/gpu_thread: Tidy up SwapBuffers()
2019-11-27video_core/gpu_thread: Tidy up SwapBuffers()Lioncash
We can just use std::nullopt and std::make_optional to make this a little bit less noisy.
2019-11-27Merge pull request #3172 from lioncash/pragmaRodrigo Locatti
video_core/const_buffer_locker: Remove #pragma once from cpp file
2019-11-27video_core/const_buffer_locker: Make use of std::tie in HasEqualKeys()Lioncash
Tidies it up a little bit visually.
2019-11-27video_core/const_buffer_locker: Remove unused includesLioncash
2019-11-27video_core/const_buffer_locker: Remove #pragma once from cpp fileLioncash
Silences a compiler warning.
2019-11-27filesys/romfs: Remove unused includesLioncash
These inclusions aren't used at all within the public interface, so they can be removed.
2019-11-27filesys/romfs: Make ProcessFile and ProcessDirectory internally linkedLioncash
These functions aren't used outside of this file, so we can place them within an anonymous namespace.
2019-11-27file_sys/directory: Make EntryType an enum classLioncash
This can trivially be an enum class rather than a regular enum, making it more strongly typed.
2019-11-26core/memory; Migrate over SetCurrentPageTable() to the Memory classLioncash
Now that literally every other API function is converted over to the Memory class, we can just move the file-local page table into the Memory implementation class, finally getting rid of global state within the memory code.
2019-11-26core/memory: Migrate over GetPointerFromVMA() to the Memory classLioncash
Now that everything else is migrated over, this is essentially just code relocation and conversion of a global accessor to the class member variable. All that remains is to migrate over the page table.
2019-11-26core/memory: Migrate over Write{8, 16, 32, 64, Block} to the Memory classLioncash
The Write functions are used slightly less than the Read functions, which make these a bit nicer to move over. The only adjustments we really need to make here are to Dynarmic's exclusive monitor instance. We need to keep a reference to the currently active memory instance to perform exclusive read/write operations.
2019-11-26core/memory: Migrate over Read{8, 16, 32, 64, Block} to the Memory classLioncash
With all of the trivial parts of the memory interface moved over, we can get right into moving over the bits that are used. Note that this does require the use of GetInstance from the global system instance to be used within hle_ipc.cpp and the gdbstub. This is fine for the time being, as they both already rely on the global system instance in other functions. These will be removed in a change directed at both of these respectively. For now, it's sufficient, as it still accomplishes the goal of de-globalizing the memory code.
2019-11-26core/memory: Migrate over ZeroBlock() and CopyBlock() to the Memory classLioncash
These currently aren't used anywhere in the codebase, so these are very trivial to move over to the Memory class.
2019-11-26core/memory: Migrate over RasterizerMarkRegionCached() to the Memory classLioncash
This is only used within the accelerated rasterizer in two places, so this is also a very trivial migration.
2019-11-26core/memory: Migrate over ReadCString() to the Memory classLioncash
This only had one usage spot, so this is fairly straightforward to convert over.
2019-11-26core/memory: Migrate over GetPointer()Lioncash
With all of the interfaces ready for migration, it's trivial to migrate over GetPointer().
2019-11-26core: Prepare various classes for memory read/write migrationLioncash
Amends a few interfaces to be able to handle the migration over to the new Memory class by passing the class by reference as a function parameter where necessary. Notably, within the filesystem services, this eliminates two ReadBlock() calls by using the helper functions of HLERequestContext to do that for us.
2019-11-26core/memory: Move memory read/write implementation functions into an ↵Lioncash
anonymous namespace These will eventually be migrated into the main Memory class, but for now, we put them in an anonymous namespace, so that the other functions that use them, can be migrated over separately.
2019-11-26core/memory: Migrate over address checking functions to the new Memory classLioncash
A fairly straightforward migration. These member functions can just be mostly moved verbatim with minor changes. We already have the necessary plumbing in places that they're used. IsKernelVirtualAddress() can remain a non-member function, since it doesn't rely on class state in any form.
2019-11-26core/memory: Migrate over memory mapping functions to the new Memory classLioncash
Migrates all of the direct mapping facilities over to the new memory class. In the process, this also obsoletes the need for memory_setup.h, so we can remove it entirely from the project.
2019-11-26core/memory: Introduce skeleton of Memory classLioncash
Currently, the main memory management code is one of the remaining places where we have global state. The next series of changes will aim to rectify this. This change simply introduces the main skeleton of the class that will contain all the necessary state.
2019-11-26Merge pull request #3143 from ReinUsesLisp/indexing-bugbunnei
gl_device: Deduce indexing bug from device instead of heuristic
2019-11-26core_timing: Use better reference tracking for EventType. (#3159)bunnei
* core_timing: Use better reference tracking for EventType. - Moves ownership of the event to the caller, ensuring we don't fire events for destroyed objects. - Removes need for unique names - we won't be using this for save states anyways.
2019-11-26Merge pull request #3164 from ReinUsesLisp/half-cast-floatbunnei
gl_shader_decompiler: Fix casts from fp32 to fp16
2019-11-26Merge pull request #3162 from bunnei/fix-shared-ptr-crashFernando Sahmkow
kernel: Fix reference management for client/server session.
2019-11-25gl_shader_decompiler: Fix casts from fp32 to f16ReinUsesLisp
Casts from f32 to f16 zeroes the higher half of the target register.
2019-11-25kernel: Fix reference management for client/server session.bunnei
- Fixes shutdown crash and crash in Pokemon SwSh.
2019-11-25gl_device: Deduce indexing bug from device instead of heuristicReinUsesLisp
The heuristic to detect AMD's driver was not working properly since it also included Intel. Instead of using heuristics to detect it, compare the GL_VENDOR string.
2019-11-24Merge pull request #3160 from DarkLordZach/opt-ea-clang-fmtbunnei
ci: Continue pipeline on clang format failure