aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2019-07-09prefer system reference over global accessorMichael Scire
2019-07-09shader_ir: limit explorastion to best known program size.Fernando Sahmkow
2019-07-09control_flow: Correct block breaking algorithm.Fernando Sahmkow
2019-07-09control_flow: Assert shaders bigger than limit.Fernando Sahmkow
2019-07-09control_flow: Address feedback.Fernando Sahmkow
2019-07-09shader_ir: Correct parsing of scheduling instructions and correct sizingFernando Sahmkow
2019-07-09shader_ir: Correct max sizingFernando Sahmkow
2019-07-09shader_ir: Remove unnecessary constructors and use optional for ScanFlow resultFernando Sahmkow
2019-07-09shader_ir: Corrections, documenting and asserting control_flowFernando Sahmkow
2019-07-09shader_ir: Unify blocks in decompiled shaders.Fernando Sahmkow
2019-07-09shader_ir: Decompile Flow StackFernando Sahmkow
2019-07-09shader_ir: propagate shader size to the IRFernando Sahmkow
2019-07-09shader_ir: Implement BRX & BRA.CCFernando Sahmkow
2019-07-09shader_ir: Remove the old scanner.Fernando Sahmkow
2019-07-09shader_ir: Implement a new shader scannerFernando Sahmkow
2019-07-09IFriendService::GetFriendListDavid Marcec
We don't have any friends implemented in Yuzu yet so it doesn't make sense to return any friends. For now we'll be returning 0 friends however the information provided will allow a proper implementation of this cmd when needed.
2019-07-09gl_rasterizer: Amend documentation comment for ConfigureFramebuffers()Lioncash
must_reconfigure isn't a parameter for this function any more, so it can be replaced with current_state. While we're at it, we can make the parameters of the declaration match the same name as the ones in the definition.
2019-07-08Prevent merging of device mapped memory blocks.Michael Scire
This sets the DeviceMapped attribute for GPU-mapped memory blocks, and prevents merging device mapped blocks. This prevents memory mapped from the gpu from having its backing address changed by block coalesce.
2019-07-08Merge pull request #2661 from ogniK5377/audren-loopZach Hilman
audren: Only manage wave buffers with a size
2019-07-08Merge pull request #2657 from ogniK5377/npad-assignmentsZach Hilman
hid:StartLrAssignmentMode, hid:StopLrAssignmentMode, hid:SwapNpadAssignment
2019-07-08addressed issuesDavid Marcec
2019-07-08addressed issueDavid Marcec
2019-07-07Merge pull request #2651 from DarkLordZach/apm-boost-mode-1bunnei
apm: Initial implementation of performance config and boost mode
2019-07-07Merge pull request #2642 from DarkLordZach/fsp-log-2bunnei
fsp-srv: Implement Access Logging Functionality
2019-07-07key_manager: Convert Ticket union to std::variantZach Hilman
2019-07-07es: Populate/synthesize tickets on constructionZach Hilman
2019-07-07key_manager: Add structure for Ticket parsingZach Hilman
2019-07-07es: Implement ETicket GetPersonalizedTicketData (17)Zach Hilman
Copies the raw personal ticket data into the buffer provided.
2019-07-07es: Implement ETicket GetCommonTicketData (16)Zach Hilman
Copies the raw common ticket data for the specified rights ID into the buffer provided.
2019-07-07es: Implement ETicket GetPersonalizedTicketSize (15)Zach Hilman
Returns the size of the buffer needed to hold the personal ticket associated with the rights ID.
2019-07-07es: Implement ETicket GetCommonTicketSize (14)Zach Hilman
Returns the size of the buffer needed to hold the common ticket associated with the rights ID.
2019-07-07es: Implement ETicket ListPersonalizedTicket (12)Zach Hilman
Returns an application-specific number of entries of personal tickets, starting at offset 0.
2019-07-07es: Implement ETicket ListCommonTicket (11)Zach Hilman
Returns an application specified count of entries of common tickets, starting at offset 0.
2019-07-07es: Implement ETicket CountPersonalizedTicket (10)Zach Hilman
Returns the number of personalized (console/user-unique) tickets in the KeyManager.
2019-07-07es: Implement ETicket CountCommonTicket (9)Zach Hilman
Returns the number of common (non-console-unique) tickets in the KeyManager.
2019-07-07es: Implement ETicket GetTitleKey (8)Zach Hilman
Takes a rights ID as input and returns the associated title key, if it exists.
2019-07-07es: Implement ETicket ImportTicket (1)Zach Hilman
Takes a ticket and certificate and installs it to the KeyManager.
2019-07-07key_manager: Add accessors/helpers for ticket managementZach Hilman
2019-07-07key_manager: Add equality operator for RSAKeyPairZach Hilman
2019-07-07gl_shader_decompiler: Implement gl_ViewportIndex and gl_Layer in vertex shadersReinUsesLisp
This commit implements gl_ViewportIndex and gl_Layer in vertex and geometry shaders. In the case it's used in a vertex shader, it requires ARB_shader_viewport_layer_array. This extension is available on AMD and Nvidia devices (mesa and proprietary drivers), but not available on Intel on any platform. At the moment of writing this description I don't know if this is a hardware limitation or a driver limitation. In the case that ARB_shader_viewport_layer_array is not available, writes to these registers on a vertex shader are ignored, with the appropriate logging.
2019-07-07Remove unused member function declarationMichael Scire
2019-07-07physmem: add helpers, cleanup logic.Michael Scire
2019-07-07Delete decode_integer_set.cppTobias
2019-07-07clang-format fixesMichael Scire
2019-07-07shader/texture: Add F16 support for TLDSReinUsesLisp
2019-07-07address review commentaryMichael Scire
2019-07-07Implement MapPhysicalMemory/UnmapPhysicalMemoryMichael Scire
This implements svcMapPhysicalMemory/svcUnmapPhysicalMemory for Yuzu, which can be used to map memory at a desired address by games since 3.0.0. It also properly parses SystemResourceSize from NPDM, and makes information available via svcGetInfo. This is needed for games like Super Smash Bros. and Diablo 3 -- this PR's implementation does not run into the "ASCII reads" issue mentioned in the comments of #2626, which was caused by the following bugs in Yuzu's memory management that this PR also addresses: * Yuzu's memory coalescing does not properly merge blocks. This results in a polluted address space/svcQueryMemory results that would be impossible to replicate on hardware, which can lead to game code making the wrong assumptions about memory layout. * This implements better merging for AllocatedMemoryBlocks. * Yuzu's implementation of svcMirrorMemory unprotected the entire virtual memory range containing the range being mirrored. This could lead to games attempting to map data at that unprotected range/attempting to access that range after yuzu improperly unmapped it. * This PR fixes it by simply calling ReprotectRange instead of Reprotect.
2019-07-07kernel/process: Allocate the process' TLS region during initializationLioncash
Prior to execution within a process beginning, the process establishes its own TLS region for uses (as far as I can tell) related to exception handling. Now that TLS creation was decoupled from threads themselves, we can add this behavior to our Process class. This is also good, as it allows us to remove a stub within svcGetInfo, namely querying the address of that region.
2019-07-07kernel/process: Move main thread stack allocation to its own functionLioncash
Keeps this particular set of behavior isolated to its own function.
2019-07-07vk_sampler_cache: Remove unused includesLioncash
These are no longer used within this header, so they can be removed.